aboutsummaryrefslogtreecommitdiffstats
path: root/epubs/zig-master.epub
blob: 2dd2111fec7b39417cbcbbef2437f4a508703e02 (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 30 83 18 af c4 02 00 00 ontainer>.PK..........!R0.......
0180 c4 02 00 00 11 00 00 00 4f 45 42 50 53 2f 63 6f 6e 74 65 6e 74 2e 6f 70 66 3c 3f 78 6d 6c 20 76 ........OEBPS/content.opf<?xml.v
01a0 65 72 73 69 6f 6e 3d 22 31 2e 30 22 20 65 6e 63 6f 64 69 6e 67 3d 22 75 74 66 2d 38 22 3f 3e 0a ersion="1.0".encoding="utf-8"?>.
01c0 3c 70 61 63 6b 61 67 65 20 78 6d 6c 6e 73 3d 22 68 74 74 70 3a 2f 2f 77 77 77 2e 69 64 70 66 2e <package.xmlns="http://www.idpf.
01e0 6f 72 67 2f 32 30 30 37 2f 6f 70 66 22 20 76 65 72 73 69 6f 6e 3d 22 33 2e 30 22 20 75 6e 69 71 org/2007/opf".version="3.0".uniq
0200 75 65 2d 69 64 65 6e 74 69 66 69 65 72 3d 22 70 75 62 2d 69 64 22 3e 0a 20 20 3c 6d 65 74 61 64 ue-identifier="pub-id">...<metad
0220 61 74 61 20 78 6d 6c 6e 73 3a 64 63 3d 22 68 74 74 70 3a 2f 2f 70 75 72 6c 2e 6f 72 67 2f 64 63 ata.xmlns:dc="http://purl.org/dc
0240 2f 65 6c 65 6d 65 6e 74 73 2f 31 2e 31 2f 22 3e 0a 20 20 20 20 3c 64 63 3a 69 64 65 6e 74 69 66 /elements/1.1/">.....<dc:identif
0260 69 65 72 20 69 64 3d 22 70 75 62 2d 69 64 22 3e 75 72 6e 3a 7a 69 67 6c 61 6e 67 2d 64 6f 63 73 ier.id="pub-id">urn:ziglang-docs
0280 3a 6d 61 73 74 65 72 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 :master</dc:identifier>.....<dc:
02a0 74 69 74 6c 65 3e 5a 69 67 20 4c 61 6e 67 75 61 67 65 20 52 65 66 65 72 65 6e 63 65 20 28 6d 61 title>Zig.Language.Reference.(ma
02c0 73 74 65 72 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 ster)</dc:title>.....<dc:languag
02e0 65 3e 65 6e 3c 2f 64 63 3a 6c 61 6e 67 75 61 67 65 3e 0a 20 20 20 20 3c 6d 65 74 61 20 70 72 6f e>en</dc:language>.....<meta.pro
0300 70 65 72 74 79 3d 22 64 63 74 65 72 6d 73 3a 6d 6f 64 69 66 69 65 64 22 3e 32 30 32 31 2d 30 31 perty="dcterms:modified">2021-01
0320 2d 30 31 54 30 30 3a 30 30 3a 30 30 5a 3c 2f 6d 65 74 61 3e 0a 20 20 3c 2f 6d 65 74 61 64 61 74 -01T00:00:00Z</meta>...</metadat
0340 61 3e 0a 20 20 3c 6d 61 6e 69 66 65 73 74 3e 0a 20 20 20 20 3c 69 74 65 6d 20 69 64 3d 22 6e 61 a>...<manifest>.....<item.id="na
0360 76 22 20 68 72 65 66 3d 22 6e 61 76 2e 78 68 74 6d 6c 22 20 6d 65 64 69 61 2d 74 79 70 65 3d 22 v".href="nav.xhtml".media-type="
0380 61 70 70 6c 69 63 61 74 69 6f 6e 2f 78 68 74 6d 6c 2b 78 6d 6c 22 20 70 72 6f 70 65 72 74 69 65 application/xhtml+xml".propertie
03a0 73 3d 22 6e 61 76 22 2f 3e 0a 20 20 20 20 3c 69 74 65 6d 20 69 64 3d 22 69 6e 64 65 78 22 20 68 s="nav"/>.....<item.id="index".h
03c0 72 65 66 3d 22 69 6e 64 65 78 2e 78 68 74 6d 6c 22 20 6d 65 64 69 61 2d 74 79 70 65 3d 22 61 70 ref="index.xhtml".media-type="ap
03e0 70 6c 69 63 61 74 69 6f 6e 2f 78 68 74 6d 6c 2b 78 6d 6c 22 2f 3e 0a 20 20 3c 2f 6d 61 6e 69 66 plication/xhtml+xml"/>...</manif
0400 65 73 74 3e 0a 20 20 3c 73 70 69 6e 65 3e 0a 20 20 20 20 3c 69 74 65 6d 72 65 66 20 69 64 72 65 est>...<spine>.....<itemref.idre
0420 66 3d 22 6e 61 76 22 2f 3e 0a 20 20 20 20 3c 69 74 65 6d 72 65 66 20 69 64 72 65 66 3d 22 69 6e f="nav"/>.....<itemref.idref="in
0440 64 65 78 22 2f 3e 0a 20 20 3c 2f 73 70 69 6e 65 3e 0a 3c 2f 70 61 63 6b 61 67 65 3e 0a 50 4b 03 dex"/>...</spine>.</package>.PK.
0460 04 14 00 00 00 00 00 00 00 21 52 d6 96 c5 d6 c7 8e 00 00 c7 8e 00 00 0f 00 00 00 4f 45 42 50 53 .........!R................OEBPS
0480 2f 6e 61 76 2e 78 68 74 6d 6c 3c 3f 78 6d 6c 20 76 65 72 73 69 6f 6e 3d 22 31 2e 30 22 20 65 6e /nav.xhtml<?xml.version="1.0".en
04a0 63 6f 64 69 6e 67 3d 22 75 74 66 2d 38 22 3f 3e 0a 3c 68 74 6d 6c 20 78 6d 6c 6e 73 3d 22 68 74 coding="utf-8"?>.<html.xmlns="ht
04c0 74 70 3a 2f 2f 77 77 77 2e 77 33 2e 6f 72 67 2f 31 39 39 39 2f 78 68 74 6d 6c 22 20 78 6d 6c 6e tp://www.w3.org/1999/xhtml".xmln
04e0 73 3a 65 70 75 62 3d 22 68 74 74 70 3a 2f 2f 77 77 77 2e 69 64 70 66 2e 6f 72 67 2f 32 30 30 37 s:epub="http://www.idpf.org/2007
0500 2f 6f 70 73 22 20 6c 61 6e 67 3d 22 65 6e 22 3e 0a 20 20 3c 68 65 61 64 3e 3c 74 69 74 6c 65 3e /ops".lang="en">...<head><title>
0520 5a 69 67 20 4c 61 6e 67 75 61 67 65 20 52 65 66 65 72 65 6e 63 65 20 28 6d 61 73 74 65 72 29 3c Zig.Language.Reference.(master)<
0540 2f 74 69 74 6c 65 3e 3c 2f 68 65 61 64 3e 0a 20 20 3c 62 6f 64 79 3e 0a 20 20 20 20 3c 6e 61 76 /title></head>...<body>.....<nav
0560 20 65 70 75 62 3a 74 79 70 65 3d 22 74 6f 63 22 20 69 64 3d 22 74 6f 63 22 3e 0a 20 20 20 20 20 .epub:type="toc".id="toc">......
0580 20 3c 68 31 3e 5a 69 67 20 4c 61 6e 67 75 61 67 65 20 52 65 66 65 72 65 6e 63 65 20 28 6d 61 73 .<h1>Zig.Language.Reference.(mas
05a0 74 65 72 29 3c 2f 68 31 3e 0a 20 20 20 20 20 20 3c 6f 6c 3e 0a 20 20 20 20 20 20 20 20 3c 6c 69 ter)</h1>.......<ol>.........<li
05c0 3e 3c 61 20 69 64 3d 22 74 6f 63 2d 49 6e 74 72 6f 64 75 63 74 69 6f 6e 22 20 68 72 65 66 3d 22 ><a.id="toc-Introduction".href="
05e0 69 6e 64 65 78 2e 78 68 74 6d 6c 23 49 6e 74 72 6f 64 75 63 74 69 6f 6e 22 3e 49 6e 74 72 6f 64 index.xhtml#Introduction">Introd
0600 75 63 74 69 6f 6e 3c 2f 61 3e 3c 2f 6c 69 3e 0a 20 20 20 20 20 20 20 20 3c 6c 69 3e 3c 61 20 69 uction</a></li>.........<li><a.i
0620 64 3d 22 74 6f 63 2d 5a 69 67 2d 53 74 61 6e 64 61 72 64 2d 4c 69 62 72 61 72 79 22 20 68 72 65 d="toc-Zig-Standard-Library".hre
0640 66 3d 22 69 6e 64 65 78 2e 78 68 74 6d 6c 23 5a 69 67 2d 53 74 61 6e 64 61 72 64 2d 4c 69 62 72 f="index.xhtml#Zig-Standard-Libr
0660 61 72 79 22 3e 5a 69 67 20 53 74 61 6e 64 61 72 64 20 4c 69 62 72 61 72 79 3c 2f 61 3e 3c 2f 6c ary">Zig.Standard.Library</a></l
0680 69 3e 0a 20 20 20 20 20 20 20 20 3c 6c 69 3e 3c 61 20 69 64 3d 22 74 6f 63 2d 48 65 6c 6c 6f 2d i>.........<li><a.id="toc-Hello-
06a0 57 6f 72 6c 64 22 20 68 72 65 66 3d 22 69 6e 64 65 78 2e 78 68 74 6d 6c 23 48 65 6c 6c 6f 2d 57 World".href="index.xhtml#Hello-W
06c0 6f 72 6c 64 22 3e 48 65 6c 6c 6f 20 57 6f 72 6c 64 3c 2f 61 3e 3c 2f 6c 69 3e 0a 20 20 20 20 20 orld">Hello.World</a></li>......
06e0 20 20 20 3c 6c 69 3e 3c 61 20 69 64 3d 22 74 6f 63 2d 43 6f 6d 6d 65 6e 74 73 22 20 68 72 65 66 ...<li><a.id="toc-Comments".href
0700 3d 22 69 6e 64 65 78 2e 78 68 74 6d 6c 23 43 6f 6d 6d 65 6e 74 73 22 3e 43 6f 6d 6d 65 6e 74 73 ="index.xhtml#Comments">Comments
0720 3c 2f 61 3e 0a 20 20 20 20 20 20 20 20 3c 6f 6c 3e 0a 20 20 20 20 20 20 20 20 20 20 20 20 3c 6c </a>.........<ol>.............<l
0740 69 3e 3c 61 20 69 64 3d 22 74 6f 63 2d 44 6f 63 2d 43 6f 6d 6d 65 6e 74 73 22 20 68 72 65 66 3d i><a.id="toc-Doc-Comments".href=
0760 22 69 6e 64 65 78 2e 78 68 74 6d 6c 23 44 6f 63 2d 43 6f 6d 6d 65 6e 74 73 22 3e 44 6f 63 20 43 "index.xhtml#Doc-Comments">Doc.C
0780 6f 6d 6d 65 6e 74 73 3c 2f 61 3e 3c 2f 6c 69 3e 0a 20 20 20 20 20 20 20 20 20 20 20 20 3c 6c 69 omments</a></li>.............<li
07a0 3e 3c 61 20 69 64 3d 22 74 6f 63 2d 54 6f 70 2d 4c 65 76 65 6c 2d 44 6f 63 2d 43 6f 6d 6d 65 6e ><a.id="toc-Top-Level-Doc-Commen
07c0 74 73 22 20 68 72 65 66 3d 22 69 6e 64 65 78 2e 78 68 74 6d 6c 23 54 6f 70 2d 4c 65 76 65 6c 2d ts".href="index.xhtml#Top-Level-
07e0 44 6f 63 2d 43 6f 6d 6d 65 6e 74 73 22 3e 54 6f 70 2d 4c 65 76 65 6c 20 44 6f 63 20 43 6f 6d 6d Doc-Comments">Top-Level.Doc.Comm
0800 65 6e 74 73 3c 2f 61 3e 3c 2f 6c 69 3e 0a 20 20 20 20 20 20 20 20 3c 2f 6f 6c 3e 3c 2f 6c 69 3e ents</a></li>.........</ol></li>
0820 0a 20 20 20 20 20 20 20 20 3c 6c 69 3e 3c 61 20 69 64 3d 22 74 6f 63 2d 4e 61 6d 65 73 70 61 63 .........<li><a.id="toc-Namespac
0840 65 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 70 61 63 65 22 3e e".href="index.xhtml#Namespace">
0860 4e 61 6d 65 73 70 61 63 65 3c 2f 61 3e 3c 2f 6c 69 3e 0a 20 20 20 20 20 20 20 20 3c 6c 69 3e 3c Namespace</a></li>.........<li><
0880 61 20 69 64 3d 22 74 6f 63 2d 49 64 65 6e 74 69 66 69 65 72 73 22 20 68 72 65 66 3d 22 69 6e 64 a.id="toc-Identifiers".href="ind
08a0 65 78 2e 78 68 74 6d 6c 23 49 64 65 6e 74 69 66 69 65 72 73 22 3e 49 64 65 6e 74 69 66 69 65 72 ex.xhtml#Identifiers">Identifier
08c0 73 3c 2f 61 3e 0a 20 20 20 20 20 20 20 20 3c 6f 6c 3e 0a 20 20 20 20 20 20 20 20 20 20 20 20 3c s</a>.........<ol>.............<
08e0 6c 69 3e 3c 61 20 69 64 3d 22 74 6f 63 2d 53 74 72 69 6e 67 2d 49 64 65 6e 74 69 66 69 65 72 2d li><a.id="toc-String-Identifier-
0900 53 79 6e 74 61 78 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 Syntax".href="index.xhtml#String
0920 2d 49 64 65 6e 74 69 66 69 65 72 2d 53 79 6e 74 61 78 22 3e 53 74 72 69 6e 67 20 49 64 65 6e 74 -Identifier-Syntax">String.Ident
0940 69 66 69 65 72 20 53 79 6e 74 61 78 3c 2f 61 3e 3c 2f 6c 69 3e 0a 20 20 20 20 20 20 20 20 3c 2f ifier.Syntax</a></li>.........</
0960 6f 6c 3e 3c 2f 6c 69 3e 0a 20 20 20 20 20 20 20 20 3c 6c 69 3e 3c 61 20 69 64 3d 22 74 6f 63 2d ol></li>.........<li><a.id="toc-
0980 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 56 61 6c 75 65 73 Values".href="index.xhtml#Values
09a0 22 3e 56 61 6c 75 65 73 3c 2f 61 3e 0a 20 20 20 20 20 20 20 20 3c 6f 6c 3e 0a 20 20 20 20 20 20 ">Values</a>.........<ol>.......
09c0 20 20 20 20 20 20 3c 6c 69 3e 3c 61 20 69 64 3d 22 74 6f 63 2d 50 72 69 6d 69 74 69 76 65 2d 54 ......<li><a.id="toc-Primitive-T
09e0 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 6d 69 74 69 76 ypes".href="index.xhtml#Primitiv
0a00 65 2d 54 79 70 65 73 22 3e 50 72 69 6d 69 74 69 76 65 20 54 79 70 65 73 3c 2f 61 3e 3c 2f 6c 69 e-Types">Primitive.Types</a></li
0a20 3e 0a 20 20 20 20 20 20 20 20 20 20 20 20 3c 6c 69 3e 3c 61 20 69 64 3d 22 74 6f 63 2d 50 72 69 >.............<li><a.id="toc-Pri
0a40 6d 69 74 69 76 65 2d 56 61 6c 75 65 73 22 20 68 72 65 66 3d 22 69 6e 64 65 78 2e 78 68 74 6d 6c mitive-Values".href="index.xhtml
0a60 23 50 72 69 6d 69 74 69 76 65 2d 56 61 6c 75 65 73 22 3e 50 72 69 6d 69 74 69 76 65 20 56 61 6c #Primitive-Values">Primitive.Val
0a80 75 65 73 3c 2f 61 3e 3c 2f 6c 69 3e 0a 20 20 20 20 20 20 20 20 20 20 20 20 3c 6c 69 3e 3c 61 20 ues</a></li>.............<li><a.
0aa0 69 64 3d 22 74 6f 63 2d 53 74 72 69 6e 67 2d 4c 69 74 65 72 61 6c 73 2d 61 6e 64 2d 55 6e 69 63 id="toc-String-Literals-and-Unic
0ac0 6f 64 65 2d 43 6f 64 65 2d 50 6f 69 6e 74 2d 4c 69 74 65 72 61 6c 73 22 20 68 72 65 66 3d 22 69 ode-Code-Point-Literals".href="i
0ae0 6e 64 65 78 2e 78 68 74 6d 6c 23 53 74 72 69 6e 67 2d 4c 69 74 65 72 61 6c 73 2d 61 6e 64 2d 55 ndex.xhtml#String-Literals-and-U
0b00 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
0b20 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
0b40 6e 74 20 4c 69 74 65 72 61 6c 73 3c 2f 61 3e 0a 20 20 20 20 20 20 20 20 20 20 20 20 3c 6f 6c 3e nt.Literals</a>.............<ol>
0b60 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 3c 6c 69 3e 3c 61 20 69 64 3d 22 74 6f 63 2d .................<li><a.id="toc-
0b80 45 73 63 61 70 65 2d 53 65 71 75 65 6e 63 65 73 22 20 68 72 65 66 3d 22 69 6e 64 65 78 2e 78 68 Escape-Sequences".href="index.xh
0ba0 74 6d 6c 23 45 73 63 61 70 65 2d 53 65 71 75 65 6e 63 65 73 22 3e 45 73 63 61 70 65 20 53 65 71 tml#Escape-Sequences">Escape.Seq
0bc0 75 65 6e 63 65 73 3c 2f 61 3e 3c 2f 6c 69 3e 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 uences</a></li>.................
0be0 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 2d <li><a.id="toc-Multiline-String-
0c00 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 74 Literals".href="index.xhtml#Mult
0c20 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 65 iline-String-Literals">Multiline
0c40 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 20 20 20 20 20 20 .String.Literals</a></li>.......
0c60 20 20 20 20 20 20 3c 2f 6f 6c 3e 3c 2f 6c 69 3e 0a 20 20 20 20 20 20 20 20 20 20 20 20 3c 6c 69 ......</ol></li>.............<li
0c80 3e 3c 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 ><a.id="toc-Assignment".href="in
0ca0 64 65 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 dex.xhtml#Assignment">Assignment
0cc0 3c 2f 61 3e 0a 20 20 20 20 20 20 20 20 20 20 20 20 3c 6f 6c 3e 0a 20 20 20 20 20 20 20 20 20 20 </a>.............<ol>...........
0ce0 20 20 20 20 20 20 3c 6c 69 3e 3c 61 20 69 64 3d 22 74 6f 63 2d 75 6e 64 65 66 69 6e 65 64 22 20 ......<li><a.id="toc-undefined".
0d00 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 6e 64 href="index.xhtml#undefined">und
0d20 65 66 69 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 20 20 20 20 efined</a></li>.................
0d40 3c 6c 69 3e 3c 61 20 69 64 3d 22 74 6f 63 2d 44 65 73 74 72 75 63 74 75 72 69 6e 67 22 20 68 72 <li><a.id="toc-Destructuring".hr
0d60 65 66 3d 22 69 6e 64 65 78 2e 78 68 74 6d 6c 23 44 65 73 74 72 75 63 74 75 72 69 6e 67 22 3e 44 ef="index.xhtml#Destructuring">D
0d80 65 73 74 72 75 63 74 75 72 69 6e 67 3c 2f 61 3e 3c 2f 6c 69 3e 0a 20 20 20 20 20 20 20 20 20 20 estructuring</a></li>...........
0da0 20 20 3c 2f 6f 6c 3e 3c 2f 6c 69 3e 0a 20 20 20 20 20 20 20 20 3c 2f 6f 6c 3e 3c 2f 6c 69 3e 0a ..</ol></li>.........</ol></li>.
0dc0 20 20 20 20 20 20 20 20 3c 6c 69 3e 3c 61 20 69 64 3d 22 74 6f 63 2d 5a 69 67 2d 54 65 73 74 22 ........<li><a.id="toc-Zig-Test"
0de0 20 68 72 65 66 3d 22 69 6e 64 65 78 2e 78 68 74 6d 6c 23 5a 69 67 2d 54 65 73 74 22 3e 5a 69 67 .href="index.xhtml#Zig-Test">Zig
0e00 20 54 65 73 74 3c 2f 61 3e 0a 20 20 20 20 20 20 20 20 3c 6f 6c 3e 0a 20 20 20 20 20 20 20 20 20 .Test</a>.........<ol>..........
0e20 20 20 20 3c 6c 69 3e 3c 61 20 69 64 3d 22 74 6f 63 2d 54 65 73 74 2d 44 65 63 6c 61 72 61 74 69 ...<li><a.id="toc-Test-Declarati
0e40 6f 6e 73 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 44 65 63 6c ons".href="index.xhtml#Test-Decl
0e60 61 72 61 74 69 6f 6e 73 22 3e 54 65 73 74 20 44 65 63 6c 61 72 61 74 69 6f 6e 73 3c 2f 61 3e 0a arations">Test.Declarations</a>.
0e80 20 20 20 20 20 20 20 20 20 20 20 20 3c 6f 6c 3e 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ............<ol>................
0ea0 20 3c 6c 69 3e 3c 61 20 69 64 3d 22 74 6f 63 2d 44 6f 63 74 65 73 74 73 22 20 68 72 65 66 3d 22 .<li><a.id="toc-Doctests".href="
0ec0 69 6e 64 65 78 2e 78 68 74 6d 6c 23 44 6f 63 74 65 73 74 73 22 3e 44 6f 63 74 65 73 74 73 3c 2f index.xhtml#Doctests">Doctests</
0ee0 61 3e 3c 2f 6c 69 3e 0a 20 20 20 20 20 20 20 20 20 20 20 20 3c 2f 6f 6c 3e 3c 2f 6c 69 3e 0a 20 a></li>.............</ol></li>..
0f00 20 20 20 20 20 20 20 20 20 20 20 3c 6c 69 3e 3c 61 20 69 64 3d 22 74 6f 63 2d 54 65 73 74 2d 46 ...........<li><a.id="toc-Test-F
0f20 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 46 ailure".href="index.xhtml#Test-F
0f40 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 20 20 ailure">Test.Failure</a></li>...
0f60 20 20 20 20 20 20 20 20 20 20 3c 6c 69 3e 3c 61 20 69 64 3d 22 74 6f 63 2d 53 6b 69 70 2d 54 65 ..........<li><a.id="toc-Skip-Te
0f80 73 74 73 22 20 68 72 65 66 3d 22 69 6e 64 65 78 2e 78 68 74 6d 6c 23 53 6b 69 70 2d 54 65 73 74 sts".href="index.xhtml#Skip-Test
0fa0 73 22 3e 53 6b 69 70 20 54 65 73 74 73 3c 2f 61 3e 3c 2f 6c 69 3e 0a 20 20 20 20 20 20 20 20 20 s">Skip.Tests</a></li>..........
0fc0 20 20 20 3c 6c 69 3e 3c 61 20 69 64 3d 22 74 6f 63 2d 52 65 70 6f 72 74 2d 4d 65 6d 6f 72 79 2d ...<li><a.id="toc-Report-Memory-
0fe0 4c 65 61 6b 73 22 20 68 72 65 66 3d 22 69 6e 64 65 78 2e 78 68 74 6d 6c 23 52 65 70 6f 72 74 2d Leaks".href="index.xhtml#Report-
1000 4d 65 6d 6f 72 79 2d 4c 65 61 6b 73 22 3e 52 65 70 6f 72 74 20 4d 65 6d 6f 72 79 20 4c 65 61 6b Memory-Leaks">Report.Memory.Leak
1020 73 3c 2f 61 3e 3c 2f 6c 69 3e 0a 20 20 20 20 20 20 20 20 20 20 20 20 3c 6c 69 3e 3c 61 20 69 64 s</a></li>.............<li><a.id
1040 3d 22 74 6f 63 2d 44 65 74 65 63 74 69 6e 67 2d 54 65 73 74 2d 42 75 69 6c 64 22 20 68 72 65 66 ="toc-Detecting-Test-Build".href
1060 3d 22 69 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 ="index.xhtml#Detecting-Test-Bui
1080 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 61 3e 3c 2f 6c 69 ld">Detecting.Test.Build</a></li
10a0 3e 0a 20 20 20 20 20 20 20 20 20 20 20 20 3c 6c 69 3e 3c 61 20 69 64 3d 22 74 6f 63 2d 54 65 73 >.............<li><a.id="toc-Tes
10c0 74 2d 4f 75 74 70 75 74 2d 61 6e 64 2d 4c 6f 67 67 69 6e 67 22 20 68 72 65 66 3d 22 69 6e 64 65 t-Output-and-Logging".href="inde
10e0 78 2e 78 68 74 6d 6c 23 54 65 73 74 2d 4f 75 74 70 75 74 2d 61 6e 64 2d 4c 6f 67 67 69 6e 67 22 x.xhtml#Test-Output-and-Logging"
1100 3e 54 65 73 74 20 4f 75 74 70 75 74 20 61 6e 64 20 4c 6f 67 67 69 6e 67 3c 2f 61 3e 3c 2f 6c 69 >Test.Output.and.Logging</a></li
1120 3e 0a 20 20 20 20 20 20 20 20 20 20 20 20 3c 6c 69 3e 3c 61 20 69 64 3d 22 74 6f 63 2d 54 68 65 >.............<li><a.id="toc-The
1140 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 6e 64 65 78 2e -Testing-Namespace".href="index.
1160 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 22 3e 54 68 65 xhtml#The-Testing-Namespace">The
1180 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 0a 20 20 20 20 .Testing.Namespace</a></li>.....
11a0 20 20 20 20 20 20 20 20 3c 6c 69 3e 3c 61 20 69 64 3d 22 74 6f 63 2d 54 65 73 74 2d 54 6f 6f 6c ........<li><a.id="toc-Test-Tool
11c0 2d 44 6f 63 75 6d 65 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 -Documentation".href="index.xhtm
11e0 6c 23 54 65 73 74 2d 54 6f 6f 6c 2d 44 6f 63 75 6d 65 6e 74 61 74 69 6f 6e 22 3e 54 65 73 74 20 l#Test-Tool-Documentation">Test.
1200 54 6f 6f 6c 20 44 6f 63 75 6d 65 6e 74 61 74 69 6f 6e 3c 2f 61 3e 3c 2f 6c 69 3e 0a 20 20 20 20 Tool.Documentation</a></li>.....
1220 20 20 20 20 3c 2f 6f 6c 3e 3c 2f 6c 69 3e 0a 20 20 20 20 20 20 20 20 3c 6c 69 3e 3c 61 20 69 64 ....</ol></li>.........<li><a.id
1240 3d 22 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 ="toc-Variables".href="index.xht
1260 6d 6c 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 0a 20 20 20 20 ml#Variables">Variables</a>.....
1280 20 20 20 20 3c 6f 6c 3e 0a 20 20 20 20 20 20 20 20 20 20 20 20 3c 6c 69 3e 3c 61 20 69 64 3d 22 ....<ol>.............<li><a.id="
12a0 74 6f 63 2d 4e 61 6d 65 73 70 61 63 65 2d 4c 65 76 65 6c 2d 56 61 72 69 61 62 6c 65 73 22 20 68 toc-Namespace-Level-Variables".h
12c0 72 65 66 3d 22 69 6e 64 65 78 2e 78 68 74 6d 6c 23 4e 61 6d 65 73 70 61 63 65 2d 4c 65 76 65 6c ref="index.xhtml#Namespace-Level
12e0 2d 56 61 72 69 61 62 6c 65 73 22 3e 4e 61 6d 65 73 70 61 63 65 20 4c 65 76 65 6c 20 56 61 72 69 -Variables">Namespace.Level.Vari
1300 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 6c 69 3e 3c ables</a></li>.............<li><
1320 61 20 69 64 3d 22 74 6f 63 2d 4c 6f 63 61 6c 6c 79 2d 53 63 6f 70 65 64 2d 47 6c 6f 62 61 6c 2d a.id="toc-Locally-Scoped-Global-
1340 56 61 72 69 61 62 6c 65 73 22 20 68 72 65 66 3d 22 69 6e 64 65 78 2e 78 68 74 6d 6c 23 4c 6f 63 Variables".href="index.xhtml#Loc
1360 61 6c 6c 79 2d 53 63 6f 70 65 64 2d 47 6c 6f 62 61 6c 2d 56 61 72 69 61 62 6c 65 73 22 3e 4c 6f ally-Scoped-Global-Variables">Lo
1380 63 61 6c 6c 79 2d 53 63 6f 70 65 64 20 47 6c 6f 62 61 6c 20 56 61 72 69 61 62 6c 65 73 3c 2f 61 cally-Scoped.Global.Variables</a
13a0 3e 3c 2f 6c 69 3e 0a 20 20 20 20 20 20 20 20 20 20 20 20 3c 6c 69 3e 3c 61 20 69 64 3d 22 74 6f ></li>.............<li><a.id="to
13c0 63 2d 54 68 72 65 61 64 2d 4c 6f 63 61 6c 2d 56 61 72 69 61 62 6c 65 73 22 20 68 72 65 66 3d 22 c-Thread-Local-Variables".href="
13e0 69 6e 64 65 78 2e 78 68 74 6d 6c 23 54 68 72 65 61 64 2d 4c 6f 63 61 6c 2d 56 61 72 69 61 62 6c index.xhtml#Thread-Local-Variabl
1400 65 73 22 3e 54 68 72 65 61 64 20 4c 6f 63 61 6c 20 56 61 72 69 61 62 6c 65 73 3c 2f 61 3e 3c 2f es">Thread.Local.Variables</a></
1420 6c 69 3e 0a 20 20 20 20 20 20 20 20 20 20 20 20 3c 6c 69 3e 3c 61 20 69 64 3d 22 74 6f 63 2d 4c li>.............<li><a.id="toc-L
1440 6f 63 61 6c 2d 56 61 72 69 61 62 6c 65 73 22 20 68 72 65 66 3d 22 69 6e 64 65 78 2e 78 68 74 6d ocal-Variables".href="index.xhtm
1460 6c 23 4c 6f 63 61 6c 2d 56 61 72 69 61 62 6c 65 73 22 3e 4c 6f 63 61 6c 20 56 61 72 69 61 62 6c l#Local-Variables">Local.Variabl
1480 65 73 3c 2f 61 3e 3c 2f 6c 69 3e 0a 20 20 20 20 20 20 20 20 3c 2f 6f 6c 3e 3c 2f 6c 69 3e 0a 20 es</a></li>.........</ol></li>..
14a0 20 20 20 20 20 20 20 3c 6c 69 3e 3c 61 20 69 64 3d 22 74 6f 63 2d 49 6e 74 65 67 65 72 73 22 20 .......<li><a.id="toc-Integers".
14c0 68 72 65 66 3d 22 69 6e 64 65 78 2e 78 68 74 6d 6c 23 49 6e 74 65 67 65 72 73 22 3e 49 6e 74 65 href="index.xhtml#Integers">Inte
14e0 67 65 72 73 3c 2f 61 3e 0a 20 20 20 20 20 20 20 20 3c 6f 6c 3e 0a 20 20 20 20 20 20 20 20 20 20 gers</a>.........<ol>...........
1500 20 20 3c 6c 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 ..<li><a.id="toc-Integer-Literal
1520 73 22 20 68 72 65 66 3d 22 69 6e 64 65 78 2e 78 68 74 6d 6c 23 49 6e 74 65 67 65 72 2d 4c 69 74 s".href="index.xhtml#Integer-Lit
1540 65 72 61 6c 73 22 3e 49 6e 74 65 67 65 72 20 4c 69 74 65 72 61 6c 73 3c 2f 61 3e 3c 2f 6c 69 3e erals">Integer.Literals</a></li>
1560 0a 20 20 20 20 20 20 20 20 20 20 20 20 3c 6c 69 3e 3c 61 20 69 64 3d 22 74 6f 63 2d 52 75 6e 74 .............<li><a.id="toc-Runt
1580 69 6d 65 2d 49 6e 74 65 67 65 72 2d 56 61 6c 75 65 73 22 20 68 72 65 66 3d 22 69 6e 64 65 78 2e ime-Integer-Values".href="index.
15a0 78 68 74 6d 6c 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 52 75 xhtml#Runtime-Integer-Values">Ru
15c0 6e 74 69 6d 65 20 49 6e 74 65 67 65 72 20 56 61 6c 75 65 73 3c 2f 61 3e 3c 2f 6c 69 3e 0a 20 20 ntime.Integer.Values</a></li>...
15e0 20 20 20 20 20 20 3c 2f 6f 6c 3e 3c 2f 6c 69 3e 0a 20 20 20 20 20 20 20 20 3c 6c 69 3e 3c 61 20 ......</ol></li>.........<li><a.
1600 69 64 3d 22 74 6f 63 2d 46 6c 6f 61 74 73 22 20 68 72 65 66 3d 22 69 6e 64 65 78 2e 78 68 74 6d id="toc-Floats".href="index.xhtm
1620 6c 23 46 6c 6f 61 74 73 22 3e 46 6c 6f 61 74 73 3c 2f 61 3e 0a 20 20 20 20 20 20 20 20 3c 6f 6c l#Floats">Floats</a>.........<ol
1640 3e 0a 20 20 20 20 20 20 20 20 20 20 20 20 3c 6c 69 3e 3c 61 20 69 64 3d 22 74 6f 63 2d 46 6c 6f >.............<li><a.id="toc-Flo
1660 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 46 at-Literals".href="index.xhtml#F
1680 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 61 loat-Literals">Float.Literals</a
16a0 3e 3c 2f 6c 69 3e 0a 20 20 20 20 20 20 20 20 20 20 20 20 3c 6c 69 3e 3c 61 20 69 64 3d 22 74 6f ></li>.............<li><a.id="to
16c0 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 6e 73 22 20 68 72 65 c-Floating-Point-Operations".hre
16e0 66 3d 22 69 6e 64 65 78 2e 78 68 74 6d 6c 23 46 6c 6f 61 74 69 6e 67 2d 50 6f 69 6e 74 2d 4f 70 f="index.xhtml#Floating-Point-Op
1700 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 61 74 69 erations">Floating.Point.Operati
1720 6f 6e 73 3c 2f 61 3e 3c 2f 6c 69 3e 0a 20 20 20 20 20 20 20 20 3c 2f 6f 6c 3e 3c 2f 6c 69 3e 0a ons</a></li>.........</ol></li>.
1740 20 20 20 20 20 20 20 20 3c 6c 69 3e 3c 61 20 69 64 3d 22 74 6f 63 2d 4f 70 65 72 61 74 6f 72 73 ........<li><a.id="toc-Operators
1760 22 20 68 72 65 66 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 ".href="index.xhtml#Operators">O
1780 70 65 72 61 74 6f 72 73 3c 2f 61 3e 0a 20 20 20 20 20 20 20 20 3c 6f 6c 3e 0a 20 20 20 20 20 20 perators</a>.........<ol>.......
17a0 20 20 20 20 20 20 3c 6c 69 3e 3c 61 20 69 64 3d 22 74 6f 63 2d 54 61 62 6c 65 2d 6f 66 2d 4f 70 ......<li><a.id="toc-Table-of-Op
17c0 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 23 54 61 62 6c 65 erators".href="index.xhtml#Table
17e0 2d 6f 66 2d 4f 70 65 72 61 74 6f 72 73 22 3e 54 61 62 6c 65 20 6f 66 20 4f 70 65 72 61 74 6f 72 -of-Operators">Table.of.Operator
1800 73 3c 2f 61 3e 3c 2f 6c 69 3e 0a 20 20 20 20 20 20 20 20 20 20 20 20 3c 6c 69 3e 3c 61 20 69 64 s</a></li>.............<li><a.id
1820 3d 22 74 6f 63 2d 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 ="toc-Precedence".href="index.xh
1840 74 6d 6c 23 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 3c 2f tml#Precedence">Precedence</a></
1860 6c 69 3e 0a 20 20 20 20 20 20 20 20 3c 2f 6f 6c 3e 3c 2f 6c 69 3e 0a 20 20 20 20 20 20 20 20 3c li>.........</ol></li>.........<
1880 6c 69 3e 3c 61 20 69 64 3d 22 74 6f 63 2d 41 72 72 61 79 73 22 20 68 72 65 66 3d 22 69 6e 64 65 li><a.id="toc-Arrays".href="inde
18a0 78 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 0a 20 20 20 20 20 x.xhtml#Arrays">Arrays</a>......
18c0 20 20 20 3c 6f 6c 3e 0a 20 20 20 20 20 20 20 20 20 20 20 20 3c 6c 69 3e 3c 61 20 69 64 3d 22 74 ...<ol>.............<li><a.id="t
18e0 6f 63 2d 4d 75 6c 74 69 64 69 6d 65 6e 73 69 6f 6e 61 6c 2d 41 72 72 61 79 73 22 20 68 72 65 66 oc-Multidimensional-Arrays".href
1900 3d 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 ="index.xhtml#Multidimensional-A
1920 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 79 73 3c 2f rrays">Multidimensional.Arrays</
1940 61 3e 3c 2f 6c 69 3e 0a 20 20 20 20 20 20 20 20 20 20 20 20 3c 6c 69 3e 3c 61 20 69 64 3d 22 74 a></li>.............<li><a.id="t
1960 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 73 22 20 68 oc-Sentinel-Terminated-Arrays".h
1980 72 65 66 3d 22 69 6e 64 65 78 2e 78 68 74 6d 6c 23 53 65 6e 74 69 6e 65 6c 2d 54 65 72 6d 69 6e ref="index.xhtml#Sentinel-Termin
19a0 61 74 65 64 2d 41 72 72 61 79 73 22 3e 53 65 6e 74 69 6e 65 6c 2d 54 65 72 6d 69 6e 61 74 65 64 ated-Arrays">Sentinel-Terminated
19c0 20 41 72 72 61 79 73 3c 2f 61 3e 3c 2f 6c 69 3e 0a 20 20 20 20 20 20 20 20 20 20 20 20 3c 6c 69 .Arrays</a></li>.............<li
19e0 3e 3c 61 20 69 64 3d 22 74 6f 63 2d 44 65 73 74 72 75 63 74 75 72 69 6e 67 2d 41 72 72 61 79 73 ><a.id="toc-Destructuring-Arrays
1a00 22 20 68 72 65 66 3d 22 69 6e 64 65 78 2e 78 68 74 6d 6c 23 44 65 73 74 72 75 63 74 75 72 69 6e ".href="index.xhtml#Destructurin
1a20 67 2d 41 72 72 61 79 73 22 3e 44 65 73 74 72 75 63 74 75 72 69 6e 67 20 41 72 72 61 79 73 3c 2f g-Arrays">Destructuring.Arrays</
1a40 61 3e 3c 2f 6c 69 3e 0a 20 20 20 20 20 20 20 20 3c 2f 6f 6c 3e 3c 2f 6c 69 3e 0a 20 20 20 20 20 a></li>.........</ol></li>......
1a60 20 20 20 3c 6c 69 3e 3c 61 20 69 64 3d 22 74 6f 63 2d 56 65 63 74 6f 72 73 22 20 68 72 65 66 3d ...<li><a.id="toc-Vectors".href=
1a80 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 61 "index.xhtml#Vectors">Vectors</a
1aa0 3e 0a 20 20 20 20 20 20 20 20 3c 6f 6c 3e 0a 20 20 20 20 20 20 20 20 20 20 20 20 3c 6c 69 3e 3c >.........<ol>.............<li><
1ac0 61 20 69 64 3d 22 74 6f 63 2d 52 65 6c 61 74 69 6f 6e 73 68 69 70 2d 77 69 74 68 2d 41 72 72 61 a.id="toc-Relationship-with-Arra
1ae0 79 73 22 20 68 72 65 66 3d 22 69 6e 64 65 78 2e 78 68 74 6d 6c 23 52 65 6c 61 74 69 6f 6e 73 68 ys".href="index.xhtml#Relationsh
1b00 69 70 2d 77 69 74 68 2d 41 72 72 61 79 73 22 3e 52 65 6c 61 74 69 6f 6e 73 68 69 70 20 77 69 74 ip-with-Arrays">Relationship.wit
1b20 68 20 41 72 72 61 79 73 3c 2f 61 3e 3c 2f 6c 69 3e 0a 20 20 20 20 20 20 20 20 20 20 20 20 3c 6c h.Arrays</a></li>.............<l
1b40 69 3e 3c 61 20 69 64 3d 22 74 6f 63 2d 44 65 73 74 72 75 63 74 75 72 69 6e 67 2d 56 65 63 74 6f i><a.id="toc-Destructuring-Vecto
1b60 72 73 22 20 68 72 65 66 3d 22 69 6e 64 65 78 2e 78 68 74 6d 6c 23 44 65 73 74 72 75 63 74 75 72 rs".href="index.xhtml#Destructur
1b80 69 6e 67 2d 56 65 63 74 6f 72 73 22 3e 44 65 73 74 72 75 63 74 75 72 69 6e 67 20 56 65 63 74 6f ing-Vectors">Destructuring.Vecto
1ba0 72 73 3c 2f 61 3e 3c 2f 6c 69 3e 0a 20 20 20 20 20 20 20 20 3c 2f 6f 6c 3e 3c 2f 6c 69 3e 0a 20 rs</a></li>.........</ol></li>..
1bc0 20 20 20 20 20 20 20 3c 6c 69 3e 3c 61 20 69 64 3d 22 74 6f 63 2d 50 6f 69 6e 74 65 72 73 22 20 .......<li><a.id="toc-Pointers".
1be0 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 6e href="index.xhtml#Pointers">Poin
1c00 74 65 72 73 3c 2f 61 3e 0a 20 20 20 20 20 20 20 20 3c 6f 6c 3e 0a 20 20 20 20 20 20 20 20 20 20 ters</a>.........<ol>...........
1c20 20 20 3c 6c 69 3e 3c 61 20 69 64 3d 22 74 6f 63 2d 76 6f 6c 61 74 69 6c 65 22 20 68 72 65 66 3d ..<li><a.id="toc-volatile".href=
1c40 22 69 6e 64 65 78 2e 78 68 74 6d 6c 23 76 6f 6c 61 74 69 6c 65 22 3e 76 6f 6c 61 74 69 6c 65 3c "index.xhtml#volatile">volatile<
1c60 2f 61 3e 3c 2f 6c 69 3e 0a 20 20 20 20 20 20 20 20 20 20 20 20 3c 6c 69 3e 3c 61 20 69 64 3d 22 /a></li>.............<li><a.id="
1c80 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 6c toc-Alignment".href="index.xhtml
1ca0 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 20 #Alignment">Alignment</a></li>..
1cc0 20 20 20 20 20 20 20 20 20 20 20 3c 6c 69 3e 3c 61 20 69 64 3d 22 74 6f 63 2d 61 6c 6c 6f 77 7a ...........<li><a.id="toc-allowz
1ce0 65 72 6f 22 20 68 72 65 66 3d 22 69 6e 64 65 78 2e 78 68 74 6d 6c 23 61 6c 6c 6f 77 7a 65 72 6f ero".href="index.xhtml#allowzero
1d00 22 3e 61 6c 6c 6f 77 7a 65 72 6f 3c 2f 61 3e 3c 2f 6c 69 3e 0a 20 20 20 20 20 20 20 20 20 20 20 ">allowzero</a></li>............
1d20 20 3c 6c 69 3e 3c 61 20 69 64 3d 22 74 6f 63 2d 53 65 6e 74 69 6e 65 6c 2d 54 65 72 6d 69 6e 61 .<li><a.id="toc-Sentinel-Termina
1d40 74 65 64 2d 50 6f 69 6e 74 65 72 73 22 20 68 72 65 66 3d 22 69 6e 64 65 78 2e 78 68 74 6d 6c 23 ted-Pointers".href="index.xhtml#
1d60 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 53 65 Sentinel-Terminated-Pointers">Se
1d80 6e 74 69 6e 65 6c 2d 54 65 72 6d 69 6e 61 74 65 64 20 50 6f 69 6e 74 65 72 73 3c 2f 61 3e 3c 2f ntinel-Terminated.Pointers</a></
1da0 6c 69 3e 0a 20 20 20 20 20 20 20 20 3c 2f 6f 6c 3e 3c 2f 6c 69 3e 0a 20 20 20 20 20 20 20 20 3c li>.........</ol></li>.........<
1dc0 6c 69 3e 3c 61 20 69 64 3d 22 74 6f 63 2d 53 6c 69 63 65 73 22 20 68 72 65 66 3d 22 69 6e 64 65 li><a.id="toc-Slices".href="inde
1de0 78 2e 78 68 74 6d 6c 23 53 6c 69 63 65 73 22 3e 53 6c 69 63 65 73 3c 2f 61 3e 0a 20 20 20 20 20 x.xhtml#Slices">Slices</a>......
1e00 20 20 20 3c 6f 6c 3e 0a 20 20 20 20 20 20 20 20 20 20 20 20 3c 6c 69 3e 3c 61 20 69 64 3d 22 74 ...<ol>.............<li><a.id="t
1e20 6f 63 2d 53 65 6e 74 69 6e 65 6c 2d 54 65 72 6d 69 6e 61 74 65 64 2d 53 6c 69 63 65 73 22 20 68 oc-Sentinel-Terminated-Slices".h
1e40 72 65 66 3d 22 69 6e 64 65 78 2e 78 68 74 6d 6c 23 53 65 6e 74 69 6e 65 6c 2d 54 65 72 6d 69 6e ref="index.xhtml#Sentinel-Termin
1e60 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
1e80 20 53 6c 69 63 65 73 3c 2f 61 3e 3c 2f 6c 69 3e 0a 20 20 20 20 20 20 20 20 3c 2f 6f 6c 3e 3c 2f .Slices</a></li>.........</ol></
1ea0 6c 69 3e 0a 20 20 20 20 20 20 20 20 3c 6c 69 3e 3c 61 20 69 64 3d 22 74 6f 63 2d 73 74 72 75 63 li>.........<li><a.id="toc-struc
1ec0 74 22 20 68 72 65 66 3d 22 69 6e 64 65 78 2e 78 68 74 6d 6c 23 73 74 72 75 63 74 22 3e 73 74 72 t".href="index.xhtml#struct">str
1ee0 75 63 74 3c 2f 61 3e 0a 20 20 20 20 20 20 20 20 3c 6f 6c 3e 0a 20 20 20 20 20 20 20 20 20 20 20 uct</a>.........<ol>............
1f00 20 3c 6c 69 3e 3c 61 20 69 64 3d 22 74 6f 63 2d 44 65 66 61 75 6c 74 2d 46 69 65 6c 64 2d 56 61 .<li><a.id="toc-Default-Field-Va
1f20 6c 75 65 73 22 20 68 72 65 66 3d 22 69 6e 64 65 78 2e 78 68 74 6d 6c 23 44 65 66 61 75 6c 74 2d lues".href="index.xhtml#Default-
1f40 46 69 65 6c 64 2d 56 61 6c 75 65 73 22 3e 44 65 66 61 75 6c 74 20 46 69 65 6c 64 20 56 61 6c 75 Field-Values">Default.Field.Valu
1f60 65 73 3c 2f 61 3e 0a 20 20 20 20 20 20 20 20 20 20 20 20 3c 6f 6c 3e 0a 20 20 20 20 20 20 20 20 es</a>.............<ol>.........
1f80 20 20 20 20 20 20 20 20 3c 6c 69 3e 3c 61 20 69 64 3d 22 74 6f 63 2d 46 61 75 6c 74 79 2d 44 65 ........<li><a.id="toc-Faulty-De
1fa0 66 61 75 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 fault-Field-Values".href="index.
1fc0 78 68 74 6d 6c 23 46 61 75 6c 74 79 2d 44 65 66 61 75 6c 74 2d 46 69 65 6c 64 2d 56 61 6c 75 65 xhtml#Faulty-Default-Field-Value
1fe0 73 22 3e 46 61 75 6c 74 79 20 44 65 66 61 75 6c 74 20 46 69 65 6c 64 20 56 61 6c 75 65 73 3c 2f s">Faulty.Default.Field.Values</
2000 61 3e 3c 2f 6c 69 3e 0a 20 20 20 20 20 20 20 20 20 20 20 20 3c 2f 6f 6c 3e 3c 2f 6c 69 3e 0a 20 a></li>.............</ol></li>..
2020 20 20 20 20 20 20 20 20 20 20 20 3c 6c 69 3e 3c 61 20 69 64 3d 22 74 6f 63 2d 65 78 74 65 72 6e ...........<li><a.id="toc-extern
2040 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 65 78 74 65 72 -struct".href="index.xhtml#exter
2060 6e 2d 73 74 72 75 63 74 22 3e 65 78 74 65 72 6e 20 73 74 72 75 63 74 3c 2f 61 3e 3c 2f 6c 69 3e n-struct">extern.struct</a></li>
2080 0a 20 20 20 20 20 20 20 20 20 20 20 20 3c 6c 69 3e 3c 61 20 69 64 3d 22 74 6f 63 2d 70 61 63 6b .............<li><a.id="toc-pack
20a0 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
20c0 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
20e0 69 3e 0a 20 20 20 20 20 20 20 20 20 20 20 20 3c 6c 69 3e 3c 61 20 69 64 3d 22 74 6f 63 2d 53 74 i>.............<li><a.id="toc-St
2100 72 75 63 74 2d 4e 61 6d 69 6e 67 22 20 68 72 65 66 3d 22 69 6e 64 65 78 2e 78 68 74 6d 6c 23 53 ruct-Naming".href="index.xhtml#S
2120 74 72 75 63 74 2d 4e 61 6d 69 6e 67 22 3e 53 74 72 75 63 74 20 4e 61 6d 69 6e 67 3c 2f 61 3e 3c truct-Naming">Struct.Naming</a><
2140 2f 6c 69 3e 0a 20 20 20 20 20 20 20 20 20 20 20 20 3c 6c 69 3e 3c 61 20 69 64 3d 22 74 6f 63 2d /li>.............<li><a.id="toc-
2160 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 20 68 72 65 66 3d Anonymous-Struct-Literals".href=
2180 22 69 6e 64 65 78 2e 78 68 74 6d 6c 23 41 6e 6f 6e 79 6d 6f 75 73 2d 53 74 72 75 63 74 2d 4c 69 "index.xhtml#Anonymous-Struct-Li
21a0 74 65 72 61 6c 73 22 3e 41 6e 6f 6e 79 6d 6f 75 73 20 53 74 72 75 63 74 20 4c 69 74 65 72 61 6c terals">Anonymous.Struct.Literal
21c0 73 3c 2f 61 3e 3c 2f 6c 69 3e 0a 20 20 20 20 20 20 20 20 20 20 20 20 3c 6c 69 3e 3c 61 20 69 64 s</a></li>.............<li><a.id
21e0 3d 22 74 6f 63 2d 54 75 70 6c 65 73 22 20 68 72 65 66 3d 22 69 6e 64 65 78 2e 78 68 74 6d 6c 23 ="toc-Tuples".href="index.xhtml#
2200 54 75 70 6c 65 73 22 3e 54 75 70 6c 65 73 3c 2f 61 3e 0a 20 20 20 20 20 20 20 20 20 20 20 20 3c Tuples">Tuples</a>.............<
2220 6f 6c 3e 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 3c 6c 69 3e 3c 61 20 69 64 3d 22 74 ol>.................<li><a.id="t
2240 6f 63 2d 44 65 73 74 72 75 63 74 75 72 69 6e 67 2d 54 75 70 6c 65 73 22 20 68 72 65 66 3d 22 69 oc-Destructuring-Tuples".href="i
2260 6e 64 65 78 2e 78 68 74 6d 6c 23 44 65 73 74 72 75 63 74 75 72 69 6e 67 2d 54 75 70 6c 65 73 22 ndex.xhtml#Destructuring-Tuples"
2280 3e 44 65 73 74 72 75 63 74 75 72 69 6e 67 20 54 75 70 6c 65 73 3c 2f 61 3e 3c 2f 6c 69 3e 0a 20 >Destructuring.Tuples</a></li>..
22a0 20 20 20 20 20 20 20 20 20 20 20 3c 2f 6f 6c 3e 3c 2f 6c 69 3e 0a 20 20 20 20 20 20 20 20 3c 2f ...........</ol></li>.........</
22c0 6f 6c 3e 3c 2f 6c 69 3e 0a 20 20 20 20 20 20 20 20 3c 6c 69 3e 3c 61 20 69 64 3d 22 74 6f 63 2d ol></li>.........<li><a.id="toc-
22e0 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 65 6e enum".href="index.xhtml#enum">en
2300 75 6d 3c 2f 61 3e 0a 20 20 20 20 20 20 20 20 3c 6f 6c 3e 0a 20 20 20 20 20 20 20 20 20 20 20 20 um</a>.........<ol>.............
2320 3c 6c 69 3e 3c 61 20 69 64 3d 22 74 6f 63 2d 65 78 74 65 72 6e 2d 65 6e 75 6d 22 20 68 72 65 66 <li><a.id="toc-extern-enum".href
2340 3d 22 69 6e 64 65 78 2e 78 68 74 6d 6c 23 65 78 74 65 72 6e 2d 65 6e 75 6d 22 3e 65 78 74 65 72 ="index.xhtml#extern-enum">exter
2360 6e 20 65 6e 75 6d 3c 2f 61 3e 3c 2f 6c 69 3e 0a 20 20 20 20 20 20 20 20 20 20 20 20 3c 6c 69 3e n.enum</a></li>.............<li>
2380 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 3d 22 <a.id="toc-Enum-Literals".href="
23a0 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 6d 20 index.xhtml#Enum-Literals">Enum.
23c0 4c 69 74 65 72 61 6c 73 3c 2f 61 3e 3c 2f 6c 69 3e 0a 20 20 20 20 20 20 20 20 20 20 20 20 3c 6c Literals</a></li>.............<l
23e0 69 3e 3c 61 20 69 64 3d 22 74 6f 63 2d 4e 6f 6e 2d 65 78 68 61 75 73 74 69 76 65 2d 65 6e 75 6d i><a.id="toc-Non-exhaustive-enum
2400 22 20 68 72 65 66 3d 22 69 6e 64 65 78 2e 78 68 74 6d 6c 23 4e 6f 6e 2d 65 78 68 61 75 73 74 69 ".href="index.xhtml#Non-exhausti
2420 76 65 2d 65 6e 75 6d 22 3e 4e 6f 6e 2d 65 78 68 61 75 73 74 69 76 65 20 65 6e 75 6d 3c 2f 61 3e ve-enum">Non-exhaustive.enum</a>
2440 3c 2f 6c 69 3e 0a 20 20 20 20 20 20 20 20 3c 2f 6f 6c 3e 3c 2f 6c 69 3e 0a 20 20 20 20 20 20 20 </li>.........</ol></li>........
2460 20 3c 6c 69 3e 3c 61 20 69 64 3d 22 74 6f 63 2d 75 6e 69 6f 6e 22 20 68 72 65 66 3d 22 69 6e 64 .<li><a.id="toc-union".href="ind
2480 65 78 2e 78 68 74 6d 6c 23 75 6e 69 6f 6e 22 3e 75 6e 69 6f 6e 3c 2f 61 3e 0a 20 20 20 20 20 20 ex.xhtml#union">union</a>.......
24a0 20 20 3c 6f 6c 3e 0a 20 20 20 20 20 20 20 20 20 20 20 20 3c 6c 69 3e 3c 61 20 69 64 3d 22 74 6f ..<ol>.............<li><a.id="to
24c0 63 2d 54 61 67 67 65 64 2d 75 6e 69 6f 6e 22 20 68 72 65 66 3d 22 69 6e 64 65 78 2e 78 68 74 6d c-Tagged-union".href="index.xhtm
24e0 6c 23 54 61 67 67 65 64 2d 75 6e 69 6f 6e 22 3e 54 61 67 67 65 64 20 75 6e 69 6f 6e 3c 2f 61 3e l#Tagged-union">Tagged.union</a>
2500 3c 2f 6c 69 3e 0a 20 20 20 20 20 20 20 20 20 20 20 20 3c 6c 69 3e 3c 61 20 69 64 3d 22 74 6f 63 </li>.............<li><a.id="toc
2520 2d 65 78 74 65 72 6e 2d 75 6e 69 6f 6e 22 20 68 72 65 66 3d 22 69 6e 64 65 78 2e 78 68 74 6d 6c -extern-union".href="index.xhtml
2540 23 65 78 74 65 72 6e 2d 75 6e 69 6f 6e 22 3e 65 78 74 65 72 6e 20 75 6e 69 6f 6e 3c 2f 61 3e 3c #extern-union">extern.union</a><
2560 2f 6c 69 3e 0a 20 20 20 20 20 20 20 20 20 20 20 20 3c 6c 69 3e 3c 61 20 69 64 3d 22 74 6f 63 2d /li>.............<li><a.id="toc-
2580 70 61 63 6b 65 64 2d 75 6e 69 6f 6e 22 20 68 72 65 66 3d 22 69 6e 64 65 78 2e 78 68 74 6d 6c 23 packed-union".href="index.xhtml#
25a0 70 61 63 6b 65 64 2d 75 6e 69 6f 6e 22 3e 70 61 63 6b 65 64 20 75 6e 69 6f 6e 3c 2f 61 3e 3c 2f packed-union">packed.union</a></
25c0 6c 69 3e 0a 20 20 20 20 20 20 20 20 20 20 20 20 3c 6c 69 3e 3c 61 20 69 64 3d 22 74 6f 63 2d 41 li>.............<li><a.id="toc-A
25e0 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 3d 22 69 nonymous-Union-Literals".href="i
2600 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 74 65 72 ndex.xhtml#Anonymous-Union-Liter
2620 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 3c 2f 61 als">Anonymous.Union.Literals</a
2640 3e 3c 2f 6c 69 3e 0a 20 20 20 20 20 20 20 20 3c 2f 6f 6c 3e 3c 2f 6c 69 3e 0a 20 20 20 20 20 20 ></li>.........</ol></li>.......
2660 20 20 3c 6c 69 3e 3c 61 20 69 64 3d 22 74 6f 63 2d 6f 70 61 71 75 65 22 20 68 72 65 66 3d 22 69 ..<li><a.id="toc-opaque".href="i
2680 6e 64 65 78 2e 78 68 74 6d 6c 23 6f 70 61 71 75 65 22 3e 6f 70 61 71 75 65 3c 2f 61 3e 3c 2f 6c ndex.xhtml#opaque">opaque</a></l
26a0 69 3e 0a 20 20 20 20 20 20 20 20 3c 6c 69 3e 3c 61 20 69 64 3d 22 74 6f 63 2d 42 6c 6f 63 6b 73 i>.........<li><a.id="toc-Blocks
26c0 22 20 68 72 65 66 3d 22 69 6e 64 65 78 2e 78 68 74 6d 6c 23 42 6c 6f 63 6b 73 22 3e 42 6c 6f 63 ".href="index.xhtml#Blocks">Bloc
26e0 6b 73 3c 2f 61 3e 0a 20 20 20 20 20 20 20 20 3c 6f 6c 3e 0a 20 20 20 20 20 20 20 20 20 20 20 20 ks</a>.........<ol>.............
2700 3c 6c 69 3e 3c 61 20 69 64 3d 22 74 6f 63 2d 53 68 61 64 6f 77 69 6e 67 22 20 68 72 65 66 3d 22 <li><a.id="toc-Shadowing".href="
2720 69 6e 64 65 78 2e 78 68 74 6d 6c 23 53 68 61 64 6f 77 69 6e 67 22 3e 53 68 61 64 6f 77 69 6e 67 index.xhtml#Shadowing">Shadowing
2740 3c 2f 61 3e 3c 2f 6c 69 3e 0a 20 20 20 20 20 20 20 20 20 20 20 20 3c 6c 69 3e 3c 61 20 69 64 3d </a></li>.............<li><a.id=
2760 22 74 6f 63 2d 45 6d 70 74 79 2d 42 6c 6f 63 6b 73 22 20 68 72 65 66 3d 22 69 6e 64 65 78 2e 78 "toc-Empty-Blocks".href="index.x
2780 68 74 6d 6c 23 45 6d 70 74 79 2d 42 6c 6f 63 6b 73 22 3e 45 6d 70 74 79 20 42 6c 6f 63 6b 73 3c html#Empty-Blocks">Empty.Blocks<
27a0 2f 61 3e 3c 2f 6c 69 3e 0a 20 20 20 20 20 20 20 20 3c 2f 6f 6c 3e 3c 2f 6c 69 3e 0a 20 20 20 20 /a></li>.........</ol></li>.....
27c0 20 20 20 20 3c 6c 69 3e 3c 61 20 69 64 3d 22 74 6f 63 2d 73 77 69 74 63 68 22 20 68 72 65 66 3d ....<li><a.id="toc-switch".href=
27e0 22 69 6e 64 65 78 2e 78 68 74 6d 6c 23 73 77 69 74 63 68 22 3e 73 77 69 74 63 68 3c 2f 61 3e 0a "index.xhtml#switch">switch</a>.
2800 20 20 20 20 20 20 20 20 3c 6f 6c 3e 0a 20 20 20 20 20 20 20 20 20 20 20 20 3c 6c 69 3e 3c 61 20 ........<ol>.............<li><a.
2820 69 64 3d 22 74 6f 63 2d 45 78 68 61 75 73 74 69 76 65 2d 53 77 69 74 63 68 69 6e 67 22 20 68 72 id="toc-Exhaustive-Switching".hr
2840 65 66 3d 22 69 6e 64 65 78 2e 78 68 74 6d 6c 23 45 78 68 61 75 73 74 69 76 65 2d 53 77 69 74 63 ef="index.xhtml#Exhaustive-Switc
2860 68 69 6e 67 22 3e 45 78 68 61 75 73 74 69 76 65 20 53 77 69 74 63 68 69 6e 67 3c 2f 61 3e 3c 2f hing">Exhaustive.Switching</a></
2880 6c 69 3e 0a 20 20 20 20 20 20 20 20 20 20 20 20 3c 6c 69 3e 3c 61 20 69 64 3d 22 74 6f 63 2d 53 li>.............<li><a.id="toc-S
28a0 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 20 68 72 65 witching-with-Enum-Literals".hre
28c0 66 3d 22 69 6e 64 65 78 2e 78 68 74 6d 6c 23 53 77 69 74 63 68 69 6e 67 2d 77 69 74 68 2d 45 6e f="index.xhtml#Switching-with-En
28e0 75 6d 2d 4c 69 74 65 72 61 6c 73 22 3e 53 77 69 74 63 68 69 6e 67 20 77 69 74 68 20 45 6e 75 6d um-Literals">Switching.with.Enum
2900 20 4c 69 74 65 72 61 6c 73 3c 2f 61 3e 3c 2f 6c 69 3e 0a 20 20 20 20 20 20 20 20 20 20 20 20 3c .Literals</a></li>.............<
2920 6c 69 3e 3c 61 20 69 64 3d 22 74 6f 63 2d 53 77 69 74 63 68 69 6e 67 2d 6f 6e 2d 45 72 72 6f 72 li><a.id="toc-Switching-on-Error
2940 73 22 20 68 72 65 66 3d 22 69 6e 64 65 78 2e 78 68 74 6d 6c 23 53 77 69 74 63 68 69 6e 67 2d 6f s".href="index.xhtml#Switching-o
2960 6e 2d 45 72 72 6f 72 73 22 3e 53 77 69 74 63 68 69 6e 67 20 6f 6e 20 45 72 72 6f 72 73 3c 2f 61 n-Errors">Switching.on.Errors</a
2980 3e 3c 2f 6c 69 3e 0a 20 20 20 20 20 20 20 20 20 20 20 20 3c 6c 69 3e 3c 61 20 69 64 3d 22 74 6f ></li>.............<li><a.id="to
29a0 63 2d 4c 61 62 65 6c 65 64 2d 73 77 69 74 63 68 22 20 68 72 65 66 3d 22 69 6e 64 65 78 2e 78 68 c-Labeled-switch".href="index.xh
29c0 74 6d 6c 23 4c 61 62 65 6c 65 64 2d 73 77 69 74 63 68 22 3e 4c 61 62 65 6c 65 64 20 73 77 69 74 tml#Labeled-switch">Labeled.swit
29e0 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 6c 69 3e 3c 61 20 69 ch</a></li>.............<li><a.i
2a00 64 3d 22 74 6f 63 2d 49 6e 6c 69 6e 65 2d 53 77 69 74 63 68 2d 50 72 6f 6e 67 73 22 20 68 72 65 d="toc-Inline-Switch-Prongs".hre
2a20 66 3d 22 69 6e 64 65 78 2e 78 68 74 6d 6c 23 49 6e 6c 69 6e 65 2d 53 77 69 74 63 68 2d 50 72 6f f="index.xhtml#Inline-Switch-Pro
2a40 6e 67 73 22 3e 49 6e 6c 69 6e 65 20 53 77 69 74 63 68 20 50 72 6f 6e 67 73 3c 2f 61 3e 3c 2f 6c ngs">Inline.Switch.Prongs</a></l
2a60 69 3e 0a 20 20 20 20 20 20 20 20 3c 2f 6f 6c 3e 3c 2f 6c 69 3e 0a 20 20 20 20 20 20 20 20 3c 6c i>.........</ol></li>.........<l
2a80 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 22 69 6e 64 65 78 2e i><a.id="toc-while".href="index.
2aa0 78 68 74 6d 6c 23 77 68 69 6c 65 22 3e 77 68 69 6c 65 3c 2f 61 3e 0a 20 20 20 20 20 20 20 20 3c xhtml#while">while</a>.........<
2ac0 6f 6c 3e 0a 20 20 20 20 20 20 20 20 20 20 20 20 3c 6c 69 3e 3c 61 20 69 64 3d 22 74 6f 63 2d 4c ol>.............<li><a.id="toc-L
2ae0 61 62 65 6c 65 64 2d 77 68 69 6c 65 22 20 68 72 65 66 3d 22 69 6e 64 65 78 2e 78 68 74 6d 6c 23 abeled-while".href="index.xhtml#
2b00 4c 61 62 65 6c 65 64 2d 77 68 69 6c 65 22 3e 4c 61 62 65 6c 65 64 20 77 68 69 6c 65 3c 2f 61 3e Labeled-while">Labeled.while</a>
2b20 3c 2f 6c 69 3e 0a 20 20 20 20 20 20 20 20 20 20 20 20 3c 6c 69 3e 3c 61 20 69 64 3d 22 74 6f 63 </li>.............<li><a.id="toc
2b40 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 65 66 3d 22 69 6e 64 -while-with-Optionals".href="ind
2b60 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 6e 61 6c 73 22 3e 77 ex.xhtml#while-with-Optionals">w
2b80 68 69 6c 65 20 77 69 74 68 20 4f 70 74 69 6f 6e 61 6c 73 3c 2f 61 3e 3c 2f 6c 69 3e 0a 20 20 20 hile.with.Optionals</a></li>....
2ba0 20 20 20 20 20 20 20 20 20 3c 6c 69 3e 3c 61 20 69 64 3d 22 74 6f 63 2d 77 68 69 6c 65 2d 77 69 .........<li><a.id="toc-while-wi
2bc0 74 68 2d 45 72 72 6f 72 2d 55 6e 69 6f 6e 73 22 20 68 72 65 66 3d 22 69 6e 64 65 78 2e 78 68 74 th-Error-Unions".href="index.xht
2be0 6d 6c 23 77 68 69 6c 65 2d 77 69 74 68 2d 45 72 72 6f 72 2d 55 6e 69 6f 6e 73 22 3e 77 68 69 6c ml#while-with-Error-Unions">whil
2c00 65 20 77 69 74 68 20 45 72 72 6f 72 20 55 6e 69 6f 6e 73 3c 2f 61 3e 3c 2f 6c 69 3e 0a 20 20 20 e.with.Error.Unions</a></li>....
2c20 20 20 20 20 20 20 20 20 20 3c 6c 69 3e 3c 61 20 69 64 3d 22 74 6f 63 2d 69 6e 6c 69 6e 65 2d 77 .........<li><a.id="toc-inline-w
2c40 68 69 6c 65 22 20 68 72 65 66 3d 22 69 6e 64 65 78 2e 78 68 74 6d 6c 23 69 6e 6c 69 6e 65 2d 77 hile".href="index.xhtml#inline-w
2c60 68 69 6c 65 22 3e 69 6e 6c 69 6e 65 20 77 68 69 6c 65 3c 2f 61 3e 3c 2f 6c 69 3e 0a 20 20 20 20 hile">inline.while</a></li>.....
2c80 20 20 20 20 3c 2f 6f 6c 3e 3c 2f 6c 69 3e 0a 20 20 20 20 20 20 20 20 3c 6c 69 3e 3c 61 20 69 64 ....</ol></li>.........<li><a.id
2ca0 3d 22 74 6f 63 2d 66 6f 72 22 20 68 72 65 66 3d 22 69 6e 64 65 78 2e 78 68 74 6d 6c 23 66 6f 72 ="toc-for".href="index.xhtml#for
2cc0 22 3e 66 6f 72 3c 2f 61 3e 0a 20 20 20 20 20 20 20 20 3c 6f 6c 3e 0a 20 20 20 20 20 20 20 20 20 ">for</a>.........<ol>..........
2ce0 20 20 20 3c 6c 69 3e 3c 61 20 69 64 3d 22 74 6f 63 2d 4c 61 62 65 6c 65 64 2d 66 6f 72 22 20 68 ...<li><a.id="toc-Labeled-for".h
2d00 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
2d20 62 65 6c 65 64 20 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 beled.for</a></li>.............<
2d40 6c 69 3e 3c 61 20 69 64 3d 22 74 6f 63 2d 69 6e 6c 69 6e 65 2d 66 6f 72 22 20 68 72 65 66 3d 22 li><a.id="toc-inline-for".href="
2d60 69 6e 64 65 78 2e 78 68 74 6d 6c 23 69 6e 6c 69 6e 65 2d 66 6f 72 22 3e 69 6e 6c 69 6e 65 20 66 index.xhtml#inline-for">inline.f
2d80 6f 72 3c 2f 61 3e 3c 2f 6c 69 3e 0a 20 20 20 20 20 20 20 20 3c 2f 6f 6c 3e 3c 2f 6c 69 3e 0a 20 or</a></li>.........</ol></li>..
2da0 20 20 20 20 20 20 20 3c 6c 69 3e 3c 61 20 69 64 3d 22 74 6f 63 2d 69 66 22 20 68 72 65 66 3d 22 .......<li><a.id="toc-if".href="
2dc0 69 6e 64 65 78 2e 78 68 74 6d 6c 23 69 66 22 3e 69 66 3c 2f 61 3e 0a 20 20 20 20 20 20 20 20 3c index.xhtml#if">if</a>.........<
2de0 6f 6c 3e 0a 20 20 20 20 20 20 20 20 20 20 20 20 3c 6c 69 3e 3c 61 20 69 64 3d 22 74 6f 63 2d 69 ol>.............<li><a.id="toc-i
2e00 66 2d 77 69 74 68 2d 4f 70 74 69 6f 6e 61 6c 73 22 20 68 72 65 66 3d 22 69 6e 64 65 78 2e 78 68 f-with-Optionals".href="index.xh
2e20 74 6d 6c 23 69 66 2d 77 69 74 68 2d 4f 70 74 69 6f 6e 61 6c 73 22 3e 69 66 20 77 69 74 68 20 4f tml#if-with-Optionals">if.with.O
2e40 70 74 69 6f 6e 61 6c 73 3c 2f 61 3e 3c 2f 6c 69 3e 0a 20 20 20 20 20 20 20 20 3c 2f 6f 6c 3e 3c ptionals</a></li>.........</ol><
2e60 2f 6c 69 3e 0a 20 20 20 20 20 20 20 20 3c 6c 69 3e 3c 61 20 69 64 3d 22 74 6f 63 2d 64 65 66 65 /li>.........<li><a.id="toc-defe
2e80 72 22 20 68 72 65 66 3d 22 69 6e 64 65 78 2e 78 68 74 6d 6c 23 64 65 66 65 72 22 3e 64 65 66 65 r".href="index.xhtml#defer">defe
2ea0 72 3c 2f 61 3e 3c 2f 6c 69 3e 0a 20 20 20 20 20 20 20 20 3c 6c 69 3e 3c 61 20 69 64 3d 22 74 6f r</a></li>.........<li><a.id="to
2ec0 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
2ee0 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 0a 20 20 #unreachable">unreachable</a>...
2f00 20 20 20 20 20 20 3c 6f 6c 3e 0a 20 20 20 20 20 20 20 20 20 20 20 20 3c 6c 69 3e 3c 61 20 69 64 ......<ol>.............<li><a.id
2f20 3d 22 74 6f 63 2d 42 61 73 69 63 73 22 20 68 72 65 66 3d 22 69 6e 64 65 78 2e 78 68 74 6d 6c 23 ="toc-Basics".href="index.xhtml#
2f40 42 61 73 69 63 73 22 3e 42 61 73 69 63 73 3c 2f 61 3e 3c 2f 6c 69 3e 0a 20 20 20 20 20 20 20 20 Basics">Basics</a></li>.........
2f60 20 20 20 20 3c 6c 69 3e 3c 61 20 69 64 3d 22 74 6f 63 2d 41 74 2d 43 6f 6d 70 69 6c 65 2d 54 69 ....<li><a.id="toc-At-Compile-Ti
2f80 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
2fa0 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>.
2fc0 20 20 20 20 20 20 20 20 3c 2f 6f 6c 3e 3c 2f 6c 69 3e 0a 20 20 20 20 20 20 20 20 3c 6c 69 3e 3c ........</ol></li>.........<li><
2fe0 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 6e 64 65 78 2e a.id="toc-noreturn".href="index.
3000 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 3e 3c 2f 6c 69 xhtml#noreturn">noreturn</a></li
3020 3e 0a 20 20 20 20 20 20 20 20 3c 6c 69 3e 3c 61 20 69 64 3d 22 74 6f 63 2d 46 75 6e 63 74 69 6f >.........<li><a.id="toc-Functio
3040 6e 73 22 20 68 72 65 66 3d 22 69 6e 64 65 78 2e 78 68 74 6d 6c 23 46 75 6e 63 74 69 6f 6e 73 22 ns".href="index.xhtml#Functions"
3060 3e 46 75 6e 63 74 69 6f 6e 73 3c 2f 61 3e 0a 20 20 20 20 20 20 20 20 3c 6f 6c 3e 0a 20 20 20 20 >Functions</a>.........<ol>.....
3080 20 20 20 20 20 20 20 20 3c 6c 69 3e 3c 61 20 69 64 3d 22 74 6f 63 2d 50 61 73 73 2d 62 79 2d 76 ........<li><a.id="toc-Pass-by-v
30a0 61 6c 75 65 2d 50 61 72 61 6d 65 74 65 72 73 22 20 68 72 65 66 3d 22 69 6e 64 65 78 2e 78 68 74 alue-Parameters".href="index.xht
30c0 6d 6c 23 50 61 73 73 2d 62 79 2d 76 61 6c 75 65 2d 50 61 72 61 6d 65 74 65 72 73 22 3e 50 61 73 ml#Pass-by-value-Parameters">Pas
30e0 73 2d 62 79 2d 76 61 6c 75 65 20 50 61 72 61 6d 65 74 65 72 73 3c 2f 61 3e 3c 2f 6c 69 3e 0a 20 s-by-value.Parameters</a></li>..
3100 20 20 20 20 20 20 20 20 20 20 20 3c 6c 69 3e 3c 61 20 69 64 3d 22 74 6f 63 2d 46 75 6e 63 74 69 ...........<li><a.id="toc-Functi
3120 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 20 68 72 65 on-Parameter-Type-Inference".hre
3140 66 3d 22 69 6e 64 65 78 2e 78 68 74 6d 6c 23 46 75 6e 63 74 69 6f 6e 2d 50 61 72 61 6d 65 74 65 f="index.xhtml#Function-Paramete
3160 72 2d 54 79 70 65 2d 49 6e 66 65 72 65 6e 63 65 22 3e 46 75 6e 63 74 69 6f 6e 20 50 61 72 61 6d r-Type-Inference">Function.Param
3180 65 74 65 72 20 54 79 70 65 20 49 6e 66 65 72 65 6e 63 65 3c 2f 61 3e 3c 2f 6c 69 3e 0a 20 20 20 eter.Type.Inference</a></li>....
31a0 20 20 20 20 20 20 20 20 20 3c 6c 69 3e 3c 61 20 69 64 3d 22 74 6f 63 2d 69 6e 6c 69 6e 65 2d 66 .........<li><a.id="toc-inline-f
31c0 6e 22 20 68 72 65 66 3d 22 69 6e 64 65 78 2e 78 68 74 6d 6c 23 69 6e 6c 69 6e 65 2d 66 6e 22 3e n".href="index.xhtml#inline-fn">
31e0 69 6e 6c 69 6e 65 20 66 6e 3c 2f 61 3e 3c 2f 6c 69 3e 0a 20 20 20 20 20 20 20 20 20 20 20 20 3c inline.fn</a></li>.............<
3200 6c 69 3e 3c 61 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 li><a.id="toc-Function-Reflectio
3220 6e 22 20 68 72 65 66 3d 22 69 6e 64 65 78 2e 78 68 74 6d 6c 23 46 75 6e 63 74 69 6f 6e 2d 52 65 n".href="index.xhtml#Function-Re
3240 66 6c 65 63 74 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 flection">Function.Reflection</a
3260 3e 3c 2f 6c 69 3e 0a 20 20 20 20 20 20 20 20 3c 2f 6f 6c 3e 3c 2f 6c 69 3e 0a 20 20 20 20 20 20 ></li>.........</ol></li>.......
3280 20 20 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
32a0 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 0a 20 20 ndex.xhtml#Errors">Errors</a>...
32c0 20 20 20 20 20 20 3c 6f 6c 3e 0a 20 20 20 20 20 20 20 20 20 20 20 20 3c 6c 69 3e 3c 61 20 69 64 ......<ol>.............<li><a.id
32e0 3d 22 74 6f 63 2d 45 72 72 6f 72 2d 53 65 74 2d 54 79 70 65 22 20 68 72 65 66 3d 22 69 6e 64 65 ="toc-Error-Set-Type".href="inde
3300 78 2e 78 68 74 6d 6c 23 45 72 72 6f 72 2d 53 65 74 2d 54 79 70 65 22 3e 45 72 72 6f 72 20 53 65 x.xhtml#Error-Set-Type">Error.Se
3320 74 20 54 79 70 65 3c 2f 61 3e 0a 20 20 20 20 20 20 20 20 20 20 20 20 3c 6f 6c 3e 0a 20 20 20 20 t.Type</a>.............<ol>.....
3340 20 20 20 20 20 20 20 20 20 20 20 20 3c 6c 69 3e 3c 61 20 69 64 3d 22 74 6f 63 2d 54 68 65 2d 47 ............<li><a.id="toc-The-G
3360 6c 6f 62 61 6c 2d 45 72 72 6f 72 2d 53 65 74 22 20 68 72 65 66 3d 22 69 6e 64 65 78 2e 78 68 74 lobal-Error-Set".href="index.xht
3380 6d 6c 23 54 68 65 2d 47 6c 6f 62 61 6c 2d 45 72 72 6f 72 2d 53 65 74 22 3e 54 68 65 20 47 6c 6f ml#The-Global-Error-Set">The.Glo
33a0 62 61 6c 20 45 72 72 6f 72 20 53 65 74 3c 2f 61 3e 3c 2f 6c 69 3e 0a 20 20 20 20 20 20 20 20 20 bal.Error.Set</a></li>..........
33c0 20 20 20 3c 2f 6f 6c 3e 3c 2f 6c 69 3e 0a 20 20 20 20 20 20 20 20 20 20 20 20 3c 6c 69 3e 3c 61 ...</ol></li>.............<li><a
33e0 20 69 64 3d 22 74 6f 63 2d 45 72 72 6f 72 2d 55 6e 69 6f 6e 2d 54 79 70 65 22 20 68 72 65 66 3d .id="toc-Error-Union-Type".href=
3400 22 69 6e 64 65 78 2e 78 68 74 6d 6c 23 45 72 72 6f 72 2d 55 6e 69 6f 6e 2d 54 79 70 65 22 3e 45 "index.xhtml#Error-Union-Type">E
3420 72 72 6f 72 20 55 6e 69 6f 6e 20 54 79 70 65 3c 2f 61 3e 0a 20 20 20 20 20 20 20 20 20 20 20 20 rror.Union.Type</a>.............
3440 3c 6f 6c 3e 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 3c 6c 69 3e 3c 61 20 69 64 3d 22 <ol>.................<li><a.id="
3460 74 6f 63 2d 63 61 74 63 68 22 20 68 72 65 66 3d 22 69 6e 64 65 78 2e 78 68 74 6d 6c 23 63 61 74 toc-catch".href="index.xhtml#cat
3480 63 68 22 3e 63 61 74 63 68 3c 2f 61 3e 3c 2f 6c 69 3e 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 ch">catch</a></li>..............
34a0 20 20 20 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 64 ...<li><a.id="toc-try".href="ind
34c0 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 20 20 20 20 20 ex.xhtml#try">try</a></li>......
34e0 20 20 20 20 20 20 20 20 20 20 20 3c 6c 69 3e 3c 61 20 69 64 3d 22 74 6f 63 2d 65 72 72 64 65 66 ...........<li><a.id="toc-errdef
3500 65 72 22 20 68 72 65 66 3d 22 69 6e 64 65 78 2e 78 68 74 6d 6c 23 65 72 72 64 65 66 65 72 22 3e er".href="index.xhtml#errdefer">
3520 65 72 72 64 65 66 65 72 3c 2f 61 3e 3c 2f 6c 69 3e 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 errdefer</a></li>...............
3540 20 20 3c 6c 69 3e 3c 61 20 69 64 3d 22 74 6f 63 2d 4d 65 72 67 69 6e 67 2d 45 72 72 6f 72 2d 53 ..<li><a.id="toc-Merging-Error-S
3560 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 45 ets".href="index.xhtml#Merging-E
3580 72 72 6f 72 2d 53 65 74 73 22 3e 4d 65 72 67 69 6e 67 20 45 72 72 6f 72 20 53 65 74 73 3c 2f 61 rror-Sets">Merging.Error.Sets</a
35a0 3e 3c 2f 6c 69 3e 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 3c 6c 69 3e 3c 61 20 69 64 ></li>.................<li><a.id
35c0 3d 22 74 6f 63 2d 49 6e 66 65 72 72 65 64 2d 45 72 72 6f 72 2d 53 65 74 73 22 20 68 72 65 66 3d ="toc-Inferred-Error-Sets".href=
35e0 22 69 6e 64 65 78 2e 78 68 74 6d 6c 23 49 6e 66 65 72 72 65 64 2d 45 72 72 6f 72 2d 53 65 74 73 "index.xhtml#Inferred-Error-Sets
3600 22 3e 49 6e 66 65 72 72 65 64 20 45 72 72 6f 72 20 53 65 74 73 3c 2f 61 3e 3c 2f 6c 69 3e 0a 20 ">Inferred.Error.Sets</a></li>..
3620 20 20 20 20 20 20 20 20 20 20 20 3c 2f 6f 6c 3e 3c 2f 6c 69 3e 0a 20 20 20 20 20 20 20 20 20 20 ...........</ol></li>...........
3640 20 20 3c 6c 69 3e 3c 61 20 69 64 3d 22 74 6f 63 2d 45 72 72 6f 72 2d 52 65 74 75 72 6e 2d 54 72 ..<li><a.id="toc-Error-Return-Tr
3660 61 63 65 73 22 20 68 72 65 66 3d 22 69 6e 64 65 78 2e 78 68 74 6d 6c 23 45 72 72 6f 72 2d 52 65 aces".href="index.xhtml#Error-Re
3680 74 75 72 6e 2d 54 72 61 63 65 73 22 3e 45 72 72 6f 72 20 52 65 74 75 72 6e 20 54 72 61 63 65 73 turn-Traces">Error.Return.Traces
36a0 3c 2f 61 3e 0a 20 20 20 20 20 20 20 20 20 20 20 20 3c 6f 6c 3e 0a 20 20 20 20 20 20 20 20 20 20 </a>.............<ol>...........
36c0 20 20 20 20 20 20 3c 6c 69 3e 3c 61 20 69 64 3d 22 74 6f 63 2d 49 6d 70 6c 65 6d 65 6e 74 61 74 ......<li><a.id="toc-Implementat
36e0 69 6f 6e 2d 44 65 74 61 69 6c 73 22 20 68 72 65 66 3d 22 69 6e 64 65 78 2e 78 68 74 6d 6c 23 49 ion-Details".href="index.xhtml#I
3700 6d 70 6c 65 6d 65 6e 74 61 74 69 6f 6e 2d 44 65 74 61 69 6c 73 22 3e 49 6d 70 6c 65 6d 65 6e 74 mplementation-Details">Implement
3720 61 74 69 6f 6e 20 44 65 74 61 69 6c 73 3c 2f 61 3e 3c 2f 6c 69 3e 0a 20 20 20 20 20 20 20 20 20 ation.Details</a></li>..........
3740 20 20 20 3c 2f 6f 6c 3e 3c 2f 6c 69 3e 0a 20 20 20 20 20 20 20 20 3c 2f 6f 6c 3e 3c 2f 6c 69 3e ...</ol></li>.........</ol></li>
3760 0a 20 20 20 20 20 20 20 20 3c 6c 69 3e 3c 61 20 69 64 3d 22 74 6f 63 2d 4f 70 74 69 6f 6e 61 6c .........<li><a.id="toc-Optional
3780 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">
37a0 4f 70 74 69 6f 6e 61 6c 73 3c 2f 61 3e 0a 20 20 20 20 20 20 20 20 3c 6f 6c 3e 0a 20 20 20 20 20 Optionals</a>.........<ol>......
37c0 20 20 20 20 20 20 20 3c 6c 69 3e 3c 61 20 69 64 3d 22 74 6f 63 2d 4f 70 74 69 6f 6e 61 6c 2d 54 .......<li><a.id="toc-Optional-T
37e0 79 70 65 22 20 68 72 65 66 3d 22 69 6e 64 65 78 2e 78 68 74 6d 6c 23 4f 70 74 69 6f 6e 61 6c 2d ype".href="index.xhtml#Optional-
3800 54 79 70 65 22 3e 4f 70 74 69 6f 6e 61 6c 20 54 79 70 65 3c 2f 61 3e 3c 2f 6c 69 3e 0a 20 20 20 Type">Optional.Type</a></li>....
3820 20 20 20 20 20 20 20 20 20 3c 6c 69 3e 3c 61 20 69 64 3d 22 74 6f 63 2d 6e 75 6c 6c 22 20 68 72 .........<li><a.id="toc-null".hr
3840 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></
3860 6c 69 3e 0a 20 20 20 20 20 20 20 20 20 20 20 20 3c 6c 69 3e 3c 61 20 69 64 3d 22 74 6f 63 2d 4f li>.............<li><a.id="toc-O
3880 70 74 69 6f 6e 61 6c 2d 50 6f 69 6e 74 65 72 73 22 20 68 72 65 66 3d 22 69 6e 64 65 78 2e 78 68 ptional-Pointers".href="index.xh
38a0 74 6d 6c 23 4f 70 74 69 6f 6e 61 6c 2d 50 6f 69 6e 74 65 72 73 22 3e 4f 70 74 69 6f 6e 61 6c 20 tml#Optional-Pointers">Optional.
38c0 50 6f 69 6e 74 65 72 73 3c 2f 61 3e 3c 2f 6c 69 3e 0a 20 20 20 20 20 20 20 20 3c 2f 6f 6c 3e 3c Pointers</a></li>.........</ol><
38e0 2f 6c 69 3e 0a 20 20 20 20 20 20 20 20 3c 6c 69 3e 3c 61 20 69 64 3d 22 74 6f 63 2d 43 61 73 74 /li>.........<li><a.id="toc-Cast
3900 69 6e 67 22 20 68 72 65 66 3d 22 69 6e 64 65 78 2e 78 68 74 6d 6c 23 43 61 73 74 69 6e 67 22 3e ing".href="index.xhtml#Casting">
3920 43 61 73 74 69 6e 67 3c 2f 61 3e 0a 20 20 20 20 20 20 20 20 3c 6f 6c 3e 0a 20 20 20 20 20 20 20 Casting</a>.........<ol>........
3940 20 20 20 20 20 3c 6c 69 3e 3c 61 20 69 64 3d 22 74 6f 63 2d 54 79 70 65 2d 43 6f 65 72 63 69 6f .....<li><a.id="toc-Type-Coercio
3960 6e 22 20 68 72 65 66 3d 22 69 6e 64 65 78 2e 78 68 74 6d 6c 23 54 79 70 65 2d 43 6f 65 72 63 69 n".href="index.xhtml#Type-Coerci
3980 6f 6e 22 3e 54 79 70 65 20 43 6f 65 72 63 69 6f 6e 3c 2f 61 3e 0a 20 20 20 20 20 20 20 20 20 20 on">Type.Coercion</a>...........
39a0 20 20 3c 6f 6c 3e 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 3c 6c 69 3e 3c 61 20 69 64 ..<ol>.................<li><a.id
39c0 3d 22 74 6f 63 2d 54 79 70 65 2d 43 6f 65 72 63 69 6f 6e 2d 53 74 72 69 63 74 65 72 2d 51 75 61 ="toc-Type-Coercion-Stricter-Qua
39e0 6c 69 66 69 63 61 74 69 6f 6e 22 20 68 72 65 66 3d 22 69 6e 64 65 78 2e 78 68 74 6d 6c 23 54 79 lification".href="index.xhtml#Ty
3a00 70 65 2d 43 6f 65 72 63 69 6f 6e 2d 53 74 72 69 63 74 65 72 2d 51 75 61 6c 69 66 69 63 61 74 69 pe-Coercion-Stricter-Qualificati
3a20 6f 6e 22 3e 54 79 70 65 20 43 6f 65 72 63 69 6f 6e 3a 20 53 74 72 69 63 74 65 72 20 51 75 61 6c on">Type.Coercion:.Stricter.Qual
3a40 69 66 69 63 61 74 69 6f 6e 3c 2f 61 3e 3c 2f 6c 69 3e 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 ification</a></li>..............
3a60 20 20 20 3c 6c 69 3e 3c 61 20 69 64 3d 22 74 6f 63 2d 54 79 70 65 2d 43 6f 65 72 63 69 6f 6e 2d ...<li><a.id="toc-Type-Coercion-
3a80 49 6e 74 65 67 65 72 2d 61 6e 64 2d 46 6c 6f 61 74 2d 57 69 64 65 6e 69 6e 67 22 20 68 72 65 66 Integer-and-Float-Widening".href
3aa0 3d 22 69 6e 64 65 78 2e 78 68 74 6d 6c 23 54 79 70 65 2d 43 6f 65 72 63 69 6f 6e 2d 49 6e 74 65 ="index.xhtml#Type-Coercion-Inte
3ac0 67 65 72 2d 61 6e 64 2d 46 6c 6f 61 74 2d 57 69 64 65 6e 69 6e 67 22 3e 54 79 70 65 20 43 6f 65 ger-and-Float-Widening">Type.Coe
3ae0 72 63 69 6f 6e 3a 20 49 6e 74 65 67 65 72 20 61 6e 64 20 46 6c 6f 61 74 20 57 69 64 65 6e 69 6e rcion:.Integer.and.Float.Widenin
3b00 67 3c 2f 61 3e 3c 2f 6c 69 3e 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 3c 6c 69 3e 3c g</a></li>.................<li><
3b20 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 2d 74 6f 2d 46 a.id="toc-Type-Coercion-Int-to-F
3b40 6c 6f 61 74 22 20 68 72 65 66 3d 22 69 6e 64 65 78 2e 78 68 74 6d 6c 23 54 79 70 65 2d 43 6f 65 loat".href="index.xhtml#Type-Coe
3b60 72 63 69 6f 6e 2d 49 6e 74 2d 74 6f 2d 46 6c 6f 61 74 22 3e 54 79 70 65 20 43 6f 65 72 63 69 6f rcion-Int-to-Float">Type.Coercio
3b80 6e 3a 20 49 6e 74 20 74 6f 20 46 6c 6f 61 74 3c 2f 61 3e 3c 2f 6c 69 3e 0a 20 20 20 20 20 20 20 n:.Int.to.Float</a></li>........
3ba0 20 20 20 20 20 20 20 20 20 3c 6c 69 3e 3c 61 20 69 64 3d 22 74 6f 63 2d 54 79 70 65 2d 43 6f 65 .........<li><a.id="toc-Type-Coe
3bc0 72 63 69 6f 6e 2d 46 6c 6f 61 74 2d 74 6f 2d 49 6e 74 22 20 68 72 65 66 3d 22 69 6e 64 65 78 2e rcion-Float-to-Int".href="index.
3be0 78 68 74 6d 6c 23 54 79 70 65 2d 43 6f 65 72 63 69 6f 6e 2d 46 6c 6f 61 74 2d 74 6f 2d 49 6e 74 xhtml#Type-Coercion-Float-to-Int
3c00 22 3e 54 79 70 65 20 43 6f 65 72 63 69 6f 6e 3a 20 46 6c 6f 61 74 20 74 6f 20 49 6e 74 3c 2f 61 ">Type.Coercion:.Float.to.Int</a
3c20 3e 3c 2f 6c 69 3e 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 3c 6c 69 3e 3c 61 20 69 64 ></li>.................<li><a.id
3c40 3d 22 74 6f 63 2d 54 79 70 65 2d 43 6f 65 72 63 69 6f 6e 2d 53 6c 69 63 65 73 2d 41 72 72 61 79 ="toc-Type-Coercion-Slices-Array
3c60 73 2d 61 6e 64 2d 50 6f 69 6e 74 65 72 73 22 20 68 72 65 66 3d 22 69 6e 64 65 78 2e 78 68 74 6d s-and-Pointers".href="index.xhtm
3c80 6c 23 54 79 70 65 2d 43 6f 65 72 63 69 6f 6e 2d 53 6c 69 63 65 73 2d 41 72 72 61 79 73 2d 61 6e l#Type-Coercion-Slices-Arrays-an
3ca0 64 2d 50 6f 69 6e 74 65 72 73 22 3e 54 79 70 65 20 43 6f 65 72 63 69 6f 6e 3a 20 53 6c 69 63 65 d-Pointers">Type.Coercion:.Slice
3cc0 73 2c 20 41 72 72 61 79 73 20 61 6e 64 20 50 6f 69 6e 74 65 72 73 3c 2f 61 3e 3c 2f 6c 69 3e 0a s,.Arrays.and.Pointers</a></li>.
3ce0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 3c 6c 69 3e 3c 61 20 69 64 3d 22 74 6f 63 2d 54 ................<li><a.id="toc-T
3d00 79 70 65 2d 43 6f 65 72 63 69 6f 6e 2d 4f 70 74 69 6f 6e 61 6c 73 22 20 68 72 65 66 3d 22 69 6e ype-Coercion-Optionals".href="in
3d20 64 65 78 2e 78 68 74 6d 6c 23 54 79 70 65 2d 43 6f 65 72 63 69 6f 6e 2d 4f 70 74 69 6f 6e 61 6c dex.xhtml#Type-Coercion-Optional
3d40 73 22 3e 54 79 70 65 20 43 6f 65 72 63 69 6f 6e 3a 20 4f 70 74 69 6f 6e 61 6c 73 3c 2f 61 3e 3c s">Type.Coercion:.Optionals</a><
3d60 2f 6c 69 3e 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 3c 6c 69 3e 3c 61 20 69 64 3d 22 /li>.................<li><a.id="
3d80 74 6f 63 2d 54 79 70 65 2d 43 6f 65 72 63 69 6f 6e 2d 45 72 72 6f 72 2d 55 6e 69 6f 6e 73 22 20 toc-Type-Coercion-Error-Unions".
3da0 68 72 65 66 3d 22 69 6e 64 65 78 2e 78 68 74 6d 6c 23 54 79 70 65 2d 43 6f 65 72 63 69 6f 6e 2d href="index.xhtml#Type-Coercion-
3dc0 45 72 72 6f 72 2d 55 6e 69 6f 6e 73 22 3e 54 79 70 65 20 43 6f 65 72 63 69 6f 6e 3a 20 45 72 72 Error-Unions">Type.Coercion:.Err
3de0 6f 72 20 55 6e 69 6f 6e 73 3c 2f 61 3e 3c 2f 6c 69 3e 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 or.Unions</a></li>..............
3e00 20 20 20 3c 6c 69 3e 3c 61 20 69 64 3d 22 74 6f 63 2d 54 79 70 65 2d 43 6f 65 72 63 69 6f 6e 2d ...<li><a.id="toc-Type-Coercion-
3e20 43 6f 6d 70 69 6c 65 2d 54 69 6d 65 2d 4b 6e 6f 77 6e 2d 4e 75 6d 62 65 72 73 22 20 68 72 65 66 Compile-Time-Known-Numbers".href
3e40 3d 22 69 6e 64 65 78 2e 78 68 74 6d 6c 23 54 79 70 65 2d 43 6f 65 72 63 69 6f 6e 2d 43 6f 6d 70 ="index.xhtml#Type-Coercion-Comp
3e60 69 6c 65 2d 54 69 6d 65 2d 4b 6e 6f 77 6e 2d 4e 75 6d 62 65 72 73 22 3e 54 79 70 65 20 43 6f 65 ile-Time-Known-Numbers">Type.Coe
3e80 72 63 69 6f 6e 3a 20 43 6f 6d 70 69 6c 65 2d 54 69 6d 65 20 4b 6e 6f 77 6e 20 4e 75 6d 62 65 72 rcion:.Compile-Time.Known.Number
3ea0 73 3c 2f 61 3e 3c 2f 6c 69 3e 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 3c 6c 69 3e 3c s</a></li>.................<li><
3ec0 61 20 69 64 3d 22 74 6f 63 2d 54 79 70 65 2d 43 6f 65 72 63 69 6f 6e 2d 55 6e 69 6f 6e 73 2d 61 a.id="toc-Type-Coercion-Unions-a
3ee0 6e 64 2d 45 6e 75 6d 73 22 20 68 72 65 66 3d 22 69 6e 64 65 78 2e 78 68 74 6d 6c 23 54 79 70 65 nd-Enums".href="index.xhtml#Type
3f00 2d 43 6f 65 72 63 69 6f 6e 2d 55 6e 69 6f 6e 73 2d 61 6e 64 2d 45 6e 75 6d 73 22 3e 54 79 70 65 -Coercion-Unions-and-Enums">Type
3f20 20 43 6f 65 72 63 69 6f 6e 3a 20 55 6e 69 6f 6e 73 20 61 6e 64 20 45 6e 75 6d 73 3c 2f 61 3e 3c .Coercion:.Unions.and.Enums</a><
3f40 2f 6c 69 3e 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 3c 6c 69 3e 3c 61 20 69 64 3d 22 /li>.................<li><a.id="
3f60 74 6f 63 2d 54 79 70 65 2d 43 6f 65 72 63 69 6f 6e 2d 75 6e 64 65 66 69 6e 65 64 22 20 68 72 65 toc-Type-Coercion-undefined".hre
3f80 66 3d 22 69 6e 64 65 78 2e 78 68 74 6d 6c 23 54 79 70 65 2d 43 6f 65 72 63 69 6f 6e 2d 75 6e 64 f="index.xhtml#Type-Coercion-und
3fa0 65 66 69 6e 65 64 22 3e 54 79 70 65 20 43 6f 65 72 63 69 6f 6e 3a 20 75 6e 64 65 66 69 6e 65 64 efined">Type.Coercion:.undefined
3fc0 3c 2f 61 3e 3c 2f 6c 69 3e 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 3c 6c 69 3e 3c 61 </a></li>.................<li><a
3fe0 20 69 64 3d 22 74 6f 63 2d 54 79 70 65 2d 43 6f 65 72 63 69 6f 6e 2d 54 75 70 6c 65 73 2d 74 6f .id="toc-Type-Coercion-Tuples-to
4000 2d 41 72 72 61 79 73 22 20 68 72 65 66 3d 22 69 6e 64 65 78 2e 78 68 74 6d 6c 23 54 79 70 65 2d -Arrays".href="index.xhtml#Type-
4020 43 6f 65 72 63 69 6f 6e 2d 54 75 70 6c 65 73 2d 74 6f 2d 41 72 72 61 79 73 22 3e 54 79 70 65 20 Coercion-Tuples-to-Arrays">Type.
4040 43 6f 65 72 63 69 6f 6e 3a 20 54 75 70 6c 65 73 20 74 6f 20 41 72 72 61 79 73 3c 2f 61 3e 3c 2f Coercion:.Tuples.to.Arrays</a></
4060 6c 69 3e 0a 20 20 20 20 20 20 20 20 20 20 20 20 3c 2f 6f 6c 3e 3c 2f 6c 69 3e 0a 20 20 20 20 20 li>.............</ol></li>......
4080 20 20 20 20 20 20 20 3c 6c 69 3e 3c 61 20 69 64 3d 22 74 6f 63 2d 45 78 70 6c 69 63 69 74 2d 43 .......<li><a.id="toc-Explicit-C
40a0 61 73 74 73 22 20 68 72 65 66 3d 22 69 6e 64 65 78 2e 78 68 74 6d 6c 23 45 78 70 6c 69 63 69 74 asts".href="index.xhtml#Explicit
40c0 2d 43 61 73 74 73 22 3e 45 78 70 6c 69 63 69 74 20 43 61 73 74 73 3c 2f 61 3e 3c 2f 6c 69 3e 0a -Casts">Explicit.Casts</a></li>.
40e0 20 20 20 20 20 20 20 20 20 20 20 20 3c 6c 69 3e 3c 61 20 69 64 3d 22 74 6f 63 2d 50 65 65 72 2d ............<li><a.id="toc-Peer-
4100 54 79 70 65 2d 52 65 73 6f 6c 75 74 69 6f 6e 22 20 68 72 65 66 3d 22 69 6e 64 65 78 2e 78 68 74 Type-Resolution".href="index.xht
4120 6d 6c 23 50 65 65 72 2d 54 79 70 65 2d 52 65 73 6f 6c 75 74 69 6f 6e 22 3e 50 65 65 72 20 54 79 ml#Peer-Type-Resolution">Peer.Ty
4140 70 65 20 52 65 73 6f 6c 75 74 69 6f 6e 3c 2f 61 3e 3c 2f 6c 69 3e 0a 20 20 20 20 20 20 20 20 3c pe.Resolution</a></li>.........<
4160 2f 6f 6c 3e 3c 2f 6c 69 3e 0a 20 20 20 20 20 20 20 20 3c 6c 69 3e 3c 61 20 69 64 3d 22 74 6f 63 /ol></li>.........<li><a.id="toc
4180 2d 5a 65 72 6f 2d 42 69 74 2d 54 79 70 65 73 22 20 68 72 65 66 3d 22 69 6e 64 65 78 2e 78 68 74 -Zero-Bit-Types".href="index.xht
41a0 6d 6c 23 5a 65 72 6f 2d 42 69 74 2d 54 79 70 65 73 22 3e 5a 65 72 6f 20 42 69 74 20 54 79 70 65 ml#Zero-Bit-Types">Zero.Bit.Type
41c0 73 3c 2f 61 3e 0a 20 20 20 20 20 20 20 20 3c 6f 6c 3e 0a 20 20 20 20 20 20 20 20 20 20 20 20 3c s</a>.........<ol>.............<
41e0 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 78 2e li><a.id="toc-void".href="index.
4200 78 68 74 6d 6c 23 76 6f 69 64 22 3e 76 6f 69 64 3c 2f 61 3e 3c 2f 6c 69 3e 0a 20 20 20 20 20 20 xhtml#void">void</a></li>.......
4220 20 20 3c 2f 6f 6c 3e 3c 2f 6c 69 3e 0a 20 20 20 20 20 20 20 20 3c 6c 69 3e 3c 61 20 69 64 3d 22 ..</ol></li>.........<li><a.id="
4240 74 6f 63 2d 52 65 73 75 6c 74 2d 4c 6f 63 61 74 69 6f 6e 2d 53 65 6d 61 6e 74 69 63 73 22 20 68 toc-Result-Location-Semantics".h
4260 72 65 66 3d 22 69 6e 64 65 78 2e 78 68 74 6d 6c 23 52 65 73 75 6c 74 2d 4c 6f 63 61 74 69 6f 6e ref="index.xhtml#Result-Location
4280 2d 53 65 6d 61 6e 74 69 63 73 22 3e 52 65 73 75 6c 74 20 4c 6f 63 61 74 69 6f 6e 20 53 65 6d 61 -Semantics">Result.Location.Sema
42a0 6e 74 69 63 73 3c 2f 61 3e 0a 20 20 20 20 20 20 20 20 3c 6f 6c 3e 0a 20 20 20 20 20 20 20 20 20 ntics</a>.........<ol>..........
42c0 20 20 20 3c 6c 69 3e 3c 61 20 69 64 3d 22 74 6f 63 2d 52 65 73 75 6c 74 2d 54 79 70 65 73 22 20 ...<li><a.id="toc-Result-Types".
42e0 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 54 79 70 65 73 22 3e href="index.xhtml#Result-Types">
4300 52 65 73 75 6c 74 20 54 79 70 65 73 3c 2f 61 3e 3c 2f 6c 69 3e 0a 20 20 20 20 20 20 20 20 20 20 Result.Types</a></li>...........
4320 20 20 3c 6c 69 3e 3c 61 20 69 64 3d 22 74 6f 63 2d 52 65 73 75 6c 74 2d 4c 6f 63 61 74 69 6f 6e ..<li><a.id="toc-Result-Location
4340 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
4360 74 69 6f 6e 73 22 3e 52 65 73 75 6c 74 20 4c 6f 63 61 74 69 6f 6e 73 3c 2f 61 3e 3c 2f 6c 69 3e tions">Result.Locations</a></li>
4380 0a 20 20 20 20 20 20 20 20 3c 2f 6f 6c 3e 3c 2f 6c 69 3e 0a 20 20 20 20 20 20 20 20 3c 6c 69 3e .........</ol></li>.........<li>
43a0 3c 61 20 69 64 3d 22 74 6f 63 2d 63 6f 6d 70 74 69 6d 65 22 20 68 72 65 66 3d 22 69 6e 64 65 78 <a.id="toc-comptime".href="index
43c0 2e 78 68 74 6d 6c 23 63 6f 6d 70 74 69 6d 65 22 3e 63 6f 6d 70 74 69 6d 65 3c 2f 61 3e 0a 20 20 .xhtml#comptime">comptime</a>...
43e0 20 20 20 20 20 20 3c 6f 6c 3e 0a 20 20 20 20 20 20 20 20 20 20 20 20 3c 6c 69 3e 3c 61 20 69 64 ......<ol>.............<li><a.id
4400 3d 22 74 6f 63 2d 49 6e 74 72 6f 64 75 63 69 6e 67 2d 74 68 65 2d 43 6f 6d 70 69 6c 65 2d 54 69 ="toc-Introducing-the-Compile-Ti
4420 6d 65 2d 43 6f 6e 63 65 70 74 22 20 68 72 65 66 3d 22 69 6e 64 65 78 2e 78 68 74 6d 6c 23 49 6e me-Concept".href="index.xhtml#In
4440 74 72 6f 64 75 63 69 6e 67 2d 74 68 65 2d 43 6f 6d 70 69 6c 65 2d 54 69 6d 65 2d 43 6f 6e 63 65 troducing-the-Compile-Time-Conce
4460 70 74 22 3e 49 6e 74 72 6f 64 75 63 69 6e 67 20 74 68 65 20 43 6f 6d 70 69 6c 65 2d 54 69 6d 65 pt">Introducing.the.Compile-Time
4480 20 43 6f 6e 63 65 70 74 3c 2f 61 3e 0a 20 20 20 20 20 20 20 20 20 20 20 20 3c 6f 6c 3e 0a 20 20 .Concept</a>.............<ol>...
44a0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 3c 6c 69 3e 3c 61 20 69 64 3d 22 74 6f 63 2d 43 6f 6d ..............<li><a.id="toc-Com
44c0 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
44e0 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"
4500 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
4520 3e 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 3c 6c 69 3e 3c 61 20 69 64 3d 22 74 6f 63 >.................<li><a.id="toc
4540 2d 43 6f 6d 70 69 6c 65 2d 54 69 6d 65 2d 56 61 72 69 61 62 6c 65 73 22 20 68 72 65 66 3d 22 69 -Compile-Time-Variables".href="i
4560 6e 64 65 78 2e 78 68 74 6d 6c 23 43 6f 6d 70 69 6c 65 2d 54 69 6d 65 2d 56 61 72 69 61 62 6c 65 ndex.xhtml#Compile-Time-Variable
4580 73 22 3e 43 6f 6d 70 69 6c 65 2d 54 69 6d 65 20 56 61 72 69 61 62 6c 65 73 3c 2f 61 3e 3c 2f 6c s">Compile-Time.Variables</a></l
45a0 69 3e 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 3c 6c 69 3e 3c 61 20 69 64 3d 22 74 6f i>.................<li><a.id="to
45c0 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
45e0 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
4600 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
4620 3c 2f 61 3e 3c 2f 6c 69 3e 0a 20 20 20 20 20 20 20 20 20 20 20 20 3c 2f 6f 6c 3e 3c 2f 6c 69 3e </a></li>.............</ol></li>
4640 0a 20 20 20 20 20 20 20 20 20 20 20 20 3c 6c 69 3e 3c 61 20 69 64 3d 22 74 6f 63 2d 47 65 6e 65 .............<li><a.id="toc-Gene
4660 72 69 63 2d 44 61 74 61 2d 53 74 72 75 63 74 75 72 65 73 22 20 68 72 65 66 3d 22 69 6e 64 65 78 ric-Data-Structures".href="index
4680 2e 78 68 74 6d 6c 23 47 65 6e 65 72 69 63 2d 44 61 74 61 2d 53 74 72 75 63 74 75 72 65 73 22 3e .xhtml#Generic-Data-Structures">
46a0 47 65 6e 65 72 69 63 20 44 61 74 61 20 53 74 72 75 63 74 75 72 65 73 3c 2f 61 3e 3c 2f 6c 69 3e Generic.Data.Structures</a></li>
46c0 0a 20 20 20 20 20 20 20 20 20 20 20 20 3c 6c 69 3e 3c 61 20 69 64 3d 22 74 6f 63 2d 43 61 73 65 .............<li><a.id="toc-Case
46e0 2d 53 74 75 64 79 2d 70 72 69 6e 74 2d 69 6e 2d 5a 69 67 22 20 68 72 65 66 3d 22 69 6e 64 65 78 -Study-print-in-Zig".href="index
4700 2e 78 68 74 6d 6c 23 43 61 73 65 2d 53 74 75 64 79 2d 70 72 69 6e 74 2d 69 6e 2d 5a 69 67 22 3e .xhtml#Case-Study-print-in-Zig">
4720 43 61 73 65 20 53 74 75 64 79 3a 20 70 72 69 6e 74 20 69 6e 20 5a 69 67 3c 2f 61 3e 3c 2f 6c 69 Case.Study:.print.in.Zig</a></li
4740 3e 0a 20 20 20 20 20 20 20 20 3c 2f 6f 6c 3e 3c 2f 6c 69 3e 0a 20 20 20 20 20 20 20 20 3c 6c 69 >.........</ol></li>.........<li
4760 3e 3c 61 20 69 64 3d 22 74 6f 63 2d 41 73 73 65 6d 62 6c 79 22 20 68 72 65 66 3d 22 69 6e 64 65 ><a.id="toc-Assembly".href="inde
4780 78 2e 78 68 74 6d 6c 23 41 73 73 65 6d 62 6c 79 22 3e 41 73 73 65 6d 62 6c 79 3c 2f 61 3e 0a 20 x.xhtml#Assembly">Assembly</a>..
47a0 20 20 20 20 20 20 20 3c 6f 6c 3e 0a 20 20 20 20 20 20 20 20 20 20 20 20 3c 6c 69 3e 3c 61 20 69 .......<ol>.............<li><a.i
47c0 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 66 3d d="toc-Output-Constraints".href=
47e0 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 73 22 "index.xhtml#Output-Constraints"
4800 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 20 20 20 >Output.Constraints</a></li>....
4820 20 20 20 20 20 20 20 20 20 3c 6c 69 3e 3c 61 20 69 64 3d 22 74 6f 63 2d 49 6e 70 75 74 2d 43 6f .........<li><a.id="toc-Input-Co
4840 6e 73 74 72 61 69 6e 74 73 22 20 68 72 65 66 3d 22 69 6e 64 65 78 2e 78 68 74 6d 6c 23 49 6e 70 nstraints".href="index.xhtml#Inp
4860 75 74 2d 43 6f 6e 73 74 72 61 69 6e 74 73 22 3e 49 6e 70 75 74 20 43 6f 6e 73 74 72 61 69 6e 74 ut-Constraints">Input.Constraint
4880 73 3c 2f 61 3e 3c 2f 6c 69 3e 0a 20 20 20 20 20 20 20 20 20 20 20 20 3c 6c 69 3e 3c 61 20 69 64 s</a></li>.............<li><a.id
48a0 3d 22 74 6f 63 2d 43 6c 6f 62 62 65 72 73 22 20 68 72 65 66 3d 22 69 6e 64 65 78 2e 78 68 74 6d ="toc-Clobbers".href="index.xhtm
48c0 6c 23 43 6c 6f 62 62 65 72 73 22 3e 43 6c 6f 62 62 65 72 73 3c 2f 61 3e 3c 2f 6c 69 3e 0a 20 20 l#Clobbers">Clobbers</a></li>...
48e0 20 20 20 20 20 20 20 20 20 20 3c 6c 69 3e 3c 61 20 69 64 3d 22 74 6f 63 2d 47 6c 6f 62 61 6c 2d ..........<li><a.id="toc-Global-
4900 41 73 73 65 6d 62 6c 79 22 20 68 72 65 66 3d 22 69 6e 64 65 78 2e 78 68 74 6d 6c 23 47 6c 6f 62 Assembly".href="index.xhtml#Glob
4920 61 6c 2d 41 73 73 65 6d 62 6c 79 22 3e 47 6c 6f 62 61 6c 20 41 73 73 65 6d 62 6c 79 3c 2f 61 3e al-Assembly">Global.Assembly</a>
4940 3c 2f 6c 69 3e 0a 20 20 20 20 20 20 20 20 3c 2f 6f 6c 3e 3c 2f 6c 69 3e 0a 20 20 20 20 20 20 20 </li>.........</ol></li>........
4960 20 3c 6c 69 3e 3c 61 20 69 64 3d 22 74 6f 63 2d 41 74 6f 6d 69 63 73 22 20 68 72 65 66 3d 22 69 .<li><a.id="toc-Atomics".href="i
4980 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 61 3e 3c ndex.xhtml#Atomics">Atomics</a><
49a0 2f 6c 69 3e 0a 20 20 20 20 20 20 20 20 3c 6c 69 3e 3c 61 20 69 64 3d 22 74 6f 63 2d 41 73 79 6e /li>.........<li><a.id="toc-Asyn
49c0 63 2d 46 75 6e 63 74 69 6f 6e 73 22 20 68 72 65 66 3d 22 69 6e 64 65 78 2e 78 68 74 6d 6c 23 41 c-Functions".href="index.xhtml#A
49e0 73 79 6e 63 2d 46 75 6e 63 74 69 6f 6e 73 22 3e 41 73 79 6e 63 20 46 75 6e 63 74 69 6f 6e 73 3c sync-Functions">Async.Functions<
4a00 2f 61 3e 3c 2f 6c 69 3e 0a 20 20 20 20 20 20 20 20 3c 6c 69 3e 3c 61 20 69 64 3d 22 74 6f 63 2d /a></li>.........<li><a.id="toc-
4a20 42 75 69 6c 74 69 6e 2d 46 75 6e 63 74 69 6f 6e 73 22 20 68 72 65 66 3d 22 69 6e 64 65 78 2e 78 Builtin-Functions".href="index.x
4a40 68 74 6d 6c 23 42 75 69 6c 74 69 6e 2d 46 75 6e 63 74 69 6f 6e 73 22 3e 42 75 69 6c 74 69 6e 20 html#Builtin-Functions">Builtin.
4a60 46 75 6e 63 74 69 6f 6e 73 3c 2f 61 3e 0a 20 20 20 20 20 20 20 20 3c 6f 6c 20 73 74 79 6c 65 3d Functions</a>.........<ol.style=
4a80 22 63 6f 6c 75 6d 6e 73 3a 20 32 22 3e 0a 20 20 20 20 20 20 20 20 20 20 20 20 3c 6c 69 3e 3c 61 "columns:.2">.............<li><a
4aa0 20 69 64 3d 22 74 6f 63 2d 61 64 64 72 53 70 61 63 65 43 61 73 74 22 20 68 72 65 66 3d 22 69 6e .id="toc-addrSpaceCast".href="in
4ac0 64 65 78 2e 78 68 74 6d 6c 23 61 64 64 72 53 70 61 63 65 43 61 73 74 22 3e 40 61 64 64 72 53 70 dex.xhtml#addrSpaceCast">@addrSp
4ae0 61 63 65 43 61 73 74 3c 2f 61 3e 3c 2f 6c 69 3e 0a 20 20 20 20 20 20 20 20 20 20 20 20 3c 6c 69 aceCast</a></li>.............<li
4b00 3e 3c 61 20 69 64 3d 22 74 6f 63 2d 61 64 64 57 69 74 68 4f 76 65 72 66 6c 6f 77 22 20 68 72 65 ><a.id="toc-addWithOverflow".hre
4b20 66 3d 22 69 6e 64 65 78 2e 78 68 74 6d 6c 23 61 64 64 57 69 74 68 4f 76 65 72 66 6c 6f 77 22 3e f="index.xhtml#addWithOverflow">
4b40 40 61 64 64 57 69 74 68 4f 76 65 72 66 6c 6f 77 3c 2f 61 3e 3c 2f 6c 69 3e 0a 20 20 20 20 20 20 @addWithOverflow</a></li>.......
4b60 20 20 20 20 20 20 3c 6c 69 3e 3c 61 20 69 64 3d 22 74 6f 63 2d 61 6c 69 67 6e 43 61 73 74 22 20 ......<li><a.id="toc-alignCast".
4b80 68 72 65 66 3d 22 69 6e 64 65 78 2e 78 68 74 6d 6c 23 61 6c 69 67 6e 43 61 73 74 22 3e 40 61 6c href="index.xhtml#alignCast">@al
4ba0 69 67 6e 43 61 73 74 3c 2f 61 3e 3c 2f 6c 69 3e 0a 20 20 20 20 20 20 20 20 20 20 20 20 3c 6c 69 ignCast</a></li>.............<li
4bc0 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 22 69 6e 64 65 78 ><a.id="toc-alignOf".href="index
4be0 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 61 3e 3c 2f 6c 69 .xhtml#alignOf">@alignOf</a></li
4c00 3e 0a 20 20 20 20 20 20 20 20 20 20 20 20 3c 6c 69 3e 3c 61 20 69 64 3d 22 74 6f 63 2d 61 73 22 >.............<li><a.id="toc-as"
4c20 20 68 72 65 66 3d 22 69 6e 64 65 78 2e 78 68 74 6d 6c 23 61 73 22 3e 40 61 73 3c 2f 61 3e 3c 2f .href="index.xhtml#as">@as</a></
4c40 6c 69 3e 0a 20 20 20 20 20 20 20 20 20 20 20 20 3c 6c 69 3e 3c 61 20 69 64 3d 22 74 6f 63 2d 61 li>.............<li><a.id="toc-a
4c60 74 6f 6d 69 63 4c 6f 61 64 22 20 68 72 65 66 3d 22 69 6e 64 65 78 2e 78 68 74 6d 6c 23 61 74 6f tomicLoad".href="index.xhtml#ato
4c80 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 20 20 micLoad">@atomicLoad</a></li>...
4ca0 20 20 20 20 20 20 20 20 20 20 3c 6c 69 3e 3c 61 20 69 64 3d 22 74 6f 63 2d 61 74 6f 6d 69 63 52 ..........<li><a.id="toc-atomicR
4cc0 6d 77 22 20 68 72 65 66 3d 22 69 6e 64 65 78 2e 78 68 74 6d 6c 23 61 74 6f 6d 69 63 52 6d 77 22 mw".href="index.xhtml#atomicRmw"
4ce0 3e 40 61 74 6f 6d 69 63 52 6d 77 3c 2f 61 3e 3c 2f 6c 69 3e 0a 20 20 20 20 20 20 20 20 20 20 20 >@atomicRmw</a></li>............
4d00 20 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 65 .<li><a.id="toc-atomicStore".hre
4d20 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 6f f="index.xhtml#atomicStore">@ato
4d40 6d 69 63 53 74 6f 72 65 3c 2f 61 3e 3c 2f 6c 69 3e 0a 20 20 20 20 20 20 20 20 20 20 20 20 3c 6c micStore</a></li>.............<l
4d60 69 3e 3c 61 20 69 64 3d 22 74 6f 63 2d 62 69 74 43 61 73 74 22 20 68 72 65 66 3d 22 69 6e 64 65 i><a.id="toc-bitCast".href="inde
4d80 78 2e 78 68 74 6d 6c 23 62 69 74 43 61 73 74 22 3e 40 62 69 74 43 61 73 74 3c 2f 61 3e 3c 2f 6c x.xhtml#bitCast">@bitCast</a></l
4da0 69 3e 0a 20 20 20 20 20 20 20 20 20 20 20 20 3c 6c 69 3e 3c 61 20 69 64 3d 22 74 6f 63 2d 62 69 i>.............<li><a.id="toc-bi
4dc0 74 4f 66 66 73 65 74 4f 66 22 20 68 72 65 66 3d 22 69 6e 64 65 78 2e 78 68 74 6d 6c 23 62 69 74 tOffsetOf".href="index.xhtml#bit
4de0 4f 66 66 73 65 74 4f 66 22 3e 40 62 69 74 4f 66 66 73 65 74 4f 66 3c 2f 61 3e 3c 2f 6c 69 3e 0a OffsetOf">@bitOffsetOf</a></li>.
4e00 20 20 20 20 20 20 20 20 20 20 20 20 3c 6c 69 3e 3c 61 20 69 64 3d 22 74 6f 63 2d 62 69 74 53 69 ............<li><a.id="toc-bitSi
4e20 7a 65 4f 66 22 20 68 72 65 66 3d 22 69 6e 64 65 78 2e 78 68 74 6d 6c 23 62 69 74 53 69 7a 65 4f zeOf".href="index.xhtml#bitSizeO
4e40 66 22 3e 40 62 69 74 53 69 7a 65 4f 66 3c 2f 61 3e 3c 2f 6c 69 3e 0a 20 20 20 20 20 20 20 20 20 f">@bitSizeOf</a></li>..........
4e60 20 20 20 3c 6c 69 3e 3c 61 20 69 64 3d 22 74 6f 63 2d 62 72 61 6e 63 68 48 69 6e 74 22 20 68 72 ...<li><a.id="toc-branchHint".hr
4e80 65 66 3d 22 69 6e 64 65 78 2e 78 68 74 6d 6c 23 62 72 61 6e 63 68 48 69 6e 74 22 3e 40 62 72 61 ef="index.xhtml#branchHint">@bra
4ea0 6e 63 68 48 69 6e 74 3c 2f 61 3e 3c 2f 6c 69 3e 0a 20 20 20 20 20 20 20 20 20 20 20 20 3c 6c 69 nchHint</a></li>.............<li
4ec0 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 69 6e ><a.id="toc-breakpoint".href="in
4ee0 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 69 6e dex.xhtml#breakpoint">@breakpoin
4f00 74 3c 2f 61 3e 3c 2f 6c 69 3e 0a 20 20 20 20 20 20 20 20 20 20 20 20 3c 6c 69 3e 3c 61 20 69 64 t</a></li>.............<li><a.id
4f20 3d 22 74 6f 63 2d 6d 75 6c 41 64 64 22 20 68 72 65 66 3d 22 69 6e 64 65 78 2e 78 68 74 6d 6c 23 ="toc-mulAdd".href="index.xhtml#
4f40 6d 75 6c 41 64 64 22 3e 40 6d 75 6c 41 64 64 3c 2f 61 3e 3c 2f 6c 69 3e 0a 20 20 20 20 20 20 20 mulAdd">@mulAdd</a></li>........
4f60 20 20 20 20 20 3c 6c 69 3e 3c 61 20 69 64 3d 22 74 6f 63 2d 62 79 74 65 53 77 61 70 22 20 68 72 .....<li><a.id="toc-byteSwap".hr
4f80 65 66 3d 22 69 6e 64 65 78 2e 78 68 74 6d 6c 23 62 79 74 65 53 77 61 70 22 3e 40 62 79 74 65 53 ef="index.xhtml#byteSwap">@byteS
4fa0 77 61 70 3c 2f 61 3e 3c 2f 6c 69 3e 0a 20 20 20 20 20 20 20 20 20 20 20 20 3c 6c 69 3e 3c 61 20 wap</a></li>.............<li><a.
4fc0 69 64 3d 22 74 6f 63 2d 62 69 74 52 65 76 65 72 73 65 22 20 68 72 65 66 3d 22 69 6e 64 65 78 2e id="toc-bitReverse".href="index.
4fe0 78 68 74 6d 6c 23 62 69 74 52 65 76 65 72 73 65 22 3e 40 62 69 74 52 65 76 65 72 73 65 3c 2f 61 xhtml#bitReverse">@bitReverse</a
5000 3e 3c 2f 6c 69 3e 0a 20 20 20 20 20 20 20 20 20 20 20 20 3c 6c 69 3e 3c 61 20 69 64 3d 22 74 6f ></li>.............<li><a.id="to
5020 63 2d 6f 66 66 73 65 74 4f 66 22 20 68 72 65 66 3d 22 69 6e 64 65 78 2e 78 68 74 6d 6c 23 6f 66 c-offsetOf".href="index.xhtml#of
5040 66 73 65 74 4f 66 22 3e 40 6f 66 66 73 65 74 4f 66 3c 2f 61 3e 3c 2f 6c 69 3e 0a 20 20 20 20 20 fsetOf">@offsetOf</a></li>......
5060 20 20 20 20 20 20 20 3c 6c 69 3e 3c 61 20 69 64 3d 22 74 6f 63 2d 63 61 6c 6c 22 20 68 72 65 66 .......<li><a.id="toc-call".href
5080 3d 22 69 6e 64 65 78 2e 78 68 74 6d 6c 23 63 61 6c 6c 22 3e 40 63 61 6c 6c 3c 2f 61 3e 3c 2f 6c ="index.xhtml#call">@call</a></l
50a0 69 3e 0a 20 20 20 20 20 20 20 20 20 20 20 20 3c 6c 69 3e 3c 61 20 69 64 3d 22 74 6f 63 2d 63 6c i>.............<li><a.id="toc-cl
50c0 7a 22 20 68 72 65 66 3d 22 69 6e 64 65 78 2e 78 68 74 6d 6c 23 63 6c 7a 22 3e 40 63 6c 7a 3c 2f z".href="index.xhtml#clz">@clz</
50e0 61 3e 3c 2f 6c 69 3e 0a 20 20 20 20 20 20 20 20 20 20 20 20 3c 6c 69 3e 3c 61 20 69 64 3d 22 74 a></li>.............<li><a.id="t
5100 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
5120 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
5140 67 3c 2f 61 3e 3c 2f 6c 69 3e 0a 20 20 20 20 20 20 20 20 20 20 20 20 3c 6c 69 3e 3c 61 20 69 64 g</a></li>.............<li><a.id
5160 3d 22 74 6f 63 2d 63 6d 70 78 63 68 67 57 65 61 6b 22 20 68 72 65 66 3d 22 69 6e 64 65 78 2e 78 ="toc-cmpxchgWeak".href="index.x
5180 68 74 6d 6c 23 63 6d 70 78 63 68 67 57 65 61 6b 22 3e 40 63 6d 70 78 63 68 67 57 65 61 6b 3c 2f html#cmpxchgWeak">@cmpxchgWeak</
51a0 61 3e 3c 2f 6c 69 3e 0a 20 20 20 20 20 20 20 20 20 20 20 20 3c 6c 69 3e 3c 61 20 69 64 3d 22 74 a></li>.............<li><a.id="t
51c0 6f 63 2d 63 6f 6d 70 69 6c 65 45 72 72 6f 72 22 20 68 72 65 66 3d 22 69 6e 64 65 78 2e 78 68 74 oc-compileError".href="index.xht
51e0 6d 6c 23 63 6f 6d 70 69 6c 65 45 72 72 6f 72 22 3e 40 63 6f 6d 70 69 6c 65 45 72 72 6f 72 3c 2f ml#compileError">@compileError</
5200 61 3e 3c 2f 6c 69 3e 0a 20 20 20 20 20 20 20 20 20 20 20 20 3c 6c 69 3e 3c 61 20 69 64 3d 22 74 a></li>.............<li><a.id="t
5220 6f 63 2d 63 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 oc-compileLog".href="index.xhtml
5240 23 63 6f 6d 70 69 6c 65 4c 6f 67 22 3e 40 63 6f 6d 70 69 6c 65 4c 6f 67 3c 2f 61 3e 3c 2f 6c 69 #compileLog">@compileLog</a></li
5260 3e 0a 20 20 20 20 20 20 20 20 20 20 20 20 3c 6c 69 3e 3c 61 20 69 64 3d 22 74 6f 63 2d 63 6f 6e >.............<li><a.id="toc-con
5280 73 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 63 6f 6e 73 74 43 stCast".href="index.xhtml#constC
52a0 61 73 74 22 3e 40 63 6f 6e 73 74 43 61 73 74 3c 2f 61 3e 3c 2f 6c 69 3e 0a 20 20 20 20 20 20 20 ast">@constCast</a></li>........
52c0 20 20 20 20 20 3c 6c 69 3e 3c 61 20 69 64 3d 22 74 6f 63 2d 63 74 7a 22 20 68 72 65 66 3d 22 69 .....<li><a.id="toc-ctz".href="i
52e0 6e 64 65 78 2e 78 68 74 6d 6c 23 63 74 7a 22 3e 40 63 74 7a 3c 2f 61 3e 3c 2f 6c 69 3e 0a 20 20 ndex.xhtml#ctz">@ctz</a></li>...
5300 20 20 20 20 20 20 20 20 20 20 3c 6c 69 3e 3c 61 20 69 64 3d 22 74 6f 63 2d 63 56 61 41 72 67 22 ..........<li><a.id="toc-cVaArg"
5320 20 68 72 65 66 3d 22 69 6e 64 65 78 2e 78 68 74 6d 6c 23 63 56 61 41 72 67 22 3e 40 63 56 61 41 .href="index.xhtml#cVaArg">@cVaA
5340 72 67 3c 2f 61 3e 3c 2f 6c 69 3e 0a 20 20 20 20 20 20 20 20 20 20 20 20 3c 6c 69 3e 3c 61 20 69 rg</a></li>.............<li><a.i
5360 64 3d 22 74 6f 63 2d 63 56 61 43 6f 70 79 22 20 68 72 65 66 3d 22 69 6e 64 65 78 2e 78 68 74 6d d="toc-cVaCopy".href="index.xhtm
5380 6c 23 63 56 61 43 6f 70 79 22 3e 40 63 56 61 43 6f 70 79 3c 2f 61 3e 3c 2f 6c 69 3e 0a 20 20 20 l#cVaCopy">@cVaCopy</a></li>....
53a0 20 20 20 20 20 20 20 20 20 3c 6c 69 3e 3c 61 20 69 64 3d 22 74 6f 63 2d 63 56 61 45 6e 64 22 20 .........<li><a.id="toc-cVaEnd".
53c0 68 72 65 66 3d 22 69 6e 64 65 78 2e 78 68 74 6d 6c 23 63 56 61 45 6e 64 22 3e 40 63 56 61 45 6e href="index.xhtml#cVaEnd">@cVaEn
53e0 64 3c 2f 61 3e 3c 2f 6c 69 3e 0a 20 20 20 20 20 20 20 20 20 20 20 20 3c 6c 69 3e 3c 61 20 69 64 d</a></li>.............<li><a.id
5400 3d 22 74 6f 63 2d 63 56 61 53 74 61 72 74 22 20 68 72 65 66 3d 22 69 6e 64 65 78 2e 78 68 74 6d ="toc-cVaStart".href="index.xhtm
5420 6c 23 63 56 61 53 74 61 72 74 22 3e 40 63 56 61 53 74 61 72 74 3c 2f 61 3e 3c 2f 6c 69 3e 0a 20 l#cVaStart">@cVaStart</a></li>..
5440 20 20 20 20 20 20 20 20 20 20 20 3c 6c 69 3e 3c 61 20 69 64 3d 22 74 6f 63 2d 64 69 76 45 78 61 ...........<li><a.id="toc-divExa
5460 63 74 22 20 68 72 65 66 3d 22 69 6e 64 65 78 2e 78 68 74 6d 6c 23 64 69 76 45 78 61 63 74 22 3e ct".href="index.xhtml#divExact">
5480 40 64 69 76 45 78 61 63 74 3c 2f 61 3e 3c 2f 6c 69 3e 0a 20 20 20 20 20 20 20 20 20 20 20 20 3c @divExact</a></li>.............<
54a0 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 69 6e li><a.id="toc-divFloor".href="in
54c0 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 2f 61 dex.xhtml#divFloor">@divFloor</a
54e0 3e 3c 2f 6c 69 3e 0a 20 20 20 20 20 20 20 20 20 20 20 20 3c 6c 69 3e 3c 61 20 69 64 3d 22 74 6f ></li>.............<li><a.id="to
5500 63 2d 64 69 76 54 72 75 6e 63 22 20 68 72 65 66 3d 22 69 6e 64 65 78 2e 78 68 74 6d 6c 23 64 69 c-divTrunc".href="index.xhtml#di
5520 76 54 72 75 6e 63 22 3e 40 64 69 76 54 72 75 6e 63 3c 2f 61 3e 3c 2f 6c 69 3e 0a 20 20 20 20 20 vTrunc">@divTrunc</a></li>......
5540 20 20 20 20 20 20 20 3c 6c 69 3e 3c 61 20 69 64 3d 22 74 6f 63 2d 65 6d 62 65 64 46 69 6c 65 22 .......<li><a.id="toc-embedFile"
5560 20 68 72 65 66 3d 22 69 6e 64 65 78 2e 78 68 74 6d 6c 23 65 6d 62 65 64 46 69 6c 65 22 3e 40 65 .href="index.xhtml#embedFile">@e
5580 6d 62 65 64 46 69 6c 65 3c 2f 61 3e 3c 2f 6c 69 3e 0a 20 20 20 20 20 20 20 20 20 20 20 20 3c 6c mbedFile</a></li>.............<l
55a0 69 3e 3c 61 20 69 64 3d 22 74 6f 63 2d 65 6e 75 6d 46 72 6f 6d 49 6e 74 22 20 68 72 65 66 3d 22 i><a.id="toc-enumFromInt".href="
55c0 69 6e 64 65 78 2e 78 68 74 6d 6c 23 65 6e 75 6d 46 72 6f 6d 49 6e 74 22 3e 40 65 6e 75 6d 46 72 index.xhtml#enumFromInt">@enumFr
55e0 6f 6d 49 6e 74 3c 2f 61 3e 3c 2f 6c 69 3e 0a 20 20 20 20 20 20 20 20 20 20 20 20 3c 6c 69 3e 3c omInt</a></li>.............<li><
5600 61 20 69 64 3d 22 74 6f 63 2d 65 72 72 6f 72 46 72 6f 6d 49 6e 74 22 20 68 72 65 66 3d 22 69 6e a.id="toc-errorFromInt".href="in
5620 64 65 78 2e 78 68 74 6d 6c 23 65 72 72 6f 72 46 72 6f 6d 49 6e 74 22 3e 40 65 72 72 6f 72 46 72 dex.xhtml#errorFromInt">@errorFr
5640 6f 6d 49 6e 74 3c 2f 61 3e 3c 2f 6c 69 3e 0a 20 20 20 20 20 20 20 20 20 20 20 20 3c 6c 69 3e 3c omInt</a></li>.............<li><
5660 61 20 69 64 3d 22 74 6f 63 2d 65 72 72 6f 72 4e 61 6d 65 22 20 68 72 65 66 3d 22 69 6e 64 65 78 a.id="toc-errorName".href="index
5680 2e 78 68 74 6d 6c 23 65 72 72 6f 72 4e 61 6d 65 22 3e 40 65 72 72 6f 72 4e 61 6d 65 3c 2f 61 3e .xhtml#errorName">@errorName</a>
56a0 3c 2f 6c 69 3e 0a 20 20 20 20 20 20 20 20 20 20 20 20 3c 6c 69 3e 3c 61 20 69 64 3d 22 74 6f 63 </li>.............<li><a.id="toc
56c0 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
56e0 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
5700 75 72 6e 54 72 61 63 65 3c 2f 61 3e 3c 2f 6c 69 3e 0a 20 20 20 20 20 20 20 20 20 20 20 20 3c 6c urnTrace</a></li>.............<l
5720 69 3e 3c 61 20 69 64 3d 22 74 6f 63 2d 65 72 72 6f 72 43 61 73 74 22 20 68 72 65 66 3d 22 69 6e i><a.id="toc-errorCast".href="in
5740 64 65 78 2e 78 68 74 6d 6c 23 65 72 72 6f 72 43 61 73 74 22 3e 40 65 72 72 6f 72 43 61 73 74 3c dex.xhtml#errorCast">@errorCast<
5760 2f 61 3e 3c 2f 6c 69 3e 0a 20 20 20 20 20 20 20 20 20 20 20 20 3c 6c 69 3e 3c 61 20 69 64 3d 22 /a></li>.............<li><a.id="
5780 74 6f 63 2d 65 78 70 6f 72 74 22 20 68 72 65 66 3d 22 69 6e 64 65 78 2e 78 68 74 6d 6c 23 65 78 toc-export".href="index.xhtml#ex
57a0 70 6f 72 74 22 3e 40 65 78 70 6f 72 74 3c 2f 61 3e 3c 2f 6c 69 3e 0a 20 20 20 20 20 20 20 20 20 port">@export</a></li>..........
57c0 20 20 20 3c 6c 69 3e 3c 61 20 69 64 3d 22 74 6f 63 2d 65 78 74 65 72 6e 22 20 68 72 65 66 3d 22 ...<li><a.id="toc-extern".href="
57e0 69 6e 64 65 78 2e 78 68 74 6d 6c 23 65 78 74 65 72 6e 22 3e 40 65 78 74 65 72 6e 3c 2f 61 3e 3c index.xhtml#extern">@extern</a><
5800 2f 6c 69 3e 0a 20 20 20 20 20 20 20 20 20 20 20 20 3c 6c 69 3e 3c 61 20 69 64 3d 22 74 6f 63 2d /li>.............<li><a.id="toc-
5820 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">
5840 40 66 69 65 6c 64 3c 2f 61 3e 3c 2f 6c 69 3e 0a 20 20 20 20 20 20 20 20 20 20 20 20 3c 6c 69 3e @field</a></li>.............<li>
5860 3c 61 20 69 64 3d 22 74 6f 63 2d 66 69 65 6c 64 50 61 72 65 6e 74 50 74 72 22 20 68 72 65 66 3d <a.id="toc-fieldParentPtr".href=
5880 22 69 6e 64 65 78 2e 78 68 74 6d 6c 23 66 69 65 6c 64 50 61 72 65 6e 74 50 74 72 22 3e 40 66 69 "index.xhtml#fieldParentPtr">@fi
58a0 65 6c 64 50 61 72 65 6e 74 50 74 72 3c 2f 61 3e 3c 2f 6c 69 3e 0a 20 20 20 20 20 20 20 20 20 20 eldParentPtr</a></li>...........
58c0 20 20 3c 6c 69 3e 3c 61 20 69 64 3d 22 74 6f 63 2d 46 69 65 6c 64 54 79 70 65 22 20 68 72 65 66 ..<li><a.id="toc-FieldType".href
58e0 3d 22 69 6e 64 65 78 2e 78 68 74 6d 6c 23 46 69 65 6c 64 54 79 70 65 22 3e 40 46 69 65 6c 64 54 ="index.xhtml#FieldType">@FieldT
5900 79 70 65 3c 2f 61 3e 3c 2f 6c 69 3e 0a 20 20 20 20 20 20 20 20 20 20 20 20 3c 6c 69 3e 3c 61 20 ype</a></li>.............<li><a.
5920 69 64 3d 22 74 6f 63 2d 66 6c 6f 61 74 43 61 73 74 22 20 68 72 65 66 3d 22 69 6e 64 65 78 2e 78 id="toc-floatCast".href="index.x
5940 68 74 6d 6c 23 66 6c 6f 61 74 43 61 73 74 22 3e 40 66 6c 6f 61 74 43 61 73 74 3c 2f 61 3e 3c 2f html#floatCast">@floatCast</a></
5960 6c 69 3e 0a 20 20 20 20 20 20 20 20 20 20 20 20 3c 6c 69 3e 3c 61 20 69 64 3d 22 74 6f 63 2d 66 li>.............<li><a.id="toc-f
5980 6c 6f 61 74 46 72 6f 6d 49 6e 74 22 20 68 72 65 66 3d 22 69 6e 64 65 78 2e 78 68 74 6d 6c 23 66 loatFromInt".href="index.xhtml#f
59a0 6c 6f 61 74 46 72 6f 6d 49 6e 74 22 3e 40 66 6c 6f 61 74 46 72 6f 6d 49 6e 74 3c 2f 61 3e 3c 2f loatFromInt">@floatFromInt</a></
59c0 6c 69 3e 0a 20 20 20 20 20 20 20 20 20 20 20 20 3c 6c 69 3e 3c 61 20 69 64 3d 22 74 6f 63 2d 66 li>.............<li><a.id="toc-f
59e0 72 61 6d 65 41 64 64 72 65 73 73 22 20 68 72 65 66 3d 22 69 6e 64 65 78 2e 78 68 74 6d 6c 23 66 rameAddress".href="index.xhtml#f
5a00 72 61 6d 65 41 64 64 72 65 73 73 22 3e 40 66 72 61 6d 65 41 64 64 72 65 73 73 3c 2f 61 3e 3c 2f rameAddress">@frameAddress</a></
5a20 6c 69 3e 0a 20 20 20 20 20 20 20 20 20 20 20 20 3c 6c 69 3e 3c 61 20 69 64 3d 22 74 6f 63 2d 68 li>.............<li><a.id="toc-h
5a40 61 73 44 65 63 6c 22 20 68 72 65 66 3d 22 69 6e 64 65 78 2e 78 68 74 6d 6c 23 68 61 73 44 65 63 asDecl".href="index.xhtml#hasDec
5a60 6c 22 3e 40 68 61 73 44 65 63 6c 3c 2f 61 3e 3c 2f 6c 69 3e 0a 20 20 20 20 20 20 20 20 20 20 20 l">@hasDecl</a></li>............
5a80 20 3c 6c 69 3e 3c 61 20 69 64 3d 22 74 6f 63 2d 68 61 73 46 69 65 6c 64 22 20 68 72 65 66 3d 22 .<li><a.id="toc-hasField".href="
5aa0 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 65 6c 64 3c index.xhtml#hasField">@hasField<
5ac0 2f 61 3e 3c 2f 6c 69 3e 0a 20 20 20 20 20 20 20 20 20 20 20 20 3c 6c 69 3e 3c 61 20 69 64 3d 22 /a></li>.............<li><a.id="
5ae0 74 6f 63 2d 69 6d 70 6f 72 74 22 20 68 72 65 66 3d 22 69 6e 64 65 78 2e 78 68 74 6d 6c 23 69 6d toc-import".href="index.xhtml#im
5b00 70 6f 72 74 22 3e 40 69 6d 70 6f 72 74 3c 2f 61 3e 3c 2f 6c 69 3e 0a 20 20 20 20 20 20 20 20 20 port">@import</a></li>..........
5b20 20 20 20 3c 6c 69 3e 3c 61 20 69 64 3d 22 74 6f 63 2d 69 6e 43 6f 6d 70 74 69 6d 65 22 20 68 72 ...<li><a.id="toc-inComptime".hr
5b40 65 66 3d 22 69 6e 64 65 78 2e 78 68 74 6d 6c 23 69 6e 43 6f 6d 70 74 69 6d 65 22 3e 40 69 6e 43 ef="index.xhtml#inComptime">@inC
5b60 6f 6d 70 74 69 6d 65 3c 2f 61 3e 3c 2f 6c 69 3e 0a 20 20 20 20 20 20 20 20 20 20 20 20 3c 6c 69 omptime</a></li>.............<li
5b80 3e 3c 61 20 69 64 3d 22 74 6f 63 2d 69 6e 74 43 61 73 74 22 20 68 72 65 66 3d 22 69 6e 64 65 78 ><a.id="toc-intCast".href="index
5ba0 2e 78 68 74 6d 6c 23 69 6e 74 43 61 73 74 22 3e 40 69 6e 74 43 61 73 74 3c 2f 61 3e 3c 2f 6c 69 .xhtml#intCast">@intCast</a></li
5bc0 3e 0a 20 20 20 20 20 20 20 20 20 20 20 20 3c 6c 69 3e 3c 61 20 69 64 3d 22 74 6f 63 2d 69 6e 74 >.............<li><a.id="toc-int
5be0 46 72 6f 6d 42 6f 6f 6c 22 20 68 72 65 66 3d 22 69 6e 64 65 78 2e 78 68 74 6d 6c 23 69 6e 74 46 FromBool".href="index.xhtml#intF
5c00 72 6f 6d 42 6f 6f 6c 22 3e 40 69 6e 74 46 72 6f 6d 42 6f 6f 6c 3c 2f 61 3e 3c 2f 6c 69 3e 0a 20 romBool">@intFromBool</a></li>..
5c20 20 20 20 20 20 20 20 20 20 20 20 3c 6c 69 3e 3c 61 20 69 64 3d 22 74 6f 63 2d 69 6e 74 46 72 6f ...........<li><a.id="toc-intFro
5c40 6d 45 6e 75 6d 22 20 68 72 65 66 3d 22 69 6e 64 65 78 2e 78 68 74 6d 6c 23 69 6e 74 46 72 6f 6d mEnum".href="index.xhtml#intFrom
5c60 45 6e 75 6d 22 3e 40 69 6e 74 46 72 6f 6d 45 6e 75 6d 3c 2f 61 3e 3c 2f 6c 69 3e 0a 20 20 20 20 Enum">@intFromEnum</a></li>.....
5c80 20 20 20 20 20 20 20 20 3c 6c 69 3e 3c 61 20 69 64 3d 22 74 6f 63 2d 69 6e 74 46 72 6f 6d 45 72 ........<li><a.id="toc-intFromEr
5ca0 72 6f 72 22 20 68 72 65 66 3d 22 69 6e 64 65 78 2e 78 68 74 6d 6c 23 69 6e 74 46 72 6f 6d 45 72 ror".href="index.xhtml#intFromEr
5cc0 72 6f 72 22 3e 40 69 6e 74 46 72 6f 6d 45 72 72 6f 72 3c 2f 61 3e 3c 2f 6c 69 3e 0a 20 20 20 20 ror">@intFromError</a></li>.....
5ce0 20 20 20 20 20 20 20 20 3c 6c 69 3e 3c 61 20 69 64 3d 22 74 6f 63 2d 69 6e 74 46 72 6f 6d 46 6c ........<li><a.id="toc-intFromFl
5d00 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 46 72 6f 6d 46 6c oat".href="index.xhtml#intFromFl
5d20 6f 61 74 22 3e 40 69 6e 74 46 72 6f 6d 46 6c 6f 61 74 3c 2f 61 3e 3c 2f 6c 69 3e 0a 20 20 20 20 oat">@intFromFloat</a></li>.....
5d40 20 20 20 20 20 20 20 20 3c 6c 69 3e 3c 61 20 69 64 3d 22 74 6f 63 2d 69 6e 74 46 72 6f 6d 50 74 ........<li><a.id="toc-intFromPt
5d60 72 22 20 68 72 65 66 3d 22 69 6e 64 65 78 2e 78 68 74 6d 6c 23 69 6e 74 46 72 6f 6d 50 74 72 22 r".href="index.xhtml#intFromPtr"
5d80 3e 40 69 6e 74 46 72 6f 6d 50 74 72 3c 2f 61 3e 3c 2f 6c 69 3e 0a 20 20 20 20 20 20 20 20 20 20 >@intFromPtr</a></li>...........
5da0 20 20 3c 6c 69 3e 3c 61 20 69 64 3d 22 74 6f 63 2d 6d 61 78 22 20 68 72 65 66 3d 22 69 6e 64 65 ..<li><a.id="toc-max".href="inde
5dc0 78 2e 78 68 74 6d 6c 23 6d 61 78 22 3e 40 6d 61 78 3c 2f 61 3e 3c 2f 6c 69 3e 0a 20 20 20 20 20 x.xhtml#max">@max</a></li>......
5de0 20 20 20 20 20 20 20 3c 6c 69 3e 3c 61 20 69 64 3d 22 74 6f 63 2d 6d 65 6d 63 70 79 22 20 68 72 .......<li><a.id="toc-memcpy".hr
5e00 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 3c ef="index.xhtml#memcpy">@memcpy<
5e20 2f 61 3e 3c 2f 6c 69 3e 0a 20 20 20 20 20 20 20 20 20 20 20 20 3c 6c 69 3e 3c 61 20 69 64 3d 22 /a></li>.............<li><a.id="
5e40 74 6f 63 2d 6d 65 6d 73 65 74 22 20 68 72 65 66 3d 22 69 6e 64 65 78 2e 78 68 74 6d 6c 23 6d 65 toc-memset".href="index.xhtml#me
5e60 6d 73 65 74 22 3e 40 6d 65 6d 73 65 74 3c 2f 61 3e 3c 2f 6c 69 3e 0a 20 20 20 20 20 20 20 20 20 mset">@memset</a></li>..........
5e80 20 20 20 3c 6c 69 3e 3c 61 20 69 64 3d 22 74 6f 63 2d 6d 65 6d 6d 6f 76 65 22 20 68 72 65 66 3d ...<li><a.id="toc-memmove".href=
5ea0 22 69 6e 64 65 78 2e 78 68 74 6d 6c 23 6d 65 6d 6d 6f 76 65 22 3e 40 6d 65 6d 6d 6f 76 65 3c 2f "index.xhtml#memmove">@memmove</
5ec0 61 3e 3c 2f 6c 69 3e 0a 20 20 20 20 20 20 20 20 20 20 20 20 3c 6c 69 3e 3c 61 20 69 64 3d 22 74 a></li>.............<li><a.id="t
5ee0 6f 63 2d 6d 69 6e 22 20 68 72 65 66 3d 22 69 6e 64 65 78 2e 78 68 74 6d 6c 23 6d 69 6e 22 3e 40 oc-min".href="index.xhtml#min">@
5f00 6d 69 6e 3c 2f 61 3e 3c 2f 6c 69 3e 0a 20 20 20 20 20 20 20 20 20 20 20 20 3c 6c 69 3e 3c 61 20 min</a></li>.............<li><a.
5f20 69 64 3d 22 74 6f 63 2d 77 61 73 6d 4d 65 6d 6f 72 79 53 69 7a 65 22 20 68 72 65 66 3d 22 69 6e id="toc-wasmMemorySize".href="in
5f40 64 65 78 2e 78 68 74 6d 6c 23 77 61 73 6d 4d 65 6d 6f 72 79 53 69 7a 65 22 3e 40 77 61 73 6d 4d dex.xhtml#wasmMemorySize">@wasmM
5f60 65 6d 6f 72 79 53 69 7a 65 3c 2f 61 3e 3c 2f 6c 69 3e 0a 20 20 20 20 20 20 20 20 20 20 20 20 3c emorySize</a></li>.............<
5f80 6c 69 3e 3c 61 20 69 64 3d 22 74 6f 63 2d 77 61 73 6d 4d 65 6d 6f 72 79 47 72 6f 77 22 20 68 72 li><a.id="toc-wasmMemoryGrow".hr
5fa0 65 66 3d 22 69 6e 64 65 78 2e 78 68 74 6d 6c 23 77 61 73 6d 4d 65 6d 6f 72 79 47 72 6f 77 22 3e ef="index.xhtml#wasmMemoryGrow">
5fc0 40 77 61 73 6d 4d 65 6d 6f 72 79 47 72 6f 77 3c 2f 61 3e 3c 2f 6c 69 3e 0a 20 20 20 20 20 20 20 @wasmMemoryGrow</a></li>........
5fe0 20 20 20 20 20 3c 6c 69 3e 3c 61 20 69 64 3d 22 74 6f 63 2d 6d 6f 64 22 20 68 72 65 66 3d 22 69 .....<li><a.id="toc-mod".href="i
6000 6e 64 65 78 2e 78 68 74 6d 6c 23 6d 6f 64 22 3e 40 6d 6f 64 3c 2f 61 3e 3c 2f 6c 69 3e 0a 20 20 ndex.xhtml#mod">@mod</a></li>...
6020 20 20 20 20 20 20 20 20 20 20 3c 6c 69 3e 3c 61 20 69 64 3d 22 74 6f 63 2d 6d 75 6c 57 69 74 68 ..........<li><a.id="toc-mulWith
6040 4f 76 65 72 66 6c 6f 77 22 20 68 72 65 66 3d 22 69 6e 64 65 78 2e 78 68 74 6d 6c 23 6d 75 6c 57 Overflow".href="index.xhtml#mulW
6060 69 74 68 4f 76 65 72 66 6c 6f 77 22 3e 40 6d 75 6c 57 69 74 68 4f 76 65 72 66 6c 6f 77 3c 2f 61 ithOverflow">@mulWithOverflow</a
6080 3e 3c 2f 6c 69 3e 0a 20 20 20 20 20 20 20 20 20 20 20 20 3c 6c 69 3e 3c 61 20 69 64 3d 22 74 6f ></li>.............<li><a.id="to
60a0 63 2d 70 61 6e 69 63 22 20 68 72 65 66 3d 22 69 6e 64 65 78 2e 78 68 74 6d 6c 23 70 61 6e 69 63 c-panic".href="index.xhtml#panic
60c0 22 3e 40 70 61 6e 69 63 3c 2f 61 3e 3c 2f 6c 69 3e 0a 20 20 20 20 20 20 20 20 20 20 20 20 3c 6c ">@panic</a></li>.............<l
60e0 69 3e 3c 61 20 69 64 3d 22 74 6f 63 2d 70 6f 70 43 6f 75 6e 74 22 20 68 72 65 66 3d 22 69 6e 64 i><a.id="toc-popCount".href="ind
6100 65 78 2e 78 68 74 6d 6c 23 70 6f 70 43 6f 75 6e 74 22 3e 40 70 6f 70 43 6f 75 6e 74 3c 2f 61 3e ex.xhtml#popCount">@popCount</a>
6120 3c 2f 6c 69 3e 0a 20 20 20 20 20 20 20 20 20 20 20 20 3c 6c 69 3e 3c 61 20 69 64 3d 22 74 6f 63 </li>.............<li><a.id="toc
6140 2d 70 72 65 66 65 74 63 68 22 20 68 72 65 66 3d 22 69 6e 64 65 78 2e 78 68 74 6d 6c 23 70 72 65 -prefetch".href="index.xhtml#pre
6160 66 65 74 63 68 22 3e 40 70 72 65 66 65 74 63 68 3c 2f 61 3e 3c 2f 6c 69 3e 0a 20 20 20 20 20 20 fetch">@prefetch</a></li>.......
6180 20 20 20 20 20 20 3c 6c 69 3e 3c 61 20 69 64 3d 22 74 6f 63 2d 70 74 72 43 61 73 74 22 20 68 72 ......<li><a.id="toc-ptrCast".hr
61a0 65 66 3d 22 69 6e 64 65 78 2e 78 68 74 6d 6c 23 70 74 72 43 61 73 74 22 3e 40 70 74 72 43 61 73 ef="index.xhtml#ptrCast">@ptrCas
61c0 74 3c 2f 61 3e 3c 2f 6c 69 3e 0a 20 20 20 20 20 20 20 20 20 20 20 20 3c 6c 69 3e 3c 61 20 69 64 t</a></li>.............<li><a.id
61e0 3d 22 74 6f 63 2d 70 74 72 46 72 6f 6d 49 6e 74 22 20 68 72 65 66 3d 22 69 6e 64 65 78 2e 78 68 ="toc-ptrFromInt".href="index.xh
6200 74 6d 6c 23 70 74 72 46 72 6f 6d 49 6e 74 22 3e 40 70 74 72 46 72 6f 6d 49 6e 74 3c 2f 61 3e 3c tml#ptrFromInt">@ptrFromInt</a><
6220 2f 6c 69 3e 0a 20 20 20 20 20 20 20 20 20 20 20 20 3c 6c 69 3e 3c 61 20 69 64 3d 22 74 6f 63 2d /li>.............<li><a.id="toc-
6240 72 65 6d 22 20 68 72 65 66 3d 22 69 6e 64 65 78 2e 78 68 74 6d 6c 23 72 65 6d 22 3e 40 72 65 6d rem".href="index.xhtml#rem">@rem
6260 3c 2f 61 3e 3c 2f 6c 69 3e 0a 20 20 20 20 20 20 20 20 20 20 20 20 3c 6c 69 3e 3c 61 20 69 64 3d </a></li>.............<li><a.id=
6280 22 74 6f 63 2d 72 65 74 75 72 6e 41 64 64 72 65 73 73 22 20 68 72 65 66 3d 22 69 6e 64 65 78 2e "toc-returnAddress".href="index.
62a0 78 68 74 6d 6c 23 72 65 74 75 72 6e 41 64 64 72 65 73 73 22 3e 40 72 65 74 75 72 6e 41 64 64 72 xhtml#returnAddress">@returnAddr
62c0 65 73 73 3c 2f 61 3e 3c 2f 6c 69 3e 0a 20 20 20 20 20 20 20 20 20 20 20 20 3c 6c 69 3e 3c 61 20 ess</a></li>.............<li><a.
62e0 69 64 3d 22 74 6f 63 2d 73 65 6c 65 63 74 22 20 68 72 65 66 3d 22 69 6e 64 65 78 2e 78 68 74 6d id="toc-select".href="index.xhtm
6300 6c 23 73 65 6c 65 63 74 22 3e 40 73 65 6c 65 63 74 3c 2f 61 3e 3c 2f 6c 69 3e 0a 20 20 20 20 20 l#select">@select</a></li>......
6320 20 20 20 20 20 20 20 3c 6c 69 3e 3c 61 20 69 64 3d 22 74 6f 63 2d 73 65 74 45 76 61 6c 42 72 61 .......<li><a.id="toc-setEvalBra
6340 6e 63 68 51 75 6f 74 61 22 20 68 72 65 66 3d 22 69 6e 64 65 78 2e 78 68 74 6d 6c 23 73 65 74 45 nchQuota".href="index.xhtml#setE
6360 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 51 75 valBranchQuota">@setEvalBranchQu
6380 6f 74 61 3c 2f 61 3e 3c 2f 6c 69 3e 0a 20 20 20 20 20 20 20 20 20 20 20 20 3c 6c 69 3e 3c 61 20 ota</a></li>.............<li><a.
63a0 69 64 3d 22 74 6f 63 2d 73 65 74 46 6c 6f 61 74 4d 6f 64 65 22 20 68 72 65 66 3d 22 69 6e 64 65 id="toc-setFloatMode".href="inde
63c0 78 2e 78 68 74 6d 6c 23 73 65 74 46 6c 6f 61 74 4d 6f 64 65 22 3e 40 73 65 74 46 6c 6f 61 74 4d x.xhtml#setFloatMode">@setFloatM
63e0 6f 64 65 3c 2f 61 3e 3c 2f 6c 69 3e 0a 20 20 20 20 20 20 20 20 20 20 20 20 3c 6c 69 3e 3c 61 20 ode</a></li>.............<li><a.
6400 69 64 3d 22 74 6f 63 2d 73 65 74 52 75 6e 74 69 6d 65 53 61 66 65 74 79 22 20 68 72 65 66 3d 22 id="toc-setRuntimeSafety".href="
6420 69 6e 64 65 78 2e 78 68 74 6d 6c 23 73 65 74 52 75 6e 74 69 6d 65 53 61 66 65 74 79 22 3e 40 73 index.xhtml#setRuntimeSafety">@s
6440 65 74 52 75 6e 74 69 6d 65 53 61 66 65 74 79 3c 2f 61 3e 3c 2f 6c 69 3e 0a 20 20 20 20 20 20 20 etRuntimeSafety</a></li>........
6460 20 20 20 20 20 3c 6c 69 3e 3c 61 20 69 64 3d 22 74 6f 63 2d 73 68 6c 45 78 61 63 74 22 20 68 72 .....<li><a.id="toc-shlExact".hr
6480 65 66 3d 22 69 6e 64 65 78 2e 78 68 74 6d 6c 23 73 68 6c 45 78 61 63 74 22 3e 40 73 68 6c 45 78 ef="index.xhtml#shlExact">@shlEx
64a0 61 63 74 3c 2f 61 3e 3c 2f 6c 69 3e 0a 20 20 20 20 20 20 20 20 20 20 20 20 3c 6c 69 3e 3c 61 20 act</a></li>.............<li><a.
64c0 69 64 3d 22 74 6f 63 2d 73 68 6c 57 69 74 68 4f 76 65 72 66 6c 6f 77 22 20 68 72 65 66 3d 22 69 id="toc-shlWithOverflow".href="i
64e0 6e 64 65 78 2e 78 68 74 6d 6c 23 73 68 6c 57 69 74 68 4f 76 65 72 66 6c 6f 77 22 3e 40 73 68 6c ndex.xhtml#shlWithOverflow">@shl
6500 57 69 74 68 4f 76 65 72 66 6c 6f 77 3c 2f 61 3e 3c 2f 6c 69 3e 0a 20 20 20 20 20 20 20 20 20 20 WithOverflow</a></li>...........
6520 20 20 3c 6c 69 3e 3c 61 20 69 64 3d 22 74 6f 63 2d 73 68 72 45 78 61 63 74 22 20 68 72 65 66 3d ..<li><a.id="toc-shrExact".href=
6540 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 63 74 "index.xhtml#shrExact">@shrExact
6560 3c 2f 61 3e 3c 2f 6c 69 3e 0a 20 20 20 20 20 20 20 20 20 20 20 20 3c 6c 69 3e 3c 61 20 69 64 3d </a></li>.............<li><a.id=
6580 22 74 6f 63 2d 73 68 75 66 66 6c 65 22 20 68 72 65 66 3d 22 69 6e 64 65 78 2e 78 68 74 6d 6c 23 "toc-shuffle".href="index.xhtml#
65a0 73 68 75 66 66 6c 65 22 3e 40 73 68 75 66 66 6c 65 3c 2f 61 3e 3c 2f 6c 69 3e 0a 20 20 20 20 20 shuffle">@shuffle</a></li>......
65c0 20 20 20 20 20 20 20 3c 6c 69 3e 3c 61 20 69 64 3d 22 74 6f 63 2d 73 69 7a 65 4f 66 22 20 68 72 .......<li><a.id="toc-sizeOf".hr
65e0 65 66 3d 22 69 6e 64 65 78 2e 78 68 74 6d 6c 23 73 69 7a 65 4f 66 22 3e 40 73 69 7a 65 4f 66 3c ef="index.xhtml#sizeOf">@sizeOf<
6600 2f 61 3e 3c 2f 6c 69 3e 0a 20 20 20 20 20 20 20 20 20 20 20 20 3c 6c 69 3e 3c 61 20 69 64 3d 22 /a></li>.............<li><a.id="
6620 74 6f 63 2d 73 70 6c 61 74 22 20 68 72 65 66 3d 22 69 6e 64 65 78 2e 78 68 74 6d 6c 23 73 70 6c toc-splat".href="index.xhtml#spl
6640 61 74 22 3e 40 73 70 6c 61 74 3c 2f 61 3e 3c 2f 6c 69 3e 0a 20 20 20 20 20 20 20 20 20 20 20 20 at">@splat</a></li>.............
6660 3c 6c 69 3e 3c 61 20 69 64 3d 22 74 6f 63 2d 72 65 64 75 63 65 22 20 68 72 65 66 3d 22 69 6e 64 <li><a.id="toc-reduce".href="ind
6680 65 78 2e 78 68 74 6d 6c 23 72 65 64 75 63 65 22 3e 40 72 65 64 75 63 65 3c 2f 61 3e 3c 2f 6c 69 ex.xhtml#reduce">@reduce</a></li
66a0 3e 0a 20 20 20 20 20 20 20 20 20 20 20 20 3c 6c 69 3e 3c 61 20 69 64 3d 22 74 6f 63 2d 73 72 63 >.............<li><a.id="toc-src
66c0 22 20 68 72 65 66 3d 22 69 6e 64 65 78 2e 78 68 74 6d 6c 23 73 72 63 22 3e 40 73 72 63 3c 2f 61 ".href="index.xhtml#src">@src</a
66e0 3e 3c 2f 6c 69 3e 0a 20 20 20 20 20 20 20 20 20 20 20 20 3c 6c 69 3e 3c 61 20 69 64 3d 22 74 6f ></li>.............<li><a.id="to
6700 63 2d 73 71 72 74 22 20 68 72 65 66 3d 22 69 6e 64 65 78 2e 78 68 74 6d 6c 23 73 71 72 74 22 3e c-sqrt".href="index.xhtml#sqrt">
6720 40 73 71 72 74 3c 2f 61 3e 3c 2f 6c 69 3e 0a 20 20 20 20 20 20 20 20 20 20 20 20 3c 6c 69 3e 3c @sqrt</a></li>.............<li><
6740 61 20 69 64 3d 22 74 6f 63 2d 73 69 6e 22 20 68 72 65 66 3d 22 69 6e 64 65 78 2e 78 68 74 6d 6c a.id="toc-sin".href="index.xhtml
6760 23 73 69 6e 22 3e 40 73 69 6e 3c 2f 61 3e 3c 2f 6c 69 3e 0a 20 20 20 20 20 20 20 20 20 20 20 20 #sin">@sin</a></li>.............
6780 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 78 2e <li><a.id="toc-cos".href="index.
67a0 78 68 74 6d 6c 23 63 6f 73 22 3e 40 63 6f 73 3c 2f 61 3e 3c 2f 6c 69 3e 0a 20 20 20 20 20 20 20 xhtml#cos">@cos</a></li>........
67c0 20 20 20 20 20 3c 6c 69 3e 3c 61 20 69 64 3d 22 74 6f 63 2d 74 61 6e 22 20 68 72 65 66 3d 22 69 .....<li><a.id="toc-tan".href="i
67e0 6e 64 65 78 2e 78 68 74 6d 6c 23 74 61 6e 22 3e 40 74 61 6e 3c 2f 61 3e 3c 2f 6c 69 3e 0a 20 20 ndex.xhtml#tan">@tan</a></li>...
6800 20 20 20 20 20 20 20 20 20 20 3c 6c 69 3e 3c 61 20 69 64 3d 22 74 6f 63 2d 65 78 70 22 20 68 72 ..........<li><a.id="toc-exp".hr
6820 65 66 3d 22 69 6e 64 65 78 2e 78 68 74 6d 6c 23 65 78 70 22 3e 40 65 78 70 3c 2f 61 3e 3c 2f 6c ef="index.xhtml#exp">@exp</a></l
6840 69 3e 0a 20 20 20 20 20 20 20 20 20 20 20 20 3c 6c 69 3e 3c 61 20 69 64 3d 22 74 6f 63 2d 65 78 i>.............<li><a.id="toc-ex
6860 70 32 22 20 68 72 65 66 3d 22 69 6e 64 65 78 2e 78 68 74 6d 6c 23 65 78 70 32 22 3e 40 65 78 70 p2".href="index.xhtml#exp2">@exp
6880 32 3c 2f 61 3e 3c 2f 6c 69 3e 0a 20 20 20 20 20 20 20 20 20 20 20 20 3c 6c 69 3e 3c 61 20 69 64 2</a></li>.............<li><a.id
68a0 3d 22 74 6f 63 2d 6c 6f 67 22 20 68 72 65 66 3d 22 69 6e 64 65 78 2e 78 68 74 6d 6c 23 6c 6f 67 ="toc-log".href="index.xhtml#log
68c0 22 3e 40 6c 6f 67 3c 2f 61 3e 3c 2f 6c 69 3e 0a 20 20 20 20 20 20 20 20 20 20 20 20 3c 6c 69 3e ">@log</a></li>.............<li>
68e0 3c 61 20 69 64 3d 22 74 6f 63 2d 6c 6f 67 32 22 20 68 72 65 66 3d 22 69 6e 64 65 78 2e 78 68 74 <a.id="toc-log2".href="index.xht
6900 6d 6c 23 6c 6f 67 32 22 3e 40 6c 6f 67 32 3c 2f 61 3e 3c 2f 6c 69 3e 0a 20 20 20 20 20 20 20 20 ml#log2">@log2</a></li>.........
6920 20 20 20 20 3c 6c 69 3e 3c 61 20 69 64 3d 22 74 6f 63 2d 6c 6f 67 31 30 22 20 68 72 65 66 3d 22 ....<li><a.id="toc-log10".href="
6940 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 6c index.xhtml#log10">@log10</a></l
6960 69 3e 0a 20 20 20 20 20 20 20 20 20 20 20 20 3c 6c 69 3e 3c 61 20 69 64 3d 22 74 6f 63 2d 61 62 i>.............<li><a.id="toc-ab
6980 73 22 20 68 72 65 66 3d 22 69 6e 64 65 78 2e 78 68 74 6d 6c 23 61 62 73 22 3e 40 61 62 73 3c 2f s".href="index.xhtml#abs">@abs</
69a0 61 3e 3c 2f 6c 69 3e 0a 20 20 20 20 20 20 20 20 20 20 20 20 3c 6c 69 3e 3c 61 20 69 64 3d 22 74 a></li>.............<li><a.id="t
69c0 6f 63 2d 66 6c 6f 6f 72 22 20 68 72 65 66 3d 22 69 6e 64 65 78 2e 78 68 74 6d 6c 23 66 6c 6f 6f oc-floor".href="index.xhtml#floo
69e0 72 22 3e 40 66 6c 6f 6f 72 3c 2f 61 3e 3c 2f 6c 69 3e 0a 20 20 20 20 20 20 20 20 20 20 20 20 3c r">@floor</a></li>.............<
6a00 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.
6a20 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 20 20 20 20 20 xhtml#ceil">@ceil</a></li>......
6a40 20 20 20 20 20 20 20 3c 6c 69 3e 3c 61 20 69 64 3d 22 74 6f 63 2d 74 72 75 6e 63 22 20 68 72 65 .......<li><a.id="toc-trunc".hre
6a60 66 3d 22 69 6e 64 65 78 2e 78 68 74 6d 6c 23 74 72 75 6e 63 22 3e 40 74 72 75 6e 63 3c 2f 61 3e f="index.xhtml#trunc">@trunc</a>
6a80 3c 2f 6c 69 3e 0a 20 20 20 20 20 20 20 20 20 20 20 20 3c 6c 69 3e 3c 61 20 69 64 3d 22 74 6f 63 </li>.............<li><a.id="toc
6aa0 2d 72 6f 75 6e 64 22 20 68 72 65 66 3d 22 69 6e 64 65 78 2e 78 68 74 6d 6c 23 72 6f 75 6e 64 22 -round".href="index.xhtml#round"
6ac0 3e 40 72 6f 75 6e 64 3c 2f 61 3e 3c 2f 6c 69 3e 0a 20 20 20 20 20 20 20 20 20 20 20 20 3c 6c 69 >@round</a></li>.............<li
6ae0 3e 3c 61 20 69 64 3d 22 74 6f 63 2d 73 75 62 57 69 74 68 4f 76 65 72 66 6c 6f 77 22 20 68 72 65 ><a.id="toc-subWithOverflow".hre
6b00 66 3d 22 69 6e 64 65 78 2e 78 68 74 6d 6c 23 73 75 62 57 69 74 68 4f 76 65 72 66 6c 6f 77 22 3e f="index.xhtml#subWithOverflow">
6b20 40 73 75 62 57 69 74 68 4f 76 65 72 66 6c 6f 77 3c 2f 61 3e 3c 2f 6c 69 3e 0a 20 20 20 20 20 20 @subWithOverflow</a></li>.......
6b40 20 20 20 20 20 20 3c 6c 69 3e 3c 61 20 69 64 3d 22 74 6f 63 2d 74 61 67 4e 61 6d 65 22 20 68 72 ......<li><a.id="toc-tagName".hr
6b60 65 66 3d 22 69 6e 64 65 78 2e 78 68 74 6d 6c 23 74 61 67 4e 61 6d 65 22 3e 40 74 61 67 4e 61 6d ef="index.xhtml#tagName">@tagNam
6b80 65 3c 2f 61 3e 3c 2f 6c 69 3e 0a 20 20 20 20 20 20 20 20 20 20 20 20 3c 6c 69 3e 3c 61 20 69 64 e</a></li>.............<li><a.id
6ba0 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 6c 23 54 68 ="toc-This".href="index.xhtml#Th
6bc0 69 73 22 3e 40 54 68 69 73 3c 2f 61 3e 3c 2f 6c 69 3e 0a 20 20 20 20 20 20 20 20 20 20 20 20 3c is">@This</a></li>.............<
6be0 6c 69 3e 3c 61 20 69 64 3d 22 74 6f 63 2d 74 72 61 70 22 20 68 72 65 66 3d 22 69 6e 64 65 78 2e li><a.id="toc-trap".href="index.
6c00 78 68 74 6d 6c 23 74 72 61 70 22 3e 40 74 72 61 70 3c 2f 61 3e 3c 2f 6c 69 3e 0a 20 20 20 20 20 xhtml#trap">@trap</a></li>......
6c20 20 20 20 20 20 20 20 3c 6c 69 3e 3c 61 20 69 64 3d 22 74 6f 63 2d 74 72 75 6e 63 61 74 65 22 20 .......<li><a.id="toc-truncate".
6c40 68 72 65 66 3d 22 69 6e 64 65 78 2e 78 68 74 6d 6c 23 74 72 75 6e 63 61 74 65 22 3e 40 74 72 75 href="index.xhtml#truncate">@tru
6c60 6e 63 61 74 65 3c 2f 61 3e 3c 2f 6c 69 3e 0a 20 20 20 20 20 20 20 20 20 20 20 20 3c 6c 69 3e 3c ncate</a></li>.............<li><
6c80 61 20 69 64 3d 22 74 6f 63 2d 45 6e 75 6d 4c 69 74 65 72 61 6c 22 20 68 72 65 66 3d 22 69 6e 64 a.id="toc-EnumLiteral".href="ind
6ca0 65 78 2e 78 68 74 6d 6c 23 45 6e 75 6d 4c 69 74 65 72 61 6c 22 3e 40 45 6e 75 6d 4c 69 74 65 72 ex.xhtml#EnumLiteral">@EnumLiter
6cc0 61 6c 3c 2f 61 3e 3c 2f 6c 69 3e 0a 20 20 20 20 20 20 20 20 20 20 20 20 3c 6c 69 3e 3c 61 20 69 al</a></li>.............<li><a.i
6ce0 64 3d 22 74 6f 63 2d 49 6e 74 22 20 68 72 65 66 3d 22 69 6e 64 65 78 2e 78 68 74 6d 6c 23 49 6e d="toc-Int".href="index.xhtml#In
6d00 74 22 3e 40 49 6e 74 3c 2f 61 3e 3c 2f 6c 69 3e 0a 20 20 20 20 20 20 20 20 20 20 20 20 3c 6c 69 t">@Int</a></li>.............<li
6d20 3e 3c 61 20 69 64 3d 22 74 6f 63 2d 54 75 70 6c 65 22 20 68 72 65 66 3d 22 69 6e 64 65 78 2e 78 ><a.id="toc-Tuple".href="index.x
6d40 68 74 6d 6c 23 54 75 70 6c 65 22 3e 40 54 75 70 6c 65 3c 2f 61 3e 3c 2f 6c 69 3e 0a 20 20 20 20 html#Tuple">@Tuple</a></li>.....
6d60 20 20 20 20 20 20 20 20 3c 6c 69 3e 3c 61 20 69 64 3d 22 74 6f 63 2d 50 6f 69 6e 74 65 72 22 20 ........<li><a.id="toc-Pointer".
6d80 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 22 3e 40 50 6f 69 6e href="index.xhtml#Pointer">@Poin
6da0 74 65 72 3c 2f 61 3e 3c 2f 6c 69 3e 0a 20 20 20 20 20 20 20 20 20 20 20 20 3c 6c 69 3e 3c 61 20 ter</a></li>.............<li><a.
6dc0 69 64 3d 22 74 6f 63 2d 46 6e 22 20 68 72 65 66 3d 22 69 6e 64 65 78 2e 78 68 74 6d 6c 23 46 6e id="toc-Fn".href="index.xhtml#Fn
6de0 22 3e 40 46 6e 3c 2f 61 3e 3c 2f 6c 69 3e 0a 20 20 20 20 20 20 20 20 20 20 20 20 3c 6c 69 3e 3c ">@Fn</a></li>.............<li><
6e00 61 20 69 64 3d 22 74 6f 63 2d 53 74 72 75 63 74 22 20 68 72 65 66 3d 22 69 6e 64 65 78 2e 78 68 a.id="toc-Struct".href="index.xh
6e20 74 6d 6c 23 53 74 72 75 63 74 22 3e 40 53 74 72 75 63 74 3c 2f 61 3e 3c 2f 6c 69 3e 0a 20 20 20 tml#Struct">@Struct</a></li>....
6e40 20 20 20 20 20 20 20 20 20 3c 6c 69 3e 3c 61 20 69 64 3d 22 74 6f 63 2d 55 6e 69 6f 6e 22 20 68 .........<li><a.id="toc-Union".h
6e60 72 65 66 3d 22 69 6e 64 65 78 2e 78 68 74 6d 6c 23 55 6e 69 6f 6e 22 3e 40 55 6e 69 6f 6e 3c 2f ref="index.xhtml#Union">@Union</
6e80 61 3e 3c 2f 6c 69 3e 0a 20 20 20 20 20 20 20 20 20 20 20 20 3c 6c 69 3e 3c 61 20 69 64 3d 22 74 a></li>.............<li><a.id="t
6ea0 6f 63 2d 45 6e 75 6d 22 20 68 72 65 66 3d 22 69 6e 64 65 78 2e 78 68 74 6d 6c 23 45 6e 75 6d 22 oc-Enum".href="index.xhtml#Enum"
6ec0 3e 40 45 6e 75 6d 3c 2f 61 3e 3c 2f 6c 69 3e 0a 20 20 20 20 20 20 20 20 20 20 20 20 3c 6c 69 3e >@Enum</a></li>.............<li>
6ee0 3c 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 <a.id="toc-typeInfo".href="index
6f00 2e 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 .xhtml#typeInfo">@typeInfo</a></
6f20 6c 69 3e 0a 20 20 20 20 20 20 20 20 20 20 20 20 3c 6c 69 3e 3c 61 20 69 64 3d 22 74 6f 63 2d 74 li>.............<li><a.id="toc-t
6f40 79 70 65 4e 61 6d 65 22 20 68 72 65 66 3d 22 69 6e 64 65 78 2e 78 68 74 6d 6c 23 74 79 70 65 4e ypeName".href="index.xhtml#typeN
6f60 61 6d 65 22 3e 40 74 79 70 65 4e 61 6d 65 3c 2f 61 3e 3c 2f 6c 69 3e 0a 20 20 20 20 20 20 20 20 ame">@typeName</a></li>.........
6f80 20 20 20 20 3c 6c 69 3e 3c 61 20 69 64 3d 22 74 6f 63 2d 54 79 70 65 4f 66 22 20 68 72 65 66 3d ....<li><a.id="toc-TypeOf".href=
6fa0 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 65 4f 66 3c 2f 61 3e "index.xhtml#TypeOf">@TypeOf</a>
6fc0 3c 2f 6c 69 3e 0a 20 20 20 20 20 20 20 20 20 20 20 20 3c 6c 69 3e 3c 61 20 69 64 3d 22 74 6f 63 </li>.............<li><a.id="toc
6fe0 2d 75 6e 69 6f 6e 49 6e 69 74 22 20 68 72 65 66 3d 22 69 6e 64 65 78 2e 78 68 74 6d 6c 23 75 6e -unionInit".href="index.xhtml#un
7000 69 6f 6e 49 6e 69 74 22 3e 40 75 6e 69 6f 6e 49 6e 69 74 3c 2f 61 3e 3c 2f 6c 69 3e 0a 20 20 20 ionInit">@unionInit</a></li>....
7020 20 20 20 20 20 20 20 20 20 3c 6c 69 3e 3c 61 20 69 64 3d 22 74 6f 63 2d 56 65 63 74 6f 72 22 20 .........<li><a.id="toc-Vector".
7040 68 72 65 66 3d 22 69 6e 64 65 78 2e 78 68 74 6d 6c 23 56 65 63 74 6f 72 22 3e 40 56 65 63 74 6f href="index.xhtml#Vector">@Vecto
7060 72 3c 2f 61 3e 3c 2f 6c 69 3e 0a 20 20 20 20 20 20 20 20 20 20 20 20 3c 6c 69 3e 3c 61 20 69 64 r</a></li>.............<li><a.id
7080 3d 22 74 6f 63 2d 76 6f 6c 61 74 69 6c 65 43 61 73 74 22 20 68 72 65 66 3d 22 69 6e 64 65 78 2e ="toc-volatileCast".href="index.
70a0 78 68 74 6d 6c 23 76 6f 6c 61 74 69 6c 65 43 61 73 74 22 3e 40 76 6f 6c 61 74 69 6c 65 43 61 73 xhtml#volatileCast">@volatileCas
70c0 74 3c 2f 61 3e 3c 2f 6c 69 3e 0a 20 20 20 20 20 20 20 20 20 20 20 20 3c 6c 69 3e 3c 61 20 69 64 t</a></li>.............<li><a.id
70e0 3d 22 74 6f 63 2d 77 6f 72 6b 47 72 6f 75 70 49 64 22 20 68 72 65 66 3d 22 69 6e 64 65 78 2e 78 ="toc-workGroupId".href="index.x
7100 68 74 6d 6c 23 77 6f 72 6b 47 72 6f 75 70 49 64 22 3e 40 77 6f 72 6b 47 72 6f 75 70 49 64 3c 2f html#workGroupId">@workGroupId</
7120 61 3e 3c 2f 6c 69 3e 0a 20 20 20 20 20 20 20 20 20 20 20 20 3c 6c 69 3e 3c 61 20 69 64 3d 22 74 a></li>.............<li><a.id="t
7140 6f 63 2d 77 6f 72 6b 47 72 6f 75 70 53 69 7a 65 22 20 68 72 65 66 3d 22 69 6e 64 65 78 2e 78 68 oc-workGroupSize".href="index.xh
7160 74 6d 6c 23 77 6f 72 6b 47 72 6f 75 70 53 69 7a 65 22 3e 40 77 6f 72 6b 47 72 6f 75 70 53 69 7a tml#workGroupSize">@workGroupSiz
7180 65 3c 2f 61 3e 3c 2f 6c 69 3e 0a 20 20 20 20 20 20 20 20 20 20 20 20 3c 6c 69 3e 3c 61 20 69 64 e</a></li>.............<li><a.id
71a0 3d 22 74 6f 63 2d 77 6f 72 6b 49 74 65 6d 49 64 22 20 68 72 65 66 3d 22 69 6e 64 65 78 2e 78 68 ="toc-workItemId".href="index.xh
71c0 74 6d 6c 23 77 6f 72 6b 49 74 65 6d 49 64 22 3e 40 77 6f 72 6b 49 74 65 6d 49 64 3c 2f 61 3e 3c tml#workItemId">@workItemId</a><
71e0 2f 6c 69 3e 0a 20 20 20 20 20 20 20 20 3c 2f 6f 6c 3e 3c 2f 6c 69 3e 0a 20 20 20 20 20 20 20 20 /li>.........</ol></li>.........
7200 3c 6c 69 3e 3c 61 20 69 64 3d 22 74 6f 63 2d 42 75 69 6c 64 2d 4d 6f 64 65 22 20 68 72 65 66 3d <li><a.id="toc-Build-Mode".href=
7220 22 69 6e 64 65 78 2e 78 68 74 6d 6c 23 42 75 69 6c 64 2d 4d 6f 64 65 22 3e 42 75 69 6c 64 20 4d "index.xhtml#Build-Mode">Build.M
7240 6f 64 65 3c 2f 61 3e 0a 20 20 20 20 20 20 20 20 3c 6f 6c 3e 0a 20 20 20 20 20 20 20 20 20 20 20 ode</a>.........<ol>............
7260 20 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 22 69 6e 64 .<li><a.id="toc-Debug".href="ind
7280 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 69 3e 0a 20 ex.xhtml#Debug">Debug</a></li>..
72a0 20 20 20 20 20 20 20 20 20 20 20 3c 6c 69 3e 3c 61 20 69 64 3d 22 74 6f 63 2d 52 65 6c 65 61 73 ...........<li><a.id="toc-Releas
72c0 65 46 61 73 74 22 20 68 72 65 66 3d 22 69 6e 64 65 78 2e 78 68 74 6d 6c 23 52 65 6c 65 61 73 65 eFast".href="index.xhtml#Release
72e0 46 61 73 74 22 3e 52 65 6c 65 61 73 65 46 61 73 74 3c 2f 61 3e 3c 2f 6c 69 3e 0a 20 20 20 20 20 Fast">ReleaseFast</a></li>......
7300 20 20 20 20 20 20 20 3c 6c 69 3e 3c 61 20 69 64 3d 22 74 6f 63 2d 52 65 6c 65 61 73 65 53 61 66 .......<li><a.id="toc-ReleaseSaf
7320 65 22 20 68 72 65 66 3d 22 69 6e 64 65 78 2e 78 68 74 6d 6c 23 52 65 6c 65 61 73 65 53 61 66 65 e".href="index.xhtml#ReleaseSafe
7340 22 3e 52 65 6c 65 61 73 65 53 61 66 65 3c 2f 61 3e 3c 2f 6c 69 3e 0a 20 20 20 20 20 20 20 20 20 ">ReleaseSafe</a></li>..........
7360 20 20 20 3c 6c 69 3e 3c 61 20 69 64 3d 22 74 6f 63 2d 52 65 6c 65 61 73 65 53 6d 61 6c 6c 22 20 ...<li><a.id="toc-ReleaseSmall".
7380 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">
73a0 52 65 6c 65 61 73 65 53 6d 61 6c 6c 3c 2f 61 3e 3c 2f 6c 69 3e 0a 20 20 20 20 20 20 20 20 3c 2f ReleaseSmall</a></li>.........</
73c0 6f 6c 3e 3c 2f 6c 69 3e 0a 20 20 20 20 20 20 20 20 3c 6c 69 3e 3c 61 20 69 64 3d 22 74 6f 63 2d ol></li>.........<li><a.id="toc-
73e0 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 66 3d 22 69 6e Single-Threaded-Builds".href="in
7400 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 75 69 6c 64 73 dex.xhtml#Single-Threaded-Builds
7420 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 3e 3c 2f 6c 69 ">Single.Threaded.Builds</a></li
7440 3e 0a 20 20 20 20 20 20 20 20 3c 6c 69 3e 3c 61 20 69 64 3d 22 74 6f 63 2d 49 6c 6c 65 67 61 6c >.........<li><a.id="toc-Illegal
7460 2d 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 49 6c 6c -Behavior".href="index.xhtml#Ill
7480 65 67 61 6c 2d 42 65 68 61 76 69 6f 72 22 3e 49 6c 6c 65 67 61 6c 20 42 65 68 61 76 69 6f 72 3c egal-Behavior">Illegal.Behavior<
74a0 2f 61 3e 0a 20 20 20 20 20 20 20 20 3c 6f 6c 3e 0a 20 20 20 20 20 20 20 20 20 20 20 20 3c 6c 69 /a>.........<ol>.............<li
74c0 3e 3c 61 20 69 64 3d 22 74 6f 63 2d 52 65 61 63 68 69 6e 67 2d 55 6e 72 65 61 63 68 61 62 6c 65 ><a.id="toc-Reaching-Unreachable
74e0 2d 43 6f 64 65 22 20 68 72 65 66 3d 22 69 6e 64 65 78 2e 78 68 74 6d 6c 23 52 65 61 63 68 69 6e -Code".href="index.xhtml#Reachin
7500 67 2d 55 6e 72 65 61 63 68 61 62 6c 65 2d 43 6f 64 65 22 3e 52 65 61 63 68 69 6e 67 20 55 6e 72 g-Unreachable-Code">Reaching.Unr
7520 65 61 63 68 61 62 6c 65 20 43 6f 64 65 3c 2f 61 3e 3c 2f 6c 69 3e 0a 20 20 20 20 20 20 20 20 20 eachable.Code</a></li>..........
7540 20 20 20 3c 6c 69 3e 3c 61 20 69 64 3d 22 74 6f 63 2d 49 6e 64 65 78 2d 6f 75 74 2d 6f 66 2d 42 ...<li><a.id="toc-Index-out-of-B
7560 6f 75 6e 64 73 22 20 68 72 65 66 3d 22 69 6e 64 65 78 2e 78 68 74 6d 6c 23 49 6e 64 65 78 2d 6f ounds".href="index.xhtml#Index-o
7580 75 74 2d 6f 66 2d 42 6f 75 6e 64 73 22 3e 49 6e 64 65 78 20 6f 75 74 20 6f 66 20 42 6f 75 6e 64 ut-of-Bounds">Index.out.of.Bound
75a0 73 3c 2f 61 3e 3c 2f 6c 69 3e 0a 20 20 20 20 20 20 20 20 20 20 20 20 3c 6c 69 3e 3c 61 20 69 64 s</a></li>.............<li><a.id
75c0 3d 22 74 6f 63 2d 43 61 73 74 2d 4e 65 67 61 74 69 76 65 2d 4e 75 6d 62 65 72 2d 74 6f 2d 55 6e ="toc-Cast-Negative-Number-to-Un
75e0 73 69 67 6e 65 64 2d 49 6e 74 65 67 65 72 22 20 68 72 65 66 3d 22 69 6e 64 65 78 2e 78 68 74 6d signed-Integer".href="index.xhtm
7600 6c 23 43 61 73 74 2d 4e 65 67 61 74 69 76 65 2d 4e 75 6d 62 65 72 2d 74 6f 2d 55 6e 73 69 67 6e l#Cast-Negative-Number-to-Unsign
7620 65 64 2d 49 6e 74 65 67 65 72 22 3e 43 61 73 74 20 4e 65 67 61 74 69 76 65 20 4e 75 6d 62 65 72 ed-Integer">Cast.Negative.Number
7640 20 74 6f 20 55 6e 73 69 67 6e 65 64 20 49 6e 74 65 67 65 72 3c 2f 61 3e 3c 2f 6c 69 3e 0a 20 20 .to.Unsigned.Integer</a></li>...
7660 20 20 20 20 20 20 20 20 20 20 3c 6c 69 3e 3c 61 20 69 64 3d 22 74 6f 63 2d 43 61 73 74 2d 54 72 ..........<li><a.id="toc-Cast-Tr
7680 75 6e 63 61 74 65 73 2d 44 61 74 61 22 20 68 72 65 66 3d 22 69 6e 64 65 78 2e 78 68 74 6d 6c 23 uncates-Data".href="index.xhtml#
76a0 43 61 73 74 2d 54 72 75 6e 63 61 74 65 73 2d 44 61 74 61 22 3e 43 61 73 74 20 54 72 75 6e 63 61 Cast-Truncates-Data">Cast.Trunca
76c0 74 65 73 20 44 61 74 61 3c 2f 61 3e 3c 2f 6c 69 3e 0a 20 20 20 20 20 20 20 20 20 20 20 20 3c 6c tes.Data</a></li>.............<l
76e0 69 3e 3c 61 20 69 64 3d 22 74 6f 63 2d 49 6e 74 65 67 65 72 2d 4f 76 65 72 66 6c 6f 77 22 20 68 i><a.id="toc-Integer-Overflow".h
7700 72 65 66 3d 22 69 6e 64 65 78 2e 78 68 74 6d 6c 23 49 6e 74 65 67 65 72 2d 4f 76 65 72 66 6c 6f ref="index.xhtml#Integer-Overflo
7720 77 22 3e 49 6e 74 65 67 65 72 20 4f 76 65 72 66 6c 6f 77 3c 2f 61 3e 0a 20 20 20 20 20 20 20 20 w">Integer.Overflow</a>.........
7740 20 20 20 20 3c 6f 6c 3e 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 3c 6c 69 3e 3c 61 20 ....<ol>.................<li><a.
7760 69 64 3d 22 74 6f 63 2d 44 65 66 61 75 6c 74 2d 4f 70 65 72 61 74 69 6f 6e 73 22 20 68 72 65 66 id="toc-Default-Operations".href
7780 3d 22 69 6e 64 65 78 2e 78 68 74 6d 6c 23 44 65 66 61 75 6c 74 2d 4f 70 65 72 61 74 69 6f 6e 73 ="index.xhtml#Default-Operations
77a0 22 3e 44 65 66 61 75 6c 74 20 4f 70 65 72 61 74 69 6f 6e 73 3c 2f 61 3e 3c 2f 6c 69 3e 0a 20 20 ">Default.Operations</a></li>...
77c0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 3c 6c 69 3e 3c 61 20 69 64 3d 22 74 6f 63 2d 53 74 61 ..............<li><a.id="toc-Sta
77e0 6e 64 61 72 64 2d 4c 69 62 72 61 72 79 2d 4d 61 74 68 2d 46 75 6e 63 74 69 6f 6e 73 22 20 68 72 ndard-Library-Math-Functions".hr
7800 65 66 3d 22 69 6e 64 65 78 2e 78 68 74 6d 6c 23 53 74 61 6e 64 61 72 64 2d 4c 69 62 72 61 72 79 ef="index.xhtml#Standard-Library
7820 2d 4d 61 74 68 2d 46 75 6e 63 74 69 6f 6e 73 22 3e 53 74 61 6e 64 61 72 64 20 4c 69 62 72 61 72 -Math-Functions">Standard.Librar
7840 79 20 4d 61 74 68 20 46 75 6e 63 74 69 6f 6e 73 3c 2f 61 3e 3c 2f 6c 69 3e 0a 20 20 20 20 20 20 y.Math.Functions</a></li>.......
7860 20 20 20 20 20 20 20 20 20 20 3c 6c 69 3e 3c 61 20 69 64 3d 22 74 6f 63 2d 42 75 69 6c 74 69 6e ..........<li><a.id="toc-Builtin
7880 2d 4f 76 65 72 66 6c 6f 77 2d 46 75 6e 63 74 69 6f 6e 73 22 20 68 72 65 66 3d 22 69 6e 64 65 78 -Overflow-Functions".href="index
78a0 2e 78 68 74 6d 6c 23 42 75 69 6c 74 69 6e 2d 4f 76 65 72 66 6c 6f 77 2d 46 75 6e 63 74 69 6f 6e .xhtml#Builtin-Overflow-Function
78c0 73 22 3e 42 75 69 6c 74 69 6e 20 4f 76 65 72 66 6c 6f 77 20 46 75 6e 63 74 69 6f 6e 73 3c 2f 61 s">Builtin.Overflow.Functions</a
78e0 3e 3c 2f 6c 69 3e 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 3c 6c 69 3e 3c 61 20 69 64 ></li>.................<li><a.id
7900 3d 22 74 6f 63 2d 57 72 61 70 70 69 6e 67 2d 4f 70 65 72 61 74 69 6f 6e 73 22 20 68 72 65 66 3d ="toc-Wrapping-Operations".href=
7920 22 69 6e 64 65 78 2e 78 68 74 6d 6c 23 57 72 61 70 70 69 6e 67 2d 4f 70 65 72 61 74 69 6f 6e 73 "index.xhtml#Wrapping-Operations
7940 22 3e 57 72 61 70 70 69 6e 67 20 4f 70 65 72 61 74 69 6f 6e 73 3c 2f 61 3e 3c 2f 6c 69 3e 0a 20 ">Wrapping.Operations</a></li>..
7960 20 20 20 20 20 20 20 20 20 20 20 3c 2f 6f 6c 3e 3c 2f 6c 69 3e 0a 20 20 20 20 20 20 20 20 20 20 ...........</ol></li>...........
7980 20 20 3c 6c 69 3e 3c 61 20 69 64 3d 22 74 6f 63 2d 45 78 61 63 74 2d 4c 65 66 74 2d 53 68 69 66 ..<li><a.id="toc-Exact-Left-Shif
79a0 74 2d 4f 76 65 72 66 6c 6f 77 22 20 68 72 65 66 3d 22 69 6e 64 65 78 2e 78 68 74 6d 6c 23 45 78 t-Overflow".href="index.xhtml#Ex
79c0 61 63 74 2d 4c 65 66 74 2d 53 68 69 66 74 2d 4f 76 65 72 66 6c 6f 77 22 3e 45 78 61 63 74 20 4c act-Left-Shift-Overflow">Exact.L
79e0 65 66 74 20 53 68 69 66 74 20 4f 76 65 72 66 6c 6f 77 3c 2f 61 3e 3c 2f 6c 69 3e 0a 20 20 20 20 eft.Shift.Overflow</a></li>.....
7a00 20 20 20 20 20 20 20 20 3c 6c 69 3e 3c 61 20 69 64 3d 22 74 6f 63 2d 45 78 61 63 74 2d 52 69 67 ........<li><a.id="toc-Exact-Rig
7a20 68 74 2d 53 68 69 66 74 2d 4f 76 65 72 66 6c 6f 77 22 20 68 72 65 66 3d 22 69 6e 64 65 78 2e 78 ht-Shift-Overflow".href="index.x
7a40 68 74 6d 6c 23 45 78 61 63 74 2d 52 69 67 68 74 2d 53 68 69 66 74 2d 4f 76 65 72 66 6c 6f 77 22 html#Exact-Right-Shift-Overflow"
7a60 3e 45 78 61 63 74 20 52 69 67 68 74 20 53 68 69 66 74 20 4f 76 65 72 66 6c 6f 77 3c 2f 61 3e 3c >Exact.Right.Shift.Overflow</a><
7a80 2f 6c 69 3e 0a 20 20 20 20 20 20 20 20 20 20 20 20 3c 6c 69 3e 3c 61 20 69 64 3d 22 74 6f 63 2d /li>.............<li><a.id="toc-
7aa0 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 68 Division-by-Zero".href="index.xh
7ac0 74 6d 6c 23 44 69 76 69 73 69 6f 6e 2d 62 79 2d 5a 65 72 6f 22 3e 44 69 76 69 73 69 6f 6e 20 62 tml#Division-by-Zero">Division.b
7ae0 79 20 5a 65 72 6f 3c 2f 61 3e 3c 2f 6c 69 3e 0a 20 20 20 20 20 20 20 20 20 20 20 20 3c 6c 69 3e y.Zero</a></li>.............<li>
7b00 3c 61 20 69 64 3d 22 74 6f 63 2d 52 65 6d 61 69 6e 64 65 72 2d 44 69 76 69 73 69 6f 6e 2d 62 79 <a.id="toc-Remainder-Division-by
7b20 2d 5a 65 72 6f 22 20 68 72 65 66 3d 22 69 6e 64 65 78 2e 78 68 74 6d 6c 23 52 65 6d 61 69 6e 64 -Zero".href="index.xhtml#Remaind
7b40 65 72 2d 44 69 76 69 73 69 6f 6e 2d 62 79 2d 5a 65 72 6f 22 3e 52 65 6d 61 69 6e 64 65 72 20 44 er-Division-by-Zero">Remainder.D
7b60 69 76 69 73 69 6f 6e 20 62 79 20 5a 65 72 6f 3c 2f 61 3e 3c 2f 6c 69 3e 0a 20 20 20 20 20 20 20 ivision.by.Zero</a></li>........
7b80 20 20 20 20 20 3c 6c 69 3e 3c 61 20 69 64 3d 22 74 6f 63 2d 45 78 61 63 74 2d 44 69 76 69 73 69 .....<li><a.id="toc-Exact-Divisi
7ba0 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#
7bc0 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.
7be0 44 69 76 69 73 69 6f 6e 20 52 65 6d 61 69 6e 64 65 72 3c 2f 61 3e 3c 2f 6c 69 3e 0a 20 20 20 20 Division.Remainder</a></li>.....
7c00 20 20 20 20 20 20 20 20 3c 6c 69 3e 3c 61 20 69 64 3d 22 74 6f 63 2d 41 74 74 65 6d 70 74 2d 74 ........<li><a.id="toc-Attempt-t
7c20 6f 2d 55 6e 77 72 61 70 2d 4e 75 6c 6c 22 20 68 72 65 66 3d 22 69 6e 64 65 78 2e 78 68 74 6d 6c o-Unwrap-Null".href="index.xhtml
7c40 23 41 74 74 65 6d 70 74 2d 74 6f 2d 55 6e 77 72 61 70 2d 4e 75 6c 6c 22 3e 41 74 74 65 6d 70 74 #Attempt-to-Unwrap-Null">Attempt
7c60 20 74 6f 20 55 6e 77 72 61 70 20 4e 75 6c 6c 3c 2f 61 3e 3c 2f 6c 69 3e 0a 20 20 20 20 20 20 20 .to.Unwrap.Null</a></li>........
7c80 20 20 20 20 20 3c 6c 69 3e 3c 61 20 69 64 3d 22 74 6f 63 2d 41 74 74 65 6d 70 74 2d 74 6f 2d 55 .....<li><a.id="toc-Attempt-to-U
7ca0 6e 77 72 61 70 2d 45 72 72 6f 72 22 20 68 72 65 66 3d 22 69 6e 64 65 78 2e 78 68 74 6d 6c 23 41 nwrap-Error".href="index.xhtml#A
7cc0 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 20 ttempt-to-Unwrap-Error">Attempt.
7ce0 74 6f 20 55 6e 77 72 61 70 20 45 72 72 6f 72 3c 2f 61 3e 3c 2f 6c 69 3e 0a 20 20 20 20 20 20 20 to.Unwrap.Error</a></li>........
7d00 20 20 20 20 20 3c 6c 69 3e 3c 61 20 69 64 3d 22 74 6f 63 2d 49 6e 76 61 6c 69 64 2d 45 72 72 6f .....<li><a.id="toc-Invalid-Erro
7d20 72 2d 43 6f 64 65 22 20 68 72 65 66 3d 22 69 6e 64 65 78 2e 78 68 74 6d 6c 23 49 6e 76 61 6c 69 r-Code".href="index.xhtml#Invali
7d40 64 2d 45 72 72 6f 72 2d 43 6f 64 65 22 3e 49 6e 76 61 6c 69 64 20 45 72 72 6f 72 20 43 6f 64 65 d-Error-Code">Invalid.Error.Code
7d60 3c 2f 61 3e 3c 2f 6c 69 3e 0a 20 20 20 20 20 20 20 20 20 20 20 20 3c 6c 69 3e 3c 61 20 69 64 3d </a></li>.............<li><a.id=
7d80 22 74 6f 63 2d 49 6e 76 61 6c 69 64 2d 45 6e 75 6d 2d 43 61 73 74 22 20 68 72 65 66 3d 22 69 6e "toc-Invalid-Enum-Cast".href="in
7da0 64 65 78 2e 78 68 74 6d 6c 23 49 6e 76 61 6c 69 64 2d 45 6e 75 6d 2d 43 61 73 74 22 3e 49 6e 76 dex.xhtml#Invalid-Enum-Cast">Inv
7dc0 61 6c 69 64 20 45 6e 75 6d 20 43 61 73 74 3c 2f 61 3e 3c 2f 6c 69 3e 0a 20 20 20 20 20 20 20 20 alid.Enum.Cast</a></li>.........
7de0 20 20 20 20 3c 6c 69 3e 3c 61 20 69 64 3d 22 74 6f 63 2d 49 6e 76 61 6c 69 64 2d 45 72 72 6f 72 ....<li><a.id="toc-Invalid-Error
7e00 2d 53 65 74 2d 43 61 73 74 22 20 68 72 65 66 3d 22 69 6e 64 65 78 2e 78 68 74 6d 6c 23 49 6e 76 -Set-Cast".href="index.xhtml#Inv
7e20 61 6c 69 64 2d 45 72 72 6f 72 2d 53 65 74 2d 43 61 73 74 22 3e 49 6e 76 61 6c 69 64 20 45 72 72 alid-Error-Set-Cast">Invalid.Err
7e40 6f 72 20 53 65 74 20 43 61 73 74 3c 2f 61 3e 3c 2f 6c 69 3e 0a 20 20 20 20 20 20 20 20 20 20 20 or.Set.Cast</a></li>............
7e60 20 3c 6c 69 3e 3c 61 20 69 64 3d 22 74 6f 63 2d 49 6e 63 6f 72 72 65 63 74 2d 50 6f 69 6e 74 65 .<li><a.id="toc-Incorrect-Pointe
7e80 72 2d 41 6c 69 67 6e 6d 65 6e 74 22 20 68 72 65 66 3d 22 69 6e 64 65 78 2e 78 68 74 6d 6c 23 49 r-Alignment".href="index.xhtml#I
7ea0 6e 63 6f 72 72 65 63 74 2d 50 6f 69 6e 74 65 72 2d 41 6c 69 67 6e 6d 65 6e 74 22 3e 49 6e 63 6f ncorrect-Pointer-Alignment">Inco
7ec0 72 72 65 63 74 20 50 6f 69 6e 74 65 72 20 41 6c 69 67 6e 6d 65 6e 74 3c 2f 61 3e 3c 2f 6c 69 3e rrect.Pointer.Alignment</a></li>
7ee0 0a 20 20 20 20 20 20 20 20 20 20 20 20 3c 6c 69 3e 3c 61 20 69 64 3d 22 74 6f 63 2d 57 72 6f 6e .............<li><a.id="toc-Wron
7f00 67 2d 55 6e 69 6f 6e 2d 46 69 65 6c 64 2d 41 63 63 65 73 73 22 20 68 72 65 66 3d 22 69 6e 64 65 g-Union-Field-Access".href="inde
7f20 78 2e 78 68 74 6d 6c 23 57 72 6f 6e 67 2d 55 6e 69 6f 6e 2d 46 69 65 6c 64 2d 41 63 63 65 73 73 x.xhtml#Wrong-Union-Field-Access
7f40 22 3e 57 72 6f 6e 67 20 55 6e 69 6f 6e 20 46 69 65 6c 64 20 41 63 63 65 73 73 3c 2f 61 3e 3c 2f ">Wrong.Union.Field.Access</a></
7f60 6c 69 3e 0a 20 20 20 20 20 20 20 20 20 20 20 20 3c 6c 69 3e 3c 61 20 69 64 3d 22 74 6f 63 2d 4f li>.............<li><a.id="toc-O
7f80 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
7fa0 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
7fc0 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
7fe0 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</
8000 61 3e 3c 2f 6c 69 3e 0a 20 20 20 20 20 20 20 20 20 20 20 20 3c 6c 69 3e 3c 61 20 69 64 3d 22 74 a></li>.............<li><a.id="t
8020 6f 63 2d 50 6f 69 6e 74 65 72 2d 43 61 73 74 2d 49 6e 76 61 6c 69 64 2d 4e 75 6c 6c 22 20 68 72 oc-Pointer-Cast-Invalid-Null".hr
8040 65 66 3d 22 69 6e 64 65 78 2e 78 68 74 6d 6c 23 50 6f 69 6e 74 65 72 2d 43 61 73 74 2d 49 6e 76 ef="index.xhtml#Pointer-Cast-Inv
8060 61 6c 69 64 2d 4e 75 6c 6c 22 3e 50 6f 69 6e 74 65 72 20 43 61 73 74 20 49 6e 76 61 6c 69 64 20 alid-Null">Pointer.Cast.Invalid.
8080 4e 75 6c 6c 3c 2f 61 3e 3c 2f 6c 69 3e 0a 20 20 20 20 20 20 20 20 3c 2f 6f 6c 3e 3c 2f 6c 69 3e Null</a></li>.........</ol></li>
80a0 0a 20 20 20 20 20 20 20 20 3c 6c 69 3e 3c 61 20 69 64 3d 22 74 6f 63 2d 4d 65 6d 6f 72 79 22 20 .........<li><a.id="toc-Memory".
80c0 68 72 65 66 3d 22 69 6e 64 65 78 2e 78 68 74 6d 6c 23 4d 65 6d 6f 72 79 22 3e 4d 65 6d 6f 72 79 href="index.xhtml#Memory">Memory
80e0 3c 2f 61 3e 0a 20 20 20 20 20 20 20 20 3c 6f 6c 3e 0a 20 20 20 20 20 20 20 20 20 20 20 20 3c 6c </a>.........<ol>.............<l
8100 69 3e 3c 61 20 69 64 3d 22 74 6f 63 2d 43 68 6f 6f 73 69 6e 67 2d 61 6e 2d 41 6c 6c 6f 63 61 74 i><a.id="toc-Choosing-an-Allocat
8120 6f 72 22 20 68 72 65 66 3d 22 69 6e 64 65 78 2e 78 68 74 6d 6c 23 43 68 6f 6f 73 69 6e 67 2d 61 or".href="index.xhtml#Choosing-a
8140 6e 2d 41 6c 6c 6f 63 61 74 6f 72 22 3e 43 68 6f 6f 73 69 6e 67 20 61 6e 20 41 6c 6c 6f 63 61 74 n-Allocator">Choosing.an.Allocat
8160 6f 72 3c 2f 61 3e 3c 2f 6c 69 3e 0a 20 20 20 20 20 20 20 20 20 20 20 20 3c 6c 69 3e 3c 61 20 69 or</a></li>.............<li><a.i
8180 64 3d 22 74 6f 63 2d 57 68 65 72 65 2d 61 72 65 2d 74 68 65 2d 62 79 74 65 73 22 20 68 72 65 66 d="toc-Where-are-the-bytes".href
81a0 3d 22 69 6e 64 65 78 2e 78 68 74 6d 6c 23 57 68 65 72 65 2d 61 72 65 2d 74 68 65 2d 62 79 74 65 ="index.xhtml#Where-are-the-byte
81c0 73 22 3e 57 68 65 72 65 20 61 72 65 20 74 68 65 20 62 79 74 65 73 3f 3c 2f 61 3e 3c 2f 6c 69 3e s">Where.are.the.bytes?</a></li>
81e0 0a 20 20 20 20 20 20 20 20 20 20 20 20 3c 6c 69 3e 3c 61 20 69 64 3d 22 74 6f 63 2d 48 65 61 70 .............<li><a.id="toc-Heap
8200 2d 41 6c 6c 6f 63 61 74 69 6f 6e 2d 46 61 69 6c 75 72 65 22 20 68 72 65 66 3d 22 69 6e 64 65 78 -Allocation-Failure".href="index
8220 2e 78 68 74 6d 6c 23 48 65 61 70 2d 41 6c 6c 6f 63 61 74 69 6f 6e 2d 46 61 69 6c 75 72 65 22 3e .xhtml#Heap-Allocation-Failure">
8240 48 65 61 70 20 41 6c 6c 6f 63 61 74 69 6f 6e 20 46 61 69 6c 75 72 65 3c 2f 61 3e 3c 2f 6c 69 3e Heap.Allocation.Failure</a></li>
8260 0a 20 20 20 20 20 20 20 20 20 20 20 20 3c 6c 69 3e 3c 61 20 69 64 3d 22 74 6f 63 2d 52 65 63 75 .............<li><a.id="toc-Recu
8280 72 73 69 6f 6e 22 20 68 72 65 66 3d 22 69 6e 64 65 78 2e 78 68 74 6d 6c 23 52 65 63 75 72 73 69 rsion".href="index.xhtml#Recursi
82a0 6f 6e 22 3e 52 65 63 75 72 73 69 6f 6e 3c 2f 61 3e 3c 2f 6c 69 3e 0a 20 20 20 20 20 20 20 20 20 on">Recursion</a></li>..........
82c0 20 20 20 3c 6c 69 3e 3c 61 20 69 64 3d 22 74 6f 63 2d 4c 69 66 65 74 69 6d 65 2d 61 6e 64 2d 4f ...<li><a.id="toc-Lifetime-and-O
82e0 77 6e 65 72 73 68 69 70 22 20 68 72 65 66 3d 22 69 6e 64 65 78 2e 78 68 74 6d 6c 23 4c 69 66 65 wnership".href="index.xhtml#Life
8300 74 69 6d 65 2d 61 6e 64 2d 4f 77 6e 65 72 73 68 69 70 22 3e 4c 69 66 65 74 69 6d 65 20 61 6e 64 time-and-Ownership">Lifetime.and
8320 20 4f 77 6e 65 72 73 68 69 70 3c 2f 61 3e 3c 2f 6c 69 3e 0a 20 20 20 20 20 20 20 20 3c 2f 6f 6c .Ownership</a></li>.........</ol
8340 3e 3c 2f 6c 69 3e 0a 20 20 20 20 20 20 20 20 3c 6c 69 3e 3c 61 20 69 64 3d 22 74 6f 63 2d 43 6f ></li>.........<li><a.id="toc-Co
8360 6d 70 69 6c 65 2d 56 61 72 69 61 62 6c 65 73 22 20 68 72 65 66 3d 22 69 6e 64 65 78 2e 78 68 74 mpile-Variables".href="index.xht
8380 6d 6c 23 43 6f 6d 70 69 6c 65 2d 56 61 72 69 61 62 6c 65 73 22 3e 43 6f 6d 70 69 6c 65 20 56 61 ml#Compile-Variables">Compile.Va
83a0 72 69 61 62 6c 65 73 3c 2f 61 3e 3c 2f 6c 69 3e 0a 20 20 20 20 20 20 20 20 3c 6c 69 3e 3c 61 20 riables</a></li>.........<li><a.
83c0 69 64 3d 22 74 6f 63 2d 43 6f 6d 70 69 6c 61 74 69 6f 6e 2d 4d 6f 64 65 6c 22 20 68 72 65 66 3d id="toc-Compilation-Model".href=
83e0 22 69 6e 64 65 78 2e 78 68 74 6d 6c 23 43 6f 6d 70 69 6c 61 74 69 6f 6e 2d 4d 6f 64 65 6c 22 3e "index.xhtml#Compilation-Model">
8400 43 6f 6d 70 69 6c 61 74 69 6f 6e 20 4d 6f 64 65 6c 3c 2f 61 3e 0a 20 20 20 20 20 20 20 20 3c 6f Compilation.Model</a>.........<o
8420 6c 3e 0a 20 20 20 20 20 20 20 20 20 20 20 20 3c 6c 69 3e 3c 61 20 69 64 3d 22 74 6f 63 2d 53 6f l>.............<li><a.id="toc-So
8440 75 72 63 65 2d 46 69 6c 65 2d 53 74 72 75 63 74 73 22 20 68 72 65 66 3d 22 69 6e 64 65 78 2e 78 urce-File-Structs".href="index.x
8460 68 74 6d 6c 23 53 6f 75 72 63 65 2d 46 69 6c 65 2d 53 74 72 75 63 74 73 22 3e 53 6f 75 72 63 65 html#Source-File-Structs">Source
8480 20 46 69 6c 65 20 53 74 72 75 63 74 73 3c 2f 61 3e 3c 2f 6c 69 3e 0a 20 20 20 20 20 20 20 20 20 .File.Structs</a></li>..........
84a0 20 20 20 3c 6c 69 3e 3c 61 20 69 64 3d 22 74 6f 63 2d 46 69 6c 65 2d 61 6e 64 2d 44 65 63 6c 61 ...<li><a.id="toc-File-and-Decla
84c0 72 61 74 69 6f 6e 2d 44 69 73 63 6f 76 65 72 79 22 20 68 72 65 66 3d 22 69 6e 64 65 78 2e 78 68 ration-Discovery".href="index.xh
84e0 74 6d 6c 23 46 69 6c 65 2d 61 6e 64 2d 44 65 63 6c 61 72 61 74 69 6f 6e 2d 44 69 73 63 6f 76 65 tml#File-and-Declaration-Discove
8500 72 79 22 3e 46 69 6c 65 20 61 6e 64 20 44 65 63 6c 61 72 61 74 69 6f 6e 20 44 69 73 63 6f 76 65 ry">File.and.Declaration.Discove
8520 72 79 3c 2f 61 3e 3c 2f 6c 69 3e 0a 20 20 20 20 20 20 20 20 20 20 20 20 3c 6c 69 3e 3c 61 20 69 ry</a></li>.............<li><a.i
8540 64 3d 22 74 6f 63 2d 53 70 65 63 69 61 6c 2d 52 6f 6f 74 2d 44 65 63 6c 61 72 61 74 69 6f 6e 73 d="toc-Special-Root-Declarations
8560 22 20 68 72 65 66 3d 22 69 6e 64 65 78 2e 78 68 74 6d 6c 23 53 70 65 63 69 61 6c 2d 52 6f 6f 74 ".href="index.xhtml#Special-Root
8580 2d 44 65 63 6c 61 72 61 74 69 6f 6e 73 22 3e 53 70 65 63 69 61 6c 20 52 6f 6f 74 20 44 65 63 6c -Declarations">Special.Root.Decl
85a0 61 72 61 74 69 6f 6e 73 3c 2f 61 3e 0a 20 20 20 20 20 20 20 20 20 20 20 20 3c 6f 6c 3e 0a 20 20 arations</a>.............<ol>...
85c0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 3c 6c 69 3e 3c 61 20 69 64 3d 22 74 6f 63 2d 45 6e 74 ..............<li><a.id="toc-Ent
85e0 72 79 2d 50 6f 69 6e 74 22 20 68 72 65 66 3d 22 69 6e 64 65 78 2e 78 68 74 6d 6c 23 45 6e 74 72 ry-Point".href="index.xhtml#Entr
8600 79 2d 50 6f 69 6e 74 22 3e 45 6e 74 72 79 20 50 6f 69 6e 74 3c 2f 61 3e 3c 2f 6c 69 3e 0a 20 20 y-Point">Entry.Point</a></li>...
8620 20 20 20 20 20 20 20 20 20 20 20 20 20 20 3c 6c 69 3e 3c 61 20 69 64 3d 22 74 6f 63 2d 53 74 61 ..............<li><a.id="toc-Sta
8640 6e 64 61 72 64 2d 4c 69 62 72 61 72 79 2d 4f 70 74 69 6f 6e 73 22 20 68 72 65 66 3d 22 69 6e 64 ndard-Library-Options".href="ind
8660 65 78 2e 78 68 74 6d 6c 23 53 74 61 6e 64 61 72 64 2d 4c 69 62 72 61 72 79 2d 4f 70 74 69 6f 6e ex.xhtml#Standard-Library-Option
8680 73 22 3e 53 74 61 6e 64 61 72 64 20 4c 69 62 72 61 72 79 20 4f 70 74 69 6f 6e 73 3c 2f 61 3e 3c s">Standard.Library.Options</a><
86a0 2f 6c 69 3e 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 3c 6c 69 3e 3c 61 20 69 64 3d 22 /li>.................<li><a.id="
86c0 74 6f 63 2d 50 61 6e 69 63 2d 48 61 6e 64 6c 65 72 22 20 68 72 65 66 3d 22 69 6e 64 65 78 2e 78 toc-Panic-Handler".href="index.x
86e0 68 74 6d 6c 23 50 61 6e 69 63 2d 48 61 6e 64 6c 65 72 22 3e 50 61 6e 69 63 20 48 61 6e 64 6c 65 html#Panic-Handler">Panic.Handle
8700 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 6f 6c 3e 3c 2f 6c 69 r</a></li>.............</ol></li
8720 3e 0a 20 20 20 20 20 20 20 20 3c 2f 6f 6c 3e 3c 2f 6c 69 3e 0a 20 20 20 20 20 20 20 20 3c 6c 69 >.........</ol></li>.........<li
8740 3e 3c 61 20 69 64 3d 22 74 6f 63 2d 5a 69 67 2d 42 75 69 6c 64 2d 53 79 73 74 65 6d 22 20 68 72 ><a.id="toc-Zig-Build-System".hr
8760 65 66 3d 22 69 6e 64 65 78 2e 78 68 74 6d 6c 23 5a 69 67 2d 42 75 69 6c 64 2d 53 79 73 74 65 6d ef="index.xhtml#Zig-Build-System
8780 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 20 20 20 20 ">Zig.Build.System</a></li>.....
87a0 20 20 20 20 3c 6c 69 3e 3c 61 20 69 64 3d 22 74 6f 63 2d 43 22 20 68 72 65 66 3d 22 69 6e 64 65 ....<li><a.id="toc-C".href="inde
87c0 78 2e 78 68 74 6d 6c 23 43 22 3e 43 3c 2f 61 3e 0a 20 20 20 20 20 20 20 20 3c 6f 6c 3e 0a 20 20 x.xhtml#C">C</a>.........<ol>...
87e0 20 20 20 20 20 20 20 20 20 20 3c 6c 69 3e 3c 61 20 69 64 3d 22 74 6f 63 2d 43 2d 54 79 70 65 2d ..........<li><a.id="toc-C-Type-
8800 50 72 69 6d 69 74 69 76 65 73 22 20 68 72 65 66 3d 22 69 6e 64 65 78 2e 78 68 74 6d 6c 23 43 2d Primitives".href="index.xhtml#C-
8820 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 69 76 Type-Primitives">C.Type.Primitiv
8840 65 73 3c 2f 61 3e 3c 2f 6c 69 3e 0a 20 20 20 20 20 20 20 20 20 20 20 20 3c 6c 69 3e 3c 61 20 69 es</a></li>.............<li><a.i
8860 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 66 3d 22 d="toc-C-Translation-CLI".href="
8880 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 22 3e 43 index.xhtml#C-Translation-CLI">C
88a0 20 54 72 61 6e 73 6c 61 74 69 6f 6e 20 43 4c 49 3c 2f 61 3e 0a 20 20 20 20 20 20 20 20 20 20 20 .Translation.CLI</a>............
88c0 20 3c 6f 6c 3e 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 3c 6c 69 3e 3c 61 20 69 64 3d .<ol>.................<li><a.id=
88e0 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 68 72 65 66 3d 22 69 "toc-Command-line-flags".href="i
8900 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 6c 61 67 73 22 3e 43 ndex.xhtml#Command-line-flags">C
8920 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 3e 0a 20 20 20 20 20 ommand.line.flags</a></li>......
8940 20 20 20 20 20 20 20 20 20 20 20 3c 6c 69 3e 3c 61 20 69 64 3d 22 74 6f 63 2d 55 73 69 6e 67 2d ...........<li><a.id="toc-Using-
8960 2d 74 61 72 67 65 74 2d 61 6e 64 2d 2d 63 66 6c 61 67 73 22 20 68 72 65 66 3d 22 69 6e 64 65 78 -target-and--cflags".href="index
8980 2e 78 68 74 6d 6c 23 55 73 69 6e 67 2d 2d 74 61 72 67 65 74 2d 61 6e 64 2d 2d 63 66 6c 61 67 73 .xhtml#Using--target-and--cflags
89a0 22 3e 55 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 3c ">Using.-target.and.-cflags</a><
89c0 2f 6c 69 3e 0a 20 20 20 20 20 20 20 20 20 20 20 20 3c 2f 6f 6c 3e 3c 2f 6c 69 3e 0a 20 20 20 20 /li>.............</ol></li>.....
89e0 20 20 20 20 20 20 20 20 3c 6c 69 3e 3c 61 20 69 64 3d 22 74 6f 63 2d 54 72 61 6e 73 6c 61 74 69 ........<li><a.id="toc-Translati
8a00 6f 6e 2d 66 61 69 6c 75 72 65 73 22 20 68 72 65 66 3d 22 69 6e 64 65 78 2e 78 68 74 6d 6c 23 54 on-failures".href="index.xhtml#T
8a20 72 61 6e 73 6c 61 74 69 6f 6e 2d 66 61 69 6c 75 72 65 73 22 3e 54 72 61 6e 73 6c 61 74 69 6f 6e ranslation-failures">Translation
8a40 20 66 61 69 6c 75 72 65 73 3c 2f 61 3e 3c 2f 6c 69 3e 0a 20 20 20 20 20 20 20 20 20 20 20 20 3c .failures</a></li>.............<
8a60 6c 69 3e 3c 61 20 69 64 3d 22 74 6f 63 2d 43 2d 50 6f 69 6e 74 65 72 73 22 20 68 72 65 66 3d 22 li><a.id="toc-C-Pointers".href="
8a80 69 6e 64 65 78 2e 78 68 74 6d 6c 23 43 2d 50 6f 69 6e 74 65 72 73 22 3e 43 20 50 6f 69 6e 74 65 index.xhtml#C-Pointers">C.Pointe
8aa0 72 73 3c 2f 61 3e 3c 2f 6c 69 3e 0a 20 20 20 20 20 20 20 20 20 20 20 20 3c 6c 69 3e 3c 61 20 69 rs</a></li>.............<li><a.i
8ac0 64 3d 22 74 6f 63 2d 43 2d 56 61 72 69 61 64 69 63 2d 46 75 6e 63 74 69 6f 6e 73 22 20 68 72 65 d="toc-C-Variadic-Functions".hre
8ae0 66 3d 22 69 6e 64 65 78 2e 78 68 74 6d 6c 23 43 2d 56 61 72 69 61 64 69 63 2d 46 75 6e 63 74 69 f="index.xhtml#C-Variadic-Functi
8b00 6f 6e 73 22 3e 43 20 56 61 72 69 61 64 69 63 20 46 75 6e 63 74 69 6f 6e 73 3c 2f 61 3e 3c 2f 6c ons">C.Variadic.Functions</a></l
8b20 69 3e 0a 20 20 20 20 20 20 20 20 20 20 20 20 3c 6c 69 3e 3c 61 20 69 64 3d 22 74 6f 63 2d 45 78 i>.............<li><a.id="toc-Ex
8b40 70 6f 72 74 69 6e 67 2d 61 2d 43 2d 4c 69 62 72 61 72 79 22 20 68 72 65 66 3d 22 69 6e 64 65 78 porting-a-C-Library".href="index
8b60 2e 78 68 74 6d 6c 23 45 78 70 6f 72 74 69 6e 67 2d 61 2d 43 2d 4c 69 62 72 61 72 79 22 3e 45 78 .xhtml#Exporting-a-C-Library">Ex
8b80 70 6f 72 74 69 6e 67 20 61 20 43 20 4c 69 62 72 61 72 79 3c 2f 61 3e 3c 2f 6c 69 3e 0a 20 20 20 porting.a.C.Library</a></li>....
8ba0 20 20 20 20 20 20 20 20 20 3c 6c 69 3e 3c 61 20 69 64 3d 22 74 6f 63 2d 4d 69 78 69 6e 67 2d 4f .........<li><a.id="toc-Mixing-O
8bc0 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
8be0 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
8c00 74 20 46 69 6c 65 73 3c 2f 61 3e 3c 2f 6c 69 3e 0a 20 20 20 20 20 20 20 20 3c 2f 6f 6c 3e 3c 2f t.Files</a></li>.........</ol></
8c20 6c 69 3e 0a 20 20 20 20 20 20 20 20 3c 6c 69 3e 3c 61 20 69 64 3d 22 74 6f 63 2d 57 65 62 41 73 li>.........<li><a.id="toc-WebAs
8c40 73 65 6d 62 6c 79 22 20 68 72 65 66 3d 22 69 6e 64 65 78 2e 78 68 74 6d 6c 23 57 65 62 41 73 73 sembly".href="index.xhtml#WebAss
8c60 65 6d 62 6c 79 22 3e 57 65 62 41 73 73 65 6d 62 6c 79 3c 2f 61 3e 0a 20 20 20 20 20 20 20 20 3c embly">WebAssembly</a>.........<
8c80 6f 6c 3e 0a 20 20 20 20 20 20 20 20 20 20 20 20 3c 6c 69 3e 3c 61 20 69 64 3d 22 74 6f 63 2d 46 ol>.............<li><a.id="toc-F
8ca0 72 65 65 73 74 61 6e 64 69 6e 67 22 20 68 72 65 66 3d 22 69 6e 64 65 78 2e 78 68 74 6d 6c 23 46 reestanding".href="index.xhtml#F
8cc0 72 65 65 73 74 61 6e 64 69 6e 67 22 3e 46 72 65 65 73 74 61 6e 64 69 6e 67 3c 2f 61 3e 3c 2f 6c reestanding">Freestanding</a></l
8ce0 69 3e 0a 20 20 20 20 20 20 20 20 20 20 20 20 3c 6c 69 3e 3c 61 20 69 64 3d 22 74 6f 63 2d 57 41 i>.............<li><a.id="toc-WA
8d00 53 49 22 20 68 72 65 66 3d 22 69 6e 64 65 78 2e 78 68 74 6d 6c 23 57 41 53 49 22 3e 57 41 53 49 SI".href="index.xhtml#WASI">WASI
8d20 3c 2f 61 3e 3c 2f 6c 69 3e 0a 20 20 20 20 20 20 20 20 3c 2f 6f 6c 3e 3c 2f 6c 69 3e 0a 20 20 20 </a></li>.........</ol></li>....
8d40 20 20 20 20 20 3c 6c 69 3e 3c 61 20 69 64 3d 22 74 6f 63 2d 54 61 72 67 65 74 73 22 20 68 72 65 .....<li><a.id="toc-Targets".hre
8d60 66 3d 22 69 6e 64 65 78 2e 78 68 74 6d 6c 23 54 61 72 67 65 74 73 22 3e 54 61 72 67 65 74 73 3c f="index.xhtml#Targets">Targets<
8d80 2f 61 3e 3c 2f 6c 69 3e 0a 20 20 20 20 20 20 20 20 3c 6c 69 3e 3c 61 20 69 64 3d 22 74 6f 63 2d /a></li>.........<li><a.id="toc-
8da0 53 74 79 6c 65 2d 47 75 69 64 65 22 20 68 72 65 66 3d 22 69 6e 64 65 78 2e 78 68 74 6d 6c 23 53 Style-Guide".href="index.xhtml#S
8dc0 74 79 6c 65 2d 47 75 69 64 65 22 3e 53 74 79 6c 65 20 47 75 69 64 65 3c 2f 61 3e 0a 20 20 20 20 tyle-Guide">Style.Guide</a>.....
8de0 20 20 20 20 3c 6f 6c 3e 0a 20 20 20 20 20 20 20 20 20 20 20 20 3c 6c 69 3e 3c 61 20 69 64 3d 22 ....<ol>.............<li><a.id="
8e00 74 6f 63 2d 41 76 6f 69 64 2d 52 65 64 75 6e 64 61 6e 63 79 2d 69 6e 2d 4e 61 6d 65 73 22 20 68 toc-Avoid-Redundancy-in-Names".h
8e20 72 65 66 3d 22 69 6e 64 65 78 2e 78 68 74 6d 6c 23 41 76 6f 69 64 2d 52 65 64 75 6e 64 61 6e 63 ref="index.xhtml#Avoid-Redundanc
8e40 79 2d 69 6e 2d 4e 61 6d 65 73 22 3e 41 76 6f 69 64 20 52 65 64 75 6e 64 61 6e 63 79 20 69 6e 20 y-in-Names">Avoid.Redundancy.in.
8e60 4e 61 6d 65 73 3c 2f 61 3e 3c 2f 6c 69 3e 0a 20 20 20 20 20 20 20 20 20 20 20 20 3c 6c 69 3e 3c Names</a></li>.............<li><
8e80 61 20 69 64 3d 22 74 6f 63 2d 41 76 6f 69 64 2d 52 65 64 75 6e 64 61 6e 74 2d 4e 61 6d 65 73 2d a.id="toc-Avoid-Redundant-Names-
8ea0 69 6e 2d 46 75 6c 6c 79 2d 51 75 61 6c 69 66 69 65 64 2d 4e 61 6d 65 73 70 61 63 65 73 22 20 68 in-Fully-Qualified-Namespaces".h
8ec0 72 65 66 3d 22 69 6e 64 65 78 2e 78 68 74 6d 6c 23 41 76 6f 69 64 2d 52 65 64 75 6e 64 61 6e 74 ref="index.xhtml#Avoid-Redundant
8ee0 2d 4e 61 6d 65 73 2d 69 6e 2d 46 75 6c 6c 79 2d 51 75 61 6c 69 66 69 65 64 2d 4e 61 6d 65 73 70 -Names-in-Fully-Qualified-Namesp
8f00 61 63 65 73 22 3e 41 76 6f 69 64 20 52 65 64 75 6e 64 61 6e 74 20 4e 61 6d 65 73 20 69 6e 20 46 aces">Avoid.Redundant.Names.in.F
8f20 75 6c 6c 79 2d 51 75 61 6c 69 66 69 65 64 20 4e 61 6d 65 73 70 61 63 65 73 3c 2f 61 3e 3c 2f 6c ully-Qualified.Namespaces</a></l
8f40 69 3e 0a 20 20 20 20 20 20 20 20 20 20 20 20 3c 6c 69 3e 3c 61 20 69 64 3d 22 74 6f 63 2d 52 65 i>.............<li><a.id="toc-Re
8f60 66 72 61 69 6e 2d 66 72 6f 6d 2d 55 6e 64 65 72 73 63 6f 72 65 2d 50 72 65 66 69 78 65 73 22 20 frain-from-Underscore-Prefixes".
8f80 68 72 65 66 3d 22 69 6e 64 65 78 2e 78 68 74 6d 6c 23 52 65 66 72 61 69 6e 2d 66 72 6f 6d 2d 55 href="index.xhtml#Refrain-from-U
8fa0 6e 64 65 72 73 63 6f 72 65 2d 50 72 65 66 69 78 65 73 22 3e 52 65 66 72 61 69 6e 20 66 72 6f 6d nderscore-Prefixes">Refrain.from
8fc0 20 55 6e 64 65 72 73 63 6f 72 65 20 50 72 65 66 69 78 65 73 3c 2f 61 3e 3c 2f 6c 69 3e 0a 20 20 .Underscore.Prefixes</a></li>...
8fe0 20 20 20 20 20 20 20 20 20 20 3c 6c 69 3e 3c 61 20 69 64 3d 22 74 6f 63 2d 57 68 69 74 65 73 70 ..........<li><a.id="toc-Whitesp
9000 61 63 65 22 20 68 72 65 66 3d 22 69 6e 64 65 78 2e 78 68 74 6d 6c 23 57 68 69 74 65 73 70 61 63 ace".href="index.xhtml#Whitespac
9020 65 22 3e 57 68 69 74 65 73 70 61 63 65 3c 2f 61 3e 3c 2f 6c 69 3e 0a 20 20 20 20 20 20 20 20 20 e">Whitespace</a></li>..........
9040 20 20 20 3c 6c 69 3e 3c 61 20 69 64 3d 22 74 6f 63 2d 4e 61 6d 65 73 22 20 68 72 65 66 3d 22 69 ...<li><a.id="toc-Names".href="i
9060 6e 64 65 78 2e 78 68 74 6d 6c 23 4e 61 6d 65 73 22 3e 4e 61 6d 65 73 3c 2f 61 3e 3c 2f 6c 69 3e ndex.xhtml#Names">Names</a></li>
9080 0a 20 20 20 20 20 20 20 20 20 20 20 20 3c 6c 69 3e 3c 61 20 69 64 3d 22 74 6f 63 2d 45 78 61 6d .............<li><a.id="toc-Exam
90a0 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 73 ples".href="index.xhtml#Examples
90c0 22 3e 45 78 61 6d 70 6c 65 73 3c 2f 61 3e 3c 2f 6c 69 3e 0a 20 20 20 20 20 20 20 20 20 20 20 20 ">Examples</a></li>.............
90e0 3c 6c 69 3e 3c 61 20 69 64 3d 22 74 6f 63 2d 44 6f 63 2d 43 6f 6d 6d 65 6e 74 2d 47 75 69 64 61 <li><a.id="toc-Doc-Comment-Guida
9100 6e 63 65 22 20 68 72 65 66 3d 22 69 6e 64 65 78 2e 78 68 74 6d 6c 23 44 6f 63 2d 43 6f 6d 6d 65 nce".href="index.xhtml#Doc-Comme
9120 6e 74 2d 47 75 69 64 61 6e 63 65 22 3e 44 6f 63 20 43 6f 6d 6d 65 6e 74 20 47 75 69 64 61 6e 63 nt-Guidance">Doc.Comment.Guidanc
9140 65 3c 2f 61 3e 3c 2f 6c 69 3e 0a 20 20 20 20 20 20 20 20 3c 2f 6f 6c 3e 3c 2f 6c 69 3e 0a 20 20 e</a></li>.........</ol></li>...
9160 20 20 20 20 20 20 3c 6c 69 3e 3c 61 20 69 64 3d 22 74 6f 63 2d 53 6f 75 72 63 65 2d 45 6e 63 6f ......<li><a.id="toc-Source-Enco
9180 64 69 6e 67 22 20 68 72 65 66 3d 22 69 6e 64 65 78 2e 78 68 74 6d 6c 23 53 6f 75 72 63 65 2d 45 ding".href="index.xhtml#Source-E
91a0 6e 63 6f 64 69 6e 67 22 3e 53 6f 75 72 63 65 20 45 6e 63 6f 64 69 6e 67 3c 2f 61 3e 3c 2f 6c 69 ncoding">Source.Encoding</a></li
91c0 3e 0a 20 20 20 20 20 20 20 20 3c 6c 69 3e 3c 61 20 69 64 3d 22 74 6f 63 2d 4b 65 79 77 6f 72 64 >.........<li><a.id="toc-Keyword
91e0 2d 52 65 66 65 72 65 6e 63 65 22 20 68 72 65 66 3d 22 69 6e 64 65 78 2e 78 68 74 6d 6c 23 4b 65 -Reference".href="index.xhtml#Ke
9200 79 77 6f 72 64 2d 52 65 66 65 72 65 6e 63 65 22 3e 4b 65 79 77 6f 72 64 20 52 65 66 65 72 65 6e yword-Reference">Keyword.Referen
9220 63 65 3c 2f 61 3e 3c 2f 6c 69 3e 0a 20 20 20 20 20 20 20 20 3c 6c 69 3e 3c 61 20 69 64 3d 22 74 ce</a></li>.........<li><a.id="t
9240 6f 63 2d 41 70 70 65 6e 64 69 78 22 20 68 72 65 66 3d 22 69 6e 64 65 78 2e 78 68 74 6d 6c 23 41 oc-Appendix".href="index.xhtml#A
9260 70 70 65 6e 64 69 78 22 3e 41 70 70 65 6e 64 69 78 3c 2f 61 3e 0a 20 20 20 20 20 20 20 20 3c 6f ppendix">Appendix</a>.........<o
9280 6c 3e 0a 20 20 20 20 20 20 20 20 20 20 20 20 3c 6c 69 3e 3c 61 20 69 64 3d 22 74 6f 63 2d 47 72 l>.............<li><a.id="toc-Gr
92a0 61 6d 6d 61 72 22 20 68 72 65 66 3d 22 69 6e 64 65 78 2e 78 68 74 6d 6c 23 47 72 61 6d 6d 61 72 ammar".href="index.xhtml#Grammar
92c0 22 3e 47 72 61 6d 6d 61 72 3c 2f 61 3e 3c 2f 6c 69 3e 0a 20 20 20 20 20 20 20 20 20 20 20 20 3c ">Grammar</a></li>.............<
92e0 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 78 2e 78 li><a.id="toc-Zen".href="index.x
9300 68 74 6d 6c 23 5a 65 6e 22 3e 5a 65 6e 3c 2f 61 3e 3c 2f 6c 69 3e 0a 20 20 20 20 20 20 20 20 3c html#Zen">Zen</a></li>.........<
9320 2f 6f 6c 3e 3c 2f 6c 69 3e 0a 20 20 20 20 3c 2f 6f 6c 3e 0a 20 20 20 20 3c 2f 6e 61 76 3e 0a 20 /ol></li>.....</ol>.....</nav>..
9340 20 3c 2f 62 6f 64 79 3e 0a 3c 2f 68 74 6d 6c 3e 0a 50 4b 03 04 14 00 00 00 00 00 00 00 21 52 81 .</body>.</html>.PK..........!R.
9360 44 88 ac fb 41 0e 00 fb 41 0e 00 11 00 00 00 4f 45 42 50 53 2f 69 6e 64 65 78 2e 78 68 74 6d 6c D...A...A......OEBPS/index.xhtml
9380 3c 3f 78 6d 6c 20 76 65 72 73 69 6f 6e 3d 22 31 2e 30 22 20 65 6e 63 6f 64 69 6e 67 3d 22 75 74 <?xml.version="1.0".encoding="ut
93a0 66 2d 38 22 3f 3e 0a 0a 3c 68 74 6d 6c 20 78 6d 6c 6e 73 3d 22 68 74 74 70 3a 2f 2f 77 77 77 2e f-8"?>..<html.xmlns="http://www.
93c0 77 33 2e 6f 72 67 2f 31 39 39 39 2f 78 68 74 6d 6c 22 20 6c 61 6e 67 3d 22 65 6e 22 3e 0a 20 20 w3.org/1999/xhtml".lang="en">...
93e0 3c 68 65 61 64 3e 0a 20 20 20 20 3c 6d 65 74 61 20 63 68 61 72 73 65 74 3d 22 75 74 66 2d 38 22 <head>.....<meta.charset="utf-8"
9400 2f 3e 0a 20 20 20 20 3c 6d 65 74 61 20 6e 61 6d 65 3d 22 76 69 65 77 70 6f 72 74 22 20 63 6f 6e />.....<meta.name="viewport".con
9420 74 65 6e 74 3d 22 77 69 64 74 68 3d 64 65 76 69 63 65 2d 77 69 64 74 68 2c 20 69 6e 69 74 69 61 tent="width=device-width,.initia
9440 6c 2d 73 63 61 6c 65 3d 31 2e 30 22 2f 3e 0a 20 20 20 20 3c 6d 65 74 61 20 6e 61 6d 65 3d 22 63 l-scale=1.0"/>.....<meta.name="c
9460 6f 6c 6f 72 2d 73 63 68 65 6d 65 22 20 63 6f 6e 74 65 6e 74 3d 22 6c 69 67 68 74 20 64 61 72 6b olor-scheme".content="light.dark
9480 22 2f 3e 0a 20 20 20 20 3c 74 69 74 6c 65 3e 44 6f 63 75 6d 65 6e 74 61 74 69 6f 6e 20 2d 20 54 "/>.....<title>Documentation.-.T
94a0 68 65 20 5a 69 67 20 50 72 6f 67 72 61 6d 6d 69 6e 67 20 4c 61 6e 67 75 61 67 65 3c 2f 74 69 74 he.Zig.Programming.Language</tit
94c0 6c 65 3e 0a 20 20 20 20 3c 6c 69 6e 6b 20 72 65 6c 3d 22 69 63 6f 6e 22 20 68 72 65 66 3d 22 64 le>.....<link.rel="icon".href="d
94e0 61 74 61 3a 69 6d 61 67 65 2f 70 6e 67 3b 62 61 73 65 36 34 2c 69 56 42 4f 52 77 30 4b 47 67 6f ata:image/png;base64,iVBORw0KGgo
9500 41 41 41 41 4e 53 55 68 45 55 67 41 41 41 42 41 41 41 41 41 51 43 41 59 41 41 41 41 66 38 2f 39 AAAANSUhEUgAAABAAAAAQCAYAAAAf8/9
9520 68 41 41 41 41 67 6b 6c 45 51 56 52 34 41 57 4d 59 57 75 44 37 45 6c 6c 4a 49 4d 34 47 34 67 34 hAAAAgklEQVR4AWMYWuD7EllJIM4G4g4
9540 67 35 6f 49 4a 2f 6f 64 68 4f 4a 38 77 54 6f 4f 78 53 54 58 67 4e 78 44 48 6f 65 69 42 4d 66 41 g5oIJ/odhOJ8wToOxSTXgNxDHoeiBMfA
9560 34 2b 77 47 53 68 6a 79 59 4f 43 6b 47 2f 49 47 71 57 51 7a 69 45 7a 59 41 6f 55 41 65 69 46 39 4+wGShjyYOCkG/IGqWQziEzYAoUAeiF9
9580 44 35 55 2b 44 78 45 67 31 34 44 52 55 37 6a 57 49 54 35 49 42 49 4f 64 43 78 66 2b 41 2b 43 51 D5U+DxEg14DRU7jWIT5IBIOdCxf+A+CQ
95a0 5a 41 41 6f 6f 70 45 42 37 51 4a 77 42 43 42 77 48 69 69 70 38 55 59 6d 52 64 72 41 6c 44 70 49 ZAAoopEB7QJwBCBwHiip8UYmRdrAlDpI
95c0 4d 67 41 70 77 51 5a 4e 6e 4e 69 69 35 44 71 30 4d 42 67 43 78 78 79 63 42 6e 77 45 64 2b 77 41 MgApwQZNnNii5Dq0MBgCxxycBnwEd+wA
95e0 41 41 41 42 4a 52 55 35 45 72 6b 4a 67 67 67 3d 3d 22 2f 3e 0a 20 20 20 20 3c 6c 69 6e 6b 20 72 AAABJRU5ErkJggg=="/>.....<link.r
9600 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 65 2f 73 76 67 2b 78 el="icon".href="data:image/svg+x
9620 6d 6c 3b 62 61 73 65 36 34 2c 50 48 4e 32 5a 79 42 34 62 57 78 75 63 7a 30 69 61 48 52 30 63 44 ml;base64,PHN2ZyB4bWxucz0iaHR0cD
9640 6f 76 4c 33 64 33 64 79 35 33 4d 79 35 76 63 6d 63 76 4d 6a 41 77 4d 43 39 7a 64 6d 63 69 49 48 ovL3d3dy53My5vcmcvMjAwMC9zdmciIH
9660 5a 70 5a 58 64 43 62 33 67 39 49 6a 41 67 4d 43 41 78 4e 54 4d 67 4d 54 51 77 49 6a 34 38 5a 79 ZpZXdCb3g9IjAgMCAxNTMgMTQwIj48Zy
9680 42 6d 61 57 78 73 50 53 49 6a 52 6a 64 42 4e 44 46 45 49 6a 34 38 5a 7a 34 38 63 47 39 73 65 57 BmaWxsPSIjRjdBNDFEIj48Zz48cG9seW
96a0 64 76 62 69 42 77 62 32 6c 75 64 48 4d 39 49 6a 51 32 4c 44 49 79 49 44 49 34 4c 44 51 30 49 44 dvbiBwb2ludHM9IjQ2LDIyIDI4LDQ0ID
96c0 45 35 4c 44 4d 77 49 69 38 2b 50 48 42 76 62 48 6c 6e 62 32 34 67 63 47 39 70 62 6e 52 7a 50 53 E5LDMwIi8+PHBvbHlnb24gcG9pbnRzPS
96e0 49 30 4e 69 77 79 4d 69 41 7a 4d 79 77 7a 4d 79 41 79 4f 43 77 30 4e 43 41 79 4d 69 77 30 4e 43 I0NiwyMiAzMywzMyAyOCw0NCAyMiw0NC
9700 41 79 4d 69 77 35 4e 53 41 7a 4d 53 77 35 4e 53 41 79 4d 43 77 78 4d 44 41 67 4d 54 49 73 4d 54 AyMiw5NSAzMSw5NSAyMCwxMDAgMTIsMT
9720 45 33 49 44 41 73 4d 54 45 33 49 44 41 73 4d 6a 49 69 49 48 4e 6f 59 58 42 6c 4c 58 4a 6c 62 6d E3IDAsMTE3IDAsMjIiIHNoYXBlLXJlbm
9740 52 6c 63 6d 6c 75 5a 7a 30 69 59 33 4a 70 63 33 42 46 5a 47 64 6c 63 79 49 76 50 6a 78 77 62 32 RlcmluZz0iY3Jpc3BFZGdlcyIvPjxwb2
9760 78 35 5a 32 39 75 49 48 42 76 61 57 35 30 63 7a 30 69 4d 7a 45 73 4f 54 55 67 4d 54 49 73 4d 54 x5Z29uIHBvaW50cz0iMzEsOTUgMTIsMT
9780 45 33 49 44 51 73 4d 54 41 32 49 69 38 2b 50 43 39 6e 50 6a 78 6e 50 6a 78 77 62 32 78 35 5a 32 E3IDQsMTA2Ii8+PC9nPjxnPjxwb2x5Z2
97a0 39 75 49 48 42 76 61 57 35 30 63 7a 30 69 4e 54 59 73 4d 6a 49 67 4e 6a 49 73 4d 7a 59 67 4d 7a 9uIHBvaW50cz0iNTYsMjIgNjIsMzYgMz
97c0 63 73 4e 44 51 69 4c 7a 34 38 63 47 39 73 65 57 64 76 62 69 42 77 62 32 6c 75 64 48 4d 39 49 6a csNDQiLz48cG9seWdvbiBwb2ludHM9Ij
97e0 55 32 4c 44 49 79 49 44 45 78 4d 53 77 79 4d 69 41 78 4d 54 45 73 4e 44 51 67 4d 7a 63 73 4e 44 U2LDIyIDExMSwyMiAxMTEsNDQgMzcsND
9800 51 67 4e 54 59 73 4d 7a 49 69 49 48 4e 6f 59 58 42 6c 4c 58 4a 6c 62 6d 52 6c 63 6d 6c 75 5a 7a QgNTYsMzIiIHNoYXBlLXJlbmRlcmluZz
9820 30 69 59 33 4a 70 63 33 42 46 5a 47 64 6c 63 79 49 76 50 6a 78 77 62 32 78 35 5a 32 39 75 49 48 0iY3Jpc3BFZGdlcyIvPjxwb2x5Z29uIH
9840 42 76 61 57 35 30 63 7a 30 69 4d 54 45 32 4c 44 6b 31 49 44 6b 33 4c 44 45 78 4e 79 41 35 4d 43 BvaW50cz0iMTE2LDk1IDk3LDExNyA5MC
9860 77 78 4d 44 51 69 4c 7a 34 38 63 47 39 73 65 57 64 76 62 69 42 77 62 32 6c 75 64 48 4d 39 49 6a wxMDQiLz48cG9seWdvbiBwb2ludHM9Ij
9880 45 78 4e 69 77 35 4e 53 41 78 4d 44 41 73 4d 54 41 30 49 44 6b 33 4c 44 45 78 4e 79 41 30 4d 69 ExNiw5NSAxMDAsMTA0IDk3LDExNyA0Mi
98a0 77 78 4d 54 63 67 4e 44 49 73 4f 54 55 69 49 48 4e 6f 59 58 42 6c 4c 58 4a 6c 62 6d 52 6c 63 6d wxMTcgNDIsOTUiIHNoYXBlLXJlbmRlcm
98c0 6c 75 5a 7a 30 69 59 33 4a 70 63 33 42 46 5a 47 64 6c 63 79 49 76 50 6a 78 77 62 32 78 35 5a 32 luZz0iY3Jpc3BFZGdlcyIvPjxwb2x5Z2
98e0 39 75 49 48 42 76 61 57 35 30 63 7a 30 69 4d 54 55 77 4c 44 41 67 4e 54 49 73 4d 54 45 33 49 44 9uIHBvaW50cz0iMTUwLDAgNTIsMTE3ID
9900 4d 73 4d 54 51 77 49 44 45 77 4d 53 77 79 4d 69 49 76 50 6a 77 76 5a 7a 34 38 5a 7a 34 38 63 47 MsMTQwIDEwMSwyMiIvPjwvZz48Zz48cG
9920 39 73 65 57 64 76 62 69 42 77 62 32 6c 75 64 48 4d 39 49 6a 45 30 4d 53 77 79 4d 69 41 78 4e 44 9seWdvbiBwb2ludHM9IjE0MSwyMiAxND
9940 41 73 4e 44 41 67 4d 54 49 79 4c 44 51 31 49 69 38 2b 50 48 42 76 62 48 6c 6e 62 32 34 67 63 47 AsNDAgMTIyLDQ1Ii8+PHBvbHlnb24gcG
9960 39 70 62 6e 52 7a 50 53 49 78 4e 54 4d 73 4d 6a 49 67 4d 54 55 7a 4c 44 45 78 4e 79 41 78 4d 44 9pbnRzPSIxNTMsMjIgMTUzLDExNyAxMD
9980 59 73 4d 54 45 33 49 44 45 79 4d 43 77 78 4d 44 55 67 4d 54 49 31 4c 44 6b 31 49 44 45 7a 4d 53 YsMTE3IDEyMCwxMDUgMTI1LDk1IDEzMS
99a0 77 35 4e 53 41 78 4d 7a 45 73 4e 44 55 67 4d 54 49 79 4c 44 51 31 49 44 45 7a 4d 69 77 7a 4e 69 w5NSAxMzEsNDUgMTIyLDQ1IDEzMiwzNi
99c0 41 78 4e 44 45 73 4d 6a 49 69 49 48 4e 6f 59 58 42 6c 4c 58 4a 6c 62 6d 52 6c 63 6d 6c 75 5a 7a AxNDEsMjIiIHNoYXBlLXJlbmRlcmluZz
99e0 30 69 59 33 4a 70 63 33 42 46 5a 47 64 6c 63 79 49 76 50 6a 78 77 62 32 78 35 5a 32 39 75 49 48 0iY3Jpc3BFZGdlcyIvPjxwb2x5Z29uIH
9a00 42 76 61 57 35 30 63 7a 30 69 4d 54 49 31 4c 44 6b 31 49 44 45 7a 4d 43 77 78 4d 54 41 67 4d 54 BvaW50cz0iMTI1LDk1IDEzMCwxMTAgMT
9a20 41 32 4c 44 45 78 4e 79 49 76 50 6a 77 76 5a 7a 34 38 4c 32 63 2b 50 43 39 7a 64 6d 63 2b 22 2f A2LDExNyIvPjwvZz48L2c+PC9zdmc+"/
9a40 3e 0a 20 20 20 20 3c 73 74 79 6c 65 3e 0a 20 20 20 20 20 20 3a 72 6f 6f 74 7b 0a 20 20 20 20 20 >.....<style>.......:root{......
9a60 20 20 20 20 2d 2d 6e 61 76 2d 77 69 64 74 68 3a 20 32 36 65 6d 3b 0a 20 20 20 20 20 20 20 20 20 ....--nav-width:.26em;..........
9a80 2d 2d 6e 61 76 2d 6d 61 72 67 69 6e 2d 6c 3a 20 31 65 6d 3b 0a 20 20 20 20 20 20 7d 0a 20 20 20 --nav-margin-l:.1em;.......}....
9aa0 20 20 20 62 6f 64 79 7b 0a 20 20 20 20 20 20 20 20 66 6f 6e 74 2d 66 61 6d 69 6c 79 3a 20 73 79 ...body{.........font-family:.sy
9ac0 73 74 65 6d 2d 75 69 2c 20 2d 61 70 70 6c 65 2d 73 79 73 74 65 6d 2c 20 52 6f 62 6f 74 6f 2c 20 stem-ui,.-apple-system,.Roboto,.
9ae0 22 53 65 67 6f 65 20 55 49 22 2c 20 73 61 6e 73 2d 73 65 72 69 66 3b 0a 20 20 20 20 20 20 20 20 "Segoe.UI",.sans-serif;.........
9b00 6d 61 72 67 69 6e 3a 20 30 3b 0a 20 20 20 20 20 20 20 20 6c 69 6e 65 2d 68 65 69 67 68 74 3a 20 margin:.0;.........line-height:.
9b20 31 2e 35 3b 0a 20 20 20 20 20 20 7d 0a 20 20 20 20 20 20 68 65 61 64 65 72 20 7b 0a 20 20 20 20 1.5;.......}.......header.{.....
9b40 20 20 20 20 70 61 64 64 69 6e 67 3a 20 30 20 31 65 6d 3b 0a 20 20 20 20 20 20 7d 0a 20 20 20 20 ....padding:.0.1em;.......}.....
9b60 20 20 23 63 6f 6e 74 65 6e 74 73 20 7b 0a 20 20 20 20 20 20 20 20 6d 61 78 2d 77 69 64 74 68 3a ..#contents.{.........max-width:
9b80 20 36 30 65 6d 3b 0a 20 20 20 20 20 20 20 20 6d 61 72 67 69 6e 3a 20 61 75 74 6f 3b 0a 20 20 20 .60em;.........margin:.auto;....
9ba0 20 20 20 20 20 70 61 64 64 69 6e 67 3a 20 30 20 31 65 6d 3b 0a 20 20 20 20 20 20 7d 0a 20 20 20 .....padding:.0.1em;.......}....
9bc0 20 20 20 23 6e 61 76 69 67 61 74 69 6f 6e 20 7b 0a 20 20 20 20 20 20 20 20 70 61 64 64 69 6e 67 ...#navigation.{.........padding
9be0 3a 20 30 20 31 65 6d 3b 0a 20 20 20 20 20 20 7d 0a 20 20 20 20 20 20 74 61 62 6c 65 20 75 6c 20 :.0.1em;.......}.......table.ul.
9c00 7b 0a 20 20 20 20 20 20 20 20 6c 69 73 74 2d 73 74 79 6c 65 2d 74 79 70 65 3a 20 6e 6f 6e 65 3b {.........list-style-type:.none;
9c20 0a 20 20 20 20 20 20 20 20 70 61 64 64 69 6e 67 3a 20 30 65 6d 3b 0a 20 20 20 20 20 20 7d 0a 20 .........padding:.0em;.......}..
9c40 20 20 20 20 20 74 61 62 6c 65 20 6c 69 20 7b 0a 20 20 20 20 20 20 20 20 70 61 64 64 69 6e 67 2d .....table.li.{.........padding-
9c60 62 6f 74 74 6f 6d 3a 20 31 65 6d 3b 0a 20 20 20 20 20 20 20 20 6c 69 6e 65 2d 68 65 69 67 68 74 bottom:.1em;.........line-height
9c80 3a 31 2e 32 65 6d 3b 0a 20 20 20 20 20 20 7d 0a 20 20 20 20 20 20 74 61 62 6c 65 2c 20 74 68 2c :1.2em;.......}.......table,.th,
9ca0 20 74 64 20 7b 0a 20 20 20 20 20 20 20 20 62 6f 72 64 65 72 2d 63 6f 6c 6c 61 70 73 65 3a 20 63 .td.{.........border-collapse:.c
9cc0 6f 6c 6c 61 70 73 65 3b 0a 20 20 20 20 20 20 20 20 62 6f 72 64 65 72 3a 20 31 70 78 20 73 6f 6c ollapse;.........border:.1px.sol
9ce0 69 64 20 67 72 65 79 3b 0a 20 20 20 20 20 20 7d 0a 20 20 20 20 20 20 74 68 2c 20 74 64 20 7b 0a id.grey;.......}.......th,.td.{.
9d00 20 20 20 20 20 20 20 20 70 61 64 64 69 6e 67 3a 20 30 2e 35 65 6d 3b 0a 20 20 20 20 20 20 7d 0a ........padding:.0.5em;.......}.
9d20 20 20 20 20 20 20 74 68 5b 73 63 6f 70 65 3d 72 6f 77 5d 20 7b 0a 20 20 20 20 20 20 20 20 20 20 ......th[scope=row].{...........
9d40 74 65 78 74 2d 61 6c 69 67 6e 3a 20 6c 65 66 74 3b 0a 20 20 20 20 20 20 20 20 20 20 66 6f 6e 74 text-align:.left;...........font
9d60 2d 77 65 69 67 68 74 3a 20 6e 6f 72 6d 61 6c 3b 0a 20 20 20 20 20 20 7d 0a 0a 20 20 20 20 20 20 -weight:.normal;.......}........
9d80 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 20 31 30 @media.screen.and.(min-width:.10
9da0 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 20 20 20 25px).{.........header.{........
9dc0 20 20 20 6d 61 72 67 69 6e 2d 6c 65 66 74 3a 20 63 61 6c 63 28 76 61 72 28 2d 2d 6e 61 76 2d 77 ...margin-left:.calc(var(--nav-w
9de0 69 64 74 68 29 20 2b 20 76 61 72 28 2d 2d 6e 61 76 2d 6d 61 72 67 69 6e 2d 6c 29 29 3b 0a 20 20 idth).+.var(--nav-margin-l));...
9e00 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 20 20 20 ......}.........header.h1.{.....
9e20 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 20 6d 61 ......margin:.auto;...........ma
9e40 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 20 20 20 x-width:.30em;.........}........
9e60 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 66 6c 6f .#navigation.{...........overflo
9e80 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 28 2d 2d w:.auto;...........width:.var(--
9ea0 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 20 31 30 nav-width);...........height:.10
9ec0 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 64 3b 0a 0vh;...........position:.fixed;.
9ee0 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 66 74 3a ..........top:0;...........left:
9f00 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 20 20 20 0;...........bottom:0;..........
9f20 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 72 67 69 .padding:.unset;...........margi
9f40 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 20 20 20 n-left:.var(--nav-margin-l);....
9f60 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 76 20 75 .....}.........#navigation.nav.u
9f80 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 65 6d 3b l.{...........padding-left:.1em;
9fa0 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 77 72 61 .........}.........#contents-wra
9fc0 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 20 63 61 pper.{...........margin-left:.ca
9fe0 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 61 76 2d lc(var(--nav-width).+.var(--nav-
a000 6d 61 72 67 69 6e 2d 6c 29 29 3b 0a 20 20 20 20 20 20 20 20 7d 0a 20 20 20 20 20 20 7d 0a 0a 20 margin-l));.........}.......}...
a020 20 20 20 20 20 61 3a 68 6f 76 65 72 2c 61 3a 66 6f 63 75 73 20 7b 0a 20 20 20 20 20 20 20 20 62 .....a:hover,a:focus.{.........b
a040 61 63 6b 67 72 6f 75 6e 64 3a 20 23 66 66 66 32 61 38 3b 0a 20 20 20 20 20 20 7d 0a 20 20 20 20 ackground:.#fff2a8;.......}.....
a060 20 20 64 74 20 7b 0a 20 20 20 20 20 20 20 20 66 6f 6e 74 2d 77 65 69 67 68 74 3a 20 62 6f 6c 64 ..dt.{.........font-weight:.bold
a080 3b 0a 20 20 20 20 20 20 7d 0a 20 20 20 20 20 20 2e 73 67 72 2d 31 6d 20 7b 0a 20 20 20 20 20 20 ;.......}........sgr-1m.{.......
a0a0 20 20 66 6f 6e 74 2d 77 65 69 67 68 74 3a 20 62 6f 6c 64 3b 0a 20 20 20 20 20 20 7d 0a 20 20 20 ..font-weight:.bold;.......}....
a0c0 20 20 20 2e 73 67 72 2d 32 6d 20 7b 0a 20 20 20 20 20 20 20 20 63 6f 6c 6f 72 3a 20 23 35 37 35 ....sgr-2m.{.........color:.#575
a0e0 37 35 37 3b 0a 20 20 20 20 20 20 7d 0a 20 20 20 20 20 20 2e 73 67 72 2d 33 31 5f 31 6d 20 7b 0a 757;.......}........sgr-31_1m.{.
a100 20 20 20 20 20 20 20 20 63 6f 6c 6f 72 3a 20 23 62 34 30 30 30 30 3b 0a 20 20 20 20 20 20 7d 0a ........color:.#b40000;.......}.
a120 20 20 20 20 20 20 2e 73 67 72 2d 33 32 5f 31 6d 20 7b 0a 20 20 20 20 20 20 20 20 63 6f 6c 6f 72 .......sgr-32_1m.{.........color
a140 3a 20 67 72 65 65 6e 3b 0a 20 20 20 20 20 20 7d 0a 20 20 20 20 20 20 2e 73 67 72 2d 33 36 5f 31 :.green;.......}........sgr-36_1
a160 6d 20 7b 0a 20 20 20 20 20 20 20 20 63 6f 6c 6f 72 3a 20 23 30 30 35 43 37 41 3b 0a 20 20 20 20 m.{.........color:.#005C7A;.....
a180 20 20 7d 0a 20 20 20 20 20 20 2e 66 69 6c 65 20 7b 0a 20 20 20 20 20 20 20 20 66 6f 6e 74 2d 77 ..}........file.{.........font-w
a1a0 65 69 67 68 74 3a 20 62 6f 6c 64 3b 0a 20 20 20 20 20 20 20 20 62 6f 72 64 65 72 3a 20 75 6e 73 eight:.bold;.........border:.uns
a1c0 65 74 3b 0a 20 20 20 20 20 20 7d 0a 20 20 20 20 20 20 63 6f 64 65 20 7b 0a 20 20 20 20 20 20 20 et;.......}.......code.{........
a1e0 20 62 61 63 6b 67 72 6f 75 6e 64 3a 20 23 66 38 66 38 66 38 3b 0a 20 20 20 20 20 20 20 20 62 6f .background:.#f8f8f8;.........bo
a200 72 64 65 72 3a 20 31 70 78 20 64 6f 74 74 65 64 20 73 69 6c 76 65 72 3b 0a 20 20 20 20 20 20 20 rder:.1px.dotted.silver;........
a220 20 70 61 64 64 69 6e 67 2d 6c 65 66 74 3a 20 30 2e 33 65 6d 3b 0a 20 20 20 20 20 20 20 20 70 61 .padding-left:.0.3em;.........pa
a240 64 64 69 6e 67 2d 72 69 67 68 74 3a 20 30 2e 33 65 6d 3b 0a 20 20 20 20 20 20 7d 0a 20 20 20 20 dding-right:.0.3em;.......}.....
a260 20 20 70 72 65 20 3e 20 63 6f 64 65 20 7b 0a 20 20 20 20 20 20 20 20 64 69 73 70 6c 61 79 3a 20 ..pre.>.code.{.........display:.
a280 62 6c 6f 63 6b 3b 0a 20 20 20 20 20 20 20 20 6f 76 65 72 66 6c 6f 77 3a 20 61 75 74 6f 3b 0a 20 block;.........overflow:.auto;..
a2a0 20 20 20 20 20 20 20 70 61 64 64 69 6e 67 3a 20 30 2e 35 65 6d 3b 0a 20 20 20 20 20 20 20 20 62 .......padding:.0.5em;.........b
a2c0 6f 72 64 65 72 3a 20 31 70 78 20 73 6f 6c 69 64 20 23 65 65 65 3b 0a 20 20 20 20 20 20 20 20 6c order:.1px.solid.#eee;.........l
a2e0 69 6e 65 2d 68 65 69 67 68 74 3a 20 6e 6f 72 6d 61 6c 3b 0a 20 20 20 20 20 20 7d 0a 20 20 20 20 ine-height:.normal;.......}.....
a300 20 20 73 61 6d 70 20 7b 0a 20 20 20 20 20 20 20 20 62 61 63 6b 67 72 6f 75 6e 64 3a 20 23 66 61 ..samp.{.........background:.#fa
a320 66 61 66 61 3b 0a 20 20 20 20 20 20 7d 0a 20 20 20 20 20 20 70 72 65 20 3e 20 73 61 6d 70 20 7b fafa;.......}.......pre.>.samp.{
a340 0a 20 20 20 20 20 20 20 20 64 69 73 70 6c 61 79 3a 20 62 6c 6f 63 6b 3b 0a 20 20 20 20 20 20 20 .........display:.block;........
a360 20 6f 76 65 72 66 6c 6f 77 3a 20 61 75 74 6f 3b 0a 20 20 20 20 20 20 20 20 70 61 64 64 69 6e 67 .overflow:.auto;.........padding
a380 3a 20 30 2e 35 65 6d 3b 0a 20 20 20 20 20 20 20 20 62 6f 72 64 65 72 3a 20 31 70 78 20 73 6f 6c :.0.5em;.........border:.1px.sol
a3a0 69 64 20 23 65 65 65 3b 0a 20 20 20 20 20 20 20 20 6c 69 6e 65 2d 68 65 69 67 68 74 3a 20 6e 6f id.#eee;.........line-height:.no
a3c0 72 6d 61 6c 3b 0a 20 20 20 20 20 20 7d 0a 20 20 20 20 20 20 6b 62 64 20 7b 0a 20 20 20 20 20 20 rmal;.......}.......kbd.{.......
a3e0 20 20 66 6f 6e 74 2d 77 65 69 67 68 74 3a 20 6e 6f 72 6d 61 6c 3b 0a 20 20 20 20 20 20 7d 0a 20 ..font-weight:.normal;.......}..
a400 20 20 20 20 20 2e 74 61 62 6c 65 2d 77 72 61 70 70 65 72 20 7b 0a 20 20 20 20 20 20 20 20 77 69 ......table-wrapper.{.........wi
a420 64 74 68 3a 20 31 30 30 25 3b 0a 20 20 20 20 20 20 20 20 6d 61 72 67 69 6e 3a 20 31 65 6d 20 61 dth:.100%;.........margin:.1em.a
a440 75 74 6f 3b 0a 20 20 20 20 20 20 20 20 6f 76 65 72 66 6c 6f 77 2d 78 3a 20 61 75 74 6f 3b 0a 20 uto;.........overflow-x:.auto;..
a460 20 20 20 20 20 7d 0a 0a 20 20 20 20 20 20 2e 74 6f 6b 2d 6b 77 20 7b 0a 20 20 20 20 20 20 20 20 .....}.........tok-kw.{.........
a480 20 20 63 6f 6c 6f 72 3a 20 23 33 33 33 3b 0a 20 20 20 20 20 20 20 20 20 20 66 6f 6e 74 2d 77 65 ..color:.#333;...........font-we
a4a0 69 67 68 74 3a 20 62 6f 6c 64 3b 0a 20 20 20 20 20 20 7d 0a 20 20 20 20 20 20 2e 74 6f 6b 2d 73 ight:.bold;.......}........tok-s
a4c0 74 72 20 7b 0a 20 20 20 20 20 20 20 20 20 20 63 6f 6c 6f 72 3a 20 23 64 31 34 3b 0a 20 20 20 20 tr.{...........color:.#d14;.....
a4e0 20 20 7d 0a 20 20 20 20 20 20 2e 74 6f 6b 2d 62 75 69 6c 74 69 6e 20 7b 0a 20 20 20 20 20 20 20 ..}........tok-builtin.{........
a500 20 20 20 63 6f 6c 6f 72 3a 20 23 30 30 35 43 37 41 3b 0a 20 20 20 20 20 20 7d 0a 20 20 20 20 20 ...color:.#005C7A;.......}......
a520 20 2e 74 6f 6b 2d 63 6f 6d 6d 65 6e 74 20 7b 0a 20 20 20 20 20 20 20 20 20 20 63 6f 6c 6f 72 3a ..tok-comment.{...........color:
a540 20 23 35 34 35 34 35 34 3b 0a 20 20 20 20 20 20 20 20 20 20 66 6f 6e 74 2d 73 74 79 6c 65 3a 20 .#545454;...........font-style:.
a560 69 74 61 6c 69 63 3b 0a 20 20 20 20 20 20 7d 0a 20 20 20 20 20 20 2e 74 6f 6b 2d 66 6e 20 7b 0a italic;.......}........tok-fn.{.
a580 20 20 20 20 20 20 20 20 20 20 63 6f 6c 6f 72 3a 20 23 39 30 30 3b 0a 20 20 20 20 20 20 20 20 20 ..........color:.#900;..........
a5a0 20 66 6f 6e 74 2d 77 65 69 67 68 74 3a 20 62 6f 6c 64 3b 0a 20 20 20 20 20 20 7d 0a 20 20 20 20 .font-weight:.bold;.......}.....
a5c0 20 20 2e 74 6f 6b 2d 6e 75 6c 6c 20 7b 0a 20 20 20 20 20 20 20 20 20 20 63 6f 6c 6f 72 3a 20 23 ...tok-null.{...........color:.#
a5e0 30 30 35 43 35 43 3b 0a 20 20 20 20 20 20 7d 0a 20 20 20 20 20 20 2e 74 6f 6b 2d 6e 75 6d 62 65 005C5C;.......}........tok-numbe
a600 72 20 7b 0a 20 20 20 20 20 20 20 20 20 20 63 6f 6c 6f 72 3a 20 23 30 30 35 43 35 43 3b 0a 20 20 r.{...........color:.#005C5C;...
a620 20 20 20 20 7d 0a 20 20 20 20 20 20 2e 74 6f 6b 2d 74 79 70 65 20 7b 0a 20 20 20 20 20 20 20 20 ....}........tok-type.{.........
a640 20 20 63 6f 6c 6f 72 3a 20 23 34 35 38 3b 0a 20 20 20 20 20 20 20 20 20 20 66 6f 6e 74 2d 77 65 ..color:.#458;...........font-we
a660 69 67 68 74 3a 20 62 6f 6c 64 3b 0a 20 20 20 20 20 20 7d 0a 0a 20 20 20 20 20 20 66 69 67 75 72 ight:.bold;.......}........figur
a680 65 20 7b 0a 20 20 20 20 20 20 20 20 6d 61 72 67 69 6e 3a 20 61 75 74 6f 20 30 3b 0a 20 20 20 20 e.{.........margin:.auto.0;.....
a6a0 20 20 7d 0a 20 20 20 20 20 20 66 69 67 75 72 65 20 70 72 65 20 7b 0a 20 20 20 20 20 20 20 20 6d ..}.......figure.pre.{.........m
a6c0 61 72 67 69 6e 2d 74 6f 70 3a 20 30 3b 0a 20 20 20 20 20 20 7d 0a 0a 20 20 20 20 20 20 66 69 67 argin-top:.0;.......}........fig
a6e0 63 61 70 74 69 6f 6e 20 7b 0a 20 20 20 20 20 20 20 20 70 61 64 64 69 6e 67 2d 6c 65 66 74 3a 20 caption.{.........padding-left:.
a700 30 2e 35 65 6d 3b 0a 20 20 20 20 20 20 20 20 66 6f 6e 74 2d 73 69 7a 65 3a 20 73 6d 61 6c 6c 3b 0.5em;.........font-size:.small;
a720 0a 20 20 20 20 20 20 20 20 62 6f 72 64 65 72 2d 74 6f 70 2d 6c 65 66 74 2d 72 61 64 69 75 73 3a .........border-top-left-radius:
a740 20 35 70 78 3b 0a 20 20 20 20 20 20 20 20 62 6f 72 64 65 72 2d 74 6f 70 2d 72 69 67 68 74 2d 72 .5px;.........border-top-right-r
a760 61 64 69 75 73 3a 20 35 70 78 3b 0a 20 20 20 20 20 20 7d 0a 20 20 20 20 20 20 66 69 67 63 61 70 adius:.5px;.......}.......figcap
a780 74 69 6f 6e 2e 7a 69 67 2d 63 61 70 20 7b 0a 20 20 20 20 20 20 20 20 62 61 63 6b 67 72 6f 75 6e tion.zig-cap.{.........backgroun
a7a0 64 3a 20 23 66 63 64 62 61 35 3b 0a 20 20 20 20 20 20 7d 0a 20 20 20 20 20 20 66 69 67 63 61 70 d:.#fcdba5;.......}.......figcap
a7c0 74 69 6f 6e 2e 63 2d 63 61 70 20 7b 0a 20 20 20 20 20 20 20 20 62 61 63 6b 67 72 6f 75 6e 64 3a tion.c-cap.{.........background:
a7e0 20 23 61 38 62 39 63 63 3b 0a 20 20 20 20 20 20 20 20 63 6f 6c 6f 72 3a 20 23 30 30 30 3b 0a 20 .#a8b9cc;.........color:.#000;..
a800 20 20 20 20 20 7d 0a 20 20 20 20 20 20 66 69 67 63 61 70 74 69 6f 6e 2e 70 65 67 2d 63 61 70 20 .....}.......figcaption.peg-cap.
a820 7b 0a 20 20 20 20 20 20 20 20 62 61 63 6b 67 72 6f 75 6e 64 3a 20 23 66 63 64 62 61 35 3b 0a 20 {.........background:.#fcdba5;..
a840 20 20 20 20 20 7d 0a 20 20 20 20 20 20 66 69 67 63 61 70 74 69 6f 6e 2e 6a 61 76 61 73 63 72 69 .....}.......figcaption.javascri
a860 70 74 2d 63 61 70 20 7b 0a 20 20 20 20 20 20 20 20 62 61 63 6b 67 72 6f 75 6e 64 3a 20 23 33 36 pt-cap.{.........background:.#36
a880 35 64 39 35 3b 0a 20 20 20 20 20 20 20 20 63 6f 6c 6f 72 3a 20 23 66 66 66 3b 0a 20 20 20 20 20 5d95;.........color:.#fff;......
a8a0 20 7d 0a 20 20 20 20 20 20 66 69 67 63 61 70 74 69 6f 6e 2e 73 68 65 6c 6c 2d 63 61 70 20 7b 0a .}.......figcaption.shell-cap.{.
a8c0 20 20 20 20 20 20 20 20 62 61 63 6b 67 72 6f 75 6e 64 3a 20 23 63 63 63 3b 0a 20 20 20 20 20 20 ........background:.#ccc;.......
a8e0 20 20 63 6f 6c 6f 72 3a 20 23 30 30 30 3b 0a 20 20 20 20 20 20 7d 0a 0a 20 20 20 20 20 20 61 73 ..color:.#000;.......}........as
a900 69 64 65 20 7b 0a 20 20 20 20 20 20 20 20 62 6f 72 64 65 72 2d 6c 65 66 74 3a 20 30 2e 32 35 65 ide.{.........border-left:.0.25e
a920 6d 20 73 6f 6c 69 64 20 23 66 37 61 34 31 64 3b 0a 20 20 20 20 20 20 20 20 70 61 64 64 69 6e 67 m.solid.#f7a41d;.........padding
a940 3a 20 30 20 31 65 6d 20 30 20 31 65 6d 3b 0a 20 20 20 20 20 20 7d 0a 0a 20 20 20 20 20 20 68 31 :.0.1em.0.1em;.......}........h1
a960 20 61 2c 20 68 32 20 61 2c 20 68 33 20 61 2c 20 68 34 20 61 2c 20 68 35 20 61 20 7b 0a 20 20 20 .a,.h2.a,.h3.a,.h4.a,.h5.a.{....
a980 20 20 20 20 20 74 65 78 74 2d 64 65 63 6f 72 61 74 69 6f 6e 3a 20 6e 6f 6e 65 3b 0a 20 20 20 20 .....text-decoration:.none;.....
a9a0 20 20 20 20 63 6f 6c 6f 72 3a 20 23 33 33 33 3b 0a 20 20 20 20 20 20 7d 0a 0a 20 20 20 20 20 20 ....color:.#333;.......}........
a9c0 61 2e 68 64 72 20 7b 0a 20 20 20 20 20 20 20 20 76 69 73 69 62 69 6c 69 74 79 3a 20 68 69 64 64 a.hdr.{.........visibility:.hidd
a9e0 65 6e 3b 0a 20 20 20 20 20 20 7d 0a 20 20 20 20 20 20 68 31 3a 68 6f 76 65 72 20 3e 20 61 2e 68 en;.......}.......h1:hover.>.a.h
aa00 64 72 2c 20 68 32 3a 68 6f 76 65 72 20 3e 20 61 2e 68 64 72 2c 20 68 33 3a 68 6f 76 65 72 20 3e dr,.h2:hover.>.a.hdr,.h3:hover.>
aa20 20 61 2e 68 64 72 2c 20 68 34 3a 68 6f 76 65 72 20 3e 20 61 2e 68 64 72 2c 20 68 35 3a 68 6f 76 .a.hdr,.h4:hover.>.a.hdr,.h5:hov
aa40 65 72 20 3e 20 61 2e 68 64 72 20 7b 0a 20 20 20 20 20 20 20 20 76 69 73 69 62 69 6c 69 74 79 3a er.>.a.hdr.{.........visibility:
aa60 20 76 69 73 69 62 6c 65 3b 0a 20 20 20 20 20 20 7d 0a 0a 20 20 20 20 20 20 74 68 20 70 72 65 20 .visible;.......}........th.pre.
aa80 63 6f 64 65 20 7b 0a 20 20 20 20 20 20 20 20 20 20 62 61 63 6b 67 72 6f 75 6e 64 3a 20 6e 6f 6e code.{...........background:.non
aaa0 65 3b 0a 20 20 20 20 20 20 7d 0a 0a 20 20 20 20 20 20 40 6d 65 64 69 61 20 28 70 72 65 66 65 72 e;.......}........@media.(prefer
aac0 73 2d 63 6f 6c 6f 72 2d 73 63 68 65 6d 65 3a 20 64 61 72 6b 29 20 7b 0a 20 20 20 20 20 20 20 20 s-color-scheme:.dark).{.........
aae0 62 6f 64 79 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 62 61 63 6b 67 72 6f 75 6e 64 3a 23 31 32 body{.............background:#12
ab00 31 32 31 32 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 63 6f 6c 6f 72 3a 20 23 63 63 63 3b 0a 20 1212;.............color:.#ccc;..
ab20 20 20 20 20 20 20 20 7d 0a 20 20 20 20 20 20 20 20 61 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 .......}.........a.{............
ab40 20 63 6f 6c 6f 72 3a 20 23 38 38 66 3b 0a 20 20 20 20 20 20 20 20 7d 0a 20 20 20 20 20 20 20 20 .color:.#88f;.........}.........
ab60 61 3a 68 6f 76 65 72 2c 61 3a 66 6f 63 75 73 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 63 6f a:hover,a:focus.{.............co
ab80 6c 6f 72 3a 20 23 30 30 30 3b 0a 20 20 20 20 20 20 20 20 7d 0a 20 20 20 20 20 20 20 20 74 61 62 lor:.#000;.........}.........tab
aba0 6c 65 2c 20 74 68 2c 20 74 64 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 62 6f 72 64 65 72 2d le,.th,.td.{.............border-
abc0 63 6f 6c 6f 72 3a 20 67 72 65 79 3b 0a 20 20 20 20 20 20 20 20 7d 0a 20 20 20 20 20 20 20 20 2e color:.grey;.........}..........
abe0 73 67 72 2d 32 6d 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 63 6f 6c 6f 72 3a 20 67 72 65 79 sgr-2m.{.............color:.grey
ac00 3b 0a 20 20 20 20 20 20 20 20 7d 0a 20 20 20 20 20 20 20 20 2e 73 67 72 2d 33 31 5f 31 6d 20 7b ;.........}..........sgr-31_1m.{
ac20 0a 20 20 20 20 20 20 20 20 20 20 20 20 63 6f 6c 6f 72 3a 20 72 65 64 3b 0a 20 20 20 20 20 20 20 .............color:.red;........
ac40 20 7d 0a 20 20 20 20 20 20 20 20 2e 73 67 72 2d 33 32 5f 31 6d 20 7b 0a 20 20 20 20 20 20 20 20 .}..........sgr-32_1m.{.........
ac60 20 20 20 20 63 6f 6c 6f 72 3a 20 23 30 30 42 38 30 30 3b 0a 20 20 20 20 20 20 20 20 7d 0a 20 20 ....color:.#00B800;.........}...
ac80 20 20 20 20 20 20 2e 73 67 72 2d 33 36 5f 31 6d 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 63 .......sgr-36_1m.{.............c
aca0 6f 6c 6f 72 3a 20 23 30 30 38 36 62 33 3b 0a 20 20 20 20 20 20 20 20 7d 0a 20 20 20 20 20 20 20 olor:.#0086b3;.........}........
acc0 20 63 6f 64 65 20 7b 0a 20 20 20 20 20 20 20 20 20 20 62 61 63 6b 67 72 6f 75 6e 64 3a 20 23 32 .code.{...........background:.#2
ace0 32 32 3b 0a 20 20 20 20 20 20 20 20 20 20 62 6f 72 64 65 72 2d 63 6f 6c 6f 72 3a 20 23 34 34 34 22;...........border-color:.#444
ad00 3b 0a 20 20 20 20 20 20 20 20 7d 0a 20 20 20 20 20 20 20 20 70 72 65 20 3e 20 63 6f 64 65 20 7b ;.........}.........pre.>.code.{
ad20 0a 20 20 20 20 20 20 20 20 20 20 20 20 63 6f 6c 6f 72 3a 20 23 63 63 63 3b 0a 20 20 20 20 20 20 .............color:.#ccc;.......
ad40 20 20 20 20 20 20 62 61 63 6b 67 72 6f 75 6e 64 3a 20 23 32 32 32 3b 0a 20 20 20 20 20 20 20 20 ......background:.#222;.........
ad60 20 20 20 20 62 6f 72 64 65 72 3a 20 75 6e 73 65 74 3b 0a 20 20 20 20 20 20 20 20 7d 0a 20 20 20 ....border:.unset;.........}....
ad80 20 20 20 20 20 73 61 6d 70 20 7b 0a 20 20 20 20 20 20 20 20 20 20 62 61 63 6b 67 72 6f 75 6e 64 .....samp.{...........background
ada0 3a 20 23 30 30 30 3b 0a 20 20 20 20 20 20 20 20 20 20 63 6f 6c 6f 72 3a 20 23 63 63 63 3b 0a 20 :.#000;...........color:.#ccc;..
adc0 20 20 20 20 20 20 20 7d 0a 20 20 20 20 20 20 20 20 70 72 65 20 3e 20 73 61 6d 70 20 7b 0a 20 20 .......}.........pre.>.samp.{...
ade0 20 20 20 20 20 20 20 20 62 6f 72 64 65 72 3a 20 75 6e 73 65 74 3b 0a 20 20 20 20 20 20 20 20 7d ........border:.unset;.........}
ae00 0a 20 20 20 20 20 20 20 20 2e 74 6f 6b 2d 6b 77 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 63 ..........tok-kw.{.............c
ae20 6f 6c 6f 72 3a 20 23 65 65 65 3b 0a 20 20 20 20 20 20 20 20 7d 0a 20 20 20 20 20 20 20 20 2e 74 olor:.#eee;.........}..........t
ae40 6f 6b 2d 73 74 72 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 63 6f 6c 6f 72 3a 20 23 32 65 35 ok-str.{.............color:.#2e5
ae60 3b 0a 20 20 20 20 20 20 20 20 7d 0a 20 20 20 20 20 20 20 20 2e 74 6f 6b 2d 62 75 69 6c 74 69 6e ;.........}..........tok-builtin
ae80 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 63 6f 6c 6f 72 3a 20 23 66 66 38 39 34 63 3b 0a 20 .{.............color:.#ff894c;..
aea0 20 20 20 20 20 20 20 7d 0a 20 20 20 20 20 20 20 20 2e 74 6f 6b 2d 63 6f 6d 6d 65 6e 74 20 7b 0a .......}..........tok-comment.{.
aec0 20 20 20 20 20 20 20 20 20 20 20 20 63 6f 6c 6f 72 3a 20 23 61 61 37 3b 0a 20 20 20 20 20 20 20 ............color:.#aa7;........
aee0 20 7d 0a 20 20 20 20 20 20 20 20 2e 74 6f 6b 2d 66 6e 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 .}..........tok-fn.{............
af00 20 63 6f 6c 6f 72 3a 20 23 42 31 41 30 46 38 3b 0a 20 20 20 20 20 20 20 20 7d 0a 20 20 20 20 20 .color:.#B1A0F8;.........}......
af20 20 20 20 2e 74 6f 6b 2d 6e 75 6c 6c 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 63 6f 6c 6f 72 ....tok-null.{.............color
af40 3a 20 23 66 66 38 30 38 30 3b 0a 20 20 20 20 20 20 20 20 7d 0a 20 20 20 20 20 20 20 20 2e 74 6f :.#ff8080;.........}..........to
af60 6b 2d 6e 75 6d 62 65 72 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 63 6f 6c 6f 72 3a 20 23 66 k-number.{.............color:.#f
af80 66 38 30 38 30 3b 0a 20 20 20 20 20 20 20 20 7d 0a 20 20 20 20 20 20 20 20 2e 74 6f 6b 2d 74 79 f8080;.........}..........tok-ty
afa0 70 65 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 63 6f 6c 6f 72 3a 20 23 36 38 66 3b 0a 20 20 pe.{.............color:.#68f;...
afc0 20 20 20 20 20 20 7d 0a 20 20 20 20 20 20 20 20 68 31 20 61 2c 20 68 32 20 61 2c 20 68 33 20 61 ......}.........h1.a,.h2.a,.h3.a
afe0 2c 20 68 34 20 61 2c 20 68 35 20 61 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 63 6f 6c 6f 72 ,.h4.a,.h5.a.{.............color
b000 3a 20 23 61 61 61 3b 0a 20 20 20 20 20 20 20 20 7d 0a 20 20 20 20 20 20 20 20 66 69 67 63 61 70 :.#aaa;.........}.........figcap
b020 74 69 6f 6e 2e 7a 69 67 2d 63 61 70 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 62 61 63 6b 67 tion.zig-cap.{.............backg
b040 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 20 20 round-color:.#b27306;...........
b060 20 20 63 6f 6c 6f 72 3a 20 23 30 30 30 3b 0a 20 20 20 20 20 20 20 20 7d 0a 20 20 20 20 20 20 20 ..color:.#000;.........}........
b080 20 66 69 67 63 61 70 74 69 6f 6e 2e 70 65 67 2d 63 61 70 20 7b 0a 20 20 20 20 20 20 20 20 20 20 .figcaption.peg-cap.{...........
b0a0 20 20 62 61 63 6b 67 72 6f 75 6e 64 2d 63 6f 6c 6f 72 3a 20 23 62 32 37 33 30 36 3b 0a 20 20 20 ..background-color:.#b27306;....
b0c0 20 20 20 20 20 20 20 20 20 63 6f 6c 6f 72 3a 20 23 30 30 30 3b 0a 20 20 20 20 20 20 20 20 7d 0a .........color:.#000;.........}.
b0e0 20 20 20 20 20 20 20 20 66 69 67 63 61 70 74 69 6f 6e 2e 73 68 65 6c 6c 2d 63 61 70 20 7b 0a 20 ........figcaption.shell-cap.{..
b100 20 20 20 20 20 20 20 20 20 62 61 63 6b 67 72 6f 75 6e 64 3a 20 23 32 61 32 61 32 61 3b 0a 20 20 .........background:.#2a2a2a;...
b120 20 20 20 20 20 20 20 20 63 6f 6c 6f 72 3a 20 23 66 66 66 3b 0a 20 20 20 20 20 20 20 20 7d 0a 20 ........color:.#fff;.........}..
b140 20 20 20 20 20 7d 0a 20 20 20 20 3c 2f 73 74 79 6c 65 3e 0a 3c 2f 68 65 61 64 3e 0a 3c 62 6f 64 .....}.....</style>.</head>.<bod
b160 79 3e 0a 20 20 3c 68 65 61 64 65 72 3e 3c 68 31 3e 5a 69 67 20 4c 61 6e 67 75 61 67 65 20 52 65 y>...<header><h1>Zig.Language.Re
b180 66 65 72 65 6e 63 65 3c 2f 68 31 3e 3c 2f 68 65 61 64 65 72 3e 0a 20 20 3c 64 69 76 20 69 64 3d ference</h1></header>...<div.id=
b1a0 22 6d 61 69 6e 2d 77 72 61 70 70 65 72 22 3e 0a 20 20 20 20 20 20 0a 20 20 20 20 20 20 3c 64 69 "main-wrapper">..............<di
b1c0 76 20 69 64 3d 22 63 6f 6e 74 65 6e 74 73 2d 77 72 61 70 70 65 72 22 3e 3c 6d 61 69 6e 20 69 64 v.id="contents-wrapper"><main.id
b1e0 3d 22 63 6f 6e 74 65 6e 74 73 22 3e 0a 20 20 20 20 20 20 3c 68 32 20 69 64 3d 22 49 6e 74 72 6f ="contents">.......<h2.id="Intro
b200 64 75 63 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 6f 63 2d duction"><a.href="nav.xhtml#toc-
b220 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 20 3c Introduction">Introduction</a>.<
b240 61 20 63 6c 61 73 73 3d 22 68 64 72 22 20 68 72 65 66 3d 22 23 49 6e 74 72 6f 64 75 63 74 69 6f a.class="hdr".href="#Introductio
b260 6e 22 3e c2 a7 3c 2f 61 3e 3c 2f 68 32 3e 0a 0a 20 20 20 20 20 20 3c 70 3e 0a 20 20 20 20 20 20 n">..</a></h2>........<p>.......
b280 3c 61 20 68 72 65 66 3d 22 68 74 74 70 73 3a 2f 2f 7a 69 67 6c 61 6e 67 2e 6f 72 67 22 3e 5a 69 <a.href="https://ziglang.org">Zi
b2a0 67 3c 2f 61 3e 20 69 73 20 61 20 67 65 6e 65 72 61 6c 2d 70 75 72 70 6f 73 65 20 70 72 6f 67 72 g</a>.is.a.general-purpose.progr
b2c0 61 6d 6d 69 6e 67 20 6c 61 6e 67 75 61 67 65 20 61 6e 64 20 74 6f 6f 6c 63 68 61 69 6e 20 66 6f amming.language.and.toolchain.fo
b2e0 72 20 6d 61 69 6e 74 61 69 6e 69 6e 67 0a 20 20 20 20 20 20 3c 73 74 72 6f 6e 67 3e 72 6f 62 75 r.maintaining.......<strong>robu
b300 73 74 3c 2f 73 74 72 6f 6e 67 3e 2c 20 3c 73 74 72 6f 6e 67 3e 6f 70 74 69 6d 61 6c 3c 2f 73 74 st</strong>,.<strong>optimal</st
b320 72 6f 6e 67 3e 2c 20 61 6e 64 20 3c 73 74 72 6f 6e 67 3e 72 65 75 73 61 62 6c 65 3c 2f 73 74 72 rong>,.and.<strong>reusable</str
b340 6f 6e 67 3e 20 73 6f 66 74 77 61 72 65 2e 0a 20 20 20 20 20 20 3c 2f 70 3e 0a 20 20 20 20 20 20 ong>.software........</p>.......
b360 3c 64 6c 3e 0a 20 20 20 20 20 20 20 20 3c 64 74 3e 52 6f 62 75 73 74 3c 2f 64 74 3e 3c 64 64 3e <dl>.........<dt>Robust</dt><dd>
b380 42 65 68 61 76 69 6f 72 20 69 73 20 63 6f 72 72 65 63 74 20 65 76 65 6e 20 66 6f 72 20 65 64 67 Behavior.is.correct.even.for.edg
b3a0 65 20 63 61 73 65 73 20 73 75 63 68 20 61 73 20 6f 75 74 20 6f 66 20 6d 65 6d 6f 72 79 2e 3c 2f e.cases.such.as.out.of.memory.</
b3c0 64 64 3e 0a 20 20 20 20 20 20 20 20 3c 64 74 3e 4f 70 74 69 6d 61 6c 3c 2f 64 74 3e 3c 64 64 3e dd>.........<dt>Optimal</dt><dd>
b3e0 57 72 69 74 65 20 70 72 6f 67 72 61 6d 73 20 74 68 65 20 62 65 73 74 20 77 61 79 20 74 68 65 79 Write.programs.the.best.way.they
b400 20 63 61 6e 20 62 65 68 61 76 65 20 61 6e 64 20 70 65 72 66 6f 72 6d 2e 3c 2f 64 64 3e 0a 20 20 .can.behave.and.perform.</dd>...
b420 20 20 20 20 20 20 3c 64 74 3e 52 65 75 73 61 62 6c 65 3c 2f 64 74 3e 3c 64 64 3e 54 68 65 20 73 ......<dt>Reusable</dt><dd>The.s
b440 61 6d 65 20 63 6f 64 65 20 77 6f 72 6b 73 20 69 6e 20 6d 61 6e 79 20 65 6e 76 69 72 6f 6e 6d 65 ame.code.works.in.many.environme
b460 6e 74 73 20 77 68 69 63 68 20 68 61 76 65 20 64 69 66 66 65 72 65 6e 74 0a 20 20 20 20 20 20 20 nts.which.have.different........
b480 20 20 20 63 6f 6e 73 74 72 61 69 6e 74 73 2e 3c 2f 64 64 3e 0a 20 20 20 20 20 20 20 20 3c 64 74 ...constraints.</dd>.........<dt
b4a0 3e 4d 61 69 6e 74 61 69 6e 61 62 6c 65 3c 2f 64 74 3e 3c 64 64 3e 50 72 65 63 69 73 65 6c 79 20 >Maintainable</dt><dd>Precisely.
b4c0 63 6f 6d 6d 75 6e 69 63 61 74 65 20 69 6e 74 65 6e 74 20 74 6f 20 74 68 65 20 63 6f 6d 70 69 6c communicate.intent.to.the.compil
b4e0 65 72 20 61 6e 64 0a 20 20 20 20 20 20 20 20 20 20 6f 74 68 65 72 20 70 72 6f 67 72 61 6d 6d 65 er.and...........other.programme
b500 72 73 2e 20 54 68 65 20 6c 61 6e 67 75 61 67 65 20 69 6d 70 6f 73 65 73 20 61 20 6c 6f 77 20 6f rs..The.language.imposes.a.low.o
b520 76 65 72 68 65 61 64 20 74 6f 20 72 65 61 64 69 6e 67 20 63 6f 64 65 20 61 6e 64 20 69 73 0a 20 verhead.to.reading.code.and.is..
b540 20 20 20 20 20 20 20 20 20 72 65 73 69 6c 69 65 6e 74 20 74 6f 20 63 68 61 6e 67 69 6e 67 20 72 .........resilient.to.changing.r
b560 65 71 75 69 72 65 6d 65 6e 74 73 20 61 6e 64 20 65 6e 76 69 72 6f 6e 6d 65 6e 74 73 2e 3c 2f 64 equirements.and.environments.</d
b580 64 3e 0a 20 20 20 20 20 20 3c 2f 64 6c 3e 0a 20 20 20 20 20 20 3c 70 3e 0a 20 20 20 20 20 20 4f d>.......</dl>.......<p>.......O
b5a0 66 74 65 6e 20 74 68 65 20 6d 6f 73 74 20 65 66 66 69 63 69 65 6e 74 20 77 61 79 20 74 6f 20 6c ften.the.most.efficient.way.to.l
b5c0 65 61 72 6e 20 73 6f 6d 65 74 68 69 6e 67 20 6e 65 77 20 69 73 20 74 6f 20 73 65 65 20 65 78 61 earn.something.new.is.to.see.exa
b5e0 6d 70 6c 65 73 2c 20 73 6f 0a 20 20 20 20 20 20 74 68 69 73 20 64 6f 63 75 6d 65 6e 74 61 74 69 mples,.so.......this.documentati
b600 6f 6e 20 73 68 6f 77 73 20 68 6f 77 20 74 6f 20 75 73 65 20 65 61 63 68 20 6f 66 20 5a 69 67 27 on.shows.how.to.use.each.of.Zig'
b620 73 20 66 65 61 74 75 72 65 73 2e 20 49 74 20 69 73 0a 20 20 20 20 20 20 61 6c 6c 20 6f 6e 20 6f s.features..It.is.......all.on.o
b640 6e 65 20 70 61 67 65 20 73 6f 20 79 6f 75 20 63 61 6e 20 73 65 61 72 63 68 20 77 69 74 68 20 79 ne.page.so.you.can.search.with.y
b660 6f 75 72 20 62 72 6f 77 73 65 72 27 73 20 73 65 61 72 63 68 20 74 6f 6f 6c 2e 0a 20 20 20 20 20 our.browser's.search.tool.......
b680 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 63 6f 64 65 20 73 .</p>.......<p>.......The.code.s
b6a0 61 6d 70 6c 65 73 20 69 6e 20 74 68 69 73 20 64 6f 63 75 6d 65 6e 74 20 61 72 65 20 63 6f 6d 70 amples.in.this.document.are.comp
b6c0 69 6c 65 64 20 61 6e 64 20 74 65 73 74 65 64 20 61 73 20 70 61 72 74 20 6f 66 20 74 68 65 20 6d iled.and.tested.as.part.of.the.m
b6e0 61 69 6e 20 74 65 73 74 20 73 75 69 74 65 20 6f 66 20 5a 69 67 2e 0a 20 20 20 20 20 20 3c 2f 70 ain.test.suite.of.Zig........</p
b700 3e 0a 20 20 20 20 20 20 3c 70 3e 0a 20 20 20 20 20 20 54 68 69 73 20 48 54 4d 4c 20 64 6f 63 75 >.......<p>.......This.HTML.docu
b720 6d 65 6e 74 20 64 65 70 65 6e 64 73 20 6f 6e 20 6e 6f 20 65 78 74 65 72 6e 61 6c 20 66 69 6c 65 ment.depends.on.no.external.file
b740 73 2c 20 73 6f 20 79 6f 75 20 63 61 6e 20 75 73 65 20 69 74 20 6f 66 66 6c 69 6e 65 2e 0a 20 20 s,.so.you.can.use.it.offline....
b760 20 20 20 20 3c 2f 70 3e 0a 20 20 20 20 20 20 0a 0a 20 20 20 20 20 20 3c 68 32 20 69 64 3d 22 5a ....</p>...............<h2.id="Z
b780 69 67 2d 53 74 61 6e 64 61 72 64 2d 4c 69 62 72 61 72 79 22 3e 3c 61 20 68 72 65 66 3d 22 6e 61 ig-Standard-Library"><a.href="na
b7a0 76 2e 78 68 74 6d 6c 23 74 6f 63 2d 5a 69 67 2d 53 74 61 6e 64 61 72 64 2d 4c 69 62 72 61 72 79 v.xhtml#toc-Zig-Standard-Library
b7c0 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 3c 61 20 63 6c ">Zig.Standard.Library</a>.<a.cl
b7e0 61 73 73 3d 22 68 64 72 22 20 68 72 65 66 3d 22 23 5a 69 67 2d 53 74 61 6e 64 61 72 64 2d 4c 69 ass="hdr".href="#Zig-Standard-Li
b800 62 72 61 72 79 22 3e c2 a7 3c 2f 61 3e 3c 2f 68 32 3e 0a 0a 20 20 20 20 20 20 3c 70 3e 0a 20 20 brary">..</a></h2>........<p>...
b820 20 20 20 20 20 20 54 68 65 20 3c 61 20 68 72 65 66 3d 22 68 74 74 70 73 3a 2f 2f 7a 69 67 6c 61 ......The.<a.href="https://zigla
b840 6e 67 2e 6f 72 67 2f 64 6f 63 75 6d 65 6e 74 61 74 69 6f 6e 2f 6d 61 73 74 65 72 2f 73 74 64 2f ng.org/documentation/master/std/
b860 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 68 61 73 20 69 ">Zig.Standard.Library</a>.has.i
b880 74 73 20 6f 77 6e 20 64 6f 63 75 6d 65 6e 74 61 74 69 6f 6e 2e 0a 20 20 20 20 20 20 3c 2f 70 3e ts.own.documentation........</p>
b8a0 0a 20 20 20 20 20 20 3c 70 3e 0a 20 20 20 20 20 20 20 20 5a 69 67 27 73 20 53 74 61 6e 64 61 72 .......<p>.........Zig's.Standar
b8c0 64 20 4c 69 62 72 61 72 79 20 63 6f 6e 74 61 69 6e 73 20 63 6f 6d 6d 6f 6e 6c 79 20 75 73 65 64 d.Library.contains.commonly.used
b8e0 20 61 6c 67 6f 72 69 74 68 6d 73 2c 20 64 61 74 61 20 73 74 72 75 63 74 75 72 65 73 2c 20 61 6e .algorithms,.data.structures,.an
b900 64 20 64 65 66 69 6e 69 74 69 6f 6e 73 20 74 6f 20 68 65 6c 70 20 79 6f 75 20 62 75 69 6c 64 20 d.definitions.to.help.you.build.
b920 70 72 6f 67 72 61 6d 73 20 6f 72 20 6c 69 62 72 61 72 69 65 73 2e 0a 20 20 20 20 20 20 20 20 59 programs.or.libraries..........Y
b940 6f 75 20 77 69 6c 6c 20 73 65 65 20 6d 61 6e 79 20 65 78 61 6d 70 6c 65 73 20 6f 66 20 5a 69 67 ou.will.see.many.examples.of.Zig
b960 27 73 20 53 74 61 6e 64 61 72 64 20 4c 69 62 72 61 72 79 20 75 73 65 64 20 69 6e 20 74 68 69 73 's.Standard.Library.used.in.this
b980 20 64 6f 63 75 6d 65 6e 74 61 74 69 6f 6e 2e 20 54 6f 20 6c 65 61 72 6e 20 6d 6f 72 65 20 61 62 .documentation..To.learn.more.ab
b9a0 6f 75 74 20 74 68 65 20 5a 69 67 20 53 74 61 6e 64 61 72 64 20 4c 69 62 72 61 72 79 2c 0a 20 20 out.the.Zig.Standard.Library,...
b9c0 20 20 20 20 20 20 76 69 73 69 74 20 74 68 65 20 6c 69 6e 6b 20 61 62 6f 76 65 2e 0a 20 20 20 20 ......visit.the.link.above......
b9e0 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 41 6c 74 65 72 6e 61 ..</p>.......<p>.........Alterna
ba00 74 69 76 65 6c 79 2c 20 74 68 65 20 5a 69 67 20 53 74 61 6e 64 61 72 64 20 4c 69 62 72 61 72 79 tively,.the.Zig.Standard.Library
ba20 20 64 6f 63 75 6d 65 6e 74 61 74 69 6f 6e 20 69 73 20 70 72 6f 76 69 64 65 64 20 77 69 74 68 20 .documentation.is.provided.with.
ba40 65 61 63 68 20 5a 69 67 20 64 69 73 74 72 69 62 75 74 69 6f 6e 2e 20 49 74 20 63 61 6e 20 62 65 each.Zig.distribution..It.can.be
ba60 20 72 65 6e 64 65 72 65 64 20 76 69 61 20 61 20 6c 6f 63 61 6c 20 77 65 62 73 65 72 76 65 72 20 .rendered.via.a.local.webserver.
ba80 77 69 74 68 3a 0a 20 20 20 20 20 20 3c 2f 70 3e 0a 20 20 20 20 20 20 3c 66 69 67 75 72 65 3e 3c with:.......</p>.......<figure><
baa0 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
bac0 6c 6c 3c 2f 66 69 67 63 61 70 74 69 6f 6e 3e 3c 70 72 65 3e 3c 73 61 6d 70 3e 7a 69 67 20 73 74 ll</figcaption><pre><samp>zig.st
bae0 64 0a 3c 2f 73 61 6d 70 3e 3c 2f 70 72 65 3e 3c 2f 66 69 67 75 72 65 3e 0a 20 20 20 20 20 20 0a d.</samp></pre></figure>........
bb00 0a 20 20 20 20 20 20 3c 68 32 20 69 64 3d 22 48 65 6c 6c 6f 2d 57 6f 72 6c 64 22 3e 3c 61 20 68 .......<h2.id="Hello-World"><a.h
bb20 72 65 66 3d 22 6e 61 76 2e 78 68 74 6d 6c 23 74 6f 63 2d 48 65 6c 6c 6f 2d 57 6f 72 6c 64 22 3e ref="nav.xhtml#toc-Hello-World">
bb40 48 65 6c 6c 6f 20 57 6f 72 6c 64 3c 2f 61 3e 20 3c 61 20 63 6c 61 73 73 3d 22 68 64 72 22 20 68 Hello.World</a>.<a.class="hdr".h
bb60 72 65 66 3d 22 23 48 65 6c 6c 6f 2d 57 6f 72 6c 64 22 3e c2 a7 3c 2f 61 3e 3c 2f 68 32 3e 0a 0a ref="#Hello-World">..</a></h2>..
bb80 0a 20 20 20 20 20 20 3c 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
bba0 3d 22 7a 69 67 2d 63 61 70 22 3e 3c 63 69 74 65 20 63 6c 61 73 73 3d 22 66 69 6c 65 22 3e 68 65 ="zig-cap"><cite.class="file">he
bbc0 6c 6c 6f 2e 7a 69 67 3c 2f 63 69 74 65 3e 3c 2f 66 69 67 63 61 70 74 69 6f 6e 3e 3c 70 72 65 3e llo.zig</cite></figcaption><pre>
bbe0 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 63 6f 6e 73 74 <code><span.class="tok-kw">const
bc00 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
bc20 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
bc40 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
bc60 61 6e 3e 29 3b 0a 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 70 75 62 3c an>);..<span.class="tok-kw">pub<
bc80 2f 73 70 61 6e 3e 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 66 6e 3c 2f /span>.<span.class="tok-kw">fn</
bca0 73 70 61 6e 3e 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 66 6e 22 3e 6d 61 69 6e 3c span>.<span.class="tok-fn">main<
bcc0 2f 73 70 61 6e 3e 28 69 6e 69 74 3a 20 73 74 64 2e 70 72 6f 63 65 73 73 2e 49 6e 69 74 29 20 21 /span>(init:.std.process.Init).!
bce0 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
bd00 6e 3e 20 7b 0a 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 74 72 n>.{.....<span.class="tok-kw">tr
bd20 79 3c 2f 73 70 61 6e 3e 20 73 74 64 2e 49 6f 2e 46 69 6c 65 2e 73 74 64 6f 75 74 28 29 2e 77 72 y</span>.std.Io.File.stdout().wr
bd40 69 74 65 53 74 72 65 61 6d 69 6e 67 41 6c 6c 28 69 6e 69 74 2e 69 6f 2c 20 3c 73 70 61 6e 20 63 iteStreamingAll(init.io,.<span.c
bd60 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 57 6f 72 6c lass="tok-str">&quot;Hello,.Worl
bd80 64 21 5c 6e 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 29 3b 0a 7d 3c 2f 63 6f 64 65 3e 3c 2f 70 72 d!\n&quot;</span>);.}</code></pr
bda0 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
bdc0 6c 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
bde0 6f 6e 3e 3c 70 72 65 3e 3c 73 61 6d 70 3e 24 20 3c 6b 62 64 3e 7a 69 67 20 62 75 69 6c 64 2d 65 on><pre><samp>$.<kbd>zig.build-e
be00 78 65 20 68 65 6c 6c 6f 2e 7a 69 67 3c 2f 6b 62 64 3e 0a 24 20 3c 6b 62 64 3e 2e 2f 68 65 6c 6c xe.hello.zig</kbd>.$.<kbd>./hell
be20 6f 3c 2f 6b 62 64 3e 0a 48 65 6c 6c 6f 2c 20 57 6f 72 6c 64 21 0a 3c 2f 73 61 6d 70 3e 3c 2f 70 o</kbd>.Hello,.World!.</samp></p
be40 72 65 3e 3c 2f 66 69 67 75 72 65 3e 0a 0a 20 20 20 20 20 20 3c 70 3e 0a 20 20 20 20 20 20 4d 6f re></figure>........<p>.......Mo
be60 73 74 20 6f 66 20 74 68 65 20 74 69 6d 65 2c 20 69 74 20 69 73 20 6d 6f 72 65 20 61 70 70 72 6f st.of.the.time,.it.is.more.appro
be80 70 72 69 61 74 65 20 74 6f 20 77 72 69 74 65 20 74 6f 20 73 74 64 65 72 72 20 72 61 74 68 65 72 priate.to.write.to.stderr.rather
bea0 20 74 68 61 6e 20 73 74 64 6f 75 74 2c 20 61 6e 64 0a 20 20 20 20 20 20 77 68 65 74 68 65 72 20 .than.stdout,.and.......whether.
bec0 6f 72 20 6e 6f 74 20 74 68 65 20 6d 65 73 73 61 67 65 20 69 73 20 73 75 63 63 65 73 73 66 75 6c or.not.the.message.is.successful
bee0 6c 79 20 77 72 69 74 74 65 6e 20 74 6f 20 74 68 65 20 73 74 72 65 61 6d 20 69 73 20 69 72 72 65 ly.written.to.the.stream.is.irre
bf00 6c 65 76 61 6e 74 2e 0a 20 20 20 20 20 20 41 6c 73 6f 2c 20 66 6f 72 6d 61 74 74 65 64 20 70 72 levant........Also,.formatted.pr
bf20 69 6e 74 69 6e 67 20 6f 66 74 65 6e 20 63 6f 6d 65 73 20 69 6e 20 68 61 6e 64 79 2e 20 46 6f 72 inting.often.comes.in.handy..For
bf40 20 74 68 69 73 20 63 6f 6d 6d 6f 6e 20 63 61 73 65 2c 0a 20 20 20 20 20 20 74 68 65 72 65 20 69 .this.common.case,.......there.i
bf60 73 20 61 20 73 69 6d 70 6c 65 72 20 41 50 49 3a 0a 20 20 20 20 20 20 3c 2f 70 3e 0a 20 20 20 20 s.a.simpler.API:.......</p>.....
bf80 20 20 3c 66 69 67 75 72 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
bfa0 2d 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 6c 6c 6f 5f 61 -cap"><cite.class="file">hello_a
bfc0 67 61 69 6e 2e 7a 69 67 3c 2f 63 69 74 65 3e 3c 2f 66 69 67 63 61 70 74 69 6f 6e 3e 3c 70 72 65 gain.zig</cite></figcaption><pre
bfe0 3e 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 63 6f 6e 73 ><code><span.class="tok-kw">cons
c000 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-
c020 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
c040 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
c060 70 61 6e 3e 29 3b 0a 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 70 75 62 pan>);..<span.class="tok-kw">pub
c080 3c 2f 73 70 61 6e 3e 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 66 6e 3c </span>.<span.class="tok-kw">fn<
c0a0 2f 73 70 61 6e 3e 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 66 6e 22 3e 6d 61 69 6e /span>.<span.class="tok-fn">main
c0c0 3c 2f 73 70 61 6e 3e 28 29 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 </span>().<span.class="tok-type"
c0e0 3e 76 6f 69 64 3c 2f 73 70 61 6e 3e 20 7b 0a 20 20 20 20 73 74 64 2e 64 65 62 75 67 2e 70 72 69 >void</span>.{.....std.debug.pri
c100 6e 74 28 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 73 74 72 22 3e 26 71 75 6f 74 3b 48 nt(<span.class="tok-str">&quot;H
c120 65 6c 6c 6f 2c 20 7b 73 7d 21 5c 6e 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 2c 20 2e 7b 3c 73 70 ello,.{s}!\n&quot;</span>,..{<sp
c140 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 73 74 72 22 3e 26 71 75 6f 74 3b 57 6f 72 6c 64 26 71 an.class="tok-str">&quot;World&q
c160 75 6f 74 3b 3c 2f 73 70 61 6e 3e 7d 29 3b 0a 7d 3c 2f 63 6f 64 65 3e 3c 2f 70 72 65 3e 3c 2f 66 uot;</span>});.}</code></pre></f
c180 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=
c1a0 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
c1c0 72 65 3e 3c 73 61 6d 70 3e 24 20 3c 6b 62 64 3e 7a 69 67 20 62 75 69 6c 64 2d 65 78 65 20 68 65 re><samp>$.<kbd>zig.build-exe.he
c1e0 6c 6c 6f 5f 61 67 61 69 6e 2e 7a 69 67 3c 2f 6b 62 64 3e 0a 24 20 3c 6b 62 64 3e 2e 2f 68 65 6c llo_again.zig</kbd>.$.<kbd>./hel
c200 6c 6f 5f 61 67 61 69 6e 3c 2f 6b 62 64 3e 0a 48 65 6c 6c 6f 2c 20 57 6f 72 6c 64 21 0a 3c 2f 73 lo_again</kbd>.Hello,.World!.</s
c220 61 6d 70 3e 3c 2f 70 72 65 3e 3c 2f 66 69 67 75 72 65 3e 0a 0a 20 20 20 20 20 20 3c 70 3e 0a 20 amp></pre></figure>........<p>..
c240 20 20 20 20 20 49 6e 20 74 68 69 73 20 63 61 73 65 2c 20 74 68 65 20 3c 63 6f 64 65 3e 21 3c 2f .....In.this.case,.the.<code>!</
c260 63 6f 64 65 3e 20 6d 61 79 20 62 65 20 6f 6d 69 74 74 65 64 20 66 72 6f 6d 20 74 68 65 20 72 65 code>.may.be.omitted.from.the.re
c280 74 75 72 6e 0a 20 20 20 20 20 20 74 79 70 65 20 6f 66 20 3c 63 6f 64 65 3e 6d 61 69 6e 3c 2f 63 turn.......type.of.<code>main</c
c2a0 6f 64 65 3e 20 62 65 63 61 75 73 65 20 6e 6f 20 65 72 72 6f 72 73 20 61 72 65 20 72 65 74 75 72 ode>.because.no.errors.are.retur
c2c0 6e 65 64 20 66 72 6f 6d 20 74 68 65 20 66 75 6e 63 74 69 6f 6e 2e 0a 20 20 20 20 20 20 3c 2f 70 ned.from.the.function........</p
c2e0 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
c300 3e 3c 61 20 68 72 65 66 3d 22 23 56 61 6c 75 65 73 22 3e 56 61 6c 75 65 73 3c 2f 61 3e 3c 2f 6c ><a.href="#Values">Values</a></l
c320 69 3e 0a 3c 6c 69 3e 3c 61 20 68 72 65 66 3d 22 23 54 75 70 6c 65 73 22 3e 54 75 70 6c 65 73 3c i>.<li><a.href="#Tuples">Tuples<
c340 2f 61 3e 3c 2f 6c 69 3e 0a 3c 6c 69 3e 3c 61 20 68 72 65 66 3d 22 23 69 6d 70 6f 72 74 22 3e 40 /a></li>.<li><a.href="#import">@
c360 69 6d 70 6f 72 74 3c 2f 61 3e 3c 2f 6c 69 3e 0a 3c 6c 69 3e 3c 61 20 68 72 65 66 3d 22 23 45 72 import</a></li>.<li><a.href="#Er
c380 72 6f 72 73 22 3e 45 72 72 6f 72 73 3c 2f 61 3e 3c 2f 6c 69 3e 0a 3c 6c 69 3e 3c 61 20 68 72 65 rors">Errors</a></li>.<li><a.hre
c3a0 66 3d 22 23 45 6e 74 72 79 2d 50 6f 69 6e 74 22 3e 45 6e 74 72 79 20 50 6f 69 6e 74 3c 2f 61 3e f="#Entry-Point">Entry.Point</a>
c3c0 3c 2f 6c 69 3e 0a 3c 6c 69 3e 3c 61 20 68 72 65 66 3d 22 23 53 6f 75 72 63 65 2d 45 6e 63 6f 64 </li>.<li><a.href="#Source-Encod
c3e0 69 6e 67 22 3e 53 6f 75 72 63 65 20 45 6e 63 6f 64 69 6e 67 3c 2f 61 3e 3c 2f 6c 69 3e 0a 3c 6c ing">Source.Encoding</a></li>.<l
c400 69 3e 3c 61 20 68 72 65 66 3d 22 23 74 72 79 22 3e 74 72 79 3c 2f 61 3e 3c 2f 6c 69 3e 0a 3c 2f i><a.href="#try">try</a></li>.</
c420 75 6c 3e 0a 0a 20 20 20 20 20 20 0a 0a 20 20 20 20 20 20 3c 68 32 20 69 64 3d 22 43 6f 6d 6d 65 ul>................<h2.id="Comme
c440 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 43 6f 6d 6d nts"><a.href="nav.xhtml#toc-Comm
c460 65 6e 74 73 22 3e 43 6f 6d 6d 65 6e 74 73 3c 2f 61 3e 20 3c 61 20 63 6c 61 73 73 3d 22 68 64 72 ents">Comments</a>.<a.class="hdr
c480 22 20 68 72 65 66 3d 22 23 43 6f 6d 6d 65 6e 74 73 22 3e c2 a7 3c 2f 61 3e 3c 2f 68 32 3e 0a 0a ".href="#Comments">..</a></h2>..
c4a0 20 20 20 20 20 20 3c 70 3e 54 68 65 72 65 20 61 72 65 20 74 68 72 65 65 20 74 79 70 65 73 20 6f ......<p>There.are.three.types.o
c4c0 66 20 63 6f 6d 6d 65 6e 74 73 2e 20 4e 6f 72 6d 61 6c 20 63 6f 6d 6d 65 6e 74 73 20 61 72 65 20 f.comments..Normal.comments.are.
c4e0 69 67 6e 6f 72 65 64 2c 20 77 68 69 6c 65 20 3c 61 20 68 72 65 66 3d 22 23 44 6f 63 2d 43 6f 6d ignored,.while.<a.href="#Doc-Com
c500 6d 65 6e 74 73 22 3e 44 6f 63 20 43 6f 6d 6d 65 6e 74 73 3c 2f 61 3e 0a 20 20 20 20 20 20 61 6e ments">Doc.Comments</a>.......an
c520 64 20 3c 61 20 68 72 65 66 3d 22 23 54 6f 70 2d 4c 65 76 65 6c 2d 44 6f 63 2d 43 6f 6d 6d 65 6e d.<a.href="#Top-Level-Doc-Commen
c540 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 3c 2f 61 3e 20 61 ts">Top-Level.Doc.Comments</a>.a
c560 72 65 20 75 73 65 64 20 62 79 20 74 68 65 20 63 6f 6d 70 69 6c 65 72 20 74 6f 20 67 65 6e 65 72 re.used.by.the.compiler.to.gener
c580 61 74 65 0a 20 20 20 20 20 20 74 68 65 20 70 61 63 6b 61 67 65 20 64 6f 63 75 6d 65 6e 74 61 74 ate.......the.package.documentat
c5a0 69 6f 6e 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 ion.</p>.......<figure><figcapti
c5c0 6f 6e 20 63 6c 61 73 73 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="
c5e0 66 69 6c 65 22 3e 63 6f 6d 6d 65 6e 74 73 2e 7a 69 67 3c 2f 63 69 74 65 3e 3c 2f 66 69 67 63 61 file">comments.zig</cite></figca
c600 70 74 69 6f 6e 3e 3c 70 72 65 3e 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f ption><pre><code><span.class="to
c620 6b 2d 6b 77 22 3e 63 6f 6e 73 74 3c 2f 73 70 61 6e 3e 20 70 72 69 6e 74 20 3d 20 3c 73 70 61 6e k-kw">const</span>.print.=.<span
c640 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
c660 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;
c680 73 74 64 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 29 2e 64 65 62 75 67 2e 70 72 69 6e 74 3b 0a 0a std&quot;</span>).debug.print;..
c6a0 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>.
c6c0 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>.<
c6e0 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>(
c700 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
c720 70 61 6e 3e 20 7b 0a 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 63 6f 6d 6d pan>.{.....<span.class="tok-comm
c740 65 6e 74 22 3e 2f 2f 20 43 6f 6d 6d 65 6e 74 73 20 69 6e 20 5a 69 67 20 73 74 61 72 74 20 77 69 ent">//.Comments.in.Zig.start.wi
c760 74 68 20 26 71 75 6f 74 3b 2f 2f 26 71 75 6f 74 3b 20 61 6e 64 20 65 6e 64 20 61 74 20 74 68 65 th.&quot;//&quot;.and.end.at.the
c780 20 6e 65 78 74 20 4c 46 20 62 79 74 65 20 28 65 6e 64 20 6f 66 20 6c 69 6e 65 29 2e 3c 2f 73 70 .next.LF.byte.(end.of.line).</sp
c7a0 61 6e 3e 0a 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 63 6f 6d 6d 65 6e 74 an>.....<span.class="tok-comment
c7c0 22 3e 2f 2f 20 54 68 65 20 6c 69 6e 65 20 62 65 6c 6f 77 20 69 73 20 61 20 63 6f 6d 6d 65 6e 74 ">//.The.line.below.is.a.comment
c7e0 20 61 6e 64 20 77 6f 6e 27 74 20 62 65 20 65 78 65 63 75 74 65 64 2e 3c 2f 73 70 61 6e 3e 0a 0a .and.won't.be.executed.</span>..
c800 20 20 20 20 3c 73 70 61 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">//
c820 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 3c print(&quot;Hello?&quot;,..{});<
c840 2f 73 70 61 6e 3e 0a 0a 20 20 20 20 70 72 69 6e 74 28 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 /span>......print(<span.class="t
c860 6f 6b 2d 73 74 72 22 3e 26 71 75 6f 74 3b 48 65 6c 6c 6f 2c 20 77 6f 72 6c 64 21 5c 6e 26 71 75 ok-str">&quot;Hello,.world!\n&qu
c880 6f 74 3b 3c 2f 73 70 61 6e 3e 2c 20 2e 7b 7d 29 3b 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 ot;</span>,..{});.<span.class="t
c8a0 6f 6b 2d 63 6f 6d 6d 65 6e 74 22 3e 2f 2f 20 61 6e 6f 74 68 65 72 20 63 6f 6d 6d 65 6e 74 3c 2f ok-comment">//.another.comment</
c8c0 73 70 61 6e 3e 0a 7d 3c 2f 63 6f 64 65 3e 3c 2f 70 72 65 3e 3c 2f 66 69 67 75 72 65 3e 3c 66 69 span>.}</code></pre></figure><fi
c8e0 67 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
c900 70 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>
c920 24 20 3c 6b 62 64 3e 7a 69 67 20 62 75 69 6c 64 2d 65 78 65 20 63 6f 6d 6d 65 6e 74 73 2e 7a 69 $.<kbd>zig.build-exe.comments.zi
c940 67 3c 2f 6b 62 64 3e 0a 24 20 3c 6b 62 64 3e 2e 2f 63 6f 6d 6d 65 6e 74 73 3c 2f 6b 62 64 3e 0a g</kbd>.$.<kbd>./comments</kbd>.
c960 48 65 6c 6c 6f 2c 20 77 6f 72 6c 64 21 0a 3c 2f 73 61 6d 70 3e 3c 2f 70 72 65 3e 3c 2f 66 69 67 Hello,.world!.</samp></pre></fig
c980 75 72 65 3e 0a 0a 20 20 20 20 20 20 3c 70 3e 54 68 65 72 65 20 61 72 65 20 6e 6f 20 6d 75 6c 74 ure>........<p>There.are.no.mult
c9a0 69 6c 69 6e 65 20 63 6f 6d 6d 65 6e 74 73 2e 20 5a 69 67 20 68 61 73 20 74 68 65 20 70 72 6f 70 iline.comments..Zig.has.the.prop
c9c0 65 72 74 79 20 74 68 61 74 20 65 61 63 68 20 6c 69 6e 65 0a 20 20 20 20 20 20 6f 66 20 63 6f 64 erty.that.each.line.......of.cod
c9e0 65 20 63 61 6e 20 62 65 20 74 6f 6b 65 6e 69 7a 65 64 20 69 6e 64 65 70 65 6e 64 65 6e 74 6c 79 e.can.be.tokenized.independently
ca00 2e 3c 2f 70 3e 0a 20 20 20 20 20 20 3c 68 33 20 69 64 3d 22 44 6f 63 2d 43 6f 6d 6d 65 6e 74 73 .</p>.......<h3.id="Doc-Comments
ca20 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 44 6f 63 2d 43 6f 6d "><a.href="nav.xhtml#toc-Doc-Com
ca40 6d 65 6e 74 73 22 3e 44 6f 63 20 43 6f 6d 6d 65 6e 74 73 3c 2f 61 3e 20 3c 61 20 63 6c 61 73 73 ments">Doc.Comments</a>.<a.class
ca60 3d 22 68 64 72 22 20 68 72 65 66 3d 22 23 44 6f 63 2d 43 6f 6d 6d 65 6e 74 73 22 3e c2 a7 3c 2f ="hdr".href="#Doc-Comments">..</
ca80 61 3e 3c 2f 68 33 3e 0a 0a 20 20 20 20 20 20 3c 70 3e 0a 20 20 20 20 20 20 41 20 64 6f 63 20 63 a></h3>........<p>.......A.doc.c
caa0 6f 6d 6d 65 6e 74 20 69 73 20 6f 6e 65 20 74 68 61 74 20 62 65 67 69 6e 73 20 77 69 74 68 20 65 omment.is.one.that.begins.with.e
cac0 78 61 63 74 6c 79 20 74 68 72 65 65 20 73 6c 61 73 68 65 73 20 28 69 2e 65 2e 0a 20 20 20 20 20 xactly.three.slashes.(i.e.......
cae0 20 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 63 6f 6d 6d 65 6e 74 22 .<code><span.class="tok-comment"
cb00 3e 2f 2f 2f 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 20 62 75 74 20 6e 6f 74 20 3c 63 6f 64 65 >///</span></code>.but.not.<code
cb20 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 63 6f 6d 6d 65 6e 74 22 3e 2f 2f 2f 2f 3c ><span.class="tok-comment">////<
cb40 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 29 3b 0a 20 20 20 20 20 20 6d 75 6c 74 69 70 6c 65 20 64 /span></code>);.......multiple.d
cb60 6f 63 20 63 6f 6d 6d 65 6e 74 73 20 69 6e 20 61 20 72 6f 77 20 61 72 65 20 6d 65 72 67 65 64 20 oc.comments.in.a.row.are.merged.
cb80 74 6f 67 65 74 68 65 72 20 74 6f 20 66 6f 72 6d 20 61 20 6d 75 6c 74 69 6c 69 6e 65 0a 20 20 20 together.to.form.a.multiline....
cba0 20 20 20 64 6f 63 20 63 6f 6d 6d 65 6e 74 2e 20 20 54 68 65 20 64 6f 63 20 63 6f 6d 6d 65 6e 74 ...doc.comment...The.doc.comment
cbc0 20 64 6f 63 75 6d 65 6e 74 73 20 77 68 61 74 65 76 65 72 20 69 6d 6d 65 64 69 61 74 65 6c 79 20 .documents.whatever.immediately.
cbe0 66 6f 6c 6c 6f 77 73 20 69 74 2e 0a 20 20 20 20 20 20 3c 2f 70 3e 0a 20 20 20 20 20 20 3c 66 69 follows.it........</p>.......<fi
cc00 67 75 72 65 3e 3c 66 69 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"
cc20 3e 3c 63 69 74 65 20 63 6c 61 73 73 3d 22 66 69 6c 65 22 3e 64 6f 63 5f 63 6f 6d 6d 65 6e 74 73 ><cite.class="file">doc_comments
cc40 2e 7a 69 67 3c 2f 63 69 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
cc60 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 63 6f 6d 6d 65 6e 74 22 3e 2f 2f 2f de><span.class="tok-comment">///
cc80 20 41 20 73 74 72 75 63 74 75 72 65 20 66 6f 72 20 73 74 6f 72 69 6e 67 20 61 20 74 69 6d 65 73 .A.structure.for.storing.a.times
cca0 74 61 6d 70 2c 20 77 69 74 68 20 6e 61 6e 6f 73 65 63 6f 6e 64 20 70 72 65 63 69 73 69 6f 6e 20 tamp,.with.nanosecond.precision.
ccc0 28 74 68 69 73 20 69 73 20 61 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 (this.is.a</span>.<span.class="t
cce0 6f 6b 2d 63 6f 6d 6d 65 6e 74 22 3e 2f 2f 2f 20 6d 75 6c 74 69 6c 69 6e 65 20 64 6f 63 20 63 6f ok-comment">///.multiline.doc.co
cd00 6d 6d 65 6e 74 29 2e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d mment).</span>.<span.class="tok-
cd20 6b 77 22 3e 63 6f 6e 73 74 3c 2f 73 70 61 6e 3e 20 54 69 6d 65 73 74 61 6d 70 20 3d 20 3c 73 70 kw">const</span>.Timestamp.=.<sp
cd40 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>.
cd60 7b 0a 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 63 6f 6d 6d 65 6e 74 22 3e {.....<span.class="tok-comment">
cd80 2f 2f 2f 20 54 68 65 20 6e 75 6d 62 65 72 20 6f 66 20 73 65 63 6f 6e 64 73 20 73 69 6e 63 65 20 ///.The.number.of.seconds.since.
cda0 74 68 65 20 65 70 6f 63 68 20 28 74 68 69 73 20 69 73 20 61 6c 73 6f 20 61 20 64 6f 63 20 63 6f the.epoch.(this.is.also.a.doc.co
cdc0 6d 6d 65 6e 74 29 2e 3c 2f 73 70 61 6e 3e 0a 20 20 20 20 73 65 63 6f 6e 64 73 3a 20 3c 73 70 61 mment).</span>.....seconds:.<spa
cde0 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 69 36 34 3c 2f 73 70 61 6e 3e 2c 20 3c n.class="tok-type">i64</span>,.<
ce00 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 63 6f 6d 6d 65 6e 74 22 3e 2f 2f 20 73 69 67 6e span.class="tok-comment">//.sign
ce20 65 64 20 73 6f 20 77 65 20 63 61 6e 20 72 65 70 72 65 73 65 6e 74 20 70 72 65 2d 31 39 37 30 20 ed.so.we.can.represent.pre-1970.
ce40 28 6e 6f 74 20 61 20 64 6f 63 20 63 6f 6d 6d 65 6e 74 29 3c 2f 73 70 61 6e 3e 0a 20 20 20 20 3c (not.a.doc.comment)</span>.....<
ce60 73 70 61 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 span.class="tok-comment">///.The
ce80 20 6e 75 6d 62 65 72 20 6f 66 20 6e 61 6e 6f 73 65 63 6f 6e 64 73 20 70 61 73 74 20 74 68 65 20 .number.of.nanoseconds.past.the.
cea0 73 65 63 6f 6e 64 20 28 64 6f 63 20 63 6f 6d 6d 65 6e 74 20 61 67 61 69 6e 29 2e 3c 2f 73 70 61 second.(doc.comment.again).</spa
cec0 6e 3e 0a 20 20 20 20 6e 61 6e 6f 73 3a 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 n>.....nanos:.<span.class="tok-t
cee0 79 70 65 22 3e 75 33 32 3c 2f 73 70 61 6e 3e 2c 0a 0a 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 ype">u32</span>,......<span.clas
cf00 73 3d 22 74 6f 6b 2d 63 6f 6d 6d 65 6e 74 22 3e 2f 2f 2f 20 52 65 74 75 72 6e 73 20 61 20 60 54 s="tok-comment">///.Returns.a.`T
cf20 69 6d 65 73 74 61 6d 70 60 20 73 74 72 75 63 74 20 72 65 70 72 65 73 65 6e 74 69 6e 67 20 74 68 imestamp`.struct.representing.th
cf40 65 20 55 6e 69 78 20 65 70 6f 63 68 3b 20 74 68 61 74 20 69 73 2c 20 74 68 65 3c 2f 73 70 61 6e e.Unix.epoch;.that.is,.the</span
cf60 3e 0a 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 63 6f 6d 6d 65 6e 74 22 3e >.....<span.class="tok-comment">
cf80 2f 2f 2f 20 6d 6f 6d 65 6e 74 20 6f 66 20 31 39 37 30 20 4a 61 6e 20 31 20 30 30 3a 30 30 3a 30 ///.moment.of.1970.Jan.1.00:00:0
cfa0 30 20 55 54 43 20 28 74 68 69 73 20 69 73 20 61 20 64 6f 63 20 63 6f 6d 6d 65 6e 74 20 74 6f 6f 0.UTC.(this.is.a.doc.comment.too
cfc0 29 2e 3c 2f 73 70 61 6e 3e 0a 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b ).</span>.....<span.class="tok-k
cfe0 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
d000 77 22 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
d020 22 3e 75 6e 69 78 45 70 6f 63 68 3c 2f 73 70 61 6e 3e 28 29 20 54 69 6d 65 73 74 61 6d 70 20 7b ">unixEpoch</span>().Timestamp.{
d040 0a 20 20 20 20 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 72 65 .........<span.class="tok-kw">re
d060 74 75 72 6e 3c 2f 73 70 61 6e 3e 20 54 69 6d 65 73 74 61 6d 70 7b 0a 20 20 20 20 20 20 20 20 20 turn</span>.Timestamp{..........
d080 20 20 20 2e 73 65 63 6f 6e 64 73 20 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e ....seconds.=.<span.class="tok-n
d0a0 75 6d 62 65 72 22 3e 30 3c 2f 73 70 61 6e 3e 2c 0a 20 20 20 20 20 20 20 20 20 20 20 20 2e 6e 61 umber">0</span>,..............na
d0c0 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 30 nos.=.<span.class="tok-number">0
d0e0 3c 2f 73 70 61 6e 3e 2c 0a 20 20 20 20 20 20 20 20 7d 3b 0a 20 20 20 20 7d 0a 7d 3b 3c 2f 63 6f </span>,.........};.....}.};</co
d100 64 65 3e 3c 2f 70 72 65 3e 3c 2f 66 69 67 75 72 65 3e 0a 0a 20 20 20 20 20 20 3c 70 3e 0a 20 20 de></pre></figure>........<p>...
d120 20 20 20 20 44 6f 63 20 63 6f 6d 6d 65 6e 74 73 20 61 72 65 20 6f 6e 6c 79 20 61 6c 6c 6f 77 65 ....Doc.comments.are.only.allowe
d140 64 20 69 6e 20 63 65 72 74 61 69 6e 20 70 6c 61 63 65 73 3b 20 69 74 20 69 73 20 61 20 63 6f 6d d.in.certain.places;.it.is.a.com
d160 70 69 6c 65 20 65 72 72 6f 72 20 74 6f 0a 20 20 20 20 20 20 68 61 76 65 20 61 20 64 6f 63 20 63 pile.error.to.......have.a.doc.c
d180 6f 6d 6d 65 6e 74 20 69 6e 20 61 6e 20 75 6e 65 78 70 65 63 74 65 64 20 70 6c 61 63 65 2c 20 73 omment.in.an.unexpected.place,.s
d1a0 75 63 68 20 61 73 20 69 6e 20 74 68 65 20 6d 69 64 64 6c 65 20 6f 66 20 61 6e 20 65 78 70 72 65 uch.as.in.the.middle.of.an.expre
d1c0 73 73 69 6f 6e 2c 0a 20 20 20 20 20 20 6f 72 20 6a 75 73 74 20 62 65 66 6f 72 65 20 61 20 6e 6f ssion,.......or.just.before.a.no
d1e0 6e 2d 64 6f 63 20 63 6f 6d 6d 65 6e 74 2e 0a 20 20 20 20 20 20 3c 2f 70 3e 0a 20 20 20 20 20 20 n-doc.comment........</p>.......
d200 3c 66 69 67 75 72 65 3e 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
d220 61 70 22 3e 3c 63 69 74 65 20 63 6c 61 73 73 3d 22 66 69 6c 65 22 3e 69 6e 76 61 6c 69 64 5f 64 ap"><cite.class="file">invalid_d
d240 6f 63 2d 63 6f 6d 6d 65 6e 74 2e 7a 69 67 3c 2f 63 69 74 65 3e 3c 2f 66 69 67 63 61 70 74 69 6f oc-comment.zig</cite></figcaptio
d260 6e 3e 3c 70 72 65 3e 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 63 6f n><pre><code><span.class="tok-co
d280 6d 6d 65 6e 74 22 3e 2f 2f 2f 20 64 6f 63 2d 63 6f 6d 6d 65 6e 74 3c 2f 73 70 61 6e 3e 0a 3c 73 mment">///.doc-comment</span>.<s
d2a0 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 63 6f 6d 6d 65 6e 74 22 3e 2f 2f 21 20 74 6f 70 2d pan.class="tok-comment">//!.top-
d2c0 6c 65 76 65 6c 20 64 6f 63 2d 63 6f 6d 6d 65 6e 74 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 level.doc-comment</span>.<span.c
d2e0 6c 61 73 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.=
d300 20 3c 73 70 61 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
d320 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">
d340 26 71 75 6f 74 3b 73 74 64 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 29 3b 3c 2f 63 6f 64 65 3e 3c &quot;std&quot;</span>);</code><
d360 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
d380 6e 20 63 6c 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
d3a0 70 74 69 6f 6e 3e 3c 70 72 65 3e 3c 73 61 6d 70 3e 24 20 3c 6b 62 64 3e 7a 69 67 20 62 75 69 6c ption><pre><samp>$.<kbd>zig.buil
d3c0 64 2d 6f 62 6a 20 69 6e 76 61 6c 69 64 5f 64 6f 63 2d 63 6f 6d 6d 65 6e 74 2e 7a 69 67 3c 2f 6b d-obj.invalid_doc-comment.zig</k
d3e0 62 64 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 73 67 72 2d 31 6d 22 3e 2f 68 6f 6d 65 2f 63 bd>.<span.class="sgr-1m">/home/c
d400 69 2f 77 6f 72 6b 2f 7a 69 67 2d 62 6f 6f 74 73 74 72 61 70 2f 7a 69 67 2f 64 6f 63 2f 6c 61 6e i/work/zig-bootstrap/zig/doc/lan
d420 67 72 65 66 2f 69 6e 76 61 6c 69 64 5f 64 6f 63 2d 63 6f 6d 6d 65 6e 74 2e 7a 69 67 3a 31 3a 31 gref/invalid_doc-comment.zig:1:1
d440 36 3a 20 3c 2f 73 70 61 6e 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 73 67 72 2d 33 31 6d 22 3e 6:.</span><span.class="sgr-31m">
d460 65 72 72 6f 72 3a 20 3c 2f 73 70 61 6e 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 73 67 72 2d 31 error:.</span><span.class="sgr-1
d480 6d 22 3e 65 78 70 65 63 74 65 64 20 74 79 70 65 20 65 78 70 72 65 73 73 69 6f 6e 2c 20 66 6f 75 m">expected.type.expression,.fou
d4a0 6e 64 20 27 61 20 64 6f 63 75 6d 65 6e 74 20 63 6f 6d 6d 65 6e 74 27 0a 3c 2f 73 70 61 6e 3e 2f nd.'a.document.comment'.</span>/
d4c0 2f 2f 20 64 6f 63 2d 63 6f 6d 6d 65 6e 74 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 3c 73 //.doc-comment................<s
d4e0 70 61 6e 20 63 6c 61 73 73 3d 22 73 67 72 2d 33 32 6d 22 3e 5e 0a 3c 2f 73 70 61 6e 3e 0a 3c 2f pan.class="sgr-32m">^.</span>.</
d500 73 61 6d 70 3e 3c 2f 70 72 65 3e 3c 2f 66 69 67 75 72 65 3e 0a 0a 20 20 20 20 20 20 3c 66 69 67 samp></pre></figure>........<fig
d520 75 72 65 3e 3c 66 69 67 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">
d540 3c 63 69 74 65 20 63 6c 61 73 73 3d 22 66 69 6c 65 22 3e 75 6e 61 74 74 61 63 68 65 64 5f 64 6f <cite.class="file">unattached_do
d560 63 2d 63 6f 6d 6d 65 6e 74 2e 7a 69 67 3c 2f 63 69 74 65 3e 3c 2f 66 69 67 63 61 70 74 69 6f 6e c-comment.zig</cite></figcaption
d580 3e 3c 70 72 65 3e 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 ><pre><code><span.class="tok-kw"
d5a0 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"
d5c0 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">
d5e0 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
d600 79 70 65 22 3e 76 6f 69 64 3c 2f 73 70 61 6e 3e 20 7b 7d 0a 0a 3c 73 70 61 6e 20 63 6c 61 73 73 ype">void</span>.{}..<span.class
d620 3d 22 74 6f 6b 2d 63 6f 6d 6d 65 6e 74 22 3e 2f 2f 2f 20 45 6e 64 20 6f 66 20 66 69 6c 65 3c 2f ="tok-comment">///.End.of.file</
d640 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
d660 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"
d680 3e 53 68 65 6c 6c 3c 2f 66 69 67 63 61 70 74 69 6f 6e 3e 3c 70 72 65 3e 3c 73 61 6d 70 3e 24 20 >Shell</figcaption><pre><samp>$.
d6a0 3c 6b 62 64 3e 7a 69 67 20 62 75 69 6c 64 2d 6f 62 6a 20 75 6e 61 74 74 61 63 68 65 64 5f 64 6f <kbd>zig.build-obj.unattached_do
d6c0 63 2d 63 6f 6d 6d 65 6e 74 2e 7a 69 67 3c 2f 6b 62 64 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d c-comment.zig</kbd>.<span.class=
d6e0 22 73 67 72 2d 31 6d 22 3e 2f 68 6f 6d 65 2f 63 69 2f 77 6f 72 6b 2f 7a 69 67 2d 62 6f 6f 74 73 "sgr-1m">/home/ci/work/zig-boots
d700 74 72 61 70 2f 7a 69 67 2f 64 6f 63 2f 6c 61 6e 67 72 65 66 2f 75 6e 61 74 74 61 63 68 65 64 5f trap/zig/doc/langref/unattached_
d720 64 6f 63 2d 63 6f 6d 6d 65 6e 74 2e 7a 69 67 3a 33 3a 31 3a 20 3c 2f 73 70 61 6e 3e 3c 73 70 61 doc-comment.zig:3:1:.</span><spa
d740 6e 20 63 6c 61 73 73 3d 22 73 67 72 2d 33 31 6d 22 3e 65 72 72 6f 72 3a 20 3c 2f 73 70 61 6e 3e n.class="sgr-31m">error:.</span>
d760 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 73 67 72 2d 31 6d 22 3e 75 6e 61 74 74 61 63 68 65 64 20 <span.class="sgr-1m">unattached.
d780 64 6f 63 75 6d 65 6e 74 61 74 69 6f 6e 20 63 6f 6d 6d 65 6e 74 0a 3c 2f 73 70 61 6e 3e 2f 2f 2f documentation.comment.</span>///
d7a0 20 45 6e 64 20 6f 66 20 66 69 6c 65 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 73 67 72 2d 33 32 .End.of.file.<span.class="sgr-32
d7c0 6d 22 3e 5e 7e 7e 7e 7e 7e 7e 7e 7e 7e 7e 7e 7e 7e 7e 0a 3c 2f 73 70 61 6e 3e 0a 3c 2f 73 61 6d m">^~~~~~~~~~~~~~~.</span>.</sam
d7e0 70 3e 3c 2f 70 72 65 3e 3c 2f 66 69 67 75 72 65 3e 0a 0a 20 20 20 20 20 20 3c 70 3e 0a 20 20 20 p></pre></figure>........<p>....
d800 20 20 20 44 6f 63 20 63 6f 6d 6d 65 6e 74 73 20 63 61 6e 20 62 65 20 69 6e 74 65 72 6c 65 61 76 ...Doc.comments.can.be.interleav
d820 65 64 20 77 69 74 68 20 6e 6f 72 6d 61 6c 20 63 6f 6d 6d 65 6e 74 73 2c 20 77 68 69 63 68 20 61 ed.with.normal.comments,.which.a
d840 72 65 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 0a 20 20 re.ignored........</p>..........
d860 20 20 20 20 3c 68 33 20 69 64 3d 22 54 6f 70 2d 4c 65 76 65 6c 2d 44 6f 63 2d 43 6f 6d 6d 65 6e ....<h3.id="Top-Level-Doc-Commen
d880 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 6f 70 2d 4c ts"><a.href="nav.xhtml#toc-Top-L
d8a0 65 76 65 6c 2d 44 6f 63 2d 43 6f 6d 6d 65 6e 74 73 22 3e 54 6f 70 2d 4c 65 76 65 6c 20 44 6f 63 evel-Doc-Comments">Top-Level.Doc
d8c0 20 43 6f 6d 6d 65 6e 74 73 3c 2f 61 3e 20 3c 61 20 63 6c 61 73 73 3d 22 68 64 72 22 20 68 72 65 .Comments</a>.<a.class="hdr".hre
d8e0 66 3d 22 23 54 6f 70 2d 4c 65 76 65 6c 2d 44 6f 63 2d 43 6f 6d 6d 65 6e 74 73 22 3e c2 a7 3c 2f f="#Top-Level-Doc-Comments">..</
d900 61 3e 3c 2f 68 33 3e 0a 0a 20 20 20 20 20 20 3c 70 3e 0a 20 20 20 20 20 20 41 20 74 6f 70 2d 6c a></h3>........<p>.......A.top-l
d920 65 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 20 62 65 67 evel.doc.comment.is.one.that.beg
d940 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 20 65 78 63 6c ins.with.two.slashes.and.an.excl
d960 61 6d 61 74 69 6f 6e 0a 20 20 20 20 20 20 70 6f 69 6e 74 3a 20 3c 63 6f 64 65 3e 3c 73 70 61 6e amation.......point:.<code><span
d980 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 63 6f 6d 6d 65 6e 74 22 3e 2f 2f 21 3c 2f 73 70 61 6e 3e 3c .class="tok-comment">//!</span><
d9a0 2f 63 6f 64 65 3e 3b 20 69 74 20 64 6f 63 75 6d 65 6e 74 73 20 74 68 65 20 74 79 70 65 20 77 68 /code>;.it.documents.the.type.wh
d9c0 69 63 68 20 6f 77 6e 73 20 74 68 65 20 63 6f 6e 74 61 69 6e 69 6e 67 0a 20 20 20 20 20 20 3c 61 ich.owns.the.containing.......<a
d9e0 20 68 72 65 66 3d 22 23 4e 61 6d 65 73 70 61 63 65 22 3e 4e 61 6d 65 73 70 61 63 65 3c 2f 61 3e .href="#Namespace">Namespace</a>
da00 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 74 20 ........</p>.......<p>.......It.
da20 69 73 20 61 20 63 6f 6d 70 69 6c 65 20 65 72 72 6f 72 20 69 66 20 61 20 74 6f 70 2d 6c 65 76 65 is.a.compile.error.if.a.top-leve
da40 6c 20 64 6f 63 20 63 6f 6d 6d 65 6e 74 20 69 73 20 6e 6f 74 20 70 6c 61 63 65 64 20 61 74 20 74 l.doc.comment.is.not.placed.at.t
da60 68 65 20 73 74 61 72 74 0a 20 20 20 20 20 20 6f 66 20 61 20 6e 61 6d 65 73 70 61 63 65 2c 20 62 he.start.......of.a.namespace,.b
da80 65 66 6f 72 65 20 61 6e 79 20 65 78 70 72 65 73 73 69 6f 6e 73 2e 0a 20 20 20 20 20 20 3c 2f 70 efore.any.expressions........</p
daa0 3e 0a 20 20 20 20 20 20 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
dac0 73 3d 22 7a 69 67 2d 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
dae0 6c 64 6f 63 5f 63 6f 6d 6d 65 6e 74 73 2e 7a 69 67 3c 2f 63 69 74 65 3e 3c 2f 66 69 67 63 61 70 ldoc_comments.zig</cite></figcap
db00 74 69 6f 6e 3e 3c 70 72 65 3e 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b tion><pre><code><span.class="tok
db20 2d 63 6f 6d 6d 65 6e 74 22 3e 2f 2f 21 20 50 72 6f 76 69 64 65 73 20 66 75 6e 63 74 69 6f 6e 73 -comment">//!.Provides.functions
db40 20 66 6f 72 20 72 65 74 72 69 65 76 69 6e 67 20 74 68 65 20 63 75 72 72 65 6e 74 20 64 61 74 65 .for.retrieving.the.current.date
db60 20 61 6e 64 20 74 69 6d 65 20 77 69 74 68 20 76 61 72 79 69 6e 67 3c 2f 73 70 61 6e 3e 0a 3c 73 .and.time.with.varying</span>.<s
db80 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 63 6f 6d 6d 65 6e 74 22 3e 2f 2f 21 20 64 65 67 72 pan.class="tok-comment">//!.degr
dba0 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 3c 2f ees.of.precision.and.accuracy.</
dbc0 73 70 61 6e 3e 0a 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 63 6f 6e 73 span>..<span.class="tok-kw">cons
dbe0 74 3c 2f 73 70 61 6e 3e 20 53 20 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 t</span>.S.=.<span.class="tok-kw
dc00 22 3e 73 74 72 75 63 74 3c 2f 73 70 61 6e 3e 20 7b 0a 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 ">struct</span>.{.....<span.clas
dc20 73 3d 22 74 6f 6b 2d 63 6f 6d 6d 65 6e 74 22 3e 2f 2f 21 20 54 6f 70 20 6c 65 76 65 6c 20 63 6f s="tok-comment">//!.Top.level.co
dc40 6d 6d 65 6e 74 73 20 61 72 65 20 61 6c 6c 6f 77 65 64 20 69 6e 73 69 64 65 20 6e 61 6d 65 73 70 mments.are.allowed.inside.namesp
dc60 61 63 65 73 20 6f 74 68 65 72 20 74 68 61 6e 20 74 68 65 3c 2f 73 70 61 6e 3e 0a 20 20 20 20 3c aces.other.than.the</span>.....<
dc80 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 63 6f 6d 6d 65 6e 74 22 3e 2f 2f 21 20 69 6d 70 span.class="tok-comment">//!.imp
dca0 6c 69 63 69 74 20 73 74 72 75 63 74 20 63 72 65 61 74 65 64 20 62 79 20 66 69 6c 65 73 2c 20 62 licit.struct.created.by.files,.b
dcc0 75 74 20 69 74 20 69 73 20 6e 6f 74 20 76 65 72 79 20 75 73 65 66 75 6c 2e 20 43 75 72 72 65 6e ut.it.is.not.very.useful..Curren
dce0 74 6c 79 2c 3c 2f 73 70 61 6e 3e 0a 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b tly,</span>.....<span.class="tok
dd00 2d 63 6f 6d 6d 65 6e 74 22 3e 2f 2f 21 20 77 68 65 6e 20 70 72 6f 64 75 63 69 6e 67 20 74 68 65 -comment">//!.when.producing.the
dd20 20 70 61 63 6b 61 67 65 20 64 6f 63 75 6d 65 6e 74 61 74 69 6f 6e 2c 20 74 68 65 73 65 20 63 6f .package.documentation,.these.co
dd40 6d 6d 65 6e 74 73 20 61 72 65 20 69 67 6e 6f 72 65 64 2e 3c 2f 73 70 61 6e 3e 0a 7d 3b 3c 2f 63 mments.are.ignored.</span>.};</c
dd60 6f 64 65 3e 3c 2f 70 72 65 3e 3c 2f 66 69 67 75 72 65 3e 0a 0a 20 20 20 20 20 20 0a 20 20 20 20 ode></pre></figure>.............
dd80 20 20 0a 0a 20 20 20 20 20 20 3c 68 32 20 69 64 3d 22 4e 61 6d 65 73 70 61 63 65 22 3e 3c 61 20 ..........<h2.id="Namespace"><a.
dda0 68 72 65 66 3d 22 6e 61 76 2e 78 68 74 6d 6c 23 74 6f 63 2d 4e 61 6d 65 73 70 61 63 65 22 3e 4e href="nav.xhtml#toc-Namespace">N
ddc0 61 6d 65 73 70 61 63 65 3c 2f 61 3e 20 3c 61 20 63 6c 61 73 73 3d 22 68 64 72 22 20 68 72 65 66 amespace</a>.<a.class="hdr".href
dde0 3d 22 23 4e 61 6d 65 73 70 61 63 65 22 3e c2 a7 3c 2f 61 3e 3c 2f 68 32 3e 0a 0a 20 20 20 20 20 ="#Namespace">..</a></h2>.......
de00 20 3c 70 3e 41 20 6e 61 6d 65 73 70 61 63 65 20 69 6e 20 5a 69 67 20 69 73 20 63 72 65 61 74 65 .<p>A.namespace.in.Zig.is.create
de20 64 20 62 79 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 d.by.<a.href="#struct">struct</a
de40 3e 2c 20 3c 61 20 68 72 65 66 3d 22 23 65 6e 75 6d 22 3e 65 6e 75 6d 3c 2f 61 3e 2c 20 3c 61 20 >,.<a.href="#enum">enum</a>,.<a.
de60 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 61 6e 64 20 3c 61 20 href="#union">union</a>,.and.<a.
de80 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 2e 3c 2f 70 3e 0a 20 href="#opaque">opaque</a>.</p>..
dea0 20 20 20 20 20 3c 70 3e 54 68 65 79 20 63 6f 6e 74 61 69 6e 20 3c 61 20 68 72 65 66 3d 22 23 4e .....<p>They.contain.<a.href="#N
dec0 61 6d 65 73 70 61 63 65 2d 4c 65 76 65 6c 2d 56 61 72 69 61 62 6c 65 73 22 3e 4e 61 6d 65 73 70 amespace-Level-Variables">Namesp
dee0 61 63 65 20 4c 65 76 65 6c 20 56 61 72 69 61 62 6c 65 73 3c 2f 61 3e 2c 0a 20 20 20 20 20 20 3c ace.Level.Variables</a>,.......<
df00 61 20 68 72 65 66 3d 22 23 46 75 6e 63 74 69 6f 6e 73 22 3e 66 75 6e 63 74 69 6f 6e 3c 2f 61 3e a.href="#Functions">function</a>
df20 20 64 65 63 6c 61 72 61 74 69 6f 6e 73 2c 20 61 6e 64 20 3c 61 20 68 72 65 66 3d 22 23 63 6f 6d .declarations,.and.<a.href="#com
df40 70 74 69 6d 65 22 3e 63 6f 6d 70 74 69 6d 65 3c 2f 61 3e 20 62 6c 6f 63 6b 73 2e 3c 2f 70 3e 0a ptime">comptime</a>.blocks.</p>.
df60 20 20 20 20 20 20 3c 70 3e 41 6c 74 68 6f 75 67 68 20 6e 61 6d 65 73 70 61 63 65 73 20 75 73 65 ......<p>Although.namespaces.use
df80 20 63 75 72 6c 79 20 62 72 61 63 65 73 20 74 6f 20 73 75 72 72 6f 75 6e 64 20 74 68 65 69 72 20 .curly.braces.to.surround.their.
dfa0 64 65 66 69 6e 69 74 69 6f 6e 2c 0a 20 20 20 20 20 20 74 68 65 79 20 73 68 6f 75 6c 64 20 6e 6f definition,.......they.should.no
dfc0 74 20 62 65 20 63 6f 6e 66 75 73 65 64 20 77 69 74 68 20 3c 61 20 68 72 65 66 3d 22 23 42 6c 6f t.be.confused.with.<a.href="#Blo
dfe0 63 6b 73 22 3e 62 6c 6f 63 6b 73 3c 2f 61 3e 20 6f 72 20 66 75 6e 63 74 69 6f 6e 20 62 6f 64 69 cks">blocks</a>.or.function.bodi
e000 65 73 2e 3c 2f 70 3e 0a 20 20 20 20 20 20 3c 70 3e 3c 73 74 72 6f 6e 67 3e 45 76 65 72 79 20 5a es.</p>.......<p><strong>Every.Z
e020 69 67 20 73 6f 75 72 63 65 20 66 69 6c 65 20 69 73 20 69 6d 70 6c 69 63 69 74 6c 79 20 61 20 73 ig.source.file.is.implicitly.a.s
e040 74 72 75 63 74 3c 2f 73 74 72 6f 6e 67 3e 2c 20 77 69 74 68 20 74 68 65 20 6b 65 79 77 6f 72 64 truct</strong>,.with.the.keyword
e060 0a 20 20 20 20 20 20 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 .......<code><span.class="tok-kw
e080 22 3e 73 74 72 75 63 74 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 20 61 6e 64 20 63 75 72 6c 79 ">struct</span></code>.and.curly
e0a0 20 62 72 61 63 65 73 20 6f 6d 69 74 74 65 64 2e 3c 2f 70 3e 0a 20 20 20 20 20 20 0a 0a 20 20 20 .braces.omitted.</p>............
e0c0 20 20 20 3c 68 32 20 69 64 3d 22 49 64 65 6e 74 69 66 69 65 72 73 22 3e 3c 61 20 68 72 65 66 3d ...<h2.id="Identifiers"><a.href=
e0e0 22 6e 61 76 2e 78 68 74 6d 6c 23 74 6f 63 2d 49 64 65 6e 74 69 66 69 65 72 73 22 3e 49 64 65 6e "nav.xhtml#toc-Identifiers">Iden
e100 74 69 66 69 65 72 73 3c 2f 61 3e 20 3c 61 20 63 6c 61 73 73 3d 22 68 64 72 22 20 68 72 65 66 3d tifiers</a>.<a.class="hdr".href=
e120 22 23 49 64 65 6e 74 69 66 69 65 72 73 22 3e c2 a7 3c 2f 61 3e 3c 2f 68 32 3e 0a 0a 20 20 20 20 "#Identifiers">..</a></h2>......
e140 20 20 3c 70 3e 0a 20 20 20 20 20 20 49 64 65 6e 74 69 66 69 65 72 73 20 6d 75 73 74 20 73 74 61 ..<p>.......Identifiers.must.sta
e160 72 74 20 77 69 74 68 20 61 6e 20 61 6c 70 68 61 62 65 74 69 63 20 63 68 61 72 61 63 74 65 72 20 rt.with.an.alphabetic.character.
e180 6f 72 20 75 6e 64 65 72 73 63 6f 72 65 20 61 6e 64 20 6d 61 79 20 62 65 20 66 6f 6c 6c 6f 77 65 or.underscore.and.may.be.followe
e1a0 64 0a 20 20 20 20 20 20 62 79 20 61 6e 79 20 6e 75 6d 62 65 72 20 6f 66 20 61 6c 70 68 61 6e 75 d.......by.any.number.of.alphanu
e1c0 6d 65 72 69 63 20 63 68 61 72 61 63 74 65 72 73 20 6f 72 20 75 6e 64 65 72 73 63 6f 72 65 73 2e meric.characters.or.underscores.
e1e0 0a 20 20 20 20 20 20 54 68 65 79 20 6d 75 73 74 20 6e 6f 74 20 6f 76 65 72 6c 61 70 20 77 69 74 .......They.must.not.overlap.wit
e200 68 20 61 6e 79 20 6b 65 79 77 6f 72 64 73 2e 20 53 65 65 20 3c 61 20 68 72 65 66 3d 22 23 4b 65 h.any.keywords..See.<a.href="#Ke
e220 79 77 6f 72 64 2d 52 65 66 65 72 65 6e 63 65 22 3e 4b 65 79 77 6f 72 64 20 52 65 66 65 72 65 6e yword-Reference">Keyword.Referen
e240 63 65 3c 2f 61 3e 2e 0a 20 20 20 20 20 20 3c 2f 70 3e 0a 0a 20 20 20 20 20 20 3c 68 33 20 69 64 ce</a>........</p>........<h3.id
e260 3d 22 53 74 72 69 6e 67 2d 49 64 65 6e 74 69 66 69 65 72 2d 53 79 6e 74 61 78 22 3e 3c 61 20 68 ="String-Identifier-Syntax"><a.h
e280 72 65 66 3d 22 6e 61 76 2e 78 68 74 6d 6c 23 74 6f 63 2d 53 74 72 69 6e 67 2d 49 64 65 6e 74 69 ref="nav.xhtml#toc-String-Identi
e2a0 66 69 65 72 2d 53 79 6e 74 61 78 22 3e 53 74 72 69 6e 67 20 49 64 65 6e 74 69 66 69 65 72 20 53 fier-Syntax">String.Identifier.S
e2c0 79 6e 74 61 78 3c 2f 61 3e 20 3c 61 20 63 6c 61 73 73 3d 22 68 64 72 22 20 68 72 65 66 3d 22 23 yntax</a>.<a.class="hdr".href="#
e2e0 53 74 72 69 6e 67 2d 49 64 65 6e 74 69 66 69 65 72 2d 53 79 6e 74 61 78 22 3e c2 a7 3c 2f 61 3e String-Identifier-Syntax">..</a>
e300 3c 2f 68 33 3e 0a 0a 20 20 20 20 20 20 3c 70 3e 0a 20 20 20 20 20 20 49 66 20 61 20 6e 61 6d 65 </h3>........<p>.......If.a.name
e320 20 74 68 61 74 20 64 6f 65 73 20 6e 6f 74 20 66 69 74 20 74 68 65 73 65 20 72 65 71 75 69 72 65 .that.does.not.fit.these.require
e340 6d 65 6e 74 73 20 69 73 20 6e 65 65 64 65 64 2c 20 73 75 63 68 20 61 73 20 66 6f 72 0a 20 20 20 ments.is.needed,.such.as.for....
e360 20 20 20 6c 69 6e 6b 69 6e 67 20 77 69 74 68 20 65 78 74 65 72 6e 61 6c 20 6c 69 62 72 61 72 69 ...linking.with.external.librari
e380 65 73 2c 20 74 68 65 20 3c 63 6f 64 65 3e 40 26 71 75 6f 74 3b 26 71 75 6f 74 3b 3c 2f 63 6f 64 es,.the.<code>@&quot;&quot;</cod
e3a0 65 3e 20 73 79 6e 74 61 78 0a 20 20 20 20 20 20 6d 61 79 20 62 65 20 75 73 65 64 2e 0a 20 20 20 e>.syntax.......may.be.used.....
e3c0 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
e3e0 6e 20 63 6c 61 73 73 3d 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
e400 69 6c 65 22 3e 69 64 65 6e 74 69 66 69 65 72 73 2e 7a 69 67 3c 2f 63 69 74 65 3e 3c 2f 66 69 67 ile">identifiers.zig</cite></fig
e420 63 61 70 74 69 6f 6e 3e 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="
e440 74 6f 6b 2d 6b 77 22 3e 63 6f 6e 73 74 3c 2f 73 70 61 6e 3e 20 40 26 71 75 6f 74 3b 69 64 65 6e tok-kw">const</span>.@&quot;iden
e460 74 69 66 69 65 72 20 77 69 74 68 20 73 70 61 63 65 73 20 69 6e 20 69 74 26 71 75 6f 74 3b 20 3d tifier.with.spaces.in.it&quot;.=
e480 20 3c 73 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 66 66 3c 2f .<span.class="tok-number">0xff</
e4a0 73 70 61 6e 3e 3b 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 63 6f 6e 73 span>;.<span.class="tok-kw">cons
e4c0 74 3c 2f 73 70 61 6e 3e 20 40 26 71 75 6f 74 3b 31 53 6d 61 6c 6c 53 74 65 70 34 4d 61 6e 26 71 t</span>.@&quot;1SmallStep4Man&q
e4e0 75 6f 74 3b 20 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e uot;.=.<span.class="tok-number">
e500 31 31 32 33 35 38 3c 2f 73 70 61 6e 3e 3b 0a 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 112358</span>;..<span.class="tok
e520 2d 6b 77 22 3e 63 6f 6e 73 74 3c 2f 73 70 61 6e 3e 20 63 20 3d 20 3c 73 70 61 6e 20 63 6c 61 73 -kw">const</span>.c.=.<span.clas
e540 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>(<
e560 73 70 61 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
e580 75 6f 74 3b 3c 2f 73 70 61 6e 3e 29 2e 63 3b 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b uot;</span>).c;.<span.class="tok
e5a0 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
e5c0 2d 6b 77 22 3e 65 78 74 65 72 6e 3c 2f 73 70 61 6e 3e 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 -kw">extern</span>.<span.class="
e5e0 74 6f 6b 2d 73 74 72 22 3e 26 71 75 6f 74 3b 63 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 20 3c 73 tok-str">&quot;c&quot;</span>.<s
e600 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
e620 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 66 6e 22 3e 40 26 71 75 6f 74 3b 65 72 72 6f 72 26 71 an.class="tok-fn">@&quot;error&q
e640 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 6b 2d 74 uot;</span>().<span.class="tok-t
e660 79 70 65 22 3e 76 6f 69 64 3c 2f 73 70 61 6e 3e 3b 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 ype">void</span>;.<span.class="t
e680 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
e6a0 6f 6b 2d 6b 77 22 3e 65 78 74 65 72 6e 3c 2f 73 70 61 6e 3e 20 3c 73 70 61 6e 20 63 6c 61 73 73 ok-kw">extern</span>.<span.class
e6c0 3d 22 74 6f 6b 2d 73 74 72 22 3e 26 71 75 6f 74 3b 63 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 20 ="tok-str">&quot;c&quot;</span>.
e6e0 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>.<
e700 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 66 6e 22 3e 40 26 71 75 6f 74 3b 66 73 74 61 74 span.class="tok-fn">@&quot;fstat
e720 24 49 4e 4f 44 45 36 34 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 28 66 64 3a 20 63 2e 66 64 5f 74 $INODE64&quot;</span>(fd:.c.fd_t
e740 2c 20 62 75 66 3a 20 2a 63 2e 53 74 61 74 29 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b ,.buf:.*c.Stat).<span.class="tok
e760 2d 74 79 70 65 22 3e 63 5f 69 6e 74 3c 2f 73 70 61 6e 3e 3b 0a 0a 3c 73 70 61 6e 20 63 6c 61 73 -type">c_int</span>;..<span.clas
e780 73 3d 22 74 6f 6b 2d 6b 77 22 3e 63 6f 6e 73 74 3c 2f 73 70 61 6e 3e 20 43 6f 6c 6f 72 20 3d 20 s="tok-kw">const</span>.Color.=.
e7a0 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>
e7c0 20 7b 0a 20 20 20 20 72 65 64 2c 0a 20 20 20 20 40 26 71 75 6f 74 3b 72 65 61 6c 6c 79 20 72 65 .{.....red,.....@&quot;really.re
e7e0 64 26 71 75 6f 74 3b 2c 0a 7d 3b 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 d&quot;,.};.<span.class="tok-kw"
e800 3e 63 6f 6e 73 74 3c 2f 73 70 61 6e 3e 20 63 6f 6c 6f 72 3a 20 43 6f 6c 6f 72 20 3d 20 2e 40 26 >const</span>.color:.Color.=..@&
e820 71 75 6f 74 3b 72 65 61 6c 6c 79 20 72 65 64 26 71 75 6f 74 3b 3b 3c 2f 63 6f 64 65 3e 3c 2f 70 quot;really.red&quot;;</code></p
e840 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 0a 20 20 20 re></figure>....................
e860 20 20 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 ...<h2.id="Values"><a.href="nav.
e880 78 68 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 xhtml#toc-Values">Values</a>.<a.
e8a0 63 6c 61 73 73 3d 22 68 64 72 22 20 68 72 65 66 3d 22 23 56 61 6c 75 65 73 22 3e c2 a7 3c 2f 61 class="hdr".href="#Values">..</a
e8c0 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
e8e0 6e 20 63 6c 61 73 73 3d 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
e900 69 6c 65 22 3e 76 61 6c 75 65 73 2e 7a 69 67 3c 2f 63 69 74 65 3e 3c 2f 66 69 67 63 61 70 74 69 ile">values.zig</cite></figcapti
e920 6f 6e 3e 3c 70 72 65 3e 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 63 on><pre><code><span.class="tok-c
e940 6f 6d 6d 65 6e 74 22 3e 2f 2f 20 54 6f 70 2d 6c 65 76 65 6c 20 64 65 63 6c 61 72 61 74 69 6f 6e omment">//.Top-level.declaration
e960 73 20 61 72 65 20 6f 72 64 65 72 2d 69 6e 64 65 70 65 6e 64 65 6e 74 3a 3c 2f 73 70 61 6e 3e 0a s.are.order-independent:</span>.
e980 3c 73 70 61 6e 20 63 6c 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
e9a0 3e 20 70 72 69 6e 74 20 3d 20 73 74 64 2e 64 65 62 75 67 2e 70 72 69 6e 74 3b 0a 3c 73 70 61 6e >.print.=.std.debug.print;.<span
e9c0 20 63 6c 61 73 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
e9e0 20 3d 20 3c 73 70 61 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
ea00 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
ea20 22 3e 26 71 75 6f 74 3b 73 74 64 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 29 3b 0a 3c 73 70 61 6e ">&quot;std&quot;</span>);.<span
ea40 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 63 6f 6e 73 74 3c 2f 73 70 61 6e 3e 20 6f 73 20 .class="tok-kw">const</span>.os.
ea60 3d 20 73 74 64 2e 6f 73 3b 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 63 =.std.os;.<span.class="tok-kw">c
ea80 6f 6e 73 74 3c 2f 73 70 61 6e 3e 20 61 73 73 65 72 74 20 3d 20 73 74 64 2e 64 65 62 75 67 2e 61 onst</span>.assert.=.std.debug.a
eaa0 73 73 65 72 74 3b 0a 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 63 6f 6d 6d 65 6e 74 ssert;..<span.class="tok-comment
eac0 22 3e 2f 2f 20 43 75 73 74 6f 6d 20 65 72 72 6f 72 20 73 65 74 20 64 65 66 69 6e 69 74 69 6f 6e ">//.Custom.error.set.definition
eae0 3a 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 63 6f :</span>.<span.class="tok-kw">co
eb00 6e 73 74 3c 2f 73 70 61 6e 3e 20 45 78 61 6d 70 6c 65 45 72 72 6f 72 53 65 74 20 3d 20 3c 73 70 nst</span>.ExampleErrorSet.=.<sp
eb20 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 7b 0a an.class="tok-kw">error</span>{.
eb40 20 20 20 20 45 78 61 6d 70 6c 65 45 72 72 6f 72 56 61 72 69 61 6e 74 2c 0a 7d 3b 0a 0a 3c 73 70 ....ExampleErrorVariant,.};..<sp
eb60 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
eb80 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
eba0 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 66 6e 22 3e 6d 61 69 6e 3c 2f 73 70 61 6e 3e 28 29 20 3c n.class="tok-fn">main</span>().<
ebc0 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
ebe0 3e 20 7b 0a 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 63 6f 6d 6d 65 6e 74 >.{.....<span.class="tok-comment
ec00 22 3e 2f 2f 20 69 6e 74 65 67 65 72 73 3c 2f 73 70 61 6e 3e 0a 20 20 20 20 3c 73 70 61 6e 20 63 ">//.integers</span>.....<span.c
ec20 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 63 6f 6e 73 74 3c 2f 73 70 61 6e 3e 20 6f 6e 65 5f 70 lass="tok-kw">const</span>.one_p
ec40 6c 75 73 5f 6f 6e 65 3a 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e lus_one:.<span.class="tok-type">
ec60 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
ec80 6d 62 65 72 22 3e 31 3c 2f 73 70 61 6e 3e 20 2b 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f mber">1</span>.+.<span.class="to
eca0 6b 2d 6e 75 6d 62 65 72 22 3e 31 3c 2f 73 70 61 6e 3e 3b 0a 20 20 20 20 70 72 69 6e 74 28 3c 73 k-number">1</span>;.....print(<s
ecc0 70 61 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 20 2b 20 31 20 pan.class="tok-str">&quot;1.+.1.
ece0 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 5f 70 6c 75 73 5f =.{}\n&quot;</span>,..{one_plus_
ed00 6f 6e 65 7d 29 3b 0a 0a 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 63 6f 6d one});......<span.class="tok-com
ed20 6d 65 6e 74 22 3e 2f 2f 20 66 6c 6f 61 74 73 3c 2f 73 70 61 6e 3e 0a 20 20 20 20 3c 73 70 61 6e ment">//.floats</span>.....<span
ed40 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 63 6f 6e 73 74 3c 2f 73 70 61 6e 3e 20 73 65 76 .class="tok-kw">const</span>.sev
ed60 65 6e 5f 64 69 76 5f 74 68 72 65 65 3a 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 en_div_three:.<span.class="tok-t
ed80 79 70 65 22 3e 66 33 32 3c 2f 73 70 61 6e 3e 20 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 ype">f32</span>.=.<span.class="t
eda0 6f 6b 2d 6e 75 6d 62 65 72 22 3e 37 2e 30 3c 2f 73 70 61 6e 3e 20 2f 20 3c 73 70 61 6e 20 63 6c ok-number">7.0</span>./.<span.cl
edc0 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 33 2e 30 3c 2f 73 70 61 6e 3e 3b 0a 20 20 20 ass="tok-number">3.0</span>;....
ede0 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
ee00 6f 74 3b 37 2e 30 20 2f 20 33 2e 30 20 3d 20 7b 7d 5c 6e 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e ot;7.0./.3.0.=.{}\n&quot;</span>
ee20 2c 20 2e 7b 73 65 76 65 6e 5f 64 69 76 5f 74 68 72 65 65 7d 29 3b 0a 0a 20 20 20 20 3c 73 70 61 ,..{seven_div_three});......<spa
ee40 6e 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 61 6e n.class="tok-comment">//.boolean
ee60 3c 2f 73 70 61 6e 3e 0a 20 20 20 20 70 72 69 6e 74 28 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 </span>.....print(<span.class="t
ee80 6f 6b 2d 73 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 ok-str">&quot;{}\n{}\n{}\n&quot;
eea0 3c 2f 73 70 61 6e 3e 2c 20 2e 7b 0a 20 20 20 20 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d </span>,..{.........<span.class=
eec0 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
eee0 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 61 6e 64 3c 2f 73 70 61 6e 3e 20 3c 73 70 61 6e 20 63 6c 61 ss="tok-kw">and</span>.<span.cla
ef00 73 73 3d 22 74 6f 6b 2d 6e 75 6c 6c 22 3e 66 61 6c 73 65 3c 2f 73 70 61 6e 3e 2c 0a 20 20 20 20 ss="tok-null">false</span>,.....
ef20 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6c 6c 22 3e 74 72 75 65 3c ....<span.class="tok-null">true<
ef40 2f 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 6f 72 3c 2f /span>.<span.class="tok-kw">or</
ef60 73 70 61 6e 3e 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6c 6c 22 3e 66 61 6c span>.<span.class="tok-null">fal
ef80 73 65 3c 2f 73 70 61 6e 3e 2c 0a 20 20 20 20 20 20 20 20 21 3c 73 70 61 6e 20 63 6c 61 73 73 3d se</span>,.........!<span.class=
efa0 22 74 6f 6b 2d 6e 75 6c 6c 22 3e 74 72 75 65 3c 2f 73 70 61 6e 3e 2c 0a 20 20 20 20 7d 29 3b 0a "tok-null">true</span>,.....});.
efc0 0a 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 63 6f 6d 6d 65 6e 74 22 3e 2f .....<span.class="tok-comment">/
efe0 2f 20 6f 70 74 69 6f 6e 61 6c 3c 2f 73 70 61 6e 3e 0a 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 /.optional</span>.....<span.clas
f000 73 3d 22 74 6f 6b 2d 6b 77 22 3e 76 61 72 3c 2f 73 70 61 6e 3e 20 6f 70 74 69 6f 6e 61 6c 5f 76 s="tok-kw">var</span>.optional_v
f020 61 6c 75 65 3a 20 3f 5b 5d 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 63 6f alue:.?[]<span.class="tok-kw">co
f040 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
f060 22 3e 75 38 3c 2f 73 70 61 6e 3e 20 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e ">u8</span>.=.<span.class="tok-n
f080 75 6c 6c 22 3e 6e 75 6c 6c 3c 2f 73 70 61 6e 3e 3b 0a 20 20 20 20 61 73 73 65 72 74 28 6f 70 74 ull">null</span>;.....assert(opt
f0a0 69 6f 6e 61 6c 5f 76 61 6c 75 65 20 3d 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d ional_value.==.<span.class="tok-
f0c0 6e 75 6c 6c 22 3e 6e 75 6c 6c 3c 2f 73 70 61 6e 3e 29 3b 0a 0a 20 20 20 20 70 72 69 6e 74 28 3c null">null</span>);......print(<
f0e0 73 70 61 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
f100 69 6f 6e 61 6c 20 31 5c 6e 74 79 70 65 3a 20 7b 7d 5c 6e 76 61 6c 75 65 3a 20 7b 3f 73 7d 5c 6e ional.1\ntype:.{}\nvalue:.{?s}\n
f120 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 2c 20 2e 7b 0a 20 20 20 20 20 20 20 20 3c 73 70 61 6e 20 &quot;</span>,..{.........<span.
f140 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
f160 6e 3e 28 6f 70 74 69 6f 6e 61 6c 5f 76 61 6c 75 65 29 2c 20 6f 70 74 69 6f 6e 61 6c 5f 76 61 6c n>(optional_value),.optional_val
f180 75 65 2c 0a 20 20 20 20 7d 29 3b 0a 0a 20 20 20 20 6f 70 74 69 6f 6e 61 6c 5f 76 61 6c 75 65 20 ue,.....});......optional_value.
f1a0 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 73 74 72 22 3e 26 71 75 6f 74 3b 68 69 =.<span.class="tok-str">&quot;hi
f1c0 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 3b 0a 20 20 20 20 61 73 73 65 72 74 28 6f 70 74 69 6f 6e &quot;</span>;.....assert(option
f1e0 61 6c 5f 76 61 6c 75 65 20 21 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6c al_value.!=.<span.class="tok-nul
f200 6c 22 3e 6e 75 6c 6c 3c 2f 73 70 61 6e 3e 29 3b 0a 0a 20 20 20 20 70 72 69 6e 74 28 3c 73 70 61 l">null</span>);......print(<spa
f220 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 69 6f 6e n.class="tok-str">&quot;\noption
f240 61 6c 20 32 5c 6e 74 79 70 65 3a 20 7b 7d 5c 6e 76 61 6c 75 65 3a 20 7b 3f 73 7d 5c 6e 26 71 75 al.2\ntype:.{}\nvalue:.{?s}\n&qu
f260 6f 74 3b 3c 2f 73 70 61 6e 3e 2c 20 2e 7b 0a 20 20 20 20 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 ot;</span>,..{.........<span.cla
f280 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>(
f2a0 6f 70 74 69 6f 6e 61 6c 5f 76 61 6c 75 65 29 2c 20 6f 70 74 69 6f 6e 61 6c 5f 76 61 6c 75 65 2c optional_value),.optional_value,
f2c0 0a 20 20 20 20 7d 29 3b 0a 0a 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 63 .....});......<span.class="tok-c
f2e0 6f 6d 6d 65 6e 74 22 3e 2f 2f 20 65 72 72 6f 72 20 75 6e 69 6f 6e 3c 2f 73 70 61 6e 3e 0a 20 20 omment">//.error.union</span>...
f300 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
f320 3e 20 6e 75 6d 62 65 72 5f 6f 72 5f 65 72 72 6f 72 3a 20 45 78 61 6d 70 6c 65 45 72 72 6f 72 53 >.number_or_error:.ExampleErrorS
f340 65 74 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 et!<span.class="tok-type">i32</s
f360 70 61 6e 3e 20 3d 20 45 78 61 6d 70 6c 65 45 72 72 6f 72 53 65 74 2e 45 78 61 6d 70 6c 65 45 72 pan>.=.ExampleErrorSet.ExampleEr
f380 72 6f 72 56 61 72 69 61 6e 74 3b 0a 0a 20 20 20 20 70 72 69 6e 74 28 3c 73 70 61 6e 20 63 6c 61 rorVariant;......print(<span.cla
f3a0 73 73 3d 22 74 6f 6b 2d 73 74 72 22 3e 26 71 75 6f 74 3b 5c 6e 65 72 72 6f 72 20 75 6e 69 6f 6e ss="tok-str">&quot;\nerror.union
f3c0 20 31 5c 6e 74 79 70 65 3a 20 7b 7d 5c 6e 76 61 6c 75 65 3a 20 7b 21 7d 5c 6e 26 71 75 6f 74 3b .1\ntype:.{}\nvalue:.{!}\n&quot;
f3e0 3c 2f 73 70 61 6e 3e 2c 20 2e 7b 0a 20 20 20 20 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d </span>,..{.........<span.class=
f400 22 74 6f 6b 2d 62 75 69 6c 74 69 6e 22 3e 40 54 79 70 65 4f 66 3c 2f 73 70 61 6e 3e 28 6e 75 6d "tok-builtin">@TypeOf</span>(num
f420 62 65 72 5f 6f 72 5f 65 72 72 6f 72 29 2c 0a 20 20 20 20 20 20 20 20 6e 75 6d 62 65 72 5f 6f 72 ber_or_error),.........number_or
f440 5f 65 72 72 6f 72 2c 0a 20 20 20 20 7d 29 3b 0a 0a 20 20 20 20 6e 75 6d 62 65 72 5f 6f 72 5f 65 _error,.....});......number_or_e
f460 72 72 6f 72 20 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e rror.=.<span.class="tok-number">
f480 31 32 33 34 3c 2f 73 70 61 6e 3e 3b 0a 0a 20 20 20 20 70 72 69 6e 74 28 3c 73 70 61 6e 20 63 6c 1234</span>;......print(<span.cl
f4a0 61 73 73 3d 22 74 6f 6b 2d 73 74 72 22 3e 26 71 75 6f 74 3b 5c 6e 65 72 72 6f 72 20 75 6e 69 6f ass="tok-str">&quot;\nerror.unio
f4c0 6e 20 32 5c 6e 74 79 70 65 3a 20 7b 7d 5c 6e 76 61 6c 75 65 3a 20 7b 21 7d 5c 6e 26 71 75 6f 74 n.2\ntype:.{}\nvalue:.{!}\n&quot
f4e0 3b 3c 2f 73 70 61 6e 3e 2c 20 2e 7b 0a 20 20 20 20 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 ;</span>,..{.........<span.class
f500 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 6e 75 ="tok-builtin">@TypeOf</span>(nu
f520 6d 62 65 72 5f 6f 72 5f 65 72 72 6f 72 29 2c 20 6e 75 6d 62 65 72 5f 6f 72 5f 65 72 72 6f 72 2c mber_or_error),.number_or_error,
f540 0a 20 20 20 20 7d 29 3b 0a 7d 3c 2f 63 6f 64 65 3e 3c 2f 70 72 65 3e 3c 2f 66 69 67 75 72 65 3e .....});.}</code></pre></figure>
f560 3c 66 69 67 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
f580 2d 63 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
f5a0 6d 70 3e 24 20 3c 6b 62 64 3e 7a 69 67 20 62 75 69 6c 64 2d 65 78 65 20 76 61 6c 75 65 73 2e 7a mp>$.<kbd>zig.build-exe.values.z
f5c0 69 67 3c 2f 6b 62 64 3e 0a 24 20 3c 6b 62 64 3e 2e 2f 76 61 6c 75 65 73 3c 2f 6b 62 64 3e 0a 31 ig</kbd>.$.<kbd>./values</kbd>.1
f5e0 20 2b 20 31 20 3d 20 32 0a 37 2e 30 20 2f 20 33 2e 30 20 3d 20 32 2e 33 33 33 33 33 33 33 0a 66 .+.1.=.2.7.0./.3.0.=.2.3333333.f
f600 61 6c 73 65 0a 74 72 75 65 0a 66 61 6c 73 65 0a 0a 6f 70 74 69 6f 6e 61 6c 20 31 0a 74 79 70 65 alse.true.false..optional.1.type
f620 3a 20 3f 5b 5d 63 6f 6e 73 74 20 75 38 0a 76 61 6c 75 65 3a 20 6e 75 6c 6c 0a 0a 6f 70 74 69 6f :.?[]const.u8.value:.null..optio
f640 6e 61 6c 20 32 0a 74 79 70 65 3a 20 3f 5b 5d 63 6f 6e 73 74 20 75 38 0a 76 61 6c 75 65 3a 20 68 nal.2.type:.?[]const.u8.value:.h
f660 69 0a 0a 65 72 72 6f 72 20 75 6e 69 6f 6e 20 31 0a 74 79 70 65 3a 20 65 72 72 6f 72 7b 45 78 61 i..error.union.1.type:.error{Exa
f680 6d 70 6c 65 45 72 72 6f 72 56 61 72 69 61 6e 74 7d 21 69 33 32 0a 76 61 6c 75 65 3a 20 65 72 72 mpleErrorVariant}!i32.value:.err
f6a0 6f 72 2e 45 78 61 6d 70 6c 65 45 72 72 6f 72 56 61 72 69 61 6e 74 0a 0a 65 72 72 6f 72 20 75 6e or.ExampleErrorVariant..error.un
f6c0 69 6f 6e 20 32 0a 74 79 70 65 3a 20 65 72 72 6f 72 7b 45 78 61 6d 70 6c 65 45 72 72 6f 72 56 61 ion.2.type:.error{ExampleErrorVa
f6e0 72 69 61 6e 74 7d 21 69 33 32 0a 76 61 6c 75 65 3a 20 31 32 33 34 0a 3c 2f 73 61 6d 70 3e 3c 2f riant}!i32.value:.1234.</samp></
f700 70 72 65 3e 3c 2f 66 69 67 75 72 65 3e 0a 0a 20 20 20 20 20 20 3c 68 33 20 69 64 3d 22 50 72 69 pre></figure>........<h3.id="Pri
f720 6d 69 74 69 76 65 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 mitive-Types"><a.href="nav.xhtml
f740 23 74 6f 63 2d 50 72 69 6d 69 74 69 76 65 2d 54 79 70 65 73 22 3e 50 72 69 6d 69 74 69 76 65 20 #toc-Primitive-Types">Primitive.
f760 54 79 70 65 73 3c 2f 61 3e 20 3c 61 20 63 6c 61 73 73 3d 22 68 64 72 22 20 68 72 65 66 3d 22 23 Types</a>.<a.class="hdr".href="#
f780 50 72 69 6d 69 74 69 76 65 2d 54 79 70 65 73 22 3e c2 a7 3c 2f 61 3e 3c 2f 68 33 3e 0a 0a 20 20 Primitive-Types">..</a></h3>....
f7a0 20 20 20 20 3c 64 69 76 20 63 6c 61 73 73 3d 22 74 61 62 6c 65 2d 77 72 61 70 70 65 72 22 3e 0a ....<div.class="table-wrapper">.
f7c0 20 20 20 20 20 20 3c 74 61 62 6c 65 3e 0a 20 20 20 20 20 20 20 20 3c 63 61 70 74 69 6f 6e 3e 50 ......<table>.........<caption>P
f7e0 72 69 6d 69 74 69 76 65 20 54 79 70 65 73 3c 2f 63 61 70 74 69 6f 6e 3e 0a 20 20 20 20 20 20 20 rimitive.Types</caption>........
f800 20 3c 74 68 65 61 64 3e 0a 20 20 20 20 20 20 20 20 20 20 20 20 3c 74 72 3e 0a 20 20 20 20 20 20 .<thead>.............<tr>.......
f820 20 20 20 20 20 20 3c 74 68 20 73 63 6f 70 65 3d 22 63 6f 6c 22 3e 54 79 70 65 3c 2f 74 68 3e 0a ......<th.scope="col">Type</th>.
f840 20 20 20 20 20 20 20 20 20 20 20 20 3c 74 68 20 73 63 6f 70 65 3d 22 63 6f 6c 22 3e 43 20 45 71 ............<th.scope="col">C.Eq
f860 75 69 76 61 6c 65 6e 74 3c 2f 74 68 3e 0a 20 20 20 20 20 20 20 20 20 20 20 20 3c 74 68 20 73 63 uivalent</th>.............<th.sc
f880 6f 70 65 3d 22 63 6f 6c 22 3e 44 65 73 63 72 69 70 74 69 6f 6e 3c 2f 74 68 3e 0a 20 20 20 20 20 ope="col">Description</th>......
f8a0 20 20 20 3c 2f 74 72 3e 0a 20 20 20 20 20 20 20 20 3c 2f 74 68 65 61 64 3e 0a 20 20 20 20 20 20 ...</tr>.........</thead>.......
f8c0 20 20 3c 74 62 6f 64 79 3e 0a 20 20 20 20 20 20 20 20 3c 74 72 3e 0a 20 20 20 20 20 20 20 20 20 ..<tbody>.........<tr>..........
f8e0 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
f900 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 3c 2f 63 6f 64 65 3e lass="tok-type">i8</span></code>
f920 3c 2f 74 68 3e 0a 20 20 20 20 20 20 20 20 20 20 3c 74 64 3e 3c 63 6f 64 65 20 63 6c 61 73 73 3d </th>...........<td><code.class=
f940 22 63 22 3e 69 6e 74 38 5f 74 3c 2f 63 6f 64 65 3e 3c 2f 74 64 3e 0a 20 20 20 20 20 20 20 20 20 "c">int8_t</code></td>..........
f960 20 3c 74 64 3e 73 69 67 6e 65 64 20 38 2d 62 69 74 20 69 6e 74 65 67 65 72 3c 2f 74 64 3e 0a 20 .<td>signed.8-bit.integer</td>..
f980 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>.......
f9a0 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
f9c0 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 75 38 3c 2f 73 70 61 6e 3e 3c 2f 63 6f n.class="tok-type">u8</span></co
f9e0 64 65 3e 3c 2f 74 68 3e 0a 20 20 20 20 20 20 20 20 20 20 3c 74 64 3e 3c 63 6f 64 65 20 63 6c 61 de></th>...........<td><code.cla
fa00 73 73 3d 22 63 22 3e 75 69 6e 74 38 5f 74 3c 2f 63 6f 64 65 3e 3c 2f 74 64 3e 0a 20 20 20 20 20 ss="c">uint8_t</code></td>......
fa20 20 20 20 20 20 3c 74 64 3e 75 6e 73 69 67 6e 65 64 20 38 2d 62 69 74 20 69 6e 74 65 67 65 72 3c .....<td>unsigned.8-bit.integer<
fa40 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>.
fa60 20 20 20 20 20 20 20 20 20 20 20 20 3c 74 68 20 73 63 6f 70 65 3d 22 72 6f 77 22 3e 3c 63 6f 64 ............<th.scope="row"><cod
fa80 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 69 31 36 3c 2f 73 70 e><span.class="tok-type">i16</sp
faa0 61 6e 3e 3c 2f 63 6f 64 65 3e 3c 2f 74 68 3e 0a 20 20 20 20 20 20 20 20 20 20 3c 74 64 3e 3c 63 an></code></th>...........<td><c
fac0 6f 64 65 20 63 6c 61 73 73 3d 22 63 22 3e 69 6e 74 31 36 5f 74 3c 2f 63 6f 64 65 3e 3c 2f 74 64 ode.class="c">int16_t</code></td
fae0 3e 0a 20 20 20 20 20 20 20 20 20 20 3c 74 64 3e 73 69 67 6e 65 64 20 31 36 2d 62 69 74 20 69 6e >...........<td>signed.16-bit.in
fb00 74 65 67 65 72 3c 2f 74 64 3e 0a 20 20 20 20 20 20 20 20 3c 2f 74 72 3e 0a 20 20 20 20 20 20 20 teger</td>.........</tr>........
fb20 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
fb40 22 3e 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 75 "><code><span.class="tok-type">u
fb60 31 36 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 16</span></code></th>...........
fb80 3c 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 <td><code.class="c">uint16_t</co
fba0 64 65 3e 3c 2f 74 64 3e 0a 20 20 20 20 20 20 20 20 20 20 3c 74 64 3e 75 6e 73 69 67 6e 65 64 20 de></td>...........<td>unsigned.
fbc0 31 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 16-bit.integer</td>.........</tr
fbe0 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
fc00 63 6f 70 65 3d 22 72 6f 77 22 3e 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f cope="row"><code><span.class="to
fc20 6b 2d 74 79 70 65 22 3e 69 33 32 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 3c 2f 74 68 3e 0a 20 k-type">i32</span></code></th>..
fc40 20 20 20 20 20 20 20 20 20 3c 74 64 3e 3c 63 6f 64 65 20 63 6c 61 73 73 3d 22 63 22 3e 69 6e 74 .........<td><code.class="c">int
fc60 33 32 5f 74 3c 2f 63 6f 64 65 3e 3c 2f 74 64 3e 0a 20 20 20 20 20 20 20 20 20 20 3c 74 64 3e 73 32_t</code></td>...........<td>s
fc80 69 67 6e 65 64 20 33 32 2d 62 69 74 20 69 6e 74 65 67 65 72 3c 2f 74 64 3e 0a 20 20 20 20 20 20 igned.32-bit.integer</td>.......
fca0 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>............
fcc0 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
fce0 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 75 33 32 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 3c ss="tok-type">u32</span></code><
fd00 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="
fd20 63 22 3e 75 69 6e 74 33 32 5f 74 3c 2f 63 6f 64 65 3e 3c 2f 74 64 3e 0a 20 20 20 20 20 20 20 20 c">uint32_t</code></td>.........
fd40 20 20 3c 74 64 3e 75 6e 73 69 67 6e 65 64 20 33 32 2d 62 69 74 20 69 6e 74 65 67 65 72 3c 2f 74 ..<td>unsigned.32-bit.integer</t
fd60 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>...
fd80 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>
fda0 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 69 36 34 3c 2f 73 70 61 6e <span.class="tok-type">i64</span
fdc0 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
fde0 65 20 63 6c 61 73 73 3d 22 63 22 3e 69 6e 74 36 34 5f 74 3c 2f 63 6f 64 65 3e 3c 2f 74 64 3e 0a e.class="c">int64_t</code></td>.
fe00 20 20 20 20 20 20 20 20 20 20 3c 74 64 3e 73 69 67 6e 65 64 20 36 34 2d 62 69 74 20 69 6e 74 65 ..........<td>signed.64-bit.inte
fe20 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 3c ger</td>.........</tr>.........<
fe40 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">
fe60 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 75 36 34 <code><span.class="tok-type">u64
fe80 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
fea0 64 3e 3c 63 6f 64 65 20 63 6c 61 73 73 3d 22 63 22 3e 75 69 6e 74 36 34 5f 74 3c 2f 63 6f 64 65 d><code.class="c">uint64_t</code
fec0 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 36 34 ></td>...........<td>unsigned.64
fee0 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 0a -bit.integer</td>.........</tr>.
ff00 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
ff20 70 65 3d 22 72 6f 77 22 3e 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d pe="row"><code><span.class="tok-
ff40 74 79 70 65 22 3e 69 31 32 38 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 3c 2f 74 68 3e 0a 20 20 type">i128</span></code></th>...
ff60 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 6e ........<td><code.class="c">__in
ff80 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 73 t128</code></td>...........<td>s
ffa0 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 20 igned.128-bit.integer</td>......
ffc0 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>...........
ffe0 20 20 3c 74 68 20 73 63 6f 70 65 3d 22 72 6f 77 22 3e 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c ..<th.scope="row"><code><span.cl
10000 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 75 31 32 38 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 ass="tok-type">u128</span></code
10020 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
10040 3d 22 63 22 3e 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 ="c">unsigned.__int128</code></t
10060 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 32 38 2d 62 69 d>...........<td>unsigned.128-bi
10080 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 20 t.integer</td>.........</tr>....
100a0 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=
100c0 22 72 6f 77 22 3e 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 "row"><code><span.class="tok-typ
100e0 65 22 3e 69 73 69 7a 65 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 3c 2f 74 68 3e 0a 20 20 20 20 e">isize</span></code></th>.....
10100 20 20 20 20 20 20 3c 74 64 3e 3c 63 6f 64 65 20 63 6c 61 73 73 3d 22 63 22 3e 69 6e 74 70 74 72 ......<td><code.class="c">intptr
10120 5f 74 3c 2f 63 6f 64 65 3e 2c 20 3c 63 6f 64 65 20 63 6c 61 73 73 3d 22 63 22 3e 73 73 69 7a 65 _t</code>,.<code.class="c">ssize
10140 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 73 69 67 _t</code></td>...........<td>sig
10160 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 0a 20 ned.pointer.sized.integer</td>..
10180 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>.......
101a0 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
101c0 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 75 73 69 7a 65 3c 2f 73 70 61 6e 3e 3c n.class="tok-type">usize</span><
101e0 2f 63 6f 64 65 3e 3c 2f 74 68 3e 0a 20 20 20 20 20 20 20 20 20 20 3c 74 64 3e 3c 63 6f 64 65 20 /code></th>...........<td><code.
10200 63 6c 61 73 73 3d 22 63 22 3e 75 69 6e 74 70 74 72 5f 74 3c 2f 63 6f 64 65 3e 2c 20 3c 63 6f 64 class="c">uintptr_t</code>,.<cod
10220 65 20 63 6c 61 73 73 3d 22 63 22 3e 73 69 7a 65 5f 74 3c 2f 63 6f 64 65 3e 3c 2f 74 64 3e 0a 20 e.class="c">size_t</code></td>..
10240 20 20 20 20 20 20 20 20 20 3c 74 64 3e 75 6e 73 69 67 6e 65 64 20 70 6f 69 6e 74 65 72 20 73 69 .........<td>unsigned.pointer.si
10260 7a 65 64 20 69 6e 74 65 67 65 72 2e 20 41 6c 73 6f 20 73 65 65 20 3c 61 20 68 72 65 66 3d 22 68 zed.integer..Also.see.<a.href="h
10280 74 74 70 73 3a 2f 2f 67 69 74 68 75 62 2e 63 6f 6d 2f 7a 69 67 6c 61 6e 67 2f 7a 69 67 2f 69 73 ttps://github.com/ziglang/zig/is
102a0 73 75 65 73 2f 35 31 38 35 22 3e 23 35 31 38 35 3c 2f 61 3e 3c 2f 74 64 3e 0a 20 20 20 20 20 20 sues/5185">#5185</a></td>.......
102c0 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 20 20 20 20 20 20 20 ..</tr>..........<tr>...........
102e0 20 20 3c 74 68 20 73 63 6f 70 65 3d 22 72 6f 77 22 3e 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c ..<th.scope="row"><code><span.cl
10300 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 63 5f 63 68 61 72 3c 2f 73 70 61 6e 3e 3c 2f 63 6f ass="tok-type">c_char</span></co
10320 64 65 3e 3c 2f 74 68 3e 0a 20 20 20 20 20 20 20 20 20 20 3c 74 64 3e 3c 63 6f 64 65 20 63 6c 61 de></th>...........<td><code.cla
10340 73 73 3d 22 63 22 3e 63 68 61 72 3c 2f 63 6f 64 65 3e 3c 2f 74 64 3e 0a 20 20 20 20 20 20 20 20 ss="c">char</code></td>.........
10360 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
10380 20 43 3c 2f 74 64 3e 0a 20 20 20 20 20 20 20 20 3c 2f 74 72 3e 0a 20 20 20 20 20 20 20 20 3c 74 .C</td>.........</tr>.........<t
103a0 72 3e 0a 20 20 20 20 20 20 20 20 20 20 20 20 3c 74 68 20 73 63 6f 70 65 3d 22 72 6f 77 22 3e 3c r>.............<th.scope="row"><
103c0 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 63 5f 73 68 code><span.class="tok-type">c_sh
103e0 6f 72 74 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 3c 2f 74 68 3e 0a 20 20 20 20 20 20 20 20 20 ort</span></code></th>..........
10400 20 3c 74 64 3e 3c 63 6f 64 65 20 63 6c 61 73 73 3d 22 63 22 3e 73 68 6f 72 74 3c 2f 63 6f 64 65 .<td><code.class="c">short</code
10420 3e 3c 2f 74 64 3e 0a 20 20 20 20 20 20 20 20 20 20 3c 74 64 3e 66 6f 72 20 41 42 49 20 63 6f 6d ></td>...........<td>for.ABI.com
10440 70 61 74 69 62 69 6c 69 74 79 20 77 69 74 68 20 43 3c 2f 74 64 3e 0a 20 20 20 20 20 20 20 20 3c patibility.with.C</td>.........<
10460 2f 74 72 3e 0a 20 20 20 20 20 20 20 20 3c 74 72 3e 0a 20 20 20 20 20 20 20 20 20 20 20 20 3c 74 /tr>.........<tr>.............<t
10480 68 20 73 63 6f 70 65 3d 22 72 6f 77 22 3e 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d h.scope="row"><code><span.class=
104a0 22 74 6f 6b 2d 74 79 70 65 22 3e 63 5f 75 73 68 6f 72 74 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 "tok-type">c_ushort</span></code
104c0 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
104e0 3d 22 63 22 3e 75 6e 73 69 67 6e 65 64 20 73 68 6f 72 74 3c 2f 63 6f 64 65 3e 3c 2f 74 64 3e 0a ="c">unsigned.short</code></td>.
10500 20 20 20 20 20 20 20 20 20 20 3c 74 64 3e 66 6f 72 20 41 42 49 20 63 6f 6d 70 61 74 69 62 69 6c ..........<td>for.ABI.compatibil
10520 69 74 79 20 77 69 74 68 20 43 3c 2f 74 64 3e 0a 20 20 20 20 20 20 20 20 3c 2f 74 72 3e 0a 20 20 ity.with.C</td>.........</tr>...
10540 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
10560 3d 22 72 6f 77 22 3e 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 ="row"><code><span.class="tok-ty
10580 70 65 22 3e 63 5f 69 6e 74 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 3c 2f 74 68 3e 0a 20 20 20 pe">c_int</span></code></th>....
105a0 20 20 20 20 20 20 20 3c 74 64 3e 3c 63 6f 64 65 20 63 6c 61 73 73 3d 22 63 22 3e 69 6e 74 3c 2f .......<td><code.class="c">int</
105c0 63 6f 64 65 3e 3c 2f 74 64 3e 0a 20 20 20 20 20 20 20 20 20 20 3c 74 64 3e 66 6f 72 20 41 42 49 code></td>...........<td>for.ABI
105e0 20 63 6f 6d 70 61 74 69 62 69 6c 69 74 79 20 77 69 74 68 20 43 3c 2f 74 64 3e 0a 20 20 20 20 20 .compatibility.with.C</td>......
10600 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>...........
10620 20 20 3c 74 68 20 73 63 6f 70 65 3d 22 72 6f 77 22 3e 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c ..<th.scope="row"><code><span.cl
10640 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 63 5f 75 69 6e 74 3c 2f 73 70 61 6e 3e 3c 2f 63 6f ass="tok-type">c_uint</span></co
10660 64 65 3e 3c 2f 74 68 3e 0a 20 20 20 20 20 20 20 20 20 20 3c 74 64 3e 3c 63 6f 64 65 20 63 6c 61 de></th>...........<td><code.cla
10680 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 3e 0a ss="c">unsigned.int</code></td>.
106a0 20 20 20 20 20 20 20 20 20 20 3c 74 64 3e 66 6f 72 20 41 42 49 20 63 6f 6d 70 61 74 69 62 69 6c ..........<td>for.ABI.compatibil
106c0 69 74 79 20 77 69 74 68 20 43 3c 2f 74 64 3e 0a 20 20 20 20 20 20 20 20 3c 2f 74 72 3e 0a 20 20 ity.with.C</td>.........</tr>...
106e0 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
10700 3d 22 72 6f 77 22 3e 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 ="row"><code><span.class="tok-ty
10720 70 65 22 3e 63 5f 6c 6f 6e 67 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 3c 2f 74 68 3e 0a 20 20 pe">c_long</span></code></th>...
10740 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 6c 6f 6e 67 ........<td><code.class="c">long
10760 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 41 </code></td>...........<td>for.A
10780 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 20 BI.compatibility.with.C</td>....
107a0 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>.........
107c0 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.
107e0 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 73 70 61 6e 3e 3c class="tok-type">c_ulong</span><
10800 2f 63 6f 64 65 3e 3c 2f 74 68 3e 0a 20 20 20 20 20 20 20 20 20 20 3c 74 64 3e 3c 63 6f 64 65 20 /code></th>...........<td><code.
10820 63 6c 61 73 73 3d 22 63 22 3e 75 6e 73 69 67 6e 65 64 20 6c 6f 6e 67 3c 2f 63 6f 64 65 3e 3c 2f class="c">unsigned.long</code></
10840 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
10860 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
10880 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
108a0 63 6f 70 65 3d 22 72 6f 77 22 3e 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f cope="row"><code><span.class="to
108c0 6b 2d 74 79 70 65 22 3e 63 5f 6c 6f 6e 67 6c 6f 6e 67 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e k-type">c_longlong</span></code>
108e0 3c 2f 74 68 3e 0a 20 20 20 20 20 20 20 20 20 20 3c 74 64 3e 3c 63 6f 64 65 20 63 6c 61 73 73 3d </th>...........<td><code.class=
10900 22 63 22 3e 6c 6f 6e 67 20 6c 6f 6e 67 3c 2f 63 6f 64 65 3e 3c 2f 74 64 3e 0a 20 20 20 20 20 20 "c">long.long</code></td>.......
10920 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
10940 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>.........
10960 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"
10980 3e 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 63 5f ><code><span.class="tok-type">c_
109a0 75 6c 6f 6e 67 6c 6f 6e 67 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 3c 2f 74 68 3e 0a 20 20 20 ulonglong</span></code></th>....
109c0 20 20 20 20 20 20 20 3c 74 64 3e 3c 63 6f 64 65 20 63 6c 61 73 73 3d 22 63 22 3e 75 6e 73 69 67 .......<td><code.class="c">unsig
109e0 6e 65 64 20 6c 6f 6e 67 20 6c 6f 6e 67 3c 2f 63 6f 64 65 3e 3c 2f 74 64 3e 0a 20 20 20 20 20 20 ned.long.long</code></td>.......
10a00 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
10a20 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>.........
10a40 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"
10a60 3e 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 63 5f ><code><span.class="tok-type">c_
10a80 6c 6f 6e 67 64 6f 75 62 6c 65 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 3c 2f 74 68 3e 0a 20 20 longdouble</span></code></th>...
10aa0 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 6c 6f 6e 67 ........<td><code.class="c">long
10ac0 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 20 20 3c 74 .double</code></td>...........<t
10ae0 64 3e 66 6f 72 20 41 42 49 20 63 6f 6d 70 61 74 69 62 69 6c 69 74 79 20 77 69 74 68 20 43 3c 2f d>for.ABI.compatibility.with.C</
10b00 74 64 3e 0a 20 20 20 20 20 20 20 20 3c 2f 74 72 3e 0a 0a 20 20 20 20 20 20 20 20 3c 74 72 3e 0a td>.........</tr>..........<tr>.
10b20 20 20 20 20 20 20 20 20 20 20 20 20 3c 74 68 20 73 63 6f 70 65 3d 22 72 6f 77 22 3e 3c 63 6f 64 ............<th.scope="row"><cod
10b40 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 66 31 36 3c 2f 73 70 e><span.class="tok-type">f16</sp
10b60 61 6e 3e 3c 2f 63 6f 64 65 3e 3c 2f 74 68 3e 0a 20 20 20 20 20 20 20 20 20 20 3c 74 64 3e 3c 63 an></code></th>...........<td><c
10b80 6f 64 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 ode.class="c">_Float16</code></t
10ba0 64 3e 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 d>...........<td>16-bit.floating
10bc0 20 70 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 .point.(10-bit.mantissa).IEEE-75
10be0 34 2d 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 4-2008.binary16</td>.........</t
10c00 72 3e 0a 20 20 20 20 20 20 20 20 3c 74 72 3e 0a 20 20 20 20 20 20 20 20 20 20 20 20 3c 74 68 20 r>.........<tr>.............<th.
10c20 73 63 6f 70 65 3d 22 72 6f 77 22 3e 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 scope="row"><code><span.class="t
10c40 6f 6b 2d 74 79 70 65 22 3e 66 33 32 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 3c 2f 74 68 3e 0a ok-type">f32</span></code></th>.
10c60 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 66 6c ..........<td><code.class="c">fl
10c80 6f 61 74 3c 2f 63 6f 64 65 3e 3c 2f 74 64 3e 0a 20 20 20 20 20 20 20 20 20 20 3c 74 64 3e 33 32 oat</code></td>...........<td>32
10ca0 2d 62 69 74 20 66 6c 6f 61 74 69 6e 67 20 70 6f 69 6e 74 20 28 32 33 2d 62 69 74 20 6d 61 6e 74 -bit.floating.point.(23-bit.mant
10cc0 69 73 73 61 29 20 49 45 45 45 2d 37 35 34 2d 32 30 30 38 20 62 69 6e 61 72 79 33 32 3c 2f 74 64 issa).IEEE-754-2008.binary32</td
10ce0 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>....
10d00 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><
10d20 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>
10d40 3c 2f 63 6f 64 65 3e 3c 2f 74 68 3e 0a 20 20 20 20 20 20 20 20 20 20 3c 74 64 3e 3c 63 6f 64 65 </code></th>...........<td><code
10d60 20 63 6c 61 73 73 3d 22 63 22 3e 64 6f 75 62 6c 65 3c 2f 63 6f 64 65 3e 3c 2f 74 64 3e 0a 20 20 .class="c">double</code></td>...
10d80 20 20 20 20 20 20 20 20 3c 74 64 3e 36 34 2d 62 69 74 20 66 6c 6f 61 74 69 6e 67 20 70 6f 69 6e ........<td>64-bit.floating.poin
10da0 74 20 28 35 32 2d 62 69 74 20 6d 61 6e 74 69 73 73 61 29 20 49 45 45 45 2d 37 35 34 2d 32 30 30 t.(52-bit.mantissa).IEEE-754-200
10dc0 38 20 62 69 6e 61 72 79 36 34 3c 2f 74 64 3e 0a 20 20 20 20 20 20 20 20 3c 2f 74 72 3e 0a 20 20 8.binary64</td>.........</tr>...
10de0 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
10e00 3d 22 72 6f 77 22 3e 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 ="row"><code><span.class="tok-ty
10e20 70 65 22 3e 66 38 30 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 pe">f80</span></code></th>......
10e40 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 6c 6f 6e 67 20 64 6f .....<td><code.class="c">long.do
10e60 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 20 20 3c 74 64 3e 38 uble</code></td>...........<td>8
10e80 30 2d 62 69 74 20 66 6c 6f 61 74 69 6e 67 20 70 6f 69 6e 74 20 28 36 34 2d 62 69 74 20 6d 61 6e 0-bit.floating.point.(64-bit.man
10ea0 74 69 73 73 61 29 20 49 45 45 45 2d 37 35 34 2d 32 30 30 38 20 38 30 2d 62 69 74 20 65 78 74 65 tissa).IEEE-754-2008.80-bit.exte
10ec0 6e 64 65 64 20 70 72 65 63 69 73 69 6f 6e 3c 2f 74 64 3e 0a 20 20 20 20 20 20 20 20 3c 2f 74 72 nded.precision</td>.........</tr
10ee0 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
10f00 63 6f 70 65 3d 22 72 6f 77 22 3e 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f cope="row"><code><span.class="to
10f20 6b 2d 74 79 70 65 22 3e 66 31 32 38 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 3c 2f 74 68 3e 0a k-type">f128</span></code></th>.
10f40 20 20 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">
10f60 5f 46 6c 6f 61 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 _Float128</code></td>...........
10f80 3c 74 64 3e 31 32 38 2d 62 69 74 20 66 6c 6f 61 74 69 6e 67 20 70 6f 69 6e 74 20 28 31 31 32 2d <td>128-bit.floating.point.(112-
10fa0 62 69 74 20 6d 61 6e 74 69 73 73 61 29 20 49 45 45 45 2d 37 35 34 2d 32 30 30 38 20 62 69 6e 61 bit.mantissa).IEEE-754-2008.bina
10fc0 72 79 31 32 38 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 ry128</td>.........</tr>........
10fe0 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
11000 22 3e 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 62 "><code><span.class="tok-type">b
11020 6f 6f 6c 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 ool</span></code></th>..........
11040 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 65 3e .<td><code.class="c">bool</code>
11060 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 6e 20 </td>...........<td><code><span.
11080 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6c 6c 22 3e 74 72 75 65 3c 2f 73 70 61 6e 3e 3c 2f 63 6f class="tok-null">true</span></co
110a0 64 65 3e 20 6f 72 20 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 de>.or.<code><span.class="tok-nu
110c0 6c 6c 22 3e 66 61 6c 73 65 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 3c 2f 74 64 3e 0a 20 20 20 ll">false</span></code></td>....
110e0 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>.........
11100 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.
11120 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 61 6e 79 6f 70 61 71 75 65 3c 2f 73 70 61 6e class="tok-type">anyopaque</span
11140 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
11160 65 20 63 6c 61 73 73 3d 22 63 22 3e 76 6f 69 64 3c 2f 63 6f 64 65 3e 3c 2f 74 64 3e 0a 20 20 20 e.class="c">void</code></td>....
11180 20 20 20 20 20 20 20 3c 74 64 3e 55 73 65 64 20 66 6f 72 20 74 79 70 65 2d 65 72 61 73 65 64 20 .......<td>Used.for.type-erased.
111a0 70 6f 69 6e 74 65 72 73 2e 3c 2f 74 64 3e 0a 20 20 20 20 20 20 20 20 3c 2f 74 72 3e 0a 20 20 20 pointers.</td>.........</tr>....
111c0 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=
111e0 22 72 6f 77 22 3e 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 "row"><code><span.class="tok-typ
11200 65 22 3e 6e 6f 72 65 74 75 72 6e 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 3c 2f 74 68 3e 0a 20 e">noreturn</span></code></th>..
11220 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>........
11240 20 20 20 3c 74 64 3e 74 68 65 20 74 79 70 65 20 6f 66 20 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 ...<td>the.type.of.<code><span.c
11260 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 62 72 65 61 6b 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 lass="tok-kw">break</span></code
11280 3e 2c 20 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 63 6f >,.<code><span.class="tok-kw">co
112a0 6e 74 69 6e 75 65 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 2c 20 3c 63 6f 64 65 3e 3c 73 70 61 ntinue</span></code>,.<code><spa
112c0 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 72 65 74 75 72 6e 3c 2f 73 70 61 6e 3e 3c 2f n.class="tok-kw">return</span></
112e0 63 6f 64 65 3e 2c 20 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 code>,.<code><span.class="tok-kw
11300 22 3e 75 6e 72 65 61 63 68 61 62 6c 65 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 2c 20 61 6e 64 ">unreachable</span></code>,.and
11320 20 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 77 68 69 6c .<code><span.class="tok-kw">whil
11340 65 3c 2f 73 70 61 6e 3e 20 28 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6c 6c 22 e</span>.(<span.class="tok-null"
11360 3e 74 72 75 65 3c 2f 73 70 61 6e 3e 29 20 7b 7d 3c 2f 63 6f 64 65 3e 3c 2f 74 64 3e 0a 20 20 20 >true</span>).{}</code></td>....
11380 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>.........
113a0 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.
113c0 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 74 79 70 65 3c 2f 73 70 61 6e 3e 3c 2f 63 6f class="tok-type">type</span></co
113e0 64 65 3e 3c 2f 74 68 3e 0a 20 20 20 20 20 20 20 20 20 20 3c 74 64 3e 28 6e 6f 6e 65 29 3c 2f 74 de></th>...........<td>(none)</t
11400 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 20 74 79 70 d>...........<td>the.type.of.typ
11420 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 20 20 3c 74 es</td>.........</tr>.........<t
11440 72 3e 0a 20 20 20 20 20 20 20 20 20 20 20 20 3c 74 68 20 73 63 6f 70 65 3d 22 72 6f 77 22 3e 3c r>.............<th.scope="row"><
11460 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 61 6e 79 65 code><span.class="tok-type">anye
11480 72 72 6f 72 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 3c 2f 74 68 3e 0a 20 20 20 20 20 20 20 20 rror</span></code></th>.........
114a0 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 64 3e ..<td>(none)</td>...........<td>
114c0 61 6e 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 an.error.code</td>.........</tr>
114e0 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
11500 6f 70 65 3d 22 72 6f 77 22 3e 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b ope="row"><code><span.class="tok
11520 2d 74 79 70 65 22 3e 63 6f 6d 70 74 69 6d 65 5f 69 6e 74 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 -type">comptime_int</span></code
11540 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>
11560 0a 20 20 20 20 20 20 20 20 20 20 3c 74 64 3e 4f 6e 6c 79 20 61 6c 6c 6f 77 65 64 20 66 6f 72 20 ...........<td>Only.allowed.for.
11580 3c 61 20 68 72 65 66 3d 22 23 63 6f 6d 70 74 69 6d 65 22 3e 63 6f 6d 70 74 69 6d 65 3c 2f 61 3e <a.href="#comptime">comptime</a>
115a0 2d 6b 6e 6f 77 6e 20 76 61 6c 75 65 73 2e 20 54 68 65 20 74 79 70 65 20 6f 66 20 69 6e 74 65 67 -known.values..The.type.of.integ
115c0 65 72 20 6c 69 74 65 72 61 6c 73 2e 3c 2f 74 64 3e 0a 20 20 20 20 20 20 20 20 3c 2f 74 72 3e 0a er.literals.</td>.........</tr>.
115e0 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
11600 70 65 3d 22 72 6f 77 22 3e 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d pe="row"><code><span.class="tok-
11620 74 79 70 65 22 3e 63 6f 6d 70 74 69 6d 65 5f 66 6c 6f 61 74 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 type">comptime_float</span></cod
11640 65 3e 3c 2f 74 68 3e 0a 20 20 20 20 20 20 20 20 20 20 3c 74 64 3e 28 6e 6f 6e 65 29 3c 2f 74 64 e></th>...........<td>(none)</td
11660 3e 0a 20 20 20 20 20 20 20 20 20 20 3c 74 64 3e 4f 6e 6c 79 20 61 6c 6c 6f 77 65 64 20 66 6f 72 >...........<td>Only.allowed.for
11680 20 3c 61 20 68 72 65 66 3d 22 23 63 6f 6d 70 74 69 6d 65 22 3e 63 6f 6d 70 74 69 6d 65 3c 2f 61 .<a.href="#comptime">comptime</a
116a0 3e 2d 6b 6e 6f 77 6e 20 76 61 6c 75 65 73 2e 20 54 68 65 20 74 79 70 65 20 6f 66 20 66 6c 6f 61 >-known.values..The.type.of.floa
116c0 74 20 6c 69 74 65 72 61 6c 73 2e 3c 2f 74 64 3e 0a 20 20 20 20 20 20 20 20 3c 2f 74 72 3e 0a 20 t.literals.</td>.........</tr>..
116e0 20 20 20 20 20 20 20 3c 2f 74 62 6f 64 79 3e 0a 20 20 20 20 20 20 3c 2f 74 61 62 6c 65 3e 0a 20 .......</tbody>.......</table>..
11700 20 20 20 20 20 3c 2f 64 69 76 3e 0a 20 20 20 20 20 20 3c 70 3e 0a 20 20 20 20 20 20 49 6e 20 61 .....</div>.......<p>.......In.a
11720 64 64 69 74 69 6f 6e 20 74 6f 20 74 68 65 20 69 6e 74 65 67 65 72 20 74 79 70 65 73 20 61 62 6f ddition.to.the.integer.types.abo
11740 76 65 2c 20 61 72 62 69 74 72 61 72 79 20 62 69 74 2d 77 69 64 74 68 20 69 6e 74 65 67 65 72 73 ve,.arbitrary.bit-width.integers
11760 20 63 61 6e 20 62 65 20 72 65 66 65 72 65 6e 63 65 64 20 62 79 20 75 73 69 6e 67 0a 20 20 20 20 .can.be.referenced.by.using.....
11780 20 20 61 6e 20 69 64 65 6e 74 69 66 69 65 72 20 6f 66 20 3c 63 6f 64 65 3e 69 3c 2f 63 6f 64 65 ..an.identifier.of.<code>i</code
117a0 3e 20 6f 72 20 3c 63 6f 64 65 3e 75 3c 2f 63 6f 64 65 3e 20 66 6f 6c 6c 6f 77 65 64 20 62 79 20 >.or.<code>u</code>.followed.by.
117c0 64 69 67 69 74 73 2e 20 46 6f 72 20 65 78 61 6d 70 6c 65 2c 20 74 68 65 20 69 64 65 6e 74 69 66 digits..For.example,.the.identif
117e0 69 65 72 0a 20 20 20 20 20 20 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b ier.......<code><span.class="tok
11800 2d 74 79 70 65 22 3e 69 37 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 20 72 65 66 65 72 73 20 74 -type">i7</span></code>.refers.t
11820 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 6d 61 o.a.signed.7-bit.integer..The.ma
11840 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 20 20 ximum.allowed.bit-width.of.an...
11860 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 6e 20 ....integer.type.is.<code><span.
11880 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 36 35 35 33 35 3c 2f 73 70 61 6e 3e 3c class="tok-number">65535</span><
118a0 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.
118c0 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 6e 74 65 also:</p><ul>.<li><a.href="#Inte
118e0 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 69 3e 3c 61 20 68 gers">Integers</a></li>.<li><a.h
11900 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 3c 6c ref="#Floats">Floats</a></li>.<l
11920 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 3c 2f 6c 69 3e 0a i><a.href="#void">void</a></li>.
11940 3c 6c 69 3e 3c 61 20 68 72 65 66 3d 22 23 45 72 72 6f 72 73 22 3e 45 72 72 6f 72 73 3c 2f 61 3e <li><a.href="#Errors">Errors</a>
11960 3c 2f 6c 69 3e 0a 3c 6c 69 3e 3c 61 20 68 72 65 66 3d 22 23 49 6e 74 22 3e 40 49 6e 74 3c 2f 61 </li>.<li><a.href="#Int">@Int</a
11980 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
119a0 64 3d 22 50 72 69 6d 69 74 69 76 65 2d 56 61 6c 75 65 73 22 3e 3c 61 20 68 72 65 66 3d 22 6e 61 d="Primitive-Values"><a.href="na
119c0 76 2e 78 68 74 6d 6c 23 74 6f 63 2d 50 72 69 6d 69 74 69 76 65 2d 56 61 6c 75 65 73 22 3e 50 72 v.xhtml#toc-Primitive-Values">Pr
119e0 69 6d 69 74 69 76 65 20 56 61 6c 75 65 73 3c 2f 61 3e 20 3c 61 20 63 6c 61 73 73 3d 22 68 64 72 imitive.Values</a>.<a.class="hdr
11a00 22 20 68 72 65 66 3d 22 23 50 72 69 6d 69 74 69 76 65 2d 56 61 6c 75 65 73 22 3e c2 a7 3c 2f 61 ".href="#Primitive-Values">..</a
11a20 3e 3c 2f 68 33 3e 0a 0a 20 20 20 20 20 20 3c 64 69 76 20 63 6c 61 73 73 3d 22 74 61 62 6c 65 2d ></h3>........<div.class="table-
11a40 77 72 61 70 70 65 72 22 3e 0a 20 20 20 20 20 20 3c 74 61 62 6c 65 3e 0a 20 20 20 20 20 20 20 20 wrapper">.......<table>.........
11a60 3c 63 61 70 74 69 6f 6e 3e 50 72 69 6d 69 74 69 76 65 20 56 61 6c 75 65 73 3c 2f 63 61 70 74 69 <caption>Primitive.Values</capti
11a80 6f 6e 3e 0a 20 20 20 20 20 20 20 20 3c 74 68 65 61 64 3e 0a 20 20 20 20 20 20 20 20 3c 74 72 3e on>.........<thead>.........<tr>
11aa0 0a 20 20 20 20 20 20 20 20 20 20 3c 74 68 20 73 63 6f 70 65 3d 22 63 6f 6c 22 3e 4e 61 6d 65 3c ...........<th.scope="col">Name<
11ac0 2f 74 68 3e 0a 20 20 20 20 20 20 20 20 20 20 3c 74 68 20 73 63 6f 70 65 3d 22 63 6f 6c 22 3e 44 /th>...........<th.scope="col">D
11ae0 65 73 63 72 69 70 74 69 6f 6e 3c 2f 74 68 3e 0a 20 20 20 20 20 20 20 20 3c 2f 74 72 3e 0a 20 20 escription</th>.........</tr>...
11b00 20 20 20 20 20 20 3c 2f 74 68 65 61 64 3e 0a 20 20 20 20 20 20 20 20 3c 74 62 6f 64 79 3e 0a 20 ......</thead>.........<tbody>..
11b20 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
11b40 65 3d 22 72 6f 77 22 3e 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e e="row"><code><span.class="tok-n
11b60 75 6c 6c 22 3e 74 72 75 65 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 20 61 6e 64 20 3c 63 6f 64 ull">true</span></code>.and.<cod
11b80 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6c 6c 22 3e 66 61 6c 73 65 3c 2f e><span.class="tok-null">false</
11ba0 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 3c 2f 74 68 3e 0a 20 20 20 20 20 20 20 20 20 20 20 20 3c 74 span></code></th>.............<t
11bc0 64 3e 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 62 d><code><span.class="tok-type">b
11be0 6f 6f 6c 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 20 76 61 6c 75 65 73 3c 2f 74 64 3e 0a 20 20 ool</span></code>.values</td>...
11c00 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>........
11c20 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
11c40 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 63 .class="tok-null">null</span></c
11c60 6f 64 65 3e 3c 2f 74 68 3e 0a 20 20 20 20 20 20 20 20 20 20 20 20 3c 74 64 3e 75 73 65 64 20 74 ode></th>.............<td>used.t
11c80 6f 20 73 65 74 20 61 6e 20 6f 70 74 69 6f 6e 61 6c 20 74 79 70 65 20 74 6f 20 3c 63 6f 64 65 3e o.set.an.optional.type.to.<code>
11ca0 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
11cc0 6e 3e 3c 2f 63 6f 64 65 3e 3c 2f 74 64 3e 0a 20 20 20 20 20 20 20 20 3c 2f 74 72 3e 0a 20 20 20 n></code></td>.........</tr>....
11ce0 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=
11d00 22 72 6f 77 22 3e 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6c "row"><code><span.class="tok-nul
11d20 6c 22 3e 75 6e 64 65 66 69 6e 65 64 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 3c 2f 74 68 3e 0a l">undefined</span></code></th>.
11d40 20 20 20 20 20 20 20 20 20 20 3c 74 64 3e 75 73 65 64 20 74 6f 20 6c 65 61 76 65 20 61 20 76 61 ..........<td>used.to.leave.a.va
11d60 6c 75 65 20 75 6e 73 70 65 63 69 66 69 65 64 3c 2f 74 64 3e 0a 20 20 20 20 20 20 20 20 3c 2f 74 lue.unspecified</td>.........</t
11d80 72 3e 0a 20 20 20 20 20 20 20 20 3c 2f 74 62 6f 64 79 3e 0a 20 20 20 20 20 20 3c 2f 74 61 62 6c r>.........</tbody>.......</tabl
11da0 65 3e 0a 20 20 20 20 20 20 3c 2f 64 69 76 3e 0a 20 20 20 20 20 20 3c 70 3e 53 65 65 20 61 6c 73 e>.......</div>.......<p>See.als
11dc0 6f 3a 3c 2f 70 3e 3c 75 6c 3e 0a 3c 6c 69 3e 3c 61 20 68 72 65 66 3d 22 23 4f 70 74 69 6f 6e 61 o:</p><ul>.<li><a.href="#Optiona
11de0 6c 73 22 3e 4f 70 74 69 6f 6e 61 6c 73 3c 2f 61 3e 3c 2f 6c 69 3e 0a 3c 6c 69 3e 3c 61 20 68 72 ls">Optionals</a></li>.<li><a.hr
11e00 65 66 3d 22 23 75 6e 64 65 66 69 6e 65 64 22 3e 75 6e 64 65 66 69 6e 65 64 3c 2f 61 3e 3c 2f 6c ef="#undefined">undefined</a></l
11e20 69 3e 0a 3c 2f 75 6c 3e 0a 0a 20 20 20 20 20 20 0a 20 20 20 20 20 20 3c 68 33 20 69 64 3d 22 53 i>.</ul>...............<h3.id="S
11e40 74 72 69 6e 67 2d 4c 69 74 65 72 61 6c 73 2d 61 6e 64 2d 55 6e 69 63 6f 64 65 2d 43 6f 64 65 2d tring-Literals-and-Unicode-Code-
11e60 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 2e 78 68 74 Point-Literals"><a.href="nav.xht
11e80 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 6e 69 63 6f ml#toc-String-Literals-and-Unico
11ea0 64 65 2d 43 6f 64 65 2d 50 6f 69 6e 74 2d 4c 69 74 65 72 61 6c 73 22 3e 53 74 72 69 6e 67 20 4c de-Code-Point-Literals">String.L
11ec0 69 74 65 72 61 6c 73 20 61 6e 64 20 55 6e 69 63 6f 64 65 20 43 6f 64 65 20 50 6f 69 6e 74 20 4c iterals.and.Unicode.Code.Point.L
11ee0 69 74 65 72 61 6c 73 3c 2f 61 3e 20 3c 61 20 63 6c 61 73 73 3d 22 68 64 72 22 20 68 72 65 66 3d iterals</a>.<a.class="hdr".href=
11f00 22 23 53 74 72 69 6e 67 2d 4c 69 74 65 72 61 6c 73 2d 61 6e 64 2d 55 6e 69 63 6f 64 65 2d 43 6f "#String-Literals-and-Unicode-Co
11f20 64 65 2d 50 6f 69 6e 74 2d 4c 69 74 65 72 61 6c 73 22 3e c2 a7 3c 2f 61 3e 3c 2f 68 33 3e 0a 0a de-Point-Literals">..</a></h3>..
11f40 20 20 20 20 20 20 3c 70 3e 0a 20 20 20 20 20 20 53 74 72 69 6e 67 20 6c 69 74 65 72 61 6c 73 20 ......<p>.......String.literals.
11f60 61 72 65 20 63 6f 6e 73 74 61 6e 74 20 73 69 6e 67 6c 65 2d 69 74 65 6d 20 3c 61 20 68 72 65 66 are.constant.single-item.<a.href
11f80 3d 22 23 50 6f 69 6e 74 65 72 73 22 3e 50 6f 69 6e 74 65 72 73 3c 2f 61 3e 20 74 6f 20 6e 75 6c ="#Pointers">Pointers</a>.to.nul
11fa0 6c 2d 74 65 72 6d 69 6e 61 74 65 64 20 62 79 74 65 20 61 72 72 61 79 73 2e 0a 20 20 20 20 20 20 l-terminated.byte.arrays........
11fc0 54 68 65 20 74 79 70 65 20 6f 66 20 73 74 72 69 6e 67 20 6c 69 74 65 72 61 6c 73 20 65 6e 63 6f The.type.of.string.literals.enco
11fe0 64 65 73 20 62 6f 74 68 20 74 68 65 20 6c 65 6e 67 74 68 2c 20 61 6e 64 20 74 68 65 20 66 61 63 des.both.the.length,.and.the.fac
12000 74 20 74 68 61 74 20 74 68 65 79 20 61 72 65 20 6e 75 6c 6c 2d 74 65 72 6d 69 6e 61 74 65 64 2c t.that.they.are.null-terminated,
12020 0a 20 20 20 20 20 20 61 6e 64 20 74 68 75 73 20 74 68 65 79 20 63 61 6e 20 62 65 20 3c 61 20 68 .......and.thus.they.can.be.<a.h
12040 72 65 66 3d 22 23 54 79 70 65 2d 43 6f 65 72 63 69 6f 6e 22 3e 63 6f 65 72 63 65 64 3c 2f 61 3e ref="#Type-Coercion">coerced</a>
12060 20 74 6f 20 62 6f 74 68 20 3c 61 20 68 72 65 66 3d 22 23 53 6c 69 63 65 73 22 3e 53 6c 69 63 65 .to.both.<a.href="#Slices">Slice
12080 73 3c 2f 61 3e 20 61 6e 64 0a 20 20 20 20 20 20 3c 61 20 68 72 65 66 3d 22 23 53 65 6e 74 69 6e s</a>.and.......<a.href="#Sentin
120a0 65 6c 2d 54 65 72 6d 69 6e 61 74 65 64 2d 50 6f 69 6e 74 65 72 73 22 3e 4e 75 6c 6c 2d 54 65 72 el-Terminated-Pointers">Null-Ter
120c0 6d 69 6e 61 74 65 64 20 50 6f 69 6e 74 65 72 73 3c 2f 61 3e 2e 0a 20 20 20 20 20 20 44 65 72 65 minated.Pointers</a>........Dere
120e0 66 65 72 65 6e 63 69 6e 67 20 73 74 72 69 6e 67 20 6c 69 74 65 72 61 6c 73 20 63 6f 6e 76 65 72 ferencing.string.literals.conver
12100 74 73 20 74 68 65 6d 20 74 6f 20 3c 61 20 68 72 65 66 3d 22 23 41 72 72 61 79 73 22 3e 41 72 72 ts.them.to.<a.href="#Arrays">Arr
12120 61 79 73 3c 2f 61 3e 2e 0a 20 20 20 20 20 20 3c 2f 70 3e 0a 20 20 20 20 20 20 3c 70 3e 0a 20 20 ays</a>........</p>.......<p>...
12140 20 20 20 20 42 65 63 61 75 73 65 20 5a 69 67 20 73 6f 75 72 63 65 20 63 6f 64 65 20 69 73 20 3c ....Because.Zig.source.code.is.<
12160 61 20 68 72 65 66 3d 22 23 53 6f 75 72 63 65 2d 45 6e 63 6f 64 69 6e 67 22 3e 55 54 46 2d 38 20 a.href="#Source-Encoding">UTF-8.
12180 65 6e 63 6f 64 65 64 3c 2f 61 3e 2c 20 61 6e 79 0a 20 20 20 20 20 20 6e 6f 6e 2d 41 53 43 49 49 encoded</a>,.any.......non-ASCII
121a0 20 62 79 74 65 73 20 61 70 70 65 61 72 69 6e 67 20 77 69 74 68 69 6e 20 61 20 73 74 72 69 6e 67 .bytes.appearing.within.a.string
121c0 20 6c 69 74 65 72 61 6c 20 69 6e 20 73 6f 75 72 63 65 20 63 6f 64 65 20 63 61 72 72 79 0a 20 20 .literal.in.source.code.carry...
121e0 20 20 20 20 74 68 65 69 72 20 55 54 46 2d 38 20 6d 65 61 6e 69 6e 67 20 69 6e 74 6f 20 74 68 65 ....their.UTF-8.meaning.into.the
12200 20 63 6f 6e 74 65 6e 74 20 6f 66 20 74 68 65 20 73 74 72 69 6e 67 20 69 6e 20 74 68 65 20 5a 69 .content.of.the.string.in.the.Zi
12220 67 20 70 72 6f 67 72 61 6d 3b 0a 20 20 20 20 20 20 74 68 65 20 62 79 74 65 73 20 61 72 65 20 6e g.program;.......the.bytes.are.n
12240 6f 74 20 6d 6f 64 69 66 69 65 64 20 62 79 20 74 68 65 20 63 6f 6d 70 69 6c 65 72 2e 20 49 74 20 ot.modified.by.the.compiler..It.
12260 69 73 20 70 6f 73 73 69 62 6c 65 20 74 6f 20 65 6d 62 65 64 0a 20 20 20 20 20 20 6e 6f 6e 2d 55 is.possible.to.embed.......non-U
12280 54 46 2d 38 20 62 79 74 65 73 20 69 6e 74 6f 20 61 20 73 74 72 69 6e 67 20 6c 69 74 65 72 61 6c TF-8.bytes.into.a.string.literal
122a0 20 75 73 69 6e 67 20 3c 63 6f 64 65 3e 5c 78 4e 4e 3c 2f 63 6f 64 65 3e 20 6e 6f 74 61 74 69 6f .using.<code>\xNN</code>.notatio
122c0 6e 2e 0a 20 20 20 20 20 20 3c 2f 70 3e 0a 20 20 20 20 20 20 3c 70 3e 49 6e 64 65 78 69 6e 67 20 n........</p>.......<p>Indexing.
122e0 69 6e 74 6f 20 61 20 73 74 72 69 6e 67 20 63 6f 6e 74 61 69 6e 69 6e 67 20 6e 6f 6e 2d 41 53 43 into.a.string.containing.non-ASC
12300 49 49 20 62 79 74 65 73 20 72 65 74 75 72 6e 73 20 69 6e 64 69 76 69 64 75 61 6c 0a 20 20 20 20 II.bytes.returns.individual.....
12320 20 20 62 79 74 65 73 2c 20 77 68 65 74 68 65 72 20 76 61 6c 69 64 20 55 54 46 2d 38 20 6f 72 20 ..bytes,.whether.valid.UTF-8.or.
12340 6e 6f 74 2e 3c 2f 70 3e 0a 20 20 20 20 20 20 3c 70 3e 0a 20 20 20 20 20 20 55 6e 69 63 6f 64 65 not.</p>.......<p>.......Unicode
12360 20 63 6f 64 65 20 70 6f 69 6e 74 20 6c 69 74 65 72 61 6c 73 20 68 61 76 65 20 74 79 70 65 20 3c .code.point.literals.have.type.<
12380 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 63 6f 6d 70 code><span.class="tok-type">comp
123a0 74 69 6d 65 5f 69 6e 74 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 2c 20 74 68 65 20 73 61 6d 65 time_int</span></code>,.the.same
123c0 20 61 73 0a 20 20 20 20 20 20 3c 61 20 68 72 65 66 3d 22 23 49 6e 74 65 67 65 72 2d 4c 69 74 65 .as.......<a.href="#Integer-Lite
123e0 72 61 6c 73 22 3e 49 6e 74 65 67 65 72 20 4c 69 74 65 72 61 6c 73 3c 2f 61 3e 2e 20 41 6c 6c 20 rals">Integer.Literals</a>..All.
12400 3c 61 20 68 72 65 66 3d 22 23 45 73 63 61 70 65 2d 53 65 71 75 65 6e 63 65 73 22 3e 45 73 63 61 <a.href="#Escape-Sequences">Esca
12420 70 65 20 53 65 71 75 65 6e 63 65 73 3c 2f 61 3e 20 61 72 65 20 76 61 6c 69 64 20 69 6e 20 62 6f pe.Sequences</a>.are.valid.in.bo
12440 74 68 20 73 74 72 69 6e 67 20 6c 69 74 65 72 61 6c 73 0a 20 20 20 20 20 20 61 6e 64 20 55 6e 69 th.string.literals.......and.Uni
12460 63 6f 64 65 20 63 6f 64 65 20 70 6f 69 6e 74 20 6c 69 74 65 72 61 6c 73 2e 0a 20 20 20 20 20 20 code.code.point.literals........
12480 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
124a0 6c 61 73 73 3d 22 7a 69 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
124c0 22 3e 73 74 72 69 6e 67 5f 6c 69 74 65 72 61 6c 73 2e 7a 69 67 3c 2f 63 69 74 65 3e 3c 2f 66 69 ">string_literals.zig</cite></fi
124e0 67 63 61 70 74 69 6f 6e 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=
12500 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
12520 70 61 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<
12540 2f 73 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
12560 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
12580 3b 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 63 6f 6e 73 74 3c 2f 73 70 ;.<span.class="tok-kw">const</sp
125a0 61 6e 3e 20 6d 65 6d 20 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 62 75 69 6c 74 an>.mem.=.<span.class="tok-built
125c0 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="
125e0 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>)
12600 2e 6d 65 6d 3b 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 63 6f 6d 6d 65 6e 74 22 3e .mem;.<span.class="tok-comment">
12620 2f 2f 20 77 69 6c 6c 20 62 65 20 75 73 65 64 20 74 6f 20 63 6f 6d 70 61 72 65 20 62 79 74 65 73 //.will.be.used.to.compare.bytes
12640 3c 2f 73 70 61 6e 3e 0a 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 70 75 </span>..<span.class="tok-kw">pu
12660 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
12680 3c 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
126a0 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
126c0 22 3e 76 6f 69 64 3c 2f 73 70 61 6e 3e 20 7b 0a 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d ">void</span>.{.....<span.class=
126e0 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 3c 73 "tok-kw">const</span>.bytes.=.<s
12700 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 73 74 72 22 3e 26 71 75 6f 74 3b 68 65 6c 6c 6f 26 pan.class="tok-str">&quot;hello&
12720 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 3b 0a 20 20 20 20 70 72 69 6e 74 28 3c 73 70 61 6e 20 63 6c quot;</span>;.....print(<span.cl
12740 61 73 73 3d 22 74 6f 6b 2d 73 74 72 22 3e 26 71 75 6f 74 3b 7b 7d 5c 6e 26 71 75 6f 74 3b 3c 2f ass="tok-str">&quot;{}\n&quot;</
12760 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 74 69 span>,..{<span.class="tok-builti
12780 6e 22 3e 40 54 79 70 65 4f 66 3c 2f 73 70 61 6e 3e 28 62 79 74 65 73 29 7d 29 3b 20 3c 73 70 61 n">@TypeOf</span>(bytes)});.<spa
127a0 6e 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 63 6f 6e 73 74 20 n.class="tok-comment">//.*const.
127c0 5b 35 3a 30 5d 75 38 3c 2f 73 70 61 6e 3e 0a 20 20 20 20 70 72 69 6e 74 28 3c 73 70 61 6e 20 63 [5:0]u8</span>.....print(<span.c
127e0 6c 61 73 73 3d 22 74 6f 6b 2d 73 74 72 22 3e 26 71 75 6f 74 3b 7b 64 7d 5c 6e 26 71 75 6f 74 3b lass="tok-str">&quot;{d}\n&quot;
12800 3c 2f 73 70 61 6e 3e 2c 20 2e 7b 62 79 74 65 73 2e 6c 65 6e 7d 29 3b 20 3c 73 70 61 6e 20 63 6c </span>,..{bytes.len});.<span.cl
12820 61 73 73 3d 22 74 6f 6b 2d 63 6f 6d 6d 65 6e 74 22 3e 2f 2f 20 35 3c 2f 73 70 61 6e 3e 0a 20 20 ass="tok-comment">//.5</span>...
12840 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
12860 75 6f 74 3b 7b 63 7d 5c 6e 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 2c 20 2e 7b 62 79 74 65 73 5b uot;{c}\n&quot;</span>,..{bytes[
12880 3c 73 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
128a0 3e 5d 7d 29 3b 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 63 6f 6d 6d 65 6e 74 22 3e >]});.<span.class="tok-comment">
128c0 2f 2f 20 27 65 27 3c 2f 73 70 61 6e 3e 0a 20 20 20 20 70 72 69 6e 74 28 3c 73 70 61 6e 20 63 6c //.'e'</span>.....print(<span.cl
128e0 61 73 73 3d 22 74 6f 6b 2d 73 74 72 22 3e 26 71 75 6f 74 3b 7b 64 7d 5c 6e 26 71 75 6f 74 3b 3c ass="tok-str">&quot;{d}\n&quot;<
12900 2f 73 70 61 6e 3e 2c 20 2e 7b 62 79 74 65 73 5b 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b /span>,..{bytes[<span.class="tok
12920 2d 6e 75 6d 62 65 72 22 3e 35 3c 2f 73 70 61 6e 3e 5d 7d 29 3b 20 3c 73 70 61 6e 20 63 6c 61 73 -number">5</span>]});.<span.clas
12940 73 3d 22 74 6f 6b 2d 63 6f 6d 6d 65 6e 74 22 3e 2f 2f 20 30 3c 2f 73 70 61 6e 3e 0a 20 20 20 20 s="tok-comment">//.0</span>.....
12960 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
12980 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 61 t;{}\n&quot;</span>,..{<span.cla
129a0 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 6e ss="tok-str">'e'</span>.==.<span
129c0 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 29 .class="tok-str">'\x65'</span>})
129e0 3b 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 63 6f 6d 6d 65 6e 74 22 3e 2f 2f 20 74 ;.<span.class="tok-comment">//.t
12a00 72 75 65 3c 2f 73 70 61 6e 3e 0a 20 20 20 20 70 72 69 6e 74 28 3c 73 70 61 6e 20 63 6c 61 73 73 rue</span>.....print(<span.class
12a20 3d 22 74 6f 6b 2d 73 74 72 22 3e 26 71 75 6f 74 3b 7b 64 7d 5c 6e 26 71 75 6f 74 3b 3c 2f 73 70 ="tok-str">&quot;{d}\n&quot;</sp
12a40 61 6e 3e 2c 20 2e 7b 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 73 74 72 22 3e 27 5c 75 an>,..{<span.class="tok-str">'\u
12a60 7b 31 66 34 61 39 7d 27 3c 2f 73 70 61 6e 3e 7d 29 3b 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 {1f4a9}'</span>});.<span.class="
12a80 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 0a 20 20 tok-comment">//.128169</span>...
12aa0 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
12ac0 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 3c 73 70 61 6e 20 uot;{d}\n&quot;</span>,..{<span.
12ae0 63 6c 61 73 73 3d 22 74 6f 6b 2d 73 74 72 22 3e 27 f0 9f 92 af 27 3c 2f 73 70 61 6e 3e 7d 29 3b class="tok-str">'....'</span>});
12b00 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 63 6f 6d 6d 65 6e 74 22 3e 2f 2f 20 31 32 .<span.class="tok-comment">//.12
12b20 38 31 37 35 3c 2f 73 70 61 6e 3e 0a 20 20 20 20 70 72 69 6e 74 28 3c 73 70 61 6e 20 63 6c 61 73 8175</span>.....print(<span.clas
12b40 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 2f 73 s="tok-str">&quot;{u}\n&quot;</s
12b60 70 61 6e 3e 2c 20 2e 7b 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 73 74 72 22 3e 27 e2 pan>,..{<span.class="tok-str">'.
12b80 9a a1 27 3c 2f 73 70 61 6e 3e 7d 29 3b 0a 20 20 20 20 70 72 69 6e 74 28 3c 73 70 61 6e 20 63 6c ..'</span>});.....print(<span.cl
12ba0 61 73 73 3d 22 74 6f 6b 2d 73 74 72 22 3e 26 71 75 6f 74 3b 7b 7d 5c 6e 26 71 75 6f 74 3b 3c 2f ass="tok-str">&quot;{}\n&quot;</
12bc0 73 70 61 6e 3e 2c 20 2e 7b 6d 65 6d 2e 65 71 6c 28 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f span>,..{mem.eql(<span.class="to
12be0 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="
12c00 74 6f 6b 2d 73 74 72 22 3e 26 71 75 6f 74 3b 68 65 6c 6c 6f 26 71 75 6f 74 3b 3c 2f 73 70 61 6e tok-str">&quot;hello&quot;</span
12c20 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 68 >,.<span.class="tok-str">&quot;h
12c40 5c 78 36 35 6c 6c 6f 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 29 7d 29 3b 20 3c 73 70 61 6e 20 63 \x65llo&quot;</span>)});.<span.c
12c60 6c 61 73 73 3d 22 74 6f 6b 2d 63 6f 6d 6d 65 6e 74 22 3e 2f 2f 20 74 72 75 65 3c 2f 73 70 61 6e lass="tok-comment">//.true</span
12c80 3e 0a 20 20 20 20 70 72 69 6e 74 28 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 73 74 72 >.....print(<span.class="tok-str
12ca0 22 3e 26 71 75 6f 74 3b 7b 7d 5c 6e 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 2c 20 2e 7b 6d 65 6d ">&quot;{}\n&quot;</span>,..{mem
12cc0 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</
12ce0 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
12d00 6f 74 3b f0 9f 92 af 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 ot;....&quot;</span>,.<span.clas
12d20 73 3d 22 74 6f 6b 2d 73 74 72 22 3e 26 71 75 6f 74 3b 5c 78 66 30 5c 78 39 66 5c 78 39 32 5c 78 s="tok-str">&quot;\xf0\x9f\x92\x
12d40 61 66 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 29 7d 29 3b 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d af&quot;</span>)});.<span.class=
12d60 22 74 6f 6b 2d 63 6f 6d 6d 65 6e 74 22 3e 2f 2f 20 61 6c 73 6f 20 74 72 75 65 3c 2f 73 70 61 6e "tok-comment">//.also.true</span
12d80 3e 0a 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 63 6f 6e 73 74 >.....<span.class="tok-kw">const
12da0 3c 2f 73 70 61 6e 3e 20 69 6e 76 61 6c 69 64 5f 75 74 66 38 20 3d 20 3c 73 70 61 6e 20 63 6c 61 </span>.invalid_utf8.=.<span.cla
12dc0 73 73 3d 22 74 6f 6b 2d 73 74 72 22 3e 26 71 75 6f 74 3b 5c 78 66 66 5c 78 66 65 26 71 75 6f 74 ss="tok-str">&quot;\xff\xfe&quot
12de0 3b 3c 2f 73 70 61 6e 3e 3b 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 63 6f 6d 6d 65 ;</span>;.<span.class="tok-comme
12e00 6e 74 22 3e 2f 2f 20 6e 6f 6e 2d 55 54 46 2d 38 20 73 74 72 69 6e 67 73 20 61 72 65 20 70 6f 73 nt">//.non-UTF-8.strings.are.pos
12e20 73 69 62 6c 65 20 77 69 74 68 20 5c 78 4e 4e 20 6e 6f 74 61 74 69 6f 6e 2e 3c 2f 73 70 61 6e 3e sible.with.\xNN.notation.</span>
12e40 0a 20 20 20 20 70 72 69 6e 74 28 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 73 74 72 22 .....print(<span.class="tok-str"
12e60 3e 26 71 75 6f 74 3b 30 78 7b 78 7d 5c 6e 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 2c 20 2e 7b 69 >&quot;0x{x}\n&quot;</span>,..{i
12e80 6e 76 61 6c 69 64 5f 75 74 66 38 5b 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d nvalid_utf8[<span.class="tok-num
12ea0 62 65 72 22 3e 31 3c 2f 73 70 61 6e 3e 5d 7d 29 3b 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 ber">1</span>]});.<span.class="t
12ec0 6f 6b 2d 63 6f 6d 6d 65 6e 74 22 3e 2f 2f 20 69 6e 64 65 78 69 6e 67 20 74 68 65 6d 20 72 65 74 ok-comment">//.indexing.them.ret
12ee0 75 72 6e 73 20 69 6e 64 69 76 69 64 75 61 6c 20 62 79 74 65 73 2e 2e 2e 3c 2f 73 70 61 6e 3e 0a urns.individual.bytes...</span>.
12f00 20 20 20 20 70 72 69 6e 74 28 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 73 74 72 22 3e ....print(<span.class="tok-str">
12f20 26 71 75 6f 74 3b 30 78 7b 78 7d 5c 6e 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 2c 20 2e 7b 3c 73 &quot;0x{x}\n&quot;</span>,..{<s
12f40 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 73 74 72 22 3e 26 71 75 6f 74 3b f0 9f 92 af 26 71 pan.class="tok-str">&quot;....&q
12f60 75 6f 74 3b 3c 2f 73 70 61 6e 3e 5b 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d uot;</span>[<span.class="tok-num
12f80 62 65 72 22 3e 31 3c 2f 73 70 61 6e 3e 5d 7d 29 3b 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 ber">1</span>]});.<span.class="t
12fa0 6f 6b 2d 63 6f 6d 6d 65 6e 74 22 3e 2f 2f 20 2e 2e 2e 61 73 20 64 6f 65 73 20 69 6e 64 65 78 69 ok-comment">//....as.does.indexi
12fc0 6e 67 20 70 61 72 74 2d 77 61 79 20 74 68 72 6f 75 67 68 20 6e 6f 6e 2d 41 53 43 49 49 20 63 68 ng.part-way.through.non-ASCII.ch
12fe0 61 72 61 63 74 65 72 73 3c 2f 73 70 61 6e 3e 0a 7d 3c 2f 63 6f 64 65 3e 3c 2f 70 72 65 3e 3c 2f aracters</span>.}</code></pre></
13000 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
13020 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><
13040 70 72 65 3e 3c 73 61 6d 70 3e 24 20 3c 6b 62 64 3e 7a 69 67 20 62 75 69 6c 64 2d 65 78 65 20 73 pre><samp>$.<kbd>zig.build-exe.s
13060 74 72 69 6e 67 5f 6c 69 74 65 72 61 6c 73 2e 7a 69 67 3c 2f 6b 62 64 3e 0a 24 20 3c 6b 62 64 3e tring_literals.zig</kbd>.$.<kbd>
13080 2e 2f 73 74 72 69 6e 67 5f 6c 69 74 65 72 61 6c 73 3c 2f 6b 62 64 3e 0a 2a 63 6f 6e 73 74 20 5b ./string_literals</kbd>.*const.[
130a0 35 3a 30 5d 75 38 0a 35 0a 65 0a 30 0a 74 72 75 65 0a 31 32 38 31 36 39 0a 31 32 38 31 37 35 0a 5:0]u8.5.e.0.true.128169.128175.
130c0 e2 9a a1 0a 74 72 75 65 0a 74 72 75 65 0a 30 78 66 65 0a 30 78 39 66 0a 3c 2f 73 61 6d 70 3e 3c ....true.true.0xfe.0x9f.</samp><
130e0 2f 70 72 65 3e 3c 2f 66 69 67 75 72 65 3e 0a 0a 20 20 20 20 20 20 3c 70 3e 53 65 65 20 61 6c 73 /pre></figure>........<p>See.als
13100 6f 3a 3c 2f 70 3e 3c 75 6c 3e 0a 3c 6c 69 3e 3c 61 20 68 72 65 66 3d 22 23 41 72 72 61 79 73 22 o:</p><ul>.<li><a.href="#Arrays"
13120 3e 41 72 72 61 79 73 3c 2f 61 3e 3c 2f 6c 69 3e 0a 3c 6c 69 3e 3c 61 20 68 72 65 66 3d 22 23 53 >Arrays</a></li>.<li><a.href="#S
13140 6f 75 72 63 65 2d 45 6e 63 6f 64 69 6e 67 22 3e 53 6f 75 72 63 65 20 45 6e 63 6f 64 69 6e 67 3c ource-Encoding">Source.Encoding<
13160 2f 61 3e 3c 2f 6c 69 3e 0a 3c 2f 75 6c 3e 0a 0a 20 20 20 20 20 20 3c 68 34 20 69 64 3d 22 45 73 /a></li>.</ul>........<h4.id="Es
13180 63 61 70 65 2d 53 65 71 75 65 6e 63 65 73 22 3e 3c 61 20 68 72 65 66 3d 22 6e 61 76 2e 78 68 74 cape-Sequences"><a.href="nav.xht
131a0 6d 6c 23 74 6f 63 2d 45 73 63 61 70 65 2d 53 65 71 75 65 6e 63 65 73 22 3e 45 73 63 61 70 65 20 ml#toc-Escape-Sequences">Escape.
131c0 53 65 71 75 65 6e 63 65 73 3c 2f 61 3e 20 3c 61 20 63 6c 61 73 73 3d 22 68 64 72 22 20 68 72 65 Sequences</a>.<a.class="hdr".hre
131e0 66 3d 22 23 45 73 63 61 70 65 2d 53 65 71 75 65 6e 63 65 73 22 3e c2 a7 3c 2f 61 3e 3c 2f 68 34 f="#Escape-Sequences">..</a></h4
13200 3e 0a 0a 20 20 20 20 20 20 3c 64 69 76 20 63 6c 61 73 73 3d 22 74 61 62 6c 65 2d 77 72 61 70 70 >........<div.class="table-wrapp
13220 65 72 22 3e 0a 20 20 20 20 20 20 3c 74 61 62 6c 65 3e 0a 20 20 20 20 20 20 20 20 3c 63 61 70 74 er">.......<table>.........<capt
13240 69 6f 6e 3e 45 73 63 61 70 65 20 53 65 71 75 65 6e 63 65 73 3c 2f 63 61 70 74 69 6f 6e 3e 0a 20 ion>Escape.Sequences</caption>..
13260 20 20 20 20 20 20 20 3c 74 68 65 61 64 3e 0a 20 20 20 20 20 20 20 20 3c 74 72 3e 0a 20 20 20 20 .......<thead>.........<tr>.....
13280 20 20 20 20 20 20 3c 74 68 20 73 63 6f 70 65 3d 22 63 6f 6c 22 3e 45 73 63 61 70 65 20 53 65 71 ......<th.scope="col">Escape.Seq
132a0 75 65 6e 63 65 3c 2f 74 68 3e 0a 20 20 20 20 20 20 20 20 20 20 3c 74 68 20 73 63 6f 70 65 3d 22 uence</th>...........<th.scope="
132c0 63 6f 6c 22 3e 4e 61 6d 65 3c 2f 74 68 3e 0a 20 20 20 20 20 20 20 20 3c 2f 74 72 3e 0a 20 20 20 col">Name</th>.........</tr>....
132e0 20 20 20 20 20 3c 2f 74 68 65 61 64 3e 0a 20 20 20 20 20 20 20 20 3c 74 62 6f 64 79 3e 0a 20 20 .....</thead>.........<tbody>...
13300 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
13320 3d 22 72 6f 77 22 3e 3c 63 6f 64 65 3e 5c 6e 3c 2f 63 6f 64 65 3e 3c 2f 74 68 3e 0a 20 20 20 20 ="row"><code>\n</code></th>.....
13340 20 20 20 20 20 20 3c 74 64 3e 4e 65 77 6c 69 6e 65 3c 2f 74 64 3e 0a 20 20 20 20 20 20 20 20 3c ......<td>Newline</td>.........<
13360 2f 74 72 3e 0a 20 20 20 20 20 20 20 20 3c 74 72 3e 0a 20 20 20 20 20 20 20 20 20 20 20 20 3c 74 /tr>.........<tr>.............<t
13380 68 20 73 63 6f 70 65 3d 22 72 6f 77 22 3e 3c 63 6f 64 65 3e 5c 72 3c 2f 63 6f 64 65 3e 3c 2f 74 h.scope="row"><code>\r</code></t
133a0 68 3e 0a 20 20 20 20 20 20 20 20 20 20 3c 74 64 3e 43 61 72 72 69 61 67 65 20 52 65 74 75 72 6e h>...........<td>Carriage.Return
133c0 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>
133e0 0a 20 20 20 20 20 20 20 20 20 20 20 20 3c 74 68 20 73 63 6f 70 65 3d 22 72 6f 77 22 3e 3c 63 6f .............<th.scope="row"><co
13400 64 65 3e 5c 74 3c 2f 63 6f 64 65 3e 3c 2f 74 68 3e 0a 20 20 20 20 20 20 20 20 20 20 3c 74 64 3e de>\t</code></th>...........<td>
13420 54 61 62 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 Tab</td>.........</tr>.........<
13440 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">
13460 3c 63 6f 64 65 3e 5c 5c 3c 2f 63 6f 64 65 3e 3c 2f 74 68 3e 0a 20 20 20 20 20 20 20 20 20 20 3c <code>\\</code></th>...........<
13480 74 64 3e 42 61 63 6b 73 6c 61 73 68 3c 2f 74 64 3e 0a 20 20 20 20 20 20 20 20 3c 2f 74 72 3e 0a td>Backslash</td>.........</tr>.
134a0 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
134c0 70 65 3d 22 72 6f 77 22 3e 3c 63 6f 64 65 3e 5c 27 3c 2f 63 6f 64 65 3e 3c 2f 74 68 3e 0a 20 20 pe="row"><code>\'</code></th>...
134e0 20 20 20 20 20 20 20 20 3c 74 64 3e 53 69 6e 67 6c 65 20 51 75 6f 74 65 3c 2f 74 64 3e 0a 20 20 ........<td>Single.Quote</td>...
13500 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>........
13520 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 22 3c 2f 63 .....<th.scope="row"><code>\"</c
13540 6f 64 65 3e 3c 2f 74 68 3e 0a 20 20 20 20 20 20 20 20 20 20 3c 74 64 3e 44 6f 75 62 6c 65 20 51 ode></th>...........<td>Double.Q
13560 75 6f 74 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 uote</td>.........</tr>.........
13580 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"
135a0 3e 3c 63 6f 64 65 3e 5c 78 4e 4e 3c 2f 63 6f 64 65 3e 3c 2f 74 68 3e 0a 20 20 20 20 20 20 20 20 ><code>\xNN</code></th>.........
135c0 20 20 3c 74 64 3e 68 65 78 61 64 65 63 69 6d 61 6c 20 38 2d 62 69 74 20 62 79 74 65 20 76 61 6c ..<td>hexadecimal.8-bit.byte.val
135e0 75 65 20 28 32 20 64 69 67 69 74 73 29 3c 2f 74 64 3e 0a 20 20 20 20 20 20 20 20 3c 2f 74 72 3e ue.(2.digits)</td>.........</tr>
13600 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
13620 6f 70 65 3d 22 72 6f 77 22 3e 3c 63 6f 64 65 3e 5c 75 7b 4e 4e 4e 4e 4e 4e 7d 3c 2f 63 6f 64 65 ope="row"><code>\u{NNNNNN}</code
13640 3e 3c 2f 74 68 3e 0a 20 20 20 20 20 20 20 20 20 20 3c 74 64 3e 68 65 78 61 64 65 63 69 6d 61 6c ></th>...........<td>hexadecimal
13660 20 55 6e 69 63 6f 64 65 20 73 63 61 6c 61 72 20 76 61 6c 75 65 20 55 54 46 2d 38 20 65 6e 63 6f .Unicode.scalar.value.UTF-8.enco
13680 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 64 3e 0a 20 20 20 20 ded.(1.or.more.digits)</td>.....
136a0 20 20 20 20 3c 2f 74 72 3e 0a 20 20 20 20 20 20 20 20 3c 2f 74 62 6f 64 79 3e 0a 20 20 20 20 20 ....</tr>.........</tbody>......
136c0 20 3c 2f 74 61 62 6c 65 3e 0a 20 20 20 20 20 20 3c 2f 64 69 76 3e 0a 20 20 20 20 20 20 3c 70 3e .</table>.......</div>.......<p>
136e0 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 69 64 20 55 6e 69 63 Note.that.the.maximum.valid.Unic
13700 6f 64 65 20 73 63 61 6c 61 72 20 76 61 6c 75 65 20 69 73 20 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 ode.scalar.value.is.<code><span.
13720 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 30 78 31 30 66 66 66 66 3c 2f 73 70 61 class="tok-number">0x10ffff</spa
13740 6e 3e 3c 2f 63 6f 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 n></code>.</p>..............<h4.
13760 69 64 3d 22 4d 75 6c 74 69 6c 69 6e 65 2d 53 74 72 69 6e 67 2d 4c 69 74 65 72 61 6c 73 22 3e 3c id="Multiline-String-Literals"><
13780 61 20 68 72 65 66 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 a.href="nav.xhtml#toc-Multiline-
137a0 53 74 72 69 6e 67 2d 4c 69 74 65 72 61 6c 73 22 3e 4d 75 6c 74 69 6c 69 6e 65 20 53 74 72 69 6e String-Literals">Multiline.Strin
137c0 67 20 4c 69 74 65 72 61 6c 73 3c 2f 61 3e 20 3c 61 20 63 6c 61 73 73 3d 22 68 64 72 22 20 68 72 g.Literals</a>.<a.class="hdr".hr
137e0 65 66 3d 22 23 4d 75 6c 74 69 6c 69 6e 65 2d 53 74 72 69 6e 67 2d 4c 69 74 65 72 61 6c 73 22 3e ef="#Multiline-String-Literals">
13800 c2 a7 3c 2f 61 3e 3c 2f 68 34 3e 0a 0a 20 20 20 20 20 20 3c 70 3e 0a 20 20 20 20 20 20 4d 75 6c ..</a></h4>........<p>.......Mul
13820 74 69 6c 69 6e 65 20 73 74 72 69 6e 67 20 6c 69 74 65 72 61 6c 73 20 68 61 76 65 20 6e 6f 20 65 tiline.string.literals.have.no.e
13840 73 63 61 70 65 73 20 61 6e 64 20 63 61 6e 20 73 70 61 6e 20 61 63 72 6f 73 73 20 6d 75 6c 74 69 scapes.and.can.span.across.multi
13860 70 6c 65 20 6c 69 6e 65 73 2e 0a 20 20 20 20 20 20 54 6f 20 73 74 61 72 74 20 61 20 6d 75 6c 74 ple.lines........To.start.a.mult
13880 69 6c 69 6e 65 20 73 74 72 69 6e 67 20 6c 69 74 65 72 61 6c 2c 20 75 73 65 20 74 68 65 20 3c 63 iline.string.literal,.use.the.<c
138a0 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 73 74 72 22 3e 5c 5c 3c 2f 73 70 ode><span.class="tok-str">\\</sp
138c0 61 6e 3e 3c 2f 63 6f 64 65 3e 20 74 6f 6b 65 6e 2e 20 4a 75 73 74 20 6c 69 6b 65 20 61 20 63 6f an></code>.token..Just.like.a.co
138e0 6d 6d 65 6e 74 2c 0a 20 20 20 20 20 20 74 68 65 20 73 74 72 69 6e 67 20 6c 69 74 65 72 61 6c 20 mment,.......the.string.literal.
13900 67 6f 65 73 20 75 6e 74 69 6c 20 74 68 65 20 65 6e 64 20 6f 66 20 74 68 65 20 6c 69 6e 65 2e 20 goes.until.the.end.of.the.line..
13920 54 68 65 20 65 6e 64 20 6f 66 20 74 68 65 20 6c 69 6e 65 20 69 73 0a 20 20 20 20 20 20 6e 6f 74 The.end.of.the.line.is.......not
13940 20 69 6e 63 6c 75 64 65 64 20 69 6e 20 74 68 65 20 73 74 72 69 6e 67 20 6c 69 74 65 72 61 6c 2e .included.in.the.string.literal.
13960 0a 20 20 20 20 20 20 48 6f 77 65 76 65 72 2c 20 69 66 20 74 68 65 20 6e 65 78 74 20 6c 69 6e 65 .......However,.if.the.next.line
13980 20 62 65 67 69 6e 73 20 77 69 74 68 20 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 .begins.with.<code><span.class="
139a0 74 6f 6b 2d 73 74 72 22 3e 5c 5c 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 20 74 68 65 6e 20 61 tok-str">\\</span></code>.then.a
139c0 20 6e 65 77 6c 69 6e 65 20 69 73 20 61 70 70 65 6e 64 65 64 20 61 6e 64 0a 20 20 20 20 20 20 74 .newline.is.appended.and.......t
139e0 68 65 20 73 74 72 69 6e 67 20 6c 69 74 65 72 61 6c 20 63 6f 6e 74 69 6e 75 65 73 2e 0a 20 20 20 he.string.literal.continues.....
13a00 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
13a20 6e 20 63 6c 61 73 73 3d 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
13a40 69 6c 65 22 3e 6d 75 6c 74 69 6c 69 6e 65 5f 73 74 72 69 6e 67 5f 6c 69 74 65 72 61 6c 73 2e 7a ile">multiline_string_literals.z
13a60 69 67 3c 2f 63 69 74 65 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
13a80 3e 3c 73 70 61 6e 20 63 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
13aa0 6e 3e 20 68 65 6c 6c 6f 5f 77 6f 72 6c 64 5f 69 6e 5f 63 20 3d 0a 20 20 20 20 3c 73 70 61 6e 20 n>.hello_world_in_c.=.....<span.
13ac0 63 6c 61 73 73 3d 22 74 6f 6b 2d 73 74 72 22 3e 5c 5c 23 69 6e 63 6c 75 64 65 20 26 6c 74 3b 73 class="tok-str">\\#include.&lt;s
13ae0 74 64 69 6f 2e 68 26 67 74 3b 3c 2f 73 70 61 6e 3e 0a 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 tdio.h&gt;</span>.....<span.clas
13b00 73 3d 22 74 6f 6b 2d 73 74 72 22 3e 5c 5c 3c 2f 73 70 61 6e 3e 0a 20 20 20 20 3c 73 70 61 6e 20 s="tok-str">\\</span>.....<span.
13b20 63 6c 61 73 73 3d 22 74 6f 6b 2d 73 74 72 22 3e 5c 5c 69 6e 74 20 6d 61 69 6e 28 69 6e 74 20 61 class="tok-str">\\int.main(int.a
13b40 72 67 63 2c 20 63 68 61 72 20 2a 2a 61 72 67 76 29 20 7b 3c 2f 73 70 61 6e 3e 0a 20 20 20 20 3c rgc,.char.**argv).{</span>.....<
13b60 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 73 74 72 22 3e 5c 5c 20 20 20 20 70 72 69 6e 74 span.class="tok-str">\\....print
13b80 66 28 26 71 75 6f 74 3b 68 65 6c 6c 6f 20 77 6f 72 6c 64 5c 6e 26 71 75 6f 74 3b 29 3b 3c 2f 73 f(&quot;hello.world\n&quot;);</s
13ba0 70 61 6e 3e 0a 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 73 74 72 22 3e 5c pan>.....<span.class="tok-str">\
13bc0 5c 20 20 20 20 72 65 74 75 72 6e 20 30 3b 3c 2f 73 70 61 6e 3e 0a 20 20 20 20 3c 73 70 61 6e 20 \....return.0;</span>.....<span.
13be0 63 6c 61 73 73 3d 22 74 6f 6b 2d 73 74 72 22 3e 5c 5c 7d 3c 2f 73 70 61 6e 3e 0a 3b 3c 2f 63 6f class="tok-str">\\}</span>.;</co
13c00 64 65 3e 3c 2f 70 72 65 3e 3c 2f 66 69 67 75 72 65 3e 0a 0a 20 20 20 20 20 20 3c 70 3e 53 65 65 de></pre></figure>........<p>See
13c20 20 61 6c 73 6f 3a 3c 2f 70 3e 3c 75 6c 3e 0a 3c 6c 69 3e 3c 61 20 68 72 65 66 3d 22 23 65 6d 62 .also:</p><ul>.<li><a.href="#emb
13c40 65 64 46 69 6c 65 22 3e 40 65 6d 62 65 64 46 69 6c 65 3c 2f 61 3e 3c 2f 6c 69 3e 0a 3c 2f 75 6c edFile">@embedFile</a></li>.</ul
13c60 3e 0a 0a 20 20 20 20 20 20 0a 20 20 20 20 20 20 0a 20 20 20 20 20 20 3c 68 33 20 69 64 3d 22 41 >......................<h3.id="A
13c80 73 73 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 6c 23 74 6f ssignment"><a.href="nav.xhtml#to
13ca0 63 2d 41 73 73 69 67 6e 6d 65 6e 74 22 3e 41 73 73 69 67 6e 6d 65 6e 74 3c 2f 61 3e 20 3c 61 20 c-Assignment">Assignment</a>.<a.
13cc0 63 6c 61 73 73 3d 22 68 64 72 22 20 68 72 65 66 3d 22 23 41 73 73 69 67 6e 6d 65 6e 74 22 3e c2 class="hdr".href="#Assignment">.
13ce0 a7 3c 2f 61 3e 3c 2f 68 33 3e 0a 0a 20 20 20 20 20 20 3c 70 3e 55 73 65 20 74 68 65 20 3c 63 6f .</a></h3>........<p>Use.the.<co
13d00 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 63 6f 6e 73 74 3c 2f 73 de><span.class="tok-kw">const</s
13d20 70 61 6e 3e 3c 2f 63 6f 64 65 3e 20 6b 65 79 77 6f 72 64 20 74 6f 20 61 73 73 69 67 6e 20 61 20 pan></code>.keyword.to.assign.a.
13d40 76 61 6c 75 65 20 74 6f 20 61 6e 20 69 64 65 6e 74 69 66 69 65 72 3a 3c 2f 70 3e 0a 20 20 20 20 value.to.an.identifier:</p>.....
13d60 20 20 3c 66 69 67 75 72 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
13d80 2d 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 6e 73 74 61 6e -cap"><cite.class="file">constan
13da0 74 5f 69 64 65 6e 74 69 66 69 65 72 5f 63 61 6e 6e 6f 74 5f 63 68 61 6e 67 65 2e 7a 69 67 3c 2f t_identifier_cannot_change.zig</
13dc0 63 69 74 65 3e 3c 2f 66 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
13de0 61 6e 20 63 6c 61 73 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
13e00 20 3d 20 3c 73 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
13e20 3c 2f 73 70 61 6e 3e 3b 0a 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 66 </span>;..<span.class="tok-kw">f
13e40 6e 3c 2f 73 70 61 6e 3e 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 66 6e 22 3e 66 6f n</span>.<span.class="tok-fn">fo
13e60 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 65 o</span>().<span.class="tok-type
13e80 22 3e 76 6f 69 64 3c 2f 73 70 61 6e 3e 20 7b 0a 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d ">void</span>.{.....<span.class=
13ea0 22 74 6f 6b 2d 63 6f 6d 6d 65 6e 74 22 3e 2f 2f 20 49 74 20 77 6f 72 6b 73 20 61 74 20 66 69 6c "tok-comment">//.It.works.at.fil
13ec0 65 20 73 63 6f 70 65 20 61 73 20 77 65 6c 6c 20 61 73 20 69 6e 73 69 64 65 20 66 75 6e 63 74 69 e.scope.as.well.as.inside.functi
13ee0 6f 6e 73 2e 3c 2f 73 70 61 6e 3e 0a 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b ons.</span>.....<span.class="tok
13f00 2d 6b 77 22 3e 63 6f 6e 73 74 3c 2f 73 70 61 6e 3e 20 79 20 3d 20 3c 73 70 61 6e 20 63 6c 61 73 -kw">const</span>.y.=.<span.clas
13f20 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 0a 0a 20 20 20 s="tok-number">5678</span>;.....
13f40 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 63 6f 6d 6d 65 6e 74 22 3e 2f 2f 20 4f 6e .<span.class="tok-comment">//.On
13f60 63 65 20 61 73 73 69 67 6e 65 64 2c 20 61 6e 20 69 64 65 6e 74 69 66 69 65 72 20 63 61 6e 6e 6f ce.assigned,.an.identifier.canno
13f80 74 20 62 65 20 63 68 61 6e 67 65 64 2e 3c 2f 73 70 61 6e 3e 0a 20 20 20 20 79 20 2b 3d 20 3c 73 t.be.changed.</span>.....y.+=.<s
13fa0 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>;
13fc0 0a 7d 0a 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 70 75 62 3c 2f 73 70 .}..<span.class="tok-kw">pub</sp
13fe0 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
14000 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
14020 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
14040 64 3c 2f 73 70 61 6e 3e 20 7b 0a 20 20 20 20 66 6f 6f 28 29 3b 0a 7d 3c 2f 63 6f 64 65 3e 3c 2f d</span>.{.....foo();.}</code></
14060 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
14080 20 63 6c 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
140a0 74 69 6f 6e 3e 3c 70 72 65 3e 3c 73 61 6d 70 3e 24 20 3c 6b 62 64 3e 7a 69 67 20 62 75 69 6c 64 tion><pre><samp>$.<kbd>zig.build
140c0 2d 65 78 65 20 63 6f 6e 73 74 61 6e 74 5f 69 64 65 6e 74 69 66 69 65 72 5f 63 61 6e 6e 6f 74 5f -exe.constant_identifier_cannot_
140e0 63 68 61 6e 67 65 2e 7a 69 67 3c 2f 6b 62 64 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 73 67 change.zig</kbd>.<span.class="sg
14100 72 2d 31 6d 22 3e 2f 68 6f 6d 65 2f 63 69 2f 77 6f 72 6b 2f 7a 69 67 2d 62 6f 6f 74 73 74 72 61 r-1m">/home/ci/work/zig-bootstra
14120 70 2f 7a 69 67 2f 64 6f 63 2f 6c 61 6e 67 72 65 66 2f 63 6f 6e 73 74 61 6e 74 5f 69 64 65 6e 74 p/zig/doc/langref/constant_ident
14140 69 66 69 65 72 5f 63 61 6e 6e 6f 74 5f 63 68 61 6e 67 65 2e 7a 69 67 3a 38 3a 35 3a 20 3c 2f 73 ifier_cannot_change.zig:8:5:.</s
14160 70 61 6e 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 73 67 72 2d 33 31 6d 22 3e 65 72 72 6f 72 3a pan><span.class="sgr-31m">error:
14180 20 3c 2f 73 70 61 6e 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 73 67 72 2d 31 6d 22 3e 63 61 6e .</span><span.class="sgr-1m">can
141a0 6e 6f 74 20 61 73 73 69 67 6e 20 74 6f 20 63 6f 6e 73 74 61 6e 74 0a 3c 2f 73 70 61 6e 3e 20 20 not.assign.to.constant.</span>..
141c0 20 20 79 20 2b 3d 20 31 3b 0a 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 73 67 72 2d 33 ..y.+=.1;.....<span.class="sgr-3
141e0 32 6d 22 3e 5e 0a 3c 2f 73 70 61 6e 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 73 67 72 2d 32 6d 2m">^.</span><span.class="sgr-2m
14200 22 3e 72 65 66 65 72 65 6e 63 65 64 20 62 79 3a 0a 20 20 20 20 6d 61 69 6e 3a 20 2f 68 6f 6d 65 ">referenced.by:.....main:./home
14220 2f 63 69 2f 77 6f 72 6b 2f 7a 69 67 2d 62 6f 6f 74 73 74 72 61 70 2f 7a 69 67 2f 64 6f 63 2f 6c /ci/work/zig-bootstrap/zig/doc/l
14240 61 6e 67 72 65 66 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 angref/constant_identifier_canno
14260 74 5f 63 68 61 6e 67 65 2e 7a 69 67 3a 31 32 3a 38 0a 20 20 20 20 63 61 6c 6c 4d 61 69 6e 20 5b t_change.zig:12:8.....callMain.[
14280 69 6e 6c 69 6e 65 64 5d 3a 20 2f 68 6f 6d 65 2f 63 69 2f 77 6f 72 6b 2f 7a 69 67 2d 62 6f 6f 74 inlined]:./home/ci/work/zig-boot
142a0 73 74 72 61 70 2f 6f 75 74 2f 68 6f 73 74 2f 6c 69 62 2f 7a 69 67 2f 73 74 64 2f 73 74 61 72 74 strap/out/host/lib/zig/std/start
142c0 2e 7a 69 67 3a 37 32 32 3a 35 39 0a 20 20 20 20 63 61 6c 6c 4d 61 69 6e 57 69 74 68 41 72 67 73 .zig:722:59.....callMainWithArgs
142e0 20 5b 69 6e 6c 69 6e 65 64 5d 3a 20 2f 68 6f 6d 65 2f 63 69 2f 77 6f 72 6b 2f 7a 69 67 2d 62 6f .[inlined]:./home/ci/work/zig-bo
14300 6f 74 73 74 72 61 70 2f 6f 75 74 2f 68 6f 73 74 2f 6c 69 62 2f 7a 69 67 2f 73 74 64 2f 73 74 61 otstrap/out/host/lib/zig/std/sta
14320 72 74 2e 7a 69 67 3a 36 36 32 3a 32 30 0a 20 20 20 20 70 6f 73 69 78 43 61 6c 6c 4d 61 69 6e 41 rt.zig:662:20.....posixCallMainA
14340 6e 64 45 78 69 74 3a 20 2f 68 6f 6d 65 2f 63 69 2f 77 6f 72 6b 2f 7a 69 67 2d 62 6f 6f 74 73 74 ndExit:./home/ci/work/zig-bootst
14360 72 61 70 2f 6f 75 74 2f 68 6f 73 74 2f 6c 69 62 2f 7a 69 67 2f 73 74 64 2f 73 74 61 72 74 2e 7a rap/out/host/lib/zig/std/start.z
14380 69 67 3a 36 31 34 3a 33 38 0a 20 20 20 20 32 20 72 65 66 65 72 65 6e 63 65 28 73 29 20 68 69 64 ig:614:38.....2.reference(s).hid
143a0 64 65 6e 3b 20 75 73 65 20 27 2d 66 72 65 66 65 72 65 6e 63 65 2d 74 72 61 63 65 3d 36 27 20 74 den;.use.'-freference-trace=6'.t
143c0 6f 20 73 65 65 20 61 6c 6c 20 72 65 66 65 72 65 6e 63 65 73 0a 3c 2f 73 70 61 6e 3e 0a 3c 2f 73 o.see.all.references.</span>.</s
143e0 61 6d 70 3e 3c 2f 70 72 65 3e 3c 2f 66 69 67 75 72 65 3e 0a 0a 20 20 20 20 20 20 3c 70 3e 3c 63 amp></pre></figure>........<p><c
14400 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 63 6f 6e 73 74 3c 2f ode><span.class="tok-kw">const</
14420 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 20 61 70 70 6c 69 65 73 20 74 6f 20 61 6c 6c 20 6f 66 20 74 span></code>.applies.to.all.of.t
14440 68 65 20 62 79 74 65 73 20 74 68 61 74 20 74 68 65 20 69 64 65 6e 74 69 66 69 65 72 20 69 6d 6d he.bytes.that.the.identifier.imm
14460 65 64 69 61 74 65 6c 79 20 61 64 64 72 65 73 73 65 73 2e 20 3c 61 20 68 72 65 66 3d 22 23 50 6f ediately.addresses..<a.href="#Po
14480 69 6e 74 65 72 73 22 3e 50 6f 69 6e 74 65 72 73 3c 2f 61 3e 20 68 61 76 65 20 74 68 65 69 72 20 inters">Pointers</a>.have.their.
144a0 6f 77 6e 20 63 6f 6e 73 74 2d 6e 65 73 73 2e 3c 2f 70 3e 0a 20 20 20 20 20 20 3c 70 3e 49 66 20 own.const-ness.</p>.......<p>If.
144c0 79 6f 75 20 6e 65 65 64 20 61 20 76 61 72 69 61 62 6c 65 20 74 68 61 74 20 79 6f 75 20 63 61 6e you.need.a.variable.that.you.can
144e0 20 6d 6f 64 69 66 79 2c 20 75 73 65 20 74 68 65 20 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 .modify,.use.the.<code><span.cla
14500 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 76 61 72 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 20 6b 65 ss="tok-kw">var</span></code>.ke
14520 79 77 6f 72 64 3a 3c 2f 70 3e 0a 20 20 20 20 20 20 3c 66 69 67 75 72 65 3e 3c 66 69 67 63 61 70 yword:</p>.......<figure><figcap
14540 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
14560 3d 22 66 69 6c 65 22 3e 6d 75 74 61 62 6c 65 5f 76 61 72 2e 7a 69 67 3c 2f 63 69 74 65 3e 3c 2f ="file">mutable_var.zig</cite></
14580 66 69 67 63 61 70 74 69 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
145a0 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.=.
145c0 3c 73 70 61 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
145e0 74 3c 2f 73 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">&
14600 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
14620 6e 74 3b 0a 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 70 75 62 3c 2f 73 nt;..<span.class="tok-kw">pub</s
14640 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
14660 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
14680 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
146a0 69 64 3c 2f 73 70 61 6e 3e 20 7b 0a 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b id</span>.{.....<span.class="tok
146c0 2d 6b 77 22 3e 76 61 72 3c 2f 73 70 61 6e 3e 20 79 3a 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 -kw">var</span>.y:.<span.class="
146e0 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
14700 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 0a 0a 20 20 ss="tok-number">5678</span>;....
14720 20 20 79 20 2b 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e ..y.+=.<span.class="tok-number">
14740 31 3c 2f 73 70 61 6e 3e 3b 0a 0a 20 20 20 20 70 72 69 6e 74 28 3c 73 70 61 6e 20 63 6c 61 73 73 1</span>;......print(<span.class
14760 3d 22 74 6f 6b 2d 73 74 72 22 3e 26 71 75 6f 74 3b 7b 64 7d 26 71 75 6f 74 3b 3c 2f 73 70 61 6e ="tok-str">&quot;{d}&quot;</span
14780 3e 2c 20 2e 7b 79 7d 29 3b 0a 7d 3c 2f 63 6f 64 65 3e 3c 2f 70 72 65 3e 3c 2f 66 69 67 75 72 65 >,..{y});.}</code></pre></figure
147a0 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
147c0 6c 2d 63 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
147e0 61 6d 70 3e 24 20 3c 6b 62 64 3e 7a 69 67 20 62 75 69 6c 64 2d 65 78 65 20 6d 75 74 61 62 6c 65 amp>$.<kbd>zig.build-exe.mutable
14800 5f 76 61 72 2e 7a 69 67 3c 2f 6b 62 64 3e 0a 24 20 3c 6b 62 64 3e 2e 2f 6d 75 74 61 62 6c 65 5f _var.zig</kbd>.$.<kbd>./mutable_
14820 76 61 72 3c 2f 6b 62 64 3e 0a 35 36 37 39 0a 3c 2f 73 61 6d 70 3e 3c 2f 70 72 65 3e 3c 2f 66 69 var</kbd>.5679.</samp></pre></fi
14840 67 75 72 65 3e 0a 0a 20 20 20 20 20 20 3c 70 3e 56 61 72 69 61 62 6c 65 73 20 6d 75 73 74 20 62 gure>........<p>Variables.must.b
14860 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 65 e.initialized:</p>.......<figure
14880 3e 3c 66 69 67 63 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
148a0 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 74 te.class="file">var_must_be_init
148c0 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 3c ialized.zig</cite></figcaption><
148e0 70 72 65 3e 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 70 pre><code><span.class="tok-kw">p
14900 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
14920 6e 3c 2f 73 70 61 6e 3e 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 66 6e 22 3e 6d 61 n</span>.<span.class="tok-fn">ma
14940 69 6e 3c 2f 73 70 61 6e 3e 28 29 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 in</span>().<span.class="tok-typ
14960 65 22 3e 76 6f 69 64 3c 2f 73 70 61 6e 3e 20 7b 0a 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 e">void</span>.{.....<span.class
14980 3d 22 74 6f 6b 2d 6b 77 22 3e 76 61 72 3c 2f 73 70 61 6e 3e 20 78 3a 20 3c 73 70 61 6e 20 63 6c ="tok-kw">var</span>.x:.<span.cl
149a0 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 3b 0a 0a 20 20 20 20 ass="tok-type">i32</span>;......
149c0 78 20 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 31 3c 2f x.=.<span.class="tok-number">1</
149e0 73 70 61 6e 3e 3b 0a 7d 3c 2f 63 6f 64 65 3e 3c 2f 70 72 65 3e 3c 2f 66 69 67 75 72 65 3e 3c 66 span>;.}</code></pre></figure><f
14a00 69 67 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
14a20 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
14a40 3e 24 20 3c 6b 62 64 3e 7a 69 67 20 62 75 69 6c 64 2d 65 78 65 20 76 61 72 5f 6d 75 73 74 5f 62 >$.<kbd>zig.build-exe.var_must_b
14a60 65 5f 69 6e 69 74 69 61 6c 69 7a 65 64 2e 7a 69 67 3c 2f 6b 62 64 3e 0a 3c 73 70 61 6e 20 63 6c e_initialized.zig</kbd>.<span.cl
14a80 61 73 73 3d 22 73 67 72 2d 31 6d 22 3e 2f 68 6f 6d 65 2f 63 69 2f 77 6f 72 6b 2f 7a 69 67 2d 62 ass="sgr-1m">/home/ci/work/zig-b
14aa0 6f 6f 74 73 74 72 61 70 2f 7a 69 67 2f 64 6f 63 2f 6c 61 6e 67 72 65 66 2f 76 61 72 5f 6d 75 73 ootstrap/zig/doc/langref/var_mus
14ac0 74 5f 62 65 5f 69 6e 69 74 69 61 6c 69 7a 65 64 2e 7a 69 67 3a 32 3a 31 35 3a 20 3c 2f 73 70 61 t_be_initialized.zig:2:15:.</spa
14ae0 6e 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 73 67 72 2d 33 31 6d 22 3e 65 72 72 6f 72 3a 20 3c n><span.class="sgr-31m">error:.<
14b00 2f 73 70 61 6e 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 73 67 72 2d 31 6d 22 3e 65 78 70 65 63 /span><span.class="sgr-1m">expec
14b20 74 65 64 20 27 3d 27 2c 20 66 6f 75 6e 64 20 27 3b 27 0a 3c 2f 73 70 61 6e 3e 20 20 20 20 76 61 ted.'=',.found.';'.</span>....va
14b40 72 20 78 3a 20 69 33 32 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 3c 73 70 61 6e 20 63 6c r.x:.i32;...............<span.cl
14b60 61 73 73 3d 22 73 67 72 2d 33 32 6d 22 3e 5e 0a 3c 2f 73 70 61 6e 3e 0a 3c 2f 73 61 6d 70 3e 3c ass="sgr-32m">^.</span>.</samp><
14b80 2f 70 72 65 3e 3c 2f 66 69 67 75 72 65 3e 0a 0a 20 20 20 20 20 20 3c 68 34 20 69 64 3d 22 75 6e /pre></figure>........<h4.id="un
14ba0 64 65 66 69 6e 65 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 defined"><a.href="nav.xhtml#toc-
14bc0 75 6e 64 65 66 69 6e 65 64 22 3e 75 6e 64 65 66 69 6e 65 64 3c 2f 61 3e 20 3c 61 20 63 6c 61 73 undefined">undefined</a>.<a.clas
14be0 73 3d 22 68 64 72 22 20 68 72 65 66 3d 22 23 75 6e 64 65 66 69 6e 65 64 22 3e c2 a7 3c 2f 61 3e s="hdr".href="#undefined">..</a>
14c00 3c 2f 68 34 3e 0a 0a 20 20 20 20 20 20 3c 70 3e 55 73 65 20 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 </h4>........<p>Use.<code><span.
14c20 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
14c40 3e 3c 2f 63 6f 64 65 3e 20 74 6f 20 6c 65 61 76 65 20 76 61 72 69 61 62 6c 65 73 20 75 6e 69 6e ></code>.to.leave.variables.unin
14c60 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 65 3e 3c 66 69 itialized:</p>.......<figure><fi
14c80 67 63 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
14ca0 6c 61 73 73 3d 22 66 69 6c 65 22 3e 61 73 73 69 67 6e 5f 75 6e 64 65 66 69 6e 65 64 2e 7a 69 67 lass="file">assign_undefined.zig
14cc0 3c 2f 63 69 74 65 3e 3c 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><
14ce0 73 70 61 6e 20 63 6c 61 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>
14d00 20 70 72 69 6e 74 20 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 62 75 69 6c 74 69 .print.=.<span.class="tok-builti
14d20 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
14d40 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>).
14d60 64 65 62 75 67 2e 70 72 69 6e 74 3b 0a 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b debug.print;..<span.class="tok-k
14d80 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
14da0 77 22 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
14dc0 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
14de0 2d 74 79 70 65 22 3e 76 6f 69 64 3c 2f 73 70 61 6e 3e 20 7b 0a 20 20 20 20 3c 73 70 61 6e 20 63 -type">void</span>.{.....<span.c
14e00 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
14e20 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>.=.
14e40 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6c 6c 22 3e 75 6e 64 65 66 69 6e 65 64 <span.class="tok-null">undefined
14e60 3c 2f 73 70 61 6e 3e 3b 0a 20 20 20 20 78 20 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f </span>;.....x.=.<span.class="to
14e80 6b 2d 6e 75 6d 62 65 72 22 3e 31 3c 2f 73 70 61 6e 3e 3b 0a 20 20 20 20 70 72 69 6e 74 28 3c 73 k-number">1</span>;.....print(<s
14ea0 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 73 74 72 22 3e 26 71 75 6f 74 3b 7b 64 7d 26 71 75 pan.class="tok-str">&quot;{d}&qu
14ec0 6f 74 3b 3c 2f 73 70 61 6e 3e 2c 20 2e 7b 78 7d 29 3b 0a 7d 3c 2f 63 6f 64 65 3e 3c 2f 70 72 65 ot;</span>,..{x});.}</code></pre
14ee0 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
14f00 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
14f20 6e 3e 3c 70 72 65 3e 3c 73 61 6d 70 3e 24 20 3c 6b 62 64 3e 7a 69 67 20 62 75 69 6c 64 2d 65 78 n><pre><samp>$.<kbd>zig.build-ex
14f40 65 20 61 73 73 69 67 6e 5f 75 6e 64 65 66 69 6e 65 64 2e 7a 69 67 3c 2f 6b 62 64 3e 0a 24 20 3c e.assign_undefined.zig</kbd>.$.<
14f60 6b 62 64 3e 2e 2f 61 73 73 69 67 6e 5f 75 6e 64 65 66 69 6e 65 64 3c 2f 6b 62 64 3e 0a 31 0a 3c kbd>./assign_undefined</kbd>.1.<
14f80 2f 73 61 6d 70 3e 3c 2f 70 72 65 3e 3c 2f 66 69 67 75 72 65 3e 0a 0a 20 20 20 20 20 20 3c 70 3e /samp></pre></figure>........<p>
14fa0 0a 20 20 20 20 20 20 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 .......<code><span.class="tok-nu
14fc0 6c 6c 22 3e 75 6e 64 65 66 69 6e 65 64 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 20 63 61 6e 20 ll">undefined</span></code>.can.
14fe0 62 65 20 3c 61 20 68 72 65 66 3d 22 23 54 79 70 65 2d 43 6f 65 72 63 69 6f 6e 22 3e 63 6f 65 72 be.<a.href="#Type-Coercion">coer
15000 63 65 64 3c 2f 61 3e 20 74 6f 20 61 6e 79 20 74 79 70 65 2e 0a 20 20 20 20 20 20 20 20 20 20 4f ced</a>.to.any.type............O
15020 6e 63 65 20 74 68 69 73 20 68 61 70 70 65 6e 73 2c 20 69 74 20 69 73 20 6e 6f 20 6c 6f 6e 67 65 nce.this.happens,.it.is.no.longe
15040 72 20 70 6f 73 73 69 62 6c 65 20 74 6f 20 64 65 74 65 63 74 20 74 68 61 74 20 74 68 65 20 76 61 r.possible.to.detect.that.the.va
15060 6c 75 65 20 69 73 20 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 lue.is.<code><span.class="tok-nu
15080 6c 6c 22 3e 75 6e 64 65 66 69 6e 65 64 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 2e 0a 20 20 20 ll">undefined</span></code>.....
150a0 20 20 20 20 20 20 20 20 20 20 20 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f ...........<code><span.class="to
150c0 6b 2d 6e 75 6c 6c 22 3e 75 6e 64 65 66 69 6e 65 64 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 20 k-null">undefined</span></code>.
150e0 6d 65 61 6e 73 20 74 68 65 20 76 61 6c 75 65 20 63 6f 75 6c 64 20 62 65 20 61 6e 79 74 68 69 6e means.the.value.could.be.anythin
15100 67 2c 20 65 76 65 6e 20 73 6f 6d 65 74 68 69 6e 67 20 74 68 61 74 20 69 73 20 6e 6f 6e 73 65 6e g,.even.something.that.is.nonsen
15120 73 65 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 61 63 63 6f 72 64 69 6e 67 20 74 se...................according.t
15140 6f 20 74 68 65 20 74 79 70 65 2e 20 54 72 61 6e 73 6c 61 74 65 64 20 69 6e 74 6f 20 45 6e 67 6c o.the.type..Translated.into.Engl
15160 69 73 68 2c 20 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6c 6c ish,.<code><span.class="tok-null
15180 22 3e 75 6e 64 65 66 69 6e 65 64 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 20 6d 65 61 6e 73 20 ">undefined</span></code>.means.
151a0 22 4e 6f 74 20 61 20 6d 65 61 6e 69 6e 67 66 75 6c 0a 20 20 20 20 20 20 76 61 6c 75 65 2e 20 55 "Not.a.meaningful.......value..U
151c0 73 69 6e 67 20 74 68 69 73 20 76 61 6c 75 65 20 77 6f 75 6c 64 20 62 65 20 61 20 62 75 67 2e 20 sing.this.value.would.be.a.bug..
151e0 54 68 65 20 76 61 6c 75 65 20 77 69 6c 6c 20 62 65 20 75 6e 75 73 65 64 2c 20 6f 72 20 6f 76 65 The.value.will.be.unused,.or.ove
15200 72 77 72 69 74 74 65 6e 20 62 65 66 6f 72 65 20 62 65 69 6e 67 20 75 73 65 64 2e 22 0a 20 20 20 rwritten.before.being.used."....
15220 20 20 20 3c 2f 70 3e 0a 20 20 20 20 20 20 3c 70 3e 0a 20 20 20 20 20 20 49 6e 20 3c 61 20 68 72 ...</p>.......<p>.......In.<a.hr
15240 65 66 3d 22 23 44 65 62 75 67 22 3e 44 65 62 75 67 3c 2f 61 3e 20 61 6e 64 20 3c 61 20 68 72 65 ef="#Debug">Debug</a>.and.<a.hre
15260 66 3d 22 23 52 65 6c 65 61 73 65 53 61 66 65 22 3e 52 65 6c 65 61 73 65 53 61 66 65 3c 2f 61 3e f="#ReleaseSafe">ReleaseSafe</a>
15280 20 6d 6f 64 65 2c 20 5a 69 67 20 77 72 69 74 65 73 20 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c .mode,.Zig.writes.<code><span.cl
152a0 61 73 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 63 6f ass="tok-number">0xaa</span></co
152c0 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 72 79 2e 20 54 de>.bytes.to.undefined.memory..T
152e0 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 65 61 72 6c 79 his.is.to.catch.......bugs.early
15300 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 20 75 6e 64 65 ,.and.to.help.detect.use.of.unde
15320 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 20 48 6f 77 65 fined.memory.in.a.debugger..Howe
15340 76 65 72 2c 20 74 68 69 73 20 62 65 68 61 76 69 6f 72 20 69 73 20 6f 6e 6c 79 20 61 6e 0a 20 20 ver,.this.behavior.is.only.an...
15360 20 20 20 20 69 6d 70 6c 65 6d 65 6e 74 61 74 69 6f 6e 20 66 65 61 74 75 72 65 2c 20 6e 6f 74 20 ....implementation.feature,.not.
15380 61 20 6c 61 6e 67 75 61 67 65 20 73 65 6d 61 6e 74 69 63 2c 20 73 6f 20 69 74 20 69 73 20 6e 6f a.language.semantic,.so.it.is.no
153a0 74 20 67 75 61 72 61 6e 74 65 65 64 20 74 6f 20 62 65 20 6f 62 73 65 72 76 61 62 6c 65 20 74 6f t.guaranteed.to.be.observable.to
153c0 20 63 6f 64 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 .code........</p>...............
153e0 3c 68 34 20 69 64 3d 22 44 65 73 74 72 75 63 74 75 72 69 6e 67 22 3e 3c 61 20 68 72 65 66 3d 22 <h4.id="Destructuring"><a.href="
15400 6e 61 76 2e 78 68 74 6d 6c 23 74 6f 63 2d 44 65 73 74 72 75 63 74 75 72 69 6e 67 22 3e 44 65 73 nav.xhtml#toc-Destructuring">Des
15420 74 72 75 63 74 75 72 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 tructuring</a>.<a.class="hdr".hr
15440 65 66 3d 22 23 44 65 73 74 72 75 63 74 75 72 69 6e 67 22 3e c2 a7 3c 2f 61 3e 3c 2f 68 34 3e 0a ef="#Destructuring">..</a></h4>.
15460 0a 20 20 20 20 20 20 3c 70 3e 0a 20 20 20 20 20 20 20 20 41 20 64 65 73 74 72 75 63 74 75 72 69 .......<p>.........A.destructuri
15480 6e 67 20 61 73 73 69 67 6e 6d 65 6e 74 20 63 61 6e 20 73 65 70 61 72 61 74 65 20 65 6c 65 6d 65 ng.assignment.can.separate.eleme
154a0 6e 74 73 20 6f 66 20 69 6e 64 65 78 61 62 6c 65 20 61 67 67 72 65 67 61 74 65 20 74 79 70 65 73 nts.of.indexable.aggregate.types
154c0 0a 20 20 20 20 20 20 20 20 28 3c 61 20 68 72 65 66 3d 22 23 54 75 70 6c 65 73 22 3e 54 75 70 6c .........(<a.href="#Tuples">Tupl
154e0 65 73 3c 2f 61 3e 2c 20 3c 61 20 68 72 65 66 3d 22 23 41 72 72 61 79 73 22 3e 41 72 72 61 79 73 es</a>,.<a.href="#Arrays">Arrays
15500 3c 2f 61 3e 2c 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 </a>,.<a.href="#Vectors">Vectors
15520 3c 2f 61 3e 29 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 </a>):.......</p>.......<figure>
15540 3c 66 69 67 63 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
15560 65 20 63 6c 61 73 73 3d 22 66 69 6c 65 22 3e 64 65 73 74 72 75 63 74 75 72 69 6e 67 5f 74 6f 5f e.class="file">destructuring_to_
15580 65 78 69 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 existing.zig</cite></figcaption>
155a0 3c 70 72 65 3e 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e <pre><code><span.class="tok-kw">
155c0 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
155e0 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
15600 70 61 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
15620 6f 74 3b 3c 2f 73 70 61 6e 3e 29 2e 64 65 62 75 67 2e 70 72 69 6e 74 3b 0a 0a 3c 73 70 61 6e 20 ot;</span>).debug.print;..<span.
15640 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.
15660 63 6c 61 73 73 3d 22 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
15680 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
156a0 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>.{
156c0 0a 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 76 61 72 3c 2f 73 .....<span.class="tok-kw">var</s
156e0 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 75 pan>.x:.<span.class="tok-type">u
15700 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 6c 32</span>.=.<span.class="tok-nul
15720 6c 22 3e 75 6e 64 65 66 69 6e 65 64 3c 2f 73 70 61 6e 3e 3b 0a 20 20 20 20 3c 73 70 61 6e 20 63 l">undefined</span>;.....<span.c
15740 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 76 61 72 3c 2f 73 70 61 6e 3e 20 79 3a 20 3c 73 70 61 lass="tok-kw">var</span>.y:.<spa
15760 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 75 33 32 3c 2f 73 70 61 6e 3e 20 3d 20 n.class="tok-type">u32</span>.=.
15780 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6c 6c 22 3e 75 6e 64 65 66 69 6e 65 64 <span.class="tok-null">undefined
157a0 3c 2f 73 70 61 6e 3e 3b 0a 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 </span>;.....<span.class="tok-kw
157c0 22 3e 76 61 72 3c 2f 73 70 61 6e 3e 20 7a 3a 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b ">var</span>.z:.<span.class="tok
157e0 2d 74 79 70 65 22 3e 75 33 32 3c 2f 73 70 61 6e 3e 20 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d -type">u32</span>.=.<span.class=
15800 22 74 6f 6b 2d 6e 75 6c 6c 22 3e 75 6e 64 65 66 69 6e 65 64 3c 2f 73 70 61 6e 3e 3b 0a 0a 20 20 "tok-null">undefined</span>;....
15820 20 20 3c 73 70 61 6e 20 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
15840 61 6e 3e 20 74 75 70 6c 65 20 3d 20 2e 7b 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d an>.tuple.=..{.<span.class="tok-
15860 6e 75 6d 62 65 72 22 3e 31 3c 2f 73 70 61 6e 3e 2c 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 number">1</span>,.<span.class="t
15880 6f 6b 2d 6e 75 6d 62 65 72 22 3e 32 3c 2f 73 70 61 6e 3e 2c 20 3c 73 70 61 6e 20 63 6c 61 73 73 ok-number">2</span>,.<span.class
158a0 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 0a 0a 20 20 20 20 78 ="tok-number">3</span>.};......x
158c0 2c 20 79 2c 20 7a 20 3d 20 74 75 70 6c 65 3b 0a 0a 20 20 20 20 70 72 69 6e 74 28 3c 73 70 61 6e ,.y,.z.=.tuple;......print(<span
158e0 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 73 74 72 22 3e 26 71 75 6f 74 3b 74 75 70 6c 65 3a 20 78 20 .class="tok-str">&quot;tuple:.x.
15900 3d 20 7b 7d 2c 20 79 20 3d 20 7b 7d 2c 20 7a 20 3d 20 7b 7d 5c 6e 26 71 75 6f 74 3b 3c 2f 73 70 =.{},.y.=.{},.z.=.{}\n&quot;</sp
15920 61 6e 3e 2c 20 2e 7b 78 2c 20 79 2c 20 7a 7d 29 3b 0a 0a 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 an>,..{x,.y,.z});......<span.cla
15940 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 63 6f 6e 73 74 3c 2f 73 70 61 6e 3e 20 61 72 72 61 79 20 3d ss="tok-kw">const</span>.array.=
15960 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 33 32 3c 2f .[_]<span.class="tok-type">u32</
15980 73 70 61 6e 3e 7b 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e span>{.<span.class="tok-number">
159a0 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
159c0 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
159e0 6d 62 65 72 22 3e 36 3c 2f 73 70 61 6e 3e 20 7d 3b 0a 0a 20 20 20 20 78 2c 20 79 2c 20 7a 20 3d mber">6</span>.};......x,.y,.z.=
15a00 20 61 72 72 61 79 3b 0a 0a 20 20 20 20 70 72 69 6e 74 28 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 .array;......print(<span.class="
15a20 74 6f 6b 2d 73 74 72 22 3e 26 71 75 6f 74 3b 61 72 72 61 79 3a 20 78 20 3d 20 7b 7d 2c 20 79 20 tok-str">&quot;array:.x.=.{},.y.
15a40 3d 20 7b 7d 2c 20 7a 20 3d 20 7b 7d 5c 6e 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 2c 20 2e 7b 78 =.{},.z.=.{}\n&quot;</span>,..{x
15a60 2c 20 79 2c 20 7a 7d 29 3b 0a 0a 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d ,.y,.z});......<span.class="tok-
15a80 6b 77 22 3e 63 6f 6e 73 74 3c 2f 73 70 61 6e 3e 20 76 65 63 74 6f 72 3a 20 3c 73 70 61 6e 20 63 kw">const</span>.vector:.<span.c
15aa0 6c 61 73 73 3d 22 74 6f 6b 2d 62 75 69 6c 74 69 6e 22 3e 40 56 65 63 74 6f 72 3c 2f 73 70 61 6e lass="tok-builtin">@Vector</span
15ac0 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 33 3c 2f 73 70 >(<span.class="tok-number">3</sp
15ae0 61 6e 3e 2c 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 75 33 32 3c an>,.<span.class="tok-type">u32<
15b00 2f 73 70 61 6e 3e 29 20 3d 20 2e 7b 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 /span>).=..{.<span.class="tok-nu
15b20 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 74 6f 6b mber">7</span>,.<span.class="tok
15b40 2d 6e 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 -number">8</span>,.<span.class="
15b60 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 39 3c 2f 73 70 61 6e 3e 20 7d 3b 0a 0a 20 20 20 20 78 2c 20 tok-number">9</span>.};......x,.
15b80 79 2c 20 7a 20 3d 20 76 65 63 74 6f 72 3b 0a 0a 20 20 20 20 70 72 69 6e 74 28 3c 73 70 61 6e 20 y,.z.=.vector;......print(<span.
15ba0 63 6c 61 73 73 3d 22 74 6f 6b 2d 73 74 72 22 3e 26 71 75 6f 74 3b 76 65 63 74 6f 72 3a 20 78 20 class="tok-str">&quot;vector:.x.
15bc0 3d 20 7b 7d 2c 20 79 20 3d 20 7b 7d 2c 20 7a 20 3d 20 7b 7d 5c 6e 26 71 75 6f 74 3b 3c 2f 73 70 =.{},.y.=.{},.z.=.{}\n&quot;</sp
15be0 61 6e 3e 2c 20 2e 7b 78 2c 20 79 2c 20 7a 7d 29 3b 0a 7d 3c 2f 63 6f 64 65 3e 3c 2f 70 72 65 3e an>,..{x,.y,.z});.}</code></pre>
15c00 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
15c20 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
15c40 3e 3c 70 72 65 3e 3c 73 61 6d 70 3e 24 20 3c 6b 62 64 3e 7a 69 67 20 62 75 69 6c 64 2d 65 78 65 ><pre><samp>$.<kbd>zig.build-exe
15c60 20 64 65 73 74 72 75 63 74 75 72 69 6e 67 5f 74 6f 5f 65 78 69 73 74 69 6e 67 2e 7a 69 67 3c 2f .destructuring_to_existing.zig</
15c80 6b 62 64 3e 0a 24 20 3c 6b 62 64 3e 2e 2f 64 65 73 74 72 75 63 74 75 72 69 6e 67 5f 74 6f 5f 65 kbd>.$.<kbd>./destructuring_to_e
15ca0 78 69 73 74 69 6e 67 3c 2f 6b 62 64 3e 0a 74 75 70 6c 65 3a 20 78 20 3d 20 31 2c 20 79 20 3d 20 xisting</kbd>.tuple:.x.=.1,.y.=.
15cc0 32 2c 20 7a 20 3d 20 33 0a 61 72 72 61 79 3a 20 78 20 3d 20 34 2c 20 79 20 3d 20 35 2c 20 7a 20 2,.z.=.3.array:.x.=.4,.y.=.5,.z.
15ce0 3d 20 36 0a 76 65 63 74 6f 72 3a 20 78 20 3d 20 37 2c 20 79 20 3d 20 38 2c 20 7a 20 3d 20 39 0a =.6.vector:.x.=.7,.y.=.8,.z.=.9.
15d00 3c 2f 73 61 6d 70 3e 3c 2f 70 72 65 3e 3c 2f 66 69 67 75 72 65 3e 0a 0a 20 20 20 20 20 20 3c 70 </samp></pre></figure>........<p
15d20 3e 0a 20 20 20 20 20 20 20 20 41 20 64 65 73 74 72 75 63 74 75 72 69 6e 67 20 65 78 70 72 65 73 >.........A.destructuring.expres
15d40 73 69 6f 6e 20 6d 61 79 20 6f 6e 6c 79 20 61 70 70 65 61 72 20 77 69 74 68 69 6e 20 61 20 62 6c sion.may.only.appear.within.a.bl
15d60 6f 63 6b 20 28 69 2e 65 2e 20 6e 6f 74 20 61 74 20 3c 61 20 68 72 65 66 3d 22 23 4e 61 6d 65 73 ock.(i.e..not.at.<a.href="#Names
15d80 70 61 63 65 22 3e 4e 61 6d 65 73 70 61 63 65 3c 2f 61 3e 20 73 63 6f 70 65 29 2e 0a 20 20 20 20 pace">Namespace</a>.scope)......
15da0 20 20 20 20 54 68 65 20 6c 65 66 74 20 68 61 6e 64 20 73 69 64 65 20 6f 66 20 74 68 65 20 61 73 ....The.left.hand.side.of.the.as
15dc0 73 69 67 6e 6d 65 6e 74 20 6d 75 73 74 20 63 6f 6e 73 69 73 74 20 6f 66 20 61 20 63 6f 6d 6d 61 signment.must.consist.of.a.comma
15de0 20 73 65 70 61 72 61 74 65 64 20 6c 69 73 74 2c 0a 20 20 20 20 20 20 20 20 65 61 63 68 20 65 6c .separated.list,.........each.el
15e00 65 6d 65 6e 74 20 6f 66 20 77 68 69 63 68 20 6d 61 79 20 62 65 20 65 69 74 68 65 72 20 61 6e 20 ement.of.which.may.be.either.an.
15e20 6c 76 61 6c 75 65 20 28 66 6f 72 20 69 6e 73 74 61 6e 63 65 2c 20 61 6e 20 65 78 69 73 74 69 6e lvalue.(for.instance,.an.existin
15e40 67 20 60 76 61 72 60 29 20 6f 72 20 61 20 76 61 72 69 61 62 6c 65 20 64 65 63 6c 61 72 61 74 69 g.`var`).or.a.variable.declarati
15e60 6f 6e 3a 0a 20 20 20 20 20 20 3c 2f 70 3e 0a 20 20 20 20 20 20 3c 66 69 67 75 72 65 3e 3c 66 69 on:.......</p>.......<figure><fi
15e80 67 63 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
15ea0 6c 61 73 73 3d 22 66 69 6c 65 22 3e 64 65 73 74 72 75 63 74 75 72 69 6e 67 5f 6d 69 78 65 64 2e lass="file">destructuring_mixed.
15ec0 7a 69 67 3c 2f 63 69 74 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
15ee0 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 63 6f 6e 73 74 3c 2f 73 70 e><span.class="tok-kw">const</sp
15f00 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
15f20 6c 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
15f40 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
15f60 3e 29 2e 64 65 62 75 67 2e 70 72 69 6e 74 3b 0a 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f >).debug.print;..<span.class="to
15f80 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
15fa0 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
15fc0 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="
15fe0 74 6f 6b 2d 74 79 70 65 22 3e 76 6f 69 64 3c 2f 73 70 61 6e 3e 20 7b 0a 20 20 20 20 3c 73 70 61 tok-type">void</span>.{.....<spa
16000 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:.<
16020 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>
16040 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
16060 6e 65 64 3c 2f 73 70 61 6e 3e 3b 0a 0a 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f ned</span>;......<span.class="to
16080 6b 2d 6b 77 22 3e 63 6f 6e 73 74 3c 2f 73 70 61 6e 3e 20 74 75 70 6c 65 20 3d 20 2e 7b 20 3c 73 k-kw">const</span>.tuple.=..{.<s
160a0 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>,
160c0 20 3c 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
160e0 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</
16100 73 70 61 6e 3e 20 7d 3b 0a 0a 20 20 20 20 78 2c 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f span>.};......x,.<span.class="to
16120 6b 2d 6b 77 22 3e 76 61 72 3c 2f 73 70 61 6e 3e 20 79 20 3a 20 3c 73 70 61 6e 20 63 6c 61 73 73 k-kw">var</span>.y.:.<span.class
16140 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
16160 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 63 6f 6e 73 74 3c 2f 73 70 61 6e 3e 20 7a 20 3d 20 74 75 ass="tok-kw">const</span>.z.=.tu
16180 70 6c 65 3b 0a 0a 20 20 20 20 70 72 69 6e 74 28 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b ple;......print(<span.class="tok
161a0 2d 73 74 72 22 3e 26 71 75 6f 74 3b 78 20 3d 20 7b 7d 2c 20 79 20 3d 20 7b 7d 2c 20 7a 20 3d 20 -str">&quot;x.=.{},.y.=.{},.z.=.
161c0 7b 7d 5c 6e 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 2c 20 2e 7b 78 2c 20 79 2c 20 7a 7d 29 3b 0a {}\n&quot;</span>,..{x,.y,.z});.
161e0 0a 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 63 6f 6d 6d 65 6e 74 22 3e 2f .....<span.class="tok-comment">/
16200 2f 20 79 20 69 73 20 6d 75 74 61 62 6c 65 3c 2f 73 70 61 6e 3e 0a 20 20 20 20 79 20 3d 20 3c 73 /.y.is.mutable</span>.....y.=.<s
16220 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 6e pan.class="tok-number">100</span
16240 3e 3b 0a 0a 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 63 6f 6d 6d 65 6e 74 >;......<span.class="tok-comment
16260 22 3e 2f 2f 20 59 6f 75 20 63 61 6e 20 75 73 65 20 5f 20 74 6f 20 74 68 72 6f 77 20 61 77 61 79 ">//.You.can.use._.to.throw.away
16280 20 75 6e 77 61 6e 74 65 64 20 76 61 6c 75 65 73 2e 3c 2f 73 70 61 6e 3e 0a 20 20 20 20 5f 2c 20 .unwanted.values.</span>....._,.
162a0 78 2c 20 5f 20 3d 20 74 75 70 6c 65 3b 0a 0a 20 20 20 20 70 72 69 6e 74 28 3c 73 70 61 6e 20 63 x,._.=.tuple;......print(<span.c
162c0 6c 61 73 73 3d 22 74 6f 6b 2d 73 74 72 22 3e 26 71 75 6f 74 3b 78 20 3d 20 7b 7d 26 71 75 6f 74 lass="tok-str">&quot;x.=.{}&quot
162e0 3b 3c 2f 73 70 61 6e 3e 2c 20 2e 7b 78 7d 29 3b 0a 7d 3c 2f 63 6f 64 65 3e 3c 2f 70 72 65 3e 3c ;</span>,..{x});.}</code></pre><
16300 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
16320 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>
16340 3c 70 72 65 3e 3c 73 61 6d 70 3e 24 20 3c 6b 62 64 3e 7a 69 67 20 62 75 69 6c 64 2d 65 78 65 20 <pre><samp>$.<kbd>zig.build-exe.
16360 64 65 73 74 72 75 63 74 75 72 69 6e 67 5f 6d 69 78 65 64 2e 7a 69 67 3c 2f 6b 62 64 3e 0a 24 20 destructuring_mixed.zig</kbd>.$.
16380 3c 6b 62 64 3e 2e 2f 64 65 73 74 72 75 63 74 75 72 69 6e 67 5f 6d 69 78 65 64 3c 2f 6b 62 64 3e <kbd>./destructuring_mixed</kbd>
163a0 0a 78 20 3d 20 31 2c 20 79 20 3d 20 32 2c 20 7a 20 3d 20 33 0a 78 20 3d 20 32 0a 3c 2f 73 61 6d .x.=.1,.y.=.2,.z.=.3.x.=.2.</sam
163c0 70 3e 3c 2f 70 72 65 3e 3c 2f 66 69 67 75 72 65 3e 0a 0a 20 20 20 20 20 20 3c 70 3e 0a 20 20 20 p></pre></figure>........<p>....
163e0 20 20 20 20 20 41 20 64 65 73 74 72 75 63 74 75 72 65 20 6d 61 79 20 62 65 20 70 72 65 66 69 78 .....A.destructure.may.be.prefix
16400 65 64 20 77 69 74 68 20 74 68 65 20 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 ed.with.the.<code><span.class="t
16420 6f 6b 2d 6b 77 22 3e 63 6f 6d 70 74 69 6d 65 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 20 6b 65 ok-kw">comptime</span></code>.ke
16440 79 77 6f 72 64 2c 20 69 6e 20 77 68 69 63 68 20 63 61 73 65 20 74 68 65 20 65 6e 74 69 72 65 0a yword,.in.which.case.the.entire.
16460 20 20 20 20 20 20 20 20 64 65 73 74 72 75 63 74 75 72 65 20 65 78 70 72 65 73 73 69 6f 6e 20 69 ........destructure.expression.i
16480 73 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 6d s.evaluated.at.<a.href="#comptim
164a0 65 22 3e 63 6f 6d 70 74 69 6d 65 3c 2f 61 3e 2e 20 41 6c 6c 20 3c 63 6f 64 65 3e 3c 73 70 61 6e e">comptime</a>..All.<code><span
164c0 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 63 6f 64 65 .class="tok-kw">var</span></code
164e0 3e 73 20 64 65 63 6c 61 72 65 64 20 77 6f 75 6c 64 0a 20 20 20 20 20 20 20 20 62 65 20 3c 63 6f >s.declared.would.........be.<co
16500 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 63 6f 6d 70 74 69 6d 65 de><span.class="tok-kw">comptime
16520 3c 2f 73 70 61 6e 3e 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 76 61 72 </span>.<span.class="tok-kw">var
16540 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 73 20 61 6e 64 20 61 6c 6c 20 65 78 70 72 65 73 73 69 </span></code>s.and.all.expressi
16560 6f 6e 73 20 28 62 6f 74 68 20 72 65 73 75 6c 74 20 6c 6f 63 61 74 69 6f 6e 73 20 61 6e 64 20 74 ons.(both.result.locations.and.t
16580 68 65 20 61 73 73 69 67 6e 65 65 0a 20 20 20 20 20 20 20 20 65 78 70 72 65 73 73 69 6f 6e 29 20 he.assignee.........expression).
165a0 61 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 are.evaluated.at.<a.href="#compt
165c0 69 6d 65 22 3e 63 6f 6d 70 74 69 6d 65 3c 2f 61 3e 2e 0a 20 20 20 20 20 20 3c 2f 70 3e 0a 0a 20 ime">comptime</a>........</p>...
165e0 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
16600 20 68 72 65 66 3d 22 23 44 65 73 74 72 75 63 74 75 72 69 6e 67 2d 54 75 70 6c 65 73 22 3e 44 65 .href="#Destructuring-Tuples">De
16620 73 74 72 75 63 74 75 72 69 6e 67 20 54 75 70 6c 65 73 3c 2f 61 3e 3c 2f 6c 69 3e 0a 3c 6c 69 3e structuring.Tuples</a></li>.<li>
16640 3c 61 20 68 72 65 66 3d 22 23 44 65 73 74 72 75 63 74 75 72 69 6e 67 2d 41 72 72 61 79 73 22 3e <a.href="#Destructuring-Arrays">
16660 44 65 73 74 72 75 63 74 75 72 69 6e 67 20 41 72 72 61 79 73 3c 2f 61 3e 3c 2f 6c 69 3e 0a 3c 6c Destructuring.Arrays</a></li>.<l
16680 69 3e 3c 61 20 68 72 65 66 3d 22 23 44 65 73 74 72 75 63 74 75 72 69 6e 67 2d 56 65 63 74 6f 72 i><a.href="#Destructuring-Vector
166a0 73 22 3e 44 65 73 74 72 75 63 74 75 72 69 6e 67 20 56 65 63 74 6f 72 73 3c 2f 61 3e 3c 2f 6c 69 s">Destructuring.Vectors</a></li
166c0 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 0a 20 20 >.</ul>.........................
166e0 20 20 20 20 3c 68 32 20 69 64 3d 22 5a 69 67 2d 54 65 73 74 22 3e 3c 61 20 68 72 65 66 3d 22 6e ....<h2.id="Zig-Test"><a.href="n
16700 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 73 74 3c av.xhtml#toc-Zig-Test">Zig.Test<
16720 2f 61 3e 20 3c 61 20 63 6c 61 73 73 3d 22 68 64 72 22 20 68 72 65 66 3d 22 23 5a 69 67 2d 54 65 /a>.<a.class="hdr".href="#Zig-Te
16740 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 20 20 20 st">..</a></h2>........<p>......
16760 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 20 6d 6f ...Code.written.within.one.or.mo
16780 72 65 20 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 74 65 re.<code><span.class="tok-kw">te
167a0 73 74 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 20 64 65 63 6c 61 72 61 74 69 6f 6e 73 20 63 61 st</span></code>.declarations.ca
167c0 6e 20 62 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 n.be.used.to.ensure.behavior.mee
167e0 74 73 20 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 ts.expectations:.......</p>.....
16800 20 20 3c 66 69 67 75 72 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
16820 2d 63 61 70 22 3e 3c 63 69 74 65 20 63 6c 61 73 73 3d 22 66 69 6c 65 22 3e 74 65 73 74 69 6e 67 -cap"><cite.class="file">testing
16840 5f 69 6e 74 72 6f 64 75 63 74 69 6f 6e 2e 7a 69 67 3c 2f 63 69 74 65 3e 3c 2f 66 69 67 63 61 70 _introduction.zig</cite></figcap
16860 74 69 6f 6e 3e 3c 70 72 65 3e 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b tion><pre><code><span.class="tok
16880 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
168a0 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>
168c0 28 3c 73 70 61 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
168e0 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 29 3b 0a 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f &quot;</span>);..<span.class="to
16900 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
16920 6f 6b 2d 73 74 72 22 3e 26 71 75 6f 74 3b 65 78 70 65 63 74 20 61 64 64 4f 6e 65 20 61 64 64 73 ok-str">&quot;expect.addOne.adds
16940 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 0a 0a 20 20 20 20 3c .one.to.41&quot;</span>.{......<
16960 73 70 61 6e 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.
16980 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 75 73 65 66 75 6c Standard.Library.contains.useful
169a0 20 66 75 6e 63 74 69 6f 6e 73 20 74 6f 20 68 65 6c 70 20 63 72 65 61 74 65 20 74 65 73 74 73 2e .functions.to.help.create.tests.
169c0 3c 2f 73 70 61 6e 3e 0a 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 63 6f 6d </span>.....<span.class="tok-com
169e0 6d 65 6e 74 22 3e 2f 2f 20 60 65 78 70 65 63 74 60 20 69 73 20 61 20 66 75 6e 63 74 69 6f 6e 20 ment">//.`expect`.is.a.function.
16a00 74 68 61 74 20 76 65 72 69 66 69 65 73 20 69 74 73 20 61 72 67 75 6d 65 6e 74 20 69 73 20 74 72 that.verifies.its.argument.is.tr
16a20 75 65 2e 3c 2f 73 70 61 6e 3e 0a 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d ue.</span>.....<span.class="tok-
16a40 63 6f 6d 6d 65 6e 74 22 3e 2f 2f 20 49 74 20 77 69 6c 6c 20 72 65 74 75 72 6e 20 61 6e 20 65 72 comment">//.It.will.return.an.er
16a60 72 6f 72 20 69 66 20 69 74 73 20 61 72 67 75 6d 65 6e 74 20 69 73 20 66 61 6c 73 65 20 74 6f 20 ror.if.its.argument.is.false.to.
16a80 69 6e 64 69 63 61 74 65 20 61 20 66 61 69 6c 75 72 65 2e 3c 2f 73 70 61 6e 3e 0a 20 20 20 20 3c indicate.a.failure.</span>.....<
16aa0 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 63 6f 6d 6d 65 6e 74 22 3e 2f 2f 20 60 74 72 79 span.class="tok-comment">//.`try
16ac0 60 20 69 73 20 75 73 65 64 20 74 6f 20 72 65 74 75 72 6e 20 61 6e 20 65 72 72 6f 72 20 74 6f 20 `.is.used.to.return.an.error.to.
16ae0 74 68 65 20 74 65 73 74 20 72 75 6e 6e 65 72 20 74 6f 20 6e 6f 74 69 66 79 20 69 74 20 74 68 61 the.test.runner.to.notify.it.tha
16b00 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 0a 20 20 20 20 3c 73 t.the.test.failed.</span>.....<s
16b20 70 61 6e 20 63 6c 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
16b40 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
16b60 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>).==.<
16b80 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
16ba0 3e 29 3b 0a 0a 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 63 6f 6d 6d 65 6e >);......<span.class="tok-commen
16bc0 74 22 3e 2f 2f 20 48 6f 77 65 76 65 72 2c 20 69 6e 20 6d 6f 73 74 20 63 61 73 65 73 20 69 74 20 t">//.However,.in.most.cases.it.
16be0 69 73 20 6d 6f 72 65 20 63 6f 6e 76 65 6e 69 65 6e 74 20 74 6f 20 75 73 65 20 61 20 6d 6f 72 65 is.more.convenient.to.use.a.more
16c00 20 73 70 65 63 69 66 69 63 20 66 75 6e 63 74 69 6f 6e 20 6c 69 6b 65 20 60 65 78 70 65 63 74 45 .specific.function.like.`expectE
16c20 71 75 61 6c 60 2e 3c 2f 73 70 61 6e 3e 0a 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 qual`.</span>.....<span.class="t
16c40 6f 6b 2d 63 6f 6d 6d 65 6e 74 22 3e 2f 2f 20 54 68 69 73 20 67 69 76 65 73 20 79 6f 75 20 6d 75 ok-comment">//.This.gives.you.mu
16c60 63 68 20 63 6c 65 61 72 65 72 20 61 6e 64 20 6d 6f 72 65 20 68 65 6c 70 66 75 6c 20 65 72 72 6f ch.clearer.and.more.helpful.erro
16c80 72 20 6d 65 73 73 61 67 65 73 20 77 68 65 6e 20 61 20 74 65 73 74 20 66 61 69 6c 73 2e 3c 2f 73 r.messages.when.a.test.fails.</s
16ca0 70 61 6e 3e 0a 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 74 72 pan>.....<span.class="tok-kw">tr
16cc0 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
16ce0 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 32 3c 2f 73 70 (<span.class="tok-number">42</sp
16d00 61 6e 3e 2c 20 61 64 64 4f 6e 65 28 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d an>,.addOne(<span.class="tok-num
16d20 62 65 72 22 3e 34 31 3c 2f 73 70 61 6e 3e 29 29 3b 0a 7d 0a 0a 3c 73 70 61 6e 20 63 6c 61 73 73 ber">41</span>));.}..<span.class
16d40 3d 22 74 6f 6b 2d 6b 77 22 3e 74 65 73 74 3c 2f 73 70 61 6e 3e 20 61 64 64 4f 6e 65 20 7b 0a 20 ="tok-kw">test</span>.addOne.{..
16d60 20 20 20 3c 73 70 61 6e 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">//.
16d80 41 20 74 65 73 74 20 6e 61 6d 65 20 63 61 6e 20 61 6c 73 6f 20 62 65 20 77 72 69 74 74 65 6e 20 A.test.name.can.also.be.written.
16da0 75 73 69 6e 67 20 61 6e 20 69 64 65 6e 74 69 66 69 65 72 2e 3c 2f 73 70 61 6e 3e 0a 20 20 20 20 using.an.identifier.</span>.....
16dc0 3c 73 70 61 6e 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
16de0 73 20 69 73 20 61 20 64 6f 63 74 65 73 74 2c 20 61 6e 64 20 73 65 72 76 65 73 20 61 73 20 64 6f s.is.a.doctest,.and.serves.as.do
16e00 63 75 6d 65 6e 74 61 74 69 6f 6e 20 66 6f 72 20 60 61 64 64 4f 6e 65 60 2e 3c 2f 73 70 61 6e 3e cumentation.for.`addOne`.</span>
16e20 0a 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 74 72 79 3c 2f 73 .....<span.class="tok-kw">try</s
16e40 70 61 6e 3e 20 73 74 64 2e 74 65 73 74 69 6e 67 2e 65 78 70 65 63 74 45 71 75 61 6c 28 3c 73 70 pan>.std.testing.expectEqual(<sp
16e60 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 34 32 3c 2f 73 70 61 6e 3e 2c an.class="tok-number">42</span>,
16e80 20 61 64 64 4f 6e 65 28 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 .addOne(<span.class="tok-number"
16ea0 3e 34 31 3c 2f 73 70 61 6e 3e 29 29 3b 0a 7d 0a 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f >41</span>));.}..<span.class="to
16ec0 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 60 61 64 64 k-comment">///.The.function.`add
16ee0 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 67 69 76 65 One`.adds.one.to.the.number.give
16f00 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 0a 3c 73 70 61 6e 20 n.as.its.argument.</span>.<span.
16f20 63 6c 61 73 73 3d 22 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
16f40 6c 61 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 lass="tok-fn">addOne</span>(numb
16f60 65 72 3a 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 69 33 32 3c 2f er:.<span.class="tok-type">i32</
16f80 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
16fa0 32 3c 2f 73 70 61 6e 3e 20 7b 0a 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 2</span>.{.....<span.class="tok-
16fc0 6b 77 22 3e 72 65 74 75 72 6e 3c 2f 73 70 61 6e 3e 20 6e 75 6d 62 65 72 20 2b 20 3c 73 70 61 6e kw">return</span>.number.+.<span
16fe0 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 31 3c 2f 73 70 61 6e 3e 3b 0a 7d 3c .class="tok-number">1</span>;.}<
17000 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
17020 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
17040 3c 2f 66 69 67 63 61 70 74 69 6f 6e 3e 3c 70 72 65 3e 3c 73 61 6d 70 3e 24 20 3c 6b 62 64 3e 7a </figcaption><pre><samp>$.<kbd>z
17060 69 67 20 74 65 73 74 20 74 65 73 74 69 6e 67 5f 69 6e 74 72 6f 64 75 63 74 69 6f 6e 2e 7a 69 67 ig.test.testing_introduction.zig
17080 3c 2f 6b 62 64 3e 0a 31 2f 32 20 74 65 73 74 69 6e 67 5f 69 6e 74 72 6f 64 75 63 74 69 6f 6e 2e </kbd>.1/2.testing_introduction.
170a0 74 65 73 74 2e 65 78 70 65 63 74 20 61 64 64 4f 6e 65 20 61 64 64 73 20 6f 6e 65 20 74 6f 20 34 test.expect.addOne.adds.one.to.4
170c0 31 2e 2e 2e 4f 4b 0a 32 2f 32 20 74 65 73 74 69 6e 67 5f 69 6e 74 72 6f 64 75 63 74 69 6f 6e 2e 1...OK.2/2.testing_introduction.
170e0 64 65 63 6c 74 65 73 74 2e 61 64 64 4f 6e 65 2e 2e 2e 4f 4b 0a 41 6c 6c 20 32 20 74 65 73 74 73 decltest.addOne...OK.All.2.tests
17100 20 70 61 73 73 65 64 2e 0a 3c 2f 73 61 6d 70 3e 3c 2f 70 72 65 3e 3c 2f 66 69 67 75 72 65 3e 0a .passed..</samp></pre></figure>.
17120 0a 20 20 20 20 20 20 3c 70 3e 0a 20 20 20 20 20 20 20 20 54 68 65 20 3c 63 6f 64 65 20 63 6c 61 .......<p>.........The.<code.cla
17140 73 73 3d 22 66 69 6c 65 22 3e 74 65 73 74 69 6e 67 5f 69 6e 74 72 6f 64 75 63 74 69 6f 6e 2e 7a ss="file">testing_introduction.z
17160 69 67 3c 2f 63 6f 64 65 3e 20 63 6f 64 65 20 73 61 6d 70 6c 65 20 74 65 73 74 73 20 74 68 65 20 ig</code>.code.sample.tests.the.
17180 3c 61 20 68 72 65 66 3d 22 23 46 75 6e 63 74 69 6f 6e 73 22 3e 66 75 6e 63 74 69 6f 6e 3c 2f 61 <a.href="#Functions">function</a
171a0 3e 0a 20 20 20 20 20 20 20 20 3c 63 6f 64 65 3e 61 64 64 4f 6e 65 3c 2f 63 6f 64 65 3e 20 74 6f >.........<code>addOne</code>.to
171c0 20 65 6e 73 75 72 65 20 74 68 61 74 20 69 74 20 72 65 74 75 72 6e 73 20 3c 63 6f 64 65 3e 3c 73 .ensure.that.it.returns.<code><s
171e0 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 34 32 3c 2f 73 70 61 6e 3e pan.class="tok-number">42</span>
17200 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 20 20 20 20 </code>.given.the.input.........
17220 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 34 <code><span.class="tok-number">4
17240 31 3c 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 1</span></code>..From.this.test'
17260 73 20 70 65 72 73 70 65 63 74 69 76 65 2c 20 74 68 65 20 3c 63 6f 64 65 3e 61 64 64 4f 6e 65 3c s.perspective,.the.<code>addOne<
17280 2f 63 6f 64 65 3e 20 66 75 6e 63 74 69 6f 6e 20 69 73 0a 20 20 20 20 20 20 20 20 73 61 69 64 20 /code>.function.is.........said.
172a0 74 6f 20 62 65 20 3c 65 6d 3e 63 6f 64 65 20 75 6e 64 65 72 20 74 65 73 74 3c 2f 65 6d 3e 2e 0a to.be.<em>code.under.test</em>..
172c0 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 3c 6b 62 ......</p>.......<p>.........<kb
172e0 64 3e 7a 69 67 20 74 65 73 74 3c 2f 6b 62 64 3e 20 69 73 20 61 20 74 6f 6f 6c 20 74 68 61 74 20 d>zig.test</kbd>.is.a.tool.that.
17300 63 72 65 61 74 65 73 20 61 6e 64 20 72 75 6e 73 20 61 20 74 65 73 74 20 62 75 69 6c 64 2e 20 42 creates.and.runs.a.test.build..B
17320 79 20 64 65 66 61 75 6c 74 2c 20 69 74 20 62 75 69 6c 64 73 20 61 6e 64 20 72 75 6e 73 20 61 6e y.default,.it.builds.and.runs.an
17340 0a 20 20 20 20 20 20 20 20 65 78 65 63 75 74 61 62 6c 65 20 70 72 6f 67 72 61 6d 20 75 73 69 6e .........executable.program.usin
17360 67 20 74 68 65 20 3c 65 6d 3e 64 65 66 61 75 6c 74 20 74 65 73 74 20 72 75 6e 6e 65 72 3c 2f 65 g.the.<em>default.test.runner</e
17380 6d 3e 20 70 72 6f 76 69 64 65 64 20 62 79 20 74 68 65 20 3c 61 20 68 72 65 66 3d 22 23 5a 69 67 m>.provided.by.the.<a.href="#Zig
173a0 2d 53 74 61 6e 64 61 72 64 2d 4c 69 62 72 61 72 79 22 3e 5a 69 67 20 53 74 61 6e 64 61 72 64 20 -Standard-Library">Zig.Standard.
173c0 4c 69 62 72 61 72 79 3c 2f 61 3e 0a 20 20 20 20 20 20 20 20 61 73 20 69 74 73 20 6d 61 69 6e 20 Library</a>.........as.its.main.
173e0 65 6e 74 72 79 20 70 6f 69 6e 74 2e 20 44 75 72 69 6e 67 20 74 68 65 20 62 75 69 6c 64 2c 20 3c entry.point..During.the.build,.<
17400 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 74 65 73 74 3c 2f code><span.class="tok-kw">test</
17420 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 20 64 65 63 6c 61 72 61 74 69 6f 6e 73 20 66 6f 75 6e 64 20 span></code>.declarations.found.
17440 77 68 69 6c 65 0a 20 20 20 20 20 20 20 20 3c 61 20 68 72 65 66 3d 22 23 46 69 6c 65 2d 61 6e 64 while.........<a.href="#File-and
17460 2d 44 65 63 6c 61 72 61 74 69 6f 6e 2d 44 69 73 63 6f 76 65 72 79 22 3e 72 65 73 6f 6c 76 69 6e -Declaration-Discovery">resolvin
17480 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 69 6c 65 20 g</a>.the.given.Zig.source.file.
174a0 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 20 74 65 73 are.included.for.the.default.tes
174c0 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 72 65 70 6f t.runner.........to.run.and.repo
174e0 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 64 65 3e 0a rt.on........</p>.......<aside>.
17500 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 69 73 63 75 ........This.documentation.discu
17520 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 61 75 6c 74 sses.the.features.of.the.default
17540 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 74 68 65 20 .test.runner.as.provided.by.the.
17560 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 20 20 49 74 Zig.Standard.Library..........It
17580 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 3c 63 6f 64 s.source.code.is.located.in.<cod
175a0 65 20 63 6c 61 73 73 3d 22 66 69 6c 65 22 3e 6c 69 62 2f 63 6f 6d 70 69 6c 65 72 2f 74 65 73 74 e.class="file">lib/compiler/test
175c0 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 20 3c 2f 61 73 69 64 _runner.zig</code>........</asid
175e0 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 73 68 65 6c 6c 20 6f e>.......<p>.........The.shell.o
17600 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 73 20 74 77 6f 20 6c utput.shown.above.displays.two.l
17620 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 65 73 74 3c 2f 6b 62 ines.after.the.<kbd>zig.test</kb
17640 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 72 65 0a 20 20 20 20 d>.command..These.lines.are.....
17660 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 72 72 6f 72 20 62 79 ....printed.to.standard.error.by
17680 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 0a 20 20 20 20 20 20 .the.default.test.runner:.......
176a0 3c 2f 70 3e 0a 20 20 20 20 20 20 3c 64 6c 3e 0a 20 20 20 20 20 20 20 20 3c 64 74 3e 3c 73 61 6d </p>.......<dl>.........<dt><sam
176c0 70 3e 31 2f 32 20 74 65 73 74 69 6e 67 5f 69 6e 74 72 6f 64 75 63 74 69 6f 6e 2e 74 65 73 74 2e p>1/2.testing_introduction.test.
176e0 65 78 70 65 63 74 20 61 64 64 4f 6e 65 20 61 64 64 73 20 6f 6e 65 20 74 6f 20 34 31 2e 2e 2e 3c expect.addOne.adds.one.to.41...<
17700 2f 73 61 6d 70 3e 3c 2f 64 74 3e 0a 20 20 20 20 20 20 20 20 3c 64 64 3e 4c 69 6e 65 73 20 6c 69 /samp></dt>.........<dd>Lines.li
17720 6b 65 20 74 68 69 73 20 69 6e 64 69 63 61 74 65 20 77 68 69 63 68 20 74 65 73 74 2c 20 6f 75 74 ke.this.indicate.which.test,.out
17740 20 6f 66 20 74 68 65 20 74 6f 74 61 6c 20 6e 75 6d 62 65 72 20 6f 66 20 74 65 73 74 73 2c 20 69 .of.the.total.number.of.tests,.i
17760 73 20 62 65 69 6e 67 20 72 75 6e 2e 0a 20 20 20 20 20 20 20 20 20 20 49 6e 20 74 68 69 73 20 63 s.being.run............In.this.c
17780 61 73 65 2c 20 3c 73 61 6d 70 3e 31 2f 32 3c 2f 73 61 6d 70 3e 20 69 6e 64 69 63 61 74 65 73 20 ase,.<samp>1/2</samp>.indicates.
177a0 74 68 61 74 20 74 68 65 20 66 69 72 73 74 20 74 65 73 74 2c 20 6f 75 74 20 6f 66 20 61 20 74 6f that.the.first.test,.out.of.a.to
177c0 74 61 6c 20 6f 66 20 74 77 6f 20 74 65 73 74 73 2c 0a 20 20 20 20 20 20 20 20 20 20 69 73 20 62 tal.of.two.tests,...........is.b
177e0 65 69 6e 67 20 72 75 6e 2e 20 4e 6f 74 65 20 74 68 61 74 2c 20 77 68 65 6e 20 74 68 65 20 74 65 eing.run..Note.that,.when.the.te
17800 73 74 20 72 75 6e 6e 65 72 20 70 72 6f 67 72 61 6d 27 73 20 73 74 61 6e 64 61 72 64 20 65 72 72 st.runner.program's.standard.err
17820 6f 72 20 69 73 20 6f 75 74 70 75 74 0a 20 20 20 20 20 20 20 20 20 20 74 6f 20 74 68 65 20 74 65 or.is.output...........to.the.te
17840 72 6d 69 6e 61 6c 2c 20 74 68 65 73 65 20 6c 69 6e 65 73 20 61 72 65 20 63 6c 65 61 72 65 64 20 rminal,.these.lines.are.cleared.
17860 77 68 65 6e 20 61 20 74 65 73 74 20 73 75 63 63 65 65 64 73 2e 0a 20 20 20 20 20 20 20 20 3c 2f when.a.test.succeeds..........</
17880 64 64 3e 0a 20 20 20 20 20 20 20 20 3c 64 74 3e 3c 73 61 6d 70 3e 32 2f 32 20 74 65 73 74 69 6e dd>.........<dt><samp>2/2.testin
178a0 67 5f 69 6e 74 72 6f 64 75 63 74 69 6f 6e 2e 64 65 63 6c 74 65 73 74 2e 61 64 64 4f 6e 65 2e 2e g_introduction.decltest.addOne..
178c0 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 57 68 65 6e 20 74 .</samp></dt>.........<dd>When.t
178e0 68 65 20 74 65 73 74 20 6e 61 6d 65 20 69 73 20 61 6e 20 69 64 65 6e 74 69 66 69 65 72 2c 20 74 he.test.name.is.an.identifier,.t
17900 68 65 20 64 65 66 61 75 6c 74 20 74 65 73 74 20 72 75 6e 6e 65 72 20 75 73 65 73 20 74 68 65 20 he.default.test.runner.uses.the.
17920 74 65 78 74 0a 20 20 20 20 20 20 20 20 20 20 64 65 63 6c 74 65 73 74 20 69 6e 73 74 65 61 64 20 text...........decltest.instead.
17940 6f 66 20 74 65 73 74 2e 0a 20 20 20 20 20 20 20 20 3c 2f 64 64 3e 0a 20 20 20 20 20 20 20 20 3c of.test..........</dd>.........<
17960 64 74 3e 3c 73 61 6d 70 3e 41 6c 6c 20 32 20 74 65 73 74 73 20 70 61 73 73 65 64 2e 3c 2f 73 61 dt><samp>All.2.tests.passed.</sa
17980 6d 70 3e 3c 2f 64 74 3e 0a 20 20 20 20 20 20 20 20 3c 64 64 3e 54 68 69 73 20 6c 69 6e 65 20 69 mp></dt>.........<dd>This.line.i
179a0 6e 64 69 63 61 74 65 73 20 74 68 65 20 74 6f 74 61 6c 20 6e 75 6d 62 65 72 20 6f 66 20 74 65 73 ndicates.the.total.number.of.tes
179c0 74 73 20 74 68 61 74 20 68 61 76 65 20 70 61 73 73 65 64 2e 3c 2f 64 64 3e 0a 20 20 20 20 20 20 ts.that.have.passed.</dd>.......
179e0 3c 2f 64 6c 3e 0a 20 20 20 20 20 20 3c 68 33 20 69 64 3d 22 54 65 73 74 2d 44 65 63 6c 61 72 61 </dl>.......<h3.id="Test-Declara
17a00 74 69 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 65 tions"><a.href="nav.xhtml#toc-Te
17a20 73 74 2d 44 65 63 6c 61 72 61 74 69 6f 6e 73 22 3e 54 65 73 74 20 44 65 63 6c 61 72 61 74 69 6f st-Declarations">Test.Declaratio
17a40 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 54 65 73 ns</a>.<a.class="hdr".href="#Tes
17a60 74 2d 44 65 63 6c 61 72 61 74 69 6f 6e 73 22 3e c2 a7 3c 2f 61 3e 3c 2f 68 33 3e 0a 0a 20 20 20 t-Declarations">..</a></h3>.....
17a80 20 20 20 3c 70 3e 0a 20 20 20 20 20 20 20 20 54 65 73 74 20 64 65 63 6c 61 72 61 74 69 6f 6e 73 ...<p>.........Test.declarations
17aa0 20 63 6f 6e 74 61 69 6e 20 74 68 65 20 3c 61 20 68 72 65 66 3d 22 23 4b 65 79 77 6f 72 64 2d 52 .contain.the.<a.href="#Keyword-R
17ac0 65 66 65 72 65 6e 63 65 22 3e 6b 65 79 77 6f 72 64 3c 2f 61 3e 20 3c 63 6f 64 65 3e 3c 73 70 61 eference">keyword</a>.<code><spa
17ae0 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 74 65 73 74 3c 2f 73 70 61 6e 3e 3c 2f 63 6f n.class="tok-kw">test</span></co
17b00 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 70 74 69 de>,.followed.by.an.........opti
17b20 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 66 3d 22 onal.name.written.as.a.<a.href="
17b40 23 53 74 72 69 6e 67 2d 4c 69 74 65 72 61 6c 73 2d 61 6e 64 2d 55 6e 69 63 6f 64 65 2d 43 6f 64 #String-Literals-and-Unicode-Cod
17b60 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 72 61 6c e-Point-Literals">string.literal
17b80 3c 2f 61 3e 20 6f 72 20 61 6e 0a 20 20 20 20 20 20 20 20 3c 61 20 68 72 65 66 3d 22 23 49 64 65 </a>.or.an.........<a.href="#Ide
17ba0 6e 74 69 66 69 65 72 73 22 3e 69 64 65 6e 74 69 66 69 65 72 3c 2f 61 3e 2c 20 66 6f 6c 6c 6f 77 ntifiers">identifier</a>,.follow
17bc0 65 64 20 62 79 20 61 20 3c 61 20 68 72 65 66 3d 22 23 42 6c 6f 63 6b 73 22 3e 62 6c 6f 63 6b 3c ed.by.a.<a.href="#Blocks">block<
17be0 2f 61 3e 20 63 6f 6e 74 61 69 6e 69 6e 67 20 61 6e 79 20 76 61 6c 69 64 20 5a 69 67 20 63 6f 64 /a>.containing.any.valid.Zig.cod
17c00 65 20 74 68 61 74 0a 20 20 20 20 20 20 20 20 69 73 20 61 6c 6c 6f 77 65 64 20 69 6e 20 61 20 3c e.that.........is.allowed.in.a.<
17c20 61 20 68 72 65 66 3d 22 23 46 75 6e 63 74 69 6f 6e 73 22 3e 66 75 6e 63 74 69 6f 6e 3c 2f 61 3e a.href="#Functions">function</a>
17c40 2e 0a 20 20 20 20 20 20 3c 2f 70 3e 0a 20 20 20 20 20 20 3c 70 3e 4e 6f 6e 2d 6e 61 6d 65 64 20 ........</p>.......<p>Non-named.
17c60 74 65 73 74 20 62 6c 6f 63 6b 73 20 61 6c 77 61 79 73 20 72 75 6e 20 64 75 72 69 6e 67 20 74 65 test.blocks.always.run.during.te
17c80 73 74 20 62 75 69 6c 64 73 20 61 6e 64 20 61 72 65 20 65 78 65 6d 70 74 20 66 72 6f 6d 0a 20 20 st.builds.and.are.exempt.from...
17ca0 20 20 20 20 20 20 3c 61 20 68 72 65 66 3d 22 23 53 6b 69 70 2d 54 65 73 74 73 22 3e 53 6b 69 70 ......<a.href="#Skip-Tests">Skip
17cc0 20 54 65 73 74 73 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 .Tests</a>.</p>.......<p>.......
17ce0 20 20 54 65 73 74 20 64 65 63 6c 61 72 61 74 69 6f 6e 73 20 61 72 65 20 73 69 6d 69 6c 61 72 20 ..Test.declarations.are.similar.
17d00 74 6f 20 3c 61 20 68 72 65 66 3d 22 23 46 75 6e 63 74 69 6f 6e 73 22 3e 46 75 6e 63 74 69 6f 6e to.<a.href="#Functions">Function
17d20 73 3c 2f 61 3e 3a 20 74 68 65 79 20 68 61 76 65 20 61 20 72 65 74 75 72 6e 20 74 79 70 65 20 61 s</a>:.they.have.a.return.type.a
17d40 6e 64 20 61 20 62 6c 6f 63 6b 20 6f 66 20 63 6f 64 65 2e 20 54 68 65 20 69 6d 70 6c 69 63 69 74 nd.a.block.of.code..The.implicit
17d60 0a 20 20 20 20 20 20 20 20 72 65 74 75 72 6e 20 74 79 70 65 20 6f 66 20 3c 63 6f 64 65 3e 3c 73 .........return.type.of.<code><s
17d80 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 74 65 73 74 3c 2f 73 70 61 6e 3e 3c 2f pan.class="tok-kw">test</span></
17da0 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 55 6e 69 code>.is.the.<a.href="#Error-Uni
17dc0 6f 6e 2d 54 79 70 65 22 3e 45 72 72 6f 72 20 55 6e 69 6f 6e 20 54 79 70 65 3c 2f 61 3e 20 3c 63 on-Type">Error.Union.Type</a>.<c
17de0 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 61 6e 79 65 72 ode><span.class="tok-type">anyer
17e00 72 6f 72 3c 2f 73 70 61 6e 3e 21 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 ror</span>!<span.class="tok-type
17e20 22 3e 76 6f 69 64 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 ">void</span></code>,.........an
17e40 64 20 69 74 20 63 61 6e 6e 6f 74 20 62 65 20 63 68 61 6e 67 65 64 2e 20 57 68 65 6e 20 61 20 5a d.it.cannot.be.changed..When.a.Z
17e60 69 67 20 73 6f 75 72 63 65 20 66 69 6c 65 20 69 73 20 6e 6f 74 20 62 75 69 6c 74 20 75 73 69 6e ig.source.file.is.not.built.usin
17e80 67 20 74 68 65 20 3c 6b 62 64 3e 7a 69 67 20 74 65 73 74 3c 2f 6b 62 64 3e 20 74 6f 6f 6c 2c 20 g.the.<kbd>zig.test</kbd>.tool,.
17ea0 74 68 65 20 74 65 73 74 0a 20 20 20 20 20 20 20 20 64 65 63 6c 61 72 61 74 69 6f 6e 73 20 61 72 the.test.........declarations.ar
17ec0 65 20 6f 6d 69 74 74 65 64 20 66 72 6f 6d 20 74 68 65 20 62 75 69 6c 64 2e 0a 20 20 20 20 20 20 e.omitted.from.the.build........
17ee0 3c 2f 70 3e 0a 20 20 20 20 20 20 3c 70 3e 0a 20 20 20 20 20 20 20 20 54 65 73 74 20 64 65 63 6c </p>.......<p>.........Test.decl
17f00 61 72 61 74 69 6f 6e 73 20 63 61 6e 20 62 65 20 77 72 69 74 74 65 6e 20 69 6e 20 74 68 65 20 73 arations.can.be.written.in.the.s
17f20 61 6d 65 20 66 69 6c 65 2c 20 77 68 65 72 65 20 63 6f 64 65 20 75 6e 64 65 72 20 74 65 73 74 20 ame.file,.where.code.under.test.
17f40 69 73 20 77 72 69 74 74 65 6e 2c 20 6f 72 20 69 6e 20 61 20 73 65 70 61 72 61 74 65 20 5a 69 67 is.written,.or.in.a.separate.Zig
17f60 20 73 6f 75 72 63 65 20 66 69 6c 65 2e 0a 20 20 20 20 20 20 20 20 53 69 6e 63 65 20 74 65 73 74 .source.file..........Since.test
17f80 20 64 65 63 6c 61 72 61 74 69 6f 6e 73 20 61 72 65 20 74 6f 70 2d 6c 65 76 65 6c 20 64 65 63 6c .declarations.are.top-level.decl
17fa0 61 72 61 74 69 6f 6e 73 2c 20 74 68 65 79 20 61 72 65 20 6f 72 64 65 72 2d 69 6e 64 65 70 65 6e arations,.they.are.order-indepen
17fc0 64 65 6e 74 20 61 6e 64 20 63 61 6e 0a 20 20 20 20 20 20 20 20 62 65 20 77 72 69 74 74 65 6e 20 dent.and.can.........be.written.
17fe0 62 65 66 6f 72 65 20 6f 72 20 61 66 74 65 72 20 74 68 65 20 63 6f 64 65 20 75 6e 64 65 72 20 74 before.or.after.the.code.under.t
18000 65 73 74 2e 0a 20 20 20 20 20 20 3c 2f 70 3e 0a 20 20 20 20 20 20 3c 70 3e 53 65 65 20 61 6c 73 est........</p>.......<p>See.als
18020 6f 3a 3c 2f 70 3e 3c 75 6c 3e 0a 3c 6c 69 3e 3c 61 20 68 72 65 66 3d 22 23 54 68 65 2d 47 6c 6f o:</p><ul>.<li><a.href="#The-Glo
18040 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.
18060 53 65 74 3c 2f 61 3e 3c 2f 6c 69 3e 0a 3c 6c 69 3e 3c 61 20 68 72 65 66 3d 22 23 47 72 61 6d 6d Set</a></li>.<li><a.href="#Gramm
18080 61 72 22 3e 47 72 61 6d 6d 61 72 3c 2f 61 3e 3c 2f 6c 69 3e 0a 3c 2f 75 6c 3e 0a 0a 20 20 20 20 ar">Grammar</a></li>.</ul>......
180a0 20 20 3c 68 34 20 69 64 3d 22 44 6f 63 74 65 73 74 73 22 3e 3c 61 20 68 72 65 66 3d 22 6e 61 76 ..<h4.id="Doctests"><a.href="nav
180c0 2e 78 68 74 6d 6c 23 74 6f 63 2d 44 6f 63 74 65 73 74 73 22 3e 44 6f 63 74 65 73 74 73 3c 2f 61 .xhtml#toc-Doctests">Doctests</a
180e0 3e 20 3c 61 20 63 6c 61 73 73 3d 22 68 64 72 22 20 68 72 65 66 3d 22 23 44 6f 63 74 65 73 74 73 >.<a.class="hdr".href="#Doctests
18100 22 3e c2 a7 3c 2f 61 3e 3c 2f 68 34 3e 0a 0a 20 20 20 20 20 20 3c 70 3e 0a 20 20 20 20 20 20 20 ">..</a></h4>........<p>........
18120 20 54 65 73 74 20 64 65 63 6c 61 72 61 74 69 6f 6e 73 20 6e 61 6d 65 64 20 75 73 69 6e 67 20 61 .Test.declarations.named.using.a
18140 6e 20 69 64 65 6e 74 69 66 69 65 72 20 61 72 65 20 3c 65 6d 3e 64 6f 63 74 65 73 74 73 3c 2f 65 n.identifier.are.<em>doctests</e
18160 6d 3e 2e 20 54 68 65 20 69 64 65 6e 74 69 66 69 65 72 20 6d 75 73 74 20 72 65 66 65 72 20 74 6f m>..The.identifier.must.refer.to
18180 20 61 6e 6f 74 68 65 72 20 64 65 63 6c 61 72 61 74 69 6f 6e 20 69 6e 0a 20 20 20 20 20 20 20 20 .another.declaration.in.........
181a0 73 63 6f 70 65 2e 20 41 20 64 6f 63 74 65 73 74 2c 20 6c 69 6b 65 20 61 20 3c 61 20 68 72 65 66 scope..A.doctest,.like.a.<a.href
181c0 3d 22 23 44 6f 63 2d 43 6f 6d 6d 65 6e 74 73 22 3e 64 6f 63 20 63 6f 6d 6d 65 6e 74 3c 2f 61 3e ="#Doc-Comments">doc.comment</a>
181e0 2c 20 73 65 72 76 65 73 20 61 73 20 64 6f 63 75 6d 65 6e 74 61 74 69 6f 6e 20 66 6f 72 20 74 68 ,.serves.as.documentation.for.th
18200 65 20 61 73 73 6f 63 69 61 74 65 64 20 64 65 63 6c 61 72 61 74 69 6f 6e 2c 20 61 6e 64 0a 20 20 e.associated.declaration,.and...
18220 20 20 20 20 20 20 77 69 6c 6c 20 61 70 70 65 61 72 20 69 6e 20 74 68 65 20 67 65 6e 65 72 61 74 ......will.appear.in.the.generat
18240 65 64 20 64 6f 63 75 6d 65 6e 74 61 74 69 6f 6e 20 66 6f 72 20 74 68 65 20 64 65 63 6c 61 72 61 ed.documentation.for.the.declara
18260 74 69 6f 6e 2e 0a 20 20 20 20 20 20 3c 2f 70 3e 0a 20 20 20 20 20 20 3c 70 3e 0a 20 20 20 20 20 tion........</p>.......<p>......
18280 20 20 20 41 6e 20 65 66 66 65 63 74 69 76 65 20 64 6f 63 74 65 73 74 20 73 68 6f 75 6c 64 20 62 ...An.effective.doctest.should.b
182a0 65 20 73 65 6c 66 2d 63 6f 6e 74 61 69 6e 65 64 20 61 6e 64 20 66 6f 63 75 73 65 64 20 6f 6e 20 e.self-contained.and.focused.on.
182c0 74 68 65 20 64 65 63 6c 61 72 61 74 69 6f 6e 20 62 65 69 6e 67 20 74 65 73 74 65 64 2c 20 61 6e the.declaration.being.tested,.an
182e0 73 77 65 72 69 6e 67 20 71 75 65 73 74 69 6f 6e 73 20 61 20 6e 65 77 0a 20 20 20 20 20 20 20 20 swering.questions.a.new.........
18300 75 73 65 72 20 6d 69 67 68 74 20 68 61 76 65 20 61 62 6f 75 74 20 69 74 73 20 69 6e 74 65 72 66 user.might.have.about.its.interf
18320 61 63 65 20 6f 72 20 69 6e 74 65 6e 64 65 64 20 75 73 61 67 65 2c 20 77 68 69 6c 65 20 61 76 6f ace.or.intended.usage,.while.avo
18340 69 64 69 6e 67 20 75 6e 6e 65 63 65 73 73 61 72 79 20 6f 72 20 63 6f 6e 66 75 73 69 6e 67 20 64 iding.unnecessary.or.confusing.d
18360 65 74 61 69 6c 73 2e 20 41 20 64 6f 63 74 65 73 74 20 69 73 20 6e 6f 74 0a 20 20 20 20 20 20 20 etails..A.doctest.is.not........
18380 20 61 20 73 75 62 73 74 69 74 75 74 65 20 66 6f 72 20 61 20 64 6f 63 20 63 6f 6d 6d 65 6e 74 2c .a.substitute.for.a.doc.comment,
183a0 20 62 75 74 20 72 61 74 68 65 72 20 61 20 73 75 70 70 6c 65 6d 65 6e 74 20 61 6e 64 20 63 6f 6d .but.rather.a.supplement.and.com
183c0 70 61 6e 69 6f 6e 20 70 72 6f 76 69 64 69 6e 67 20 61 20 74 65 73 74 61 62 6c 65 2c 20 63 6f 64 panion.providing.a.testable,.cod
183e0 65 2d 64 72 69 76 65 6e 20 65 78 61 6d 70 6c 65 2c 20 76 65 72 69 66 69 65 64 0a 20 20 20 20 20 e-driven.example,.verified......
18400 20 20 20 62 79 20 3c 6b 62 64 3e 7a 69 67 20 74 65 73 74 3c 2f 6b 62 64 3e 2e 0a 20 20 20 20 20 ...by.<kbd>zig.test</kbd>.......
18420 20 3c 2f 70 3e 0a 20 20 20 20 20 20 0a 20 20 20 20 20 20 0a 20 20 20 20 20 20 3c 68 33 20 69 64 .</p>.....................<h3.id
18440 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
18460 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
18480 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
184a0 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>
184c0 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
184e0 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"
18500 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.
18520 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.
18540 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.
18560 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-
18580 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
185a0 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
185c0 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
185e0 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
18600 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>...
18620 20 20 20 20 3c 66 69 67 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
18640 69 67 2d 63 61 70 22 3e 3c 63 69 74 65 20 63 6c 61 73 73 3d 22 66 69 6c 65 22 3e 74 65 73 74 69 ig-cap"><cite.class="file">testi
18660 6e 67 5f 66 61 69 6c 75 72 65 2e 7a 69 67 3c 2f 63 69 74 65 3e 3c 2f 66 69 67 63 61 70 74 69 6f ng_failure.zig</cite></figcaptio
18680 6e 3e 3c 70 72 65 3e 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 n><pre><code><span.class="tok-kw
186a0 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
186c0 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
186e0 70 61 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
18700 6f 74 3b 3c 2f 73 70 61 6e 3e 29 3b 0a 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b ot;</span>);..<span.class="tok-k
18720 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-
18740 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 66 61 69 6c 26 71 str">&quot;expect.this.to.fail&q
18760 75 6f 74 3b 3c 2f 73 70 61 6e 3e 20 7b 0a 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 uot;</span>.{.....<span.class="t
18780 6f 6b 2d 6b 77 22 3e 74 72 79 3c 2f 73 70 61 6e 3e 20 73 74 64 2e 74 65 73 74 69 6e 67 2e 65 78 ok-kw">try</span>.std.testing.ex
187a0 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 66 61 6c 73 pect(<span.class="tok-null">fals
187c0 65 3c 2f 73 70 61 6e 3e 29 3b 0a 7d 0a 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b e</span>);.}..<span.class="tok-k
187e0 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-
18800 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 63 63 65 65 str">&quot;expect.this.to.succee
18820 64 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 20 7b 0a 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 d&quot;</span>.{.....<span.class
18840 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
18860 2e 65 78 70 65 63 74 28 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6c 6c 22 3e 74 .expect(<span.class="tok-null">t
18880 72 75 65 3c 2f 73 70 61 6e 3e 29 3b 0a 7d 3c 2f 63 6f 64 65 3e 3c 2f 70 72 65 3e 3c 2f 66 69 67 rue</span>);.}</code></pre></fig
188a0 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
188c0 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
188e0 3e 3c 73 61 6d 70 3e 24 20 3c 6b 62 64 3e 7a 69 67 20 74 65 73 74 20 74 65 73 74 69 6e 67 5f 66 ><samp>$.<kbd>zig.test.testing_f
18900 61 69 6c 75 72 65 2e 7a 69 67 3c 2f 6b 62 64 3e 0a 31 2f 32 20 74 65 73 74 69 6e 67 5f 66 61 69 ailure.zig</kbd>.1/2.testing_fai
18920 6c 75 72 65 2e 74 65 73 74 2e 65 78 70 65 63 74 20 74 68 69 73 20 74 6f 20 66 61 69 6c 2e 2e 2e lure.test.expect.this.to.fail...
18940 46 41 49 4c 20 28 54 65 73 74 55 6e 65 78 70 65 63 74 65 64 52 65 73 75 6c 74 29 0a 2f 68 6f 6d FAIL.(TestUnexpectedResult)./hom
18960 65 2f 63 69 2f 77 6f 72 6b 2f 7a 69 67 2d 62 6f 6f 74 73 74 72 61 70 2f 6f 75 74 2f 68 6f 73 74 e/ci/work/zig-bootstrap/out/host
18980 2f 6c 69 62 2f 7a 69 67 2f 73 74 64 2f 74 65 73 74 69 6e 67 2e 7a 69 67 3a 36 31 35 3a 31 34 3a /lib/zig/std/testing.zig:615:14:
189a0 20 30 78 31 32 33 38 39 63 39 20 69 6e 20 65 78 70 65 63 74 20 28 73 74 64 2e 7a 69 67 29 0a 20 .0x12389c9.in.expect.(std.zig)..
189c0 20 20 20 69 66 20 28 21 6f 6b 29 20 72 65 74 75 72 6e 20 65 72 72 6f 72 2e 54 65 73 74 55 6e 65 ...if.(!ok).return.error.TestUne
189e0 78 70 65 63 74 65 64 52 65 73 75 6c 74 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 5e 0a 2f 68 xpectedResult;..............^./h
18a00 6f 6d 65 2f 63 69 2f 77 6f 72 6b 2f 7a 69 67 2d 62 6f 6f 74 73 74 72 61 70 2f 7a 69 67 2f 64 6f ome/ci/work/zig-bootstrap/zig/do
18a20 63 2f 6c 61 6e 67 72 65 66 2f 74 65 73 74 69 6e 67 5f 66 61 69 6c 75 72 65 2e 7a 69 67 3a 34 3a c/langref/testing_failure.zig:4:
18a40 35 3a 20 30 78 31 32 33 38 61 62 39 20 69 6e 20 74 65 73 74 2e 65 78 70 65 63 74 20 74 68 69 73 5:.0x1238ab9.in.test.expect.this
18a60 20 74 6f 20 66 61 69 6c 20 28 74 65 73 74 69 6e 67 5f 66 61 69 6c 75 72 65 2e 7a 69 67 29 0a 20 .to.fail.(testing_failure.zig)..
18a80 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 65 29 ...try.std.testing.expect(false)
18aa0 3b 0a 20 20 20 20 5e 0a 32 2f 32 20 74 65 73 74 69 6e 67 5f 66 61 69 6c 75 72 65 2e 74 65 73 74 ;.....^.2/2.testing_failure.test
18ac0 2e 65 78 70 65 63 74 20 74 68 69 73 20 74 6f 20 73 75 63 63 65 65 64 2e 2e 2e 4f 4b 0a 31 20 70 .expect.this.to.succeed...OK.1.p
18ae0 61 73 73 65 64 3b 20 30 20 73 6b 69 70 70 65 64 3b 20 31 20 66 61 69 6c 65 64 2e 0a 65 72 72 6f assed;.0.skipped;.1.failed..erro
18b00 72 3a 20 74 68 65 20 66 6f 6c 6c 6f 77 69 6e 67 20 74 65 73 74 20 63 6f 6d 6d 61 6e 64 20 66 61 r:.the.following.test.command.fa
18b20 69 6c 65 64 20 77 69 74 68 20 65 78 69 74 20 63 6f 64 65 20 31 3a 0a 2f 68 6f 6d 65 2f 63 69 2f iled.with.exit.code.1:./home/ci/
18b40 77 6f 72 6b 2f 7a 69 67 2d 62 6f 6f 74 73 74 72 61 70 2f 6f 75 74 2f 7a 69 67 2d 6c 6f 63 61 6c work/zig-bootstrap/out/zig-local
18b60 2d 63 61 63 68 65 2f 6f 2f 38 64 32 37 38 65 61 32 32 64 30 63 64 65 61 37 35 62 31 34 65 63 39 -cache/o/8d278ea22d0cdea75b14ec9
18b80 64 66 66 35 35 38 34 61 37 2f 74 65 73 74 20 2d 2d 73 65 65 64 3d 30 78 64 66 39 65 64 66 35 37 dff5584a7/test.--seed=0xdf9edf57
18ba0 0a 3c 2f 73 61 6d 70 3e 3c 2f 70 72 65 3e 3c 2f 66 69 67 75 72 65 3e 0a 0a 20 20 20 20 20 20 0a .</samp></pre></figure>.........
18bc0 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
18be0 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
18c00 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=
18c20 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>.......
18c40 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
18c60 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
18c80 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
18ca0 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>--
18cc0 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
18ce0 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
18d00 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..
18d20 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
18d40 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
18d60 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
18d80 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
18da0 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>...
18dc0 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
18de0 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
18e00 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 74 65 73 74 3c 2f 73 70 61 6e 3e 3c 2f pan.class="tok-kw">test</span></
18e20 63 6f 64 65 3e 20 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 code>.return.the.error.........<
18e40 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 65 72 72 6f 72 3c code><span.class="tok-kw">error<
18e60 2f 73 70 61 6e 3e 2e 53 6b 69 70 5a 69 67 54 65 73 74 3c 2f 63 6f 64 65 3e 20 61 6e 64 20 74 68 /span>.SkipZigTest</code>.and.th
18e80 65 20 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 63 6f 6e 73 69 e.default.test.runner.will.consi
18ea0 64 65 72 20 74 68 65 20 74 65 73 74 20 61 73 20 62 65 69 6e 67 20 73 6b 69 70 70 65 64 2e 0a 20 der.the.test.as.being.skipped...
18ec0 20 20 20 20 20 20 20 54 68 65 20 74 6f 74 61 6c 20 6e 75 6d 62 65 72 20 6f 66 20 73 6b 69 70 70 .......The.total.number.of.skipp
18ee0 65 64 20 74 65 73 74 73 20 77 69 6c 6c 20 62 65 20 72 65 70 6f 72 74 65 64 20 61 66 74 65 72 20 ed.tests.will.be.reported.after.
18f00 61 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 all.tests.have.run........</p>..
18f20 20 20 20 20 20 3c 66 69 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="
18f40 7a 69 67 2d 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
18f60 69 6e 67 5f 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 ing_skip.zig</cite></figcaption>
18f80 3c 70 72 65 3e 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e <pre><code><span.class="tok-kw">
18fa0 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
18fc0 22 3e 26 71 75 6f 74 3b 74 68 69 73 20 77 69 6c 6c 20 62 65 20 73 6b 69 70 70 65 64 26 71 75 6f ">&quot;this.will.be.skipped&quo
18fe0 74 3b 3c 2f 73 70 61 6e 3e 20 7b 0a 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b t;</span>.{.....<span.class="tok
19000 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="
19020 74 6f 6b 2d 6b 77 22 3e 65 72 72 6f 72 3c 2f 73 70 61 6e 3e 2e 53 6b 69 70 5a 69 67 54 65 73 74 tok-kw">error</span>.SkipZigTest
19040 3b 0a 7d 3c 2f 63 6f 64 65 3e 3c 2f 70 72 65 3e 3c 2f 66 69 67 75 72 65 3e 3c 66 69 67 75 72 65 ;.}</code></pre></figure><figure
19060 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
19080 68 65 6c 6c 3c 2f 66 69 67 63 61 70 74 69 6f 6e 3e 3c 70 72 65 3e 3c 73 61 6d 70 3e 24 20 3c 6b hell</figcaption><pre><samp>$.<k
190a0 62 64 3e 7a 69 67 20 74 65 73 74 20 74 65 73 74 69 6e 67 5f 73 6b 69 70 2e 7a 69 67 3c 2f 6b 62 bd>zig.test.testing_skip.zig</kb
190c0 64 3e 0a 31 2f 31 20 74 65 73 74 69 6e 67 5f 73 6b 69 70 2e 74 65 73 74 2e 74 68 69 73 20 77 69 d>.1/1.testing_skip.test.this.wi
190e0 6c 6c 20 62 65 20 73 6b 69 70 70 65 64 2e 2e 2e 53 4b 49 50 0a 30 20 70 61 73 73 65 64 3b 20 31 ll.be.skipped...SKIP.0.passed;.1
19100 20 73 6b 69 70 70 65 64 3b 20 30 20 66 61 69 6c 65 64 2e 0a 3c 2f 73 61 6d 70 3e 3c 2f 70 72 65 .skipped;.0.failed..</samp></pre
19120 3e 3c 2f 66 69 67 75 72 65 3e 0a 0a 20 20 20 20 20 20 0a 0a 20 20 20 20 20 20 3c 68 33 20 69 64 ></figure>................<h3.id
19140 3d 22 52 65 70 6f 72 74 2d 4d 65 6d 6f 72 79 2d 4c 65 61 6b 73 22 3e 3c 61 20 68 72 65 66 3d 22 ="Report-Memory-Leaks"><a.href="
19160 6e 61 76 2e 78 68 74 6d 6c 23 74 6f 63 2d 52 65 70 6f 72 74 2d 4d 65 6d 6f 72 79 2d 4c 65 61 6b nav.xhtml#toc-Report-Memory-Leak
19180 73 22 3e 52 65 70 6f 72 74 20 4d 65 6d 6f 72 79 20 4c 65 61 6b 73 3c 2f 61 3e 20 3c 61 20 63 6c s">Report.Memory.Leaks</a>.<a.cl
191a0 61 73 73 3d 22 68 64 72 22 20 68 72 65 66 3d 22 23 52 65 70 6f 72 74 2d 4d 65 6d 6f 72 79 2d 4c ass="hdr".href="#Report-Memory-L
191c0 65 61 6b 73 22 3e c2 a7 3c 2f 61 3e 3c 2f 68 33 3e 0a 0a 20 20 20 20 20 20 3c 70 3e 0a 20 20 20 eaks">..</a></h3>........<p>....
191e0 20 20 20 20 20 57 68 65 6e 20 63 6f 64 65 20 61 6c 6c 6f 63 61 74 65 73 20 3c 61 20 68 72 65 66 .....When.code.allocates.<a.href
19200 3d 22 23 4d 65 6d 6f 72 79 22 3e 4d 65 6d 6f 72 79 3c 2f 61 3e 20 75 73 69 6e 67 20 74 68 65 20 ="#Memory">Memory</a>.using.the.
19220 3c 61 20 68 72 65 66 3d 22 23 5a 69 67 2d 53 74 61 6e 64 61 72 64 2d 4c 69 62 72 61 72 79 22 3e <a.href="#Zig-Standard-Library">
19240 5a 69 67 20 53 74 61 6e 64 61 72 64 20 4c 69 62 72 61 72 79 3c 2f 61 3e 27 73 20 74 65 73 74 69 Zig.Standard.Library</a>'s.testi
19260 6e 67 20 61 6c 6c 6f 63 61 74 6f 72 2c 0a 20 20 20 20 20 20 20 20 3c 63 6f 64 65 3e 73 74 64 2e ng.allocator,.........<code>std.
19280 74 65 73 74 69 6e 67 2e 61 6c 6c 6f 63 61 74 6f 72 3c 2f 63 6f 64 65 3e 2c 20 74 68 65 20 64 65 testing.allocator</code>,.the.de
192a0 66 61 75 6c 74 20 74 65 73 74 20 72 75 6e 6e 65 72 20 77 69 6c 6c 20 72 65 70 6f 72 74 20 61 6e fault.test.runner.will.report.an
192c0 79 20 6c 65 61 6b 73 20 74 68 61 74 20 61 72 65 0a 20 20 20 20 20 20 20 20 66 6f 75 6e 64 20 66 y.leaks.that.are.........found.f
192e0 72 6f 6d 20 75 73 69 6e 67 20 74 68 65 20 74 65 73 74 69 6e 67 20 61 6c 6c 6f 63 61 74 6f 72 3a rom.using.the.testing.allocator:
19300 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
19320 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
19340 73 3d 22 66 69 6c 65 22 3e 74 65 73 74 69 6e 67 5f 64 65 74 65 63 74 5f 6c 65 61 6b 2e 7a 69 67 s="file">testing_detect_leak.zig
19360 3c 2f 63 69 74 65 3e 3c 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><
19380 73 70 61 6e 20 63 6c 61 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>
193a0 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"
193c0 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
193e0 2d 73 74 72 22 3e 26 71 75 6f 74 3b 73 74 64 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 29 3b 0a 0a -str">&quot;std&quot;</span>);..
19400 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>
19420 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 73 74 72 22 3e 26 71 75 6f 74 3b 64 65 74 .<span.class="tok-str">&quot;det
19440 65 63 74 20 6c 65 61 6b 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 20 7b 0a 20 20 20 20 3c 73 70 61 ect.leak&quot;</span>.{.....<spa
19460 6e 20 63 6c 61 73 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 70 n.class="tok-kw">const</span>.gp
19480 61 20 3d 20 73 74 64 2e 74 65 73 74 69 6e 67 2e 61 6c 6c 6f 63 61 74 6f 72 3b 0a 20 20 20 20 3c a.=.std.testing.allocator;.....<
194a0 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
194c0 69 73 74 3a 20 73 74 64 2e 41 72 72 61 79 4c 69 73 74 28 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 ist:.std.ArrayList(<span.class="
194e0 74 6f 6b 2d 74 79 70 65 22 3e 75 32 31 3c 2f 73 70 61 6e 3e 29 20 3d 20 2e 65 6d 70 74 79 3b 0a tok-type">u21</span>).=..empty;.
19500 20 20 20 20 3c 73 70 61 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">//
19520 20 6d 69 73 73 69 6e 67 20 60 64 65 66 65 72 20 6c 69 73 74 2e 64 65 69 6e 69 74 28 67 70 61 29 .missing.`defer.list.deinit(gpa)
19540 3b 60 3c 2f 73 70 61 6e 3e 0a 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b ;`</span>.....<span.class="tok-k
19560 77 22 3e 74 72 79 3c 2f 73 70 61 6e 3e 20 6c 69 73 74 2e 61 70 70 65 6e 64 28 67 70 61 2c 20 3c w">try</span>.list.append(gpa,.<
19580 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 73 74 72 22 3e 27 e2 98 94 27 3c 2f 73 70 61 6e span.class="tok-str">'...'</span
195a0 3e 29 3b 0a 0a 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 74 72 >);......<span.class="tok-kw">tr
195c0 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
195e0 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
19600 6e 3e 2c 20 6c 69 73 74 2e 69 74 65 6d 73 2e 6c 65 6e 29 3b 0a 7d 3c 2f 63 6f 64 65 3e 3c 2f 70 n>,.list.items.len);.}</code></p
19620 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.
19640 63 6c 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
19660 69 6f 6e 3e 3c 70 72 65 3e 3c 73 61 6d 70 3e 24 20 3c 6b 62 64 3e 7a 69 67 20 74 65 73 74 20 74 ion><pre><samp>$.<kbd>zig.test.t
19680 65 73 74 69 6e 67 5f 64 65 74 65 63 74 5f 6c 65 61 6b 2e 7a 69 67 3c 2f 6b 62 64 3e 0a 31 2f 31 esting_detect_leak.zig</kbd>.1/1
196a0 20 74 65 73 74 69 6e 67 5f 64 65 74 65 63 74 5f 6c 65 61 6b 2e 74 65 73 74 2e 64 65 74 65 63 74 .testing_detect_leak.test.detect
196c0 20 6c 65 61 6b 2e 2e 2e 4f 4b 0a 5b 44 65 62 75 67 41 6c 6c 6f 63 61 74 6f 72 5d 20 28 65 72 72 .leak...OK.[DebugAllocator].(err
196e0 29 3a 20 6d 65 6d 6f 72 79 20 61 64 64 72 65 73 73 20 30 78 37 66 30 34 66 62 30 36 30 30 30 30 ):.memory.address.0x7f04fb060000
19700 20 6c 65 61 6b 65 64 3a 0a 2f 68 6f 6d 65 2f 63 69 2f 77 6f 72 6b 2f 7a 69 67 2d 62 6f 6f 74 73 .leaked:./home/ci/work/zig-boots
19720 74 72 61 70 2f 6f 75 74 2f 68 6f 73 74 2f 6c 69 62 2f 7a 69 67 2f 73 74 64 2f 61 72 72 61 79 5f trap/out/host/lib/zig/std/array_
19740 6c 69 73 74 2e 7a 69 67 3a 31 32 33 32 3a 35 36 3a 20 30 78 31 32 33 39 61 63 37 20 69 6e 20 65 list.zig:1232:56:.0x1239ac7.in.e
19760 6e 73 75 72 65 54 6f 74 61 6c 43 61 70 61 63 69 74 79 50 72 65 63 69 73 65 20 28 73 74 64 2e 7a nsureTotalCapacityPrecise.(std.z
19780 69 67 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 63 6f 6e 73 74 20 6e 65 77 5f 6d 65 ig).................const.new_me
197a0 6d 6f 72 79 20 3d 20 74 72 79 20 67 70 61 2e 61 6c 69 67 6e 65 64 41 6c 6c 6f 63 28 54 2c 20 61 mory.=.try.gpa.alignedAlloc(T,.a
197c0 6c 69 67 6e 6d 65 6e 74 2c 20 6e 65 77 5f 63 61 70 61 63 69 74 79 29 3b 0a 20 20 20 20 20 20 20 lignment,.new_capacity);........
197e0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ................................
19800 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 5e 0a 2f 68 6f 6d 65 2f 63 69 2f 77 6f 72 6b 2f ................^./home/ci/work/
19820 7a 69 67 2d 62 6f 6f 74 73 74 72 61 70 2f 6f 75 74 2f 68 6f 73 74 2f 6c 69 62 2f 7a 69 67 2f 73 zig-bootstrap/out/host/lib/zig/s
19840 74 64 2f 61 72 72 61 79 5f 6c 69 73 74 2e 7a 69 67 3a 31 32 30 38 3a 35 31 3a 20 30 78 31 32 33 td/array_list.zig:1208:51:.0x123
19860 39 37 31 39 20 69 6e 20 65 6e 73 75 72 65 54 6f 74 61 6c 43 61 70 61 63 69 74 79 20 28 73 74 64 9719.in.ensureTotalCapacity.(std
19880 2e 7a 69 67 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 72 65 74 75 72 6e 20 73 65 6c 66 2e 65 6e .zig).............return.self.en
198a0 73 75 72 65 54 6f 74 61 6c 43 61 70 61 63 69 74 79 50 72 65 63 69 73 65 28 67 70 61 2c 20 67 72 sureTotalCapacityPrecise(gpa,.gr
198c0 6f 77 43 61 70 61 63 69 74 79 28 6e 65 77 5f 63 61 70 61 63 69 74 79 29 29 3b 0a 20 20 20 20 20 owCapacity(new_capacity));......
198e0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ................................
19900 20 20 20 20 20 20 20 20 20 20 20 20 20 5e 0a 2f 68 6f 6d 65 2f 63 69 2f 77 6f 72 6b 2f 7a 69 67 .............^./home/ci/work/zig
19920 2d 62 6f 6f 74 73 74 72 61 70 2f 6f 75 74 2f 68 6f 73 74 2f 6c 69 62 2f 7a 69 67 2f 73 74 64 2f -bootstrap/out/host/lib/zig/std/
19940 61 72 72 61 79 5f 6c 69 73 74 2e 7a 69 67 3a 31 32 36 32 3a 34 31 3a 20 30 78 31 32 33 38 64 38 array_list.zig:1262:41:.0x1238d8
19960 64 20 69 6e 20 61 64 64 4f 6e 65 20 28 73 74 64 2e 7a 69 67 29 0a 20 20 20 20 20 20 20 20 20 20 d.in.addOne.(std.zig)...........
19980 20 20 74 72 79 20 73 65 6c 66 2e 65 6e 73 75 72 65 54 6f 74 61 6c 43 61 70 61 63 69 74 79 28 67 ..try.self.ensureTotalCapacity(g
199a0 70 61 2c 20 6e 65 77 6c 65 6e 29 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 pa,.newlen);....................
199c0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 5e 0a 2f 68 6f 6d 65 2f 63 69 2f .....................^./home/ci/
199e0 77 6f 72 6b 2f 7a 69 67 2d 62 6f 6f 74 73 74 72 61 70 2f 6f 75 74 2f 68 6f 73 74 2f 6c 69 62 2f work/zig-bootstrap/out/host/lib/
19a00 7a 69 67 2f 73 74 64 2f 61 72 72 61 79 5f 6c 69 73 74 2e 7a 69 67 3a 39 30 31 3a 34 39 3a 20 30 zig/std/array_list.zig:901:49:.0
19a20 78 31 32 33 38 63 32 37 20 69 6e 20 61 70 70 65 6e 64 20 28 73 74 64 2e 7a 69 67 29 0a 20 20 20 x1238c27.in.append.(std.zig)....
19a40 20 20 20 20 20 20 20 20 20 63 6f 6e 73 74 20 6e 65 77 5f 69 74 65 6d 5f 70 74 72 20 3d 20 74 72 .........const.new_item_ptr.=.tr
19a60 79 20 73 65 6c 66 2e 61 64 64 4f 6e 65 28 67 70 61 29 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 y.self.addOne(gpa);.............
19a80 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ................................
19aa0 20 20 20 20 5e 0a 2f 68 6f 6d 65 2f 63 69 2f 77 6f 72 6b 2f 7a 69 67 2d 62 6f 6f 74 73 74 72 61 ....^./home/ci/work/zig-bootstra
19ac0 70 2f 7a 69 67 2f 64 6f 63 2f 6c 61 6e 67 72 65 66 2f 74 65 73 74 69 6e 67 5f 64 65 74 65 63 74 p/zig/doc/langref/testing_detect
19ae0 5f 6c 65 61 6b 2e 7a 69 67 3a 37 3a 32 30 3a 20 30 78 31 32 33 38 61 38 31 20 69 6e 20 74 65 73 _leak.zig:7:20:.0x1238a81.in.tes
19b00 74 2e 64 65 74 65 63 74 20 6c 65 61 6b 20 28 74 65 73 74 69 6e 67 5f 64 65 74 65 63 74 5f 6c 65 t.detect.leak.(testing_detect_le
19b20 61 6b 2e 7a 69 67 29 0a 20 20 20 20 74 72 79 20 6c 69 73 74 2e 61 70 70 65 6e 64 28 67 70 61 2c ak.zig).....try.list.append(gpa,
19b40 20 27 e2 98 94 27 29 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 5e 0a 2f 68 .'...');....................^./h
19b60 6f 6d 65 2f 63 69 2f 77 6f 72 6b 2f 7a 69 67 2d 62 6f 6f 74 73 74 72 61 70 2f 6f 75 74 2f 68 6f ome/ci/work/zig-bootstrap/out/ho
19b80 73 74 2f 6c 69 62 2f 7a 69 67 2f 63 6f 6d 70 69 6c 65 72 2f 74 65 73 74 5f 72 75 6e 6e 65 72 2e st/lib/zig/compiler/test_runner.
19ba0 7a 69 67 3a 32 39 31 3a 32 35 3a 20 30 78 31 31 66 33 65 64 36 20 69 6e 20 6d 61 69 6e 54 65 72 zig:291:25:.0x11f3ed6.in.mainTer
19bc0 6d 69 6e 61 6c 20 28 74 65 73 74 5f 72 75 6e 6e 65 72 2e 7a 69 67 29 0a 20 20 20 20 20 20 20 20 minal.(test_runner.zig).........
19be0 69 66 20 28 74 65 73 74 5f 66 6e 2e 66 75 6e 63 28 29 29 20 7c 5f 7c 20 7b 0a 20 20 20 20 20 20 if.(test_fn.func()).|_|.{.......
19c00 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 5e 0a 2f 68 6f 6d 65 2f 63 69 2f 77 6f 72 ..................^./home/ci/wor
19c20 6b 2f 7a 69 67 2d 62 6f 6f 74 73 74 72 61 70 2f 6f 75 74 2f 68 6f 73 74 2f 6c 69 62 2f 7a 69 67 k/zig-bootstrap/out/host/lib/zig
19c40 2f 63 6f 6d 70 69 6c 65 72 2f 74 65 73 74 5f 72 75 6e 6e 65 72 2e 7a 69 67 3a 37 33 3a 32 38 3a /compiler/test_runner.zig:73:28:
19c60 20 30 78 31 31 66 33 36 66 32 20 69 6e 20 6d 61 69 6e 20 28 74 65 73 74 5f 72 75 6e 6e 65 72 2e .0x11f36f2.in.main.(test_runner.
19c80 7a 69 67 29 0a 20 20 20 20 20 20 20 20 72 65 74 75 72 6e 20 6d 61 69 6e 54 65 72 6d 69 6e 61 6c zig).........return.mainTerminal
19ca0 28 69 6e 69 74 29 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 (init);.........................
19cc0 20 20 20 5e 0a 2f 68 6f 6d 65 2f 63 69 2f 77 6f 72 6b 2f 7a 69 67 2d 62 6f 6f 74 73 74 72 61 70 ...^./home/ci/work/zig-bootstrap
19ce0 2f 6f 75 74 2f 68 6f 73 74 2f 6c 69 62 2f 7a 69 67 2f 73 74 64 2f 73 74 61 72 74 2e 7a 69 67 3a /out/host/lib/zig/std/start.zig:
19d00 37 32 33 3a 38 38 3a 20 30 78 31 31 65 66 66 30 35 20 69 6e 20 63 61 6c 6c 4d 61 69 6e 20 28 73 723:88:.0x11eff05.in.callMain.(s
19d20 74 64 2e 7a 69 67 29 0a 20 20 20 20 69 66 20 28 66 6e 5f 69 6e 66 6f 2e 70 61 72 61 6d 73 5b 30 td.zig).....if.(fn_info.params[0
19d40 5d 2e 74 79 70 65 2e 3f 20 3d 3d 20 73 74 64 2e 70 72 6f 63 65 73 73 2e 49 6e 69 74 2e 4d 69 6e ].type.?.==.std.process.Init.Min
19d60 69 6d 61 6c 29 20 72 65 74 75 72 6e 20 77 72 61 70 4d 61 69 6e 28 72 6f 6f 74 2e 6d 61 69 6e 28 imal).return.wrapMain(root.main(
19d80 2e 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 .{..............................
19da0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ................................
19dc0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 5e 0a 2f 68 6f 6d ..........................^./hom
19de0 65 2f 63 69 2f 77 6f 72 6b 2f 7a 69 67 2d 62 6f 6f 74 73 74 72 61 70 2f 6f 75 74 2f 68 6f 73 74 e/ci/work/zig-bootstrap/out/host
19e00 2f 6c 69 62 2f 7a 69 67 2f 73 74 64 2f 73 74 61 72 74 2e 7a 69 67 3a 32 30 34 3a 35 3a 20 30 78 /lib/zig/std/start.zig:204:5:.0x
19e20 31 31 65 66 38 65 31 20 69 6e 20 5f 73 74 61 72 74 20 28 73 74 64 2e 7a 69 67 29 0a 20 20 20 20 11ef8e1.in._start.(std.zig).....
19e40 61 73 6d 20 76 6f 6c 61 74 69 6c 65 20 28 73 77 69 74 63 68 20 28 6e 61 74 69 76 65 5f 61 72 63 asm.volatile.(switch.(native_arc
19e60 68 29 20 7b 0a 20 20 20 20 5e 0a 0a 41 6c 6c 20 31 20 74 65 73 74 73 20 70 61 73 73 65 64 2e 0a h).{.....^..All.1.tests.passed..
19e80 31 20 65 72 72 6f 72 73 20 77 65 72 65 20 6c 6f 67 67 65 64 2e 0a 31 20 74 65 73 74 73 20 6c 65 1.errors.were.logged..1.tests.le
19ea0 61 6b 65 64 20 6d 65 6d 6f 72 79 2e 0a 65 72 72 6f 72 3a 20 74 68 65 20 66 6f 6c 6c 6f 77 69 6e aked.memory..error:.the.followin
19ec0 67 20 74 65 73 74 20 63 6f 6d 6d 61 6e 64 20 66 61 69 6c 65 64 20 77 69 74 68 20 65 78 69 74 20 g.test.command.failed.with.exit.
19ee0 63 6f 64 65 20 31 3a 0a 2f 68 6f 6d 65 2f 63 69 2f 77 6f 72 6b 2f 7a 69 67 2d 62 6f 6f 74 73 74 code.1:./home/ci/work/zig-bootst
19f00 72 61 70 2f 6f 75 74 2f 7a 69 67 2d 6c 6f 63 61 6c 2d 63 61 63 68 65 2f 6f 2f 62 66 33 32 61 66 rap/out/zig-local-cache/o/bf32af
19f20 62 31 36 62 37 61 32 34 66 31 62 63 38 62 61 36 38 31 62 65 35 62 61 34 38 63 2f 74 65 73 74 20 b16b7a24f1bc8ba681be5ba48c/test.
19f40 2d 2d 73 65 65 64 3d 30 78 62 36 39 33 30 33 62 35 0a 3c 2f 73 61 6d 70 3e 3c 2f 70 72 65 3e 3c --seed=0xb69303b5.</samp></pre><
19f60 2f 66 69 67 75 72 65 3e 0a 0a 20 20 20 20 20 20 3c 70 3e 53 65 65 20 61 6c 73 6f 3a 3c 2f 70 3e /figure>........<p>See.also:</p>
19f80 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<
19fa0 2f 61 3e 3c 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 /a></li>.<li><a.href="#Memory">M
19fc0 65 6d 6f 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 20 20 20 emory</a></li>.</ul>............
19fe0 20 20 20 3c 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 ...<h3.id="Detecting-Test-Build"
1a000 3e 3c 61 20 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 ><a.href="nav.xhtml#toc-Detectin
1a020 67 2d 54 65 73 74 2d 42 75 69 6c 64 22 3e 44 65 74 65 63 74 69 6e 67 20 54 65 73 74 20 42 75 69 g-Test-Build">Detecting.Test.Bui
1a040 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 44 65 74 ld</a>.<a.class="hdr".href="#Det
1a060 65 63 74 69 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 ecting-Test-Build">..</a></h3>..
1a080 20 20 20 20 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 ......<p>.........Use.the.<a.hre
1a0a0 66 3d 22 23 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 f="#Compile-Variables">compile.v
1a0c0 61 72 69 61 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 74 ariable</a>.<code><span.class="t
1a0e0 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
1a100 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 73 74 72 22 3e 26 71 75 6f 74 3b 62 75 69 6c 74 69 6e 26 71 .class="tok-str">&quot;builtin&q
1a120 75 6f 74 3b 3c 2f 73 70 61 6e 3e 29 2e 69 73 5f 74 65 73 74 3c 2f 63 6f 64 65 3e 0a 20 20 20 20 uot;</span>).is_test</code>.....
1a140 20 20 20 20 74 6f 20 64 65 74 65 63 74 20 61 20 74 65 73 74 20 62 75 69 6c 64 3a 0a 20 20 20 20 ....to.detect.a.test.build:.....
1a160 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
1a180 20 63 6c 61 73 73 3d 22 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
1a1a0 6c 65 22 3e 74 65 73 74 69 6e 67 5f 64 65 74 65 63 74 5f 74 65 73 74 2e 7a 69 67 3c 2f 63 69 74 le">testing_detect_test.zig</cit
1a1c0 65 3e 3c 2f 66 69 67 63 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.
1a1e0 63 6c 61 73 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.
1a200 3d 20 3c 73 70 61 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
1a220 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"
1a240 3e 26 71 75 6f 74 3b 73 74 64 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 29 3b 0a 3c 73 70 61 6e 20 >&quot;std&quot;</span>);.<span.
1a260 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 63 6f 6e 73 74 3c 2f 73 70 61 6e 3e 20 62 75 69 6c class="tok-kw">const</span>.buil
1a280 74 69 6e 20 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 62 75 69 6c 74 69 6e 22 3e tin.=.<span.class="tok-builtin">
1a2a0 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-
1a2c0 73 74 72 22 3e 26 71 75 6f 74 3b 62 75 69 6c 74 69 6e 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 29 str">&quot;builtin&quot;</span>)
1a2e0 3b 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 63 6f 6e 73 74 3c 2f 73 70 ;.<span.class="tok-kw">const</sp
1a300 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;
1a320 0a 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 74 65 73 74 3c 2f 73 70 61 ..<span.class="tok-kw">test</spa
1a340 6e 3e 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 73 74 72 22 3e 26 71 75 6f 74 3b 62 n>.<span.class="tok-str">&quot;b
1a360 75 69 6c 74 69 6e 2e 69 73 5f 74 65 73 74 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 20 7b 0a 20 20 uiltin.is_test&quot;</span>.{...
1a380 20 20 3c 73 70 61 6e 20 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
1a3a0 3e 20 65 78 70 65 63 74 28 69 73 41 54 65 73 74 28 29 29 3b 0a 7d 0a 0a 3c 73 70 61 6e 20 63 6c >.expect(isATest());.}..<span.cl
1a3c0 61 73 73 3d 22 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
1a3e0 73 73 3d 22 74 6f 6b 2d 66 6e 22 3e 69 73 41 54 65 73 74 3c 2f 73 70 61 6e 3e 28 29 20 3c 73 70 ss="tok-fn">isATest</span>().<sp
1a400 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 20 an.class="tok-type">bool</span>.
1a420 7b 0a 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 72 65 74 75 72 {.....<span.class="tok-kw">retur
1a440 6e 3c 2f 73 70 61 6e 3e 20 62 75 69 6c 74 69 6e 2e 69 73 5f 74 65 73 74 3b 0a 7d 3c 2f 63 6f 64 n</span>.builtin.is_test;.}</cod
1a460 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
1a480 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
1a4a0 67 63 61 70 74 69 6f 6e 3e 3c 70 72 65 3e 3c 73 61 6d 70 3e 24 20 3c 6b 62 64 3e 7a 69 67 20 74 gcaption><pre><samp>$.<kbd>zig.t
1a4c0 65 73 74 20 74 65 73 74 69 6e 67 5f 64 65 74 65 63 74 5f 74 65 73 74 2e 7a 69 67 3c 2f 6b 62 64 est.testing_detect_test.zig</kbd
1a4e0 3e 0a 31 2f 31 20 74 65 73 74 69 6e 67 5f 64 65 74 65 63 74 5f 74 65 73 74 2e 74 65 73 74 2e 62 >.1/1.testing_detect_test.test.b
1a500 75 69 6c 74 69 6e 2e 69 73 5f 74 65 73 74 2e 2e 2e 4f 4b 0a 41 6c 6c 20 31 20 74 65 73 74 73 20 uiltin.is_test...OK.All.1.tests.
1a520 70 61 73 73 65 64 2e 0a 3c 2f 73 61 6d 70 3e 3c 2f 70 72 65 3e 3c 2f 66 69 67 75 72 65 3e 0a 0a passed..</samp></pre></figure>..
1a540 20 20 20 20 20 20 0a 20 20 20 20 20 20 3c 68 33 20 69 64 3d 22 54 65 73 74 2d 4f 75 74 70 75 74 .............<h3.id="Test-Output
1a560 2d 61 6e 64 2d 4c 6f 67 67 69 6e 67 22 3e 3c 61 20 68 72 65 66 3d 22 6e 61 76 2e 78 68 74 6d 6c -and-Logging"><a.href="nav.xhtml
1a580 23 74 6f 63 2d 54 65 73 74 2d 4f 75 74 70 75 74 2d 61 6e 64 2d 4c 6f 67 67 69 6e 67 22 3e 54 65 #toc-Test-Output-and-Logging">Te
1a5a0 73 74 20 4f 75 74 70 75 74 20 61 6e 64 20 4c 6f 67 67 69 6e 67 3c 2f 61 3e 20 3c 61 20 63 6c 61 st.Output.and.Logging</a>.<a.cla
1a5c0 73 73 3d 22 68 64 72 22 20 68 72 65 66 3d 22 23 54 65 73 74 2d 4f 75 74 70 75 74 2d 61 6e 64 2d ss="hdr".href="#Test-Output-and-
1a5e0 4c 6f 67 67 69 6e 67 22 3e c2 a7 3c 2f 61 3e 3c 2f 68 33 3e 0a 0a 20 20 20 20 20 20 3c 70 3e 0a Logging">..</a></h3>........<p>.
1a600 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 20 ........The.default.test.runner.
1a620 61 6e 64 20 74 68 65 20 5a 69 67 20 53 74 61 6e 64 61 72 64 20 4c 69 62 72 61 72 79 27 73 20 74 and.the.Zig.Standard.Library's.t
1a640 65 73 74 69 6e 67 20 6e 61 6d 65 73 70 61 63 65 20 6f 75 74 70 75 74 20 6d 65 73 73 61 67 65 73 esting.namespace.output.messages
1a660 20 74 6f 20 73 74 61 6e 64 61 72 64 20 65 72 72 6f 72 2e 0a 20 20 20 20 20 20 3c 2f 70 3e 0a 20 .to.standard.error........</p>..
1a680 20 20 20 20 20 0a 20 20 20 20 20 20 3c 68 33 20 69 64 3d 22 54 68 65 2d 54 65 73 74 69 6e 67 2d ............<h3.id="The-Testing-
1a6a0 4e 61 6d 65 73 70 61 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 Namespace"><a.href="nav.xhtml#to
1a6c0 63 2d 54 68 65 2d 54 65 73 74 69 6e 67 2d 4e 61 6d 65 73 70 61 63 65 22 3e 54 68 65 20 54 65 73 c-The-Testing-Namespace">The.Tes
1a6e0 74 69 6e 67 20 4e 61 6d 65 73 70 61 63 65 3c 2f 61 3e 20 3c 61 20 63 6c 61 73 73 3d 22 68 64 72 ting.Namespace</a>.<a.class="hdr
1a700 22 20 68 72 65 66 3d 22 23 54 68 65 2d 54 65 73 74 69 6e 67 2d 4e 61 6d 65 73 70 61 63 65 22 3e ".href="#The-Testing-Namespace">
1a720 c2 a7 3c 2f 61 3e 3c 2f 68 33 3e 0a 0a 20 20 20 20 20 20 3c 70 3e 0a 20 20 20 20 20 20 20 20 54 ..</a></h3>........<p>.........T
1a740 68 65 20 5a 69 67 20 53 74 61 6e 64 61 72 64 20 4c 69 62 72 61 72 79 27 73 20 3c 63 6f 64 65 3e he.Zig.Standard.Library's.<code>
1a760 74 65 73 74 69 6e 67 3c 2f 63 6f 64 65 3e 20 6e 61 6d 65 73 70 61 63 65 20 63 6f 6e 74 61 69 6e testing</code>.namespace.contain
1a780 73 20 75 73 65 66 75 6c 20 66 75 6e 63 74 69 6f 6e 73 20 74 6f 20 68 65 6c 70 0a 20 20 20 20 20 s.useful.functions.to.help......
1a7a0 20 20 20 79 6f 75 20 63 72 65 61 74 65 20 74 65 73 74 73 2e 20 49 6e 20 61 64 64 69 74 69 6f 6e ...you.create.tests..In.addition
1a7c0 20 74 6f 20 74 68 65 20 3c 63 6f 64 65 3e 65 78 70 65 63 74 3c 2f 63 6f 64 65 3e 20 66 75 6e 63 .to.the.<code>expect</code>.func
1a7e0 74 69 6f 6e 2c 20 74 68 69 73 20 64 6f 63 75 6d 65 6e 74 20 75 73 65 73 20 61 20 63 6f 75 70 6c tion,.this.document.uses.a.coupl
1a800 65 20 6f 66 20 6d 6f 72 65 20 66 75 6e 63 74 69 6f 6e 73 0a 20 20 20 20 20 20 20 20 61 73 20 65 e.of.more.functions.........as.e
1a820 78 65 6d 70 6c 69 66 69 65 64 20 68 65 72 65 3a 0a 20 20 20 20 20 20 3c 2f 70 3e 0a 20 20 20 20 xemplified.here:.......</p>.....
1a840 20 20 3c 66 69 67 75 72 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
1a860 2d 63 61 70 22 3e 3c 63 69 74 65 20 63 6c 61 73 73 3d 22 66 69 6c 65 22 3e 74 65 73 74 69 6e 67 -cap"><cite.class="file">testing
1a880 5f 6e 61 6d 65 73 70 61 63 65 2e 7a 69 67 3c 2f 63 69 74 65 3e 3c 2f 66 69 67 63 61 70 74 69 6f _namespace.zig</cite></figcaptio
1a8a0 6e 3e 3c 70 72 65 3e 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 n><pre><code><span.class="tok-kw
1a8c0 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
1a8e0 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
1a900 70 61 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
1a920 6f 74 3b 3c 2f 73 70 61 6e 3e 29 3b 0a 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b ot;</span>);..<span.class="tok-k
1a940 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-
1a960 73 74 72 22 3e 26 71 75 6f 74 3b 65 78 70 65 63 74 45 71 75 61 6c 20 64 65 6d 6f 26 71 75 6f 74 str">&quot;expectEqual.demo&quot
1a980 3b 3c 2f 73 70 61 6e 3e 20 7b 0a 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d ;</span>.{.....<span.class="tok-
1a9a0 6b 77 22 3e 63 6f 6e 73 74 3c 2f 73 70 61 6e 3e 20 65 78 70 65 63 74 65 64 3a 20 3c 73 70 61 6e kw">const</span>.expected:.<span
1a9c0 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>.=.<
1a9e0 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
1aa00 3e 3b 0a 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 63 6f 6e 73 >;.....<span.class="tok-kw">cons
1aa20 74 3c 2f 73 70 61 6e 3e 20 61 63 74 75 61 6c 20 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 t</span>.actual.=.<span.class="t
1aa40 6f 6b 2d 6e 75 6d 62 65 72 22 3e 34 32 3c 2f 73 70 61 6e 3e 3b 0a 0a 20 20 20 20 3c 73 70 61 6e ok-number">42</span>;......<span
1aa60 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 66 69 72 73 .class="tok-comment">//.The.firs
1aa80 74 20 61 72 67 75 6d 65 6e 74 20 74 6f 20 60 65 78 70 65 63 74 45 71 75 61 6c 60 20 69 73 20 74 t.argument.to.`expectEqual`.is.t
1aaa0 68 65 20 6b 6e 6f 77 6e 2c 20 65 78 70 65 63 74 65 64 2c 20 72 65 73 75 6c 74 2e 3c 2f 73 70 61 he.known,.expected,.result.</spa
1aac0 6e 3e 0a 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 63 6f 6d 6d 65 6e 74 22 n>.....<span.class="tok-comment"
1aae0 3e 2f 2f 20 54 68 65 20 73 65 63 6f 6e 64 20 61 72 67 75 6d 65 6e 74 20 69 73 20 74 68 65 20 72 >//.The.second.argument.is.the.r
1ab00 65 73 75 6c 74 20 6f 66 20 73 6f 6d 65 20 65 78 70 72 65 73 73 69 6f 6e 2e 3c 2f 73 70 61 6e 3e esult.of.some.expression.</span>
1ab20 0a 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 63 6f 6d 6d 65 6e 74 22 3e 2f .....<span.class="tok-comment">/
1ab40 2f 20 54 68 65 20 61 63 74 75 61 6c 27 73 20 74 79 70 65 20 69 73 20 63 61 73 74 65 64 20 74 6f /.The.actual's.type.is.casted.to
1ab60 20 74 68 65 20 74 79 70 65 20 6f 66 20 65 78 70 65 63 74 65 64 2e 3c 2f 73 70 61 6e 3e 0a 20 20 .the.type.of.expected.</span>...
1ab80 20 20 3c 73 70 61 6e 20 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
1aba0 3e 20 73 74 64 2e 74 65 73 74 69 6e 67 2e 65 78 70 65 63 74 45 71 75 61 6c 28 65 78 70 65 63 74 >.std.testing.expectEqual(expect
1abc0 65 64 2c 20 61 63 74 75 61 6c 29 3b 0a 7d 0a 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b ed,.actual);.}..<span.class="tok
1abe0 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
1ac00 6b 2d 73 74 72 22 3e 26 71 75 6f 74 3b 65 78 70 65 63 74 45 72 72 6f 72 20 64 65 6d 6f 26 71 75 k-str">&quot;expectError.demo&qu
1ac20 6f 74 3b 3c 2f 73 70 61 6e 3e 20 7b 0a 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f ot;</span>.{.....<span.class="to
1ac40 6b 2d 6b 77 22 3e 63 6f 6e 73 74 3c 2f 73 70 61 6e 3e 20 65 78 70 65 63 74 65 64 5f 65 72 72 6f k-kw">const</span>.expected_erro
1ac60 72 20 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 65 72 72 6f 72 3c 2f r.=.<span.class="tok-kw">error</
1ac80 73 70 61 6e 3e 2e 44 65 6d 6f 45 72 72 6f 72 3b 0a 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 span>.DemoError;.....<span.class
1aca0 3d 22 74 6f 6b 2d 6b 77 22 3e 63 6f 6e 73 74 3c 2f 73 70 61 6e 3e 20 61 63 74 75 61 6c 5f 65 72 ="tok-kw">const</span>.actual_er
1acc0 72 6f 72 5f 75 6e 69 6f 6e 3a 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 ror_union:.<span.class="tok-type
1ace0 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
1ad00 6f 6b 2d 74 79 70 65 22 3e 76 6f 69 64 3c 2f 73 70 61 6e 3e 20 3d 20 3c 73 70 61 6e 20 63 6c 61 ok-type">void</span>.=.<span.cla
1ad20 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 65 72 72 6f 72 3c 2f 73 70 61 6e 3e 2e 44 65 6d 6f 45 72 72 ss="tok-kw">error</span>.DemoErr
1ad40 6f 72 3b 0a 0a 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 63 6f 6d 6d 65 6e or;......<span.class="tok-commen
1ad60 74 22 3e 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 t">//.`expectError`.will.fail.wh
1ad80 65 6e 20 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 en.the.actual.error.is.different
1ada0 20 74 68 61 6e 3c 2f 73 70 61 6e 3e 0a 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f .than</span>.....<span.class="to
1adc0 6b 2d 63 6f 6d 6d 65 6e 74 22 3e 2f 2f 20 74 68 65 20 65 78 70 65 63 74 65 64 20 65 72 72 6f 72 k-comment">//.the.expected.error
1ade0 2e 3c 2f 73 70 61 6e 3e 0a 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 .</span>.....<span.class="tok-kw
1ae00 22 3e 74 72 79 3c 2f 73 70 61 6e 3e 20 73 74 64 2e 74 65 73 74 69 6e 67 2e 65 78 70 65 63 74 45 ">try</span>.std.testing.expectE
1ae20 72 72 6f 72 28 65 78 70 65 63 74 65 64 5f 65 72 72 6f 72 2c 20 61 63 74 75 61 6c 5f 65 72 72 6f rror(expected_error,.actual_erro
1ae40 72 5f 75 6e 69 6f 6e 29 3b 0a 7d 3c 2f 63 6f 64 65 3e 3c 2f 70 72 65 3e 3c 2f 66 69 67 75 72 65 r_union);.}</code></pre></figure
1ae60 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
1ae80 6c 2d 63 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
1aea0 61 6d 70 3e 24 20 3c 6b 62 64 3e 7a 69 67 20 74 65 73 74 20 74 65 73 74 69 6e 67 5f 6e 61 6d 65 amp>$.<kbd>zig.test.testing_name
1aec0 73 70 61 63 65 2e 7a 69 67 3c 2f 6b 62 64 3e 0a 31 2f 32 20 74 65 73 74 69 6e 67 5f 6e 61 6d 65 space.zig</kbd>.1/2.testing_name
1aee0 73 70 61 63 65 2e 74 65 73 74 2e 65 78 70 65 63 74 45 71 75 61 6c 20 64 65 6d 6f 2e 2e 2e 4f 4b space.test.expectEqual.demo...OK
1af00 0a 32 2f 32 20 74 65 73 74 69 6e 67 5f 6e 61 6d 65 73 70 61 63 65 2e 74 65 73 74 2e 65 78 70 65 .2/2.testing_namespace.test.expe
1af20 63 74 45 72 72 6f 72 20 64 65 6d 6f 2e 2e 2e 4f 4b 0a 41 6c 6c 20 32 20 74 65 73 74 73 20 70 61 ctError.demo...OK.All.2.tests.pa
1af40 73 73 65 64 2e 0a 3c 2f 73 61 6d 70 3e 3c 2f 70 72 65 3e 3c 2f 66 69 67 75 72 65 3e 0a 0a 20 20 ssed..</samp></pre></figure>....
1af60 20 20 20 20 3c 70 3e 54 68 65 20 5a 69 67 20 53 74 61 6e 64 61 72 64 20 4c 69 62 72 61 72 79 20 ....<p>The.Zig.Standard.Library.
1af80 61 6c 73 6f 20 63 6f 6e 74 61 69 6e 73 20 66 75 6e 63 74 69 6f 6e 73 20 74 6f 20 63 6f 6d 70 61 also.contains.functions.to.compa
1afa0 72 65 20 3c 61 20 68 72 65 66 3d 22 23 53 6c 69 63 65 73 22 3e 53 6c 69 63 65 73 3c 2f 61 3e 2c re.<a.href="#Slices">Slices</a>,
1afc0 20 73 74 72 69 6e 67 73 2c 20 61 6e 64 20 6d 6f 72 65 2e 20 53 65 65 20 74 68 65 20 72 65 73 74 .strings,.and.more..See.the.rest
1afe0 20 6f 66 20 74 68 65 0a 20 20 20 20 20 20 20 20 3c 63 6f 64 65 3e 73 74 64 2e 74 65 73 74 69 6e .of.the.........<code>std.testin
1b000 67 3c 2f 63 6f 64 65 3e 20 6e 61 6d 65 73 70 61 63 65 20 69 6e 20 74 68 65 20 3c 61 20 68 72 65 g</code>.namespace.in.the.<a.hre
1b020 66 3d 22 23 5a 69 67 2d 53 74 61 6e 64 61 72 64 2d 4c 69 62 72 61 72 79 22 3e 5a 69 67 20 53 74 f="#Zig-Standard-Library">Zig.St
1b040 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 61 76 61 69 andard.Library</a>.for.more.avai
1b060 6c 61 62 6c 65 20 66 75 6e 63 74 69 6f 6e 73 2e 3c 2f 70 3e 0a 20 20 20 20 20 20 0a 20 20 20 20 lable.functions.</p>............
1b080 20 20 3c 68 33 20 69 64 3d 22 54 65 73 74 2d 54 6f 6f 6c 2d 44 6f 63 75 6d 65 6e 74 61 74 69 6f ..<h3.id="Test-Tool-Documentatio
1b0a0 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 2d 54 65 73 74 2d 54 n"><a.href="nav.xhtml#toc-Test-T
1b0c0 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 63 ool-Documentation">Test.Tool.Doc
1b0e0 75 6d 65 6e 74 61 74 69 6f 6e 3c 2f 61 3e 20 3c 61 20 63 6c 61 73 73 3d 22 68 64 72 22 20 68 72 umentation</a>.<a.class="hdr".hr
1b100 65 66 3d 22 23 54 65 73 74 2d 54 6f 6f 6c 2d 44 6f 63 75 6d 65 6e 74 61 74 69 6f 6e 22 3e c2 a7 ef="#Test-Tool-Documentation">..
1b120 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 3c 6b 62 </a></h3>........<p>.........<kb
1b140 64 3e 7a 69 67 20 74 65 73 74 3c 2f 6b 62 64 3e 20 68 61 73 20 61 20 66 65 77 20 63 6f 6d 6d 61 d>zig.test</kbd>.has.a.few.comma
1b160 6e 64 20 6c 69 6e 65 20 70 61 72 61 6d 65 74 65 72 73 20 77 68 69 63 68 20 61 66 66 65 63 74 20 nd.line.parameters.which.affect.
1b180 74 68 65 20 63 6f 6d 70 69 6c 61 74 69 6f 6e 2e 0a 20 20 20 20 20 20 20 20 53 65 65 20 3c 6b 62 the.compilation..........See.<kb
1b1a0 64 3e 7a 69 67 20 74 65 73 74 20 2d 2d 68 65 6c 70 3c 2f 6b 62 64 3e 20 66 6f 72 20 61 20 66 75 d>zig.test.--help</kbd>.for.a.fu
1b1c0 6c 6c 20 6c 69 73 74 2e 0a 20 20 20 20 20 20 3c 2f 70 3e 0a 20 20 20 20 20 20 0a 20 20 20 20 20 ll.list........</p>.............
1b1e0 20 0a 0a 20 20 20 20 20 20 3c 68 32 20 69 64 3d 22 56 61 72 69 61 62 6c 65 73 22 3e 3c 61 20 68 .........<h2.id="Variables"><a.h
1b200 72 65 66 3d 22 6e 61 76 2e 78 68 74 6d 6c 23 74 6f 63 2d 56 61 72 69 61 62 6c 65 73 22 3e 56 61 ref="nav.xhtml#toc-Variables">Va
1b220 72 69 61 62 6c 65 73 3c 2f 61 3e 20 3c 61 20 63 6c 61 73 73 3d 22 68 64 72 22 20 68 72 65 66 3d riables</a>.<a.class="hdr".href=
1b240 22 23 56 61 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 "#Variables">..</a></h2>........
1b260 3c 70 3e 0a 20 20 20 20 20 20 41 20 76 61 72 69 61 62 6c 65 20 69 73 20 61 20 75 6e 69 74 20 6f <p>.......A.variable.is.a.unit.o
1b280 66 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 73 f.<a.href="#Memory">Memory</a>.s
1b2a0 74 6f 72 61 67 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 torage........</p>.......<p>....
1b2c0 20 20 20 49 74 20 69 73 20 67 65 6e 65 72 61 6c 6c 79 20 70 72 65 66 65 72 61 62 6c 65 20 74 6f ...It.is.generally.preferable.to
1b2e0 20 75 73 65 20 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e .use.<code><span.class="tok-kw">
1b300 63 6f 6e 73 74 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 20 72 61 74 68 65 72 20 74 68 61 6e 0a const</span></code>.rather.than.
1b320 20 20 20 20 20 20 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 ......<code><span.class="tok-kw"
1b340 3e 76 61 72 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 >var</span></code>.when.declarin
1b360 67 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 g.a.variable..This.causes.less.w
1b380 6f 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 ork.for.both.......humans.and.co
1b3a0 6d 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 mputers.to.do.when.reading.code,
1b3c0 20 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 .and.creates.more.optimization.o
1b3e0 70 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 pportunities........</p>.......<
1b400 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 61 6c 6c p>.......Variables.are.never.all
1b420 6f 77 65 64 20 74 6f 20 73 68 61 64 6f 77 20 3c 61 20 68 72 65 66 3d 22 23 49 64 65 6e 74 69 66 owed.to.shadow.<a.href="#Identif
1b440 69 65 72 73 22 3e 49 64 65 6e 74 69 66 69 65 72 73 3c 2f 61 3e 20 66 72 6f 6d 20 61 6e 20 6f 75 iers">Identifiers</a>.from.an.ou
1b460 74 65 72 20 73 63 6f 70 65 2e 0a 20 20 20 20 20 20 3c 2f 70 3e 0a 20 20 20 20 20 20 3c 70 3e 0a ter.scope........</p>.......<p>.
1b480 20 20 20 20 20 20 54 68 65 20 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b ......The.<code><span.class="tok
1b4a0 2d 6b 77 22 3e 65 78 74 65 72 6e 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 20 6b 65 79 77 6f 72 -kw">extern</span></code>.keywor
1b4c0 64 20 6f 72 20 3c 61 20 68 72 65 66 3d 22 23 65 78 74 65 72 6e 22 3e 40 65 78 74 65 72 6e 3c 2f d.or.<a.href="#extern">@extern</
1b4e0 61 3e 20 62 75 69 6c 74 69 6e 20 66 75 6e 63 74 69 6f 6e 20 63 61 6e 20 62 65 20 75 73 65 64 20 a>.builtin.function.can.be.used.
1b500 74 6f 20 6c 69 6e 6b 20 61 67 61 69 6e 73 74 20 61 20 76 61 72 69 61 62 6c 65 20 74 68 61 74 20 to.link.against.a.variable.that.
1b520 69 73 20 65 78 70 6f 72 74 65 64 0a 20 20 20 20 20 20 66 72 6f 6d 20 61 6e 6f 74 68 65 72 20 6f is.exported.......from.another.o
1b540 62 6a 65 63 74 2e 20 54 68 65 20 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f bject..The.<code><span.class="to
1b560 6b 2d 6b 77 22 3e 65 78 70 6f 72 74 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 20 6b 65 79 77 6f k-kw">export</span></code>.keywo
1b580 72 64 20 6f 72 20 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 rd.or.<a.href="#export">@export<
1b5a0 2f 61 3e 20 62 75 69 6c 74 69 6e 20 66 75 6e 63 74 69 6f 6e 0a 20 20 20 20 20 20 63 61 6e 20 62 /a>.builtin.function.......can.b
1b5c0 65 20 75 73 65 64 20 74 6f 20 6d 61 6b 65 20 61 20 76 61 72 69 61 62 6c 65 20 61 76 61 69 6c 61 e.used.to.make.a.variable.availa
1b5e0 62 6c 65 20 74 6f 20 6f 74 68 65 72 20 6f 62 6a 65 63 74 73 20 61 74 20 6c 69 6e 6b 20 74 69 6d ble.to.other.objects.at.link.tim
1b600 65 2e 20 49 6e 20 62 6f 74 68 20 63 61 73 65 73 2c 0a 20 20 20 20 20 20 74 68 65 20 74 79 70 65 e..In.both.cases,.......the.type
1b620 20 6f 66 20 74 68 65 20 76 61 72 69 61 62 6c 65 20 6d 75 73 74 20 62 65 20 43 20 41 42 49 20 63 .of.the.variable.must.be.C.ABI.c
1b640 6f 6d 70 61 74 69 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 53 ompatible........</p>.......<p>S
1b660 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 45 ee.also:</p><ul>.<li><a.href="#E
1b680 78 70 6f 72 74 69 6e 67 2d 61 2d 43 2d 4c 69 62 72 61 72 79 22 3e 45 78 70 6f 72 74 69 6e 67 20 xporting-a-C-Library">Exporting.
1b6a0 61 20 43 20 4c 69 62 72 61 72 79 3c 2f 61 3e 3c 2f 6c 69 3e 0a 3c 2f 75 6c 3e 0a 0a 0a 20 20 20 a.C.Library</a></li>.</ul>......
1b6c0 20 20 20 3c 68 33 20 69 64 3d 22 4e 61 6d 65 73 70 61 63 65 2d 4c 65 76 65 6c 2d 56 61 72 69 61 ...<h3.id="Namespace-Level-Varia
1b6e0 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 4e 61 6d bles"><a.href="nav.xhtml#toc-Nam
1b700 65 73 70 61 63 65 2d 4c 65 76 65 6c 2d 56 61 72 69 61 62 6c 65 73 22 3e 4e 61 6d 65 73 70 61 63 espace-Level-Variables">Namespac
1b720 65 20 4c 65 76 65 6c 20 56 61 72 69 61 62 6c 65 73 3c 2f 61 3e 20 3c 61 20 63 6c 61 73 73 3d 22 e.Level.Variables</a>.<a.class="
1b740 68 64 72 22 20 68 72 65 66 3d 22 23 4e 61 6d 65 73 70 61 63 65 2d 4c 65 76 65 6c 2d 56 61 72 69 hdr".href="#Namespace-Level-Vari
1b760 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 3c 61 20 ables">..</a></h3>........<p><a.
1b780 68 72 65 66 3d 22 23 4e 61 6d 65 73 70 61 63 65 22 3e 4e 61 6d 65 73 70 61 63 65 3c 2f 61 3e 20 href="#Namespace">Namespace</a>.
1b7a0 6c 65 76 65 6c 20 76 61 72 69 61 62 6c 65 73 20 68 61 76 65 20 67 6c 6f 62 61 6c 20 6c 69 66 65 level.variables.have.global.life
1b7c0 74 69 6d 65 20 61 6e 64 20 61 72 65 0a 20 20 20 20 20 20 6f 72 64 65 72 2d 69 6e 64 65 70 65 6e time.and.are.......order-indepen
1b7e0 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 20 54 68 65 20 69 6e dent.and.lazily.analyzed..The.in
1b800 69 74 69 61 6c 69 7a 61 74 69 6f 6e 20 76 61 6c 75 65 20 6f 66 0a 20 20 20 20 20 20 6e 61 6d 65 itialization.value.of.......name
1b820 73 70 61 63 65 20 6c 65 76 65 6c 20 76 61 72 69 61 62 6c 65 73 20 69 73 20 69 6d 70 6c 69 63 69 space.level.variables.is.implici
1b840 74 6c 79 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 tly.<a.href="#comptime">comptime
1b860 3c 2f 61 3e 2e 20 49 66 20 61 20 6e 61 6d 65 73 70 61 63 65 0a 20 20 20 20 20 20 6c 65 76 65 6c </a>..If.a.namespace.......level
1b880 20 76 61 72 69 61 62 6c 65 20 69 73 20 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 .variable.is.<code><span.class="
1b8a0 74 6f 6b 2d 6b 77 22 3e 63 6f 6e 73 74 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 20 74 68 65 6e tok-kw">const</span></code>.then
1b8c0 20 69 74 73 20 76 61 6c 75 65 20 69 73 0a 20 20 20 20 20 20 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 .its.value.is.......<code><span.
1b8e0 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></
1b900 63 6f 64 65 3e 2d 6b 6e 6f 77 6e 2c 20 6f 74 68 65 72 77 69 73 65 20 69 74 20 69 73 20 72 75 6e code>-known,.otherwise.it.is.run
1b920 74 69 6d 65 2d 6b 6e 6f 77 6e 2e 3c 2f 70 3e 0a 20 20 20 20 20 20 3c 66 69 67 75 72 65 3e 3c 66 time-known.</p>.......<figure><f
1b940 69 67 63 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.
1b960 63 6c 61 73 73 3d 22 66 69 6c 65 22 3e 74 65 73 74 5f 6e 61 6d 65 73 70 61 63 65 5f 6c 65 76 65 class="file">test_namespace_leve
1b980 6c 5f 76 61 72 69 61 62 6c 65 73 2e 7a 69 67 3c 2f 63 69 74 65 3e 3c 2f 66 69 67 63 61 70 74 69 l_variables.zig</cite></figcapti
1b9a0 6f 6e 3e 3c 70 72 65 3e 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b on><pre><code><span.class="tok-k
1b9c0 77 22 3e 76 61 72 3c 2f 73 70 61 6e 3e 20 79 3a 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f w">var</span>.y:.<span.class="to
1b9e0 6b 2d 74 79 70 65 22 3e 69 33 32 3c 2f 73 70 61 6e 3e 20 3d 20 61 64 64 28 3c 73 70 61 6e 20 63 k-type">i32</span>.=.add(<span.c
1ba00 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 31 30 3c 2f 73 70 61 6e 3e 2c 20 78 29 3b lass="tok-number">10</span>,.x);
1ba20 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 63 6f 6e 73 74 3c 2f 73 70 61 .<span.class="tok-kw">const</spa
1ba40 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
1ba60 3c 2f 73 70 61 6e 3e 20 3d 20 61 64 64 28 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e </span>.=.add(<span.class="tok-n
1ba80 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 3d 22 74 umber">12</span>,.<span.class="t
1baa0 6f 6b 2d 6e 75 6d 62 65 72 22 3e 33 34 3c 2f 73 70 61 6e 3e 29 3b 0a 0a 3c 73 70 61 6e 20 63 6c ok-number">34</span>);..<span.cl
1bac0 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
1bae0 6c 61 73 73 3d 22 74 6f 6b 2d 73 74 72 22 3e 26 71 75 6f 74 3b 63 6f 6e 74 61 69 6e 65 72 20 6c lass="tok-str">&quot;container.l
1bb00 65 76 65 6c 20 76 61 72 69 61 62 6c 65 73 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 20 7b 0a 20 20 evel.variables&quot;</span>.{...
1bb20 20 20 3c 73 70 61 6e 20 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
1bb40 3e 20 65 78 70 65 63 74 45 71 75 61 6c 28 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e >.expectEqual(<span.class="tok-n
1bb60 75 6d 62 65 72 22 3e 34 36 3c 2f 73 70 61 6e 3e 2c 20 78 29 3b 0a 20 20 20 20 3c 73 70 61 6e 20 umber">46</span>,.x);.....<span.
1bb80 63 6c 61 73 73 3d 22 74 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
1bba0 45 71 75 61 6c 28 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 35 Equal(<span.class="tok-number">5
1bbc0 36 3c 2f 73 70 61 6e 3e 2c 20 79 29 3b 0a 7d 0a 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6</span>,.y);.}..<span.class="to
1bbe0 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
1bc00 2d 66 6e 22 3e 61 64 64 3c 2f 73 70 61 6e 3e 28 61 3a 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 -fn">add</span>(a:.<span.class="
1bc20 74 6f 6b 2d 74 79 70 65 22 3e 69 33 32 3c 2f 73 70 61 6e 3e 2c 20 62 3a 20 3c 73 70 61 6e 20 63 tok-type">i32</span>,.b:.<span.c
1bc40 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
1bc60 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 69 33 32 3c 2f 73 70 61 6e 3e 20 7b 0a n.class="tok-type">i32</span>.{.
1bc80 20 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<
1bca0 2f 73 70 61 6e 3e 20 61 20 2b 20 62 3b 0a 7d 0a 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f /span>.a.+.b;.}..<span.class="to
1bcc0 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
1bce0 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
1bd00 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
1bd20 64 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 29 3b 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f d&quot;</span>);.<span.class="to
1bd40 6b 2d 6b 77 22 3e 63 6f 6e 73 74 3c 2f 73 70 61 6e 3e 20 65 78 70 65 63 74 45 71 75 61 6c 20 3d k-kw">const</span>.expectEqual.=
1bd60 20 73 74 64 2e 74 65 73 74 69 6e 67 2e 65 78 70 65 63 74 45 71 75 61 6c 3b 3c 2f 63 6f 64 65 3e .std.testing.expectEqual;</code>
1bd80 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
1bda0 6f 6e 20 63 6c 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
1bdc0 61 70 74 69 6f 6e 3e 3c 70 72 65 3e 3c 73 61 6d 70 3e 24 20 3c 6b 62 64 3e 7a 69 67 20 74 65 73 aption><pre><samp>$.<kbd>zig.tes
1bde0 74 20 74 65 73 74 5f 6e 61 6d 65 73 70 61 63 65 5f 6c 65 76 65 6c 5f 76 61 72 69 61 62 6c 65 73 t.test_namespace_level_variables
1be00 2e 7a 69 67 3c 2f 6b 62 64 3e 0a 31 2f 31 20 74 65 73 74 5f 6e 61 6d 65 73 70 61 63 65 5f 6c 65 .zig</kbd>.1/1.test_namespace_le
1be20 76 65 6c 5f 76 61 72 69 61 62 6c 65 73 2e 74 65 73 74 2e 63 6f 6e 74 61 69 6e 65 72 20 6c 65 76 vel_variables.test.container.lev
1be40 65 6c 20 76 61 72 69 61 62 6c 65 73 2e 2e 2e 4f 4b 0a 41 6c 6c 20 31 20 74 65 73 74 73 20 70 61 el.variables...OK.All.1.tests.pa
1be60 73 73 65 64 2e 0a 3c 2f 73 61 6d 70 3e 3c 2f 70 72 65 3e 3c 2f 66 69 67 75 72 65 3e 0a 20 20 20 ssed..</samp></pre></figure>....
1be80 20 20 20 3c 70 3e 4e 61 6d 65 73 70 61 63 65 20 6c 65 76 65 6c 20 76 61 72 69 61 62 6c 65 73 20 ...<p>Namespace.level.variables.
1bea0 6d 61 79 20 62 65 20 64 65 63 6c 61 72 65 64 20 69 6e 73 69 64 65 20 61 20 3c 61 20 68 72 65 66 may.be.declared.inside.a.<a.href
1bec0 3d 22 23 73 74 72 75 63 74 22 3e 73 74 72 75 63 74 3c 2f 61 3e 2c 0a 20 20 20 20 20 20 3c 61 20 ="#struct">struct</a>,.......<a.
1bee0 68 72 65 66 3d 22 23 75 6e 69 6f 6e 22 3e 75 6e 69 6f 6e 3c 2f 61 3e 2c 20 3c 61 20 68 72 65 66 href="#union">union</a>,.<a.href
1bf00 3d 22 23 65 6e 75 6d 22 3e 65 6e 75 6d 3c 2f 61 3e 2c 20 6f 72 20 3c 61 20 68 72 65 66 3d 22 23 ="#enum">enum</a>,.or.<a.href="#
1bf20 6f 70 61 71 75 65 22 3e 6f 70 61 71 75 65 3c 2f 61 3e 3a 3c 2f 70 3e 0a 20 20 20 20 20 20 3c 66 opaque">opaque</a>:</p>.......<f
1bf40 69 67 75 72 65 3e 3c 66 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
1bf60 22 3e 3c 63 69 74 65 20 63 6c 61 73 73 3d 22 66 69 6c 65 22 3e 74 65 73 74 5f 6e 61 6d 65 73 70 "><cite.class="file">test_namesp
1bf80 61 63 65 64 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 70 aced_variable.zig</cite></figcap
1bfa0 74 69 6f 6e 3e 3c 70 72 65 3e 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b tion><pre><code><span.class="tok
1bfc0 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
1bfe0 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>
1c000 28 3c 73 70 61 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
1c020 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 29 3b 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b &quot;</span>);.<span.class="tok
1c040 2d 6b 77 22 3e 63 6f 6e 73 74 3c 2f 73 70 61 6e 3e 20 65 78 70 65 63 74 45 71 75 61 6c 20 3d 20 -kw">const</span>.expectEqual.=.
1c060 73 74 64 2e 74 65 73 74 69 6e 67 2e 65 78 70 65 63 74 45 71 75 61 6c 3b 0a 0a 3c 73 70 61 6e 20 std.testing.expectEqual;..<span.
1c080 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
1c0a0 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 73 74 72 22 3e 26 71 75 6f 74 3b 6e 61 6d 65 73 70 61 63 65 .class="tok-str">&quot;namespace
1c0c0 64 20 63 6f 6e 74 61 69 6e 65 72 20 6c 65 76 65 6c 20 76 61 72 69 61 62 6c 65 26 71 75 6f 74 3b d.container.level.variable&quot;
1c0e0 3c 2f 73 70 61 6e 3e 20 7b 0a 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b </span>.{.....<span.class="tok-k
1c100 77 22 3e 74 72 79 3c 2f 73 70 61 6e 3e 20 65 78 70 65 63 74 45 71 75 61 6c 28 3c 73 70 61 6e 20 w">try</span>.expectEqual(<span.
1c120 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 2c 20 class="tok-number">1235</span>,.
1c140 66 6f 6f 28 29 29 3b 0a 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 foo());.....<span.class="tok-kw"
1c160 3e 74 72 79 3c 2f 73 70 61 6e 3e 20 65 78 70 65 63 74 45 71 75 61 6c 28 3c 73 70 61 6e 20 63 6c >try</span>.expectEqual(<span.cl
1c180 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 2c 20 66 6f ass="tok-number">1236</span>,.fo
1c1a0 6f 28 29 29 3b 0a 7d 0a 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 63 6f o());.}..<span.class="tok-kw">co
1c1c0 6e 73 74 3c 2f 73 70 61 6e 3e 20 53 20 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d nst</span>.S.=.<span.class="tok-
1c1e0 6b 77 22 3e 73 74 72 75 63 74 3c 2f 73 70 61 6e 3e 20 7b 0a 20 20 20 20 3c 73 70 61 6e 20 63 6c kw">struct</span>.{.....<span.cl
1c200 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 76 61 72 3c 2f 73 70 61 6e 3e 20 78 3a 20 3c 73 70 61 6e ass="tok-kw">var</span>.x:.<span
1c220 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>.=.<
1c240 73 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
1c260 61 6e 3e 3b 0a 7d 3b 0a 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 66 6e an>;.};..<span.class="tok-kw">fn
1c280 3c 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
1c2a0 3c 2f 73 70 61 6e 3e 28 29 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 </span>().<span.class="tok-type"
1c2c0 3e 69 33 32 3c 2f 73 70 61 6e 3e 20 7b 0a 20 20 20 20 53 2e 78 20 2b 3d 20 3c 73 70 61 6e 20 63 >i32</span>.{.....S.x.+=.<span.c
1c2e0 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 31 3c 2f 73 70 61 6e 3e 3b 0a 20 20 20 20 lass="tok-number">1</span>;.....
1c300 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
1c320 6e 3e 20 53 2e 78 3b 0a 7d 3c 2f 63 6f 64 65 3e 3c 2f 70 72 65 3e 3c 2f 66 69 67 75 72 65 3e 3c n>.S.x;.}</code></pre></figure><
1c340 66 69 67 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-
1c360 63 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
1c380 70 3e 24 20 3c 6b 62 64 3e 7a 69 67 20 74 65 73 74 20 74 65 73 74 5f 6e 61 6d 65 73 70 61 63 65 p>$.<kbd>zig.test.test_namespace
1c3a0 64 5f 76 61 72 69 61 62 6c 65 2e 7a 69 67 3c 2f 6b 62 64 3e 0a 31 2f 31 20 74 65 73 74 5f 6e 61 d_variable.zig</kbd>.1/1.test_na
1c3c0 6d 65 73 70 61 63 65 64 5f 76 61 72 69 61 62 6c 65 2e 74 65 73 74 2e 6e 61 6d 65 73 70 61 63 65 mespaced_variable.test.namespace
1c3e0 64 20 63 6f 6e 74 61 69 6e 65 72 20 6c 65 76 65 6c 20 76 61 72 69 61 62 6c 65 2e 2e 2e 4f 4b 0a d.container.level.variable...OK.
1c400 41 6c 6c 20 31 20 74 65 73 74 73 20 70 61 73 73 65 64 2e 0a 3c 2f 73 61 6d 70 3e 3c 2f 70 72 65 All.1.tests.passed..</samp></pre
1c420 3e 3c 2f 66 69 67 75 72 65 3e 0a 0a 20 20 20 20 20 20 0a 0a 20 20 20 20 20 20 3c 68 33 20 69 64 ></figure>................<h3.id
1c440 3d 22 4c 6f 63 61 6c 6c 79 2d 53 63 6f 70 65 64 2d 47 6c 6f 62 61 6c 2d 56 61 72 69 61 62 6c 65 ="Locally-Scoped-Global-Variable
1c460 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 61 6c 6c s"><a.href="nav.xhtml#toc-Locall
1c480 79 2d 53 63 6f 70 65 64 2d 47 6c 6f 62 61 6c 2d 56 61 72 69 61 62 6c 65 73 22 3e 4c 6f 63 61 6c y-Scoped-Global-Variables">Local
1c4a0 6c 79 2d 53 63 6f 70 65 64 20 47 6c 6f 62 61 6c 20 56 61 72 69 61 62 6c 65 73 3c 2f 61 3e 20 3c ly-Scoped.Global.Variables</a>.<
1c4c0 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 6c 79 2d 53 63 6f a.class="hdr".href="#Locally-Sco
1c4e0 70 65 64 2d 47 6c 6f 62 61 6c 2d 56 61 72 69 61 62 6c 65 73 22 3e c2 a7 3c 2f 61 3e 3c 2f 68 33 ped-Global-Variables">..</a></h3
1c500 3e 0a 0a 20 20 20 20 20 20 3c 70 3e 49 74 20 69 73 20 61 6c 73 6f 20 70 6f 73 73 69 62 6c 65 20 >........<p>It.is.also.possible.
1c520 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 67 6c 6f to.have.local.variables.with.glo
1c540 62 61 6c 20 6c 69 66 65 74 69 6d 65 20 62 79 0a 20 20 20 20 20 20 75 73 69 6e 67 20 3c 61 20 68 bal.lifetime.by.......using.<a.h
1c560 72 65 66 3d 22 23 4e 61 6d 65 73 70 61 63 65 22 3e 6e 61 6d 65 73 70 61 63 65 73 3c 2f 61 3e 20 ref="#Namespace">namespaces</a>.
1c580 69 6e 73 69 64 65 20 66 75 6e 63 74 69 6f 6e 73 2e 3c 2f 70 3e 0a 20 20 20 20 20 20 3c 66 69 67 inside.functions.</p>.......<fig
1c5a0 75 72 65 3e 3c 66 69 67 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">
1c5c0 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 6f 63 61 6c 6c 79 5f <cite.class="file">test_locally_
1c5e0 73 63 6f 70 65 64 5f 67 6c 6f 62 61 6c 5f 76 61 72 69 61 62 6c 65 2e 7a 69 67 3c 2f 63 69 74 65 scoped_global_variable.zig</cite
1c600 3e 3c 2f 66 69 67 63 61 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
1c620 6c 61 73 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.=
1c640 20 3c 73 70 61 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
1c660 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">
1c680 26 71 75 6f 74 3b 73 74 64 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 29 3b 0a 3c 73 70 61 6e 20 63 &quot;std&quot;</span>);.<span.c
1c6a0 6c 61 73 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
1c6c0 74 45 71 75 61 6c 20 3d 20 73 74 64 2e 74 65 73 74 69 6e 67 2e 65 78 70 65 63 74 45 71 75 61 6c tEqual.=.std.testing.expectEqual
1c6e0 3b 0a 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 74 65 73 74 3c 2f 73 70 ;..<span.class="tok-kw">test</sp
1c700 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;
1c720 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 3b 3c 2f 73 70 61 static.local.variable&quot;</spa
1c740 6e 3e 20 7b 0a 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 74 72 n>.{.....<span.class="tok-kw">tr
1c760 79 3c 2f 73 70 61 6e 3e 20 65 78 70 65 63 74 45 71 75 61 6c 28 3c 73 70 61 6e 20 63 6c 61 73 73 y</span>.expectEqual(<span.class
1c780 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 2c 20 66 6f 6f 28 29 ="tok-number">1235</span>,.foo()
1c7a0 29 3b 0a 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 74 72 79 3c );.....<span.class="tok-kw">try<
1c7c0 2f 73 70 61 6e 3e 20 65 78 70 65 63 74 45 71 75 61 6c 28 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 /span>.expectEqual(<span.class="
1c7e0 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 31 32 33 36 3c 2f 73 70 61 6e 3e 2c 20 66 6f 6f 28 29 29 3b tok-number">1236</span>,.foo());
1c800 0a 7d 0a 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 66 6e 3c 2f 73 70 61 .}..<span.class="tok-kw">fn</spa
1c820 6e 3e 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 66 6e 22 3e 66 6f 6f 3c 2f 73 70 61 n>.<span.class="tok-fn">foo</spa
1c840 6e 3e 28 29 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 69 33 32 3c n>().<span.class="tok-type">i32<
1c860 2f 73 70 61 6e 3e 20 7b 0a 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 /span>.{.....<span.class="tok-kw
1c880 22 3e 63 6f 6e 73 74 3c 2f 73 70 61 6e 3e 20 53 20 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 ">const</span>.S.=.<span.class="
1c8a0 74 6f 6b 2d 6b 77 22 3e 73 74 72 75 63 74 3c 2f 73 70 61 6e 3e 20 7b 0a 20 20 20 20 20 20 20 20 tok-kw">struct</span>.{.........
1c8c0 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>.
1c8e0 78 3a 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 69 33 32 3c 2f 73 x:.<span.class="tok-type">i32</s
1c900 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">
1c920 31 32 33 34 3c 2f 73 70 61 6e 3e 3b 0a 20 20 20 20 7d 3b 0a 20 20 20 20 53 2e 78 20 2b 3d 20 3c 1234</span>;.....};.....S.x.+=.<
1c940 73 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>
1c960 3b 0a 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 72 65 74 75 72 ;.....<span.class="tok-kw">retur
1c980 6e 3c 2f 73 70 61 6e 3e 20 53 2e 78 3b 0a 7d 3c 2f 63 6f 64 65 3e 3c 2f 70 72 65 3e 3c 2f 66 69 n</span>.S.x;.}</code></pre></fi
1c9a0 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="
1c9c0 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
1c9e0 65 3e 3c 73 61 6d 70 3e 24 20 3c 6b 62 64 3e 7a 69 67 20 74 65 73 74 20 74 65 73 74 5f 6c 6f 63 e><samp>$.<kbd>zig.test.test_loc
1ca00 61 6c 6c 79 5f 73 63 6f 70 65 64 5f 67 6c 6f 62 61 6c 5f 76 61 72 69 61 62 6c 65 2e 7a 69 67 3c ally_scoped_global_variable.zig<
1ca20 2f 6b 62 64 3e 0a 31 2f 31 20 74 65 73 74 5f 6c 6f 63 61 6c 6c 79 5f 73 63 6f 70 65 64 5f 67 6c /kbd>.1/1.test_locally_scoped_gl
1ca40 6f 62 61 6c 5f 76 61 72 69 61 62 6c 65 2e 74 65 73 74 2e 73 74 61 74 69 63 20 6c 6f 63 61 6c 20 obal_variable.test.static.local.
1ca60 76 61 72 69 61 62 6c 65 2e 2e 2e 4f 4b 0a 41 6c 6c 20 31 20 74 65 73 74 73 20 70 61 73 73 65 64 variable...OK.All.1.tests.passed
1ca80 2e 0a 3c 2f 73 61 6d 70 3e 3c 2f 70 72 65 3e 3c 2f 66 69 67 75 72 65 3e 0a 0a 20 20 20 20 20 20 ..</samp></pre></figure>........
1caa0 0a 0a 20 20 20 20 20 20 3c 68 33 20 69 64 3d 22 54 68 72 65 61 64 2d 4c 6f 63 61 6c 2d 56 61 72 ........<h3.id="Thread-Local-Var
1cac0 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 74 6f 63 2d 54 iables"><a.href="nav.xhtml#toc-T
1cae0 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
1cb00 63 61 6c 20 56 61 72 69 61 62 6c 65 73 3c 2f 61 3e 20 3c 61 20 63 6c 61 73 73 3d 22 68 64 72 22 cal.Variables</a>.<a.class="hdr"
1cb20 20 68 72 65 66 3d 22 23 54 68 72 65 61 64 2d 4c 6f 63 61 6c 2d 56 61 72 69 61 62 6c 65 73 22 3e .href="#Thread-Local-Variables">
1cb40 c2 a7 3c 2f 61 3e 3c 2f 68 33 3e 0a 0a 20 20 20 20 20 20 3c 70 3e 41 20 76 61 72 69 61 62 6c 65 ..</a></h3>........<p>A.variable
1cb60 20 6d 61 79 20 62 65 20 73 70 65 63 69 66 69 65 64 20 74 6f 20 62 65 20 61 20 74 68 72 65 61 64 .may.be.specified.to.be.a.thread
1cb80 2d 6c 6f 63 61 6c 20 76 61 72 69 61 62 6c 65 20 75 73 69 6e 67 20 74 68 65 0a 20 20 20 20 20 20 -local.variable.using.the.......
1cba0 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 74 68 72 65 61 <code><span.class="tok-kw">threa
1cbc0 64 6c 6f 63 61 6c 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 20 6b 65 79 77 6f 72 64 2c 0a 20 20 dlocal</span></code>.keyword,...
1cbe0 20 20 20 20 77 68 69 63 68 20 6d 61 6b 65 73 20 65 61 63 68 20 74 68 72 65 61 64 20 77 6f 72 6b ....which.makes.each.thread.work
1cc00 20 77 69 74 68 20 61 20 73 65 70 61 72 61 74 65 20 69 6e 73 74 61 6e 63 65 20 6f 66 20 74 68 65 .with.a.separate.instance.of.the
1cc20 20 76 61 72 69 61 62 6c 65 3a 3c 2f 70 3e 0a 20 20 20 20 20 20 3c 66 69 67 75 72 65 3e 3c 66 69 .variable:</p>.......<figure><fi
1cc40 67 63 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
1cc60 6c 61 73 73 3d 22 66 69 6c 65 22 3e 74 65 73 74 5f 74 68 72 65 61 64 5f 6c 6f 63 61 6c 5f 76 61 lass="file">test_thread_local_va
1cc80 72 69 61 62 6c 65 73 2e 7a 69 67 3c 2f 63 69 74 65 3e 3c 2f 66 69 67 63 61 70 74 69 6f 6e 3e 3c riables.zig</cite></figcaption><
1cca0 70 72 65 3e 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 63 pre><code><span.class="tok-kw">c
1ccc0 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
1cce0 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
1cd00 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;
1cd20 3c 2f 73 70 61 6e 3e 29 3b 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 63 </span>);.<span.class="tok-kw">c
1cd40 6f 6e 73 74 3c 2f 73 70 61 6e 3e 20 61 73 73 65 72 74 20 3d 20 73 74 64 2e 64 65 62 75 67 2e 61 onst</span>.assert.=.std.debug.a
1cd60 73 73 65 72 74 3b 0a 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 74 68 72 ssert;..<span.class="tok-kw">thr
1cd80 65 61 64 6c 6f 63 61 6c 3c 2f 73 70 61 6e 3e 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b eadlocal</span>.<span.class="tok
1cda0 2d 6b 77 22 3e 76 61 72 3c 2f 73 70 61 6e 3e 20 78 3a 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 -kw">var</span>.x:.<span.class="
1cdc0 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
1cde0 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 31 32 33 34 3c 2f 73 70 61 6e 3e 3b 0a 0a 3c 73 ss="tok-number">1234</span>;..<s
1ce00 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>.<
1ce20 73 70 61 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 span.class="tok-str">&quot;threa
1ce40 64 20 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 0a 20 d.local.storage&quot;</span>.{..
1ce60 20 20 20 3c 73 70 61 6e 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
1ce80 70 61 6e 3e 20 74 68 72 65 61 64 31 20 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d pan>.thread1.=.<span.class="tok-
1cea0 6b 77 22 3e 74 72 79 3c 2f 73 70 61 6e 3e 20 73 74 64 2e 54 68 72 65 61 64 2e 73 70 61 77 6e 28 kw">try</span>.std.Thread.spawn(
1cec0 2e 7b 7d 2c 20 74 65 73 74 54 6c 73 2c 20 2e 7b 7d 29 3b 0a 20 20 20 20 3c 73 70 61 6e 20 63 6c .{},.testTls,..{});.....<span.cl
1cee0 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 63 6f 6e 73 74 3c 2f 73 70 61 6e 3e 20 74 68 72 65 61 64 ass="tok-kw">const</span>.thread
1cf00 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 74 72 79 3c 2f 73 70 2.=.<span.class="tok-kw">try</sp
1cf20 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 74 54 6c an>.std.Thread.spawn(.{},.testTl
1cf40 73 2c 20 2e 7b 7d 29 3b 0a 20 20 20 20 74 65 73 74 54 6c 73 28 29 3b 0a 20 20 20 20 74 68 72 65 s,..{});.....testTls();.....thre
1cf60 61 64 31 2e 6a 6f 69 6e 28 29 3b 0a 20 20 20 20 74 68 72 65 61 64 32 2e 6a 6f 69 6e 28 29 3b 0a ad1.join();.....thread2.join();.
1cf80 7d 0a 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 66 6e 3c 2f 73 70 61 6e }..<span.class="tok-kw">fn</span
1cfa0 3e 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 66 6e 22 3e 74 65 73 74 54 6c 73 3c 2f >.<span.class="tok-fn">testTls</
1cfc0 73 70 61 6e 3e 28 29 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 76 span>().<span.class="tok-type">v
1cfe0 6f 69 64 3c 2f 73 70 61 6e 3e 20 7b 0a 20 20 20 20 61 73 73 65 72 74 28 78 20 3d 3d 20 3c 73 70 oid</span>.{.....assert(x.==.<sp
1d000 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
1d020 3e 29 3b 0a 20 20 20 20 78 20 2b 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 >);.....x.+=.<span.class="tok-nu
1d040 6d 62 65 72 22 3e 31 3c 2f 73 70 61 6e 3e 3b 0a 20 20 20 20 61 73 73 65 72 74 28 78 20 3d 3d 20 mber">1</span>;.....assert(x.==.
1d060 3c 73 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 35 3c 2f 73 <span.class="tok-number">1235</s
1d080 70 61 6e 3e 29 3b 0a 7d 3c 2f 63 6f 64 65 3e 3c 2f 70 72 65 3e 3c 2f 66 69 67 75 72 65 3e 3c 66 pan>);.}</code></pre></figure><f
1d0a0 69 67 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
1d0c0 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
1d0e0 3e 24 20 3c 6b 62 64 3e 7a 69 67 20 74 65 73 74 20 74 65 73 74 5f 74 68 72 65 61 64 5f 6c 6f 63 >$.<kbd>zig.test.test_thread_loc
1d100 61 6c 5f 76 61 72 69 61 62 6c 65 73 2e 7a 69 67 3c 2f 6b 62 64 3e 0a 31 2f 31 20 74 65 73 74 5f al_variables.zig</kbd>.1/1.test_
1d120 74 68 72 65 61 64 5f 6c 6f 63 61 6c 5f 76 61 72 69 61 62 6c 65 73 2e 74 65 73 74 2e 74 68 72 65 thread_local_variables.test.thre
1d140 61 64 20 6c 6f 63 61 6c 20 73 74 6f 72 61 67 65 2e 2e 2e 4f 4b 0a 41 6c 6c 20 31 20 74 65 73 74 ad.local.storage...OK.All.1.test
1d160 73 20 70 61 73 73 65 64 2e 0a 3c 2f 73 61 6d 70 3e 3c 2f 70 72 65 3e 3c 2f 66 69 67 75 72 65 3e s.passed..</samp></pre></figure>
1d180 0a 20 20 20 20 20 20 3c 70 3e 46 6f 72 20 3c 61 20 68 72 65 66 3d 22 23 53 69 6e 67 6c 65 2d 54 .......<p>For.<a.href="#Single-T
1d1a0 68 72 65 61 64 65 64 2d 42 75 69 6c 64 73 22 3e 53 69 6e 67 6c 65 20 54 68 72 65 61 64 65 64 20 hreaded-Builds">Single.Threaded.
1d1c0 42 75 69 6c 64 73 3c 2f 61 3e 2c 20 61 6c 6c 20 74 68 72 65 61 64 20 6c 6f 63 61 6c 20 76 61 72 Builds</a>,.all.thread.local.var
1d1e0 69 61 62 6c 65 73 20 61 72 65 0a 20 20 20 20 20 20 74 72 65 61 74 65 64 20 61 73 20 72 65 67 75 iables.are.......treated.as.regu
1d200 6c 61 72 20 3c 61 20 68 72 65 66 3d 22 23 4e 61 6d 65 73 70 61 63 65 2d 4c 65 76 65 6c 2d 56 61 lar.<a.href="#Namespace-Level-Va
1d220 72 69 61 62 6c 65 73 22 3e 4e 61 6d 65 73 70 61 63 65 20 4c 65 76 65 6c 20 56 61 72 69 61 62 6c riables">Namespace.Level.Variabl
1d240 65 73 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 72 65 es</a>.</p>.......<p>.......Thre
1d260 61 64 20 6c 6f 63 61 6c 20 76 61 72 69 61 62 6c 65 73 20 6d 61 79 20 6e 6f 74 20 62 65 20 3c 63 ad.local.variables.may.not.be.<c
1d280 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 63 6f 6e 73 74 3c 2f ode><span.class="tok-kw">const</
1d2a0 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>........
1d2c0 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 62 6c 65 73 22 3e .......<h3.id="Local-Variables">
1d2e0 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 61 6c 2d 56 61 72 <a.href="nav.xhtml#toc-Local-Var
1d300 69 61 62 6c 65 73 22 3e 4c 6f 63 61 6c 20 56 61 72 69 61 62 6c 65 73 3c 2f 61 3e 20 3c 61 20 63 iables">Local.Variables</a>.<a.c
1d320 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 72 69 61 62 6c 65 lass="hdr".href="#Local-Variable
1d340 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 4c 6f 63 61 6c 20 76 s">..</a></h3>........<p>Local.v
1d360 61 72 69 61 62 6c 65 73 20 6f 63 63 75 72 20 69 6e 73 69 64 65 20 3c 61 20 68 72 65 66 3d 22 23 ariables.occur.inside.<a.href="#
1d380 46 75 6e 63 74 69 6f 6e 73 22 3e 46 75 6e 63 74 69 6f 6e 73 3c 2f 61 3e 2c 20 3c 61 20 68 72 65 Functions">Functions</a>,.<a.hre
1d3a0 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>......
1d3c0 20 62 6c 6f 63 6b 73 2c 20 61 6e 64 20 6c 61 62 65 6c 65 64 20 3c 61 20 68 72 65 66 3d 22 23 42 .blocks,.and.labeled.<a.href="#B
1d3e0 6c 6f 63 6b 73 22 3e 42 6c 6f 63 6b 73 3c 2f 61 3e 2e 3c 2f 70 3e 0a 20 20 20 20 20 20 3c 70 3e locks">Blocks</a>.</p>.......<p>
1d400 0a 20 20 20 20 20 20 57 68 65 6e 20 61 20 6c 6f 63 61 6c 20 76 61 72 69 61 62 6c 65 20 69 73 20 .......When.a.local.variable.is.
1d420 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 63 6f 6e 73 74 <code><span.class="tok-kw">const
1d440 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 2c 20 69 74 20 6d 65 61 6e 73 20 74 68 61 74 20 61 66 </span></code>,.it.means.that.af
1d460 74 65 72 20 69 6e 69 74 69 61 6c 69 7a 61 74 69 6f 6e 2c 20 74 68 65 20 76 61 72 69 61 62 6c 65 ter.initialization,.the.variable
1d480 27 73 0a 20 20 20 20 20 20 76 61 6c 75 65 20 77 69 6c 6c 20 6e 6f 74 20 63 68 61 6e 67 65 2e 20 's.......value.will.not.change..
1d4a0 49 66 20 74 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 61 If.the.initialization.value.of.a
1d4c0 20 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 63 6f 6e 73 .<code><span.class="tok-kw">cons
1d4e0 74 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 20 20 20 20 t</span></code>.variable.is.....
1d500 20 20 3c 61 20 68 72 65 66 3d 22 23 63 6f 6d 70 74 69 6d 65 22 3e 63 6f 6d 70 74 69 6d 65 3c 2f ..<a.href="#comptime">comptime</
1d520 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 69 73 20 61 a>-known,.then.the.variable.is.a
1d540 6c 73 6f 20 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 63 lso.<code><span.class="tok-kw">c
1d560 6f 6d 70 74 69 6d 65 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 2d 6b 6e 6f 77 6e 2e 0a 20 20 20 omptime</span></code>-known.....
1d580 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 6c 6f 63 61 6c 20 ...</p>.......<p>.......A.local.
1d5a0 76 61 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 variable.may.be.qualified.with.t
1d5c0 68 65 20 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 63 6f he.<code><span.class="tok-kw">co
1d5e0 6d 70 74 69 6d 65 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 20 6b 65 79 77 6f 72 64 2e 20 54 68 mptime</span></code>.keyword..Th
1d600 69 73 20 63 61 75 73 65 73 0a 20 20 20 20 20 20 74 68 65 20 76 61 72 69 61 62 6c 65 27 73 20 76 is.causes.......the.variable's.v
1d620 61 6c 75 65 20 74 6f 20 62 65 20 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f alue.to.be.<code><span.class="to
1d640 6b 2d 6b 77 22 3e 63 6f 6d 70 74 69 6d 65 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 2d 6b 6e 6f k-kw">comptime</span></code>-kno
1d660 77 6e 2c 20 61 6e 64 20 61 6c 6c 20 6c 6f 61 64 73 20 61 6e 64 20 73 74 6f 72 65 73 20 6f 66 20 wn,.and.all.loads.and.stores.of.
1d680 74 68 65 0a 20 20 20 20 20 20 76 61 72 69 61 62 6c 65 20 74 6f 20 68 61 70 70 65 6e 20 64 75 72 the.......variable.to.happen.dur
1d6a0 69 6e 67 20 73 65 6d 61 6e 74 69 63 20 61 6e 61 6c 79 73 69 73 20 6f 66 20 74 68 65 20 70 72 6f ing.semantic.analysis.of.the.pro
1d6c0 67 72 61 6d 2c 20 72 61 74 68 65 72 20 74 68 61 6e 20 61 74 20 72 75 6e 74 69 6d 65 2e 0a 20 20 gram,.rather.than.at.runtime....
1d6e0 20 20 20 20 41 6c 6c 20 76 61 72 69 61 62 6c 65 73 20 64 65 63 6c 61 72 65 64 20 69 6e 20 61 20 ....All.variables.declared.in.a.
1d700 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 63 6f 6d 70 74 <code><span.class="tok-kw">compt
1d720 69 6d 65 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 20 65 78 70 72 65 73 73 69 6f 6e 20 61 72 65 ime</span></code>.expression.are
1d740 20 69 6d 70 6c 69 63 69 74 6c 79 0a 20 20 20 20 20 20 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c .implicitly.......<code><span.cl
1d760 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 63 6f 6d 70 74 69 6d 65 3c 2f 73 70 61 6e 3e 3c 2f 63 6f ass="tok-kw">comptime</span></co
1d780 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 20 20 20 20 20 20 de>.variables........</p>.......
1d7a0 3c 66 69 67 75 72 65 3e 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
1d7c0 61 70 22 3e 3c 63 69 74 65 20 63 6c 61 73 73 3d 22 66 69 6c 65 22 3e 74 65 73 74 5f 63 6f 6d 70 ap"><cite.class="file">test_comp
1d7e0 74 69 6d 65 5f 76 61 72 69 61 62 6c 65 73 2e 7a 69 67 3c 2f 63 69 74 65 3e 3c 2f 66 69 67 63 61 time_variables.zig</cite></figca
1d800 70 74 69 6f 6e 3e 3c 70 72 65 3e 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f ption><pre><code><span.class="to
1d820 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
1d840 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
1d860 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
1d880 64 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 29 3b 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f d&quot;</span>);.<span.class="to
1d8a0 6b 2d 6b 77 22 3e 63 6f 6e 73 74 3c 2f 73 70 61 6e 3e 20 65 78 70 65 63 74 45 71 75 61 6c 20 3d k-kw">const</span>.expectEqual.=
1d8c0 20 73 74 64 2e 74 65 73 74 69 6e 67 2e 65 78 70 65 63 74 45 71 75 61 6c 3b 0a 0a 3c 73 70 61 6e .std.testing.expectEqual;..<span
1d8e0 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
1d900 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 73 74 72 22 3e 26 71 75 6f 74 3b 63 6f 6d 70 74 69 6d 65 n.class="tok-str">&quot;comptime
1d920 20 76 61 72 73 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 20 7b 0a 20 20 20 20 3c 73 70 61 6e 20 63 .vars&quot;</span>.{.....<span.c
1d940 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
1d960 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>.=.
1d980 3c 73 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
1d9a0 3e 3b 0a 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 63 6f 6d 70 >;.....<span.class="tok-kw">comp
1d9c0 74 69 6d 65 3c 2f 73 70 61 6e 3e 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 time</span>.<span.class="tok-kw"
1d9e0 3e 76 61 72 3c 2f 73 70 61 6e 3e 20 79 3a 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d >var</span>.y:.<span.class="tok-
1da00 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="
1da20 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 31 3c 2f 73 70 61 6e 3e 3b 0a 0a 20 20 20 20 78 20 2b 3d 20 tok-number">1</span>;......x.+=.
1da40 3c 73 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
1da60 3e 3b 0a 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 >;.....y.+=.<span.class="tok-num
1da80 62 65 72 22 3e 31 3c 2f 73 70 61 6e 3e 3b 0a 0a 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d ber">1</span>;......<span.class=
1daa0 22 74 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 "tok-kw">try</span>.expectEqual(
1dac0 3c 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
1dae0 3e 2c 20 78 29 3b 0a 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e >,.x);.....<span.class="tok-kw">
1db00 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
1db20 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 79 29 3b 0a 0a 20 ss="tok-number">2</span>,.y);...
1db40 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
1db60 3e 20 28 79 20 21 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 >.(y.!=.<span.class="tok-number"
1db80 3e 32 3c 2f 73 70 61 6e 3e 29 20 7b 0a 20 20 20 20 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 >2</span>).{.........<span.class
1dba0 3d 22 74 6f 6b 2d 63 6f 6d 6d 65 6e 74 22 3e 2f 2f 20 54 68 69 73 20 63 6f 6d 70 69 6c 65 20 65 ="tok-comment">//.This.compile.e
1dbc0 72 72 6f 72 20 6e 65 76 65 72 20 74 72 69 67 67 65 72 73 20 62 65 63 61 75 73 65 20 79 20 69 73 rror.never.triggers.because.y.is
1dbe0 20 61 20 63 6f 6d 70 74 69 6d 65 20 76 61 72 69 61 62 6c 65 2c 3c 2f 73 70 61 6e 3e 0a 20 20 20 .a.comptime.variable,</span>....
1dc00 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">/
1dc20 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 74 69 6d 65 20 /.and.so.`y.!=.2`.is.a.comptime.
1dc40 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 63 61 6c 6c 79 value,.and.this.if.is.statically
1dc60 20 65 76 61 6c 75 61 74 65 64 2e 3c 2f 73 70 61 6e 3e 0a 20 20 20 20 20 20 20 20 3c 73 70 61 6e .evaluated.</span>.........<span
1dc80 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 62 75 69 6c 74 69 6e 22 3e 40 63 6f 6d 70 69 6c 65 45 72 72 .class="tok-builtin">@compileErr
1dca0 6f 72 3c 2f 73 70 61 6e 3e 28 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 73 74 72 22 3e or</span>(<span.class="tok-str">
1dcc0 26 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 &quot;wrong.y.value&quot;</span>
1dce0 29 3b 0a 20 20 20 20 7d 0a 7d 3c 2f 63 6f 64 65 3e 3c 2f 70 72 65 3e 3c 2f 66 69 67 75 72 65 3e );.....}.}</code></pre></figure>
1dd00 3c 66 69 67 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
1dd20 2d 63 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
1dd40 6d 70 3e 24 20 3c 6b 62 64 3e 7a 69 67 20 74 65 73 74 20 74 65 73 74 5f 63 6f 6d 70 74 69 6d 65 mp>$.<kbd>zig.test.test_comptime
1dd60 5f 76 61 72 69 61 62 6c 65 73 2e 7a 69 67 3c 2f 6b 62 64 3e 0a 31 2f 31 20 74 65 73 74 5f 63 6f _variables.zig</kbd>.1/1.test_co
1dd80 6d 70 74 69 6d 65 5f 76 61 72 69 61 62 6c 65 73 2e 74 65 73 74 2e 63 6f 6d 70 74 69 6d 65 20 76 mptime_variables.test.comptime.v
1dda0 61 72 73 2e 2e 2e 4f 4b 0a 41 6c 6c 20 31 20 74 65 73 74 73 20 70 61 73 73 65 64 2e 0a 3c 2f 73 ars...OK.All.1.tests.passed..</s
1ddc0 61 6d 70 3e 3c 2f 70 72 65 3e 3c 2f 66 69 67 75 72 65 3e 0a 0a 20 20 20 20 20 20 0a 20 20 20 20 amp></pre></figure>.............
1dde0 20 20 0a 0a 20 20 20 20 20 20 3c 68 32 20 69 64 3d 22 49 6e 74 65 67 65 72 73 22 3e 3c 61 20 68 ..........<h2.id="Integers"><a.h
1de00 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 73 22 3e 49 6e 74 ref="nav.xhtml#toc-Integers">Int
1de20 65 67 65 72 73 3c 2f 61 3e 20 3c 61 20 63 6c 61 73 73 3d 22 68 64 72 22 20 68 72 65 66 3d 22 23 egers</a>.<a.class="hdr".href="#
1de40 49 6e 74 65 67 65 72 73 22 3e c2 a7 3c 2f 61 3e 3c 2f 68 32 3e 0a 0a 20 20 20 20 20 20 3c 68 33 Integers">..</a></h2>........<h3
1de60 20 69 64 3d 22 49 6e 74 65 67 65 72 2d 4c 69 74 65 72 61 6c 73 22 3e 3c 61 20 68 72 65 66 3d 22 .id="Integer-Literals"><a.href="
1de80 6e 61 76 2e 78 68 74 6d 6c 23 74 6f 63 2d 49 6e 74 65 67 65 72 2d 4c 69 74 65 72 61 6c 73 22 3e nav.xhtml#toc-Integer-Literals">
1dea0 49 6e 74 65 67 65 72 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 Integer.Literals</a>.<a.class="h
1dec0 64 72 22 20 68 72 65 66 3d 22 23 49 6e 74 65 67 65 72 2d 4c 69 74 65 72 61 6c 73 22 3e c2 a7 3c dr".href="#Integer-Literals">..<
1dee0 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
1df00 69 6f 6e 20 63 6c 61 73 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=
1df20 22 66 69 6c 65 22 3e 69 6e 74 65 67 65 72 5f 6c 69 74 65 72 61 6c 73 2e 7a 69 67 3c 2f 63 69 74 "file">integer_literals.zig</cit
1df40 65 3e 3c 2f 66 69 67 63 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.
1df60 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 63 6f 6e 73 74 3c 2f 73 70 61 6e 3e 20 64 65 63 69 class="tok-kw">const</span>.deci
1df80 6d 61 6c 5f 69 6e 74 20 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 mal_int.=.<span.class="tok-numbe
1dfa0 72 22 3e 39 38 32 32 32 3c 2f 73 70 61 6e 3e 3b 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f r">98222</span>;.<span.class="to
1dfc0 6b 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 k-kw">const</span>.hex_int.=.<sp
1dfe0 61 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 an.class="tok-number">0xff</span
1e000 3e 3b 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 63 6f 6e 73 74 3c 2f 73 >;.<span.class="tok-kw">const</s
1e020 70 61 6e 3e 20 61 6e 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 pan>.another_hex_int.=.<span.cla
1e040 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 30 78 46 46 3c 2f 73 70 61 6e 3e 3b 0a 3c 73 70 ss="tok-number">0xFF</span>;.<sp
1e060 61 6e 20 63 6c 61 73 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
1e080 63 74 61 6c 5f 69 6e 74 20 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 ctal_int.=.<span.class="tok-numb
1e0a0 65 72 22 3e 30 6f 37 35 35 3c 2f 73 70 61 6e 3e 3b 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 er">0o755</span>;.<span.class="t
1e0c0 6f 6b 2d 6b 77 22 3e 63 6f 6e 73 74 3c 2f 73 70 61 6e 3e 20 62 69 6e 61 72 79 5f 69 6e 74 20 3d ok-kw">const</span>.binary_int.=
1e0e0 20 3c 73 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 31 31 31 .<span.class="tok-number">0b1111
1e100 30 30 30 30 3c 2f 73 70 61 6e 3e 3b 0a 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 63 0000</span>;..<span.class="tok-c
1e120 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 6c omment">//.underscores.may.be.pl
1e140 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 73 aced.between.two.digits.as.a.vis
1e160 75 61 6c 20 73 65 70 61 72 61 74 6f 72 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 ual.separator</span>.<span.class
1e180 3d 22 74 6f 6b 2d 6b 77 22 3e 63 6f 6e 73 74 3c 2f 73 70 61 6e 3e 20 6f 6e 65 5f 62 69 6c 6c 69 ="tok-kw">const</span>.one_billi
1e1a0 6f 6e 20 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 31 5f on.=.<span.class="tok-number">1_
1e1c0 30 30 30 5f 30 30 30 5f 30 30 30 3c 2f 73 70 61 6e 3e 3b 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 000_000_000</span>;.<span.class=
1e1e0 22 74 6f 6b 2d 6b 77 22 3e 63 6f 6e 73 74 3c 2f 73 70 61 6e 3e 20 62 69 6e 61 72 79 5f 6d 61 73 "tok-kw">const</span>.binary_mas
1e200 6b 20 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 30 62 31 k.=.<span.class="tok-number">0b1
1e220 5f 31 31 31 31 5f 31 31 31 31 3c 2f 73 70 61 6e 3e 3b 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 _1111_1111</span>;.<span.class="
1e240 74 6f 6b 2d 6b 77 22 3e 63 6f 6e 73 74 3c 2f 73 70 61 6e 3e 20 70 65 72 6d 69 73 73 69 6f 6e 73 tok-kw">const</span>.permissions
1e260 20 3d 20 3c 73 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 5f .=.<span.class="tok-number">0o7_
1e280 35 5f 35 3c 2f 73 70 61 6e 3e 3b 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 5_5</span>;.<span.class="tok-kw"
1e2a0 3e 63 6f 6e 73 74 3c 2f 73 70 61 6e 3e 20 62 69 67 5f 61 64 64 72 65 73 73 20 3d 20 3c 73 70 61 >const</span>.big_address.=.<spa
1e2c0 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 30 78 46 46 38 30 5f 30 30 30 30 n.class="tok-number">0xFF80_0000
1e2e0 5f 30 30 30 30 5f 30 30 30 30 3c 2f 73 70 61 6e 3e 3b 3c 2f 63 6f 64 65 3e 3c 2f 70 72 65 3e 3c _0000_0000</span>;</code></pre><
1e300 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 3d 22 52 /figure>...............<h3.id="R
1e320 75 6e 74 69 6d 65 2d 49 6e 74 65 67 65 72 2d 56 61 6c 75 65 73 22 3e 3c 61 20 68 72 65 66 3d 22 untime-Integer-Values"><a.href="
1e340 6e 61 76 2e 78 68 74 6d 6c 23 74 6f 63 2d 52 75 6e 74 69 6d 65 2d 49 6e 74 65 67 65 72 2d 56 61 nav.xhtml#toc-Runtime-Integer-Va
1e360 6c 75 65 73 22 3e 52 75 6e 74 69 6d 65 20 49 6e 74 65 67 65 72 20 56 61 6c 75 65 73 3c 2f 61 3e lues">Runtime.Integer.Values</a>
1e380 20 3c 61 20 63 6c 61 73 73 3d 22 68 64 72 22 20 68 72 65 66 3d 22 23 52 75 6e 74 69 6d 65 2d 49 .<a.class="hdr".href="#Runtime-I
1e3a0 6e 74 65 67 65 72 2d 56 61 6c 75 65 73 22 3e c2 a7 3c 2f 61 3e 3c 2f 68 33 3e 0a 0a 20 20 20 20 nteger-Values">..</a></h3>......
1e3c0 20 20 3c 70 3e 0a 20 20 20 20 20 20 49 6e 74 65 67 65 72 20 6c 69 74 65 72 61 6c 73 20 68 61 76 ..<p>.......Integer.literals.hav
1e3e0 65 20 6e 6f 20 73 69 7a 65 20 6c 69 6d 69 74 61 74 69 6f 6e 2c 20 61 6e 64 20 69 66 20 61 6e 79 e.no.size.limitation,.and.if.any
1e400 20 49 6c 6c 65 67 61 6c 20 42 65 68 61 76 69 6f 72 20 6f 63 63 75 72 73 2c 0a 20 20 20 20 20 20 .Illegal.Behavior.occurs,.......
1e420 74 68 65 20 63 6f 6d 70 69 6c 65 72 20 63 61 74 63 68 65 73 20 69 74 2e 0a 20 20 20 20 20 20 3c the.compiler.catches.it........<
1e440 2f 70 3e 0a 20 20 20 20 20 20 3c 70 3e 0a 20 20 20 20 20 20 48 6f 77 65 76 65 72 2c 20 6f 6e 63 /p>.......<p>.......However,.onc
1e460 65 20 61 6e 20 69 6e 74 65 67 65 72 20 76 61 6c 75 65 20 69 73 20 6e 6f 20 6c 6f 6e 67 65 72 20 e.an.integer.value.is.no.longer.
1e480 6b 6e 6f 77 6e 20 61 74 20 63 6f 6d 70 69 6c 65 2d 74 69 6d 65 2c 20 69 74 20 6d 75 73 74 20 68 known.at.compile-time,.it.must.h
1e4a0 61 76 65 20 61 0a 20 20 20 20 20 20 6b 6e 6f 77 6e 20 73 69 7a 65 2c 20 61 6e 64 20 69 73 20 76 ave.a.......known.size,.and.is.v
1e4c0 75 6c 6e 65 72 61 62 6c 65 20 74 6f 20 73 61 66 65 74 79 2d 63 68 65 63 6b 65 64 20 3c 61 20 68 ulnerable.to.safety-checked.<a.h
1e4e0 72 65 66 3d 22 23 49 6c 6c 65 67 61 6c 2d 42 65 68 61 76 69 6f 72 22 3e 49 6c 6c 65 67 61 6c 20 ref="#Illegal-Behavior">Illegal.
1e500 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>.......<
1e520 66 69 67 75 72 65 3e 3c 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
1e540 70 22 3e 3c 63 69 74 65 20 63 6c 61 73 73 3d 22 66 69 6c 65 22 3e 72 75 6e 74 69 6d 65 5f 76 73 p"><cite.class="file">runtime_vs
1e560 5f 63 6f 6d 70 74 69 6d 65 2e 7a 69 67 3c 2f 63 69 74 65 3e 3c 2f 66 69 67 63 61 70 74 69 6f 6e _comptime.zig</cite></figcaption
1e580 3e 3c 70 72 65 3e 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 ><pre><code><span.class="tok-kw"
1e5a0 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">
1e5c0 64 69 76 69 64 65 3c 2f 73 70 61 6e 3e 28 61 3a 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f divide</span>(a:.<span.class="to
1e5e0 6b 2d 74 79 70 65 22 3e 69 33 32 3c 2f 73 70 61 6e 3e 2c 20 62 3a 20 3c 73 70 61 6e 20 63 6c 61 k-type">i32</span>,.b:.<span.cla
1e600 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 69 33 32 3c 2f 73 70 61 6e 3e 29 20 3c 73 70 61 6e 20 ss="tok-type">i32</span>).<span.
1e620 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 69 33 32 3c 2f 73 70 61 6e 3e 20 7b 0a 20 20 class="tok-type">i32</span>.{...
1e640 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
1e660 70 61 6e 3e 20 61 20 2f 20 62 3b 0a 7d 3c 2f 63 6f 64 65 3e 3c 2f 70 72 65 3e 3c 2f 66 69 67 75 pan>.a./.b;.}</code></pre></figu
1e680 72 65 3e 0a 0a 20 20 20 20 20 20 3c 70 3e 0a 20 20 20 20 20 20 49 6e 20 74 68 69 73 20 66 75 6e re>........<p>.......In.this.fun
1e6a0 63 74 69 6f 6e 2c 20 76 61 6c 75 65 73 20 3c 63 6f 64 65 3e 61 3c 2f 63 6f 64 65 3e 20 61 6e 64 ction,.values.<code>a</code>.and
1e6c0 20 3c 63 6f 64 65 3e 62 3c 2f 63 6f 64 65 3e 20 61 72 65 20 6b 6e 6f 77 6e 20 6f 6e 6c 79 20 61 .<code>b</code>.are.known.only.a
1e6e0 74 20 72 75 6e 74 69 6d 65 2c 0a 20 20 20 20 20 20 61 6e 64 20 74 68 75 73 20 74 68 69 73 20 64 t.runtime,.......and.thus.this.d
1e700 69 76 69 73 69 6f 6e 20 6f 70 65 72 61 74 69 6f 6e 20 69 73 20 76 75 6c 6e 65 72 61 62 6c 65 20 ivision.operation.is.vulnerable.
1e720 74 6f 20 62 6f 74 68 20 3c 61 20 68 72 65 66 3d 22 23 49 6e 74 65 67 65 72 2d 4f 76 65 72 66 6c to.both.<a.href="#Integer-Overfl
1e740 6f 77 22 3e 49 6e 74 65 67 65 72 20 4f 76 65 72 66 6c 6f 77 3c 2f 61 3e 20 61 6e 64 0a 20 20 20 ow">Integer.Overflow</a>.and....
1e760 20 20 20 3c 61 20 68 72 65 66 3d 22 23 44 69 76 69 73 69 6f 6e 2d 62 79 2d 5a 65 72 6f 22 3e 44 ...<a.href="#Division-by-Zero">D
1e780 69 76 69 73 69 6f 6e 20 62 79 20 5a 65 72 6f 3c 2f 61 3e 2e 0a 20 20 20 20 20 20 3c 2f 70 3e 0a ivision.by.Zero</a>........</p>.
1e7a0 20 20 20 20 20 20 3c 70 3e 0a 20 20 20 20 20 20 4f 70 65 72 61 74 6f 72 73 20 73 75 63 68 20 61 ......<p>.......Operators.such.a
1e7c0 73 20 3c 63 6f 64 65 3e 2b 3c 2f 63 6f 64 65 3e 20 61 6e 64 20 3c 63 6f 64 65 3e 2d 3c 2f 63 6f s.<code>+</code>.and.<code>-</co
1e7e0 64 65 3e 20 63 61 75 73 65 20 3c 61 20 68 72 65 66 3d 22 23 49 6c 6c 65 67 61 6c 2d 42 65 68 61 de>.cause.<a.href="#Illegal-Beha
1e800 76 69 6f 72 22 3e 49 6c 6c 65 67 61 6c 20 42 65 68 61 76 69 6f 72 3c 2f 61 3e 20 6f 6e 0a 20 20 vior">Illegal.Behavior</a>.on...
1e820 20 20 20 20 69 6e 74 65 67 65 72 20 6f 76 65 72 66 6c 6f 77 2e 20 41 6c 74 65 72 6e 61 74 69 76 ....integer.overflow..Alternativ
1e840 65 20 6f 70 65 72 61 74 6f 72 73 20 61 72 65 20 70 72 6f 76 69 64 65 64 20 66 6f 72 20 77 72 61 e.operators.are.provided.for.wra
1e860 70 70 69 6e 67 20 61 6e 64 20 73 61 74 75 72 61 74 69 6e 67 20 61 72 69 74 68 6d 65 74 69 63 20 pping.and.saturating.arithmetic.
1e880 6f 6e 20 61 6c 6c 20 74 61 72 67 65 74 73 2e 0a 20 20 20 20 20 20 3c 63 6f 64 65 3e 2b 25 3c 2f on.all.targets........<code>+%</
1e8a0 63 6f 64 65 3e 20 61 6e 64 20 3c 63 6f 64 65 3e 2d 25 3c 2f 63 6f 64 65 3e 20 70 65 72 66 6f 72 code>.and.<code>-%</code>.perfor
1e8c0 6d 20 77 72 61 70 70 69 6e 67 20 61 72 69 74 68 6d 65 74 69 63 0a 20 20 20 20 20 20 77 68 69 6c m.wrapping.arithmetic.......whil
1e8e0 65 20 3c 63 6f 64 65 3e 2b 7c 3c 2f 63 6f 64 65 3e 20 61 6e 64 20 3c 63 6f 64 65 3e 2d 7c 3c 2f e.<code>+|</code>.and.<code>-|</
1e900 63 6f 64 65 3e 20 70 65 72 66 6f 72 6d 20 73 61 74 75 72 61 74 69 6e 67 20 61 72 69 74 68 6d 65 code>.perform.saturating.arithme
1e920 74 69 63 2e 0a 20 20 20 20 20 20 3c 2f 70 3e 0a 20 20 20 20 20 20 3c 70 3e 0a 20 20 20 20 20 20 tic........</p>.......<p>.......
1e940 5a 69 67 20 73 75 70 70 6f 72 74 73 20 61 72 62 69 74 72 61 72 79 20 62 69 74 2d 77 69 64 74 68 Zig.supports.arbitrary.bit-width
1e960 20 69 6e 74 65 67 65 72 73 2c 20 72 65 66 65 72 65 6e 63 65 64 20 62 79 20 75 73 69 6e 67 0a 20 .integers,.referenced.by.using..
1e980 20 20 20 20 20 61 6e 20 69 64 65 6e 74 69 66 69 65 72 20 6f 66 20 3c 63 6f 64 65 3e 69 3c 2f 63 .....an.identifier.of.<code>i</c
1e9a0 6f 64 65 3e 20 6f 72 20 3c 63 6f 64 65 3e 75 3c 2f 63 6f 64 65 3e 20 66 6f 6c 6c 6f 77 65 64 20 ode>.or.<code>u</code>.followed.
1e9c0 62 79 20 64 69 67 69 74 73 2e 20 46 6f 72 20 65 78 61 6d 70 6c 65 2c 20 74 68 65 20 69 64 65 6e by.digits..For.example,.the.iden
1e9e0 74 69 66 69 65 72 0a 20 20 20 20 20 20 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 tifier.......<code><span.class="
1ea00 74 6f 6b 2d 74 79 70 65 22 3e 69 37 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 20 72 65 66 65 72 tok-type">i7</span></code>.refer
1ea20 73 20 74 6f 20 61 20 73 69 67 6e 65 64 20 37 2d 62 69 74 20 69 6e 74 65 67 65 72 2e 20 54 68 65 s.to.a.signed.7-bit.integer..The
1ea40 20 6d 61 78 69 6d 75 6d 20 61 6c 6c 6f 77 65 64 20 62 69 74 2d 77 69 64 74 68 20 6f 66 20 61 6e .maximum.allowed.bit-width.of.an
1ea60 0a 20 20 20 20 20 20 69 6e 74 65 67 65 72 20 74 79 70 65 20 69 73 20 3c 63 6f 64 65 3e 3c 73 70 .......integer.type.is.<code><sp
1ea80 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 36 35 35 33 35 3c 2f 73 70 61 an.class="tok-number">65535</spa
1eaa0 6e 3e 3c 2f 63 6f 64 65 3e 2e 20 46 6f 72 20 73 69 67 6e 65 64 20 69 6e 74 65 67 65 72 20 74 79 n></code>..For.signed.integer.ty
1eac0 70 65 73 2c 20 5a 69 67 20 75 73 65 73 20 61 0a 20 20 20 20 20 20 3c 61 20 68 72 65 66 3d 22 68 pes,.Zig.uses.a.......<a.href="h
1eae0 74 74 70 73 3a 2f 2f 65 6e 2e 77 69 6b 69 70 65 64 69 61 2e 6f 72 67 2f 77 69 6b 69 2f 54 77 6f ttps://en.wikipedia.org/wiki/Two
1eb00 27 73 5f 63 6f 6d 70 6c 65 6d 65 6e 74 22 3e 74 77 6f 27 73 20 63 6f 6d 70 6c 65 6d 65 6e 74 3c 's_complement">two's.complement<
1eb20 2f 61 3e 20 72 65 70 72 65 73 65 6e 74 61 74 69 6f 6e 2e 0a 20 20 20 20 20 20 3c 2f 70 3e 0a 20 /a>.representation........</p>..
1eb40 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
1eb60 20 68 72 65 66 3d 22 23 57 72 61 70 70 69 6e 67 2d 4f 70 65 72 61 74 69 6f 6e 73 22 3e 57 72 61 .href="#Wrapping-Operations">Wra
1eb80 70 70 69 6e 67 20 4f 70 65 72 61 74 69 6f 6e 73 3c 2f 61 3e 3c 2f 6c 69 3e 0a 3c 2f 75 6c 3e 0a pping.Operations</a></li>.</ul>.
1eba0 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 46 6c 6f .....................<h2.id="Flo
1ebc0 61 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 46 6c 6f 61 ats"><a.href="nav.xhtml#toc-Floa
1ebe0 74 73 22 3e 46 6c 6f 61 74 73 3c 2f 61 3e 20 3c 61 20 63 6c 61 73 73 3d 22 68 64 72 22 20 68 72 ts">Floats</a>.<a.class="hdr".hr
1ec00 65 66 3d 22 23 46 6c 6f 61 74 73 22 3e c2 a7 3c 2f 61 3e 3c 2f 68 32 3e 0a 0a 20 20 20 20 20 20 ef="#Floats">..</a></h2>........
1ec20 3c 70 3e 5a 69 67 20 68 61 73 20 74 68 65 20 66 6f 6c 6c 6f 77 69 6e 67 20 66 6c 6f 61 74 69 6e <p>Zig.has.the.following.floatin
1ec40 67 20 70 6f 69 6e 74 20 74 79 70 65 73 3a 3c 2f 70 3e 0a 20 20 20 20 20 20 3c 75 6c 3e 0a 20 20 g.point.types:</p>.......<ul>...
1ec60 20 20 20 20 20 20 20 20 3c 6c 69 3e 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 ........<li><code><span.class="t
1ec80 6f 6b 2d 74 79 70 65 22 3e 66 31 36 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 20 2d 20 49 45 45 ok-type">f16</span></code>.-.IEE
1eca0 45 2d 37 35 34 2d 32 30 30 38 20 62 69 6e 61 72 79 31 36 3c 2f 6c 69 3e 0a 20 20 20 20 20 20 20 E-754-2008.binary16</li>........
1ecc0 20 20 20 3c 6c 69 3e 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 ...<li><code><span.class="tok-ty
1ece0 70 65 22 3e 66 33 32 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 20 2d 20 49 45 45 45 2d 37 35 34 pe">f32</span></code>.-.IEEE-754
1ed00 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 20 20 3c 6c -2008.binary32</li>...........<l
1ed20 69 3e 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 66 i><code><span.class="tok-type">f
1ed40 36 34 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 64</span></code>.-.IEEE-754-2008
1ed60 20 62 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 .binary64</li>...........<li><co
1ed80 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 66 38 30 3c 2f 73 de><span.class="tok-type">f80</s
1eda0 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 38 30 2d 62 pan></code>.-.IEEE-754-2008.80-b
1edc0 69 74 20 65 78 74 65 6e 64 65 64 20 70 72 65 63 69 73 69 6f 6e 3c 2f 6c 69 3e 0a 20 20 20 20 20 it.extended.precision</li>......
1ede0 20 20 20 20 20 3c 6c 69 3e 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d .....<li><code><span.class="tok-
1ee00 74 79 70 65 22 3e 66 31 32 38 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 20 2d 20 49 45 45 45 2d type">f128</span></code>.-.IEEE-
1ee20 37 35 34 2d 32 30 30 38 20 62 69 6e 61 72 79 31 32 38 3c 2f 6c 69 3e 0a 20 20 20 20 20 20 20 20 754-2008.binary128</li>.........
1ee40 20 20 3c 6c 69 3e 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 ..<li><code><span.class="tok-typ
1ee60 65 22 3e 63 5f 6c 6f 6e 67 64 6f 75 62 6c 65 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 20 2d 20 e">c_longdouble</span></code>.-.
1ee80 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 6e 67 20 64 6f 75 matches.<code.class="c">long.dou
1eea0 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 43 20 41 42 49 3c ble</code>.for.the.target.C.ABI<
1eec0 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 20 69 64 3d 22 46 /li>.......</ul>.......<h3.id="F
1eee0 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 76 2e 78 68 74 6d loat-Literals"><a.href="nav.xhtm
1ef00 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 74 20 4c 69 74 65 l#toc-Float-Literals">Float.Lite
1ef20 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 46 rals</a>.<a.class="hdr".href="#F
1ef40 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 0a 0a 20 20 20 20 loat-Literals">..</a></h3>......
1ef60 20 20 3c 70 3e 0a 20 20 20 20 20 20 46 6c 6f 61 74 20 6c 69 74 65 72 61 6c 73 20 68 61 76 65 20 ..<p>.......Float.literals.have.
1ef80 74 79 70 65 20 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 type.<code><span.class="tok-type
1efa0 22 3e 63 6f 6d 70 74 69 6d 65 5f 66 6c 6f 61 74 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 20 77 ">comptime_float</span></code>.w
1efc0 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......
1efe0 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
1f000 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
1f020 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
1f040 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 66 31 32 38 3c 2f 73 e><span.class="tok-type">f128</s
1f060 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
1f080 3e 0a 20 20 20 20 20 20 46 6c 6f 61 74 20 6c 69 74 65 72 61 6c 73 20 3c 61 20 68 72 65 66 3d 22 >.......Float.literals.<a.href="
1f0a0 23 54 79 70 65 2d 43 6f 65 72 63 69 6f 6e 22 3e 63 6f 65 72 63 65 3c 2f 61 3e 20 74 6f 20 61 6e #Type-Coercion">coerce</a>.to.an
1f0c0 79 20 66 6c 6f 61 74 69 6e 67 20 70 6f 69 6e 74 20 74 79 70 65 2c 0a 20 20 20 20 20 20 61 6e 64 y.floating.point.type,.......and
1f0e0 20 74 6f 20 61 6e 79 20 3c 61 20 68 72 65 66 3d 22 23 49 6e 74 65 67 65 72 73 22 3e 69 6e 74 65 .to.any.<a.href="#Integers">inte
1f100 67 65 72 3c 2f 61 3e 20 74 79 70 65 20 77 68 65 6e 20 74 68 65 72 65 20 69 73 20 6e 6f 20 66 72 ger</a>.type.when.there.is.no.fr
1f120 61 63 74 69 6f 6e 61 6c 20 63 6f 6d 70 6f 6e 65 6e 74 2e 0a 20 20 20 20 20 20 3c 2f 70 3e 0a 20 actional.component........</p>..
1f140 20 20 20 20 20 3c 66 69 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="
1f160 7a 69 67 2d 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
1f180 74 5f 6c 69 74 65 72 61 6c 73 2e 7a 69 67 3c 2f 63 69 74 65 3e 3c 2f 66 69 67 63 61 70 74 69 6f t_literals.zig</cite></figcaptio
1f1a0 6e 3e 3c 70 72 65 3e 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 n><pre><code><span.class="tok-kw
1f1c0 22 3e 63 6f 6e 73 74 3c 2f 73 70 61 6e 3e 20 66 6c 6f 61 74 69 6e 67 5f 70 6f 69 6e 74 20 3d 20 ">const</span>.floating_point.=.
1f1e0 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 31 32 33 2e 30 45 2b <span.class="tok-number">123.0E+
1f200 37 37 3c 2f 73 70 61 6e 3e 3b 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 77</span>;.<span.class="tok-kw">
1f220 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 74 20 3d 20 3c 73 70 const</span>.another_float.=.<sp
1f240 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 31 32 33 2e 30 3c 2f 73 70 61 an.class="tok-number">123.0</spa
1f260 6e 3e 3b 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 63 6f 6e 73 74 3c 2f n>;.<span.class="tok-kw">const</
1f280 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 3d span>.yet_another.=.<span.class=
1f2a0 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 0a 0a "tok-number">123.0e+77</span>;..
1f2c0 3c 73 70 61 6e 20 63 6c 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
1f2e0 3e 20 68 65 78 5f 66 6c 6f 61 74 69 6e 67 5f 70 6f 69 6e 74 20 3d 20 3c 73 70 61 6e 20 63 6c 61 >.hex_floating_point.=.<span.cla
1f300 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 30 78 31 30 33 2e 37 30 70 2d 35 3c 2f 73 70 61 ss="tok-number">0x103.70p-5</spa
1f320 6e 3e 3b 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 63 6f 6e 73 74 3c 2f n>;.<span.class="tok-kw">const</
1f340 73 70 61 6e 3e 20 61 6e 6f 74 68 65 72 5f 68 65 78 5f 66 6c 6f 61 74 20 3d 20 3c 73 70 61 6e 20 span>.another_hex_float.=.<span.
1f360 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 30 78 31 30 33 2e 37 30 3c 2f 73 70 61 class="tok-number">0x103.70</spa
1f380 6e 3e 3b 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 63 6f 6e 73 74 3c 2f n>;.<span.class="tok-kw">const</
1f3a0 73 70 61 6e 3e 20 79 65 74 5f 61 6e 6f 74 68 65 72 5f 68 65 78 5f 66 6c 6f 61 74 20 3d 20 3c 73 span>.yet_another_hex_float.=.<s
1f3c0 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 30 78 31 30 33 2e 37 30 50 pan.class="tok-number">0x103.70P
1f3e0 2d 35 3c 2f 73 70 61 6e 3e 3b 0a 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 63 6f 6d -5</span>;..<span.class="tok-com
1f400 6d 65 6e 74 22 3e 2f 2f 20 75 6e 64 65 72 73 63 6f 72 65 73 20 6d 61 79 20 62 65 20 70 6c 61 63 ment">//.underscores.may.be.plac
1f420 65 64 20 62 65 74 77 65 65 6e 20 74 77 6f 20 64 69 67 69 74 73 20 61 73 20 61 20 76 69 73 75 61 ed.between.two.digits.as.a.visua
1f440 6c 20 73 65 70 61 72 61 74 6f 72 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 l.separator</span>.<span.class="
1f460 74 6f 6b 2d 6b 77 22 3e 63 6f 6e 73 74 3c 2f 73 70 61 6e 3e 20 6c 69 67 68 74 73 70 65 65 64 20 tok-kw">const</span>.lightspeed.
1f480 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 32 39 39 5f 37 =.<span.class="tok-number">299_7
1f4a0 39 32 5f 34 35 38 2e 30 30 30 5f 30 30 30 3c 2f 73 70 61 6e 3e 3b 0a 3c 73 70 61 6e 20 63 6c 61 92_458.000_000</span>;.<span.cla
1f4c0 73 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 6e 6f 73 65 63 ss="tok-kw">const</span>.nanosec
1f4e0 6f 6e 64 20 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 30 ond.=.<span.class="tok-number">0
1f500 2e 30 30 30 5f 30 30 30 5f 30 30 31 3c 2f 73 70 61 6e 3e 3b 0a 3c 73 70 61 6e 20 63 6c 61 73 73 .000_000_001</span>;.<span.class
1f520 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 72 65 5f 68 65 78 20 ="tok-kw">const</span>.more_hex.
1f540 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 30 78 31 32 33 =.<span.class="tok-number">0x123
1f560 34 5f 35 36 37 38 2e 39 41 42 43 5f 43 44 45 46 70 2d 31 30 3c 2f 73 70 61 6e 3e 3b 3c 2f 63 6f 4_5678.9ABC_CDEFp-10</span>;</co
1f580 64 65 3e 3c 2f 70 72 65 3e 3c 2f 66 69 67 75 72 65 3e 0a 0a 20 20 20 20 20 20 3c 70 3e 0a 20 20 de></pre></figure>........<p>...
1f5a0 20 20 20 20 54 68 65 72 65 20 69 73 20 6e 6f 20 73 79 6e 74 61 78 20 66 6f 72 20 4e 61 4e 2c 20 ....There.is.no.syntax.for.NaN,.
1f5c0 69 6e 66 69 6e 69 74 79 2c 20 6f 72 20 6e 65 67 61 74 69 76 65 20 69 6e 66 69 6e 69 74 79 2e 20 infinity,.or.negative.infinity..
1f5e0 46 6f 72 20 74 68 65 73 65 20 73 70 65 63 69 61 6c 20 76 61 6c 75 65 73 2c 0a 20 20 20 20 20 20 For.these.special.values,.......
1f600 6f 6e 65 20 6d 75 73 74 20 75 73 65 20 74 68 65 20 73 74 61 6e 64 61 72 64 20 6c 69 62 72 61 72 one.must.use.the.standard.librar
1f620 79 3a 0a 20 20 20 20 20 20 3c 2f 70 3e 0a 20 20 20 20 20 20 3c 66 69 67 75 72 65 3e 3c 66 69 67 y:.......</p>.......<figure><fig
1f640 63 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
1f660 61 73 73 3d 22 66 69 6c 65 22 3e 66 6c 6f 61 74 5f 73 70 65 63 69 61 6c 5f 76 61 6c 75 65 73 2e ass="file">float_special_values.
1f680 7a 69 67 3c 2f 63 69 74 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
1f6a0 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 63 6f 6e 73 74 3c 2f 73 70 e><span.class="tok-kw">const</sp
1f6c0 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
1f6e0 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="
1f700 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>)
1f720 3b 0a 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 63 6f 6e 73 74 3c 2f 73 ;..<span.class="tok-kw">const</s
1f740 70 61 6e 3e 20 69 6e 66 20 3d 20 73 74 64 2e 6d 61 74 68 2e 69 6e 66 28 3c 73 70 61 6e 20 63 6c pan>.inf.=.std.math.inf(<span.cl
1f760 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 66 33 32 3c 2f 73 70 61 6e 3e 29 3b 0a 3c 73 70 61 ass="tok-type">f32</span>);.<spa
1f780 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 63 6f 6e 73 74 3c 2f 73 70 61 6e 3e 20 6e 65 n.class="tok-kw">const</span>.ne
1f7a0 67 61 74 69 76 65 5f 69 6e 66 20 3d 20 2d 73 74 64 2e 6d 61 74 68 2e 69 6e 66 28 3c 73 70 61 6e gative_inf.=.-std.math.inf(<span
1f7c0 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 3b 0a 3c .class="tok-type">f64</span>);.<
1f7e0 73 70 61 6e 20 63 6c 61 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>
1f800 20 6e 61 6e 20 3d 20 73 74 64 2e 6d 61 74 68 2e 6e 61 6e 28 3c 73 70 61 6e 20 63 6c 61 73 73 3d .nan.=.std.math.nan(<span.class=
1f820 22 74 6f 6b 2d 74 79 70 65 22 3e 66 31 32 38 3c 2f 73 70 61 6e 3e 29 3b 3c 2f 63 6f 64 65 3e 3c "tok-type">f128</span>);</code><
1f840 2f 70 72 65 3e 3c 2f 66 69 67 75 72 65 3e 0a 0a 20 20 20 20 20 20 0a 20 20 20 20 20 20 3c 68 33 /pre></figure>...............<h3
1f860 20 69 64 3d 22 46 6c 6f 61 74 69 6e 67 2d 50 6f 69 6e 74 2d 4f 70 65 72 61 74 69 6f 6e 73 22 3e .id="Floating-Point-Operations">
1f880 3c 61 20 68 72 65 66 3d 22 6e 61 76 2e 78 68 74 6d 6c 23 74 6f 63 2d 46 6c 6f 61 74 69 6e 67 2d <a.href="nav.xhtml#toc-Floating-
1f8a0 50 6f 69 6e 74 2d 4f 70 65 72 61 74 69 6f 6e 73 22 3e 46 6c 6f 61 74 69 6e 67 20 50 6f 69 6e 74 Point-Operations">Floating.Point
1f8c0 20 4f 70 65 72 61 74 69 6f 6e 73 3c 2f 61 3e 20 3c 61 20 63 6c 61 73 73 3d 22 68 64 72 22 20 68 .Operations</a>.<a.class="hdr".h
1f8e0 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 73 22 ref="#Floating-Point-Operations"
1f900 3e c2 a7 3c 2f 61 3e 3c 2f 68 33 3e 0a 0a 20 20 20 20 20 20 3c 70 3e 42 79 20 64 65 66 61 75 6c >..</a></h3>........<p>By.defaul
1f920 74 20 66 6c 6f 61 74 69 6e 67 20 70 6f 69 6e 74 20 6f 70 65 72 61 74 69 6f 6e 73 20 75 73 65 20 t.floating.point.operations.use.
1f940 3c 63 6f 64 65 3e 2e 73 74 72 69 63 74 3c 2f 63 6f 64 65 3e 20 6d 6f 64 65 2c 0a 20 20 20 20 20 <code>.strict</code>.mode,......
1f960 20 20 20 20 20 62 75 74 20 79 6f 75 20 63 61 6e 20 73 77 69 74 63 68 20 74 6f 20 3c 63 6f 64 65 .....but.you.can.switch.to.<code
1f980 3e 2e 6f 70 74 69 6d 69 7a 65 64 3c 2f 63 6f 64 65 3e 20 6d 6f 64 65 20 6f 6e 20 61 20 70 65 72 >.optimized</code>.mode.on.a.per
1f9a0 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 75 72 65 3e -block.basis:</p>.......<figure>
1f9c0 3c 66 69 67 63 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
1f9e0 65 20 63 6c 61 73 73 3d 22 66 69 6c 65 22 3e 66 6c 6f 61 74 5f 6d 6f 64 65 5f 6f 62 6a 2e 7a 69 e.class="file">float_mode_obj.zi
1fa00 67 3c 2f 63 69 74 65 3e 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>
1fa20 3c 73 70 61 6e 20 63 6c 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
1fa40 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
1fa60 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
1fa80 6b 2d 73 74 72 22 3e 26 71 75 6f 74 3b 73 74 64 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 29 3b 0a k-str">&quot;std&quot;</span>);.
1faa0 3c 73 70 61 6e 20 63 6c 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
1fac0 3e 20 62 69 67 20 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 62 75 69 6c 74 69 6e >.big.=.<span.class="tok-builtin
1fae0 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
1fb00 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
1fb20 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 3c 73 70 61 6e -number">1</span>.&lt;&lt;.<span
1fb40 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 34 30 3c 2f 73 70 61 6e 3e 29 3b 0a .class="tok-number">40</span>);.
1fb60 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 65 78 70 6f 72 74 3c 2f 73 70 .<span.class="tok-kw">export</sp
1fb80 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
1fba0 6e 3e 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 66 6e 22 3e 66 6f 6f 5f 73 74 72 69 n>.<span.class="tok-fn">foo_stri
1fbc0 63 74 3c 2f 73 70 61 6e 3e 28 78 3a 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 ct</span>(x:.<span.class="tok-ty
1fbe0 70 65 22 3e 66 36 34 3c 2f 73 70 61 6e 3e 29 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b pe">f64</span>).<span.class="tok
1fc00 2d 74 79 70 65 22 3e 66 36 34 3c 2f 73 70 61 6e 3e 20 7b 0a 20 20 20 20 3c 73 70 61 6e 20 63 6c -type">f64</span>.{.....<span.cl
1fc20 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 72 65 74 75 72 6e 3c 2f 73 70 61 6e 3e 20 78 20 2b 20 62 ass="tok-kw">return</span>.x.+.b
1fc40 69 67 20 2d 20 62 69 67 3b 0a 7d 0a 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 ig.-.big;.}..<span.class="tok-kw
1fc60 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
1fc80 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-
1fca0 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 70 61 fn">foo_optimized</span>(x:.<spa
1fcc0 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 66 36 34 3c 2f 73 70 61 6e 3e 29 20 3c n.class="tok-type">f64</span>).<
1fce0 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>
1fd00 20 7b 0a 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 62 75 69 6c 74 69 6e 22 .{.....<span.class="tok-builtin"
1fd20 3e 40 73 65 74 46 6c 6f 61 74 4d 6f 64 65 3c 2f 73 70 61 6e 3e 28 2e 6f 70 74 69 6d 69 7a 65 64 >@setFloatMode</span>(.optimized
1fd40 29 3b 0a 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 72 65 74 75 );.....<span.class="tok-kw">retu
1fd60 72 6e 3c 2f 73 70 61 6e 3e 20 78 20 2b 20 62 69 67 20 2d 20 62 69 67 3b 0a 7d 3c 2f 63 6f 64 65 rn</span>.x.+.big.-.big;.}</code
1fd80 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
1fda0 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
1fdc0 63 61 70 74 69 6f 6e 3e 3c 70 72 65 3e 3c 73 61 6d 70 3e 24 20 3c 6b 62 64 3e 7a 69 67 20 62 75 caption><pre><samp>$.<kbd>zig.bu
1fde0 69 6c 64 2d 6f 62 6a 20 66 6c 6f 61 74 5f 6d 6f 64 65 5f 6f 62 6a 2e 7a 69 67 20 2d 4f 20 52 65 ild-obj.float_mode_obj.zig.-O.Re
1fe00 6c 65 61 73 65 46 61 73 74 3c 2f 6b 62 64 3e 0a 3c 2f 73 61 6d 70 3e 3c 2f 70 72 65 3e 3c 2f 66 leaseFast</kbd>.</samp></pre></f
1fe20 69 67 75 72 65 3e 0a 0a 20 20 20 20 20 20 3c 70 3e 46 6f 72 20 74 68 69 73 20 74 65 73 74 20 77 igure>........<p>For.this.test.w
1fe40 65 20 68 61 76 65 20 74 6f 20 73 65 70 61 72 61 74 65 20 63 6f 64 65 20 69 6e 74 6f 20 74 77 6f e.have.to.separate.code.into.two
1fe60 20 6f 62 6a 65 63 74 20 66 69 6c 65 73 20 2d 0a 20 20 20 20 20 20 6f 74 68 65 72 77 69 73 65 20 .object.files.-.......otherwise.
1fe80 74 68 65 20 6f 70 74 69 6d 69 7a 65 72 20 66 69 67 75 72 65 73 20 6f 75 74 20 61 6c 6c 20 74 68 the.optimizer.figures.out.all.th
1fea0 65 20 76 61 6c 75 65 73 20 61 74 20 63 6f 6d 70 69 6c 65 2d 74 69 6d 65 2c 0a 20 20 20 20 20 20 e.values.at.compile-time,.......
1fec0 77 68 69 63 68 20 6f 70 65 72 61 74 65 73 20 69 6e 20 73 74 72 69 63 74 20 6d 6f 64 65 2e 3c 2f which.operates.in.strict.mode.</
1fee0 70 3e 0a 20 20 20 20 20 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
1ff00 73 73 3d 22 7a 69 67 2d 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">
1ff20 66 6c 6f 61 74 5f 6d 6f 64 65 5f 65 78 65 2e 7a 69 67 3c 2f 63 69 74 65 3e 3c 2f 66 69 67 63 61 float_mode_exe.zig</cite></figca
1ff40 70 74 69 6f 6e 3e 3c 70 72 65 3e 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f ption><pre><code><span.class="to
1ff60 6b 2d 6b 77 22 3e 63 6f 6e 73 74 3c 2f 73 70 61 6e 3e 20 70 72 69 6e 74 20 3d 20 3c 73 70 61 6e k-kw">const</span>.print.=.<span
1ff80 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
1ffa0 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;
1ffc0 73 74 64 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 29 2e 64 65 62 75 67 2e 70 72 69 6e 74 3b 0a 0a std&quot;</span>).debug.print;..
1ffe0 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 65 78 74 65 72 6e 3c 2f 73 70 61 <span.class="tok-kw">extern</spa
20000 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
20020 3e 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 66 6e 22 3e 66 6f 6f 5f 73 74 72 69 63 >.<span.class="tok-fn">foo_stric
20040 74 3c 2f 73 70 61 6e 3e 28 78 3a 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 t</span>(x:.<span.class="tok-typ
20060 65 22 3e 66 36 34 3c 2f 73 70 61 6e 3e 29 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d e">f64</span>).<span.class="tok-
20080 74 79 70 65 22 3e 66 36 34 3c 2f 73 70 61 6e 3e 3b 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 type">f64</span>;.<span.class="t
200a0 6f 6b 2d 6b 77 22 3e 65 78 74 65 72 6e 3c 2f 73 70 61 6e 3e 20 3c 73 70 61 6e 20 63 6c 61 73 73 ok-kw">extern</span>.<span.class
200c0 3d 22 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=
200e0 22 74 6f 6b 2d 66 6e 22 3e 66 6f 6f 5f 6f 70 74 69 6d 69 7a 65 64 3c 2f 73 70 61 6e 3e 28 78 3a "tok-fn">foo_optimized</span>(x:
20100 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
20120 6e 3e 29 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 66 36 34 3c 2f n>).<span.class="tok-type">f64</
20140 73 70 61 6e 3e 3b 0a 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 70 75 62 span>;..<span.class="tok-kw">pub
20160 3c 2f 73 70 61 6e 3e 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 66 6e 3c </span>.<span.class="tok-kw">fn<
20180 2f 73 70 61 6e 3e 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 66 6e 22 3e 6d 61 69 6e /span>.<span.class="tok-fn">main
201a0 3c 2f 73 70 61 6e 3e 28 29 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 </span>().<span.class="tok-type"
201c0 3e 76 6f 69 64 3c 2f 73 70 61 6e 3e 20 7b 0a 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 >void</span>.{.....<span.class="
201e0 74 6f 6b 2d 6b 77 22 3e 63 6f 6e 73 74 3c 2f 73 70 61 6e 3e 20 78 20 3d 20 3c 73 70 61 6e 20 63 tok-kw">const</span>.x.=.<span.c
20200 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 30 2e 30 30 31 3c 2f 73 70 61 6e 3e 3b 0a lass="tok-number">0.001</span>;.
20220 20 20 20 20 70 72 69 6e 74 28 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 73 74 72 22 3e ....print(<span.class="tok-str">
20240 26 71 75 6f 74 3b 6f 70 74 69 6d 69 7a 65 64 20 3d 20 7b 7d 5c 6e 26 71 75 6f 74 3b 3c 2f 73 70 &quot;optimized.=.{}\n&quot;</sp
20260 61 6e 3e 2c 20 2e 7b 66 6f 6f 5f 6f 70 74 69 6d 69 7a 65 64 28 78 29 7d 29 3b 0a 20 20 20 20 70 an>,..{foo_optimized(x)});.....p
20280 72 69 6e 74 28 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 73 74 72 22 3e 26 71 75 6f 74 rint(<span.class="tok-str">&quot
202a0 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 20 2e 7b 66 ;strict.=.{}\n&quot;</span>,..{f
202c0 6f 6f 5f 73 74 72 69 63 74 28 78 29 7d 29 3b 0a 7d 3c 2f 63 6f 64 65 3e 3c 2f 70 72 65 3e 3c 2f oo_strict(x)});.}</code></pre></
202e0 66 69 67 75 72 65 3e 0a 0a 20 20 20 20 20 20 3c 70 3e 53 65 65 20 61 6c 73 6f 3a 3c 2f 70 3e 3c figure>........<p>See.also:</p><
20300 75 6c 3e 0a 3c 6c 69 3e 3c 61 20 68 72 65 66 3d 22 23 73 65 74 46 6c 6f 61 74 4d 6f 64 65 22 3e ul>.<li><a.href="#setFloatMode">
20320 40 73 65 74 46 6c 6f 61 74 4d 6f 64 65 3c 2f 61 3e 3c 2f 6c 69 3e 0a 3c 6c 69 3e 3c 61 20 68 72 @setFloatMode</a></li>.<li><a.hr
20340 65 66 3d 22 23 44 69 76 69 73 69 6f 6e 2d 62 79 2d 5a 65 72 6f 22 3e 44 69 76 69 73 69 6f 6e 20 ef="#Division-by-Zero">Division.
20360 62 79 20 5a 65 72 6f 3c 2f 61 3e 3c 2f 6c 69 3e 0a 3c 2f 75 6c 3e 0a 0a 20 20 20 20 20 20 0a 20 by.Zero</a></li>.</ul>..........
20380 20 20 20 20 20 0a 20 20 20 20 20 20 3c 68 32 20 69 64 3d 22 4f 70 65 72 61 74 6f 72 73 22 3e 3c ............<h2.id="Operators"><
203a0 61 20 68 72 65 66 3d 22 6e 61 76 2e 78 68 74 6d 6c 23 74 6f 63 2d 4f 70 65 72 61 74 6f 72 73 22 a.href="nav.xhtml#toc-Operators"
203c0 3e 4f 70 65 72 61 74 6f 72 73 3c 2f 61 3e 20 3c 61 20 63 6c 61 73 73 3d 22 68 64 72 22 20 68 72 >Operators</a>.<a.class="hdr".hr
203e0 65 66 3d 22 23 4f 70 65 72 61 74 6f 72 73 22 3e c2 a7 3c 2f 61 3e 3c 2f 68 32 3e 0a 0a 20 20 20 ef="#Operators">..</a></h2>.....
20400 20 20 20 3c 70 3e 0a 20 20 20 20 20 20 54 68 65 72 65 20 69 73 20 6e 6f 20 6f 70 65 72 61 74 6f ...<p>.......There.is.no.operato
20420 72 20 6f 76 65 72 6c 6f 61 64 69 6e 67 2e 20 57 68 65 6e 20 79 6f 75 20 73 65 65 20 61 6e 20 6f r.overloading..When.you.see.an.o
20440 70 65 72 61 74 6f 72 20 69 6e 20 5a 69 67 2c 20 79 6f 75 20 6b 6e 6f 77 20 74 68 61 74 0a 20 20 perator.in.Zig,.you.know.that...
20460 20 20 20 20 69 74 20 69 73 20 64 6f 69 6e 67 20 73 6f 6d 65 74 68 69 6e 67 20 66 72 6f 6d 20 74 ....it.is.doing.something.from.t
20480 68 69 73 20 74 61 62 6c 65 2c 20 61 6e 64 20 6e 6f 74 68 69 6e 67 20 65 6c 73 65 2e 0a 20 20 20 his.table,.and.nothing.else.....
204a0 20 20 20 3c 2f 70 3e 0a 20 20 20 20 20 20 3c 68 33 20 69 64 3d 22 54 61 62 6c 65 2d 6f 66 2d 4f ...</p>.......<h3.id="Table-of-O
204c0 70 65 72 61 74 6f 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 perators"><a.href="nav.xhtml#toc
204e0 2d 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
20500 65 72 61 74 6f 72 73 3c 2f 61 3e 20 3c 61 20 63 6c 61 73 73 3d 22 68 64 72 22 20 68 72 65 66 3d erators</a>.<a.class="hdr".href=
20520 22 23 54 61 62 6c 65 2d 6f 66 2d 4f 70 65 72 61 74 6f 72 73 22 3e c2 a7 3c 2f 61 3e 3c 2f 68 33 "#Table-of-Operators">..</a></h3
20540 3e 0a 0a 20 20 20 20 20 20 3c 64 69 76 20 63 6c 61 73 73 3d 22 74 61 62 6c 65 2d 77 72 61 70 70 >........<div.class="table-wrapp
20560 65 72 22 3e 0a 20 20 20 20 20 20 3c 74 61 62 6c 65 3e 0a 20 20 20 20 20 20 20 20 3c 74 68 65 61 er">.......<table>.........<thea
20580 64 3e 0a 20 20 20 20 20 20 20 20 3c 74 72 3e 0a 20 20 20 20 20 20 20 20 20 20 3c 74 68 20 73 63 d>.........<tr>...........<th.sc
205a0 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 20 20 3c 74 ope="col">Name</th>...........<t
205c0 68 20 73 63 6f 70 65 3d 22 63 6f 6c 22 3e 53 79 6e 74 61 78 3c 2f 74 68 3e 0a 20 20 20 20 20 20 h.scope="col">Syntax</th>.......
205e0 20 20 20 20 3c 74 68 20 73 63 6f 70 65 3d 22 63 6f 6c 22 3e 54 79 70 65 73 3c 2f 74 68 3e 0a 20 ....<th.scope="col">Types</th>..
20600 20 20 20 20 20 20 20 20 20 3c 74 68 20 73 63 6f 70 65 3d 22 63 6f 6c 22 3e 52 65 6d 61 72 6b 73 .........<th.scope="col">Remarks
20620 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">
20640 45 78 61 6d 70 6c 65 3c 2f 74 68 3e 0a 20 20 20 20 20 20 20 20 3c 2f 74 72 3e 0a 20 20 20 20 20 Example</th>.........</tr>......
20660 20 20 20 3c 2f 74 68 65 61 64 3e 0a 20 20 20 20 20 20 20 20 3c 74 62 6f 64 79 3e 0a 20 20 20 20 ...</thead>.........<tbody>.....
20680 20 20 20 20 3c 74 72 3e 0a 20 20 20 20 20 20 20 20 20 20 3c 74 64 3e 41 64 64 69 74 69 6f 6e 3c ....<tr>...........<td>Addition<
206a0 2f 74 64 3e 0a 20 20 20 20 20 20 20 20 20 20 3c 74 64 3e 3c 70 72 65 3e 3c 63 6f 64 65 3e 61 20 /td>...........<td><pre><code>a.
206c0 2b 20 62 0a 61 20 2b 3d 20 62 3c 2f 63 6f 64 65 3e 3c 2f 70 72 65 3e 3c 2f 74 64 3e 0a 20 20 20 +.b.a.+=.b</code></pre></td>....
206e0 20 20 20 20 20 20 20 3c 74 64 3e 0a 20 20 20 20 20 20 20 20 20 20 20 20 3c 75 6c 3e 0a 20 20 20 .......<td>.............<ul>....
20700 20 20 20 20 20 20 20 20 20 20 20 3c 6c 69 3e 3c 61 20 68 72 65 66 3d 22 23 49 6e 74 65 67 65 72 ...........<li><a.href="#Integer
20720 73 22 3e 49 6e 74 65 67 65 72 73 3c 2f 61 3e 3c 2f 6c 69 3e 0a 20 20 20 20 20 20 20 20 20 20 20 s">Integers</a></li>............
20740 20 20 20 3c 6c 69 3e 3c 61 20 68 72 65 66 3d 22 23 46 6c 6f 61 74 73 22 3e 46 6c 6f 61 74 73 3c ...<li><a.href="#Floats">Floats<
20760 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>......
20780 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>.......
207a0 20 20 20 20 20 20 3c 75 6c 3e 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 3c 6c 69 3e 43 61 6e ......<ul>...............<li>Can
207c0 20 63 61 75 73 65 20 3c 61 20 68 72 65 66 3d 22 23 44 65 66 61 75 6c 74 2d 4f 70 65 72 61 74 69 .cause.<a.href="#Default-Operati
207e0 6f 6e 73 22 3e 6f 76 65 72 66 6c 6f 77 3c 2f 61 3e 20 66 6f 72 20 69 6e 74 65 67 65 72 73 2e 3c ons">overflow</a>.for.integers.<
20800 2f 6c 69 3e 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 3c 6c 69 3e 49 6e 76 6f 6b 65 73 20 3c /li>...............<li>Invokes.<
20820 61 20 68 72 65 66 3d 22 23 50 65 65 72 2d 54 79 70 65 2d 52 65 73 6f 6c 75 74 69 6f 6e 22 3e 50 a.href="#Peer-Type-Resolution">P
20840 65 65 72 20 54 79 70 65 20 52 65 73 6f 6c 75 74 69 6f 6e 3c 2f 61 3e 20 66 6f 72 20 74 68 65 20 eer.Type.Resolution</a>.for.the.
20860 6f 70 65 72 61 6e 64 73 2e 3c 2f 6c 69 3e 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 3c 6c 69 operands.</li>...............<li
20880 3e 53 65 65 20 61 6c 73 6f 20 3c 61 20 68 72 65 66 3d 22 23 61 64 64 57 69 74 68 4f 76 65 72 66 >See.also.<a.href="#addWithOverf
208a0 6c 6f 77 22 3e 40 61 64 64 57 69 74 68 4f 76 65 72 66 6c 6f 77 3c 2f 61 3e 2e 3c 2f 6c 69 3e 0a low">@addWithOverflow</a>.</li>.
208c0 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
208e0 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
20900 65 3e 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 e><code><span.class="tok-number"
20920 3e 32 3c 2f 73 70 61 6e 3e 20 2b 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d >2</span>.+.<span.class="tok-num
20940 62 65 72 22 3e 35 3c 2f 73 70 61 6e 3e 20 3d 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f ber">5</span>.==.<span.class="to
20960 6b 2d 6e 75 6d 62 65 72 22 3e 37 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 3c 2f 70 72 65 3e 0a k-number">7</span></code></pre>.
20980 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>...
209a0 20 20 20 20 20 20 3c 74 72 3e 0a 20 20 20 20 20 20 20 20 20 20 3c 74 64 3e 57 72 61 70 70 69 6e ......<tr>...........<td>Wrappin
209c0 67 20 41 64 64 69 74 69 6f 6e 3c 2f 74 64 3e 0a 20 20 20 20 20 20 20 20 20 20 3c 74 64 3e 3c 70 g.Addition</td>...........<td><p
209e0 72 65 3e 3c 63 6f 64 65 3e 61 20 2b 25 20 62 0a 61 20 2b 25 3d 20 62 3c 2f 63 6f 64 65 3e 3c 2f re><code>a.+%.b.a.+%=.b</code></
20a00 70 72 65 3e 3c 2f 74 64 3e 0a 20 20 20 20 20 20 20 20 20 20 3c 74 64 3e 0a 20 20 20 20 20 20 20 pre></td>...........<td>........
20a20 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
20a40 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
20a60 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>...........</
20a80 74 64 3e 0a 20 20 20 20 20 20 20 20 20 20 3c 74 64 3e 0a 20 20 20 20 20 20 20 20 20 20 20 20 3c td>...........<td>.............<
20aa0 75 6c 3e 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 3c 6c 69 3e 54 77 6f 73 2d 63 6f 6d 70 6c ul>...............<li>Twos-compl
20ac0 65 6d 65 6e 74 20 77 72 61 70 70 69 6e 67 20 62 65 68 61 76 69 6f 72 2e 3c 2f 6c 69 3e 0a 20 20 ement.wrapping.behavior.</li>...
20ae0 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=
20b00 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
20b20 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
20b40 73 2e 3c 2f 6c 69 3e 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 3c 6c 69 3e 53 65 65 20 61 6c s.</li>...............<li>See.al
20b60 73 6f 20 3c 61 20 68 72 65 66 3d 22 23 61 64 64 57 69 74 68 4f 76 65 72 66 6c 6f 77 22 3e 40 61 so.<a.href="#addWithOverflow">@a
20b80 64 64 57 69 74 68 4f 76 65 72 66 6c 6f 77 3c 2f 61 3e 2e 3c 2f 6c 69 3e 0a 20 20 20 20 20 20 20 ddWithOverflow</a>.</li>........
20ba0 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>......
20bc0 20 20 20 20 20 3c 74 64 3e 0a 20 20 20 20 20 20 20 20 20 20 20 20 3c 70 72 65 3e 3c 63 6f 64 65 .....<td>.............<pre><code
20be0 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 62 75 69 6c 74 69 6e 22 3e 40 61 73 3c 2f ><span.class="tok-builtin">@as</
20c00 73 70 61 6e 3e 28 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 75 33 32 span>(<span.class="tok-type">u32
20c20 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
20c40 22 3e 30 78 66 66 66 66 66 66 66 66 3c 2f 73 70 61 6e 3e 29 20 2b 25 20 3c 73 70 61 6e 20 63 6c ">0xffffffff</span>).+%.<span.cl
20c60 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
20c80 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 30 3c 2f 73 70 61 6e 3e 3c 2f an.class="tok-number">0</span></
20ca0 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>.....
20cc0 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>..........
20ce0 20 3c 74 64 3e 53 61 74 75 72 61 74 69 6e 67 20 41 64 64 69 74 69 6f 6e 3c 2f 74 64 3e 0a 20 20 .<td>Saturating.Addition</td>...
20d00 20 20 20 20 20 20 20 20 3c 74 64 3e 3c 70 72 65 3e 3c 63 6f 64 65 3e 61 20 2b 7c 20 62 0a 61 20 ........<td><pre><code>a.+|.b.a.
20d20 2b 7c 3d 20 62 3c 2f 63 6f 64 65 3e 3c 2f 70 72 65 3e 3c 2f 74 64 3e 0a 20 20 20 20 20 20 20 20 +|=.b</code></pre></td>.........
20d40 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>.........
20d60 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
20d80 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 6c tegers</a></li>.............</ul
20da0 3e 0a 20 20 20 20 20 20 20 20 20 20 3c 2f 74 64 3e 0a 20 20 20 20 20 20 20 20 20 20 3c 74 64 3e >...........</td>...........<td>
20dc0 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>...............
20de0 3c 6c 69 3e 49 6e 76 6f 6b 65 73 20 3c 61 20 68 72 65 66 3d 22 23 50 65 65 72 2d 54 79 70 65 2d <li>Invokes.<a.href="#Peer-Type-
20e00 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
20e20 3c 2f 61 3e 20 66 6f 72 20 74 68 65 20 6f 70 65 72 61 6e 64 73 2e 3c 2f 6c 69 3e 0a 20 20 20 20 </a>.for.the.operands.</li>.....
20e40 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>...
20e60 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
20e80 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 62 75 69 6c 74 69 6e 22 3e 40 61 ode><span.class="tok-builtin">@a
20ea0 73 3c 2f 73 70 61 6e 3e 28 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e s</span>(<span.class="tok-type">
20ec0 75 38 3c 2f 73 70 61 6e 3e 2c 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 u8</span>,.<span.class="tok-numb
20ee0 65 72 22 3e 32 35 35 3c 2f 73 70 61 6e 3e 29 20 2b 7c 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 er">255</span>).+|.<span.class="
20f00 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
20f20 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
20f40 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>,.<
20f60 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 32 35 35 3c 2f 73 70 61 span.class="tok-number">255</spa
20f80 6e 3e 29 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 n>)</code></pre>...........</td>
20fa0 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>.....
20fc0 20 20 20 20 20 20 3c 74 64 3e 53 75 62 74 72 61 63 74 69 6f 6e 3c 2f 74 64 3e 0a 20 20 20 20 20 ......<td>Subtraction</td>......
20fe0 20 20 20 20 20 3c 74 64 3e 3c 70 72 65 3e 3c 63 6f 64 65 3e 61 20 2d 20 62 0a 61 20 2d 3d 20 62 .....<td><pre><code>a.-.b.a.-=.b
21000 3c 2f 63 6f 64 65 3e 3c 2f 70 72 65 3e 3c 2f 74 64 3e 0a 20 20 20 20 20 20 20 20 20 20 3c 74 64 </code></pre></td>...........<td
21020 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>..............
21040 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
21060 73 3c 2f 61 3e 3c 2f 6c 69 3e 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 3c 6c 69 3e 3c 61 20 s</a></li>...............<li><a.
21080 68 72 65 66 3d 22 23 46 6c 6f 61 74 73 22 3e 46 6c 6f 61 74 73 3c 2f 61 3e 3c 2f 6c 69 3e 0a 20 href="#Floats">Floats</a></li>..
210a0 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>
210c0 0a 20 20 20 20 20 20 20 20 20 20 3c 74 64 3e 0a 20 20 20 20 20 20 20 20 20 20 20 20 3c 75 6c 3e ...........<td>.............<ul>
210e0 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 61 20 ...............<li>Can.cause.<a.
21100 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 72 66 href="#Default-Operations">overf
21120 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 20 20 low</a>.for.integers.</li>......
21140 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 23 50 .........<li>Invokes.<a.href="#P
21160 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 52 eer-Type-Resolution">Peer.Type.R
21180 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 2e 3c esolution</a>.for.the.operands.<
211a0 2f 6c 69 3e 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 3c 6c 69 3e 53 65 65 20 61 6c 73 6f 20 /li>...............<li>See.also.
211c0 3c 61 20 68 72 65 66 3d 22 23 73 75 62 57 69 74 68 4f 76 65 72 66 6c 6f 77 22 3e 40 73 75 62 57 <a.href="#subWithOverflow">@subW
211e0 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 20 20 ithOverflow</a>.</li>...........
21200 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>.........
21220 20 20 3c 74 64 3e 0a 20 20 20 20 20 20 20 20 20 20 20 20 3c 70 72 65 3e 3c 63 6f 64 65 3e 3c 73 ..<td>.............<pre><code><s
21240 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>.
21260 2d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 35 3c 2f 73 70 -.<span.class="tok-number">5</sp
21280 61 6e 3e 20 3d 3d 20 2d 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 an>.==.-<span.class="tok-number"
212a0 3e 33 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 >3</span></code></pre>..........
212c0 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
212e0 3e 0a 20 20 20 20 20 20 20 20 20 20 3c 74 64 3e 57 72 61 70 70 69 6e 67 20 53 75 62 74 72 61 63 >...........<td>Wrapping.Subtrac
21300 74 69 6f 6e 3c 2f 74 64 3e 0a 20 20 20 20 20 20 20 20 20 20 3c 74 64 3e 3c 70 72 65 3e 3c 63 6f tion</td>...........<td><pre><co
21320 64 65 3e 61 20 2d 25 20 62 0a 61 20 2d 25 3d 20 62 3c 2f 63 6f 64 65 3e 3c 2f 70 72 65 3e 3c 2f de>a.-%.b.a.-%=.b</code></pre></
21340 74 64 3e 0a 20 20 20 20 20 20 20 20 20 20 3c 74 64 3e 0a 20 20 20 20 20 20 20 20 20 20 20 20 3c td>...........<td>.............<
21360 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="#
21380 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>.....
213a0 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>...
213c0 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>...
213e0 20 20 20 20 20 20 20 20 20 20 20 20 3c 6c 69 3e 54 77 6f 73 2d 63 6f 6d 70 6c 65 6d 65 6e 74 20 ............<li>Twos-complement.
21400 77 72 61 70 70 69 6e 67 20 62 65 68 61 76 69 6f 72 2e 3c 2f 6c 69 3e 0a 20 20 20 20 20 20 20 20 wrapping.behavior.</li>.........
21420 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 72 ......<li>Invokes.<a.href="#Peer
21440 2d 54 79 70 65 2d 52 65 73 6f 6c 75 74 69 6f 6e 22 3e 50 65 65 72 20 54 79 70 65 20 52 65 73 6f -Type-Resolution">Peer.Type.Reso
21460 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 69 lution</a>.for.the.operands.</li
21480 3e 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 3c 6c 69 3e 53 65 65 20 61 6c 73 6f 20 3c 61 20 >...............<li>See.also.<a.
214a0 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 74 68 href="#subWithOverflow">@subWith
214c0 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 20 3c Overflow</a>.</li>.............<
214e0 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>...........<
21500 74 64 3e 0a 20 20 20 20 20 20 20 20 20 20 20 20 3c 70 72 65 3e 3c 63 6f 64 65 3e 3c 73 70 61 6e td>.............<pre><code><span
21520 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>(
21540 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>
21560 2c 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 30 3c 2f 73 70 ,.<span.class="tok-number">0</sp
21580 61 6e 3e 29 20 2d 25 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 an>).-%.<span.class="tok-number"
215a0 3e 31 3c 2f 73 70 61 6e 3e 20 3d 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 >1</span>.==.<span.class="tok-nu
215c0 6d 62 65 72 22 3e 32 35 35 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 3c 2f 70 72 65 3e 0a 20 20 mber">255</span></code></pre>...
215e0 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>.....
21600 20 20 20 20 3c 74 72 3e 0a 20 20 20 20 20 20 20 20 20 20 3c 74 64 3e 53 61 74 75 72 61 74 69 6e ....<tr>...........<td>Saturatin
21620 67 20 53 75 62 74 72 61 63 74 69 6f 6e 3c 2f 74 64 3e 0a 20 20 20 20 20 20 20 20 20 20 3c 74 64 g.Subtraction</td>...........<td
21640 3e 3c 70 72 65 3e 3c 63 6f 64 65 3e 61 20 2d 7c 20 62 0a 61 20 2d 7c 3d 20 62 3c 2f 63 6f 64 65 ><pre><code>a.-|.b.a.-|=.b</code
21660 3e 3c 2f 70 72 65 3e 3c 2f 74 64 3e 0a 20 20 20 20 20 20 20 20 20 20 3c 74 64 3e 0a 20 20 20 20 ></pre></td>...........<td>.....
21680 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><
216a0 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><
216c0 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>..........
216e0 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>...........
21700 20 20 3c 75 6c 3e 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 3c 6c 69 3e 49 6e 76 6f 6b 65 73 ..<ul>...............<li>Invokes
21720 20 3c 61 20 68 72 65 66 3d 22 23 50 65 65 72 2d 54 79 70 65 2d 52 65 73 6f 6c 75 74 69 6f 6e 22 .<a.href="#Peer-Type-Resolution"
21740 3e 50 65 65 72 20 54 79 70 65 20 52 65 73 6f 6c 75 74 69 6f 6e 3c 2f 61 3e 20 66 6f 72 20 74 68 >Peer.Type.Resolution</a>.for.th
21760 65 20 6f 70 65 72 61 6e 64 73 2e 3c 2f 6c 69 3e 0a 20 20 20 20 20 20 20 20 20 20 20 20 3c 2f 75 e.operands.</li>.............</u
21780 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
217a0 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
217c0 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
217e0 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>,
21800 20 3c 73 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
21820 6e 3e 29 20 2d 7c 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e n>).-|.<span.class="tok-number">
21840 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
21860 62 65 72 22 3e 30 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 3c 2f 70 72 65 3e 0a 20 20 20 20 20 ber">0</span></code></pre>......
21880 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>........
218a0 20 3c 74 72 3e 0a 20 20 20 20 20 20 20 20 20 20 3c 74 64 3e 4e 65 67 61 74 69 6f 6e 3c 2f 74 64 .<tr>...........<td>Negation</td
218c0 3e 0a 20 20 20 20 20 20 20 20 20 20 3c 74 64 3e 3c 70 72 65 3e 3c 63 6f 64 65 3e 2d 61 3c 2f 63 >...........<td><pre><code>-a</c
218e0 6f 64 65 3e 3c 2f 70 72 65 3e 3c 2f 74 64 3e 0a 20 20 20 20 20 20 20 20 20 20 3c 74 64 3e 0a 20 ode></pre></td>...........<td>..
21900 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
21920 69 3e 3c 61 20 68 72 65 66 3d 22 23 49 6e 74 65 67 65 72 73 22 3e 49 6e 74 65 67 65 72 73 3c 2f i><a.href="#Integers">Integers</
21940 61 3e 3c 2f 6c 69 3e 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 3c 6c 69 3e 3c 61 20 68 72 65 a></li>...............<li><a.hre
21960 66 3d 22 23 46 6c 6f 61 74 73 22 3e 46 6c 6f 61 74 73 3c 2f 61 3e 3c 2f 6c 69 3e 0a 20 20 20 20 f="#Floats">Floats</a></li>.....
21980 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>...
219a0 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>...
219c0 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 61 20 68 72 65 ............<li>Can.cause.<a.hre
219e0 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 72 66 6c 6f 77 f="#Default-Operations">overflow
21a00 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 20 20 20 20 20 </a>.for.integers.</li>.........
21a20 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>.......
21a40 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>
21a60 2d 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 31 3c 2f 73 70 61 -<span.class="tok-number">1</spa
21a80 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 3e 30 n>.==.<span.class="tok-number">0
21aa0 3c 2f 73 70 61 6e 3e 20 2d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 </span>.-.<span.class="tok-numbe
21ac0 72 22 3e 31 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 3c 2f 70 72 65 3e 0a 20 20 20 20 20 20 20 r">1</span></code></pre>........
21ae0 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>.........<
21b00 74 72 3e 0a 20 20 20 20 20 20 20 20 20 20 3c 74 64 3e 57 72 61 70 70 69 6e 67 20 4e 65 67 61 74 tr>...........<td>Wrapping.Negat
21b20 69 6f 6e 3c 2f 74 64 3e 0a 20 20 20 20 20 20 20 20 20 20 3c 74 64 3e 3c 70 72 65 3e 3c 63 6f 64 ion</td>...........<td><pre><cod
21b40 65 3e 2d 25 61 3c 2f 63 6f 64 65 3e 3c 2f 70 72 65 3e 3c 2f 74 64 3e 0a 20 20 20 20 20 20 20 20 e>-%a</code></pre></td>.........
21b60 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>.........
21b80 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
21ba0 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 6c tegers</a></li>.............</ul
21bc0 3e 0a 20 20 20 20 20 20 20 20 20 20 3c 2f 74 64 3e 0a 20 20 20 20 20 20 20 20 20 20 3c 74 64 3e >...........</td>...........<td>
21be0 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>...............
21c00 3c 6c 69 3e 54 77 6f 73 2d 63 6f 6d 70 6c 65 6d 65 6e 74 20 77 72 61 70 70 69 6e 67 20 62 65 68 <li>Twos-complement.wrapping.beh
21c20 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>...
21c40 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>....
21c60 20 20 20 20 20 20 20 20 20 3c 70 72 65 3e 3c 63 6f 64 65 3e 2d 25 3c 73 70 61 6e 20 63 6c 61 73 .........<pre><code>-%<span.clas
21c80 73 3d 22 74 6f 6b 2d 62 75 69 6c 74 69 6e 22 3e 40 61 73 3c 2f 73 70 61 6e 3e 28 3c 73 70 61 6e s="tok-builtin">@as</span>(<span
21ca0 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 2d 3c 73 .class="tok-type">i8</span>,.-<s
21cc0 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 38 3c 2f 73 70 61 6e pan.class="tok-number">128</span
21ce0 3e 29 20 3d 3d 20 2d 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e >).==.-<span.class="tok-number">
21d00 31 32 38 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 3c 2f 70 72 65 3e 0a 20 20 20 20 20 20 20 20 128</span></code></pre>.........
21d20 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
21d40 72 3e 0a 20 20 20 20 20 20 20 20 20 20 3c 74 64 3e 4d 75 6c 74 69 70 6c 69 63 61 74 69 6f 6e 3c r>...........<td>Multiplication<
21d60 2f 74 64 3e 0a 20 20 20 20 20 20 20 20 20 20 3c 74 64 3e 3c 70 72 65 3e 3c 63 6f 64 65 3e 61 20 /td>...........<td><pre><code>a.
21d80 2a 20 62 0a 61 20 2a 3d 20 62 3c 2f 63 6f 64 65 3e 3c 2f 70 72 65 3e 3c 2f 74 64 3e 0a 20 20 20 *.b.a.*=.b</code></pre></td>....
21da0 20 20 20 20 20 20 20 3c 74 64 3e 0a 20 20 20 20 20 20 20 20 20 20 20 20 3c 75 6c 3e 0a 20 20 20 .......<td>.............<ul>....
21dc0 20 20 20 20 20 20 20 20 20 20 20 3c 6c 69 3e 3c 61 20 68 72 65 66 3d 22 23 49 6e 74 65 67 65 72 ...........<li><a.href="#Integer
21de0 73 22 3e 49 6e 74 65 67 65 72 73 3c 2f 61 3e 3c 2f 6c 69 3e 0a 20 20 20 20 20 20 20 20 20 20 20 s">Integers</a></li>............
21e00 20 20 20 3c 6c 69 3e 3c 61 20 68 72 65 66 3d 22 23 46 6c 6f 61 74 73 22 3e 46 6c 6f 61 74 73 3c ...<li><a.href="#Floats">Floats<
21e20 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>......
21e40 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>.......
21e60 20 20 20 20 20 20 3c 75 6c 3e 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 3c 6c 69 3e 43 61 6e ......<ul>...............<li>Can
21e80 20 63 61 75 73 65 20 3c 61 20 68 72 65 66 3d 22 23 44 65 66 61 75 6c 74 2d 4f 70 65 72 61 74 69 .cause.<a.href="#Default-Operati
21ea0 6f 6e 73 22 3e 6f 76 65 72 66 6c 6f 77 3c 2f 61 3e 20 66 6f 72 20 69 6e 74 65 67 65 72 73 2e 3c ons">overflow</a>.for.integers.<
21ec0 2f 6c 69 3e 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 3c 6c 69 3e 49 6e 76 6f 6b 65 73 20 3c /li>...............<li>Invokes.<
21ee0 61 20 68 72 65 66 3d 22 23 50 65 65 72 2d 54 79 70 65 2d 52 65 73 6f 6c 75 74 69 6f 6e 22 3e 50 a.href="#Peer-Type-Resolution">P
21f00 65 65 72 20 54 79 70 65 20 52 65 73 6f 6c 75 74 69 6f 6e 3c 2f 61 3e 20 66 6f 72 20 74 68 65 20 eer.Type.Resolution</a>.for.the.
21f20 6f 70 65 72 61 6e 64 73 2e 3c 2f 6c 69 3e 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 3c 6c 69 operands.</li>...............<li
21f40 3e 53 65 65 20 61 6c 73 6f 20 3c 61 20 68 72 65 66 3d 22 23 6d 75 6c 57 69 74 68 4f 76 65 72 66 >See.also.<a.href="#mulWithOverf
21f60 6c 6f 77 22 3e 40 6d 75 6c 57 69 74 68 4f 76 65 72 66 6c 6f 77 3c 2f 61 3e 2e 3c 2f 6c 69 3e 0a low">@mulWithOverflow</a>.</li>.
21f80 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
21fa0 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
21fc0 65 3e 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 e><code><span.class="tok-number"
21fe0 3e 32 3c 2f 73 70 61 6e 3e 20 2a 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d >2</span>.*.<span.class="tok-num
22000 62 65 72 22 3e 35 3c 2f 73 70 61 6e 3e 20 3d 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f ber">5</span>.==.<span.class="to
22020 6b 2d 6e 75 6d 62 65 72 22 3e 31 30 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 3c 2f 70 72 65 3e k-number">10</span></code></pre>
22040 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>..
22060 20 20 20 20 20 20 20 3c 74 72 3e 0a 20 20 20 20 20 20 20 20 20 20 3c 74 64 3e 57 72 61 70 70 69 .......<tr>...........<td>Wrappi
22080 6e 67 20 4d 75 6c 74 69 70 6c 69 63 61 74 69 6f 6e 3c 2f 74 64 3e 0a 20 20 20 20 20 20 20 20 20 ng.Multiplication</td>..........
220a0 20 3c 74 64 3e 3c 70 72 65 3e 3c 63 6f 64 65 3e 61 20 2a 25 20 62 0a 61 20 2a 25 3d 20 62 3c 2f .<td><pre><code>a.*%.b.a.*%=.b</
220c0 63 6f 64 65 3e 3c 2f 70 72 65 3e 3c 2f 74 64 3e 0a 20 20 20 20 20 20 20 20 20 20 3c 74 64 3e 0a code></pre></td>...........<td>.
220e0 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>...............<
22100 6c 69 3e 3c 61 20 68 72 65 66 3d 22 23 49 6e 74 65 67 65 72 73 22 3e 49 6e 74 65 67 65 72 73 3c li><a.href="#Integers">Integers<
22120 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>......
22140 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>.......
22160 20 20 20 20 20 20 3c 75 6c 3e 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 3c 6c 69 3e 54 77 6f ......<ul>...............<li>Two
22180 73 2d 63 6f 6d 70 6c 65 6d 65 6e 74 20 77 72 61 70 70 69 6e 67 20 62 65 68 61 76 69 6f 72 2e 3c s-complement.wrapping.behavior.<
221a0 2f 6c 69 3e 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 3c 6c 69 3e 49 6e 76 6f 6b 65 73 20 3c /li>...............<li>Invokes.<
221c0 61 20 68 72 65 66 3d 22 23 50 65 65 72 2d 54 79 70 65 2d 52 65 73 6f 6c 75 74 69 6f 6e 22 3e 50 a.href="#Peer-Type-Resolution">P
221e0 65 65 72 20 54 79 70 65 20 52 65 73 6f 6c 75 74 69 6f 6e 3c 2f 61 3e 20 66 6f 72 20 74 68 65 20 eer.Type.Resolution</a>.for.the.
22200 6f 70 65 72 61 6e 64 73 2e 3c 2f 6c 69 3e 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 3c 6c 69 operands.</li>...............<li
22220 3e 53 65 65 20 61 6c 73 6f 20 3c 61 20 68 72 65 66 3d 22 23 6d 75 6c 57 69 74 68 4f 76 65 72 66 >See.also.<a.href="#mulWithOverf
22240 6c 6f 77 22 3e 40 6d 75 6c 57 69 74 68 4f 76 65 72 66 6c 6f 77 3c 2f 61 3e 2e 3c 2f 6c 69 3e 0a low">@mulWithOverflow</a>.</li>.
22260 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
22280 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
222a0 65 3e 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 62 75 69 6c 74 69 6e e><code><span.class="tok-builtin
222c0 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
222e0 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-
22300 6e 75 6d 62 65 72 22 3e 32 30 30 3c 2f 73 70 61 6e 3e 29 20 2a 25 20 3c 73 70 61 6e 20 63 6c 61 number">200</span>).*%.<span.cla
22320 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 32 3c 2f 73 70 61 6e 3e 20 3d 3d 20 3c 73 70 61 ss="tok-number">2</span>.==.<spa
22340 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 31 34 34 3c 2f 73 70 61 6e 3e 3c n.class="tok-number">144</span><
22360 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>....
22380 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>.........
223a0 20 20 3c 74 64 3e 53 61 74 75 72 61 74 69 6e 67 20 4d 75 6c 74 69 70 6c 69 63 61 74 69 6f 6e 3c ..<td>Saturating.Multiplication<
223c0 2f 74 64 3e 0a 20 20 20 20 20 20 20 20 20 20 3c 74 64 3e 3c 70 72 65 3e 3c 63 6f 64 65 3e 61 20 /td>...........<td><pre><code>a.
223e0 2a 7c 20 62 0a 61 20 2a 7c 3d 20 62 3c 2f 63 6f 64 65 3e 3c 2f 70 72 65 3e 3c 2f 74 64 3e 0a 20 *|.b.a.*|=.b</code></pre></td>..
22400 20 20 20 20 20 20 20 20 20 3c 74 64 3e 0a 20 20 20 20 20 20 20 20 20 20 20 20 3c 75 6c 3e 0a 20 .........<td>.............<ul>..
22420 20 20 20 20 20 20 20 20 20 20 20 20 20 3c 6c 69 3e 3c 61 20 68 72 65 66 3d 22 23 49 6e 74 65 67 .............<li><a.href="#Integ
22440 65 72 73 22 3e 49 6e 74 65 67 65 72 73 3c 2f 61 3e 3c 2f 6c 69 3e 0a 20 20 20 20 20 20 20 20 20 ers">Integers</a></li>..........
22460 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>........
22480 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>........
224a0 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
224c0 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
224e0 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
22500 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>...........<
22520 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>.............
22540 3c 70 72 65 3e 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 62 75 69 6c <pre><code><span.class="tok-buil
22560 74 69 6e 22 3e 40 61 73 3c 2f 73 70 61 6e 3e 28 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b tin">@as</span>(<span.class="tok
22580 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 74 -type">u8</span>,.<span.class="t
225a0 6f 6b 2d 6e 75 6d 62 65 72 22 3e 32 30 30 3c 2f 73 70 61 6e 3e 29 20 2a 7c 20 3c 73 70 61 6e 20 ok-number">200</span>).*|.<span.
225c0 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 3d 20 3c class="tok-number">2</span>.==.<
225e0 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 32 35 35 3c 2f 73 70 61 span.class="tok-number">255</spa
22600 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>.
22620 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>......
22640 20 20 20 20 20 3c 74 64 3e 44 69 76 69 73 69 6f 6e 3c 2f 74 64 3e 0a 20 20 20 20 20 20 20 20 20 .....<td>Division</td>..........
22660 20 3c 74 64 3e 3c 70 72 65 3e 3c 63 6f 64 65 3e 61 20 2f 20 62 0a 61 20 2f 3d 20 62 3c 2f 63 6f .<td><pre><code>a./.b.a./=.b</co
22680 64 65 3e 3c 2f 70 72 65 3e 3c 2f 74 64 3e 0a 20 20 20 20 20 20 20 20 20 20 3c 74 64 3e 0a 20 20 de></pre></td>...........<td>...
226a0 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
226c0 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
226e0 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
22700 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>......
22720 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>....
22740 20 20 20 20 20 20 20 3c 74 64 3e 0a 20 20 20 20 20 20 20 20 20 20 20 20 3c 75 6c 3e 0a 20 20 20 .......<td>.............<ul>....
22760 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 61 20 68 72 65 66 ...........<li>Can.cause.<a.href
22780 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 72 66 6c 6f 77 3c ="#Default-Operations">overflow<
227a0 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 20 20 20 20 20 20 /a>.for.integers.</li>..........
227c0 20 20 20 20 20 3c 6c 69 3e 43 61 6e 20 63 61 75 73 65 20 3c 61 20 68 72 65 66 3d 22 23 44 69 76 .....<li>Can.cause.<a.href="#Div
227e0 69 73 69 6f 6e 2d 62 79 2d 5a 65 72 6f 22 3e 44 69 76 69 73 69 6f 6e 20 62 79 20 5a 65 72 6f 3c ision-by-Zero">Division.by.Zero<
22800 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 20 20 20 20 20 20 /a>.for.integers.</li>..........
22820 20 20 20 20 20 3c 6c 69 3e 43 61 6e 20 63 61 75 73 65 20 3c 61 20 68 72 65 66 3d 22 23 44 69 76 .....<li>Can.cause.<a.href="#Div
22840 69 73 69 6f 6e 2d 62 79 2d 5a 65 72 6f 22 3e 44 69 76 69 73 69 6f 6e 20 62 79 20 5a 65 72 6f 3c ision-by-Zero">Division.by.Zero<
22860 2f 61 3e 20 66 6f 72 20 66 6c 6f 61 74 73 20 69 6e 20 3c 61 20 68 72 65 66 3d 22 23 46 6c 6f 61 /a>.for.floats.in.<a.href="#Floa
22880 74 69 6e 67 2d 50 6f 69 6e 74 2d 4f 70 65 72 61 74 69 6f 6e 73 22 3e 46 6c 6f 61 74 4d 6f 64 65 ting-Point-Operations">FloatMode
228a0 2e 6f 70 74 69 6d 69 7a 65 64 20 4d 6f 64 65 3c 2f 61 3e 2e 3c 2f 6c 69 3e 0a 20 20 20 20 20 20 .optimized.Mode</a>.</li>.......
228c0 20 20 20 20 20 20 20 20 3c 6c 69 3e 53 69 67 6e 65 64 20 69 6e 74 65 67 65 72 20 6f 70 65 72 61 ........<li>Signed.integer.opera
228e0 6e 64 73 20 6d 75 73 74 20 62 65 20 63 6f 6d 70 74 69 6d 65 2d 6b 6e 6f 77 6e 20 61 6e 64 20 70 nds.must.be.comptime-known.and.p
22900 6f 73 69 74 69 76 65 2e 20 49 6e 20 6f 74 68 65 72 20 63 61 73 65 73 2c 20 75 73 65 0a 20 20 20 ositive..In.other.cases,.use....
22920 20 20 20 20 20 20 20 20 20 20 20 20 20 3c 61 20 68 72 65 66 3d 22 23 64 69 76 54 72 75 6e 63 22 .............<a.href="#divTrunc"
22940 3e 40 64 69 76 54 72 75 6e 63 3c 2f 61 3e 2c 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 >@divTrunc</a>,.................
22960 3c 61 20 68 72 65 66 3d 22 23 64 69 76 46 6c 6f 6f 72 22 3e 40 64 69 76 46 6c 6f 6f 72 3c 2f 61 <a.href="#divFloor">@divFloor</a
22980 3e 2c 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 >,.or.................<a.href="#
229a0 64 69 76 45 78 61 63 74 22 3e 40 64 69 76 45 78 61 63 74 3c 2f 61 3e 20 69 6e 73 74 65 61 64 2e divExact">@divExact</a>.instead.
229c0 0a 20 20 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 20 20 20 ...............</li>............
229e0 20 20 20 3c 6c 69 3e 49 6e 76 6f 6b 65 73 20 3c 61 20 68 72 65 66 3d 22 23 50 65 65 72 2d 54 79 ...<li>Invokes.<a.href="#Peer-Ty
22a00 70 65 2d 52 65 73 6f 6c 75 74 69 6f 6e 22 3e 50 65 65 72 20 54 79 70 65 20 52 65 73 6f 6c 75 74 pe-Resolution">Peer.Type.Resolut
22a20 69 6f 6e 3c 2f 61 3e 20 66 6f 72 20 74 68 65 20 6f 70 65 72 61 6e 64 73 2e 3c 2f 6c 69 3e 0a 20 ion</a>.for.the.operands.</li>..
22a40 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>
22a60 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 65 ...........<td>.............<pre
22a80 3e 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e ><code><span.class="tok-number">
22aa0 31 30 3c 2f 73 70 61 6e 3e 20 2f 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 10</span>./.<span.class="tok-num
22ac0 62 65 72 22 3e 35 3c 2f 73 70 61 6e 3e 20 3d 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f ber">5</span>.==.<span.class="to
22ae0 6b 2d 6e 75 6d 62 65 72 22 3e 32 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 3c 2f 70 72 65 3e 0a k-number">2</span></code></pre>.
22b00 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>...
22b20 20 20 20 20 20 20 3c 74 72 3e 0a 20 20 20 20 20 20 20 20 20 20 3c 74 64 3e 52 65 6d 61 69 6e 64 ......<tr>...........<td>Remaind
22b40 65 72 20 44 69 76 69 73 69 6f 6e 3c 2f 74 64 3e 0a 20 20 20 20 20 20 20 20 20 20 3c 74 64 3e 3c er.Division</td>...........<td><
22b60 70 72 65 3e 3c 63 6f 64 65 3e 61 20 25 20 62 0a 61 20 25 3d 20 62 3c 2f 63 6f 64 65 3e 3c 2f 70 pre><code>a.%.b.a.%=.b</code></p
22b80 72 65 3e 3c 2f 74 64 3e 0a 20 20 20 20 20 20 20 20 20 20 3c 74 64 3e 0a 20 20 20 20 20 20 20 20 re></td>...........<td>.........
22ba0 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
22bc0 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>
22be0 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
22c00 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>............
22c20 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>..........
22c40 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>..........
22c60 20 20 20 20 20 3c 6c 69 3e 43 61 6e 20 63 61 75 73 65 20 3c 61 20 68 72 65 66 3d 22 23 44 69 76 .....<li>Can.cause.<a.href="#Div
22c80 69 73 69 6f 6e 2d 62 79 2d 5a 65 72 6f 22 3e 44 69 76 69 73 69 6f 6e 20 62 79 20 5a 65 72 6f 3c ision-by-Zero">Division.by.Zero<
22ca0 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 20 20 20 20 20 20 /a>.for.integers.</li>..........
22cc0 20 20 20 20 20 3c 6c 69 3e 43 61 6e 20 63 61 75 73 65 20 3c 61 20 68 72 65 66 3d 22 23 44 69 76 .....<li>Can.cause.<a.href="#Div
22ce0 69 73 69 6f 6e 2d 62 79 2d 5a 65 72 6f 22 3e 44 69 76 69 73 69 6f 6e 20 62 79 20 5a 65 72 6f 3c ision-by-Zero">Division.by.Zero<
22d00 2f 61 3e 20 66 6f 72 20 66 6c 6f 61 74 73 20 69 6e 20 3c 61 20 68 72 65 66 3d 22 23 46 6c 6f 61 /a>.for.floats.in.<a.href="#Floa
22d20 74 69 6e 67 2d 50 6f 69 6e 74 2d 4f 70 65 72 61 74 69 6f 6e 73 22 3e 46 6c 6f 61 74 4d 6f 64 65 ting-Point-Operations">FloatMode
22d40 2e 6f 70 74 69 6d 69 7a 65 64 20 4d 6f 64 65 3c 2f 61 3e 2e 3c 2f 6c 69 3e 0a 20 20 20 20 20 20 .optimized.Mode</a>.</li>.......
22d60 20 20 20 20 20 20 20 20 3c 6c 69 3e 53 69 67 6e 65 64 20 6f 72 20 66 6c 6f 61 74 69 6e 67 2d 70 ........<li>Signed.or.floating-p
22d80 6f 69 6e 74 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 2d 6b oint.operands.must.be.comptime-k
22da0 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 73 65 nown.and.positive..In.other.case
22dc0 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 3d 22 s,.use.................<a.href="
22de0 23 72 65 6d 22 3e 40 72 65 6d 3c 2f 61 3e 20 6f 72 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 #rem">@rem</a>.or...............
22e00 20 20 3c 61 20 68 72 65 66 3d 22 23 6d 6f 64 22 3e 40 6d 6f 64 3c 2f 61 3e 20 69 6e 73 74 65 61 ..<a.href="#mod">@mod</a>.instea
22e20 64 2e 0a 20 20 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 20 d................</li>..........
22e40 20 20 20 20 20 3c 6c 69 3e 49 6e 76 6f 6b 65 73 20 3c 61 20 68 72 65 66 3d 22 23 50 65 65 72 2d .....<li>Invokes.<a.href="#Peer-
22e60 54 79 70 65 2d 52 65 73 6f 6c 75 74 69 6f 6e 22 3e 50 65 65 72 20 54 79 70 65 20 52 65 73 6f 6c Type-Resolution">Peer.Type.Resol
22e80 75 74 69 6f 6e 3c 2f 61 3e 20 66 6f 72 20 74 68 65 20 6f 70 65 72 61 6e 64 73 2e 3c 2f 6c 69 3e ution</a>.for.the.operands.</li>
22ea0 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
22ec0 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
22ee0 72 65 3e 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 re><code><span.class="tok-number
22f00 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 22 74 6f 6b 2d 6e ">10</span>.%.<span.class="tok-n
22f20 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 6c 61 73 73 3d 22 umber">3</span>.==.<span.class="
22f40 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 31 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 3c 2f 70 72 65 tok-number">1</span></code></pre
22f60 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>.
22f80 20 20 20 20 20 20 20 20 3c 74 72 3e 0a 20 20 20 20 20 20 20 20 20 20 3c 74 64 3e 42 69 74 20 53 ........<tr>...........<td>Bit.S
22fa0 68 69 66 74 20 4c 65 66 74 3c 2f 74 64 3e 0a 20 20 20 20 20 20 20 20 20 20 3c 74 64 3e 3c 70 72 hift.Left</td>...........<td><pr
22fc0 65 3e 3c 63 6f 64 65 3e 61 20 26 6c 74 3b 26 6c 74 3b 20 62 0a 61 20 26 6c 74 3b 26 6c 74 3b 3d e><code>a.&lt;&lt;.b.a.&lt;&lt;=
22fe0 20 62 3c 2f 63 6f 64 65 3e 3c 2f 70 72 65 3e 3c 2f 74 64 3e 0a 20 20 20 20 20 20 20 20 20 20 3c .b</code></pre></td>...........<
23000 74 64 3e 0a 20 20 20 20 20 20 20 20 20 20 20 20 3c 75 6c 3e 0a 20 20 20 20 20 20 20 20 20 20 20 td>.............<ul>............
23020 20 20 20 3c 6c 69 3e 3c 61 20 68 72 65 66 3d 22 23 49 6e 74 65 67 65 72 73 22 3e 49 6e 74 65 67 ...<li><a.href="#Integers">Integ
23040 65 72 73 3c 2f 61 3e 3c 2f 6c 69 3e 0a 20 20 20 20 20 20 20 20 20 20 20 20 3c 2f 75 6c 3e 0a 20 ers</a></li>.............</ul>..
23060 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>...
23080 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
230a0 3e 4d 6f 76 65 73 20 61 6c 6c 20 62 69 74 73 20 74 6f 20 74 68 65 20 6c 65 66 74 2c 20 69 6e 73 >Moves.all.bits.to.the.left,.ins
230c0 65 72 74 69 6e 67 20 6e 65 77 20 7a 65 72 6f 65 73 20 61 74 20 74 68 65 0a 20 20 20 20 20 20 20 erting.new.zeroes.at.the........
230e0 20 20 20 20 20 20 20 6c 65 61 73 74 2d 73 69 67 6e 69 66 69 63 61 6e 74 20 62 69 74 2e 3c 2f 6c .......least-significant.bit.</l
23100 69 3e 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 3c 6c 69 3e 3c 63 6f 64 65 3e 62 3c 2f 63 6f i>...............<li><code>b</co
23120 64 65 3e 20 6d 75 73 74 20 62 65 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 3c 61 20 68 72 65 de>.must.be...............<a.hre
23140 66 3d 22 23 63 6f 6d 70 74 69 6d 65 22 3e 63 6f 6d 70 74 69 6d 65 2d 6b 6e 6f 77 6e 3c 2f 61 3e f="#comptime">comptime-known</a>
23160 20 6f 72 20 68 61 76 65 20 61 20 74 79 70 65 20 77 69 74 68 20 6c 6f 67 32 20 6e 75 6d 62 65 72 .or.have.a.type.with.log2.number
23180 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 6f 66 20 62 69 74 73 20 61 73 20 3c 63 6f 64 65 3e ...............of.bits.as.<code>
231a0 61 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 a</code>.</li>...............<li
231c0 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
231e0 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>...............
23200 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
23220 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
23240 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>...........<
23260 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>.............
23280 3c 70 72 65 3e 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 <pre><code><span.class="tok-numb
232a0 65 72 22 3e 30 62 31 3c 2f 73 70 61 6e 3e 20 26 6c 74 3b 26 6c 74 3b 20 3c 73 70 61 6e 20 63 6c er">0b1</span>.&lt;&lt;.<span.cl
232c0 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 38 3c 2f 73 70 61 6e 3e 20 3d 3d 20 3c 73 70 ass="tok-number">8</span>.==.<sp
232e0 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 30 30 30 30 30 30 an.class="tok-number">0b10000000
23300 30 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 3c 2f 70 72 65 3e 0a 20 20 20 20 20 20 20 20 20 20 0</span></code></pre>...........
23320 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>
23340 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 42 69 74 20 53 68 ...........<td>Saturating.Bit.Sh
23360 69 66 74 20 4c 65 66 74 3c 2f 74 64 3e 0a 20 20 20 20 20 20 20 20 20 20 3c 74 64 3e 3c 70 72 65 ift.Left</td>...........<td><pre
23380 3e 3c 63 6f 64 65 3e 61 20 26 6c 74 3b 26 6c 74 3b 7c 20 62 0a 61 20 26 6c 74 3b 26 6c 74 3b 7c ><code>a.&lt;&lt;|.b.a.&lt;&lt;|
233a0 3d 20 62 3c 2f 63 6f 64 65 3e 3c 2f 70 72 65 3e 3c 2f 74 64 3e 0a 20 20 20 20 20 20 20 20 20 20 =.b</code></pre></td>...........
233c0 3c 74 64 3e 0a 20 20 20 20 20 20 20 20 20 20 20 20 3c 75 6c 3e 0a 20 20 20 20 20 20 20 20 20 20 <td>.............<ul>...........
233e0 20 20 20 20 3c 6c 69 3e 3c 61 20 68 72 65 66 3d 22 23 49 6e 74 65 67 65 72 73 22 3e 49 6e 74 65 ....<li><a.href="#Integers">Inte
23400 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 0a gers</a></li>.............</ul>.
23420 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>..
23440 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
23460 69 3e 53 65 65 20 61 6c 73 6f 20 3c 61 20 68 72 65 66 3d 22 23 73 68 6c 45 78 61 63 74 22 3e 40 i>See.also.<a.href="#shlExact">@
23480 73 68 6c 45 78 61 63 74 3c 2f 61 3e 2e 3c 2f 6c 69 3e 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 shlExact</a>.</li>..............
234a0 20 3c 6c 69 3e 53 65 65 20 61 6c 73 6f 20 3c 61 20 68 72 65 66 3d 22 23 73 68 6c 57 69 74 68 4f .<li>See.also.<a.href="#shlWithO
234c0 76 65 72 66 6c 6f 77 22 3e 40 73 68 6c 57 69 74 68 4f 76 65 72 66 6c 6f 77 3c 2f 61 3e 2e 3c 2f verflow">@shlWithOverflow</a>.</
234e0 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>...........
23500 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>............
23520 20 3c 70 72 65 3e 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 62 75 69 .<pre><code><span.class="tok-bui
23540 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
23560 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="
23580 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 31 3c 2f 73 70 61 6e 3e 29 20 26 6c 74 3b 26 6c 74 3b 7c 20 tok-number">1</span>).&lt;&lt;|.
235a0 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 38 3c 2f 73 70 61 6e <span.class="tok-number">8</span
235c0 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 3e 32 35 >.==.<span.class="tok-number">25
235e0 35 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 3c 2f 70 72 65 3e 0a 20 20 20 20 20 20 20 20 20 20 5</span></code></pre>...........
23600 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>
23620 0a 20 20 20 20 20 20 20 20 20 20 3c 74 64 3e 42 69 74 20 53 68 69 66 74 20 52 69 67 68 74 3c 2f ...........<td>Bit.Shift.Right</
23640 74 64 3e 0a 20 20 20 20 20 20 20 20 20 20 3c 74 64 3e 3c 70 72 65 3e 3c 63 6f 64 65 3e 61 20 26 td>...........<td><pre><code>a.&
23660 67 74 3b 26 67 74 3b 20 62 0a 61 20 26 67 74 3b 26 67 74 3b 3d 20 62 3c 2f 63 6f 64 65 3e 3c 2f gt;&gt;.b.a.&gt;&gt;=.b</code></
23680 70 72 65 3e 3c 2f 74 64 3e 0a 20 20 20 20 20 20 20 20 20 20 3c 74 64 3e 0a 20 20 20 20 20 20 20 pre></td>...........<td>........
236a0 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
236c0 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
236e0 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>...........</
23700 74 64 3e 0a 20 20 20 20 20 20 20 20 20 20 3c 74 64 3e 0a 20 20 20 20 20 20 20 20 20 20 20 20 3c td>...........<td>.............<
23720 75 6c 3e 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 3c 6c 69 3e 57 68 65 6e 20 4c 48 53 20 69 ul>...............<li>When.LHS.i
23740 73 20 75 6e 73 69 67 6e 65 64 2c 20 70 65 72 66 6f 72 6d 73 20 61 20 3c 73 74 72 6f 6e 67 3e 6c s.unsigned,.performs.a.<strong>l
23760 6f 67 69 63 61 6c 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 73 68 69 66 74 3c 2f 73 74 72 6f ogical...............shift</stro
23780 6e 67 3e 2c 20 6d 6f 76 69 6e 67 20 61 6c 6c 20 62 69 74 73 20 74 6f 20 74 68 65 20 72 69 67 68 ng>,.moving.all.bits.to.the.righ
237a0 74 2c 20 69 6e 73 65 72 74 69 6e 67 20 7a 65 72 6f 65 73 20 61 74 0a 20 20 20 20 20 20 20 20 20 t,.inserting.zeroes.at..........
237c0 20 20 20 20 20 74 68 65 20 6d 6f 73 74 2d 73 69 67 6e 69 66 69 63 61 6e 74 20 62 69 74 2e 3c 2f .....the.most-significant.bit.</
237e0 6c 69 3e 0a 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 3c 6c 69 3e 57 68 65 6e 20 4c 48 53 20 li>................<li>When.LHS.
23800 69 73 20 73 69 67 6e 65 64 2c 20 70 65 72 66 6f 72 6d 73 20 61 6e 20 3c 73 74 72 6f 6e 67 3e 61 is.signed,.performs.an.<strong>a
23820 72 69 74 68 6d 65 74 69 63 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 73 68 69 66 74 3c 2f 73 rithmetic...............shift</s
23840 74 72 6f 6e 67 3e 2c 20 6d 6f 76 69 6e 67 20 61 6c 6c 20 62 69 74 73 20 74 6f 20 74 68 65 20 72 trong>,.moving.all.bits.to.the.r
23860 69 67 68 74 2c 20 69 6e 73 65 72 74 69 6e 67 20 6f 6e 65 73 20 61 74 0a 20 20 20 20 20 20 20 20 ight,.inserting.ones.at.........
23880 20 20 20 20 20 20 74 68 65 20 6d 6f 73 74 2d 73 69 67 6e 69 66 69 63 61 6e 74 20 62 69 74 20 69 ......the.most-significant.bit.i
238a0 66 20 61 6e 64 20 6f 6e 6c 79 20 69 66 20 74 68 65 20 6d 6f 73 74 20 73 69 67 6e 69 66 69 63 61 f.and.only.if.the.most.significa
238c0 6e 74 20 62 69 74 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 69 73 20 6f 6e 65 2e 3c 2f 6c 69 nt.bit...............is.one.</li
238e0 3e 0a 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 3c 6c 69 3e 3c 63 6f 64 65 3e 62 3c 2f 63 6f >................<li><code>b</co
23900 64 65 3e 20 6d 75 73 74 20 62 65 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 3c 61 20 68 de>.must.be.................<a.h
23920 72 65 66 3d 22 23 63 6f 6d 70 74 69 6d 65 22 3e 63 6f 6d 70 74 69 6d 65 2d 6b 6e 6f 77 6e 3c 2f ref="#comptime">comptime-known</
23940 61 3e 20 6f 72 20 68 61 76 65 20 61 20 74 79 70 65 20 77 69 74 68 20 6c 6f 67 32 20 6e 75 6d 62 a>.or.have.a.type.with.log2.numb
23960 65 72 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 6f 66 20 62 69 74 73 20 61 73 20 3c 63 er.................of.bits.as.<c
23980 6f 64 65 3e 61 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 ode>a</code>.</li>..............
239a0 20 3c 6c 69 3e 53 65 65 20 61 6c 73 6f 20 3c 61 20 68 72 65 66 3d 22 23 73 68 72 45 78 61 63 74 .<li>See.also.<a.href="#shrExact
239c0 22 3e 40 73 68 72 45 78 61 63 74 3c 2f 61 3e 2e 3c 2f 6c 69 3e 0a 20 20 20 20 20 20 20 20 20 20 ">@shrExact</a>.</li>...........
239e0 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>.........
23a00 20 20 3c 74 64 3e 0a 20 20 20 20 20 20 20 20 20 20 20 20 3c 70 72 65 3e 3c 63 6f 64 65 3e 3c 73 ..<td>.............<pre><code><s
23a20 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 3c 2f 73 pan.class="tok-number">0b1010</s
23a40 70 61 6e 3e 20 26 67 74 3b 26 67 74 3b 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e pan>.&gt;&gt;.<span.class="tok-n
23a60 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="
23a80 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 30 62 31 30 31 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 3c tok-number">0b101</span></code><
23aa0 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>.........</
23ac0 74 72 3e 0a 20 20 20 20 20 20 20 20 3c 74 72 3e 0a 20 20 20 20 20 20 20 20 20 20 3c 74 64 3e 42 tr>.........<tr>...........<td>B
23ae0 69 74 77 69 73 65 20 41 6e 64 3c 2f 74 64 3e 0a 20 20 20 20 20 20 20 20 20 20 3c 74 64 3e 3c 70 itwise.And</td>...........<td><p
23b00 72 65 3e 3c 63 6f 64 65 3e 61 20 26 61 6d 70 3b 20 62 0a 61 20 26 61 6d 70 3b 3d 20 62 3c 2f 63 re><code>a.&amp;.b.a.&amp;=.b</c
23b20 6f 64 65 3e 3c 2f 70 72 65 3e 3c 2f 74 64 3e 0a 20 20 20 20 20 20 20 20 20 20 3c 74 64 3e 0a 20 ode></pre></td>...........<td>..
23b40 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
23b60 69 3e 3c 61 20 68 72 65 66 3d 22 23 49 6e 74 65 67 65 72 73 22 3e 49 6e 74 65 67 65 72 73 3c 2f i><a.href="#Integers">Integers</
23b80 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>.......
23ba0 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>........
23bc0 20 20 20 20 20 3c 75 6c 3e 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 3c 6c 69 3e 49 6e 76 6f .....<ul>...............<li>Invo
23be0 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
23c00 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
23c20 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>.............
23c40 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>...........
23c60 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
23c80 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 61 6e n.class="tok-number">0b011</span
23ca0 3e 20 26 61 6d 70 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 >.&amp;.<span.class="tok-number"
23cc0 3e 30 62 31 30 31 3c 2f 73 70 61 6e 3e 20 3d 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f >0b101</span>.==.<span.class="to
23ce0 6b 2d 6e 75 6d 62 65 72 22 3e 30 62 30 30 31 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 3c 2f 70 k-number">0b001</span></code></p
23d00 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
23d20 3e 0a 20 20 20 20 20 20 20 20 3c 74 72 3e 0a 20 20 20 20 20 20 20 20 20 20 3c 74 64 3e 42 69 74 >.........<tr>...........<td>Bit
23d40 77 69 73 65 20 4f 72 3c 2f 74 64 3e 0a 20 20 20 20 20 20 20 20 20 20 3c 74 64 3e 3c 70 72 65 3e wise.Or</td>...........<td><pre>
23d60 3c 63 6f 64 65 3e 61 20 7c 20 62 0a 61 20 7c 3d 20 62 3c 2f 63 6f 64 65 3e 3c 2f 70 72 65 3e 3c <code>a.|.b.a.|=.b</code></pre><
23d80 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>.............
23da0 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="
23dc0 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>....
23de0 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>..
23e00 20 20 20 20 20 20 20 20 20 3c 74 64 3e 0a 20 20 20 20 20 20 20 20 20 20 20 20 3c 75 6c 3e 0a 20 .........<td>.............<ul>..
23e20 20 20 20 20 20 20 20 20 20 20 20 20 20 3c 6c 69 3e 49 6e 76 6f 6b 65 73 20 3c 61 20 68 72 65 66 .............<li>Invokes.<a.href
23e40 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
23e60 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
23e80 64 73 2e 3c 2f 6c 69 3e 0a 20 20 20 20 20 20 20 20 20 20 20 20 3c 2f 75 6c 3e 0a 20 20 20 20 20 ds.</li>.............</ul>......
23ea0 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>.......
23ec0 20 20 20 20 20 20 3c 70 72 65 3e 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f ......<pre><code><span.class="to
23ee0 6b 2d 6e 75 6d 62 65 72 22 3e 30 62 30 31 30 3c 2f 73 70 61 6e 3e 20 7c 20 3c 73 70 61 6e 20 63 k-number">0b010</span>.|.<span.c
23f00 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 30 62 31 30 30 3c 2f 73 70 61 6e 3e 20 3d lass="tok-number">0b100</span>.=
23f20 3d 20 3c 73 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 31 30 =.<span.class="tok-number">0b110
23f40 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>...........<
23f60 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>.
23f80 20 20 20 20 20 20 20 20 20 20 3c 74 64 3e 42 69 74 77 69 73 65 20 58 6f 72 3c 2f 74 64 3e 0a 20 ..........<td>Bitwise.Xor</td>..
23fa0 20 20 20 20 20 20 20 20 20 3c 74 64 3e 3c 70 72 65 3e 3c 63 6f 64 65 3e 61 20 5e 20 62 0a 61 20 .........<td><pre><code>a.^.b.a.
23fc0 5e 3d 20 62 3c 2f 63 6f 64 65 3e 3c 2f 70 72 65 3e 3c 2f 74 64 3e 0a 20 20 20 20 20 20 20 20 20 ^=.b</code></pre></td>..........
23fe0 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>..........
24000 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
24020 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>
24040 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>.
24060 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>...............<
24080 6c 69 3e 49 6e 76 6f 6b 65 73 20 3c 61 20 68 72 65 66 3d 22 23 50 65 65 72 2d 54 79 70 65 2d 52 li>Invokes.<a.href="#Peer-Type-R
240a0 65 73 6f 6c 75 74 69 6f 6e 22 3e 50 65 65 72 20 54 79 70 65 20 52 65 73 6f 6c 75 74 69 6f 6e 3c esolution">Peer.Type.Resolution<
240c0 2f 61 3e 20 66 6f 72 20 74 68 65 20 6f 70 65 72 61 6e 64 73 2e 3c 2f 6c 69 3e 0a 20 20 20 20 20 /a>.for.the.operands.</li>......
240e0 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>....
24100 20 20 20 20 20 20 20 3c 74 64 3e 0a 20 20 20 20 20 20 20 20 20 20 20 20 3c 70 72 65 3e 3c 63 6f .......<td>.............<pre><co
24120 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 30 62 30 31 de><span.class="tok-number">0b01
24140 31 3c 2f 73 70 61 6e 3e 20 5e 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 1</span>.^.<span.class="tok-numb
24160 65 72 22 3e 30 62 31 30 31 3c 2f 73 70 61 6e 3e 20 3d 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d er">0b101</span>.==.<span.class=
24180 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 63 6f 64 65 3e "tok-number">0b110</span></code>
241a0 3c 2f 70 72 65 3e 0a 20 20 20 20 20 20 20 20 20 20 3c 2f 74 64 3e 0a 20 20 20 20 20 20 20 20 3c </pre>...........</td>.........<
241c0 2f 74 72 3e 0a 20 20 20 20 20 20 20 20 3c 74 72 3e 0a 20 20 20 20 20 20 20 20 20 20 3c 74 64 3e /tr>.........<tr>...........<td>
241e0 42 69 74 77 69 73 65 20 4e 6f 74 3c 2f 74 64 3e 0a 20 20 20 20 20 20 20 20 20 20 3c 74 64 3e 3c Bitwise.Not</td>...........<td><
24200 70 72 65 3e 3c 63 6f 64 65 3e 7e 61 3c 2f 63 6f 64 65 3e 3c 2f 70 72 65 3e 3c 2f 74 64 3e 0a 20 pre><code>~a</code></pre></td>..
24220 20 20 20 20 20 20 20 20 20 3c 74 64 3e 0a 20 20 20 20 20 20 20 20 20 20 20 20 3c 75 6c 3e 0a 20 .........<td>.............<ul>..
24240 20 20 20 20 20 20 20 20 20 20 20 20 20 3c 6c 69 3e 3c 61 20 68 72 65 66 3d 22 23 49 6e 74 65 67 .............<li><a.href="#Integ
24260 65 72 73 22 3e 49 6e 74 65 67 65 72 73 3c 2f 61 3e 3c 2f 6c 69 3e 0a 20 20 20 20 20 20 20 20 20 ers">Integers</a></li>..........
24280 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>........
242a0 20 20 20 3c 74 64 3e 3c 2f 74 64 3e 0a 20 20 20 20 20 20 20 20 20 20 3c 74 64 3e 0a 20 20 20 20 ...<td></td>...........<td>.....
242c0 20 20 20 20 20 20 20 20 3c 70 72 65 3e 3c 63 6f 64 65 3e 7e 3c 73 70 61 6e 20 63 6c 61 73 73 3d ........<pre><code>~<span.class=
242e0 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
24300 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
24320 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</
24340 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
24360 72 22 3e 30 62 30 31 30 31 30 30 30 30 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 3c 2f 70 72 65 r">0b01010000</span></code></pre
24380 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>.
243a0 20 20 20 20 20 20 20 20 3c 74 72 3e 0a 20 20 20 20 20 20 20 20 20 20 3c 74 64 3e 44 65 66 61 75 ........<tr>...........<td>Defau
243c0 6c 74 69 6e 67 20 4f 70 74 69 6f 6e 61 6c 20 55 6e 77 72 61 70 3c 2f 74 64 3e 0a 20 20 20 20 20 lting.Optional.Unwrap</td>......
243e0 20 20 20 20 20 3c 74 64 3e 3c 70 72 65 3e 3c 63 6f 64 65 3e 61 20 3c 73 70 61 6e 20 63 6c 61 73 .....<td><pre><code>a.<span.clas
24400 73 3d 22 74 6f 6b 2d 6b 77 22 3e 6f 72 65 6c 73 65 3c 2f 73 70 61 6e 3e 20 62 3c 2f 63 6f 64 65 s="tok-kw">orelse</span>.b</code
24420 3e 3c 2f 70 72 65 3e 3c 2f 74 64 3e 0a 20 20 20 20 20 20 20 20 20 20 3c 74 64 3e 0a 20 20 20 20 ></pre></td>...........<td>.....
24440 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><
24460 61 20 68 72 65 66 3d 22 23 4f 70 74 69 6f 6e 61 6c 73 22 3e 4f 70 74 69 6f 6e 61 6c 73 3c 2f 61 a.href="#Optionals">Optionals</a
24480 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>........
244a0 20 20 20 3c 2f 74 64 3e 0a 20 20 20 20 20 20 20 20 20 20 3c 74 64 3e 49 66 20 3c 63 6f 64 65 3e ...</td>...........<td>If.<code>
244c0 61 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 74 a</code>.is.<code><span.class="t
244e0 6f 6b 2d 6e 75 6c 6c 22 3e 6e 75 6c 6c 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 2c 0a 20 20 20 ok-null">null</span></code>,....
24500 20 20 20 20 20 20 20 72 65 74 75 72 6e 73 20 3c 63 6f 64 65 3e 62 3c 2f 63 6f 64 65 3e 20 28 22 .......returns.<code>b</code>.("
24520 64 65 66 61 75 6c 74 20 76 61 6c 75 65 22 29 2c 0a 20 20 20 20 20 20 20 20 20 20 6f 74 68 65 72 default.value"),...........other
24540 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 20 76 61 6c 75 65 wise.returns.the.unwrapped.value
24560 20 6f 66 20 3c 63 6f 64 65 3e 61 3c 2f 63 6f 64 65 3e 2e 0a 20 20 20 20 20 20 20 20 20 20 4e 6f .of.<code>a</code>............No
24580 74 65 20 74 68 61 74 20 3c 63 6f 64 65 3e 62 3c 2f 63 6f 64 65 3e 20 6d 61 79 20 62 65 20 61 20 te.that.<code>b</code>.may.be.a.
245a0 76 61 6c 75 65 20 6f 66 20 74 79 70 65 20 3c 61 20 68 72 65 66 3d 22 23 6e 6f 72 65 74 75 72 6e value.of.type.<a.href="#noreturn
245c0 22 3e 6e 6f 72 65 74 75 72 6e 3c 2f 61 3e 2e 0a 20 20 20 20 20 20 20 20 20 20 3c 2f 74 64 3e 0a ">noreturn</a>............</td>.
245e0 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>
24600 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 63 6f 6e 73 74 <code><span.class="tok-kw">const
24620 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 22 74 6f 6b </span>.value:.?<span.class="tok
24640 2d 74 79 70 65 22 3e 75 33 32 3c 2f 73 70 61 6e 3e 20 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d -type">u32</span>.=.<span.class=
24660 22 74 6f 6b 2d 6e 75 6c 6c 22 3e 6e 75 6c 6c 3c 2f 73 70 61 6e 3e 3b 0a 3c 73 70 61 6e 20 63 6c "tok-null">null</span>;.<span.cl
24680 61 73 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 ass="tok-kw">const</span>.unwrap
246a0 70 65 64 20 3d 20 76 61 6c 75 65 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 ped.=.value.<span.class="tok-kw"
246c0 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 6b 2d >orelse</span>.<span.class="tok-
246e0 6e 75 6d 62 65 72 22 3e 31 32 33 34 3c 2f 73 70 61 6e 3e 3b 0a 75 6e 77 72 61 70 70 65 64 20 3d number">1234</span>;.unwrapped.=
24700 3d 20 3c 73 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<
24720 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>...........</
24740 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>..
24760 20 20 20 20 20 20 20 20 20 3c 74 64 3e 4f 70 74 69 6f 6e 61 6c 20 55 6e 77 72 61 70 3c 2f 74 64 .........<td>Optional.Unwrap</td
24780 3e 0a 20 20 20 20 20 20 20 20 20 20 3c 74 64 3e 3c 70 72 65 3e 3c 63 6f 64 65 3e 61 2e 3f 3c 2f >...........<td><pre><code>a.?</
247a0 63 6f 64 65 3e 3c 2f 70 72 65 3e 3c 2f 74 64 3e 0a 20 20 20 20 20 20 20 20 20 20 3c 74 64 3e 0a code></pre></td>...........<td>.
247c0 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>...............<
247e0 6c 69 3e 3c 61 20 68 72 65 66 3d 22 23 4f 70 74 69 6f 6e 61 6c 73 22 3e 4f 70 74 69 6f 6e 61 6c li><a.href="#Optionals">Optional
24800 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>....
24820 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>.....
24840 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 20 20 ........Equivalent.to:..........
24860 20 20 20 3c 70 72 65 3e 3c 63 6f 64 65 3e 61 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b ...<pre><code>a.<span.class="tok
24880 2d 6b 77 22 3e 6f 72 65 6c 73 65 3c 2f 73 70 61 6e 3e 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 -kw">orelse</span>.<span.class="
248a0 74 6f 6b 2d 6b 77 22 3e 75 6e 72 65 61 63 68 61 62 6c 65 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 tok-kw">unreachable</span></code
248c0 3e 3c 2f 70 72 65 3e 0a 20 20 20 20 20 20 20 20 20 20 3c 2f 74 64 3e 0a 20 20 20 20 20 20 20 20 ></pre>...........</td>.........
248e0 20 20 3c 74 64 3e 0a 20 20 20 20 20 20 20 20 20 20 20 20 3c 70 72 65 3e 3c 63 6f 64 65 3e 3c 73 ..<td>.............<pre><code><s
24900 70 61 6e 20 63 6c 61 73 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>.
24920 76 61 6c 75 65 3a 20 3f 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 75 value:.?<span.class="tok-type">u
24940 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
24960 62 65 72 22 3e 35 36 37 38 3c 2f 73 70 61 6e 3e 3b 0a 76 61 6c 75 65 2e 3f 20 3d 3d 20 3c 73 70 ber">5678</span>;.value.?.==.<sp
24980 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 6e an.class="tok-number">5678</span
249a0 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>..
249c0 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>.......
249e0 20 20 20 20 3c 74 64 3e 44 65 66 61 75 6c 74 69 6e 67 20 45 72 72 6f 72 20 55 6e 77 72 61 70 3c ....<td>Defaulting.Error.Unwrap<
24a00 2f 74 64 3e 0a 20 20 20 20 20 20 20 20 20 20 3c 74 64 3e 3c 70 72 65 3e 3c 63 6f 64 65 3e 61 20 /td>...........<td><pre><code>a.
24a20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 63 61 74 63 68 3c 2f 73 70 61 6e <span.class="tok-kw">catch</span
24a40 3e 20 62 0a 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 >.b.a.<span.class="tok-kw">catch
24a60 3c 2f 73 70 61 6e 3e 20 7c 65 72 72 7c 20 62 3c 2f 63 6f 64 65 3e 3c 2f 70 72 65 3e 3c 2f 74 64 </span>.|err|.b</code></pre></td
24a80 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
24aa0 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
24ac0 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 0a 20 20 20 20 rors">Error.Unions</a></li>.....
24ae0 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>...
24b00 20 20 20 20 20 20 20 20 3c 74 64 3e 49 66 20 3c 63 6f 64 65 3e 61 3c 2f 63 6f 64 65 3e 20 69 73 ........<td>If.<code>a</code>.is
24b20 20 61 6e 20 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 65 .an.<code><span.class="tok-kw">e
24b40 72 72 6f 72 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 72 65 rror</span></code>,...........re
24b60 74 75 72 6e 73 20 3c 63 6f 64 65 3e 62 3c 2f 63 6f 64 65 3e 20 28 22 64 65 66 61 75 6c 74 20 76 turns.<code>b</code>.("default.v
24b80 61 6c 75 65 22 29 2c 0a 20 20 20 20 20 20 20 20 20 20 6f 74 68 65 72 77 69 73 65 20 72 65 74 75 alue"),...........otherwise.retu
24ba0 72 6e 73 20 74 68 65 20 75 6e 77 72 61 70 70 65 64 20 76 61 6c 75 65 20 6f 66 20 3c 63 6f 64 65 rns.the.unwrapped.value.of.<code
24bc0 3e 61 3c 2f 63 6f 64 65 3e 2e 0a 20 20 20 20 20 20 20 20 20 20 4e 6f 74 65 20 74 68 61 74 20 3c >a</code>............Note.that.<
24be0 63 6f 64 65 3e 62 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 code>b</code>.may.be.a.value.of.
24c00 74 79 70 65 20 3c 61 20 68 72 65 66 3d 22 23 6e 6f 72 65 74 75 72 6e 22 3e 6e 6f 72 65 74 75 72 type.<a.href="#noreturn">noretur
24c20 6e 3c 2f 61 3e 2e 0a 3c 63 6f 64 65 3e 65 72 72 3c 2f 63 6f 64 65 3e 20 69 73 20 74 68 65 20 3c n</a>..<code>err</code>.is.the.<
24c40 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 65 72 72 6f 72 3c code><span.class="tok-kw">error<
24c60 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 20 61 6e 64 20 69 73 20 69 6e 20 73 63 6f 70 65 20 6f 66 /span></code>.and.is.in.scope.of
24c80 20 74 68 65 20 65 78 70 72 65 73 73 69 6f 6e 20 3c 63 6f 64 65 3e 62 3c 2f 63 6f 64 65 3e 2e 0a .the.expression.<code>b</code>..
24ca0 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>..
24cc0 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
24ce0 73 3d 22 74 6f 6b 2d 6b 77 22 3e 63 6f 6e 73 74 3c 2f 73 70 61 6e 3e 20 76 61 6c 75 65 3a 20 3c s="tok-kw">const</span>.value:.<
24d00 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</
24d20 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
24d40 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
24d60 72 72 6f 72 3c 2f 73 70 61 6e 3e 2e 42 72 6f 6b 65 6e 3b 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d rror</span>.Broken;.<span.class=
24d80 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 64 20 "tok-kw">const</span>.unwrapped.
24da0 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 63 61 74 =.value.<span.class="tok-kw">cat
24dc0 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 62 65 ch</span>.<span.class="tok-numbe
24de0 72 22 3e 31 32 33 34 3c 2f 73 70 61 6e 3e 3b 0a 75 6e 77 72 61 70 70 65 64 20 3d 3d 20 3c 73 70 r">1234</span>;.unwrapped.==.<sp
24e00 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
24e20 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>..
24e40 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>.......
24e60 20 20 20 20 3c 74 64 3e 4c 6f 67 69 63 61 6c 20 41 6e 64 3c 2f 74 64 3e 0a 20 20 20 20 20 20 20 ....<td>Logical.And</td>........
24e80 20 20 20 3c 74 64 3e 3c 70 72 65 3e 3c 63 6f 64 65 3e 61 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d ...<td><pre><code>a.<span.class=
24ea0 22 74 6f 6b 2d 6b 77 22 3e 61 6e 64 3c 2f 73 70 61 6e 3e 20 62 3c 2f 63 6f 64 65 3e 3c 2f 70 72 "tok-kw">and</span>.b</code></pr
24ec0 65 3e 3c 2f 74 64 3e 0a 20 20 20 20 20 20 20 20 20 20 3c 74 64 3e 0a 20 20 20 20 20 20 20 20 20 e></td>...........<td>..........
24ee0 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
24f00 66 3d 22 23 50 72 69 6d 69 74 69 76 65 2d 54 79 70 65 73 22 3e 62 6f 6f 6c 3c 2f 61 3e 3c 2f 6c f="#Primitive-Types">bool</a></l
24f20 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>...........<
24f40 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 49 66 /td>...........<td>...........If
24f60 20 3c 63 6f 64 65 3e 61 3c 2f 63 6f 64 65 3e 20 69 73 20 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 .<code>a</code>.is.<code><span.c
24f80 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6c 6c 22 3e 66 61 6c 73 65 3c 2f 73 70 61 6e 3e 3c 2f 63 6f lass="tok-null">false</span></co
24fa0 64 65 3e 2c 20 72 65 74 75 72 6e 73 20 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 de>,.returns.<code><span.class="
24fc0 74 6f 6b 2d 6e 75 6c 6c 22 3e 66 61 6c 73 65 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 0a 20 20 tok-null">false</span></code>...
24fe0 20 20 20 20 20 20 20 20 77 69 74 68 6f 75 74 20 65 76 61 6c 75 61 74 69 6e 67 20 3c 63 6f 64 65 ........without.evaluating.<code
25000 3e 62 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 >b</code>..Otherwise,.returns.<c
25020 6f 64 65 3e 62 3c 2f 63 6f 64 65 3e 2e 0a 20 20 20 20 20 20 20 20 20 20 3c 2f 74 64 3e 0a 20 20 ode>b</code>............</td>...
25040 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
25060 6f 64 65 3e 28 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6c 6c 22 3e 66 61 6c 73 ode>(<span.class="tok-null">fals
25080 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 61 6e e</span>.<span.class="tok-kw">an
250a0 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 6c 6c 22 3e d</span>.<span.class="tok-null">
250c0 74 72 75 65 3c 2f 73 70 61 6e 3e 29 20 3d 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b true</span>).==.<span.class="tok
250e0 2d 6e 75 6c 6c 22 3e 66 61 6c 73 65 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 3c 2f 70 72 65 3e -null">false</span></code></pre>
25100 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>..
25120 20 20 20 20 20 20 20 3c 74 72 3e 0a 20 20 20 20 20 20 20 20 20 20 3c 74 64 3e 4c 6f 67 69 63 61 .......<tr>...........<td>Logica
25140 6c 20 4f 72 3c 2f 74 64 3e 0a 20 20 20 20 20 20 20 20 20 20 3c 74 64 3e 3c 70 72 65 3e 3c 63 6f l.Or</td>...........<td><pre><co
25160 64 65 3e 61 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 6f 72 3c 2f 73 70 de>a.<span.class="tok-kw">or</sp
25180 61 6e 3e 20 62 3c 2f 63 6f 64 65 3e 3c 2f 70 72 65 3e 3c 2f 74 64 3e 0a 20 20 20 20 20 20 20 20 an>.b</code></pre></td>.........
251a0 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>.........
251c0 20 20 20 20 20 20 3c 6c 69 3e 3c 61 20 68 72 65 66 3d 22 23 50 72 69 6d 69 74 69 76 65 2d 54 79 ......<li><a.href="#Primitive-Ty
251e0 70 65 73 22 3e 62 6f 6f 6c 3c 2f 61 3e 3c 2f 6c 69 3e 0a 20 20 20 20 20 20 20 20 20 20 20 20 3c pes">bool</a></li>.............<
25200 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>...........<
25220 74 64 3e 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 49 66 20 3c 63 6f 64 65 3e 61 3c 2f 63 6f td>...............If.<code>a</co
25240 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 74 6f 6b 2d 6e 75 de>.is.<code><span.class="tok-nu
25260 6c 6c 22 3e 74 72 75 65 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 2c 0a 20 20 20 20 20 20 20 20 ll">true</span></code>,.........
25280 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=
252a0 22 74 6f 6b 2d 6e 75 6c 6c 22 3e 74 72 75 65 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 20 77 69 "tok-null">true</span></code>.wi
252c0 74 68 6f 75 74 20 65 76 61 6c 75 61 74 69 6e 67 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 3c thout.evaluating...............<
252e0 63 6f 64 65 3e 62 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 code>b</code>..Otherwise,.return
25300 73 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 3c 63 6f 64 65 3e 62 3c 2f 63 6f 64 65 3e 2e 0a s...............<code>b</code>..
25320 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>..
25340 20 20 20 20 20 20 20 20 20 20 20 3c 70 72 65 3e 3c 63 6f 64 65 3e 28 3c 73 70 61 6e 20 63 6c 61 ...........<pre><code>(<span.cla
25360 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 20 3c 73 70 61 6e ss="tok-null">false</span>.<span
25380 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 6f 72 3c 2f 73 70 61 6e 3e 20 3c 73 70 61 6e 20 .class="tok-kw">or</span>.<span.
253a0 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 3d 3d class="tok-null">true</span>).==
253c0 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6c 6c 22 3e 74 72 75 65 3c 2f 73 70 .<span.class="tok-null">true</sp
253e0 61 6e 3e 3c 2f 63 6f 64 65 3e 3c 2f 70 72 65 3e 0a 20 20 20 20 20 20 20 20 20 20 3c 2f 74 64 3e an></code></pre>...........</td>
25400 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>.....
25420 20 20 20 20 20 20 3c 74 64 3e 42 6f 6f 6c 65 61 6e 20 4e 6f 74 3c 2f 74 64 3e 0a 20 20 20 20 20 ......<td>Boolean.Not</td>......
25440 20 20 20 20 20 3c 74 64 3e 3c 70 72 65 3e 3c 63 6f 64 65 3e 21 61 3c 2f 63 6f 64 65 3e 3c 2f 70 .....<td><pre><code>!a</code></p
25460 72 65 3e 3c 2f 74 64 3e 0a 20 20 20 20 20 20 20 20 20 20 3c 74 64 3e 0a 20 20 20 20 20 20 20 20 re></td>...........<td>.........
25480 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
254a0 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 2f ef="#Primitive-Types">bool</a></
254c0 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>...........
254e0 3c 2f 74 64 3e 0a 20 20 20 20 20 20 20 20 20 20 3c 74 64 3e 3c 2f 74 64 3e 0a 20 20 20 20 20 20 </td>...........<td></td>.......
25500 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>
25520 21 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6c 6c 22 3e 66 61 6c 73 65 3c 2f 73 !<span.class="tok-null">false</s
25540 70 61 6e 3e 20 3d 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6c 6c 22 3e 74 pan>.==.<span.class="tok-null">t
25560 72 75 65 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 3c 2f 70 72 65 3e 0a 20 20 20 20 20 20 20 20 rue</span></code></pre>.........
25580 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
255a0 72 3e 0a 20 20 20 20 20 20 20 20 20 20 3c 74 64 3e 45 71 75 61 6c 69 74 79 3c 2f 74 64 3e 0a 20 r>...........<td>Equality</td>..
255c0 20 20 20 20 20 20 20 20 20 3c 74 64 3e 3c 70 72 65 3e 3c 63 6f 64 65 3e 61 20 3d 3d 20 62 3c 2f .........<td><pre><code>a.==.b</
255e0 63 6f 64 65 3e 3c 2f 70 72 65 3e 3c 2f 74 64 3e 0a 20 20 20 20 20 20 20 20 20 20 3c 74 64 3e 0a code></pre></td>...........<td>.
25600 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>...............<
25620 6c 69 3e 3c 61 20 68 72 65 66 3d 22 23 49 6e 74 65 67 65 72 73 22 3e 49 6e 74 65 67 65 72 73 3c li><a.href="#Integers">Integers<
25640 2f 61 3e 3c 2f 6c 69 3e 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 3c 6c 69 3e 3c 61 20 68 72 /a></li>...............<li><a.hr
25660 65 66 3d 22 23 46 6c 6f 61 74 73 22 3e 46 6c 6f 61 74 73 3c 2f 61 3e 3c 2f 6c 69 3e 0a 20 20 20 ef="#Floats">Floats</a></li>....
25680 20 20 20 20 20 20 20 20 20 20 20 3c 6c 69 3e 3c 61 20 68 72 65 66 3d 22 23 50 72 69 6d 69 74 69 ...........<li><a.href="#Primiti
256a0 76 65 2d 54 79 70 65 73 22 3e 62 6f 6f 6c 3c 2f 61 3e 3c 2f 6c 69 3e 0a 20 20 20 20 20 20 20 20 ve-Types">bool</a></li>.........
256c0 20 20 20 20 20 20 3c 6c 69 3e 3c 61 20 68 72 65 66 3d 22 23 50 72 69 6d 69 74 69 76 65 2d 54 79 ......<li><a.href="#Primitive-Ty
256e0 70 65 73 22 3e 74 79 70 65 3c 2f 61 3e 3c 2f 6c 69 3e 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 pes">type</a></li>..............
25700 20 3c 6c 69 3e 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 .<li><a.href="#packed-struct">pa
25720 63 6b 65 64 20 73 74 72 75 63 74 3c 2f 61 3e 3c 2f 6c 69 3e 0a 20 20 20 20 20 20 20 20 20 20 20 cked.struct</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 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 52 65 74 75 72 6e 73 20 3c 63 6f 64 .<td>...............Returns.<cod
25780 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6c 6c 22 3e 74 72 75 65 3c 2f 73 e><span.class="tok-null">true</s
257a0 70 61 6e 3e 3c 2f 63 6f 64 65 3e 20 69 66 20 61 20 61 6e 64 20 62 20 61 72 65 20 65 71 75 61 6c pan></code>.if.a.and.b.are.equal
257c0 2c 20 6f 74 68 65 72 77 69 73 65 20 72 65 74 75 72 6e 73 20 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 ,.otherwise.returns.<code><span.
257e0 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6c 6c 22 3e 66 61 6c 73 65 3c 2f 73 70 61 6e 3e 3c 2f 63 class="tok-null">false</span></c
25800 6f 64 65 3e 2e 0a 20 20 20 20 20 20 20 20 20 20 20 20 49 6e 76 6f 6b 65 73 20 3c 61 20 68 72 65 ode>..............Invokes.<a.hre
25820 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
25840 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
25860 6e 64 73 2e 0a 20 20 20 20 20 20 20 20 20 20 3c 2f 74 64 3e 0a 20 20 20 20 20 20 20 20 20 20 3c nds............</td>...........<
25880 74 64 3e 0a 20 20 20 20 20 20 20 20 20 20 20 20 3c 70 72 65 3e 3c 63 6f 64 65 3e 28 3c 73 70 61 td>.............<pre><code>(<spa
258a0 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 31 3c 2f 73 70 61 6e 3e 20 3d 3d n.class="tok-number">1</span>.==
258c0 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 31 3c 2f 73 70 61 .<span.class="tok-number">1</spa
258e0 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
25900 75 65 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 3c 2f 70 72 65 3e 0a 20 20 20 20 20 20 20 20 20 ue</span></code></pre>..........
25920 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
25940 3e 0a 20 20 20 20 20 20 20 20 20 20 3c 74 64 3e 4e 75 6c 6c 20 43 68 65 63 6b 3c 2f 74 64 3e 0a >...........<td>Null.Check</td>.
25960 20 20 20 20 20 20 20 20 20 20 3c 74 64 3e 3c 70 72 65 3e 3c 63 6f 64 65 3e 61 20 3d 3d 20 3c 73 ..........<td><pre><code>a.==.<s
25980 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>
259a0 3c 2f 63 6f 64 65 3e 3c 2f 70 72 65 3e 3c 2f 74 64 3e 0a 20 20 20 20 20 20 20 20 20 20 3c 74 64 </code></pre></td>...........<td
259c0 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>..............
259e0 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
25a00 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>..
25a20 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>...
25a40 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 20 ............Returns.<code><span.
25a60 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6c 6c 22 3e 74 72 75 65 3c 2f 73 70 61 6e 3e 3c 2f 63 6f class="tok-null">true</span></co
25a80 64 65 3e 20 69 66 20 61 20 69 73 20 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 de>.if.a.is.<code><span.class="t
25aa0 6f 6b 2d 6e 75 6c 6c 22 3e 6e 75 6c 6c 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 2c 20 6f 74 68 ok-null">null</span></code>,.oth
25ac0 65 72 77 69 73 65 20 72 65 74 75 72 6e 73 20 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 erwise.returns.<code><span.class
25ae0 3d 22 74 6f 6b 2d 6e 75 6c 6c 22 3e 66 61 6c 73 65 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 2e ="tok-null">false</span></code>.
25b00 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>.
25b20 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
25b40 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 63 6f 6e 73 74 3c 2f 73 70 61 6e 3e 20 76 61 6c 75 65 3a 20 ss="tok-kw">const</span>.value:.
25b60 3f 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 75 33 32 3c 2f 73 70 61 ?<span.class="tok-type">u32</spa
25b80 6e 3e 20 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6c 6c 22 3e 6e 75 6c 6c n>.=.<span.class="tok-null">null
25ba0 3c 2f 73 70 61 6e 3e 3b 0a 28 76 61 6c 75 65 20 3d 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 </span>;.(value.==.<span.class="
25bc0 74 6f 6b 2d 6e 75 6c 6c 22 3e 6e 75 6c 6c 3c 2f 73 70 61 6e 3e 29 20 3d 3d 20 3c 73 70 61 6e 20 tok-null">null</span>).==.<span.
25be0 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6c 6c 22 3e 74 72 75 65 3c 2f 73 70 61 6e 3e 3c 2f 63 6f class="tok-null">true</span></co
25c00 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>.......
25c20 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>...........<
25c40 74 64 3e 49 6e 65 71 75 61 6c 69 74 79 3c 2f 74 64 3e 0a 20 20 20 20 20 20 20 20 20 20 3c 74 64 td>Inequality</td>...........<td
25c60 3e 3c 70 72 65 3e 3c 63 6f 64 65 3e 61 20 21 3d 20 62 3c 2f 63 6f 64 65 3e 3c 2f 70 72 65 3e 3c ><pre><code>a.!=.b</code></pre><
25c80 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>.............
25ca0 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="
25cc0 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>....
25ce0 20 20 20 20 20 20 20 20 20 20 20 3c 6c 69 3e 3c 61 20 68 72 65 66 3d 22 23 46 6c 6f 61 74 73 22 ...........<li><a.href="#Floats"
25d00 3e 46 6c 6f 61 74 73 3c 2f 61 3e 3c 2f 6c 69 3e 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 3c >Floats</a></li>...............<
25d20 6c 69 3e 3c 61 20 68 72 65 66 3d 22 23 50 72 69 6d 69 74 69 76 65 2d 54 79 70 65 73 22 3e 62 6f li><a.href="#Primitive-Types">bo
25d40 6f 6c 3c 2f 61 3e 3c 2f 6c 69 3e 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 3c 6c 69 3e 3c 61 ol</a></li>...............<li><a
25d60 20 68 72 65 66 3d 22 23 50 72 69 6d 69 74 69 76 65 2d 54 79 70 65 73 22 3e 74 79 70 65 3c 2f 61 .href="#Primitive-Types">type</a
25d80 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>........
25da0 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>.........
25dc0 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 3d ......Returns.<code><span.class=
25de0 22 74 6f 6b 2d 6e 75 6c 6c 22 3e 66 61 6c 73 65 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 20 69 "tok-null">false</span></code>.i
25e00 66 20 61 20 61 6e 64 20 62 20 61 72 65 20 65 71 75 61 6c 2c 20 6f 74 68 65 72 77 69 73 65 20 72 f.a.and.b.are.equal,.otherwise.r
25e20 65 74 75 72 6e 73 20 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 eturns.<code><span.class="tok-nu
25e40 6c 6c 22 3e 74 72 75 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 ll">true</span></code>..........
25e60 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-
25e80 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
25ea0 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...........
25ec0 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>...........
25ee0 20 20 3c 70 72 65 3e 3c 63 6f 64 65 3e 28 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e ..<pre><code>(<span.class="tok-n
25f00 75 6d 62 65 72 22 3e 31 3c 2f 73 70 61 6e 3e 20 21 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 umber">1</span>.!=.<span.class="
25f20 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
25f40 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6c 6c 22 3e 66 61 6c 73 65 3c 2f 73 70 61 6e 3e 3c 2f 63 6f lass="tok-null">false</span></co
25f60 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>.......
25f80 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>...........<
25fa0 74 64 3e 4e 6f 6e 2d 4e 75 6c 6c 20 43 68 65 63 6b 3c 2f 74 64 3e 0a 20 20 20 20 20 20 20 20 20 td>Non-Null.Check</td>..........
25fc0 20 3c 74 64 3e 3c 70 72 65 3e 3c 63 6f 64 65 3e 61 20 21 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 .<td><pre><code>a.!=.<span.class
25fe0 3d 22 74 6f 6b 2d 6e 75 6c 6c 22 3e 6e 75 6c 6c 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 3c 2f ="tok-null">null</span></code></
26000 70 72 65 3e 3c 2f 74 64 3e 0a 20 20 20 20 20 20 20 20 20 20 3c 74 64 3e 0a 20 20 20 20 20 20 20 pre></td>...........<td>........
26020 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
26040 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 2f ref="#Optionals">Optionals</a></
26060 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>...........
26080 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>............
260a0 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 74 6f ...Returns.<code><span.class="to
260c0 6b 2d 6e 75 6c 6c 22 3e 66 61 6c 73 65 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 20 69 66 20 61 k-null">false</span></code>.if.a
260e0 20 69 73 20 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6c 6c 22 .is.<code><span.class="tok-null"
26100 3e 6e 75 6c 6c 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 >null</span></code>,.otherwise.r
26120 65 74 75 72 6e 73 20 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 eturns.<code><span.class="tok-nu
26140 6c 6c 22 3e 74 72 75 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 ll">true</span></code>..........
26160 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>..........
26180 20 20 20 3c 70 72 65 3e 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b ...<pre><code><span.class="tok-k
261a0 77 22 3e 63 6f 6e 73 74 3c 2f 73 70 61 6e 3e 20 76 61 6c 75 65 3a 20 3f 3c 73 70 61 6e 20 63 6c w">const</span>.value:.?<span.cl
261c0 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
261e0 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6c 6c 22 3e 6e 75 6c 6c 3c 2f 73 70 61 6e 3e 3b 0a n.class="tok-null">null</span>;.
26200 28 76 61 6c 75 65 20 21 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6c 6c 22 (value.!=.<span.class="tok-null"
26220 3e 6e 75 6c 6c 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 >null</span>).==.<span.class="to
26240 6b 2d 6e 75 6c 6c 22 3e 66 61 6c 73 65 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 3c 2f 70 72 65 k-null">false</span></code></pre
26260 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>.
26280 20 20 20 20 20 20 20 20 3c 74 72 3e 0a 20 20 20 20 20 20 20 20 20 20 3c 74 64 3e 47 72 65 61 74 ........<tr>...........<td>Great
262a0 65 72 20 54 68 61 6e 3c 2f 74 64 3e 0a 20 20 20 20 20 20 20 20 20 20 3c 74 64 3e 3c 70 72 65 3e er.Than</td>...........<td><pre>
262c0 3c 63 6f 64 65 3e 61 20 26 67 74 3b 20 62 3c 2f 63 6f 64 65 3e 3c 2f 70 72 65 3e 3c 2f 74 64 3e <code>a.&gt;.b</code></pre></td>
262e0 0a 20 20 20 20 20 20 20 20 20 20 3c 74 64 3e 0a 20 20 20 20 20 20 20 20 20 20 20 20 3c 75 6c 3e ...........<td>.............<ul>
26300 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 3c 6c 69 3e 3c 61 20 68 72 65 66 3d 22 23 49 6e 74 ...............<li><a.href="#Int
26320 65 67 65 72 73 22 3e 49 6e 74 65 67 65 72 73 3c 2f 61 3e 3c 2f 6c 69 3e 0a 20 20 20 20 20 20 20 egers">Integers</a></li>........
26340 20 20 20 20 20 20 20 3c 6c 69 3e 3c 61 20 68 72 65 66 3d 22 23 46 6c 6f 61 74 73 22 3e 46 6c 6f .......<li><a.href="#Floats">Flo
26360 61 74 73 3c 2f 61 3e 3c 2f 6c 69 3e 0a 20 20 20 20 20 20 20 20 20 20 20 20 3c 2f 75 6c 3e 0a 20 ats</a></li>.............</ul>..
26380 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>...
263a0 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 20 ............Returns.<code><span.
263c0 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6c 6c 22 3e 74 72 75 65 3c 2f 73 70 61 6e 3e 3c 2f 63 6f class="tok-null">true</span></co
263e0 64 65 3e 20 69 66 20 61 20 69 73 20 67 72 65 61 74 65 72 20 74 68 61 6e 20 62 2c 20 6f 74 68 65 de>.if.a.is.greater.than.b,.othe
26400 72 77 69 73 65 20 72 65 74 75 72 6e 73 20 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d rwise.returns.<code><span.class=
26420 22 74 6f 6b 2d 6e 75 6c 6c 22 3e 66 61 6c 73 65 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 2e 0a "tok-null">false</span></code>..
26440 20 20 20 20 20 20 20 20 20 20 20 20 49 6e 76 6f 6b 65 73 20 3c 61 20 68 72 65 66 3d 22 23 50 65 ............Invokes.<a.href="#Pe
26460 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
26480 73 6f 6c 75 74 69 6f 6e 3c 2f 61 3e 20 66 6f 72 20 74 68 65 20 6f 70 65 72 61 6e 64 73 2e 0a 20 solution</a>.for.the.operands...
264a0 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>...
264c0 20 20 20 20 20 20 20 20 20 20 3c 70 72 65 3e 3c 63 6f 64 65 3e 28 3c 73 70 61 6e 20 63 6c 61 73 ..........<pre><code>(<span.clas
264e0 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 32 3c 2f 73 70 61 6e 3e 20 26 67 74 3b 20 3c 73 70 s="tok-number">2</span>.&gt;.<sp
26500 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>).
26520 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 2f ==.<span.class="tok-null">true</
26540 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
26560 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>...
26580 20 20 20 20 20 20 20 20 3c 74 64 3e 47 72 65 61 74 65 72 20 6f 72 20 45 71 75 61 6c 3c 2f 74 64 ........<td>Greater.or.Equal</td
265a0 3e 0a 20 20 20 20 20 20 20 20 20 20 3c 74 64 3e 3c 70 72 65 3e 3c 63 6f 64 65 3e 61 20 26 67 74 >...........<td><pre><code>a.&gt
265c0 3b 3d 20 62 3c 2f 63 6f 64 65 3e 3c 2f 70 72 65 3e 3c 2f 74 64 3e 0a 20 20 20 20 20 20 20 20 20 ;=.b</code></pre></td>..........
265e0 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>..........
26600 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
26620 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 69 egers</a></li>...............<li
26640 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 6c ><a.href="#Floats">Floats</a></l
26660 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>...........<
26680 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>.............
266a0 20 20 52 65 74 75 72 6e 73 20 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b ..Returns.<code><span.class="tok
266c0 2d 6e 75 6c 6c 22 3e 74 72 75 65 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 20 69 66 20 61 20 69 -null">true</span></code>.if.a.i
266e0 73 20 67 72 65 61 74 65 72 20 74 68 61 6e 20 6f 72 20 65 71 75 61 6c 20 74 6f 20 62 2c 20 6f 74 s.greater.than.or.equal.to.b,.ot
26700 68 65 72 77 69 73 65 20 72 65 74 75 72 6e 73 20 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 herwise.returns.<code><span.clas
26720 73 3d 22 74 6f 6b 2d 6e 75 6c 6c 22 3e 66 61 6c 73 65 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e s="tok-null">false</span></code>
26740 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 3d 22 23 ..............Invokes.<a.href="#
26760 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.
26780 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 2e Resolution</a>.for.the.operands.
267a0 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>.
267c0 20 20 20 20 20 20 20 20 20 20 20 20 3c 70 72 65 3e 3c 63 6f 64 65 3e 28 3c 73 70 61 6e 20 63 6c ............<pre><code>(<span.cl
267e0 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 74 3b 3d 20 ass="tok-number">2</span>.&gt;=.
26800 3c 73 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
26820 3e 29 20 3d 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6c 6c 22 3e 74 72 75 >).==.<span.class="tok-null">tru
26840 65 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 3c 2f 70 72 65 3e 0a 20 20 20 20 20 20 20 20 20 20 e</span></code></pre>...........
26860 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>
26880 0a 20 20 20 20 20 20 20 20 20 20 3c 74 64 3e 4c 65 73 73 20 54 68 61 6e 3c 2f 74 64 3e 0a 20 20 ...........<td>Less.Than</td>...
268a0 20 20 20 20 20 20 20 20 3c 74 64 3e 3c 70 72 65 3e 3c 63 6f 64 65 3e 61 20 26 6c 74 3b 20 62 3c ........<td><pre><code>a.&lt;.b<
268c0 2f 63 6f 64 65 3e 3c 2f 70 72 65 3e 3c 2f 74 64 3e 0a 20 20 20 20 20 20 20 20 20 20 3c 74 64 3e /code></pre></td>...........<td>
268e0 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>...............
26900 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
26920 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
26940 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>...
26960 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>.
26980 20 20 20 20 20 20 20 20 20 20 3c 74 64 3e 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 52 65 74 ..........<td>...............Ret
269a0 75 72 6e 73 20 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6c 6c urns.<code><span.class="tok-null
269c0 22 3e 74 72 75 65 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 20 69 66 20 61 20 69 73 20 6c 65 73 ">true</span></code>.if.a.is.les
269e0 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
26a00 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6c 6c 22 3e 66 61 6c 73 65 3c 2f e><span.class="tok-null">false</
26a20 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 2e 0a 20 20 20 20 20 20 20 20 20 20 20 20 49 6e 76 6f 6b 65 span></code>..............Invoke
26a40 73 20 3c 61 20 68 72 65 66 3d 22 23 50 65 65 72 2d 54 79 70 65 2d 52 65 73 6f 6c 75 74 69 6f 6e s.<a.href="#Peer-Type-Resolution
26a60 22 3e 50 65 65 72 20 54 79 70 65 20 52 65 73 6f 6c 75 74 69 6f 6e 3c 2f 61 3e 20 66 6f 72 20 74 ">Peer.Type.Resolution</a>.for.t
26a80 68 65 20 6f 70 65 72 61 6e 64 73 2e 0a 20 20 20 20 20 20 20 20 20 20 3c 2f 74 64 3e 0a 20 20 20 he.operands............</td>....
26aa0 20 20 20 20 20 20 20 3c 74 64 3e 0a 20 20 20 20 20 20 20 20 20 20 20 20 3c 70 72 65 3e 3c 63 6f .......<td>.............<pre><co
26ac0 64 65 3e 28 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 31 3c 2f de>(<span.class="tok-number">1</
26ae0 73 70 61 6e 3e 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 span>.&lt;.<span.class="tok-numb
26b00 65 72 22 3e 32 3c 2f 73 70 61 6e 3e 29 20 3d 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f er">2</span>).==.<span.class="to
26b20 6b 2d 6e 75 6c 6c 22 3e 74 72 75 65 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 3c 2f 70 72 65 3e k-null">true</span></code></pre>
26b40 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>..
26b60 20 20 20 20 20 20 20 3c 74 72 3e 0a 20 20 20 20 20 20 20 20 20 20 3c 74 64 3e 4c 65 73 73 65 72 .......<tr>...........<td>Lesser
26b80 20 6f 72 20 45 71 75 61 6c 3c 2f 74 64 3e 0a 20 20 20 20 20 20 20 20 20 20 3c 74 64 3e 3c 70 72 .or.Equal</td>...........<td><pr
26ba0 65 3e 3c 63 6f 64 65 3e 61 20 26 6c 74 3b 3d 20 62 3c 2f 63 6f 64 65 3e 3c 2f 70 72 65 3e 3c 2f e><code>a.&lt;=.b</code></pre></
26bc0 74 64 3e 0a 20 20 20 20 20 20 20 20 20 20 3c 74 64 3e 0a 20 20 20 20 20 20 20 20 20 20 20 20 3c td>...........<td>.............<
26be0 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="#
26c00 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>.....
26c20 20 20 20 20 20 20 20 20 20 20 3c 6c 69 3e 3c 61 20 68 72 65 66 3d 22 23 46 6c 6f 61 74 73 22 3e ..........<li><a.href="#Floats">
26c40 46 6c 6f 61 74 73 3c 2f 61 3e 3c 2f 6c 69 3e 0a 20 20 20 20 20 20 20 20 20 20 20 20 3c 2f 75 6c Floats</a></li>.............</ul
26c60 3e 0a 20 20 20 20 20 20 20 20 20 20 3c 2f 74 64 3e 0a 20 20 20 20 20 20 20 20 20 20 3c 74 64 3e >...........</td>...........<td>
26c80 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 52 65 74 75 72 6e 73 20 3c 63 6f 64 65 3e 3c 73 70 ...............Returns.<code><sp
26ca0 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><
26cc0 2f 63 6f 64 65 3e 20 69 66 20 61 20 69 73 20 6c 65 73 73 20 74 68 61 6e 20 6f 72 20 65 71 75 61 /code>.if.a.is.less.than.or.equa
26ce0 6c 20 74 6f 20 62 2c 20 6f 74 68 65 72 77 69 73 65 20 72 65 74 75 72 6e 73 20 3c 63 6f 64 65 3e l.to.b,.otherwise.returns.<code>
26d00 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
26d20 61 6e 3e 3c 2f 63 6f 64 65 3e 2e 0a 20 20 20 20 20 20 20 20 20 20 20 20 49 6e 76 6f 6b 65 73 20 an></code>..............Invokes.
26d40 3c 61 20 68 72 65 66 3d 22 23 50 65 65 72 2d 54 79 70 65 2d 52 65 73 6f 6c 75 74 69 6f 6e 22 3e <a.href="#Peer-Type-Resolution">
26d60 50 65 65 72 20 54 79 70 65 20 52 65 73 6f 6c 75 74 69 6f 6e 3c 2f 61 3e 20 66 6f 72 20 74 68 65 Peer.Type.Resolution</a>.for.the
26d80 20 6f 70 65 72 61 6e 64 73 2e 0a 20 20 20 20 20 20 20 20 20 20 3c 2f 74 64 3e 0a 20 20 20 20 20 .operands............</td>......
26da0 20 20 20 20 20 3c 74 64 3e 0a 20 20 20 20 20 20 20 20 20 20 20 20 3c 70 72 65 3e 3c 63 6f 64 65 .....<td>.............<pre><code
26dc0 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 3c 2f 73 70 >(<span.class="tok-number">1</sp
26de0 61 6e 3e 20 26 6c 74 3b 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 an>.&lt;=.<span.class="tok-numbe
26e00 72 22 3e 32 3c 2f 73 70 61 6e 3e 29 20 3d 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b r">2</span>).==.<span.class="tok
26e20 2d 6e 75 6c 6c 22 3e 74 72 75 65 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 3c 2f 70 72 65 3e 0a -null">true</span></code></pre>.
26e40 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>...
26e60 20 20 20 20 20 20 3c 74 72 3e 0a 20 20 20 20 20 20 20 20 20 20 3c 74 64 3e 41 72 72 61 79 20 43 ......<tr>...........<td>Array.C
26e80 6f 6e 63 61 74 65 6e 61 74 69 6f 6e 3c 2f 74 64 3e 0a 20 20 20 20 20 20 20 20 20 20 3c 74 64 3e oncatenation</td>...........<td>
26ea0 3c 70 72 65 3e 3c 63 6f 64 65 3e 61 20 2b 2b 20 62 3c 2f 63 6f 64 65 3e 3c 2f 70 72 65 3e 3c 2f <pre><code>a.++.b</code></pre></
26ec0 74 64 3e 0a 20 20 20 20 20 20 20 20 20 20 3c 74 64 3e 0a 20 20 20 20 20 20 20 20 20 20 20 20 3c td>...........<td>.............<
26ee0 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="#
26f00 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 20 20 20 20 Arrays">Arrays</a></li>.........
26f20 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>.......
26f40 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>.......
26f60 20 20 20 20 20 20 20 20 3c 6c 69 3e 4f 6e 6c 79 20 61 76 61 69 6c 61 62 6c 65 20 77 68 65 6e 20 ........<li>Only.available.when.
26f80 74 68 65 20 6c 65 6e 67 74 68 73 20 6f 66 20 62 6f 74 68 20 3c 63 6f 64 65 3e 61 3c 2f 63 6f 64 the.lengths.of.both.<code>a</cod
26fa0 65 3e 20 61 6e 64 20 3c 63 6f 64 65 3e 62 3c 2f 63 6f 64 65 3e 20 61 72 65 20 3c 61 20 68 72 65 e>.and.<code>b</code>.are.<a.hre
26fc0 66 3d 22 23 63 6f 6d 70 74 69 6d 65 22 3e 63 6f 6d 70 69 6c 65 2d 74 69 6d 65 20 6b 6e 6f 77 6e f="#comptime">compile-time.known
26fe0 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>....
27000 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>.....
27020 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="
27040 74 6f 6b 2d 6b 77 22 3e 63 6f 6e 73 74 3c 2f 73 70 61 6e 3e 20 6d 65 6d 20 3d 20 3c 73 70 61 6e tok-kw">const</span>.mem.=.<span
27060 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
27080 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;
270a0 73 74 64 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 29 2e 6d 65 6d 3b 0a 3c 73 70 61 6e 20 63 6c 61 std&quot;</span>).mem;.<span.cla
270c0 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 63 6f 6e 73 74 3c 2f 73 70 61 6e 3e 20 61 72 72 61 79 31 20 ss="tok-kw">const</span>.array1.
270e0 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 33 32 3c =.[_]<span.class="tok-type">u32<
27100 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">
27120 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
27140 22 3e 32 3c 2f 73 70 61 6e 3e 7d 3b 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 ">2</span>};.<span.class="tok-kw
27160 22 3e 63 6f 6e 73 74 3c 2f 73 70 61 6e 3e 20 61 72 72 61 79 32 20 3d 20 5b 5f 5d 3c 73 70 61 6e ">const</span>.array2.=.[_]<span
27180 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 75 33 32 3c 2f 73 70 61 6e 3e 7b 3c 73 70 .class="tok-type">u32</span>{<sp
271a0 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 33 3c 2f 73 70 61 6e 3e 2c 3c an.class="tok-number">3</span>,<
271c0 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>
271e0 7d 3b 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 63 6f 6e 73 74 3c 2f 73 };.<span.class="tok-kw">const</s
27200 70 61 6e 3e 20 74 6f 67 65 74 68 65 72 20 3d 20 61 72 72 61 79 31 20 2b 2b 20 61 72 72 61 79 32 pan>.together.=.array1.++.array2
27220 3b 0a 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"
27240 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 70 >u32</span>,.&amp;together,.&amp
27260 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 2f ;[_]<span.class="tok-type">u32</
27280 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 31 span>{<span.class="tok-number">1
272a0 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 22 </span>,<span.class="tok-number"
272c0 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 65 >2</span>,<span.class="tok-numbe
272e0 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
27300 62 65 72 22 3e 34 3c 2f 73 70 61 6e 3e 7d 29 3c 2f 63 6f 64 65 3e 3c 2f 70 72 65 3e 0a 20 20 20 ber">4</span>})</code></pre>....
27320 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>......
27340 20 20 20 3c 74 72 3e 0a 20 20 20 20 20 20 20 20 20 20 3c 74 64 3e 50 6f 69 6e 74 65 72 20 44 65 ...<tr>...........<td>Pointer.De
27360 72 65 66 65 72 65 6e 63 65 3c 2f 74 64 3e 0a 20 20 20 20 20 20 20 20 20 20 3c 74 64 3e 3c 70 72 reference</td>...........<td><pr
27380 65 3e 3c 63 6f 64 65 3e 61 2e 2a 3c 2f 63 6f 64 65 3e 3c 2f 70 72 65 3e 3c 2f 74 64 3e 0a 20 20 e><code>a.*</code></pre></td>...
273a0 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>...
273c0 20 20 20 20 20 20 20 20 20 20 20 20 3c 6c 69 3e 3c 61 20 68 72 65 66 3d 22 23 50 6f 69 6e 74 65 ............<li><a.href="#Pointe
273e0 72 73 22 3e 50 6f 69 6e 74 65 72 73 3c 2f 61 3e 3c 2f 6c 69 3e 0a 20 20 20 20 20 20 20 20 20 20 rs">Pointers</a></li>...........
27400 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>.........
27420 20 20 3c 74 64 3e 0a 20 20 20 20 20 20 20 20 20 20 20 20 50 6f 69 6e 74 65 72 20 64 65 72 65 66 ..<td>.............Pointer.deref
27440 65 72 65 6e 63 65 2e 0a 20 20 20 20 20 20 20 20 20 20 3c 2f 74 64 3e 0a 20 20 20 20 20 20 20 20 erence............</td>.........
27460 20 20 3c 74 64 3e 0a 20 20 20 20 20 20 20 20 20 20 20 20 3c 70 72 65 3e 3c 63 6f 64 65 3e 3c 73 ..<td>.............<pre><code><s
27480 70 61 6e 20 63 6c 61 73 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>.
274a0 78 3a 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 75 33 32 3c 2f 73 x:.<span.class="tok-type">u32</s
274c0 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">
274e0 31 32 33 34 3c 2f 73 70 61 6e 3e 3b 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 1234</span>;.<span.class="tok-kw
27500 22 3e 63 6f 6e 73 74 3c 2f 73 70 61 6e 3e 20 70 74 72 20 3d 20 26 61 6d 70 3b 78 3b 0a 70 74 72 ">const</span>.ptr.=.&amp;x;.ptr
27520 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
27540 32 33 34 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 3c 2f 70 72 65 3e 0a 20 20 20 20 20 20 20 20 234</span></code></pre>.........
27560 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
27580 72 3e 0a 20 20 20 20 20 20 20 20 20 20 3c 74 64 3e 41 64 64 72 65 73 73 20 4f 66 3c 2f 74 64 3e r>...........<td>Address.Of</td>
275a0 0a 20 20 20 20 20 20 20 20 20 20 3c 74 64 3e 3c 70 72 65 3e 3c 63 6f 64 65 3e 26 61 6d 70 3b 61 ...........<td><pre><code>&amp;a
275c0 3c 2f 63 6f 64 65 3e 3c 2f 70 72 65 3e 3c 2f 74 64 3e 0a 20 20 20 20 20 20 20 20 20 20 3c 74 64 </code></pre></td>...........<td
275e0 3e 0a 20 20 20 20 20 20 20 20 20 20 20 20 41 6c 6c 20 74 79 70 65 73 0a 20 20 20 20 20 20 20 20 >.............All.types.........
27600 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>..........
27620 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>...........
27640 20 20 3c 70 72 65 3e 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 ..<pre><code><span.class="tok-kw
27660 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
27680 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
276a0 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 31 32 33 34 3c 2f 73 70 61 6e 3e 3b 0a 3c 73 70 61 s="tok-number">1234</span>;.<spa
276c0 6e 20 63 6c 61 73 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
276e0 72 20 3d 20 26 61 6d 70 3b 78 3b 0a 70 74 72 2e 2a 20 3d 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 r.=.&amp;x;.ptr.*.==.<span.class
27700 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 31 32 33 34 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e ="tok-number">1234</span></code>
27720 3c 2f 70 72 65 3e 0a 20 20 20 20 20 20 20 20 20 20 3c 2f 74 64 3e 0a 20 20 20 20 20 20 20 20 3c </pre>...........</td>.........<
27740 2f 74 72 3e 0a 20 20 20 20 20 20 20 20 3c 74 72 3e 0a 20 20 20 20 20 20 20 20 20 20 3c 74 64 3e /tr>.........<tr>...........<td>
27760 45 72 72 6f 72 20 53 65 74 20 4d 65 72 67 65 3c 2f 74 64 3e 0a 20 20 20 20 20 20 20 20 20 20 3c Error.Set.Merge</td>...........<
27780 74 64 3e 3c 70 72 65 3e 3c 63 6f 64 65 3e 61 20 7c 7c 20 62 3c 2f 63 6f 64 65 3e 3c 2f 70 72 65 td><pre><code>a.||.b</code></pre
277a0 3e 3c 2f 74 64 3e 0a 20 20 20 20 20 20 20 20 20 20 3c 74 64 3e 0a 20 20 20 20 20 20 20 20 20 20 ></td>...........<td>...........
277c0 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
277e0 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 79 70 ="#Error-Set-Type">Error.Set.Typ
27800 65 3c 2f 61 3e 3c 2f 6c 69 3e 0a 20 20 20 20 20 20 20 20 20 20 20 20 3c 2f 75 6c 3e 0a 20 20 20 e</a></li>.............</ul>....
27820 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>.....
27840 20 20 20 20 20 20 20 20 20 20 3c 61 20 68 72 65 66 3d 22 23 4d 65 72 67 69 6e 67 2d 45 72 72 6f ..........<a.href="#Merging-Erro
27860 72 2d 53 65 74 73 22 3e 4d 65 72 67 69 6e 67 20 45 72 72 6f 72 20 53 65 74 73 3c 2f 61 3e 0a 20 r-Sets">Merging.Error.Sets</a>..
27880 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>...
278a0 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
278c0 3d 22 74 6f 6b 2d 6b 77 22 3e 63 6f 6e 73 74 3c 2f 73 70 61 6e 3e 20 41 20 3d 20 3c 73 70 61 6e ="tok-kw">const</span>.A.=.<span
278e0 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 65 72 72 6f 72 3c 2f 73 70 61 6e 3e 7b 4f 6e 65 .class="tok-kw">error</span>{One
27900 7d 3b 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 63 6f 6e 73 74 3c 2f 73 };.<span.class="tok-kw">const</s
27920 70 61 6e 3e 20 42 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>.B.=.<span.class="tok-kw">er
27940 72 6f 72 3c 2f 73 70 61 6e 3e 7b 54 77 6f 7d 3b 0a 28 41 20 7c 7c 20 42 29 20 3d 3d 20 3c 73 70 ror</span>{Two};.(A.||.B).==.<sp
27960 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 7b 4f an.class="tok-kw">error</span>{O
27980 6e 65 2c 20 54 77 6f 7d 3c 2f 63 6f 64 65 3e 3c 2f 70 72 65 3e 0a 20 20 20 20 20 20 20 20 20 20 ne,.Two}</code></pre>...........
279a0 3c 2f 74 64 3e 0a 20 20 20 20 20 20 20 20 3c 2f 74 72 3e 0a 20 20 20 20 20 20 20 20 3c 2f 74 62 </td>.........</tr>.........</tb
279c0 6f 64 79 3e 0a 20 20 20 20 20 20 3c 2f 74 61 62 6c 65 3e 0a 20 20 20 20 20 20 3c 2f 64 69 76 3e ody>.......</table>.......</div>
279e0 0a 20 20 20 20 20 20 0a 20 20 20 20 20 20 3c 68 33 20 69 64 3d 22 50 72 65 63 65 64 65 6e 63 65 ..............<h3.id="Precedence
27a00 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 65 63 65 64 65 "><a.href="nav.xhtml#toc-Precede
27a20 6e 63 65 22 3e 50 72 65 63 65 64 65 6e 63 65 3c 2f 61 3e 20 3c 61 20 63 6c 61 73 73 3d 22 68 64 nce">Precedence</a>.<a.class="hd
27a40 72 22 20 68 72 65 66 3d 22 23 50 72 65 63 65 64 65 6e 63 65 22 3e c2 a7 3c 2f 61 3e 3c 2f 68 33 r".href="#Precedence">..</a></h3
27a60 3e 0a 0a 20 20 20 20 20 20 3c 70 72 65 3e 3c 63 6f 64 65 3e 78 28 29 20 78 5b 5d 20 78 2e 79 20 >........<pre><code>x().x[].x.y.
27a80 78 2e 2a 20 78 2e 3f 0a 61 21 62 0a 78 7b 7d 0a 21 78 20 2d 78 20 2d 25 78 20 7e 78 20 26 61 6d x.*.x.?.a!b.x{}.!x.-x.-%x.~x.&am
27aa0 70 3b 78 20 3f 78 0a 2a 20 2f 20 25 20 2a 25 20 2a 7c 20 7c 7c 0a 2b 20 2d 20 2b 2b 20 2b 25 20 p;x.?x.*./.%.*%.*|.||.+.-.++.+%.
27ac0 2d 25 20 2b 7c 20 2d 7c 0a 26 6c 74 3b 26 6c 74 3b 20 26 67 74 3b 26 67 74 3b 20 26 6c 74 3b 26 -%.+|.-|.&lt;&lt;.&gt;&gt;.&lt;&
27ae0 6c 74 3b 7c 0a 26 61 6d 70 3b 20 5e 20 7c 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d lt;|.&amp;.^.|.<span.class="tok-
27b00 6b 77 22 3e 6f 72 65 6c 73 65 3c 2f 73 70 61 6e 3e 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 kw">orelse</span>.<span.class="t
27b20 6f 6b 2d 6b 77 22 3e 63 61 74 63 68 3c 2f 73 70 61 6e 3e 0a 3d 3d 20 21 3d 20 26 6c 74 3b 20 26 ok-kw">catch</span>.==.!=.&lt;.&
27b40 67 74 3b 20 26 6c 74 3b 3d 20 26 67 74 3b 3d 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b gt;.&lt;=.&gt;=.<span.class="tok
27b60 2d 6b 77 22 3e 61 6e 64 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b -kw">and</span>.<span.class="tok
27b80 2d 6b 77 22 3e 6f 72 3c 2f 73 70 61 6e 3e 0a 3d 20 2a 3d 20 2a 25 3d 20 2a 7c 3d 20 2f 3d 20 25 -kw">or</span>.=.*=.*%=.*|=./=.%
27ba0 3d 20 2b 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 =.+=.+%=.+|=.-=.-%=.-|=.&lt;&lt;
27bc0 3d 20 26 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 =.&lt;&lt;|=.&gt;&gt;=.&amp;=.^=
27be0 20 7c 3d 3c 2f 63 6f 64 65 3e 3c 2f 70 72 65 3e 0a 20 20 20 20 20 20 0a 20 20 20 20 20 20 0a 20 .|=</code></pre>................
27c00 20 20 20 20 20 3c 68 32 20 69 64 3d 22 41 72 72 61 79 73 22 3e 3c 61 20 68 72 65 66 3d 22 6e 61 .....<h2.id="Arrays"><a.href="na
27c20 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 61 3e 20 3c v.xhtml#toc-Arrays">Arrays</a>.<
27c40 61 20 63 6c 61 73 73 3d 22 68 64 72 22 20 68 72 65 66 3d 22 23 41 72 72 61 79 73 22 3e c2 a7 3c a.class="hdr".href="#Arrays">..<
27c60 2f 61 3e 3c 2f 68 32 3e 0a 0a 20 20 20 20 20 20 3c 66 69 67 75 72 65 3e 3c 66 69 67 63 61 70 74 /a></h2>........<figure><figcapt
27c80 69 6f 6e 20 63 6c 61 73 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=
27ca0 22 66 69 6c 65 22 3e 74 65 73 74 5f 61 72 72 61 79 73 2e 7a 69 67 3c 2f 63 69 74 65 3e 3c 2f 66 "file">test_arrays.zig</cite></f
27cc0 69 67 63 61 70 74 69 6f 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
27ce0 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 45 71 75 ="tok-kw">const</span>.expectEqu
27d00 61 6c 20 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 62 75 69 6c 74 69 6e 22 3e 40 al.=.<span.class="tok-builtin">@
27d20 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
27d40 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
27d60 69 6e 67 2e 65 78 70 65 63 74 45 71 75 61 6c 3b 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f ing.expectEqual;.<span.class="to
27d80 6b 2d 6b 77 22 3e 63 6f 6e 73 74 3c 2f 73 70 61 6e 3e 20 61 73 73 65 72 74 20 3d 20 3c 73 70 61 k-kw">const</span>.assert.=.<spa
27da0 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
27dc0 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
27de0 3b 73 74 64 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 29 2e 64 65 62 75 67 2e 61 73 73 65 72 74 3b ;std&quot;</span>).debug.assert;
27e00 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 63 6f 6e 73 74 3c 2f 73 70 61 .<span.class="tok-kw">const</spa
27e20 6e 3e 20 6d 65 6d 20 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 62 75 69 6c 74 69 n>.mem.=.<span.class="tok-builti
27e40 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
27e60 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>).
27e80 6d 65 6d 3b 0a 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 63 6f 6d 6d 65 6e 74 22 3e mem;..<span.class="tok-comment">
27ea0 2f 2f 20 61 72 72 61 79 20 6c 69 74 65 72 61 6c 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c //.array.literal</span>.<span.cl
27ec0 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 63 6f 6e 73 74 3c 2f 73 70 61 6e 3e 20 6d 65 73 73 61 67 ass="tok-kw">const</span>.messag
27ee0 65 20 3d 20 5b 5f 5d 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 75 38 e.=.[_]<span.class="tok-type">u8
27f00 3c 2f 73 70 61 6e 3e 7b 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 73 74 72 22 3e 27 </span>{.<span.class="tok-str">'
27f20 68 27 3c 2f 73 70 61 6e 3e 2c 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 73 74 72 22 h'</span>,.<span.class="tok-str"
27f40 3e 27 65 27 3c 2f 73 70 61 6e 3e 2c 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 73 74 >'e'</span>,.<span.class="tok-st
27f60 72 22 3e 27 6c 27 3c 2f 73 70 61 6e 3e 2c 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d r">'l'</span>,.<span.class="tok-
27f80 73 74 72 22 3e 27 6c 27 3c 2f 73 70 61 6e 3e 2c 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f str">'l'</span>,.<span.class="to
27fa0 6b 2d 73 74 72 22 3e 27 6f 27 3c 2f 73 70 61 6e 3e 20 7d 3b 0a 0a 3c 73 70 61 6e 20 63 6c 61 73 k-str">'o'</span>.};..<span.clas
27fc0 73 3d 22 74 6f 6b 2d 63 6f 6d 6d 65 6e 74 22 3e 2f 2f 20 61 6c 74 65 72 6e 61 74 69 76 65 20 69 s="tok-comment">//.alternative.i
27fe0 6e 69 74 69 61 6c 69 7a 61 74 69 6f 6e 20 75 73 69 6e 67 20 72 65 73 75 6c 74 20 6c 6f 63 61 74 nitialization.using.result.locat
28000 69 6f 6e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e ion</span>.<span.class="tok-kw">
28020 63 6f 6e 73 74 3c 2f 73 70 61 6e 3e 20 61 6c 74 5f 6d 65 73 73 61 67 65 3a 20 5b 3c 73 70 61 6e const</span>.alt_message:.[<span
28040 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
28060 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>.=.
28080 2e 7b 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 73 74 72 22 3e 27 68 27 3c 2f 73 70 .{.<span.class="tok-str">'h'</sp
280a0 61 6e 3e 2c 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 73 74 72 22 3e 27 65 27 3c 2f an>,.<span.class="tok-str">'e'</
280c0 73 70 61 6e 3e 2c 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 73 74 72 22 3e 27 6c 27 span>,.<span.class="tok-str">'l'
280e0 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 27 </span>,.<span.class="tok-str">'
28100 6c 27 3c 2f 73 70 61 6e 3e 2c 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 73 74 72 22 l'</span>,.<span.class="tok-str"
28120 3e 27 6f 27 3c 2f 73 70 61 6e 3e 20 7d 3b 0a 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b >'o'</span>.};..<span.class="tok
28140 2d 6b 77 22 3e 63 6f 6d 70 74 69 6d 65 3c 2f 73 70 61 6e 3e 20 7b 0a 20 20 20 20 61 73 73 65 72 -kw">comptime</span>.{.....asser
28160 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"
28180 3e 75 38 3c 2f 73 70 61 6e 3e 2c 20 26 61 6d 70 3b 6d 65 73 73 61 67 65 2c 20 26 61 6d 70 3b 61 >u8</span>,.&amp;message,.&amp;a
281a0 6c 74 5f 6d 65 73 73 61 67 65 29 29 3b 0a 7d 0a 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f lt_message));.}..<span.class="to
281c0 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 20 61 6e k-comment">//.get.the.size.of.an
281e0 20 61 72 72 61 79 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b .array</span>.<span.class="tok-k
28200 77 22 3e 63 6f 6d 70 74 69 6d 65 3c 2f 73 70 61 6e 3e 20 7b 0a 20 20 20 20 61 73 73 65 72 74 28 w">comptime</span>.{.....assert(
28220 6d 65 73 73 61 67 65 2e 6c 65 6e 20 3d 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d message.len.==.<span.class="tok-
28240 6e 75 6d 62 65 72 22 3e 35 3c 2f 73 70 61 6e 3e 29 3b 0a 7d 0a 0a 3c 73 70 61 6e 20 63 6c 61 73 number">5</span>);.}..<span.clas
28260 73 3d 22 74 6f 6b 2d 63 6f 6d 6d 65 6e 74 22 3e 2f 2f 20 41 20 73 74 72 69 6e 67 20 6c 69 74 65 s="tok-comment">//.A.string.lite
28280 72 61 6c 20 69 73 20 61 20 73 69 6e 67 6c 65 2d 69 74 65 6d 20 70 6f 69 6e 74 65 72 20 74 6f 20 ral.is.a.single-item.pointer.to.
282a0 61 6e 20 61 72 72 61 79 2e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f an.array.</span>.<span.class="to
282c0 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 65 73 73 61 67 65 20 k-kw">const</span>.same_message.
282e0 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 73 74 72 22 3e 26 71 75 6f 74 3b 68 65 =.<span.class="tok-str">&quot;he
28300 6c 6c 6f 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 3b 0a 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 llo&quot;</span>;..<span.class="
28320 74 6f 6b 2d 6b 77 22 3e 63 6f 6d 70 74 69 6d 65 3c 2f 73 70 61 6e 3e 20 7b 0a 20 20 20 20 61 73 tok-kw">comptime</span>.{.....as
28340 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 79 sert(mem.eql(<span.class="tok-ty
28360 70 65 22 3e 75 38 3c 2f 73 70 61 6e 3e 2c 20 26 61 6d 70 3b 6d 65 73 73 61 67 65 2c 20 73 61 6d pe">u8</span>,.&amp;message,.sam
28380 65 5f 6d 65 73 73 61 67 65 29 29 3b 0a 7d 0a 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b e_message));.}..<span.class="tok
283a0 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
283c0 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 61 72 72 k-str">&quot;iterate.over.an.arr
283e0 61 79 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 20 7b 0a 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 ay&quot;</span>.{.....<span.clas
28400 73 3d 22 74 6f 6b 2d 6b 77 22 3e 76 61 72 3c 2f 73 70 61 6e 3e 20 73 75 6d 3a 20 3c 73 70 61 6e s="tok-kw">var</span>.sum:.<span
28420 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>.=
28440 20 3c 73 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
28460 6e 3e 3b 0a 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 66 6f 72 n>;.....<span.class="tok-kw">for
28480 3c 2f 73 70 61 6e 3e 20 28 6d 65 73 73 61 67 65 29 20 7c 62 79 74 65 7c 20 7b 0a 20 20 20 20 20 </span>.(message).|byte|.{......
284a0 20 20 20 73 75 6d 20 2b 3d 20 62 79 74 65 3b 0a 20 20 20 20 7d 0a 20 20 20 20 3c 73 70 61 6e 20 ...sum.+=.byte;.....}.....<span.
284c0 63 6c 61 73 73 3d 22 74 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
284e0 45 71 75 61 6c 28 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 73 74 72 22 3e 27 68 27 3c Equal(<span.class="tok-str">'h'<
28500 2f 73 70 61 6e 3e 20 2b 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 73 74 72 22 3e 27 /span>.+.<span.class="tok-str">'
28520 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 74 6f 6b 2d 73 74 72 e'</span>.+.<span.class="tok-str
28540 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 73 3d 22 74 6f 6b 2d ">'l'</span>.*.<span.class="tok-
28560 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 73 73 3d 22 number">2</span>.+.<span.class="
28580 74 6f 6b 2d 73 74 72 22 3e 27 6f 27 3c 2f 73 70 61 6e 3e 2c 20 73 75 6d 29 3b 0a 7d 0a 0a 3c 73 tok-str">'o'</span>,.sum);.}..<s
285a0 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 63 6f 6d 6d 65 6e 74 22 3e 2f 2f 20 6d 6f 64 69 66 pan.class="tok-comment">//.modif
285c0 69 61 62 6c 65 20 61 72 72 61 79 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 iable.array</span>.<span.class="
285e0 74 6f 6b 2d 6b 77 22 3e 76 61 72 3c 2f 73 70 61 6e 3e 20 73 6f 6d 65 5f 69 6e 74 65 67 65 72 73 tok-kw">var</span>.some_integers
28600 3a 20 5b 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 31 30 30 3c :.[<span.class="tok-number">100<
28620 2f 73 70 61 6e 3e 5d 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 69 33 /span>]<span.class="tok-type">i3
28640 32 3c 2f 73 70 61 6e 3e 20 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6c 6c 2</span>.=.<span.class="tok-null
28660 22 3e 75 6e 64 65 66 69 6e 65 64 3c 2f 73 70 61 6e 3e 3b 0a 0a 3c 73 70 61 6e 20 63 6c 61 73 73 ">undefined</span>;..<span.class
28680 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
286a0 73 3d 22 74 6f 6b 2d 73 74 72 22 3e 26 71 75 6f 74 3b 6d 6f 64 69 66 79 20 61 6e 20 61 72 72 61 s="tok-str">&quot;modify.an.arra
286c0 79 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 20 7b 0a 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 y&quot;</span>.{.....<span.class
286e0 3d 22 74 6f 6b 2d 6b 77 22 3e 66 6f 72 3c 2f 73 70 61 6e 3e 20 28 26 61 6d 70 3b 73 6f 6d 65 5f ="tok-kw">for</span>.(&amp;some_
28700 69 6e 74 65 67 65 72 73 2c 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 integers,.<span.class="tok-numbe
28720 72 22 3e 30 3c 2f 73 70 61 6e 3e 2e 2e 29 20 7c 2a 69 74 65 6d 2c 20 69 7c 20 7b 0a 20 20 20 20 r">0</span>..).|*item,.i|.{.....
28740 20 20 20 20 69 74 65 6d 2e 2a 20 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 62 75 ....item.*.=.<span.class="tok-bu
28760 69 6c 74 69 6e 22 3e 40 69 6e 74 43 61 73 74 3c 2f 73 70 61 6e 3e 28 69 29 3b 0a 20 20 20 20 7d iltin">@intCast</span>(i);.....}
28780 0a 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 74 72 79 3c 2f 73 .....<span.class="tok-kw">try</s
287a0 70 61 6e 3e 20 65 78 70 65 63 74 45 71 75 61 6c 28 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f pan>.expectEqual(<span.class="to
287c0 6b 2d 6e 75 6d 62 65 72 22 3e 31 30 3c 2f 73 70 61 6e 3e 2c 20 73 6f 6d 65 5f 69 6e 74 65 67 65 k-number">10</span>,.some_intege
287e0 72 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 30 3c 2f rs[<span.class="tok-number">10</
28800 73 70 61 6e 3e 5d 29 3b 0a 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 span>]);.....<span.class="tok-kw
28820 22 3e 74 72 79 3c 2f 73 70 61 6e 3e 20 65 78 70 65 63 74 45 71 75 61 6c 28 3c 73 70 61 6e 20 63 ">try</span>.expectEqual(<span.c
28840 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 2c 20 73 6f 6d lass="tok-number">99</span>,.som
28860 65 5f 69 6e 74 65 67 65 72 73 5b 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 e_integers[<span.class="tok-numb
28880 65 72 22 3e 39 39 3c 2f 73 70 61 6e 3e 5d 29 3b 0a 7d 0a 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d er">99</span>]);.}..<span.class=
288a0 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 61 "tok-comment">//.array.concatena
288c0 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 6f tion.works.if.the.values.are.kno
288e0 77 6e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 63 6f 6d 6d 65 wn</span>.<span.class="tok-comme
28900 6e 74 22 3e 2f 2f 20 61 74 20 63 6f 6d 70 69 6c 65 20 74 69 6d 65 3c 2f 73 70 61 6e 3e 0a 3c 73 nt">//.at.compile.time</span>.<s
28920 70 61 6e 20 63 6c 61 73 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>.
28940 70 61 72 74 5f 6f 6e 65 20 3d 20 5b 5f 5d 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 part_one.=.[_]<span.class="tok-t
28960 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 74 6f ype">i32</span>{.<span.class="to
28980 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=
289a0 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
289c0 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 33 3c 2f 73 70 61 6e 3e 2c 20 3c 73 70 61 6e 20 ss="tok-number">3</span>,.<span.
289e0 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 0a 3c class="tok-number">4</span>.};.<
28a00 73 70 61 6e 20 63 6c 61 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>
28a20 20 70 61 72 74 5f 74 77 6f 20 3d 20 5b 5f 5d 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d .part_two.=.[_]<span.class="tok-
28a40 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 74 type">i32</span>{.<span.class="t
28a60 6f 6b 2d 6e 75 6d 62 65 72 22 3e 35 3c 2f 73 70 61 6e 3e 2c 20 3c 73 70 61 6e 20 63 6c 61 73 73 ok-number">5</span>,.<span.class
28a80 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 36 3c 2f 73 70 61 6e 3e 2c 20 3c 73 70 61 6e 20 63 6c ="tok-number">6</span>,.<span.cl
28aa0 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 37 3c 2f 73 70 61 6e 3e 2c 20 3c 73 70 61 6e ass="tok-number">7</span>,.<span
28ac0 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 38 3c 2f 73 70 61 6e 3e 20 7d 3b 0a .class="tok-number">8</span>.};.
28ae0 3c 73 70 61 6e 20 63 6c 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
28b00 3e 20 61 6c 6c 5f 6f 66 5f 69 74 20 3d 20 70 61 72 74 5f 6f 6e 65 20 2b 2b 20 70 61 72 74 5f 74 >.all_of_it.=.part_one.++.part_t
28b20 77 6f 3b 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 63 6f 6d 70 74 69 6d wo;.<span.class="tok-kw">comptim
28b40 65 3c 2f 73 70 61 6e 3e 20 7b 0a 20 20 20 20 61 73 73 65 72 74 28 6d 65 6d 2e 65 71 6c 28 3c 73 e</span>.{.....assert(mem.eql(<s
28b60 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 69 33 32 3c 2f 73 70 61 6e 3e 2c pan.class="tok-type">i32</span>,
28b80 20 26 61 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 .&amp;all_of_it,.&amp;[_]<span.c
28ba0 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 69 33 32 3c 2f 73 70 61 6e 3e 7b 20 3c 73 70 61 lass="tok-type">i32</span>{.<spa
28bc0 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 31 3c 2f 73 70 61 6e 3e 2c 20 3c n.class="tok-number">1</span>,.<
28be0 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>
28c00 2c 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 33 3c 2f 73 70 ,.<span.class="tok-number">3</sp
28c20 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<
28c40 2f 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"
28c60 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
28c80 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 6e er">6</span>,.<span.class="tok-n
28ca0 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 74 6f umber">7</span>,.<span.class="to
28cc0 6b 2d 6e 75 6d 62 65 72 22 3e 38 3c 2f 73 70 61 6e 3e 20 7d 29 29 3b 0a 7d 0a 0a 3c 73 70 61 6e k-number">8</span>.}));.}..<span
28ce0 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 63 6f 6d 6d 65 6e 74 22 3e 2f 2f 20 72 65 6d 65 6d 62 65 72 .class="tok-comment">//.remember
28d00 20 74 68 61 74 20 73 74 72 69 6e 67 20 6c 69 74 65 72 61 6c 73 20 61 72 65 20 61 72 72 61 79 73 .that.string.literals.are.arrays
28d20 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 63 6f 6e </span>.<span.class="tok-kw">con
28d40 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 73 73 3d 22 74 st</span>.hello.=.<span.class="t
28d60 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>
28d80 3b 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 63 6f 6e 73 74 3c 2f 73 70 ;.<span.class="tok-kw">const</sp
28da0 61 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 an>.world.=.<span.class="tok-str
28dc0 22 3e 26 71 75 6f 74 3b 77 6f 72 6c 64 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 3b 0a 3c 73 70 61 ">&quot;world&quot;</span>;.<spa
28de0 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 63 6f 6e 73 74 3c 2f 73 70 61 6e 3e 20 68 65 n.class="tok-kw">const</span>.he
28e00 6c 6c 6f 5f 77 6f 72 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 llo_world.=.hello.++.<span.class
28e20 3d 22 74 6f 6b 2d 73 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 ="tok-str">&quot;.&quot;</span>.
28e40 2b 2b 20 77 6f 72 6c 64 3b 0a 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
28e60 6f 6d 70 74 69 6d 65 3c 2f 73 70 61 6e 3e 20 7b 0a 20 20 20 20 61 73 73 65 72 74 28 6d 65 6d 2e omptime</span>.{.....assert(mem.
28e80 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
28ea0 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 22 pan>,.hello_world,.<span.class="
28ec0 74 6f 6b 2d 73 74 72 22 3e 26 71 75 6f 74 3b 68 65 6c 6c 6f 20 77 6f 72 6c 64 26 71 75 6f 74 3b tok-str">&quot;hello.world&quot;
28ee0 3c 2f 73 70 61 6e 3e 29 29 3b 0a 7d 0a 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 63 </span>));.}..<span.class="tok-c
28f00 6f 6d 6d 65 6e 74 22 3e 2f 2f 20 69 6e 69 74 69 61 6c 69 7a 65 20 61 6e 20 61 72 72 61 79 20 74 omment">//.initialize.an.array.t
28f20 6f 20 7a 65 72 6f 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b o.zero</span>.<span.class="tok-k
28f40 77 22 3e 63 6f 6e 73 74 3c 2f 73 70 61 6e 3e 20 61 6c 6c 5f 7a 65 72 6f 3a 20 5b 3c 73 70 61 6e w">const</span>.all_zero:.[<span
28f60 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 31 30 3c 2f 73 70 61 6e 3e 5d 3c 73 .class="tok-number">10</span>]<s
28f80 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>.
28fa0 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 62 75 69 6c 74 69 6e 22 3e 40 73 70 6c =.<span.class="tok-builtin">@spl
28fc0 61 74 3c 2f 73 70 61 6e 3e 28 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 at</span>(<span.class="tok-numbe
28fe0 72 22 3e 30 3c 2f 73 70 61 6e 3e 29 3b 0a 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d r">0</span>);..<span.class="tok-
29000 6b 77 22 3e 63 6f 6d 70 74 69 6d 65 3c 2f 73 70 61 6e 3e 20 7b 0a 20 20 20 20 61 73 73 65 72 74 kw">comptime</span>.{.....assert
29020 28 61 6c 6c 5f 7a 65 72 6f 2e 6c 65 6e 20 3d 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f (all_zero.len.==.<span.class="to
29040 6b 2d 6e 75 6d 62 65 72 22 3e 31 30 3c 2f 73 70 61 6e 3e 29 3b 0a 20 20 20 20 61 73 73 65 72 74 k-number">10</span>);.....assert
29060 28 61 6c 6c 5f 7a 65 72 6f 5b 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 (all_zero[<span.class="tok-numbe
29080 72 22 3e 35 3c 2f 73 70 61 6e 3e 5d 20 3d 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b r">5</span>].==.<span.class="tok
290a0 2d 6e 75 6d 62 65 72 22 3e 30 3c 2f 73 70 61 6e 3e 29 3b 0a 7d 0a 0a 3c 73 70 61 6e 20 63 6c 61 -number">0</span>);.}..<span.cla
290c0 73 73 3d 22 74 6f 6b 2d 63 6f 6d 6d 65 6e 74 22 3e 2f 2f 20 75 73 65 20 63 6f 6d 70 69 6c 65 2d ss="tok-comment">//.use.compile-
290e0 74 69 6d 65 20 63 6f 64 65 20 74 6f 20 69 6e 69 74 69 61 6c 69 7a 65 20 61 6e 20 61 72 72 61 79 time.code.to.initialize.an.array
29100 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 76 61 72 </span>.<span.class="tok-kw">var
29120 3c 2f 73 70 61 6e 3e 20 66 61 6e 63 79 5f 61 72 72 61 79 20 3d 20 69 6e 69 74 3a 20 7b 0a 20 20 </span>.fancy_array.=.init:.{...
29140 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
29160 3e 20 69 6e 69 74 69 61 6c 5f 76 61 6c 75 65 3a 20 5b 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 >.initial_value:.[<span.class="t
29180 6f 6b 2d 6e 75 6d 62 65 72 22 3e 31 30 3c 2f 73 70 61 6e 3e 5d 50 6f 69 6e 74 20 3d 20 3c 73 70 ok-number">10</span>]Point.=.<sp
291a0 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6c 6c 22 3e 75 6e 64 65 66 69 6e 65 64 3c 2f 73 an.class="tok-null">undefined</s
291c0 70 61 6e 3e 3b 0a 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 66 pan>;.....<span.class="tok-kw">f
291e0 6f 72 3c 2f 73 70 61 6e 3e 20 28 26 61 6d 70 3b 69 6e 69 74 69 61 6c 5f 76 61 6c 75 65 2c 20 3c or</span>.(&amp;initial_value,.<
29200 73 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>
29220 2e 2e 29 20 7c 2a 70 74 2c 20 69 7c 20 7b 0a 20 20 20 20 20 20 20 20 70 74 2e 2a 20 3d 20 50 6f ..).|*pt,.i|.{.........pt.*.=.Po
29240 69 6e 74 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 2e 78 20 3d 20 3c 73 70 61 6e 20 63 6c 61 73 int{..............x.=.<span.clas
29260 73 3d 22 74 6f 6b 2d 62 75 69 6c 74 69 6e 22 3e 40 69 6e 74 43 61 73 74 3c 2f 73 70 61 6e 3e 28 s="tok-builtin">@intCast</span>(
29280 69 29 2c 0a 20 20 20 20 20 20 20 20 20 20 20 20 2e 79 20 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 i),..............y.=.<span.class
292a0 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 69 ="tok-builtin">@intCast</span>(i
292c0 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 2f 73 .*.<span.class="tok-number">2</s
292e0 70 61 6e 3e 29 2c 0a 20 20 20 20 20 20 20 20 7d 3b 0a 20 20 20 20 7d 0a 20 20 20 20 3c 73 70 61 pan>),.........};.....}.....<spa
29300 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 69 n.class="tok-kw">break</span>.:i
29320 6e 69 74 20 69 6e 69 74 69 61 6c 5f 76 61 6c 75 65 3b 0a 7d 3b 0a 3c 73 70 61 6e 20 63 6c 61 73 nit.initial_value;.};.<span.clas
29340 73 3d 22 74 6f 6b 2d 6b 77 22 3e 63 6f 6e 73 74 3c 2f 73 70 61 6e 3e 20 50 6f 69 6e 74 20 3d 20 s="tok-kw">const</span>.Point.=.
29360 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
29380 6e 3e 20 7b 0a 20 20 20 20 78 3a 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 n>.{.....x:.<span.class="tok-typ
293a0 65 22 3e 69 33 32 3c 2f 73 70 61 6e 3e 2c 0a 20 20 20 20 79 3a 20 3c 73 70 61 6e 20 63 6c 61 73 e">i32</span>,.....y:.<span.clas
293c0 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 69 33 32 3c 2f 73 70 61 6e 3e 2c 0a 7d 3b 0a 0a 3c 73 70 s="tok-type">i32</span>,.};..<sp
293e0 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
29400 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 73 74 72 22 3e 26 71 75 6f 74 3b 63 6f 6d 70 69 6c pan.class="tok-str">&quot;compil
29420 65 2d 74 69 6d 65 20 61 72 72 61 79 20 69 6e 69 74 69 61 6c 69 7a 61 74 69 6f 6e 26 71 75 6f 74 e-time.array.initialization&quot
29440 3b 3c 2f 73 70 61 6e 3e 20 7b 0a 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d ;</span>.{.....<span.class="tok-
29460 6b 77 22 3e 74 72 79 3c 2f 73 70 61 6e 3e 20 65 78 70 65 63 74 45 71 75 61 6c 28 3c 73 70 61 6e kw">try</span>.expectEqual(<span
29480 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 66 61 .class="tok-number">4</span>,.fa
294a0 6e 63 79 5f 61 72 72 61 79 5b 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 ncy_array[<span.class="tok-numbe
294c0 72 22 3e 34 3c 2f 73 70 61 6e 3e 5d 2e 78 29 3b 0a 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 r">4</span>].x);.....<span.class
294e0 3d 22 74 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 ="tok-kw">try</span>.expectEqual
29500 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 38 3c 2f 73 70 61 (<span.class="tok-number">8</spa
29520 6e 3e 2c 20 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 n>,.fancy_array[<span.class="tok
29540 2d 6e 75 6d 62 65 72 22 3e 34 3c 2f 73 70 61 6e 3e 5d 2e 79 29 3b 0a 7d 0a 0a 3c 73 70 61 6e 20 -number">4</span>].y);.}..<span.
29560 63 6c 61 73 73 3d 22 74 6f 6b 2d 63 6f 6d 6d 65 6e 74 22 3e 2f 2f 20 63 61 6c 6c 20 61 20 66 75 class="tok-comment">//.call.a.fu
29580 6e 63 74 69 6f 6e 20 74 6f 20 69 6e 69 74 69 61 6c 69 7a 65 20 61 6e 20 61 72 72 61 79 3c 2f 73 nction.to.initialize.an.array</s
295a0 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 76 61 72 3c 2f 73 pan>.<span.class="tok-kw">var</s
295c0 70 61 6e 3e 20 6d 6f 72 65 5f 70 6f 69 6e 74 73 3a 20 5b 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 pan>.more_points:.[<span.class="
295e0 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 31 30 3c 2f 73 70 61 6e 3e 5d 50 6f 69 6e 74 20 3d 20 3c 73 tok-number">10</span>]Point.=.<s
29600 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 62 75 69 6c 74 69 6e 22 3e 40 73 70 6c 61 74 3c 2f pan.class="tok-builtin">@splat</
29620 73 70 61 6e 3e 28 6d 61 6b 65 50 6f 69 6e 74 28 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b span>(makePoint(<span.class="tok
29640 2d 6e 75 6d 62 65 72 22 3e 33 3c 2f 73 70 61 6e 3e 29 29 3b 0a 3c 73 70 61 6e 20 63 6c 61 73 73 -number">3</span>));.<span.class
29660 3d 22 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=
29680 22 74 6f 6b 2d 66 6e 22 3e 6d 61 6b 65 50 6f 69 6e 74 3c 2f 73 70 61 6e 3e 28 78 3a 20 3c 73 70 "tok-fn">makePoint</span>(x:.<sp
296a0 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>).
296c0 50 6f 69 6e 74 20 7b 0a 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 Point.{.....<span.class="tok-kw"
296e0 3e 72 65 74 75 72 6e 3c 2f 73 70 61 6e 3e 20 50 6f 69 6e 74 7b 0a 20 20 20 20 20 20 20 20 2e 78 >return</span>.Point{..........x
29700 20 3d 20 78 2c 0a 20 20 20 20 20 20 20 20 2e 79 20 3d 20 78 20 2a 20 3c 73 70 61 6e 20 63 6c 61 .=.x,..........y.=.x.*.<span.cla
29720 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 32 3c 2f 73 70 61 6e 3e 2c 0a 20 20 20 20 7d 3b ss="tok-number">2</span>,.....};
29740 0a 7d 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 74 65 73 74 3c 2f 73 70 .}.<span.class="tok-kw">test</sp
29760 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;
29780 61 72 72 61 79 20 69 6e 69 74 69 61 6c 69 7a 61 74 69 6f 6e 20 77 69 74 68 20 66 75 6e 63 74 69 array.initialization.with.functi
297a0 6f 6e 20 63 61 6c 6c 73 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 20 7b 0a 20 20 20 20 3c 73 70 61 on.calls&quot;</span>.{.....<spa
297c0 6e 20 63 6c 61 73 73 3d 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
297e0 63 74 45 71 75 61 6c 28 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 ctEqual(<span.class="tok-number"
29800 3e 33 3c 2f 73 70 61 6e 3e 2c 20 6d 6f 72 65 5f 70 6f 69 6e 74 73 5b 3c 73 70 61 6e 20 63 6c 61 >3</span>,.more_points[<span.cla
29820 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 34 3c 2f 73 70 61 6e 3e 5d 2e 78 29 3b 0a 20 20 ss="tok-number">4</span>].x);...
29840 20 20 3c 73 70 61 6e 20 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
29860 3e 20 65 78 70 65 63 74 45 71 75 61 6c 28 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e >.expectEqual(<span.class="tok-n
29880 75 6d 62 65 72 22 3e 36 3c 2f 73 70 61 6e 3e 2c 20 6d 6f 72 65 5f 70 6f 69 6e 74 73 5b 3c 73 70 umber">6</span>,.more_points[<sp
298a0 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 2e an.class="tok-number">4</span>].
298c0 79 29 3b 0a 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 74 72 79 y);.....<span.class="tok-kw">try
298e0 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=
29900 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 31 30 3c 2f 73 70 61 6e 3e 2c 20 6d 6f 72 65 5f 70 6f 69 "tok-number">10</span>,.more_poi
29920 6e 74 73 2e 6c 65 6e 29 3b 0a 7d 3c 2f 63 6f 64 65 3e 3c 2f 70 72 65 3e 3c 2f 66 69 67 75 72 65 nts.len);.}</code></pre></figure
29940 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
29960 6c 2d 63 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
29980 61 6d 70 3e 24 20 3c 6b 62 64 3e 7a 69 67 20 74 65 73 74 20 74 65 73 74 5f 61 72 72 61 79 73 2e amp>$.<kbd>zig.test.test_arrays.
299a0 7a 69 67 3c 2f 6b 62 64 3e 0a 31 2f 34 20 74 65 73 74 5f 61 72 72 61 79 73 2e 74 65 73 74 2e 69 zig</kbd>.1/4.test_arrays.test.i
299c0 74 65 72 61 74 65 20 6f 76 65 72 20 61 6e 20 61 72 72 61 79 2e 2e 2e 4f 4b 0a 32 2f 34 20 74 65 terate.over.an.array...OK.2/4.te
299e0 73 74 5f 61 72 72 61 79 73 2e 74 65 73 74 2e 6d 6f 64 69 66 79 20 61 6e 20 61 72 72 61 79 2e 2e st_arrays.test.modify.an.array..
29a00 2e 4f 4b 0a 33 2f 34 20 74 65 73 74 5f 61 72 72 61 79 73 2e 74 65 73 74 2e 63 6f 6d 70 69 6c 65 .OK.3/4.test_arrays.test.compile
29a20 2d 74 69 6d 65 20 61 72 72 61 79 20 69 6e 69 74 69 61 6c 69 7a 61 74 69 6f 6e 2e 2e 2e 4f 4b 0a -time.array.initialization...OK.
29a40 34 2f 34 20 74 65 73 74 5f 61 72 72 61 79 73 2e 74 65 73 74 2e 61 72 72 61 79 20 69 6e 69 74 69 4/4.test_arrays.test.array.initi
29a60 61 6c 69 7a 61 74 69 6f 6e 20 77 69 74 68 20 66 75 6e 63 74 69 6f 6e 20 63 61 6c 6c 73 2e 2e 2e alization.with.function.calls...
29a80 4f 4b 0a 41 6c 6c 20 34 20 74 65 73 74 73 20 70 61 73 73 65 64 2e 0a 3c 2f 73 61 6d 70 3e 3c 2f OK.All.4.tests.passed..</samp></
29aa0 70 72 65 3e 3c 2f 66 69 67 75 72 65 3e 0a 0a 20 20 20 20 20 20 3c 70 3e 53 65 65 20 61 6c 73 6f pre></figure>........<p>See.also
29ac0 3a 3c 2f 70 3e 3c 75 6c 3e 0a 3c 6c 69 3e 3c 61 20 68 72 65 66 3d 22 23 66 6f 72 22 3e 66 6f 72 :</p><ul>.<li><a.href="#for">for
29ae0 3c 2f 61 3e 3c 2f 6c 69 3e 0a 3c 6c 69 3e 3c 61 20 68 72 65 66 3d 22 23 53 6c 69 63 65 73 22 3e </a></li>.<li><a.href="#Slices">
29b00 53 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 Slices</a></li>.</ul>.........<h
29b20 33 20 69 64 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 3.id="Multidimensional-Arrays"><
29b40 61 20 68 72 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 a.href="nav.xhtml#toc-Multidimen
29b60 73 69 6f 6e 61 6c 2d 41 72 72 61 79 73 22 3e 4d 75 6c 74 69 64 69 6d 65 6e 73 69 6f 6e 61 6c 20 sional-Arrays">Multidimensional.
29b80 41 72 72 61 79 73 3c 2f 61 3e 20 3c 61 20 63 6c 61 73 73 3d 22 68 64 72 22 20 68 72 65 66 3d 22 Arrays</a>.<a.class="hdr".href="
29ba0 23 4d 75 6c 74 69 64 69 6d 65 6e 73 69 6f 6e 61 6c 2d 41 72 72 61 79 73 22 3e c2 a7 3c 2f 61 3e #Multidimensional-Arrays">..</a>
29bc0 3c 2f 68 33 3e 0a 0a 20 20 20 20 20 20 3c 70 3e 0a 20 20 20 20 20 20 4d 75 6c 74 69 64 69 6d 65 </h3>........<p>.......Multidime
29be0 6e 73 69 6f 6e 61 6c 20 61 72 72 61 79 73 20 63 61 6e 20 62 65 20 63 72 65 61 74 65 64 20 62 79 nsional.arrays.can.be.created.by
29c00 20 6e 65 73 74 69 6e 67 20 61 72 72 61 79 73 3a 0a 20 20 20 20 20 20 3c 2f 70 3e 0a 20 20 20 20 .nesting.arrays:.......</p>.....
29c20 20 20 3c 66 69 67 75 72 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
29c40 2d 63 61 70 22 3e 3c 63 69 74 65 20 63 6c 61 73 73 3d 22 66 69 6c 65 22 3e 74 65 73 74 5f 6d 75 -cap"><cite.class="file">test_mu
29c60 6c 74 69 64 69 6d 65 6e 73 69 6f 6e 61 6c 5f 61 72 72 61 79 73 2e 7a 69 67 3c 2f 63 69 74 65 3e ltidimensional_arrays.zig</cite>
29c80 3c 2f 66 69 67 63 61 70 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
29ca0 61 73 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.=.
29cc0 3c 73 70 61 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
29ce0 74 3c 2f 73 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">&
29d00 71 75 6f 74 3b 73 74 64 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 29 3b 0a 3c 73 70 61 6e 20 63 6c quot;std&quot;</span>);.<span.cl
29d20 61 73 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
29d40 45 71 75 61 6c 20 3d 20 73 74 64 2e 74 65 73 74 69 6e 67 2e 65 78 70 65 63 74 45 71 75 61 6c 3b Equal.=.std.testing.expectEqual;
29d60 0a 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 63 6f 6e 73 74 3c 2f 73 70 ..<span.class="tok-kw">const</sp
29d80 61 6e 3e 20 6d 61 74 34 78 35 20 3d 20 5b 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e an>.mat4x5.=.[<span.class="tok-n
29da0 75 6d 62 65 72 22 3e 34 3c 2f 73 70 61 6e 3e 5d 5b 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f umber">4</span>][<span.class="to
29dc0 6b 2d 6e 75 6d 62 65 72 22 3e 35 3c 2f 73 70 61 6e 3e 5d 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 k-number">5</span>]<span.class="
29de0 74 6f 6b 2d 74 79 70 65 22 3e 66 33 32 3c 2f 73 70 61 6e 3e 7b 0a 20 20 20 20 5b 5f 5d 3c 73 70 tok-type">f32</span>{.....[_]<sp
29e00 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 20 an.class="tok-type">f32</span>{.
29e20 3c 73 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
29e40 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.
29e60 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
29e80 72 22 3e 30 2e 30 3c 2f 73 70 61 6e 3e 2c 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d r">0.0</span>,.<span.class="tok-
29ea0 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=
29ec0 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 30 2e 30 3c 2f 73 70 61 6e 3e 20 7d 2c 0a 20 20 20 20 5b "tok-number">0.0</span>.},.....[
29ee0 5f 5d 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 66 33 32 3c 2f 73 70 _]<span.class="tok-type">f32</sp
29f00 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 30 2e an>{.<span.class="tok-number">0.
29f20 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
29f40 72 22 3e 31 2e 30 3c 2f 73 70 61 6e 3e 2c 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d r">1.0</span>,.<span.class="tok-
29f60 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=
29f80 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 73 70 61 6e 20 63 "tok-number">1.0</span>,.<span.c
29fa0 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 20 7d 2c 0a lass="tok-number">0.0</span>.},.
29fc0 20 20 20 20 5b 5f 5d 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 66 33 ....[_]<span.class="tok-type">f3
29fe0 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
2a000 72 22 3e 30 2e 30 3c 2f 73 70 61 6e 3e 2c 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d r">0.0</span>,.<span.class="tok-
2a020 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=
2a040 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 73 70 61 6e 20 63 "tok-number">1.0</span>,.<span.c
2a060 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
2a080 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 30 2e 30 3c 2f 73 70 61 6e pan.class="tok-number">0.0</span
2a0a0 3e 20 7d 2c 0a 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 >.},.....[_]<span.class="tok-typ
2a0c0 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-
2a0e0 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=
2a100 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
2a120 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
2a140 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
2a160 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 2e 39 3c >,.<span.class="tok-number">9.9<
2a180 2f 73 70 61 6e 3e 20 7d 2c 0a 7d 3b 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 /span>.},.};.<span.class="tok-kw
2a1a0 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
2a1c0 74 72 22 3e 26 71 75 6f 74 3b 6d 75 6c 74 69 64 69 6d 65 6e 73 69 6f 6e 61 6c 20 61 72 72 61 79 tr">&quot;multidimensional.array
2a1e0 73 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 20 7b 0a 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 s&quot;</span>.{.....<span.class
2a200 3d 22 74 6f 6b 2d 63 6f 6d 6d 65 6e 74 22 3e 2f 2f 20 6d 61 74 34 78 35 20 69 74 73 65 6c 66 20 ="tok-comment">//.mat4x5.itself.
2a220 69 73 20 61 20 6f 6e 65 2d 64 69 6d 65 6e 73 69 6f 6e 61 6c 20 61 72 72 61 79 20 6f 66 20 61 72 is.a.one-dimensional.array.of.ar
2a240 72 61 79 73 2e 3c 2f 73 70 61 6e 3e 0a 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f rays.</span>.....<span.class="to
2a260 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 6d 61 74 k-kw">try</span>.expectEqual(mat
2a280 34 78 35 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 4x5[<span.class="tok-number">1</
2a2a0 73 70 61 6e 3e 5d 2c 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 span>],.[_]<span.class="tok-type
2a2c0 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 6e ">f32</span>{.<span.class="tok-n
2a2e0 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 22 umber">0.0</span>,.<span.class="
2a300 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 73 70 61 6e 20 63 6c tok-number">1.0</span>,.<span.cl
2a320 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 30 2e 30 3c 2f 73 70 61 6e 3e 2c 20 3c 73 70 ass="tok-number">0.0</span>,.<sp
2a340 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 31 2e 30 3c 2f 73 70 61 6e 3e an.class="tok-number">1.0</span>
2a360 2c 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 30 2e 30 3c 2f ,.<span.class="tok-number">0.0</
2a380 73 70 61 6e 3e 20 7d 29 3b 0a 0a 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d span>.});......<span.class="tok-
2a3a0 63 6f 6d 6d 65 6e 74 22 3e 2f 2f 20 41 63 63 65 73 73 20 74 68 65 20 32 44 20 61 72 72 61 79 20 comment">//.Access.the.2D.array.
2a3c0 62 79 20 69 6e 64 65 78 69 6e 67 20 74 68 65 20 6f 75 74 65 72 20 61 72 72 61 79 2c 20 61 6e 64 by.indexing.the.outer.array,.and
2a3e0 20 74 68 65 6e 20 74 68 65 20 69 6e 6e 65 72 20 61 72 72 61 79 2e 3c 2f 73 70 61 6e 3e 0a 20 20 .then.the.inner.array.</span>...
2a400 20 20 3c 73 70 61 6e 20 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
2a420 3e 20 65 78 70 65 63 74 45 71 75 61 6c 28 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e >.expectEqual(<span.class="tok-n
2a440 75 6d 62 65 72 22 3e 39 2e 39 3c 2f 73 70 61 6e 3e 2c 20 6d 61 74 34 78 35 5b 3c 73 70 61 6e 20 umber">9.9</span>,.mat4x5[<span.
2a460 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 5b 3c 73 70 class="tok-number">3</span>][<sp
2a480 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 29 an.class="tok-number">4</span>])
2a4a0 3b 0a 0a 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 63 6f 6d 6d 65 6e 74 22 ;......<span.class="tok-comment"
2a4c0 3e 2f 2f 20 48 65 72 65 20 77 65 20 69 74 65 72 61 74 65 20 77 69 74 68 20 66 6f 72 20 6c 6f 6f >//.Here.we.iterate.with.for.loo
2a4e0 70 73 2e 3c 2f 73 70 61 6e 3e 0a 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d ps.</span>.....<span.class="tok-
2a500 6b 77 22 3e 66 6f 72 3c 2f 73 70 61 6e 3e 20 28 6d 61 74 34 78 35 2c 20 3c 73 70 61 6e 20 63 6c kw">for</span>.(mat4x5,.<span.cl
2a520 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 29 20 7c 72 6f ass="tok-number">0</span>..).|ro
2a540 77 2c 20 72 6f 77 5f 69 6e 64 65 78 7c 20 7b 0a 20 20 20 20 20 20 20 20 3c 73 70 61 6e 20 63 6c w,.row_index|.{.........<span.cl
2a560 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 72 6f 77 2c 20 3c 73 ass="tok-kw">for</span>.(row,.<s
2a580 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>.
2a5a0 2e 29 20 7c 63 65 6c 6c 2c 20 63 6f 6c 75 6d 6e 5f 69 6e 64 65 78 7c 20 7b 0a 20 20 20 20 20 20 .).|cell,.column_index|.{.......
2a5c0 20 20 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 69 66 3c 2f 73 ......<span.class="tok-kw">if</s
2a5e0 70 61 6e 3e 20 28 72 6f 77 5f 69 6e 64 65 78 20 3d 3d 20 63 6f 6c 75 6d 6e 5f 69 6e 64 65 78 29 pan>.(row_index.==.column_index)
2a600 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 .{.................<span.class="
2a620 74 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(<
2a640 73 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
2a660 6e 3e 2c 20 63 65 6c 6c 29 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 7d 0a 20 20 20 20 20 20 20 n>,.cell);.............}........
2a680 20 7d 0a 20 20 20 20 7d 0a 0a 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 63 .}.....}......<span.class="tok-c
2a6a0 6f 6d 6d 65 6e 74 22 3e 2f 2f 20 49 6e 69 74 69 61 6c 69 7a 65 20 61 20 6d 75 6c 74 69 64 69 6d omment">//.Initialize.a.multidim
2a6c0 65 6e 73 69 6f 6e 61 6c 20 61 72 72 61 79 20 74 6f 20 7a 65 72 6f 73 2e 3c 2f 73 70 61 6e 3e 0a ensional.array.to.zeros.</span>.
2a6e0 20 20 20 20 3c 73 70 61 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</
2a700 73 70 61 6e 3e 20 61 6c 6c 5f 7a 65 72 6f 3a 20 5b 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f span>.all_zero:.[<span.class="to
2a720 6b 2d 6e 75 6d 62 65 72 22 3e 34 3c 2f 73 70 61 6e 3e 5d 5b 3c 73 70 61 6e 20 63 6c 61 73 73 3d k-number">4</span>][<span.class=
2a740 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 35 3c 2f 73 70 61 6e 3e 5d 3c 73 70 61 6e 20 63 6c 61 73 "tok-number">5</span>]<span.clas
2a760 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 66 33 32 3c 2f 73 70 61 6e 3e 20 3d 20 3c 73 70 61 6e 20 s="tok-type">f32</span>.=.<span.
2a780 63 6c 61 73 73 3d 22 74 6f 6b 2d 62 75 69 6c 74 69 6e 22 3e 40 73 70 6c 61 74 3c 2f 73 70 61 6e class="tok-builtin">@splat</span
2a7a0 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 73 70 6c >(<span.class="tok-builtin">@spl
2a7c0 61 74 3c 2f 73 70 61 6e 3e 28 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 at</span>(<span.class="tok-numbe
2a7e0 72 22 3e 30 3c 2f 73 70 61 6e 3e 29 29 3b 0a 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 r">0</span>));.....<span.class="
2a800 74 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(<
2a820 73 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>
2a840 2c 20 61 6c 6c 5f 7a 65 72 6f 5b 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 ,.all_zero[<span.class="tok-numb
2a860 65 72 22 3e 30 3c 2f 73 70 61 6e 3e 5d 5b 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e er">0</span>][<span.class="tok-n
2a880 75 6d 62 65 72 22 3e 30 3c 2f 73 70 61 6e 3e 5d 29 3b 0a 7d 3c 2f 63 6f 64 65 3e 3c 2f 70 72 65 umber">0</span>]);.}</code></pre
2a8a0 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
2a8c0 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
2a8e0 6e 3e 3c 70 72 65 3e 3c 73 61 6d 70 3e 24 20 3c 6b 62 64 3e 7a 69 67 20 74 65 73 74 20 74 65 73 n><pre><samp>$.<kbd>zig.test.tes
2a900 74 5f 6d 75 6c 74 69 64 69 6d 65 6e 73 69 6f 6e 61 6c 5f 61 72 72 61 79 73 2e 7a 69 67 3c 2f 6b t_multidimensional_arrays.zig</k
2a920 62 64 3e 0a 31 2f 31 20 74 65 73 74 5f 6d 75 6c 74 69 64 69 6d 65 6e 73 69 6f 6e 61 6c 5f 61 72 bd>.1/1.test_multidimensional_ar
2a940 72 61 79 73 2e 74 65 73 74 2e 6d 75 6c 74 69 64 69 6d 65 6e 73 69 6f 6e 61 6c 20 61 72 72 61 79 rays.test.multidimensional.array
2a960 73 2e 2e 2e 4f 4b 0a 41 6c 6c 20 31 20 74 65 73 74 73 20 70 61 73 73 65 64 2e 0a 3c 2f 73 61 6d s...OK.All.1.tests.passed..</sam
2a980 70 3e 3c 2f 70 72 65 3e 3c 2f 66 69 67 75 72 65 3e 0a 0a 20 20 20 20 20 20 0a 0a 20 20 20 20 20 p></pre></figure>...............
2a9a0 20 3c 68 33 20 69 64 3d 22 53 65 6e 74 69 6e 65 6c 2d 54 65 72 6d 69 6e 61 74 65 64 2d 41 72 72 .<h3.id="Sentinel-Terminated-Arr
2a9c0 61 79 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 65 6e 74 ays"><a.href="nav.xhtml#toc-Sent
2a9e0 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
2aa00 2d 54 65 72 6d 69 6e 61 74 65 64 20 41 72 72 61 79 73 3c 2f 61 3e 20 3c 61 20 63 6c 61 73 73 3d -Terminated.Arrays</a>.<a.class=
2aa20 22 68 64 72 22 20 68 72 65 66 3d 22 23 53 65 6e 74 69 6e 65 6c 2d 54 65 72 6d 69 6e 61 74 65 64 "hdr".href="#Sentinel-Terminated
2aa40 2d 41 72 72 61 79 73 22 3e c2 a7 3c 2f 61 3e 3c 2f 68 33 3e 0a 0a 20 20 20 20 20 20 3c 70 3e 0a -Arrays">..</a></h3>........<p>.
2aa60 20 20 20 20 20 20 54 68 65 20 73 79 6e 74 61 78 20 3c 63 6f 64 65 3e 5b 4e 3a 78 5d 54 3c 2f 63 ......The.syntax.<code>[N:x]T</c
2aa80 6f 64 65 3e 20 64 65 73 63 72 69 62 65 73 20 61 6e 20 61 72 72 61 79 20 77 68 69 63 68 20 68 61 ode>.describes.an.array.which.ha
2aaa0 73 20 61 20 73 65 6e 74 69 6e 65 6c 20 65 6c 65 6d 65 6e 74 20 6f 66 20 76 61 6c 75 65 20 3c 63 s.a.sentinel.element.of.value.<c
2aac0 6f 64 65 3e 78 3c 2f 63 6f 64 65 3e 20 61 74 20 74 68 65 0a 20 20 20 20 20 20 69 6e 64 65 78 20 ode>x</code>.at.the.......index.
2aae0 63 6f 72 72 65 73 70 6f 6e 64 69 6e 67 20 74 6f 20 74 68 65 20 6c 65 6e 67 74 68 20 3c 63 6f 64 corresponding.to.the.length.<cod
2ab00 65 3e 4e 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 e>N</code>........</p>.......<fi
2ab20 67 75 72 65 3e 3c 66 69 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"
2ab40 3e 3c 63 69 74 65 20 63 6c 61 73 73 3d 22 66 69 6c 65 22 3e 74 65 73 74 5f 6e 75 6c 6c 5f 74 65 ><cite.class="file">test_null_te
2ab60 72 6d 69 6e 61 74 65 64 5f 61 72 72 61 79 2e 7a 69 67 3c 2f 63 69 74 65 3e 3c 2f 66 69 67 63 61 rminated_array.zig</cite></figca
2ab80 70 74 69 6f 6e 3e 3c 70 72 65 3e 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f ption><pre><code><span.class="to
2aba0 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
2abc0 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
2abe0 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
2ac00 64 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 29 3b 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f d&quot;</span>);.<span.class="to
2ac20 6b 2d 6b 77 22 3e 63 6f 6e 73 74 3c 2f 73 70 61 6e 3e 20 65 78 70 65 63 74 45 71 75 61 6c 20 3d k-kw">const</span>.expectEqual.=
2ac40 20 73 74 64 2e 74 65 73 74 69 6e 67 2e 65 78 70 65 63 74 45 71 75 61 6c 3b 0a 0a 3c 73 70 61 6e .std.testing.expectEqual;..<span
2ac60 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
2ac80 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 73 74 72 22 3e 26 71 75 6f 74 3b 30 2d 74 65 72 6d 69 6e n.class="tok-str">&quot;0-termin
2aca0 61 74 65 64 20 73 65 6e 74 69 6e 65 6c 20 61 72 72 61 79 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e ated.sentinel.array&quot;</span>
2acc0 20 7b 0a 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 63 6f 6e 73 .{.....<span.class="tok-kw">cons
2ace0 74 3c 2f 73 70 61 6e 3e 20 61 72 72 61 79 20 3d 20 5b 5f 3a 3c 73 70 61 6e 20 63 6c 61 73 73 3d t</span>.array.=.[_:<span.class=
2ad00 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 61 73 "tok-number">0</span>]<span.clas
2ad20 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
2ad40 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
2ad60 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
2ad80 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>,
2ada0 20 3c 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
2adc0 6e 3e 20 7d 3b 0a 0a 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e n>.};......<span.class="tok-kw">
2ade0 74 72 79 3c 2f 73 70 61 6e 3e 20 65 78 70 65 63 74 45 71 75 61 6c 28 5b 3c 73 70 61 6e 20 63 6c try</span>.expectEqual([<span.cl
2ae00 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 3a 3c 73 70 61 6e 20 ass="tok-number">4</span>:<span.
2ae20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 30 3c 2f 73 70 61 6e 3e 5d 3c 73 70 61 class="tok-number">0</span>]<spa
2ae40 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
2ae60 70 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<
2ae80 2f 73 70 61 6e 3e 28 61 72 72 61 79 29 29 3b 0a 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d /span>(array));.....<span.class=
2aea0 22 74 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 "tok-kw">try</span>.expectEqual(
2aec0 3c 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
2aee0 3e 2c 20 61 72 72 61 79 2e 6c 65 6e 29 3b 0a 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 >,.array.len);.....<span.class="
2af00 74 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(<
2af20 73 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>
2af40 2c 20 61 72 72 61 79 5b 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 ,.array[<span.class="tok-number"
2af60 3e 34 3c 2f 73 70 61 6e 3e 5d 29 3b 0a 7d 0a 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b >4</span>]);.}..<span.class="tok
2af80 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
2afa0 6b 2d 73 74 72 22 3e 26 71 75 6f 74 3b 65 78 74 72 61 20 30 73 20 69 6e 20 30 2d 74 65 72 6d 69 k-str">&quot;extra.0s.in.0-termi
2afc0 6e 61 74 65 64 20 73 65 6e 74 69 6e 65 6c 20 61 72 72 61 79 26 71 75 6f 74 3b 3c 2f 73 70 61 6e nated.sentinel.array&quot;</span
2afe0 3e 20 7b 0a 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 63 6f 6d 6d 65 6e 74 >.{.....<span.class="tok-comment
2b000 22 3e 2f 2f 20 54 68 65 20 73 65 6e 74 69 6e 65 6c 20 76 61 6c 75 65 20 6d 61 79 20 61 70 70 65 ">//.The.sentinel.value.may.appe
2b020 61 72 20 65 61 72 6c 69 65 72 2c 20 62 75 74 20 64 6f 65 73 20 6e 6f 74 20 69 6e 66 6c 75 65 6e ar.earlier,.but.does.not.influen
2b040 63 65 20 74 68 65 20 63 6f 6d 70 69 6c 65 2d 74 69 6d 65 20 27 6c 65 6e 27 2e 3c 2f 73 70 61 6e ce.the.compile-time.'len'.</span
2b060 3e 0a 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 63 6f 6e 73 74 >.....<span.class="tok-kw">const
2b080 3c 2f 73 70 61 6e 3e 20 61 72 72 61 79 20 3d 20 5b 5f 3a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 </span>.array.=.[_:<span.class="
2b0a0 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 61 73 73 tok-number">0</span>]<span.class
2b0c0 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
2b0e0 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 31 3c 2f 73 70 61 6e 3e 2c 20 3c 73 70 61 6e 20 ss="tok-number">1</span>,.<span.
2b100 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 73 70 class="tok-number">0</span>,.<sp
2b120 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 30 3c 2f 73 70 61 6e 3e 2c 20 an.class="tok-number">0</span>,.
2b140 3c 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
2b160 3e 20 7d 3b 0a 0a 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 74 >.};......<span.class="tok-kw">t
2b180 72 79 3c 2f 73 70 61 6e 3e 20 65 78 70 65 63 74 45 71 75 61 6c 28 5b 3c 73 70 61 6e 20 63 6c 61 ry</span>.expectEqual([<span.cla
2b1a0 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 34 3c 2f 73 70 61 6e 3e 3a 3c 73 70 61 6e 20 63 ss="tok-number">4</span>:<span.c
2b1c0 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 30 3c 2f 73 70 61 6e 3e 5d 3c 73 70 61 6e lass="tok-number">0</span>]<span
2b1e0 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
2b200 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</
2b220 73 70 61 6e 3e 28 61 72 72 61 79 29 29 3b 0a 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 span>(array));.....<span.class="
2b240 74 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(<
2b260 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>
2b280 2c 20 61 72 72 61 79 2e 6c 65 6e 29 3b 0a 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 ,.array.len);.....<span.class="t
2b2a0 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 73 ok-kw">try</span>.expectEqual(<s
2b2c0 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 30 3c 2f 73 70 61 6e 3e 2c pan.class="tok-number">0</span>,
2b2e0 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">
2b300 34 3c 2f 73 70 61 6e 3e 5d 29 3b 0a 7d 3c 2f 63 6f 64 65 3e 3c 2f 70 72 65 3e 3c 2f 66 69 67 75 4</span>]);.}</code></pre></figu
2b320 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
2b340 65 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>
2b360 3c 73 61 6d 70 3e 24 20 3c 6b 62 64 3e 7a 69 67 20 74 65 73 74 20 74 65 73 74 5f 6e 75 6c 6c 5f <samp>$.<kbd>zig.test.test_null_
2b380 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 0a 31 2f 32 20 74 terminated_array.zig</kbd>.1/2.t
2b3a0 65 73 74 5f 6e 75 6c 6c 5f 74 65 72 6d 69 6e 61 74 65 64 5f 61 72 72 61 79 2e 74 65 73 74 2e 30 est_null_terminated_array.test.0
2b3c0 2d 74 65 72 6d 69 6e 61 74 65 64 20 73 65 6e 74 69 6e 65 6c 20 61 72 72 61 79 2e 2e 2e 4f 4b 0a -terminated.sentinel.array...OK.
2b3e0 32 2f 32 20 74 65 73 74 5f 6e 75 6c 6c 5f 74 65 72 6d 69 6e 61 74 65 64 5f 61 72 72 61 79 2e 74 2/2.test_null_terminated_array.t
2b400 65 73 74 2e 65 78 74 72 61 20 30 73 20 69 6e 20 30 2d 74 65 72 6d 69 6e 61 74 65 64 20 73 65 6e est.extra.0s.in.0-terminated.sen
2b420 74 69 6e 65 6c 20 61 72 72 61 79 2e 2e 2e 4f 4b 0a 41 6c 6c 20 32 20 74 65 73 74 73 20 70 61 73 tinel.array...OK.All.2.tests.pas
2b440 73 65 64 2e 0a 3c 2f 73 61 6d 70 3e 3c 2f 70 72 65 3e 3c 2f 66 69 67 75 72 65 3e 0a 0a 20 20 20 sed..</samp></pre></figure>.....
2b460 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
2b480 72 65 66 3d 22 23 53 65 6e 74 69 6e 65 6c 2d 54 65 72 6d 69 6e 61 74 65 64 2d 50 6f 69 6e 74 65 ref="#Sentinel-Terminated-Pointe
2b4a0 72 73 22 3e 53 65 6e 74 69 6e 65 6c 2d 54 65 72 6d 69 6e 61 74 65 64 20 50 6f 69 6e 74 65 72 73 rs">Sentinel-Terminated.Pointers
2b4c0 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 69 6e 65 6c </a></li>.<li><a.href="#Sentinel
2b4e0 2d 54 65 72 6d 69 6e 61 74 65 64 2d 53 6c 69 63 65 73 22 3e 53 65 6e 74 69 6e 65 6c 2d 54 65 72 -Terminated-Slices">Sentinel-Ter
2b500 6d 69 6e 61 74 65 64 20 53 6c 69 63 65 73 3c 2f 61 3e 3c 2f 6c 69 3e 0a 3c 2f 75 6c 3e 0a 0a 20 minated.Slices</a></li>.</ul>...
2b520 20 20 20 20 20 0a 0a 20 20 20 20 20 20 3c 68 33 20 69 64 3d 22 44 65 73 74 72 75 63 74 75 72 69 .............<h3.id="Destructuri
2b540 6e 67 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 6d 6c 23 74 6f ng-Arrays"><a.href="nav.xhtml#to
2b560 63 2d 44 65 73 74 72 75 63 74 75 72 69 6e 67 2d 41 72 72 61 79 73 22 3e 44 65 73 74 72 75 63 74 c-Destructuring-Arrays">Destruct
2b580 75 72 69 6e 67 20 41 72 72 61 79 73 3c 2f 61 3e 20 3c 61 20 63 6c 61 73 73 3d 22 68 64 72 22 20 uring.Arrays</a>.<a.class="hdr".
2b5a0 68 72 65 66 3d 22 23 44 65 73 74 72 75 63 74 75 72 69 6e 67 2d 41 72 72 61 79 73 22 3e c2 a7 3c href="#Destructuring-Arrays">..<
2b5c0 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 41 72 72 61 /a></h3>........<p>.........Arra
2b5e0 79 73 20 63 61 6e 20 62 65 20 64 65 73 74 72 75 63 74 75 72 65 64 3a 0a 20 20 20 20 20 20 3c 2f ys.can.be.destructured:.......</
2b600 70 3e 0a 20 20 20 20 20 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
2b620 73 73 3d 22 7a 69 67 2d 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">
2b640 64 65 73 74 72 75 63 74 75 72 69 6e 67 5f 61 72 72 61 79 73 2e 7a 69 67 3c 2f 63 69 74 65 3e 3c destructuring_arrays.zig</cite><
2b660 2f 66 69 67 63 61 70 74 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
2b680 73 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.=
2b6a0 20 3c 73 70 61 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
2b6c0 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">
2b6e0 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
2b700 69 6e 74 3b 0a 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 66 6e 3c 2f 73 int;..<span.class="tok-kw">fn</s
2b720 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 77 69 7a 7a 6c pan>.<span.class="tok-fn">swizzl
2b740 65 52 67 62 61 54 6f 42 67 72 61 3c 2f 73 70 61 6e 3e 28 72 67 62 61 3a 20 5b 3c 73 70 61 6e 20 eRgbaToBgra</span>(rgba:.[<span.
2b760 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 34 3c 2f 73 70 61 6e 3e 5d 3c 73 70 61 class="tok-number">4</span>]<spa
2b780 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 3c n.class="tok-type">u8</span>).[<
2b7a0 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>
2b7c0 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
2b7e0 3e 20 7b 0a 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 63 6f 6d 6d 65 6e 74 >.{.....<span.class="tok-comment
2b800 22 3e 2f 2f 20 72 65 61 64 61 62 6c 65 20 73 77 69 7a 7a 6c 69 6e 67 20 62 79 20 64 65 73 74 72 ">//.readable.swizzling.by.destr
2b820 75 63 74 75 72 69 6e 67 3c 2f 73 70 61 6e 3e 0a 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d ucturing</span>.....<span.class=
2b840 22 74 6f 6b 2d 6b 77 22 3e 63 6f 6e 73 74 3c 2f 73 70 61 6e 3e 20 72 2c 20 3c 73 70 61 6e 20 63 "tok-kw">const</span>.r,.<span.c
2b860 6c 61 73 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 2c 20 3c 73 lass="tok-kw">const</span>.g,.<s
2b880 70 61 6e 20 63 6c 61 73 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>.
2b8a0 62 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 6e 73 74 3c 2f 73 b,.<span.class="tok-kw">const</s
2b8c0 70 61 6e 3e 20 61 20 3d 20 72 67 62 61 3b 0a 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 pan>.a.=.rgba;.....<span.class="
2b8e0 74 6f 6b 2d 6b 77 22 3e 72 65 74 75 72 6e 3c 2f 73 70 61 6e 3e 20 2e 7b 20 62 2c 20 67 2c 20 72 tok-kw">return</span>..{.b,.g,.r
2b900 2c 20 61 20 7d 3b 0a 7d 0a 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 70 ,.a.};.}..<span.class="tok-kw">p
2b920 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
2b940 6e 3c 2f 73 70 61 6e 3e 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 66 6e 22 3e 6d 61 n</span>.<span.class="tok-fn">ma
2b960 69 6e 3c 2f 73 70 61 6e 3e 28 29 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 in</span>().<span.class="tok-typ
2b980 65 22 3e 76 6f 69 64 3c 2f 73 70 61 6e 3e 20 7b 0a 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 e">void</span>.{.....<span.class
2b9a0 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 20 3d 20 5b 5f 5d ="tok-kw">const</span>.pos.=.[_]
2b9c0 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
2b9e0 3e 7b 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 31 3c 2f 73 >{.<span.class="tok-number">1</s
2ba00 70 61 6e 3e 2c 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 32 pan>,.<span.class="tok-number">2
2ba20 3c 2f 73 70 61 6e 3e 20 7d 3b 0a 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d </span>.};.....<span.class="tok-
2ba40 6b 77 22 3e 63 6f 6e 73 74 3c 2f 73 70 61 6e 3e 20 78 2c 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d kw">const</span>.x,.<span.class=
2ba60 22 74 6f 6b 2d 6b 77 22 3e 63 6f 6e 73 74 3c 2f 73 70 61 6e 3e 20 79 20 3d 20 70 6f 73 3b 0a 20 "tok-kw">const</span>.y.=.pos;..
2ba80 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">&
2baa0 71 75 6f 74 3b 78 20 3d 20 7b 7d 2c 20 79 20 3d 20 7b 7d 5c 6e 26 71 75 6f 74 3b 3c 2f 73 70 61 quot;x.=.{},.y.=.{}\n&quot;</spa
2bac0 6e 3e 2c 20 2e 7b 78 2c 20 79 7d 29 3b 0a 0a 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 n>,..{x,.y});......<span.class="
2bae0 74 6f 6b 2d 6b 77 22 3e 63 6f 6e 73 74 3c 2f 73 70 61 6e 3e 20 6f 72 61 6e 67 65 3a 20 5b 3c 73 tok-kw">const</span>.orange:.[<s
2bb00 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>]
2bb20 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>
2bb40 20 3d 20 2e 7b 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 32 .=..{.<span.class="tok-number">2
2bb60 35 35 3c 2f 73 70 61 6e 3e 2c 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 55</span>,.<span.class="tok-numb
2bb80 65 72 22 3e 31 36 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 er">165</span>,.<span.class="tok
2bba0 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 3d 22 -number">0</span>,.<span.class="
2bbc0 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 32 35 35 3c 2f 73 70 61 6e 3e 20 7d 3b 0a 20 20 20 20 70 72 tok-number">255</span>.};.....pr
2bbe0 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;
2bc00 7b 61 6e 79 7d 5c 6e 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 2c 20 2e 7b 73 77 69 7a 7a 6c 65 52 {any}\n&quot;</span>,..{swizzleR
2bc20 67 62 61 54 6f 42 67 72 61 28 6f 72 61 6e 67 65 29 7d 29 3b 0a 7d 3c 2f 63 6f 64 65 3e 3c 2f 70 gbaToBgra(orange)});.}</code></p
2bc40 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.
2bc60 63 6c 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
2bc80 69 6f 6e 3e 3c 70 72 65 3e 3c 73 61 6d 70 3e 24 20 3c 6b 62 64 3e 7a 69 67 20 62 75 69 6c 64 2d ion><pre><samp>$.<kbd>zig.build-
2bca0 65 78 65 20 64 65 73 74 72 75 63 74 75 72 69 6e 67 5f 61 72 72 61 79 73 2e 7a 69 67 3c 2f 6b 62 exe.destructuring_arrays.zig</kb
2bcc0 64 3e 0a 24 20 3c 6b 62 64 3e 2e 2f 64 65 73 74 72 75 63 74 75 72 69 6e 67 5f 61 72 72 61 79 73 d>.$.<kbd>./destructuring_arrays
2bce0 3c 2f 6b 62 64 3e 0a 78 20 3d 20 31 2c 20 79 20 3d 20 32 0a 7b 20 30 2c 20 31 36 35 2c 20 32 35 </kbd>.x.=.1,.y.=.2.{.0,.165,.25
2bd00 35 2c 20 32 35 35 20 7d 0a 3c 2f 73 61 6d 70 3e 3c 2f 70 72 65 3e 3c 2f 66 69 67 75 72 65 3e 0a 5,.255.}.</samp></pre></figure>.
2bd20 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>
2bd40 3c 61 20 68 72 65 66 3d 22 23 44 65 73 74 72 75 63 74 75 72 69 6e 67 22 3e 44 65 73 74 72 75 63 <a.href="#Destructuring">Destruc
2bd60 74 75 72 69 6e 67 3c 2f 61 3e 3c 2f 6c 69 3e 0a 3c 6c 69 3e 3c 61 20 68 72 65 66 3d 22 23 44 65 turing</a></li>.<li><a.href="#De
2bd80 73 74 72 75 63 74 75 72 69 6e 67 2d 54 75 70 6c 65 73 22 3e 44 65 73 74 72 75 63 74 75 72 69 6e structuring-Tuples">Destructurin
2bda0 67 20 54 75 70 6c 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 g.Tuples</a></li>.<li><a.href="#
2bdc0 44 65 73 74 72 75 63 74 75 72 69 6e 67 2d 56 65 63 74 6f 72 73 22 3e 44 65 73 74 72 75 63 74 75 Destructuring-Vectors">Destructu
2bde0 72 69 6e 67 20 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 ring.Vectors</a></li>.</ul>.....
2be00 20 20 20 0a 20 20 20 20 20 20 0a 0a 20 20 20 20 20 20 3c 68 32 20 69 64 3d 22 56 65 63 74 6f 72 ..................<h2.id="Vector
2be20 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 65 63 74 6f 72 s"><a.href="nav.xhtml#toc-Vector
2be40 73 22 3e 56 65 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 s">Vectors</a>.<a.class="hdr".hr
2be60 65 66 3d 22 23 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 ef="#Vectors">..</a></h2>.......
2be80 20 3c 70 3e 0a 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 .<p>.......A.vector.is.a.group.o
2bea0 66 20 62 6f 6f 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 f.booleans,.<a.href="#Integers">
2bec0 49 6e 74 65 67 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 Integers</a>,.<a.href="#Floats">
2bee0 46 6c 6f 61 74 73 3c 2f 61 3e 2c 20 6f 72 0a 20 20 20 20 20 20 3c 61 20 68 72 65 66 3d 22 23 50 Floats</a>,.or.......<a.href="#P
2bf00 6f 69 6e 74 65 72 73 22 3e 50 6f 69 6e 74 65 72 73 3c 2f 61 3e 20 77 68 69 63 68 20 61 72 65 20 ointers">Pointers</a>.which.are.
2bf20 6f 70 65 72 61 74 65 64 20 6f 6e 20 69 6e 20 70 61 72 61 6c 6c 65 6c 2c 20 75 73 69 6e 67 20 53 operated.on.in.parallel,.using.S
2bf40 49 4d 44 20 69 6e 73 74 72 75 63 74 69 6f 6e 73 20 69 66 20 70 6f 73 73 69 62 6c 65 2e 0a 20 20 IMD.instructions.if.possible....
2bf60 20 20 20 20 56 65 63 74 6f 72 20 74 79 70 65 73 20 61 72 65 20 63 72 65 61 74 65 64 20 77 69 74 ....Vector.types.are.created.wit
2bf80 68 20 74 68 65 20 62 75 69 6c 74 69 6e 20 66 75 6e 63 74 69 6f 6e 20 3c 61 20 68 72 65 66 3d 22 h.the.builtin.function.<a.href="
2bfa0 23 56 65 63 74 6f 72 22 3e 40 56 65 63 74 6f 72 3c 2f 61 3e 2e 0a 20 20 20 20 20 20 3c 2f 70 3e #Vector">@Vector</a>........</p>
2bfc0 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 67 65 6e 65 72 61 6c .......<p>.......Vectors.general
2bfe0 6c 79 20 73 75 70 70 6f 72 74 20 74 68 65 20 73 61 6d 65 20 62 75 69 6c 74 69 6e 20 6f 70 65 72 ly.support.the.same.builtin.oper
2c000 61 74 6f 72 73 20 61 73 20 74 68 65 69 72 20 75 6e 64 65 72 6c 79 69 6e 67 20 62 61 73 65 20 74 ators.as.their.underlying.base.t
2c020 79 70 65 73 2e 0a 20 20 20 20 20 20 54 68 65 20 6f 6e 6c 79 20 65 78 63 65 70 74 69 6f 6e 20 74 ypes........The.only.exception.t
2c040 6f 20 74 68 69 73 20 69 73 20 74 68 65 20 6b 65 79 77 6f 72 64 73 20 60 61 6e 64 60 20 61 6e 64 o.this.is.the.keywords.`and`.and
2c060 20 60 6f 72 60 20 6f 6e 20 76 65 63 74 6f 72 73 20 6f 66 20 62 6f 6f 6c 73 2c 20 73 69 6e 63 65 .`or`.on.vectors.of.bools,.since
2c080 0a 20 20 20 20 20 20 74 68 65 73 65 20 6f 70 65 72 61 74 6f 72 73 20 61 66 66 65 63 74 20 63 6f .......these.operators.affect.co
2c0a0 6e 74 72 6f 6c 20 66 6c 6f 77 2c 20 77 68 69 63 68 20 69 73 20 6e 6f 74 20 61 6c 6c 6f 77 65 64 ntrol.flow,.which.is.not.allowed
2c0c0 20 66 6f 72 20 76 65 63 74 6f 72 73 2e 0a 20 20 20 20 20 20 41 6c 6c 20 6f 74 68 65 72 20 6f 70 .for.vectors........All.other.op
2c0e0 65 72 61 74 69 6f 6e 73 20 61 72 65 20 70 65 72 66 6f 72 6d 65 64 20 65 6c 65 6d 65 6e 74 2d 77 erations.are.performed.element-w
2c100 69 73 65 2c 20 61 6e 64 20 72 65 74 75 72 6e 20 61 20 76 65 63 74 6f 72 20 6f 66 20 74 68 65 20 ise,.and.return.a.vector.of.the.
2c120 73 61 6d 65 20 6c 65 6e 67 74 68 0a 20 20 20 20 20 20 61 73 20 74 68 65 20 69 6e 70 75 74 20 76 same.length.......as.the.input.v
2c140 65 63 74 6f 72 73 2e 20 54 68 69 73 20 69 6e 63 6c 75 64 65 73 3a 0a 20 20 20 20 20 20 3c 2f 70 ectors..This.includes:.......</p
2c160 3e 0a 20 20 20 20 20 20 3c 75 6c 3e 0a 20 20 20 20 20 20 20 20 20 20 3c 6c 69 3e 41 72 69 74 68 >.......<ul>...........<li>Arith
2c180 6d 65 74 69 63 20 28 3c 63 6f 64 65 3e 2b 3c 2f 63 6f 64 65 3e 2c 20 3c 63 6f 64 65 3e 2d 3c 2f metic.(<code>+</code>,.<code>-</
2c1a0 63 6f 64 65 3e 2c 20 3c 63 6f 64 65 3e 2f 3c 2f 63 6f 64 65 3e 2c 20 3c 63 6f 64 65 3e 2a 3c 2f code>,.<code>/</code>,.<code>*</
2c1c0 63 6f 64 65 3e 2c 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 code>,..........................
2c1e0 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 62 75 69 6c 74 69 6e 22 3e <code><span.class="tok-builtin">
2c200 40 64 69 76 46 6c 6f 6f 72 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 2c 20 3c 63 6f 64 65 3e 3c @divFloor</span></code>,.<code><
2c220 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 62 75 69 6c 74 69 6e 22 3e 40 73 71 72 74 3c 2f span.class="tok-builtin">@sqrt</
2c240 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=
2c260 22 74 6f 6b 2d 62 75 69 6c 74 69 6e 22 3e 40 63 65 69 6c 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 "tok-builtin">@ceil</span></code
2c280 3e 2c 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 3c 63 6f 64 >,..........................<cod
2c2a0 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 62 75 69 6c 74 69 6e 22 3e 40 6c 6f 67 e><span.class="tok-builtin">@log
2c2c0 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 2c 20 65 74 63 2e 29 3c 2f 6c 69 3e 0a 20 20 20 20 20 </span></code>,.etc.)</li>......
2c2e0 20 20 20 20 20 3c 6c 69 3e 42 69 74 77 69 73 65 20 6f 70 65 72 61 74 6f 72 73 20 28 3c 63 6f 64 .....<li>Bitwise.operators.(<cod
2c300 65 3e 26 67 74 3b 26 67 74 3b 3c 2f 63 6f 64 65 3e 2c 20 3c 63 6f 64 65 3e 26 6c 74 3b 26 6c 74 e>&gt;&gt;</code>,.<code>&lt;&lt
2c320 3b 3c 2f 63 6f 64 65 3e 2c 20 3c 63 6f 64 65 3e 26 61 6d 70 3b 3c 2f 63 6f 64 65 3e 2c 0a 20 20 ;</code>,.<code>&amp;</code>,...
2c340 20 20 20 20 20 20 20 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 ...............................<
2c360 63 6f 64 65 3e 7c 3c 2f 63 6f 64 65 3e 2c 20 3c 63 6f 64 65 3e 7e 3c 2f 63 6f 64 65 3e 2c 20 65 code>|</code>,.<code>~</code>,.e
2c380 74 63 2e 29 3c 2f 6c 69 3e 0a 20 20 20 20 20 20 20 20 20 20 3c 6c 69 3e 43 6f 6d 70 61 72 69 73 tc.)</li>...........<li>Comparis
2c3a0 6f 6e 20 6f 70 65 72 61 74 6f 72 73 20 28 3c 63 6f 64 65 3e 26 6c 74 3b 3c 2f 63 6f 64 65 3e 2c on.operators.(<code>&lt;</code>,
2c3c0 20 3c 63 6f 64 65 3e 26 67 74 3b 3c 2f 63 6f 64 65 3e 2c 20 3c 63 6f 64 65 3e 3d 3d 3c 2f 63 6f .<code>&gt;</code>,.<code>==</co
2c3e0 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 69 3e 42 6f de>,.etc.)</li>...........<li>Bo
2c400 6f 6c 65 61 6e 20 6e 6f 74 20 28 3c 63 6f 64 65 3e 21 3c 2f 63 6f 64 65 3e 29 3c 2f 6c 69 3e 0a olean.not.(<code>!</code>)</li>.
2c420 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 49 74 20 69 ......</ul>.......<p>.......It.i
2c440 73 20 70 72 6f 68 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 s.prohibited.to.use.a.math.opera
2c460 74 6f 72 20 6f 6e 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 tor.on.a.mixture.of.scalars.(ind
2c480 69 76 69 64 75 61 6c 20 6e 75 6d 62 65 72 73 29 0a 20 20 20 20 20 20 61 6e 64 20 76 65 63 74 6f ividual.numbers).......and.vecto
2c4a0 72 73 2e 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 73 rs..Zig.provides.the.<a.href="#s
2c4c0 70 6c 61 74 22 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 plat">@splat</a>.builtin.to.easi
2c4e0 6c 79 20 63 6f 6e 76 65 72 74 20 66 72 6f 6d 20 73 63 61 6c 61 72 73 0a 20 20 20 20 20 20 74 6f ly.convert.from.scalars.......to
2c500 20 76 65 63 74 6f 72 73 2c 20 61 6e 64 20 69 74 20 73 75 70 70 6f 72 74 73 20 3c 61 20 68 72 65 .vectors,.and.it.supports.<a.hre
2c520 66 3d 22 23 72 65 64 75 63 65 22 3e 40 72 65 64 75 63 65 3c 2f 61 3e 20 61 6e 64 20 61 72 72 61 f="#reduce">@reduce</a>.and.arra
2c540 79 20 69 6e 64 65 78 69 6e 67 20 73 79 6e 74 61 78 20 74 6f 20 63 6f 6e 76 65 72 74 0a 20 20 20 y.indexing.syntax.to.convert....
2c560 20 20 20 66 72 6f 6d 20 76 65 63 74 6f 72 73 20 74 6f 20 73 63 61 6c 61 72 73 2e 20 56 65 63 74 ...from.vectors.to.scalars..Vect
2c580 6f 72 73 20 61 6c 73 6f 20 73 75 70 70 6f 72 74 20 61 73 73 69 67 6e 6d 65 6e 74 20 74 6f 20 61 ors.also.support.assignment.to.a
2c5a0 6e 64 20 66 72 6f 6d 20 66 69 78 65 64 2d 6c 65 6e 67 74 68 0a 20 20 20 20 20 20 61 72 72 61 79 nd.from.fixed-length.......array
2c5c0 73 20 77 69 74 68 20 63 6f 6d 70 74 69 6d 65 2d 6b 6e 6f 77 6e 20 6c 65 6e 67 74 68 2e 0a 20 20 s.with.comptime-known.length....
2c5e0 20 20 20 20 3c 2f 70 3e 0a 20 20 20 20 20 20 3c 70 3e 0a 20 20 20 20 20 20 46 6f 72 20 72 65 61 ....</p>.......<p>.......For.rea
2c600 72 72 61 6e 67 69 6e 67 20 65 6c 65 6d 65 6e 74 73 20 77 69 74 68 69 6e 20 61 6e 64 20 62 65 74 rranging.elements.within.and.bet
2c620 77 65 65 6e 20 76 65 63 74 6f 72 73 2c 20 5a 69 67 20 70 72 6f 76 69 64 65 73 20 74 68 65 20 3c ween.vectors,.Zig.provides.the.<
2c640 61 20 68 72 65 66 3d 22 23 73 68 75 66 66 6c 65 22 3e 40 73 68 75 66 66 6c 65 3c 2f 61 3e 20 61 a.href="#shuffle">@shuffle</a>.a
2c660 6e 64 20 3c 61 20 68 72 65 66 3d 22 23 73 65 6c 65 63 74 22 3e 40 73 65 6c 65 63 74 3c 2f 61 3e nd.<a.href="#select">@select</a>
2c680 20 66 75 6e 63 74 69 6f 6e 73 2e 0a 20 20 20 20 20 20 3c 2f 70 3e 0a 20 20 20 20 20 20 3c 70 3e .functions........</p>.......<p>
2c6a0 0a 20 20 20 20 20 20 4f 70 65 72 61 74 69 6f 6e 73 20 6f 6e 20 76 65 63 74 6f 72 73 20 73 68 6f .......Operations.on.vectors.sho
2c6c0 72 74 65 72 20 74 68 61 6e 20 74 68 65 20 74 61 72 67 65 74 20 6d 61 63 68 69 6e 65 27 73 20 6e rter.than.the.target.machine's.n
2c6e0 61 74 69 76 65 20 53 49 4d 44 20 73 69 7a 65 20 77 69 6c 6c 20 74 79 70 69 63 61 6c 6c 79 20 63 ative.SIMD.size.will.typically.c
2c700 6f 6d 70 69 6c 65 20 74 6f 20 73 69 6e 67 6c 65 20 53 49 4d 44 0a 20 20 20 20 20 20 69 6e 73 74 ompile.to.single.SIMD.......inst
2c720 72 75 63 74 69 6f 6e 73 2c 20 77 68 69 6c 65 20 76 65 63 74 6f 72 73 20 6c 6f 6e 67 65 72 20 74 ructions,.while.vectors.longer.t
2c740 68 61 6e 20 74 68 65 20 74 61 72 67 65 74 20 6d 61 63 68 69 6e 65 27 73 20 6e 61 74 69 76 65 20 han.the.target.machine's.native.
2c760 53 49 4d 44 20 73 69 7a 65 20 77 69 6c 6c 20 63 6f 6d 70 69 6c 65 20 74 6f 20 6d 75 6c 74 69 70 SIMD.size.will.compile.to.multip
2c780 6c 65 20 53 49 4d 44 0a 20 20 20 20 20 20 69 6e 73 74 72 75 63 74 69 6f 6e 73 2e 20 49 66 20 61 le.SIMD.......instructions..If.a
2c7a0 20 67 69 76 65 6e 20 6f 70 65 72 61 74 69 6f 6e 20 64 6f 65 73 6e 27 74 20 68 61 76 65 20 53 49 .given.operation.doesn't.have.SI
2c7c0 4d 44 20 73 75 70 70 6f 72 74 20 6f 6e 20 74 68 65 20 74 61 72 67 65 74 20 61 72 63 68 69 74 65 MD.support.on.the.target.archite
2c7e0 63 74 75 72 65 2c 20 74 68 65 20 63 6f 6d 70 69 6c 65 72 20 77 69 6c 6c 20 64 65 66 61 75 6c 74 cture,.the.compiler.will.default
2c800 0a 20 20 20 20 20 20 74 6f 20 6f 70 65 72 61 74 69 6e 67 20 6f 6e 20 65 61 63 68 20 76 65 63 74 .......to.operating.on.each.vect
2c820 6f 72 20 65 6c 65 6d 65 6e 74 20 6f 6e 65 20 61 74 20 61 20 74 69 6d 65 2e 20 5a 69 67 20 73 75 or.element.one.at.a.time..Zig.su
2c840 70 70 6f 72 74 73 20 61 6e 79 20 63 6f 6d 70 74 69 6d 65 2d 6b 6e 6f 77 6e 20 76 65 63 74 6f 72 pports.any.comptime-known.vector
2c860 20 6c 65 6e 67 74 68 20 75 70 20 74 6f 20 32 5e 33 32 2d 31 2c 0a 20 20 20 20 20 20 61 6c 74 68 .length.up.to.2^32-1,.......alth
2c880 6f 75 67 68 20 73 6d 61 6c 6c 20 70 6f 77 65 72 73 20 6f 66 20 74 77 6f 20 28 32 2d 36 34 29 20 ough.small.powers.of.two.(2-64).
2c8a0 61 72 65 20 6d 6f 73 74 20 74 79 70 69 63 61 6c 2e 20 4e 6f 74 65 20 74 68 61 74 20 65 78 63 65 are.most.typical..Note.that.exce
2c8c0 73 73 69 76 65 6c 79 20 6c 6f 6e 67 20 76 65 63 74 6f 72 20 6c 65 6e 67 74 68 73 20 28 65 2e 67 ssively.long.vector.lengths.(e.g
2c8e0 2e 20 32 5e 32 30 29 20 6d 61 79 0a 20 20 20 20 20 20 72 65 73 75 6c 74 20 69 6e 20 63 6f 6d 70 ..2^20).may.......result.in.comp
2c900 69 6c 65 72 20 63 72 61 73 68 65 73 20 6f 6e 20 63 75 72 72 65 6e 74 20 76 65 72 73 69 6f 6e 73 iler.crashes.on.current.versions
2c920 20 6f 66 20 5a 69 67 2e 0a 20 20 20 20 20 20 3c 2f 70 3e 0a 20 20 20 20 20 20 3c 66 69 67 75 72 .of.Zig........</p>.......<figur
2c940 65 3e 3c 66 69 67 63 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
2c960 69 74 65 20 63 6c 61 73 73 3d 22 66 69 6c 65 22 3e 74 65 73 74 5f 76 65 63 74 6f 72 2e 7a 69 67 ite.class="file">test_vector.zig
2c980 3c 2f 63 69 74 65 3e 3c 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><
2c9a0 73 70 61 6e 20 63 6c 61 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>
2c9c0 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"
2c9e0 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
2ca00 2d 73 74 72 22 3e 26 71 75 6f 74 3b 73 74 64 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 29 3b 0a 3c -str">&quot;std&quot;</span>);.<
2ca20 73 70 61 6e 20 63 6c 61 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>
2ca40 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 65 63 .expectEqual.=.std.testing.expec
2ca60 74 45 71 75 61 6c 3b 0a 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 74 65 tEqual;..<span.class="tok-kw">te
2ca80 73 74 3c 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">
2caa0 26 71 75 6f 74 3b 42 61 73 69 63 20 76 65 63 74 6f 72 20 75 73 61 67 65 26 71 75 6f 74 3b 3c 2f &quot;Basic.vector.usage&quot;</
2cac0 73 70 61 6e 3e 20 7b 0a 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 63 6f 6d span>.{.....<span.class="tok-com
2cae0 6d 65 6e 74 22 3e 2f 2f 20 56 65 63 74 6f 72 73 20 68 61 76 65 20 61 20 63 6f 6d 70 69 6c 65 2d ment">//.Vectors.have.a.compile-
2cb00 74 69 6d 65 20 6b 6e 6f 77 6e 20 6c 65 6e 67 74 68 20 61 6e 64 20 62 61 73 65 20 74 79 70 65 2e time.known.length.and.base.type.
2cb20 3c 2f 73 70 61 6e 3e 0a 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 </span>.....<span.class="tok-kw"
2cb40 3e 63 6f 6e 73 74 3c 2f 73 70 61 6e 3e 20 61 20 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 >const</span>.a.=.<span.class="t
2cb60 6f 6b 2d 62 75 69 6c 74 69 6e 22 3e 40 56 65 63 74 6f 72 3c 2f 73 70 61 6e 3e 28 3c 73 70 61 6e ok-builtin">@Vector</span>(<span
2cb80 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
2cba0 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 69 33 32 3c 2f 73 70 61 6e 3e 29 pan.class="tok-type">i32</span>)
2cbc0 7b 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 31 3c 2f 73 70 {.<span.class="tok-number">1</sp
2cbe0 61 6e 3e 2c 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 32 3c an>,.<span.class="tok-number">2<
2cc00 2f 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"
2cc20 3e 33 3c 2f 73 70 61 6e 3e 2c 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 >3</span>,.<span.class="tok-numb
2cc40 65 72 22 3e 34 3c 2f 73 70 61 6e 3e 20 7d 3b 0a 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d er">4</span>.};.....<span.class=
2cc60 22 74 6f 6b 2d 6b 77 22 3e 63 6f 6e 73 74 3c 2f 73 70 61 6e 3e 20 62 20 3d 20 3c 73 70 61 6e 20 "tok-kw">const</span>.b.=.<span.
2cc80 63 6c 61 73 73 3d 22 74 6f 6b 2d 62 75 69 6c 74 69 6e 22 3e 40 56 65 63 74 6f 72 3c 2f 73 70 61 class="tok-builtin">@Vector</spa
2cca0 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
2ccc0 70 61 6e 3e 2c 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 69 33 32 pan>,.<span.class="tok-type">i32
2cce0 3c 2f 73 70 61 6e 3e 29 7b 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 </span>){.<span.class="tok-numbe
2cd00 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
2cd20 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
2cd40 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="
2cd60 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 38 3c 2f 73 70 61 6e 3e 20 7d 3b 0a 0a 20 20 20 20 3c 73 70 tok-number">8</span>.};......<sp
2cd80 61 6e 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 74 68 20 6f an.class="tok-comment">//.Math.o
2cda0 70 65 72 61 74 69 6f 6e 73 20 74 61 6b 65 20 70 6c 61 63 65 20 65 6c 65 6d 65 6e 74 2d 77 69 73 perations.take.place.element-wis
2cdc0 65 2e 3c 2f 73 70 61 6e 3e 0a 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b e.</span>.....<span.class="tok-k
2cde0 77 22 3e 63 6f 6e 73 74 3c 2f 73 70 61 6e 3e 20 63 20 3d 20 61 20 2b 20 62 3b 0a 0a 20 20 20 20 w">const</span>.c.=.a.+.b;......
2ce00 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 63 6f 6d 6d 65 6e 74 22 3e 2f 2f 20 49 6e 64 <span.class="tok-comment">//.Ind
2ce20 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 61 ividual.vector.elements.can.be.a
2ce40 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 6e ccessed.using.array.indexing.syn
2ce60 74 61 78 2e 3c 2f 73 70 61 6e 3e 0a 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b tax.</span>.....<span.class="tok
2ce80 2d 6b 77 22 3e 74 72 79 3c 2f 73 70 61 6e 3e 20 65 78 70 65 63 74 45 71 75 61 6c 28 3c 73 70 61 -kw">try</span>.expectEqual(<spa
2cea0 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 36 3c 2f 73 70 61 6e 3e 2c 20 63 n.class="tok-number">6</span>,.c
2cec0 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
2cee0 6e 3e 5d 29 3b 0a 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 74 n>]);.....<span.class="tok-kw">t
2cf00 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 73 ry</span>.expectEqual(<span.clas
2cf20 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 38 3c 2f 73 70 61 6e 3e 2c 20 63 5b 3c 73 70 61 6e s="tok-number">8</span>,.c[<span
2cf40 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 31 3c 2f 73 70 61 6e 3e 5d 29 3b 0a .class="tok-number">1</span>]);.
2cf60 20 20 20 20 3c 73 70 61 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
2cf80 61 6e 3e 20 65 78 70 65 63 74 45 71 75 61 6c 28 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b an>.expectEqual(<span.class="tok
2cfa0 2d 6e 75 6d 62 65 72 22 3e 31 30 3c 2f 73 70 61 6e 3e 2c 20 63 5b 3c 73 70 61 6e 20 63 6c 61 73 -number">10</span>,.c[<span.clas
2cfc0 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 32 3c 2f 73 70 61 6e 3e 5d 29 3b 0a 20 20 20 20 3c s="tok-number">2</span>]);.....<
2cfe0 73 70 61 6e 20 63 6c 61 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
2d000 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
2d020 65 72 22 3e 31 32 3c 2f 73 70 61 6e 3e 2c 20 63 5b 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f er">12</span>,.c[<span.class="to
2d040 6b 2d 6e 75 6d 62 65 72 22 3e 33 3c 2f 73 70 61 6e 3e 5d 29 3b 0a 7d 0a 0a 3c 73 70 61 6e 20 63 k-number">3</span>]);.}..<span.c
2d060 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.
2d080 63 6c 61 73 73 3d 22 74 6f 6b 2d 73 74 72 22 3e 26 71 75 6f 74 3b 43 6f 6e 76 65 72 73 69 6f 6e class="tok-str">&quot;Conversion
2d0a0 20 62 65 74 77 65 65 6e 20 76 65 63 74 6f 72 73 2c 20 61 72 72 61 79 73 2c 20 61 6e 64 20 73 6c .between.vectors,.arrays,.and.sl
2d0c0 69 63 65 73 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 20 7b 0a 20 20 20 20 3c 73 70 61 6e 20 63 6c ices&quot;</span>.{.....<span.cl
2d0e0 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 20 63 61 6e ass="tok-comment">//.Vectors.can
2d100 20 62 65 20 63 6f 65 72 63 65 64 20 74 6f 20 61 72 72 61 79 73 2c 20 61 6e 64 20 76 69 63 65 20 .be.coerced.to.arrays,.and.vice.
2d120 76 65 72 73 61 2e 3c 2f 73 70 61 6e 3e 0a 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 versa.</span>.....<span.class="t
2d140 6f 6b 2d 6b 77 22 3e 63 6f 6e 73 74 3c 2f 73 70 61 6e 3e 20 61 72 72 31 3a 20 5b 3c 73 70 61 6e ok-kw">const</span>.arr1:.[<span
2d160 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 34 3c 2f 73 70 61 6e 3e 5d 3c 73 70 .class="tok-number">4</span>]<sp
2d180 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 66 33 32 3c 2f 73 70 61 6e 3e 20 3d an.class="tok-type">f32</span>.=
2d1a0 20 5b 5f 5d 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 66 33 32 3c 2f .[_]<span.class="tok-type">f32</
2d1c0 73 70 61 6e 3e 7b 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e span>{.<span.class="tok-number">
2d1e0 31 2e 31 3c 2f 73 70 61 6e 3e 2c 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 1.1</span>,.<span.class="tok-num
2d200 62 65 72 22 3e 33 2e 32 3c 2f 73 70 61 6e 3e 2c 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f ber">3.2</span>,.<span.class="to
2d220 6b 2d 6e 75 6d 62 65 72 22 3e 34 2e 35 3c 2f 73 70 61 6e 3e 2c 20 3c 73 70 61 6e 20 63 6c 61 73 k-number">4.5</span>,.<span.clas
2d240 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 0a 20 20 20 s="tok-number">5.6</span>.};....
2d260 20 3c 73 70 61 6e 20 63 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
2d280 6e 3e 20 76 65 63 3a 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 62 75 69 6c 74 69 6e n>.vec:.<span.class="tok-builtin
2d2a0 22 3e 40 56 65 63 74 6f 72 3c 2f 73 70 61 6e 3e 28 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f ">@Vector</span>(<span.class="to
2d2c0 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=
2d2e0 22 74 6f 6b 2d 74 79 70 65 22 3e 66 33 32 3c 2f 73 70 61 6e 3e 29 20 3d 20 61 72 72 31 3b 0a 20 "tok-type">f32</span>).=.arr1;..
2d300 20 20 20 3c 73 70 61 6e 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
2d320 70 61 6e 3e 20 61 72 72 32 3a 20 5b 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d pan>.arr2:.[<span.class="tok-num
2d340 62 65 72 22 3e 34 3c 2f 73 70 61 6e 3e 5d 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 ber">4</span>]<span.class="tok-t
2d360 79 70 65 22 3e 66 33 32 3c 2f 73 70 61 6e 3e 20 3d 20 76 65 63 3b 0a 20 20 20 20 3c 73 70 61 6e ype">f32</span>.=.vec;.....<span
2d380 20 63 6c 61 73 73 3d 22 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
2d3a0 74 45 71 75 61 6c 28 61 72 72 31 2c 20 61 72 72 32 29 3b 0a 0a 20 20 20 20 3c 73 70 61 6e 20 63 tEqual(arr1,.arr2);......<span.c
2d3c0 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
2d3e0 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
2d400 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
2d420 69 6e 67 20 2e 2a 3c 2f 73 70 61 6e 3e 0a 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 ing..*</span>.....<span.class="t
2d440 6f 6b 2d 6b 77 22 3e 63 6f 6e 73 74 3c 2f 73 70 61 6e 3e 20 76 65 63 32 3a 20 3c 73 70 61 6e 20 ok-kw">const</span>.vec2:.<span.
2d460 63 6c 61 73 73 3d 22 74 6f 6b 2d 62 75 69 6c 74 69 6e 22 3e 40 56 65 63 74 6f 72 3c 2f 73 70 61 class="tok-builtin">@Vector</spa
2d480 6e 3e 28 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 32 3c 2f 73 n>(<span.class="tok-number">2</s
2d4a0 70 61 6e 3e 2c 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 66 33 32 pan>,.<span.class="tok-type">f32
2d4c0 3c 2f 73 70 61 6e 3e 29 20 3d 20 61 72 72 31 5b 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b </span>).=.arr1[<span.class="tok
2d4e0 2d 6e 75 6d 62 65 72 22 3e 31 3c 2f 73 70 61 6e 3e 2e 2e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 -number">1</span>..<span.class="
2d500 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 33 3c 2f 73 70 61 6e 3e 5d 2e 2a 3b 0a 0a 20 20 20 20 3c 73 tok-number">3</span>].*;......<s
2d520 70 61 6e 20 63 6c 61 73 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>.
2d540 73 6c 69 63 65 3a 20 5b 5d 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 63 6f slice:.[]<span.class="tok-kw">co
2d560 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
2d580 22 3e 66 33 32 3c 2f 73 70 61 6e 3e 20 3d 20 26 61 6d 70 3b 61 72 72 31 3b 0a 20 20 20 20 3c 73 ">f32</span>.=.&amp;arr1;.....<s
2d5a0 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 76 61 72 3c 2f 73 70 61 6e 3e 20 6f 66 pan.class="tok-kw">var</span>.of
2d5c0 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 3e 75 33 32 fset:.<span.class="tok-type">u32
2d5e0 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
2d600 72 22 3e 31 3c 2f 73 70 61 6e 3e 3b 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 63 6f r">1</span>;.<span.class="tok-co
2d620 6d 6d 65 6e 74 22 3e 2f 2f 20 76 61 72 20 74 6f 20 6d 61 6b 65 20 69 74 20 72 75 6e 74 69 6d 65 mment">//.var.to.make.it.runtime
2d640 2d 6b 6e 6f 77 6e 3c 2f 73 70 61 6e 3e 0a 20 20 20 20 5f 20 3d 20 26 61 6d 70 3b 6f 66 66 73 65 -known</span>....._.=.&amp;offse
2d660 74 3b 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 63 6f 6d 6d 65 6e 74 22 3e 2f 2f 20 t;.<span.class="tok-comment">//.
2d680 73 75 70 70 72 65 73 73 20 27 76 61 72 20 69 73 20 6e 65 76 65 72 20 6d 75 74 61 74 65 64 27 20 suppress.'var.is.never.mutated'.
2d6a0 65 72 72 6f 72 3c 2f 73 70 61 6e 3e 0a 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f error</span>.....<span.class="to
2d6c0 6b 2d 63 6f 6d 6d 65 6e 74 22 3e 2f 2f 20 54 6f 20 65 78 74 72 61 63 74 20 61 20 63 6f 6d 70 74 k-comment">//.To.extract.a.compt
2d6e0 69 6d 65 2d 6b 6e 6f 77 6e 20 6c 65 6e 67 74 68 20 66 72 6f 6d 20 61 20 72 75 6e 74 69 6d 65 2d ime-known.length.from.a.runtime-
2d700 6b 6e 6f 77 6e 20 6f 66 66 73 65 74 2c 3c 2f 73 70 61 6e 3e 0a 20 20 20 20 3c 73 70 61 6e 20 63 known.offset,</span>.....<span.c
2d720 6c 61 73 73 3d 22 74 6f 6b 2d 63 6f 6d 6d 65 6e 74 22 3e 2f 2f 20 66 69 72 73 74 20 65 78 74 72 lass="tok-comment">//.first.extr
2d740 61 63 74 20 61 20 6e 65 77 20 73 6c 69 63 65 20 66 72 6f 6d 20 74 68 65 20 73 74 61 72 74 69 6e act.a.new.slice.from.the.startin
2d760 67 20 6f 66 66 73 65 74 2c 20 74 68 65 6e 20 61 6e 20 61 72 72 61 79 20 6f 66 3c 2f 73 70 61 6e g.offset,.then.an.array.of</span
2d780 3e 0a 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 63 6f 6d 6d 65 6e 74 22 3e >.....<span.class="tok-comment">
2d7a0 2f 2f 20 63 6f 6d 70 74 69 6d 65 2d 6b 6e 6f 77 6e 20 6c 65 6e 67 74 68 3c 2f 73 70 61 6e 3e 0a //.comptime-known.length</span>.
2d7c0 20 20 20 20 3c 73 70 61 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</
2d7e0 73 70 61 6e 3e 20 76 65 63 33 3a 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 62 75 69 span>.vec3:.<span.class="tok-bui
2d800 6c 74 69 6e 22 3e 40 56 65 63 74 6f 72 3c 2f 73 70 61 6e 3e 28 3c 73 70 61 6e 20 63 6c 61 73 73 ltin">@Vector</span>(<span.class
2d820 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 32 3c 2f 73 70 61 6e 3e 2c 20 3c 73 70 61 6e 20 63 6c ="tok-number">2</span>,.<span.cl
2d840 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 66 33 32 3c 2f 73 70 61 6e 3e 29 20 3d 20 73 6c 69 ass="tok-type">f32</span>).=.sli
2d860 63 65 5b 6f 66 66 73 65 74 2e 2e 5d 5b 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 ce[offset..][<span.class="tok-nu
2d880 6d 62 65 72 22 3e 30 3c 2f 73 70 61 6e 3e 2e 2e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b mber">0</span>..<span.class="tok
2d8a0 2d 6e 75 6d 62 65 72 22 3e 32 3c 2f 73 70 61 6e 3e 5d 2e 2a 3b 0a 20 20 20 20 3c 73 70 61 6e 20 -number">2</span>].*;.....<span.
2d8c0 63 6c 61 73 73 3d 22 74 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
2d8e0 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 70 61 6e 20 Equal(slice[offset],.vec2[<span.
2d900 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 0a 20 class="tok-number">0</span>]);..
2d920 20 20 20 3c 73 70 61 6e 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
2d940 6e 3e 20 65 78 70 65 63 74 45 71 75 61 6c 28 73 6c 69 63 65 5b 6f 66 66 73 65 74 20 2b 20 3c 73 n>.expectEqual(slice[offset.+.<s
2d960 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 31 3c 2f 73 70 61 6e 3e 5d pan.class="tok-number">1</span>]
2d980 2c 20 76 65 63 32 5b 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e ,.vec2[<span.class="tok-number">
2d9a0 31 3c 2f 73 70 61 6e 3e 5d 29 3b 0a 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 1</span>]);.....<span.class="tok
2d9c0 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 76 65 63 32 -kw">try</span>.expectEqual(vec2
2d9e0 2c 20 76 65 63 33 29 3b 0a 7d 3c 2f 63 6f 64 65 3e 3c 2f 70 72 65 3e 3c 2f 66 69 67 75 72 65 3e ,.vec3);.}</code></pre></figure>
2da00 3c 66 69 67 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
2da20 2d 63 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
2da40 6d 70 3e 24 20 3c 6b 62 64 3e 7a 69 67 20 74 65 73 74 20 74 65 73 74 5f 76 65 63 74 6f 72 2e 7a mp>$.<kbd>zig.test.test_vector.z
2da60 69 67 3c 2f 6b 62 64 3e 0a 31 2f 32 20 74 65 73 74 5f 76 65 63 74 6f 72 2e 74 65 73 74 2e 42 61 ig</kbd>.1/2.test_vector.test.Ba
2da80 73 69 63 20 76 65 63 74 6f 72 20 75 73 61 67 65 2e 2e 2e 4f 4b 0a 32 2f 32 20 74 65 73 74 5f 76 sic.vector.usage...OK.2/2.test_v
2daa0 65 63 74 6f 72 2e 74 65 73 74 2e 43 6f 6e 76 65 72 73 69 6f 6e 20 62 65 74 77 65 65 6e 20 76 65 ector.test.Conversion.between.ve
2dac0 63 74 6f 72 73 2c 20 61 72 72 61 79 73 2c 20 61 6e 64 20 73 6c 69 63 65 73 2e 2e 2e 4f 4b 0a 41 ctors,.arrays,.and.slices...OK.A
2dae0 6c 6c 20 32 20 74 65 73 74 73 20 70 61 73 73 65 64 2e 0a 3c 2f 73 61 6d 70 3e 3c 2f 70 72 65 3e ll.2.tests.passed..</samp></pre>
2db00 3c 2f 66 69 67 75 72 65 3e 0a 0a 20 20 20 20 20 20 3c 70 3e 0a 20 20 20 20 20 20 54 4f 44 4f 20 </figure>........<p>.......TODO.
2db20 74 61 6c 6b 20 61 62 6f 75 74 20 43 20 41 42 49 20 69 6e 74 65 72 6f 70 3c 62 72 2f 3e 0a 20 20 talk.about.C.ABI.interop<br/>...
2db40 20 20 20 20 54 4f 44 4f 20 63 6f 6e 73 69 64 65 72 20 73 75 67 67 65 73 74 69 6e 67 20 73 74 64 ....TODO.consider.suggesting.std
2db60 2e 4d 75 6c 74 69 41 72 72 61 79 4c 69 73 74 0a 20 20 20 20 20 20 3c 2f 70 3e 0a 20 20 20 20 20 .MultiArrayList.......</p>......
2db80 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
2dba0 66 3d 22 23 73 70 6c 61 74 22 3e 40 73 70 6c 61 74 3c 2f 61 3e 3c 2f 6c 69 3e 0a 3c 6c 69 3e 3c f="#splat">@splat</a></li>.<li><
2dbc0 61 20 68 72 65 66 3d 22 23 73 68 75 66 66 6c 65 22 3e 40 73 68 75 66 66 6c 65 3c 2f 61 3e 3c 2f a.href="#shuffle">@shuffle</a></
2dbe0 6c 69 3e 0a 3c 6c 69 3e 3c 61 20 68 72 65 66 3d 22 23 73 65 6c 65 63 74 22 3e 40 73 65 6c 65 63 li>.<li><a.href="#select">@selec
2dc00 74 3c 2f 61 3e 3c 2f 6c 69 3e 0a 3c 6c 69 3e 3c 61 20 68 72 65 66 3d 22 23 72 65 64 75 63 65 22 t</a></li>.<li><a.href="#reduce"
2dc20 3e 40 72 65 64 75 63 65 3c 2f 61 3e 3c 2f 6c 69 3e 0a 3c 2f 75 6c 3e 0a 0a 0a 20 20 20 20 20 20 >@reduce</a></li>.</ul>.........
2dc40 3c 68 33 20 69 64 3d 22 52 65 6c 61 74 69 6f 6e 73 68 69 70 2d 77 69 74 68 2d 41 72 72 61 79 73 <h3.id="Relationship-with-Arrays
2dc60 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 61 74 69 6f "><a.href="nav.xhtml#toc-Relatio
2dc80 6e 73 68 69 70 2d 77 69 74 68 2d 41 72 72 61 79 73 22 3e 52 65 6c 61 74 69 6f 6e 73 68 69 70 20 nship-with-Arrays">Relationship.
2dca0 77 69 74 68 20 41 72 72 61 79 73 3c 2f 61 3e 20 3c 61 20 63 6c 61 73 73 3d 22 68 64 72 22 20 68 with.Arrays</a>.<a.class="hdr".h
2dcc0 72 65 66 3d 22 23 52 65 6c 61 74 69 6f 6e 73 68 69 70 2d 77 69 74 68 2d 41 72 72 61 79 73 22 3e ref="#Relationship-with-Arrays">
2dce0 c2 a7 3c 2f 61 3e 3c 2f 68 33 3e 0a 0a 20 20 20 20 20 20 3c 70 3e 56 65 63 74 6f 72 73 20 61 6e ..</a></h3>........<p>Vectors.an
2dd00 64 20 3c 61 20 68 72 65 66 3d 22 23 41 72 72 61 79 73 22 3e 41 72 72 61 79 73 3c 2f 61 3e 20 65 d.<a.href="#Arrays">Arrays</a>.e
2dd20 61 63 68 20 68 61 76 65 20 61 20 77 65 6c 6c 2d 64 65 66 69 6e 65 64 20 3c 73 74 72 6f 6e 67 3e ach.have.a.well-defined.<strong>
2dd40 62 69 74 20 6c 61 79 6f 75 74 3c 2f 73 74 72 6f 6e 67 3e 0a 20 20 20 20 20 20 61 6e 64 20 74 68 bit.layout</strong>.......and.th
2dd60 65 72 65 66 6f 72 65 20 73 75 70 70 6f 72 74 20 3c 61 20 68 72 65 66 3d 22 23 62 69 74 43 61 73 erefore.support.<a.href="#bitCas
2dd80 74 22 3e 40 62 69 74 43 61 73 74 3c 2f 61 3e 20 62 65 74 77 65 65 6e 20 65 61 63 68 20 6f 74 68 t">@bitCast</a>.between.each.oth
2dda0 65 72 2e 20 3c 61 20 68 72 65 66 3d 22 23 54 79 70 65 2d 43 6f 65 72 63 69 6f 6e 22 3e 54 79 70 er..<a.href="#Type-Coercion">Typ
2ddc0 65 20 43 6f 65 72 63 69 6f 6e 3c 2f 61 3e 20 69 6d 70 6c 69 63 69 74 6c 79 20 70 65 66 6f 72 6d e.Coercion</a>.implicitly.peform
2dde0 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 74 6f 6b 2d 62 s.......<code><span.class="tok-b
2de00 75 69 6c 74 69 6e 22 3e 40 62 69 74 43 61 73 74 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 2e 3c uiltin">@bitCast</span></code>.<
2de20 2f 70 3e 0a 20 20 20 20 20 20 3c 70 3e 41 72 72 61 79 73 20 68 61 76 65 20 77 65 6c 6c 2d 64 65 /p>.......<p>Arrays.have.well-de
2de40 66 69 6e 65 64 20 62 79 74 65 20 6c 61 79 6f 75 74 2c 20 62 75 74 20 76 65 63 74 6f 72 73 20 64 fined.byte.layout,.but.vectors.d
2de60 6f 20 6e 6f 74 2c 20 6d 61 6b 69 6e 67 20 3c 61 20 68 72 65 66 3d 22 23 70 74 72 43 61 73 74 22 o.not,.making.<a.href="#ptrCast"
2de80 3e 40 70 74 72 43 61 73 74 3c 2f 61 3e 20 62 65 74 77 65 65 6e 0a 20 20 20 20 20 20 74 68 65 6d >@ptrCast</a>.between.......them
2dea0 20 3c 61 20 68 72 65 66 3d 22 23 49 6c 6c 65 67 61 6c 2d 42 65 68 61 76 69 6f 72 22 3e 49 6c 6c .<a.href="#Illegal-Behavior">Ill
2dec0 65 67 61 6c 20 42 65 68 61 76 69 6f 72 3c 2f 61 3e 2e 3c 2f 70 3e 0a 20 20 20 20 20 20 0a 0a 20 egal.Behavior</a>.</p>..........
2dee0 20 20 20 20 20 3c 68 33 20 69 64 3d 22 44 65 73 74 72 75 63 74 75 72 69 6e 67 2d 56 65 63 74 6f .....<h3.id="Destructuring-Vecto
2df00 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 44 65 73 74 72 rs"><a.href="nav.xhtml#toc-Destr
2df20 75 63 74 75 72 69 6e 67 2d 56 65 63 74 6f 72 73 22 3e 44 65 73 74 72 75 63 74 75 72 69 6e 67 20 ucturing-Vectors">Destructuring.
2df40 56 65 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 Vectors</a>.<a.class="hdr".href=
2df60 22 23 44 65 73 74 72 75 63 74 75 72 69 6e 67 2d 56 65 63 74 6f 72 73 22 3e c2 a7 3c 2f 61 3e 3c "#Destructuring-Vectors">..</a><
2df80 2f 68 33 3e 0a 0a 20 20 20 20 20 20 3c 70 3e 0a 20 20 20 20 20 20 20 20 56 65 63 74 6f 72 73 20 /h3>........<p>.........Vectors.
2dfa0 63 61 6e 20 62 65 20 64 65 73 74 72 75 63 74 75 72 65 64 3a 0a 20 20 20 20 20 20 3c 2f 70 3e 0a can.be.destructured:.......</p>.
2dfc0 20 20 20 20 20 20 3c 66 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=
2dfe0 22 7a 69 67 2d 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 73 "zig-cap"><cite.class="file">des
2e000 74 72 75 63 74 75 72 69 6e 67 5f 76 65 63 74 6f 72 73 2e 7a 69 67 3c 2f 63 69 74 65 3e 3c 2f 66 tructuring_vectors.zig</cite></f
2e020 69 67 63 61 70 74 69 6f 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
2e040 3d 22 74 6f 6b 2d 6b 77 22 3e 63 6f 6e 73 74 3c 2f 73 70 61 6e 3e 20 70 72 69 6e 74 20 3d 20 3c ="tok-kw">const</span>.print.=.<
2e060 73 70 61 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
2e080 3c 2f 73 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
2e0a0 75 6f 74 3b 73 74 64 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 29 2e 64 65 62 75 67 2e 70 72 69 6e uot;std&quot;</span>).debug.prin
2e0c0 74 3b 0a 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 63 6f 6d 6d 65 6e 74 22 3e 2f 2f t;..<span.class="tok-comment">//
2e0e0 20 65 6d 75 6c 61 74 65 20 70 75 6e 70 63 6b 6c 64 71 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 .emulate.punpckldq</span>.<span.
2e100 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.
2e120 63 6c 61 73 73 3d 22 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
2e140 6c 61 73 73 3d 22 74 6f 6b 2d 66 6e 22 3e 75 6e 70 61 63 6b 3c 2f 73 70 61 6e 3e 28 78 3a 20 3c lass="tok-fn">unpack</span>(x:.<
2e160 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 62 75 69 6c 74 69 6e 22 3e 40 56 65 63 74 6f 72 span.class="tok-builtin">@Vector
2e180 3c 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"
2e1a0 3e 34 3c 2f 73 70 61 6e 3e 2c 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 >4</span>,.<span.class="tok-type
2e1c0 22 3e 66 33 32 3c 2f 73 70 61 6e 3e 29 2c 20 79 3a 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 ">f32</span>),.y:.<span.class="t
2e1e0 6f 6b 2d 62 75 69 6c 74 69 6e 22 3e 40 56 65 63 74 6f 72 3c 2f 73 70 61 6e 3e 28 3c 73 70 61 6e ok-builtin">@Vector</span>(<span
2e200 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
2e220 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>)
2e240 29 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 62 75 69 6c 74 69 6e 22 3e 40 56 65 63 ).<span.class="tok-builtin">@Vec
2e260 74 6f 72 3c 2f 73 70 61 6e 3e 28 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 tor</span>(<span.class="tok-numb
2e280 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
2e2a0 79 70 65 22 3e 66 33 32 3c 2f 73 70 61 6e 3e 29 20 7b 0a 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 ype">f32</span>).{.....<span.cla
2e2c0 73 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 2c 20 3c 73 70 61 ss="tok-kw">const</span>.a,.<spa
2e2e0 6e 20 63 6c 61 73 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 2c n.class="tok-kw">const</span>.c,
2e300 20 5f 2c 20 5f 20 3d 20 78 3b 0a 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d ._,._.=.x;.....<span.class="tok-
2e320 6b 77 22 3e 63 6f 6e 73 74 3c 2f 73 70 61 6e 3e 20 62 2c 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d kw">const</span>.b,.<span.class=
2e340 22 74 6f 6b 2d 6b 77 22 3e 63 6f 6e 73 74 3c 2f 73 70 61 6e 3e 20 64 2c 20 5f 2c 20 5f 20 3d 20 "tok-kw">const</span>.d,._,._.=.
2e360 79 3b 0a 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 72 65 74 75 y;.....<span.class="tok-kw">retu
2e380 72 6e 3c 2f 73 70 61 6e 3e 20 2e 7b 20 61 2c 20 62 2c 20 63 2c 20 64 20 7d 3b 0a 7d 0a 0a 3c 73 rn</span>..{.a,.b,.c,.d.};.}..<s
2e3a0 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
2e3c0 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
2e3e0 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>().
2e400 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
2e420 6e 3e 20 7b 0a 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 63 6f n>.{.....<span.class="tok-kw">co
2e440 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 62 nst</span>.x:.<span.class="tok-b
2e460 75 69 6c 74 69 6e 22 3e 40 56 65 63 74 6f 72 3c 2f 73 70 61 6e 3e 28 3c 73 70 61 6e 20 63 6c 61 uiltin">@Vector</span>(<span.cla
2e480 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 34 3c 2f 73 70 61 6e 3e 2c 20 3c 73 70 61 6e 20 ss="tok-number">4</span>,.<span.
2e4a0 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 66 33 32 3c 2f 73 70 61 6e 3e 29 20 3d 20 2e class="tok-type">f32</span>).=..
2e4c0 7b 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 31 2e 30 3c 2f {.<span.class="tok-number">1.0</
2e4e0 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">
2e500 32 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 2.0</span>,.<span.class="tok-num
2e520 62 65 72 22 3e 33 2e 30 3c 2f 73 70 61 6e 3e 2c 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f ber">3.0</span>,.<span.class="to
2e540 6b 2d 6e 75 6d 62 65 72 22 3e 34 2e 30 3c 2f 73 70 61 6e 3e 20 7d 3b 0a 20 20 20 20 3c 73 70 61 k-number">4.0</span>.};.....<spa
2e560 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 63 6f 6e 73 74 3c 2f 73 70 61 6e 3e 20 79 3a n.class="tok-kw">const</span>.y:
2e580 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 62 75 69 6c 74 69 6e 22 3e 40 56 65 63 74 .<span.class="tok-builtin">@Vect
2e5a0 6f 72 3c 2f 73 70 61 6e 3e 28 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 or</span>(<span.class="tok-numbe
2e5c0 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 79 r">4</span>,.<span.class="tok-ty
2e5e0 70 65 22 3e 66 33 32 3c 2f 73 70 61 6e 3e 29 20 3d 20 2e 7b 20 3c 73 70 61 6e 20 63 6c 61 73 73 pe">f32</span>).=..{.<span.class
2e600 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 35 2e 30 3c 2f 73 70 61 6e 3e 2c 20 3c 73 70 61 6e 20 ="tok-number">5.0</span>,.<span.
2e620 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 36 2e 30 3c 2f 73 70 61 6e 3e 2c 20 3c class="tok-number">6.0</span>,.<
2e640 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 37 2e 30 3c 2f 73 70 61 span.class="tok-number">7.0</spa
2e660 6e 3e 2c 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 38 2e 30 n>,.<span.class="tok-number">8.0
2e680 3c 2f 73 70 61 6e 3e 20 7d 3b 0a 20 20 20 20 70 72 69 6e 74 28 3c 73 70 61 6e 20 63 6c 61 73 73 </span>.};.....print(<span.class
2e6a0 3d 22 74 6f 6b 2d 73 74 72 22 3e 26 71 75 6f 74 3b 7b 7d 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e ="tok-str">&quot;{}&quot;</span>
2e6c0 2c 20 2e 7b 75 6e 70 61 63 6b 28 78 2c 20 79 29 7d 29 3b 0a 7d 3c 2f 63 6f 64 65 3e 3c 2f 70 72 ,..{unpack(x,.y)});.}</code></pr
2e6e0 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
2e700 6c 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
2e720 6f 6e 3e 3c 70 72 65 3e 3c 73 61 6d 70 3e 24 20 3c 6b 62 64 3e 7a 69 67 20 62 75 69 6c 64 2d 65 on><pre><samp>$.<kbd>zig.build-e
2e740 78 65 20 64 65 73 74 72 75 63 74 75 72 69 6e 67 5f 76 65 63 74 6f 72 73 2e 7a 69 67 3c 2f 6b 62 xe.destructuring_vectors.zig</kb
2e760 64 3e 0a 24 20 3c 6b 62 64 3e 2e 2f 64 65 73 74 72 75 63 74 75 72 69 6e 67 5f 76 65 63 74 6f 72 d>.$.<kbd>./destructuring_vector
2e780 73 3c 2f 6b 62 64 3e 0a 7b 20 31 2c 20 35 2c 20 32 2c 20 36 20 7d 0a 3c 2f 73 61 6d 70 3e 3c 2f s</kbd>.{.1,.5,.2,.6.}.</samp></
2e7a0 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:
2e7c0 3c 2f 70 3e 3c 75 6c 3e 0a 3c 6c 69 3e 3c 61 20 68 72 65 66 3d 22 23 44 65 73 74 72 75 63 74 75 </p><ul>.<li><a.href="#Destructu
2e7e0 72 69 6e 67 22 3e 44 65 73 74 72 75 63 74 75 72 69 6e 67 3c 2f 61 3e 3c 2f 6c 69 3e 0a 3c 6c 69 ring">Destructuring</a></li>.<li
2e800 3e 3c 61 20 68 72 65 66 3d 22 23 44 65 73 74 72 75 63 74 75 72 69 6e 67 2d 54 75 70 6c 65 73 22 ><a.href="#Destructuring-Tuples"
2e820 3e 44 65 73 74 72 75 63 74 75 72 69 6e 67 20 54 75 70 6c 65 73 3c 2f 61 3e 3c 2f 6c 69 3e 0a 3c >Destructuring.Tuples</a></li>.<
2e840 6c 69 3e 3c 61 20 68 72 65 66 3d 22 23 44 65 73 74 72 75 63 74 75 72 69 6e 67 2d 41 72 72 61 79 li><a.href="#Destructuring-Array
2e860 73 22 3e 44 65 73 74 72 75 63 74 75 72 69 6e 67 20 41 72 72 61 79 73 3c 2f 61 3e 3c 2f 6c 69 3e s">Destructuring.Arrays</a></li>
2e880 0a 3c 2f 75 6c 3e 0a 0a 20 20 20 20 20 20 0a 0a 20 20 20 20 20 20 0a 0a 20 20 20 20 20 20 3c 68 .</ul>........................<h
2e8a0 32 20 69 64 3d 22 50 6f 69 6e 74 65 72 73 22 3e 3c 61 20 68 72 65 66 3d 22 6e 61 76 2e 78 68 74 2.id="Pointers"><a.href="nav.xht
2e8c0 6d 6c 23 74 6f 63 2d 50 6f 69 6e 74 65 72 73 22 3e 50 6f 69 6e 74 65 72 73 3c 2f 61 3e 20 3c 61 ml#toc-Pointers">Pointers</a>.<a
2e8e0 20 63 6c 61 73 73 3d 22 68 64 72 22 20 68 72 65 66 3d 22 23 50 6f 69 6e 74 65 72 73 22 3e c2 a7 .class="hdr".href="#Pointers">..
2e900 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 69 67 20 68 </a></h2>........<p>.......Zig.h
2e920 61 73 20 74 77 6f 20 6b 69 6e 64 73 20 6f 66 20 70 6f 69 6e 74 65 72 73 3a 20 73 69 6e 67 6c 65 as.two.kinds.of.pointers:.single
2e940 2d 69 74 65 6d 20 61 6e 64 20 6d 61 6e 79 2d 69 74 65 6d 2e 0a 20 20 20 20 20 20 3c 2f 70 3e 0a -item.and.many-item........</p>.
2e960 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 65 3e 2a ......<ul>...........<li><code>*
2e980 54 3c 2f 63 6f 64 65 3e 20 2d 20 73 69 6e 67 6c 65 2d 69 74 65 6d 20 70 6f 69 6e 74 65 72 20 74 T</code>.-.single-item.pointer.t
2e9a0 6f 20 65 78 61 63 74 6c 79 20 6f 6e 65 20 69 74 65 6d 2e 0a 20 20 20 20 20 20 20 20 20 20 20 20 o.exactly.one.item..............
2e9c0 3c 75 6c 3e 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 3c 6c 69 3e 53 75 70 70 6f 72 74 73 20 <ul>...............<li>Supports.
2e9e0 64 65 72 65 66 20 73 79 6e 74 61 78 3a 20 3c 63 6f 64 65 3e 70 74 72 2e 2a 3c 2f 63 6f 64 65 3e deref.syntax:.<code>ptr.*</code>
2ea00 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 74 73 </li>...............<li>Supports
2ea20 20 73 6c 69 63 65 20 73 79 6e 74 61 78 3a 20 3c 63 6f 64 65 3e 70 74 72 5b 3c 73 70 61 6e 20 63 .slice.syntax:.<code>ptr[<span.c
2ea40 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 30 3c 2f 73 70 61 6e 3e 2e 2e 3c 73 70 61 lass="tok-number">0</span>..<spa
2ea60 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 2f n.class="tok-number">1</span>]</
2ea80 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 75 70 code></li>...............<li>Sup
2eaa0 70 6f 72 74 73 20 70 6f 69 6e 74 65 72 20 73 75 62 74 72 61 63 74 69 6f 6e 3a 20 3c 63 6f 64 65 ports.pointer.subtraction:.<code
2eac0 3e 70 74 72 20 2d 20 70 74 72 3c 2f 63 6f 64 65 3e 3c 2f 6c 69 3e 0a 20 20 20 20 20 20 20 20 20 >ptr.-.ptr</code></li>..........
2eae0 20 20 20 3c 2f 75 6c 3e 0a 20 20 20 20 20 20 20 20 20 20 3c 2f 6c 69 3e 0a 20 20 20 20 20 20 20 ...</ul>...........</li>........
2eb00 20 20 20 3c 6c 69 3e 3c 63 6f 64 65 3e 5b 2a 5d 54 3c 2f 63 6f 64 65 3e 20 2d 20 6d 61 6e 79 2d ...<li><code>[*]T</code>.-.many-
2eb20 69 74 65 6d 20 70 6f 69 6e 74 65 72 20 74 6f 20 75 6e 6b 6e 6f 77 6e 20 6e 75 6d 62 65 72 20 6f item.pointer.to.unknown.number.o
2eb40 66 20 69 74 65 6d 73 2e 0a 20 20 20 20 20 20 20 20 20 20 20 20 3c 75 6c 3e 0a 20 20 20 20 20 20 f.items..............<ul>.......
2eb60 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 61 ........<li>Supports.index.synta
2eb80 78 3a 20 3c 63 6f 64 65 3e 70 74 72 5b 69 5d 3c 2f 63 6f 64 65 3e 3c 2f 6c 69 3e 0a 20 20 20 20 x:.<code>ptr[i]</code></li>.....
2eba0 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 73 79 6e ..........<li>Supports.slice.syn
2ebc0 74 61 78 3a 20 3c 63 6f 64 65 3e 70 74 72 5b 73 74 61 72 74 2e 2e 65 6e 64 5d 3c 2f 63 6f 64 65 tax:.<code>ptr[start..end]</code
2ebe0 3e 20 61 6e 64 20 3c 63 6f 64 65 3e 70 74 72 5b 73 74 61 72 74 2e 2e 5d 3c 2f 63 6f 64 65 3e 3c >.and.<code>ptr[start..]</code><
2ec00 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 74 73 20 /li>...............<li>Supports.
2ec20 70 6f 69 6e 74 65 72 2d 69 6e 74 65 67 65 72 20 61 72 69 74 68 6d 65 74 69 63 3a 20 3c 63 6f 64 pointer-integer.arithmetic:.<cod
2ec40 65 3e 70 74 72 20 2b 20 69 6e 74 3c 2f 63 6f 64 65 3e 2c 20 3c 63 6f 64 65 3e 70 74 72 20 2d 20 e>ptr.+.int</code>,.<code>ptr.-.
2ec60 69 6e 74 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 int</code></li>...............<l
2ec80 69 3e 53 75 70 70 6f 72 74 73 20 70 6f 69 6e 74 65 72 20 73 75 62 74 72 61 63 74 69 6f 6e 3a 20 i>Supports.pointer.subtraction:.
2eca0 3c 63 6f 64 65 3e 70 74 72 20 2d 20 70 74 72 3c 2f 63 6f 64 65 3e 3c 2f 6c 69 3e 0a 20 20 20 20 <code>ptr.-.ptr</code></li>.....
2ecc0 20 20 20 20 20 20 20 20 3c 2f 75 6c 3e 0a 20 20 20 20 20 20 20 20 20 20 20 20 3c 63 6f 64 65 3e ........</ul>.............<code>
2ece0 54 3c 2f 63 6f 64 65 3e 20 6d 75 73 74 20 68 61 76 65 20 61 20 6b 6e 6f 77 6e 20 73 69 7a 65 2c T</code>.must.have.a.known.size,
2ed00 20 77 68 69 63 68 20 6d 65 61 6e 73 20 74 68 61 74 20 69 74 20 63 61 6e 6e 6f 74 20 62 65 0a 20 .which.means.that.it.cannot.be..
2ed20 20 20 20 20 20 20 20 20 20 20 20 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f ...........<code><span.class="to
2ed40 6b 2d 74 79 70 65 22 3e 61 6e 79 6f 70 61 71 75 65 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 20 k-type">anyopaque</span></code>.
2ed60 6f 72 20 61 6e 79 20 6f 74 68 65 72 20 3c 61 20 68 72 65 66 3d 22 23 6f 70 61 71 75 65 22 3e 6f or.any.other.<a.href="#opaque">o
2ed80 70 61 71 75 65 20 74 79 70 65 3c 2f 61 3e 2e 0a 20 20 20 20 20 20 20 20 20 20 3c 2f 6c 69 3e 0a paque.type</a>............</li>.
2eda0 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 79 70 65 73 ......</ul>.......<p>These.types
2edc0 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 72 65 66 3d .are.closely.related.to.<a.href=
2ede0 22 23 41 72 72 61 79 73 22 3e 41 72 72 61 79 73 3c 2f 61 3e 20 61 6e 64 20 3c 61 20 68 72 65 66 "#Arrays">Arrays</a>.and.<a.href
2ee00 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 20 20 20 20 ="#Slices">Slices</a>:</p>......
2ee20 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 65 3e 2a 5b ...<ul>.............<li><code>*[
2ee40 4e 5d 54 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 N]T</code>.-.pointer.to.N.items,
2ee60 20 73 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 .same.as.single-item.pointer.to.
2ee80 61 6e 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 an.array..............<ul>......
2eea0 20 20 20 20 20 20 20 20 20 20 20 3c 6c 69 3e 53 75 70 70 6f 72 74 73 20 69 6e 64 65 78 20 73 79 ...........<li>Supports.index.sy
2eec0 6e 74 61 78 3a 20 3c 63 6f 64 65 3e 61 72 72 61 79 5f 70 74 72 5b 69 5d 3c 2f 63 6f 64 65 3e 3c ntax:.<code>array_ptr[i]</code><
2eee0 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 74 /li>.................<li>Support
2ef00 73 20 73 6c 69 63 65 20 73 79 6e 74 61 78 3a 20 3c 63 6f 64 65 3e 61 72 72 61 79 5f 70 74 72 5b s.slice.syntax:.<code>array_ptr[
2ef20 73 74 61 72 74 2e 2e 65 6e 64 5d 3c 2f 63 6f 64 65 3e 3c 2f 6c 69 3e 0a 20 20 20 20 20 20 20 20 start..end]</code></li>.........
2ef40 20 20 20 20 20 20 20 20 3c 6c 69 3e 53 75 70 70 6f 72 74 73 20 6c 65 6e 20 70 72 6f 70 65 72 74 ........<li>Supports.len.propert
2ef60 79 3a 20 3c 63 6f 64 65 3e 61 72 72 61 79 5f 70 74 72 2e 6c 65 6e 3c 2f 63 6f 64 65 3e 3c 2f 6c y:.<code>array_ptr.len</code></l
2ef80 69 3e 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 3c 6c 69 3e 53 75 70 70 6f 72 74 73 20 i>.................<li>Supports.
2efa0 70 6f 69 6e 74 65 72 20 73 75 62 74 72 61 63 74 69 6f 6e 3a 20 3c 63 6f 64 65 3e 61 72 72 61 79 pointer.subtraction:.<code>array
2efc0 5f 70 74 72 20 2d 20 61 72 72 61 79 5f 70 74 72 3c 2f 63 6f 64 65 3e 3c 2f 6c 69 3e 0a 20 20 20 _ptr.-.array_ptr</code></li>....
2efe0 20 20 20 20 20 20 20 20 20 3c 2f 75 6c 3e 0a 20 20 20 20 20 20 20 20 20 20 20 20 3c 2f 6c 69 3e .........</ul>.............</li>
2f000 0a 20 20 20 20 20 20 20 20 3c 2f 75 6c 3e 0a 20 20 20 20 20 20 20 20 3c 75 6c 3e 0a 20 20 20 20 .........</ul>.........<ul>.....
2f020 20 20 20 20 20 20 20 20 3c 6c 69 3e 3c 63 6f 64 65 3e 5b 5d 54 3c 2f 63 6f 64 65 3e 20 2d 20 69 ........<li><code>[]T</code>.-.i
2f040 73 20 61 20 73 6c 69 63 65 20 28 61 20 66 61 74 20 70 6f 69 6e 74 65 72 2c 20 77 68 69 63 68 20 s.a.slice.(a.fat.pointer,.which.
2f060 63 6f 6e 74 61 69 6e 73 20 61 20 70 6f 69 6e 74 65 72 20 6f 66 20 74 79 70 65 20 3c 63 6f 64 65 contains.a.pointer.of.type.<code
2f080 3e 5b 2a 5d 54 3c 2f 63 6f 64 65 3e 20 61 6e 64 20 61 20 6c 65 6e 67 74 68 29 2e 0a 20 20 20 20 >[*]T</code>.and.a.length)......
2f0a0 20 20 20 20 20 20 20 20 3c 75 6c 3e 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 3c 6c 69 ........<ul>.................<li
2f0c0 3e 53 75 70 70 6f 72 74 73 20 69 6e 64 65 78 20 73 79 6e 74 61 78 3a 20 3c 63 6f 64 65 3e 73 6c >Supports.index.syntax:.<code>sl
2f0e0 69 63 65 5b 69 5d 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 ice[i]</code></li>..............
2f100 20 20 20 3c 6c 69 3e 53 75 70 70 6f 72 74 73 20 73 6c 69 63 65 20 73 79 6e 74 61 78 3a 20 3c 63 ...<li>Supports.slice.syntax:.<c
2f120 6f 64 65 3e 73 6c 69 63 65 5b 73 74 61 72 74 2e 2e 65 6e 64 5d 3c 2f 63 6f 64 65 3e 3c 2f 6c 69 ode>slice[start..end]</code></li
2f140 3e 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 3c 6c 69 3e 53 75 70 70 6f 72 74 73 20 6c >.................<li>Supports.l
2f160 65 6e 20 70 72 6f 70 65 72 74 79 3a 20 3c 63 6f 64 65 3e 73 6c 69 63 65 2e 6c 65 6e 3c 2f 63 6f en.property:.<code>slice.len</co
2f180 64 65 3e 3c 2f 6c 69 3e 0a 20 20 20 20 20 20 20 20 20 20 20 20 3c 2f 75 6c 3e 0a 20 20 20 20 20 de></li>.............</ul>......
2f1a0 20 20 20 20 20 20 20 3c 2f 6c 69 3e 0a 20 20 20 20 20 20 20 20 3c 2f 75 6c 3e 0a 20 20 20 20 20 .......</li>.........</ul>......
2f1c0 20 20 20 3c 70 3e 55 73 65 20 3c 63 6f 64 65 3e 26 61 6d 70 3b 78 3c 2f 63 6f 64 65 3e 20 74 6f ...<p>Use.<code>&amp;x</code>.to
2f1e0 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 2f .obtain.a.single-item.pointer:</
2f200 70 3e 0a 20 20 20 20 20 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
2f220 73 73 3d 22 7a 69 67 2d 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">
2f240 74 65 73 74 5f 73 69 6e 67 6c 65 5f 69 74 65 6d 5f 70 6f 69 6e 74 65 72 2e 7a 69 67 3c 2f 63 69 test_single_item_pointer.zig</ci
2f260 74 65 3e 3c 2f 66 69 67 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
2f280 20 63 6c 61 73 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
2f2a0 65 63 74 45 71 75 61 6c 20 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 62 75 69 6c ectEqual.=.<span.class="tok-buil
2f2c0 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=
2f2e0 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>
2f300 29 2e 74 65 73 74 69 6e 67 2e 65 78 70 65 63 74 45 71 75 61 6c 3b 0a 0a 3c 73 70 61 6e 20 63 6c ).testing.expectEqual;..<span.cl
2f320 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
2f340 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.
2f360 73 79 6e 74 61 78 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 20 7b 0a 20 20 20 20 3c 73 70 61 6e 20 syntax&quot;</span>.{.....<span.
2f380 63 6c 61 73 73 3d 22 74 6f 6b 2d 63 6f 6d 6d 65 6e 74 22 3e 2f 2f 20 47 65 74 20 74 68 65 20 61 class="tok-comment">//.Get.the.a
2f3a0 64 64 72 65 73 73 20 6f 66 20 61 20 76 61 72 69 61 62 6c 65 3a 3c 2f 73 70 61 6e 3e 0a 20 20 20 ddress.of.a.variable:</span>....
2f3c0 20 3c 73 70 61 6e 20 63 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
2f3e0 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
2f400 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
2f420 72 22 3e 31 32 33 34 3c 2f 73 70 61 6e 3e 3b 0a 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d r">1234</span>;.....<span.class=
2f440 22 74 6f 6b 2d 6b 77 22 3e 63 6f 6e 73 74 3c 2f 73 70 61 6e 3e 20 78 5f 70 74 72 20 3d 20 26 61 "tok-kw">const</span>.x_ptr.=.&a
2f460 6d 70 3b 78 3b 0a 0a 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 63 6f 6d 6d mp;x;......<span.class="tok-comm
2f480 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 3c 2f ent">//.Dereference.a.pointer:</
2f4a0 73 70 61 6e 3e 0a 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 74 span>.....<span.class="tok-kw">t
2f4c0 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 73 ry</span>.expectEqual(<span.clas
2f4e0 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 20 78 5f 70 74 s="tok-number">1234</span>,.x_pt
2f500 72 2e 2a 29 3b 0a 0a 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 63 6f 6d 6d r.*);......<span.class="tok-comm
2f520 65 6e 74 22 3e 2f 2f 20 57 68 65 6e 20 79 6f 75 20 67 65 74 20 74 68 65 20 61 64 64 72 65 73 73 ent">//.When.you.get.the.address
2f540 20 6f 66 20 61 20 63 6f 6e 73 74 20 76 61 72 69 61 62 6c 65 2c 20 79 6f 75 20 67 65 74 20 61 20 .of.a.const.variable,.you.get.a.
2f560 63 6f 6e 73 74 20 73 69 6e 67 6c 65 2d 69 74 65 6d 20 70 6f 69 6e 74 65 72 2e 3c 2f 73 70 61 6e const.single-item.pointer.</span
2f580 3e 0a 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 74 72 79 3c 2f >.....<span.class="tok-kw">try</
2f5a0 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="
2f5c0 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
2f5e0 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 69 33 32 3c 2f 73 70 61 6e 3e 2c 20 3c 73 70 61 6e 20 63 6c ="tok-type">i32</span>,.<span.cl
2f600 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>
2f620 28 78 5f 70 74 72 29 29 3b 0a 0a 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d (x_ptr));......<span.class="tok-
2f640 63 6f 6d 6d 65 6e 74 22 3e 2f 2f 20 49 66 20 79 6f 75 20 77 61 6e 74 20 74 6f 20 6d 75 74 61 74 comment">//.If.you.want.to.mutat
2f660 65 20 74 68 65 20 76 61 6c 75 65 2c 20 79 6f 75 27 64 20 6e 65 65 64 20 61 6e 20 61 64 64 72 65 e.the.value,.you'd.need.an.addre
2f680 73 73 20 6f 66 20 61 20 6d 75 74 61 62 6c 65 20 76 61 72 69 61 62 6c 65 3a 3c 2f 73 70 61 6e 3e ss.of.a.mutable.variable:</span>
2f6a0 0a 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 76 61 72 3c 2f 73 .....<span.class="tok-kw">var</s
2f6c0 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
2f6e0 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
2f700 62 65 72 22 3e 35 36 37 38 3c 2f 73 70 61 6e 3e 3b 0a 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 ber">5678</span>;.....<span.clas
2f720 73 3d 22 74 6f 6b 2d 6b 77 22 3e 63 6f 6e 73 74 3c 2f 73 70 61 6e 3e 20 79 5f 70 74 72 20 3d 20 s="tok-kw">const</span>.y_ptr.=.
2f740 26 61 6d 70 3b 79 3b 0a 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 &amp;y;.....<span.class="tok-kw"
2f760 3e 74 72 79 3c 2f 73 70 61 6e 3e 20 65 78 70 65 63 74 45 71 75 61 6c 28 2a 3c 73 70 61 6e 20 63 >try</span>.expectEqual(*<span.c
2f780 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
2f7a0 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
2f7c0 70 61 6e 3e 28 79 5f 70 74 72 29 29 3b 0a 20 20 20 20 79 5f 70 74 72 2e 2a 20 2b 3d 20 3c 73 70 pan>(y_ptr));.....y_ptr.*.+=.<sp
2f7e0 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 31 3c 2f 73 70 61 6e 3e 3b 0a an.class="tok-number">1</span>;.
2f800 20 20 20 20 3c 73 70 61 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
2f820 61 6e 3e 20 65 78 70 65 63 74 45 71 75 61 6c 28 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b an>.expectEqual(<span.class="tok
2f840 2d 6e 75 6d 62 65 72 22 3e 35 36 37 39 3c 2f 73 70 61 6e 3e 2c 20 79 5f 70 74 72 2e 2a 29 3b 0a -number">5679</span>,.y_ptr.*);.
2f860 7d 0a 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 74 65 73 74 3c 2f 73 70 }..<span.class="tok-kw">test</sp
2f880 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;
2f8a0 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 61 6e pointer.array.access&quot;</span
2f8c0 3e 20 7b 0a 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 63 6f 6d 6d 65 6e 74 >.{.....<span.class="tok-comment
2f8e0 22 3e 2f 2f 20 54 61 6b 69 6e 67 20 61 6e 20 61 64 64 72 65 73 73 20 6f 66 20 61 6e 20 69 6e 64 ">//.Taking.an.address.of.an.ind
2f900 69 76 69 64 75 61 6c 20 65 6c 65 6d 65 6e 74 20 67 69 76 65 73 20 61 3c 2f 73 70 61 6e 3e 0a 20 ividual.element.gives.a</span>..
2f920 20 20 20 3c 73 70 61 6e 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">//.
2f940 73 69 6e 67 6c 65 2d 69 74 65 6d 20 70 6f 69 6e 74 65 72 2e 20 54 68 69 73 20 6b 69 6e 64 20 6f single-item.pointer..This.kind.o
2f960 66 20 70 6f 69 6e 74 65 72 3c 2f 73 70 61 6e 3e 0a 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 f.pointer</span>.....<span.class
2f980 3d 22 74 6f 6b 2d 63 6f 6d 6d 65 6e 74 22 3e 2f 2f 20 64 6f 65 73 20 6e 6f 74 20 73 75 70 70 6f ="tok-comment">//.does.not.suppo
2f9a0 72 74 20 70 6f 69 6e 74 65 72 20 61 72 69 74 68 6d 65 74 69 63 2e 3c 2f 73 70 61 6e 3e 0a 20 20 rt.pointer.arithmetic.</span>...
2f9c0 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
2f9e0 3e 20 61 72 72 61 79 20 3d 20 5b 5f 5d 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 >.array.=.[_]<span.class="tok-ty
2fa00 70 65 22 3e 75 38 3c 2f 73 70 61 6e 3e 7b 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d pe">u8</span>{.<span.class="tok-
2fa20 6e 75 6d 62 65 72 22 3e 31 3c 2f 73 70 61 6e 3e 2c 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 number">1</span>,.<span.class="t
2fa40 6f 6b 2d 6e 75 6d 62 65 72 22 3e 32 3c 2f 73 70 61 6e 3e 2c 20 3c 73 70 61 6e 20 63 6c 61 73 73 ok-number">2</span>,.<span.class
2fa60 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 33 3c 2f 73 70 61 6e 3e 2c 20 3c 73 70 61 6e 20 63 6c ="tok-number">3</span>,.<span.cl
2fa80 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 34 3c 2f 73 70 61 6e 3e 2c 20 3c 73 70 61 6e ass="tok-number">4</span>,.<span
2faa0 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
2fac0 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 36 3c 2f 73 70 61 6e 3e 2c pan.class="tok-number">6</span>,
2fae0 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 37 3c 2f 73 70 61 .<span.class="tok-number">7</spa
2fb00 6e 3e 2c 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 38 3c 2f n>,.<span.class="tok-number">8</
2fb20 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">
2fb40 39 3c 2f 73 70 61 6e 3e 2c 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 9</span>,.<span.class="tok-numbe
2fb60 72 22 3e 31 30 3c 2f 73 70 61 6e 3e 20 7d 3b 0a 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d r">10</span>.};.....<span.class=
2fb80 22 74 6f 6b 2d 6b 77 22 3e 63 6f 6e 73 74 3c 2f 73 70 61 6e 3e 20 70 74 72 20 3d 20 26 61 6d 70 "tok-kw">const</span>.ptr.=.&amp
2fba0 3b 61 72 72 61 79 5b 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e ;array[<span.class="tok-number">
2fbc0 32 3c 2f 73 70 61 6e 3e 5d 3b 0a 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 2</span>];.....<span.class="tok-
2fbe0 6b 77 22 3e 74 72 79 3c 2f 73 70 61 6e 3e 20 65 78 70 65 63 74 45 71 75 61 6c 28 2a 3c 73 70 61 kw">try</span>.expectEqual(*<spa
2fc00 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
2fc20 70 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<
2fc40 2f 73 70 61 6e 3e 28 70 74 72 29 29 3b 0a 0a 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 /span>(ptr));......<span.class="
2fc60 74 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(<
2fc80 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>
2fca0 2c 20 61 72 72 61 79 5b 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 ,.array[<span.class="tok-number"
2fcc0 3e 32 3c 2f 73 70 61 6e 3e 5d 29 3b 0a 20 20 20 20 70 74 72 2e 2a 20 2b 3d 20 3c 73 70 61 6e 20 >2</span>]);.....ptr.*.+=.<span.
2fce0 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 31 3c 2f 73 70 61 6e 3e 3b 0a 20 20 20 class="tok-number">1</span>;....
2fd00 20 3c 73 70 61 6e 20 63 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>
2fd20 20 65 78 70 65 63 74 45 71 75 61 6c 28 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 .expectEqual(<span.class="tok-nu
2fd40 6d 62 65 72 22 3e 34 3c 2f 73 70 61 6e 3e 2c 20 61 72 72 61 79 5b 3c 73 70 61 6e 20 63 6c 61 73 mber">4</span>,.array[<span.clas
2fd60 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 32 3c 2f 73 70 61 6e 3e 5d 29 3b 0a 7d 0a 0a 3c 73 s="tok-number">2</span>]);.}..<s
2fd80 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>.<
2fda0 73 70 61 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
2fdc0 20 73 79 6e 74 61 78 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 20 7b 0a 20 20 20 20 3c 73 70 61 6e .syntax&quot;</span>.{.....<span
2fde0 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 63 6f 6d 6d 65 6e 74 22 3e 2f 2f 20 47 65 74 20 61 20 70 6f .class="tok-comment">//.Get.a.po
2fe00 69 6e 74 65 72 20 74 6f 20 61 20 76 61 72 69 61 62 6c 65 3a 3c 2f 73 70 61 6e 3e 0a 20 20 20 20 inter.to.a.variable:</span>.....
2fe20 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>.
2fe40 78 3a 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 69 33 32 3c 2f 73 x:.<span.class="tok-type">i32</s
2fe60 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">
2fe80 31 32 33 34 3c 2f 73 70 61 6e 3e 3b 0a 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 1234</span>;.....<span.class="to
2fea0 6b 2d 6b 77 22 3e 63 6f 6e 73 74 3c 2f 73 70 61 6e 3e 20 78 5f 70 74 72 20 3d 20 26 61 6d 70 3b k-kw">const</span>.x_ptr.=.&amp;
2fec0 78 3b 0a 0a 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 63 6f 6d 6d 65 6e 74 x;......<span.class="tok-comment
2fee0 22 3e 2f 2f 20 43 6f 6e 76 65 72 74 20 74 6f 20 61 72 72 61 79 20 70 6f 69 6e 74 65 72 20 75 73 ">//.Convert.to.array.pointer.us
2ff00 69 6e 67 20 73 6c 69 63 65 20 73 79 6e 74 61 78 3a 3c 2f 73 70 61 6e 3e 0a 20 20 20 20 3c 73 70 ing.slice.syntax:</span>.....<sp
2ff20 61 6e 20 63 6c 61 73 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
2ff40 5f 61 72 72 61 79 5f 70 74 72 20 3d 20 78 5f 70 74 72 5b 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 _array_ptr.=.x_ptr[<span.class="
2ff60 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 30 3c 2f 73 70 61 6e 3e 2e 2e 3c 73 70 61 6e 20 63 6c 61 73 tok-number">0</span>..<span.clas
2ff80 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 31 3c 2f 73 70 61 6e 3e 5d 3b 0a 20 20 20 20 3c 73 s="tok-number">1</span>];.....<s
2ffa0 70 61 6e 20 63 6c 61 73 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
2ffc0 70 65 63 74 45 71 75 61 6c 28 2a 5b 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d pectEqual(*[<span.class="tok-num
2ffe0 62 65 72 22 3e 31 3c 2f 73 70 61 6e 3e 5d 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 ber">1</span>]<span.class="tok-t
30000 79 70 65 22 3e 69 33 32 3c 2f 73 70 61 6e 3e 2c 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f ype">i32</span>,.<span.class="to
30020 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 61 72 72 61 k-builtin">@TypeOf</span>(x_arra
30040 79 5f 70 74 72 29 29 3b 0a 0a 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 63 y_ptr));......<span.class="tok-c
30060 6f 6d 6d 65 6e 74 22 3e 2f 2f 20 43 6f 65 72 63 65 20 74 6f 20 6d 61 6e 79 2d 69 74 65 6d 20 70 omment">//.Coerce.to.many-item.p
30080 6f 69 6e 74 65 72 3a 3c 2f 73 70 61 6e 3e 0a 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 ointer:</span>.....<span.class="
300a0 74 6f 6b 2d 6b 77 22 3e 63 6f 6e 73 74 3c 2f 73 70 61 6e 3e 20 78 5f 6d 61 6e 79 5f 70 74 72 3a tok-kw">const</span>.x_many_ptr:
300c0 20 5b 2a 5d 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 69 33 32 3c 2f .[*]<span.class="tok-type">i32</
300e0 73 70 61 6e 3e 20 3d 20 78 5f 61 72 72 61 79 5f 70 74 72 3b 0a 20 20 20 20 3c 73 70 61 6e 20 63 span>.=.x_array_ptr;.....<span.c
30100 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 74 72 79 3c 2f 73 70 61 6e 3e 20 65 78 70 65 63 74 45 lass="tok-kw">try</span>.expectE
30120 71 75 61 6c 28 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 31 32 qual(<span.class="tok-number">12
30140 33 34 3c 2f 73 70 61 6e 3e 2c 20 78 5f 6d 61 6e 79 5f 70 74 72 5b 3c 73 70 61 6e 20 63 6c 61 73 34</span>,.x_many_ptr[<span.clas
30160 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 0a 7d 3c 2f 63 6f s="tok-number">0</span>]);.}</co
30180 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
301a0 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
301c0 69 67 63 61 70 74 69 6f 6e 3e 3c 70 72 65 3e 3c 73 61 6d 70 3e 24 20 3c 6b 62 64 3e 7a 69 67 20 igcaption><pre><samp>$.<kbd>zig.
301e0 74 65 73 74 20 74 65 73 74 5f 73 69 6e 67 6c 65 5f 69 74 65 6d 5f 70 6f 69 6e 74 65 72 2e 7a 69 test.test_single_item_pointer.zi
30200 67 3c 2f 6b 62 64 3e 0a 31 2f 33 20 74 65 73 74 5f 73 69 6e 67 6c 65 5f 69 74 65 6d 5f 70 6f 69 g</kbd>.1/3.test_single_item_poi
30220 6e 74 65 72 2e 74 65 73 74 2e 61 64 64 72 65 73 73 20 6f 66 20 73 79 6e 74 61 78 2e 2e 2e 4f 4b nter.test.address.of.syntax...OK
30240 0a 32 2f 33 20 74 65 73 74 5f 73 69 6e 67 6c 65 5f 69 74 65 6d 5f 70 6f 69 6e 74 65 72 2e 74 65 .2/3.test_single_item_pointer.te
30260 73 74 2e 70 6f 69 6e 74 65 72 20 61 72 72 61 79 20 61 63 63 65 73 73 2e 2e 2e 4f 4b 0a 33 2f 33 st.pointer.array.access...OK.3/3
30280 20 74 65 73 74 5f 73 69 6e 67 6c 65 5f 69 74 65 6d 5f 70 6f 69 6e 74 65 72 2e 74 65 73 74 2e 73 .test_single_item_pointer.test.s
302a0 6c 69 63 65 20 73 79 6e 74 61 78 2e 2e 2e 4f 4b 0a 41 6c 6c 20 33 20 74 65 73 74 73 20 70 61 73 lice.syntax...OK.All.3.tests.pas
302c0 73 65 64 2e 0a 3c 2f 73 61 6d 70 3e 3c 2f 70 72 65 3e 3c 2f 66 69 67 75 72 65 3e 0a 0a 20 20 20 sed..</samp></pre></figure>.....
302e0 20 20 20 3c 70 3e 0a 20 20 20 20 20 20 20 5a 69 67 20 73 75 70 70 6f 72 74 73 20 70 6f 69 6e 74 ...<p>........Zig.supports.point
30300 65 72 20 61 72 69 74 68 6d 65 74 69 63 2e 20 49 74 27 73 20 62 65 74 74 65 72 20 74 6f 20 61 73 er.arithmetic..It's.better.to.as
30320 73 69 67 6e 20 74 68 65 20 70 6f 69 6e 74 65 72 20 74 6f 20 3c 63 6f 64 65 3e 5b 2a 5d 54 3c 2f sign.the.pointer.to.<code>[*]T</
30340 63 6f 64 65 3e 20 61 6e 64 20 69 6e 63 72 65 6d 65 6e 74 20 74 68 61 74 20 76 61 72 69 61 62 6c code>.and.increment.that.variabl
30360 65 2e 20 46 6f 72 20 65 78 61 6d 70 6c 65 2c 20 64 69 72 65 63 74 6c 79 20 69 6e 63 72 65 6d 65 e..For.example,.directly.increme
30380 6e 74 69 6e 67 20 74 68 65 20 70 6f 69 6e 74 65 72 20 66 72 6f 6d 20 61 20 73 6c 69 63 65 20 77 nting.the.pointer.from.a.slice.w
303a0 69 6c 6c 20 63 6f 72 72 75 70 74 20 69 74 2e 0a 20 20 20 20 20 20 3c 2f 70 3e 0a 20 20 20 20 20 ill.corrupt.it........</p>......
303c0 20 3c 66 69 67 75 72 65 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-
303e0 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 70 6f 69 cap"><cite.class="file">test_poi
30400 6e 74 65 72 5f 61 72 69 74 68 6d 65 74 69 63 2e 7a 69 67 3c 2f 63 69 74 65 3e 3c 2f 66 69 67 63 nter_arithmetic.zig</cite></figc
30420 61 70 74 69 6f 6e 3e 3c 70 72 65 3e 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 aption><pre><code><span.class="t
30440 6f 6b 2d 6b 77 22 3e 63 6f 6e 73 74 3c 2f 73 70 61 6e 3e 20 65 78 70 65 63 74 45 71 75 61 6c 20 ok-kw">const</span>.expectEqual.
30460 3d 20 3c 73 70 61 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
30480 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"
304a0 3e 26 71 75 6f 74 3b 73 74 64 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 29 2e 74 65 73 74 69 6e 67 >&quot;std&quot;</span>).testing
304c0 2e 65 78 70 65 63 74 45 71 75 61 6c 3b 0a 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d .expectEqual;..<span.class="tok-
304e0 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
30500 2d 73 74 72 22 3e 26 71 75 6f 74 3b 70 6f 69 6e 74 65 72 20 61 72 69 74 68 6d 65 74 69 63 20 77 -str">&quot;pointer.arithmetic.w
30520 69 74 68 20 6d 61 6e 79 2d 69 74 65 6d 20 70 6f 69 6e 74 65 72 26 71 75 6f 74 3b 3c 2f 73 70 61 ith.many-item.pointer&quot;</spa
30540 6e 3e 20 7b 0a 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 63 6f n>.{.....<span.class="tok-kw">co
30560 6e 73 74 3c 2f 73 70 61 6e 3e 20 61 72 72 61 79 20 3d 20 5b 5f 5d 3c 73 70 61 6e 20 63 6c 61 73 nst</span>.array.=.[_]<span.clas
30580 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
305a0 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
305c0 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>,.<
305e0 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>
30600 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
30620 61 6e 3e 20 7d 3b 0a 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e an>.};.....<span.class="tok-kw">
30640 76 61 72 3c 2f 73 70 61 6e 3e 20 70 74 72 3a 20 5b 2a 5d 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 var</span>.ptr:.[*]<span.class="
30660 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
30680 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 69 33 32 3c 2f 73 70 61 6e 3e 20 3d 20 26 61 6d 70 3b 61 72 ="tok-type">i32</span>.=.&amp;ar
306a0 72 61 79 3b 0a 0a 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 74 ray;......<span.class="tok-kw">t
306c0 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 73 ry</span>.expectEqual(<span.clas
306e0 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 70 74 72 5b 3c 73 70 s="tok-number">1</span>,.ptr[<sp
30700 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 30 3c 2f 73 70 61 6e 3e 5d 29 an.class="tok-number">0</span>])
30720 3b 0a 20 20 20 20 70 74 72 20 2b 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 ;.....ptr.+=.<span.class="tok-nu
30740 6d 62 65 72 22 3e 31 3c 2f 73 70 61 6e 3e 3b 0a 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d mber">1</span>;.....<span.class=
30760 22 74 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 "tok-kw">try</span>.expectEqual(
30780 3c 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
307a0 3e 2c 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 >,.ptr[<span.class="tok-number">
307c0 30 3c 2f 73 70 61 6e 3e 5d 29 3b 0a 0a 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 0</span>]);......<span.class="to
307e0 6b 2d 63 6f 6d 6d 65 6e 74 22 3e 2f 2f 20 73 6c 69 63 69 6e 67 20 61 20 6d 61 6e 79 2d 69 74 65 k-comment">//.slicing.a.many-ite
30800 6d 20 70 6f 69 6e 74 65 72 20 77 69 74 68 6f 75 74 20 61 6e 20 65 6e 64 20 69 73 20 65 71 75 69 m.pointer.without.an.end.is.equi
30820 76 61 6c 65 6e 74 20 74 6f 3c 2f 73 70 61 6e 3e 0a 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 valent.to</span>.....<span.class
30840 3d 22 74 6f 6b 2d 63 6f 6d 6d 65 6e 74 22 3e 2f 2f 20 70 6f 69 6e 74 65 72 20 61 72 69 74 68 6d ="tok-comment">//.pointer.arithm
30860 65 74 69 63 3a 20 60 70 74 72 5b 73 74 61 72 74 2e 2e 5d 20 3d 3d 20 70 74 72 20 2b 20 73 74 61 etic:.`ptr[start..].==.ptr.+.sta
30880 72 74 60 3c 2f 73 70 61 6e 3e 0a 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d rt`</span>.....<span.class="tok-
308a0 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 70 74 72 5b 3c kw">try</span>.expectEqual(ptr[<
308c0 73 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>
308e0 2e 2e 5d 2c 20 70 74 72 20 2b 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 ..],.ptr.+.<span.class="tok-numb
30900 65 72 22 3e 31 3c 2f 73 70 61 6e 3e 29 3b 0a 0a 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d er">1</span>);......<span.class=
30920 22 74 6f 6b 2d 63 6f 6d 6d 65 6e 74 22 3e 2f 2f 20 73 75 62 74 72 61 63 74 69 6f 6e 20 62 65 74 "tok-comment">//.subtraction.bet
30940 77 65 65 6e 20 61 6e 79 20 74 77 6f 20 70 6f 69 6e 74 65 72 73 20 65 78 63 65 70 74 20 73 6c 69 ween.any.two.pointers.except.sli
30960 63 65 73 20 62 61 73 65 64 20 6f 6e 20 65 6c 65 6d 65 6e 74 20 73 69 7a 65 20 69 73 20 73 75 70 ces.based.on.element.size.is.sup
30980 70 6f 72 74 65 64 3c 2f 73 70 61 6e 3e 0a 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 ported</span>.....<span.class="t
309a0 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 73 ok-kw">try</span>.expectEqual(<s
309c0 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>,
309e0 20 26 61 6d 70 3b 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 .&amp;ptr[<span.class="tok-numbe
30a00 72 22 3e 31 3c 2f 73 70 61 6e 3e 5d 20 2d 20 26 61 6d 70 3b 70 74 72 5b 3c 73 70 61 6e 20 63 6c r">1</span>].-.&amp;ptr[<span.cl
30a20 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 0a 7d 0a 0a ass="tok-number">0</span>]);.}..
30a40 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>
30a60 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 73 74 72 22 3e 26 71 75 6f 74 3b 70 6f 69 .<span.class="tok-str">&quot;poi
30a80 6e 74 65 72 20 61 72 69 74 68 6d 65 74 69 63 20 77 69 74 68 20 73 6c 69 63 65 73 26 71 75 6f 74 nter.arithmetic.with.slices&quot
30aa0 3b 3c 2f 73 70 61 6e 3e 20 7b 0a 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d ;</span>.{.....<span.class="tok-
30ac0 6b 77 22 3e 76 61 72 3c 2f 73 70 61 6e 3e 20 61 72 72 61 79 20 3d 20 5b 5f 5d 3c 73 70 61 6e 20 kw">var</span>.array.=.[_]<span.
30ae0 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 70 class="tok-type">i32</span>{.<sp
30b00 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 31 3c 2f 73 70 61 6e 3e 2c 20 an.class="tok-number">1</span>,.
30b20 3c 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
30b40 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 73 >,.<span.class="tok-number">3</s
30b60 70 61 6e 3e 2c 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 34 pan>,.<span.class="tok-number">4
30b80 3c 2f 73 70 61 6e 3e 20 7d 3b 0a 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d </span>.};.....<span.class="tok-
30ba0 6b 77 22 3e 76 61 72 3c 2f 73 70 61 6e 3e 20 6c 65 6e 67 74 68 3a 20 3c 73 70 61 6e 20 63 6c 61 kw">var</span>.length:.<span.cla
30bc0 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
30be0 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 20 an.class="tok-number">0</span>;.
30c00 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 63 6f 6d 6d 65 6e 74 22 3e 2f 2f 20 76 61 72 <span.class="tok-comment">//.var
30c20 20 74 6f 20 6d 61 6b 65 20 69 74 20 72 75 6e 74 69 6d 65 2d 6b 6e 6f 77 6e 3c 2f 73 70 61 6e 3e .to.make.it.runtime-known</span>
30c40 0a 20 20 20 20 5f 20 3d 20 26 61 6d 70 3b 6c 65 6e 67 74 68 3b 20 3c 73 70 61 6e 20 63 6c 61 73 ....._.=.&amp;length;.<span.clas
30c60 73 3d 22 74 6f 6b 2d 63 6f 6d 6d 65 6e 74 22 3e 2f 2f 20 73 75 70 70 72 65 73 73 20 27 76 61 72 s="tok-comment">//.suppress.'var
30c80 20 69 73 20 6e 65 76 65 72 20 6d 75 74 61 74 65 64 27 20 65 72 72 6f 72 3c 2f 73 70 61 6e 3e 0a .is.never.mutated'.error</span>.
30ca0 20 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
30cc0 61 6e 3e 20 73 6c 69 63 65 20 3d 20 61 72 72 61 79 5b 6c 65 6e 67 74 68 2e 2e 61 72 72 61 79 2e an>.slice.=.array[length..array.
30ce0 6c 65 6e 5d 3b 0a 0a 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e len];......<span.class="tok-kw">
30d00 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
30d20 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 73 6c 69 63 65 5b ss="tok-number">1</span>,.slice[
30d40 3c 73 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
30d60 3e 5d 29 3b 0a 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 74 72 >]);.....<span.class="tok-kw">tr
30d80 79 3c 2f 73 70 61 6e 3e 20 65 78 70 65 63 74 45 71 75 61 6c 28 3c 73 70 61 6e 20 63 6c 61 73 73 y</span>.expectEqual(<span.class
30da0 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 2e 6c 65 ="tok-number">4</span>,.slice.le
30dc0 6e 29 3b 0a 0a 20 20 20 20 73 6c 69 63 65 2e 70 74 72 20 2b 3d 20 3c 73 70 61 6e 20 63 6c 61 73 n);......slice.ptr.+=.<span.clas
30de0 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 31 3c 2f 73 70 61 6e 3e 3b 0a 20 20 20 20 3c 73 70 s="tok-number">1</span>;.....<sp
30e00 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 63 6f 6d 6d 65 6e 74 22 3e 2f 2f 20 6e 6f 77 20 74 68 an.class="tok-comment">//.now.th
30e20 65 20 73 6c 69 63 65 20 69 73 20 69 6e 20 61 6e 20 62 61 64 20 73 74 61 74 65 20 73 69 6e 63 65 e.slice.is.in.an.bad.state.since
30e40 20 6c 65 6e 20 68 61 73 20 6e 6f 74 20 62 65 65 6e 20 75 70 64 61 74 65 64 3c 2f 73 70 61 6e 3e .len.has.not.been.updated</span>
30e60 0a 0a 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 74 72 79 3c 2f ......<span.class="tok-kw">try</
30e80 73 70 61 6e 3e 20 65 78 70 65 63 74 45 71 75 61 6c 28 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 span>.expectEqual(<span.class="t
30ea0 6f 6b 2d 6e 75 6d 62 65 72 22 3e 32 3c 2f 73 70 61 6e 3e 2c 20 73 6c 69 63 65 5b 3c 73 70 61 6e ok-number">2</span>,.slice[<span
30ec0 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 0a .class="tok-number">0</span>]);.
30ee0 20 20 20 20 3c 73 70 61 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
30f00 61 6e 3e 20 65 78 70 65 63 74 45 71 75 61 6c 28 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b an>.expectEqual(<span.class="tok
30f20 2d 6e 75 6d 62 65 72 22 3e 34 3c 2f 73 70 61 6e 3e 2c 20 73 6c 69 63 65 2e 6c 65 6e 29 3b 0a 7d -number">4</span>,.slice.len);.}
30f40 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
30f60 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
30f80 6c 3c 2f 66 69 67 63 61 70 74 69 6f 6e 3e 3c 70 72 65 3e 3c 73 61 6d 70 3e 24 20 3c 6b 62 64 3e l</figcaption><pre><samp>$.<kbd>
30fa0 7a 69 67 20 74 65 73 74 20 74 65 73 74 5f 70 6f 69 6e 74 65 72 5f 61 72 69 74 68 6d 65 74 69 63 zig.test.test_pointer_arithmetic
30fc0 2e 7a 69 67 3c 2f 6b 62 64 3e 0a 31 2f 32 20 74 65 73 74 5f 70 6f 69 6e 74 65 72 5f 61 72 69 74 .zig</kbd>.1/2.test_pointer_arit
30fe0 68 6d 65 74 69 63 2e 74 65 73 74 2e 70 6f 69 6e 74 65 72 20 61 72 69 74 68 6d 65 74 69 63 20 77 hmetic.test.pointer.arithmetic.w
31000 69 74 68 20 6d 61 6e 79 2d 69 74 65 6d 20 70 6f 69 6e 74 65 72 2e 2e 2e 4f 4b 0a 32 2f 32 20 74 ith.many-item.pointer...OK.2/2.t
31020 65 73 74 5f 70 6f 69 6e 74 65 72 5f 61 72 69 74 68 6d 65 74 69 63 2e 74 65 73 74 2e 70 6f 69 6e est_pointer_arithmetic.test.poin
31040 74 65 72 20 61 72 69 74 68 6d 65 74 69 63 20 77 69 74 68 20 73 6c 69 63 65 73 2e 2e 2e 4f 4b 0a ter.arithmetic.with.slices...OK.
31060 41 6c 6c 20 32 20 74 65 73 74 73 20 70 61 73 73 65 64 2e 0a 3c 2f 73 61 6d 70 3e 3c 2f 70 72 65 All.2.tests.passed..</samp></pre
31080 3e 3c 2f 66 69 67 75 72 65 3e 0a 0a 20 20 20 20 20 20 3c 70 3e 0a 20 20 20 20 20 20 20 20 49 6e ></figure>........<p>.........In
310a0 20 5a 69 67 2c 20 77 65 20 67 65 6e 65 72 61 6c 6c 79 20 70 72 65 66 65 72 20 3c 61 20 68 72 65 .Zig,.we.generally.prefer.<a.hre
310c0 66 3d 22 23 53 6c 69 63 65 73 22 3e 53 6c 69 63 65 73 3c 2f 61 3e 20 72 61 74 68 65 72 20 74 68 f="#Slices">Slices</a>.rather.th
310e0 61 6e 20 3c 61 20 68 72 65 66 3d 22 23 53 65 6e 74 69 6e 65 6c 2d 54 65 72 6d 69 6e 61 74 65 64 an.<a.href="#Sentinel-Terminated
31100 2d 50 6f 69 6e 74 65 72 73 22 3e 53 65 6e 74 69 6e 65 6c 2d 54 65 72 6d 69 6e 61 74 65 64 20 50 -Pointers">Sentinel-Terminated.P
31120 6f 69 6e 74 65 72 73 3c 2f 61 3e 2e 0a 20 20 20 20 20 20 20 20 59 6f 75 20 63 61 6e 20 74 75 72 ointers</a>..........You.can.tur
31140 6e 20 61 6e 20 61 72 72 61 79 20 6f 72 20 70 6f 69 6e 74 65 72 20 69 6e 74 6f 20 61 20 73 6c 69 n.an.array.or.pointer.into.a.sli
31160 63 65 20 75 73 69 6e 67 20 73 6c 69 63 65 20 73 79 6e 74 61 78 2e 0a 20 20 20 20 20 20 3c 2f 70 ce.using.slice.syntax........</p
31180 3e 0a 20 20 20 20 20 20 3c 70 3e 0a 20 20 20 20 20 20 20 20 53 6c 69 63 65 73 20 68 61 76 65 20 >.......<p>.........Slices.have.
311a0 62 6f 75 6e 64 73 20 63 68 65 63 6b 69 6e 67 20 61 6e 64 20 61 72 65 20 74 68 65 72 65 66 6f 72 bounds.checking.and.are.therefor
311c0 65 20 70 72 6f 74 65 63 74 65 64 0a 20 20 20 20 20 20 20 20 61 67 61 69 6e 73 74 20 74 68 69 73 e.protected.........against.this
311e0 20 6b 69 6e 64 20 6f 66 20 49 6c 6c 65 67 61 6c 20 42 65 68 61 76 69 6f 72 2e 20 54 68 69 73 20 .kind.of.Illegal.Behavior..This.
31200 69 73 20 6f 6e 65 20 72 65 61 73 6f 6e 0a 20 20 20 20 20 20 20 20 77 65 20 70 72 65 66 65 72 20 is.one.reason.........we.prefer.
31220 73 6c 69 63 65 73 20 74 6f 20 70 6f 69 6e 74 65 72 73 2e 0a 20 20 20 20 20 20 3c 2f 70 3e 0a 20 slices.to.pointers........</p>..
31240 20 20 20 20 20 3c 66 69 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="
31260 7a 69 67 2d 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
31280 5f 73 6c 69 63 65 5f 62 6f 75 6e 64 73 2e 7a 69 67 3c 2f 63 69 74 65 3e 3c 2f 66 69 67 63 61 70 _slice_bounds.zig</cite></figcap
312a0 74 69 6f 6e 3e 3c 70 72 65 3e 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b tion><pre><code><span.class="tok
312c0 2d 6b 77 22 3e 63 6f 6e 73 74 3c 2f 73 70 61 6e 3e 20 65 78 70 65 63 74 45 71 75 61 6c 20 3d 20 -kw">const</span>.expectEqual.=.
312e0 3c 73 70 61 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
31300 74 3c 2f 73 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">&
31320 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
31340 78 70 65 63 74 45 71 75 61 6c 3b 0a 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 xpectEqual;..<span.class="tok-kw
31360 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
31380 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 6f 74 3b 3c tr">&quot;pointer.slicing&quot;<
313a0 2f 73 70 61 6e 3e 20 7b 0a 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 /span>.{.....<span.class="tok-kw
313c0 22 3e 76 61 72 3c 2f 73 70 61 6e 3e 20 61 72 72 61 79 20 3d 20 5b 5f 5d 3c 73 70 61 6e 20 63 6c ">var</span>.array.=.[_]<span.cl
313e0 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 75 38 3c 2f 73 70 61 6e 3e 7b 20 3c 73 70 61 6e 20 ass="tok-type">u8</span>{.<span.
31400 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 31 3c 2f 73 70 61 6e 3e 2c 20 3c 73 70 class="tok-number">1</span>,.<sp
31420 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 32 3c 2f 73 70 61 6e 3e 2c 20 an.class="tok-number">2</span>,.
31440 3c 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
31460 3e 2c 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 34 3c 2f 73 >,.<span.class="tok-number">4</s
31480 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 35 pan>,.<span.class="tok-number">5
314a0 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
314c0 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 6e 75 6d ">6</span>,.<span.class="tok-num
314e0 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 74 6f 6b 2d ber">7</span>,.<span.class="tok-
31500 6e 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 number">8</span>,.<span.class="t
31520 6f 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 ok-number">9</span>,.<span.class
31540 3d 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 0a 20 20 20 20 3c ="tok-number">10</span>.};.....<
31560 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
31580 74 61 72 74 3a 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 75 73 69 tart:.<span.class="tok-type">usi
315a0 7a 65 3c 2f 73 70 61 6e 3e 20 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d ze</span>.=.<span.class="tok-num
315c0 62 65 72 22 3e 32 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 ber">2</span>;.<span.class="tok-
315e0 63 6f 6d 6d 65 6e 74 22 3e 2f 2f 20 76 61 72 20 74 6f 20 6d 61 6b 65 20 69 74 20 72 75 6e 74 69 comment">//.var.to.make.it.runti
31600 6d 65 2d 6b 6e 6f 77 6e 3c 2f 73 70 61 6e 3e 0a 20 20 20 20 5f 20 3d 20 26 61 6d 70 3b 73 74 61 me-known</span>....._.=.&amp;sta
31620 72 74 3b 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 63 6f 6d 6d 65 6e 74 22 3e 2f 2f rt;.<span.class="tok-comment">//
31640 20 73 75 70 70 72 65 73 73 20 27 76 61 72 20 69 73 20 6e 65 76 65 72 20 6d 75 74 61 74 65 64 27 .suppress.'var.is.never.mutated'
31660 20 65 72 72 6f 72 3c 2f 73 70 61 6e 3e 0a 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 .error</span>.....<span.class="t
31680 6f 6b 2d 6b 77 22 3e 63 6f 6e 73 74 3c 2f 73 70 61 6e 3e 20 73 6c 69 63 65 20 3d 20 61 72 72 61 ok-kw">const</span>.slice.=.arra
316a0 79 5b 73 74 61 72 74 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 y[start..<span.class="tok-number
316c0 22 3e 34 3c 2f 73 70 61 6e 3e 5d 3b 0a 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f ">4</span>];.....<span.class="to
316e0 6b 2d 6b 77 22 3e 74 72 79 3c 2f 73 70 61 6e 3e 20 65 78 70 65 63 74 45 71 75 61 6c 28 3c 73 70 k-kw">try</span>.expectEqual(<sp
31700 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 32 3c 2f 73 70 61 6e 3e 2c 20 an.class="tok-number">2</span>,.
31720 73 6c 69 63 65 2e 6c 65 6e 29 3b 0a 0a 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f slice.len);......<span.class="to
31740 6b 2d 6b 77 22 3e 74 72 79 3c 2f 73 70 61 6e 3e 20 65 78 70 65 63 74 45 71 75 61 6c 28 3c 73 70 k-kw">try</span>.expectEqual(<sp
31760 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 34 3c 2f 73 70 61 6e 3e 2c 20 an.class="tok-number">4</span>,.
31780 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 33 array[<span.class="tok-number">3
317a0 3c 2f 73 70 61 6e 3e 5d 29 3b 0a 20 20 20 20 73 6c 69 63 65 5b 3c 73 70 61 6e 20 63 6c 61 73 73 </span>]);.....slice[<span.class
317c0 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 70 61 6e ="tok-number">1</span>].+=.<span
317e0 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 31 3c 2f 73 70 61 6e 3e 3b 0a 20 20 .class="tok-number">1</span>;...
31800 20 20 3c 73 70 61 6e 20 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
31820 3e 20 65 78 70 65 63 74 45 71 75 61 6c 28 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e >.expectEqual(<span.class="tok-n
31840 75 6d 62 65 72 22 3e 35 3c 2f 73 70 61 6e 3e 2c 20 61 72 72 61 79 5b 3c 73 70 61 6e 20 63 6c 61 umber">5</span>,.array[<span.cla
31860 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 0a 7d 3c 2f 63 ss="tok-number">3</span>]);.}</c
31880 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
318a0 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</
318c0 66 69 67 63 61 70 74 69 6f 6e 3e 3c 70 72 65 3e 3c 73 61 6d 70 3e 24 20 3c 6b 62 64 3e 7a 69 67 figcaption><pre><samp>$.<kbd>zig
318e0 20 74 65 73 74 20 74 65 73 74 5f 73 6c 69 63 65 5f 62 6f 75 6e 64 73 2e 7a 69 67 3c 2f 6b 62 64 .test.test_slice_bounds.zig</kbd
31900 3e 0a 31 2f 31 20 74 65 73 74 5f 73 6c 69 63 65 5f 62 6f 75 6e 64 73 2e 74 65 73 74 2e 70 6f 69 >.1/1.test_slice_bounds.test.poi
31920 6e 74 65 72 20 73 6c 69 63 69 6e 67 2e 2e 2e 4f 4b 0a 41 6c 6c 20 31 20 74 65 73 74 73 20 70 61 nter.slicing...OK.All.1.tests.pa
31940 73 73 65 64 2e 0a 3c 2f 73 61 6d 70 3e 3c 2f 70 72 65 3e 3c 2f 66 69 67 75 72 65 3e 0a 0a 20 20 ssed..</samp></pre></figure>....
31960 20 20 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 ....<p>Pointers.work.at.compile-
31980 74 69 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 time.too,.as.long.as.the.code.do
319a0 65 73 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 es.not.depend.on.......an.undefi
319c0 6e 65 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 ned.memory.layout:</p>.......<fi
319e0 67 75 72 65 3e 3c 66 69 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"
31a00 3e 3c 63 69 74 65 20 63 6c 61 73 73 3d 22 66 69 6c 65 22 3e 74 65 73 74 5f 63 6f 6d 70 74 69 6d ><cite.class="file">test_comptim
31a20 65 5f 70 6f 69 6e 74 65 72 73 2e 7a 69 67 3c 2f 63 69 74 65 3e 3c 2f 66 69 67 63 61 70 74 69 6f e_pointers.zig</cite></figcaptio
31a40 6e 3e 3c 70 72 65 3e 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 n><pre><code><span.class="tok-kw
31a60 22 3e 63 6f 6e 73 74 3c 2f 73 70 61 6e 3e 20 65 78 70 65 63 74 45 71 75 61 6c 20 3d 20 3c 73 70 ">const</span>.expectEqual.=.<sp
31a80 61 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</
31aa0 73 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
31ac0 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
31ae0 63 74 45 71 75 61 6c 3b 0a 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 74 ctEqual;..<span.class="tok-kw">t
31b00 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"
31b20 3e 26 71 75 6f 74 3b 63 6f 6d 70 74 69 6d 65 20 70 6f 69 6e 74 65 72 73 26 71 75 6f 74 3b 3c 2f >&quot;comptime.pointers&quot;</
31b40 73 70 61 6e 3e 20 7b 0a 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 span>.{.....<span.class="tok-kw"
31b60 3e 63 6f 6d 70 74 69 6d 65 3c 2f 73 70 61 6e 3e 20 7b 0a 20 20 20 20 20 20 20 20 3c 73 70 61 6e >comptime</span>.{.........<span
31b80 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
31ba0 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>.
31bc0 3d 20 3c 73 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
31be0 61 6e 3e 3b 0a 20 20 20 20 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 an>;.........<span.class="tok-kw
31c00 22 3e 63 6f 6e 73 74 3c 2f 73 70 61 6e 3e 20 70 74 72 20 3d 20 26 61 6d 70 3b 78 3b 0a 20 20 20 ">const</span>.ptr.=.&amp;x;....
31c20 20 20 20 20 20 70 74 72 2e 2a 20 2b 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e .....ptr.*.+=.<span.class="tok-n
31c40 75 6d 62 65 72 22 3e 31 3c 2f 73 70 61 6e 3e 3b 0a 20 20 20 20 20 20 20 20 78 20 2b 3d 20 3c 73 umber">1</span>;.........x.+=.<s
31c60 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>;
31c80 0a 20 20 20 20 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 74 72 .........<span.class="tok-kw">tr
31ca0 79 3c 2f 73 70 61 6e 3e 20 65 78 70 65 63 74 45 71 75 61 6c 28 3c 73 70 61 6e 20 63 6c 61 73 73 y</span>.expectEqual(<span.class
31cc0 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 33 3c 2f 73 70 61 6e 3e 2c 20 70 74 72 2e 2a 29 3b 0a ="tok-number">3</span>,.ptr.*);.
31ce0 20 20 20 20 7d 0a 7d 3c 2f 63 6f 64 65 3e 3c 2f 70 72 65 3e 3c 2f 66 69 67 75 72 65 3e 3c 66 69 ....}.}</code></pre></figure><fi
31d00 67 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
31d20 70 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>
31d40 24 20 3c 6b 62 64 3e 7a 69 67 20 74 65 73 74 20 74 65 73 74 5f 63 6f 6d 70 74 69 6d 65 5f 70 6f $.<kbd>zig.test.test_comptime_po
31d60 69 6e 74 65 72 73 2e 7a 69 67 3c 2f 6b 62 64 3e 0a 31 2f 31 20 74 65 73 74 5f 63 6f 6d 70 74 69 inters.zig</kbd>.1/1.test_compti
31d80 6d 65 5f 70 6f 69 6e 74 65 72 73 2e 74 65 73 74 2e 63 6f 6d 70 74 69 6d 65 20 70 6f 69 6e 74 65 me_pointers.test.comptime.pointe
31da0 72 73 2e 2e 2e 4f 4b 0a 41 6c 6c 20 31 20 74 65 73 74 73 20 70 61 73 73 65 64 2e 0a 3c 2f 73 61 rs...OK.All.1.tests.passed..</sa
31dc0 6d 70 3e 3c 2f 70 72 65 3e 3c 2f 66 69 67 75 72 65 3e 0a 0a 20 20 20 20 20 20 3c 70 3e 54 6f 20 mp></pre></figure>........<p>To.
31de0 63 6f 6e 76 65 72 74 20 61 6e 20 69 6e 74 65 67 65 72 20 61 64 64 72 65 73 73 20 69 6e 74 6f 20 convert.an.integer.address.into.
31e00 61 20 70 6f 69 6e 74 65 72 2c 20 75 73 65 20 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 a.pointer,.use.<code><span.class
31e20 3d 22 74 6f 6b 2d 62 75 69 6c 74 69 6e 22 3e 40 70 74 72 46 72 6f 6d 49 6e 74 3c 2f 73 70 61 6e ="tok-builtin">@ptrFromInt</span
31e40 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
31e60 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
31e80 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 62 75 69 6c 74 69 6e 22 3e 40 69 6e 74 46 72 6f 6d pan.class="tok-builtin">@intFrom
31ea0 50 74 72 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 3a 3c 2f 70 3e 0a 20 20 20 20 20 20 3c 66 69 Ptr</span></code>:</p>.......<fi
31ec0 67 75 72 65 3e 3c 66 69 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"
31ee0 3e 3c 63 69 74 65 20 63 6c 61 73 73 3d 22 66 69 6c 65 22 3e 74 65 73 74 5f 69 6e 74 65 67 65 72 ><cite.class="file">test_integer
31f00 5f 70 6f 69 6e 74 65 72 5f 63 6f 6e 76 65 72 73 69 6f 6e 2e 7a 69 67 3c 2f 63 69 74 65 3e 3c 2f _pointer_conversion.zig</cite></
31f20 66 69 67 63 61 70 74 69 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
31f40 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 45 71 s="tok-kw">const</span>.expectEq
31f60 75 61 6c 20 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 62 75 69 6c 74 69 6e 22 3e ual.=.<span.class="tok-builtin">
31f80 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-
31fa0 73 74 72 22 3e 26 71 75 6f 74 3b 73 74 64 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 29 2e 74 65 73 str">&quot;std&quot;</span>).tes
31fc0 74 69 6e 67 2e 65 78 70 65 63 74 45 71 75 61 6c 3b 0a 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 ting.expectEqual;..<span.class="
31fe0 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=
32000 22 74 6f 6b 2d 73 74 72 22 3e 26 71 75 6f 74 3b 40 69 6e 74 46 72 6f 6d 50 74 72 20 61 6e 64 20 "tok-str">&quot;@intFromPtr.and.
32020 40 70 74 72 46 72 6f 6d 49 6e 74 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 20 7b 0a 20 20 20 20 3c @ptrFromInt&quot;</span>.{.....<
32040 73 70 61 6e 20 63 6c 61 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>
32060 20 70 74 72 3a 20 2a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 69 33 .ptr:.*<span.class="tok-type">i3
32080 32 3c 2f 73 70 61 6e 3e 20 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 62 75 69 6c 2</span>.=.<span.class="tok-buil
320a0 74 69 6e 22 3e 40 70 74 72 46 72 6f 6d 49 6e 74 3c 2f 73 70 61 6e 3e 28 3c 73 70 61 6e 20 63 6c tin">@ptrFromInt</span>(<span.cl
320c0 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 2f 73 70 61 ass="tok-number">0xdeadbee0</spa
320e0 6e 3e 29 3b 0a 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 63 6f n>);.....<span.class="tok-kw">co
32100 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 22 74 nst</span>.addr.=.<span.class="t
32120 6f 6b 2d 62 75 69 6c 74 69 6e 22 3e 40 69 6e 74 46 72 6f 6d 50 74 72 3c 2f 73 70 61 6e 3e 28 70 ok-builtin">@intFromPtr</span>(p
32140 74 72 29 3b 0a 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 74 72 tr);.....<span.class="tok-kw">tr
32160 79 3c 2f 73 70 61 6e 3e 20 65 78 70 65 63 74 45 71 75 61 6c 28 3c 73 70 61 6e 20 63 6c 61 73 73 y</span>.expectEqual(<span.class
32180 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 75 73 69 7a 65 3c 2f 73 70 61 6e 3e 2c 20 3c 73 70 61 6e 20 ="tok-type">usize</span>,.<span.
321a0 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
321c0 6e 3e 28 61 64 64 72 29 29 3b 0a 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d n>(addr));.....<span.class="tok-
321e0 6b 77 22 3e 74 72 79 3c 2f 73 70 61 6e 3e 20 65 78 70 65 63 74 45 71 75 61 6c 28 3c 73 70 61 6e kw">try</span>.expectEqual(<span
32200 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 2f .class="tok-number">0xdeadbee0</
32220 73 70 61 6e 3e 2c 20 61 64 64 72 29 3b 0a 7d 3c 2f 63 6f 64 65 3e 3c 2f 70 72 65 3e 3c 2f 66 69 span>,.addr);.}</code></pre></fi
32240 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="
32260 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
32280 65 3e 3c 73 61 6d 70 3e 24 20 3c 6b 62 64 3e 7a 69 67 20 74 65 73 74 20 74 65 73 74 5f 69 6e 74 e><samp>$.<kbd>zig.test.test_int
322a0 65 67 65 72 5f 70 6f 69 6e 74 65 72 5f 63 6f 6e 76 65 72 73 69 6f 6e 2e 7a 69 67 3c 2f 6b 62 64 eger_pointer_conversion.zig</kbd
322c0 3e 0a 31 2f 31 20 74 65 73 74 5f 69 6e 74 65 67 65 72 5f 70 6f 69 6e 74 65 72 5f 63 6f 6e 76 65 >.1/1.test_integer_pointer_conve
322e0 72 73 69 6f 6e 2e 74 65 73 74 2e 40 69 6e 74 46 72 6f 6d 50 74 72 20 61 6e 64 20 40 70 74 72 46 rsion.test.@intFromPtr.and.@ptrF
32300 72 6f 6d 49 6e 74 2e 2e 2e 4f 4b 0a 41 6c 6c 20 31 20 74 65 73 74 73 20 70 61 73 73 65 64 2e 0a romInt...OK.All.1.tests.passed..
32320 3c 2f 73 61 6d 70 3e 3c 2f 70 72 65 3e 3c 2f 66 69 67 75 72 65 3e 0a 0a 20 20 20 20 20 20 3c 70 </samp></pre></figure>........<p
32340 3e 5a 69 67 20 69 73 20 61 62 6c 65 20 74 6f 20 70 72 65 73 65 72 76 65 20 6d 65 6d 6f 72 79 20 >Zig.is.able.to.preserve.memory.
32360 61 64 64 72 65 73 73 65 73 20 69 6e 20 63 6f 6d 70 74 69 6d 65 20 63 6f 64 65 2c 20 61 73 20 6c addresses.in.comptime.code,.as.l
32380 6f 6e 67 20 61 73 0a 20 20 20 20 20 20 74 68 65 20 70 6f 69 6e 74 65 72 20 69 73 20 6e 65 76 65 ong.as.......the.pointer.is.neve
323a0 72 20 64 65 72 65 66 65 72 65 6e 63 65 64 3a 3c 2f 70 3e 0a 20 20 20 20 20 20 3c 66 69 67 75 72 r.dereferenced:</p>.......<figur
323c0 65 3e 3c 66 69 67 63 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
323e0 69 74 65 20 63 6c 61 73 73 3d 22 66 69 6c 65 22 3e 74 65 73 74 5f 63 6f 6d 70 74 69 6d 65 5f 70 ite.class="file">test_comptime_p
32400 6f 69 6e 74 65 72 5f 63 6f 6e 76 65 72 73 69 6f 6e 2e 7a 69 67 3c 2f 63 69 74 65 3e 3c 2f 66 69 ointer_conversion.zig</cite></fi
32420 67 63 61 70 74 69 6f 6e 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=
32440 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 45 71 75 61 "tok-kw">const</span>.expectEqua
32460 6c 20 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 62 75 69 6c 74 69 6e 22 3e 40 69 l.=.<span.class="tok-builtin">@i
32480 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
324a0 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
324c0 6e 67 2e 65 78 70 65 63 74 45 71 75 61 6c 3b 0a 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f ng.expectEqual;..<span.class="to
324e0 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
32500 6f 6b 2d 73 74 72 22 3e 26 71 75 6f 74 3b 63 6f 6d 70 74 69 6d 65 20 40 70 74 72 46 72 6f 6d 49 ok-str">&quot;comptime.@ptrFromI
32520 6e 74 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 20 7b 0a 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 nt&quot;</span>.{.....<span.clas
32540 73 3d 22 74 6f 6b 2d 6b 77 22 3e 63 6f 6d 70 74 69 6d 65 3c 2f 73 70 61 6e 3e 20 7b 0a 20 20 20 s="tok-kw">comptime</span>.{....
32560 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">/
32580 2f 20 5a 69 67 20 69 73 20 61 62 6c 65 20 74 6f 20 64 6f 20 74 68 69 73 20 61 74 20 63 6f 6d 70 /.Zig.is.able.to.do.this.at.comp
325a0 69 6c 65 2d 74 69 6d 65 2c 20 61 73 20 6c 6f 6e 67 20 61 73 3c 2f 73 70 61 6e 3e 0a 20 20 20 20 ile-time,.as.long.as</span>.....
325c0 20 20 20 20 3c 73 70 61 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">//
325e0 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
32600 6e 3e 0a 20 20 20 20 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e n>.........<span.class="tok-kw">
32620 63 6f 6e 73 74 3c 2f 73 70 61 6e 3e 20 70 74 72 3a 20 2a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 const</span>.ptr:.*<span.class="
32640 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
32660 73 73 3d 22 74 6f 6b 2d 62 75 69 6c 74 69 6e 22 3e 40 70 74 72 46 72 6f 6d 49 6e 74 3c 2f 73 70 ss="tok-builtin">@ptrFromInt</sp
32680 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 30 78 64 an>(<span.class="tok-number">0xd
326a0 65 61 64 62 65 65 30 3c 2f 73 70 61 6e 3e 29 3b 0a 20 20 20 20 20 20 20 20 3c 73 70 61 6e 20 63 eadbee0</span>);.........<span.c
326c0 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 63 6f 6e 73 74 3c 2f 73 70 61 6e 3e 20 61 64 64 72 20 lass="tok-kw">const</span>.addr.
326e0 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 62 75 69 6c 74 69 6e 22 3e 40 69 6e 74 =.<span.class="tok-builtin">@int
32700 46 72 6f 6d 50 74 72 3c 2f 73 70 61 6e 3e 28 70 74 72 29 3b 0a 20 20 20 20 20 20 20 20 3c 73 70 FromPtr</span>(ptr);.........<sp
32720 61 6e 20 63 6c 61 73 73 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
32740 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 74 79 70 65 22 3e ectEqual(<span.class="tok-type">
32760 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 74 6f 6b 2d 62 usize</span>,.<span.class="tok-b
32780 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 29 3b 0a 20 uiltin">@TypeOf</span>(addr));..
327a0 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<
327c0 2f 73 70 61 6e 3e 20 65 78 70 65 63 74 45 71 75 61 6c 28 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 /span>.expectEqual(<span.class="
327e0 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 30 78 64 65 61 64 62 65 65 30 3c 2f 73 70 61 6e 3e 2c 20 61 tok-number">0xdeadbee0</span>,.a
32800 64 64 72 29 3b 0a 20 20 20 20 7d 0a 7d 3c 2f 63 6f 64 65 3e 3c 2f 70 72 65 3e 3c 2f 66 69 67 75 ddr);.....}.}</code></pre></figu
32820 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
32840 65 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>
32860 3c 73 61 6d 70 3e 24 20 3c 6b 62 64 3e 7a 69 67 20 74 65 73 74 20 74 65 73 74 5f 63 6f 6d 70 74 <samp>$.<kbd>zig.test.test_compt
32880 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 67 3c 2f 6b 62 64 3e ime_pointer_conversion.zig</kbd>
328a0 0a 31 2f 31 20 74 65 73 74 5f 63 6f 6d 70 74 69 6d 65 5f 70 6f 69 6e 74 65 72 5f 63 6f 6e 76 65 .1/1.test_comptime_pointer_conve
328c0 72 73 69 6f 6e 2e 74 65 73 74 2e 63 6f 6d 70 74 69 6d 65 20 40 70 74 72 46 72 6f 6d 49 6e 74 2e rsion.test.comptime.@ptrFromInt.
328e0 2e 2e 4f 4b 0a 41 6c 6c 20 31 20 74 65 73 74 73 20 70 61 73 73 65 64 2e 0a 3c 2f 73 61 6d 70 3e ..OK.All.1.tests.passed..</samp>
32900 3c 2f 70 72 65 3e 3c 2f 66 69 67 75 72 65 3e 0a 0a 20 20 20 20 20 20 3c 70 3e 0a 20 20 20 20 20 </pre></figure>........<p>......
32920 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 61 3e .<a.href="#ptrCast">@ptrCast</a>
32940 20 63 6f 6e 76 65 72 74 73 20 61 20 70 6f 69 6e 74 65 72 27 73 20 65 6c 65 6d 65 6e 74 20 74 79 .converts.a.pointer's.element.ty
32960 70 65 20 74 6f 20 61 6e 6f 74 68 65 72 2e 20 54 68 69 73 0a 20 20 20 20 20 20 63 72 65 61 74 65 pe.to.another..This.......create
32980 73 20 61 20 6e 65 77 20 70 6f 69 6e 74 65 72 20 74 68 61 74 20 63 61 6e 20 63 61 75 73 65 20 75 s.a.new.pointer.that.can.cause.u
329a0 6e 64 65 74 65 63 74 61 62 6c 65 20 49 6c 6c 65 67 61 6c 20 42 65 68 61 76 69 6f 72 0a 20 20 20 ndetectable.Illegal.Behavior....
329c0 20 20 20 64 65 70 65 6e 64 69 6e 67 20 6f 6e 20 74 68 65 20 6c 6f 61 64 73 20 61 6e 64 20 73 74 ...depending.on.the.loads.and.st
329e0 6f 72 65 73 20 74 68 61 74 20 70 61 73 73 20 74 68 72 6f 75 67 68 20 69 74 2e 20 47 65 6e 65 72 ores.that.pass.through.it..Gener
32a00 61 6c 6c 79 2c 20 6f 74 68 65 72 0a 20 20 20 20 20 20 6b 69 6e 64 73 20 6f 66 20 74 79 70 65 20 ally,.other.......kinds.of.type.
32a20 63 6f 6e 76 65 72 73 69 6f 6e 73 20 61 72 65 20 70 72 65 66 65 72 61 62 6c 65 20 74 6f 0a 20 20 conversions.are.preferable.to...
32a40 20 20 20 20 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 62 75 69 6c 74 ....<code><span.class="tok-built
32a60 69 6e 22 3e 40 70 74 72 43 61 73 74 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 20 69 66 20 70 6f in">@ptrCast</span></code>.if.po
32a80 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 66 69 67 75 72 65 ssible........</p>.......<figure
32aa0 3e 3c 66 69 67 63 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
32ac0 74 65 20 63 6c 61 73 73 3d 22 66 69 6c 65 22 3e 74 65 73 74 5f 70 6f 69 6e 74 65 72 5f 63 61 73 te.class="file">test_pointer_cas
32ae0 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 65 ting.zig</cite></figcaption><pre
32b00 3e 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 63 6f 6e 73 ><code><span.class="tok-kw">cons
32b20 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-
32b40 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
32b60 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
32b80 70 61 6e 3e 29 3b 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 63 6f 6e 73 pan>);.<span.class="tok-kw">cons
32ba0 74 3c 2f 73 70 61 6e 3e 20 65 78 70 65 63 74 45 71 75 61 6c 20 3d 20 73 74 64 2e 74 65 73 74 69 t</span>.expectEqual.=.std.testi
32bc0 6e 67 2e 65 78 70 65 63 74 45 71 75 61 6c 3b 0a 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f ng.expectEqual;..<span.class="to
32be0 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
32c00 6f 6b 2d 73 74 72 22 3e 26 71 75 6f 74 3b 70 6f 69 6e 74 65 72 20 63 61 73 74 69 6e 67 26 71 75 ok-str">&quot;pointer.casting&qu
32c20 6f 74 3b 3c 2f 73 70 61 6e 3e 20 7b 0a 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f ot;</span>.{.....<span.class="to
32c40 6b 2d 6b 77 22 3e 63 6f 6e 73 74 3c 2f 73 70 61 6e 3e 20 62 79 74 65 73 20 3c 73 70 61 6e 20 63 k-kw">const</span>.bytes.<span.c
32c60 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
32c80 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
32ca0 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<
32cc0 2f 73 70 61 6e 3e 29 29 20 3d 20 5b 5f 5d 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 /span>)).=.[_]<span.class="tok-t
32ce0 79 70 65 22 3e 75 38 3c 2f 73 70 61 6e 3e 7b 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b ype">u8</span>{.<span.class="tok
32d00 2d 6e 75 6d 62 65 72 22 3e 30 78 31 32 3c 2f 73 70 61 6e 3e 2c 20 3c 73 70 61 6e 20 63 6c 61 73 -number">0x12</span>,.<span.clas
32d20 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 30 78 31 32 3c 2f 73 70 61 6e 3e 2c 20 3c 73 70 61 s="tok-number">0x12</span>,.<spa
32d40 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 30 78 31 32 3c 2f 73 70 61 6e 3e n.class="tok-number">0x12</span>
32d60 2c 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 30 78 31 32 3c ,.<span.class="tok-number">0x12<
32d80 2f 73 70 61 6e 3e 20 7d 3b 0a 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b /span>.};.....<span.class="tok-k
32da0 77 22 3e 63 6f 6e 73 74 3c 2f 73 70 61 6e 3e 20 75 33 32 5f 70 74 72 3a 20 2a 3c 73 70 61 6e 20 w">const</span>.u32_ptr:.*<span.
32dc0 63 6c 61 73 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
32de0 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 75 33 32 3c 2f 73 70 61 6e 3e 20 3d 20 n.class="tok-type">u32</span>.=.
32e00 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 62 75 69 6c 74 69 6e 22 3e 40 70 74 72 43 61 <span.class="tok-builtin">@ptrCa
32e20 73 74 3c 2f 73 70 61 6e 3e 28 26 61 6d 70 3b 62 79 74 65 73 29 3b 0a 20 20 20 20 3c 73 70 61 6e st</span>(&amp;bytes);.....<span
32e40 20 63 6c 61 73 73 3d 22 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
32e60 74 45 71 75 61 6c 28 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e tEqual(<span.class="tok-number">
32e80 30 78 31 32 31 32 31 32 31 32 3c 2f 73 70 61 6e 3e 2c 20 75 33 32 5f 70 74 72 2e 2a 29 3b 0a 0a 0x12121212</span>,.u32_ptr.*);..
32ea0 20 20 20 20 3c 73 70 61 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">//
32ec0 20 45 76 65 6e 20 74 68 69 73 20 65 78 61 6d 70 6c 65 20 69 73 20 63 6f 6e 74 72 69 76 65 64 20 .Even.this.example.is.contrived.
32ee0 2d 20 74 68 65 72 65 20 61 72 65 20 62 65 74 74 65 72 20 77 61 79 73 20 74 6f 20 64 6f 20 74 68 -.there.are.better.ways.to.do.th
32f00 65 20 61 62 6f 76 65 20 74 68 61 6e 3c 2f 73 70 61 6e 3e 0a 20 20 20 20 3c 73 70 61 6e 20 63 6c e.above.than</span>.....<span.cl
32f20 61 73 73 3d 22 74 6f 6b 2d 63 6f 6d 6d 65 6e 74 22 3e 2f 2f 20 70 6f 69 6e 74 65 72 20 63 61 73 ass="tok-comment">//.pointer.cas
32f40 74 69 6e 67 2e 20 46 6f 72 20 65 78 61 6d 70 6c 65 2c 20 75 73 69 6e 67 20 61 20 73 6c 69 63 65 ting..For.example,.using.a.slice
32f60 20 6e 61 72 72 6f 77 69 6e 67 20 63 61 73 74 3a 3c 2f 73 70 61 6e 3e 0a 20 20 20 20 3c 73 70 61 .narrowing.cast:</span>.....<spa
32f80 6e 20 63 6c 61 73 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 n.class="tok-kw">const</span>.u3
32fa0 32 5f 76 61 6c 75 65 20 3d 20 73 74 64 2e 6d 65 6d 2e 62 79 74 65 73 41 73 53 6c 69 63 65 28 3c 2_value.=.std.mem.bytesAsSlice(<
32fc0 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>
32fe0 2c 20 62 79 74 65 73 5b 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 ,.bytes[<span.class="tok-number"
33000 3e 30 3c 2f 73 70 61 6e 3e 2e 2e 5d 29 5b 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e >0</span>..])[<span.class="tok-n
33020 75 6d 62 65 72 22 3e 30 3c 2f 73 70 61 6e 3e 5d 3b 0a 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 umber">0</span>];.....<span.clas
33040 73 3d 22 74 6f 6b 2d 6b 77 22 3e 74 72 79 3c 2f 73 70 61 6e 3e 20 65 78 70 65 63 74 45 71 75 61 s="tok-kw">try</span>.expectEqua
33060 6c 28 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 30 78 31 32 31 l(<span.class="tok-number">0x121
33080 32 31 32 31 32 3c 2f 73 70 61 6e 3e 2c 20 75 33 32 5f 76 61 6c 75 65 29 3b 0a 0a 20 20 20 20 3c 21212</span>,.u32_value);......<
330a0 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 63 6f 6d 6d 65 6e 74 22 3e 2f 2f 20 41 6e 64 20 span.class="tok-comment">//.And.
330c0 65 76 65 6e 20 61 6e 6f 74 68 65 72 20 77 61 79 2c 20 74 68 65 20 6d 6f 73 74 20 73 74 72 61 69 even.another.way,.the.most.strai
330e0 67 68 74 66 6f 72 77 61 72 64 20 77 61 79 20 74 6f 20 64 6f 20 69 74 3a 3c 2f 73 70 61 6e 3e 0a ghtforward.way.to.do.it:</span>.
33100 20 20 20 20 3c 73 70 61 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
33120 61 6e 3e 20 65 78 70 65 63 74 45 71 75 61 6c 28 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b an>.expectEqual(<span.class="tok
33140 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 2c 20 3c 73 70 61 -number">0x12121212</span>,.<spa
33160 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>
33180 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
331a0 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 40 62 n>,.<span.class="tok-builtin">@b
331c0 69 74 43 61 73 74 3c 2f 73 70 61 6e 3e 28 62 79 74 65 73 29 29 29 3b 0a 7d 0a 0a 3c 73 70 61 6e itCast</span>(bytes)));.}..<span
331e0 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
33200 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 73 74 72 22 3e 26 71 75 6f 74 3b 70 6f 69 6e 74 65 72 20 n.class="tok-str">&quot;pointer.
33220 63 68 69 6c 64 20 74 79 70 65 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 20 7b 0a 20 20 20 20 3c 73 child.type&quot;</span>.{.....<s
33240 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 63 6f 6d 6d 65 6e 74 22 3e 2f 2f 20 70 6f 69 6e 74 pan.class="tok-comment">//.point
33260 65 72 20 74 79 70 65 73 20 68 61 76 65 20 61 20 60 63 68 69 6c 64 60 20 66 69 65 6c 64 20 77 68 er.types.have.a.`child`.field.wh
33280 69 63 68 20 74 65 6c 6c 73 20 79 6f 75 20 74 68 65 20 74 79 70 65 20 74 68 65 79 20 70 6f 69 6e ich.tells.you.the.type.they.poin
332a0 74 20 74 6f 2e 3c 2f 73 70 61 6e 3e 0a 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f t.to.</span>.....<span.class="to
332c0 6b 2d 6b 77 22 3e 74 72 79 3c 2f 73 70 61 6e 3e 20 65 78 70 65 63 74 45 71 75 61 6c 28 3c 73 70 k-kw">try</span>.expectEqual(<sp
332e0 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>,.
33300 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 62 75 69 6c 74 69 6e 22 3e 40 74 79 70 65 49 <span.class="tok-builtin">@typeI
33320 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 70 nfo</span>(*<span.class="tok-typ
33340 65 22 3e 75 33 32 3c 2f 73 70 61 6e 3e 29 2e 70 6f 69 6e 74 65 72 2e 63 68 69 6c 64 29 3b 0a 7d e">u32</span>).pointer.child);.}
33360 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
33380 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
333a0 6c 3c 2f 66 69 67 63 61 70 74 69 6f 6e 3e 3c 70 72 65 3e 3c 73 61 6d 70 3e 24 20 3c 6b 62 64 3e l</figcaption><pre><samp>$.<kbd>
333c0 7a 69 67 20 74 65 73 74 20 74 65 73 74 5f 70 6f 69 6e 74 65 72 5f 63 61 73 74 69 6e 67 2e 7a 69 zig.test.test_pointer_casting.zi
333e0 67 3c 2f 6b 62 64 3e 0a 31 2f 32 20 74 65 73 74 5f 70 6f 69 6e 74 65 72 5f 63 61 73 74 69 6e 67 g</kbd>.1/2.test_pointer_casting
33400 2e 74 65 73 74 2e 70 6f 69 6e 74 65 72 20 63 61 73 74 69 6e 67 2e 2e 2e 4f 4b 0a 32 2f 32 20 74 .test.pointer.casting...OK.2/2.t
33420 65 73 74 5f 70 6f 69 6e 74 65 72 5f 63 61 73 74 69 6e 67 2e 74 65 73 74 2e 70 6f 69 6e 74 65 72 est_pointer_casting.test.pointer
33440 20 63 68 69 6c 64 20 74 79 70 65 2e 2e 2e 4f 4b 0a 41 6c 6c 20 32 20 74 65 73 74 73 20 70 61 73 .child.type...OK.All.2.tests.pas
33460 73 65 64 2e 0a 3c 2f 73 61 6d 70 3e 3c 2f 70 72 65 3e 3c 2f 66 69 67 75 72 65 3e 0a 0a 20 20 20 sed..</samp></pre></figure>.....
33480 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
334a0 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
334c0 6c 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 l.Pointers</a></li>.<li><a.href=
334e0 22 23 70 74 72 46 72 6f 6d 49 6e 74 22 3e 40 70 74 72 46 72 6f 6d 49 6e 74 3c 2f 61 3e 3c 2f 6c "#ptrFromInt">@ptrFromInt</a></l
33500 69 3e 0a 3c 6c 69 3e 3c 61 20 68 72 65 66 3d 22 23 69 6e 74 46 72 6f 6d 50 74 72 22 3e 40 69 6e i>.<li><a.href="#intFromPtr">@in
33520 74 46 72 6f 6d 50 74 72 3c 2f 61 3e 3c 2f 6c 69 3e 0a 3c 6c 69 3e 3c 61 20 68 72 65 66 3d 22 23 tFromPtr</a></li>.<li><a.href="#
33540 43 2d 50 6f 69 6e 74 65 72 73 22 3e 43 20 50 6f 69 6e 74 65 72 73 3c 2f 61 3e 3c 2f 6c 69 3e 0a C-Pointers">C.Pointers</a></li>.
33560 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 6c 65 22 3e 3c </ul>........<h3.id="volatile"><
33580 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 69 6c 65 22 3e a.href="nav.xhtml#toc-volatile">
335a0 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 20 68 72 65 66 volatile</a>.<a.class="hdr".href
335c0 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 20 20 20 20 20 ="#volatile">..</a></h3>........
335e0 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 75 6d 65 64 20 <p>Loads.and.stores.are.assumed.
33600 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 66 20 61 20 67 to.not.have.side.effects..If.a.g
33620 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 6f 75 6c 64 20 iven.load.or.store.......should.
33640 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 4d 65 6d 6f 72 have.side.effects,.such.as.Memor
33660 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 29 2c 20 75 73 y.Mapped.Input/Output.(MMIO),.us
33680 65 20 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 76 6f 6c e.<code><span.class="tok-kw">vol
336a0 61 74 69 6c 65 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 atile</span></code>........In.th
336c0 65 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 e.following.code,.loads.and.stor
336e0 65 73 20 77 69 74 68 20 3c 63 6f 64 65 3e 6d 6d 69 6f 5f 70 74 72 3c 2f 63 6f 64 65 3e 20 61 72 es.with.<code>mmio_ptr</code>.ar
33700 65 20 67 75 61 72 61 6e 74 65 65 64 20 74 6f 20 61 6c 6c 20 68 61 70 70 65 6e 0a 20 20 20 20 20 e.guaranteed.to.all.happen......
33720 20 61 6e 64 20 69 6e 20 74 68 65 20 73 61 6d 65 20 6f 72 64 65 72 20 61 73 20 69 6e 20 73 6f 75 .and.in.the.same.order.as.in.sou
33740 72 63 65 20 63 6f 64 65 3a 3c 2f 70 3e 0a 20 20 20 20 20 20 3c 66 69 67 75 72 65 3e 3c 66 69 67 rce.code:</p>.......<figure><fig
33760 63 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
33780 61 73 73 3d 22 66 69 6c 65 22 3e 74 65 73 74 5f 76 6f 6c 61 74 69 6c 65 2e 7a 69 67 3c 2f 63 69 ass="file">test_volatile.zig</ci
337a0 74 65 3e 3c 2f 66 69 67 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
337c0 20 63 6c 61 73 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
337e0 65 63 74 45 71 75 61 6c 20 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 62 75 69 6c ectEqual.=.<span.class="tok-buil
33800 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=
33820 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>
33840 29 2e 74 65 73 74 69 6e 67 2e 65 78 70 65 63 74 45 71 75 61 6c 3b 0a 0a 3c 73 70 61 6e 20 63 6c ).testing.expectEqual;..<span.cl
33860 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
33880 6c 61 73 73 3d 22 74 6f 6b 2d 73 74 72 22 3e 26 71 75 6f 74 3b 76 6f 6c 61 74 69 6c 65 26 71 75 lass="tok-str">&quot;volatile&qu
338a0 6f 74 3b 3c 2f 73 70 61 6e 3e 20 7b 0a 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f ot;</span>.{.....<span.class="to
338c0 6b 2d 6b 77 22 3e 63 6f 6e 73 74 3c 2f 73 70 61 6e 3e 20 6d 6d 69 6f 5f 70 74 72 3a 20 2a 3c 73 k-kw">const</span>.mmio_ptr:.*<s
338e0 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 76 6f 6c 61 74 69 6c 65 3c 2f 73 70 61 pan.class="tok-kw">volatile</spa
33900 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
33920 61 6e 3e 20 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 62 75 69 6c 74 69 6e 22 3e an>.=.<span.class="tok-builtin">
33940 40 70 74 72 46 72 6f 6d 49 6e 74 3c 2f 73 70 61 6e 3e 28 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 @ptrFromInt</span>(<span.class="
33960 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 30 78 31 32 33 34 35 36 37 38 3c 2f 73 70 61 6e 3e 29 3b 0a tok-number">0x12345678</span>);.
33980 20 20 20 20 3c 73 70 61 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
339a0 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 74 6f an>.expectEqual(*<span.class="to
339c0 6b 2d 6b 77 22 3e 76 6f 6c 61 74 69 6c 65 3c 2f 73 70 61 6e 3e 20 3c 73 70 61 6e 20 63 6c 61 73 k-kw">volatile</span>.<span.clas
339e0 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 75 38 3c 2f 73 70 61 6e 3e 2c 20 3c 73 70 61 6e 20 63 6c s="tok-type">u8</span>,.<span.cl
33a00 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>
33a20 28 6d 6d 69 6f 5f 70 74 72 29 29 3b 0a 7d 3c 2f 63 6f 64 65 3e 3c 2f 70 72 65 3e 3c 2f 66 69 67 (mmio_ptr));.}</code></pre></fig
33a40 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
33a60 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
33a80 3e 3c 73 61 6d 70 3e 24 20 3c 6b 62 64 3e 7a 69 67 20 74 65 73 74 20 74 65 73 74 5f 76 6f 6c 61 ><samp>$.<kbd>zig.test.test_vola
33aa0 74 69 6c 65 2e 7a 69 67 3c 2f 6b 62 64 3e 0a 31 2f 31 20 74 65 73 74 5f 76 6f 6c 61 74 69 6c 65 tile.zig</kbd>.1/1.test_volatile
33ac0 2e 74 65 73 74 2e 76 6f 6c 61 74 69 6c 65 2e 2e 2e 4f 4b 0a 41 6c 6c 20 31 20 74 65 73 74 73 20 .test.volatile...OK.All.1.tests.
33ae0 70 61 73 73 65 64 2e 0a 3c 2f 73 61 6d 70 3e 3c 2f 70 72 65 3e 3c 2f 66 69 67 75 72 65 3e 0a 0a passed..</samp></pre></figure>..
33b00 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 3e ......<p>.......Note.that.<code>
33b20 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
33b40 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 6e 63 pan></code>.is.unrelated.to.conc
33b60 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 3e 41 urrency.and.<a.href="#Atomics">A
33b80 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 6f 64 tomics</a>........If.you.see.cod
33ba0 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 61 73 e.that.is.using.<code><span.clas
33bc0 73 3d 22 74 6f 6b 2d 6b 77 22 3e 76 6f 6c 61 74 69 6c 65 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 s="tok-kw">volatile</span></code
33be0 3e 20 66 6f 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 >.for.something.other.than.Memor
33c00 79 20 4d 61 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 y.Mapped.......Input/Output,.it.
33c20 69 73 20 70 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 is.probably.a.bug........</p>...
33c40 20 20 20 20 0a 0a 20 20 20 20 20 20 3c 68 33 20 69 64 3d 22 41 6c 69 67 6e 6d 65 6e 74 22 3e 3c ............<h3.id="Alignment"><
33c60 61 20 68 72 65 66 3d 22 6e 61 76 2e 78 68 74 6d 6c 23 74 6f 63 2d 41 6c 69 67 6e 6d 65 6e 74 22 a.href="nav.xhtml#toc-Alignment"
33c80 3e 41 6c 69 67 6e 6d 65 6e 74 3c 2f 61 3e 20 3c 61 20 63 6c 61 73 73 3d 22 68 64 72 22 20 68 72 >Alignment</a>.<a.class="hdr".hr
33ca0 65 66 3d 22 23 41 6c 69 67 6e 6d 65 6e 74 22 3e c2 a7 3c 2f 61 3e 3c 2f 68 33 3e 0a 0a 20 20 20 ef="#Alignment">..</a></h3>.....
33cc0 20 20 20 3c 70 3e 0a 20 20 20 20 20 20 45 61 63 68 20 74 79 70 65 20 68 61 73 20 61 6e 20 3c 73 ...<p>.......Each.type.has.an.<s
33ce0 74 72 6f 6e 67 3e 61 6c 69 67 6e 6d 65 6e 74 3c 2f 73 74 72 6f 6e 67 3e 20 2d 20 61 20 6e 75 6d trong>alignment</strong>.-.a.num
33d00 62 65 72 20 6f 66 20 62 79 74 65 73 20 73 75 63 68 20 74 68 61 74 2c 0a 20 20 20 20 20 20 77 68 ber.of.bytes.such.that,.......wh
33d20 65 6e 20 61 20 76 61 6c 75 65 20 6f 66 20 74 68 65 20 74 79 70 65 20 69 73 20 6c 6f 61 64 65 64 en.a.value.of.the.type.is.loaded
33d40 20 66 72 6f 6d 20 6f 72 20 73 74 6f 72 65 64 20 74 6f 20 6d 65 6d 6f 72 79 2c 0a 20 20 20 20 20 .from.or.stored.to.memory,......
33d60 20 74 68 65 20 6d 65 6d 6f 72 79 20 61 64 64 72 65 73 73 20 6d 75 73 74 20 62 65 20 65 76 65 6e .the.memory.address.must.be.even
33d80 6c 79 20 64 69 76 69 73 69 62 6c 65 20 62 79 20 74 68 69 73 20 6e 75 6d 62 65 72 2e 20 59 6f 75 ly.divisible.by.this.number..You
33da0 20 63 61 6e 20 75 73 65 0a 20 20 20 20 20 20 3c 61 20 68 72 65 66 3d 22 23 61 6c 69 67 6e 4f 66 .can.use.......<a.href="#alignOf
33dc0 22 3e 40 61 6c 69 67 6e 4f 66 3c 2f 61 3e 20 74 6f 20 66 69 6e 64 20 6f 75 74 20 74 68 69 73 20 ">@alignOf</a>.to.find.out.this.
33de0 76 61 6c 75 65 20 66 6f 72 20 61 6e 79 20 74 79 70 65 2e 0a 20 20 20 20 20 20 3c 2f 70 3e 0a 20 value.for.any.type........</p>..
33e00 20 20 20 20 20 3c 70 3e 0a 20 20 20 20 20 20 41 6c 69 67 6e 6d 65 6e 74 20 64 65 70 65 6e 64 73 .....<p>.......Alignment.depends
33e20 20 6f 6e 20 74 68 65 20 43 50 55 20 61 72 63 68 69 74 65 63 74 75 72 65 2c 20 62 75 74 20 69 73 .on.the.CPU.architecture,.but.is
33e40 20 61 6c 77 61 79 73 20 61 20 70 6f 77 65 72 20 6f 66 20 74 77 6f 2c 20 61 6e 64 0a 20 20 20 20 .always.a.power.of.two,.and.....
33e60 20 20 6c 65 73 73 20 74 68 61 6e 20 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 ..less.than.<code><span.class="t
33e80 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 3c 73 70 ok-number">1</span>.&lt;&lt;.<sp
33ea0 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 6e 3e 3c an.class="tok-number">29</span><
33ec0 2f 63 6f 64 65 3e 2e 0a 20 20 20 20 20 20 3c 2f 70 3e 0a 20 20 20 20 20 20 3c 70 3e 0a 20 20 20 /code>........</p>.......<p>....
33ee0 20 20 20 50 6f 69 6e 74 65 72 20 74 79 70 65 73 20 6d 61 79 20 65 78 70 6c 69 63 69 74 6c 79 20 ...Pointer.types.may.explicitly.
33f00 73 70 65 63 69 66 79 20 61 6e 20 61 6c 69 67 6e 6d 65 6e 74 20 69 6e 20 62 79 74 65 73 2e 20 49 specify.an.alignment.in.bytes..I
33f20 66 20 69 74 20 69 73 20 6e 6f 74 0a 20 20 20 20 20 20 73 70 65 63 69 66 69 65 64 2c 20 74 68 65 f.it.is.not.......specified,.the
33f40 20 61 6c 69 67 6e 6d 65 6e 74 20 69 73 20 61 73 73 75 6d 65 64 20 74 6f 20 62 65 20 65 71 75 61 .alignment.is.assumed.to.be.equa
33f60 6c 20 74 6f 20 74 68 65 20 61 6c 69 67 6e 6d 65 6e 74 20 6f 66 20 74 68 65 0a 20 20 20 20 20 20 l.to.the.alignment.of.the.......
33f80 75 6e 64 65 72 6c 79 69 6e 67 20 74 79 70 65 2e 0a 20 20 20 20 20 20 3c 2f 70 3e 0a 20 20 20 20 underlying.type........</p>.....
33fa0 20 20 3c 66 69 67 75 72 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
33fc0 2d 63 61 70 22 3e 3c 63 69 74 65 20 63 6c 61 73 73 3d 22 66 69 6c 65 22 3e 74 65 73 74 5f 76 61 -cap"><cite.class="file">test_va
33fe0 72 69 61 62 6c 65 5f 61 6c 69 67 6e 6d 65 6e 74 2e 7a 69 67 3c 2f 63 69 74 65 3e 3c 2f 66 69 67 riable_alignment.zig</cite></fig
34000 63 61 70 74 69 6f 6e 3e 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="
34020 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
34040 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
34060 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;
34080 73 74 64 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 29 3b 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 std&quot;</span>);.<span.class="
340a0 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.=.<
340c0 73 70 61 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
340e0 3c 2f 73 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
34100 75 6f 74 3b 62 75 69 6c 74 69 6e 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 29 3b 0a 3c 73 70 61 6e uot;builtin&quot;</span>);.<span
34120 20 63 6c 61 73 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
34140 65 63 74 20 3d 20 73 74 64 2e 74 65 73 74 69 6e 67 2e 65 78 70 65 63 74 3b 0a 3c 73 70 61 6e 20 ect.=.std.testing.expect;.<span.
34160 63 6c 61 73 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
34180 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 65 63 74 45 71 75 61 ctEqual.=.std.testing.expectEqua
341a0 6c 3b 0a 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 74 65 73 74 3c 2f 73 l;..<span.class="tok-kw">test</s
341c0 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
341e0 3b 76 61 72 69 61 62 6c 65 20 61 6c 69 67 6e 6d 65 6e 74 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e ;variable.alignment&quot;</span>
34200 20 7b 0a 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 76 61 72 3c .{.....<span.class="tok-kw">var<
34220 2f 73 70 61 6e 3e 20 78 3a 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 /span>.x:.<span.class="tok-type"
34240 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
34260 75 6d 62 65 72 22 3e 31 32 33 34 3c 2f 73 70 61 6e 3e 3b 0a 0a 20 20 20 20 3c 73 70 61 6e 20 63 umber">1234</span>;......<span.c
34280 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 74 72 79 3c 2f 73 70 61 6e 3e 20 65 78 70 65 63 74 45 lass="tok-kw">try</span>.expectE
342a0 71 75 61 6c 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 qual(*<span.class="tok-type">i32
342c0 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
342e0 6e 22 3e 40 54 79 70 65 4f 66 3c 2f 73 70 61 6e 3e 28 26 61 6d 70 3b 78 29 29 3b 0a 0a 20 20 20 n">@TypeOf</span>(&amp;x));.....
34300 20 3c 73 70 61 6e 20 63 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>
34320 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
34340 22 3e 40 69 6e 74 46 72 6f 6d 50 74 72 3c 2f 73 70 61 6e 3e 28 26 61 6d 70 3b 78 29 20 25 20 3c ">@intFromPtr</span>(&amp;x).%.<
34360 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 62 75 69 6c 74 69 6e 22 3e 40 61 6c 69 67 6e 4f span.class="tok-builtin">@alignO
34380 66 3c 2f 73 70 61 6e 3e 28 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e f</span>(<span.class="tok-type">
343a0 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 74 6f 6b 2d i32</span>).==.<span.class="tok-
343c0 6e 75 6d 62 65 72 22 3e 30 3c 2f 73 70 61 6e 3e 29 3b 0a 0a 20 20 20 20 3c 73 70 61 6e 20 63 6c number">0</span>);......<span.cl
343e0 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 69 6d 70 6c 69 63 69 ass="tok-comment">//.The.implici
34400 74 6c 79 2d 61 6c 69 67 6e 65 64 20 70 6f 69 6e 74 65 72 20 63 61 6e 20 62 65 20 63 6f 65 72 63 tly-aligned.pointer.can.be.coerc
34420 65 64 20 74 6f 20 62 65 20 65 78 70 6c 69 63 69 74 6c 79 2d 61 6c 69 67 6e 65 64 20 74 6f 3c 2f ed.to.be.explicitly-aligned.to</
34440 73 70 61 6e 3e 0a 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 63 6f 6d 6d 65 span>.....<span.class="tok-comme
34460 6e 74 22 3e 2f 2f 20 74 68 65 20 61 6c 69 67 6e 6d 65 6e 74 20 6f 66 20 74 68 65 20 75 6e 64 65 nt">//.the.alignment.of.the.unde
34480 72 6c 79 69 6e 67 20 74 79 70 65 20 60 69 33 32 60 3a 3c 2f 73 70 61 6e 3e 0a 20 20 20 20 3c 73 rlying.type.`i32`:</span>.....<s
344a0 70 61 6e 20 63 6c 61 73 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>.
344c0 70 74 72 3a 20 2a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 61 6c 69 67 6e ptr:.*<span.class="tok-kw">align
344e0 3c 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
34500 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 74 ">@alignOf</span>(<span.class="t
34520 6f 6b 2d 74 79 70 65 22 3e 69 33 32 3c 2f 73 70 61 6e 3e 29 29 20 3c 73 70 61 6e 20 63 6c 61 73 ok-type">i32</span>)).<span.clas
34540 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 69 33 32 3c 2f 73 70 61 6e 3e 20 3d 20 26 61 6d 70 3b 78 s="tok-type">i32</span>.=.&amp;x
34560 3b 0a 0a 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 74 72 79 3c ;......<span.class="tok-kw">try<
34580 2f 73 70 61 6e 3e 20 65 78 70 65 63 74 45 71 75 61 6c 28 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 /span>.expectEqual(<span.class="
345a0 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 31 32 33 34 3c 2f 73 70 61 6e 3e 2c 20 70 74 72 2e 2a 29 3b tok-number">1234</span>,.ptr.*);
345c0 0a 7d 3c 2f 63 6f 64 65 3e 3c 2f 70 72 65 3e 3c 2f 66 69 67 75 72 65 3e 3c 66 69 67 75 72 65 3e .}</code></pre></figure><figure>
345e0 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
34600 65 6c 6c 3c 2f 66 69 67 63 61 70 74 69 6f 6e 3e 3c 70 72 65 3e 3c 73 61 6d 70 3e 24 20 3c 6b 62 ell</figcaption><pre><samp>$.<kb
34620 64 3e 7a 69 67 20 74 65 73 74 20 74 65 73 74 5f 76 61 72 69 61 62 6c 65 5f 61 6c 69 67 6e 6d 65 d>zig.test.test_variable_alignme
34640 6e 74 2e 7a 69 67 3c 2f 6b 62 64 3e 0a 31 2f 31 20 74 65 73 74 5f 76 61 72 69 61 62 6c 65 5f 61 nt.zig</kbd>.1/1.test_variable_a
34660 6c 69 67 6e 6d 65 6e 74 2e 74 65 73 74 2e 76 61 72 69 61 62 6c 65 20 61 6c 69 67 6e 6d 65 6e 74 lignment.test.variable.alignment
34680 2e 2e 2e 4f 4b 0a 41 6c 6c 20 31 20 74 65 73 74 73 20 70 61 73 73 65 64 2e 0a 3c 2f 73 61 6d 70 ...OK.All.1.tests.passed..</samp
346a0 3e 3c 2f 70 72 65 3e 3c 2f 66 69 67 75 72 65 3e 0a 0a 20 20 20 20 20 20 3c 70 3e 49 6e 20 74 68 ></pre></figure>........<p>In.th
346c0 65 20 73 61 6d 65 20 77 61 79 20 74 68 61 74 20 61 20 3c 63 6f 64 65 3e 2a 3c 73 70 61 6e 20 63 e.same.way.that.a.<code>*<span.c
346e0 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 69 33 32 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 lass="tok-type">i32</span></code
34700 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 6f 6e >.can.be.<a.href="#Type-Coercion
34720 22 3e 63 6f 65 72 63 65 64 3c 2f 61 3e 20 74 6f 20 61 0a 20 20 20 20 20 20 20 20 20 20 3c 63 6f ">coerced</a>.to.a...........<co
34740 64 65 3e 2a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 63 6f 6e 73 74 3c 2f de>*<span.class="tok-kw">const</
34760 73 70 61 6e 3e 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 69 33 32 span>.<span.class="tok-type">i32
34780 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 2c 20 61 20 70 6f 69 6e 74 65 72 20 77 69 74 68 20 61 </span></code>,.a.pointer.with.a
347a0 20 6c 61 72 67 65 72 20 61 6c 69 67 6e 6d 65 6e 74 20 63 61 6e 20 62 65 20 69 6d 70 6c 69 63 69 .larger.alignment.can.be.implici
347c0 74 6c 79 0a 20 20 20 20 20 20 63 61 73 74 20 74 6f 20 61 20 70 6f 69 6e 74 65 72 20 77 69 74 68 tly.......cast.to.a.pointer.with
347e0 20 61 20 73 6d 61 6c 6c 65 72 20 61 6c 69 67 6e 6d 65 6e 74 2c 20 62 75 74 20 6e 6f 74 20 76 69 .a.smaller.alignment,.but.not.vi
34800 63 65 20 76 65 72 73 61 2e 0a 20 20 20 20 20 20 3c 2f 70 3e 0a 20 20 20 20 20 20 3c 70 3e 0a 20 ce.versa........</p>.......<p>..
34820 20 20 20 20 20 59 6f 75 20 63 61 6e 20 73 70 65 63 69 66 79 20 61 6c 69 67 6e 6d 65 6e 74 20 6f .....You.can.specify.alignment.o
34840 6e 20 76 61 72 69 61 62 6c 65 73 20 61 6e 64 20 66 75 6e 63 74 69 6f 6e 73 2e 20 49 66 20 79 6f n.variables.and.functions..If.yo
34860 75 20 64 6f 20 74 68 69 73 2c 20 74 68 65 6e 0a 20 20 20 20 20 20 70 6f 69 6e 74 65 72 73 20 74 u.do.this,.then.......pointers.t
34880 6f 20 74 68 65 6d 20 67 65 74 20 74 68 65 20 73 70 65 63 69 66 69 65 64 20 61 6c 69 67 6e 6d 65 o.them.get.the.specified.alignme
348a0 6e 74 3a 0a 20 20 20 20 20 20 3c 2f 70 3e 0a 20 20 20 20 20 20 3c 66 69 67 75 72 65 3e 3c 66 69 nt:.......</p>.......<figure><fi
348c0 67 63 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
348e0 6c 61 73 73 3d 22 66 69 6c 65 22 3e 74 65 73 74 5f 76 61 72 69 61 62 6c 65 5f 66 75 6e 63 5f 61 lass="file">test_variable_func_a
34900 6c 69 67 6e 6d 65 6e 74 2e 7a 69 67 3c 2f 63 69 74 65 3e 3c 2f 66 69 67 63 61 70 74 69 6f 6e 3e lignment.zig</cite></figcaption>
34920 3c 70 72 65 3e 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e <pre><code><span.class="tok-kw">
34940 63 6f 6e 73 74 3c 2f 73 70 61 6e 3e 20 65 78 70 65 63 74 45 71 75 61 6c 20 3d 20 3c 73 70 61 6e const</span>.expectEqual.=.<span
34960 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
34980 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;
349a0 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
349c0 45 71 75 61 6c 3b 0a 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 76 61 72 Equal;..<span.class="tok-kw">var
349e0 3c 2f 73 70 61 6e 3e 20 66 6f 6f 3a 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 </span>.foo:.<span.class="tok-ty
34a00 70 65 22 3e 75 38 3c 2f 73 70 61 6e 3e 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b pe">u8</span>.<span.class="tok-k
34a20 77 22 3e 61 6c 69 67 6e 3c 2f 73 70 61 6e 3e 28 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b w">align</span>(<span.class="tok
34a40 2d 6e 75 6d 62 65 72 22 3e 34 3c 2f 73 70 61 6e 3e 29 20 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 -number">4</span>).=.<span.class
34a60 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 31 30 30 3c 2f 73 70 61 6e 3e 3b 0a 0a 3c 73 70 61 6e ="tok-number">100</span>;..<span
34a80 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
34aa0 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 6c 20 76 n.class="tok-str">&quot;global.v
34ac0 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>.{
34ae0 0a 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 74 72 79 3c 2f 73 .....<span.class="tok-kw">try</s
34b00 70 61 6e 3e 20 65 78 70 65 63 74 45 71 75 61 6c 28 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f pan>.expectEqual(<span.class="to
34b20 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=
34b40 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 3c "tok-builtin">@typeInfo</span>(<
34b60 73 70 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
34b80 3c 2f 73 70 61 6e 3e 28 26 61 6d 70 3b 66 6f 6f 29 29 2e 70 6f 69 6e 74 65 72 2e 61 6c 69 67 6e </span>(&amp;foo)).pointer.align
34ba0 6d 65 6e 74 29 3b 0a 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e ment);.....<span.class="tok-kw">
34bc0 74 72 79 3c 2f 73 70 61 6e 3e 20 65 78 70 65 63 74 45 71 75 61 6c 28 2a 3c 73 70 61 6e 20 63 6c try</span>.expectEqual(*<span.cl
34be0 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.
34c00 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 34 3c 2f 73 70 61 6e 3e 29 20 3c 73 70 class="tok-number">4</span>).<sp
34c20 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>,.<
34c40 73 70 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
34c60 3c 2f 73 70 61 6e 3e 28 26 61 6d 70 3b 66 6f 6f 29 29 3b 0a 20 20 20 20 3c 73 70 61 6e 20 63 6c </span>(&amp;foo));.....<span.cl
34c80 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 63 6f 6e 73 74 3c 2f 73 70 61 6e 3e 20 61 73 5f 70 6f 69 ass="tok-kw">const</span>.as_poi
34ca0 6e 74 65 72 5f 74 6f 5f 61 72 72 61 79 3a 20 2a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b nter_to_array:.*<span.class="tok
34cc0 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
34ce0 6f 6b 2d 6e 75 6d 62 65 72 22 3e 34 3c 2f 73 70 61 6e 3e 29 20 5b 3c 73 70 61 6e 20 63 6c 61 73 ok-number">4</span>).[<span.clas
34d00 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 31 3c 2f 73 70 61 6e 3e 5d 3c 73 70 61 6e 20 63 6c s="tok-number">1</span>]<span.cl
34d20 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 75 38 3c 2f 73 70 61 6e 3e 20 3d 20 26 61 6d 70 3b ass="tok-type">u8</span>.=.&amp;
34d40 66 6f 6f 3b 0a 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 63 6f foo;.....<span.class="tok-kw">co
34d60 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
34d80 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
34da0 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 34 3c 2f 73 70 61 6e 3e 29 20 3c 73 70 61 lass="tok-number">4</span>).<spa
34dc0 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 61 n.class="tok-type">u8</span>.=.a
34de0 73 5f 70 6f 69 6e 74 65 72 5f 74 6f 5f 61 72 72 61 79 3b 0a 20 20 20 20 3c 73 70 61 6e 20 63 6c s_pointer_to_array;.....<span.cl
34e00 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 63 6f 6e 73 74 3c 2f 73 70 61 6e 3e 20 61 73 5f 75 6e 61 ass="tok-kw">const</span>.as_una
34e20 6c 69 67 6e 65 64 5f 73 6c 69 63 65 3a 20 5b 5d 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b ligned_slice:.[]<span.class="tok
34e40 2d 74 79 70 65 22 3e 75 38 3c 2f 73 70 61 6e 3e 20 3d 20 61 73 5f 73 6c 69 63 65 3b 0a 20 20 20 -type">u8</span>.=.as_slice;....
34e60 20 3c 73 70 61 6e 20 63 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>
34e80 20 65 78 70 65 63 74 45 71 75 61 6c 28 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 .expectEqual(<span.class="tok-nu
34ea0 6d 62 65 72 22 3e 31 30 30 3c 2f 73 70 61 6e 3e 2c 20 61 73 5f 75 6e 61 6c 69 67 6e 65 64 5f 73 mber">100</span>,.as_unaligned_s
34ec0 6c 69 63 65 5b 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 30 3c lice[<span.class="tok-number">0<
34ee0 2f 73 70 61 6e 3e 5d 29 3b 0a 7d 0a 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 /span>]);.}..<span.class="tok-kw
34f00 22 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"
34f20 3e 64 65 72 70 3c 2f 73 70 61 6e 3e 28 29 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d >derp</span>().<span.class="tok-
34f40 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
34f60 6b 2d 62 75 69 6c 74 69 6e 22 3e 40 73 69 7a 65 4f 66 3c 2f 73 70 61 6e 3e 28 3c 73 70 61 6e 20 k-builtin">@sizeOf</span>(<span.
34f80 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 75 73 69 7a 65 3c 2f 73 70 61 6e 3e 29 20 2a class="tok-type">usize</span>).*
34fa0 20 3c 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
34fc0 6e 3e 29 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 69 33 32 3c 2f n>).<span.class="tok-type">i32</
34fe0 73 70 61 6e 3e 20 7b 0a 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 span>.{.....<span.class="tok-kw"
35000 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-
35020 6e 75 6d 62 65 72 22 3e 31 32 33 34 3c 2f 73 70 61 6e 3e 3b 0a 7d 0a 3c 73 70 61 6e 20 63 6c 61 number">1234</span>;.}.<span.cla
35040 73 73 3d 22 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
35060 73 3d 22 74 6f 6b 2d 66 6e 22 3e 6e 6f 6f 70 31 3c 2f 73 70 61 6e 3e 28 29 20 3c 73 70 61 6e 20 s="tok-fn">noop1</span>().<span.
35080 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 61 6c 69 67 6e 3c 2f 73 70 61 6e 3e 28 3c 73 70 61 class="tok-kw">align</span>(<spa
350a0 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 3c n.class="tok-number">1</span>).<
350c0 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
350e0 3e 20 7b 7d 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 66 6e 3c 2f 73 70 >.{}.<span.class="tok-kw">fn</sp
35100 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 34 3c 2f an>.<span.class="tok-fn">noop4</
35120 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
35140 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
35160 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 6b 2d 74 79 r">4</span>).<span.class="tok-ty
35180 70 65 22 3e 76 6f 69 64 3c 2f 73 70 61 6e 3e 20 7b 7d 0a 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d pe">void</span>.{}..<span.class=
351a0 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
351c0 3d 22 74 6f 6b 2d 73 74 72 22 3e 26 71 75 6f 74 3b 66 75 6e 63 74 69 6f 6e 20 61 6c 69 67 6e 6d ="tok-str">&quot;function.alignm
351e0 65 6e 74 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 20 7b 0a 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 ent&quot;</span>.{.....<span.cla
35200 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 74 72 79 3c 2f 73 70 61 6e 3e 20 65 78 70 65 63 74 45 71 75 ss="tok-kw">try</span>.expectEqu
35220 61 6c 28 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 31 32 33 34 al(<span.class="tok-number">1234
35240 3c 2f 73 70 61 6e 3e 2c 20 64 65 72 70 28 29 29 3b 0a 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 </span>,.derp());.....<span.clas
35260 73 3d 22 74 6f 6b 2d 6b 77 22 3e 74 72 79 3c 2f 73 70 61 6e 3e 20 65 78 70 65 63 74 45 71 75 61 s="tok-kw">try</span>.expectEqua
35280 6c 28 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 l(<span.class="tok-kw">fn</span>
352a0 20 28 29 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 69 33 32 3c 2f .().<span.class="tok-type">i32</
352c0 73 70 61 6e 3e 2c 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 62 75 69 6c 74 69 6e 22 span>,.<span.class="tok-builtin"
352e0 3e 40 54 79 70 65 4f 66 3c 2f 73 70 61 6e 3e 28 64 65 72 70 29 29 3b 0a 20 20 20 20 3c 73 70 61 >@TypeOf</span>(derp));.....<spa
35300 6e 20 63 6c 61 73 73 3d 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
35320 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
35340 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 69 6c ign</span>(<span.class="tok-buil
35360 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 73 3d tin">@sizeOf</span>(<span.class=
35380 22 74 6f 6b 2d 74 79 70 65 22 3e 75 73 69 7a 65 3c 2f 73 70 61 6e 3e 29 20 2a 20 3c 73 70 61 6e "tok-type">usize</span>).*.<span
353a0 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 32 3c 2f 73 70 61 6e 3e 29 20 3c 73 .class="tok-number">2</span>).<s
353c0 70 61 6e 20 63 6c 61 73 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>.
353e0 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 28 <span.class="tok-kw">fn</span>.(
35400 29 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 69 33 32 3c 2f 73 70 ).<span.class="tok-type">i32</sp
35420 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 40 an>,.<span.class="tok-builtin">@
35440 54 79 70 65 4f 66 3c 2f 73 70 61 6e 3e 28 26 61 6d 70 3b 64 65 72 70 29 29 3b 0a 0a 20 20 20 20 TypeOf</span>(&amp;derp));......
35460 6e 6f 6f 70 31 28 29 3b 0a 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 noop1();.....<span.class="tok-kw
35480 22 3e 74 72 79 3c 2f 73 70 61 6e 3e 20 65 78 70 65 63 74 45 71 75 61 6c 28 3c 73 70 61 6e 20 63 ">try</span>.expectEqual(<span.c
354a0 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 66 6e 3c 2f 73 70 61 6e 3e 20 28 29 20 3c 73 70 61 6e lass="tok-kw">fn</span>.().<span
354c0 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 76 6f 69 64 3c 2f 73 70 61 6e 3e 2c 20 3c .class="tok-type">void</span>,.<
354e0 73 70 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
35500 3c 2f 73 70 61 6e 3e 28 6e 6f 6f 70 31 29 29 3b 0a 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 </span>(noop1));.....<span.class
35520 3d 22 74 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 ="tok-kw">try</span>.expectEqual
35540 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 73 70 (*<span.class="tok-kw">align</sp
35560 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 3c 2f an>(<span.class="tok-number">1</
35580 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 6f 6e 73 span>).<span.class="tok-kw">cons
355a0 74 3c 2f 73 70 61 6e 3e 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 66 6e t</span>.<span.class="tok-kw">fn
355c0 3c 2f 73 70 61 6e 3e 20 28 29 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 </span>.().<span.class="tok-type
355e0 22 3e 76 6f 69 64 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 ">void</span>,.<span.class="tok-
35600 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 6e 6f 6f builtin">@TypeOf</span>(&amp;noo
35620 70 31 29 29 3b 0a 0a 20 20 20 20 6e 6f 6f 70 34 28 29 3b 0a 20 20 20 20 3c 73 70 61 6e 20 63 6c p1));......noop4();.....<span.cl
35640 61 73 73 3d 22 74 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 ass="tok-kw">try</span>.expectEq
35660 75 61 6c 28 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 ual(<span.class="tok-kw">fn</spa
35680 6e 3e 20 28 29 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 76 6f 69 n>.().<span.class="tok-type">voi
356a0 64 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 d</span>,.<span.class="tok-built
356c0 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 29 3b 0a 20 20 20 20 in">@TypeOf</span>(noop4));.....
356e0 3c 73 70 61 6e 20 63 6c 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>.
35700 65 78 70 65 63 74 45 71 75 61 6c 28 2a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 expectEqual(*<span.class="tok-kw
35720 22 3e 61 6c 69 67 6e 3c 2f 73 70 61 6e 3e 28 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d ">align</span>(<span.class="tok-
35740 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 3d 22 74 number">4</span>).<span.class="t
35760 6f 6b 2d 6b 77 22 3e 63 6f 6e 73 74 3c 2f 73 70 61 6e 3e 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d ok-kw">const</span>.<span.class=
35780 22 74 6f 6b 2d 6b 77 22 3e 66 6e 3c 2f 73 70 61 6e 3e 20 28 29 20 3c 73 70 61 6e 20 63 6c 61 73 "tok-kw">fn</span>.().<span.clas
357a0 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 20 3c 73 70 61 6e 20 s="tok-type">void</span>,.<span.
357c0 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
357e0 6e 3e 28 26 61 6d 70 3b 6e 6f 6f 70 34 29 29 3b 0a 7d 3c 2f 63 6f 64 65 3e 3c 2f 70 72 65 3e 3c n>(&amp;noop4));.}</code></pre><
35800 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
35820 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>
35840 3c 70 72 65 3e 3c 73 61 6d 70 3e 24 20 3c 6b 62 64 3e 7a 69 67 20 74 65 73 74 20 74 65 73 74 5f <pre><samp>$.<kbd>zig.test.test_
35860 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 6b 62 64 variable_func_alignment.zig</kbd
35880 3e 0a 31 2f 32 20 74 65 73 74 5f 76 61 72 69 61 62 6c 65 5f 66 75 6e 63 5f 61 6c 69 67 6e 6d 65 >.1/2.test_variable_func_alignme
358a0 6e 74 2e 74 65 73 74 2e 67 6c 6f 62 61 6c 20 76 61 72 69 61 62 6c 65 20 61 6c 69 67 6e 6d 65 6e nt.test.global.variable.alignmen
358c0 74 2e 2e 2e 4f 4b 0a 32 2f 32 20 74 65 73 74 5f 76 61 72 69 61 62 6c 65 5f 66 75 6e 63 5f 61 6c t...OK.2/2.test_variable_func_al
358e0 69 67 6e 6d 65 6e 74 2e 74 65 73 74 2e 66 75 6e 63 74 69 6f 6e 20 61 6c 69 67 6e 6d 65 6e 74 2e ignment.test.function.alignment.
35900 2e 2e 4f 4b 0a 41 6c 6c 20 32 20 74 65 73 74 73 20 70 61 73 73 65 64 2e 0a 3c 2f 73 61 6d 70 3e ..OK.All.2.tests.passed..</samp>
35920 3c 2f 70 72 65 3e 3c 2f 66 69 67 75 72 65 3e 0a 0a 20 20 20 20 20 20 3c 70 3e 0a 20 20 20 20 20 </pre></figure>........<p>......
35940 20 49 66 20 79 6f 75 20 68 61 76 65 20 61 20 70 6f 69 6e 74 65 72 20 6f 72 20 61 20 73 6c 69 63 .If.you.have.a.pointer.or.a.slic
35960 65 20 74 68 61 74 20 68 61 73 20 61 20 73 6d 61 6c 6c 20 61 6c 69 67 6e 6d 65 6e 74 2c 20 62 75 e.that.has.a.small.alignment,.bu
35980 74 20 79 6f 75 20 6b 6e 6f 77 20 74 68 61 74 20 69 74 20 61 63 74 75 61 6c 6c 79 0a 20 20 20 20 t.you.know.that.it.actually.....
359a0 20 20 68 61 73 20 61 20 62 69 67 67 65 72 20 61 6c 69 67 6e 6d 65 6e 74 2c 20 75 73 65 20 3c 61 ..has.a.bigger.alignment,.use.<a
359c0 20 68 72 65 66 3d 22 23 61 6c 69 67 6e 43 61 73 74 22 3e 40 61 6c 69 67 6e 43 61 73 74 3c 2f 61 .href="#alignCast">@alignCast</a
359e0 3e 20 74 6f 20 63 68 61 6e 67 65 20 74 68 65 0a 20 20 20 20 20 20 70 6f 69 6e 74 65 72 20 69 6e >.to.change.the.......pointer.in
35a00 74 6f 20 61 20 6d 6f 72 65 20 61 6c 69 67 6e 65 64 20 70 6f 69 6e 74 65 72 2e 20 54 68 69 73 20 to.a.more.aligned.pointer..This.
35a20 69 73 20 61 20 6e 6f 2d 6f 70 20 61 74 20 72 75 6e 74 69 6d 65 2c 20 62 75 74 20 69 6e 73 65 72 is.a.no-op.at.runtime,.but.inser
35a40 74 73 20 61 0a 20 20 20 20 20 20 3c 61 20 68 72 65 66 3d 22 23 49 6e 63 6f 72 72 65 63 74 2d 50 ts.a.......<a.href="#Incorrect-P
35a60 6f 69 6e 74 65 72 2d 41 6c 69 67 6e 6d 65 6e 74 22 3e 73 61 66 65 74 79 20 63 68 65 63 6b 3c 2f ointer-Alignment">safety.check</
35a80 61 3e 3a 0a 20 20 20 20 20 20 3c 2f 70 3e 0a 20 20 20 20 20 20 3c 66 69 67 75 72 65 3e 3c 66 69 a>:.......</p>.......<figure><fi
35aa0 67 63 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
35ac0 6c 61 73 73 3d 22 66 69 6c 65 22 3e 74 65 73 74 5f 69 6e 63 6f 72 72 65 63 74 5f 70 6f 69 6e 74 lass="file">test_incorrect_point
35ae0 65 72 5f 61 6c 69 67 6e 6d 65 6e 74 2e 7a 69 67 3c 2f 63 69 74 65 3e 3c 2f 66 69 67 63 61 70 74 er_alignment.zig</cite></figcapt
35b00 69 6f 6e 3e 3c 70 72 65 3e 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d ion><pre><code><span.class="tok-
35b20 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
35b40 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>(
35b60 3c 73 70 61 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&
35b80 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 29 3b 0a 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b quot;</span>);..<span.class="tok
35ba0 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
35bc0 6b 2d 73 74 72 22 3e 26 71 75 6f 74 3b 70 6f 69 6e 74 65 72 20 61 6c 69 67 6e 6d 65 6e 74 20 73 k-str">&quot;pointer.alignment.s
35be0 61 66 65 74 79 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 20 7b 0a 20 20 20 20 3c 73 70 61 6e 20 63 afety&quot;</span>.{.....<span.c
35c00 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 76 61 72 3c 2f 73 70 61 6e 3e 20 61 72 72 61 79 20 3c lass="tok-kw">var</span>.array.<
35c20 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 61 6c 69 67 6e 3c 2f 73 70 61 6e 3e span.class="tok-kw">align</span>
35c40 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
35c60 6e 3e 29 20 3d 20 5b 5f 5d 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e n>).=.[_]<span.class="tok-type">
35c80 75 33 32 3c 2f 73 70 61 6e 3e 7b 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d u32</span>{.<span.class="tok-num
35ca0 62 65 72 22 3e 30 78 31 31 31 31 31 31 31 31 3c 2f 73 70 61 6e 3e 2c 20 3c 73 70 61 6e 20 63 6c ber">0x11111111</span>,.<span.cl
35cc0 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 30 78 31 31 31 31 31 31 31 31 3c 2f 73 70 61 ass="tok-number">0x11111111</spa
35ce0 6e 3e 20 7d 3b 0a 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 63 n>.};.....<span.class="tok-kw">c
35d00 6f 6e 73 74 3c 2f 73 70 61 6e 3e 20 62 79 74 65 73 20 3d 20 73 74 64 2e 6d 65 6d 2e 73 6c 69 63 onst</span>.bytes.=.std.mem.slic
35d20 65 41 73 42 79 74 65 73 28 61 72 72 61 79 5b 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d eAsBytes(array[<span.class="tok-
35d40 6e 75 6d 62 65 72 22 3e 30 3c 2f 73 70 61 6e 3e 2e 2e 5d 29 3b 0a 20 20 20 20 3c 73 70 61 6e 20 number">0</span>..]);.....<span.
35d60 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 74 72 79 3c 2f 73 70 61 6e 3e 20 73 74 64 2e 74 65 class="tok-kw">try</span>.std.te
35d80 73 74 69 6e 67 2e 65 78 70 65 63 74 45 71 75 61 6c 28 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 sting.expectEqual(<span.class="t
35da0 6f 6b 2d 6e 75 6d 62 65 72 22 3e 30 78 31 31 31 31 31 31 31 31 3c 2f 73 70 61 6e 3e 2c 20 66 6f ok-number">0x11111111</span>,.fo
35dc0 6f 28 62 79 74 65 73 29 29 3b 0a 7d 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 o(bytes));.}.<span.class="tok-kw
35de0 22 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"
35e00 3e 66 6f 6f 3c 2f 73 70 61 6e 3e 28 62 79 74 65 73 3a 20 5b 5d 3c 73 70 61 6e 20 63 6c 61 73 73 >foo</span>(bytes:.[]<span.class
35e20 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 75 38 3c 2f 73 70 61 6e 3e 29 20 3c 73 70 61 6e 20 63 6c 61 ="tok-type">u8</span>).<span.cla
35e40 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 75 33 32 3c 2f 73 70 61 6e 3e 20 7b 0a 20 20 20 20 3c ss="tok-type">u32</span>.{.....<
35e60 73 70 61 6e 20 63 6c 61 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>
35e80 20 73 6c 69 63 65 34 20 3d 20 62 79 74 65 73 5b 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b .slice4.=.bytes[<span.class="tok
35ea0 2d 6e 75 6d 62 65 72 22 3e 31 3c 2f 73 70 61 6e 3e 2e 2e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 -number">1</span>..<span.class="
35ec0 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 35 3c 2f 73 70 61 6e 3e 5d 3b 0a 20 20 20 20 3c 73 70 61 6e tok-number">5</span>];.....<span
35ee0 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 63 6f 6e 73 74 3c 2f 73 70 61 6e 3e 20 69 6e 74 .class="tok-kw">const</span>.int
35f00 5f 73 6c 69 63 65 20 3d 20 73 74 64 2e 6d 65 6d 2e 62 79 74 65 73 41 73 53 6c 69 63 65 28 3c 73 _slice.=.std.mem.bytesAsSlice(<s
35f20 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>,
35f40 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 62 75 69 6c 74 69 6e 22 3e 40 61 73 3c 2f .<span.class="tok-builtin">@as</
35f60 73 70 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 61 6c 69 span>([]<span.class="tok-kw">ali
35f80 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
35fa0 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 6b 2d 74 79 r">4</span>).<span.class="tok-ty
35fc0 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-
35fe0 62 75 69 6c 74 69 6e 22 3e 40 61 6c 69 67 6e 43 61 73 74 3c 2f 73 70 61 6e 3e 28 73 6c 69 63 65 builtin">@alignCast</span>(slice
36000 34 29 29 29 3b 0a 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 72 4)));.....<span.class="tok-kw">r
36020 65 74 75 72 6e 3c 2f 73 70 61 6e 3e 20 69 6e 74 5f 73 6c 69 63 65 5b 3c 73 70 61 6e 20 63 6c 61 eturn</span>.int_slice[<span.cla
36040 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 0a 7d 3c 2f 63 6f ss="tok-number">0</span>];.}</co
36060 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
36080 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
360a0 69 67 63 61 70 74 69 6f 6e 3e 3c 70 72 65 3e 3c 73 61 6d 70 3e 24 20 3c 6b 62 64 3e 7a 69 67 20 igcaption><pre><samp>$.<kbd>zig.
360c0 74 65 73 74 20 74 65 73 74 5f 69 6e 63 6f 72 72 65 63 74 5f 70 6f 69 6e 74 65 72 5f 61 6c 69 67 test.test_incorrect_pointer_alig
360e0 6e 6d 65 6e 74 2e 7a 69 67 3c 2f 6b 62 64 3e 0a 31 2f 31 20 74 65 73 74 5f 69 6e 63 6f 72 72 65 nment.zig</kbd>.1/1.test_incorre
36100 63 74 5f 70 6f 69 6e 74 65 72 5f 61 6c 69 67 6e 6d 65 6e 74 2e 74 65 73 74 2e 70 6f 69 6e 74 65 ct_pointer_alignment.test.pointe
36120 72 20 61 6c 69 67 6e 6d 65 6e 74 20 73 61 66 65 74 79 2e 2e 2e 74 68 72 65 61 64 20 32 33 32 37 r.alignment.safety...thread.2327
36140 39 39 20 70 61 6e 69 63 3a 20 69 6e 63 6f 72 72 65 63 74 20 61 6c 69 67 6e 6d 65 6e 74 0a 2f 68 99.panic:.incorrect.alignment./h
36160 6f 6d 65 2f 63 69 2f 77 6f 72 6b 2f 7a 69 67 2d 62 6f 6f 74 73 74 72 61 70 2f 7a 69 67 2f 64 6f ome/ci/work/zig-bootstrap/zig/do
36180 63 2f 6c 61 6e 67 72 65 66 2f 74 65 73 74 5f 69 6e 63 6f 72 72 65 63 74 5f 70 6f 69 6e 74 65 72 c/langref/test_incorrect_pointer
361a0 5f 61 6c 69 67 6e 6d 65 6e 74 2e 7a 69 67 3a 31 30 3a 36 38 3a 20 30 78 31 32 33 38 63 33 36 20 _alignment.zig:10:68:.0x1238c36.
361c0 69 6e 20 66 6f 6f 20 28 74 65 73 74 5f 69 6e 63 6f 72 72 65 63 74 5f 70 6f 69 6e 74 65 72 5f 61 in.foo.(test_incorrect_pointer_a
361e0 6c 69 67 6e 6d 65 6e 74 2e 7a 69 67 29 0a 20 20 20 20 63 6f 6e 73 74 20 69 6e 74 5f 73 6c 69 63 lignment.zig).....const.int_slic
36200 65 20 3d 20 73 74 64 2e 6d 65 6d 2e 62 79 74 65 73 41 73 53 6c 69 63 65 28 75 33 32 2c 20 40 61 e.=.std.mem.bytesAsSlice(u32,.@a
36220 73 28 5b 5d 61 6c 69 67 6e 28 34 29 20 75 38 2c 20 40 61 6c 69 67 6e 43 61 73 74 28 73 6c 69 63 s([]align(4).u8,.@alignCast(slic
36240 65 34 29 29 29 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 e4)));..........................
36260 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ................................
36280 20 20 20 20 20 20 20 20 20 20 5e 0a 2f 68 6f 6d 65 2f 63 69 2f 77 6f 72 6b 2f 7a 69 67 2d 62 6f ..........^./home/ci/work/zig-bo
362a0 6f 74 73 74 72 61 70 2f 7a 69 67 2f 64 6f 63 2f 6c 61 6e 67 72 65 66 2f 74 65 73 74 5f 69 6e 63 otstrap/zig/doc/langref/test_inc
362c0 6f 72 72 65 63 74 5f 70 6f 69 6e 74 65 72 5f 61 6c 69 67 6e 6d 65 6e 74 2e 7a 69 67 3a 36 3a 34 orrect_pointer_alignment.zig:6:4
362e0 38 3a 20 30 78 31 32 33 38 61 36 65 20 69 6e 20 74 65 73 74 2e 70 6f 69 6e 74 65 72 20 61 6c 69 8:.0x1238a6e.in.test.pointer.ali
36300 67 6e 6d 65 6e 74 20 73 61 66 65 74 79 20 28 74 65 73 74 5f 69 6e 63 6f 72 72 65 63 74 5f 70 6f gnment.safety.(test_incorrect_po
36320 69 6e 74 65 72 5f 61 6c 69 67 6e 6d 65 6e 74 2e 7a 69 67 29 0a 20 20 20 20 74 72 79 20 73 74 64 inter_alignment.zig).....try.std
36340 2e 74 65 73 74 69 6e 67 2e 65 78 70 65 63 74 45 71 75 61 6c 28 30 78 31 31 31 31 31 31 31 31 2c .testing.expectEqual(0x11111111,
36360 20 66 6f 6f 28 62 79 74 65 73 29 29 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 .foo(bytes));...................
36380 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 5e 0a 2f .............................^./
363a0 68 6f 6d 65 2f 63 69 2f 77 6f 72 6b 2f 7a 69 67 2d 62 6f 6f 74 73 74 72 61 70 2f 6f 75 74 2f 68 home/ci/work/zig-bootstrap/out/h
363c0 6f 73 74 2f 6c 69 62 2f 7a 69 67 2f 63 6f 6d 70 69 6c 65 72 2f 74 65 73 74 5f 72 75 6e 6e 65 72 ost/lib/zig/compiler/test_runner
363e0 2e 7a 69 67 3a 32 39 31 3a 32 35 3a 20 30 78 31 31 66 33 65 64 36 20 69 6e 20 6d 61 69 6e 54 65 .zig:291:25:.0x11f3ed6.in.mainTe
36400 72 6d 69 6e 61 6c 20 28 74 65 73 74 5f 72 75 6e 6e 65 72 2e 7a 69 67 29 0a 20 20 20 20 20 20 20 rminal.(test_runner.zig)........
36420 20 69 66 20 28 74 65 73 74 5f 66 6e 2e 66 75 6e 63 28 29 29 20 7c 5f 7c 20 7b 0a 20 20 20 20 20 .if.(test_fn.func()).|_|.{......
36440 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 5e 0a 2f 68 6f 6d 65 2f 63 69 2f 77 6f ...................^./home/ci/wo
36460 72 6b 2f 7a 69 67 2d 62 6f 6f 74 73 74 72 61 70 2f 6f 75 74 2f 68 6f 73 74 2f 6c 69 62 2f 7a 69 rk/zig-bootstrap/out/host/lib/zi
36480 67 2f 63 6f 6d 70 69 6c 65 72 2f 74 65 73 74 5f 72 75 6e 6e 65 72 2e 7a 69 67 3a 37 33 3a 32 38 g/compiler/test_runner.zig:73:28
364a0 3a 20 30 78 31 31 66 33 36 66 32 20 69 6e 20 6d 61 69 6e 20 28 74 65 73 74 5f 72 75 6e 6e 65 72 :.0x11f36f2.in.main.(test_runner
364c0 2e 7a 69 67 29 0a 20 20 20 20 20 20 20 20 72 65 74 75 72 6e 20 6d 61 69 6e 54 65 72 6d 69 6e 61 .zig).........return.mainTermina
364e0 6c 28 69 6e 69 74 29 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 l(init);........................
36500 20 20 20 20 5e 0a 2f 68 6f 6d 65 2f 63 69 2f 77 6f 72 6b 2f 7a 69 67 2d 62 6f 6f 74 73 74 72 61 ....^./home/ci/work/zig-bootstra
36520 70 2f 6f 75 74 2f 68 6f 73 74 2f 6c 69 62 2f 7a 69 67 2f 73 74 64 2f 73 74 61 72 74 2e 7a 69 67 p/out/host/lib/zig/std/start.zig
36540 3a 37 32 33 3a 38 38 3a 20 30 78 31 31 65 66 66 30 35 20 69 6e 20 63 61 6c 6c 4d 61 69 6e 20 28 :723:88:.0x11eff05.in.callMain.(
36560 73 74 64 2e 7a 69 67 29 0a 20 20 20 20 69 66 20 28 66 6e 5f 69 6e 66 6f 2e 70 61 72 61 6d 73 5b std.zig).....if.(fn_info.params[
36580 30 5d 2e 74 79 70 65 2e 3f 20 3d 3d 20 73 74 64 2e 70 72 6f 63 65 73 73 2e 49 6e 69 74 2e 4d 69 0].type.?.==.std.process.Init.Mi
365a0 6e 69 6d 61 6c 29 20 72 65 74 75 72 6e 20 77 72 61 70 4d 61 69 6e 28 72 6f 6f 74 2e 6d 61 69 6e nimal).return.wrapMain(root.main
365c0 28 2e 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 (.{.............................
365e0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ................................
36600 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 5e 0a 2f 68 6f ...........................^./ho
36620 6d 65 2f 63 69 2f 77 6f 72 6b 2f 7a 69 67 2d 62 6f 6f 74 73 74 72 61 70 2f 6f 75 74 2f 68 6f 73 me/ci/work/zig-bootstrap/out/hos
36640 74 2f 6c 69 62 2f 7a 69 67 2f 73 74 64 2f 73 74 61 72 74 2e 7a 69 67 3a 32 30 34 3a 35 3a 20 30 t/lib/zig/std/start.zig:204:5:.0
36660 78 31 31 65 66 38 65 31 20 69 6e 20 5f 73 74 61 72 74 20 28 73 74 64 2e 7a 69 67 29 0a 20 20 20 x11ef8e1.in._start.(std.zig)....
36680 20 61 73 6d 20 76 6f 6c 61 74 69 6c 65 20 28 73 77 69 74 63 68 20 28 6e 61 74 69 76 65 5f 61 72 .asm.volatile.(switch.(native_ar
366a0 63 68 29 20 7b 0a 20 20 20 20 5e 0a 65 72 72 6f 72 3a 20 74 68 65 20 66 6f 6c 6c 6f 77 69 6e 67 ch).{.....^.error:.the.following
366c0 20 74 65 73 74 20 63 6f 6d 6d 61 6e 64 20 74 65 72 6d 69 6e 61 74 65 64 20 77 69 74 68 20 73 69 .test.command.terminated.with.si
366e0 67 6e 61 6c 20 41 42 52 54 3a 0a 2f 68 6f 6d 65 2f 63 69 2f 77 6f 72 6b 2f 7a 69 67 2d 62 6f 6f gnal.ABRT:./home/ci/work/zig-boo
36700 74 73 74 72 61 70 2f 6f 75 74 2f 7a 69 67 2d 6c 6f 63 61 6c 2d 63 61 63 68 65 2f 6f 2f 39 63 61 tstrap/out/zig-local-cache/o/9ca
36720 38 39 39 37 34 30 32 34 32 39 33 65 64 64 35 62 39 31 32 35 62 31 61 34 66 37 37 33 30 2f 74 65 89974024293edd5b9125b1a4f7730/te
36740 73 74 20 2d 2d 73 65 65 64 3d 30 78 66 37 31 31 62 34 62 63 0a 3c 2f 73 61 6d 70 3e 3c 2f 70 72 st.--seed=0xf711b4bc.</samp></pr
36760 65 3e 3c 2f 66 69 67 75 72 65 3e 0a 0a 20 20 20 20 20 20 0a 0a 20 20 20 20 20 20 3c 68 33 20 69 e></figure>................<h3.i
36780 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 74 6d 6c d="allowzero"><a.href="nav.xhtml
367a0 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 20 3c 61 #toc-allowzero">allowzero</a>.<a
367c0 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 22 3e c2 .class="hdr".href="#allowzero">.
367e0 a7 3c 2f 61 3e 3c 2f 68 33 3e 0a 0a 20 20 20 20 20 20 3c 70 3e 0a 20 20 20 20 20 20 54 68 69 73 .</a></h3>........<p>.......This
36800 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 6f 69 6e .pointer.attribute.allows.a.poin
36820 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 73 20 69 ter.to.have.address.zero..This.i
36840 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 20 20 20 s.only.ever.needed.on.the.......
36860 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 20 74 68 freestanding.OS.target,.where.th
36880 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 66 20 79 e.address.zero.is.mappable..If.y
368a0 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 6e 74 65 ou.want.to.represent.null.pointe
368c0 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 6e 61 6c rs,.use.......<a.href="#Optional
368e0 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>
36900 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 50 6f 69 .instead..<a.href="#Optional-Poi
36920 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 77 69 74 nters">Optional.Pointers</a>.wit
36940 68 20 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 61 6c 6c h.<code><span.class="tok-kw">all
36960 6f 77 7a 65 72 6f 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 owzero</span></code>.......are.n
36980 6f 74 20 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 ot.the.same.size.as.pointers..In
369a0 20 74 68 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 .this.code.example,.if.the.point
369c0 65 72 0a 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 er.......did.not.have.the.<code>
369e0 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 61 6c 6c 6f 77 7a 65 72 6f 3c 2f <span.class="tok-kw">allowzero</
36a00 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 20 61 74 74 72 69 62 75 74 65 2c 20 74 68 69 73 20 77 6f 75 span></code>.attribute,.this.wou
36a20 6c 64 20 62 65 20 61 0a 20 20 20 20 20 20 3c 61 20 68 72 65 66 3d 22 23 50 6f 69 6e 74 65 72 2d ld.be.a.......<a.href="#Pointer-
36a40 43 61 73 74 2d 49 6e 76 61 6c 69 64 2d 4e 75 6c 6c 22 3e 50 6f 69 6e 74 65 72 20 43 61 73 74 20 Cast-Invalid-Null">Pointer.Cast.
36a60 49 6e 76 61 6c 69 64 20 4e 75 6c 6c 3c 2f 61 3e 20 70 61 6e 69 63 3a 0a 20 20 20 20 20 20 3c 2f Invalid.Null</a>.panic:.......</
36a80 70 3e 0a 20 20 20 20 20 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
36aa0 73 73 3d 22 7a 69 67 2d 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">
36ac0 74 65 73 74 5f 61 6c 6c 6f 77 7a 65 72 6f 2e 7a 69 67 3c 2f 63 69 74 65 3e 3c 2f 66 69 67 63 61 test_allowzero.zig</cite></figca
36ae0 70 74 69 6f 6e 3e 3c 70 72 65 3e 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f ption><pre><code><span.class="to
36b00 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
36b20 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
36b40 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
36b60 64 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 29 3b 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f d&quot;</span>);.<span.class="to
36b80 6b 2d 6b 77 22 3e 63 6f 6e 73 74 3c 2f 73 70 61 6e 3e 20 65 78 70 65 63 74 45 71 75 61 6c 20 3d k-kw">const</span>.expectEqual.=
36ba0 20 73 74 64 2e 74 65 73 74 69 6e 67 2e 65 78 70 65 63 74 45 71 75 61 6c 3b 0a 0a 3c 73 70 61 6e .std.testing.expectEqual;..<span
36bc0 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
36be0 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 73 74 72 22 3e 26 71 75 6f 74 3b 61 6c 6c 6f 77 7a 65 72 n.class="tok-str">&quot;allowzer
36c00 6f 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 20 7b 0a 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 o&quot;</span>.{.....<span.class
36c20 3d 22 74 6f 6b 2d 6b 77 22 3e 76 61 72 3c 2f 73 70 61 6e 3e 20 7a 65 72 6f 3a 20 3c 73 70 61 6e ="tok-kw">var</span>.zero:.<span
36c40 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>.=
36c60 20 3c 73 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
36c80 6e 3e 3b 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 63 6f 6d 6d 65 6e 74 22 3e 2f 2f n>;.<span.class="tok-comment">//
36ca0 20 76 61 72 20 74 6f 20 6d 61 6b 65 20 74 6f 20 72 75 6e 74 69 6d 65 2d 6b 6e 6f 77 6e 3c 2f 73 .var.to.make.to.runtime-known</s
36cc0 70 61 6e 3e 0a 20 20 20 20 5f 20 3d 20 26 61 6d 70 3b 7a 65 72 6f 3b 20 3c 73 70 61 6e 20 63 6c pan>....._.=.&amp;zero;.<span.cl
36ce0 61 73 73 3d 22 74 6f 6b 2d 63 6f 6d 6d 65 6e 74 22 3e 2f 2f 20 73 75 70 70 72 65 73 73 20 27 76 ass="tok-comment">//.suppress.'v
36d00 61 72 20 69 73 20 6e 65 76 65 72 20 6d 75 74 61 74 65 64 27 20 65 72 72 6f 72 3c 2f 73 70 61 6e ar.is.never.mutated'.error</span
36d20 3e 0a 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 63 6f 6e 73 74 >.....<span.class="tok-kw">const
36d40 3c 2f 73 70 61 6e 3e 20 70 74 72 3a 20 2a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b </span>.ptr:.*<span.class="tok-k
36d60 77 22 3e 61 6c 6c 6f 77 7a 65 72 6f 3c 2f 73 70 61 6e 3e 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d w">allowzero</span>.<span.class=
36d80 22 74 6f 6b 2d 74 79 70 65 22 3e 69 33 32 3c 2f 73 70 61 6e 3e 20 3d 20 3c 73 70 61 6e 20 63 6c "tok-type">i32</span>.=.<span.cl
36da0 61 73 73 3d 22 74 6f 6b 2d 62 75 69 6c 74 69 6e 22 3e 40 70 74 72 46 72 6f 6d 49 6e 74 3c 2f 73 ass="tok-builtin">@ptrFromInt</s
36dc0 70 61 6e 3e 28 7a 65 72 6f 29 3b 0a 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b pan>(zero);.....<span.class="tok
36de0 2d 6b 77 22 3e 74 72 79 3c 2f 73 70 61 6e 3e 20 65 78 70 65 63 74 45 71 75 61 6c 28 3c 73 70 61 -kw">try</span>.expectEqual(<spa
36e00 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>,.<
36e20 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 62 75 69 6c 74 69 6e 22 3e 40 69 6e 74 46 72 6f span.class="tok-builtin">@intFro
36e40 6d 50 74 72 3c 2f 73 70 61 6e 3e 28 70 74 72 29 29 3b 0a 7d 3c 2f 63 6f 64 65 3e 3c 2f 70 72 65 mPtr</span>(ptr));.}</code></pre
36e60 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
36e80 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
36ea0 6e 3e 3c 70 72 65 3e 3c 73 61 6d 70 3e 24 20 3c 6b 62 64 3e 7a 69 67 20 74 65 73 74 20 74 65 73 n><pre><samp>$.<kbd>zig.test.tes
36ec0 74 5f 61 6c 6c 6f 77 7a 65 72 6f 2e 7a 69 67 3c 2f 6b 62 64 3e 0a 31 2f 31 20 74 65 73 74 5f 61 t_allowzero.zig</kbd>.1/1.test_a
36ee0 6c 6c 6f 77 7a 65 72 6f 2e 74 65 73 74 2e 61 6c 6c 6f 77 7a 65 72 6f 2e 2e 2e 4f 4b 0a 41 6c 6c llowzero.test.allowzero...OK.All
36f00 20 31 20 74 65 73 74 73 20 70 61 73 73 65 64 2e 0a 3c 2f 73 61 6d 70 3e 3c 2f 70 72 65 3e 3c 2f .1.tests.passed..</samp></pre></
36f20 66 69 67 75 72 65 3e 0a 0a 20 20 20 20 20 20 0a 0a 20 20 20 20 20 20 3c 68 33 20 69 64 3d 22 53 figure>................<h3.id="S
36f40 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 3c 61 20 entinel-Terminated-Pointers"><a.
36f60 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 65 72 href="nav.xhtml#toc-Sentinel-Ter
36f80 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 72 6d 69 minated-Pointers">Sentinel-Termi
36fa0 6e 61 74 65 64 20 50 6f 69 6e 74 65 72 73 3c 2f 61 3e 20 3c 61 20 63 6c 61 73 73 3d 22 68 64 72 nated.Pointers</a>.<a.class="hdr
36fc0 22 20 68 72 65 66 3d 22 23 53 65 6e 74 69 6e 65 6c 2d 54 65 72 6d 69 6e 61 74 65 64 2d 50 6f 69 ".href="#Sentinel-Terminated-Poi
36fe0 6e 74 65 72 73 22 3e c2 a7 3c 2f 61 3e 3c 2f 68 33 3e 0a 0a 20 20 20 20 20 20 3c 70 3e 0a 20 20 nters">..</a></h3>........<p>...
37000 20 20 20 20 54 68 65 20 73 79 6e 74 61 78 20 3c 63 6f 64 65 3e 5b 2a 3a 78 5d 54 3c 2f 63 6f 64 ....The.syntax.<code>[*:x]T</cod
37020 65 3e 20 64 65 73 63 72 69 62 65 73 20 61 20 70 6f 69 6e 74 65 72 20 74 68 61 74 0a 20 20 20 20 e>.describes.a.pointer.that.....
37040 20 20 68 61 73 20 61 20 6c 65 6e 67 74 68 20 64 65 74 65 72 6d 69 6e 65 64 20 62 79 20 61 20 73 ..has.a.length.determined.by.a.s
37060 65 6e 74 69 6e 65 6c 20 76 61 6c 75 65 2e 20 54 68 69 73 20 70 72 6f 76 69 64 65 73 20 70 72 6f entinel.value..This.provides.pro
37080 74 65 63 74 69 6f 6e 0a 20 20 20 20 20 20 61 67 61 69 6e 73 74 20 62 75 66 66 65 72 20 6f 76 65 tection.......against.buffer.ove
370a0 72 66 6c 6f 77 20 61 6e 64 20 6f 76 65 72 72 65 61 64 73 2e 0a 20 20 20 20 20 20 3c 2f 70 3e 0a rflow.and.overreads........</p>.
370c0 20 20 20 20 20 20 3c 66 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=
370e0 22 7a 69 67 2d 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 65 6e "zig-cap"><cite.class="file">sen
37100 74 69 6e 65 6c 2d 74 65 72 6d 69 6e 61 74 65 64 5f 70 6f 69 6e 74 65 72 2e 7a 69 67 3c 2f 63 69 tinel-terminated_pointer.zig</ci
37120 74 65 3e 3c 2f 66 69 67 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
37140 20 63 6c 61 73 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
37160 20 3d 20 3c 73 70 61 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
37180 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
371a0 22 3e 26 71 75 6f 74 3b 73 74 64 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 29 3b 0a 0a 3c 73 70 61 ">&quot;std&quot;</span>);..<spa
371c0 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 63 6f 6d 6d 65 6e 74 22 3e 2f 2f 20 54 68 69 73 20 69 73 n.class="tok-comment">//.This.is
371e0 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 66 .also.available.as.`std.c.printf
37200 60 2e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 70 `.</span>.<span.class="tok-kw">p
37220 75 62 3c 2f 73 70 61 6e 3e 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 65 ub</span>.<span.class="tok-kw">e
37240 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
37260 72 22 3e 26 71 75 6f 74 3b 63 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 20 3c 73 70 61 6e 20 63 6c r">&quot;c&quot;</span>.<span.cl
37280 61 73 73 3d 22 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
372a0 73 73 3d 22 74 6f 6b 2d 66 6e 22 3e 70 72 69 6e 74 66 3c 2f 73 70 61 6e 3e 28 66 6f 72 6d 61 74 ss="tok-fn">printf</span>(format
372c0 3a 20 5b 2a 3a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 30 3c :.[*:<span.class="tok-number">0<
372e0 2f 73 70 61 6e 3e 5d 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 63 6f 6e 73 /span>]<span.class="tok-kw">cons
37300 74 3c 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">
37320 75 38 3c 2f 73 70 61 6e 3e 2c 20 2e 2e 2e 29 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b u8</span>,....).<span.class="tok
37340 2d 74 79 70 65 22 3e 63 5f 69 6e 74 3c 2f 73 70 61 6e 3e 3b 0a 0a 3c 73 70 61 6e 20 63 6c 61 73 -type">c_int</span>;..<span.clas
37360 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
37380 73 3d 22 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
373a0 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
373c0 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>!<
373e0 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
37400 3e 20 7b 0a 20 20 20 20 5f 20 3d 20 70 72 69 6e 74 66 28 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 >.{....._.=.printf(<span.class="
37420 74 6f 6b 2d 73 74 72 22 3e 26 71 75 6f 74 3b 48 65 6c 6c 6f 2c 20 77 6f 72 6c 64 21 5c 6e 26 71 tok-str">&quot;Hello,.world!\n&q
37440 75 6f 74 3b 3c 2f 73 70 61 6e 3e 29 3b 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 63 uot;</span>);.<span.class="tok-c
37460 6f 6d 6d 65 6e 74 22 3e 2f 2f 20 4f 4b 3c 2f 73 70 61 6e 3e 0a 0a 20 20 20 20 3c 73 70 61 6e 20 omment">//.OK</span>......<span.
37480 63 6c 61 73 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 class="tok-kw">const</span>.msg.
374a0 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 73 74 72 22 3e 26 71 75 6f 74 3b 48 65 =.<span.class="tok-str">&quot;He
374c0 6c 6c 6f 2c 20 77 6f 72 6c 64 21 5c 6e 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 3b 0a 20 20 20 20 llo,.world!\n&quot;</span>;.....
374e0 3c 73 70 61 6e 20 63 6c 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
37500 3e 20 6e 6f 6e 5f 6e 75 6c 6c 5f 74 65 72 6d 69 6e 61 74 65 64 5f 6d 73 67 3a 20 5b 6d 73 67 2e >.non_null_terminated_msg:.[msg.
37520 6c 65 6e 5d 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 75 38 3c 2f 73 len]<span.class="tok-type">u8</s
37540 70 61 6e 3e 20 3d 20 6d 73 67 2e 2a 3b 0a 20 20 20 20 5f 20 3d 20 70 72 69 6e 74 66 28 26 61 6d pan>.=.msg.*;....._.=.printf(&am
37560 70 3b 6e 6f 6e 5f 6e 75 6c 6c 5f 74 65 72 6d 69 6e 61 74 65 64 5f 6d 73 67 29 3b 0a 7d 3c 2f 63 p;non_null_terminated_msg);.}</c
37580 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
375a0 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</
375c0 66 69 67 63 61 70 74 69 6f 6e 3e 3c 70 72 65 3e 3c 73 61 6d 70 3e 24 20 3c 6b 62 64 3e 7a 69 67 figcaption><pre><samp>$.<kbd>zig
375e0 20 62 75 69 6c 64 2d 65 78 65 20 73 65 6e 74 69 6e 65 6c 2d 74 65 72 6d 69 6e 61 74 65 64 5f 70 .build-exe.sentinel-terminated_p
37600 6f 69 6e 74 65 72 2e 7a 69 67 20 2d 6c 63 3c 2f 6b 62 64 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 ointer.zig.-lc</kbd>.<span.class
37620 3d 22 73 67 72 2d 31 6d 22 3e 2f 68 6f 6d 65 2f 63 69 2f 77 6f 72 6b 2f 7a 69 67 2d 62 6f 6f 74 ="sgr-1m">/home/ci/work/zig-boot
37640 73 74 72 61 70 2f 7a 69 67 2f 64 6f 63 2f 6c 61 6e 67 72 65 66 2f 73 65 6e 74 69 6e 65 6c 2d 74 strap/zig/doc/langref/sentinel-t
37660 65 72 6d 69 6e 61 74 65 64 5f 70 6f 69 6e 74 65 72 2e 7a 69 67 3a 31 31 3a 31 36 3a 20 3c 2f 73 erminated_pointer.zig:11:16:.</s
37680 70 61 6e 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 73 67 72 2d 33 31 6d 22 3e 65 72 72 6f 72 3a pan><span.class="sgr-31m">error:
376a0 20 3c 2f 73 70 61 6e 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 73 67 72 2d 31 6d 22 3e 65 78 70 .</span><span.class="sgr-1m">exp
376c0 65 63 74 65 64 20 74 79 70 65 20 27 5b 2a 3a 30 5d 63 6f 6e 73 74 20 75 38 27 2c 20 66 6f 75 6e ected.type.'[*:0]const.u8',.foun
376e0 64 20 27 2a 63 6f 6e 73 74 20 5b 31 34 5d 75 38 27 0a 3c 2f 73 70 61 6e 3e 20 20 20 20 5f 20 3d d.'*const.[14]u8'.</span>...._.=
37700 20 70 72 69 6e 74 66 28 26 61 6d 70 3b 6e 6f 6e 5f 6e 75 6c 6c 5f 74 65 72 6d 69 6e 61 74 65 64 .printf(&amp;non_null_terminated
37720 5f 6d 73 67 29 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 _msg);................<span.clas
37740 73 3d 22 73 67 72 2d 33 32 6d 22 3e 5e 7e 7e 7e 7e 7e 7e 7e 7e 7e 7e 7e 7e 7e 7e 7e 7e 7e 7e 7e s="sgr-32m">^~~~~~~~~~~~~~~~~~~~
37760 7e 7e 7e 7e 0a 3c 2f 73 70 61 6e 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 73 67 72 2d 31 6d 22 ~~~~.</span><span.class="sgr-1m"
37780 3e 2f 68 6f 6d 65 2f 63 69 2f 77 6f 72 6b 2f 7a 69 67 2d 62 6f 6f 74 73 74 72 61 70 2f 7a 69 67 >/home/ci/work/zig-bootstrap/zig
377a0 2f 64 6f 63 2f 6c 61 6e 67 72 65 66 2f 73 65 6e 74 69 6e 65 6c 2d 74 65 72 6d 69 6e 61 74 65 64 /doc/langref/sentinel-terminated
377c0 5f 70 6f 69 6e 74 65 72 2e 7a 69 67 3a 31 31 3a 31 36 3a 20 3c 2f 73 70 61 6e 3e 3c 73 70 61 6e _pointer.zig:11:16:.</span><span
377e0 20 63 6c 61 73 73 3d 22 73 67 72 2d 33 36 6d 22 3e 6e 6f 74 65 3a 20 3c 2f 73 70 61 6e 3e 3c 73 .class="sgr-36m">note:.</span><s
37800 70 61 6e 20 63 6c 61 73 73 3d 22 73 67 72 2d 31 6d 22 3e 64 65 73 74 69 6e 61 74 69 6f 6e 20 70 pan.class="sgr-1m">destination.p
37820 6f 69 6e 74 65 72 20 72 65 71 75 69 72 65 73 20 27 30 27 20 73 65 6e 74 69 6e 65 6c 0a 3c 2f 73 ointer.requires.'0'.sentinel.</s
37840 70 61 6e 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 73 67 72 2d 31 6d 22 3e 2f 68 6f 6d 65 2f 63 pan><span.class="sgr-1m">/home/c
37860 69 2f 77 6f 72 6b 2f 7a 69 67 2d 62 6f 6f 74 73 74 72 61 70 2f 7a 69 67 2f 64 6f 63 2f 6c 61 6e i/work/zig-bootstrap/zig/doc/lan
37880 67 72 65 66 2f 73 65 6e 74 69 6e 65 6c 2d 74 65 72 6d 69 6e 61 74 65 64 5f 70 6f 69 6e 74 65 72 gref/sentinel-terminated_pointer
378a0 2e 7a 69 67 3a 34 3a 33 34 3a 20 3c 2f 73 70 61 6e 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 73 .zig:4:34:.</span><span.class="s
378c0 67 72 2d 33 36 6d 22 3e 6e 6f 74 65 3a 20 3c 2f 73 70 61 6e 3e 3c 73 70 61 6e 20 63 6c 61 73 73 gr-36m">note:.</span><span.class
378e0 3d 22 73 67 72 2d 31 6d 22 3e 70 61 72 61 6d 65 74 65 72 20 74 79 70 65 20 64 65 63 6c 61 72 65 ="sgr-1m">parameter.type.declare
37900 64 20 68 65 72 65 0a 3c 2f 73 70 61 6e 3e 70 75 62 20 65 78 74 65 72 6e 20 26 71 75 6f 74 3b 63 d.here.</span>pub.extern.&quot;c
37920 26 71 75 6f 74 3b 20 66 6e 20 70 72 69 6e 74 66 28 66 6f 72 6d 61 74 3a 20 5b 2a 3a 30 5d 63 6f &quot;.fn.printf(format:.[*:0]co
37940 6e 73 74 20 75 38 2c 20 2e 2e 2e 29 20 63 5f 69 6e 74 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 nst.u8,....).c_int;.............
37960 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
37980 3d 22 73 67 72 2d 33 32 6d 22 3e 5e 7e 7e 7e 7e 7e 7e 7e 7e 7e 7e 7e 7e 0a 3c 2f 73 70 61 6e 3e ="sgr-32m">^~~~~~~~~~~~~.</span>
379a0 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 73 67 72 2d 32 6d 22 3e 72 65 66 65 72 65 6e 63 65 64 20 <span.class="sgr-2m">referenced.
379c0 62 79 3a 0a 20 20 20 20 63 61 6c 6c 4d 61 69 6e 20 5b 69 6e 6c 69 6e 65 64 5d 3a 20 2f 68 6f 6d by:.....callMain.[inlined]:./hom
379e0 65 2f 63 69 2f 77 6f 72 6b 2f 7a 69 67 2d 62 6f 6f 74 73 74 72 61 70 2f 6f 75 74 2f 68 6f 73 74 e/ci/work/zig-bootstrap/out/host
37a00 2f 6c 69 62 2f 7a 69 67 2f 73 74 64 2f 73 74 61 72 74 2e 7a 69 67 3a 37 32 32 3a 35 39 0a 20 20 /lib/zig/std/start.zig:722:59...
37a20 20 20 63 61 6c 6c 4d 61 69 6e 57 69 74 68 41 72 67 73 20 5b 69 6e 6c 69 6e 65 64 5d 3a 20 2f 68 ..callMainWithArgs.[inlined]:./h
37a40 6f 6d 65 2f 63 69 2f 77 6f 72 6b 2f 7a 69 67 2d 62 6f 6f 74 73 74 72 61 70 2f 6f 75 74 2f 68 6f ome/ci/work/zig-bootstrap/out/ho
37a60 73 74 2f 6c 69 62 2f 7a 69 67 2f 73 74 64 2f 73 74 61 72 74 2e 7a 69 67 3a 36 36 32 3a 32 30 0a st/lib/zig/std/start.zig:662:20.
37a80 20 20 20 20 6d 61 69 6e 3a 20 2f 68 6f 6d 65 2f 63 69 2f 77 6f 72 6b 2f 7a 69 67 2d 62 6f 6f 74 ....main:./home/ci/work/zig-boot
37aa0 73 74 72 61 70 2f 6f 75 74 2f 68 6f 73 74 2f 6c 69 62 2f 7a 69 67 2f 73 74 64 2f 73 74 61 72 74 strap/out/host/lib/zig/std/start
37ac0 2e 7a 69 67 3a 36 38 37 3a 32 38 0a 20 20 20 20 31 20 72 65 66 65 72 65 6e 63 65 28 73 29 20 68 .zig:687:28.....1.reference(s).h
37ae0 69 64 64 65 6e 3b 20 75 73 65 20 27 2d 66 72 65 66 65 72 65 6e 63 65 2d 74 72 61 63 65 3d 34 27 idden;.use.'-freference-trace=4'
37b00 20 74 6f 20 73 65 65 20 61 6c 6c 20 72 65 66 65 72 65 6e 63 65 73 0a 3c 2f 73 70 61 6e 3e 0a 3c .to.see.all.references.</span>.<
37b20 2f 73 61 6d 70 3e 3c 2f 70 72 65 3e 3c 2f 66 69 67 75 72 65 3e 0a 0a 20 20 20 20 20 20 3c 70 3e /samp></pre></figure>........<p>
37b40 53 65 65 20 61 6c 73 6f 3a 3c 2f 70 3e 3c 75 6c 3e 0a 3c 6c 69 3e 3c 61 20 68 72 65 66 3d 22 23 See.also:</p><ul>.<li><a.href="#
37b60 53 65 6e 74 69 6e 65 6c 2d 54 65 72 6d 69 6e 61 74 65 64 2d 53 6c 69 63 65 73 22 3e 53 65 6e 74 Sentinel-Terminated-Slices">Sent
37b80 69 6e 65 6c 2d 54 65 72 6d 69 6e 61 74 65 64 20 53 6c 69 63 65 73 3c 2f 61 3e 3c 2f 6c 69 3e 0a inel-Terminated.Slices</a></li>.
37ba0 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
37bc0 64 2d 41 72 72 61 79 73 22 3e 53 65 6e 74 69 6e 65 6c 2d 54 65 72 6d 69 6e 61 74 65 64 20 41 72 d-Arrays">Sentinel-Terminated.Ar
37be0 72 61 79 73 3c 2f 61 3e 3c 2f 6c 69 3e 0a 3c 2f 75 6c 3e 0a 0a 20 20 20 20 20 20 0a 20 20 20 20 rays</a></li>.</ul>.............
37c00 20 20 0a 0a 20 20 20 20 20 20 3c 68 32 20 69 64 3d 22 53 6c 69 63 65 73 22 3e 3c 61 20 68 72 65 ..........<h2.id="Slices"><a.hre
37c20 66 3d 22 6e 61 76 2e 78 68 74 6d 6c 23 74 6f 63 2d 53 6c 69 63 65 73 22 3e 53 6c 69 63 65 73 3c f="nav.xhtml#toc-Slices">Slices<
37c40 2f 61 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 6c 69 63 65 73 /a>.<a.class="hdr".href="#Slices
37c60 22 3e c2 a7 3c 2f 61 3e 3c 2f 68 32 3e 0a 0a 20 20 20 20 20 20 3c 70 3e 0a 20 20 20 20 20 20 41 ">..</a></h2>........<p>.......A
37c80 20 73 6c 69 63 65 20 69 73 20 61 20 70 6f 69 6e 74 65 72 20 61 6e 64 20 61 20 6c 65 6e 67 74 68 .slice.is.a.pointer.and.a.length
37ca0 2e 20 54 68 65 20 64 69 66 66 65 72 65 6e 63 65 20 62 65 74 77 65 65 6e 20 61 6e 20 61 72 72 61 ..The.difference.between.an.arra
37cc0 79 20 61 6e 64 0a 20 20 20 20 20 20 61 20 73 6c 69 63 65 20 69 73 20 74 68 61 74 20 74 68 65 20 y.and.......a.slice.is.that.the.
37ce0 61 72 72 61 79 27 73 20 6c 65 6e 67 74 68 20 69 73 20 70 61 72 74 20 6f 66 20 74 68 65 20 74 79 array's.length.is.part.of.the.ty
37d00 70 65 20 61 6e 64 20 6b 6e 6f 77 6e 20 61 74 0a 20 20 20 20 20 20 63 6f 6d 70 69 6c 65 2d 74 69 pe.and.known.at.......compile-ti
37d20 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 20 69 me,.whereas.the.slice's.length.i
37d40 73 20 6b 6e 6f 77 6e 20 61 74 20 72 75 6e 74 69 6d 65 2e 0a 20 20 20 20 20 20 42 6f 74 68 20 63 s.known.at.runtime........Both.c
37d60 61 6e 20 62 65 20 61 63 63 65 73 73 65 64 20 77 69 74 68 20 74 68 65 20 3c 63 6f 64 65 3e 6c 65 an.be.accessed.with.the.<code>le
37d80 6e 3c 2f 63 6f 64 65 3e 20 66 69 65 6c 64 2e 0a 20 20 20 20 20 20 3c 2f 70 3e 0a 20 20 20 20 20 n</code>.field........</p>......
37da0 20 3c 66 69 67 75 72 65 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-
37dc0 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 62 61 73 cap"><cite.class="file">test_bas
37de0 69 63 5f 73 6c 69 63 65 73 2e 7a 69 67 3c 2f 63 69 74 65 3e 3c 2f 66 69 67 63 61 70 74 69 6f 6e ic_slices.zig</cite></figcaption
37e00 3e 3c 70 72 65 3e 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 ><pre><code><span.class="tok-kw"
37e20 3e 63 6f 6e 73 74 3c 2f 73 70 61 6e 3e 20 65 78 70 65 63 74 45 71 75 61 6c 20 3d 20 3c 73 70 61 >const</span>.expectEqual.=.<spa
37e40 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
37e60 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
37e80 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
37ea0 74 45 71 75 61 6c 3b 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 63 6f 6e tEqual;.<span.class="tok-kw">con
37ec0 73 74 3c 2f 73 70 61 6e 3e 20 65 78 70 65 63 74 45 71 75 61 6c 53 6c 69 63 65 73 20 3d 20 3c 73 st</span>.expectEqualSlices.=.<s
37ee0 70 61 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<
37f00 2f 73 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
37f20 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
37f40 65 63 74 45 71 75 61 6c 53 6c 69 63 65 73 3b 0a 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f ectEqualSlices;..<span.class="to
37f60 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
37f80 6f 6b 2d 73 74 72 22 3e 26 71 75 6f 74 3b 62 61 73 69 63 20 73 6c 69 63 65 73 26 71 75 6f 74 3b ok-str">&quot;basic.slices&quot;
37fa0 3c 2f 73 70 61 6e 3e 20 7b 0a 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b </span>.{.....<span.class="tok-k
37fc0 77 22 3e 76 61 72 3c 2f 73 70 61 6e 3e 20 61 72 72 61 79 20 3d 20 5b 5f 5d 3c 73 70 61 6e 20 63 w">var</span>.array.=.[_]<span.c
37fe0 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 69 33 32 3c 2f 73 70 61 6e 3e 7b 20 3c 73 70 61 lass="tok-type">i32</span>{.<spa
38000 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 31 3c 2f 73 70 61 6e 3e 2c 20 3c n.class="tok-number">1</span>,.<
38020 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>
38040 2c 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 33 3c 2f 73 70 ,.<span.class="tok-number">3</sp
38060 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<
38080 2f 73 70 61 6e 3e 20 7d 3b 0a 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b /span>.};.....<span.class="tok-k
380a0 77 22 3e 76 61 72 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 w">var</span>.known_at_runtime_z
380c0 65 72 6f 3a 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 75 73 69 7a ero:.<span.class="tok-type">usiz
380e0 65 3c 2f 73 70 61 6e 3e 20 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 e</span>.=.<span.class="tok-numb
38100 65 72 22 3e 30 3c 2f 73 70 61 6e 3e 3b 0a 20 20 20 20 5f 20 3d 20 26 61 6d 70 3b 6b 6e 6f 77 6e er">0</span>;....._.=.&amp;known
38120 5f 61 74 5f 72 75 6e 74 69 6d 65 5f 7a 65 72 6f 3b 0a 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 _at_runtime_zero;.....<span.clas
38140 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 20 s="tok-kw">const</span>.slice.=.
38160 61 72 72 61 79 5b 6b 6e 6f 77 6e 5f 61 74 5f 72 75 6e 74 69 6d 65 5f 7a 65 72 6f 2e 2e 61 72 72 array[known_at_runtime_zero..arr
38180 61 79 2e 6c 65 6e 5d 3b 0a 0a 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 63 ay.len];......<span.class="tok-c
381a0 6f 6d 6d 65 6e 74 22 3e 2f 2f 20 61 6c 74 65 72 6e 61 74 69 76 65 20 69 6e 69 74 69 61 6c 69 7a omment">//.alternative.initializ
381c0 61 74 69 6f 6e 20 75 73 69 6e 67 20 72 65 73 75 6c 74 20 6c 6f 63 61 74 69 6f 6e 3c 2f 73 70 61 ation.using.result.location</spa
381e0 6e 3e 0a 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 63 6f 6e 73 n>.....<span.class="tok-kw">cons
38200 74 3c 2f 73 70 61 6e 3e 20 61 6c 74 5f 73 6c 69 63 65 3a 20 5b 5d 3c 73 70 61 6e 20 63 6c 61 73 t</span>.alt_slice:.[]<span.clas
38220 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
38240 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 69 33 32 3c 2f 73 70 61 6e 3e 20 3d 20 26 61 6d 70 ass="tok-type">i32</span>.=.&amp
38260 3b 2e 7b 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 31 3c 2f ;.{.<span.class="tok-number">1</
38280 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">
382a0 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
382c0 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
382e0 6d 62 65 72 22 3e 34 3c 2f 73 70 61 6e 3e 20 7d 3b 0a 0a 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 mber">4</span>.};......<span.cla
38300 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 74 72 79 3c 2f 73 70 61 6e 3e 20 65 78 70 65 63 74 45 71 75 ss="tok-kw">try</span>.expectEqu
38320 61 6c 53 6c 69 63 65 73 28 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e alSlices(<span.class="tok-type">
38340 69 33 32 3c 2f 73 70 61 6e 3e 2c 20 73 6c 69 63 65 2c 20 61 6c 74 5f 73 6c 69 63 65 29 3b 0a 0a i32</span>,.slice,.alt_slice);..
38360 20 20 20 20 3c 73 70 61 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
38380 61 6e 3e 20 65 78 70 65 63 74 45 71 75 61 6c 28 5b 5d 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 an>.expectEqual([]<span.class="t
383a0 6f 6b 2d 74 79 70 65 22 3e 69 33 32 3c 2f 73 70 61 6e 3e 2c 20 3c 73 70 61 6e 20 63 6c 61 73 73 ok-type">i32</span>,.<span.class
383c0 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 73 6c ="tok-builtin">@TypeOf</span>(sl
383e0 69 63 65 29 29 3b 0a 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e ice));.....<span.class="tok-kw">
38400 74 72 79 3c 2f 73 70 61 6e 3e 20 65 78 70 65 63 74 45 71 75 61 6c 28 26 61 6d 70 3b 61 72 72 61 try</span>.expectEqual(&amp;arra
38420 79 5b 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 30 3c 2f 73 70 y[<span.class="tok-number">0</sp
38440 61 6e 3e 5d 2c 20 26 61 6d 70 3b 73 6c 69 63 65 5b 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f an>],.&amp;slice[<span.class="to
38460 6b 2d 6e 75 6d 62 65 72 22 3e 30 3c 2f 73 70 61 6e 3e 5d 29 3b 0a 20 20 20 20 3c 73 70 61 6e 20 k-number">0</span>]);.....<span.
38480 63 6c 61 73 73 3d 22 74 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
384a0 45 71 75 61 6c 28 61 72 72 61 79 2e 6c 65 6e 2c 20 73 6c 69 63 65 2e 6c 65 6e 29 3b 0a 0a 20 20 Equal(array.len,.slice.len);....
384c0 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 63 6f 6d 6d 65 6e 74 22 3e 2f 2f 20 49 ..<span.class="tok-comment">//.I
384e0 66 20 79 6f 75 20 73 6c 69 63 65 20 77 69 74 68 20 63 6f 6d 70 74 69 6d 65 2d 6b 6e 6f 77 6e 20 f.you.slice.with.comptime-known.
38500 73 74 61 72 74 20 61 6e 64 20 65 6e 64 20 70 6f 73 69 74 69 6f 6e 73 2c 20 74 68 65 20 72 65 73 start.and.end.positions,.the.res
38520 75 6c 74 20 69 73 3c 2f 73 70 61 6e 3e 0a 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 ult.is</span>.....<span.class="t
38540 6f 6b 2d 63 6f 6d 6d 65 6e 74 22 3e 2f 2f 20 61 20 70 6f 69 6e 74 65 72 20 74 6f 20 61 6e 20 61 ok-comment">//.a.pointer.to.an.a
38560 72 72 61 79 2c 20 72 61 74 68 65 72 20 74 68 61 6e 20 61 20 73 6c 69 63 65 2e 3c 2f 73 70 61 6e rray,.rather.than.a.slice.</span
38580 3e 0a 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 63 6f 6e 73 74 >.....<span.class="tok-kw">const
385a0 3c 2f 73 70 61 6e 3e 20 61 72 72 61 79 5f 70 74 72 20 3d 20 61 72 72 61 79 5b 3c 73 70 61 6e 20 </span>.array_ptr.=.array[<span.
385c0 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 61 72 72 class="tok-number">0</span>..arr
385e0 61 79 2e 6c 65 6e 5d 3b 0a 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 ay.len];.....<span.class="tok-kw
38600 22 3e 74 72 79 3c 2f 73 70 61 6e 3e 20 65 78 70 65 63 74 45 71 75 61 6c 28 2a 5b 61 72 72 61 79 ">try</span>.expectEqual(*[array
38620 2e 6c 65 6e 5d 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 69 33 32 3c .len]<span.class="tok-type">i32<
38640 2f 73 70 61 6e 3e 2c 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 62 75 69 6c 74 69 6e /span>,.<span.class="tok-builtin
38660 22 3e 40 54 79 70 65 4f 66 3c 2f 73 70 61 6e 3e 28 61 72 72 61 79 5f 70 74 72 29 29 3b 0a 0a 20 ">@TypeOf</span>(array_ptr));...
38680 20 20 20 3c 73 70 61 6e 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">//.
386a0 59 6f 75 20 63 61 6e 20 70 65 72 66 6f 72 6d 20 61 20 73 6c 69 63 65 2d 62 79 2d 6c 65 6e 67 74 You.can.perform.a.slice-by-lengt
386c0 68 20 62 79 20 73 6c 69 63 69 6e 67 20 74 77 69 63 65 2e 20 54 68 69 73 20 61 6c 6c 6f 77 73 20 h.by.slicing.twice..This.allows.
386e0 74 68 65 20 63 6f 6d 70 69 6c 65 72 3c 2f 73 70 61 6e 3e 0a 20 20 20 20 3c 73 70 61 6e 20 63 6c the.compiler</span>.....<span.cl
38700 61 73 73 3d 22 74 6f 6b 2d 63 6f 6d 6d 65 6e 74 22 3e 2f 2f 20 74 6f 20 70 65 72 66 6f 72 6d 20 ass="tok-comment">//.to.perform.
38720 73 6f 6d 65 20 6f 70 74 69 6d 69 73 61 74 69 6f 6e 73 20 6c 69 6b 65 20 72 65 63 6f 67 6e 69 73 some.optimisations.like.recognis
38740 69 6e 67 20 61 20 63 6f 6d 70 74 69 6d 65 2d 6b 6e 6f 77 6e 20 6c 65 6e 67 74 68 20 77 68 65 6e ing.a.comptime-known.length.when
38760 3c 2f 73 70 61 6e 3e 0a 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 63 6f 6d </span>.....<span.class="tok-com
38780 6d 65 6e 74 22 3e 2f 2f 20 74 68 65 20 73 74 61 72 74 20 70 6f 73 69 74 69 6f 6e 20 69 73 20 6f ment">//.the.start.position.is.o
387a0 6e 6c 79 20 6b 6e 6f 77 6e 20 61 74 20 72 75 6e 74 69 6d 65 2e 3c 2f 73 70 61 6e 3e 0a 20 20 20 nly.known.at.runtime.</span>....
387c0 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>
387e0 20 72 75 6e 74 69 6d 65 5f 73 74 61 72 74 3a 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b .runtime_start:.<span.class="tok
38800 2d 74 79 70 65 22 3e 75 73 69 7a 65 3c 2f 73 70 61 6e 3e 20 3d 20 3c 73 70 61 6e 20 63 6c 61 73 -type">usize</span>.=.<span.clas
38820 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 31 3c 2f 73 70 61 6e 3e 3b 0a 20 20 20 20 5f 20 3d s="tok-number">1</span>;....._.=
38840 20 26 61 6d 70 3b 72 75 6e 74 69 6d 65 5f 73 74 61 72 74 3b 0a 20 20 20 20 3c 73 70 61 6e 20 63 .&amp;runtime_start;.....<span.c
38860 6c 61 73 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 65 6e 67 74 lass="tok-kw">const</span>.lengt
38880 68 20 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 32 3c 2f h.=.<span.class="tok-number">2</
388a0 73 70 61 6e 3e 3b 0a 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e span>;.....<span.class="tok-kw">
388c0 63 6f 6e 73 74 3c 2f 73 70 61 6e 3e 20 61 72 72 61 79 5f 70 74 72 5f 6c 65 6e 20 3d 20 61 72 72 const</span>.array_ptr_len.=.arr
388e0 61 79 5b 72 75 6e 74 69 6d 65 5f 73 74 61 72 74 2e 2e 5d 5b 3c 73 70 61 6e 20 63 6c 61 73 73 3d ay[runtime_start..][<span.class=
38900 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 30 3c 2f 73 70 61 6e 3e 2e 2e 6c 65 6e 67 74 68 5d 3b 0a "tok-number">0</span>..length];.
38920 20 20 20 20 3c 73 70 61 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
38940 61 6e 3e 20 65 78 70 65 63 74 45 71 75 61 6c 28 2a 5b 6c 65 6e 67 74 68 5d 3c 73 70 61 6e 20 63 an>.expectEqual(*[length]<span.c
38960 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
38980 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
389a0 70 61 6e 3e 28 61 72 72 61 79 5f 70 74 72 5f 6c 65 6e 29 29 3b 0a 0a 20 20 20 20 3c 73 70 61 6e pan>(array_ptr_len));......<span
389c0 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 63 6f 6d 6d 65 6e 74 22 3e 2f 2f 20 55 73 69 6e 67 20 74 68 .class="tok-comment">//.Using.th
389e0 65 20 61 64 64 72 65 73 73 2d 6f 66 20 6f 70 65 72 61 74 6f 72 20 6f 6e 20 61 20 73 6c 69 63 65 e.address-of.operator.on.a.slice
38a00 20 67 69 76 65 73 20 61 20 73 69 6e 67 6c 65 2d 69 74 65 6d 20 70 6f 69 6e 74 65 72 2e 3c 2f 73 .gives.a.single-item.pointer.</s
38a20 70 61 6e 3e 0a 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 74 72 pan>.....<span.class="tok-kw">tr
38a40 79 3c 2f 73 70 61 6e 3e 20 65 78 70 65 63 74 45 71 75 61 6c 28 2a 3c 73 70 61 6e 20 63 6c 61 73 y</span>.expectEqual(*<span.clas
38a60 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 69 33 32 3c 2f 73 70 61 6e 3e 2c 20 3c 73 70 61 6e 20 63 s="tok-type">i32</span>,.<span.c
38a80 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
38aa0 3e 28 26 61 6d 70 3b 73 6c 69 63 65 5b 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 >(&amp;slice[<span.class="tok-nu
38ac0 6d 62 65 72 22 3e 30 3c 2f 73 70 61 6e 3e 5d 29 29 3b 0a 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 mber">0</span>]));.....<span.cla
38ae0 73 73 3d 22 74 6f 6b 2d 63 6f 6d 6d 65 6e 74 22 3e 2f 2f 20 55 73 69 6e 67 20 74 68 65 20 60 70 ss="tok-comment">//.Using.the.`p
38b00 74 72 60 20 66 69 65 6c 64 20 67 69 76 65 73 20 61 20 6d 61 6e 79 2d 69 74 65 6d 20 70 6f 69 6e tr`.field.gives.a.many-item.poin
38b20 74 65 72 2e 3c 2f 73 70 61 6e 3e 0a 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b ter.</span>.....<span.class="tok
38b40 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 5b 2a 5d 3c -kw">try</span>.expectEqual([*]<
38b60 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>
38b80 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 54 79 70 ,.<span.class="tok-builtin">@Typ
38ba0 65 4f 66 3c 2f 73 70 61 6e 3e 28 73 6c 69 63 65 2e 70 74 72 29 29 3b 0a 20 20 20 20 3c 73 70 61 eOf</span>(slice.ptr));.....<spa
38bc0 6e 20 63 6c 61 73 73 3d 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
38be0 63 74 45 71 75 61 6c 28 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 62 75 69 6c 74 69 6e ctEqual(<span.class="tok-builtin
38c00 22 3e 40 69 6e 74 46 72 6f 6d 50 74 72 3c 2f 73 70 61 6e 3e 28 73 6c 69 63 65 2e 70 74 72 29 2c ">@intFromPtr</span>(slice.ptr),
38c20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 62 75 69 6c 74 69 6e 22 3e 40 69 6e 74 46 .<span.class="tok-builtin">@intF
38c40 72 6f 6d 50 74 72 3c 2f 73 70 61 6e 3e 28 26 61 6d 70 3b 73 6c 69 63 65 5b 3c 73 70 61 6e 20 63 romPtr</span>(&amp;slice[<span.c
38c60 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 29 3b 0a 0a lass="tok-number">0</span>]));..
38c80 20 20 20 20 3c 73 70 61 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">//
38ca0 20 53 6c 69 63 65 73 20 68 61 76 65 20 61 72 72 61 79 20 62 6f 75 6e 64 73 20 63 68 65 63 6b 69 .Slices.have.array.bounds.checki
38cc0 6e 67 2e 20 49 66 20 79 6f 75 20 74 72 79 20 74 6f 20 61 63 63 65 73 73 20 73 6f 6d 65 74 68 69 ng..If.you.try.to.access.somethi
38ce0 6e 67 20 6f 75 74 3c 2f 73 70 61 6e 3e 0a 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 ng.out</span>.....<span.class="t
38d00 6f 6b 2d 63 6f 6d 6d 65 6e 74 22 3e 2f 2f 20 6f 66 20 62 6f 75 6e 64 73 2c 20 79 6f 75 27 6c 6c ok-comment">//.of.bounds,.you'll
38d20 20 67 65 74 20 61 20 73 61 66 65 74 79 20 63 68 65 63 6b 20 66 61 69 6c 75 72 65 3a 3c 2f 73 70 .get.a.safety.check.failure:</sp
38d40 61 6e 3e 0a 20 20 20 20 73 6c 69 63 65 5b 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e an>.....slice[<span.class="tok-n
38d60 75 6d 62 65 72 22 3e 31 30 3c 2f 73 70 61 6e 3e 5d 20 2b 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 umber">10</span>].+=.<span.class
38d80 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 31 3c 2f 73 70 61 6e 3e 3b 0a 0a 20 20 20 20 3c 73 70 ="tok-number">1</span>;......<sp
38da0 61 6e 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 74 65 20 74 an.class="tok-comment">//.Note.t
38dc0 68 61 74 20 60 73 6c 69 63 65 2e 70 74 72 60 20 64 6f 65 73 20 6e 6f 74 20 69 6e 76 6f 6b 65 20 hat.`slice.ptr`.does.not.invoke.
38de0 73 61 66 65 74 79 20 63 68 65 63 6b 69 6e 67 2c 20 77 68 69 6c 65 20 60 26 61 6d 70 3b 73 6c 69 safety.checking,.while.`&amp;sli
38e00 63 65 5b 30 5d 60 3c 2f 73 70 61 6e 3e 0a 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 ce[0]`</span>.....<span.class="t
38e20 6f 6b 2d 63 6f 6d 6d 65 6e 74 22 3e 2f 2f 20 61 73 73 65 72 74 73 20 74 68 61 74 20 74 68 65 20 ok-comment">//.asserts.that.the.
38e40 73 6c 69 63 65 20 68 61 73 20 6c 65 6e 20 26 67 74 3b 20 30 2e 3c 2f 73 70 61 6e 3e 0a 0a 20 20 slice.has.len.&gt;.0.</span>....
38e60 20 20 3c 73 70 61 6e 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 ..<span.class="tok-comment">//.E
38e80 6d 70 74 79 20 73 6c 69 63 65 73 20 63 61 6e 20 62 65 20 63 72 65 61 74 65 64 20 6c 69 6b 65 20 mpty.slices.can.be.created.like.
38ea0 74 68 69 73 3a 3c 2f 73 70 61 6e 3e 0a 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f this:</span>.....<span.class="to
38ec0 6b 2d 6b 77 22 3e 63 6f 6e 73 74 3c 2f 73 70 61 6e 3e 20 65 6d 70 74 79 31 20 3d 20 26 61 6d 70 k-kw">const</span>.empty1.=.&amp
38ee0 3b 5b 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 30 3c 2f 73 70 ;[<span.class="tok-number">0</sp
38f00 61 6e 3e 5d 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 75 38 3c 2f 73 an>]<span.class="tok-type">u8</s
38f20 70 61 6e 3e 7b 7d 3b 0a 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 63 6f 6d pan>{};.....<span.class="tok-com
38f40 6d 65 6e 74 22 3e 2f 2f 20 49 66 20 74 68 65 20 74 79 70 65 20 69 73 20 6b 6e 6f 77 6e 20 79 6f ment">//.If.the.type.is.known.yo
38f60 75 20 63 61 6e 20 75 73 65 20 74 68 69 73 20 73 68 6f 72 74 20 68 61 6e 64 3a 3c 2f 73 70 61 6e u.can.use.this.short.hand:</span
38f80 3e 0a 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 63 6f 6e 73 74 >.....<span.class="tok-kw">const
38fa0 3c 2f 73 70 61 6e 3e 20 65 6d 70 74 79 32 3a 20 5b 5d 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 </span>.empty2:.[]<span.class="t
38fc0 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 2e 7b 7d 3b 0a 20 ok-type">u8</span>.=.&amp;.{};..
38fe0 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 74 72 79 3c 2f 73 70 61 ...<span.class="tok-kw">try</spa
39000 6e 3e 20 65 78 70 65 63 74 45 71 75 61 6c 28 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d n>.expectEqual(<span.class="tok-
39020 6e 75 6d 62 65 72 22 3e 30 3c 2f 73 70 61 6e 3e 2c 20 65 6d 70 74 79 31 2e 6c 65 6e 29 3b 0a 20 number">0</span>,.empty1.len);..
39040 20 20 20 3c 73 70 61 6e 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
39060 6e 3e 20 65 78 70 65 63 74 45 71 75 61 6c 28 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d n>.expectEqual(<span.class="tok-
39080 6e 75 6d 62 65 72 22 3e 30 3c 2f 73 70 61 6e 3e 2c 20 65 6d 70 74 79 32 2e 6c 65 6e 29 3b 0a 0a number">0</span>,.empty2.len);..
390a0 20 20 20 20 3c 73 70 61 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">//
390c0 20 41 20 7a 65 72 6f 2d 6c 65 6e 67 74 68 20 69 6e 69 74 69 61 6c 69 7a 61 74 69 6f 6e 20 63 61 .A.zero-length.initialization.ca
390e0 6e 20 61 6c 77 61 79 73 20 62 65 20 75 73 65 64 20 74 6f 20 63 72 65 61 74 65 20 61 6e 20 65 6d n.always.be.used.to.create.an.em
39100 70 74 79 20 73 6c 69 63 65 2c 20 65 76 65 6e 20 69 66 20 74 68 65 20 73 6c 69 63 65 20 69 73 20 pty.slice,.even.if.the.slice.is.
39120 6d 75 74 61 62 6c 65 2e 3c 2f 73 70 61 6e 3e 0a 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d mutable.</span>.....<span.class=
39140 22 74 6f 6b 2d 63 6f 6d 6d 65 6e 74 22 3e 2f 2f 20 54 68 69 73 20 69 73 20 62 65 63 61 75 73 65 "tok-comment">//.This.is.because
39160 20 74 68 65 20 70 6f 69 6e 74 65 64 2d 74 6f 20 64 61 74 61 20 69 73 20 7a 65 72 6f 20 62 69 74 .the.pointed-to.data.is.zero.bit
39180 73 20 6c 6f 6e 67 2c 20 73 6f 20 69 74 73 20 69 6d 6d 75 74 61 62 69 6c 69 74 79 20 69 73 20 69 s.long,.so.its.immutability.is.i
391a0 72 72 65 6c 65 76 61 6e 74 2e 3c 2f 73 70 61 6e 3e 0a 7d 3c 2f 63 6f 64 65 3e 3c 2f 70 72 65 3e rrelevant.</span>.}</code></pre>
391c0 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
391e0 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
39200 3e 3c 70 72 65 3e 3c 73 61 6d 70 3e 24 20 3c 6b 62 64 3e 7a 69 67 20 74 65 73 74 20 74 65 73 74 ><pre><samp>$.<kbd>zig.test.test
39220 5f 62 61 73 69 63 5f 73 6c 69 63 65 73 2e 7a 69 67 3c 2f 6b 62 64 3e 0a 31 2f 31 20 74 65 73 74 _basic_slices.zig</kbd>.1/1.test
39240 5f 62 61 73 69 63 5f 73 6c 69 63 65 73 2e 74 65 73 74 2e 62 61 73 69 63 20 73 6c 69 63 65 73 2e _basic_slices.test.basic.slices.
39260 2e 2e 74 68 72 65 61 64 20 32 33 35 32 31 34 20 70 61 6e 69 63 3a 20 69 6e 64 65 78 20 6f 75 74 ..thread.235214.panic:.index.out
39280 20 6f 66 20 62 6f 75 6e 64 73 3a 20 69 6e 64 65 78 20 31 30 2c 20 6c 65 6e 20 34 0a 2f 68 6f 6d .of.bounds:.index.10,.len.4./hom
392a0 65 2f 63 69 2f 77 6f 72 6b 2f 7a 69 67 2d 62 6f 6f 74 73 74 72 61 70 2f 7a 69 67 2f 64 6f 63 2f e/ci/work/zig-bootstrap/zig/doc/
392c0 6c 61 6e 67 72 65 66 2f 74 65 73 74 5f 62 61 73 69 63 5f 73 6c 69 63 65 73 2e 7a 69 67 3a 34 31 langref/test_basic_slices.zig:41
392e0 3a 31 30 3a 20 30 78 31 32 33 61 62 63 38 20 69 6e 20 74 65 73 74 2e 62 61 73 69 63 20 73 6c 69 :10:.0x123abc8.in.test.basic.sli
39300 63 65 73 20 28 74 65 73 74 5f 62 61 73 69 63 5f 73 6c 69 63 65 73 2e 7a 69 67 29 0a 20 20 20 20 ces.(test_basic_slices.zig).....
39320 73 6c 69 63 65 5b 31 30 5d 20 2b 3d 20 31 3b 0a 20 20 20 20 20 20 20 20 20 5e 0a 2f 68 6f 6d 65 slice[10].+=.1;..........^./home
39340 2f 63 69 2f 77 6f 72 6b 2f 7a 69 67 2d 62 6f 6f 74 73 74 72 61 70 2f 6f 75 74 2f 68 6f 73 74 2f /ci/work/zig-bootstrap/out/host/
39360 6c 69 62 2f 7a 69 67 2f 63 6f 6d 70 69 6c 65 72 2f 74 65 73 74 5f 72 75 6e 6e 65 72 2e 7a 69 67 lib/zig/compiler/test_runner.zig
39380 3a 32 39 31 3a 32 35 3a 20 30 78 31 31 66 33 65 64 36 20 69 6e 20 6d 61 69 6e 54 65 72 6d 69 6e :291:25:.0x11f3ed6.in.mainTermin
393a0 61 6c 20 28 74 65 73 74 5f 72 75 6e 6e 65 72 2e 7a 69 67 29 0a 20 20 20 20 20 20 20 20 69 66 20 al.(test_runner.zig).........if.
393c0 28 74 65 73 74 5f 66 6e 2e 66 75 6e 63 28 29 29 20 7c 5f 7c 20 7b 0a 20 20 20 20 20 20 20 20 20 (test_fn.func()).|_|.{..........
393e0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 5e 0a 2f 68 6f 6d 65 2f 63 69 2f 77 6f 72 6b 2f 7a ...............^./home/ci/work/z
39400 69 67 2d 62 6f 6f 74 73 74 72 61 70 2f 6f 75 74 2f 68 6f 73 74 2f 6c 69 62 2f 7a 69 67 2f 63 6f ig-bootstrap/out/host/lib/zig/co
39420 6d 70 69 6c 65 72 2f 74 65 73 74 5f 72 75 6e 6e 65 72 2e 7a 69 67 3a 37 33 3a 32 38 3a 20 30 78 mpiler/test_runner.zig:73:28:.0x
39440 31 31 66 33 36 66 32 20 69 6e 20 6d 61 69 6e 20 28 74 65 73 74 5f 72 75 6e 6e 65 72 2e 7a 69 67 11f36f2.in.main.(test_runner.zig
39460 29 0a 20 20 20 20 20 20 20 20 72 65 74 75 72 6e 20 6d 61 69 6e 54 65 72 6d 69 6e 61 6c 28 69 6e ).........return.mainTerminal(in
39480 69 74 29 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 it);............................
394a0 5e 0a 2f 68 6f 6d 65 2f 63 69 2f 77 6f 72 6b 2f 7a 69 67 2d 62 6f 6f 74 73 74 72 61 70 2f 6f 75 ^./home/ci/work/zig-bootstrap/ou
394c0 74 2f 68 6f 73 74 2f 6c 69 62 2f 7a 69 67 2f 73 74 64 2f 73 74 61 72 74 2e 7a 69 67 3a 37 32 33 t/host/lib/zig/std/start.zig:723
394e0 3a 38 38 3a 20 30 78 31 31 65 66 66 30 35 20 69 6e 20 63 61 6c 6c 4d 61 69 6e 20 28 73 74 64 2e :88:.0x11eff05.in.callMain.(std.
39500 7a 69 67 29 0a 20 20 20 20 69 66 20 28 66 6e 5f 69 6e 66 6f 2e 70 61 72 61 6d 73 5b 30 5d 2e 74 zig).....if.(fn_info.params[0].t
39520 79 70 65 2e 3f 20 3d 3d 20 73 74 64 2e 70 72 6f 63 65 73 73 2e 49 6e 69 74 2e 4d 69 6e 69 6d 61 ype.?.==.std.process.Init.Minima
39540 6c 29 20 72 65 74 75 72 6e 20 77 72 61 70 4d 61 69 6e 28 72 6f 6f 74 2e 6d 61 69 6e 28 2e 7b 0a l).return.wrapMain(root.main(.{.
39560 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ................................
39580 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ................................
395a0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 5e 0a 2f 68 6f 6d 65 2f 63 .......................^./home/c
395c0 69 2f 77 6f 72 6b 2f 7a 69 67 2d 62 6f 6f 74 73 74 72 61 70 2f 6f 75 74 2f 68 6f 73 74 2f 6c 69 i/work/zig-bootstrap/out/host/li
395e0 62 2f 7a 69 67 2f 73 74 64 2f 73 74 61 72 74 2e 7a 69 67 3a 32 30 34 3a 35 3a 20 30 78 31 31 65 b/zig/std/start.zig:204:5:.0x11e
39600 66 38 65 31 20 69 6e 20 5f 73 74 61 72 74 20 28 73 74 64 2e 7a 69 67 29 0a 20 20 20 20 61 73 6d f8e1.in._start.(std.zig).....asm
39620 20 76 6f 6c 61 74 69 6c 65 20 28 73 77 69 74 63 68 20 28 6e 61 74 69 76 65 5f 61 72 63 68 29 20 .volatile.(switch.(native_arch).
39640 7b 0a 20 20 20 20 5e 0a 65 72 72 6f 72 3a 20 74 68 65 20 66 6f 6c 6c 6f 77 69 6e 67 20 74 65 73 {.....^.error:.the.following.tes
39660 74 20 63 6f 6d 6d 61 6e 64 20 74 65 72 6d 69 6e 61 74 65 64 20 77 69 74 68 20 73 69 67 6e 61 6c t.command.terminated.with.signal
39680 20 41 42 52 54 3a 0a 2f 68 6f 6d 65 2f 63 69 2f 77 6f 72 6b 2f 7a 69 67 2d 62 6f 6f 74 73 74 72 .ABRT:./home/ci/work/zig-bootstr
396a0 61 70 2f 6f 75 74 2f 7a 69 67 2d 6c 6f 63 61 6c 2d 63 61 63 68 65 2f 6f 2f 62 66 37 33 62 38 31 ap/out/zig-local-cache/o/bf73b81
396c0 61 34 36 35 65 37 65 33 36 35 36 30 61 38 65 37 32 63 66 61 31 32 34 63 39 2f 74 65 73 74 20 2d a465e7e36560a8e72cfa124c9/test.-
396e0 2d 73 65 65 64 3d 30 78 64 33 35 30 63 39 65 38 0a 3c 2f 73 61 6d 70 3e 3c 2f 70 72 65 3e 3c 2f -seed=0xd350c9e8.</samp></pre></
39700 66 69 67 75 72 65 3e 0a 0a 20 20 20 20 20 20 3c 70 3e 54 68 69 73 20 69 73 20 6f 6e 65 20 72 65 figure>........<p>This.is.one.re
39720 61 73 6f 6e 20 77 65 20 70 72 65 66 65 72 20 73 6c 69 63 65 73 20 74 6f 20 70 6f 69 6e 74 65 72 ason.we.prefer.slices.to.pointer
39740 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
39760 20 63 6c 61 73 73 3d 22 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
39780 6c 65 22 3e 74 65 73 74 5f 73 6c 69 63 65 73 2e 7a 69 67 3c 2f 63 69 74 65 3e 3c 2f 66 69 67 63 le">test_slices.zig</cite></figc
397a0 61 70 74 69 6f 6e 3e 3c 70 72 65 3e 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 aption><pre><code><span.class="t
397c0 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.
397e0 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
39800 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
39820 74 64 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 29 3b 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 td&quot;</span>);.<span.class="t
39840 6f 6b 2d 6b 77 22 3e 63 6f 6e 73 74 3c 2f 73 70 61 6e 3e 20 65 78 70 65 63 74 45 71 75 61 6c 20 ok-kw">const</span>.expectEqual.
39860 3d 20 73 74 64 2e 74 65 73 74 69 6e 67 2e 65 78 70 65 63 74 45 71 75 61 6c 3b 0a 3c 73 70 61 6e =.std.testing.expectEqual;.<span
39880 20 63 6c 61 73 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
398a0 65 63 74 45 71 75 61 6c 53 74 72 69 6e 67 73 20 3d 20 73 74 64 2e 74 65 73 74 69 6e 67 2e 65 78 ectEqualStrings.=.std.testing.ex
398c0 70 65 63 74 45 71 75 61 6c 53 74 72 69 6e 67 73 3b 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 pectEqualStrings;.<span.class="t
398e0 6f 6b 2d 6b 77 22 3e 63 6f 6e 73 74 3c 2f 73 70 61 6e 3e 20 66 6d 74 20 3d 20 73 74 64 2e 66 6d ok-kw">const</span>.fmt.=.std.fm
39900 74 3b 0a 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 74 65 73 74 3c 2f 73 t;..<span.class="tok-kw">test</s
39920 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
39940 3b 75 73 69 6e 67 20 73 6c 69 63 65 73 20 66 6f 72 20 73 74 72 69 6e 67 73 26 71 75 6f 74 3b 3c ;using.slices.for.strings&quot;<
39960 2f 73 70 61 6e 3e 20 7b 0a 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 63 6f /span>.{.....<span.class="tok-co
39980 6d 6d 65 6e 74 22 3e 2f 2f 20 5a 69 67 20 68 61 73 20 6e 6f 20 63 6f 6e 63 65 70 74 20 6f 66 20 mment">//.Zig.has.no.concept.of.
399a0 73 74 72 69 6e 67 73 2e 20 53 74 72 69 6e 67 20 6c 69 74 65 72 61 6c 73 20 61 72 65 20 63 6f 6e strings..String.literals.are.con
399c0 73 74 20 70 6f 69 6e 74 65 72 73 3c 2f 73 70 61 6e 3e 0a 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 st.pointers</span>.....<span.cla
399e0 73 73 3d 22 74 6f 6b 2d 63 6f 6d 6d 65 6e 74 22 3e 2f 2f 20 74 6f 20 6e 75 6c 6c 2d 74 65 72 6d ss="tok-comment">//.to.null-term
39a00 69 6e 61 74 65 64 20 61 72 72 61 79 73 20 6f 66 20 75 38 2c 20 61 6e 64 20 62 79 20 63 6f 6e 76 inated.arrays.of.u8,.and.by.conv
39a20 65 6e 74 69 6f 6e 20 70 61 72 61 6d 65 74 65 72 73 3c 2f 73 70 61 6e 3e 0a 20 20 20 20 3c 73 70 ention.parameters</span>.....<sp
39a40 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 63 6f 6d 6d 65 6e 74 22 3e 2f 2f 20 74 68 61 74 20 61 an.class="tok-comment">//.that.a
39a60 72 65 20 26 71 75 6f 74 3b 73 74 72 69 6e 67 73 26 71 75 6f 74 3b 20 61 72 65 20 65 78 70 65 63 re.&quot;strings&quot;.are.expec
39a80 74 65 64 20 74 6f 20 62 65 20 55 54 46 2d 38 20 65 6e 63 6f 64 65 64 20 73 6c 69 63 65 73 20 6f ted.to.be.UTF-8.encoded.slices.o
39aa0 66 20 75 38 2e 3c 2f 73 70 61 6e 3e 0a 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f f.u8.</span>.....<span.class="to
39ac0 6b 2d 63 6f 6d 6d 65 6e 74 22 3e 2f 2f 20 48 65 72 65 20 77 65 20 63 6f 65 72 63 65 20 2a 63 6f k-comment">//.Here.we.coerce.*co
39ae0 6e 73 74 20 5b 35 3a 30 5d 75 38 20 61 6e 64 20 2a 63 6f 6e 73 74 20 5b 36 3a 30 5d 75 38 20 74 nst.[5:0]u8.and.*const.[6:0]u8.t
39b00 6f 20 5b 5d 63 6f 6e 73 74 20 75 38 3c 2f 73 70 61 6e 3e 0a 20 20 20 20 3c 73 70 61 6e 20 63 6c o.[]const.u8</span>.....<span.cl
39b20 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 63 6f 6e 73 74 3c 2f 73 70 61 6e 3e 20 68 65 6c 6c 6f 3a ass="tok-kw">const</span>.hello:
39b40 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
39b60 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</
39b80 73 70 61 6e 3e 20 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 73 74 72 22 3e 26 71 span>.=.<span.class="tok-str">&q
39ba0 75 6f 74 3b 68 65 6c 6c 6f 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 3b 0a 20 20 20 20 3c 73 70 61 uot;hello&quot;</span>;.....<spa
39bc0 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 63 6f 6e 73 74 3c 2f 73 70 61 6e 3e 20 77 6f n.class="tok-kw">const</span>.wo
39be0 72 6c 64 3a 20 5b 5d 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 63 6f 6e 73 rld:.[]<span.class="tok-kw">cons
39c00 74 3c 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">
39c20 75 38 3c 2f 73 70 61 6e 3e 20 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 73 74 72 u8</span>.=.<span.class="tok-str
39c40 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 0a 0a 20 20 ">&quot;......&quot;</span>;....
39c60 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
39c80 3e 20 61 6c 6c 5f 74 6f 67 65 74 68 65 72 3a 20 5b 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f >.all_together:.[<span.class="to
39ca0 6b 2d 6e 75 6d 62 65 72 22 3e 31 30 30 3c 2f 73 70 61 6e 3e 5d 3c 73 70 61 6e 20 63 6c 61 73 73 k-number">100</span>]<span.class
39cc0 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 75 38 3c 2f 73 70 61 6e 3e 20 3d 20 3c 73 70 61 6e 20 63 6c ="tok-type">u8</span>.=.<span.cl
39ce0 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>;
39d00 0a 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 63 6f 6d 6d 65 6e 74 22 3e 2f .....<span.class="tok-comment">/
39d20 2f 20 59 6f 75 20 63 61 6e 20 75 73 65 20 73 6c 69 63 65 20 73 79 6e 74 61 78 20 77 69 74 68 20 /.You.can.use.slice.syntax.with.
39d40 61 74 20 6c 65 61 73 74 20 6f 6e 65 20 72 75 6e 74 69 6d 65 2d 6b 6e 6f 77 6e 20 69 6e 64 65 78 at.least.one.runtime-known.index
39d60 20 6f 6e 20 61 6e 3c 2f 73 70 61 6e 3e 0a 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 .on.an</span>.....<span.class="t
39d80 6f 6b 2d 63 6f 6d 6d 65 6e 74 22 3e 2f 2f 20 61 72 72 61 79 20 74 6f 20 63 6f 6e 76 65 72 74 20 ok-comment">//.array.to.convert.
39da0 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 0a 20 20 an.array.into.a.slice.</span>...
39dc0 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
39de0 3e 20 73 74 61 72 74 3a 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e >.start:.<span.class="tok-type">
39e00 75 73 69 7a 65 3c 2f 73 70 61 6e 3e 20 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d usize</span>.=.<span.class="tok-
39e20 6e 75 6d 62 65 72 22 3e 30 3c 2f 73 70 61 6e 3e 3b 0a 20 20 20 20 5f 20 3d 20 26 61 6d 70 3b 73 number">0</span>;....._.=.&amp;s
39e40 74 61 72 74 3b 0a 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 63 tart;.....<span.class="tok-kw">c
39e60 6f 6e 73 74 3c 2f 73 70 61 6e 3e 20 61 6c 6c 5f 74 6f 67 65 74 68 65 72 5f 73 6c 69 63 65 20 3d onst</span>.all_together_slice.=
39e80 20 61 6c 6c 5f 74 6f 67 65 74 68 65 72 5b 73 74 61 72 74 2e 2e 5d 3b 0a 20 20 20 20 3c 73 70 61 .all_together[start..];.....<spa
39ea0 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 63 6f 6d 6d 65 6e 74 22 3e 2f 2f 20 53 74 72 69 6e 67 20 n.class="tok-comment">//.String.
39ec0 63 6f 6e 63 61 74 65 6e 61 74 69 6f 6e 20 65 78 61 6d 70 6c 65 2e 3c 2f 73 70 61 6e 3e 0a 20 20 concatenation.example.</span>...
39ee0 20 20 3c 73 70 61 6e 20 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
39f00 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 73 73 3d 22 74 an>.hello_world.=.<span.class="t
39f20 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 69 6e 74 28 61 ok-kw">try</span>.fmt.bufPrint(a
39f40 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 61 73 73 3d 22 ll_together_slice,.<span.class="
39f60 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 3b 3c 2f 73 70 tok-str">&quot;{s}.{s}&quot;</sp
39f80 61 6e 3e 2c 20 2e 7b 20 68 65 6c 6c 6f 2c 20 77 6f 72 6c 64 20 7d 29 3b 0a 0a 20 20 20 20 3c 73 an>,..{.hello,.world.});......<s
39fa0 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 63 6f 6d 6d 65 6e 74 22 3e 2f 2f 20 47 65 6e 65 72 pan.class="tok-comment">//.Gener
39fc0 61 6c 6c 79 2c 20 79 6f 75 20 63 61 6e 20 75 73 65 20 55 54 46 2d 38 20 61 6e 64 20 6e 6f 74 20 ally,.you.can.use.UTF-8.and.not.
39fe0 77 6f 72 72 79 20 61 62 6f 75 74 20 77 68 65 74 68 65 72 20 73 6f 6d 65 74 68 69 6e 67 20 69 73 worry.about.whether.something.is
3a000 20 61 3c 2f 73 70 61 6e 3e 0a 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 63 .a</span>.....<span.class="tok-c
3a020 6f 6d 6d 65 6e 74 22 3e 2f 2f 20 73 74 72 69 6e 67 2e 20 49 66 20 79 6f 75 20 64 6f 6e 27 74 20 omment">//.string..If.you.don't.
3a040 6e 65 65 64 20 74 6f 20 64 65 61 6c 20 77 69 74 68 20 69 6e 64 69 76 69 64 75 61 6c 20 63 68 61 need.to.deal.with.individual.cha
3a060 72 61 63 74 65 72 73 2c 20 6e 6f 20 6e 65 65 64 3c 2f 73 70 61 6e 3e 0a 20 20 20 20 3c 73 70 61 racters,.no.need</span>.....<spa
3a080 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 63 6f 6d 6d 65 6e 74 22 3e 2f 2f 20 74 6f 20 64 65 63 6f n.class="tok-comment">//.to.deco
3a0a0 64 65 2e 3c 2f 73 70 61 6e 3e 0a 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d de.</span>.....<span.class="tok-
3a0c0 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 53 74 72 69 6e 67 kw">try</span>.expectEqualString
3a0e0 73 28 3c 73 70 61 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 s(<span.class="tok-str">&quot;he
3a100 6c 6c 6f 20 e4 b8 96 e7 95 8c 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 2c 20 68 65 6c 6c 6f 5f 77 llo.......&quot;</span>,.hello_w
3a120 6f 72 6c 64 29 3b 0a 7d 0a 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 74 orld);.}..<span.class="tok-kw">t
3a140 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"
3a160 3e 26 71 75 6f 74 3b 73 6c 69 63 65 20 70 6f 69 6e 74 65 72 26 71 75 6f 74 3b 3c 2f 73 70 61 6e >&quot;slice.pointer&quot;</span
3a180 3e 20 7b 0a 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 76 61 72 >.{.....<span.class="tok-kw">var
3a1a0 3c 2f 73 70 61 6e 3e 20 61 72 72 61 79 3a 20 5b 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b </span>.array:.[<span.class="tok
3a1c0 2d 6e 75 6d 62 65 72 22 3e 31 30 3c 2f 73 70 61 6e 3e 5d 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 -number">10</span>]<span.class="
3a1e0 74 6f 6b 2d 74 79 70 65 22 3e 75 38 3c 2f 73 70 61 6e 3e 20 3d 20 3c 73 70 61 6e 20 63 6c 61 73 tok-type">u8</span>.=.<span.clas
3a200 73 3d 22 74 6f 6b 2d 6e 75 6c 6c 22 3e 75 6e 64 65 66 69 6e 65 64 3c 2f 73 70 61 6e 3e 3b 0a 20 s="tok-null">undefined</span>;..
3a220 20 20 20 3c 73 70 61 6e 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
3a240 70 61 6e 3e 20 70 74 72 20 3d 20 26 61 6d 70 3b 61 72 72 61 79 3b 0a 20 20 20 20 3c 73 70 61 6e pan>.ptr.=.&amp;array;.....<span
3a260 20 63 6c 61 73 73 3d 22 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
3a280 74 45 71 75 61 6c 28 2a 5b 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 tEqual(*[<span.class="tok-number
3a2a0 22 3e 31 30 3c 2f 73 70 61 6e 3e 5d 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 ">10</span>]<span.class="tok-typ
3a2c0 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 62 e">u8</span>,.<span.class="tok-b
3a2e0 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 3b 0a 0a 20 uiltin">@TypeOf</span>(ptr));...
3a300 20 20 20 3c 73 70 61 6e 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">//.
3a320 41 20 70 6f 69 6e 74 65 72 20 74 6f 20 61 6e 20 61 72 72 61 79 20 63 61 6e 20 62 65 20 73 6c 69 A.pointer.to.an.array.can.be.sli
3a340 63 65 64 20 6a 75 73 74 20 6c 69 6b 65 20 61 6e 20 61 72 72 61 79 3a 3c 2f 73 70 61 6e 3e 0a 20 ced.just.like.an.array:</span>..
3a360 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
3a380 6e 3e 20 73 74 61 72 74 3a 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 n>.start:.<span.class="tok-type"
3a3a0 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
3a3c0 2d 6e 75 6d 62 65 72 22 3e 30 3c 2f 73 70 61 6e 3e 3b 0a 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 -number">0</span>;.....<span.cla
3a3e0 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 76 61 72 3c 2f 73 70 61 6e 3e 20 65 6e 64 3a 20 3c 73 70 61 ss="tok-kw">var</span>.end:.<spa
3a400 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 75 73 69 7a 65 3c 2f 73 70 61 6e 3e 20 n.class="tok-type">usize</span>.
3a420 3d 20 3c 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
3a440 61 6e 3e 3b 0a 20 20 20 20 5f 20 3d 20 2e 7b 20 26 61 6d 70 3b 73 74 61 72 74 2c 20 26 61 6d 70 an>;....._.=..{.&amp;start,.&amp
3a460 3b 65 6e 64 20 7d 3b 0a 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 ;end.};.....<span.class="tok-kw"
3a480 3e 63 6f 6e 73 74 3c 2f 73 70 61 6e 3e 20 73 6c 69 63 65 20 3d 20 70 74 72 5b 73 74 61 72 74 2e >const</span>.slice.=.ptr[start.
3a4a0 2e 65 6e 64 5d 3b 0a 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 63 6f 6d 6d .end];.....<span.class="tok-comm
3a4c0 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 63 ent">//.The.slice.is.mutable.bec
3a4e0 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 72 ause.we.sliced.a.mutable.pointer
3a500 2e 3c 2f 73 70 61 6e 3e 0a 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 .</span>.....<span.class="tok-kw
3a520 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 5b 5d 3c 73 70 61 6e ">try</span>.expectEqual([]<span
3a540 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
3a560 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</
3a580 73 70 61 6e 3e 28 73 6c 69 63 65 29 29 3b 0a 20 20 20 20 73 6c 69 63 65 5b 3c 73 70 61 6e 20 63 span>(slice));.....slice[<span.c
3a5a0 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 20 3c 73 lass="tok-number">2</span>].=.<s
3a5c0 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 33 3c 2f 73 70 61 6e 3e 3b pan.class="tok-number">3</span>;
3a5e0 0a 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 74 72 79 3c 2f 73 .....<span.class="tok-kw">try</s
3a600 70 61 6e 3e 20 65 78 70 65 63 74 45 71 75 61 6c 28 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f pan>.expectEqual(<span.class="to
3a620 6b 2d 6e 75 6d 62 65 72 22 3e 33 3c 2f 73 70 61 6e 3e 2c 20 61 72 72 61 79 5b 3c 73 70 61 6e 20 k-number">3</span>,.array[<span.
3a640 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 29 3b 0a 0a class="tok-number">2</span>]);..
3a660 20 20 20 20 3c 73 70 61 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">//
3a680 20 41 67 61 69 6e 2c 20 73 6c 69 63 69 6e 67 20 77 69 74 68 20 63 6f 6d 70 74 69 6d 65 2d 6b 6e .Again,.slicing.with.comptime-kn
3a6a0 6f 77 6e 20 69 6e 64 65 78 65 73 20 77 69 6c 6c 20 70 72 6f 64 75 63 65 20 61 6e 6f 74 68 65 72 own.indexes.will.produce.another
3a6c0 20 70 6f 69 6e 74 65 72 3c 2f 73 70 61 6e 3e 0a 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d .pointer</span>.....<span.class=
3a6e0 22 74 6f 6b 2d 63 6f 6d 6d 65 6e 74 22 3e 2f 2f 20 74 6f 20 61 6e 20 61 72 72 61 79 3a 3c 2f 73 "tok-comment">//.to.an.array:</s
3a700 70 61 6e 3e 0a 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 63 6f pan>.....<span.class="tok-kw">co
3a720 6e 73 74 3c 2f 73 70 61 6e 3e 20 70 74 72 32 20 3d 20 73 6c 69 63 65 5b 3c 73 70 61 6e 20 63 6c nst</span>.ptr2.=.slice[<span.cl
3a740 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 2e 2e 3c 73 70 61 6e ass="tok-number">2</span>..<span
3a760 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 33 3c 2f 73 70 61 6e 3e 5d 3b 0a 20 .class="tok-number">3</span>];..
3a780 20 20 20 3c 73 70 61 6e 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
3a7a0 6e 3e 20 65 78 70 65 63 74 45 71 75 61 6c 28 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d n>.expectEqual(<span.class="tok-
3a7c0 6e 75 6d 62 65 72 22 3e 31 3c 2f 73 70 61 6e 3e 2c 20 70 74 72 32 2e 6c 65 6e 29 3b 0a 20 20 20 number">1</span>,.ptr2.len);....
3a7e0 20 3c 73 70 61 6e 20 63 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>
3a800 20 65 78 70 65 63 74 45 71 75 61 6c 28 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 .expectEqual(<span.class="tok-nu
3a820 6d 62 65 72 22 3e 33 3c 2f 73 70 61 6e 3e 2c 20 70 74 72 32 5b 3c 73 70 61 6e 20 63 6c 61 73 73 mber">3</span>,.ptr2[<span.class
3a840 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 0a 20 20 20 20 3c 73 ="tok-number">0</span>]);.....<s
3a860 70 61 6e 20 63 6c 61 73 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
3a880 70 65 63 74 45 71 75 61 6c 28 2a 5b 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d pectEqual(*[<span.class="tok-num
3a8a0 62 65 72 22 3e 31 3c 2f 73 70 61 6e 3e 5d 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 ber">1</span>]<span.class="tok-t
3a8c0 79 70 65 22 3e 75 38 3c 2f 73 70 61 6e 3e 2c 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b ype">u8</span>,.<span.class="tok
3a8e0 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 32 29 29 3b -builtin">@TypeOf</span>(ptr2));
3a900 0a 7d 3c 2f 63 6f 64 65 3e 3c 2f 70 72 65 3e 3c 2f 66 69 67 75 72 65 3e 3c 66 69 67 75 72 65 3e .}</code></pre></figure><figure>
3a920 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
3a940 65 6c 6c 3c 2f 66 69 67 63 61 70 74 69 6f 6e 3e 3c 70 72 65 3e 3c 73 61 6d 70 3e 24 20 3c 6b 62 ell</figcaption><pre><samp>$.<kb
3a960 64 3e 7a 69 67 20 74 65 73 74 20 74 65 73 74 5f 73 6c 69 63 65 73 2e 7a 69 67 3c 2f 6b 62 64 3e d>zig.test.test_slices.zig</kbd>
3a980 0a 31 2f 32 20 74 65 73 74 5f 73 6c 69 63 65 73 2e 74 65 73 74 2e 75 73 69 6e 67 20 73 6c 69 63 .1/2.test_slices.test.using.slic
3a9a0 65 73 20 66 6f 72 20 73 74 72 69 6e 67 73 2e 2e 2e 4f 4b 0a 32 2f 32 20 74 65 73 74 5f 73 6c 69 es.for.strings...OK.2/2.test_sli
3a9c0 63 65 73 2e 74 65 73 74 2e 73 6c 69 63 65 20 70 6f 69 6e 74 65 72 2e 2e 2e 4f 4b 0a 41 6c 6c 20 ces.test.slice.pointer...OK.All.
3a9e0 32 20 74 65 73 74 73 20 70 61 73 73 65 64 2e 0a 3c 2f 73 61 6d 70 3e 3c 2f 70 72 65 3e 3c 2f 66 2.tests.passed..</samp></pre></f
3aa00 69 67 75 72 65 3e 0a 0a 20 20 20 20 20 20 3c 70 3e 53 65 65 20 61 6c 73 6f 3a 3c 2f 70 3e 3c 75 igure>........<p>See.also:</p><u
3aa20 6c 3e 0a 3c 6c 69 3e 3c 61 20 68 72 65 66 3d 22 23 50 6f 69 6e 74 65 72 73 22 3e 50 6f 69 6e 74 l>.<li><a.href="#Pointers">Point
3aa40 65 72 73 3c 2f 61 3e 3c 2f 6c 69 3e 0a 3c 6c 69 3e 3c 61 20 68 72 65 66 3d 22 23 66 6f 72 22 3e ers</a></li>.<li><a.href="#for">
3aa60 66 6f 72 3c 2f 61 3e 3c 2f 6c 69 3e 0a 3c 6c 69 3e 3c 61 20 68 72 65 66 3d 22 23 41 72 72 61 79 for</a></li>.<li><a.href="#Array
3aa80 73 22 3e 41 72 72 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 s">Arrays</a></li>.</ul>........
3aaa0 20 3c 68 33 20 69 64 3d 22 53 65 6e 74 69 6e 65 6c 2d 54 65 72 6d 69 6e 61 74 65 64 2d 53 6c 69 .<h3.id="Sentinel-Terminated-Sli
3aac0 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 65 6e 74 ces"><a.href="nav.xhtml#toc-Sent
3aae0 69 6e 65 6c 2d 54 65 72 6d 69 6e 61 74 65 64 2d 53 6c 69 63 65 73 22 3e 53 65 6e 74 69 6e 65 6c inel-Terminated-Slices">Sentinel
3ab00 2d 54 65 72 6d 69 6e 61 74 65 64 20 53 6c 69 63 65 73 3c 2f 61 3e 20 3c 61 20 63 6c 61 73 73 3d -Terminated.Slices</a>.<a.class=
3ab20 22 68 64 72 22 20 68 72 65 66 3d 22 23 53 65 6e 74 69 6e 65 6c 2d 54 65 72 6d 69 6e 61 74 65 64 "hdr".href="#Sentinel-Terminated
3ab40 2d 53 6c 69 63 65 73 22 3e c2 a7 3c 2f 61 3e 3c 2f 68 33 3e 0a 0a 20 20 20 20 20 20 3c 70 3e 0a -Slices">..</a></h3>........<p>.
3ab60 20 20 20 20 20 20 54 68 65 20 73 79 6e 74 61 78 20 3c 63 6f 64 65 3e 5b 3a 78 5d 54 3c 2f 63 6f ......The.syntax.<code>[:x]T</co
3ab80 64 65 3e 20 69 73 20 61 20 73 6c 69 63 65 20 77 68 69 63 68 20 68 61 73 20 61 20 72 75 6e 74 69 de>.is.a.slice.which.has.a.runti
3aba0 6d 65 2d 6b 6e 6f 77 6e 20 6c 65 6e 67 74 68 0a 20 20 20 20 20 20 61 6e 64 20 61 6c 73 6f 20 67 me-known.length.......and.also.g
3abc0 75 61 72 61 6e 74 65 65 73 20 61 20 73 65 6e 74 69 6e 65 6c 20 76 61 6c 75 65 20 61 74 20 74 68 uarantees.a.sentinel.value.at.th
3abe0 65 20 65 6c 65 6d 65 6e 74 20 69 6e 64 65 78 65 64 20 62 79 20 74 68 65 20 6c 65 6e 67 74 68 2e e.element.indexed.by.the.length.
3ac00 20 54 68 65 20 74 79 70 65 20 64 6f 65 73 20 6e 6f 74 0a 20 20 20 20 20 20 67 75 61 72 61 6e 74 .The.type.does.not.......guarant
3ac20 65 65 20 74 68 61 74 20 74 68 65 72 65 20 61 72 65 20 6e 6f 20 73 65 6e 74 69 6e 65 6c 20 65 6c ee.that.there.are.no.sentinel.el
3ac40 65 6d 65 6e 74 73 20 62 65 66 6f 72 65 20 74 68 61 74 2e 20 53 65 6e 74 69 6e 65 6c 2d 74 65 72 ements.before.that..Sentinel-ter
3ac60 6d 69 6e 61 74 65 64 20 73 6c 69 63 65 73 20 61 6c 6c 6f 77 20 65 6c 65 6d 65 6e 74 0a 20 20 20 minated.slices.allow.element....
3ac80 20 20 20 61 63 63 65 73 73 20 74 6f 20 74 68 65 20 3c 63 6f 64 65 3e 6c 65 6e 3c 2f 63 6f 64 65 ...access.to.the.<code>len</code
3aca0 3e 20 69 6e 64 65 78 2e 0a 20 20 20 20 20 20 3c 2f 70 3e 0a 20 20 20 20 20 20 3c 66 69 67 75 72 >.index........</p>.......<figur
3acc0 65 3e 3c 66 69 67 63 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
3ace0 69 74 65 20 63 6c 61 73 73 3d 22 66 69 6c 65 22 3e 74 65 73 74 5f 6e 75 6c 6c 5f 74 65 72 6d 69 ite.class="file">test_null_termi
3ad00 6e 61 74 65 64 5f 73 6c 69 63 65 2e 7a 69 67 3c 2f 63 69 74 65 3e 3c 2f 66 69 67 63 61 70 74 69 nated_slice.zig</cite></figcapti
3ad20 6f 6e 3e 3c 70 72 65 3e 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b on><pre><code><span.class="tok-k
3ad40 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
3ad60 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>(<
3ad80 73 70 61 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
3ada0 75 6f 74 3b 3c 2f 73 70 61 6e 3e 29 3b 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b uot;</span>);.<span.class="tok-k
3adc0 77 22 3e 63 6f 6e 73 74 3c 2f 73 70 61 6e 3e 20 65 78 70 65 63 74 45 71 75 61 6c 20 3d 20 73 74 w">const</span>.expectEqual.=.st
3ade0 64 2e 74 65 73 74 69 6e 67 2e 65 78 70 65 63 74 45 71 75 61 6c 3b 0a 0a 3c 73 70 61 6e 20 63 6c d.testing.expectEqual;..<span.cl
3ae00 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
3ae20 6c 61 73 73 3d 22 74 6f 6b 2d 73 74 72 22 3e 26 71 75 6f 74 3b 30 2d 74 65 72 6d 69 6e 61 74 65 lass="tok-str">&quot;0-terminate
3ae40 64 20 73 6c 69 63 65 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 20 7b 0a 20 20 20 20 3c 73 70 61 6e d.slice&quot;</span>.{.....<span
3ae60 20 63 6c 61 73 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
3ae80 63 65 3a 20 5b 3a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 30 ce:.[:<span.class="tok-number">0
3aea0 3c 2f 73 70 61 6e 3e 5d 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 63 6f 6e </span>]<span.class="tok-kw">con
3aec0 73 74 3c 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"
3aee0 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
3af00 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 0a 0a 20 20 r">&quot;hello&quot;</span>;....
3af20 20 20 3c 73 70 61 6e 20 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
3af40 3e 20 65 78 70 65 63 74 45 71 75 61 6c 28 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e >.expectEqual(<span.class="tok-n
3af60 75 6d 62 65 72 22 3e 35 3c 2f 73 70 61 6e 3e 2c 20 73 6c 69 63 65 2e 6c 65 6e 29 3b 0a 20 20 20 umber">5</span>,.slice.len);....
3af80 20 3c 73 70 61 6e 20 63 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>
3afa0 20 65 78 70 65 63 74 45 71 75 61 6c 28 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 .expectEqual(<span.class="tok-nu
3afc0 6d 62 65 72 22 3e 30 3c 2f 73 70 61 6e 3e 2c 20 73 6c 69 63 65 5b 3c 73 70 61 6e 20 63 6c 61 73 mber">0</span>,.slice[<span.clas
3afe0 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 35 3c 2f 73 70 61 6e 3e 5d 29 3b 0a 7d 3c 2f 63 6f s="tok-number">5</span>]);.}</co
3b000 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
3b020 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
3b040 69 67 63 61 70 74 69 6f 6e 3e 3c 70 72 65 3e 3c 73 61 6d 70 3e 24 20 3c 6b 62 64 3e 7a 69 67 20 igcaption><pre><samp>$.<kbd>zig.
3b060 74 65 73 74 20 74 65 73 74 5f 6e 75 6c 6c 5f 74 65 72 6d 69 6e 61 74 65 64 5f 73 6c 69 63 65 2e test.test_null_terminated_slice.
3b080 7a 69 67 3c 2f 6b 62 64 3e 0a 31 2f 31 20 74 65 73 74 5f 6e 75 6c 6c 5f 74 65 72 6d 69 6e 61 74 zig</kbd>.1/1.test_null_terminat
3b0a0 65 64 5f 73 6c 69 63 65 2e 74 65 73 74 2e 30 2d 74 65 72 6d 69 6e 61 74 65 64 20 73 6c 69 63 65 ed_slice.test.0-terminated.slice
3b0c0 2e 2e 2e 4f 4b 0a 41 6c 6c 20 31 20 74 65 73 74 73 20 70 61 73 73 65 64 2e 0a 3c 2f 73 61 6d 70 ...OK.All.1.tests.passed..</samp
3b0e0 3e 3c 2f 70 72 65 3e 3c 2f 66 69 67 75 72 65 3e 0a 0a 20 20 20 20 20 20 3c 70 3e 0a 20 20 20 20 ></pre></figure>........<p>.....
3b100 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 63 61 6e ..Sentinel-terminated.slices.can
3b120 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 61 74 69 .also.be.created.using.a.variati
3b140 6f 6e 20 6f 66 20 74 68 65 20 73 6c 69 63 65 20 73 79 6e 74 61 78 0a 20 20 20 20 20 20 3c 63 6f on.of.the.slice.syntax.......<co
3b160 64 65 3e 64 61 74 61 5b 73 74 61 72 74 2e 2e 65 6e 64 20 3a 78 5d 3c 2f 63 6f 64 65 3e 2c 20 77 de>data[start..end.:x]</code>,.w
3b180 68 65 72 65 20 3c 63 6f 64 65 3e 64 61 74 61 3c 2f 63 6f 64 65 3e 20 69 73 20 61 20 6d 61 6e 79 here.<code>data</code>.is.a.many
3b1a0 2d 69 74 65 6d 20 70 6f 69 6e 74 65 72 2c 0a 20 20 20 20 20 20 61 72 72 61 79 20 6f 72 20 73 6c -item.pointer,.......array.or.sl
3b1c0 69 63 65 20 61 6e 64 20 3c 63 6f 64 65 3e 78 3c 2f 63 6f 64 65 3e 20 69 73 20 74 68 65 20 73 65 ice.and.<code>x</code>.is.the.se
3b1e0 6e 74 69 6e 65 6c 20 76 61 6c 75 65 2e 0a 20 20 20 20 20 20 3c 2f 70 3e 0a 20 20 20 20 20 20 3c ntinel.value........</p>.......<
3b200 66 69 67 75 72 65 3e 3c 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
3b220 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 75 6c 6c 5f p"><cite.class="file">test_null_
3b240 74 65 72 6d 69 6e 61 74 65 64 5f 73 6c 69 63 69 6e 67 2e 7a 69 67 3c 2f 63 69 74 65 3e 3c 2f 66 terminated_slicing.zig</cite></f
3b260 69 67 63 61 70 74 69 6f 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
3b280 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
3b2a0 61 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</
3b2c0 73 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
3b2e0 74 3b 73 74 64 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 29 3b 0a 3c 73 70 61 6e 20 63 6c 61 73 73 t;std&quot;</span>);.<span.class
3b300 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 45 71 75 ="tok-kw">const</span>.expectEqu
3b320 61 6c 20 3d 20 73 74 64 2e 74 65 73 74 69 6e 67 2e 65 78 70 65 63 74 45 71 75 61 6c 3b 0a 0a 3c al.=.std.testing.expectEqual;..<
3b340 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>.
3b360 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 73 74 72 22 3e 26 71 75 6f 74 3b 30 2d 74 65 <span.class="tok-str">&quot;0-te
3b380 72 6d 69 6e 61 74 65 64 20 73 6c 69 63 69 6e 67 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 20 7b 0a rminated.slicing&quot;</span>.{.
3b3a0 20 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
3b3c0 61 6e 3e 20 61 72 72 61 79 20 3d 20 5b 5f 5d 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d an>.array.=.[_]<span.class="tok-
3b3e0 74 79 70 65 22 3e 75 38 3c 2f 73 70 61 6e 3e 7b 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f type">u8</span>{.<span.class="to
3b400 6b 2d 6e 75 6d 62 65 72 22 3e 33 3c 2f 73 70 61 6e 3e 2c 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d k-number">3</span>,.<span.class=
3b420 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
3b440 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 31 3c 2f 73 70 61 6e 3e 2c 20 3c 73 70 61 6e 20 ss="tok-number">1</span>,.<span.
3b460 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 73 70 class="tok-number">0</span>,.<sp
3b480 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 20 an.class="tok-number">3</span>,.
3b4a0 3c 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
3b4c0 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
3b4e0 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
3b500 3c 2f 73 70 61 6e 3e 20 7d 3b 0a 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d </span>.};.....<span.class="tok-
3b520 6b 77 22 3e 76 61 72 3c 2f 73 70 61 6e 3e 20 72 75 6e 74 69 6d 65 5f 6c 65 6e 67 74 68 3a 20 3c kw">var</span>.runtime_length:.<
3b540 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
3b560 6e 3e 20 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 33 3c n>.=.<span.class="tok-number">3<
3b580 2f 73 70 61 6e 3e 3b 0a 20 20 20 20 5f 20 3d 20 26 61 6d 70 3b 72 75 6e 74 69 6d 65 5f 6c 65 6e /span>;....._.=.&amp;runtime_len
3b5a0 67 74 68 3b 0a 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 63 6f gth;.....<span.class="tok-kw">co
3b5c0 6e 73 74 3c 2f 73 70 61 6e 3e 20 73 6c 69 63 65 20 3d 20 61 72 72 61 79 5b 3c 73 70 61 6e 20 63 nst</span>.slice.=.array[<span.c
3b5e0 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 30 3c 2f 73 70 61 6e 3e 2e 2e 72 75 6e 74 lass="tok-number">0</span>..runt
3b600 69 6d 65 5f 6c 65 6e 67 74 68 20 3a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d ime_length.:<span.class="tok-num
3b620 62 65 72 22 3e 30 3c 2f 73 70 61 6e 3e 5d 3b 0a 0a 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 ber">0</span>];......<span.class
3b640 3d 22 74 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 ="tok-kw">try</span>.expectEqual
3b660 28 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
3b680 70 61 6e 3e 5d 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 75 38 3c 2f pan>]<span.class="tok-type">u8</
3b6a0 73 70 61 6e 3e 2c 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 62 75 69 6c 74 69 6e 22 span>,.<span.class="tok-builtin"
3b6c0 3e 40 54 79 70 65 4f 66 3c 2f 73 70 61 6e 3e 28 73 6c 69 63 65 29 29 3b 0a 20 20 20 20 3c 73 70 >@TypeOf</span>(slice));.....<sp
3b6e0 61 6e 20 63 6c 61 73 73 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
3b700 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 65 72 ectEqual(<span.class="tok-number
3b720 22 3e 33 3c 2f 73 70 61 6e 3e 2c 20 73 6c 69 63 65 2e 6c 65 6e 29 3b 0a 7d 3c 2f 63 6f 64 65 3e ">3</span>,.slice.len);.}</code>
3b740 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
3b760 6f 6e 20 63 6c 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
3b780 61 70 74 69 6f 6e 3e 3c 70 72 65 3e 3c 73 61 6d 70 3e 24 20 3c 6b 62 64 3e 7a 69 67 20 74 65 73 aption><pre><samp>$.<kbd>zig.tes
3b7a0 74 20 74 65 73 74 5f 6e 75 6c 6c 5f 74 65 72 6d 69 6e 61 74 65 64 5f 73 6c 69 63 69 6e 67 2e 7a t.test_null_terminated_slicing.z
3b7c0 69 67 3c 2f 6b 62 64 3e 0a 31 2f 31 20 74 65 73 74 5f 6e 75 6c 6c 5f 74 65 72 6d 69 6e 61 74 65 ig</kbd>.1/1.test_null_terminate
3b7e0 64 5f 73 6c 69 63 69 6e 67 2e 74 65 73 74 2e 30 2d 74 65 72 6d 69 6e 61 74 65 64 20 73 6c 69 63 d_slicing.test.0-terminated.slic
3b800 69 6e 67 2e 2e 2e 4f 4b 0a 41 6c 6c 20 31 20 74 65 73 74 73 20 70 61 73 73 65 64 2e 0a 3c 2f 73 ing...OK.All.1.tests.passed..</s
3b820 61 6d 70 3e 3c 2f 70 72 65 3e 3c 2f 66 69 67 75 72 65 3e 0a 0a 20 20 20 20 20 20 3c 70 3e 0a 20 amp></pre></figure>........<p>..
3b840 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 69 6e 67 .....Sentinel-terminated.slicing
3b860 20 61 73 73 65 72 74 73 20 74 68 61 74 20 74 68 65 20 65 6c 65 6d 65 6e 74 20 69 6e 20 74 68 65 .asserts.that.the.element.in.the
3b880 20 73 65 6e 74 69 6e 65 6c 20 70 6f 73 69 74 69 6f 6e 20 6f 66 20 74 68 65 20 62 61 63 6b 69 6e .sentinel.position.of.the.backin
3b8a0 67 20 64 61 74 61 20 69 73 0a 20 20 20 20 20 20 61 63 74 75 61 6c 6c 79 20 74 68 65 20 73 65 6e g.data.is.......actually.the.sen
3b8c0 74 69 6e 65 6c 20 76 61 6c 75 65 2e 20 49 66 20 74 68 69 73 20 69 73 20 6e 6f 74 20 74 68 65 20 tinel.value..If.this.is.not.the.
3b8e0 63 61 73 65 2c 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 49 case,.safety-checked.<a.href="#I
3b900 6c 6c 65 67 61 6c 2d 42 65 68 61 76 69 6f 72 22 3e 49 6c 6c 65 67 61 6c 20 42 65 68 61 76 69 6f llegal-Behavior">Illegal.Behavio
3b920 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 20 20 20 20 r</a>.results........</p>.......
3b940 3c 66 69 67 75 72 65 3e 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
3b960 61 70 22 3e 3c 63 69 74 65 20 63 6c 61 73 73 3d 22 66 69 6c 65 22 3e 74 65 73 74 5f 73 65 6e 74 ap"><cite.class="file">test_sent
3b980 69 6e 65 6c 5f 6d 69 73 6d 61 74 63 68 2e 7a 69 67 3c 2f 63 69 74 65 3e 3c 2f 66 69 67 63 61 70 inel_mismatch.zig</cite></figcap
3b9a0 74 69 6f 6e 3e 3c 70 72 65 3e 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b tion><pre><code><span.class="tok
3b9c0 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
3b9e0 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>
3ba00 28 3c 73 70 61 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
3ba20 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 29 3b 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b &quot;</span>);.<span.class="tok
3ba40 2d 6b 77 22 3e 63 6f 6e 73 74 3c 2f 73 70 61 6e 3e 20 65 78 70 65 63 74 45 71 75 61 6c 20 3d 20 -kw">const</span>.expectEqual.=.
3ba60 73 74 64 2e 74 65 73 74 69 6e 67 2e 65 78 70 65 63 74 45 71 75 61 6c 3b 0a 0a 3c 73 70 61 6e 20 std.testing.expectEqual;..<span.
3ba80 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
3baa0 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 73 74 72 22 3e 26 71 75 6f 74 3b 73 65 6e 74 69 6e 65 6c 20 .class="tok-str">&quot;sentinel.
3bac0 6d 69 73 6d 61 74 63 68 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 20 7b 0a 20 20 20 20 3c 73 70 61 mismatch&quot;</span>.{.....<spa
3bae0 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 76 61 72 3c 2f 73 70 61 6e 3e 20 61 72 72 61 n.class="tok-kw">var</span>.arra
3bb00 79 20 3d 20 5b 5f 5d 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 75 38 y.=.[_]<span.class="tok-type">u8
3bb20 3c 2f 73 70 61 6e 3e 7b 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 </span>{.<span.class="tok-number
3bb40 22 3e 33 3c 2f 73 70 61 6e 3e 2c 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d ">3</span>,.<span.class="tok-num
3bb60 62 65 72 22 3e 32 3c 2f 73 70 61 6e 3e 2c 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d ber">2</span>,.<span.class="tok-
3bb80 6e 75 6d 62 65 72 22 3e 31 3c 2f 73 70 61 6e 3e 2c 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 number">1</span>,.<span.class="t
3bba0 6f 6b 2d 6e 75 6d 62 65 72 22 3e 30 3c 2f 73 70 61 6e 3e 20 7d 3b 0a 0a 20 20 20 20 3c 73 70 61 ok-number">0</span>.};......<spa
3bbc0 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 63 6f 6d 6d 65 6e 74 22 3e 2f 2f 20 43 72 65 61 74 69 6e n.class="tok-comment">//.Creatin
3bbe0 67 20 61 20 73 65 6e 74 69 6e 65 6c 2d 74 65 72 6d 69 6e 61 74 65 64 20 73 6c 69 63 65 20 66 72 g.a.sentinel-terminated.slice.fr
3bc00 6f 6d 20 74 68 65 20 61 72 72 61 79 20 77 69 74 68 20 61 20 6c 65 6e 67 74 68 20 6f 66 20 32 3c om.the.array.with.a.length.of.2<
3bc20 2f 73 70 61 6e 3e 0a 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 63 6f 6d 6d /span>.....<span.class="tok-comm
3bc40 65 6e 74 22 3e 2f 2f 20 77 69 6c 6c 20 72 65 73 75 6c 74 20 69 6e 20 74 68 65 20 76 61 6c 75 65 ent">//.will.result.in.the.value
3bc60 20 60 31 60 20 6f 63 63 75 70 79 69 6e 67 20 74 68 65 20 73 65 6e 74 69 6e 65 6c 20 65 6c 65 6d .`1`.occupying.the.sentinel.elem
3bc80 65 6e 74 20 70 6f 73 69 74 69 6f 6e 2e 3c 2f 73 70 61 6e 3e 0a 20 20 20 20 3c 73 70 61 6e 20 63 ent.position.</span>.....<span.c
3bca0 6c 61 73 73 3d 22 74 6f 6b 2d 63 6f 6d 6d 65 6e 74 22 3e 2f 2f 20 54 68 69 73 20 64 6f 65 73 20 lass="tok-comment">//.This.does.
3bcc0 6e 6f 74 20 6d 61 74 63 68 20 74 68 65 20 69 6e 64 69 63 61 74 65 64 20 73 65 6e 74 69 6e 65 6c not.match.the.indicated.sentinel
3bce0 20 76 61 6c 75 65 20 6f 66 20 60 30 60 20 61 6e 64 20 77 69 6c 6c 20 6c 65 61 64 3c 2f 73 70 61 .value.of.`0`.and.will.lead</spa
3bd00 6e 3e 0a 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 63 6f 6d 6d 65 6e 74 22 n>.....<span.class="tok-comment"
3bd20 3e 2f 2f 20 74 6f 20 61 20 72 75 6e 74 69 6d 65 20 70 61 6e 69 63 2e 3c 2f 73 70 61 6e 3e 0a 20 >//.to.a.runtime.panic.</span>..
3bd40 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
3bd60 6e 3e 20 72 75 6e 74 69 6d 65 5f 6c 65 6e 67 74 68 3a 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 n>.runtime_length:.<span.class="
3bd80 74 6f 6b 2d 74 79 70 65 22 3e 75 73 69 7a 65 3c 2f 73 70 61 6e 3e 20 3d 20 3c 73 70 61 6e 20 63 tok-type">usize</span>.=.<span.c
3bda0 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 32 3c 2f 73 70 61 6e 3e 3b 0a 20 20 20 20 lass="tok-number">2</span>;.....
3bdc0 5f 20 3d 20 26 61 6d 70 3b 72 75 6e 74 69 6d 65 5f 6c 65 6e 67 74 68 3b 0a 20 20 20 20 3c 73 70 _.=.&amp;runtime_length;.....<sp
3bde0 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 63 6f 6e 73 74 3c 2f 73 70 61 6e 3e 20 73 an.class="tok-kw">const</span>.s
3be00 6c 69 63 65 20 3d 20 61 72 72 61 79 5b 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 lice.=.array[<span.class="tok-nu
3be20 6d 62 65 72 22 3e 30 3c 2f 73 70 61 6e 3e 2e 2e 72 75 6e 74 69 6d 65 5f 6c 65 6e 67 74 68 20 3a mber">0</span>..runtime_length.:
3be40 3c 73 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
3be60 3e 5d 3b 0a 0a 20 20 20 20 5f 20 3d 20 73 6c 69 63 65 3b 0a 7d 3c 2f 63 6f 64 65 3e 3c 2f 70 72 >];......_.=.slice;.}</code></pr
3be80 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
3bea0 6c 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
3bec0 6f 6e 3e 3c 70 72 65 3e 3c 73 61 6d 70 3e 24 20 3c 6b 62 64 3e 7a 69 67 20 74 65 73 74 20 74 65 on><pre><samp>$.<kbd>zig.test.te
3bee0 73 74 5f 73 65 6e 74 69 6e 65 6c 5f 6d 69 73 6d 61 74 63 68 2e 7a 69 67 3c 2f 6b 62 64 3e 0a 31 st_sentinel_mismatch.zig</kbd>.1
3bf00 2f 31 20 74 65 73 74 5f 73 65 6e 74 69 6e 65 6c 5f 6d 69 73 6d 61 74 63 68 2e 74 65 73 74 2e 73 /1.test_sentinel_mismatch.test.s
3bf20 65 6e 74 69 6e 65 6c 20 6d 69 73 6d 61 74 63 68 2e 2e 2e 74 68 72 65 61 64 20 32 33 34 31 31 38 entinel.mismatch...thread.234118
3bf40 20 70 61 6e 69 63 3a 20 73 65 6e 74 69 6e 65 6c 20 6d 69 73 6d 61 74 63 68 3a 20 65 78 70 65 63 .panic:.sentinel.mismatch:.expec
3bf60 74 65 64 20 30 2c 20 66 6f 75 6e 64 20 31 0a 2f 68 6f 6d 65 2f 63 69 2f 77 6f 72 6b 2f 7a 69 67 ted.0,.found.1./home/ci/work/zig
3bf80 2d 62 6f 6f 74 73 74 72 61 70 2f 7a 69 67 2f 64 6f 63 2f 6c 61 6e 67 72 65 66 2f 74 65 73 74 5f -bootstrap/zig/doc/langref/test_
3bfa0 73 65 6e 74 69 6e 65 6c 5f 6d 69 73 6d 61 74 63 68 2e 7a 69 67 3a 31 33 3a 32 34 3a 20 30 78 31 sentinel_mismatch.zig:13:24:.0x1
3bfc0 32 33 38 61 35 66 20 69 6e 20 74 65 73 74 2e 73 65 6e 74 69 6e 65 6c 20 6d 69 73 6d 61 74 63 68 238a5f.in.test.sentinel.mismatch
3bfe0 20 28 74 65 73 74 5f 73 65 6e 74 69 6e 65 6c 5f 6d 69 73 6d 61 74 63 68 2e 7a 69 67 29 0a 20 20 .(test_sentinel_mismatch.zig)...
3c000 20 20 63 6f 6e 73 74 20 73 6c 69 63 65 20 3d 20 61 72 72 61 79 5b 30 2e 2e 72 75 6e 74 69 6d 65 ..const.slice.=.array[0..runtime
3c020 5f 6c 65 6e 67 74 68 20 3a 30 5d 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 _length.:0];....................
3c040 20 20 20 20 5e 0a 2f 68 6f 6d 65 2f 63 69 2f 77 6f 72 6b 2f 7a 69 67 2d 62 6f 6f 74 73 74 72 61 ....^./home/ci/work/zig-bootstra
3c060 70 2f 6f 75 74 2f 68 6f 73 74 2f 6c 69 62 2f 7a 69 67 2f 63 6f 6d 70 69 6c 65 72 2f 74 65 73 74 p/out/host/lib/zig/compiler/test
3c080 5f 72 75 6e 6e 65 72 2e 7a 69 67 3a 32 39 31 3a 32 35 3a 20 30 78 31 31 66 33 65 64 36 20 69 6e _runner.zig:291:25:.0x11f3ed6.in
3c0a0 20 6d 61 69 6e 54 65 72 6d 69 6e 61 6c 20 28 74 65 73 74 5f 72 75 6e 6e 65 72 2e 7a 69 67 29 0a .mainTerminal.(test_runner.zig).
3c0c0 20 20 20 20 20 20 20 20 69 66 20 28 74 65 73 74 5f 66 6e 2e 66 75 6e 63 28 29 29 20 7c 5f 7c 20 ........if.(test_fn.func()).|_|.
3c0e0 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 5e 0a 2f 68 6f 6d {.........................^./hom
3c100 65 2f 63 69 2f 77 6f 72 6b 2f 7a 69 67 2d 62 6f 6f 74 73 74 72 61 70 2f 6f 75 74 2f 68 6f 73 74 e/ci/work/zig-bootstrap/out/host
3c120 2f 6c 69 62 2f 7a 69 67 2f 63 6f 6d 70 69 6c 65 72 2f 74 65 73 74 5f 72 75 6e 6e 65 72 2e 7a 69 /lib/zig/compiler/test_runner.zi
3c140 67 3a 37 33 3a 32 38 3a 20 30 78 31 31 66 33 36 66 32 20 69 6e 20 6d 61 69 6e 20 28 74 65 73 74 g:73:28:.0x11f36f2.in.main.(test
3c160 5f 72 75 6e 6e 65 72 2e 7a 69 67 29 0a 20 20 20 20 20 20 20 20 72 65 74 75 72 6e 20 6d 61 69 6e _runner.zig).........return.main
3c180 54 65 72 6d 69 6e 61 6c 28 69 6e 69 74 29 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 Terminal(init);.................
3c1a0 20 20 20 20 20 20 20 20 20 20 20 5e 0a 2f 68 6f 6d 65 2f 63 69 2f 77 6f 72 6b 2f 7a 69 67 2d 62 ...........^./home/ci/work/zig-b
3c1c0 6f 6f 74 73 74 72 61 70 2f 6f 75 74 2f 68 6f 73 74 2f 6c 69 62 2f 7a 69 67 2f 73 74 64 2f 73 74 ootstrap/out/host/lib/zig/std/st
3c1e0 61 72 74 2e 7a 69 67 3a 37 32 33 3a 38 38 3a 20 30 78 31 31 65 66 66 30 35 20 69 6e 20 63 61 6c art.zig:723:88:.0x11eff05.in.cal
3c200 6c 4d 61 69 6e 20 28 73 74 64 2e 7a 69 67 29 0a 20 20 20 20 69 66 20 28 66 6e 5f 69 6e 66 6f 2e lMain.(std.zig).....if.(fn_info.
3c220 70 61 72 61 6d 73 5b 30 5d 2e 74 79 70 65 2e 3f 20 3d 3d 20 73 74 64 2e 70 72 6f 63 65 73 73 2e params[0].type.?.==.std.process.
3c240 49 6e 69 74 2e 4d 69 6e 69 6d 61 6c 29 20 72 65 74 75 72 6e 20 77 72 61 70 4d 61 69 6e 28 72 6f Init.Minimal).return.wrapMain(ro
3c260 6f 74 2e 6d 61 69 6e 28 2e 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ot.main(.{......................
3c280 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ................................
3c2a0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ................................
3c2c0 20 20 5e 0a 2f 68 6f 6d 65 2f 63 69 2f 77 6f 72 6b 2f 7a 69 67 2d 62 6f 6f 74 73 74 72 61 70 2f ..^./home/ci/work/zig-bootstrap/
3c2e0 6f 75 74 2f 68 6f 73 74 2f 6c 69 62 2f 7a 69 67 2f 73 74 64 2f 73 74 61 72 74 2e 7a 69 67 3a 32 out/host/lib/zig/std/start.zig:2
3c300 30 34 3a 35 3a 20 30 78 31 31 65 66 38 65 31 20 69 6e 20 5f 73 74 61 72 74 20 28 73 74 64 2e 7a 04:5:.0x11ef8e1.in._start.(std.z
3c320 69 67 29 0a 20 20 20 20 61 73 6d 20 76 6f 6c 61 74 69 6c 65 20 28 73 77 69 74 63 68 20 28 6e 61 ig).....asm.volatile.(switch.(na
3c340 74 69 76 65 5f 61 72 63 68 29 20 7b 0a 20 20 20 20 5e 0a 65 72 72 6f 72 3a 20 74 68 65 20 66 6f tive_arch).{.....^.error:.the.fo
3c360 6c 6c 6f 77 69 6e 67 20 74 65 73 74 20 63 6f 6d 6d 61 6e 64 20 74 65 72 6d 69 6e 61 74 65 64 20 llowing.test.command.terminated.
3c380 77 69 74 68 20 73 69 67 6e 61 6c 20 41 42 52 54 3a 0a 2f 68 6f 6d 65 2f 63 69 2f 77 6f 72 6b 2f with.signal.ABRT:./home/ci/work/
3c3a0 7a 69 67 2d 62 6f 6f 74 73 74 72 61 70 2f 6f 75 74 2f 7a 69 67 2d 6c 6f 63 61 6c 2d 63 61 63 68 zig-bootstrap/out/zig-local-cach
3c3c0 65 2f 6f 2f 35 35 62 31 35 66 31 37 33 61 33 66 62 64 64 61 38 33 34 38 66 39 61 39 37 61 63 65 e/o/55b15f173a3fbdda8348f9a97ace
3c3e0 62 61 31 37 2f 74 65 73 74 20 2d 2d 73 65 65 64 3d 30 78 39 65 63 66 33 33 35 37 0a 3c 2f 73 61 ba17/test.--seed=0x9ecf3357.</sa
3c400 6d 70 3e 3c 2f 70 72 65 3e 3c 2f 66 69 67 75 72 65 3e 0a 0a 20 20 20 20 20 20 3c 70 3e 53 65 65 mp></pre></figure>........<p>See
3c420 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 65 6e .also:</p><ul>.<li><a.href="#Sen
3c440 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 74 69 tinel-Terminated-Pointers">Senti
3c460 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 69 3e nel-Terminated.Pointers</a></li>
3c480 0a 3c 6c 69 3e 3c 61 20 68 72 65 66 3d 22 23 53 65 6e 74 69 6e 65 6c 2d 54 65 72 6d 69 6e 61 74 .<li><a.href="#Sentinel-Terminat
3c4a0 65 64 2d 41 72 72 61 79 73 22 3e 53 65 6e 74 69 6e 65 6c 2d 54 65 72 6d 69 6e 61 74 65 64 20 41 ed-Arrays">Sentinel-Terminated.A
3c4c0 72 72 61 79 73 3c 2f 61 3e 3c 2f 6c 69 3e 0a 3c 2f 75 6c 3e 0a 0a 20 20 20 20 20 20 0a 20 20 20 rrays</a></li>.</ul>............
3c4e0 20 20 20 0a 0a 20 20 20 20 20 20 3c 68 32 20 69 64 3d 22 73 74 72 75 63 74 22 3e 3c 61 20 68 72 ...........<h2.id="struct"><a.hr
3c500 65 66 3d 22 6e 61 76 2e 78 68 74 6d 6c 23 74 6f 63 2d 73 74 72 75 63 74 22 3e 73 74 72 75 63 74 ef="nav.xhtml#toc-struct">struct
3c520 3c 2f 61 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 74 72 75 63 </a>.<a.class="hdr".href="#struc
3c540 74 22 3e c2 a7 3c 2f 61 3e 3c 2f 68 32 3e 0a 0a 20 20 20 20 20 20 3c 66 69 67 75 72 65 3e 3c 66 t">..</a></h2>........<figure><f
3c560 69 67 63 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.
3c580 63 6c 61 73 73 3d 22 66 69 6c 65 22 3e 74 65 73 74 5f 73 74 72 75 63 74 73 2e 7a 69 67 3c 2f 63 class="file">test_structs.zig</c
3c5a0 69 74 65 3e 3c 2f 66 69 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
3c5c0 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 63 6f 6d 6d 65 6e 74 22 3e 2f 2f 20 44 65 63 6c 61 72 65 n.class="tok-comment">//.Declare
3c5e0 20 61 20 73 74 72 75 63 74 2e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 .a.struct.</span>.<span.class="t
3c600 6f 6b 2d 63 6f 6d 6d 65 6e 74 22 3e 2f 2f 20 5a 69 67 20 67 69 76 65 73 20 6e 6f 20 67 75 61 72 ok-comment">//.Zig.gives.no.guar
3c620 61 6e 74 65 65 73 20 61 62 6f 75 74 20 74 68 65 20 6f 72 64 65 72 20 6f 66 20 66 69 65 6c 64 73 antees.about.the.order.of.fields
3c640 20 61 6e 64 20 74 68 65 20 73 69 7a 65 20 6f 66 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c .and.the.size.of</span>.<span.cl
3c660 61 73 73 3d 22 74 6f 6b 2d 63 6f 6d 6d 65 6e 74 22 3e 2f 2f 20 74 68 65 20 73 74 72 75 63 74 20 ass="tok-comment">//.the.struct.
3c680 62 75 74 20 74 68 65 20 66 69 65 6c 64 73 20 61 72 65 20 67 75 61 72 61 6e 74 65 65 64 20 74 6f but.the.fields.are.guaranteed.to
3c6a0 20 62 65 20 41 42 49 2d 61 6c 69 67 6e 65 64 2e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c .be.ABI-aligned.</span>.<span.cl
3c6c0 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 63 6f 6e 73 74 3c 2f 73 70 61 6e 3e 20 50 6f 69 6e 74 20 ass="tok-kw">const</span>.Point.
3c6e0 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
3c700 70 61 6e 3e 20 7b 0a 20 20 20 20 78 3a 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 pan>.{.....x:.<span.class="tok-t
3c720 79 70 65 22 3e 66 33 32 3c 2f 73 70 61 6e 3e 2c 0a 20 20 20 20 79 3a 20 3c 73 70 61 6e 20 63 6c ype">f32</span>,.....y:.<span.cl
3c740 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 66 33 32 3c 2f 73 70 61 6e 3e 2c 0a 7d 3b 0a 0a 3c ass="tok-type">f32</span>,.};..<
3c760 73 70 61 6e 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
3c780 61 72 65 20 61 6e 20 69 6e 73 74 61 6e 63 65 20 6f 66 20 61 20 73 74 72 75 63 74 2e 3c 2f 73 70 are.an.instance.of.a.struct.</sp
3c7a0 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 63 6f 6e 73 74 3c 2f an>.<span.class="tok-kw">const</
3c7c0 73 70 61 6e 3e 20 70 3a 20 50 6f 69 6e 74 20 3d 20 2e 7b 0a 20 20 20 20 2e 78 20 3d 20 3c 73 70 span>.p:.Point.=..{......x.=.<sp
3c7e0 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 61 6e an.class="tok-number">0.12</span
3c800 3e 2c 0a 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
3c820 62 65 72 22 3e 30 2e 33 34 3c 2f 73 70 61 6e 3e 2c 0a 7d 3b 0a 0a 3c 73 70 61 6e 20 63 6c 61 73 ber">0.34</span>,.};..<span.clas
3c840 73 3d 22 74 6f 6b 2d 63 6f 6d 6d 65 6e 74 22 3e 2f 2f 20 46 75 6e 63 74 69 6f 6e 73 20 69 6e 20 s="tok-comment">//.Functions.in.
3c860 74 68 65 20 73 74 72 75 63 74 27 73 20 6e 61 6d 65 73 70 61 63 65 20 63 61 6e 20 62 65 20 63 61 the.struct's.namespace.can.be.ca
3c880 6c 6c 65 64 20 77 69 74 68 20 64 6f 74 20 73 79 6e 74 61 78 2e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 lled.with.dot.syntax.</span>.<sp
3c8a0 61 6e 20 63 6c 61 73 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 an.class="tok-kw">const</span>.V
3c8c0 65 63 33 20 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 73 74 72 75 63 ec3.=.<span.class="tok-kw">struc
3c8e0 74 3c 2f 73 70 61 6e 3e 20 7b 0a 20 20 20 20 78 3a 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 t</span>.{.....x:.<span.class="t
3c900 6f 6b 2d 74 79 70 65 22 3e 66 33 32 3c 2f 73 70 61 6e 3e 2c 0a 20 20 20 20 79 3a 20 3c 73 70 61 ok-type">f32</span>,.....y:.<spa
3c920 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 0a 20 n.class="tok-type">f32</span>,..
3c940 20 20 20 7a 3a 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 66 33 32 ...z:.<span.class="tok-type">f32
3c960 3c 2f 73 70 61 6e 3e 2c 0a 0a 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b </span>,......<span.class="tok-k
3c980 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
3c9a0 77 22 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
3c9c0 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 6f ">init</span>(x:.<span.class="to
3c9e0 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 61 k-type">f32</span>,.y:.<span.cla
3ca00 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 70 ss="tok-type">f32</span>,.z:.<sp
3ca20 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 20 an.class="tok-type">f32</span>).
3ca40 56 65 63 33 20 7b 0a 20 20 20 20 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d Vec3.{.........<span.class="tok-
3ca60 6b 77 22 3e 72 65 74 75 72 6e 3c 2f 73 70 61 6e 3e 20 56 65 63 33 7b 0a 20 20 20 20 20 20 20 20 kw">return</span>.Vec3{.........
3ca80 20 20 20 20 2e 78 20 3d 20 78 2c 0a 20 20 20 20 20 20 20 20 20 20 20 20 2e 79 20 3d 20 79 2c 0a .....x.=.x,..............y.=.y,.
3caa0 20 20 20 20 20 20 20 20 20 20 20 20 2e 7a 20 3d 20 7a 2c 0a 20 20 20 20 20 20 20 20 7d 3b 0a 20 .............z.=.z,.........};..
3cac0 20 20 20 7d 0a 0a 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 70 ...}......<span.class="tok-kw">p
3cae0 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
3cb00 6e 3c 2f 73 70 61 6e 3e 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 66 6e 22 3e 64 6f n</span>.<span.class="tok-fn">do
3cb20 74 3c 2f 73 70 61 6e 3e 28 73 65 6c 66 3a 20 56 65 63 33 2c 20 6f 74 68 65 72 3a 20 56 65 63 33 t</span>(self:.Vec3,.other:.Vec3
3cb40 29 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 66 33 32 3c 2f 73 70 ).<span.class="tok-type">f32</sp
3cb60 61 6e 3e 20 7b 0a 20 20 20 20 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b an>.{.........<span.class="tok-k
3cb80 77 22 3e 72 65 74 75 72 6e 3c 2f 73 70 61 6e 3e 20 73 65 6c 66 2e 78 20 2a 20 6f 74 68 65 72 2e w">return</span>.self.x.*.other.
3cba0 78 20 2b 20 73 65 6c 66 2e 79 20 2a 20 6f 74 68 65 72 2e 79 20 2b 20 73 65 6c 66 2e 7a 20 2a 20 x.+.self.y.*.other.y.+.self.z.*.
3cbc0 6f 74 68 65 72 2e 7a 3b 0a 20 20 20 20 7d 0a 7d 3b 0a 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 other.z;.....}.};..<span.class="
3cbe0 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=
3cc00 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
3cc20 3b 3c 2f 73 70 61 6e 3e 20 7b 0a 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d ;</span>.{.....<span.class="tok-
3cc40 6b 77 22 3e 63 6f 6e 73 74 3c 2f 73 70 61 6e 3e 20 76 31 20 3d 20 56 65 63 33 2e 69 6e 69 74 28 kw">const</span>.v1.=.Vec3.init(
3cc60 3c 73 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
3cc80 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.
3cca0 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
3ccc0 72 22 3e 30 2e 30 3c 2f 73 70 61 6e 3e 29 3b 0a 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d r">0.0</span>);.....<span.class=
3cce0 22 74 6f 6b 2d 6b 77 22 3e 63 6f 6e 73 74 3c 2f 73 70 61 6e 3e 20 76 32 20 3d 20 56 65 63 33 2e "tok-kw">const</span>.v2.=.Vec3.
3cd00 69 6e 69 74 28 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 30 2e init(<span.class="tok-number">0.
3cd20 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
3cd40 72 22 3e 31 2e 30 3c 2f 73 70 61 6e 3e 2c 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d r">1.0</span>,.<span.class="tok-
3cd60 6e 75 6d 62 65 72 22 3e 30 2e 30 3c 2f 73 70 61 6e 3e 29 3b 0a 20 20 20 20 3c 73 70 61 6e 20 63 number">0.0</span>);.....<span.c
3cd80 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 74 72 79 3c 2f 73 70 61 6e 3e 20 65 78 70 65 63 74 45 lass="tok-kw">try</span>.expectE
3cda0 71 75 61 6c 28 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 30 2e qual(<span.class="tok-number">0.
3cdc0 30 3c 2f 73 70 61 6e 3e 2c 20 76 31 2e 64 6f 74 28 76 32 29 29 3b 0a 0a 20 20 20 20 3c 73 70 61 0</span>,.v1.dot(v2));......<spa
3cde0 6e 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 n.class="tok-comment">//.Other.t
3ce00 68 61 6e 20 62 65 69 6e 67 20 61 76 61 69 6c 61 62 6c 65 20 74 6f 20 63 61 6c 6c 20 77 69 74 68 han.being.available.to.call.with
3ce20 20 64 6f 74 20 73 79 6e 74 61 78 2c 20 73 74 72 75 63 74 20 6d 65 74 68 6f 64 73 20 61 72 65 3c .dot.syntax,.struct.methods.are<
3ce40 2f 73 70 61 6e 3e 0a 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 63 6f 6d 6d /span>.....<span.class="tok-comm
3ce60 65 6e 74 22 3e 2f 2f 20 6e 6f 74 20 73 70 65 63 69 61 6c 2e 20 59 6f 75 20 63 61 6e 20 72 65 66 ent">//.not.special..You.can.ref
3ce80 65 72 65 6e 63 65 20 74 68 65 6d 20 61 73 20 61 6e 79 20 6f 74 68 65 72 20 64 65 63 6c 61 72 61 erence.them.as.any.other.declara
3cea0 74 69 6f 6e 20 69 6e 73 69 64 65 3c 2f 73 70 61 6e 3e 0a 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 tion.inside</span>.....<span.cla
3cec0 73 73 3d 22 74 6f 6b 2d 63 6f 6d 6d 65 6e 74 22 3e 2f 2f 20 74 68 65 20 73 74 72 75 63 74 3a 3c ss="tok-comment">//.the.struct:<
3cee0 2f 73 70 61 6e 3e 0a 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e /span>.....<span.class="tok-kw">
3cf00 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
3cf20 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 56 65 63 33 ss="tok-number">0.0</span>,.Vec3
3cf40 2e 64 6f 74 28 76 31 2c 20 76 32 29 29 3b 0a 7d 0a 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 .dot(v1,.v2));.}..<span.class="t
3cf60 6f 6b 2d 63 6f 6d 6d 65 6e 74 22 3e 2f 2f 20 53 74 72 75 63 74 73 20 63 61 6e 20 68 61 76 65 20 ok-comment">//.Structs.can.have.
3cf80 64 65 63 6c 61 72 61 74 69 6f 6e 73 2e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 declarations.</span>.<span.class
3cfa0 3d 22 74 6f 6b 2d 63 6f 6d 6d 65 6e 74 22 3e 2f 2f 20 53 74 72 75 63 74 73 20 63 61 6e 20 68 61 ="tok-comment">//.Structs.can.ha
3cfc0 76 65 20 30 20 66 69 65 6c 64 73 2e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d ve.0.fields.</span>.<span.class=
3cfe0 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
3d000 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>
3d020 20 7b 0a 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 70 75 62 3c .{.....<span.class="tok-kw">pub<
3d040 2f 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
3d060 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 22 74 6f 6b 2d 6e t</span>.PI.=.<span.class="tok-n
3d080 75 6d 62 65 72 22 3e 33 2e 31 34 3c 2f 73 70 61 6e 3e 3b 0a 7d 3b 0a 3c 73 70 61 6e 20 63 6c 61 umber">3.14</span>;.};.<span.cla
3d0a0 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
3d0c0 61 73 73 3d 22 74 6f 6b 2d 73 74 72 22 3e 26 71 75 6f 74 3b 73 74 72 75 63 74 20 6e 61 6d 65 73 ass="tok-str">&quot;struct.names
3d0e0 70 61 63 65 64 20 76 61 72 69 61 62 6c 65 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 20 7b 0a 20 20 paced.variable&quot;</span>.{...
3d100 20 20 3c 73 70 61 6e 20 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
3d120 3e 20 65 78 70 65 63 74 45 71 75 61 6c 28 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e >.expectEqual(<span.class="tok-n
3d140 75 6d 62 65 72 22 3e 33 2e 31 34 3c 2f 73 70 61 6e 3e 2c 20 45 6d 70 74 79 2e 50 49 29 3b 0a 20 umber">3.14</span>,.Empty.PI);..
3d160 20 20 20 3c 73 70 61 6e 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
3d180 6e 3e 20 65 78 70 65 63 74 45 71 75 61 6c 28 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d n>.expectEqual(<span.class="tok-
3d1a0 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 3d 22 74 number">0</span>,.<span.class="t
3d1c0 6f 6b 2d 62 75 69 6c 74 69 6e 22 3e 40 73 69 7a 65 4f 66 3c 2f 73 70 61 6e 3e 28 45 6d 70 74 79 ok-builtin">@sizeOf</span>(Empty
3d1e0 29 29 3b 0a 0a 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 63 6f 6d 6d 65 6e ));......<span.class="tok-commen
3d200 74 22 3e 2f 2f 20 45 6d 70 74 79 20 73 74 72 75 63 74 73 20 63 61 6e 20 62 65 20 69 6e 73 74 61 t">//.Empty.structs.can.be.insta
3d220 6e 74 69 61 74 65 64 20 74 68 65 20 73 61 6d 65 20 61 73 20 75 73 75 61 6c 2e 3c 2f 73 70 61 6e ntiated.the.same.as.usual.</span
3d240 3e 0a 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 63 6f 6e 73 74 >.....<span.class="tok-kw">const
3d260 3c 2f 73 70 61 6e 3e 20 64 6f 65 73 5f 6e 6f 74 68 69 6e 67 3a 20 45 6d 70 74 79 20 3d 20 2e 7b </span>.does_nothing:.Empty.=..{
3d280 7d 3b 0a 0a 20 20 20 20 5f 20 3d 20 64 6f 65 73 5f 6e 6f 74 68 69 6e 67 3b 0a 7d 0a 0a 3c 73 70 };......_.=.does_nothing;.}..<sp
3d2a0 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 63 6f 6d 6d 65 6e 74 22 3e 2f 2f 20 53 74 72 75 63 74 an.class="tok-comment">//.Struct
3d2c0 20 66 69 65 6c 64 20 6f 72 64 65 72 20 69 73 20 64 65 74 65 72 6d 69 6e 65 64 20 62 79 20 74 68 .field.order.is.determined.by.th
3d2e0 65 20 63 6f 6d 70 69 6c 65 72 2c 20 68 6f 77 65 76 65 72 2c 20 61 20 62 61 73 65 20 70 6f 69 6e e.compiler,.however,.a.base.poin
3d300 74 65 72 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 63 6f 6d 6d ter</span>.<span.class="tok-comm
3d320 65 6e 74 22 3e 2f 2f 20 63 61 6e 20 62 65 20 63 6f 6d 70 75 74 65 64 20 66 72 6f 6d 20 61 20 66 ent">//.can.be.computed.from.a.f
3d340 69 65 6c 64 20 70 6f 69 6e 74 65 72 3a 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 ield.pointer:</span>.<span.class
3d360 3d 22 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=
3d380 22 74 6f 6b 2d 66 6e 22 3e 73 65 74 59 42 61 73 65 64 4f 6e 58 3c 2f 73 70 61 6e 3e 28 78 3a 20 "tok-fn">setYBasedOnX</span>(x:.
3d3a0 2a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 66 33 32 3c 2f 73 70 61 *<span.class="tok-type">f32</spa
3d3c0 6e 3e 2c 20 79 3a 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 66 33 n>,.y:.<span.class="tok-type">f3
3d3e0 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"
3d400 3e 76 6f 69 64 3c 2f 73 70 61 6e 3e 20 7b 0a 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 >void</span>.{.....<span.class="
3d420 74 6f 6b 2d 6b 77 22 3e 63 6f 6e 73 74 3c 2f 73 70 61 6e 3e 20 70 6f 69 6e 74 3a 20 2a 50 6f 69 tok-kw">const</span>.point:.*Poi
3d440 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">@
3d460 66 69 65 6c 64 50 61 72 65 6e 74 50 74 72 3c 2f 73 70 61 6e 3e 28 3c 73 70 61 6e 20 63 6c 61 73 fieldParentPtr</span>(<span.clas
3d480 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>
3d4a0 2c 20 78 29 3b 0a 20 20 20 20 70 6f 69 6e 74 2e 79 20 3d 20 79 3b 0a 7d 0a 3c 73 70 61 6e 20 63 ,.x);.....point.y.=.y;.}.<span.c
3d4c0 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.
3d4e0 63 6c 61 73 73 3d 22 74 6f 6b 2d 73 74 72 22 3e 26 71 75 6f 74 3b 66 69 65 6c 64 20 70 61 72 65 class="tok-str">&quot;field.pare
3d500 6e 74 20 70 6f 69 6e 74 65 72 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 20 7b 0a 20 20 20 20 3c 73 nt.pointer&quot;</span>.{.....<s
3d520 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 76 61 72 3c 2f 73 70 61 6e 3e 20 70 6f pan.class="tok-kw">var</span>.po
3d540 69 6e 74 20 3d 20 50 6f 69 6e 74 7b 0a 20 20 20 20 20 20 20 20 2e 78 20 3d 20 3c 73 70 61 6e 20 int.=.Point{..........x.=.<span.
3d560 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 30 2e 31 32 33 34 3c 2f 73 70 61 6e 3e class="tok-number">0.1234</span>
3d580 2c 0a 20 20 20 20 20 20 20 20 2e 79 20 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d ,..........y.=.<span.class="tok-
3d5a0 6e 75 6d 62 65 72 22 3e 30 2e 35 36 37 38 3c 2f 73 70 61 6e 3e 2c 0a 20 20 20 20 7d 3b 0a 20 20 number">0.5678</span>,.....};...
3d5c0 20 20 73 65 74 59 42 61 73 65 64 4f 6e 58 28 26 61 6d 70 3b 70 6f 69 6e 74 2e 78 2c 20 3c 73 70 ..setYBasedOnX(&amp;point.x,.<sp
3d5e0 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 30 2e 39 3c 2f 73 70 61 6e 3e an.class="tok-number">0.9</span>
3d600 29 3b 0a 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 74 72 79 3c );.....<span.class="tok-kw">try<
3d620 2f 73 70 61 6e 3e 20 65 78 70 65 63 74 45 71 75 61 6c 28 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 /span>.expectEqual(<span.class="
3d640 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 30 2e 39 3c 2f 73 70 61 6e 3e 2c 20 70 6f 69 6e 74 2e 79 29 tok-number">0.9</span>,.point.y)
3d660 3b 0a 7d 0a 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 63 6f 6d 6d 65 6e 74 22 3e 2f ;.}..<span.class="tok-comment">/
3d680 2f 20 53 74 72 75 63 74 73 20 63 61 6e 20 62 65 20 72 65 74 75 72 6e 65 64 20 66 72 6f 6d 20 66 /.Structs.can.be.returned.from.f
3d6a0 75 6e 63 74 69 6f 6e 73 2e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f unctions.</span>.<span.class="to
3d6c0 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
3d6e0 2d 66 6e 22 3e 4c 69 6e 6b 65 64 4c 69 73 74 3c 2f 73 70 61 6e 3e 28 3c 73 70 61 6e 20 63 6c 61 -fn">LinkedList</span>(<span.cla
3d700 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:.<
3d720 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
3d740 3e 29 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 74 79 70 65 3c 2f >).<span.class="tok-type">type</
3d760 73 70 61 6e 3e 20 7b 0a 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 span>.{.....<span.class="tok-kw"
3d780 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-
3d7a0 6b 77 22 3e 73 74 72 75 63 74 3c 2f 73 70 61 6e 3e 20 7b 0a 20 20 20 20 20 20 20 20 3c 73 70 61 kw">struct</span>.{.........<spa
3d7c0 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
3d7e0 6e 20 63 6c 61 73 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 6f n.class="tok-kw">const</span>.No
3d800 64 65 20 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 73 74 72 75 63 74 de.=.<span.class="tok-kw">struct
3d820 3c 2f 73 70 61 6e 3e 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 70 72 65 76 3a 20 3f 2a 4e 6f </span>.{.............prev:.?*No
3d840 64 65 2c 0a 20 20 20 20 20 20 20 20 20 20 20 20 6e 65 78 74 3a 20 3f 2a 4e 6f 64 65 2c 0a 20 20 de,.............next:.?*Node,...
3d860 20 20 20 20 20 20 20 20 20 20 64 61 74 61 3a 20 54 2c 0a 20 20 20 20 20 20 20 20 7d 3b 0a 0a 20 ..........data:.T,.........};...
3d880 20 20 20 20 20 20 20 66 69 72 73 74 3a 20 3f 2a 4e 6f 64 65 2c 0a 20 20 20 20 20 20 20 20 6c 61 .......first:.?*Node,.........la
3d8a0 73 74 3a 20 3f 2a 4e 6f 64 65 2c 0a 20 20 20 20 20 20 20 20 6c 65 6e 3a 20 3c 73 70 61 6e 20 63 st:.?*Node,.........len:.<span.c
3d8c0 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 0a 20 20 lass="tok-type">usize</span>,...
3d8e0 20 20 7d 3b 0a 7d 0a 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 74 65 73 ..};.}..<span.class="tok-kw">tes
3d900 74 3c 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">&
3d920 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 0a quot;linked.list&quot;</span>.{.
3d940 20 20 20 20 3c 73 70 61 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">//
3d960 20 46 75 6e 63 74 69 6f 6e 73 20 63 61 6c 6c 65 64 20 61 74 20 63 6f 6d 70 69 6c 65 2d 74 69 6d .Functions.called.at.compile-tim
3d980 65 20 61 72 65 20 6d 65 6d 6f 69 7a 65 64 2e 3c 2f 73 70 61 6e 3e 0a 20 20 20 20 3c 73 70 61 6e e.are.memoized.</span>.....<span
3d9a0 20 63 6c 61 73 73 3d 22 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
3d9c0 74 45 71 75 61 6c 28 4c 69 6e 6b 65 64 4c 69 73 74 28 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 tEqual(LinkedList(<span.class="t
3d9e0 6f 6b 2d 74 79 70 65 22 3e 69 33 32 3c 2f 73 70 61 6e 3e 29 2c 20 4c 69 6e 6b 65 64 4c 69 73 74 ok-type">i32</span>),.LinkedList
3da00 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
3da20 6e 3e 29 29 3b 0a 0a 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e n>));......<span.class="tok-kw">
3da40 63 6f 6e 73 74 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 28 3c const</span>.list.=.LinkedList(<
3da60 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>
3da80 29 7b 0a 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 ){..........first.=.<span.class=
3daa0 22 74 6f 6b 2d 6e 75 6c 6c 22 3e 6e 75 6c 6c 3c 2f 73 70 61 6e 3e 2c 0a 20 20 20 20 20 20 20 20 "tok-null">null</span>,.........
3dac0 2e 6c 61 73 74 20 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6c 6c 22 3e 6e .last.=.<span.class="tok-null">n
3dae0 75 6c 6c 3c 2f 73 70 61 6e 3e 2c 0a 20 20 20 20 20 20 20 20 2e 6c 65 6e 20 3d 20 3c 73 70 61 6e ull</span>,..........len.=.<span
3db00 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 30 3c 2f 73 70 61 6e 3e 2c 0a 20 20 .class="tok-number">0</span>,...
3db20 20 20 7d 3b 0a 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 74 72 ..};.....<span.class="tok-kw">tr
3db40 79 3c 2f 73 70 61 6e 3e 20 65 78 70 65 63 74 45 71 75 61 6c 28 3c 73 70 61 6e 20 63 6c 61 73 73 y</span>.expectEqual(<span.class
3db60 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 30 3c 2f 73 70 61 6e 3e 2c 20 6c 69 73 74 2e 6c 65 6e ="tok-number">0</span>,.list.len
3db80 29 3b 0a 0a 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 63 6f 6d 6d 65 6e 74 );......<span.class="tok-comment
3dba0 22 3e 2f 2f 20 53 69 6e 63 65 20 74 79 70 65 73 20 61 72 65 20 66 69 72 73 74 20 63 6c 61 73 73 ">//.Since.types.are.first.class
3dbc0 20 76 61 6c 75 65 73 20 79 6f 75 20 63 61 6e 20 69 6e 73 74 61 6e 74 69 61 74 65 20 74 68 65 20 .values.you.can.instantiate.the.
3dbe0 74 79 70 65 3c 2f 73 70 61 6e 3e 0a 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b type</span>.....<span.class="tok
3dc00 2d 63 6f 6d 6d 65 6e 74 22 3e 2f 2f 20 62 79 20 61 73 73 69 67 6e 69 6e 67 20 69 74 20 74 6f 20 -comment">//.by.assigning.it.to.
3dc20 61 20 76 61 72 69 61 62 6c 65 3a 3c 2f 73 70 61 6e 3e 0a 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 a.variable:</span>.....<span.cla
3dc40 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 63 6f 6e 73 74 3c 2f 73 70 61 6e 3e 20 4c 69 73 74 4f 66 49 ss="tok-kw">const</span>.ListOfI
3dc60 6e 74 73 20 3d 20 4c 69 6e 6b 65 64 4c 69 73 74 28 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f nts.=.LinkedList(<span.class="to
3dc80 6b 2d 74 79 70 65 22 3e 69 33 32 3c 2f 73 70 61 6e 3e 29 3b 0a 20 20 20 20 3c 73 70 61 6e 20 63 k-type">i32</span>);.....<span.c
3dca0 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 74 72 79 3c 2f 73 70 61 6e 3e 20 65 78 70 65 63 74 45 lass="tok-kw">try</span>.expectE
3dcc0 71 75 61 6c 28 4c 69 6e 6b 65 64 4c 69 73 74 28 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b qual(LinkedList(<span.class="tok
3dce0 2d 74 79 70 65 22 3e 69 33 32 3c 2f 73 70 61 6e 3e 29 2c 20 4c 69 73 74 4f 66 49 6e 74 73 29 3b -type">i32</span>),.ListOfInts);
3dd00 0a 0a 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 76 61 72 3c 2f ......<span.class="tok-kw">var</
3dd20 73 70 61 6e 3e 20 6e 6f 64 65 20 3d 20 4c 69 73 74 4f 66 49 6e 74 73 2e 4e 6f 64 65 7b 0a 20 20 span>.node.=.ListOfInts.Node{...
3dd40 20 20 20 20 20 20 2e 70 72 65 76 20 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e .......prev.=.<span.class="tok-n
3dd60 75 6c 6c 22 3e 6e 75 6c 6c 3c 2f 73 70 61 6e 3e 2c 0a 20 20 20 20 20 20 20 20 2e 6e 65 78 74 20 ull">null</span>,..........next.
3dd80 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
3dda0 70 61 6e 3e 2c 0a 20 20 20 20 20 20 20 20 2e 64 61 74 61 20 3d 20 3c 73 70 61 6e 20 63 6c 61 73 pan>,..........data.=.<span.clas
3ddc0 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 0a 20 20 20 20 s="tok-number">1234</span>,.....
3dde0 7d 3b 0a 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 63 6f 6e 73 };.....<span.class="tok-kw">cons
3de00 74 3c 2f 73 70 61 6e 3e 20 6c 69 73 74 32 20 3d 20 4c 69 6e 6b 65 64 4c 69 73 74 28 3c 73 70 61 t</span>.list2.=.LinkedList(<spa
3de20 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 7b 0a n.class="tok-type">i32</span>){.
3de40 20 20 20 20 20 20 20 20 2e 66 69 72 73 74 20 3d 20 26 61 6d 70 3b 6e 6f 64 65 2c 0a 20 20 20 20 .........first.=.&amp;node,.....
3de60 20 20 20 20 2e 6c 61 73 74 20 3d 20 26 61 6d 70 3b 6e 6f 64 65 2c 0a 20 20 20 20 20 20 20 20 2e .....last.=.&amp;node,..........
3de80 6c 65 6e 20 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 31 len.=.<span.class="tok-number">1
3dea0 3c 2f 73 70 61 6e 3e 2c 0a 20 20 20 20 7d 3b 0a 0a 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 </span>,.....};......<span.class
3dec0 3d 22 74 6f 6b 2d 63 6f 6d 6d 65 6e 74 22 3e 2f 2f 20 57 68 65 6e 20 75 73 69 6e 67 20 61 20 70 ="tok-comment">//.When.using.a.p
3dee0 6f 69 6e 74 65 72 20 74 6f 20 61 20 73 74 72 75 63 74 2c 20 66 69 65 6c 64 73 20 63 61 6e 20 62 ointer.to.a.struct,.fields.can.b
3df00 65 20 61 63 63 65 73 73 65 64 20 64 69 72 65 63 74 6c 79 2c 3c 2f 73 70 61 6e 3e 0a 20 20 20 20 e.accessed.directly,</span>.....
3df20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 63 6f 6d 6d 65 6e 74 22 3e 2f 2f 20 77 69 74 <span.class="tok-comment">//.wit
3df40 68 6f 75 74 20 65 78 70 6c 69 63 69 74 6c 79 20 64 65 72 65 66 65 72 65 6e 63 69 6e 67 20 74 68 hout.explicitly.dereferencing.th
3df60 65 20 70 6f 69 6e 74 65 72 2e 3c 2f 73 70 61 6e 3e 0a 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 e.pointer.</span>.....<span.clas
3df80 73 3d 22 74 6f 6b 2d 63 6f 6d 6d 65 6e 74 22 3e 2f 2f 20 53 6f 20 79 6f 75 20 63 61 6e 20 64 6f s="tok-comment">//.So.you.can.do
3dfa0 3c 2f 73 70 61 6e 3e 0a 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 </span>.....<span.class="tok-kw"
3dfc0 3e 74 72 79 3c 2f 73 70 61 6e 3e 20 65 78 70 65 63 74 45 71 75 61 6c 28 3c 73 70 61 6e 20 63 6c >try</span>.expectEqual(<span.cl
3dfe0 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 20 6c 69 ass="tok-number">1234</span>,.li
3e000 73 74 32 2e 66 69 72 73 74 2e 3f 2e 64 61 74 61 29 3b 0a 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 st2.first.?.data);.....<span.cla
3e020 73 73 3d 22 74 6f 6b 2d 63 6f 6d 6d 65 6e 74 22 3e 2f 2f 20 69 6e 73 74 65 61 64 20 6f 66 20 74 ss="tok-comment">//.instead.of.t
3e040 72 79 20 65 78 70 65 63 74 45 71 75 61 6c 28 31 32 33 34 2c 20 6c 69 73 74 32 2e 66 69 72 73 74 ry.expectEqual(1234,.list2.first
3e060 2e 3f 2e 2a 2e 64 61 74 61 29 3b 3c 2f 73 70 61 6e 3e 0a 7d 0a 0a 3c 73 70 61 6e 20 63 6c 61 73 .?.*.data);</span>.}..<span.clas
3e080 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 45 71 s="tok-kw">const</span>.expectEq
3e0a0 75 61 6c 20 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 62 75 69 6c 74 69 6e 22 3e ual.=.<span.class="tok-builtin">
3e0c0 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-
3e0e0 73 74 72 22 3e 26 71 75 6f 74 3b 73 74 64 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 29 2e 74 65 73 str">&quot;std&quot;</span>).tes
3e100 74 69 6e 67 2e 65 78 70 65 63 74 45 71 75 61 6c 3b 3c 2f 63 6f 64 65 3e 3c 2f 70 72 65 3e 3c 2f ting.expectEqual;</code></pre></
3e120 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
3e140 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><
3e160 70 72 65 3e 3c 73 61 6d 70 3e 24 20 3c 6b 62 64 3e 7a 69 67 20 74 65 73 74 20 74 65 73 74 5f 73 pre><samp>$.<kbd>zig.test.test_s
3e180 74 72 75 63 74 73 2e 7a 69 67 3c 2f 6b 62 64 3e 0a 31 2f 34 20 74 65 73 74 5f 73 74 72 75 63 74 tructs.zig</kbd>.1/4.test_struct
3e1a0 73 2e 74 65 73 74 2e 64 6f 74 20 70 72 6f 64 75 63 74 2e 2e 2e 4f 4b 0a 32 2f 34 20 74 65 73 74 s.test.dot.product...OK.2/4.test
3e1c0 5f 73 74 72 75 63 74 73 2e 74 65 73 74 2e 73 74 72 75 63 74 20 6e 61 6d 65 73 70 61 63 65 64 20 _structs.test.struct.namespaced.
3e1e0 76 61 72 69 61 62 6c 65 2e 2e 2e 4f 4b 0a 33 2f 34 20 74 65 73 74 5f 73 74 72 75 63 74 73 2e 74 variable...OK.3/4.test_structs.t
3e200 65 73 74 2e 66 69 65 6c 64 20 70 61 72 65 6e 74 20 70 6f 69 6e 74 65 72 2e 2e 2e 4f 4b 0a 34 2f est.field.parent.pointer...OK.4/
3e220 34 20 74 65 73 74 5f 73 74 72 75 63 74 73 2e 74 65 73 74 2e 6c 69 6e 6b 65 64 20 6c 69 73 74 2e 4.test_structs.test.linked.list.
3e240 2e 2e 4f 4b 0a 41 6c 6c 20 34 20 74 65 73 74 73 20 70 61 73 73 65 64 2e 0a 3c 2f 73 61 6d 70 3e ..OK.All.4.tests.passed..</samp>
3e260 3c 2f 70 72 65 3e 3c 2f 66 69 67 75 72 65 3e 0a 0a 0a 20 20 20 20 20 20 3c 68 33 20 69 64 3d 22 </pre></figure>.........<h3.id="
3e280 44 65 66 61 75 6c 74 2d 46 69 65 6c 64 2d 56 61 6c 75 65 73 22 3e 3c 61 20 68 72 65 66 3d 22 6e Default-Field-Values"><a.href="n
3e2a0 61 76 2e 78 68 74 6d 6c 23 74 6f 63 2d 44 65 66 61 75 6c 74 2d 46 69 65 6c 64 2d 56 61 6c 75 65 av.xhtml#toc-Default-Field-Value
3e2c0 73 22 3e 44 65 66 61 75 6c 74 20 46 69 65 6c 64 20 56 61 6c 75 65 73 3c 2f 61 3e 20 3c 61 20 63 s">Default.Field.Values</a>.<a.c
3e2e0 6c 61 73 73 3d 22 68 64 72 22 20 68 72 65 66 3d 22 23 44 65 66 61 75 6c 74 2d 46 69 65 6c 64 2d lass="hdr".href="#Default-Field-
3e300 56 61 6c 75 65 73 22 3e c2 a7 3c 2f 61 3e 3c 2f 68 33 3e 0a 0a 20 20 20 20 20 20 3c 70 3e 0a 20 Values">..</a></h3>........<p>..
3e320 20 20 20 20 20 45 61 63 68 20 73 74 72 75 63 74 20 66 69 65 6c 64 20 6d 61 79 20 68 61 76 65 20 .....Each.struct.field.may.have.
3e340 61 6e 20 65 78 70 72 65 73 73 69 6f 6e 20 69 6e 64 69 63 61 74 69 6e 67 20 74 68 65 20 64 65 66 an.expression.indicating.the.def
3e360 61 75 6c 74 20 66 69 65 6c 64 0a 20 20 20 20 20 20 76 61 6c 75 65 2e 20 53 75 63 68 20 65 78 70 ault.field.......value..Such.exp
3e380 72 65 73 73 69 6f 6e 73 20 61 72 65 20 65 78 65 63 75 74 65 64 20 61 74 20 3c 61 20 68 72 65 66 ressions.are.executed.at.<a.href
3e3a0 3d 22 23 63 6f 6d 70 74 69 6d 65 22 3e 63 6f 6d 70 74 69 6d 65 3c 2f 61 3e 2c 20 61 6e 64 20 61 ="#comptime">comptime</a>,.and.a
3e3c0 6c 6c 6f 77 20 74 68 65 0a 20 20 20 20 20 20 66 69 65 6c 64 20 74 6f 20 62 65 20 6f 6d 69 74 74 llow.the.......field.to.be.omitt
3e3e0 65 64 20 69 6e 20 61 20 73 74 72 75 63 74 20 6c 69 74 65 72 61 6c 20 65 78 70 72 65 73 73 69 6f ed.in.a.struct.literal.expressio
3e400 6e 3a 0a 20 20 20 20 20 20 3c 2f 70 3e 0a 20 20 20 20 20 20 3c 66 69 67 75 72 65 3e 3c 66 69 67 n:.......</p>.......<figure><fig
3e420 63 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
3e440 61 73 73 3d 22 66 69 6c 65 22 3e 73 74 72 75 63 74 5f 64 65 66 61 75 6c 74 5f 66 69 65 6c 64 5f ass="file">struct_default_field_
3e460 76 61 6c 75 65 73 2e 7a 69 67 3c 2f 63 69 74 65 3e 3c 2f 66 69 67 63 61 70 74 69 6f 6e 3e 3c 70 values.zig</cite></figcaption><p
3e480 72 65 3e 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 63 6f re><code><span.class="tok-kw">co
3e4a0 6e 73 74 3c 2f 73 70 61 6e 3e 20 46 6f 6f 20 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f nst</span>.Foo.=.<span.class="to
3e4c0 6b 2d 6b 77 22 3e 73 74 72 75 63 74 3c 2f 73 70 61 6e 3e 20 7b 0a 20 20 20 20 61 3a 20 3c 73 70 k-kw">struct</span>.{.....a:.<sp
3e4e0 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>.=
3e500 20 3c 73 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</
3e520 73 70 61 6e 3e 2c 0a 20 20 20 20 62 3a 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 span>,.....b:.<span.class="tok-t
3e540 79 70 65 22 3e 69 33 32 3c 2f 73 70 61 6e 3e 2c 0a 7d 3b 0a 0a 3c 73 70 61 6e 20 63 6c 61 73 73 ype">i32</span>,.};..<span.class
3e560 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
3e580 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
3e5a0 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
3e5c0 61 6e 3e 20 7b 0a 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 63 an>.{.....<span.class="tok-kw">c
3e5e0 6f 6e 73 74 3c 2f 73 70 61 6e 3e 20 78 3a 20 46 6f 6f 20 3d 20 2e 7b 0a 20 20 20 20 20 20 20 20 onst</span>.x:.Foo.=..{.........
3e600 2e 62 20 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 35 3c .b.=.<span.class="tok-number">5<
3e620 2f 73 70 61 6e 3e 2c 0a 20 20 20 20 7d 3b 0a 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 /span>,.....};.....<span.class="
3e640 74 6f 6b 2d 6b 77 22 3e 69 66 3c 2f 73 70 61 6e 3e 20 28 78 2e 61 20 2b 20 78 2e 62 20 21 3d 20 tok-kw">if</span>.(x.a.+.x.b.!=.
3e660 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 31 32 33 39 3c 2f 73 <span.class="tok-number">1239</s
3e680 70 61 6e 3e 29 20 7b 0a 20 20 20 20 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b pan>).{.........<span.class="tok
3e6a0 2d 6b 77 22 3e 63 6f 6d 70 74 69 6d 65 3c 2f 73 70 61 6e 3e 20 3c 73 70 61 6e 20 63 6c 61 73 73 -kw">comptime</span>.<span.class
3e6c0 3d 22 74 6f 6b 2d 6b 77 22 3e 75 6e 72 65 61 63 68 61 62 6c 65 3c 2f 73 70 61 6e 3e 3b 0a 20 20 ="tok-kw">unreachable</span>;...
3e6e0 20 20 7d 0a 7d 3c 2f 63 6f 64 65 3e 3c 2f 70 72 65 3e 3c 2f 66 69 67 75 72 65 3e 3c 66 69 67 75 ..}.}</code></pre></figure><figu
3e700 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"
3e720 3e 53 68 65 6c 6c 3c 2f 66 69 67 63 61 70 74 69 6f 6e 3e 3c 70 72 65 3e 3c 73 61 6d 70 3e 24 20 >Shell</figcaption><pre><samp>$.
3e740 3c 6b 62 64 3e 7a 69 67 20 74 65 73 74 20 73 74 72 75 63 74 5f 64 65 66 61 75 6c 74 5f 66 69 65 <kbd>zig.test.struct_default_fie
3e760 6c 64 5f 76 61 6c 75 65 73 2e 7a 69 67 3c 2f 6b 62 64 3e 0a 31 2f 31 20 73 74 72 75 63 74 5f 64 ld_values.zig</kbd>.1/1.struct_d
3e780 65 66 61 75 6c 74 5f 66 69 65 6c 64 5f 76 61 6c 75 65 73 2e 74 65 73 74 2e 64 65 66 61 75 6c 74 efault_field_values.test.default
3e7a0 20 73 74 72 75 63 74 20 69 6e 69 74 69 61 6c 69 7a 61 74 69 6f 6e 20 66 69 65 6c 64 73 2e 2e 2e .struct.initialization.fields...
3e7c0 4f 4b 0a 41 6c 6c 20 31 20 74 65 73 74 73 20 70 61 73 73 65 64 2e 0a 3c 2f 73 61 6d 70 3e 3c 2f OK.All.1.tests.passed..</samp></
3e7e0 70 72 65 3e 3c 2f 66 69 67 75 72 65 3e 0a 0a 20 20 20 20 20 20 3c 68 34 20 69 64 3d 22 46 61 75 pre></figure>........<h4.id="Fau
3e800 6c 74 79 2d 44 65 66 61 75 6c 74 2d 46 69 65 6c 64 2d 56 61 6c 75 65 73 22 3e 3c 61 20 68 72 65 lty-Default-Field-Values"><a.hre
3e820 66 3d 22 6e 61 76 2e 78 68 74 6d 6c 23 74 6f 63 2d 46 61 75 6c 74 79 2d 44 65 66 61 75 6c 74 2d f="nav.xhtml#toc-Faulty-Default-
3e840 46 69 65 6c 64 2d 56 61 6c 75 65 73 22 3e 46 61 75 6c 74 79 20 44 65 66 61 75 6c 74 20 46 69 65 Field-Values">Faulty.Default.Fie
3e860 6c 64 20 56 61 6c 75 65 73 3c 2f 61 3e 20 3c 61 20 63 6c 61 73 73 3d 22 68 64 72 22 20 68 72 65 ld.Values</a>.<a.class="hdr".hre
3e880 66 3d 22 23 46 61 75 6c 74 79 2d 44 65 66 61 75 6c 74 2d 46 69 65 6c 64 2d 56 61 6c 75 65 73 22 f="#Faulty-Default-Field-Values"
3e8a0 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 44 65 >..</a></h4>........<p>.......De
3e8c0 66 61 75 6c 74 20 66 69 65 6c 64 20 76 61 6c 75 65 73 20 61 72 65 20 6f 6e 6c 79 20 61 70 70 72 fault.field.values.are.only.appr
3e8e0 6f 70 72 69 61 74 65 20 77 68 65 6e 20 74 68 65 20 64 61 74 61 20 69 6e 76 61 72 69 61 6e 74 73 opriate.when.the.data.invariants
3e900 20 6f 66 20 61 20 73 74 72 75 63 74 0a 20 20 20 20 20 20 63 61 6e 6e 6f 74 20 62 65 20 76 69 6f .of.a.struct.......cannot.be.vio
3e920 6c 61 74 65 64 20 62 79 20 6f 6d 69 74 74 69 6e 67 20 74 68 61 74 20 66 69 65 6c 64 20 66 72 6f lated.by.omitting.that.field.fro
3e940 6d 20 61 6e 20 69 6e 69 74 69 61 6c 69 7a 61 74 69 6f 6e 2e 0a 20 20 20 20 20 20 3c 2f 70 3e 0a m.an.initialization........</p>.
3e960 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 2c 20 68 65 72 ......<p>.......For.example,.her
3e980 65 20 69 73 20 61 6e 20 69 6e 61 70 70 72 6f 70 72 69 61 74 65 20 75 73 65 20 6f 66 20 64 65 66 e.is.an.inappropriate.use.of.def
3e9a0 61 75 6c 74 20 73 74 72 75 63 74 20 66 69 65 6c 64 20 69 6e 69 74 69 61 6c 69 7a 61 74 69 6f 6e ault.struct.field.initialization
3e9c0 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
3e9e0 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
3ea00 73 73 3d 22 66 69 6c 65 22 3e 62 61 64 5f 64 65 66 61 75 6c 74 5f 76 61 6c 75 65 2e 7a 69 67 3c ss="file">bad_default_value.zig<
3ea20 2f 63 69 74 65 3e 3c 2f 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
3ea40 70 61 6e 20 63 6c 61 73 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>.
3ea60 54 68 72 65 73 68 6f 6c 64 20 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 Threshold.=.<span.class="tok-kw"
3ea80 3e 73 74 72 75 63 74 3c 2f 73 70 61 6e 3e 20 7b 0a 20 20 20 20 6d 69 6e 69 6d 75 6d 3a 20 3c 73 >struct</span>.{.....minimum:.<s
3eaa0 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>.
3eac0 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 30 2e 32 35 3c =.<span.class="tok-number">0.25<
3eae0 2f 73 70 61 6e 3e 2c 0a 20 20 20 20 6d 61 78 69 6d 75 6d 3a 20 3c 73 70 61 6e 20 63 6c 61 73 73 /span>,.....maximum:.<span.class
3eb00 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 66 33 32 3c 2f 73 70 61 6e 3e 20 3d 20 3c 73 70 61 6e 20 63 ="tok-type">f32</span>.=.<span.c
3eb20 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 30 2e 37 35 3c 2f 73 70 61 6e 3e 2c 0a 0a lass="tok-number">0.75</span>,..
3eb40 20 20 20 20 3c 73 70 61 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</
3eb60 73 70 61 6e 3e 20 43 61 74 65 67 6f 72 79 20 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f span>.Category.=.<span.class="to
3eb80 6b 2d 6b 77 22 3e 65 6e 75 6d 3c 2f 73 70 61 6e 3e 20 7b 20 6c 6f 77 2c 20 6d 65 64 69 75 6d 2c k-kw">enum</span>.{.low,.medium,
3eba0 20 68 69 67 68 20 7d 3b 0a 0a 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b .high.};......<span.class="tok-k
3ebc0 77 22 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
3ebe0 22 3e 63 61 74 65 67 6f 72 69 7a 65 3c 2f 73 70 61 6e 3e 28 74 3a 20 54 68 72 65 73 68 6f 6c 64 ">categorize</span>(t:.Threshold
3ec00 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 74 79 70 65 22 3e ,.value:.<span.class="tok-type">
3ec20 66 33 32 3c 2f 73 70 61 6e 3e 29 20 43 61 74 65 67 6f 72 79 20 7b 0a 20 20 20 20 20 20 20 20 61 f32</span>).Category.{.........a
3ec40 73 73 65 72 74 28 74 2e 6d 61 78 69 6d 75 6d 20 26 67 74 3b 3d 20 74 2e 6d 69 6e 69 6d 75 6d 29 ssert(t.maximum.&gt;=.t.minimum)
3ec60 3b 0a 20 20 20 20 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 69 ;.........<span.class="tok-kw">i
3ec80 66 3c 2f 73 70 61 6e 3e 20 28 76 61 6c 75 65 20 26 6c 74 3b 20 74 2e 6d 69 6e 69 6d 75 6d 29 20 f</span>.(value.&lt;.t.minimum).
3eca0 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
3ecc0 6e 3e 20 2e 6c 6f 77 3b 0a 20 20 20 20 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f n>..low;.........<span.class="to
3ece0 6b 2d 6b 77 22 3e 69 66 3c 2f 73 70 61 6e 3e 20 28 76 61 6c 75 65 20 26 67 74 3b 20 74 2e 6d 61 k-kw">if</span>.(value.&gt;.t.ma
3ed00 78 69 6d 75 6d 29 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 72 65 74 75 ximum).<span.class="tok-kw">retu
3ed20 72 6e 3c 2f 73 70 61 6e 3e 20 2e 68 69 67 68 3b 0a 20 20 20 20 20 20 20 20 3c 73 70 61 6e 20 63 rn</span>..high;.........<span.c
3ed40 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 2e 6d 65 64 lass="tok-kw">return</span>..med
3ed60 69 75 6d 3b 0a 20 20 20 20 7d 0a 7d 3b 0a 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d ium;.....}.};..<span.class="tok-
3ed80 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-
3eda0 6b 77 22 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
3edc0 6e 22 3e 6d 61 69 6e 3c 2f 73 70 61 6e 3e 28 29 20 21 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 n">main</span>().!<span.class="t
3ede0 6f 6b 2d 74 79 70 65 22 3e 76 6f 69 64 3c 2f 73 70 61 6e 3e 20 7b 0a 20 20 20 20 3c 73 70 61 6e ok-type">void</span>.{.....<span
3ee00 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 76 61 72 3c 2f 73 70 61 6e 3e 20 74 68 72 65 73 .class="tok-kw">var</span>.thres
3ee20 68 6f 6c 64 3a 20 54 68 72 65 73 68 6f 6c 64 20 3d 20 2e 7b 0a 20 20 20 20 20 20 20 20 2e 6d 61 hold:.Threshold.=..{..........ma
3ee40 78 69 6d 75 6d 20 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 ximum.=.<span.class="tok-number"
3ee60 3e 30 2e 32 30 3c 2f 73 70 61 6e 3e 2c 0a 20 20 20 20 7d 3b 0a 20 20 20 20 3c 73 70 61 6e 20 63 >0.20</span>,.....};.....<span.c
3ee80 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 63 6f 6e 73 74 3c 2f 73 70 61 6e 3e 20 63 61 74 65 67 lass="tok-kw">const</span>.categ
3eea0 6f 72 79 20 3d 20 74 68 72 65 73 68 6f 6c 64 2e 63 61 74 65 67 6f 72 69 7a 65 28 3c 73 70 61 6e ory.=.threshold.categorize(<span
3eec0 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 30 2e 39 30 3c 2f 73 70 61 6e 3e 29 .class="tok-number">0.90</span>)
3eee0 3b 0a 20 20 20 20 73 74 64 2e 6c 6f 67 2e 69 6e 66 6f 28 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 ;.....std.log.info(<span.class="
3ef00 74 6f 6b 2d 73 74 72 22 3e 26 71 75 6f 74 3b 63 61 74 65 67 6f 72 79 3a 20 7b 74 7d 26 71 75 6f tok-str">&quot;category:.{t}&quo
3ef20 74 3b 3c 2f 73 70 61 6e 3e 2c 20 2e 7b 63 61 74 65 67 6f 72 79 7d 29 3b 0a 7d 0a 0a 3c 73 70 61 t;</span>,..{category});.}..<spa
3ef40 6e 20 63 6c 61 73 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
3ef60 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
3ef80 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
3efa0 72 22 3e 26 71 75 6f 74 3b 73 74 64 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 29 3b 0a 3c 73 70 61 r">&quot;std&quot;</span>);.<spa
3efc0 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 63 6f 6e 73 74 3c 2f 73 70 61 6e 3e 20 61 73 n.class="tok-kw">const</span>.as
3efe0 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 63 6f 64 65 3e 3c sert.=.std.debug.assert;</code><
3f000 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
3f020 6e 20 63 6c 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
3f040 70 74 69 6f 6e 3e 3c 70 72 65 3e 3c 73 61 6d 70 3e 24 20 3c 6b 62 64 3e 7a 69 67 20 62 75 69 6c ption><pre><samp>$.<kbd>zig.buil
3f060 64 2d 65 78 65 20 62 61 64 5f 64 65 66 61 75 6c 74 5f 76 61 6c 75 65 2e 7a 69 67 3c 2f 6b 62 64 d-exe.bad_default_value.zig</kbd
3f080 3e 0a 24 20 3c 6b 62 64 3e 2e 2f 62 61 64 5f 64 65 66 61 75 6c 74 5f 76 61 6c 75 65 3c 2f 6b 62 >.$.<kbd>./bad_default_value</kb
3f0a0 64 3e 0a 74 68 72 65 61 64 20 32 33 33 38 30 30 20 70 61 6e 69 63 3a 20 72 65 61 63 68 65 64 20 d>.thread.233800.panic:.reached.
3f0c0 75 6e 72 65 61 63 68 61 62 6c 65 20 63 6f 64 65 0a 2f 68 6f 6d 65 2f 63 69 2f 77 6f 72 6b 2f 7a unreachable.code./home/ci/work/z
3f0e0 69 67 2d 62 6f 6f 74 73 74 72 61 70 2f 6f 75 74 2f 68 6f 73 74 2f 6c 69 62 2f 7a 69 67 2f 73 74 ig-bootstrap/out/host/lib/zig/st
3f100 64 2f 64 65 62 75 67 2e 7a 69 67 3a 34 32 33 3a 31 34 3a 20 30 78 31 30 32 36 65 61 39 20 69 6e d/debug.zig:423:14:.0x1026ea9.in
3f120 20 61 73 73 65 72 74 20 28 73 74 64 2e 7a 69 67 29 0a 20 20 20 20 69 66 20 28 21 6f 6b 29 20 75 .assert.(std.zig).....if.(!ok).u
3f140 6e 72 65 61 63 68 61 62 6c 65 3b 20 2f 2f 20 61 73 73 65 72 74 69 6f 6e 20 66 61 69 6c 75 72 65 nreachable;.//.assertion.failure
3f160 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 5e 0a 2f 68 6f 6d 65 2f 63 69 2f 77 6f 72 6b 2f 7a 69 ..............^./home/ci/work/zi
3f180 67 2d 62 6f 6f 74 73 74 72 61 70 2f 7a 69 67 2f 64 6f 63 2f 6c 61 6e 67 72 65 66 2f 62 61 64 5f g-bootstrap/zig/doc/langref/bad_
3f1a0 64 65 66 61 75 6c 74 5f 76 61 6c 75 65 2e 7a 69 67 3a 38 3a 31 35 3a 20 30 78 31 31 64 39 39 35 default_value.zig:8:15:.0x11d995
3f1c0 61 20 69 6e 20 63 61 74 65 67 6f 72 69 7a 65 20 28 62 61 64 5f 64 65 66 61 75 6c 74 5f 76 61 6c a.in.categorize.(bad_default_val
3f1e0 75 65 2e 7a 69 67 29 0a 20 20 20 20 20 20 20 20 61 73 73 65 72 74 28 74 2e 6d 61 78 69 6d 75 6d ue.zig).........assert(t.maximum
3f200 20 26 67 74 3b 3d 20 74 2e 6d 69 6e 69 6d 75 6d 29 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 .&gt;=.t.minimum);..............
3f220 20 5e 0a 2f 68 6f 6d 65 2f 63 69 2f 77 6f 72 6b 2f 7a 69 67 2d 62 6f 6f 74 73 74 72 61 70 2f 7a .^./home/ci/work/zig-bootstrap/z
3f240 69 67 2f 64 6f 63 2f 6c 61 6e 67 72 65 66 2f 62 61 64 5f 64 65 66 61 75 6c 74 5f 76 61 6c 75 65 ig/doc/langref/bad_default_value
3f260 2e 7a 69 67 3a 31 39 3a 34 32 3a 20 30 78 31 31 64 38 33 63 65 20 69 6e 20 6d 61 69 6e 20 28 62 .zig:19:42:.0x11d83ce.in.main.(b
3f280 61 64 5f 64 65 66 61 75 6c 74 5f 76 61 6c 75 65 2e 7a 69 67 29 0a 20 20 20 20 63 6f 6e 73 74 20 ad_default_value.zig).....const.
3f2a0 63 61 74 65 67 6f 72 79 20 3d 20 74 68 72 65 73 68 6f 6c 64 2e 63 61 74 65 67 6f 72 69 7a 65 28 category.=.threshold.categorize(
3f2c0 30 2e 39 30 29 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 0.90);..........................
3f2e0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 5e 0a 2f 68 6f 6d 65 2f 63 69 2f 77 6f 72 6b 2f ................^./home/ci/work/
3f300 7a 69 67 2d 62 6f 6f 74 73 74 72 61 70 2f 6f 75 74 2f 68 6f 73 74 2f 6c 69 62 2f 7a 69 67 2f 73 zig-bootstrap/out/host/lib/zig/s
3f320 74 64 2f 73 74 61 72 74 2e 7a 69 67 3a 37 32 32 3a 35 39 3a 20 30 78 31 31 64 38 39 64 63 20 69 td/start.zig:722:59:.0x11d89dc.i
3f340 6e 20 63 61 6c 6c 4d 61 69 6e 20 28 73 74 64 2e 7a 69 67 29 0a 20 20 20 20 69 66 20 28 66 6e 5f n.callMain.(std.zig).....if.(fn_
3f360 69 6e 66 6f 2e 70 61 72 61 6d 73 2e 6c 65 6e 20 3d 3d 20 30 29 20 72 65 74 75 72 6e 20 77 72 61 info.params.len.==.0).return.wra
3f380 70 4d 61 69 6e 28 72 6f 6f 74 2e 6d 61 69 6e 28 29 29 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 pMain(root.main());.............
3f3a0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ................................
3f3c0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 5e 0a 2f 68 6f 6d 65 2f 63 69 2f 77 6f 72 6b 2f 7a 69 ..............^./home/ci/work/zi
3f3e0 67 2d 62 6f 6f 74 73 74 72 61 70 2f 6f 75 74 2f 68 6f 73 74 2f 6c 69 62 2f 7a 69 67 2f 73 74 64 g-bootstrap/out/host/lib/zig/std
3f400 2f 73 74 61 72 74 2e 7a 69 67 3a 32 30 34 3a 35 3a 20 30 78 31 31 64 38 33 38 31 20 69 6e 20 5f /start.zig:204:5:.0x11d8381.in._
3f420 73 74 61 72 74 20 28 73 74 64 2e 7a 69 67 29 0a 20 20 20 20 61 73 6d 20 76 6f 6c 61 74 69 6c 65 start.(std.zig).....asm.volatile
3f440 20 28 73 77 69 74 63 68 20 28 6e 61 74 69 76 65 5f 61 72 63 68 29 20 7b 0a 20 20 20 20 5e 0a 28 .(switch.(native_arch).{.....^.(
3f460 70 72 6f 63 65 73 73 20 74 65 72 6d 69 6e 61 74 65 64 20 62 79 20 73 69 67 6e 61 6c 29 0a 3c 2f process.terminated.by.signal).</
3f480 73 61 6d 70 3e 3c 2f 70 72 65 3e 3c 2f 66 69 67 75 72 65 3e 0a 0a 20 20 20 20 20 20 3c 70 3e 0a samp></pre></figure>........<p>.
3f4a0 20 20 20 20 20 20 41 62 6f 76 65 20 79 6f 75 20 63 61 6e 20 73 65 65 20 74 68 65 20 64 61 6e 67 ......Above.you.can.see.the.dang
3f4c0 65 72 20 6f 66 20 69 67 6e 6f 72 69 6e 67 20 74 68 69 73 20 70 72 69 6e 63 69 70 6c 65 2e 20 54 er.of.ignoring.this.principle..T
3f4e0 68 65 20 64 65 66 61 75 6c 74 0a 20 20 20 20 20 20 66 69 65 6c 64 20 76 61 6c 75 65 73 20 63 61 he.default.......field.values.ca
3f500 75 73 65 64 20 74 68 65 20 64 61 74 61 20 69 6e 76 61 72 69 61 6e 74 20 74 6f 20 62 65 20 76 69 used.the.data.invariant.to.be.vi
3f520 6f 6c 61 74 65 64 2c 20 63 61 75 73 69 6e 67 20 69 6c 6c 65 67 61 6c 0a 20 20 20 20 20 20 62 65 olated,.causing.illegal.......be
3f540 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 0a 20 20 20 havior........</p>.......<p>....
3f560 20 20 20 54 6f 20 66 69 78 20 74 68 69 73 2c 20 72 65 6d 6f 76 65 20 74 68 65 20 64 65 66 61 75 ...To.fix.this,.remove.the.defau
3f580 6c 74 20 76 61 6c 75 65 73 20 66 72 6f 6d 20 61 6c 6c 20 74 68 65 20 73 74 72 75 63 74 20 66 69 lt.values.from.all.the.struct.fi
3f5a0 65 6c 64 73 2c 20 61 6e 64 20 70 72 6f 76 69 64 65 0a 20 20 20 20 20 20 61 20 6e 61 6d 65 64 20 elds,.and.provide.......a.named.
3f5c0 64 65 66 61 75 6c 74 20 76 61 6c 75 65 3a 0a 20 20 20 20 20 20 3c 2f 70 3e 0a 20 20 20 20 20 20 default.value:.......</p>.......
3f5e0 3c 66 69 67 75 72 65 3e 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
3f600 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 64 65 ap"><cite.class="file">struct_de
3f620 66 61 75 6c 74 5f 76 61 6c 75 65 2e 7a 69 67 3c 2f 63 69 74 65 3e 3c 2f 66 69 67 63 61 70 74 69 fault_value.zig</cite></figcapti
3f640 6f 6e 3e 3c 70 72 65 3e 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b on><pre><code><span.class="tok-k
3f660 77 22 3e 63 6f 6e 73 74 3c 2f 73 70 61 6e 3e 20 54 68 72 65 73 68 6f 6c 64 20 3d 20 3c 73 70 61 w">const</span>.Threshold.=.<spa
3f680 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>.{
3f6a0 0a 20 20 20 20 6d 69 6e 69 6d 75 6d 3a 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 .....minimum:.<span.class="tok-t
3f6c0 79 70 65 22 3e 66 33 32 3c 2f 73 70 61 6e 3e 2c 0a 20 20 20 20 6d 61 78 69 6d 75 6d 3a 20 3c 73 ype">f32</span>,.....maximum:.<s
3f6e0 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>,
3f700 0a 0a 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 63 6f 6e 73 74 ......<span.class="tok-kw">const
3f720 3c 2f 73 70 61 6e 3e 20 64 65 66 61 75 6c 74 3a 20 54 68 72 65 73 68 6f 6c 64 20 3d 20 2e 7b 0a </span>.default:.Threshold.=..{.
3f740 20 20 20 20 20 20 20 20 2e 6d 69 6e 69 6d 75 6d 20 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 .........minimum.=.<span.class="
3f760 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 30 2e 32 35 3c 2f 73 70 61 6e 3e 2c 0a 20 20 20 20 20 20 20 tok-number">0.25</span>,........
3f780 20 2e 6d 61 78 69 6d 75 6d 20 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d ..maximum.=.<span.class="tok-num
3f7a0 62 65 72 22 3e 30 2e 37 35 3c 2f 73 70 61 6e 3e 2c 0a 20 20 20 20 7d 3b 0a 7d 3b 3c 2f 63 6f 64 ber">0.75</span>,.....};.};</cod
3f7c0 65 3e 3c 2f 70 72 65 3e 3c 2f 66 69 67 75 72 65 3e 0a 0a 20 20 20 20 20 20 3c 70 3e 49 66 20 61 e></pre></figure>........<p>If.a
3f7e0 20 73 74 72 75 63 74 20 76 61 6c 75 65 20 72 65 71 75 69 72 65 73 20 61 20 72 75 6e 74 69 6d 65 .struct.value.requires.a.runtime
3f800 2d 6b 6e 6f 77 6e 20 76 61 6c 75 65 20 69 6e 20 6f 72 64 65 72 20 74 6f 20 62 65 20 69 6e 69 74 -known.value.in.order.to.be.init
3f820 69 61 6c 69 7a 65 64 0a 20 20 20 20 20 20 77 69 74 68 6f 75 74 20 76 69 6f 6c 61 74 69 6e 67 20 ialized.......without.violating.
3f840 64 61 74 61 20 69 6e 76 61 72 69 61 6e 74 73 2c 20 74 68 65 6e 20 75 73 65 20 61 6e 20 69 6e 69 data.invariants,.then.use.an.ini
3f860 74 69 61 6c 69 7a 61 74 69 6f 6e 20 6d 65 74 68 6f 64 20 74 68 61 74 20 61 63 63 65 70 74 73 0a tialization.method.that.accepts.
3f880 20 20 20 20 20 20 74 68 6f 73 65 20 72 75 6e 74 69 6d 65 20 76 61 6c 75 65 73 2c 20 61 6e 64 20 ......those.runtime.values,.and.
3f8a0 70 6f 70 75 6c 61 74 65 73 20 74 68 65 20 72 65 6d 61 69 6e 69 6e 67 20 66 69 65 6c 64 73 2e 3c populates.the.remaining.fields.<
3f8c0 2f 70 3e 0a 20 20 20 20 20 20 0a 20 20 20 20 20 20 0a 0a 20 20 20 20 20 20 3c 68 33 20 69 64 3d /p>......................<h3.id=
3f8e0 22 65 78 74 65 72 6e 2d 73 74 72 75 63 74 22 3e 3c 61 20 68 72 65 66 3d 22 6e 61 76 2e 78 68 74 "extern-struct"><a.href="nav.xht
3f900 6d 6c 23 74 6f 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 ml#toc-extern-struct">extern.str
3f920 75 63 74 3c 2f 61 3e 20 3c 61 20 63 6c 61 73 73 3d 22 68 64 72 22 20 68 72 65 66 3d 22 23 65 78 uct</a>.<a.class="hdr".href="#ex
3f940 74 65 72 6e 2d 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 tern-struct">..</a></h3>........
3f960 3c 70 3e 41 6e 20 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 <p>An.<code><span.class="tok-kw"
3f980 3e 65 78 74 65 72 6e 3c 2f 73 70 61 6e 3e 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d >extern</span>.<span.class="tok-
3f9a0 6b 77 22 3e 73 74 72 75 63 74 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 20 68 61 73 20 69 6e 2d kw">struct</span></code>.has.in-
3f9c0 6d 65 6d 6f 72 79 20 6c 61 79 6f 75 74 20 6d 61 74 63 68 69 6e 67 0a 20 20 20 20 20 20 74 68 65 memory.layout.matching.......the
3f9e0 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>......
3fa00 20 3c 70 3e 49 66 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 .<p>If.well-defined.in-memory.la
3fa20 79 6f 75 74 20 69 73 20 6e 6f 74 20 72 65 71 75 69 72 65 64 2c 20 3c 61 20 68 72 65 66 3d 22 23 yout.is.not.required,.<a.href="#
3fa40 73 74 72 75 63 74 22 3e 73 74 72 75 63 74 3c 2f 61 3e 20 69 73 20 61 20 62 65 74 74 65 72 20 63 struct">struct</a>.is.a.better.c
3fa60 68 6f 69 63 65 0a 20 20 20 20 20 20 62 65 63 61 75 73 65 20 69 74 20 70 6c 61 63 65 73 20 66 65 hoice.......because.it.places.fe
3fa80 77 65 72 20 72 65 73 74 72 69 63 74 69 6f 6e 73 20 6f 6e 20 74 68 65 20 63 6f 6d 70 69 6c 65 72 wer.restrictions.on.the.compiler
3faa0 2e 3c 2f 70 3e 0a 20 20 20 20 20 20 3c 70 3e 53 65 65 20 3c 61 20 68 72 65 66 3d 22 23 70 61 63 .</p>.......<p>See.<a.href="#pac
3fac0 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 20 66 6f ked-struct">packed.struct</a>.fo
3fae0 72 20 61 20 73 74 72 75 63 74 20 74 68 61 74 20 68 61 73 20 74 68 65 20 41 42 49 20 6f 66 20 69 r.a.struct.that.has.the.ABI.of.i
3fb00 74 73 20 62 61 63 6b 69 6e 67 20 69 6e 74 65 67 65 72 2c 0a 20 20 20 20 20 20 77 68 69 63 68 20 ts.backing.integer,.......which.
3fb20 63 61 6e 20 62 65 20 75 73 65 66 75 6c 20 66 6f 72 20 6d 6f 64 65 6c 69 6e 67 20 66 6c 61 67 73 can.be.useful.for.modeling.flags
3fb40 2e 3c 2f 70 3e 0a 20 20 20 20 20 20 3c 70 3e 53 65 65 20 61 6c 73 6f 3a 3c 2f 70 3e 3c 75 6c 3e .</p>.......<p>See.also:</p><ul>
3fb60 0a 3c 6c 69 3e 3c 61 20 68 72 65 66 3d 22 23 65 78 74 65 72 6e 2d 75 6e 69 6f 6e 22 3e 65 78 74 .<li><a.href="#extern-union">ext
3fb80 65 72 6e 20 75 6e 69 6f 6e 3c 2f 61 3e 3c 2f 6c 69 3e 0a 3c 6c 69 3e 3c 61 20 68 72 65 66 3d 22 ern.union</a></li>.<li><a.href="
3fba0 23 65 78 74 65 72 6e 2d 65 6e 75 6d 22 3e 65 78 74 65 72 6e 20 65 6e 75 6d 3c 2f 61 3e 3c 2f 6c #extern-enum">extern.enum</a></l
3fbc0 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="
3fbe0 70 61 63 6b 65 64 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 packed-struct"><a.href="nav.xhtm
3fc00 6c 23 74 6f 63 2d 70 61 63 6b 65 64 2d 73 74 72 75 63 74 22 3e 70 61 63 6b 65 64 20 73 74 72 75 l#toc-packed-struct">packed.stru
3fc20 63 74 3c 2f 61 3e 20 3c 61 20 63 6c 61 73 73 3d 22 68 64 72 22 20 68 72 65 66 3d 22 23 70 61 63 ct</a>.<a.class="hdr".href="#pac
3fc40 6b 65 64 2d 73 74 72 75 63 74 22 3e c2 a7 3c 2f 61 3e 3c 2f 68 33 3e 0a 0a 20 20 20 20 20 20 3c ked-struct">..</a></h3>........<
3fc60 70 3e 0a 20 20 20 20 20 20 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d p>.......<code><span.class="tok-
3fc80 6b 77 22 3e 70 61 63 6b 65 64 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 20 73 74 72 75 63 74 73 kw">packed</span></code>.structs
3fca0 2c 20 6c 69 6b 65 20 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 ,.like.<code><span.class="tok-kw
3fcc0 22 3e 65 6e 75 6d 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 2c 20 61 72 65 20 62 61 73 65 64 20 ">enum</span></code>,.are.based.
3fce0 6f 6e 20 74 68 65 20 63 6f 6e 63 65 70 74 0a 20 20 20 20 20 20 6f 66 20 69 6e 74 65 72 70 72 65 on.the.concept.......of.interpre
3fd00 74 69 6e 67 20 69 6e 74 65 67 65 72 73 20 64 69 66 66 65 72 65 6e 74 6c 79 2e 20 41 6c 6c 20 70 ting.integers.differently..All.p
3fd20 61 63 6b 65 64 20 73 74 72 75 63 74 73 20 68 61 76 65 20 61 20 3c 73 74 72 6f 6e 67 3e 62 61 63 acked.structs.have.a.<strong>bac
3fd40 6b 69 6e 67 20 69 6e 74 65 67 65 72 3c 2f 73 74 72 6f 6e 67 3e 2c 0a 20 20 20 20 20 20 77 68 69 king.integer</strong>,.......whi
3fd60 63 68 20 69 73 20 69 6d 70 6c 69 63 69 74 6c 79 20 64 65 74 65 72 6d 69 6e 65 64 20 62 79 20 74 ch.is.implicitly.determined.by.t
3fd80 68 65 20 74 6f 74 61 6c 20 62 69 74 20 63 6f 75 6e 74 20 6f 66 20 66 69 65 6c 64 73 2c 20 6f 72 he.total.bit.count.of.fields,.or
3fda0 20 65 78 70 6c 69 63 69 74 6c 79 20 73 70 65 63 69 66 69 65 64 2e 0a 20 20 20 20 20 20 50 61 63 .explicitly.specified........Pac
3fdc0 6b 65 64 20 73 74 72 75 63 74 73 20 68 61 76 65 20 77 65 6c 6c 2d 64 65 66 69 6e 65 64 20 6d 65 ked.structs.have.well-defined.me
3fde0 6d 6f 72 79 20 6c 61 79 6f 75 74 20 2d 20 65 78 61 63 74 6c 79 20 74 68 65 20 73 61 6d 65 20 41 mory.layout.-.exactly.the.same.A
3fe00 42 49 20 61 73 20 74 68 65 69 72 20 62 61 63 6b 69 6e 67 20 69 6e 74 65 67 65 72 2e 0a 20 20 20 BI.as.their.backing.integer.....
3fe20 20 20 20 3c 2f 70 3e 0a 20 20 20 20 20 20 3c 70 3e 0a 20 20 20 20 20 20 45 61 63 68 20 66 69 65 ...</p>.......<p>.......Each.fie
3fe40 6c 64 20 6f 66 20 61 20 70 61 63 6b 65 64 20 73 74 72 75 63 74 20 69 73 20 69 6e 74 65 72 70 72 ld.of.a.packed.struct.is.interpr
3fe60 65 74 65 64 20 61 73 20 61 20 6c 6f 67 69 63 61 6c 20 73 65 71 75 65 6e 63 65 20 6f 66 20 62 69 eted.as.a.logical.sequence.of.bi
3fe80 74 73 2c 20 61 72 72 61 6e 67 65 64 20 66 72 6f 6d 0a 20 20 20 20 20 20 6c 65 61 73 74 20 74 6f ts,.arranged.from.......least.to
3fea0 20 6d 6f 73 74 20 73 69 67 6e 69 66 69 63 61 6e 74 2e 20 41 6c 6c 6f 77 65 64 20 66 69 65 6c 64 .most.significant..Allowed.field
3fec0 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>...
3fee0 20 20 20 20 20 20 3c 6c 69 3e 41 6e 20 3c 61 20 68 72 65 66 3d 22 23 49 6e 74 65 67 65 72 73 22 ......<li>An.<a.href="#Integers"
3ff00 3e 69 6e 74 65 67 65 72 3c 2f 61 3e 20 66 69 65 6c 64 20 75 73 65 73 20 65 78 61 63 74 6c 79 20 >integer</a>.field.uses.exactly.
3ff20 61 73 20 6d 61 6e 79 20 62 69 74 73 20 61 73 20 69 74 73 0a 20 20 20 20 20 20 20 20 62 69 74 20 as.many.bits.as.its.........bit.
3ff40 77 69 64 74 68 2e 20 46 6f 72 20 65 78 61 6d 70 6c 65 2c 20 61 20 3c 63 6f 64 65 3e 3c 73 70 61 width..For.example,.a.<code><spa
3ff60 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 75 35 3c 2f 73 70 61 6e 3e 3c 2f 63 6f n.class="tok-type">u5</span></co
3ff80 64 65 3e 20 77 69 6c 6c 20 75 73 65 20 35 20 62 69 74 73 20 6f 66 0a 20 20 20 20 20 20 20 20 74 de>.will.use.5.bits.of.........t
3ffa0 68 65 20 62 61 63 6b 69 6e 67 20 69 6e 74 65 67 65 72 2e 3c 2f 6c 69 3e 0a 20 20 20 20 20 20 20 he.backing.integer.</li>........
3ffc0 20 3c 6c 69 3e 41 20 3c 61 20 68 72 65 66 3d 22 23 50 72 69 6d 69 74 69 76 65 2d 54 79 70 65 73 .<li>A.<a.href="#Primitive-Types
3ffe0 22 3e 62 6f 6f 6c 3c 2f 61 3e 20 66 69 65 6c 64 20 75 73 65 73 20 65 78 61 63 74 6c 79 20 31 20 ">bool</a>.field.uses.exactly.1.
40000 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 20 68 72 65 66 bit.</li>.........<li>An.<a.href
40020 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 73 20 65 78 61 ="#enum">enum</a>.field.uses.exa
40040 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 6e 74 65 67 65 ctly.the.bit.width.of.its.intege
40060 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 69 3e 41 20 3c r.tag.type.</li>.........<li>A.<
40080 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 65 64 20 75 6e a.href="#packed-union">packed.un
400a0 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 74 68 65 20 62 ion</a>.field.uses.exactly.the.b
400c0 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 20 77 69 74 68 it.width.of.the.union.field.with
400e0 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 64 74 68 2e 3c .........the.largest.bit.width.<
40100 2f 6c 69 3e 0a 20 20 20 20 20 20 20 20 3c 6c 69 3e 41 20 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 /li>.........<li>A.<code><span.c
40120 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
40140 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 73 74 72 75 63 74 3c 2f 73 70 61 6e 3e 3c 2f n.class="tok-kw">struct</span></
40160 63 6f 64 65 3e 20 66 69 65 6c 64 20 75 73 65 73 20 74 68 65 20 62 69 74 73 20 6f 66 20 69 74 73 code>.field.uses.the.bits.of.its
40180 20 62 61 63 6b 69 6e 67 20 69 6e 74 65 67 65 72 2e 3c 2f 6c 69 3e 0a 20 20 20 20 20 20 3c 2f 75 .backing.integer.</li>.......</u
401a0 6c 3e 0a 20 20 20 20 20 20 3c 70 3e 0a 20 20 20 20 20 20 54 68 69 73 20 6d 65 61 6e 73 20 74 68 l>.......<p>.......This.means.th
401c0 61 74 20 61 20 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e at.a.<code><span.class="tok-kw">
401e0 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 2d 6b packed</span>.<span.class="tok-k
40200 77 22 3e 73 74 72 75 63 74 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 20 63 61 6e 20 70 61 72 74 w">struct</span></code>.can.part
40220 69 63 69 70 61 74 65 0a 20 20 20 20 20 20 69 6e 20 61 20 3c 61 20 68 72 65 66 3d 22 23 62 69 74 icipate.......in.a.<a.href="#bit
40240 43 61 73 74 22 3e 40 62 69 74 43 61 73 74 3c 2f 61 3e 20 6f 72 20 61 20 3c 61 20 68 72 65 66 3d Cast">@bitCast</a>.or.a.<a.href=
40260 22 23 70 74 72 43 61 73 74 22 3e 40 70 74 72 43 61 73 74 3c 2f 61 3e 20 74 6f 20 72 65 69 6e 74 "#ptrCast">@ptrCast</a>.to.reint
40280 65 72 70 72 65 74 20 6d 65 6d 6f 72 79 2e 0a 20 20 20 20 20 20 54 68 69 73 20 65 76 65 6e 20 77 erpret.memory........This.even.w
402a0 6f 72 6b 73 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 orks.at.<a.href="#comptime">comp
402c0 74 69 6d 65 3c 2f 61 3e 3a 0a 20 20 20 20 20 20 3c 2f 70 3e 0a 20 20 20 20 20 20 3c 66 69 67 75 time</a>:.......</p>.......<figu
402e0 72 65 3e 3c 66 69 67 63 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"><
40300 63 69 74 65 20 63 6c 61 73 73 3d 22 66 69 6c 65 22 3e 74 65 73 74 5f 70 61 63 6b 65 64 5f 73 74 cite.class="file">test_packed_st
40320 72 75 63 74 73 2e 7a 69 67 3c 2f 63 69 74 65 3e 3c 2f 66 69 67 63 61 70 74 69 6f 6e 3e 3c 70 72 ructs.zig</cite></figcaption><pr
40340 65 3e 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 63 6f 6e e><code><span.class="tok-kw">con
40360 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
40380 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
403a0 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;</
403c0 73 70 61 6e 3e 29 3b 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 63 6f 6e span>);.<span.class="tok-kw">con
403e0 73 74 3c 2f 73 70 61 6e 3e 20 6e 61 74 69 76 65 5f 65 6e 64 69 61 6e 20 3d 20 3c 73 70 61 6e 20 st</span>.native_endian.=.<span.
40400 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
40420 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 62 n>(<span.class="tok-str">&quot;b
40440 75 69 6c 74 69 6e 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 29 2e 74 61 72 67 65 74 2e 63 70 75 2e uiltin&quot;</span>).target.cpu.
40460 61 72 63 68 2e 65 6e 64 69 61 6e 28 29 3b 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d arch.endian();.<span.class="tok-
40480 6b 77 22 3e 63 6f 6e 73 74 3c 2f 73 70 61 6e 3e 20 65 78 70 65 63 74 45 71 75 61 6c 20 3d 20 73 kw">const</span>.expectEqual.=.s
404a0 74 64 2e 74 65 73 74 69 6e 67 2e 65 78 70 65 63 74 45 71 75 61 6c 3b 0a 0a 3c 73 70 61 6e 20 63 td.testing.expectEqual;..<span.c
404c0 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 63 6f 6e 73 74 3c 2f 73 70 61 6e 3e 20 46 75 6c 6c 20 lass="tok-kw">const</span>.Full.
404e0 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 70 61 63 6b 65 64 3c 2f 73 =.<span.class="tok-kw">packed</s
40500 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
40520 3c 2f 73 70 61 6e 3e 20 7b 0a 20 20 20 20 6e 75 6d 62 65 72 3a 20 3c 73 70 61 6e 20 63 6c 61 73 </span>.{.....number:.<span.clas
40540 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 75 31 36 3c 2f 73 70 61 6e 3e 2c 0a 7d 3b 0a 3c 73 70 61 s="tok-type">u16</span>,.};.<spa
40560 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 63 6f 6e 73 74 3c 2f 73 70 61 6e 3e 20 44 69 n.class="tok-kw">const</span>.Di
40580 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 22 3e 70 61 63 vided.=.<span.class="tok-kw">pac
405a0 6b 65 64 3c 2f 73 70 61 6e 3e 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e ked</span>.<span.class="tok-kw">
405c0 73 74 72 75 63 74 3c 2f 73 70 61 6e 3e 20 7b 0a 20 20 20 20 68 61 6c 66 31 3a 20 3c 73 70 61 6e struct</span>.{.....half1:.<span
405e0 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 75 38 3c 2f 73 70 61 6e 3e 2c 0a 20 20 20 .class="tok-type">u8</span>,....
40600 20 71 75 61 72 74 65 72 33 3a 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 .quarter3:.<span.class="tok-type
40620 22 3e 75 34 3c 2f 73 70 61 6e 3e 2c 0a 20 20 20 20 71 75 61 72 74 65 72 34 3a 20 3c 73 70 61 6e ">u4</span>,.....quarter4:.<span
40640 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 75 34 3c 2f 73 70 61 6e 3e 2c 0a 7d 3b 0a .class="tok-type">u4</span>,.};.
40660 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 74 65 73 74 3c 2f 73 70 61 6e .<span.class="tok-kw">test</span
40680 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 62 >.<span.class="tok-str">&quot;@b
406a0 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 75 itCast.between.packed.structs&qu
406c0 6f 74 3b 3c 2f 73 70 61 6e 3e 20 7b 0a 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f ot;</span>.{.....<span.class="to
406e0 6b 2d 6b 77 22 3e 74 72 79 3c 2f 73 70 61 6e 3e 20 64 6f 54 68 65 54 65 73 74 28 29 3b 0a 20 20 k-kw">try</span>.doTheTest();...
40700 20 20 3c 73 70 61 6e 20 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
40720 3e 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 63 6f 6d 70 74 69 6d 65 3c >.<span.class="tok-kw">comptime<
40740 2f 73 70 61 6e 3e 20 64 6f 54 68 65 54 65 73 74 28 29 3b 0a 7d 0a 0a 3c 73 70 61 6e 20 63 6c 61 /span>.doTheTest();.}..<span.cla
40760 73 73 3d 22 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
40780 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 20 21 3c s="tok-fn">doTheTest</span>().!<
407a0 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
407c0 3e 20 7b 0a 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 74 72 79 >.{.....<span.class="tok-kw">try
407e0 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=
40800 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
40820 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>(
40840 46 75 6c 6c 29 29 3b 0a 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 Full));.....<span.class="tok-kw"
40860 3e 74 72 79 3c 2f 73 70 61 6e 3e 20 65 78 70 65 63 74 45 71 75 61 6c 28 3c 73 70 61 6e 20 63 6c >try</span>.expectEqual(<span.cl
40880 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
408a0 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 62 75 69 6c 74 69 6e 22 3e 40 73 69 7a 65 4f 66 3c 2f 73 70 .class="tok-builtin">@sizeOf</sp
408c0 61 6e 3e 28 44 69 76 69 64 65 64 29 29 3b 0a 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 an>(Divided));.....<span.class="
408e0 74 6f 6b 2d 6b 77 22 3e 63 6f 6e 73 74 3c 2f 73 70 61 6e 3e 20 66 75 6c 6c 20 3d 20 46 75 6c 6c tok-kw">const</span>.full.=.Full
40900 7b 20 2e 6e 75 6d 62 65 72 20 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d {..number.=.<span.class="tok-num
40920 62 65 72 22 3e 30 78 31 32 33 34 3c 2f 73 70 61 6e 3e 20 7d 3b 0a 20 20 20 20 3c 73 70 61 6e 20 ber">0x1234</span>.};.....<span.
40940 63 6c 61 73 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 69 76 69 class="tok-kw">const</span>.divi
40960 64 65 64 3a 20 44 69 76 69 64 65 64 20 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d ded:.Divided.=.<span.class="tok-
40980 62 75 69 6c 74 69 6e 22 3e 40 62 69 74 43 61 73 74 3c 2f 73 70 61 6e 3e 28 66 75 6c 6c 29 3b 0a builtin">@bitCast</span>(full);.
409a0 20 20 20 20 3c 73 70 61 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
409c0 61 6e 3e 20 65 78 70 65 63 74 45 71 75 61 6c 28 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b an>.expectEqual(<span.class="tok
409e0 2d 6e 75 6d 62 65 72 22 3e 30 78 33 34 3c 2f 73 70 61 6e 3e 2c 20 64 69 76 69 64 65 64 2e 68 61 -number">0x34</span>,.divided.ha
40a00 6c 66 31 29 3b 0a 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 74 lf1);.....<span.class="tok-kw">t
40a20 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 73 ry</span>.expectEqual(<span.clas
40a40 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 30 78 32 3c 2f 73 70 61 6e 3e 2c 20 64 69 76 69 64 s="tok-number">0x2</span>,.divid
40a60 65 64 2e 71 75 61 72 74 65 72 33 29 3b 0a 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 ed.quarter3);.....<span.class="t
40a80 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 73 ok-kw">try</span>.expectEqual(<s
40aa0 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 3c 2f 73 70 61 6e pan.class="tok-number">0x1</span
40ac0 3e 2c 20 64 69 76 69 64 65 64 2e 71 75 61 72 74 65 72 34 29 3b 0a 0a 20 20 20 20 3c 73 70 61 6e >,.divided.quarter4);......<span
40ae0 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 63 6f 6e 73 74 3c 2f 73 70 61 6e 3e 20 6f 72 64 .class="tok-kw">const</span>.ord
40b00 65 72 65 64 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 ered:.[<span.class="tok-number">
40b20 32 3c 2f 73 70 61 6e 3e 5d 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 2</span>]<span.class="tok-type">
40b40 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 75 69 u8</span>.=.<span.class="tok-bui
40b60 6c 74 69 6e 22 3e 40 62 69 74 43 61 73 74 3c 2f 73 70 61 6e 3e 28 66 75 6c 6c 29 3b 0a 20 20 20 ltin">@bitCast</span>(full);....
40b80 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
40ba0 61 6e 3e 20 28 6e 61 74 69 76 65 5f 65 6e 64 69 61 6e 29 20 7b 0a 20 20 20 20 20 20 20 20 2e 62 an>.(native_endian).{..........b
40bc0 69 67 20 3d 26 67 74 3b 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 ig.=&gt;.{.............<span.cla
40be0 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 74 72 79 3c 2f 73 70 61 6e 3e 20 65 78 70 65 63 74 45 71 75 ss="tok-kw">try</span>.expectEqu
40c00 61 6c 28 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 30 78 31 32 al(<span.class="tok-number">0x12
40c20 3c 2f 73 70 61 6e 3e 2c 20 6f 72 64 65 72 65 64 5b 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f </span>,.ordered[<span.class="to
40c40 6b 2d 6e 75 6d 62 65 72 22 3e 30 3c 2f 73 70 61 6e 3e 5d 29 3b 0a 20 20 20 20 20 20 20 20 20 20 k-number">0</span>]);...........
40c60 20 20 3c 73 70 61 6e 20 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
40c80 3e 20 65 78 70 65 63 74 45 71 75 61 6c 28 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e >.expectEqual(<span.class="tok-n
40ca0 75 6d 62 65 72 22 3e 30 78 33 34 3c 2f 73 70 61 6e 3e 2c 20 6f 72 64 65 72 65 64 5b 3c 73 70 61 umber">0x34</span>,.ordered[<spa
40cc0 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 31 3c 2f 73 70 61 6e 3e 5d 29 3b n.class="tok-number">1</span>]);
40ce0 0a 20 20 20 20 20 20 20 20 7d 2c 0a 20 20 20 20 20 20 20 20 2e 6c 69 74 74 6c 65 20 3d 26 67 74 .........},..........little.=&gt
40d00 3b 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b ;.{.............<span.class="tok
40d20 2d 6b 77 22 3e 74 72 79 3c 2f 73 70 61 6e 3e 20 65 78 70 65 63 74 45 71 75 61 6c 28 3c 73 70 61 -kw">try</span>.expectEqual(<spa
40d40 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 30 78 33 34 3c 2f 73 70 61 6e 3e n.class="tok-number">0x34</span>
40d60 2c 20 6f 72 64 65 72 65 64 5b 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 ,.ordered[<span.class="tok-numbe
40d80 72 22 3e 30 3c 2f 73 70 61 6e 3e 5d 29 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 3c 73 70 61 6e r">0</span>]);.............<span
40da0 20 63 6c 61 73 73 3d 22 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
40dc0 74 45 71 75 61 6c 28 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e tEqual(<span.class="tok-number">
40de0 30 78 31 32 3c 2f 73 70 61 6e 3e 2c 20 6f 72 64 65 72 65 64 5b 3c 73 70 61 6e 20 63 6c 61 73 73 0x12</span>,.ordered[<span.class
40e00 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 31 3c 2f 73 70 61 6e 3e 5d 29 3b 0a 20 20 20 20 20 20 ="tok-number">1</span>]);.......
40e20 20 20 7d 2c 0a 20 20 20 20 7d 0a 7d 3c 2f 63 6f 64 65 3e 3c 2f 70 72 65 3e 3c 2f 66 69 67 75 72 ..},.....}.}</code></pre></figur
40e40 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
40e60 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><
40e80 73 61 6d 70 3e 24 20 3c 6b 62 64 3e 7a 69 67 20 74 65 73 74 20 74 65 73 74 5f 70 61 63 6b 65 64 samp>$.<kbd>zig.test.test_packed
40ea0 5f 73 74 72 75 63 74 73 2e 7a 69 67 3c 2f 6b 62 64 3e 0a 31 2f 31 20 74 65 73 74 5f 70 61 63 6b _structs.zig</kbd>.1/1.test_pack
40ec0 65 64 5f 73 74 72 75 63 74 73 2e 74 65 73 74 2e 40 62 69 74 43 61 73 74 20 62 65 74 77 65 65 6e ed_structs.test.@bitCast.between
40ee0 20 70 61 63 6b 65 64 20 73 74 72 75 63 74 73 2e 2e 2e 4f 4b 0a 41 6c 6c 20 31 20 74 65 73 74 73 .packed.structs...OK.All.1.tests
40f00 20 70 61 73 73 65 64 2e 0a 3c 2f 73 61 6d 70 3e 3c 2f 70 72 65 3e 3c 2f 66 69 67 75 72 65 3e 0a .passed..</samp></pre></figure>.
40f20 20 20 20 20 20 20 3c 70 3e 0a 20 20 20 20 20 20 54 68 65 20 62 61 63 6b 69 6e 67 20 69 6e 74 65 ......<p>.......The.backing.inte
40f40 67 65 72 20 63 61 6e 20 62 65 20 69 6e 66 65 72 72 65 64 20 6f 72 20 65 78 70 6c 69 63 69 74 6c ger.can.be.inferred.or.explicitl
40f60 79 20 70 72 6f 76 69 64 65 64 2e 20 57 68 65 6e 0a 20 20 20 20 20 20 69 6e 66 65 72 72 65 64 2c y.provided..When.......inferred,
40f80 20 69 74 20 77 69 6c 6c 20 62 65 20 75 6e 73 69 67 6e 65 64 2e 20 57 68 65 6e 20 65 78 70 6c 69 .it.will.be.unsigned..When.expli
40fa0 63 69 74 6c 79 20 70 72 6f 76 69 64 65 64 2c 20 69 74 73 20 62 69 74 20 77 69 64 74 68 0a 20 20 citly.provided,.its.bit.width...
40fc0 20 20 20 20 77 69 6c 6c 20 62 65 20 65 6e 66 6f 72 63 65 64 20 61 74 20 63 6f 6d 70 69 6c 65 20 ....will.be.enforced.at.compile.
40fe0 74 69 6d 65 20 74 6f 20 65 78 61 63 74 6c 79 20 6d 61 74 63 68 20 74 68 65 20 74 6f 74 61 6c 20 time.to.exactly.match.the.total.
41000 62 69 74 20 77 69 64 74 68 20 6f 66 0a 20 20 20 20 20 20 74 68 65 20 66 69 65 6c 64 73 3a 0a 20 bit.width.of.......the.fields:..
41020 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
41040 69 6f 6e 20 63 6c 61 73 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=
41060 22 66 69 6c 65 22 3e 74 65 73 74 5f 6d 69 73 73 69 7a 65 64 5f 70 61 63 6b 65 64 5f 73 74 72 75 "file">test_missized_packed_stru
41080 63 74 2e 7a 69 67 3c 2f 63 69 74 65 3e 3c 2f 66 69 67 63 61 70 74 69 6f 6e 3e 3c 70 72 65 3e 3c ct.zig</cite></figcaption><pre><
410a0 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 74 65 73 74 3c 2f code><span.class="tok-kw">test</
410c0 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
410e0 74 3b 6d 69 73 73 69 7a 65 64 20 70 61 63 6b 65 64 20 73 74 72 75 63 74 26 71 75 6f 74 3b 3c 2f t;missized.packed.struct&quot;</
41100 73 70 61 6e 3e 20 7b 0a 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 span>.{.....<span.class="tok-kw"
41120 3e 63 6f 6e 73 74 3c 2f 73 70 61 6e 3e 20 53 20 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 >const</span>.S.=.<span.class="t
41140 6f 6b 2d 6b 77 22 3e 70 61 63 6b 65 64 3c 2f 73 70 61 6e 3e 20 3c 73 70 61 6e 20 63 6c 61 73 73 ok-kw">packed</span>.<span.class
41160 3d 22 74 6f 6b 2d 6b 77 22 3e 73 74 72 75 63 74 3c 2f 73 70 61 6e 3e 28 3c 73 70 61 6e 20 63 6c ="tok-kw">struct</span>(<span.cl
41180 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 7b 20 61 3a 20 ass="tok-type">u32</span>).{.a:.
411a0 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
411c0 3e 2c 20 62 3a 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 75 38 3c >,.b:.<span.class="tok-type">u8<
411e0 2f 73 70 61 6e 3e 20 7d 3b 0a 20 20 20 20 5f 20 3d 20 53 7b 20 2e 61 20 3d 20 3c 73 70 61 6e 20 /span>.};....._.=.S{..a.=.<span.
41200 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 2e 62 20 class="tok-number">4</span>,..b.
41220 3d 20 3c 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
41240 61 6e 3e 20 7d 3b 0a 7d 3c 2f 63 6f 64 65 3e 3c 2f 70 72 65 3e 3c 2f 66 69 67 75 72 65 3e 3c 66 an>.};.}</code></pre></figure><f
41260 69 67 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
41280 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
412a0 3e 24 20 3c 6b 62 64 3e 7a 69 67 20 74 65 73 74 20 74 65 73 74 5f 6d 69 73 73 69 7a 65 64 5f 70 >$.<kbd>zig.test.test_missized_p
412c0 61 63 6b 65 64 5f 73 74 72 75 63 74 2e 7a 69 67 3c 2f 6b 62 64 3e 0a 3c 73 70 61 6e 20 63 6c 61 acked_struct.zig</kbd>.<span.cla
412e0 73 73 3d 22 73 67 72 2d 31 6d 22 3e 2f 68 6f 6d 65 2f 63 69 2f 77 6f 72 6b 2f 7a 69 67 2d 62 6f ss="sgr-1m">/home/ci/work/zig-bo
41300 6f 74 73 74 72 61 70 2f 7a 69 67 2f 64 6f 63 2f 6c 61 6e 67 72 65 66 2f 74 65 73 74 5f 6d 69 73 otstrap/zig/doc/langref/test_mis
41320 73 69 7a 65 64 5f 70 61 63 6b 65 64 5f 73 74 72 75 63 74 2e 7a 69 67 3a 32 3a 32 32 3a 20 3c 2f sized_packed_struct.zig:2:22:.</
41340 73 70 61 6e 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 73 67 72 2d 33 31 6d 22 3e 65 72 72 6f 72 span><span.class="sgr-31m">error
41360 3a 20 3c 2f 73 70 61 6e 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 73 67 72 2d 31 6d 22 3e 62 61 :.</span><span.class="sgr-1m">ba
41380 63 6b 69 6e 67 20 69 6e 74 65 67 65 72 20 62 69 74 20 77 69 64 74 68 20 64 6f 65 73 20 6e 6f 74 cking.integer.bit.width.does.not
413a0 20 6d 61 74 63 68 20 74 6f 74 61 6c 20 62 69 74 20 77 69 64 74 68 20 6f 66 20 66 69 65 6c 64 73 .match.total.bit.width.of.fields
413c0 0a 3c 2f 73 70 61 6e 3e 20 20 20 20 63 6f 6e 73 74 20 53 20 3d 20 70 61 63 6b 65 64 20 73 74 72 .</span>....const.S.=.packed.str
413e0 75 63 74 28 75 33 32 29 20 7b 20 61 3a 20 75 31 36 2c 20 62 3a 20 75 38 20 7d 3b 0a 20 20 20 20 uct(u32).{.a:.u16,.b:.u8.};.....
41400 20 20 20 20 20 20 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 73 67 72 2d 33 32 6d 22 3e ..........<span.class="sgr-32m">
41420 7e 7e 7e 7e 7e 7e 7e 5e 7e 7e 7e 7e 7e 7e 7e 7e 7e 7e 7e 7e 7e 7e 7e 7e 7e 7e 7e 7e 7e 7e 7e 7e ~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~
41440 7e 7e 7e 7e 0a 3c 2f 73 70 61 6e 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 73 67 72 2d 31 6d 22 ~~~~.</span><span.class="sgr-1m"
41460 3e 2f 68 6f 6d 65 2f 63 69 2f 77 6f 72 6b 2f 7a 69 67 2d 62 6f 6f 74 73 74 72 61 70 2f 7a 69 67 >/home/ci/work/zig-bootstrap/zig
41480 2f 64 6f 63 2f 6c 61 6e 67 72 65 66 2f 74 65 73 74 5f 6d 69 73 73 69 7a 65 64 5f 70 61 63 6b 65 /doc/langref/test_missized_packe
414a0 64 5f 73 74 72 75 63 74 2e 7a 69 67 3a 32 3a 32 39 3a 20 3c 2f 73 70 61 6e 3e 3c 73 70 61 6e 20 d_struct.zig:2:29:.</span><span.
414c0 63 6c 61 73 73 3d 22 73 67 72 2d 33 36 6d 22 3e 6e 6f 74 65 3a 20 3c 2f 73 70 61 6e 3e 3c 73 70 class="sgr-36m">note:.</span><sp
414e0 61 6e 20 63 6c 61 73 73 3d 22 73 67 72 2d 31 6d 22 3e 62 61 63 6b 69 6e 67 20 69 6e 74 65 67 65 an.class="sgr-1m">backing.intege
41500 72 20 27 75 33 32 27 20 68 61 73 20 62 69 74 20 77 69 64 74 68 20 27 33 32 27 0a 3c 2f 73 70 61 r.'u32'.has.bit.width.'32'.</spa
41520 6e 3e 20 20 20 20 63 6f 6e 73 74 20 53 20 3d 20 70 61 63 6b 65 64 20 73 74 72 75 63 74 28 75 33 n>....const.S.=.packed.struct(u3
41540 32 29 20 7b 20 61 3a 20 75 31 36 2c 20 62 3a 20 75 38 20 7d 3b 0a 20 20 20 20 20 20 20 20 20 20 2).{.a:.u16,.b:.u8.};...........
41560 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 73 ..................<span.class="s
41580 67 72 2d 33 32 6d 22 3e 5e 7e 7e 0a 3c 2f 73 70 61 6e 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 gr-32m">^~~.</span><span.class="
415a0 73 67 72 2d 31 6d 22 3e 2f 68 6f 6d 65 2f 63 69 2f 77 6f 72 6b 2f 7a 69 67 2d 62 6f 6f 74 73 74 sgr-1m">/home/ci/work/zig-bootst
415c0 72 61 70 2f 7a 69 67 2f 64 6f 63 2f 6c 61 6e 67 72 65 66 2f 74 65 73 74 5f 6d 69 73 73 69 7a 65 rap/zig/doc/langref/test_missize
415e0 64 5f 70 61 63 6b 65 64 5f 73 74 72 75 63 74 2e 7a 69 67 3a 32 3a 32 32 3a 20 3c 2f 73 70 61 6e d_packed_struct.zig:2:22:.</span
41600 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 73 67 72 2d 33 36 6d 22 3e 6e 6f 74 65 3a 20 3c 2f 73 ><span.class="sgr-36m">note:.</s
41620 70 61 6e 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 73 67 72 2d 31 6d 22 3e 73 74 72 75 63 74 20 pan><span.class="sgr-1m">struct.
41640 66 69 65 6c 64 73 20 68 61 76 65 20 74 6f 74 61 6c 20 62 69 74 20 77 69 64 74 68 20 27 32 34 27 fields.have.total.bit.width.'24'
41660 0a 3c 2f 73 70 61 6e 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 73 67 72 2d 32 6d 22 3e 72 65 66 .</span><span.class="sgr-2m">ref
41680 65 72 65 6e 63 65 64 20 62 79 3a 0a 20 20 20 20 74 65 73 74 2e 6d 69 73 73 69 7a 65 64 20 70 61 erenced.by:.....test.missized.pa
416a0 63 6b 65 64 20 73 74 72 75 63 74 3a 20 2f 68 6f 6d 65 2f 63 69 2f 77 6f 72 6b 2f 7a 69 67 2d 62 cked.struct:./home/ci/work/zig-b
416c0 6f 6f 74 73 74 72 61 70 2f 7a 69 67 2f 64 6f 63 2f 6c 61 6e 67 72 65 66 2f 74 65 73 74 5f 6d 69 ootstrap/zig/doc/langref/test_mi
416e0 73 73 69 7a 65 64 5f 70 61 63 6b 65 64 5f 73 74 72 75 63 74 2e 7a 69 67 3a 33 3a 31 37 0a 3c 2f ssized_packed_struct.zig:3:17.</
41700 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 0a 20 20 span>.</samp></pre></figure>....
41720 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 74 68 65 20 61 64 64 ....<p>.......Zig.allows.the.add
41740 72 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 ress.to.be.taken.of.a.non-byte-a
41760 6c 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 ligned.field:.......</p>.......<
41780 66 69 67 75 72 65 3e 3c 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
417a0 70 22 3e 3c 63 69 74 65 20 63 6c 61 73 73 3d 22 66 69 6c 65 22 3e 74 65 73 74 5f 70 6f 69 6e 74 p"><cite.class="file">test_point
417c0 65 72 5f 74 6f 5f 6e 6f 6e 2d 62 79 74 65 5f 61 6c 69 67 6e 65 64 5f 66 69 65 6c 64 2e 7a 69 67 er_to_non-byte_aligned_field.zig
417e0 3c 2f 63 69 74 65 3e 3c 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><
41800 73 70 61 6e 20 63 6c 61 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>
41820 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"
41840 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
41860 2d 73 74 72 22 3e 26 71 75 6f 74 3b 73 74 64 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 29 3b 0a 3c -str">&quot;std&quot;</span>);.<
41880 73 70 61 6e 20 63 6c 61 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>
418a0 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 65 63 .expectEqual.=.std.testing.expec
418c0 74 45 71 75 61 6c 3b 0a 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 63 6f tEqual;..<span.class="tok-kw">co
418e0 6e 73 74 3c 2f 73 70 61 6e 3e 20 42 69 74 46 69 65 6c 64 20 3d 20 3c 73 70 61 6e 20 63 6c 61 73 nst</span>.BitField.=.<span.clas
41900 73 3d 22 74 6f 6b 2d 6b 77 22 3e 70 61 63 6b 65 64 3c 2f 73 70 61 6e 3e 20 3c 73 70 61 6e 20 63 s="tok-kw">packed</span>.<span.c
41920 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 73 74 72 75 63 74 3c 2f 73 70 61 6e 3e 20 7b 0a 20 20 lass="tok-kw">struct</span>.{...
41940 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 3c 2f ..a:.<span.class="tok-type">u3</
41960 73 70 61 6e 3e 2c 0a 20 20 20 20 62 3a 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 span>,.....b:.<span.class="tok-t
41980 79 70 65 22 3e 75 33 3c 2f 73 70 61 6e 3e 2c 0a 20 20 20 20 63 3a 20 3c 73 70 61 6e 20 63 6c 61 ype">u3</span>,.....c:.<span.cla
419a0 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 75 32 3c 2f 73 70 61 6e 3e 2c 0a 7d 3b 0a 0a 3c 73 70 ss="tok-type">u2</span>,.};..<sp
419c0 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 76 61 72 3c 2f 73 70 61 6e 3e 20 66 6f 6f an.class="tok-kw">var</span>.foo
419e0 20 3d 20 42 69 74 46 69 65 6c 64 7b 0a 20 20 20 20 2e 61 20 3d 20 3c 73 70 61 6e 20 63 6c 61 73 .=.BitField{......a.=.<span.clas
41a00 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 31 3c 2f 73 70 61 6e 3e 2c 0a 20 20 20 20 2e 62 20 s="tok-number">1</span>,......b.
41a20 3d 20 3c 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
41a40 61 6e 3e 2c 0a 20 20 20 20 2e 63 20 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e an>,......c.=.<span.class="tok-n
41a60 75 6d 62 65 72 22 3e 33 3c 2f 73 70 61 6e 3e 2c 0a 7d 3b 0a 0a 3c 73 70 61 6e 20 63 6c 61 73 73 umber">3</span>,.};..<span.class
41a80 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
41aa0 73 3d 22 74 6f 6b 2d 73 74 72 22 3e 26 71 75 6f 74 3b 70 6f 69 6e 74 65 72 20 74 6f 20 6e 6f 6e s="tok-str">&quot;pointer.to.non
41ac0 2d 62 79 74 65 2d 61 6c 69 67 6e 65 64 20 66 69 65 6c 64 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e -byte-aligned.field&quot;</span>
41ae0 20 7b 0a 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 63 6f 6e 73 .{.....<span.class="tok-kw">cons
41b00 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 0a 20 20 20 20 3c t</span>.ptr.=.&amp;foo.b;.....<
41b20 73 70 61 6e 20 63 6c 61 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
41b40 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
41b60 65 72 22 3e 32 3c 2f 73 70 61 6e 3e 2c 20 70 74 72 2e 2a 29 3b 0a 7d 3c 2f 63 6f 64 65 3e 3c 2f er">2</span>,.ptr.*);.}</code></
41b80 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
41ba0 20 63 6c 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
41bc0 74 69 6f 6e 3e 3c 70 72 65 3e 3c 73 61 6d 70 3e 24 20 3c 6b 62 64 3e 7a 69 67 20 74 65 73 74 20 tion><pre><samp>$.<kbd>zig.test.
41be0 74 65 73 74 5f 70 6f 69 6e 74 65 72 5f 74 6f 5f 6e 6f 6e 2d 62 79 74 65 5f 61 6c 69 67 6e 65 64 test_pointer_to_non-byte_aligned
41c00 5f 66 69 65 6c 64 2e 7a 69 67 3c 2f 6b 62 64 3e 0a 31 2f 31 20 74 65 73 74 5f 70 6f 69 6e 74 65 _field.zig</kbd>.1/1.test_pointe
41c20 72 5f 74 6f 5f 6e 6f 6e 2d 62 79 74 65 5f 61 6c 69 67 6e 65 64 5f 66 69 65 6c 64 2e 74 65 73 74 r_to_non-byte_aligned_field.test
41c40 2e 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 69 65 .pointer.to.non-byte-aligned.fie
41c60 6c 64 2e 2e 2e 4f 4b 0a 41 6c 6c 20 31 20 74 65 73 74 73 20 70 61 73 73 65 64 2e 0a 3c 2f 73 61 ld...OK.All.1.tests.passed..</sa
41c80 6d 70 3e 3c 2f 70 72 65 3e 3c 2f 66 69 67 75 72 65 3e 0a 0a 20 20 20 20 20 20 3c 70 3e 0a 20 20 mp></pre></figure>........<p>...
41ca0 20 20 20 20 48 6f 77 65 76 65 72 2c 20 74 68 65 20 70 6f 69 6e 74 65 72 20 74 6f 20 61 20 6e 6f ....However,.the.pointer.to.a.no
41cc0 6e 2d 62 79 74 65 2d 61 6c 69 67 6e 65 64 20 66 69 65 6c 64 20 68 61 73 20 73 70 65 63 69 61 6c n-byte-aligned.field.has.special
41ce0 20 70 72 6f 70 65 72 74 69 65 73 20 61 6e 64 20 63 61 6e 6e 6f 74 0a 20 20 20 20 20 20 62 65 20 .properties.and.cannot.......be.
41d00 70 61 73 73 65 64 20 77 68 65 6e 20 61 20 6e 6f 72 6d 61 6c 20 70 6f 69 6e 74 65 72 20 69 73 20 passed.when.a.normal.pointer.is.
41d20 65 78 70 65 63 74 65 64 3a 0a 20 20 20 20 20 20 3c 2f 70 3e 0a 20 20 20 20 20 20 3c 66 69 67 75 expected:.......</p>.......<figu
41d40 72 65 3e 3c 66 69 67 63 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"><
41d60 63 69 74 65 20 63 6c 61 73 73 3d 22 66 69 6c 65 22 3e 74 65 73 74 5f 6d 69 73 61 6c 69 67 6e 65 cite.class="file">test_misaligne
41d80 64 5f 70 6f 69 6e 74 65 72 2e 7a 69 67 3c 2f 63 69 74 65 3e 3c 2f 66 69 67 63 61 70 74 69 6f 6e d_pointer.zig</cite></figcaption
41da0 3e 3c 70 72 65 3e 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 ><pre><code><span.class="tok-kw"
41dc0 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=
41de0 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
41e00 61 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
41e20 74 3b 3c 2f 73 70 61 6e 3e 29 3b 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 t;</span>);.<span.class="tok-kw"
41e40 3e 63 6f 6e 73 74 3c 2f 73 70 61 6e 3e 20 65 78 70 65 63 74 45 71 75 61 6c 20 3d 20 73 74 64 2e >const</span>.expectEqual.=.std.
41e60 74 65 73 74 69 6e 67 2e 65 78 70 65 63 74 45 71 75 61 6c 3b 0a 0a 3c 73 70 61 6e 20 63 6c 61 73 testing.expectEqual;..<span.clas
41e80 73 3d 22 74 6f 6b 2d 6b 77 22 3e 63 6f 6e 73 74 3c 2f 73 70 61 6e 3e 20 42 69 74 46 69 65 6c 64 s="tok-kw">const</span>.BitField
41ea0 20 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 70 61 63 6b 65 64 3c 2f .=.<span.class="tok-kw">packed</
41ec0 73 70 61 6e 3e 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 73 74 72 75 63 span>.<span.class="tok-kw">struc
41ee0 74 3c 2f 73 70 61 6e 3e 20 7b 0a 20 20 20 20 61 3a 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 t</span>.{.....a:.<span.class="t
41f00 6f 6b 2d 74 79 70 65 22 3e 75 33 3c 2f 73 70 61 6e 3e 2c 0a 20 20 20 20 62 3a 20 3c 73 70 61 6e ok-type">u3</span>,.....b:.<span
41f20 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 0a 20 20 20 .class="tok-type">u3</span>,....
41f40 20 63 3a 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 75 32 3c 2f 73 .c:.<span.class="tok-type">u2</s
41f60 70 61 6e 3e 2c 0a 7d 3b 0a 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 76 pan>,.};..<span.class="tok-kw">v
41f80 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 0a ar</span>.bit_field.=.BitField{.
41fa0 20 20 20 20 2e 61 20 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 .....a.=.<span.class="tok-number
41fc0 22 3e 31 3c 2f 73 70 61 6e 3e 2c 0a 20 20 20 20 2e 62 20 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 ">1</span>,......b.=.<span.class
41fe0 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 32 3c 2f 73 70 61 6e 3e 2c 0a 20 20 20 20 2e 63 20 3d ="tok-number">2</span>,......c.=
42000 20 3c 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
42020 6e 3e 2c 0a 7d 3b 0a 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 74 65 73 n>,.};..<span.class="tok-kw">tes
42040 74 3c 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">&
42060 71 75 6f 74 3b 70 6f 69 6e 74 65 72 20 74 6f 20 6e 6f 6e 2d 62 79 74 65 2d 61 6c 69 67 6e 65 64 quot;pointer.to.non-byte-aligned
42080 20 66 69 65 6c 64 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 20 7b 0a 20 20 20 20 3c 73 70 61 6e 20 .field&quot;</span>.{.....<span.
420a0 63 6c 61 73 73 3d 22 74 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
420c0 45 71 75 61 6c 28 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 32 Equal(<span.class="tok-number">2
420e0 3c 2f 73 70 61 6e 3e 2c 20 62 61 72 28 26 61 6d 70 3b 62 69 74 5f 66 69 65 6c 64 2e 62 29 29 3b </span>,.bar(&amp;bit_field.b));
42100 0a 7d 0a 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 66 6e 3c 2f 73 70 61 .}..<span.class="tok-kw">fn</spa
42120 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 61 n>.<span.class="tok-fn">bar</spa
42140 6e 3e 28 78 3a 20 2a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 63 6f 6e 73 n>(x:.*<span.class="tok-kw">cons
42160 74 3c 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">
42180 75 33 3c 2f 73 70 61 6e 3e 29 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 u3</span>).<span.class="tok-type
421a0 22 3e 75 33 3c 2f 73 70 61 6e 3e 20 7b 0a 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 ">u3</span>.{.....<span.class="t
421c0 6f 6b 2d 6b 77 22 3e 72 65 74 75 72 6e 3c 2f 73 70 61 6e 3e 20 78 2e 2a 3b 0a 7d 3c 2f 63 6f 64 ok-kw">return</span>.x.*;.}</cod
421e0 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
42200 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
42220 67 63 61 70 74 69 6f 6e 3e 3c 70 72 65 3e 3c 73 61 6d 70 3e 24 20 3c 6b 62 64 3e 7a 69 67 20 74 gcaption><pre><samp>$.<kbd>zig.t
42240 65 73 74 20 74 65 73 74 5f 6d 69 73 61 6c 69 67 6e 65 64 5f 70 6f 69 6e 74 65 72 2e 7a 69 67 3c est.test_misaligned_pointer.zig<
42260 2f 6b 62 64 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 73 67 72 2d 31 6d 22 3e 2f 68 6f 6d 65 /kbd>.<span.class="sgr-1m">/home
42280 2f 63 69 2f 77 6f 72 6b 2f 7a 69 67 2d 62 6f 6f 74 73 74 72 61 70 2f 7a 69 67 2f 64 6f 63 2f 6c /ci/work/zig-bootstrap/zig/doc/l
422a0 61 6e 67 72 65 66 2f 74 65 73 74 5f 6d 69 73 61 6c 69 67 6e 65 64 5f 70 6f 69 6e 74 65 72 2e 7a angref/test_misaligned_pointer.z
422c0 69 67 3a 31 37 3a 32 38 3a 20 3c 2f 73 70 61 6e 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 73 67 ig:17:28:.</span><span.class="sg
422e0 72 2d 33 31 6d 22 3e 65 72 72 6f 72 3a 20 3c 2f 73 70 61 6e 3e 3c 73 70 61 6e 20 63 6c 61 73 73 r-31m">error:.</span><span.class
42300 3d 22 73 67 72 2d 31 6d 22 3e 65 78 70 65 63 74 65 64 20 74 79 70 65 20 27 2a 63 6f 6e 73 74 20 ="sgr-1m">expected.type.'*const.
42320 75 33 27 2c 20 66 6f 75 6e 64 20 27 2a 61 6c 69 67 6e 28 31 3a 33 3a 31 29 20 75 33 27 0a 3c 2f u3',.found.'*align(1:3:1).u3'.</
42340 73 70 61 6e 3e 20 20 20 20 74 72 79 20 65 78 70 65 63 74 45 71 75 61 6c 28 32 2c 20 62 61 72 28 span>....try.expectEqual(2,.bar(
42360 26 61 6d 70 3b 62 69 74 5f 66 69 65 6c 64 2e 62 29 29 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 &amp;bit_field.b));.............
42380 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 73 67 72 2d ...............<span.class="sgr-
423a0 33 32 6d 22 3e 5e 7e 7e 7e 7e 7e 7e 7e 7e 7e 7e 7e 0a 3c 2f 73 70 61 6e 3e 3c 73 70 61 6e 20 63 32m">^~~~~~~~~~~~.</span><span.c
423c0 6c 61 73 73 3d 22 73 67 72 2d 31 6d 22 3e 2f 68 6f 6d 65 2f 63 69 2f 77 6f 72 6b 2f 7a 69 67 2d lass="sgr-1m">/home/ci/work/zig-
423e0 62 6f 6f 74 73 74 72 61 70 2f 7a 69 67 2f 64 6f 63 2f 6c 61 6e 67 72 65 66 2f 74 65 73 74 5f 6d bootstrap/zig/doc/langref/test_m
42400 69 73 61 6c 69 67 6e 65 64 5f 70 6f 69 6e 74 65 72 2e 7a 69 67 3a 31 37 3a 32 38 3a 20 3c 2f 73 isaligned_pointer.zig:17:28:.</s
42420 70 61 6e 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 73 67 72 2d 33 36 6d 22 3e 6e 6f 74 65 3a 20 pan><span.class="sgr-36m">note:.
42440 3c 2f 73 70 61 6e 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 73 67 72 2d 31 6d 22 3e 70 6f 69 6e </span><span.class="sgr-1m">poin
42460 74 65 72 20 68 6f 73 74 20 73 69 7a 65 20 27 31 27 20 63 61 6e 6e 6f 74 20 63 61 73 74 20 69 6e ter.host.size.'1'.cannot.cast.in
42480 74 6f 20 70 6f 69 6e 74 65 72 20 68 6f 73 74 20 73 69 7a 65 20 27 30 27 0a 3c 2f 73 70 61 6e 3e to.pointer.host.size.'0'.</span>
424a0 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 73 67 72 2d 31 6d 22 3e 2f 68 6f 6d 65 2f 63 69 2f 77 6f <span.class="sgr-1m">/home/ci/wo
424c0 72 6b 2f 7a 69 67 2d 62 6f 6f 74 73 74 72 61 70 2f 7a 69 67 2f 64 6f 63 2f 6c 61 6e 67 72 65 66 rk/zig-bootstrap/zig/doc/langref
424e0 2f 74 65 73 74 5f 6d 69 73 61 6c 69 67 6e 65 64 5f 70 6f 69 6e 74 65 72 2e 7a 69 67 3a 31 37 3a /test_misaligned_pointer.zig:17:
42500 32 38 3a 20 3c 2f 73 70 61 6e 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 73 67 72 2d 33 36 6d 22 28:.</span><span.class="sgr-36m"
42520 3e 6e 6f 74 65 3a 20 3c 2f 73 70 61 6e 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 73 67 72 2d 31 >note:.</span><span.class="sgr-1
42540 6d 22 3e 70 6f 69 6e 74 65 72 20 62 69 74 20 6f 66 66 73 65 74 20 27 33 27 20 63 61 6e 6e 6f 74 m">pointer.bit.offset.'3'.cannot
42560 20 63 61 73 74 20 69 6e 74 6f 20 70 6f 69 6e 74 65 72 20 62 69 74 20 6f 66 66 73 65 74 20 27 30 .cast.into.pointer.bit.offset.'0
42580 27 0a 3c 2f 73 70 61 6e 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 73 67 72 2d 31 6d 22 3e 2f 68 '.</span><span.class="sgr-1m">/h
425a0 6f 6d 65 2f 63 69 2f 77 6f 72 6b 2f 7a 69 67 2d 62 6f 6f 74 73 74 72 61 70 2f 7a 69 67 2f 64 6f ome/ci/work/zig-bootstrap/zig/do
425c0 63 2f 6c 61 6e 67 72 65 66 2f 74 65 73 74 5f 6d 69 73 61 6c 69 67 6e 65 64 5f 70 6f 69 6e 74 65 c/langref/test_misaligned_pointe
425e0 72 2e 7a 69 67 3a 32 30 3a 31 31 3a 20 3c 2f 73 70 61 6e 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d r.zig:20:11:.</span><span.class=
42600 22 73 67 72 2d 33 36 6d 22 3e 6e 6f 74 65 3a 20 3c 2f 73 70 61 6e 3e 3c 73 70 61 6e 20 63 6c 61 "sgr-36m">note:.</span><span.cla
42620 73 73 3d 22 73 67 72 2d 31 6d 22 3e 70 61 72 61 6d 65 74 65 72 20 74 79 70 65 20 64 65 63 6c 61 ss="sgr-1m">parameter.type.decla
42640 72 65 64 20 68 65 72 65 0a 3c 2f 73 70 61 6e 3e 66 6e 20 62 61 72 28 78 3a 20 2a 63 6f 6e 73 74 red.here.</span>fn.bar(x:.*const
42660 20 75 33 29 20 75 33 20 7b 0a 20 20 20 20 20 20 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d .u3).u3.{...........<span.class=
42680 22 73 67 72 2d 33 32 6d 22 3e 5e 7e 7e 7e 7e 7e 7e 7e 7e 0a 3c 2f 73 70 61 6e 3e 0a 3c 2f 73 61 "sgr-32m">^~~~~~~~~.</span>.</sa
426a0 6d 70 3e 3c 2f 70 72 65 3e 3c 2f 66 69 67 75 72 65 3e 0a 0a 20 20 20 20 20 20 3c 70 3e 0a 20 20 mp></pre></figure>........<p>...
426c0 20 20 20 20 49 6e 20 74 68 69 73 20 63 61 73 65 2c 20 74 68 65 20 66 75 6e 63 74 69 6f 6e 20 3c ....In.this.case,.the.function.<
426e0 63 6f 64 65 3e 62 61 72 3c 2f 63 6f 64 65 3e 20 63 61 6e 6e 6f 74 20 62 65 20 63 61 6c 6c 65 64 code>bar</code>.cannot.be.called
42700 20 62 65 63 61 75 73 65 20 74 68 65 20 70 6f 69 6e 74 65 72 0a 20 20 20 20 20 20 74 6f 20 74 68 .because.the.pointer.......to.th
42720 65 20 6e 6f 6e 2d 41 42 49 2d 61 6c 69 67 6e 65 64 20 66 69 65 6c 64 20 6d 65 6e 74 69 6f 6e 73 e.non-ABI-aligned.field.mentions
42740 20 74 68 65 20 62 69 74 20 6f 66 66 73 65 74 2c 20 62 75 74 20 74 68 65 20 66 75 6e 63 74 69 6f .the.bit.offset,.but.the.functio
42760 6e 20 65 78 70 65 63 74 73 20 61 6e 20 41 42 49 2d 61 6c 69 67 6e 65 64 20 70 6f 69 6e 74 65 72 n.expects.an.ABI-aligned.pointer
42780 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 50 6f 69 ........</p>.......<p>.......Poi
427a0 6e 74 65 72 73 20 74 6f 20 6e 6f 6e 2d 41 42 49 2d 61 6c 69 67 6e 65 64 20 66 69 65 6c 64 73 20 nters.to.non-ABI-aligned.fields.
427c0 73 68 61 72 65 20 74 68 65 20 73 61 6d 65 20 61 64 64 72 65 73 73 20 61 73 20 74 68 65 20 6f 74 share.the.same.address.as.the.ot
427e0 68 65 72 20 66 69 65 6c 64 73 20 77 69 74 68 69 6e 20 74 68 65 69 72 20 68 6f 73 74 20 69 6e 74 her.fields.within.their.host.int
42800 65 67 65 72 3a 0a 20 20 20 20 20 20 3c 2f 70 3e 0a 20 20 20 20 20 20 3c 66 69 67 75 72 65 3e 3c eger:.......</p>.......<figure><
42820 66 69 67 63 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
42840 20 63 6c 61 73 73 3d 22 66 69 6c 65 22 3e 74 65 73 74 5f 70 61 63 6b 65 64 5f 73 74 72 75 63 74 .class="file">test_packed_struct
42860 5f 66 69 65 6c 64 5f 61 64 64 72 65 73 73 2e 7a 69 67 3c 2f 63 69 74 65 3e 3c 2f 66 69 67 63 61 _field_address.zig</cite></figca
42880 70 74 69 6f 6e 3e 3c 70 72 65 3e 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f ption><pre><code><span.class="to
428a0 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
428c0 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
428e0 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
42900 64 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 29 3b 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f d&quot;</span>);.<span.class="to
42920 6b 2d 6b 77 22 3e 63 6f 6e 73 74 3c 2f 73 70 61 6e 3e 20 65 78 70 65 63 74 45 71 75 61 6c 20 3d k-kw">const</span>.expectEqual.=
42940 20 73 74 64 2e 74 65 73 74 69 6e 67 2e 65 78 70 65 63 74 45 71 75 61 6c 3b 0a 0a 3c 73 70 61 6e .std.testing.expectEqual;..<span
42960 20 63 6c 61 73 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 .class="tok-kw">const</span>.Bit
42980 46 69 65 6c 64 20 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 70 61 63 Field.=.<span.class="tok-kw">pac
429a0 6b 65 64 3c 2f 73 70 61 6e 3e 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e ked</span>.<span.class="tok-kw">
429c0 73 74 72 75 63 74 3c 2f 73 70 61 6e 3e 20 7b 0a 20 20 20 20 61 3a 20 3c 73 70 61 6e 20 63 6c 61 struct</span>.{.....a:.<span.cla
429e0 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 75 33 3c 2f 73 70 61 6e 3e 2c 0a 20 20 20 20 62 3a 20 ss="tok-type">u3</span>,.....b:.
42a00 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 75 33 3c 2f 73 70 61 6e 3e <span.class="tok-type">u3</span>
42a20 2c 0a 20 20 20 20 63 3a 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e ,.....c:.<span.class="tok-type">
42a40 75 32 3c 2f 73 70 61 6e 3e 2c 0a 7d 3b 0a 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d u2</span>,.};..<span.class="tok-
42a60 6b 77 22 3e 76 61 72 3c 2f 73 70 61 6e 3e 20 62 69 74 5f 66 69 65 6c 64 20 3d 20 42 69 74 46 69 kw">var</span>.bit_field.=.BitFi
42a80 65 6c 64 7b 0a 20 20 20 20 2e 61 20 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e eld{......a.=.<span.class="tok-n
42aa0 75 6d 62 65 72 22 3e 31 3c 2f 73 70 61 6e 3e 2c 0a 20 20 20 20 2e 62 20 3d 20 3c 73 70 61 6e 20 umber">1</span>,......b.=.<span.
42ac0 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 32 3c 2f 73 70 61 6e 3e 2c 0a 20 20 20 class="tok-number">2</span>,....
42ae0 20 2e 63 20 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 33 ..c.=.<span.class="tok-number">3
42b00 3c 2f 73 70 61 6e 3e 2c 0a 7d 3b 0a 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 </span>,.};..<span.class="tok-kw
42b20 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
42b40 74 72 22 3e 26 71 75 6f 74 3b 70 6f 69 6e 74 65 72 73 20 6f 66 20 73 75 62 2d 62 79 74 65 2d 61 tr">&quot;pointers.of.sub-byte-a
42b60 6c 69 67 6e 65 64 20 66 69 65 6c 64 73 20 73 68 61 72 65 20 61 64 64 72 65 73 73 65 73 26 71 75 ligned.fields.share.addresses&qu
42b80 6f 74 3b 3c 2f 73 70 61 6e 3e 20 7b 0a 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f ot;</span>.{.....<span.class="to
42ba0 6b 2d 6b 77 22 3e 74 72 79 3c 2f 73 70 61 6e 3e 20 65 78 70 65 63 74 45 71 75 61 6c 28 3c 73 70 k-kw">try</span>.expectEqual(<sp
42bc0 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 62 75 69 6c 74 69 6e 22 3e 40 69 6e 74 46 72 6f 6d 50 an.class="tok-builtin">@intFromP
42be0 74 72 3c 2f 73 70 61 6e 3e 28 26 61 6d 70 3b 62 69 74 5f 66 69 65 6c 64 2e 61 29 2c 20 3c 73 70 tr</span>(&amp;bit_field.a),.<sp
42c00 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 62 75 69 6c 74 69 6e 22 3e 40 69 6e 74 46 72 6f 6d 50 an.class="tok-builtin">@intFromP
42c20 74 72 3c 2f 73 70 61 6e 3e 28 26 61 6d 70 3b 62 69 74 5f 66 69 65 6c 64 2e 62 29 29 3b 0a 20 20 tr</span>(&amp;bit_field.b));...
42c40 20 20 3c 73 70 61 6e 20 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
42c60 3e 20 65 78 70 65 63 74 45 71 75 61 6c 28 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 62 >.expectEqual(<span.class="tok-b
42c80 75 69 6c 74 69 6e 22 3e 40 69 6e 74 46 72 6f 6d 50 74 72 3c 2f 73 70 61 6e 3e 28 26 61 6d 70 3b uiltin">@intFromPtr</span>(&amp;
42ca0 62 69 74 5f 66 69 65 6c 64 2e 61 29 2c 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 62 bit_field.a),.<span.class="tok-b
42cc0 75 69 6c 74 69 6e 22 3e 40 69 6e 74 46 72 6f 6d 50 74 72 3c 2f 73 70 61 6e 3e 28 26 61 6d 70 3b uiltin">@intFromPtr</span>(&amp;
42ce0 62 69 74 5f 66 69 65 6c 64 2e 63 29 29 3b 0a 7d 3c 2f 63 6f 64 65 3e 3c 2f 70 72 65 3e 3c 2f 66 bit_field.c));.}</code></pre></f
42d00 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=
42d20 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
42d40 72 65 3e 3c 73 61 6d 70 3e 24 20 3c 6b 62 64 3e 7a 69 67 20 74 65 73 74 20 74 65 73 74 5f 70 61 re><samp>$.<kbd>zig.test.test_pa
42d60 63 6b 65 64 5f 73 74 72 75 63 74 5f 66 69 65 6c 64 5f 61 64 64 72 65 73 73 2e 7a 69 67 3c 2f 6b cked_struct_field_address.zig</k
42d80 62 64 3e 0a 31 2f 31 20 74 65 73 74 5f 70 61 63 6b 65 64 5f 73 74 72 75 63 74 5f 66 69 65 6c 64 bd>.1/1.test_packed_struct_field
42da0 5f 61 64 64 72 65 73 73 2e 74 65 73 74 2e 70 6f 69 6e 74 65 72 73 20 6f 66 20 73 75 62 2d 62 79 _address.test.pointers.of.sub-by
42dc0 74 65 2d 61 6c 69 67 6e 65 64 20 66 69 65 6c 64 73 20 73 68 61 72 65 20 61 64 64 72 65 73 73 65 te-aligned.fields.share.addresse
42de0 73 2e 2e 2e 4f 4b 0a 41 6c 6c 20 31 20 74 65 73 74 73 20 70 61 73 73 65 64 2e 0a 3c 2f 73 61 6d s...OK.All.1.tests.passed..</sam
42e00 70 3e 3c 2f 70 72 65 3e 3c 2f 66 69 67 75 72 65 3e 0a 0a 20 20 20 20 20 20 3c 70 3e 0a 20 20 20 p></pre></figure>........<p>....
42e20 20 20 20 54 68 69 73 20 63 61 6e 20 62 65 20 6f 62 73 65 72 76 65 64 20 77 69 74 68 20 3c 61 20 ...This.can.be.observed.with.<a.
42e40 68 72 65 66 3d 22 23 62 69 74 4f 66 66 73 65 74 4f 66 22 3e 40 62 69 74 4f 66 66 73 65 74 4f 66 href="#bitOffsetOf">@bitOffsetOf
42e60 3c 2f 61 3e 20 61 6e 64 20 3c 61 20 68 72 65 66 3d 22 23 6f 66 66 73 65 74 4f 66 22 3e 6f 66 66 </a>.and.<a.href="#offsetOf">off
42e80 73 65 74 4f 66 3c 2f 61 3e 3a 0a 20 20 20 20 20 20 3c 2f 70 3e 0a 20 20 20 20 20 20 3c 66 69 67 setOf</a>:.......</p>.......<fig
42ea0 75 72 65 3e 3c 66 69 67 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">
42ec0 3c 63 69 74 65 20 63 6c 61 73 73 3d 22 66 69 6c 65 22 3e 74 65 73 74 5f 62 69 74 4f 66 66 73 65 <cite.class="file">test_bitOffse
42ee0 74 4f 66 5f 6f 66 66 73 65 74 4f 66 2e 7a 69 67 3c 2f 63 69 74 65 3e 3c 2f 66 69 67 63 61 70 74 tOf_offsetOf.zig</cite></figcapt
42f00 69 6f 6e 3e 3c 70 72 65 3e 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d ion><pre><code><span.class="tok-
42f20 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
42f40 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>(
42f60 3c 73 70 61 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&
42f80 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 29 3b 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d quot;</span>);.<span.class="tok-
42fa0 6b 77 22 3e 63 6f 6e 73 74 3c 2f 73 70 61 6e 3e 20 65 78 70 65 63 74 45 71 75 61 6c 20 3d 20 73 kw">const</span>.expectEqual.=.s
42fc0 74 64 2e 74 65 73 74 69 6e 67 2e 65 78 70 65 63 74 45 71 75 61 6c 3b 0a 0a 3c 73 70 61 6e 20 63 td.testing.expectEqual;..<span.c
42fe0 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 63 6f 6e 73 74 3c 2f 73 70 61 6e 3e 20 42 69 74 46 69 lass="tok-kw">const</span>.BitFi
43000 65 6c 64 20 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 70 61 63 6b 65 eld.=.<span.class="tok-kw">packe
43020 64 3c 2f 73 70 61 6e 3e 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 73 74 d</span>.<span.class="tok-kw">st
43040 72 75 63 74 3c 2f 73 70 61 6e 3e 20 7b 0a 20 20 20 20 61 3a 20 3c 73 70 61 6e 20 63 6c 61 73 73 ruct</span>.{.....a:.<span.class
43060 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 75 33 3c 2f 73 70 61 6e 3e 2c 0a 20 20 20 20 62 3a 20 3c 73 ="tok-type">u3</span>,.....b:.<s
43080 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 75 33 3c 2f 73 70 61 6e 3e 2c 0a pan.class="tok-type">u3</span>,.
430a0 20 20 20 20 63 3a 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 75 32 ....c:.<span.class="tok-type">u2
430c0 3c 2f 73 70 61 6e 3e 2c 0a 7d 3b 0a 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 </span>,.};..<span.class="tok-kw
430e0 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
43100 74 72 22 3e 26 71 75 6f 74 3b 6f 66 66 73 65 74 73 20 6f 66 20 6e 6f 6e 2d 62 79 74 65 2d 61 6c tr">&quot;offsets.of.non-byte-al
43120 69 67 6e 65 64 20 66 69 65 6c 64 73 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 20 7b 0a 20 20 20 20 igned.fields&quot;</span>.{.....
43140 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
43160 70 61 6e 3e 20 7b 0a 20 20 20 20 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d pan>.{.........<span.class="tok-
43180 6b 77 22 3e 74 72 79 3c 2f 73 70 61 6e 3e 20 65 78 70 65 63 74 45 71 75 61 6c 28 3c 73 70 61 6e kw">try</span>.expectEqual(<span
431a0 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 73 .class="tok-number">0</span>,.<s
431c0 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 62 75 69 6c 74 69 6e 22 3e 40 62 69 74 4f 66 66 73 pan.class="tok-builtin">@bitOffs
431e0 65 74 4f 66 3c 2f 73 70 61 6e 3e 28 42 69 74 46 69 65 6c 64 2c 20 3c 73 70 61 6e 20 63 6c 61 73 etOf</span>(BitField,.<span.clas
43200 73 3d 22 74 6f 6b 2d 73 74 72 22 3e 26 71 75 6f 74 3b 61 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e s="tok-str">&quot;a&quot;</span>
43220 29 29 3b 0a 20 20 20 20 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 ));.........<span.class="tok-kw"
43240 3e 74 72 79 3c 2f 73 70 61 6e 3e 20 65 78 70 65 63 74 45 71 75 61 6c 28 3c 73 70 61 6e 20 63 6c >try</span>.expectEqual(<span.cl
43260 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 33 3c 2f 73 70 61 6e 3e 2c 20 3c 73 70 61 6e ass="tok-number">3</span>,.<span
43280 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 62 75 69 6c 74 69 6e 22 3e 40 62 69 74 4f 66 66 73 65 74 4f .class="tok-builtin">@bitOffsetO
432a0 66 3c 2f 73 70 61 6e 3e 28 42 69 74 46 69 65 6c 64 2c 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 f</span>(BitField,.<span.class="
432c0 74 6f 6b 2d 73 74 72 22 3e 26 71 75 6f 74 3b 62 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 29 29 3b tok-str">&quot;b&quot;</span>));
432e0 0a 20 20 20 20 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 74 72 .........<span.class="tok-kw">tr
43300 79 3c 2f 73 70 61 6e 3e 20 65 78 70 65 63 74 45 71 75 61 6c 28 3c 73 70 61 6e 20 63 6c 61 73 73 y</span>.expectEqual(<span.class
43320 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 36 3c 2f 73 70 61 6e 3e 2c 20 3c 73 70 61 6e 20 63 6c ="tok-number">6</span>,.<span.cl
43340 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</
43360 73 70 61 6e 3e 28 42 69 74 46 69 65 6c 64 2c 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b span>(BitField,.<span.class="tok
43380 2d 73 74 72 22 3e 26 71 75 6f 74 3b 63 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 29 29 3b 0a 0a 20 -str">&quot;c&quot;</span>));...
433a0 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<
433c0 2f 73 70 61 6e 3e 20 65 78 70 65 63 74 45 71 75 61 6c 28 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 /span>.expectEqual(<span.class="
433e0 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
43400 73 3d 22 74 6f 6b 2d 62 75 69 6c 74 69 6e 22 3e 40 6f 66 66 73 65 74 4f 66 3c 2f 73 70 61 6e 3e s="tok-builtin">@offsetOf</span>
43420 28 42 69 74 46 69 65 6c 64 2c 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 73 74 72 22 (BitField,.<span.class="tok-str"
43440 3e 26 71 75 6f 74 3b 61 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 29 29 3b 0a 20 20 20 20 20 20 20 >&quot;a&quot;</span>));........
43460 20 3c 73 70 61 6e 20 63 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>
43480 20 65 78 70 65 63 74 45 71 75 61 6c 28 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 .expectEqual(<span.class="tok-nu
434a0 6d 62 65 72 22 3e 30 3c 2f 73 70 61 6e 3e 2c 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b mber">0</span>,.<span.class="tok
434c0 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 69 74 46 69 -builtin">@offsetOf</span>(BitFi
434e0 65 6c 64 2c 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 73 74 72 22 3e 26 71 75 6f 74 eld,.<span.class="tok-str">&quot
43500 3b 62 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 29 29 3b 0a 20 20 20 20 20 20 20 20 3c 73 70 61 6e ;b&quot;</span>));.........<span
43520 20 63 6c 61 73 73 3d 22 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
43540 74 45 71 75 61 6c 28 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e tEqual(<span.class="tok-number">
43560 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 62 75 69 6c 74 0</span>,.<span.class="tok-built
43580 69 6e 22 3e 40 6f 66 66 73 65 74 4f 66 3c 2f 73 70 61 6e 3e 28 42 69 74 46 69 65 6c 64 2c 20 3c in">@offsetOf</span>(BitField,.<
435a0 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 73 74 72 22 3e 26 71 75 6f 74 3b 63 26 71 75 6f span.class="tok-str">&quot;c&quo
435c0 74 3b 3c 2f 73 70 61 6e 3e 29 29 3b 0a 20 20 20 20 7d 0a 7d 3c 2f 63 6f 64 65 3e 3c 2f 70 72 65 t;</span>));.....}.}</code></pre
435e0 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
43600 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
43620 6e 3e 3c 70 72 65 3e 3c 73 61 6d 70 3e 24 20 3c 6b 62 64 3e 7a 69 67 20 74 65 73 74 20 74 65 73 n><pre><samp>$.<kbd>zig.test.tes
43640 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 67 3c 2f 6b 62 64 3e t_bitOffsetOf_offsetOf.zig</kbd>
43660 0a 31 2f 31 20 74 65 73 74 5f 62 69 74 4f 66 66 73 65 74 4f 66 5f 6f 66 66 73 65 74 4f 66 2e 74 .1/1.test_bitOffsetOf_offsetOf.t
43680 65 73 74 2e 6f 66 66 73 65 74 73 20 6f 66 20 6e 6f 6e 2d 62 79 74 65 2d 61 6c 69 67 6e 65 64 20 est.offsets.of.non-byte-aligned.
436a0 66 69 65 6c 64 73 2e 2e 2e 4f 4b 0a 41 6c 6c 20 31 20 74 65 73 74 73 20 70 61 73 73 65 64 2e 0a fields...OK.All.1.tests.passed..
436c0 3c 2f 73 61 6d 70 3e 3c 2f 70 72 65 3e 3c 2f 66 69 67 75 72 65 3e 0a 0a 20 20 20 20 20 20 3c 70 </samp></pre></figure>........<p
436e0 3e 0a 20 20 20 20 20 20 50 61 63 6b 65 64 20 73 74 72 75 63 74 73 20 68 61 76 65 20 74 68 65 20 >.......Packed.structs.have.the.
43700 73 61 6d 65 20 61 6c 69 67 6e 6d 65 6e 74 20 61 73 20 74 68 65 69 72 20 62 61 63 6b 69 6e 67 20 same.alignment.as.their.backing.
43720 69 6e 74 65 67 65 72 2c 20 68 6f 77 65 76 65 72 2c 20 6f 76 65 72 61 6c 69 67 6e 65 64 0a 20 20 integer,.however,.overaligned...
43740 20 20 20 20 70 6f 69 6e 74 65 72 73 20 74 6f 20 70 61 63 6b 65 64 20 73 74 72 75 63 74 73 20 63 ....pointers.to.packed.structs.c
43760 61 6e 20 6f 76 65 72 72 69 64 65 20 74 68 69 73 3a 0a 20 20 20 20 20 20 3c 2f 70 3e 0a 20 20 20 an.override.this:.......</p>....
43780 20 20 20 3c 66 69 67 75 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
437a0 67 2d 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
437c0 76 65 72 61 6c 69 67 6e 65 64 5f 70 61 63 6b 65 64 5f 73 74 72 75 63 74 2e 7a 69 67 3c 2f 63 69 veraligned_packed_struct.zig</ci
437e0 74 65 3e 3c 2f 66 69 67 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
43800 20 63 6c 61 73 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
43820 20 3d 20 3c 73 70 61 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
43840 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
43860 22 3e 26 71 75 6f 74 3b 73 74 64 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 29 3b 0a 3c 73 70 61 6e ">&quot;std&quot;</span>);.<span
43880 20 63 6c 61 73 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
438a0 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 65 63 74 45 71 75 ectEqual.=.std.testing.expectEqu
438c0 61 6c 3b 0a 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 63 6f 6e 73 74 3c al;..<span.class="tok-kw">const<
438e0 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 3e /span>.S.=.<span.class="tok-kw">
43900 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 2d 6b packed</span>.<span.class="tok-k
43920 77 22 3e 73 74 72 75 63 74 3c 2f 73 70 61 6e 3e 20 7b 0a 20 20 20 20 61 3a 20 3c 73 70 61 6e 20 w">struct</span>.{.....a:.<span.
43940 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 75 33 32 3c 2f 73 70 61 6e 3e 2c 0a 20 20 20 class="tok-type">u32</span>,....
43960 20 62 3a 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 75 33 32 3c 2f .b:.<span.class="tok-type">u32</
43980 73 70 61 6e 3e 2c 0a 7d 3b 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 74 span>,.};.<span.class="tok-kw">t
439a0 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"
439c0 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 61 >&quot;overaligned.pointer.to.pa
439e0 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 0a 20 20 20 20 3c cked.struct&quot;</span>.{.....<
43a00 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
43a20 6f 6f 3a 20 53 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 61 6c 69 67 6e oo:.S.<span.class="tok-kw">align
43a40 3c 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"
43a60 3e 34 3c 2f 73 70 61 6e 3e 29 20 3d 20 2e 7b 20 2e 61 20 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 >4</span>).=..{..a.=.<span.class
43a80 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 20 3c 73 70 ="tok-number">1</span>,..b.=.<sp
43aa0 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 7d an.class="tok-number">2</span>.}
43ac0 3b 0a 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 63 6f 6e 73 74 ;.....<span.class="tok-kw">const
43ae0 3c 2f 73 70 61 6e 3e 20 70 74 72 3a 20 2a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b </span>.ptr:.*<span.class="tok-k
43b00 77 22 3e 61 6c 69 67 6e 3c 2f 73 70 61 6e 3e 28 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b w">align</span>(<span.class="tok
43b20 2d 6e 75 6d 62 65 72 22 3e 34 3c 2f 73 70 61 6e 3e 29 20 53 20 3d 20 26 61 6d 70 3b 66 6f 6f 3b -number">4</span>).S.=.&amp;foo;
43b40 0a 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 63 6f 6e 73 74 3c .....<span.class="tok-kw">const<
43b60 2f 73 70 61 6e 3e 20 70 74 72 5f 74 6f 5f 62 20 3d 20 26 61 6d 70 3b 70 74 72 2e 62 3b 0a 20 20 /span>.ptr_to_b.=.&amp;ptr.b;...
43b80 20 20 3c 73 70 61 6e 20 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
43ba0 3e 20 65 78 70 65 63 74 45 71 75 61 6c 28 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e >.expectEqual(<span.class="tok-n
43bc0 75 6d 62 65 72 22 3e 32 3c 2f 73 70 61 6e 3e 2c 20 70 74 72 5f 74 6f 5f 62 2e 2a 29 3b 0a 7d 3c umber">2</span>,.ptr_to_b.*);.}<
43be0 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
43c00 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
43c20 3c 2f 66 69 67 63 61 70 74 69 6f 6e 3e 3c 70 72 65 3e 3c 73 61 6d 70 3e 24 20 3c 6b 62 64 3e 7a </figcaption><pre><samp>$.<kbd>z
43c40 69 67 20 74 65 73 74 20 74 65 73 74 5f 6f 76 65 72 61 6c 69 67 6e 65 64 5f 70 61 63 6b 65 64 5f ig.test.test_overaligned_packed_
43c60 73 74 72 75 63 74 2e 7a 69 67 3c 2f 6b 62 64 3e 0a 31 2f 31 20 74 65 73 74 5f 6f 76 65 72 61 6c struct.zig</kbd>.1/1.test_overal
43c80 69 67 6e 65 64 5f 70 61 63 6b 65 64 5f 73 74 72 75 63 74 2e 74 65 73 74 2e 6f 76 65 72 61 6c 69 igned_packed_struct.test.overali
43ca0 67 6e 65 64 20 70 6f 69 6e 74 65 72 20 74 6f 20 70 61 63 6b 65 64 20 73 74 72 75 63 74 2e 2e 2e gned.pointer.to.packed.struct...
43cc0 4f 4b 0a 41 6c 6c 20 31 20 74 65 73 74 73 20 70 61 73 73 65 64 2e 0a 3c 2f 73 61 6d 70 3e 3c 2f OK.All.1.tests.passed..</samp></
43ce0 70 72 65 3e 3c 2f 66 69 67 75 72 65 3e 0a 0a 20 20 20 20 20 20 3c 70 3e 0a 20 20 20 20 20 20 49 pre></figure>........<p>.......I
43d00 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 65 t's.also.possible.to.set.alignme
43d20 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 0a nt.of.struct.fields:.......</p>.
43d40 20 20 20 20 20 20 3c 66 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=
43d60 22 7a 69 67 2d 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
43d80 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 74 t_aligned_struct_fields.zig</cit
43da0 65 3e 3c 2f 66 69 67 63 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.
43dc0 63 6c 61 73 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.
43de0 3d 20 3c 73 70 61 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
43e00 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"
43e20 3e 26 71 75 6f 74 3b 73 74 64 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 29 3b 0a 3c 73 70 61 6e 20 >&quot;std&quot;</span>);.<span.
43e40 63 6c 61 73 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
43e60 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 65 63 74 45 71 75 61 ctEqual.=.std.testing.expectEqua
43e80 6c 3b 0a 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 74 65 73 74 3c 2f 73 l;..<span.class="tok-kw">test</s
43ea0 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
43ec0 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 73 70 ;aligned.struct.fields&quot;</sp
43ee0 61 6e 3e 20 7b 0a 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 63 an>.{.....<span.class="tok-kw">c
43f00 6f 6e 73 74 3c 2f 73 70 61 6e 3e 20 53 20 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b onst</span>.S.=.<span.class="tok
43f20 2d 6b 77 22 3e 73 74 72 75 63 74 3c 2f 73 70 61 6e 3e 20 7b 0a 20 20 20 20 20 20 20 20 61 3a 20 -kw">struct</span>.{.........a:.
43f40 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
43f60 3e 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 61 6c 69 67 6e 3c 2f 73 70 >.<span.class="tok-kw">align</sp
43f80 61 6e 3e 28 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 32 3c 2f an>(<span.class="tok-number">2</
43fa0 73 70 61 6e 3e 29 2c 0a 20 20 20 20 20 20 20 20 62 3a 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 span>),.........b:.<span.class="
43fc0 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 61 73 73 tok-type">u32</span>.<span.class
43fe0 3d 22 74 6f 6b 2d 6b 77 22 3e 61 6c 69 67 6e 3c 2f 73 70 61 6e 3e 28 3c 73 70 61 6e 20 63 6c 61 ="tok-kw">align</span>(<span.cla
44000 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 29 2c 0a 20 20 20 20 ss="tok-number">64</span>),.....
44020 7d 3b 0a 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 76 61 72 3c };.....<span.class="tok-kw">var<
44040 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 6c 61 73 73 /span>.foo.=.S{..a.=.<span.class
44060 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 20 3c 73 70 ="tok-number">1</span>,..b.=.<sp
44080 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 7d an.class="tok-number">2</span>.}
440a0 3b 0a 0a 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 74 72 79 3c ;......<span.class="tok-kw">try<
440c0 2f 73 70 61 6e 3e 20 65 78 70 65 63 74 45 71 75 61 6c 28 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 /span>.expectEqual(<span.class="
440e0 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 36 34 3c 2f 73 70 61 6e 3e 2c 20 3c 73 70 61 6e 20 63 6c 61 tok-number">64</span>,.<span.cla
44100 73 73 3d 22 74 6f 6b 2d 62 75 69 6c 74 69 6e 22 3e 40 61 6c 69 67 6e 4f 66 3c 2f 73 70 61 6e 3e ss="tok-builtin">@alignOf</span>
44120 28 53 29 29 3b 0a 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 74 (S));.....<span.class="tok-kw">t
44140 72 79 3c 2f 73 70 61 6e 3e 20 65 78 70 65 63 74 45 71 75 61 6c 28 2a 3c 73 70 61 6e 20 63 6c 61 ry</span>.expectEqual(*<span.cla
44160 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
44180 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
441a0 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>,.<
441c0 73 70 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
441e0 3c 2f 73 70 61 6e 3e 28 26 61 6d 70 3b 66 6f 6f 2e 61 29 29 3b 0a 20 20 20 20 3c 73 70 61 6e 20 </span>(&amp;foo.a));.....<span.
44200 63 6c 61 73 73 3d 22 74 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
44220 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 69 67 Equal(*<span.class="tok-kw">alig
44240 6e 3c 2f 73 70 61 6e 3e 28 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 n</span>(<span.class="tok-number
44260 22 3e 36 34 3c 2f 73 70 61 6e 3e 29 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 ">64</span>).<span.class="tok-ty
44280 70 65 22 3e 75 33 32 3c 2f 73 70 61 6e 3e 2c 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b pe">u32</span>,.<span.class="tok
442a0 2d 62 75 69 6c 74 69 6e 22 3e 40 54 79 70 65 4f 66 3c 2f 73 70 61 6e 3e 28 26 61 6d 70 3b 66 6f -builtin">@TypeOf</span>(&amp;fo
442c0 6f 2e 62 29 29 3b 0a 7d 3c 2f 63 6f 64 65 3e 3c 2f 70 72 65 3e 3c 2f 66 69 67 75 72 65 3e 3c 66 o.b));.}</code></pre></figure><f
442e0 69 67 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
44300 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
44320 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
44340 72 75 63 74 5f 66 69 65 6c 64 73 2e 7a 69 67 3c 2f 6b 62 64 3e 0a 31 2f 31 20 74 65 73 74 5f 61 ruct_fields.zig</kbd>.1/1.test_a
44360 6c 69 67 6e 65 64 5f 73 74 72 75 63 74 5f 66 69 65 6c 64 73 2e 74 65 73 74 2e 61 6c 69 67 6e 65 ligned_struct_fields.test.aligne
44380 64 20 73 74 72 75 63 74 20 66 69 65 6c 64 73 2e 2e 2e 4f 4b 0a 41 6c 6c 20 31 20 74 65 73 74 73 d.struct.fields...OK.All.1.tests
443a0 20 70 61 73 73 65 64 2e 0a 3c 2f 73 61 6d 70 3e 3c 2f 70 72 65 3e 3c 2f 66 69 67 75 72 65 3e 0a .passed..</samp></pre></figure>.
443c0 0a 20 20 20 20 20 20 3c 70 3e 0a 20 20 20 20 20 20 45 71 75 61 74 69 6e 67 20 70 61 63 6b 65 64 .......<p>.......Equating.packed
443e0 20 73 74 72 75 63 74 73 20 72 65 73 75 6c 74 73 20 69 6e 20 61 20 63 6f 6d 70 61 72 69 73 6f 6e .structs.results.in.a.comparison
44400 20 6f 66 20 74 68 65 20 62 61 63 6b 69 6e 67 20 69 6e 74 65 67 65 72 2c 0a 20 20 20 20 20 20 61 .of.the.backing.integer,.......a
44420 6e 64 20 6f 6e 6c 79 20 77 6f 72 6b 73 20 66 6f 72 20 74 68 65 20 3c 63 6f 64 65 3e 3d 3d 3c 2f nd.only.works.for.the.<code>==</
44440 63 6f 64 65 3e 20 61 6e 64 20 3c 63 6f 64 65 3e 21 3d 3c 2f 63 6f 64 65 3e 20 3c 61 20 68 72 65 code>.and.<code>!=</code>.<a.hre
44460 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 2e 0a 20 20 f="#Operators">Operators</a>....
44480 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
444a0 6f 6e 20 63 6c 61 73 73 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="
444c0 66 69 6c 65 22 3e 74 65 73 74 5f 70 61 63 6b 65 64 5f 73 74 72 75 63 74 5f 65 71 75 61 6c 69 74 file">test_packed_struct_equalit
444e0 79 2e 7a 69 67 3c 2f 63 69 74 65 3e 3c 2f 66 69 67 63 61 70 74 69 6f 6e 3e 3c 70 72 65 3e 3c 63 y.zig</cite></figcaption><pre><c
44500 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 63 6f 6e 73 74 3c 2f ode><span.class="tok-kw">const</
44520 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
44540 6c 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
44560 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
44580 3e 29 3b 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 63 6f 6e 73 74 3c 2f >);.<span.class="tok-kw">const</
445a0 73 70 61 6e 3e 20 65 78 70 65 63 74 45 71 75 61 6c 20 3d 20 73 74 64 2e 74 65 73 74 69 6e 67 2e span>.expectEqual.=.std.testing.
445c0 65 78 70 65 63 74 45 71 75 61 6c 3b 0a 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b expectEqual;..<span.class="tok-k
445e0 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-
44600 73 74 72 22 3e 26 71 75 6f 74 3b 70 61 63 6b 65 64 20 73 74 72 75 63 74 20 65 71 75 61 6c 69 74 str">&quot;packed.struct.equalit
44620 79 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 20 7b 0a 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 y&quot;</span>.{.....<span.class
44640 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 6e ="tok-kw">const</span>.S.=.<span
44660 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 70 61 63 6b 65 64 3c 2f 73 70 61 6e 3e 20 3c 73 .class="tok-kw">packed</span>.<s
44680 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>
446a0 20 7b 0a 20 20 20 20 20 20 20 20 61 3a 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 .{.........a:.<span.class="tok-t
446c0 79 70 65 22 3e 75 34 3c 2f 73 70 61 6e 3e 2c 0a 20 20 20 20 20 20 20 20 62 3a 20 3c 73 70 61 6e ype">u4</span>,.........b:.<span
446e0 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 75 34 3c 2f 73 70 61 6e 3e 2c 0a 20 20 20 .class="tok-type">u4</span>,....
44700 20 7d 3b 0a 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 63 6f 6e .};.....<span.class="tok-kw">con
44720 73 74 3c 2f 73 70 61 6e 3e 20 78 3a 20 53 20 3d 20 2e 7b 20 2e 61 20 3d 20 3c 73 70 61 6e 20 63 st</span>.x:.S.=..{..a.=.<span.c
44740 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.=
44760 20 3c 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
44780 6e 3e 20 7d 3b 0a 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 63 n>.};.....<span.class="tok-kw">c
447a0 6f 6e 73 74 3c 2f 73 70 61 6e 3e 20 79 3a 20 53 20 3d 20 2e 7b 20 2e 62 20 3d 20 3c 73 70 61 6e onst</span>.y:.S.=..{..b.=.<span
447c0 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 2e 61 .class="tok-number">2</span>,..a
447e0 20 3d 20 3c 73 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
44800 70 61 6e 3e 20 7d 3b 0a 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 pan>.};.....<span.class="tok-kw"
44820 3e 74 72 79 3c 2f 73 70 61 6e 3e 20 65 78 70 65 63 74 45 71 75 61 6c 28 78 2c 20 79 29 3b 0a 7d >try</span>.expectEqual(x,.y);.}
44840 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
44860 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
44880 6c 3c 2f 66 69 67 63 61 70 74 69 6f 6e 3e 3c 70 72 65 3e 3c 73 61 6d 70 3e 24 20 3c 6b 62 64 3e l</figcaption><pre><samp>$.<kbd>
448a0 7a 69 67 20 74 65 73 74 20 74 65 73 74 5f 70 61 63 6b 65 64 5f 73 74 72 75 63 74 5f 65 71 75 61 zig.test.test_packed_struct_equa
448c0 6c 69 74 79 2e 7a 69 67 3c 2f 6b 62 64 3e 0a 31 2f 31 20 74 65 73 74 5f 70 61 63 6b 65 64 5f 73 lity.zig</kbd>.1/1.test_packed_s
448e0 74 72 75 63 74 5f 65 71 75 61 6c 69 74 79 2e 74 65 73 74 2e 70 61 63 6b 65 64 20 73 74 72 75 63 truct_equality.test.packed.struc
44900 74 20 65 71 75 61 6c 69 74 79 2e 2e 2e 4f 4b 0a 41 6c 6c 20 31 20 74 65 73 74 73 20 70 61 73 73 t.equality...OK.All.1.tests.pass
44920 65 64 2e 0a 3c 2f 73 61 6d 70 3e 3c 2f 70 72 65 3e 3c 2f 66 69 67 75 72 65 3e 0a 0a 20 20 20 20 ed..</samp></pre></figure>......
44940 20 20 3c 70 3e 0a 20 20 20 20 20 20 46 69 65 6c 64 20 61 63 63 65 73 73 20 61 6e 64 20 61 73 73 ..<p>.......Field.access.and.ass
44960 69 67 6e 6d 65 6e 74 20 63 61 6e 20 62 65 20 75 6e 64 65 72 73 74 6f 6f 64 20 61 73 20 73 68 6f ignment.can.be.understood.as.sho
44980 72 74 68 61 6e 64 20 66 6f 72 20 62 69 74 73 68 69 66 74 73 0a 20 20 20 20 20 20 6f 6e 20 74 68 rthand.for.bitshifts.......on.th
449a0 65 20 62 61 63 6b 69 6e 67 20 69 6e 74 65 67 65 72 2e 20 54 68 65 73 65 20 6f 70 65 72 61 74 69 e.backing.integer..These.operati
449c0 6f 6e 73 20 61 72 65 20 6e 6f 74 20 3c 61 20 68 72 65 66 3d 22 23 41 74 6f 6d 69 63 73 22 3e 61 ons.are.not.<a.href="#Atomics">a
449e0 74 6f 6d 69 63 3c 2f 61 3e 2c 0a 20 20 20 20 20 20 73 6f 20 62 65 77 61 72 65 20 75 73 69 6e 67 tomic</a>,.......so.beware.using
44a00 20 66 69 65 6c 64 20 61 63 63 65 73 73 20 73 79 6e 74 61 78 20 77 68 65 6e 20 63 6f 6d 62 69 6e .field.access.syntax.when.combin
44a20 65 64 20 77 69 74 68 20 6d 65 6d 6f 72 79 2d 6d 61 70 70 65 64 0a 20 20 20 20 20 20 69 6e 70 75 ed.with.memory-mapped.......inpu
44a40 74 2d 6f 75 74 70 75 74 20 28 4d 4d 49 4f 29 2e 20 49 6e 73 74 65 61 64 20 6f 66 20 66 69 65 6c t-output.(MMIO)..Instead.of.fiel
44a60 64 20 61 63 63 65 73 73 20 6f 6e 20 3c 61 20 68 72 65 66 3d 22 23 76 6f 6c 61 74 69 6c 65 22 3e d.access.on.<a.href="#volatile">
44a80 76 6f 6c 61 74 69 6c 65 3c 2f 61 3e 20 3c 61 20 68 72 65 66 3d 22 23 50 6f 69 6e 74 65 72 73 22 volatile</a>.<a.href="#Pointers"
44aa0 3e 50 6f 69 6e 74 65 72 73 3c 2f 61 3e 2c 0a 20 20 20 20 20 20 63 6f 6e 73 74 72 75 63 74 20 61 >Pointers</a>,.......construct.a
44ac0 20 66 75 6c 6c 79 2d 66 6f 72 6d 65 64 20 6e 65 77 20 76 61 6c 75 65 20 66 69 72 73 74 2c 20 74 .fully-formed.new.value.first,.t
44ae0 68 65 6e 20 77 72 69 74 65 20 74 68 61 74 20 76 61 6c 75 65 20 74 6f 20 74 68 65 20 76 6f 6c 61 hen.write.that.value.to.the.vola
44b00 74 69 6c 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 tile.pointer........</p>.......<
44b20 66 69 67 75 72 65 3e 3c 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
44b40 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 6b 65 64 5f 73 74 72 p"><cite.class="file">packed_str
44b60 75 63 74 5f 6d 6d 69 6f 2e 7a 69 67 3c 2f 63 69 74 65 3e 3c 2f 66 69 67 63 61 70 74 69 6f 6e 3e uct_mmio.zig</cite></figcaption>
44b80 3c 70 72 65 3e 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e <pre><code><span.class="tok-kw">
44ba0 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">
44bc0 63 6f 6e 73 74 3c 2f 73 70 61 6e 3e 20 47 70 69 6f 52 65 67 69 73 74 65 72 20 3d 20 3c 73 70 61 const</span>.GpioRegister.=.<spa
44be0 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 70 61 63 6b 65 64 3c 2f 73 70 61 6e 3e 20 3c n.class="tok-kw">packed</span>.<
44c00 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
44c20 3e 28 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 75 38 3c 2f 73 70 61 >(<span.class="tok-type">u8</spa
44c40 6e 3e 29 20 7b 0a 20 20 20 20 47 50 49 4f 30 3a 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f n>).{.....GPIO0:.<span.class="to
44c60 6b 2d 74 79 70 65 22 3e 62 6f 6f 6c 3c 2f 73 70 61 6e 3e 2c 0a 20 20 20 20 47 50 49 4f 31 3a 20 k-type">bool</span>,.....GPIO1:.
44c80 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
44ca0 6e 3e 2c 0a 20 20 20 20 47 50 49 4f 32 3a 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d n>,.....GPIO2:.<span.class="tok-
44cc0 74 79 70 65 22 3e 62 6f 6f 6c 3c 2f 73 70 61 6e 3e 2c 0a 20 20 20 20 47 50 49 4f 33 3a 20 3c 73 type">bool</span>,.....GPIO3:.<s
44ce0 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>
44d00 2c 0a 20 20 20 20 72 65 73 65 72 76 65 64 3a 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b ,.....reserved:.<span.class="tok
44d20 2d 74 79 70 65 22 3e 75 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">u4</span>.=.<span.class="
44d40 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 30 3c 2f 73 70 61 6e 3e 2c 0a 7d 3b 0a 0a 3c 73 70 61 6e 20 tok-number">0</span>,.};..<span.
44d60 63 6c 61 73 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 70 69 6f class="tok-kw">const</span>.gpio
44d80 3a 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 6c 65 :.*<span.class="tok-kw">volatile
44da0 3c 2f 73 70 61 6e 3e 20 47 70 69 6f 52 65 67 69 73 74 65 72 20 3d 20 3c 73 70 61 6e 20 63 6c 61 </span>.GpioRegister.=.<span.cla
44dc0 73 73 3d 22 74 6f 6b 2d 62 75 69 6c 74 69 6e 22 3e 40 70 74 72 46 72 6f 6d 49 6e 74 3c 2f 73 70 ss="tok-builtin">@ptrFromInt</sp
44de0 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 30 78 30 an>(<span.class="tok-number">0x0
44e00 31 32 33 3c 2f 73 70 61 6e 3e 29 3b 0a 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 123</span>);..<span.class="tok-k
44e20 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
44e40 77 22 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
44e60 22 3e 77 72 69 74 65 54 6f 47 70 69 6f 3c 2f 73 70 61 6e 3e 28 6e 65 77 5f 73 74 61 74 65 73 3a ">writeToGpio</span>(new_states:
44e80 20 47 70 69 6f 52 65 67 69 73 74 65 72 29 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d .GpioRegister).<span.class="tok-
44ea0 74 79 70 65 22 3e 76 6f 69 64 3c 2f 73 70 61 6e 3e 20 7b 0a 20 20 20 20 3c 73 70 61 6e 20 63 6c type">void</span>.{.....<span.cl
44ec0 61 73 73 3d 22 74 6f 6b 2d 63 6f 6d 6d 65 6e 74 22 3e 2f 2f 20 45 78 61 6d 70 6c 65 20 6f 66 20 ass="tok-comment">//.Example.of.
44ee0 77 68 61 74 20 6e 6f 74 20 74 6f 20 64 6f 3a 3c 2f 73 70 61 6e 3e 0a 20 20 20 20 3c 73 70 61 6e what.not.to.do:</span>.....<span
44f00 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 41 44 21 20 67 70 69 .class="tok-comment">//.BAD!.gpi
44f20 6f 2e 47 50 49 4f 30 20 3d 20 74 72 75 65 3b 20 42 41 44 21 3c 2f 73 70 61 6e 3e 0a 0a 20 20 20 o.GPIO0.=.true;.BAD!</span>.....
44f40 20 3c 73 70 61 6e 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
44f60 73 74 65 61 64 2c 20 64 6f 20 74 68 69 73 3a 3c 2f 73 70 61 6e 3e 0a 20 20 20 20 67 70 69 6f 2e stead,.do.this:</span>.....gpio.
44f80 2a 20 3d 20 6e 65 77 5f 73 74 61 74 65 73 3b 0a 7d 3c 2f 63 6f 64 65 3e 3c 2f 70 72 65 3e 3c 2f *.=.new_states;.}</code></pre></
44fa0 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 74 figure>...............<h3.id="St
44fc0 72 75 63 74 2d 4e 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 ruct-Naming"><a.href="nav.xhtml#
44fe0 74 6f 63 2d 53 74 72 75 63 74 2d 4e 61 6d 69 6e 67 22 3e 53 74 72 75 63 74 20 4e 61 6d 69 6e 67 toc-Struct-Naming">Struct.Naming
45000 3c 2f 61 3e 20 3c 61 20 63 6c 61 73 73 3d 22 68 64 72 22 20 68 72 65 66 3d 22 23 53 74 72 75 63 </a>.<a.class="hdr".href="#Struc
45020 74 2d 4e 61 6d 69 6e 67 22 3e c2 a7 3c 2f 61 3e 3c 2f 68 33 3e 0a 0a 20 20 20 20 20 20 3c 70 3e t-Naming">..</a></h3>........<p>
45040 53 69 6e 63 65 20 61 6c 6c 20 73 74 72 75 63 74 73 20 61 72 65 20 61 6e 6f 6e 79 6d 6f 75 73 2c Since.all.structs.are.anonymous,
45060 20 5a 69 67 20 69 6e 66 65 72 73 20 74 68 65 20 74 79 70 65 20 6e 61 6d 65 20 62 61 73 65 64 20 .Zig.infers.the.type.name.based.
45080 6f 6e 20 61 20 66 65 77 20 72 75 6c 65 73 2e 3c 2f 70 3e 0a 20 20 20 20 20 20 3c 75 6c 3e 0a 20 on.a.few.rules.</p>.......<ul>..
450a0 20 20 20 20 20 20 20 20 20 3c 6c 69 3e 49 66 20 74 68 65 20 73 74 72 75 63 74 20 69 73 20 69 6e .........<li>If.the.struct.is.in
450c0 20 74 68 65 20 69 6e 69 74 69 61 6c 69 7a 61 74 69 6f 6e 20 65 78 70 72 65 73 73 69 6f 6e 20 6f .the.initialization.expression.o
450e0 66 20 61 20 76 61 72 69 61 62 6c 65 2c 20 69 74 20 67 65 74 73 20 6e 61 6d 65 64 20 61 66 74 65 f.a.variable,.it.gets.named.afte
45100 72 0a 20 20 20 20 20 20 20 20 20 20 74 68 61 74 20 76 61 72 69 61 62 6c 65 2e 3c 2f 6c 69 3e 0a r...........that.variable.</li>.
45120 20 20 20 20 20 20 20 20 20 20 3c 6c 69 3e 49 66 20 74 68 65 20 73 74 72 75 63 74 20 69 73 20 69 ..........<li>If.the.struct.is.i
45140 6e 20 74 68 65 20 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 n.the.<code><span.class="tok-kw"
45160 3e 72 65 74 75 72 6e 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 20 65 78 70 72 65 73 73 69 6f 6e >return</span></code>.expression
45180 2c 20 69 74 20 67 65 74 73 20 6e 61 6d 65 64 20 61 66 74 65 72 0a 20 20 20 20 20 20 20 20 20 20 ,.it.gets.named.after...........
451a0 74 68 65 20 66 75 6e 63 74 69 6f 6e 20 69 74 20 69 73 20 72 65 74 75 72 6e 69 6e 67 20 66 72 6f the.function.it.is.returning.fro
451c0 6d 2c 20 77 69 74 68 20 74 68 65 20 70 61 72 61 6d 65 74 65 72 20 76 61 6c 75 65 73 20 73 65 72 m,.with.the.parameter.values.ser
451e0 69 61 6c 69 7a 65 64 2e 3c 2f 6c 69 3e 0a 20 20 20 20 20 20 20 20 20 20 3c 6c 69 3e 4f 74 68 65 ialized.</li>...........<li>Othe
45200 72 77 69 73 65 2c 20 74 68 65 20 73 74 72 75 63 74 20 67 65 74 73 20 61 20 6e 61 6d 65 20 73 75 rwise,.the.struct.gets.a.name.su
45220 63 68 20 61 73 20 3c 63 6f 64 65 3e 28 66 69 6c 65 6e 61 6d 65 2e 66 75 6e 63 6e 61 6d 65 5f 5f ch.as.<code>(filename.funcname__
45240 73 74 72 75 63 74 5f 49 44 29 3c 2f 63 6f 64 65 3e 2e 3c 2f 6c 69 3e 0a 20 20 20 20 20 20 20 20 struct_ID)</code>.</li>.........
45260 20 20 3c 6c 69 3e 49 66 20 74 68 65 20 73 74 72 75 63 74 20 69 73 20 64 65 63 6c 61 72 65 64 20 ..<li>If.the.struct.is.declared.
45280 69 6e 73 69 64 65 20 61 6e 6f 74 68 65 72 20 73 74 72 75 63 74 2c 20 69 74 20 67 65 74 73 20 6e inside.another.struct,.it.gets.n
452a0 61 6d 65 64 20 61 66 74 65 72 20 62 6f 74 68 20 74 68 65 20 70 61 72 65 6e 74 0a 20 20 20 20 20 amed.after.both.the.parent......
452c0 20 20 20 20 20 73 74 72 75 63 74 20 61 6e 64 20 74 68 65 20 6e 61 6d 65 20 69 6e 66 65 72 72 65 .....struct.and.the.name.inferre
452e0 64 20 62 79 20 74 68 65 20 70 72 65 76 69 6f 75 73 20 72 75 6c 65 73 2c 20 73 65 70 61 72 61 74 d.by.the.previous.rules,.separat
45300 65 64 20 62 79 20 61 20 64 6f 74 2e 3c 2f 6c 69 3e 0a 20 20 20 20 20 20 3c 2f 75 6c 3e 0a 20 20 ed.by.a.dot.</li>.......</ul>...
45320 20 20 20 20 3c 66 69 67 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
45340 69 67 2d 63 61 70 22 3e 3c 63 69 74 65 20 63 6c 61 73 73 3d 22 66 69 6c 65 22 3e 73 74 72 75 63 ig-cap"><cite.class="file">struc
45360 74 5f 6e 61 6d 65 2e 7a 69 67 3c 2f 63 69 74 65 3e 3c 2f 66 69 67 63 61 70 74 69 6f 6e 3e 3c 70 t_name.zig</cite></figcaption><p
45380 72 65 3e 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 63 6f re><code><span.class="tok-kw">co
453a0 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
453c0 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.
453e0 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;<
45400 2f 73 70 61 6e 3e 29 3b 0a 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 70 /span>);..<span.class="tok-kw">p
45420 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
45440 6e 3c 2f 73 70 61 6e 3e 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 66 6e 22 3e 6d 61 n</span>.<span.class="tok-fn">ma
45460 69 6e 3c 2f 73 70 61 6e 3e 28 29 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 in</span>().<span.class="tok-typ
45480 65 22 3e 76 6f 69 64 3c 2f 73 70 61 6e 3e 20 7b 0a 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 e">void</span>.{.....<span.class
454a0 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
454c0 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>.
454e0 7b 7d 3b 0a 20 20 20 20 73 74 64 2e 64 65 62 75 67 2e 70 72 69 6e 74 28 3c 73 70 61 6e 20 63 6c {};.....std.debug.print(<span.cl
45500 61 73 73 3d 22 74 6f 6b 2d 73 74 72 22 3e 26 71 75 6f 74 3b 76 61 72 69 61 62 6c 65 3a 20 7b 73 ass="tok-str">&quot;variable:.{s
45520 7d 5c 6e 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 2c 20 2e 7b 3c 73 70 61 6e 20 63 6c 61 73 73 3d }\n&quot;</span>,..{<span.class=
45540 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 46 "tok-builtin">@typeName</span>(F
45560 6f 6f 29 7d 29 3b 0a 20 20 20 20 73 74 64 2e 64 65 62 75 67 2e 70 72 69 6e 74 28 3c 73 70 61 6e oo)});.....std.debug.print(<span
45580 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
455a0 3a 20 7b 73 7d 5c 6e 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 2c 20 2e 7b 3c 73 70 61 6e 20 63 6c :.{s}\n&quot;</span>,..{<span.cl
455c0 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
455e0 6e 3e 28 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 73 74 72 75 63 74 3c 2f n>(<span.class="tok-kw">struct</
45600 73 70 61 6e 3e 20 7b 7d 29 7d 29 3b 0a 20 20 20 20 73 74 64 2e 64 65 62 75 67 2e 70 72 69 6e 74 span>.{})});.....std.debug.print
45620 28 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 73 74 72 22 3e 26 71 75 6f 74 3b 66 75 6e (<span.class="tok-str">&quot;fun
45640 63 74 69 6f 6e 3a 20 7b 73 7d 5c 6e 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 2c 20 2e 7b 3c 73 70 ction:.{s}\n&quot;</span>,..{<sp
45660 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 62 75 69 6c 74 69 6e 22 3e 40 74 79 70 65 4e 61 6d 65 an.class="tok-builtin">@typeName
45680 3c 2f 73 70 61 6e 3e 28 4c 69 73 74 28 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 </span>(List(<span.class="tok-ty
456a0 70 65 22 3e 69 33 32 3c 2f 73 70 61 6e 3e 29 29 7d 29 3b 0a 7d 0a 0a 3c 73 70 61 6e 20 63 6c 61 pe">i32</span>))});.}..<span.cla
456c0 73 73 3d 22 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
456e0 73 3d 22 74 6f 6b 2d 66 6e 22 3e 4c 69 73 74 3c 2f 73 70 61 6e 3e 28 3c 73 70 61 6e 20 63 6c 61 s="tok-fn">List</span>(<span.cla
45700 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:.<
45720 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
45740 3e 29 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 74 79 70 65 3c 2f >).<span.class="tok-type">type</
45760 73 70 61 6e 3e 20 7b 0a 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 span>.{.....<span.class="tok-kw"
45780 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-
457a0 6b 77 22 3e 73 74 72 75 63 74 3c 2f 73 70 61 6e 3e 20 7b 0a 20 20 20 20 20 20 20 20 78 3a 20 54 kw">struct</span>.{.........x:.T
457c0 2c 0a 20 20 20 20 7d 3b 0a 7d 3c 2f 63 6f 64 65 3e 3c 2f 70 72 65 3e 3c 2f 66 69 67 75 72 65 3e ,.....};.}</code></pre></figure>
457e0 3c 66 69 67 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
45800 2d 63 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
45820 6d 70 3e 24 20 3c 6b 62 64 3e 7a 69 67 20 62 75 69 6c 64 2d 65 78 65 20 73 74 72 75 63 74 5f 6e mp>$.<kbd>zig.build-exe.struct_n
45840 61 6d 65 2e 7a 69 67 3c 2f 6b 62 64 3e 0a 24 20 3c 6b 62 64 3e 2e 2f 73 74 72 75 63 74 5f 6e 61 ame.zig</kbd>.$.<kbd>./struct_na
45860 6d 65 3c 2f 6b 62 64 3e 0a 76 61 72 69 61 62 6c 65 3a 20 73 74 72 75 63 74 5f 6e 61 6d 65 2e 6d me</kbd>.variable:.struct_name.m
45880 61 69 6e 2e 46 6f 6f 0a 61 6e 6f 6e 79 6d 6f 75 73 3a 20 73 74 72 75 63 74 5f 6e 61 6d 65 2e 6d ain.Foo.anonymous:.struct_name.m
458a0 61 69 6e 5f 5f 73 74 72 75 63 74 5f 33 32 37 35 39 0a 66 75 6e 63 74 69 6f 6e 3a 20 73 74 72 75 ain__struct_32759.function:.stru
458c0 63 74 5f 6e 61 6d 65 2e 4c 69 73 74 28 69 33 32 29 0a 3c 2f 73 61 6d 70 3e 3c 2f 70 72 65 3e 3c ct_name.List(i32).</samp></pre><
458e0 2f 66 69 67 75 72 65 3e 0a 0a 20 20 20 20 20 20 0a 0a 20 20 20 20 20 20 3c 68 33 20 69 64 3d 22 /figure>................<h3.id="
45900 41 6e 6f 6e 79 6d 6f 75 73 2d 53 74 72 75 63 74 2d 4c 69 74 65 72 61 6c 73 22 3e 3c 61 20 68 72 Anonymous-Struct-Literals"><a.hr
45920 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 53 74 72 75 ef="nav.xhtml#toc-Anonymous-Stru
45940 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 69 ct-Literals">Anonymous.Struct.Li
45960 74 65 72 61 6c 73 3c 2f 61 3e 20 3c 61 20 63 6c 61 73 73 3d 22 68 64 72 22 20 68 72 65 66 3d 22 terals</a>.<a.class="hdr".href="
45980 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 c2 a7 3c 2f #Anonymous-Struct-Literals">..</
459a0 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 5a 69 67 20 61 6c 6c a></h3>........<p>.......Zig.all
459c0 6f 77 73 20 6f 6d 69 74 74 69 6e 67 20 74 68 65 20 73 74 72 75 63 74 20 74 79 70 65 20 6f 66 20 ows.omitting.the.struct.type.of.
459e0 61 20 6c 69 74 65 72 61 6c 2e 20 57 68 65 6e 20 74 68 65 20 72 65 73 75 6c 74 20 69 73 20 3c 61 a.literal..When.the.result.is.<a
45a00 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 3c 2f .href="#Type-Coercion">coerced</
45a20 61 3e 2c 0a 20 20 20 20 20 20 74 68 65 20 73 74 72 75 63 74 20 6c 69 74 65 72 61 6c 20 77 69 6c a>,.......the.struct.literal.wil
45a40 6c 20 64 69 72 65 63 74 6c 79 20 69 6e 73 74 61 6e 74 69 61 74 65 20 74 68 65 20 3c 61 20 68 72 l.directly.instantiate.the.<a.hr
45a60 65 66 3d 22 23 52 65 73 75 6c 74 2d 4c 6f 63 61 74 69 6f 6e 2d 53 65 6d 61 6e 74 69 63 73 22 3e ef="#Result-Location-Semantics">
45a80 72 65 73 75 6c 74 20 6c 6f 63 61 74 69 6f 6e 3c 2f 61 3e 2c 0a 20 20 20 20 20 20 77 69 74 68 20 result.location</a>,.......with.
45aa0 6e 6f 20 63 6f 70 79 3a 0a 20 20 20 20 20 20 3c 2f 70 3e 0a 20 20 20 20 20 20 3c 66 69 67 75 72 no.copy:.......</p>.......<figur
45ac0 65 3e 3c 66 69 67 63 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
45ae0 69 74 65 20 63 6c 61 73 73 3d 22 66 69 6c 65 22 3e 74 65 73 74 5f 73 74 72 75 63 74 5f 72 65 73 ite.class="file">test_struct_res
45b00 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 72 65 3e ult.zig</cite></figcaption><pre>
45b20 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 63 6f 6e 73 74 <code><span.class="tok-kw">const
45b40 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
45b60 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
45b80 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
45ba0 61 6e 3e 29 3b 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 63 6f 6e 73 74 an>);.<span.class="tok-kw">const
45bc0 3c 2f 73 70 61 6e 3e 20 65 78 70 65 63 74 45 71 75 61 6c 20 3d 20 73 74 64 2e 74 65 73 74 69 6e </span>.expectEqual.=.std.testin
45be0 67 2e 65 78 70 65 63 74 45 71 75 61 6c 3b 0a 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b g.expectEqual;..<span.class="tok
45c00 2d 6b 77 22 3e 63 6f 6e 73 74 3c 2f 73 70 61 6e 3e 20 50 6f 69 6e 74 20 3d 20 3c 73 70 61 6e 20 -kw">const</span>.Point.=.<span.
45c20 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 20 78 class="tok-kw">struct</span>.{.x
45c40 3a 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
45c60 61 6e 3e 2c 20 79 3a 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 69 an>,.y:.<span.class="tok-type">i
45c80 33 32 3c 2f 73 70 61 6e 3e 20 7d 3b 0a 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 32</span>.};..<span.class="tok-k
45ca0 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-
45cc0 73 74 72 22 3e 26 71 75 6f 74 3b 61 6e 6f 6e 79 6d 6f 75 73 20 73 74 72 75 63 74 20 6c 69 74 65 str">&quot;anonymous.struct.lite
45ce0 72 61 6c 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 20 7b 0a 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 ral&quot;</span>.{.....<span.cla
45d00 73 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 3a 20 50 6f 69 ss="tok-kw">const</span>.pt:.Poi
45d20 6e 74 20 3d 20 2e 7b 0a 20 20 20 20 20 20 20 20 2e 78 20 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 nt.=..{..........x.=.<span.class
45d40 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 31 33 3c 2f 73 70 61 6e 3e 2c 0a 20 20 20 20 20 20 20 ="tok-number">13</span>,........
45d60 20 2e 79 20 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 36 ..y.=.<span.class="tok-number">6
45d80 37 3c 2f 73 70 61 6e 3e 2c 0a 20 20 20 20 7d 3b 0a 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 7</span>,.....};.....<span.class
45da0 3d 22 74 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 ="tok-kw">try</span>.expectEqual
45dc0 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 33 3c 2f 73 70 (<span.class="tok-number">13</sp
45de0 61 6e 3e 2c 20 70 74 2e 78 29 3b 0a 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b an>,.pt.x);.....<span.class="tok
45e00 2d 6b 77 22 3e 74 72 79 3c 2f 73 70 61 6e 3e 20 65 78 70 65 63 74 45 71 75 61 6c 28 3c 73 70 61 -kw">try</span>.expectEqual(<spa
45e20 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 2c 20 n.class="tok-number">67</span>,.
45e40 70 74 2e 79 29 3b 0a 7d 3c 2f 63 6f 64 65 3e 3c 2f 70 72 65 3e 3c 2f 66 69 67 75 72 65 3e 3c 66 pt.y);.}</code></pre></figure><f
45e60 69 67 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
45e80 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
45ea0 3e 24 20 3c 6b 62 64 3e 7a 69 67 20 74 65 73 74 20 74 65 73 74 5f 73 74 72 75 63 74 5f 72 65 73 >$.<kbd>zig.test.test_struct_res
45ec0 75 6c 74 2e 7a 69 67 3c 2f 6b 62 64 3e 0a 31 2f 31 20 74 65 73 74 5f 73 74 72 75 63 74 5f 72 65 ult.zig</kbd>.1/1.test_struct_re
45ee0 73 75 6c 74 2e 74 65 73 74 2e 61 6e 6f 6e 79 6d 6f 75 73 20 73 74 72 75 63 74 20 6c 69 74 65 72 sult.test.anonymous.struct.liter
45f00 61 6c 2e 2e 2e 4f 4b 0a 41 6c 6c 20 31 20 74 65 73 74 73 20 70 61 73 73 65 64 2e 0a 3c 2f 73 61 al...OK.All.1.tests.passed..</sa
45f20 6d 70 3e 3c 2f 70 72 65 3e 3c 2f 66 69 67 75 72 65 3e 0a 0a 20 20 20 20 20 20 3c 70 3e 0a 20 20 mp></pre></figure>........<p>...
45f40 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 66 65 72 ....The.struct.type.can.be.infer
45f60 72 65 64 2e 20 48 65 72 65 20 74 68 65 20 3c 61 20 68 72 65 66 3d 22 23 52 65 73 75 6c 74 2d 4c red..Here.the.<a.href="#Result-L
45f80 6f 63 61 74 69 6f 6e 2d 53 65 6d 61 6e 74 69 63 73 22 3e 72 65 73 75 6c 74 20 6c 6f 63 61 74 69 ocation-Semantics">result.locati
45fa0 6f 6e 3c 2f 61 3e 0a 20 20 20 20 20 20 64 6f 65 73 20 6e 6f 74 20 69 6e 63 6c 75 64 65 20 61 20 on</a>.......does.not.include.a.
45fc0 74 79 70 65 2c 20 61 6e 64 20 73 6f 20 5a 69 67 20 69 6e 66 65 72 73 20 74 68 65 20 74 79 70 65 type,.and.so.Zig.infers.the.type
45fe0 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
46000 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
46020 73 73 3d 22 66 69 6c 65 22 3e 74 65 73 74 5f 61 6e 6f 6e 79 6d 6f 75 73 5f 73 74 72 75 63 74 2e ss="file">test_anonymous_struct.
46040 7a 69 67 3c 2f 63 69 74 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
46060 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 63 6f 6e 73 74 3c 2f 73 70 e><span.class="tok-kw">const</sp
46080 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
460a0 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="
460c0 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>)
460e0 3b 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 63 6f 6e 73 74 3c 2f 73 70 ;.<span.class="tok-kw">const</sp
46100 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;
46120 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 63 6f 6e 73 74 3c 2f 73 70 61 .<span.class="tok-kw">const</spa
46140 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
46160 65 63 74 45 71 75 61 6c 3b 0a 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e ectEqual;..<span.class="tok-kw">
46180 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
461a0 22 3e 26 71 75 6f 74 3b 66 75 6c 6c 79 20 61 6e 6f 6e 79 6d 6f 75 73 20 73 74 72 75 63 74 26 71 ">&quot;fully.anonymous.struct&q
461c0 75 6f 74 3b 3c 2f 73 70 61 6e 3e 20 7b 0a 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 uot;</span>.{.....<span.class="t
461e0 6f 6b 2d 6b 77 22 3e 74 72 79 3c 2f 73 70 61 6e 3e 20 63 68 65 63 6b 28 2e 7b 0a 20 20 20 20 20 ok-kw">try</span>.check(.{......
46200 20 20 20 2e 69 6e 74 20 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 62 75 69 6c 74 ....int.=.<span.class="tok-built
46220 69 6e 22 3e 40 61 73 3c 2f 73 70 61 6e 3e 28 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d in">@as</span>(<span.class="tok-
46240 74 79 70 65 22 3e 75 33 32 3c 2f 73 70 61 6e 3e 2c 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 type">u32</span>,.<span.class="t
46260 6f 6b 2d 6e 75 6d 62 65 72 22 3e 31 32 33 34 3c 2f 73 70 61 6e 3e 29 2c 0a 20 20 20 20 20 20 20 ok-number">1234</span>),........
46280 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 62 75 69 6c 74 ..float.=.<span.class="tok-built
462a0 69 6e 22 3e 40 61 73 3c 2f 73 70 61 6e 3e 28 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d in">@as</span>(<span.class="tok-
462c0 74 79 70 65 22 3e 66 36 34 3c 2f 73 70 61 6e 3e 2c 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 type">f64</span>,.<span.class="t
462e0 6f 6b 2d 6e 75 6d 62 65 72 22 3e 31 32 2e 33 34 3c 2f 73 70 61 6e 3e 29 2c 0a 20 20 20 20 20 20 ok-number">12.34</span>),.......
46300 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 6c 6c 22 3e 74 72 ...b.=.<span.class="tok-null">tr
46320 75 65 3c 2f 73 70 61 6e 3e 2c 0a 20 20 20 20 20 20 20 20 2e 73 20 3d 20 3c 73 70 61 6e 20 63 6c ue</span>,..........s.=.<span.cl
46340 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
46360 61 6e 3e 2c 0a 20 20 20 20 7d 29 3b 0a 7d 0a 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b an>,.....});.}..<span.class="tok
46380 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-
463a0 66 6e 22 3e 63 68 65 63 6b 3c 2f 73 70 61 6e 3e 28 61 72 67 73 3a 20 3c 73 70 61 6e 20 63 6c 61 fn">check</span>(args:.<span.cla
463c0 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 61 6e 79 74 79 70 65 3c 2f 73 70 61 6e 3e 29 20 21 3c 73 70 ss="tok-kw">anytype</span>).!<sp
463e0 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>.
46400 7b 0a 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 74 72 79 3c 2f {.....<span.class="tok-kw">try</
46420 73 70 61 6e 3e 20 65 78 70 65 63 74 45 71 75 61 6c 28 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 span>.expectEqual(<span.class="t
46440 6f 6b 2d 6e 75 6d 62 65 72 22 3e 31 32 33 34 3c 2f 73 70 61 6e 3e 2c 20 61 72 67 73 2e 69 6e 74 ok-number">1234</span>,.args.int
46460 29 3b 0a 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 74 72 79 3c );.....<span.class="tok-kw">try<
46480 2f 73 70 61 6e 3e 20 65 78 70 65 63 74 45 71 75 61 6c 28 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 /span>.expectEqual(<span.class="
464a0 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 31 32 2e 33 34 3c 2f 73 70 61 6e 3e 2c 20 61 72 67 73 2e 66 tok-number">12.34</span>,.args.f
464c0 6c 6f 61 74 29 3b 0a 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e loat);.....<span.class="tok-kw">
464e0 74 72 79 3c 2f 73 70 61 6e 3e 20 65 78 70 65 63 74 28 61 72 67 73 2e 62 29 3b 0a 20 20 20 20 3c try</span>.expect(args.b);.....<
46500 73 70 61 6e 20 63 6c 61 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
46520 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 73 74 72 22 xpectEqual(<span.class="tok-str"
46540 3e 27 68 27 3c 2f 73 70 61 6e 3e 2c 20 61 72 67 73 2e 73 5b 3c 73 70 61 6e 20 63 6c 61 73 73 3d >'h'</span>,.args.s[<span.class=
46560 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 30 3c 2f 73 70 61 6e 3e 5d 29 3b 0a 20 20 20 20 3c 73 70 "tok-number">0</span>]);.....<sp
46580 61 6e 20 63 6c 61 73 73 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
465a0 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 73 74 72 22 3e 27 ectEqual(<span.class="tok-str">'
465c0 69 27 3c 2f 73 70 61 6e 3e 2c 20 61 72 67 73 2e 73 5b 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 i'</span>,.args.s[<span.class="t
465e0 6f 6b 2d 6e 75 6d 62 65 72 22 3e 31 3c 2f 73 70 61 6e 3e 5d 29 3b 0a 7d 3c 2f 63 6f 64 65 3e 3c ok-number">1</span>]);.}</code><
46600 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
46620 6e 20 63 6c 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
46640 70 74 69 6f 6e 3e 3c 70 72 65 3e 3c 73 61 6d 70 3e 24 20 3c 6b 62 64 3e 7a 69 67 20 74 65 73 74 ption><pre><samp>$.<kbd>zig.test
46660 20 74 65 73 74 5f 61 6e 6f 6e 79 6d 6f 75 73 5f 73 74 72 75 63 74 2e 7a 69 67 3c 2f 6b 62 64 3e .test_anonymous_struct.zig</kbd>
46680 0a 31 2f 31 20 74 65 73 74 5f 61 6e 6f 6e 79 6d 6f 75 73 5f 73 74 72 75 63 74 2e 74 65 73 74 2e .1/1.test_anonymous_struct.test.
466a0 66 75 6c 6c 79 20 61 6e 6f 6e 79 6d 6f 75 73 20 73 74 72 75 63 74 2e 2e 2e 4f 4b 0a 41 6c 6c 20 fully.anonymous.struct...OK.All.
466c0 31 20 74 65 73 74 73 20 70 61 73 73 65 64 2e 0a 3c 2f 73 61 6d 70 3e 3c 2f 70 72 65 3e 3c 2f 66 1.tests.passed..</samp></pre></f
466e0 69 67 75 72 65 3e 0a 0a 20 20 20 20 20 20 0a 0a 20 20 20 20 20 20 3c 68 33 20 69 64 3d 22 54 75 igure>................<h3.id="Tu
46700 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 54 75 70 ples"><a.href="nav.xhtml#toc-Tup
46720 6c 65 73 22 3e 54 75 70 6c 65 73 3c 2f 61 3e 20 3c 61 20 63 6c 61 73 73 3d 22 68 64 72 22 20 68 les">Tuples</a>.<a.class="hdr".h
46740 72 65 66 3d 22 23 54 75 70 6c 65 73 22 3e c2 a7 3c 2f 61 3e 3c 2f 68 33 3e 0a 0a 20 20 20 20 20 ref="#Tuples">..</a></h3>.......
46760 20 3c 70 3e 0a 20 20 20 20 20 20 41 6e 6f 6e 79 6d 6f 75 73 20 73 74 72 75 63 74 73 20 63 61 6e .<p>.......Anonymous.structs.can
46780 20 62 65 20 63 72 65 61 74 65 64 20 77 69 74 68 6f 75 74 20 73 70 65 63 69 66 79 69 6e 67 20 66 .be.created.without.specifying.f
467a0 69 65 6c 64 20 6e 61 6d 65 73 2c 20 61 6e 64 20 61 72 65 20 72 65 66 65 72 72 65 64 20 74 6f 20 ield.names,.and.are.referred.to.
467c0 61 73 20 22 74 75 70 6c 65 73 22 2e 20 41 6e 20 65 6d 70 74 79 20 74 75 70 6c 65 20 6c 6f 6f 6b as."tuples"..An.empty.tuple.look
467e0 73 20 6c 69 6b 65 20 3c 63 6f 64 65 3e 2e 7b 7d 3c 2f 63 6f 64 65 3e 20 61 6e 64 20 63 61 6e 20 s.like.<code>.{}</code>.and.can.
46800 62 65 20 73 65 65 6e 20 69 6e 20 6f 6e 65 20 6f 66 20 74 68 65 20 3c 61 20 68 72 65 66 3d 22 23 be.seen.in.one.of.the.<a.href="#
46820 48 65 6c 6c 6f 2d 57 6f 72 6c 64 22 3e 48 65 6c 6c 6f 20 57 6f 72 6c 64 20 65 78 61 6d 70 6c 65 Hello-World">Hello.World.example
46840 73 3c 2f 61 3e 2e 0a 20 20 20 20 20 20 3c 2f 70 3e 0a 20 20 20 20 20 20 3c 70 3e 0a 20 20 20 20 s</a>........</p>.......<p>.....
46860 20 20 54 68 65 20 66 69 65 6c 64 73 20 61 72 65 20 69 6d 70 6c 69 63 69 74 6c 79 20 6e 61 6d 65 ..The.fields.are.implicitly.name
46880 64 20 75 73 69 6e 67 20 6e 75 6d 62 65 72 73 20 73 74 61 72 74 69 6e 67 20 66 72 6f 6d 20 30 2e d.using.numbers.starting.from.0.
468a0 20 42 65 63 61 75 73 65 20 74 68 65 69 72 20 6e 61 6d 65 73 20 61 72 65 20 69 6e 74 65 67 65 72 .Because.their.names.are.integer
468c0 73 2c 0a 20 20 20 20 20 20 74 68 65 79 20 63 61 6e 6e 6f 74 20 62 65 20 61 63 63 65 73 73 65 64 s,.......they.cannot.be.accessed
468e0 20 77 69 74 68 20 3c 63 6f 64 65 3e 2e 3c 2f 63 6f 64 65 3e 20 73 79 6e 74 61 78 20 77 69 74 68 .with.<code>.</code>.syntax.with
46900 6f 75 74 20 61 6c 73 6f 20 77 72 61 70 70 69 6e 67 20 74 68 65 6d 20 69 6e 0a 20 20 20 20 20 20 out.also.wrapping.them.in.......
46920 3c 63 6f 64 65 3e 40 26 71 75 6f 74 3b 26 71 75 6f 74 3b 3c 2f 63 6f 64 65 3e 2e 20 4e 61 6d 65 <code>@&quot;&quot;</code>..Name
46940 73 20 69 6e 73 69 64 65 20 3c 63 6f 64 65 3e 40 26 71 75 6f 74 3b 26 71 75 6f 74 3b 3c 2f 63 6f s.inside.<code>@&quot;&quot;</co
46960 64 65 3e 20 61 72 65 20 61 6c 77 61 79 73 20 72 65 63 6f 67 6e 69 73 65 64 20 61 73 0a 20 20 20 de>.are.always.recognised.as....
46980 20 20 20 3c 61 20 68 72 65 66 3d 22 23 49 64 65 6e 74 69 66 69 65 72 73 22 3e 69 64 65 6e 74 69 ...<a.href="#Identifiers">identi
469a0 66 69 65 72 73 3c 2f 61 3e 2e 0a 20 20 20 20 20 20 3c 2f 70 3e 0a 20 20 20 20 20 20 3c 70 3e 0a fiers</a>........</p>.......<p>.
469c0 20 20 20 20 20 20 4c 69 6b 65 20 61 72 72 61 79 73 2c 20 74 75 70 6c 65 73 20 68 61 76 65 20 61 ......Like.arrays,.tuples.have.a
469e0 20 2e 6c 65 6e 20 66 69 65 6c 64 2c 20 63 61 6e 20 62 65 20 69 6e 64 65 78 65 64 20 28 70 72 6f ..len.field,.can.be.indexed.(pro
46a00 76 69 64 65 64 20 74 68 65 20 69 6e 64 65 78 20 69 73 20 63 6f 6d 70 74 69 6d 65 2d 6b 6e 6f 77 vided.the.index.is.comptime-know
46a20 6e 29 0a 20 20 20 20 20 20 61 6e 64 20 77 6f 72 6b 20 77 69 74 68 20 74 68 65 20 2b 2b 20 6f 70 n).......and.work.with.the.++.op
46a40 65 72 61 74 6f 72 2e 20 54 68 65 79 20 63 61 6e 20 61 6c 73 6f 20 62 65 20 69 74 65 72 61 74 65 erator..They.can.also.be.iterate
46a60 64 20 6f 76 65 72 20 77 69 74 68 20 3c 61 20 68 72 65 66 3d 22 23 69 6e 6c 69 6e 65 2d 66 6f 72 d.over.with.<a.href="#inline-for
46a80 22 3e 69 6e 6c 69 6e 65 20 66 6f 72 3c 2f 61 3e 2e 0a 20 20 20 20 20 20 3c 2f 70 3e 0a 20 20 20 ">inline.for</a>........</p>....
46aa0 20 20 20 3c 66 69 67 75 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
46ac0 67 2d 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
46ae0 75 70 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 uples.zig</cite></figcaption><pr
46b00 65 3e 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 63 6f 6e e><code><span.class="tok-kw">con
46b20 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
46b40 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
46b60 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;</
46b80 73 70 61 6e 3e 29 3b 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 63 6f 6e span>);.<span.class="tok-kw">con
46ba0 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
46bc0 78 70 65 63 74 3b 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 63 6f 6e 73 xpect;.<span.class="tok-kw">cons
46be0 74 3c 2f 73 70 61 6e 3e 20 65 78 70 65 63 74 45 71 75 61 6c 20 3d 20 73 74 64 2e 74 65 73 74 69 t</span>.expectEqual.=.std.testi
46c00 6e 67 2e 65 78 70 65 63 74 45 71 75 61 6c 3b 0a 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f ng.expectEqual;..<span.class="to
46c20 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
46c40 6f 6b 2d 73 74 72 22 3e 26 71 75 6f 74 3b 74 75 70 6c 65 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e ok-str">&quot;tuple&quot;</span>
46c60 20 7b 0a 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 63 6f 6e 73 .{.....<span.class="tok-kw">cons
46c80 74 3c 2f 73 70 61 6e 3e 20 76 61 6c 75 65 73 20 3d 20 2e 7b 0a 20 20 20 20 20 20 20 20 3c 73 70 t</span>.values.=..{.........<sp
46ca0 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
46cc0 3e 28 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 75 33 32 3c 2f 73 70 >(<span.class="tok-type">u32</sp
46ce0 61 6e 3e 2c 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 31 32 an>,.<span.class="tok-number">12
46d00 33 34 3c 2f 73 70 61 6e 3e 29 2c 0a 20 20 20 20 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 34</span>),.........<span.class=
46d20 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
46d40 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 66 36 34 3c 2f 73 70 61 6e 3e 2c 20 3c 73 70 61 lass="tok-type">f64</span>,.<spa
46d60 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 6e n.class="tok-number">12.34</span
46d80 3e 29 2c 0a 20 20 20 20 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6c >),.........<span.class="tok-nul
46da0 6c 22 3e 74 72 75 65 3c 2f 73 70 61 6e 3e 2c 0a 20 20 20 20 20 20 20 20 3c 73 70 61 6e 20 63 6c l">true</span>,.........<span.cl
46dc0 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
46de0 61 6e 3e 2c 0a 20 20 20 20 7d 20 2b 2b 20 2e 7b 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f an>,.....}.++..{.<span.class="to
46e00 6b 2d 6e 75 6c 6c 22 3e 66 61 6c 73 65 3c 2f 73 70 61 6e 3e 2c 20 3c 73 70 61 6e 20 63 6c 61 73 k-null">false</span>,.<span.clas
46e20 73 3d 22 74 6f 6b 2d 6e 75 6c 6c 22 3e 66 61 6c 73 65 3c 2f 73 70 61 6e 3e 20 7d 3b 0a 20 20 20 s="tok-null">false</span>.};....
46e40 20 3c 73 70 61 6e 20 63 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>
46e60 20 65 78 70 65 63 74 45 71 75 61 6c 28 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 .expectEqual(<span.class="tok-nu
46e80 6d 62 65 72 22 3e 31 32 33 34 3c 2f 73 70 61 6e 3e 2c 20 76 61 6c 75 65 73 5b 3c 73 70 61 6e 20 mber">1234</span>,.values[<span.
46ea0 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 0a 20 class="tok-number">0</span>]);..
46ec0 20 20 20 3c 73 70 61 6e 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
46ee0 6e 3e 20 65 78 70 65 63 74 45 71 75 61 6c 28 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d n>.expectEqual(<span.class="tok-
46f00 6e 75 6c 6c 22 3e 66 61 6c 73 65 3c 2f 73 70 61 6e 3e 2c 20 76 61 6c 75 65 73 5b 3c 73 70 61 6e null">false</span>,.values[<span
46f20 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 29 3b 0a .class="tok-number">4</span>]);.
46f40 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 69 6e 6c 69 6e 65 3c ....<span.class="tok-kw">inline<
46f60 2f 73 70 61 6e 3e 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 66 6f 72 3c /span>.<span.class="tok-kw">for<
46f80 2f 73 70 61 6e 3e 20 28 76 61 6c 75 65 73 2c 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b /span>.(values,.<span.class="tok
46fa0 2d 6e 75 6d 62 65 72 22 3e 30 3c 2f 73 70 61 6e 3e 2e 2e 29 20 7c 76 2c 20 69 7c 20 7b 0a 20 20 -number">0</span>..).|v,.i|.{...
46fc0 20 20 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 69 66 3c 2f 73 ......<span.class="tok-kw">if</s
46fe0 70 61 6e 3e 20 28 69 20 21 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 pan>.(i.!=.<span.class="tok-numb
47000 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
47020 77 22 3e 63 6f 6e 74 69 6e 75 65 3c 2f 73 70 61 6e 3e 3b 0a 20 20 20 20 20 20 20 20 3c 73 70 61 w">continue</span>;.........<spa
47040 6e 20 63 6c 61 73 73 3d 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
47060 63 74 28 76 29 3b 0a 20 20 20 20 7d 0a 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f ct(v);.....}.....<span.class="to
47080 6b 2d 6b 77 22 3e 74 72 79 3c 2f 73 70 61 6e 3e 20 65 78 70 65 63 74 45 71 75 61 6c 28 3c 73 70 k-kw">try</span>.expectEqual(<sp
470a0 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 36 3c 2f 73 70 61 6e 3e 2c 20 an.class="tok-number">6</span>,.
470c0 76 61 6c 75 65 73 2e 6c 65 6e 29 3b 0a 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f values.len);.....<span.class="to
470e0 6b 2d 6b 77 22 3e 74 72 79 3c 2f 73 70 61 6e 3e 20 65 78 70 65 63 74 45 71 75 61 6c 28 3c 73 70 k-kw">try</span>.expectEqual(<sp
47100 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 73 74 72 22 3e 27 68 27 3c 2f 73 70 61 6e 3e 2c 20 76 an.class="tok-str">'h'</span>,.v
47120 61 6c 75 65 73 2e 40 26 71 75 6f 74 3b 33 26 71 75 6f 74 3b 5b 3c 73 70 61 6e 20 63 6c 61 73 73 alues.@&quot;3&quot;[<span.class
47140 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 0a 7d 3c 2f 63 6f 64 ="tok-number">0</span>]);.}</cod
47160 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
47180 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
471a0 67 63 61 70 74 69 6f 6e 3e 3c 70 72 65 3e 3c 73 61 6d 70 3e 24 20 3c 6b 62 64 3e 7a 69 67 20 74 gcaption><pre><samp>$.<kbd>zig.t
471c0 65 73 74 20 74 65 73 74 5f 74 75 70 6c 65 73 2e 7a 69 67 3c 2f 6b 62 64 3e 0a 31 2f 31 20 74 65 est.test_tuples.zig</kbd>.1/1.te
471e0 73 74 5f 74 75 70 6c 65 73 2e 74 65 73 74 2e 74 75 70 6c 65 2e 2e 2e 4f 4b 0a 41 6c 6c 20 31 20 st_tuples.test.tuple...OK.All.1.
47200 74 65 73 74 73 20 70 61 73 73 65 64 2e 0a 3c 2f 73 61 6d 70 3e 3c 2f 70 72 65 3e 3c 2f 66 69 67 tests.passed..</samp></pre></fig
47220 75 72 65 3e 0a 0a 20 20 20 20 20 20 3c 68 34 20 69 64 3d 22 44 65 73 74 72 75 63 74 75 72 69 6e ure>........<h4.id="Destructurin
47240 67 2d 54 75 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 g-Tuples"><a.href="nav.xhtml#toc
47260 2d 44 65 73 74 72 75 63 74 75 72 69 6e 67 2d 54 75 70 6c 65 73 22 3e 44 65 73 74 72 75 63 74 75 -Destructuring-Tuples">Destructu
47280 72 69 6e 67 20 54 75 70 6c 65 73 3c 2f 61 3e 20 3c 61 20 63 6c 61 73 73 3d 22 68 64 72 22 20 68 ring.Tuples</a>.<a.class="hdr".h
472a0 72 65 66 3d 22 23 44 65 73 74 72 75 63 74 75 72 69 6e 67 2d 54 75 70 6c 65 73 22 3e c2 a7 3c 2f ref="#Destructuring-Tuples">..</
472c0 61 3e 3c 2f 68 34 3e 0a 0a 20 20 20 20 20 20 3c 70 3e 0a 20 20 20 20 20 20 20 20 54 75 70 6c 65 a></h4>........<p>.........Tuple
472e0 73 20 63 61 6e 20 62 65 20 3c 61 20 68 72 65 66 3d 22 23 44 65 73 74 72 75 63 74 75 72 69 6e 67 s.can.be.<a.href="#Destructuring
47300 22 3e 64 65 73 74 72 75 63 74 75 72 65 64 3c 2f 61 3e 2e 0a 20 20 20 20 20 20 3c 2f 70 3e 0a 20 ">destructured</a>........</p>..
47320 20 20 20 20 20 3c 70 3e 0a 20 20 20 20 20 20 20 20 54 75 70 6c 65 20 64 65 73 74 72 75 63 74 75 .....<p>.........Tuple.destructu
47340 72 69 6e 67 20 69 73 20 68 65 6c 70 66 75 6c 20 66 6f 72 20 72 65 74 75 72 6e 69 6e 67 20 6d 75 ring.is.helpful.for.returning.mu
47360 6c 74 69 70 6c 65 20 76 61 6c 75 65 73 20 66 72 6f 6d 20 61 20 62 6c 6f 63 6b 3a 0a 20 20 20 20 ltiple.values.from.a.block:.....
47380 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
473a0 20 63 6c 61 73 73 3d 22 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
473c0 6c 65 22 3e 64 65 73 74 72 75 63 74 75 72 69 6e 67 5f 62 6c 6f 63 6b 2e 7a 69 67 3c 2f 63 69 74 le">destructuring_block.zig</cit
473e0 65 3e 3c 2f 66 69 67 63 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.
47400 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 63 6f 6e 73 74 3c 2f 73 70 61 6e 3e 20 70 72 69 6e class="tok-kw">const</span>.prin
47420 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
47440 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
47460 72 22 3e 26 71 75 6f 74 3b 73 74 64 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 29 2e 64 65 62 75 67 r">&quot;std&quot;</span>).debug
47480 2e 70 72 69 6e 74 3b 0a 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 70 75 .print;..<span.class="tok-kw">pu
474a0 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
474c0 3c 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
474e0 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
47500 22 3e 76 6f 69 64 3c 2f 73 70 61 6e 3e 20 7b 0a 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d ">void</span>.{.....<span.class=
47520 22 74 6f 6b 2d 6b 77 22 3e 63 6f 6e 73 74 3c 2f 73 70 61 6e 3e 20 64 69 67 69 74 73 20 3d 20 5b "tok-kw">const</span>.digits.=.[
47540 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 38 3c 2f 73 70 61 _]<span.class="tok-type">i8</spa
47560 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 33 3c n>.{.<span.class="tok-number">3<
47580 2f 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"
475a0 3e 38 3c 2f 73 70 61 6e 3e 2c 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 >8</span>,.<span.class="tok-numb
475c0 65 72 22 3e 39 3c 2f 73 70 61 6e 3e 2c 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e er">9</span>,.<span.class="tok-n
475e0 75 6d 62 65 72 22 3e 30 3c 2f 73 70 61 6e 3e 2c 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f umber">0</span>,.<span.class="to
47600 6b 2d 6e 75 6d 62 65 72 22 3e 37 3c 2f 73 70 61 6e 3e 2c 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d k-number">7</span>,.<span.class=
47620 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 34 3c 2f 73 70 61 6e 3e 2c 20 3c 73 70 61 6e 20 63 6c 61 "tok-number">4</span>,.<span.cla
47640 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 0a 0a 20 20 20 ss="tok-number">1</span>.};.....
47660 20 3c 73 70 61 6e 20 63 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
47680 6e 3e 20 6d 69 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 6e n>.min,.<span.class="tok-kw">con
476a0 73 74 3c 2f 73 70 61 6e 3e 20 6d 61 78 20 3d 20 62 6c 6b 3a 20 7b 0a 20 20 20 20 20 20 20 20 3c st</span>.max.=.blk:.{.........<
476c0 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 6d span.class="tok-kw">var</span>.m
476e0 69 6e 3a 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 69 38 3c 2f 73 in:.<span.class="tok-type">i8</s
47700 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">
47720 31 32 37 3c 2f 73 70 61 6e 3e 3b 0a 20 20 20 20 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 127</span>;.........<span.class=
47740 22 74 6f 6b 2d 6b 77 22 3e 76 61 72 3c 2f 73 70 61 6e 3e 20 6d 61 78 3a 20 3c 73 70 61 6e 20 63 "tok-kw">var</span>.max:.<span.c
47760 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 69 38 3c 2f 73 70 61 6e 3e 20 3d 20 2d 3c 73 70 lass="tok-type">i8</span>.=.-<sp
47780 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 31 32 38 3c 2f 73 70 61 6e 3e an.class="tok-number">128</span>
477a0 3b 0a 0a 20 20 20 20 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e ;..........<span.class="tok-kw">
477c0 66 6f 72 3c 2f 73 70 61 6e 3e 20 28 64 69 67 69 74 73 29 20 7c 64 69 67 69 74 7c 20 7b 0a 20 20 for</span>.(digits).|digit|.{...
477e0 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 69 ..........<span.class="tok-kw">i
47800 66 3c 2f 73 70 61 6e 3e 20 28 64 69 67 69 74 20 26 6c 74 3b 20 6d 69 6e 29 20 6d 69 6e 20 3d 20 f</span>.(digit.&lt;.min).min.=.
47820 64 69 67 69 74 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 digit;.............<span.class="
47840 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 20 6d 61 tok-kw">if</span>.(digit.&gt;.ma
47860 78 29 20 6d 61 78 20 3d 20 64 69 67 69 74 3b 0a 20 20 20 20 20 20 20 20 7d 0a 0a 20 20 20 20 20 x).max.=.digit;.........}.......
47880 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
478a0 70 61 6e 3e 20 3a 62 6c 6b 20 2e 7b 20 6d 69 6e 2c 20 6d 61 78 20 7d 3b 0a 20 20 20 20 7d 3b 0a pan>.:blk..{.min,.max.};.....};.
478c0 0a 20 20 20 20 70 72 69 6e 74 28 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 73 74 72 22 .....print(<span.class="tok-str"
478e0 3e 26 71 75 6f 74 3b 6d 69 6e 20 3d 20 7b 7d 5c 6e 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 2c 20 >&quot;min.=.{}\n&quot;</span>,.
47900 2e 7b 20 6d 69 6e 20 7d 29 3b 0a 20 20 20 20 70 72 69 6e 74 28 3c 73 70 61 6e 20 63 6c 61 73 73 .{.min.});.....print(<span.class
47920 3d 22 74 6f 6b 2d 73 74 72 22 3e 26 71 75 6f 74 3b 6d 61 78 20 3d 20 7b 7d 5c 6e 26 71 75 6f 74 ="tok-str">&quot;max.=.{}\n&quot
47940 3b 3c 2f 73 70 61 6e 3e 2c 20 2e 7b 20 6d 61 78 20 7d 29 3b 0a 7d 3c 2f 63 6f 64 65 3e 3c 2f 70 ;</span>,..{.max.});.}</code></p
47960 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.
47980 63 6c 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
479a0 69 6f 6e 3e 3c 70 72 65 3e 3c 73 61 6d 70 3e 24 20 3c 6b 62 64 3e 7a 69 67 20 62 75 69 6c 64 2d ion><pre><samp>$.<kbd>zig.build-
479c0 65 78 65 20 64 65 73 74 72 75 63 74 75 72 69 6e 67 5f 62 6c 6f 63 6b 2e 7a 69 67 3c 2f 6b 62 64 exe.destructuring_block.zig</kbd
479e0 3e 0a 24 20 3c 6b 62 64 3e 2e 2f 64 65 73 74 72 75 63 74 75 72 69 6e 67 5f 62 6c 6f 63 6b 3c 2f >.$.<kbd>./destructuring_block</
47a00 6b 62 64 3e 0a 6d 69 6e 20 3d 20 30 0a 6d 61 78 20 3d 20 39 0a 3c 2f 73 61 6d 70 3e 3c 2f 70 72 kbd>.min.=.0.max.=.9.</samp></pr
47a20 65 3e 3c 2f 66 69 67 75 72 65 3e 0a 0a 20 20 20 20 20 20 3c 70 3e 0a 20 20 20 20 20 20 20 20 54 e></figure>........<p>.........T
47a40 75 70 6c 65 20 64 65 73 74 72 75 63 74 75 72 69 6e 67 20 69 73 20 68 65 6c 70 66 75 6c 20 66 6f uple.destructuring.is.helpful.fo
47a60 72 20 64 65 61 6c 69 6e 67 20 77 69 74 68 20 66 75 6e 63 74 69 6f 6e 73 20 61 6e 64 20 62 75 69 r.dealing.with.functions.and.bui
47a80 6c 74 2d 69 6e 73 20 74 68 61 74 20 72 65 74 75 72 6e 20 6d 75 6c 74 69 70 6c 65 20 76 61 6c 75 lt-ins.that.return.multiple.valu
47aa0 65 73 0a 20 20 20 20 20 20 20 20 61 73 20 61 20 74 75 70 6c 65 3a 0a 20 20 20 20 20 20 3c 2f 70 es.........as.a.tuple:.......</p
47ac0 3e 0a 20 20 20 20 20 20 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
47ae0 73 3d 22 7a 69 67 2d 63 61 70 22 3e 3c 63 69 74 65 20 63 6c 61 73 73 3d 22 66 69 6c 65 22 3e 64 s="zig-cap"><cite.class="file">d
47b00 65 73 74 72 75 63 74 75 72 69 6e 67 5f 72 65 74 75 72 6e 5f 76 61 6c 75 65 2e 7a 69 67 3c 2f 63 estructuring_return_value.zig</c
47b20 69 74 65 3e 3c 2f 66 69 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
47b40 6e 20 63 6c 61 73 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
47b60 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">
47b80 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-
47ba0 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
47bc0 75 67 2e 70 72 69 6e 74 3b 0a 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e ug.print;..<span.class="tok-kw">
47be0 66 6e 3c 2f 73 70 61 6e 3e 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 66 6e 22 3e 64 fn</span>.<span.class="tok-fn">d
47c00 69 76 6d 6f 64 3c 2f 73 70 61 6e 3e 28 6e 75 6d 65 72 61 74 6f 72 3a 20 3c 73 70 61 6e 20 63 6c ivmod</span>(numerator:.<span.cl
47c20 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 6e 6f 6d ass="tok-type">u32</span>,.denom
47c40 69 6e 61 74 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 75 inator:.<span.class="tok-type">u
47c60 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 3e 32</span>).<span.class="tok-kw">
47c80 73 74 72 75 63 74 3c 2f 73 70 61 6e 3e 20 7b 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b struct</span>.{.<span.class="tok
47ca0 2d 74 79 70 65 22 3e 75 33 32 3c 2f 73 70 61 6e 3e 2c 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 -type">u32</span>,.<span.class="
47cc0 74 6f 6b 2d 74 79 70 65 22 3e 75 33 32 3c 2f 73 70 61 6e 3e 20 7d 20 7b 0a 20 20 20 20 3c 73 70 tok-type">u32</span>.}.{.....<sp
47ce0 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>.
47d00 2e 7b 20 6e 75 6d 65 72 61 74 6f 72 20 2f 20 64 65 6e 6f 6d 69 6e 61 74 6f 72 2c 20 6e 75 6d 65 .{.numerator./.denominator,.nume
47d20 72 61 74 6f 72 20 25 20 64 65 6e 6f 6d 69 6e 61 74 6f 72 20 7d 3b 0a 7d 0a 0a 3c 73 70 61 6e 20 rator.%.denominator.};.}..<span.
47d40 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.
47d60 63 6c 61 73 73 3d 22 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
47d80 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
47da0 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>.{
47dc0 0a 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 63 6f 6e 73 74 3c .....<span.class="tok-kw">const<
47de0 2f 73 70 61 6e 3e 20 64 69 76 2c 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 /span>.div,.<span.class="tok-kw"
47e00 3e 63 6f 6e 73 74 3c 2f 73 70 61 6e 3e 20 6d 6f 64 20 3d 20 64 69 76 6d 6f 64 28 3c 73 70 61 6e >const</span>.mod.=.divmod(<span
47e20 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 31 30 3c 2f 73 70 61 6e 3e 2c 20 3c .class="tok-number">10</span>,.<
47e40 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>
47e60 29 3b 0a 0a 20 20 20 20 70 72 69 6e 74 28 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 73 );......print(<span.class="tok-s
47e80 74 72 22 3e 26 71 75 6f 74 3b 31 30 20 2f 20 33 20 3d 20 7b 7d 5c 6e 26 71 75 6f 74 3b 3c 2f 73 tr">&quot;10./.3.=.{}\n&quot;</s
47ea0 70 61 6e 3e 2c 20 2e 7b 64 69 76 7d 29 3b 0a 20 20 20 20 70 72 69 6e 74 28 3c 73 70 61 6e 20 63 pan>,..{div});.....print(<span.c
47ec0 6c 61 73 73 3d 22 74 6f 6b 2d 73 74 72 22 3e 26 71 75 6f 74 3b 31 30 20 25 20 33 20 3d 20 7b 7d lass="tok-str">&quot;10.%.3.=.{}
47ee0 5c 6e 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 2c 20 2e 7b 6d 6f 64 7d 29 3b 0a 7d 3c 2f 63 6f 64 \n&quot;</span>,..{mod});.}</cod
47f00 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
47f20 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
47f40 67 63 61 70 74 69 6f 6e 3e 3c 70 72 65 3e 3c 73 61 6d 70 3e 24 20 3c 6b 62 64 3e 7a 69 67 20 62 gcaption><pre><samp>$.<kbd>zig.b
47f60 75 69 6c 64 2d 65 78 65 20 64 65 73 74 72 75 63 74 75 72 69 6e 67 5f 72 65 74 75 72 6e 5f 76 61 uild-exe.destructuring_return_va
47f80 6c 75 65 2e 7a 69 67 3c 2f 6b 62 64 3e 0a 24 20 3c 6b 62 64 3e 2e 2f 64 65 73 74 72 75 63 74 75 lue.zig</kbd>.$.<kbd>./destructu
47fa0 72 69 6e 67 5f 72 65 74 75 72 6e 5f 76 61 6c 75 65 3c 2f 6b 62 64 3e 0a 31 30 20 2f 20 33 20 3d ring_return_value</kbd>.10./.3.=
47fc0 20 33 0a 31 30 20 25 20 33 20 3d 20 31 0a 3c 2f 73 61 6d 70 3e 3c 2f 70 72 65 3e 3c 2f 66 69 67 .3.10.%.3.=.1.</samp></pre></fig
47fe0 75 72 65 3e 0a 0a 20 20 20 20 20 20 3c 70 3e 53 65 65 20 61 6c 73 6f 3a 3c 2f 70 3e 3c 75 6c 3e ure>........<p>See.also:</p><ul>
48000 0a 3c 6c 69 3e 3c 61 20 68 72 65 66 3d 22 23 44 65 73 74 72 75 63 74 75 72 69 6e 67 22 3e 44 65 .<li><a.href="#Destructuring">De
48020 73 74 72 75 63 74 75 72 69 6e 67 3c 2f 61 3e 3c 2f 6c 69 3e 0a 3c 6c 69 3e 3c 61 20 68 72 65 66 structuring</a></li>.<li><a.href
48040 3d 22 23 44 65 73 74 72 75 63 74 75 72 69 6e 67 2d 41 72 72 61 79 73 22 3e 44 65 73 74 72 75 63 ="#Destructuring-Arrays">Destruc
48060 74 75 72 69 6e 67 20 41 72 72 61 79 73 3c 2f 61 3e 3c 2f 6c 69 3e 0a 3c 6c 69 3e 3c 61 20 68 72 turing.Arrays</a></li>.<li><a.hr
48080 65 66 3d 22 23 44 65 73 74 72 75 63 74 75 72 69 6e 67 2d 56 65 63 74 6f 72 73 22 3e 44 65 73 74 ef="#Destructuring-Vectors">Dest
480a0 72 75 63 74 75 72 69 6e 67 20 56 65 63 74 6f 72 73 3c 2f 61 3e 3c 2f 6c 69 3e 0a 3c 2f 75 6c 3e ructuring.Vectors</a></li>.</ul>
480c0 0a 0a 20 20 20 20 20 20 0a 20 20 20 20 20 20 0a 20 20 20 20 20 20 3c 70 3e 53 65 65 20 61 6c 73 ......................<p>See.als
480e0 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
48100 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
48120 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 72 65 6e 74 50 ="#fieldParentPtr">@fieldParentP
48140 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 20 20 20 20 20 tr</a></li>.</ul>...............
48160 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 78 68 74 6d 6c <h2.id="enum"><a.href="nav.xhtml
48180 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 73 3d 22 68 64 #toc-enum">enum</a>.<a.class="hd
481a0 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 0a 0a 20 20 20 r".href="#enum">..</a></h2>.....
481c0 20 20 20 3c 66 69 67 75 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
481e0 67 2d 63 61 70 22 3e 3c 63 69 74 65 20 63 6c 61 73 73 3d 22 66 69 6c 65 22 3e 74 65 73 74 5f 65 g-cap"><cite.class="file">test_e
48200 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
48220 3e 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 63 6f 6e 73 ><code><span.class="tok-kw">cons
48240 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
48260 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
48280 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;
482a0 3c 2f 73 70 61 6e 3e 29 2e 74 65 73 74 69 6e 67 2e 65 78 70 65 63 74 3b 0a 3c 73 70 61 6e 20 63 </span>).testing.expect;.<span.c
482c0 6c 61 73 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
482e0 74 45 71 75 61 6c 20 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 62 75 69 6c 74 69 tEqual.=.<span.class="tok-builti
48300 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
48320 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>).
48340 74 65 73 74 69 6e 67 2e 65 78 70 65 63 74 45 71 75 61 6c 3b 0a 3c 73 70 61 6e 20 63 6c 61 73 73 testing.expectEqual;.<span.class
48360 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 45 71 75 ="tok-kw">const</span>.expectEqu
48380 61 6c 53 74 72 69 6e 67 73 20 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 62 75 69 alStrings.=.<span.class="tok-bui
483a0 6c 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
483c0 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
483e0 3e 29 2e 74 65 73 74 69 6e 67 2e 65 78 70 65 63 74 45 71 75 61 6c 53 74 72 69 6e 67 73 3b 0a 3c >).testing.expectEqualStrings;.<
48400 73 70 61 6e 20 63 6c 61 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>
48420 20 6d 65 6d 20 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 62 75 69 6c 74 69 6e 22 .mem.=.<span.class="tok-builtin"
48440 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
48460 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 65 -str">&quot;std&quot;</span>).me
48480 6d 3b 0a 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 63 6f 6d 6d 65 6e 74 22 3e 2f 2f m;..<span.class="tok-comment">//
484a0 20 44 65 63 6c 61 72 65 20 61 6e 20 65 6e 75 6d 2e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 .Declare.an.enum.</span>.<span.c
484c0 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 63 6f 6e 73 74 3c 2f 73 70 61 6e 3e 20 54 79 70 65 20 lass="tok-kw">const</span>.Type.
484e0 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 61 =.<span.class="tok-kw">enum</spa
48500 6e 3e 20 7b 0a 20 20 20 20 6f 6b 2c 0a 20 20 20 20 6e 6f 74 5f 6f 6b 2c 0a 7d 3b 0a 0a 3c 73 70 n>.{.....ok,.....not_ok,.};..<sp
48520 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 63 6f 6d 6d 65 6e 74 22 3e 2f 2f 20 44 65 63 6c 61 72 an.class="tok-comment">//.Declar
48540 65 20 61 20 73 70 65 63 69 66 69 63 20 65 6e 75 6d 20 66 69 65 6c 64 2e 3c 2f 73 70 61 6e 3e 0a e.a.specific.enum.field.</span>.
48560 3c 73 70 61 6e 20 63 6c 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
48580 3e 20 63 20 3d 20 54 79 70 65 2e 6f 6b 3b 0a 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b >.c.=.Type.ok;..<span.class="tok
485a0 2d 63 6f 6d 6d 65 6e 74 22 3e 2f 2f 20 49 66 20 79 6f 75 20 77 61 6e 74 20 61 63 63 65 73 73 20 -comment">//.If.you.want.access.
485c0 74 6f 20 74 68 65 20 6f 72 64 69 6e 61 6c 20 76 61 6c 75 65 20 6f 66 20 61 6e 20 65 6e 75 6d 2c to.the.ordinal.value.of.an.enum,
485e0 20 79 6f 75 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 63 6f 6d .you</span>.<span.class="tok-com
48600 6d 65 6e 74 22 3e 2f 2f 20 63 61 6e 20 73 70 65 63 69 66 79 20 74 68 65 20 74 61 67 20 74 79 70 ment">//.can.specify.the.tag.typ
48620 65 2e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 63 e.</span>.<span.class="tok-kw">c
48640 6f 6e 73 74 3c 2f 73 70 61 6e 3e 20 56 61 6c 75 65 20 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d onst</span>.Value.=.<span.class=
48660 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
48680 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 75 32 3c 2f 73 70 61 6e 3e 29 20 7b 0a 20 20 20 20 7a 65 72 ="tok-type">u2</span>).{.....zer
486a0 6f 2c 0a 20 20 20 20 6f 6e 65 2c 0a 20 20 20 20 74 77 6f 2c 0a 7d 3b 0a 3c 73 70 61 6e 20 63 6c o,.....one,.....two,.};.<span.cl
486c0 61 73 73 3d 22 74 6f 6b 2d 63 6f 6d 6d 65 6e 74 22 3e 2f 2f 20 4e 6f 77 20 79 6f 75 20 63 61 6e ass="tok-comment">//.Now.you.can
486e0 20 63 61 73 74 20 62 65 74 77 65 65 6e 20 75 32 20 61 6e 64 20 56 61 6c 75 65 2e 3c 2f 73 70 61 .cast.between.u2.and.Value.</spa
48700 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 63 6f 6d 6d 65 6e 74 22 3e 2f 2f 20 n>.<span.class="tok-comment">//.
48720 54 68 65 20 6f 72 64 69 6e 61 6c 20 76 61 6c 75 65 20 73 74 61 72 74 73 20 66 72 6f 6d 20 30 2c The.ordinal.value.starts.from.0,
48740 20 63 6f 75 6e 74 69 6e 67 20 75 70 20 62 79 20 31 20 66 72 6f 6d 20 74 68 65 20 70 72 65 76 69 .counting.up.by.1.from.the.previ
48760 6f 75 73 20 6d 65 6d 62 65 72 2e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 ous.member.</span>.<span.class="
48780 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=
487a0 22 74 6f 6b 2d 73 74 72 22 3e 26 71 75 6f 74 3b 65 6e 75 6d 20 6f 72 64 69 6e 61 6c 20 76 61 6c "tok-str">&quot;enum.ordinal.val
487c0 75 65 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 20 7b 0a 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 ue&quot;</span>.{.....<span.clas
487e0 73 3d 22 74 6f 6b 2d 6b 77 22 3e 74 72 79 3c 2f 73 70 61 6e 3e 20 65 78 70 65 63 74 45 71 75 61 s="tok-kw">try</span>.expectEqua
48800 6c 28 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 30 3c 2f 73 70 l(<span.class="tok-number">0</sp
48820 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 40 an>,.<span.class="tok-builtin">@
48840 69 6e 74 46 72 6f 6d 45 6e 75 6d 3c 2f 73 70 61 6e 3e 28 56 61 6c 75 65 2e 7a 65 72 6f 29 29 3b intFromEnum</span>(Value.zero));
48860 0a 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 74 72 79 3c 2f 73 .....<span.class="tok-kw">try</s
48880 70 61 6e 3e 20 65 78 70 65 63 74 45 71 75 61 6c 28 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f pan>.expectEqual(<span.class="to
488a0 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=
488c0 22 74 6f 6b 2d 62 75 69 6c 74 69 6e 22 3e 40 69 6e 74 46 72 6f 6d 45 6e 75 6d 3c 2f 73 70 61 6e "tok-builtin">@intFromEnum</span
488e0 3e 28 56 61 6c 75 65 2e 6f 6e 65 29 29 3b 0a 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 >(Value.one));.....<span.class="
48900 74 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(<
48920 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>
48940 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 69 6e 74 ,.<span.class="tok-builtin">@int
48960 46 72 6f 6d 45 6e 75 6d 3c 2f 73 70 61 6e 3e 28 56 61 6c 75 65 2e 74 77 6f 29 29 3b 0a 7d 0a 0a FromEnum</span>(Value.two));.}..
48980 3c 73 70 61 6e 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 <span.class="tok-comment">//.You
489a0 20 63 61 6e 20 6f 76 65 72 72 69 64 65 20 74 68 65 20 6f 72 64 69 6e 61 6c 20 76 61 6c 75 65 20 .can.override.the.ordinal.value.
489c0 66 6f 72 20 61 6e 20 65 6e 75 6d 2e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d for.an.enum.</span>.<span.class=
489e0 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 32 20 3d 20 3c "tok-kw">const</span>.Value2.=.<
48a00 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>(
48a20 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
48a40 3e 29 20 7b 0a 20 20 20 20 68 75 6e 64 72 65 64 20 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 >).{.....hundred.=.<span.class="
48a60 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 31 30 30 3c 2f 73 70 61 6e 3e 2c 0a 20 20 20 20 74 68 6f 75 tok-number">100</span>,.....thou
48a80 73 61 6e 64 20 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e sand.=.<span.class="tok-number">
48aa0 31 30 30 30 3c 2f 73 70 61 6e 3e 2c 0a 20 20 20 20 6d 69 6c 6c 69 6f 6e 20 3d 20 3c 73 70 61 6e 1000</span>,.....million.=.<span
48ac0 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
48ae0 6e 3e 2c 0a 7d 3b 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 74 65 73 74 n>,.};.<span.class="tok-kw">test
48b00 3c 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
48b20 75 6f 74 3b 73 65 74 20 65 6e 75 6d 20 6f 72 64 69 6e 61 6c 20 76 61 6c 75 65 26 71 75 6f 74 3b uot;set.enum.ordinal.value&quot;
48b40 3c 2f 73 70 61 6e 3e 20 7b 0a 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b </span>.{.....<span.class="tok-k
48b60 77 22 3e 74 72 79 3c 2f 73 70 61 6e 3e 20 65 78 70 65 63 74 45 71 75 61 6c 28 3c 73 70 61 6e 20 w">try</span>.expectEqual(<span.
48b80 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 2c 20 3c class="tok-number">100</span>,.<
48ba0 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 62 75 69 6c 74 69 6e 22 3e 40 69 6e 74 46 72 6f span.class="tok-builtin">@intFro
48bc0 6d 45 6e 75 6d 3c 2f 73 70 61 6e 3e 28 56 61 6c 75 65 32 2e 68 75 6e 64 72 65 64 29 29 3b 0a 20 mEnum</span>(Value2.hundred));..
48be0 20 20 20 3c 73 70 61 6e 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
48c00 6e 3e 20 65 78 70 65 63 74 45 71 75 61 6c 28 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d n>.expectEqual(<span.class="tok-
48c20 6e 75 6d 62 65 72 22 3e 31 30 30 30 3c 2f 73 70 61 6e 3e 2c 20 3c 73 70 61 6e 20 63 6c 61 73 73 number">1000</span>,.<span.class
48c40 3d 22 74 6f 6b 2d 62 75 69 6c 74 69 6e 22 3e 40 69 6e 74 46 72 6f 6d 45 6e 75 6d 3c 2f 73 70 61 ="tok-builtin">@intFromEnum</spa
48c60 6e 3e 28 56 61 6c 75 65 32 2e 74 68 6f 75 73 61 6e 64 29 29 3b 0a 20 20 20 20 3c 73 70 61 6e 20 n>(Value2.thousand));.....<span.
48c80 63 6c 61 73 73 3d 22 74 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
48ca0 45 71 75 61 6c 28 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 31 Equal(<span.class="tok-number">1
48cc0 30 30 30 30 30 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 000000</span>,.<span.class="tok-
48ce0 62 75 69 6c 74 69 6e 22 3e 40 69 6e 74 46 72 6f 6d 45 6e 75 6d 3c 2f 73 70 61 6e 3e 28 56 61 6c builtin">@intFromEnum</span>(Val
48d00 75 65 32 2e 6d 69 6c 6c 69 6f 6e 29 29 3b 0a 7d 0a 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 ue2.million));.}..<span.class="t
48d20 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 6f 76 65 72 ok-comment">//.You.can.also.over
48d40 72 69 64 65 20 6f 6e 6c 79 20 73 6f 6d 65 20 76 61 6c 75 65 73 2e 3c 2f 73 70 61 6e 3e 0a 3c 73 ride.only.some.values.</span>.<s
48d60 70 61 6e 20 63 6c 61 73 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>.
48d80 56 61 6c 75 65 33 20 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 65 6e Value3.=.<span.class="tok-kw">en
48da0 75 6d 3c 2f 73 70 61 6e 3e 28 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 um</span>(<span.class="tok-type"
48dc0 3e 75 34 3c 2f 73 70 61 6e 3e 29 20 7b 0a 20 20 20 20 61 2c 0a 20 20 20 20 62 20 3d 20 3c 73 70 >u4</span>).{.....a,.....b.=.<sp
48de0 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 38 3c 2f 73 70 61 6e 3e 2c 0a an.class="tok-number">8</span>,.
48e00 20 20 20 20 63 2c 0a 20 20 20 20 64 20 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d ....c,.....d.=.<span.class="tok-
48e20 6e 75 6d 62 65 72 22 3e 34 3c 2f 73 70 61 6e 3e 2c 0a 20 20 20 20 65 2c 0a 7d 3b 0a 3c 73 70 61 number">4</span>,.....e,.};.<spa
48e40 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
48e60 61 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 69 6d an.class="tok-str">&quot;enum.im
48e80 70 6c 69 63 69 74 20 6f 72 64 69 6e 61 6c 20 76 61 6c 75 65 73 20 61 6e 64 20 6f 76 65 72 72 69 plicit.ordinal.values.and.overri
48ea0 64 64 65 6e 20 76 61 6c 75 65 73 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 20 7b 0a 20 20 20 20 3c dden.values&quot;</span>.{.....<
48ec0 73 70 61 6e 20 63 6c 61 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
48ee0 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
48f00 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 62 er">0</span>,.<span.class="tok-b
48f20 75 69 6c 74 69 6e 22 3e 40 69 6e 74 46 72 6f 6d 45 6e 75 6d 3c 2f 73 70 61 6e 3e 28 56 61 6c 75 uiltin">@intFromEnum</span>(Valu
48f40 65 33 2e 61 29 29 3b 0a 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 e3.a));.....<span.class="tok-kw"
48f60 3e 74 72 79 3c 2f 73 70 61 6e 3e 20 65 78 70 65 63 74 45 71 75 61 6c 28 3c 73 70 61 6e 20 63 6c >try</span>.expectEqual(<span.cl
48f80 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 20 3c 73 70 61 6e ass="tok-number">8</span>,.<span
48fa0 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 62 75 69 6c 74 69 6e 22 3e 40 69 6e 74 46 72 6f 6d 45 6e 75 .class="tok-builtin">@intFromEnu
48fc0 6d 3c 2f 73 70 61 6e 3e 28 56 61 6c 75 65 33 2e 62 29 29 3b 0a 20 20 20 20 3c 73 70 61 6e 20 63 m</span>(Value3.b));.....<span.c
48fe0 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 74 72 79 3c 2f 73 70 61 6e 3e 20 65 78 70 65 63 74 45 lass="tok-kw">try</span>.expectE
49000 71 75 61 6c 28 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 39 3c qual(<span.class="tok-number">9<
49020 2f 73 70 61 6e 3e 2c 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 62 75 69 6c 74 69 6e /span>,.<span.class="tok-builtin
49040 22 3e 40 69 6e 74 46 72 6f 6d 45 6e 75 6d 3c 2f 73 70 61 6e 3e 28 56 61 6c 75 65 33 2e 63 29 29 ">@intFromEnum</span>(Value3.c))
49060 3b 0a 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 74 72 79 3c 2f ;.....<span.class="tok-kw">try</
49080 73 70 61 6e 3e 20 65 78 70 65 63 74 45 71 75 61 6c 28 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 span>.expectEqual(<span.class="t
490a0 6f 6b 2d 6e 75 6d 62 65 72 22 3e 34 3c 2f 73 70 61 6e 3e 2c 20 3c 73 70 61 6e 20 63 6c 61 73 73 ok-number">4</span>,.<span.class
490c0 3d 22 74 6f 6b 2d 62 75 69 6c 74 69 6e 22 3e 40 69 6e 74 46 72 6f 6d 45 6e 75 6d 3c 2f 73 70 61 ="tok-builtin">@intFromEnum</spa
490e0 6e 3e 28 56 61 6c 75 65 33 2e 64 29 29 3b 0a 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 n>(Value3.d));.....<span.class="
49100 74 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(<
49120 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 35 3c 2f 73 70 61 6e 3e span.class="tok-number">5</span>
49140 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 69 6e 74 ,.<span.class="tok-builtin">@int
49160 46 72 6f 6d 45 6e 75 6d 3c 2f 73 70 61 6e 3e 28 56 61 6c 75 65 33 2e 65 29 29 3b 0a 7d 0a 0a 3c FromEnum</span>(Value3.e));.}..<
49180 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 63 6f 6d 6d 65 6e 74 22 3e 2f 2f 20 45 6e 75 6d span.class="tok-comment">//.Enum
491a0 73 20 63 61 6e 20 68 61 76 65 20 6d 65 74 68 6f 64 73 2c 20 74 68 65 20 73 61 6d 65 20 61 73 20 s.can.have.methods,.the.same.as.
491c0 73 74 72 75 63 74 73 20 61 6e 64 20 75 6e 69 6f 6e 73 2e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e structs.and.unions.</span>.<span
491e0 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 63 6f 6d 6d 65 6e 74 22 3e 2f 2f 20 45 6e 75 6d 20 6d 65 74 .class="tok-comment">//.Enum.met
49200 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 6f hods.are.not.special,.they.are.o
49220 6e 6c 79 20 6e 61 6d 65 73 70 61 63 65 64 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 nly.namespaced</span>.<span.clas
49240 73 3d 22 74 6f 6b 2d 63 6f 6d 6d 65 6e 74 22 3e 2f 2f 20 66 75 6e 63 74 69 6f 6e 73 20 74 68 61 s="tok-comment">//.functions.tha
49260 74 20 79 6f 75 20 63 61 6e 20 63 61 6c 6c 20 77 69 74 68 20 64 6f 74 20 73 79 6e 74 61 78 2e 3c t.you.can.call.with.dot.syntax.<
49280 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 63 6f 6e 73 /span>.<span.class="tok-kw">cons
492a0 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 3d 22 74 6f 6b t</span>.Suit.=.<span.class="tok
492c0 2d 6b 77 22 3e 65 6e 75 6d 3c 2f 73 70 61 6e 3e 20 7b 0a 20 20 20 20 63 6c 75 62 73 2c 0a 20 20 -kw">enum</span>.{.....clubs,...
492e0 20 20 73 70 61 64 65 73 2c 0a 20 20 20 20 64 69 61 6d 6f 6e 64 73 2c 0a 20 20 20 20 68 65 61 72 ..spades,.....diamonds,.....hear
49300 74 73 2c 0a 0a 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 70 75 ts,......<span.class="tok-kw">pu
49320 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
49340 3c 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 43 </span>.<span.class="tok-fn">isC
49360 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 6c lubs</span>(self:.Suit).<span.cl
49380 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 62 6f 6f 6c 3c 2f 73 70 61 6e 3e 20 7b 0a 20 20 20 ass="tok-type">bool</span>.{....
493a0 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
493c0 3c 2f 73 70 61 6e 3e 20 73 65 6c 66 20 3d 3d 20 53 75 69 74 2e 63 6c 75 62 73 3b 0a 20 20 20 20 </span>.self.==.Suit.clubs;.....
493e0 7d 0a 7d 3b 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 74 65 73 74 3c 2f }.};.<span.class="tok-kw">test</
49400 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
49420 74 3b 65 6e 75 6d 20 6d 65 74 68 6f 64 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 20 7b 0a 20 20 20 t;enum.method&quot;</span>.{....
49440 20 3c 73 70 61 6e 20 63 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
49460 6e 3e 20 70 20 3d 20 53 75 69 74 2e 73 70 61 64 65 73 3b 0a 20 20 20 20 3c 73 70 61 6e 20 63 6c n>.p.=.Suit.spades;.....<span.cl
49480 61 73 73 3d 22 74 6f 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 ass="tok-kw">try</span>.expect(!
494a0 70 2e 69 73 43 6c 75 62 73 28 29 29 3b 0a 7d 0a 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f p.isClubs());.}..<span.class="to
494c0 6b 2d 63 6f 6d 6d 65 6e 74 22 3e 2f 2f 20 41 6e 20 65 6e 75 6d 20 63 61 6e 20 62 65 20 73 77 69 k-comment">//.An.enum.can.be.swi
494e0 74 63 68 65 64 20 75 70 6f 6e 2e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 tched.upon.</span>.<span.class="
49500 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
49520 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 65 6e 75 6d 3c 2f 73 70 61 6e 3e 20 7b 0a 20 20 .class="tok-kw">enum</span>.{...
49540 20 20 73 74 72 69 6e 67 2c 0a 20 20 20 20 6e 75 6d 62 65 72 2c 0a 20 20 20 20 6e 6f 6e 65 2c 0a ..string,.....number,.....none,.
49560 7d 3b 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 74 65 73 74 3c 2f 73 70 };.<span.class="tok-kw">test</sp
49580 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;
495a0 65 6e 75 6d 20 73 77 69 74 63 68 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 20 7b 0a 20 20 20 20 3c enum.switch&quot;</span>.{.....<
495c0 73 70 61 6e 20 63 6c 61 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>
495e0 20 70 20 3d 20 46 6f 6f 2e 6e 75 6d 62 65 72 3b 0a 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 .p.=.Foo.number;.....<span.class
49600 3d 22 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 ="tok-kw">const</span>.what_is_i
49620 74 20 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 73 77 69 74 63 68 3c t.=.<span.class="tok-kw">switch<
49640 2f 73 70 61 6e 3e 20 28 70 29 20 7b 0a 20 20 20 20 20 20 20 20 46 6f 6f 2e 73 74 72 69 6e 67 20 /span>.(p).{.........Foo.string.
49660 3d 26 67 74 3b 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 73 74 72 22 3e 26 71 75 6f =&gt;.<span.class="tok-str">&quo
49680 74 3b 74 68 69 73 20 69 73 20 61 20 73 74 72 69 6e 67 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 2c t;this.is.a.string&quot;</span>,
496a0 0a 20 20 20 20 20 20 20 20 46 6f 6f 2e 6e 75 6d 62 65 72 20 3d 26 67 74 3b 20 3c 73 70 61 6e 20 .........Foo.number.=&gt;.<span.
496c0 63 6c 61 73 73 3d 22 74 6f 6b 2d 73 74 72 22 3e 26 71 75 6f 74 3b 74 68 69 73 20 69 73 20 61 20 class="tok-str">&quot;this.is.a.
496e0 6e 75 6d 62 65 72 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 2c 0a 20 20 20 20 20 20 20 20 46 6f 6f number&quot;</span>,.........Foo
49700 2e 6e 6f 6e 65 20 3d 26 67 74 3b 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 73 74 72 .none.=&gt;.<span.class="tok-str
49720 22 3e 26 71 75 6f 74 3b 74 68 69 73 20 69 73 20 61 20 6e 6f 6e 65 26 71 75 6f 74 3b 3c 2f 73 70 ">&quot;this.is.a.none&quot;</sp
49740 61 6e 3e 2c 0a 20 20 20 20 7d 3b 0a 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b an>,.....};.....<span.class="tok
49760 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 53 74 72 69 6e -kw">try</span>.expectEqualStrin
49780 67 73 28 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 gs(what_is_it,.<span.class="tok-
497a0 73 74 72 22 3e 26 71 75 6f 74 3b 74 68 69 73 20 69 73 20 61 20 6e 75 6d 62 65 72 26 71 75 6f 74 str">&quot;this.is.a.number&quot
497c0 3b 3c 2f 73 70 61 6e 3e 29 3b 0a 7d 0a 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 63 ;</span>);.}..<span.class="tok-c
497e0 6f 6d 6d 65 6e 74 22 3e 2f 2f 20 40 74 79 70 65 49 6e 66 6f 20 63 61 6e 20 62 65 20 75 73 65 64 omment">//.@typeInfo.can.be.used
49800 20 74 6f 20 61 63 63 65 73 73 20 74 68 65 20 69 6e 74 65 67 65 72 20 74 61 67 20 74 79 70 65 20 .to.access.the.integer.tag.type.
49820 6f 66 20 61 6e 20 65 6e 75 6d 2e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 of.an.enum.</span>.<span.class="
49840 74 6f 6b 2d 6b 77 22 3e 63 6f 6e 73 74 3c 2f 73 70 61 6e 3e 20 53 6d 61 6c 6c 20 3d 20 3c 73 70 tok-kw">const</span>.Small.=.<sp
49860 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 65 6e 75 6d 3c 2f 73 70 61 6e 3e 20 7b 0a an.class="tok-kw">enum</span>.{.
49880 20 20 20 20 6f 6e 65 2c 0a 20 20 20 20 74 77 6f 2c 0a 20 20 20 20 74 68 72 65 65 2c 0a 20 20 20 ....one,.....two,.....three,....
498a0 20 66 6f 75 72 2c 0a 7d 3b 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 74 .four,.};.<span.class="tok-kw">t
498c0 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"
498e0 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 61 6e 3e >&quot;std.meta.Tag&quot;</span>
49900 20 7b 0a 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 74 72 79 3c .{.....<span.class="tok-kw">try<
49920 2f 73 70 61 6e 3e 20 65 78 70 65 63 74 45 71 75 61 6c 28 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 /span>.expectEqual(<span.class="
49940 74 6f 6b 2d 74 79 70 65 22 3e 75 32 3c 2f 73 70 61 6e 3e 2c 20 3c 73 70 61 6e 20 63 6c 61 73 73 tok-type">u2</span>,.<span.class
49960 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>(
49980 53 6d 61 6c 6c 29 2e 40 26 71 75 6f 74 3b 65 6e 75 6d 26 71 75 6f 74 3b 2e 74 61 67 5f 74 79 70 Small).@&quot;enum&quot;.tag_typ
499a0 65 29 3b 0a 7d 0a 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 63 6f 6d 6d 65 6e 74 22 e);.}..<span.class="tok-comment"
499c0 3e 2f 2f 20 40 74 79 70 65 49 6e 66 6f 20 74 65 6c 6c 73 20 75 73 20 74 68 65 20 66 69 65 6c 64 >//.@typeInfo.tells.us.the.field
499e0 20 63 6f 75 6e 74 20 61 6e 64 20 74 68 65 20 66 69 65 6c 64 73 20 6e 61 6d 65 73 3a 3c 2f 73 70 .count.and.the.fields.names:</sp
49a00 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 74 65 73 74 3c 2f 73 an>.<span.class="tok-kw">test</s
49a20 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
49a40 3b 40 74 79 70 65 49 6e 66 6f 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 20 7b 0a 20 20 20 20 3c 73 ;@typeInfo&quot;</span>.{.....<s
49a60 70 61 6e 20 63 6c 61 73 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
49a80 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 65 pectEqual(<span.class="tok-numbe
49aa0 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 62 75 r">4</span>,.<span.class="tok-bu
49ac0 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 6d 61 6c 6c 29 2e 40 iltin">@typeInfo</span>(Small).@
49ae0 26 71 75 6f 74 3b 65 6e 75 6d 26 71 75 6f 74 3b 2e 66 69 65 6c 64 73 2e 6c 65 6e 29 3b 0a 20 20 &quot;enum&quot;.fields.len);...
49b00 20 20 3c 73 70 61 6e 20 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
49b20 3e 20 65 78 70 65 63 74 45 71 75 61 6c 53 74 72 69 6e 67 73 28 3c 73 70 61 6e 20 63 6c 61 73 73 >.expectEqualStrings(<span.class
49b40 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>(
49b60 53 6d 61 6c 6c 29 2e 40 26 71 75 6f 74 3b 65 6e 75 6d 26 71 75 6f 74 3b 2e 66 69 65 6c 64 73 5b Small).@&quot;enum&quot;.fields[
49b80 3c 73 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
49ba0 3e 5d 2e 6e 61 6d 65 2c 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 73 74 72 22 3e 26 >].name,.<span.class="tok-str">&
49bc0 71 75 6f 74 3b 74 77 6f 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 29 3b 0a 7d 0a 0a 3c 73 70 61 6e quot;two&quot;</span>);.}..<span
49be0 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 63 6f 6d 6d 65 6e 74 22 3e 2f 2f 20 40 74 61 67 4e 61 6d 65 .class="tok-comment">//.@tagName
49c00 20 67 69 76 65 73 20 61 20 5b 3a 30 5d 63 6f 6e 73 74 20 75 38 20 72 65 70 72 65 73 65 6e 74 61 .gives.a.[:0]const.u8.representa
49c20 74 69 6f 6e 20 6f 66 20 61 6e 20 65 6e 75 6d 20 76 61 6c 75 65 3a 3c 2f 73 70 61 6e 3e 0a 3c 73 tion.of.an.enum.value:</span>.<s
49c40 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>.<
49c60 73 70 61 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
49c80 61 6d 65 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 20 7b 0a 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 ame&quot;</span>.{.....<span.cla
49ca0 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 74 72 79 3c 2f 73 70 61 6e 3e 20 65 78 70 65 63 74 45 71 75 ss="tok-kw">try</span>.expectEqu
49cc0 61 6c 53 74 72 69 6e 67 73 28 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 62 75 69 6c 74 alStrings(<span.class="tok-built
49ce0 69 6e 22 3e 40 74 61 67 4e 61 6d 65 3c 2f 73 70 61 6e 3e 28 53 6d 61 6c 6c 2e 74 68 72 65 65 29 in">@tagName</span>(Small.three)
49d00 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 74 68 ,.<span.class="tok-str">&quot;th
49d20 72 65 65 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 29 3b 0a 7d 3c 2f 63 6f 64 65 3e 3c 2f 70 72 65 ree&quot;</span>);.}</code></pre
49d40 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
49d60 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
49d80 6e 3e 3c 70 72 65 3e 3c 73 61 6d 70 3e 24 20 3c 6b 62 64 3e 7a 69 67 20 74 65 73 74 20 74 65 73 n><pre><samp>$.<kbd>zig.test.tes
49da0 74 5f 65 6e 75 6d 73 2e 7a 69 67 3c 2f 6b 62 64 3e 0a 31 2f 38 20 74 65 73 74 5f 65 6e 75 6d 73 t_enums.zig</kbd>.1/8.test_enums
49dc0 2e 74 65 73 74 2e 65 6e 75 6d 20 6f 72 64 69 6e 61 6c 20 76 61 6c 75 65 2e 2e 2e 4f 4b 0a 32 2f .test.enum.ordinal.value...OK.2/
49de0 38 20 74 65 73 74 5f 65 6e 75 6d 73 2e 74 65 73 74 2e 73 65 74 20 65 6e 75 6d 20 6f 72 64 69 6e 8.test_enums.test.set.enum.ordin
49e00 61 6c 20 76 61 6c 75 65 2e 2e 2e 4f 4b 0a 33 2f 38 20 74 65 73 74 5f 65 6e 75 6d 73 2e 74 65 73 al.value...OK.3/8.test_enums.tes
49e20 74 2e 65 6e 75 6d 20 69 6d 70 6c 69 63 69 74 20 6f 72 64 69 6e 61 6c 20 76 61 6c 75 65 73 20 61 t.enum.implicit.ordinal.values.a
49e40 6e 64 20 6f 76 65 72 72 69 64 64 65 6e 20 76 61 6c 75 65 73 2e 2e 2e 4f 4b 0a 34 2f 38 20 74 65 nd.overridden.values...OK.4/8.te
49e60 73 74 5f 65 6e 75 6d 73 2e 74 65 73 74 2e 65 6e 75 6d 20 6d 65 74 68 6f 64 2e 2e 2e 4f 4b 0a 35 st_enums.test.enum.method...OK.5
49e80 2f 38 20 74 65 73 74 5f 65 6e 75 6d 73 2e 74 65 73 74 2e 65 6e 75 6d 20 73 77 69 74 63 68 2e 2e /8.test_enums.test.enum.switch..
49ea0 2e 4f 4b 0a 36 2f 38 20 74 65 73 74 5f 65 6e 75 6d 73 2e 74 65 73 74 2e 73 74 64 2e 6d 65 74 61 .OK.6/8.test_enums.test.std.meta
49ec0 2e 54 61 67 2e 2e 2e 4f 4b 0a 37 2f 38 20 74 65 73 74 5f 65 6e 75 6d 73 2e 74 65 73 74 2e 40 74 .Tag...OK.7/8.test_enums.test.@t
49ee0 79 70 65 49 6e 66 6f 2e 2e 2e 4f 4b 0a 38 2f 38 20 74 65 73 74 5f 65 6e 75 6d 73 2e 74 65 73 74 ypeInfo...OK.8/8.test_enums.test
49f00 2e 40 74 61 67 4e 61 6d 65 2e 2e 2e 4f 4b 0a 41 6c 6c 20 38 20 74 65 73 74 73 20 70 61 73 73 65 .@tagName...OK.All.8.tests.passe
49f20 64 2e 0a 3c 2f 73 61 6d 70 3e 3c 2f 70 72 65 3e 3c 2f 66 69 67 75 72 65 3e 0a 0a 20 20 20 20 20 d..</samp></pre></figure>.......
49f40 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
49f60 66 3d 22 23 74 79 70 65 49 6e 66 6f 22 3e 40 74 79 70 65 49 6e 66 6f 3c 2f 61 3e 3c 2f 6c 69 3e f="#typeInfo">@typeInfo</a></li>
49f80 0a 3c 6c 69 3e 3c 61 20 68 72 65 66 3d 22 23 74 61 67 4e 61 6d 65 22 3e 40 74 61 67 4e 61 6d 65 .<li><a.href="#tagName">@tagName
49fa0 3c 2f 61 3e 3c 2f 6c 69 3e 0a 3c 6c 69 3e 3c 61 20 68 72 65 66 3d 22 23 73 69 7a 65 4f 66 22 3e </a></li>.<li><a.href="#sizeOf">
49fc0 40 73 69 7a 65 4f 66 3c 2f 61 3e 3c 2f 6c 69 3e 0a 3c 2f 75 6c 3e 0a 0a 0a 20 20 20 20 20 20 3c @sizeOf</a></li>.</ul>.........<
49fe0 68 33 20 69 64 3d 22 65 78 74 65 72 6e 2d 65 6e 75 6d 22 3e 3c 61 20 68 72 65 66 3d 22 6e 61 76 h3.id="extern-enum"><a.href="nav
4a000 2e 78 68 74 6d 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 .xhtml#toc-extern-enum">extern.e
4a020 6e 75 6d 3c 2f 61 3e 20 3c 61 20 63 6c 61 73 73 3d 22 68 64 72 22 20 68 72 65 66 3d 22 23 65 78 num</a>.<a.class="hdr".href="#ex
4a040 74 65 72 6e 2d 65 6e 75 6d 22 3e c2 a7 3c 2f 61 3e 3c 2f 68 33 3e 0a 0a 20 20 20 20 20 20 3c 70 tern-enum">..</a></h3>........<p
4a060 3e 0a 20 20 20 20 20 20 42 79 20 64 65 66 61 75 6c 74 2c 20 65 6e 75 6d 73 20 61 72 65 20 6e 6f >.......By.default,.enums.are.no
4a080 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 77 69 t.guaranteed.to.be.compatible.wi
4a0a0 74 68 20 74 68 65 20 43 20 41 42 49 3a 0a 20 20 20 20 20 20 3c 2f 70 3e 0a 20 20 20 20 20 20 3c th.the.C.ABI:.......</p>.......<
4a0c0 66 69 67 75 72 65 3e 3c 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
4a0e0 70 22 3e 3c 63 69 74 65 20 63 6c 61 73 73 3d 22 66 69 6c 65 22 3e 65 6e 75 6d 5f 65 78 70 6f 72 p"><cite.class="file">enum_expor
4a100 74 5f 65 72 72 6f 72 2e 7a 69 67 3c 2f 63 69 74 65 3e 3c 2f 66 69 67 63 61 70 74 69 6f 6e 3e 3c t_error.zig</cite></figcaption><
4a120 70 72 65 3e 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 63 pre><code><span.class="tok-kw">c
4a140 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
4a160 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 0a ok-kw">enum</span>.{.a,.b,.c.};.
4a180 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 65 78 70 6f 72 74 3c 2f 73 70 61 <span.class="tok-kw">export</spa
4a1a0 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
4a1c0 3e 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 66 6e 22 3e 65 6e 74 72 79 3c 2f 73 70 >.<span.class="tok-fn">entry</sp
4a1e0 61 6e 3e 28 66 6f 6f 3a 20 46 6f 6f 29 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 an>(foo:.Foo).<span.class="tok-t
4a200 79 70 65 22 3e 76 6f 69 64 3c 2f 73 70 61 6e 3e 20 7b 0a 20 20 20 20 5f 20 3d 20 66 6f 6f 3b 0a ype">void</span>.{....._.=.foo;.
4a220 7d 3c 2f 63 6f 64 65 3e 3c 2f 70 72 65 3e 3c 2f 66 69 67 75 72 65 3e 3c 66 69 67 75 72 65 3e 3c }</code></pre></figure><figure><
4a240 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
4a260 6c 6c 3c 2f 66 69 67 63 61 70 74 69 6f 6e 3e 3c 70 72 65 3e 3c 73 61 6d 70 3e 24 20 3c 6b 62 64 ll</figcaption><pre><samp>$.<kbd
4a280 3e 7a 69 67 20 62 75 69 6c 64 2d 6f 62 6a 20 65 6e 75 6d 5f 65 78 70 6f 72 74 5f 65 72 72 6f 72 >zig.build-obj.enum_export_error
4a2a0 2e 7a 69 67 20 2d 74 61 72 67 65 74 20 78 38 36 5f 36 34 2d 6c 69 6e 75 78 3c 2f 6b 62 64 3e 0a .zig.-target.x86_64-linux</kbd>.
4a2c0 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 73 67 72 2d 31 6d 22 3e 2f 68 6f 6d 65 2f 63 69 2f 77 6f <span.class="sgr-1m">/home/ci/wo
4a2e0 72 6b 2f 7a 69 67 2d 62 6f 6f 74 73 74 72 61 70 2f 7a 69 67 2f 64 6f 63 2f 6c 61 6e 67 72 65 66 rk/zig-bootstrap/zig/doc/langref
4a300 2f 65 6e 75 6d 5f 65 78 70 6f 72 74 5f 65 72 72 6f 72 2e 7a 69 67 3a 32 3a 31 37 3a 20 3c 2f 73 /enum_export_error.zig:2:17:.</s
4a320 70 61 6e 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 73 67 72 2d 33 31 6d 22 3e 65 72 72 6f 72 3a pan><span.class="sgr-31m">error:
4a340 20 3c 2f 73 70 61 6e 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 73 67 72 2d 31 6d 22 3e 70 61 72 .</span><span.class="sgr-1m">par
4a360 61 6d 65 74 65 72 20 6f 66 20 74 79 70 65 20 27 65 6e 75 6d 5f 65 78 70 6f 72 74 5f 65 72 72 6f ameter.of.type.'enum_export_erro
4a380 72 2e 46 6f 6f 27 20 6e 6f 74 20 61 6c 6c 6f 77 65 64 20 69 6e 20 66 75 6e 63 74 69 6f 6e 20 77 r.Foo'.not.allowed.in.function.w
4a3a0 69 74 68 20 63 61 6c 6c 69 6e 67 20 63 6f 6e 76 65 6e 74 69 6f 6e 20 27 78 38 36 5f 36 34 5f 73 ith.calling.convention.'x86_64_s
4a3c0 79 73 76 27 0a 3c 2f 73 70 61 6e 3e 65 78 70 6f 72 74 20 66 6e 20 65 6e 74 72 79 28 66 6f 6f 3a ysv'.</span>export.fn.entry(foo:
4a3e0 20 46 6f 6f 29 20 76 6f 69 64 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 3c 73 70 .Foo).void.{.................<sp
4a400 61 6e 20 63 6c 61 73 73 3d 22 73 67 72 2d 33 32 6d 22 3e 5e 7e 7e 7e 7e 7e 7e 7e 0a 3c 2f 73 70 an.class="sgr-32m">^~~~~~~~.</sp
4a420 61 6e 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 73 67 72 2d 31 6d 22 3e 2f 68 6f 6d 65 2f 63 69 an><span.class="sgr-1m">/home/ci
4a440 2f 77 6f 72 6b 2f 7a 69 67 2d 62 6f 6f 74 73 74 72 61 70 2f 7a 69 67 2f 64 6f 63 2f 6c 61 6e 67 /work/zig-bootstrap/zig/doc/lang
4a460 72 65 66 2f 65 6e 75 6d 5f 65 78 70 6f 72 74 5f 65 72 72 6f 72 2e 7a 69 67 3a 31 3a 31 33 3a 20 ref/enum_export_error.zig:1:13:.
4a480 3c 2f 73 70 61 6e 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 73 67 72 2d 33 36 6d 22 3e 6e 6f 74 </span><span.class="sgr-36m">not
4a4a0 65 3a 20 3c 2f 73 70 61 6e 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 73 67 72 2d 31 6d 22 3e 69 e:.</span><span.class="sgr-1m">i
4a4c0 6e 74 65 67 65 72 20 74 61 67 20 74 79 70 65 20 6f 66 20 65 6e 75 6d 20 69 73 20 69 6e 66 65 72 nteger.tag.type.of.enum.is.infer
4a4e0 72 65 64 0a 3c 2f 73 70 61 6e 3e 63 6f 6e 73 74 20 46 6f 6f 20 3d 20 65 6e 75 6d 20 7b 20 61 2c red.</span>const.Foo.=.enum.{.a,
4a500 20 62 2c 20 63 20 7d 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 .b,.c.};.............<span.class
4a520 3d 22 73 67 72 2d 33 32 6d 22 3e 5e 7e 7e 7e 7e 7e 7e 7e 7e 7e 7e 7e 7e 7e 7e 7e 0a 3c 2f 73 70 ="sgr-32m">^~~~~~~~~~~~~~~~.</sp
4a540 61 6e 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 73 67 72 2d 31 6d 22 3e 2f 68 6f 6d 65 2f 63 69 an><span.class="sgr-1m">/home/ci
4a560 2f 77 6f 72 6b 2f 7a 69 67 2d 62 6f 6f 74 73 74 72 61 70 2f 7a 69 67 2f 64 6f 63 2f 6c 61 6e 67 /work/zig-bootstrap/zig/doc/lang
4a580 72 65 66 2f 65 6e 75 6d 5f 65 78 70 6f 72 74 5f 65 72 72 6f 72 2e 7a 69 67 3a 31 3a 31 33 3a 20 ref/enum_export_error.zig:1:13:.
4a5a0 3c 2f 73 70 61 6e 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 73 67 72 2d 33 36 6d 22 3e 6e 6f 74 </span><span.class="sgr-36m">not
4a5c0 65 3a 20 3c 2f 73 70 61 6e 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 73 67 72 2d 31 6d 22 3e 63 e:.</span><span.class="sgr-1m">c
4a5e0 6f 6e 73 69 64 65 72 20 65 78 70 6c 69 63 69 74 6c 79 20 73 70 65 63 69 66 79 69 6e 67 20 74 68 onsider.explicitly.specifying.th
4a600 65 20 69 6e 74 65 67 65 72 20 74 61 67 20 74 79 70 65 0a 3c 2f 73 70 61 6e 3e 3c 73 70 61 6e 20 e.integer.tag.type.</span><span.
4a620 63 6c 61 73 73 3d 22 73 67 72 2d 31 6d 22 3e 2f 68 6f 6d 65 2f 63 69 2f 77 6f 72 6b 2f 7a 69 67 class="sgr-1m">/home/ci/work/zig
4a640 2d 62 6f 6f 74 73 74 72 61 70 2f 7a 69 67 2f 64 6f 63 2f 6c 61 6e 67 72 65 66 2f 65 6e 75 6d 5f -bootstrap/zig/doc/langref/enum_
4a660 65 78 70 6f 72 74 5f 65 72 72 6f 72 2e 7a 69 67 3a 31 3a 31 33 3a 20 3c 2f 73 70 61 6e 3e 3c 73 export_error.zig:1:13:.</span><s
4a680 70 61 6e 20 63 6c 61 73 73 3d 22 73 67 72 2d 33 36 6d 22 3e 6e 6f 74 65 3a 20 3c 2f 73 70 61 6e pan.class="sgr-36m">note:.</span
4a6a0 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 73 67 72 2d 31 6d 22 3e 65 6e 75 6d 20 64 65 63 6c 61 ><span.class="sgr-1m">enum.decla
4a6c0 72 65 64 20 68 65 72 65 0a 3c 2f 73 70 61 6e 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 73 67 72 red.here.</span><span.class="sgr
4a6e0 2d 32 6d 22 3e 72 65 66 65 72 65 6e 63 65 64 20 62 79 3a 0a 20 20 20 20 72 6f 6f 74 3a 20 2f 68 -2m">referenced.by:.....root:./h
4a700 6f 6d 65 2f 63 69 2f 77 6f 72 6b 2f 7a 69 67 2d 62 6f 6f 74 73 74 72 61 70 2f 6f 75 74 2f 68 6f ome/ci/work/zig-bootstrap/out/ho
4a720 73 74 2f 6c 69 62 2f 7a 69 67 2f 73 74 64 2f 73 74 61 72 74 2e 7a 69 67 3a 31 33 3a 32 32 0a 20 st/lib/zig/std/start.zig:13:22..
4a740 20 20 20 63 6f 6d 70 74 69 6d 65 3a 20 2f 68 6f 6d 65 2f 63 69 2f 77 6f 72 6b 2f 7a 69 67 2d 62 ...comptime:./home/ci/work/zig-b
4a760 6f 6f 74 73 74 72 61 70 2f 6f 75 74 2f 68 6f 73 74 2f 6c 69 62 2f 7a 69 67 2f 73 74 64 2f 73 74 ootstrap/out/host/lib/zig/std/st
4a780 61 72 74 2e 7a 69 67 3a 32 30 3a 39 0a 20 20 20 20 32 20 72 65 66 65 72 65 6e 63 65 28 73 29 20 art.zig:20:9.....2.reference(s).
4a7a0 68 69 64 64 65 6e 3b 20 75 73 65 20 27 2d 66 72 65 66 65 72 65 6e 63 65 2d 74 72 61 63 65 3d 34 hidden;.use.'-freference-trace=4
4a7c0 27 20 74 6f 20 73 65 65 20 61 6c 6c 20 72 65 66 65 72 65 6e 63 65 73 0a 3c 2f 73 70 61 6e 3e 0a '.to.see.all.references.</span>.
4a7e0 3c 2f 73 61 6d 70 3e 3c 2f 70 72 65 3e 3c 2f 66 69 67 75 72 65 3e 0a 0a 20 20 20 20 20 20 3c 70 </samp></pre></figure>........<p
4a800 3e 0a 20 20 20 20 20 20 46 6f 72 20 61 20 43 2d 41 42 49 2d 63 6f 6d 70 61 74 69 62 6c 65 20 65 >.......For.a.C-ABI-compatible.e
4a820 6e 75 6d 2c 20 70 72 6f 76 69 64 65 20 61 6e 20 65 78 70 6c 69 63 69 74 20 74 61 67 20 74 79 70 num,.provide.an.explicit.tag.typ
4a840 65 20 74 6f 0a 20 20 20 20 20 20 74 68 65 20 65 6e 75 6d 3a 0a 20 20 20 20 20 20 3c 2f 70 3e 0a e.to.......the.enum:.......</p>.
4a860 20 20 20 20 20 20 3c 66 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=
4a880 22 7a 69 67 2d 63 61 70 22 3e 3c 63 69 74 65 20 63 6c 61 73 73 3d 22 66 69 6c 65 22 3e 65 6e 75 "zig-cap"><cite.class="file">enu
4a8a0 6d 5f 65 78 70 6f 72 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 m_export.zig</cite></figcaption>
4a8c0 3c 70 72 65 3e 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e <pre><code><span.class="tok-kw">
4a8e0 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="
4a900 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 3d tok-kw">enum</span>(<span.class=
4a920 22 74 6f 6b 2d 74 79 70 65 22 3e 63 5f 69 6e 74 3c 2f 73 70 61 6e 3e 29 20 7b 20 61 2c 20 62 2c "tok-type">c_int</span>).{.a,.b,
4a940 20 63 20 7d 3b 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 65 78 70 6f 72 .c.};.<span.class="tok-kw">expor
4a960 74 3c 2f 73 70 61 6e 3e 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 66 6e t</span>.<span.class="tok-kw">fn
4a980 3c 2f 73 70 61 6e 3e 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 66 6e 22 3e 65 6e 74 </span>.<span.class="tok-fn">ent
4a9a0 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 6c 61 73 73 3d ry</span>(foo:.Foo).<span.class=
4a9c0 22 74 6f 6b 2d 74 79 70 65 22 3e 76 6f 69 64 3c 2f 73 70 61 6e 3e 20 7b 0a 20 20 20 20 5f 20 3d "tok-type">void</span>.{....._.=
4a9e0 20 66 6f 6f 3b 0a 7d 3c 2f 63 6f 64 65 3e 3c 2f 70 72 65 3e 3c 2f 66 69 67 75 72 65 3e 3c 66 69 .foo;.}</code></pre></figure><fi
4aa00 67 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
4aa20 70 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>
4aa40 24 20 3c 6b 62 64 3e 7a 69 67 20 62 75 69 6c 64 2d 6f 62 6a 20 65 6e 75 6d 5f 65 78 70 6f 72 74 $.<kbd>zig.build-obj.enum_export
4aa60 2e 7a 69 67 3c 2f 6b 62 64 3e 0a 3c 2f 73 61 6d 70 3e 3c 2f 70 72 65 3e 3c 2f 66 69 67 75 72 65 .zig</kbd>.</samp></pre></figure
4aa80 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 45 6e 75 6d 2d 4c 69 >................<h3.id="Enum-Li
4aaa0 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 45 terals"><a.href="nav.xhtml#toc-E
4aac0 6e 75 6d 2d 4c 69 74 65 72 61 6c 73 22 3e 45 6e 75 6d 20 4c 69 74 65 72 61 6c 73 3c 2f 61 3e 20 num-Literals">Enum.Literals</a>.
4aae0 3c 61 20 63 6c 61 73 73 3d 22 68 64 72 22 20 68 72 65 66 3d 22 23 45 6e 75 6d 2d 4c 69 74 65 72 <a.class="hdr".href="#Enum-Liter
4ab00 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 20 20 20 20 als">..</a></h3>........<p>.....
4ab20 20 20 45 6e 75 6d 20 6c 69 74 65 72 61 6c 73 20 61 6c 6c 6f 77 20 73 70 65 63 69 66 79 69 6e 67 ..Enum.literals.allow.specifying
4ab40 20 74 68 65 20 6e 61 6d 65 20 6f 66 20 61 6e 20 65 6e 75 6d 20 66 69 65 6c 64 20 77 69 74 68 6f .the.name.of.an.enum.field.witho
4ab60 75 74 20 73 70 65 63 69 66 79 69 6e 67 20 74 68 65 20 65 6e 75 6d 20 74 79 70 65 3a 0a 20 20 20 ut.specifying.the.enum.type:....
4ab80 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
4aba0 6e 20 63 6c 61 73 73 3d 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
4abc0 69 6c 65 22 3e 74 65 73 74 5f 65 6e 75 6d 5f 6c 69 74 65 72 61 6c 73 2e 7a 69 67 3c 2f 63 69 74 ile">test_enum_literals.zig</cit
4abe0 65 3e 3c 2f 66 69 67 63 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.
4ac00 63 6c 61 73 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.
4ac20 3d 20 3c 73 70 61 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
4ac40 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"
4ac60 3e 26 71 75 6f 74 3b 73 74 64 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 29 3b 0a 3c 73 70 61 6e 20 >&quot;std&quot;</span>);.<span.
4ac80 63 6c 61 73 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
4aca0 63 74 20 3d 20 73 74 64 2e 74 65 73 74 69 6e 67 2e 65 78 70 65 63 74 3b 0a 3c 73 70 61 6e 20 63 ct.=.std.testing.expect;.<span.c
4acc0 6c 61 73 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
4ace0 74 45 71 75 61 6c 20 3d 20 73 74 64 2e 74 65 73 74 69 6e 67 2e 65 78 70 65 63 74 45 71 75 61 6c tEqual.=.std.testing.expectEqual
4ad00 3b 0a 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 63 6f 6e 73 74 3c 2f 73 ;..<span.class="tok-kw">const</s
4ad20 70 61 6e 3e 20 43 6f 6c 6f 72 20 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 pan>.Color.=.<span.class="tok-kw
4ad40 22 3e 65 6e 75 6d 3c 2f 73 70 61 6e 3e 20 7b 0a 20 20 20 20 61 75 74 6f 2c 0a 20 20 20 20 6f 66 ">enum</span>.{.....auto,.....of
4ad60 66 2c 0a 20 20 20 20 6f 6e 2c 0a 7d 3b 0a 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d f,.....on,.};..<span.class="tok-
4ad80 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
4ada0 2d 73 74 72 22 3e 26 71 75 6f 74 3b 65 6e 75 6d 20 6c 69 74 65 72 61 6c 73 26 71 75 6f 74 3b 3c -str">&quot;enum.literals&quot;<
4adc0 2f 73 70 61 6e 3e 20 7b 0a 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 /span>.{.....<span.class="tok-kw
4ade0 22 3e 63 6f 6e 73 74 3c 2f 73 70 61 6e 3e 20 63 6f 6c 6f 72 31 3a 20 43 6f 6c 6f 72 20 3d 20 2e ">const</span>.color1:.Color.=..
4ae00 61 75 74 6f 3b 0a 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 63 auto;.....<span.class="tok-kw">c
4ae20 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 6f 3b onst</span>.color2.=.Color.auto;
4ae40 0a 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 74 72 79 3c 2f 73 .....<span.class="tok-kw">try</s
4ae60 70 61 6e 3e 20 65 78 70 65 63 74 45 71 75 61 6c 28 63 6f 6c 6f 72 31 2c 20 63 6f 6c 6f 72 32 29 pan>.expectEqual(color1,.color2)
4ae80 3b 0a 7d 0a 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 74 65 73 74 3c 2f ;.}..<span.class="tok-kw">test</
4aea0 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
4aec0 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 26 71 75 6f t;switch.using.enum.literals&quo
4aee0 74 3b 3c 2f 73 70 61 6e 3e 20 7b 0a 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b t;</span>.{.....<span.class="tok
4af00 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 2e -kw">const</span>.color.=.Color.
4af20 6f 6e 3b 0a 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 63 6f 6e on;.....<span.class="tok-kw">con
4af40 73 74 3c 2f 73 70 61 6e 3e 20 72 65 73 75 6c 74 20 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 st</span>.result.=.<span.class="
4af60 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 72 29 20 7b 0a tok-kw">switch</span>.(color).{.
4af80 20 20 20 20 20 20 20 20 2e 61 75 74 6f 20 3d 26 67 74 3b 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d .........auto.=&gt;.<span.class=
4afa0 22 74 6f 6b 2d 6e 75 6c 6c 22 3e 66 61 6c 73 65 3c 2f 73 70 61 6e 3e 2c 0a 20 20 20 20 20 20 20 "tok-null">false</span>,........
4afc0 20 2e 6f 6e 20 3d 26 67 74 3b 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6c 6c ..on.=&gt;.<span.class="tok-null
4afe0 22 3e 74 72 75 65 3c 2f 73 70 61 6e 3e 2c 0a 20 20 20 20 20 20 20 20 2e 6f 66 66 20 3d 26 67 74 ">true</span>,..........off.=&gt
4b000 3b 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6c 6c 22 3e 66 61 6c 73 65 3c 2f ;.<span.class="tok-null">false</
4b020 73 70 61 6e 3e 2c 0a 20 20 20 20 7d 3b 0a 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 span>,.....};.....<span.class="t
4b040 6f 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 ok-kw">try</span>.expect(result)
4b060 3b 0a 7d 3c 2f 63 6f 64 65 3e 3c 2f 70 72 65 3e 3c 2f 66 69 67 75 72 65 3e 3c 66 69 67 75 72 65 ;.}</code></pre></figure><figure
4b080 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
4b0a0 68 65 6c 6c 3c 2f 66 69 67 63 61 70 74 69 6f 6e 3e 3c 70 72 65 3e 3c 73 61 6d 70 3e 24 20 3c 6b hell</figcaption><pre><samp>$.<k
4b0c0 62 64 3e 7a 69 67 20 74 65 73 74 20 74 65 73 74 5f 65 6e 75 6d 5f 6c 69 74 65 72 61 6c 73 2e 7a bd>zig.test.test_enum_literals.z
4b0e0 69 67 3c 2f 6b 62 64 3e 0a 31 2f 32 20 74 65 73 74 5f 65 6e 75 6d 5f 6c 69 74 65 72 61 6c 73 2e ig</kbd>.1/2.test_enum_literals.
4b100 74 65 73 74 2e 65 6e 75 6d 20 6c 69 74 65 72 61 6c 73 2e 2e 2e 4f 4b 0a 32 2f 32 20 74 65 73 74 test.enum.literals...OK.2/2.test
4b120 5f 65 6e 75 6d 5f 6c 69 74 65 72 61 6c 73 2e 74 65 73 74 2e 73 77 69 74 63 68 20 75 73 69 6e 67 _enum_literals.test.switch.using
4b140 20 65 6e 75 6d 20 6c 69 74 65 72 61 6c 73 2e 2e 2e 4f 4b 0a 41 6c 6c 20 32 20 74 65 73 74 73 20 .enum.literals...OK.All.2.tests.
4b160 70 61 73 73 65 64 2e 0a 3c 2f 73 61 6d 70 3e 3c 2f 70 72 65 3e 3c 2f 66 69 67 75 72 65 3e 0a 0a passed..</samp></pre></figure>..
4b180 20 20 20 20 20 20 0a 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 ..............<h3.id="Non-exhaus
4b1a0 74 69 76 65 2d 65 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 6f tive-enum"><a.href="nav.xhtml#to
4b1c0 63 2d 4e 6f 6e 2d 65 78 68 61 75 73 74 69 76 65 2d 65 6e 75 6d 22 3e 4e 6f 6e 2d 65 78 68 61 75 c-Non-exhaustive-enum">Non-exhau
4b1e0 73 74 69 76 65 20 65 6e 75 6d 3c 2f 61 3e 20 3c 61 20 63 6c 61 73 73 3d 22 68 64 72 22 20 68 72 stive.enum</a>.<a.class="hdr".hr
4b200 65 66 3d 22 23 4e 6f 6e 2d 65 78 68 61 75 73 74 69 76 65 2d 65 6e 75 6d 22 3e c2 a7 3c 2f 61 3e ef="#Non-exhaustive-enum">..</a>
4b220 3c 2f 68 33 3e 0a 0a 20 20 20 20 20 20 3c 70 3e 0a 20 20 20 20 20 20 41 20 6e 6f 6e 2d 65 78 68 </h3>........<p>.......A.non-exh
4b240 61 75 73 74 69 76 65 20 65 6e 75 6d 20 63 61 6e 20 62 65 20 63 72 65 61 74 65 64 20 62 79 20 61 austive.enum.can.be.created.by.a
4b260 64 64 69 6e 67 20 61 20 74 72 61 69 6c 69 6e 67 20 3c 63 6f 64 65 3e 5f 3c 2f 63 6f 64 65 3e 20 dding.a.trailing.<code>_</code>.
4b280 66 69 65 6c 64 2e 0a 20 20 20 20 20 20 54 68 65 20 65 6e 75 6d 20 6d 75 73 74 20 73 70 65 63 69 field........The.enum.must.speci
4b2a0 66 79 20 61 20 74 61 67 20 74 79 70 65 20 61 6e 64 20 63 61 6e 6e 6f 74 20 63 6f 6e 73 75 6d 65 fy.a.tag.type.and.cannot.consume
4b2c0 20 65 76 65 72 79 20 65 6e 75 6d 65 72 61 74 69 6f 6e 20 76 61 6c 75 65 2e 0a 20 20 20 20 20 20 .every.enumeration.value........
4b2e0 3c 2f 70 3e 0a 20 20 20 20 20 20 3c 70 3e 0a 20 20 20 20 20 20 3c 61 20 68 72 65 66 3d 22 23 65 </p>.......<p>.......<a.href="#e
4b300 6e 75 6d 46 72 6f 6d 49 6e 74 22 3e 40 65 6e 75 6d 46 72 6f 6d 49 6e 74 3c 2f 61 3e 20 6f 6e 20 numFromInt">@enumFromInt</a>.on.
4b320 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 76 65 73 20 74 a.non-exhaustive.enum.involves.t
4b340 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 66 20 3c 61 20 he.safety.semantics.......of.<a.
4b360 68 72 65 66 3d 22 23 69 6e 74 43 61 73 74 22 3e 40 69 6e 74 43 61 73 74 3c 2f 61 3e 20 74 6f 20 href="#intCast">@intCast</a>.to.
4b380 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 65 79 6f 6e 64 the.integer.tag.type,.but.beyond
4b3a0 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 20 20 20 61 20 .that.always.results.in.......a.
4b3c0 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 20 20 20 20 3c well-defined.enum.value........<
4b3e0 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 68 20 6f 6e 20 /p>.......<p>.......A.switch.on.
4b400 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 6e 63 6c 75 64 a.non-exhaustive.enum.can.includ
4b420 65 20 61 20 3c 63 6f 64 65 3e 5f 3c 2f 63 6f 64 65 3e 20 70 72 6f 6e 67 20 61 73 20 61 6e 20 61 e.a.<code>_</code>.prong.as.an.a
4b440 6c 74 65 72 6e 61 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 lternative.to.an.<code><span.cla
4b460 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 63 6f 64 65 3e 20 70 ss="tok-kw">else</span></code>.p
4b480 72 6f 6e 67 2e 0a 20 20 20 20 20 20 57 69 74 68 20 61 20 3c 63 6f 64 65 3e 5f 3c 2f 63 6f 64 65 rong........With.a.<code>_</code
4b4a0 3e 20 70 72 6f 6e 67 20 74 68 65 20 63 6f 6d 70 69 6c 65 72 20 65 72 72 6f 72 73 20 69 66 20 61 >.prong.the.compiler.errors.if.a
4b4c0 6c 6c 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 ll.the.known.tag.names.are.not.h
4b4e0 61 6e 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 andled.by.the.switch........</p>
4b500 0a 20 20 20 20 20 20 3c 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
4b520 3d 22 7a 69 67 2d 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
4b540 73 74 5f 73 77 69 74 63 68 5f 6e 6f 6e 2d 65 78 68 61 75 73 74 69 76 65 2e 7a 69 67 3c 2f 63 69 st_switch_non-exhaustive.zig</ci
4b560 74 65 3e 3c 2f 66 69 67 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
4b580 20 63 6c 61 73 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
4b5a0 20 3d 20 3c 73 70 61 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
4b5c0 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
4b5e0 22 3e 26 71 75 6f 74 3b 73 74 64 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 29 3b 0a 3c 73 70 61 6e ">&quot;std&quot;</span>);.<span
4b600 20 63 6c 61 73 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
4b620 65 63 74 20 3d 20 73 74 64 2e 74 65 73 74 69 6e 67 2e 65 78 70 65 63 74 3b 0a 0a 3c 73 70 61 6e ect.=.std.testing.expect;..<span
4b640 20 63 6c 61 73 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 .class="tok-kw">const</span>.Num
4b660 62 65 72 20 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 65 6e 75 6d 3c ber.=.<span.class="tok-kw">enum<
4b680 2f 73 70 61 6e 3e 28 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 75 38 /span>(<span.class="tok-type">u8
4b6a0 3c 2f 73 70 61 6e 3e 29 20 7b 0a 20 20 20 20 6f 6e 65 2c 0a 20 20 20 20 74 77 6f 2c 0a 20 20 20 </span>).{.....one,.....two,....
4b6c0 20 74 68 72 65 65 2c 0a 20 20 20 20 5f 2c 0a 7d 3b 0a 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 .three,....._,.};..<span.class="
4b6e0 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=
4b700 22 74 6f 6b 2d 73 74 72 22 3e 26 71 75 6f 74 3b 73 77 69 74 63 68 20 6f 6e 20 6e 6f 6e 2d 65 78 "tok-str">&quot;switch.on.non-ex
4b720 68 61 75 73 74 69 76 65 20 65 6e 75 6d 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 20 7b 0a 20 20 20 haustive.enum&quot;</span>.{....
4b740 20 3c 73 70 61 6e 20 63 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
4b760 6e 3e 20 6e 75 6d 62 65 72 20 3d 20 4e 75 6d 62 65 72 2e 6f 6e 65 3b 0a 20 20 20 20 3c 73 70 61 n>.number.=.Number.one;.....<spa
4b780 6e 20 63 6c 61 73 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
4b7a0 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 73 77 69 74 sult.=.<span.class="tok-kw">swit
4b7c0 63 68 3c 2f 73 70 61 6e 3e 20 28 6e 75 6d 62 65 72 29 20 7b 0a 20 20 20 20 20 20 20 20 2e 6f 6e ch</span>.(number).{..........on
4b7e0 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 22 3e 74 e.=&gt;.<span.class="tok-null">t
4b800 72 75 65 3c 2f 73 70 61 6e 3e 2c 0a 20 20 20 20 20 20 20 20 2e 74 77 6f 2c 20 2e 74 68 72 65 65 rue</span>,..........two,..three
4b820 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 66 61 .=&gt;.<span.class="tok-null">fa
4b840 6c 73 65 3c 2f 73 70 61 6e 3e 2c 0a 20 20 20 20 20 20 20 20 5f 20 3d 26 67 74 3b 20 3c 73 70 61 lse</span>,........._.=&gt;.<spa
4b860 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>,
4b880 0a 20 20 20 20 7d 3b 0a 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 .....};.....<span.class="tok-kw"
4b8a0 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 0a 20 20 20 20 >try</span>.expect(result);.....
4b8c0 3c 73 70 61 6e 20 63 6c 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
4b8e0 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 6f 6b 2d 6b 77 22 3e >.is_one.=.<span.class="tok-kw">
4b900 73 77 69 74 63 68 3c 2f 73 70 61 6e 3e 20 28 6e 75 6d 62 65 72 29 20 7b 0a 20 20 20 20 20 20 20 switch</span>.(number).{........
4b920 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 6c ..one.=&gt;.<span.class="tok-nul
4b940 6c 22 3e 74 72 75 65 3c 2f 73 70 61 6e 3e 2c 0a 20 20 20 20 20 20 20 20 3c 73 70 61 6e 20 63 6c l">true</span>,.........<span.cl
4b960 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 65 6c 73 65 3c 2f 73 70 61 6e 3e 20 3d 26 67 74 3b 20 3c ass="tok-kw">else</span>.=&gt;.<
4b980 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6c 6c 22 3e 66 61 6c 73 65 3c 2f 73 70 61 span.class="tok-null">false</spa
4b9a0 6e 3e 2c 0a 20 20 20 20 7d 3b 0a 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d n>,.....};.....<span.class="tok-
4b9c0 6b 77 22 3e 74 72 79 3c 2f 73 70 61 6e 3e 20 65 78 70 65 63 74 28 69 73 5f 6f 6e 65 29 3b 0a 7d kw">try</span>.expect(is_one);.}
4b9e0 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
4ba00 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
4ba20 6c 3c 2f 66 69 67 63 61 70 74 69 6f 6e 3e 3c 70 72 65 3e 3c 73 61 6d 70 3e 24 20 3c 6b 62 64 3e l</figcaption><pre><samp>$.<kbd>
4ba40 7a 69 67 20 74 65 73 74 20 74 65 73 74 5f 73 77 69 74 63 68 5f 6e 6f 6e 2d 65 78 68 61 75 73 74 zig.test.test_switch_non-exhaust
4ba60 69 76 65 2e 7a 69 67 3c 2f 6b 62 64 3e 0a 31 2f 31 20 74 65 73 74 5f 73 77 69 74 63 68 5f 6e 6f ive.zig</kbd>.1/1.test_switch_no
4ba80 6e 2d 65 78 68 61 75 73 74 69 76 65 2e 74 65 73 74 2e 73 77 69 74 63 68 20 6f 6e 20 6e 6f 6e 2d n-exhaustive.test.switch.on.non-
4baa0 65 78 68 61 75 73 74 69 76 65 20 65 6e 75 6d 2e 2e 2e 4f 4b 0a 41 6c 6c 20 31 20 74 65 73 74 73 exhaustive.enum...OK.All.1.tests
4bac0 20 70 61 73 73 65 64 2e 0a 3c 2f 73 61 6d 70 3e 3c 2f 70 72 65 3e 3c 2f 66 69 67 75 72 65 3e 0a .passed..</samp></pre></figure>.
4bae0 0a 20 20 20 20 20 20 0a 20 20 20 20 20 20 0a 0a 20 20 20 20 20 20 3c 68 32 20 69 64 3d 22 75 6e ......................<h2.id="un
4bb00 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 63 2d 75 6e 69 6f ion"><a.href="nav.xhtml#toc-unio
4bb20 6e 22 3e 75 6e 69 6f 6e 3c 2f 61 3e 20 3c 61 20 63 6c 61 73 73 3d 22 68 64 72 22 20 68 72 65 66 n">union</a>.<a.class="hdr".href
4bb40 3d 22 23 75 6e 69 6f 6e 22 3e c2 a7 3c 2f 61 3e 3c 2f 68 32 3e 0a 0a 20 20 20 20 20 20 3c 70 3e ="#union">..</a></h2>........<p>
4bb60 0a 20 20 20 20 20 20 41 20 62 61 72 65 20 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d .......A.bare.<code><span.class=
4bb80 22 74 6f 6b 2d 6b 77 22 3e 75 6e 69 6f 6e 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 20 64 65 66 "tok-kw">union</span></code>.def
4bba0 69 6e 65 73 20 61 20 73 65 74 20 6f 66 20 70 6f 73 73 69 62 6c 65 20 74 79 70 65 73 20 74 68 61 ines.a.set.of.possible.types.tha
4bbc0 74 20 61 20 76 61 6c 75 65 0a 20 20 20 20 20 20 63 61 6e 20 62 65 20 61 73 20 61 20 6c 69 73 74 t.a.value.......can.be.as.a.list
4bbe0 20 6f 66 20 66 69 65 6c 64 73 2e 20 4f 6e 6c 79 20 6f 6e 65 20 66 69 65 6c 64 20 63 61 6e 20 62 .of.fields..Only.one.field.can.b
4bc00 65 20 61 63 74 69 76 65 20 61 74 20 61 20 74 69 6d 65 2e 0a 20 20 20 20 20 20 54 68 65 20 69 6e e.active.at.a.time........The.in
4bc20 2d 6d 65 6d 6f 72 79 20 72 65 70 72 65 73 65 6e 74 61 74 69 6f 6e 20 6f 66 20 62 61 72 65 20 75 -memory.representation.of.bare.u
4bc40 6e 69 6f 6e 73 20 69 73 20 6e 6f 74 20 67 75 61 72 61 6e 74 65 65 64 2e 0a 20 20 20 20 20 20 42 nions.is.not.guaranteed........B
4bc60 61 72 65 20 75 6e 69 6f 6e 73 20 63 61 6e 6e 6f 74 20 62 65 20 75 73 65 64 20 74 6f 20 72 65 69 are.unions.cannot.be.used.to.rei
4bc80 6e 74 65 72 70 72 65 74 20 6d 65 6d 6f 72 79 2e 20 46 6f 72 20 74 68 61 74 2c 20 75 73 65 20 3c nterpret.memory..For.that,.use.<
4bca0 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 61 3e 2c 0a a.href="#ptrCast">@ptrCast</a>,.
4bcc0 20 20 20 20 20 20 6f 72 20 75 73 65 20 61 6e 20 3c 61 20 68 72 65 66 3d 22 23 65 78 74 65 72 6e ......or.use.an.<a.href="#extern
4bce0 2d 75 6e 69 6f 6e 22 3e 65 78 74 65 72 6e 20 75 6e 69 6f 6e 3c 2f 61 3e 20 6f 72 20 61 20 3c 61 -union">extern.union</a>.or.a.<a
4bd00 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 65 64 20 75 6e 69 .href="#packed-union">packed.uni
4bd20 6f 6e 3c 2f 61 3e 20 77 68 69 63 68 20 68 61 76 65 0a 20 20 20 20 20 20 67 75 61 72 61 6e 74 65 on</a>.which.have.......guarante
4bd40 65 64 20 69 6e 2d 6d 65 6d 6f 72 79 20 6c 61 79 6f 75 74 2e 0a 20 20 20 20 20 20 3c 61 20 68 72 ed.in-memory.layout........<a.hr
4bd60 65 66 3d 22 23 57 72 6f 6e 67 2d 55 6e 69 6f 6e 2d 46 69 65 6c 64 2d 41 63 63 65 73 73 22 3e 41 ef="#Wrong-Union-Field-Access">A
4bd80 63 63 65 73 73 69 6e 67 20 74 68 65 20 6e 6f 6e 2d 61 63 74 69 76 65 20 66 69 65 6c 64 3c 2f 61 ccessing.the.non-active.field</a
4bda0 3e 20 69 73 0a 20 20 20 20 20 20 73 61 66 65 74 79 2d 63 68 65 63 6b 65 64 20 3c 61 20 68 72 65 >.is.......safety-checked.<a.hre
4bdc0 66 3d 22 23 49 6c 6c 65 67 61 6c 2d 42 65 68 61 76 69 6f 72 22 3e 49 6c 6c 65 67 61 6c 20 42 65 f="#Illegal-Behavior">Illegal.Be
4bde0 68 61 76 69 6f 72 3c 2f 61 3e 3a 0a 20 20 20 20 20 20 3c 2f 70 3e 0a 20 20 20 20 20 20 3c 66 69 havior</a>:.......</p>.......<fi
4be00 67 75 72 65 3e 3c 66 69 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"
4be20 3e 3c 63 69 74 65 20 63 6c 61 73 73 3d 22 66 69 6c 65 22 3e 74 65 73 74 5f 77 72 6f 6e 67 5f 75 ><cite.class="file">test_wrong_u
4be40 6e 69 6f 6e 5f 61 63 63 65 73 73 2e 7a 69 67 3c 2f 63 69 74 65 3e 3c 2f 66 69 67 63 61 70 74 69 nion_access.zig</cite></figcapti
4be60 6f 6e 3e 3c 70 72 65 3e 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b on><pre><code><span.class="tok-k
4be80 77 22 3e 63 6f 6e 73 74 3c 2f 73 70 61 6e 3e 20 50 61 79 6c 6f 61 64 20 3d 20 3c 73 70 61 6e 20 w">const</span>.Payload.=.<span.
4bea0 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 0a 20 20 class="tok-kw">union</span>.{...
4bec0 20 20 69 6e 74 3a 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 69 36 ..int:.<span.class="tok-type">i6
4bee0 34 3c 2f 73 70 61 6e 3e 2c 0a 20 20 20 20 66 6c 6f 61 74 3a 20 3c 73 70 61 6e 20 63 6c 61 73 73 4</span>,.....float:.<span.class
4bf00 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 66 36 34 3c 2f 73 70 61 6e 3e 2c 0a 20 20 20 20 62 6f 6f 6c ="tok-type">f64</span>,.....bool
4bf20 65 61 6e 3a 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 62 6f 6f 6c ean:.<span.class="tok-type">bool
4bf40 3c 2f 73 70 61 6e 3e 2c 0a 7d 3b 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 </span>,.};.<span.class="tok-kw"
4bf60 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
4bf80 72 22 3e 26 71 75 6f 74 3b 73 69 6d 70 6c 65 20 75 6e 69 6f 6e 26 71 75 6f 74 3b 3c 2f 73 70 61 r">&quot;simple.union&quot;</spa
4bfa0 6e 3e 20 7b 0a 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 76 61 n>.{.....<span.class="tok-kw">va
4bfc0 72 3c 2f 73 70 61 6e 3e 20 70 61 79 6c 6f 61 64 20 3d 20 50 61 79 6c 6f 61 64 7b 20 2e 69 6e 74 r</span>.payload.=.Payload{..int
4bfe0 20 3d 20 3c 73 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
4c000 3c 2f 73 70 61 6e 3e 20 7d 3b 0a 20 20 20 20 70 61 79 6c 6f 61 64 2e 66 6c 6f 61 74 20 3d 20 3c </span>.};.....payload.float.=.<
4c020 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 31 32 2e 33 34 3c 2f 73 span.class="tok-number">12.34</s
4c040 70 61 6e 3e 3b 0a 7d 3c 2f 63 6f 64 65 3e 3c 2f 70 72 65 3e 3c 2f 66 69 67 75 72 65 3e 3c 66 69 pan>;.}</code></pre></figure><fi
4c060 67 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
4c080 70 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>
4c0a0 24 20 3c 6b 62 64 3e 7a 69 67 20 74 65 73 74 20 74 65 73 74 5f 77 72 6f 6e 67 5f 75 6e 69 6f 6e $.<kbd>zig.test.test_wrong_union
4c0c0 5f 61 63 63 65 73 73 2e 7a 69 67 3c 2f 6b 62 64 3e 0a 31 2f 31 20 74 65 73 74 5f 77 72 6f 6e 67 _access.zig</kbd>.1/1.test_wrong
4c0e0 5f 75 6e 69 6f 6e 5f 61 63 63 65 73 73 2e 74 65 73 74 2e 73 69 6d 70 6c 65 20 75 6e 69 6f 6e 2e _union_access.test.simple.union.
4c100 2e 2e 74 68 72 65 61 64 20 32 33 31 33 32 30 20 70 61 6e 69 63 3a 20 61 63 63 65 73 73 20 6f 66 ..thread.231320.panic:.access.of
4c120 20 75 6e 69 6f 6e 20 66 69 65 6c 64 20 27 66 6c 6f 61 74 27 20 77 68 69 6c 65 20 66 69 65 6c 64 .union.field.'float'.while.field
4c140 20 27 69 6e 74 27 20 69 73 20 61 63 74 69 76 65 0a 2f 68 6f 6d 65 2f 63 69 2f 77 6f 72 6b 2f 7a .'int'.is.active./home/ci/work/z
4c160 69 67 2d 62 6f 6f 74 73 74 72 61 70 2f 7a 69 67 2f 64 6f 63 2f 6c 61 6e 67 72 65 66 2f 74 65 73 ig-bootstrap/zig/doc/langref/tes
4c180 74 5f 77 72 6f 6e 67 5f 75 6e 69 6f 6e 5f 61 63 63 65 73 73 2e 7a 69 67 3a 38 3a 31 32 3a 20 30 t_wrong_union_access.zig:8:12:.0
4c1a0 78 31 32 33 38 39 66 32 20 69 6e 20 74 65 73 74 2e 73 69 6d 70 6c 65 20 75 6e 69 6f 6e 20 28 74 x12389f2.in.test.simple.union.(t
4c1c0 65 73 74 5f 77 72 6f 6e 67 5f 75 6e 69 6f 6e 5f 61 63 63 65 73 73 2e 7a 69 67 29 0a 20 20 20 20 est_wrong_union_access.zig).....
4c1e0 70 61 79 6c 6f 61 64 2e 66 6c 6f 61 74 20 3d 20 31 32 2e 33 34 3b 0a 20 20 20 20 20 20 20 20 20 payload.float.=.12.34;..........
4c200 20 20 5e 0a 2f 68 6f 6d 65 2f 63 69 2f 77 6f 72 6b 2f 7a 69 67 2d 62 6f 6f 74 73 74 72 61 70 2f ..^./home/ci/work/zig-bootstrap/
4c220 6f 75 74 2f 68 6f 73 74 2f 6c 69 62 2f 7a 69 67 2f 63 6f 6d 70 69 6c 65 72 2f 74 65 73 74 5f 72 out/host/lib/zig/compiler/test_r
4c240 75 6e 6e 65 72 2e 7a 69 67 3a 32 39 31 3a 32 35 3a 20 30 78 31 31 66 33 65 64 36 20 69 6e 20 6d unner.zig:291:25:.0x11f3ed6.in.m
4c260 61 69 6e 54 65 72 6d 69 6e 61 6c 20 28 74 65 73 74 5f 72 75 6e 6e 65 72 2e 7a 69 67 29 0a 20 20 ainTerminal.(test_runner.zig)...
4c280 20 20 20 20 20 20 69 66 20 28 74 65 73 74 5f 66 6e 2e 66 75 6e 63 28 29 29 20 7c 5f 7c 20 7b 0a ......if.(test_fn.func()).|_|.{.
4c2a0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 5e 0a 2f 68 6f 6d 65 2f ........................^./home/
4c2c0 63 69 2f 77 6f 72 6b 2f 7a 69 67 2d 62 6f 6f 74 73 74 72 61 70 2f 6f 75 74 2f 68 6f 73 74 2f 6c ci/work/zig-bootstrap/out/host/l
4c2e0 69 62 2f 7a 69 67 2f 63 6f 6d 70 69 6c 65 72 2f 74 65 73 74 5f 72 75 6e 6e 65 72 2e 7a 69 67 3a ib/zig/compiler/test_runner.zig:
4c300 37 33 3a 32 38 3a 20 30 78 31 31 66 33 36 66 32 20 69 6e 20 6d 61 69 6e 20 28 74 65 73 74 5f 72 73:28:.0x11f36f2.in.main.(test_r
4c320 75 6e 6e 65 72 2e 7a 69 67 29 0a 20 20 20 20 20 20 20 20 72 65 74 75 72 6e 20 6d 61 69 6e 54 65 unner.zig).........return.mainTe
4c340 72 6d 69 6e 61 6c 28 69 6e 69 74 29 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 rminal(init);...................
4c360 20 20 20 20 20 20 20 20 20 5e 0a 2f 68 6f 6d 65 2f 63 69 2f 77 6f 72 6b 2f 7a 69 67 2d 62 6f 6f .........^./home/ci/work/zig-boo
4c380 74 73 74 72 61 70 2f 6f 75 74 2f 68 6f 73 74 2f 6c 69 62 2f 7a 69 67 2f 73 74 64 2f 73 74 61 72 tstrap/out/host/lib/zig/std/star
4c3a0 74 2e 7a 69 67 3a 37 32 33 3a 38 38 3a 20 30 78 31 31 65 66 66 30 35 20 69 6e 20 63 61 6c 6c 4d t.zig:723:88:.0x11eff05.in.callM
4c3c0 61 69 6e 20 28 73 74 64 2e 7a 69 67 29 0a 20 20 20 20 69 66 20 28 66 6e 5f 69 6e 66 6f 2e 70 61 ain.(std.zig).....if.(fn_info.pa
4c3e0 72 61 6d 73 5b 30 5d 2e 74 79 70 65 2e 3f 20 3d 3d 20 73 74 64 2e 70 72 6f 63 65 73 73 2e 49 6e rams[0].type.?.==.std.process.In
4c400 69 74 2e 4d 69 6e 69 6d 61 6c 29 20 72 65 74 75 72 6e 20 77 72 61 70 4d 61 69 6e 28 72 6f 6f 74 it.Minimal).return.wrapMain(root
4c420 2e 6d 61 69 6e 28 2e 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 .main(.{........................
4c440 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ................................
4c460 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ................................
4c480 5e 0a 2f 68 6f 6d 65 2f 63 69 2f 77 6f 72 6b 2f 7a 69 67 2d 62 6f 6f 74 73 74 72 61 70 2f 6f 75 ^./home/ci/work/zig-bootstrap/ou
4c4a0 74 2f 68 6f 73 74 2f 6c 69 62 2f 7a 69 67 2f 73 74 64 2f 73 74 61 72 74 2e 7a 69 67 3a 32 30 34 t/host/lib/zig/std/start.zig:204
4c4c0 3a 35 3a 20 30 78 31 31 65 66 38 65 31 20 69 6e 20 5f 73 74 61 72 74 20 28 73 74 64 2e 7a 69 67 :5:.0x11ef8e1.in._start.(std.zig
4c4e0 29 0a 20 20 20 20 61 73 6d 20 76 6f 6c 61 74 69 6c 65 20 28 73 77 69 74 63 68 20 28 6e 61 74 69 ).....asm.volatile.(switch.(nati
4c500 76 65 5f 61 72 63 68 29 20 7b 0a 20 20 20 20 5e 0a 65 72 72 6f 72 3a 20 74 68 65 20 66 6f 6c 6c ve_arch).{.....^.error:.the.foll
4c520 6f 77 69 6e 67 20 74 65 73 74 20 63 6f 6d 6d 61 6e 64 20 74 65 72 6d 69 6e 61 74 65 64 20 77 69 owing.test.command.terminated.wi
4c540 74 68 20 73 69 67 6e 61 6c 20 41 42 52 54 3a 0a 2f 68 6f 6d 65 2f 63 69 2f 77 6f 72 6b 2f 7a 69 th.signal.ABRT:./home/ci/work/zi
4c560 67 2d 62 6f 6f 74 73 74 72 61 70 2f 6f 75 74 2f 7a 69 67 2d 6c 6f 63 61 6c 2d 63 61 63 68 65 2f g-bootstrap/out/zig-local-cache/
4c580 6f 2f 36 64 64 61 35 65 30 34 33 61 62 62 38 32 66 33 31 34 35 36 63 32 38 36 30 39 64 39 30 64 o/6dda5e043abb82f31456c28609d90d
4c5a0 65 61 2f 74 65 73 74 20 2d 2d 73 65 65 64 3d 30 78 39 34 39 63 33 35 32 61 0a 3c 2f 73 61 6d 70 ea/test.--seed=0x949c352a.</samp
4c5c0 3e 3c 2f 70 72 65 3e 3c 2f 66 69 67 75 72 65 3e 0a 0a 20 20 20 20 20 20 3c 70 3e 59 6f 75 20 63 ></pre></figure>........<p>You.c
4c5e0 61 6e 20 61 63 74 69 76 61 74 65 20 61 6e 6f 74 68 65 72 20 66 69 65 6c 64 20 62 79 20 61 73 73 an.activate.another.field.by.ass
4c600 69 67 6e 69 6e 67 20 74 68 65 20 65 6e 74 69 72 65 20 75 6e 69 6f 6e 3a 3c 2f 70 3e 0a 20 20 20 igning.the.entire.union:</p>....
4c620 20 20 20 3c 66 69 67 75 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
4c640 67 2d 63 61 70 22 3e 3c 63 69 74 65 20 63 6c 61 73 73 3d 22 66 69 6c 65 22 3e 74 65 73 74 5f 73 g-cap"><cite.class="file">test_s
4c660 69 6d 70 6c 65 5f 75 6e 69 6f 6e 2e 7a 69 67 3c 2f 63 69 74 65 3e 3c 2f 66 69 67 63 61 70 74 69 imple_union.zig</cite></figcapti
4c680 6f 6e 3e 3c 70 72 65 3e 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b on><pre><code><span.class="tok-k
4c6a0 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
4c6c0 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>(<
4c6e0 73 70 61 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
4c700 75 6f 74 3b 3c 2f 73 70 61 6e 3e 29 3b 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b uot;</span>);.<span.class="tok-k
4c720 77 22 3e 63 6f 6e 73 74 3c 2f 73 70 61 6e 3e 20 65 78 70 65 63 74 45 71 75 61 6c 20 3d 20 73 74 w">const</span>.expectEqual.=.st
4c740 64 2e 74 65 73 74 69 6e 67 2e 65 78 70 65 63 74 45 71 75 61 6c 3b 0a 0a 3c 73 70 61 6e 20 63 6c d.testing.expectEqual;..<span.cl
4c760 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 63 6f 6e 73 74 3c 2f 73 70 61 6e 3e 20 50 61 79 6c 6f 61 ass="tok-kw">const</span>.Payloa
4c780 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 2f d.=.<span.class="tok-kw">union</
4c7a0 73 70 61 6e 3e 20 7b 0a 20 20 20 20 69 6e 74 3a 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f span>.{.....int:.<span.class="to
4c7c0 6b 2d 74 79 70 65 22 3e 69 36 34 3c 2f 73 70 61 6e 3e 2c 0a 20 20 20 20 66 6c 6f 61 74 3a 20 3c k-type">i64</span>,.....float:.<
4c7e0 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>
4c800 2c 0a 20 20 20 20 62 6f 6f 6c 65 61 6e 3a 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d ,.....boolean:.<span.class="tok-
4c820 74 79 70 65 22 3e 62 6f 6f 6c 3c 2f 73 70 61 6e 3e 2c 0a 7d 3b 0a 3c 73 70 61 6e 20 63 6c 61 73 type">bool</span>,.};.<span.clas
4c840 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
4c860 73 73 3d 22 74 6f 6b 2d 73 74 72 22 3e 26 71 75 6f 74 3b 73 69 6d 70 6c 65 20 75 6e 69 6f 6e 26 ss="tok-str">&quot;simple.union&
4c880 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 20 7b 0a 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 quot;</span>.{.....<span.class="
4c8a0 74 6f 6b 2d 6b 77 22 3e 76 61 72 3c 2f 73 70 61 6e 3e 20 70 61 79 6c 6f 61 64 20 3d 20 50 61 79 tok-kw">var</span>.payload.=.Pay
4c8c0 6c 6f 61 64 7b 20 2e 69 6e 74 20 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 load{..int.=.<span.class="tok-nu
4c8e0 6d 62 65 72 22 3e 31 32 33 34 3c 2f 73 70 61 6e 3e 20 7d 3b 0a 20 20 20 20 3c 73 70 61 6e 20 63 mber">1234</span>.};.....<span.c
4c900 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 74 72 79 3c 2f 73 70 61 6e 3e 20 65 78 70 65 63 74 45 lass="tok-kw">try</span>.expectE
4c920 71 75 61 6c 28 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 31 32 qual(<span.class="tok-number">12
4c940 33 34 3c 2f 73 70 61 6e 3e 2c 20 70 61 79 6c 6f 61 64 2e 69 6e 74 29 3b 0a 20 20 20 20 70 61 79 34</span>,.payload.int);.....pay
4c960 6c 6f 61 64 20 3d 20 50 61 79 6c 6f 61 64 7b 20 2e 66 6c 6f 61 74 20 3d 20 3c 73 70 61 6e 20 63 load.=.Payload{..float.=.<span.c
4c980 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>.}
4c9a0 3b 0a 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 74 72 79 3c 2f ;.....<span.class="tok-kw">try</
4c9c0 73 70 61 6e 3e 20 65 78 70 65 63 74 45 71 75 61 6c 28 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 span>.expectEqual(<span.class="t
4c9e0 6f 6b 2d 6e 75 6d 62 65 72 22 3e 31 32 2e 33 34 3c 2f 73 70 61 6e 3e 2c 20 70 61 79 6c 6f 61 64 ok-number">12.34</span>,.payload
4ca00 2e 66 6c 6f 61 74 29 3b 0a 7d 3c 2f 63 6f 64 65 3e 3c 2f 70 72 65 3e 3c 2f 66 69 67 75 72 65 3e .float);.}</code></pre></figure>
4ca20 3c 66 69 67 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
4ca40 2d 63 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
4ca60 6d 70 3e 24 20 3c 6b 62 64 3e 7a 69 67 20 74 65 73 74 20 74 65 73 74 5f 73 69 6d 70 6c 65 5f 75 mp>$.<kbd>zig.test.test_simple_u
4ca80 6e 69 6f 6e 2e 7a 69 67 3c 2f 6b 62 64 3e 0a 31 2f 31 20 74 65 73 74 5f 73 69 6d 70 6c 65 5f 75 nion.zig</kbd>.1/1.test_simple_u
4caa0 6e 69 6f 6e 2e 74 65 73 74 2e 73 69 6d 70 6c 65 20 75 6e 69 6f 6e 2e 2e 2e 4f 4b 0a 41 6c 6c 20 nion.test.simple.union...OK.All.
4cac0 31 20 74 65 73 74 73 20 70 61 73 73 65 64 2e 0a 3c 2f 73 61 6d 70 3e 3c 2f 70 72 65 3e 3c 2f 66 1.tests.passed..</samp></pre></f
4cae0 69 67 75 72 65 3e 0a 0a 20 20 20 20 20 20 3c 70 3e 0a 20 20 20 20 20 20 49 6e 20 6f 72 64 65 72 igure>........<p>.......In.order
4cb00 20 74 6f 20 75 73 65 20 3c 61 20 68 72 65 66 3d 22 23 73 77 69 74 63 68 22 3e 73 77 69 74 63 68 .to.use.<a.href="#switch">switch
4cb20 3c 2f 61 3e 20 77 69 74 68 20 61 20 75 6e 69 6f 6e 2c 20 69 74 20 6d 75 73 74 20 62 65 20 61 20 </a>.with.a.union,.it.must.be.a.
4cb40 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
4cb60 6e 69 6f 6e 3c 2f 61 3e 2e 0a 20 20 20 20 20 20 3c 2f 70 3e 0a 20 20 20 20 20 20 3c 70 3e 0a 20 nion</a>........</p>.......<p>..
4cb80 20 20 20 20 20 54 6f 20 69 6e 69 74 69 61 6c 69 7a 65 20 61 20 75 6e 69 6f 6e 20 77 68 65 6e 20 .....To.initialize.a.union.when.
4cba0 74 68 65 20 74 61 67 20 69 73 20 61 20 3c 61 20 68 72 65 66 3d 22 23 63 6f 6d 70 74 69 6d 65 22 the.tag.is.a.<a.href="#comptime"
4cbc0 3e 63 6f 6d 70 74 69 6d 65 3c 2f 61 3e 2d 6b 6e 6f 77 6e 20 6e 61 6d 65 2c 20 73 65 65 20 3c 61 >comptime</a>-known.name,.see.<a
4cbe0 20 68 72 65 66 3d 22 23 75 6e 69 6f 6e 49 6e 69 74 22 3e 40 75 6e 69 6f 6e 49 6e 69 74 3c 2f 61 .href="#unionInit">@unionInit</a
4cc00 3e 2e 0a 20 20 20 20 20 20 3c 2f 70 3e 0a 0a 20 20 20 20 20 20 3c 68 33 20 69 64 3d 22 54 61 67 >........</p>........<h3.id="Tag
4cc20 67 65 64 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 6f ged-union"><a.href="nav.xhtml#to
4cc40 63 2d 54 61 67 67 65 64 2d 75 6e 69 6f 6e 22 3e 54 61 67 67 65 64 20 75 6e 69 6f 6e 3c 2f 61 3e c-Tagged-union">Tagged.union</a>
4cc60 20 3c 61 20 63 6c 61 73 73 3d 22 68 64 72 22 20 68 72 65 66 3d 22 23 54 61 67 67 65 64 2d 75 6e .<a.class="hdr".href="#Tagged-un
4cc80 69 6f 6e 22 3e c2 a7 3c 2f 61 3e 3c 2f 68 33 3e 0a 0a 20 20 20 20 20 20 3c 70 3e 55 6e 69 6f 6e ion">..</a></h3>........<p>Union
4cca0 73 20 63 61 6e 20 62 65 20 64 65 63 6c 61 72 65 64 20 77 69 74 68 20 61 6e 20 65 6e 75 6d 20 74 s.can.be.declared.with.an.enum.t
4ccc0 61 67 20 74 79 70 65 2e 0a 20 20 20 20 20 20 54 68 69 73 20 74 75 72 6e 73 20 74 68 65 20 75 6e ag.type........This.turns.the.un
4cce0 69 6f 6e 20 69 6e 74 6f 20 61 20 3c 65 6d 3e 74 61 67 67 65 64 3c 2f 65 6d 3e 20 75 6e 69 6f 6e ion.into.a.<em>tagged</em>.union
4cd00 2c 20 77 68 69 63 68 20 6d 61 6b 65 73 20 69 74 20 65 6c 69 67 69 62 6c 65 0a 20 20 20 20 20 20 ,.which.makes.it.eligible.......
4cd20 74 6f 20 75 73 65 20 77 69 74 68 20 3c 61 20 68 72 65 66 3d 22 23 73 77 69 74 63 68 22 3e 73 77 to.use.with.<a.href="#switch">sw
4cd40 69 74 63 68 3c 2f 61 3e 20 65 78 70 72 65 73 73 69 6f 6e 73 2e 20 57 68 65 6e 20 73 77 69 74 63 itch</a>.expressions..When.switc
4cd60 68 69 6e 67 20 6f 6e 20 74 61 67 67 65 64 20 75 6e 69 6f 6e 73 2c 0a 20 20 20 20 20 20 74 68 65 hing.on.tagged.unions,.......the
4cd80 20 74 61 67 20 76 61 6c 75 65 20 63 61 6e 20 62 65 20 6f 62 74 61 69 6e 65 64 20 75 73 69 6e 67 .tag.value.can.be.obtained.using
4cda0 20 61 6e 20 61 64 64 69 74 69 6f 6e 61 6c 20 63 61 70 74 75 72 65 2e 0a 20 20 20 20 20 20 54 61 .an.additional.capture........Ta
4cdc0 67 67 65 64 20 75 6e 69 6f 6e 73 20 63 6f 65 72 63 65 20 74 6f 20 74 68 65 69 72 20 74 61 67 20 gged.unions.coerce.to.their.tag.
4cde0 74 79 70 65 3a 20 3c 61 20 68 72 65 66 3d 22 23 54 79 70 65 2d 43 6f 65 72 63 69 6f 6e 2d 55 6e type:.<a.href="#Type-Coercion-Un
4ce00 69 6f 6e 73 2d 61 6e 64 2d 45 6e 75 6d 73 22 3e 54 79 70 65 20 43 6f 65 72 63 69 6f 6e 3a 20 55 ions-and-Enums">Type.Coercion:.U
4ce20 6e 69 6f 6e 73 20 61 6e 64 20 45 6e 75 6d 73 3c 2f 61 3e 2e 0a 20 20 20 20 20 20 3c 2f 70 3e 0a nions.and.Enums</a>........</p>.
4ce40 20 20 20 20 20 20 3c 66 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=
4ce60 22 7a 69 67 2d 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
4ce80 74 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 67 63 61 t_tagged_union.zig</cite></figca
4cea0 70 74 69 6f 6e 3e 3c 70 72 65 3e 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f ption><pre><code><span.class="to
4cec0 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
4cee0 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
4cf00 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
4cf20 64 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 29 3b 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f d&quot;</span>);.<span.class="to
4cf40 6b 2d 6b 77 22 3e 63 6f 6e 73 74 3c 2f 73 70 61 6e 3e 20 65 78 70 65 63 74 45 71 75 61 6c 20 3d k-kw">const</span>.expectEqual.=
4cf60 20 73 74 64 2e 74 65 73 74 69 6e 67 2e 65 78 70 65 63 74 45 71 75 61 6c 3b 0a 0a 3c 73 70 61 6e .std.testing.expectEqual;..<span
4cf80 20 63 6c 61 73 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 .class="tok-kw">const</span>.Com
4cfa0 70 6c 65 78 54 79 70 65 54 61 67 20 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b plexTypeTag.=.<span.class="tok-k
4cfc0 77 22 3e 65 6e 75 6d 3c 2f 73 70 61 6e 3e 20 7b 0a 20 20 20 20 6f 6b 2c 0a 20 20 20 20 6e 6f 74 w">enum</span>.{.....ok,.....not
4cfe0 5f 6f 6b 2c 0a 7d 3b 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 63 6f 6e _ok,.};.<span.class="tok-kw">con
4d000 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 63 6c st</span>.ComplexType.=.<span.cl
4d020 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 6c 65 ass="tok-kw">union</span>(Comple
4d040 78 54 79 70 65 54 61 67 29 20 7b 0a 20 20 20 20 6f 6b 3a 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d xTypeTag).{.....ok:.<span.class=
4d060 22 74 6f 6b 2d 74 79 70 65 22 3e 75 38 3c 2f 73 70 61 6e 3e 2c 0a 20 20 20 20 6e 6f 74 5f 6f 6b "tok-type">u8</span>,.....not_ok
4d080 3a 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
4d0a0 70 61 6e 3e 2c 0a 7d 3b 0a 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 74 pan>,.};..<span.class="tok-kw">t
4d0c0 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"
4d0e0 3e 26 71 75 6f 74 3b 73 77 69 74 63 68 20 6f 6e 20 74 61 67 67 65 64 20 75 6e 69 6f 6e 26 71 75 >&quot;switch.on.tagged.union&qu
4d100 6f 74 3b 3c 2f 73 70 61 6e 3e 20 7b 0a 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f ot;</span>.{.....<span.class="to
4d120 6b 2d 6b 77 22 3e 63 6f 6e 73 74 3c 2f 73 70 61 6e 3e 20 63 20 3d 20 43 6f 6d 70 6c 65 78 54 79 k-kw">const</span>.c.=.ComplexTy
4d140 70 65 7b 20 2e 6f 6b 20 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 pe{..ok.=.<span.class="tok-numbe
4d160 72 22 3e 34 32 3c 2f 73 70 61 6e 3e 20 7d 3b 0a 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d r">42</span>.};.....<span.class=
4d180 22 74 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 "tok-kw">try</span>.expectEqual(
4d1a0 43 6f 6d 70 6c 65 78 54 79 70 65 54 61 67 2e 6f 6b 2c 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 ComplexTypeTag.ok,.<span.class="
4d1c0 74 6f 6b 2d 62 75 69 6c 74 69 6e 22 3e 40 61 73 3c 2f 73 70 61 6e 3e 28 43 6f 6d 70 6c 65 78 54 tok-builtin">@as</span>(ComplexT
4d1e0 79 70 65 54 61 67 2c 20 63 29 29 3b 0a 0a 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 ypeTag,.c));......<span.class="t
4d200 6f 6b 2d 6b 77 22 3e 73 77 69 74 63 68 3c 2f 73 70 61 6e 3e 20 28 63 29 20 7b 0a 20 20 20 20 20 ok-kw">switch</span>.(c).{......
4d220 20 20 20 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 73 ....ok.=&gt;.|value|.<span.class
4d240 3d 22 74 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 ="tok-kw">try</span>.expectEqual
4d260 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 32 3c 2f 73 70 (<span.class="tok-number">42</sp
4d280 61 6e 3e 2c 20 76 61 6c 75 65 29 2c 0a 20 20 20 20 20 20 20 20 2e 6e 6f 74 5f 6f 6b 20 3d 26 67 an>,.value),..........not_ok.=&g
4d2a0 74 3b 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 75 6e 72 65 61 63 68 61 t;.<span.class="tok-kw">unreacha
4d2c0 62 6c 65 3c 2f 73 70 61 6e 3e 2c 0a 20 20 20 20 7d 0a 0a 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 ble</span>,.....}......<span.cla
4d2e0 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 73 77 69 74 63 68 3c 2f 73 70 61 6e 3e 20 28 63 29 20 7b 0a ss="tok-kw">switch</span>.(c).{.
4d300 20 20 20 20 20 20 20 20 2e 6f 6b 20 3d 26 67 74 3b 20 7c 5f 2c 20 74 61 67 7c 20 7b 0a 20 20 20 .........ok.=&gt;.|_,.tag|.{....
4d320 20 20 20 20 20 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 63 6f 6d 6d 65 6e .........<span.class="tok-commen
4d340 74 22 3e 2f 2f 20 42 65 63 61 75 73 65 20 77 65 27 72 65 20 69 6e 20 74 68 65 20 27 2e 6f 6b 27 t">//.Because.we're.in.the.'.ok'
4d360 20 70 72 6f 6e 67 2c 20 27 74 61 67 27 20 69 73 20 63 6f 6d 70 69 6c 65 2d 74 69 6d 65 20 6b 6e .prong,.'tag'.is.compile-time.kn
4d380 6f 77 6e 20 74 6f 20 62 65 20 27 2e 6f 6b 27 3a 3c 2f 73 70 61 6e 3e 0a 20 20 20 20 20 20 20 20 own.to.be.'.ok':</span>.........
4d3a0 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 63 6f 6d 70 74 69 6d ....<span.class="tok-kw">comptim
4d3c0 65 3c 2f 73 70 61 6e 3e 20 73 74 64 2e 64 65 62 75 67 2e 61 73 73 65 72 74 28 74 61 67 20 3d 3d e</span>.std.debug.assert(tag.==
4d3e0 20 2e 6f 6b 29 3b 0a 20 20 20 20 20 20 20 20 7d 2c 0a 20 20 20 20 20 20 20 20 2e 6e 6f 74 5f 6f ..ok);.........},..........not_o
4d400 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 72 k.=&gt;.<span.class="tok-kw">unr
4d420 65 61 63 68 61 62 6c 65 3c 2f 73 70 61 6e 3e 2c 0a 20 20 20 20 7d 0a 7d 0a 0a 3c 73 70 61 6e 20 eachable</span>,.....}.}..<span.
4d440 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
4d460 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 73 74 72 22 3e 26 71 75 6f 74 3b 67 65 74 20 74 61 67 20 74 .class="tok-str">&quot;get.tag.t
4d480 79 70 65 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 20 7b 0a 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 ype&quot;</span>.{.....<span.cla
4d4a0 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 74 72 79 3c 2f 73 70 61 6e 3e 20 65 78 70 65 63 74 45 71 75 ss="tok-kw">try</span>.expectEqu
4d4c0 61 6c 28 43 6f 6d 70 6c 65 78 54 79 70 65 54 61 67 2c 20 73 74 64 2e 6d 65 74 61 2e 54 61 67 28 al(ComplexTypeTag,.std.meta.Tag(
4d4e0 43 6f 6d 70 6c 65 78 54 79 70 65 29 29 3b 0a 7d 3c 2f 63 6f 64 65 3e 3c 2f 70 72 65 3e 3c 2f 66 ComplexType));.}</code></pre></f
4d500 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=
4d520 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
4d540 72 65 3e 3c 73 61 6d 70 3e 24 20 3c 6b 62 64 3e 7a 69 67 20 74 65 73 74 20 74 65 73 74 5f 74 61 re><samp>$.<kbd>zig.test.test_ta
4d560 67 67 65 64 5f 75 6e 69 6f 6e 2e 7a 69 67 3c 2f 6b 62 64 3e 0a 31 2f 32 20 74 65 73 74 5f 74 61 gged_union.zig</kbd>.1/2.test_ta
4d580 67 67 65 64 5f 75 6e 69 6f 6e 2e 74 65 73 74 2e 73 77 69 74 63 68 20 6f 6e 20 74 61 67 67 65 64 gged_union.test.switch.on.tagged
4d5a0 20 75 6e 69 6f 6e 2e 2e 2e 4f 4b 0a 32 2f 32 20 74 65 73 74 5f 74 61 67 67 65 64 5f 75 6e 69 6f .union...OK.2/2.test_tagged_unio
4d5c0 6e 2e 74 65 73 74 2e 67 65 74 20 74 61 67 20 74 79 70 65 2e 2e 2e 4f 4b 0a 41 6c 6c 20 32 20 74 n.test.get.tag.type...OK.All.2.t
4d5e0 65 73 74 73 20 70 61 73 73 65 64 2e 0a 3c 2f 73 61 6d 70 3e 3c 2f 70 72 65 3e 3c 2f 66 69 67 75 ests.passed..</samp></pre></figu
4d600 72 65 3e 0a 0a 20 20 20 20 20 20 3c 70 3e 49 6e 20 6f 72 64 65 72 20 74 6f 20 6d 6f 64 69 66 79 re>........<p>In.order.to.modify
4d620 20 74 68 65 20 70 61 79 6c 6f 61 64 20 6f 66 20 61 20 74 61 67 67 65 64 20 75 6e 69 6f 6e 20 69 .the.payload.of.a.tagged.union.i
4d640 6e 20 61 20 73 77 69 74 63 68 20 65 78 70 72 65 73 73 69 6f 6e 2c 0a 20 20 20 20 20 20 70 6c 61 n.a.switch.expression,.......pla
4d660 63 65 20 61 20 3c 63 6f 64 65 3e 2a 3c 2f 63 6f 64 65 3e 20 62 65 66 6f 72 65 20 74 68 65 20 76 ce.a.<code>*</code>.before.the.v
4d680 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 20 70 6f 69 6e 74 65 ariable.name.to.make.it.a.pointe
4d6a0 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
4d6c0 63 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
4d6e0 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 64 69 66 79 5f 74 61 ass="file">test_switch_modify_ta
4d700 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 67 63 61 70 74 69 6f gged_union.zig</cite></figcaptio
4d720 6e 3e 3c 70 72 65 3e 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 n><pre><code><span.class="tok-kw
4d740 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
4d760 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
4d780 70 61 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
4d7a0 6f 74 3b 3c 2f 73 70 61 6e 3e 29 3b 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 ot;</span>);.<span.class="tok-kw
4d7c0 22 3e 63 6f 6e 73 74 3c 2f 73 70 61 6e 3e 20 65 78 70 65 63 74 45 71 75 61 6c 20 3d 20 73 74 64 ">const</span>.expectEqual.=.std
4d7e0 2e 74 65 73 74 69 6e 67 2e 65 78 70 65 63 74 45 71 75 61 6c 3b 0a 0a 3c 73 70 61 6e 20 63 6c 61 .testing.expectEqual;..<span.cla
4d800 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 63 6f 6e 73 74 3c 2f 73 70 61 6e 3e 20 43 6f 6d 70 6c 65 78 ss="tok-kw">const</span>.Complex
4d820 54 79 70 65 54 61 67 20 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 65 TypeTag.=.<span.class="tok-kw">e
4d840 6e 75 6d 3c 2f 73 70 61 6e 3e 20 7b 0a 20 20 20 20 6f 6b 2c 0a 20 20 20 20 6e 6f 74 5f 6f 6b 2c num</span>.{.....ok,.....not_ok,
4d860 0a 7d 3b 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 63 6f 6e 73 74 3c 2f .};.<span.class="tok-kw">const</
4d880 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 63 6c 61 73 73 3d span>.ComplexType.=.<span.class=
4d8a0 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 6c 65 78 54 79 70 "tok-kw">union</span>(ComplexTyp
4d8c0 65 54 61 67 29 20 7b 0a 20 20 20 20 6f 6b 3a 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b eTag).{.....ok:.<span.class="tok
4d8e0 2d 74 79 70 65 22 3e 75 38 3c 2f 73 70 61 6e 3e 2c 0a 20 20 20 20 6e 6f 74 5f 6f 6b 3a 20 3c 73 -type">u8</span>,.....not_ok:.<s
4d900 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>
4d920 2c 0a 7d 3b 0a 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 74 65 73 74 3c ,.};..<span.class="tok-kw">test<
4d940 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
4d960 6f 74 3b 6d 6f 64 69 66 79 20 74 61 67 67 65 64 20 75 6e 69 6f 6e 20 69 6e 20 73 77 69 74 63 68 ot;modify.tagged.union.in.switch
4d980 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 20 7b 0a 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d &quot;</span>.{.....<span.class=
4d9a0 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 78 54 "tok-kw">var</span>.c.=.ComplexT
4d9c0 79 70 65 7b 20 2e 6f 6b 20 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 ype{..ok.=.<span.class="tok-numb
4d9e0 65 72 22 3e 34 32 3c 2f 73 70 61 6e 3e 20 7d 3b 0a 0a 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 er">42</span>.};......<span.clas
4da00 73 3d 22 74 6f 6b 2d 6b 77 22 3e 73 77 69 74 63 68 3c 2f 73 70 61 6e 3e 20 28 63 29 20 7b 0a 20 s="tok-kw">switch</span>.(c).{..
4da20 20 20 20 20 20 20 20 43 6f 6d 70 6c 65 78 54 79 70 65 54 61 67 2e 6f 6b 20 3d 26 67 74 3b 20 7c .......ComplexTypeTag.ok.=&gt;.|
4da40 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 73 73 3d 22 *value|.value.*.+=.<span.class="
4da60 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 31 3c 2f 73 70 61 6e 3e 2c 0a 20 20 20 20 20 20 20 20 43 6f tok-number">1</span>,.........Co
4da80 6d 70 6c 65 78 54 79 70 65 54 61 67 2e 6e 6f 74 5f 6f 6b 20 3d 26 67 74 3b 20 3c 73 70 61 6e 20 mplexTypeTag.not_ok.=&gt;.<span.
4daa0 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
4dac0 3e 2c 0a 20 20 20 20 7d 0a 0a 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b >,.....}......<span.class="tok-k
4dae0 77 22 3e 74 72 79 3c 2f 73 70 61 6e 3e 20 65 78 70 65 63 74 45 71 75 61 6c 28 3c 73 70 61 6e 20 w">try</span>.expectEqual(<span.
4db00 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 2c 20 63 2e class="tok-number">43</span>,.c.
4db20 6f 6b 29 3b 0a 7d 3c 2f 63 6f 64 65 3e 3c 2f 70 72 65 3e 3c 2f 66 69 67 75 72 65 3e 3c 66 69 67 ok);.}</code></pre></figure><fig
4db40 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
4db60 22 3e 53 68 65 6c 6c 3c 2f 66 69 67 63 61 70 74 69 6f 6e 3e 3c 70 72 65 3e 3c 73 61 6d 70 3e 24 ">Shell</figcaption><pre><samp>$
4db80 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 6d 6f 64 69 66 .<kbd>zig.test.test_switch_modif
4dba0 79 5f 74 61 67 67 65 64 5f 75 6e 69 6f 6e 2e 7a 69 67 3c 2f 6b 62 64 3e 0a 31 2f 31 20 74 65 73 y_tagged_union.zig</kbd>.1/1.tes
4dbc0 74 5f 73 77 69 74 63 68 5f 6d 6f 64 69 66 79 5f 74 61 67 67 65 64 5f 75 6e 69 6f 6e 2e 74 65 73 t_switch_modify_tagged_union.tes
4dbe0 74 2e 6d 6f 64 69 66 79 20 74 61 67 67 65 64 20 75 6e 69 6f 6e 20 69 6e 20 73 77 69 74 63 68 2e t.modify.tagged.union.in.switch.
4dc00 2e 2e 4f 4b 0a 41 6c 6c 20 31 20 74 65 73 74 73 20 70 61 73 73 65 64 2e 0a 3c 2f 73 61 6d 70 3e ..OK.All.1.tests.passed..</samp>
4dc20 3c 2f 70 72 65 3e 3c 2f 66 69 67 75 72 65 3e 0a 0a 20 20 20 20 20 20 3c 70 3e 0a 20 20 20 20 20 </pre></figure>........<p>......
4dc40 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 20 74 68 65 .Unions.can.be.made.to.infer.the
4dc60 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 72 2c 20 75 .enum.tag.type........Further,.u
4dc80 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 6c 69 6b 65 nions.can.have.methods.just.like
4dca0 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 70 3e 0a 20 .structs.and.enums........</p>..
4dcc0 20 20 20 20 20 3c 66 69 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="
4dce0 7a 69 67 2d 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
4dd00 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 67 63 61 70 _union_method.zig</cite></figcap
4dd20 74 69 6f 6e 3e 3c 70 72 65 3e 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b tion><pre><code><span.class="tok
4dd40 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
4dd60 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>
4dd80 28 3c 73 70 61 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
4dda0 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 29 3b 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b &quot;</span>);.<span.class="tok
4ddc0 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
4dde0 65 73 74 69 6e 67 2e 65 78 70 65 63 74 3b 0a 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b esting.expect;..<span.class="tok
4de00 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 20 3c 73 70 61 -kw">const</span>.Variant.=.<spa
4de20 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 75 6e 69 6f 6e 3c 2f 73 70 61 6e 3e 28 3c 73 n.class="tok-kw">union</span>(<s
4de40 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 29 20 pan.class="tok-kw">enum</span>).
4de60 7b 0a 20 20 20 20 69 6e 74 3a 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 {.....int:.<span.class="tok-type
4de80 22 3e 69 33 32 3c 2f 73 70 61 6e 3e 2c 0a 20 20 20 20 62 6f 6f 6c 65 61 6e 3a 20 3c 73 70 61 6e ">i32</span>,.....boolean:.<span
4dea0 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 0a 0a .class="tok-type">bool</span>,..
4dec0 20 20 20 20 3c 73 70 61 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">//
4dee0 20 76 6f 69 64 20 63 61 6e 20 62 65 20 6f 6d 69 74 74 65 64 20 77 68 65 6e 20 69 6e 66 65 72 72 .void.can.be.omitted.when.inferr
4df00 69 6e 67 20 65 6e 75 6d 20 74 61 67 20 74 79 70 65 2e 3c 2f 73 70 61 6e 3e 0a 20 20 20 20 6e 6f ing.enum.tag.type.</span>.....no
4df20 6e 65 2c 0a 0a 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 66 6e ne,......<span.class="tok-kw">fn
4df40 3c 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 72 75 </span>.<span.class="tok-fn">tru
4df60 74 68 79 3c 2f 73 70 61 6e 3e 28 73 65 6c 66 3a 20 56 61 72 69 61 6e 74 29 20 3c 73 70 61 6e 20 thy</span>(self:.Variant).<span.
4df80 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 0a 20 class="tok-type">bool</span>.{..
4dfa0 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
4dfc0 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 73 rn</span>.<span.class="tok-kw">s
4dfe0 77 69 74 63 68 3c 2f 73 70 61 6e 3e 20 28 73 65 6c 66 29 20 7b 0a 20 20 20 20 20 20 20 20 20 20 witch</span>.(self).{...........
4e000 20 20 56 61 72 69 61 6e 74 2e 69 6e 74 20 3d 26 67 74 3b 20 7c 78 5f 69 6e 74 7c 20 78 5f 69 6e ..Variant.int.=&gt;.|x_int|.x_in
4e020 74 20 21 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 30 3c t.!=.<span.class="tok-number">0<
4e040 2f 73 70 61 6e 3e 2c 0a 20 20 20 20 20 20 20 20 20 20 20 20 56 61 72 69 61 6e 74 2e 62 6f 6f 6c /span>,.............Variant.bool
4e060 65 61 6e 20 3d 26 67 74 3b 20 7c 78 5f 62 6f 6f 6c 7c 20 78 5f 62 6f 6f 6c 2c 0a 20 20 20 20 20 ean.=&gt;.|x_bool|.x_bool,......
4e080 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 61 6e 20 .......Variant.none.=&gt;.<span.
4e0a0 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 0a 20 class="tok-null">false</span>,..
4e0c0 20 20 20 20 20 20 20 7d 3b 0a 20 20 20 20 7d 0a 7d 3b 0a 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d .......};.....}.};..<span.class=
4e0e0 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
4e100 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 6f 64 26 71 75 ="tok-str">&quot;union.method&qu
4e120 6f 74 3b 3c 2f 73 70 61 6e 3e 20 7b 0a 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f ot;</span>.{.....<span.class="to
4e140 6b 2d 6b 77 22 3e 76 61 72 3c 2f 73 70 61 6e 3e 20 76 31 3a 20 56 61 72 69 61 6e 74 20 3d 20 2e k-kw">var</span>.v1:.Variant.=..
4e160 7b 20 2e 69 6e 74 20 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 {..int.=.<span.class="tok-number
4e180 22 3e 31 3c 2f 73 70 61 6e 3e 20 7d 3b 0a 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 ">1</span>.};.....<span.class="t
4e1a0 6f 6b 2d 6b 77 22 3e 76 61 72 3c 2f 73 70 61 6e 3e 20 76 32 3a 20 56 61 72 69 61 6e 74 20 3d 20 ok-kw">var</span>.v2:.Variant.=.
4e1c0 2e 7b 20 2e 62 6f 6f 6c 65 61 6e 20 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e .{..boolean.=.<span.class="tok-n
4e1e0 75 6c 6c 22 3e 66 61 6c 73 65 3c 2f 73 70 61 6e 3e 20 7d 3b 0a 20 20 20 20 3c 73 70 61 6e 20 63 ull">false</span>.};.....<span.c
4e200 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 33 3a 20 56 61 72 lass="tok-kw">var</span>.v3:.Var
4e220 69 61 6e 74 20 3d 20 2e 6e 6f 6e 65 3b 0a 0a 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 iant.=..none;......<span.class="
4e240 74 6f 6b 2d 6b 77 22 3e 74 72 79 3c 2f 73 70 61 6e 3e 20 65 78 70 65 63 74 28 76 31 2e 74 72 75 tok-kw">try</span>.expect(v1.tru
4e260 74 68 79 28 29 29 3b 0a 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 thy());.....<span.class="tok-kw"
4e280 3e 74 72 79 3c 2f 73 70 61 6e 3e 20 65 78 70 65 63 74 28 21 76 32 2e 74 72 75 74 68 79 28 29 29 >try</span>.expect(!v2.truthy())
4e2a0 3b 0a 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 74 72 79 3c 2f ;.....<span.class="tok-kw">try</
4e2c0 73 70 61 6e 3e 20 65 78 70 65 63 74 28 21 76 33 2e 74 72 75 74 68 79 28 29 29 3b 0a 7d 3c 2f 63 span>.expect(!v3.truthy());.}</c
4e2e0 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
4e300 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</
4e320 66 69 67 63 61 70 74 69 6f 6e 3e 3c 70 72 65 3e 3c 73 61 6d 70 3e 24 20 3c 6b 62 64 3e 7a 69 67 figcaption><pre><samp>$.<kbd>zig
4e340 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 62 64 .test.test_union_method.zig</kbd
4e360 3e 0a 31 2f 31 20 74 65 73 74 5f 75 6e 69 6f 6e 5f 6d 65 74 68 6f 64 2e 74 65 73 74 2e 75 6e 69 >.1/1.test_union_method.test.uni
4e380 6f 6e 20 6d 65 74 68 6f 64 2e 2e 2e 4f 4b 0a 41 6c 6c 20 31 20 74 65 73 74 73 20 70 61 73 73 65 on.method...OK.All.1.tests.passe
4e3a0 64 2e 0a 3c 2f 73 61 6d 70 3e 3c 2f 70 72 65 3e 3c 2f 66 69 67 75 72 65 3e 0a 0a 20 20 20 20 20 d..</samp></pre></figure>.......
4e3c0 20 3c 70 3e 0a 20 20 20 20 20 20 55 6e 69 6f 6e 73 20 77 69 74 68 20 69 6e 66 65 72 72 65 64 20 .<p>.......Unions.with.inferred.
4e3e0 65 6e 75 6d 20 74 61 67 20 74 79 70 65 73 20 63 61 6e 20 61 6c 73 6f 20 61 73 73 69 67 6e 20 6f enum.tag.types.can.also.assign.o
4e400 72 64 69 6e 61 6c 20 76 61 6c 75 65 73 20 74 6f 20 74 68 65 69 72 20 69 6e 66 65 72 72 65 64 20 rdinal.values.to.their.inferred.
4e420 74 61 67 2e 0a 20 20 20 20 20 20 54 68 69 73 20 72 65 71 75 69 72 65 73 20 74 68 65 20 74 61 67 tag........This.requires.the.tag
4e440 20 74 6f 20 73 70 65 63 69 66 79 20 61 6e 20 65 78 70 6c 69 63 69 74 20 69 6e 74 65 67 65 72 20 .to.specify.an.explicit.integer.
4e460 74 79 70 65 2e 0a 20 20 20 20 20 20 3c 61 20 68 72 65 66 3d 22 23 69 6e 74 46 72 6f 6d 45 6e 75 type........<a.href="#intFromEnu
4e480 6d 22 3e 40 69 6e 74 46 72 6f 6d 45 6e 75 6d 3c 2f 61 3e 20 63 61 6e 20 62 65 20 75 73 65 64 20 m">@intFromEnum</a>.can.be.used.
4e4a0 74 6f 20 61 63 63 65 73 73 20 74 68 65 20 6f 72 64 69 6e 61 6c 20 76 61 6c 75 65 20 63 6f 72 72 to.access.the.ordinal.value.corr
4e4c0 65 73 70 6f 6e 64 69 6e 67 20 74 6f 20 74 68 65 20 61 63 74 69 76 65 20 66 69 65 6c 64 2e 0a 20 esponding.to.the.active.field...
4e4e0 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
4e500 69 6f 6e 20 63 6c 61 73 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=
4e520 22 66 69 6c 65 22 3e 74 65 73 74 5f 74 61 67 67 65 64 5f 75 6e 69 6f 6e 5f 77 69 74 68 5f 74 61 "file">test_tagged_union_with_ta
4e540 67 5f 76 61 6c 75 65 73 2e 7a 69 67 3c 2f 63 69 74 65 3e 3c 2f 66 69 67 63 61 70 74 69 6f 6e 3e g_values.zig</cite></figcaption>
4e560 3c 70 72 65 3e 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e <pre><code><span.class="tok-kw">
4e580 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="
4e5a0 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
4e5c0 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
4e5e0 3b 3c 2f 73 70 61 6e 3e 29 3b 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e ;</span>);.<span.class="tok-kw">
4e600 63 6f 6e 73 74 3c 2f 73 70 61 6e 3e 20 65 78 70 65 63 74 45 71 75 61 6c 20 3d 20 73 74 64 2e 74 const</span>.expectEqual.=.std.t
4e620 65 73 74 69 6e 67 2e 65 78 70 65 63 74 45 71 75 61 6c 3b 0a 0a 3c 73 70 61 6e 20 63 6c 61 73 73 esting.expectEqual;..<span.class
4e640 3d 22 74 6f 6b 2d 6b 77 22 3e 63 6f 6e 73 74 3c 2f 73 70 61 6e 3e 20 54 61 67 67 65 64 20 3d 20 ="tok-kw">const</span>.Tagged.=.
4e660 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 75 6e 69 6f 6e 3c 2f 73 70 61 6e <span.class="tok-kw">union</span
4e680 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 61 >(<span.class="tok-kw">enum</spa
4e6a0 6e 3e 28 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 75 33 32 3c 2f 73 n>(<span.class="tok-type">u32</s
4e6c0 70 61 6e 3e 29 29 20 7b 0a 20 20 20 20 69 6e 74 3a 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 pan>)).{.....int:.<span.class="t
4e6e0 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
4e700 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 31 32 33 3c 2f 73 70 61 6e 3e 2c 0a 20 20 20 20 62 s="tok-number">123</span>,.....b
4e720 6f 6f 6c 65 61 6e 3a 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 62 oolean:.<span.class="tok-type">b
4e740 6f 6f 6c 3c 2f 73 70 61 6e 3e 20 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 ool</span>.=.<span.class="tok-nu
4e760 6d 62 65 72 22 3e 36 37 3c 2f 73 70 61 6e 3e 2c 0a 7d 3b 0a 0a 3c 73 70 61 6e 20 63 6c 61 73 73 mber">67</span>,.};..<span.class
4e780 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
4e7a0 73 3d 22 74 6f 6b 2d 73 74 72 22 3e 26 71 75 6f 74 3b 74 61 67 20 76 61 6c 75 65 73 26 71 75 6f s="tok-str">&quot;tag.values&quo
4e7c0 74 3b 3c 2f 73 70 61 6e 3e 20 7b 0a 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b t;</span>.{.....<span.class="tok
4e7e0 2d 6b 77 22 3e 63 6f 6e 73 74 3c 2f 73 70 61 6e 3e 20 69 6e 74 3a 20 54 61 67 67 65 64 20 3d 20 -kw">const</span>.int:.Tagged.=.
4e800 2e 7b 20 2e 69 6e 74 20 3d 20 2d 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 .{..int.=.-<span.class="tok-numb
4e820 65 72 22 3e 34 30 3c 2f 73 70 61 6e 3e 20 7d 3b 0a 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 er">40</span>.};.....<span.class
4e840 3d 22 74 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 ="tok-kw">try</span>.expectEqual
4e860 28 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 31 32 33 3c 2f 73 (<span.class="tok-number">123</s
4e880 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">
4e8a0 40 69 6e 74 46 72 6f 6d 45 6e 75 6d 3c 2f 73 70 61 6e 3e 28 69 6e 74 29 29 3b 0a 0a 20 20 20 20 @intFromEnum</span>(int));......
4e8c0 3c 73 70 61 6e 20 63 6c 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
4e8e0 3e 20 62 6f 6f 6c 65 61 6e 3a 20 54 61 67 67 65 64 20 3d 20 2e 7b 20 2e 62 6f 6f 6c 65 61 6e 20 >.boolean:.Tagged.=..{..boolean.
4e900 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6c 6c 22 3e 66 61 6c 73 65 3c 2f =.<span.class="tok-null">false</
4e920 73 70 61 6e 3e 20 7d 3b 0a 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 span>.};.....<span.class="tok-kw
4e940 22 3e 74 72 79 3c 2f 73 70 61 6e 3e 20 65 78 70 65 63 74 45 71 75 61 6c 28 3c 73 70 61 6e 20 63 ">try</span>.expectEqual(<span.c
4e960 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 2c 20 3c 73 70 lass="tok-number">67</span>,.<sp
4e980 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 62 75 69 6c 74 69 6e 22 3e 40 69 6e 74 46 72 6f 6d 45 an.class="tok-builtin">@intFromE
4e9a0 6e 75 6d 3c 2f 73 70 61 6e 3e 28 62 6f 6f 6c 65 61 6e 29 29 3b 0a 7d 3c 2f 63 6f 64 65 3e 3c 2f num</span>(boolean));.}</code></
4e9c0 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
4e9e0 20 63 6c 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
4ea00 74 69 6f 6e 3e 3c 70 72 65 3e 3c 73 61 6d 70 3e 24 20 3c 6b 62 64 3e 7a 69 67 20 74 65 73 74 20 tion><pre><samp>$.<kbd>zig.test.
4ea20 74 65 73 74 5f 74 61 67 67 65 64 5f 75 6e 69 6f 6e 5f 77 69 74 68 5f 74 61 67 5f 76 61 6c 75 65 test_tagged_union_with_tag_value
4ea40 73 2e 7a 69 67 3c 2f 6b 62 64 3e 0a 31 2f 31 20 74 65 73 74 5f 74 61 67 67 65 64 5f 75 6e 69 6f s.zig</kbd>.1/1.test_tagged_unio
4ea60 6e 5f 77 69 74 68 5f 74 61 67 5f 76 61 6c 75 65 73 2e 74 65 73 74 2e 74 61 67 20 76 61 6c 75 65 n_with_tag_values.test.tag.value
4ea80 73 2e 2e 2e 4f 4b 0a 41 6c 6c 20 31 20 74 65 73 74 73 20 70 61 73 73 65 64 2e 0a 3c 2f 73 61 6d s...OK.All.1.tests.passed..</sam
4eaa0 70 3e 3c 2f 70 72 65 3e 3c 2f 66 69 67 75 72 65 3e 0a 0a 20 20 20 20 20 20 3c 70 3e 0a 20 20 20 p></pre></figure>........<p>....
4eac0 20 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 ...<a.href="#tagName">@tagName</
4eae0 61 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 a>.can.be.used.to.return.a.<a.hr
4eb00 65 66 3d 22 23 63 6f 6d 70 74 69 6d 65 22 3e 63 6f 6d 70 74 69 6d 65 3c 2f 61 3e 0a 20 20 20 20 ef="#comptime">comptime</a>.....
4eb20 20 20 3c 63 6f 64 65 3e 5b 3a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 ..<code>[:<span.class="tok-numbe
4eb40 72 22 3e 30 3c 2f 73 70 61 6e 3e 5d 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 r">0</span>]<span.class="tok-kw"
4eb60 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
4eb80 79 70 65 22 3e 75 38 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 20 76 61 6c 75 65 20 72 65 70 72 ype">u8</span></code>.value.repr
4eba0 65 73 65 6e 74 69 6e 67 20 74 68 65 20 66 69 65 6c 64 20 6e 61 6d 65 3a 0a 20 20 20 20 20 20 3c esenting.the.field.name:.......<
4ebc0 2f 70 3e 0a 20 20 20 20 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
4ebe0 61 73 73 3d 22 7a 69 67 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"
4ec00 3e 74 65 73 74 5f 74 61 67 4e 61 6d 65 2e 7a 69 67 3c 2f 63 69 74 65 3e 3c 2f 66 69 67 63 61 70 >test_tagName.zig</cite></figcap
4ec20 74 69 6f 6e 3e 3c 70 72 65 3e 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b tion><pre><code><span.class="tok
4ec40 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
4ec60 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>
4ec80 28 3c 73 70 61 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
4eca0 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 29 3b 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b &quot;</span>);.<span.class="tok
4ecc0 2d 6b 77 22 3e 63 6f 6e 73 74 3c 2f 73 70 61 6e 3e 20 65 78 70 65 63 74 45 71 75 61 6c 53 6c 69 -kw">const</span>.expectEqualSli
4ece0 63 65 73 20 3d 20 73 74 64 2e 74 65 73 74 69 6e 67 2e 65 78 70 65 63 74 45 71 75 61 6c 53 6c 69 ces.=.std.testing.expectEqualSli
4ed00 63 65 73 3b 0a 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 63 6f 6e 73 74 ces;..<span.class="tok-kw">const
4ed20 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 3d 22 74 6f </span>.Small2.=.<span.class="to
4ed40 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 73 73 3d 22 k-kw">union</span>(<span.class="
4ed60 74 6f 6b 2d 6b 77 22 3e 65 6e 75 6d 3c 2f 73 70 61 6e 3e 29 20 7b 0a 20 20 20 20 61 3a 20 3c 73 tok-kw">enum</span>).{.....a:.<s
4ed80 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 69 33 32 3c 2f 73 70 61 6e 3e 2c pan.class="tok-type">i32</span>,
4eda0 0a 20 20 20 20 62 3a 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 62 .....b:.<span.class="tok-type">b
4edc0 6f 6f 6c 3c 2f 73 70 61 6e 3e 2c 0a 20 20 20 20 63 3a 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 ool</span>,.....c:.<span.class="
4ede0 74 6f 6b 2d 74 79 70 65 22 3e 75 38 3c 2f 73 70 61 6e 3e 2c 0a 7d 3b 0a 3c 73 70 61 6e 20 63 6c tok-type">u8</span>,.};.<span.cl
4ee00 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
4ee20 6c 61 73 73 3d 22 74 6f 6b 2d 73 74 72 22 3e 26 71 75 6f 74 3b 40 74 61 67 4e 61 6d 65 26 71 75 lass="tok-str">&quot;@tagName&qu
4ee40 6f 74 3b 3c 2f 73 70 61 6e 3e 20 7b 0a 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f ot;</span>.{.....<span.class="to
4ee60 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 53 6c 69 63 k-kw">try</span>.expectEqualSlic
4ee80 65 73 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 es(<span.class="tok-type">u8</sp
4eea0 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
4eec0 3b 61 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 ;a&quot;</span>,.<span.class="to
4eee0 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 6d 61 6c 6c k-builtin">@tagName</span>(Small
4ef00 32 2e 61 29 29 3b 0a 7d 3c 2f 63 6f 64 65 3e 3c 2f 70 72 65 3e 3c 2f 66 69 67 75 72 65 3e 3c 66 2.a));.}</code></pre></figure><f
4ef20 69 67 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
4ef40 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
4ef60 3e 24 20 3c 6b 62 64 3e 7a 69 67 20 74 65 73 74 20 74 65 73 74 5f 74 61 67 4e 61 6d 65 2e 7a 69 >$.<kbd>zig.test.test_tagName.zi
4ef80 67 3c 2f 6b 62 64 3e 0a 31 2f 31 20 74 65 73 74 5f 74 61 67 4e 61 6d 65 2e 74 65 73 74 2e 40 74 g</kbd>.1/1.test_tagName.test.@t
4efa0 61 67 4e 61 6d 65 2e 2e 2e 4f 4b 0a 41 6c 6c 20 31 20 74 65 73 74 73 20 70 61 73 73 65 64 2e 0a agName...OK.All.1.tests.passed..
4efc0 3c 2f 73 61 6d 70 3e 3c 2f 70 72 65 3e 3c 2f 66 69 67 75 72 65 3e 0a 0a 20 20 20 20 20 20 0a 0a </samp></pre></figure>..........
4efe0 20 20 20 20 20 20 3c 68 33 20 69 64 3d 22 65 78 74 65 72 6e 2d 75 6e 69 6f 6e 22 3e 3c 61 20 68 ......<h3.id="extern-union"><a.h
4f000 72 65 66 3d 22 6e 61 76 2e 78 68 74 6d 6c 23 74 6f 63 2d 65 78 74 65 72 6e 2d 75 6e 69 6f 6e 22 ref="nav.xhtml#toc-extern-union"
4f020 3e 65 78 74 65 72 6e 20 75 6e 69 6f 6e 3c 2f 61 3e 20 3c 61 20 63 6c 61 73 73 3d 22 68 64 72 22 >extern.union</a>.<a.class="hdr"
4f040 20 68 72 65 66 3d 22 23 65 78 74 65 72 6e 2d 75 6e 69 6f 6e 22 3e c2 a7 3c 2f 61 3e 3c 2f 68 33 .href="#extern-union">..</a></h3
4f060 3e 0a 0a 20 20 20 20 20 20 3c 70 3e 0a 20 20 20 20 20 20 41 6e 20 3c 63 6f 64 65 3e 3c 73 70 61 >........<p>.......An.<code><spa
4f080 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 65 78 74 65 72 6e 3c 2f 73 70 61 6e 3e 20 3c n.class="tok-kw">extern</span>.<
4f0a0 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>
4f0c0 3c 2f 63 6f 64 65 3e 20 68 61 73 20 6d 65 6d 6f 72 79 20 6c 61 79 6f 75 74 20 67 75 61 72 61 6e </code>.has.memory.layout.guaran
4f0e0 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 0a 20 20 20 20 20 teed.to.be.compatible.with......
4f100 20 74 68 65 20 74 61 72 67 65 74 20 43 20 41 42 49 2e 0a 20 20 20 20 20 20 3c 2f 70 3e 0a 20 20 .the.target.C.ABI........</p>...
4f120 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.
4f140 68 72 65 66 3d 22 23 65 78 74 65 72 6e 2d 73 74 72 75 63 74 22 3e 65 78 74 65 72 6e 20 73 74 72 href="#extern-struct">extern.str
4f160 75 63 74 3c 2f 61 3e 3c 2f 6c 69 3e 0a 3c 2f 75 6c 3e 0a 0a 20 20 20 20 20 20 0a 0a 20 20 20 20 uct</a></li>.</ul>..............
4f180 20 20 3c 68 33 20 69 64 3d 22 70 61 63 6b 65 64 2d 75 6e 69 6f 6e 22 3e 3c 61 20 68 72 65 66 3d ..<h3.id="packed-union"><a.href=
4f1a0 22 6e 61 76 2e 78 68 74 6d 6c 23 74 6f 63 2d 70 61 63 6b 65 64 2d 75 6e 69 6f 6e 22 3e 70 61 63 "nav.xhtml#toc-packed-union">pac
4f1c0 6b 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 65 ked.union</a>.<a.class="hdr".hre
4f1e0 66 3d 22 23 70 61 63 6b 65 64 2d 75 6e 69 6f 6e 22 3e c2 a7 3c 2f 61 3e 3c 2f 68 33 3e 0a 0a 20 f="#packed-union">..</a></h3>...
4f200 20 20 20 20 20 3c 70 3e 41 20 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b .....<p>A.<code><span.class="tok
4f220 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="
4f240 74 6f 6b 2d 6b 77 22 3e 75 6e 69 6f 6e 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 20 68 61 73 20 tok-kw">union</span></code>.has.
4f260 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 74 20 61 6e well-defined.in-memory.layout.an
4f280 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 65 20 69 6e d.is.eligible...........to.be.in
4f2a0 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 70 61 63 6b .a.<a.href="#packed-struct">pack
4f2c0 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 3c 70 3e 41 6c 6c 20 ed.struct</a>.</p>.......<p>All.
4f2e0 66 69 65 6c 64 73 20 69 6e 20 61 20 70 61 63 6b 65 64 20 75 6e 69 6f 6e 20 6d 75 73 74 20 68 61 fields.in.a.packed.union.must.ha
4f300 76 65 20 74 68 65 20 73 61 6d 65 20 3c 61 20 68 72 65 66 3d 22 23 62 69 74 53 69 7a 65 4f 66 22 ve.the.same.<a.href="#bitSizeOf"
4f320 3e 40 62 69 74 53 69 7a 65 4f 66 3c 2f 61 3e 2e 3c 2f 70 3e 0a 0a 20 20 20 20 20 20 3c 70 3e 0a >@bitSizeOf</a>.</p>........<p>.
4f340 20 20 20 20 20 20 45 71 75 61 74 69 6e 67 20 70 61 63 6b 65 64 20 75 6e 69 6f 6e 73 20 72 65 73 ......Equating.packed.unions.res
4f360 75 6c 74 73 20 69 6e 20 61 20 63 6f 6d 70 61 72 69 73 6f 6e 20 6f 66 20 74 68 65 20 62 61 63 6b ults.in.a.comparison.of.the.back
4f380 69 6e 67 20 69 6e 74 65 67 65 72 2c 0a 20 20 20 20 20 20 61 6e 64 20 6f 6e 6c 79 20 77 6f 72 6b ing.integer,.......and.only.work
4f3a0 73 20 66 6f 72 20 74 68 65 20 3c 63 6f 64 65 3e 3d 3d 3c 2f 63 6f 64 65 3e 20 61 6e 64 20 3c 63 s.for.the.<code>==</code>.and.<c
4f3c0 6f 64 65 3e 21 3d 3c 2f 63 6f 64 65 3e 20 3c 61 20 68 72 65 66 3d 22 23 4f 70 65 72 61 74 6f 72 ode>!=</code>.<a.href="#Operator
4f3e0 73 22 3e 4f 70 65 72 61 74 6f 72 73 3c 2f 61 3e 2e 0a 20 20 20 20 20 20 3c 2f 70 3e 0a 20 20 20 s">Operators</a>........</p>....
4f400 20 20 20 3c 66 69 67 75 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
4f420 67 2d 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 70 g-cap"><cite.class="file">test_p
4f440 61 63 6b 65 64 5f 75 6e 69 6f 6e 5f 65 71 75 61 6c 69 74 79 2e 7a 69 67 3c 2f 63 69 74 65 3e 3c acked_union_equality.zig</cite><
4f460 2f 66 69 67 63 61 70 74 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
4f480 73 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.=.<
4f4a0 73 70 61 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
4f4c0 3c 2f 73 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
4f4e0 75 6f 74 3b 73 74 64 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 29 3b 0a 3c 73 70 61 6e 20 63 6c 61 uot;std&quot;</span>);.<span.cla
4f500 73 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 45 ss="tok-kw">const</span>.expectE
4f520 71 75 61 6c 20 3d 20 73 74 64 2e 74 65 73 74 69 6e 67 2e 65 78 70 65 63 74 45 71 75 61 6c 3b 0a qual.=.std.testing.expectEqual;.
4f540 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 74 65 73 74 3c 2f 73 70 61 6e .<span.class="tok-kw">test</span
4f560 3e 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 73 74 72 22 3e 26 71 75 6f 74 3b 70 61 >.<span.class="tok-str">&quot;pa
4f580 63 6b 65 64 20 75 6e 69 6f 6e 20 65 71 75 61 6c 69 74 79 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e cked.union.equality&quot;</span>
4f5a0 20 7b 0a 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 63 6f 6e 73 .{.....<span.class="tok-kw">cons
4f5c0 74 3c 2f 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 t</span>.U.=.<span.class="tok-kw
4f5e0 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
4f600 2d 6b 77 22 3e 75 6e 69 6f 6e 3c 2f 73 70 61 6e 3e 20 7b 0a 20 20 20 20 20 20 20 20 61 3a 20 3c -kw">union</span>.{.........a:.<
4f620 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 75 34 3c 2f 73 70 61 6e 3e 2c span.class="tok-type">u4</span>,
4f640 0a 20 20 20 20 20 20 20 20 62 3a 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 .........b:.<span.class="tok-typ
4f660 65 22 3e 69 34 3c 2f 73 70 61 6e 3e 2c 0a 20 20 20 20 7d 3b 0a 20 20 20 20 3c 73 70 61 6e 20 63 e">i4</span>,.....};.....<span.c
4f680 6c 61 73 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 55 20 lass="tok-kw">const</span>.x:.U.
4f6a0 3d 20 2e 7b 20 2e 61 20 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 =..{..a.=.<span.class="tok-numbe
4f6c0 72 22 3e 33 3c 2f 73 70 61 6e 3e 20 7d 3b 0a 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 r">3</span>.};.....<span.class="
4f6e0 74 6f 6b 2d 6b 77 22 3e 63 6f 6e 73 74 3c 2f 73 70 61 6e 3e 20 79 3a 20 55 20 3d 20 2e 7b 20 2e tok-kw">const</span>.y:.U.=..{..
4f700 62 20 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 33 3c 2f b.=.<span.class="tok-number">3</
4f720 73 70 61 6e 3e 20 7d 3b 0a 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 span>.};.....<span.class="tok-kw
4f740 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 78 2c 20 79 29 3b 0a ">try</span>.expectEqual(x,.y);.
4f760 7d 3c 2f 63 6f 64 65 3e 3c 2f 70 72 65 3e 3c 2f 66 69 67 75 72 65 3e 3c 66 69 67 75 72 65 3e 3c }</code></pre></figure><figure><
4f780 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
4f7a0 6c 6c 3c 2f 66 69 67 63 61 70 74 69 6f 6e 3e 3c 70 72 65 3e 3c 73 61 6d 70 3e 24 20 3c 6b 62 64 ll</figcaption><pre><samp>$.<kbd
4f7c0 3e 7a 69 67 20 74 65 73 74 20 74 65 73 74 5f 70 61 63 6b 65 64 5f 75 6e 69 6f 6e 5f 65 71 75 61 >zig.test.test_packed_union_equa
4f7e0 6c 69 74 79 2e 7a 69 67 3c 2f 6b 62 64 3e 0a 31 2f 31 20 74 65 73 74 5f 70 61 63 6b 65 64 5f 75 lity.zig</kbd>.1/1.test_packed_u
4f800 6e 69 6f 6e 5f 65 71 75 61 6c 69 74 79 2e 74 65 73 74 2e 70 61 63 6b 65 64 20 75 6e 69 6f 6e 20 nion_equality.test.packed.union.
4f820 65 71 75 61 6c 69 74 79 2e 2e 2e 4f 4b 0a 41 6c 6c 20 31 20 74 65 73 74 73 20 70 61 73 73 65 64 equality...OK.All.1.tests.passed
4f840 2e 0a 3c 2f 73 61 6d 70 3e 3c 2f 70 72 65 3e 3c 2f 66 69 67 75 72 65 3e 0a 0a 20 20 20 20 20 20 ..</samp></pre></figure>........
4f860 0a 0a 20 20 20 20 20 20 3c 68 33 20 69 64 3d 22 41 6e 6f 6e 79 6d 6f 75 73 2d 55 6e 69 6f 6e 2d ........<h3.id="Anonymous-Union-
4f880 4c 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 Literals"><a.href="nav.xhtml#toc
4f8a0 2d 41 6e 6f 6e 79 6d 6f 75 73 2d 55 6e 69 6f 6e 2d 4c 69 74 65 72 61 6c 73 22 3e 41 6e 6f 6e 79 -Anonymous-Union-Literals">Anony
4f8c0 6d 6f 75 73 20 55 6e 69 6f 6e 20 4c 69 74 65 72 61 6c 73 3c 2f 61 3e 20 3c 61 20 63 6c 61 73 73 mous.Union.Literals</a>.<a.class
4f8e0 3d 22 68 64 72 22 20 68 72 65 66 3d 22 23 41 6e 6f 6e 79 6d 6f 75 73 2d 55 6e 69 6f 6e 2d 4c 69 ="hdr".href="#Anonymous-Union-Li
4f900 74 65 72 61 6c 73 22 3e c2 a7 3c 2f 61 3e 3c 2f 68 33 3e 0a 0a 20 20 20 20 20 20 3c 70 3e 3c 61 terals">..</a></h3>........<p><a
4f920 20 68 72 65 66 3d 22 23 41 6e 6f 6e 79 6d 6f 75 73 2d 53 74 72 75 63 74 2d 4c 69 74 65 72 61 6c .href="#Anonymous-Struct-Literal
4f940 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 3e s">Anonymous.Struct.Literals</a>
4f960 20 73 79 6e 74 61 78 20 63 61 6e 20 62 65 20 75 73 65 64 20 74 6f 20 69 6e 69 74 69 61 6c 69 7a .syntax.can.be.used.to.initializ
4f980 65 20 75 6e 69 6f 6e 73 20 77 69 74 68 6f 75 74 20 73 70 65 63 69 66 79 69 6e 67 0a 20 20 20 20 e.unions.without.specifying.....
4f9a0 20 20 74 68 65 20 74 79 70 65 3a 3c 2f 70 3e 0a 20 20 20 20 20 20 3c 66 69 67 75 72 65 3e 3c 66 ..the.type:</p>.......<figure><f
4f9c0 69 67 63 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.
4f9e0 63 6c 61 73 73 3d 22 66 69 6c 65 22 3e 74 65 73 74 5f 61 6e 6f 6e 79 6d 6f 75 73 5f 75 6e 69 6f class="file">test_anonymous_unio
4fa00 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
4fa20 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 63 6f 6e 73 74 3c 2f ode><span.class="tok-kw">const</
4fa40 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
4fa60 6c 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
4fa80 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
4faa0 3e 29 3b 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 63 6f 6e 73 74 3c 2f >);.<span.class="tok-kw">const</
4fac0 73 70 61 6e 3e 20 65 78 70 65 63 74 45 71 75 61 6c 20 3d 20 73 74 64 2e 74 65 73 74 69 6e 67 2e span>.expectEqual.=.std.testing.
4fae0 65 78 70 65 63 74 45 71 75 61 6c 3b 0a 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b expectEqual;..<span.class="tok-k
4fb00 77 22 3e 63 6f 6e 73 74 3c 2f 73 70 61 6e 3e 20 4e 75 6d 62 65 72 20 3d 20 3c 73 70 61 6e 20 63 w">const</span>.Number.=.<span.c
4fb20 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 0a 20 20 20 lass="tok-kw">union</span>.{....
4fb40 20 69 6e 74 3a 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 69 33 32 .int:.<span.class="tok-type">i32
4fb60 3c 2f 73 70 61 6e 3e 2c 0a 20 20 20 20 66 6c 6f 61 74 3a 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d </span>,.....float:.<span.class=
4fb80 22 74 6f 6b 2d 74 79 70 65 22 3e 66 36 34 3c 2f 73 70 61 6e 3e 2c 0a 7d 3b 0a 0a 3c 73 70 61 6e "tok-type">f64</span>,.};..<span
4fba0 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
4fbc0 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 73 74 72 22 3e 26 71 75 6f 74 3b 61 6e 6f 6e 79 6d 6f 75 n.class="tok-str">&quot;anonymou
4fbe0 73 20 75 6e 69 6f 6e 20 6c 69 74 65 72 61 6c 20 73 79 6e 74 61 78 26 71 75 6f 74 3b 3c 2f 73 70 s.union.literal.syntax&quot;</sp
4fc00 61 6e 3e 20 7b 0a 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 63 an>.{.....<span.class="tok-kw">c
4fc20 6f 6e 73 74 3c 2f 73 70 61 6e 3e 20 69 3a 20 4e 75 6d 62 65 72 20 3d 20 2e 7b 20 2e 69 6e 74 20 onst</span>.i:.Number.=..{..int.
4fc40 3d 20 3c 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 =.<span.class="tok-number">42</s
4fc60 70 61 6e 3e 20 7d 3b 0a 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 pan>.};.....<span.class="tok-kw"
4fc80 3e 63 6f 6e 73 74 3c 2f 73 70 61 6e 3e 20 66 20 3d 20 6d 61 6b 65 4e 75 6d 62 65 72 28 29 3b 0a >const</span>.f.=.makeNumber();.
4fca0 20 20 20 20 3c 73 70 61 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
4fcc0 61 6e 3e 20 65 78 70 65 63 74 45 71 75 61 6c 28 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b an>.expectEqual(<span.class="tok
4fce0 2d 6e 75 6d 62 65 72 22 3e 34 32 3c 2f 73 70 61 6e 3e 2c 20 69 2e 69 6e 74 29 3b 0a 20 20 20 20 -number">42</span>,.i.int);.....
4fd00 3c 73 70 61 6e 20 63 6c 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>.
4fd20 65 78 70 65 63 74 45 71 75 61 6c 28 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d expectEqual(<span.class="tok-num
4fd40 62 65 72 22 3e 31 32 2e 33 34 3c 2f 73 70 61 6e 3e 2c 20 66 2e 66 6c 6f 61 74 29 3b 0a 7d 0a 0a ber">12.34</span>,.f.float);.}..
4fd60 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>.<
4fd80 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 66 6e 22 3e 6d 61 6b 65 4e 75 6d 62 65 72 3c 2f span.class="tok-fn">makeNumber</
4fda0 73 70 61 6e 3e 28 29 20 4e 75 6d 62 65 72 20 7b 0a 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 span>().Number.{.....<span.class
4fdc0 3d 22 74 6f 6b 2d 6b 77 22 3e 72 65 74 75 72 6e 3c 2f 73 70 61 6e 3e 20 2e 7b 20 2e 66 6c 6f 61 ="tok-kw">return</span>..{..floa
4fde0 74 20 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 31 32 2e t.=.<span.class="tok-number">12.
4fe00 33 34 3c 2f 73 70 61 6e 3e 20 7d 3b 0a 7d 3c 2f 63 6f 64 65 3e 3c 2f 70 72 65 3e 3c 2f 66 69 67 34</span>.};.}</code></pre></fig
4fe20 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
4fe40 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
4fe60 3e 3c 73 61 6d 70 3e 24 20 3c 6b 62 64 3e 7a 69 67 20 74 65 73 74 20 74 65 73 74 5f 61 6e 6f 6e ><samp>$.<kbd>zig.test.test_anon
4fe80 79 6d 6f 75 73 5f 75 6e 69 6f 6e 2e 7a 69 67 3c 2f 6b 62 64 3e 0a 31 2f 31 20 74 65 73 74 5f 61 ymous_union.zig</kbd>.1/1.test_a
4fea0 6e 6f 6e 79 6d 6f 75 73 5f 75 6e 69 6f 6e 2e 74 65 73 74 2e 61 6e 6f 6e 79 6d 6f 75 73 20 75 6e nonymous_union.test.anonymous.un
4fec0 69 6f 6e 20 6c 69 74 65 72 61 6c 20 73 79 6e 74 61 78 2e 2e 2e 4f 4b 0a 41 6c 6c 20 31 20 74 65 ion.literal.syntax...OK.All.1.te
4fee0 73 74 73 20 70 61 73 73 65 64 2e 0a 3c 2f 73 61 6d 70 3e 3c 2f 70 72 65 3e 3c 2f 66 69 67 75 72 sts.passed..</samp></pre></figur
4ff00 65 3e 0a 0a 20 20 20 20 20 20 0a 0a 20 20 20 20 20 20 0a 0a 20 20 20 20 20 20 3c 68 32 20 69 64 e>........................<h2.id
4ff20 3d 22 6f 70 61 71 75 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 ="opaque"><a.href="nav.xhtml#toc
4ff40 2d 6f 70 61 71 75 65 22 3e 6f 70 61 71 75 65 3c 2f 61 3e 20 3c 61 20 63 6c 61 73 73 3d 22 68 64 -opaque">opaque</a>.<a.class="hd
4ff60 72 22 20 68 72 65 66 3d 22 23 6f 70 61 71 75 65 22 3e c2 a7 3c 2f 61 3e 3c 2f 68 32 3e 0a 0a 20 r".href="#opaque">..</a></h2>...
4ff80 20 20 20 20 20 3c 70 3e 0a 20 20 20 20 20 20 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 .....<p>.......<code><span.class
4ffa0 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 3c 2f 63 6f 64 65 ="tok-kw">opaque</span>.{}</code
4ffc0 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 6e 20 75 6e >.declares.a.new.type.with.an.un
4ffe0 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 64 20 61 6c known.(but.non-zero).size.and.al
50000 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 6e 20 64 65 ignment........It.can.contain.de
50020 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 65 66 3d 22 clarations.the.same.as.<a.href="
50040 23 73 74 72 75 63 74 22 3e 73 74 72 75 63 74 73 3c 2f 61 3e 2c 20 3c 61 20 68 72 65 66 3d 22 23 #struct">structs</a>,.<a.href="#
50060 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 20 3c 61 20 union">unions</a>,.......and.<a.
50080 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 20 20 3c 2f href="#enum">enums</a>........</
500a0 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 79 70 69 63 p>.......<p>.......This.is.typic
500c0 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 65 6e 20 69 ally.used.for.type.safety.when.i
500e0 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 64 6f 65 73 nteracting.with.C.code.that.does
50100 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 20 20 20 20 .not.expose.struct.details......
50120 20 20 45 78 61 6d 70 6c 65 3a 0a 20 20 20 20 20 20 3c 2f 70 3e 0a 20 20 20 20 20 20 3c 66 69 67 ..Example:.......</p>.......<fig
50140 75 72 65 3e 3c 66 69 67 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">
50160 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 70 61 71 75 65 2e 7a <cite.class="file">test_opaque.z
50180 69 67 3c 2f 63 69 74 65 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
501a0 3e 3c 73 70 61 6e 20 63 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
501c0 6e 3e 20 44 65 72 70 20 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 6f n>.Derp.=.<span.class="tok-kw">o
501e0 70 61 71 75 65 3c 2f 73 70 61 6e 3e 20 7b 7d 3b 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f paque</span>.{};.<span.class="to
50200 6b 2d 6b 77 22 3e 63 6f 6e 73 74 3c 2f 73 70 61 6e 3e 20 57 61 74 20 3d 20 3c 73 70 61 6e 20 63 k-kw">const</span>.Wat.=.<span.c
50220 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 0a lass="tok-kw">opaque</span>.{};.
50240 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 65 78 74 65 72 6e 3c 2f 73 70 .<span.class="tok-kw">extern</sp
50260 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
50280 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 61 n>.<span.class="tok-fn">bar</spa
502a0 6e 3e 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 n>(d:.*Derp).<span.class="tok-ty
502c0 70 65 22 3e 76 6f 69 64 3c 2f 73 70 61 6e 3e 3b 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f pe">void</span>;.<span.class="to
502e0 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
50300 2d 66 6e 22 3e 66 6f 6f 3c 2f 73 70 61 6e 3e 28 77 3a 20 2a 57 61 74 29 20 3c 73 70 61 6e 20 63 -fn">foo</span>(w:.*Wat).<span.c
50320 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 63 61 6c 6c 63 6f 6e 76 3c 2f 73 70 61 6e 3e 28 2e 63 lass="tok-kw">callconv</span>(.c
50340 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
50360 70 61 6e 3e 20 7b 0a 20 20 20 20 62 61 72 28 77 29 3b 0a 7d 0a 0a 3c 73 70 61 6e 20 63 6c 61 73 pan>.{.....bar(w);.}..<span.clas
50380 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
503a0 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
503c0 3b 3c 2f 73 70 61 6e 3e 20 7b 0a 20 20 20 20 66 6f 6f 28 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 ;</span>.{.....foo(<span.class="
503e0 74 6f 6b 2d 6e 75 6c 6c 22 3e 75 6e 64 65 66 69 6e 65 64 3c 2f 73 70 61 6e 3e 29 3b 0a 7d 3c 2f tok-null">undefined</span>);.}</
50400 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
50420 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<
50440 2f 66 69 67 63 61 70 74 69 6f 6e 3e 3c 70 72 65 3e 3c 73 61 6d 70 3e 24 20 3c 6b 62 64 3e 7a 69 /figcaption><pre><samp>$.<kbd>zi
50460 67 20 74 65 73 74 20 74 65 73 74 5f 6f 70 61 71 75 65 2e 7a 69 67 3c 2f 6b 62 64 3e 0a 3c 73 70 g.test.test_opaque.zig</kbd>.<sp
50480 61 6e 20 63 6c 61 73 73 3d 22 73 67 72 2d 31 6d 22 3e 2f 68 6f 6d 65 2f 63 69 2f 77 6f 72 6b 2f an.class="sgr-1m">/home/ci/work/
504a0 7a 69 67 2d 62 6f 6f 74 73 74 72 61 70 2f 7a 69 67 2f 64 6f 63 2f 6c 61 6e 67 72 65 66 2f 74 65 zig-bootstrap/zig/doc/langref/te
504c0 73 74 5f 6f 70 61 71 75 65 2e 7a 69 67 3a 36 3a 39 3a 20 3c 2f 73 70 61 6e 3e 3c 73 70 61 6e 20 st_opaque.zig:6:9:.</span><span.
504e0 63 6c 61 73 73 3d 22 73 67 72 2d 33 31 6d 22 3e 65 72 72 6f 72 3a 20 3c 2f 73 70 61 6e 3e 3c 73 class="sgr-31m">error:.</span><s
50500 70 61 6e 20 63 6c 61 73 73 3d 22 73 67 72 2d 31 6d 22 3e 65 78 70 65 63 74 65 64 20 74 79 70 65 pan.class="sgr-1m">expected.type
50520 20 27 2a 74 65 73 74 5f 6f 70 61 71 75 65 2e 44 65 72 70 27 2c 20 66 6f 75 6e 64 20 27 2a 74 65 .'*test_opaque.Derp',.found.'*te
50540 73 74 5f 6f 70 61 71 75 65 2e 57 61 74 27 0a 3c 2f 73 70 61 6e 3e 20 20 20 20 62 61 72 28 77 29 st_opaque.Wat'.</span>....bar(w)
50560 3b 0a 20 20 20 20 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 73 67 72 2d 33 32 6d 22 3e ;.........<span.class="sgr-32m">
50580 5e 0a 3c 2f 73 70 61 6e 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 73 67 72 2d 31 6d 22 3e 2f 68 ^.</span><span.class="sgr-1m">/h
505a0 6f 6d 65 2f 63 69 2f 77 6f 72 6b 2f 7a 69 67 2d 62 6f 6f 74 73 74 72 61 70 2f 7a 69 67 2f 64 6f ome/ci/work/zig-bootstrap/zig/do
505c0 63 2f 6c 61 6e 67 72 65 66 2f 74 65 73 74 5f 6f 70 61 71 75 65 2e 7a 69 67 3a 36 3a 39 3a 20 3c c/langref/test_opaque.zig:6:9:.<
505e0 2f 73 70 61 6e 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 73 67 72 2d 33 36 6d 22 3e 6e 6f 74 65 /span><span.class="sgr-36m">note
50600 3a 20 3c 2f 73 70 61 6e 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 73 67 72 2d 31 6d 22 3e 70 6f :.</span><span.class="sgr-1m">po
50620 69 6e 74 65 72 20 74 79 70 65 20 63 68 69 6c 64 20 27 74 65 73 74 5f 6f 70 61 71 75 65 2e 57 61 inter.type.child.'test_opaque.Wa
50640 74 27 20 63 61 6e 6e 6f 74 20 63 61 73 74 20 69 6e 74 6f 20 70 6f 69 6e 74 65 72 20 74 79 70 65 t'.cannot.cast.into.pointer.type
50660 20 63 68 69 6c 64 20 27 74 65 73 74 5f 6f 70 61 71 75 65 2e 44 65 72 70 27 0a 3c 2f 73 70 61 6e .child.'test_opaque.Derp'.</span
50680 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 73 67 72 2d 31 6d 22 3e 2f 68 6f 6d 65 2f 63 69 2f 77 ><span.class="sgr-1m">/home/ci/w
506a0 6f 72 6b 2f 7a 69 67 2d 62 6f 6f 74 73 74 72 61 70 2f 7a 69 67 2f 64 6f 63 2f 6c 61 6e 67 72 65 ork/zig-bootstrap/zig/doc/langre
506c0 66 2f 74 65 73 74 5f 6f 70 61 71 75 65 2e 7a 69 67 3a 32 3a 31 33 3a 20 3c 2f 73 70 61 6e 3e 3c f/test_opaque.zig:2:13:.</span><
506e0 73 70 61 6e 20 63 6c 61 73 73 3d 22 73 67 72 2d 33 36 6d 22 3e 6e 6f 74 65 3a 20 3c 2f 73 70 61 span.class="sgr-36m">note:.</spa
50700 6e 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 73 67 72 2d 31 6d 22 3e 6f 70 61 71 75 65 20 64 65 n><span.class="sgr-1m">opaque.de
50720 63 6c 61 72 65 64 20 68 65 72 65 0a 3c 2f 73 70 61 6e 3e 63 6f 6e 73 74 20 57 61 74 20 3d 20 6f clared.here.</span>const.Wat.=.o
50740 70 61 71 75 65 20 7b 7d 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 paque.{};.............<span.clas
50760 73 3d 22 73 67 72 2d 33 32 6d 22 3e 5e 7e 7e 7e 7e 7e 7e 7e 7e 0a 3c 2f 73 70 61 6e 3e 3c 73 70 s="sgr-32m">^~~~~~~~~.</span><sp
50780 61 6e 20 63 6c 61 73 73 3d 22 73 67 72 2d 31 6d 22 3e 2f 68 6f 6d 65 2f 63 69 2f 77 6f 72 6b 2f an.class="sgr-1m">/home/ci/work/
507a0 7a 69 67 2d 62 6f 6f 74 73 74 72 61 70 2f 7a 69 67 2f 64 6f 63 2f 6c 61 6e 67 72 65 66 2f 74 65 zig-bootstrap/zig/doc/langref/te
507c0 73 74 5f 6f 70 61 71 75 65 2e 7a 69 67 3a 31 3a 31 34 3a 20 3c 2f 73 70 61 6e 3e 3c 73 70 61 6e st_opaque.zig:1:14:.</span><span
507e0 20 63 6c 61 73 73 3d 22 73 67 72 2d 33 36 6d 22 3e 6e 6f 74 65 3a 20 3c 2f 73 70 61 6e 3e 3c 73 .class="sgr-36m">note:.</span><s
50800 70 61 6e 20 63 6c 61 73 73 3d 22 73 67 72 2d 31 6d 22 3e 6f 70 61 71 75 65 20 64 65 63 6c 61 72 pan.class="sgr-1m">opaque.declar
50820 65 64 20 68 65 72 65 0a 3c 2f 73 70 61 6e 3e 63 6f 6e 73 74 20 44 65 72 70 20 3d 20 6f 70 61 71 ed.here.</span>const.Derp.=.opaq
50840 75 65 20 7b 7d 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d ue.{};..............<span.class=
50860 22 73 67 72 2d 33 32 6d 22 3e 5e 7e 7e 7e 7e 7e 7e 7e 7e 0a 3c 2f 73 70 61 6e 3e 3c 73 70 61 6e "sgr-32m">^~~~~~~~~.</span><span
50880 20 63 6c 61 73 73 3d 22 73 67 72 2d 31 6d 22 3e 2f 68 6f 6d 65 2f 63 69 2f 77 6f 72 6b 2f 7a 69 .class="sgr-1m">/home/ci/work/zi
508a0 67 2d 62 6f 6f 74 73 74 72 61 70 2f 7a 69 67 2f 64 6f 63 2f 6c 61 6e 67 72 65 66 2f 74 65 73 74 g-bootstrap/zig/doc/langref/test
508c0 5f 6f 70 61 71 75 65 2e 7a 69 67 3a 34 3a 31 38 3a 20 3c 2f 73 70 61 6e 3e 3c 73 70 61 6e 20 63 _opaque.zig:4:18:.</span><span.c
508e0 6c 61 73 73 3d 22 73 67 72 2d 33 36 6d 22 3e 6e 6f 74 65 3a 20 3c 2f 73 70 61 6e 3e 3c 73 70 61 lass="sgr-36m">note:.</span><spa
50900 6e 20 63 6c 61 73 73 3d 22 73 67 72 2d 31 6d 22 3e 70 61 72 61 6d 65 74 65 72 20 74 79 70 65 20 n.class="sgr-1m">parameter.type.
50920 64 65 63 6c 61 72 65 64 20 68 65 72 65 0a 3c 2f 73 70 61 6e 3e 65 78 74 65 72 6e 20 66 6e 20 62 declared.here.</span>extern.fn.b
50940 61 72 28 64 3a 20 2a 44 65 72 70 29 20 76 6f 69 64 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 ar(d:.*Derp).void;..............
50960 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 73 67 72 2d 33 32 6d 22 3e 5e 7e 7e 7e 7e 0a ....<span.class="sgr-32m">^~~~~.
50980 3c 2f 73 70 61 6e 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 73 67 72 2d 32 6d 22 3e 72 65 66 65 </span><span.class="sgr-2m">refe
509a0 72 65 6e 63 65 64 20 62 79 3a 0a 20 20 20 20 74 65 73 74 2e 63 61 6c 6c 20 66 6f 6f 3a 20 2f 68 renced.by:.....test.call.foo:./h
509c0 6f 6d 65 2f 63 69 2f 77 6f 72 6b 2f 7a 69 67 2d 62 6f 6f 74 73 74 72 61 70 2f 7a 69 67 2f 64 6f ome/ci/work/zig-bootstrap/zig/do
509e0 63 2f 6c 61 6e 67 72 65 66 2f 74 65 73 74 5f 6f 70 61 71 75 65 2e 7a 69 67 3a 31 30 3a 38 0a 3c c/langref/test_opaque.zig:10:8.<
50a00 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 0a 20 /span>.</samp></pre></figure>...
50a20 20 20 20 20 20 0a 0a 20 20 20 20 20 20 3c 68 32 20 69 64 3d 22 42 6c 6f 63 6b 73 22 3e 3c 61 20 .............<h2.id="Blocks"><a.
50a40 68 72 65 66 3d 22 6e 61 76 2e 78 68 74 6d 6c 23 74 6f 63 2d 42 6c 6f 63 6b 73 22 3e 42 6c 6f 63 href="nav.xhtml#toc-Blocks">Bloc
50a60 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 42 6c 6f ks</a>.<a.class="hdr".href="#Blo
50a80 63 6b 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 cks">..</a></h2>........<p>.....
50aa0 20 20 42 6c 6f 63 6b 73 20 61 72 65 20 75 73 65 64 20 74 6f 20 6c 69 6d 69 74 20 74 68 65 20 73 ..Blocks.are.used.to.limit.the.s
50ac0 63 6f 70 65 20 6f 66 20 76 61 72 69 61 62 6c 65 20 64 65 63 6c 61 72 61 74 69 6f 6e 73 3a 0a 20 cope.of.variable.declarations:..
50ae0 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
50b00 69 6f 6e 20 63 6c 61 73 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=
50b20 22 66 69 6c 65 22 3e 74 65 73 74 5f 62 6c 6f 63 6b 73 2e 7a 69 67 3c 2f 63 69 74 65 3e 3c 2f 66 "file">test_blocks.zig</cite></f
50b40 69 67 63 61 70 74 69 6f 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
50b60 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
50b80 73 3d 22 74 6f 6b 2d 73 74 72 22 3e 26 71 75 6f 74 3b 61 63 63 65 73 73 20 76 61 72 69 61 62 6c s="tok-str">&quot;access.variabl
50ba0 65 20 61 66 74 65 72 20 62 6c 6f 63 6b 20 73 63 6f 70 65 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e e.after.block.scope&quot;</span>
50bc0 20 7b 0a 20 20 20 20 7b 0a 20 20 20 20 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f .{.....{.........<span.class="to
50be0 6b 2d 6b 77 22 3e 76 61 72 3c 2f 73 70 61 6e 3e 20 78 3a 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d k-kw">var</span>.x:.<span.class=
50c00 22 74 6f 6b 2d 74 79 70 65 22 3e 69 33 32 3c 2f 73 70 61 6e 3e 20 3d 20 3c 73 70 61 6e 20 63 6c "tok-type">i32</span>.=.<span.cl
50c20 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 31 3c 2f 73 70 61 6e 3e 3b 0a 20 20 20 20 20 ass="tok-number">1</span>;......
50c40 20 20 20 5f 20 3d 20 26 61 6d 70 3b 78 3b 0a 20 20 20 20 7d 0a 20 20 20 20 78 20 2b 3d 20 3c 73 ..._.=.&amp;x;.....}.....x.+=.<s
50c60 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>;
50c80 0a 7d 3c 2f 63 6f 64 65 3e 3c 2f 70 72 65 3e 3c 2f 66 69 67 75 72 65 3e 3c 66 69 67 75 72 65 3e .}</code></pre></figure><figure>
50ca0 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
50cc0 65 6c 6c 3c 2f 66 69 67 63 61 70 74 69 6f 6e 3e 3c 70 72 65 3e 3c 73 61 6d 70 3e 24 20 3c 6b 62 ell</figcaption><pre><samp>$.<kb
50ce0 64 3e 7a 69 67 20 74 65 73 74 20 74 65 73 74 5f 62 6c 6f 63 6b 73 2e 7a 69 67 3c 2f 6b 62 64 3e d>zig.test.test_blocks.zig</kbd>
50d00 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 73 67 72 2d 31 6d 22 3e 2f 68 6f 6d 65 2f 63 69 2f 77 .<span.class="sgr-1m">/home/ci/w
50d20 6f 72 6b 2f 7a 69 67 2d 62 6f 6f 74 73 74 72 61 70 2f 7a 69 67 2f 64 6f 63 2f 6c 61 6e 67 72 65 ork/zig-bootstrap/zig/doc/langre
50d40 66 2f 74 65 73 74 5f 62 6c 6f 63 6b 73 2e 7a 69 67 3a 36 3a 35 3a 20 3c 2f 73 70 61 6e 3e 3c 73 f/test_blocks.zig:6:5:.</span><s
50d60 70 61 6e 20 63 6c 61 73 73 3d 22 73 67 72 2d 33 31 6d 22 3e 65 72 72 6f 72 3a 20 3c 2f 73 70 61 pan.class="sgr-31m">error:.</spa
50d80 6e 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 73 67 72 2d 31 6d 22 3e 75 73 65 20 6f 66 20 75 6e n><span.class="sgr-1m">use.of.un
50da0 64 65 63 6c 61 72 65 64 20 69 64 65 6e 74 69 66 69 65 72 20 27 78 27 0a 3c 2f 73 70 61 6e 3e 20 declared.identifier.'x'.</span>.
50dc0 20 20 20 78 20 2b 3d 20 31 3b 0a 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 73 67 72 2d ...x.+=.1;.....<span.class="sgr-
50de0 33 32 6d 22 3e 5e 0a 3c 2f 73 70 61 6e 3e 0a 3c 2f 73 61 6d 70 3e 3c 2f 70 72 65 3e 3c 2f 66 69 32m">^.</span>.</samp></pre></fi
50e00 67 75 72 65 3e 0a 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 gure>........<p>Blocks.are.expre
50e20 73 73 69 6f 6e 73 2e 20 57 68 65 6e 20 6c 61 62 65 6c 65 64 2c 20 3c 63 6f 64 65 3e 3c 73 70 61 ssions..When.labeled,.<code><spa
50e40 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 62 72 65 61 6b 3c 2f 73 70 61 6e 3e 3c 2f 63 n.class="tok-kw">break</span></c
50e60 6f 64 65 3e 20 63 61 6e 20 62 65 20 75 73 65 64 0a 20 20 20 20 20 20 74 6f 20 72 65 74 75 72 6e ode>.can.be.used.......to.return
50e80 20 61 20 76 61 6c 75 65 20 66 72 6f 6d 20 74 68 65 20 62 6c 6f 63 6b 3a 0a 20 20 20 20 20 20 3c .a.value.from.the.block:.......<
50ea0 2f 70 3e 0a 20 20 20 20 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
50ec0 61 73 73 3d 22 7a 69 67 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"
50ee0 3e 74 65 73 74 5f 6c 61 62 65 6c 65 64 5f 62 72 65 61 6b 2e 7a 69 67 3c 2f 63 69 74 65 3e 3c 2f >test_labeled_break.zig</cite></
50f00 66 69 67 63 61 70 74 69 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
50f20 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
50f40 70 61 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<
50f60 2f 73 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
50f80 6f 74 3b 73 74 64 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 29 3b 0a 3c 73 70 61 6e 20 63 6c 61 73 ot;std&quot;</span>);.<span.clas
50fa0 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 45 71 s="tok-kw">const</span>.expectEq
50fc0 75 61 6c 20 3d 20 73 74 64 2e 74 65 73 74 69 6e 67 2e 65 78 70 65 63 74 45 71 75 61 6c 3b 0a 0a ual.=.std.testing.expectEqual;..
50fe0 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>
51000 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 73 74 72 22 3e 26 71 75 6f 74 3b 6c 61 62 .<span.class="tok-str">&quot;lab
51020 65 6c 65 64 20 62 72 65 61 6b 20 66 72 6f 6d 20 6c 61 62 65 6c 65 64 20 62 6c 6f 63 6b 20 65 78 eled.break.from.labeled.block.ex
51040 70 72 65 73 73 69 6f 6e 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 20 7b 0a 20 20 20 20 3c 73 70 61 pression&quot;</span>.{.....<spa
51060 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 76 61 72 3c 2f 73 70 61 6e 3e 20 79 3a 20 3c n.class="tok-kw">var</span>.y:.<
51080 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>
510a0 20 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 31 32 33 3c .=.<span.class="tok-number">123<
510c0 2f 73 70 61 6e 3e 3b 0a 0a 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 /span>;......<span.class="tok-kw
510e0 22 3e 63 6f 6e 73 74 3c 2f 73 70 61 6e 3e 20 78 20 3d 20 62 6c 6b 3a 20 7b 0a 20 20 20 20 20 20 ">const</span>.x.=.blk:.{.......
51100 20 20 79 20 2b 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e ..y.+=.<span.class="tok-number">
51120 31 3c 2f 73 70 61 6e 3e 3b 0a 20 20 20 20 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 1</span>;.........<span.class="t
51140 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 79 3b 0a 20 20 20 20 ok-kw">break</span>.:blk.y;.....
51160 7d 3b 0a 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 74 72 79 3c };.....<span.class="tok-kw">try<
51180 2f 73 70 61 6e 3e 20 65 78 70 65 63 74 45 71 75 61 6c 28 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 /span>.expectEqual(<span.class="
511a0 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 31 32 34 3c 2f 73 70 61 6e 3e 2c 20 78 29 3b 0a 20 20 20 20 tok-number">124</span>,.x);.....
511c0 3c 73 70 61 6e 20 63 6c 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>.
511e0 65 78 70 65 63 74 45 71 75 61 6c 28 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d expectEqual(<span.class="tok-num
51200 62 65 72 22 3e 31 32 34 3c 2f 73 70 61 6e 3e 2c 20 79 29 3b 0a 7d 3c 2f 63 6f 64 65 3e 3c 2f 70 ber">124</span>,.y);.}</code></p
51220 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.
51240 63 6c 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
51260 69 6f 6e 3e 3c 70 72 65 3e 3c 73 61 6d 70 3e 24 20 3c 6b 62 64 3e 7a 69 67 20 74 65 73 74 20 74 ion><pre><samp>$.<kbd>zig.test.t
51280 65 73 74 5f 6c 61 62 65 6c 65 64 5f 62 72 65 61 6b 2e 7a 69 67 3c 2f 6b 62 64 3e 0a 31 2f 31 20 est_labeled_break.zig</kbd>.1/1.
512a0 74 65 73 74 5f 6c 61 62 65 6c 65 64 5f 62 72 65 61 6b 2e 74 65 73 74 2e 6c 61 62 65 6c 65 64 20 test_labeled_break.test.labeled.
512c0 62 72 65 61 6b 20 66 72 6f 6d 20 6c 61 62 65 6c 65 64 20 62 6c 6f 63 6b 20 65 78 70 72 65 73 73 break.from.labeled.block.express
512e0 69 6f 6e 2e 2e 2e 4f 4b 0a 41 6c 6c 20 31 20 74 65 73 74 73 20 70 61 73 73 65 64 2e 0a 3c 2f 73 ion...OK.All.1.tests.passed..</s
51300 61 6d 70 3e 3c 2f 70 72 65 3e 3c 2f 66 69 67 75 72 65 3e 0a 0a 20 20 20 20 20 20 3c 70 3e 48 65 amp></pre></figure>........<p>He
51320 72 65 2c 20 3c 63 6f 64 65 3e 62 6c 6b 3c 2f 63 6f 64 65 3e 20 63 61 6e 20 62 65 20 61 6e 79 20 re,.<code>blk</code>.can.be.any.
51340 6e 61 6d 65 2e 3c 2f 70 3e 0a 20 20 20 20 20 20 3c 70 3e 53 65 65 20 61 6c 73 6f 3a 3c 2f 70 3e name.</p>.......<p>See.also:</p>
51360 3c 75 6c 3e 0a 3c 6c 69 3e 3c 61 20 68 72 65 66 3d 22 23 4c 61 62 65 6c 65 64 2d 77 68 69 6c 65 <ul>.<li><a.href="#Labeled-while
51380 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.
513a0 68 72 65 66 3d 22 23 4c 61 62 65 6c 65 64 2d 66 6f 72 22 3e 4c 61 62 65 6c 65 64 20 66 6f 72 3c href="#Labeled-for">Labeled.for<
513c0 2f 61 3e 3c 2f 6c 69 3e 0a 3c 2f 75 6c 3e 0a 0a 0a 20 20 20 20 20 20 3c 68 33 20 69 64 3d 22 53 /a></li>.</ul>.........<h3.id="S
513e0 68 61 64 6f 77 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 hadowing"><a.href="nav.xhtml#toc
51400 2d 53 68 61 64 6f 77 69 6e 67 22 3e 53 68 61 64 6f 77 69 6e 67 3c 2f 61 3e 20 3c 61 20 63 6c 61 -Shadowing">Shadowing</a>.<a.cla
51420 73 73 3d 22 68 64 72 22 20 68 72 65 66 3d 22 23 53 68 61 64 6f 77 69 6e 67 22 3e c2 a7 3c 2f 61 ss="hdr".href="#Shadowing">..</a
51440 3e 3c 2f 68 33 3e 0a 0a 20 20 20 20 20 20 3c 70 3e 3c 61 20 68 72 65 66 3d 22 23 49 64 65 6e 74 ></h3>........<p><a.href="#Ident
51460 69 66 69 65 72 73 22 3e 49 64 65 6e 74 69 66 69 65 72 73 3c 2f 61 3e 20 61 72 65 20 6e 65 76 65 ifiers">Identifiers</a>.are.neve
51480 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
514a0 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
514c0 3e 0a 20 20 20 20 20 20 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
514e0 73 3d 22 7a 69 67 2d 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
51500 65 73 74 5f 73 68 61 64 6f 77 69 6e 67 2e 7a 69 67 3c 2f 63 69 74 65 3e 3c 2f 66 69 67 63 61 70 est_shadowing.zig</cite></figcap
51520 74 69 6f 6e 3e 3c 70 72 65 3e 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b tion><pre><code><span.class="tok
51540 2d 6b 77 22 3e 63 6f 6e 73 74 3c 2f 73 70 61 6e 3e 20 70 69 20 3d 20 3c 73 70 61 6e 20 63 6c 61 -kw">const</span>.pi.=.<span.cla
51560 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 33 2e 31 34 3c 2f 73 70 61 6e 3e 3b 0a 0a 3c 73 ss="tok-number">3.14</span>;..<s
51580 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>.<
515a0 73 70 61 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 span.class="tok-str">&quot;insid
515c0 65 20 74 65 73 74 20 62 6c 6f 63 6b 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 20 7b 0a 20 20 20 20 e.test.block&quot;</span>.{.....
515e0 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 63 6f 6d 6d 65 6e 74 22 3e 2f 2f 20 4c 65 74 <span.class="tok-comment">//.Let
51600 27 73 20 65 76 65 6e 20 67 6f 20 69 6e 73 69 64 65 20 61 6e 6f 74 68 65 72 20 62 6c 6f 63 6b 3c 's.even.go.inside.another.block<
51620 2f 73 70 61 6e 3e 0a 20 20 20 20 7b 0a 20 20 20 20 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 /span>.....{.........<span.class
51640 3d 22 74 6f 6b 2d 6b 77 22 3e 76 61 72 3c 2f 73 70 61 6e 3e 20 70 69 3a 20 3c 73 70 61 6e 20 63 ="tok-kw">var</span>.pi:.<span.c
51660 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
51680 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
516a0 3e 3b 0a 20 20 20 20 7d 0a 7d 3c 2f 63 6f 64 65 3e 3c 2f 70 72 65 3e 3c 2f 66 69 67 75 72 65 3e >;.....}.}</code></pre></figure>
516c0 3c 66 69 67 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
516e0 2d 63 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
51700 6d 70 3e 24 20 3c 6b 62 64 3e 7a 69 67 20 74 65 73 74 20 74 65 73 74 5f 73 68 61 64 6f 77 69 6e mp>$.<kbd>zig.test.test_shadowin
51720 67 2e 7a 69 67 3c 2f 6b 62 64 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 73 67 72 2d 31 6d 22 g.zig</kbd>.<span.class="sgr-1m"
51740 3e 2f 68 6f 6d 65 2f 63 69 2f 77 6f 72 6b 2f 7a 69 67 2d 62 6f 6f 74 73 74 72 61 70 2f 7a 69 67 >/home/ci/work/zig-bootstrap/zig
51760 2f 64 6f 63 2f 6c 61 6e 67 72 65 66 2f 74 65 73 74 5f 73 68 61 64 6f 77 69 6e 67 2e 7a 69 67 3a /doc/langref/test_shadowing.zig:
51780 36 3a 31 33 3a 20 3c 2f 73 70 61 6e 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 73 67 72 2d 33 31 6:13:.</span><span.class="sgr-31
517a0 6d 22 3e 65 72 72 6f 72 3a 20 3c 2f 73 70 61 6e 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 73 67 m">error:.</span><span.class="sg
517c0 72 2d 31 6d 22 3e 6c 6f 63 61 6c 20 76 61 72 69 61 62 6c 65 20 73 68 61 64 6f 77 73 20 64 65 63 r-1m">local.variable.shadows.dec
517e0 6c 61 72 61 74 69 6f 6e 20 6f 66 20 27 70 69 27 0a 3c 2f 73 70 61 6e 3e 20 20 20 20 20 20 20 20 laration.of.'pi'.</span>........
51800 76 61 72 20 70 69 3a 20 69 33 32 20 3d 20 31 32 33 34 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 var.pi:.i32.=.1234;.............
51820 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 73 67 72 2d 33 32 6d 22 3e 5e 7e 0a 3c 2f 73 70 61 6e 3e <span.class="sgr-32m">^~.</span>
51840 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 73 67 72 2d 31 6d 22 3e 2f 68 6f 6d 65 2f 63 69 2f 77 6f <span.class="sgr-1m">/home/ci/wo
51860 72 6b 2f 7a 69 67 2d 62 6f 6f 74 73 74 72 61 70 2f 7a 69 67 2f 64 6f 63 2f 6c 61 6e 67 72 65 66 rk/zig-bootstrap/zig/doc/langref
51880 2f 74 65 73 74 5f 73 68 61 64 6f 77 69 6e 67 2e 7a 69 67 3a 31 3a 31 3a 20 3c 2f 73 70 61 6e 3e /test_shadowing.zig:1:1:.</span>
518a0 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 73 67 72 2d 33 36 6d 22 3e 6e 6f 74 65 3a 20 3c 2f 73 70 <span.class="sgr-36m">note:.</sp
518c0 61 6e 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 73 67 72 2d 31 6d 22 3e 64 65 63 6c 61 72 65 64 an><span.class="sgr-1m">declared
518e0 20 68 65 72 65 0a 3c 2f 73 70 61 6e 3e 63 6f 6e 73 74 20 70 69 20 3d 20 33 2e 31 34 3b 0a 3c 73 .here.</span>const.pi.=.3.14;.<s
51900 70 61 6e 20 63 6c 61 73 73 3d 22 73 67 72 2d 33 32 6d 22 3e 5e 7e 7e 7e 7e 7e 7e 7e 7e 7e 7e 7e pan.class="sgr-32m">^~~~~~~~~~~~
51920 7e 7e 7e 0a 3c 2f 73 70 61 6e 3e 0a 3c 2f 73 61 6d 70 3e 3c 2f 70 72 65 3e 3c 2f 66 69 67 75 72 ~~~.</span>.</samp></pre></figur
51940 65 3e 0a 0a 20 20 20 20 20 20 3c 70 3e 0a 20 20 20 20 20 20 42 65 63 61 75 73 65 20 6f 66 20 74 e>........<p>.......Because.of.t
51960 68 69 73 2c 20 77 68 65 6e 20 79 6f 75 20 72 65 61 64 20 5a 69 67 20 63 6f 64 65 20 79 6f 75 20 his,.when.you.read.Zig.code.you.
51980 63 61 6e 20 61 6c 77 61 79 73 20 72 65 6c 79 20 6f 6e 20 61 6e 20 69 64 65 6e 74 69 66 69 65 72 can.always.rely.on.an.identifier
519a0 20 74 6f 20 63 6f 6e 73 69 73 74 65 6e 74 6c 79 20 6d 65 61 6e 0a 20 20 20 20 20 20 74 68 65 20 .to.consistently.mean.......the.
519c0 73 61 6d 65 20 74 68 69 6e 67 20 77 69 74 68 69 6e 20 74 68 65 20 73 63 6f 70 65 20 69 74 20 69 same.thing.within.the.scope.it.i
519e0 73 20 64 65 66 69 6e 65 64 2e 20 4e 6f 74 65 20 74 68 61 74 20 79 6f 75 20 63 61 6e 2c 20 68 6f s.defined..Note.that.you.can,.ho
51a00 77 65 76 65 72 2c 20 75 73 65 20 74 68 65 20 73 61 6d 65 20 6e 61 6d 65 20 69 66 0a 20 20 20 20 wever,.use.the.same.name.if.....
51a20 20 20 74 68 65 20 73 63 6f 70 65 73 20 61 72 65 20 73 65 70 61 72 61 74 65 3a 0a 20 20 20 20 20 ..the.scopes.are.separate:......
51a40 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.
51a60 63 6c 61 73 73 3d 22 7a 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
51a80 65 22 3e 74 65 73 74 5f 73 63 6f 70 65 73 2e 7a 69 67 3c 2f 63 69 74 65 3e 3c 2f 66 69 67 63 61 e">test_scopes.zig</cite></figca
51aa0 70 74 69 6f 6e 3e 3c 70 72 65 3e 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f ption><pre><code><span.class="to
51ac0 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
51ae0 6f 6b 2d 73 74 72 22 3e 26 71 75 6f 74 3b 73 65 70 61 72 61 74 65 20 73 63 6f 70 65 73 26 71 75 ok-str">&quot;separate.scopes&qu
51b00 6f 74 3b 3c 2f 73 70 61 6e 3e 20 7b 0a 20 20 20 20 7b 0a 20 20 20 20 20 20 20 20 3c 73 70 61 6e ot;</span>.{.....{.........<span
51b20 20 63 6c 61 73 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 .class="tok-kw">const</span>.pi.
51b40 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 33 2e 31 34 3c =.<span.class="tok-number">3.14<
51b60 2f 73 70 61 6e 3e 3b 0a 20 20 20 20 20 20 20 20 5f 20 3d 20 70 69 3b 0a 20 20 20 20 7d 0a 20 20 /span>;........._.=.pi;.....}...
51b80 20 20 7b 0a 20 20 20 20 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 ..{.........<span.class="tok-kw"
51ba0 3e 76 61 72 3c 2f 73 70 61 6e 3e 20 70 69 3a 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b >var</span>.pi:.<span.class="tok
51bc0 2d 74 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 -type">bool</span>.=.<span.class
51be0 3d 22 74 6f 6b 2d 6e 75 6c 6c 22 3e 74 72 75 65 3c 2f 73 70 61 6e 3e 3b 0a 20 20 20 20 20 20 20 ="tok-null">true</span>;........
51c00 20 5f 20 3d 20 26 61 6d 70 3b 70 69 3b 0a 20 20 20 20 7d 0a 7d 3c 2f 63 6f 64 65 3e 3c 2f 70 72 ._.=.&amp;pi;.....}.}</code></pr
51c20 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
51c40 6c 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
51c60 6f 6e 3e 3c 70 72 65 3e 3c 73 61 6d 70 3e 24 20 3c 6b 62 64 3e 7a 69 67 20 74 65 73 74 20 74 65 on><pre><samp>$.<kbd>zig.test.te
51c80 73 74 5f 73 63 6f 70 65 73 2e 7a 69 67 3c 2f 6b 62 64 3e 0a 31 2f 31 20 74 65 73 74 5f 73 63 6f st_scopes.zig</kbd>.1/1.test_sco
51ca0 70 65 73 2e 74 65 73 74 2e 73 65 70 61 72 61 74 65 20 73 63 6f 70 65 73 2e 2e 2e 4f 4b 0a 41 6c pes.test.separate.scopes...OK.Al
51cc0 6c 20 31 20 74 65 73 74 73 20 70 61 73 73 65 64 2e 0a 3c 2f 73 61 6d 70 3e 3c 2f 70 72 65 3e 3c l.1.tests.passed..</samp></pre><
51ce0 2f 66 69 67 75 72 65 3e 0a 0a 20 20 20 20 20 20 0a 0a 20 20 20 20 20 20 3c 68 33 20 69 64 3d 22 /figure>................<h3.id="
51d00 45 6d 70 74 79 2d 42 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 Empty-Blocks"><a.href="nav.xhtml
51d20 23 74 6f 63 2d 45 6d 70 74 79 2d 42 6c 6f 63 6b 73 22 3e 45 6d 70 74 79 20 42 6c 6f 63 6b 73 3c #toc-Empty-Blocks">Empty.Blocks<
51d40 2f 61 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 6d 70 74 79 2d /a>.<a.class="hdr".href="#Empty-
51d60 42 6c 6f 63 6b 73 22 3e c2 a7 3c 2f 61 3e 3c 2f 68 33 3e 0a 0a 20 20 20 20 20 20 3c 70 3e 41 6e Blocks">..</a></h3>........<p>An
51d80 20 65 6d 70 74 79 20 62 6c 6f 63 6b 20 72 65 74 75 72 6e 73 20 74 68 65 20 73 69 6e 67 6c 65 20 .empty.block.returns.the.single.
51da0 76 61 6c 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 value.of.type.<code><span.class=
51dc0 22 74 6f 6b 2d 74 79 70 65 22 3e 76 6f 69 64 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 3a 3c 2f "tok-type">void</span></code>:</
51de0 70 3e 0a 20 20 20 20 20 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
51e00 73 73 3d 22 7a 69 67 2d 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">
51e20 74 65 73 74 5f 65 6d 70 74 79 5f 62 6c 6f 63 6b 2e 7a 69 67 3c 2f 63 69 74 65 3e 3c 2f 66 69 67 test_empty_block.zig</cite></fig
51e40 63 61 70 74 69 6f 6e 3e 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="
51e60 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
51e80 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
51ea0 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;
51ec0 73 74 64 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 29 3b 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 std&quot;</span>);.<span.class="
51ee0 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 45 71 75 61 6c tok-kw">const</span>.expectEqual
51f00 20 3d 20 73 74 64 2e 74 65 73 74 69 6e 67 2e 65 78 70 65 63 74 45 71 75 61 6c 3b 0a 0a 3c 73 70 .=.std.testing.expectEqual;..<sp
51f20 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 7b 0a an.class="tok-kw">test</span>.{.
51f40 20 20 20 20 3c 73 70 61 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</
51f60 73 70 61 6e 3e 20 61 20 3d 20 7b 7d 3b 0a 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 span>.a.=.{};.....<span.class="t
51f80 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 73 ok-kw">try</span>.expectEqual(<s
51fa0 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>
51fc0 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 54 79 70 ,.<span.class="tok-builtin">@Typ
51fe0 65 4f 66 3c 2f 73 70 61 6e 3e 28 61 29 29 3b 0a 7d 3c 2f 63 6f 64 65 3e 3c 2f 70 72 65 3e 3c 2f eOf</span>(a));.}</code></pre></
52000 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
52020 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><
52040 70 72 65 3e 3c 73 61 6d 70 3e 24 20 3c 6b 62 64 3e 7a 69 67 20 74 65 73 74 20 74 65 73 74 5f 65 pre><samp>$.<kbd>zig.test.test_e
52060 6d 70 74 79 5f 62 6c 6f 63 6b 2e 7a 69 67 3c 2f 6b 62 64 3e 0a 31 2f 31 20 74 65 73 74 5f 65 6d mpty_block.zig</kbd>.1/1.test_em
52080 70 74 79 5f 62 6c 6f 63 6b 2e 74 65 73 74 5f 30 2e 2e 2e 4f 4b 0a 41 6c 6c 20 31 20 74 65 73 74 pty_block.test_0...OK.All.1.test
520a0 73 20 70 61 73 73 65 64 2e 0a 3c 2f 73 61 6d 70 3e 3c 2f 70 72 65 3e 3c 2f 66 69 67 75 72 65 3e s.passed..</samp></pre></figure>
520c0 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 73 .......................<h2.id="s
520e0 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 63 2d 73 77 witch"><a.href="nav.xhtml#toc-sw
52100 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 64 72 22 20 itch">switch</a>.<a.class="hdr".
52120 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 20 20 20 20 href="#switch">..</a></h2>......
52140 20 20 3c 66 69 67 75 72 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
52160 2d 63 61 70 22 3e 3c 63 69 74 65 20 63 6c 61 73 73 3d 22 66 69 6c 65 22 3e 74 65 73 74 5f 73 77 -cap"><cite.class="file">test_sw
52180 69 74 63 68 2e 7a 69 67 3c 2f 63 69 74 65 3e 3c 2f 66 69 67 63 61 70 74 69 6f 6e 3e 3c 70 72 65 itch.zig</cite></figcaption><pre
521a0 3e 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 63 6f 6e 73 ><code><span.class="tok-kw">cons
521c0 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-
521e0 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
52200 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
52220 70 61 6e 3e 29 3b 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 63 6f 6e 73 pan>);.<span.class="tok-kw">cons
52240 74 3c 2f 73 70 61 6e 3e 20 62 75 69 6c 74 69 6e 20 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 t</span>.builtin.=.<span.class="
52260 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
52280 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 73 74 72 22 3e 26 71 75 6f 74 3b 62 75 69 6c 74 69 6e 26 n.class="tok-str">&quot;builtin&
522a0 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 29 3b 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d quot;</span>);.<span.class="tok-
522c0 6b 77 22 3e 63 6f 6e 73 74 3c 2f 73 70 61 6e 3e 20 65 78 70 65 63 74 45 71 75 61 6c 20 3d 20 73 kw">const</span>.expectEqual.=.s
522e0 74 64 2e 74 65 73 74 69 6e 67 2e 65 78 70 65 63 74 45 71 75 61 6c 3b 0a 0a 3c 73 70 61 6e 20 63 td.testing.expectEqual;..<span.c
52300 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.
52320 63 6c 61 73 73 3d 22 74 6f 6b 2d 73 74 72 22 3e 26 71 75 6f 74 3b 73 77 69 74 63 68 20 73 69 6d class="tok-str">&quot;switch.sim
52340 70 6c 65 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 20 7b 0a 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 ple&quot;</span>.{.....<span.cla
52360 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 63 6f 6e 73 74 3c 2f 73 70 61 6e 3e 20 61 3a 20 3c 73 70 61 ss="tok-kw">const</span>.a:.<spa
52380 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 75 36 34 3c 2f 73 70 61 6e 3e 20 3d 20 n.class="tok-type">u64</span>.=.
523a0 3c 73 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
523c0 6e 3e 3b 0a 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 63 6f 6e n>;.....<span.class="tok-kw">con
523e0 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 6f 6b 2d 74 st</span>.zz:.<span.class="tok-t
52400 79 70 65 22 3e 75 36 34 3c 2f 73 70 61 6e 3e 20 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 ype">u64</span>.=.<span.class="t
52420 6f 6b 2d 6e 75 6d 62 65 72 22 3e 31 30 33 3c 2f 73 70 61 6e 3e 3b 0a 0a 20 20 20 20 3c 73 70 61 ok-number">103</span>;......<spa
52440 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 63 6f 6d 6d 65 6e 74 22 3e 2f 2f 20 41 6c 6c 20 62 72 61 n.class="tok-comment">//.All.bra
52460 6e 63 68 65 73 20 6f 66 20 61 20 73 77 69 74 63 68 20 65 78 70 72 65 73 73 69 6f 6e 20 6d 75 73 nches.of.a.switch.expression.mus
52480 74 20 62 65 20 61 62 6c 65 20 74 6f 20 62 65 20 63 6f 65 72 63 65 64 20 74 6f 20 61 3c 2f 73 70 t.be.able.to.be.coerced.to.a</sp
524a0 61 6e 3e 0a 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 63 6f 6d 6d 65 6e 74 an>.....<span.class="tok-comment
524c0 22 3e 2f 2f 20 63 6f 6d 6d 6f 6e 20 74 79 70 65 2e 3c 2f 73 70 61 6e 3e 0a 20 20 20 20 3c 73 70 ">//.common.type.</span>.....<sp
524e0 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 63 6f 6d 6d 65 6e 74 22 3e 2f 2f 3c 2f 73 70 61 6e 3e an.class="tok-comment">//</span>
52500 0a 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 63 6f 6d 6d 65 6e 74 22 3e 2f .....<span.class="tok-comment">/
52520 2f 20 42 72 61 6e 63 68 65 73 20 63 61 6e 6e 6f 74 20 66 61 6c 6c 74 68 72 6f 75 67 68 2e 20 49 /.Branches.cannot.fallthrough..I
52540 66 20 66 61 6c 6c 74 68 72 6f 75 67 68 20 62 65 68 61 76 69 6f 72 20 69 73 20 64 65 73 69 72 65 f.fallthrough.behavior.is.desire
52560 64 2c 20 63 6f 6d 62 69 6e 65 3c 2f 73 70 61 6e 3e 0a 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 d,.combine</span>.....<span.clas
52580 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
525a0 20 75 73 65 20 61 6e 20 69 66 2e 3c 2f 73 70 61 6e 3e 0a 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 .use.an.if.</span>.....<span.cla
525c0 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 63 6f 6e 73 74 3c 2f 73 70 61 6e 3e 20 62 20 3d 20 3c 73 70 ss="tok-kw">const</span>.b.=.<sp
525e0 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>.
52600 28 61 29 20 7b 0a 20 20 20 20 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 63 (a).{.........<span.class="tok-c
52620 6f 6d 6d 65 6e 74 22 3e 2f 2f 20 4d 75 6c 74 69 70 6c 65 20 63 61 73 65 73 20 63 61 6e 20 62 65 omment">//.Multiple.cases.can.be
52640 20 63 6f 6d 62 69 6e 65 64 20 76 69 61 20 61 20 27 2c 27 3c 2f 73 70 61 6e 3e 0a 20 20 20 20 20 .combined.via.a.','</span>......
52660 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 31 3c 2f 73 ...<span.class="tok-number">1</s
52680 70 61 6e 3e 2c 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 32 pan>,.<span.class="tok-number">2
526a0 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
526c0 22 3e 33 3c 2f 73 70 61 6e 3e 20 3d 26 67 74 3b 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f ">3</span>.=&gt;.<span.class="to
526e0 6b 2d 6e 75 6d 62 65 72 22 3e 30 3c 2f 73 70 61 6e 3e 2c 0a 0a 20 20 20 20 20 20 20 20 3c 73 70 k-number">0</span>,..........<sp
52700 61 6e 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 65 73 an.class="tok-comment">//.Ranges
52720 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 2e 20 .can.be.specified.using.the.....
52740 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 70 61 syntax..These.are.inclusive</spa
52760 6e 3e 0a 20 20 20 20 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 63 6f 6d 6d n>.........<span.class="tok-comm
52780 65 6e 74 22 3e 2f 2f 20 6f 66 20 62 6f 74 68 20 65 6e 64 73 2e 3c 2f 73 70 61 6e 3e 0a 20 20 20 ent">//.of.both.ends.</span>....
527a0 20 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 35 3c .....<span.class="tok-number">5<
527c0 2f 73 70 61 6e 3e 2e 2e 2e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 /span>...<span.class="tok-number
527e0 22 3e 31 30 30 3c 2f 73 70 61 6e 3e 20 3d 26 67 74 3b 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 ">100</span>.=&gt;.<span.class="
52800 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 31 3c 2f 73 70 61 6e 3e 2c 0a 0a 20 20 20 20 20 20 20 20 3c tok-number">1</span>,..........<
52820 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 63 6f 6d 6d 65 6e 74 22 3e 2f 2f 20 42 72 61 6e span.class="tok-comment">//.Bran
52840 63 68 65 73 20 63 61 6e 20 62 65 20 61 72 62 69 74 72 61 72 69 6c 79 20 63 6f 6d 70 6c 65 78 2e ches.can.be.arbitrarily.complex.
52860 3c 2f 73 70 61 6e 3e 0a 20 20 20 20 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b </span>.........<span.class="tok
52880 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 7b -number">101</span>.=&gt;.blk:.{
528a0 0a 20 20 20 20 20 20 20 20 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 .............<span.class="tok-kw
528c0 22 3e 63 6f 6e 73 74 3c 2f 73 70 61 6e 3e 20 63 3a 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 ">const</span>.c:.<span.class="t
528e0 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
52900 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 35 3c 2f 73 70 61 6e 3e 3b 0a 20 20 20 20 20 20 20 s="tok-number">5</span>;........
52920 20 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 62 72 65 61 6b 3c .....<span.class="tok-kw">break<
52940 2f 73 70 61 6e 3e 20 3a 62 6c 6b 20 63 20 2a 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b /span>.:blk.c.*.<span.class="tok
52960 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 73 73 3d -number">2</span>.+.<span.class=
52980 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 31 3c 2f 73 70 61 6e 3e 3b 0a 20 20 20 20 20 20 20 20 7d "tok-number">1</span>;.........}
529a0 2c 0a 0a 20 20 20 20 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 63 6f 6d 6d ,..........<span.class="tok-comm
529c0 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 79 20 65 ent">//.Switching.on.arbitrary.e
529e0 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 20 61 73 xpressions.is.allowed.as.long.as
52a00 20 74 68 65 3c 2f 73 70 61 6e 3e 0a 20 20 20 20 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d .the</span>.........<span.class=
52a20 22 74 6f 6b 2d 63 6f 6d 6d 65 6e 74 22 3e 2f 2f 20 65 78 70 72 65 73 73 69 6f 6e 20 69 73 20 6b "tok-comment">//.expression.is.k
52a40 6e 6f 77 6e 20 61 74 20 63 6f 6d 70 69 6c 65 2d 74 69 6d 65 2e 3c 2f 73 70 61 6e 3e 0a 20 20 20 nown.at.compile-time.</span>....
52a60 20 20 20 20 20 7a 7a 20 3d 26 67 74 3b 20 7a 7a 2c 0a 20 20 20 20 20 20 20 20 62 6c 6b 3a 20 7b .....zz.=&gt;.zz,.........blk:.{
52a80 0a 20 20 20 20 20 20 20 20 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 .............<span.class="tok-kw
52aa0 22 3e 63 6f 6e 73 74 3c 2f 73 70 61 6e 3e 20 64 3a 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 ">const</span>.d:.<span.class="t
52ac0 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
52ae0 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 35 3c 2f 73 70 61 6e 3e 3b 0a 20 20 20 20 20 20 20 s="tok-number">5</span>;........
52b00 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<
52b20 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 74 79 70 65 22 /span>.e:.<span.class="tok-type"
52b40 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
52b60 75 6d 62 65 72 22 3e 31 30 30 3c 2f 73 70 61 6e 3e 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 3c umber">100</span>;.............<
52b80 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 62 72 65 61 6b 3c 2f 73 70 61 6e 3e span.class="tok-kw">break</span>
52ba0 20 3a 62 6c 6b 20 64 20 2b 20 65 3b 0a 20 20 20 20 20 20 20 20 7d 20 3d 26 67 74 3b 20 3c 73 70 .:blk.d.+.e;.........}.=&gt;.<sp
52bc0 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 31 30 37 3c 2f 73 70 61 6e 3e an.class="tok-number">107</span>
52be0 2c 0a 0a 20 20 20 20 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 63 6f 6d 6d ,..........<span.class="tok-comm
52c00 65 6e 74 22 3e 2f 2f 20 54 68 65 20 65 6c 73 65 20 62 72 61 6e 63 68 20 63 61 74 63 68 65 73 20 ent">//.The.else.branch.catches.
52c20 65 76 65 72 79 74 68 69 6e 67 20 6e 6f 74 20 61 6c 72 65 61 64 79 20 63 61 70 74 75 72 65 64 2e everything.not.already.captured.
52c40 3c 2f 73 70 61 6e 3e 0a 20 20 20 20 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b </span>.........<span.class="tok
52c60 2d 63 6f 6d 6d 65 6e 74 22 3e 2f 2f 20 45 6c 73 65 20 62 72 61 6e 63 68 65 73 20 61 72 65 20 6d -comment">//.Else.branches.are.m
52c80 61 6e 64 61 74 6f 72 79 20 75 6e 6c 65 73 73 20 74 68 65 20 65 6e 74 69 72 65 20 72 61 6e 67 65 andatory.unless.the.entire.range
52ca0 20 6f 66 20 76 61 6c 75 65 73 3c 2f 73 70 61 6e 3e 0a 20 20 20 20 20 20 20 20 3c 73 70 61 6e 20 .of.values</span>.........<span.
52cc0 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 65 class="tok-comment">//.is.handle
52ce0 64 2e 3c 2f 73 70 61 6e 3e 0a 20 20 20 20 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 d.</span>.........<span.class="t
52d00 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 63 ok-kw">else</span>.=&gt;.<span.c
52d20 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 39 3c 2f 73 70 61 6e 3e 2c 0a 20 20 20 20 lass="tok-number">9</span>,.....
52d40 7d 3b 0a 0a 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 74 72 79 };......<span.class="tok-kw">try
52d60 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=
52d80 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 31 3c 2f 73 70 61 6e 3e 2c 20 62 29 3b 0a 7d 0a 0a 3c 73 "tok-number">1</span>,.b);.}..<s
52da0 70 61 6e 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
52dc0 68 20 65 78 70 72 65 73 73 69 6f 6e 73 20 63 61 6e 20 62 65 20 75 73 65 64 20 6f 75 74 73 69 64 h.expressions.can.be.used.outsid
52de0 65 20 61 20 66 75 6e 63 74 69 6f 6e 3a 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 e.a.function:</span>.<span.class
52e00 3d 22 74 6f 6b 2d 6b 77 22 3e 63 6f 6e 73 74 3c 2f 73 70 61 6e 3e 20 6f 73 5f 6d 73 67 20 3d 20 ="tok-kw">const</span>.os_msg.=.
52e20 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
52e40 6e 3e 20 28 62 75 69 6c 74 69 6e 2e 74 61 72 67 65 74 2e 6f 73 2e 74 61 67 29 20 7b 0a 20 20 20 n>.(builtin.target.os.tag).{....
52e60 20 2e 6c 69 6e 75 78 20 3d 26 67 74 3b 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 73 ..linux.=&gt;.<span.class="tok-s
52e80 74 72 22 3e 26 71 75 6f 74 3b 77 65 20 66 6f 75 6e 64 20 61 20 6c 69 6e 75 78 20 75 73 65 72 26 tr">&quot;we.found.a.linux.user&
52ea0 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 2c 0a 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 quot;</span>,.....<span.class="t
52ec0 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 63 ok-kw">else</span>.=&gt;.<span.c
52ee0 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 75 78 lass="tok-str">&quot;not.a.linux
52f00 20 75 73 65 72 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 2c 0a 7d 3b 0a 0a 3c 73 70 61 6e 20 63 6c .user&quot;</span>,.};..<span.cl
52f20 61 73 73 3d 22 74 6f 6b 2d 63 6f 6d 6d 65 6e 74 22 3e 2f 2f 20 49 6e 73 69 64 65 20 61 20 66 75 ass="tok-comment">//.Inside.a.fu
52f40 6e 63 74 69 6f 6e 2c 20 73 77 69 74 63 68 20 73 74 61 74 65 6d 65 6e 74 73 20 69 6d 70 6c 69 63 nction,.switch.statements.implic
52f60 69 74 6c 79 20 61 72 65 20 63 6f 6d 70 69 6c 65 2d 74 69 6d 65 3c 2f 73 70 61 6e 3e 0a 3c 73 70 itly.are.compile-time</span>.<sp
52f80 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 63 6f 6d 6d 65 6e 74 22 3e 2f 2f 20 65 76 61 6c 75 61 an.class="tok-comment">//.evalua
52fa0 74 65 64 20 69 66 20 74 68 65 20 74 61 72 67 65 74 20 65 78 70 72 65 73 73 69 6f 6e 20 69 73 20 ted.if.the.target.expression.is.
52fc0 63 6f 6d 70 69 6c 65 2d 74 69 6d 65 20 6b 6e 6f 77 6e 2e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e compile-time.known.</span>.<span
52fe0 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
53000 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 73 74 72 22 3e 26 71 75 6f 74 3b 73 77 69 74 63 68 20 69 n.class="tok-str">&quot;switch.i
53020 6e 73 69 64 65 20 66 75 6e 63 74 69 6f 6e 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 20 7b 0a 20 20 nside.function&quot;</span>.{...
53040 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
53060 70 61 6e 3e 20 28 62 75 69 6c 74 69 6e 2e 74 61 72 67 65 74 2e 6f 73 2e 74 61 67 29 20 7b 0a 20 pan>.(builtin.target.os.tag).{..
53080 20 20 20 20 20 20 20 2e 66 75 63 68 73 69 61 20 3d 26 67 74 3b 20 7b 0a 20 20 20 20 20 20 20 20 ........fuchsia.=&gt;.{.........
530a0 20 20 20 20 3c 73 70 61 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">//
530c0 20 4f 6e 20 61 6e 20 4f 53 20 6f 74 68 65 72 20 74 68 61 6e 20 66 75 63 68 73 69 61 2c 20 62 6c .On.an.OS.other.than.fuchsia,.bl
530e0 6f 63 6b 20 69 73 20 6e 6f 74 20 65 76 65 6e 20 61 6e 61 6c 79 7a 65 64 2c 3c 2f 73 70 61 6e 3e ock.is.not.even.analyzed,</span>
53100 0a 20 20 20 20 20 20 20 20 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 63 6f .............<span.class="tok-co
53120 6d 6d 65 6e 74 22 3e 2f 2f 20 73 6f 20 74 68 69 73 20 63 6f 6d 70 69 6c 65 20 65 72 72 6f 72 20 mment">//.so.this.compile.error.
53140 69 73 20 6e 6f 74 20 74 72 69 67 67 65 72 65 64 2e 3c 2f 73 70 61 6e 3e 0a 20 20 20 20 20 20 20 is.not.triggered.</span>........
53160 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">/
53180 2f 20 4f 6e 20 66 75 63 68 73 69 61 20 74 68 69 73 20 63 6f 6d 70 69 6c 65 20 65 72 72 6f 72 20 /.On.fuchsia.this.compile.error.
531a0 77 6f 75 6c 64 20 62 65 20 74 72 69 67 67 65 72 65 64 2e 3c 2f 73 70 61 6e 3e 0a 20 20 20 20 20 would.be.triggered.</span>......
531c0 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"
531e0 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
53200 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
53220 70 70 6f 72 74 65 64 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 29 3b 0a 20 20 20 20 20 20 20 20 7d pported&quot;</span>);.........}
53240 2c 0a 20 20 20 20 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 65 ,.........<span.class="tok-kw">e
53260 6c 73 65 3c 2f 73 70 61 6e 3e 20 3d 26 67 74 3b 20 7b 7d 2c 0a 20 20 20 20 7d 0a 7d 3c 2f 63 6f lse</span>.=&gt;.{},.....}.}</co
53280 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
532a0 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
532c0 69 67 63 61 70 74 69 6f 6e 3e 3c 70 72 65 3e 3c 73 61 6d 70 3e 24 20 3c 6b 62 64 3e 7a 69 67 20 igcaption><pre><samp>$.<kbd>zig.
532e0 74 65 73 74 20 74 65 73 74 5f 73 77 69 74 63 68 2e 7a 69 67 3c 2f 6b 62 64 3e 0a 31 2f 32 20 74 test.test_switch.zig</kbd>.1/2.t
53300 65 73 74 5f 73 77 69 74 63 68 2e 74 65 73 74 2e 73 77 69 74 63 68 20 73 69 6d 70 6c 65 2e 2e 2e est_switch.test.switch.simple...
53320 4f 4b 0a 32 2f 32 20 74 65 73 74 5f 73 77 69 74 63 68 2e 74 65 73 74 2e 73 77 69 74 63 68 20 69 OK.2/2.test_switch.test.switch.i
53340 6e 73 69 64 65 20 66 75 6e 63 74 69 6f 6e 2e 2e 2e 4f 4b 0a 41 6c 6c 20 32 20 74 65 73 74 73 20 nside.function...OK.All.2.tests.
53360 70 61 73 73 65 64 2e 0a 3c 2f 73 61 6d 70 3e 3c 2f 70 72 65 3e 3c 2f 66 69 67 75 72 65 3e 0a 0a passed..</samp></pre></figure>..
53380 20 20 20 20 20 20 3c 70 3e 0a 20 20 20 20 20 20 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 ......<p>.......<code><span.clas
533a0 73 3d 22 74 6f 6b 2d 6b 77 22 3e 73 77 69 74 63 68 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 20 s="tok-kw">switch</span></code>.
533c0 63 61 6e 20 62 65 20 75 73 65 64 20 74 6f 20 63 61 70 74 75 72 65 20 74 68 65 20 66 69 65 6c 64 can.be.used.to.capture.the.field
533e0 20 76 61 6c 75 65 73 0a 20 20 20 20 20 20 6f 66 20 61 20 3c 61 20 68 72 65 66 3d 22 23 54 61 67 .values.......of.a.<a.href="#Tag
53400 67 65 64 2d 75 6e 69 6f 6e 22 3e 54 61 67 67 65 64 20 75 6e 69 6f 6e 3c 2f 61 3e 2e 20 4d 6f 64 ged-union">Tagged.union</a>..Mod
53420 69 66 69 63 61 74 69 6f 6e 73 20 74 6f 20 74 68 65 20 66 69 65 6c 64 20 76 61 6c 75 65 73 20 63 ifications.to.the.field.values.c
53440 61 6e 20 62 65 0a 20 20 20 20 20 20 64 6f 6e 65 20 62 79 20 70 6c 61 63 69 6e 67 20 61 20 3c 63 an.be.......done.by.placing.a.<c
53460 6f 64 65 3e 2a 3c 2f 63 6f 64 65 3e 20 62 65 66 6f 72 65 20 74 68 65 20 63 61 70 74 75 72 65 20 ode>*</code>.before.the.capture.
53480 76 61 72 69 61 62 6c 65 20 6e 61 6d 65 2c 0a 20 20 20 20 20 20 74 75 72 6e 69 6e 67 20 69 74 20 variable.name,.......turning.it.
534a0 69 6e 74 6f 20 61 20 70 6f 69 6e 74 65 72 2e 0a 20 20 20 20 20 20 3c 2f 70 3e 0a 20 20 20 20 20 into.a.pointer........</p>......
534c0 20 3c 66 69 67 75 72 65 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-
534e0 63 61 70 22 3e 3c 63 69 74 65 20 63 6c 61 73 73 3d 22 66 69 6c 65 22 3e 74 65 73 74 5f 73 77 69 cap"><cite.class="file">test_swi
53500 74 63 68 5f 74 61 67 67 65 64 5f 75 6e 69 6f 6e 2e 7a 69 67 3c 2f 63 69 74 65 3e 3c 2f 66 69 67 tch_tagged_union.zig</cite></fig
53520 63 61 70 74 69 6f 6e 3e 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="
53540 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 45 71 75 61 6c tok-kw">const</span>.expectEqual
53560 20 3d 20 3c 73 70 61 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
53580 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
535a0 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
535c0 67 2e 65 78 70 65 63 74 45 71 75 61 6c 3b 0a 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b g.expectEqual;..<span.class="tok
535e0 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
53600 6b 2d 73 74 72 22 3e 26 71 75 6f 74 3b 73 77 69 74 63 68 20 6f 6e 20 74 61 67 67 65 64 20 75 6e k-str">&quot;switch.on.tagged.un
53620 69 6f 6e 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 20 7b 0a 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 ion&quot;</span>.{.....<span.cla
53640 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 63 6f 6e 73 74 3c 2f 73 70 61 6e 3e 20 50 6f 69 6e 74 20 3d ss="tok-kw">const</span>.Point.=
53660 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 73 74 72 75 63 74 3c 2f 73 70 .<span.class="tok-kw">struct</sp
53680 61 6e 3e 20 7b 0a 20 20 20 20 20 20 20 20 78 3a 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f an>.{.........x:.<span.class="to
536a0 6b 2d 74 79 70 65 22 3e 75 38 3c 2f 73 70 61 6e 3e 2c 0a 20 20 20 20 20 20 20 20 79 3a 20 3c 73 k-type">u8</span>,.........y:.<s
536c0 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 75 38 3c 2f 73 70 61 6e 3e 2c 0a pan.class="tok-type">u8</span>,.
536e0 20 20 20 20 7d 3b 0a 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e ....};.....<span.class="tok-kw">
53700 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 63 6c 61 73 73 3d const</span>.Item.=.<span.class=
53720 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 73 "tok-kw">union</span>(<span.clas
53740 73 3d 22 74 6f 6b 2d 6b 77 22 3e 65 6e 75 6d 3c 2f 73 70 61 6e 3e 29 20 7b 0a 20 20 20 20 20 20 s="tok-kw">enum</span>).{.......
53760 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<
53780 2f 73 70 61 6e 3e 2c 0a 20 20 20 20 20 20 20 20 63 3a 20 50 6f 69 6e 74 2c 0a 20 20 20 20 20 20 /span>,.........c:.Point,.......
537a0 20 20 64 2c 0a 20 20 20 20 20 20 20 20 65 3a 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b ..d,.........e:.<span.class="tok
537c0 2d 74 79 70 65 22 3e 75 33 32 3c 2f 73 70 61 6e 3e 2c 0a 20 20 20 20 7d 3b 0a 0a 20 20 20 20 3c -type">u32</span>,.....};......<
537e0 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
53800 20 3d 20 49 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 .=.Item{..c.=.Point{..x.=.<span.
53820 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 31 3c 2f 73 70 61 6e 3e 2c 20 2e 79 20 class="tok-number">1</span>,..y.
53840 3d 20 3c 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
53860 61 6e 3e 20 7d 20 7d 3b 0a 0a 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 63 an>.}.};......<span.class="tok-c
53880 6f 6d 6d 65 6e 74 22 3e 2f 2f 20 53 77 69 74 63 68 69 6e 67 20 6f 6e 20 6d 6f 72 65 20 63 6f 6d omment">//.Switching.on.more.com
538a0 70 6c 65 78 20 65 6e 75 6d 73 20 69 73 20 61 6c 6c 6f 77 65 64 2e 3c 2f 73 70 61 6e 3e 0a 20 20 plex.enums.is.allowed.</span>...
538c0 20 20 3c 73 70 61 6e 20 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
538e0 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 6b 77 22 3e 73 77 69 an>.b.=.<span.class="tok-kw">swi
53900 74 63 68 3c 2f 73 70 61 6e 3e 20 28 61 29 20 7b 0a 20 20 20 20 20 20 20 20 3c 73 70 61 6e 20 63 tch</span>.(a).{.........<span.c
53920 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 75 72 65 20 lass="tok-comment">//.A.capture.
53940 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 20 61 6e 64 group.is.allowed.on.a.match,.and
53960 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 0a 20 20 20 .will.return.the.enum</span>....
53980 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">/
539a0 2f 20 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 /.value.matched..If.the.payload.
539c0 74 79 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 types.of.both.cases.are.the.same
539e0 3c 2f 73 70 61 6e 3e 0a 20 20 20 20 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b </span>.........<span.class="tok
53a00 2d 63 6f 6d 6d 65 6e 74 22 3e 2f 2f 20 74 68 65 79 20 63 61 6e 20 62 65 20 70 75 74 20 69 6e 74 -comment">//.they.can.be.put.int
53a20 6f 20 74 68 65 20 73 61 6d 65 20 73 77 69 74 63 68 20 70 72 6f 6e 67 2e 3c 2f 73 70 61 6e 3e 0a o.the.same.switch.prong.</span>.
53a40 20 20 20 20 20 20 20 20 49 74 65 6d 2e 61 2c 20 49 74 65 6d 2e 65 20 3d 26 67 74 3b 20 7c 69 74 ........Item.a,.Item.e.=&gt;.|it
53a60 65 6d 7c 20 69 74 65 6d 2c 0a 0a 20 20 20 20 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 em|.item,..........<span.class="
53a80 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 65 20 74 6f 20 74 tok-comment">//.A.reference.to.t
53aa0 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 74 61 69 6e 65 64 he.matched.value.can.be.obtained
53ac0 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 0a 20 20 20 20 20 20 .using.`*`.syntax.</span>.......
53ae0 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 0a 20 20 ..Item.c.=&gt;.|*item|.blk:.{...
53b00 20 20 20 20 20 20 20 20 20 20 69 74 65 6d 2e 2a 2e 78 20 2b 3d 20 3c 73 70 61 6e 20 63 6c 61 73 ..........item.*.x.+=.<span.clas
53b20 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 31 3c 2f 73 70 61 6e 3e 3b 0a 20 20 20 20 20 20 20 s="tok-number">1</span>;........
53b40 20 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 62 72 65 61 6b 3c .....<span.class="tok-kw">break<
53b60 2f 73 70 61 6e 3e 20 3a 62 6c 6b 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d /span>.:blk.<span.class="tok-num
53b80 62 65 72 22 3e 36 3c 2f 73 70 61 6e 3e 3b 0a 20 20 20 20 20 20 20 20 7d 2c 0a 0a 20 20 20 20 20 ber">6</span>;.........},.......
53ba0 20 20 20 3c 73 70 61 6e 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">//.
53bc0 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 65 73 No.else.is.required.if.the.types
53be0 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 64 3c .cases.was.exhaustively.handled<
53c00 2f 73 70 61 6e 3e 0a 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 /span>.........Item.d.=&gt;.<spa
53c20 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 38 3c 2f 73 70 61 6e 3e 2c 0a 20 n.class="tok-number">8</span>,..
53c40 20 20 20 7d 3b 0a 0a 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e ...};......<span.class="tok-kw">
53c60 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
53c80 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 62 29 3b 0a 20 20 ss="tok-number">6</span>,.b);...
53ca0 20 20 3c 73 70 61 6e 20 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
53cc0 3e 20 65 78 70 65 63 74 45 71 75 61 6c 28 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e >.expectEqual(<span.class="tok-n
53ce0 75 6d 62 65 72 22 3e 32 3c 2f 73 70 61 6e 3e 2c 20 61 2e 63 2e 78 29 3b 0a 7d 3c 2f 63 6f 64 65 umber">2</span>,.a.c.x);.}</code
53d00 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
53d20 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
53d40 63 61 70 74 69 6f 6e 3e 3c 70 72 65 3e 3c 73 61 6d 70 3e 24 20 3c 6b 62 64 3e 7a 69 67 20 74 65 caption><pre><samp>$.<kbd>zig.te
53d60 73 74 20 74 65 73 74 5f 73 77 69 74 63 68 5f 74 61 67 67 65 64 5f 75 6e 69 6f 6e 2e 7a 69 67 3c st.test_switch_tagged_union.zig<
53d80 2f 6b 62 64 3e 0a 31 2f 31 20 74 65 73 74 5f 73 77 69 74 63 68 5f 74 61 67 67 65 64 5f 75 6e 69 /kbd>.1/1.test_switch_tagged_uni
53da0 6f 6e 2e 74 65 73 74 2e 73 77 69 74 63 68 20 6f 6e 20 74 61 67 67 65 64 20 75 6e 69 6f 6e 2e 2e on.test.switch.on.tagged.union..
53dc0 2e 4f 4b 0a 41 6c 6c 20 31 20 74 65 73 74 73 20 70 61 73 73 65 64 2e 0a 3c 2f 73 61 6d 70 3e 3c .OK.All.1.tests.passed..</samp><
53de0 2f 70 72 65 3e 3c 2f 66 69 67 75 72 65 3e 0a 0a 20 20 20 20 20 20 3c 70 3e 53 65 65 20 61 6c 73 /pre></figure>........<p>See.als
53e00 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
53e20 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
53e40 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
53e60 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
53e80 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-
53ea0 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>
53ec0 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
53ee0 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
53f00 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
53f20 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
53f40 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
53f60 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>......
53f80 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 74 6f 6b 2d 6b .When.a.<code><span.class="tok-k
53fa0 77 22 3e 73 77 69 74 63 68 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 20 65 78 70 72 65 73 73 69 w">switch</span></code>.expressi
53fc0 6f 6e 20 64 6f 65 73 20 6e 6f 74 20 68 61 76 65 20 61 6e 20 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 on.does.not.have.an.<code><span.
53fe0 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 63 6f 64 65 class="tok-kw">else</span></code
54000 3e 20 63 6c 61 75 73 65 2c 0a 20 20 20 20 20 20 69 74 20 6d 75 73 74 20 65 78 68 61 75 73 74 69 >.clause,.......it.must.exhausti
54020 76 65 6c 79 20 6c 69 73 74 20 61 6c 6c 20 74 68 65 20 70 6f 73 73 69 62 6c 65 20 76 61 6c 75 65 vely.list.all.the.possible.value
54040 73 2e 20 46 61 69 6c 75 72 65 20 74 6f 20 64 6f 20 73 6f 20 69 73 20 61 20 63 6f 6d 70 69 6c 65 s..Failure.to.do.so.is.a.compile
54060 20 65 72 72 6f 72 3a 0a 20 20 20 20 20 20 3c 2f 70 3e 0a 20 20 20 20 20 20 3c 66 69 67 75 72 65 .error:.......</p>.......<figure
54080 3e 3c 66 69 67 63 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
540a0 74 65 20 63 6c 61 73 73 3d 22 66 69 6c 65 22 3e 74 65 73 74 5f 75 6e 68 61 6e 64 6c 65 64 5f 65 te.class="file">test_unhandled_e
540c0 6e 75 6d 65 72 61 74 69 6f 6e 5f 76 61 6c 75 65 2e 7a 69 67 3c 2f 63 69 74 65 3e 3c 2f 66 69 67 numeration_value.zig</cite></fig
540e0 63 61 70 74 69 6f 6e 3e 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="
54100 74 6f 6b 2d 6b 77 22 3e 63 6f 6e 73 74 3c 2f 73 70 61 6e 3e 20 43 6f 6c 6f 72 20 3d 20 3c 73 70 tok-kw">const</span>.Color.=.<sp
54120 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 65 6e 75 6d 3c 2f 73 70 61 6e 3e 20 7b 0a an.class="tok-kw">enum</span>.{.
54140 20 20 20 20 61 75 74 6f 2c 0a 20 20 20 20 6f 66 66 2c 0a 20 20 20 20 6f 6e 2c 0a 7d 3b 0a 0a 3c ....auto,.....off,.....on,.};..<
54160 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>.
54180 3c 73 70 61 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 68 61 <span.class="tok-str">&quot;exha
541a0 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 70 61 6e 3e 20 7b 0a ustive.switching&quot;</span>.{.
541c0 20 20 20 20 3c 73 70 61 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</
541e0 73 70 61 6e 3e 20 63 6f 6c 6f 72 20 3d 20 43 6f 6c 6f 72 2e 6f 66 66 3b 0a 20 20 20 20 3c 73 70 span>.color.=.Color.off;.....<sp
54200 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>.
54220 28 63 6f 6c 6f 72 29 20 7b 0a 20 20 20 20 20 20 20 20 43 6f 6c 6f 72 2e 61 75 74 6f 20 3d 26 67 (color).{.........Color.auto.=&g
54240 74 3b 20 7b 7d 2c 0a 20 20 20 20 20 20 20 20 43 6f 6c 6f 72 2e 6f 6e 20 3d 26 67 74 3b 20 7b 7d t;.{},.........Color.on.=&gt;.{}
54260 2c 0a 20 20 20 20 7d 0a 7d 3c 2f 63 6f 64 65 3e 3c 2f 70 72 65 3e 3c 2f 66 69 67 75 72 65 3e 3c ,.....}.}</code></pre></figure><
54280 66 69 67 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-
542a0 63 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
542c0 70 3e 24 20 3c 6b 62 64 3e 7a 69 67 20 74 65 73 74 20 74 65 73 74 5f 75 6e 68 61 6e 64 6c 65 64 p>$.<kbd>zig.test.test_unhandled
542e0 5f 65 6e 75 6d 65 72 61 74 69 6f 6e 5f 76 61 6c 75 65 2e 7a 69 67 3c 2f 6b 62 64 3e 0a 3c 73 70 _enumeration_value.zig</kbd>.<sp
54300 61 6e 20 63 6c 61 73 73 3d 22 73 67 72 2d 31 6d 22 3e 2f 68 6f 6d 65 2f 63 69 2f 77 6f 72 6b 2f an.class="sgr-1m">/home/ci/work/
54320 7a 69 67 2d 62 6f 6f 74 73 74 72 61 70 2f 7a 69 67 2f 64 6f 63 2f 6c 61 6e 67 72 65 66 2f 74 65 zig-bootstrap/zig/doc/langref/te
54340 73 74 5f 75 6e 68 61 6e 64 6c 65 64 5f 65 6e 75 6d 65 72 61 74 69 6f 6e 5f 76 61 6c 75 65 2e 7a st_unhandled_enumeration_value.z
54360 69 67 3a 39 3a 35 3a 20 3c 2f 73 70 61 6e 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 73 67 72 2d ig:9:5:.</span><span.class="sgr-
54380 33 31 6d 22 3e 65 72 72 6f 72 3a 20 3c 2f 73 70 61 6e 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 31m">error:.</span><span.class="
543a0 73 67 72 2d 31 6d 22 3e 73 77 69 74 63 68 20 6d 75 73 74 20 68 61 6e 64 6c 65 20 61 6c 6c 20 70 sgr-1m">switch.must.handle.all.p
543c0 6f 73 73 69 62 69 6c 69 74 69 65 73 0a 3c 2f 73 70 61 6e 3e 20 20 20 20 73 77 69 74 63 68 20 28 ossibilities.</span>....switch.(
543e0 63 6f 6c 6f 72 29 20 7b 0a 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 73 67 72 2d 33 32 color).{.....<span.class="sgr-32
54400 6d 22 3e 5e 7e 7e 7e 7e 7e 0a 3c 2f 73 70 61 6e 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 73 67 m">^~~~~~.</span><span.class="sg
54420 72 2d 31 6d 22 3e 2f 68 6f 6d 65 2f 63 69 2f 77 6f 72 6b 2f 7a 69 67 2d 62 6f 6f 74 73 74 72 61 r-1m">/home/ci/work/zig-bootstra
54440 70 2f 7a 69 67 2f 64 6f 63 2f 6c 61 6e 67 72 65 66 2f 74 65 73 74 5f 75 6e 68 61 6e 64 6c 65 64 p/zig/doc/langref/test_unhandled
54460 5f 65 6e 75 6d 65 72 61 74 69 6f 6e 5f 76 61 6c 75 65 2e 7a 69 67 3a 33 3a 35 3a 20 3c 2f 73 70 _enumeration_value.zig:3:5:.</sp
54480 61 6e 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 73 67 72 2d 33 36 6d 22 3e 6e 6f 74 65 3a 20 3c an><span.class="sgr-36m">note:.<
544a0 2f 73 70 61 6e 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 73 67 72 2d 31 6d 22 3e 75 6e 68 61 6e /span><span.class="sgr-1m">unhan
544c0 64 6c 65 64 20 65 6e 75 6d 65 72 61 74 69 6f 6e 20 76 61 6c 75 65 3a 20 27 6f 66 66 27 0a 3c 2f dled.enumeration.value:.'off'.</
544e0 73 70 61 6e 3e 20 20 20 20 6f 66 66 2c 0a 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 73 span>....off,.....<span.class="s
54500 67 72 2d 33 32 6d 22 3e 5e 7e 7e 0a 3c 2f 73 70 61 6e 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 gr-32m">^~~.</span><span.class="
54520 73 67 72 2d 31 6d 22 3e 2f 68 6f 6d 65 2f 63 69 2f 77 6f 72 6b 2f 7a 69 67 2d 62 6f 6f 74 73 74 sgr-1m">/home/ci/work/zig-bootst
54540 72 61 70 2f 7a 69 67 2f 64 6f 63 2f 6c 61 6e 67 72 65 66 2f 74 65 73 74 5f 75 6e 68 61 6e 64 6c rap/zig/doc/langref/test_unhandl
54560 65 64 5f 65 6e 75 6d 65 72 61 74 69 6f 6e 5f 76 61 6c 75 65 2e 7a 69 67 3a 31 3a 31 35 3a 20 3c ed_enumeration_value.zig:1:15:.<
54580 2f 73 70 61 6e 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 73 67 72 2d 33 36 6d 22 3e 6e 6f 74 65 /span><span.class="sgr-36m">note
545a0 3a 20 3c 2f 73 70 61 6e 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 73 67 72 2d 31 6d 22 3e 65 6e :.</span><span.class="sgr-1m">en
545c0 75 6d 20 27 74 65 73 74 5f 75 6e 68 61 6e 64 6c 65 64 5f 65 6e 75 6d 65 72 61 74 69 6f 6e 5f 76 um.'test_unhandled_enumeration_v
545e0 61 6c 75 65 2e 43 6f 6c 6f 72 27 20 64 65 63 6c 61 72 65 64 20 68 65 72 65 0a 3c 2f 73 70 61 6e alue.Color'.declared.here.</span
54600 3e 63 6f 6e 73 74 20 43 6f 6c 6f 72 20 3d 20 65 6e 75 6d 20 7b 0a 20 20 20 20 20 20 20 20 20 20 >const.Color.=.enum.{...........
54620 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 73 67 72 2d 33 32 6d 22 3e 5e 7e 7e 7e 0a 3c ....<span.class="sgr-32m">^~~~.<
54640 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 0a 20 /span>.</samp></pre></figure>...
54660 20 20 20 20 20 0a 0a 20 20 20 20 20 20 3c 68 33 20 69 64 3d 22 53 77 69 74 63 68 69 6e 67 2d 77 .............<h3.id="Switching-w
54680 69 74 68 2d 45 6e 75 6d 2d 4c 69 74 65 72 61 6c 73 22 3e 3c 61 20 68 72 65 66 3d 22 6e 61 76 2e ith-Enum-Literals"><a.href="nav.
546a0 78 68 74 6d 6c 23 74 6f 63 2d 53 77 69 74 63 68 69 6e 67 2d 77 69 74 68 2d 45 6e 75 6d 2d 4c 69 xhtml#toc-Switching-with-Enum-Li
546c0 74 65 72 61 6c 73 22 3e 53 77 69 74 63 68 69 6e 67 20 77 69 74 68 20 45 6e 75 6d 20 4c 69 74 65 terals">Switching.with.Enum.Lite
546e0 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 53 rals</a>.<a.class="hdr".href="#S
54700 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 c2 a7 3c witching-with-Enum-Literals">..<
54720 2f 61 3e 3c 2f 68 33 3e 0a 0a 20 20 20 20 20 20 3c 70 3e 0a 20 20 20 20 20 20 3c 61 20 68 72 65 /a></h3>........<p>.......<a.hre
54740 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
54760 3c 2f 61 3e 20 63 61 6e 20 62 65 20 75 73 65 66 75 6c 20 74 6f 20 75 73 65 20 77 69 74 68 20 3c </a>.can.be.useful.to.use.with.<
54780 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 73 77 69 74 63 68 code><span.class="tok-kw">switch
547a0 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 20 74 6f 20 61 76 6f 69 64 0a 20 20 20 20 20 20 72 65 </span></code>.to.avoid.......re
547c0 70 65 74 69 74 69 76 65 6c 79 20 73 70 65 63 69 66 79 69 6e 67 20 3c 61 20 68 72 65 66 3d 22 23 petitively.specifying.<a.href="#
547e0 65 6e 75 6d 22 3e 65 6e 75 6d 3c 2f 61 3e 20 6f 72 20 3c 61 20 68 72 65 66 3d 22 23 75 6e 69 6f enum">enum</a>.or.<a.href="#unio
54800 6e 22 3e 75 6e 69 6f 6e 3c 2f 61 3e 20 74 79 70 65 73 3a 0a 20 20 20 20 20 20 3c 2f 70 3e 0a 20 n">union</a>.types:.......</p>..
54820 20 20 20 20 20 3c 66 69 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="
54840 7a 69 67 2d 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
54860 5f 65 78 68 61 75 73 74 69 76 65 5f 73 77 69 74 63 68 2e 7a 69 67 3c 2f 63 69 74 65 3e 3c 2f 66 _exhaustive_switch.zig</cite></f
54880 69 67 63 61 70 74 69 6f 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
548a0 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
548c0 61 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</
548e0 73 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
54900 74 3b 73 74 64 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 29 3b 0a 3c 73 70 61 6e 20 63 6c 61 73 73 t;std&quot;</span>);.<span.class
54920 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.=.
54940 73 74 64 2e 74 65 73 74 69 6e 67 2e 65 78 70 65 63 74 3b 0a 0a 3c 73 70 61 6e 20 63 6c 61 73 73 std.testing.expect;..<span.class
54960 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.=.<
54980 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>.
549a0 7b 0a 20 20 20 20 61 75 74 6f 2c 0a 20 20 20 20 6f 66 66 2c 0a 20 20 20 20 6f 6e 2c 0a 7d 3b 0a {.....auto,.....off,.....on,.};.
549c0 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 74 65 73 74 3c 2f 73 70 61 6e .<span.class="tok-kw">test</span
549e0 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
54a00 75 6d 20 6c 69 74 65 72 61 6c 73 20 77 69 74 68 20 73 77 69 74 63 68 26 71 75 6f 74 3b 3c 2f 73 um.literals.with.switch&quot;</s
54a20 70 61 6e 3e 20 7b 0a 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e pan>.{.....<span.class="tok-kw">
54a40 63 6f 6e 73 74 3c 2f 73 70 61 6e 3e 20 63 6f 6c 6f 72 20 3d 20 43 6f 6c 6f 72 2e 6f 66 66 3b 0a const</span>.color.=.Color.off;.
54a60 20 20 20 20 3c 73 70 61 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</
54a80 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-
54aa0 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 0a 20 20 20 20 kw">switch</span>.(color).{.....
54ac0 20 20 20 20 2e 61 75 74 6f 20 3d 26 67 74 3b 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b .....auto.=&gt;.<span.class="tok
54ae0 2d 6e 75 6c 6c 22 3e 66 61 6c 73 65 3c 2f 73 70 61 6e 3e 2c 0a 20 20 20 20 20 20 20 20 2e 6f 6e -null">false</span>,..........on
54b00 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 66 61 .=&gt;.<span.class="tok-null">fa
54b20 6c 73 65 3c 2f 73 70 61 6e 3e 2c 0a 20 20 20 20 20 20 20 20 2e 6f 66 66 20 3d 26 67 74 3b 20 3c lse</span>,..........off.=&gt;.<
54b40 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
54b60 3e 2c 0a 20 20 20 20 7d 3b 0a 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b >,.....};.....<span.class="tok-k
54b80 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 0a 7d 3c w">try</span>.expect(result);.}<
54ba0 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
54bc0 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
54be0 3c 2f 66 69 67 63 61 70 74 69 6f 6e 3e 3c 70 72 65 3e 3c 73 61 6d 70 3e 24 20 3c 6b 62 64 3e 7a </figcaption><pre><samp>$.<kbd>z
54c00 69 67 20 74 65 73 74 20 74 65 73 74 5f 65 78 68 61 75 73 74 69 76 65 5f 73 77 69 74 63 68 2e 7a ig.test.test_exhaustive_switch.z
54c20 69 67 3c 2f 6b 62 64 3e 0a 31 2f 31 20 74 65 73 74 5f 65 78 68 61 75 73 74 69 76 65 5f 73 77 69 ig</kbd>.1/1.test_exhaustive_swi
54c40 74 63 68 2e 74 65 73 74 2e 65 6e 75 6d 20 6c 69 74 65 72 61 6c 73 20 77 69 74 68 20 73 77 69 74 tch.test.enum.literals.with.swit
54c60 63 68 2e 2e 2e 4f 4b 0a 41 6c 6c 20 31 20 74 65 73 74 73 20 70 61 73 73 65 64 2e 0a 3c 2f 73 61 ch...OK.All.1.tests.passed..</sa
54c80 6d 70 3e 3c 2f 70 72 65 3e 3c 2f 66 69 67 75 72 65 3e 0a 0a 20 20 20 20 20 20 0a 0a 20 20 20 20 mp></pre></figure>..............
54ca0 20 20 3c 68 33 20 69 64 3d 22 53 77 69 74 63 68 69 6e 67 2d 6f 6e 2d 45 72 72 6f 72 73 22 3e 3c ..<h3.id="Switching-on-Errors"><
54cc0 61 20 68 72 65 66 3d 22 6e 61 76 2e 78 68 74 6d 6c 23 74 6f 63 2d 53 77 69 74 63 68 69 6e 67 2d a.href="nav.xhtml#toc-Switching-
54ce0 6f 6e 2d 45 72 72 6f 72 73 22 3e 53 77 69 74 63 68 69 6e 67 20 6f 6e 20 45 72 72 6f 72 73 3c 2f on-Errors">Switching.on.Errors</
54d00 61 3e 20 3c 61 20 63 6c 61 73 73 3d 22 68 64 72 22 20 68 72 65 66 3d 22 23 53 77 69 74 63 68 69 a>.<a.class="hdr".href="#Switchi
54d20 6e 67 2d 6f 6e 2d 45 72 72 6f 72 73 22 3e c2 a7 3c 2f 61 3e 3c 2f 68 33 3e 0a 0a 20 20 20 20 20 ng-on-Errors">..</a></h3>.......
54d40 20 3c 70 3e 0a 20 20 20 20 20 20 57 68 65 6e 20 73 77 69 74 63 68 69 6e 67 20 6f 6e 20 65 72 72 .<p>.......When.switching.on.err
54d60 6f 72 73 2c 20 73 6f 6d 65 20 73 70 65 63 69 61 6c 20 63 61 73 65 73 20 61 72 65 20 61 6c 6c 6f ors,.some.special.cases.are.allo
54d80 77 65 64 20 74 6f 20 73 69 6d 70 6c 69 66 79 20 67 65 6e 65 72 69 63 20 70 72 6f 67 72 61 6d 6d wed.to.simplify.generic.programm
54da0 69 6e 67 20 70 61 74 74 65 72 6e 73 3a 0a 20 20 20 20 20 20 3c 2f 70 3e 0a 20 20 20 20 20 20 3c ing.patterns:.......</p>.......<
54dc0 66 69 67 75 72 65 3e 3c 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
54de0 70 22 3e 3c 63 69 74 65 20 63 6c 61 73 73 3d 22 66 69 6c 65 22 3e 74 65 73 74 5f 73 77 69 74 63 p"><cite.class="file">test_switc
54e00 68 5f 6f 6e 5f 65 72 72 6f 72 73 2e 7a 69 67 3c 2f 63 69 74 65 3e 3c 2f 66 69 67 63 61 70 74 69 h_on_errors.zig</cite></figcapti
54e20 6f 6e 3e 3c 70 72 65 3e 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b on><pre><code><span.class="tok-k
54e40 77 22 3e 63 6f 6e 73 74 3c 2f 73 70 61 6e 3e 20 46 69 6c 65 4f 70 65 6e 45 72 72 6f 72 30 20 3d w">const</span>.FileOpenError0.=
54e60 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
54e80 6e 3e 7b 0a 20 20 20 20 41 63 63 65 73 73 44 65 6e 69 65 64 2c 0a 20 20 20 20 4f 75 74 4f 66 4d n>{.....AccessDenied,.....OutOfM
54ea0 65 6d 6f 72 79 2c 0a 20 20 20 20 46 69 6c 65 4e 6f 74 46 6f 75 6e 64 2c 0a 7d 3b 0a 0a 3c 73 70 emory,.....FileNotFound,.};..<sp
54ec0 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
54ee0 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 66 6e 22 3e 6f 70 65 6e 46 69 6c 65 30 3c 2f 73 70 61 6e n.class="tok-fn">openFile0</span
54f00 3e 28 29 20 46 69 6c 65 4f 70 65 6e 45 72 72 6f 72 30 20 7b 0a 20 20 20 20 3c 73 70 61 6e 20 63 >().FileOpenError0.{.....<span.c
54f20 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
54f40 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 65 72 72 6f 72 3c 2f 73 70 61 6e 3e 2e 4f 75 n.class="tok-kw">error</span>.Ou
54f60 74 4f 66 4d 65 6d 6f 72 79 3b 0a 7d 0a 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b tOfMemory;.}..<span.class="tok-k
54f80 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-
54fa0 73 74 72 22 3e 26 71 75 6f 74 3b 75 6e 72 65 61 63 68 61 62 6c 65 20 65 6c 73 65 20 70 72 6f 6e str">&quot;unreachable.else.pron
54fc0 67 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 20 7b 0a 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 g&quot;</span>.{.....<span.class
54fe0 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 6f 70 65 6e 46 69 6c ="tok-kw">switch</span>.(openFil
55000 65 30 28 29 29 20 7b 0a 20 20 20 20 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b e0()).{.........<span.class="tok
55020 2d 6b 77 22 3e 65 72 72 6f 72 3c 2f 73 70 61 6e 3e 2e 41 63 63 65 73 73 44 65 6e 69 65 64 2c 20 -kw">error</span>.AccessDenied,.
55040 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
55060 3e 2e 46 69 6c 65 4e 6f 74 46 6f 75 6e 64 20 3d 26 67 74 3b 20 7c 65 7c 20 3c 73 70 61 6e 20 63 >.FileNotFound.=&gt;.|e|.<span.c
55080 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 72 65 74 75 72 6e 3c 2f 73 70 61 6e 3e 20 65 2c 0a 20 lass="tok-kw">return</span>.e,..
550a0 20 20 20 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 65 72 72 6f .......<span.class="tok-kw">erro
550c0 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 7b 7d 2c 0a 20 r</span>.OutOfMemory.=&gt;.{},..
550e0 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"
55100 3e 2f 2f 20 27 6f 70 65 6e 46 69 6c 65 30 27 20 63 61 6e 6e 6f 74 20 72 65 74 75 72 6e 20 61 6e >//.'openFile0'.cannot.return.an
55120 79 20 6d 6f 72 65 20 65 72 72 6f 72 73 2c 20 73 6f 20 61 6e 20 27 65 6c 73 65 27 20 70 72 6f 6e y.more.errors,.so.an.'else'.pron
55140 67 20 77 6f 75 6c 64 20 62 65 3c 2f 73 70 61 6e 3e 0a 20 20 20 20 20 20 20 20 3c 73 70 61 6e 20 g.would.be</span>.........<span.
55160 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 61 74 69 63 61 6c 6c class="tok-comment">//.staticall
55180 79 20 6b 6e 6f 77 6e 20 74 6f 20 62 65 20 75 6e 72 65 61 63 68 61 62 6c 65 2e 20 4e 6f 6e 65 74 y.known.to.be.unreachable..Nonet
551a0 68 65 6c 65 73 73 2c 20 69 6e 20 74 68 69 73 20 63 61 73 65 2c 20 61 64 64 69 6e 67 3c 2f 73 70 heless,.in.this.case,.adding</sp
551c0 61 6e 3e 0a 20 20 20 20 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 63 6f 6d an>.........<span.class="tok-com
551e0 6d 65 6e 74 22 3e 2f 2f 20 6f 6e 65 20 64 6f 65 73 20 6e 6f 74 20 72 61 69 73 65 20 61 6e 20 26 ment">//.one.does.not.raise.an.&
55200 71 75 6f 74 3b 75 6e 72 65 61 63 68 61 62 6c 65 20 65 6c 73 65 20 70 72 6f 6e 67 26 71 75 6f 74 quot;unreachable.else.prong&quot
55220 3b 20 63 6f 6d 70 69 6c 65 20 65 72 72 6f 72 3a 3c 2f 73 70 61 6e 3e 0a 20 20 20 20 20 20 20 20 ;.compile.error:</span>.........
55240 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>
55260 20 3d 26 67 74 3b 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 75 6e 72 65 .=&gt;.<span.class="tok-kw">unre
55280 61 63 68 61 62 6c 65 3c 2f 73 70 61 6e 3e 2c 0a 20 20 20 20 7d 0a 0a 20 20 20 20 3c 73 70 61 6e achable</span>,.....}......<span
552a0 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 63 6f 6d 6d 65 6e 74 22 3e 2f 2f 20 41 6c 6c 6f 77 65 64 20 .class="tok-comment">//.Allowed.
552c0 75 6e 72 65 61 63 68 61 62 6c 65 20 65 6c 73 65 20 70 72 6f 6e 67 73 20 61 72 65 3a 3c 2f 73 70 unreachable.else.prongs.are:</sp
552e0 61 6e 3e 0a 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 63 6f 6d 6d 65 6e 74 an>.....<span.class="tok-comment
55300 22 3e 2f 2f 20 20 20 20 60 65 6c 73 65 20 3d 26 67 74 3b 20 75 6e 72 65 61 63 68 61 62 6c 65 2c ">//....`else.=&gt;.unreachable,
55320 60 3c 2f 73 70 61 6e 3e 0a 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 63 6f `</span>.....<span.class="tok-co
55340 6d 6d 65 6e 74 22 3e 2f 2f 20 20 20 20 60 65 6c 73 65 20 3d 26 67 74 3b 20 72 65 74 75 72 6e 2c mment">//....`else.=&gt;.return,
55360 60 3c 2f 73 70 61 6e 3e 0a 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 63 6f `</span>.....<span.class="tok-co
55380 6d 6d 65 6e 74 22 3e 2f 2f 20 20 20 20 60 65 6c 73 65 20 3d 26 67 74 3b 20 7c 65 7c 20 72 65 74 mment">//....`else.=&gt;.|e|.ret
553a0 75 72 6e 20 65 2c 60 20 28 77 68 65 72 65 20 60 65 60 20 69 73 20 61 6e 79 20 69 64 65 6e 74 69 urn.e,`.(where.`e`.is.any.identi
553c0 66 69 65 72 29 3c 2f 73 70 61 6e 3e 0a 7d 0a 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b fier)</span>.}..<span.class="tok
553e0 2d 6b 77 22 3e 63 6f 6e 73 74 3c 2f 73 70 61 6e 3e 20 46 69 6c 65 4f 70 65 6e 45 72 72 6f 72 31 -kw">const</span>.FileOpenError1
55400 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
55420 70 61 6e 3e 7b 0a 20 20 20 20 41 63 63 65 73 73 44 65 6e 69 65 64 2c 0a 20 20 20 20 53 79 73 74 pan>{.....AccessDenied,.....Syst
55440 65 6d 52 65 73 6f 75 72 63 65 73 2c 0a 20 20 20 20 46 69 6c 65 4e 6f 74 46 6f 75 6e 64 2c 0a 7d emResources,.....FileNotFound,.}
55460 3b 0a 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 66 6e 3c 2f 73 70 61 6e ;..<span.class="tok-kw">fn</span
55480 3e 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 66 6e 22 3e 6f 70 65 6e 46 69 6c 65 31 >.<span.class="tok-fn">openFile1
554a0 3c 2f 73 70 61 6e 3e 28 29 20 46 69 6c 65 4f 70 65 6e 45 72 72 6f 72 31 20 7b 0a 20 20 20 20 3c </span>().FileOpenError1.{.....<
554c0 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
554e0 3e 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 65 72 72 6f 72 3c 2f 73 70 >.<span.class="tok-kw">error</sp
55500 61 6e 3e 2e 53 79 73 74 65 6d 52 65 73 6f 75 72 63 65 73 3b 0a 7d 0a 0a 3c 73 70 61 6e 20 63 6c an>.SystemResources;.}..<span.cl
55520 61 73 73 3d 22 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
55540 73 73 3d 22 74 6f 6b 2d 66 6e 22 3e 6f 70 65 6e 46 69 6c 65 47 65 6e 65 72 69 63 3c 2f 73 70 61 ss="tok-fn">openFileGeneric</spa
55560 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
55580 3c 2f 73 70 61 6e 3e 20 6b 69 6e 64 3a 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 </span>.kind:.<span.class="tok-t
555a0 79 70 65 22 3e 75 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 ype">u1</span>).<span.class="tok
555c0 2d 6b 77 22 3e 73 77 69 74 63 68 3c 2f 73 70 61 6e 3e 20 28 6b 69 6e 64 29 20 7b 0a 20 20 20 20 -kw">switch</span>.(kind).{.....
555e0 3c 73 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
55600 3e 20 3d 26 67 74 3b 20 46 69 6c 65 4f 70 65 6e 45 72 72 6f 72 30 2c 0a 20 20 20 20 3c 73 70 61 >.=&gt;.FileOpenError0,.....<spa
55620 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 26 n.class="tok-number">1</span>.=&
55640 67 74 3b 20 46 69 6c 65 4f 70 65 6e 45 72 72 6f 72 31 2c 0a 7d 20 7b 0a 20 20 20 20 3c 73 70 61 gt;.FileOpenError1,.}.{.....<spa
55660 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>.<
55680 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
556a0 3e 20 28 6b 69 6e 64 29 20 7b 0a 20 20 20 20 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 >.(kind).{.........<span.class="
556c0 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 30 3c 2f 73 70 61 6e 3e 20 3d 26 67 74 3b 20 6f 70 65 6e 46 tok-number">0</span>.=&gt;.openF
556e0 69 6c 65 30 28 29 2c 0a 20 20 20 20 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b ile0(),.........<span.class="tok
55700 2d 6e 75 6d 62 65 72 22 3e 31 3c 2f 73 70 61 6e 3e 20 3d 26 67 74 3b 20 6f 70 65 6e 46 69 6c 65 -number">1</span>.=&gt;.openFile
55720 31 28 29 2c 0a 20 20 20 20 7d 3b 0a 7d 0a 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 1(),.....};.}..<span.class="tok-
55740 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
55760 2d 73 74 72 22 3e 26 71 75 6f 74 3b 63 6f 6d 70 74 69 6d 65 20 75 6e 72 65 61 63 68 61 62 6c 65 -str">&quot;comptime.unreachable
55780 20 65 72 72 6f 72 73 20 6e 6f 74 20 69 6e 20 65 72 72 6f 72 20 73 65 74 26 71 75 6f 74 3b 3c 2f .errors.not.in.error.set&quot;</
557a0 73 70 61 6e 3e 20 7b 0a 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 span>.{.....<span.class="tok-kw"
557c0 3e 73 77 69 74 63 68 3c 2f 73 70 61 6e 3e 20 28 6f 70 65 6e 46 69 6c 65 47 65 6e 65 72 69 63 28 >switch</span>.(openFileGeneric(
557e0 3c 73 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
55800 3e 29 29 20 7b 0a 20 20 20 20 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b >)).{.........<span.class="tok-k
55820 77 22 3e 65 72 72 6f 72 3c 2f 73 70 61 6e 3e 2e 41 63 63 65 73 73 44 65 6e 69 65 64 2c 20 3c 73 w">error</span>.AccessDenied,.<s
55840 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>.
55860 46 69 6c 65 4e 6f 74 46 6f 75 6e 64 20 3d 26 67 74 3b 20 7c 65 7c 20 3c 73 70 61 6e 20 63 6c 61 FileNotFound.=&gt;.|e|.<span.cla
55880 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 72 65 74 75 72 6e 3c 2f 73 70 61 6e 3e 20 65 2c 0a 20 20 20 ss="tok-kw">return</span>.e,....
558a0 20 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 65 72 72 6f 72 3c .....<span.class="tok-kw">error<
558c0 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 70 61 6e 20 63 /span>.OutOfMemory.=&gt;.<span.c
558e0 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
55900 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 75 6e 72 65 61 63 68 61 62 6c 65 3c 2f pan.class="tok-kw">unreachable</
55920 73 70 61 6e 3e 2c 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 63 6f 6d 6d 65 6e 74 22 span>,.<span.class="tok-comment"
55940 3e 2f 2f 20 6e 6f 74 20 69 6e 20 60 46 69 6c 65 4f 70 65 6e 45 72 72 6f 72 31 60 21 3c 2f 73 70 >//.not.in.`FileOpenError1`!</sp
55960 61 6e 3e 0a 20 20 20 20 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 an>.........<span.class="tok-kw"
55980 3e 65 72 72 6f 72 3c 2f 73 70 61 6e 3e 2e 53 79 73 74 65 6d 52 65 73 6f 75 72 63 65 73 20 3d 26 >error</span>.SystemResources.=&
559a0 67 74 3b 20 7b 7d 2c 0a 20 20 20 20 7d 0a 7d 3c 2f 63 6f 64 65 3e 3c 2f 70 72 65 3e 3c 2f 66 69 gt;.{},.....}.}</code></pre></fi
559c0 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="
559e0 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
55a00 65 3e 3c 73 61 6d 70 3e 24 20 3c 6b 62 64 3e 7a 69 67 20 74 65 73 74 20 74 65 73 74 5f 73 77 69 e><samp>$.<kbd>zig.test.test_swi
55a20 74 63 68 5f 6f 6e 5f 65 72 72 6f 72 73 2e 7a 69 67 3c 2f 6b 62 64 3e 0a 31 2f 32 20 74 65 73 74 tch_on_errors.zig</kbd>.1/2.test
55a40 5f 73 77 69 74 63 68 5f 6f 6e 5f 65 72 72 6f 72 73 2e 74 65 73 74 2e 75 6e 72 65 61 63 68 61 62 _switch_on_errors.test.unreachab
55a60 6c 65 20 65 6c 73 65 20 70 72 6f 6e 67 2e 2e 2e 4f 4b 0a 32 2f 32 20 74 65 73 74 5f 73 77 69 74 le.else.prong...OK.2/2.test_swit
55a80 63 68 5f 6f 6e 5f 65 72 72 6f 72 73 2e 74 65 73 74 2e 63 6f 6d 70 74 69 6d 65 20 75 6e 72 65 61 ch_on_errors.test.comptime.unrea
55aa0 63 68 61 62 6c 65 20 65 72 72 6f 72 73 20 6e 6f 74 20 69 6e 20 65 72 72 6f 72 20 73 65 74 2e 2e chable.errors.not.in.error.set..
55ac0 2e 4f 4b 0a 41 6c 6c 20 32 20 74 65 73 74 73 20 70 61 73 73 65 64 2e 0a 3c 2f 73 61 6d 70 3e 3c .OK.All.2.tests.passed..</samp><
55ae0 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
55b00 20 69 64 3d 22 4c 61 62 65 6c 65 64 2d 73 77 69 74 63 68 22 3e 3c 61 20 68 72 65 66 3d 22 6e 61 .id="Labeled-switch"><a.href="na
55b20 76 2e 78 68 74 6d 6c 23 74 6f 63 2d 4c 61 62 65 6c 65 64 2d 73 77 69 74 63 68 22 3e 4c 61 62 65 v.xhtml#toc-Labeled-switch">Labe
55b40 6c 65 64 20 73 77 69 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 led.switch</a>.<a.class="hdr".hr
55b60 65 66 3d 22 23 4c 61 62 65 6c 65 64 2d 73 77 69 74 63 68 22 3e c2 a7 3c 2f 61 3e 3c 2f 68 33 3e ef="#Labeled-switch">..</a></h3>
55b80 0a 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 77 69 74 63 68 20 ........<p>.......When.a.switch.
55ba0 73 74 61 74 65 6d 65 6e 74 20 69 73 20 6c 61 62 65 6c 65 64 2c 20 69 74 20 63 61 6e 20 62 65 20 statement.is.labeled,.it.can.be.
55bc0 72 65 66 65 72 65 6e 63 65 64 20 66 72 6f 6d 20 61 0a 20 20 20 20 20 20 3c 63 6f 64 65 3e 3c 73 referenced.from.a.......<code><s
55be0 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 62 72 65 61 6b 3c 2f 73 70 61 6e 3e 3c pan.class="tok-kw">break</span><
55c00 2f 63 6f 64 65 3e 20 6f 72 20 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b /code>.or.<code><span.class="tok
55c20 2d 6b 77 22 3e 63 6f 6e 74 69 6e 75 65 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 2e 0a 20 20 20 -kw">continue</span></code>.....
55c40 20 20 20 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 62 72 ...<code><span.class="tok-kw">br
55c60 65 61 6b 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 20 77 69 6c 6c 20 72 65 74 75 72 6e 20 61 20 eak</span></code>.will.return.a.
55c80 76 61 6c 75 65 20 66 72 6f 6d 20 74 68 65 20 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 value.from.the.<code><span.class
55ca0 3d 22 74 6f 6b 2d 6b 77 22 3e 73 77 69 74 63 68 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 2e 0a ="tok-kw">switch</span></code>..
55cc0 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
55ce0 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 63 6f 6e 74 69 6e 75 65 de><span.class="tok-kw">continue
55d00 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 20 74 61 72 67 65 74 69 6e 67 20 61 20 73 77 69 74 63 </span></code>.targeting.a.switc
55d20 68 20 6d 75 73 74 20 68 61 76 65 20 61 6e 0a 20 20 20 20 20 20 6f 70 65 72 61 6e 64 2e 20 57 68 h.must.have.an.......operand..Wh
55d40 65 6e 20 65 78 65 63 75 74 65 64 2c 20 69 74 20 77 69 6c 6c 20 6a 75 6d 70 20 74 6f 20 74 68 65 en.executed,.it.will.jump.to.the
55d60 20 6d 61 74 63 68 69 6e 67 20 70 72 6f 6e 67 2c 20 61 73 20 69 66 20 74 68 65 0a 20 20 20 20 20 .matching.prong,.as.if.the......
55d80 20 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 73 77 69 74 .<code><span.class="tok-kw">swit
55da0 63 68 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 20 77 65 72 65 20 65 78 65 63 75 74 65 64 20 61 ch</span></code>.were.executed.a
55dc0 67 61 69 6e 20 77 69 74 68 20 74 68 65 20 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d gain.with.the.<code><span.class=
55de0 22 74 6f 6b 2d 6b 77 22 3e 63 6f 6e 74 69 6e 75 65 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 27 "tok-kw">continue</span></code>'
55e00 73 20 6f 70 65 72 61 6e 64 20 72 65 70 6c 61 63 69 6e 67 20 74 68 65 20 69 6e 69 74 69 61 6c 20 s.operand.replacing.the.initial.
55e20 73 77 69 74 63 68 20 76 61 6c 75 65 2e 0a 20 20 20 20 20 20 3c 2f 70 3e 0a 0a 20 20 20 20 20 20 switch.value........</p>........
55e40 3c 66 69 67 75 72 65 3e 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
55e60 61 70 22 3e 3c 63 69 74 65 20 63 6c 61 73 73 3d 22 66 69 6c 65 22 3e 74 65 73 74 5f 73 77 69 74 ap"><cite.class="file">test_swit
55e80 63 68 5f 63 6f 6e 74 69 6e 75 65 2e 7a 69 67 3c 2f 63 69 74 65 3e 3c 2f 66 69 67 63 61 70 74 69 ch_continue.zig</cite></figcapti
55ea0 6f 6e 3e 3c 70 72 65 3e 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b on><pre><code><span.class="tok-k
55ec0 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
55ee0 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>(<
55f00 73 70 61 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
55f20 75 6f 74 3b 3c 2f 73 70 61 6e 3e 29 3b 0a 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d uot;</span>);..<span.class="tok-
55f40 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
55f60 2d 73 74 72 22 3e 26 71 75 6f 74 3b 73 77 69 74 63 68 20 63 6f 6e 74 69 6e 75 65 26 71 75 6f 74 -str">&quot;switch.continue&quot
55f80 3b 3c 2f 73 70 61 6e 3e 20 7b 0a 20 20 20 20 73 77 3a 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 ;</span>.{.....sw:.<span.class="
55fa0 74 6f 6b 2d 6b 77 22 3e 73 77 69 74 63 68 3c 2f 73 70 61 6e 3e 20 28 3c 73 70 61 6e 20 63 6c 61 tok-kw">switch</span>.(<span.cla
55fc0 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
55fe0 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>,.<
56000 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 35 3c 2f 73 70 61 6e 3e span.class="tok-number">5</span>
56020 29 29 20 7b 0a 20 20 20 20 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 )).{.........<span.class="tok-nu
56040 6d 62 65 72 22 3e 35 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">5</span>.=&gt;.<span.class
56060 3d 22 74 6f 6b 2d 6b 77 22 3e 63 6f 6e 74 69 6e 75 65 3c 2f 73 70 61 6e 3e 20 3a 73 77 20 3c 73 ="tok-kw">continue</span>.:sw.<s
56080 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>,
560a0 0a 0a 20 20 20 20 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 63 6f 6d 6d 65 ..........<span.class="tok-comme
560c0 6e 74 22 3e 2f 2f 20 60 63 6f 6e 74 69 6e 75 65 60 20 63 61 6e 20 6f 63 63 75 72 20 6d 75 6c 74 nt">//.`continue`.can.occur.mult
560e0 69 70 6c 65 20 74 69 6d 65 73 20 77 69 74 68 69 6e 20 61 20 73 69 6e 67 6c 65 20 73 77 69 74 63 iple.times.within.a.single.switc
56100 68 20 70 72 6f 6e 67 2e 3c 2f 73 70 61 6e 3e 0a 20 20 20 20 20 20 20 20 3c 73 70 61 6e 20 63 6c h.prong.</span>.........<span.cl
56120 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 2e 2e 2e 3c 73 70 61 ass="tok-number">2</span>...<spa
56140 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 3d 26 n.class="tok-number">4</span>.=&
56160 67 74 3b 20 7c 76 7c 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 gt;.|v|.{.............<span.clas
56180 73 3d 22 74 6f 6b 2d 6b 77 22 3e 69 66 3c 2f 73 70 61 6e 3e 20 28 76 20 26 67 74 3b 20 3c 73 70 s="tok-kw">if</span>.(v.&gt;.<sp
561a0 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 33 3c 2f 73 70 61 6e 3e 29 20 an.class="tok-number">3</span>).
561c0 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 {.................<span.class="t
561e0 6f 6b 2d 6b 77 22 3e 63 6f 6e 74 69 6e 75 65 3c 2f 73 70 61 6e 3e 20 3a 73 77 20 3c 73 70 61 6e ok-kw">continue</span>.:sw.<span
56200 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 32 3c 2f 73 70 61 6e 3e 3b 0a 20 20 .class="tok-number">2</span>;...
56220 20 20 20 20 20 20 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 ..........}.<span.class="tok-kw"
56240 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 6b 77 >else</span>.<span.class="tok-kw
56260 22 3e 69 66 3c 2f 73 70 61 6e 3e 20 28 76 20 3d 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 ">if</span>.(v.==.<span.class="t
56280 6f 6b 2d 6e 75 6d 62 65 72 22 3e 33 3c 2f 73 70 61 6e 3e 29 20 7b 0a 0a 20 20 20 20 20 20 20 20 ok-number">3</span>).{..........
562a0 20 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
562c0 22 3e 2f 2f 20 60 62 72 65 61 6b 60 20 63 61 6e 20 74 61 72 67 65 74 20 6c 61 62 65 6c 65 64 20 ">//.`break`.can.target.labeled.
562e0 6c 6f 6f 70 73 2e 3c 2f 73 70 61 6e 3e 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 3c 73 loops.</span>.................<s
56300 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>.
56320 3a 73 77 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 7d 0a 0a 20 20 20 20 20 20 20 20 20 20 20 20 :sw;.............}..............
56340 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 63 6f 6e 74 69 6e 75 65 3c 2f 73 <span.class="tok-kw">continue</s
56360 70 61 6e 3e 20 3a 73 77 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>.:sw.<span.class="tok-number
56380 22 3e 31 3c 2f 73 70 61 6e 3e 3b 0a 20 20 20 20 20 20 20 20 7d 2c 0a 0a 20 20 20 20 20 20 20 20 ">1</span>;.........},..........
563a0 3c 73 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
563c0 3e 20 3d 26 67 74 3b 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 72 65 74 >.=&gt;.<span.class="tok-kw">ret
563e0 75 72 6e 3c 2f 73 70 61 6e 3e 2c 0a 0a 20 20 20 20 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 urn</span>,..........<span.class
56400 3d 22 74 6f 6b 2d 6b 77 22 3e 65 6c 73 65 3c 2f 73 70 61 6e 3e 20 3d 26 67 74 3b 20 3c 73 70 61 ="tok-kw">else</span>.=&gt;.<spa
56420 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
56440 61 6e 3e 2c 0a 20 20 20 20 7d 0a 7d 3c 2f 63 6f 64 65 3e 3c 2f 70 72 65 3e 3c 2f 66 69 67 75 72 an>,.....}.}</code></pre></figur
56460 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
56480 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><
564a0 73 61 6d 70 3e 24 20 3c 6b 62 64 3e 7a 69 67 20 74 65 73 74 20 74 65 73 74 5f 73 77 69 74 63 68 samp>$.<kbd>zig.test.test_switch
564c0 5f 63 6f 6e 74 69 6e 75 65 2e 7a 69 67 3c 2f 6b 62 64 3e 0a 31 2f 31 20 74 65 73 74 5f 73 77 69 _continue.zig</kbd>.1/1.test_swi
564e0 74 63 68 5f 63 6f 6e 74 69 6e 75 65 2e 74 65 73 74 2e 73 77 69 74 63 68 20 63 6f 6e 74 69 6e 75 tch_continue.test.switch.continu
56500 65 2e 2e 2e 4f 4b 0a 41 6c 6c 20 31 20 74 65 73 74 73 20 70 61 73 73 65 64 2e 0a 3c 2f 73 61 6d e...OK.All.1.tests.passed..</sam
56520 70 3e 3c 2f 70 72 65 3e 3c 2f 66 69 67 75 72 65 3e 0a 0a 20 20 20 20 20 20 3c 70 3e 0a 20 20 20 p></pre></figure>........<p>....
56540 20 20 20 53 65 6d 61 6e 74 69 63 61 6c 6c 79 2c 20 74 68 69 73 20 69 73 20 65 71 75 69 76 61 6c ...Semantically,.this.is.equival
56560 65 6e 74 20 74 6f 20 74 68 65 20 66 6f 6c 6c 6f 77 69 6e 67 20 6c 6f 6f 70 3a 0a 20 20 20 20 20 ent.to.the.following.loop:......
56580 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.
565a0 63 6c 61 73 73 3d 22 7a 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
565c0 65 22 3e 74 65 73 74 5f 73 77 69 74 63 68 5f 63 6f 6e 74 69 6e 75 65 5f 65 71 75 69 76 61 6c 65 e">test_switch_continue_equivale
565e0 6e 74 2e 7a 69 67 3c 2f 63 69 74 65 3e 3c 2f 66 69 67 63 61 70 74 69 6f 6e 3e 3c 70 72 65 3e 3c nt.zig</cite></figcaption><pre><
56600 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 63 6f 6e 73 74 3c code><span.class="tok-kw">const<
56620 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
56640 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
56660 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
56680 6e 3e 29 3b 0a 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 74 65 73 74 3c n>);..<span.class="tok-kw">test<
566a0 2f 73 70 61 6e 3e 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 73 74 72 22 3e 26 71 75 /span>.<span.class="tok-str">&qu
566c0 6f 74 3b 73 77 69 74 63 68 20 63 6f 6e 74 69 6e 75 65 2c 20 65 71 75 69 76 61 6c 65 6e 74 20 6c ot;switch.continue,.equivalent.l
566e0 6f 6f 70 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 20 7b 0a 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 oop&quot;</span>.{.....<span.cla
56700 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 76 61 72 3c 2f 73 70 61 6e 3e 20 73 77 3a 20 3c 73 70 61 6e ss="tok-kw">var</span>.sw:.<span
56720 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>.=.<
56740 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 35 3c 2f 73 70 61 6e 3e span.class="tok-number">5</span>
56760 3b 0a 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 77 68 69 6c 65 ;.....<span.class="tok-kw">while
56780 3c 2f 73 70 61 6e 3e 20 28 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6c 6c 22 3e </span>.(<span.class="tok-null">
567a0 74 72 75 65 3c 2f 73 70 61 6e 3e 29 20 7b 0a 20 20 20 20 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 true</span>).{.........<span.cla
567c0 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 73 77 69 74 63 68 3c 2f 73 70 61 6e 3e 20 28 73 77 29 20 7b ss="tok-kw">switch</span>.(sw).{
567e0 0a 20 20 20 20 20 20 20 20 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 .............<span.class="tok-nu
56800 6d 62 65 72 22 3e 35 3c 2f 73 70 61 6e 3e 20 3d 26 67 74 3b 20 7b 0a 20 20 20 20 20 20 20 20 20 mber">5</span>.=&gt;.{..........
56820 20 20 20 20 20 20 20 73 77 20 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d .......sw.=.<span.class="tok-num
56840 62 65 72 22 3e 34 3c 2f 73 70 61 6e 3e 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 3c ber">4</span>;.................<
56860 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 63 6f 6e 74 69 6e 75 65 3c 2f 73 70 span.class="tok-kw">continue</sp
56880 61 6e 3e 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 7d 2c 0a 20 20 20 20 20 20 20 20 20 20 20 20 an>;.............},.............
568a0 3c 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
568c0 3e 2e 2e 2e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 34 3c 2f >...<span.class="tok-number">4</
568e0 73 70 61 6e 3e 20 3d 26 67 74 3b 20 7c 76 7c 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 span>.=&gt;.|v|.{...............
56900 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>
56920 20 28 76 20 26 67 74 3b 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 .(v.&gt;.<span.class="tok-number
56940 22 3e 33 3c 2f 73 70 61 6e 3e 29 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ">3</span>).{...................
56960 20 20 73 77 20 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e ..sw.=.<span.class="tok-number">
56980 32 3c 2f 73 70 61 6e 3e 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 3c 73 2</span>;.....................<s
569a0 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
569c0 6e 3e 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 7d 20 3c 73 70 61 6e 20 63 6c 61 73 n>;.................}.<span.clas
569e0 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 61 s="tok-kw">else</span>.<span.cla
56a00 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 69 66 3c 2f 73 70 61 6e 3e 20 28 76 20 3d 3d 20 3c 73 70 61 ss="tok-kw">if</span>.(v.==.<spa
56a20 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 33 3c 2f 73 70 61 6e 3e 29 20 7b n.class="tok-number">3</span>).{
56a40 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 .....................<span.class
56a60 3d 22 74 6f 6b 2d 6b 77 22 3e 62 72 65 61 6b 3c 2f 73 70 61 6e 3e 3b 0a 20 20 20 20 20 20 20 20 ="tok-kw">break</span>;.........
56a80 20 20 20 20 20 20 20 20 7d 0a 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 73 77 20 3d 20 ........}..................sw.=.
56aa0 3c 73 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
56ac0 3e 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 >;.................<span.class="
56ae0 74 6f 6b 2d 6b 77 22 3e 63 6f 6e 74 69 6e 75 65 3c 2f 73 70 61 6e 3e 3b 0a 20 20 20 20 20 20 20 tok-kw">continue</span>;........
56b00 20 20 20 20 20 7d 2c 0a 20 20 20 20 20 20 20 20 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d .....},.............<span.class=
56b20 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 31 3c 2f 73 70 61 6e 3e 20 3d 26 67 74 3b 20 3c 73 70 61 "tok-number">1</span>.=&gt;.<spa
56b40 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 2c 0a n.class="tok-kw">return</span>,.
56b60 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"
56b80 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="
56ba0 74 6f 6b 2d 6b 77 22 3e 75 6e 72 65 61 63 68 61 62 6c 65 3c 2f 73 70 61 6e 3e 2c 0a 20 20 20 20 tok-kw">unreachable</span>,.....
56bc0 20 20 20 20 7d 0a 20 20 20 20 7d 0a 7d 3c 2f 63 6f 64 65 3e 3c 2f 70 72 65 3e 3c 2f 66 69 67 75 ....}.....}.}</code></pre></figu
56be0 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
56c00 65 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>
56c20 3c 73 61 6d 70 3e 24 20 3c 6b 62 64 3e 7a 69 67 20 74 65 73 74 20 74 65 73 74 5f 73 77 69 74 63 <samp>$.<kbd>zig.test.test_switc
56c40 68 5f 63 6f 6e 74 69 6e 75 65 5f 65 71 75 69 76 61 6c 65 6e 74 2e 7a 69 67 3c 2f 6b 62 64 3e 0a h_continue_equivalent.zig</kbd>.
56c60 31 2f 31 20 74 65 73 74 5f 73 77 69 74 63 68 5f 63 6f 6e 74 69 6e 75 65 5f 65 71 75 69 76 61 6c 1/1.test_switch_continue_equival
56c80 65 6e 74 2e 74 65 73 74 2e 73 77 69 74 63 68 20 63 6f 6e 74 69 6e 75 65 2c 20 65 71 75 69 76 61 ent.test.switch.continue,.equiva
56ca0 6c 65 6e 74 20 6c 6f 6f 70 2e 2e 2e 4f 4b 0a 41 6c 6c 20 31 20 74 65 73 74 73 20 70 61 73 73 65 lent.loop...OK.All.1.tests.passe
56cc0 64 2e 0a 3c 2f 73 61 6d 70 3e 3c 2f 70 72 65 3e 3c 2f 66 69 67 75 72 65 3e 0a 0a 20 20 20 20 20 d..</samp></pre></figure>.......
56ce0 20 3c 70 3e 0a 20 20 20 20 20 20 54 68 69 73 20 63 61 6e 20 69 6d 70 72 6f 76 65 20 63 6c 61 72 .<p>.......This.can.improve.clar
56d00 69 74 79 20 6f 66 20 28 66 6f 72 20 65 78 61 6d 70 6c 65 29 20 73 74 61 74 65 20 6d 61 63 68 69 ity.of.(for.example).state.machi
56d20 6e 65 73 2c 20 77 68 65 72 65 20 74 68 65 20 73 79 6e 74 61 78 20 3c 63 6f 64 65 3e 3c 73 70 61 nes,.where.the.syntax.<code><spa
56d40 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 63 6f 6e 74 69 6e 75 65 3c 2f 73 70 61 6e 3e n.class="tok-kw">continue</span>
56d60 20 3a 73 77 20 2e 6e 65 78 74 5f 73 74 61 74 65 3c 2f 63 6f 64 65 3e 20 69 73 20 75 6e 61 6d 62 .:sw..next_state</code>.is.unamb
56d80 69 67 75 6f 75 73 2c 20 65 78 70 6c 69 63 69 74 2c 20 61 6e 64 20 69 6d 6d 65 64 69 61 74 65 6c iguous,.explicit,.and.immediatel
56da0 79 20 75 6e 64 65 72 73 74 61 6e 64 61 62 6c 65 2e 0a 20 20 20 20 20 20 3c 2f 70 3e 0a 20 20 20 y.understandable........</p>....
56dc0 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 6d 6f 74 69 76 61 ...<p>.......However,.the.motiva
56de0 74 69 6e 67 20 65 78 61 6d 70 6c 65 20 69 73 20 61 20 73 77 69 74 63 68 20 6f 6e 20 65 61 63 68 ting.example.is.a.switch.on.each
56e00 20 65 6c 65 6d 65 6e 74 20 6f 66 20 61 6e 20 61 72 72 61 79 2c 20 77 68 65 72 65 20 75 73 69 6e .element.of.an.array,.where.usin
56e20 67 20 61 20 73 69 6e 67 6c 65 20 73 77 69 74 63 68 20 63 61 6e 20 69 6d 70 72 6f 76 65 20 63 6c g.a.single.switch.can.improve.cl
56e40 61 72 69 74 79 20 61 6e 64 20 70 65 72 66 6f 72 6d 61 6e 63 65 3a 0a 20 20 20 20 20 20 3c 2f 70 arity.and.performance:.......</p
56e60 3e 0a 20 20 20 20 20 20 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
56e80 73 3d 22 7a 69 67 2d 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
56ea0 65 73 74 5f 73 77 69 74 63 68 5f 64 69 73 70 61 74 63 68 5f 6c 6f 6f 70 2e 7a 69 67 3c 2f 63 69 est_switch_dispatch_loop.zig</ci
56ec0 74 65 3e 3c 2f 66 69 67 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
56ee0 20 63 6c 61 73 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
56f00 20 3d 20 3c 73 70 61 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
56f20 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
56f40 22 3e 26 71 75 6f 74 3b 73 74 64 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 29 3b 0a 3c 73 70 61 6e ">&quot;std&quot;</span>);.<span
56f60 20 63 6c 61 73 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
56f80 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 65 63 74 45 71 75 ectEqual.=.std.testing.expectEqu
56fa0 61 6c 3b 0a 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 63 6f 6e 73 74 3c al;..<span.class="tok-kw">const<
56fc0 2f 73 70 61 6e 3e 20 49 6e 73 74 72 75 63 74 69 6f 6e 20 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 /span>.Instruction.=.<span.class
56fe0 3d 22 74 6f 6b 2d 6b 77 22 3e 65 6e 75 6d 3c 2f 73 70 61 6e 3e 20 7b 0a 20 20 20 20 61 64 64 2c ="tok-kw">enum</span>.{.....add,
57000 0a 20 20 20 20 6d 75 6c 2c 0a 20 20 20 20 65 6e 64 2c 0a 7d 3b 0a 0a 3c 73 70 61 6e 20 63 6c 61 .....mul,.....end,.};..<span.cla
57020 73 73 3d 22 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
57040 73 3d 22 74 6f 6b 2d 66 6e 22 3e 65 76 61 6c 75 61 74 65 3c 2f 73 70 61 6e 3e 28 69 6e 69 74 69 s="tok-fn">evaluate</span>(initi
57060 61 6c 5f 73 74 61 63 6b 3a 20 5b 5d 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 al_stack:.[]<span.class="tok-kw"
57080 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
570a0 79 70 65 22 3e 69 33 32 3c 2f 73 70 61 6e 3e 2c 20 63 6f 64 65 3a 20 5b 5d 3c 73 70 61 6e 20 63 ype">i32</span>,.code:.[]<span.c
570c0 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 63 6f 6e 73 74 3c 2f 73 70 61 6e 3e 20 49 6e 73 74 72 lass="tok-kw">const</span>.Instr
570e0 75 63 74 69 6f 6e 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 uction).!<span.class="tok-type">
57100 69 33 32 3c 2f 73 70 61 6e 3e 20 7b 0a 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f i32</span>.{.....<span.class="to
57120 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 73 70 61 6e 20 k-kw">var</span>.buffer:.[<span.
57140 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 38 3c 2f 73 70 61 6e 3e 5d 3c 73 70 61 class="tok-number">8</span>]<spa
57160 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>.=.
57180 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6c 6c 22 3e 75 6e 64 65 66 69 6e 65 64 <span.class="tok-null">undefined
571a0 3c 2f 73 70 61 6e 3e 3b 0a 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 </span>;.....<span.class="tok-kw
571c0 22 3e 76 61 72 3c 2f 73 70 61 6e 3e 20 73 74 61 63 6b 20 3d 20 73 74 64 2e 41 72 72 61 79 4c 69 ">var</span>.stack.=.std.ArrayLi
571e0 73 74 28 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 69 33 32 3c 2f 73 st(<span.class="tok-type">i32</s
57200 70 61 6e 3e 29 2e 69 6e 69 74 42 75 66 66 65 72 28 26 61 6d 70 3b 62 75 66 66 65 72 29 3b 0a 20 pan>).initBuffer(&amp;buffer);..
57220 20 20 20 3c 73 70 61 6e 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
57240 6e 3e 20 73 74 61 63 6b 2e 61 70 70 65 6e 64 53 6c 69 63 65 42 6f 75 6e 64 65 64 28 69 6e 69 74 n>.stack.appendSliceBounded(init
57260 69 61 6c 5f 73 74 61 63 6b 29 3b 0a 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b ial_stack);.....<span.class="tok
57280 2d 6b 77 22 3e 76 61 72 3c 2f 73 70 61 6e 3e 20 69 70 3a 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d -kw">var</span>.ip:.<span.class=
572a0 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.
572c0 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 30 3c 2f 73 70 61 6e 3e 3b 0a 0a 20 20 class="tok-number">0</span>;....
572e0 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
57300 70 61 6e 3e 20 76 6d 3a 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 73 77 pan>.vm:.<span.class="tok-kw">sw
57320 69 74 63 68 3c 2f 73 70 61 6e 3e 20 28 63 6f 64 65 5b 69 70 5d 29 20 7b 0a 20 20 20 20 20 20 20 itch</span>.(code[ip]).{........
57340 20 3c 73 70 61 6e 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 65 .<span.class="tok-comment">//.Be
57360 63 61 75 73 65 20 61 6c 6c 20 63 6f 64 65 20 61 66 74 65 72 20 60 63 6f 6e 74 69 6e 75 65 60 20 cause.all.code.after.`continue`.
57380 69 73 20 75 6e 72 65 61 63 68 61 62 6c 65 2c 20 74 68 69 73 20 62 72 61 6e 63 68 20 64 6f 65 73 is.unreachable,.this.branch.does
573a0 3c 2f 73 70 61 6e 3e 0a 20 20 20 20 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b </span>.........<span.class="tok
573c0 2d 63 6f 6d 6d 65 6e 74 22 3e 2f 2f 20 6e 6f 74 20 70 72 6f 76 69 64 65 20 61 20 72 65 73 75 6c -comment">//.not.provide.a.resul
573e0 74 2e 3c 2f 73 70 61 6e 3e 0a 20 20 20 20 20 20 20 20 2e 61 64 64 20 3d 26 67 74 3b 20 7b 0a 20 t.</span>..........add.=&gt;.{..
57400 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">
57420 74 72 79 3c 2f 73 70 61 6e 3e 20 73 74 61 63 6b 2e 61 70 70 65 6e 64 42 6f 75 6e 64 65 64 28 73 try</span>.stack.appendBounded(s
57440 74 61 63 6b 2e 70 6f 70 28 29 2e 3f 20 2b 20 73 74 61 63 6b 2e 70 6f 70 28 29 2e 3f 29 3b 0a 0a tack.pop().?.+.stack.pop().?);..
57460 20 20 20 20 20 20 20 20 20 20 20 20 69 70 20 2b 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 ............ip.+=.<span.class="t
57480 6f 6b 2d 6e 75 6d 62 65 72 22 3e 31 3c 2f 73 70 61 6e 3e 3b 0a 20 20 20 20 20 20 20 20 20 20 20 ok-number">1</span>;............
574a0 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 63 6f 6e 74 69 6e 75 65 3c 2f .<span.class="tok-kw">continue</
574c0 73 70 61 6e 3e 20 3a 76 6d 20 63 6f 64 65 5b 69 70 5d 3b 0a 20 20 20 20 20 20 20 20 7d 2c 0a 20 span>.:vm.code[ip];.........},..
574e0 20 20 20 20 20 20 20 2e 6d 75 6c 20 3d 26 67 74 3b 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 ........mul.=&gt;.{.............
57500 3c 73 70 61 6e 20 63 6c 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>.
57520 73 74 61 63 6b 2e 61 70 70 65 6e 64 42 6f 75 6e 64 65 64 28 73 74 61 63 6b 2e 70 6f 70 28 29 2e stack.appendBounded(stack.pop().
57540 3f 20 2a 20 73 74 61 63 6b 2e 70 6f 70 28 29 2e 3f 29 3b 0a 0a 20 20 20 20 20 20 20 20 20 20 20 ?.*.stack.pop().?);.............
57560 20 69 70 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 .ip.+=.<span.class="tok-number">
57580 31 3c 2f 73 70 61 6e 3e 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 1</span>;.............<span.clas
575a0 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 20 3a 76 6d 20 63 s="tok-kw">continue</span>.:vm.c
575c0 6f 64 65 5b 69 70 5d 3b 0a 20 20 20 20 20 20 20 20 7d 2c 0a 20 20 20 20 20 20 20 20 2e 65 6e 64 ode[ip];.........},..........end
575e0 20 3d 26 67 74 3b 20 73 74 61 63 6b 2e 70 6f 70 28 29 2e 3f 2c 0a 20 20 20 20 7d 3b 0a 7d 0a 0a .=&gt;.stack.pop().?,.....};.}..
57600 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>
57620 20 3c 73 70 61 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 76 61 .<span.class="tok-str">&quot;eva
57640 6c 75 61 74 65 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 20 7b 0a 20 20 20 20 3c 73 70 61 6e 20 63 luate&quot;</span>.{.....<span.c
57660 6c 61 73 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
57680 74 20 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 74 72 79 3c 2f 73 70 t.=.<span.class="tok-kw">try</sp
576a0 61 6e 3e 20 65 76 61 6c 75 61 74 65 28 26 61 6d 70 3b 2e 7b 20 3c 73 70 61 6e 20 63 6c 61 73 73 an>.evaluate(&amp;.{.<span.class
576c0 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 37 3c 2f 73 70 61 6e 3e 2c 20 3c 73 70 61 6e 20 63 6c ="tok-number">7</span>,.<span.cl
576e0 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 2d 3c 73 70 61 ass="tok-number">2</span>,.-<spa
57700 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 33 3c 2f 73 70 61 6e 3e 20 7d 2c n.class="tok-number">3</span>.},
57720 20 26 61 6d 70 3b 2e 7b 20 2e 6d 75 6c 2c 20 2e 61 64 64 2c 20 2e 65 6e 64 20 7d 29 3b 0a 20 20 .&amp;.{..mul,..add,..end.});...
57740 20 20 3c 73 70 61 6e 20 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
57760 3e 20 65 78 70 65 63 74 45 71 75 61 6c 28 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e >.expectEqual(<span.class="tok-n
57780 75 6d 62 65 72 22 3e 31 3c 2f 73 70 61 6e 3e 2c 20 72 65 73 75 6c 74 29 3b 0a 7d 3c 2f 63 6f 64 umber">1</span>,.result);.}</cod
577a0 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
577c0 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
577e0 67 63 61 70 74 69 6f 6e 3e 3c 70 72 65 3e 3c 73 61 6d 70 3e 24 20 3c 6b 62 64 3e 7a 69 67 20 74 gcaption><pre><samp>$.<kbd>zig.t
57800 65 73 74 20 74 65 73 74 5f 73 77 69 74 63 68 5f 64 69 73 70 61 74 63 68 5f 6c 6f 6f 70 2e 7a 69 est.test_switch_dispatch_loop.zi
57820 67 3c 2f 6b 62 64 3e 0a 31 2f 31 20 74 65 73 74 5f 73 77 69 74 63 68 5f 64 69 73 70 61 74 63 68 g</kbd>.1/1.test_switch_dispatch
57840 5f 6c 6f 6f 70 2e 74 65 73 74 2e 65 76 61 6c 75 61 74 65 2e 2e 2e 4f 4b 0a 41 6c 6c 20 31 20 74 _loop.test.evaluate...OK.All.1.t
57860 65 73 74 73 20 70 61 73 73 65 64 2e 0a 3c 2f 73 61 6d 70 3e 3c 2f 70 72 65 3e 3c 2f 66 69 67 75 ests.passed..</samp></pre></figu
57880 72 65 3e 0a 0a 20 20 20 20 20 20 3c 70 3e 0a 20 20 20 20 20 20 49 66 20 74 68 65 20 6f 70 65 72 re>........<p>.......If.the.oper
578a0 61 6e 64 20 74 6f 20 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 and.to.<code><span.class="tok-kw
578c0 22 3e 63 6f 6e 74 69 6e 75 65 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 20 69 73 0a 20 20 20 20 ">continue</span></code>.is.....
578e0 20 20 3c 61 20 68 72 65 66 3d 22 23 63 6f 6d 70 74 69 6d 65 22 3e 63 6f 6d 70 74 69 6d 65 3c 2f ..<a.href="#comptime">comptime</
57900 61 3e 2d 6b 6e 6f 77 6e 2c 20 74 68 65 6e 20 69 74 20 63 61 6e 20 62 65 20 6c 6f 77 65 72 65 64 a>-known,.then.it.can.be.lowered
57920 20 74 6f 20 61 6e 20 75 6e 63 6f 6e 64 69 74 69 6f 6e 61 6c 20 62 72 61 6e 63 68 0a 20 20 20 20 .to.an.unconditional.branch.....
57940 20 20 74 6f 20 74 68 65 20 72 65 6c 65 76 61 6e 74 20 63 61 73 65 2e 20 53 75 63 68 20 61 20 62 ..to.the.relevant.case..Such.a.b
57960 72 61 6e 63 68 20 69 73 20 70 65 72 66 65 63 74 6c 79 20 70 72 65 64 69 63 74 65 64 2c 20 61 6e ranch.is.perfectly.predicted,.an
57980 64 20 68 65 6e 63 65 0a 20 20 20 20 20 20 74 79 70 69 63 61 6c 6c 79 20 76 65 72 79 20 66 61 73 d.hence.......typically.very.fas
579a0 74 20 74 6f 20 65 78 65 63 75 74 65 2e 0a 20 20 20 20 20 20 3c 2f 70 3e 0a 0a 20 20 20 20 20 20 t.to.execute........</p>........
579c0 3c 70 3e 0a 20 20 20 20 20 20 49 66 20 74 68 65 20 6f 70 65 72 61 6e 64 20 69 73 20 72 75 6e 74 <p>.......If.the.operand.is.runt
579e0 69 6d 65 2d 6b 6e 6f 77 6e 2c 20 65 61 63 68 20 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 ime-known,.each.<code><span.clas
57a00 73 3d 22 74 6f 6b 2d 6b 77 22 3e 63 6f 6e 74 69 6e 75 65 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 s="tok-kw">continue</span></code
57a20 3e 20 63 61 6e 0a 20 20 20 20 20 20 65 6d 62 65 64 20 61 20 63 6f 6e 64 69 74 69 6f 6e 61 6c 20 >.can.......embed.a.conditional.
57a40 62 72 61 6e 63 68 20 69 6e 6c 69 6e 65 20 28 69 64 65 61 6c 6c 79 20 74 68 72 6f 75 67 68 20 61 branch.inline.(ideally.through.a
57a60 20 6a 75 6d 70 20 74 61 62 6c 65 29 2c 20 77 68 69 63 68 0a 20 20 20 20 20 20 61 6c 6c 6f 77 73 .jump.table),.which.......allows
57a80 20 61 20 43 50 55 20 74 6f 20 70 72 65 64 69 63 74 20 69 74 73 20 74 61 72 67 65 74 20 69 6e 64 .a.CPU.to.predict.its.target.ind
57aa0 65 70 65 6e 64 65 6e 74 6c 79 20 6f 66 20 61 6e 79 20 6f 74 68 65 72 20 70 72 6f 6e 67 2e 20 41 ependently.of.any.other.prong..A
57ac0 0a 20 20 20 20 20 20 6c 6f 6f 70 2d 62 61 73 65 64 20 6c 6f 77 65 72 69 6e 67 20 77 6f 75 6c 64 .......loop-based.lowering.would
57ae0 20 66 6f 72 63 65 20 65 76 65 72 79 20 62 72 61 6e 63 68 20 74 68 72 6f 75 67 68 20 74 68 65 20 .force.every.branch.through.the.
57b00 73 61 6d 65 20 64 69 73 70 61 74 63 68 0a 20 20 20 20 20 20 70 6f 69 6e 74 2c 20 68 69 6e 64 65 same.dispatch.......point,.hinde
57b20 72 69 6e 67 20 62 72 61 6e 63 68 20 70 72 65 64 69 63 74 69 6f 6e 2e 0a 20 20 20 20 20 20 3c 2f ring.branch.prediction........</
57b40 70 3e 0a 0a 0a 20 20 20 20 20 20 0a 0a 20 20 20 20 20 20 3c 68 33 20 69 64 3d 22 49 6e 6c 69 6e p>.................<h3.id="Inlin
57b60 65 2d 53 77 69 74 63 68 2d 50 72 6f 6e 67 73 22 3e 3c 61 20 68 72 65 66 3d 22 6e 61 76 2e 78 68 e-Switch-Prongs"><a.href="nav.xh
57b80 74 6d 6c 23 74 6f 63 2d 49 6e 6c 69 6e 65 2d 53 77 69 74 63 68 2d 50 72 6f 6e 67 73 22 3e 49 6e tml#toc-Inline-Switch-Prongs">In
57ba0 6c 69 6e 65 20 53 77 69 74 63 68 20 50 72 6f 6e 67 73 3c 2f 61 3e 20 3c 61 20 63 6c 61 73 73 3d line.Switch.Prongs</a>.<a.class=
57bc0 22 68 64 72 22 20 68 72 65 66 3d 22 23 49 6e 6c 69 6e 65 2d 53 77 69 74 63 68 2d 50 72 6f 6e 67 "hdr".href="#Inline-Switch-Prong
57be0 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>.......
57c00 53 77 69 74 63 68 20 70 72 6f 6e 67 73 20 63 61 6e 20 62 65 20 6d 61 72 6b 65 64 20 61 73 20 3c Switch.prongs.can.be.marked.as.<
57c20 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 69 6e 6c 69 6e 65 code><span.class="tok-kw">inline
57c40 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 20 74 6f 20 67 65 6e 65 72 61 74 65 0a 20 20 20 20 20 </span></code>.to.generate......
57c60 20 74 68 65 20 70 72 6f 6e 67 27 73 20 62 6f 64 79 20 66 6f 72 20 65 61 63 68 20 70 6f 73 73 69 .the.prong's.body.for.each.possi
57c80 62 6c 65 20 76 61 6c 75 65 20 69 74 20 63 6f 75 6c 64 20 68 61 76 65 2c 20 6d 61 6b 69 6e 67 20 ble.value.it.could.have,.making.
57ca0 74 68 65 0a 20 20 20 20 20 20 63 61 70 74 75 72 65 64 20 76 61 6c 75 65 20 3c 61 20 68 72 65 66 the.......captured.value.<a.href
57cc0 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 20 20 20 ="#comptime">comptime</a>.......
57ce0 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.
57d00 63 6c 61 73 73 3d 22 7a 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
57d20 65 22 3e 74 65 73 74 5f 69 6e 6c 69 6e 65 5f 73 77 69 74 63 68 2e 7a 69 67 3c 2f 63 69 74 65 3e e">test_inline_switch.zig</cite>
57d40 3c 2f 66 69 67 63 61 70 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
57d60 61 73 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.=.
57d80 3c 73 70 61 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
57da0 74 3c 2f 73 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">&
57dc0 71 75 6f 74 3b 73 74 64 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 29 3b 0a 3c 73 70 61 6e 20 63 6c quot;std&quot;</span>);.<span.cl
57de0 61 73 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
57e00 20 3d 20 73 74 64 2e 74 65 73 74 69 6e 67 2e 65 78 70 65 63 74 3b 0a 3c 73 70 61 6e 20 63 6c 61 .=.std.testing.expect;.<span.cla
57e20 73 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 45 ss="tok-kw">const</span>.expectE
57e40 72 72 6f 72 20 3d 20 73 74 64 2e 74 65 73 74 69 6e 67 2e 65 78 70 65 63 74 45 72 72 6f 72 3b 0a rror.=.std.testing.expectError;.
57e60 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 66 6e 3c 2f 73 70 61 6e 3e 20 .<span.class="tok-kw">fn</span>.
57e80 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 66 6e 22 3e 69 73 46 69 65 6c 64 4f 70 74 69 <span.class="tok-fn">isFieldOpti
57ea0 6f 6e 61 6c 3c 2f 73 70 61 6e 3e 28 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 onal</span>(<span.class="tok-kw"
57ec0 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=
57ee0 22 74 6f 6b 2d 74 79 70 65 22 3e 74 79 70 65 3c 2f 73 70 61 6e 3e 2c 20 66 69 65 6c 64 5f 69 6e "tok-type">type</span>,.field_in
57f00 64 65 78 3a 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 75 73 69 7a dex:.<span.class="tok-type">usiz
57f20 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 70 65 e</span>).!<span.class="tok-type
57f40 22 3e 62 6f 6f 6c 3c 2f 73 70 61 6e 3e 20 7b 0a 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d ">bool</span>.{.....<span.class=
57f60 22 74 6f 6b 2d 6b 77 22 3e 63 6f 6e 73 74 3c 2f 73 70 61 6e 3e 20 66 69 65 6c 64 73 20 3d 20 3c "tok-kw">const</span>.fields.=.<
57f80 73 70 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
57fa0 66 6f 3c 2f 73 70 61 6e 3e 28 54 29 2e 40 26 71 75 6f 74 3b 73 74 72 75 63 74 26 71 75 6f 74 3b fo</span>(T).@&quot;struct&quot;
57fc0 2e 66 69 65 6c 64 73 3b 0a 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 .fields;.....<span.class="tok-kw
57fe0 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
58000 2d 6b 77 22 3e 73 77 69 74 63 68 3c 2f 73 70 61 6e 3e 20 28 66 69 65 6c 64 5f 69 6e 64 65 78 29 -kw">switch</span>.(field_index)
58020 20 7b 0a 20 20 20 20 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 63 6f 6d 6d .{.........<span.class="tok-comm
58040 65 6e 74 22 3e 2f 2f 20 54 68 69 73 20 70 72 6f 6e 67 20 69 73 20 61 6e 61 6c 79 7a 65 64 20 74 ent">//.This.prong.is.analyzed.t
58060 77 69 63 65 20 77 69 74 68 20 60 69 64 78 60 20 62 65 69 6e 67 20 61 3c 2f 73 70 61 6e 3e 0a 20 wice.with.`idx`.being.a</span>..
58080 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"
580a0 3e 2f 2f 20 63 6f 6d 70 74 69 6d 65 2d 6b 6e 6f 77 6e 20 76 61 6c 75 65 20 65 61 63 68 20 74 69 >//.comptime-known.value.each.ti
580c0 6d 65 2e 3c 2f 73 70 61 6e 3e 0a 20 20 20 20 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 me.</span>.........<span.class="
580e0 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 6c 61 73 tok-kw">inline</span>.<span.clas
58100 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 30 3c 2f 73 70 61 6e 3e 2c 20 3c 73 70 61 6e 20 63 s="tok-number">0</span>,.<span.c
58120 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 26 67 74 3b lass="tok-number">1</span>.=&gt;
58140 20 7c 69 64 78 7c 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 62 75 69 6c 74 69 6e 22 .|idx|.<span.class="tok-builtin"
58160 3e 40 74 79 70 65 49 6e 66 6f 3c 2f 73 70 61 6e 3e 28 66 69 65 6c 64 73 5b 69 64 78 5d 2e 3c 73 >@typeInfo</span>(fields[idx].<s
58180 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>
581a0 29 20 3d 3d 20 2e 6f 70 74 69 6f 6e 61 6c 2c 0a 20 20 20 20 20 20 20 20 3c 73 70 61 6e 20 63 6c ).==..optional,.........<span.cl
581c0 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 65 6c 73 65 3c 2f 73 70 61 6e 3e 20 3d 26 67 74 3b 20 3c ass="tok-kw">else</span>.=&gt;.<
581e0 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
58200 3e 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 65 72 72 6f 72 3c 2f 73 70 >.<span.class="tok-kw">error</sp
58220 61 6e 3e 2e 49 6e 64 65 78 4f 75 74 4f 66 42 6f 75 6e 64 73 2c 0a 20 20 20 20 7d 3b 0a 7d 0a 0a an>.IndexOutOfBounds,.....};.}..
58240 3c 73 70 61 6e 20 63 6c 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
58260 3e 20 53 74 72 75 63 74 31 20 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 >.Struct1.=.<span.class="tok-kw"
58280 3e 73 74 72 75 63 74 3c 2f 73 70 61 6e 3e 20 7b 20 61 3a 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d >struct</span>.{.a:.<span.class=
582a0 22 74 6f 6b 2d 74 79 70 65 22 3e 75 33 32 3c 2f 73 70 61 6e 3e 2c 20 62 3a 20 3f 3c 73 70 61 6e "tok-type">u32</span>,.b:.?<span
582c0 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 7d 3b 0a .class="tok-type">u32</span>.};.
582e0 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 74 65 73 74 3c 2f 73 70 61 6e .<span.class="tok-kw">test</span
58300 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
58320 69 6e 67 20 40 74 79 70 65 49 6e 66 6f 20 77 69 74 68 20 72 75 6e 74 69 6d 65 20 76 61 6c 75 65 ing.@typeInfo.with.runtime.value
58340 73 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 20 7b 0a 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 s&quot;</span>.{.....<span.class
58360 3d 22 74 6f 6b 2d 6b 77 22 3e 76 61 72 3c 2f 73 70 61 6e 3e 20 69 6e 64 65 78 3a 20 3c 73 70 61 ="tok-kw">var</span>.index:.<spa
58380 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 75 73 69 7a 65 3c 2f 73 70 61 6e 3e 20 n.class="tok-type">usize</span>.
583a0 3d 20 3c 73 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
583c0 61 6e 3e 3b 0a 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 74 72 an>;.....<span.class="tok-kw">tr
583e0 79 3c 2f 73 70 61 6e 3e 20 65 78 70 65 63 74 28 21 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f y</span>.expect(!<span.class="to
58400 6b 2d 6b 77 22 3e 74 72 79 3c 2f 73 70 61 6e 3e 20 69 73 46 69 65 6c 64 4f 70 74 69 6f 6e 61 6c k-kw">try</span>.isFieldOptional
58420 28 53 74 72 75 63 74 31 2c 20 69 6e 64 65 78 29 29 3b 0a 20 20 20 20 69 6e 64 65 78 20 2b 3d 20 (Struct1,.index));.....index.+=.
58440 3c 73 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
58460 3e 3b 0a 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 74 72 79 3c >;.....<span.class="tok-kw">try<
58480 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 6b /span>.expect(<span.class="tok-k
584a0 77 22 3e 74 72 79 3c 2f 73 70 61 6e 3e 20 69 73 46 69 65 6c 64 4f 70 74 69 6f 6e 61 6c 28 53 74 w">try</span>.isFieldOptional(St
584c0 72 75 63 74 31 2c 20 69 6e 64 65 78 29 29 3b 0a 20 20 20 20 69 6e 64 65 78 20 2b 3d 20 3c 73 70 ruct1,.index));.....index.+=.<sp
584e0 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 31 3c 2f 73 70 61 6e 3e 3b 0a an.class="tok-number">1</span>;.
58500 20 20 20 20 3c 73 70 61 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
58520 61 6e 3e 20 65 78 70 65 63 74 45 72 72 6f 72 28 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b an>.expectError(<span.class="tok
58540 2d 6b 77 22 3e 65 72 72 6f 72 3c 2f 73 70 61 6e 3e 2e 49 6e 64 65 78 4f 75 74 4f 66 42 6f 75 6e -kw">error</span>.IndexOutOfBoun
58560 64 73 2c 20 69 73 46 69 65 6c 64 4f 70 74 69 6f 6e 61 6c 28 53 74 72 75 63 74 31 2c 20 69 6e 64 ds,.isFieldOptional(Struct1,.ind
58580 65 78 29 29 3b 0a 7d 0a 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 63 6f 6d 6d 65 6e ex));.}..<span.class="tok-commen
585a0 74 22 3e 2f 2f 20 43 61 6c 6c 73 20 74 6f 20 60 69 73 46 69 65 6c 64 4f 70 74 69 6f 6e 61 6c 60 t">//.Calls.to.`isFieldOptional`
585c0 20 6f 6e 20 60 53 74 72 75 63 74 31 60 20 67 65 74 20 75 6e 72 6f 6c 6c 65 64 20 74 6f 20 61 6e .on.`Struct1`.get.unrolled.to.an
585e0 20 65 71 75 69 76 61 6c 65 6e 74 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 .equivalent</span>.<span.class="
58600 74 6f 6b 2d 63 6f 6d 6d 65 6e 74 22 3e 2f 2f 20 6f 66 20 74 68 69 73 20 66 75 6e 63 74 69 6f 6e tok-comment">//.of.this.function
58620 3a 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 66 6e :</span>.<span.class="tok-kw">fn
58640 3c 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 46 </span>.<span.class="tok-fn">isF
58660 69 65 6c 64 4f 70 74 69 6f 6e 61 6c 55 6e 72 6f 6c 6c 65 64 3c 2f 73 70 61 6e 3e 28 66 69 65 6c ieldOptionalUnrolled</span>(fiel
58680 64 5f 69 6e 64 65 78 3a 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e d_index:.<span.class="tok-type">
586a0 75 73 69 7a 65 3c 2f 73 70 61 6e 3e 29 20 21 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d usize</span>).!<span.class="tok-
586c0 74 79 70 65 22 3e 62 6f 6f 6c 3c 2f 73 70 61 6e 3e 20 7b 0a 20 20 20 20 3c 73 70 61 6e 20 63 6c type">bool</span>.{.....<span.cl
586e0 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
58700 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 73 77 69 74 63 68 3c 2f 73 70 61 6e 3e 20 28 66 .class="tok-kw">switch</span>.(f
58720 69 65 6c 64 5f 69 6e 64 65 78 29 20 7b 0a 20 20 20 20 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 ield_index).{.........<span.clas
58740 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 30 3c 2f 73 70 61 6e 3e 20 3d 26 67 74 3b 20 3c 73 s="tok-number">0</span>.=&gt;.<s
58760 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
58780 3e 2c 0a 20 20 20 20 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 >,.........<span.class="tok-numb
587a0 65 72 22 3e 31 3c 2f 73 70 61 6e 3e 20 3d 26 67 74 3b 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 er">1</span>.=&gt;.<span.class="
587c0 74 6f 6b 2d 6e 75 6c 6c 22 3e 74 72 75 65 3c 2f 73 70 61 6e 3e 2c 0a 20 20 20 20 20 20 20 20 3c tok-null">true</span>,.........<
587e0 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>.
58800 3d 26 67 74 3b 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 72 65 74 75 72 =&gt;.<span.class="tok-kw">retur
58820 6e 3c 2f 73 70 61 6e 3e 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 65 72 n</span>.<span.class="tok-kw">er
58840 72 6f 72 3c 2f 73 70 61 6e 3e 2e 49 6e 64 65 78 4f 75 74 4f 66 42 6f 75 6e 64 73 2c 0a 20 20 20 ror</span>.IndexOutOfBounds,....
58860 20 7d 3b 0a 7d 3c 2f 63 6f 64 65 3e 3c 2f 70 72 65 3e 3c 2f 66 69 67 75 72 65 3e 3c 66 69 67 75 .};.}</code></pre></figure><figu
58880 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"
588a0 3e 53 68 65 6c 6c 3c 2f 66 69 67 63 61 70 74 69 6f 6e 3e 3c 70 72 65 3e 3c 73 61 6d 70 3e 24 20 >Shell</figcaption><pre><samp>$.
588c0 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 73 77 69 74 63 68 <kbd>zig.test.test_inline_switch
588e0 2e 7a 69 67 3c 2f 6b 62 64 3e 0a 31 2f 31 20 74 65 73 74 5f 69 6e 6c 69 6e 65 5f 73 77 69 74 63 .zig</kbd>.1/1.test_inline_switc
58900 68 2e 74 65 73 74 2e 75 73 69 6e 67 20 40 74 79 70 65 49 6e 66 6f 20 77 69 74 68 20 72 75 6e 74 h.test.using.@typeInfo.with.runt
58920 69 6d 65 20 76 61 6c 75 65 73 2e 2e 2e 4f 4b 0a 41 6c 6c 20 31 20 74 65 73 74 73 20 70 61 73 73 ime.values...OK.All.1.tests.pass
58940 65 64 2e 0a 3c 2f 73 61 6d 70 3e 3c 2f 70 72 65 3e 3c 2f 66 69 67 75 72 65 3e 0a 0a 20 20 20 20 ed..</samp></pre></figure>......
58960 20 20 3c 70 3e 54 68 65 20 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d ..<p>The.<code><span.class="tok-
58980 6b 77 22 3e 69 6e 6c 69 6e 65 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 20 6b 65 79 77 6f 72 64 kw">inline</span></code>.keyword
589a0 20 6d 61 79 20 61 6c 73 6f 20 62 65 20 63 6f 6d 62 69 6e 65 64 20 77 69 74 68 20 72 61 6e 67 65 .may.also.be.combined.with.range
589c0 73 3a 3c 2f 70 3e 0a 20 20 20 20 20 20 3c 66 69 67 75 72 65 3e 3c 66 69 67 63 61 70 74 69 6f 6e s:</p>.......<figure><figcaption
589e0 20 63 6c 61 73 73 3d 22 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
58a00 6c 65 22 3e 69 6e 6c 69 6e 65 5f 70 72 6f 6e 67 5f 72 61 6e 67 65 2e 7a 69 67 3c 2f 63 69 74 65 le">inline_prong_range.zig</cite
58a20 3e 3c 2f 66 69 67 63 61 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
58a40 6c 61 73 73 3d 22 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
58a60 61 73 73 3d 22 74 6f 6b 2d 66 6e 22 3e 69 73 46 69 65 6c 64 4f 70 74 69 6f 6e 61 6c 3c 2f 73 70 ass="tok-fn">isFieldOptional</sp
58a80 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
58aa0 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 70 e</span>.T:.<span.class="tok-typ
58ac0 65 22 3e 74 79 70 65 3c 2f 73 70 61 6e 3e 2c 20 66 69 65 6c 64 5f 69 6e 64 65 78 3a 20 3c 73 70 e">type</span>,.field_index:.<sp
58ae0 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>
58b00 29 20 21 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 62 6f 6f 6c 3c 2f ).!<span.class="tok-type">bool</
58b20 73 70 61 6e 3e 20 7b 0a 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 span>.{.....<span.class="tok-kw"
58b40 3e 63 6f 6e 73 74 3c 2f 73 70 61 6e 3e 20 66 69 65 6c 64 73 20 3d 20 3c 73 70 61 6e 20 63 6c 61 >const</span>.fields.=.<span.cla
58b60 73 73 3d 22 74 6f 6b 2d 62 75 69 6c 74 69 6e 22 3e 40 74 79 70 65 49 6e 66 6f 3c 2f 73 70 61 6e ss="tok-builtin">@typeInfo</span
58b80 3e 28 54 29 2e 40 26 71 75 6f 74 3b 73 74 72 75 63 74 26 71 75 6f 74 3b 2e 66 69 65 6c 64 73 3b >(T).@&quot;struct&quot;.fields;
58ba0 0a 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 72 65 74 75 72 6e .....<span.class="tok-kw">return
58bc0 3c 2f 73 70 61 6e 3e 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 73 77 69 </span>.<span.class="tok-kw">swi
58be0 74 63 68 3c 2f 73 70 61 6e 3e 20 28 66 69 65 6c 64 5f 69 6e 64 65 78 29 20 7b 0a 20 20 20 20 20 tch</span>.(field_index).{......
58c00 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 69 6e 6c 69 6e 65 3c 2f ...<span.class="tok-kw">inline</
58c20 73 70 61 6e 3e 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 30 span>.<span.class="tok-number">0
58c40 3c 2f 73 70 61 6e 3e 2e 2e 2e 66 69 65 6c 64 73 2e 6c 65 6e 20 2d 20 3c 73 70 61 6e 20 63 6c 61 </span>...fields.len.-.<span.cla
58c60 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 26 67 74 3b 20 7c ss="tok-number">1</span>.=&gt;.|
58c80 69 64 78 7c 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 62 75 69 6c 74 69 6e 22 3e 40 idx|.<span.class="tok-builtin">@
58ca0 74 79 70 65 49 6e 66 6f 3c 2f 73 70 61 6e 3e 28 66 69 65 6c 64 73 5b 69 64 78 5d 2e 3c 73 70 61 typeInfo</span>(fields[idx].<spa
58cc0 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 74 79 70 65 3c 2f 73 70 61 6e 3e 29 20 n.class="tok-type">type</span>).
58ce0 3d 3d 20 2e 6f 70 74 69 6f 6e 61 6c 2c 0a 20 20 20 20 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 ==..optional,.........<span.clas
58d00 73 3d 22 74 6f 6b 2d 6b 77 22 3e 65 6c 73 65 3c 2f 73 70 61 6e 3e 20 3d 26 67 74 3b 20 3c 73 70 s="tok-kw">else</span>.=&gt;.<sp
58d20 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>.
58d40 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
58d60 3e 2e 49 6e 64 65 78 4f 75 74 4f 66 42 6f 75 6e 64 73 2c 0a 20 20 20 20 7d 3b 0a 7d 3c 2f 63 6f >.IndexOutOfBounds,.....};.}</co
58d80 64 65 3e 3c 2f 70 72 65 3e 3c 2f 66 69 67 75 72 65 3e 0a 0a 20 20 20 20 20 20 3c 70 3e 0a 20 20 de></pre></figure>........<p>...
58da0 20 20 20 20 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 69 ....<code><span.class="tok-kw">i
58dc0 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
58de0 22 3e 65 6c 73 65 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 20 70 72 6f 6e 67 73 20 63 61 6e 20 ">else</span></code>.prongs.can.
58e00 62 65 20 75 73 65 64 20 61 73 20 61 20 74 79 70 65 20 73 61 66 65 0a 20 20 20 20 20 20 61 6c 74 be.used.as.a.type.safe.......alt
58e20 65 72 6e 61 74 69 76 65 20 74 6f 20 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 ernative.to.<code><span.class="t
58e40 6f 6b 2d 6b 77 22 3e 69 6e 6c 69 6e 65 3c 2f 73 70 61 6e 3e 20 3c 73 70 61 6e 20 63 6c 61 73 73 ok-kw">inline</span>.<span.class
58e60 3d 22 74 6f 6b 2d 6b 77 22 3e 66 6f 72 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 20 6c 6f 6f 70 ="tok-kw">for</span></code>.loop
58e80 73 3a 0a 20 20 20 20 20 20 3c 2f 70 3e 0a 20 20 20 20 20 20 3c 66 69 67 75 72 65 3e 3c 66 69 67 s:.......</p>.......<figure><fig
58ea0 63 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
58ec0 61 73 73 3d 22 66 69 6c 65 22 3e 74 65 73 74 5f 69 6e 6c 69 6e 65 5f 65 6c 73 65 2e 7a 69 67 3c ass="file">test_inline_else.zig<
58ee0 2f 63 69 74 65 3e 3c 2f 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
58f00 70 61 6e 20 63 6c 61 73 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>.
58f20 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">
58f40 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-
58f60 73 74 72 22 3e 26 71 75 6f 74 3b 73 74 64 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 29 3b 0a 3c 73 str">&quot;std&quot;</span>);.<s
58f80 70 61 6e 20 63 6c 61 73 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>.
58fa0 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 65 63 74 expectEqual.=.std.testing.expect
58fc0 45 71 75 61 6c 3b 0a 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 63 6f 6e Equal;..<span.class="tok-kw">con
58fe0 73 74 3c 2f 73 70 61 6e 3e 20 53 6c 69 63 65 54 79 70 65 41 20 3d 20 3c 73 70 61 6e 20 63 6c 61 st</span>.SliceTypeA.=.<span.cla
59000 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 20 ss="tok-kw">extern</span>.<span.
59020 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 73 74 72 75 63 74 3c 2f 73 70 61 6e 3e 20 7b 0a 20 class="tok-kw">struct</span>.{..
59040 20 20 20 6c 65 6e 3a 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 75 ...len:.<span.class="tok-type">u
59060 73 69 7a 65 3c 2f 73 70 61 6e 3e 2c 0a 20 20 20 20 70 74 72 3a 20 5b 2a 5d 3c 73 70 61 6e 20 63 size</span>,.....ptr:.[*]<span.c
59080 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 75 33 32 3c 2f 73 70 61 6e 3e 2c 0a 7d 3b 0a 3c lass="tok-type">u32</span>,.};.<
590a0 73 70 61 6e 20 63 6c 61 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>
590c0 20 53 6c 69 63 65 54 79 70 65 42 20 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b .SliceTypeB.=.<span.class="tok-k
590e0 77 22 3e 65 78 74 65 72 6e 3c 2f 73 70 61 6e 3e 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f w">extern</span>.<span.class="to
59100 6b 2d 6b 77 22 3e 73 74 72 75 63 74 3c 2f 73 70 61 6e 3e 20 7b 0a 20 20 20 20 70 74 72 3a 20 5b k-kw">struct</span>.{.....ptr:.[
59120 2a 5d 53 6c 69 63 65 54 79 70 65 41 2c 0a 20 20 20 20 6c 65 6e 3a 20 3c 73 70 61 6e 20 63 6c 61 *]SliceTypeA,.....len:.<span.cla
59140 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 75 73 69 7a 65 3c 2f 73 70 61 6e 3e 2c 0a 7d 3b 0a 3c ss="tok-type">usize</span>,.};.<
59160 73 70 61 6e 20 63 6c 61 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>
59180 20 41 6e 79 53 6c 69 63 65 20 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 .AnySlice.=.<span.class="tok-kw"
591a0 3e 75 6e 69 6f 6e 3c 2f 73 70 61 6e 3e 28 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b >union</span>(<span.class="tok-k
591c0 77 22 3e 65 6e 75 6d 3c 2f 73 70 61 6e 3e 29 20 7b 0a 20 20 20 20 61 3a 20 53 6c 69 63 65 54 79 w">enum</span>).{.....a:.SliceTy
591e0 70 65 41 2c 0a 20 20 20 20 62 3a 20 53 6c 69 63 65 54 79 70 65 42 2c 0a 20 20 20 20 63 3a 20 5b peA,.....b:.SliceTypeB,.....c:.[
59200 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
59220 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
59240 61 6e 3e 2c 0a 20 20 20 20 64 3a 20 5b 5d 41 6e 79 53 6c 69 63 65 2c 0a 7d 3b 0a 0a 3c 73 70 61 an>,.....d:.[]AnySlice,.};..<spa
59260 6e 20 63 6c 61 73 73 3d 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
59280 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 66 6e 22 3e 77 69 74 68 46 6f 72 3c 2f 73 70 61 6e 3e 28 61 .class="tok-fn">withFor</span>(a
592a0 6e 79 3a 20 41 6e 79 53 6c 69 63 65 29 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 ny:.AnySlice).<span.class="tok-t
592c0 79 70 65 22 3e 75 73 69 7a 65 3c 2f 73 70 61 6e 3e 20 7b 0a 20 20 20 20 3c 73 70 61 6e 20 63 6c ype">usize</span>.{.....<span.cl
592e0 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 63 6f 6e 73 74 3c 2f 73 70 61 6e 3e 20 54 61 67 20 3d 20 ass="tok-kw">const</span>.Tag.=.
59300 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 62 75 69 6c 74 69 6e 22 3e 40 74 79 70 65 49 <span.class="tok-builtin">@typeI
59320 6e 66 6f 3c 2f 73 70 61 6e 3e 28 41 6e 79 53 6c 69 63 65 29 2e 40 26 71 75 6f 74 3b 75 6e 69 6f nfo</span>(AnySlice).@&quot;unio
59340 6e 26 71 75 6f 74 3b 2e 74 61 67 5f 74 79 70 65 2e 3f 3b 0a 20 20 20 20 3c 73 70 61 6e 20 63 6c n&quot;.tag_type.?;.....<span.cl
59360 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
59380 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 66 6f 72 3c 2f 73 70 61 6e 3e 20 28 3c 73 70 61 .class="tok-kw">for</span>.(<spa
593a0 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 62 75 69 6c 74 69 6e 22 3e 40 74 79 70 65 49 6e 66 6f 3c n.class="tok-builtin">@typeInfo<
593c0 2f 73 70 61 6e 3e 28 54 61 67 29 2e 40 26 71 75 6f 74 3b 65 6e 75 6d 26 71 75 6f 74 3b 2e 66 69 /span>(Tag).@&quot;enum&quot;.fi
593e0 65 6c 64 73 29 20 7c 66 69 65 6c 64 7c 20 7b 0a 20 20 20 20 20 20 20 20 3c 73 70 61 6e 20 63 6c elds).|field|.{.........<span.cl
59400 61 73 73 3d 22 74 6f 6b 2d 63 6f 6d 6d 65 6e 74 22 3e 2f 2f 20 57 69 74 68 20 60 69 6e 6c 69 6e ass="tok-comment">//.With.`inlin
59420 65 20 66 6f 72 60 20 74 68 65 20 66 75 6e 63 74 69 6f 6e 20 67 65 74 73 20 67 65 6e 65 72 61 74 e.for`.the.function.gets.generat
59440 65 64 20 61 73 3c 2f 73 70 61 6e 3e 0a 20 20 20 20 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 ed.as</span>.........<span.class
59460 3d 22 74 6f 6b 2d 63 6f 6d 6d 65 6e 74 22 3e 2f 2f 20 61 20 73 65 72 69 65 73 20 6f 66 20 60 69 ="tok-comment">//.a.series.of.`i
59480 66 60 20 73 74 61 74 65 6d 65 6e 74 73 20 72 65 6c 79 69 6e 67 20 6f 6e 20 74 68 65 20 6f 70 74 f`.statements.relying.on.the.opt
594a0 69 6d 69 7a 65 72 3c 2f 73 70 61 6e 3e 0a 20 20 20 20 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 imizer</span>.........<span.clas
594c0 73 3d 22 74 6f 6b 2d 63 6f 6d 6d 65 6e 74 22 3e 2f 2f 20 74 6f 20 63 6f 6e 76 65 72 74 20 69 74 s="tok-comment">//.to.convert.it
594e0 20 74 6f 20 61 20 73 77 69 74 63 68 2e 3c 2f 73 70 61 6e 3e 0a 20 20 20 20 20 20 20 20 3c 73 70 .to.a.switch.</span>.........<sp
59500 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 69 66 3c 2f 73 70 61 6e 3e 20 28 66 69 65 an.class="tok-kw">if</span>.(fie
59520 6c 64 2e 76 61 6c 75 65 20 3d 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 62 75 69 ld.value.==.<span.class="tok-bui
59540 6c 74 69 6e 22 3e 40 69 6e 74 46 72 6f 6d 45 6e 75 6d 3c 2f 73 70 61 6e 3e 28 61 6e 79 29 29 20 ltin">@intFromEnum</span>(any)).
59560 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b {.............<span.class="tok-k
59580 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
595a0 6b 2d 62 75 69 6c 74 69 6e 22 3e 40 66 69 65 6c 64 3c 2f 73 70 61 6e 3e 28 61 6e 79 2c 20 66 69 k-builtin">@field</span>(any,.fi
595c0 65 6c 64 2e 6e 61 6d 65 29 2e 6c 65 6e 3b 0a 20 20 20 20 20 20 20 20 7d 0a 20 20 20 20 7d 0a 20 eld.name).len;.........}.....}..
595e0 20 20 20 3c 73 70 61 6e 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">//.
59600 57 68 65 6e 20 75 73 69 6e 67 20 60 69 6e 6c 69 6e 65 20 66 6f 72 60 20 74 68 65 20 63 6f 6d 70 When.using.`inline.for`.the.comp
59620 69 6c 65 72 20 64 6f 65 73 6e 27 74 20 6b 6e 6f 77 20 74 68 61 74 20 65 76 65 72 79 3c 2f 73 70 iler.doesn't.know.that.every</sp
59640 61 6e 3e 0a 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 63 6f 6d 6d 65 6e 74 an>.....<span.class="tok-comment
59660 22 3e 2f 2f 20 70 6f 73 73 69 62 6c 65 20 63 61 73 65 20 68 61 73 20 62 65 65 6e 20 68 61 6e 64 ">//.possible.case.has.been.hand
59680 6c 65 64 20 72 65 71 75 69 72 69 6e 67 20 61 6e 20 65 78 70 6c 69 63 69 74 20 60 75 6e 72 65 61 led.requiring.an.explicit.`unrea
596a0 63 68 61 62 6c 65 60 2e 3c 2f 73 70 61 6e 3e 0a 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d chable`.</span>.....<span.class=
596c0 22 74 6f 6b 2d 6b 77 22 3e 75 6e 72 65 61 63 68 61 62 6c 65 3c 2f 73 70 61 6e 3e 3b 0a 7d 0a 0a "tok-kw">unreachable</span>;.}..
596e0 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>.<
59700 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 66 6e 22 3e 77 69 74 68 53 77 69 74 63 68 3c 2f span.class="tok-fn">withSwitch</
59720 73 70 61 6e 3e 28 61 6e 79 3a 20 41 6e 79 53 6c 69 63 65 29 20 3c 73 70 61 6e 20 63 6c 61 73 73 span>(any:.AnySlice).<span.class
59740 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 75 73 69 7a 65 3c 2f 73 70 61 6e 3e 20 7b 0a 20 20 20 20 3c ="tok-type">usize</span>.{.....<
59760 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
59780 3e 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 73 77 69 74 63 68 3c 2f 73 >.<span.class="tok-kw">switch</s
597a0 70 61 6e 3e 20 28 61 6e 79 29 20 7b 0a 20 20 20 20 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 pan>.(any).{.........<span.class
597c0 3d 22 74 6f 6b 2d 63 6f 6d 6d 65 6e 74 22 3e 2f 2f 20 57 69 74 68 20 60 69 6e 6c 69 6e 65 20 65 ="tok-comment">//.With.`inline.e
597e0 6c 73 65 60 20 74 68 65 20 66 75 6e 63 74 69 6f 6e 20 69 73 20 65 78 70 6c 69 63 69 74 6c 79 20 lse`.the.function.is.explicitly.
59800 67 65 6e 65 72 61 74 65 64 3c 2f 73 70 61 6e 3e 0a 20 20 20 20 20 20 20 20 3c 73 70 61 6e 20 63 generated</span>.........<span.c
59820 6c 61 73 73 3d 22 74 6f 6b 2d 63 6f 6d 6d 65 6e 74 22 3e 2f 2f 20 61 73 20 74 68 65 20 64 65 73 lass="tok-comment">//.as.the.des
59840 69 72 65 64 20 73 77 69 74 63 68 20 61 6e 64 20 74 68 65 20 63 6f 6d 70 69 6c 65 72 20 63 61 6e ired.switch.and.the.compiler.can
59860 20 63 68 65 63 6b 20 74 68 61 74 3c 2f 73 70 61 6e 3e 0a 20 20 20 20 20 20 20 20 3c 73 70 61 6e .check.that</span>.........<span
59880 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 63 6f 6d 6d 65 6e 74 22 3e 2f 2f 20 65 76 65 72 79 20 70 6f .class="tok-comment">//.every.po
598a0 73 73 69 62 6c 65 20 63 61 73 65 20 69 73 20 68 61 6e 64 6c 65 64 2e 3c 2f 73 70 61 6e 3e 0a 20 ssible.case.is.handled.</span>..
598c0 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 69 .......<span.class="tok-kw">inli
598e0 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 65 ne</span>.<span.class="tok-kw">e
59900 6c 73 65 3c 2f 73 70 61 6e 3e 20 3d 26 67 74 3b 20 7c 73 6c 69 63 65 7c 20 73 6c 69 63 65 2e 6c lse</span>.=&gt;.|slice|.slice.l
59920 65 6e 2c 0a 20 20 20 20 7d 3b 0a 7d 0a 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b en,.....};.}..<span.class="tok-k
59940 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-
59960 73 74 72 22 3e 26 71 75 6f 74 3b 69 6e 6c 69 6e 65 20 66 6f 72 20 61 6e 64 20 69 6e 6c 69 6e 65 str">&quot;inline.for.and.inline
59980 20 65 6c 73 65 20 73 69 6d 69 6c 61 72 69 74 79 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 20 7b 0a .else.similarity&quot;</span>.{.
599a0 20 20 20 20 3c 73 70 61 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</
599c0 73 70 61 6e 3e 20 61 6e 79 20 3d 20 41 6e 79 53 6c 69 63 65 7b 20 2e 63 20 3d 20 3c 73 70 61 6e span>.any.=.AnySlice{..c.=.<span
599e0 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
59a00 74 3b 3c 2f 73 70 61 6e 3e 20 7d 3b 0a 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f t;</span>.};.....<span.class="to
59a20 6b 2d 6b 77 22 3e 74 72 79 3c 2f 73 70 61 6e 3e 20 65 78 70 65 63 74 45 71 75 61 6c 28 3c 73 70 k-kw">try</span>.expectEqual(<sp
59a40 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 35 3c 2f 73 70 61 6e 3e 2c 20 an.class="tok-number">5</span>,.
59a60 77 69 74 68 46 6f 72 28 61 6e 79 29 29 3b 0a 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 withFor(any));.....<span.class="
59a80 74 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(<
59aa0 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 35 3c 2f 73 70 61 6e 3e span.class="tok-number">5</span>
59ac0 2c 20 77 69 74 68 53 77 69 74 63 68 28 61 6e 79 29 29 3b 0a 7d 3c 2f 63 6f 64 65 3e 3c 2f 70 72 ,.withSwitch(any));.}</code></pr
59ae0 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
59b00 6c 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
59b20 6f 6e 3e 3c 70 72 65 3e 3c 73 61 6d 70 3e 24 20 3c 6b 62 64 3e 7a 69 67 20 74 65 73 74 20 74 65 on><pre><samp>$.<kbd>zig.test.te
59b40 73 74 5f 69 6e 6c 69 6e 65 5f 65 6c 73 65 2e 7a 69 67 3c 2f 6b 62 64 3e 0a 31 2f 31 20 74 65 73 st_inline_else.zig</kbd>.1/1.tes
59b60 74 5f 69 6e 6c 69 6e 65 5f 65 6c 73 65 2e 74 65 73 74 2e 69 6e 6c 69 6e 65 20 66 6f 72 20 61 6e t_inline_else.test.inline.for.an
59b80 64 20 69 6e 6c 69 6e 65 20 65 6c 73 65 20 73 69 6d 69 6c 61 72 69 74 79 2e 2e 2e 4f 4b 0a 41 6c d.inline.else.similarity...OK.Al
59ba0 6c 20 31 20 74 65 73 74 73 20 70 61 73 73 65 64 2e 0a 3c 2f 73 61 6d 70 3e 3c 2f 70 72 65 3e 3c l.1.tests.passed..</samp></pre><
59bc0 2f 66 69 67 75 72 65 3e 0a 0a 20 20 20 20 20 20 3c 70 3e 0a 20 20 20 20 20 20 57 68 65 6e 20 75 /figure>........<p>.......When.u
59be0 73 69 6e 67 20 61 6e 20 69 6e 6c 69 6e 65 20 70 72 6f 6e 67 20 73 77 69 74 63 68 69 6e 67 20 6f sing.an.inline.prong.switching.o
59c00 6e 20 61 6e 20 75 6e 69 6f 6e 20 61 6e 20 61 64 64 69 74 69 6f 6e 61 6c 20 63 61 70 74 75 72 65 n.an.union.an.additional.capture
59c20 0a 20 20 20 20 20 20 63 61 6e 20 62 65 20 75 73 65 64 20 74 6f 20 6f 62 74 61 69 6e 20 74 68 65 .......can.be.used.to.obtain.the
59c40 20 75 6e 69 6f 6e 27 73 20 65 6e 75 6d 20 74 61 67 20 76 61 6c 75 65 20 61 74 20 63 6f 6d 70 74 .union's.enum.tag.value.at.compt
59c60 69 6d 65 2c 20 65 76 65 6e 20 74 68 6f 75 67 68 0a 20 20 20 20 20 20 69 74 73 20 70 61 79 6c 6f ime,.even.though.......its.paylo
59c80 61 64 20 6d 69 67 68 74 20 6f 6e 6c 79 20 62 65 20 6b 6e 6f 77 6e 20 61 74 20 72 75 6e 74 69 6d ad.might.only.be.known.at.runtim
59ca0 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 67 e........</p>.......<figure><fig
59cc0 63 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
59ce0 61 73 73 3d 22 66 69 6c 65 22 3e 74 65 73 74 5f 69 6e 6c 69 6e 65 5f 73 77 69 74 63 68 5f 75 6e ass="file">test_inline_switch_un
59d00 69 6f 6e 5f 74 61 67 2e 7a 69 67 3c 2f 63 69 74 65 3e 3c 2f 66 69 67 63 61 70 74 69 6f 6e 3e 3c ion_tag.zig</cite></figcaption><
59d20 70 72 65 3e 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 63 pre><code><span.class="tok-kw">c
59d40 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
59d60 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
59d80 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;
59da0 3c 2f 73 70 61 6e 3e 29 3b 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 63 </span>);.<span.class="tok-kw">c
59dc0 6f 6e 73 74 3c 2f 73 70 61 6e 3e 20 65 78 70 65 63 74 45 71 75 61 6c 20 3d 20 73 74 64 2e 74 65 onst</span>.expectEqual.=.std.te
59de0 73 74 69 6e 67 2e 65 78 70 65 63 74 45 71 75 61 6c 3b 0a 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d sting.expectEqual;..<span.class=
59e00 22 74 6f 6b 2d 6b 77 22 3e 63 6f 6e 73 74 3c 2f 73 70 61 6e 3e 20 55 20 3d 20 3c 73 70 61 6e 20 "tok-kw">const</span>.U.=.<span.
59e20 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
59e40 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 0a n.class="tok-kw">enum</span>).{.
59e60 20 20 20 20 61 3a 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 75 33 ....a:.<span.class="tok-type">u3
59e80 32 3c 2f 73 70 61 6e 3e 2c 0a 20 20 20 20 62 3a 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 2</span>,.....b:.<span.class="to
59ea0 6b 2d 74 79 70 65 22 3e 66 33 32 3c 2f 73 70 61 6e 3e 2c 0a 7d 3b 0a 0a 3c 73 70 61 6e 20 63 6c k-type">f32</span>,.};..<span.cl
59ec0 61 73 73 3d 22 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
59ee0 73 73 3d 22 74 6f 6b 2d 66 6e 22 3e 67 65 74 4e 75 6d 3c 2f 73 70 61 6e 3e 28 75 3a 20 55 29 20 ss="tok-fn">getNum</span>(u:.U).
59f00 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
59f20 3e 20 7b 0a 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 73 77 69 >.{.....<span.class="tok-kw">swi
59f40 74 63 68 3c 2f 73 70 61 6e 3e 20 28 75 29 20 7b 0a 20 20 20 20 20 20 20 20 3c 73 70 61 6e 20 63 tch</span>.(u).{.........<span.c
59f60 6c 61 73 73 3d 22 74 6f 6b 2d 63 6f 6d 6d 65 6e 74 22 3e 2f 2f 20 48 65 72 65 20 60 6e 75 6d 60 lass="tok-comment">//.Here.`num`
59f80 20 69 73 20 61 20 72 75 6e 74 69 6d 65 2d 6b 6e 6f 77 6e 20 76 61 6c 75 65 20 74 68 61 74 20 69 .is.a.runtime-known.value.that.i
59fa0 73 20 65 69 74 68 65 72 3c 2f 73 70 61 6e 3e 0a 20 20 20 20 20 20 20 20 3c 73 70 61 6e 20 63 6c s.either</span>.........<span.cl
59fc0 61 73 73 3d 22 74 6f 6b 2d 63 6f 6d 6d 65 6e 74 22 3e 2f 2f 20 60 75 2e 61 60 20 6f 72 20 60 75 ass="tok-comment">//.`u.a`.or.`u
59fe0 2e 62 60 20 61 6e 64 20 60 74 61 67 60 20 69 73 20 60 75 60 27 73 20 63 6f 6d 70 74 69 6d 65 2d .b`.and.`tag`.is.`u`'s.comptime-
5a000 6b 6e 6f 77 6e 20 74 61 67 20 76 61 6c 75 65 2e 3c 2f 73 70 61 6e 3e 0a 20 20 20 20 20 20 20 20 known.tag.value.</span>.........
5a020 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 69 6e 6c 69 6e 65 3c 2f 73 70 61 <span.class="tok-kw">inline</spa
5a040 6e 3e 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 65 6c 73 65 3c 2f 73 70 n>.<span.class="tok-kw">else</sp
5a060 61 6e 3e 20 3d 26 67 74 3b 20 7c 6e 75 6d 2c 20 74 61 67 7c 20 7b 0a 20 20 20 20 20 20 20 20 20 an>.=&gt;.|num,.tag|.{..........
5a080 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
5a0a0 3e 20 28 74 61 67 20 3d 3d 20 2e 62 29 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 >.(tag.==..b).{.................
5a0c0 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
5a0e0 6e 3e 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 62 75 69 6c 74 69 6e 22 3e 40 69 6e n>.<span.class="tok-builtin">@in
5a100 74 46 72 6f 6d 46 6c 6f 61 74 3c 2f 73 70 61 6e 3e 28 6e 75 6d 29 3b 0a 20 20 20 20 20 20 20 20 tFromFloat</span>(num);.........
5a120 20 20 20 20 7d 0a 20 20 20 20 20 20 20 20 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 ....}.............<span.class="t
5a140 6f 6b 2d 6b 77 22 3e 72 65 74 75 72 6e 3c 2f 73 70 61 6e 3e 20 6e 75 6d 3b 0a 20 20 20 20 20 20 ok-kw">return</span>.num;.......
5a160 20 20 7d 2c 0a 20 20 20 20 7d 0a 7d 0a 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b ..},.....}.}..<span.class="tok-k
5a180 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-
5a1a0 73 74 72 22 3e 26 71 75 6f 74 3b 74 65 73 74 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 20 7b 0a 20 str">&quot;test&quot;</span>.{..
5a1c0 20 20 20 3c 73 70 61 6e 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
5a1e0 70 61 6e 3e 20 75 20 3d 20 55 7b 20 2e 62 20 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f pan>.u.=.U{..b.=.<span.class="to
5a200 6b 2d 6e 75 6d 62 65 72 22 3e 34 32 3c 2f 73 70 61 6e 3e 20 7d 3b 0a 20 20 20 20 3c 73 70 61 6e k-number">42</span>.};.....<span
5a220 20 63 6c 61 73 73 3d 22 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
5a240 74 45 71 75 61 6c 28 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e tEqual(<span.class="tok-number">
5a260 34 32 3c 2f 73 70 61 6e 3e 2c 20 67 65 74 4e 75 6d 28 75 29 29 3b 0a 7d 3c 2f 63 6f 64 65 3e 3c 42</span>,.getNum(u));.}</code><
5a280 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
5a2a0 6e 20 63 6c 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
5a2c0 70 74 69 6f 6e 3e 3c 70 72 65 3e 3c 73 61 6d 70 3e 24 20 3c 6b 62 64 3e 7a 69 67 20 74 65 73 74 ption><pre><samp>$.<kbd>zig.test
5a2e0 20 74 65 73 74 5f 69 6e 6c 69 6e 65 5f 73 77 69 74 63 68 5f 75 6e 69 6f 6e 5f 74 61 67 2e 7a 69 .test_inline_switch_union_tag.zi
5a300 67 3c 2f 6b 62 64 3e 0a 31 2f 31 20 74 65 73 74 5f 69 6e 6c 69 6e 65 5f 73 77 69 74 63 68 5f 75 g</kbd>.1/1.test_inline_switch_u
5a320 6e 69 6f 6e 5f 74 61 67 2e 74 65 73 74 2e 74 65 73 74 2e 2e 2e 4f 4b 0a 41 6c 6c 20 31 20 74 65 nion_tag.test.test...OK.All.1.te
5a340 73 74 73 20 70 61 73 73 65 64 2e 0a 3c 2f 73 61 6d 70 3e 3c 2f 70 72 65 3e 3c 2f 66 69 67 75 72 sts.passed..</samp></pre></figur
5a360 65 3e 0a 0a 20 20 20 20 20 20 3c 70 3e 53 65 65 20 61 6c 73 6f 3a 3c 2f 70 3e 3c 75 6c 3e 0a 3c e>........<p>See.also:</p><ul>.<
5a380 6c 69 3e 3c 61 20 68 72 65 66 3d 22 23 69 6e 6c 69 6e 65 2d 77 68 69 6c 65 22 3e 69 6e 6c 69 6e li><a.href="#inline-while">inlin
5a3a0 65 20 77 68 69 6c 65 3c 2f 61 3e 3c 2f 6c 69 3e 0a 3c 6c 69 3e 3c 61 20 68 72 65 66 3d 22 23 69 e.while</a></li>.<li><a.href="#i
5a3c0 6e 6c 69 6e 65 2d 66 6f 72 22 3e 69 6e 6c 69 6e 65 20 66 6f 72 3c 2f 61 3e 3c 2f 6c 69 3e 0a 3c nline-for">inline.for</a></li>.<
5a3e0 6c 69 3e 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 li><a.href="#Tagged-union">Tagge
5a400 64 20 75 6e 69 6f 6e 3c 2f 61 3e 3c 2f 6c 69 3e 0a 3c 2f 75 6c 3e 0a 0a 20 20 20 20 20 20 0a 20 d.union</a></li>.</ul>..........
5a420 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 61 20 68 .............<h2.id="while"><a.h
5a440 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 6c 65 3c ref="nav.xhtml#toc-while">while<
5a460 2f 61 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 6c 65 22 /a>.<a.class="hdr".href="#while"
5a480 3e c2 a7 3c 2f 61 3e 3c 2f 68 32 3e 0a 0a 20 20 20 20 20 20 3c 70 3e 0a 20 20 20 20 20 20 41 20 >..</a></h2>........<p>.......A.
5a4a0 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 64 6c 79 while.loop.is.used.to.repeatedly
5a4c0 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 20 20 20 .execute.an.expression.until....
5a4e0 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 72 20 74 ...some.condition.is.no.longer.t
5a500 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 3e 3c 66 rue........</p>.......<figure><f
5a520 69 67 63 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.
5a540 63 6c 61 73 73 3d 22 66 69 6c 65 22 3e 74 65 73 74 5f 77 68 69 6c 65 2e 7a 69 67 3c 2f 63 69 74 class="file">test_while.zig</cit
5a560 65 3e 3c 2f 66 69 67 63 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.
5a580 63 6c 61 73 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
5a5a0 63 74 45 71 75 61 6c 20 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 62 75 69 6c 74 ctEqual.=.<span.class="tok-built
5a5c0 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="
5a5e0 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>)
5a600 2e 74 65 73 74 69 6e 67 2e 65 78 70 65 63 74 45 71 75 61 6c 3b 0a 0a 3c 73 70 61 6e 20 63 6c 61 .testing.expectEqual;..<span.cla
5a620 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
5a640 61 73 73 3d 22 74 6f 6b 2d 73 74 72 22 3e 26 71 75 6f 74 3b 77 68 69 6c 65 20 62 61 73 69 63 26 ass="tok-str">&quot;while.basic&
5a660 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 20 7b 0a 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 quot;</span>.{.....<span.class="
5a680 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
5a6a0 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
5a6c0 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 30 3c 2f 73 70 61 6e 3e 3b 0a 20 n.class="tok-number">0</span>;..
5a6e0 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 77 68 69 6c 65 3c 2f 73 ...<span.class="tok-kw">while</s
5a700 70 61 6e 3e 20 28 69 20 26 6c 74 3b 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 pan>.(i.&lt;.<span.class="tok-nu
5a720 6d 62 65 72 22 3e 31 30 3c 2f 73 70 61 6e 3e 29 20 7b 0a 20 20 20 20 20 20 20 20 69 20 2b 3d 20 mber">10</span>).{.........i.+=.
5a740 3c 73 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
5a760 3e 3b 0a 20 20 20 20 7d 0a 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 >;.....}.....<span.class="tok-kw
5a780 22 3e 74 72 79 3c 2f 73 70 61 6e 3e 20 65 78 70 65 63 74 45 71 75 61 6c 28 3c 73 70 61 6e 20 63 ">try</span>.expectEqual(<span.c
5a7a0 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 31 30 3c 2f 73 70 61 6e 3e 2c 20 69 29 3b lass="tok-number">10</span>,.i);
5a7c0 0a 7d 3c 2f 63 6f 64 65 3e 3c 2f 70 72 65 3e 3c 2f 66 69 67 75 72 65 3e 3c 66 69 67 75 72 65 3e .}</code></pre></figure><figure>
5a7e0 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
5a800 65 6c 6c 3c 2f 66 69 67 63 61 70 74 69 6f 6e 3e 3c 70 72 65 3e 3c 73 61 6d 70 3e 24 20 3c 6b 62 ell</figcaption><pre><samp>$.<kb
5a820 64 3e 7a 69 67 20 74 65 73 74 20 74 65 73 74 5f 77 68 69 6c 65 2e 7a 69 67 3c 2f 6b 62 64 3e 0a d>zig.test.test_while.zig</kbd>.
5a840 31 2f 31 20 74 65 73 74 5f 77 68 69 6c 65 2e 74 65 73 74 2e 77 68 69 6c 65 20 62 61 73 69 63 2e 1/1.test_while.test.while.basic.
5a860 2e 2e 4f 4b 0a 41 6c 6c 20 31 20 74 65 73 74 73 20 70 61 73 73 65 64 2e 0a 3c 2f 73 61 6d 70 3e ..OK.All.1.tests.passed..</samp>
5a880 3c 2f 70 72 65 3e 3c 2f 66 69 67 75 72 65 3e 0a 0a 20 20 20 20 20 20 3c 70 3e 0a 20 20 20 20 20 </pre></figure>........<p>......
5a8a0 20 55 73 65 20 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e .Use.<code><span.class="tok-kw">
5a8c0 62 72 65 61 6b 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 20 74 6f 20 65 78 69 74 20 61 20 77 68 break</span></code>.to.exit.a.wh
5a8e0 69 6c 65 20 6c 6f 6f 70 20 65 61 72 6c 79 2e 0a 20 20 20 20 20 20 3c 2f 70 3e 0a 20 20 20 20 20 ile.loop.early........</p>......
5a900 20 3c 66 69 67 75 72 65 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-
5a920 63 61 70 22 3e 3c 63 69 74 65 20 63 6c 61 73 73 3d 22 66 69 6c 65 22 3e 74 65 73 74 5f 77 68 69 cap"><cite.class="file">test_whi
5a940 6c 65 5f 62 72 65 61 6b 2e 7a 69 67 3c 2f 63 69 74 65 3e 3c 2f 66 69 67 63 61 70 74 69 6f 6e 3e le_break.zig</cite></figcaption>
5a960 3c 70 72 65 3e 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e <pre><code><span.class="tok-kw">
5a980 63 6f 6e 73 74 3c 2f 73 70 61 6e 3e 20 65 78 70 65 63 74 45 71 75 61 6c 20 3d 20 3c 73 70 61 6e const</span>.expectEqual.=.<span
5a9a0 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
5a9c0 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;
5a9e0 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
5aa00 45 71 75 61 6c 3b 0a 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 74 65 73 Equal;..<span.class="tok-kw">tes
5aa20 74 3c 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">&
5aa40 71 75 6f 74 3b 77 68 69 6c 65 20 62 72 65 61 6b 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 20 7b 0a quot;while.break&quot;</span>.{.
5aa60 20 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
5aa80 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 22 3e 75 73 an>.i:.<span.class="tok-type">us
5aaa0 69 7a 65 3c 2f 73 70 61 6e 3e 20 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 ize</span>.=.<span.class="tok-nu
5aac0 6d 62 65 72 22 3e 30 3c 2f 73 70 61 6e 3e 3b 0a 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d mber">0</span>;.....<span.class=
5aae0 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 6c 61 "tok-kw">while</span>.(<span.cla
5ab00 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 0a 20 20 20 ss="tok-null">true</span>).{....
5ab20 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
5ab40 61 6e 3e 20 28 69 20 3d 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 an>.(i.==.<span.class="tok-numbe
5ab60 72 22 3e 31 30 3c 2f 73 70 61 6e 3e 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 3c 73 70 61 6e 20 r">10</span>).............<span.
5ab80 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 62 72 65 61 6b 3c 2f 73 70 61 6e 3e 3b 0a 20 20 20 class="tok-kw">break</span>;....
5aba0 20 20 20 20 20 69 20 2b 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 .....i.+=.<span.class="tok-numbe
5abc0 72 22 3e 31 3c 2f 73 70 61 6e 3e 3b 0a 20 20 20 20 7d 0a 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 r">1</span>;.....}.....<span.cla
5abe0 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 74 72 79 3c 2f 73 70 61 6e 3e 20 65 78 70 65 63 74 45 71 75 ss="tok-kw">try</span>.expectEqu
5ac00 61 6c 28 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 31 30 3c 2f al(<span.class="tok-number">10</
5ac20 73 70 61 6e 3e 2c 20 69 29 3b 0a 7d 3c 2f 63 6f 64 65 3e 3c 2f 70 72 65 3e 3c 2f 66 69 67 75 72 span>,.i);.}</code></pre></figur
5ac40 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
5ac60 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><
5ac80 73 61 6d 70 3e 24 20 3c 6b 62 64 3e 7a 69 67 20 74 65 73 74 20 74 65 73 74 5f 77 68 69 6c 65 5f samp>$.<kbd>zig.test.test_while_
5aca0 62 72 65 61 6b 2e 7a 69 67 3c 2f 6b 62 64 3e 0a 31 2f 31 20 74 65 73 74 5f 77 68 69 6c 65 5f 62 break.zig</kbd>.1/1.test_while_b
5acc0 72 65 61 6b 2e 74 65 73 74 2e 77 68 69 6c 65 20 62 72 65 61 6b 2e 2e 2e 4f 4b 0a 41 6c 6c 20 31 reak.test.while.break...OK.All.1
5ace0 20 74 65 73 74 73 20 70 61 73 73 65 64 2e 0a 3c 2f 73 61 6d 70 3e 3c 2f 70 72 65 3e 3c 2f 66 69 .tests.passed..</samp></pre></fi
5ad00 67 75 72 65 3e 0a 0a 20 20 20 20 20 20 3c 70 3e 0a 20 20 20 20 20 20 55 73 65 20 3c 63 6f 64 65 gure>........<p>.......Use.<code
5ad20 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 63 6f 6e 74 69 6e 75 65 3c 2f ><span.class="tok-kw">continue</
5ad40 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 20 74 6f 20 6a 75 6d 70 20 62 61 63 6b 20 74 6f 20 74 68 65 span></code>.to.jump.back.to.the
5ad60 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 3c 2f .beginning.of.the.loop........</
5ad80 70 3e 0a 20 20 20 20 20 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
5ada0 73 73 3d 22 7a 69 67 2d 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">
5adc0 74 65 73 74 5f 77 68 69 6c 65 5f 63 6f 6e 74 69 6e 75 65 2e 7a 69 67 3c 2f 63 69 74 65 3e 3c 2f test_while_continue.zig</cite></
5ade0 66 69 67 63 61 70 74 69 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
5ae00 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 45 71 s="tok-kw">const</span>.expectEq
5ae20 75 61 6c 20 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 62 75 69 6c 74 69 6e 22 3e ual.=.<span.class="tok-builtin">
5ae40 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-
5ae60 73 74 72 22 3e 26 71 75 6f 74 3b 73 74 64 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 29 2e 74 65 73 str">&quot;std&quot;</span>).tes
5ae80 74 69 6e 67 2e 65 78 70 65 63 74 45 71 75 61 6c 3b 0a 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 ting.expectEqual;..<span.class="
5aea0 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=
5aec0 22 74 6f 6b 2d 73 74 72 22 3e 26 71 75 6f 74 3b 77 68 69 6c 65 20 63 6f 6e 74 69 6e 75 65 26 71 "tok-str">&quot;while.continue&q
5aee0 75 6f 74 3b 3c 2f 73 70 61 6e 3e 20 7b 0a 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 uot;</span>.{.....<span.class="t
5af00 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 73 ok-kw">var</span>.i:.<span.class
5af20 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 75 73 69 7a 65 3c 2f 73 70 61 6e 3e 20 3d 20 3c 73 70 61 6e ="tok-type">usize</span>.=.<span
5af40 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 30 3c 2f 73 70 61 6e 3e 3b 0a 20 20 .class="tok-number">0</span>;...
5af60 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
5af80 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
5afa0 3c 2f 73 70 61 6e 3e 29 20 7b 0a 20 20 20 20 20 20 20 20 69 20 2b 3d 20 3c 73 70 61 6e 20 63 6c </span>).{.........i.+=.<span.cl
5afc0 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 31 3c 2f 73 70 61 6e 3e 3b 0a 20 20 20 20 20 ass="tok-number">1</span>;......
5afe0 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
5b000 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 62 65 >.(i.&lt;.<span.class="tok-numbe
5b020 72 22 3e 31 30 3c 2f 73 70 61 6e 3e 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 3c 73 70 61 6e 20 r">10</span>).............<span.
5b040 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 63 6f 6e 74 69 6e 75 65 3c 2f 73 70 61 6e 3e 3b 0a class="tok-kw">continue</span>;.
5b060 20 20 20 20 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 62 72 65 ........<span.class="tok-kw">bre
5b080 61 6b 3c 2f 73 70 61 6e 3e 3b 0a 20 20 20 20 7d 0a 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 ak</span>;.....}.....<span.class
5b0a0 3d 22 74 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 ="tok-kw">try</span>.expectEqual
5b0c0 28 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 31 30 3c 2f 73 70 (<span.class="tok-number">10</sp
5b0e0 61 6e 3e 2c 20 69 29 3b 0a 7d 3c 2f 63 6f 64 65 3e 3c 2f 70 72 65 3e 3c 2f 66 69 67 75 72 65 3e an>,.i);.}</code></pre></figure>
5b100 3c 66 69 67 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
5b120 2d 63 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
5b140 6d 70 3e 24 20 3c 6b 62 64 3e 7a 69 67 20 74 65 73 74 20 74 65 73 74 5f 77 68 69 6c 65 5f 63 6f mp>$.<kbd>zig.test.test_while_co
5b160 6e 74 69 6e 75 65 2e 7a 69 67 3c 2f 6b 62 64 3e 0a 31 2f 31 20 74 65 73 74 5f 77 68 69 6c 65 5f ntinue.zig</kbd>.1/1.test_while_
5b180 63 6f 6e 74 69 6e 75 65 2e 74 65 73 74 2e 77 68 69 6c 65 20 63 6f 6e 74 69 6e 75 65 2e 2e 2e 4f continue.test.while.continue...O
5b1a0 4b 0a 41 6c 6c 20 31 20 74 65 73 74 73 20 70 61 73 73 65 64 2e 0a 3c 2f 73 61 6d 70 3e 3c 2f 70 K.All.1.tests.passed..</samp></p
5b1c0 72 65 3e 3c 2f 66 69 67 75 72 65 3e 0a 0a 20 20 20 20 20 20 3c 70 3e 0a 20 20 20 20 20 20 57 68 re></figure>........<p>.......Wh
5b1e0 69 6c 65 20 6c 6f 6f 70 73 20 73 75 70 70 6f 72 74 20 61 20 63 6f 6e 74 69 6e 75 65 20 65 78 70 ile.loops.support.a.continue.exp
5b200 72 65 73 73 69 6f 6e 20 77 68 69 63 68 20 69 73 20 65 78 65 63 75 74 65 64 20 77 68 65 6e 20 74 ression.which.is.executed.when.t
5b220 68 65 20 6c 6f 6f 70 0a 20 20 20 20 20 20 69 73 20 63 6f 6e 74 69 6e 75 65 64 2e 20 54 68 65 20 he.loop.......is.continued..The.
5b240 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 63 6f 6e 74 69 <code><span.class="tok-kw">conti
5b260 6e 75 65 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 20 6b 65 79 77 6f 72 64 20 72 65 73 70 65 63 nue</span></code>.keyword.respec
5b280 74 73 20 74 68 69 73 20 65 78 70 72 65 73 73 69 6f 6e 2e 0a 20 20 20 20 20 20 3c 2f 70 3e 0a 20 ts.this.expression........</p>..
5b2a0 20 20 20 20 20 3c 66 69 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="
5b2c0 7a 69 67 2d 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
5b2e0 5f 77 68 69 6c 65 5f 63 6f 6e 74 69 6e 75 65 5f 65 78 70 72 65 73 73 69 6f 6e 2e 7a 69 67 3c 2f _while_continue_expression.zig</
5b300 63 69 74 65 3e 3c 2f 66 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
5b320 61 6e 20 63 6c 61 73 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
5b340 78 70 65 63 74 45 71 75 61 6c 20 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 62 75 xpectEqual.=.<span.class="tok-bu
5b360 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
5b380 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
5b3a0 6e 3e 29 2e 74 65 73 74 69 6e 67 2e 65 78 70 65 63 74 45 71 75 61 6c 3b 0a 3c 73 70 61 6e 20 63 n>).testing.expectEqual;.<span.c
5b3c0 6c 61 73 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
5b3e0 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
5b400 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
5b420 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
5b440 6e 67 2e 65 78 70 65 63 74 3b 0a 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 ng.expect;..<span.class="tok-kw"
5b460 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
5b480 72 22 3e 26 71 75 6f 74 3b 77 68 69 6c 65 20 6c 6f 6f 70 20 63 6f 6e 74 69 6e 75 65 20 65 78 70 r">&quot;while.loop.continue.exp
5b4a0 72 65 73 73 69 6f 6e 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 20 7b 0a 20 20 20 20 3c 73 70 61 6e ression&quot;</span>.{.....<span
5b4c0 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 76 61 72 3c 2f 73 70 61 6e 3e 20 69 3a 20 3c 73 .class="tok-kw">var</span>.i:.<s
5b4e0 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
5b500 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</
5b520 73 70 61 6e 3e 3b 0a 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e span>;.....<span.class="tok-kw">
5b540 77 68 69 6c 65 3c 2f 73 70 61 6e 3e 20 28 69 20 26 6c 74 3b 20 3c 73 70 61 6e 20 63 6c 61 73 73 while</span>.(i.&lt;.<span.class
5b560 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 3a 20 28 69 20 2b 3d ="tok-number">10</span>).:.(i.+=
5b580 20 3c 73 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
5b5a0 6e 3e 29 20 7b 7d 0a 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e n>).{}.....<span.class="tok-kw">
5b5c0 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
5b5e0 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 31 30 3c 2f 73 70 61 6e 3e 2c 20 69 29 3b 0a 7d ss="tok-number">10</span>,.i);.}
5b600 0a 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 74 65 73 74 3c 2f 73 70 61 ..<span.class="tok-kw">test</spa
5b620 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 77 n>.<span.class="tok-str">&quot;w
5b640 68 69 6c 65 20 6c 6f 6f 70 20 63 6f 6e 74 69 6e 75 65 20 65 78 70 72 65 73 73 69 6f 6e 2c 20 6d hile.loop.continue.expression,.m
5b660 6f 72 65 20 63 6f 6d 70 6c 69 63 61 74 65 64 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 20 7b 0a 20 ore.complicated&quot;</span>.{..
5b680 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
5b6a0 6e 3e 20 69 3a 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 75 73 69 n>.i:.<span.class="tok-type">usi
5b6c0 7a 65 3c 2f 73 70 61 6e 3e 20 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d ze</span>.=.<span.class="tok-num
5b6e0 62 65 72 22 3e 31 3c 2f 73 70 61 6e 3e 3b 0a 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 ber">1</span>;.....<span.class="
5b700 74 6f 6b 2d 6b 77 22 3e 76 61 72 3c 2f 73 70 61 6e 3e 20 6a 3a 20 3c 73 70 61 6e 20 63 6c 61 73 tok-kw">var</span>.j:.<span.clas
5b720 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
5b740 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 31 3c 2f 73 70 61 6e 3e 3b 0a 20 n.class="tok-number">1</span>;..
5b760 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 77 68 69 6c 65 3c 2f 73 ...<span.class="tok-kw">while</s
5b780 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 73 3d 22 74 6f pan>.(i.*.j.&lt;.<span.class="to
5b7a0 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 0a 20 20 20 20 k-number">2000</span>).:.({.....
5b7c0 20 20 20 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 ....i.*=.<span.class="tok-number
5b7e0 22 3e 32 3c 2f 73 70 61 6e 3e 3b 0a 20 20 20 20 20 20 20 20 6a 20 2a 3d 20 3c 73 70 61 6e 20 63 ">2</span>;.........j.*=.<span.c
5b800 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 33 3c 2f 73 70 61 6e 3e 3b 0a 20 20 20 20 lass="tok-number">3</span>;.....
5b820 7d 29 20 7b 0a 20 20 20 20 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 }).{.........<span.class="tok-kw
5b840 22 3e 63 6f 6e 73 74 3c 2f 73 70 61 6e 3e 20 6d 79 5f 69 6a 20 3d 20 69 20 2a 20 6a 3b 0a 20 20 ">const</span>.my_ij.=.i.*.j;...
5b860 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</
5b880 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 61 6e 20 63 6c span>.expect(my_ij.&lt;.<span.cl
5b8a0 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 32 30 30 30 3c 2f 73 70 61 6e 3e 29 3b 0a 20 ass="tok-number">2000</span>);..
5b8c0 20 20 20 7d 0a 7d 3c 2f 63 6f 64 65 3e 3c 2f 70 72 65 3e 3c 2f 66 69 67 75 72 65 3e 3c 66 69 67 ...}.}</code></pre></figure><fig
5b8e0 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
5b900 22 3e 53 68 65 6c 6c 3c 2f 66 69 67 63 61 70 74 69 6f 6e 3e 3c 70 72 65 3e 3c 73 61 6d 70 3e 24 ">Shell</figcaption><pre><samp>$
5b920 20 3c 6b 62 64 3e 7a 69 67 20 74 65 73 74 20 74 65 73 74 5f 77 68 69 6c 65 5f 63 6f 6e 74 69 6e .<kbd>zig.test.test_while_contin
5b940 75 65 5f 65 78 70 72 65 73 73 69 6f 6e 2e 7a 69 67 3c 2f 6b 62 64 3e 0a 31 2f 32 20 74 65 73 74 ue_expression.zig</kbd>.1/2.test
5b960 5f 77 68 69 6c 65 5f 63 6f 6e 74 69 6e 75 65 5f 65 78 70 72 65 73 73 69 6f 6e 2e 74 65 73 74 2e _while_continue_expression.test.
5b980 77 68 69 6c 65 20 6c 6f 6f 70 20 63 6f 6e 74 69 6e 75 65 20 65 78 70 72 65 73 73 69 6f 6e 2e 2e while.loop.continue.expression..
5b9a0 2e 4f 4b 0a 32 2f 32 20 74 65 73 74 5f 77 68 69 6c 65 5f 63 6f 6e 74 69 6e 75 65 5f 65 78 70 72 .OK.2/2.test_while_continue_expr
5b9c0 65 73 73 69 6f 6e 2e 74 65 73 74 2e 77 68 69 6c 65 20 6c 6f 6f 70 20 63 6f 6e 74 69 6e 75 65 20 ession.test.while.loop.continue.
5b9e0 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 2e 2e 2e 4f expression,.more.complicated...O
5ba00 4b 0a 41 6c 6c 20 32 20 74 65 73 74 73 20 70 61 73 73 65 64 2e 0a 3c 2f 73 61 6d 70 3e 3c 2f 70 K.All.2.tests.passed..</samp></p
5ba20 72 65 3e 3c 2f 66 69 67 75 72 65 3e 0a 0a 20 20 20 20 20 20 3c 70 3e 0a 20 20 20 20 20 20 57 68 re></figure>........<p>.......Wh
5ba40 69 6c 65 20 6c 6f 6f 70 73 20 61 72 65 20 65 78 70 72 65 73 73 69 6f 6e 73 2e 20 54 68 65 20 72 ile.loops.are.expressions..The.r
5ba60 65 73 75 6c 74 20 6f 66 20 74 68 65 20 65 78 70 72 65 73 73 69 6f 6e 20 69 73 20 74 68 65 0a 20 esult.of.the.expression.is.the..
5ba80 20 20 20 20 20 72 65 73 75 6c 74 20 6f 66 20 74 68 65 20 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 .....result.of.the.<code><span.c
5baa0 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 63 6f 64 65 3e lass="tok-kw">else</span></code>
5bac0 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 63 68 20 69 .clause.of.a.while.loop,.which.i
5bae0 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 6e 64 69 74 s.executed.when.......the.condit
5bb00 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 74 65 64 20 ion.of.the.while.loop.is.tested.
5bb20 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 70 3e 0a 20 as.false........</p>.......<p>..
5bb40 20 20 20 20 20 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e .....<code><span.class="tok-kw">
5bb60 62 72 65 61 6b 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 break</span></code>,.like.<code>
5bb80 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
5bba0 6e 3e 3c 2f 63 6f 64 65 3e 2c 20 61 63 63 65 70 74 73 20 61 20 76 61 6c 75 65 0a 20 20 20 20 20 n></code>,.accepts.a.value......
5bbc0 20 20 20 20 20 20 20 20 20 70 61 72 61 6d 65 74 65 72 2e 20 54 68 69 73 20 69 73 20 74 68 65 20 .........parameter..This.is.the.
5bbe0 72 65 73 75 6c 74 20 6f 66 20 74 68 65 20 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d result.of.the.<code><span.class=
5bc00 22 74 6f 6b 2d 6b 77 22 3e 77 68 69 6c 65 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 20 65 78 70 "tok-kw">while</span></code>.exp
5bc20 72 65 73 73 69 6f 6e 2e 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 57 68 65 6e 20 ression....................When.
5bc40 79 6f 75 20 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 62 you.<code><span.class="tok-kw">b
5bc60 72 65 61 6b 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 20 66 72 6f 6d 20 61 20 77 68 69 6c 65 20 reak</span></code>.from.a.while.
5bc80 6c 6f 6f 70 2c 20 74 68 65 20 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b loop,.the.<code><span.class="tok
5bca0 2d 6b 77 22 3e 65 6c 73 65 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 20 62 72 61 6e 63 68 20 69 -kw">else</span></code>.branch.i
5bcc0 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 20 20 20 3c 2f 70 s.not.......evaluated........</p
5bce0 3e 0a 20 20 20 20 20 20 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
5bd00 73 3d 22 7a 69 67 2d 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
5bd20 65 73 74 5f 77 68 69 6c 65 5f 65 6c 73 65 2e 7a 69 67 3c 2f 63 69 74 65 3e 3c 2f 66 69 67 63 61 est_while_else.zig</cite></figca
5bd40 70 74 69 6f 6e 3e 3c 70 72 65 3e 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f ption><pre><code><span.class="to
5bd60 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
5bd80 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
5bda0 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
5bdc0 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
5bde0 74 3b 0a 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 74 65 73 74 3c 2f 73 t;..<span.class="tok-kw">test</s
5be00 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
5be20 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 0a 20 20 20 20 3c ;while.else&quot;</span>.{.....<
5be40 73 70 61 6e 20 63 6c 61 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
5be60 78 70 65 63 74 28 72 61 6e 67 65 48 61 73 4e 75 6d 62 65 72 28 3c 73 70 61 6e 20 63 6c 61 73 73 xpect(rangeHasNumber(<span.class
5be80 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 30 3c 2f 73 70 61 6e 3e 2c 20 3c 73 70 61 6e 20 63 6c ="tok-number">0</span>,.<span.cl
5bea0 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 31 30 3c 2f 73 70 61 6e 3e 2c 20 3c 73 70 61 ass="tok-number">10</span>,.<spa
5bec0 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 29 3b n.class="tok-number">5</span>));
5bee0 0a 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 74 72 79 3c 2f 73 .....<span.class="tok-kw">try</s
5bf00 70 61 6e 3e 20 65 78 70 65 63 74 28 21 72 61 6e 67 65 48 61 73 4e 75 6d 62 65 72 28 3c 73 70 61 pan>.expect(!rangeHasNumber(<spa
5bf20 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>,.<
5bf40 73 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
5bf60 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 35 3c 2f >,.<span.class="tok-number">15</
5bf80 73 70 61 6e 3e 29 29 3b 0a 7d 0a 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 span>));.}..<span.class="tok-kw"
5bfa0 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">
5bfc0 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 3a 20 3c 73 70 rangeHasNumber</span>(begin:.<sp
5bfe0 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>
5c000 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 65 22 3e 75 73 ,.end:.<span.class="tok-type">us
5c020 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 6c 61 73 73 3d ize</span>,.number:.<span.class=
5c040 22 74 6f 6b 2d 74 79 70 65 22 3e 75 73 69 7a 65 3c 2f 73 70 61 6e 3e 29 20 3c 73 70 61 6e 20 63 "tok-type">usize</span>).<span.c
5c060 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 62 6f 6f 6c 3c 2f 73 70 61 6e 3e 20 7b 0a 20 20 lass="tok-type">bool</span>.{...
5c080 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
5c0a0 3e 20 69 20 3d 20 62 65 67 69 6e 3b 0a 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f >.i.=.begin;.....<span.class="to
5c0c0 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=
5c0e0 22 74 6f 6b 2d 6b 77 22 3e 77 68 69 6c 65 3c 2f 73 70 61 6e 3e 20 28 69 20 26 6c 74 3b 20 65 6e "tok-kw">while</span>.(i.&lt;.en
5c100 64 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 d).:.(i.+=.<span.class="tok-numb
5c120 65 72 22 3e 31 3c 2f 73 70 61 6e 3e 29 20 7b 0a 20 20 20 20 20 20 20 20 3c 73 70 61 6e 20 63 6c er">1</span>).{.........<span.cl
5c140 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 69 66 3c 2f 73 70 61 6e 3e 20 28 69 20 3d 3d 20 6e 75 6d ass="tok-kw">if</span>.(i.==.num
5c160 62 65 72 29 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 ber).{.............<span.class="
5c180 74 6f 6b 2d 6b 77 22 3e 62 72 65 61 6b 3c 2f 73 70 61 6e 3e 20 3c 73 70 61 6e 20 63 6c 61 73 73 tok-kw">break</span>.<span.class
5c1a0 3d 22 74 6f 6b 2d 6e 75 6c 6c 22 3e 74 72 75 65 3c 2f 73 70 61 6e 3e 3b 0a 20 20 20 20 20 20 20 ="tok-null">true</span>;........
5c1c0 20 7d 0a 20 20 20 20 7d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 65 6c .}.....}.<span.class="tok-kw">el
5c1e0 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 22 se</span>.<span.class="tok-null"
5c200 3e 66 61 6c 73 65 3c 2f 73 70 61 6e 3e 3b 0a 7d 3c 2f 63 6f 64 65 3e 3c 2f 70 72 65 3e 3c 2f 66 >false</span>;.}</code></pre></f
5c220 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=
5c240 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
5c260 72 65 3e 3c 73 61 6d 70 3e 24 20 3c 6b 62 64 3e 7a 69 67 20 74 65 73 74 20 74 65 73 74 5f 77 68 re><samp>$.<kbd>zig.test.test_wh
5c280 69 6c 65 5f 65 6c 73 65 2e 7a 69 67 3c 2f 6b 62 64 3e 0a 31 2f 31 20 74 65 73 74 5f 77 68 69 6c ile_else.zig</kbd>.1/1.test_whil
5c2a0 65 5f 65 6c 73 65 2e 74 65 73 74 2e 77 68 69 6c 65 20 65 6c 73 65 2e 2e 2e 4f 4b 0a 41 6c 6c 20 e_else.test.while.else...OK.All.
5c2c0 31 20 74 65 73 74 73 20 70 61 73 73 65 64 2e 0a 3c 2f 73 61 6d 70 3e 3c 2f 70 72 65 3e 3c 2f 66 1.tests.passed..</samp></pre></f
5c2e0 69 67 75 72 65 3e 0a 0a 20 20 20 20 20 20 3c 68 33 20 69 64 3d 22 4c 61 62 65 6c 65 64 2d 77 68 igure>........<h3.id="Labeled-wh
5c300 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 62 65 ile"><a.href="nav.xhtml#toc-Labe
5c320 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 61 20 led-while">Labeled.while</a>.<a.
5c340 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 6c 65 class="hdr".href="#Labeled-while
5c360 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 20 3c ">..</a></h3>........<p>When.a.<
5c380 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 77 68 69 6c 65 3c code><span.class="tok-kw">while<
5c3a0 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 20 6c 6f 6f 70 20 69 73 20 6c 61 62 65 6c 65 64 2c 20 69 /span></code>.loop.is.labeled,.i
5c3c0 74 20 63 61 6e 20 62 65 20 72 65 66 65 72 65 6e 63 65 64 20 66 72 6f 6d 20 61 20 3c 63 6f 64 65 t.can.be.referenced.from.a.<code
5c3e0 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 62 72 65 61 6b 3c 2f 73 70 61 ><span.class="tok-kw">break</spa
5c400 6e 3e 3c 2f 63 6f 64 65 3e 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 6f 72 20 3c 63 6f 64 65 n></code>...............or.<code
5c420 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 63 6f 6e 74 69 6e 75 65 3c 2f ><span.class="tok-kw">continue</
5c440 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 20 66 72 6f 6d 20 77 69 74 68 69 6e 20 61 20 6e 65 73 74 65 span></code>.from.within.a.neste
5c460 64 20 6c 6f 6f 70 3a 3c 2f 70 3e 0a 20 20 20 20 20 20 3c 66 69 67 75 72 65 3e 3c 66 69 67 63 61 d.loop:</p>.......<figure><figca
5c480 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
5c4a0 73 3d 22 66 69 6c 65 22 3e 74 65 73 74 5f 77 68 69 6c 65 5f 6e 65 73 74 65 64 5f 62 72 65 61 6b s="file">test_while_nested_break
5c4c0 2e 7a 69 67 3c 2f 63 69 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
5c4e0 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 74 65 73 74 3c 2f 73 70 de><span.class="tok-kw">test</sp
5c500 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;
5c520 6e 65 73 74 65 64 20 62 72 65 61 6b 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 20 7b 0a 20 20 20 20 nested.break&quot;</span>.{.....
5c540 6f 75 74 65 72 3a 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 77 68 69 6c outer:.<span.class="tok-kw">whil
5c560 65 3c 2f 73 70 61 6e 3e 20 28 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6c 6c 22 e</span>.(<span.class="tok-null"
5c580 3e 74 72 75 65 3c 2f 73 70 61 6e 3e 29 20 7b 0a 20 20 20 20 20 20 20 20 3c 73 70 61 6e 20 63 6c >true</span>).{.........<span.cl
5c5a0 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 77 68 69 6c 65 3c 2f 73 70 61 6e 3e 20 28 3c 73 70 61 6e ass="tok-kw">while</span>.(<span
5c5c0 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6c 6c 22 3e 74 72 75 65 3c 2f 73 70 61 6e 3e 29 20 7b .class="tok-null">true</span>).{
5c5e0 0a 20 20 20 20 20 20 20 20 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 .............<span.class="tok-kw
5c600 22 3e 62 72 65 61 6b 3c 2f 73 70 61 6e 3e 20 3a 6f 75 74 65 72 3b 0a 20 20 20 20 20 20 20 20 7d ">break</span>.:outer;.........}
5c620 0a 20 20 20 20 7d 0a 7d 0a 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 74 .....}.}..<span.class="tok-kw">t
5c640 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"
5c660 3e 26 71 75 6f 74 3b 6e 65 73 74 65 64 20 63 6f 6e 74 69 6e 75 65 26 71 75 6f 74 3b 3c 2f 73 70 >&quot;nested.continue&quot;</sp
5c680 61 6e 3e 20 7b 0a 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 76 an>.{.....<span.class="tok-kw">v
5c6a0 61 72 3c 2f 73 70 61 6e 3e 20 69 3a 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 ar</span>.i:.<span.class="tok-ty
5c6c0 70 65 22 3e 75 73 69 7a 65 3c 2f 73 70 61 6e 3e 20 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 pe">usize</span>.=.<span.class="
5c6e0 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 30 3c 2f 73 70 61 6e 3e 3b 0a 20 20 20 20 6f 75 74 65 72 3a tok-number">0</span>;.....outer:
5c700 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 77 68 69 6c 65 3c 2f 73 70 61 .<span.class="tok-kw">while</spa
5c720 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 62 n>.(i.&lt;.<span.class="tok-numb
5c740 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 61 er">10</span>).:.(i.+=.<span.cla
5c760 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 31 3c 2f 73 70 61 6e 3e 29 20 7b 0a 20 20 20 20 ss="tok-number">1</span>).{.....
5c780 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 77 68 69 6c 65 3c 2f ....<span.class="tok-kw">while</
5c7a0 73 70 61 6e 3e 20 28 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6c 6c 22 3e 74 72 span>.(<span.class="tok-null">tr
5c7c0 75 65 3c 2f 73 70 61 6e 3e 29 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 3c 73 70 61 6e 20 63 ue</span>).{.............<span.c
5c7e0 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 63 6f 6e 74 69 6e 75 65 3c 2f 73 70 61 6e 3e 20 3a 6f lass="tok-kw">continue</span>.:o
5c800 75 74 65 72 3b 0a 20 20 20 20 20 20 20 20 7d 0a 20 20 20 20 7d 0a 7d 3c 2f 63 6f 64 65 3e 3c 2f uter;.........}.....}.}</code></
5c820 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
5c840 20 63 6c 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
5c860 74 69 6f 6e 3e 3c 70 72 65 3e 3c 73 61 6d 70 3e 24 20 3c 6b 62 64 3e 7a 69 67 20 74 65 73 74 20 tion><pre><samp>$.<kbd>zig.test.
5c880 74 65 73 74 5f 77 68 69 6c 65 5f 6e 65 73 74 65 64 5f 62 72 65 61 6b 2e 7a 69 67 3c 2f 6b 62 64 test_while_nested_break.zig</kbd
5c8a0 3e 0a 31 2f 32 20 74 65 73 74 5f 77 68 69 6c 65 5f 6e 65 73 74 65 64 5f 62 72 65 61 6b 2e 74 65 >.1/2.test_while_nested_break.te
5c8c0 73 74 2e 6e 65 73 74 65 64 20 62 72 65 61 6b 2e 2e 2e 4f 4b 0a 32 2f 32 20 74 65 73 74 5f 77 68 st.nested.break...OK.2/2.test_wh
5c8e0 69 6c 65 5f 6e 65 73 74 65 64 5f 62 72 65 61 6b 2e 74 65 73 74 2e 6e 65 73 74 65 64 20 63 6f 6e ile_nested_break.test.nested.con
5c900 74 69 6e 75 65 2e 2e 2e 4f 4b 0a 41 6c 6c 20 32 20 74 65 73 74 73 20 70 61 73 73 65 64 2e 0a 3c tinue...OK.All.2.tests.passed..<
5c920 2f 73 61 6d 70 3e 3c 2f 70 72 65 3e 3c 2f 66 69 67 75 72 65 3e 0a 0a 20 20 20 20 20 20 0a 20 20 /samp></pre></figure>...........
5c940 20 20 20 20 3c 68 33 20 69 64 3d 22 77 68 69 6c 65 2d 77 69 74 68 2d 4f 70 74 69 6f 6e 61 6c 73 ....<h3.id="while-with-Optionals
5c960 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 77 68 69 6c 65 2d 77 "><a.href="nav.xhtml#toc-while-w
5c980 69 74 68 2d 4f 70 74 69 6f 6e 61 6c 73 22 3e 77 68 69 6c 65 20 77 69 74 68 20 4f 70 74 69 6f 6e ith-Optionals">while.with.Option
5c9a0 61 6c 73 3c 2f 61 3e 20 3c 61 20 63 6c 61 73 73 3d 22 68 64 72 22 20 68 72 65 66 3d 22 23 77 68 als</a>.<a.class="hdr".href="#wh
5c9c0 69 6c 65 2d 77 69 74 68 2d 4f 70 74 69 6f 6e 61 6c 73 22 3e c2 a7 3c 2f 61 3e 3c 2f 68 33 3e 0a ile-with-Optionals">..</a></h3>.
5c9e0 0a 20 20 20 20 20 20 3c 70 3e 0a 20 20 20 20 20 20 4a 75 73 74 20 6c 69 6b 65 20 3c 61 20 68 72 .......<p>.......Just.like.<a.hr
5ca00 65 66 3d 22 23 69 66 22 3e 69 66 3c 2f 61 3e 20 65 78 70 72 65 73 73 69 6f 6e 73 2c 20 77 68 69 ef="#if">if</a>.expressions,.whi
5ca20 6c 65 20 6c 6f 6f 70 73 20 63 61 6e 20 74 61 6b 65 20 61 6e 20 6f 70 74 69 6f 6e 61 6c 20 61 73 le.loops.can.take.an.optional.as
5ca40 20 74 68 65 0a 20 20 20 20 20 20 63 6f 6e 64 69 74 69 6f 6e 20 61 6e 64 20 63 61 70 74 75 72 65 .the.......condition.and.capture
5ca60 20 74 68 65 20 70 61 79 6c 6f 61 64 2e 20 57 68 65 6e 20 3c 61 20 68 72 65 66 3d 22 23 6e 75 6c .the.payload..When.<a.href="#nul
5ca80 6c 22 3e 6e 75 6c 6c 3c 2f 61 3e 20 69 73 20 65 6e 63 6f 75 6e 74 65 72 65 64 20 74 68 65 20 6c l">null</a>.is.encountered.the.l
5caa0 6f 6f 70 0a 20 20 20 20 20 20 65 78 69 74 73 2e 0a 20 20 20 20 20 20 3c 2f 70 3e 0a 20 20 20 20 oop.......exits........</p>.....
5cac0 20 20 3c 70 3e 0a 20 20 20 20 20 20 57 68 65 6e 20 74 68 65 20 3c 63 6f 64 65 3e 7c 78 7c 3c 2f ..<p>.......When.the.<code>|x|</
5cae0 63 6f 64 65 3e 20 73 79 6e 74 61 78 20 69 73 20 70 72 65 73 65 6e 74 20 6f 6e 20 61 20 3c 63 6f code>.syntax.is.present.on.a.<co
5cb00 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 77 68 69 6c 65 3c 2f 73 de><span.class="tok-kw">while</s
5cb20 70 61 6e 3e 3c 2f 63 6f 64 65 3e 20 65 78 70 72 65 73 73 69 6f 6e 2c 0a 20 20 20 20 20 20 74 68 pan></code>.expression,.......th
5cb40 65 20 77 68 69 6c 65 20 63 6f 6e 64 69 74 69 6f 6e 20 6d 75 73 74 20 68 61 76 65 20 61 6e 20 3c e.while.condition.must.have.an.<
5cb60 61 20 68 72 65 66 3d 22 23 4f 70 74 69 6f 6e 61 6c 2d 54 79 70 65 22 3e 4f 70 74 69 6f 6e 61 6c a.href="#Optional-Type">Optional
5cb80 20 54 79 70 65 3c 2f 61 3e 2e 0a 20 20 20 20 20 20 3c 2f 70 3e 0a 20 20 20 20 20 20 3c 70 3e 0a .Type</a>........</p>.......<p>.
5cba0 20 20 20 20 20 20 54 68 65 20 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b ......The.<code><span.class="tok
5cbc0 2d 6b 77 22 3e 65 6c 73 65 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 20 62 72 61 6e 63 68 20 69 -kw">else</span></code>.branch.i
5cbe0 73 20 61 6c 6c 6f 77 65 64 20 6f 6e 20 6f 70 74 69 6f 6e 61 6c 20 69 74 65 72 61 74 69 6f 6e 2e s.allowed.on.optional.iteration.
5cc00 20 49 6e 20 74 68 69 73 20 63 61 73 65 2c 20 69 74 20 77 69 6c 6c 0a 20 20 20 20 20 20 62 65 20 .In.this.case,.it.will.......be.
5cc20 65 78 65 63 75 74 65 64 20 6f 6e 20 74 68 65 20 66 69 72 73 74 20 6e 75 6c 6c 20 76 61 6c 75 65 executed.on.the.first.null.value
5cc40 20 65 6e 63 6f 75 6e 74 65 72 65 64 2e 0a 20 20 20 20 20 20 3c 2f 70 3e 0a 20 20 20 20 20 20 3c .encountered........</p>.......<
5cc60 66 69 67 75 72 65 3e 3c 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
5cc80 70 22 3e 3c 63 69 74 65 20 63 6c 61 73 73 3d 22 66 69 6c 65 22 3e 74 65 73 74 5f 77 68 69 6c 65 p"><cite.class="file">test_while
5cca0 5f 6e 75 6c 6c 5f 63 61 70 74 75 72 65 2e 7a 69 67 3c 2f 63 69 74 65 3e 3c 2f 66 69 67 63 61 70 _null_capture.zig</cite></figcap
5ccc0 74 69 6f 6e 3e 3c 70 72 65 3e 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b tion><pre><code><span.class="tok
5cce0 2d 6b 77 22 3e 63 6f 6e 73 74 3c 2f 73 70 61 6e 3e 20 65 78 70 65 63 74 45 71 75 61 6c 20 3d 20 -kw">const</span>.expectEqual.=.
5cd00 3c 73 70 61 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
5cd20 74 3c 2f 73 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">&
5cd40 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
5cd60 78 70 65 63 74 45 71 75 61 6c 3b 0a 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 xpectEqual;..<span.class="tok-kw
5cd80 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
5cda0 74 72 22 3e 26 71 75 6f 74 3b 77 68 69 6c 65 20 6e 75 6c 6c 20 63 61 70 74 75 72 65 26 71 75 6f tr">&quot;while.null.capture&quo
5cdc0 74 3b 3c 2f 73 70 61 6e 3e 20 7b 0a 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b t;</span>.{.....<span.class="tok
5cde0 2d 6b 77 22 3e 76 61 72 3c 2f 73 70 61 6e 3e 20 73 75 6d 31 3a 20 3c 73 70 61 6e 20 63 6c 61 73 -kw">var</span>.sum1:.<span.clas
5ce00 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.
5ce20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 30 3c 2f 73 70 61 6e 3e 3b 0a 20 20 20 class="tok-number">0</span>;....
5ce40 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 6f 6b .numbers_left.=.<span.class="tok
5ce60 2d 6e 75 6d 62 65 72 22 3e 33 3c 2f 73 70 61 6e 3e 3b 0a 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 -number">3</span>;.....<span.cla
5ce80 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 65 76 65 6e 74 75 ss="tok-kw">while</span>.(eventu
5cea0 61 6c 6c 79 4e 75 6c 6c 53 65 71 75 65 6e 63 65 28 29 29 20 7c 76 61 6c 75 65 7c 20 7b 0a 20 20 allyNullSequence()).|value|.{...
5cec0 20 20 20 20 20 20 73 75 6d 31 20 2b 3d 20 76 61 6c 75 65 3b 0a 20 20 20 20 7d 0a 20 20 20 20 3c ......sum1.+=.value;.....}.....<
5cee0 73 70 61 6e 20 63 6c 61 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
5cf00 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
5cf20 65 72 22 3e 33 3c 2f 73 70 61 6e 3e 2c 20 73 75 6d 31 29 3b 0a 0a 20 20 20 20 3c 73 70 61 6e 20 er">3</span>,.sum1);......<span.
5cf40 63 6c 61 73 73 3d 22 74 6f 6b 2d 63 6f 6d 6d 65 6e 74 22 3e 2f 2f 20 6e 75 6c 6c 20 63 61 70 74 class="tok-comment">//.null.capt
5cf60 75 72 65 20 77 69 74 68 20 61 6e 20 65 6c 73 65 20 62 6c 6f 63 6b 3c 2f 73 70 61 6e 3e 0a 20 20 ure.with.an.else.block</span>...
5cf80 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
5cfa0 3e 20 73 75 6d 32 3a 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 75 >.sum2:.<span.class="tok-type">u
5cfc0 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
5cfe0 62 65 72 22 3e 30 3c 2f 73 70 61 6e 3e 3b 0a 20 20 20 20 6e 75 6d 62 65 72 73 5f 6c 65 66 74 20 ber">0</span>;.....numbers_left.
5d000 3d 20 3c 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
5d020 61 6e 3e 3b 0a 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 77 68 an>;.....<span.class="tok-kw">wh
5d040 69 6c 65 3c 2f 73 70 61 6e 3e 20 28 65 76 65 6e 74 75 61 6c 6c 79 4e 75 6c 6c 53 65 71 75 65 6e ile</span>.(eventuallyNullSequen
5d060 63 65 28 29 29 20 7c 76 61 6c 75 65 7c 20 7b 0a 20 20 20 20 20 20 20 20 73 75 6d 32 20 2b 3d 20 ce()).|value|.{.........sum2.+=.
5d080 76 61 6c 75 65 3b 0a 20 20 20 20 7d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 value;.....}.<span.class="tok-kw
5d0a0 22 3e 65 6c 73 65 3c 2f 73 70 61 6e 3e 20 7b 0a 20 20 20 20 20 20 20 20 3c 73 70 61 6e 20 63 6c ">else</span>.{.........<span.cl
5d0c0 61 73 73 3d 22 74 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 ass="tok-kw">try</span>.expectEq
5d0e0 75 61 6c 28 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 33 3c 2f ual(<span.class="tok-number">3</
5d100 73 70 61 6e 3e 2c 20 73 75 6d 32 29 3b 0a 20 20 20 20 7d 0a 0a 20 20 20 20 3c 73 70 61 6e 20 63 span>,.sum2);.....}......<span.c
5d120 6c 61 73 73 3d 22 74 6f 6b 2d 63 6f 6d 6d 65 6e 74 22 3e 2f 2f 20 6e 75 6c 6c 20 63 61 70 74 75 lass="tok-comment">//.null.captu
5d140 72 65 20 77 69 74 68 20 61 20 63 6f 6e 74 69 6e 75 65 20 65 78 70 72 65 73 73 69 6f 6e 3c 2f 73 re.with.a.continue.expression</s
5d160 70 61 6e 3e 0a 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 76 61 pan>.....<span.class="tok-kw">va
5d180 72 3c 2f 73 70 61 6e 3e 20 69 3a 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 r</span>.i:.<span.class="tok-typ
5d1a0 65 22 3e 75 33 32 3c 2f 73 70 61 6e 3e 20 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b e">u32</span>.=.<span.class="tok
5d1c0 2d 6e 75 6d 62 65 72 22 3e 30 3c 2f 73 70 61 6e 3e 3b 0a 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 -number">0</span>;.....<span.cla
5d1e0 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 33 3a 20 3c 73 70 ss="tok-kw">var</span>.sum3:.<sp
5d200 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>.=
5d220 20 3c 73 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
5d240 6e 3e 3b 0a 20 20 20 20 6e 75 6d 62 65 72 73 5f 6c 65 66 74 20 3d 20 3c 73 70 61 6e 20 63 6c 61 n>;.....numbers_left.=.<span.cla
5d260 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 33 3c 2f 73 70 61 6e 3e 3b 0a 20 20 20 20 3c 73 ss="tok-number">3</span>;.....<s
5d280 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>.
5d2a0 28 65 76 65 6e 74 75 61 6c 6c 79 4e 75 6c 6c 53 65 71 75 65 6e 63 65 28 29 29 20 7c 76 61 6c 75 (eventuallyNullSequence()).|valu
5d2c0 65 7c 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 e|.:.(i.+=.<span.class="tok-numb
5d2e0 65 72 22 3e 31 3c 2f 73 70 61 6e 3e 29 20 7b 0a 20 20 20 20 20 20 20 20 73 75 6d 33 20 2b 3d 20 er">1</span>).{.........sum3.+=.
5d300 76 61 6c 75 65 3b 0a 20 20 20 20 7d 0a 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f value;.....}.....<span.class="to
5d320 6b 2d 6b 77 22 3e 74 72 79 3c 2f 73 70 61 6e 3e 20 65 78 70 65 63 74 45 71 75 61 6c 28 3c 73 70 k-kw">try</span>.expectEqual(<sp
5d340 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 20 an.class="tok-number">3</span>,.
5d360 69 29 3b 0a 7d 0a 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 76 61 72 3c i);.}..<span.class="tok-kw">var<
5d380 2f 73 70 61 6e 3e 20 6e 75 6d 62 65 72 73 5f 6c 65 66 74 3a 20 3c 73 70 61 6e 20 63 6c 61 73 73 /span>.numbers_left:.<span.class
5d3a0 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
5d3c0 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>
5d3e0 3b 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 66 6e 3c 2f 73 70 61 6e 3e ;.<span.class="tok-kw">fn</span>
5d400 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 61 6c 6c 79 .<span.class="tok-fn">eventually
5d420 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 20 63 6c 61 NullSequence</span>().?<span.cla
5d440 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 75 33 32 3c 2f 73 70 61 6e 3e 20 7b 0a 20 20 20 20 3c ss="tok-type">u32</span>.{.....<
5d460 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
5d480 3e 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 69 66 3c 2f 73 70 61 6e 3e >.<span.class="tok-kw">if</span>
5d4a0 20 28 6e 75 6d 62 65 72 73 5f 6c 65 66 74 20 3d 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 .(numbers_left.==.<span.class="t
5d4c0 6f 6b 2d 6e 75 6d 62 65 72 22 3e 30 3c 2f 73 70 61 6e 3e 29 20 3c 73 70 61 6e 20 63 6c 61 73 73 ok-number">0</span>).<span.class
5d4e0 3d 22 74 6f 6b 2d 6e 75 6c 6c 22 3e 6e 75 6c 6c 3c 2f 73 70 61 6e 3e 20 3c 73 70 61 6e 20 63 6c ="tok-null">null</span>.<span.cl
5d500 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 0a ass="tok-kw">else</span>.blk:.{.
5d520 20 20 20 20 20 20 20 20 6e 75 6d 62 65 72 73 5f 6c 65 66 74 20 2d 3d 20 3c 73 70 61 6e 20 63 6c ........numbers_left.-=.<span.cl
5d540 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 31 3c 2f 73 70 61 6e 3e 3b 0a 20 20 20 20 20 ass="tok-number">1</span>;......
5d560 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
5d580 70 61 6e 3e 20 3a 62 6c 6b 20 6e 75 6d 62 65 72 73 5f 6c 65 66 74 3b 0a 20 20 20 20 7d 3b 0a 7d pan>.:blk.numbers_left;.....};.}
5d5a0 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
5d5c0 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
5d5e0 6c 3c 2f 66 69 67 63 61 70 74 69 6f 6e 3e 3c 70 72 65 3e 3c 73 61 6d 70 3e 24 20 3c 6b 62 64 3e l</figcaption><pre><samp>$.<kbd>
5d600 7a 69 67 20 74 65 73 74 20 74 65 73 74 5f 77 68 69 6c 65 5f 6e 75 6c 6c 5f 63 61 70 74 75 72 65 zig.test.test_while_null_capture
5d620 2e 7a 69 67 3c 2f 6b 62 64 3e 0a 31 2f 31 20 74 65 73 74 5f 77 68 69 6c 65 5f 6e 75 6c 6c 5f 63 .zig</kbd>.1/1.test_while_null_c
5d640 61 70 74 75 72 65 2e 74 65 73 74 2e 77 68 69 6c 65 20 6e 75 6c 6c 20 63 61 70 74 75 72 65 2e 2e apture.test.while.null.capture..
5d660 2e 4f 4b 0a 41 6c 6c 20 31 20 74 65 73 74 73 20 70 61 73 73 65 64 2e 0a 3c 2f 73 61 6d 70 3e 3c .OK.All.1.tests.passed..</samp><
5d680 2f 70 72 65 3e 3c 2f 66 69 67 75 72 65 3e 0a 0a 20 20 20 20 20 20 0a 0a 20 20 20 20 20 20 3c 68 /pre></figure>................<h
5d6a0 33 20 69 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 3.id="while-with-Error-Unions"><
5d6c0 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 2d 77 69 74 68 a.href="nav.xhtml#toc-while-with
5d6e0 2d 45 72 72 6f 72 2d 55 6e 69 6f 6e 73 22 3e 77 68 69 6c 65 20 77 69 74 68 20 45 72 72 6f 72 20 -Error-Unions">while.with.Error.
5d700 55 6e 69 6f 6e 73 3c 2f 61 3e 20 3c 61 20 63 6c 61 73 73 3d 22 68 64 72 22 20 68 72 65 66 3d 22 Unions</a>.<a.class="hdr".href="
5d720 23 77 68 69 6c 65 2d 77 69 74 68 2d 45 72 72 6f 72 2d 55 6e 69 6f 6e 73 22 3e c2 a7 3c 2f 61 3e #while-with-Error-Unions">..</a>
5d740 3c 2f 68 33 3e 0a 0a 20 20 20 20 20 20 3c 70 3e 0a 20 20 20 20 20 20 4a 75 73 74 20 6c 69 6b 65 </h3>........<p>.......Just.like
5d760 20 3c 61 20 68 72 65 66 3d 22 23 69 66 22 3e 69 66 3c 2f 61 3e 20 65 78 70 72 65 73 73 69 6f 6e .<a.href="#if">if</a>.expression
5d780 73 2c 20 77 68 69 6c 65 20 6c 6f 6f 70 73 20 63 61 6e 20 74 61 6b 65 20 61 6e 20 65 72 72 6f 72 s,.while.loops.can.take.an.error
5d7a0 20 75 6e 69 6f 6e 20 61 73 0a 20 20 20 20 20 20 74 68 65 20 63 6f 6e 64 69 74 69 6f 6e 20 61 6e .union.as.......the.condition.an
5d7c0 64 20 63 61 70 74 75 72 65 20 74 68 65 20 70 61 79 6c 6f 61 64 20 6f 72 20 74 68 65 20 65 72 72 d.capture.the.payload.or.the.err
5d7e0 6f 72 20 63 6f 64 65 2e 20 57 68 65 6e 20 74 68 65 0a 20 20 20 20 20 20 63 6f 6e 64 69 74 69 6f or.code..When.the.......conditio
5d800 6e 20 72 65 73 75 6c 74 73 20 69 6e 20 61 6e 20 65 72 72 6f 72 20 63 6f 64 65 20 74 68 65 20 65 n.results.in.an.error.code.the.e
5d820 6c 73 65 20 62 72 61 6e 63 68 20 69 73 20 65 76 61 6c 75 61 74 65 64 20 61 6e 64 0a 20 20 20 20 lse.branch.is.evaluated.and.....
5d840 20 20 74 68 65 20 6c 6f 6f 70 20 69 73 20 66 69 6e 69 73 68 65 64 2e 0a 20 20 20 20 20 20 3c 2f ..the.loop.is.finished........</
5d860 70 3e 0a 20 20 20 20 20 20 3c 70 3e 0a 20 20 20 20 20 20 57 68 65 6e 20 74 68 65 20 3c 63 6f 64 p>.......<p>.......When.the.<cod
5d880 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 65 6c 73 65 3c 2f 73 70 61 e><span.class="tok-kw">else</spa
5d8a0 6e 3e 20 7c 78 7c 3c 2f 63 6f 64 65 3e 20 73 79 6e 74 61 78 20 69 73 20 70 72 65 73 65 6e 74 20 n>.|x|</code>.syntax.is.present.
5d8c0 6f 6e 20 61 20 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e on.a.<code><span.class="tok-kw">
5d8e0 77 68 69 6c 65 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 20 65 78 70 72 65 73 73 69 6f 6e 2c 0a while</span></code>.expression,.
5d900 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 68 ......the.while.condition.must.h
5d920 61 76 65 20 61 6e 20 3c 61 20 68 72 65 66 3d 22 23 45 72 72 6f 72 2d 55 6e 69 6f 6e 2d 54 79 70 ave.an.<a.href="#Error-Union-Typ
5d940 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 20 3c e">Error.Union.Type</a>........<
5d960 2f 70 3e 0a 20 20 20 20 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
5d980 61 73 73 3d 22 7a 69 67 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"
5d9a0 3e 74 65 73 74 5f 77 68 69 6c 65 5f 65 72 72 6f 72 5f 63 61 70 74 75 72 65 2e 7a 69 67 3c 2f 63 >test_while_error_capture.zig</c
5d9c0 69 74 65 3e 3c 2f 66 69 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
5d9e0 6e 20 63 6c 61 73 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
5da00 70 65 63 74 45 71 75 61 6c 20 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 62 75 69 pectEqual.=.<span.class="tok-bui
5da20 6c 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
5da40 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
5da60 3e 29 2e 74 65 73 74 69 6e 67 2e 65 78 70 65 63 74 45 71 75 61 6c 3b 0a 0a 3c 73 70 61 6e 20 63 >).testing.expectEqual;..<span.c
5da80 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.
5daa0 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 65 72 72 6f class="tok-str">&quot;while.erro
5dac0 72 20 75 6e 69 6f 6e 20 63 61 70 74 75 72 65 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 20 7b 0a 20 r.union.capture&quot;</span>.{..
5dae0 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
5db00 6e 3e 20 73 75 6d 31 3a 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e n>.sum1:.<span.class="tok-type">
5db20 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
5db40 6d 62 65 72 22 3e 30 3c 2f 73 70 61 6e 3e 3b 0a 20 20 20 20 6e 75 6d 62 65 72 73 5f 6c 65 66 74 mber">0</span>;.....numbers_left
5db60 20 3d 20 3c 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
5db80 70 61 6e 3e 3b 0a 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 77 pan>;.....<span.class="tok-kw">w
5dba0 68 69 6c 65 3c 2f 73 70 61 6e 3e 20 28 65 76 65 6e 74 75 61 6c 6c 79 45 72 72 6f 72 53 65 71 75 hile</span>.(eventuallyErrorSequ
5dbc0 65 6e 63 65 28 29 29 20 7c 76 61 6c 75 65 7c 20 7b 0a 20 20 20 20 20 20 20 20 73 75 6d 31 20 2b ence()).|value|.{.........sum1.+
5dbe0 3d 20 76 61 6c 75 65 3b 0a 20 20 20 20 7d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d =.value;.....}.<span.class="tok-
5dc00 6b 77 22 3e 65 6c 73 65 3c 2f 73 70 61 6e 3e 20 7c 65 72 72 7c 20 7b 0a 20 20 20 20 20 20 20 20 kw">else</span>.|err|.{.........
5dc20 3c 73 70 61 6e 20 63 6c 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>.
5dc40 65 78 70 65 63 74 45 71 75 61 6c 28 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 expectEqual(<span.class="tok-kw"
5dc60 3e 65 72 72 6f 72 3c 2f 73 70 61 6e 3e 2e 52 65 61 63 68 65 64 5a 65 72 6f 2c 20 65 72 72 29 3b >error</span>.ReachedZero,.err);
5dc80 0a 20 20 20 20 7d 0a 7d 0a 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 76 .....}.}..<span.class="tok-kw">v
5dca0 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 73 70 61 6e 20 63 6c ar</span>.numbers_left:.<span.cl
5dcc0 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
5dce0 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
5dd00 61 6e 3e 3b 0a 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 66 6e 3c 2f 73 an>;..<span.class="tok-kw">fn</s
5dd20 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
5dd40 61 6c 6c 79 45 72 72 6f 72 53 65 71 75 65 6e 63 65 3c 2f 73 70 61 6e 3e 28 29 20 3c 73 70 61 6e allyErrorSequence</span>().<span
5dd60 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 61 6e 79 65 72 72 6f 72 3c 2f 73 70 61 6e .class="tok-type">anyerror</span
5dd80 3e 21 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 75 33 32 3c 2f 73 70 >!<span.class="tok-type">u32</sp
5dda0 61 6e 3e 20 7b 0a 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 72 an>.{.....<span.class="tok-kw">r
5ddc0 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
5dde0 22 3e 69 66 3c 2f 73 70 61 6e 3e 20 28 6e 75 6d 62 65 72 73 5f 6c 65 66 74 20 3d 3d 20 3c 73 70 ">if</span>.(numbers_left.==.<sp
5de00 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 30 3c 2f 73 70 61 6e 3e 29 20 an.class="tok-number">0</span>).
5de20 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
5de40 3e 2e 52 65 61 63 68 65 64 5a 65 72 6f 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b >.ReachedZero.<span.class="tok-k
5de60 77 22 3e 65 6c 73 65 3c 2f 73 70 61 6e 3e 20 62 6c 6b 3a 20 7b 0a 20 20 20 20 20 20 20 20 6e 75 w">else</span>.blk:.{.........nu
5de80 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 2d 6e mbers_left.-=.<span.class="tok-n
5dea0 75 6d 62 65 72 22 3e 31 3c 2f 73 70 61 6e 3e 3b 0a 20 20 20 20 20 20 20 20 3c 73 70 61 6e 20 63 umber">1</span>;.........<span.c
5dec0 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.
5dee0 6e 75 6d 62 65 72 73 5f 6c 65 66 74 3b 0a 20 20 20 20 7d 3b 0a 7d 3c 2f 63 6f 64 65 3e 3c 2f 70 numbers_left;.....};.}</code></p
5df00 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.
5df20 63 6c 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
5df40 69 6f 6e 3e 3c 70 72 65 3e 3c 73 61 6d 70 3e 24 20 3c 6b 62 64 3e 7a 69 67 20 74 65 73 74 20 74 ion><pre><samp>$.<kbd>zig.test.t
5df60 65 73 74 5f 77 68 69 6c 65 5f 65 72 72 6f 72 5f 63 61 70 74 75 72 65 2e 7a 69 67 3c 2f 6b 62 64 est_while_error_capture.zig</kbd
5df80 3e 0a 31 2f 31 20 74 65 73 74 5f 77 68 69 6c 65 5f 65 72 72 6f 72 5f 63 61 70 74 75 72 65 2e 74 >.1/1.test_while_error_capture.t
5dfa0 65 73 74 2e 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 2e 2e 2e est.while.error.union.capture...
5dfc0 4f 4b 0a 41 6c 6c 20 31 20 74 65 73 74 73 20 70 61 73 73 65 64 2e 0a 3c 2f 73 61 6d 70 3e 3c 2f OK.All.1.tests.passed..</samp></
5dfe0 70 72 65 3e 3c 2f 66 69 67 75 72 65 3e 0a 0a 20 20 20 20 20 20 0a 0a 20 20 20 20 20 20 3c 68 33 pre></figure>................<h3
5e000 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 66 3d 22 6e 61 76 2e .id="inline-while"><a.href="nav.
5e020 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 6e 6c 69 6e 65 20 77 xhtml#toc-inline-while">inline.w
5e040 68 69 6c 65 3c 2f 61 3e 20 3c 61 20 63 6c 61 73 73 3d 22 68 64 72 22 20 68 72 65 66 3d 22 23 69 hile</a>.<a.class="hdr".href="#i
5e060 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 0a 20 20 20 20 20 20 nline-while">..</a></h3>........
5e080 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 20 62 65 20 69 6e 6c <p>.......While.loops.can.be.inl
5e0a0 69 6e 65 64 2e 20 54 68 69 73 20 63 61 75 73 65 73 20 74 68 65 20 6c 6f 6f 70 20 74 6f 20 62 65 ined..This.causes.the.loop.to.be
5e0c0 20 75 6e 72 6f 6c 6c 65 64 2c 20 77 68 69 63 68 0a 20 20 20 20 20 20 61 6c 6c 6f 77 73 20 74 68 .unrolled,.which.......allows.th
5e0e0 65 20 63 6f 64 65 20 74 6f 20 64 6f 20 73 6f 6d 65 20 74 68 69 6e 67 73 20 77 68 69 63 68 20 6f e.code.to.do.some.things.which.o
5e100 6e 6c 79 20 77 6f 72 6b 20 61 74 20 63 6f 6d 70 69 6c 65 20 74 69 6d 65 2c 0a 20 20 20 20 20 20 nly.work.at.compile.time,.......
5e120 73 75 63 68 20 61 73 20 75 73 65 20 74 79 70 65 73 20 61 73 20 66 69 72 73 74 20 63 6c 61 73 73 such.as.use.types.as.first.class
5e140 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 20 3c 66 69 67 75 72 .values........</p>.......<figur
5e160 65 3e 3c 66 69 67 63 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
5e180 69 74 65 20 63 6c 61 73 73 3d 22 66 69 6c 65 22 3e 74 65 73 74 5f 69 6e 6c 69 6e 65 5f 77 68 69 ite.class="file">test_inline_whi
5e1a0 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><
5e1c0 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 63 6f 6e 73 74 3c code><span.class="tok-kw">const<
5e1e0 2f 73 70 61 6e 3e 20 65 78 70 65 63 74 45 71 75 61 6c 20 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 /span>.expectEqual.=.<span.class
5e200 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
5e220 70 61 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
5e240 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 45 71 75 61 6c 3b ot;</span>).testing.expectEqual;
5e260 0a 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 74 65 73 74 3c 2f 73 70 61 ..<span.class="tok-kw">test</spa
5e280 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
5e2a0 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 3e 20 7b 0a nline.while.loop&quot;</span>.{.
5e2c0 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 63 6f 6d 70 74 69 6d ....<span.class="tok-kw">comptim
5e2e0 65 3c 2f 73 70 61 6e 3e 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 76 61 e</span>.<span.class="tok-kw">va
5e300 72 3c 2f 73 70 61 6e 3e 20 69 20 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 r</span>.i.=.<span.class="tok-nu
5e320 6d 62 65 72 22 3e 30 3c 2f 73 70 61 6e 3e 3b 0a 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d mber">0</span>;.....<span.class=
5e340 22 74 6f 6b 2d 6b 77 22 3e 76 61 72 3c 2f 73 70 61 6e 3e 20 73 75 6d 3a 20 3c 73 70 61 6e 20 63 "tok-kw">var</span>.sum:.<span.c
5e360 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>.=.<
5e380 73 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>
5e3a0 3b 0a 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 69 6e 6c 69 6e ;.....<span.class="tok-kw">inlin
5e3c0 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 77 68 e</span>.<span.class="tok-kw">wh
5e3e0 69 6c 65 3c 2f 73 70 61 6e 3e 20 28 69 20 26 6c 74 3b 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 ile</span>.(i.&lt;.<span.class="
5e400 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 33 3c 2f 73 70 61 6e 3e 29 20 3a 20 28 69 20 2b 3d 20 3c 73 tok-number">3</span>).:.(i.+=.<s
5e420 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 31 3c 2f 73 70 61 6e 3e 29 pan.class="tok-number">1</span>)
5e440 20 7b 0a 20 20 20 20 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e .{.........<span.class="tok-kw">
5e460 63 6f 6e 73 74 3c 2f 73 70 61 6e 3e 20 54 20 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f const</span>.T.=.<span.class="to
5e480 6b 2d 6b 77 22 3e 73 77 69 74 63 68 3c 2f 73 70 61 6e 3e 20 28 69 29 20 7b 0a 20 20 20 20 20 20 k-kw">switch</span>.(i).{.......
5e4a0 20 20 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 30 ......<span.class="tok-number">0
5e4c0 3c 2f 73 70 61 6e 3e 20 3d 26 67 74 3b 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 </span>.=&gt;.<span.class="tok-t
5e4e0 79 70 65 22 3e 66 33 32 3c 2f 73 70 61 6e 3e 2c 0a 20 20 20 20 20 20 20 20 20 20 20 20 3c 73 70 ype">f32</span>,.............<sp
5e500 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>.=
5e520 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</
5e540 73 70 61 6e 3e 2c 0a 20 20 20 20 20 20 20 20 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 span>,.............<span.class="
5e560 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 32 3c 2f 73 70 61 6e 3e 20 3d 26 67 74 3b 20 3c 73 70 61 6e tok-number">2</span>.=&gt;.<span
5e580 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 0a 20 .class="tok-type">bool</span>,..
5e5a0 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">
5e5c0 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 74 else</span>.=&gt;.<span.class="t
5e5e0 6f 6b 2d 6b 77 22 3e 75 6e 72 65 61 63 68 61 62 6c 65 3c 2f 73 70 61 6e 3e 2c 0a 20 20 20 20 20 ok-kw">unreachable</span>,......
5e600 20 20 20 7d 3b 0a 20 20 20 20 20 20 20 20 73 75 6d 20 2b 3d 20 74 79 70 65 4e 61 6d 65 4c 65 6e ...};.........sum.+=.typeNameLen
5e620 67 74 68 28 54 29 3b 0a 20 20 20 20 7d 0a 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 gth(T);.....}.....<span.class="t
5e640 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 73 ok-kw">try</span>.expectEqual(<s
5e660 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 39 3c 2f 73 70 61 6e 3e 2c pan.class="tok-number">9</span>,
5e680 20 73 75 6d 29 3b 0a 7d 0a 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 66 .sum);.}..<span.class="tok-kw">f
5e6a0 6e 3c 2f 73 70 61 6e 3e 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 66 6e 22 3e 74 79 n</span>.<span.class="tok-fn">ty
5e6c0 70 65 4e 61 6d 65 4c 65 6e 67 74 68 3c 2f 73 70 61 6e 3e 28 3c 73 70 61 6e 20 63 6c 61 73 73 3d peNameLength</span>(<span.class=
5e6e0 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
5e700 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 74 79 70 65 3c 2f 73 70 61 6e 3e 29 20 n.class="tok-type">type</span>).
5e720 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
5e740 61 6e 3e 20 7b 0a 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 72 an>.{.....<span.class="tok-kw">r
5e760 65 74 75 72 6e 3c 2f 73 70 61 6e 3e 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 62 75 eturn</span>.<span.class="tok-bu
5e780 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 0a iltin">@typeName</span>(T).len;.
5e7a0 7d 3c 2f 63 6f 64 65 3e 3c 2f 70 72 65 3e 3c 2f 66 69 67 75 72 65 3e 3c 66 69 67 75 72 65 3e 3c }</code></pre></figure><figure><
5e7c0 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
5e7e0 6c 6c 3c 2f 66 69 67 63 61 70 74 69 6f 6e 3e 3c 70 72 65 3e 3c 73 61 6d 70 3e 24 20 3c 6b 62 64 ll</figcaption><pre><samp>$.<kbd
5e800 3e 7a 69 67 20 74 65 73 74 20 74 65 73 74 5f 69 6e 6c 69 6e 65 5f 77 68 69 6c 65 2e 7a 69 67 3c >zig.test.test_inline_while.zig<
5e820 2f 6b 62 64 3e 0a 31 2f 31 20 74 65 73 74 5f 69 6e 6c 69 6e 65 5f 77 68 69 6c 65 2e 74 65 73 74 /kbd>.1/1.test_inline_while.test
5e840 2e 69 6e 6c 69 6e 65 20 77 68 69 6c 65 20 6c 6f 6f 70 2e 2e 2e 4f 4b 0a 41 6c 6c 20 31 20 74 65 .inline.while.loop...OK.All.1.te
5e860 73 74 73 20 70 61 73 73 65 64 2e 0a 3c 2f 73 61 6d 70 3e 3c 2f 70 72 65 3e 3c 2f 66 69 67 75 72 sts.passed..</samp></pre></figur
5e880 65 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 72 65 63 6f 6d 6d e>........<p>.......It.is.recomm
5e8a0 65 6e 64 65 64 20 74 6f 20 75 73 65 20 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 ended.to.use.<code><span.class="
5e8c0 74 6f 6b 2d 6b 77 22 3e 69 6e 6c 69 6e 65 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 20 6c 6f 6f tok-kw">inline</span></code>.loo
5e8e0 70 73 20 6f 6e 6c 79 20 66 6f 72 20 6f 6e 65 20 6f 66 20 74 68 65 73 65 20 72 65 61 73 6f 6e 73 ps.only.for.one.of.these.reasons
5e900 3a 0a 20 20 20 20 20 20 3c 2f 70 3e 0a 20 20 20 20 20 20 3c 75 6c 3e 0a 20 20 20 20 20 20 20 20 :.......</p>.......<ul>.........
5e920 3c 6c 69 3e 59 6f 75 20 6e 65 65 64 20 74 68 65 20 6c 6f 6f 70 20 74 6f 20 65 78 65 63 75 74 65 <li>You.need.the.loop.to.execute
5e940 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 6d 65 .at.<a.href="#comptime">comptime
5e960 3c 2f 61 3e 20 66 6f 72 20 74 68 65 20 73 65 6d 61 6e 74 69 63 73 20 74 6f 20 77 6f 72 6b 2e 3c </a>.for.the.semantics.to.work.<
5e980 2f 6c 69 3e 0a 20 20 20 20 20 20 20 20 3c 6c 69 3e 0a 20 20 20 20 20 20 20 20 59 6f 75 20 68 61 /li>.........<li>.........You.ha
5e9a0 76 65 20 61 20 62 65 6e 63 68 6d 61 72 6b 20 74 6f 20 70 72 6f 76 65 20 74 68 61 74 20 66 6f 72 ve.a.benchmark.to.prove.that.for
5e9c0 63 69 62 6c 79 20 75 6e 72 6f 6c 6c 69 6e 67 20 74 68 65 20 6c 6f 6f 70 20 69 6e 20 74 68 69 73 cibly.unrolling.the.loop.in.this
5e9e0 20 77 61 79 20 69 73 20 6d 65 61 73 75 72 61 62 6c 79 20 66 61 73 74 65 72 2e 0a 20 20 20 20 20 .way.is.measurably.faster.......
5ea00 20 20 20 3c 2f 6c 69 3e 0a 20 20 20 20 20 20 3c 2f 75 6c 3e 0a 20 20 20 20 20 20 0a 20 20 20 20 ...</li>.......</ul>............
5ea20 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
5ea40 65 66 3d 22 23 69 66 22 3e 69 66 3c 2f 61 3e 3c 2f 6c 69 3e 0a 3c 6c 69 3e 3c 61 20 68 72 65 66 ef="#if">if</a></li>.<li><a.href
5ea60 3d 22 23 4f 70 74 69 6f 6e 61 6c 73 22 3e 4f 70 74 69 6f 6e 61 6c 73 3c 2f 61 3e 3c 2f 6c 69 3e ="#Optionals">Optionals</a></li>
5ea80 0a 3c 6c 69 3e 3c 61 20 68 72 65 66 3d 22 23 45 72 72 6f 72 73 22 3e 45 72 72 6f 72 73 3c 2f 61 .<li><a.href="#Errors">Errors</a
5eaa0 3e 3c 2f 6c 69 3e 0a 3c 6c 69 3e 3c 61 20 68 72 65 66 3d 22 23 63 6f 6d 70 74 69 6d 65 22 3e 63 ></li>.<li><a.href="#comptime">c
5eac0 6f 6d 70 74 69 6d 65 3c 2f 61 3e 3c 2f 6c 69 3e 0a 3c 6c 69 3e 3c 61 20 68 72 65 66 3d 22 23 75 omptime</a></li>.<li><a.href="#u
5eae0 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 69 3e nreachable">unreachable</a></li>
5eb00 0a 3c 2f 75 6c 3e 0a 0a 20 20 20 20 20 20 0a 20 20 20 20 20 20 3c 68 32 20 69 64 3d 22 66 6f 72 .</ul>...............<h2.id="for
5eb20 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 22 3e 66 6f "><a.href="nav.xhtml#toc-for">fo
5eb40 72 3c 2f 61 3e 20 3c 61 20 63 6c 61 73 73 3d 22 68 64 72 22 20 68 72 65 66 3d 22 23 66 6f 72 22 r</a>.<a.class="hdr".href="#for"
5eb60 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
5eb80 63 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
5eba0 61 73 73 3d 22 66 69 6c 65 22 3e 74 65 73 74 5f 66 6f 72 2e 7a 69 67 3c 2f 63 69 74 65 3e 3c 2f ass="file">test_for.zig</cite></
5ebc0 66 69 67 63 61 70 74 69 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
5ebe0 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 45 71 s="tok-kw">const</span>.expectEq
5ec00 75 61 6c 20 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 62 75 69 6c 74 69 6e 22 3e ual.=.<span.class="tok-builtin">
5ec20 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-
5ec40 73 74 72 22 3e 26 71 75 6f 74 3b 73 74 64 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 29 2e 74 65 73 str">&quot;std&quot;</span>).tes
5ec60 74 69 6e 67 2e 65 78 70 65 63 74 45 71 75 61 6c 3b 0a 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 ting.expectEqual;..<span.class="
5ec80 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=
5eca0 22 74 6f 6b 2d 73 74 72 22 3e 26 71 75 6f 74 3b 66 6f 72 20 62 61 73 69 63 73 26 71 75 6f 74 3b "tok-str">&quot;for.basics&quot;
5ecc0 3c 2f 73 70 61 6e 3e 20 7b 0a 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b </span>.{.....<span.class="tok-k
5ece0 77 22 3e 63 6f 6e 73 74 3c 2f 73 70 61 6e 3e 20 69 74 65 6d 73 20 3d 20 5b 5f 5d 3c 73 70 61 6e w">const</span>.items.=.[_]<span
5ed00 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
5ed20 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>,
5ed40 20 3c 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
5ed60 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</
5ed80 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">
5eda0 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
5edc0 72 22 3e 30 3c 2f 73 70 61 6e 3e 20 7d 3b 0a 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 r">0</span>.};.....<span.class="
5ede0 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
5ee00 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 69 33 32 3c 2f 73 70 61 6e 3e 20 3d 20 3c 73 70 61 ass="tok-type">i32</span>.=.<spa
5ee20 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 30 3c 2f 73 70 61 6e 3e 3b 0a 0a n.class="tok-number">0</span>;..
5ee40 20 20 20 20 3c 73 70 61 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">//
5ee60 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 63 65 73 20 61 .For.loops.iterate.over.slices.a
5ee80 6e 64 20 61 72 72 61 79 73 2e 3c 2f 73 70 61 6e 3e 0a 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 nd.arrays.</span>.....<span.clas
5eea0 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 29 20 7c 76 s="tok-kw">for</span>.(items).|v
5eec0 61 6c 75 65 7c 20 7b 0a 20 20 20 20 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b alue|.{.........<span.class="tok
5eee0 2d 63 6f 6d 6d 65 6e 74 22 3e 2f 2f 20 42 72 65 61 6b 20 61 6e 64 20 63 6f 6e 74 69 6e 75 65 20 -comment">//.Break.and.continue.
5ef00 61 72 65 20 73 75 70 70 6f 72 74 65 64 2e 3c 2f 73 70 61 6e 3e 0a 20 20 20 20 20 20 20 20 3c 73 are.supported.</span>.........<s
5ef20 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 76 61 pan.class="tok-kw">if</span>.(va
5ef40 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">
5ef60 30 3c 2f 73 70 61 6e 3e 29 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 3c 73 70 61 6e 20 63 6c 0</span>).{.............<span.cl
5ef80 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 63 6f 6e 74 69 6e 75 65 3c 2f 73 70 61 6e 3e 3b 0a 20 20 ass="tok-kw">continue</span>;...
5efa0 20 20 20 20 20 20 7d 0a 20 20 20 20 20 20 20 20 73 75 6d 20 2b 3d 20 76 61 6c 75 65 3b 0a 20 20 ......}.........sum.+=.value;...
5efc0 20 20 7d 0a 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 74 72 79 ..}.....<span.class="tok-kw">try
5efe0 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=
5f000 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 31 36 3c 2f 73 70 61 6e 3e 2c 20 73 75 6d 29 3b 0a 0a 20 "tok-number">16</span>,.sum);...
5f020 20 20 20 3c 73 70 61 6e 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">//.
5f040 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 6f 66 20 61 20 73 To.iterate.over.a.portion.of.a.s
5f060 6c 69 63 65 2c 20 72 65 73 6c 69 63 65 2e 3c 2f 73 70 61 6e 3e 0a 20 20 20 20 3c 73 70 61 6e 20 lice,.reslice.</span>.....<span.
5f080 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
5f0a0 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
5f0c0 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</
5f0e0 73 70 61 6e 3e 5d 29 20 7c 76 61 6c 75 65 7c 20 7b 0a 20 20 20 20 20 20 20 20 73 75 6d 20 2b 3d span>]).|value|.{.........sum.+=
5f100 20 76 61 6c 75 65 3b 0a 20 20 20 20 7d 0a 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 .value;.....}.....<span.class="t
5f120 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 73 ok-kw">try</span>.expectEqual(<s
5f140 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 3c 2f 73 70 61 6e 3e pan.class="tok-number">20</span>
5f160 2c 20 73 75 6d 29 3b 0a 0a 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 63 6f ,.sum);......<span.class="tok-co
5f180 6d 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 mment">//.To.access.the.index.of
5f1a0 20 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 6f 6e .iteration,.specify.a.second.con
5f1c0 64 69 74 69 6f 6e 20 61 73 20 77 65 6c 6c 3c 2f 73 70 61 6e 3e 0a 20 20 20 20 3c 73 70 61 6e 20 dition.as.well</span>.....<span.
5f1e0 63 6c 61 73 73 3d 22 74 6f 6b 2d 63 6f 6d 6d 65 6e 74 22 3e 2f 2f 20 61 73 20 61 20 73 65 63 6f class="tok-comment">//.as.a.seco
5f200 6e 64 20 63 61 70 74 75 72 65 20 76 61 6c 75 65 2e 3c 2f 73 70 61 6e 3e 0a 20 20 20 20 3c 73 70 nd.capture.value.</span>.....<sp
5f220 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 76 61 72 3c 2f 73 70 61 6e 3e 20 73 75 6d an.class="tok-kw">var</span>.sum
5f240 32 3a 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 69 33 32 3c 2f 73 2:.<span.class="tok-type">i32</s
5f260 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">
5f280 30 3c 2f 73 70 61 6e 3e 3b 0a 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 0</span>;.....<span.class="tok-k
5f2a0 77 22 3e 66 6f 72 3c 2f 73 70 61 6e 3e 20 28 69 74 65 6d 73 2c 20 3c 73 70 61 6e 20 63 6c 61 73 w">for</span>.(items,.<span.clas
5f2c0 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 30 3c 2f 73 70 61 6e 3e 2e 2e 29 20 7c 5f 2c 20 69 s="tok-number">0</span>..).|_,.i
5f2e0 7c 20 7b 0a 20 20 20 20 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 |.{.........<span.class="tok-kw"
5f300 3e 74 72 79 3c 2f 73 70 61 6e 3e 20 65 78 70 65 63 74 45 71 75 61 6c 28 3c 73 70 61 6e 20 63 6c >try</span>.expectEqual(<span.cl
5f320 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 3c 73 70 ass="tok-type">usize</span>,.<sp
5f340 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</
5f360 73 70 61 6e 3e 28 69 29 29 3b 0a 20 20 20 20 20 20 20 20 73 75 6d 32 20 2b 3d 20 3c 73 70 61 6e span>(i));.........sum2.+=.<span
5f380 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>(
5f3a0 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
5f3c0 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 40 69 6e >,.<span.class="tok-builtin">@in
5f3e0 74 43 61 73 74 3c 2f 73 70 61 6e 3e 28 69 29 29 3b 0a 20 20 20 20 7d 0a 20 20 20 20 3c 73 70 61 tCast</span>(i));.....}.....<spa
5f400 6e 20 63 6c 61 73 73 3d 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
5f420 63 74 45 71 75 61 6c 28 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 ctEqual(<span.class="tok-number"
5f440 3e 31 30 3c 2f 73 70 61 6e 3e 2c 20 73 75 6d 32 29 3b 0a 0a 20 20 20 20 3c 73 70 61 6e 20 63 6c >10</span>,.sum2);......<span.cl
5f460 61 73 73 3d 22 74 6f 6b 2d 63 6f 6d 6d 65 6e 74 22 3e 2f 2f 20 54 6f 20 69 74 65 72 61 74 65 20 ass="tok-comment">//.To.iterate.
5f480 6f 76 65 72 20 63 6f 6e 73 65 63 75 74 69 76 65 20 69 6e 74 65 67 65 72 73 2c 20 75 73 65 20 74 over.consecutive.integers,.use.t
5f4a0 68 65 20 72 61 6e 67 65 20 73 79 6e 74 61 78 2e 3c 2f 73 70 61 6e 3e 0a 20 20 20 20 3c 73 70 61 he.range.syntax.</span>.....<spa
5f4c0 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 63 6f 6d 6d 65 6e 74 22 3e 2f 2f 20 55 6e 62 6f 75 6e 64 n.class="tok-comment">//.Unbound
5f4e0 65 64 20 72 61 6e 67 65 20 69 73 20 61 6c 77 61 79 73 20 61 20 63 6f 6d 70 69 6c 65 20 65 72 72 ed.range.is.always.a.compile.err
5f500 6f 72 2e 3c 2f 73 70 61 6e 3e 0a 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d or.</span>.....<span.class="tok-
5f520 6b 77 22 3e 76 61 72 3c 2f 73 70 61 6e 3e 20 73 75 6d 33 3a 20 3c 73 70 61 6e 20 63 6c 61 73 73 kw">var</span>.sum3:.<span.class
5f540 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 75 73 69 7a 65 3c 2f 73 70 61 6e 3e 20 3d 20 3c 73 70 61 6e ="tok-type">usize</span>.=.<span
5f560 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 30 3c 2f 73 70 61 6e 3e 3b 0a 20 20 .class="tok-number">0</span>;...
5f580 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 6e ..<span.class="tok-kw">for</span
5f5a0 3e 20 28 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 30 3c 2f 73 >.(<span.class="tok-number">0</s
5f5c0 70 61 6e 3e 2e 2e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 35 pan>..<span.class="tok-number">5
5f5e0 3c 2f 73 70 61 6e 3e 29 20 7c 69 7c 20 7b 0a 20 20 20 20 20 20 20 20 73 75 6d 33 20 2b 3d 20 69 </span>).|i|.{.........sum3.+=.i
5f600 3b 0a 20 20 20 20 7d 0a 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 ;.....}.....<span.class="tok-kw"
5f620 3e 74 72 79 3c 2f 73 70 61 6e 3e 20 65 78 70 65 63 74 45 71 75 61 6c 28 3c 73 70 61 6e 20 63 6c >try</span>.expectEqual(<span.cl
5f640 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 31 30 3c 2f 73 70 61 6e 3e 2c 20 73 75 6d 33 ass="tok-number">10</span>,.sum3
5f660 29 3b 0a 7d 0a 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 74 65 73 74 3c );.}..<span.class="tok-kw">test<
5f680 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
5f6a0 6f 74 3b 6d 75 6c 74 69 20 6f 62 6a 65 63 74 20 66 6f 72 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e ot;multi.object.for&quot;</span>
5f6c0 20 7b 0a 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 63 6f 6e 73 .{.....<span.class="tok-kw">cons
5f6e0 74 3c 2f 73 70 61 6e 3e 20 69 74 65 6d 73 20 3d 20 5b 5f 5d 3c 73 70 61 6e 20 63 6c 61 73 73 3d t</span>.items.=.[_]<span.class=
5f700 22 74 6f 6b 2d 74 79 70 65 22 3e 75 73 69 7a 65 3c 2f 73 70 61 6e 3e 7b 20 3c 73 70 61 6e 20 63 "tok-type">usize</span>{.<span.c
5f720 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
5f740 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>,.<
5f760 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>
5f780 20 7d 3b 0a 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 63 6f 6e .};.....<span.class="tok-kw">con
5f7a0 73 74 3c 2f 73 70 61 6e 3e 20 69 74 65 6d 73 32 20 3d 20 5b 5f 5d 3c 73 70 61 6e 20 63 6c 61 73 st</span>.items2.=.[_]<span.clas
5f7c0 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 75 73 69 7a 65 3c 2f 73 70 61 6e 3e 7b 20 3c 73 70 61 6e s="tok-type">usize</span>{.<span
5f7e0 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
5f800 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>,
5f820 20 3c 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
5f840 6e 3e 20 7d 3b 0a 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 76 n>.};.....<span.class="tok-kw">v
5f860 61 72 3c 2f 73 70 61 6e 3e 20 63 6f 75 6e 74 3a 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f ar</span>.count:.<span.class="to
5f880 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
5f8a0 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 30 3c 2f 73 70 61 6e 3e 3b 0a 0a 20 20 20 20 3c ss="tok-number">0</span>;......<
5f8c0 73 70 61 6e 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 65 72 span.class="tok-comment">//.Iter
5f8e0 61 74 65 20 6f 76 65 72 20 6d 75 6c 74 69 70 6c 65 20 6f 62 6a 65 63 74 73 2e 3c 2f 73 70 61 6e ate.over.multiple.objects.</span
5f900 3e 0a 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 63 6f 6d 6d 65 6e 74 22 3e >.....<span.class="tok-comment">
5f920 2f 2f 20 41 6c 6c 20 6c 65 6e 67 74 68 73 20 6d 75 73 74 20 62 65 20 65 71 75 61 6c 20 61 74 20 //.All.lengths.must.be.equal.at.
5f940 74 68 65 20 73 74 61 72 74 20 6f 66 20 74 68 65 20 6c 6f 6f 70 2c 20 6f 74 68 65 72 77 69 73 65 the.start.of.the.loop,.otherwise
5f960 20 64 65 74 65 63 74 61 62 6c 65 3c 2f 73 70 61 6e 3e 0a 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 .detectable</span>.....<span.cla
5f980 73 73 3d 22 74 6f 6b 2d 63 6f 6d 6d 65 6e 74 22 3e 2f 2f 20 69 6c 6c 65 67 61 6c 20 62 65 68 61 ss="tok-comment">//.illegal.beha
5f9a0 76 69 6f 72 20 6f 63 63 75 72 73 2e 3c 2f 73 70 61 6e 3e 0a 20 20 20 20 3c 73 70 61 6e 20 63 6c vior.occurs.</span>.....<span.cl
5f9c0 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 66 6f 72 3c 2f 73 70 61 6e 3e 20 28 69 74 65 6d 73 2c 20 ass="tok-kw">for</span>.(items,.
5f9e0 69 74 65 6d 73 32 29 20 7c 69 2c 20 6a 7c 20 7b 0a 20 20 20 20 20 20 20 20 63 6f 75 6e 74 20 2b items2).|i,.j|.{.........count.+
5fa00 3d 20 69 20 2b 20 6a 3b 0a 20 20 20 20 7d 0a 0a 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d =.i.+.j;.....}......<span.class=
5fa20 22 74 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 "tok-kw">try</span>.expectEqual(
5fa40 3c 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 31 3c 2f 73 70 61 <span.class="tok-number">21</spa
5fa60 6e 3e 2c 20 63 6f 75 6e 74 29 3b 0a 7d 0a 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d n>,.count);.}..<span.class="tok-
5fa80 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
5faa0 2d 73 74 72 22 3e 26 71 75 6f 74 3b 66 6f 72 20 72 65 66 65 72 65 6e 63 65 26 71 75 6f 74 3b 3c -str">&quot;for.reference&quot;<
5fac0 2f 73 70 61 6e 3e 20 7b 0a 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 /span>.{.....<span.class="tok-kw
5fae0 22 3e 76 61 72 3c 2f 73 70 61 6e 3e 20 69 74 65 6d 73 20 3d 20 5b 5f 5d 3c 73 70 61 6e 20 63 6c ">var</span>.items.=.[_]<span.cl
5fb00 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 69 33 32 3c 2f 73 70 61 6e 3e 7b 20 3c 73 70 61 6e ass="tok-type">i32</span>{.<span
5fb20 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
5fb40 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>,
5fb60 20 3c 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
5fb80 6e 3e 20 7d 3b 0a 0a 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 63 6f 6d 6d n>.};......<span.class="tok-comm
5fba0 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
5fbc0 79 20 72 65 66 65 72 65 6e 63 65 20 62 79 3c 2f 73 70 61 6e 3e 0a 20 20 20 20 3c 73 70 61 6e 20 y.reference.by</span>.....<span.
5fbe0 63 6c 61 73 73 3d 22 74 6f 6b 2d 63 6f 6d 6d 65 6e 74 22 3e 2f 2f 20 73 70 65 63 69 66 79 69 6e class="tok-comment">//.specifyin
5fc00 67 20 74 68 61 74 20 74 68 65 20 63 61 70 74 75 72 65 20 76 61 6c 75 65 20 69 73 20 61 20 70 6f g.that.the.capture.value.is.a.po
5fc20 69 6e 74 65 72 2e 3c 2f 73 70 61 6e 3e 0a 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 inter.</span>.....<span.class="t
5fc40 6f 6b 2d 6b 77 22 3e 66 6f 72 3c 2f 73 70 61 6e 3e 20 28 26 61 6d 70 3b 69 74 65 6d 73 29 20 7c ok-kw">for</span>.(&amp;items).|
5fc60 2a 76 61 6c 75 65 7c 20 7b 0a 20 20 20 20 20 20 20 20 76 61 6c 75 65 2e 2a 20 2b 3d 20 3c 73 70 *value|.{.........value.*.+=.<sp
5fc80 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 31 3c 2f 73 70 61 6e 3e 3b 0a an.class="tok-number">1</span>;.
5fca0 20 20 20 20 7d 0a 0a 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e ....}......<span.class="tok-kw">
5fcc0 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
5fce0 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 69 74 65 6d 73 5b ss="tok-number">4</span>,.items[
5fd00 3c 73 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
5fd20 3e 5d 29 3b 0a 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 74 72 >]);.....<span.class="tok-kw">tr
5fd40 79 3c 2f 73 70 61 6e 3e 20 65 78 70 65 63 74 45 71 75 61 6c 28 3c 73 70 61 6e 20 63 6c 61 73 73 y</span>.expectEqual(<span.class
5fd60 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 35 3c 2f 73 70 61 6e 3e 2c 20 69 74 65 6d 73 5b 3c 73 ="tok-number">5</span>,.items[<s
5fd80 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 31 3c 2f 73 70 61 6e 3e 5d pan.class="tok-number">1</span>]
5fda0 29 3b 0a 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 74 72 79 3c );.....<span.class="tok-kw">try<
5fdc0 2f 73 70 61 6e 3e 20 65 78 70 65 63 74 45 71 75 61 6c 28 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 /span>.expectEqual(<span.class="
5fde0 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 33 3c 2f 73 70 61 6e 3e 2c 20 69 74 65 6d 73 5b 3c 73 70 61 tok-number">3</span>,.items[<spa
5fe00 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 32 3c 2f 73 70 61 6e 3e 5d 29 3b n.class="tok-number">2</span>]);
5fe20 0a 7d 0a 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 74 65 73 74 3c 2f 73 .}..<span.class="tok-kw">test</s
5fe40 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
5fe60 3b 66 6f 72 20 65 6c 73 65 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 20 7b 0a 20 20 20 20 3c 73 70 ;for.else&quot;</span>.{.....<sp
5fe80 61 6e 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 61 6c an.class="tok-comment">//.For.al
5fea0 6c 6f 77 73 20 61 6e 20 65 6c 73 65 20 61 74 74 61 63 68 65 64 20 74 6f 20 69 74 2c 20 74 68 65 lows.an.else.attached.to.it,.the
5fec0 20 73 61 6d 65 20 61 73 20 61 20 77 68 69 6c 65 20 6c 6f 6f 70 2e 3c 2f 73 70 61 6e 3e 0a 20 20 .same.as.a.while.loop.</span>...
5fee0 20 20 3c 73 70 61 6e 20 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
5ff00 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 6f 6b an>.items.=.[_]?<span.class="tok
5ff20 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="
5ff40 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
5ff60 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
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 2c 20 3c 73 70 lass="tok-null">null</span>,.<sp
5ffa0 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 7d an.class="tok-number">5</span>.}
5ffc0 3b 0a 0a 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 63 6f 6d 6d 65 6e 74 22 ;......<span.class="tok-comment"
5ffe0 3e 2f 2f 20 46 6f 72 20 6c 6f 6f 70 73 20 63 61 6e 20 61 6c 73 6f 20 62 65 20 75 73 65 64 20 61 >//.For.loops.can.also.be.used.a
60000 73 20 65 78 70 72 65 73 73 69 6f 6e 73 2e 3c 2f 73 70 61 6e 3e 0a 20 20 20 20 3c 73 70 61 6e 20 s.expressions.</span>.....<span.
60020 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 6d 69 6c 61 72 20 74 class="tok-comment">//.Similar.t
60040 6f 20 77 68 69 6c 65 20 6c 6f 6f 70 73 2c 20 77 68 65 6e 20 79 6f 75 20 62 72 65 61 6b 20 66 72 o.while.loops,.when.you.break.fr
60060 6f 6d 20 61 20 66 6f 72 20 6c 6f 6f 70 2c 20 74 68 65 20 65 6c 73 65 20 62 72 61 6e 63 68 20 69 om.a.for.loop,.the.else.branch.i
60080 73 20 6e 6f 74 20 65 76 61 6c 75 61 74 65 64 2e 3c 2f 73 70 61 6e 3e 0a 20 20 20 20 3c 73 70 61 s.not.evaluated.</span>.....<spa
600a0 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 76 61 72 3c 2f 73 70 61 6e 3e 20 73 75 6d 3a n.class="tok-kw">var</span>.sum:
600c0 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
600e0 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<
60100 2f 73 70 61 6e 3e 3b 0a 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 /span>;.....<span.class="tok-kw"
60120 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
60140 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 29 20 7c ss="tok-kw">for</span>.(items).|
60160 76 61 6c 75 65 7c 20 7b 0a 20 20 20 20 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f value|.{.........<span.class="to
60180 6b 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 k-kw">if</span>.(value.!=.<span.
601a0 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 20 7b 0a class="tok-null">null</span>).{.
601c0 20 20 20 20 20 20 20 20 20 20 20 20 73 75 6d 20 2b 3d 20 76 61 6c 75 65 2e 3f 3b 0a 20 20 20 20 ............sum.+=.value.?;.....
601e0 20 20 20 20 7d 0a 20 20 20 20 7d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 ....}.....}.<span.class="tok-kw"
60200 3e 65 6c 73 65 3c 2f 73 70 61 6e 3e 20 62 6c 6b 3a 20 7b 0a 20 20 20 20 20 20 20 20 3c 73 70 61 >else</span>.blk:.{.........<spa
60220 6e 20 63 6c 61 73 73 3d 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
60240 63 74 45 71 75 61 6c 28 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 ctEqual(<span.class="tok-number"
60260 3e 31 32 3c 2f 73 70 61 6e 3e 2c 20 73 75 6d 29 3b 0a 20 20 20 20 20 20 20 20 3c 73 70 61 6e 20 >12</span>,.sum);.........<span.
60280 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
602a0 20 73 75 6d 3b 0a 20 20 20 20 7d 3b 0a 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f .sum;.....};.....<span.class="to
602c0 6b 2d 6b 77 22 3e 74 72 79 3c 2f 73 70 61 6e 3e 20 65 78 70 65 63 74 45 71 75 61 6c 28 3c 73 70 k-kw">try</span>.expectEqual(<sp
602e0 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 31 32 3c 2f 73 70 61 6e 3e 2c an.class="tok-number">12</span>,
60300 20 72 65 73 75 6c 74 29 3b 0a 7d 3c 2f 63 6f 64 65 3e 3c 2f 70 72 65 3e 3c 2f 66 69 67 75 72 65 .result);.}</code></pre></figure
60320 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
60340 6c 2d 63 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
60360 61 6d 70 3e 24 20 3c 6b 62 64 3e 7a 69 67 20 74 65 73 74 20 74 65 73 74 5f 66 6f 72 2e 7a 69 67 amp>$.<kbd>zig.test.test_for.zig
60380 3c 2f 6b 62 64 3e 0a 31 2f 34 20 74 65 73 74 5f 66 6f 72 2e 74 65 73 74 2e 66 6f 72 20 62 61 73 </kbd>.1/4.test_for.test.for.bas
603a0 69 63 73 2e 2e 2e 4f 4b 0a 32 2f 34 20 74 65 73 74 5f 66 6f 72 2e 74 65 73 74 2e 6d 75 6c 74 69 ics...OK.2/4.test_for.test.multi
603c0 20 6f 62 6a 65 63 74 20 66 6f 72 2e 2e 2e 4f 4b 0a 33 2f 34 20 74 65 73 74 5f 66 6f 72 2e 74 65 .object.for...OK.3/4.test_for.te
603e0 73 74 2e 66 6f 72 20 72 65 66 65 72 65 6e 63 65 2e 2e 2e 4f 4b 0a 34 2f 34 20 74 65 73 74 5f 66 st.for.reference...OK.4/4.test_f
60400 6f 72 2e 74 65 73 74 2e 66 6f 72 20 65 6c 73 65 2e 2e 2e 4f 4b 0a 41 6c 6c 20 34 20 74 65 73 74 or.test.for.else...OK.All.4.test
60420 73 20 70 61 73 73 65 64 2e 0a 3c 2f 73 61 6d 70 3e 3c 2f 70 72 65 3e 3c 2f 66 69 67 75 72 65 3e s.passed..</samp></pre></figure>
60440 0a 0a 20 20 20 20 20 20 3c 68 33 20 69 64 3d 22 4c 61 62 65 6c 65 64 2d 66 6f 72 22 3e 3c 61 20 ........<h3.id="Labeled-for"><a.
60460 68 72 65 66 3d 22 6e 61 76 2e 78 68 74 6d 6c 23 74 6f 63 2d 4c 61 62 65 6c 65 64 2d 66 6f 72 22 href="nav.xhtml#toc-Labeled-for"
60480 3e 4c 61 62 65 6c 65 64 20 66 6f 72 3c 2f 61 3e 20 3c 61 20 63 6c 61 73 73 3d 22 68 64 72 22 20 >Labeled.for</a>.<a.class="hdr".
604a0 68 72 65 66 3d 22 23 4c 61 62 65 6c 65 64 2d 66 6f 72 22 3e c2 a7 3c 2f 61 3e 3c 2f 68 33 3e 0a href="#Labeled-for">..</a></h3>.
604c0 0a 20 20 20 20 20 20 3c 70 3e 57 68 65 6e 20 61 20 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 .......<p>When.a.<code><span.cla
604e0 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 66 6f 72 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 20 6c 6f ss="tok-kw">for</span></code>.lo
60500 6f 70 20 69 73 20 6c 61 62 65 6c 65 64 2c 20 69 74 20 63 61 6e 20 62 65 20 72 65 66 65 72 65 6e op.is.labeled,.it.can.be.referen
60520 63 65 64 20 66 72 6f 6d 20 61 20 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f ced.from.a.<code><span.class="to
60540 6b 2d 6b 77 22 3e 62 72 65 61 6b 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 0a 20 20 20 20 20 20 k-kw">break</span></code>.......
60560 20 20 20 20 20 20 20 20 6f 72 20 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f ........or.<code><span.class="to
60580 6b 2d 6b 77 22 3e 63 6f 6e 74 69 6e 75 65 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 20 66 72 6f k-kw">continue</span></code>.fro
605a0 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>.....
605c0 20 20 3c 66 69 67 75 72 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
605e0 2d 63 61 70 22 3e 3c 63 69 74 65 20 63 6c 61 73 73 3d 22 66 69 6c 65 22 3e 74 65 73 74 5f 66 6f -cap"><cite.class="file">test_fo
60600 72 5f 6e 65 73 74 65 64 5f 62 72 65 61 6b 2e 7a 69 67 3c 2f 63 69 74 65 3e 3c 2f 66 69 67 63 61 r_nested_break.zig</cite></figca
60620 70 74 69 6f 6e 3e 3c 70 72 65 3e 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f ption><pre><code><span.class="to
60640 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
60660 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
60680 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
606a0 64 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 29 3b 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f d&quot;</span>);.<span.class="to
606c0 6b 2d 6b 77 22 3e 63 6f 6e 73 74 3c 2f 73 70 61 6e 3e 20 65 78 70 65 63 74 45 71 75 61 6c 20 3d k-kw">const</span>.expectEqual.=
606e0 20 73 74 64 2e 74 65 73 74 69 6e 67 2e 65 78 70 65 63 74 45 71 75 61 6c 3b 0a 0a 3c 73 70 61 6e .std.testing.expectEqual;..<span
60700 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
60720 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 73 74 72 22 3e 26 71 75 6f 74 3b 6e 65 73 74 65 64 20 62 n.class="tok-str">&quot;nested.b
60740 72 65 61 6b 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 20 7b 0a 20 20 20 20 3c 73 70 61 6e 20 63 6c reak&quot;</span>.{.....<span.cl
60760 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 76 61 72 3c 2f 73 70 61 6e 3e 20 63 6f 75 6e 74 3a 20 3c ass="tok-kw">var</span>.count:.<
60780 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
607a0 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<
607c0 2f 73 70 61 6e 3e 3b 0a 20 20 20 20 6f 75 74 65 72 3a 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 /span>;.....outer:.<span.class="
607e0 74 6f 6b 2d 6b 77 22 3e 66 6f 72 3c 2f 73 70 61 6e 3e 20 28 3c 73 70 61 6e 20 63 6c 61 73 73 3d tok-kw">for</span>.(<span.class=
60800 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 31 3c 2f 73 70 61 6e 3e 2e 2e 3c 73 70 61 6e 20 63 6c 61 "tok-number">1</span>..<span.cla
60820 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 36 3c 2f 73 70 61 6e 3e 29 20 7c 5f 7c 20 7b 0a ss="tok-number">6</span>).|_|.{.
60840 20 20 20 20 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 66 6f 72 ........<span.class="tok-kw">for
60860 3c 2f 73 70 61 6e 3e 20 28 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 </span>.(<span.class="tok-number
60880 22 3e 31 3c 2f 73 70 61 6e 3e 2e 2e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d ">1</span>..<span.class="tok-num
608a0 62 65 72 22 3e 36 3c 2f 73 70 61 6e 3e 29 20 7c 5f 7c 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 ber">6</span>).|_|.{............
608c0 20 63 6f 75 6e 74 20 2b 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 .count.+=.<span.class="tok-numbe
608e0 72 22 3e 31 3c 2f 73 70 61 6e 3e 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 3c 73 70 61 6e 20 63 r">1</span>;.............<span.c
60900 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 62 72 65 61 6b 3c 2f 73 70 61 6e 3e 20 3a 6f 75 74 65 lass="tok-kw">break</span>.:oute
60920 72 3b 0a 20 20 20 20 20 20 20 20 7d 0a 20 20 20 20 7d 0a 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 r;.........}.....}.....<span.cla
60940 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 74 72 79 3c 2f 73 70 61 6e 3e 20 65 78 70 65 63 74 45 71 75 ss="tok-kw">try</span>.expectEqu
60960 61 6c 28 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 31 3c 2f 73 al(<span.class="tok-number">1</s
60980 70 61 6e 3e 2c 20 63 6f 75 6e 74 29 3b 0a 7d 0a 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f pan>,.count);.}..<span.class="to
609a0 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
609c0 6f 6b 2d 73 74 72 22 3e 26 71 75 6f 74 3b 6e 65 73 74 65 64 20 63 6f 6e 74 69 6e 75 65 26 71 75 ok-str">&quot;nested.continue&qu
609e0 6f 74 3b 3c 2f 73 70 61 6e 3e 20 7b 0a 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f ot;</span>.{.....<span.class="to
60a00 6b 2d 6b 77 22 3e 76 61 72 3c 2f 73 70 61 6e 3e 20 63 6f 75 6e 74 3a 20 3c 73 70 61 6e 20 63 6c k-kw">var</span>.count:.<span.cl
60a20 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
60a40 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>;
60a60 0a 20 20 20 20 6f 75 74 65 72 3a 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 .....outer:.<span.class="tok-kw"
60a80 3e 66 6f 72 3c 2f 73 70 61 6e 3e 20 28 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 >for</span>.(<span.class="tok-nu
60aa0 6d 62 65 72 22 3e 31 3c 2f 73 70 61 6e 3e 2e 2e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b mber">1</span>..<span.class="tok
60ac0 2d 6e 75 6d 62 65 72 22 3e 39 3c 2f 73 70 61 6e 3e 29 20 7c 5f 7c 20 7b 0a 20 20 20 20 20 20 20 -number">9</span>).|_|.{........
60ae0 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>
60b00 20 28 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 31 3c 2f 73 70 .(<span.class="tok-number">1</sp
60b20 61 6e 3e 2e 2e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 36 3c an>..<span.class="tok-number">6<
60b40 2f 73 70 61 6e 3e 29 20 7c 5f 7c 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 63 6f 75 6e 74 20 /span>).|_|.{.............count.
60b60 2b 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 31 3c 2f 73 +=.<span.class="tok-number">1</s
60b80 70 61 6e 3e 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 pan>;.............<span.class="t
60ba0 6f 6b 2d 6b 77 22 3e 63 6f 6e 74 69 6e 75 65 3c 2f 73 70 61 6e 3e 20 3a 6f 75 74 65 72 3b 0a 20 ok-kw">continue</span>.:outer;..
60bc0 20 20 20 20 20 20 20 7d 0a 20 20 20 20 7d 0a 0a 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d .......}.....}......<span.class=
60be0 22 74 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 "tok-kw">try</span>.expectEqual(
60c00 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 38 3c 2f 73 70 61 6e <span.class="tok-number">8</span
60c20 3e 2c 20 63 6f 75 6e 74 29 3b 0a 7d 3c 2f 63 6f 64 65 3e 3c 2f 70 72 65 3e 3c 2f 66 69 67 75 72 >,.count);.}</code></pre></figur
60c40 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
60c60 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><
60c80 73 61 6d 70 3e 24 20 3c 6b 62 64 3e 7a 69 67 20 74 65 73 74 20 74 65 73 74 5f 66 6f 72 5f 6e 65 samp>$.<kbd>zig.test.test_for_ne
60ca0 73 74 65 64 5f 62 72 65 61 6b 2e 7a 69 67 3c 2f 6b 62 64 3e 0a 31 2f 32 20 74 65 73 74 5f 66 6f sted_break.zig</kbd>.1/2.test_fo
60cc0 72 5f 6e 65 73 74 65 64 5f 62 72 65 61 6b 2e 74 65 73 74 2e 6e 65 73 74 65 64 20 62 72 65 61 6b r_nested_break.test.nested.break
60ce0 2e 2e 2e 4f 4b 0a 32 2f 32 20 74 65 73 74 5f 66 6f 72 5f 6e 65 73 74 65 64 5f 62 72 65 61 6b 2e ...OK.2/2.test_for_nested_break.
60d00 74 65 73 74 2e 6e 65 73 74 65 64 20 63 6f 6e 74 69 6e 75 65 2e 2e 2e 4f 4b 0a 41 6c 6c 20 32 20 test.nested.continue...OK.All.2.
60d20 74 65 73 74 73 20 70 61 73 73 65 64 2e 0a 3c 2f 73 61 6d 70 3e 3c 2f 70 72 65 3e 3c 2f 66 69 67 tests.passed..</samp></pre></fig
60d40 75 72 65 3e 0a 0a 20 20 20 20 20 20 0a 20 20 20 20 20 20 3c 68 33 20 69 64 3d 22 69 6e 6c 69 6e ure>...............<h3.id="inlin
60d60 65 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 74 6f 63 2d 69 6e e-for"><a.href="nav.xhtml#toc-in
60d80 6c 69 6e 65 2d 66 6f 72 22 3e 69 6e 6c 69 6e 65 20 66 6f 72 3c 2f 61 3e 20 3c 61 20 63 6c 61 73 line-for">inline.for</a>.<a.clas
60da0 73 3d 22 68 64 72 22 20 68 72 65 66 3d 22 23 69 6e 6c 69 6e 65 2d 66 6f 72 22 3e c2 a7 3c 2f 61 s="hdr".href="#inline-for">..</a
60dc0 3e 3c 2f 68 33 3e 0a 0a 20 20 20 20 20 20 3c 70 3e 0a 20 20 20 20 20 20 46 6f 72 20 6c 6f 6f 70 ></h3>........<p>.......For.loop
60de0 73 20 63 61 6e 20 62 65 20 69 6e 6c 69 6e 65 64 2e 20 54 68 69 73 20 63 61 75 73 65 73 20 74 68 s.can.be.inlined..This.causes.th
60e00 65 20 6c 6f 6f 70 20 74 6f 20 62 65 20 75 6e 72 6f 6c 6c 65 64 2c 20 77 68 69 63 68 0a 20 20 20 e.loop.to.be.unrolled,.which....
60e20 20 20 20 61 6c 6c 6f 77 73 20 74 68 65 20 63 6f 64 65 20 74 6f 20 64 6f 20 73 6f 6d 65 20 74 68 ...allows.the.code.to.do.some.th
60e40 69 6e 67 73 20 77 68 69 63 68 20 6f 6e 6c 79 20 77 6f 72 6b 20 61 74 20 63 6f 6d 70 69 6c 65 20 ings.which.only.work.at.compile.
60e60 74 69 6d 65 2c 0a 20 20 20 20 20 20 73 75 63 68 20 61 73 20 75 73 65 20 74 79 70 65 73 20 61 73 time,.......such.as.use.types.as
60e80 20 66 69 72 73 74 20 63 6c 61 73 73 20 76 61 6c 75 65 73 2e 0a 20 20 20 20 20 20 54 68 65 20 63 .first.class.values........The.c
60ea0 61 70 74 75 72 65 20 76 61 6c 75 65 20 61 6e 64 20 69 74 65 72 61 74 6f 72 20 76 61 6c 75 65 20 apture.value.and.iterator.value.
60ec0 6f 66 20 69 6e 6c 69 6e 65 64 20 66 6f 72 20 6c 6f 6f 70 73 20 61 72 65 0a 20 20 20 20 20 20 63 of.inlined.for.loops.are.......c
60ee0 6f 6d 70 69 6c 65 2d 74 69 6d 65 20 6b 6e 6f 77 6e 2e 0a 20 20 20 20 20 20 3c 2f 70 3e 0a 20 20 ompile-time.known........</p>...
60f00 20 20 20 20 3c 66 69 67 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
60f20 69 67 2d 63 61 70 22 3e 3c 63 69 74 65 20 63 6c 61 73 73 3d 22 66 69 6c 65 22 3e 74 65 73 74 5f ig-cap"><cite.class="file">test_
60f40 69 6e 6c 69 6e 65 5f 66 6f 72 2e 7a 69 67 3c 2f 63 69 74 65 3e 3c 2f 66 69 67 63 61 70 74 69 6f inline_for.zig</cite></figcaptio
60f60 6e 3e 3c 70 72 65 3e 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 n><pre><code><span.class="tok-kw
60f80 22 3e 63 6f 6e 73 74 3c 2f 73 70 61 6e 3e 20 65 78 70 65 63 74 45 71 75 61 6c 20 3d 20 3c 73 70 ">const</span>.expectEqual.=.<sp
60fa0 61 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</
60fc0 73 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
60fe0 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
61000 63 74 45 71 75 61 6c 3b 0a 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 74 ctEqual;..<span.class="tok-kw">t
61020 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"
61040 3e 26 71 75 6f 74 3b 69 6e 6c 69 6e 65 20 66 6f 72 20 6c 6f 6f 70 26 71 75 6f 74 3b 3c 2f 73 70 >&quot;inline.for.loop&quot;</sp
61060 61 6e 3e 20 7b 0a 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 63 an>.{.....<span.class="tok-kw">c
61080 6f 6e 73 74 3c 2f 73 70 61 6e 3e 20 6e 75 6d 73 20 3d 20 5b 5f 5d 3c 73 70 61 6e 20 63 6c 61 73 onst</span>.nums.=.[_]<span.clas
610a0 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
610c0 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
610e0 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>,.<
61100 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 36 3c 2f 73 70 61 6e 3e span.class="tok-number">6</span>
61120 20 7d 3b 0a 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 76 61 72 .};.....<span.class="tok-kw">var
61140 3c 2f 73 70 61 6e 3e 20 73 75 6d 3a 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 </span>.sum:.<span.class="tok-ty
61160 70 65 22 3e 75 73 69 7a 65 3c 2f 73 70 61 6e 3e 20 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 pe">usize</span>.=.<span.class="
61180 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 30 3c 2f 73 70 61 6e 3e 3b 0a 20 20 20 20 3c 73 70 61 6e 20 tok-number">0</span>;.....<span.
611a0 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 69 6e 6c 69 6e 65 3c 2f 73 70 61 6e 3e 20 3c 73 70 class="tok-kw">inline</span>.<sp
611c0 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 6e 75 an.class="tok-kw">for</span>.(nu
611e0 6d 73 29 20 7c 69 7c 20 7b 0a 20 20 20 20 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 ms).|i|.{.........<span.class="t
61200 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 61 6e 20 63 6c ok-kw">const</span>.T.=.<span.cl
61220 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 69 29 20 7b ass="tok-kw">switch</span>.(i).{
61240 0a 20 20 20 20 20 20 20 20 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 .............<span.class="tok-nu
61260 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
61280 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 66 33 32 3c 2f 73 70 61 6e 3e 2c 0a 20 20 20 20 20 20 20 20 ="tok-type">f32</span>,.........
612a0 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 34 3c 2f ....<span.class="tok-number">4</
612c0 73 70 61 6e 3e 20 3d 26 67 74 3b 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 span>.=&gt;.<span.class="tok-typ
612e0 65 22 3e 69 38 3c 2f 73 70 61 6e 3e 2c 0a 20 20 20 20 20 20 20 20 20 20 20 20 3c 73 70 61 6e 20 e">i8</span>,.............<span.
61300 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 3d 26 67 74 class="tok-number">6</span>.=&gt
61320 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 6c 3c 2f 73 ;.<span.class="tok-type">bool</s
61340 70 61 6e 3e 2c 0a 20 20 20 20 20 20 20 20 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 pan>,.............<span.class="t
61360 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 63 ok-kw">else</span>.=&gt;.<span.c
61380 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 75 6e 72 65 61 63 68 61 62 6c 65 3c 2f 73 70 61 6e 3e lass="tok-kw">unreachable</span>
613a0 2c 0a 20 20 20 20 20 20 20 20 7d 3b 0a 20 20 20 20 20 20 20 20 73 75 6d 20 2b 3d 20 74 79 70 65 ,.........};.........sum.+=.type
613c0 4e 61 6d 65 4c 65 6e 67 74 68 28 54 29 3b 0a 20 20 20 20 7d 0a 20 20 20 20 3c 73 70 61 6e 20 63 NameLength(T);.....}.....<span.c
613e0 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 74 72 79 3c 2f 73 70 61 6e 3e 20 65 78 70 65 63 74 45 lass="tok-kw">try</span>.expectE
61400 71 75 61 6c 28 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 39 3c qual(<span.class="tok-number">9<
61420 2f 73 70 61 6e 3e 2c 20 73 75 6d 29 3b 0a 7d 0a 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f /span>,.sum);.}..<span.class="to
61440 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
61460 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
61480 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>.
614a0 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</
614c0 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
614e0 69 7a 65 3c 2f 73 70 61 6e 3e 20 7b 0a 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f ize</span>.{.....<span.class="to
61500 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=
61520 22 74 6f 6b 2d 62 75 69 6c 74 69 6e 22 3e 40 74 79 70 65 4e 61 6d 65 3c 2f 73 70 61 6e 3e 28 54 "tok-builtin">@typeName</span>(T
61540 29 2e 6c 65 6e 3b 0a 7d 3c 2f 63 6f 64 65 3e 3c 2f 70 72 65 3e 3c 2f 66 69 67 75 72 65 3e 3c 66 ).len;.}</code></pre></figure><f
61560 69 67 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
61580 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
615a0 3e 24 20 3c 6b 62 64 3e 7a 69 67 20 74 65 73 74 20 74 65 73 74 5f 69 6e 6c 69 6e 65 5f 66 6f 72 >$.<kbd>zig.test.test_inline_for
615c0 2e 7a 69 67 3c 2f 6b 62 64 3e 0a 31 2f 31 20 74 65 73 74 5f 69 6e 6c 69 6e 65 5f 66 6f 72 2e 74 .zig</kbd>.1/1.test_inline_for.t
615e0 65 73 74 2e 69 6e 6c 69 6e 65 20 66 6f 72 20 6c 6f 6f 70 2e 2e 2e 4f 4b 0a 41 6c 6c 20 31 20 74 est.inline.for.loop...OK.All.1.t
61600 65 73 74 73 20 70 61 73 73 65 64 2e 0a 3c 2f 73 61 6d 70 3e 3c 2f 70 72 65 3e 3c 2f 66 69 67 75 ests.passed..</samp></pre></figu
61620 72 65 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 72 65 63 6f 6d re>........<p>.......It.is.recom
61640 6d 65 6e 64 65 64 20 74 6f 20 75 73 65 20 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d mended.to.use.<code><span.class=
61660 22 74 6f 6b 2d 6b 77 22 3e 69 6e 6c 69 6e 65 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 20 6c 6f "tok-kw">inline</span></code>.lo
61680 6f 70 73 20 6f 6e 6c 79 20 66 6f 72 20 6f 6e 65 20 6f 66 20 74 68 65 73 65 20 72 65 61 73 6f 6e ops.only.for.one.of.these.reason
616a0 73 3a 0a 20 20 20 20 20 20 3c 2f 70 3e 0a 20 20 20 20 20 20 3c 75 6c 3e 0a 20 20 20 20 20 20 20 s:.......</p>.......<ul>........
616c0 20 3c 6c 69 3e 59 6f 75 20 6e 65 65 64 20 74 68 65 20 6c 6f 6f 70 20 74 6f 20 65 78 65 63 75 74 .<li>You.need.the.loop.to.execut
616e0 65 20 61 74 20 3c 61 20 68 72 65 66 3d 22 23 63 6f 6d 70 74 69 6d 65 22 3e 63 6f 6d 70 74 69 6d e.at.<a.href="#comptime">comptim
61700 65 3c 2f 61 3e 20 66 6f 72 20 74 68 65 20 73 65 6d 61 6e 74 69 63 73 20 74 6f 20 77 6f 72 6b 2e e</a>.for.the.semantics.to.work.
61720 3c 2f 6c 69 3e 0a 20 20 20 20 20 20 20 20 3c 6c 69 3e 0a 20 20 20 20 20 20 20 20 59 6f 75 20 68 </li>.........<li>.........You.h
61740 61 76 65 20 61 20 62 65 6e 63 68 6d 61 72 6b 20 74 6f 20 70 72 6f 76 65 20 74 68 61 74 20 66 6f ave.a.benchmark.to.prove.that.fo
61760 72 63 69 62 6c 79 20 75 6e 72 6f 6c 6c 69 6e 67 20 74 68 65 20 6c 6f 6f 70 20 69 6e 20 74 68 69 rcibly.unrolling.the.loop.in.thi
61780 73 20 77 61 79 20 69 73 20 6d 65 61 73 75 72 61 62 6c 79 20 66 61 73 74 65 72 2e 0a 20 20 20 20 s.way.is.measurably.faster......
617a0 20 20 20 20 3c 2f 6c 69 3e 0a 20 20 20 20 20 20 3c 2f 75 6c 3e 0a 20 20 20 20 20 20 0a 20 20 20 ....</li>.......</ul>...........
617c0 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
617e0 72 65 66 3d 22 23 77 68 69 6c 65 22 3e 77 68 69 6c 65 3c 2f 61 3e 3c 2f 6c 69 3e 0a 3c 6c 69 3e ref="#while">while</a></li>.<li>
61800 3c 61 20 68 72 65 66 3d 22 23 63 6f 6d 70 74 69 6d 65 22 3e 63 6f 6d 70 74 69 6d 65 3c 2f 61 3e <a.href="#comptime">comptime</a>
61820 3c 2f 6c 69 3e 0a 3c 6c 69 3e 3c 61 20 68 72 65 66 3d 22 23 41 72 72 61 79 73 22 3e 41 72 72 61 </li>.<li><a.href="#Arrays">Arra
61840 79 73 3c 2f 61 3e 3c 2f 6c 69 3e 0a 3c 6c 69 3e 3c 61 20 68 72 65 66 3d 22 23 53 6c 69 63 65 73 ys</a></li>.<li><a.href="#Slices
61860 22 3e 53 6c 69 63 65 73 3c 2f 61 3e 3c 2f 6c 69 3e 0a 3c 2f 75 6c 3e 0a 0a 20 20 20 20 20 20 0a ">Slices</a></li>.</ul>.........
61880 20 20 20 20 20 20 3c 68 32 20 69 64 3d 22 69 66 22 3e 3c 61 20 68 72 65 66 3d 22 6e 61 76 2e 78 ......<h2.id="if"><a.href="nav.x
618a0 68 74 6d 6c 23 74 6f 63 2d 69 66 22 3e 69 66 3c 2f 61 3e 20 3c 61 20 63 6c 61 73 73 3d 22 68 64 html#toc-if">if</a>.<a.class="hd
618c0 72 22 20 68 72 65 66 3d 22 23 69 66 22 3e c2 a7 3c 2f 61 3e 3c 2f 68 32 3e 0a 0a 20 20 20 20 20 r".href="#if">..</a></h2>.......
618e0 20 3c 66 69 67 75 72 65 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-
61900 63 61 70 22 3e 3c 63 69 74 65 20 63 6c 61 73 73 3d 22 66 69 6c 65 22 3e 74 65 73 74 5f 69 66 2e cap"><cite.class="file">test_if.
61920 7a 69 67 3c 2f 63 69 74 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
61940 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 63 6f 6d 6d 65 6e 74 22 3e 2f 2f 20 49 e><span.class="tok-comment">//.I
61960 66 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 f.expressions.have.three.uses,.c
61980 6f 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 orresponding.to.the.three.types:
619a0 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 63 6f 6d 6d 65 6e 74 </span>.<span.class="tok-comment
619c0 22 3e 2f 2f 20 2a 20 62 6f 6f 6c 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 ">//.*.bool</span>.<span.class="
619e0 74 6f 6b 2d 63 6f 6d 6d 65 6e 74 22 3e 2f 2f 20 2a 20 3f 54 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 tok-comment">//.*.?T</span>.<spa
61a00 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 63 6f 6d 6d 65 6e 74 22 3e 2f 2f 20 2a 20 61 6e 79 65 72 n.class="tok-comment">//.*.anyer
61a20 72 6f 72 21 54 3c 2f 73 70 61 6e 3e 0a 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b ror!T</span>..<span.class="tok-k
61a40 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 63 w">const</span>.expect.=.<span.c
61a60 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
61a80 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
61aa0 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 0a d&quot;</span>).testing.expect;.
61ac0 3c 73 70 61 6e 20 63 6c 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
61ae0 3e 20 65 78 70 65 63 74 45 71 75 61 6c 20 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b >.expectEqual.=.<span.class="tok
61b00 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
61b20 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;</
61b40 73 70 61 6e 3e 29 2e 74 65 73 74 69 6e 67 2e 65 78 70 65 63 74 45 71 75 61 6c 3b 0a 0a 3c 73 70 span>).testing.expectEqual;..<sp
61b60 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
61b80 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 73 74 72 22 3e 26 71 75 6f 74 3b 69 66 20 65 78 70 pan.class="tok-str">&quot;if.exp
61ba0 72 65 73 73 69 6f 6e 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 20 7b 0a 20 20 20 20 3c 73 70 61 6e ression&quot;</span>.{.....<span
61bc0 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 63 6f 6d 6d 65 6e 74 22 3e 2f 2f 20 49 66 20 65 78 70 72 65 .class="tok-comment">//.If.expre
61be0 73 73 69 6f 6e 73 20 61 72 65 20 75 73 65 64 20 69 6e 73 74 65 61 64 20 6f 66 20 61 20 74 65 72 ssions.are.used.instead.of.a.ter
61c00 6e 61 72 79 20 65 78 70 72 65 73 73 69 6f 6e 2e 3c 2f 73 70 61 6e 3e 0a 20 20 20 20 3c 73 70 61 nary.expression.</span>.....<spa
61c20 6e 20 63 6c 61 73 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:
61c40 20 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
61c60 6e 3e 20 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 35 3c n>.=.<span.class="tok-number">5<
61c80 2f 73 70 61 6e 3e 3b 0a 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 /span>;.....<span.class="tok-kw"
61ca0 3e 63 6f 6e 73 74 3c 2f 73 70 61 6e 3e 20 62 3a 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f >const</span>.b:.<span.class="to
61cc0 6b 2d 74 79 70 65 22 3e 75 33 32 3c 2f 73 70 61 6e 3e 20 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 k-type">u32</span>.=.<span.class
61ce0 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 34 3c 2f 73 70 61 6e 3e 3b 0a 20 20 20 20 3c 73 70 61 ="tok-number">4</span>;.....<spa
61d00 6e 20 63 6c 61 73 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
61d20 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 2f sult.=.<span.class="tok-kw">if</
61d40 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 2d span>.(a.!=.b).<span.class="tok-
61d60 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 74 number">47</span>.<span.class="t
61d80 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 22 ok-kw">else</span>.<span.class="
61da0 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 33 30 38 39 3c 2f 73 70 61 6e 3e 3b 0a 20 20 20 20 3c 73 70 tok-number">3089</span>;.....<sp
61dc0 61 6e 20 63 6c 61 73 73 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
61de0 65 63 74 45 71 75 61 6c 28 72 65 73 75 6c 74 2c 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f ectEqual(result,.<span.class="to
61e00 6b 2d 6e 75 6d 62 65 72 22 3e 34 37 3c 2f 73 70 61 6e 3e 29 3b 0a 7d 0a 0a 3c 73 70 61 6e 20 63 k-number">47</span>);.}..<span.c
61e20 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.
61e40 63 6c 61 73 73 3d 22 74 6f 6b 2d 73 74 72 22 3e 26 71 75 6f 74 3b 69 66 20 62 6f 6f 6c 65 61 6e class="tok-str">&quot;if.boolean
61e60 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 20 7b 0a 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d &quot;</span>.{.....<span.class=
61e80 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.
61ea0 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 0a test.boolean.conditions.</span>.
61ec0 20 20 20 20 3c 73 70 61 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</
61ee0 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">
61f00 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
61f20 6d 62 65 72 22 3e 35 3c 2f 73 70 61 6e 3e 3b 0a 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d mber">5</span>;.....<span.class=
61f40 22 74 6f 6b 2d 6b 77 22 3e 63 6f 6e 73 74 3c 2f 73 70 61 6e 3e 20 62 3a 20 3c 73 70 61 6e 20 63 "tok-kw">const</span>.b:.<span.c
61f60 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 75 33 32 3c 2f 73 70 61 6e 3e 20 3d 20 3c 73 70 lass="tok-type">u32</span>.=.<sp
61f80 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 3b 0a an.class="tok-number">4</span>;.
61fa0 20 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
61fc0 6e 3e 20 28 61 20 21 3d 20 62 29 20 7b 0a 20 20 20 20 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 n>.(a.!=.b).{.........<span.clas
61fe0 73 3d 22 74 6f 6b 2d 6b 77 22 3e 74 72 79 3c 2f 73 70 61 6e 3e 20 65 78 70 65 63 74 28 3c 73 70 s="tok-kw">try</span>.expect(<sp
62000 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>)
62020 3b 0a 20 20 20 20 7d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 65 6c 73 ;.....}.<span.class="tok-kw">els
62040 65 3c 2f 73 70 61 6e 3e 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 69 66 e</span>.<span.class="tok-kw">if
62060 3c 2f 73 70 61 6e 3e 20 28 61 20 3d 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e </span>.(a.==.<span.class="tok-n
62080 75 6d 62 65 72 22 3e 39 3c 2f 73 70 61 6e 3e 29 20 7b 0a 20 20 20 20 20 20 20 20 3c 73 70 61 6e umber">9</span>).{.........<span
620a0 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
620c0 6e 3e 3b 0a 20 20 20 20 7d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 65 n>;.....}.<span.class="tok-kw">e
620e0 6c 73 65 3c 2f 73 70 61 6e 3e 20 7b 0a 20 20 20 20 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 lse</span>.{.........<span.class
62100 3d 22 74 6f 6b 2d 6b 77 22 3e 75 6e 72 65 61 63 68 61 62 6c 65 3c 2f 73 70 61 6e 3e 3b 0a 20 20 ="tok-kw">unreachable</span>;...
62120 20 20 7d 0a 7d 0a 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 74 65 73 74 ..}.}..<span.class="tok-kw">test
62140 3c 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
62160 75 6f 74 3b 69 66 20 65 72 72 6f 72 20 75 6e 69 6f 6e 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 20 uot;if.error.union&quot;</span>.
62180 7b 0a 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 63 6f 6d 6d 65 6e 74 22 3e {.....<span.class="tok-comment">
621a0 2f 2f 20 49 66 20 65 78 70 72 65 73 73 69 6f 6e 73 20 74 65 73 74 20 66 6f 72 20 65 72 72 6f 72 //.If.expressions.test.for.error
621c0 73 2e 3c 2f 73 70 61 6e 3e 0a 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 63 s.</span>.....<span.class="tok-c
621e0 6f 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 omment">//.Note.the.|err|.captur
62200 65 20 6f 6e 20 74 68 65 20 65 6c 73 65 2e 3c 2f 73 70 61 6e 3e 0a 0a 20 20 20 20 3c 73 70 61 6e e.on.the.else.</span>......<span
62220 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 63 6f 6e 73 74 3c 2f 73 70 61 6e 3e 20 61 3a 20 .class="tok-kw">const</span>.a:.
62240 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 61 6e 79 65 72 72 6f 72 3c <span.class="tok-type">anyerror<
62260 2f 73 70 61 6e 3e 21 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 75 33 /span>!<span.class="tok-type">u3
62280 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
622a0 65 72 22 3e 30 3c 2f 73 70 61 6e 3e 3b 0a 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 er">0</span>;.....<span.class="t
622c0 6f 6b 2d 6b 77 22 3e 69 66 3c 2f 73 70 61 6e 3e 20 28 61 29 20 7c 76 61 6c 75 65 7c 20 7b 0a 20 ok-kw">if</span>.(a).|value|.{..
622e0 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<
62300 2f 73 70 61 6e 3e 20 65 78 70 65 63 74 45 71 75 61 6c 28 76 61 6c 75 65 2c 20 3c 73 70 61 6e 20 /span>.expectEqual(value,.<span.
62320 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 30 3c 2f 73 70 61 6e 3e 29 3b 0a 20 20 class="tok-number">0</span>);...
62340 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
62360 70 61 6e 3e 20 7c 65 72 72 7c 20 7b 0a 20 20 20 20 20 20 20 20 5f 20 3d 20 65 72 72 3b 0a 20 20 pan>.|err|.{........._.=.err;...
62380 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
623a0 63 68 61 62 6c 65 3c 2f 73 70 61 6e 3e 3b 0a 20 20 20 20 7d 0a 0a 20 20 20 20 3c 73 70 61 6e 20 chable</span>;.....}......<span.
623c0 63 6c 61 73 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:.<
623e0 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</
62400 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
62420 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
62440 72 72 6f 72 3c 2f 73 70 61 6e 3e 2e 42 61 64 56 61 6c 75 65 3b 0a 20 20 20 20 3c 73 70 61 6e 20 rror</span>.BadValue;.....<span.
62460 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 69 66 3c 2f 73 70 61 6e 3e 20 28 62 29 20 7c 76 61 class="tok-kw">if</span>.(b).|va
62480 6c 75 65 7c 20 7b 0a 20 20 20 20 20 20 20 20 5f 20 3d 20 76 61 6c 75 65 3b 0a 20 20 20 20 20 20 lue|.{........._.=.value;.......
624a0 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 62 ..<span.class="tok-kw">unreachab
624c0 6c 65 3c 2f 73 70 61 6e 3e 3b 0a 20 20 20 20 7d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f le</span>;.....}.<span.class="to
624e0 6b 2d 6b 77 22 3e 65 6c 73 65 3c 2f 73 70 61 6e 3e 20 7c 65 72 72 7c 20 7b 0a 20 20 20 20 20 20 k-kw">else</span>.|err|.{.......
62500 20 20 3c 73 70 61 6e 20 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
62520 3e 20 65 78 70 65 63 74 45 71 75 61 6c 28 65 72 72 2c 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 >.expectEqual(err,.<span.class="
62540 74 6f 6b 2d 6b 77 22 3e 65 72 72 6f 72 3c 2f 73 70 61 6e 3e 2e 42 61 64 56 61 6c 75 65 29 3b 0a tok-kw">error</span>.BadValue);.
62560 20 20 20 20 7d 0a 0a 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 63 6f 6d 6d ....}......<span.class="tok-comm
62580 65 6e 74 22 3e 2f 2f 20 54 68 65 20 65 6c 73 65 20 61 6e 64 20 7c 65 72 72 7c 20 63 61 70 74 75 ent">//.The.else.and.|err|.captu
625a0 72 65 20 69 73 20 73 74 72 69 63 74 6c 79 20 72 65 71 75 69 72 65 64 2e 3c 2f 73 70 61 6e 3e 0a re.is.strictly.required.</span>.
625c0 20 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
625e0 6e 3e 20 28 61 29 20 7c 76 61 6c 75 65 7c 20 7b 0a 20 20 20 20 20 20 20 20 3c 73 70 61 6e 20 63 n>.(a).|value|.{.........<span.c
62600 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 74 72 79 3c 2f 73 70 61 6e 3e 20 65 78 70 65 63 74 45 lass="tok-kw">try</span>.expectE
62620 71 75 61 6c 28 76 61 6c 75 65 2c 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d qual(value,.<span.class="tok-num
62640 62 65 72 22 3e 30 3c 2f 73 70 61 6e 3e 29 3b 0a 20 20 20 20 7d 20 3c 73 70 61 6e 20 63 6c 61 73 ber">0</span>);.....}.<span.clas
62660 73 3d 22 74 6f 6b 2d 6b 77 22 3e 65 6c 73 65 3c 2f 73 70 61 6e 3e 20 7c 5f 7c 20 7b 7d 0a 0a 20 s="tok-kw">else</span>.|_|.{}...
62680 20 20 20 3c 73 70 61 6e 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">//.
626a0 54 6f 20 63 68 65 63 6b 20 6f 6e 6c 79 20 74 68 65 20 65 72 72 6f 72 20 76 61 6c 75 65 2c 20 75 To.check.only.the.error.value,.u
626c0 73 65 20 61 6e 20 65 6d 70 74 79 20 62 6c 6f 63 6b 20 65 78 70 72 65 73 73 69 6f 6e 2e 3c 2f 73 se.an.empty.block.expression.</s
626e0 70 61 6e 3e 0a 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 69 66 pan>.....<span.class="tok-kw">if
62700 3c 2f 73 70 61 6e 3e 20 28 62 29 20 7c 5f 7c 20 7b 7d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 </span>.(b).|_|.{}.<span.class="
62720 74 6f 6b 2d 6b 77 22 3e 65 6c 73 65 3c 2f 73 70 61 6e 3e 20 7c 65 72 72 7c 20 7b 0a 20 20 20 20 tok-kw">else</span>.|err|.{.....
62740 20 20 20 20 3c 73 70 61 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
62760 61 6e 3e 20 65 78 70 65 63 74 45 71 75 61 6c 28 65 72 72 2c 20 3c 73 70 61 6e 20 63 6c 61 73 73 an>.expectEqual(err,.<span.class
62780 3d 22 74 6f 6b 2d 6b 77 22 3e 65 72 72 6f 72 3c 2f 73 70 61 6e 3e 2e 42 61 64 56 61 6c 75 65 29 ="tok-kw">error</span>.BadValue)
627a0 3b 0a 20 20 20 20 7d 0a 0a 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 63 6f ;.....}......<span.class="tok-co
627c0 6d 6d 65 6e 74 22 3e 2f 2f 20 41 63 63 65 73 73 20 74 68 65 20 76 61 6c 75 65 20 62 79 20 72 65 mment">//.Access.the.value.by.re
627e0 66 65 72 65 6e 63 65 20 75 73 69 6e 67 20 61 20 70 6f 69 6e 74 65 72 20 63 61 70 74 75 72 65 2e ference.using.a.pointer.capture.
62800 3c 2f 73 70 61 6e 3e 0a 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 </span>.....<span.class="tok-kw"
62820 3e 76 61 72 3c 2f 73 70 61 6e 3e 20 63 3a 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d >var</span>.c:.<span.class="tok-
62840 74 79 70 65 22 3e 61 6e 79 65 72 72 6f 72 3c 2f 73 70 61 6e 3e 21 3c 73 70 61 6e 20 63 6c 61 73 type">anyerror</span>!<span.clas
62860 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.
62880 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 33 3c 2f 73 70 61 6e 3e 3b 0a 20 20 20 class="tok-number">3</span>;....
628a0 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 69 66 3c 2f 73 70 61 6e 3e 20 .<span.class="tok-kw">if</span>.
628c0 28 63 29 20 7c 2a 76 61 6c 75 65 7c 20 7b 0a 20 20 20 20 20 20 20 20 76 61 6c 75 65 2e 2a 20 3d (c).|*value|.{.........value.*.=
628e0 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 39 3c 2f 73 70 61 .<span.class="tok-number">9</spa
62900 6e 3e 3b 0a 20 20 20 20 7d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 65 n>;.....}.<span.class="tok-kw">e
62920 6c 73 65 3c 2f 73 70 61 6e 3e 20 7c 5f 7c 20 7b 0a 20 20 20 20 20 20 20 20 3c 73 70 61 6e 20 63 lse</span>.|_|.{.........<span.c
62940 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 75 6e 72 65 61 63 68 61 62 6c 65 3c 2f 73 70 61 6e 3e lass="tok-kw">unreachable</span>
62960 3b 0a 20 20 20 20 7d 0a 0a 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 ;.....}......<span.class="tok-kw
62980 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 0a 20 20 20 20 20 20 ">if</span>.(c).|value|.{.......
629a0 20 20 3c 73 70 61 6e 20 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
629c0 3e 20 65 78 70 65 63 74 45 71 75 61 6c 28 76 61 6c 75 65 2c 20 3c 73 70 61 6e 20 63 6c 61 73 73 >.expectEqual(value,.<span.class
629e0 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 39 3c 2f 73 70 61 6e 3e 29 3b 0a 20 20 20 20 7d 20 3c ="tok-number">9</span>);.....}.<
62a00 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>.
62a20 7c 5f 7c 20 7b 0a 20 20 20 20 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b |_|.{.........<span.class="tok-k
62a40 77 22 3e 75 6e 72 65 61 63 68 61 62 6c 65 3c 2f 73 70 61 6e 3e 3b 0a 20 20 20 20 7d 0a 7d 3c 2f w">unreachable</span>;.....}.}</
62a60 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
62a80 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<
62aa0 2f 66 69 67 63 61 70 74 69 6f 6e 3e 3c 70 72 65 3e 3c 73 61 6d 70 3e 24 20 3c 6b 62 64 3e 7a 69 /figcaption><pre><samp>$.<kbd>zi
62ac0 67 20 74 65 73 74 20 74 65 73 74 5f 69 66 2e 7a 69 67 3c 2f 6b 62 64 3e 0a 31 2f 33 20 74 65 73 g.test.test_if.zig</kbd>.1/3.tes
62ae0 74 5f 69 66 2e 74 65 73 74 2e 69 66 20 65 78 70 72 65 73 73 69 6f 6e 2e 2e 2e 4f 4b 0a 32 2f 33 t_if.test.if.expression...OK.2/3
62b00 20 74 65 73 74 5f 69 66 2e 74 65 73 74 2e 69 66 20 62 6f 6f 6c 65 61 6e 2e 2e 2e 4f 4b 0a 33 2f .test_if.test.if.boolean...OK.3/
62b20 33 20 74 65 73 74 5f 69 66 2e 74 65 73 74 2e 69 66 20 65 72 72 6f 72 20 75 6e 69 6f 6e 2e 2e 2e 3.test_if.test.if.error.union...
62b40 4f 4b 0a 41 6c 6c 20 33 20 74 65 73 74 73 20 70 61 73 73 65 64 2e 0a 3c 2f 73 61 6d 70 3e 3c 2f OK.All.3.tests.passed..</samp></
62b60 70 72 65 3e 3c 2f 66 69 67 75 72 65 3e 0a 0a 20 20 20 20 20 20 3c 68 33 20 69 64 3d 22 69 66 2d pre></figure>........<h3.id="if-
62b80 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 6e 61 76 2e 78 68 74 with-Optionals"><a.href="nav.xht
62ba0 6d 6c 23 74 6f 63 2d 69 66 2d 77 69 74 68 2d 4f 70 74 69 6f 6e 61 6c 73 22 3e 69 66 20 77 69 74 ml#toc-if-with-Optionals">if.wit
62bc0 68 20 4f 70 74 69 6f 6e 61 6c 73 3c 2f 61 3e 20 3c 61 20 63 6c 61 73 73 3d 22 68 64 72 22 20 68 h.Optionals</a>.<a.class="hdr".h
62be0 72 65 66 3d 22 23 69 66 2d 77 69 74 68 2d 4f 70 74 69 6f 6e 61 6c 73 22 3e c2 a7 3c 2f 61 3e 3c ref="#if-with-Optionals">..</a><
62c00 2f 68 33 3e 0a 0a 0a 20 20 20 20 20 20 3c 66 69 67 75 72 65 3e 3c 66 69 67 63 61 70 74 69 6f 6e /h3>.........<figure><figcaption
62c20 20 63 6c 61 73 73 3d 22 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
62c40 6c 65 22 3e 74 65 73 74 5f 69 66 5f 6f 70 74 69 6f 6e 61 6c 73 2e 7a 69 67 3c 2f 63 69 74 65 3e le">test_if_optionals.zig</cite>
62c60 3c 2f 66 69 67 63 61 70 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
62c80 61 73 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
62ca0 20 3d 20 3c 73 70 61 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
62cc0 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
62ce0 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
62d00 67 2e 65 78 70 65 63 74 3b 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 63 g.expect;.<span.class="tok-kw">c
62d20 6f 6e 73 74 3c 2f 73 70 61 6e 3e 20 65 78 70 65 63 74 45 71 75 61 6c 20 3d 20 3c 73 70 61 6e 20 onst</span>.expectEqual.=.<span.
62d40 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
62d60 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
62d80 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 45 td&quot;</span>).testing.expectE
62da0 71 75 61 6c 3b 0a 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 74 65 73 74 qual;..<span.class="tok-kw">test
62dc0 3c 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
62de0 75 6f 74 3b 69 66 20 6f 70 74 69 6f 6e 61 6c 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 20 7b 0a 20 uot;if.optional&quot;</span>.{..
62e00 20 20 20 3c 73 70 61 6e 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">//.
62e20 49 66 20 65 78 70 72 65 73 73 69 6f 6e 73 20 74 65 73 74 20 66 6f 72 20 6e 75 6c 6c 2e 3c 2f 73 If.expressions.test.for.null.</s
62e40 70 61 6e 3e 0a 0a 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 63 pan>......<span.class="tok-kw">c
62e60 6f 6e 73 74 3c 2f 73 70 61 6e 3e 20 61 3a 20 3f 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b onst</span>.a:.?<span.class="tok
62e80 2d 74 79 70 65 22 3e 75 33 32 3c 2f 73 70 61 6e 3e 20 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d -type">u32</span>.=.<span.class=
62ea0 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 30 3c 2f 73 70 61 6e 3e 3b 0a 20 20 20 20 3c 73 70 61 6e "tok-number">0</span>;.....<span
62ec0 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
62ee0 61 6c 75 65 7c 20 7b 0a 20 20 20 20 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b alue|.{.........<span.class="tok
62f00 2d 6b 77 22 3e 74 72 79 3c 2f 73 70 61 6e 3e 20 65 78 70 65 63 74 45 71 75 61 6c 28 3c 73 70 61 -kw">try</span>.expectEqual(<spa
62f20 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 76 n.class="tok-number">0</span>,.v
62f40 61 6c 75 65 29 3b 0a 20 20 20 20 7d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 alue);.....}.<span.class="tok-kw
62f60 22 3e 65 6c 73 65 3c 2f 73 70 61 6e 3e 20 7b 0a 20 20 20 20 20 20 20 20 3c 73 70 61 6e 20 63 6c ">else</span>.{.........<span.cl
62f80 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>;
62fa0 0a 20 20 20 20 7d 0a 0a 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 .....}......<span.class="tok-kw"
62fc0 3e 63 6f 6e 73 74 3c 2f 73 70 61 6e 3e 20 62 3a 20 3f 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 >const</span>.b:.?<span.class="t
62fe0 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
63000 73 3d 22 74 6f 6b 2d 6e 75 6c 6c 22 3e 6e 75 6c 6c 3c 2f 73 70 61 6e 3e 3b 0a 20 20 20 20 3c 73 s="tok-null">null</span>;.....<s
63020 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 69 66 3c 2f 73 70 61 6e 3e 20 28 62 29 pan.class="tok-kw">if</span>.(b)
63040 20 7c 5f 7c 20 7b 0a 20 20 20 20 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d .|_|.{.........<span.class="tok-
63060 6b 77 22 3e 75 6e 72 65 61 63 68 61 62 6c 65 3c 2f 73 70 61 6e 3e 3b 0a 20 20 20 20 7d 20 3c 73 kw">unreachable</span>;.....}.<s
63080 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>.{
630a0 0a 20 20 20 20 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 74 72 .........<span.class="tok-kw">tr
630c0 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
630e0 2d 6e 75 6c 6c 22 3e 74 72 75 65 3c 2f 73 70 61 6e 3e 29 3b 0a 20 20 20 20 7d 0a 0a 20 20 20 20 -null">true</span>);.....}......
63100 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 63 6f 6d 6d 65 6e 74 22 3e 2f 2f 20 54 68 65 <span.class="tok-comment">//.The
63120 20 65 6c 73 65 20 69 73 20 6e 6f 74 20 72 65 71 75 69 72 65 64 2e 3c 2f 73 70 61 6e 3e 0a 20 20 .else.is.not.required.</span>...
63140 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>
63160 20 28 61 29 20 7c 76 61 6c 75 65 7c 20 7b 0a 20 20 20 20 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 .(a).|value|.{.........<span.cla
63180 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 74 72 79 3c 2f 73 70 61 6e 3e 20 65 78 70 65 63 74 45 71 75 ss="tok-kw">try</span>.expectEqu
631a0 61 6c 28 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 30 3c 2f 73 al(<span.class="tok-number">0</s
631c0 70 61 6e 3e 2c 20 76 61 6c 75 65 29 3b 0a 20 20 20 20 7d 0a 0a 20 20 20 20 3c 73 70 61 6e 20 63 pan>,.value);.....}......<span.c
631e0 6c 61 73 73 3d 22 74 6f 6b 2d 63 6f 6d 6d 65 6e 74 22 3e 2f 2f 20 54 6f 20 74 65 73 74 20 61 67 lass="tok-comment">//.To.test.ag
63200 61 69 6e 73 74 20 6e 75 6c 6c 20 6f 6e 6c 79 2c 20 75 73 65 20 74 68 65 20 62 69 6e 61 72 79 20 ainst.null.only,.use.the.binary.
63220 65 71 75 61 6c 69 74 79 20 6f 70 65 72 61 74 6f 72 2e 3c 2f 73 70 61 6e 3e 0a 20 20 20 20 3c 73 equality.operator.</span>.....<s
63240 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 69 66 3c 2f 73 70 61 6e 3e 20 28 62 20 pan.class="tok-kw">if</span>.(b.
63260 3d 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6c 6c 22 3e 6e 75 6c 6c 3c 2f ==.<span.class="tok-null">null</
63280 73 70 61 6e 3e 29 20 7b 0a 20 20 20 20 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f span>).{.........<span.class="to
632a0 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
632c0 61 73 73 3d 22 74 6f 6b 2d 6e 75 6c 6c 22 3e 74 72 75 65 3c 2f 73 70 61 6e 3e 29 3b 0a 20 20 20 ass="tok-null">true</span>);....
632e0 20 7d 0a 0a 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 63 6f 6d 6d 65 6e 74 .}......<span.class="tok-comment
63300 22 3e 2f 2f 20 41 63 63 65 73 73 20 74 68 65 20 76 61 6c 75 65 20 62 79 20 72 65 66 65 72 65 6e ">//.Access.the.value.by.referen
63320 63 65 20 75 73 69 6e 67 20 61 20 70 6f 69 6e 74 65 72 20 63 61 70 74 75 72 65 2e 3c 2f 73 70 61 ce.using.a.pointer.capture.</spa
63340 6e 3e 0a 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 76 61 72 3c n>.....<span.class="tok-kw">var<
63360 2f 73 70 61 6e 3e 20 63 3a 20 3f 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 /span>.c:.?<span.class="tok-type
63380 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-
633a0 6e 75 6d 62 65 72 22 3e 33 3c 2f 73 70 61 6e 3e 3b 0a 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 number">3</span>;.....<span.clas
633c0 73 3d 22 74 6f 6b 2d 6b 77 22 3e 69 66 3c 2f 73 70 61 6e 3e 20 28 63 29 20 7c 2a 76 61 6c 75 65 s="tok-kw">if</span>.(c).|*value
633e0 7c 20 7b 0a 20 20 20 20 20 20 20 20 76 61 6c 75 65 2e 2a 20 3d 20 3c 73 70 61 6e 20 63 6c 61 73 |.{.........value.*.=.<span.clas
63400 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 32 3c 2f 73 70 61 6e 3e 3b 0a 20 20 20 20 7d 0a 0a s="tok-number">2</span>;.....}..
63420 20 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
63440 6e 3e 20 28 63 29 20 7c 76 61 6c 75 65 7c 20 7b 0a 20 20 20 20 20 20 20 20 3c 73 70 61 6e 20 63 n>.(c).|value|.{.........<span.c
63460 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 74 72 79 3c 2f 73 70 61 6e 3e 20 65 78 70 65 63 74 45 lass="tok-kw">try</span>.expectE
63480 71 75 61 6c 28 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 32 3c qual(<span.class="tok-number">2<
634a0 2f 73 70 61 6e 3e 2c 20 76 61 6c 75 65 29 3b 0a 20 20 20 20 7d 20 3c 73 70 61 6e 20 63 6c 61 73 /span>,.value);.....}.<span.clas
634c0 73 3d 22 74 6f 6b 2d 6b 77 22 3e 65 6c 73 65 3c 2f 73 70 61 6e 3e 20 7b 0a 20 20 20 20 20 20 20 s="tok-kw">else</span>.{........
634e0 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 75 6e 72 65 61 63 68 61 62 6c .<span.class="tok-kw">unreachabl
63500 65 3c 2f 73 70 61 6e 3e 3b 0a 20 20 20 20 7d 0a 7d 0a 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 e</span>;.....}.}..<span.class="
63520 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=
63540 22 74 6f 6b 2d 73 74 72 22 3e 26 71 75 6f 74 3b 69 66 20 65 72 72 6f 72 20 75 6e 69 6f 6e 20 77 "tok-str">&quot;if.error.union.w
63560 69 74 68 20 6f 70 74 69 6f 6e 61 6c 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 20 7b 0a 20 20 20 20 ith.optional&quot;</span>.{.....
63580 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 63 6f 6d 6d 65 6e 74 22 3e 2f 2f 20 49 66 20 <span.class="tok-comment">//.If.
635a0 65 78 70 72 65 73 73 69 6f 6e 73 20 74 65 73 74 20 66 6f 72 20 65 72 72 6f 72 73 20 62 65 66 6f expressions.test.for.errors.befo
635c0 72 65 20 75 6e 77 72 61 70 70 69 6e 67 20 6f 70 74 69 6f 6e 61 6c 73 2e 3c 2f 73 70 61 6e 3e 0a re.unwrapping.optionals.</span>.
635e0 20 20 20 20 3c 73 70 61 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">//
63600 20 54 68 65 20 7c 6f 70 74 69 6f 6e 61 6c 5f 76 61 6c 75 65 7c 20 63 61 70 74 75 72 65 27 73 20 .The.|optional_value|.capture's.
63620 74 79 70 65 20 69 73 20 3f 75 33 32 2e 3c 2f 73 70 61 6e 3e 0a 0a 20 20 20 20 3c 73 70 61 6e 20 type.is.?u32.</span>......<span.
63640 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 63 6f 6e 73 74 3c 2f 73 70 61 6e 3e 20 61 3a 20 3c class="tok-kw">const</span>.a:.<
63660 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</
63680 73 70 61 6e 3e 21 3f 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 75 33 span>!?<span.class="tok-type">u3
636a0 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
636c0 65 72 22 3e 30 3c 2f 73 70 61 6e 3e 3b 0a 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 er">0</span>;.....<span.class="t
636e0 6f 6b 2d 6b 77 22 3e 69 66 3c 2f 73 70 61 6e 3e 20 28 61 29 20 7c 6f 70 74 69 6f 6e 61 6c 5f 76 ok-kw">if</span>.(a).|optional_v
63700 61 6c 75 65 7c 20 7b 0a 20 20 20 20 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b alue|.{.........<span.class="tok
63720 2d 6b 77 22 3e 74 72 79 3c 2f 73 70 61 6e 3e 20 65 78 70 65 63 74 45 71 75 61 6c 28 3c 73 70 61 -kw">try</span>.expectEqual(<spa
63740 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 6f n.class="tok-number">0</span>,.o
63760 70 74 69 6f 6e 61 6c 5f 76 61 6c 75 65 2e 3f 29 3b 0a 20 20 20 20 7d 20 3c 73 70 61 6e 20 63 6c ptional_value.?);.....}.<span.cl
63780 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|.{
637a0 0a 20 20 20 20 20 20 20 20 5f 20 3d 20 65 72 72 3b 0a 20 20 20 20 20 20 20 20 3c 73 70 61 6e 20 ........._.=.err;.........<span.
637c0 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
637e0 3e 3b 0a 20 20 20 20 7d 0a 0a 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b >;.....}......<span.class="tok-k
63800 77 22 3e 63 6f 6e 73 74 3c 2f 73 70 61 6e 3e 20 62 3a 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 w">const</span>.b:.<span.class="
63820 74 6f 6b 2d 74 79 70 65 22 3e 61 6e 79 65 72 72 6f 72 3c 2f 73 70 61 6e 3e 21 3f 3c 73 70 61 6e tok-type">anyerror</span>!?<span
63840 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>.=.<
63860 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
63880 3e 3b 0a 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 69 66 3c 2f >;.....<span.class="tok-kw">if</
638a0 73 70 61 6e 3e 20 28 62 29 20 7c 6f 70 74 69 6f 6e 61 6c 5f 76 61 6c 75 65 7c 20 7b 0a 20 20 20 span>.(b).|optional_value|.{....
638c0 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
638e0 70 61 6e 3e 20 65 78 70 65 63 74 45 71 75 61 6c 28 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f pan>.expectEqual(<span.class="to
63900 6b 2d 6e 75 6c 6c 22 3e 6e 75 6c 6c 3c 2f 73 70 61 6e 3e 2c 20 6f 70 74 69 6f 6e 61 6c 5f 76 61 k-null">null</span>,.optional_va
63920 6c 75 65 29 3b 0a 20 20 20 20 7d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 lue);.....}.<span.class="tok-kw"
63940 3e 65 6c 73 65 3c 2f 73 70 61 6e 3e 20 7c 5f 7c 20 7b 0a 20 20 20 20 20 20 20 20 3c 73 70 61 6e >else</span>.|_|.{.........<span
63960 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
63980 6e 3e 3b 0a 20 20 20 20 7d 0a 0a 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d n>;.....}......<span.class="tok-
639a0 6b 77 22 3e 63 6f 6e 73 74 3c 2f 73 70 61 6e 3e 20 63 3a 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d kw">const</span>.c:.<span.class=
639c0 22 74 6f 6b 2d 74 79 70 65 22 3e 61 6e 79 65 72 72 6f 72 3c 2f 73 70 61 6e 3e 21 3f 3c 73 70 61 "tok-type">anyerror</span>!?<spa
639e0 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 75 33 32 3c 2f 73 70 61 6e 3e 20 3d 20 n.class="tok-type">u32</span>.=.
63a00 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
63a20 3e 2e 42 61 64 56 61 6c 75 65 3b 0a 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b >.BadValue;.....<span.class="tok
63a40 2d 6b 77 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 -kw">if</span>.(c).|optional_val
63a60 75 65 7c 20 7b 0a 20 20 20 20 20 20 20 20 5f 20 3d 20 6f 70 74 69 6f 6e 61 6c 5f 76 61 6c 75 65 ue|.{........._.=.optional_value
63a80 3b 0a 20 20 20 20 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 75 ;.........<span.class="tok-kw">u
63aa0 6e 72 65 61 63 68 61 62 6c 65 3c 2f 73 70 61 6e 3e 3b 0a 20 20 20 20 7d 20 3c 73 70 61 6e 20 63 nreachable</span>;.....}.<span.c
63ac0 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|.
63ae0 7b 0a 20 20 20 20 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 74 {.........<span.class="tok-kw">t
63b00 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 73 ry</span>.expectEqual(<span.clas
63b20 73 3d 22 74 6f 6b 2d 6b 77 22 3e 65 72 72 6f 72 3c 2f 73 70 61 6e 3e 2e 42 61 64 56 61 6c 75 65 s="tok-kw">error</span>.BadValue
63b40 2c 20 65 72 72 29 3b 0a 20 20 20 20 7d 0a 0a 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 ,.err);.....}......<span.class="
63b60 74 6f 6b 2d 63 6f 6d 6d 65 6e 74 22 3e 2f 2f 20 41 63 63 65 73 73 20 74 68 65 20 76 61 6c 75 65 tok-comment">//.Access.the.value
63b80 20 62 79 20 72 65 66 65 72 65 6e 63 65 20 62 79 20 75 73 69 6e 67 20 61 20 70 6f 69 6e 74 65 72 .by.reference.by.using.a.pointer
63ba0 20 63 61 70 74 75 72 65 20 65 61 63 68 20 74 69 6d 65 2e 3c 2f 73 70 61 6e 3e 0a 20 20 20 20 3c .capture.each.time.</span>.....<
63bc0 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 64 span.class="tok-kw">var</span>.d
63be0 3a 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
63c00 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"
63c20 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
63c40 75 6d 62 65 72 22 3e 33 3c 2f 73 70 61 6e 3e 3b 0a 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 umber">3</span>;.....<span.class
63c60 3d 22 74 6f 6b 2d 6b 77 22 3e 69 66 3c 2f 73 70 61 6e 3e 20 28 64 29 20 7c 2a 6f 70 74 69 6f 6e ="tok-kw">if</span>.(d).|*option
63c80 61 6c 5f 76 61 6c 75 65 7c 20 7b 0a 20 20 20 20 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d al_value|.{.........<span.class=
63ca0 22 74 6f 6b 2d 6b 77 22 3e 69 66 3c 2f 73 70 61 6e 3e 20 28 6f 70 74 69 6f 6e 61 6c 5f 76 61 6c "tok-kw">if</span>.(optional_val
63cc0 75 65 2e 2a 29 20 7c 2a 76 61 6c 75 65 7c 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 76 61 6c ue.*).|*value|.{.............val
63ce0 75 65 2e 2a 20 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e ue.*.=.<span.class="tok-number">
63d00 39 3c 2f 73 70 61 6e 3e 3b 0a 20 20 20 20 20 20 20 20 7d 0a 20 20 20 20 7d 20 3c 73 70 61 6e 20 9</span>;.........}.....}.<span.
63d20 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>.|_|.{
63d40 0a 20 20 20 20 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 75 6e .........<span.class="tok-kw">un
63d60 72 65 61 63 68 61 62 6c 65 3c 2f 73 70 61 6e 3e 3b 0a 20 20 20 20 7d 0a 0a 20 20 20 20 3c 73 70 reachable</span>;.....}......<sp
63d80 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 64 29 20 an.class="tok-kw">if</span>.(d).
63da0 7c 6f 70 74 69 6f 6e 61 6c 5f 76 61 6c 75 65 7c 20 7b 0a 20 20 20 20 20 20 20 20 3c 73 70 61 6e |optional_value|.{.........<span
63dc0 20 63 6c 61 73 73 3d 22 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
63de0 74 45 71 75 61 6c 28 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e tEqual(<span.class="tok-number">
63e00 39 3c 2f 73 70 61 6e 3e 2c 20 6f 70 74 69 6f 6e 61 6c 5f 76 61 6c 75 65 2e 3f 29 3b 0a 20 20 20 9</span>,.optional_value.?);....
63e20 20 7d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 65 6c 73 65 3c 2f 73 70 .}.<span.class="tok-kw">else</sp
63e40 61 6e 3e 20 7c 5f 7c 20 7b 0a 20 20 20 20 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 an>.|_|.{.........<span.class="t
63e60 6f 6b 2d 6b 77 22 3e 75 6e 72 65 61 63 68 61 62 6c 65 3c 2f 73 70 61 6e 3e 3b 0a 20 20 20 20 7d ok-kw">unreachable</span>;.....}
63e80 0a 7d 3c 2f 63 6f 64 65 3e 3c 2f 70 72 65 3e 3c 2f 66 69 67 75 72 65 3e 3c 66 69 67 75 72 65 3e .}</code></pre></figure><figure>
63ea0 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
63ec0 65 6c 6c 3c 2f 66 69 67 63 61 70 74 69 6f 6e 3e 3c 70 72 65 3e 3c 73 61 6d 70 3e 24 20 3c 6b 62 ell</figcaption><pre><samp>$.<kb
63ee0 64 3e 7a 69 67 20 74 65 73 74 20 74 65 73 74 5f 69 66 5f 6f 70 74 69 6f 6e 61 6c 73 2e 7a 69 67 d>zig.test.test_if_optionals.zig
63f00 3c 2f 6b 62 64 3e 0a 31 2f 32 20 74 65 73 74 5f 69 66 5f 6f 70 74 69 6f 6e 61 6c 73 2e 74 65 73 </kbd>.1/2.test_if_optionals.tes
63f20 74 2e 69 66 20 6f 70 74 69 6f 6e 61 6c 2e 2e 2e 4f 4b 0a 32 2f 32 20 74 65 73 74 5f 69 66 5f 6f t.if.optional...OK.2/2.test_if_o
63f40 70 74 69 6f 6e 61 6c 73 2e 74 65 73 74 2e 69 66 20 65 72 72 6f 72 20 75 6e 69 6f 6e 20 77 69 74 ptionals.test.if.error.union.wit
63f60 68 20 6f 70 74 69 6f 6e 61 6c 2e 2e 2e 4f 4b 0a 41 6c 6c 20 32 20 74 65 73 74 73 20 70 61 73 73 h.optional...OK.All.2.tests.pass
63f80 65 64 2e 0a 3c 2f 73 61 6d 70 3e 3c 2f 70 72 65 3e 3c 2f 66 69 67 75 72 65 3e 0a 0a 20 20 20 20 ed..</samp></pre></figure>......
63fa0 20 20 0a 20 20 20 20 20 20 3c 70 3e 53 65 65 20 61 6c 73 6f 3a 3c 2f 70 3e 3c 75 6c 3e 0a 3c 6c .........<p>See.also:</p><ul>.<l
63fc0 69 3e 3c 61 20 68 72 65 66 3d 22 23 4f 70 74 69 6f 6e 61 6c 73 22 3e 4f 70 74 69 6f 6e 61 6c 73 i><a.href="#Optionals">Optionals
63fe0 3c 2f 61 3e 3c 2f 6c 69 3e 0a 3c 6c 69 3e 3c 61 20 68 72 65 66 3d 22 23 45 72 72 6f 72 73 22 3e </a></li>.<li><a.href="#Errors">
64000 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 20 0a 20 20 Errors</a></li>.</ul>...........
64020 20 20 20 20 3c 68 32 20 69 64 3d 22 64 65 66 65 72 22 3e 3c 61 20 68 72 65 66 3d 22 6e 61 76 2e ....<h2.id="defer"><a.href="nav.
64040 78 68 74 6d 6c 23 74 6f 63 2d 64 65 66 65 72 22 3e 64 65 66 65 72 3c 2f 61 3e 20 3c 61 20 63 6c xhtml#toc-defer">defer</a>.<a.cl
64060 61 73 73 3d 22 68 64 72 22 20 68 72 65 66 3d 22 23 64 65 66 65 72 22 3e c2 a7 3c 2f 61 3e 3c 2f ass="hdr".href="#defer">..</a></
64080 68 32 3e 0a 0a 20 20 20 20 20 20 3c 70 3e 45 78 65 63 75 74 65 73 20 61 6e 20 65 78 70 72 65 73 h2>........<p>Executes.an.expres
640a0 73 69 6f 6e 20 75 6e 63 6f 6e 64 69 74 69 6f 6e 61 6c 6c 79 20 61 74 20 73 63 6f 70 65 20 65 78 sion.unconditionally.at.scope.ex
640c0 69 74 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 it.</p>.......<figure><figcaptio
640e0 6e 20 63 6c 61 73 73 3d 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
64100 69 6c 65 22 3e 74 65 73 74 5f 64 65 66 65 72 2e 7a 69 67 3c 2f 63 69 74 65 3e 3c 2f 66 69 67 63 ile">test_defer.zig</cite></figc
64120 61 70 74 69 6f 6e 3e 3c 70 72 65 3e 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 aption><pre><code><span.class="t
64140 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.
64160 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
64180 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
641a0 74 64 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 29 3b 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 td&quot;</span>);.<span.class="t
641c0 6f 6b 2d 6b 77 22 3e 63 6f 6e 73 74 3c 2f 73 70 61 6e 3e 20 65 78 70 65 63 74 45 71 75 61 6c 20 ok-kw">const</span>.expectEqual.
641e0 3d 20 73 74 64 2e 74 65 73 74 69 6e 67 2e 65 78 70 65 63 74 45 71 75 61 6c 3b 0a 3c 73 70 61 6e =.std.testing.expectEqual;.<span
64200 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 63 6f 6e 73 74 3c 2f 73 70 61 6e 3e 20 70 72 69 .class="tok-kw">const</span>.pri
64220 6e 74 20 3d 20 73 74 64 2e 64 65 62 75 67 2e 70 72 69 6e 74 3b 0a 0a 3c 73 70 61 6e 20 63 6c 61 nt.=.std.debug.print;..<span.cla
64240 73 73 3d 22 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
64260 73 3d 22 74 6f 6b 2d 66 6e 22 3e 64 65 66 65 72 45 78 61 6d 70 6c 65 3c 2f 73 70 61 6e 3e 28 29 s="tok-fn">deferExample</span>()
64280 20 21 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 75 73 69 7a 65 3c 2f .!<span.class="tok-type">usize</
642a0 73 70 61 6e 3e 20 7b 0a 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 span>.{.....<span.class="tok-kw"
642c0 3e 76 61 72 3c 2f 73 70 61 6e 3e 20 61 3a 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d >var</span>.a:.<span.class="tok-
642e0 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
64300 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 31 3c 2f 73 70 61 6e 3e 3b 0a 0a 20 20 20 20 7b 0a 20 ="tok-number">1</span>;......{..
64320 20 20 20 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 64 65 66 65 .......<span.class="tok-kw">defe
64340 72 3c 2f 73 70 61 6e 3e 20 61 20 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 r</span>.a.=.<span.class="tok-nu
64360 6d 62 65 72 22 3e 32 3c 2f 73 70 61 6e 3e 3b 0a 20 20 20 20 20 20 20 20 61 20 3d 20 3c 73 70 61 mber">2</span>;.........a.=.<spa
64380 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 31 3c 2f 73 70 61 6e 3e 3b 0a 20 n.class="tok-number">1</span>;..
643a0 20 20 20 7d 0a 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 74 72 ...}.....<span.class="tok-kw">tr
643c0 79 3c 2f 73 70 61 6e 3e 20 65 78 70 65 63 74 45 71 75 61 6c 28 3c 73 70 61 6e 20 63 6c 61 73 73 y</span>.expectEqual(<span.class
643e0 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 32 3c 2f 73 70 61 6e 3e 2c 20 61 29 3b 0a 0a 20 20 20 ="tok-number">2</span>,.a);.....
64400 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 35 3c .a.=.<span.class="tok-number">5<
64420 2f 73 70 61 6e 3e 3b 0a 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 /span>;.....<span.class="tok-kw"
64440 3e 72 65 74 75 72 6e 3c 2f 73 70 61 6e 3e 20 61 3b 0a 7d 0a 0a 3c 73 70 61 6e 20 63 6c 61 73 73 >return</span>.a;.}..<span.class
64460 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
64480 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
644a0 75 6f 74 3b 3c 2f 73 70 61 6e 3e 20 7b 0a 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 uot;</span>.{.....<span.class="t
644c0 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 73 ok-kw">try</span>.expectEqual(<s
644e0 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>,
64500 20 28 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 74 72 79 3c 2f 73 70 61 6e .(<span.class="tok-kw">try</span
64520 3e 20 64 65 66 65 72 45 78 61 6d 70 6c 65 28 29 29 29 3b 0a 7d 3c 2f 63 6f 64 65 3e 3c 2f 70 72 >.deferExample()));.}</code></pr
64540 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
64560 6c 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
64580 6f 6e 3e 3c 70 72 65 3e 3c 73 61 6d 70 3e 24 20 3c 6b 62 64 3e 7a 69 67 20 74 65 73 74 20 74 65 on><pre><samp>$.<kbd>zig.test.te
645a0 73 74 5f 64 65 66 65 72 2e 7a 69 67 3c 2f 6b 62 64 3e 0a 31 2f 31 20 74 65 73 74 5f 64 65 66 65 st_defer.zig</kbd>.1/1.test_defe
645c0 72 2e 74 65 73 74 2e 64 65 66 65 72 20 62 61 73 69 63 73 2e 2e 2e 4f 4b 0a 41 6c 6c 20 31 20 74 r.test.defer.basics...OK.All.1.t
645e0 65 73 74 73 20 70 61 73 73 65 64 2e 0a 3c 2f 73 61 6d 70 3e 3c 2f 70 72 65 3e 3c 2f 66 69 67 75 ests.passed..</samp></pre></figu
64600 72 65 3e 0a 0a 20 20 20 20 20 20 3c 70 3e 44 65 66 65 72 20 65 78 70 72 65 73 73 69 6f 6e 73 20 re>........<p>Defer.expressions.
64620 61 72 65 20 65 76 61 6c 75 61 74 65 64 20 69 6e 20 72 65 76 65 72 73 65 20 6f 72 64 65 72 2e 3c are.evaluated.in.reverse.order.<
64640 2f 70 3e 0a 20 20 20 20 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
64660 61 73 73 3d 22 7a 69 67 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"
64680 3e 64 65 66 65 72 5f 75 6e 77 69 6e 64 2e 7a 69 67 3c 2f 63 69 74 65 3e 3c 2f 66 69 67 63 61 70 >defer_unwind.zig</cite></figcap
646a0 74 69 6f 6e 3e 3c 70 72 65 3e 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b tion><pre><code><span.class="tok
646c0 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
646e0 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>
64700 28 3c 73 70 61 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
64720 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 29 3b 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b &quot;</span>);.<span.class="tok
64740 2d 6b 77 22 3e 63 6f 6e 73 74 3c 2f 73 70 61 6e 3e 20 70 72 69 6e 74 20 3d 20 73 74 64 2e 64 65 -kw">const</span>.print.=.std.de
64760 62 75 67 2e 70 72 69 6e 74 3b 0a 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 bug.print;..<span.class="tok-kw"
64780 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"
647a0 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">
647c0 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
647e0 79 70 65 22 3e 76 6f 69 64 3c 2f 73 70 61 6e 3e 20 7b 0a 20 20 20 20 70 72 69 6e 74 28 3c 73 70 ype">void</span>.{.....print(<sp
64800 61 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 74 an.class="tok-str">&quot;\n&quot
64820 3b 3c 2f 73 70 61 6e 3e 2c 20 2e 7b 7d 29 3b 0a 0a 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 ;</span>,..{});......<span.class
64840 3d 22 74 6f 6b 2d 6b 77 22 3e 64 65 66 65 72 3c 2f 73 70 61 6e 3e 20 7b 0a 20 20 20 20 20 20 20 ="tok-kw">defer</span>.{........
64860 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
64880 6f 74 3b 31 20 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 2c 20 2e 7b 7d 29 3b 0a 20 20 20 20 7d 0a ot;1.&quot;</span>,..{});.....}.
648a0 20 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</
648c0 73 70 61 6e 3e 20 7b 0a 20 20 20 20 20 20 20 20 70 72 69 6e 74 28 3c 73 70 61 6e 20 63 6c 61 73 span>.{.........print(<span.clas
648e0 73 3d 22 74 6f 6b 2d 73 74 72 22 3e 26 71 75 6f 74 3b 32 20 26 71 75 6f 74 3b 3c 2f 73 70 61 6e s="tok-str">&quot;2.&quot;</span
64900 3e 2c 20 2e 7b 7d 29 3b 0a 20 20 20 20 7d 0a 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 >,..{});.....}.....<span.class="
64920 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="
64940 74 6f 6b 2d 6e 75 6c 6c 22 3e 66 61 6c 73 65 3c 2f 73 70 61 6e 3e 29 20 7b 0a 20 20 20 20 20 20 tok-null">false</span>).{.......
64960 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 63 6f 6d 6d 65 6e 74 22 3e 2f 2f 20 64 ..<span.class="tok-comment">//.d
64980 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 65 20 6e 65 efers.are.not.run.if.they.are.ne
649a0 76 65 72 20 65 78 65 63 75 74 65 64 2e 3c 2f 73 70 61 6e 3e 0a 20 20 20 20 20 20 20 20 3c 73 70 ver.executed.</span>.........<sp
649c0 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 64 65 66 65 72 3c 2f 73 70 61 6e 3e 20 7b an.class="tok-kw">defer</span>.{
649e0 0a 20 20 20 20 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 .............print(<span.class="
64a00 74 6f 6b 2d 73 74 72 22 3e 26 71 75 6f 74 3b 33 20 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 2c 20 tok-str">&quot;3.&quot;</span>,.
64a20 2e 7b 7d 29 3b 0a 20 20 20 20 20 20 20 20 7d 0a 20 20 20 20 7d 0a 7d 3c 2f 63 6f 64 65 3e 3c 2f .{});.........}.....}.}</code></
64a40 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
64a60 20 63 6c 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
64a80 74 69 6f 6e 3e 3c 70 72 65 3e 3c 73 61 6d 70 3e 24 20 3c 6b 62 64 3e 7a 69 67 20 62 75 69 6c 64 tion><pre><samp>$.<kbd>zig.build
64aa0 2d 65 78 65 20 64 65 66 65 72 5f 75 6e 77 69 6e 64 2e 7a 69 67 3c 2f 6b 62 64 3e 0a 24 20 3c 6b -exe.defer_unwind.zig</kbd>.$.<k
64ac0 62 64 3e 2e 2f 64 65 66 65 72 5f 75 6e 77 69 6e 64 3c 2f 6b 62 64 3e 0a 0a 32 20 31 0a 3c 2f 73 bd>./defer_unwind</kbd>..2.1.</s
64ae0 61 6d 70 3e 3c 2f 70 72 65 3e 3c 2f 66 69 67 75 72 65 3e 0a 0a 20 20 20 20 20 20 3c 70 3e 49 6e amp></pre></figure>........<p>In
64b00 73 69 64 65 20 61 20 64 65 66 65 72 20 65 78 70 72 65 73 73 69 6f 6e 20 74 68 65 20 72 65 74 75 side.a.defer.expression.the.retu
64b20 72 6e 20 73 74 61 74 65 6d 65 6e 74 20 69 73 20 6e 6f 74 20 61 6c 6c 6f 77 65 64 2e 3c 2f 70 3e rn.statement.is.not.allowed.</p>
64b40 0a 20 20 20 20 20 20 3c 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
64b60 3d 22 7a 69 67 2d 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
64b80 73 74 5f 69 6e 76 61 6c 69 64 5f 64 65 66 65 72 2e 7a 69 67 3c 2f 63 69 74 65 3e 3c 2f 66 69 67 st_invalid_defer.zig</cite></fig
64ba0 63 61 70 74 69 6f 6e 3e 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="
64bc0 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
64be0 6f 6b 2d 66 6e 22 3e 64 65 66 65 72 49 6e 76 61 6c 69 64 45 78 61 6d 70 6c 65 3c 2f 73 70 61 6e ok-fn">deferInvalidExample</span
64c00 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
64c20 3c 2f 73 70 61 6e 3e 20 7b 0a 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b </span>.{.....<span.class="tok-k
64c40 77 22 3e 64 65 66 65 72 3c 2f 73 70 61 6e 3e 20 7b 0a 20 20 20 20 20 20 20 20 3c 73 70 61 6e 20 w">defer</span>.{.........<span.
64c60 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
64c80 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 65 72 72 6f 72 3c 2f 73 70 61 6e 3e 2e 44 an.class="tok-kw">error</span>.D
64ca0 65 66 65 72 45 72 72 6f 72 3b 0a 20 20 20 20 7d 0a 0a 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 eferError;.....}......<span.clas
64cc0 73 3d 22 74 6f 6b 2d 6b 77 22 3e 72 65 74 75 72 6e 3c 2f 73 70 61 6e 3e 20 3c 73 70 61 6e 20 63 s="tok-kw">return</span>.<span.c
64ce0 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 65 72 72 6f 72 3c 2f 73 70 61 6e 3e 2e 44 65 66 65 72 lass="tok-kw">error</span>.Defer
64d00 45 72 72 6f 72 3b 0a 7d 3c 2f 63 6f 64 65 3e 3c 2f 70 72 65 3e 3c 2f 66 69 67 75 72 65 3e 3c 66 Error;.}</code></pre></figure><f
64d20 69 67 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
64d40 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
64d60 3e 24 20 3c 6b 62 64 3e 7a 69 67 20 74 65 73 74 20 74 65 73 74 5f 69 6e 76 61 6c 69 64 5f 64 65 >$.<kbd>zig.test.test_invalid_de
64d80 66 65 72 2e 7a 69 67 3c 2f 6b 62 64 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 73 67 72 2d 31 fer.zig</kbd>.<span.class="sgr-1
64da0 6d 22 3e 2f 68 6f 6d 65 2f 63 69 2f 77 6f 72 6b 2f 7a 69 67 2d 62 6f 6f 74 73 74 72 61 70 2f 7a m">/home/ci/work/zig-bootstrap/z
64dc0 69 67 2f 64 6f 63 2f 6c 61 6e 67 72 65 66 2f 74 65 73 74 5f 69 6e 76 61 6c 69 64 5f 64 65 66 65 ig/doc/langref/test_invalid_defe
64de0 72 2e 7a 69 67 3a 33 3a 39 3a 20 3c 2f 73 70 61 6e 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 73 r.zig:3:9:.</span><span.class="s
64e00 67 72 2d 33 31 6d 22 3e 65 72 72 6f 72 3a 20 3c 2f 73 70 61 6e 3e 3c 73 70 61 6e 20 63 6c 61 73 gr-31m">error:.</span><span.clas
64e20 73 3d 22 73 67 72 2d 31 6d 22 3e 63 61 6e 6e 6f 74 20 72 65 74 75 72 6e 20 66 72 6f 6d 20 64 65 s="sgr-1m">cannot.return.from.de
64e40 66 65 72 20 65 78 70 72 65 73 73 69 6f 6e 0a 3c 2f 73 70 61 6e 3e 20 20 20 20 20 20 20 20 72 65 fer.expression.</span>........re
64e60 74 75 72 6e 20 65 72 72 6f 72 2e 44 65 66 65 72 45 72 72 6f 72 3b 0a 20 20 20 20 20 20 20 20 3c turn.error.DeferError;.........<
64e80 73 70 61 6e 20 63 6c 61 73 73 3d 22 73 67 72 2d 33 32 6d 22 3e 5e 7e 7e 7e 7e 7e 7e 7e 7e 7e 7e span.class="sgr-32m">^~~~~~~~~~~
64ea0 7e 7e 7e 7e 7e 7e 7e 7e 7e 7e 7e 7e 0a 3c 2f 73 70 61 6e 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d ~~~~~~~~~~~~.</span><span.class=
64ec0 22 73 67 72 2d 31 6d 22 3e 2f 68 6f 6d 65 2f 63 69 2f 77 6f 72 6b 2f 7a 69 67 2d 62 6f 6f 74 73 "sgr-1m">/home/ci/work/zig-boots
64ee0 74 72 61 70 2f 7a 69 67 2f 64 6f 63 2f 6c 61 6e 67 72 65 66 2f 74 65 73 74 5f 69 6e 76 61 6c 69 trap/zig/doc/langref/test_invali
64f00 64 5f 64 65 66 65 72 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 d_defer.zig:2:5:.</span><span.cl
64f20 61 73 73 3d 22 73 67 72 2d 33 36 6d 22 3e 6e 6f 74 65 3a 20 3c 2f 73 70 61 6e 3e 3c 73 70 61 6e ass="sgr-36m">note:.</span><span
64f40 20 63 6c 61 73 73 3d 22 73 67 72 2d 31 6d 22 3e 64 65 66 65 72 20 65 78 70 72 65 73 73 69 6f 6e .class="sgr-1m">defer.expression
64f60 20 68 65 72 65 0a 3c 2f 73 70 61 6e 3e 20 20 20 20 64 65 66 65 72 20 7b 0a 20 20 20 20 3c 73 70 .here.</span>....defer.{.....<sp
64f80 61 6e 20 63 6c 61 73 73 3d 22 73 67 72 2d 33 32 6d 22 3e 5e 7e 7e 7e 7e 0a 3c 2f 73 70 61 6e 3e an.class="sgr-32m">^~~~~.</span>
64fa0 0a 3c 2f 73 61 6d 70 3e 3c 2f 70 72 65 3e 3c 2f 66 69 67 75 72 65 3e 0a 0a 20 20 20 20 20 20 3c .</samp></pre></figure>........<
64fc0 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=
64fe0 22 23 45 72 72 6f 72 73 22 3e 45 72 72 6f 72 73 3c 2f 61 3e 3c 2f 6c 69 3e 0a 3c 2f 75 6c 3e 0a "#Errors">Errors</a></li>.</ul>.
65000 0a 20 20 20 20 20 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 ..............<h2.id="unreachabl
65020 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 75 6e 72 65 61 63 e"><a.href="nav.xhtml#toc-unreac
65040 68 61 62 6c 65 22 3e 75 6e 72 65 61 63 68 61 62 6c 65 3c 2f 61 3e 20 3c 61 20 63 6c 61 73 73 3d hable">unreachable</a>.<a.class=
65060 22 68 64 72 22 20 68 72 65 66 3d 22 23 75 6e 72 65 61 63 68 61 62 6c 65 22 3e c2 a7 3c 2f 61 3e "hdr".href="#unreachable">..</a>
65080 3c 2f 68 32 3e 0a 0a 20 20 20 20 20 20 3c 70 3e 0a 20 20 20 20 20 20 49 6e 20 3c 61 20 68 72 65 </h2>........<p>.......In.<a.hre
650a0 66 3d 22 23 44 65 62 75 67 22 3e 44 65 62 75 67 3c 2f 61 3e 20 61 6e 64 20 3c 61 20 68 72 65 66 f="#Debug">Debug</a>.and.<a.href
650c0 3d 22 23 52 65 6c 65 61 73 65 53 61 66 65 22 3e 52 65 6c 65 61 73 65 53 61 66 65 3c 2f 61 3e 20 ="#ReleaseSafe">ReleaseSafe</a>.
650e0 6d 6f 64 65 0a 20 20 20 20 20 20 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f mode.......<code><span.class="to
65100 6b 2d 6b 77 22 3e 75 6e 72 65 61 63 68 61 62 6c 65 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 20 k-kw">unreachable</span></code>.
65120 65 6d 69 74 73 20 61 20 63 61 6c 6c 20 74 6f 20 3c 63 6f 64 65 3e 70 61 6e 69 63 3c 2f 63 6f 64 emits.a.call.to.<code>panic</cod
65140 65 3e 20 77 69 74 68 20 74 68 65 20 6d 65 73 73 61 67 65 20 3c 63 6f 64 65 3e 72 65 61 63 68 65 e>.with.the.message.<code>reache
65160 64 20 75 6e 72 65 61 63 68 61 62 6c 65 20 63 6f 64 65 3c 2f 63 6f 64 65 3e 2e 0a 20 20 20 20 20 d.unreachable.code</code>.......
65180 20 3c 2f 70 3e 0a 20 20 20 20 20 20 3c 70 3e 0a 20 20 20 20 20 20 49 6e 20 3c 61 20 68 72 65 66 .</p>.......<p>.......In.<a.href
651a0 3d 22 23 52 65 6c 65 61 73 65 46 61 73 74 22 3e 52 65 6c 65 61 73 65 46 61 73 74 3c 2f 61 3e 20 ="#ReleaseFast">ReleaseFast</a>.
651c0 61 6e 64 20 3c 61 20 68 72 65 66 3d 22 23 52 65 6c 65 61 73 65 53 6d 61 6c 6c 22 3e 52 65 6c 65 and.<a.href="#ReleaseSmall">Rele
651e0 61 73 65 53 6d 61 6c 6c 3c 2f 61 3e 20 6d 6f 64 65 2c 20 74 68 65 20 6f 70 74 69 6d 69 7a 65 72 aseSmall</a>.mode,.the.optimizer
65200 20 75 73 65 73 20 74 68 65 20 61 73 73 75 6d 70 74 69 6f 6e 20 74 68 61 74 20 3c 63 6f 64 65 3e .uses.the.assumption.that.<code>
65220 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 75 6e 72 65 61 63 68 61 62 6c 65 <span.class="tok-kw">unreachable
65240 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 20 63 6f 64 65 0a 20 20 20 20 20 20 77 69 6c 6c 20 6e </span></code>.code.......will.n
65260 65 76 65 72 20 62 65 20 68 69 74 20 74 6f 20 70 65 72 66 6f 72 6d 20 6f 70 74 69 6d 69 7a 61 74 ever.be.hit.to.perform.optimizat
65280 69 6f 6e 73 2e 0a 20 20 20 20 20 20 3c 2f 70 3e 0a 20 20 20 20 20 20 3c 68 33 20 69 64 3d 22 42 ions........</p>.......<h3.id="B
652a0 61 73 69 63 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 42 61 asics"><a.href="nav.xhtml#toc-Ba
652c0 73 69 63 73 22 3e 42 61 73 69 63 73 3c 2f 61 3e 20 3c 61 20 63 6c 61 73 73 3d 22 68 64 72 22 20 sics">Basics</a>.<a.class="hdr".
652e0 68 72 65 66 3d 22 23 42 61 73 69 63 73 22 3e c2 a7 3c 2f 61 3e 3c 2f 68 33 3e 0a 0a 20 20 20 20 href="#Basics">..</a></h3>......
65300 20 20 3c 66 69 67 75 72 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
65320 2d 63 61 70 22 3e 3c 63 69 74 65 20 63 6c 61 73 73 3d 22 66 69 6c 65 22 3e 74 65 73 74 5f 75 6e -cap"><cite.class="file">test_un
65340 72 65 61 63 68 61 62 6c 65 2e 7a 69 67 3c 2f 63 69 74 65 3e 3c 2f 66 69 67 63 61 70 74 69 6f 6e reachable.zig</cite></figcaption
65360 3e 3c 70 72 65 3e 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 63 6f 6d ><pre><code><span.class="tok-com
65380 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 20 ment">//.unreachable.is.used.to.
653a0 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 65 assert.that.control.flow.will.ne
653c0 76 65 72 20 72 65 61 63 68 20 61 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 ver.reach.a</span>.<span.class="
653e0 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 74 tok-comment">//.particular.locat
65400 69 6f 6e 3a 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 ion:</span>.<span.class="tok-kw"
65420 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
65440 72 22 3e 26 71 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 r">&quot;basic.math&quot;</span>
65460 20 7b 0a 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 63 6f 6e 73 .{.....<span.class="tok-kw">cons
65480 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
654a0 6d 62 65 72 22 3e 31 3c 2f 73 70 61 6e 3e 3b 0a 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d mber">1</span>;.....<span.class=
654c0 22 74 6f 6b 2d 6b 77 22 3e 63 6f 6e 73 74 3c 2f 73 70 61 6e 3e 20 79 20 3d 20 3c 73 70 61 6e 20 "tok-kw">const</span>.y.=.<span.
654e0 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 0a 20 20 20 class="tok-number">2</span>;....
65500 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 69 66 3c 2f 73 70 61 6e 3e 20 .<span.class="tok-kw">if</span>.
65520 28 78 20 2b 20 79 20 21 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 (x.+.y.!=.<span.class="tok-numbe
65540 72 22 3e 33 3c 2f 73 70 61 6e 3e 29 20 7b 0a 20 20 20 20 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 r">3</span>).{.........<span.cla
65560 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 75 6e 72 65 61 63 68 61 62 6c 65 3c 2f 73 70 61 6e 3e 3b 0a ss="tok-kw">unreachable</span>;.
65580 20 20 20 20 7d 0a 7d 3c 2f 63 6f 64 65 3e 3c 2f 70 72 65 3e 3c 2f 66 69 67 75 72 65 3e 3c 66 69 ....}.}</code></pre></figure><fi
655a0 67 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
655c0 70 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>
655e0 24 20 3c 6b 62 64 3e 7a 69 67 20 74 65 73 74 20 74 65 73 74 5f 75 6e 72 65 61 63 68 61 62 6c 65 $.<kbd>zig.test.test_unreachable
65600 2e 7a 69 67 3c 2f 6b 62 64 3e 0a 31 2f 31 20 74 65 73 74 5f 75 6e 72 65 61 63 68 61 62 6c 65 2e .zig</kbd>.1/1.test_unreachable.
65620 74 65 73 74 2e 62 61 73 69 63 20 6d 61 74 68 2e 2e 2e 4f 4b 0a 41 6c 6c 20 31 20 74 65 73 74 73 test.basic.math...OK.All.1.tests
65640 20 70 61 73 73 65 64 2e 0a 3c 2f 73 61 6d 70 3e 3c 2f 70 72 65 3e 3c 2f 66 69 67 75 72 65 3e 0a .passed..</samp></pre></figure>.
65660 0a 20 20 20 20 20 20 3c 70 3e 49 6e 20 66 61 63 74 2c 20 74 68 69 73 20 69 73 20 68 6f 77 20 3c .......<p>In.fact,.this.is.how.<
65680 63 6f 64 65 3e 73 74 64 2e 64 65 62 75 67 2e 61 73 73 65 72 74 3c 2f 63 6f 64 65 3e 20 69 73 20 code>std.debug.assert</code>.is.
656a0 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 3c implemented:</p>.......<figure><
656c0 66 69 67 63 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
656e0 20 63 6c 61 73 73 3d 22 66 69 6c 65 22 3e 74 65 73 74 5f 61 73 73 65 72 74 69 6f 6e 5f 66 61 69 .class="file">test_assertion_fai
65700 6c 75 72 65 2e 7a 69 67 3c 2f 63 69 74 65 3e 3c 2f 66 69 67 63 61 70 74 69 6f 6e 3e 3c 70 72 65 lure.zig</cite></figcaption><pre
65720 3e 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 63 6f 6d 6d 65 6e 74 22 ><code><span.class="tok-comment"
65740 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 72 74 >//.This.is.how.std.debug.assert
65760 20 69 73 20 69 6d 70 6c 65 6d 65 6e 74 65 64 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 .is.implemented</span>.<span.cla
65780 73 73 3d 22 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
657a0 73 3d 22 74 6f 6b 2d 66 6e 22 3e 61 73 73 65 72 74 3c 2f 73 70 61 6e 3e 28 6f 6b 3a 20 3c 73 70 s="tok-fn">assert</span>(ok:.<sp
657c0 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 62 6f 6f 6c 3c 2f 73 70 61 6e 3e 29 an.class="tok-type">bool</span>)
657e0 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
65800 61 6e 3e 20 7b 0a 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 69 an>.{.....<span.class="tok-kw">i
65820 66 3c 2f 73 70 61 6e 3e 20 28 21 6f 6b 29 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d f</span>.(!ok).<span.class="tok-
65840 6b 77 22 3e 75 6e 72 65 61 63 68 61 62 6c 65 3c 2f 73 70 61 6e 3e 3b 20 3c 73 70 61 6e 20 63 6c kw">unreachable</span>;.<span.cl
65860 61 73 73 3d 22 74 6f 6b 2d 63 6f 6d 6d 65 6e 74 22 3e 2f 2f 20 61 73 73 65 72 74 69 6f 6e 20 66 ass="tok-comment">//.assertion.f
65880 61 69 6c 75 72 65 3c 2f 73 70 61 6e 3e 0a 7d 0a 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f ailure</span>.}..<span.class="to
658a0 6b 2d 63 6f 6d 6d 65 6e 74 22 3e 2f 2f 20 54 68 69 73 20 74 65 73 74 20 77 69 6c 6c 20 66 61 69 k-comment">//.This.test.will.fai
658c0 6c 20 62 65 63 61 75 73 65 20 77 65 20 68 69 74 20 75 6e 72 65 61 63 68 61 62 6c 65 2e 3c 2f 73 l.because.we.hit.unreachable.</s
658e0 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 74 65 73 74 3c 2f pan>.<span.class="tok-kw">test</
65900 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
65920 74 3b 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 0a t;this.will.fail&quot;</span>.{.
65940 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 75 6c 6c ....assert(<span.class="tok-null
65960 22 3e 66 61 6c 73 65 3c 2f 73 70 61 6e 3e 29 3b 0a 7d 3c 2f 63 6f 64 65 3e 3c 2f 70 72 65 3e 3c ">false</span>);.}</code></pre><
65980 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
659a0 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>
659c0 3c 70 72 65 3e 3c 73 61 6d 70 3e 24 20 3c 6b 62 64 3e 7a 69 67 20 74 65 73 74 20 74 65 73 74 5f <pre><samp>$.<kbd>zig.test.test_
659e0 61 73 73 65 72 74 69 6f 6e 5f 66 61 69 6c 75 72 65 2e 7a 69 67 3c 2f 6b 62 64 3e 0a 31 2f 31 20 assertion_failure.zig</kbd>.1/1.
65a00 74 65 73 74 5f 61 73 73 65 72 74 69 6f 6e 5f 66 61 69 6c 75 72 65 2e 74 65 73 74 2e 74 68 69 73 test_assertion_failure.test.this
65a20 20 77 69 6c 6c 20 66 61 69 6c 2e 2e 2e 74 68 72 65 61 64 20 32 33 33 37 39 39 20 70 61 6e 69 63 .will.fail...thread.233799.panic
65a40 3a 20 72 65 61 63 68 65 64 20 75 6e 72 65 61 63 68 61 62 6c 65 20 63 6f 64 65 0a 2f 68 6f 6d 65 :.reached.unreachable.code./home
65a60 2f 63 69 2f 77 6f 72 6b 2f 7a 69 67 2d 62 6f 6f 74 73 74 72 61 70 2f 7a 69 67 2f 64 6f 63 2f 6c /ci/work/zig-bootstrap/zig/doc/l
65a80 61 6e 67 72 65 66 2f 74 65 73 74 5f 61 73 73 65 72 74 69 6f 6e 5f 66 61 69 6c 75 72 65 2e 7a 69 angref/test_assertion_failure.zi
65aa0 67 3a 33 3a 31 34 3a 20 30 78 31 32 33 38 39 65 39 20 69 6e 20 61 73 73 65 72 74 20 28 74 65 73 g:3:14:.0x12389e9.in.assert.(tes
65ac0 74 5f 61 73 73 65 72 74 69 6f 6e 5f 66 61 69 6c 75 72 65 2e 7a 69 67 29 0a 20 20 20 20 69 66 20 t_assertion_failure.zig).....if.
65ae0 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 20 (!ok).unreachable;.//.assertion.
65b00 66 61 69 6c 75 72 65 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 5e 0a 2f 68 6f 6d 65 2f 63 69 2f failure..............^./home/ci/
65b20 77 6f 72 6b 2f 7a 69 67 2d 62 6f 6f 74 73 74 72 61 70 2f 7a 69 67 2f 64 6f 63 2f 6c 61 6e 67 72 work/zig-bootstrap/zig/doc/langr
65b40 65 66 2f 74 65 73 74 5f 61 73 73 65 72 74 69 6f 6e 5f 66 61 69 6c 75 72 65 2e 7a 69 67 3a 38 3a ef/test_assertion_failure.zig:8:
65b60 31 31 3a 20 30 78 31 32 33 38 39 62 65 20 69 6e 20 74 65 73 74 2e 74 68 69 73 20 77 69 6c 6c 20 11:.0x12389be.in.test.this.will.
65b80 66 61 69 6c 20 28 74 65 73 74 5f 61 73 73 65 72 74 69 6f 6e 5f 66 61 69 6c 75 72 65 2e 7a 69 67 fail.(test_assertion_failure.zig
65ba0 29 0a 20 20 20 20 61 73 73 65 72 74 28 66 61 6c 73 65 29 3b 0a 20 20 20 20 20 20 20 20 20 20 5e ).....assert(false);...........^
65bc0 0a 2f 68 6f 6d 65 2f 63 69 2f 77 6f 72 6b 2f 7a 69 67 2d 62 6f 6f 74 73 74 72 61 70 2f 6f 75 74 ./home/ci/work/zig-bootstrap/out
65be0 2f 68 6f 73 74 2f 6c 69 62 2f 7a 69 67 2f 63 6f 6d 70 69 6c 65 72 2f 74 65 73 74 5f 72 75 6e 6e /host/lib/zig/compiler/test_runn
65c00 65 72 2e 7a 69 67 3a 32 39 31 3a 32 35 3a 20 30 78 31 31 66 33 65 64 36 20 69 6e 20 6d 61 69 6e er.zig:291:25:.0x11f3ed6.in.main
65c20 54 65 72 6d 69 6e 61 6c 20 28 74 65 73 74 5f 72 75 6e 6e 65 72 2e 7a 69 67 29 0a 20 20 20 20 20 Terminal.(test_runner.zig)......
65c40 20 20 20 69 66 20 28 74 65 73 74 5f 66 6e 2e 66 75 6e 63 28 29 29 20 7c 5f 7c 20 7b 0a 20 20 20 ...if.(test_fn.func()).|_|.{....
65c60 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 5e 0a 2f 68 6f 6d 65 2f 63 69 2f .....................^./home/ci/
65c80 77 6f 72 6b 2f 7a 69 67 2d 62 6f 6f 74 73 74 72 61 70 2f 6f 75 74 2f 68 6f 73 74 2f 6c 69 62 2f work/zig-bootstrap/out/host/lib/
65ca0 7a 69 67 2f 63 6f 6d 70 69 6c 65 72 2f 74 65 73 74 5f 72 75 6e 6e 65 72 2e 7a 69 67 3a 37 33 3a zig/compiler/test_runner.zig:73:
65cc0 32 38 3a 20 30 78 31 31 66 33 36 66 32 20 69 6e 20 6d 61 69 6e 20 28 74 65 73 74 5f 72 75 6e 6e 28:.0x11f36f2.in.main.(test_runn
65ce0 65 72 2e 7a 69 67 29 0a 20 20 20 20 20 20 20 20 72 65 74 75 72 6e 20 6d 61 69 6e 54 65 72 6d 69 er.zig).........return.mainTermi
65d00 6e 61 6c 28 69 6e 69 74 29 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 nal(init);......................
65d20 20 20 20 20 20 20 5e 0a 2f 68 6f 6d 65 2f 63 69 2f 77 6f 72 6b 2f 7a 69 67 2d 62 6f 6f 74 73 74 ......^./home/ci/work/zig-bootst
65d40 72 61 70 2f 6f 75 74 2f 68 6f 73 74 2f 6c 69 62 2f 7a 69 67 2f 73 74 64 2f 73 74 61 72 74 2e 7a rap/out/host/lib/zig/std/start.z
65d60 69 67 3a 37 32 33 3a 38 38 3a 20 30 78 31 31 65 66 66 30 35 20 69 6e 20 63 61 6c 6c 4d 61 69 6e ig:723:88:.0x11eff05.in.callMain
65d80 20 28 73 74 64 2e 7a 69 67 29 0a 20 20 20 20 69 66 20 28 66 6e 5f 69 6e 66 6f 2e 70 61 72 61 6d .(std.zig).....if.(fn_info.param
65da0 73 5b 30 5d 2e 74 79 70 65 2e 3f 20 3d 3d 20 73 74 64 2e 70 72 6f 63 65 73 73 2e 49 6e 69 74 2e s[0].type.?.==.std.process.Init.
65dc0 4d 69 6e 69 6d 61 6c 29 20 72 65 74 75 72 6e 20 77 72 61 70 4d 61 69 6e 28 72 6f 6f 74 2e 6d 61 Minimal).return.wrapMain(root.ma
65de0 69 6e 28 2e 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 in(.{...........................
65e00 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ................................
65e20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 5e 0a 2f .............................^./
65e40 68 6f 6d 65 2f 63 69 2f 77 6f 72 6b 2f 7a 69 67 2d 62 6f 6f 74 73 74 72 61 70 2f 6f 75 74 2f 68 home/ci/work/zig-bootstrap/out/h
65e60 6f 73 74 2f 6c 69 62 2f 7a 69 67 2f 73 74 64 2f 73 74 61 72 74 2e 7a 69 67 3a 32 30 34 3a 35 3a ost/lib/zig/std/start.zig:204:5:
65e80 20 30 78 31 31 65 66 38 65 31 20 69 6e 20 5f 73 74 61 72 74 20 28 73 74 64 2e 7a 69 67 29 0a 20 .0x11ef8e1.in._start.(std.zig)..
65ea0 20 20 20 61 73 6d 20 76 6f 6c 61 74 69 6c 65 20 28 73 77 69 74 63 68 20 28 6e 61 74 69 76 65 5f ...asm.volatile.(switch.(native_
65ec0 61 72 63 68 29 20 7b 0a 20 20 20 20 5e 0a 65 72 72 6f 72 3a 20 74 68 65 20 66 6f 6c 6c 6f 77 69 arch).{.....^.error:.the.followi
65ee0 6e 67 20 74 65 73 74 20 63 6f 6d 6d 61 6e 64 20 74 65 72 6d 69 6e 61 74 65 64 20 77 69 74 68 20 ng.test.command.terminated.with.
65f00 73 69 67 6e 61 6c 20 41 42 52 54 3a 0a 2f 68 6f 6d 65 2f 63 69 2f 77 6f 72 6b 2f 7a 69 67 2d 62 signal.ABRT:./home/ci/work/zig-b
65f20 6f 6f 74 73 74 72 61 70 2f 6f 75 74 2f 7a 69 67 2d 6c 6f 63 61 6c 2d 63 61 63 68 65 2f 6f 2f 30 ootstrap/out/zig-local-cache/o/0
65f40 31 63 31 64 37 63 35 64 35 30 36 34 37 34 33 38 37 35 31 62 61 37 33 38 37 37 33 30 62 38 30 2f 1c1d7c5d50647438751ba7387730b80/
65f60 74 65 73 74 20 2d 2d 73 65 65 64 3d 30 78 62 31 64 63 64 34 66 65 0a 3c 2f 73 61 6d 70 3e 3c 2f test.--seed=0xb1dcd4fe.</samp></
65f80 70 72 65 3e 3c 2f 66 69 67 75 72 65 3e 0a 0a 20 20 20 20 20 20 0a 20 20 20 20 20 20 3c 68 33 20 pre></figure>...............<h3.
65fa0 69 64 3d 22 41 74 2d 43 6f 6d 70 69 6c 65 2d 54 69 6d 65 22 3e 3c 61 20 68 72 65 66 3d 22 6e 61 id="At-Compile-Time"><a.href="na
65fc0 76 2e 78 68 74 6d 6c 23 74 6f 63 2d 41 74 2d 43 6f 6d 70 69 6c 65 2d 54 69 6d 65 22 3e 41 74 20 v.xhtml#toc-At-Compile-Time">At.
65fe0 43 6f 6d 70 69 6c 65 2d 54 69 6d 65 3c 2f 61 3e 20 3c 61 20 63 6c 61 73 73 3d 22 68 64 72 22 20 Compile-Time</a>.<a.class="hdr".
66000 68 72 65 66 3d 22 23 41 74 2d 43 6f 6d 70 69 6c 65 2d 54 69 6d 65 22 3e c2 a7 3c 2f 61 3e 3c 2f href="#At-Compile-Time">..</a></
66020 68 33 3e 0a 0a 20 20 20 20 20 20 3c 66 69 67 75 72 65 3e 3c 66 69 67 63 61 70 74 69 6f 6e 20 63 h3>........<figure><figcaption.c
66040 6c 61 73 73 3d 22 7a 69 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
66060 22 3e 74 65 73 74 5f 63 6f 6d 70 74 69 6d 65 5f 75 6e 72 65 61 63 68 61 62 6c 65 2e 7a 69 67 3c ">test_comptime_unreachable.zig<
66080 2f 63 69 74 65 3e 3c 2f 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
660a0 70 61 6e 20 63 6c 61 73 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>.
660c0 61 73 73 65 72 74 20 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 62 75 69 6c 74 69 assert.=.<span.class="tok-builti
660e0 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
66100 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>).
66120 64 65 62 75 67 2e 61 73 73 65 72 74 3b 0a 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d debug.assert;..<span.class="tok-
66140 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
66160 2d 73 74 72 22 3e 26 71 75 6f 74 3b 74 79 70 65 20 6f 66 20 75 6e 72 65 61 63 68 61 62 6c 65 26 -str">&quot;type.of.unreachable&
66180 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 20 7b 0a 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 quot;</span>.{.....<span.class="
661a0 74 6f 6b 2d 6b 77 22 3e 63 6f 6d 70 74 69 6d 65 3c 2f 73 70 61 6e 3e 20 7b 0a 20 20 20 20 20 20 tok-kw">comptime</span>.{.......
661c0 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 63 6f 6d 6d 65 6e 74 22 3e 2f 2f 20 54 ..<span.class="tok-comment">//.T
661e0 68 65 20 74 79 70 65 20 6f 66 20 75 6e 72 65 61 63 68 61 62 6c 65 20 69 73 20 6e 6f 72 65 74 75 he.type.of.unreachable.is.noretu
66200 72 6e 2e 3c 2f 73 70 61 6e 3e 0a 0a 20 20 20 20 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d rn.</span>..........<span.class=
66220 22 74 6f 6b 2d 63 6f 6d 6d 65 6e 74 22 3e 2f 2f 20 48 6f 77 65 76 65 72 20 74 68 69 73 20 61 73 "tok-comment">//.However.this.as
66240 73 65 72 74 69 6f 6e 20 77 69 6c 6c 20 73 74 69 6c 6c 20 66 61 69 6c 20 74 6f 20 63 6f 6d 70 69 sertion.will.still.fail.to.compi
66260 6c 65 20 62 65 63 61 75 73 65 3c 2f 73 70 61 6e 3e 0a 20 20 20 20 20 20 20 20 3c 73 70 61 6e 20 le.because</span>.........<span.
66280 63 6c 61 73 73 3d 22 74 6f 6b 2d 63 6f 6d 6d 65 6e 74 22 3e 2f 2f 20 75 6e 72 65 61 63 68 61 62 class="tok-comment">//.unreachab
662a0 6c 65 20 65 78 70 72 65 73 73 69 6f 6e 73 20 61 72 65 20 63 6f 6d 70 69 6c 65 20 65 72 72 6f 72 le.expressions.are.compile.error
662c0 73 2e 3c 2f 73 70 61 6e 3e 0a 0a 20 20 20 20 20 20 20 20 61 73 73 65 72 74 28 3c 73 70 61 6e 20 s.</span>..........assert(<span.
662e0 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
66300 6e 3e 28 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
66320 62 6c 65 3c 2f 73 70 61 6e 3e 29 20 3d 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d ble</span>).==.<span.class="tok-
66340 74 79 70 65 22 3e 6e 6f 72 65 74 75 72 6e 3c 2f 73 70 61 6e 3e 29 3b 0a 20 20 20 20 7d 0a 7d 3c type">noreturn</span>);.....}.}<
66360 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
66380 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
663a0 3c 2f 66 69 67 63 61 70 74 69 6f 6e 3e 3c 70 72 65 3e 3c 73 61 6d 70 3e 24 20 3c 6b 62 64 3e 7a </figcaption><pre><samp>$.<kbd>z
663c0 69 67 20 74 65 73 74 20 74 65 73 74 5f 63 6f 6d 70 74 69 6d 65 5f 75 6e 72 65 61 63 68 61 62 6c ig.test.test_comptime_unreachabl
663e0 65 2e 7a 69 67 3c 2f 6b 62 64 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 73 67 72 2d 31 6d 22 e.zig</kbd>.<span.class="sgr-1m"
66400 3e 2f 68 6f 6d 65 2f 63 69 2f 77 6f 72 6b 2f 7a 69 67 2d 62 6f 6f 74 73 74 72 61 70 2f 7a 69 67 >/home/ci/work/zig-bootstrap/zig
66420 2f 64 6f 63 2f 6c 61 6e 67 72 65 66 2f 74 65 73 74 5f 63 6f 6d 70 74 69 6d 65 5f 75 6e 72 65 61 /doc/langref/test_comptime_unrea
66440 63 68 61 62 6c 65 2e 7a 69 67 3a 31 30 3a 31 36 3a 20 3c 2f 73 70 61 6e 3e 3c 73 70 61 6e 20 63 chable.zig:10:16:.</span><span.c
66460 6c 61 73 73 3d 22 73 67 72 2d 33 31 6d 22 3e 65 72 72 6f 72 3a 20 3c 2f 73 70 61 6e 3e 3c 73 70 lass="sgr-31m">error:.</span><sp
66480 61 6e 20 63 6c 61 73 73 3d 22 73 67 72 2d 31 6d 22 3e 75 6e 72 65 61 63 68 61 62 6c 65 20 63 6f an.class="sgr-1m">unreachable.co
664a0 64 65 0a 3c 2f 73 70 61 6e 3e 20 20 20 20 20 20 20 20 61 73 73 65 72 74 28 40 54 79 70 65 4f 66 de.</span>........assert(@TypeOf
664c0 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 0a 20 20 20 20 (unreachable).==.noreturn);.....
664e0 20 20 20 20 20 20 20 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 73 67 72 2d 33 32 6d 22 ...........<span.class="sgr-32m"
66500 3e 5e 7e 7e 7e 7e 7e 7e 7e 7e 7e 7e 7e 7e 7e 7e 7e 7e 7e 7e 7e 0a 3c 2f 73 70 61 6e 3e 3c 73 70 >^~~~~~~~~~~~~~~~~~~~.</span><sp
66520 61 6e 20 63 6c 61 73 73 3d 22 73 67 72 2d 31 6d 22 3e 2f 68 6f 6d 65 2f 63 69 2f 77 6f 72 6b 2f an.class="sgr-1m">/home/ci/work/
66540 7a 69 67 2d 62 6f 6f 74 73 74 72 61 70 2f 7a 69 67 2f 64 6f 63 2f 6c 61 6e 67 72 65 66 2f 74 65 zig-bootstrap/zig/doc/langref/te
66560 73 74 5f 63 6f 6d 70 74 69 6d 65 5f 75 6e 72 65 61 63 68 61 62 6c 65 2e 7a 69 67 3a 31 30 3a 32 st_comptime_unreachable.zig:10:2
66580 34 3a 20 3c 2f 73 70 61 6e 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 73 67 72 2d 33 36 6d 22 3e 4:.</span><span.class="sgr-36m">
665a0 6e 6f 74 65 3a 20 3c 2f 73 70 61 6e 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 73 67 72 2d 31 6d note:.</span><span.class="sgr-1m
665c0 22 3e 63 6f 6e 74 72 6f 6c 20 66 6c 6f 77 20 69 73 20 64 69 76 65 72 74 65 64 20 68 65 72 65 0a ">control.flow.is.diverted.here.
665e0 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
66600 72 65 61 63 68 61 62 6c 65 29 20 3d 3d 20 6e 6f 72 65 74 75 72 6e 29 3b 0a 20 20 20 20 20 20 20 reachable).==.noreturn);........
66620 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 73 67 72 ................<span.class="sgr
66640 2d 33 32 6d 22 3e 5e 7e 7e 7e 7e 7e 7e 7e 7e 7e 7e 0a 3c 2f 73 70 61 6e 3e 0a 3c 2f 73 61 6d 70 -32m">^~~~~~~~~~~.</span>.</samp
66660 3e 3c 2f 70 72 65 3e 3c 2f 66 69 67 75 72 65 3e 0a 0a 20 20 20 20 20 20 3c 70 3e 53 65 65 20 61 ></pre></figure>........<p>See.a
66680 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 5a 69 67 2d 54 lso:</p><ul>.<li><a.href="#Zig-T
666a0 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 68 72 est">Zig.Test</a></li>.<li><a.hr
666c0 65 66 3d 22 23 42 75 69 6c 64 2d 4d 6f 64 65 22 3e 42 75 69 6c 64 20 4d 6f 64 65 3c 2f 61 3e 3c ef="#Build-Mode">Build.Mode</a><
666e0 2f 6c 69 3e 0a 3c 6c 69 3e 3c 61 20 68 72 65 66 3d 22 23 63 6f 6d 70 74 69 6d 65 22 3e 63 6f 6d /li>.<li><a.href="#comptime">com
66700 70 74 69 6d 65 3c 2f 61 3e 3c 2f 6c 69 3e 0a 3c 2f 75 6c 3e 0a 0a 20 20 20 20 20 20 0a 20 20 20 ptime</a></li>.</ul>............
66720 20 20 20 0a 20 20 20 20 20 20 3c 68 32 20 69 64 3d 22 6e 6f 72 65 74 75 72 6e 22 3e 3c 61 20 68 ..........<h2.id="noreturn"><a.h
66740 72 65 66 3d 22 6e 61 76 2e 78 68 74 6d 6c 23 74 6f 63 2d 6e 6f 72 65 74 75 72 6e 22 3e 6e 6f 72 ref="nav.xhtml#toc-noreturn">nor
66760 65 74 75 72 6e 3c 2f 61 3e 20 3c 61 20 63 6c 61 73 73 3d 22 68 64 72 22 20 68 72 65 66 3d 22 23 eturn</a>.<a.class="hdr".href="#
66780 6e 6f 72 65 74 75 72 6e 22 3e c2 a7 3c 2f 61 3e 3c 2f 68 32 3e 0a 0a 20 20 20 20 20 20 3c 70 3e noreturn">..</a></h2>........<p>
667a0 0a 20 20 20 20 20 20 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 .......<code><span.class="tok-ty
667c0 70 65 22 3e 6e 6f 72 65 74 75 72 6e 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 20 69 73 20 74 68 pe">noreturn</span></code>.is.th
667e0 65 20 74 79 70 65 20 6f 66 3a 0a 20 20 20 20 20 20 3c 2f 70 3e 0a 20 20 20 20 20 20 3c 75 6c 3e e.type.of:.......</p>.......<ul>
66800 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
66820 3d 22 74 6f 6b 2d 6b 77 22 3e 62 72 65 61 6b 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 3c 2f 6c ="tok-kw">break</span></code></l
66840 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
66860 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 63 6f 6e 74 69 6e 75 65 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 ss="tok-kw">continue</span></cod
66880 65 3e 3c 2f 6c 69 3e 0a 20 20 20 20 20 20 20 20 20 20 3c 6c 69 3e 3c 63 6f 64 65 3e 3c 73 70 61 e></li>...........<li><code><spa
668a0 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 72 65 74 75 72 6e 3c 2f 73 70 61 6e 3e 3c 2f n.class="tok-kw">return</span></
668c0 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><
668e0 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<
66900 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
66920 3e 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 77 68 69 6c ><code><span.class="tok-kw">whil
66940 65 3c 2f 73 70 61 6e 3e 20 28 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6c 6c 22 e</span>.(<span.class="tok-null"
66960 3e 74 72 75 65 3c 2f 73 70 61 6e 3e 29 20 7b 7d 3c 2f 63 6f 64 65 3e 3c 2f 6c 69 3e 0a 20 20 20 >true</span>).{}</code></li>....
66980 20 20 20 3c 2f 75 6c 3e 0a 20 20 20 20 20 20 3c 70 3e 57 68 65 6e 20 72 65 73 6f 6c 76 69 6e 67 ...</ul>.......<p>When.resolving
669a0 20 74 79 70 65 73 20 74 6f 67 65 74 68 65 72 2c 20 73 75 63 68 20 61 73 20 3c 63 6f 64 65 3e 3c .types.together,.such.as.<code><
669c0 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 63 span.class="tok-kw">if</span></c
669e0 6f 64 65 3e 20 63 6c 61 75 73 65 73 20 6f 72 20 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 ode>.clauses.or.<code><span.clas
66a00 73 3d 22 74 6f 6b 2d 6b 77 22 3e 73 77 69 74 63 68 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 20 s="tok-kw">switch</span></code>.
66a20 70 72 6f 6e 67 73 2c 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 74 68 65 20 3c 63 6f 64 65 3e prongs,...............the.<code>
66a40 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 6e 6f 72 65 74 75 72 6e 3c <span.class="tok-type">noreturn<
66a60 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 20 74 79 70 65 20 69 73 20 63 6f 6d 70 61 74 69 62 6c 65 /span></code>.type.is.compatible
66a80 20 77 69 74 68 20 65 76 65 72 79 20 6f 74 68 65 72 20 74 79 70 65 2e 20 43 6f 6e 73 69 64 65 72 .with.every.other.type..Consider
66aa0 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
66ac0 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
66ae0 73 73 3d 22 66 69 6c 65 22 3e 74 65 73 74 5f 6e 6f 72 65 74 75 72 6e 2e 7a 69 67 3c 2f 63 69 74 ss="file">test_noreturn.zig</cit
66b00 65 3e 3c 2f 66 69 67 63 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.
66b20 63 6c 61 73 73 3d 22 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
66b40 6c 61 73 73 3d 22 74 6f 6b 2d 66 6e 22 3e 66 6f 6f 3c 2f 73 70 61 6e 3e 28 63 6f 6e 64 69 74 69 lass="tok-fn">foo</span>(conditi
66b60 6f 6e 3a 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 62 6f 6f 6c 3c on:.<span.class="tok-type">bool<
66b80 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
66ba0 22 3e 75 33 32 3c 2f 73 70 61 6e 3e 29 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 ">u32</span>).<span.class="tok-t
66bc0 79 70 65 22 3e 76 6f 69 64 3c 2f 73 70 61 6e 3e 20 7b 0a 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 ype">void</span>.{.....<span.cla
66be0 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 63 6f 6e 73 74 3c 2f 73 70 61 6e 3e 20 61 20 3d 20 3c 73 70 ss="tok-kw">const</span>.a.=.<sp
66c00 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 69 66 3c 2f 73 70 61 6e 3e 20 28 63 6f 6e an.class="tok-kw">if</span>.(con
66c20 64 69 74 69 6f 6e 29 20 62 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 65 dition).b.<span.class="tok-kw">e
66c40 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">
66c60 72 65 74 75 72 6e 3c 2f 73 70 61 6e 3e 3b 0a 20 20 20 20 5f 20 3d 20 61 3b 0a 20 20 20 20 3c 73 return</span>;....._.=.a;.....<s
66c80 70 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</
66ca0 73 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
66cc0 74 3b 64 6f 20 73 6f 6d 65 74 68 69 6e 67 20 77 69 74 68 20 61 26 71 75 6f 74 3b 3c 2f 73 70 61 t;do.something.with.a&quot;</spa
66ce0 6e 3e 29 3b 0a 7d 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 74 65 73 74 n>);.}.<span.class="tok-kw">test
66d00 3c 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
66d20 75 6f 74 3b 6e 6f 72 65 74 75 72 6e 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 20 7b 0a 20 20 20 20 uot;noreturn&quot;</span>.{.....
66d40 66 6f 6f 28 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6c 6c 22 3e 66 61 6c 73 65 foo(<span.class="tok-null">false
66d60 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
66d80 22 3e 31 3c 2f 73 70 61 6e 3e 29 3b 0a 7d 3c 2f 63 6f 64 65 3e 3c 2f 70 72 65 3e 3c 2f 66 69 67 ">1</span>);.}</code></pre></fig
66da0 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
66dc0 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
66de0 3e 3c 73 61 6d 70 3e 24 20 3c 6b 62 64 3e 7a 69 67 20 74 65 73 74 20 74 65 73 74 5f 6e 6f 72 65 ><samp>$.<kbd>zig.test.test_nore
66e00 74 75 72 6e 2e 7a 69 67 3c 2f 6b 62 64 3e 0a 31 2f 31 20 74 65 73 74 5f 6e 6f 72 65 74 75 72 6e turn.zig</kbd>.1/1.test_noreturn
66e20 2e 74 65 73 74 2e 6e 6f 72 65 74 75 72 6e 2e 2e 2e 4f 4b 0a 41 6c 6c 20 31 20 74 65 73 74 73 20 .test.noreturn...OK.All.1.tests.
66e40 70 61 73 73 65 64 2e 0a 3c 2f 73 61 6d 70 3e 3c 2f 70 72 65 3e 3c 2f 66 69 67 75 72 65 3e 0a 0a passed..</samp></pre></figure>..
66e60 20 20 20 20 20 20 3c 70 3e 41 6e 6f 74 68 65 72 20 75 73 65 20 63 61 73 65 20 66 6f 72 20 3c 63 ......<p>Another.use.case.for.<c
66e80 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 6e 6f 72 65 74 ode><span.class="tok-type">noret
66ea0 75 72 6e 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 20 69 73 20 74 68 65 20 3c 63 6f 64 65 3e 65 urn</span></code>.is.the.<code>e
66ec0 78 69 74 3c 2f 63 6f 64 65 3e 20 66 75 6e 63 74 69 6f 6e 3a 3c 2f 70 3e 0a 20 20 20 20 20 20 3c xit</code>.function:</p>.......<
66ee0 66 69 67 75 72 65 3e 3c 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
66f00 70 22 3e 3c 63 69 74 65 20 63 6c 61 73 73 3d 22 66 69 6c 65 22 3e 74 65 73 74 5f 6e 6f 72 65 74 p"><cite.class="file">test_noret
66f20 75 72 6e 5f 66 72 6f 6d 5f 65 78 69 74 2e 7a 69 67 3c 2f 63 69 74 65 3e 3c 2f 66 69 67 63 61 70 urn_from_exit.zig</cite></figcap
66f40 74 69 6f 6e 3e 3c 70 72 65 3e 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b tion><pre><code><span.class="tok
66f60 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
66f80 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>
66fa0 28 3c 73 70 61 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
66fc0 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 29 3b 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b &quot;</span>);.<span.class="tok
66fe0 2d 6b 77 22 3e 63 6f 6e 73 74 3c 2f 73 70 61 6e 3e 20 65 78 70 65 63 74 45 71 75 61 6c 20 3d 20 -kw">const</span>.expectEqual.=.
67000 73 74 64 2e 74 65 73 74 69 6e 67 2e 65 78 70 65 63 74 45 71 75 61 6c 3b 0a 0a 3c 73 70 61 6e 20 std.testing.expectEqual;..<span.
67020 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
67040 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 73 74 72 22 3e 26 71 75 6f 74 3b 6b 65 72 6e 65 6c 33 an.class="tok-str">&quot;kernel3
67060 32 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 2&quot;</span>.<span.class="tok-
67080 6b 77 22 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
670a0 6e 22 3e 45 78 69 74 50 72 6f 63 65 73 73 3c 2f 73 70 61 6e 3e 28 65 78 69 74 5f 63 6f 64 65 3a n">ExitProcess</span>(exit_code:
670c0 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 75 69 6e 74 3c 2f .<span.class="tok-type">c_uint</
670e0 73 70 61 6e 3e 29 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 63 61 6c 6c span>).<span.class="tok-kw">call
67100 63 6f 6e 76 3c 2f 73 70 61 6e 3e 28 2e 77 69 6e 61 70 69 29 20 3c 73 70 61 6e 20 63 6c 61 73 73 conv</span>(.winapi).<span.class
67120 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 6e 6f 72 65 74 75 72 6e 3c 2f 73 70 61 6e 3e 3b 0a 0a 3c 73 ="tok-type">noreturn</span>;..<s
67140 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>.<
67160 73 70 61 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
67180 75 6f 74 3b 3c 2f 73 70 61 6e 3e 20 7b 0a 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 uot;</span>.{.....<span.class="t
671a0 6f 6b 2d 6b 77 22 3e 63 6f 6e 73 74 3c 2f 73 70 61 6e 3e 20 76 61 6c 75 65 20 3d 20 62 61 72 28 ok-kw">const</span>.value.=.bar(
671c0 29 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 63 61 74 63 68 3c 2f 73 70 ).<span.class="tok-kw">catch</sp
671e0 61 6e 3e 20 45 78 69 74 50 72 6f 63 65 73 73 28 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b an>.ExitProcess(<span.class="tok
67200 2d 6e 75 6d 62 65 72 22 3e 31 3c 2f 73 70 61 6e 3e 29 3b 0a 20 20 20 20 3c 73 70 61 6e 20 63 6c -number">1</span>);.....<span.cl
67220 61 73 73 3d 22 74 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 ass="tok-kw">try</span>.expectEq
67240 75 61 6c 28 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 31 32 33 ual(<span.class="tok-number">123
67260 34 3c 2f 73 70 61 6e 3e 2c 20 76 61 6c 75 65 29 3b 0a 7d 0a 0a 3c 73 70 61 6e 20 63 6c 61 73 73 4</span>,.value);.}..<span.class
67280 3d 22 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=
672a0 22 74 6f 6b 2d 66 6e 22 3e 62 61 72 3c 2f 73 70 61 6e 3e 28 29 20 3c 73 70 61 6e 20 63 6c 61 73 "tok-fn">bar</span>().<span.clas
672c0 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 61 6e 79 65 72 72 6f 72 3c 2f 73 70 61 6e 3e 21 3c 73 70 s="tok-type">anyerror</span>!<sp
672e0 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 75 33 32 3c 2f 73 70 61 6e 3e 20 7b an.class="tok-type">u32</span>.{
67300 0a 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 72 65 74 75 72 6e .....<span.class="tok-kw">return
67320 3c 2f 73 70 61 6e 3e 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 </span>.<span.class="tok-number"
67340 3e 31 32 33 34 3c 2f 73 70 61 6e 3e 3b 0a 7d 3c 2f 63 6f 64 65 3e 3c 2f 70 72 65 3e 3c 2f 66 69 >1234</span>;.}</code></pre></fi
67360 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="
67380 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
673a0 65 3e 3c 73 61 6d 70 3e 24 20 3c 6b 62 64 3e 7a 69 67 20 74 65 73 74 20 74 65 73 74 5f 6e 6f 72 e><samp>$.<kbd>zig.test.test_nor
673c0 65 74 75 72 6e 5f 66 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 eturn_from_exit.zig.-target.x86_
673e0 36 34 2d 77 69 6e 64 6f 77 73 20 2d 2d 74 65 73 74 2d 6e 6f 2d 65 78 65 63 3c 2f 6b 62 64 3e 0a 64-windows.--test-no-exec</kbd>.
67400 3c 2f 73 61 6d 70 3e 3c 2f 70 72 65 3e 3c 2f 66 69 67 75 72 65 3e 0a 0a 20 20 20 20 20 20 0a 0a </samp></pre></figure>..........
67420 20 20 20 20 20 20 3c 68 32 20 69 64 3d 22 46 75 6e 63 74 69 6f 6e 73 22 3e 3c 61 20 68 72 65 66 ......<h2.id="Functions"><a.href
67440 3d 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 ="nav.xhtml#toc-Functions">Funct
67460 69 6f 6e 73 3c 2f 61 3e 20 3c 61 20 63 6c 61 73 73 3d 22 68 64 72 22 20 68 72 65 66 3d 22 23 46 ions</a>.<a.class="hdr".href="#F
67480 75 6e 63 74 69 6f 6e 73 22 3e c2 a7 3c 2f 61 3e 3c 2f 68 32 3e 0a 0a 20 20 20 20 20 20 3c 66 69 unctions">..</a></h2>........<fi
674a0 67 75 72 65 3e 3c 66 69 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"
674c0 3e 3c 63 69 74 65 20 63 6c 61 73 73 3d 22 66 69 6c 65 22 3e 74 65 73 74 5f 66 75 6e 63 74 69 6f ><cite.class="file">test_functio
674e0 6e 73 2e 7a 69 67 3c 2f 63 69 74 65 3e 3c 2f 66 69 67 63 61 70 74 69 6f 6e 3e 3c 70 72 65 3e 3c ns.zig</cite></figcaption><pre><
67500 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 63 6f 6e 73 74 3c code><span.class="tok-kw">const<
67520 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
67540 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
67560 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
67580 6e 3e 29 3b 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 63 6f 6e 73 74 3c n>);.<span.class="tok-kw">const<
675a0 2f 73 70 61 6e 3e 20 62 75 69 6c 74 69 6e 20 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f /span>.builtin.=.<span.class="to
675c0 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.
675e0 63 6c 61 73 73 3d 22 74 6f 6b 2d 73 74 72 22 3e 26 71 75 6f 74 3b 62 75 69 6c 74 69 6e 26 71 75 class="tok-str">&quot;builtin&qu
67600 6f 74 3b 3c 2f 73 70 61 6e 3e 29 3b 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 ot;</span>);.<span.class="tok-kw
67620 22 3e 63 6f 6e 73 74 3c 2f 73 70 61 6e 3e 20 6e 61 74 69 76 65 5f 61 72 63 68 20 3d 20 62 75 69 ">const</span>.native_arch.=.bui
67640 6c 74 69 6e 2e 63 70 75 2e 61 72 63 68 3b 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d ltin.cpu.arch;.<span.class="tok-
67660 6b 77 22 3e 63 6f 6e 73 74 3c 2f 73 70 61 6e 3e 20 65 78 70 65 63 74 45 71 75 61 6c 20 3d 20 73 kw">const</span>.expectEqual.=.s
67680 74 64 2e 74 65 73 74 69 6e 67 2e 65 78 70 65 63 74 45 71 75 61 6c 3b 0a 0a 3c 73 70 61 6e 20 63 td.testing.expectEqual;..<span.c
676a0 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 69 6f 6e 73 20 lass="tok-comment">//.Functions.
676c0 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 6e 3e 0a 3c 73 are.declared.like.this</span>.<s
676e0 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
67700 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 66 6e 22 3e 61 64 64 3c 2f 73 70 61 6e 3e 28 61 3a 20 an.class="tok-fn">add</span>(a:.
67720 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 69 38 3c 2f 73 70 61 6e 3e <span.class="tok-type">i8</span>
67740 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 2f ,.b:.<span.class="tok-type">i8</
67760 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 38 span>).<span.class="tok-type">i8
67780 3c 2f 73 70 61 6e 3e 20 7b 0a 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b </span>.{.....<span.class="tok-k
677a0 77 22 3e 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 w">if</span>.(a.==.<span.class="
677c0 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 30 3c 2f 73 70 61 6e 3e 29 20 7b 0a 20 20 20 20 20 20 20 20 tok-number">0</span>).{.........
677e0 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
67800 6e 3e 20 62 3b 0a 20 20 20 20 7d 0a 0a 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f n>.b;.....}......<span.class="to
67820 6b 2d 6b 77 22 3e 72 65 74 75 72 6e 3c 2f 73 70 61 6e 3e 20 61 20 2b 20 62 3b 0a 7d 0a 0a 3c 73 k-kw">return</span>.a.+.b;.}..<s
67840 70 61 6e 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 65 pan.class="tok-comment">//.The.e
67860 78 70 6f 72 74 20 73 70 65 63 69 66 69 65 72 20 6d 61 6b 65 73 20 61 20 66 75 6e 63 74 69 6f 6e xport.specifier.makes.a.function
67880 20 65 78 74 65 72 6e 61 6c 6c 79 20 76 69 73 69 62 6c 65 20 69 6e 20 74 68 65 20 67 65 6e 65 72 .externally.visible.in.the.gener
678a0 61 74 65 64 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 63 6f 6d ated</span>.<span.class="tok-com
678c0 6d 65 6e 74 22 3e 2f 2f 20 6f 62 6a 65 63 74 20 66 69 6c 65 2c 20 61 6e 64 20 6d 61 6b 65 73 20 ment">//.object.file,.and.makes.
678e0 69 74 20 75 73 65 20 74 68 65 20 43 20 41 42 49 2e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 it.use.the.C.ABI.</span>.<span.c
67900 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 65 78 70 6f 72 74 3c 2f 73 70 61 6e 3e 20 3c 73 70 61 lass="tok-kw">export</span>.<spa
67920 6e 20 63 6c 61 73 73 3d 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
67940 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 20 3c 73 .class="tok-fn">sub</span>(a:.<s
67960 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 20 pan.class="tok-type">i8</span>,.
67980 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 70 b:.<span.class="tok-type">i8</sp
679a0 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 2f an>).<span.class="tok-type">i8</
679c0 73 70 61 6e 3e 20 7b 0a 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 span>.{.....<span.class="tok-kw"
679e0 3e 72 65 74 75 72 6e 3c 2f 73 70 61 6e 3e 20 61 20 2d 20 62 3b 0a 7d 0a 0a 3c 73 70 61 6e 20 63 >return</span>.a.-.b;.}..<span.c
67a00 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 65 78 74 65 72 6e lass="tok-comment">//.The.extern
67a20 20 73 70 65 63 69 66 69 65 72 20 69 73 20 75 73 65 64 20 74 6f 20 64 65 63 6c 61 72 65 20 61 20 .specifier.is.used.to.declare.a.
67a40 66 75 6e 63 74 69 6f 6e 20 74 68 61 74 20 77 69 6c 6c 20 62 65 20 72 65 73 6f 6c 76 65 64 3c 2f function.that.will.be.resolved</
67a60 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 63 6f 6d 6d 65 6e 74 22 3e span>.<span.class="tok-comment">
67a80 2f 2f 20 61 74 20 6c 69 6e 6b 20 74 69 6d 65 2c 20 77 68 65 6e 20 6c 69 6e 6b 69 6e 67 20 73 74 //.at.link.time,.when.linking.st
67aa0 61 74 69 63 61 6c 6c 79 2c 20 6f 72 20 61 74 20 72 75 6e 74 69 6d 65 2c 20 77 68 65 6e 20 6c 69 atically,.or.at.runtime,.when.li
67ac0 6e 6b 69 6e 67 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 63 6f nking</span>.<span.class="tok-co
67ae0 6d 6d 65 6e 74 22 3e 2f 2f 20 64 79 6e 61 6d 69 63 61 6c 6c 79 2e 20 54 68 65 20 71 75 6f 74 65 mment">//.dynamically..The.quote
67b00 64 20 69 64 65 6e 74 69 66 69 65 72 20 61 66 74 65 72 20 74 68 65 20 65 78 74 65 72 6e 20 6b 65 d.identifier.after.the.extern.ke
67b20 79 77 6f 72 64 20 73 70 65 63 69 66 69 65 73 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 yword.specifies</span>.<span.cla
67b40 73 73 3d 22 74 6f 6b 2d 63 6f 6d 6d 65 6e 74 22 3e 2f 2f 20 74 68 65 20 6c 69 62 72 61 72 79 20 ss="tok-comment">//.the.library.
67b60 74 68 61 74 20 68 61 73 20 74 68 65 20 66 75 6e 63 74 69 6f 6e 2e 20 28 65 2e 67 2e 20 26 71 75 that.has.the.function..(e.g..&qu
67b80 6f 74 3b 63 26 71 75 6f 74 3b 20 2d 26 67 74 3b 20 6c 69 62 63 2e 73 6f 29 3c 2f 73 70 61 6e 3e ot;c&quot;.-&gt;.libc.so)</span>
67ba0 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 63 6f 6d 6d 65 6e 74 22 3e 2f 2f 20 54 68 .<span.class="tok-comment">//.Th
67bc0 65 20 63 61 6c 6c 63 6f 6e 76 20 73 70 65 63 69 66 69 65 72 20 63 68 61 6e 67 65 73 20 74 68 65 e.callconv.specifier.changes.the
67be0 20 63 61 6c 6c 69 6e 67 20 63 6f 6e 76 65 6e 74 69 6f 6e 20 6f 66 20 74 68 65 20 66 75 6e 63 74 .calling.convention.of.the.funct
67c00 69 6f 6e 2e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 ion.</span>.<span.class="tok-kw"
67c20 3e 65 78 74 65 72 6e 3c 2f 73 70 61 6e 3e 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d >extern</span>.<span.class="tok-
67c40 73 74 72 22 3e 26 71 75 6f 74 3b 6b 65 72 6e 65 6c 33 32 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e str">&quot;kernel32&quot;</span>
67c60 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>.
67c80 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 66 6e 22 3e 45 78 69 74 50 72 6f 63 65 73 73 <span.class="tok-fn">ExitProcess
67ca0 3c 2f 73 70 61 6e 3e 28 65 78 69 74 5f 63 6f 64 65 3a 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 </span>(exit_code:.<span.class="
67cc0 74 6f 6b 2d 74 79 70 65 22 3e 75 33 32 3c 2f 73 70 61 6e 3e 29 20 3c 73 70 61 6e 20 63 6c 61 73 tok-type">u32</span>).<span.clas
67ce0 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 77 69 6e 61 s="tok-kw">callconv</span>(.wina
67d00 70 69 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 pi).<span.class="tok-type">noret
67d20 75 72 6e 3c 2f 73 70 61 6e 3e 3b 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 urn</span>;.<span.class="tok-kw"
67d40 3e 65 78 74 65 72 6e 3c 2f 73 70 61 6e 3e 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d >extern</span>.<span.class="tok-
67d60 73 74 72 22 3e 26 71 75 6f 74 3b 63 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 20 3c 73 70 61 6e 20 str">&quot;c&quot;</span>.<span.
67d80 63 6c 61 73 73 3d 22 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
67da0 6c 61 73 73 3d 22 74 6f 6b 2d 66 6e 22 3e 61 74 61 6e 32 3c 2f 73 70 61 6e 3e 28 61 3a 20 3c 73 lass="tok-fn">atan2</span>(a:.<s
67dc0 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 2c pan.class="tok-type">f64</span>,
67de0 20 62 3a 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 66 36 34 3c 2f .b:.<span.class="tok-type">f64</
67e00 73 70 61 6e 3e 29 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 66 36 span>).<span.class="tok-type">f6
67e20 34 3c 2f 73 70 61 6e 3e 3b 0a 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 63 6f 6d 6d 4</span>;..<span.class="tok-comm
67e40 65 6e 74 22 3e 2f 2f 20 54 68 65 20 40 62 72 61 6e 63 68 48 69 6e 74 20 62 75 69 6c 74 69 6e 20 ent">//.The.@branchHint.builtin.
67e60 63 61 6e 20 62 65 20 75 73 65 64 20 74 6f 20 74 65 6c 6c 20 74 68 65 20 6f 70 74 69 6d 69 7a 65 can.be.used.to.tell.the.optimize
67e80 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 63 61 6c 6c r.that.a.function.is.rarely.call
67ea0 65 64 20 28 26 71 75 6f 74 3b 63 6f 6c 64 26 71 75 6f 74 3b 29 2e 3c 2f 73 70 61 6e 3e 0a 3c 73 ed.(&quot;cold&quot;).</span>.<s
67ec0 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
67ee0 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 29 an.class="tok-fn">abort</span>()
67f00 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
67f20 3c 2f 73 70 61 6e 3e 20 7b 0a 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 62 </span>.{.....<span.class="tok-b
67f40 75 69 6c 74 69 6e 22 3e 40 62 72 61 6e 63 68 48 69 6e 74 3c 2f 73 70 61 6e 3e 28 2e 63 6f 6c 64 uiltin">@branchHint</span>(.cold
67f60 29 3b 0a 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 77 68 69 6c );.....<span.class="tok-kw">whil
67f80 65 3c 2f 73 70 61 6e 3e 20 28 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6c 6c 22 e</span>.(<span.class="tok-null"
67fa0 3e 74 72 75 65 3c 2f 73 70 61 6e 3e 29 20 7b 7d 0a 7d 0a 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d >true</span>).{}.}..<span.class=
67fc0 22 74 6f 6b 2d 63 6f 6d 6d 65 6e 74 22 3e 2f 2f 20 54 68 65 20 6e 61 6b 65 64 20 63 61 6c 6c 69 "tok-comment">//.The.naked.calli
67fe0 6e 67 20 63 6f 6e 76 65 6e 74 69 6f 6e 20 6d 61 6b 65 73 20 61 20 66 75 6e 63 74 69 6f 6e 20 6e ng.convention.makes.a.function.n
68000 6f 74 20 68 61 76 65 20 61 6e 79 20 66 75 6e 63 74 69 6f 6e 20 70 72 6f 6c 6f 67 75 65 20 6f 72 ot.have.any.function.prologue.or
68020 20 65 70 69 6c 6f 67 75 65 2e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 .epilogue.</span>.<span.class="t
68040 6f 6b 2d 63 6f 6d 6d 65 6e 74 22 3e 2f 2f 20 54 68 69 73 20 63 61 6e 20 62 65 20 75 73 65 66 75 ok-comment">//.This.can.be.usefu
68060 6c 20 77 68 65 6e 20 69 6e 74 65 67 72 61 74 69 6e 67 20 77 69 74 68 20 61 73 73 65 6d 62 6c 79 l.when.integrating.with.assembly
68080 2e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 66 6e .</span>.<span.class="tok-kw">fn
680a0 3c 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 5f 73 74 </span>.<span.class="tok-fn">_st
680c0 61 72 74 3c 2f 73 70 61 6e 3e 28 29 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 art</span>().<span.class="tok-kw
680e0 22 3e 63 61 6c 6c 63 6f 6e 76 3c 2f 73 70 61 6e 3e 28 2e 6e 61 6b 65 64 29 20 3c 73 70 61 6e 20 ">callconv</span>(.naked).<span.
68100 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>
68120 20 7b 0a 20 20 20 20 61 62 6f 72 74 28 29 3b 0a 7d 0a 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 .{.....abort();.}..<span.class="
68140 74 6f 6b 2d 63 6f 6d 6d 65 6e 74 22 3e 2f 2f 20 54 68 65 20 69 6e 6c 69 6e 65 20 63 61 6c 6c 69 tok-comment">//.The.inline.calli
68160 6e 67 20 63 6f 6e 76 65 6e 74 69 6f 6e 20 66 6f 72 63 65 73 20 61 20 66 75 6e 63 74 69 6f 6e 20 ng.convention.forces.a.function.
68180 74 6f 20 62 65 20 69 6e 6c 69 6e 65 64 20 61 74 20 61 6c 6c 20 63 61 6c 6c 20 73 69 74 65 73 2e to.be.inlined.at.all.call.sites.
681a0 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 63 6f 6d 6d 65 6e 74 </span>.<span.class="tok-comment
681c0 22 3e 2f 2f 20 49 66 20 74 68 65 20 66 75 6e 63 74 69 6f 6e 20 63 61 6e 6e 6f 74 20 62 65 20 69 ">//.If.the.function.cannot.be.i
681e0 6e 6c 69 6e 65 64 2c 20 69 74 20 69 73 20 61 20 63 6f 6d 70 69 6c 65 2d 74 69 6d 65 20 65 72 72 nlined,.it.is.a.compile-time.err
68200 6f 72 2e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e or.</span>.<span.class="tok-kw">
68220 69 6e 6c 69 6e 65 3c 2f 73 70 61 6e 3e 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b inline</span>.<span.class="tok-k
68240 77 22 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
68260 22 3e 73 68 69 66 74 4c 65 66 74 4f 6e 65 3c 2f 73 70 61 6e 3e 28 61 3a 20 3c 73 70 61 6e 20 63 ">shiftLeftOne</span>(a:.<span.c
68280 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 75 33 32 3c 2f 73 70 61 6e 3e 29 20 3c 73 70 61 lass="tok-type">u32</span>).<spa
682a0 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 75 33 32 3c 2f 73 70 61 6e 3e 20 7b 0a n.class="tok-type">u32</span>.{.
682c0 20 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<
682e0 2f 73 70 61 6e 3e 20 61 20 26 6c 74 3b 26 6c 74 3b 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 /span>.a.&lt;&lt;.<span.class="t
68300 6f 6b 2d 6e 75 6d 62 65 72 22 3e 31 3c 2f 73 70 61 6e 3e 3b 0a 7d 0a 0a 3c 73 70 61 6e 20 63 6c ok-number">1</span>;.}..<span.cl
68320 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
68340 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
68360 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 0a .visible.when.importing.</span>.
68380 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 63 6f 6d 6d 65 6e 74 22 3e 2f 2f 20 41 6e 6f <span.class="tok-comment">//.Ano
683a0 74 68 65 72 20 66 69 6c 65 20 63 61 6e 20 75 73 65 20 40 69 6d 70 6f 72 74 20 61 6e 64 20 63 61 ther.file.can.use.@import.and.ca
683c0 6c 6c 20 73 75 62 32 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d ll.sub2</span>.<span.class="tok-
683e0 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-
68400 6b 77 22 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
68420 6e 22 3e 73 75 62 32 3c 2f 73 70 61 6e 3e 28 61 3a 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 n">sub2</span>(a:.<span.class="t
68440 6f 6b 2d 74 79 70 65 22 3e 69 38 3c 2f 73 70 61 6e 3e 2c 20 62 3a 20 3c 73 70 61 6e 20 63 6c 61 ok-type">i8</span>,.b:.<span.cla
68460 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 69 38 3c 2f 73 70 61 6e 3e 29 20 3c 73 70 61 6e 20 63 ss="tok-type">i8</span>).<span.c
68480 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 69 38 3c 2f 73 70 61 6e 3e 20 7b 0a 20 20 20 20 lass="tok-type">i8</span>.{.....
684a0 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
684c0 6e 3e 20 61 20 2d 20 62 3b 0a 7d 0a 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 63 6f n>.a.-.b;.}..<span.class="tok-co
684e0 6d 6d 65 6e 74 22 3e 2f 2f 20 46 75 6e 63 74 69 6f 6e 20 70 6f 69 6e 74 65 72 73 20 61 72 65 20 mment">//.Function.pointers.are.
68500 70 72 65 66 69 78 65 64 20 77 69 74 68 20 60 2a 63 6f 6e 73 74 20 60 2e 3c 2f 73 70 61 6e 3e 0a prefixed.with.`*const.`.</span>.
68520 3c 73 70 61 6e 20 63 6c 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
68540 3e 20 43 61 6c 6c 32 4f 70 20 3d 20 2a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 >.Call2Op.=.*<span.class="tok-kw
68560 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-
68580 6b 77 22 3e 66 6e 3c 2f 73 70 61 6e 3e 20 28 61 3a 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 kw">fn</span>.(a:.<span.class="t
685a0 6f 6b 2d 74 79 70 65 22 3e 69 38 3c 2f 73 70 61 6e 3e 2c 20 62 3a 20 3c 73 70 61 6e 20 63 6c 61 ok-type">i8</span>,.b:.<span.cla
685c0 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 69 38 3c 2f 73 70 61 6e 3e 29 20 3c 73 70 61 6e 20 63 ss="tok-type">i8</span>).<span.c
685e0 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 69 38 3c 2f 73 70 61 6e 3e 3b 0a 3c 73 70 61 6e lass="tok-type">i8</span>;.<span
68600 20 63 6c 61 73 73 3d 22 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.
68620 63 6c 61 73 73 3d 22 74 6f 6b 2d 66 6e 22 3e 64 6f 4f 70 3c 2f 73 70 61 6e 3e 28 66 6e 43 61 6c class="tok-fn">doOp</span>(fnCal
68640 6c 3a 20 43 61 6c 6c 32 4f 70 2c 20 6f 70 31 3a 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f l:.Call2Op,.op1:.<span.class="to
68660 6b 2d 74 79 70 65 22 3e 69 38 3c 2f 73 70 61 6e 3e 2c 20 6f 70 32 3a 20 3c 73 70 61 6e 20 63 6c k-type">i8</span>,.op2:.<span.cl
68680 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 69 38 3c 2f 73 70 61 6e 3e 29 20 3c 73 70 61 6e 20 ass="tok-type">i8</span>).<span.
686a0 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 69 38 3c 2f 73 70 61 6e 3e 20 7b 0a 20 20 20 class="tok-type">i8</span>.{....
686c0 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
686e0 61 6e 3e 20 66 6e 43 61 6c 6c 28 6f 70 31 2c 20 6f 70 32 29 3b 0a 7d 0a 0a 3c 73 70 61 6e 20 63 an>.fnCall(op1,.op2);.}..<span.c
68700 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.
68720 63 6c 61 73 73 3d 22 74 6f 6b 2d 73 74 72 22 3e 26 71 75 6f 74 3b 66 75 6e 63 74 69 6f 6e 26 71 class="tok-str">&quot;function&q
68740 75 6f 74 3b 3c 2f 73 70 61 6e 3e 20 7b 0a 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 uot;</span>.{.....<span.class="t
68760 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 73 ok-kw">try</span>.expectEqual(<s
68780 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 2f 73 70 61 6e 3e pan.class="tok-number">11</span>
687a0 2c 20 64 6f 4f 70 28 61 64 64 2c 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d ,.doOp(add,.<span.class="tok-num
687c0 62 65 72 22 3e 35 3c 2f 73 70 61 6e 3e 2c 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d ber">5</span>,.<span.class="tok-
687e0 6e 75 6d 62 65 72 22 3e 36 3c 2f 73 70 61 6e 3e 29 29 3b 0a 20 20 20 20 3c 73 70 61 6e 20 63 6c number">6</span>));.....<span.cl
68800 61 73 73 3d 22 74 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 ass="tok-kw">try</span>.expectEq
68820 75 61 6c 28 2d 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 31 3c ual(-<span.class="tok-number">1<
68840 2f 73 70 61 6e 3e 2c 20 64 6f 4f 70 28 73 75 62 32 2c 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 /span>,.doOp(sub2,.<span.class="
68860 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 35 3c 2f 73 70 61 6e 3e 2c 20 3c 73 70 61 6e 20 63 6c 61 73 tok-number">5</span>,.<span.clas
68880 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 36 3c 2f 73 70 61 6e 3e 29 29 3b 0a 7d 3c 2f 63 6f s="tok-number">6</span>));.}</co
688a0 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
688c0 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
688e0 69 67 63 61 70 74 69 6f 6e 3e 3c 70 72 65 3e 3c 73 61 6d 70 3e 24 20 3c 6b 62 64 3e 7a 69 67 20 igcaption><pre><samp>$.<kbd>zig.
68900 74 65 73 74 20 74 65 73 74 5f 66 75 6e 63 74 69 6f 6e 73 2e 7a 69 67 3c 2f 6b 62 64 3e 0a 31 2f test.test_functions.zig</kbd>.1/
68920 31 20 74 65 73 74 5f 66 75 6e 63 74 69 6f 6e 73 2e 74 65 73 74 2e 66 75 6e 63 74 69 6f 6e 2e 2e 1.test_functions.test.function..
68940 2e 4f 4b 0a 41 6c 6c 20 31 20 74 65 73 74 73 20 70 61 73 73 65 64 2e 0a 3c 2f 73 61 6d 70 3e 3c .OK.All.1.tests.passed..</samp><
68960 2f 70 72 65 3e 3c 2f 66 69 67 75 72 65 3e 0a 0a 20 20 20 20 20 20 3c 70 3e 54 68 65 72 65 20 69 /pre></figure>........<p>There.i
68980 73 20 61 20 64 69 66 66 65 72 65 6e 63 65 20 62 65 74 77 65 65 6e 20 61 20 66 75 6e 63 74 69 6f s.a.difference.between.a.functio
689a0 6e 20 3c 65 6d 3e 62 6f 64 79 3c 2f 65 6d 3e 20 61 6e 64 20 61 20 66 75 6e 63 74 69 6f 6e 20 3c n.<em>body</em>.and.a.function.<
689c0 65 6d 3e 70 6f 69 6e 74 65 72 3c 2f 65 6d 3e 2e 0a 20 20 20 20 20 20 46 75 6e 63 74 69 6f 6e 20 em>pointer</em>........Function.
689e0 62 6f 64 69 65 73 20 61 72 65 20 3c 61 20 68 72 65 66 3d 22 23 63 6f 6d 70 74 69 6d 65 22 3e 63 bodies.are.<a.href="#comptime">c
68a00 6f 6d 70 74 69 6d 65 3c 2f 61 3e 2d 6f 6e 6c 79 20 74 79 70 65 73 20 77 68 69 6c 65 20 66 75 6e omptime</a>-only.types.while.fun
68a20 63 74 69 6f 6e 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 ction.<a.href="#Pointers">Pointe
68a40 72 73 3c 2f 61 3e 20 6d 61 79 20 62 65 0a 20 20 20 20 20 20 72 75 6e 74 69 6d 65 2d 6b 6e 6f 77 rs</a>.may.be.......runtime-know
68a60 6e 2e 3c 2f 70 3e 0a 20 20 20 20 20 20 3c 68 33 20 69 64 3d 22 50 61 73 73 2d 62 79 2d 76 61 6c n.</p>.......<h3.id="Pass-by-val
68a80 75 65 2d 50 61 72 61 6d 65 74 65 72 73 22 3e 3c 61 20 68 72 65 66 3d 22 6e 61 76 2e 78 68 74 6d ue-Parameters"><a.href="nav.xhtm
68aa0 6c 23 74 6f 63 2d 50 61 73 73 2d 62 79 2d 76 61 6c 75 65 2d 50 61 72 61 6d 65 74 65 72 73 22 3e l#toc-Pass-by-value-Parameters">
68ac0 50 61 73 73 2d 62 79 2d 76 61 6c 75 65 20 50 61 72 61 6d 65 74 65 72 73 3c 2f 61 3e 20 3c 61 20 Pass-by-value.Parameters</a>.<a.
68ae0 63 6c 61 73 73 3d 22 68 64 72 22 20 68 72 65 66 3d 22 23 50 61 73 73 2d 62 79 2d 76 61 6c 75 65 class="hdr".href="#Pass-by-value
68b00 2d 50 61 72 61 6d 65 74 65 72 73 22 3e c2 a7 3c 2f 61 3e 3c 2f 68 33 3e 0a 0a 20 20 20 20 20 20 -Parameters">..</a></h3>........
68b20 3c 70 3e 0a 20 20 20 20 20 20 50 72 69 6d 69 74 69 76 65 20 74 79 70 65 73 20 73 75 63 68 20 61 <p>.......Primitive.types.such.a
68b40 73 20 3c 61 20 68 72 65 66 3d 22 23 49 6e 74 65 67 65 72 73 22 3e 49 6e 74 65 67 65 72 73 3c 2f s.<a.href="#Integers">Integers</
68b60 61 3e 20 61 6e 64 20 3c 61 20 68 72 65 66 3d 22 23 46 6c 6f 61 74 73 22 3e 46 6c 6f 61 74 73 3c a>.and.<a.href="#Floats">Floats<
68b80 2f 61 3e 20 70 61 73 73 65 64 20 61 73 20 70 61 72 61 6d 65 74 65 72 73 0a 20 20 20 20 20 20 61 /a>.passed.as.parameters.......a
68ba0 72 65 20 63 6f 70 69 65 64 2c 20 61 6e 64 20 74 68 65 6e 20 74 68 65 20 63 6f 70 79 20 69 73 20 re.copied,.and.then.the.copy.is.
68bc0 61 76 61 69 6c 61 62 6c 65 20 69 6e 20 74 68 65 20 66 75 6e 63 74 69 6f 6e 20 62 6f 64 79 2e 20 available.in.the.function.body..
68be0 54 68 69 73 20 69 73 20 63 61 6c 6c 65 64 20 22 70 61 73 73 69 6e 67 20 62 79 20 76 61 6c 75 65 This.is.called."passing.by.value
68c00 22 2e 0a 20 20 20 20 20 20 43 6f 70 79 69 6e 67 20 61 20 70 72 69 6d 69 74 69 76 65 20 74 79 70 "........Copying.a.primitive.typ
68c20 65 20 69 73 20 65 73 73 65 6e 74 69 61 6c 6c 79 20 66 72 65 65 20 61 6e 64 20 74 79 70 69 63 61 e.is.essentially.free.and.typica
68c40 6c 6c 79 20 69 6e 76 6f 6c 76 65 73 20 6e 6f 74 68 69 6e 67 20 6d 6f 72 65 20 74 68 61 6e 0a 20 lly.involves.nothing.more.than..
68c60 20 20 20 20 20 73 65 74 74 69 6e 67 20 61 20 72 65 67 69 73 74 65 72 2e 0a 20 20 20 20 20 20 3c .....setting.a.register........<
68c80 2f 70 3e 0a 20 20 20 20 20 20 3c 70 3e 0a 20 20 20 20 20 20 53 74 72 75 63 74 73 2c 20 75 6e 69 /p>.......<p>.......Structs,.uni
68ca0 6f 6e 73 2c 20 61 6e 64 20 61 72 72 61 79 73 20 63 61 6e 20 73 6f 6d 65 74 69 6d 65 73 20 62 65 ons,.and.arrays.can.sometimes.be
68cc0 20 6d 6f 72 65 20 65 66 66 69 63 69 65 6e 74 6c 79 20 70 61 73 73 65 64 20 61 73 20 61 20 72 65 .more.efficiently.passed.as.a.re
68ce0 66 65 72 65 6e 63 65 2c 20 73 69 6e 63 65 20 61 20 63 6f 70 79 0a 20 20 20 20 20 20 63 6f 75 6c ference,.since.a.copy.......coul
68d00 64 20 62 65 20 61 72 62 69 74 72 61 72 69 6c 79 20 65 78 70 65 6e 73 69 76 65 20 64 65 70 65 6e d.be.arbitrarily.expensive.depen
68d20 64 69 6e 67 20 6f 6e 20 74 68 65 20 73 69 7a 65 2e 20 57 68 65 6e 20 74 68 65 73 65 20 74 79 70 ding.on.the.size..When.these.typ
68d40 65 73 20 61 72 65 20 70 61 73 73 65 64 0a 20 20 20 20 20 20 61 73 20 70 61 72 61 6d 65 74 65 72 es.are.passed.......as.parameter
68d60 73 2c 20 5a 69 67 20 6d 61 79 20 63 68 6f 6f 73 65 20 74 6f 20 63 6f 70 79 20 61 6e 64 20 70 61 s,.Zig.may.choose.to.copy.and.pa
68d80 73 73 20 62 79 20 76 61 6c 75 65 2c 20 6f 72 20 70 61 73 73 20 62 79 20 72 65 66 65 72 65 6e 63 ss.by.value,.or.pass.by.referenc
68da0 65 2c 20 77 68 69 63 68 65 76 65 72 20 77 61 79 0a 20 20 20 20 20 20 5a 69 67 20 64 65 63 69 64 e,.whichever.way.......Zig.decid
68dc0 65 73 20 77 69 6c 6c 20 62 65 20 66 61 73 74 65 72 2e 20 54 68 69 73 20 69 73 20 6d 61 64 65 20 es.will.be.faster..This.is.made.
68de0 70 6f 73 73 69 62 6c 65 2c 20 69 6e 20 70 61 72 74 2c 20 62 79 20 74 68 65 20 66 61 63 74 20 74 possible,.in.part,.by.the.fact.t
68e00 68 61 74 20 70 61 72 61 6d 65 74 65 72 73 20 61 72 65 20 69 6d 6d 75 74 61 62 6c 65 2e 0a 20 20 hat.parameters.are.immutable....
68e20 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
68e40 6f 6e 20 63 6c 61 73 73 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="
68e60 66 69 6c 65 22 3e 74 65 73 74 5f 70 61 73 73 5f 62 79 5f 72 65 66 65 72 65 6e 63 65 5f 6f 72 5f file">test_pass_by_reference_or_
68e80 76 61 6c 75 65 2e 7a 69 67 3c 2f 63 69 74 65 3e 3c 2f 66 69 67 63 61 70 74 69 6f 6e 3e 3c 70 72 value.zig</cite></figcaption><pr
68ea0 65 3e 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 63 6f 6e e><code><span.class="tok-kw">con
68ec0 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 74 st</span>.Point.=.<span.class="t
68ee0 6f 6b 2d 6b 77 22 3e 73 74 72 75 63 74 3c 2f 73 70 61 6e 3e 20 7b 0a 20 20 20 20 78 3a 20 3c 73 ok-kw">struct</span>.{.....x:.<s
68f00 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 69 33 32 3c 2f 73 70 61 6e 3e 2c pan.class="tok-type">i32</span>,
68f20 0a 20 20 20 20 79 3a 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 69 .....y:.<span.class="tok-type">i
68f40 33 32 3c 2f 73 70 61 6e 3e 2c 0a 7d 3b 0a 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 32</span>,.};..<span.class="tok-
68f60 6b 77 22 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
68f80 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 73 70 61 n">foo</span>(point:.Point).<spa
68fa0 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 69 33 32 3c 2f 73 70 61 6e 3e 20 7b 0a n.class="tok-type">i32</span>.{.
68fc0 20 20 20 20 3c 73 70 61 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">//
68fe0 20 48 65 72 65 2c 20 60 70 6f 69 6e 74 60 20 63 6f 75 6c 64 20 62 65 20 61 20 72 65 66 65 72 65 .Here,.`point`.could.be.a.refere
69000 6e 63 65 2c 20 6f 72 20 61 20 63 6f 70 79 2e 20 54 68 65 20 66 75 6e 63 74 69 6f 6e 20 62 6f 64 nce,.or.a.copy..The.function.bod
69020 79 3c 2f 73 70 61 6e 3e 0a 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 63 6f y</span>.....<span.class="tok-co
69040 6d 6d 65 6e 74 22 3e 2f 2f 20 63 61 6e 20 69 67 6e 6f 72 65 20 74 68 65 20 64 69 66 66 65 72 65 mment">//.can.ignore.the.differe
69060 6e 63 65 20 61 6e 64 20 74 72 65 61 74 20 69 74 20 61 73 20 61 20 76 61 6c 75 65 2e 20 42 65 20 nce.and.treat.it.as.a.value..Be.
69080 76 65 72 79 20 63 61 72 65 66 75 6c 3c 2f 73 70 61 6e 3e 0a 20 20 20 20 3c 73 70 61 6e 20 63 6c very.careful</span>.....<span.cl
690a0 61 73 73 3d 22 74 6f 6b 2d 63 6f 6d 6d 65 6e 74 22 3e 2f 2f 20 74 61 6b 69 6e 67 20 74 68 65 20 ass="tok-comment">//.taking.the.
690c0 61 64 64 72 65 73 73 20 6f 66 20 74 68 65 20 70 61 72 61 6d 65 74 65 72 20 2d 20 69 74 20 73 68 address.of.the.parameter.-.it.sh
690e0 6f 75 6c 64 20 62 65 20 74 72 65 61 74 65 64 20 61 73 20 69 66 3c 2f 73 70 61 6e 3e 0a 20 20 20 ould.be.treated.as.if</span>....
69100 20 3c 73 70 61 6e 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 .<span.class="tok-comment">//.th
69120 65 20 61 64 64 72 65 73 73 20 77 69 6c 6c 20 62 65 63 6f 6d 65 20 69 6e 76 61 6c 69 64 20 77 68 e.address.will.become.invalid.wh
69140 65 6e 20 74 68 65 20 66 75 6e 63 74 69 6f 6e 20 72 65 74 75 72 6e 73 2e 3c 2f 73 70 61 6e 3e 0a en.the.function.returns.</span>.
69160 20 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<
69180 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 0a 7d 0a 0a 3c 73 70 /span>.point.x.+.point.y;.}..<sp
691a0 61 6e 20 63 6c 61 73 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
691c0 78 70 65 63 74 45 71 75 61 6c 20 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 62 75 xpectEqual.=.<span.class="tok-bu
691e0 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
69200 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
69220 6e 3e 29 2e 74 65 73 74 69 6e 67 2e 65 78 70 65 63 74 45 71 75 61 6c 3b 0a 0a 3c 73 70 61 6e 20 n>).testing.expectEqual;..<span.
69240 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
69260 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 73 74 72 22 3e 26 71 75 6f 74 3b 70 61 73 73 20 73 74 72 75 .class="tok-str">&quot;pass.stru
69280 63 74 20 74 6f 20 66 75 6e 63 74 69 6f 6e 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 20 7b 0a 20 20 ct.to.function&quot;</span>.{...
692a0 20 20 3c 73 70 61 6e 20 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
692c0 3e 20 65 78 70 65 63 74 45 71 75 61 6c 28 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e >.expectEqual(<span.class="tok-n
692e0 75 6d 62 65 72 22 3e 33 3c 2f 73 70 61 6e 3e 2c 20 66 6f 6f 28 50 6f 69 6e 74 7b 20 2e 78 20 3d umber">3</span>,.foo(Point{..x.=
69300 20 3c 73 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
69320 6e 3e 2c 20 2e 79 20 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 n>,..y.=.<span.class="tok-number
69340 22 3e 32 3c 2f 73 70 61 6e 3e 20 7d 29 29 3b 0a 7d 3c 2f 63 6f 64 65 3e 3c 2f 70 72 65 3e 3c 2f ">2</span>.}));.}</code></pre></
69360 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
69380 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><
693a0 70 72 65 3e 3c 73 61 6d 70 3e 24 20 3c 6b 62 64 3e 7a 69 67 20 74 65 73 74 20 74 65 73 74 5f 70 pre><samp>$.<kbd>zig.test.test_p
693c0 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 3c 2f 6b ass_by_reference_or_value.zig</k
693e0 62 64 3e 0a 31 2f 31 20 74 65 73 74 5f 70 61 73 73 5f 62 79 5f 72 65 66 65 72 65 6e 63 65 5f 6f bd>.1/1.test_pass_by_reference_o
69400 72 5f 76 61 6c 75 65 2e 74 65 73 74 2e 70 61 73 73 20 73 74 72 75 63 74 20 74 6f 20 66 75 6e 63 r_value.test.pass.struct.to.func
69420 74 69 6f 6e 2e 2e 2e 4f 4b 0a 41 6c 6c 20 31 20 74 65 73 74 73 20 70 61 73 73 65 64 2e 0a 3c 2f tion...OK.All.1.tests.passed..</
69440 73 61 6d 70 3e 3c 2f 70 72 65 3e 3c 2f 66 69 67 75 72 65 3e 0a 0a 20 20 20 20 20 20 3c 70 3e 0a samp></pre></figure>........<p>.
69460 20 20 20 20 20 20 46 6f 72 20 65 78 74 65 72 6e 20 66 75 6e 63 74 69 6f 6e 73 2c 20 5a 69 67 20 ......For.extern.functions,.Zig.
69480 66 6f 6c 6c 6f 77 73 20 74 68 65 20 43 20 41 42 49 20 66 6f 72 20 70 61 73 73 69 6e 67 20 73 74 follows.the.C.ABI.for.passing.st
694a0 72 75 63 74 73 20 61 6e 64 20 75 6e 69 6f 6e 73 20 62 79 20 76 61 6c 75 65 2e 0a 20 20 20 20 20 ructs.and.unions.by.value.......
694c0 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 46 75 6e 63 74 .</p>..............<h3.id="Funct
694e0 69 6f 6e 2d 50 61 72 61 6d 65 74 65 72 2d 54 79 70 65 2d 49 6e 66 65 72 65 6e 63 65 22 3e 3c 61 ion-Parameter-Type-Inference"><a
69500 20 68 72 65 66 3d 22 6e 61 76 2e 78 68 74 6d 6c 23 74 6f 63 2d 46 75 6e 63 74 69 6f 6e 2d 50 61 .href="nav.xhtml#toc-Function-Pa
69520 72 61 6d 65 74 65 72 2d 54 79 70 65 2d 49 6e 66 65 72 65 6e 63 65 22 3e 46 75 6e 63 74 69 6f 6e rameter-Type-Inference">Function
69540 20 50 61 72 61 6d 65 74 65 72 20 54 79 70 65 20 49 6e 66 65 72 65 6e 63 65 3c 2f 61 3e 20 3c 61 .Parameter.Type.Inference</a>.<a
69560 20 63 6c 61 73 73 3d 22 68 64 72 22 20 68 72 65 66 3d 22 23 46 75 6e 63 74 69 6f 6e 2d 50 61 72 .class="hdr".href="#Function-Par
69580 61 6d 65 74 65 72 2d 54 79 70 65 2d 49 6e 66 65 72 65 6e 63 65 22 3e c2 a7 3c 2f 61 3e 3c 2f 68 ameter-Type-Inference">..</a></h
695a0 33 3e 0a 0a 20 20 20 20 20 20 3c 70 3e 0a 20 20 20 20 20 20 46 75 6e 63 74 69 6f 6e 20 70 61 72 3>........<p>.......Function.par
695c0 61 6d 65 74 65 72 73 20 63 61 6e 20 62 65 20 64 65 63 6c 61 72 65 64 20 77 69 74 68 20 3c 63 6f ameters.can.be.declared.with.<co
695e0 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 61 6e 79 74 79 70 65 3c de><span.class="tok-kw">anytype<
69600 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 65 20 74 79 /span></code>.in.place.of.the.ty
69620 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 61 72 61 6d pe........In.this.case.the.param
69640 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 77 68 65 6e eter.types.will.be.inferred.when
69660 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 20 20 20 55 .the.function.is.called........U
69680 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 3c 2f 61 3e se.<a.href="#TypeOf">@TypeOf</a>
696a0 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 70 65 49 6e .and.<a.href="#typeInfo">@typeIn
696c0 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 6f 75 74 20 fo</a>.to.get.information.about.
696e0 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 3e 0a 20 20 the.inferred.type........</p>...
69700 20 20 20 20 3c 66 69 67 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
69720 69 67 2d 63 61 70 22 3e 3c 63 69 74 65 20 63 6c 61 73 73 3d 22 66 69 6c 65 22 3e 74 65 73 74 5f ig-cap"><cite.class="file">test_
69740 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 3c 2f 66 69 fn_type_inference.zig</cite></fi
69760 67 63 61 70 74 69 6f 6e 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=
69780 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 45 71 75 61 "tok-kw">const</span>.expectEqua
697a0 6c 20 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 62 75 69 6c 74 69 6e 22 3e 40 69 l.=.<span.class="tok-builtin">@i
697c0 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
697e0 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
69800 6e 67 2e 65 78 70 65 63 74 45 71 75 61 6c 3b 0a 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f ng.expectEqual;..<span.class="to
69820 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
69840 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 6e -fn">addFortyTwo</span>(x:.<span
69860 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 61 6e 79 74 79 70 65 3c 2f 73 70 61 6e 3e 29 20 .class="tok-kw">anytype</span>).
69880 3c 73 70 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
698a0 66 3c 2f 73 70 61 6e 3e 28 78 29 20 7b 0a 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 f</span>(x).{.....<span.class="t
698c0 6f 6b 2d 6b 77 22 3e 72 65 74 75 72 6e 3c 2f 73 70 61 6e 3e 20 78 20 2b 20 3c 73 70 61 6e 20 63 ok-kw">return</span>.x.+.<span.c
698e0 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 34 32 3c 2f 73 70 61 6e 3e 3b 0a 7d 0a 0a lass="tok-number">42</span>;.}..
69900 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>
69920 20 3c 73 70 61 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 .<span.class="tok-str">&quot;fn.
69940 74 79 70 65 20 69 6e 66 65 72 65 6e 63 65 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 20 7b 0a 20 20 type.inference&quot;</span>.{...
69960 20 20 3c 73 70 61 6e 20 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
69980 3e 20 65 78 70 65 63 74 45 71 75 61 6c 28 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e >.expectEqual(<span.class="tok-n
699a0 75 6d 62 65 72 22 3e 34 33 3c 2f 73 70 61 6e 3e 2c 20 61 64 64 46 6f 72 74 79 54 77 6f 28 3c 73 umber">43</span>,.addFortyTwo(<s
699c0 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 31 3c 2f 73 70 61 6e 3e 29 pan.class="tok-number">1</span>)
699e0 29 3b 0a 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 74 72 79 3c );.....<span.class="tok-kw">try<
69a00 2f 73 70 61 6e 3e 20 65 78 70 65 63 74 45 71 75 61 6c 28 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 /span>.expectEqual(<span.class="
69a20 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 2c 20 3c tok-type">comptime_int</span>,.<
69a40 73 70 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
69a60 3c 2f 73 70 61 6e 3e 28 61 64 64 46 6f 72 74 79 54 77 6f 28 3c 73 70 61 6e 20 63 6c 61 73 73 3d </span>(addFortyTwo(<span.class=
69a80 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 31 3c 2f 73 70 61 6e 3e 29 29 29 3b 0a 20 20 20 20 3c 73 "tok-number">1</span>)));.....<s
69aa0 70 61 6e 20 63 6c 61 73 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>.
69ac0 79 3a 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 69 36 34 3c 2f 73 y:.<span.class="tok-type">i64</s
69ae0 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">
69b00 32 3c 2f 73 70 61 6e 3e 3b 0a 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 2</span>;.....<span.class="tok-k
69b20 77 22 3e 74 72 79 3c 2f 73 70 61 6e 3e 20 65 78 70 65 63 74 45 71 75 61 6c 28 3c 73 70 61 6e 20 w">try</span>.expectEqual(<span.
69b40 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 34 34 3c 2f 73 70 61 6e 3e 2c 20 61 64 class="tok-number">44</span>,.ad
69b60 64 46 6f 72 74 79 54 77 6f 28 79 29 29 3b 0a 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 dFortyTwo(y));.....<span.class="
69b80 74 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(<
69ba0 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 69 36 34 3c 2f 73 70 61 6e 3e span.class="tok-type">i64</span>
69bc0 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 54 79 70 ,.<span.class="tok-builtin">@Typ
69be0 65 4f 66 3c 2f 73 70 61 6e 3e 28 61 64 64 46 6f 72 74 79 54 77 6f 28 79 29 29 29 3b 0a 7d 3c 2f eOf</span>(addFortyTwo(y)));.}</
69c00 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
69c20 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<
69c40 2f 66 69 67 63 61 70 74 69 6f 6e 3e 3c 70 72 65 3e 3c 73 61 6d 70 3e 24 20 3c 6b 62 64 3e 7a 69 /figcaption><pre><samp>$.<kbd>zi
69c60 67 20 74 65 73 74 20 74 65 73 74 5f 66 6e 5f 74 79 70 65 5f 69 6e 66 65 72 65 6e 63 65 2e 7a 69 g.test.test_fn_type_inference.zi
69c80 67 3c 2f 6b 62 64 3e 0a 31 2f 31 20 74 65 73 74 5f 66 6e 5f 74 79 70 65 5f 69 6e 66 65 72 65 6e g</kbd>.1/1.test_fn_type_inferen
69ca0 63 65 2e 74 65 73 74 2e 66 6e 20 74 79 70 65 20 69 6e 66 65 72 65 6e 63 65 2e 2e 2e 4f 4b 0a 41 ce.test.fn.type.inference...OK.A
69cc0 6c 6c 20 31 20 74 65 73 74 73 20 70 61 73 73 65 64 2e 0a 3c 2f 73 61 6d 70 3e 3c 2f 70 72 65 3e ll.1.tests.passed..</samp></pre>
69ce0 3c 2f 66 69 67 75 72 65 3e 0a 0a 0a 20 20 20 20 20 20 0a 0a 20 20 20 20 20 20 3c 68 33 20 69 64 </figure>.................<h3.id
69d00 3d 22 69 6e 6c 69 6e 65 2d 66 6e 22 3e 3c 61 20 68 72 65 66 3d 22 6e 61 76 2e 78 68 74 6d 6c 23 ="inline-fn"><a.href="nav.xhtml#
69d20 74 6f 63 2d 69 6e 6c 69 6e 65 2d 66 6e 22 3e 69 6e 6c 69 6e 65 20 66 6e 3c 2f 61 3e 20 3c 61 20 toc-inline-fn">inline.fn</a>.<a.
69d40 63 6c 61 73 73 3d 22 68 64 72 22 20 68 72 65 66 3d 22 23 69 6e 6c 69 6e 65 2d 66 6e 22 3e c2 a7 class="hdr".href="#inline-fn">..
69d60 3c 2f 61 3e 3c 2f 68 33 3e 0a 0a 20 20 20 20 20 20 3c 70 3e 0a 20 20 20 20 20 20 41 64 64 69 6e </a></h3>........<p>.......Addin
69d80 67 20 74 68 65 20 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 g.the.<code><span.class="tok-kw"
69da0 3e 69 6e 6c 69 6e 65 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 20 6b 65 79 77 6f 72 64 20 74 6f >inline</span></code>.keyword.to
69dc0 20 61 20 66 75 6e 63 74 69 6f 6e 20 64 65 66 69 6e 69 74 69 6f 6e 20 6d 61 6b 65 73 20 74 68 61 .a.function.definition.makes.tha
69de0 74 0a 20 20 20 20 20 20 66 75 6e 63 74 69 6f 6e 20 62 65 63 6f 6d 65 20 3c 65 6d 3e 73 65 6d 61 t.......function.become.<em>sema
69e00 6e 74 69 63 61 6c 6c 79 20 69 6e 6c 69 6e 65 64 3c 2f 65 6d 3e 20 61 74 20 74 68 65 20 63 61 6c ntically.inlined</em>.at.the.cal
69e20 6c 73 69 74 65 2e 20 54 68 69 73 20 69 73 0a 20 20 20 20 20 20 6e 6f 74 20 61 20 68 69 6e 74 20 lsite..This.is.......not.a.hint.
69e40 74 6f 20 62 65 20 70 6f 73 73 69 62 6c 79 20 6f 62 73 65 72 76 65 64 20 62 79 20 6f 70 74 69 6d to.be.possibly.observed.by.optim
69e60 69 7a 61 74 69 6f 6e 20 70 61 73 73 65 73 2c 20 62 75 74 20 68 61 73 0a 20 20 20 20 20 20 69 6d ization.passes,.but.has.......im
69e80 70 6c 69 63 61 74 69 6f 6e 73 20 6f 6e 20 74 68 65 20 74 79 70 65 73 20 61 6e 64 20 76 61 6c 75 plications.on.the.types.and.valu
69ea0 65 73 20 69 6e 76 6f 6c 76 65 64 20 69 6e 20 74 68 65 20 66 75 6e 63 74 69 6f 6e 20 63 61 6c 6c es.involved.in.the.function.call
69ec0 2e 0a 20 20 20 20 20 20 3c 2f 70 3e 0a 20 20 20 20 20 20 3c 70 3e 0a 20 20 20 20 20 20 55 6e 6c ........</p>.......<p>.......Unl
69ee0 69 6b 65 20 6e 6f 72 6d 61 6c 20 66 75 6e 63 74 69 6f 6e 20 63 61 6c 6c 73 2c 20 61 72 67 75 6d ike.normal.function.calls,.argum
69f00 65 6e 74 73 20 61 74 20 61 6e 20 69 6e 6c 69 6e 65 20 66 75 6e 63 74 69 6f 6e 20 63 61 6c 6c 73 ents.at.an.inline.function.calls
69f20 69 74 65 20 77 68 69 63 68 20 61 72 65 0a 20 20 20 20 20 20 63 6f 6d 70 69 6c 65 2d 74 69 6d 65 ite.which.are.......compile-time
69f40 20 6b 6e 6f 77 6e 20 61 72 65 20 74 72 65 61 74 65 64 20 61 73 20 3c 61 20 68 72 65 66 3d 22 23 .known.are.treated.as.<a.href="#
69f60 43 6f 6d 70 69 6c 65 2d 54 69 6d 65 2d 50 61 72 61 6d 65 74 65 72 73 22 3e 43 6f 6d 70 69 6c 65 Compile-Time-Parameters">Compile
69f80 20 54 69 6d 65 20 50 61 72 61 6d 65 74 65 72 73 3c 2f 61 3e 2e 20 54 68 69 73 20 63 61 6e 20 70 .Time.Parameters</a>..This.can.p
69fa0 6f 74 65 6e 74 69 61 6c 6c 79 0a 20 20 20 20 20 20 70 72 6f 70 61 67 61 74 65 20 61 6c 6c 20 74 otentially.......propagate.all.t
69fc0 68 65 20 77 61 79 20 74 6f 20 74 68 65 20 72 65 74 75 72 6e 20 76 61 6c 75 65 3a 0a 20 20 20 20 he.way.to.the.return.value:.....
69fe0 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
6a000 20 63 6c 61 73 73 3d 22 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
6a020 6c 65 22 3e 69 6e 6c 69 6e 65 5f 63 61 6c 6c 2e 7a 69 67 3c 2f 63 69 74 65 3e 3c 2f 66 69 67 63 le">inline_call.zig</cite></figc
6a040 61 70 74 69 6f 6e 3e 3c 70 72 65 3e 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 aption><pre><code><span.class="t
6a060 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.
6a080 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
6a0a0 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
6a0c0 74 64 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 29 3b 0a 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 td&quot;</span>);..<span.class="
6a0e0 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="
6a100 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
6a120 6f 6b 2d 66 6e 22 3e 6d 61 69 6e 3c 2f 73 70 61 6e 3e 28 29 20 3c 73 70 61 6e 20 63 6c 61 73 73 ok-fn">main</span>().<span.class
6a140 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 76 6f 69 64 3c 2f 73 70 61 6e 3e 20 7b 0a 20 20 20 20 3c 73 ="tok-type">void</span>.{.....<s
6a160 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 66 6f pan.class="tok-kw">if</span>.(fo
6a180 6f 28 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 31 32 30 30 3c o(<span.class="tok-number">1200<
6a1a0 2f 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"
6a1c0 3e 33 34 3c 2f 73 70 61 6e 3e 29 20 21 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d >34</span>).!=.<span.class="tok-
6a1e0 6e 75 6d 62 65 72 22 3e 31 32 33 34 3c 2f 73 70 61 6e 3e 29 20 7b 0a 20 20 20 20 20 20 20 20 3c number">1234</span>).{.........<
6a200 73 70 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
6a220 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 73 eError</span>(<span.class="tok-s
6a240 74 72 22 3e 26 71 75 6f 74 3b 62 61 64 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 29 3b 0a 20 20 20 tr">&quot;bad&quot;</span>);....
6a260 20 7d 0a 7d 0a 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 69 6e 6c 69 6e .}.}..<span.class="tok-kw">inlin
6a280 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 66 6e e</span>.<span.class="tok-kw">fn
6a2a0 3c 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
6a2c0 3c 2f 73 70 61 6e 3e 28 61 3a 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 </span>(a:.<span.class="tok-type
6a2e0 22 3e 69 33 32 3c 2f 73 70 61 6e 3e 2c 20 62 3a 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f ">i32</span>,.b:.<span.class="to
6a300 6b 2d 74 79 70 65 22 3e 69 33 32 3c 2f 73 70 61 6e 3e 29 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d k-type">i32</span>).<span.class=
6a320 22 74 6f 6b 2d 74 79 70 65 22 3e 69 33 32 3c 2f 73 70 61 6e 3e 20 7b 0a 20 20 20 20 73 74 64 2e "tok-type">i32</span>.{.....std.
6a340 64 65 62 75 67 2e 70 72 69 6e 74 28 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 73 74 72 debug.print(<span.class="tok-str
6a360 22 3e 26 71 75 6f 74 3b 72 75 6e 74 69 6d 65 20 61 20 3d 20 7b 7d 20 62 20 3d 20 7b 7d 26 71 75 ">&quot;runtime.a.=.{}.b.=.{}&qu
6a380 6f 74 3b 3c 2f 73 70 61 6e 3e 2c 20 2e 7b 20 61 2c 20 62 20 7d 29 3b 0a 20 20 20 20 3c 73 70 61 ot;</span>,..{.a,.b.});.....<spa
6a3a0 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 61 n.class="tok-kw">return</span>.a
6a3c0 20 2b 20 62 3b 0a 7d 3c 2f 63 6f 64 65 3e 3c 2f 70 72 65 3e 3c 2f 66 69 67 75 72 65 3e 3c 66 69 .+.b;.}</code></pre></figure><fi
6a3e0 67 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
6a400 70 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>
6a420 24 20 3c 6b 62 64 3e 7a 69 67 20 62 75 69 6c 64 2d 65 78 65 20 69 6e 6c 69 6e 65 5f 63 61 6c 6c $.<kbd>zig.build-exe.inline_call
6a440 2e 7a 69 67 3c 2f 6b 62 64 3e 0a 24 20 3c 6b 62 64 3e 2e 2f 69 6e 6c 69 6e 65 5f 63 61 6c 6c 3c .zig</kbd>.$.<kbd>./inline_call<
6a460 2f 6b 62 64 3e 0a 72 75 6e 74 69 6d 65 20 61 20 3d 20 31 32 30 30 20 62 20 3d 20 33 34 0a 3c 2f /kbd>.runtime.a.=.1200.b.=.34.</
6a480 73 61 6d 70 3e 3c 2f 70 72 65 3e 3c 2f 66 69 67 75 72 65 3e 0a 0a 20 20 20 20 20 20 3c 70 3e 49 samp></pre></figure>........<p>I
6a4a0 66 20 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 69 6e 6c f.<code><span.class="tok-kw">inl
6a4c0 69 6e 65 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 20 69 73 20 72 65 6d 6f 76 65 64 2c 20 74 68 ine</span></code>.is.removed,.th
6a4e0 65 20 74 65 73 74 20 66 61 69 6c 73 20 77 69 74 68 20 74 68 65 20 63 6f 6d 70 69 6c 65 20 65 72 e.test.fails.with.the.compile.er
6a500 72 6f 72 0a 20 20 20 20 20 20 69 6e 73 74 65 61 64 20 6f 66 20 70 61 73 73 69 6e 67 2e 3c 2f 70 ror.......instead.of.passing.</p
6a520 3e 0a 20 20 20 20 20 20 3c 70 3e 49 74 20 69 73 20 67 65 6e 65 72 61 6c 6c 79 20 62 65 74 74 65 >.......<p>It.is.generally.bette
6a540 72 20 74 6f 20 6c 65 74 20 74 68 65 20 63 6f 6d 70 69 6c 65 72 20 64 65 63 69 64 65 20 77 68 65 r.to.let.the.compiler.decide.whe
6a560 6e 20 74 6f 20 69 6e 6c 69 6e 65 20 61 0a 20 20 20 20 20 20 66 75 6e 63 74 69 6f 6e 2c 20 65 78 n.to.inline.a.......function,.ex
6a580 63 65 70 74 20 66 6f 72 20 74 68 65 73 65 20 73 63 65 6e 61 72 69 6f 73 3a 3c 2f 70 3e 0a 20 20 cept.for.these.scenarios:</p>...
6a5a0 20 20 20 20 3c 75 6c 3e 0a 20 20 20 20 20 20 20 20 3c 6c 69 3e 54 6f 20 63 68 61 6e 67 65 20 68 ....<ul>.........<li>To.change.h
6a5c0 6f 77 20 6d 61 6e 79 20 73 74 61 63 6b 20 66 72 61 6d 65 73 20 61 72 65 20 69 6e 20 74 68 65 20 ow.many.stack.frames.are.in.the.
6a5e0 63 61 6c 6c 20 73 74 61 63 6b 2c 20 66 6f 72 20 64 65 62 75 67 67 69 6e 67 20 70 75 72 70 6f 73 call.stack,.for.debugging.purpos
6a600 65 73 2e 3c 2f 6c 69 3e 0a 20 20 20 20 20 20 20 20 3c 6c 69 3e 54 6f 20 66 6f 72 63 65 20 63 6f es.</li>.........<li>To.force.co
6a620 6d 70 74 69 6d 65 2d 6e 65 73 73 20 6f 66 20 74 68 65 20 61 72 67 75 6d 65 6e 74 73 20 74 6f 20 mptime-ness.of.the.arguments.to.
6a640 70 72 6f 70 61 67 61 74 65 20 74 6f 20 74 68 65 20 72 65 74 75 72 6e 20 76 61 6c 75 65 20 6f 66 propagate.to.the.return.value.of
6a660 20 74 68 65 20 66 75 6e 63 74 69 6f 6e 2c 20 61 73 20 69 6e 20 74 68 65 20 61 62 6f 76 65 20 65 .the.function,.as.in.the.above.e
6a680 78 61 6d 70 6c 65 2e 3c 2f 6c 69 3e 0a 20 20 20 20 20 20 20 20 3c 6c 69 3e 52 65 61 6c 20 77 6f xample.</li>.........<li>Real.wo
6a6a0 72 6c 64 20 70 65 72 66 6f 72 6d 61 6e 63 65 20 6d 65 61 73 75 72 65 6d 65 6e 74 73 20 64 65 6d rld.performance.measurements.dem
6a6c0 61 6e 64 20 69 74 2e 3c 2f 6c 69 3e 0a 20 20 20 20 20 20 3c 2f 75 6c 3e 0a 20 20 20 20 20 20 3c and.it.</li>.......</ul>.......<
6a6e0 70 3e 4e 6f 74 65 20 74 68 61 74 20 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 p>Note.that.<code><span.class="t
6a700 6f 6b 2d 6b 77 22 3e 69 6e 6c 69 6e 65 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 20 61 63 74 75 ok-kw">inline</span></code>.actu
6a720 61 6c 6c 79 20 3c 65 6d 3e 72 65 73 74 72 69 63 74 73 3c 2f 65 6d 3e 0a 20 20 20 20 20 20 77 68 ally.<em>restricts</em>.......wh
6a740 61 74 20 74 68 65 20 63 6f 6d 70 69 6c 65 72 20 69 73 20 61 6c 6c 6f 77 65 64 20 74 6f 20 64 6f at.the.compiler.is.allowed.to.do
6a760 2e 20 54 68 69 73 20 63 61 6e 20 68 61 72 6d 20 62 69 6e 61 72 79 20 73 69 7a 65 2c 0a 20 20 20 ..This.can.harm.binary.size,....
6a780 20 20 20 63 6f 6d 70 69 6c 61 74 69 6f 6e 20 73 70 65 65 64 2c 20 61 6e 64 20 65 76 65 6e 20 72 ...compilation.speed,.and.even.r
6a7a0 75 6e 74 69 6d 65 20 70 65 72 66 6f 72 6d 61 6e 63 65 2e 3c 2f 70 3e 0a 20 20 20 20 20 20 0a 0a untime.performance.</p>.........
6a7c0 20 20 20 20 20 20 3c 68 33 20 69 64 3d 22 46 75 6e 63 74 69 6f 6e 2d 52 65 66 6c 65 63 74 69 6f ......<h3.id="Function-Reflectio
6a7e0 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 2d 46 75 6e 63 74 69 n"><a.href="nav.xhtml#toc-Functi
6a800 6f 6e 2d 52 65 66 6c 65 63 74 69 6f 6e 22 3e 46 75 6e 63 74 69 6f 6e 20 52 65 66 6c 65 63 74 69 on-Reflection">Function.Reflecti
6a820 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 46 75 6e on</a>.<a.class="hdr".href="#Fun
6a840 63 74 69 6f 6e 2d 52 65 66 6c 65 63 74 69 6f 6e 22 3e c2 a7 3c 2f 61 3e 3c 2f 68 33 3e 0a 0a 20 ction-Reflection">..</a></h3>...
6a860 20 20 20 20 20 3c 66 69 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="
6a880 7a 69 67 2d 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
6a8a0 5f 66 6e 5f 72 65 66 6c 65 63 74 69 6f 6e 2e 7a 69 67 3c 2f 63 69 74 65 3e 3c 2f 66 69 67 63 61 _fn_reflection.zig</cite></figca
6a8c0 70 74 69 6f 6e 3e 3c 70 72 65 3e 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f ption><pre><code><span.class="to
6a8e0 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
6a900 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
6a920 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
6a940 64 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 29 3b 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f d&quot;</span>);.<span.class="to
6a960 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 73 74 64 2e 6d 61 k-kw">const</span>.math.=.std.ma
6a980 74 68 3b 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 63 6f 6e 73 74 3c 2f th;.<span.class="tok-kw">const</
6a9a0 73 70 61 6e 3e 20 74 65 73 74 69 6e 67 20 3d 20 73 74 64 2e 74 65 73 74 69 6e 67 3b 0a 0a 3c 73 span>.testing.=.std.testing;..<s
6a9c0 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>.<
6a9e0 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 73 74 72 22 3e 26 71 75 6f 74 3b 66 6e 20 72 65 span.class="tok-str">&quot;fn.re
6aa00 66 6c 65 63 74 69 6f 6e 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 20 7b 0a 20 20 20 20 3c 73 70 61 flection&quot;</span>.{.....<spa
6aa20 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 74 72 79 3c 2f 73 70 61 6e 3e 20 74 65 73 74 n.class="tok-kw">try</span>.test
6aa40 69 6e 67 2e 65 78 70 65 63 74 45 71 75 61 6c 28 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b ing.expectEqual(<span.class="tok
6aa60 2d 74 79 70 65 22 3e 62 6f 6f 6c 3c 2f 73 70 61 6e 3e 2c 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d -type">bool</span>,.<span.class=
6aa80 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 3c "tok-builtin">@typeInfo</span>(<
6aaa0 73 70 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
6aac0 3c 2f 73 70 61 6e 3e 28 74 65 73 74 69 6e 67 2e 65 78 70 65 63 74 29 29 2e 40 26 71 75 6f 74 3b </span>(testing.expect)).@&quot;
6aae0 66 6e 26 71 75 6f 74 3b 2e 70 61 72 61 6d 73 5b 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b fn&quot;.params[<span.class="tok
6ab00 2d 6e 75 6d 62 65 72 22 3e 30 3c 2f 73 70 61 6e 3e 5d 2e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 -number">0</span>].<span.class="
6ab20 74 6f 6b 2d 74 79 70 65 22 3e 74 79 70 65 3c 2f 73 70 61 6e 3e 2e 3f 29 3b 0a 20 20 20 20 3c 73 tok-type">type</span>.?);.....<s
6ab40 70 61 6e 20 63 6c 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
6ab60 73 74 69 6e 67 2e 65 78 70 65 63 74 45 71 75 61 6c 28 74 65 73 74 69 6e 67 2e 54 6d 70 44 69 72 sting.expectEqual(testing.TmpDir
6ab80 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 74 79 70 ,.<span.class="tok-builtin">@typ
6aba0 65 49 6e 66 6f 3c 2f 73 70 61 6e 3e 28 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 62 75 eInfo</span>(<span.class="tok-bu
6abc0 69 6c 74 69 6e 22 3e 40 54 79 70 65 4f 66 3c 2f 73 70 61 6e 3e 28 74 65 73 74 69 6e 67 2e 74 6d iltin">@TypeOf</span>(testing.tm
6abe0 70 44 69 72 29 29 2e 40 26 71 75 6f 74 3b 66 6e 26 71 75 6f 74 3b 2e 72 65 74 75 72 6e 5f 74 79 pDir)).@&quot;fn&quot;.return_ty
6ac00 70 65 2e 3f 29 3b 0a 0a 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 pe.?);......<span.class="tok-kw"
6ac20 3e 74 72 79 3c 2f 73 70 61 6e 3e 20 74 65 73 74 69 6e 67 2e 65 78 70 65 63 74 28 3c 73 70 61 6e >try</span>.testing.expect(<span
6ac40 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 62 75 69 6c 74 69 6e 22 3e 40 74 79 70 65 49 6e 66 6f 3c 2f .class="tok-builtin">@typeInfo</
6ac60 73 70 61 6e 3e 28 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 62 75 69 6c 74 69 6e 22 3e span>(<span.class="tok-builtin">
6ac80 40 54 79 70 65 4f 66 3c 2f 73 70 61 6e 3e 28 6d 61 74 68 2e 4c 6f 67 32 49 6e 74 29 29 2e 40 26 @TypeOf</span>(math.Log2Int)).@&
6aca0 71 75 6f 74 3b 66 6e 26 71 75 6f 74 3b 2e 69 73 5f 67 65 6e 65 72 69 63 29 3b 0a 7d 3c 2f 63 6f quot;fn&quot;.is_generic);.}</co
6acc0 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
6ace0 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
6ad00 69 67 63 61 70 74 69 6f 6e 3e 3c 70 72 65 3e 3c 73 61 6d 70 3e 24 20 3c 6b 62 64 3e 7a 69 67 20 igcaption><pre><samp>$.<kbd>zig.
6ad20 74 65 73 74 20 74 65 73 74 5f 66 6e 5f 72 65 66 6c 65 63 74 69 6f 6e 2e 7a 69 67 3c 2f 6b 62 64 test.test_fn_reflection.zig</kbd
6ad40 3e 0a 31 2f 31 20 74 65 73 74 5f 66 6e 5f 72 65 66 6c 65 63 74 69 6f 6e 2e 74 65 73 74 2e 66 6e >.1/1.test_fn_reflection.test.fn
6ad60 20 72 65 66 6c 65 63 74 69 6f 6e 2e 2e 2e 4f 4b 0a 41 6c 6c 20 31 20 74 65 73 74 73 20 70 61 73 .reflection...OK.All.1.tests.pas
6ad80 73 65 64 2e 0a 3c 2f 73 61 6d 70 3e 3c 2f 70 72 65 3e 3c 2f 66 69 67 75 72 65 3e 0a 0a 20 20 20 sed..</samp></pre></figure>.....
6ada0 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"
6adc0 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">
6ade0 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="
6ae00 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.
6ae20 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
6ae40 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
6ae60 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
6ae80 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>.
6aea0 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
6aec0 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
6aee0 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
6af00 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.
6af20 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
6af40 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.
6af60 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
6af80 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
6afa0 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
6afc0 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>.
6afe0 20 20 20 20 20 20 3c 70 3e 0a 20 20 20 20 20 20 54 68 65 20 65 72 72 6f 72 20 73 65 74 20 74 79 ......<p>.......The.error.set.ty
6b000 70 65 20 64 65 66 61 75 6c 74 73 20 74 6f 20 61 20 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 pe.defaults.to.a.<code><span.cla
6b020 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 75 31 36 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 2c ss="tok-type">u16</span></code>,
6b040 20 74 68 6f 75 67 68 20 69 66 20 74 68 65 20 6d 61 78 69 6d 75 6d 20 6e 75 6d 62 65 72 20 6f 66 .though.if.the.maximum.number.of
6b060 20 64 69 73 74 69 6e 63 74 0a 20 20 20 20 20 20 65 72 72 6f 72 20 76 61 6c 75 65 73 20 69 73 20 .distinct.......error.values.is.
6b080 70 72 6f 76 69 64 65 64 20 76 69 61 20 74 68 65 20 3c 6b 62 64 3e 2d 2d 65 72 72 6f 72 2d 6c 69 provided.via.the.<kbd>--error-li
6b0a0 6d 69 74 20 5b 6e 75 6d 5d 3c 2f 6b 62 64 3e 20 63 6f 6d 6d 61 6e 64 20 6c 69 6e 65 20 70 61 72 mit.[num]</kbd>.command.line.par
6b0c0 61 6d 65 74 65 72 20 61 6e 20 69 6e 74 65 67 65 72 20 74 79 70 65 0a 20 20 20 20 20 20 77 69 74 ameter.an.integer.type.......wit
6b0e0 68 20 74 68 65 20 6d 69 6e 69 6d 75 6d 20 6e 75 6d 62 65 72 20 6f 66 20 62 69 74 73 20 72 65 71 h.the.minimum.number.of.bits.req
6b100 75 69 72 65 64 20 74 6f 20 72 65 70 72 65 73 65 6e 74 20 61 6c 6c 20 6f 66 20 74 68 65 20 65 72 uired.to.represent.all.of.the.er
6b120 72 6f 72 20 76 61 6c 75 65 73 20 77 69 6c 6c 20 62 65 20 75 73 65 64 2e 0a 20 20 20 20 20 20 3c ror.values.will.be.used........<
6b140 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 20 3c 61 20 68 /p>.......<p>.......You.can.<a.h
6b160 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>.
6b180 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 20 73 75 70 65 an.error.from.a.subset.to.a.supe
6b1a0 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 75 72 65 3e 3c rset:.......</p>.......<figure><
6b1c0 66 69 67 63 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
6b1e0 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 65 72 72 6f 72 5f .class="file">test_coerce_error_
6b200 73 75 62 73 65 74 5f 74 6f 5f 73 75 70 65 72 73 65 74 2e 7a 69 67 3c 2f 63 69 74 65 3e 3c 2f 66 subset_to_superset.zig</cite></f
6b220 69 67 63 61 70 74 69 6f 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
6b240 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
6b260 61 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</
6b280 73 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
6b2a0 74 3b 73 74 64 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 29 3b 0a 0a 3c 73 70 61 6e 20 63 6c 61 73 t;std&quot;</span>);..<span.clas
6b2c0 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 70 65 6e s="tok-kw">const</span>.FileOpen
6b2e0 45 72 72 6f 72 20 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 65 72 72 Error.=.<span.class="tok-kw">err
6b300 6f 72 3c 2f 73 70 61 6e 3e 7b 0a 20 20 20 20 41 63 63 65 73 73 44 65 6e 69 65 64 2c 0a 20 20 20 or</span>{.....AccessDenied,....
6b320 20 4f 75 74 4f 66 4d 65 6d 6f 72 79 2c 0a 20 20 20 20 46 69 6c 65 4e 6f 74 46 6f 75 6e 64 2c 0a .OutOfMemory,.....FileNotFound,.
6b340 7d 3b 0a 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 63 6f 6e 73 74 3c 2f };..<span.class="tok-kw">const</
6b360 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
6b380 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 65 72 72 6f 72 3c 2f 73 70 61 6e 3e 7b 0a 20 20 20 20 4f ass="tok-kw">error</span>{.....O
6b3a0 75 74 4f 66 4d 65 6d 6f 72 79 2c 0a 7d 3b 0a 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b utOfMemory,.};..<span.class="tok
6b3c0 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
6b3e0 6b 2d 73 74 72 22 3e 26 71 75 6f 74 3b 63 6f 65 72 63 65 20 73 75 62 73 65 74 20 74 6f 20 73 75 k-str">&quot;coerce.subset.to.su
6b400 70 65 72 73 65 74 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 20 7b 0a 20 20 20 20 3c 73 70 61 6e 20 perset&quot;</span>.{.....<span.
6b420 63 6c 61 73 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.
6b440 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 6d 6f 72 =.foo(AllocationError.OutOfMemor
6b460 79 29 3b 0a 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 74 72 79 y);.....<span.class="tok-kw">try
6b480 3c 2f 73 70 61 6e 3e 20 73 74 64 2e 74 65 73 74 69 6e 67 2e 65 78 70 65 63 74 45 71 75 61 6c 28 </span>.std.testing.expectEqual(
6b4a0 46 69 6c 65 4f 70 65 6e 45 72 72 6f 72 2e 4f 75 74 4f 66 4d 65 6d 6f 72 79 2c 20 65 72 72 29 3b FileOpenError.OutOfMemory,.err);
6b4c0 0a 7d 0a 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 66 6e 3c 2f 73 70 61 .}..<span.class="tok-kw">fn</spa
6b4e0 6e 3e 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 66 6e 22 3e 66 6f 6f 3c 2f 73 70 61 n>.<span.class="tok-fn">foo</spa
6b500 6e 3e 28 65 72 72 3a 20 41 6c 6c 6f 63 61 74 69 6f 6e 45 72 72 6f 72 29 20 46 69 6c 65 4f 70 65 n>(err:.AllocationError).FileOpe
6b520 6e 45 72 72 6f 72 20 7b 0a 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 nError.{.....<span.class="tok-kw
6b540 22 3e 72 65 74 75 72 6e 3c 2f 73 70 61 6e 3e 20 65 72 72 3b 0a 7d 3c 2f 63 6f 64 65 3e 3c 2f 70 ">return</span>.err;.}</code></p
6b560 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.
6b580 63 6c 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
6b5a0 69 6f 6e 3e 3c 70 72 65 3e 3c 73 61 6d 70 3e 24 20 3c 6b 62 64 3e 7a 69 67 20 74 65 73 74 20 74 ion><pre><samp>$.<kbd>zig.test.t
6b5c0 65 73 74 5f 63 6f 65 72 63 65 5f 65 72 72 6f 72 5f 73 75 62 73 65 74 5f 74 6f 5f 73 75 70 65 72 est_coerce_error_subset_to_super
6b5e0 73 65 74 2e 7a 69 67 3c 2f 6b 62 64 3e 0a 31 2f 31 20 74 65 73 74 5f 63 6f 65 72 63 65 5f 65 72 set.zig</kbd>.1/1.test_coerce_er
6b600 72 6f 72 5f 73 75 62 73 65 74 5f 74 6f 5f 73 75 70 65 72 73 65 74 2e 74 65 73 74 2e 63 6f 65 72 ror_subset_to_superset.test.coer
6b620 63 65 20 73 75 62 73 65 74 20 74 6f 20 73 75 70 65 72 73 65 74 2e 2e 2e 4f 4b 0a 41 6c 6c 20 31 ce.subset.to.superset...OK.All.1
6b640 20 74 65 73 74 73 20 70 61 73 73 65 64 2e 0a 3c 2f 73 61 6d 70 3e 3c 2f 70 72 65 3e 3c 2f 66 69 .tests.passed..</samp></pre></fi
6b660 67 75 72 65 3e 0a 0a 20 20 20 20 20 20 3c 70 3e 0a 20 20 20 20 20 20 42 75 74 20 79 6f 75 20 63 gure>........<p>.......But.you.c
6b680 61 6e 6e 6f 74 20 3c 61 20 68 72 65 66 3d 22 23 54 79 70 65 2d 43 6f 65 72 63 69 6f 6e 22 3e 63 annot.<a.href="#Type-Coercion">c
6b6a0 6f 65 72 63 65 3c 2f 61 3e 20 61 6e 20 65 72 72 6f 72 20 66 72 6f 6d 20 61 20 73 75 70 65 72 73 oerce</a>.an.error.from.a.supers
6b6c0 65 74 20 74 6f 20 61 20 73 75 62 73 65 74 3a 0a 20 20 20 20 20 20 3c 2f 70 3e 0a 20 20 20 20 20 et.to.a.subset:.......</p>......
6b6e0 20 3c 66 69 67 75 72 65 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-
6b700 63 61 70 22 3e 3c 63 69 74 65 20 63 6c 61 73 73 3d 22 66 69 6c 65 22 3e 74 65 73 74 5f 63 6f 65 cap"><cite.class="file">test_coe
6b720 72 63 65 5f 65 72 72 6f 72 5f 73 75 70 65 72 73 65 74 5f 74 6f 5f 73 75 62 73 65 74 2e 7a 69 67 rce_error_superset_to_subset.zig
6b740 3c 2f 63 69 74 65 3e 3c 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><
6b760 73 70 61 6e 20 63 6c 61 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>
6b780 20 46 69 6c 65 4f 70 65 6e 45 72 72 6f 72 20 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f .FileOpenError.=.<span.class="to
6b7a0 6b 2d 6b 77 22 3e 65 72 72 6f 72 3c 2f 73 70 61 6e 3e 7b 0a 20 20 20 20 41 63 63 65 73 73 44 65 k-kw">error</span>{.....AccessDe
6b7c0 6e 69 65 64 2c 0a 20 20 20 20 4f 75 74 4f 66 4d 65 6d 6f 72 79 2c 0a 20 20 20 20 46 69 6c 65 4e nied,.....OutOfMemory,.....FileN
6b7e0 6f 74 46 6f 75 6e 64 2c 0a 7d 3b 0a 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 otFound,.};..<span.class="tok-kw
6b800 22 3e 63 6f 6e 73 74 3c 2f 73 70 61 6e 3e 20 41 6c 6c 6f 63 61 74 69 6f 6e 45 72 72 6f 72 20 3d ">const</span>.AllocationError.=
6b820 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
6b840 6e 3e 7b 0a 20 20 20 20 4f 75 74 4f 66 4d 65 6d 6f 72 79 2c 0a 7d 3b 0a 0a 3c 73 70 61 6e 20 63 n>{.....OutOfMemory,.};..<span.c
6b860 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.
6b880 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 70 class="tok-str">&quot;coerce.sup
6b8a0 65 72 73 65 74 20 74 6f 20 73 75 62 73 65 74 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 20 7b 0a 20 erset.to.subset&quot;</span>.{..
6b8c0 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 72 79 ...foo(FileOpenError.OutOfMemory
6b8e0 29 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 63 61 74 63 68 3c 2f 73 70 ).<span.class="tok-kw">catch</sp
6b900 61 6e 3e 20 7b 7d 3b 0a 7d 0a 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e an>.{};.}..<span.class="tok-kw">
6b920 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
6b940 6f 6f 3c 2f 73 70 61 6e 3e 28 65 72 72 3a 20 46 69 6c 65 4f 70 65 6e 45 72 72 6f 72 29 20 41 6c oo</span>(err:.FileOpenError).Al
6b960 6c 6f 63 61 74 69 6f 6e 45 72 72 6f 72 20 7b 0a 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d locationError.{.....<span.class=
6b980 22 74 6f 6b 2d 6b 77 22 3e 72 65 74 75 72 6e 3c 2f 73 70 61 6e 3e 20 65 72 72 3b 0a 7d 3c 2f 63 "tok-kw">return</span>.err;.}</c
6b9a0 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
6b9c0 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</
6b9e0 66 69 67 63 61 70 74 69 6f 6e 3e 3c 70 72 65 3e 3c 73 61 6d 70 3e 24 20 3c 6b 62 64 3e 7a 69 67 figcaption><pre><samp>$.<kbd>zig
6ba00 20 74 65 73 74 20 74 65 73 74 5f 63 6f 65 72 63 65 5f 65 72 72 6f 72 5f 73 75 70 65 72 73 65 74 .test.test_coerce_error_superset
6ba20 5f 74 6f 5f 73 75 62 73 65 74 2e 7a 69 67 3c 2f 6b 62 64 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 _to_subset.zig</kbd>.<span.class
6ba40 3d 22 73 67 72 2d 31 6d 22 3e 2f 68 6f 6d 65 2f 63 69 2f 77 6f 72 6b 2f 7a 69 67 2d 62 6f 6f 74 ="sgr-1m">/home/ci/work/zig-boot
6ba60 73 74 72 61 70 2f 7a 69 67 2f 64 6f 63 2f 6c 61 6e 67 72 65 66 2f 74 65 73 74 5f 63 6f 65 72 63 strap/zig/doc/langref/test_coerc
6ba80 65 5f 65 72 72 6f 72 5f 73 75 70 65 72 73 65 74 5f 74 6f 5f 73 75 62 73 65 74 2e 7a 69 67 3a 31 e_error_superset_to_subset.zig:1
6baa0 36 3a 31 32 3a 20 3c 2f 73 70 61 6e 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 73 67 72 2d 33 31 6:12:.</span><span.class="sgr-31
6bac0 6d 22 3e 65 72 72 6f 72 3a 20 3c 2f 73 70 61 6e 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 73 67 m">error:.</span><span.class="sg
6bae0 72 2d 31 6d 22 3e 65 78 70 65 63 74 65 64 20 74 79 70 65 20 27 65 72 72 6f 72 7b 4f 75 74 4f 66 r-1m">expected.type.'error{OutOf
6bb00 4d 65 6d 6f 72 79 7d 27 2c 20 66 6f 75 6e 64 20 27 65 72 72 6f 72 7b 41 63 63 65 73 73 44 65 6e Memory}',.found.'error{AccessDen
6bb20 69 65 64 2c 46 69 6c 65 4e 6f 74 46 6f 75 6e 64 2c 4f 75 74 4f 66 4d 65 6d 6f 72 79 7d 27 0a 3c ied,FileNotFound,OutOfMemory}'.<
6bb40 2f 73 70 61 6e 3e 20 20 20 20 72 65 74 75 72 6e 20 65 72 72 3b 0a 20 20 20 20 20 20 20 20 20 20 /span>....return.err;...........
6bb60 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 73 67 72 2d 33 32 6d 22 3e 5e 7e 7e 0a 3c 2f 73 70 61 .<span.class="sgr-32m">^~~.</spa
6bb80 6e 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 73 67 72 2d 31 6d 22 3e 2f 68 6f 6d 65 2f 63 69 2f n><span.class="sgr-1m">/home/ci/
6bba0 77 6f 72 6b 2f 7a 69 67 2d 62 6f 6f 74 73 74 72 61 70 2f 7a 69 67 2f 64 6f 63 2f 6c 61 6e 67 72 work/zig-bootstrap/zig/doc/langr
6bbc0 65 66 2f 74 65 73 74 5f 63 6f 65 72 63 65 5f 65 72 72 6f 72 5f 73 75 70 65 72 73 65 74 5f 74 6f ef/test_coerce_error_superset_to
6bbe0 5f 73 75 62 73 65 74 2e 7a 69 67 3a 31 36 3a 31 32 3a 20 3c 2f 73 70 61 6e 3e 3c 73 70 61 6e 20 _subset.zig:16:12:.</span><span.
6bc00 63 6c 61 73 73 3d 22 73 67 72 2d 33 36 6d 22 3e 6e 6f 74 65 3a 20 3c 2f 73 70 61 6e 3e 3c 73 70 class="sgr-36m">note:.</span><sp
6bc20 61 6e 20 63 6c 61 73 73 3d 22 73 67 72 2d 31 6d 22 3e 27 65 72 72 6f 72 2e 41 63 63 65 73 73 44 an.class="sgr-1m">'error.AccessD
6bc40 65 6e 69 65 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 enied'.not.a.member.of.destinati
6bc60 6f 6e 20 65 72 72 6f 72 20 73 65 74 0a 3c 2f 73 70 61 6e 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d on.error.set.</span><span.class=
6bc80 22 73 67 72 2d 31 6d 22 3e 2f 68 6f 6d 65 2f 63 69 2f 77 6f 72 6b 2f 7a 69 67 2d 62 6f 6f 74 73 "sgr-1m">/home/ci/work/zig-boots
6bca0 74 72 61 70 2f 7a 69 67 2f 64 6f 63 2f 6c 61 6e 67 72 65 66 2f 74 65 73 74 5f 63 6f 65 72 63 65 trap/zig/doc/langref/test_coerce
6bcc0 5f 65 72 72 6f 72 5f 73 75 70 65 72 73 65 74 5f 74 6f 5f 73 75 62 73 65 74 2e 7a 69 67 3a 31 36 _error_superset_to_subset.zig:16
6bce0 3a 31 32 3a 20 3c 2f 73 70 61 6e 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 73 67 72 2d 33 36 6d :12:.</span><span.class="sgr-36m
6bd00 22 3e 6e 6f 74 65 3a 20 3c 2f 73 70 61 6e 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 73 67 72 2d ">note:.</span><span.class="sgr-
6bd20 31 6d 22 3e 27 65 72 72 6f 72 2e 46 69 6c 65 4e 6f 74 46 6f 75 6e 64 27 20 6e 6f 74 20 61 20 6d 1m">'error.FileNotFound'.not.a.m
6bd40 65 6d 62 65 72 20 6f 66 20 64 65 73 74 69 6e 61 74 69 6f 6e 20 65 72 72 6f 72 20 73 65 74 0a 3c ember.of.destination.error.set.<
6bd60 2f 73 70 61 6e 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 73 67 72 2d 31 6d 22 3e 2f 68 6f 6d 65 /span><span.class="sgr-1m">/home
6bd80 2f 63 69 2f 77 6f 72 6b 2f 7a 69 67 2d 62 6f 6f 74 73 74 72 61 70 2f 7a 69 67 2f 64 6f 63 2f 6c /ci/work/zig-bootstrap/zig/doc/l
6bda0 61 6e 67 72 65 66 2f 74 65 73 74 5f 63 6f 65 72 63 65 5f 65 72 72 6f 72 5f 73 75 70 65 72 73 65 angref/test_coerce_error_superse
6bdc0 74 5f 74 6f 5f 73 75 62 73 65 74 2e 7a 69 67 3a 31 35 3a 32 38 3a 20 3c 2f 73 70 61 6e 3e 3c 73 t_to_subset.zig:15:28:.</span><s
6bde0 70 61 6e 20 63 6c 61 73 73 3d 22 73 67 72 2d 33 36 6d 22 3e 6e 6f 74 65 3a 20 3c 2f 73 70 61 6e pan.class="sgr-36m">note:.</span
6be00 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 73 67 72 2d 31 6d 22 3e 66 75 6e 63 74 69 6f 6e 20 72 ><span.class="sgr-1m">function.r
6be20 65 74 75 72 6e 20 74 79 70 65 20 64 65 63 6c 61 72 65 64 20 68 65 72 65 0a 3c 2f 73 70 61 6e 3e eturn.type.declared.here.</span>
6be40 66 6e 20 66 6f 6f 28 65 72 72 3a 20 46 69 6c 65 4f 70 65 6e 45 72 72 6f 72 29 20 41 6c 6c 6f 63 fn.foo(err:.FileOpenError).Alloc
6be60 61 74 69 6f 6e 45 72 72 6f 72 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ationError.{....................
6be80 20 20 20 20 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 73 67 72 2d 33 32 6d 22 3e 5e 7e ........<span.class="sgr-32m">^~
6bea0 7e 7e 7e 7e 7e 7e 7e 7e 7e 7e 7e 7e 7e 0a 3c 2f 73 70 61 6e 3e 3c 73 70 61 6e 20 63 6c 61 73 73 ~~~~~~~~~~~~~.</span><span.class
6bec0 3d 22 73 67 72 2d 32 6d 22 3e 72 65 66 65 72 65 6e 63 65 64 20 62 79 3a 0a 20 20 20 20 74 65 73 ="sgr-2m">referenced.by:.....tes
6bee0 74 2e 63 6f 65 72 63 65 20 73 75 70 65 72 73 65 74 20 74 6f 20 73 75 62 73 65 74 3a 20 2f 68 6f t.coerce.superset.to.subset:./ho
6bf00 6d 65 2f 63 69 2f 77 6f 72 6b 2f 7a 69 67 2d 62 6f 6f 74 73 74 72 61 70 2f 7a 69 67 2f 64 6f 63 me/ci/work/zig-bootstrap/zig/doc
6bf20 2f 6c 61 6e 67 72 65 66 2f 74 65 73 74 5f 63 6f 65 72 63 65 5f 65 72 72 6f 72 5f 73 75 70 65 72 /langref/test_coerce_error_super
6bf40 73 65 74 5f 74 6f 5f 73 75 62 73 65 74 2e 7a 69 67 3a 31 32 3a 38 0a 3c 2f 73 70 61 6e 3e 0a 3c set_to_subset.zig:12:8.</span>.<
6bf60 2f 73 61 6d 70 3e 3c 2f 70 72 65 3e 3c 2f 66 69 67 75 72 65 3e 0a 0a 20 20 20 20 20 20 3c 70 3e /samp></pre></figure>........<p>
6bf80 0a 20 20 20 20 20 20 54 68 65 72 65 20 69 73 20 61 20 73 68 6f 72 74 63 75 74 20 66 6f 72 20 64 .......There.is.a.shortcut.for.d
6bfa0 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 79 20 eclaring.an.error.set.with.only.
6bfc0 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 20 76 1.value,.and.then.getting.that.v
6bfe0 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 3e 3c alue:.......</p>.......<figure><
6c000 66 69 67 63 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
6c020 20 63 6c 61 73 73 3d 22 66 69 6c 65 22 3e 73 69 6e 67 6c 65 5f 76 61 6c 75 65 5f 65 72 72 6f 72 .class="file">single_value_error
6c040 5f 73 65 74 5f 73 68 6f 72 74 63 75 74 2e 7a 69 67 3c 2f 63 69 74 65 3e 3c 2f 66 69 67 63 61 70 _set_shortcut.zig</cite></figcap
6c060 74 69 6f 6e 3e 3c 70 72 65 3e 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b tion><pre><code><span.class="tok
6c080 2d 6b 77 22 3e 63 6f 6e 73 74 3c 2f 73 70 61 6e 3e 20 65 72 72 20 3d 20 3c 73 70 61 6e 20 63 6c -kw">const</span>.err.=.<span.cl
6c0a0 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 65 72 72 6f 72 3c 2f 73 70 61 6e 3e 2e 46 69 6c 65 4e 6f ass="tok-kw">error</span>.FileNo
6c0c0 74 46 6f 75 6e 64 3b 3c 2f 63 6f 64 65 3e 3c 2f 70 72 65 3e 3c 2f 66 69 67 75 72 65 3e 0a 0a 20 tFound;</code></pre></figure>...
6c0e0 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:</
6c100 70 3e 0a 20 20 20 20 20 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
6c120 73 73 3d 22 7a 69 67 2d 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">
6c140 73 69 6e 67 6c 65 5f 76 61 6c 75 65 5f 65 72 72 6f 72 5f 73 65 74 2e 7a 69 67 3c 2f 63 69 74 65 single_value_error_set.zig</cite
6c160 3e 3c 2f 66 69 67 63 61 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
6c180 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 63 6f 6e 73 74 3c 2f 73 70 61 6e 3e 20 65 72 72 20 3d lass="tok-kw">const</span>.err.=
6c1a0 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 70 .(<span.class="tok-kw">error</sp
6c1c0 61 6e 3e 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 64 3b an>{FileNotFound}).FileNotFound;
6c1e0 3c 2f 63 6f 64 65 3e 3c 2f 70 72 65 3e 3c 2f 66 69 67 75 72 65 3e 0a 0a 20 20 20 20 20 20 3c 70 </code></pre></figure>........<p
6c200 3e 0a 20 20 20 20 20 20 54 68 69 73 20 62 65 63 6f 6d 65 73 20 75 73 65 66 75 6c 20 77 68 65 6e >.......This.becomes.useful.when
6c220 20 75 73 69 6e 67 20 3c 61 20 68 72 65 66 3d 22 23 49 6e 66 65 72 72 65 64 2d 45 72 72 6f 72 2d .using.<a.href="#Inferred-Error-
6c240 53 65 74 73 22 3e 49 6e 66 65 72 72 65 64 20 45 72 72 6f 72 20 53 65 74 73 3c 2f 61 3e 2e 0a 20 Sets">Inferred.Error.Sets</a>...
6c260 20 20 20 20 20 3c 2f 70 3e 0a 20 20 20 20 20 20 3c 68 34 20 69 64 3d 22 54 68 65 2d 47 6c 6f 62 .....</p>.......<h4.id="The-Glob
6c280 61 6c 2d 45 72 72 6f 72 2d 53 65 74 22 3e 3c 61 20 68 72 65 66 3d 22 6e 61 76 2e 78 68 74 6d 6c al-Error-Set"><a.href="nav.xhtml
6c2a0 23 74 6f 63 2d 54 68 65 2d 47 6c 6f 62 61 6c 2d 45 72 72 6f 72 2d 53 65 74 22 3e 54 68 65 20 47 #toc-The-Global-Error-Set">The.G
6c2c0 6c 6f 62 61 6c 20 45 72 72 6f 72 20 53 65 74 3c 2f 61 3e 20 3c 61 20 63 6c 61 73 73 3d 22 68 64 lobal.Error.Set</a>.<a.class="hd
6c2e0 72 22 20 68 72 65 66 3d 22 23 54 68 65 2d 47 6c 6f 62 61 6c 2d 45 72 72 6f 72 2d 53 65 74 22 3e r".href="#The-Global-Error-Set">
6c300 c2 a7 3c 2f 61 3e 3c 2f 68 34 3e 0a 0a 20 20 20 20 20 20 3c 70 3e 3c 63 6f 64 65 3e 3c 73 70 61 ..</a></h4>........<p><code><spa
6c320 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
6c340 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 20 65 n></code>.refers.to.the.global.e
6c360 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 72 6f rror.set........This.is.the.erro
6c380 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 20 69 r.set.that.contains.all.errors.i
6c3a0 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 2c 20 69 n.the.entire.compilation.unit,.i
6c3c0 2e 65 2e 20 69 74 20 69 73 20 74 68 65 20 75 6e 69 6f 6e 20 6f 66 20 61 6c 6c 20 6f 74 68 65 72 .e..it.is.the.union.of.all.other
6c3e0 20 65 72 72 6f 72 20 73 65 74 73 2e 0a 20 20 20 20 20 20 3c 2f 70 3e 0a 20 20 20 20 20 20 3c 70 .error.sets........</p>.......<p
6c400 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 43 >.......You.can.<a.href="#Type-C
6c420 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 65 oercion">coerce</a>.any.error.se
6c440 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 6e t.to.the.global.one,.and.you.can
6c460 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 20 .explicitly.......cast.an.error.
6c480 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 6e of.the.global.error.set.to.a.non
6c4a0 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 67 -global.one..This.inserts.a.lang
6c4c0 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 20 uage-level.......assert.to.make.
6c4e0 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 20 sure.the.error.value.is.in.fact.
6c500 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 20 in.the.destination.error.set....
6c520 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 6f ....</p>.......<p>.......The.glo
6c540 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 62 bal.error.set.should.generally.b
6c560 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 68 e.avoided.because.it.prevents.th
6c580 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 68 e.......compiler.from.knowing.wh
6c5a0 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 6c at.errors.are.possible.at.compil
6c5c0 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 20 e-time..Knowing.......the.error.
6c5e0 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 6f set.at.compile-time.is.better.fo
6c600 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 20 r.generated.documentation.and...
6c620 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 68 ....helpful.error.messages,.such
6c640 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 20 .as.forgetting.a.possible.error.
6c660 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 69 value.in.a.<a.href="#switch">swi
6c680 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 20 tch</a>........</p>.............
6c6a0 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 65 ........<h3.id="Error-Union-Type
6c6c0 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 55 "><a.href="nav.xhtml#toc-Error-U
6c6e0 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 20 nion-Type">Error.Union.Type</a>.
6c700 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 6f <a.class="hdr".href="#Error-Unio
6c720 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 20 n-Type">..</a></h3>........<p>..
6c740 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 61 .....An.error.set.type.and.norma
6c760 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 20 l.type.can.be.combined.with.the.
6c780 3c 63 6f 64 65 3e 21 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 <code>!</code>.......binary.oper
6c7a0 61 74 6f 72 20 74 6f 20 66 6f 72 6d 20 61 6e 20 65 72 72 6f 72 20 75 6e 69 6f 6e 20 74 79 70 65 ator.to.form.an.error.union.type
6c7c0 2e 20 59 6f 75 20 61 72 65 20 6c 69 6b 65 6c 79 20 74 6f 20 75 73 65 20 61 6e 0a 20 20 20 20 20 ..You.are.likely.to.use.an......
6c7e0 20 65 72 72 6f 72 20 75 6e 69 6f 6e 20 74 79 70 65 20 6d 6f 72 65 20 6f 66 74 65 6e 20 74 68 61 .error.union.type.more.often.tha
6c800 6e 20 61 6e 20 65 72 72 6f 72 20 73 65 74 20 74 79 70 65 20 62 79 20 69 74 73 65 6c 66 2e 0a 20 n.an.error.set.type.by.itself...
6c820 20 20 20 20 20 3c 2f 70 3e 0a 20 20 20 20 20 20 3c 70 3e 0a 20 20 20 20 20 20 48 65 72 65 20 69 .....</p>.......<p>.......Here.i
6c840 73 20 61 20 66 75 6e 63 74 69 6f 6e 20 74 6f 20 70 61 72 73 65 20 61 20 73 74 72 69 6e 67 20 69 s.a.function.to.parse.a.string.i
6c860 6e 74 6f 20 61 20 36 34 2d 62 69 74 20 69 6e 74 65 67 65 72 3a 0a 20 20 20 20 20 20 3c 2f 70 3e nto.a.64-bit.integer:.......</p>
6c880 0a 20 20 20 20 20 20 3c 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
6c8a0 3d 22 7a 69 67 2d 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 ="zig-cap"><cite.class="file">er
6c8c0 72 6f 72 5f 75 6e 69 6f 6e 5f 70 61 72 73 69 6e 67 5f 75 36 34 2e 7a 69 67 3c 2f 63 69 74 65 3e ror_union_parsing_u64.zig</cite>
6c8e0 3c 2f 66 69 67 63 61 70 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
6c900 61 73 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.=.
6c920 3c 73 70 61 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
6c940 74 3c 2f 73 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">&
6c960 71 75 6f 74 3b 73 74 64 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 29 3b 0a 3c 73 70 61 6e 20 63 6c quot;std&quot;</span>);.<span.cl
6c980 61 73 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 78 49 6e 74 ass="tok-kw">const</span>.maxInt
6c9a0 20 3d 20 73 74 64 2e 6d 61 74 68 2e 6d 61 78 49 6e 74 3b 0a 0a 3c 73 70 61 6e 20 63 6c 61 73 73 .=.std.math.maxInt;..<span.class
6c9c0 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
6c9e0 3d 22 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=
6ca00 22 74 6f 6b 2d 66 6e 22 3e 70 61 72 73 65 55 36 34 3c 2f 73 70 61 6e 3e 28 62 75 66 3a 20 5b 5d "tok-fn">parseU64</span>(buf:.[]
6ca20 3c 73 70 61 6e 20 63 6c 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
6ca40 3e 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 75 38 3c 2f 73 70 61 >.<span.class="tok-type">u8</spa
6ca60 6e 3e 2c 20 72 61 64 69 78 3a 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 n>,.radix:.<span.class="tok-type
6ca80 22 3e 75 38 3c 2f 73 70 61 6e 3e 29 20 21 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 ">u8</span>).!<span.class="tok-t
6caa0 79 70 65 22 3e 75 36 34 3c 2f 73 70 61 6e 3e 20 7b 0a 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 ype">u64</span>.{.....<span.clas
6cac0 73 3d 22 74 6f 6b 2d 6b 77 22 3e 76 61 72 3c 2f 73 70 61 6e 3e 20 78 3a 20 3c 73 70 61 6e 20 63 s="tok-kw">var</span>.x:.<span.c
6cae0 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 75 36 34 3c 2f 73 70 61 6e 3e 20 3d 20 3c 73 70 lass="tok-type">u64</span>.=.<sp
6cb00 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 30 3c 2f 73 70 61 6e 3e 3b 0a an.class="tok-number">0</span>;.
6cb20 0a 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 66 6f 72 3c 2f 73 .....<span.class="tok-kw">for</s
6cb40 70 61 6e 3e 20 28 62 75 66 29 20 7c 63 7c 20 7b 0a 20 20 20 20 20 20 20 20 3c 73 70 61 6e 20 63 pan>.(buf).|c|.{.........<span.c
6cb60 6c 61 73 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 69 67 69 74 lass="tok-kw">const</span>.digit
6cb80 20 3d 20 63 68 61 72 54 6f 44 69 67 69 74 28 63 29 3b 0a 0a 20 20 20 20 20 20 20 20 3c 73 70 61 .=.charToDigit(c);..........<spa
6cba0 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 69 66 3c 2f 73 70 61 6e 3e 20 28 64 69 67 69 n.class="tok-kw">if</span>.(digi
6cbc0 74 20 26 67 74 3b 3d 20 72 61 64 69 78 29 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 3c 73 70 t.&gt;=.radix).{.............<sp
6cbe0 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>.
6cc00 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
6cc20 3e 2e 49 6e 76 61 6c 69 64 43 68 61 72 3b 0a 20 20 20 20 20 20 20 20 7d 0a 0a 20 20 20 20 20 20 >.InvalidChar;.........}........
6cc40 20 20 3c 73 70 61 6e 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
6cc60 20 2a 3d 20 72 61 64 69 78 3c 2f 73 70 61 6e 3e 0a 20 20 20 20 20 20 20 20 3c 73 70 61 6e 20 63 .*=.radix</span>.........<span.c
6cc80 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 76 61 72 3c 2f 73 70 61 6e 3e 20 6f 76 20 3d 20 3c 73 lass="tok-kw">var</span>.ov.=.<s
6cca0 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 62 75 69 6c 74 69 6e 22 3e 40 6d 75 6c 57 69 74 68 pan.class="tok-builtin">@mulWith
6ccc0 4f 76 65 72 66 6c 6f 77 3c 2f 73 70 61 6e 3e 28 78 2c 20 72 61 64 69 78 29 3b 0a 20 20 20 20 20 Overflow</span>(x,.radix);......
6cce0 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
6cd00 3e 20 28 6f 76 5b 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 31 >.(ov[<span.class="tok-number">1
6cd20 3c 2f 73 70 61 6e 3e 5d 20 21 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d </span>].!=.<span.class="tok-num
6cd40 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 74 6f 6b 2d ber">0</span>).<span.class="tok-
6cd60 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
6cd80 6f 6b 2d 6b 77 22 3e 65 72 72 6f 72 3c 2f 73 70 61 6e 3e 2e 4f 76 65 72 46 6c 6f 77 3b 0a 0a 20 ok-kw">error</span>.OverFlow;...
6cda0 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"
6cdc0 3e 2f 2f 20 78 20 2b 3d 20 64 69 67 69 74 3c 2f 73 70 61 6e 3e 0a 20 20 20 20 20 20 20 20 6f 76 >//.x.+=.digit</span>.........ov
6cde0 20 3d 20 3c 73 70 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 .=.<span.class="tok-builtin">@ad
6ce00 64 57 69 74 68 4f 76 65 72 66 6c 6f 77 3c 2f 73 70 61 6e 3e 28 6f 76 5b 3c 73 70 61 6e 20 63 6c dWithOverflow</span>(ov[<span.cl
6ce20 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 2c 20 64 69 67 69 ass="tok-number">0</span>],.digi
6ce40 74 29 3b 0a 20 20 20 20 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 t);.........<span.class="tok-kw"
6ce60 3e 69 66 3c 2f 73 70 61 6e 3e 20 28 6f 76 5b 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d >if</span>.(ov[<span.class="tok-
6ce80 6e 75 6d 62 65 72 22 3e 31 3c 2f 73 70 61 6e 3e 5d 20 21 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 number">1</span>].!=.<span.class
6cea0 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 30 3c 2f 73 70 61 6e 3e 29 20 3c 73 70 61 6e 20 63 6c ="tok-number">0</span>).<span.cl
6cec0 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
6cee0 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 65 72 72 6f 72 3c 2f 73 70 61 6e 3e 2e 4f 76 65 .class="tok-kw">error</span>.Ove
6cf00 72 46 6c 6f 77 3b 0a 20 20 20 20 20 20 20 20 78 20 3d 20 6f 76 5b 3c 73 70 61 6e 20 63 6c 61 73 rFlow;.........x.=.ov[<span.clas
6cf20 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 30 3c 2f 73 70 61 6e 3e 5d 3b 0a 20 20 20 20 7d 0a s="tok-number">0</span>];.....}.
6cf40 0a 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 72 65 74 75 72 6e .....<span.class="tok-kw">return
6cf60 3c 2f 73 70 61 6e 3e 20 78 3b 0a 7d 0a 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b </span>.x;.}..<span.class="tok-k
6cf80 77 22 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
6cfa0 22 3e 63 68 61 72 54 6f 44 69 67 69 74 3c 2f 73 70 61 6e 3e 28 63 3a 20 3c 73 70 61 6e 20 63 6c ">charToDigit</span>(c:.<span.cl
6cfc0 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 75 38 3c 2f 73 70 61 6e 3e 29 20 3c 73 70 61 6e 20 ass="tok-type">u8</span>).<span.
6cfe0 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 75 38 3c 2f 73 70 61 6e 3e 20 7b 0a 20 20 20 class="tok-type">u8</span>.{....
6d000 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
6d020 61 6e 3e 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 73 77 69 74 63 68 3c an>.<span.class="tok-kw">switch<
6d040 2f 73 70 61 6e 3e 20 28 63 29 20 7b 0a 20 20 20 20 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 /span>.(c).{.........<span.class
6d060 3d 22 74 6f 6b 2d 73 74 72 22 3e 27 30 27 3c 2f 73 70 61 6e 3e 2e 2e 2e 3c 73 70 61 6e 20 63 6c ="tok-str">'0'</span>...<span.cl
6d080 61 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 ass="tok-str">'9'</span>.=&gt;.c
6d0a0 20 2d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 73 74 72 22 3e 27 30 27 3c 2f 73 70 .-.<span.class="tok-str">'0'</sp
6d0c0 61 6e 3e 2c 0a 20 20 20 20 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 73 74 an>,.........<span.class="tok-st
6d0e0 72 22 3e 27 41 27 3c 2f 73 70 61 6e 3e 2e 2e 2e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b r">'A'</span>...<span.class="tok
6d100 2d 73 74 72 22 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 -str">'Z'</span>.=&gt;.c.-.<span
6d120 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 73 74 72 22 3e 27 41 27 3c 2f 73 70 61 6e 3e 20 2b 20 3c 73 .class="tok-str">'A'</span>.+.<s
6d140 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>
6d160 2c 0a 20 20 20 20 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 73 74 72 22 3e ,.........<span.class="tok-str">
6d180 27 61 27 3c 2f 73 70 61 6e 3e 2e 2e 2e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 73 74 'a'</span>...<span.class="tok-st
6d1a0 72 22 3e 27 7a 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 r">'z'</span>.=&gt;.c.-.<span.cl
6d1c0 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 2b 20 3c 73 70 61 6e ass="tok-str">'a'</span>.+.<span
6d1e0 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 31 30 3c 2f 73 70 61 6e 3e 2c 0a 20 .class="tok-number">10</span>,..
6d200 20 20 20 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 65 6c 73 65 .......<span.class="tok-kw">else
6d220 3c 2f 73 70 61 6e 3e 20 3d 26 67 74 3b 20 6d 61 78 49 6e 74 28 3c 73 70 61 6e 20 63 6c 61 73 73 </span>.=&gt;.maxInt(<span.class
6d240 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 75 38 3c 2f 73 70 61 6e 3e 29 2c 0a 20 20 20 20 7d 3b 0a 7d ="tok-type">u8</span>),.....};.}
6d260 0a 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 74 65 73 74 3c 2f 73 70 61 ..<span.class="tok-kw">test</spa
6d280 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
6d2a0 61 72 73 65 20 75 36 34 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 20 7b 0a 20 20 20 20 3c 73 70 61 arse.u64&quot;</span>.{.....<spa
6d2c0 6e 20 63 6c 61 73 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
6d2e0 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 3c sult.=.<span.class="tok-kw">try<
6d300 2f 73 70 61 6e 3e 20 70 61 72 73 65 55 36 34 28 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b /span>.parseU64(<span.class="tok
6d320 2d 73 74 72 22 3e 26 71 75 6f 74 3b 31 32 33 34 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 2c 20 3c -str">&quot;1234&quot;</span>,.<
6d340 73 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
6d360 3e 29 3b 0a 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 74 72 79 >);.....<span.class="tok-kw">try
6d380 3c 2f 73 70 61 6e 3e 20 73 74 64 2e 74 65 73 74 69 6e 67 2e 65 78 70 65 63 74 45 71 75 61 6c 28 </span>.std.testing.expectEqual(
6d3a0 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 31 32 33 34 3c 2f 73 <span.class="tok-number">1234</s
6d3c0 70 61 6e 3e 2c 20 72 65 73 75 6c 74 29 3b 0a 7d 3c 2f 63 6f 64 65 3e 3c 2f 70 72 65 3e 3c 2f 66 pan>,.result);.}</code></pre></f
6d3e0 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=
6d400 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
6d420 72 65 3e 3c 73 61 6d 70 3e 24 20 3c 6b 62 64 3e 7a 69 67 20 74 65 73 74 20 65 72 72 6f 72 5f 75 re><samp>$.<kbd>zig.test.error_u
6d440 6e 69 6f 6e 5f 70 61 72 73 69 6e 67 5f 75 36 34 2e 7a 69 67 3c 2f 6b 62 64 3e 0a 31 2f 31 20 65 nion_parsing_u64.zig</kbd>.1/1.e
6d460 72 72 6f 72 5f 75 6e 69 6f 6e 5f 70 61 72 73 69 6e 67 5f 75 36 34 2e 74 65 73 74 2e 70 61 72 73 rror_union_parsing_u64.test.pars
6d480 65 20 75 36 34 2e 2e 2e 4f 4b 0a 41 6c 6c 20 31 20 74 65 73 74 73 20 70 61 73 73 65 64 2e 0a 3c e.u64...OK.All.1.tests.passed..<
6d4a0 2f 73 61 6d 70 3e 3c 2f 70 72 65 3e 3c 2f 66 69 67 75 72 65 3e 0a 0a 20 20 20 20 20 20 3c 70 3e /samp></pre></figure>........<p>
6d4c0 0a 20 20 20 20 20 20 4e 6f 74 69 63 65 20 74 68 65 20 72 65 74 75 72 6e 20 74 79 70 65 20 69 73 .......Notice.the.return.type.is
6d4e0 20 3c 63 6f 64 65 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 .<code>!<span.class="tok-type">u
6d500 36 34 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 2e 20 54 68 69 73 20 6d 65 61 6e 73 20 74 68 61 64</span></code>..This.means.tha
6d520 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 65 72 20 72 65 74 75 t.the.function.......either.retu
6d540 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 74 65 67 65 72 2c 20 rns.an.unsigned.64.bit.integer,.
6d560 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 74 68 65 20 65 72 72 or.an.error..We.left.off.the.err
6d580 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 6f 66 20 74 68 65 20 or.set.......to.the.left.of.the.
6d5a0 3c 63 6f 64 65 3e 21 3c 2f 63 6f 64 65 3e 2c 20 73 6f 20 74 68 65 20 65 72 72 6f 72 20 73 65 74 <code>!</code>,.so.the.error.set
6d5c0 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 3c .is.inferred........</p>.......<
6d5e0 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 66 p>.......Within.the.function.def
6d600 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 6e inition,.you.can.see.some.return
6d620 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 6e .statements.that.return.......an
6d640 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 75 .error,.and.at.the.bottom.a.retu
6d660 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 64 rn.statement.that.returns.a.<cod
6d680 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 75 36 34 3c 2f 73 70 e><span.class="tok-type">u64</sp
6d6a0 61 6e 3e 3c 2f 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 an></code>............Both.types
6d6c0 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
6d6e0 3c 2f 61 3e 20 74 6f 20 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 </a>.to.<code><span.class="tok-t
6d700 79 70 65 22 3e 61 6e 79 65 72 72 6f 72 3c 2f 73 70 61 6e 3e 21 3c 73 70 61 6e 20 63 6c 61 73 73 ype">anyerror</span>!<span.class
6d720 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 75 36 34 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 2e 0a 20 ="tok-type">u64</span></code>...
6d740 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
6d760 74 20 6c 6f 6f 6b 73 20 6c 69 6b 65 20 74 6f 20 75 73 65 20 74 68 69 73 20 66 75 6e 63 74 69 6f t.looks.like.to.use.this.functio
6d780 6e 20 76 61 72 69 65 73 20 64 65 70 65 6e 64 69 6e 67 20 6f 6e 20 77 68 61 74 20 79 6f 75 27 72 n.varies.depending.on.what.you'r
6d7a0 65 0a 20 20 20 20 20 20 74 72 79 69 6e 67 20 74 6f 20 64 6f 2e 20 4f 6e 65 20 6f 66 20 74 68 65 e.......trying.to.do..One.of.the
6d7c0 20 66 6f 6c 6c 6f 77 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 .following:.......</p>.......<ul
6d7e0 3e 0a 20 20 20 20 20 20 20 20 3c 6c 69 3e 59 6f 75 20 77 61 6e 74 20 74 6f 20 70 72 6f 76 69 64 >.........<li>You.want.to.provid
6d800 65 20 61 20 64 65 66 61 75 6c 74 20 76 61 6c 75 65 20 69 66 20 69 74 20 72 65 74 75 72 6e 65 64 e.a.default.value.if.it.returned
6d820 20 61 6e 20 65 72 72 6f 72 2e 3c 2f 6c 69 3e 0a 20 20 20 20 20 20 20 20 3c 6c 69 3e 49 66 20 69 .an.error.</li>.........<li>If.i
6d840 74 20 72 65 74 75 72 6e 65 64 20 61 6e 20 65 72 72 6f 72 20 74 68 65 6e 20 79 6f 75 20 77 61 6e t.returned.an.error.then.you.wan
6d860 74 20 74 6f 20 72 65 74 75 72 6e 20 74 68 65 20 73 61 6d 65 20 65 72 72 6f 72 2e 3c 2f 6c 69 3e t.to.return.the.same.error.</li>
6d880 0a 20 20 20 20 20 20 20 20 3c 6c 69 3e 59 6f 75 20 6b 6e 6f 77 20 77 69 74 68 20 63 6f 6d 70 6c .........<li>You.know.with.compl
6d8a0 65 74 65 20 63 65 72 74 61 69 6e 74 79 20 69 74 20 77 69 6c 6c 20 6e 6f 74 20 72 65 74 75 72 6e ete.certainty.it.will.not.return
6d8c0 20 61 6e 20 65 72 72 6f 72 2c 20 73 6f 20 77 61 6e 74 20 74 6f 20 75 6e 63 6f 6e 64 69 74 69 6f .an.error,.so.want.to.unconditio
6d8e0 6e 61 6c 6c 79 20 75 6e 77 72 61 70 20 69 74 2e 3c 2f 6c 69 3e 0a 20 20 20 20 20 20 20 20 3c 6c nally.unwrap.it.</li>.........<l
6d900 69 3e 59 6f 75 20 77 61 6e 74 20 74 6f 20 74 61 6b 65 20 61 20 64 69 66 66 65 72 65 6e 74 20 61 i>You.want.to.take.a.different.a
6d920 63 74 69 6f 6e 20 66 6f 72 20 65 61 63 68 20 70 6f 73 73 69 62 6c 65 20 65 72 72 6f 72 2e 3c 2f ction.for.each.possible.error.</
6d940 6c 69 3e 0a 20 20 20 20 20 20 3c 2f 75 6c 3e 0a 20 20 20 20 20 20 3c 68 34 20 69 64 3d 22 63 61 li>.......</ul>.......<h4.id="ca
6d960 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 63 2d 63 61 74 63 tch"><a.href="nav.xhtml#toc-catc
6d980 68 22 3e 63 61 74 63 68 3c 2f 61 3e 20 3c 61 20 63 6c 61 73 73 3d 22 68 64 72 22 20 68 72 65 66 h">catch</a>.<a.class="hdr".href
6d9a0 3d 22 23 63 61 74 63 68 22 3e c2 a7 3c 2f 61 3e 3c 2f 68 34 3e 0a 0a 20 20 20 20 20 20 3c 70 3e ="#catch">..</a></h4>........<p>
6d9c0 49 66 20 79 6f 75 20 77 61 6e 74 20 74 6f 20 70 72 6f 76 69 64 65 20 61 20 64 65 66 61 75 6c 74 If.you.want.to.provide.a.default
6d9e0 20 76 61 6c 75 65 2c 20 79 6f 75 20 63 61 6e 20 75 73 65 20 74 68 65 20 3c 63 6f 64 65 3e 3c 73 .value,.you.can.use.the.<code><s
6da00 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 63 61 74 63 68 3c 2f 73 70 61 6e 3e 3c pan.class="tok-kw">catch</span><
6da20 2f 63 6f 64 65 3e 20 62 69 6e 61 72 79 20 6f 70 65 72 61 74 6f 72 3a 3c 2f 70 3e 0a 20 20 20 20 /code>.binary.operator:</p>.....
6da40 20 20 3c 66 69 67 75 72 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
6da60 2d 63 61 70 22 3e 3c 63 69 74 65 20 63 6c 61 73 73 3d 22 66 69 6c 65 22 3e 63 61 74 63 68 2e 7a -cap"><cite.class="file">catch.z
6da80 69 67 3c 2f 63 69 74 65 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
6daa0 3e 3c 73 70 61 6e 20 63 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
6dac0 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 62 n>.parseU64.=.<span.class="tok-b
6dae0 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
6db00 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 70 ss="tok-str">&quot;error_union_p
6db20 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 72 arsing_u64.zig&quot;</span>).par
6db40 73 65 55 36 34 3b 0a 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 66 6e 3c seU64;..<span.class="tok-kw">fn<
6db60 2f 73 70 61 6e 3e 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 66 6e 22 3e 64 6f 41 54 /span>.<span.class="tok-fn">doAT
6db80 68 69 6e 67 3c 2f 73 70 61 6e 3e 28 73 74 72 3a 20 5b 5d 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 hing</span>(str:.[]<span.class="
6dba0 74 6f 6b 2d 74 79 70 65 22 3e 75 38 3c 2f 73 70 61 6e 3e 29 20 3c 73 70 61 6e 20 63 6c 61 73 73 tok-type">u8</span>).<span.class
6dbc0 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 76 6f 69 64 3c 2f 73 70 61 6e 3e 20 7b 0a 20 20 20 20 3c 73 ="tok-type">void</span>.{.....<s
6dbe0 70 61 6e 20 63 6c 61 73 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>.
6dc00 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
6dc20 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
6dc40 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 63 61 74 63 68 3c 2f 73 70 61 6e 3e 20 3c 73 70 .class="tok-kw">catch</span>.<sp
6dc60 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 3b an.class="tok-number">13</span>;
6dc80 0a 20 20 20 20 5f 20 3d 20 6e 75 6d 62 65 72 3b 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f ....._.=.number;.<span.class="to
6dca0 6b 2d 63 6f 6d 6d 65 6e 74 22 3e 2f 2f 20 2e 2e 2e 3c 2f 73 70 61 6e 3e 0a 7d 3c 2f 63 6f 64 65 k-comment">//....</span>.}</code
6dcc0 3e 3c 2f 70 72 65 3e 3c 2f 66 69 67 75 72 65 3e 0a 0a 20 20 20 20 20 20 3c 70 3e 0a 20 20 20 20 ></pre></figure>........<p>.....
6dce0 20 20 49 6e 20 74 68 69 73 20 63 6f 64 65 2c 20 3c 63 6f 64 65 3e 6e 75 6d 62 65 72 3c 2f 63 6f ..In.this.code,.<code>number</co
6dd00 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 65 73 73 de>.will.be.equal.to.the.success
6dd20 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 20 20 20 fully.parsed.string,.or.........
6dd40 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 74 79 70 ..a.default.value.of.13..The.typ
6dd60 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 68 65 20 e.of.the.right.hand.side.of.the.
6dd80 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 74 6f 6b 2d 6b 77 binary.<code><span.class="tok-kw
6dda0 22 3e 63 61 74 63 68 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 ">catch</span></code>.operator.m
6ddc0 75 73 74 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 ust...............match.the.unwr
6dde0 61 70 70 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 apped.error.union.type,.or.be.of
6de00 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 74 6f 6b 2d 74 79 70 .type.<code><span.class="tok-typ
6de20 65 22 3e 6e 6f 72 65 74 75 72 6e 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 2e 0a 20 20 20 20 20 e">noreturn</span></code>.......
6de40 20 3c 2f 70 3e 0a 20 20 20 20 20 3c 70 3e 0a 20 20 20 20 20 20 49 66 20 79 6f 75 20 77 61 6e 74 .</p>......<p>.......If.you.want
6de60 20 74 6f 20 70 72 6f 76 69 64 65 20 61 20 64 65 66 61 75 6c 74 20 76 61 6c 75 65 20 77 69 74 68 .to.provide.a.default.value.with
6de80 0a 20 20 20 20 20 20 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 .......<code><span.class="tok-kw
6dea0 22 3e 63 61 74 63 68 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 20 61 66 74 65 72 20 70 65 72 66 ">catch</span></code>.after.perf
6dec0 6f 72 6d 69 6e 67 20 73 6f 6d 65 20 6c 6f 67 69 63 2c 20 79 6f 75 0a 20 20 20 20 20 20 63 61 6e orming.some.logic,.you.......can
6dee0 20 63 6f 6d 62 69 6e 65 20 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d .combine.<code><span.class="tok-
6df00 6b 77 22 3e 63 61 74 63 68 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 20 77 69 74 68 20 6e 61 6d kw">catch</span></code>.with.nam
6df20 65 64 20 3c 61 20 68 72 65 66 3d 22 23 42 6c 6f 63 6b 73 22 3e 42 6c 6f 63 6b 73 3c 2f 61 3e 3a ed.<a.href="#Blocks">Blocks</a>:
6df40 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
6df60 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
6df80 73 3d 22 66 69 6c 65 22 3e 68 61 6e 64 6c 65 5f 65 72 72 6f 72 5f 77 69 74 68 5f 63 61 74 63 68 s="file">handle_error_with_catch
6dfa0 5f 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 _block.zig</cite></figcaption><p
6dfc0 72 65 3e 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 63 6f re><code><span.class="tok-kw">co
6dfe0 6e 73 74 3c 2f 73 70 61 6e 3e 20 70 61 72 73 65 55 36 34 20 3d 20 3c 73 70 61 6e 20 63 6c 61 73 nst</span>.parseU64.=.<span.clas
6e000 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>(<
6e020 73 70 61 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 72 span.class="tok-str">&quot;error
6e040 5f 75 6e 69 6f 6e 5f 70 61 72 73 69 6e 67 5f 75 36 34 2e 7a 69 67 26 71 75 6f 74 3b 3c 2f 73 70 _union_parsing_u64.zig&quot;</sp
6e060 61 6e 3e 29 2e 70 61 72 73 65 55 36 34 3b 0a 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b an>).parseU64;..<span.class="tok
6e080 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-
6e0a0 66 6e 22 3e 64 6f 41 54 68 69 6e 67 3c 2f 73 70 61 6e 3e 28 73 74 72 3a 20 5b 5d 3c 73 70 61 6e fn">doAThing</span>(str:.[]<span
6e0c0 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
6e0e0 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>.
6e100 7b 0a 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 63 6f 6e 73 74 {.....<span.class="tok-kw">const
6e120 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 73 74 72 2c 20 3c </span>.number.=.parseU64(str,.<
6e140 73 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
6e160 3e 29 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 63 61 74 63 68 3c 2f 73 >).<span.class="tok-kw">catch</s
6e180 70 61 6e 3e 20 62 6c 6b 3a 20 7b 0a 20 20 20 20 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d pan>.blk:.{.........<span.class=
6e1a0 22 74 6f 6b 2d 63 6f 6d 6d 65 6e 74 22 3e 2f 2f 20 64 6f 20 74 68 69 6e 67 73 3c 2f 73 70 61 6e "tok-comment">//.do.things</span
6e1c0 3e 0a 20 20 20 20 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 62 >.........<span.class="tok-kw">b
6e1e0 72 65 61 6b 3c 2f 73 70 61 6e 3e 20 3a 62 6c 6b 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f reak</span>.:blk.<span.class="to
6e200 6b 2d 6e 75 6d 62 65 72 22 3e 31 33 3c 2f 73 70 61 6e 3e 3b 0a 20 20 20 20 7d 3b 0a 20 20 20 20 k-number">13</span>;.....};.....
6e220 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 6b 2d 63 6f 6d _.=.number;.<span.class="tok-com
6e240 6d 65 6e 74 22 3e 2f 2f 20 6e 75 6d 62 65 72 20 69 73 20 6e 6f 77 20 69 6e 69 74 69 61 6c 69 7a ment">//.number.is.now.initializ
6e260 65 64 3c 2f 73 70 61 6e 3e 0a 7d 3c 2f 63 6f 64 65 3e 3c 2f 70 72 65 3e 3c 2f 66 69 67 75 72 65 ed</span>.}</code></pre></figure
6e280 3e 0a 0a 20 20 20 20 20 20 0a 20 20 20 20 20 20 3c 68 34 20 69 64 3d 22 74 72 79 22 3e 3c 61 20 >...............<h4.id="try"><a.
6e2a0 68 72 65 66 3d 22 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 href="nav.xhtml#toc-try">try</a>
6e2c0 20 3c 61 20 63 6c 61 73 73 3d 22 68 64 72 22 20 68 72 65 66 3d 22 23 74 72 79 22 3e c2 a7 3c 2f .<a.class="hdr".href="#try">..</
6e2e0 61 3e 3c 2f 68 34 3e 0a 0a 20 20 20 20 20 20 3c 70 3e 4c 65 74 27 73 20 73 61 79 20 79 6f 75 20 a></h4>........<p>Let's.say.you.
6e300 77 61 6e 74 65 64 20 74 6f 20 72 65 74 75 72 6e 20 74 68 65 20 65 72 72 6f 72 20 69 66 20 79 6f wanted.to.return.the.error.if.yo
6e320 75 20 67 6f 74 20 6f 6e 65 2c 20 6f 74 68 65 72 77 69 73 65 20 63 6f 6e 74 69 6e 75 65 20 77 69 u.got.one,.otherwise.continue.wi
6e340 74 68 20 74 68 65 0a 20 20 20 20 20 20 66 75 6e 63 74 69 6f 6e 20 6c 6f 67 69 63 3a 3c 2f 70 3e th.the.......function.logic:</p>
6e360 0a 20 20 20 20 20 20 3c 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
6e380 3d 22 7a 69 67 2d 63 61 70 22 3e 3c 63 69 74 65 20 63 6c 61 73 73 3d 22 66 69 6c 65 22 3e 63 61 ="zig-cap"><cite.class="file">ca
6e3a0 74 63 68 5f 65 72 72 5f 72 65 74 75 72 6e 2e 7a 69 67 3c 2f 63 69 74 65 3e 3c 2f 66 69 67 63 61 tch_err_return.zig</cite></figca
6e3c0 70 74 69 6f 6e 3e 3c 70 72 65 3e 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f ption><pre><code><span.class="to
6e3e0 6b 2d 6b 77 22 3e 63 6f 6e 73 74 3c 2f 73 70 61 6e 3e 20 70 61 72 73 65 55 36 34 20 3d 20 3c 73 k-kw">const</span>.parseU64.=.<s
6e400 70 61 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<
6e420 2f 73 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
6e440 6f 74 3b 65 72 72 6f 72 5f 75 6e 69 6f 6e 5f 70 61 72 73 69 6e 67 5f 75 36 34 2e 7a 69 67 26 71 ot;error_union_parsing_u64.zig&q
6e460 75 6f 74 3b 3c 2f 73 70 61 6e 3e 29 2e 70 61 72 73 65 55 36 34 3b 0a 0a 3c 73 70 61 6e 20 63 6c uot;</span>).parseU64;..<span.cl
6e480 61 73 73 3d 22 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
6e4a0 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:
6e4c0 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
6e4e0 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
6e500 64 3c 2f 73 70 61 6e 3e 20 7b 0a 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d d</span>.{.....<span.class="tok-
6e520 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 70 61 72 73 65 55 kw">const</span>.number.=.parseU
6e540 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 62 65 72 22 64(str,.<span.class="tok-number"
6e560 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 77 22 >10</span>).<span.class="tok-kw"
6e580 3e 63 61 74 63 68 3c 2f 73 70 61 6e 3e 20 7c 65 72 72 7c 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d >catch</span>.|err|.<span.class=
6e5a0 22 74 6f 6b 2d 6b 77 22 3e 72 65 74 75 72 6e 3c 2f 73 70 61 6e 3e 20 65 72 72 3b 0a 20 20 20 20 "tok-kw">return</span>.err;.....
6e5c0 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 6b 2d 63 6f 6d _.=.number;.<span.class="tok-com
6e5e0 6d 65 6e 74 22 3e 2f 2f 20 2e 2e 2e 3c 2f 73 70 61 6e 3e 0a 7d 3c 2f 63 6f 64 65 3e 3c 2f 70 72 ment">//....</span>.}</code></pr
6e600 65 3e 3c 2f 66 69 67 75 72 65 3e 0a 0a 20 20 20 20 20 20 3c 70 3e 0a 20 20 20 20 20 20 54 68 65 e></figure>........<p>.......The
6e620 72 65 20 69 73 20 61 20 73 68 6f 72 74 63 75 74 20 66 6f 72 20 74 68 69 73 2e 20 54 68 65 20 3c re.is.a.shortcut.for.this..The.<
6e640 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 74 72 79 3c 2f 73 code><span.class="tok-kw">try</s
6e660 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 20 3c 2f pan></code>.expression:.......</
6e680 70 3e 0a 20 20 20 20 20 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
6e6a0 73 73 3d 22 7a 69 67 2d 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">
6e6c0 74 72 79 2e 7a 69 67 3c 2f 63 69 74 65 3e 3c 2f 66 69 67 63 61 70 74 69 6f 6e 3e 3c 70 72 65 3e try.zig</cite></figcaption><pre>
6e6e0 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 63 6f 6e 73 74 <code><span.class="tok-kw">const
6e700 3c 2f 73 70 61 6e 3e 20 70 61 72 73 65 55 36 34 20 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 </span>.parseU64.=.<span.class="
6e720 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
6e740 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 72 5f 75 6e n.class="tok-str">&quot;error_un
6e760 69 6f 6e 5f 70 61 72 73 69 6e 67 5f 75 36 34 2e 7a 69 67 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e ion_parsing_u64.zig&quot;</span>
6e780 29 2e 70 61 72 73 65 55 36 34 3b 0a 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 ).parseU64;..<span.class="tok-kw
6e7a0 22 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"
6e7c0 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
6e7e0 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
6e800 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 76 6f 69 64 3c 2f 73 70 61 6e 3e 20 7b 0a .class="tok-type">void</span>.{.
6e820 20 20 20 20 3c 73 70 61 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</
6e840 73 70 61 6e 3e 20 6e 75 6d 62 65 72 20 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d span>.number.=.<span.class="tok-
6e860 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 2c 20 3c 73 70 kw">try</span>.parseU64(str,.<sp
6e880 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>)
6e8a0 3b 0a 20 20 20 20 5f 20 3d 20 6e 75 6d 62 65 72 3b 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 ;....._.=.number;.<span.class="t
6e8c0 6f 6b 2d 63 6f 6d 6d 65 6e 74 22 3e 2f 2f 20 2e 2e 2e 3c 2f 73 70 61 6e 3e 0a 7d 3c 2f 63 6f 64 ok-comment">//....</span>.}</cod
6e8e0 65 3e 3c 2f 70 72 65 3e 3c 2f 66 69 67 75 72 65 3e 0a 0a 20 20 20 20 20 20 3c 70 3e 0a 20 20 20 e></pre></figure>........<p>....
6e900 20 20 20 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 74 72 ...<code><span.class="tok-kw">tr
6e920 79 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 20 65 76 61 6c 75 61 74 65 73 20 61 6e 20 65 72 72 y</span></code>.evaluates.an.err
6e940 6f 72 20 75 6e 69 6f 6e 20 65 78 70 72 65 73 73 69 6f 6e 2e 20 49 66 20 69 74 20 69 73 20 61 6e or.union.expression..If.it.is.an
6e960 20 65 72 72 6f 72 2c 20 69 74 20 72 65 74 75 72 6e 73 0a 20 20 20 20 20 20 66 72 6f 6d 20 74 68 .error,.it.returns.......from.th
6e980 65 20 63 75 72 72 65 6e 74 20 66 75 6e 63 74 69 6f 6e 20 77 69 74 68 20 74 68 65 20 73 61 6d 65 e.current.function.with.the.same
6e9a0 20 65 72 72 6f 72 2e 20 4f 74 68 65 72 77 69 73 65 2c 20 74 68 65 20 65 78 70 72 65 73 73 69 6f .error..Otherwise,.the.expressio
6e9c0 6e 20 72 65 73 75 6c 74 73 20 69 6e 0a 20 20 20 20 20 20 74 68 65 20 75 6e 77 72 61 70 70 65 64 n.results.in.......the.unwrapped
6e9e0 20 76 61 6c 75 65 2e 0a 20 20 20 20 20 20 3c 2f 70 3e 0a 20 20 20 20 20 20 0a 20 20 20 20 20 20 .value........</p>..............
6ea00 3c 70 3e 0a 20 20 20 20 20 20 20 20 4d 61 79 62 65 20 79 6f 75 20 6b 6e 6f 77 20 77 69 74 68 20 <p>.........Maybe.you.know.with.
6ea20 63 6f 6d 70 6c 65 74 65 20 63 65 72 74 61 69 6e 74 79 20 74 68 61 74 20 61 6e 20 65 78 70 72 65 complete.certainty.that.an.expre
6ea40 73 73 69 6f 6e 20 77 69 6c 6c 20 6e 65 76 65 72 20 62 65 20 61 6e 20 65 72 72 6f 72 2e 0a 20 20 ssion.will.never.be.an.error....
6ea60 20 20 20 20 20 20 49 6e 20 74 68 69 73 20 63 61 73 65 20 79 6f 75 20 63 61 6e 20 64 6f 20 74 68 ......In.this.case.you.can.do.th
6ea80 69 73 3a 0a 20 20 20 20 20 20 3c 2f 70 3e 0a 20 20 20 20 20 20 3c 63 6f 64 65 3e 3c 73 70 61 6e is:.......</p>.......<code><span
6eaa0 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 63 6f 6e 73 74 3c 2f 73 70 61 6e 3e 20 6e 75 6d .class="tok-kw">const</span>.num
6eac0 62 65 72 20 3d 20 70 61 72 73 65 55 36 34 28 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d ber.=.parseU64(<span.class="tok-
6eae0 73 74 72 22 3e 26 71 75 6f 74 3b 31 32 33 34 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 2c 20 3c 73 str">&quot;1234&quot;</span>,.<s
6eb00 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>
6eb20 29 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 63 61 74 63 68 3c 2f 73 70 ).<span.class="tok-kw">catch</sp
6eb40 61 6e 3e 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 75 6e 72 65 61 63 68 an>.<span.class="tok-kw">unreach
6eb60 61 62 6c 65 3c 2f 73 70 61 6e 3e 3b 3c 2f 63 6f 64 65 3e 0a 20 20 20 20 20 20 3c 70 3e 0a 20 20 able</span>;</code>.......<p>...
6eb80 20 20 20 20 48 65 72 65 20 77 65 20 6b 6e 6f 77 20 66 6f 72 20 73 75 72 65 20 74 68 61 74 20 22 ....Here.we.know.for.sure.that."
6eba0 31 32 33 34 22 20 77 69 6c 6c 20 70 61 72 73 65 20 73 75 63 63 65 73 73 66 75 6c 6c 79 2e 20 53 1234".will.parse.successfully..S
6ebc0 6f 20 77 65 20 70 75 74 20 74 68 65 0a 20 20 20 20 20 20 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 o.we.put.the.......<code><span.c
6ebe0 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 75 6e 72 65 61 63 68 61 62 6c 65 3c 2f 73 70 61 6e 3e lass="tok-kw">unreachable</span>
6ec00 3c 2f 63 6f 64 65 3e 20 76 61 6c 75 65 20 6f 6e 20 74 68 65 20 72 69 67 68 74 20 68 61 6e 64 20 </code>.value.on.the.right.hand.
6ec20 73 69 64 65 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 74 side........<code><span.class="t
6ec40 6f 6b 2d 6b 77 22 3e 75 6e 72 65 61 63 68 61 62 6c 65 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e ok-kw">unreachable</span></code>
6ec60 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=
6ec80 22 23 49 6c 6c 65 67 61 6c 2d 42 65 68 61 76 69 6f 72 22 3e 49 6c 6c 65 67 61 6c 20 42 65 68 61 "#Illegal-Behavior">Illegal.Beha
6eca0 76 69 6f 72 3c 2f 61 3e 2c 20 73 6f 0a 20 20 20 20 20 20 69 6e 20 3c 61 20 68 72 65 66 3d 22 23 vior</a>,.so.......in.<a.href="#
6ecc0 44 65 62 75 67 22 3e 44 65 62 75 67 3c 2f 61 3e 20 61 6e 64 20 3c 61 20 68 72 65 66 3d 22 23 52 Debug">Debug</a>.and.<a.href="#R
6ece0 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 2c 20 74 72 69 eleaseSafe">ReleaseSafe</a>,.tri
6ed00 67 67 65 72 73 20 61 20 73 61 66 65 74 79 20 70 61 6e 69 63 20 62 79 20 64 65 66 61 75 6c 74 2e ggers.a.safety.panic.by.default.
6ed20 20 53 6f 2c 20 77 68 69 6c 65 0a 20 20 20 20 20 20 77 65 27 72 65 20 64 65 62 75 67 67 69 6e 67 .So,.while.......we're.debugging
6ed40 20 74 68 65 20 61 70 70 6c 69 63 61 74 69 6f 6e 2c 20 69 66 20 74 68 65 72 65 20 3c 65 6d 3e 77 .the.application,.if.there.<em>w
6ed60 61 73 3c 2f 65 6d 3e 20 61 20 73 75 72 70 72 69 73 65 20 65 72 72 6f 72 20 68 65 72 65 2c 20 74 as</em>.a.surprise.error.here,.t
6ed80 68 65 20 61 70 70 6c 69 63 61 74 69 6f 6e 0a 20 20 20 20 20 20 77 6f 75 6c 64 20 63 72 61 73 68 he.application.......would.crash
6eda0 20 61 70 70 72 6f 70 72 69 61 74 65 6c 79 2e 0a 20 20 20 20 20 20 3c 2f 70 3e 0a 20 20 20 20 20 .appropriately........</p>......
6edc0 20 3c 70 3e 0a 20 20 20 20 20 20 59 6f 75 20 6d 61 79 20 77 61 6e 74 20 74 6f 20 74 61 6b 65 20 .<p>.......You.may.want.to.take.
6ede0 61 20 64 69 66 66 65 72 65 6e 74 20 61 63 74 69 6f 6e 20 66 6f 72 20 65 76 65 72 79 20 73 69 74 a.different.action.for.every.sit
6ee00 75 61 74 69 6f 6e 2e 20 46 6f 72 20 74 68 61 74 2c 20 77 65 20 63 6f 6d 62 69 6e 65 0a 20 20 20 uation..For.that,.we.combine....
6ee20 20 20 20 74 68 65 20 3c 61 20 68 72 65 66 3d 22 23 69 66 22 3e 69 66 3c 2f 61 3e 20 61 6e 64 20 ...the.<a.href="#if">if</a>.and.
6ee40 3c 61 20 68 72 65 66 3d 22 23 73 77 69 74 63 68 22 3e 73 77 69 74 63 68 3c 2f 61 3e 20 65 78 70 <a.href="#switch">switch</a>.exp
6ee60 72 65 73 73 69 6f 6e 3a 0a 20 20 20 20 20 20 3c 2f 70 3e 0a 20 20 20 20 20 20 3c 66 69 67 75 72 ression:.......</p>.......<figur
6ee80 65 3e 3c 66 69 67 63 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
6eea0 69 74 65 20 63 6c 61 73 73 3d 22 66 69 6c 65 22 3e 68 61 6e 64 6c 65 5f 61 6c 6c 5f 65 72 72 6f ite.class="file">handle_all_erro
6eec0 72 5f 73 63 65 6e 61 72 69 6f 73 2e 7a 69 67 3c 2f 63 69 74 65 3e 3c 2f 66 69 67 63 61 70 74 69 r_scenarios.zig</cite></figcapti
6eee0 6f 6e 3e 3c 70 72 65 3e 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b on><pre><code><span.class="tok-k
6ef00 77 22 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
6ef20 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
6ef40 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
6ef60 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 76 6f 69 64 3c 2f 73 70 61 6e 3e 20 7b 0a .class="tok-type">void</span>.{.
6ef80 20 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
6efa0 6e 3e 20 28 70 61 72 73 65 55 36 34 28 73 74 72 2c 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 n>.(parseU64(str,.<span.class="t
6efc0 6f 6b 2d 6e 75 6d 62 65 72 22 3e 31 30 3c 2f 73 70 61 6e 3e 29 29 20 7c 6e 75 6d 62 65 72 7c 20 ok-number">10</span>)).|number|.
6efe0 7b 0a 20 20 20 20 20 20 20 20 64 6f 53 6f 6d 65 74 68 69 6e 67 57 69 74 68 4e 75 6d 62 65 72 28 {.........doSomethingWithNumber(
6f000 6e 75 6d 62 65 72 29 3b 0a 20 20 20 20 7d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d number);.....}.<span.class="tok-
6f020 6b 77 22 3e 65 6c 73 65 3c 2f 73 70 61 6e 3e 20 7c 65 72 72 7c 20 3c 73 70 61 6e 20 63 6c 61 73 kw">else</span>.|err|.<span.clas
6f040 73 3d 22 74 6f 6b 2d 6b 77 22 3e 73 77 69 74 63 68 3c 2f 73 70 61 6e 3e 20 28 65 72 72 29 20 7b s="tok-kw">switch</span>.(err).{
6f060 0a 20 20 20 20 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 65 72 .........<span.class="tok-kw">er
6f080 72 6f 72 3c 2f 73 70 61 6e 3e 2e 4f 76 65 72 66 6c 6f 77 20 3d 26 67 74 3b 20 7b 0a 20 20 20 20 ror</span>.Overflow.=&gt;.{.....
6f0a0 20 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
6f0c0 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 0a 20 ">//.handle.overflow...</span>..
6f0e0 20 20 20 20 20 20 20 7d 2c 0a 20 20 20 20 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 .......},.........<span.class="t
6f100 6f 6b 2d 63 6f 6d 6d 65 6e 74 22 3e 2f 2f 20 77 65 20 70 72 6f 6d 69 73 65 20 74 68 61 74 20 49 ok-comment">//.we.promise.that.I
6f120 6e 76 61 6c 69 64 43 68 61 72 20 77 6f 6e 27 74 20 68 61 70 70 65 6e 20 28 6f 72 20 63 72 61 73 nvalidChar.won't.happen.(or.cras
6f140 68 20 69 6e 20 64 65 62 75 67 20 6d 6f 64 65 20 69 66 20 69 74 20 64 6f 65 73 29 3c 2f 73 70 61 h.in.debug.mode.if.it.does)</spa
6f160 6e 3e 0a 20 20 20 20 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e n>.........<span.class="tok-kw">
6f180 65 72 72 6f 72 3c 2f 73 70 61 6e 3e 2e 49 6e 76 61 6c 69 64 43 68 61 72 20 3d 26 67 74 3b 20 3c error</span>.InvalidChar.=&gt;.<
6f1a0 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<
6f1c0 2f 73 70 61 6e 3e 2c 0a 20 20 20 20 7d 0a 7d 3c 2f 63 6f 64 65 3e 3c 2f 70 72 65 3e 3c 2f 66 69 /span>,.....}.}</code></pre></fi
6f1e0 67 75 72 65 3e 0a 20 20 20 20 20 20 3c 70 3e 0a 20 20 20 20 20 20 46 69 6e 61 6c 6c 79 2c 20 79 gure>.......<p>.......Finally,.y
6f200 6f 75 20 6d 61 79 20 77 61 6e 74 20 74 6f 20 68 61 6e 64 6c 65 20 6f 6e 6c 79 20 73 6f 6d 65 20 ou.may.want.to.handle.only.some.
6f220 65 72 72 6f 72 73 2e 20 46 6f 72 20 74 68 61 74 2c 20 79 6f 75 20 63 61 6e 20 63 61 70 74 75 72 errors..For.that,.you.can.captur
6f240 65 20 74 68 65 20 75 6e 68 61 6e 64 6c 65 64 0a 20 20 20 20 20 20 65 72 72 6f 72 73 20 69 6e 20 e.the.unhandled.......errors.in.
6f260 74 68 65 20 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 65 the.<code><span.class="tok-kw">e
6f280 6c 73 65 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 20 63 61 73 65 2c 20 77 68 69 63 68 20 6e 6f lse</span></code>.case,.which.no
6f2a0 77 20 63 6f 6e 74 61 69 6e 73 20 61 20 6e 61 72 72 6f 77 65 72 20 65 72 72 6f 72 20 73 65 74 3a w.contains.a.narrower.error.set:
6f2c0 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
6f2e0 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
6f300 73 3d 22 66 69 6c 65 22 3e 68 61 6e 64 6c 65 5f 73 6f 6d 65 5f 65 72 72 6f 72 5f 73 63 65 6e 61 s="file">handle_some_error_scena
6f320 72 69 6f 73 2e 7a 69 67 3c 2f 63 69 74 65 3e 3c 2f 66 69 67 63 61 70 74 69 6f 6e 3e 3c 70 72 65 rios.zig</cite></figcaption><pre
6f340 3e 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 66 6e 3c 2f ><code><span.class="tok-kw">fn</
6f360 73 70 61 6e 3e 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 66 6e 22 3e 64 6f 41 6e 6f span>.<span.class="tok-fn">doAno
6f380 74 68 65 72 54 68 69 6e 67 3c 2f 73 70 61 6e 3e 28 73 74 72 3a 20 5b 5d 3c 73 70 61 6e 20 63 6c therThing</span>(str:.[]<span.cl
6f3a0 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 75 38 3c 2f 73 70 61 6e 3e 29 20 3c 73 70 61 6e 20 ass="tok-type">u8</span>).<span.
6f3c0 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 65 72 72 6f 72 3c 2f 73 70 61 6e 3e 7b 49 6e 76 61 class="tok-kw">error</span>{Inva
6f3e0 6c 69 64 43 68 61 72 7d 21 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e lidChar}!<span.class="tok-type">
6f400 76 6f 69 64 3c 2f 73 70 61 6e 3e 20 7b 0a 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 void</span>.{.....<span.class="t
6f420 6f 6b 2d 6b 77 22 3e 69 66 3c 2f 73 70 61 6e 3e 20 28 70 61 72 73 65 55 36 34 28 73 74 72 2c 20 ok-kw">if</span>.(parseU64(str,.
6f440 3c 73 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
6f460 6e 3e 29 29 20 7c 6e 75 6d 62 65 72 7c 20 7b 0a 20 20 20 20 20 20 20 20 64 6f 53 6f 6d 65 74 68 n>)).|number|.{.........doSometh
6f480 69 6e 67 57 69 74 68 4e 75 6d 62 65 72 28 6e 75 6d 62 65 72 29 3b 0a 20 20 20 20 7d 20 3c 73 70 ingWithNumber(number);.....}.<sp
6f4a0 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
6f4c0 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<
6f4e0 2f 73 70 61 6e 3e 20 28 65 72 72 29 20 7b 0a 20 20 20 20 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 /span>.(err).{.........<span.cla
6f500 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
6f520 77 20 3d 26 67 74 3b 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 w.=&gt;.{.............<span.clas
6f540 73 3d 22 74 6f 6b 2d 63 6f 6d 6d 65 6e 74 22 3e 2f 2f 20 68 61 6e 64 6c 65 20 6f 76 65 72 66 6c s="tok-comment">//.handle.overfl
6f560 6f 77 2e 2e 2e 3c 2f 73 70 61 6e 3e 0a 20 20 20 20 20 20 20 20 7d 2c 0a 20 20 20 20 20 20 20 20 ow...</span>.........},.........
6f580 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>
6f5a0 20 3d 26 67 74 3b 20 7c 6c 65 66 74 6f 76 65 72 5f 65 72 72 7c 20 3c 73 70 61 6e 20 63 6c 61 73 .=&gt;.|leftover_err|.<span.clas
6f5c0 73 3d 22 74 6f 6b 2d 6b 77 22 3e 72 65 74 75 72 6e 3c 2f 73 70 61 6e 3e 20 6c 65 66 74 6f 76 65 s="tok-kw">return</span>.leftove
6f5e0 72 5f 65 72 72 2c 0a 20 20 20 20 7d 0a 7d 3c 2f 63 6f 64 65 3e 3c 2f 70 72 65 3e 3c 2f 66 69 67 r_err,.....}.}</code></pre></fig
6f600 75 72 65 3e 0a 20 20 20 20 20 20 3c 70 3e 0a 20 20 20 20 20 20 59 6f 75 20 6d 75 73 74 20 75 73 ure>.......<p>.......You.must.us
6f620 65 20 74 68 65 20 76 61 72 69 61 62 6c 65 20 63 61 70 74 75 72 65 20 73 79 6e 74 61 78 2e 20 49 e.the.variable.capture.syntax..I
6f640 66 20 79 6f 75 20 64 6f 6e 27 74 20 6e 65 65 64 20 74 68 65 0a 20 20 20 20 20 20 76 61 72 69 61 f.you.don't.need.the.......varia
6f660 62 6c 65 2c 20 79 6f 75 20 63 61 6e 20 63 61 70 74 75 72 65 20 77 69 74 68 20 3c 63 6f 64 65 3e ble,.you.can.capture.with.<code>
6f680 5f 3c 2f 63 6f 64 65 3e 20 61 6e 64 20 61 76 6f 69 64 20 74 68 65 0a 20 20 20 20 20 20 3c 63 6f _</code>.and.avoid.the.......<co
6f6a0 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 73 77 69 74 63 68 3c 2f de><span.class="tok-kw">switch</
6f6c0 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>.......<
6f6e0 66 69 67 75 72 65 3e 3c 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
6f700 70 22 3e 3c 63 69 74 65 20 63 6c 61 73 73 3d 22 66 69 6c 65 22 3e 68 61 6e 64 6c 65 5f 6e 6f 5f p"><cite.class="file">handle_no_
6f720 65 72 72 6f 72 5f 73 63 65 6e 61 72 69 6f 73 2e 7a 69 67 3c 2f 63 69 74 65 3e 3c 2f 66 69 67 63 error_scenarios.zig</cite></figc
6f740 61 70 74 69 6f 6e 3e 3c 70 72 65 3e 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 aption><pre><code><span.class="t
6f760 6f 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
6f780 6b 2d 66 6e 22 3e 64 6f 41 44 69 66 66 65 72 65 6e 74 54 68 69 6e 67 3c 2f 73 70 61 6e 3e 28 73 k-fn">doADifferentThing</span>(s
6f7a0 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 38 3c tr:.[]<span.class="tok-type">u8<
6f7c0 2f 73 70 61 6e 3e 29 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 76 /span>).<span.class="tok-type">v
6f7e0 6f 69 64 3c 2f 73 70 61 6e 3e 20 7b 0a 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f oid</span>.{.....<span.class="to
6f800 6b 2d 6b 77 22 3e 69 66 3c 2f 73 70 61 6e 3e 20 28 70 61 72 73 65 55 36 34 28 73 74 72 2c 20 3c k-kw">if</span>.(parseU64(str,.<
6f820 73 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
6f840 3e 29 29 20 7c 6e 75 6d 62 65 72 7c 20 7b 0a 20 20 20 20 20 20 20 20 64 6f 53 6f 6d 65 74 68 69 >)).|number|.{.........doSomethi
6f860 6e 67 57 69 74 68 4e 75 6d 62 65 72 28 6e 75 6d 62 65 72 29 3b 0a 20 20 20 20 7d 20 3c 73 70 61 ngWithNumber(number);.....}.<spa
6f880 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 65 6c 73 65 3c 2f 73 70 61 6e 3e 20 7c 5f 7c n.class="tok-kw">else</span>.|_|
6f8a0 20 7b 0a 20 20 20 20 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 63 6f 6d 6d .{.........<span.class="tok-comm
6f8c0 65 6e 74 22 3e 2f 2f 20 64 6f 20 61 73 20 79 6f 75 27 64 20 6c 69 6b 65 3c 2f 73 70 61 6e 3e 0a ent">//.do.as.you'd.like</span>.
6f8e0 20 20 20 20 7d 0a 7d 3c 2f 63 6f 64 65 3e 3c 2f 70 72 65 3e 3c 2f 66 69 67 75 72 65 3e 0a 20 20 ....}.}</code></pre></figure>...
6f900 20 20 20 20 3c 68 34 20 69 64 3d 22 65 72 72 64 65 66 65 72 22 3e 3c 61 20 68 72 65 66 3d 22 6e ....<h4.id="errdefer"><a.href="n
6f920 61 76 2e 78 68 74 6d 6c 23 74 6f 63 2d 65 72 72 64 65 66 65 72 22 3e 65 72 72 64 65 66 65 72 3c av.xhtml#toc-errdefer">errdefer<
6f940 2f 61 3e 20 3c 61 20 63 6c 61 73 73 3d 22 68 64 72 22 20 68 72 65 66 3d 22 23 65 72 72 64 65 66 /a>.<a.class="hdr".href="#errdef
6f960 65 72 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 er">..</a></h4>........<p>......
6f980 20 54 68 65 20 6f 74 68 65 72 20 63 6f 6d 70 6f 6e 65 6e 74 20 74 6f 20 65 72 72 6f 72 20 68 61 .The.other.component.to.error.ha
6f9a0 6e 64 6c 69 6e 67 20 69 73 20 64 65 66 65 72 20 73 74 61 74 65 6d 65 6e 74 73 2e 0a 20 20 20 20 ndling.is.defer.statements......
6f9c0 20 20 49 6e 20 61 64 64 69 74 69 6f 6e 20 74 6f 20 61 6e 20 75 6e 63 6f 6e 64 69 74 69 6f 6e 61 ..In.addition.to.an.unconditiona
6f9e0 6c 20 3c 61 20 68 72 65 66 3d 22 23 64 65 66 65 72 22 3e 64 65 66 65 72 3c 2f 61 3e 2c 20 5a 69 l.<a.href="#defer">defer</a>,.Zi
6fa00 67 20 68 61 73 20 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 g.has.<code><span.class="tok-kw"
6fa20 3e 65 72 72 64 65 66 65 72 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 2c 0a 20 20 20 20 20 20 77 >errdefer</span></code>,.......w
6fa40 68 69 63 68 20 65 76 61 6c 75 61 74 65 73 20 74 68 65 20 64 65 66 65 72 72 65 64 20 65 78 70 72 hich.evaluates.the.deferred.expr
6fa60 65 73 73 69 6f 6e 20 6f 6e 20 62 6c 6f 63 6b 20 65 78 69 74 20 70 61 74 68 20 69 66 20 61 6e 64 ession.on.block.exit.path.if.and
6fa80 20 6f 6e 6c 79 20 69 66 0a 20 20 20 20 20 20 74 68 65 20 66 75 6e 63 74 69 6f 6e 20 72 65 74 75 .only.if.......the.function.retu
6faa0 72 6e 65 64 20 77 69 74 68 20 61 6e 20 65 72 72 6f 72 20 66 72 6f 6d 20 74 68 65 20 62 6c 6f 63 rned.with.an.error.from.the.bloc
6fac0 6b 2e 0a 20 20 20 20 20 20 3c 2f 70 3e 0a 20 20 20 20 20 20 3c 70 3e 0a 20 20 20 20 20 20 45 78 k........</p>.......<p>.......Ex
6fae0 61 6d 70 6c 65 3a 0a 20 20 20 20 20 20 3c 2f 70 3e 0a 20 20 20 20 20 20 3c 66 69 67 75 72 65 3e ample:.......</p>.......<figure>
6fb00 3c 66 69 67 63 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
6fb20 65 20 63 6c 61 73 73 3d 22 66 69 6c 65 22 3e 65 72 72 64 65 66 65 72 5f 65 78 61 6d 70 6c 65 2e e.class="file">errdefer_example.
6fb40 7a 69 67 3c 2f 63 69 74 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
6fb60 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 66 6e 3c 2f 73 70 61 6e 3e e><span.class="tok-kw">fn</span>
6fb80 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<
6fba0 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
6fbc0 79 70 65 22 3e 69 33 32 3c 2f 73 70 61 6e 3e 29 20 21 46 6f 6f 20 7b 0a 20 20 20 20 3c 73 70 61 ype">i32</span>).!Foo.{.....<spa
6fbe0 6e 20 63 6c 61 73 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 n.class="tok-kw">const</span>.fo
6fc00 6f 20 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 74 72 79 3c 2f 73 70 o.=.<span.class="tok-kw">try</sp
6fc20 61 6e 3e 20 74 72 79 54 6f 41 6c 6c 6f 63 61 74 65 46 6f 6f 28 29 3b 0a 20 20 20 20 3c 73 70 61 an>.tryToAllocateFoo();.....<spa
6fc40 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 63 6f 6d 6d 65 6e 74 22 3e 2f 2f 20 6e 6f 77 20 77 65 20 n.class="tok-comment">//.now.we.
6fc60 68 61 76 65 20 61 6c 6c 6f 63 61 74 65 64 20 66 6f 6f 2e 20 77 65 20 6e 65 65 64 20 74 6f 20 66 have.allocated.foo..we.need.to.f
6fc80 72 65 65 20 69 74 20 69 66 20 74 68 65 20 66 75 6e 63 74 69 6f 6e 20 66 61 69 6c 73 2e 3c 2f 73 ree.it.if.the.function.fails.</s
6fca0 70 61 6e 3e 0a 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 63 6f 6d 6d 65 6e pan>.....<span.class="tok-commen
6fcc0 74 22 3e 2f 2f 20 62 75 74 20 77 65 20 77 61 6e 74 20 74 6f 20 72 65 74 75 72 6e 20 69 74 20 69 t">//.but.we.want.to.return.it.i
6fce0 66 20 74 68 65 20 66 75 6e 63 74 69 6f 6e 20 73 75 63 63 65 65 64 73 2e 3c 2f 73 70 61 6e 3e 0a f.the.function.succeeds.</span>.
6fd00 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 65 72 72 64 65 66 65 ....<span.class="tok-kw">errdefe
6fd20 72 3c 2f 73 70 61 6e 3e 20 64 65 61 6c 6c 6f 63 61 74 65 46 6f 6f 28 66 6f 6f 29 3b 0a 0a 20 20 r</span>.deallocateFoo(foo);....
6fd40 20 20 3c 73 70 61 6e 20 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
6fd60 61 6e 3e 20 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 an>.tmp_buf.=.allocateTmpBuffer(
6fd80 29 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 6f 72 65 6c 73 65 3c 2f 73 ).<span.class="tok-kw">orelse</s
6fda0 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 72 65 74 75 72 6e pan>.<span.class="tok-kw">return
6fdc0 3c 2f 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
6fde0 6f 72 3c 2f 73 70 61 6e 3e 2e 4f 75 74 4f 66 4d 65 6d 6f 72 79 3b 0a 20 20 20 20 3c 73 70 61 6e or</span>.OutOfMemory;.....<span
6fe00 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 6d 70 5f 62 75 66 20 .class="tok-comment">//.tmp_buf.
6fe20 69 73 20 74 72 75 6c 79 20 61 20 74 65 6d 70 6f 72 61 72 79 20 72 65 73 6f 75 72 63 65 2c 20 61 is.truly.a.temporary.resource,.a
6fe40 6e 64 20 77 65 20 66 6f 72 20 73 75 72 65 20 77 61 6e 74 20 74 6f 20 63 6c 65 61 6e 20 69 74 20 nd.we.for.sure.want.to.clean.it.
6fe60 75 70 3c 2f 73 70 61 6e 3e 0a 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 63 up</span>.....<span.class="tok-c
6fe80 6f 6d 6d 65 6e 74 22 3e 2f 2f 20 62 65 66 6f 72 65 20 74 68 69 73 20 62 6c 6f 63 6b 20 6c 65 61 omment">//.before.this.block.lea
6fea0 76 65 73 20 73 63 6f 70 65 3c 2f 73 70 61 6e 3e 0a 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 ves.scope</span>.....<span.class
6fec0 3d 22 74 6f 6b 2d 6b 77 22 3e 64 65 66 65 72 3c 2f 73 70 61 6e 3e 20 64 65 61 6c 6c 6f 63 61 74 ="tok-kw">defer</span>.deallocat
6fee0 65 54 6d 70 42 75 66 66 65 72 28 74 6d 70 5f 62 75 66 29 3b 0a 0a 20 20 20 20 3c 73 70 61 6e 20 eTmpBuffer(tmp_buf);......<span.
6ff00 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 72 61 6d 20 class="tok-kw">if</span>.(param.
6ff20 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 33 &gt;.<span.class="tok-number">13
6ff40 33 37 3c 2f 73 70 61 6e 3e 29 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 37</span>).<span.class="tok-kw">
6ff60 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
6ff80 77 22 3e 65 72 72 6f 72 3c 2f 73 70 61 6e 3e 2e 49 6e 76 61 6c 69 64 50 61 72 61 6d 3b 0a 0a 20 w">error</span>.InvalidParam;...
6ffa0 20 20 20 3c 73 70 61 6e 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">//.
6ffc0 68 65 72 65 20 74 68 65 20 65 72 72 64 65 66 65 72 20 77 69 6c 6c 20 6e 6f 74 20 72 75 6e 20 73 here.the.errdefer.will.not.run.s
6ffe0 69 6e 63 65 20 77 65 27 72 65 20 72 65 74 75 72 6e 69 6e 67 20 73 75 63 63 65 73 73 20 66 72 6f ince.we're.returning.success.fro
70000 6d 20 74 68 65 20 66 75 6e 63 74 69 6f 6e 2e 3c 2f 73 70 61 6e 3e 0a 20 20 20 20 3c 73 70 61 6e m.the.function.</span>.....<span
70020 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 63 6f 6d 6d 65 6e 74 22 3e 2f 2f 20 62 75 74 20 74 68 65 20 .class="tok-comment">//.but.the.
70040 64 65 66 65 72 20 77 69 6c 6c 20 72 75 6e 21 3c 2f 73 70 61 6e 3e 0a 20 20 20 20 3c 73 70 61 6e defer.will.run!</span>.....<span
70060 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 72 65 74 75 72 6e 3c 2f 73 70 61 6e 3e 20 66 6f .class="tok-kw">return</span>.fo
70080 6f 3b 0a 7d 3c 2f 63 6f 64 65 3e 3c 2f 70 72 65 3e 3c 2f 66 69 67 75 72 65 3e 0a 20 20 20 20 20 o;.}</code></pre></figure>......
700a0 20 3c 70 3e 0a 20 20 20 20 20 20 54 68 65 20 6e 65 61 74 20 74 68 69 6e 67 20 61 62 6f 75 74 20 .<p>.......The.neat.thing.about.
700c0 74 68 69 73 20 69 73 20 74 68 61 74 20 79 6f 75 20 67 65 74 20 72 6f 62 75 73 74 20 65 72 72 6f this.is.that.you.get.robust.erro
700e0 72 20 68 61 6e 64 6c 69 6e 67 20 77 69 74 68 6f 75 74 0a 20 20 20 20 20 20 74 68 65 20 76 65 72 r.handling.without.......the.ver
70100 62 6f 73 69 74 79 20 61 6e 64 20 63 6f 67 6e 69 74 69 76 65 20 6f 76 65 72 68 65 61 64 20 6f 66 bosity.and.cognitive.overhead.of
70120 20 74 72 79 69 6e 67 20 74 6f 20 6d 61 6b 65 20 73 75 72 65 20 65 76 65 72 79 20 65 78 69 74 20 .trying.to.make.sure.every.exit.
70140 70 61 74 68 0a 20 20 20 20 20 20 69 73 20 63 6f 76 65 72 65 64 2e 20 54 68 65 20 64 65 61 6c 6c path.......is.covered..The.deall
70160 6f 63 61 74 69 6f 6e 20 63 6f 64 65 20 69 73 20 61 6c 77 61 79 73 20 64 69 72 65 63 74 6c 79 20 ocation.code.is.always.directly.
70180 66 6f 6c 6c 6f 77 69 6e 67 20 74 68 65 20 61 6c 6c 6f 63 61 74 69 6f 6e 20 63 6f 64 65 2e 0a 20 following.the.allocation.code...
701a0 20 20 20 20 20 3c 2f 70 3e 0a 20 20 20 20 20 20 0a 20 20 20 20 20 20 3c 70 3e 0a 20 20 20 20 20 .....</p>..............<p>......
701c0 20 41 20 63 6f 75 70 6c 65 20 6f 66 20 6f 74 68 65 72 20 74 69 64 62 69 74 73 20 61 62 6f 75 74 .A.couple.of.other.tidbits.about
701e0 20 65 72 72 6f 72 20 68 61 6e 64 6c 69 6e 67 3a 0a 20 20 20 20 20 20 3c 2f 70 3e 0a 20 20 20 20 .error.handling:.......</p>.....
70200 20 20 3c 75 6c 3e 0a 20 20 20 20 20 20 20 20 3c 6c 69 3e 54 68 65 73 65 20 70 72 69 6d 69 74 69 ..<ul>.........<li>These.primiti
70220 76 65 73 20 67 69 76 65 20 65 6e 6f 75 67 68 20 65 78 70 72 65 73 73 69 76 65 6e 65 73 73 20 74 ves.give.enough.expressiveness.t
70240 68 61 74 20 69 74 27 73 20 63 6f 6d 70 6c 65 74 65 6c 79 20 70 72 61 63 74 69 63 61 6c 0a 20 20 hat.it's.completely.practical...
70260 20 20 20 20 20 20 20 20 20 20 74 6f 20 68 61 76 65 20 66 61 69 6c 69 6e 67 20 74 6f 20 63 68 65 ..........to.have.failing.to.che
70280 63 6b 20 66 6f 72 20 61 6e 20 65 72 72 6f 72 20 62 65 20 61 20 63 6f 6d 70 69 6c 65 20 65 72 72 ck.for.an.error.be.a.compile.err
702a0 6f 72 2e 20 49 66 20 79 6f 75 20 72 65 61 6c 6c 79 20 77 61 6e 74 0a 20 20 20 20 20 20 20 20 20 or..If.you.really.want..........
702c0 20 20 20 74 6f 20 69 67 6e 6f 72 65 20 74 68 65 20 65 72 72 6f 72 2c 20 79 6f 75 20 63 61 6e 20 ...to.ignore.the.error,.you.can.
702e0 61 64 64 20 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 63 add.<code><span.class="tok-kw">c
70300 61 74 63 68 3c 2f 73 70 61 6e 3e 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 atch</span>.<span.class="tok-kw"
70320 3e 75 6e 72 65 61 63 68 61 62 6c 65 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 20 61 6e 64 0a 20 >unreachable</span></code>.and..
70340 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 74 ...........get.the.added.benefit
70360 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 73 .of.crashing.in.Debug.and.Releas
70380 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 77 eSafe.modes.if.your.assumption.w
703a0 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 20 as.wrong..........</li>.........
703c0 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 74 <li>...........Since.Zig.underst
703e0 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 69 ands.error.types,.it.can.pre-wei
70400 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 20 ght.branches.in.favor.of........
70420 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 20 ...errors.not.occurring..Just.a.
70440 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 20 small.optimization.benefit.that.
70460 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 74 is.not.available...........in.ot
70480 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 20 her.languages..........</li>....
704a0 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 3c ...</ul>.......<p>See.also:</p><
704c0 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 2f ul>.<li><a.href="#defer">defer</
704e0 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 3e a></li>.<li><a.href="#if">if</a>
70500 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 74 </li>.<li><a.href="#switch">swit
70520 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 20 ch</a></li>.</ul>.........<p>An.
70540 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 20 error.union.is.created.with.the.
70560 3c 63 6f 64 65 3e 21 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 <code>!</code>.binary.operator..
70580 20 20 20 20 20 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 ......You.can.use.compile-time.r
705a0 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 69 6c 64 20 74 79 eflection.to.access.the.child.ty
705c0 70 65 20 6f 66 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 pe.of.an.error.union:</p>.......
705e0 3c 66 69 67 75 72 65 3e 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
70600 61 70 22 3e 3c 63 69 74 65 20 63 6c 61 73 73 3d 22 66 69 6c 65 22 3e 74 65 73 74 5f 65 72 72 6f ap"><cite.class="file">test_erro
70620 72 5f 75 6e 69 6f 6e 2e 7a 69 67 3c 2f 63 69 74 65 3e 3c 2f 66 69 67 63 61 70 74 69 6f 6e 3e 3c r_union.zig</cite></figcaption><
70640 70 72 65 3e 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 63 pre><code><span.class="tok-kw">c
70660 6f 6e 73 74 3c 2f 73 70 61 6e 3e 20 65 78 70 65 63 74 45 71 75 61 6c 20 3d 20 3c 73 70 61 6e 20 onst</span>.expectEqual.=.<span.
70680 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
706a0 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
706c0 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 45 td&quot;</span>).testing.expectE
706e0 71 75 61 6c 3b 0a 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 74 65 73 74 qual;..<span.class="tok-kw">test
70700 3c 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
70720 75 6f 74 3b 65 72 72 6f 72 20 75 6e 69 6f 6e 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 20 7b 0a 20 uot;error.union&quot;</span>.{..
70740 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
70760 6e 3e 20 66 6f 6f 3a 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 61 n>.foo:.<span.class="tok-type">a
70780 6e 79 65 72 72 6f 72 3c 2f 73 70 61 6e 3e 21 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d nyerror</span>!<span.class="tok-
707a0 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="
707c0 74 6f 6b 2d 6e 75 6c 6c 22 3e 75 6e 64 65 66 69 6e 65 64 3c 2f 73 70 61 6e 3e 3b 0a 0a 20 20 20 tok-null">undefined</span>;.....
707e0 20 3c 73 70 61 6e 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 .<span.class="tok-comment">//.Co
70800 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 20 65 72 72 6f 72 erce.from.child.type.of.an.error
70820 20 75 6e 69 6f 6e 3a 3c 2f 73 70 61 6e 3e 0a 20 20 20 20 66 6f 6f 20 3d 20 3c 73 70 61 6e 20 63 .union:</span>.....foo.=.<span.c
70840 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 31 32 33 34 3c 2f 73 70 61 6e 3e 3b 0a 0a lass="tok-number">1234</span>;..
70860 20 20 20 20 3c 73 70 61 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">//
70880 20 43 6f 65 72 63 65 20 66 72 6f 6d 20 61 6e 20 65 72 72 6f 72 20 73 65 74 3a 3c 2f 73 70 61 6e .Coerce.from.an.error.set:</span
708a0 3e 0a 20 20 20 20 66 6f 6f 20 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 >.....foo.=.<span.class="tok-kw"
708c0 3e 65 72 72 6f 72 3c 2f 73 70 61 6e 3e 2e 53 6f 6d 65 45 72 72 6f 72 3b 0a 0a 20 20 20 20 3c 73 >error</span>.SomeError;......<s
708e0 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 63 6f 6d 6d 65 6e 74 22 3e 2f 2f 20 55 73 65 20 63 pan.class="tok-comment">//.Use.c
70900 6f 6d 70 69 6c 65 2d 74 69 6d 65 20 72 65 66 6c 65 63 74 69 6f 6e 20 74 6f 20 61 63 63 65 73 73 ompile-time.reflection.to.access
70920 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 75 6e .the.payload.type.of.an.error.un
70940 69 6f 6e 3a 3c 2f 73 70 61 6e 3e 0a 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b ion:</span>.....<span.class="tok
70960 2d 6b 77 22 3e 74 72 79 3c 2f 73 70 61 6e 3e 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b -kw">try</span>.<span.class="tok
70980 2d 6b 77 22 3e 63 6f 6d 70 74 69 6d 65 3c 2f 73 70 61 6e 3e 20 65 78 70 65 63 74 45 71 75 61 6c -kw">comptime</span>.expectEqual
709a0 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
709c0 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 40 74 n>,.<span.class="tok-builtin">@t
709e0 79 70 65 49 6e 66 6f 3c 2f 73 70 61 6e 3e 28 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d ypeInfo</span>(<span.class="tok-
70a00 62 75 69 6c 74 69 6e 22 3e 40 54 79 70 65 4f 66 3c 2f 73 70 61 6e 3e 28 66 6f 6f 29 29 2e 65 72 builtin">@TypeOf</span>(foo)).er
70a20 72 6f 72 5f 75 6e 69 6f 6e 2e 70 61 79 6c 6f 61 64 29 3b 0a 0a 20 20 20 20 3c 73 70 61 6e 20 63 ror_union.payload);......<span.c
70a40 6c 61 73 73 3d 22 74 6f 6b 2d 63 6f 6d 6d 65 6e 74 22 3e 2f 2f 20 55 73 65 20 63 6f 6d 70 69 6c lass="tok-comment">//.Use.compil
70a60 65 2d 74 69 6d 65 20 72 65 66 6c 65 63 74 69 6f 6e 20 74 6f 20 61 63 63 65 73 73 20 74 68 65 20 e-time.reflection.to.access.the.
70a80 65 72 72 6f 72 20 73 65 74 20 74 79 70 65 20 6f 66 20 61 6e 20 65 72 72 6f 72 20 75 6e 69 6f 6e error.set.type.of.an.error.union
70aa0 3a 3c 2f 73 70 61 6e 3e 0a 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 :</span>.....<span.class="tok-kw
70ac0 22 3e 74 72 79 3c 2f 73 70 61 6e 3e 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 ">try</span>.<span.class="tok-kw
70ae0 22 3e 63 6f 6d 70 74 69 6d 65 3c 2f 73 70 61 6e 3e 20 65 78 70 65 63 74 45 71 75 61 6c 28 3c 73 ">comptime</span>.expectEqual(<s
70b00 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 61 6e 79 65 72 72 6f 72 3c 2f 73 pan.class="tok-type">anyerror</s
70b20 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">
70b40 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
70b60 6b 2d 62 75 69 6c 74 69 6e 22 3e 40 54 79 70 65 4f 66 3c 2f 73 70 61 6e 3e 28 66 6f 6f 29 29 2e k-builtin">@TypeOf</span>(foo)).
70b80 65 72 72 6f 72 5f 75 6e 69 6f 6e 2e 65 72 72 6f 72 5f 73 65 74 29 3b 0a 7d 3c 2f 63 6f 64 65 3e error_union.error_set);.}</code>
70ba0 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
70bc0 6f 6e 20 63 6c 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
70be0 61 70 74 69 6f 6e 3e 3c 70 72 65 3e 3c 73 61 6d 70 3e 24 20 3c 6b 62 64 3e 7a 69 67 20 74 65 73 aption><pre><samp>$.<kbd>zig.tes
70c00 74 20 74 65 73 74 5f 65 72 72 6f 72 5f 75 6e 69 6f 6e 2e 7a 69 67 3c 2f 6b 62 64 3e 0a 31 2f 31 t.test_error_union.zig</kbd>.1/1
70c20 20 74 65 73 74 5f 65 72 72 6f 72 5f 75 6e 69 6f 6e 2e 74 65 73 74 2e 65 72 72 6f 72 20 75 6e 69 .test_error_union.test.error.uni
70c40 6f 6e 2e 2e 2e 4f 4b 0a 41 6c 6c 20 31 20 74 65 73 74 73 20 70 61 73 73 65 64 2e 0a 3c 2f 73 61 on...OK.All.1.tests.passed..</sa
70c60 6d 70 3e 3c 2f 70 72 65 3e 3c 2f 66 69 67 75 72 65 3e 0a 0a 20 20 20 20 20 20 3c 68 34 20 69 64 mp></pre></figure>........<h4.id
70c80 3d 22 4d 65 72 67 69 6e 67 2d 45 72 72 6f 72 2d 53 65 74 73 22 3e 3c 61 20 68 72 65 66 3d 22 6e ="Merging-Error-Sets"><a.href="n
70ca0 61 76 2e 78 68 74 6d 6c 23 74 6f 63 2d 4d 65 72 67 69 6e 67 2d 45 72 72 6f 72 2d 53 65 74 73 22 av.xhtml#toc-Merging-Error-Sets"
70cc0 3e 4d 65 72 67 69 6e 67 20 45 72 72 6f 72 20 53 65 74 73 3c 2f 61 3e 20 3c 61 20 63 6c 61 73 73 >Merging.Error.Sets</a>.<a.class
70ce0 3d 22 68 64 72 22 20 68 72 65 66 3d 22 23 4d 65 72 67 69 6e 67 2d 45 72 72 6f 72 2d 53 65 74 73 ="hdr".href="#Merging-Error-Sets
70d00 22 3e c2 a7 3c 2f 61 3e 3c 2f 68 34 3e 0a 0a 20 20 20 20 20 20 3c 70 3e 0a 20 20 20 20 20 20 55 ">..</a></h4>........<p>.......U
70d20 73 65 20 74 68 65 20 3c 63 6f 64 65 3e 7c 7c 3c 2f 63 6f 64 65 3e 20 6f 70 65 72 61 74 6f 72 20 se.the.<code>||</code>.operator.
70d40 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 67 65 74 68 65 72 to.merge.two.error.sets.together
70d60 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 72 20 73 65 74 20 ..The.resulting.......error.set.
70d80 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 68 20 65 72 72 6f contains.the.errors.of.both.erro
70da0 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 74 68 65 20 6c 65 r.sets..Doc.comments.from.the.le
70dc0 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 65 20 64 6f 63 20 ft-hand.......side.override.doc.
70de0 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 6e 64 20 73 69 64 comments.from.the.right-hand.sid
70e00 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 63 0a 20 20 20 20 e..In.this.example,.the.doc.....
70e20 20 20 63 6f 6d 6d 65 6e 74 73 20 66 6f 72 20 3c 63 6f 64 65 3e 43 2e 50 61 74 68 4e 6f 74 46 6f ..comments.for.<code>C.PathNotFo
70e40 75 6e 64 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 und</code>.is.<code>A.doc.commen
70e60 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>..
70e80 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
70ea0 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
70ec0 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
70ee0 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</
70f00 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
70f20 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
70f40 6f 64 65 3e 4c 69 6e 75 78 46 69 6c 65 4f 70 65 6e 45 72 72 6f 72 20 7c 7c 20 57 69 6e 64 6f 77 ode>LinuxFileOpenError.||.Window
70f60 73 46 69 6c 65 4f 70 65 6e 45 72 72 6f 72 3c 2f 63 6f 64 65 3e 20 66 6f 72 20 74 68 65 20 65 72 sFileOpenError</code>.for.the.er
70f80 72 6f 72 20 73 65 74 20 6f 66 20 6f 70 65 6e 69 6e 67 0a 20 20 20 20 20 20 66 69 6c 65 73 2e 0a ror.set.of.opening.......files..
70fa0 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
70fc0 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
70fe0 3d 22 66 69 6c 65 22 3e 74 65 73 74 5f 6d 65 72 67 69 6e 67 5f 65 72 72 6f 72 5f 73 65 74 73 2e ="file">test_merging_error_sets.
71000 7a 69 67 3c 2f 63 69 74 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
71020 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 63 6f 6e 73 74 3c 2f 73 70 e><span.class="tok-kw">const</sp
71040 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 72 an>.A.=.<span.class="tok-kw">err
71060 6f 72 3c 2f 73 70 61 6e 3e 7b 0a 20 20 20 20 4e 6f 74 44 69 72 2c 0a 0a 20 20 20 20 3c 73 70 61 or</span>{.....NotDir,......<spa
71080 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 63 6f 6d 6d 65 6e 74 22 3e 2f 2f 2f 20 41 20 64 6f 63 20 n.class="tok-comment">///.A.doc.
710a0 63 6f 6d 6d 65 6e 74 3c 2f 73 70 61 6e 3e 0a 20 20 20 20 50 61 74 68 4e 6f 74 46 6f 75 6e 64 2c comment</span>.....PathNotFound,
710c0 0a 7d 3b 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 63 6f 6e 73 74 3c 2f .};.<span.class="tok-kw">const</
710e0 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 6b 2d 6b 77 22 3e 65 span>.B.=.<span.class="tok-kw">e
71100 72 72 6f 72 3c 2f 73 70 61 6e 3e 7b 0a 20 20 20 20 4f 75 74 4f 66 4d 65 6d 6f 72 79 2c 0a 0a 20 rror</span>{.....OutOfMemory,...
71120 20 20 20 3c 73 70 61 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">///
71140 20 42 20 64 6f 63 20 63 6f 6d 6d 65 6e 74 3c 2f 73 70 61 6e 3e 0a 20 20 20 20 50 61 74 68 4e 6f .B.doc.comment</span>.....PathNo
71160 74 46 6f 75 6e 64 2c 0a 7d 3b 0a 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 tFound,.};..<span.class="tok-kw"
71180 3e 63 6f 6e 73 74 3c 2f 73 70 61 6e 3e 20 43 20 3d 20 41 20 7c 7c 20 42 3b 0a 0a 3c 73 70 61 6e >const</span>.C.=.A.||.B;..<span
711a0 20 63 6c 61 73 73 3d 22 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.
711c0 63 6c 61 73 73 3d 22 74 6f 6b 2d 66 6e 22 3e 66 6f 6f 3c 2f 73 70 61 6e 3e 28 29 20 43 21 3c 73 class="tok-fn">foo</span>().C!<s
711e0 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>
71200 20 7b 0a 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 72 65 74 75 .{.....<span.class="tok-kw">retu
71220 72 6e 3c 2f 73 70 61 6e 3e 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 65 rn</span>.<span.class="tok-kw">e
71240 72 72 6f 72 3c 2f 73 70 61 6e 3e 2e 4e 6f 74 44 69 72 3b 0a 7d 0a 0a 3c 73 70 61 6e 20 63 6c 61 rror</span>.NotDir;.}..<span.cla
71260 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
71280 61 73 73 3d 22 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 ass="tok-str">&quot;merge.error.
712a0 73 65 74 73 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 20 7b 0a 20 20 20 20 3c 73 70 61 6e 20 63 6c sets&quot;</span>.{.....<span.cl
712c0 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 69 66 3c 2f 73 70 61 6e 3e 20 28 66 6f 6f 28 29 29 20 7b ass="tok-kw">if</span>.(foo()).{
712e0 0a 20 20 20 20 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 62 75 69 6c 74 69 .........<span.class="tok-builti
71300 6e 22 3e 40 70 61 6e 69 63 3c 2f 73 70 61 6e 3e 28 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f n">@panic</span>(<span.class="to
71320 6b 2d 73 74 72 22 3e 26 71 75 6f 74 3b 75 6e 65 78 70 65 63 74 65 64 26 71 75 6f 74 3b 3c 2f 73 k-str">&quot;unexpected&quot;</s
71340 70 61 6e 3e 29 3b 0a 20 20 20 20 7d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 pan>);.....}.<span.class="tok-kw
71360 22 3e 65 6c 73 65 3c 2f 73 70 61 6e 3e 20 7c 65 72 72 7c 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d ">else</span>.|err|.<span.class=
71380 22 74 6f 6b 2d 6b 77 22 3e 73 77 69 74 63 68 3c 2f 73 70 61 6e 3e 20 28 65 72 72 29 20 7b 0a 20 "tok-kw">switch</span>.(err).{..
713a0 20 20 20 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 65 72 72 6f .......<span.class="tok-kw">erro
713c0 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 70 61 6e r</span>.OutOfMemory.=&gt;.<span
713e0 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 73 70 61 .class="tok-builtin">@panic</spa
71400 6e 3e 28 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 73 74 72 22 3e 26 71 75 6f 74 3b 75 n>(<span.class="tok-str">&quot;u
71420 6e 65 78 70 65 63 74 65 64 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 29 2c 0a 20 20 20 20 20 20 20 nexpected&quot;</span>),........
71440 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
71460 6e 3e 2e 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 n>.PathNotFound.=&gt;.<span.clas
71480 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 73 s="tok-builtin">@panic</span>(<s
714a0 70 61 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 70 65 pan.class="tok-str">&quot;unexpe
714c0 63 74 65 64 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 29 2c 0a 20 20 20 20 20 20 20 20 3c 73 70 61 cted&quot;</span>),.........<spa
714e0 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 4e 6f n.class="tok-kw">error</span>.No
71500 74 44 69 72 20 3d 26 67 74 3b 20 7b 7d 2c 0a 20 20 20 20 7d 0a 7d 3c 2f 63 6f 64 65 3e 3c 2f 70 tDir.=&gt;.{},.....}.}</code></p
71520 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.
71540 63 6c 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
71560 69 6f 6e 3e 3c 70 72 65 3e 3c 73 61 6d 70 3e 24 20 3c 6b 62 64 3e 7a 69 67 20 74 65 73 74 20 74 ion><pre><samp>$.<kbd>zig.test.t
71580 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 6b 62 64 3e est_merging_error_sets.zig</kbd>
715a0 0a 31 2f 31 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 74 65 73 .1/1.test_merging_error_sets.tes
715c0 74 2e 6d 65 72 67 65 20 65 72 72 6f 72 20 73 65 74 73 2e 2e 2e 4f 4b 0a 41 6c 6c 20 31 20 74 65 t.merge.error.sets...OK.All.1.te
715e0 73 74 73 20 70 61 73 73 65 64 2e 0a 3c 2f 73 61 6d 70 3e 3c 2f 70 72 65 3e 3c 2f 66 69 67 75 72 sts.passed..</samp></pre></figur
71600 65 3e 0a 0a 20 20 20 20 20 20 0a 20 20 20 20 20 20 3c 68 34 20 69 64 3d 22 49 6e 66 65 72 72 65 e>...............<h4.id="Inferre
71620 64 2d 45 72 72 6f 72 2d 53 65 74 73 22 3e 3c 61 20 68 72 65 66 3d 22 6e 61 76 2e 78 68 74 6d 6c d-Error-Sets"><a.href="nav.xhtml
71640 23 74 6f 63 2d 49 6e 66 65 72 72 65 64 2d 45 72 72 6f 72 2d 53 65 74 73 22 3e 49 6e 66 65 72 72 #toc-Inferred-Error-Sets">Inferr
71660 65 64 20 45 72 72 6f 72 20 53 65 74 73 3c 2f 61 3e 20 3c 61 20 63 6c 61 73 73 3d 22 68 64 72 22 ed.Error.Sets</a>.<a.class="hdr"
71680 20 68 72 65 66 3d 22 23 49 6e 66 65 72 72 65 64 2d 45 72 72 6f 72 2d 53 65 74 73 22 3e c2 a7 3c .href="#Inferred-Error-Sets">..<
716a0 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 42 65 63 61 75 73 /a></h4>........<p>.......Becaus
716c0 65 20 6d 61 6e 79 20 66 75 6e 63 74 69 6f 6e 73 20 69 6e 20 5a 69 67 20 72 65 74 75 72 6e 20 61 e.many.functions.in.Zig.return.a
716e0 20 70 6f 73 73 69 62 6c 65 20 65 72 72 6f 72 2c 20 5a 69 67 20 73 75 70 70 6f 72 74 73 20 69 6e .possible.error,.Zig.supports.in
71700 66 65 72 72 69 6e 67 20 74 68 65 20 65 72 72 6f 72 20 73 65 74 2e 0a 20 20 20 20 20 20 54 6f 20 ferring.the.error.set........To.
71720 69 6e 66 65 72 20 74 68 65 20 65 72 72 6f 72 20 73 65 74 20 66 6f 72 20 61 20 66 75 6e 63 74 69 infer.the.error.set.for.a.functi
71740 6f 6e 2c 20 70 72 65 70 65 6e 64 20 74 68 65 20 3c 63 6f 64 65 3e 21 3c 2f 63 6f 64 65 3e 20 6f on,.prepend.the.<code>!</code>.o
71760 70 65 72 61 74 6f 72 20 74 6f 20 74 68 65 20 66 75 6e 63 74 69 6f 6e e2 80 99 73 20 72 65 74 75 perator.to.the.function...s.retu
71780 72 6e 20 74 79 70 65 2c 20 6c 69 6b 65 20 3c 63 6f 64 65 3e 21 54 3c 2f 63 6f 64 65 3e 3a 0a 20 rn.type,.like.<code>!T</code>:..
717a0 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
717c0 69 6f 6e 20 63 6c 61 73 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=
717e0 22 66 69 6c 65 22 3e 74 65 73 74 5f 69 6e 66 65 72 72 65 64 5f 65 72 72 6f 72 5f 73 65 74 73 2e "file">test_inferred_error_sets.
71800 7a 69 67 3c 2f 63 69 74 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
71820 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 63 6f 6d 6d 65 6e 74 22 3e 2f 2f 20 57 e><span.class="tok-comment">//.W
71840 69 74 68 20 61 6e 20 69 6e 66 65 72 72 65 64 20 65 72 72 6f 72 20 73 65 74 3c 2f 73 70 61 6e 3e ith.an.inferred.error.set</span>
71860 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 70 75 62 3c 2f 73 70 61 6e 3e .<span.class="tok-kw">pub</span>
71880 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>.
718a0 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 66 6e 22 3e 61 64 64 5f 69 6e 66 65 72 72 65 <span.class="tok-fn">add_inferre
718c0 64 3c 2f 73 70 61 6e 3e 28 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 63 6f d</span>(<span.class="tok-kw">co
718e0 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
71900 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 29 k-type">type</span>,.a:.T,.b:.T)
71920 20 21 54 20 7b 0a 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 63 .!T.{.....<span.class="tok-kw">c
71940 6f 6e 73 74 3c 2f 73 70 61 6e 3e 20 6f 76 20 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f onst</span>.ov.=.<span.class="to
71960 6b 2d 62 75 69 6c 74 69 6e 22 3e 40 61 64 64 57 69 74 68 4f 76 65 72 66 6c 6f 77 3c 2f 73 70 61 k-builtin">@addWithOverflow</spa
71980 6e 3e 28 61 2c 20 62 29 3b 0a 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b n>(a,.b);.....<span.class="tok-k
719a0 77 22 3e 69 66 3c 2f 73 70 61 6e 3e 20 28 6f 76 5b 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f w">if</span>.(ov[<span.class="to
719c0 6b 2d 6e 75 6d 62 65 72 22 3e 31 3c 2f 73 70 61 6e 3e 5d 20 21 3d 20 3c 73 70 61 6e 20 63 6c 61 k-number">1</span>].!=.<span.cla
719e0 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 30 3c 2f 73 70 61 6e 3e 29 20 3c 73 70 61 6e 20 ss="tok-number">0</span>).<span.
71a00 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
71a20 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 65 72 72 6f 72 3c 2f 73 70 61 6e 3e 2e 4f an.class="tok-kw">error</span>.O
71a40 76 65 72 66 6c 6f 77 3b 0a 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 verflow;.....<span.class="tok-kw
71a60 22 3e 72 65 74 75 72 6e 3c 2f 73 70 61 6e 3e 20 6f 76 5b 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 ">return</span>.ov[<span.class="
71a80 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 30 3c 2f 73 70 61 6e 3e 5d 3b 0a 7d 0a 0a 3c 73 70 61 6e 20 tok-number">0</span>];.}..<span.
71aa0 63 6c 61 73 73 3d 22 74 6f 6b 2d 63 6f 6d 6d 65 6e 74 22 3e 2f 2f 20 57 69 74 68 20 61 6e 20 65 class="tok-comment">//.With.an.e
71ac0 78 70 6c 69 63 69 74 20 65 72 72 6f 72 20 73 65 74 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 xplicit.error.set</span>.<span.c
71ae0 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
71b00 6c 61 73 73 3d 22 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
71b20 61 73 73 3d 22 74 6f 6b 2d 66 6e 22 3e 61 64 64 5f 65 78 70 6c 69 63 69 74 3c 2f 73 70 61 6e 3e ass="tok-fn">add_explicit</span>
71b40 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</
71b60 73 70 61 6e 3e 20 54 3a 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e span>.T:.<span.class="tok-type">
71b80 74 79 70 65 3c 2f 73 70 61 6e 3e 2c 20 61 3a 20 54 2c 20 62 3a 20 54 29 20 45 72 72 6f 72 21 54 type</span>,.a:.T,.b:.T).Error!T
71ba0 20 7b 0a 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 63 6f 6e 73 .{.....<span.class="tok-kw">cons
71bc0 74 3c 2f 73 70 61 6e 3e 20 6f 76 20 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 62 t</span>.ov.=.<span.class="tok-b
71be0 75 69 6c 74 69 6e 22 3e 40 61 64 64 57 69 74 68 4f 76 65 72 66 6c 6f 77 3c 2f 73 70 61 6e 3e 28 uiltin">@addWithOverflow</span>(
71c00 61 2c 20 62 29 3b 0a 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e a,.b);.....<span.class="tok-kw">
71c20 69 66 3c 2f 73 70 61 6e 3e 20 28 6f 76 5b 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e if</span>.(ov[<span.class="tok-n
71c40 75 6d 62 65 72 22 3e 31 3c 2f 73 70 61 6e 3e 5d 20 21 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d umber">1</span>].!=.<span.class=
71c60 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 30 3c 2f 73 70 61 6e 3e 29 20 3c 73 70 61 6e 20 63 6c 61 "tok-number">0</span>).<span.cla
71c80 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 72 65 74 75 72 6e 3c 2f 73 70 61 6e 3e 20 3c 73 70 61 6e 20 ss="tok-kw">return</span>.<span.
71ca0 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 65 72 72 6f 72 3c 2f 73 70 61 6e 3e 2e 4f 76 65 72 class="tok-kw">error</span>.Over
71cc0 66 6c 6f 77 3b 0a 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 72 flow;.....<span.class="tok-kw">r
71ce0 65 74 75 72 6e 3c 2f 73 70 61 6e 3e 20 6f 76 5b 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b eturn</span>.ov[<span.class="tok
71d00 2d 6e 75 6d 62 65 72 22 3e 30 3c 2f 73 70 61 6e 3e 5d 3b 0a 7d 0a 0a 3c 73 70 61 6e 20 63 6c 61 -number">0</span>];.}..<span.cla
71d20 73 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.=
71d40 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
71d60 6e 3e 7b 0a 20 20 20 20 4f 76 65 72 66 6c 6f 77 2c 0a 7d 3b 0a 0a 3c 73 70 61 6e 20 63 6c 61 73 n>{.....Overflow,.};..<span.clas
71d80 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
71da0 70 61 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<
71dc0 2f 73 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
71de0 6f 74 3b 73 74 64 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 29 3b 0a 0a 3c 73 70 61 6e 20 63 6c 61 ot;std&quot;</span>);..<span.cla
71e00 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
71e20 61 73 73 3d 22 74 6f 6b 2d 73 74 72 22 3e 26 71 75 6f 74 3b 69 6e 66 65 72 72 65 64 20 65 72 72 ass="tok-str">&quot;inferred.err
71e40 6f 72 20 73 65 74 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 20 7b 0a 20 20 20 20 3c 73 70 61 6e 20 or.set&quot;</span>.{.....<span.
71e60 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 64 64 5f 69 6e class="tok-kw">if</span>.(add_in
71e80 66 65 72 72 65 64 28 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 75 38 ferred(<span.class="tok-type">u8
71ea0 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
71ec0 22 3e 32 35 35 3c 2f 73 70 61 6e 3e 2c 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e ">255</span>,.<span.class="tok-n
71ee0 75 6d 62 65 72 22 3e 31 3c 2f 73 70 61 6e 3e 29 29 20 7c 5f 7c 20 3c 73 70 61 6e 20 63 6c 61 73 umber">1</span>)).|_|.<span.clas
71f00 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 20 3c 73 s="tok-kw">unreachable</span>.<s
71f20 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 65 6c 73 65 3c 2f 73 70 61 6e 3e 20 7c pan.class="tok-kw">else</span>.|
71f40 65 72 72 7c 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 73 77 69 74 63 68 err|.<span.class="tok-kw">switch
71f60 3c 2f 73 70 61 6e 3e 20 28 65 72 72 29 20 7b 0a 20 20 20 20 20 20 20 20 3c 73 70 61 6e 20 63 6c </span>.(err).{.........<span.cl
71f80 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 65 72 72 6f 72 3c 2f 73 70 61 6e 3e 2e 4f 76 65 72 66 6c ass="tok-kw">error</span>.Overfl
71fa0 6f 77 20 3d 26 67 74 3b 20 7b 7d 2c 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 63 6f ow.=&gt;.{},.<span.class="tok-co
71fc0 6d 6d 65 6e 74 22 3e 2f 2f 20 6f 6b 3c 2f 73 70 61 6e 3e 0a 20 20 20 20 7d 0a 7d 3c 2f 63 6f 64 mment">//.ok</span>.....}.}</cod
71fe0 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
72000 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
72020 67 63 61 70 74 69 6f 6e 3e 3c 70 72 65 3e 3c 73 61 6d 70 3e 24 20 3c 6b 62 64 3e 7a 69 67 20 74 gcaption><pre><samp>$.<kbd>zig.t
72040 65 73 74 20 74 65 73 74 5f 69 6e 66 65 72 72 65 64 5f 65 72 72 6f 72 5f 73 65 74 73 2e 7a 69 67 est.test_inferred_error_sets.zig
72060 3c 2f 6b 62 64 3e 0a 31 2f 31 20 74 65 73 74 5f 69 6e 66 65 72 72 65 64 5f 65 72 72 6f 72 5f 73 </kbd>.1/1.test_inferred_error_s
72080 65 74 73 2e 74 65 73 74 2e 69 6e 66 65 72 72 65 64 20 65 72 72 6f 72 20 73 65 74 2e 2e 2e 4f 4b ets.test.inferred.error.set...OK
720a0 0a 41 6c 6c 20 31 20 74 65 73 74 73 20 70 61 73 73 65 64 2e 0a 3c 2f 73 61 6d 70 3e 3c 2f 70 72 .All.1.tests.passed..</samp></pr
720c0 65 3e 3c 2f 66 69 67 75 72 65 3e 0a 0a 20 20 20 20 20 20 3c 70 3e 0a 20 20 20 20 20 20 57 68 65 e></figure>........<p>.......Whe
720e0 6e 20 61 20 66 75 6e 63 74 69 6f 6e 20 68 61 73 20 61 6e 20 69 6e 66 65 72 72 65 64 20 65 72 72 n.a.function.has.an.inferred.err
72100 6f 72 20 73 65 74 2c 20 74 68 61 74 20 66 75 6e 63 74 69 6f 6e 20 62 65 63 6f 6d 65 73 20 67 65 or.set,.that.function.becomes.ge
72120 6e 65 72 69 63 20 61 6e 64 20 74 68 75 73 20 69 74 20 62 65 63 6f 6d 65 73 0a 20 20 20 20 20 20 neric.and.thus.it.becomes.......
72140 74 72 69 63 6b 69 65 72 20 74 6f 20 64 6f 20 63 65 72 74 61 69 6e 20 74 68 69 6e 67 73 20 77 69 trickier.to.do.certain.things.wi
72160 74 68 20 69 74 2c 20 73 75 63 68 20 61 73 20 6f 62 74 61 69 6e 20 61 20 66 75 6e 63 74 69 6f 6e th.it,.such.as.obtain.a.function
72180 20 70 6f 69 6e 74 65 72 2c 20 6f 72 20 68 61 76 65 20 61 6e 20 65 72 72 6f 72 0a 20 20 20 20 20 .pointer,.or.have.an.error......
721a0 20 73 65 74 20 74 68 61 74 20 69 73 20 63 6f 6e 73 69 73 74 65 6e 74 20 61 63 72 6f 73 73 20 64 .set.that.is.consistent.across.d
721c0 69 66 66 65 72 65 6e 74 20 62 75 69 6c 64 20 74 61 72 67 65 74 73 2e 20 41 64 64 69 74 69 6f 6e ifferent.build.targets..Addition
721e0 61 6c 6c 79 2c 20 69 6e 66 65 72 72 65 64 20 65 72 72 6f 72 20 73 65 74 73 0a 20 20 20 20 20 20 ally,.inferred.error.sets.......
72200 61 72 65 20 69 6e 63 6f 6d 70 61 74 69 62 6c 65 20 77 69 74 68 20 72 65 63 75 72 73 69 6f 6e 2e are.incompatible.with.recursion.
72220 0a 20 20 20 20 20 20 3c 2f 70 3e 0a 20 20 20 20 20 20 3c 70 3e 0a 20 20 20 20 20 20 49 6e 20 74 .......</p>.......<p>.......In.t
72240 68 65 73 65 20 73 69 74 75 61 74 69 6f 6e 73 2c 20 69 74 20 69 73 20 72 65 63 6f 6d 6d 65 6e 64 hese.situations,.it.is.recommend
72260 65 64 20 74 6f 20 75 73 65 20 61 6e 20 65 78 70 6c 69 63 69 74 20 65 72 72 6f 72 20 73 65 74 2e ed.to.use.an.explicit.error.set.
72280 20 59 6f 75 20 63 61 6e 20 67 65 6e 65 72 61 6c 6c 79 20 73 74 61 72 74 0a 20 20 20 20 20 20 77 .You.can.generally.start.......w
722a0 69 74 68 20 61 6e 20 65 6d 70 74 79 20 65 72 72 6f 72 20 73 65 74 20 61 6e 64 20 6c 65 74 20 63 ith.an.empty.error.set.and.let.c
722c0 6f 6d 70 69 6c 65 20 65 72 72 6f 72 73 20 67 75 69 64 65 20 79 6f 75 20 74 6f 77 61 72 64 20 63 ompile.errors.guide.you.toward.c
722e0 6f 6d 70 6c 65 74 69 6e 67 20 74 68 65 20 73 65 74 2e 0a 20 20 20 20 20 20 3c 2f 70 3e 0a 20 20 ompleting.the.set........</p>...
72300 20 20 20 20 3c 70 3e 0a 20 20 20 20 20 20 54 68 65 73 65 20 6c 69 6d 69 74 61 74 69 6f 6e 73 20 ....<p>.......These.limitations.
72320 6d 61 79 20 62 65 20 6f 76 65 72 63 6f 6d 65 20 69 6e 20 61 20 66 75 74 75 72 65 20 76 65 72 73 may.be.overcome.in.a.future.vers
72340 69 6f 6e 20 6f 66 20 5a 69 67 2e 0a 20 20 20 20 20 20 3c 2f 70 3e 0a 20 20 20 20 20 20 0a 20 20 ion.of.Zig........</p>..........
72360 20 20 20 20 0a 20 20 20 20 20 20 3c 68 33 20 69 64 3d 22 45 72 72 6f 72 2d 52 65 74 75 72 6e 2d ...........<h3.id="Error-Return-
72380 54 72 61 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 45 Traces"><a.href="nav.xhtml#toc-E
723a0 72 72 6f 72 2d 52 65 74 75 72 6e 2d 54 72 61 63 65 73 22 3e 45 72 72 6f 72 20 52 65 74 75 72 6e rror-Return-Traces">Error.Return
723c0 20 54 72 61 63 65 73 3c 2f 61 3e 20 3c 61 20 63 6c 61 73 73 3d 22 68 64 72 22 20 68 72 65 66 3d .Traces</a>.<a.class="hdr".href=
723e0 22 23 45 72 72 6f 72 2d 52 65 74 75 72 6e 2d 54 72 61 63 65 73 22 3e c2 a7 3c 2f 61 3e 3c 2f 68 "#Error-Return-Traces">..</a></h
72400 33 3e 0a 0a 20 20 20 20 20 20 3c 70 3e 0a 20 20 20 20 20 20 45 72 72 6f 72 20 52 65 74 75 72 6e 3>........<p>.......Error.Return
72420 20 54 72 61 63 65 73 20 73 68 6f 77 20 61 6c 6c 20 74 68 65 20 70 6f 69 6e 74 73 20 69 6e 20 74 .Traces.show.all.the.points.in.t
72440 68 65 20 63 6f 64 65 20 74 68 61 74 20 61 6e 20 65 72 72 6f 72 20 77 61 73 20 72 65 74 75 72 6e he.code.that.an.error.was.return
72460 65 64 20 74 6f 20 74 68 65 20 63 61 6c 6c 69 6e 67 20 66 75 6e 63 74 69 6f 6e 2e 20 54 68 69 73 ed.to.the.calling.function..This
72480 20 6d 61 6b 65 73 20 69 74 20 70 72 61 63 74 69 63 61 6c 20 74 6f 20 75 73 65 20 3c 61 20 68 72 .makes.it.practical.to.use.<a.hr
724a0 65 66 3d 22 23 74 72 79 22 3e 74 72 79 3c 2f 61 3e 20 65 76 65 72 79 77 68 65 72 65 20 61 6e 64 ef="#try">try</a>.everywhere.and
724c0 20 74 68 65 6e 20 73 74 69 6c 6c 20 62 65 20 61 62 6c 65 20 74 6f 20 6b 6e 6f 77 20 77 68 61 74 .then.still.be.able.to.know.what
724e0 20 68 61 70 70 65 6e 65 64 20 69 66 20 61 6e 20 65 72 72 6f 72 20 65 6e 64 73 20 75 70 20 62 75 .happened.if.an.error.ends.up.bu
72500 62 62 6c 69 6e 67 20 61 6c 6c 20 74 68 65 20 77 61 79 20 6f 75 74 20 6f 66 20 79 6f 75 72 20 61 bbling.all.the.way.out.of.your.a
72520 70 70 6c 69 63 61 74 69 6f 6e 2e 0a 20 20 20 20 20 20 3c 2f 70 3e 0a 20 20 20 20 20 20 3c 66 69 pplication........</p>.......<fi
72540 67 75 72 65 3e 3c 66 69 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"
72560 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 72 65 74 75 72 6e ><cite.class="file">error_return
72580 5f 74 72 61 63 65 2e 7a 69 67 3c 2f 63 69 74 65 3e 3c 2f 66 69 67 63 61 70 74 69 6f 6e 3e 3c 70 _trace.zig</cite></figcaption><p
725a0 72 65 3e 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 70 75 re><code><span.class="tok-kw">pu
725c0 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
725e0 3c 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
72600 6e 3c 2f 73 70 61 6e 3e 28 29 20 21 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 n</span>().!<span.class="tok-typ
72620 65 22 3e 76 6f 69 64 3c 2f 73 70 61 6e 3e 20 7b 0a 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 e">void</span>.{.....<span.class
72640 3d 22 74 6f 6b 2d 6b 77 22 3e 74 72 79 3c 2f 73 70 61 6e 3e 20 66 6f 6f 28 3c 73 70 61 6e 20 63 ="tok-kw">try</span>.foo(<span.c
72660 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 31 32 3c 2f 73 70 61 6e 3e 29 3b 0a 7d 0a lass="tok-number">12</span>);.}.
72680 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 66 6e 3c 2f 73 70 61 6e 3e 20 .<span.class="tok-kw">fn</span>.
726a0 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 66 6e 22 3e 66 6f 6f 3c 2f 73 70 61 6e 3e 28 <span.class="tok-fn">foo</span>(
726c0 78 3a 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 69 33 32 3c 2f 73 x:.<span.class="tok-type">i32</s
726e0 70 61 6e 3e 29 20 21 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 76 6f pan>).!<span.class="tok-type">vo
72700 69 64 3c 2f 73 70 61 6e 3e 20 7b 0a 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b id</span>.{.....<span.class="tok
72720 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
72740 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 0a 20 20 20 ass="tok-number">5</span>).{....
72760 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
72780 70 61 6e 3e 20 62 61 72 28 29 3b 0a 20 20 20 20 7d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 pan>.bar();.....}.<span.class="t
727a0 6f 6b 2d 6b 77 22 3e 65 6c 73 65 3c 2f 73 70 61 6e 3e 20 7b 0a 20 20 20 20 20 20 20 20 3c 73 70 ok-kw">else</span>.{.........<sp
727c0 61 6e 20 63 6c 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 an.class="tok-kw">try</span>.ban
727e0 67 32 28 29 3b 0a 20 20 20 20 7d 0a 7d 0a 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d g2();.....}.}..<span.class="tok-
72800 6b 77 22 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
72820 6e 22 3e 62 61 72 3c 2f 73 70 61 6e 3e 28 29 20 21 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f n">bar</span>().!<span.class="to
72840 6b 2d 74 79 70 65 22 3e 76 6f 69 64 3c 2f 73 70 61 6e 3e 20 7b 0a 20 20 20 20 3c 73 70 61 6e 20 k-type">void</span>.{.....<span.
72860 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 69 66 3c 2f 73 70 61 6e 3e 20 28 62 61 7a 28 29 29 class="tok-kw">if</span>.(baz())
72880 20 7b 0a 20 20 20 20 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e .{.........<span.class="tok-kw">
728a0 74 72 79 3c 2f 73 70 61 6e 3e 20 71 75 75 78 28 29 3b 0a 20 20 20 20 7d 20 3c 73 70 61 6e 20 63 try</span>.quux();.....}.<span.c
728c0 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|.
728e0 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
72900 6e 3e 20 28 65 72 72 29 20 7b 0a 20 20 20 20 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 n>.(err).{.........<span.class="
72920 74 6f 6b 2d 6b 77 22 3e 65 72 72 6f 72 3c 2f 73 70 61 6e 3e 2e 46 69 6c 65 4e 6f 74 46 6f 75 6e tok-kw">error</span>.FileNotFoun
72940 64 20 3d 26 67 74 3b 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 74 72 79 d.=&gt;.<span.class="tok-kw">try
72960 3c 2f 73 70 61 6e 3e 20 68 65 6c 6c 6f 28 29 2c 0a 20 20 20 20 7d 0a 7d 0a 0a 3c 73 70 61 6e 20 </span>.hello(),.....}.}..<span.
72980 63 6c 61 73 73 3d 22 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
729a0 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 21 3c 73 70 61 lass="tok-fn">baz</span>().!<spa
729c0 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>.{
729e0 0a 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 74 72 79 3c 2f 73 .....<span.class="tok-kw">try</s
72a00 70 61 6e 3e 20 62 61 6e 67 31 28 29 3b 0a 7d 0a 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f pan>.bang1();.}..<span.class="to
72a20 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
72a40 2d 66 6e 22 3e 71 75 75 78 3c 2f 73 70 61 6e 3e 28 29 20 21 3c 73 70 61 6e 20 63 6c 61 73 73 3d -fn">quux</span>().!<span.class=
72a60 22 74 6f 6b 2d 74 79 70 65 22 3e 76 6f 69 64 3c 2f 73 70 61 6e 3e 20 7b 0a 20 20 20 20 3c 73 70 "tok-type">void</span>.{.....<sp
72a80 61 6e 20 63 6c 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 an.class="tok-kw">try</span>.ban
72aa0 67 32 28 29 3b 0a 7d 0a 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 66 6e g2();.}..<span.class="tok-kw">fn
72ac0 3c 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 68 65 6c </span>.<span.class="tok-fn">hel
72ae0 6c 6f 3c 2f 73 70 61 6e 3e 28 29 20 21 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 lo</span>().!<span.class="tok-ty
72b00 70 65 22 3e 76 6f 69 64 3c 2f 73 70 61 6e 3e 20 7b 0a 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 pe">void</span>.{.....<span.clas
72b20 73 3d 22 74 6f 6b 2d 6b 77 22 3e 74 72 79 3c 2f 73 70 61 6e 3e 20 62 61 6e 67 32 28 29 3b 0a 7d s="tok-kw">try</span>.bang2();.}
72b40 0a 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 66 6e 3c 2f 73 70 61 6e 3e ..<span.class="tok-kw">fn</span>
72b60 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 66 6e 22 3e 62 61 6e 67 31 3c 2f 73 70 61 .<span.class="tok-fn">bang1</spa
72b80 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
72ba0 64 3c 2f 73 70 61 6e 3e 20 7b 0a 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d d</span>.{.....<span.class="tok-
72bc0 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
72be0 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
72c00 3b 0a 7d 0a 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 66 6e 3c 2f 73 70 ;.}..<span.class="tok-kw">fn</sp
72c20 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 32 3c 2f an>.<span.class="tok-fn">bang2</
72c40 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">
72c60 76 6f 69 64 3c 2f 73 70 61 6e 3e 20 7b 0a 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 void</span>.{.....<span.class="t
72c80 6f 6b 2d 6b 77 22 3e 72 65 74 75 72 6e 3c 2f 73 70 61 6e 3e 20 3c 73 70 61 6e 20 63 6c 61 73 73 ok-kw">return</span>.<span.class
72ca0 3d 22 74 6f 6b 2d 6b 77 22 3e 65 72 72 6f 72 3c 2f 73 70 61 6e 3e 2e 50 65 72 6d 69 73 73 69 6f ="tok-kw">error</span>.Permissio
72cc0 6e 44 65 6e 69 65 64 3b 0a 7d 3c 2f 63 6f 64 65 3e 3c 2f 70 72 65 3e 3c 2f 66 69 67 75 72 65 3e nDenied;.}</code></pre></figure>
72ce0 3c 66 69 67 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
72d00 2d 63 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
72d20 6d 70 3e 24 20 3c 6b 62 64 3e 7a 69 67 20 62 75 69 6c 64 2d 65 78 65 20 65 72 72 6f 72 5f 72 65 mp>$.<kbd>zig.build-exe.error_re
72d40 74 75 72 6e 5f 74 72 61 63 65 2e 7a 69 67 3c 2f 6b 62 64 3e 0a 24 20 3c 6b 62 64 3e 2e 2f 65 72 turn_trace.zig</kbd>.$.<kbd>./er
72d60 72 6f 72 5f 72 65 74 75 72 6e 5f 74 72 61 63 65 3c 2f 6b 62 64 3e 0a 65 72 72 6f 72 3a 20 50 65 ror_return_trace</kbd>.error:.Pe
72d80 72 6d 69 73 73 69 6f 6e 44 65 6e 69 65 64 0a 2f 68 6f 6d 65 2f 63 69 2f 77 6f 72 6b 2f 7a 69 67 rmissionDenied./home/ci/work/zig
72da0 2d 62 6f 6f 74 73 74 72 61 70 2f 7a 69 67 2f 64 6f 63 2f 6c 61 6e 67 72 65 66 2f 65 72 72 6f 72 -bootstrap/zig/doc/langref/error
72dc0 5f 72 65 74 75 72 6e 5f 74 72 61 63 65 2e 7a 69 67 3a 33 34 3a 35 3a 20 30 78 31 31 64 38 33 39 _return_trace.zig:34:5:.0x11d839
72de0 63 20 69 6e 20 62 61 6e 67 31 20 28 65 72 72 6f 72 5f 72 65 74 75 72 6e 5f 74 72 61 63 65 2e 7a c.in.bang1.(error_return_trace.z
72e00 69 67 29 0a 20 20 20 20 72 65 74 75 72 6e 20 65 72 72 6f 72 2e 46 69 6c 65 4e 6f 74 46 6f 75 6e ig).....return.error.FileNotFoun
72e20 64 3b 0a 20 20 20 20 5e 0a 2f 68 6f 6d 65 2f 63 69 2f 77 6f 72 6b 2f 7a 69 67 2d 62 6f 6f 74 73 d;.....^./home/ci/work/zig-boots
72e40 74 72 61 70 2f 7a 69 67 2f 64 6f 63 2f 6c 61 6e 67 72 65 66 2f 65 72 72 6f 72 5f 72 65 74 75 72 trap/zig/doc/langref/error_retur
72e60 6e 5f 74 72 61 63 65 2e 7a 69 67 3a 32 32 3a 35 3a 20 30 78 31 31 64 38 33 66 37 20 69 6e 20 62 n_trace.zig:22:5:.0x11d83f7.in.b
72e80 61 7a 20 28 65 72 72 6f 72 5f 72 65 74 75 72 6e 5f 74 72 61 63 65 2e 7a 69 67 29 0a 20 20 20 20 az.(error_return_trace.zig).....
72ea0 74 72 79 20 62 61 6e 67 31 28 29 3b 0a 20 20 20 20 5e 0a 2f 68 6f 6d 65 2f 63 69 2f 77 6f 72 6b try.bang1();.....^./home/ci/work
72ec0 2f 7a 69 67 2d 62 6f 6f 74 73 74 72 61 70 2f 7a 69 67 2f 64 6f 63 2f 6c 61 6e 67 72 65 66 2f 65 /zig-bootstrap/zig/doc/langref/e
72ee0 72 72 6f 72 5f 72 65 74 75 72 6e 5f 74 72 61 63 65 2e 7a 69 67 3a 33 38 3a 35 3a 20 30 78 31 31 rror_return_trace.zig:38:5:.0x11
72f00 64 38 34 33 63 20 69 6e 20 62 61 6e 67 32 20 28 65 72 72 6f 72 5f 72 65 74 75 72 6e 5f 74 72 61 d843c.in.bang2.(error_return_tra
72f20 63 65 2e 7a 69 67 29 0a 20 20 20 20 72 65 74 75 72 6e 20 65 72 72 6f 72 2e 50 65 72 6d 69 73 73 ce.zig).....return.error.Permiss
72f40 69 6f 6e 44 65 6e 69 65 64 3b 0a 20 20 20 20 5e 0a 2f 68 6f 6d 65 2f 63 69 2f 77 6f 72 6b 2f 7a ionDenied;.....^./home/ci/work/z
72f60 69 67 2d 62 6f 6f 74 73 74 72 61 70 2f 7a 69 67 2f 64 6f 63 2f 6c 61 6e 67 72 65 66 2f 65 72 72 ig-bootstrap/zig/doc/langref/err
72f80 6f 72 5f 72 65 74 75 72 6e 5f 74 72 61 63 65 2e 7a 69 67 3a 33 30 3a 35 3a 20 30 78 31 31 64 38 or_return_trace.zig:30:5:.0x11d8
72fa0 35 31 37 20 69 6e 20 68 65 6c 6c 6f 20 28 65 72 72 6f 72 5f 72 65 74 75 72 6e 5f 74 72 61 63 65 517.in.hello.(error_return_trace
72fc0 2e 7a 69 67 29 0a 20 20 20 20 74 72 79 20 62 61 6e 67 32 28 29 3b 0a 20 20 20 20 5e 0a 2f 68 6f .zig).....try.bang2();.....^./ho
72fe0 6d 65 2f 63 69 2f 77 6f 72 6b 2f 7a 69 67 2d 62 6f 6f 74 73 74 72 61 70 2f 7a 69 67 2f 64 6f 63 me/ci/work/zig-bootstrap/zig/doc
73000 2f 6c 61 6e 67 72 65 66 2f 65 72 72 6f 72 5f 72 65 74 75 72 6e 5f 74 72 61 63 65 2e 7a 69 67 3a /langref/error_return_trace.zig:
73020 31 37 3a 33 31 3a 20 30 78 31 31 64 38 36 32 35 20 69 6e 20 62 61 72 20 28 65 72 72 6f 72 5f 72 17:31:.0x11d8625.in.bar.(error_r
73040 65 74 75 72 6e 5f 74 72 61 63 65 2e 7a 69 67 29 0a 20 20 20 20 20 20 20 20 65 72 72 6f 72 2e 46 eturn_trace.zig).........error.F
73060 69 6c 65 4e 6f 74 46 6f 75 6e 64 20 3d 26 67 74 3b 20 74 72 79 20 68 65 6c 6c 6f 28 29 2c 0a 20 ileNotFound.=&gt;.try.hello(),..
73080 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 5e 0a 2f .............................^./
730a0 68 6f 6d 65 2f 63 69 2f 77 6f 72 6b 2f 7a 69 67 2d 62 6f 6f 74 73 74 72 61 70 2f 7a 69 67 2f 64 home/ci/work/zig-bootstrap/zig/d
730c0 6f 63 2f 6c 61 6e 67 72 65 66 2f 65 72 72 6f 72 5f 72 65 74 75 72 6e 5f 74 72 61 63 65 2e 7a 69 oc/langref/error_return_trace.zi
730e0 67 3a 37 3a 39 3a 20 30 78 31 31 64 38 37 30 35 20 69 6e 20 66 6f 6f 20 28 65 72 72 6f 72 5f 72 g:7:9:.0x11d8705.in.foo.(error_r
73100 65 74 75 72 6e 5f 74 72 61 63 65 2e 7a 69 67 29 0a 20 20 20 20 20 20 20 20 74 72 79 20 62 61 72 eturn_trace.zig).........try.bar
73120 28 29 3b 0a 20 20 20 20 20 20 20 20 5e 0a 2f 68 6f 6d 65 2f 63 69 2f 77 6f 72 6b 2f 7a 69 67 2d ();.........^./home/ci/work/zig-
73140 62 6f 6f 74 73 74 72 61 70 2f 7a 69 67 2f 64 6f 63 2f 6c 61 6e 67 72 65 66 2f 65 72 72 6f 72 5f bootstrap/zig/doc/langref/error_
73160 72 65 74 75 72 6e 5f 74 72 61 63 65 2e 7a 69 67 3a 32 3a 35 3a 20 30 78 31 31 64 38 38 30 63 20 return_trace.zig:2:5:.0x11d880c.
73180 69 6e 20 6d 61 69 6e 20 28 65 72 72 6f 72 5f 72 65 74 75 72 6e 5f 74 72 61 63 65 2e 7a 69 67 29 in.main.(error_return_trace.zig)
731a0 0a 20 20 20 20 74 72 79 20 66 6f 6f 28 31 32 29 3b 0a 20 20 20 20 5e 0a 3c 2f 73 61 6d 70 3e 3c .....try.foo(12);.....^.</samp><
731c0 2f 70 72 65 3e 3c 2f 66 69 67 75 72 65 3e 0a 0a 20 20 20 20 20 20 3c 70 3e 0a 20 20 20 20 20 20 /pre></figure>........<p>.......
731e0 4c 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 Look.closely.at.this.example..Th
73200 69 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 is.is.no.stack.trace........</p>
73220 0a 20 20 20 20 20 20 3c 70 3e 0a 20 20 20 20 20 20 59 6f 75 20 63 61 6e 20 73 65 65 20 74 68 61 .......<p>.......You.can.see.tha
73240 74 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 t.the.final.error.bubbled.up.was
73260 20 3c 63 6f 64 65 3e 50 65 72 6d 69 73 73 69 6f 6e 44 65 6e 69 65 64 3c 2f 63 6f 64 65 3e 2c 0a .<code>PermissionDenied</code>,.
73280 20 20 20 20 20 20 20 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 ..........but.the.original.error
732a0 20 74 68 61 74 20 73 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 .that.started.this.whole.thing.w
732c0 61 73 20 3c 63 6f 64 65 3e 46 69 6c 65 4e 6f 74 46 6f 75 6e 64 3c 2f 63 6f 64 65 3e 2e 20 49 6e as.<code>FileNotFound</code>..In
732e0 20 74 68 65 20 3c 63 6f 64 65 3e 62 61 72 3c 2f 63 6f 64 65 3e 20 66 75 6e 63 74 69 6f 6e 2c 20 .the.<code>bar</code>.function,.
73300 74 68 65 20 63 6f 64 65 20 68 61 6e 64 6c 65 73 20 74 68 65 20 6f 72 69 67 69 6e 61 6c 20 65 72 the.code.handles.the.original.er
73320 72 6f 72 20 63 6f 64 65 2c 0a 20 20 20 20 20 20 61 6e 64 20 74 68 65 6e 20 72 65 74 75 72 6e 73 ror.code,.......and.then.returns
73340 20 61 6e 6f 74 68 65 72 20 6f 6e 65 2c 20 66 72 6f 6d 20 74 68 65 20 73 77 69 74 63 68 20 73 74 .another.one,.from.the.switch.st
73360 61 74 65 6d 65 6e 74 2e 20 45 72 72 6f 72 20 52 65 74 75 72 6e 20 54 72 61 63 65 73 20 6d 61 6b atement..Error.Return.Traces.mak
73380 65 20 74 68 69 73 20 63 6c 65 61 72 2c 20 77 68 65 72 65 61 73 20 61 20 73 74 61 63 6b 20 74 72 e.this.clear,.whereas.a.stack.tr
733a0 61 63 65 20 77 6f 75 6c 64 20 6c 6f 6f 6b 20 6c 69 6b 65 20 74 68 69 73 3a 0a 20 20 20 20 20 20 ace.would.look.like.this:.......
733c0 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
733e0 6c 61 73 73 3d 22 7a 69 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
73400 22 3e 73 74 61 63 6b 5f 74 72 61 63 65 2e 7a 69 67 3c 2f 63 69 74 65 3e 3c 2f 66 69 67 63 61 70 ">stack_trace.zig</cite></figcap
73420 74 69 6f 6e 3e 3c 70 72 65 3e 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b tion><pre><code><span.class="tok
73440 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
73460 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-
73480 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
734a0 6f 6b 2d 74 79 70 65 22 3e 76 6f 69 64 3c 2f 73 70 61 6e 3e 20 7b 0a 20 20 20 20 66 6f 6f 28 3c ok-type">void</span>.{.....foo(<
734c0 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 31 32 3c 2f 73 70 61 6e span.class="tok-number">12</span
734e0 3e 29 3b 0a 7d 0a 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 66 6e 3c 2f >);.}..<span.class="tok-kw">fn</
73500 73 70 61 6e 3e 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 66 6e 22 3e 66 6f 6f 3c 2f span>.<span.class="tok-fn">foo</
73520 73 70 61 6e 3e 28 78 3a 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e span>(x:.<span.class="tok-type">
73540 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
73560 65 22 3e 76 6f 69 64 3c 2f 73 70 61 6e 3e 20 7b 0a 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 e">void</span>.{.....<span.class
73580 3d 22 74 6f 6b 2d 6b 77 22 3e 69 66 3c 2f 73 70 61 6e 3e 20 28 78 20 26 67 74 3b 3d 20 3c 73 70 ="tok-kw">if</span>.(x.&gt;=.<sp
735a0 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 20 an.class="tok-number">5</span>).
735c0 7b 0a 20 20 20 20 20 20 20 20 62 61 72 28 29 3b 0a 20 20 20 20 7d 20 3c 73 70 61 6e 20 63 6c 61 {.........bar();.....}.<span.cla
735e0 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 65 6c 73 65 3c 2f 73 70 61 6e 3e 20 7b 0a 20 20 20 20 20 20 ss="tok-kw">else</span>.{.......
73600 20 20 62 61 6e 67 32 28 29 3b 0a 20 20 20 20 7d 0a 7d 0a 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d ..bang2();.....}.}..<span.class=
73620 22 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="
73640 74 6f 6b 2d 66 6e 22 3e 62 61 72 3c 2f 73 70 61 6e 3e 28 29 20 3c 73 70 61 6e 20 63 6c 61 73 73 tok-fn">bar</span>().<span.class
73660 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 76 6f 69 64 3c 2f 73 70 61 6e 3e 20 7b 0a 20 20 20 20 3c 73 ="tok-type">void</span>.{.....<s
73680 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 69 66 3c 2f 73 70 61 6e 3e 20 28 62 61 pan.class="tok-kw">if</span>.(ba
736a0 7a 28 29 29 20 7b 0a 20 20 20 20 20 20 20 20 71 75 75 78 28 29 3b 0a 20 20 20 20 7d 20 3c 73 70 z()).{.........quux();.....}.<sp
736c0 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 0a an.class="tok-kw">else</span>.{.
736e0 20 20 20 20 20 20 20 20 68 65 6c 6c 6f 28 29 3b 0a 20 20 20 20 7d 0a 7d 0a 0a 3c 73 70 61 6e 20 ........hello();.....}.}..<span.
73700 63 6c 61 73 73 3d 22 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
73720 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 6e lass="tok-fn">baz</span>().<span
73740 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 0a .class="tok-type">bool</span>.{.
73760 20 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<
73780 2f 73 70 61 6e 3e 20 62 61 6e 67 31 28 29 3b 0a 7d 0a 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 /span>.bang1();.}..<span.class="
737a0 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
737c0 6f 6b 2d 66 6e 22 3e 71 75 75 78 3c 2f 73 70 61 6e 3e 28 29 20 3c 73 70 61 6e 20 63 6c 61 73 73 ok-fn">quux</span>().<span.class
737e0 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 76 6f 69 64 3c 2f 73 70 61 6e 3e 20 7b 0a 20 20 20 20 62 61 ="tok-type">void</span>.{.....ba
73800 6e 67 32 28 29 3b 0a 7d 0a 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 66 ng2();.}..<span.class="tok-kw">f
73820 6e 3c 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 68 65 n</span>.<span.class="tok-fn">he
73840 6c 6c 6f 3c 2f 73 70 61 6e 3e 28 29 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 llo</span>().<span.class="tok-ty
73860 70 65 22 3e 76 6f 69 64 3c 2f 73 70 61 6e 3e 20 7b 0a 20 20 20 20 62 61 6e 67 32 28 29 3b 0a 7d pe">void</span>.{.....bang2();.}
73880 0a 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 66 6e 3c 2f 73 70 61 6e 3e ..<span.class="tok-kw">fn</span>
738a0 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 66 6e 22 3e 62 61 6e 67 31 3c 2f 73 70 61 .<span.class="tok-fn">bang1</spa
738c0 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 62 6f 6f 6c n>().<span.class="tok-type">bool
738e0 3c 2f 73 70 61 6e 3e 20 7b 0a 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b </span>.{.....<span.class="tok-k
73900 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
73920 6b 2d 6e 75 6c 6c 22 3e 66 61 6c 73 65 3c 2f 73 70 61 6e 3e 3b 0a 7d 0a 0a 3c 73 70 61 6e 20 63 k-null">false</span>;.}..<span.c
73940 6c 61 73 73 3d 22 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
73960 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 61 ass="tok-fn">bang2</span>().<spa
73980 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>.{
739a0 0a 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 62 75 69 6c 74 69 6e 22 3e 40 .....<span.class="tok-builtin">@
739c0 70 61 6e 69 63 3c 2f 73 70 61 6e 3e 28 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 73 74 panic</span>(<span.class="tok-st
739e0 72 22 3e 26 71 75 6f 74 3b 50 65 72 6d 69 73 73 69 6f 6e 44 65 6e 69 65 64 26 71 75 6f 74 3b 3c r">&quot;PermissionDenied&quot;<
73a00 2f 73 70 61 6e 3e 29 3b 0a 7d 3c 2f 63 6f 64 65 3e 3c 2f 70 72 65 3e 3c 2f 66 69 67 75 72 65 3e /span>);.}</code></pre></figure>
73a20 3c 66 69 67 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
73a40 2d 63 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
73a60 6d 70 3e 24 20 3c 6b 62 64 3e 7a 69 67 20 62 75 69 6c 64 2d 65 78 65 20 73 74 61 63 6b 5f 74 72 mp>$.<kbd>zig.build-exe.stack_tr
73a80 61 63 65 2e 7a 69 67 3c 2f 6b 62 64 3e 0a 24 20 3c 6b 62 64 3e 2e 2f 73 74 61 63 6b 5f 74 72 61 ace.zig</kbd>.$.<kbd>./stack_tra
73aa0 63 65 3c 2f 6b 62 64 3e 0a 74 68 72 65 61 64 20 32 33 32 38 30 30 20 70 61 6e 69 63 3a 20 50 65 ce</kbd>.thread.232800.panic:.Pe
73ac0 72 6d 69 73 73 69 6f 6e 44 65 6e 69 65 64 0a 2f 68 6f 6d 65 2f 63 69 2f 77 6f 72 6b 2f 7a 69 67 rmissionDenied./home/ci/work/zig
73ae0 2d 62 6f 6f 74 73 74 72 61 70 2f 7a 69 67 2f 64 6f 63 2f 6c 61 6e 67 72 65 66 2f 73 74 61 63 6b -bootstrap/zig/doc/langref/stack
73b00 5f 74 72 61 63 65 2e 7a 69 67 3a 33 38 3a 35 3a 20 30 78 31 31 64 39 36 62 61 20 69 6e 20 62 61 _trace.zig:38:5:.0x11d96ba.in.ba
73b20 6e 67 32 20 28 73 74 61 63 6b 5f 74 72 61 63 65 2e 7a 69 67 29 0a 20 20 20 20 40 70 61 6e 69 63 ng2.(stack_trace.zig).....@panic
73b40 28 26 71 75 6f 74 3b 50 65 72 6d 69 73 73 69 6f 6e 44 65 6e 69 65 64 26 71 75 6f 74 3b 29 3b 0a (&quot;PermissionDenied&quot;);.
73b60 20 20 20 20 5e 0a 2f 68 6f 6d 65 2f 63 69 2f 77 6f 72 6b 2f 7a 69 67 2d 62 6f 6f 74 73 74 72 61 ....^./home/ci/work/zig-bootstra
73b80 70 2f 7a 69 67 2f 64 6f 63 2f 6c 61 6e 67 72 65 66 2f 73 74 61 63 6b 5f 74 72 61 63 65 2e 7a 69 p/zig/doc/langref/stack_trace.zi
73ba0 67 3a 33 30 3a 31 30 3a 20 30 78 31 31 64 39 37 33 63 20 69 6e 20 68 65 6c 6c 6f 20 28 73 74 61 g:30:10:.0x11d973c.in.hello.(sta
73bc0 63 6b 5f 74 72 61 63 65 2e 7a 69 67 29 0a 20 20 20 20 62 61 6e 67 32 28 29 3b 0a 20 20 20 20 20 ck_trace.zig).....bang2();......
73be0 20 20 20 20 5e 0a 2f 68 6f 6d 65 2f 63 69 2f 77 6f 72 6b 2f 7a 69 67 2d 62 6f 6f 74 73 74 72 61 ....^./home/ci/work/zig-bootstra
73c00 70 2f 7a 69 67 2f 64 6f 63 2f 6c 61 6e 67 72 65 66 2f 73 74 61 63 6b 5f 74 72 61 63 65 2e 7a 69 p/zig/doc/langref/stack_trace.zi
73c20 67 3a 31 37 3a 31 34 3a 20 30 78 31 31 64 39 36 66 33 20 69 6e 20 62 61 72 20 28 73 74 61 63 6b g:17:14:.0x11d96f3.in.bar.(stack
73c40 5f 74 72 61 63 65 2e 7a 69 67 29 0a 20 20 20 20 20 20 20 20 68 65 6c 6c 6f 28 29 3b 0a 20 20 20 _trace.zig).........hello();....
73c60 20 20 20 20 20 20 20 20 20 20 5e 0a 2f 68 6f 6d 65 2f 63 69 2f 77 6f 72 6b 2f 7a 69 67 2d 62 6f ..........^./home/ci/work/zig-bo
73c80 6f 74 73 74 72 61 70 2f 7a 69 67 2f 64 6f 63 2f 6c 61 6e 67 72 65 66 2f 73 74 61 63 6b 5f 74 72 otstrap/zig/doc/langref/stack_tr
73ca0 61 63 65 2e 7a 69 67 3a 37 3a 31 32 3a 20 30 78 31 31 64 39 30 64 38 20 69 6e 20 66 6f 6f 20 28 ace.zig:7:12:.0x11d90d8.in.foo.(
73cc0 73 74 61 63 6b 5f 74 72 61 63 65 2e 7a 69 67 29 0a 20 20 20 20 20 20 20 20 62 61 72 28 29 3b 0a stack_trace.zig).........bar();.
73ce0 20 20 20 20 20 20 20 20 20 20 20 5e 0a 2f 68 6f 6d 65 2f 63 69 2f 77 6f 72 6b 2f 7a 69 67 2d 62 ...........^./home/ci/work/zig-b
73d00 6f 6f 74 73 74 72 61 70 2f 7a 69 67 2f 64 6f 63 2f 6c 61 6e 67 72 65 66 2f 73 74 61 63 6b 5f 74 ootstrap/zig/doc/langref/stack_t
73d20 72 61 63 65 2e 7a 69 67 3a 32 3a 38 3a 20 30 78 31 31 64 39 30 34 31 20 69 6e 20 6d 61 69 6e 20 race.zig:2:8:.0x11d9041.in.main.
73d40 28 73 74 61 63 6b 5f 74 72 61 63 65 2e 7a 69 67 29 0a 20 20 20 20 66 6f 6f 28 31 32 29 3b 0a 20 (stack_trace.zig).....foo(12);..
73d60 20 20 20 20 20 20 5e 0a 2f 68 6f 6d 65 2f 63 69 2f 77 6f 72 6b 2f 7a 69 67 2d 62 6f 6f 74 73 74 ......^./home/ci/work/zig-bootst
73d80 72 61 70 2f 6f 75 74 2f 68 6f 73 74 2f 6c 69 62 2f 7a 69 67 2f 73 74 64 2f 73 74 61 72 74 2e 7a rap/out/host/lib/zig/std/start.z
73da0 69 67 3a 37 32 32 3a 35 39 3a 20 30 78 31 31 64 38 39 35 31 20 69 6e 20 63 61 6c 6c 4d 61 69 6e ig:722:59:.0x11d8951.in.callMain
73dc0 20 28 73 74 64 2e 7a 69 67 29 0a 20 20 20 20 69 66 20 28 66 6e 5f 69 6e 66 6f 2e 70 61 72 61 6d .(std.zig).....if.(fn_info.param
73de0 73 2e 6c 65 6e 20 3d 3d 20 30 29 20 72 65 74 75 72 6e 20 77 72 61 70 4d 61 69 6e 28 72 6f 6f 74 s.len.==.0).return.wrapMain(root
73e00 2e 6d 61 69 6e 28 29 29 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 .main());.......................
73e20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ................................
73e40 20 20 20 20 5e 0a 2f 68 6f 6d 65 2f 63 69 2f 77 6f 72 6b 2f 7a 69 67 2d 62 6f 6f 74 73 74 72 61 ....^./home/ci/work/zig-bootstra
73e60 70 2f 6f 75 74 2f 68 6f 73 74 2f 6c 69 62 2f 7a 69 67 2f 73 74 64 2f 73 74 61 72 74 2e 7a 69 67 p/out/host/lib/zig/std/start.zig
73e80 3a 32 30 34 3a 35 3a 20 30 78 31 31 64 38 33 38 31 20 69 6e 20 5f 73 74 61 72 74 20 28 73 74 64 :204:5:.0x11d8381.in._start.(std
73ea0 2e 7a 69 67 29 0a 20 20 20 20 61 73 6d 20 76 6f 6c 61 74 69 6c 65 20 28 73 77 69 74 63 68 20 28 .zig).....asm.volatile.(switch.(
73ec0 6e 61 74 69 76 65 5f 61 72 63 68 29 20 7b 0a 20 20 20 20 5e 0a 28 70 72 6f 63 65 73 73 20 74 65 native_arch).{.....^.(process.te
73ee0 72 6d 69 6e 61 74 65 64 20 62 79 20 73 69 67 6e 61 6c 29 0a 3c 2f 73 61 6d 70 3e 3c 2f 70 72 65 rminated.by.signal).</samp></pre
73f00 3e 3c 2f 66 69 67 75 72 65 3e 0a 0a 20 20 20 20 20 20 3c 70 3e 0a 20 20 20 20 20 20 48 65 72 65 ></figure>........<p>.......Here
73f20 2c 20 74 68 65 20 73 74 61 63 6b 20 74 72 61 63 65 20 64 6f 65 73 20 6e 6f 74 20 65 78 70 6c 61 ,.the.stack.trace.does.not.expla
73f40 69 6e 20 68 6f 77 20 74 68 65 20 63 6f 6e 74 72 6f 6c 0a 20 20 20 20 20 20 66 6c 6f 77 20 69 6e in.how.the.control.......flow.in
73f60 20 3c 63 6f 64 65 3e 62 61 72 3c 2f 63 6f 64 65 3e 20 67 6f 74 20 74 6f 20 74 68 65 20 3c 63 6f .<code>bar</code>.got.to.the.<co
73f80 64 65 3e 68 65 6c 6c 6f 28 29 3c 2f 63 6f 64 65 3e 20 63 61 6c 6c 2e 0a 20 20 20 20 20 20 4f 6e de>hello()</code>.call........On
73fa0 65 20 77 6f 75 6c 64 20 68 61 76 65 20 74 6f 20 6f 70 65 6e 20 61 20 64 65 62 75 67 67 65 72 20 e.would.have.to.open.a.debugger.
73fc0 6f 72 20 66 75 72 74 68 65 72 20 69 6e 73 74 72 75 6d 65 6e 74 20 74 68 65 20 61 70 70 6c 69 63 or.further.instrument.the.applic
73fe0 61 74 69 6f 6e 0a 20 20 20 20 20 20 69 6e 20 6f 72 64 65 72 20 74 6f 20 66 69 6e 64 20 6f 75 74 ation.......in.order.to.find.out
74000 2e 20 54 68 65 20 65 72 72 6f 72 20 72 65 74 75 72 6e 20 74 72 61 63 65 2c 20 6f 6e 20 74 68 65 ..The.error.return.trace,.on.the
74020 20 6f 74 68 65 72 20 68 61 6e 64 2c 0a 20 20 20 20 20 20 73 68 6f 77 73 20 65 78 61 63 74 6c 79 .other.hand,.......shows.exactly
74040 20 68 6f 77 20 74 68 65 20 65 72 72 6f 72 20 62 75 62 62 6c 65 64 20 75 70 2e 0a 20 20 20 20 20 .how.the.error.bubbled.up.......
74060 20 3c 2f 70 3e 0a 20 20 20 20 20 20 3c 70 3e 0a 20 20 20 20 20 20 54 68 69 73 20 64 65 62 75 67 .</p>.......<p>.......This.debug
74080 67 69 6e 67 20 66 65 61 74 75 72 65 20 6d 61 6b 65 73 20 69 74 20 65 61 73 69 65 72 20 74 6f 20 ging.feature.makes.it.easier.to.
740a0 69 74 65 72 61 74 65 20 71 75 69 63 6b 6c 79 20 6f 6e 20 63 6f 64 65 20 74 68 61 74 0a 20 20 20 iterate.quickly.on.code.that....
740c0 20 20 20 72 6f 62 75 73 74 6c 79 20 68 61 6e 64 6c 65 73 20 61 6c 6c 20 65 72 72 6f 72 20 63 6f ...robustly.handles.all.error.co
740e0 6e 64 69 74 69 6f 6e 73 2e 20 54 68 69 73 20 6d 65 61 6e 73 20 74 68 61 74 20 5a 69 67 20 64 65 nditions..This.means.that.Zig.de
74100 76 65 6c 6f 70 65 72 73 0a 20 20 20 20 20 20 77 69 6c 6c 20 6e 61 74 75 72 61 6c 6c 79 20 66 69 velopers.......will.naturally.fi
74120 6e 64 20 74 68 65 6d 73 65 6c 76 65 73 20 77 72 69 74 69 6e 67 20 63 6f 72 72 65 63 74 2c 20 72 nd.themselves.writing.correct,.r
74140 6f 62 75 73 74 20 63 6f 64 65 20 69 6e 20 6f 72 64 65 72 0a 20 20 20 20 20 20 74 6f 20 69 6e 63 obust.code.in.order.......to.inc
74160 72 65 61 73 65 20 74 68 65 69 72 20 64 65 76 65 6c 6f 70 6d 65 6e 74 20 70 61 63 65 2e 0a 20 20 rease.their.development.pace....
74180 20 20 20 20 3c 2f 70 3e 0a 20 20 20 20 20 20 3c 70 3e 0a 20 20 20 20 20 20 45 72 72 6f 72 20 52 ....</p>.......<p>.......Error.R
741a0 65 74 75 72 6e 20 54 72 61 63 65 73 20 61 72 65 20 65 6e 61 62 6c 65 64 20 62 79 20 64 65 66 61 eturn.Traces.are.enabled.by.defa
741c0 75 6c 74 20 69 6e 20 3c 61 20 68 72 65 66 3d 22 23 44 65 62 75 67 22 3e 44 65 62 75 67 3c 2f 61 ult.in.<a.href="#Debug">Debug</a
741e0 3e 20 62 75 69 6c 64 73 20 61 6e 64 20 64 69 73 61 62 6c 65 64 20 62 79 20 64 65 66 61 75 6c 74 >.builds.and.disabled.by.default
74200 20 69 6e 20 3c 61 20 68 72 65 66 3d 22 23 52 65 6c 65 61 73 65 46 61 73 74 22 3e 52 65 6c 65 61 .in.<a.href="#ReleaseFast">Relea
74220 73 65 46 61 73 74 3c 2f 61 3e 2c 20 3c 61 20 68 72 65 66 3d 22 23 52 65 6c 65 61 73 65 53 61 66 seFast</a>,.<a.href="#ReleaseSaf
74240 65 22 3e 52 65 6c 65 61 73 65 53 61 66 65 3c 2f 61 3e 20 61 6e 64 20 3c 61 20 68 72 65 66 3d 22 e">ReleaseSafe</a>.and.<a.href="
74260 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 20 #ReleaseSmall">ReleaseSmall</a>.
74280 62 75 69 6c 64 73 2e 0a 20 20 20 20 20 20 3c 2f 70 3e 0a 20 20 20 20 20 20 3c 70 3e 0a 20 20 20 builds........</p>.......<p>....
742a0 20 20 20 54 68 65 72 65 20 61 72 65 20 61 20 66 65 77 20 77 61 79 73 20 74 6f 20 61 63 74 69 76 ...There.are.a.few.ways.to.activ
742c0 61 74 65 20 74 68 69 73 20 65 72 72 6f 72 20 72 65 74 75 72 6e 20 74 72 61 63 69 6e 67 20 66 65 ate.this.error.return.tracing.fe
742e0 61 74 75 72 65 3a 0a 20 20 20 20 20 20 3c 2f 70 3e 0a 20 20 20 20 20 20 3c 75 6c 3e 0a 20 20 20 ature:.......</p>.......<ul>....
74300 20 20 20 20 20 3c 6c 69 3e 52 65 74 75 72 6e 20 61 6e 20 65 72 72 6f 72 20 66 72 6f 6d 20 6d 61 .....<li>Return.an.error.from.ma
74320 69 6e 3c 2f 6c 69 3e 0a 20 20 20 20 20 20 20 20 3c 6c 69 3e 41 6e 20 65 72 72 6f 72 20 6d 61 6b in</li>.........<li>An.error.mak
74340 65 73 20 69 74 73 20 77 61 79 20 74 6f 20 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d es.its.way.to.<code><span.class=
74360 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
74380 73 3d 22 74 6f 6b 2d 6b 77 22 3e 75 6e 72 65 61 63 68 61 62 6c 65 3c 2f 73 70 61 6e 3e 3c 2f 63 s="tok-kw">unreachable</span></c
743a0 6f 64 65 3e 20 61 6e 64 20 79 6f 75 20 68 61 76 65 20 6e 6f 74 20 6f 76 65 72 72 69 64 64 65 6e ode>.and.you.have.not.overridden
743c0 20 74 68 65 20 64 65 66 61 75 6c 74 20 70 61 6e 69 63 20 68 61 6e 64 6c 65 72 3c 2f 6c 69 3e 0a .the.default.panic.handler</li>.
743e0 20 20 20 20 20 20 20 20 3c 6c 69 3e 55 73 65 20 3c 61 20 68 72 65 66 3d 22 23 65 72 72 6f 72 52 ........<li>Use.<a.href="#errorR
74400 65 74 75 72 6e 54 72 61 63 65 22 3e 65 72 72 6f 72 52 65 74 75 72 6e 54 72 61 63 65 3c 2f 61 3e eturnTrace">errorReturnTrace</a>
74420 20 74 6f 20 61 63 63 65 73 73 20 74 68 65 20 63 75 72 72 65 6e 74 20 72 65 74 75 72 6e 20 74 72 .to.access.the.current.return.tr
74440 61 63 65 2e 20 59 6f 75 20 63 61 6e 20 75 73 65 20 3c 63 6f 64 65 3e 73 74 64 2e 64 65 62 75 67 ace..You.can.use.<code>std.debug
74460 2e 64 75 6d 70 45 72 72 6f 72 52 65 74 75 72 6e 54 72 61 63 65 3c 2f 63 6f 64 65 3e 20 74 6f 20 .dumpErrorReturnTrace</code>.to.
74480 70 72 69 6e 74 20 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 print.it..This.function.returns.
744a0 63 6f 6d 70 74 69 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 comptime-known.<a.href="#null">n
744c0 75 6c 6c 3c 2f 61 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 ull</a>.when.building.without.er
744e0 72 6f 72 20 72 65 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 ror.return.tracing.support.</li>
74500 0a 20 20 20 20 20 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 .......</ul>.......<h4.id="Imple
74520 6d 65 6e 74 61 74 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 mentation-Details"><a.href="nav.
74540 78 68 74 6d 6c 23 74 6f 63 2d 49 6d 70 6c 65 6d 65 6e 74 61 74 69 6f 6e 2d 44 65 74 61 69 6c 73 xhtml#toc-Implementation-Details
74560 22 3e 49 6d 70 6c 65 6d 65 6e 74 61 74 69 6f 6e 20 44 65 74 61 69 6c 73 3c 2f 61 3e 20 3c 61 20 ">Implementation.Details</a>.<a.
74580 63 6c 61 73 73 3d 22 68 64 72 22 20 68 72 65 66 3d 22 23 49 6d 70 6c 65 6d 65 6e 74 61 74 69 6f class="hdr".href="#Implementatio
745a0 6e 2d 44 65 74 61 69 6c 73 22 3e c2 a7 3c 2f 61 3e 3c 2f 68 34 3e 0a 0a 20 20 20 20 20 20 3c 70 n-Details">..</a></h4>........<p
745c0 3e 0a 20 20 20 20 20 20 54 6f 20 61 6e 61 6c 79 7a 65 20 70 65 72 66 6f 72 6d 61 6e 63 65 20 63 >.......To.analyze.performance.c
745e0 6f 73 74 2c 20 74 68 65 72 65 20 61 72 65 20 74 77 6f 20 63 61 73 65 73 3a 0a 20 20 20 20 20 20 ost,.there.are.two.cases:.......
74600 3c 2f 70 3e 0a 20 20 20 20 20 20 3c 75 6c 3e 0a 20 20 20 20 20 20 20 20 3c 6c 69 3e 77 68 65 6e </p>.......<ul>.........<li>when
74620 20 6e 6f 20 65 72 72 6f 72 73 20 61 72 65 20 72 65 74 75 72 6e 65 64 3c 2f 6c 69 3e 0a 20 20 20 .no.errors.are.returned</li>....
74640 20 20 20 20 20 3c 6c 69 3e 77 68 65 6e 20 72 65 74 75 72 6e 69 6e 67 20 65 72 72 6f 72 73 3c 2f .....<li>when.returning.errors</
74660 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>.......
74680 46 6f 72 20 74 68 65 20 63 61 73 65 20 77 68 65 6e 20 6e 6f 20 65 72 72 6f 72 73 20 61 72 65 20 For.the.case.when.no.errors.are.
746a0 72 65 74 75 72 6e 65 64 2c 20 74 68 65 20 63 6f 73 74 20 69 73 20 61 20 73 69 6e 67 6c 65 20 6d returned,.the.cost.is.a.single.m
746c0 65 6d 6f 72 79 20 77 72 69 74 65 20 6f 70 65 72 61 74 69 6f 6e 2c 20 6f 6e 6c 79 20 69 6e 20 74 emory.write.operation,.only.in.t
746e0 68 65 20 66 69 72 73 74 20 6e 6f 6e 2d 66 61 69 6c 61 62 6c 65 20 66 75 6e 63 74 69 6f 6e 20 69 he.first.non-failable.function.i
74700 6e 20 74 68 65 20 63 61 6c 6c 20 67 72 61 70 68 20 74 68 61 74 20 63 61 6c 6c 73 20 61 20 66 61 n.the.call.graph.that.calls.a.fa
74720 69 6c 61 62 6c 65 20 66 75 6e 63 74 69 6f 6e 2c 20 69 2e 65 2e 20 77 68 65 6e 20 61 20 66 75 6e ilable.function,.i.e..when.a.fun
74740 63 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 ction.returning.<code><span.clas
74760 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 76 6f 69 64 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 20 s="tok-type">void</span></code>.
74780 63 61 6c 6c 73 20 61 20 66 75 6e 63 74 69 6f 6e 20 72 65 74 75 72 6e 69 6e 67 20 3c 63 6f 64 65 calls.a.function.returning.<code
747a0 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 65 72 72 6f 72 3c 2f 73 70 61 ><span.class="tok-kw">error</spa
747c0 6e 3e 3c 2f 63 6f 64 65 3e 2e 0a 20 20 20 20 20 20 54 68 69 73 20 69 73 20 74 6f 20 69 6e 69 74 n></code>........This.is.to.init
747e0 69 61 6c 69 7a 65 20 74 68 69 73 20 73 74 72 75 63 74 20 69 6e 20 74 68 65 20 73 74 61 63 6b 20 ialize.this.struct.in.the.stack.
74800 6d 65 6d 6f 72 79 3a 0a 20 20 20 20 20 20 3c 2f 70 3e 0a 20 20 20 20 20 20 3c 66 69 67 75 72 65 memory:.......</p>.......<figure
74820 3e 3c 66 69 67 63 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
74840 74 65 20 63 6c 61 73 73 3d 22 66 69 6c 65 22 3e 73 74 61 63 6b 5f 74 72 61 63 65 5f 73 74 72 75 te.class="file">stack_trace_stru
74860 63 74 2e 7a 69 67 3c 2f 63 69 74 65 3e 3c 2f 66 69 67 63 61 70 74 69 6f 6e 3e 3c 70 72 65 3e 3c ct.zig</cite></figcaption><pre><
74880 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 70 75 62 3c 2f 73 code><span.class="tok-kw">pub</s
748a0 70 61 6e 3e 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 63 6f 6e 73 74 3c pan>.<span.class="tok-kw">const<
748c0 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 3d /span>.StackTrace.=.<span.class=
748e0 22 74 6f 6b 2d 6b 77 22 3e 73 74 72 75 63 74 3c 2f 73 70 61 6e 3e 20 7b 0a 20 20 20 20 69 6e 64 "tok-kw">struct</span>.{.....ind
74900 65 78 3a 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 75 73 69 7a 65 ex:.<span.class="tok-type">usize
74920 3c 2f 73 70 61 6e 3e 2c 0a 20 20 20 20 69 6e 73 74 72 75 63 74 69 6f 6e 5f 61 64 64 72 65 73 73 </span>,.....instruction_address
74940 65 73 3a 20 5b 4e 5d 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 75 73 es:.[N]<span.class="tok-type">us
74960 69 7a 65 3c 2f 73 70 61 6e 3e 2c 0a 7d 3b 3c 2f 63 6f 64 65 3e 3c 2f 70 72 65 3e 3c 2f 66 69 67 ize</span>,.};</code></pre></fig
74980 75 72 65 3e 0a 20 20 20 20 20 20 3c 70 3e 0a 20 20 20 20 20 20 48 65 72 65 2c 20 4e 20 69 73 20 ure>.......<p>.......Here,.N.is.
749a0 74 68 65 20 6d 61 78 69 6d 75 6d 20 66 75 6e 63 74 69 6f 6e 20 63 61 6c 6c 20 64 65 70 74 68 20 the.maximum.function.call.depth.
749c0 61 73 20 64 65 74 65 72 6d 69 6e 65 64 20 62 79 20 63 61 6c 6c 20 67 72 61 70 68 20 61 6e 61 6c as.determined.by.call.graph.anal
749e0 79 73 69 73 2e 20 52 65 63 75 72 73 69 6f 6e 20 69 73 20 69 67 6e 6f 72 65 64 20 61 6e 64 20 63 ysis..Recursion.is.ignored.and.c
74a00 6f 75 6e 74 73 20 66 6f 72 20 32 2e 0a 20 20 20 20 20 20 3c 2f 70 3e 0a 20 20 20 20 20 20 3c 70 ounts.for.2........</p>.......<p
74a20 3e 0a 20 20 20 20 20 20 41 20 70 6f 69 6e 74 65 72 20 74 6f 20 3c 63 6f 64 65 3e 53 74 61 63 6b >.......A.pointer.to.<code>Stack
74a40 54 72 61 63 65 3c 2f 63 6f 64 65 3e 20 69 73 20 70 61 73 73 65 64 20 61 73 20 61 20 73 65 63 72 Trace</code>.is.passed.as.a.secr
74a60 65 74 20 70 61 72 61 6d 65 74 65 72 20 74 6f 20 65 76 65 72 79 20 66 75 6e 63 74 69 6f 6e 20 74 et.parameter.to.every.function.t
74a80 68 61 74 20 63 61 6e 20 72 65 74 75 72 6e 20 61 6e 20 65 72 72 6f 72 2c 20 62 75 74 20 69 74 27 hat.can.return.an.error,.but.it'
74aa0 73 20 61 6c 77 61 79 73 20 74 68 65 20 66 69 72 73 74 20 70 61 72 61 6d 65 74 65 72 2c 20 73 6f s.always.the.first.parameter,.so
74ac0 20 69 74 20 63 61 6e 20 6c 69 6b 65 6c 79 20 73 69 74 20 69 6e 20 61 20 72 65 67 69 73 74 65 72 .it.can.likely.sit.in.a.register
74ae0 20 61 6e 64 20 73 74 61 79 20 74 68 65 72 65 2e 0a 20 20 20 20 20 20 3c 2f 70 3e 0a 20 20 20 20 .and.stay.there........</p>.....
74b00 20 20 3c 70 3e 0a 20 20 20 20 20 20 54 68 61 74 27 73 20 69 74 20 66 6f 72 20 74 68 65 20 70 61 ..<p>.......That's.it.for.the.pa
74b20 74 68 20 77 68 65 6e 20 6e 6f 20 65 72 72 6f 72 73 20 6f 63 63 75 72 2e 20 49 74 27 73 20 70 72 th.when.no.errors.occur..It's.pr
74b40 61 63 74 69 63 61 6c 6c 79 20 66 72 65 65 20 69 6e 20 74 65 72 6d 73 20 6f 66 20 70 65 72 66 6f actically.free.in.terms.of.perfo
74b60 72 6d 61 6e 63 65 2e 0a 20 20 20 20 20 20 3c 2f 70 3e 0a 20 20 20 20 20 20 3c 70 3e 0a 20 20 20 rmance........</p>.......<p>....
74b80 20 20 20 57 68 65 6e 20 67 65 6e 65 72 61 74 69 6e 67 20 74 68 65 20 63 6f 64 65 20 66 6f 72 20 ...When.generating.the.code.for.
74ba0 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 72 6f 72 a.function.that.returns.an.error
74bc0 2c 20 6a 75 73 74 20 62 65 66 6f 72 65 20 74 68 65 20 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c ,.just.before.the.<code><span.cl
74be0 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 63 6f 64 65 ass="tok-kw">return</span></code
74c00 3e 20 73 74 61 74 65 6d 65 6e 74 20 28 6f 6e 6c 79 20 66 6f 72 20 74 68 65 20 3c 63 6f 64 65 3e >.statement.(only.for.the.<code>
74c20 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
74c40 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 74 75 72 6e n></code>.statements.that.return
74c60 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 6c 6c 20 74 .errors),.Zig.generates.a.call.t
74c80 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 20 20 20 20 o.this.function:.......</p>.....
74ca0 20 20 3c 66 69 67 75 72 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
74cc0 2d 63 61 70 22 3e 3c 63 69 74 65 20 63 6c 61 73 73 3d 22 66 69 6c 65 22 3e 7a 69 67 5f 72 65 74 -cap"><cite.class="file">zig_ret
74ce0 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 63 61 70 74 urn_error_fn.zig</cite></figcapt
74d00 69 6f 6e 3e 3c 70 72 65 3e 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d ion><pre><code><span.class="tok-
74d20 63 6f 6d 6d 65 6e 74 22 3e 2f 2f 20 6d 61 72 6b 65 64 20 61 73 20 26 71 75 6f 74 3b 6e 6f 2d 69 comment">//.marked.as.&quot;no-i
74d40 6e 6c 69 6e 65 26 71 75 6f 74 3b 20 69 6e 20 4c 4c 56 4d 20 49 52 3c 2f 73 70 61 6e 3e 0a 3c 73 nline&quot;.in.LLVM.IR</span>.<s
74d60 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
74d80 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 66 6e 22 3e 5f 5f 7a 69 67 5f 72 65 74 75 72 6e 5f 65 an.class="tok-fn">__zig_return_e
74da0 72 72 6f 72 3c 2f 73 70 61 6e 3e 28 73 74 61 63 6b 5f 74 72 61 63 65 3a 20 2a 53 74 61 63 6b 54 rror</span>(stack_trace:.*StackT
74dc0 72 61 63 65 29 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 76 6f 69 race).<span.class="tok-type">voi
74de0 64 3c 2f 73 70 61 6e 3e 20 7b 0a 20 20 20 20 73 74 61 63 6b 5f 74 72 61 63 65 2e 69 6e 73 74 72 d</span>.{.....stack_trace.instr
74e00 75 63 74 69 6f 6e 5f 61 64 64 72 65 73 73 65 73 5b 73 74 61 63 6b 5f 74 72 61 63 65 2e 69 6e 64 uction_addresses[stack_trace.ind
74e20 65 78 5d 20 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 62 75 69 6c 74 69 6e 22 3e ex].=.<span.class="tok-builtin">
74e40 40 72 65 74 75 72 6e 41 64 64 72 65 73 73 3c 2f 73 70 61 6e 3e 28 29 3b 0a 20 20 20 20 73 74 61 @returnAddress</span>();.....sta
74e60 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 63 65 2e 69 6e ck_trace.index.=.(stack_trace.in
74e80 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 65 72 22 3e 31 dex.+.<span.class="tok-number">1
74ea0 3c 2f 73 70 61 6e 3e 29 20 25 20 4e 3b 0a 7d 3c 2f 63 6f 64 65 3e 3c 2f 70 72 65 3e 3c 2f 66 69 </span>).%.N;.}</code></pre></fi
74ec0 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 73 74 20 69 gure>.......<p>.......The.cost.i
74ee0 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 6f 6d 65 20 6d 65 s.2.math.operations.plus.some.me
74f00 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 20 6d 65 6d 6f 72 mory.reads.and.writes..The.memor
74f20 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 61 6e 64 20 73 68 y.accessed.is.constrained.and.sh
74f40 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 20 64 75 72 61 74 ould.remain.cached.for.the.durat
74f60 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 62 62 6c 69 6e 67 ion.of.the.error.return.bubbling
74f80 2e 0a 20 20 20 20 20 20 3c 2f 70 3e 0a 20 20 20 20 20 20 3c 70 3e 0a 20 20 20 20 20 20 41 73 20 ........</p>.......<p>.......As.
74fa0 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 74 69 6f 6e 20 63 for.code.size.cost,.1.function.c
74fc0 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 65 6e 74 20 69 73 all.before.a.return.statement.is
74fe0 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 20 20 20 49 20 68 .no.big.deal..Even.so,.......I.h
75000 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 62 2e 63 6f 6d 2f ave.<a.href="https://github.com/
75020 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 70 6c 61 6e 3c 2f ziglang/zig/issues/690">a.plan</
75040 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 20 20 20 3c 63 6f a>.to.make.the.call.to.......<co
75060 64 65 3e 5f 5f 7a 69 67 5f 72 65 74 75 72 6e 5f 65 72 72 6f 72 3c 2f 63 6f 64 65 3e 20 61 20 74 de>__zig_return_error</code>.a.t
75080 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.
750a0 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.
750c0 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
750e0 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
75100 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
75120 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
75140 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>....................
75160 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
75180 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
751a0 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="
751c0 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>........<
751e0 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
75200 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.
75220 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.
75240 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.......
75260 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
75280 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.
752a0 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.
752c0 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
752e0 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
75300 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
75320 69 67 75 72 65 3e 3c 66 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
75340 22 3e 3c 63 69 74 65 20 63 6c 61 73 73 3d 22 66 69 6c 65 22 3e 6f 70 74 69 6f 6e 61 6c 5f 69 6e "><cite.class="file">optional_in
75360 74 65 67 65 72 2e 7a 69 67 3c 2f 63 69 74 65 3e 3c 2f 66 69 67 63 61 70 74 69 6f 6e 3e 3c 70 72 teger.zig</cite></figcaption><pr
75380 65 3e 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 63 6f 6d 6d 65 6e 74 e><code><span.class="tok-comment
753a0 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 3e 0a 3c 73 70 61 6e ">//.normal.integer</span>.<span
753c0 20 63 6c 61 73 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 72 .class="tok-kw">const</span>.nor
753e0 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 3e mal_int:.<span.class="tok-type">
75400 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
75420 6d 62 65 72 22 3e 31 32 33 34 3c 2f 73 70 61 6e 3e 3b 0a 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d mber">1234</span>;..<span.class=
75440 22 74 6f 6b 2d 63 6f 6d 6d 65 6e 74 22 3e 2f 2f 20 6f 70 74 69 6f 6e 61 6c 20 69 6e 74 65 67 65 "tok-comment">//.optional.intege
75460 72 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 63 6f r</span>.<span.class="tok-kw">co
75480 6e 73 74 3c 2f 73 70 61 6e 3e 20 6f 70 74 69 6f 6e 61 6c 5f 69 6e 74 3a 20 3f 3c 73 70 61 6e 20 nst</span>.optional_int:.?<span.
754a0 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
754c0 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
754e0 6e 3e 3b 3c 2f 63 6f 64 65 3e 3c 2f 70 72 65 3e 3c 2f 66 69 67 75 72 65 3e 0a 0a 20 20 20 20 20 n>;</code></pre></figure>.......
75500 20 3c 70 3e 0a 20 20 20 20 20 20 4e 6f 77 20 74 68 65 20 76 61 72 69 61 62 6c 65 20 3c 63 6f 64 .<p>.......Now.the.variable.<cod
75520 65 3e 6f 70 74 69 6f 6e 61 6c 5f 69 6e 74 3c 2f 63 6f 64 65 3e 20 63 6f 75 6c 64 20 62 65 20 61 e>optional_int</code>.could.be.a
75540 6e 20 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 69 n.<code><span.class="tok-type">i
75560 33 32 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 2c 20 6f 72 20 3c 63 6f 64 65 3e 3c 73 70 61 6e 32</span></code>,.or.<code><span
75580 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 63 .class="tok-null">null</span></c
755a0 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>......
755c0 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 61 6c 6b .Instead.of.integers,.let's.talk
755e0 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 63 65 73 .about.pointers..Null.references
75600 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 6d 65 0a .are.the.source.of.many.runtime.
75620 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 61 6e 64 ......exceptions,.and.even.stand
75640 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 65 66 3d .accused.of.being.......<a.href=
75660 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 65 63 68 "https://www.lucidchart.com/tech
75680 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 74 61 6b blog/2015/08/31/the-worst-mistak
756a0 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 6f 72 73 e-of-computer-science/">the.wors
756c0 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 3c 2f 61 t.mistake.of.computer.science</a
756e0 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 65 73 20 >........</p>.......<p>Zig.does.
75700 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 20 20 20 not.have.them.</p>.......<p>....
75720 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 74 69 6f ...Instead,.you.can.use.an.optio
75740 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 6d 70 69 nal.pointer..This.secretly.compi
75760 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 0a 20 20 les.down.to.a.normal.pointer,...
75780 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 30 20 61 ....since.we.know.we.can.use.0.a
757a0 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 6f 6e 61 s.the.null.value.for.the.optiona
757c0 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 20 20 63 l.type..But.the.compiler.......c
757e0 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 75 72 65 an.check.your.work.and.make.sure
75800 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 65 74 68 .you.don't.assign.null.to.someth
75820 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 20 3c 2f ing.that.can't.be.null........</
75840 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 74 68 65 p>.......<p>.......Typically.the
75860 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 69 73 20 .downside.of.not.having.null.is.
75880 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 65 72 62 that.it.makes.the.code.more.verb
758a0 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 73 20 63 ose.to.......write..But,.let's.c
758c0 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 20 61 6e ompare.some.equivalent.C.code.an
758e0 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 3c 70 3e d.Zig.code........</p>.......<p>
75900 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 74 68 65 .......Task:.call.malloc,.if.the
75920 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 0a 20 20 .result.is.null,.return.null....
75940 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 20 20 20 ....</p>.......<p>C.code</p>....
75960 20 20 20 3c 66 69 67 75 72 65 3e 3c 66 69 67 63 61 70 74 69 6f 6e 20 63 6c 61 73 73 3d 22 63 2d ...<figure><figcaption.class="c-
75980 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 6d 61 6c cap"><cite.class="file">call_mal
759a0 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 3e 3c 70 loc_in_c.c</cite></figcaption><p
759c0 72 65 3e 3c 63 6f 64 65 3e 2f 2f 20 6d 61 6c 6c 6f 63 20 70 72 6f 74 6f 74 79 70 65 20 69 6e 63 re><code>//.malloc.prototype.inc
759e0 6c 75 64 65 64 20 66 6f 72 20 72 65 66 65 72 65 6e 63 65 0a 76 6f 69 64 20 2a 6d 61 6c 6c 6f 63 luded.for.reference.void.*malloc
75a00 28 73 69 7a 65 5f 74 20 73 69 7a 65 29 3b 0a 0a 73 74 72 75 63 74 20 46 6f 6f 20 2a 64 6f 5f 61 (size_t.size);..struct.Foo.*do_a
75a20 5f 74 68 69 6e 67 28 76 6f 69 64 29 20 7b 0a 20 20 20 20 63 68 61 72 20 2a 70 74 72 20 3d 20 6d _thing(void).{.....char.*ptr.=.m
75a40 61 6c 6c 6f 63 28 31 32 33 34 29 3b 0a 20 20 20 20 69 66 20 28 21 70 74 72 29 20 72 65 74 75 72 alloc(1234);.....if.(!ptr).retur
75a60 6e 20 4e 55 4c 4c 3b 0a 20 20 20 20 2f 2f 20 2e 2e 2e 0a 7d 3c 2f 63 6f 64 65 3e 3c 2f 70 72 65 n.NULL;.....//.....}</code></pre
75a80 3e 3c 2f 66 69 67 75 72 65 3e 0a 20 20 20 20 20 20 3c 70 3e 5a 69 67 20 63 6f 64 65 3c 2f 70 3e ></figure>.......<p>Zig.code</p>
75aa0 0a 20 20 20 20 20 20 3c 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
75ac0 3d 22 7a 69 67 2d 63 61 70 22 3e 3c 63 69 74 65 20 63 6c 61 73 73 3d 22 66 69 6c 65 22 3e 63 61 ="zig-cap"><cite.class="file">ca
75ae0 6c 6c 5f 6d 61 6c 6c 6f 63 5f 66 72 6f 6d 5f 7a 69 67 2e 7a 69 67 3c 2f 63 69 74 65 3e 3c 2f 66 ll_malloc_from_zig.zig</cite></f
75b00 69 67 63 61 70 74 69 6f 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
75b20 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 72 6f 74 6f 74 79 ="tok-comment">//.malloc.prototy
75b40 70 65 20 69 6e 63 6c 75 64 65 64 20 66 6f 72 20 72 65 66 65 72 65 6e 63 65 3c 2f 73 70 61 6e 3e pe.included.for.reference</span>
75b60 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 65 78 74 65 72 6e 3c 2f 73 70 .<span.class="tok-kw">extern</sp
75b80 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
75ba0 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</
75bc0 73 70 61 6e 3e 28 73 69 7a 65 3a 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 span>(size:.<span.class="tok-typ
75be0 65 22 3e 75 73 69 7a 65 3c 2f 73 70 61 6e 3e 29 20 3f 5b 2a 5d 3c 73 70 61 6e 20 63 6c 61 73 73 e">usize</span>).?[*]<span.class
75c00 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 75 38 3c 2f 73 70 61 6e 3e 3b 0a 0a 3c 73 70 61 6e 20 63 6c ="tok-type">u8</span>;..<span.cl
75c20 61 73 73 3d 22 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
75c40 73 73 3d 22 74 6f 6b 2d 66 6e 22 3e 64 6f 41 54 68 69 6e 67 3c 2f 73 70 61 6e 3e 28 29 20 3f 2a ss="tok-fn">doAThing</span>().?*
75c60 46 6f 6f 20 7b 0a 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 63 Foo.{.....<span.class="tok-kw">c
75c80 6f 6e 73 74 3c 2f 73 70 61 6e 3e 20 70 74 72 20 3d 20 6d 61 6c 6c 6f 63 28 3c 73 70 61 6e 20 63 onst</span>.ptr.=.malloc(<span.c
75ca0 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 31 32 33 34 3c 2f 73 70 61 6e 3e 29 20 3c lass="tok-number">1234</span>).<
75cc0 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 6f 72 65 6c 73 65 3c 2f 73 70 61 6e span.class="tok-kw">orelse</span
75ce0 3e 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
75d00 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 6c 6c pan>.<span.class="tok-null">null
75d20 3c 2f 73 70 61 6e 3e 3b 0a 20 20 20 20 5f 20 3d 20 70 74 72 3b 20 3c 73 70 61 6e 20 63 6c 61 73 </span>;....._.=.ptr;.<span.clas
75d40 73 3d 22 74 6f 6b 2d 63 6f 6d 6d 65 6e 74 22 3e 2f 2f 20 2e 2e 2e 3c 2f 73 70 61 6e 3e 0a 7d 3c s="tok-comment">//....</span>.}<
75d60 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>.
75d80 20 20 20 20 20 20 20 20 48 65 72 65 2c 20 5a 69 67 20 69 73 20 61 74 20 6c 65 61 73 74 20 61 73 ........Here,.Zig.is.at.least.as
75da0 20 63 6f 6e 76 65 6e 69 65 6e 74 2c 20 69 66 20 6e 6f 74 20 6d 6f 72 65 2c 20 74 68 61 6e 20 43 .convenient,.if.not.more,.than.C
75dc0 2e 20 41 6e 64 2c 20 74 68 65 20 74 79 70 65 20 6f 66 20 22 70 74 72 22 0a 20 20 20 20 20 20 20 ..And,.the.type.of."ptr"........
75de0 20 69 73 20 3c 63 6f 64 65 3e 5b 2a 5d 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 .is.<code>[*]<span.class="tok-ty
75e00 70 65 22 3e 75 38 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 20 3c 65 6d 3e 6e 6f 74 3c 2f 65 6d pe">u8</span></code>.<em>not</em
75e20 3e 20 3c 63 6f 64 65 3e 3f 5b 2a 5d 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 >.<code>?[*]<span.class="tok-typ
75e40 65 22 3e 75 38 3c 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 e">u8</span></code>..The.<code><
75e60 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 6f 72 65 6c 73 65 3c 2f 73 70 61 6e span.class="tok-kw">orelse</span
75e80 3e 3c 2f 63 6f 64 65 3e 20 6b 65 79 77 6f 72 64 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ></code>.keyword................
75ea0 20 20 20 20 20 75 6e 77 72 61 70 70 65 64 20 74 68 65 20 6f 70 74 69 6f 6e 61 6c 20 74 79 70 65 .....unwrapped.the.optional.type
75ec0 20 61 6e 64 20 74 68 65 72 65 66 6f 72 65 20 3c 63 6f 64 65 3e 70 74 72 3c 2f 63 6f 64 65 3e 20 .and.therefore.<code>ptr</code>.
75ee0 69 73 20 67 75 61 72 61 6e 74 65 65 64 20 74 6f 20 62 65 20 6e 6f 6e 2d 6e 75 6c 6c 20 65 76 65 is.guaranteed.to.be.non-null.eve
75f00 72 79 77 68 65 72 65 0a 20 20 20 20 20 20 20 20 69 74 20 69 73 20 75 73 65 64 20 69 6e 20 74 68 rywhere.........it.is.used.in.th
75f20 65 20 66 75 6e 63 74 69 6f 6e 2e 0a 20 20 20 20 20 20 3c 2f 70 3e 0a 20 20 20 20 20 20 3c 70 3e e.function........</p>.......<p>
75f40 0a 20 20 20 20 20 20 20 20 54 68 65 20 6f 74 68 65 72 20 66 6f 72 6d 20 6f 66 20 63 68 65 63 6b .........The.other.form.of.check
75f60 69 6e 67 20 61 67 61 69 6e 73 74 20 4e 55 4c 4c 20 79 6f 75 20 6d 69 67 68 74 20 73 65 65 20 6c ing.against.NULL.you.might.see.l
75f80 6f 6f 6b 73 20 6c 69 6b 65 20 74 68 69 73 3a 0a 20 20 20 20 20 20 3c 2f 70 3e 0a 20 20 20 20 20 ooks.like.this:.......</p>......
75fa0 20 3c 66 69 67 75 72 65 3e 3c 66 69 67 63 61 70 74 69 6f 6e 20 63 6c 61 73 73 3d 22 63 2d 63 61 .<figure><figcaption.class="c-ca
75fc0 70 22 3e 3c 63 69 74 65 20 63 6c 61 73 73 3d 22 66 69 6c 65 22 3e 63 68 65 63 6b 69 6e 67 5f 6e p"><cite.class="file">checking_n
75fe0 75 6c 6c 5f 69 6e 5f 63 2e 63 3c 2f 63 69 74 65 3e 3c 2f 66 69 67 63 61 70 74 69 6f 6e 3e 3c 70 ull_in_c.c</cite></figcaption><p
76000 72 65 3e 3c 63 6f 64 65 3e 76 6f 69 64 20 64 6f 5f 61 5f 74 68 69 6e 67 28 73 74 72 75 63 74 20 re><code>void.do_a_thing(struct.
76020 46 6f 6f 20 2a 66 6f 6f 29 20 7b 0a 20 20 20 20 2f 2f 20 64 6f 20 73 6f 6d 65 20 73 74 75 66 66 Foo.*foo).{.....//.do.some.stuff
76040 0a 0a 20 20 20 20 69 66 20 28 66 6f 6f 29 20 7b 0a 20 20 20 20 20 20 20 20 64 6f 5f 73 6f 6d 65 ......if.(foo).{.........do_some
76060 74 68 69 6e 67 5f 77 69 74 68 5f 66 6f 6f 28 66 6f 6f 29 3b 0a 20 20 20 20 7d 0a 0a 20 20 20 20 thing_with_foo(foo);.....}......
76080 2f 2f 20 64 6f 20 73 6f 6d 65 20 73 74 75 66 66 0a 7d 3c 2f 63 6f 64 65 3e 3c 2f 70 72 65 3e 3c //.do.some.stuff.}</code></pre><
760a0 2f 66 69 67 75 72 65 3e 0a 20 20 20 20 20 20 3c 70 3e 0a 20 20 20 20 20 20 20 20 49 6e 20 5a 69 /figure>.......<p>.........In.Zi
760c0 67 20 79 6f 75 20 63 61 6e 20 61 63 63 6f 6d 70 6c 69 73 68 20 74 68 65 20 73 61 6d 65 20 74 68 g.you.can.accomplish.the.same.th
760e0 69 6e 67 3a 0a 20 20 20 20 20 20 3c 2f 70 3e 0a 20 20 20 20 20 20 3c 66 69 67 75 72 65 3e 3c 66 ing:.......</p>.......<figure><f
76100 69 67 63 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.
76120 63 6c 61 73 73 3d 22 66 69 6c 65 22 3e 63 68 65 63 6b 69 6e 67 5f 6e 75 6c 6c 5f 69 6e 5f 7a 69 class="file">checking_null_in_zi
76140 67 2e 7a 69 67 3c 2f 63 69 74 65 3e 3c 2f 66 69 67 63 61 70 74 69 6f 6e 3e 3c 70 72 65 3e 3c 63 g.zig</cite></figcaption><pre><c
76160 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 63 6f 6e 73 74 3c 2f ode><span.class="tok-kw">const</
76180 73 70 61 6e 3e 20 46 6f 6f 20 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 span>.Foo.=.<span.class="tok-kw"
761a0 3e 73 74 72 75 63 74 3c 2f 73 70 61 6e 3e 20 7b 7d 3b 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 >struct</span>.{};.<span.class="
761c0 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
761e0 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 70 61 6e 3e ok-fn">doSomethingWithFoo</span>
76200 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 2d 74 79 70 (foo:.*Foo).<span.class="tok-typ
76220 65 22 3e 76 6f 69 64 3c 2f 73 70 61 6e 3e 20 7b 0a 20 20 20 20 5f 20 3d 20 66 6f 6f 3b 0a 7d 0a e">void</span>.{....._.=.foo;.}.
76240 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 66 6e 3c 2f 73 70 61 6e 3e 20 .<span.class="tok-kw">fn</span>.
76260 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 66 6e 22 3e 64 6f 41 54 68 69 6e 67 3c 2f 73 <span.class="tok-fn">doAThing</s
76280 70 61 6e 3e 28 6f 70 74 69 6f 6e 61 6c 5f 66 6f 6f 3a 20 3f 2a 46 6f 6f 29 20 3c 73 70 61 6e 20 pan>(optional_foo:.?*Foo).<span.
762a0 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 76 6f 69 64 3c 2f 73 70 61 6e 3e 20 7b 0a 20 class="tok-type">void</span>.{..
762c0 20 20 20 3c 73 70 61 6e 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">//.
762e0 64 6f 20 73 6f 6d 65 20 73 74 75 66 66 3c 2f 73 70 61 6e 3e 0a 0a 20 20 20 20 3c 73 70 61 6e 20 do.some.stuff</span>......<span.
76300 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 6f 6e class="tok-kw">if</span>.(option
76320 61 6c 5f 66 6f 6f 29 20 7c 66 6f 6f 7c 20 7b 0a 20 20 20 20 20 20 20 20 64 6f 53 6f 6d 65 74 68 al_foo).|foo|.{.........doSometh
76340 69 6e 67 57 69 74 68 46 6f 6f 28 66 6f 6f 29 3b 0a 20 20 20 20 7d 0a 0a 20 20 20 20 3c 73 70 61 ingWithFoo(foo);.....}......<spa
76360 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 63 6f 6d 6d 65 6e 74 22 3e 2f 2f 20 64 6f 20 73 6f 6d 65 n.class="tok-comment">//.do.some
76380 20 73 74 75 66 66 3c 2f 73 70 61 6e 3e 0a 7d 3c 2f 63 6f 64 65 3e 3c 2f 70 72 65 3e 3c 2f 66 69 .stuff</span>.}</code></pre></fi
763a0 67 75 72 65 3e 0a 0a 20 20 20 20 20 20 3c 70 3e 0a 20 20 20 20 20 20 4f 6e 63 65 20 61 67 61 69 gure>........<p>.......Once.agai
763c0 6e 2c 20 74 68 65 20 6e 6f 74 61 62 6c 65 20 74 68 69 6e 67 20 68 65 72 65 20 69 73 20 74 68 61 n,.the.notable.thing.here.is.tha
763e0 74 20 69 6e 73 69 64 65 20 74 68 65 20 69 66 20 62 6c 6f 63 6b 2c 0a 20 20 20 20 20 20 3c 63 6f t.inside.the.if.block,.......<co
76400 64 65 3e 66 6f 6f 3c 2f 63 6f 64 65 3e 20 69 73 20 6e 6f 20 6c 6f 6e 67 65 72 20 61 6e 20 6f 70 de>foo</code>.is.no.longer.an.op
76420 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 72 2c tional.pointer,.it.is.a.pointer,
76440 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 20 20 .which.......cannot.be.null.....
76460 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 6e 65 ...</p>.......<p>.......One.bene
76480 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 77 68 fit.to.this.is.that.functions.wh
764a0 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 20 63 ich.take.pointers.as.arguments.c
764c0 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 20 22 an.......be.annotated.with.the."
764e0 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 74 74 nonnull".attribute.-.<code>__att
76500 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 20 20 ribute__((nonnull))</code>.in...
76520 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 72 67 ....<a.href="https://gcc.gnu.org
76540 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 74 69 /onlinedocs/gcc-4.0.0/gcc/Functi
76560 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 20 20 on-Attributes.html">GCC</a>.....
76580 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 20 6d ...The.optimizer.can.sometimes.m
765a0 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 68 61 ake.better.decisions.knowing.tha
765c0 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 6f 74 t.pointer.arguments.......cannot
765e0 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 20 69 .be.null........</p>.......<h3.i
76600 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 2e 78 d="Optional-Type"><a.href="nav.x
76620 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 61 6c html#toc-Optional-Type">Optional
76640 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 22 23 .Type</a>.<a.class="hdr".href="#
76660 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 20 20 Optional-Type">..</a></h3>......
76680 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 20 70 ..<p>An.optional.is.created.by.p
766a0 75 74 74 69 6e 67 20 3c 63 6f 64 65 3e 3f 3c 2f 63 6f 64 65 3e 20 69 6e 20 66 72 6f 6e 74 20 6f utting.<code>?</code>.in.front.o
766c0 66 20 61 20 74 79 70 65 2e 20 59 6f 75 20 63 61 6e 20 75 73 65 20 63 6f 6d 70 69 6c 65 2d 74 69 f.a.type..You.can.use.compile-ti
766e0 6d 65 0a 20 20 20 20 20 20 72 65 66 6c 65 63 74 69 6f 6e 20 74 6f 20 61 63 63 65 73 73 20 74 68 me.......reflection.to.access.th
76700 65 20 63 68 69 6c 64 20 74 79 70 65 20 6f 66 20 61 6e 20 6f 70 74 69 6f 6e 61 6c 3a 3c 2f 70 3e e.child.type.of.an.optional:</p>
76720 0a 20 20 20 20 20 20 3c 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
76740 3d 22 7a 69 67 2d 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
76760 73 74 5f 6f 70 74 69 6f 6e 61 6c 5f 74 79 70 65 2e 7a 69 67 3c 2f 63 69 74 65 3e 3c 2f 66 69 67 st_optional_type.zig</cite></fig
76780 63 61 70 74 69 6f 6e 3e 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="
767a0 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 45 71 75 61 6c tok-kw">const</span>.expectEqual
767c0 20 3d 20 3c 73 70 61 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
767e0 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
76800 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
76820 67 2e 65 78 70 65 63 74 45 71 75 61 6c 3b 0a 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b g.expectEqual;..<span.class="tok
76840 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
76860 6b 2d 73 74 72 22 3e 26 71 75 6f 74 3b 6f 70 74 69 6f 6e 61 6c 20 74 79 70 65 26 71 75 6f 74 3b k-str">&quot;optional.type&quot;
76880 3c 2f 73 70 61 6e 3e 20 7b 0a 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 63 </span>.{.....<span.class="tok-c
768a0 6f 6d 6d 65 6e 74 22 3e 2f 2f 20 44 65 63 6c 61 72 65 20 61 6e 20 6f 70 74 69 6f 6e 61 6c 20 61 omment">//.Declare.an.optional.a
768c0 6e 64 20 63 6f 65 72 63 65 20 66 72 6f 6d 20 6e 75 6c 6c 3a 3c 2f 73 70 61 6e 3e 0a 20 20 20 20 nd.coerce.from.null:</span>.....
768e0 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>.
76900 66 6f 6f 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 foo:.?<span.class="tok-type">i32
76920 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"
76940 3e 6e 75 6c 6c 3c 2f 73 70 61 6e 3e 3b 0a 0a 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 >null</span>;......<span.class="
76960 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 6c tok-comment">//.Coerce.from.chil
76980 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 0a 20 20 20 d.type.of.an.optional</span>....
769a0 20 66 6f 6f 20 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e .foo.=.<span.class="tok-number">
769c0 31 32 33 34 3c 2f 73 70 61 6e 3e 3b 0a 0a 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 1234</span>;......<span.class="t
769e0 6f 6b 2d 63 6f 6d 6d 65 6e 74 22 3e 2f 2f 20 55 73 65 20 63 6f 6d 70 69 6c 65 2d 74 69 6d 65 20 ok-comment">//.Use.compile-time.
76a00 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 69 6c 64 20 74 reflection.to.access.the.child.t
76a20 79 70 65 20 6f 66 20 74 68 65 20 6f 70 74 69 6f 6e 61 6c 3a 3c 2f 73 70 61 6e 3e 0a 20 20 20 20 ype.of.the.optional:</span>.....
76a40 3c 73 70 61 6e 20 63 6c 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>.
76a60 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
76a80 70 61 6e 3e 20 65 78 70 65 63 74 45 71 75 61 6c 28 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f pan>.expectEqual(<span.class="to
76aa0 6b 2d 74 79 70 65 22 3e 69 33 32 3c 2f 73 70 61 6e 3e 2c 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d k-type">i32</span>,.<span.class=
76ac0 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 3c "tok-builtin">@typeInfo</span>(<
76ae0 73 70 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
76b00 3c 2f 73 70 61 6e 3e 28 66 6f 6f 29 29 2e 6f 70 74 69 6f 6e 61 6c 2e 63 68 69 6c 64 29 3b 0a 7d </span>(foo)).optional.child);.}
76b20 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
76b40 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
76b60 6c 3c 2f 66 69 67 63 61 70 74 69 6f 6e 3e 3c 70 72 65 3e 3c 73 61 6d 70 3e 24 20 3c 6b 62 64 3e l</figcaption><pre><samp>$.<kbd>
76b80 7a 69 67 20 74 65 73 74 20 74 65 73 74 5f 6f 70 74 69 6f 6e 61 6c 5f 74 79 70 65 2e 7a 69 67 3c zig.test.test_optional_type.zig<
76ba0 2f 6b 62 64 3e 0a 31 2f 31 20 74 65 73 74 5f 6f 70 74 69 6f 6e 61 6c 5f 74 79 70 65 2e 74 65 73 /kbd>.1/1.test_optional_type.tes
76bc0 74 2e 6f 70 74 69 6f 6e 61 6c 20 74 79 70 65 2e 2e 2e 4f 4b 0a 41 6c 6c 20 31 20 74 65 73 74 73 t.optional.type...OK.All.1.tests
76be0 20 70 61 73 73 65 64 2e 0a 3c 2f 73 61 6d 70 3e 3c 2f 70 72 65 3e 3c 2f 66 69 67 75 72 65 3e 0a .passed..</samp></pre></figure>.
76c00 0a 20 20 20 20 20 20 0a 20 20 20 20 20 20 3c 68 33 20 69 64 3d 22 6e 75 6c 6c 22 3e 3c 61 20 68 ..............<h3.id="null"><a.h
76c20 72 65 66 3d 22 6e 61 76 2e 78 68 74 6d 6c 23 74 6f 63 2d 6e 75 6c 6c 22 3e 6e 75 6c 6c 3c 2f 61 ref="nav.xhtml#toc-null">null</a
76c40 3e 20 3c 61 20 63 6c 61 73 73 3d 22 68 64 72 22 20 68 72 65 66 3d 22 23 6e 75 6c 6c 22 3e c2 a7 >.<a.class="hdr".href="#null">..
76c60 3c 2f 61 3e 3c 2f 68 33 3e 0a 0a 20 20 20 20 20 20 3c 70 3e 0a 20 20 20 20 20 20 4a 75 73 74 20 </a></h3>........<p>.......Just.
76c80 6c 69 6b 65 20 3c 61 20 68 72 65 66 3d 22 23 75 6e 64 65 66 69 6e 65 64 22 3e 75 6e 64 65 66 69 like.<a.href="#undefined">undefi
76ca0 6e 65 64 3c 2f 61 3e 2c 20 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d ned</a>,.<code><span.class="tok-
76cc0 6e 75 6c 6c 22 3e 6e 75 6c 6c 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 20 68 61 73 20 69 74 73 null">null</span></code>.has.its
76ce0 20 6f 77 6e 20 74 79 70 65 2c 20 61 6e 64 20 74 68 65 20 6f 6e 6c 79 20 77 61 79 20 74 6f 20 75 .own.type,.and.the.only.way.to.u
76d00 73 65 20 69 74 20 69 73 20 74 6f 0a 20 20 20 20 20 20 63 61 73 74 20 69 74 20 74 6f 20 61 20 64 se.it.is.to.......cast.it.to.a.d
76d20 69 66 66 65 72 65 6e 74 20 74 79 70 65 3a 0a 20 20 20 20 20 20 3c 2f 70 3e 0a 20 20 20 20 20 20 ifferent.type:.......</p>.......
76d40 3c 66 69 67 75 72 65 3e 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
76d60 61 70 22 3e 3c 63 69 74 65 20 63 6c 61 73 73 3d 22 66 69 6c 65 22 3e 6e 75 6c 6c 2e 7a 69 67 3c ap"><cite.class="file">null.zig<
76d80 2f 63 69 74 65 3e 3c 2f 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
76da0 70 61 6e 20 63 6c 61 73 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>.
76dc0 6f 70 74 69 6f 6e 61 6c 5f 76 61 6c 75 65 3a 20 3f 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f optional_value:.?<span.class="to
76de0 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
76e00 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 63 6f 64 65 3e 3c ="tok-null">null</span>;</code><
76e20 2f 70 72 65 3e 3c 2f 66 69 67 75 72 65 3e 0a 0a 20 20 20 20 20 20 0a 20 20 20 20 20 20 3c 68 33 /pre></figure>...............<h3
76e40 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 3d .id="Optional-Pointers"><a.href=
76e60 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 73 "nav.xhtml#toc-Optional-Pointers
76e80 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 73 ">Optional.Pointers</a>.<a.class
76ea0 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 22 ="hdr".href="#Optional-Pointers"
76ec0 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 6e >..</a></h3>........<p>An.option
76ee0 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 74 al.pointer.is.guaranteed.to.be.t
76f00 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 3c he.same.size.as.a.pointer..The.<
76f20 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6c 6c 22 3e 6e 75 6c 6c code><span.class="tok-null">null
76f40 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 20 6f 66 0a 20 20 20 20 20 20 74 68 65 20 6f 70 74 69 </span></code>.of.......the.opti
76f60 6f 6e 61 6c 20 69 73 20 67 75 61 72 61 6e 74 65 65 64 20 74 6f 20 62 65 20 61 64 64 72 65 73 73 onal.is.guaranteed.to.be.address
76f80 20 30 2e 3c 2f 70 3e 0a 20 20 20 20 20 20 3c 66 69 67 75 72 65 3e 3c 66 69 67 63 61 70 74 69 6f .0.</p>.......<figure><figcaptio
76fa0 6e 20 63 6c 61 73 73 3d 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
76fc0 69 6c 65 22 3e 74 65 73 74 5f 6f 70 74 69 6f 6e 61 6c 5f 70 6f 69 6e 74 65 72 2e 7a 69 67 3c 2f ile">test_optional_pointer.zig</
76fe0 63 69 74 65 3e 3c 2f 66 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
77000 61 6e 20 63 6c 61 73 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
77020 78 70 65 63 74 45 71 75 61 6c 20 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 62 75 xpectEqual.=.<span.class="tok-bu
77040 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
77060 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
77080 6e 3e 29 2e 74 65 73 74 69 6e 67 2e 65 78 70 65 63 74 45 71 75 61 6c 3b 0a 0a 3c 73 70 61 6e 20 n>).testing.expectEqual;..<span.
770a0 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
770c0 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 73 74 72 22 3e 26 71 75 6f 74 3b 6f 70 74 69 6f 6e 61 6c 20 .class="tok-str">&quot;optional.
770e0 70 6f 69 6e 74 65 72 73 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 20 7b 0a 20 20 20 20 3c 73 70 61 pointers&quot;</span>.{.....<spa
77100 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 63 6f 6d 6d 65 6e 74 22 3e 2f 2f 20 50 6f 69 6e 74 65 72 n.class="tok-comment">//.Pointer
77120 73 20 63 61 6e 6e 6f 74 20 62 65 20 6e 75 6c 6c 2e 20 49 66 20 79 6f 75 20 77 61 6e 74 20 61 20 s.cannot.be.null..If.you.want.a.
77140 6e 75 6c 6c 20 70 6f 69 6e 74 65 72 2c 20 75 73 65 20 74 68 65 20 6f 70 74 69 6f 6e 61 6c 3c 2f null.pointer,.use.the.optional</
77160 73 70 61 6e 3e 0a 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 63 6f 6d 6d 65 span>.....<span.class="tok-comme
77180 6e 74 22 3e 2f 2f 20 70 72 65 66 69 78 20 60 3f 60 20 74 6f 20 6d 61 6b 65 20 74 68 65 20 70 6f nt">//.prefix.`?`.to.make.the.po
771a0 69 6e 74 65 72 20 74 79 70 65 20 6f 70 74 69 6f 6e 61 6c 2e 3c 2f 73 70 61 6e 3e 0a 20 20 20 20 inter.type.optional.</span>.....
771c0 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>.
771e0 70 74 72 3a 20 3f 2a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 69 33 ptr:.?*<span.class="tok-type">i3
77200 32 3c 2f 73 70 61 6e 3e 20 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6c 6c 2</span>.=.<span.class="tok-null
77220 22 3e 6e 75 6c 6c 3c 2f 73 70 61 6e 3e 3b 0a 0a 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d ">null</span>;......<span.class=
77240 22 74 6f 6b 2d 6b 77 22 3e 76 61 72 3c 2f 73 70 61 6e 3e 20 78 3a 20 3c 73 70 61 6e 20 63 6c 61 "tok-kw">var</span>.x:.<span.cla
77260 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
77280 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 31 3c 2f 73 70 61 6e 3e 3b 0a 20 20 .class="tok-number">1</span>;...
772a0 20 20 70 74 72 20 3d 20 26 61 6d 70 3b 78 3b 0a 0a 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 ..ptr.=.&amp;x;......<span.class
772c0 3d 22 74 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 ="tok-kw">try</span>.expectEqual
772e0 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
77300 6e 3e 2c 20 70 74 72 2e 3f 2e 2a 29 3b 0a 0a 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 n>,.ptr.?.*);......<span.class="
77320 74 6f 6b 2d 63 6f 6d 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 tok-comment">//.Optional.pointer
77340 73 20 61 72 65 20 74 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 s.are.the.same.size.as.normal.po
77360 69 6e 74 65 72 73 2c 20 62 65 63 61 75 73 65 20 70 6f 69 6e 74 65 72 3c 2f 73 70 61 6e 3e 0a 20 inters,.because.pointer</span>..
77380 20 20 20 3c 73 70 61 6e 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">//.
773a0 76 61 6c 75 65 20 30 20 69 73 20 75 73 65 64 20 61 73 20 74 68 65 20 6e 75 6c 6c 20 76 61 6c 75 value.0.is.used.as.the.null.valu
773c0 65 2e 3c 2f 73 70 61 6e 3e 0a 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b e.</span>.....<span.class="tok-k
773e0 77 22 3e 74 72 79 3c 2f 73 70 61 6e 3e 20 65 78 70 65 63 74 45 71 75 61 6c 28 3c 73 70 61 6e 20 w">try</span>.expectEqual(<span.
77400 63 6c 61 73 73 3d 22 74 6f 6b 2d 62 75 69 6c 74 69 6e 22 3e 40 73 69 7a 65 4f 66 3c 2f 73 70 61 class="tok-builtin">@sizeOf</spa
77420 6e 3e 28 3f 2a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 69 33 32 3c n>(?*<span.class="tok-type">i32<
77440 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 62 75 69 6c 74 69 /span>),.<span.class="tok-builti
77460 6e 22 3e 40 73 69 7a 65 4f 66 3c 2f 73 70 61 6e 3e 28 2a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 n">@sizeOf</span>(*<span.class="
77480 74 6f 6b 2d 74 79 70 65 22 3e 69 33 32 3c 2f 73 70 61 6e 3e 29 29 3b 0a 7d 3c 2f 63 6f 64 65 3e tok-type">i32</span>));.}</code>
774a0 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
774c0 6f 6e 20 63 6c 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
774e0 61 70 74 69 6f 6e 3e 3c 70 72 65 3e 3c 73 61 6d 70 3e 24 20 3c 6b 62 64 3e 7a 69 67 20 74 65 73 aption><pre><samp>$.<kbd>zig.tes
77500 74 20 74 65 73 74 5f 6f 70 74 69 6f 6e 61 6c 5f 70 6f 69 6e 74 65 72 2e 7a 69 67 3c 2f 6b 62 64 t.test_optional_pointer.zig</kbd
77520 3e 0a 31 2f 31 20 74 65 73 74 5f 6f 70 74 69 6f 6e 61 6c 5f 70 6f 69 6e 74 65 72 2e 74 65 73 74 >.1/1.test_optional_pointer.test
77540 2e 6f 70 74 69 6f 6e 61 6c 20 70 6f 69 6e 74 65 72 73 2e 2e 2e 4f 4b 0a 41 6c 6c 20 31 20 74 65 .optional.pointers...OK.All.1.te
77560 73 74 73 20 70 61 73 73 65 64 2e 0a 3c 2f 73 61 6d 70 3e 3c 2f 70 72 65 3e 3c 2f 66 69 67 75 72 sts.passed..</samp></pre></figur
77580 65 3e 0a 0a 20 20 20 20 20 20 0a 0a 20 20 20 20 20 20 3c 70 3e 53 65 65 20 61 6c 73 6f 3a 3c 2f e>................<p>See.also:</
775a0 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 2d 77 69 74 68 2d p><ul>.<li><a.href="#while-with-
775c0 4f 70 74 69 6f 6e 61 6c 73 22 3e 77 68 69 6c 65 20 77 69 74 68 20 4f 70 74 69 6f 6e 61 6c 73 3c Optionals">while.with.Optionals<
775e0 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 2d 77 69 74 68 2d 4f /a></li>.<li><a.href="#if-with-O
77600 70 74 69 6f 6e 61 6c 73 22 3e 69 66 20 77 69 74 68 20 4f 70 74 69 6f 6e 61 6c 73 3c 2f 61 3e 3c ptionals">if.with.Optionals</a><
77620 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=
77640 22 43 61 73 74 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 "Casting"><a.href="nav.xhtml#toc
77660 2d 43 61 73 74 69 6e 67 22 3e 43 61 73 74 69 6e 67 3c 2f 61 3e 20 3c 61 20 63 6c 61 73 73 3d 22 -Casting">Casting</a>.<a.class="
77680 68 64 72 22 20 68 72 65 66 3d 22 23 43 61 73 74 69 6e 67 22 3e c2 a7 3c 2f 61 3e 3c 2f 68 32 3e hdr".href="#Casting">..</a></h2>
776a0 0a 0a 20 20 20 20 20 20 3c 70 3e 0a 20 20 20 20 20 20 41 20 3c 73 74 72 6f 6e 67 3e 74 79 70 65 ........<p>.......A.<strong>type
776c0 20 63 61 73 74 3c 2f 73 74 72 6f 6e 67 3e 20 63 6f 6e 76 65 72 74 73 20 61 20 76 61 6c 75 65 20 .cast</strong>.converts.a.value.
776e0 6f 66 20 6f 6e 65 20 74 79 70 65 20 74 6f 20 61 6e 6f 74 68 65 72 2e 0a 20 20 20 20 20 20 5a 69 of.one.type.to.another........Zi
77700 67 20 68 61 73 20 3c 61 20 68 72 65 66 3d 22 23 54 79 70 65 2d 43 6f 65 72 63 69 6f 6e 22 3e 54 g.has.<a.href="#Type-Coercion">T
77720 79 70 65 20 43 6f 65 72 63 69 6f 6e 3c 2f 61 3e 20 66 6f 72 20 63 6f 6e 76 65 72 73 69 6f 6e 73 ype.Coercion</a>.for.conversions
77740 20 74 68 61 74 20 61 72 65 20 6b 6e 6f 77 6e 20 74 6f 20 62 65 20 63 6f 6d 70 6c 65 74 65 6c 79 .that.are.known.to.be.completely
77760 20 73 61 66 65 20 61 6e 64 20 75 6e 61 6d 62 69 67 75 6f 75 73 2c 0a 20 20 20 20 20 20 61 6e 64 .safe.and.unambiguous,.......and
77780 20 3c 61 20 68 72 65 66 3d 22 23 45 78 70 6c 69 63 69 74 2d 43 61 73 74 73 22 3e 45 78 70 6c 69 .<a.href="#Explicit-Casts">Expli
777a0 63 69 74 20 43 61 73 74 73 3c 2f 61 3e 20 66 6f 72 20 63 6f 6e 76 65 72 73 69 6f 6e 73 20 74 68 cit.Casts</a>.for.conversions.th
777c0 61 74 20 6f 6e 65 20 77 6f 75 6c 64 20 6e 6f 74 20 77 61 6e 74 20 74 6f 20 68 61 70 70 65 6e 20 at.one.would.not.want.to.happen.
777e0 6f 6e 20 61 63 63 69 64 65 6e 74 2e 0a 20 20 20 20 20 20 54 68 65 72 65 20 69 73 20 61 6c 73 6f on.accident........There.is.also
77800 20 61 20 74 68 69 72 64 20 6b 69 6e 64 20 6f 66 20 74 79 70 65 20 63 6f 6e 76 65 72 73 69 6f 6e .a.third.kind.of.type.conversion
77820 20 63 61 6c 6c 65 64 20 3c 61 20 68 72 65 66 3d 22 23 50 65 65 72 2d 54 79 70 65 2d 52 65 73 6f .called.<a.href="#Peer-Type-Reso
77840 6c 75 74 69 6f 6e 22 3e 50 65 65 72 20 54 79 70 65 20 52 65 73 6f 6c 75 74 69 6f 6e 3c 2f 61 3e lution">Peer.Type.Resolution</a>
77860 20 66 6f 72 0a 20 20 20 20 20 20 74 68 65 20 63 61 73 65 20 77 68 65 6e 20 61 20 72 65 73 75 6c .for.......the.case.when.a.resul
77880 74 20 74 79 70 65 20 6d 75 73 74 20 62 65 20 64 65 63 69 64 65 64 20 67 69 76 65 6e 20 6d 75 6c t.type.must.be.decided.given.mul
778a0 74 69 70 6c 65 20 6f 70 65 72 61 6e 64 20 74 79 70 65 73 2e 0a 20 20 20 20 20 20 3c 2f 70 3e 0a tiple.operand.types........</p>.
778c0 20 20 20 20 20 20 3c 68 33 20 69 64 3d 22 54 79 70 65 2d 43 6f 65 72 63 69 6f 6e 22 3e 3c 61 20 ......<h3.id="Type-Coercion"><a.
778e0 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
77900 6e 22 3e 54 79 70 65 20 43 6f 65 72 63 69 6f 6e 3c 2f 61 3e 20 3c 61 20 63 6c 61 73 73 3d 22 68 n">Type.Coercion</a>.<a.class="h
77920 64 72 22 20 68 72 65 66 3d 22 23 54 79 70 65 2d 43 6f 65 72 63 69 6f 6e 22 3e c2 a7 3c 2f 61 3e dr".href="#Type-Coercion">..</a>
77940 3c 2f 68 33 3e 0a 0a 20 20 20 20 20 20 3c 70 3e 0a 20 20 20 20 20 20 54 79 70 65 20 63 6f 65 72 </h3>........<p>.......Type.coer
77960 63 69 6f 6e 20 6f 63 63 75 72 73 20 77 68 65 6e 20 6f 6e 65 20 74 79 70 65 20 69 73 20 65 78 70 cion.occurs.when.one.type.is.exp
77980 65 63 74 65 64 2c 20 62 75 74 20 64 69 66 66 65 72 65 6e 74 20 74 79 70 65 20 69 73 20 70 72 6f ected,.but.different.type.is.pro
779a0 76 69 64 65 64 3a 0a 20 20 20 20 20 20 3c 2f 70 3e 0a 20 20 20 20 20 20 3c 66 69 67 75 72 65 3e vided:.......</p>.......<figure>
779c0 3c 66 69 67 63 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
779e0 65 20 63 6c 61 73 73 3d 22 66 69 6c 65 22 3e 74 65 73 74 5f 74 79 70 65 5f 63 6f 65 72 63 69 6f e.class="file">test_type_coercio
77a00 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
77a20 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 74 65 73 74 3c 2f 73 ode><span.class="tok-kw">test</s
77a40 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
77a60 3b 74 79 70 65 20 63 6f 65 72 63 69 6f 6e 20 2d 20 76 61 72 69 61 62 6c 65 20 64 65 63 6c 61 72 ;type.coercion.-.variable.declar
77a80 61 74 69 6f 6e 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 20 7b 0a 20 20 20 20 3c 73 70 61 6e 20 63 ation&quot;</span>.{.....<span.c
77aa0 6c 61 73 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 lass="tok-kw">const</span>.a:.<s
77ac0 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>.=
77ae0 20 3c 73 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
77b00 6e 3e 3b 0a 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 63 6f 6e n>;.....<span.class="tok-kw">con
77b20 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
77b40 70 65 22 3e 75 31 36 3c 2f 73 70 61 6e 3e 20 3d 20 61 3b 0a 20 20 20 20 5f 20 3d 20 62 3b 0a 7d pe">u16</span>.=.a;....._.=.b;.}
77b60 0a 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 74 65 73 74 3c 2f 73 70 61 ..<span.class="tok-kw">test</spa
77b80 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 74 n>.<span.class="tok-str">&quot;t
77ba0 79 70 65 20 63 6f 65 72 63 69 6f 6e 20 2d 20 66 75 6e 63 74 69 6f 6e 20 63 61 6c 6c 26 71 75 6f ype.coercion.-.function.call&quo
77bc0 74 3b 3c 2f 73 70 61 6e 3e 20 7b 0a 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b t;</span>.{.....<span.class="tok
77be0 2d 6b 77 22 3e 63 6f 6e 73 74 3c 2f 73 70 61 6e 3e 20 61 3a 20 3c 73 70 61 6e 20 63 6c 61 73 73 -kw">const</span>.a:.<span.class
77c00 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 75 38 3c 2f 73 70 61 6e 3e 20 3d 20 3c 73 70 61 6e 20 63 6c ="tok-type">u8</span>.=.<span.cl
77c20 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 31 3c 2f 73 70 61 6e 3e 3b 0a 20 20 20 20 66 ass="tok-number">1</span>;.....f
77c40 6f 6f 28 61 29 3b 0a 7d 0a 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 66 oo(a);.}..<span.class="tok-kw">f
77c60 6e 3c 2f 73 70 61 6e 3e 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 66 6e 22 3e 66 6f n</span>.<span.class="tok-fn">fo
77c80 6f 3c 2f 73 70 61 6e 3e 28 62 3a 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 o</span>(b:.<span.class="tok-typ
77ca0 65 22 3e 75 31 36 3c 2f 73 70 61 6e 3e 29 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d e">u16</span>).<span.class="tok-
77cc0 74 79 70 65 22 3e 76 6f 69 64 3c 2f 73 70 61 6e 3e 20 7b 0a 20 20 20 20 5f 20 3d 20 62 3b 0a 7d type">void</span>.{....._.=.b;.}
77ce0 0a 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 74 65 73 74 3c 2f 73 70 61 ..<span.class="tok-kw">test</spa
77d00 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 74 n>.<span.class="tok-str">&quot;t
77d20 79 70 65 20 63 6f 65 72 63 69 6f 6e 20 2d 20 40 61 73 20 62 75 69 6c 74 69 6e 26 71 75 6f 74 3b ype.coercion.-.@as.builtin&quot;
77d40 3c 2f 73 70 61 6e 3e 20 7b 0a 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b </span>.{.....<span.class="tok-k
77d60 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="
77d80 74 6f 6b 2d 74 79 70 65 22 3e 75 38 3c 2f 73 70 61 6e 3e 20 3d 20 3c 73 70 61 6e 20 63 6c 61 73 tok-type">u8</span>.=.<span.clas
77da0 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 31 3c 2f 73 70 61 6e 3e 3b 0a 20 20 20 20 3c 73 70 s="tok-number">1</span>;.....<sp
77dc0 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 63 6f 6e 73 74 3c 2f 73 70 61 6e 3e 20 62 an.class="tok-kw">const</span>.b
77de0 20 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 62 75 69 6c 74 69 6e 22 3e 40 61 73 .=.<span.class="tok-builtin">@as
77e00 3c 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
77e20 31 36 3c 2f 73 70 61 6e 3e 2c 20 61 29 3b 0a 20 20 20 20 5f 20 3d 20 62 3b 0a 7d 3c 2f 63 6f 64 16</span>,.a);....._.=.b;.}</cod
77e40 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
77e60 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
77e80 67 63 61 70 74 69 6f 6e 3e 3c 70 72 65 3e 3c 73 61 6d 70 3e 24 20 3c 6b 62 64 3e 7a 69 67 20 74 gcaption><pre><samp>$.<kbd>zig.t
77ea0 65 73 74 20 74 65 73 74 5f 74 79 70 65 5f 63 6f 65 72 63 69 6f 6e 2e 7a 69 67 3c 2f 6b 62 64 3e est.test_type_coercion.zig</kbd>
77ec0 0a 31 2f 33 20 74 65 73 74 5f 74 79 70 65 5f 63 6f 65 72 63 69 6f 6e 2e 74 65 73 74 2e 74 79 70 .1/3.test_type_coercion.test.typ
77ee0 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
77f00 6e 2e 2e 2e 4f 4b 0a 32 2f 33 20 74 65 73 74 5f 74 79 70 65 5f 63 6f 65 72 63 69 6f 6e 2e 74 65 n...OK.2/3.test_type_coercion.te
77f20 73 74 2e 74 79 70 65 20 63 6f 65 72 63 69 6f 6e 20 2d 20 66 75 6e 63 74 69 6f 6e 20 63 61 6c 6c st.type.coercion.-.function.call
77f40 2e 2e 2e 4f 4b 0a 33 2f 33 20 74 65 73 74 5f 74 79 70 65 5f 63 6f 65 72 63 69 6f 6e 2e 74 65 73 ...OK.3/3.test_type_coercion.tes
77f60 74 2e 74 79 70 65 20 63 6f 65 72 63 69 6f 6e 20 2d 20 40 61 73 20 62 75 69 6c 74 69 6e 2e 2e 2e t.type.coercion.-.@as.builtin...
77f80 4f 4b 0a 41 6c 6c 20 33 20 74 65 73 74 73 20 70 61 73 73 65 64 2e 0a 3c 2f 73 61 6d 70 3e 3c 2f OK.All.3.tests.passed..</samp></
77fa0 70 72 65 3e 3c 2f 66 69 67 75 72 65 3e 0a 0a 20 20 20 20 20 20 3c 70 3e 0a 20 20 20 20 20 20 54 pre></figure>........<p>.......T
77fc0 79 70 65 20 63 6f 65 72 63 69 6f 6e 73 20 61 72 65 20 6f 6e 6c 79 20 61 6c 6c 6f 77 65 64 20 77 ype.coercions.are.only.allowed.w
77fe0 68 65 6e 20 69 74 20 69 73 20 63 6f 6d 70 6c 65 74 65 6c 79 20 75 6e 61 6d 62 69 67 75 6f 75 73 hen.it.is.completely.unambiguous
78000 20 68 6f 77 20 74 6f 20 67 65 74 20 66 72 6f 6d 20 6f 6e 65 20 74 79 70 65 20 74 6f 20 61 6e 6f .how.to.get.from.one.type.to.ano
78020 74 68 65 72 2c 0a 20 20 20 20 20 20 61 6e 64 20 74 68 65 20 74 72 61 6e 73 66 6f 72 6d 61 74 69 ther,.......and.the.transformati
78040 6f 6e 20 69 73 20 67 75 61 72 61 6e 74 65 65 64 20 74 6f 20 62 65 20 73 61 66 65 2e 20 54 68 65 on.is.guaranteed.to.be.safe..The
78060 72 65 20 69 73 20 6f 6e 65 20 65 78 63 65 70 74 69 6f 6e 2c 20 77 68 69 63 68 20 69 73 20 3c 61 re.is.one.exception,.which.is.<a
78080 20 68 72 65 66 3d 22 23 43 2d 50 6f 69 6e 74 65 72 73 22 3e 43 20 50 6f 69 6e 74 65 72 73 3c 2f .href="#C-Pointers">C.Pointers</
780a0 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 54 79 70 a>........</p>.......<h4.id="Typ
780c0 65 2d 43 6f 65 72 63 69 6f 6e 2d 53 74 72 69 63 74 65 72 2d 51 75 61 6c 69 66 69 63 61 74 69 6f e-Coercion-Stricter-Qualificatio
780e0 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 2d 54 79 70 65 2d 43 n"><a.href="nav.xhtml#toc-Type-C
78100 6f 65 72 63 69 6f 6e 2d 53 74 72 69 63 74 65 72 2d 51 75 61 6c 69 66 69 63 61 74 69 6f 6e 22 3e oercion-Stricter-Qualification">
78120 54 79 70 65 20 43 6f 65 72 63 69 6f 6e 3a 20 53 74 72 69 63 74 65 72 20 51 75 61 6c 69 66 69 63 Type.Coercion:.Stricter.Qualific
78140 61 74 69 6f 6e 3c 2f 61 3e 20 3c 61 20 63 6c 61 73 73 3d 22 68 64 72 22 20 68 72 65 66 3d 22 23 ation</a>.<a.class="hdr".href="#
78160 54 79 70 65 2d 43 6f 65 72 63 69 6f 6e 2d 53 74 72 69 63 74 65 72 2d 51 75 61 6c 69 66 69 63 61 Type-Coercion-Stricter-Qualifica
78180 74 69 6f 6e 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 tion">..</a></h4>........<p>....
781a0 20 20 20 56 61 6c 75 65 73 20 77 68 69 63 68 20 68 61 76 65 20 74 68 65 20 73 61 6d 65 20 72 65 ...Values.which.have.the.same.re
781c0 70 72 65 73 65 6e 74 61 74 69 6f 6e 20 61 74 20 72 75 6e 74 69 6d 65 20 63 61 6e 20 62 65 20 63 presentation.at.runtime.can.be.c
781e0 61 73 74 20 74 6f 20 69 6e 63 72 65 61 73 65 20 74 68 65 20 73 74 72 69 63 74 6e 65 73 73 0a 20 ast.to.increase.the.strictness..
78200 20 20 20 20 20 6f 66 20 74 68 65 20 71 75 61 6c 69 66 69 65 72 73 2c 20 6e 6f 20 6d 61 74 74 65 .....of.the.qualifiers,.no.matte
78220 72 20 68 6f 77 20 6e 65 73 74 65 64 20 74 68 65 20 71 75 61 6c 69 66 69 65 72 73 20 61 72 65 3a r.how.nested.the.qualifiers.are:
78240 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>..........
78260 20 3c 6c 69 3e 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e .<li><code><span.class="tok-kw">
78280 63 6f 6e 73 74 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 20 2d 20 6e 6f 6e 2d 63 6f 6e 73 74 20 const</span></code>.-.non-const.
782a0 74 6f 20 63 6f 6e 73 74 20 69 73 20 61 6c 6c 6f 77 65 64 3c 2f 6c 69 3e 0a 20 20 20 20 20 20 20 to.const.is.allowed</li>........
782c0 20 20 20 3c 6c 69 3e 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 ...<li><code><span.class="tok-kw
782e0 22 3e 76 6f 6c 61 74 69 6c 65 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 20 2d 20 6e 6f 6e 2d 76 ">volatile</span></code>.-.non-v
78300 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 77 65 64 3c 2f olatile.to.volatile.is.allowed</
78320 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
78340 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 61 6c 69 67 6e 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e ass="tok-kw">align</span></code>
78360 20 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 .-.bigger.to.smaller.alignment.i
78380 73 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 s.allowed.</li>...........<li><a
783a0 20 68 72 65 66 3d 22 23 45 72 72 6f 72 2d 53 65 74 2d 54 79 70 65 22 3e 65 72 72 6f 72 20 73 65 .href="#Error-Set-Type">error.se
783c0 74 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 ts</a>.to.supersets.is.allowed</
783e0 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>.......
78400 54 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 These.casts.are.no-ops.at.runtim
78420 65 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 e.since.the.value.representation
78440 20 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 .does.not.change........</p>....
78460 20 20 20 3c 66 69 67 75 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
78480 67 2d 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 g-cap"><cite.class="file">test_n
784a0 6f 5f 6f 70 5f 63 61 73 74 73 2e 7a 69 67 3c 2f 63 69 74 65 3e 3c 2f 66 69 67 63 61 70 74 69 6f o_op_casts.zig</cite></figcaptio
784c0 6e 3e 3c 70 72 65 3e 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 n><pre><code><span.class="tok-kw
784e0 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
78500 74 72 22 3e 26 71 75 6f 74 3b 74 79 70 65 20 63 6f 65 72 63 69 6f 6e 20 2d 20 63 6f 6e 73 74 20 tr">&quot;type.coercion.-.const.
78520 71 75 61 6c 69 66 69 63 61 74 69 6f 6e 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 20 7b 0a 20 20 20 qualification&quot;</span>.{....
78540 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>
78560 20 61 3a 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 69 33 32 3c 2f .a:.<span.class="tok-type">i32</
78580 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"
785a0 3e 31 3c 2f 73 70 61 6e 3e 3b 0a 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d >1</span>;.....<span.class="tok-
785c0 6b 77 22 3e 63 6f 6e 73 74 3c 2f 73 70 61 6e 3e 20 62 3a 20 2a 3c 73 70 61 6e 20 63 6c 61 73 73 kw">const</span>.b:.*<span.class
785e0 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 69 33 32 3c 2f 73 70 61 6e 3e 20 3d 20 26 61 6d 70 3b 61 3b ="tok-type">i32</span>.=.&amp;a;
78600 0a 20 20 20 20 66 6f 6f 28 62 29 3b 0a 7d 0a 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b .....foo(b);.}..<span.class="tok
78620 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-
78640 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 63 6c 61 73 73 3d 22 fn">foo</span>(_:.*<span.class="
78660 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
78680 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 6c ="tok-type">i32</span>).<span.cl
786a0 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 63 ass="tok-type">void</span>.{}</c
786c0 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
786e0 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</
78700 66 69 67 63 61 70 74 69 6f 6e 3e 3c 70 72 65 3e 3c 73 61 6d 70 3e 24 20 3c 6b 62 64 3e 7a 69 67 figcaption><pre><samp>$.<kbd>zig
78720 20 74 65 73 74 20 74 65 73 74 5f 6e 6f 5f 6f 70 5f 63 61 73 74 73 2e 7a 69 67 3c 2f 6b 62 64 3e .test.test_no_op_casts.zig</kbd>
78740 0a 31 2f 31 20 74 65 73 74 5f 6e 6f 5f 6f 70 5f 63 61 73 74 73 2e 74 65 73 74 2e 74 79 70 65 20 .1/1.test_no_op_casts.test.type.
78760 63 6f 65 72 63 69 6f 6e 20 2d 20 63 6f 6e 73 74 20 71 75 61 6c 69 66 69 63 61 74 69 6f 6e 2e 2e coercion.-.const.qualification..
78780 2e 4f 4b 0a 41 6c 6c 20 31 20 74 65 73 74 73 20 70 61 73 73 65 64 2e 0a 3c 2f 73 61 6d 70 3e 3c .OK.All.1.tests.passed..</samp><
787a0 2f 70 72 65 3e 3c 2f 66 69 67 75 72 65 3e 0a 0a 20 20 20 20 20 20 3c 70 3e 0a 20 20 20 20 20 20 /pre></figure>........<p>.......
787c0 49 6e 20 61 64 64 69 74 69 6f 6e 2c 20 70 6f 69 6e 74 65 72 73 20 63 6f 65 72 63 65 20 74 6f 20 In.addition,.pointers.coerce.to.
787e0 63 6f 6e 73 74 20 6f 70 74 69 6f 6e 61 6c 20 70 6f 69 6e 74 65 72 73 3a 0a 20 20 20 20 20 20 3c const.optional.pointers:.......<
78800 2f 70 3e 0a 20 20 20 20 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
78820 61 73 73 3d 22 7a 69 67 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"
78840 3e 74 65 73 74 5f 70 6f 69 6e 74 65 72 5f 63 6f 65 72 63 65 5f 63 6f 6e 73 74 5f 6f 70 74 69 6f >test_pointer_coerce_const_optio
78860 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 65 3e nal.zig</cite></figcaption><pre>
78880 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 63 6f 6e 73 74 <code><span.class="tok-kw">const
788a0 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
788c0 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
788e0 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
78900 61 6e 3e 29 3b 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 63 6f 6e 73 74 an>);.<span.class="tok-kw">const
78920 3c 2f 73 70 61 6e 3e 20 65 78 70 65 63 74 45 71 75 61 6c 53 74 72 69 6e 67 73 20 3d 20 73 74 64 </span>.expectEqualStrings.=.std
78940 2e 74 65 73 74 69 6e 67 2e 65 78 70 65 63 74 45 71 75 61 6c 53 74 72 69 6e 67 73 3b 0a 3c 73 70 .testing.expectEqualStrings;.<sp
78960 61 6e 20 63 6c 61 73 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
78980 65 6d 20 3d 20 73 74 64 2e 6d 65 6d 3b 0a 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d em.=.std.mem;..<span.class="tok-
789a0 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
789c0 2d 73 74 72 22 3e 26 71 75 6f 74 3b 63 61 73 74 20 2a 5b 31 5d 5b 2a 3a 30 5d 63 6f 6e 73 74 20 -str">&quot;cast.*[1][*:0]const.
789e0 75 38 20 74 6f 20 5b 5d 63 6f 6e 73 74 20 3f 5b 2a 3a 30 5d 63 6f 6e 73 74 20 75 38 26 71 75 6f u8.to.[]const.?[*:0]const.u8&quo
78a00 74 3b 3c 2f 73 70 61 6e 3e 20 7b 0a 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b t;</span>.{.....<span.class="tok
78a20 2d 6b 77 22 3e 63 6f 6e 73 74 3c 2f 73 70 61 6e 3e 20 77 69 6e 64 6f 77 5f 6e 61 6d 65 20 3d 20 -kw">const</span>.window_name.=.
78a40 5b 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 31 3c 2f 73 70 61 [<span.class="tok-number">1</spa
78a60 6e 3e 5d 5b 2a 3a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 30 n>][*:<span.class="tok-number">0
78a80 3c 2f 73 70 61 6e 3e 5d 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 63 6f 6e </span>]<span.class="tok-kw">con
78aa0 73 74 3c 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"
78ac0 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 22 >u8</span>{<span.class="tok-str"
78ae0 3e 26 71 75 6f 74 3b 77 69 6e 64 6f 77 20 6e 61 6d 65 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 7d >&quot;window.name&quot;</span>}
78b00 3b 0a 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 63 6f 6e 73 74 ;.....<span.class="tok-kw">const
78b20 3c 2f 73 70 61 6e 3e 20 78 3a 20 5b 5d 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 </span>.x:.[]<span.class="tok-kw
78b40 22 3e 63 6f 6e 73 74 3c 2f 73 70 61 6e 3e 20 3f 5b 2a 3a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 ">const</span>.?[*:<span.class="
78b60 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 61 73 73 tok-number">0</span>]<span.class
78b80 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
78ba0 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 75 38 3c 2f 73 70 61 6e 3e 20 3d 20 26 61 6d 70 3b 77 ss="tok-type">u8</span>.=.&amp;w
78bc0 69 6e 64 6f 77 5f 6e 61 6d 65 3b 0a 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b indow_name;.....<span.class="tok
78be0 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 53 74 72 69 6e -kw">try</span>.expectEqualStrin
78c00 67 73 28 3c 73 70 61 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 gs(<span.class="tok-str">&quot;w
78c20 69 6e 64 6f 77 20 6e 61 6d 65 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 2c 20 6d 65 6d 2e 73 70 61 indow.name&quot;</span>,.mem.spa
78c40 6e 28 78 5b 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 30 3c 2f n(x[<span.class="tok-number">0</
78c60 73 70 61 6e 3e 5d 2e 3f 29 29 3b 0a 7d 3c 2f 63 6f 64 65 3e 3c 2f 70 72 65 3e 3c 2f 66 69 67 75 span>].?));.}</code></pre></figu
78c80 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
78ca0 65 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>
78cc0 3c 73 61 6d 70 3e 24 20 3c 6b 62 64 3e 7a 69 67 20 74 65 73 74 20 74 65 73 74 5f 70 6f 69 6e 74 <samp>$.<kbd>zig.test.test_point
78ce0 65 72 5f 63 6f 65 72 63 65 5f 63 6f 6e 73 74 5f 6f 70 74 69 6f 6e 61 6c 2e 7a 69 67 3c 2f 6b 62 er_coerce_const_optional.zig</kb
78d00 64 3e 0a 31 2f 31 20 74 65 73 74 5f 70 6f 69 6e 74 65 72 5f 63 6f 65 72 63 65 5f 63 6f 6e 73 74 d>.1/1.test_pointer_coerce_const
78d20 5f 6f 70 74 69 6f 6e 61 6c 2e 74 65 73 74 2e 63 61 73 74 20 2a 5b 31 5d 5b 2a 3a 30 5d 63 6f 6e _optional.test.cast.*[1][*:0]con
78d40 73 74 20 75 38 20 74 6f 20 5b 5d 63 6f 6e 73 74 20 3f 5b 2a 3a 30 5d 63 6f 6e 73 74 20 75 38 2e st.u8.to.[]const.?[*:0]const.u8.
78d60 2e 2e 4f 4b 0a 41 6c 6c 20 31 20 74 65 73 74 73 20 70 61 73 73 65 64 2e 0a 3c 2f 73 61 6d 70 3e ..OK.All.1.tests.passed..</samp>
78d80 3c 2f 70 72 65 3e 3c 2f 66 69 67 75 72 65 3e 0a 0a 20 20 20 20 20 20 0a 20 20 20 20 20 20 3c 68 </pre></figure>...............<h
78da0 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 2d 61 6e 64 2d 4.id="Type-Coercion-Integer-and-
78dc0 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 76 2e 78 68 74 Float-Widening"><a.href="nav.xht
78de0 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 72 2d 61 6e 64 ml#toc-Type-Coercion-Integer-and
78e00 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:.
78e20 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 20 3c Integer.and.Float.Widening</a>.<
78e40 61 20 63 6c 61 73 73 3d 22 68 64 72 22 20 68 72 65 66 3d 22 23 54 79 70 65 2d 43 6f 65 72 63 69 a.class="hdr".href="#Type-Coerci
78e60 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 6e 67 22 3e c2 on-Integer-and-Float-Widening">.
78e80 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 3c 61 20 68 .</a></h4>........<p>.......<a.h
78ea0 72 65 66 3d 22 23 49 6e 74 65 67 65 72 73 22 3e 49 6e 74 65 67 65 72 73 3c 2f 61 3e 20 63 6f 65 ref="#Integers">Integers</a>.coe
78ec0 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 63 61 6e 20 72 rce.to.integer.types.which.can.r
78ee0 65 70 72 65 73 65 6e 74 20 65 76 65 72 79 20 76 61 6c 75 65 20 6f 66 20 74 68 65 20 6f 6c 64 20 epresent.every.value.of.the.old.
78f00 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 20 68 72 65 66 type,.and.likewise.......<a.href
78f20 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 65 20 74 6f 20 ="#Floats">Floats</a>.coerce.to.
78f40 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 73 65 6e 74 20 float.types.which.can.represent.
78f60 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 2e 0a 20 20 20 every.value.of.the.old.type.....
78f80 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
78fa0 6e 20 63 6c 61 73 73 3d 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
78fc0 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 7a 69 67 3c 2f ile">test_integer_widening.zig</
78fe0 63 69 74 65 3e 3c 2f 66 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
79000 61 6e 20 63 6c 61 73 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
79020 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">@
79040 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
79060 74 72 22 3e 26 71 75 6f 74 3b 73 74 64 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 29 3b 0a 3c 73 70 tr">&quot;std&quot;</span>);.<sp
79080 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 63 6f 6e 73 74 3c 2f 73 70 61 6e 3e 20 62 an.class="tok-kw">const</span>.b
790a0 75 69 6c 74 69 6e 20 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 62 75 69 6c 74 69 uiltin.=.<span.class="tok-builti
790c0 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
790e0 6f 6b 2d 73 74 72 22 3e 26 71 75 6f 74 3b 62 75 69 6c 74 69 6e 26 71 75 6f 74 3b 3c 2f 73 70 61 ok-str">&quot;builtin&quot;</spa
79100 6e 3e 29 3b 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 63 6f 6e 73 74 3c n>);.<span.class="tok-kw">const<
79120 2f 73 70 61 6e 3e 20 65 78 70 65 63 74 45 71 75 61 6c 20 3d 20 73 74 64 2e 74 65 73 74 69 6e 67 /span>.expectEqual.=.std.testing
79140 2e 65 78 70 65 63 74 45 71 75 61 6c 3b 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b .expectEqual;.<span.class="tok-k
79160 77 22 3e 63 6f 6e 73 74 3c 2f 73 70 61 6e 3e 20 6d 65 6d 20 3d 20 73 74 64 2e 6d 65 6d 3b 0a 0a w">const</span>.mem.=.std.mem;..
79180 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>
791a0 20 3c 73 70 61 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 .<span.class="tok-str">&quot;int
791c0 65 67 65 72 20 77 69 64 65 6e 69 6e 67 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 20 7b 0a 20 20 20 eger.widening&quot;</span>.{....
791e0 20 3c 73 70 61 6e 20 63 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
79200 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 3c n>.a:.<span.class="tok-type">u8<
79220 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
79240 22 3e 32 35 30 3c 2f 73 70 61 6e 3e 3b 0a 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 ">250</span>;.....<span.class="t
79260 6f 6b 2d 6b 77 22 3e 63 6f 6e 73 74 3c 2f 73 70 61 6e 3e 20 62 3a 20 3c 73 70 61 6e 20 63 6c 61 ok-kw">const</span>.b:.<span.cla
79280 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 0a 20 20 ss="tok-type">u16</span>.=.a;...
792a0 20 20 3c 73 70 61 6e 20 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
792c0 61 6e 3e 20 63 3a 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 75 33 an>.c:.<span.class="tok-type">u3
792e0 32 3c 2f 73 70 61 6e 3e 20 3d 20 62 3b 0a 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 2</span>.=.b;.....<span.class="t
79300 6f 6b 2d 6b 77 22 3e 63 6f 6e 73 74 3c 2f 73 70 61 6e 3e 20 64 3a 20 3c 73 70 61 6e 20 63 6c 61 ok-kw">const</span>.d:.<span.cla
79320 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 63 3b 0a 20 20 ss="tok-type">u64</span>.=.c;...
79340 20 20 3c 73 70 61 6e 20 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
79360 61 6e 3e 20 65 3a 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 75 36 an>.e:.<span.class="tok-type">u6
79380 34 3c 2f 73 70 61 6e 3e 20 3d 20 64 3b 0a 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 4</span>.=.d;.....<span.class="t
793a0 6f 6b 2d 6b 77 22 3e 63 6f 6e 73 74 3c 2f 73 70 61 6e 3e 20 66 3a 20 3c 73 70 61 6e 20 63 6c 61 ok-kw">const</span>.f:.<span.cla
793c0 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 0a 20 ss="tok-type">u128</span>.=.e;..
793e0 20 20 20 3c 73 70 61 6e 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
79400 6e 3e 20 65 78 70 65 63 74 45 71 75 61 6c 28 66 2c 20 61 29 3b 0a 7d 0a 0a 3c 73 70 61 6e 20 63 n>.expectEqual(f,.a);.}..<span.c
79420 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.
79440 63 6c 61 73 73 3d 22 74 6f 6b 2d 73 74 72 22 3e 26 71 75 6f 74 3b 69 6d 70 6c 69 63 69 74 20 75 class="tok-str">&quot;implicit.u
79460 6e 73 69 67 6e 65 64 20 69 6e 74 65 67 65 72 20 74 6f 20 73 69 67 6e 65 64 20 69 6e 74 65 67 65 nsigned.integer.to.signed.intege
79480 72 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 20 7b 0a 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 r&quot;</span>.{.....<span.class
794a0 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 20 ="tok-kw">const</span>.a:.<span.
794c0 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
794e0 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 32 35 30 3c 2f 73 70 61 6e 3e an.class="tok-number">250</span>
79500 3b 0a 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 63 6f 6e 73 74 ;.....<span.class="tok-kw">const
79520 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
79540 22 3e 69 31 36 3c 2f 73 70 61 6e 3e 20 3d 20 61 3b 0a 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 ">i16</span>.=.a;.....<span.clas
79560 73 3d 22 74 6f 6b 2d 6b 77 22 3e 74 72 79 3c 2f 73 70 61 6e 3e 20 65 78 70 65 63 74 45 71 75 61 s="tok-kw">try</span>.expectEqua
79580 6c 28 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 32 35 30 3c 2f l(<span.class="tok-number">250</
795a0 73 70 61 6e 3e 2c 20 62 29 3b 0a 7d 0a 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b span>,.b);.}..<span.class="tok-k
795c0 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-
795e0 73 74 72 22 3e 26 71 75 6f 74 3b 66 6c 6f 61 74 20 77 69 64 65 6e 69 6e 67 26 71 75 6f 74 3b 3c str">&quot;float.widening&quot;<
79600 2f 73 70 61 6e 3e 20 7b 0a 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 /span>.{.....<span.class="tok-kw
79620 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 74 ">const</span>.a:.<span.class="t
79640 6f 6b 2d 74 79 70 65 22 3e 66 31 36 3c 2f 73 70 61 6e 3e 20 3d 20 3c 73 70 61 6e 20 63 6c 61 73 ok-type">f16</span>.=.<span.clas
79660 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 31 32 2e 33 34 3c 2f 73 70 61 6e 3e 3b 0a 20 20 20 s="tok-number">12.34</span>;....
79680 20 3c 73 70 61 6e 20 63 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
796a0 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 66 33 32 n>.b:.<span.class="tok-type">f32
796c0 3c 2f 73 70 61 6e 3e 20 3d 20 61 3b 0a 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f </span>.=.a;.....<span.class="to
796e0 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 73 k-kw">const</span>.c:.<span.clas
79700 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 66 36 34 3c 2f 73 70 61 6e 3e 20 3d 20 62 3b 0a 20 20 20 s="tok-type">f64</span>.=.b;....
79720 20 3c 73 70 61 6e 20 63 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
79740 6e 3e 20 64 3a 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 66 31 32 n>.d:.<span.class="tok-type">f12
79760 38 3c 2f 73 70 61 6e 3e 20 3d 20 63 3b 0a 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 8</span>.=.c;.....<span.class="t
79780 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 64 2c ok-kw">try</span>.expectEqual(d,
797a0 20 61 29 3b 0a 7d 3c 2f 63 6f 64 65 3e 3c 2f 70 72 65 3e 3c 2f 66 69 67 75 72 65 3e 3c 66 69 67 .a);.}</code></pre></figure><fig
797c0 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
797e0 22 3e 53 68 65 6c 6c 3c 2f 66 69 67 63 61 70 74 69 6f 6e 3e 3c 70 72 65 3e 3c 73 61 6d 70 3e 24 ">Shell</figcaption><pre><samp>$
79800 20 3c 6b 62 64 3e 7a 69 67 20 74 65 73 74 20 74 65 73 74 5f 69 6e 74 65 67 65 72 5f 77 69 64 65 .<kbd>zig.test.test_integer_wide
79820 6e 69 6e 67 2e 7a 69 67 3c 2f 6b 62 64 3e 0a 31 2f 33 20 74 65 73 74 5f 69 6e 74 65 67 65 72 5f ning.zig</kbd>.1/3.test_integer_
79840 77 69 64 65 6e 69 6e 67 2e 74 65 73 74 2e 69 6e 74 65 67 65 72 20 77 69 64 65 6e 69 6e 67 2e 2e widening.test.integer.widening..
79860 2e 4f 4b 0a 32 2f 33 20 74 65 73 74 5f 69 6e 74 65 67 65 72 5f 77 69 64 65 6e 69 6e 67 2e 74 65 .OK.2/3.test_integer_widening.te
79880 73 74 2e 69 6d 70 6c 69 63 69 74 20 75 6e 73 69 67 6e 65 64 20 69 6e 74 65 67 65 72 20 74 6f 20 st.implicit.unsigned.integer.to.
798a0 73 69 67 6e 65 64 20 69 6e 74 65 67 65 72 2e 2e 2e 4f 4b 0a 33 2f 33 20 74 65 73 74 5f 69 6e 74 signed.integer...OK.3/3.test_int
798c0 65 67 65 72 5f 77 69 64 65 6e 69 6e 67 2e 74 65 73 74 2e 66 6c 6f 61 74 20 77 69 64 65 6e 69 6e eger_widening.test.float.widenin
798e0 67 2e 2e 2e 4f 4b 0a 41 6c 6c 20 33 20 74 65 73 74 73 20 70 61 73 73 65 64 2e 0a 3c 2f 73 61 6d g...OK.All.3.tests.passed..</sam
79900 70 3e 3c 2f 70 72 65 3e 3c 2f 66 69 67 75 72 65 3e 0a 0a 20 20 20 20 20 20 0a 20 20 20 20 20 20 p></pre></figure>...............
79920 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 2d 74 6f 2d 46 6c 6f <h4.id="Type-Coercion-Int-to-Flo
79940 61 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 54 79 70 65 2d at"><a.href="nav.xhtml#toc-Type-
79960 43 6f 65 72 63 69 6f 6e 2d 49 6e 74 2d 74 6f 2d 46 6c 6f 61 74 22 3e 54 79 70 65 20 43 6f 65 72 Coercion-Int-to-Float">Type.Coer
79980 63 69 6f 6e 3a 20 49 6e 74 20 74 6f 20 46 6c 6f 61 74 3c 2f 61 3e 20 3c 61 20 63 6c 61 73 73 3d cion:.Int.to.Float</a>.<a.class=
799a0 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 49 6e 74 2d 74 "hdr".href="#Type-Coercion-Int-t
799c0 6f 2d 46 6c 6f 61 74 22 3e c2 a7 3c 2f 61 3e 3c 2f 68 34 3e 0a 0a 20 20 20 20 20 20 3c 70 3e 0a o-Float">..</a></h4>........<p>.
799e0 20 20 20 20 20 20 3c 61 20 68 72 65 66 3d 22 23 49 6e 74 65 67 65 72 73 22 3e 49 6e 74 65 67 65 ......<a.href="#Integers">Intege
79a00 72 73 3c 2f 61 3e 20 63 6f 65 72 63 65 20 74 6f 20 3c 61 20 68 72 65 66 3d 22 23 46 6c 6f 61 74 rs</a>.coerce.to.<a.href="#Float
79a20 73 22 3e 46 6c 6f 61 74 73 3c 2f 61 3e 20 69 66 20 65 76 65 72 79 20 70 6f 73 73 69 62 6c 65 20 s">Floats</a>.if.every.possible.
79a40 69 6e 74 65 67 65 72 20 76 61 6c 75 65 20 63 61 6e 20 62 65 20 73 74 6f 72 65 64 20 69 6e 20 74 integer.value.can.be.stored.in.t
79a60 68 65 20 66 6c 6f 61 74 0a 20 20 20 20 20 20 77 69 74 68 6f 75 74 20 72 6f 75 6e 64 69 6e 67 20 he.float.......without.rounding.
79a80 28 69 2e 65 2e 20 74 68 65 20 69 6e 74 65 67 65 72 27 73 20 70 72 65 63 69 73 69 6f 6e 20 64 6f (i.e..the.integer's.precision.do
79aa0 65 73 20 6e 6f 74 20 65 78 63 65 65 64 20 74 68 65 20 66 6c 6f 61 74 27 73 20 73 69 67 6e 69 66 es.not.exceed.the.float's.signif
79ac0 69 63 61 6e 64 20 70 72 65 63 69 73 69 6f 6e 29 2e 0a 20 20 20 20 20 20 4c 61 72 67 65 72 20 69 icand.precision)........Larger.i
79ae0 6e 74 65 67 65 72 20 74 79 70 65 73 20 74 68 61 74 20 63 61 6e 6e 6f 74 20 62 65 20 73 61 66 65 nteger.types.that.cannot.be.safe
79b00 6c 79 20 63 6f 65 72 63 65 64 20 6d 75 73 74 20 62 65 20 65 78 70 6c 69 63 69 74 6c 79 20 63 61 ly.coerced.must.be.explicitly.ca
79b20 73 74 65 64 20 77 69 74 68 20 3c 61 20 68 72 65 66 3d 22 23 66 6c 6f 61 74 46 72 6f 6d 49 6e 74 sted.with.<a.href="#floatFromInt
79b40 22 3e 40 66 6c 6f 61 74 46 72 6f 6d 49 6e 74 3c 2f 61 3e 2e 0a 20 20 20 20 20 20 3c 2f 70 3e 0a ">@floatFromInt</a>........</p>.
79b60 20 20 20 20 20 20 3c 64 69 76 20 63 6c 61 73 73 3d 22 74 61 62 6c 65 2d 77 72 61 70 70 65 72 22 ......<div.class="table-wrapper"
79b80 3e 0a 20 20 20 20 20 20 3c 74 61 62 6c 65 3e 0a 20 20 20 20 20 20 20 20 3c 74 68 65 61 64 3e 0a >.......<table>.........<thead>.
79ba0 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
79bc0 3d 22 63 6f 6c 22 3e 46 6c 6f 61 74 20 54 79 70 65 3c 2f 74 68 3e 0a 20 20 20 20 20 20 20 20 20 ="col">Float.Type</th>..........
79be0 20 3c 74 68 20 73 63 6f 70 65 3d 22 63 6f 6c 22 3e 4c 61 72 67 65 73 74 20 49 6e 74 65 67 65 72 .<th.scope="col">Largest.Integer
79c00 20 54 79 70 65 73 3c 2f 74 68 3e 0a 20 20 20 20 20 20 20 20 3c 2f 74 72 3e 0a 20 20 20 20 20 20 .Types</th>.........</tr>.......
79c20 20 20 3c 2f 74 68 65 61 64 3e 0a 20 20 20 20 20 20 20 20 3c 74 62 6f 64 79 3e 0a 20 20 20 20 20 ..</thead>.........<tbody>......
79c40 20 20 20 3c 74 72 3e 0a 20 20 20 20 20 20 20 20 20 20 20 20 3c 74 68 20 73 63 6f 70 65 3d 22 72 ...<tr>.............<th.scope="r
79c60 6f 77 22 3e 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 ow"><code><span.class="tok-type"
79c80 3e 66 31 36 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 >f16</span></code></th>.........
79ca0 20 20 20 20 3c 74 64 3e 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 ....<td><code><span.class="tok-t
79cc0 79 70 65 22 3e 69 31 32 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 20 61 6e 64 20 3c 63 6f 64 65 ype">i12</span></code>.and.<code
79ce0 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 75 31 31 3c 2f 73 70 61 ><span.class="tok-type">u11</spa
79d00 6e 3e 3c 2f 63 6f 64 65 3e 3c 2f 74 64 3e 0a 20 20 20 20 20 20 20 20 3c 2f 74 72 3e 0a 20 20 20 n></code></td>.........</tr>....
79d20 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=
79d40 22 72 6f 77 22 3e 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 "row"><code><span.class="tok-typ
79d60 65 22 3e 66 33 32 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 3c 2f 74 68 3e 0a 20 20 20 20 20 20 e">f32</span></code></th>.......
79d80 20 20 20 20 20 20 3c 74 64 3e 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b ......<td><code><span.class="tok
79da0 2d 74 79 70 65 22 3e 69 32 35 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 20 61 6e 64 20 3c 63 6f -type">i25</span></code>.and.<co
79dc0 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 75 32 34 3c 2f 73 de><span.class="tok-type">u24</s
79de0 70 61 6e 3e 3c 2f 63 6f 64 65 3e 3c 2f 74 64 3e 0a 20 20 20 20 20 20 20 20 3c 2f 74 72 3e 0a 20 pan></code></td>.........</tr>..
79e00 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
79e20 65 3d 22 72 6f 77 22 3e 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 e="row"><code><span.class="tok-t
79e40 79 70 65 22 3e 66 36 34 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 3c 2f 74 68 3e 0a 20 20 20 20 ype">f64</span></code></th>.....
79e60 20 20 20 20 20 20 20 20 3c 74 64 3e 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 ........<td><code><span.class="t
79e80 6f 6b 2d 74 79 70 65 22 3e 69 35 34 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 20 61 6e 64 20 3c ok-type">i54</span></code>.and.<
79ea0 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 75 35 33 3c code><span.class="tok-type">u53<
79ec0 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>
79ee0 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
79f00 6f 70 65 3d 22 72 6f 77 22 3e 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b ope="row"><code><span.class="tok
79f20 2d 74 79 70 65 22 3e 66 38 30 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 3c 2f 74 68 3e 0a 20 20 -type">f80</span></code></th>...
79f40 20 20 20 20 20 20 20 20 20 20 3c 74 64 3e 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d ..........<td><code><span.class=
79f60 22 74 6f 6b 2d 74 79 70 65 22 3e 69 36 35 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 20 61 6e 64 "tok-type">i65</span></code>.and
79f80 20 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 75 36 .<code><span.class="tok-type">u6
79fa0 34 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 3c 2f 74 64 3e 0a 20 20 20 20 20 20 20 20 3c 2f 74 4</span></code></td>.........</t
79fc0 72 3e 0a 20 20 20 20 20 20 20 20 3c 74 72 3e 0a 20 20 20 20 20 20 20 20 20 20 20 20 3c 74 68 20 r>.........<tr>.............<th.
79fe0 73 63 6f 70 65 3d 22 72 6f 77 22 3e 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 scope="row"><code><span.class="t
7a000 6f 6b 2d 74 79 70 65 22 3e 66 31 32 38 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 3c 2f 74 68 3e ok-type">f128</span></code></th>
7a020 0a 20 20 20 20 20 20 20 20 20 20 20 20 3c 74 64 3e 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 .............<td><code><span.cla
7a040 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 69 31 31 34 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e ss="tok-type">i114</span></code>
7a060 20 61 6e 64 20 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 .and.<code><span.class="tok-type
7a080 22 3e 75 31 31 33 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 ">u113</span></code></td>.......
7a0a0 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>............
7a0c0 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
7a0e0 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 63 5f 6c 6f 6e 67 64 6f 75 62 6c 65 3c 2f 73 70 61 6e ss="tok-type">c_longdouble</span
7a100 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 56 61 ></code></th>.............<td>Va
7a120 72 69 65 73 20 62 79 20 74 61 72 67 65 74 3c 2f 74 64 3e 0a 20 20 20 20 20 20 20 20 3c 2f 74 72 ries.by.target</td>.........</tr
7a140 3e 0a 20 20 20 20 20 20 20 20 3c 2f 74 62 6f 64 79 3e 0a 20 20 20 20 20 20 3c 2f 74 61 62 6c 65 >.........</tbody>.......</table
7a160 3e 0a 20 20 20 20 20 20 3c 2f 64 69 76 3e 0a 20 20 20 20 20 20 3c 66 69 67 75 72 65 3e 3c 66 69 >.......</div>.......<figure><fi
7a180 67 63 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
7a1a0 6c 61 73 73 3d 22 66 69 6c 65 22 3e 74 65 73 74 5f 69 6e 74 5f 74 6f 5f 66 6c 6f 61 74 5f 63 6f lass="file">test_int_to_float_co
7a1c0 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 6e 3e 3c 70 ercion.zig</cite></figcaption><p
7a1e0 72 65 3e 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 63 6f re><code><span.class="tok-kw">co
7a200 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
7a220 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.
7a240 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;<
7a260 2f 73 70 61 6e 3e 29 3b 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 63 6f /span>);.<span.class="tok-kw">co
7a280 6e 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 nst</span>.expectEqual.=.std.tes
7a2a0 74 69 6e 67 2e 65 78 70 65 63 74 45 71 75 61 6c 3b 0a 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 ting.expectEqual;..<span.class="
7a2c0 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=
7a2e0 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 69 6e 74 65 67 65 72 "tok-str">&quot;implicit.integer
7a300 20 74 6f 20 66 6c 6f 61 74 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 20 7b 0a 20 20 20 20 3c 73 70 .to.float&quot;</span>.{.....<sp
7a320 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 6e 74 an.class="tok-kw">var</span>.int
7a340 3a 20 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
7a360 6e 3e 20 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 31 32 n>.=.<span.class="tok-number">12
7a380 33 3c 2f 73 70 61 6e 3e 3b 0a 20 20 20 20 5f 20 3d 20 26 61 6d 70 3b 69 6e 74 3b 0a 20 20 20 20 3</span>;....._.=.&amp;int;.....
7a3a0 3c 73 70 61 6e 20 63 6c 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
7a3c0 3e 20 66 6c 6f 61 74 3a 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e >.float:.<span.class="tok-type">
7a3e0 66 33 32 3c 2f 73 70 61 6e 3e 20 3d 20 69 6e 74 3b 0a 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 f32</span>.=.int;.....<span.clas
7a400 73 3d 22 74 6f 6b 2d 6b 77 22 3e 63 6f 6e 73 74 3c 2f 73 70 61 6e 3e 20 69 6e 74 5f 66 72 6f 6d s="tok-kw">const</span>.int_from
7a420 5f 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 75 _float:.<span.class="tok-type">u
7a440 38 3c 2f 73 70 61 6e 3e 20 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 62 75 69 6c 8</span>.=.<span.class="tok-buil
7a460 74 69 6e 22 3e 40 69 6e 74 46 72 6f 6d 46 6c 6f 61 74 3c 2f 73 70 61 6e 3e 28 66 6c 6f 61 74 29 tin">@intFromFloat</span>(float)
7a480 3b 0a 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 74 72 79 3c 2f ;.....<span.class="tok-kw">try</
7a4a0 73 70 61 6e 3e 20 65 78 70 65 63 74 45 71 75 61 6c 28 69 6e 74 2c 20 69 6e 74 5f 66 72 6f 6d 5f span>.expectEqual(int,.int_from_
7a4c0 66 6c 6f 61 74 29 3b 0a 7d 3c 2f 63 6f 64 65 3e 3c 2f 70 72 65 3e 3c 2f 66 69 67 75 72 65 3e 3c float);.}</code></pre></figure><
7a4e0 66 69 67 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-
7a500 63 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
7a520 70 3e 24 20 3c 6b 62 64 3e 7a 69 67 20 74 65 73 74 20 74 65 73 74 5f 69 6e 74 5f 74 6f 5f 66 6c p>$.<kbd>zig.test.test_int_to_fl
7a540 6f 61 74 5f 63 6f 65 72 63 69 6f 6e 2e 7a 69 67 3c 2f 6b 62 64 3e 0a 31 2f 31 20 74 65 73 74 5f oat_coercion.zig</kbd>.1/1.test_
7a560 69 6e 74 5f 74 6f 5f 66 6c 6f 61 74 5f 63 6f 65 72 63 69 6f 6e 2e 74 65 73 74 2e 69 6d 70 6c 69 int_to_float_coercion.test.impli
7a580 63 69 74 20 69 6e 74 65 67 65 72 20 74 6f 20 66 6c 6f 61 74 2e 2e 2e 4f 4b 0a 41 6c 6c 20 31 20 cit.integer.to.float...OK.All.1.
7a5a0 74 65 73 74 73 20 70 61 73 73 65 64 2e 0a 3c 2f 73 61 6d 70 3e 3c 2f 70 72 65 3e 3c 2f 66 69 67 tests.passed..</samp></pre></fig
7a5c0 75 72 65 3e 0a 20 20 20 20 20 20 3c 66 69 67 75 72 65 3e 3c 66 69 67 63 61 70 74 69 6f 6e 20 63 ure>.......<figure><figcaption.c
7a5e0 6c 61 73 73 3d 22 7a 69 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
7a600 22 3e 74 65 73 74 5f 66 61 69 6c 65 64 5f 69 6e 74 5f 74 6f 5f 66 6c 6f 61 74 5f 63 6f 65 72 63 ">test_failed_int_to_float_coerc
7a620 69 6f 6e 2e 7a 69 67 3c 2f 63 69 74 65 3e 3c 2f 66 69 67 63 61 70 74 69 6f 6e 3e 3c 70 72 65 3e ion.zig</cite></figcaption><pre>
7a640 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 74 65 73 74 3c <code><span.class="tok-kw">test<
7a660 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
7a680 6f 74 3b 69 6e 74 65 67 65 72 20 74 79 70 65 20 69 73 20 74 6f 6f 20 6c 61 72 67 65 20 66 6f 72 ot;integer.type.is.too.large.for
7a6a0 20 69 6d 70 6c 69 63 69 74 20 63 61 73 74 20 74 6f 20 66 6c 6f 61 74 26 71 75 6f 74 3b 3c 2f 73 .implicit.cast.to.float&quot;</s
7a6c0 70 61 6e 3e 20 7b 0a 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e pan>.{.....<span.class="tok-kw">
7a6e0 76 61 72 3c 2f 73 70 61 6e 3e 20 69 6e 74 3a 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b var</span>.int:.<span.class="tok
7a700 2d 74 79 70 65 22 3e 75 32 35 3c 2f 73 70 61 6e 3e 20 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d -type">u25</span>.=.<span.class=
7a720 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 31 32 33 3c 2f 73 70 61 6e 3e 3b 0a 20 20 20 20 5f 20 3d "tok-number">123</span>;....._.=
7a740 20 26 61 6d 70 3b 69 6e 74 3b 0a 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d .&amp;int;.....<span.class="tok-
7a760 6b 77 22 3e 63 6f 6e 73 74 3c 2f 73 70 61 6e 3e 20 66 6c 6f 61 74 3a 20 3c 73 70 61 6e 20 63 6c kw">const</span>.float:.<span.cl
7a780 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 66 33 32 3c 2f 73 70 61 6e 3e 20 3d 20 69 6e 74 3b ass="tok-type">f32</span>.=.int;
7a7a0 0a 20 20 20 20 5f 20 3d 20 66 6c 6f 61 74 3b 0a 7d 3c 2f 63 6f 64 65 3e 3c 2f 70 72 65 3e 3c 2f ....._.=.float;.}</code></pre></
7a7c0 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
7a7e0 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><
7a800 70 72 65 3e 3c 73 61 6d 70 3e 24 20 3c 6b 62 64 3e 7a 69 67 20 74 65 73 74 20 74 65 73 74 5f 66 pre><samp>$.<kbd>zig.test.test_f
7a820 61 69 6c 65 64 5f 69 6e 74 5f 74 6f 5f 66 6c 6f 61 74 5f 63 6f 65 72 63 69 6f 6e 2e 7a 69 67 3c ailed_int_to_float_coercion.zig<
7a840 2f 6b 62 64 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 73 67 72 2d 31 6d 22 3e 2f 68 6f 6d 65 /kbd>.<span.class="sgr-1m">/home
7a860 2f 63 69 2f 77 6f 72 6b 2f 7a 69 67 2d 62 6f 6f 74 73 74 72 61 70 2f 7a 69 67 2f 64 6f 63 2f 6c /ci/work/zig-bootstrap/zig/doc/l
7a880 61 6e 67 72 65 66 2f 74 65 73 74 5f 66 61 69 6c 65 64 5f 69 6e 74 5f 74 6f 5f 66 6c 6f 61 74 5f angref/test_failed_int_to_float_
7a8a0 63 6f 65 72 63 69 6f 6e 2e 7a 69 67 3a 34 3a 32 34 3a 20 3c 2f 73 70 61 6e 3e 3c 73 70 61 6e 20 coercion.zig:4:24:.</span><span.
7a8c0 63 6c 61 73 73 3d 22 73 67 72 2d 33 31 6d 22 3e 65 72 72 6f 72 3a 20 3c 2f 73 70 61 6e 3e 3c 73 class="sgr-31m">error:.</span><s
7a8e0 70 61 6e 20 63 6c 61 73 73 3d 22 73 67 72 2d 31 6d 22 3e 65 78 70 65 63 74 65 64 20 74 79 70 65 pan.class="sgr-1m">expected.type
7a900 20 27 66 33 32 27 2c 20 66 6f 75 6e 64 20 27 75 32 35 27 0a 3c 2f 73 70 61 6e 3e 20 20 20 20 63 .'f32',.found.'u25'.</span>....c
7a920 6f 6e 73 74 20 66 6c 6f 61 74 3a 20 66 33 32 20 3d 20 69 6e 74 3b 0a 20 20 20 20 20 20 20 20 20 onst.float:.f32.=.int;..........
7a940 20 20 20 20 20 20 20 20 20 20 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 73 67 72 2d 33 ..............<span.class="sgr-3
7a960 32 6d 22 3e 5e 7e 7e 0a 3c 2f 73 70 61 6e 3e 0a 3c 2f 73 61 6d 70 3e 3c 2f 70 72 65 3e 3c 2f 66 2m">^~~.</span>.</samp></pre></f
7a980 69 67 75 72 65 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 igure>...............<h4.id="Typ
7a9a0 65 2d 43 6f 65 72 63 69 6f 6e 2d 46 6c 6f 61 74 2d 74 6f 2d 49 6e 74 22 3e 3c 61 20 68 72 65 66 e-Coercion-Float-to-Int"><a.href
7a9c0 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 6e 2d 46 6c ="nav.xhtml#toc-Type-Coercion-Fl
7a9e0 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 46 6c 6f 61 74 oat-to-Int">Type.Coercion:.Float
7aa00 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 65 66 3d .to.Int</a>.<a.class="hdr".href=
7aa20 22 23 54 79 70 65 2d 43 6f 65 72 63 69 6f 6e 2d 46 6c 6f 61 74 2d 74 6f 2d 49 6e 74 22 3e c2 a7 "#Type-Coercion-Float-to-Int">..
7aa40 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 41 20 63 6f 6d </a></h4>........<p>.......A.com
7aa60 70 69 6c 65 72 20 65 72 72 6f 72 20 69 73 20 61 70 70 72 6f 70 72 69 61 74 65 20 62 65 63 61 75 piler.error.is.appropriate.becau
7aa80 73 65 20 74 68 69 73 20 61 6d 62 69 67 75 6f 75 73 20 65 78 70 72 65 73 73 69 6f 6e 20 6c 65 61 se.this.ambiguous.expression.lea
7aaa0 76 65 73 20 74 68 65 20 63 6f 6d 70 69 6c 65 72 0a 20 20 20 20 20 20 74 77 6f 20 63 68 6f 69 63 ves.the.compiler.......two.choic
7aac0 65 73 20 61 62 6f 75 74 20 74 68 65 20 63 6f 65 72 63 69 6f 6e 2e 0a 20 20 20 20 20 20 3c 2f 70 es.about.the.coercion........</p
7aae0 3e 0a 20 20 20 20 20 20 3c 75 6c 3e 0a 20 20 20 20 20 20 20 20 3c 6c 69 3e 43 61 73 74 20 3c 63 >.......<ul>.........<li>Cast.<c
7ab00 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 35 34 2e ode><span.class="tok-number">54.
7ab20 30 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 20 74 6f 20 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 0</span></code>.to.<code><span.c
7ab40 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 63 6f 6d 70 74 69 6d 65 5f 69 6e 74 3c 2f 73 70 lass="tok-type">comptime_int</sp
7ab60 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 73 an></code>.resulting.in.<code><s
7ab80 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 62 75 69 6c 74 69 6e 22 3e 40 61 73 3c 2f 73 70 61 pan.class="tok-builtin">@as</spa
7aba0 6e 3e 28 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 63 6f 6d 70 74 69 n>(<span.class="tok-type">compti
7abc0 6d 65 5f 69 6e 74 3c 2f 73 70 61 6e 3e 2c 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d me_int</span>,.<span.class="tok-
7abe0 6e 75 6d 62 65 72 22 3e 31 30 3c 2f 73 70 61 6e 3e 29 3c 2f 63 6f 64 65 3e 2c 20 77 68 69 63 68 number">10</span>)</code>,.which
7ac00 20 69 73 20 63 61 73 74 65 64 20 74 6f 20 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d .is.casted.to.<code><span.class=
7ac20 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
7ac40 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 66 33 32 3c 2f 73 70 61 6e 3e 2c 20 3c 73 70 61 lass="tok-type">f32</span>,.<spa
7ac60 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 3c n.class="tok-number">10</span>)<
7ac80 2f 63 6f 64 65 3e 3c 2f 6c 69 3e 0a 20 20 20 20 20 20 20 20 3c 6c 69 3e 43 61 73 74 20 3c 63 6f /code></li>.........<li>Cast.<co
7aca0 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 35 3c 2f 73 de><span.class="tok-number">5</s
7acc0 70 61 6e 3e 3c 2f 63 6f 64 65 3e 20 74 6f 20 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 pan></code>.to.<code><span.class
7ace0 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 70 61 6e ="tok-type">comptime_float</span
7ad00 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 73 70 61 ></code>.resulting.in.<code><spa
7ad20 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>
7ad40 28 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 63 6f 6d 70 74 69 6d 65 (<span.class="tok-type">comptime
7ad60 5f 66 6c 6f 61 74 3c 2f 73 70 61 6e 3e 2c 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d _float</span>,.<span.class="tok-
7ad80 6e 75 6d 62 65 72 22 3e 31 30 2e 38 3c 2f 73 70 61 6e 3e 29 3c 2f 63 6f 64 65 3e 2c 20 77 68 69 number">10.8</span>)</code>,.whi
7ada0 63 68 20 69 73 20 63 61 73 74 65 64 20 74 6f 20 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 ch.is.casted.to.<code><span.clas
7adc0 73 3d 22 74 6f 6b 2d 62 75 69 6c 74 69 6e 22 3e 40 61 73 3c 2f 73 70 61 6e 3e 28 3c 73 70 61 6e s="tok-builtin">@as</span>(<span
7ade0 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 20 3c 73 .class="tok-type">f32</span>,.<s
7ae00 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 31 30 2e 38 3c 2f 73 70 61 pan.class="tok-number">10.8</spa
7ae20 6e 3e 29 3c 2f 63 6f 64 65 3e 3c 2f 6c 69 3e 0a 20 20 20 20 20 20 3c 2f 75 6c 3e 0a 20 20 20 20 n>)</code></li>.......</ul>.....
7ae40 20 20 3c 66 69 67 75 72 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
7ae60 2d 63 61 70 22 3e 3c 63 69 74 65 20 63 6c 61 73 73 3d 22 66 69 6c 65 22 3e 74 65 73 74 5f 61 6d -cap"><cite.class="file">test_am
7ae80 62 69 67 75 6f 75 73 5f 63 6f 65 72 63 69 6f 6e 2e 7a 69 67 3c 2f 63 69 74 65 3e 3c 2f 66 69 67 biguous_coercion.zig</cite></fig
7aea0 63 61 70 74 69 6f 6e 3e 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="
7aec0 74 6f 6b 2d 63 6f 6d 6d 65 6e 74 22 3e 2f 2f 20 43 6f 6d 70 69 6c 65 20 74 69 6d 65 20 63 6f 65 tok-comment">//.Compile.time.coe
7aee0 72 63 69 6f 6e 20 6f 66 20 66 6c 6f 61 74 20 74 6f 20 69 6e 74 3c 2f 73 70 61 6e 3e 0a 3c 73 70 rcion.of.float.to.int</span>.<sp
7af00 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
7af20 70 61 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 63 pan.class="tok-str">&quot;implic
7af40 69 74 20 63 61 73 74 20 74 6f 20 63 6f 6d 70 74 69 6d 65 5f 69 6e 74 26 71 75 6f 74 3b 3c 2f 73 it.cast.to.comptime_int&quot;</s
7af60 70 61 6e 3e 20 7b 0a 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e pan>.{.....<span.class="tok-kw">
7af80 63 6f 6e 73 74 3c 2f 73 70 61 6e 3e 20 66 3a 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b const</span>.f:.<span.class="tok
7afa0 2d 74 79 70 65 22 3e 66 33 32 3c 2f 73 70 61 6e 3e 20 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d -type">f32</span>.=.<span.class=
7afc0 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 35 34 2e 30 3c 2f 73 70 61 6e 3e 20 2f 20 3c 73 70 61 6e "tok-number">54.0</span>./.<span
7afe0 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 35 3c 2f 73 70 61 6e 3e 3b 0a 20 20 .class="tok-number">5</span>;...
7b000 20 20 5f 20 3d 20 66 3b 0a 7d 3c 2f 63 6f 64 65 3e 3c 2f 70 72 65 3e 3c 2f 66 69 67 75 72 65 3e .._.=.f;.}</code></pre></figure>
7b020 3c 66 69 67 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
7b040 2d 63 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
7b060 6d 70 3e 24 20 3c 6b 62 64 3e 7a 69 67 20 74 65 73 74 20 74 65 73 74 5f 61 6d 62 69 67 75 6f 75 mp>$.<kbd>zig.test.test_ambiguou
7b080 73 5f 63 6f 65 72 63 69 6f 6e 2e 7a 69 67 3c 2f 6b 62 64 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 s_coercion.zig</kbd>.<span.class
7b0a0 3d 22 73 67 72 2d 31 6d 22 3e 2f 68 6f 6d 65 2f 63 69 2f 77 6f 72 6b 2f 7a 69 67 2d 62 6f 6f 74 ="sgr-1m">/home/ci/work/zig-boot
7b0c0 73 74 72 61 70 2f 7a 69 67 2f 64 6f 63 2f 6c 61 6e 67 72 65 66 2f 74 65 73 74 5f 61 6d 62 69 67 strap/zig/doc/langref/test_ambig
7b0e0 75 6f 75 73 5f 63 6f 65 72 63 69 6f 6e 2e 7a 69 67 3a 33 3a 32 35 3a 20 3c 2f 73 70 61 6e 3e 3c uous_coercion.zig:3:25:.</span><
7b100 73 70 61 6e 20 63 6c 61 73 73 3d 22 73 67 72 2d 33 31 6d 22 3e 65 72 72 6f 72 3a 20 3c 2f 73 70 span.class="sgr-31m">error:.</sp
7b120 61 6e 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 73 67 72 2d 31 6d 22 3e 61 6d 62 69 67 75 6f 75 an><span.class="sgr-1m">ambiguou
7b140 73 20 63 6f 65 72 63 69 6f 6e 20 6f 66 20 64 69 76 69 73 69 6f 6e 20 6f 70 65 72 61 6e 64 73 20 s.coercion.of.division.operands.
7b160 27 63 6f 6d 70 74 69 6d 65 5f 66 6c 6f 61 74 27 20 61 6e 64 20 27 63 6f 6d 70 74 69 6d 65 5f 69 'comptime_float'.and.'comptime_i
7b180 6e 74 27 3b 20 6e 6f 6e 2d 7a 65 72 6f 20 72 65 6d 61 69 6e 64 65 72 20 27 34 27 0a 3c 2f 73 70 nt';.non-zero.remainder.'4'.</sp
7b1a0 61 6e 3e 20 20 20 20 63 6f 6e 73 74 20 66 3a 20 66 33 32 20 3d 20 35 34 2e 30 20 2f 20 35 3b 0a an>....const.f:.f32.=.54.0./.5;.
7b1c0 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="
7b1e0 73 67 72 2d 33 32 6d 22 3e 7e 7e 7e 7e 7e 5e 7e 7e 0a 3c 2f 73 70 61 6e 3e 0a 3c 2f 73 61 6d 70 sgr-32m">~~~~~^~~.</span>.</samp
7b200 3e 3c 2f 70 72 65 3e 3c 2f 66 69 67 75 72 65 3e 0a 0a 20 20 20 20 20 20 0a 20 20 20 20 20 20 3c ></pre></figure>...............<
7b220 68 34 20 69 64 3d 22 54 79 70 65 2d 43 6f 65 72 63 69 6f 6e 2d 53 6c 69 63 65 73 2d 41 72 72 61 h4.id="Type-Coercion-Slices-Arra
7b240 79 73 2d 61 6e 64 2d 50 6f 69 6e 74 65 72 73 22 3e 3c 61 20 68 72 65 66 3d 22 6e 61 76 2e 78 68 ys-and-Pointers"><a.href="nav.xh
7b260 74 6d 6c 23 74 6f 63 2d 54 79 70 65 2d 43 6f 65 72 63 69 6f 6e 2d 53 6c 69 63 65 73 2d 41 72 72 tml#toc-Type-Coercion-Slices-Arr
7b280 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:
7b2a0 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>
7b2c0 20 3c 61 20 63 6c 61 73 73 3d 22 68 64 72 22 20 68 72 65 66 3d 22 23 54 79 70 65 2d 43 6f 65 72 .<a.class="hdr".href="#Type-Coer
7b2e0 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 22 cion-Slices-Arrays-and-Pointers"
7b300 3e c2 a7 3c 2f 61 3e 3c 2f 68 34 3e 0a 0a 20 20 20 20 20 20 3c 66 69 67 75 72 65 3e 3c 66 69 67 >..</a></h4>........<figure><fig
7b320 63 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
7b340 61 73 73 3d 22 66 69 6c 65 22 3e 74 65 73 74 5f 63 6f 65 72 63 65 5f 73 6c 69 63 65 73 5f 61 72 ass="file">test_coerce_slices_ar
7b360 72 61 79 73 5f 61 6e 64 5f 70 6f 69 6e 74 65 72 73 2e 7a 69 67 3c 2f 63 69 74 65 3e 3c 2f 66 69 rays_and_pointers.zig</cite></fi
7b380 67 63 61 70 74 69 6f 6e 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=
7b3a0 22 74 6f 6b 2d 6b 77 22 3e 63 6f 6e 73 74 3c 2f 73 70 61 6e 3e 20 73 74 64 20 3d 20 3c 73 70 61 "tok-kw">const</span>.std.=.<spa
7b3c0 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
7b3e0 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
7b400 3b 73 74 64 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 29 3b 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d ;std&quot;</span>);.<span.class=
7b420 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 45 71 75 61 "tok-kw">const</span>.expectEqua
7b440 6c 20 3d 20 73 74 64 2e 74 65 73 74 69 6e 67 2e 65 78 70 65 63 74 45 71 75 61 6c 3b 0a 3c 73 70 l.=.std.testing.expectEqual;.<sp
7b460 61 6e 20 63 6c 61 73 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
7b480 78 70 65 63 74 45 71 75 61 6c 53 74 72 69 6e 67 73 20 3d 20 73 74 64 2e 74 65 73 74 69 6e 67 2e xpectEqualStrings.=.std.testing.
7b4a0 65 78 70 65 63 74 45 71 75 61 6c 53 74 72 69 6e 67 73 3b 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d expectEqualStrings;.<span.class=
7b4c0 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 45 71 75 61 "tok-kw">const</span>.expectEqua
7b4e0 6c 53 6c 69 63 65 73 20 3d 20 73 74 64 2e 74 65 73 74 69 6e 67 2e 65 78 70 65 63 74 45 71 75 61 lSlices.=.std.testing.expectEqua
7b500 6c 53 6c 69 63 65 73 3b 0a 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 63 6f 6d 6d 65 lSlices;..<span.class="tok-comme
7b520 6e 74 22 3e 2f 2f 20 59 6f 75 20 63 61 6e 20 61 73 73 69 67 6e 20 63 6f 6e 73 74 61 6e 74 20 70 nt">//.You.can.assign.constant.p
7b540 6f 69 6e 74 65 72 73 20 74 6f 20 61 72 72 61 79 73 20 74 6f 20 61 20 73 6c 69 63 65 20 77 69 74 ointers.to.arrays.to.a.slice.wit
7b560 68 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 63 6f 6d 6d 65 6e h</span>.<span.class="tok-commen
7b580 74 22 3e 2f 2f 20 63 6f 6e 73 74 20 6d 6f 64 69 66 69 65 72 20 6f 6e 20 74 68 65 20 65 6c 65 6d t">//.const.modifier.on.the.elem
7b5a0 65 6e 74 20 74 79 70 65 2e 20 55 73 65 66 75 6c 20 69 6e 20 70 61 72 74 69 63 75 6c 61 72 20 66 ent.type..Useful.in.particular.f
7b5c0 6f 72 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 63 6f 6d 6d 65 or</span>.<span.class="tok-comme
7b5e0 6e 74 22 3e 2f 2f 20 53 74 72 69 6e 67 20 6c 69 74 65 72 61 6c 73 2e 3c 2f 73 70 61 6e 3e 0a 3c nt">//.String.literals.</span>.<
7b600 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>.
7b620 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 73 74 72 22 3e 26 71 75 6f 74 3b 2a 63 6f 6e <span.class="tok-str">&quot;*con
7b640 73 74 20 5b 4e 5d 54 20 74 6f 20 5b 5d 63 6f 6e 73 74 20 54 26 71 75 6f 74 3b 3c 2f 73 70 61 6e st.[N]T.to.[]const.T&quot;</span
7b660 3e 20 7b 0a 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 63 6f 6e >.{.....<span.class="tok-kw">con
7b680 73 74 3c 2f 73 70 61 6e 3e 20 78 31 3a 20 5b 5d 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b st</span>.x1:.[]<span.class="tok
7b6a0 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
7b6c0 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
7b6e0 3d 22 74 6f 6b 2d 73 74 72 22 3e 26 71 75 6f 74 3b 68 65 6c 6c 6f 26 71 75 6f 74 3b 3c 2f 73 70 ="tok-str">&quot;hello&quot;</sp
7b700 61 6e 3e 3b 0a 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 63 6f an>;.....<span.class="tok-kw">co
7b720 6e 73 74 3c 2f 73 70 61 6e 3e 20 78 32 3a 20 5b 5d 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f nst</span>.x2:.[]<span.class="to
7b740 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="
7b760 74 6f 6b 2d 74 79 70 65 22 3e 75 38 3c 2f 73 70 61 6e 3e 20 3d 20 26 61 6d 70 3b 5b 3c 73 70 61 tok-type">u8</span>.=.&amp;[<spa
7b780 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
7b7a0 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 75 38 3c 2f 73 70 61 6e 3e 7b 20 pan.class="tok-type">u8</span>{.
7b7c0 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>
7b7e0 2c 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 73 74 72 22 3e 27 65 27 3c 2f 73 70 61 ,.<span.class="tok-str">'e'</spa
7b800 6e 3e 2c 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 73 74 72 22 3e 27 6c 27 3c 2f 73 n>,.<span.class="tok-str">'l'</s
7b820 70 61 6e 3e 2c 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 73 74 72 22 3e 27 6c 27 3c pan>,.<span.class="tok-str">'l'<
7b840 2f 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"
7b860 3e 31 31 31 3c 2f 73 70 61 6e 3e 20 7d 3b 0a 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 >111</span>.};.....<span.class="
7b880 74 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 53 74 tok-kw">try</span>.expectEqualSt
7b8a0 72 69 6e 67 73 28 78 31 2c 20 78 32 29 3b 0a 0a 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d rings(x1,.x2);......<span.class=
7b8c0 22 74 6f 6b 2d 6b 77 22 3e 63 6f 6e 73 74 3c 2f 73 70 61 6e 3e 20 79 3a 20 5b 5d 3c 73 70 61 6e "tok-kw">const</span>.y:.[]<span
7b8e0 20 63 6c 61 73 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
7b900 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 66 33 32 3c 2f 73 70 61 6e 3e 20 3d an.class="tok-type">f32</span>.=
7b920 20 26 61 6d 70 3b 5b 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e .&amp;[<span.class="tok-number">
7b940 32 3c 2f 73 70 61 6e 3e 5d 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 2</span>]<span.class="tok-type">
7b960 66 33 32 3c 2f 73 70 61 6e 3e 7b 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d f32</span>{.<span.class="tok-num
7b980 62 65 72 22 3e 31 2e 32 3c 2f 73 70 61 6e 3e 2c 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f ber">1.2</span>,.<span.class="to
7b9a0 6b 2d 6e 75 6d 62 65 72 22 3e 33 2e 34 3c 2f 73 70 61 6e 3e 20 7d 3b 0a 20 20 20 20 3c 73 70 61 k-number">3.4</span>.};.....<spa
7b9c0 6e 20 63 6c 61 73 73 3d 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
7b9e0 63 74 45 71 75 61 6c 28 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 ctEqual(<span.class="tok-number"
7ba00 3e 31 2e 32 3c 2f 73 70 61 6e 3e 2c 20 79 5b 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d >1.2</span>,.y[<span.class="tok-
7ba20 6e 75 6d 62 65 72 22 3e 30 3c 2f 73 70 61 6e 3e 5d 29 3b 0a 7d 0a 0a 3c 73 70 61 6e 20 63 6c 61 number">0</span>]);.}..<span.cla
7ba40 73 73 3d 22 74 6f 6b 2d 63 6f 6d 6d 65 6e 74 22 3e 2f 2f 20 4c 69 6b 65 77 69 73 65 2c 20 69 74 ss="tok-comment">//.Likewise,.it
7ba60 20 77 6f 72 6b 73 20 77 68 65 6e 20 74 68 65 20 64 65 73 74 69 6e 61 74 69 6f 6e 20 74 79 70 65 .works.when.the.destination.type
7ba80 20 69 73 20 61 6e 20 65 72 72 6f 72 20 75 6e 69 6f 6e 2e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e .is.an.error.union.</span>.<span
7baa0 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
7bac0 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.[
7bae0 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>.
7bb00 7b 0a 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 63 6f 6e 73 74 {.....<span.class="tok-kw">const
7bb20 3c 2f 73 70 61 6e 3e 20 78 31 3a 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 </span>.x1:.<span.class="tok-typ
7bb40 65 22 3e 61 6e 79 65 72 72 6f 72 3c 2f 73 70 61 6e 3e 21 5b 5d 3c 73 70 61 6e 20 63 6c 61 73 73 e">anyerror</span>![]<span.class
7bb60 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
7bb80 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.
7bba0 63 6c 61 73 73 3d 22 74 6f 6b 2d 73 74 72 22 3e 26 71 75 6f 74 3b 68 65 6c 6c 6f 26 71 75 6f 74 class="tok-str">&quot;hello&quot
7bbc0 3b 3c 2f 73 70 61 6e 3e 3b 0a 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b ;</span>;.....<span.class="tok-k
7bbe0 77 22 3e 63 6f 6e 73 74 3c 2f 73 70 61 6e 3e 20 78 32 3a 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d w">const</span>.x2:.<span.class=
7bc00 22 74 6f 6b 2d 74 79 70 65 22 3e 61 6e 79 65 72 72 6f 72 3c 2f 73 70 61 6e 3e 21 5b 5d 3c 73 70 "tok-type">anyerror</span>![]<sp
7bc20 61 6e 20 63 6c 61 73 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>.<
7bc40 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>.
7bc60 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"
7bc80 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"
7bca0 3e 75 38 3c 2f 73 70 61 6e 3e 7b 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 73 74 72 >u8</span>{.<span.class="tok-str
7bcc0 22 3e 27 68 27 3c 2f 73 70 61 6e 3e 2c 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 73 ">'h'</span>,.<span.class="tok-s
7bce0 74 72 22 3e 27 65 27 3c 2f 73 70 61 6e 3e 2c 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b tr">'e'</span>,.<span.class="tok
7bd00 2d 73 74 72 22 3e 27 6c 27 3c 2f 73 70 61 6e 3e 2c 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 -str">'l'</span>,.<span.class="t
7bd20 6f 6b 2d 73 74 72 22 3e 27 6c 27 3c 2f 73 70 61 6e 3e 2c 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d ok-str">'l'</span>,.<span.class=
7bd40 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 31 31 31 3c 2f 73 70 61 6e 3e 20 7d 3b 0a 20 20 20 20 3c "tok-number">111</span>.};.....<
7bd60 73 70 61 6e 20 63 6c 61 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
7bd80 78 70 65 63 74 45 71 75 61 6c 53 74 72 69 6e 67 73 28 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 xpectEqualStrings(<span.class="t
7bda0 6f 6b 2d 6b 77 22 3e 74 72 79 3c 2f 73 70 61 6e 3e 20 78 31 2c 20 3c 73 70 61 6e 20 63 6c 61 73 ok-kw">try</span>.x1,.<span.clas
7bdc0 73 3d 22 74 6f 6b 2d 6b 77 22 3e 74 72 79 3c 2f 73 70 61 6e 3e 20 78 32 29 3b 0a 0a 20 20 20 20 s="tok-kw">try</span>.x2);......
7bde0 3c 73 70 61 6e 20 63 6c 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
7be00 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 65 >.y:.<span.class="tok-type">anye
7be20 72 72 6f 72 3c 2f 73 70 61 6e 3e 21 5b 5d 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b rror</span>![]<span.class="tok-k
7be40 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
7be60 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.
7be80 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
7bea0 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>{.<
7bec0 73 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
7bee0 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
7bf00 3c 2f 73 70 61 6e 3e 20 7d 3b 0a 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d </span>.};.....<span.class="tok-
7bf20 6b 77 22 3e 74 72 79 3c 2f 73 70 61 6e 3e 20 65 78 70 65 63 74 45 71 75 61 6c 28 3c 73 70 61 6e kw">try</span>.expectEqual(<span
7bf40 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 31 2e 32 3c 2f 73 70 61 6e 3e 2c 20 .class="tok-number">1.2</span>,.
7bf60 28 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 74 72 79 3c 2f 73 70 61 6e 3e (<span.class="tok-kw">try</span>
7bf80 20 79 29 5b 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 30 3c 2f .y)[<span.class="tok-number">0</
7bfa0 73 70 61 6e 3e 5d 29 3b 0a 7d 0a 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 63 6f 6d span>]);.}..<span.class="tok-com
7bfc0 6d 65 6e 74 22 3e 2f 2f 20 4c 69 6b 65 77 69 73 65 2c 20 69 74 20 77 6f 72 6b 73 20 77 68 65 6e ment">//.Likewise,.it.works.when
7bfe0 20 74 68 65 20 64 65 73 74 69 6e 61 74 69 6f 6e 20 74 79 70 65 20 69 73 20 61 6e 20 6f 70 74 69 .the.destination.type.is.an.opti
7c000 6f 6e 61 6c 2e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 onal.</span>.<span.class="tok-kw
7c020 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
7c040 74 72 22 3e 26 71 75 6f 74 3b 2a 63 6f 6e 73 74 20 5b 4e 5d 54 20 74 6f 20 3f 5b 5d 63 6f 6e 73 tr">&quot;*const.[N]T.to.?[]cons
7c060 74 20 54 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 20 7b 0a 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 t.T&quot;</span>.{.....<span.cla
7c080 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 63 6f 6e 73 74 3c 2f 73 70 61 6e 3e 20 78 31 3a 20 3f 5b 5d ss="tok-kw">const</span>.x1:.?[]
7c0a0 3c 73 70 61 6e 20 63 6c 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
7c0c0 3e 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 75 38 3c 2f 73 70 61 >.<span.class="tok-type">u8</spa
7c0e0 6e 3e 20 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 73 74 72 22 3e 26 71 75 6f 74 n>.=.<span.class="tok-str">&quot
7c100 3b 68 65 6c 6c 6f 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 3b 0a 20 20 20 20 3c 73 70 61 6e 20 63 ;hello&quot;</span>;.....<span.c
7c120 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 63 6f 6e 73 74 3c 2f 73 70 61 6e 3e 20 78 32 3a 20 3f lass="tok-kw">const</span>.x2:.?
7c140 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
7c160 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
7c180 70 61 6e 3e 20 3d 20 26 61 6d 70 3b 5b 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 pan>.=.&amp;[<span.class="tok-nu
7c1a0 6d 62 65 72 22 3e 35 3c 2f 73 70 61 6e 3e 5d 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d mber">5</span>]<span.class="tok-
7c1c0 74 79 70 65 22 3e 75 38 3c 2f 73 70 61 6e 3e 7b 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f type">u8</span>{.<span.class="to
7c1e0 6b 2d 73 74 72 22 3e 27 68 27 3c 2f 73 70 61 6e 3e 2c 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 k-str">'h'</span>,.<span.class="
7c200 74 6f 6b 2d 73 74 72 22 3e 27 65 27 3c 2f 73 70 61 6e 3e 2c 20 3c 73 70 61 6e 20 63 6c 61 73 73 tok-str">'e'</span>,.<span.class
7c220 3d 22 74 6f 6b 2d 73 74 72 22 3e 27 6c 27 3c 2f 73 70 61 6e 3e 2c 20 3c 73 70 61 6e 20 63 6c 61 ="tok-str">'l'</span>,.<span.cla
7c240 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
7c260 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 0a lass="tok-number">111</span>.};.
7c280 20 20 20 20 3c 73 70 61 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
7c2a0 61 6e 3e 20 65 78 70 65 63 74 45 71 75 61 6c 53 74 72 69 6e 67 73 28 78 31 2e 3f 2c 20 78 32 2e an>.expectEqualStrings(x1.?,.x2.
7c2c0 3f 29 3b 0a 0a 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 63 6f ?);......<span.class="tok-kw">co
7c2e0 6e 73 74 3c 2f 73 70 61 6e 3e 20 79 3a 20 3f 5b 5d 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f nst</span>.y:.?[]<span.class="to
7c300 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="
7c320 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 5b 3c 73 70 tok-type">f32</span>.=.&amp;[<sp
7c340 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 32 3c 2f 73 70 61 6e 3e 5d 3c an.class="tok-number">2</span>]<
7c360 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 66 33 32 3c 2f 73 70 61 6e 3e span.class="tok-type">f32</span>
7c380 7b 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 31 2e 32 3c 2f {.<span.class="tok-number">1.2</
7c3a0 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">
7c3c0 33 2e 34 3c 2f 73 70 61 6e 3e 20 7d 3b 0a 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 3.4</span>.};.....<span.class="t
7c3e0 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 73 ok-kw">try</span>.expectEqual(<s
7c400 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
7c420 3e 2c 20 79 2e 3f 5b 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e >,.y.?[<span.class="tok-number">
7c440 30 3c 2f 73 70 61 6e 3e 5d 29 3b 0a 7d 0a 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 0</span>]);.}..<span.class="tok-
7c460 63 6f 6d 6d 65 6e 74 22 3e 2f 2f 20 49 6e 20 74 68 69 73 20 63 61 73 74 2c 20 74 68 65 20 61 72 comment">//.In.this.cast,.the.ar
7c480 72 61 79 20 6c 65 6e 67 74 68 20 62 65 63 6f 6d 65 73 20 74 68 65 20 73 6c 69 63 65 20 6c 65 6e ray.length.becomes.the.slice.len
7c4a0 67 74 68 2e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 gth.</span>.<span.class="tok-kw"
7c4c0 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
7c4e0 72 22 3e 26 71 75 6f 74 3b 2a 5b 4e 5d 54 20 74 6f 20 5b 5d 54 26 71 75 6f 74 3b 3c 2f 73 70 61 r">&quot;*[N]T.to.[]T&quot;</spa
7c500 6e 3e 20 7b 0a 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 76 61 n>.{.....<span.class="tok-kw">va
7c520 72 3c 2f 73 70 61 6e 3e 20 62 75 66 3a 20 5b 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d r</span>.buf:.[<span.class="tok-
7c540 6e 75 6d 62 65 72 22 3e 35 3c 2f 73 70 61 6e 3e 5d 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f number">5</span>]<span.class="to
7c560 6b 2d 74 79 70 65 22 3e 75 38 3c 2f 73 70 61 6e 3e 20 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d k-type">u8</span>.=.<span.class=
7c580 22 74 6f 6b 2d 73 74 72 22 3e 26 71 75 6f 74 3b 68 65 6c 6c 6f 26 71 75 6f 74 3b 3c 2f 73 70 61 "tok-str">&quot;hello&quot;</spa
7c5a0 6e 3e 2e 2a 3b 0a 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 63 n>.*;.....<span.class="tok-kw">c
7c5c0 6f 6e 73 74 3c 2f 73 70 61 6e 3e 20 78 3a 20 5b 5d 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f onst</span>.x:.[]<span.class="to
7c5e0 6b 2d 74 79 70 65 22 3e 75 38 3c 2f 73 70 61 6e 3e 20 3d 20 26 61 6d 70 3b 62 75 66 3b 0a 20 20 k-type">u8</span>.=.&amp;buf;...
7c600 20 20 3c 73 70 61 6e 20 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
7c620 3e 20 65 78 70 65 63 74 45 71 75 61 6c 53 74 72 69 6e 67 73 28 3c 73 70 61 6e 20 63 6c 61 73 73 >.expectEqualStrings(<span.class
7c640 3d 22 74 6f 6b 2d 73 74 72 22 3e 26 71 75 6f 74 3b 68 65 6c 6c 6f 26 71 75 6f 74 3b 3c 2f 73 70 ="tok-str">&quot;hello&quot;</sp
7c660 61 6e 3e 2c 20 78 29 3b 0a 0a 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b an>,.x);......<span.class="tok-k
7c680 77 22 3e 63 6f 6e 73 74 3c 2f 73 70 61 6e 3e 20 62 75 66 32 20 3d 20 5b 3c 73 70 61 6e 20 63 6c w">const</span>.buf2.=.[<span.cl
7c6a0 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 32 3c 2f 73 70 61 6e 3e 5d 3c 73 70 61 6e 20 ass="tok-number">2</span>]<span.
7c6c0 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 66 33 32 3c 2f 73 70 61 6e 3e 7b 20 3c 73 70 class="tok-type">f32</span>{.<sp
7c6e0 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 31 2e 32 3c 2f 73 70 61 6e 3e an.class="tok-number">1.2</span>
7c700 2c 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 33 2e 34 3c 2f ,.<span.class="tok-number">3.4</
7c720 73 70 61 6e 3e 20 7d 3b 0a 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 span>.};.....<span.class="tok-kw
7c740 22 3e 63 6f 6e 73 74 3c 2f 73 70 61 6e 3e 20 78 32 3a 20 5b 5d 3c 73 70 61 6e 20 63 6c 61 73 73 ">const</span>.x2:.[]<span.class
7c760 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
7c780 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 66 33 32 3c 2f 73 70 61 6e 3e 20 3d 20 26 61 6d 70 3b ss="tok-type">f32</span>.=.&amp;
7c7a0 62 75 66 32 3b 0a 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 74 buf2;.....<span.class="tok-kw">t
7c7c0 72 79 3c 2f 73 70 61 6e 3e 20 65 78 70 65 63 74 45 71 75 61 6c 53 6c 69 63 65 73 28 3c 73 70 61 ry</span>.expectEqualSlices(<spa
7c7e0 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 20 26 n.class="tok-type">f32</span>,.&
7c800 61 6d 70 3b 5b 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 32 3c amp;[<span.class="tok-number">2<
7c820 2f 73 70 61 6e 3e 5d 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 66 33 /span>]<span.class="tok-type">f3
7c840 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
7c860 72 22 3e 31 2e 32 3c 2f 73 70 61 6e 3e 2c 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d r">1.2</span>,.<span.class="tok-
7c880 6e 75 6d 62 65 72 22 3e 33 2e 34 3c 2f 73 70 61 6e 3e 20 7d 2c 20 78 32 29 3b 0a 7d 0a 0a 3c 73 number">3.4</span>.},.x2);.}..<s
7c8a0 70 61 6e 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 67 6c pan.class="tok-comment">//.Singl
7c8c0 65 2d 69 74 65 6d 20 70 6f 69 6e 74 65 72 73 20 74 6f 20 61 72 72 61 79 73 20 63 61 6e 20 62 65 e-item.pointers.to.arrays.can.be
7c8e0 20 63 6f 65 72 63 65 64 20 74 6f 20 6d 61 6e 79 2d 69 74 65 6d 20 70 6f 69 6e 74 65 72 73 2e 3c .coerced.to.many-item.pointers.<
7c900 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 74 65 73 74 /span>.<span.class="tok-kw">test
7c920 3c 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
7c940 75 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 uot;*[N]T.to.[*]T&quot;</span>.{
7c960 0a 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 76 61 72 3c 2f 73 .....<span.class="tok-kw">var</s
7c980 70 61 6e 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 pan>.buf:.[<span.class="tok-numb
7c9a0 65 72 22 3e 35 3c 2f 73 70 61 6e 3e 5d 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 er">5</span>]<span.class="tok-ty
7c9c0 70 65 22 3e 75 38 3c 2f 73 70 61 6e 3e 20 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b pe">u8</span>.=.<span.class="tok
7c9e0 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 2e 2a -str">&quot;hello&quot;</span>.*
7ca00 3b 0a 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 63 6f 6e 73 74 ;.....<span.class="tok-kw">const
7ca20 3c 2f 73 70 61 6e 3e 20 78 3a 20 5b 2a 5d 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 </span>.x:.[*]<span.class="tok-t
7ca40 79 70 65 22 3e 75 38 3c 2f 73 70 61 6e 3e 20 3d 20 26 61 6d 70 3b 62 75 66 3b 0a 20 20 20 20 3c ype">u8</span>.=.&amp;buf;.....<
7ca60 73 70 61 6e 20 63 6c 61 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
7ca80 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 73 74 72 22 xpectEqual(<span.class="tok-str"
7caa0 3e 27 6f 27 3c 2f 73 70 61 6e 3e 2c 20 78 5b 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d >'o'</span>,.x[<span.class="tok-
7cac0 6e 75 6d 62 65 72 22 3e 34 3c 2f 73 70 61 6e 3e 5d 29 3b 0a 20 20 20 20 3c 73 70 61 6e 20 63 6c number">4</span>]);.....<span.cl
7cae0 61 73 73 3d 22 74 6f 6b 2d 63 6f 6d 6d 65 6e 74 22 3e 2f 2f 20 78 5b 35 5d 20 77 6f 75 6c 64 20 ass="tok-comment">//.x[5].would.
7cb00 62 65 20 61 6e 20 75 6e 63 61 75 67 68 74 20 6f 75 74 20 6f 66 20 62 6f 75 6e 64 73 20 70 6f 69 be.an.uncaught.out.of.bounds.poi
7cb20 6e 74 65 72 20 64 65 72 65 66 65 72 65 6e 63 65 21 3c 2f 73 70 61 6e 3e 0a 7d 0a 0a 3c 73 70 61 nter.dereference!</span>.}..<spa
7cb40 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 63 6f 6d 6d 65 6e 74 22 3e 2f 2f 20 4c 69 6b 65 77 69 73 n.class="tok-comment">//.Likewis
7cb60 65 2c 20 69 74 20 77 6f 72 6b 73 20 77 68 65 6e 20 74 68 65 20 64 65 73 74 69 6e 61 74 69 6f 6e e,.it.works.when.the.destination
7cb80 20 74 79 70 65 20 69 73 20 61 6e 20 6f 70 74 69 6f 6e 61 6c 2e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 .type.is.an.optional.</span>.<sp
7cba0 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
7cbc0 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 73 74 72 22 3e 26 71 75 6f 74 3b 2a 5b 4e 5d 54 20 pan.class="tok-str">&quot;*[N]T.
7cbe0 74 6f 20 3f 5b 2a 5d 54 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 20 7b 0a 20 20 20 20 3c 73 70 61 to.?[*]T&quot;</span>.{.....<spa
7cc00 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 76 61 72 3c 2f 73 70 61 6e 3e 20 62 75 66 3a n.class="tok-kw">var</span>.buf:
7cc20 20 5b 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 35 3c 2f 73 70 .[<span.class="tok-number">5</sp
7cc40 61 6e 3e 5d 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 75 38 3c 2f 73 an>]<span.class="tok-type">u8</s
7cc60 70 61 6e 3e 20 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 73 74 72 22 3e 26 71 75 pan>.=.<span.class="tok-str">&qu
7cc80 6f 74 3b 68 65 6c 6c 6f 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 2e 2a 3b 0a 20 20 20 20 3c 73 70 ot;hello&quot;</span>.*;.....<sp
7cca0 61 6e 20 63 6c 61 73 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
7ccc0 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<
7cce0 2f 73 70 61 6e 3e 20 3d 20 26 61 6d 70 3b 62 75 66 3b 0a 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 /span>.=.&amp;buf;.....<span.cla
7cd00 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 74 72 79 3c 2f 73 70 61 6e 3e 20 65 78 70 65 63 74 45 71 75 ss="tok-kw">try</span>.expectEqu
7cd20 61 6c 28 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 al(<span.class="tok-str">'o'</sp
7cd40 61 6e 3e 2c 20 78 2e 3f 5b 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 an>,.x.?[<span.class="tok-number
7cd60 22 3e 34 3c 2f 73 70 61 6e 3e 5d 29 3b 0a 7d 0a 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f ">4</span>]);.}..<span.class="to
7cd80 6b 2d 63 6f 6d 6d 65 6e 74 22 3e 2f 2f 20 53 69 6e 67 6c 65 2d 69 74 65 6d 20 70 6f 69 6e 74 65 k-comment">//.Single-item.pointe
7cda0 72 73 20 63 61 6e 20 62 65 20 63 61 73 74 20 74 6f 20 6c 65 6e 2d 31 20 73 69 6e 67 6c 65 2d 69 rs.can.be.cast.to.len-1.single-i
7cdc0 74 65 6d 20 61 72 72 61 79 73 2e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 tem.arrays.</span>.<span.class="
7cde0 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=
7ce00 22 74 6f 6b 2d 73 74 72 22 3e 26 71 75 6f 74 3b 2a 54 20 74 6f 20 2a 5b 31 5d 54 26 71 75 6f 74 "tok-str">&quot;*T.to.*[1]T&quot
7ce20 3b 3c 2f 73 70 61 6e 3e 20 7b 0a 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d ;</span>.{.....<span.class="tok-
7ce40 6b 77 22 3e 76 61 72 3c 2f 73 70 61 6e 3e 20 78 3a 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 kw">var</span>.x:.<span.class="t
7ce60 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
7ce80 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 31 32 33 34 3c 2f 73 70 61 6e 3e 3b 0a 20 20 20 20 s="tok-number">1234</span>;.....
7cea0 3c 73 70 61 6e 20 63 6c 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
7cec0 3e 20 79 3a 20 2a 5b 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e >.y:.*[<span.class="tok-number">
7cee0 31 3c 2f 73 70 61 6e 3e 5d 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 1</span>]<span.class="tok-type">
7cf00 69 33 32 3c 2f 73 70 61 6e 3e 20 3d 20 26 61 6d 70 3b 78 3b 0a 20 20 20 20 3c 73 70 61 6e 20 63 i32</span>.=.&amp;x;.....<span.c
7cf20 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 63 6f 6e 73 74 3c 2f 73 70 61 6e 3e 20 7a 3a 20 5b 2a lass="tok-kw">const</span>.z:.[*
7cf40 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
7cf60 6e 3e 20 3d 20 79 3b 0a 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 n>.=.y;.....<span.class="tok-kw"
7cf80 3e 74 72 79 3c 2f 73 70 61 6e 3e 20 65 78 70 65 63 74 45 71 75 61 6c 28 3c 73 70 61 6e 20 63 6c >try</span>.expectEqual(<span.cl
7cfa0 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 20 7a 5b ass="tok-number">1234</span>,.z[
7cfc0 3c 73 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
7cfe0 3e 5d 29 3b 0a 7d 0a 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 63 6f 6d 6d 65 6e 74 >]);.}..<span.class="tok-comment
7d000 22 3e 2f 2f 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.
7d020 63 61 6e 20 62 65 20 63 6f 65 72 63 65 64 20 69 6e 74 6f 20 73 65 6e 74 69 6e 65 6c 2d 74 65 72 can.be.coerced.into.sentinel-ter
7d040 6d 69 6e 61 74 65 64 20 70 6f 69 6e 74 65 72 73 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c minated.pointers</span>.<span.cl
7d060 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
7d080 6c 61 73 73 3d 22 74 6f 6b 2d 73 74 72 22 3e 26 71 75 6f 74 3b 5b 3a 78 5d 54 20 74 6f 20 5b 2a lass="tok-str">&quot;[:x]T.to.[*
7d0a0 3a 78 5d 54 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 20 7b 0a 20 20 20 20 3c 73 70 61 6e 20 63 6c :x]T&quot;</span>.{.....<span.cl
7d0c0 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 63 6f 6e 73 74 3c 2f 73 70 61 6e 3e 20 62 75 66 3a 20 5b ass="tok-kw">const</span>.buf:.[
7d0e0 3a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 30 3c 2f 73 70 61 :<span.class="tok-number">0</spa
7d100 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 2f 73 n>]<span.class="tok-kw">const</s
7d120 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</
7d140 73 70 61 6e 3e 20 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 73 74 72 22 3e 26 71 span>.=.<span.class="tok-str">&q
7d160 75 6f 74 3b 68 65 6c 6c 6f 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 3b 0a 20 20 20 20 3c 73 70 61 uot;hello&quot;</span>;.....<spa
7d180 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 63 6f 6e 73 74 3c 2f 73 70 61 6e 3e 20 62 75 n.class="tok-kw">const</span>.bu
7d1a0 66 32 3a 20 5b 2a 3a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e f2:.[*:<span.class="tok-number">
7d1c0 30 3c 2f 73 70 61 6e 3e 5d 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 63 6f 0</span>]<span.class="tok-kw">co
7d1e0 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
7d200 22 3e 75 38 3c 2f 73 70 61 6e 3e 20 3d 20 62 75 66 3b 0a 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 ">u8</span>.=.buf;.....<span.cla
7d220 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 74 72 79 3c 2f 73 70 61 6e 3e 20 65 78 70 65 63 74 45 71 75 ss="tok-kw">try</span>.expectEqu
7d240 61 6c 28 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 al(<span.class="tok-str">'o'</sp
7d260 61 6e 3e 2c 20 62 75 66 32 5b 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 an>,.buf2[<span.class="tok-numbe
7d280 72 22 3e 34 3c 2f 73 70 61 6e 3e 5d 29 3b 0a 7d 3c 2f 63 6f 64 65 3e 3c 2f 70 72 65 3e 3c 2f 66 r">4</span>]);.}</code></pre></f
7d2a0 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=
7d2c0 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
7d2e0 72 65 3e 3c 73 61 6d 70 3e 24 20 3c 6b 62 64 3e 7a 69 67 20 74 65 73 74 20 74 65 73 74 5f 63 6f re><samp>$.<kbd>zig.test.test_co
7d300 65 72 63 65 5f 73 6c 69 63 65 73 5f 61 72 72 61 79 73 5f 61 6e 64 5f 70 6f 69 6e 74 65 72 73 2e erce_slices_arrays_and_pointers.
7d320 7a 69 67 3c 2f 6b 62 64 3e 0a 31 2f 38 20 74 65 73 74 5f 63 6f 65 72 63 65 5f 73 6c 69 63 65 73 zig</kbd>.1/8.test_coerce_slices
7d340 5f 61 72 72 61 79 73 5f 61 6e 64 5f 70 6f 69 6e 74 65 72 73 2e 74 65 73 74 2e 2a 63 6f 6e 73 74 _arrays_and_pointers.test.*const
7d360 20 5b 4e 5d 54 20 74 6f 20 5b 5d 63 6f 6e 73 74 20 54 2e 2e 2e 4f 4b 0a 32 2f 38 20 74 65 73 74 .[N]T.to.[]const.T...OK.2/8.test
7d380 5f 63 6f 65 72 63 65 5f 73 6c 69 63 65 73 5f 61 72 72 61 79 73 5f 61 6e 64 5f 70 6f 69 6e 74 65 _coerce_slices_arrays_and_pointe
7d3a0 72 73 2e 74 65 73 74 2e 2a 63 6f 6e 73 74 20 5b 4e 5d 54 20 74 6f 20 45 21 5b 5d 63 6f 6e 73 74 rs.test.*const.[N]T.to.E![]const
7d3c0 20 54 2e 2e 2e 4f 4b 0a 33 2f 38 20 74 65 73 74 5f 63 6f 65 72 63 65 5f 73 6c 69 63 65 73 5f 61 .T...OK.3/8.test_coerce_slices_a
7d3e0 72 72 61 79 73 5f 61 6e 64 5f 70 6f 69 6e 74 65 72 73 2e 74 65 73 74 2e 2a 63 6f 6e 73 74 20 5b rrays_and_pointers.test.*const.[
7d400 4e 5d 54 20 74 6f 20 3f 5b 5d 63 6f 6e 73 74 20 54 2e 2e 2e 4f 4b 0a 34 2f 38 20 74 65 73 74 5f N]T.to.?[]const.T...OK.4/8.test_
7d420 63 6f 65 72 63 65 5f 73 6c 69 63 65 73 5f 61 72 72 61 79 73 5f 61 6e 64 5f 70 6f 69 6e 74 65 72 coerce_slices_arrays_and_pointer
7d440 73 2e 74 65 73 74 2e 2a 5b 4e 5d 54 20 74 6f 20 5b 5d 54 2e 2e 2e 4f 4b 0a 35 2f 38 20 74 65 73 s.test.*[N]T.to.[]T...OK.5/8.tes
7d460 74 5f 63 6f 65 72 63 65 5f 73 6c 69 63 65 73 5f 61 72 72 61 79 73 5f 61 6e 64 5f 70 6f 69 6e 74 t_coerce_slices_arrays_and_point
7d480 65 72 73 2e 74 65 73 74 2e 2a 5b 4e 5d 54 20 74 6f 20 5b 2a 5d 54 2e 2e 2e 4f 4b 0a 36 2f 38 20 ers.test.*[N]T.to.[*]T...OK.6/8.
7d4a0 74 65 73 74 5f 63 6f 65 72 63 65 5f 73 6c 69 63 65 73 5f 61 72 72 61 79 73 5f 61 6e 64 5f 70 6f test_coerce_slices_arrays_and_po
7d4c0 69 6e 74 65 72 73 2e 74 65 73 74 2e 2a 5b 4e 5d 54 20 74 6f 20 3f 5b 2a 5d 54 2e 2e 2e 4f 4b 0a inters.test.*[N]T.to.?[*]T...OK.
7d4e0 37 2f 38 20 74 65 73 74 5f 63 6f 65 72 63 65 5f 73 6c 69 63 65 73 5f 61 72 72 61 79 73 5f 61 6e 7/8.test_coerce_slices_arrays_an
7d500 64 5f 70 6f 69 6e 74 65 72 73 2e 74 65 73 74 2e 2a 54 20 74 6f 20 2a 5b 31 5d 54 2e 2e 2e 4f 4b d_pointers.test.*T.to.*[1]T...OK
7d520 0a 38 2f 38 20 74 65 73 74 5f 63 6f 65 72 63 65 5f 73 6c 69 63 65 73 5f 61 72 72 61 79 73 5f 61 .8/8.test_coerce_slices_arrays_a
7d540 6e 64 5f 70 6f 69 6e 74 65 72 73 2e 74 65 73 74 2e 5b 3a 78 5d 54 20 74 6f 20 5b 2a 3a 78 5d 54 nd_pointers.test.[:x]T.to.[*:x]T
7d560 2e 2e 2e 4f 4b 0a 41 6c 6c 20 38 20 74 65 73 74 73 20 70 61 73 73 65 64 2e 0a 3c 2f 73 61 6d 70 ...OK.All.8.tests.passed..</samp
7d580 3e 3c 2f 70 72 65 3e 3c 2f 66 69 67 75 72 65 3e 0a 0a 20 20 20 20 20 20 3c 70 3e 53 65 65 20 61 ></pre></figure>........<p>See.a
7d5a0 6c 73 6f 3a 3c 2f 70 3e 3c 75 6c 3e 0a 3c 6c 69 3e 3c 61 20 68 72 65 66 3d 22 23 43 2d 50 6f 69 lso:</p><ul>.<li><a.href="#C-Poi
7d5c0 6e 74 65 72 73 22 3e 43 20 50 6f 69 6e 74 65 72 73 3c 2f 61 3e 3c 2f 6c 69 3e 0a 3c 2f 75 6c 3e nters">C.Pointers</a></li>.</ul>
7d5e0 0a 0a 20 20 20 20 20 20 0a 20 20 20 20 20 20 3c 68 34 20 69 64 3d 22 54 79 70 65 2d 43 6f 65 72 ...............<h4.id="Type-Coer
7d600 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 74 cion-Optionals"><a.href="nav.xht
7d620 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 3e ml#toc-Type-Coercion-Optionals">
7d640 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 20 Type.Coercion:.Optionals</a>.<a.
7d660 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
7d680 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 3c -Optionals">..</a></h4>........<
7d6a0 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 20 p>.......The.payload.type.of.<a.
7d6c0 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 2c href="#Optionals">Optionals</a>,
7d6e0 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 6c .as.well.as.<a.href="#null">null
7d700 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 70 </a>,.coerce.to.the.optional.typ
7d720 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 67 e........</p>.......<figure><fig
7d740 63 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
7d760 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 73 ass="file">test_coerce_optionals
7d780 2e 7a 69 67 3c 2f 63 69 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
7d7a0 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 63 6f 6e 73 74 3c 2f 73 de><span.class="tok-kw">const</s
7d7c0 70 61 6e 3e 20 73 74 64 20 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 62 75 69 6c pan>.std.=.<span.class="tok-buil
7d7e0 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=
7d800 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>
7d820 29 3b 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 63 6f 6e 73 74 3c 2f 73 );.<span.class="tok-kw">const</s
7d840 70 61 6e 3e 20 65 78 70 65 63 74 45 71 75 61 6c 20 3d 20 73 74 64 2e 74 65 73 74 69 6e 67 2e 65 pan>.expectEqual.=.std.testing.e
7d860 78 70 65 63 74 45 71 75 61 6c 3b 0a 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 xpectEqual;..<span.class="tok-kw
7d880 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
7d8a0 74 72 22 3e 26 71 75 6f 74 3b 63 6f 65 72 63 65 20 74 6f 20 6f 70 74 69 6f 6e 61 6c 73 26 71 75 tr">&quot;coerce.to.optionals&qu
7d8c0 6f 74 3b 3c 2f 73 70 61 6e 3e 20 7b 0a 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f ot;</span>.{.....<span.class="to
7d8e0 6b 2d 6b 77 22 3e 63 6f 6e 73 74 3c 2f 73 70 61 6e 3e 20 78 3a 20 3f 3c 73 70 61 6e 20 63 6c 61 k-kw">const</span>.x:.?<span.cla
7d900 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
7d920 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 31 32 33 34 3c 2f 73 70 61 6e 3e 3b .class="tok-number">1234</span>;
7d940 0a 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 63 6f 6e 73 74 3c .....<span.class="tok-kw">const<
7d960 2f 73 70 61 6e 3e 20 79 3a 20 3f 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 /span>.y:.?<span.class="tok-type
7d980 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-
7d9a0 6e 75 6c 6c 22 3e 6e 75 6c 6c 3c 2f 73 70 61 6e 3e 3b 0a 0a 20 20 20 20 3c 73 70 61 6e 20 63 6c null">null</span>;......<span.cl
7d9c0 61 73 73 3d 22 74 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 ass="tok-kw">try</span>.expectEq
7d9e0 75 61 6c 28 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 31 32 33 ual(<span.class="tok-number">123
7da00 34 3c 2f 73 70 61 6e 3e 2c 20 78 2e 3f 29 3b 0a 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 4</span>,.x.?);.....<span.class=
7da20 22 74 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 "tok-kw">try</span>.expectEqual(
7da40 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
7da60 6e 3e 2c 20 79 29 3b 0a 7d 3c 2f 63 6f 64 65 3e 3c 2f 70 72 65 3e 3c 2f 66 69 67 75 72 65 3e 3c n>,.y);.}</code></pre></figure><
7da80 66 69 67 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-
7daa0 63 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
7dac0 70 3e 24 20 3c 6b 62 64 3e 7a 69 67 20 74 65 73 74 20 74 65 73 74 5f 63 6f 65 72 63 65 5f 6f 70 p>$.<kbd>zig.test.test_coerce_op
7dae0 74 69 6f 6e 61 6c 73 2e 7a 69 67 3c 2f 6b 62 64 3e 0a 31 2f 31 20 74 65 73 74 5f 63 6f 65 72 63 tionals.zig</kbd>.1/1.test_coerc
7db00 65 5f 6f 70 74 69 6f 6e 61 6c 73 2e 74 65 73 74 2e 63 6f 65 72 63 65 20 74 6f 20 6f 70 74 69 6f e_optionals.test.coerce.to.optio
7db20 6e 61 6c 73 2e 2e 2e 4f 4b 0a 41 6c 6c 20 31 20 74 65 73 74 73 20 70 61 73 73 65 64 2e 0a 3c 2f nals...OK.All.1.tests.passed..</
7db40 73 61 6d 70 3e 3c 2f 70 72 65 3e 3c 2f 66 69 67 75 72 65 3e 0a 0a 20 20 20 20 20 20 3c 70 3e 4f samp></pre></figure>........<p>O
7db60 70 74 69 6f 6e 61 6c 73 20 77 6f 72 6b 20 6e 65 73 74 65 64 20 69 6e 73 69 64 65 20 74 68 65 20 ptionals.work.nested.inside.the.
7db80 3c 61 20 68 72 65 66 3d 22 23 45 72 72 6f 72 2d 55 6e 69 6f 6e 2d 54 79 70 65 22 3e 45 72 72 6f <a.href="#Error-Union-Type">Erro
7dba0 72 20 55 6e 69 6f 6e 20 54 79 70 65 3c 2f 61 3e 2c 20 74 6f 6f 3a 3c 2f 70 3e 0a 20 20 20 20 20 r.Union.Type</a>,.too:</p>......
7dbc0 20 3c 66 69 67 75 72 65 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-
7dbe0 63 61 70 22 3e 3c 63 69 74 65 20 63 6c 61 73 73 3d 22 66 69 6c 65 22 3e 74 65 73 74 5f 63 6f 65 cap"><cite.class="file">test_coe
7dc00 72 63 65 5f 6f 70 74 69 6f 6e 61 6c 5f 77 72 61 70 70 65 64 5f 65 72 72 6f 72 5f 75 6e 69 6f 6e rce_optional_wrapped_error_union
7dc20 2e 7a 69 67 3c 2f 63 69 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
7dc40 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 63 6f 6e 73 74 3c 2f 73 de><span.class="tok-kw">const</s
7dc60 70 61 6e 3e 20 73 74 64 20 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 62 75 69 6c pan>.std.=.<span.class="tok-buil
7dc80 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=
7dca0 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>
7dcc0 29 3b 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 63 6f 6e 73 74 3c 2f 73 );.<span.class="tok-kw">const</s
7dce0 70 61 6e 3e 20 65 78 70 65 63 74 45 71 75 61 6c 20 3d 20 73 74 64 2e 74 65 73 74 69 6e 67 2e 65 pan>.expectEqual.=.std.testing.e
7dd00 78 70 65 63 74 45 71 75 61 6c 3b 0a 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 xpectEqual;..<span.class="tok-kw
7dd20 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
7dd40 74 72 22 3e 26 71 75 6f 74 3b 63 6f 65 72 63 65 20 74 6f 20 6f 70 74 69 6f 6e 61 6c 73 20 77 72 tr">&quot;coerce.to.optionals.wr
7dd60 61 70 70 65 64 20 69 6e 20 65 72 72 6f 72 20 75 6e 69 6f 6e 26 71 75 6f 74 3b 3c 2f 73 70 61 6e apped.in.error.union&quot;</span
7dd80 3e 20 7b 0a 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 63 6f 6e >.{.....<span.class="tok-kw">con
7dda0 73 74 3c 2f 73 70 61 6e 3e 20 78 3a 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 st</span>.x:.<span.class="tok-ty
7ddc0 70 65 22 3e 61 6e 79 65 72 72 6f 72 3c 2f 73 70 61 6e 3e 21 3f 3c 73 70 61 6e 20 63 6c 61 73 73 pe">anyerror</span>!?<span.class
7dde0 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
7de00 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 31 32 33 34 3c 2f 73 70 61 6e 3e 3b 0a 20 lass="tok-number">1234</span>;..
7de20 20 20 20 3c 73 70 61 6e 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
7de40 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 61 pan>.y:.<span.class="tok-type">a
7de60 6e 79 65 72 72 6f 72 3c 2f 73 70 61 6e 3e 21 3f 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b nyerror</span>!?<span.class="tok
7de80 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=
7dea0 22 74 6f 6b 2d 6e 75 6c 6c 22 3e 6e 75 6c 6c 3c 2f 73 70 61 6e 3e 3b 0a 0a 20 20 20 20 3c 73 70 "tok-null">null</span>;......<sp
7dec0 61 6e 20 63 6c 61 73 73 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
7dee0 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 65 72 ectEqual(<span.class="tok-number
7df00 22 3e 31 32 33 34 3c 2f 73 70 61 6e 3e 2c 20 28 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b ">1234</span>,.(<span.class="tok
7df20 2d 6b 77 22 3e 74 72 79 3c 2f 73 70 61 6e 3e 20 78 29 2e 3f 29 3b 0a 20 20 20 20 3c 73 70 61 6e -kw">try</span>.x).?);.....<span
7df40 20 63 6c 61 73 73 3d 22 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
7df60 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 6c 6c 22 3e 6e 75 tEqual(<span.class="tok-null">nu
7df80 6c 6c 3c 2f 73 70 61 6e 3e 2c 20 28 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 ll</span>,.(<span.class="tok-kw"
7dfa0 3e 74 72 79 3c 2f 73 70 61 6e 3e 20 79 29 29 3b 0a 7d 3c 2f 63 6f 64 65 3e 3c 2f 70 72 65 3e 3c >try</span>.y));.}</code></pre><
7dfc0 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
7dfe0 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>
7e000 3c 70 72 65 3e 3c 73 61 6d 70 3e 24 20 3c 6b 62 64 3e 7a 69 67 20 74 65 73 74 20 74 65 73 74 5f <pre><samp>$.<kbd>zig.test.test_
7e020 63 6f 65 72 63 65 5f 6f 70 74 69 6f 6e 61 6c 5f 77 72 61 70 70 65 64 5f 65 72 72 6f 72 5f 75 6e coerce_optional_wrapped_error_un
7e040 69 6f 6e 2e 7a 69 67 3c 2f 6b 62 64 3e 0a 31 2f 31 20 74 65 73 74 5f 63 6f 65 72 63 65 5f 6f 70 ion.zig</kbd>.1/1.test_coerce_op
7e060 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 74 65 73 74 2e tional_wrapped_error_union.test.
7e080 63 6f 65 72 63 65 20 74 6f 20 6f 70 74 69 6f 6e 61 6c 73 20 77 72 61 70 70 65 64 20 69 6e 20 65 coerce.to.optionals.wrapped.in.e
7e0a0 72 72 6f 72 20 75 6e 69 6f 6e 2e 2e 2e 4f 4b 0a 41 6c 6c 20 31 20 74 65 73 74 73 20 70 61 73 73 rror.union...OK.All.1.tests.pass
7e0c0 65 64 2e 0a 3c 2f 73 61 6d 70 3e 3c 2f 70 72 65 3e 3c 2f 66 69 67 75 72 65 3e 0a 0a 20 20 20 20 ed..</samp></pre></figure>......
7e0e0 20 20 0a 20 20 20 20 20 20 3c 68 34 20 69 64 3d 22 54 79 70 65 2d 43 6f 65 72 63 69 6f 6e 2d 45 .........<h4.id="Type-Coercion-E
7e100 72 72 6f 72 2d 55 6e 69 6f 6e 73 22 3e 3c 61 20 68 72 65 66 3d 22 6e 61 76 2e 78 68 74 6d 6c 23 rror-Unions"><a.href="nav.xhtml#
7e120 74 6f 63 2d 54 79 70 65 2d 43 6f 65 72 63 69 6f 6e 2d 45 72 72 6f 72 2d 55 6e 69 6f 6e 73 22 3e toc-Type-Coercion-Error-Unions">
7e140 54 79 70 65 20 43 6f 65 72 63 69 6f 6e 3a 20 45 72 72 6f 72 20 55 6e 69 6f 6e 73 3c 2f 61 3e 20 Type.Coercion:.Error.Unions</a>.
7e160 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
7e180 69 6f 6e 2d 45 72 72 6f 72 2d 55 6e 69 6f 6e 73 22 3e c2 a7 3c 2f 61 3e 3c 2f 68 34 3e 0a 0a 20 ion-Error-Unions">..</a></h4>...
7e1a0 20 20 20 20 20 3c 70 3e 54 68 65 20 70 61 79 6c 6f 61 64 20 74 79 70 65 20 6f 66 20 61 6e 20 3c .....<p>The.payload.type.of.an.<
7e1c0 61 20 68 72 65 66 3d 22 23 45 72 72 6f 72 2d 55 6e 69 6f 6e 2d 54 79 70 65 22 3e 45 72 72 6f 72 a.href="#Error-Union-Type">Error
7e1e0 20 55 6e 69 6f 6e 20 54 79 70 65 3c 2f 61 3e 20 61 73 20 77 65 6c 6c 20 61 73 20 74 68 65 20 3c .Union.Type</a>.as.well.as.the.<
7e200 61 20 68 72 65 66 3d 22 23 45 72 72 6f 72 2d 53 65 74 2d 54 79 70 65 22 3e 45 72 72 6f 72 20 53 a.href="#Error-Set-Type">Error.S
7e220 65 74 20 54 79 70 65 3c 2f 61 3e 0a 20 20 20 20 20 20 63 6f 65 72 63 65 20 74 6f 20 74 68 65 20 et.Type</a>.......coerce.to.the.
7e240 65 72 72 6f 72 20 75 6e 69 6f 6e 20 74 79 70 65 3a 0a 20 20 20 20 20 20 3c 2f 70 3e 0a 20 20 20 error.union.type:.......</p>....
7e260 20 20 20 3c 66 69 67 75 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
7e280 67 2d 63 61 70 22 3e 3c 63 69 74 65 20 63 6c 61 73 73 3d 22 66 69 6c 65 22 3e 74 65 73 74 5f 63 g-cap"><cite.class="file">test_c
7e2a0 6f 65 72 63 65 5f 74 6f 5f 65 72 72 6f 72 5f 75 6e 69 6f 6e 2e 7a 69 67 3c 2f 63 69 74 65 3e 3c oerce_to_error_union.zig</cite><
7e2c0 2f 66 69 67 63 61 70 74 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
7e2e0 73 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.=.<
7e300 73 70 61 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
7e320 3c 2f 73 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
7e340 75 6f 74 3b 73 74 64 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 29 3b 0a 3c 73 70 61 6e 20 63 6c 61 uot;std&quot;</span>);.<span.cla
7e360 73 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 45 ss="tok-kw">const</span>.expectE
7e380 71 75 61 6c 20 3d 20 73 74 64 2e 74 65 73 74 69 6e 67 2e 65 78 70 65 63 74 45 71 75 61 6c 3b 0a qual.=.std.testing.expectEqual;.
7e3a0 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 74 65 73 74 3c 2f 73 70 61 6e .<span.class="tok-kw">test</span
7e3c0 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
7e3e0 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 3c 2f 73 70 ercion.to.error.unions&quot;</sp
7e400 61 6e 3e 20 7b 0a 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 63 an>.{.....<span.class="tok-kw">c
7e420 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-
7e440 74 79 70 65 22 3e 61 6e 79 65 72 72 6f 72 3c 2f 73 70 61 6e 3e 21 3c 73 70 61 6e 20 63 6c 61 73 type">anyerror</span>!<span.clas
7e460 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.
7e480 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 31 32 33 34 3c 2f 73 70 61 6e 3e 3b 0a class="tok-number">1234</span>;.
7e4a0 20 20 20 20 3c 73 70 61 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</
7e4c0 73 70 61 6e 3e 20 79 3a 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e span>.y:.<span.class="tok-type">
7e4e0 61 6e 79 65 72 72 6f 72 3c 2f 73 70 61 6e 3e 21 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b anyerror</span>!<span.class="tok
7e500 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=
7e520 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 3b 0a 0a "tok-kw">error</span>.Failure;..
7e540 20 20 20 20 3c 73 70 61 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
7e560 61 6e 3e 20 65 78 70 65 63 74 45 71 75 61 6c 28 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b an>.expectEqual(<span.class="tok
7e580 2d 6e 75 6d 62 65 72 22 3e 31 32 33 34 3c 2f 73 70 61 6e 3e 2c 20 28 3c 73 70 61 6e 20 63 6c 61 -number">1234</span>,.(<span.cla
7e5a0 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 29 3b 0a 20 20 20 20 ss="tok-kw">try</span>.x));.....
7e5c0 3c 73 70 61 6e 20 63 6c 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>.
7e5e0 73 74 64 2e 74 65 73 74 69 6e 67 2e 65 78 70 65 63 74 45 72 72 6f 72 28 3c 73 70 61 6e 20 63 6c std.testing.expectError(<span.cl
7e600 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 65 72 72 6f 72 3c 2f 73 70 61 6e 3e 2e 46 61 69 6c 75 72 ass="tok-kw">error</span>.Failur
7e620 65 2c 20 79 29 3b 0a 7d 3c 2f 63 6f 64 65 3e 3c 2f 70 72 65 3e 3c 2f 66 69 67 75 72 65 3e 3c 66 e,.y);.}</code></pre></figure><f
7e640 69 67 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
7e660 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
7e680 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 6f 5f >$.<kbd>zig.test.test_coerce_to_
7e6a0 65 72 72 6f 72 5f 75 6e 69 6f 6e 2e 7a 69 67 3c 2f 6b 62 64 3e 0a 31 2f 31 20 74 65 73 74 5f 63 error_union.zig</kbd>.1/1.test_c
7e6c0 6f 65 72 63 65 5f 74 6f 5f 65 72 72 6f 72 5f 75 6e 69 6f 6e 2e 74 65 73 74 2e 63 6f 65 72 63 69 oerce_to_error_union.test.coerci
7e6e0 6f 6e 20 74 6f 20 65 72 72 6f 72 20 75 6e 69 6f 6e 73 2e 2e 2e 4f 4b 0a 41 6c 6c 20 31 20 74 65 on.to.error.unions...OK.All.1.te
7e700 73 74 73 20 70 61 73 73 65 64 2e 0a 3c 2f 73 61 6d 70 3e 3c 2f 70 72 65 3e 3c 2f 66 69 67 75 72 sts.passed..</samp></pre></figur
7e720 65 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 e>...............<h4.id="Type-Co
7e740 65 72 63 69 6f 6e 2d 43 6f 6d 70 69 6c 65 2d 54 69 6d 65 2d 4b 6e 6f 77 6e 2d 4e 75 6d 62 65 72 ercion-Compile-Time-Known-Number
7e760 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 2d 43 s"><a.href="nav.xhtml#toc-Type-C
7e780 6f 65 72 63 69 6f 6e 2d 43 6f 6d 70 69 6c 65 2d 54 69 6d 65 2d 4b 6e 6f 77 6e 2d 4e 75 6d 62 65 oercion-Compile-Time-Known-Numbe
7e7a0 72 73 22 3e 54 79 70 65 20 43 6f 65 72 63 69 6f 6e 3a 20 43 6f 6d 70 69 6c 65 2d 54 69 6d 65 20 rs">Type.Coercion:.Compile-Time.
7e7c0 4b 6e 6f 77 6e 20 4e 75 6d 62 65 72 73 3c 2f 61 3e 20 3c 61 20 63 6c 61 73 73 3d 22 68 64 72 22 Known.Numbers</a>.<a.class="hdr"
7e7e0 20 68 72 65 66 3d 22 23 54 79 70 65 2d 43 6f 65 72 63 69 6f 6e 2d 43 6f 6d 70 69 6c 65 2d 54 69 .href="#Type-Coercion-Compile-Ti
7e800 6d 65 2d 4b 6e 6f 77 6e 2d 4e 75 6d 62 65 72 73 22 3e c2 a7 3c 2f 61 3e 3c 2f 68 34 3e 0a 0a 20 me-Known-Numbers">..</a></h4>...
7e820 20 20 20 20 20 3c 70 3e 57 68 65 6e 20 61 20 6e 75 6d 62 65 72 20 69 73 20 3c 61 20 68 72 65 66 .....<p>When.a.number.is.<a.href
7e840 3d 22 23 63 6f 6d 70 74 69 6d 65 22 3e 63 6f 6d 70 74 69 6d 65 3c 2f 61 3e 2d 6b 6e 6f 77 6e 20 ="#comptime">comptime</a>-known.
7e860 74 6f 20 62 65 20 72 65 70 72 65 73 65 6e 74 61 62 6c 65 20 69 6e 20 74 68 65 20 64 65 73 74 69 to.be.representable.in.the.desti
7e880 6e 61 74 69 6f 6e 20 74 79 70 65 2c 0a 20 20 20 20 20 20 69 74 20 6d 61 79 20 62 65 20 63 6f 65 nation.type,.......it.may.be.coe
7e8a0 72 63 65 64 3a 0a 20 20 20 20 20 20 3c 2f 70 3e 0a 20 20 20 20 20 20 3c 66 69 67 75 72 65 3e 3c rced:.......</p>.......<figure><
7e8c0 66 69 67 63 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
7e8e0 20 63 6c 61 73 73 3d 22 66 69 6c 65 22 3e 74 65 73 74 5f 63 6f 65 72 63 65 5f 6c 61 72 67 65 5f .class="file">test_coerce_large_
7e900 74 6f 5f 73 6d 61 6c 6c 2e 7a 69 67 3c 2f 63 69 74 65 3e 3c 2f 66 69 67 63 61 70 74 69 6f 6e 3e to_small.zig</cite></figcaption>
7e920 3c 70 72 65 3e 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e <pre><code><span.class="tok-kw">
7e940 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="
7e960 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
7e980 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
7e9a0 3b 3c 2f 73 70 61 6e 3e 29 3b 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e ;</span>);.<span.class="tok-kw">
7e9c0 63 6f 6e 73 74 3c 2f 73 70 61 6e 3e 20 65 78 70 65 63 74 45 71 75 61 6c 20 3d 20 73 74 64 2e 74 const</span>.expectEqual.=.std.t
7e9e0 65 73 74 69 6e 67 2e 65 78 70 65 63 74 45 71 75 61 6c 3b 0a 0a 3c 73 70 61 6e 20 63 6c 61 73 73 esting.expectEqual;..<span.class
7ea00 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
7ea20 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 6c 61 72 67 65 s="tok-str">&quot;coercing.large
7ea40 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 65 20 77 68 65 .integer.type.to.smaller.one.whe
7ea60 6e 20 76 61 6c 75 65 20 69 73 20 63 6f 6d 70 74 69 6d 65 2d 6b 6e 6f 77 6e 20 74 6f 20 66 69 74 n.value.is.comptime-known.to.fit
7ea80 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 20 7b 0a 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d &quot;</span>.{.....<span.class=
7eaa0 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 63 "tok-kw">const</span>.x:.<span.c
7eac0 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 75 36 34 3c 2f 73 70 61 6e 3e 20 3d 20 3c 73 70 lass="tok-type">u64</span>.=.<sp
7eae0 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 32 35 35 3c 2f 73 70 61 6e 3e an.class="tok-number">255</span>
7eb00 3b 0a 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 63 6f 6e 73 74 ;.....<span.class="tok-kw">const
7eb20 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 65 </span>.y:.<span.class="tok-type
7eb40 22 3e 75 38 3c 2f 73 70 61 6e 3e 20 3d 20 78 3b 0a 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 ">u8</span>.=.x;.....<span.class
7eb60 3d 22 74 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 ="tok-kw">try</span>.expectEqual
7eb80 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 35 35 3c 2f 73 (<span.class="tok-number">255</s
7eba0 70 61 6e 3e 2c 20 79 29 3b 0a 7d 3c 2f 63 6f 64 65 3e 3c 2f 70 72 65 3e 3c 2f 66 69 67 75 72 65 pan>,.y);.}</code></pre></figure
7ebc0 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
7ebe0 6c 2d 63 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
7ec00 61 6d 70 3e 24 20 3c 6b 62 64 3e 7a 69 67 20 74 65 73 74 20 74 65 73 74 5f 63 6f 65 72 63 65 5f amp>$.<kbd>zig.test.test_coerce_
7ec20 6c 61 72 67 65 5f 74 6f 5f 73 6d 61 6c 6c 2e 7a 69 67 3c 2f 6b 62 64 3e 0a 31 2f 31 20 74 65 73 large_to_small.zig</kbd>.1/1.tes
7ec40 74 5f 63 6f 65 72 63 65 5f 6c 61 72 67 65 5f 74 6f 5f 73 6d 61 6c 6c 2e 74 65 73 74 2e 63 6f 65 t_coerce_large_to_small.test.coe
7ec60 72 63 69 6e 67 20 6c 61 72 67 65 20 69 6e 74 65 67 65 72 20 74 79 70 65 20 74 6f 20 73 6d 61 6c rcing.large.integer.type.to.smal
7ec80 6c 65 72 20 6f 6e 65 20 77 68 65 6e 20 76 61 6c 75 65 20 69 73 20 63 6f 6d 70 74 69 6d 65 2d 6b ler.one.when.value.is.comptime-k
7eca0 6e 6f 77 6e 20 74 6f 20 66 69 74 2e 2e 2e 4f 4b 0a 41 6c 6c 20 31 20 74 65 73 74 73 20 70 61 73 nown.to.fit...OK.All.1.tests.pas
7ecc0 73 65 64 2e 0a 3c 2f 73 61 6d 70 3e 3c 2f 70 72 65 3e 3c 2f 66 69 67 75 72 65 3e 0a 0a 20 20 20 sed..</samp></pre></figure>.....
7ece0 20 20 20 0a 20 20 20 20 20 20 3c 68 34 20 69 64 3d 22 54 79 70 65 2d 43 6f 65 72 63 69 6f 6e 2d ..........<h4.id="Type-Coercion-
7ed00 55 6e 69 6f 6e 73 2d 61 6e 64 2d 45 6e 75 6d 73 22 3e 3c 61 20 68 72 65 66 3d 22 6e 61 76 2e 78 Unions-and-Enums"><a.href="nav.x
7ed20 68 74 6d 6c 23 74 6f 63 2d 54 79 70 65 2d 43 6f 65 72 63 69 6f 6e 2d 55 6e 69 6f 6e 73 2d 61 6e html#toc-Type-Coercion-Unions-an
7ed40 64 2d 45 6e 75 6d 73 22 3e 54 79 70 65 20 43 6f 65 72 63 69 6f 6e 3a 20 55 6e 69 6f 6e 73 20 61 d-Enums">Type.Coercion:.Unions.a
7ed60 6e 64 20 45 6e 75 6d 73 3c 2f 61 3e 20 3c 61 20 63 6c 61 73 73 3d 22 68 64 72 22 20 68 72 65 66 nd.Enums</a>.<a.class="hdr".href
7ed80 3d 22 23 54 79 70 65 2d 43 6f 65 72 63 69 6f 6e 2d 55 6e 69 6f 6e 73 2d 61 6e 64 2d 45 6e 75 6d ="#Type-Coercion-Unions-and-Enum
7eda0 73 22 3e c2 a7 3c 2f 61 3e 3c 2f 68 34 3e 0a 0a 20 20 20 20 20 20 3c 70 3e 54 61 67 67 65 64 20 s">..</a></h4>........<p>Tagged.
7edc0 75 6e 69 6f 6e 73 20 63 61 6e 20 62 65 20 63 6f 65 72 63 65 64 20 74 6f 20 65 6e 75 6d 73 2c 20 unions.can.be.coerced.to.enums,.
7ede0 61 6e 64 20 65 6e 75 6d 73 20 63 61 6e 20 62 65 20 63 6f 65 72 63 65 64 20 74 6f 20 74 61 67 67 and.enums.can.be.coerced.to.tagg
7ee00 65 64 20 75 6e 69 6f 6e 73 0a 20 20 20 20 20 20 77 68 65 6e 20 74 68 65 79 20 61 72 65 20 3c 61 ed.unions.......when.they.are.<a
7ee20 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
7ee40 6e 6f 77 6e 20 74 6f 20 62 65 20 61 20 66 69 65 6c 64 20 6f 66 20 74 68 65 20 75 6e 69 6f 6e 20 nown.to.be.a.field.of.the.union.
7ee60 74 68 61 74 20 68 61 73 20 6f 6e 6c 79 20 6f 6e 65 20 70 6f 73 73 69 62 6c 65 20 76 61 6c 75 65 that.has.only.one.possible.value
7ee80 2c 20 73 75 63 68 20 61 73 0a 20 20 20 20 20 20 3c 61 20 68 72 65 66 3d 22 23 76 6f 69 64 22 3e ,.such.as.......<a.href="#void">
7eea0 76 6f 69 64 3c 2f 61 3e 3a 0a 20 20 20 20 20 20 3c 2f 70 3e 0a 20 20 20 20 20 20 3c 66 69 67 75 void</a>:.......</p>.......<figu
7eec0 72 65 3e 3c 66 69 67 63 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"><
7eee0 63 69 74 65 20 63 6c 61 73 73 3d 22 66 69 6c 65 22 3e 74 65 73 74 5f 63 6f 65 72 63 65 5f 75 6e cite.class="file">test_coerce_un
7ef00 69 6f 6e 73 5f 65 6e 75 6d 73 2e 7a 69 67 3c 2f 63 69 74 65 3e 3c 2f 66 69 67 63 61 70 74 69 6f ions_enums.zig</cite></figcaptio
7ef20 6e 3e 3c 70 72 65 3e 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 n><pre><code><span.class="tok-kw
7ef40 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
7ef60 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
7ef80 70 61 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
7efa0 6f 74 3b 3c 2f 73 70 61 6e 3e 29 3b 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 ot;</span>);.<span.class="tok-kw
7efc0 22 3e 63 6f 6e 73 74 3c 2f 73 70 61 6e 3e 20 65 78 70 65 63 74 45 71 75 61 6c 20 3d 20 73 74 64 ">const</span>.expectEqual.=.std
7efe0 2e 74 65 73 74 69 6e 67 2e 65 78 70 65 63 74 45 71 75 61 6c 3b 0a 0a 3c 73 70 61 6e 20 63 6c 61 .testing.expectEqual;..<span.cla
7f000 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 63 6f 6e 73 74 3c 2f 73 70 61 6e 3e 20 45 20 3d 20 3c 73 70 ss="tok-kw">const</span>.E.=.<sp
7f020 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 65 6e 75 6d 3c 2f 73 70 61 6e 3e 20 7b 0a an.class="tok-kw">enum</span>.{.
7f040 20 20 20 20 6f 6e 65 2c 0a 20 20 20 20 74 77 6f 2c 0a 20 20 20 20 74 68 72 65 65 2c 0a 7d 3b 0a ....one,.....two,.....three,.};.
7f060 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 63 6f 6e 73 74 3c 2f 73 70 61 .<span.class="tok-kw">const</spa
7f080 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 6e 69 6f n>.U.=.<span.class="tok-kw">unio
7f0a0 6e 3c 2f 73 70 61 6e 3e 28 45 29 20 7b 0a 20 20 20 20 6f 6e 65 3a 20 3c 73 70 61 6e 20 63 6c 61 n</span>(E).{.....one:.<span.cla
7f0c0 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 69 33 32 3c 2f 73 70 61 6e 3e 2c 0a 20 20 20 20 74 77 ss="tok-type">i32</span>,.....tw
7f0e0 6f 3a 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 66 33 32 3c 2f 73 o:.<span.class="tok-type">f32</s
7f100 70 61 6e 3e 2c 0a 20 20 20 20 74 68 72 65 65 2c 0a 7d 3b 0a 0a 3c 73 70 61 6e 20 63 6c 61 73 73 pan>,.....three,.};..<span.class
7f120 3d 22 74 6f 6b 2d 6b 77 22 3e 63 6f 6e 73 74 3c 2f 73 70 61 6e 3e 20 55 32 20 3d 20 3c 73 70 61 ="tok-kw">const</span>.U2.=.<spa
7f140 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 75 6e 69 6f 6e 3c 2f 73 70 61 6e 3e 28 3c 73 n.class="tok-kw">union</span>(<s
7f160 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 29 20 pan.class="tok-kw">enum</span>).
7f180 7b 0a 20 20 20 20 61 3a 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e {.....a:.<span.class="tok-type">
7f1a0 76 6f 69 64 3c 2f 73 70 61 6e 3e 2c 0a 20 20 20 20 62 3a 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d void</span>,.....b:.<span.class=
7f1c0 22 74 6f 6b 2d 74 79 70 65 22 3e 66 33 32 3c 2f 73 70 61 6e 3e 2c 0a 0a 20 20 20 20 3c 73 70 61 "tok-type">f32</span>,......<spa
7f1e0 6e 20 63 6c 61 73 73 3d 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
7f200 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 66 6e 22 3e 74 61 67 3c 2f 73 70 61 6e 3e 28 73 65 6c 66 3a .class="tok-fn">tag</span>(self:
7f220 20 55 32 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 .U2).<span.class="tok-type">usiz
7f240 65 3c 2f 73 70 61 6e 3e 20 7b 0a 20 20 20 20 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 e</span>.{.........<span.class="
7f260 74 6f 6b 2d 6b 77 22 3e 73 77 69 74 63 68 3c 2f 73 70 61 6e 3e 20 28 73 65 6c 66 29 20 7b 0a 20 tok-kw">switch</span>.(self).{..
7f280 20 20 20 20 20 20 20 20 20 20 20 2e 61 20 3d 26 67 74 3b 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d ............a.=&gt;.<span.class=
7f2a0 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
7f2c0 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 31 3c 2f 73 70 61 6e 3e 2c 0a 20 20 20 20 20 20 ss="tok-number">1</span>,.......
7f2e0 20 20 20 20 20 20 2e 62 20 3d 26 67 74 3b 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d .......b.=&gt;.<span.class="tok-
7f300 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
7f320 6f 6b 2d 6e 75 6d 62 65 72 22 3e 32 3c 2f 73 70 61 6e 3e 2c 0a 20 20 20 20 20 20 20 20 7d 0a 20 ok-number">2</span>,.........}..
7f340 20 20 20 7d 0a 7d 3b 0a 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 74 65 ...}.};..<span.class="tok-kw">te
7f360 73 74 3c 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">
7f380 26 71 75 6f 74 3b 63 6f 65 72 63 69 6f 6e 20 62 65 74 77 65 65 6e 20 75 6e 69 6f 6e 73 20 61 6e &quot;coercion.between.unions.an
7f3a0 64 20 65 6e 75 6d 73 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 20 7b 0a 20 20 20 20 3c 73 70 61 6e d.enums&quot;</span>.{.....<span
7f3c0 20 63 6c 61 73 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 20 3d .class="tok-kw">const</span>.u.=
7f3e0 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 75 6d 62 .U{..two.=.<span.class="tok-numb
7f400 65 72 22 3e 31 32 2e 33 34 3c 2f 73 70 61 6e 3e 20 7d 3b 0a 20 20 20 20 3c 73 70 61 6e 20 63 6c er">12.34</span>.};.....<span.cl
7f420 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 63 6f 6e 73 74 3c 2f 73 70 61 6e 3e 20 65 3a 20 45 20 3d ass="tok-kw">const</span>.e:.E.=
7f440 20 75 3b 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 63 6f 6d 6d 65 6e 74 22 3e 2f 2f .u;.<span.class="tok-comment">//
7f460 20 63 6f 65 72 63 65 20 75 6e 69 6f 6e 20 74 6f 20 65 6e 75 6d 3c 2f 73 70 61 6e 3e 0a 20 20 20 .coerce.union.to.enum</span>....
7f480 20 3c 73 70 61 6e 20 63 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>
7f4a0 20 65 78 70 65 63 74 45 71 75 61 6c 28 45 2e 74 77 6f 2c 20 65 29 3b 0a 0a 20 20 20 20 3c 73 70 .expectEqual(E.two,.e);......<sp
7f4c0 61 6e 20 63 6c 61 73 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
7f4e0 68 72 65 65 20 3d 20 45 2e 74 68 72 65 65 3b 0a 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d hree.=.E.three;.....<span.class=
7f500 22 74 6f 6b 2d 6b 77 22 3e 63 6f 6e 73 74 3c 2f 73 70 61 6e 3e 20 75 5f 32 3a 20 55 20 3d 20 74 "tok-kw">const</span>.u_2:.U.=.t
7f520 68 72 65 65 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 hree;.<span.class="tok-comment">
7f540 2f 2f 20 63 6f 65 72 63 65 20 65 6e 75 6d 20 74 6f 20 75 6e 69 6f 6e 3c 2f 73 70 61 6e 3e 0a 20 //.coerce.enum.to.union</span>..
7f560 20 20 20 3c 73 70 61 6e 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
7f580 6e 3e 20 65 78 70 65 63 74 45 71 75 61 6c 28 45 2e 74 68 72 65 65 2c 20 75 5f 32 29 3b 0a 0a 20 n>.expectEqual(E.three,.u_2);...
7f5a0 20 20 20 3c 73 70 61 6e 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
7f5c0 70 61 6e 3e 20 75 5f 33 3a 20 55 20 3d 20 2e 74 68 72 65 65 3b 20 3c 73 70 61 6e 20 63 6c 61 73 pan>.u_3:.U.=..three;.<span.clas
7f5e0 73 3d 22 74 6f 6b 2d 63 6f 6d 6d 65 6e 74 22 3e 2f 2f 20 63 6f 65 72 63 65 20 65 6e 75 6d 20 6c s="tok-comment">//.coerce.enum.l
7f600 69 74 65 72 61 6c 20 74 6f 20 75 6e 69 6f 6e 3c 2f 73 70 61 6e 3e 0a 20 20 20 20 3c 73 70 61 6e iteral.to.union</span>.....<span
7f620 20 63 6c 61 73 73 3d 22 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
7f640 74 45 71 75 61 6c 28 45 2e 74 68 72 65 65 2c 20 75 5f 33 29 3b 0a 0a 20 20 20 20 3c 73 70 61 6e tEqual(E.three,.u_3);......<span
7f660 20 63 6c 61 73 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 5f 34 .class="tok-kw">const</span>.u_4
7f680 3a 20 55 32 20 3d 20 2e 61 3b 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 63 6f 6d 6d :.U2.=..a;.<span.class="tok-comm
7f6a0 65 6e 74 22 3e 2f 2f 20 63 6f 65 72 63 65 20 65 6e 75 6d 20 6c 69 74 65 72 61 6c 20 74 6f 20 75 ent">//.coerce.enum.literal.to.u
7f6c0 6e 69 6f 6e 20 77 69 74 68 20 69 6e 66 65 72 72 65 64 20 65 6e 75 6d 20 74 61 67 20 74 79 70 65 nion.with.inferred.enum.tag.type
7f6e0 2e 3c 2f 73 70 61 6e 3e 0a 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 .</span>.....<span.class="tok-kw
7f700 22 3e 74 72 79 3c 2f 73 70 61 6e 3e 20 65 78 70 65 63 74 45 71 75 61 6c 28 3c 73 70 61 6e 20 63 ">try</span>.expectEqual(<span.c
7f720 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 75 5f 34 2e lass="tok-number">1</span>,.u_4.
7f740 74 61 67 28 29 29 3b 0a 0a 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 63 6f tag());......<span.class="tok-co
7f760 6d 6d 65 6e 74 22 3e 2f 2f 20 54 68 65 20 66 6f 6c 6c 6f 77 69 6e 67 20 65 78 61 6d 70 6c 65 20 mment">//.The.following.example.
7f780 69 73 20 69 6e 76 61 6c 69 64 2e 3c 2f 73 70 61 6e 3e 0a 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 is.invalid.</span>.....<span.cla
7f7a0 73 73 3d 22 74 6f 6b 2d 63 6f 6d 6d 65 6e 74 22 3e 2f 2f 20 65 72 72 6f 72 3a 20 63 6f 65 72 63 ss="tok-comment">//.error:.coerc
7f7c0 69 6f 6e 20 66 72 6f 6d 20 65 6e 75 6d 20 27 40 45 6e 75 6d 4c 69 74 65 72 61 6c 28 29 27 20 74 ion.from.enum.'@EnumLiteral()'.t
7f7e0 6f 20 75 6e 69 6f 6e 20 27 74 65 73 74 5f 63 6f 65 72 63 65 5f 75 6e 69 6f 6e 73 5f 65 6e 75 6d o.union.'test_coerce_unions_enum
7f800 2e 55 32 27 20 6d 75 73 74 20 69 6e 69 74 69 61 6c 69 7a 65 20 27 66 33 32 27 20 66 69 65 6c 64 .U2'.must.initialize.'f32'.field
7f820 20 27 62 27 3c 2f 73 70 61 6e 3e 0a 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b .'b'</span>.....<span.class="tok
7f840 2d 63 6f 6d 6d 65 6e 74 22 3e 2f 2f 76 61 72 20 75 5f 35 3a 20 55 32 20 3d 20 2e 62 3b 3c 2f 73 -comment">//var.u_5:.U2.=..b;</s
7f860 70 61 6e 3e 0a 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 63 6f 6d 6d 65 6e pan>.....<span.class="tok-commen
7f880 74 22 3e 2f 2f 74 72 79 20 65 78 70 65 63 74 45 71 75 61 6c 28 32 2c 20 75 5f 35 2e 74 61 67 28 t">//try.expectEqual(2,.u_5.tag(
7f8a0 29 29 3b 3c 2f 73 70 61 6e 3e 0a 7d 3c 2f 63 6f 64 65 3e 3c 2f 70 72 65 3e 3c 2f 66 69 67 75 72 ));</span>.}</code></pre></figur
7f8c0 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
7f8e0 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><
7f900 73 61 6d 70 3e 24 20 3c 6b 62 64 3e 7a 69 67 20 74 65 73 74 20 74 65 73 74 5f 63 6f 65 72 63 65 samp>$.<kbd>zig.test.test_coerce
7f920 5f 75 6e 69 6f 6e 73 5f 65 6e 75 6d 73 2e 7a 69 67 3c 2f 6b 62 64 3e 0a 31 2f 31 20 74 65 73 74 _unions_enums.zig</kbd>.1/1.test
7f940 5f 63 6f 65 72 63 65 5f 75 6e 69 6f 6e 73 5f 65 6e 75 6d 73 2e 74 65 73 74 2e 63 6f 65 72 63 69 _coerce_unions_enums.test.coerci
7f960 6f 6e 20 62 65 74 77 65 65 6e 20 75 6e 69 6f 6e 73 20 61 6e 64 20 65 6e 75 6d 73 2e 2e 2e 4f 4b on.between.unions.and.enums...OK
7f980 0a 41 6c 6c 20 31 20 74 65 73 74 73 20 70 61 73 73 65 64 2e 0a 3c 2f 73 61 6d 70 3e 3c 2f 70 72 .All.1.tests.passed..</samp></pr
7f9a0 65 3e 3c 2f 66 69 67 75 72 65 3e 0a 0a 20 20 20 20 20 20 3c 70 3e 53 65 65 20 61 6c 73 6f 3a 3c e></figure>........<p>See.also:<
7f9c0 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 3e 75 6e 69 /p><ul>.<li><a.href="#union">uni
7f9e0 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 75 6d 22 3e on</a></li>.<li><a.href="#enum">
7fa00 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 20 20 20 20 enum</a></li>.</ul>.............
7fa20 20 20 3c 68 34 20 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 ..<h4.id="Type-Coercion-undefine
7fa40 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 54 79 70 65 2d 43 d"><a.href="nav.xhtml#toc-Type-C
7fa60 6f 65 72 63 69 6f 6e 2d 75 6e 64 65 66 69 6e 65 64 22 3e 54 79 70 65 20 43 6f 65 72 63 69 6f 6e oercion-undefined">Type.Coercion
7fa80 3a 20 75 6e 64 65 66 69 6e 65 64 3c 2f 61 3e 20 3c 61 20 63 6c 61 73 73 3d 22 68 64 72 22 20 68 :.undefined</a>.<a.class="hdr".h
7faa0 72 65 66 3d 22 23 54 79 70 65 2d 43 6f 65 72 63 69 6f 6e 2d 75 6e 64 65 66 69 6e 65 64 22 3e c2 ref="#Type-Coercion-undefined">.
7fac0 a7 3c 2f 61 3e 3c 2f 68 34 3e 0a 0a 20 20 20 20 20 20 3c 70 3e 3c 61 20 68 72 65 66 3d 22 23 75 .</a></h4>........<p><a.href="#u
7fae0 6e 64 65 66 69 6e 65 64 22 3e 75 6e 64 65 66 69 6e 65 64 3c 2f 61 3e 20 63 61 6e 20 62 65 20 63 ndefined">undefined</a>.can.be.c
7fb00 6f 65 72 63 65 64 20 74 6f 20 61 6e 79 20 74 79 70 65 2e 3c 2f 70 3e 0a 20 20 20 20 20 20 0a 0a oerced.to.any.type.</p>.........
7fb20 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 54 75 70 6c ......<h4.id="Type-Coercion-Tupl
7fb40 65 73 2d 74 6f 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 6d 6c es-to-Arrays"><a.href="nav.xhtml
7fb60 23 74 6f 63 2d 54 79 70 65 2d 43 6f 65 72 63 69 6f 6e 2d 54 75 70 6c 65 73 2d 74 6f 2d 41 72 72 #toc-Type-Coercion-Tuples-to-Arr
7fb80 61 79 73 22 3e 54 79 70 65 20 43 6f 65 72 63 69 6f 6e 3a 20 54 75 70 6c 65 73 20 74 6f 20 41 72 ays">Type.Coercion:.Tuples.to.Ar
7fba0 72 61 79 73 3c 2f 61 3e 20 3c 61 20 63 6c 61 73 73 3d 22 68 64 72 22 20 68 72 65 66 3d 22 23 54 rays</a>.<a.class="hdr".href="#T
7fbc0 79 70 65 2d 43 6f 65 72 63 69 6f 6e 2d 54 75 70 6c 65 73 2d 74 6f 2d 41 72 72 61 79 73 22 3e c2 ype-Coercion-Tuples-to-Arrays">.
7fbe0 a7 3c 2f 61 3e 3c 2f 68 34 3e 0a 0a 20 20 20 20 20 20 3c 70 3e 3c 61 20 68 72 65 66 3d 22 23 54 .</a></h4>........<p><a.href="#T
7fc00 75 70 6c 65 73 22 3e 54 75 70 6c 65 73 3c 2f 61 3e 20 63 61 6e 20 62 65 20 63 6f 65 72 63 65 64 uples">Tuples</a>.can.be.coerced
7fc20 20 74 6f 20 61 72 72 61 79 73 2c 20 69 66 20 61 6c 6c 20 6f 66 20 74 68 65 20 66 69 65 6c 64 73 .to.arrays,.if.all.of.the.fields
7fc40 20 68 61 76 65 20 74 68 65 20 73 61 6d 65 20 74 79 70 65 2e 3c 2f 70 3e 0a 20 20 20 20 20 20 3c .have.the.same.type.</p>.......<
7fc60 66 69 67 75 72 65 3e 3c 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
7fc80 70 22 3e 3c 63 69 74 65 20 63 6c 61 73 73 3d 22 66 69 6c 65 22 3e 74 65 73 74 5f 63 6f 65 72 63 p"><cite.class="file">test_coerc
7fca0 65 5f 74 75 70 6c 65 73 5f 61 72 72 61 79 73 2e 7a 69 67 3c 2f 63 69 74 65 3e 3c 2f 66 69 67 63 e_tuples_arrays.zig</cite></figc
7fcc0 61 70 74 69 6f 6e 3e 3c 70 72 65 3e 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 aption><pre><code><span.class="t
7fce0 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.
7fd00 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
7fd20 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
7fd40 74 64 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 29 3b 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 td&quot;</span>);.<span.class="t
7fd60 6f 6b 2d 6b 77 22 3e 63 6f 6e 73 74 3c 2f 73 70 61 6e 3e 20 65 78 70 65 63 74 45 71 75 61 6c 20 ok-kw">const</span>.expectEqual.
7fd80 3d 20 73 74 64 2e 74 65 73 74 69 6e 67 2e 65 78 70 65 63 74 45 71 75 61 6c 3b 0a 0a 3c 73 70 61 =.std.testing.expectEqual;..<spa
7fda0 6e 20 63 6c 61 73 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 75 n.class="tok-kw">const</span>.Tu
7fdc0 70 6c 65 20 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 73 74 72 75 63 ple.=.<span.class="tok-kw">struc
7fde0 74 3c 2f 73 70 61 6e 3e 20 7b 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 t</span>.{.<span.class="tok-type
7fe00 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 74 79 ">u8</span>,.<span.class="tok-ty
7fe20 70 65 22 3e 75 38 3c 2f 73 70 61 6e 3e 20 7d 3b 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f pe">u8</span>.};.<span.class="to
7fe40 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
7fe60 6f 6b 2d 73 74 72 22 3e 26 71 75 6f 74 3b 63 6f 65 72 63 69 6f 6e 20 66 72 6f 6d 20 68 6f 6d 6f ok-str">&quot;coercion.from.homo
7fe80 67 65 6e 65 6f 75 73 20 74 75 70 6c 65 20 74 6f 20 61 72 72 61 79 26 71 75 6f 74 3b 3c 2f 73 70 geneous.tuple.to.array&quot;</sp
7fea0 61 6e 3e 20 7b 0a 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 63 an>.{.....<span.class="tok-kw">c
7fec0 6f 6e 73 74 3c 2f 73 70 61 6e 3e 20 74 75 70 6c 65 3a 20 54 75 70 6c 65 20 3d 20 2e 7b 20 3c 73 onst</span>.tuple:.Tuple.=..{.<s
7fee0 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>,
7ff00 20 3c 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
7ff20 6e 3e 20 7d 3b 0a 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 63 n>.};.....<span.class="tok-kw">c
7ff40 6f 6e 73 74 3c 2f 73 70 61 6e 3e 20 61 72 72 61 79 3a 20 5b 3c 73 70 61 6e 20 63 6c 61 73 73 3d onst</span>.array:.[<span.class=
7ff60 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 32 3c 2f 73 70 61 6e 3e 5d 3c 73 70 61 6e 20 63 6c 61 73 "tok-number">2</span>]<span.clas
7ff80 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 75 38 3c 2f 73 70 61 6e 3e 20 3d 20 74 75 70 6c 65 3b 0a s="tok-type">u8</span>.=.tuple;.
7ffa0 20 20 20 20 5f 20 3d 20 61 72 72 61 79 3b 0a 7d 3c 2f 63 6f 64 65 3e 3c 2f 70 72 65 3e 3c 2f 66 ...._.=.array;.}</code></pre></f
7ffc0 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=
7ffe0 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
80000 72 65 3e 3c 73 61 6d 70 3e 24 20 3c 6b 62 64 3e 7a 69 67 20 74 65 73 74 20 74 65 73 74 5f 63 6f re><samp>$.<kbd>zig.test.test_co
80020 65 72 63 65 5f 74 75 70 6c 65 73 5f 61 72 72 61 79 73 2e 7a 69 67 3c 2f 6b 62 64 3e 0a 31 2f 31 erce_tuples_arrays.zig</kbd>.1/1
80040 20 74 65 73 74 5f 63 6f 65 72 63 65 5f 74 75 70 6c 65 73 5f 61 72 72 61 79 73 2e 74 65 73 74 2e .test_coerce_tuples_arrays.test.
80060 63 6f 65 72 63 69 6f 6e 20 66 72 6f 6d 20 68 6f 6d 6f 67 65 6e 65 6f 75 73 20 74 75 70 6c 65 20 coercion.from.homogeneous.tuple.
80080 74 6f 20 61 72 72 61 79 2e 2e 2e 4f 4b 0a 41 6c 6c 20 31 20 74 65 73 74 73 20 70 61 73 73 65 64 to.array...OK.All.1.tests.passed
800a0 2e 0a 3c 2f 73 61 6d 70 3e 3c 2f 70 72 65 3e 3c 2f 66 69 67 75 72 65 3e 0a 0a 20 20 20 20 20 20 ..</samp></pre></figure>........
800c0 0a 20 20 20 20 20 20 0a 0a 20 20 20 20 20 20 3c 68 33 20 69 64 3d 22 45 78 70 6c 69 63 69 74 2d ...............<h3.id="Explicit-
800e0 43 61 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 45 78 Casts"><a.href="nav.xhtml#toc-Ex
80100 70 6c 69 63 69 74 2d 43 61 73 74 73 22 3e 45 78 70 6c 69 63 69 74 20 43 61 73 74 73 3c 2f 61 3e plicit-Casts">Explicit.Casts</a>
80120 20 3c 61 20 63 6c 61 73 73 3d 22 68 64 72 22 20 68 72 65 66 3d 22 23 45 78 70 6c 69 63 69 74 2d .<a.class="hdr".href="#Explicit-
80140 43 61 73 74 73 22 3e c2 a7 3c 2f 61 3e 3c 2f 68 33 3e 0a 0a 20 20 20 20 20 20 3c 70 3e 45 78 70 Casts">..</a></h3>........<p>Exp
80160 6c 69 63 69 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 licit.casts.are.performed.via.<a
80180 20 68 72 65 66 3d 22 23 42 75 69 6c 74 69 6e 2d 46 75 6e 63 74 69 6f 6e 73 22 3e 42 75 69 6c 74 .href="#Builtin-Functions">Built
801a0 69 6e 20 46 75 6e 63 74 69 6f 6e 73 3c 2f 61 3e 2e 3c 2f 70 3e 0a 20 20 20 20 20 20 3c 70 3e 53 in.Functions</a>.</p>.......<p>S
801c0 6f 6d 65 20 65 78 70 6c 69 63 69 74 20 63 61 73 74 73 20 63 61 6e 20 76 69 6f 6c 61 74 65 20 74 ome.explicit.casts.can.violate.t
801e0 79 70 65 20 73 61 66 65 74 79 20 77 68 65 6e 20 75 73 65 64 20 69 6e 63 6f 72 72 65 63 74 6c 79 ype.safety.when.used.incorrectly
80200 2e 3c 2f 70 3e 0a 20 20 20 20 20 20 3c 70 3e 53 6f 6d 65 20 65 78 70 6c 69 63 69 74 20 63 61 73 .</p>.......<p>Some.explicit.cas
80220 74 73 20 70 65 72 66 6f 72 6d 20 6c 61 6e 67 75 61 67 65 2d 6c 65 76 65 6c 20 61 73 73 65 72 74 ts.perform.language-level.assert
80240 69 6f 6e 73 2e 3c 2f 70 3e 0a 20 20 20 20 20 20 3c 70 3e 53 6f 6d 65 20 65 78 70 6c 69 63 69 74 ions.</p>.......<p>Some.explicit
80260 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 2e 3c 2f 70 .casts.are.no-ops.at.runtime.</p
80280 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 72 >.......<ul>...........<li><a.hr
802a0 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 2d 20 63 68 61 ef="#bitCast">@bitCast</a>.-.cha
802c0 6e 67 65 20 74 79 70 65 20 62 75 74 20 6d 61 69 6e 74 61 69 6e 20 62 69 74 20 72 65 70 72 65 73 nge.type.but.maintain.bit.repres
802e0 65 6e 74 61 74 69 6f 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 entation</li>...........<li><a.h
80300 72 65 66 3d 22 23 61 6c 69 67 6e 43 61 73 74 22 3e 40 61 6c 69 67 6e 43 61 73 74 3c 2f 61 3e 20 ref="#alignCast">@alignCast</a>.
80320 2d 20 6d 61 6b 65 20 61 20 70 6f 69 6e 74 65 72 20 68 61 76 65 20 6d 6f 72 65 20 61 6c 69 67 6e -.make.a.pointer.have.more.align
80340 6d 65 6e 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 ment</li>...........<li><a.href=
80360 22 23 65 6e 75 6d 46 72 6f 6d 49 6e 74 22 3e 40 65 6e 75 6d 46 72 6f 6d 49 6e 74 3c 2f 61 3e 20 "#enumFromInt">@enumFromInt</a>.
80380 2d 20 6f 62 74 61 69 6e 20 61 6e 20 65 6e 75 6d 20 76 61 6c 75 65 20 62 61 73 65 64 20 6f 6e 20 -.obtain.an.enum.value.based.on.
803a0 69 74 73 20 69 6e 74 65 67 65 72 20 74 61 67 20 76 61 6c 75 65 3c 2f 6c 69 3e 0a 20 20 20 20 20 its.integer.tag.value</li>......
803c0 20 20 20 20 20 3c 6c 69 3e 3c 61 20 68 72 65 66 3d 22 23 65 72 72 6f 72 46 72 6f 6d 49 6e 74 22 .....<li><a.href="#errorFromInt"
803e0 3e 40 65 72 72 6f 72 46 72 6f 6d 49 6e 74 3c 2f 61 3e 20 2d 20 6f 62 74 61 69 6e 20 61 6e 20 65 >@errorFromInt</a>.-.obtain.an.e
80400 72 72 6f 72 20 63 6f 64 65 20 62 61 73 65 64 20 6f 6e 20 69 74 73 20 69 6e 74 65 67 65 72 20 76 rror.code.based.on.its.integer.v
80420 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 65 66 3d alue</li>...........<li><a.href=
80440 22 23 65 72 72 6f 72 43 61 73 74 22 3e 40 65 72 72 6f 72 43 61 73 74 3c 2f 61 3e 20 2d 20 63 6f "#errorCast">@errorCast</a>.-.co
80460 6e 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 nvert.to.a.smaller.error.set</li
80480 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 6f 61 74 43 >...........<li><a.href="#floatC
804a0 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 74 20 61 20 ast">@floatCast</a>.-.convert.a.
804c0 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 6f 61 74 3c larger.float.to.a.smaller.float<
804e0 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 6f /li>...........<li><a.href="#flo
80500 61 74 46 72 6f 6d 49 6e 74 22 3e 40 66 6c 6f 61 74 46 72 6f 6d 49 6e 74 3c 2f 61 3e 20 2d 20 63 atFromInt">@floatFromInt</a>.-.c
80520 6f 6e 76 65 72 74 20 61 6e 20 69 6e 74 65 67 65 72 20 74 6f 20 61 20 66 6c 6f 61 74 20 76 61 6c onvert.an.integer.to.a.float.val
80540 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 65 66 3d 22 23 ue</li>...........<li><a.href="#
80560 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 76 65 72 74 20 intCast">@intCast</a>.-.convert.
80580 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 20 20 20 20 20 between.integer.types</li>......
805a0 20 20 20 20 20 3c 6c 69 3e 3c 61 20 68 72 65 66 3d 22 23 69 6e 74 46 72 6f 6d 42 6f 6f 6c 22 3e .....<li><a.href="#intFromBool">
805c0 40 69 6e 74 46 72 6f 6d 42 6f 6f 6c 3c 2f 61 3e 20 2d 20 63 6f 6e 76 65 72 74 20 74 72 75 65 20 @intFromBool</a>.-.convert.true.
805e0 74 6f 20 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 to.1.and.false.to.0</li>........
80600 20 20 20 3c 6c 69 3e 3c 61 20 68 72 65 66 3d 22 23 69 6e 74 46 72 6f 6d 45 6e 75 6d 22 3e 40 69 ...<li><a.href="#intFromEnum">@i
80620 6e 74 46 72 6f 6d 45 6e 75 6d 3c 2f 61 3e 20 2d 20 6f 62 74 61 69 6e 20 74 68 65 20 69 6e 74 65 ntFromEnum</a>.-.obtain.the.inte
80640 67 65 72 20 74 61 67 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 ger.tag.value.of.an.enum.or.tagg
80660 65 64 20 75 6e 69 6f 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 ed.union</li>...........<li><a.h
80680 72 65 66 3d 22 23 69 6e 74 46 72 6f 6d 45 72 72 6f 72 22 3e 40 69 6e 74 46 72 6f 6d 45 72 72 6f ref="#intFromError">@intFromErro
806a0 72 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 76 61 6c 75 65 r</a>.-.obtain.the.integer.value
806c0 20 6f 66 20 61 6e 20 65 72 72 6f 72 20 63 6f 64 65 3c 2f 6c 69 3e 0a 20 20 20 20 20 20 20 20 20 .of.an.error.code</li>..........
806e0 20 3c 6c 69 3e 3c 61 20 68 72 65 66 3d 22 23 72 6f 75 6e 64 22 3e 40 72 6f 75 6e 64 3c 2f 61 3e .<li><a.href="#round">@round</a>
80700 2c 20 3c 61 20 68 72 65 66 3d 22 23 66 6c 6f 6f 72 22 3e 40 66 6c 6f 6f 72 3c 2f 61 3e 2c 20 3c ,.<a.href="#floor">@floor</a>,.<
80720 61 20 68 72 65 66 3d 22 23 63 65 69 6c 22 3e 40 63 65 69 6c 3c 2f 61 3e 2c 20 3c 61 20 68 72 65 a.href="#ceil">@ceil</a>,.<a.hre
80740 66 3d 22 23 74 72 75 6e 63 22 3e 40 74 72 75 6e 63 3c 2f 61 3e 20 2d 20 66 6c 6f 61 74 20 74 6f f="#trunc">@trunc</a>.-.float.to
80760 20 69 6e 74 65 67 65 72 20 63 6f 6e 76 65 72 73 69 6f 6e 3c 2f 6c 69 3e 0a 20 20 20 20 20 20 20 .integer.conversion</li>........
80780 20 20 20 3c 6c 69 3e 3c 61 20 68 72 65 66 3d 22 23 69 6e 74 46 72 6f 6d 50 74 72 22 3e 40 69 6e ...<li><a.href="#intFromPtr">@in
807a0 74 46 72 6f 6d 50 74 72 3c 2f 61 3e 20 2d 20 6f 62 74 61 69 6e 20 74 68 65 20 61 64 64 72 65 73 tFromPtr</a>.-.obtain.the.addres
807c0 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 20 20 3c 6c s.of.a.pointer</li>...........<l
807e0 69 3e 3c 61 20 68 72 65 66 3d 22 23 70 74 72 46 72 6f 6d 49 6e 74 22 3e 40 70 74 72 46 72 6f 6d i><a.href="#ptrFromInt">@ptrFrom
80800 49 6e 74 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 Int</a>.-.convert.an.address.to.
80820 61 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 a.pointer</li>...........<li><a.
80840 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 20 2d 20 63 href="#ptrCast">@ptrCast</a>.-.c
80860 6f 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 onvert.between.pointer.types</li
80880 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 74 72 75 6e 63 61 >...........<li><a.href="#trunca
808a0 74 65 22 3e 40 74 72 75 6e 63 61 74 65 3c 2f 61 3e 20 2d 20 63 6f 6e 76 65 72 74 20 62 65 74 77 te">@truncate</a>.-.convert.betw
808c0 65 65 6e 20 69 6e 74 65 67 65 72 20 74 79 70 65 73 2c 20 63 68 6f 70 70 69 6e 67 20 6f 66 66 20 een.integer.types,.chopping.off.
808e0 62 69 74 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 0a 0a 20 20 bits</li>.......</ul>...........
80900 20 20 20 20 3c 68 33 20 69 64 3d 22 50 65 65 72 2d 54 79 70 65 2d 52 65 73 6f 6c 75 74 69 6f 6e ....<h3.id="Peer-Type-Resolution
80920 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 65 65 72 2d 54 79 "><a.href="nav.xhtml#toc-Peer-Ty
80940 70 65 2d 52 65 73 6f 6c 75 74 69 6f 6e 22 3e 50 65 65 72 20 54 79 70 65 20 52 65 73 6f 6c 75 74 pe-Resolution">Peer.Type.Resolut
80960 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 50 65 ion</a>.<a.class="hdr".href="#Pe
80980 65 72 2d 54 79 70 65 2d 52 65 73 6f 6c 75 74 69 6f 6e 22 3e c2 a7 3c 2f 61 3e 3c 2f 68 33 3e 0a er-Type-Resolution">..</a></h3>.
809a0 0a 20 20 20 20 20 20 3c 70 3e 50 65 65 72 20 54 79 70 65 20 52 65 73 6f 6c 75 74 69 6f 6e 20 6f .......<p>Peer.Type.Resolution.o
809c0 63 63 75 72 73 20 69 6e 20 74 68 65 73 65 20 70 6c 61 63 65 73 3a 3c 2f 70 3e 0a 20 20 20 20 20 ccurs.in.these.places:</p>......
809e0 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 73 77 69 74 .<ul>.........<li><a.href="#swit
80a00 63 68 22 3e 73 77 69 74 63 68 3c 2f 61 3e 20 65 78 70 72 65 73 73 69 6f 6e 73 3c 2f 6c 69 3e 0a ch">switch</a>.expressions</li>.
80a20 20 20 20 20 20 20 20 20 3c 6c 69 3e 3c 61 20 68 72 65 66 3d 22 23 69 66 22 3e 69 66 3c 2f 61 3e ........<li><a.href="#if">if</a>
80a40 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 3c 61 .expressions</li>.........<li><a
80a60 20 68 72 65 66 3d 22 23 77 68 69 6c 65 22 3e 77 68 69 6c 65 3c 2f 61 3e 20 65 78 70 72 65 73 73 .href="#while">while</a>.express
80a80 69 6f 6e 73 3c 2f 6c 69 3e 0a 20 20 20 20 20 20 20 20 3c 6c 69 3e 3c 61 20 68 72 65 66 3d 22 23 ions</li>.........<li><a.href="#
80aa0 66 6f 72 22 3e 66 6f 72 3c 2f 61 3e 20 65 78 70 72 65 73 73 69 6f 6e 73 3c 2f 6c 69 3e 0a 20 20 for">for</a>.expressions</li>...
80ac0 20 20 20 20 20 20 3c 6c 69 3e 4d 75 6c 74 69 70 6c 65 20 62 72 65 61 6b 20 73 74 61 74 65 6d 65 ......<li>Multiple.break.stateme
80ae0 6e 74 73 20 69 6e 20 61 20 62 6c 6f 63 6b 3c 2f 6c 69 3e 0a 20 20 20 20 20 20 20 20 3c 6c 69 3e nts.in.a.block</li>.........<li>
80b00 53 6f 6d 65 20 3c 61 20 68 72 65 66 3d 22 23 54 61 62 6c 65 2d 6f 66 2d 4f 70 65 72 61 74 6f 72 Some.<a.href="#Table-of-Operator
80b20 73 22 3e 62 69 6e 61 72 79 20 6f 70 65 72 61 74 69 6f 6e 73 3c 2f 61 3e 3c 2f 6c 69 3e 0a 20 20 s">binary.operations</a></li>...
80b40 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 6b ....</ul>.......<p>.......This.k
80b60 69 6e 64 20 6f 66 20 74 79 70 65 20 72 65 73 6f 6c 75 74 69 6f 6e 20 63 68 6f 6f 73 65 73 20 61 ind.of.type.resolution.chooses.a
80b80 20 74 79 70 65 20 74 68 61 74 20 61 6c 6c 20 70 65 65 72 20 74 79 70 65 73 20 63 61 6e 20 63 6f .type.that.all.peer.types.can.co
80ba0 65 72 63 65 20 69 6e 74 6f 2e 20 48 65 72 65 20 61 72 65 0a 20 20 20 20 20 20 73 6f 6d 65 20 65 erce.into..Here.are.......some.e
80bc0 78 61 6d 70 6c 65 73 3a 0a 20 20 20 20 20 20 3c 2f 70 3e 0a 20 20 20 20 20 20 3c 66 69 67 75 72 xamples:.......</p>.......<figur
80be0 65 3e 3c 66 69 67 63 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
80c00 69 74 65 20 63 6c 61 73 73 3d 22 66 69 6c 65 22 3e 74 65 73 74 5f 70 65 65 72 5f 74 79 70 65 5f ite.class="file">test_peer_type_
80c20 72 65 73 6f 6c 75 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 resolution.zig</cite></figcaptio
80c40 6e 3e 3c 70 72 65 3e 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 n><pre><code><span.class="tok-kw
80c60 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
80c80 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
80ca0 70 61 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
80cc0 6f 74 3b 3c 2f 73 70 61 6e 3e 29 3b 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 ot;</span>);.<span.class="tok-kw
80ce0 22 3e 63 6f 6e 73 74 3c 2f 73 70 61 6e 3e 20 65 78 70 65 63 74 45 71 75 61 6c 20 3d 20 73 74 64 ">const</span>.expectEqual.=.std
80d00 2e 74 65 73 74 69 6e 67 2e 65 78 70 65 63 74 45 71 75 61 6c 3b 0a 3c 73 70 61 6e 20 63 6c 61 73 .testing.expectEqual;.<span.clas
80d20 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 45 71 s="tok-kw">const</span>.expectEq
80d40 75 61 6c 53 74 72 69 6e 67 73 20 3d 20 73 74 64 2e 74 65 73 74 69 6e 67 2e 65 78 70 65 63 74 45 ualStrings.=.std.testing.expectE
80d60 71 75 61 6c 53 74 72 69 6e 67 73 3b 0a 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b qualStrings;..<span.class="tok-k
80d80 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-
80da0 73 74 72 22 3e 26 71 75 6f 74 3b 70 65 65 72 20 72 65 73 6f 6c 76 65 20 69 6e 74 20 77 69 64 65 str">&quot;peer.resolve.int.wide
80dc0 6e 69 6e 67 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 20 7b 0a 20 20 20 20 3c 73 70 61 6e 20 63 6c ning&quot;</span>.{.....<span.cl
80de0 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 63 6f 6e 73 74 3c 2f 73 70 61 6e 3e 20 61 3a 20 3c 73 70 ass="tok-kw">const</span>.a:.<sp
80e00 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 69 38 3c 2f 73 70 61 6e 3e 20 3d 20 an.class="tok-type">i8</span>.=.
80e20 3c 73 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
80e40 6e 3e 3b 0a 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 63 6f 6e n>;.....<span.class="tok-kw">con
80e60 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
80e80 70 65 22 3e 69 31 36 3c 2f 73 70 61 6e 3e 20 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f pe">i16</span>.=.<span.class="to
80ea0 6b 2d 6e 75 6d 62 65 72 22 3e 33 34 3c 2f 73 70 61 6e 3e 3b 0a 20 20 20 20 3c 73 70 61 6e 20 63 k-number">34</span>;.....<span.c
80ec0 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 63 6f 6e 73 74 3c 2f 73 70 61 6e 3e 20 63 20 3d 20 61 lass="tok-kw">const</span>.c.=.a
80ee0 20 2b 20 62 3b 0a 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 74 .+.b;.....<span.class="tok-kw">t
80f00 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 73 ry</span>.expectEqual(<span.clas
80f20 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 34 36 3c 2f 73 70 61 6e 3e 2c 20 63 29 3b 0a 20 20 s="tok-number">46</span>,.c);...
80f40 20 20 3c 73 70 61 6e 20 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
80f60 3e 20 65 78 70 65 63 74 45 71 75 61 6c 28 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 >.expectEqual(<span.class="tok-t
80f80 79 70 65 22 3e 69 31 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 ype">i16</span>,.<span.class="to
80fa0 6b 2d 62 75 69 6c 74 69 6e 22 3e 40 54 79 70 65 4f 66 3c 2f 73 70 61 6e 3e 28 63 29 29 3b 0a 7d k-builtin">@TypeOf</span>(c));.}
80fc0 0a 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 74 65 73 74 3c 2f 73 70 61 ..<span.class="tok-kw">test</spa
80fe0 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
81000 65 65 72 20 72 65 73 6f 6c 76 65 20 73 6d 61 6c 6c 20 69 6e 74 20 61 6e 64 20 66 6c 6f 61 74 26 eer.resolve.small.int.and.float&
81020 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 20 7b 0a 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 quot;</span>.{.....<span.class="
81040 74 6f 6b 2d 63 6f 6d 6d 65 6e 74 22 3e 2f 2f 20 54 68 69 73 20 6f 6e 6c 79 20 77 6f 72 6b 73 20 tok-comment">//.This.only.works.
81060 66 6f 72 20 69 6e 74 65 67 65 72 20 74 79 70 65 73 20 74 68 61 74 20 63 61 6e 20 63 6f 65 72 63 for.integer.types.that.can.coerc
81080 65 20 74 6f 20 74 68 65 20 66 6c 6f 61 74 20 74 79 70 65 2e 3c 2f 73 70 61 6e 3e 0a 20 20 20 20 e.to.the.float.type.</span>.....
810a0 3c 73 70 61 6e 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 61 72 <span.class="tok-comment">//.Lar
810c0 67 65 72 20 69 6e 74 65 67 65 72 20 74 79 70 65 73 20 77 69 6c 6c 20 63 61 75 73 65 20 61 20 63 ger.integer.types.will.cause.a.c
810e0 6f 6d 70 69 6c 65 72 20 65 72 72 6f 72 3b 20 6e 6f 20 66 6c 6f 61 74 20 77 69 64 65 6e 69 6e 67 ompiler.error;.no.float.widening
81100 20 6f 63 63 75 72 73 2e 3c 2f 73 70 61 6e 3e 0a 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d .occurs.</span>.....<span.class=
81120 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
81140 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.
81160 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 31 32 3c 2f 73 70 61 6e 3e 3b 0a 20 20 class="tok-number">12</span>;...
81180 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
811a0 3e 20 66 3a 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 66 33 32 3c >.f:.<span.class="tok-type">f32<
811c0 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
811e0 22 3e 33 34 3c 2f 73 70 61 6e 3e 3b 0a 20 20 20 20 5f 20 3d 20 2e 7b 20 26 61 6d 70 3b 69 2c 20 ">34</span>;....._.=..{.&amp;i,.
81200 26 61 6d 70 3b 66 20 7d 3b 0a 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b &amp;f.};.....<span.class="tok-k
81220 77 22 3e 63 6f 6e 73 74 3c 2f 73 70 61 6e 3e 20 78 20 3d 20 69 20 2b 20 66 3b 0a 20 20 20 20 3c w">const</span>.x.=.i.+.f;.....<
81240 73 70 61 6e 20 63 6c 61 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
81260 78 70 65 63 74 45 71 75 61 6c 28 78 2c 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e xpectEqual(x,.<span.class="tok-n
81280 75 6d 62 65 72 22 3e 34 36 2e 30 3c 2f 73 70 61 6e 3e 29 3b 0a 20 20 20 20 3c 73 70 61 6e 20 63 umber">46.0</span>);.....<span.c
812a0 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 74 72 79 3c 2f 73 70 61 6e 3e 20 65 78 70 65 63 74 45 lass="tok-kw">try</span>.expectE
812c0 71 75 61 6c 28 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 62 75 69 6c 74 69 6e 22 3e 40 qual(<span.class="tok-builtin">@
812e0 54 79 70 65 4f 66 3c 2f 73 70 61 6e 3e 28 78 29 2c 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 TypeOf</span>(x),.<span.class="t
81300 6f 6b 2d 74 79 70 65 22 3e 66 33 32 3c 2f 73 70 61 6e 3e 29 3b 0a 7d 0a 0a 3c 73 70 61 6e 20 63 ok-type">f32</span>);.}..<span.c
81320 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.
81340 63 6c 61 73 73 3d 22 74 6f 6b 2d 73 74 72 22 3e 26 71 75 6f 74 3b 70 65 65 72 20 72 65 73 6f 6c class="tok-str">&quot;peer.resol
81360 76 65 20 61 72 72 61 79 73 20 6f 66 20 64 69 66 66 65 72 65 6e 74 20 73 69 7a 65 20 74 6f 20 63 ve.arrays.of.different.size.to.c
81380 6f 6e 73 74 20 73 6c 69 63 65 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 20 7b 0a 20 20 20 20 3c 73 onst.slice&quot;</span>.{.....<s
813a0 70 61 6e 20 63 6c 61 73 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
813c0 70 65 63 74 45 71 75 61 6c 53 74 72 69 6e 67 73 28 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f pectEqualStrings(<span.class="to
813e0 6b 2d 73 74 72 22 3e 26 71 75 6f 74 3b 74 72 75 65 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 2c 20 k-str">&quot;true&quot;</span>,.
81400 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 22 boolToStr(<span.class="tok-null"
81420 3e 74 72 75 65 3c 2f 73 70 61 6e 3e 29 29 3b 0a 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d >true</span>));.....<span.class=
81440 22 74 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 53 "tok-kw">try</span>.expectEqualS
81460 74 72 69 6e 67 73 28 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 73 74 72 22 3e 26 71 75 trings(<span.class="tok-str">&qu
81480 6f 74 3b 66 61 6c 73 65 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 2c 20 62 6f 6f 6c 54 6f 53 74 72 ot;false&quot;</span>,.boolToStr
814a0 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
814c0 70 61 6e 3e 29 29 3b 0a 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 pan>));.....<span.class="tok-kw"
814e0 3e 74 72 79 3c 2f 73 70 61 6e 3e 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 >try</span>.<span.class="tok-kw"
81500 3e 63 6f 6d 70 74 69 6d 65 3c 2f 73 70 61 6e 3e 20 65 78 70 65 63 74 45 71 75 61 6c 53 74 72 69 >comptime</span>.expectEqualStri
81520 6e 67 73 28 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 73 74 72 22 3e 26 71 75 6f 74 3b ngs(<span.class="tok-str">&quot;
81540 74 72 75 65 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 2c 20 62 6f 6f 6c 54 6f 53 74 72 28 3c 73 70 true&quot;</span>,.boolToStr(<sp
81560 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>)
81580 29 3b 0a 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 74 72 79 3c );.....<span.class="tok-kw">try<
815a0 2f 73 70 61 6e 3e 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 63 6f 6d 70 /span>.<span.class="tok-kw">comp
815c0 74 69 6d 65 3c 2f 73 70 61 6e 3e 20 65 78 70 65 63 74 45 71 75 61 6c 53 74 72 69 6e 67 73 28 3c time</span>.expectEqualStrings(<
815e0 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 73 74 72 22 3e 26 71 75 6f 74 3b 66 61 6c 73 65 span.class="tok-str">&quot;false
81600 26 71 75 6f 74 3b 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 &quot;</span>,.boolToStr(<span.c
81620 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 29 3b 0a lass="tok-null">false</span>));.
81640 7d 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 66 6e 3c 2f 73 70 61 6e 3e }.<span.class="tok-kw">fn</span>
81660 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 3c .<span.class="tok-fn">boolToStr<
81680 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 22 /span>(b:.<span.class="tok-type"
816a0 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 6b >bool</span>).[]<span.class="tok
816c0 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
816e0 6f 6b 2d 74 79 70 65 22 3e 75 38 3c 2f 73 70 61 6e 3e 20 7b 0a 20 20 20 20 3c 73 70 61 6e 20 63 ok-type">u8</span>.{.....<span.c
81700 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
81720 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).<
81740 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 73 74 72 22 3e 26 71 75 6f 74 3b 74 72 75 65 26 span.class="tok-str">&quot;true&
81760 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
81780 22 3e 65 6c 73 65 3c 2f 73 70 61 6e 3e 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 73 ">else</span>.<span.class="tok-s
817a0 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 3b 0a 7d 0a tr">&quot;false&quot;</span>;.}.
817c0 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 74 65 73 74 3c 2f 73 70 61 6e .<span.class="tok-kw">test</span
817e0 3e 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 73 74 72 22 3e 26 71 75 6f 74 3b 70 65 >.<span.class="tok-str">&quot;pe
81800 65 72 20 72 65 73 6f 6c 76 65 20 61 72 72 61 79 20 61 6e 64 20 63 6f 6e 73 74 20 73 6c 69 63 65 er.resolve.array.and.const.slice
81820 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 20 7b 0a 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d &quot;</span>.{.....<span.class=
81840 22 74 6f 6b 2d 6b 77 22 3e 74 72 79 3c 2f 73 70 61 6e 3e 20 74 65 73 74 50 65 65 72 52 65 73 6f "tok-kw">try</span>.testPeerReso
81860 6c 76 65 41 72 72 61 79 43 6f 6e 73 74 53 6c 69 63 65 28 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 lveArrayConstSlice(<span.class="
81880 74 6f 6b 2d 6e 75 6c 6c 22 3e 74 72 75 65 3c 2f 73 70 61 6e 3e 29 3b 0a 20 20 20 20 3c 73 70 61 tok-null">true</span>);.....<spa
818a0 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 74 72 79 3c 2f 73 70 61 6e 3e 20 3c 73 70 61 n.class="tok-kw">try</span>.<spa
818c0 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>
818e0 20 74 65 73 74 50 65 65 72 52 65 73 6f 6c 76 65 41 72 72 61 79 43 6f 6e 73 74 53 6c 69 63 65 28 .testPeerResolveArrayConstSlice(
81900 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
81920 6e 3e 29 3b 0a 7d 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 66 6e 3c 2f n>);.}.<span.class="tok-kw">fn</
81940 73 70 61 6e 3e 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 66 6e 22 3e 74 65 73 74 50 span>.<span.class="tok-fn">testP
81960 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 3c 2f 73 70 61 6e 3e eerResolveArrayConstSlice</span>
81980 28 62 3a 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 62 6f 6f 6c 3c (b:.<span.class="tok-type">bool<
819a0 2f 73 70 61 6e 3e 29 20 21 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e /span>).!<span.class="tok-type">
819c0 76 6f 69 64 3c 2f 73 70 61 6e 3e 20 7b 0a 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 void</span>.{.....<span.class="t
819e0 6f 6b 2d 6b 77 22 3e 63 6f 6e 73 74 3c 2f 73 70 61 6e 3e 20 76 61 6c 75 65 31 20 3d 20 3c 73 70 ok-kw">const</span>.value1.=.<sp
81a00 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 69 66 3c 2f 73 70 61 6e 3e 20 28 62 29 20 an.class="tok-kw">if</span>.(b).
81a20 3c 73 70 61 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 <span.class="tok-str">&quot;aoeu
81a40 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b &quot;</span>.<span.class="tok-k
81a60 77 22 3e 65 6c 73 65 3c 2f 73 70 61 6e 3e 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d w">else</span>.<span.class="tok-
81a80 62 75 69 6c 74 69 6e 22 3e 40 61 73 3c 2f 73 70 61 6e 3e 28 5b 5d 3c 73 70 61 6e 20 63 6c 61 73 builtin">@as</span>([]<span.clas
81aa0 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
81ac0 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 75 38 3c 2f 73 70 61 6e 3e 2c 20 3c 73 70 61 6e 20 ass="tok-type">u8</span>,.<span.
81ae0 63 6c 61 73 73 3d 22 74 6f 6b 2d 73 74 72 22 3e 26 71 75 6f 74 3b 7a 7a 26 71 75 6f 74 3b 3c 2f class="tok-str">&quot;zz&quot;</
81b00 73 70 61 6e 3e 29 3b 0a 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 span>);.....<span.class="tok-kw"
81b20 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 6e 20 63 6c 61 >const</span>.value2.=.<span.cla
81b40 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.
81b60 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>([
81b80 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
81ba0 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
81bc0 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
81be0 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 73 73 3d 22 74 ;zz&quot;</span>).<span.class="t
81c00 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 22 ok-kw">else</span>.<span.class="
81c20 74 6f 6b 2d 73 74 72 22 3e 26 71 75 6f 74 3b 61 6f 65 75 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e tok-str">&quot;aoeu&quot;</span>
81c40 3b 0a 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 74 72 79 3c 2f ;.....<span.class="tok-kw">try</
81c60 73 70 61 6e 3e 20 65 78 70 65 63 74 45 71 75 61 6c 53 74 72 69 6e 67 73 28 3c 73 70 61 6e 20 63 span>.expectEqualStrings(<span.c
81c80 6c 61 73 73 3d 22 74 6f 6b 2d 73 74 72 22 3e 26 71 75 6f 74 3b 61 6f 65 75 26 71 75 6f 74 3b 3c lass="tok-str">&quot;aoeu&quot;<
81ca0 2f 73 70 61 6e 3e 2c 20 76 61 6c 75 65 31 29 3b 0a 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 /span>,.value1);.....<span.class
81cc0 3d 22 74 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 ="tok-kw">try</span>.expectEqual
81ce0 53 74 72 69 6e 67 73 28 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 73 74 72 22 3e 26 71 Strings(<span.class="tok-str">&q
81d00 75 6f 74 3b 7a 7a 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 2c 20 76 61 6c 75 65 32 29 3b 0a 7d 0a uot;zz&quot;</span>,.value2);.}.
81d20 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 74 65 73 74 3c 2f 73 70 61 6e .<span.class="tok-kw">test</span
81d40 3e 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 73 74 72 22 3e 26 71 75 6f 74 3b 70 65 >.<span.class="tok-str">&quot;pe
81d60 65 72 20 74 79 70 65 20 72 65 73 6f 6c 75 74 69 6f 6e 3a 20 3f 54 20 61 6e 64 20 54 26 71 75 6f er.type.resolution:.?T.and.T&quo
81d80 74 3b 3c 2f 73 70 61 6e 3e 20 7b 0a 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b t;</span>.{.....<span.class="tok
81da0 2d 6b 77 22 3e 74 72 79 3c 2f 73 70 61 6e 3e 20 65 78 70 65 63 74 45 71 75 61 6c 28 3c 73 70 61 -kw">try</span>.expectEqual(<spa
81dc0 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 70 n.class="tok-number">0</span>,.p
81de0 65 65 72 54 79 70 65 54 41 6e 64 4f 70 74 69 6f 6e 61 6c 54 28 3c 73 70 61 6e 20 63 6c 61 73 73 eerTypeTAndOptionalT(<span.class
81e00 3d 22 74 6f 6b 2d 6e 75 6c 6c 22 3e 74 72 75 65 3c 2f 73 70 61 6e 3e 2c 20 3c 73 70 61 6e 20 63 ="tok-null">true</span>,.<span.c
81e20 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6c 6c 22 3e 66 61 6c 73 65 3c 2f 73 70 61 6e 3e 29 2e 3f 29 lass="tok-null">false</span>).?)
81e40 3b 0a 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 74 72 79 3c 2f ;.....<span.class="tok-kw">try</
81e60 73 70 61 6e 3e 20 65 78 70 65 63 74 45 71 75 61 6c 28 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 span>.expectEqual(<span.class="t
81e80 6f 6b 2d 6e 75 6d 62 65 72 22 3e 33 3c 2f 73 70 61 6e 3e 2c 20 70 65 65 72 54 79 70 65 54 41 6e ok-number">3</span>,.peerTypeTAn
81ea0 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 6c dOptionalT(<span.class="tok-null
81ec0 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
81ee0 2d 6e 75 6c 6c 22 3e 66 61 6c 73 65 3c 2f 73 70 61 6e 3e 29 2e 3f 29 3b 0a 20 20 20 20 3c 73 70 -null">false</span>).?);.....<sp
81f00 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
81f20 3e 20 7b 0a 20 20 20 20 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 >.{.........<span.class="tok-kw"
81f40 3e 74 72 79 3c 2f 73 70 61 6e 3e 20 65 78 70 65 63 74 45 71 75 61 6c 28 3c 73 70 61 6e 20 63 6c >try</span>.expectEqual(<span.cl
81f60 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 70 65 65 72 54 ass="tok-number">0</span>,.peerT
81f80 79 70 65 54 41 6e 64 4f 70 74 69 6f 6e 61 6c 54 28 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f ypeTAndOptionalT(<span.class="to
81fa0 6b 2d 6e 75 6c 6c 22 3e 74 72 75 65 3c 2f 73 70 61 6e 3e 2c 20 3c 73 70 61 6e 20 63 6c 61 73 73 k-null">true</span>,.<span.class
81fc0 3d 22 74 6f 6b 2d 6e 75 6c 6c 22 3e 66 61 6c 73 65 3c 2f 73 70 61 6e 3e 29 2e 3f 29 3b 0a 20 20 ="tok-null">false</span>).?);...
81fe0 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</
82000 73 70 61 6e 3e 20 65 78 70 65 63 74 45 71 75 61 6c 28 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 span>.expectEqual(<span.class="t
82020 6f 6b 2d 6e 75 6d 62 65 72 22 3e 33 3c 2f 73 70 61 6e 3e 2c 20 70 65 65 72 54 79 70 65 54 41 6e ok-number">3</span>,.peerTypeTAn
82040 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 6c dOptionalT(<span.class="tok-null
82060 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
82080 2d 6e 75 6c 6c 22 3e 66 61 6c 73 65 3c 2f 73 70 61 6e 3e 29 2e 3f 29 3b 0a 20 20 20 20 7d 0a 7d -null">false</span>).?);.....}.}
820a0 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 66 6e 3c 2f 73 70 61 6e 3e 20 .<span.class="tok-kw">fn</span>.
820c0 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 66 6e 22 3e 70 65 65 72 54 79 70 65 54 41 6e <span.class="tok-fn">peerTypeTAn
820e0 64 4f 70 74 69 6f 6e 61 6c 54 3c 2f 73 70 61 6e 3e 28 63 3a 20 3c 73 70 61 6e 20 63 6c 61 73 73 dOptionalT</span>(c:.<span.class
82100 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 62 6f 6f 6c 3c 2f 73 70 61 6e 3e 2c 20 62 3a 20 3c 73 70 61 ="tok-type">bool</span>,.b:.<spa
82120 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 62 6f 6f 6c 3c 2f 73 70 61 6e 3e 29 20 n.class="tok-type">bool</span>).
82140 3f 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 75 73 69 7a 65 3c 2f 73 ?<span.class="tok-type">usize</s
82160 70 61 6e 3e 20 7b 0a 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e pan>.{.....<span.class="tok-kw">
82180 69 66 3c 2f 73 70 61 6e 3e 20 28 63 29 20 7b 0a 20 20 20 20 20 20 20 20 3c 73 70 61 6e 20 63 6c if</span>.(c).{.........<span.cl
821a0 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
821c0 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 69 66 3c 2f 73 70 61 6e 3e 20 28 62 29 20 3c 73 .class="tok-kw">if</span>.(b).<s
821e0 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>
82200 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 65 6c 73 65 3c 2f 73 70 61 6e .<span.class="tok-kw">else</span
82220 3e 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 62 75 69 6c 74 69 6e 22 3e 40 61 73 3c >.<span.class="tok-builtin">@as<
82240 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 73 /span>(<span.class="tok-type">us
82260 69 7a 65 3c 2f 73 70 61 6e 3e 2c 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d ize</span>,.<span.class="tok-num
82280 62 65 72 22 3e 30 3c 2f 73 70 61 6e 3e 29 3b 0a 20 20 20 20 7d 0a 0a 20 20 20 20 3c 73 70 61 6e ber">0</span>);.....}......<span
822a0 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
822c0 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 62 75 69 6c 74 69 6e 22 3e 40 61 73 3c 2f 73 70 61 pan.class="tok-builtin">@as</spa
822e0 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 3c n>(<span.class="tok-type">usize<
82300 2f 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"
82320 3e 33 3c 2f 73 70 61 6e 3e 29 3b 0a 7d 0a 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d >3</span>);.}..<span.class="tok-
82340 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
82360 2d 73 74 72 22 3e 26 71 75 6f 74 3b 70 65 65 72 20 74 79 70 65 20 72 65 73 6f 6c 75 74 69 6f 6e -str">&quot;peer.type.resolution
82380 3a 20 2a 5b 30 5d 75 38 20 61 6e 64 20 5b 5d 63 6f 6e 73 74 20 75 38 26 71 75 6f 74 3b 3c 2f 73 :.*[0]u8.and.[]const.u8&quot;</s
823a0 70 61 6e 3e 20 7b 0a 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e pan>.{.....<span.class="tok-kw">
823c0 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
823e0 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 70 65 65 72 54 79 ss="tok-number">0</span>,.peerTy
82400 70 65 45 6d 70 74 79 41 72 72 61 79 41 6e 64 53 6c 69 63 65 28 3c 73 70 61 6e 20 63 6c 61 73 73 peEmptyArrayAndSlice(<span.class
82420 3d 22 74 6f 6b 2d 6e 75 6c 6c 22 3e 74 72 75 65 3c 2f 73 70 61 6e 3e 2c 20 3c 73 70 61 6e 20 63 ="tok-null">true</span>,.<span.c
82440 6c 61 73 73 3d 22 74 6f 6b 2d 73 74 72 22 3e 26 71 75 6f 74 3b 68 69 26 71 75 6f 74 3b 3c 2f 73 lass="tok-str">&quot;hi&quot;</s
82460 70 61 6e 3e 29 2e 6c 65 6e 29 3b 0a 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b pan>).len);.....<span.class="tok
82480 2d 6b 77 22 3e 74 72 79 3c 2f 73 70 61 6e 3e 20 65 78 70 65 63 74 45 71 75 61 6c 28 3c 73 70 61 -kw">try</span>.expectEqual(<spa
824a0 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 31 3c 2f 73 70 61 6e 3e 2c 20 70 n.class="tok-number">1</span>,.p
824c0 65 65 72 54 79 70 65 45 6d 70 74 79 41 72 72 61 79 41 6e 64 53 6c 69 63 65 28 3c 73 70 61 6e 20 eerTypeEmptyArrayAndSlice(<span.
824e0 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 3c class="tok-null">false</span>,.<
82500 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 73 74 72 22 3e 26 71 75 6f 74 3b 68 69 26 71 75 span.class="tok-str">&quot;hi&qu
82520 6f 74 3b 3c 2f 73 70 61 6e 3e 29 2e 6c 65 6e 29 3b 0a 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 ot;</span>).len);.....<span.clas
82540 73 3d 22 74 6f 6b 2d 6b 77 22 3e 63 6f 6d 70 74 69 6d 65 3c 2f 73 70 61 6e 3e 20 7b 0a 20 20 20 s="tok-kw">comptime</span>.{....
82560 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
82580 70 61 6e 3e 20 65 78 70 65 63 74 45 71 75 61 6c 28 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f pan>.expectEqual(<span.class="to
825a0 6b 2d 6e 75 6d 62 65 72 22 3e 30 3c 2f 73 70 61 6e 3e 2c 20 70 65 65 72 54 79 70 65 45 6d 70 74 k-number">0</span>,.peerTypeEmpt
825c0 79 41 72 72 61 79 41 6e 64 53 6c 69 63 65 28 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d yArrayAndSlice(<span.class="tok-
825e0 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 22 null">true</span>,.<span.class="
82600 74 6f 6b 2d 73 74 72 22 3e 26 71 75 6f 74 3b 68 69 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 29 2e tok-str">&quot;hi&quot;</span>).
82620 6c 65 6e 29 3b 0a 20 20 20 20 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b len);.........<span.class="tok-k
82640 77 22 3e 74 72 79 3c 2f 73 70 61 6e 3e 20 65 78 70 65 63 74 45 71 75 61 6c 28 3c 73 70 61 6e 20 w">try</span>.expectEqual(<span.
82660 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 70 65 65 class="tok-number">1</span>,.pee
82680 72 54 79 70 65 45 6d 70 74 79 41 72 72 61 79 41 6e 64 53 6c 69 63 65 28 3c 73 70 61 6e 20 63 6c rTypeEmptyArrayAndSlice(<span.cl
826a0 61 73 73 3d 22 74 6f 6b 2d 6e 75 6c 6c 22 3e 66 61 6c 73 65 3c 2f 73 70 61 6e 3e 2c 20 3c 73 70 ass="tok-null">false</span>,.<sp
826c0 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 73 74 72 22 3e 26 71 75 6f 74 3b 68 69 26 71 75 6f 74 an.class="tok-str">&quot;hi&quot
826e0 3b 3c 2f 73 70 61 6e 3e 29 2e 6c 65 6e 29 3b 0a 20 20 20 20 7d 0a 7d 0a 3c 73 70 61 6e 20 63 6c ;</span>).len);.....}.}.<span.cl
82700 61 73 73 3d 22 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
82720 73 73 3d 22 74 6f 6b 2d 66 6e 22 3e 70 65 65 72 54 79 70 65 45 6d 70 74 79 41 72 72 61 79 41 6e ss="tok-fn">peerTypeEmptyArrayAn
82740 64 53 6c 69 63 65 3c 2f 73 70 61 6e 3e 28 61 3a 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f dSlice</span>(a:.<span.class="to
82760 6b 2d 74 79 70 65 22 3e 62 6f 6f 6c 3c 2f 73 70 61 6e 3e 2c 20 73 6c 69 63 65 3a 20 5b 5d 3c 73 k-type">bool</span>,.slice:.[]<s
82780 70 61 6e 20 63 6c 61 73 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>.
827a0 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>
827c0 29 20 5b 5d 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 63 6f 6e 73 74 3c 2f ).[]<span.class="tok-kw">const</
827e0 73 70 61 6e 3e 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 75 38 3c span>.<span.class="tok-type">u8<
82800 2f 73 70 61 6e 3e 20 7b 0a 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 /span>.{.....<span.class="tok-kw
82820 22 3e 69 66 3c 2f 73 70 61 6e 3e 20 28 61 29 20 7b 0a 20 20 20 20 20 20 20 20 3c 73 70 61 6e 20 ">if</span>.(a).{.........<span.
82840 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 26 61 6d class="tok-kw">return</span>.&am
82860 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 38 3c 2f p;[_]<span.class="tok-type">u8</
82880 73 70 61 6e 3e 7b 7d 3b 0a 20 20 20 20 7d 0a 0a 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d span>{};.....}......<span.class=
828a0 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 70 "tok-kw">return</span>.slice[<sp
828c0 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 30 3c 2f 73 70 61 6e 3e 2e 2e an.class="tok-number">0</span>..
828e0 3c 73 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
82900 3e 5d 3b 0a 7d 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 74 65 73 74 3c >];.}.<span.class="tok-kw">test<
82920 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
82940 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 38 2c ot;peer.type.resolution:.*[0]u8,
82960 20 5b 5d 63 6f 6e 73 74 20 75 38 2c 20 61 6e 64 20 61 6e 79 65 72 72 6f 72 21 5b 5d 75 38 26 71 .[]const.u8,.and.anyerror![]u8&q
82980 75 6f 74 3b 3c 2f 73 70 61 6e 3e 20 7b 0a 20 20 20 20 7b 0a 20 20 20 20 20 20 20 20 3c 73 70 61 uot;</span>.{.....{.........<spa
829a0 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 76 61 72 3c 2f 73 70 61 6e 3e 20 64 61 74 61 n.class="tok-kw">var</span>.data
829c0 20 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 73 74 72 22 3e 26 71 75 6f 74 3b 68 .=.<span.class="tok-str">&quot;h
829e0 69 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 2e 2a 3b 0a 20 20 20 20 20 20 20 20 3c 73 70 61 6e 20 i&quot;</span>.*;.........<span.
82a00 63 6c 61 73 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 class="tok-kw">const</span>.slic
82a20 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 72 e.=.data[<span.class="tok-number
82a40 22 3e 30 3c 2f 73 70 61 6e 3e 2e 2e 5d 3b 0a 20 20 20 20 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 ">0</span>..];.........<span.cla
82a60 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 74 72 79 3c 2f 73 70 61 6e 3e 20 65 78 70 65 63 74 45 71 75 ss="tok-kw">try</span>.expectEqu
82a80 61 6c 28 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 30 3c 2f 73 al(<span.class="tok-number">0</s
82aa0 70 61 6e 3e 2c 20 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 pan>,.(<span.class="tok-kw">try<
82ac0 2f 73 70 61 6e 3e 20 70 65 65 72 54 79 70 65 45 6d 70 74 79 41 72 72 61 79 41 6e 64 53 6c 69 63 /span>.peerTypeEmptyArrayAndSlic
82ae0 65 41 6e 64 45 72 72 6f 72 28 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6c 6c 22 eAndError(<span.class="tok-null"
82b00 3e 74 72 75 65 3c 2f 73 70 61 6e 3e 2c 20 73 6c 69 63 65 29 29 2e 6c 65 6e 29 3b 0a 20 20 20 20 >true</span>,.slice)).len);.....
82b20 20 20 20 20 3c 73 70 61 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
82b40 61 6e 3e 20 65 78 70 65 63 74 45 71 75 61 6c 28 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b an>.expectEqual(<span.class="tok
82b60 2d 6e 75 6d 62 65 72 22 3e 31 3c 2f 73 70 61 6e 3e 2c 20 28 3c 73 70 61 6e 20 63 6c 61 73 73 3d -number">1</span>,.(<span.class=
82b80 22 74 6f 6b 2d 6b 77 22 3e 74 72 79 3c 2f 73 70 61 6e 3e 20 70 65 65 72 54 79 70 65 45 6d 70 74 "tok-kw">try</span>.peerTypeEmpt
82ba0 79 41 72 72 61 79 41 6e 64 53 6c 69 63 65 41 6e 64 45 72 72 6f 72 28 3c 73 70 61 6e 20 63 6c 61 yArrayAndSliceAndError(<span.cla
82bc0 73 73 3d 22 74 6f 6b 2d 6e 75 6c 6c 22 3e 66 61 6c 73 65 3c 2f 73 70 61 6e 3e 2c 20 73 6c 69 63 ss="tok-null">false</span>,.slic
82be0 65 29 29 2e 6c 65 6e 29 3b 0a 20 20 20 20 7d 0a 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d e)).len);.....}.....<span.class=
82c00 22 74 6f 6b 2d 6b 77 22 3e 63 6f 6d 70 74 69 6d 65 3c 2f 73 70 61 6e 3e 20 7b 0a 20 20 20 20 20 "tok-kw">comptime</span>.{......
82c20 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
82c40 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">
82c60 26 71 75 6f 74 3b 68 69 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 2e 2a 3b 0a 20 20 20 20 20 20 20 &quot;hi&quot;</span>.*;........
82c80 20 3c 73 70 61 6e 20 63 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
82ca0 6e 3e 20 73 6c 69 63 65 20 3d 20 64 61 74 61 5b 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b n>.slice.=.data[<span.class="tok
82cc0 2d 6e 75 6d 62 65 72 22 3e 30 3c 2f 73 70 61 6e 3e 2e 2e 5d 3b 0a 20 20 20 20 20 20 20 20 3c 73 -number">0</span>..];.........<s
82ce0 70 61 6e 20 63 6c 61 73 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
82d00 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 65 pectEqual(<span.class="tok-numbe
82d20 72 22 3e 30 3c 2f 73 70 61 6e 3e 2c 20 28 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b r">0</span>,.(<span.class="tok-k
82d40 77 22 3e 74 72 79 3c 2f 73 70 61 6e 3e 20 70 65 65 72 54 79 70 65 45 6d 70 74 79 41 72 72 61 79 w">try</span>.peerTypeEmptyArray
82d60 41 6e 64 53 6c 69 63 65 41 6e 64 45 72 72 6f 72 28 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f AndSliceAndError(<span.class="to
82d80 6b 2d 6e 75 6c 6c 22 3e 74 72 75 65 3c 2f 73 70 61 6e 3e 2c 20 73 6c 69 63 65 29 29 2e 6c 65 6e k-null">true</span>,.slice)).len
82da0 29 3b 0a 20 20 20 20 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e );.........<span.class="tok-kw">
82dc0 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
82de0 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 28 3c 73 70 61 6e ss="tok-number">1</span>,.(<span
82e00 20 63 6c 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
82e20 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
82e40 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
82e60 3e 2c 20 73 6c 69 63 65 29 29 2e 6c 65 6e 29 3b 0a 20 20 20 20 7d 0a 7d 0a 3c 73 70 61 6e 20 63 >,.slice)).len);.....}.}.<span.c
82e80 6c 61 73 73 3d 22 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
82ea0 61 73 73 3d 22 74 6f 6b 2d 66 6e 22 3e 70 65 65 72 54 79 70 65 45 6d 70 74 79 41 72 72 61 79 41 ass="tok-fn">peerTypeEmptyArrayA
82ec0 6e 64 53 6c 69 63 65 41 6e 64 45 72 72 6f 72 3c 2f 73 70 61 6e 3e 28 61 3a 20 3c 73 70 61 6e 20 ndSliceAndError</span>(a:.<span.
82ee0 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 73 6c class="tok-type">bool</span>,.sl
82f00 69 63 65 3a 20 5b 5d 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 75 38 ice:.[]<span.class="tok-type">u8
82f20 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">
82f40 61 6e 79 65 72 72 6f 72 3c 2f 73 70 61 6e 3e 21 5b 5d 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 anyerror</span>![]<span.class="t
82f60 6f 6b 2d 74 79 70 65 22 3e 75 38 3c 2f 73 70 61 6e 3e 20 7b 0a 20 20 20 20 3c 73 70 61 6e 20 63 ok-type">u8</span>.{.....<span.c
82f80 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 69 66 3c 2f 73 70 61 6e 3e 20 28 61 29 20 7b 0a 20 20 lass="tok-kw">if</span>.(a).{...
82fa0 20 20 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 72 65 74 75 72 ......<span.class="tok-kw">retur
82fc0 6e 3c 2f 73 70 61 6e 3e 20 26 61 6d 70 3b 5b 5f 5d 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f n</span>.&amp;[_]<span.class="to
82fe0 6b 2d 74 79 70 65 22 3e 75 38 3c 2f 73 70 61 6e 3e 7b 7d 3b 0a 20 20 20 20 7d 0a 0a 20 20 20 20 k-type">u8</span>{};.....}......
83000 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
83020 6e 3e 20 73 6c 69 63 65 5b 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 n>.slice[<span.class="tok-number
83040 22 3e 30 3c 2f 73 70 61 6e 3e 2e 2e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d ">0</span>..<span.class="tok-num
83060 62 65 72 22 3e 31 3c 2f 73 70 61 6e 3e 5d 3b 0a 7d 0a 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 ber">1</span>];.}..<span.class="
83080 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=
830a0 22 74 6f 6b 2d 73 74 72 22 3e 26 71 75 6f 74 3b 70 65 65 72 20 74 79 70 65 20 72 65 73 6f 6c 75 "tok-str">&quot;peer.type.resolu
830c0 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 2f 73 70 tion:.*const.T.and.?*T&quot;</sp
830e0 61 6e 3e 20 7b 0a 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 63 an>.{.....<span.class="tok-kw">c
83100 6f 6e 73 74 3c 2f 73 70 61 6e 3e 20 61 3a 20 2a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b onst</span>.a:.*<span.class="tok
83120 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
83140 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
83160 61 73 73 3d 22 74 6f 6b 2d 62 75 69 6c 74 69 6e 22 3e 40 70 74 72 46 72 6f 6d 49 6e 74 3c 2f 73 ass="tok-builtin">@ptrFromInt</s
83180 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 30 78 pan>(<span.class="tok-number">0x
831a0 31 32 33 34 35 36 37 38 30 3c 2f 73 70 61 6e 3e 29 3b 0a 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 123456780</span>);.....<span.cla
831c0 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 63 6f 6e 73 74 3c 2f 73 70 61 6e 3e 20 62 3a 20 3f 2a 3c 73 ss="tok-kw">const</span>.b:.?*<s
831e0 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
83200 3e 20 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 62 75 69 6c 74 69 6e 22 3e 40 70 >.=.<span.class="tok-builtin">@p
83220 74 72 46 72 6f 6d 49 6e 74 3c 2f 73 70 61 6e 3e 28 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f trFromInt</span>(<span.class="to
83240 6b 2d 6e 75 6d 62 65 72 22 3e 30 78 31 32 33 34 35 36 37 38 30 3c 2f 73 70 61 6e 3e 29 3b 0a 20 k-number">0x123456780</span>);..
83260 20 20 20 3c 73 70 61 6e 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
83280 6e 3e 20 65 78 70 65 63 74 45 71 75 61 6c 28 61 2c 20 62 29 3b 0a 20 20 20 20 3c 73 70 61 6e 20 n>.expectEqual(a,.b);.....<span.
832a0 63 6c 61 73 73 3d 22 74 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
832c0 45 71 75 61 6c 28 62 2c 20 61 29 3b 0a 7d 0a 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b Equal(b,.a);.}..<span.class="tok
832e0 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
83300 6b 2d 73 74 72 22 3e 26 71 75 6f 74 3b 70 65 65 72 20 74 79 70 65 20 72 65 73 6f 6c 75 74 69 6f k-str">&quot;peer.type.resolutio
83320 6e 3a 20 65 72 72 6f 72 20 75 6e 69 6f 6e 20 73 77 69 74 63 68 26 71 75 6f 74 3b 3c 2f 73 70 61 n:.error.union.switch&quot;</spa
83340 6e 3e 20 7b 0a 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 63 6f 6d 6d 65 6e n>.{.....<span.class="tok-commen
83360 74 22 3e 2f 2f 20 54 68 65 20 6e 6f 6e 2d 65 72 72 6f 72 20 61 6e 64 20 65 72 72 6f 72 20 63 61 t">//.The.non-error.and.error.ca
83380 73 65 73 20 61 72 65 20 6f 6e 6c 79 20 70 65 65 72 73 20 69 66 20 74 68 65 20 65 72 72 6f 72 20 ses.are.only.peers.if.the.error.
833a0 63 61 73 65 20 69 73 20 6a 75 73 74 20 61 20 73 77 69 74 63 68 20 65 78 70 72 65 73 73 69 6f 6e case.is.just.a.switch.expression
833c0 3b 3c 2f 73 70 61 6e 3e 0a 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 63 6f ;</span>.....<span.class="tok-co
833e0 6d 6d 65 6e 74 22 3e 2f 2f 20 74 68 65 20 70 61 74 74 65 72 6e 20 60 69 66 20 28 78 29 20 7b 2e mment">//.the.pattern.`if.(x).{.
83400 2e 2e 7d 20 65 6c 73 65 20 7c 65 72 72 7c 20 62 6c 6b 3a 20 7b 20 73 77 69 74 63 68 20 28 65 72 ..}.else.|err|.blk:.{.switch.(er
83420 72 29 20 7b 2e 2e 2e 7d 20 7d 60 20 64 6f 65 73 20 6e 6f 74 20 63 6f 6e 73 69 64 65 72 20 74 68 r).{...}.}`.does.not.consider.th
83440 65 3c 2f 73 70 61 6e 3e 0a 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 63 6f e</span>.....<span.class="tok-co
83460 6d 6d 65 6e 74 22 3e 2f 2f 20 6e 6f 6e 2d 65 72 72 6f 72 20 61 6e 64 20 65 72 72 6f 72 20 63 61 mment">//.non-error.and.error.ca
83480 73 65 20 74 6f 20 62 65 20 70 65 65 72 73 2e 3c 2f 73 70 61 6e 3e 0a 20 20 20 20 3c 73 70 61 6e se.to.be.peers.</span>.....<span
834a0 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
834c0 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 7b pan.class="tok-kw">error</span>{
834e0 20 41 2c 20 42 2c 20 43 20 7d 21 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 .A,.B,.C.}!<span.class="tok-type
83500 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-
83520 6e 75 6d 62 65 72 22 3e 30 3c 2f 73 70 61 6e 3e 3b 0a 20 20 20 20 5f 20 3d 20 26 61 6d 70 3b 61 number">0</span>;....._.=.&amp;a
83540 3b 0a 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 63 6f 6e 73 74 ;.....<span.class="tok-kw">const
83560 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 6b 77 22 </span>.b.=.<span.class="tok-kw"
83580 3e 69 66 3c 2f 73 70 61 6e 3e 20 28 61 29 20 7c 78 7c 0a 20 20 20 20 20 20 20 20 78 20 2b 20 3c >if</span>.(a).|x|.........x.+.<
835a0 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>
835c0 0a 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 65 6c 73 65 3c 2f .....<span.class="tok-kw">else</
835e0 73 70 61 6e 3e 20 7c 65 72 72 7c 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 span>.|err|.<span.class="tok-kw"
83600 3e 73 77 69 74 63 68 3c 2f 73 70 61 6e 3e 20 28 65 72 72 29 20 7b 0a 20 20 20 20 20 20 20 20 3c >switch</span>.(err).{.........<
83620 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>
83640 2e 41 20 3d 26 67 74 3b 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 .A.=&gt;.<span.class="tok-number
83660 22 3e 30 3c 2f 73 70 61 6e 3e 2c 0a 20 20 20 20 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d ">0</span>,.........<span.class=
83680 22 74 6f 6b 2d 6b 77 22 3e 65 72 72 6f 72 3c 2f 73 70 61 6e 3e 2e 42 20 3d 26 67 74 3b 20 3c 73 "tok-kw">error</span>.B.=&gt;.<s
836a0 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>,
836c0 0a 20 20 20 20 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 65 72 .........<span.class="tok-kw">er
836e0 72 6f 72 3c 2f 73 70 61 6e 3e 2e 43 20 3d 26 67 74 3b 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 ror</span>.C.=&gt;.<span.class="
83700 74 6f 6b 2d 6e 75 6c 6c 22 3e 6e 75 6c 6c 3c 2f 73 70 61 6e 3e 2c 0a 20 20 20 20 7d 3b 0a 20 20 tok-null">null</span>,.....};...
83720 20 20 3c 73 70 61 6e 20 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
83740 3e 20 65 78 70 65 63 74 45 71 75 61 6c 28 3f 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d >.expectEqual(?<span.class="tok-
83760 74 79 70 65 22 3e 75 33 32 3c 2f 73 70 61 6e 3e 2c 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 type">u32</span>,.<span.class="t
83780 6f 6b 2d 62 75 69 6c 74 69 6e 22 3e 40 54 79 70 65 4f 66 3c 2f 73 70 61 6e 3e 28 62 29 29 3b 0a ok-builtin">@TypeOf</span>(b));.
837a0 0a 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 63 6f 6d 6d 65 6e 74 22 3e 2f .....<span.class="tok-comment">/
837c0 2f 20 54 68 65 20 6e 6f 6e 2d 65 72 72 6f 72 20 61 6e 64 20 65 72 72 6f 72 20 63 61 73 65 73 20 /.The.non-error.and.error.cases.
837e0 61 72 65 20 6f 6e 6c 79 20 70 65 65 72 73 20 69 66 20 74 68 65 20 65 72 72 6f 72 20 63 61 73 65 are.only.peers.if.the.error.case
83800 20 69 73 20 6a 75 73 74 20 61 20 73 77 69 74 63 68 20 65 78 70 72 65 73 73 69 6f 6e 3b 3c 2f 73 .is.just.a.switch.expression;</s
83820 70 61 6e 3e 0a 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 63 6f 6d 6d 65 6e pan>.....<span.class="tok-commen
83840 74 22 3e 2f 2f 20 74 68 65 20 70 61 74 74 65 72 6e 20 60 78 20 63 61 74 63 68 20 7c 65 72 72 7c t">//.the.pattern.`x.catch.|err|
83860 20 62 6c 6b 3a 20 7b 20 73 77 69 74 63 68 20 28 65 72 72 29 20 7b 2e 2e 2e 7d 20 7d 60 20 64 6f .blk:.{.switch.(err).{...}.}`.do
83880 65 73 20 6e 6f 74 20 63 6f 6e 73 69 64 65 72 20 74 68 65 20 75 6e 77 72 61 70 70 65 64 20 60 78 es.not.consider.the.unwrapped.`x
838a0 60 3c 2f 73 70 61 6e 3e 0a 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 63 6f `</span>.....<span.class="tok-co
838c0 6d 6d 65 6e 74 22 3e 2f 2f 20 61 6e 64 20 65 72 72 6f 72 20 63 61 73 65 20 74 6f 20 62 65 20 70 mment">//.and.error.case.to.be.p
838e0 65 65 72 73 2e 3c 2f 73 70 61 6e 3e 0a 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f eers.</span>.....<span.class="to
83900 6b 2d 6b 77 22 3e 63 6f 6e 73 74 3c 2f 73 70 61 6e 3e 20 63 20 3d 20 61 20 3c 73 70 61 6e 20 63 k-kw">const</span>.c.=.a.<span.c
83920 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 72 7c lass="tok-kw">catch</span>.|err|
83940 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
83960 61 6e 3e 20 28 65 72 72 29 20 7b 0a 20 20 20 20 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d an>.(err).{.........<span.class=
83980 22 74 6f 6b 2d 6b 77 22 3e 65 72 72 6f 72 3c 2f 73 70 61 6e 3e 2e 41 20 3d 26 67 74 3b 20 3c 73 "tok-kw">error</span>.A.=&gt;.<s
839a0 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 30 3c 2f 73 70 61 6e 3e 2c pan.class="tok-number">0</span>,
839c0 0a 20 20 20 20 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 65 72 .........<span.class="tok-kw">er
839e0 72 6f 72 3c 2f 73 70 61 6e 3e 2e 42 20 3d 26 67 74 3b 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 ror</span>.B.=&gt;.<span.class="
83a00 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 31 3c 2f 73 70 61 6e 3e 2c 0a 20 20 20 20 20 20 20 20 3c 73 tok-number">1</span>,.........<s
83a20 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>.
83a40 43 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 6e C.=&gt;.<span.class="tok-null">n
83a60 75 6c 6c 3c 2f 73 70 61 6e 3e 2c 0a 20 20 20 20 7d 3b 0a 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 ull</span>,.....};.....<span.cla
83a80 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 74 72 79 3c 2f 73 70 61 6e 3e 20 65 78 70 65 63 74 45 71 75 ss="tok-kw">try</span>.expectEqu
83aa0 61 6c 28 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 al(?<span.class="tok-type">u32</
83ac0 73 70 61 6e 3e 2c 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 62 75 69 6c 74 69 6e 22 span>,.<span.class="tok-builtin"
83ae0 3e 40 54 79 70 65 4f 66 3c 2f 73 70 61 6e 3e 28 63 29 29 3b 0a 7d 3c 2f 63 6f 64 65 3e 3c 2f 70 >@TypeOf</span>(c));.}</code></p
83b00 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.
83b20 63 6c 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
83b40 69 6f 6e 3e 3c 70 72 65 3e 3c 73 61 6d 70 3e 24 20 3c 6b 62 64 3e 7a 69 67 20 74 65 73 74 20 74 ion><pre><samp>$.<kbd>zig.test.t
83b60 65 73 74 5f 70 65 65 72 5f 74 79 70 65 5f 72 65 73 6f 6c 75 74 69 6f 6e 2e 7a 69 67 3c 2f 6b 62 est_peer_type_resolution.zig</kb
83b80 64 3e 0a 31 2f 39 20 74 65 73 74 5f 70 65 65 72 5f 74 79 70 65 5f 72 65 73 6f 6c 75 74 69 6f 6e d>.1/9.test_peer_type_resolution
83ba0 2e 74 65 73 74 2e 70 65 65 72 20 72 65 73 6f 6c 76 65 20 69 6e 74 20 77 69 64 65 6e 69 6e 67 2e .test.peer.resolve.int.widening.
83bc0 2e 2e 4f 4b 0a 32 2f 39 20 74 65 73 74 5f 70 65 65 72 5f 74 79 70 65 5f 72 65 73 6f 6c 75 74 69 ..OK.2/9.test_peer_type_resoluti
83be0 6f 6e 2e 74 65 73 74 2e 70 65 65 72 20 72 65 73 6f 6c 76 65 20 73 6d 61 6c 6c 20 69 6e 74 20 61 on.test.peer.resolve.small.int.a
83c00 6e 64 20 66 6c 6f 61 74 2e 2e 2e 4f 4b 0a 33 2f 39 20 74 65 73 74 5f 70 65 65 72 5f 74 79 70 65 nd.float...OK.3/9.test_peer_type
83c20 5f 72 65 73 6f 6c 75 74 69 6f 6e 2e 74 65 73 74 2e 70 65 65 72 20 72 65 73 6f 6c 76 65 20 61 72 _resolution.test.peer.resolve.ar
83c40 72 61 79 73 20 6f 66 20 64 69 66 66 65 72 65 6e 74 20 73 69 7a 65 20 74 6f 20 63 6f 6e 73 74 20 rays.of.different.size.to.const.
83c60 73 6c 69 63 65 2e 2e 2e 4f 4b 0a 34 2f 39 20 74 65 73 74 5f 70 65 65 72 5f 74 79 70 65 5f 72 65 slice...OK.4/9.test_peer_type_re
83c80 73 6f 6c 75 74 69 6f 6e 2e 74 65 73 74 2e 70 65 65 72 20 72 65 73 6f 6c 76 65 20 61 72 72 61 79 solution.test.peer.resolve.array
83ca0 20 61 6e 64 20 63 6f 6e 73 74 20 73 6c 69 63 65 2e 2e 2e 4f 4b 0a 35 2f 39 20 74 65 73 74 5f 70 .and.const.slice...OK.5/9.test_p
83cc0 65 65 72 5f 74 79 70 65 5f 72 65 73 6f 6c 75 74 69 6f 6e 2e 74 65 73 74 2e 70 65 65 72 20 74 79 eer_type_resolution.test.peer.ty
83ce0 70 65 20 72 65 73 6f 6c 75 74 69 6f 6e 3a 20 3f 54 20 61 6e 64 20 54 2e 2e 2e 4f 4b 0a 36 2f 39 pe.resolution:.?T.and.T...OK.6/9
83d00 20 74 65 73 74 5f 70 65 65 72 5f 74 79 70 65 5f 72 65 73 6f 6c 75 74 69 6f 6e 2e 74 65 73 74 2e .test_peer_type_resolution.test.
83d20 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 38 20 61 6e 64 peer.type.resolution:.*[0]u8.and
83d40 20 5b 5d 63 6f 6e 73 74 20 75 38 2e 2e 2e 4f 4b 0a 37 2f 39 20 74 65 73 74 5f 70 65 65 72 5f 74 .[]const.u8...OK.7/9.test_peer_t
83d60 79 70 65 5f 72 65 73 6f 6c 75 74 69 6f 6e 2e 74 65 73 74 2e 70 65 65 72 20 74 79 70 65 20 72 65 ype_resolution.test.peer.type.re
83d80 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 61 6e solution:.*[0]u8,.[]const.u8,.an
83da0 64 20 61 6e 79 65 72 72 6f 72 21 5b 5d 75 38 2e 2e 2e 4f 4b 0a 38 2f 39 20 74 65 73 74 5f 70 65 d.anyerror![]u8...OK.8/9.test_pe
83dc0 65 72 5f 74 79 70 65 5f 72 65 73 6f 6c 75 74 69 6f 6e 2e 74 65 73 74 2e 70 65 65 72 20 74 79 70 er_type_resolution.test.peer.typ
83de0 65 20 72 65 73 6f 6c 75 74 69 6f 6e 3a 20 2a 63 6f 6e 73 74 20 54 20 61 6e 64 20 3f 2a 54 2e 2e e.resolution:.*const.T.and.?*T..
83e00 2e 4f 4b 0a 39 2f 39 20 74 65 73 74 5f 70 65 65 72 5f 74 79 70 65 5f 72 65 73 6f 6c 75 74 69 6f .OK.9/9.test_peer_type_resolutio
83e20 6e 2e 74 65 73 74 2e 70 65 65 72 20 74 79 70 65 20 72 65 73 6f 6c 75 74 69 6f 6e 3a 20 65 72 72 n.test.peer.type.resolution:.err
83e40 6f 72 20 75 6e 69 6f 6e 20 73 77 69 74 63 68 2e 2e 2e 4f 4b 0a 41 6c 6c 20 39 20 74 65 73 74 73 or.union.switch...OK.All.9.tests
83e60 20 70 61 73 73 65 64 2e 0a 3c 2f 73 61 6d 70 3e 3c 2f 70 72 65 3e 3c 2f 66 69 67 75 72 65 3e 0a .passed..</samp></pre></figure>.
83e80 0a 20 20 20 20 20 20 0a 20 20 20 20 20 20 0a 0a 20 20 20 20 20 20 3c 68 32 20 69 64 3d 22 5a 65 ......................<h2.id="Ze
83ea0 72 6f 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 ro-Bit-Types"><a.href="nav.xhtml
83ec0 23 74 6f 63 2d 5a 65 72 6f 2d 42 69 74 2d 54 79 70 65 73 22 3e 5a 65 72 6f 20 42 69 74 20 54 79 #toc-Zero-Bit-Types">Zero.Bit.Ty
83ee0 70 65 73 3c 2f 61 3e 20 3c 61 20 63 6c 61 73 73 3d 22 68 64 72 22 20 68 72 65 66 3d 22 23 5a 65 pes</a>.<a.class="hdr".href="#Ze
83f00 72 6f 2d 42 69 74 2d 54 79 70 65 73 22 3e c2 a7 3c 2f 61 3e 3c 2f 68 32 3e 0a 0a 20 20 20 20 20 ro-Bit-Types">..</a></h2>.......
83f20 20 3c 70 3e 46 6f 72 20 73 6f 6d 65 20 74 79 70 65 73 2c 20 3c 61 20 68 72 65 66 3d 22 23 73 69 .<p>For.some.types,.<a.href="#si
83f40 7a 65 4f 66 22 3e 40 73 69 7a 65 4f 66 3c 2f 61 3e 20 69 73 20 30 3a 3c 2f 70 3e 0a 20 20 20 20 zeOf">@sizeOf</a>.is.0:</p>.....
83f60 20 20 3c 75 6c 3e 0a 20 20 20 20 20 20 20 20 20 20 3c 6c 69 3e 3c 61 20 68 72 65 66 3d 22 23 76 ..<ul>...........<li><a.href="#v
83f80 6f 69 64 22 3e 76 6f 69 64 3c 2f 61 3e 3c 2f 6c 69 3e 0a 20 20 20 20 20 20 20 20 20 20 3c 6c 69 oid">void</a></li>...........<li
83fa0 3e 54 68 65 20 3c 61 20 68 72 65 66 3d 22 23 49 6e 74 65 67 65 72 73 22 3e 69 6e 74 65 67 65 72 >The.<a.href="#Integers">integer
83fc0 20 74 79 70 65 3c 2f 61 3e 20 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b .type</a>.<code><span.class="tok
83fe0 2d 74 79 70 65 22 3e 75 30 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 2e 3c 2f 6c 69 3e 0a 20 20 -type">u0</span></code>.</li>...
84000 20 20 20 20 20 20 20 20 3c 6c 69 3e 3c 61 20 68 72 65 66 3d 22 23 41 72 72 61 79 73 22 3e 41 72 ........<li><a.href="#Arrays">Ar
84020 72 61 79 73 3c 2f 61 3e 20 61 6e 64 20 3c 61 20 68 72 65 66 3d 22 23 56 65 63 74 6f 72 73 22 3e rays</a>.and.<a.href="#Vectors">
84040 56 65 63 74 6f 72 73 3c 2f 61 3e 20 77 69 74 68 20 6c 65 6e 20 30 2c 20 6f 72 20 77 69 74 68 20 Vectors</a>.with.len.0,.or.with.
84060 61 6e 20 65 6c 65 6d 65 6e 74 20 74 79 70 65 20 74 68 61 74 20 69 73 20 61 20 7a 65 72 6f 20 62 an.element.type.that.is.a.zero.b
84080 69 74 20 74 79 70 65 2e 3c 2f 6c 69 3e 0a 20 20 20 20 20 20 20 20 20 20 3c 6c 69 3e 41 6e 20 3c it.type.</li>...........<li>An.<
840a0 61 20 68 72 65 66 3d 22 23 65 6e 75 6d 22 3e 65 6e 75 6d 3c 2f 61 3e 20 77 69 74 68 20 6f 6e 6c a.href="#enum">enum</a>.with.onl
840c0 79 20 31 20 74 61 67 2e 3c 2f 6c 69 3e 0a 20 20 20 20 20 20 20 20 20 20 3c 6c 69 3e 41 20 3c 61 y.1.tag.</li>...........<li>A.<a
840e0 20 68 72 65 66 3d 22 23 73 74 72 75 63 74 22 3e 73 74 72 75 63 74 3c 2f 61 3e 20 77 69 74 68 20 .href="#struct">struct</a>.with.
84100 61 6c 6c 20 66 69 65 6c 64 73 20 62 65 69 6e 67 20 7a 65 72 6f 20 62 69 74 20 74 79 70 65 73 2e all.fields.being.zero.bit.types.
84120 3c 2f 6c 69 3e 0a 20 20 20 20 20 20 20 20 20 20 3c 6c 69 3e 41 20 3c 61 20 68 72 65 66 3d 22 23 </li>...........<li>A.<a.href="#
84140 75 6e 69 6f 6e 22 3e 75 6e 69 6f 6e 3c 2f 61 3e 20 77 69 74 68 20 6f 6e 6c 79 20 31 20 66 69 65 union">union</a>.with.only.1.fie
84160 6c 64 20 77 68 69 63 68 20 69 73 20 61 20 7a 65 72 6f 20 62 69 74 20 74 79 70 65 2e 3c 2f 6c 69 ld.which.is.a.zero.bit.type.</li
84180 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 68 >.......</ul>.......<p>.......Th
841a0 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 6e 65 ese.types.can.only.ever.have.one
841c0 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 20 20 .possible.value,.and.thus.......
841e0 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 6f 64 require.0.bits.to.represent..Cod
84200 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 73 20 e.that.makes.use.of.these.types.
84220 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 69 6e is.......not.included.in.the.fin
84240 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 20 20 al.generated.code:.......</p>...
84260 20 20 20 20 3c 66 69 67 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
84280 69 67 2d 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 65 72 6f 5f ig-cap"><cite.class="file">zero_
842a0 62 69 74 5f 74 79 70 65 73 2e 7a 69 67 3c 2f 63 69 74 65 3e 3c 2f 66 69 67 63 61 70 74 69 6f 6e bit_types.zig</cite></figcaption
842c0 3e 3c 70 72 65 3e 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 ><pre><code><span.class="tok-kw"
842e0 3e 65 78 70 6f 72 74 3c 2f 73 70 61 6e 3e 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d >export</span>.<span.class="tok-
84300 6b 77 22 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
84320 6e 22 3e 65 6e 74 72 79 3c 2f 73 70 61 6e 3e 28 29 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 n">entry</span>().<span.class="t
84340 6f 6b 2d 74 79 70 65 22 3e 76 6f 69 64 3c 2f 73 70 61 6e 3e 20 7b 0a 20 20 20 20 3c 73 70 61 6e ok-type">void</span>.{.....<span
84360 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
84380 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>
843a0 20 3d 20 7b 7d 3b 0a 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e .=.{};.....<span.class="tok-kw">
843c0 76 61 72 3c 2f 73 70 61 6e 3e 20 79 3a 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 var</span>.y:.<span.class="tok-t
843e0 79 70 65 22 3e 76 6f 69 64 3c 2f 73 70 61 6e 3e 20 3d 20 7b 7d 3b 0a 20 20 20 20 78 20 3d 20 79 ype">void</span>.=.{};.....x.=.y
84400 3b 0a 20 20 20 20 79 20 3d 20 78 3b 0a 7d 3c 2f 63 6f 64 65 3e 3c 2f 70 72 65 3e 3c 2f 66 69 67 ;.....y.=.x;.}</code></pre></fig
84420 75 72 65 3e 0a 0a 20 20 20 20 20 20 3c 70 3e 57 68 65 6e 20 74 68 69 73 20 74 75 72 6e 73 20 69 ure>........<p>When.this.turns.i
84440 6e 74 6f 20 6d 61 63 68 69 6e 65 20 63 6f 64 65 2c 20 74 68 65 72 65 20 69 73 20 6e 6f 20 63 6f nto.machine.code,.there.is.no.co
84460 64 65 20 67 65 6e 65 72 61 74 65 64 20 69 6e 20 74 68 65 0a 20 20 20 20 20 20 62 6f 64 79 20 6f de.generated.in.the.......body.o
84480 66 20 3c 63 6f 64 65 3e 65 6e 74 72 79 3c 2f 63 6f 64 65 3e 2c 20 65 76 65 6e 20 69 6e 20 3c 61 f.<code>entry</code>,.even.in.<a
844a0 20 68 72 65 66 3d 22 23 44 65 62 75 67 22 3e 44 65 62 75 67 3c 2f 61 3e 20 6d 6f 64 65 2e 20 46 .href="#Debug">Debug</a>.mode..F
844c0 6f 72 20 65 78 61 6d 70 6c 65 2c 20 6f 6e 20 78 38 36 5f 36 34 3a 3c 2f 70 3e 0a 20 20 20 20 20 or.example,.on.x86_64:</p>......
844e0 20 3c 70 72 65 3e 3c 63 6f 64 65 3e 30 30 30 30 30 30 30 30 30 30 30 30 30 30 31 30 20 26 6c 74 .<pre><code>0000000000000010.&lt
84500 3b 65 6e 74 72 79 26 67 74 3b 3a 0a 20 20 31 30 3a 09 35 35 20 20 20 20 20 20 20 20 20 20 20 20 ;entry&gt;:...10:.55............
84520 20 20 20 20 20 20 20 09 70 75 73 68 20 20 20 25 72 62 70 0a 20 20 31 31 3a 09 34 38 20 38 39 20 ........push...%rbp...11:.48.89.
84540 65 35 20 20 20 20 20 20 20 20 20 20 20 20 20 09 6d 6f 76 20 20 20 20 25 72 73 70 2c 25 72 62 70 e5..............mov....%rsp,%rbp
84560 0a 20 20 31 34 3a 09 35 64 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 09 70 6f 70 ...14:.5d....................pop
84580 20 20 20 20 25 72 62 70 0a 20 20 31 35 3a 09 63 33 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ....%rbp...15:.c3...............
845a0 20 20 20 20 09 72 65 74 71 20 20 20 3c 2f 63 6f 64 65 3e 3c 2f 70 72 65 3e 0a 20 20 20 20 20 20 .....retq...</code></pre>.......
845c0 3c 70 3e 54 68 65 73 65 20 61 73 73 65 6d 62 6c 79 20 69 6e 73 74 72 75 63 74 69 6f 6e 73 20 64 <p>These.assembly.instructions.d
845e0 6f 20 6e 6f 74 20 68 61 76 65 20 61 6e 79 20 63 6f 64 65 20 61 73 73 6f 63 69 61 74 65 64 20 77 o.not.have.any.code.associated.w
84600 69 74 68 20 74 68 65 20 76 6f 69 64 20 76 61 6c 75 65 73 20 2d 0a 20 20 20 20 20 20 74 68 65 79 ith.the.void.values.-.......they
84620 20 6f 6e 6c 79 20 70 65 72 66 6f 72 6d 20 74 68 65 20 66 75 6e 63 74 69 6f 6e 20 63 61 6c 6c 20 .only.perform.the.function.call.
84640 70 72 6f 6c 6f 67 75 65 20 61 6e 64 20 65 70 69 6c 6f 67 75 65 2e 3c 2f 70 3e 0a 0a 20 20 20 20 prologue.and.epilogue.</p>......
84660 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 61 76 2e 78 68 74 ..<h3.id="void"><a.href="nav.xht
84680 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 6c 61 73 73 3d 22 ml#toc-void">void</a>.<a.class="
846a0 68 64 72 22 20 68 72 65 66 3d 22 23 76 6f 69 64 22 3e c2 a7 3c 2f 61 3e 3c 2f 68 33 3e 0a 0a 20 hdr".href="#void">..</a></h3>...
846c0 20 20 20 20 20 3c 70 3e 0a 20 20 20 20 20 20 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 .....<p>.......<code><span.class
846e0 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 76 6f 69 64 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 20 63 ="tok-type">void</span></code>.c
84700 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
84720 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
84740 20 61 0a 20 20 20 20 20 20 20 20 20 20 3c 63 6f 64 65 3e 4d 61 70 28 4b 65 79 2c 20 56 61 6c 75 .a...........<code>Map(Key,.Valu
84760 65 29 3c 2f 63 6f 64 65 3e 2c 20 6f 6e 65 20 63 61 6e 20 70 61 73 73 20 3c 63 6f 64 65 3e 3c 73 e)</code>,.one.can.pass.<code><s
84780 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>
847a0 3c 2f 63 6f 64 65 3e 20 66 6f 72 20 74 68 65 20 3c 63 6f 64 65 3e 56 61 6c 75 65 3c 2f 63 6f 64 </code>.for.the.<code>Value</cod
847c0 65 3e 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 74 79 70 65 20 74 6f e>.......................type.to
847e0 20 6d 61 6b 65 20 69 74 20 69 6e 74 6f 20 61 20 3c 63 6f 64 65 3e 53 65 74 3c 2f 63 6f 64 65 3e .make.it.into.a.<code>Set</code>
84800 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
84820 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
84840 73 73 3d 22 66 69 6c 65 22 3e 74 65 73 74 5f 76 6f 69 64 5f 69 6e 5f 68 61 73 68 6d 61 70 2e 7a ss="file">test_void_in_hashmap.z
84860 69 67 3c 2f 63 69 74 65 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
84880 3e 3c 73 70 61 6e 20 63 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
848a0 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
848c0 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
848e0 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>);
84900 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 63 6f 6e 73 74 3c 2f 73 70 61 .<span.class="tok-kw">const</spa
84920 6e 3e 20 65 78 70 65 63 74 20 3d 20 73 74 64 2e 74 65 73 74 69 6e 67 2e 65 78 70 65 63 74 3b 0a n>.expect.=.std.testing.expect;.
84940 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 74 65 73 74 3c 2f 73 70 61 6e .<span.class="tok-kw">test</span
84960 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 74 75 >.<span.class="tok-str">&quot;tu
84980 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 26 rn.HashMap.into.a.set.with.void&
849a0 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 20 7b 0a 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 quot;</span>.{.....<span.class="
849c0 74 6f 6b 2d 6b 77 22 3e 76 61 72 3c 2f 73 70 61 6e 3e 20 6d 61 70 20 3d 20 73 74 64 2e 41 75 74 tok-kw">var</span>.map.=.std.Aut
849e0 6f 48 61 73 68 4d 61 70 28 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e oHashMap(<span.class="tok-type">
84a00 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 74 79 70 i32</span>,.<span.class="tok-typ
84a20 65 22 3e 76 6f 69 64 3c 2f 73 70 61 6e 3e 29 2e 69 6e 69 74 28 73 74 64 2e 74 65 73 74 69 6e 67 e">void</span>).init(std.testing
84a40 2e 61 6c 6c 6f 63 61 74 6f 72 29 3b 0a 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f .allocator);.....<span.class="to
84a60 6b 2d 6b 77 22 3e 64 65 66 65 72 3c 2f 73 70 61 6e 3e 20 6d 61 70 2e 64 65 69 6e 69 74 28 29 3b k-kw">defer</span>.map.deinit();
84a80 0a 0a 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 74 72 79 3c 2f ......<span.class="tok-kw">try</
84aa0 73 70 61 6e 3e 20 6d 61 70 2e 70 75 74 28 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e span>.map.put(<span.class="tok-n
84ac0 75 6d 62 65 72 22 3e 31 3c 2f 73 70 61 6e 3e 2c 20 7b 7d 29 3b 0a 20 20 20 20 3c 73 70 61 6e 20 umber">1</span>,.{});.....<span.
84ae0 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 74 72 79 3c 2f 73 70 61 6e 3e 20 6d 61 70 2e 70 75 class="tok-kw">try</span>.map.pu
84b00 74 28 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 32 3c 2f 73 70 t(<span.class="tok-number">2</sp
84b20 61 6e 3e 2c 20 7b 7d 29 3b 0a 0a 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d an>,.{});......<span.class="tok-
84b40 6b 77 22 3e 74 72 79 3c 2f 73 70 61 6e 3e 20 65 78 70 65 63 74 28 6d 61 70 2e 63 6f 6e 74 61 69 kw">try</span>.expect(map.contai
84b60 6e 73 28 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 32 3c 2f 73 ns(<span.class="tok-number">2</s
84b80 70 61 6e 3e 29 29 3b 0a 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 pan>));.....<span.class="tok-kw"
84ba0 3e 74 72 79 3c 2f 73 70 61 6e 3e 20 65 78 70 65 63 74 28 21 6d 61 70 2e 63 6f 6e 74 61 69 6e 73 >try</span>.expect(!map.contains
84bc0 28 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 33 3c 2f 73 70 61 (<span.class="tok-number">3</spa
84be0 6e 3e 29 29 3b 0a 0a 20 20 20 20 5f 20 3d 20 6d 61 70 2e 72 65 6d 6f 76 65 28 3c 73 70 61 6e 20 n>));......_.=.map.remove(<span.
84c00 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 32 3c 2f 73 70 61 6e 3e 29 3b 0a 20 20 class="tok-number">2</span>);...
84c20 20 20 3c 73 70 61 6e 20 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
84c40 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 6c 61 >.expect(!map.contains(<span.cla
84c60 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 0a 7d 3c 2f 63 ss="tok-number">2</span>));.}</c
84c80 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
84ca0 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</
84cc0 66 69 67 63 61 70 74 69 6f 6e 3e 3c 70 72 65 3e 3c 73 61 6d 70 3e 24 20 3c 6b 62 64 3e 7a 69 67 figcaption><pre><samp>$.<kbd>zig
84ce0 20 74 65 73 74 20 74 65 73 74 5f 76 6f 69 64 5f 69 6e 5f 68 61 73 68 6d 61 70 2e 7a 69 67 3c 2f .test.test_void_in_hashmap.zig</
84d00 6b 62 64 3e 0a 31 2f 31 20 74 65 73 74 5f 76 6f 69 64 5f 69 6e 5f 68 61 73 68 6d 61 70 2e 74 65 kbd>.1/1.test_void_in_hashmap.te
84d20 73 74 2e 74 75 72 6e 20 48 61 73 68 4d 61 70 20 69 6e 74 6f 20 61 20 73 65 74 20 77 69 74 68 20 st.turn.HashMap.into.a.set.with.
84d40 76 6f 69 64 2e 2e 2e 4f 4b 0a 41 6c 6c 20 31 20 74 65 73 74 73 20 70 61 73 73 65 64 2e 0a 3c 2f void...OK.All.1.tests.passed..</
84d60 73 61 6d 70 3e 3c 2f 70 72 65 3e 3c 2f 66 69 67 75 72 65 3e 0a 0a 20 20 20 20 20 20 3c 70 3e 4e samp></pre></figure>........<p>N
84d80 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 6f 6d 20 ote.that.this.is.different.from.
84da0 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 61 73 68 using.a.dummy.value.for.the.hash
84dc0 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 6f 64 65 .map.value........By.using.<code
84de0 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 76 6f 69 64 3c 2f 73 70 ><span.class="tok-type">void</sp
84e00 61 6e 3e 3c 2f 63 6f 64 65 3e 20 61 73 20 74 68 65 20 74 79 70 65 20 6f 66 20 74 68 65 20 76 61 an></code>.as.the.type.of.the.va
84e20 6c 75 65 2c 20 74 68 65 20 68 61 73 68 20 6d 61 70 20 65 6e 74 72 79 20 74 79 70 65 20 68 61 73 lue,.the.hash.map.entry.type.has
84e40 20 6e 6f 20 76 61 6c 75 65 20 66 69 65 6c 64 2c 20 61 6e 64 0a 20 20 20 20 20 20 74 68 75 73 20 .no.value.field,.and.......thus.
84e60 74 68 65 20 68 61 73 68 20 6d 61 70 20 74 61 6b 65 73 20 75 70 20 6c 65 73 73 20 73 70 61 63 65 the.hash.map.takes.up.less.space
84e80 2e 20 46 75 72 74 68 65 72 2c 20 61 6c 6c 20 74 68 65 20 63 6f 64 65 20 74 68 61 74 20 64 65 61 ..Further,.all.the.code.that.dea
84ea0 6c 73 20 77 69 74 68 20 73 74 6f 72 69 6e 67 20 61 6e 64 20 6c 6f 61 64 69 6e 67 20 74 68 65 0a ls.with.storing.and.loading.the.
84ec0 20 20 20 20 20 20 76 61 6c 75 65 20 69 73 20 64 65 6c 65 74 65 64 2c 20 61 73 20 73 65 65 6e 20 ......value.is.deleted,.as.seen.
84ee0 61 62 6f 76 65 2e 0a 20 20 20 20 20 20 3c 2f 70 3e 0a 20 20 20 20 20 20 3c 70 3e 0a 20 20 20 20 above........</p>.......<p>.....
84f00 20 20 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 76 ..<code><span.class="tok-type">v
84f20 6f 69 64 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 20 69 73 20 64 69 73 74 69 6e 63 74 20 66 72 oid</span></code>.is.distinct.fr
84f40 6f 6d 20 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e om.<code><span.class="tok-type">
84f60 61 6e 79 6f 70 61 71 75 65 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 2e 0a 20 20 20 20 20 20 3c anyopaque</span></code>........<
84f80 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 76 6f 69 64 code><span.class="tok-type">void
84fa0 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 20 68 61 73 20 61 20 6b 6e 6f 77 6e 20 73 69 7a 65 20 </span></code>.has.a.known.size.
84fc0 6f 66 20 30 20 62 79 74 65 73 2c 20 61 6e 64 20 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 of.0.bytes,.and.<code><span.clas
84fe0 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 61 6e 79 6f 70 61 71 75 65 3c 2f 73 70 61 6e 3e 3c 2f 63 s="tok-type">anyopaque</span></c
85000 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 7a 65 72 ode>.has.an.unknown,.but.non-zer
85020 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 0a 20 20 o,.size........</p>.......<p>...
85040 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 3e 3c 73 ....Expressions.of.type.<code><s
85060 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>
85080 3c 2f 63 6f 64 65 3e 20 61 72 65 20 74 68 65 20 6f 6e 6c 79 20 6f 6e 65 73 20 77 68 6f 73 65 20 </code>.are.the.only.ones.whose.
850a0 76 61 6c 75 65 20 63 61 6e 20 62 65 20 69 67 6e 6f 72 65 64 2e 20 46 6f 72 20 65 78 61 6d 70 6c value.can.be.ignored..For.exampl
850c0 65 2c 20 69 67 6e 6f 72 69 6e 67 0a 20 20 20 20 20 20 61 20 6e 6f 6e 2d 3c 63 6f 64 65 3e 3c 73 e,.ignoring.......a.non-<code><s
850e0 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>
85100 3c 2f 63 6f 64 65 3e 20 65 78 70 72 65 73 73 69 6f 6e 20 69 73 20 61 20 63 6f 6d 70 69 6c 65 20 </code>.expression.is.a.compile.
85120 65 72 72 6f 72 3a 0a 20 20 20 20 20 20 3c 2f 70 3e 0a 20 20 20 20 20 20 3c 66 69 67 75 72 65 3e error:.......</p>.......<figure>
85140 3c 66 69 67 63 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
85160 65 20 63 6c 61 73 73 3d 22 66 69 6c 65 22 3e 74 65 73 74 5f 65 78 70 72 65 73 73 69 6f 6e 5f 69 e.class="file">test_expression_i
85180 67 6e 6f 72 65 64 2e 7a 69 67 3c 2f 63 69 74 65 3e 3c 2f 66 69 67 63 61 70 74 69 6f 6e 3e 3c 70 gnored.zig</cite></figcaption><p
851a0 72 65 3e 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 74 65 re><code><span.class="tok-kw">te
851c0 73 74 3c 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">
851e0 26 71 75 6f 74 3b 69 67 6e 6f 72 69 6e 67 20 65 78 70 72 65 73 73 69 6f 6e 20 76 61 6c 75 65 26 &quot;ignoring.expression.value&
85200 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 20 7b 0a 20 20 20 20 66 6f 6f 28 29 3b 0a 7d 0a 0a 3c 73 70 quot;</span>.{.....foo();.}..<sp
85220 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
85240 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 73 n.class="tok-fn">foo</span>().<s
85260 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>.
85280 7b 0a 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 72 65 74 75 72 {.....<span.class="tok-kw">retur
852a0 6e 3c 2f 73 70 61 6e 3e 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 n</span>.<span.class="tok-number
852c0 22 3e 31 32 33 34 3c 2f 73 70 61 6e 3e 3b 0a 7d 3c 2f 63 6f 64 65 3e 3c 2f 70 72 65 3e 3c 2f 66 ">1234</span>;.}</code></pre></f
852e0 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=
85300 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
85320 72 65 3e 3c 73 61 6d 70 3e 24 20 3c 6b 62 64 3e 7a 69 67 20 74 65 73 74 20 74 65 73 74 5f 65 78 re><samp>$.<kbd>zig.test.test_ex
85340 70 72 65 73 73 69 6f 6e 5f 69 67 6e 6f 72 65 64 2e 7a 69 67 3c 2f 6b 62 64 3e 0a 3c 73 70 61 6e pression_ignored.zig</kbd>.<span
85360 20 63 6c 61 73 73 3d 22 73 67 72 2d 31 6d 22 3e 2f 68 6f 6d 65 2f 63 69 2f 77 6f 72 6b 2f 7a 69 .class="sgr-1m">/home/ci/work/zi
85380 67 2d 62 6f 6f 74 73 74 72 61 70 2f 7a 69 67 2f 64 6f 63 2f 6c 61 6e 67 72 65 66 2f 74 65 73 74 g-bootstrap/zig/doc/langref/test
853a0 5f 65 78 70 72 65 73 73 69 6f 6e 5f 69 67 6e 6f 72 65 64 2e 7a 69 67 3a 32 3a 38 3a 20 3c 2f 73 _expression_ignored.zig:2:8:.</s
853c0 70 61 6e 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 73 67 72 2d 33 31 6d 22 3e 65 72 72 6f 72 3a pan><span.class="sgr-31m">error:
853e0 20 3c 2f 73 70 61 6e 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 73 67 72 2d 31 6d 22 3e 76 61 6c .</span><span.class="sgr-1m">val
85400 75 65 20 6f 66 20 74 79 70 65 20 27 69 33 32 27 20 69 67 6e 6f 72 65 64 0a 3c 2f 73 70 61 6e 3e ue.of.type.'i32'.ignored.</span>
85420 20 20 20 20 66 6f 6f 28 29 3b 0a 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 73 67 72 2d ....foo();.....<span.class="sgr-
85440 33 32 6d 22 3e 7e 7e 7e 5e 7e 0a 3c 2f 73 70 61 6e 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 73 32m">~~~^~.</span><span.class="s
85460 67 72 2d 31 6d 22 3e 2f 68 6f 6d 65 2f 63 69 2f 77 6f 72 6b 2f 7a 69 67 2d 62 6f 6f 74 73 74 72 gr-1m">/home/ci/work/zig-bootstr
85480 61 70 2f 7a 69 67 2f 64 6f 63 2f 6c 61 6e 67 72 65 66 2f 74 65 73 74 5f 65 78 70 72 65 73 73 69 ap/zig/doc/langref/test_expressi
854a0 6f 6e 5f 69 67 6e 6f 72 65 64 2e 7a 69 67 3a 32 3a 38 3a 20 3c 2f 73 70 61 6e 3e 3c 73 70 61 6e on_ignored.zig:2:8:.</span><span
854c0 20 63 6c 61 73 73 3d 22 73 67 72 2d 33 36 6d 22 3e 6e 6f 74 65 3a 20 3c 2f 73 70 61 6e 3e 3c 73 .class="sgr-36m">note:.</span><s
854e0 70 61 6e 20 63 6c 61 73 73 3d 22 73 67 72 2d 31 6d 22 3e 61 6c 6c 20 6e 6f 6e 2d 76 6f 69 64 20 pan.class="sgr-1m">all.non-void.
85500 76 61 6c 75 65 73 20 6d 75 73 74 20 62 65 20 75 73 65 64 0a 3c 2f 73 70 61 6e 3e 3c 73 70 61 6e values.must.be.used.</span><span
85520 20 63 6c 61 73 73 3d 22 73 67 72 2d 31 6d 22 3e 2f 68 6f 6d 65 2f 63 69 2f 77 6f 72 6b 2f 7a 69 .class="sgr-1m">/home/ci/work/zi
85540 67 2d 62 6f 6f 74 73 74 72 61 70 2f 7a 69 67 2f 64 6f 63 2f 6c 61 6e 67 72 65 66 2f 74 65 73 74 g-bootstrap/zig/doc/langref/test
85560 5f 65 78 70 72 65 73 73 69 6f 6e 5f 69 67 6e 6f 72 65 64 2e 7a 69 67 3a 32 3a 38 3a 20 3c 2f 73 _expression_ignored.zig:2:8:.</s
85580 70 61 6e 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 73 67 72 2d 33 36 6d 22 3e 6e 6f 74 65 3a 20 pan><span.class="sgr-36m">note:.
855a0 3c 2f 73 70 61 6e 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 73 67 72 2d 31 6d 22 3e 74 6f 20 64 </span><span.class="sgr-1m">to.d
855c0 69 73 63 61 72 64 20 74 68 65 20 76 61 6c 75 65 2c 20 61 73 73 69 67 6e 20 69 74 20 74 6f 20 27 iscard.the.value,.assign.it.to.'
855e0 5f 27 0a 3c 2f 73 70 61 6e 3e 0a 3c 2f 73 61 6d 70 3e 3c 2f 70 72 65 3e 3c 2f 66 69 67 75 72 65 _'.</span>.</samp></pre></figure
85600 3e 0a 0a 20 20 20 20 20 20 3c 70 3e 48 6f 77 65 76 65 72 2c 20 69 66 20 74 68 65 20 65 78 70 72 >........<p>However,.if.the.expr
85620 65 73 73 69 6f 6e 20 68 61 73 20 74 79 70 65 20 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 ession.has.type.<code><span.clas
85640 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 76 6f 69 64 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 2c s="tok-type">void</span></code>,
85660 20 74 68 65 72 65 20 77 69 6c 6c 20 62 65 20 6e 6f 20 65 72 72 6f 72 2e 20 45 78 70 72 65 73 73 .there.will.be.no.error..Express
85680 69 6f 6e 20 72 65 73 75 6c 74 73 20 63 61 6e 20 62 65 20 65 78 70 6c 69 63 69 74 6c 79 20 69 67 ion.results.can.be.explicitly.ig
856a0 6e 6f 72 65 64 20 62 79 20 61 73 73 69 67 6e 69 6e 67 20 74 68 65 6d 20 74 6f 20 3c 63 6f 64 65 nored.by.assigning.them.to.<code
856c0 3e 5f 3c 2f 63 6f 64 65 3e 2e 20 3c 2f 70 3e 0a 20 20 20 20 20 20 3c 66 69 67 75 72 65 3e 3c 66 >_</code>..</p>.......<figure><f
856e0 69 67 63 61 70 74 69 6f 6e 20 63 6c 61 73 73 3d 22 7a 69 67 2d 63 61 70 22 3e 3c 63 69 74 65 20 igcaption.class="zig-cap"><cite.
85700 63 6c 61 73 73 3d 22 66 69 6c 65 22 3e 74 65 73 74 5f 76 6f 69 64 5f 69 67 6e 6f 72 65 64 2e 7a class="file">test_void_ignored.z
85720 69 67 3c 2f 63 69 74 65 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
85740 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
85760 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 6f >.<span.class="tok-str">&quot;vo
85780 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 0a 20 20 20 id.is.ignored&quot;</span>.{....
857a0 20 72 65 74 75 72 6e 73 56 6f 69 64 28 29 3b 0a 7d 0a 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 .returnsVoid();.}..<span.class="
857c0 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=
857e0 22 74 6f 6b 2d 73 74 72 22 3e 26 71 75 6f 74 3b 65 78 70 6c 69 63 69 74 6c 79 20 69 67 6e 6f 72 "tok-str">&quot;explicitly.ignor
85800 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 73 70 61 6e ing.expression.value&quot;</span
85820 3e 20 7b 0a 20 20 20 20 5f 20 3d 20 66 6f 6f 28 29 3b 0a 7d 0a 0a 3c 73 70 61 6e 20 63 6c 61 73 >.{....._.=.foo();.}..<span.clas
85840 73 3d 22 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
85860 3d 22 74 6f 6b 2d 66 6e 22 3e 72 65 74 75 72 6e 73 56 6f 69 64 3c 2f 73 70 61 6e 3e 28 29 20 3c ="tok-fn">returnsVoid</span>().<
85880 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
858a0 3e 20 7b 7d 0a 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 66 6e 3c 2f 73 >.{}..<span.class="tok-kw">fn</s
858c0 70 61 6e 3e 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 66 6e 22 3e 66 6f 6f 3c 2f 73 pan>.<span.class="tok-fn">foo</s
858e0 70 61 6e 3e 28 29 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 69 33 pan>().<span.class="tok-type">i3
85900 32 3c 2f 73 70 61 6e 3e 20 7b 0a 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 2</span>.{.....<span.class="tok-
85920 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
85940 6f 6b 2d 6e 75 6d 62 65 72 22 3e 31 32 33 34 3c 2f 73 70 61 6e 3e 3b 0a 7d 3c 2f 63 6f 64 65 3e ok-number">1234</span>;.}</code>
85960 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
85980 6f 6e 20 63 6c 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
859a0 61 70 74 69 6f 6e 3e 3c 70 72 65 3e 3c 73 61 6d 70 3e 24 20 3c 6b 62 64 3e 7a 69 67 20 74 65 73 aption><pre><samp>$.<kbd>zig.tes
859c0 74 20 74 65 73 74 5f 76 6f 69 64 5f 69 67 6e 6f 72 65 64 2e 7a 69 67 3c 2f 6b 62 64 3e 0a 31 2f t.test_void_ignored.zig</kbd>.1/
859e0 32 20 74 65 73 74 5f 76 6f 69 64 5f 69 67 6e 6f 72 65 64 2e 74 65 73 74 2e 76 6f 69 64 20 69 73 2.test_void_ignored.test.void.is
85a00 20 69 67 6e 6f 72 65 64 2e 2e 2e 4f 4b 0a 32 2f 32 20 74 65 73 74 5f 76 6f 69 64 5f 69 67 6e 6f .ignored...OK.2/2.test_void_igno
85a20 72 65 64 2e 74 65 73 74 2e 65 78 70 6c 69 63 69 74 6c 79 20 69 67 6e 6f 72 69 6e 67 20 65 78 70 red.test.explicitly.ignoring.exp
85a40 72 65 73 73 69 6f 6e 20 76 61 6c 75 65 2e 2e 2e 4f 4b 0a 41 6c 6c 20 32 20 74 65 73 74 73 20 70 ression.value...OK.All.2.tests.p
85a60 61 73 73 65 64 2e 0a 3c 2f 73 61 6d 70 3e 3c 2f 70 72 65 3e 3c 2f 66 69 67 75 72 65 3e 0a 0a 20 assed..</samp></pre></figure>...
85a80 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 52 65 73 75 ....................<h2.id="Resu
85aa0 6c 74 2d 4c 6f 63 61 74 69 6f 6e 2d 53 65 6d 61 6e 74 69 63 73 22 3e 3c 61 20 68 72 65 66 3d 22 lt-Location-Semantics"><a.href="
85ac0 6e 61 76 2e 78 68 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 nav.xhtml#toc-Result-Location-Se
85ae0 6d 61 6e 74 69 63 73 22 3e 52 65 73 75 6c 74 20 4c 6f 63 61 74 69 6f 6e 20 53 65 6d 61 6e 74 69 mantics">Result.Location.Semanti
85b00 63 73 3c 2f 61 3e 20 3c 61 20 63 6c 61 73 73 3d 22 68 64 72 22 20 68 72 65 66 3d 22 23 52 65 73 cs</a>.<a.class="hdr".href="#Res
85b20 75 6c 74 2d 4c 6f 63 61 74 69 6f 6e 2d 53 65 6d 61 6e 74 69 63 73 22 3e c2 a7 3c 2f 61 3e 3c 2f ult-Location-Semantics">..</a></
85b40 68 32 3e 0a 0a 20 20 20 20 20 20 3c 70 3e 0a 20 20 20 20 20 20 44 75 72 69 6e 67 20 63 6f 6d 70 h2>........<p>.......During.comp
85b60 69 6c 61 74 69 6f 6e 2c 20 65 76 65 72 79 20 5a 69 67 20 65 78 70 72 65 73 73 69 6f 6e 20 61 6e ilation,.every.Zig.expression.an
85b80 64 20 73 75 62 2d 65 78 70 72 65 73 73 69 6f 6e 20 69 73 20 61 73 73 69 67 6e 65 64 20 6f 70 74 d.sub-expression.is.assigned.opt
85ba0 69 6f 6e 61 6c 20 72 65 73 75 6c 74 20 6c 6f 63 61 74 69 6f 6e 0a 20 20 20 20 20 20 69 6e 66 6f ional.result.location.......info
85bc0 72 6d 61 74 69 6f 6e 2e 20 54 68 69 73 20 69 6e 66 6f 72 6d 61 74 69 6f 6e 20 64 69 63 74 61 74 rmation..This.information.dictat
85be0 65 73 20 77 68 61 74 20 74 79 70 65 20 74 68 65 20 65 78 70 72 65 73 73 69 6f 6e 20 73 68 6f 75 es.what.type.the.expression.shou
85c00 6c 64 20 68 61 76 65 20 28 69 74 73 20 72 65 73 75 6c 74 20 74 79 70 65 29 2c 20 61 6e 64 0a 20 ld.have.(its.result.type),.and..
85c20 20 20 20 20 20 77 68 65 72 65 20 74 68 65 20 72 65 73 75 6c 74 69 6e 67 20 76 61 6c 75 65 20 73 .....where.the.resulting.value.s
85c40 68 6f 75 6c 64 20 62 65 20 70 6c 61 63 65 64 20 69 6e 20 6d 65 6d 6f 72 79 20 28 69 74 73 20 72 hould.be.placed.in.memory.(its.r
85c60 65 73 75 6c 74 20 6c 6f 63 61 74 69 6f 6e 29 2e 20 54 68 65 20 69 6e 66 6f 72 6d 61 74 69 6f 6e esult.location)..The.information
85c80 20 69 73 0a 20 20 20 20 20 20 6f 70 74 69 6f 6e 61 6c 20 69 6e 20 74 68 65 20 73 65 6e 73 65 20 .is.......optional.in.the.sense.
85ca0 74 68 61 74 20 6e 6f 74 20 65 76 65 72 79 20 65 78 70 72 65 73 73 69 6f 6e 20 68 61 73 20 74 68 that.not.every.expression.has.th
85cc0 69 73 20 69 6e 66 6f 72 6d 61 74 69 6f 6e 3a 20 61 73 73 69 67 6e 6d 65 6e 74 20 74 6f 0a 20 20 is.information:.assignment.to...
85ce0 20 20 20 20 3c 63 6f 64 65 3e 5f 3c 2f 63 6f 64 65 3e 2c 20 66 6f 72 20 69 6e 73 74 61 6e 63 65 ....<code>_</code>,.for.instance
85d00 2c 20 64 6f 65 73 20 6e 6f 74 20 70 72 6f 76 69 64 65 20 61 6e 79 20 69 6e 66 6f 72 6d 61 74 69 ,.does.not.provide.any.informati
85d20 6f 6e 20 61 62 6f 75 74 20 74 68 65 20 74 79 70 65 20 6f 66 20 61 6e 0a 20 20 20 20 20 20 65 78 on.about.the.type.of.an.......ex
85d40 70 72 65 73 73 69 6f 6e 2c 20 6e 6f 72 20 64 6f 65 73 20 69 74 20 70 72 6f 76 69 64 65 20 61 20 pression,.nor.does.it.provide.a.
85d60 63 6f 6e 63 72 65 74 65 20 6d 65 6d 6f 72 79 20 6c 6f 63 61 74 69 6f 6e 20 74 6f 20 70 6c 61 63 concrete.memory.location.to.plac
85d80 65 20 69 74 20 69 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.it.in........</p>.......<p>...
85da0 20 20 20 20 41 73 20 61 20 6d 6f 74 69 76 61 74 69 6e 67 20 65 78 61 6d 70 6c 65 2c 20 63 6f 6e ....As.a.motivating.example,.con
85dc0 73 69 64 65 72 20 74 68 65 20 73 74 61 74 65 6d 65 6e 74 20 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 sider.the.statement.<code><span.
85de0 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 63 6f 6e 73 74 3c 2f 73 70 61 6e 3e 20 78 3a 20 3c class="tok-kw">const</span>.x:.<
85e00 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>
85e20 20 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 34 32 3c 2f .=.<span.class="tok-number">42</
85e40 73 70 61 6e 3e 3b 3c 2f 63 6f 64 65 3e 2e 20 54 68 65 20 74 79 70 65 0a 20 20 20 20 20 20 61 6e span>;</code>..The.type.......an
85e60 6e 6f 74 61 74 69 6f 6e 20 68 65 72 65 20 70 72 6f 76 69 64 65 73 20 61 20 72 65 73 75 6c 74 20 notation.here.provides.a.result.
85e80 74 79 70 65 20 6f 66 20 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 type.of.<code><span.class="tok-t
85ea0 79 70 65 22 3e 75 33 32 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 20 74 6f 20 74 68 65 20 69 6e ype">u32</span></code>.to.the.in
85ec0 69 74 69 61 6c 69 7a 61 74 69 6f 6e 20 65 78 70 72 65 73 73 69 6f 6e 0a 20 20 20 20 20 20 3c 63 itialization.expression.......<c
85ee0 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 34 32 3c ode><span.class="tok-number">42<
85f00 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 2c 20 69 6e 73 74 72 75 63 74 69 6e 67 20 74 68 65 20 63 /span></code>,.instructing.the.c
85f20 6f 6d 70 69 6c 65 72 20 74 6f 20 63 6f 65 72 63 65 20 74 68 69 73 20 69 6e 74 65 67 65 72 20 28 ompiler.to.coerce.this.integer.(
85f40 69 6e 69 74 69 61 6c 6c 79 20 6f 66 20 74 79 70 65 0a 20 20 20 20 20 20 3c 63 6f 64 65 3e 3c 73 initially.of.type.......<code><s
85f60 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
85f80 74 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 29 20 74 6f 20 74 68 69 73 20 74 79 70 65 2e 20 57 t</span></code>).to.this.type..W
85fa0 65 20 77 69 6c 6c 20 73 65 65 20 6d 6f 72 65 20 65 78 61 6d 70 6c 65 73 20 73 68 6f 72 74 6c 79 e.will.see.more.examples.shortly
85fc0 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
85fe0 73 20 69 73 20 6e 6f 74 20 61 6e 20 69 6d 70 6c 65 6d 65 6e 74 61 74 69 6f 6e 20 64 65 74 61 69 s.is.not.an.implementation.detai
86000 6c 3a 20 74 68 65 20 6c 6f 67 69 63 20 6f 75 74 6c 69 6e 65 64 20 61 62 6f 76 65 20 69 73 20 63 l:.the.logic.outlined.above.is.c
86020 6f 64 69 66 69 65 64 20 69 6e 74 6f 20 74 68 65 20 5a 69 67 20 6c 61 6e 67 75 61 67 65 0a 20 20 odified.into.the.Zig.language...
86040 20 20 20 20 73 70 65 63 69 66 69 63 61 74 69 6f 6e 2c 20 61 6e 64 20 69 73 20 74 68 65 20 70 72 ....specification,.and.is.the.pr
86060 69 6d 61 72 79 20 6d 65 63 68 61 6e 69 73 6d 20 6f 66 20 74 79 70 65 20 69 6e 66 65 72 65 6e 63 imary.mechanism.of.type.inferenc
86080 65 20 69 6e 20 74 68 65 20 6c 61 6e 67 75 61 67 65 2e 20 54 68 69 73 20 73 79 73 74 65 6d 20 69 e.in.the.language..This.system.i
860a0 73 0a 20 20 20 20 20 20 63 6f 6c 6c 65 63 74 69 76 65 6c 79 20 72 65 66 65 72 72 65 64 20 74 6f s.......collectively.referred.to
860c0 20 61 73 20 22 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 22 2e .as."Result.Location.Semantics".
860e0 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 52 65 73 75 6c 74 .......</p>.......<h3.id="Result
86100 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 52 -Types"><a.href="nav.xhtml#toc-R
86120 65 73 75 6c 74 2d 54 79 70 65 73 22 3e 52 65 73 75 6c 74 20 54 79 70 65 73 3c 2f 61 3e 20 3c 61 esult-Types">Result.Types</a>.<a
86140 20 63 6c 61 73 73 3d 22 68 64 72 22 20 68 72 65 66 3d 22 23 52 65 73 75 6c 74 2d 54 79 70 65 73 .class="hdr".href="#Result-Types
86160 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 52 ">..</a></h3>........<p>.......R
86180 65 73 75 6c 74 20 74 79 70 65 73 20 61 72 65 20 70 72 6f 70 61 67 61 74 65 64 20 72 65 63 75 72 esult.types.are.propagated.recur
861a0 73 69 76 65 6c 79 20 74 68 72 6f 75 67 68 20 65 78 70 72 65 73 73 69 6f 6e 73 20 77 68 65 72 65 sively.through.expressions.where
861c0 20 70 6f 73 73 69 62 6c 65 2e 20 46 6f 72 20 69 6e 73 74 61 6e 63 65 2c 20 69 66 20 74 68 65 0a .possible..For.instance,.if.the.
861e0 20 20 20 20 20 20 65 78 70 72 65 73 73 69 6f 6e 20 3c 63 6f 64 65 3e 26 61 6d 70 3b 65 3c 2f 63 ......expression.<code>&amp;e</c
86200 6f 64 65 3e 20 68 61 73 20 72 65 73 75 6c 74 20 74 79 70 65 20 3c 63 6f 64 65 3e 2a 3c 73 70 61 ode>.has.result.type.<code>*<spa
86220 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 75 33 32 3c 2f 73 70 61 6e 3e 3c 2f 63 n.class="tok-type">u32</span></c
86240 6f 64 65 3e 2c 20 74 68 65 6e 0a 20 20 20 20 20 20 3c 63 6f 64 65 3e 65 3c 2f 63 6f 64 65 3e 20 ode>,.then.......<code>e</code>.
86260 69 73 20 67 69 76 65 6e 20 61 20 72 65 73 75 6c 74 20 74 79 70 65 20 6f 66 20 3c 63 6f 64 65 3e is.given.a.result.type.of.<code>
86280 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
862a0 3e 3c 2f 63 6f 64 65 3e 2c 20 61 6c 6c 6f 77 69 6e 67 20 74 68 65 0a 20 20 20 20 20 20 6c 61 6e ></code>,.allowing.the.......lan
862c0 67 75 61 67 65 20 74 6f 20 70 65 72 66 6f 72 6d 20 74 68 69 73 20 63 6f 65 72 63 69 6f 6e 20 62 guage.to.perform.this.coercion.b
862e0 65 66 6f 72 65 20 74 61 6b 69 6e 67 20 61 20 72 65 66 65 72 65 6e 63 65 2e 0a 20 20 20 20 20 20 efore.taking.a.reference........
86300 3c 2f 70 3e 0a 20 20 20 20 20 20 3c 70 3e 0a 20 20 20 20 20 20 54 68 65 20 72 65 73 75 6c 74 20 </p>.......<p>.......The.result.
86320 74 79 70 65 20 6d 65 63 68 61 6e 69 73 6d 20 69 73 20 75 74 69 6c 69 7a 65 64 20 62 79 20 63 61 type.mechanism.is.utilized.by.ca
86340 73 74 69 6e 67 20 62 75 69 6c 74 69 6e 73 20 73 75 63 68 20 61 73 20 3c 63 6f 64 65 3e 3c 73 70 sting.builtins.such.as.<code><sp
86360 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 62 75 69 6c 74 69 6e 22 3e 40 69 6e 74 43 61 73 74 3c an.class="tok-builtin">@intCast<
86380 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 2e 0a 20 20 20 20 20 20 52 61 74 68 65 72 20 74 68 61 6e /span></code>........Rather.than
863a0 20 74 61 6b 69 6e 67 20 61 73 20 61 6e 20 61 72 67 75 6d 65 6e 74 20 74 68 65 20 74 79 70 65 20 .taking.as.an.argument.the.type.
863c0 74 6f 20 63 61 73 74 20 74 6f 2c 20 74 68 65 73 65 20 62 75 69 6c 74 69 6e 73 20 75 73 65 20 74 to.cast.to,.these.builtins.use.t
863e0 68 65 69 72 20 72 65 73 75 6c 74 20 74 79 70 65 20 74 6f 0a 20 20 20 20 20 20 64 65 74 65 72 6d heir.result.type.to.......determ
86400 69 6e 65 20 74 68 69 73 20 69 6e 66 6f 72 6d 61 74 69 6f 6e 2e 20 54 68 65 20 72 65 73 75 6c 74 ine.this.information..The.result
86420 20 74 79 70 65 20 69 73 20 6f 66 74 65 6e 20 6b 6e 6f 77 6e 20 66 72 6f 6d 20 63 6f 6e 74 65 78 .type.is.often.known.from.contex
86440 74 3b 20 77 68 65 72 65 20 69 74 20 69 73 20 6e 6f 74 2c 20 74 68 65 0a 20 20 20 20 20 20 3c 63 t;.where.it.is.not,.the.......<c
86460 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 62 75 69 6c 74 69 6e 22 3e 40 61 ode><span.class="tok-builtin">@a
86480 73 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 20 62 75 69 6c 74 69 6e 20 63 61 6e 20 62 65 20 75 s</span></code>.builtin.can.be.u
864a0 73 65 64 20 74 6f 20 65 78 70 6c 69 63 69 74 6c 79 20 70 72 6f 76 69 64 65 20 61 20 72 65 73 75 sed.to.explicitly.provide.a.resu
864c0 6c 74 20 74 79 70 65 2e 0a 20 20 20 20 20 20 3c 2f 70 3e 0a 20 20 20 20 20 20 3c 70 3e 0a 20 20 lt.type........</p>.......<p>...
864e0 20 20 20 20 57 65 20 63 61 6e 20 62 72 65 61 6b 20 64 6f 77 6e 20 74 68 65 20 72 65 73 75 6c 74 ....We.can.break.down.the.result
86500 20 74 79 70 65 73 20 66 6f 72 20 65 61 63 68 20 63 6f 6d 70 6f 6e 65 6e 74 20 6f 66 20 61 20 73 .types.for.each.component.of.a.s
86520 69 6d 70 6c 65 20 65 78 70 72 65 73 73 69 6f 6e 20 61 73 20 66 6f 6c 6c 6f 77 73 3a 0a 20 20 20 imple.expression.as.follows:....
86540 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
86560 6e 20 63 6c 61 73 73 3d 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
86580 69 6c 65 22 3e 72 65 73 75 6c 74 5f 74 79 70 65 5f 70 72 6f 70 61 67 61 74 69 6f 6e 2e 7a 69 67 ile">result_type_propagation.zig
865a0 3c 2f 63 69 74 65 3e 3c 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><
865c0 73 70 61 6e 20 63 6c 61 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>
865e0 20 65 78 70 65 63 74 45 71 75 61 6c 20 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d .expectEqual.=.<span.class="tok-
86600 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
86620 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
86640 70 61 6e 3e 29 2e 74 65 73 74 69 6e 67 2e 65 78 70 65 63 74 45 71 75 61 6c 3b 0a 3c 73 70 61 6e pan>).testing.expectEqual;.<span
86660 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
86680 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 73 74 72 22 3e 26 71 75 6f 74 3b 72 65 73 75 6c 74 20 74 n.class="tok-str">&quot;result.t
866a0 79 70 65 20 70 72 6f 70 61 67 61 74 65 73 20 74 68 72 6f 75 67 68 20 73 74 72 75 63 74 20 69 6e ype.propagates.through.struct.in
866c0 69 74 69 61 6c 69 7a 65 72 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 20 7b 0a 20 20 20 20 3c 73 70 itializer&quot;</span>.{.....<sp
866e0 61 6e 20 63 6c 61 73 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
86700 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</
86720 73 70 61 6e 3e 20 7b 20 78 3a 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 span>.{.x:.<span.class="tok-type
86740 22 3e 75 33 32 3c 2f 73 70 61 6e 3e 20 7d 3b 0a 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d ">u32</span>.};.....<span.class=
86760 22 74 6f 6b 2d 6b 77 22 3e 63 6f 6e 73 74 3c 2f 73 70 61 6e 3e 20 76 61 6c 3a 20 3c 73 70 61 6e "tok-kw">const</span>.val:.<span
86780 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 75 36 34 3c 2f 73 70 61 6e 3e 20 3d 20 3c .class="tok-type">u64</span>.=.<
867a0 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 31 32 33 3c 2f 73 70 61 span.class="tok-number">123</spa
867c0 6e 3e 3b 0a 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 63 6f 6e n>;.....<span.class="tok-kw">con
867e0 73 74 3c 2f 73 70 61 6e 3e 20 73 3a 20 53 20 3d 20 2e 7b 20 2e 78 20 3d 20 3c 73 70 61 6e 20 63 st</span>.s:.S.=..{..x.=.<span.c
86800 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 70 61 lass="tok-builtin">@intCast</spa
86820 6e 3e 28 76 61 6c 29 20 7d 3b 0a 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d n>(val).};.....<span.class="tok-
86840 63 6f 6d 6d 65 6e 74 22 3e 2f 2f 20 2e 7b 20 2e 78 20 3d 20 40 69 6e 74 43 61 73 74 28 76 61 6c comment">//..{..x.=.@intCast(val
86860 29 20 7d 20 20 20 68 61 73 20 72 65 73 75 6c 74 20 74 79 70 65 20 60 53 60 20 64 75 65 20 74 6f ).}...has.result.type.`S`.due.to
86880 20 74 68 65 20 74 79 70 65 20 61 6e 6e 6f 74 61 74 69 6f 6e 3c 2f 73 70 61 6e 3e 0a 20 20 20 20 .the.type.annotation</span>.....
868a0 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 63 6f 6d 6d 65 6e 74 22 3e 2f 2f 20 20 20 20 <span.class="tok-comment">//....
868c0 20 20 20 20 20 40 69 6e 74 43 61 73 74 28 76 61 6c 29 20 20 20 20 20 68 61 73 20 72 65 73 75 6c .....@intCast(val).....has.resul
868e0 74 20 74 79 70 65 20 60 75 33 32 60 20 64 75 65 20 74 6f 20 74 68 65 20 74 79 70 65 20 6f 66 20 t.type.`u32`.due.to.the.type.of.
86900 74 68 65 20 66 69 65 6c 64 20 60 53 2e 78 60 3c 2f 73 70 61 6e 3e 0a 20 20 20 20 3c 73 70 61 6e the.field.`S.x`</span>.....<span
86920 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 63 6f 6d 6d 65 6e 74 22 3e 2f 2f 20 20 20 20 20 20 20 20 20 .class="tok-comment">//.........
86940 20 20 20 20 20 20 20 20 20 76 61 6c 20 20 20 20 20 20 68 61 73 20 6e 6f 20 72 65 73 75 6c 74 20 .........val......has.no.result.
86960 74 79 70 65 2c 20 61 73 20 69 74 20 69 73 20 70 65 72 6d 69 74 74 65 64 20 74 6f 20 62 65 20 61 type,.as.it.is.permitted.to.be.a
86980 6e 79 20 69 6e 74 65 67 65 72 20 74 79 70 65 3c 2f 73 70 61 6e 3e 0a 20 20 20 20 3c 73 70 61 6e ny.integer.type</span>.....<span
869a0 20 63 6c 61 73 73 3d 22 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
869c0 74 45 71 75 61 6c 28 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 62 75 69 6c 74 69 6e 22 tEqual(<span.class="tok-builtin"
869e0 3e 40 61 73 3c 2f 73 70 61 6e 3e 28 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 >@as</span>(<span.class="tok-typ
86a00 65 22 3e 75 33 32 3c 2f 73 70 61 6e 3e 2c 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d e">u32</span>,.<span.class="tok-
86a20 6e 75 6d 62 65 72 22 3e 31 32 33 3c 2f 73 70 61 6e 3e 29 2c 20 73 2e 78 29 3b 0a 7d 3c 2f 63 6f number">123</span>),.s.x);.}</co
86a40 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
86a60 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
86a80 69 67 63 61 70 74 69 6f 6e 3e 3c 70 72 65 3e 3c 73 61 6d 70 3e 24 20 3c 6b 62 64 3e 7a 69 67 20 igcaption><pre><samp>$.<kbd>zig.
86aa0 74 65 73 74 20 72 65 73 75 6c 74 5f 74 79 70 65 5f 70 72 6f 70 61 67 61 74 69 6f 6e 2e 7a 69 67 test.result_type_propagation.zig
86ac0 3c 2f 6b 62 64 3e 0a 31 2f 31 20 72 65 73 75 6c 74 5f 74 79 70 65 5f 70 72 6f 70 61 67 61 74 69 </kbd>.1/1.result_type_propagati
86ae0 6f 6e 2e 74 65 73 74 2e 72 65 73 75 6c 74 20 74 79 70 65 20 70 72 6f 70 61 67 61 74 65 73 20 74 on.test.result.type.propagates.t
86b00 68 72 6f 75 67 68 20 73 74 72 75 63 74 20 69 6e 69 74 69 61 6c 69 7a 65 72 2e 2e 2e 4f 4b 0a 41 hrough.struct.initializer...OK.A
86b20 6c 6c 20 31 20 74 65 73 74 73 20 70 61 73 73 65 64 2e 0a 3c 2f 73 61 6d 70 3e 3c 2f 70 72 65 3e ll.1.tests.passed..</samp></pre>
86b40 3c 2f 66 69 67 75 72 65 3e 0a 0a 20 20 20 20 20 20 3c 70 3e 0a 20 20 20 20 20 20 54 68 69 73 20 </figure>........<p>.......This.
86b60 72 65 73 75 6c 74 20 74 79 70 65 20 69 6e 66 6f 72 6d 61 74 69 6f 6e 20 69 73 20 75 73 65 66 75 result.type.information.is.usefu
86b80 6c 20 66 6f 72 20 74 68 65 20 61 66 6f 72 65 6d 65 6e 74 69 6f 6e 65 64 20 63 61 73 74 20 62 75 l.for.the.aforementioned.cast.bu
86ba0 69 6c 74 69 6e 73 2c 20 61 73 20 77 65 6c 6c 20 61 73 20 74 6f 20 61 76 6f 69 64 0a 20 20 20 20 iltins,.as.well.as.to.avoid.....
86bc0 20 20 74 68 65 20 63 6f 6e 73 74 72 75 63 74 69 6f 6e 20 6f 66 20 70 72 65 2d 63 6f 65 72 63 69 ..the.construction.of.pre-coerci
86be0 6f 6e 20 76 61 6c 75 65 73 2c 20 61 6e 64 20 74 6f 20 61 76 6f 69 64 20 74 68 65 20 6e 65 65 64 on.values,.and.to.avoid.the.need
86c00 20 66 6f 72 20 65 78 70 6c 69 63 69 74 20 74 79 70 65 20 63 6f 65 72 63 69 6f 6e 73 20 69 6e 20 .for.explicit.type.coercions.in.
86c20 73 6f 6d 65 0a 20 20 20 20 20 20 63 61 73 65 73 2e 20 54 68 65 20 66 6f 6c 6c 6f 77 69 6e 67 20 some.......cases..The.following.
86c40 74 61 62 6c 65 20 64 65 74 61 69 6c 73 20 68 6f 77 20 73 6f 6d 65 20 63 6f 6d 6d 6f 6e 20 65 78 table.details.how.some.common.ex
86c60 70 72 65 73 73 69 6f 6e 73 20 70 72 6f 70 61 67 61 74 65 20 72 65 73 75 6c 74 20 74 79 70 65 73 pressions.propagate.result.types
86c80 2c 20 77 68 65 72 65 0a 20 20 20 20 20 20 3c 63 6f 64 65 3e 78 3c 2f 63 6f 64 65 3e 20 61 6e 64 ,.where.......<code>x</code>.and
86ca0 20 3c 63 6f 64 65 3e 79 3c 2f 63 6f 64 65 3e 20 61 72 65 20 61 72 62 69 74 72 61 72 79 20 73 75 .<code>y</code>.are.arbitrary.su
86cc0 62 2d 65 78 70 72 65 73 73 69 6f 6e 73 2e 0a 20 20 20 20 20 20 3c 2f 70 3e 0a 20 20 20 20 20 20 b-expressions........</p>.......
86ce0 3c 64 69 76 20 63 6c 61 73 73 3d 22 74 61 62 6c 65 2d 77 72 61 70 70 65 72 22 3e 0a 20 20 20 20 <div.class="table-wrapper">.....
86d00 20 20 3c 74 61 62 6c 65 3e 0a 20 20 20 20 20 20 20 20 3c 74 68 65 61 64 3e 0a 20 20 20 20 20 20 ..<table>.........<thead>.......
86d20 20 20 20 20 3c 74 72 3e 0a 20 20 20 20 20 20 20 20 20 20 20 20 3c 74 68 20 73 63 6f 70 65 3d 22 ....<tr>.............<th.scope="
86d40 63 6f 6c 22 3e 45 78 70 72 65 73 73 69 6f 6e 3c 2f 74 68 3e 0a 20 20 20 20 20 20 20 20 20 20 20 col">Expression</th>............
86d60 20 3c 74 68 20 73 63 6f 70 65 3d 22 63 6f 6c 22 3e 50 61 72 65 6e 74 20 52 65 73 75 6c 74 20 54 .<th.scope="col">Parent.Result.T
86d80 79 70 65 3c 2f 74 68 3e 0a 20 20 20 20 20 20 20 20 20 20 20 20 3c 74 68 20 73 63 6f 70 65 3d 22 ype</th>.............<th.scope="
86da0 63 6f 6c 22 3e 53 75 62 2d 65 78 70 72 65 73 73 69 6f 6e 20 52 65 73 75 6c 74 20 54 79 70 65 3c col">Sub-expression.Result.Type<
86dc0 2f 74 68 3e 0a 20 20 20 20 20 20 20 20 20 20 3c 2f 74 72 3e 0a 20 20 20 20 20 20 20 20 3c 2f 74 /th>...........</tr>.........</t
86de0 68 65 61 64 3e 0a 20 20 20 20 20 20 20 20 3c 74 62 6f 64 79 3e 0a 20 20 20 20 20 20 20 20 20 20 head>.........<tbody>...........
86e00 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"
86e20 3e 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 63 6f 6e 73 ><code><span.class="tok-kw">cons
86e40 74 3c 2f 73 70 61 6e 3e 20 76 61 6c 3a 20 54 20 3d 20 78 3c 2f 63 6f 64 65 3e 3c 2f 74 68 3e 0a t</span>.val:.T.=.x</code></th>.
86e60 20 20 20 20 20 20 20 20 20 20 20 20 3c 74 64 3e 2d 3c 2f 74 64 3e 0a 20 20 20 20 20 20 20 20 20 ............<td>-</td>..........
86e80 20 20 20 3c 74 64 3e 3c 63 6f 64 65 3e 78 3c 2f 63 6f 64 65 3e 20 69 73 20 61 20 3c 63 6f 64 65 ...<td><code>x</code>.is.a.<code
86ea0 3e 54 3c 2f 63 6f 64 65 3e 3c 2f 74 64 3e 0a 20 20 20 20 20 20 20 20 20 20 3c 2f 74 72 3e 0a 20 >T</code></td>...........</tr>..
86ec0 20 20 20 20 20 20 20 20 20 3c 74 72 3e 0a 20 20 20 20 20 20 20 20 20 20 20 20 3c 74 68 20 73 63 .........<tr>.............<th.sc
86ee0 6f 70 65 3d 22 72 6f 77 22 3e 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b ope="row"><code><span.class="tok
86f00 2d 6b 77 22 3e 76 61 72 3c 2f 73 70 61 6e 3e 20 76 61 6c 3a 20 54 20 3d 20 78 3c 2f 63 6f 64 65 -kw">var</span>.val:.T.=.x</code
86f20 3e 3c 2f 74 68 3e 0a 20 20 20 20 20 20 20 20 20 20 20 20 3c 74 64 3e 2d 3c 2f 74 64 3e 0a 20 20 ></th>.............<td>-</td>...
86f40 20 20 20 20 20 20 20 20 20 20 3c 74 64 3e 3c 63 6f 64 65 3e 78 3c 2f 63 6f 64 65 3e 20 69 73 20 ..........<td><code>x</code>.is.
86f60 61 20 3c 63 6f 64 65 3e 54 3c 2f 63 6f 64 65 3e 3c 2f 74 64 3e 0a 20 20 20 20 20 20 20 20 20 20 a.<code>T</code></td>...........
86f80 3c 2f 74 72 3e 0a 20 20 20 20 20 20 20 20 20 20 3c 74 72 3e 0a 20 20 20 20 20 20 20 20 20 20 20 </tr>...........<tr>............
86fa0 20 3c 74 68 20 73 63 6f 70 65 3d 22 72 6f 77 22 3e 3c 63 6f 64 65 3e 76 61 6c 20 3d 20 78 3c 2f .<th.scope="row"><code>val.=.x</
86fc0 63 6f 64 65 3e 3c 2f 74 68 3e 0a 20 20 20 20 20 20 20 20 20 20 20 20 3c 74 64 3e 2d 3c 2f 74 64 code></th>.............<td>-</td
86fe0 3e 0a 20 20 20 20 20 20 20 20 20 20 20 20 3c 74 64 3e 3c 63 6f 64 65 3e 78 3c 2f 63 6f 64 65 3e >.............<td><code>x</code>
87000 20 69 73 20 61 20 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 62 75 69 .is.a.<code><span.class="tok-bui
87020 6c 74 69 6e 22 3e 40 54 79 70 65 4f 66 3c 2f 73 70 61 6e 3e 28 76 61 6c 29 3c 2f 63 6f 64 65 3e ltin">@TypeOf</span>(val)</code>
87040 3c 2f 74 64 3e 0a 20 20 20 20 20 20 20 20 20 20 3c 2f 74 72 3e 0a 20 20 20 20 20 20 20 20 20 20 </td>...........</tr>...........
87060 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"
87080 3e 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 62 75 69 6c 74 69 6e 22 ><code><span.class="tok-builtin"
870a0 3e 40 61 73 3c 2f 73 70 61 6e 3e 28 54 2c 20 78 29 3c 2f 63 6f 64 65 3e 3c 2f 74 68 3e 0a 20 20 >@as</span>(T,.x)</code></th>...
870c0 20 20 20 20 20 20 20 20 20 20 3c 74 64 3e 2d 3c 2f 74 64 3e 0a 20 20 20 20 20 20 20 20 20 20 20 ..........<td>-</td>............
870e0 20 3c 74 64 3e 3c 63 6f 64 65 3e 78 3c 2f 63 6f 64 65 3e 20 69 73 20 61 20 3c 63 6f 64 65 3e 54 .<td><code>x</code>.is.a.<code>T
87100 3c 2f 63 6f 64 65 3e 3c 2f 74 64 3e 0a 20 20 20 20 20 20 20 20 20 20 3c 2f 74 72 3e 0a 20 20 20 </code></td>...........</tr>....
87120 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
87140 65 3d 22 72 6f 77 22 3e 3c 63 6f 64 65 3e 26 61 6d 70 3b 78 3c 2f 63 6f 64 65 3e 3c 2f 74 68 3e e="row"><code>&amp;x</code></th>
87160 0a 20 20 20 20 20 20 20 20 20 20 20 20 3c 74 64 3e 3c 63 6f 64 65 3e 2a 54 3c 2f 63 6f 64 65 3e .............<td><code>*T</code>
87180 3c 2f 74 64 3e 0a 20 20 20 20 20 20 20 20 20 20 20 20 3c 74 64 3e 3c 63 6f 64 65 3e 78 3c 2f 63 </td>.............<td><code>x</c
871a0 6f 64 65 3e 20 69 73 20 61 20 3c 63 6f 64 65 3e 54 3c 2f 63 6f 64 65 3e 3c 2f 74 64 3e 0a 20 20 ode>.is.a.<code>T</code></td>...
871c0 20 20 20 20 20 20 20 20 3c 2f 74 72 3e 0a 20 20 20 20 20 20 20 20 20 20 3c 74 72 3e 0a 20 20 20 ........</tr>...........<tr>....
871e0 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 26 .........<th.scope="row"><code>&
87200 61 6d 70 3b 78 3c 2f 63 6f 64 65 3e 3c 2f 74 68 3e 0a 20 20 20 20 20 20 20 20 20 20 20 20 3c 74 amp;x</code></th>.............<t
87220 64 3e 3c 63 6f 64 65 3e 5b 5d 54 3c 2f 63 6f 64 65 3e 3c 2f 74 64 3e 0a 20 20 20 20 20 20 20 20 d><code>[]T</code></td>.........
87240 20 20 20 20 3c 74 64 3e 3c 63 6f 64 65 3e 78 3c 2f 63 6f 64 65 3e 20 69 73 20 73 6f 6d 65 20 61 ....<td><code>x</code>.is.some.a
87260 72 72 61 79 20 6f 66 20 3c 63 6f 64 65 3e 54 3c 2f 63 6f 64 65 3e 3c 2f 74 64 3e 0a 20 20 20 20 rray.of.<code>T</code></td>.....
87280 20 20 20 20 20 20 3c 2f 74 72 3e 0a 20 20 20 20 20 20 20 20 20 20 3c 74 72 3e 0a 20 20 20 20 20 ......</tr>...........<tr>......
872a0 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 66 28 78 .......<th.scope="row"><code>f(x
872c0 29 3c 2f 63 6f 64 65 3e 3c 2f 74 68 3e 0a 20 20 20 20 20 20 20 20 20 20 20 20 3c 74 64 3e 2d 3c )</code></th>.............<td>-<
872e0 2f 74 64 3e 0a 20 20 20 20 20 20 20 20 20 20 20 20 3c 74 64 3e 3c 63 6f 64 65 3e 78 3c 2f 63 6f /td>.............<td><code>x</co
87300 64 65 3e 20 68 61 73 20 74 68 65 20 74 79 70 65 20 6f 66 20 74 68 65 20 66 69 72 73 74 20 70 61 de>.has.the.type.of.the.first.pa
87320 72 61 6d 65 74 65 72 20 6f 66 20 3c 63 6f 64 65 3e 66 3c 2f 63 6f 64 65 3e 3c 2f 74 64 3e 0a 20 rameter.of.<code>f</code></td>..
87340 20 20 20 20 20 20 20 20 20 3c 2f 74 72 3e 0a 20 20 20 20 20 20 20 20 20 20 3c 74 72 3e 0a 20 20 .........</tr>...........<tr>...
87360 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>
87380 2e 7b 78 7d 3c 2f 63 6f 64 65 3e 3c 2f 74 68 3e 0a 20 20 20 20 20 20 20 20 20 20 20 20 3c 74 64 .{x}</code></th>.............<td
873a0 3e 3c 63 6f 64 65 3e 54 3c 2f 63 6f 64 65 3e 3c 2f 74 64 3e 0a 20 20 20 20 20 20 20 20 20 20 20 ><code>T</code></td>............
873c0 20 3c 74 64 3e 3c 63 6f 64 65 3e 78 3c 2f 63 6f 64 65 3e 20 69 73 20 61 20 3c 63 6f 64 65 3e 3c .<td><code>x</code>.is.a.<code><
873e0 73 70 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 69 65 6c 64 54 span.class="tok-builtin">@FieldT
87400 79 70 65 3c 2f 73 70 61 6e 3e 28 54 2c 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 73 ype</span>(T,.<span.class="tok-s
87420 74 72 22 3e 26 71 75 6f 74 3b 30 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 29 3c 2f 63 6f 64 65 3e tr">&quot;0&quot;</span>)</code>
87440 3c 2f 74 64 3e 0a 20 20 20 20 20 20 20 20 20 20 3c 2f 74 72 3e 0a 20 20 20 20 20 20 20 20 20 20 </td>...........</tr>...........
87460 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"
87480 3e 3c 63 6f 64 65 3e 2e 7b 20 2e 61 20 3d 20 78 20 7d 3c 2f 63 6f 64 65 3e 3c 2f 74 68 3e 0a 20 ><code>.{..a.=.x.}</code></th>..
874a0 20 20 20 20 20 20 20 20 20 20 20 3c 74 64 3e 3c 63 6f 64 65 3e 54 3c 2f 63 6f 64 65 3e 3c 2f 74 ...........<td><code>T</code></t
874c0 64 3e 0a 20 20 20 20 20 20 20 20 20 20 20 20 3c 74 64 3e 3c 63 6f 64 65 3e 78 3c 2f 63 6f 64 65 d>.............<td><code>x</code
874e0 3e 20 69 73 20 61 20 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 62 75 >.is.a.<code><span.class="tok-bu
87500 69 6c 74 69 6e 22 3e 40 46 69 65 6c 64 54 79 70 65 3c 2f 73 70 61 6e 3e 28 54 2c 20 3c 73 70 61 iltin">@FieldType</span>(T,.<spa
87520 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 73 74 72 22 3e 26 71 75 6f 74 3b 61 26 71 75 6f 74 3b 3c n.class="tok-str">&quot;a&quot;<
87540 2f 73 70 61 6e 3e 29 3c 2f 63 6f 64 65 3e 3c 2f 74 64 3e 0a 20 20 20 20 20 20 20 20 20 20 3c 2f /span>)</code></td>...........</
87560 74 72 3e 0a 20 20 20 20 20 20 20 20 20 20 3c 74 72 3e 0a 20 20 20 20 20 20 20 20 20 20 20 20 3c tr>...........<tr>.............<
87580 74 68 20 73 63 6f 70 65 3d 22 72 6f 77 22 3e 3c 63 6f 64 65 3e 54 7b 78 7d 3c 2f 63 6f 64 65 3e th.scope="row"><code>T{x}</code>
875a0 3c 2f 74 68 3e 0a 20 20 20 20 20 20 20 20 20 20 20 20 3c 74 64 3e 2d 3c 2f 74 64 3e 0a 20 20 20 </th>.............<td>-</td>....
875c0 20 20 20 20 20 20 20 20 20 3c 74 64 3e 3c 63 6f 64 65 3e 78 3c 2f 63 6f 64 65 3e 20 69 73 20 61 .........<td><code>x</code>.is.a
875e0 20 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 62 75 69 6c 74 69 6e 22 .<code><span.class="tok-builtin"
87600 3e 40 46 69 65 6c 64 54 79 70 65 3c 2f 73 70 61 6e 3e 28 54 2c 20 3c 73 70 61 6e 20 63 6c 61 73 >@FieldType</span>(T,.<span.clas
87620 73 3d 22 74 6f 6b 2d 73 74 72 22 3e 26 71 75 6f 74 3b 30 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e s="tok-str">&quot;0&quot;</span>
87640 29 3c 2f 63 6f 64 65 3e 3c 2f 74 64 3e 0a 20 20 20 20 20 20 20 20 20 20 3c 2f 74 72 3e 0a 20 20 )</code></td>...........</tr>...
87660 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
87680 70 65 3d 22 72 6f 77 22 3e 3c 63 6f 64 65 3e 54 7b 20 2e 61 20 3d 20 78 20 7d 3c 2f 63 6f 64 65 pe="row"><code>T{..a.=.x.}</code
876a0 3e 3c 2f 74 68 3e 0a 20 20 20 20 20 20 20 20 20 20 20 20 3c 74 64 3e 2d 3c 2f 74 64 3e 0a 20 20 ></th>.............<td>-</td>...
876c0 20 20 20 20 20 20 20 20 20 20 3c 74 64 3e 3c 63 6f 64 65 3e 78 3c 2f 63 6f 64 65 3e 20 69 73 20 ..........<td><code>x</code>.is.
876e0 61 20 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 62 75 69 6c 74 69 6e a.<code><span.class="tok-builtin
87700 22 3e 40 46 69 65 6c 64 54 79 70 65 3c 2f 73 70 61 6e 3e 28 54 2c 20 3c 73 70 61 6e 20 63 6c 61 ">@FieldType</span>(T,.<span.cla
87720 73 73 3d 22 74 6f 6b 2d 73 74 72 22 3e 26 71 75 6f 74 3b 61 26 71 75 6f 74 3b 3c 2f 73 70 61 6e ss="tok-str">&quot;a&quot;</span
87740 3e 29 3c 2f 63 6f 64 65 3e 3c 2f 74 64 3e 0a 20 20 20 20 20 20 20 20 20 20 3c 2f 74 72 3e 0a 20 >)</code></td>...........</tr>..
87760 20 20 20 20 20 20 20 20 20 3c 74 72 3e 0a 20 20 20 20 20 20 20 20 20 20 20 20 3c 74 68 20 73 63 .........<tr>.............<th.sc
87780 6f 70 65 3d 22 72 6f 77 22 3e 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b ope="row"><code><span.class="tok
877a0 2d 62 75 69 6c 74 69 6e 22 3e 40 49 6e 74 3c 2f 73 70 61 6e 3e 28 78 2c 20 79 29 3c 2f 63 6f 64 -builtin">@Int</span>(x,.y)</cod
877c0 65 3e 3c 2f 74 68 3e 0a 20 20 20 20 20 20 20 20 20 20 20 20 3c 74 64 3e 2d 3c 2f 74 64 3e 0a 20 e></th>.............<td>-</td>..
877e0 20 20 20 20 20 20 20 20 20 20 20 3c 74 64 3e 3c 63 6f 64 65 3e 78 3c 2f 63 6f 64 65 3e 20 69 73 ...........<td><code>x</code>.is
87800 20 61 20 3c 63 6f 64 65 3e 73 74 64 2e 6c 61 6e 67 2e 53 69 67 6e 65 64 6e 65 73 73 3c 2f 63 6f .a.<code>std.lang.Signedness</co
87820 64 65 3e 2c 20 3c 63 6f 64 65 3e 79 3c 2f 63 6f 64 65 3e 20 69 73 20 61 20 3c 63 6f 64 65 3e 3c de>,.<code>y</code>.is.a.<code><
87840 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>
87860 3c 2f 63 6f 64 65 3e 3c 2f 74 64 3e 0a 20 20 20 20 20 20 20 20 20 20 3c 2f 74 72 3e 0a 20 20 20 </code></td>...........</tr>....
87880 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
878a0 65 3d 22 72 6f 77 22 3e 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 62 e="row"><code><span.class="tok-b
878c0 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 78 29 3c 2f 63 6f 64 uiltin">@typeInfo</span>(x)</cod
878e0 65 3e 3c 2f 74 68 3e 0a 20 20 20 20 20 20 20 20 20 20 20 20 3c 74 64 3e 2d 3c 2f 74 64 3e 0a 20 e></th>.............<td>-</td>..
87900 20 20 20 20 20 20 20 20 20 20 20 3c 74 64 3e 3c 63 6f 64 65 3e 78 3c 2f 63 6f 64 65 3e 20 69 73 ...........<td><code>x</code>.is
87920 20 61 20 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e .a.<code><span.class="tok-type">
87940 74 79 70 65 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 3c 2f 74 64 3e 0a 20 20 20 20 20 20 20 20 type</span></code></td>.........
87960 20 20 3c 2f 74 72 3e 0a 20 20 20 20 20 20 20 20 20 20 3c 74 72 3e 0a 20 20 20 20 20 20 20 20 20 ..</tr>...........<tr>..........
87980 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 78 20 26 6c 74 3b 26 ...<th.scope="row"><code>x.&lt;&
879a0 6c 74 3b 20 79 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 lt;.y</code></th>.............<t
879c0 64 3e 2d 3c 2f 74 64 3e 0a 20 20 20 20 20 20 20 20 20 20 20 20 3c 74 64 3e 3c 63 6f 64 65 3e 79 d>-</td>.............<td><code>y
879e0 3c 2f 63 6f 64 65 3e 20 69 73 20 61 20 3c 63 6f 64 65 3e 73 74 64 2e 6d 61 74 68 2e 4c 6f 67 32 </code>.is.a.<code>std.math.Log2
87a00 49 6e 74 43 65 69 6c 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 IntCeil(<span.class="tok-builtin
87a20 22 3e 40 54 79 70 65 4f 66 3c 2f 73 70 61 6e 3e 28 78 29 29 3c 2f 63 6f 64 65 3e 3c 2f 74 64 3e ">@TypeOf</span>(x))</code></td>
87a40 0a 20 20 20 20 20 20 20 20 20 20 3c 2f 74 72 3e 0a 20 20 20 20 20 20 20 20 3c 2f 74 62 6f 64 79 ...........</tr>.........</tbody
87a60 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>...
87a80 20 20 20 20 0a 20 20 20 20 20 20 3c 68 33 20 69 64 3d 22 52 65 73 75 6c 74 2d 4c 6f 63 61 74 69 ...........<h3.id="Result-Locati
87aa0 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 52 65 73 75 ons"><a.href="nav.xhtml#toc-Resu
87ac0 6c 74 2d 4c 6f 63 61 74 69 6f 6e 73 22 3e 52 65 73 75 6c 74 20 4c 6f 63 61 74 69 6f 6e 73 3c 2f lt-Locations">Result.Locations</
87ae0 61 3e 20 3c 61 20 63 6c 61 73 73 3d 22 68 64 72 22 20 68 72 65 66 3d 22 23 52 65 73 75 6c 74 2d a>.<a.class="hdr".href="#Result-
87b00 4c 6f 63 61 74 69 6f 6e 73 22 3e c2 a7 3c 2f 61 3e 3c 2f 68 33 3e 0a 0a 20 20 20 20 20 20 3c 70 Locations">..</a></h3>........<p
87b20 3e 0a 20 20 20 20 20 20 49 6e 20 61 64 64 69 74 69 6f 6e 20 74 6f 20 72 65 73 75 6c 74 20 74 79 >.......In.addition.to.result.ty
87b40 70 65 20 69 6e 66 6f 72 6d 61 74 69 6f 6e 2c 20 65 76 65 72 79 20 65 78 70 72 65 73 73 69 6f 6e pe.information,.every.expression
87b60 20 6d 61 79 20 62 65 20 6f 70 74 69 6f 6e 61 6c 6c 79 20 61 73 73 69 67 6e 65 64 20 61 20 72 65 .may.be.optionally.assigned.a.re
87b80 73 75 6c 74 0a 20 20 20 20 20 20 6c 6f 63 61 74 69 6f 6e 3a 20 61 20 70 6f 69 6e 74 65 72 20 74 sult.......location:.a.pointer.t
87ba0 6f 20 77 68 69 63 68 20 74 68 65 20 76 61 6c 75 65 20 6d 75 73 74 20 62 65 20 64 69 72 65 63 74 o.which.the.value.must.be.direct
87bc0 6c 79 20 77 72 69 74 74 65 6e 2e 20 54 68 69 73 20 73 79 73 74 65 6d 20 63 61 6e 20 62 65 20 75 ly.written..This.system.can.be.u
87be0 73 65 64 20 74 6f 20 70 72 65 76 65 6e 74 0a 20 20 20 20 20 20 69 6e 74 65 72 6d 65 64 69 61 74 sed.to.prevent.......intermediat
87c00 65 20 63 6f 70 69 65 73 20 77 68 65 6e 20 69 6e 69 74 69 61 6c 69 7a 69 6e 67 20 64 61 74 61 20 e.copies.when.initializing.data.
87c20 73 74 72 75 63 74 75 72 65 73 2c 20 77 68 69 63 68 20 63 61 6e 20 62 65 20 69 6d 70 6f 72 74 61 structures,.which.can.be.importa
87c40 6e 74 20 66 6f 72 20 74 79 70 65 73 20 77 68 69 63 68 20 6d 75 73 74 0a 20 20 20 20 20 20 68 61 nt.for.types.which.must.......ha
87c60 76 65 20 61 20 66 69 78 65 64 20 6d 65 6d 6f 72 79 20 61 64 64 72 65 73 73 20 28 22 70 69 6e 6e ve.a.fixed.memory.address.("pinn
87c80 65 64 22 20 74 79 70 65 73 29 2e 0a 20 20 20 20 20 20 3c 2f 70 3e 0a 20 20 20 20 20 20 3c 70 3e ed".types)........</p>.......<p>
87ca0 0a 20 20 20 20 20 20 57 68 65 6e 20 63 6f 6d 70 69 6c 69 6e 67 20 74 68 65 20 73 69 6d 70 6c 65 .......When.compiling.the.simple
87cc0 20 61 73 73 69 67 6e 6d 65 6e 74 20 65 78 70 72 65 73 73 69 6f 6e 20 3c 63 6f 64 65 3e 78 20 3d .assignment.expression.<code>x.=
87ce0 20 65 3c 2f 63 6f 64 65 3e 2c 20 6d 61 6e 79 20 6c 61 6e 67 75 61 67 65 73 20 77 6f 75 6c 64 0a .e</code>,.many.languages.would.
87d00 20 20 20 20 20 20 63 72 65 61 74 65 20 74 68 65 20 74 65 6d 70 6f 72 61 72 79 20 76 61 6c 75 65 ......create.the.temporary.value
87d20 20 3c 63 6f 64 65 3e 65 3c 2f 63 6f 64 65 3e 20 6f 6e 20 74 68 65 20 73 74 61 63 6b 2c 20 61 6e .<code>e</code>.on.the.stack,.an
87d40 64 20 74 68 65 6e 20 61 73 73 69 67 6e 20 69 74 20 74 6f 0a 20 20 20 20 20 20 3c 63 6f 64 65 3e d.then.assign.it.to.......<code>
87d60 78 3c 2f 63 6f 64 65 3e 2c 20 70 6f 74 65 6e 74 69 61 6c 6c 79 20 70 65 72 66 6f 72 6d 69 6e 67 x</code>,.potentially.performing
87d80 20 61 20 74 79 70 65 20 63 6f 65 72 63 69 6f 6e 20 69 6e 20 74 68 65 20 70 72 6f 63 65 73 73 2e .a.type.coercion.in.the.process.
87da0 20 5a 69 67 20 61 70 70 72 6f 61 63 68 65 73 20 74 68 69 73 0a 20 20 20 20 20 20 64 69 66 66 65 .Zig.approaches.this.......diffe
87dc0 72 65 6e 74 6c 79 2e 20 54 68 65 20 65 78 70 72 65 73 73 69 6f 6e 20 3c 63 6f 64 65 3e 65 3c 2f rently..The.expression.<code>e</
87de0 63 6f 64 65 3e 20 69 73 20 67 69 76 65 6e 20 61 20 72 65 73 75 6c 74 20 74 79 70 65 20 6d 61 74 code>.is.given.a.result.type.mat
87e00 63 68 69 6e 67 20 74 68 65 20 74 79 70 65 20 6f 66 0a 20 20 20 20 20 20 3c 63 6f 64 65 3e 78 3c ching.the.type.of.......<code>x<
87e20 2f 63 6f 64 65 3e 2c 20 61 6e 64 20 61 20 72 65 73 75 6c 74 20 6c 6f 63 61 74 69 6f 6e 20 6f 66 /code>,.and.a.result.location.of
87e40 20 3c 63 6f 64 65 3e 26 61 6d 70 3b 78 3c 2f 63 6f 64 65 3e 2e 20 46 6f 72 20 6d 61 6e 79 20 73 .<code>&amp;x</code>..For.many.s
87e60 79 6e 74 61 63 74 69 63 0a 20 20 20 20 20 20 66 6f 72 6d 73 20 6f 66 20 3c 63 6f 64 65 3e 65 3c yntactic.......forms.of.<code>e<
87e80 2f 63 6f 64 65 3e 2c 20 74 68 69 73 20 68 61 73 20 6e 6f 20 70 72 61 63 74 69 63 61 6c 20 69 6d /code>,.this.has.no.practical.im
87ea0 70 61 63 74 2e 20 48 6f 77 65 76 65 72 2c 20 69 74 20 63 61 6e 20 68 61 76 65 20 69 6d 70 6f 72 pact..However,.it.can.have.impor
87ec0 74 61 6e 74 0a 20 20 20 20 20 20 73 65 6d 61 6e 74 69 63 20 65 66 66 65 63 74 73 20 77 68 65 6e tant.......semantic.effects.when
87ee0 20 77 6f 72 6b 69 6e 67 20 77 69 74 68 20 6d 6f 72 65 20 63 6f 6d 70 6c 65 78 20 73 79 6e 74 61 .working.with.more.complex.synta
87f00 78 20 66 6f 72 6d 73 2e 0a 20 20 20 20 20 20 3c 2f 70 3e 0a 20 20 20 20 20 20 3c 70 3e 0a 20 20 x.forms........</p>.......<p>...
87f20 20 20 20 20 46 6f 72 20 69 6e 73 74 61 6e 63 65 2c 20 69 66 20 74 68 65 20 65 78 70 72 65 73 73 ....For.instance,.if.the.express
87f40 69 6f 6e 20 3c 63 6f 64 65 3e 2e 7b 20 2e 61 20 3d 20 78 2c 20 2e 62 20 3d 20 79 20 7d 3c 2f 63 ion.<code>.{..a.=.x,..b.=.y.}</c
87f60 6f 64 65 3e 20 68 61 73 20 61 20 72 65 73 75 6c 74 20 6c 6f 63 61 74 69 6f 6e 20 6f 66 0a 20 20 ode>.has.a.result.location.of...
87f80 20 20 20 20 3c 63 6f 64 65 3e 70 74 72 3c 2f 63 6f 64 65 3e 2c 20 74 68 65 6e 20 3c 63 6f 64 65 ....<code>ptr</code>,.then.<code
87fa0 3e 78 3c 2f 63 6f 64 65 3e 20 69 73 20 67 69 76 65 6e 20 61 20 72 65 73 75 6c 74 20 6c 6f 63 61 >x</code>.is.given.a.result.loca
87fc0 74 69 6f 6e 20 6f 66 0a 20 20 20 20 20 20 3c 63 6f 64 65 3e 26 61 6d 70 3b 70 74 72 2e 61 3c 2f tion.of.......<code>&amp;ptr.a</
87fe0 63 6f 64 65 3e 2c 20 61 6e 64 20 3c 63 6f 64 65 3e 79 3c 2f 63 6f 64 65 3e 20 61 20 72 65 73 75 code>,.and.<code>y</code>.a.resu
88000 6c 74 20 6c 6f 63 61 74 69 6f 6e 20 6f 66 20 3c 63 6f 64 65 3e 26 61 6d 70 3b 70 74 72 2e 62 3c lt.location.of.<code>&amp;ptr.b<
88020 2f 63 6f 64 65 3e 2e 0a 20 20 20 20 20 20 57 69 74 68 6f 75 74 20 74 68 69 73 20 73 79 73 74 65 /code>........Without.this.syste
88040 6d 2c 20 74 68 69 73 20 65 78 70 72 65 73 73 69 6f 6e 20 77 6f 75 6c 64 20 63 6f 6e 73 74 72 75 m,.this.expression.would.constru
88060 63 74 20 61 20 74 65 6d 70 6f 72 61 72 79 20 73 74 72 75 63 74 20 76 61 6c 75 65 20 65 6e 74 69 ct.a.temporary.struct.value.enti
88080 72 65 6c 79 20 6f 6e 20 74 68 65 20 73 74 61 63 6b 2c 20 61 6e 64 0a 20 20 20 20 20 20 6f 6e 6c rely.on.the.stack,.and.......onl
880a0 79 20 74 68 65 6e 20 63 6f 70 79 20 69 74 20 74 6f 20 74 68 65 20 64 65 73 74 69 6e 61 74 69 6f y.then.copy.it.to.the.destinatio
880c0 6e 20 61 64 64 72 65 73 73 2e 20 49 6e 20 65 73 73 65 6e 63 65 2c 20 5a 69 67 20 64 65 73 75 67 n.address..In.essence,.Zig.desug
880e0 61 72 73 20 74 68 65 20 61 73 73 69 67 6e 6d 65 6e 74 0a 20 20 20 20 20 20 3c 63 6f 64 65 3e 66 ars.the.assignment.......<code>f
88100 6f 6f 20 3d 20 2e 7b 20 2e 61 20 3d 20 78 2c 20 2e 62 20 3d 20 79 20 7d 3c 2f 63 6f 64 65 3e 20 oo.=..{..a.=.x,..b.=.y.}</code>.
88120 74 6f 20 74 68 65 20 74 77 6f 20 73 74 61 74 65 6d 65 6e 74 73 20 3c 63 6f 64 65 3e 66 6f 6f 2e to.the.two.statements.<code>foo.
88140 61 20 3d 20 78 3b 20 66 6f 6f 2e 62 20 3d 20 79 3b 3c 2f 63 6f 64 65 3e 2e 0a 20 20 20 20 20 20 a.=.x;.foo.b.=.y;</code>........
88160 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 63 61 6e 20 73 6f </p>.......<p>.......This.can.so
88180 6d 65 74 69 6d 65 73 20 62 65 20 69 6d 70 6f 72 74 61 6e 74 20 77 68 65 6e 20 61 73 73 69 67 6e metimes.be.important.when.assign
881a0 69 6e 67 20 61 6e 20 61 67 67 72 65 67 61 74 65 20 76 61 6c 75 65 20 77 68 65 72 65 20 74 68 65 ing.an.aggregate.value.where.the
881c0 20 69 6e 69 74 69 61 6c 69 7a 61 74 69 6f 6e 0a 20 20 20 20 20 20 65 78 70 72 65 73 73 69 6f 6e .initialization.......expression
881e0 20 64 65 70 65 6e 64 73 20 6f 6e 20 74 68 65 20 70 72 65 76 69 6f 75 73 20 76 61 6c 75 65 20 6f .depends.on.the.previous.value.o
88200 66 20 74 68 65 20 61 67 67 72 65 67 61 74 65 2e 20 54 68 65 20 65 61 73 69 65 73 74 20 77 61 79 f.the.aggregate..The.easiest.way
88220 20 74 6f 20 64 65 6d 6f 6e 73 74 72 61 74 65 20 74 68 69 73 20 69 73 20 62 79 0a 20 20 20 20 20 .to.demonstrate.this.is.by......
88240 20 61 74 74 65 6d 70 74 69 6e 67 20 74 6f 20 73 77 61 70 20 66 69 65 6c 64 73 20 6f 66 20 61 20 .attempting.to.swap.fields.of.a.
88260 73 74 72 75 63 74 20 6f 72 20 61 72 72 61 79 20 2d 20 74 68 65 20 66 6f 6c 6c 6f 77 69 6e 67 20 struct.or.array.-.the.following.
88280 6c 6f 67 69 63 20 6c 6f 6f 6b 73 20 73 6f 75 6e 64 2c 20 62 75 74 20 69 6e 20 66 61 63 74 20 69 logic.looks.sound,.but.in.fact.i
882a0 73 20 6e 6f 74 3a 0a 20 20 20 20 20 20 3c 2f 70 3e 0a 20 20 20 20 20 20 3c 66 69 67 75 72 65 3e s.not:.......</p>.......<figure>
882c0 3c 66 69 67 63 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
882e0 65 20 63 6c 61 73 73 3d 22 66 69 6c 65 22 3e 72 65 73 75 6c 74 5f 6c 6f 63 61 74 69 6f 6e 5f 69 e.class="file">result_location_i
88300 6e 74 65 72 66 65 72 69 6e 67 5f 77 69 74 68 5f 73 77 61 70 2e 7a 69 67 3c 2f 63 69 74 65 3e 3c nterfering_with_swap.zig</cite><
88320 2f 66 69 67 63 61 70 74 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
88340 73 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 45 ss="tok-kw">const</span>.expectE
88360 71 75 61 6c 20 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 62 75 69 6c 74 69 6e 22 qual.=.<span.class="tok-builtin"
88380 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
883a0 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
883c0 73 74 69 6e 67 2e 65 78 70 65 63 74 45 71 75 61 6c 3b 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 sting.expectEqual;.<span.class="
883e0 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=
88400 22 74 6f 6b 2d 73 74 72 22 3e 26 71 75 6f 74 3b 61 74 74 65 6d 70 74 20 74 6f 20 73 77 61 70 20 "tok-str">&quot;attempt.to.swap.
88420 61 72 72 61 79 20 65 6c 65 6d 65 6e 74 73 20 77 69 74 68 20 61 72 72 61 79 20 69 6e 69 74 69 61 array.elements.with.array.initia
88440 6c 69 7a 65 72 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 20 7b 0a 20 20 20 20 3c 73 70 61 6e 20 63 lizer&quot;</span>.{.....<span.c
88460 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 76 61 72 3c 2f 73 70 61 6e 3e 20 61 72 72 3a 20 5b 3c lass="tok-kw">var</span>.arr:.[<
88480 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>
884a0 5d 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 75 33 32 3c 2f 73 70 61 ]<span.class="tok-type">u32</spa
884c0 6e 3e 20 3d 20 2e 7b 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 n>.=..{.<span.class="tok-number"
884e0 3e 31 3c 2f 73 70 61 6e 3e 2c 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 >1</span>,.<span.class="tok-numb
88500 65 72 22 3e 32 3c 2f 73 70 61 6e 3e 20 7d 3b 0a 20 20 20 20 61 72 72 20 3d 20 2e 7b 20 61 72 72 er">2</span>.};.....arr.=..{.arr
88520 5b 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 31 3c 2f 73 70 61 [<span.class="tok-number">1</spa
88540 6e 3e 5d 2c 20 61 72 72 5b 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 n>],.arr[<span.class="tok-number
88560 22 3e 30 3c 2f 73 70 61 6e 3e 5d 20 7d 3b 0a 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 ">0</span>].};.....<span.class="
88580 74 6f 6b 2d 63 6f 6d 6d 65 6e 74 22 3e 2f 2f 20 54 68 65 20 70 72 65 76 69 6f 75 73 20 6c 69 6e tok-comment">//.The.previous.lin
885a0 65 20 69 73 20 65 71 75 69 76 61 6c 65 6e 74 20 74 6f 20 74 68 65 20 66 6f 6c 6c 6f 77 69 6e 67 e.is.equivalent.to.the.following
885c0 20 74 77 6f 20 6c 69 6e 65 73 3a 3c 2f 73 70 61 6e 3e 0a 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 .two.lines:</span>.....<span.cla
885e0 73 73 3d 22 74 6f 6b 2d 63 6f 6d 6d 65 6e 74 22 3e 2f 2f 20 20 20 61 72 72 5b 30 5d 20 3d 20 61 ss="tok-comment">//...arr[0].=.a
88600 72 72 5b 31 5d 3b 3c 2f 73 70 61 6e 3e 0a 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 rr[1];</span>.....<span.class="t
88620 6f 6b 2d 63 6f 6d 6d 65 6e 74 22 3e 2f 2f 20 20 20 61 72 72 5b 31 5d 20 3d 20 61 72 72 5b 30 5d ok-comment">//...arr[1].=.arr[0]
88640 3b 3c 2f 73 70 61 6e 3e 0a 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 63 6f ;</span>.....<span.class="tok-co
88660 6d 6d 65 6e 74 22 3e 2f 2f 20 53 6f 20 74 68 69 73 20 66 61 69 6c 73 21 3c 2f 73 70 61 6e 3e 0a mment">//.So.this.fails!</span>.
88680 20 20 20 20 3c 73 70 61 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
886a0 61 6e 3e 20 65 78 70 65 63 74 45 71 75 61 6c 28 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b an>.expectEqual(<span.class="tok
886c0 2d 6e 75 6d 62 65 72 22 3e 32 3c 2f 73 70 61 6e 3e 2c 20 61 72 72 5b 3c 73 70 61 6e 20 63 6c 61 -number">2</span>,.arr[<span.cla
886e0 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 20 3c 73 70 61 ss="tok-number">0</span>]);.<spa
88700 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 63 6f 6d 6d 65 6e 74 22 3e 2f 2f 20 73 75 63 63 65 65 64 n.class="tok-comment">//.succeed
88720 73 3c 2f 73 70 61 6e 3e 0a 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 s</span>.....<span.class="tok-kw
88740 22 3e 74 72 79 3c 2f 73 70 61 6e 3e 20 65 78 70 65 63 74 45 71 75 61 6c 28 3c 73 70 61 6e 20 63 ">try</span>.expectEqual(<span.c
88760 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 61 72 72 5b lass="tok-number">1</span>,.arr[
88780 3c 73 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
887a0 3e 5d 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 >]);.<span.class="tok-comment">/
887c0 2f 20 66 61 69 6c 73 3c 2f 73 70 61 6e 3e 0a 7d 3c 2f 63 6f 64 65 3e 3c 2f 70 72 65 3e 3c 2f 66 /.fails</span>.}</code></pre></f
887e0 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=
88800 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
88820 72 65 3e 3c 73 61 6d 70 3e 24 20 3c 6b 62 64 3e 7a 69 67 20 74 65 73 74 20 72 65 73 75 6c 74 5f re><samp>$.<kbd>zig.test.result_
88840 6c 6f 63 61 74 69 6f 6e 5f 69 6e 74 65 72 66 65 72 69 6e 67 5f 77 69 74 68 5f 73 77 61 70 2e 7a location_interfering_with_swap.z
88860 69 67 3c 2f 6b 62 64 3e 0a 31 2f 31 20 72 65 73 75 6c 74 5f 6c 6f 63 61 74 69 6f 6e 5f 69 6e 74 ig</kbd>.1/1.result_location_int
88880 65 72 66 65 72 69 6e 67 5f 77 69 74 68 5f 73 77 61 70 2e 74 65 73 74 2e 61 74 74 65 6d 70 74 20 erfering_with_swap.test.attempt.
888a0 74 6f 20 73 77 61 70 20 61 72 72 61 79 20 65 6c 65 6d 65 6e 74 73 20 77 69 74 68 20 61 72 72 61 to.swap.array.elements.with.arra
888c0 79 20 69 6e 69 74 69 61 6c 69 7a 65 72 2e 2e 2e 65 78 70 65 63 74 65 64 20 31 2c 20 66 6f 75 6e y.initializer...expected.1,.foun
888e0 64 20 32 0a 46 41 49 4c 20 28 54 65 73 74 45 78 70 65 63 74 65 64 45 71 75 61 6c 29 0a 2f 68 6f d.2.FAIL.(TestExpectedEqual)./ho
88900 6d 65 2f 63 69 2f 77 6f 72 6b 2f 7a 69 67 2d 62 6f 6f 74 73 74 72 61 70 2f 6f 75 74 2f 68 6f 73 me/ci/work/zig-bootstrap/out/hos
88920 74 2f 6c 69 62 2f 7a 69 67 2f 73 74 64 2f 74 65 73 74 69 6e 67 2e 7a 69 67 3a 31 31 38 3a 31 37 t/lib/zig/std/testing.zig:118:17
88940 3a 20 30 78 31 32 33 38 39 65 34 20 69 6e 20 65 78 70 65 63 74 45 71 75 61 6c 49 6e 6e 65 72 5f :.0x12389e4.in.expectEqualInner_
88960 5f 61 6e 6f 6e 5f 34 32 39 39 36 20 28 73 74 64 2e 7a 69 67 29 0a 20 20 20 20 20 20 20 20 20 20 _anon_42996.(std.zig)...........
88980 20 20 20 20 20 20 72 65 74 75 72 6e 20 65 72 72 6f 72 2e 54 65 73 74 45 78 70 65 63 74 65 64 45 ......return.error.TestExpectedE
889a0 71 75 61 6c 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 5e 0a 2f 68 6f 6d 65 2f 63 69 qual;.................^./home/ci
889c0 2f 77 6f 72 6b 2f 7a 69 67 2d 62 6f 6f 74 73 74 72 61 70 2f 6f 75 74 2f 68 6f 73 74 2f 6c 69 62 /work/zig-bootstrap/out/host/lib
889e0 2f 7a 69 67 2f 73 74 64 2f 74 65 73 74 69 6e 67 2e 7a 69 67 3a 38 33 3a 35 3a 20 30 78 31 32 33 /zig/std/testing.zig:83:5:.0x123
88a00 38 62 35 64 20 69 6e 20 65 78 70 65 63 74 45 71 75 61 6c 20 28 72 65 73 75 6c 74 5f 6c 6f 63 61 8b5d.in.expectEqual.(result_loca
88a20 74 69 6f 6e 5f 69 6e 74 65 72 66 65 72 69 6e 67 5f 77 69 74 68 5f 73 77 61 70 2e 7a 69 67 29 0a tion_interfering_with_swap.zig).
88a40 20 20 20 20 72 65 74 75 72 6e 20 65 78 70 65 63 74 45 71 75 61 6c 49 6e 6e 65 72 28 54 2c 20 65 ....return.expectEqualInner(T,.e
88a60 78 70 65 63 74 65 64 2c 20 61 63 74 75 61 6c 29 3b 0a 20 20 20 20 5e 0a 2f 68 6f 6d 65 2f 63 69 xpected,.actual);.....^./home/ci
88a80 2f 77 6f 72 6b 2f 7a 69 67 2d 62 6f 6f 74 73 74 72 61 70 2f 7a 69 67 2f 64 6f 63 2f 6c 61 6e 67 /work/zig-bootstrap/zig/doc/lang
88aa0 72 65 66 2f 72 65 73 75 6c 74 5f 6c 6f 63 61 74 69 6f 6e 5f 69 6e 74 65 72 66 65 72 69 6e 67 5f ref/result_location_interfering_
88ac0 77 69 74 68 5f 73 77 61 70 2e 7a 69 67 3a 31 30 3a 35 3a 20 30 78 31 32 33 38 62 61 34 20 69 6e with_swap.zig:10:5:.0x1238ba4.in
88ae0 20 74 65 73 74 2e 61 74 74 65 6d 70 74 20 74 6f 20 73 77 61 70 20 61 72 72 61 79 20 65 6c 65 6d .test.attempt.to.swap.array.elem
88b00 65 6e 74 73 20 77 69 74 68 20 61 72 72 61 79 20 69 6e 69 74 69 61 6c 69 7a 65 72 20 28 72 65 73 ents.with.array.initializer.(res
88b20 75 6c 74 5f 6c 6f 63 61 74 69 6f 6e 5f 69 6e 74 65 72 66 65 72 69 6e 67 5f 77 69 74 68 5f 73 77 ult_location_interfering_with_sw
88b40 61 70 2e 7a 69 67 29 0a 20 20 20 20 74 72 79 20 65 78 70 65 63 74 45 71 75 61 6c 28 31 2c 20 61 ap.zig).....try.expectEqual(1,.a
88b60 72 72 5b 31 5d 29 3b 20 2f 2f 20 66 61 69 6c 73 0a 20 20 20 20 5e 0a 30 20 70 61 73 73 65 64 3b rr[1]);.//.fails.....^.0.passed;
88b80 20 30 20 73 6b 69 70 70 65 64 3b 20 31 20 66 61 69 6c 65 64 2e 0a 65 72 72 6f 72 3a 20 74 68 65 .0.skipped;.1.failed..error:.the
88ba0 20 66 6f 6c 6c 6f 77 69 6e 67 20 74 65 73 74 20 63 6f 6d 6d 61 6e 64 20 66 61 69 6c 65 64 20 77 .following.test.command.failed.w
88bc0 69 74 68 20 65 78 69 74 20 63 6f 64 65 20 31 3a 0a 2f 68 6f 6d 65 2f 63 69 2f 77 6f 72 6b 2f 7a ith.exit.code.1:./home/ci/work/z
88be0 69 67 2d 62 6f 6f 74 73 74 72 61 70 2f 6f 75 74 2f 7a 69 67 2d 6c 6f 63 61 6c 2d 63 61 63 68 65 ig-bootstrap/out/zig-local-cache
88c00 2f 6f 2f 65 37 33 31 33 61 38 38 62 61 39 65 36 39 62 30 33 66 66 62 39 61 62 39 37 34 37 30 38 /o/e7313a88ba9e69b03ffb9ab974708
88c20 35 33 35 2f 74 65 73 74 20 2d 2d 73 65 65 64 3d 30 78 63 38 31 65 66 34 61 31 0a 3c 2f 73 61 6d 535/test.--seed=0xc81ef4a1.</sam
88c40 70 3e 3c 2f 70 72 65 3e 3c 2f 66 69 67 75 72 65 3e 0a 0a 20 20 20 20 20 20 3c 70 3e 0a 20 20 20 p></pre></figure>........<p>....
88c60 20 20 20 54 68 65 20 66 6f 6c 6c 6f 77 69 6e 67 20 74 61 62 6c 65 20 64 65 74 61 69 6c 73 20 68 ...The.following.table.details.h
88c80 6f 77 20 73 6f 6d 65 20 63 6f 6d 6d 6f 6e 20 65 78 70 72 65 73 73 69 6f 6e 73 20 70 72 6f 70 61 ow.some.common.expressions.propa
88ca0 67 61 74 65 20 72 65 73 75 6c 74 20 6c 6f 63 61 74 69 6f 6e 73 2c 20 77 68 65 72 65 0a 20 20 20 gate.result.locations,.where....
88cc0 20 20 20 3c 63 6f 64 65 3e 78 3c 2f 63 6f 64 65 3e 20 61 6e 64 20 3c 63 6f 64 65 3e 79 3c 2f 63 ...<code>x</code>.and.<code>y</c
88ce0 6f 64 65 3e 20 61 72 65 20 61 72 62 69 74 72 61 72 79 20 73 75 62 2d 65 78 70 72 65 73 73 69 6f ode>.are.arbitrary.sub-expressio
88d00 6e 73 2e 20 4e 6f 74 65 20 74 68 61 74 0a 20 20 20 20 20 20 73 6f 6d 65 20 65 78 70 72 65 73 73 ns..Note.that.......some.express
88d20 69 6f 6e 73 20 63 61 6e 6e 6f 74 20 70 72 6f 76 69 64 65 20 6d 65 61 6e 69 6e 67 66 75 6c 20 72 ions.cannot.provide.meaningful.r
88d40 65 73 75 6c 74 20 6c 6f 63 61 74 69 6f 6e 73 20 74 6f 20 73 75 62 2d 65 78 70 72 65 73 73 69 6f esult.locations.to.sub-expressio
88d60 6e 73 2c 20 65 76 65 6e 20 69 66 20 74 68 65 79 0a 20 20 20 20 20 20 74 68 65 6d 73 65 6c 76 65 ns,.even.if.they.......themselve
88d80 73 20 68 61 76 65 20 61 20 72 65 73 75 6c 74 20 6c 6f 63 61 74 69 6f 6e 2e 0a 20 20 20 20 20 20 s.have.a.result.location........
88da0 3c 2f 70 3e 0a 20 20 20 20 20 20 3c 64 69 76 20 63 6c 61 73 73 3d 22 74 61 62 6c 65 2d 77 72 61 </p>.......<div.class="table-wra
88dc0 70 70 65 72 22 3e 0a 20 20 20 20 20 20 3c 74 61 62 6c 65 3e 0a 20 20 20 20 20 20 20 20 3c 74 68 pper">.......<table>.........<th
88de0 65 61 64 3e 0a 20 20 20 20 20 20 20 20 20 20 3c 74 72 3e 0a 20 20 20 20 20 20 20 20 20 20 20 20 ead>...........<tr>.............
88e00 3c 74 68 20 73 63 6f 70 65 3d 22 63 6f 6c 22 3e 45 78 70 72 65 73 73 69 6f 6e 3c 2f 74 68 3e 0a <th.scope="col">Expression</th>.
88e20 20 20 20 20 20 20 20 20 20 20 20 20 3c 74 68 20 73 63 6f 70 65 3d 22 63 6f 6c 22 3e 52 65 73 75 ............<th.scope="col">Resu
88e40 6c 74 20 4c 6f 63 61 74 69 6f 6e 3c 2f 74 68 3e 0a 20 20 20 20 20 20 20 20 20 20 20 20 3c 74 68 lt.Location</th>.............<th
88e60 20 73 63 6f 70 65 3d 22 63 6f 6c 22 3e 53 75 62 2d 65 78 70 72 65 73 73 69 6f 6e 20 52 65 73 75 .scope="col">Sub-expression.Resu
88e80 6c 74 20 4c 6f 63 61 74 69 6f 6e 73 3c 2f 74 68 3e 0a 20 20 20 20 20 20 20 20 20 20 3c 2f 74 72 lt.Locations</th>...........</tr
88ea0 3e 0a 20 20 20 20 20 20 20 20 3c 2f 74 68 65 61 64 3e 0a 20 20 20 20 20 20 20 20 3c 74 62 6f 64 >.........</thead>.........<tbod
88ec0 79 3e 0a 20 20 20 20 20 20 20 20 20 20 3c 74 72 3e 0a 20 20 20 20 20 20 20 20 20 20 20 20 3c 74 y>...........<tr>.............<t
88ee0 68 20 73 63 6f 70 65 3d 22 72 6f 77 22 3e 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d h.scope="row"><code><span.class=
88f00 22 74 6f 6b 2d 6b 77 22 3e 63 6f 6e 73 74 3c 2f 73 70 61 6e 3e 20 76 61 6c 3a 20 54 20 3d 20 78 "tok-kw">const</span>.val:.T.=.x
88f20 3c 2f 63 6f 64 65 3e 3c 2f 74 68 3e 0a 20 20 20 20 20 20 20 20 20 20 20 20 3c 74 64 3e 2d 3c 2f </code></th>.............<td>-</
88f40 74 64 3e 0a 20 20 20 20 20 20 20 20 20 20 20 20 3c 74 64 3e 3c 63 6f 64 65 3e 78 3c 2f 63 6f 64 td>.............<td><code>x</cod
88f60 65 3e 20 68 61 73 20 72 65 73 75 6c 74 20 6c 6f 63 61 74 69 6f 6e 20 3c 63 6f 64 65 3e 26 61 6d e>.has.result.location.<code>&am
88f80 70 3b 76 61 6c 3c 2f 63 6f 64 65 3e 3c 2f 74 64 3e 0a 20 20 20 20 20 20 20 20 20 20 3c 2f 74 72 p;val</code></td>...........</tr
88fa0 3e 0a 20 20 20 20 20 20 20 20 20 20 3c 74 72 3e 0a 20 20 20 20 20 20 20 20 20 20 20 20 3c 74 68 >...........<tr>.............<th
88fc0 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="
88fe0 74 6f 6b 2d 6b 77 22 3e 76 61 72 3c 2f 73 70 61 6e 3e 20 76 61 6c 3a 20 54 20 3d 20 78 3c 2f 63 tok-kw">var</span>.val:.T.=.x</c
89000 6f 64 65 3e 3c 2f 74 68 3e 0a 20 20 20 20 20 20 20 20 20 20 20 20 3c 74 64 3e 2d 3c 2f 74 64 3e ode></th>.............<td>-</td>
89020 0a 20 20 20 20 20 20 20 20 20 20 20 20 3c 74 64 3e 3c 63 6f 64 65 3e 78 3c 2f 63 6f 64 65 3e 20 .............<td><code>x</code>.
89040 68 61 73 20 72 65 73 75 6c 74 20 6c 6f 63 61 74 69 6f 6e 20 3c 63 6f 64 65 3e 26 61 6d 70 3b 76 has.result.location.<code>&amp;v
89060 61 6c 3c 2f 63 6f 64 65 3e 3c 2f 74 64 3e 0a 20 20 20 20 20 20 20 20 20 20 3c 2f 74 72 3e 0a 20 al</code></td>...........</tr>..
89080 20 20 20 20 20 20 20 20 20 3c 74 72 3e 0a 20 20 20 20 20 20 20 20 20 20 20 20 3c 74 68 20 73 63 .........<tr>.............<th.sc
890a0 6f 70 65 3d 22 72 6f 77 22 3e 3c 63 6f 64 65 3e 76 61 6c 20 3d 20 78 3c 2f 63 6f 64 65 3e 3c 2f ope="row"><code>val.=.x</code></
890c0 74 68 3e 0a 20 20 20 20 20 20 20 20 20 20 20 20 3c 74 64 3e 2d 3c 2f 74 64 3e 0a 20 20 20 20 20 th>.............<td>-</td>......
890e0 20 20 20 20 20 20 20 3c 74 64 3e 3c 63 6f 64 65 3e 78 3c 2f 63 6f 64 65 3e 20 68 61 73 20 72 65 .......<td><code>x</code>.has.re
89100 73 75 6c 74 20 6c 6f 63 61 74 69 6f 6e 20 3c 63 6f 64 65 3e 26 61 6d 70 3b 76 61 6c 3c 2f 63 6f sult.location.<code>&amp;val</co
89120 64 65 3e 3c 2f 74 64 3e 0a 20 20 20 20 20 20 20 20 20 20 3c 2f 74 72 3e 0a 20 20 20 20 20 20 20 de></td>...........</tr>........
89140 20 20 20 3c 74 72 3e 0a 20 20 20 20 20 20 20 20 20 20 20 20 3c 74 68 20 73 63 6f 70 65 3d 22 72 ...<tr>.............<th.scope="r
89160 6f 77 22 3e 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 62 75 69 6c 74 ow"><code><span.class="tok-built
89180 69 6e 22 3e 40 61 73 3c 2f 73 70 61 6e 3e 28 54 2c 20 78 29 3c 2f 63 6f 64 65 3e 3c 2f 74 68 3e in">@as</span>(T,.x)</code></th>
891a0 0a 20 20 20 20 20 20 20 20 20 20 20 20 3c 74 64 3e 3c 63 6f 64 65 3e 70 74 72 3c 2f 63 6f 64 65 .............<td><code>ptr</code
891c0 3e 3c 2f 74 64 3e 0a 20 20 20 20 20 20 20 20 20 20 20 20 3c 74 64 3e 3c 63 6f 64 65 3e 78 3c 2f ></td>.............<td><code>x</
891e0 63 6f 64 65 3e 20 68 61 73 20 6e 6f 20 72 65 73 75 6c 74 20 6c 6f 63 61 74 69 6f 6e 3c 2f 74 64 code>.has.no.result.location</td
89200 3e 0a 20 20 20 20 20 20 20 20 20 20 3c 2f 74 72 3e 0a 20 20 20 20 20 20 20 20 20 20 3c 74 72 3e >...........</tr>...........<tr>
89220 0a 20 20 20 20 20 20 20 20 20 20 20 20 3c 74 68 20 73 63 6f 70 65 3d 22 72 6f 77 22 3e 3c 63 6f .............<th.scope="row"><co
89240 64 65 3e 26 61 6d 70 3b 78 3c 2f 63 6f 64 65 3e 3c 2f 74 68 3e 0a 20 20 20 20 20 20 20 20 20 20 de>&amp;x</code></th>...........
89260 20 20 3c 74 64 3e 3c 63 6f 64 65 3e 70 74 72 3c 2f 63 6f 64 65 3e 3c 2f 74 64 3e 0a 20 20 20 20 ..<td><code>ptr</code></td>.....
89280 20 20 20 20 20 20 20 20 3c 74 64 3e 3c 63 6f 64 65 3e 78 3c 2f 63 6f 64 65 3e 20 68 61 73 20 6e ........<td><code>x</code>.has.n
892a0 6f 20 72 65 73 75 6c 74 20 6c 6f 63 61 74 69 6f 6e 3c 2f 74 64 3e 0a 20 20 20 20 20 20 20 20 20 o.result.location</td>..........
892c0 20 3c 2f 74 72 3e 0a 20 20 20 20 20 20 20 20 20 20 3c 74 72 3e 0a 20 20 20 20 20 20 20 20 20 20 .</tr>...........<tr>...........
892e0 20 20 3c 74 68 20 73 63 6f 70 65 3d 22 72 6f 77 22 3e 3c 63 6f 64 65 3e 66 28 78 29 3c 2f 63 6f ..<th.scope="row"><code>f(x)</co
89300 64 65 3e 3c 2f 74 68 3e 0a 20 20 20 20 20 20 20 20 20 20 20 20 3c 74 64 3e 3c 63 6f 64 65 3e 70 de></th>.............<td><code>p
89320 74 72 3c 2f 63 6f 64 65 3e 3c 2f 74 64 3e 0a 20 20 20 20 20 20 20 20 20 20 20 20 3c 74 64 3e 3c tr</code></td>.............<td><
89340 63 6f 64 65 3e 78 3c 2f 63 6f 64 65 3e 20 68 61 73 20 6e 6f 20 72 65 73 75 6c 74 20 6c 6f 63 61 code>x</code>.has.no.result.loca
89360 74 69 6f 6e 3c 2f 74 64 3e 0a 20 20 20 20 20 20 20 20 20 20 3c 2f 74 72 3e 0a 20 20 20 20 20 20 tion</td>...........</tr>.......
89380 20 20 20 20 3c 74 72 3e 0a 20 20 20 20 20 20 20 20 20 20 20 20 3c 74 68 20 73 63 6f 70 65 3d 22 ....<tr>.............<th.scope="
893a0 72 6f 77 22 3e 3c 63 6f 64 65 3e 2e 7b 78 7d 3c 2f 63 6f 64 65 3e 3c 2f 74 68 3e 0a 20 20 20 20 row"><code>.{x}</code></th>.....
893c0 20 20 20 20 20 20 20 20 3c 74 64 3e 3c 63 6f 64 65 3e 70 74 72 3c 2f 63 6f 64 65 3e 3c 2f 74 64 ........<td><code>ptr</code></td
893e0 3e 0a 20 20 20 20 20 20 20 20 20 20 20 20 3c 74 64 3e 3c 63 6f 64 65 3e 78 3c 2f 63 6f 64 65 3e >.............<td><code>x</code>
89400 20 68 61 73 20 72 65 73 75 6c 74 20 6c 6f 63 61 74 69 6f 6e 20 3c 63 6f 64 65 3e 26 61 6d 70 3b .has.result.location.<code>&amp;
89420 70 74 72 5b 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 30 3c 2f ptr[<span.class="tok-number">0</
89440 73 70 61 6e 3e 5d 3c 2f 63 6f 64 65 3e 3c 2f 74 64 3e 0a 20 20 20 20 20 20 20 20 20 20 3c 2f 74 span>]</code></td>...........</t
89460 72 3e 0a 20 20 20 20 20 20 20 20 20 20 3c 74 72 3e 0a 20 20 20 20 20 20 20 20 20 20 20 20 3c 74 r>...........<tr>.............<t
89480 68 20 73 63 6f 70 65 3d 22 72 6f 77 22 3e 3c 63 6f 64 65 3e 2e 7b 20 2e 61 20 3d 20 78 20 7d 3c h.scope="row"><code>.{..a.=.x.}<
894a0 2f 63 6f 64 65 3e 3c 2f 74 68 3e 0a 20 20 20 20 20 20 20 20 20 20 20 20 3c 74 64 3e 3c 63 6f 64 /code></th>.............<td><cod
894c0 65 3e 70 74 72 3c 2f 63 6f 64 65 3e 3c 2f 74 64 3e 0a 20 20 20 20 20 20 20 20 20 20 20 20 3c 74 e>ptr</code></td>.............<t
894e0 64 3e 3c 63 6f 64 65 3e 78 3c 2f 63 6f 64 65 3e 20 68 61 73 20 72 65 73 75 6c 74 20 6c 6f 63 61 d><code>x</code>.has.result.loca
89500 74 69 6f 6e 20 3c 63 6f 64 65 3e 26 61 6d 70 3b 70 74 72 2e 61 3c 2f 63 6f 64 65 3e 3c 2f 74 64 tion.<code>&amp;ptr.a</code></td
89520 3e 0a 20 20 20 20 20 20 20 20 20 20 3c 2f 74 72 3e 0a 20 20 20 20 20 20 20 20 20 20 3c 74 72 3e >...........</tr>...........<tr>
89540 0a 20 20 20 20 20 20 20 20 20 20 20 20 3c 74 68 20 73 63 6f 70 65 3d 22 72 6f 77 22 3e 3c 63 6f .............<th.scope="row"><co
89560 64 65 3e 54 7b 78 7d 3c 2f 63 6f 64 65 3e 3c 2f 74 68 3e 0a 20 20 20 20 20 20 20 20 20 20 20 20 de>T{x}</code></th>.............
89580 3c 74 64 3e 3c 63 6f 64 65 3e 70 74 72 3c 2f 63 6f 64 65 3e 3c 2f 74 64 3e 0a 20 20 20 20 20 20 <td><code>ptr</code></td>.......
895a0 20 20 20 20 20 20 3c 74 64 3e 3c 63 6f 64 65 3e 78 3c 2f 63 6f 64 65 3e 20 68 61 73 20 6e 6f 20 ......<td><code>x</code>.has.no.
895c0 72 65 73 75 6c 74 20 6c 6f 63 61 74 69 6f 6e 20 28 74 79 70 65 64 20 69 6e 69 74 69 61 6c 69 7a result.location.(typed.initializ
895e0 65 72 73 20 64 6f 20 6e 6f 74 20 70 72 6f 70 61 67 61 74 65 20 72 65 73 75 6c 74 20 6c 6f 63 61 ers.do.not.propagate.result.loca
89600 74 69 6f 6e 73 29 3c 2f 74 64 3e 0a 20 20 20 20 20 20 20 20 20 20 3c 2f 74 72 3e 0a 20 20 20 20 tions)</td>...........</tr>.....
89620 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
89640 3d 22 72 6f 77 22 3e 3c 63 6f 64 65 3e 54 7b 20 2e 61 20 3d 20 78 20 7d 3c 2f 63 6f 64 65 3e 3c ="row"><code>T{..a.=.x.}</code><
89660 2f 74 68 3e 0a 20 20 20 20 20 20 20 20 20 20 20 20 3c 74 64 3e 3c 63 6f 64 65 3e 70 74 72 3c 2f /th>.............<td><code>ptr</
89680 63 6f 64 65 3e 3c 2f 74 64 3e 0a 20 20 20 20 20 20 20 20 20 20 20 20 3c 74 64 3e 3c 63 6f 64 65 code></td>.............<td><code
896a0 3e 78 3c 2f 63 6f 64 65 3e 20 68 61 73 20 6e 6f 20 72 65 73 75 6c 74 20 6c 6f 63 61 74 69 6f 6e >x</code>.has.no.result.location
896c0 20 28 74 79 70 65 64 20 69 6e 69 74 69 61 6c 69 7a 65 72 73 20 64 6f 20 6e 6f 74 20 70 72 6f 70 .(typed.initializers.do.not.prop
896e0 61 67 61 74 65 20 72 65 73 75 6c 74 20 6c 6f 63 61 74 69 6f 6e 73 29 3c 2f 74 64 3e 0a 20 20 20 agate.result.locations)</td>....
89700 20 20 20 20 20 20 20 3c 2f 74 72 3e 0a 20 20 20 20 20 20 20 20 20 20 3c 74 72 3e 0a 20 20 20 20 .......</tr>...........<tr>.....
89720 20 20 20 20 20 20 20 20 3c 74 68 20 73 63 6f 70 65 3d 22 72 6f 77 22 3e 3c 63 6f 64 65 3e 3c 73 ........<th.scope="row"><code><s
89740 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 62 75 69 6c 74 69 6e 22 3e 40 49 6e 74 3c 2f 73 70 pan.class="tok-builtin">@Int</sp
89760 61 6e 3e 28 78 2c 20 79 29 3c 2f 63 6f 64 65 3e 3c 2f 74 68 3e 0a 20 20 20 20 20 20 20 20 20 20 an>(x,.y)</code></th>...........
89780 20 20 3c 74 64 3e 2d 3c 2f 74 64 3e 0a 20 20 20 20 20 20 20 20 20 20 20 20 3c 74 64 3e 3c 63 6f ..<td>-</td>.............<td><co
897a0 64 65 3e 78 3c 2f 63 6f 64 65 3e 20 61 6e 64 20 3c 63 6f 64 65 3e 79 3c 2f 63 6f 64 65 3e 20 64 de>x</code>.and.<code>y</code>.d
897c0 6f 20 6e 6f 74 20 68 61 76 65 20 72 65 73 75 6c 74 20 6c 6f 63 61 74 69 6f 6e 73 3c 2f 74 64 3e o.not.have.result.locations</td>
897e0 0a 20 20 20 20 20 20 20 20 20 20 3c 2f 74 72 3e 0a 20 20 20 20 20 20 20 20 20 20 3c 74 72 3e 0a ...........</tr>...........<tr>.
89800 20 20 20 20 20 20 20 20 20 20 20 20 3c 74 68 20 73 63 6f 70 65 3d 22 72 6f 77 22 3e 3c 63 6f 64 ............<th.scope="row"><cod
89820 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 62 75 69 6c 74 69 6e 22 3e 40 74 79 70 e><span.class="tok-builtin">@typ
89840 65 49 6e 66 6f 3c 2f 73 70 61 6e 3e 28 78 29 3c 2f 63 6f 64 65 3e 3c 2f 74 68 3e 0a 20 20 20 20 eInfo</span>(x)</code></th>.....
89860 20 20 20 20 20 20 20 20 3c 74 64 3e 3c 63 6f 64 65 3e 70 74 72 3c 2f 63 6f 64 65 3e 3c 2f 74 64 ........<td><code>ptr</code></td
89880 3e 0a 20 20 20 20 20 20 20 20 20 20 20 20 3c 74 64 3e 3c 63 6f 64 65 3e 78 3c 2f 63 6f 64 65 3e >.............<td><code>x</code>
898a0 20 68 61 73 20 6e 6f 20 72 65 73 75 6c 74 20 6c 6f 63 61 74 69 6f 6e 3c 2f 74 64 3e 0a 20 20 20 .has.no.result.location</td>....
898c0 20 20 20 20 20 20 20 3c 2f 74 72 3e 0a 20 20 20 20 20 20 20 20 20 20 3c 74 72 3e 0a 20 20 20 20 .......</tr>...........<tr>.....
898e0 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 78 20 ........<th.scope="row"><code>x.
89900 26 6c 74 3b 26 6c 74 3b 20 79 3c 2f 63 6f 64 65 3e 3c 2f 74 68 3e 0a 20 20 20 20 20 20 20 20 20 &lt;&lt;.y</code></th>..........
89920 20 20 20 3c 74 64 3e 3c 63 6f 64 65 3e 70 74 72 3c 2f 63 6f 64 65 3e 3c 2f 74 64 3e 0a 20 20 20 ...<td><code>ptr</code></td>....
89940 20 20 20 20 20 20 20 20 20 3c 74 64 3e 3c 63 6f 64 65 3e 78 3c 2f 63 6f 64 65 3e 20 61 6e 64 20 .........<td><code>x</code>.and.
89960 3c 63 6f 64 65 3e 79 3c 2f 63 6f 64 65 3e 20 64 6f 20 6e 6f 74 20 68 61 76 65 20 72 65 73 75 6c <code>y</code>.do.not.have.resul
89980 74 20 6c 6f 63 61 74 69 6f 6e 73 3c 2f 74 64 3e 0a 20 20 20 20 20 20 20 20 20 20 3c 2f 74 72 3e t.locations</td>...........</tr>
899a0 0a 20 20 20 20 20 20 20 20 3c 2f 74 62 6f 64 79 3e 0a 20 20 20 20 20 20 3c 2f 74 61 62 6c 65 3e .........</tbody>.......</table>
899c0 0a 20 20 20 20 20 20 3c 2f 64 69 76 3e 0a 20 20 20 20 20 20 0a 20 20 20 20 20 20 0a 0a 20 20 20 .......</div>...................
899e0 20 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 ...<h2.id="comptime"><a.href="na
89a00 76 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 v.xhtml#toc-comptime">comptime</
89a20 61 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 a>.<a.class="hdr".href="#comptim
89a40 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 20 e">..</a></h2>........<p>.......
89a60 5a 69 67 20 70 6c 61 63 65 73 20 69 6d 70 6f 72 74 61 6e 63 65 20 6f 6e 20 74 68 65 20 63 6f 6e Zig.places.importance.on.the.con
89a80 63 65 70 74 20 6f 66 20 77 68 65 74 68 65 72 20 61 6e 20 65 78 70 72 65 73 73 69 6f 6e 20 69 73 cept.of.whether.an.expression.is
89aa0 20 6b 6e 6f 77 6e 20 61 74 20 63 6f 6d 70 69 6c 65 2d 74 69 6d 65 2e 0a 20 20 20 20 20 20 54 68 .known.at.compile-time........Th
89ac0 65 72 65 20 61 72 65 20 61 20 66 65 77 20 64 69 66 66 65 72 65 6e 74 20 70 6c 61 63 65 73 20 74 ere.are.a.few.different.places.t
89ae0 68 69 73 20 63 6f 6e 63 65 70 74 20 69 73 20 75 73 65 64 2c 20 61 6e 64 20 74 68 65 73 65 20 62 his.concept.is.used,.and.these.b
89b00 75 69 6c 64 69 6e 67 20 62 6c 6f 63 6b 73 20 61 72 65 20 75 73 65 64 0a 20 20 20 20 20 20 74 6f uilding.blocks.are.used.......to
89b20 20 6b 65 65 70 20 74 68 65 20 6c 61 6e 67 75 61 67 65 20 73 6d 61 6c 6c 2c 20 72 65 61 64 61 62 .keep.the.language.small,.readab
89b40 6c 65 2c 20 61 6e 64 20 70 6f 77 65 72 66 75 6c 2e 0a 20 20 20 20 20 20 3c 2f 70 3e 0a 20 20 20 le,.and.powerful........</p>....
89b60 20 20 20 3c 68 33 20 69 64 3d 22 49 6e 74 72 6f 64 75 63 69 6e 67 2d 74 68 65 2d 43 6f 6d 70 69 ...<h3.id="Introducing-the-Compi
89b80 6c 65 2d 54 69 6d 65 2d 43 6f 6e 63 65 70 74 22 3e 3c 61 20 68 72 65 66 3d 22 6e 61 76 2e 78 68 le-Time-Concept"><a.href="nav.xh
89ba0 74 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 tml#toc-Introducing-the-Compile-
89bc0 54 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 Time-Concept">Introducing.the.Co
89be0 6d 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 mpile-Time.Concept</a>.<a.class=
89c00 22 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 "hdr".href="#Introducing-the-Com
89c20 70 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 pile-Time-Concept">..</a></h3>..
89c40 20 20 20 20 20 20 3c 68 34 20 69 64 3d 22 43 6f 6d 70 69 6c 65 2d 54 69 6d 65 2d 50 61 72 61 6d ......<h4.id="Compile-Time-Param
89c60 65 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 eters"><a.href="nav.xhtml#toc-Co
89c80 6d 70 69 6c 65 2d 54 69 6d 65 2d 50 61 72 61 6d 65 74 65 72 73 22 3e 43 6f 6d 70 69 6c 65 2d 54 mpile-Time-Parameters">Compile-T
89ca0 69 6d 65 20 50 61 72 61 6d 65 74 65 72 73 3c 2f 61 3e 20 3c 61 20 63 6c 61 73 73 3d 22 68 64 72 ime.Parameters</a>.<a.class="hdr
89cc0 22 20 68 72 65 66 3d 22 23 43 6f 6d 70 69 6c 65 2d 54 69 6d 65 2d 50 61 72 61 6d 65 74 65 72 73 ".href="#Compile-Time-Parameters
89ce0 22 3e c2 a7 3c 2f 61 3e 3c 2f 68 34 3e 0a 0a 20 20 20 20 20 20 3c 70 3e 0a 20 20 20 20 20 20 43 ">..</a></h4>........<p>.......C
89d00 6f 6d 70 69 6c 65 2d 74 69 6d 65 20 70 61 72 61 6d 65 74 65 72 73 20 69 73 20 68 6f 77 20 5a 69 ompile-time.parameters.is.how.Zi
89d20 67 20 69 6d 70 6c 65 6d 65 6e 74 73 20 67 65 6e 65 72 69 63 73 2e 20 49 74 20 69 73 20 63 6f 6d g.implements.generics..It.is.com
89d40 70 69 6c 65 2d 74 69 6d 65 20 64 75 63 6b 20 74 79 70 69 6e 67 2e 0a 20 20 20 20 20 20 3c 2f 70 pile-time.duck.typing........</p
89d60 3e 0a 20 20 20 20 20 20 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
89d80 73 3d 22 7a 69 67 2d 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
89da0 6f 6d 70 69 6c 65 2d 74 69 6d 65 5f 64 75 63 6b 5f 74 79 70 69 6e 67 2e 7a 69 67 3c 2f 63 69 74 ompile-time_duck_typing.zig</cit
89dc0 65 3e 3c 2f 66 69 67 63 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.
89de0 63 6c 61 73 73 3d 22 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
89e00 6c 61 73 73 3d 22 74 6f 6b 2d 66 6e 22 3e 6d 61 78 3c 2f 73 70 61 6e 3e 28 3c 73 70 61 6e 20 63 lass="tok-fn">max</span>(<span.c
89e20 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 63 6f 6d 70 74 69 6d 65 3c 2f 73 70 61 6e 3e 20 54 3a lass="tok-kw">comptime</span>.T:
89e40 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 74 79 70 65 3c 2f 73 70 .<span.class="tok-type">type</sp
89e60 61 6e 3e 2c 20 61 3a 20 54 2c 20 62 3a 20 54 29 20 54 20 7b 0a 20 20 20 20 3c 73 70 61 6e 20 63 an>,.a:.T,.b:.T).T.{.....<span.c
89e80 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
89ea0 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 69 66 3c 2f 73 70 61 6e 3e 20 28 61 20 26 67 n.class="tok-kw">if</span>.(a.&g
89ec0 74 3b 20 62 29 20 61 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 65 6c 73 t;.b).a.<span.class="tok-kw">els
89ee0 65 3c 2f 73 70 61 6e 3e 20 62 3b 0a 7d 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b e</span>.b;.}.<span.class="tok-k
89f00 77 22 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
89f20 22 3e 67 69 6d 6d 65 54 68 65 42 69 67 67 65 72 46 6c 6f 61 74 3c 2f 73 70 61 6e 3e 28 61 3a 20 ">gimmeTheBiggerFloat</span>(a:.
89f40 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
89f60 3e 2c 20 62 3a 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 66 33 32 >,.b:.<span.class="tok-type">f32
89f80 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">
89fa0 66 33 32 3c 2f 73 70 61 6e 3e 20 7b 0a 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f f32</span>.{.....<span.class="to
89fc0 6b 2d 6b 77 22 3e 72 65 74 75 72 6e 3c 2f 73 70 61 6e 3e 20 6d 61 78 28 3c 73 70 61 6e 20 63 6c k-kw">return</span>.max(<span.cl
89fe0 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 66 33 32 3c 2f 73 70 61 6e 3e 2c 20 61 2c 20 62 29 ass="tok-type">f32</span>,.a,.b)
8a000 3b 0a 7d 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 66 6e 3c 2f 73 70 61 ;.}.<span.class="tok-kw">fn</spa
8a020 6e 3e 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 66 6e 22 3e 67 69 6d 6d 65 54 68 65 n>.<span.class="tok-fn">gimmeThe
8a040 42 69 67 67 65 72 49 6e 74 65 67 65 72 3c 2f 73 70 61 6e 3e 28 61 3a 20 3c 73 70 61 6e 20 63 6c BiggerInteger</span>(a:.<span.cl
8a060 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 75 36 34 3c 2f 73 70 61 6e 3e 2c 20 62 3a 20 3c 73 ass="tok-type">u64</span>,.b:.<s
8a080 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 75 36 34 3c 2f 73 70 61 6e 3e 29 pan.class="tok-type">u64</span>)
8a0a0 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 75 36 34 3c 2f 73 70 61 .<span.class="tok-type">u64</spa
8a0c0 6e 3e 20 7b 0a 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 72 65 n>.{.....<span.class="tok-kw">re
8a0e0 74 75 72 6e 3c 2f 73 70 61 6e 3e 20 6d 61 78 28 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b turn</span>.max(<span.class="tok
8a100 2d 74 79 70 65 22 3e 75 36 34 3c 2f 73 70 61 6e 3e 2c 20 61 2c 20 62 29 3b 0a 7d 3c 2f 63 6f 64 -type">u64</span>,.a,.b);.}</cod
8a120 65 3e 3c 2f 70 72 65 3e 3c 2f 66 69 67 75 72 65 3e 0a 0a 20 20 20 20 20 20 3c 70 3e 0a 20 20 20 e></pre></figure>........<p>....
8a140 20 20 20 49 6e 20 5a 69 67 2c 20 74 79 70 65 73 20 61 72 65 20 66 69 72 73 74 2d 63 6c 61 73 73 ...In.Zig,.types.are.first-class
8a160 20 63 69 74 69 7a 65 6e 73 2e 20 54 68 65 79 20 63 61 6e 20 62 65 20 61 73 73 69 67 6e 65 64 20 .citizens..They.can.be.assigned.
8a180 74 6f 20 76 61 72 69 61 62 6c 65 73 2c 20 70 61 73 73 65 64 20 61 73 20 70 61 72 61 6d 65 74 65 to.variables,.passed.as.paramete
8a1a0 72 73 20 74 6f 20 66 75 6e 63 74 69 6f 6e 73 2c 0a 20 20 20 20 20 20 61 6e 64 20 72 65 74 75 72 rs.to.functions,.......and.retur
8a1c0 6e 65 64 20 66 72 6f 6d 20 66 75 6e 63 74 69 6f 6e 73 2e 20 48 6f 77 65 76 65 72 2c 20 74 68 65 ned.from.functions..However,.the
8a1e0 79 20 63 61 6e 20 6f 6e 6c 79 20 62 65 20 75 73 65 64 20 69 6e 20 65 78 70 72 65 73 73 69 6f 6e y.can.only.be.used.in.expression
8a200 73 20 77 68 69 63 68 20 61 72 65 20 6b 6e 6f 77 6e 20 61 74 20 3c 65 6d 3e 63 6f 6d 70 69 6c 65 s.which.are.known.at.<em>compile
8a220 2d 74 69 6d 65 3c 2f 65 6d 3e 2c 0a 20 20 20 20 20 20 77 68 69 63 68 20 69 73 20 77 68 79 20 74 -time</em>,.......which.is.why.t
8a240 68 65 20 70 61 72 61 6d 65 74 65 72 20 3c 63 6f 64 65 3e 54 3c 2f 63 6f 64 65 3e 20 69 6e 20 74 he.parameter.<code>T</code>.in.t
8a260 68 65 20 61 62 6f 76 65 20 73 6e 69 70 70 65 74 20 6d 75 73 74 20 62 65 20 6d 61 72 6b 65 64 20 he.above.snippet.must.be.marked.
8a280 77 69 74 68 20 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e with.<code><span.class="tok-kw">
8a2a0 63 6f 6d 70 74 69 6d 65 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 2e 0a 20 20 20 20 20 20 3c 2f comptime</span></code>........</
8a2c0 70 3e 0a 20 20 20 20 20 20 3c 70 3e 0a 20 20 20 20 20 20 41 20 3c 63 6f 64 65 3e 3c 73 70 61 6e p>.......<p>.......A.<code><span
8a2e0 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 63 6f 6d 70 74 69 6d 65 3c 2f 73 70 61 6e 3e 3c .class="tok-kw">comptime</span><
8a300 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 20 20 /code>.parameter.means.that:....
8a320 20 20 20 3c 2f 70 3e 0a 20 20 20 20 20 20 3c 75 6c 3e 0a 20 20 20 20 20 20 20 20 3c 6c 69 3e 41 ...</p>.......<ul>.........<li>A
8a340 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 20 62 t.the.callsite,.the.value.must.b
8a360 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 20 69 e.known.at.compile-time,.or.it.i
8a380 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 20 20 s.a.compile.error.</li>.........
8a3a0 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 2c 20 <li>In.the.function.definition,.
8a3c0 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 74 69 the.value.is.known.at.compile-ti
8a3e0 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 0a 20 me.</li>.......</ul>.......<p>..
8a400 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 6f 20 .....For.example,.if.we.were.to.
8a420 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 74 68 introduce.another.function.to.th
8a440 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 20 20 e.above.snippet:.......</p>.....
8a460 20 20 3c 66 69 67 75 72 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
8a480 2d 63 61 70 22 3e 3c 63 69 74 65 20 63 6c 61 73 73 3d 22 66 69 6c 65 22 3e 74 65 73 74 5f 75 6e -cap"><cite.class="file">test_un
8a4a0 72 65 73 6f 6c 76 65 64 5f 63 6f 6d 70 74 69 6d 65 5f 76 61 6c 75 65 2e 7a 69 67 3c 2f 63 69 74 resolved_comptime_value.zig</cit
8a4c0 65 3e 3c 2f 66 69 67 63 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.
8a4e0 63 6c 61 73 73 3d 22 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
8a500 6c 61 73 73 3d 22 74 6f 6b 2d 66 6e 22 3e 6d 61 78 3c 2f 73 70 61 6e 3e 28 3c 73 70 61 6e 20 63 lass="tok-fn">max</span>(<span.c
8a520 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 63 6f 6d 70 74 69 6d 65 3c 2f 73 70 61 6e 3e 20 54 3a lass="tok-kw">comptime</span>.T:
8a540 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 74 79 70 65 3c 2f 73 70 .<span.class="tok-type">type</sp
8a560 61 6e 3e 2c 20 61 3a 20 54 2c 20 62 3a 20 54 29 20 54 20 7b 0a 20 20 20 20 3c 73 70 61 6e 20 63 an>,.a:.T,.b:.T).T.{.....<span.c
8a580 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
8a5a0 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 69 66 3c 2f 73 70 61 6e 3e 20 28 61 20 26 67 n.class="tok-kw">if</span>.(a.&g
8a5c0 74 3b 20 62 29 20 61 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 65 6c 73 t;.b).a.<span.class="tok-kw">els
8a5e0 65 3c 2f 73 70 61 6e 3e 20 62 3b 0a 7d 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b e</span>.b;.}.<span.class="tok-k
8a600 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-
8a620 73 74 72 22 3e 26 71 75 6f 74 3b 74 72 79 20 74 6f 20 70 61 73 73 20 61 20 72 75 6e 74 69 6d 65 str">&quot;try.to.pass.a.runtime
8a640 20 74 79 70 65 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 20 7b 0a 20 20 20 20 66 6f 6f 28 3c 73 70 .type&quot;</span>.{.....foo(<sp
8a660 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>
8a680 29 3b 0a 7d 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 66 6e 3c 2f 73 70 );.}.<span.class="tok-kw">fn</sp
8a6a0 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
8a6c0 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-
8a6e0 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 22 type">bool</span>).<span.class="
8a700 74 6f 6b 2d 74 79 70 65 22 3e 76 6f 69 64 3c 2f 73 70 61 6e 3e 20 7b 0a 20 20 20 20 3c 73 70 61 tok-type">void</span>.{.....<spa
8a720 6e 20 63 6c 61 73 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
8a740 73 75 6c 74 20 3d 20 6d 61 78 28 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e sult.=.max(<span.class="tok-kw">
8a760 69 66 3c 2f 73 70 61 6e 3e 20 28 63 6f 6e 64 69 74 69 6f 6e 29 20 3c 73 70 61 6e 20 63 6c 61 73 if</span>.(condition).<span.clas
8a780 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 66 33 32 3c 2f 73 70 61 6e 3e 20 3c 73 70 61 6e 20 63 6c s="tok-type">f32</span>.<span.cl
8a7a0 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
8a7c0 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 75 36 34 3c 2f 73 70 61 6e 3e 2c 20 3c 73 70 61 lass="tok-type">u64</span>,.<spa
8a7e0 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 31 32 33 34 3c 2f 73 70 61 6e 3e n.class="tok-number">1234</span>
8a800 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 36 37 38 3c ,.<span.class="tok-number">5678<
8a820 2f 73 70 61 6e 3e 29 3b 0a 20 20 20 20 5f 20 3d 20 72 65 73 75 6c 74 3b 0a 7d 3c 2f 63 6f 64 65 /span>);....._.=.result;.}</code
8a840 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
8a860 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
8a880 63 61 70 74 69 6f 6e 3e 3c 70 72 65 3e 3c 73 61 6d 70 3e 24 20 3c 6b 62 64 3e 7a 69 67 20 74 65 caption><pre><samp>$.<kbd>zig.te
8a8a0 73 74 20 74 65 73 74 5f 75 6e 72 65 73 6f 6c 76 65 64 5f 63 6f 6d 70 74 69 6d 65 5f 76 61 6c 75 st.test_unresolved_comptime_valu
8a8c0 65 2e 7a 69 67 3c 2f 6b 62 64 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 73 67 72 2d 31 6d 22 e.zig</kbd>.<span.class="sgr-1m"
8a8e0 3e 2f 68 6f 6d 65 2f 63 69 2f 77 6f 72 6b 2f 7a 69 67 2d 62 6f 6f 74 73 74 72 61 70 2f 7a 69 67 >/home/ci/work/zig-bootstrap/zig
8a900 2f 64 6f 63 2f 6c 61 6e 67 72 65 66 2f 74 65 73 74 5f 75 6e 72 65 73 6f 6c 76 65 64 5f 63 6f 6d /doc/langref/test_unresolved_com
8a920 70 74 69 6d 65 5f 76 61 6c 75 65 2e 7a 69 67 3a 38 3a 32 38 3a 20 3c 2f 73 70 61 6e 3e 3c 73 70 ptime_value.zig:8:28:.</span><sp
8a940 61 6e 20 63 6c 61 73 73 3d 22 73 67 72 2d 33 31 6d 22 3e 65 72 72 6f 72 3a 20 3c 2f 73 70 61 6e an.class="sgr-31m">error:.</span
8a960 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 73 67 72 2d 31 6d 22 3e 75 6e 61 62 6c 65 20 74 6f 20 ><span.class="sgr-1m">unable.to.
8a980 72 65 73 6f 6c 76 65 20 63 6f 6d 70 74 69 6d 65 20 76 61 6c 75 65 0a 3c 2f 73 70 61 6e 3e 20 20 resolve.comptime.value.</span>..
8a9a0 20 20 63 6f 6e 73 74 20 72 65 73 75 6c 74 20 3d 20 6d 61 78 28 69 66 20 28 63 6f 6e 64 69 74 69 ..const.result.=.max(if.(conditi
8a9c0 6f 6e 29 20 66 33 32 20 65 6c 73 65 20 75 36 34 2c 20 31 32 33 34 2c 20 35 36 37 38 29 3b 0a 20 on).f32.else.u64,.1234,.5678);..
8a9e0 20 20 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.
8aa00 63 6c 61 73 73 3d 22 73 67 72 2d 33 32 6d 22 3e 5e 7e 7e 7e 7e 7e 7e 7e 7e 0a 3c 2f 73 70 61 6e class="sgr-32m">^~~~~~~~~.</span
8aa20 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 73 67 72 2d 31 6d 22 3e 2f 68 6f 6d 65 2f 63 69 2f 77 ><span.class="sgr-1m">/home/ci/w
8aa40 6f 72 6b 2f 7a 69 67 2d 62 6f 6f 74 73 74 72 61 70 2f 7a 69 67 2f 64 6f 63 2f 6c 61 6e 67 72 65 ork/zig-bootstrap/zig/doc/langre
8aa60 66 2f 74 65 73 74 5f 75 6e 72 65 73 6f 6c 76 65 64 5f 63 6f 6d 70 74 69 6d 65 5f 76 61 6c 75 65 f/test_unresolved_comptime_value
8aa80 2e 7a 69 67 3a 38 3a 32 34 3a 20 3c 2f 73 70 61 6e 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 73 .zig:8:24:.</span><span.class="s
8aaa0 67 72 2d 33 36 6d 22 3e 6e 6f 74 65 3a 20 3c 2f 73 70 61 6e 3e 3c 73 70 61 6e 20 63 6c 61 73 73 gr-36m">note:.</span><span.class
8aac0 3d 22 73 67 72 2d 31 6d 22 3e 61 72 67 75 6d 65 6e 74 20 74 6f 20 63 6f 6d 70 74 69 6d 65 20 70 ="sgr-1m">argument.to.comptime.p
8aae0 61 72 61 6d 65 74 65 72 20 6d 75 73 74 20 62 65 20 63 6f 6d 70 74 69 6d 65 2d 6b 6e 6f 77 6e 0a arameter.must.be.comptime-known.
8ab00 3c 2f 73 70 61 6e 3e 20 20 20 20 63 6f 6e 73 74 20 72 65 73 75 6c 74 20 3d 20 6d 61 78 28 69 66 </span>....const.result.=.max(if
8ab20 20 28 63 6f 6e 64 69 74 69 6f 6e 29 20 66 33 32 20 65 6c 73 65 20 75 36 34 2c 20 31 32 33 34 2c .(condition).f32.else.u64,.1234,
8ab40 20 35 36 37 38 29 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 3c .5678);........................<
8ab60 73 70 61 6e 20 63 6c 61 73 73 3d 22 73 67 72 2d 33 32 6d 22 3e 5e 7e 7e 7e 7e 7e 7e 7e 7e 7e 7e span.class="sgr-32m">^~~~~~~~~~~
8ab80 7e 7e 7e 7e 7e 7e 7e 7e 7e 7e 7e 7e 7e 7e 7e 7e 0a 3c 2f 73 70 61 6e 3e 3c 73 70 61 6e 20 63 6c ~~~~~~~~~~~~~~~~.</span><span.cl
8aba0 61 73 73 3d 22 73 67 72 2d 31 6d 22 3e 2f 68 6f 6d 65 2f 63 69 2f 77 6f 72 6b 2f 7a 69 67 2d 62 ass="sgr-1m">/home/ci/work/zig-b
8abc0 6f 6f 74 73 74 72 61 70 2f 7a 69 67 2f 64 6f 63 2f 6c 61 6e 67 72 65 66 2f 74 65 73 74 5f 75 6e ootstrap/zig/doc/langref/test_un
8abe0 72 65 73 6f 6c 76 65 64 5f 63 6f 6d 70 74 69 6d 65 5f 76 61 6c 75 65 2e 7a 69 67 3a 31 3a 38 3a resolved_comptime_value.zig:1:8:
8ac00 20 3c 2f 73 70 61 6e 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 73 67 72 2d 33 36 6d 22 3e 6e 6f .</span><span.class="sgr-36m">no
8ac20 74 65 3a 20 3c 2f 73 70 61 6e 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 73 67 72 2d 31 6d 22 3e te:.</span><span.class="sgr-1m">
8ac40 70 61 72 61 6d 65 74 65 72 20 64 65 63 6c 61 72 65 64 20 63 6f 6d 70 74 69 6d 65 20 68 65 72 65 parameter.declared.comptime.here
8ac60 0a 3c 2f 73 70 61 6e 3e 66 6e 20 6d 61 78 28 63 6f 6d 70 74 69 6d 65 20 54 3a 20 74 79 70 65 2c .</span>fn.max(comptime.T:.type,
8ac80 20 61 3a 20 54 2c 20 62 3a 20 54 29 20 54 20 7b 0a 20 20 20 20 20 20 20 3c 73 70 61 6e 20 63 6c .a:.T,.b:.T).T.{........<span.cl
8aca0 61 73 73 3d 22 73 67 72 2d 33 32 6d 22 3e 5e 7e 7e 7e 7e 7e 7e 7e 0a 3c 2f 73 70 61 6e 3e 3c 73 ass="sgr-32m">^~~~~~~~.</span><s
8acc0 70 61 6e 20 63 6c 61 73 73 3d 22 73 67 72 2d 32 6d 22 3e 72 65 66 65 72 65 6e 63 65 64 20 62 79 pan.class="sgr-2m">referenced.by
8ace0 3a 0a 20 20 20 20 74 65 73 74 2e 74 72 79 20 74 6f 20 70 61 73 73 20 61 20 72 75 6e 74 69 6d 65 :.....test.try.to.pass.a.runtime
8ad00 20 74 79 70 65 3a 20 2f 68 6f 6d 65 2f 63 69 2f 77 6f 72 6b 2f 7a 69 67 2d 62 6f 6f 74 73 74 72 .type:./home/ci/work/zig-bootstr
8ad20 61 70 2f 7a 69 67 2f 64 6f 63 2f 6c 61 6e 67 72 65 66 2f 74 65 73 74 5f 75 6e 72 65 73 6f 6c 76 ap/zig/doc/langref/test_unresolv
8ad40 65 64 5f 63 6f 6d 70 74 69 6d 65 5f 76 61 6c 75 65 2e 7a 69 67 3a 35 3a 38 0a 3c 2f 73 70 61 6e ed_comptime_value.zig:5:8.</span
8ad60 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 20 >.</samp></pre></figure>........
8ad80 3c 70 3e 0a 20 20 20 20 20 20 54 68 69 73 20 69 73 20 61 6e 20 65 72 72 6f 72 20 62 65 63 61 75 <p>.......This.is.an.error.becau
8ada0 73 65 20 74 68 65 20 70 72 6f 67 72 61 6d 6d 65 72 20 61 74 74 65 6d 70 74 65 64 20 74 6f 20 70 se.the.programmer.attempted.to.p
8adc0 61 73 73 20 61 20 76 61 6c 75 65 20 6f 6e 6c 79 20 6b 6e 6f 77 6e 20 61 74 20 72 75 6e 2d 74 69 ass.a.value.only.known.at.run-ti
8ade0 6d 65 0a 20 20 20 20 20 20 74 6f 20 61 20 66 75 6e 63 74 69 6f 6e 20 77 68 69 63 68 20 65 78 70 me.......to.a.function.which.exp
8ae00 65 63 74 73 20 61 20 76 61 6c 75 65 20 6b 6e 6f 77 6e 20 61 74 20 63 6f 6d 70 69 6c 65 2d 74 69 ects.a.value.known.at.compile-ti
8ae20 6d 65 2e 0a 20 20 20 20 20 20 3c 2f 70 3e 0a 20 20 20 20 20 20 3c 70 3e 0a 20 20 20 20 20 20 41 me........</p>.......<p>.......A
8ae40 6e 6f 74 68 65 72 20 77 61 79 20 74 6f 20 67 65 74 20 61 6e 20 65 72 72 6f 72 20 69 73 20 69 66 nother.way.to.get.an.error.is.if
8ae60 20 77 65 20 70 61 73 73 20 61 20 74 79 70 65 20 74 68 61 74 20 76 69 6f 6c 61 74 65 73 20 74 68 .we.pass.a.type.that.violates.th
8ae80 65 20 74 79 70 65 20 63 68 65 63 6b 65 72 20 77 68 65 6e 20 74 68 65 0a 20 20 20 20 20 20 66 75 e.type.checker.when.the.......fu
8aea0 6e 63 74 69 6f 6e 20 69 73 20 61 6e 61 6c 79 7a 65 64 2e 20 54 68 69 73 20 69 73 20 77 68 61 74 nction.is.analyzed..This.is.what
8aec0 20 69 74 20 6d 65 61 6e 73 20 74 6f 20 68 61 76 65 20 3c 65 6d 3e 63 6f 6d 70 69 6c 65 2d 74 69 .it.means.to.have.<em>compile-ti
8aee0 6d 65 20 64 75 63 6b 20 74 79 70 69 6e 67 3c 2f 65 6d 3e 2e 0a 20 20 20 20 20 20 3c 2f 70 3e 0a me.duck.typing</em>........</p>.
8af00 20 20 20 20 20 20 3c 70 3e 0a 20 20 20 20 20 20 46 6f 72 20 65 78 61 6d 70 6c 65 3a 0a 20 20 20 ......<p>.......For.example:....
8af20 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
8af40 6e 20 63 6c 61 73 73 3d 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
8af60 69 6c 65 22 3e 74 65 73 74 5f 63 6f 6d 70 74 69 6d 65 5f 6d 69 73 6d 61 74 63 68 65 64 5f 74 79 ile">test_comptime_mismatched_ty
8af80 70 65 2e 7a 69 67 3c 2f 63 69 74 65 3e 3c 2f 66 69 67 63 61 70 74 69 6f 6e 3e 3c 70 72 65 3e 3c pe.zig</cite></figcaption><pre><
8afa0 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 66 6e 3c 2f 73 70 code><span.class="tok-kw">fn</sp
8afc0 61 6e 3e 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 66 6e 22 3e 6d 61 78 3c 2f 73 70 an>.<span.class="tok-fn">max</sp
8afe0 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
8b000 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 70 e</span>.T:.<span.class="tok-typ
8b020 65 22 3e 74 79 70 65 3c 2f 73 70 61 6e 3e 2c 20 61 3a 20 54 2c 20 62 3a 20 54 29 20 54 20 7b 0a e">type</span>,.a:.T,.b:.T).T.{.
8b040 20 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<
8b060 2f 73 70 61 6e 3e 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 69 66 3c 2f /span>.<span.class="tok-kw">if</
8b080 73 70 61 6e 3e 20 28 61 20 26 67 74 3b 20 62 29 20 61 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 span>.(a.&gt;.b).a.<span.class="
8b0a0 74 6f 6b 2d 6b 77 22 3e 65 6c 73 65 3c 2f 73 70 61 6e 3e 20 62 3b 0a 7d 0a 3c 73 70 61 6e 20 63 tok-kw">else</span>.b;.}.<span.c
8b0c0 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.
8b0e0 63 6c 61 73 73 3d 22 74 6f 6b 2d 73 74 72 22 3e 26 71 75 6f 74 3b 74 72 79 20 74 6f 20 63 6f 6d class="tok-str">&quot;try.to.com
8b100 70 61 72 65 20 62 6f 6f 6c 73 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 20 7b 0a 20 20 20 20 5f 20 pare.bools&quot;</span>.{....._.
8b120 3d 20 6d 61 78 28 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 62 6f 6f =.max(<span.class="tok-type">boo
8b140 6c 3c 2f 73 70 61 6e 3e 2c 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6c 6c 22 l</span>,.<span.class="tok-null"
8b160 3e 74 72 75 65 3c 2f 73 70 61 6e 3e 2c 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e >true</span>,.<span.class="tok-n
8b180 75 6c 6c 22 3e 66 61 6c 73 65 3c 2f 73 70 61 6e 3e 29 3b 0a 7d 3c 2f 63 6f 64 65 3e 3c 2f 70 72 ull">false</span>);.}</code></pr
8b1a0 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
8b1c0 6c 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
8b1e0 6f 6e 3e 3c 70 72 65 3e 3c 73 61 6d 70 3e 24 20 3c 6b 62 64 3e 7a 69 67 20 74 65 73 74 20 74 65 on><pre><samp>$.<kbd>zig.test.te
8b200 73 74 5f 63 6f 6d 70 74 69 6d 65 5f 6d 69 73 6d 61 74 63 68 65 64 5f 74 79 70 65 2e 7a 69 67 3c st_comptime_mismatched_type.zig<
8b220 2f 6b 62 64 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 73 67 72 2d 31 6d 22 3e 2f 68 6f 6d 65 /kbd>.<span.class="sgr-1m">/home
8b240 2f 63 69 2f 77 6f 72 6b 2f 7a 69 67 2d 62 6f 6f 74 73 74 72 61 70 2f 7a 69 67 2f 64 6f 63 2f 6c /ci/work/zig-bootstrap/zig/doc/l
8b260 61 6e 67 72 65 66 2f 74 65 73 74 5f 63 6f 6d 70 74 69 6d 65 5f 6d 69 73 6d 61 74 63 68 65 64 5f angref/test_comptime_mismatched_
8b280 74 79 70 65 2e 7a 69 67 3a 32 3a 31 38 3a 20 3c 2f 73 70 61 6e 3e 3c 73 70 61 6e 20 63 6c 61 73 type.zig:2:18:.</span><span.clas
8b2a0 73 3d 22 73 67 72 2d 33 31 6d 22 3e 65 72 72 6f 72 3a 20 3c 2f 73 70 61 6e 3e 3c 73 70 61 6e 20 s="sgr-31m">error:.</span><span.
8b2c0 63 6c 61 73 73 3d 22 73 67 72 2d 31 6d 22 3e 6f 70 65 72 61 74 6f 72 20 26 67 74 3b 20 6e 6f 74 class="sgr-1m">operator.&gt;.not
8b2e0 20 61 6c 6c 6f 77 65 64 20 66 6f 72 20 74 79 70 65 20 27 62 6f 6f 6c 27 0a 3c 2f 73 70 61 6e 3e .allowed.for.type.'bool'.</span>
8b300 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.
8b320 62 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 73 b;................<span.class="s
8b340 67 72 2d 33 32 6d 22 3e 7e 7e 5e 7e 7e 0a 3c 2f 73 70 61 6e 3e 3c 73 70 61 6e 20 63 6c 61 73 73 gr-32m">~~^~~.</span><span.class
8b360 3d 22 73 67 72 2d 32 6d 22 3e 72 65 66 65 72 65 6e 63 65 64 20 62 79 3a 0a 20 20 20 20 74 65 73 ="sgr-2m">referenced.by:.....tes
8b380 74 2e 74 72 79 20 74 6f 20 63 6f 6d 70 61 72 65 20 62 6f 6f 6c 73 3a 20 2f 68 6f 6d 65 2f 63 69 t.try.to.compare.bools:./home/ci
8b3a0 2f 77 6f 72 6b 2f 7a 69 67 2d 62 6f 6f 74 73 74 72 61 70 2f 7a 69 67 2f 64 6f 63 2f 6c 61 6e 67 /work/zig-bootstrap/zig/doc/lang
8b3c0 72 65 66 2f 74 65 73 74 5f 63 6f 6d 70 74 69 6d 65 5f 6d 69 73 6d 61 74 63 68 65 64 5f 74 79 70 ref/test_comptime_mismatched_typ
8b3e0 65 2e 7a 69 67 3a 35 3a 31 32 0a 3c 2f 73 70 61 6e 3e 0a 3c 2f 73 61 6d 70 3e 3c 2f 70 72 65 3e e.zig:5:12.</span>.</samp></pre>
8b400 3c 2f 66 69 67 75 72 65 3e 0a 0a 20 20 20 20 20 20 3c 70 3e 0a 20 20 20 20 20 20 4f 6e 20 74 68 </figure>........<p>.......On.th
8b420 65 20 66 6c 69 70 20 73 69 64 65 2c 20 69 6e 73 69 64 65 20 74 68 65 20 66 75 6e 63 74 69 6f 6e e.flip.side,.inside.the.function
8b440 20 64 65 66 69 6e 69 74 69 6f 6e 20 77 69 74 68 20 74 68 65 20 3c 63 6f 64 65 3e 3c 73 70 61 6e .definition.with.the.<code><span
8b460 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 63 6f 6d 70 74 69 6d 65 3c 2f 73 70 61 6e 3e 3c .class="tok-kw">comptime</span><
8b480 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 75 /code>.parameter,.the.......valu
8b4a0 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 73 e.is.known.at.compile-time..This
8b4c0 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 61 .means.that.we.actually.could.ma
8b4e0 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 20 ke.this.work.for.the.bool.type..
8b500 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 3e .....if.we.wanted.to:.......</p>
8b520 0a 20 20 20 20 20 20 3c 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
8b540 3d 22 7a 69 67 2d 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
8b560 73 74 5f 63 6f 6d 70 74 69 6d 65 5f 6d 61 78 5f 77 69 74 68 5f 62 6f 6f 6c 2e 7a 69 67 3c 2f 63 st_comptime_max_with_bool.zig</c
8b580 69 74 65 3e 3c 2f 66 69 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
8b5a0 6e 20 63 6c 61 73 73 3d 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
8b5c0 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 66 6e 22 3e 6d 61 78 3c 2f 73 70 61 6e 3e 28 3c 73 70 61 6e .class="tok-fn">max</span>(<span
8b5e0 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>.
8b600 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</
8b620 73 70 61 6e 3e 2c 20 61 3a 20 54 2c 20 62 3a 20 54 29 20 54 20 7b 0a 20 20 20 20 3c 73 70 61 6e span>,.a:.T,.b:.T).T.{.....<span
8b640 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 69 66 3c 2f 73 70 61 6e 3e 20 28 54 20 3d 3d 20 .class="tok-kw">if</span>.(T.==.
8b660 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
8b680 6e 3e 29 20 7b 0a 20 20 20 20 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b n>).{.........<span.class="tok-k
8b6a0 77 22 3e 72 65 74 75 72 6e 3c 2f 73 70 61 6e 3e 20 61 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 w">return</span>.a.<span.class="
8b6c0 74 6f 6b 2d 6b 77 22 3e 6f 72 3c 2f 73 70 61 6e 3e 20 62 3b 0a 20 20 20 20 7d 20 3c 73 70 61 6e tok-kw">or</span>.b;.....}.<span
8b6e0 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 65 6c 73 65 3c 2f 73 70 61 6e 3e 20 3c 73 70 61 .class="tok-kw">else</span>.<spa
8b700 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 69 66 3c 2f 73 70 61 6e 3e 20 28 61 20 26 67 n.class="tok-kw">if</span>.(a.&g
8b720 74 3b 20 62 29 20 7b 0a 20 20 20 20 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b t;.b).{.........<span.class="tok
8b740 2d 6b 77 22 3e 72 65 74 75 72 6e 3c 2f 73 70 61 6e 3e 20 61 3b 0a 20 20 20 20 7d 20 3c 73 70 61 -kw">return</span>.a;.....}.<spa
8b760 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 0a 20 n.class="tok-kw">else</span>.{..
8b780 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
8b7a0 72 6e 3c 2f 73 70 61 6e 3e 20 62 3b 0a 20 20 20 20 7d 0a 7d 0a 3c 73 70 61 6e 20 63 6c 61 73 73 rn</span>.b;.....}.}.<span.class
8b7c0 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
8b7e0 73 3d 22 74 6f 6b 2d 73 74 72 22 3e 26 71 75 6f 74 3b 74 72 79 20 74 6f 20 63 6f 6d 70 61 72 65 s="tok-str">&quot;try.to.compare
8b800 20 62 6f 6f 6c 73 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 20 7b 0a 20 20 20 20 3c 73 70 61 6e 20 .bools&quot;</span>.{.....<span.
8b820 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 74 72 79 3c 2f 73 70 61 6e 3e 20 3c 73 70 61 6e 20 class="tok-kw">try</span>.<span.
8b840 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
8b860 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
8b880 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 45 td&quot;</span>).testing.expectE
8b8a0 71 75 61 6c 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 qual(<span.class="tok-null">true
8b8c0 3c 2f 73 70 61 6e 3e 2c 20 6d 61 78 28 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 </span>,.max(<span.class="tok-ty
8b8e0 70 65 22 3e 62 6f 6f 6c 3c 2f 73 70 61 6e 3e 2c 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f pe">bool</span>,.<span.class="to
8b900 6b 2d 6e 75 6c 6c 22 3e 66 61 6c 73 65 3c 2f 73 70 61 6e 3e 2c 20 3c 73 70 61 6e 20 63 6c 61 73 k-null">false</span>,.<span.clas
8b920 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 29 3b 0a 7d 3c 2f 63 s="tok-null">true</span>));.}</c
8b940 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
8b960 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</
8b980 66 69 67 63 61 70 74 69 6f 6e 3e 3c 70 72 65 3e 3c 73 61 6d 70 3e 24 20 3c 6b 62 64 3e 7a 69 67 figcaption><pre><samp>$.<kbd>zig
8b9a0 20 74 65 73 74 20 74 65 73 74 5f 63 6f 6d 70 74 69 6d 65 5f 6d 61 78 5f 77 69 74 68 5f 62 6f 6f .test.test_comptime_max_with_boo
8b9c0 6c 2e 7a 69 67 3c 2f 6b 62 64 3e 0a 31 2f 31 20 74 65 73 74 5f 63 6f 6d 70 74 69 6d 65 5f 6d 61 l.zig</kbd>.1/1.test_comptime_ma
8b9e0 78 5f 77 69 74 68 5f 62 6f 6f 6c 2e 74 65 73 74 2e 74 72 79 20 74 6f 20 63 6f 6d 70 61 72 65 20 x_with_bool.test.try.to.compare.
8ba00 62 6f 6f 6c 73 2e 2e 2e 4f 4b 0a 41 6c 6c 20 31 20 74 65 73 74 73 20 70 61 73 73 65 64 2e 0a 3c bools...OK.All.1.tests.passed..<
8ba20 2f 73 61 6d 70 3e 3c 2f 70 72 65 3e 3c 2f 66 69 67 75 72 65 3e 0a 0a 20 20 20 20 20 20 3c 70 3e /samp></pre></figure>........<p>
8ba40 0a 20 20 20 20 20 20 54 68 69 73 20 77 6f 72 6b 73 20 62 65 63 61 75 73 65 20 5a 69 67 20 69 6d .......This.works.because.Zig.im
8ba60 70 6c 69 63 69 74 6c 79 20 69 6e 6c 69 6e 65 73 20 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 plicitly.inlines.<code><span.cla
8ba80 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 69 66 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 20 65 78 70 ss="tok-kw">if</span></code>.exp
8baa0 72 65 73 73 69 6f 6e 73 20 77 68 65 6e 20 74 68 65 20 63 6f 6e 64 69 74 69 6f 6e 0a 20 20 20 20 ressions.when.the.condition.....
8bac0 20 20 69 73 20 6b 6e 6f 77 6e 20 61 74 20 63 6f 6d 70 69 6c 65 2d 74 69 6d 65 2c 20 61 6e 64 20 ..is.known.at.compile-time,.and.
8bae0 74 68 65 20 63 6f 6d 70 69 6c 65 72 20 67 75 61 72 61 6e 74 65 65 73 20 74 68 61 74 20 69 74 20 the.compiler.guarantees.that.it.
8bb00 77 69 6c 6c 20 73 6b 69 70 20 61 6e 61 6c 79 73 69 73 20 6f 66 0a 20 20 20 20 20 20 74 68 65 20 will.skip.analysis.of.......the.
8bb20 62 72 61 6e 63 68 20 6e 6f 74 20 74 61 6b 65 6e 2e 0a 20 20 20 20 20 20 3c 2f 70 3e 0a 20 20 20 branch.not.taken........</p>....
8bb40 20 20 20 3c 70 3e 0a 20 20 20 20 20 20 54 68 69 73 20 6d 65 61 6e 73 20 74 68 61 74 20 74 68 65 ...<p>.......This.means.that.the
8bb60 20 61 63 74 75 61 6c 20 66 75 6e 63 74 69 6f 6e 20 67 65 6e 65 72 61 74 65 64 20 66 6f 72 20 3c .actual.function.generated.for.<
8bb80 63 6f 64 65 3e 6d 61 78 3c 2f 63 6f 64 65 3e 20 69 6e 20 74 68 69 73 20 73 69 74 75 61 74 69 6f code>max</code>.in.this.situatio
8bba0 6e 20 6c 6f 6f 6b 73 20 6c 69 6b 65 0a 20 20 20 20 20 20 74 68 69 73 3a 0a 20 20 20 20 20 20 3c n.looks.like.......this:.......<
8bbc0 2f 70 3e 0a 20 20 20 20 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
8bbe0 61 73 73 3d 22 7a 69 67 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"
8bc00 3e 63 6f 6d 70 69 6c 65 72 5f 67 65 6e 65 72 61 74 65 64 5f 66 75 6e 63 74 69 6f 6e 2e 7a 69 67 >compiler_generated_function.zig
8bc20 3c 2f 63 69 74 65 3e 3c 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><
8bc40 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
8bc60 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 66 6e 22 3e 6d 61 78 3c 2f 73 70 61 6e 3e 28 61 3a pan.class="tok-fn">max</span>(a:
8bc80 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 62 6f 6f 6c 3c 2f 73 70 .<span.class="tok-type">bool</sp
8bca0 61 6e 3e 2c 20 62 3a 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 62 an>,.b:.<span.class="tok-type">b
8bcc0 6f 6f 6c 3c 2f 73 70 61 6e 3e 29 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 ool</span>).<span.class="tok-typ
8bce0 65 22 3e 62 6f 6f 6c 3c 2f 73 70 61 6e 3e 20 7b 0a 20 20 20 20 7b 0a 20 20 20 20 20 20 20 20 3c e">bool</span>.{.....{.........<
8bd00 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
8bd20 3e 20 61 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 6f 72 3c 2f 73 70 61 >.a.<span.class="tok-kw">or</spa
8bd40 6e 3e 20 62 3b 0a 20 20 20 20 7d 0a 7d 3c 2f 63 6f 64 65 3e 3c 2f 70 72 65 3e 3c 2f 66 69 67 75 n>.b;.....}.}</code></pre></figu
8bd60 72 65 3e 0a 0a 20 20 20 20 20 20 3c 70 3e 0a 20 20 20 20 20 20 41 6c 6c 20 74 68 65 20 63 6f 64 re>........<p>.......All.the.cod
8bd80 65 20 74 68 61 74 20 64 65 61 6c 74 20 77 69 74 68 20 63 6f 6d 70 69 6c 65 2d 74 69 6d 65 20 6b e.that.dealt.with.compile-time.k
8bda0 6e 6f 77 6e 20 76 61 6c 75 65 73 20 69 73 20 65 6c 69 6d 69 6e 61 74 65 64 20 61 6e 64 20 77 65 nown.values.is.eliminated.and.we
8bdc0 20 61 72 65 20 6c 65 66 74 20 77 69 74 68 20 6f 6e 6c 79 0a 20 20 20 20 20 20 74 68 65 20 6e 65 .are.left.with.only.......the.ne
8bde0 63 65 73 73 61 72 79 20 72 75 6e 2d 74 69 6d 65 20 63 6f 64 65 20 74 6f 20 61 63 63 6f 6d 70 6c cessary.run-time.code.to.accompl
8be00 69 73 68 20 74 68 65 20 74 61 73 6b 2e 0a 20 20 20 20 20 20 3c 2f 70 3e 0a 20 20 20 20 20 20 3c ish.the.task........</p>.......<
8be20 70 3e 0a 20 20 20 20 20 20 54 68 69 73 20 77 6f 72 6b 73 20 74 68 65 20 73 61 6d 65 20 77 61 79 p>.......This.works.the.same.way
8be40 20 66 6f 72 20 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e .for.<code><span.class="tok-kw">
8be60 73 77 69 74 63 68 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 20 65 78 70 72 65 73 73 69 6f 6e 73 switch</span></code>.expressions
8be80 20 2d 20 74 68 65 79 20 61 72 65 20 69 6d 70 6c 69 63 69 74 6c 79 20 69 6e 6c 69 6e 65 64 0a 20 .-.they.are.implicitly.inlined..
8bea0 20 20 20 20 20 77 68 65 6e 20 74 68 65 20 74 61 72 67 65 74 20 65 78 70 72 65 73 73 69 6f 6e 20 .....when.the.target.expression.
8bec0 69 73 20 63 6f 6d 70 69 6c 65 2d 74 69 6d 65 20 6b 6e 6f 77 6e 2e 0a 20 20 20 20 20 20 3c 2f 70 is.compile-time.known........</p
8bee0 3e 0a 20 20 20 20 20 20 0a 20 20 20 20 20 20 3c 68 34 20 69 64 3d 22 43 6f 6d 70 69 6c 65 2d 54 >..............<h4.id="Compile-T
8bf00 69 6d 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 ime-Variables"><a.href="nav.xhtm
8bf20 6c 23 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 l#toc-Compile-Time-Variables">Co
8bf40 6d 70 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 mpile-Time.Variables</a>.<a.clas
8bf60 73 3d 22 68 64 72 22 20 68 72 65 66 3d 22 23 43 6f 6d 70 69 6c 65 2d 54 69 6d 65 2d 56 61 72 69 s="hdr".href="#Compile-Time-Vari
8bf80 61 62 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 ables">..</a></h4>........<p>...
8bfa0 20 20 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 ....In.Zig,.the.programmer.can.l
8bfc0 61 62 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 abel.variables.as.<code><span.cl
8bfe0 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 63 6f 6d 70 74 69 6d 65 3c 2f 73 70 61 6e 3e 3c 2f 63 6f ass="tok-kw">comptime</span></co
8c000 64 65 3e 2e 20 54 68 69 73 20 67 75 61 72 61 6e 74 65 65 73 20 74 6f 20 74 68 65 20 63 6f 6d 70 de>..This.guarantees.to.the.comp
8c020 69 6c 65 72 0a 20 20 20 20 20 20 74 68 61 74 20 65 76 65 72 79 20 6c 6f 61 64 20 61 6e 64 20 73 iler.......that.every.load.and.s
8c040 74 6f 72 65 20 6f 66 20 74 68 65 20 76 61 72 69 61 62 6c 65 20 69 73 20 70 65 72 66 6f 72 6d 65 tore.of.the.variable.is.performe
8c060 64 20 61 74 20 63 6f 6d 70 69 6c 65 2d 74 69 6d 65 2e 20 41 6e 79 20 76 69 6f 6c 61 74 69 6f 6e d.at.compile-time..Any.violation
8c080 20 6f 66 20 74 68 69 73 20 72 65 73 75 6c 74 73 20 69 6e 20 61 0a 20 20 20 20 20 20 63 6f 6d 70 .of.this.results.in.a.......comp
8c0a0 69 6c 65 20 65 72 72 6f 72 2e 0a 20 20 20 20 20 20 3c 2f 70 3e 0a 20 20 20 20 20 20 3c 70 3e 0a ile.error........</p>.......<p>.
8c0c0 20 20 20 20 20 20 54 68 69 73 20 63 6f 6d 62 69 6e 65 64 20 77 69 74 68 20 74 68 65 20 66 61 63 ......This.combined.with.the.fac
8c0e0 74 20 74 68 61 74 20 77 65 20 63 61 6e 20 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d t.that.we.can.<code><span.class=
8c100 22 74 6f 6b 2d 6b 77 22 3e 69 6e 6c 69 6e 65 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 20 6c 6f "tok-kw">inline</span></code>.lo
8c120 6f 70 73 20 61 6c 6c 6f 77 73 20 75 73 20 74 6f 20 77 72 69 74 65 0a 20 20 20 20 20 20 61 20 66 ops.allows.us.to.write.......a.f
8c140 75 6e 63 74 69 6f 6e 20 77 68 69 63 68 20 69 73 20 70 61 72 74 69 61 6c 6c 79 20 65 76 61 6c 75 unction.which.is.partially.evalu
8c160 61 74 65 64 20 61 74 20 63 6f 6d 70 69 6c 65 2d 74 69 6d 65 20 61 6e 64 20 70 61 72 74 69 61 6c ated.at.compile-time.and.partial
8c180 6c 79 20 61 74 20 72 75 6e 2d 74 69 6d 65 2e 0a 20 20 20 20 20 20 3c 2f 70 3e 0a 20 20 20 20 20 ly.at.run-time........</p>......
8c1a0 20 3c 70 3e 0a 20 20 20 20 20 20 46 6f 72 20 65 78 61 6d 70 6c 65 3a 0a 20 20 20 20 20 20 3c 2f .<p>.......For.example:.......</
8c1c0 70 3e 0a 20 20 20 20 20 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
8c1e0 73 73 3d 22 7a 69 67 2d 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">
8c200 74 65 73 74 5f 63 6f 6d 70 74 69 6d 65 5f 65 76 61 6c 75 61 74 69 6f 6e 2e 7a 69 67 3c 2f 63 69 test_comptime_evaluation.zig</ci
8c220 74 65 3e 3c 2f 66 69 67 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
8c240 20 63 6c 61 73 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
8c260 65 63 74 45 71 75 61 6c 20 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 62 75 69 6c ectEqual.=.<span.class="tok-buil
8c280 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=
8c2a0 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>
8c2c0 29 2e 74 65 73 74 69 6e 67 2e 65 78 70 65 63 74 45 71 75 61 6c 3b 0a 0a 3c 73 70 61 6e 20 63 6c ).testing.expectEqual;..<span.cl
8c2e0 61 73 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 64 46 6e 20 ass="tok-kw">const</span>.CmdFn.
8c300 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
8c320 70 61 6e 3e 20 7b 0a 20 20 20 20 6e 61 6d 65 3a 20 5b 5d 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 pan>.{.....name:.[]<span.class="
8c340 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
8c360 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 75 38 3c 2f 73 70 61 6e 3e 2c 0a 20 20 20 20 66 75 6e 63 3a ="tok-type">u8</span>,.....func:
8c380 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>.
8c3a0 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
8c3c0 6e 3e 29 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 69 33 32 3c 2f n>).<span.class="tok-type">i32</
8c3e0 73 70 61 6e 3e 2c 0a 7d 3b 0a 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e span>,.};..<span.class="tok-kw">
8c400 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 6d 64 46 6e 7b const</span>.cmd_fns.=.[_]CmdFn{
8c420 0a 20 20 20 20 43 6d 64 46 6e 7b 20 2e 6e 61 6d 65 20 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d .....CmdFn{..name.=.<span.class=
8c440 22 74 6f 6b 2d 73 74 72 22 3e 26 71 75 6f 74 3b 6f 6e 65 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e "tok-str">&quot;one&quot;</span>
8c460 2c 20 2e 66 75 6e 63 20 3d 20 6f 6e 65 20 7d 2c 0a 20 20 20 20 43 6d 64 46 6e 7b 20 2e 6e 61 6d ,..func.=.one.},.....CmdFn{..nam
8c480 65 20 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 73 74 72 22 3e 26 71 75 6f 74 3b e.=.<span.class="tok-str">&quot;
8c4a0 74 77 6f 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 2c 20 2e 66 75 6e 63 20 3d 20 74 77 6f 20 7d 2c two&quot;</span>,..func.=.two.},
8c4c0 0a 20 20 20 20 43 6d 64 46 6e 7b 20 2e 6e 61 6d 65 20 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d .....CmdFn{..name.=.<span.class=
8c4e0 22 74 6f 6b 2d 73 74 72 22 3e 26 71 75 6f 74 3b 74 68 72 65 65 26 71 75 6f 74 3b 3c 2f 73 70 61 "tok-str">&quot;three&quot;</spa
8c500 6e 3e 2c 20 2e 66 75 6e 63 20 3d 20 74 68 72 65 65 20 7d 2c 0a 7d 3b 0a 3c 73 70 61 6e 20 63 6c n>,..func.=.three.},.};.<span.cl
8c520 61 73 73 3d 22 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
8c540 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 3a 20 3c 73 ss="tok-fn">one</span>(value:.<s
8c560 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 69 33 32 3c 2f 73 70 61 6e 3e 29 pan.class="tok-type">i32</span>)
8c580 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
8c5a0 6e 3e 20 7b 0a 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 72 65 n>.{.....<span.class="tok-kw">re
8c5c0 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=
8c5e0 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 31 3c 2f 73 70 61 6e 3e 3b 0a 7d 0a 3c 73 70 61 6e 20 63 "tok-number">1</span>;.}.<span.c
8c600 6c 61 73 73 3d 22 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
8c620 61 73 73 3d 22 74 6f 6b 2d 66 6e 22 3e 74 77 6f 3c 2f 73 70 61 6e 3e 28 76 61 6c 75 65 3a 20 3c ass="tok-fn">two</span>(value:.<
8c640 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>
8c660 29 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 69 33 32 3c 2f 73 70 ).<span.class="tok-type">i32</sp
8c680 61 6e 3e 20 7b 0a 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 72 an>.{.....<span.class="tok-kw">r
8c6a0 65 74 75 72 6e 3c 2f 73 70 61 6e 3e 20 76 61 6c 75 65 20 2b 20 3c 73 70 61 6e 20 63 6c 61 73 73 eturn</span>.value.+.<span.class
8c6c0 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 32 3c 2f 73 70 61 6e 3e 3b 0a 7d 0a 3c 73 70 61 6e 20 ="tok-number">2</span>;.}.<span.
8c6e0 63 6c 61 73 73 3d 22 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
8c700 6c 61 73 73 3d 22 74 6f 6b 2d 66 6e 22 3e 74 68 72 65 65 3c 2f 73 70 61 6e 3e 28 76 61 6c 75 65 lass="tok-fn">three</span>(value
8c720 3a 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
8c740 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<
8c760 2f 73 70 61 6e 3e 20 7b 0a 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 /span>.{.....<span.class="tok-kw
8c780 22 3e 72 65 74 75 72 6e 3c 2f 73 70 61 6e 3e 20 76 61 6c 75 65 20 2b 20 3c 73 70 61 6e 20 63 6c ">return</span>.value.+.<span.cl
8c7a0 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 33 3c 2f 73 70 61 6e 3e 3b 0a 7d 0a 0a 3c 73 ass="tok-number">3</span>;.}..<s
8c7c0 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
8c7e0 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
8c800 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
8c820 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
8c840 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
8c860 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</
8c880 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
8c8a0 32 3c 2f 73 70 61 6e 3e 20 7b 0a 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 2</span>.{.....<span.class="tok-
8c8c0 6b 77 22 3e 76 61 72 3c 2f 73 70 61 6e 3e 20 72 65 73 75 6c 74 3a 20 3c 73 70 61 6e 20 63 6c 61 kw">var</span>.result:.<span.cla
8c8e0 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 73 74 61 72 74 ss="tok-type">i32</span>.=.start
8c900 5f 76 61 6c 75 65 3b 0a 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 _value;.....<span.class="tok-kw"
8c920 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
8c940 6b 2d 6b 77 22 3e 76 61 72 3c 2f 73 70 61 6e 3e 20 69 20 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 k-kw">var</span>.i.=.<span.class
8c960 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 30 3c 2f 73 70 61 6e 3e 3b 0a 20 20 20 20 3c 73 70 61 ="tok-number">0</span>;.....<spa
8c980 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 69 6e 6c 69 6e 65 3c 2f 73 70 61 6e 3e 20 3c n.class="tok-kw">inline</span>.<
8c9a0 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>
8c9c0 20 28 69 20 26 6c 74 3b 20 63 6d 64 5f 66 6e 73 2e 6c 65 6e 29 20 3a 20 28 69 20 2b 3d 20 3c 73 .(i.&lt;.cmd_fns.len).:.(i.+=.<s
8c9e0 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 31 3c 2f 73 70 61 6e 3e 29 pan.class="tok-number">1</span>)
8ca00 20 7b 0a 20 20 20 20 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e .{.........<span.class="tok-kw">
8ca20 69 66 3c 2f 73 70 61 6e 3e 20 28 63 6d 64 5f 66 6e 73 5b 69 5d 2e 6e 61 6d 65 5b 3c 73 70 61 6e if</span>.(cmd_fns[i].name[<span
8ca40 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 30 3c 2f 73 70 61 6e 3e 5d 20 3d 3d .class="tok-number">0</span>].==
8ca60 20 70 72 65 66 69 78 5f 63 68 61 72 29 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 72 65 73 75 .prefix_char).{.............resu
8ca80 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 0a 20 20 lt.=.cmd_fns[i].func(result);...
8caa0 20 20 20 20 20 20 7d 0a 20 20 20 20 7d 0a 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 ......}.....}.....<span.class="t
8cac0 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 0a 7d 0a 0a ok-kw">return</span>.result;.}..
8cae0 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>
8cb00 20 3c 73 70 61 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 .<span.class="tok-str">&quot;per
8cb20 66 6f 72 6d 20 66 6e 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 20 7b 0a 20 20 20 20 3c 73 70 61 6e form.fn&quot;</span>.{.....<span
8cb40 20 63 6c 61 73 73 3d 22 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
8cb60 74 45 71 75 61 6c 28 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e tEqual(<span.class="tok-number">
8cb80 36 3c 2f 73 70 61 6e 3e 2c 20 70 65 72 66 6f 72 6d 46 6e 28 3c 73 70 61 6e 20 63 6c 61 73 73 3d 6</span>,.performFn(<span.class=
8cba0 22 74 6f 6b 2d 73 74 72 22 3e 27 74 27 3c 2f 73 70 61 6e 3e 2c 20 3c 73 70 61 6e 20 63 6c 61 73 "tok-str">'t'</span>,.<span.clas
8cbc0 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 31 3c 2f 73 70 61 6e 3e 29 29 3b 0a 20 20 20 20 3c s="tok-number">1</span>));.....<
8cbe0 73 70 61 6e 20 63 6c 61 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
8cc00 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
8cc20 65 72 22 3e 31 3c 2f 73 70 61 6e 3e 2c 20 70 65 72 66 6f 72 6d 46 6e 28 3c 73 70 61 6e 20 63 6c er">1</span>,.performFn(<span.cl
8cc40 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 20 3c 73 70 61 6e 20 ass="tok-str">'o'</span>,.<span.
8cc60 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 30 3c 2f 73 70 61 6e 3e 29 29 3b 0a 20 class="tok-number">0</span>));..
8cc80 20 20 20 3c 73 70 61 6e 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
8cca0 6e 3e 20 65 78 70 65 63 74 45 71 75 61 6c 28 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d n>.expectEqual(<span.class="tok-
8ccc0 6e 75 6d 62 65 72 22 3e 39 39 3c 2f 73 70 61 6e 3e 2c 20 70 65 72 66 6f 72 6d 46 6e 28 3c 73 70 number">99</span>,.performFn(<sp
8cce0 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>,.<
8cd00 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
8cd20 3e 29 29 3b 0a 7d 3c 2f 63 6f 64 65 3e 3c 2f 70 72 65 3e 3c 2f 66 69 67 75 72 65 3e 3c 66 69 67 >));.}</code></pre></figure><fig
8cd40 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
8cd60 22 3e 53 68 65 6c 6c 3c 2f 66 69 67 63 61 70 74 69 6f 6e 3e 3c 70 72 65 3e 3c 73 61 6d 70 3e 24 ">Shell</figcaption><pre><samp>$
8cd80 20 3c 6b 62 64 3e 7a 69 67 20 74 65 73 74 20 74 65 73 74 5f 63 6f 6d 70 74 69 6d 65 5f 65 76 61 .<kbd>zig.test.test_comptime_eva
8cda0 6c 75 61 74 69 6f 6e 2e 7a 69 67 3c 2f 6b 62 64 3e 0a 31 2f 31 20 74 65 73 74 5f 63 6f 6d 70 74 luation.zig</kbd>.1/1.test_compt
8cdc0 69 6d 65 5f 65 76 61 6c 75 61 74 69 6f 6e 2e 74 65 73 74 2e 70 65 72 66 6f 72 6d 20 66 6e 2e 2e ime_evaluation.test.perform.fn..
8cde0 2e 4f 4b 0a 41 6c 6c 20 31 20 74 65 73 74 73 20 70 61 73 73 65 64 2e 0a 3c 2f 73 61 6d 70 3e 3c .OK.All.1.tests.passed..</samp><
8ce00 2f 70 72 65 3e 3c 2f 66 69 67 75 72 65 3e 0a 0a 20 20 20 20 20 20 3c 70 3e 0a 20 20 20 20 20 20 /pre></figure>........<p>.......
8ce20 54 68 69 73 20 65 78 61 6d 70 6c 65 20 69 73 20 61 20 62 69 74 20 63 6f 6e 74 72 69 76 65 64 2c This.example.is.a.bit.contrived,
8ce40 20 62 65 63 61 75 73 65 20 74 68 65 20 63 6f 6d 70 69 6c 65 2d 74 69 6d 65 20 65 76 61 6c 75 61 .because.the.compile-time.evalua
8ce60 74 69 6f 6e 20 63 6f 6d 70 6f 6e 65 6e 74 20 69 73 20 75 6e 6e 65 63 65 73 73 61 72 79 3b 0a 20 tion.component.is.unnecessary;..
8ce80 20 20 20 20 20 74 68 69 73 20 63 6f 64 65 20 77 6f 75 6c 64 20 77 6f 72 6b 20 66 69 6e 65 20 69 .....this.code.would.work.fine.i
8cea0 66 20 69 74 20 77 61 73 20 61 6c 6c 20 64 6f 6e 65 20 61 74 20 72 75 6e 2d 74 69 6d 65 2e 20 42 f.it.was.all.done.at.run-time..B
8cec0 75 74 20 69 74 20 64 6f 65 73 20 65 6e 64 20 75 70 20 67 65 6e 65 72 61 74 69 6e 67 0a 20 20 20 ut.it.does.end.up.generating....
8cee0 20 20 20 64 69 66 66 65 72 65 6e 74 20 63 6f 64 65 2e 20 49 6e 20 74 68 69 73 20 65 78 61 6d 70 ...different.code..In.this.examp
8cf00 6c 65 2c 20 74 68 65 20 66 75 6e 63 74 69 6f 6e 20 3c 63 6f 64 65 3e 70 65 72 66 6f 72 6d 46 6e le,.the.function.<code>performFn
8cf20 3c 2f 63 6f 64 65 3e 20 69 73 20 67 65 6e 65 72 61 74 65 64 20 74 68 72 65 65 20 64 69 66 66 65 </code>.is.generated.three.diffe
8cf40 72 65 6e 74 20 74 69 6d 65 73 2c 0a 20 20 20 20 20 20 20 20 20 20 66 6f 72 20 74 68 65 20 64 69 rent.times,...........for.the.di
8cf60 66 66 65 72 65 6e 74 20 76 61 6c 75 65 73 20 6f 66 20 3c 63 6f 64 65 3e 70 72 65 66 69 78 5f 63 fferent.values.of.<code>prefix_c
8cf80 68 61 72 3c 2f 63 6f 64 65 3e 20 70 72 6f 76 69 64 65 64 3a 0a 20 20 20 20 20 20 3c 2f 70 3e 0a har</code>.provided:.......</p>.
8cfa0 20 20 20 20 20 20 3c 66 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=
8cfc0 22 7a 69 67 2d 63 61 70 22 3e 3c 63 69 74 65 20 63 6c 61 73 73 3d 22 66 69 6c 65 22 3e 70 65 72 "zig-cap"><cite.class="file">per
8cfe0 66 6f 72 6d 46 6e 5f 31 3c 2f 63 69 74 65 3e 3c 2f 66 69 67 63 61 70 74 69 6f 6e 3e 3c 70 72 65 formFn_1</cite></figcaption><pre
8d000 3e 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 63 6f 6d 6d 65 6e 74 22 ><code><span.class="tok-comment"
8d020 3e 2f 2f 20 46 72 6f 6d 20 74 68 65 20 6c 69 6e 65 3a 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 >//.From.the.line:</span>.<span.
8d040 63 6c 61 73 73 3d 22 74 6f 6b 2d 63 6f 6d 6d 65 6e 74 22 3e 2f 2f 20 65 78 70 65 63 74 28 70 65 class="tok-comment">//.expect(pe
8d060 72 66 6f 72 6d 46 6e 28 27 74 27 2c 20 31 29 20 3d 3d 20 36 29 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 rformFn('t',.1).==.6);</span>.<s
8d080 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
8d0a0 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
8d0c0 6e 3e 28 73 74 61 72 74 5f 76 61 6c 75 65 3a 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b n>(start_value:.<span.class="tok
8d0e0 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="
8d100 74 6f 6b 2d 74 79 70 65 22 3e 69 33 32 3c 2f 73 70 61 6e 3e 20 7b 0a 20 20 20 20 3c 73 70 61 6e tok-type">i32</span>.{.....<span
8d120 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 76 61 72 3c 2f 73 70 61 6e 3e 20 72 65 73 75 6c .class="tok-kw">var</span>.resul
8d140 74 3a 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 69 33 32 3c 2f 73 t:.<span.class="tok-type">i32</s
8d160 70 61 6e 3e 20 3d 20 73 74 61 72 74 5f 76 61 6c 75 65 3b 0a 20 20 20 20 72 65 73 75 6c 74 20 3d pan>.=.start_value;.....result.=
8d180 20 74 77 6f 28 72 65 73 75 6c 74 29 3b 0a 20 20 20 20 72 65 73 75 6c 74 20 3d 20 74 68 72 65 65 .two(result);.....result.=.three
8d1a0 28 72 65 73 75 6c 74 29 3b 0a 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b (result);.....<span.class="tok-k
8d1c0 77 22 3e 72 65 74 75 72 6e 3c 2f 73 70 61 6e 3e 20 72 65 73 75 6c 74 3b 0a 7d 3c 2f 63 6f 64 65 w">return</span>.result;.}</code
8d1e0 3e 3c 2f 70 72 65 3e 3c 2f 66 69 67 75 72 65 3e 0a 20 20 20 20 20 20 3c 66 69 67 75 72 65 3e 3c ></pre></figure>.......<figure><
8d200 66 69 67 63 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
8d220 20 63 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 .class="file">performFn_2</cite>
8d240 3c 2f 66 69 67 63 61 70 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
8d260 61 73 73 3d 22 74 6f 6b 2d 63 6f 6d 6d 65 6e 74 22 3e 2f 2f 20 46 72 6f 6d 20 74 68 65 20 6c 69 ass="tok-comment">//.From.the.li
8d280 6e 65 3a 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 63 6f 6d 6d ne:</span>.<span.class="tok-comm
8d2a0 65 6e 74 22 3e 2f 2f 20 65 78 70 65 63 74 28 70 65 72 66 6f 72 6d 46 6e 28 27 6f 27 2c 20 30 29 ent">//.expect(performFn('o',.0)
8d2c0 20 3d 3d 20 31 29 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d .==.1);</span>.<span.class="tok-
8d2e0 6b 77 22 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
8d300 6e 22 3e 70 65 72 66 6f 72 6d 46 6e 3c 2f 73 70 61 6e 3e 28 73 74 61 72 74 5f 76 61 6c 75 65 3a n">performFn</span>(start_value:
8d320 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
8d340 6e 3e 29 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 69 33 32 3c 2f n>).<span.class="tok-type">i32</
8d360 73 70 61 6e 3e 20 7b 0a 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 span>.{.....<span.class="tok-kw"
8d380 3e 76 61 72 3c 2f 73 70 61 6e 3e 20 72 65 73 75 6c 74 3a 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d >var</span>.result:.<span.class=
8d3a0 22 74 6f 6b 2d 74 79 70 65 22 3e 69 33 32 3c 2f 73 70 61 6e 3e 20 3d 20 73 74 61 72 74 5f 76 61 "tok-type">i32</span>.=.start_va
8d3c0 6c 75 65 3b 0a 20 20 20 20 72 65 73 75 6c 74 20 3d 20 6f 6e 65 28 72 65 73 75 6c 74 29 3b 0a 20 lue;.....result.=.one(result);..
8d3e0 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</
8d400 73 70 61 6e 3e 20 72 65 73 75 6c 74 3b 0a 7d 3c 2f 63 6f 64 65 3e 3c 2f 70 72 65 3e 3c 2f 66 69 span>.result;.}</code></pre></fi
8d420 67 75 72 65 3e 0a 20 20 20 20 20 20 3c 66 69 67 75 72 65 3e 3c 66 69 67 63 61 70 74 69 6f 6e 20 gure>.......<figure><figcaption.
8d440 63 6c 61 73 73 3d 22 7a 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
8d460 65 22 3e 70 65 72 66 6f 72 6d 46 6e 5f 33 3c 2f 63 69 74 65 3e 3c 2f 66 69 67 63 61 70 74 69 6f e">performFn_3</cite></figcaptio
8d480 6e 3e 3c 70 72 65 3e 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 63 6f n><pre><code><span.class="tok-co
8d4a0 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 2f 73 70 61 6e 3e 0a mment">//.From.the.line:</span>.
8d4c0 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 63 6f 6d 6d 65 6e 74 22 3e 2f 2f 20 65 78 70 <span.class="tok-comment">//.exp
8d4e0 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 2f ect(performFn('w',.99).==.99);</
8d500 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 66 6e 3c 2f 73 span>.<span.class="tok-kw">fn</s
8d520 70 61 6e 3e 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 66 6e 22 3e 70 65 72 66 6f 72 pan>.<span.class="tok-fn">perfor
8d540 6d 46 6e 3c 2f 73 70 61 6e 3e 28 73 74 61 72 74 5f 76 61 6c 75 65 3a 20 3c 73 70 61 6e 20 63 6c mFn</span>(start_value:.<span.cl
8d560 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
8d580 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 69 33 32 3c 2f 73 70 61 6e 3e 20 7b 0a 20 .class="tok-type">i32</span>.{..
8d5a0 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
8d5c0 6e 3e 20 72 65 73 75 6c 74 3a 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 n>.result:.<span.class="tok-type
8d5e0 22 3e 69 33 32 3c 2f 73 70 61 6e 3e 20 3d 20 73 74 61 72 74 5f 76 61 6c 75 65 3b 0a 20 20 20 20 ">i32</span>.=.start_value;.....
8d600 5f 20 3d 20 26 61 6d 70 3b 72 65 73 75 6c 74 3b 0a 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 _.=.&amp;result;.....<span.class
8d620 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 0a ="tok-kw">return</span>.result;.
8d640 7d 3c 2f 63 6f 64 65 3e 3c 2f 70 72 65 3e 3c 2f 66 69 67 75 72 65 3e 0a 20 20 20 20 20 20 3c 70 }</code></pre></figure>.......<p
8d660 3e 0a 20 20 20 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 >.......Note.that.this.happens.e
8d680 76 65 6e 20 69 6e 20 61 20 64 65 62 75 67 20 62 75 69 6c 64 2e 0a 20 20 20 20 20 20 54 68 69 73 ven.in.a.debug.build........This
8d6a0 20 69 73 20 6e 6f 74 20 61 20 77 61 79 20 74 6f 20 77 72 69 74 65 20 6d 6f 72 65 20 6f 70 74 69 .is.not.a.way.to.write.more.opti
8d6c0 6d 69 7a 65 64 20 63 6f 64 65 2c 20 62 75 74 20 69 74 20 69 73 20 61 20 77 61 79 20 74 6f 20 6d mized.code,.but.it.is.a.way.to.m
8d6e0 61 6b 65 20 73 75 72 65 20 74 68 61 74 20 77 68 61 74 20 3c 65 6d 3e 73 68 6f 75 6c 64 3c 2f 65 ake.sure.that.what.<em>should</e
8d700 6d 3e 20 68 61 70 70 65 6e 0a 20 20 20 20 20 20 61 74 20 63 6f 6d 70 69 6c 65 2d 74 69 6d 65 2c m>.happen.......at.compile-time,
8d720 20 3c 65 6d 3e 64 6f 65 73 3c 2f 65 6d 3e 20 68 61 70 70 65 6e 20 61 74 20 63 6f 6d 70 69 6c 65 .<em>does</em>.happen.at.compile
8d740 2d 74 69 6d 65 2e 20 54 68 69 73 20 63 61 74 63 68 65 73 20 6d 6f 72 65 20 65 72 72 6f 72 73 20 -time..This.catches.more.errors.
8d760 61 6e 64 20 61 6c 6c 6f 77 73 20 65 78 70 72 65 73 73 69 76 65 6e 65 73 73 0a 20 20 20 20 20 20 and.allows.expressiveness.......
8d780 74 68 61 74 20 69 6e 20 6f 74 68 65 72 20 6c 61 6e 67 75 61 67 65 73 20 72 65 71 75 69 72 65 73 that.in.other.languages.requires
8d7a0 20 75 73 69 6e 67 20 6d 61 63 72 6f 73 2c 20 67 65 6e 65 72 61 74 65 64 20 63 6f 64 65 2c 20 6f .using.macros,.generated.code,.o
8d7c0 72 20 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 r.a.preprocessor.to.accomplish..
8d7e0 20 20 20 20 20 20 3c 2f 70 3e 0a 20 20 20 20 20 20 0a 20 20 20 20 20 20 3c 68 34 20 69 64 3d 22 ......</p>..............<h4.id="
8d800 43 6f 6d 70 69 6c 65 2d 54 69 6d 65 2d 45 78 70 72 65 73 73 69 6f 6e 73 22 3e 3c 61 20 68 72 65 Compile-Time-Expressions"><a.hre
8d820 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 54 69 6d 65 2d 45 78 f="nav.xhtml#toc-Compile-Time-Ex
8d840 70 72 65 73 73 69 6f 6e 73 22 3e 43 6f 6d 70 69 6c 65 2d 54 69 6d 65 20 45 78 70 72 65 73 73 69 pressions">Compile-Time.Expressi
8d860 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 43 6f ons</a>.<a.class="hdr".href="#Co
8d880 6d 70 69 6c 65 2d 54 69 6d 65 2d 45 78 70 72 65 73 73 69 6f 6e 73 22 3e c2 a7 3c 2f 61 3e 3c 2f mpile-Time-Expressions">..</a></
8d8a0 68 34 3e 0a 0a 20 20 20 20 20 20 3c 70 3e 0a 20 20 20 20 20 20 49 6e 20 5a 69 67 2c 20 69 74 20 h4>........<p>.......In.Zig,.it.
8d8c0 6d 61 74 74 65 72 73 20 77 68 65 74 68 65 72 20 61 20 67 69 76 65 6e 20 65 78 70 72 65 73 73 69 matters.whether.a.given.expressi
8d8e0 6f 6e 20 69 73 20 6b 6e 6f 77 6e 20 61 74 20 63 6f 6d 70 69 6c 65 2d 74 69 6d 65 20 6f 72 20 72 on.is.known.at.compile-time.or.r
8d900 75 6e 2d 74 69 6d 65 2e 20 41 20 70 72 6f 67 72 61 6d 6d 65 72 20 63 61 6e 0a 20 20 20 20 20 20 un-time..A.programmer.can.......
8d920 75 73 65 20 61 20 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 use.a.<code><span.class="tok-kw"
8d940 3e 63 6f 6d 70 74 69 6d 65 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 20 65 78 70 72 65 73 73 69 >comptime</span></code>.expressi
8d960 6f 6e 20 74 6f 20 67 75 61 72 61 6e 74 65 65 20 74 68 61 74 20 74 68 65 20 65 78 70 72 65 73 73 on.to.guarantee.that.the.express
8d980 69 6f 6e 20 77 69 6c 6c 20 62 65 20 65 76 61 6c 75 61 74 65 64 20 61 74 20 63 6f 6d 70 69 6c 65 ion.will.be.evaluated.at.compile
8d9a0 2d 74 69 6d 65 2e 0a 20 20 20 20 20 20 49 66 20 74 68 69 73 20 63 61 6e 6e 6f 74 20 62 65 20 61 -time........If.this.cannot.be.a
8d9c0 63 63 6f 6d 70 6c 69 73 68 65 64 2c 20 74 68 65 20 63 6f 6d 70 69 6c 65 72 20 77 69 6c 6c 20 65 ccomplished,.the.compiler.will.e
8d9e0 6d 69 74 20 61 6e 20 65 72 72 6f 72 2e 20 46 6f 72 20 65 78 61 6d 70 6c 65 3a 0a 20 20 20 20 20 mit.an.error..For.example:......
8da00 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.
8da20 63 6c 61 73 73 3d 22 7a 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
8da40 65 22 3e 74 65 73 74 5f 63 6f 6d 70 74 69 6d 65 5f 63 61 6c 6c 5f 65 78 74 65 72 6e 5f 66 75 6e e">test_comptime_call_extern_fun
8da60 63 74 69 6f 6e 2e 7a 69 67 3c 2f 63 69 74 65 3e 3c 2f 66 69 67 63 61 70 74 69 6f 6e 3e 3c 70 72 ction.zig</cite></figcaption><pr
8da80 65 3e 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 65 78 74 e><code><span.class="tok-kw">ext
8daa0 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">
8dac0 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 65 fn</span>.<span.class="tok-fn">e
8dae0 78 69 74 3c 2f 73 70 61 6e 3e 28 29 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 xit</span>().<span.class="tok-ty
8db00 70 65 22 3e 6e 6f 72 65 74 75 72 6e 3c 2f 73 70 61 6e 3e 3b 0a 0a 3c 73 70 61 6e 20 63 6c 61 73 pe">noreturn</span>;..<span.clas
8db20 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
8db40 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
8db60 61 6e 3e 20 7b 0a 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 63 an>.{.....<span.class="tok-kw">c
8db80 6f 6d 70 74 69 6d 65 3c 2f 73 70 61 6e 3e 20 7b 0a 20 20 20 20 20 20 20 20 65 78 69 74 28 29 3b omptime</span>.{.........exit();
8dba0 0a 20 20 20 20 7d 0a 7d 3c 2f 63 6f 64 65 3e 3c 2f 70 72 65 3e 3c 2f 66 69 67 75 72 65 3e 3c 66 .....}.}</code></pre></figure><f
8dbc0 69 67 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
8dbe0 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
8dc00 3e 24 20 3c 6b 62 64 3e 7a 69 67 20 74 65 73 74 20 74 65 73 74 5f 63 6f 6d 70 74 69 6d 65 5f 63 >$.<kbd>zig.test.test_comptime_c
8dc20 61 6c 6c 5f 65 78 74 65 72 6e 5f 66 75 6e 63 74 69 6f 6e 2e 7a 69 67 3c 2f 6b 62 64 3e 0a 3c 73 all_extern_function.zig</kbd>.<s
8dc40 70 61 6e 20 63 6c 61 73 73 3d 22 73 67 72 2d 31 6d 22 3e 2f 68 6f 6d 65 2f 63 69 2f 77 6f 72 6b pan.class="sgr-1m">/home/ci/work
8dc60 2f 7a 69 67 2d 62 6f 6f 74 73 74 72 61 70 2f 7a 69 67 2f 64 6f 63 2f 6c 61 6e 67 72 65 66 2f 74 /zig-bootstrap/zig/doc/langref/t
8dc80 65 73 74 5f 63 6f 6d 70 74 69 6d 65 5f 63 61 6c 6c 5f 65 78 74 65 72 6e 5f 66 75 6e 63 74 69 6f est_comptime_call_extern_functio
8dca0 6e 2e 7a 69 67 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 n.zig:5:13:.</span><span.class="
8dcc0 73 67 72 2d 33 31 6d 22 3e 65 72 72 6f 72 3a 20 3c 2f 73 70 61 6e 3e 3c 73 70 61 6e 20 63 6c 61 sgr-31m">error:.</span><span.cla
8dce0 73 73 3d 22 73 67 72 2d 31 6d 22 3e 63 6f 6d 70 74 69 6d 65 20 63 61 6c 6c 20 6f 66 20 65 78 74 ss="sgr-1m">comptime.call.of.ext
8dd00 65 72 6e 20 66 75 6e 63 74 69 6f 6e 0a 3c 2f 73 70 61 6e 3e 20 20 20 20 20 20 20 20 65 78 69 74 ern.function.</span>........exit
8dd20 28 29 3b 0a 20 20 20 20 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 73 67 72 2d 33 32 6d ();.........<span.class="sgr-32m
8dd40 22 3e 7e 7e 7e 7e 5e 7e 0a 3c 2f 73 70 61 6e 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 73 67 72 ">~~~~^~.</span><span.class="sgr
8dd60 2d 31 6d 22 3e 2f 68 6f 6d 65 2f 63 69 2f 77 6f 72 6b 2f 7a 69 67 2d 62 6f 6f 74 73 74 72 61 70 -1m">/home/ci/work/zig-bootstrap
8dd80 2f 7a 69 67 2f 64 6f 63 2f 6c 61 6e 67 72 65 66 2f 74 65 73 74 5f 63 6f 6d 70 74 69 6d 65 5f 63 /zig/doc/langref/test_comptime_c
8dda0 61 6c 6c 5f 65 78 74 65 72 6e 5f 66 75 6e 63 74 69 6f 6e 2e 7a 69 67 3a 34 3a 35 3a 20 3c 2f 73 all_extern_function.zig:4:5:.</s
8ddc0 70 61 6e 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 73 67 72 2d 33 36 6d 22 3e 6e 6f 74 65 3a 20 pan><span.class="sgr-36m">note:.
8dde0 3c 2f 73 70 61 6e 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 73 67 72 2d 31 6d 22 3e 27 63 6f 6d </span><span.class="sgr-1m">'com
8de00 70 74 69 6d 65 27 20 6b 65 79 77 6f 72 64 20 66 6f 72 63 65 73 20 63 6f 6d 70 74 69 6d 65 20 65 ptime'.keyword.forces.comptime.e
8de20 76 61 6c 75 61 74 69 6f 6e 0a 3c 2f 73 70 61 6e 3e 20 20 20 20 63 6f 6d 70 74 69 6d 65 20 7b 0a valuation.</span>....comptime.{.
8de40 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 73 67 72 2d 33 32 6d 22 3e 5e 7e 7e 7e 7e 7e ....<span.class="sgr-32m">^~~~~~
8de60 7e 7e 0a 3c 2f 73 70 61 6e 3e 0a 3c 2f 73 61 6d 70 3e 3c 2f 70 72 65 3e 3c 2f 66 69 67 75 72 65 ~~.</span>.</samp></pre></figure
8de80 3e 0a 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 61 >........<p>.......It.doesn't.ma
8dea0 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 61 ke.sense.that.a.program.could.ca
8dec0 6c 6c 20 3c 63 6f 64 65 3e 65 78 69 74 28 29 3c 2f 63 6f 64 65 3e 20 28 6f 72 20 61 6e 79 20 6f ll.<code>exit()</code>.(or.any.o
8dee0 74 68 65 72 20 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 ther.external.function).........
8df00 20 20 61 74 20 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 ..at.compile-time,.so.this.is.a.
8df20 63 6f 6d 70 69 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 compile.error..However,.a.<code>
8df40 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
8df60 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 73 20 6d 75 63 68 pan></code>.expression.does.much
8df80 0a 20 20 20 20 20 20 6d 6f 72 65 20 74 68 61 6e 20 73 6f 6d 65 74 69 6d 65 73 20 63 61 75 73 65 .......more.than.sometimes.cause
8dfa0 20 61 20 63 6f 6d 70 69 6c 65 20 65 72 72 6f 72 2e 0a 20 20 20 20 20 20 3c 2f 70 3e 0a 20 20 20 .a.compile.error........</p>....
8dfc0 20 20 20 3c 70 3e 0a 20 20 20 20 20 20 57 69 74 68 69 6e 20 61 20 3c 63 6f 64 65 3e 3c 73 70 61 ...<p>.......Within.a.<code><spa
8dfe0 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>
8e000 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 20 3c 2f 70 3e 0a 20 </code>.expression:.......</p>..
8e020 20 20 20 20 20 3c 75 6c 3e 0a 20 20 20 20 20 20 20 20 20 20 3c 6c 69 3e 41 6c 6c 20 76 61 72 69 .....<ul>...........<li>All.vari
8e040 61 62 6c 65 73 20 61 72 65 20 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b ables.are.<code><span.class="tok
8e060 2d 6b 77 22 3e 63 6f 6d 70 74 69 6d 65 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 20 76 61 72 69 -kw">comptime</span></code>.vari
8e080 61 62 6c 65 73 2e 3c 2f 6c 69 3e 0a 20 20 20 20 20 20 20 20 20 20 3c 6c 69 3e 41 6c 6c 20 3c 63 ables.</li>...........<li>All.<c
8e0a0 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 69 66 3c 2f 73 70 61 ode><span.class="tok-kw">if</spa
8e0c0 6e 3e 3c 2f 63 6f 64 65 3e 2c 20 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f n></code>,.<code><span.class="to
8e0e0 6b 2d 6b 77 22 3e 77 68 69 6c 65 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 2c 20 3c 63 6f 64 65 k-kw">while</span></code>,.<code
8e100 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 66 6f 72 3c 2f 73 70 61 6e 3e ><span.class="tok-kw">for</span>
8e120 3c 2f 63 6f 64 65 3e 2c 20 61 6e 64 20 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 </code>,.and.<code><span.class="
8e140 74 6f 6b 2d 6b 77 22 3e 73 77 69 74 63 68 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 0a 20 20 20 tok-kw">switch</span></code>....
8e160 20 20 20 20 20 20 20 65 78 70 72 65 73 73 69 6f 6e 73 20 61 72 65 20 65 76 61 6c 75 61 74 65 64 .......expressions.are.evaluated
8e180 20 61 74 20 63 6f 6d 70 69 6c 65 2d 74 69 6d 65 2c 20 6f 72 20 65 6d 69 74 20 61 20 63 6f 6d 70 .at.compile-time,.or.emit.a.comp
8e1a0 69 6c 65 20 65 72 72 6f 72 20 69 66 20 74 68 69 73 20 69 73 20 6e 6f 74 20 70 6f 73 73 69 62 6c ile.error.if.this.is.not.possibl
8e1c0 65 2e 3c 2f 6c 69 3e 0a 20 20 20 20 20 20 20 20 20 20 3c 6c 69 3e 41 6c 6c 20 3c 63 6f 64 65 3e e.</li>...........<li>All.<code>
8e1e0 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
8e200 6e 3e 3c 2f 63 6f 64 65 3e 20 61 6e 64 20 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d n></code>.and.<code><span.class=
8e220 22 74 6f 6b 2d 6b 77 22 3e 74 72 79 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 20 65 78 70 72 65 "tok-kw">try</span></code>.expre
8e240 73 73 69 6f 6e 73 20 61 72 65 20 69 6e 76 61 6c 69 64 20 28 75 6e 6c 65 73 73 20 74 68 65 20 66 ssions.are.invalid.(unless.the.f
8e260 75 6e 63 74 69 6f 6e 20 69 74 73 65 6c 66 20 69 73 20 63 61 6c 6c 65 64 20 61 74 20 63 6f 6d 70 unction.itself.is.called.at.comp
8e280 69 6c 65 2d 74 69 6d 65 29 2e 3c 2f 6c 69 3e 0a 20 20 20 20 20 20 20 20 20 20 3c 6c 69 3e 41 6c ile-time).</li>...........<li>Al
8e2a0 6c 20 63 6f 64 65 20 77 69 74 68 20 72 75 6e 74 69 6d 65 20 73 69 64 65 20 65 66 66 65 63 74 73 l.code.with.runtime.side.effects
8e2c0 20 6f 72 20 64 65 70 65 6e 64 69 6e 67 20 6f 6e 20 72 75 6e 74 69 6d 65 20 76 61 6c 75 65 73 20 .or.depending.on.runtime.values.
8e2e0 65 6d 69 74 73 20 61 20 63 6f 6d 70 69 6c 65 20 65 72 72 6f 72 2e 3c 2f 6c 69 3e 0a 20 20 20 20 emits.a.compile.error.</li>.....
8e300 20 20 20 20 20 20 3c 6c 69 3e 41 6c 6c 20 66 75 6e 63 74 69 6f 6e 20 63 61 6c 6c 73 20 63 61 75 ......<li>All.function.calls.cau
8e320 73 65 20 74 68 65 20 63 6f 6d 70 69 6c 65 72 20 74 6f 20 69 6e 74 65 72 70 72 65 74 20 74 68 65 se.the.compiler.to.interpret.the
8e340 20 66 75 6e 63 74 69 6f 6e 20 61 74 20 63 6f 6d 70 69 6c 65 2d 74 69 6d 65 2c 20 65 6d 69 74 74 .function.at.compile-time,.emitt
8e360 69 6e 67 20 61 0a 20 20 20 20 20 20 20 20 20 20 63 6f 6d 70 69 6c 65 20 65 72 72 6f 72 20 69 66 ing.a...........compile.error.if
8e380 20 74 68 65 20 66 75 6e 63 74 69 6f 6e 20 74 72 69 65 73 20 74 6f 20 64 6f 20 73 6f 6d 65 74 68 .the.function.tries.to.do.someth
8e3a0 69 6e 67 20 74 68 61 74 20 68 61 73 20 67 6c 6f 62 61 6c 20 72 75 6e 74 69 6d 65 20 73 69 64 65 ing.that.has.global.runtime.side
8e3c0 20 65 66 66 65 63 74 73 2e 3c 2f 6c 69 3e 0a 20 20 20 20 20 20 3c 2f 75 6c 3e 0a 20 20 20 20 20 .effects.</li>.......</ul>......
8e3e0 20 3c 70 3e 0a 20 20 20 20 20 20 54 68 69 73 20 6d 65 61 6e 73 20 74 68 61 74 20 61 20 70 72 6f .<p>.......This.means.that.a.pro
8e400 67 72 61 6d 6d 65 72 20 63 61 6e 20 63 72 65 61 74 65 20 61 20 66 75 6e 63 74 69 6f 6e 20 77 68 grammer.can.create.a.function.wh
8e420 69 63 68 20 69 73 20 63 61 6c 6c 65 64 20 62 6f 74 68 20 61 74 20 63 6f 6d 70 69 6c 65 2d 74 69 ich.is.called.both.at.compile-ti
8e440 6d 65 20 61 6e 64 20 72 75 6e 2d 74 69 6d 65 2c 20 77 69 74 68 0a 20 20 20 20 20 20 6e 6f 20 6d me.and.run-time,.with.......no.m
8e460 6f 64 69 66 69 63 61 74 69 6f 6e 20 74 6f 20 74 68 65 20 66 75 6e 63 74 69 6f 6e 20 72 65 71 75 odification.to.the.function.requ
8e480 69 72 65 64 2e 0a 20 20 20 20 20 20 3c 2f 70 3e 0a 20 20 20 20 20 20 3c 70 3e 0a 20 20 20 20 20 ired........</p>.......<p>......
8e4a0 20 4c 65 74 27 73 20 6c 6f 6f 6b 20 61 74 20 61 6e 20 65 78 61 6d 70 6c 65 3a 0a 20 20 20 20 20 .Let's.look.at.an.example:......
8e4c0 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.
8e4e0 63 6c 61 73 73 3d 22 7a 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
8e500 65 22 3e 74 65 73 74 5f 66 69 62 6f 6e 61 63 63 69 5f 72 65 63 75 72 73 69 6f 6e 2e 7a 69 67 3c e">test_fibonacci_recursion.zig<
8e520 2f 63 69 74 65 3e 3c 2f 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
8e540 70 61 6e 20 63 6c 61 73 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>.
8e560 65 78 70 65 63 74 45 71 75 61 6c 20 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 62 expectEqual.=.<span.class="tok-b
8e580 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
8e5a0 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
8e5c0 61 6e 3e 29 2e 74 65 73 74 69 6e 67 2e 65 78 70 65 63 74 45 71 75 61 6c 3b 0a 0a 3c 73 70 61 6e an>).testing.expectEqual;..<span
8e5e0 20 63 6c 61 73 73 3d 22 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.
8e600 63 6c 61 73 73 3d 22 74 6f 6b 2d 66 6e 22 3e 66 69 62 6f 6e 61 63 63 69 3c 2f 73 70 61 6e 3e 28 class="tok-fn">fibonacci</span>(
8e620 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
8e640 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"
8e660 3e 75 33 32 3c 2f 73 70 61 6e 3e 20 7b 0a 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 >u32</span>.{.....<span.class="t
8e680 6f 6b 2d 6b 77 22 3e 69 66 3c 2f 73 70 61 6e 3e 20 28 69 6e 64 65 78 20 26 6c 74 3b 20 3c 73 70 ok-kw">if</span>.(index.&lt;.<sp
8e6a0 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 20 an.class="tok-number">2</span>).
8e6c0 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
8e6e0 6e 3e 20 69 6e 64 65 78 3b 0a 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b n>.index;.....<span.class="tok-k
8e700 77 22 3e 72 65 74 75 72 6e 3c 2f 73 70 61 6e 3e 20 66 69 62 6f 6e 61 63 63 69 28 69 6e 64 65 78 w">return</span>.fibonacci(index
8e720 20 2d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 31 3c 2f 73 .-.<span.class="tok-number">1</s
8e740 70 61 6e 3e 29 20 2b 20 66 69 62 6f 6e 61 63 63 69 28 69 6e 64 65 78 20 2d 20 3c 73 70 61 6e 20 pan>).+.fibonacci(index.-.<span.
8e760 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 32 3c 2f 73 70 61 6e 3e 29 3b 0a 7d 0a class="tok-number">2</span>);.}.
8e780 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 74 65 73 74 3c 2f 73 70 61 6e .<span.class="tok-kw">test</span
8e7a0 3e 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 73 74 72 22 3e 26 71 75 6f 74 3b 66 69 >.<span.class="tok-str">&quot;fi
8e7c0 62 6f 6e 61 63 63 69 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 20 7b 0a 20 20 20 20 3c 73 70 61 6e bonacci&quot;</span>.{.....<span
8e7e0 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 69 62 .class="tok-comment">//.test.fib
8e800 6f 6e 61 63 63 69 20 61 74 20 72 75 6e 2d 74 69 6d 65 3c 2f 73 70 61 6e 3e 0a 20 20 20 20 3c 73 onacci.at.run-time</span>.....<s
8e820 70 61 6e 20 63 6c 61 73 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
8e840 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 65 pectEqual(<span.class="tok-numbe
8e860 72 22 3e 31 33 3c 2f 73 70 61 6e 3e 2c 20 66 69 62 6f 6e 61 63 63 69 28 3c 73 70 61 6e 20 63 6c r">13</span>,.fibonacci(<span.cl
8e880 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 29 3b 0a 0a 20 20 ass="tok-number">7</span>));....
8e8a0 20 20 3c 73 70 61 6e 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
8e8c0 65 73 74 20 66 69 62 6f 6e 61 63 63 69 20 61 74 20 63 6f 6d 70 69 6c 65 2d 74 69 6d 65 3c 2f 73 est.fibonacci.at.compile-time</s
8e8e0 70 61 6e 3e 0a 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 74 72 pan>.....<span.class="tok-kw">tr
8e900 79 3c 2f 73 70 61 6e 3e 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 63 6f y</span>.<span.class="tok-kw">co
8e920 6d 70 74 69 6d 65 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 mptime</span>.expectEqual(<span.
8e940 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 2c 20 66 69 class="tok-number">13</span>,.fi
8e960 62 6f 6e 61 63 63 69 28 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 bonacci(<span.class="tok-number"
8e980 3e 37 3c 2f 73 70 61 6e 3e 29 29 3b 0a 7d 3c 2f 63 6f 64 65 3e 3c 2f 70 72 65 3e 3c 2f 66 69 67 >7</span>));.}</code></pre></fig
8e9a0 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
8e9c0 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
8e9e0 3e 3c 73 61 6d 70 3e 24 20 3c 6b 62 64 3e 7a 69 67 20 74 65 73 74 20 74 65 73 74 5f 66 69 62 6f ><samp>$.<kbd>zig.test.test_fibo
8ea00 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 0a 31 2f 31 20 74 65 nacci_recursion.zig</kbd>.1/1.te
8ea20 73 74 5f 66 69 62 6f 6e 61 63 63 69 5f 72 65 63 75 72 73 69 6f 6e 2e 74 65 73 74 2e 66 69 62 6f st_fibonacci_recursion.test.fibo
8ea40 6e 61 63 63 69 2e 2e 2e 4f 4b 0a 41 6c 6c 20 31 20 74 65 73 74 73 20 70 61 73 73 65 64 2e 0a 3c nacci...OK.All.1.tests.passed..<
8ea60 2f 73 61 6d 70 3e 3c 2f 70 72 65 3e 3c 2f 66 69 67 75 72 65 3e 0a 0a 20 20 20 20 20 20 3c 70 3e /samp></pre></figure>........<p>
8ea80 0a 20 20 20 20 20 20 49 6d 61 67 69 6e 65 20 69 66 20 77 65 20 68 61 64 20 66 6f 72 67 6f 74 74 .......Imagine.if.we.had.forgott
8eaa0 65 6e 20 74 68 65 20 62 61 73 65 20 63 61 73 65 20 6f 66 20 74 68 65 20 72 65 63 75 72 73 69 76 en.the.base.case.of.the.recursiv
8eac0 65 20 66 75 6e 63 74 69 6f 6e 20 61 6e 64 20 74 72 69 65 64 20 74 6f 20 72 75 6e 20 74 68 65 20 e.function.and.tried.to.run.the.
8eae0 74 65 73 74 73 3a 0a 20 20 20 20 20 20 3c 2f 70 3e 0a 20 20 20 20 20 20 3c 66 69 67 75 72 65 3e tests:.......</p>.......<figure>
8eb00 3c 66 69 67 63 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
8eb20 65 20 63 6c 61 73 73 3d 22 66 69 6c 65 22 3e 74 65 73 74 5f 66 69 62 6f 6e 61 63 63 69 5f 63 6f e.class="file">test_fibonacci_co
8eb40 6d 70 74 69 6d 65 5f 6f 76 65 72 66 6c 6f 77 2e 7a 69 67 3c 2f 63 69 74 65 3e 3c 2f 66 69 67 63 mptime_overflow.zig</cite></figc
8eb60 61 70 74 69 6f 6e 3e 3c 70 72 65 3e 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 aption><pre><code><span.class="t
8eb80 6f 6b 2d 6b 77 22 3e 63 6f 6e 73 74 3c 2f 73 70 61 6e 3e 20 65 78 70 65 63 74 45 71 75 61 6c 20 ok-kw">const</span>.expectEqual.
8eba0 3d 20 3c 73 70 61 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
8ebc0 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"
8ebe0 3e 26 71 75 6f 74 3b 73 74 64 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 29 2e 74 65 73 74 69 6e 67 >&quot;std&quot;</span>).testing
8ec00 2e 65 78 70 65 63 74 45 71 75 61 6c 3b 0a 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d .expectEqual;..<span.class="tok-
8ec20 6b 77 22 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
8ec40 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
8ec60 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
8ec80 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>.
8eca0 7b 0a 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 63 6f 6d 6d 65 6e 74 22 3e {.....<span.class="tok-comment">
8ecc0 2f 2f 69 66 20 28 69 6e 64 65 78 20 26 6c 74 3b 20 32 29 20 72 65 74 75 72 6e 20 69 6e 64 65 78 //if.(index.&lt;.2).return.index
8ece0 3b 3c 2f 73 70 61 6e 3e 0a 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 ;</span>.....<span.class="tok-kw
8ed00 22 3e 72 65 74 75 72 6e 3c 2f 73 70 61 6e 3e 20 66 69 62 6f 6e 61 63 63 69 28 69 6e 64 65 78 20 ">return</span>.fibonacci(index.
8ed20 2d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 31 3c 2f 73 70 -.<span.class="tok-number">1</sp
8ed40 61 6e 3e 29 20 2b 20 66 69 62 6f 6e 61 63 63 69 28 69 6e 64 65 78 20 2d 20 3c 73 70 61 6e 20 63 an>).+.fibonacci(index.-.<span.c
8ed60 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 32 3c 2f 73 70 61 6e 3e 29 3b 0a 7d 0a 0a lass="tok-number">2</span>);.}..
8ed80 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>
8eda0 20 3c 73 70 61 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 .<span.class="tok-str">&quot;fib
8edc0 6f 6e 61 63 63 69 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 20 7b 0a 20 20 20 20 3c 73 70 61 6e 20 onacci&quot;</span>.{.....<span.
8ede0 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 74 72 79 3c 2f 73 70 61 6e 3e 20 3c 73 70 61 6e 20 class="tok-kw">try</span>.<span.
8ee00 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 63 6f 6d 70 74 69 6d 65 3c 2f 73 70 61 6e 3e 20 65 class="tok-kw">comptime</span>.e
8ee20 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
8ee40 65 72 22 3e 31 33 3c 2f 73 70 61 6e 3e 2c 20 66 69 62 6f 6e 61 63 63 69 28 3c 73 70 61 6e 20 63 er">13</span>,.fibonacci(<span.c
8ee60 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 29 3b 0a 7d 3c lass="tok-number">7</span>));.}<
8ee80 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
8eea0 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
8eec0 3c 2f 66 69 67 63 61 70 74 69 6f 6e 3e 3c 70 72 65 3e 3c 73 61 6d 70 3e 24 20 3c 6b 62 64 3e 7a </figcaption><pre><samp>$.<kbd>z
8eee0 69 67 20 74 65 73 74 20 74 65 73 74 5f 66 69 62 6f 6e 61 63 63 69 5f 63 6f 6d 70 74 69 6d 65 5f ig.test.test_fibonacci_comptime_
8ef00 6f 76 65 72 66 6c 6f 77 2e 7a 69 67 3c 2f 6b 62 64 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 overflow.zig</kbd>.<span.class="
8ef20 73 67 72 2d 31 6d 22 3e 2f 68 6f 6d 65 2f 63 69 2f 77 6f 72 6b 2f 7a 69 67 2d 62 6f 6f 74 73 74 sgr-1m">/home/ci/work/zig-bootst
8ef40 72 61 70 2f 7a 69 67 2f 64 6f 63 2f 6c 61 6e 67 72 65 66 2f 74 65 73 74 5f 66 69 62 6f 6e 61 63 rap/zig/doc/langref/test_fibonac
8ef60 63 69 5f 63 6f 6d 70 74 69 6d 65 5f 6f 76 65 72 66 6c 6f 77 2e 7a 69 67 3a 35 3a 32 38 3a 20 3c ci_comptime_overflow.zig:5:28:.<
8ef80 2f 73 70 61 6e 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 73 67 72 2d 33 31 6d 22 3e 65 72 72 6f /span><span.class="sgr-31m">erro
8efa0 72 3a 20 3c 2f 73 70 61 6e 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 73 67 72 2d 31 6d 22 3e 6f r:.</span><span.class="sgr-1m">o
8efc0 76 65 72 66 6c 6f 77 20 6f 66 20 69 6e 74 65 67 65 72 20 74 79 70 65 20 27 75 33 32 27 20 77 69 verflow.of.integer.type.'u32'.wi
8efe0 74 68 20 76 61 6c 75 65 20 27 2d 31 27 0a 3c 2f 73 70 61 6e 3e 20 20 20 20 72 65 74 75 72 6e 20 th.value.'-1'.</span>....return.
8f000 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
8f020 28 69 6e 64 65 78 20 2d 20 32 29 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 (index.-.2);....................
8f040 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 73 67 72 2d 33 32 6d 22 3e 7e 7e 7e 7e 7e 7e 5e 7e ..<span.class="sgr-32m">~~~~~~^~
8f060 7e 0a 3c 2f 73 70 61 6e 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 73 67 72 2d 31 6d 22 3e 2f 68 ~.</span><span.class="sgr-1m">/h
8f080 6f 6d 65 2f 63 69 2f 77 6f 72 6b 2f 7a 69 67 2d 62 6f 6f 74 73 74 72 61 70 2f 7a 69 67 2f 64 6f ome/ci/work/zig-bootstrap/zig/do
8f0a0 63 2f 6c 61 6e 67 72 65 66 2f 74 65 73 74 5f 66 69 62 6f 6e 61 63 63 69 5f 63 6f 6d 70 74 69 6d c/langref/test_fibonacci_comptim
8f0c0 65 5f 6f 76 65 72 66 6c 6f 77 2e 7a 69 67 3a 35 3a 32 31 3a 20 3c 2f 73 70 61 6e 3e 3c 73 70 61 e_overflow.zig:5:21:.</span><spa
8f0e0 6e 20 63 6c 61 73 73 3d 22 73 67 72 2d 33 36 6d 22 3e 6e 6f 74 65 3a 20 3c 2f 73 70 61 6e 3e 3c n.class="sgr-36m">note:.</span><
8f100 73 70 61 6e 20 63 6c 61 73 73 3d 22 73 67 72 2d 31 6d 22 3e 63 61 6c 6c 65 64 20 61 74 20 63 6f span.class="sgr-1m">called.at.co
8f120 6d 70 74 69 6d 65 20 68 65 72 65 3c 2f 73 70 61 6e 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 73 mptime.here</span><span.class="s
8f140 67 72 2d 32 6d 22 3e 20 28 37 20 74 69 6d 65 73 29 0a 3c 2f 73 70 61 6e 3e 20 20 20 20 72 65 74 gr-2m">.(7.times).</span>....ret
8f160 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
8f180 61 63 63 69 28 69 6e 64 65 78 20 2d 20 32 29 3b 0a 20 20 20 20 20 20 20 20 20 20 20 3c 73 70 61 acci(index.-.2);............<spa
8f1a0 6e 20 63 6c 61 73 73 3d 22 73 67 72 2d 33 32 6d 22 3e 7e 7e 7e 7e 7e 7e 7e 7e 7e 5e 7e 7e 7e 7e n.class="sgr-32m">~~~~~~~~~^~~~~
8f1c0 7e 7e 7e 7e 7e 7e 0a 3c 2f 73 70 61 6e 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 73 67 72 2d 31 ~~~~~~.</span><span.class="sgr-1
8f1e0 6d 22 3e 2f 68 6f 6d 65 2f 63 69 2f 77 6f 72 6b 2f 7a 69 67 2d 62 6f 6f 74 73 74 72 61 70 2f 7a m">/home/ci/work/zig-bootstrap/z
8f200 69 67 2f 64 6f 63 2f 6c 61 6e 67 72 65 66 2f 74 65 73 74 5f 66 69 62 6f 6e 61 63 63 69 5f 63 6f ig/doc/langref/test_fibonacci_co
8f220 6d 70 74 69 6d 65 5f 6f 76 65 72 66 6c 6f 77 2e 7a 69 67 3a 39 3a 34 33 3a 20 3c 2f 73 70 61 6e mptime_overflow.zig:9:43:.</span
8f240 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 73 67 72 2d 33 36 6d 22 3e 6e 6f 74 65 3a 20 3c 2f 73 ><span.class="sgr-36m">note:.</s
8f260 70 61 6e 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 73 67 72 2d 31 6d 22 3e 63 61 6c 6c 65 64 20 pan><span.class="sgr-1m">called.
8f280 61 74 20 63 6f 6d 70 74 69 6d 65 20 68 65 72 65 0a 3c 2f 73 70 61 6e 3e 20 20 20 20 74 72 79 20 at.comptime.here.</span>....try.
8f2a0 63 6f 6d 70 74 69 6d 65 20 65 78 70 65 63 74 45 71 75 61 6c 28 31 33 2c 20 66 69 62 6f 6e 61 63 comptime.expectEqual(13,.fibonac
8f2c0 63 69 28 37 29 29 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ci(7));.........................
8f2e0 20 20 20 20 20 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 73 67 72 2d 33 32 6d 22 3e 7e .........<span.class="sgr-32m">~
8f300 7e 7e 7e 7e 7e 7e 7e 7e 5e 7e 7e 0a 3c 2f 73 70 61 6e 3e 0a 3c 2f 73 61 6d 70 3e 3c 2f 70 72 65 ~~~~~~~~^~~.</span>.</samp></pre
8f320 3e 3c 2f 66 69 67 75 72 65 3e 0a 0a 20 20 20 20 20 20 3c 70 3e 0a 20 20 20 20 20 20 54 68 65 20 ></figure>........<p>.......The.
8f340 63 6f 6d 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 compiler.produces.an.error.which
8f360 20 69 73 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 .is.a.stack.trace.from.trying.to
8f380 20 65 76 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 .evaluate.the.......function.at.
8f3a0 63 6f 6d 70 69 6c 65 2d 74 69 6d 65 2e 0a 20 20 20 20 20 20 3c 2f 70 3e 0a 20 20 20 20 20 20 3c compile-time........</p>.......<
8f3c0 70 3e 0a 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 p>.......Luckily,.we.used.an.uns
8f3e0 69 67 6e 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 igned.integer,.and.so.when.we.tr
8f400 69 65 64 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 ied.to.subtract.1.from.0,.it.tri
8f420 67 67 65 72 65 64 0a 20 20 20 20 20 20 3c 61 20 68 72 65 66 3d 22 23 49 6c 6c 65 67 61 6c 2d 42 ggered.......<a.href="#Illegal-B
8f440 65 68 61 76 69 6f 72 22 3e 49 6c 6c 65 67 61 6c 20 42 65 68 61 76 69 6f 72 3c 2f 61 3e 2c 20 77 ehavior">Illegal.Behavior</a>,.w
8f460 68 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 hich.is.always.a.compile.error.i
8f480 66 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 f.the.compiler.knows.it.happened
8f4a0 2e 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 ........But.what.would.have.happ
8f4c0 65 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 ened.if.we.used.a.signed.integer
8f4e0 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 65 3e 3c 66 69 67 63 ?.......</p>.......<figure><figc
8f500 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
8f520 73 73 3d 22 66 69 6c 65 22 3e 66 69 62 6f 6e 61 63 63 69 5f 63 6f 6d 70 74 69 6d 65 5f 69 6e 66 ss="file">fibonacci_comptime_inf
8f540 69 6e 69 74 65 5f 72 65 63 75 72 73 69 6f 6e 2e 7a 69 67 3c 2f 63 69 74 65 3e 3c 2f 66 69 67 63 inite_recursion.zig</cite></figc
8f560 61 70 74 69 6f 6e 3e 3c 70 72 65 3e 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 aption><pre><code><span.class="t
8f580 6f 6b 2d 6b 77 22 3e 63 6f 6e 73 74 3c 2f 73 70 61 6e 3e 20 61 73 73 65 72 74 20 3d 20 3c 73 70 ok-kw">const</span>.assert.=.<sp
8f5a0 61 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</
8f5c0 73 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
8f5e0 74 3b 73 74 64 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 29 2e 64 65 62 75 67 2e 61 73 73 65 72 74 t;std&quot;</span>).debug.assert
8f600 3b 0a 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 66 6e 3c 2f 73 70 61 6e ;..<span.class="tok-kw">fn</span
8f620 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
8f640 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-
8f660 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
8f680 6f 6b 2d 74 79 70 65 22 3e 69 33 32 3c 2f 73 70 61 6e 3e 20 7b 0a 20 20 20 20 3c 73 70 61 6e 20 ok-type">i32</span>.{.....<span.
8f6a0 63 6c 61 73 73 3d 22 74 6f 6b 2d 63 6f 6d 6d 65 6e 74 22 3e 2f 2f 69 66 20 28 69 6e 64 65 78 20 class="tok-comment">//if.(index.
8f6c0 26 6c 74 3b 20 32 29 20 72 65 74 75 72 6e 20 69 6e 64 65 78 3b 3c 2f 73 70 61 6e 3e 0a 20 20 20 &lt;.2).return.index;</span>....
8f6e0 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
8f700 61 6e 3e 20 66 69 62 6f 6e 61 63 63 69 28 69 6e 64 65 78 20 2d 20 3c 73 70 61 6e 20 63 6c 61 73 an>.fibonacci(index.-.<span.clas
8f720 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 31 3c 2f 73 70 61 6e 3e 29 20 2b 20 66 69 62 6f 6e s="tok-number">1</span>).+.fibon
8f740 61 63 63 69 28 69 6e 64 65 78 20 2d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 acci(index.-.<span.class="tok-nu
8f760 6d 62 65 72 22 3e 32 3c 2f 73 70 61 6e 3e 29 3b 0a 7d 0a 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d mber">2</span>);.}..<span.class=
8f780 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
8f7a0 3d 22 74 6f 6b 2d 73 74 72 22 3e 26 71 75 6f 74 3b 66 69 62 6f 6e 61 63 63 69 26 71 75 6f 74 3b ="tok-str">&quot;fibonacci&quot;
8f7c0 3c 2f 73 70 61 6e 3e 20 7b 0a 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b </span>.{.....<span.class="tok-k
8f7e0 77 22 3e 74 72 79 3c 2f 73 70 61 6e 3e 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b w">try</span>.<span.class="tok-k
8f800 77 22 3e 63 6f 6d 70 74 69 6d 65 3c 2f 73 70 61 6e 3e 20 61 73 73 65 72 74 28 66 69 62 6f 6e 61 w">comptime</span>.assert(fibona
8f820 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</
8f840 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
8f860 72 22 3e 31 33 3c 2f 73 70 61 6e 3e 29 3b 0a 7d 3c 2f 63 6f 64 65 3e 3c 2f 70 72 65 3e 3c 2f 66 r">13</span>);.}</code></pre></f
8f880 69 67 75 72 65 3e 0a 0a 20 20 20 20 20 20 3c 70 3e 0a 20 20 20 20 20 20 54 68 65 20 63 6f 6d 70 igure>........<p>.......The.comp
8f8a0 69 6c 65 72 20 69 73 20 73 75 70 70 6f 73 65 64 20 74 6f 20 6e 6f 74 69 63 65 20 74 68 61 74 20 iler.is.supposed.to.notice.that.
8f8c0 65 76 61 6c 75 61 74 69 6e 67 20 74 68 69 73 20 66 75 6e 63 74 69 6f 6e 20 61 74 0a 20 20 20 20 evaluating.this.function.at.....
8f8e0 20 20 63 6f 6d 70 69 6c 65 2d 74 69 6d 65 20 74 6f 6f 6b 20 6d 6f 72 65 20 74 68 61 6e 20 31 30 ..compile-time.took.more.than.10
8f900 30 30 20 62 72 61 6e 63 68 65 73 2c 20 61 6e 64 20 74 68 75 73 20 65 6d 69 74 73 20 61 6e 20 65 00.branches,.and.thus.emits.an.e
8f920 72 72 6f 72 20 61 6e 64 0a 20 20 20 20 20 20 67 69 76 65 73 20 75 70 2e 20 49 66 20 74 68 65 20 rror.and.......gives.up..If.the.
8f940 70 72 6f 67 72 61 6d 6d 65 72 20 77 61 6e 74 73 20 74 6f 20 69 6e 63 72 65 61 73 65 20 74 68 65 programmer.wants.to.increase.the
8f960 20 62 75 64 67 65 74 20 66 6f 72 20 63 6f 6d 70 69 6c 65 2d 74 69 6d 65 0a 20 20 20 20 20 20 63 .budget.for.compile-time.......c
8f980 6f 6d 70 75 74 61 74 69 6f 6e 2c 20 74 68 65 79 20 63 61 6e 20 75 73 65 20 61 20 62 75 69 6c 74 omputation,.they.can.use.a.built
8f9a0 2d 69 6e 20 66 75 6e 63 74 69 6f 6e 20 63 61 6c 6c 65 64 0a 20 20 20 20 20 20 3c 61 20 68 72 65 -in.function.called.......<a.hre
8f9c0 66 3d 22 23 73 65 74 45 76 61 6c 42 72 61 6e 63 68 51 75 6f 74 61 22 3e 40 73 65 74 45 76 61 6c f="#setEvalBranchQuota">@setEval
8f9e0 42 72 61 6e 63 68 51 75 6f 74 61 3c 2f 61 3e 20 74 6f 20 63 68 61 6e 67 65 20 74 68 65 20 64 65 BranchQuota</a>.to.change.the.de
8fa00 66 61 75 6c 74 20 6e 75 6d 62 65 72 20 31 30 30 30 20 74 6f 0a 20 20 20 20 20 20 73 6f 6d 65 74 fault.number.1000.to.......somet
8fa20 68 69 6e 67 20 65 6c 73 65 2e 0a 20 20 20 20 20 20 3c 2f 70 3e 0a 20 20 20 20 20 20 3c 70 3e 0a hing.else........</p>.......<p>.
8fa40 20 20 20 20 20 20 48 6f 77 65 76 65 72 2c 20 74 68 65 72 65 20 69 73 20 61 20 3c 61 20 68 72 65 ......However,.there.is.a.<a.hre
8fa60 66 3d 22 68 74 74 70 73 3a 2f 2f 67 69 74 68 75 62 2e 63 6f 6d 2f 7a 69 67 6c 61 6e 67 2f 7a 69 f="https://github.com/ziglang/zi
8fa80 67 2f 69 73 73 75 65 73 2f 31 33 37 32 34 22 3e 64 65 73 69 67 6e 0a 20 20 20 20 20 20 66 6c 61 g/issues/13724">design.......fla
8faa0 77 20 69 6e 20 74 68 65 20 63 6f 6d 70 69 6c 65 72 3c 2f 61 3e 20 63 61 75 73 69 6e 67 20 69 74 w.in.the.compiler</a>.causing.it
8fac0 20 74 6f 20 73 74 61 63 6b 20 6f 76 65 72 66 6c 6f 77 20 69 6e 73 74 65 61 64 20 6f 66 20 68 61 .to.stack.overflow.instead.of.ha
8fae0 76 69 6e 67 20 74 68 65 20 70 72 6f 70 65 72 0a 20 20 20 20 20 20 62 65 68 61 76 69 6f 72 20 68 ving.the.proper.......behavior.h
8fb00 65 72 65 2e 20 49 27 6d 20 74 65 72 72 69 62 6c 79 20 73 6f 72 72 79 20 61 62 6f 75 74 20 74 68 ere..I'm.terribly.sorry.about.th
8fb20 61 74 2e 20 49 20 68 6f 70 65 20 74 6f 20 67 65 74 20 74 68 69 73 20 72 65 73 6f 6c 76 65 64 0a at..I.hope.to.get.this.resolved.
8fb40 20 20 20 20 20 20 62 65 66 6f 72 65 20 74 68 65 20 6e 65 78 74 20 72 65 6c 65 61 73 65 2e 0a 20 ......before.the.next.release...
8fb60 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
8fb80 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.
8fba0 74 68 65 20 77 72 6f 6e 67 20 76 61 6c 75 65 20 69 6e 20 74 68 65 0a 20 20 20 20 20 20 3c 63 6f the.wrong.value.in.the.......<co
8fbc0 64 65 3e 65 78 70 65 63 74 3c 2f 63 6f 64 65 3e 20 6c 69 6e 65 3f 0a 20 20 20 20 20 20 3c 2f 70 de>expect</code>.line?.......</p
8fbe0 3e 0a 20 20 20 20 20 20 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
8fc00 73 3d 22 7a 69 67 2d 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
8fc20 65 73 74 5f 66 69 62 6f 6e 61 63 63 69 5f 63 6f 6d 70 74 69 6d 65 5f 75 6e 72 65 61 63 68 61 62 est_fibonacci_comptime_unreachab
8fc40 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><
8fc60 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 63 6f 6e 73 74 3c code><span.class="tok-kw">const<
8fc80 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 6b /span>.assert.=.<span.class="tok
8fca0 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
8fcc0 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;</
8fce0 73 70 61 6e 3e 29 2e 64 65 62 75 67 2e 61 73 73 65 72 74 3b 0a 0a 3c 73 70 61 6e 20 63 6c 61 73 span>).debug.assert;..<span.clas
8fd00 73 3d 22 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
8fd20 3d 22 74 6f 6b 2d 66 6e 22 3e 66 69 62 6f 6e 61 63 63 69 3c 2f 73 70 61 6e 3e 28 69 6e 64 65 78 ="tok-fn">fibonacci</span>(index
8fd40 3a 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
8fd60 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<
8fd80 2f 73 70 61 6e 3e 20 7b 0a 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 /span>.{.....<span.class="tok-kw
8fda0 22 3e 69 66 3c 2f 73 70 61 6e 3e 20 28 69 6e 64 65 78 20 26 6c 74 3b 20 3c 73 70 61 6e 20 63 6c ">if</span>.(index.&lt;.<span.cl
8fdc0 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 32 3c 2f 73 70 61 6e 3e 29 20 3c 73 70 61 6e ass="tok-number">2</span>).<span
8fde0 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 69 6e .class="tok-kw">return</span>.in
8fe00 64 65 78 3b 0a 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 72 65 dex;.....<span.class="tok-kw">re
8fe20 74 75 72 6e 3c 2f 73 70 61 6e 3e 20 66 69 62 6f 6e 61 63 63 69 28 69 6e 64 65 78 20 2d 20 3c 73 turn</span>.fibonacci(index.-.<s
8fe40 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 31 3c 2f 73 70 61 6e 3e 29 pan.class="tok-number">1</span>)
8fe60 20 2b 20 66 69 62 6f 6e 61 63 63 69 28 69 6e 64 65 78 20 2d 20 3c 73 70 61 6e 20 63 6c 61 73 73 .+.fibonacci(index.-.<span.class
8fe80 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 32 3c 2f 73 70 61 6e 3e 29 3b 0a 7d 0a 0a 3c 73 70 61 ="tok-number">2</span>);.}..<spa
8fea0 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
8fec0 61 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
8fee0 63 69 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 20 7b 0a 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 ci&quot;</span>.{.....<span.clas
8ff00 73 3d 22 74 6f 6b 2d 6b 77 22 3e 74 72 79 3c 2f 73 70 61 6e 3e 20 3c 73 70 61 6e 20 63 6c 61 73 s="tok-kw">try</span>.<span.clas
8ff20 73 3d 22 74 6f 6b 2d 6b 77 22 3e 63 6f 6d 70 74 69 6d 65 3c 2f 73 70 61 6e 3e 20 61 73 73 65 72 s="tok-kw">comptime</span>.asser
8ff40 74 28 66 69 62 6f 6e 61 63 63 69 28 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d t(fibonacci(<span.class="tok-num
8ff60 62 65 72 22 3e 37 3c 2f 73 70 61 6e 3e 29 20 3d 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 ber">7</span>).==.<span.class="t
8ff80 6f 6b 2d 6e 75 6d 62 65 72 22 3e 39 39 39 39 39 3c 2f 73 70 61 6e 3e 29 3b 0a 7d 3c 2f 63 6f 64 ok-number">99999</span>);.}</cod
8ffa0 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
8ffc0 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
8ffe0 67 63 61 70 74 69 6f 6e 3e 3c 70 72 65 3e 3c 73 61 6d 70 3e 24 20 3c 6b 62 64 3e 7a 69 67 20 74 gcaption><pre><samp>$.<kbd>zig.t
90000 65 73 74 20 74 65 73 74 5f 66 69 62 6f 6e 61 63 63 69 5f 63 6f 6d 70 74 69 6d 65 5f 75 6e 72 65 est.test_fibonacci_comptime_unre
90020 61 63 68 61 62 6c 65 2e 7a 69 67 3c 2f 6b 62 64 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 73 achable.zig</kbd>.<span.class="s
90040 67 72 2d 31 6d 22 3e 2f 68 6f 6d 65 2f 63 69 2f 77 6f 72 6b 2f 7a 69 67 2d 62 6f 6f 74 73 74 72 gr-1m">/home/ci/work/zig-bootstr
90060 61 70 2f 6f 75 74 2f 68 6f 73 74 2f 6c 69 62 2f 7a 69 67 2f 73 74 64 2f 64 65 62 75 67 2e 7a 69 ap/out/host/lib/zig/std/debug.zi
90080 67 3a 34 32 33 3a 31 34 3a 20 3c 2f 73 70 61 6e 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 73 67 g:423:14:.</span><span.class="sg
900a0 72 2d 33 31 6d 22 3e 65 72 72 6f 72 3a 20 3c 2f 73 70 61 6e 3e 3c 73 70 61 6e 20 63 6c 61 73 73 r-31m">error:.</span><span.class
900c0 3d 22 73 67 72 2d 31 6d 22 3e 72 65 61 63 68 65 64 20 75 6e 72 65 61 63 68 61 62 6c 65 20 63 6f ="sgr-1m">reached.unreachable.co
900e0 64 65 0a 3c 2f 73 70 61 6e 3e 20 20 20 20 69 66 20 28 21 6f 6b 29 20 75 6e 72 65 61 63 68 61 62 de.</span>....if.(!ok).unreachab
90100 6c 65 3b 20 2f 2f 20 61 73 73 65 72 74 69 6f 6e 20 66 61 69 6c 75 72 65 0a 20 20 20 20 20 20 20 le;.//.assertion.failure........
90120 20 20 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 73 67 72 2d 33 32 6d 22 3e 5e 7e 7e 7e ......<span.class="sgr-32m">^~~~
90140 7e 7e 7e 7e 7e 7e 7e 0a 3c 2f 73 70 61 6e 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 73 67 72 2d ~~~~~~~.</span><span.class="sgr-
90160 31 6d 22 3e 2f 68 6f 6d 65 2f 63 69 2f 77 6f 72 6b 2f 7a 69 67 2d 62 6f 6f 74 73 74 72 61 70 2f 1m">/home/ci/work/zig-bootstrap/
90180 7a 69 67 2f 64 6f 63 2f 6c 61 6e 67 72 65 66 2f 74 65 73 74 5f 66 69 62 6f 6e 61 63 63 69 5f 63 zig/doc/langref/test_fibonacci_c
901a0 6f 6d 70 74 69 6d 65 5f 75 6e 72 65 61 63 68 61 62 6c 65 2e 7a 69 67 3a 39 3a 32 34 3a 20 3c 2f omptime_unreachable.zig:9:24:.</
901c0 73 70 61 6e 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 73 67 72 2d 33 36 6d 22 3e 6e 6f 74 65 3a span><span.class="sgr-36m">note:
901e0 20 3c 2f 73 70 61 6e 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 73 67 72 2d 31 6d 22 3e 63 61 6c .</span><span.class="sgr-1m">cal
90200 6c 65 64 20 61 74 20 63 6f 6d 70 74 69 6d 65 20 68 65 72 65 0a 3c 2f 73 70 61 6e 3e 20 20 20 20 led.at.comptime.here.</span>....
90220 74 72 79 20 63 6f 6d 70 74 69 6d 65 20 61 73 73 65 72 74 28 66 69 62 6f 6e 61 63 63 69 28 37 29 try.comptime.assert(fibonacci(7)
90240 20 3d 3d 20 39 39 39 39 39 29 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 3c 73 70 .==.99999);..................<sp
90260 61 6e 20 63 6c 61 73 73 3d 22 73 67 72 2d 33 32 6d 22 3e 7e 7e 7e 7e 7e 7e 5e 7e 7e 7e 7e 7e 7e an.class="sgr-32m">~~~~~~^~~~~~~
90280 7e 7e 7e 7e 7e 7e 7e 7e 7e 7e 7e 7e 7e 7e 7e 7e 0a 3c 2f 73 70 61 6e 3e 0a 3c 2f 73 61 6d 70 3e ~~~~~~~~~~~~~~~~.</span>.</samp>
902a0 3c 2f 70 72 65 3e 3c 2f 66 69 67 75 72 65 3e 0a 0a 20 20 20 20 20 20 3c 70 3e 41 74 20 3c 61 20 </pre></figure>........<p>At.<a.
902c0 68 72 65 66 3d 22 23 4e 61 6d 65 73 70 61 63 65 22 3e 4e 61 6d 65 73 70 61 63 65 3c 2f 61 3e 20 href="#Namespace">Namespace</a>.
902e0 6c 65 76 65 6c 20 28 6f 75 74 73 69 64 65 20 6f 66 20 61 6e 79 20 66 75 6e 63 74 69 6f 6e 29 2c level.(outside.of.any.function),
90300 20 61 6c 6c 20 65 78 70 72 65 73 73 69 6f 6e 73 0a 20 20 20 20 20 20 61 72 65 20 69 6d 70 6c 69 .all.expressions.......are.impli
90320 63 69 74 6c 79 20 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 citly.<code><span.class="tok-kw"
90340 3e 63 6f 6d 70 74 69 6d 65 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 20 65 78 70 72 65 73 73 69 >comptime</span></code>.expressi
90360 6f 6e 73 2e 20 54 68 69 73 20 6d 65 61 6e 73 0a 20 20 20 20 20 20 74 68 61 74 20 77 65 20 63 61 ons..This.means.......that.we.ca
90380 6e 20 75 73 65 20 66 75 6e 63 74 69 6f 6e 73 20 74 6f 20 69 6e 69 74 69 61 6c 69 7a 65 20 63 6f n.use.functions.to.initialize.co
903a0 6d 70 6c 65 78 20 63 6f 6e 73 74 61 6e 74 20 64 61 74 61 2e 20 46 6f 72 0a 20 20 20 20 20 20 65 mplex.constant.data..For.......e
903c0 78 61 6d 70 6c 65 3a 3c 2f 70 3e 0a 20 20 20 20 20 20 3c 66 69 67 75 72 65 3e 3c 66 69 67 63 61 xample:</p>.......<figure><figca
903e0 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
90400 73 3d 22 66 69 6c 65 22 3e 74 65 73 74 5f 6e 61 6d 65 73 70 61 63 65 2d 6c 65 76 65 6c 5f 63 6f s="file">test_namespace-level_co
90420 6d 70 74 69 6d 65 5f 65 78 70 72 65 73 73 69 6f 6e 73 2e 7a 69 67 3c 2f 63 69 74 65 3e 3c 2f 66 mptime_expressions.zig</cite></f
90440 69 67 63 61 70 74 69 6f 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
90460 3d 22 74 6f 6b 2d 6b 77 22 3e 63 6f 6e 73 74 3c 2f 73 70 61 6e 3e 20 66 69 72 73 74 5f 32 35 5f ="tok-kw">const</span>.first_25_
90480 70 72 69 6d 65 73 20 3d 20 66 69 72 73 74 4e 50 72 69 6d 65 73 28 3c 73 70 61 6e 20 63 6c 61 73 primes.=.firstNPrimes(<span.clas
904a0 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 32 35 3c 2f 73 70 61 6e 3e 29 3b 0a 3c 73 70 61 6e s="tok-number">25</span>);.<span
904c0 20 63 6c 61 73 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 75 6d .class="tok-kw">const</span>.sum
904e0 5f 6f 66 5f 66 69 72 73 74 5f 32 35 5f 70 72 69 6d 65 73 20 3d 20 73 75 6d 28 26 61 6d 70 3b 66 _of_first_25_primes.=.sum(&amp;f
90500 69 72 73 74 5f 32 35 5f 70 72 69 6d 65 73 29 3b 0a 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 irst_25_primes);..<span.class="t
90520 6f 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
90540 6b 2d 66 6e 22 3e 66 69 72 73 74 4e 50 72 69 6d 65 73 3c 2f 73 70 61 6e 3e 28 3c 73 70 61 6e 20 k-fn">firstNPrimes</span>(<span.
90560 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 63 6f 6d 70 74 69 6d 65 3c 2f 73 70 61 6e 3e 20 6e class="tok-kw">comptime</span>.n
90580 3a 20 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</
905a0 73 70 61 6e 3e 29 20 5b 6e 5d 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 span>).[n]<span.class="tok-type"
905c0 3e 69 33 32 3c 2f 73 70 61 6e 3e 20 7b 0a 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 >i32</span>.{.....<span.class="t
905e0 6f 6b 2d 6b 77 22 3e 76 61 72 3c 2f 73 70 61 6e 3e 20 70 72 69 6d 65 5f 6c 69 73 74 3a 20 5b 6e ok-kw">var</span>.prime_list:.[n
90600 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
90620 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
90640 66 69 6e 65 64 3c 2f 73 70 61 6e 3e 3b 0a 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 fined</span>;.....<span.class="t
90660 6f 6b 2d 6b 77 22 3e 76 61 72 3c 2f 73 70 61 6e 3e 20 6e 65 78 74 5f 69 6e 64 65 78 3a 20 3c 73 ok-kw">var</span>.next_index:.<s
90680 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
906a0 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</
906c0 73 70 61 6e 3e 3b 0a 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e span>;.....<span.class="tok-kw">
906e0 76 61 72 3c 2f 73 70 61 6e 3e 20 74 65 73 74 5f 6e 75 6d 62 65 72 3a 20 3c 73 70 61 6e 20 63 6c var</span>.test_number:.<span.cl
90700 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 69 33 32 3c 2f 73 70 61 6e 3e 20 3d 20 3c 73 70 61 ass="tok-type">i32</span>.=.<spa
90720 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 32 3c 2f 73 70 61 6e 3e 3b 0a 20 n.class="tok-number">2</span>;..
90740 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 77 68 69 6c 65 3c 2f 73 ...<span.class="tok-kw">while</s
90760 70 61 6e 3e 20 28 6e 65 78 74 5f 69 6e 64 65 78 20 26 6c 74 3b 20 70 72 69 6d 65 5f 6c 69 73 74 pan>.(next_index.&lt;.prime_list
90780 2e 6c 65 6e 29 20 3a 20 28 74 65 73 74 5f 6e 75 6d 62 65 72 20 2b 3d 20 3c 73 70 61 6e 20 63 6c .len).:.(test_number.+=.<span.cl
907a0 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 31 3c 2f 73 70 61 6e 3e 29 20 7b 0a 20 20 20 ass="tok-number">1</span>).{....
907c0 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
907e0 70 61 6e 3e 20 74 65 73 74 5f 70 72 69 6d 65 5f 69 6e 64 65 78 3a 20 3c 73 70 61 6e 20 63 6c 61 pan>.test_prime_index:.<span.cla
90800 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
90820 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 30 3c 2f 73 70 61 6e 3e 3b 0a an.class="tok-number">0</span>;.
90840 20 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
90860 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="
90880 74 6f 6b 2d 6e 75 6c 6c 22 3e 74 72 75 65 3c 2f 73 70 61 6e 3e 3b 0a 20 20 20 20 20 20 20 20 3c tok-null">true</span>;.........<
908a0 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>
908c0 20 28 74 65 73 74 5f 70 72 69 6d 65 5f 69 6e 64 65 78 20 26 6c 74 3b 20 6e 65 78 74 5f 69 6e 64 .(test_prime_index.&lt;.next_ind
908e0 65 78 29 20 3a 20 28 74 65 73 74 5f 70 72 69 6d 65 5f 69 6e 64 65 78 20 2b 3d 20 3c 73 70 61 6e ex).:.(test_prime_index.+=.<span
90900 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 31 3c 2f 73 70 61 6e 3e 29 20 7b 0a .class="tok-number">1</span>).{.
90920 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"
90940 3e 69 66 3c 2f 73 70 61 6e 3e 20 28 74 65 73 74 5f 6e 75 6d 62 65 72 20 25 20 70 72 69 6d 65 5f >if</span>.(test_number.%.prime_
90960 6c 69 73 74 5b 74 65 73 74 5f 70 72 69 6d 65 5f 69 6e 64 65 78 5d 20 3d 3d 20 3c 73 70 61 6e 20 list[test_prime_index].==.<span.
90980 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 30 3c 2f 73 70 61 6e 3e 29 20 7b 0a 20 class="tok-number">0</span>).{..
909a0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 69 73 5f 70 72 69 6d 65 20 3d 20 3c 73 70 61 6e 20 ...............is_prime.=.<span.
909c0 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 0a 20 class="tok-null">false</span>;..
909e0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d ...............<span.class="tok-
90a00 6b 77 22 3e 62 72 65 61 6b 3c 2f 73 70 61 6e 3e 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 7d 0a kw">break</span>;.............}.
90a20 20 20 20 20 20 20 20 20 7d 0a 20 20 20 20 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 ........}.........<span.class="t
90a40 6f 6b 2d 6b 77 22 3e 69 66 3c 2f 73 70 61 6e 3e 20 28 69 73 5f 70 72 69 6d 65 29 20 7b 0a 20 20 ok-kw">if</span>.(is_prime).{...
90a60 20 20 20 20 20 20 20 20 20 20 70 72 69 6d 65 5f 6c 69 73 74 5b 6e 65 78 74 5f 69 6e 64 65 78 5d ..........prime_list[next_index]
90a80 20 3d 20 74 65 73 74 5f 6e 75 6d 62 65 72 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 6e 65 78 74 .=.test_number;.............next
90aa0 5f 69 6e 64 65 78 20 2b 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 _index.+=.<span.class="tok-numbe
90ac0 72 22 3e 31 3c 2f 73 70 61 6e 3e 3b 0a 20 20 20 20 20 20 20 20 7d 0a 20 20 20 20 7d 0a 20 20 20 r">1</span>;.........}.....}....
90ae0 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
90b00 61 6e 3e 20 70 72 69 6d 65 5f 6c 69 73 74 3b 0a 7d 0a 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 an>.prime_list;.}..<span.class="
90b20 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
90b40 6f 6b 2d 66 6e 22 3e 73 75 6d 3c 2f 73 70 61 6e 3e 28 6e 75 6d 62 65 72 73 3a 20 5b 5d 3c 73 70 ok-fn">sum</span>(numbers:.[]<sp
90b60 61 6e 20 63 6c 61 73 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>.<
90b80 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>
90ba0 29 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 69 33 32 3c 2f 73 70 ).<span.class="tok-type">i32</sp
90bc0 61 6e 3e 20 7b 0a 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 76 an>.{.....<span.class="tok-kw">v
90be0 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
90c00 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
90c20 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 30 3c 2f 73 70 61 6e 3e 3b 0a 20 20 20 20 3c 73 70 s="tok-number">0</span>;.....<sp
90c40 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 6e 75 an.class="tok-kw">for</span>.(nu
90c60 6d 62 65 72 73 29 20 7c 78 7c 20 7b 0a 20 20 20 20 20 20 20 20 72 65 73 75 6c 74 20 2b 3d 20 78 mbers).|x|.{.........result.+=.x
90c80 3b 0a 20 20 20 20 7d 0a 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 ;.....}.....<span.class="tok-kw"
90ca0 3e 72 65 74 75 72 6e 3c 2f 73 70 61 6e 3e 20 72 65 73 75 6c 74 3b 0a 7d 0a 0a 3c 73 70 61 6e 20 >return</span>.result;.}..<span.
90cc0 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
90ce0 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 73 74 72 22 3e 26 71 75 6f 74 3b 76 61 72 69 61 62 6c 65 20 .class="tok-str">&quot;variable.
90d00 76 61 6c 75 65 73 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 20 7b 0a 20 20 20 20 3c 73 70 61 6e 20 values&quot;</span>.{.....<span.
90d20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 74 72 79 3c 2f 73 70 61 6e 3e 20 3c 73 70 61 6e 20 class="tok-kw">try</span>.<span.
90d40 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
90d60 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
90d80 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 45 td&quot;</span>).testing.expectE
90da0 71 75 61 6c 28 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 31 30 qual(<span.class="tok-number">10
90dc0 36 30 3c 2f 73 70 61 6e 3e 2c 20 73 75 6d 5f 6f 66 5f 66 69 72 73 74 5f 32 35 5f 70 72 69 6d 65 60</span>,.sum_of_first_25_prime
90de0 73 29 3b 0a 7d 3c 2f 63 6f 64 65 3e 3c 2f 70 72 65 3e 3c 2f 66 69 67 75 72 65 3e 3c 66 69 67 75 s);.}</code></pre></figure><figu
90e00 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"
90e20 3e 53 68 65 6c 6c 3c 2f 66 69 67 63 61 70 74 69 6f 6e 3e 3c 70 72 65 3e 3c 73 61 6d 70 3e 24 20 >Shell</figcaption><pre><samp>$.
90e40 3c 6b 62 64 3e 7a 69 67 20 74 65 73 74 20 74 65 73 74 5f 6e 61 6d 65 73 70 61 63 65 2d 6c 65 76 <kbd>zig.test.test_namespace-lev
90e60 65 6c 5f 63 6f 6d 70 74 69 6d 65 5f 65 78 70 72 65 73 73 69 6f 6e 73 2e 7a 69 67 3c 2f 6b 62 64 el_comptime_expressions.zig</kbd
90e80 3e 0a 31 2f 31 20 74 65 73 74 5f 6e 61 6d 65 73 70 61 63 65 2d 6c 65 76 65 6c 5f 63 6f 6d 70 74 >.1/1.test_namespace-level_compt
90ea0 69 6d 65 5f 65 78 70 72 65 73 73 69 6f 6e 73 2e 74 65 73 74 2e 76 61 72 69 61 62 6c 65 20 76 61 ime_expressions.test.variable.va
90ec0 6c 75 65 73 2e 2e 2e 4f 4b 0a 41 6c 6c 20 31 20 74 65 73 74 73 20 70 61 73 73 65 64 2e 0a 3c 2f lues...OK.All.1.tests.passed..</
90ee0 73 61 6d 70 3e 3c 2f 70 72 65 3e 3c 2f 66 69 67 75 72 65 3e 0a 0a 20 20 20 20 20 20 3c 70 3e 0a samp></pre></figure>........<p>.
90f00 20 20 20 20 20 20 57 68 65 6e 20 77 65 20 63 6f 6d 70 69 6c 65 20 74 68 69 73 20 70 72 6f 67 72 ......When.we.compile.this.progr
90f20 61 6d 2c 20 5a 69 67 20 67 65 6e 65 72 61 74 65 73 20 74 68 65 20 63 6f 6e 73 74 61 6e 74 73 0a am,.Zig.generates.the.constants.
90f40 20 20 20 20 20 20 77 69 74 68 20 74 68 65 20 61 6e 73 77 65 72 20 70 72 65 2d 63 6f 6d 70 75 74 ......with.the.answer.pre-comput
90f60 65 64 2e 20 48 65 72 65 20 61 72 65 20 74 68 65 20 6c 69 6e 65 73 20 66 72 6f 6d 20 74 68 65 20 ed..Here.are.the.lines.from.the.
90f80 67 65 6e 65 72 61 74 65 64 20 4c 4c 56 4d 20 49 52 3a 0a 20 20 20 20 20 20 3c 2f 70 3e 0a 20 20 generated.LLVM.IR:.......</p>...
90fa0 20 20 20 20 3c 70 72 65 3e 3c 63 6f 64 65 20 63 6c 61 73 73 3d 22 6c 6c 76 6d 22 3e 40 30 20 3d ....<pre><code.class="llvm">@0.=
90fc0 20 69 6e 74 65 72 6e 61 6c 20 75 6e 6e 61 6d 65 64 5f 61 64 64 72 20 63 6f 6e 73 74 61 6e 74 20 .internal.unnamed_addr.constant.
90fe0 5b 32 35 20 78 20 69 33 32 5d 20 5b 69 33 32 20 32 2c 20 69 33 32 20 33 2c 20 69 33 32 20 35 2c [25.x.i32].[i32.2,.i32.3,.i32.5,
91000 20 69 33 32 20 37 2c 20 69 33 32 20 31 31 2c 20 69 33 32 20 31 33 2c 20 69 33 32 20 31 37 2c 20 .i32.7,.i32.11,.i32.13,.i32.17,.
91020 69 33 32 20 31 39 2c 20 69 33 32 20 32 33 2c 20 69 33 32 20 32 39 2c 20 69 33 32 20 33 31 2c 20 i32.19,.i32.23,.i32.29,.i32.31,.
91040 69 33 32 20 33 37 2c 20 69 33 32 20 34 31 2c 20 69 33 32 20 34 33 2c 20 69 33 32 20 34 37 2c 20 i32.37,.i32.41,.i32.43,.i32.47,.
91060 69 33 32 20 35 33 2c 20 69 33 32 20 35 39 2c 20 69 33 32 20 36 31 2c 20 69 33 32 20 36 37 2c 20 i32.53,.i32.59,.i32.61,.i32.67,.
91080 69 33 32 20 37 31 2c 20 69 33 32 20 37 33 2c 20 69 33 32 20 37 39 2c 20 69 33 32 20 38 33 2c 20 i32.71,.i32.73,.i32.79,.i32.83,.
910a0 69 33 32 20 38 39 2c 20 69 33 32 20 39 37 5d 0a 40 31 20 3d 20 69 6e 74 65 72 6e 61 6c 20 75 6e i32.89,.i32.97].@1.=.internal.un
910c0 6e 61 6d 65 64 5f 61 64 64 72 20 63 6f 6e 73 74 61 6e 74 20 69 33 32 20 31 30 36 30 3c 2f 63 6f named_addr.constant.i32.1060</co
910e0 64 65 3e 3c 2f 70 72 65 3e 0a 20 20 20 20 20 20 3c 70 3e 0a 20 20 20 20 20 20 4e 6f 74 65 20 74 de></pre>.......<p>.......Note.t
91100 68 61 74 20 77 65 20 64 69 64 20 6e 6f 74 20 68 61 76 65 20 74 6f 20 64 6f 20 61 6e 79 74 68 69 hat.we.did.not.have.to.do.anythi
91120 6e 67 20 73 70 65 63 69 61 6c 20 77 69 74 68 20 74 68 65 20 73 79 6e 74 61 78 20 6f 66 20 74 68 ng.special.with.the.syntax.of.th
91140 65 73 65 20 66 75 6e 63 74 69 6f 6e 73 2e 20 46 6f 72 20 65 78 61 6d 70 6c 65 2c 0a 20 20 20 20 ese.functions..For.example,.....
91160 20 20 77 65 20 63 6f 75 6c 64 20 63 61 6c 6c 20 74 68 65 20 3c 63 6f 64 65 3e 73 75 6d 3c 2f 63 ..we.could.call.the.<code>sum</c
91180 6f 64 65 3e 20 66 75 6e 63 74 69 6f 6e 20 61 73 20 69 73 20 77 69 74 68 20 61 20 73 6c 69 63 65 ode>.function.as.is.with.a.slice
911a0 20 6f 66 20 6e 75 6d 62 65 72 73 20 77 68 6f 73 65 20 6c 65 6e 67 74 68 20 61 6e 64 20 76 61 6c .of.numbers.whose.length.and.val
911c0 75 65 73 20 77 65 72 65 0a 20 20 20 20 20 20 6f 6e 6c 79 20 6b 6e 6f 77 6e 20 61 74 20 72 75 6e ues.were.......only.known.at.run
911e0 2d 74 69 6d 65 2e 0a 20 20 20 20 20 20 3c 2f 70 3e 0a 20 20 20 20 20 20 0a 20 20 20 20 20 20 0a -time........</p>...............
91200 20 20 20 20 20 20 3c 68 33 20 69 64 3d 22 47 65 6e 65 72 69 63 2d 44 61 74 61 2d 53 74 72 75 63 ......<h3.id="Generic-Data-Struc
91220 74 75 72 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 47 65 tures"><a.href="nav.xhtml#toc-Ge
91240 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 65 72 69 63 20 44 neric-Data-Structures">Generic.D
91260 61 74 61 20 53 74 72 75 63 74 75 72 65 73 3c 2f 61 3e 20 3c 61 20 63 6c 61 73 73 3d 22 68 64 72 ata.Structures</a>.<a.class="hdr
91280 22 20 68 72 65 66 3d 22 23 47 65 6e 65 72 69 63 2d 44 61 74 61 2d 53 74 72 75 63 74 75 72 65 73 ".href="#Generic-Data-Structures
912a0 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 5a ">..</a></h3>........<p>.......Z
912c0 69 67 20 75 73 65 73 20 63 6f 6d 70 74 69 6d 65 20 63 61 70 61 62 69 6c 69 74 69 65 73 20 74 6f ig.uses.comptime.capabilities.to
912e0 20 69 6d 70 6c 65 6d 65 6e 74 20 67 65 6e 65 72 69 63 20 64 61 74 61 20 73 74 72 75 63 74 75 72 .implement.generic.data.structur
91300 65 73 20 77 69 74 68 6f 75 74 20 69 6e 74 72 6f 64 75 63 69 6e 67 20 61 6e 79 0a 20 20 20 20 20 es.without.introducing.any......
91320 20 73 70 65 63 69 61 6c 2d 63 61 73 65 20 73 79 6e 74 61 78 2e 0a 20 20 20 20 20 20 3c 2f 70 3e .special-case.syntax........</p>
91340 0a 20 20 20 20 20 20 3c 70 3e 0a 09 09 09 48 65 72 65 20 69 73 20 61 6e 20 65 78 61 6d 70 6c 65 .......<p>....Here.is.an.example
91360 20 6f 66 20 61 20 67 65 6e 65 72 69 63 20 3c 63 6f 64 65 3e 4c 69 73 74 3c 2f 63 6f 64 65 3e 20 .of.a.generic.<code>List</code>.
91380 64 61 74 61 20 73 74 72 75 63 74 75 72 65 2e 0a 20 20 20 20 20 20 3c 2f 70 3e 0a 20 20 20 20 20 data.structure........</p>......
913a0 20 3c 66 69 67 75 72 65 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-
913c0 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 65 6e 65 72 69 63 5f cap"><cite.class="file">generic_
913e0 64 61 74 61 5f 73 74 72 75 63 74 75 72 65 2e 7a 69 67 3c 2f 63 69 74 65 3e 3c 2f 66 69 67 63 61 data_structure.zig</cite></figca
91400 70 74 69 6f 6e 3e 3c 70 72 65 3e 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f ption><pre><code><span.class="to
91420 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
91440 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 74 6f -fn">List</span>(<span.class="to
91460 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
91480 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 74 79 70 65 3c 2f 73 70 61 6e 3e 29 20 3c 73 70 lass="tok-type">type</span>).<sp
914a0 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 20 an.class="tok-type">type</span>.
914c0 7b 0a 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 72 65 74 75 72 {.....<span.class="tok-kw">retur
914e0 6e 3c 2f 73 70 61 6e 3e 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 73 74 n</span>.<span.class="tok-kw">st
91500 72 75 63 74 3c 2f 73 70 61 6e 3e 20 7b 0a 20 20 20 20 20 20 20 20 69 74 65 6d 73 3a 20 5b 5d 54 ruct</span>.{.........items:.[]T
91520 2c 0a 20 20 20 20 20 20 20 20 6c 65 6e 3a 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d ,.........len:.<span.class="tok-
91540 74 79 70 65 22 3e 75 73 69 7a 65 3c 2f 73 70 61 6e 3e 2c 0a 20 20 20 20 7d 3b 0a 7d 0a 0a 3c 73 type">usize</span>,.....};.}..<s
91560 70 61 6e 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 67 pan.class="tok-comment">//.The.g
91580 65 6e 65 72 69 63 20 4c 69 73 74 20 64 61 74 61 20 73 74 72 75 63 74 75 72 65 20 63 61 6e 20 62 eneric.List.data.structure.can.b
915a0 65 20 69 6e 73 74 61 6e 74 69 61 74 65 64 20 62 79 20 70 61 73 73 69 6e 67 20 69 6e 20 61 20 74 e.instantiated.by.passing.in.a.t
915c0 79 70 65 3a 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 ype:</span>.<span.class="tok-kw"
915e0 3e 76 61 72 3c 2f 73 70 61 6e 3e 20 62 75 66 66 65 72 3a 20 5b 3c 73 70 61 6e 20 63 6c 61 73 73 >var</span>.buffer:.[<span.class
91600 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 31 30 3c 2f 73 70 61 6e 3e 5d 3c 73 70 61 6e 20 63 6c ="tok-number">10</span>]<span.cl
91620 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 69 33 32 3c 2f 73 70 61 6e 3e 20 3d 20 3c 73 70 61 ass="tok-type">i32</span>.=.<spa
91640 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
91660 61 6e 3e 3b 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 76 61 72 3c 2f 73 an>;.<span.class="tok-kw">var</s
91680 70 61 6e 3e 20 6c 69 73 74 20 3d 20 4c 69 73 74 28 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f pan>.list.=.List(<span.class="to
916a0 6b 2d 74 79 70 65 22 3e 69 33 32 3c 2f 73 70 61 6e 3e 29 7b 0a 20 20 20 20 2e 69 74 65 6d 73 20 k-type">i32</span>){......items.
916c0 3d 20 26 61 6d 70 3b 62 75 66 66 65 72 2c 0a 20 20 20 20 2e 6c 65 6e 20 3d 20 3c 73 70 61 6e 20 =.&amp;buffer,......len.=.<span.
916e0 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 30 3c 2f 73 70 61 6e 3e 2c 0a 7d 3b 3c class="tok-number">0</span>,.};<
91700 2f 63 6f 64 65 3e 3c 2f 70 72 65 3e 3c 2f 66 69 67 75 72 65 3e 0a 0a 20 20 20 20 20 20 3c 70 3e /code></pre></figure>........<p>
91720 0a 20 20 20 20 20 20 54 68 61 74 27 73 20 69 74 2e 20 49 74 27 73 20 61 20 66 75 6e 63 74 69 6f .......That's.it..It's.a.functio
91740 6e 20 74 68 61 74 20 72 65 74 75 72 6e 73 20 61 6e 20 61 6e 6f 6e 79 6d 6f 75 73 20 3c 63 6f 64 n.that.returns.an.anonymous.<cod
91760 65 3e 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 e><span.class="tok-kw">struct</s
91780 70 61 6e 3e 3c 2f 63 6f 64 65 3e 2e 0a 20 20 20 20 20 20 46 6f 72 20 74 68 65 20 70 75 72 70 6f pan></code>........For.the.purpo
917a0 73 65 73 20 6f 66 20 65 72 72 6f 72 20 6d 65 73 73 61 67 65 73 20 61 6e 64 20 64 65 62 75 67 67 ses.of.error.messages.and.debugg
917c0 69 6e 67 2c 20 5a 69 67 20 69 6e 66 65 72 73 20 74 68 65 20 6e 61 6d 65 0a 20 20 20 20 20 20 3c ing,.Zig.infers.the.name.......<
917e0 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 73 74 72 22 3e 26 71 75 6f 74 code><span.class="tok-str">&quot
91800 3b 4c 69 73 74 28 69 33 32 29 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 20 66 ;List(i32)&quot;</span></code>.f
91820 72 6f 6d 20 74 68 65 20 66 75 6e 63 74 69 6f 6e 20 6e 61 6d 65 20 61 6e 64 20 70 61 72 61 6d 65 rom.the.function.name.and.parame
91840 74 65 72 73 20 69 6e 76 6f 6b 65 64 20 77 68 65 6e 20 63 72 65 61 74 69 6e 67 0a 20 20 20 20 20 ters.invoked.when.creating......
91860 20 74 68 65 20 61 6e 6f 6e 79 6d 6f 75 73 20 73 74 72 75 63 74 2e 0a 20 20 20 20 20 20 3c 2f 70 .the.anonymous.struct........</p
91880 3e 0a 20 20 20 20 20 20 3c 70 3e 0a 20 20 20 20 20 20 54 6f 20 65 78 70 6c 69 63 69 74 6c 79 20 >.......<p>.......To.explicitly.
918a0 67 69 76 65 20 61 20 74 79 70 65 20 61 20 6e 61 6d 65 2c 20 77 65 20 61 73 73 69 67 6e 20 69 74 give.a.type.a.name,.we.assign.it
918c0 20 74 6f 20 61 20 63 6f 6e 73 74 61 6e 74 2e 0a 20 20 20 20 20 20 3c 2f 70 3e 0a 20 20 20 20 20 .to.a.constant........</p>......
918e0 20 3c 66 69 67 75 72 65 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-
91900 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 6e 6f 6e 79 6d 6f 75 cap"><cite.class="file">anonymou
91920 73 5f 73 74 72 75 63 74 5f 6e 61 6d 65 2e 7a 69 67 3c 2f 63 69 74 65 3e 3c 2f 66 69 67 63 61 70 s_struct_name.zig</cite></figcap
91940 74 69 6f 6e 3e 3c 70 72 65 3e 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b tion><pre><code><span.class="tok
91960 2d 6b 77 22 3e 63 6f 6e 73 74 3c 2f 73 70 61 6e 3e 20 4e 6f 64 65 20 3d 20 3c 73 70 61 6e 20 63 -kw">const</span>.Node.=.<span.c
91980 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 73 74 72 75 63 74 3c 2f 73 70 61 6e 3e 20 7b 0a 20 20 lass="tok-kw">struct</span>.{...
919a0 20 20 6e 65 78 74 3a 20 3f 2a 4e 6f 64 65 2c 0a 20 20 20 20 6e 61 6d 65 3a 20 5b 5d 3c 73 70 61 ..next:.?*Node,.....name:.[]<spa
919c0 6e 20 63 6c 61 73 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
919e0 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 75 38 3c 2f 73 70 61 6e 3e 2c 0a pan.class="tok-type">u8</span>,.
91a00 7d 3b 0a 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 76 61 72 3c 2f 73 70 };..<span.class="tok-kw">var</sp
91a20 61 6e 3e 20 6e 6f 64 65 5f 61 20 3d 20 4e 6f 64 65 7b 0a 20 20 20 20 2e 6e 65 78 74 20 3d 20 3c an>.node_a.=.Node{......next.=.<
91a40 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
91a60 3e 2c 0a 20 20 20 20 2e 6e 61 6d 65 20 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d >,......name.=.<span.class="tok-
91a80 73 74 72 22 3e 26 71 75 6f 74 3b 4e 6f 64 65 20 41 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 2c 0a str">&quot;Node.A&quot;</span>,.
91aa0 7d 3b 0a 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 76 61 72 3c 2f 73 70 };..<span.class="tok-kw">var</sp
91ac0 61 6e 3e 20 6e 6f 64 65 5f 62 20 3d 20 4e 6f 64 65 7b 0a 20 20 20 20 2e 6e 65 78 74 20 3d 20 26 an>.node_b.=.Node{......next.=.&
91ae0 61 6d 70 3b 6e 6f 64 65 5f 61 2c 0a 20 20 20 20 2e 6e 61 6d 65 20 3d 20 3c 73 70 61 6e 20 63 6c amp;node_a,......name.=.<span.cl
91b00 61 73 73 3d 22 74 6f 6b 2d 73 74 72 22 3e 26 71 75 6f 74 3b 4e 6f 64 65 20 42 26 71 75 6f 74 3b ass="tok-str">&quot;Node.B&quot;
91b20 3c 2f 73 70 61 6e 3e 2c 0a 7d 3b 3c 2f 63 6f 64 65 3e 3c 2f 70 72 65 3e 3c 2f 66 69 67 75 72 65 </span>,.};</code></pre></figure
91b40 3e 0a 0a 20 20 20 20 20 20 3c 70 3e 0a 20 20 20 20 20 20 49 6e 20 74 68 69 73 20 65 78 61 6d 70 >........<p>.......In.this.examp
91b60 6c 65 2c 20 74 68 65 20 3c 63 6f 64 65 3e 4e 6f 64 65 3c 2f 63 6f 64 65 3e 20 73 74 72 75 63 74 le,.the.<code>Node</code>.struct
91b80 20 72 65 66 65 72 73 20 74 6f 20 69 74 73 65 6c 66 2e 0a 20 20 20 20 20 20 54 68 69 73 20 77 6f .refers.to.itself........This.wo
91ba0 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 65 63 6c 61 72 rks.because.all.top.level.declar
91bc0 61 74 69 6f 6e 73 20 61 72 65 20 6f 72 64 65 72 2d 69 6e 64 65 70 65 6e 64 65 6e 74 2e 0a 20 20 ations.are.order-independent....
91be0 20 20 20 20 41 73 20 6c 6f 6e 67 20 61 73 20 74 68 65 20 63 6f 6d 70 69 6c 65 72 20 63 61 6e 20 ....As.long.as.the.compiler.can.
91c00 64 65 74 65 72 6d 69 6e 65 20 74 68 65 20 73 69 7a 65 20 6f 66 20 74 68 65 20 73 74 72 75 63 74 determine.the.size.of.the.struct
91c20 2c 20 69 74 20 69 73 20 66 72 65 65 20 74 6f 20 72 65 66 65 72 20 74 6f 20 69 74 73 65 6c 66 2e ,.it.is.free.to.refer.to.itself.
91c40 0a 20 20 20 20 20 20 49 6e 20 74 68 69 73 20 63 61 73 65 2c 20 3c 63 6f 64 65 3e 4e 6f 64 65 3c .......In.this.case,.<code>Node<
91c60 2f 63 6f 64 65 3e 20 72 65 66 65 72 73 20 74 6f 20 69 74 73 65 6c 66 20 61 73 20 61 20 70 6f 69 /code>.refers.to.itself.as.a.poi
91c80 6e 74 65 72 2c 20 77 68 69 63 68 20 68 61 73 20 61 0a 20 20 20 20 20 20 77 65 6c 6c 2d 64 65 66 nter,.which.has.a.......well-def
91ca0 69 6e 65 64 20 73 69 7a 65 20 61 74 20 63 6f 6d 70 69 6c 65 20 74 69 6d 65 2c 20 73 6f 20 69 74 ined.size.at.compile.time,.so.it
91cc0 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 20 20 0a 20 .works.fine........</p>.........
91ce0 20 20 20 20 20 3c 68 33 20 69 64 3d 22 43 61 73 65 2d 53 74 75 64 79 2d 70 72 69 6e 74 2d 69 6e .....<h3.id="Case-Study-print-in
91d00 2d 5a 69 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 43 61 73 -Zig"><a.href="nav.xhtml#toc-Cas
91d20 65 2d 53 74 75 64 79 2d 70 72 69 6e 74 2d 69 6e 2d 5a 69 67 22 3e 43 61 73 65 20 53 74 75 64 79 e-Study-print-in-Zig">Case.Study
91d40 3a 20 70 72 69 6e 74 20 69 6e 20 5a 69 67 3c 2f 61 3e 20 3c 61 20 63 6c 61 73 73 3d 22 68 64 72 :.print.in.Zig</a>.<a.class="hdr
91d60 22 20 68 72 65 66 3d 22 23 43 61 73 65 2d 53 74 75 64 79 2d 70 72 69 6e 74 2d 69 6e 2d 5a 69 67 ".href="#Case-Study-print-in-Zig
91d80 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 50 ">..</a></h3>........<p>.......P
91da0 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 6c 65 74 utting.all.of.this.together,.let
91dc0 27 73 20 73 65 65 20 68 6f 77 20 3c 63 6f 64 65 3e 70 72 69 6e 74 3c 2f 63 6f 64 65 3e 20 77 6f 's.see.how.<code>print</code>.wo
91de0 72 6b 73 20 69 6e 20 5a 69 67 2e 0a 20 20 20 20 20 20 3c 2f 70 3e 0a 20 20 20 20 20 20 3c 66 69 rks.in.Zig........</p>.......<fi
91e00 67 75 72 65 3e 3c 66 69 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"
91e20 3e 3c 63 69 74 65 20 63 6c 61 73 73 3d 22 66 69 6c 65 22 3e 70 72 69 6e 74 2e 7a 69 67 3c 2f 63 ><cite.class="file">print.zig</c
91e40 69 74 65 3e 3c 2f 66 69 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
91e60 6e 20 63 6c 61 73 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
91e80 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">
91ea0 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-
91ec0 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
91ee0 75 67 2e 70 72 69 6e 74 3b 0a 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e ug.print;..<span.class="tok-kw">
91f00 63 6f 6e 73 74 3c 2f 73 70 61 6e 3e 20 61 5f 6e 75 6d 62 65 72 3a 20 3c 73 70 61 6e 20 63 6c 61 const</span>.a_number:.<span.cla
91f20 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
91f40 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 31 32 33 34 3c 2f 73 70 61 6e 3e 3b .class="tok-number">1234</span>;
91f60 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 63 6f 6e 73 74 3c 2f 73 70 61 .<span.class="tok-kw">const</spa
91f80 6e 3e 20 61 5f 73 74 72 69 6e 67 20 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 73 n>.a_string.=.<span.class="tok-s
91fa0 74 72 22 3e 26 71 75 6f 74 3b 66 6f 6f 62 61 72 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 3b 0a 0a tr">&quot;foobar&quot;</span>;..
91fc0 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>.
91fe0 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>.<
92000 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>(
92020 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
92040 70 61 6e 3e 20 7b 0a 20 20 20 20 70 72 69 6e 74 28 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f pan>.{.....print(<span.class="to
92060 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 20 27 k-str">&quot;here.is.a.string:.'
92080 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 6f 74 {s}'.here.is.a.number:.{}\n&quot
920a0 3b 3c 2f 73 70 61 6e 3e 2c 20 2e 7b 20 61 5f 73 74 72 69 6e 67 2c 20 61 5f 6e 75 6d 62 65 72 20 ;</span>,..{.a_string,.a_number.
920c0 7d 29 3b 0a 7d 3c 2f 63 6f 64 65 3e 3c 2f 70 72 65 3e 3c 2f 66 69 67 75 72 65 3e 3c 66 69 67 75 });.}</code></pre></figure><figu
920e0 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"
92100 3e 53 68 65 6c 6c 3c 2f 66 69 67 63 61 70 74 69 6f 6e 3e 3c 70 72 65 3e 3c 73 61 6d 70 3e 24 20 >Shell</figcaption><pre><samp>$.
92120 3c 6b 62 64 3e 7a 69 67 20 62 75 69 6c 64 2d 65 78 65 20 70 72 69 6e 74 2e 7a 69 67 3c 2f 6b 62 <kbd>zig.build-exe.print.zig</kb
92140 64 3e 0a 24 20 3c 6b 62 64 3e 2e 2f 70 72 69 6e 74 3c 2f 6b 62 64 3e 0a 68 65 72 65 20 69 73 20 d>.$.<kbd>./print</kbd>.here.is.
92160 61 20 73 74 72 69 6e 67 3a 20 27 66 6f 6f 62 61 72 27 20 68 65 72 65 20 69 73 20 61 20 6e 75 6d a.string:.'foobar'.here.is.a.num
92180 62 65 72 3a 20 31 32 33 34 0a 3c 2f 73 61 6d 70 3e 3c 2f 70 72 65 3e 3c 2f 66 69 67 75 72 65 3e ber:.1234.</samp></pre></figure>
921a0 0a 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 6b 20 6f .........<p>.......Let's.crack.o
921c0 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 73 20 61 pen.the.implementation.of.this.a
921e0 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 70 3e 0a nd.see.how.it.works:.......</p>.
92200 0a 20 20 20 20 20 20 3c 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
92220 3d 22 7a 69 67 2d 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 ="zig-cap"><cite.class="file">po
92240 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 74 69 6f c_print_fn.zig</cite></figcaptio
92260 6e 3e 3c 70 72 65 3e 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 n><pre><code><span.class="tok-kw
92280 22 3e 63 6f 6e 73 74 3c 2f 73 70 61 6e 3e 20 57 72 69 74 65 72 20 3d 20 3c 73 70 61 6e 20 63 6c ">const</span>.Writer.=.<span.cl
922a0 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 73 74 72 75 63 74 3c 2f 73 70 61 6e 3e 20 7b 0a 20 20 20 ass="tok-kw">struct</span>.{....
922c0 20 3c 73 70 61 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 43 .<span.class="tok-comment">///.C
922e0 61 6c 6c 73 20 70 72 69 6e 74 20 61 6e 64 20 74 68 65 6e 20 66 6c 75 73 68 65 73 20 74 68 65 20 alls.print.and.then.flushes.the.
92300 62 75 66 66 65 72 2e 3c 2f 73 70 61 6e 3e 0a 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 buffer.</span>.....<span.class="
92320 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="
92340 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
92360 6f 6b 2d 66 6e 22 3e 70 72 69 6e 74 3c 2f 73 70 61 6e 3e 28 73 65 6c 66 3a 20 2a 57 72 69 74 65 ok-fn">print</span>(self:.*Write
92380 72 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 r,.<span.class="tok-kw">comptime
923a0 3c 2f 73 70 61 6e 3e 20 66 6f 72 6d 61 74 3a 20 5b 5d 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 </span>.format:.[]<span.class="t
923c0 6f 6b 2d 6b 77 22 3e 63 6f 6e 73 74 3c 2f 73 70 61 6e 3e 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d ok-kw">const</span>.<span.class=
923e0 22 74 6f 6b 2d 74 79 70 65 22 3e 75 38 3c 2f 73 70 61 6e 3e 2c 20 61 72 67 73 3a 20 3c 73 70 61 "tok-type">u8</span>,.args:.<spa
92400 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>)
92420 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 61 6e 79 65 72 72 6f 72 .<span.class="tok-type">anyerror
92440 3c 2f 73 70 61 6e 3e 21 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 76 </span>!<span.class="tok-type">v
92460 6f 69 64 3c 2f 73 70 61 6e 3e 20 7b 0a 20 20 20 20 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 oid</span>.{.........<span.class
92480 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 20 3d 20 3c ="tok-kw">const</span>.State.=.<
924a0 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>.
924c0 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 73 74 61 72 74 2c 0a 20 20 20 20 20 20 20 20 20 20 20 {.............start,............
924e0 20 6f 70 65 6e 5f 62 72 61 63 65 2c 0a 20 20 20 20 20 20 20 20 20 20 20 20 63 6c 6f 73 65 5f 62 .open_brace,.............close_b
92500 72 61 63 65 2c 0a 20 20 20 20 20 20 20 20 7d 3b 0a 0a 20 20 20 20 20 20 20 20 3c 73 70 61 6e 20 race,.........};..........<span.
92520 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>.<
92540 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
92560 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
92580 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
925a0 6f 6b 2d 6e 75 6d 62 65 72 22 3e 30 3c 2f 73 70 61 6e 3e 3b 0a 20 20 20 20 20 20 20 20 3c 73 70 ok-number">0</span>;.........<sp
925c0 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
925e0 3e 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 76 61 72 3c 2f 73 70 61 6e >.<span.class="tok-kw">var</span
92600 3e 20 73 74 61 74 65 20 3d 20 53 74 61 74 65 2e 73 74 61 72 74 3b 0a 20 20 20 20 20 20 20 20 3c >.state.=.State.start;.........<
92620 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
92640 61 6e 3e 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 76 61 72 3c 2f 73 70 an>.<span.class="tok-kw">var</sp
92660 61 6e 3e 20 6e 65 78 74 5f 61 72 67 3a 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 an>.next_arg:.<span.class="tok-t
92680 79 70 65 22 3e 75 73 69 7a 65 3c 2f 73 70 61 6e 3e 20 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d ype">usize</span>.=.<span.class=
926a0 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 30 3c 2f 73 70 61 6e 3e 3b 0a 0a 20 20 20 20 20 20 20 20 "tok-number">0</span>;..........
926c0 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 69 6e 6c 69 6e 65 3c 2f 73 70 61 <span.class="tok-kw">inline</spa
926e0 6e 3e 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 66 6f 72 3c 2f 73 70 61 n>.<span.class="tok-kw">for</spa
92700 6e 3e 20 28 66 6f 72 6d 61 74 2c 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d n>.(format,.<span.class="tok-num
92720 62 65 72 22 3e 30 3c 2f 73 70 61 6e 3e 2e 2e 29 20 7c 63 2c 20 69 7c 20 7b 0a 20 20 20 20 20 20 ber">0</span>..).|c,.i|.{.......
92740 20 20 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 73 77 69 74 63 ......<span.class="tok-kw">switc
92760 68 3c 2f 73 70 61 6e 3e 20 28 73 74 61 74 65 29 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 h</span>.(state).{..............
92780 20 20 20 53 74 61 74 65 2e 73 74 61 72 74 20 3d 26 67 74 3b 20 3c 73 70 61 6e 20 63 6c 61 73 73 ...State.start.=&gt;.<span.class
927a0 3d 22 74 6f 6b 2d 6b 77 22 3e 73 77 69 74 63 68 3c 2f 73 70 61 6e 3e 20 28 63 29 20 7b 0a 20 20 ="tok-kw">switch</span>.(c).{...
927c0 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
927e0 6f 6b 2d 73 74 72 22 3e 27 7b 27 3c 2f 73 70 61 6e 3e 20 3d 26 67 74 3b 20 7b 0a 20 20 20 20 20 ok-str">'{'</span>.=&gt;.{......
92800 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="
92820 74 6f 6b 2d 6b 77 22 3e 69 66 3c 2f 73 70 61 6e 3e 20 28 73 74 61 72 74 5f 69 6e 64 65 78 20 26 tok-kw">if</span>.(start_index.&
92840 6c 74 3b 20 69 29 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 74 72 79 3c lt;.i).<span.class="tok-kw">try<
92860 2f 73 70 61 6e 3e 20 73 65 6c 66 2e 77 72 69 74 65 28 66 6f 72 6d 61 74 5b 73 74 61 72 74 5f 69 /span>.self.write(format[start_i
92880 6e 64 65 78 2e 2e 69 5d 29 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ndex..i]);......................
928a0 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 3b 0a 20 20 20 ...state.=.State.open_brace;....
928c0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 7d 2c 0a 20 20 20 20 20 20 20 20 20 20 20 20 .................},.............
928e0 20 20 20 20 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 73 74 72 22 3e 27 7d ........<span.class="tok-str">'}
92900 27 3c 2f 73 70 61 6e 3e 20 3d 26 67 74 3b 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 '</span>.=&gt;.{................
92920 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 69 66 .........<span.class="tok-kw">if
92940 3c 2f 73 70 61 6e 3e 20 28 73 74 61 72 74 5f 69 6e 64 65 78 20 26 6c 74 3b 20 69 29 20 3c 73 70 </span>.(start_index.&lt;.i).<sp
92960 61 6e 20 63 6c 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
92980 66 2e 77 72 69 74 65 28 66 6f 72 6d 61 74 5b 73 74 61 72 74 5f 69 6e 64 65 78 2e 2e 69 5d 29 3b f.write(format[start_index..i]);
929a0 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 73 74 61 74 65 20 3d .........................state.=
929c0 20 53 74 61 74 65 2e 63 6c 6f 73 65 5f 62 72 61 63 65 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 .State.close_brace;.............
929e0 20 20 20 20 20 20 20 20 7d 2c 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 3c ........},.....................<
92a00 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>.
92a20 3d 26 67 74 3b 20 7b 7d 2c 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 7d 2c 0a 20 20 20 =&gt;.{},.................},....
92a40 20 20 20 20 20 20 20 20 20 20 20 20 20 53 74 61 74 65 2e 6f 70 65 6e 5f 62 72 61 63 65 20 3d 26 .............State.open_brace.=&
92a60 67 74 3b 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 73 77 69 74 63 68 3c gt;.<span.class="tok-kw">switch<
92a80 2f 73 70 61 6e 3e 20 28 63 29 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 /span>.(c).{....................
92aa0 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 61 6e .<span.class="tok-str">'{'</span
92ac0 3e 20 3d 26 67 74 3b 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 >.=&gt;.{.......................
92ae0 20 20 73 74 61 74 65 20 3d 20 53 74 61 74 65 2e 73 74 61 72 74 3b 0a 20 20 20 20 20 20 20 20 20 ..state.=.State.start;..........
92b00 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 73 74 61 72 74 5f 69 6e 64 65 78 20 3d 20 69 3b 0a ...............start_index.=.i;.
92b20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 7d 2c 0a 20 20 20 20 20 20 20 20 20 ....................},..........
92b40 20 20 20 20 20 20 20 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 73 74 72 22 ...........<span.class="tok-str"
92b60 3e 27 7d 27 3c 2f 73 70 61 6e 3e 20 3d 26 67 74 3b 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 >'}'</span>.=&gt;.{.............
92b80 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"
92ba0 3e 74 72 79 3c 2f 73 70 61 6e 3e 20 73 65 6c 66 2e 70 72 69 6e 74 56 61 6c 75 65 28 61 72 67 73 >try</span>.self.printValue(args
92bc0 5b 6e 65 78 74 5f 61 72 67 5d 29 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 [next_arg]);....................
92be0 20 20 20 20 20 6e 65 78 74 5f 61 72 67 20 2b 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f .....next_arg.+=.<span.class="to
92c00 6b 2d 6e 75 6d 62 65 72 22 3e 31 3c 2f 73 70 61 6e 3e 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 k-number">1</span>;.............
92c20 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 74 61 72 74 3b ............state.=.State.start;
92c40 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 73 74 61 72 74 5f 69 .........................start_i
92c60 6e 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 ndex.=.i.+.<span.class="tok-numb
92c80 65 72 22 3e 31 3c 2f 73 70 61 6e 3e 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 er">1</span>;...................
92ca0 20 20 7d 2c 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 3c 73 70 61 6e 20 63 ..},.....................<span.c
92cc0 6c 61 73 73 3d 22 74 6f 6b 2d 73 74 72 22 3e 27 73 27 3c 2f 73 70 61 6e 3e 20 3d 26 67 74 3b 20 lass="tok-str">'s'</span>.=&gt;.
92ce0 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 3c 73 70 61 6e 20 {.........................<span.
92d00 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 63 6f 6e 74 69 6e 75 65 3c 2f 73 70 61 6e 3e 3b 0a class="tok-kw">continue</span>;.
92d20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 7d 2c 0a 20 20 20 20 20 20 20 20 20 ....................},..........
92d40 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">
92d60 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 74 else</span>.=&gt;.<span.class="t
92d80 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>
92da0 28 3c 73 70 61 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 6b (<span.class="tok-str">&quot;Unk
92dc0 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 73 nown.format.character:.&quot;</s
92de0 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 72 pan>.++.[<span.class="tok-number
92e00 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 65 ">1</span>]<span.class="tok-type
92e20 22 3e 75 38 3c 2f 73 70 61 6e 3e 7b 63 7d 29 2c 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ">u8</span>{c}),................
92e40 20 7d 2c 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 53 74 61 74 65 2e 63 6c 6f 73 65 5f .},.................State.close_
92e60 62 72 61 63 65 20 3d 26 67 74 3b 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 brace.=&gt;.<span.class="tok-kw"
92e80 3e 73 77 69 74 63 68 3c 2f 73 70 61 6e 3e 20 28 63 29 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 >switch</span>.(c).{............
92ea0 20 20 20 20 20 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 73 74 72 22 3e 27 .........<span.class="tok-str">'
92ec0 7d 27 3c 2f 73 70 61 6e 3e 20 3d 26 67 74 3b 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 }'</span>.=&gt;.{...............
92ee0 20 20 20 20 20 20 20 20 20 20 73 74 61 74 65 20 3d 20 53 74 61 74 65 2e 73 74 61 72 74 3b 0a 20 ..........state.=.State.start;..
92f00 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 64 .......................start_ind
92f20 65 78 20 3d 20 69 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 7d 2c 0a 20 ex.=.i;.....................},..
92f40 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="
92f60 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.
92f80 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
92fa0 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">&
92fc0 71 75 6f 74 3b 53 69 6e 67 6c 65 20 27 7d 27 20 65 6e 63 6f 75 6e 74 65 72 65 64 20 69 6e 20 66 quot;Single.'}'.encountered.in.f
92fe0 6f 72 6d 61 74 20 73 74 72 69 6e 67 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 29 2c 0a 20 20 20 20 ormat.string&quot;</span>),.....
93000 20 20 20 20 20 20 20 20 20 20 20 20 7d 2c 0a 20 20 20 20 20 20 20 20 20 20 20 20 7d 0a 20 20 20 ............},.............}....
93020 20 20 20 20 20 7d 0a 20 20 20 20 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d .....}.........<span.class="tok-
93040 6b 77 22 3e 63 6f 6d 70 74 69 6d 65 3c 2f 73 70 61 6e 3e 20 7b 0a 20 20 20 20 20 20 20 20 20 20 kw">comptime</span>.{...........
93060 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>
93080 20 28 61 72 67 73 2e 6c 65 6e 20 21 3d 20 6e 65 78 74 5f 61 72 67 29 20 7b 0a 20 20 20 20 20 20 .(args.len.!=.next_arg).{.......
930a0 20 20 20 20 20 20 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 62 75 69 6c 74 ..........<span.class="tok-built
930c0 69 6e 22 3e 40 63 6f 6d 70 69 6c 65 45 72 72 6f 72 3c 2f 73 70 61 6e 3e 28 3c 73 70 61 6e 20 63 in">@compileError</span>(<span.c
930e0 6c 61 73 73 3d 22 74 6f 6b 2d 73 74 72 22 3e 26 71 75 6f 74 3b 55 6e 75 73 65 64 20 61 72 67 75 lass="tok-str">&quot;Unused.argu
93100 6d 65 6e 74 73 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 29 3b 0a 20 20 20 20 20 20 20 20 20 20 20 ments&quot;</span>);............
93120 20 7d 0a 20 20 20 20 20 20 20 20 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d .}.............<span.class="tok-
93140 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 74 61 74 65 2e 73 74 kw">if</span>.(state.!=.State.st
93160 61 72 74 29 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 art).{.................<span.cla
93180 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</
931a0 73 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
931c0 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 6f t;Incomplete.format.string:.&quo
931e0 74 3b 3c 2f 73 70 61 6e 3e 20 2b 2b 20 66 6f 72 6d 61 74 29 3b 0a 20 20 20 20 20 20 20 20 20 20 t;</span>.++.format);...........
93200 20 20 7d 0a 20 20 20 20 20 20 20 20 7d 0a 20 20 20 20 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 ..}.........}.........<span.clas
93220 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 74 5f 69 6e 64 65 s="tok-kw">if</span>.(start_inde
93240 78 20 26 6c 74 3b 20 66 6f 72 6d 61 74 2e 6c 65 6e 29 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 x.&lt;.format.len).{............
93260 20 3c 73 70 61 6e 20 63 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>
93280 20 73 65 6c 66 2e 77 72 69 74 65 28 66 6f 72 6d 61 74 5b 73 74 61 72 74 5f 69 6e 64 65 78 2e 2e .self.write(format[start_index..
932a0 66 6f 72 6d 61 74 2e 6c 65 6e 5d 29 3b 0a 20 20 20 20 20 20 20 20 7d 0a 20 20 20 20 20 20 20 20 format.len]);.........}.........
932c0 3c 73 70 61 6e 20 63 6c 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>.
932e0 73 65 6c 66 2e 66 6c 75 73 68 28 29 3b 0a 20 20 20 20 7d 0a 0a 20 20 20 20 3c 73 70 61 6e 20 63 self.flush();.....}......<span.c
93300 6c 61 73 73 3d 22 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
93320 61 73 73 3d 22 74 6f 6b 2d 66 6e 22 3e 77 72 69 74 65 3c 2f 73 70 61 6e 3e 28 73 65 6c 66 3a 20 ass="tok-fn">write</span>(self:.
93340 2a 57 72 69 74 65 72 2c 20 76 61 6c 75 65 3a 20 5b 5d 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 *Writer,.value:.[]<span.class="t
93360 6f 6b 2d 6b 77 22 3e 63 6f 6e 73 74 3c 2f 73 70 61 6e 3e 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d ok-kw">const</span>.<span.class=
93380 22 74 6f 6b 2d 74 79 70 65 22 3e 75 38 3c 2f 73 70 61 6e 3e 29 20 21 3c 73 70 61 6e 20 63 6c 61 "tok-type">u8</span>).!<span.cla
933a0 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 76 6f 69 64 3c 2f 73 70 61 6e 3e 20 7b 0a 20 20 20 20 ss="tok-type">void</span>.{.....
933c0 20 20 20 20 5f 20 3d 20 73 65 6c 66 3b 0a 20 20 20 20 20 20 20 20 5f 20 3d 20 76 61 6c 75 65 3b ...._.=.self;........._.=.value;
933e0 0a 20 20 20 20 7d 0a 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e .....}.....<span.class="tok-kw">
93400 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">
93420 66 6e 3c 2f 73 70 61 6e 3e 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 66 6e 22 3e 70 fn</span>.<span.class="tok-fn">p
93440 72 69 6e 74 56 61 6c 75 65 3c 2f 73 70 61 6e 3e 28 73 65 6c 66 3a 20 2a 57 72 69 74 65 72 2c 20 rintValue</span>(self:.*Writer,.
93460 76 61 6c 75 65 3a 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 61 6e 79 74 value:.<span.class="tok-kw">anyt
93480 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
934a0 70 65 22 3e 76 6f 69 64 3c 2f 73 70 61 6e 3e 20 7b 0a 20 20 20 20 20 20 20 20 5f 20 3d 20 73 65 pe">void</span>.{........._.=.se
934c0 6c 66 3b 0a 20 20 20 20 20 20 20 20 5f 20 3d 20 76 61 6c 75 65 3b 0a 20 20 20 20 7d 0a 20 20 20 lf;........._.=.value;.....}....
934e0 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>.
93500 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 66 6e 22 3e 66 6c 75 73 68 3c 2f 73 70 61 6e <span.class="tok-fn">flush</span
93520 3e 28 73 65 6c 66 3a 20 2a 57 72 69 74 65 72 29 20 21 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 >(self:.*Writer).!<span.class="t
93540 6f 6b 2d 74 79 70 65 22 3e 76 6f 69 64 3c 2f 73 70 61 6e 3e 20 7b 0a 20 20 20 20 20 20 20 20 5f ok-type">void</span>.{........._
93560 20 3d 20 73 65 6c 66 3b 0a 20 20 20 20 7d 0a 7d 3b 3c 2f 63 6f 64 65 3e 3c 2f 70 72 65 3e 3c 2f .=.self;.....}.};</code></pre></
93580 66 69 67 75 72 65 3e 0a 0a 20 20 20 20 20 20 3c 70 3e 0a 20 20 20 20 20 20 54 68 69 73 20 69 73 figure>........<p>.......This.is
935a0 20 61 20 70 72 6f 6f 66 20 6f 66 20 63 6f 6e 63 65 70 74 20 69 6d 70 6c 65 6d 65 6e 74 61 74 69 .a.proof.of.concept.implementati
935c0 6f 6e 3b 20 74 68 65 20 61 63 74 75 61 6c 20 66 75 6e 63 74 69 6f 6e 20 69 6e 20 74 68 65 20 73 on;.the.actual.function.in.the.s
935e0 74 61 6e 64 61 72 64 20 6c 69 62 72 61 72 79 20 68 61 73 20 6d 6f 72 65 0a 20 20 20 20 20 20 66 tandard.library.has.more.......f
93600 6f 72 6d 61 74 74 69 6e 67 20 63 61 70 61 62 69 6c 69 74 69 65 73 2e 0a 20 20 20 20 20 20 3c 2f ormatting.capabilities........</
93620 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 74 68 69 p>.......<p>.......Note.that.thi
93640 73 20 69 73 20 6e 6f 74 20 68 61 72 64 2d 63 6f 64 65 64 20 69 6e 74 6f 20 74 68 65 20 5a 69 67 s.is.not.hard-coded.into.the.Zig
93660 20 63 6f 6d 70 69 6c 65 72 3b 20 74 68 69 73 20 69 73 20 75 73 65 72 6c 61 6e 64 20 63 6f 64 65 .compiler;.this.is.userland.code
93680 20 69 6e 20 74 68 65 20 73 74 61 6e 64 61 72 64 20 6c 69 62 72 61 72 79 2e 0a 20 20 20 20 20 20 .in.the.standard.library........
936a0 3c 2f 70 3e 0a 20 20 20 20 20 20 3c 70 3e 0a 20 20 20 20 20 20 57 68 65 6e 20 74 68 69 73 20 66 </p>.......<p>.......When.this.f
936c0 75 6e 63 74 69 6f 6e 20 69 73 20 61 6e 61 6c 79 7a 65 64 20 66 72 6f 6d 20 6f 75 72 20 65 78 61 unction.is.analyzed.from.our.exa
936e0 6d 70 6c 65 20 63 6f 64 65 20 61 62 6f 76 65 2c 20 5a 69 67 20 70 61 72 74 69 61 6c 6c 79 20 65 mple.code.above,.Zig.partially.e
93700 76 61 6c 75 61 74 65 73 20 74 68 65 20 66 75 6e 63 74 69 6f 6e 0a 20 20 20 20 20 20 61 6e 64 20 valuates.the.function.......and.
93720 65 6d 69 74 73 20 61 20 66 75 6e 63 74 69 6f 6e 20 74 68 61 74 20 61 63 74 75 61 6c 6c 79 20 6c emits.a.function.that.actually.l
93740 6f 6f 6b 73 20 6c 69 6b 65 20 74 68 69 73 3a 0a 20 20 20 20 20 20 3c 2f 70 3e 0a 20 20 20 20 20 ooks.like.this:.......</p>......
93760 20 3c 66 69 67 75 72 65 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-
93780 63 61 70 22 3e 3c 63 69 74 65 20 63 6c 61 73 73 3d 22 66 69 6c 65 22 3e 45 6d 69 74 74 65 64 20 cap"><cite.class="file">Emitted.
937a0 70 72 69 6e 74 20 46 75 6e 63 74 69 6f 6e 3c 2f 63 69 74 65 3e 3c 2f 66 69 67 63 61 70 74 69 6f print.Function</cite></figcaptio
937c0 6e 3e 3c 70 72 65 3e 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 n><pre><code><span.class="tok-kw
937e0 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
93800 22 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"
93820 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 72 67 >print</span>(self:.*Writer,.arg
93840 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 74 3c 0:.[]<span.class="tok-kw">const<
93860 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
93880 3c 2f 73 70 61 6e 3e 2c 20 61 72 67 31 3a 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d </span>,.arg1:.<span.class="tok-
938a0 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 3d 22 type">i32</span>).!<span.class="
938c0 74 6f 6b 2d 74 79 70 65 22 3e 76 6f 69 64 3c 2f 73 70 61 6e 3e 20 7b 0a 20 20 20 20 3c 73 70 61 tok-type">void</span>.{.....<spa
938e0 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 74 72 79 3c 2f 73 70 61 6e 3e 20 73 65 6c 66 n.class="tok-kw">try</span>.self
93900 2e 77 72 69 74 65 28 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 73 74 72 22 3e 26 71 75 .write(<span.class="tok-str">&qu
93920 6f 74 3b 68 65 72 65 20 69 73 20 61 20 73 74 72 69 6e 67 3a 20 27 26 71 75 6f 74 3b 3c 2f 73 70 ot;here.is.a.string:.'&quot;</sp
93940 61 6e 3e 29 3b 0a 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 74 an>);.....<span.class="tok-kw">t
93960 72 79 3c 2f 73 70 61 6e 3e 20 73 65 6c 66 2e 70 72 69 6e 74 56 61 6c 75 65 28 61 72 67 30 29 3b ry</span>.self.printValue(arg0);
93980 0a 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 74 72 79 3c 2f 73 .....<span.class="tok-kw">try</s
939a0 70 61 6e 3e 20 73 65 6c 66 2e 77 72 69 74 65 28 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b pan>.self.write(<span.class="tok
939c0 2d 73 74 72 22 3e 26 71 75 6f 74 3b 27 20 68 65 72 65 20 69 73 20 61 20 6e 75 6d 62 65 72 3a 20 -str">&quot;'.here.is.a.number:.
939e0 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 29 3b 0a 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d &quot;</span>);.....<span.class=
93a00 22 74 6f 6b 2d 6b 77 22 3e 74 72 79 3c 2f 73 70 61 6e 3e 20 73 65 6c 66 2e 70 72 69 6e 74 56 61 "tok-kw">try</span>.self.printVa
93a20 6c 75 65 28 61 72 67 31 29 3b 0a 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d lue(arg1);.....<span.class="tok-
93a40 6b 77 22 3e 74 72 79 3c 2f 73 70 61 6e 3e 20 73 65 6c 66 2e 77 72 69 74 65 28 3c 73 70 61 6e 20 kw">try</span>.self.write(<span.
93a60 63 6c 61 73 73 3d 22 74 6f 6b 2d 73 74 72 22 3e 26 71 75 6f 74 3b 5c 6e 26 71 75 6f 74 3b 3c 2f class="tok-str">&quot;\n&quot;</
93a80 73 70 61 6e 3e 29 3b 0a 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 span>);.....<span.class="tok-kw"
93aa0 3e 74 72 79 3c 2f 73 70 61 6e 3e 20 73 65 6c 66 2e 66 6c 75 73 68 28 29 3b 0a 7d 3c 2f 63 6f 64 >try</span>.self.flush();.}</cod
93ac0 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>.....
93ae0 20 20 3c 63 6f 64 65 3e 70 72 69 6e 74 56 61 6c 75 65 3c 2f 63 6f 64 65 3e 20 69 73 20 61 20 66 ..<code>printValue</code>.is.a.f
93b00 75 6e 63 74 69 6f 6e 20 74 68 61 74 20 74 61 6b 65 73 20 61 20 70 61 72 61 6d 65 74 65 72 20 6f unction.that.takes.a.parameter.o
93b20 66 20 61 6e 79 20 74 79 70 65 2c 20 61 6e 64 20 64 6f 65 73 20 64 69 66 66 65 72 65 6e 74 20 74 f.any.type,.and.does.different.t
93b40 68 69 6e 67 73 20 64 65 70 65 6e 64 69 6e 67 0a 20 20 20 20 20 20 6f 6e 20 74 68 65 20 74 79 70 hings.depending.......on.the.typ
93b60 65 3a 0a 20 20 20 20 20 20 3c 2f 70 3e 0a 20 20 20 20 20 20 3c 66 69 67 75 72 65 3e 3c 66 69 67 e:.......</p>.......<figure><fig
93b80 63 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
93ba0 61 73 73 3d 22 66 69 6c 65 22 3e 70 6f 63 5f 70 72 69 6e 74 56 61 6c 75 65 5f 66 6e 2e 7a 69 67 ass="file">poc_printValue_fn.zig
93bc0 3c 2f 63 69 74 65 3e 3c 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><
93be0 73 70 61 6e 20 63 6c 61 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>
93c00 20 57 72 69 74 65 72 20 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 73 .Writer.=.<span.class="tok-kw">s
93c20 74 72 75 63 74 3c 2f 73 70 61 6e 3e 20 7b 0a 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 truct</span>.{.....<span.class="
93c40 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="
93c60 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
93c80 6f 6b 2d 66 6e 22 3e 70 72 69 6e 74 56 61 6c 75 65 3c 2f 73 70 61 6e 3e 28 73 65 6c 66 3a 20 2a ok-fn">printValue</span>(self:.*
93ca0 57 72 69 74 65 72 2c 20 76 61 6c 75 65 3a 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d Writer,.value:.<span.class="tok-
93cc0 6b 77 22 3e 61 6e 79 74 79 70 65 3c 2f 73 70 61 6e 3e 29 20 21 3c 73 70 61 6e 20 63 6c 61 73 73 kw">anytype</span>).!<span.class
93ce0 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 76 6f 69 64 3c 2f 73 70 61 6e 3e 20 7b 0a 20 20 20 20 20 20 ="tok-type">void</span>.{.......
93d00 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
93d20 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">
93d40 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
93d60 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)
93d80 29 29 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 2e 69 6e 74 20 3d 26 67 74 3b 20 7b 0a 20 20 )).{..............int.=&gt;.{...
93da0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b ..............<span.class="tok-k
93dc0 77 22 3e 72 65 74 75 72 6e 3c 2f 73 70 61 6e 3e 20 73 65 6c 66 2e 77 72 69 74 65 49 6e 74 28 76 w">return</span>.self.writeInt(v
93de0 61 6c 75 65 29 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 7d 2c 0a 20 20 20 20 20 20 20 20 20 20 alue);.............},...........
93e00 20 20 2e 66 6c 6f 61 74 20 3d 26 67 74 3b 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ...float.=&gt;.{................
93e20 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
93e40 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 0a 20 20 20 20 an>.self.writeFloat(value);.....
93e60 20 20 20 20 20 20 20 20 7d 2c 0a 20 20 20 20 20 20 20 20 20 20 20 20 2e 70 6f 69 6e 74 65 72 20 ........},..............pointer.
93e80 3d 26 67 74 3b 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 3c 73 70 61 6e 20 63 6c =&gt;.{.................<span.cl
93ea0 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 72 65 74 75 72 6e 3c 2f 73 70 61 6e 3e 20 73 65 6c 66 2e ass="tok-kw">return</span>.self.
93ec0 77 72 69 74 65 28 76 61 6c 75 65 29 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 7d 2c 0a 20 20 20 write(value);.............},....
93ee0 20 20 20 20 20 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 65 6c .........<span.class="tok-kw">el
93f00 73 65 3c 2f 73 70 61 6e 3e 20 3d 26 67 74 3b 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 se</span>.=&gt;.{...............
93f20 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 6d ..<span.class="tok-builtin">@com
93f40 70 69 6c 65 45 72 72 6f 72 3c 2f 73 70 61 6e 3e 28 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f pileError</span>(<span.class="to
93f60 6b 2d 73 74 72 22 3e 26 71 75 6f 74 3b 55 6e 61 62 6c 65 20 74 6f 20 70 72 69 6e 74 20 74 79 70 k-str">&quot;Unable.to.print.typ
93f80 65 20 27 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 20 2b 2b 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d e.'&quot;</span>.++.<span.class=
93fa0 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>(<
93fc0 73 70 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
93fe0 3c 2f 73 70 61 6e 3e 28 76 61 6c 75 65 29 29 20 2b 2b 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 </span>(value)).++.<span.class="
94000 74 6f 6b 2d 73 74 72 22 3e 26 71 75 6f 74 3b 27 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 29 3b 0a tok-str">&quot;'&quot;</span>);.
94020 20 20 20 20 20 20 20 20 20 20 20 20 7d 2c 0a 20 20 20 20 20 20 20 20 7d 0a 20 20 20 20 7d 0a 0a ............},.........}.....}..
94040 20 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
94060 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
94080 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
940a0 61 6e 20 63 6c 61 73 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>.<
940c0 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>)
940e0 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
94100 70 61 6e 3e 20 7b 0a 20 20 20 20 20 20 20 20 5f 20 3d 20 73 65 6c 66 3b 0a 20 20 20 20 20 20 20 pan>.{........._.=.self;........
94120 20 5f 20 3d 20 76 61 6c 75 65 3b 0a 20 20 20 20 7d 0a 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 ._.=.value;.....}.....<span.clas
94140 73 3d 22 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
94160 3d 22 74 6f 6b 2d 66 6e 22 3e 77 72 69 74 65 49 6e 74 3c 2f 73 70 61 6e 3e 28 73 65 6c 66 3a 20 ="tok-fn">writeInt</span>(self:.
94180 2a 57 72 69 74 65 72 2c 20 76 61 6c 75 65 3a 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b *Writer,.value:.<span.class="tok
941a0 2d 6b 77 22 3e 61 6e 79 74 79 70 65 3c 2f 73 70 61 6e 3e 29 20 21 3c 73 70 61 6e 20 63 6c 61 73 -kw">anytype</span>).!<span.clas
941c0 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 76 6f 69 64 3c 2f 73 70 61 6e 3e 20 7b 0a 20 20 20 20 20 s="tok-type">void</span>.{......
941e0 20 20 20 5f 20 3d 20 73 65 6c 66 3b 0a 20 20 20 20 20 20 20 20 5f 20 3d 20 76 61 6c 75 65 3b 0a ..._.=.self;........._.=.value;.
94200 20 20 20 20 7d 0a 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 66 ....}.....<span.class="tok-kw">f
94220 6e 3c 2f 73 70 61 6e 3e 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 66 6e 22 3e 77 72 n</span>.<span.class="tok-fn">wr
94240 69 74 65 46 6c 6f 61 74 3c 2f 73 70 61 6e 3e 28 73 65 6c 66 3a 20 2a 57 72 69 74 65 72 2c 20 76 iteFloat</span>(self:.*Writer,.v
94260 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
94280 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 70 pe</span>).!<span.class="tok-typ
942a0 65 22 3e 76 6f 69 64 3c 2f 73 70 61 6e 3e 20 7b 0a 20 20 20 20 20 20 20 20 5f 20 3d 20 73 65 6c e">void</span>.{........._.=.sel
942c0 66 3b 0a 20 20 20 20 20 20 20 20 5f 20 3d 20 76 61 6c 75 65 3b 0a 20 20 20 20 7d 0a 7d 3b 3c 2f f;........._.=.value;.....}.};</
942e0 63 6f 64 65 3e 3c 2f 70 72 65 3e 3c 2f 66 69 67 75 72 65 3e 0a 0a 20 20 20 20 20 20 3c 70 3e 0a code></pre></figure>........<p>.
94300 20 20 20 20 20 20 41 6e 64 20 6e 6f 77 2c 20 77 68 61 74 20 68 61 70 70 65 6e 73 20 69 66 20 77 ......And.now,.what.happens.if.w
94320 65 20 67 69 76 65 20 74 6f 6f 20 6d 61 6e 79 20 61 72 67 75 6d 65 6e 74 73 20 74 6f 20 3c 63 6f e.give.too.many.arguments.to.<co
94340 64 65 3e 70 72 69 6e 74 3c 2f 63 6f 64 65 3e 3f 0a 20 20 20 20 20 20 3c 2f 70 3e 0a 20 20 20 20 de>print</code>?.......</p>.....
94360 20 20 3c 66 69 67 75 72 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
94380 2d 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 70 72 -cap"><cite.class="file">test_pr
943a0 69 6e 74 5f 74 6f 6f 5f 6d 61 6e 79 5f 61 72 67 73 2e 7a 69 67 3c 2f 63 69 74 65 3e 3c 2f 66 69 int_too_many_args.zig</cite></fi
943c0 67 63 61 70 74 69 6f 6e 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=
943e0 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
94400 70 61 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<
94420 2f 73 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
94440 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
94460 3b 0a 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 63 6f 6e 73 74 3c 2f 73 ;..<span.class="tok-kw">const</s
94480 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-
944a0 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="
944c0 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 31 32 33 34 3c 2f 73 70 61 6e 3e 3b 0a 3c 73 70 61 6e 20 63 tok-number">1234</span>;.<span.c
944e0 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 63 6f 6e 73 74 3c 2f 73 70 61 6e 3e 20 61 5f 73 74 72 lass="tok-kw">const</span>.a_str
94500 69 6e 67 20 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 73 74 72 22 3e 26 71 75 6f ing.=.<span.class="tok-str">&quo
94520 74 3b 66 6f 6f 62 61 72 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 3b 0a 0a 3c 73 70 61 6e 20 63 6c t;foobar&quot;</span>;..<span.cl
94540 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
94560 6c 61 73 73 3d 22 74 6f 6b 2d 73 74 72 22 3e 26 71 75 6f 74 3b 70 72 69 6e 74 20 74 6f 6f 20 6d lass="tok-str">&quot;print.too.m
94580 61 6e 79 20 61 72 67 75 6d 65 6e 74 73 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 20 7b 0a 20 20 20 any.arguments&quot;</span>.{....
945a0 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
945c0 6f 74 3b 68 65 72 65 20 69 73 20 61 20 73 74 72 69 6e 67 3a 20 27 7b 73 7d 27 20 68 65 72 65 20 ot;here.is.a.string:.'{s}'.here.
945e0 69 73 20 61 20 6e 75 6d 62 65 72 3a 20 7b 7d 5c 6e 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 2c 20 is.a.number:.{}\n&quot;</span>,.
94600 2e 7b 0a 20 20 20 20 20 20 20 20 61 5f 73 74 72 69 6e 67 2c 0a 20 20 20 20 20 20 20 20 61 5f 6e .{.........a_string,.........a_n
94620 75 6d 62 65 72 2c 0a 20 20 20 20 20 20 20 20 61 5f 6e 75 6d 62 65 72 2c 0a 20 20 20 20 7d 29 3b umber,.........a_number,.....});
94640 0a 7d 3c 2f 63 6f 64 65 3e 3c 2f 70 72 65 3e 3c 2f 66 69 67 75 72 65 3e 3c 66 69 67 75 72 65 3e .}</code></pre></figure><figure>
94660 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
94680 65 6c 6c 3c 2f 66 69 67 63 61 70 74 69 6f 6e 3e 3c 70 72 65 3e 3c 73 61 6d 70 3e 24 20 3c 6b 62 ell</figcaption><pre><samp>$.<kb
946a0 64 3e 7a 69 67 20 74 65 73 74 20 74 65 73 74 5f 70 72 69 6e 74 5f 74 6f 6f 5f 6d 61 6e 79 5f 61 d>zig.test.test_print_too_many_a
946c0 72 67 73 2e 7a 69 67 3c 2f 6b 62 64 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 73 67 72 2d 31 rgs.zig</kbd>.<span.class="sgr-1
946e0 6d 22 3e 2f 68 6f 6d 65 2f 63 69 2f 77 6f 72 6b 2f 7a 69 67 2d 62 6f 6f 74 73 74 72 61 70 2f 6f m">/home/ci/work/zig-bootstrap/o
94700 75 74 2f 68 6f 73 74 2f 6c 69 62 2f 7a 69 67 2f 73 74 64 2f 49 6f 2f 57 72 69 74 65 72 2e 7a 69 ut/host/lib/zig/std/Io/Writer.zi
94720 67 3a 37 34 30 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 73 67 g:740:18:.</span><span.class="sg
94740 72 2d 33 31 6d 22 3e 65 72 72 6f 72 3a 20 3c 2f 73 70 61 6e 3e 3c 73 70 61 6e 20 63 6c 61 73 73 r-31m">error:.</span><span.class
94760 3d 22 73 67 72 2d 31 6d 22 3e 75 6e 75 73 65 64 20 61 72 67 75 6d 65 6e 74 20 69 6e 20 27 68 65 ="sgr-1m">unused.argument.in.'he
94780 72 65 20 69 73 20 61 20 73 74 72 69 6e 67 3a 20 27 7b 73 7d 27 20 68 65 72 65 20 69 73 20 61 20 re.is.a.string:.'{s}'.here.is.a.
947a0 6e 75 6d 62 65 72 3a 20 7b 7d 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 number:.{}......................
947c0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ................................
947e0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 27 0a 3c 2f 73 70 61 .........................'.</spa
94800 6e 3e 20 20 20 20 20 20 20 20 20 20 20 20 31 20 3d 26 67 74 3b 20 40 63 6f 6d 70 69 6c 65 45 72 n>............1.=&gt;.@compileEr
94820 72 6f 72 28 26 71 75 6f 74 3b 75 6e 75 73 65 64 20 61 72 67 75 6d 65 6e 74 20 69 6e 20 27 26 71 ror(&quot;unused.argument.in.'&q
94840 75 6f 74 3b 20 2b 2b 20 66 6d 74 20 2b 2b 20 26 71 75 6f 74 3b 27 26 71 75 6f 74 3b 29 2c 0a 20 uot;.++.fmt.++.&quot;'&quot;),..
94860 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 73 67 72 ................<span.class="sgr
94880 2d 33 32 6d 22 3e 5e 7e 7e 7e 7e 7e 7e 7e 7e 7e 7e 7e 7e 7e 7e 7e 7e 7e 7e 7e 7e 7e 7e 7e 7e 7e -32m">^~~~~~~~~~~~~~~~~~~~~~~~~~
948a0 7e 7e 7e 7e 7e 7e 7e 7e 7e 7e 7e 7e 7e 7e 7e 7e 7e 7e 7e 7e 7e 7e 7e 7e 7e 0a 3c 2f 73 70 61 6e ~~~~~~~~~~~~~~~~~~~~~~~~~.</span
948c0 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 73 67 72 2d 32 6d 22 3e 72 65 66 65 72 65 6e 63 65 64 ><span.class="sgr-2m">referenced
948e0 20 62 79 3a 0a 20 20 20 20 70 72 69 6e 74 5f 5f 61 6e 6f 6e 5f 34 33 30 32 32 3a 20 2f 68 6f 6d .by:.....print__anon_43022:./hom
94900 65 2f 63 69 2f 77 6f 72 6b 2f 7a 69 67 2d 62 6f 6f 74 73 74 72 61 70 2f 6f 75 74 2f 68 6f 73 74 e/ci/work/zig-bootstrap/out/host
94920 2f 6c 69 62 2f 7a 69 67 2f 73 74 64 2f 64 65 62 75 67 2e 7a 69 67 3a 33 31 34 3a 33 39 0a 20 20 /lib/zig/std/debug.zig:314:39...
94940 20 20 74 65 73 74 2e 70 72 69 6e 74 20 74 6f 6f 20 6d 61 6e 79 20 61 72 67 75 6d 65 6e 74 73 3a ..test.print.too.many.arguments:
94960 20 2f 68 6f 6d 65 2f 63 69 2f 77 6f 72 6b 2f 7a 69 67 2d 62 6f 6f 74 73 74 72 61 70 2f 7a 69 67 ./home/ci/work/zig-bootstrap/zig
94980 2f 64 6f 63 2f 6c 61 6e 67 72 65 66 2f 74 65 73 74 5f 70 72 69 6e 74 5f 74 6f 6f 5f 6d 61 6e 79 /doc/langref/test_print_too_many
949a0 5f 61 72 67 73 2e 7a 69 67 3a 37 3a 31 30 0a 3c 2f 73 70 61 6e 3e 0a 3c 2f 73 61 6d 70 3e 3c 2f _args.zig:7:10.</span>.</samp></
949c0 70 72 65 3e 3c 2f 66 69 67 75 72 65 3e 0a 0a 20 20 20 20 20 20 3c 70 3e 0a 20 20 20 20 20 20 5a pre></figure>........<p>.......Z
949e0 69 67 20 67 69 76 65 73 20 70 72 6f 67 72 61 6d 6d 65 72 73 20 74 68 65 20 74 6f 6f 6c 73 20 6e ig.gives.programmers.the.tools.n
94a00 65 65 64 65 64 20 74 6f 20 70 72 6f 74 65 63 74 20 74 68 65 6d 73 65 6c 76 65 73 20 61 67 61 69 eeded.to.protect.themselves.agai
94a20 6e 73 74 20 74 68 65 69 72 20 6f 77 6e 20 6d 69 73 74 61 6b 65 73 2e 0a 20 20 20 20 20 20 3c 2f nst.their.own.mistakes........</
94a40 70 3e 0a 20 20 20 20 20 20 3c 70 3e 0a 20 20 20 20 20 20 5a 69 67 20 64 6f 65 73 6e 27 74 20 63 p>.......<p>.......Zig.doesn't.c
94a60 61 72 65 20 77 68 65 74 68 65 72 20 74 68 65 20 66 6f 72 6d 61 74 20 61 72 67 75 6d 65 6e 74 20 are.whether.the.format.argument.
94a80 69 73 20 61 20 73 74 72 69 6e 67 20 6c 69 74 65 72 61 6c 2c 0a 20 20 20 20 20 20 6f 6e 6c 79 20 is.a.string.literal,.......only.
94aa0 74 68 61 74 20 69 74 20 69 73 20 61 20 63 6f 6d 70 69 6c 65 2d 74 69 6d 65 20 6b 6e 6f 77 6e 20 that.it.is.a.compile-time.known.
94ac0 76 61 6c 75 65 20 74 68 61 74 20 63 61 6e 20 62 65 20 63 6f 65 72 63 65 64 20 74 6f 20 61 20 3c value.that.can.be.coerced.to.a.<
94ae0 63 6f 64 65 3e 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 code>[]<span.class="tok-kw">cons
94b00 74 3c 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">
94b20 75 38 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 3a 0a 20 20 20 20 20 20 3c 2f 70 3e 0a 20 20 20 u8</span></code>:.......</p>....
94b40 20 20 20 3c 66 69 67 75 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
94b60 67 2d 63 61 70 22 3e 3c 63 69 74 65 20 63 6c 61 73 73 3d 22 66 69 6c 65 22 3e 70 72 69 6e 74 5f g-cap"><cite.class="file">print_
94b80 63 6f 6d 70 74 69 6d 65 2d 6b 6e 6f 77 6e 5f 66 6f 72 6d 61 74 2e 7a 69 67 3c 2f 63 69 74 65 3e comptime-known_format.zig</cite>
94ba0 3c 2f 66 69 67 63 61 70 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
94bc0 61 73 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.
94be0 3d 20 3c 73 70 61 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
94c00 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"
94c20 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
94c40 72 69 6e 74 3b 0a 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 63 6f 6e 73 rint;..<span.class="tok-kw">cons
94c60 74 3c 2f 73 70 61 6e 3e 20 61 5f 6e 75 6d 62 65 72 3a 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 t</span>.a_number:.<span.class="
94c80 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
94ca0 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 31 32 33 34 3c 2f 73 70 61 6e 3e 3b 0a 3c 73 70 ss="tok-number">1234</span>;.<sp
94cc0 61 6e 20 63 6c 61 73 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
94ce0 5f 73 74 72 69 6e 67 20 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 73 74 72 22 3e _string.=.<span.class="tok-str">
94d00 26 71 75 6f 74 3b 66 6f 6f 62 61 72 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 3b 0a 3c 73 70 61 6e &quot;foobar&quot;</span>;.<span
94d20 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 63 6f 6e 73 74 3c 2f 73 70 61 6e 3e 20 66 6d 74 .class="tok-kw">const</span>.fmt
94d40 20 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 73 74 72 22 3e 26 71 75 6f 74 3b 68 .=.<span.class="tok-str">&quot;h
94d60 65 72 65 20 69 73 20 61 20 73 74 72 69 6e 67 3a 20 27 7b 73 7d 27 20 68 65 72 65 20 69 73 20 61 ere.is.a.string:.'{s}'.here.is.a
94d80 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 3b 0a 0a 3c 73 70 .number:.{}\n&quot;</span>;..<sp
94da0 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
94dc0 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
94de0 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 66 6e 22 3e 6d 61 69 6e 3c 2f 73 70 61 6e 3e 28 29 20 3c n.class="tok-fn">main</span>().<
94e00 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
94e20 3e 20 7b 0a 20 20 20 20 70 72 69 6e 74 28 66 6d 74 2c 20 2e 7b 20 61 5f 73 74 72 69 6e 67 2c 20 >.{.....print(fmt,..{.a_string,.
94e40 61 5f 6e 75 6d 62 65 72 20 7d 29 3b 0a 7d 3c 2f 63 6f 64 65 3e 3c 2f 70 72 65 3e 3c 2f 66 69 67 a_number.});.}</code></pre></fig
94e60 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
94e80 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
94ea0 3e 3c 73 61 6d 70 3e 24 20 3c 6b 62 64 3e 7a 69 67 20 62 75 69 6c 64 2d 65 78 65 20 70 72 69 6e ><samp>$.<kbd>zig.build-exe.prin
94ec0 74 5f 63 6f 6d 70 74 69 6d 65 2d 6b 6e 6f 77 6e 5f 66 6f 72 6d 61 74 2e 7a 69 67 3c 2f 6b 62 64 t_comptime-known_format.zig</kbd
94ee0 3e 0a 24 20 3c 6b 62 64 3e 2e 2f 70 72 69 6e 74 5f 63 6f 6d 70 74 69 6d 65 2d 6b 6e 6f 77 6e 5f >.$.<kbd>./print_comptime-known_
94f00 66 6f 72 6d 61 74 3c 2f 6b 62 64 3e 0a 68 65 72 65 20 69 73 20 61 20 73 74 72 69 6e 67 3a 20 27 format</kbd>.here.is.a.string:.'
94f20 66 6f 6f 62 61 72 27 20 68 65 72 65 20 69 73 20 61 20 6e 75 6d 62 65 72 3a 20 31 32 33 34 0a 3c foobar'.here.is.a.number:.1234.<
94f40 2f 73 61 6d 70 3e 3c 2f 70 72 65 3e 3c 2f 66 69 67 75 72 65 3e 0a 0a 20 20 20 20 20 20 3c 70 3e /samp></pre></figure>........<p>
94f60 0a 20 20 20 20 20 20 54 68 69 73 20 77 6f 72 6b 73 20 66 69 6e 65 2e 0a 20 20 20 20 20 20 3c 2f .......This.works.fine........</
94f80 70 3e 0a 20 20 20 20 20 20 3c 70 3e 0a 20 20 20 20 20 20 5a 69 67 20 64 6f 65 73 20 6e 6f 74 20 p>.......<p>.......Zig.does.not.
94fa0 73 70 65 63 69 61 6c 20 63 61 73 65 20 73 74 72 69 6e 67 20 66 6f 72 6d 61 74 74 69 6e 67 20 69 special.case.string.formatting.i
94fc0 6e 20 74 68 65 20 63 6f 6d 70 69 6c 65 72 20 61 6e 64 20 69 6e 73 74 65 61 64 20 65 78 70 6f 73 n.the.compiler.and.instead.expos
94fe0 65 73 20 65 6e 6f 75 67 68 20 70 6f 77 65 72 20 74 6f 20 61 63 63 6f 6d 70 6c 69 73 68 20 74 68 es.enough.power.to.accomplish.th
95000 69 73 0a 20 20 20 20 20 20 74 61 73 6b 20 69 6e 20 75 73 65 72 6c 61 6e 64 2e 20 49 74 20 64 6f is.......task.in.userland..It.do
95020 65 73 20 73 6f 20 77 69 74 68 6f 75 74 20 69 6e 74 72 6f 64 75 63 69 6e 67 20 61 6e 6f 74 68 65 es.so.without.introducing.anothe
95040 72 20 6c 61 6e 67 75 61 67 65 20 6f 6e 20 74 6f 70 20 6f 66 20 5a 69 67 2c 20 73 75 63 68 20 61 r.language.on.top.of.Zig,.such.a
95060 73 0a 20 20 20 20 20 20 61 20 6d 61 63 72 6f 20 6c 61 6e 67 75 61 67 65 20 6f 72 20 61 20 70 72 s.......a.macro.language.or.a.pr
95080 65 70 72 6f 63 65 73 73 6f 72 20 6c 61 6e 67 75 61 67 65 2e 20 49 74 27 73 20 5a 69 67 20 61 6c eprocessor.language..It's.Zig.al
950a0 6c 20 74 68 65 20 77 61 79 20 64 6f 77 6e 2e 0a 20 20 20 20 20 20 3c 2f 70 3e 0a 20 20 20 20 20 l.the.way.down........</p>......
950c0 20 0a 20 20 20 20 20 20 3c 70 3e 53 65 65 20 61 6c 73 6f 3a 3c 2f 70 3e 3c 75 6c 3e 0a 3c 6c 69 ........<p>See.also:</p><ul>.<li
950e0 3e 3c 61 20 68 72 65 66 3d 22 23 69 6e 6c 69 6e 65 2d 77 68 69 6c 65 22 3e 69 6e 6c 69 6e 65 20 ><a.href="#inline-while">inline.
95100 77 68 69 6c 65 3c 2f 61 3e 3c 2f 6c 69 3e 0a 3c 6c 69 3e 3c 61 20 68 72 65 66 3d 22 23 69 6e 6c while</a></li>.<li><a.href="#inl
95120 69 6e 65 2d 66 6f 72 22 3e 69 6e 6c 69 6e 65 20 66 6f 72 3c 2f 61 3e 3c 2f 6c 69 3e 0a 3c 2f 75 ine-for">inline.for</a></li>.</u
95140 6c 3e 0a 0a 20 20 20 20 20 20 0a 20 20 20 20 20 20 3c 68 32 20 69 64 3d 22 41 73 73 65 6d 62 6c l>...............<h2.id="Assembl
95160 79 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 73 73 65 6d 62 y"><a.href="nav.xhtml#toc-Assemb
95180 6c 79 22 3e 41 73 73 65 6d 62 6c 79 3c 2f 61 3e 20 3c 61 20 63 6c 61 73 73 3d 22 68 64 72 22 20 ly">Assembly</a>.<a.class="hdr".
951a0 68 72 65 66 3d 22 23 41 73 73 65 6d 62 6c 79 22 3e c2 a7 3c 2f 61 3e 3c 2f 68 32 3e 0a 0a 20 20 href="#Assembly">..</a></h2>....
951c0 20 20 20 20 3c 70 3e 0a 20 20 20 20 20 20 46 6f 72 20 73 6f 6d 65 20 75 73 65 20 63 61 73 65 73 ....<p>.......For.some.use.cases
951e0 2c 20 69 74 20 6d 61 79 20 62 65 20 6e 65 63 65 73 73 61 72 79 20 74 6f 20 64 69 72 65 63 74 6c ,.it.may.be.necessary.to.directl
95200 79 20 63 6f 6e 74 72 6f 6c 20 74 68 65 20 6d 61 63 68 69 6e 65 20 63 6f 64 65 20 67 65 6e 65 72 y.control.the.machine.code.gener
95220 61 74 65 64 0a 20 20 20 20 20 20 62 79 20 5a 69 67 20 70 72 6f 67 72 61 6d 73 2c 20 72 61 74 68 ated.......by.Zig.programs,.rath
95240 65 72 20 74 68 61 6e 20 72 65 6c 79 69 6e 67 20 6f 6e 20 5a 69 67 27 73 20 63 6f 64 65 20 67 65 er.than.relying.on.Zig's.code.ge
95260 6e 65 72 61 74 69 6f 6e 2e 20 46 6f 72 20 74 68 65 73 65 20 63 61 73 65 73 2c 20 6f 6e 65 0a 20 neration..For.these.cases,.one..
95280 20 20 20 20 20 63 61 6e 20 75 73 65 20 69 6e 6c 69 6e 65 20 61 73 73 65 6d 62 6c 79 2e 20 48 65 .....can.use.inline.assembly..He
952a0 72 65 20 69 73 20 61 6e 20 65 78 61 6d 70 6c 65 20 6f 66 20 69 6d 70 6c 65 6d 65 6e 74 69 6e 67 re.is.an.example.of.implementing
952c0 20 48 65 6c 6c 6f 2c 20 57 6f 72 6c 64 20 6f 6e 20 78 38 36 5f 36 34 20 4c 69 6e 75 78 0a 20 20 .Hello,.World.on.x86_64.Linux...
952e0 20 20 20 20 75 73 69 6e 67 20 69 6e 6c 69 6e 65 20 61 73 73 65 6d 62 6c 79 3a 0a 20 20 20 20 20 ....using.inline.assembly:......
95300 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.
95320 63 6c 61 73 73 3d 22 7a 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
95340 65 22 3e 69 6e 6c 69 6e 65 5f 61 73 73 65 6d 62 6c 79 2e 7a 69 67 3c 2f 63 69 74 65 3e 3c 2f 66 e">inline_assembly.zig</cite></f
95360 69 67 63 61 70 74 69 6f 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
95380 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
953a0 3d 22 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=
953c0 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
953e0 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 0a ss="tok-type">noreturn</span>.{.
95400 20 20 20 20 3c 73 70 61 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</
95420 73 70 61 6e 3e 20 6d 73 67 20 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 73 74 72 span>.msg.=.<span.class="tok-str
95440 22 3e 26 71 75 6f 74 3b 68 65 6c 6c 6f 20 77 6f 72 6c 64 5c 6e 26 71 75 6f 74 3b 3c 2f 73 70 61 ">&quot;hello.world\n&quot;</spa
95460 6e 3e 3b 0a 20 20 20 20 5f 20 3d 20 73 79 73 63 61 6c 6c 33 28 53 59 53 5f 77 72 69 74 65 2c 20 n>;....._.=.syscall3(SYS_write,.
95480 53 54 44 4f 55 54 5f 46 49 4c 45 4e 4f 2c 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d STDOUT_FILENO,.<span.class="tok-
954a0 62 75 69 6c 74 69 6e 22 3e 40 69 6e 74 46 72 6f 6d 50 74 72 3c 2f 73 70 61 6e 3e 28 6d 73 67 29 builtin">@intFromPtr</span>(msg)
954c0 2c 20 6d 73 67 2e 6c 65 6e 29 3b 0a 20 20 20 20 5f 20 3d 20 73 79 73 63 61 6c 6c 31 28 53 59 53 ,.msg.len);....._.=.syscall1(SYS
954e0 5f 65 78 69 74 2c 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e _exit,.<span.class="tok-number">
95500 30 3c 2f 73 70 61 6e 3e 29 3b 0a 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 0</span>);.....<span.class="tok-
95520 6b 77 22 3e 75 6e 72 65 61 63 68 61 62 6c 65 3c 2f 73 70 61 6e 3e 3b 0a 7d 0a 0a 3c 73 70 61 6e kw">unreachable</span>;.}..<span
95540 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
95560 20 63 6c 61 73 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
95580 5f 77 72 69 74 65 20 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 _write.=.<span.class="tok-number
955a0 22 3e 31 3c 2f 73 70 61 6e 3e 3b 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 ">1</span>;.<span.class="tok-kw"
955c0 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"
955e0 3e 63 6f 6e 73 74 3c 2f 73 70 61 6e 3e 20 53 59 53 5f 65 78 69 74 20 3d 20 3c 73 70 61 6e 20 63 >const</span>.SYS_exit.=.<span.c
95600 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 36 30 3c 2f 73 70 61 6e 3e 3b 0a 0a 3c 73 lass="tok-number">60</span>;..<s
95620 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
95640 70 61 6e 20 63 6c 61 73 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>.
95660 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 74 6f 6b STDOUT_FILENO.=.<span.class="tok
95680 2d 6e 75 6d 62 65 72 22 3e 31 3c 2f 73 70 61 6e 3e 3b 0a 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d -number">1</span>;..<span.class=
956a0 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=
956c0 22 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="
956e0 74 6f 6b 2d 66 6e 22 3e 73 79 73 63 61 6c 6c 31 3c 2f 73 70 61 6e 3e 28 6e 75 6d 62 65 72 3a 20 tok-fn">syscall1</span>(number:.
95700 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
95720 61 6e 3e 2c 20 61 72 67 31 3a 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 an>,.arg1:.<span.class="tok-type
95740 22 3e 75 73 69 7a 65 3c 2f 73 70 61 6e 3e 29 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b ">usize</span>).<span.class="tok
95760 2d 74 79 70 65 22 3e 75 73 69 7a 65 3c 2f 73 70 61 6e 3e 20 7b 0a 20 20 20 20 3c 73 70 61 6e 20 -type">usize</span>.{.....<span.
95780 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
957a0 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 61 73 6d 3c 2f 73 70 61 6e 3e 20 3c 73 70 an.class="tok-kw">asm</span>.<sp
957c0 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 76 6f 6c 61 74 69 6c 65 3c 2f 73 70 61 6e an.class="tok-kw">volatile</span
957e0 3e 20 28 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 73 74 72 22 3e 26 71 75 6f 74 3b 73 >.(<span.class="tok-str">&quot;s
95800 79 73 63 61 6c 6c 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 0a 20 20 20 20 20 20 20 20 3a 20 5b 72 yscall&quot;</span>.........:.[r
95820 65 74 5d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 73 74 72 22 3e 26 71 75 6f 74 3b et].<span.class="tok-str">&quot;
95840 3d 7b 72 61 78 7d 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 20 28 2d 26 67 74 3b 20 3c 73 70 61 6e ={rax}&quot;</span>.(-&gt;.<span
95860 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 75 73 69 7a 65 3c 2f 73 70 61 6e 3e 29 2c .class="tok-type">usize</span>),
95880 0a 20 20 20 20 20 20 20 20 3a 20 5b 6e 75 6d 62 65 72 5d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d .........:.[number].<span.class=
958a0 22 74 6f 6b 2d 73 74 72 22 3e 26 71 75 6f 74 3b 7b 72 61 78 7d 26 71 75 6f 74 3b 3c 2f 73 70 61 "tok-str">&quot;{rax}&quot;</spa
958c0 6e 3e 20 28 6e 75 6d 62 65 72 29 2c 0a 20 20 20 20 20 20 20 20 20 20 5b 61 72 67 31 5d 20 3c 73 n>.(number),...........[arg1].<s
958e0 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 73 74 72 22 3e 26 71 75 6f 74 3b 7b 72 64 69 7d 26 pan.class="tok-str">&quot;{rdi}&
95900 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 20 28 61 72 67 31 29 2c 0a 20 20 20 20 20 20 20 20 3a 20 2e quot;</span>.(arg1),.........:..
95920 7b 20 2e 72 63 78 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 {..rcx.=.<span.class="tok-null">
95940 74 72 75 65 3c 2f 73 70 61 6e 3e 2c 20 2e 72 31 31 20 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d true</span>,..r11.=.<span.class=
95960 22 74 6f 6b 2d 6e 75 6c 6c 22 3e 74 72 75 65 3c 2f 73 70 61 6e 3e 20 7d 29 3b 0a 7d 0a 0a 3c 73 "tok-null">true</span>.});.}..<s
95980 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
959a0 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
959c0 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 2f 73 70 61 6e an.class="tok-fn">syscall3</span
959e0 3e 28 6e 75 6d 62 65 72 3a 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 >(number:.<span.class="tok-type"
95a00 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 63 6c 61 73 73 >usize</span>,.arg1:.<span.class
95a20 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 32 3a 20 ="tok-type">usize</span>,.arg2:.
95a40 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
95a60 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 2d 74 79 70 65 an>,.arg3:.<span.class="tok-type
95a80 22 3e 75 73 69 7a 65 3c 2f 73 70 61 6e 3e 29 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b ">usize</span>).<span.class="tok
95aa0 2d 74 79 70 65 22 3e 75 73 69 7a 65 3c 2f 73 70 61 6e 3e 20 7b 0a 20 20 20 20 3c 73 70 61 6e 20 -type">usize</span>.{.....<span.
95ac0 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
95ae0 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 61 73 6d 3c 2f 73 70 61 6e 3e 20 3c 73 70 an.class="tok-kw">asm</span>.<sp
95b00 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 76 6f 6c 61 74 69 6c 65 3c 2f 73 70 61 6e an.class="tok-kw">volatile</span
95b20 3e 20 28 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 73 74 72 22 3e 26 71 75 6f 74 3b 73 >.(<span.class="tok-str">&quot;s
95b40 79 73 63 61 6c 6c 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 0a 20 20 20 20 20 20 20 20 3a 20 5b 72 yscall&quot;</span>.........:.[r
95b60 65 74 5d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 73 74 72 22 3e 26 71 75 6f 74 3b et].<span.class="tok-str">&quot;
95b80 3d 7b 72 61 78 7d 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 20 28 2d 26 67 74 3b 20 3c 73 70 61 6e ={rax}&quot;</span>.(-&gt;.<span
95ba0 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 75 73 69 7a 65 3c 2f 73 70 61 6e 3e 29 2c .class="tok-type">usize</span>),
95bc0 0a 20 20 20 20 20 20 20 20 3a 20 5b 6e 75 6d 62 65 72 5d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d .........:.[number].<span.class=
95be0 22 74 6f 6b 2d 73 74 72 22 3e 26 71 75 6f 74 3b 7b 72 61 78 7d 26 71 75 6f 74 3b 3c 2f 73 70 61 "tok-str">&quot;{rax}&quot;</spa
95c00 6e 3e 20 28 6e 75 6d 62 65 72 29 2c 0a 20 20 20 20 20 20 20 20 20 20 5b 61 72 67 31 5d 20 3c 73 n>.(number),...........[arg1].<s
95c20 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 73 74 72 22 3e 26 71 75 6f 74 3b 7b 72 64 69 7d 26 pan.class="tok-str">&quot;{rdi}&
95c40 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 20 28 61 72 67 31 29 2c 0a 20 20 20 20 20 20 20 20 20 20 5b quot;</span>.(arg1),...........[
95c60 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 22 3e 26 71 75 6f arg2].<span.class="tok-str">&quo
95c80 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 29 2c 0a 20 20 20 t;{rsi}&quot;</span>.(arg2),....
95ca0 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
95cc0 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
95ce0 67 33 29 2c 0a 20 20 20 20 20 20 20 20 3a 20 2e 7b 20 2e 72 63 78 20 3d 20 3c 73 70 61 6e 20 63 g3),.........:..{..rcx.=.<span.c
95d00 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 2e 72 31 lass="tok-null">true</span>,..r1
95d20 31 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 3c 1.=.<span.class="tok-null">true<
95d40 2f 73 70 61 6e 3e 20 7d 29 3b 0a 7d 3c 2f 63 6f 64 65 3e 3c 2f 70 72 65 3e 3c 2f 66 69 67 75 72 /span>.});.}</code></pre></figur
95d60 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
95d80 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><
95da0 73 61 6d 70 3e 24 20 3c 6b 62 64 3e 7a 69 67 20 62 75 69 6c 64 2d 65 78 65 20 69 6e 6c 69 6e 65 samp>$.<kbd>zig.build-exe.inline
95dc0 5f 61 73 73 65 6d 62 6c 79 2e 7a 69 67 20 2d 74 61 72 67 65 74 20 78 38 36 5f 36 34 2d 6c 69 6e _assembly.zig.-target.x86_64-lin
95de0 75 78 3c 2f 6b 62 64 3e 0a 24 20 3c 6b 62 64 3e 2e 2f 69 6e 6c 69 6e 65 5f 61 73 73 65 6d 62 6c ux</kbd>.$.<kbd>./inline_assembl
95e00 79 3c 2f 6b 62 64 3e 0a 68 65 6c 6c 6f 20 77 6f 72 6c 64 0a 3c 2f 73 61 6d 70 3e 3c 2f 70 72 65 y</kbd>.hello.world.</samp></pre
95e20 3e 3c 2f 66 69 67 75 72 65 3e 0a 0a 20 20 20 20 20 20 3c 70 3e 0a 20 20 20 20 20 20 44 69 73 73 ></figure>........<p>.......Diss
95e40 65 63 74 69 6e 67 20 74 68 65 20 73 79 6e 74 61 78 3a 0a 20 20 20 20 20 20 3c 2f 70 3e 0a 20 20 ecting.the.syntax:.......</p>...
95e60 20 20 20 20 3c 66 69 67 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
95e80 69 67 2d 63 61 70 22 3e 3c 63 69 74 65 20 63 6c 61 73 73 3d 22 66 69 6c 65 22 3e 41 73 73 65 6d ig-cap"><cite.class="file">Assem
95ea0 62 6c 79 20 53 79 6e 74 61 78 20 45 78 70 6c 61 69 6e 65 64 2e 7a 69 67 3c 2f 63 69 74 65 3e 3c bly.Syntax.Explained.zig</cite><
95ec0 2f 66 69 67 63 61 70 74 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
95ee0 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
95f00 73 73 3d 22 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
95f20 73 3d 22 74 6f 6b 2d 66 6e 22 3e 73 79 73 63 61 6c 6c 31 3c 2f 73 70 61 6e 3e 28 6e 75 6d 62 65 s="tok-fn">syscall1</span>(numbe
95f40 72 3a 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 75 73 69 7a 65 3c r:.<span.class="tok-type">usize<
95f60 2f 73 70 61 6e 3e 2c 20 61 72 67 31 3a 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 /span>,.arg1:.<span.class="tok-t
95f80 79 70 65 22 3e 75 73 69 7a 65 3c 2f 73 70 61 6e 3e 29 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 ype">usize</span>).<span.class="
95fa0 74 6f 6b 2d 74 79 70 65 22 3e 75 73 69 7a 65 3c 2f 73 70 61 6e 3e 20 7b 0a 20 20 20 20 3c 73 70 tok-type">usize</span>.{.....<sp
95fc0 61 6e 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 6c 69 6e 65 an.class="tok-comment">//.Inline
95fe0 20 61 73 73 65 6d 62 6c 79 20 69 73 20 61 6e 20 65 78 70 72 65 73 73 69 6f 6e 20 77 68 69 63 68 .assembly.is.an.expression.which
96000 20 72 65 74 75 72 6e 73 20 61 20 76 61 6c 75 65 2e 3c 2f 73 70 61 6e 3e 0a 20 20 20 20 3c 73 70 .returns.a.value.</span>.....<sp
96020 61 6e 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 60 61 an.class="tok-comment">//.the.`a
96040 73 6d 60 20 6b 65 79 77 6f 72 64 20 62 65 67 69 6e 73 20 74 68 65 20 65 78 70 72 65 73 73 69 6f sm`.keyword.begins.the.expressio
96060 6e 2e 3c 2f 73 70 61 6e 3e 0a 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b n.</span>.....<span.class="tok-k
96080 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
960a0 6b 2d 6b 77 22 3e 61 73 6d 3c 2f 73 70 61 6e 3e 0a 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 k-kw">asm</span>.....<span.class
960c0 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 20 69 73 20 ="tok-comment">//.`volatile`.is.
960e0 61 6e 20 6f 70 74 69 6f 6e 61 6c 20 6d 6f 64 69 66 69 65 72 20 74 68 61 74 20 74 65 6c 6c 73 20 an.optional.modifier.that.tells.
96100 5a 69 67 20 74 68 69 73 3c 2f 73 70 61 6e 3e 0a 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d Zig.this</span>.....<span.class=
96120 22 74 6f 6b 2d 63 6f 6d 6d 65 6e 74 22 3e 2f 2f 20 69 6e 6c 69 6e 65 20 61 73 73 65 6d 62 6c 79 "tok-comment">//.inline.assembly
96140 20 65 78 70 72 65 73 73 69 6f 6e 20 68 61 73 20 73 69 64 65 2d 65 66 66 65 63 74 73 2e 20 57 69 .expression.has.side-effects..Wi
96160 74 68 6f 75 74 3c 2f 73 70 61 6e 3e 0a 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f thout</span>.....<span.class="to
96180 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 67 20 69 73 k-comment">//.`volatile`,.Zig.is
961a0 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 65 20 61 73 .allowed.to.delete.the.inline.as
961c0 73 65 6d 62 6c 79 3c 2f 73 70 61 6e 3e 0a 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 sembly</span>.....<span.class="t
961e0 6f 6b 2d 63 6f 6d 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 ok-comment">//.code.if.the.resul
96200 74 20 69 73 20 75 6e 75 73 65 64 2e 3c 2f 73 70 61 6e 3e 0a 20 20 20 20 3c 73 70 61 6e 20 63 6c t.is.unused.</span>.....<span.cl
96220 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 76 6f 6c 61 74 69 6c 65 3c 2f 73 70 61 6e 3e 20 28 0a 20 ass="tok-kw">volatile</span>.(..
96240 20 20 20 3c 73 70 61 6e 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">//.
96260 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 77 68 69 63 68 20 Next.is.a.comptime.string.which.
96280 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 6e 3e 0a 20 20 20 is.the.assembly.code.</span>....
962a0 20 3c 73 70 61 6e 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
962c0 73 69 64 65 20 74 68 69 73 20 73 74 72 69 6e 67 20 6f 6e 65 20 6d 61 79 20 75 73 65 20 60 25 5b side.this.string.one.may.use.`%[
962e0 72 65 74 5d 60 2c 20 60 25 5b 6e 75 6d 62 65 72 5d 60 2c 3c 2f 73 70 61 6e 3e 0a 20 20 20 20 3c ret]`,.`%[number]`,</span>.....<
96300 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 63 6f 6d 6d 65 6e 74 22 3e 2f 2f 20 6f 72 20 60 span.class="tok-comment">//.or.`
96320 25 5b 61 72 67 31 5d 60 20 77 68 65 72 65 20 61 20 72 65 67 69 73 74 65 72 20 69 73 20 65 78 70 %[arg1]`.where.a.register.is.exp
96340 65 63 74 65 64 2c 20 74 6f 20 73 70 65 63 69 66 79 3c 2f 73 70 61 6e 3e 0a 20 20 20 20 3c 73 70 ected,.to.specify</span>.....<sp
96360 61 6e 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 72 65 an.class="tok-comment">//.the.re
96380 67 69 73 74 65 72 20 74 68 61 74 20 5a 69 67 20 75 73 65 73 20 66 6f 72 20 74 68 65 20 61 72 67 gister.that.Zig.uses.for.the.arg
963a0 75 6d 65 6e 74 20 6f 72 20 72 65 74 75 72 6e 20 76 61 6c 75 65 2c 3c 2f 73 70 61 6e 3e 0a 20 20 ument.or.return.value,</span>...
963c0 20 20 3c 73 70 61 6e 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
963e0 66 20 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 f.the.register.constraint.string
96400 73 20 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 0a 20 20 s.are.used..However.in</span>...
96420 20 20 3c 73 70 61 6e 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
96440 68 65 20 62 65 6c 6f 77 20 63 6f 64 65 2c 20 74 68 69 73 20 69 73 20 6e 6f 74 20 75 73 65 64 2e he.below.code,.this.is.not.used.
96460 20 41 20 6c 69 74 65 72 61 6c 20 60 25 60 20 63 61 6e 20 62 65 3c 2f 73 70 61 6e 3e 0a 20 20 20 .A.literal.`%`.can.be</span>....
96480 20 3c 73 70 61 6e 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 62 .<span.class="tok-comment">//.ob
964a0 74 61 69 6e 65 64 20 62 79 20 65 73 63 61 70 69 6e 67 20 69 74 20 77 69 74 68 20 61 20 64 6f 75 tained.by.escaping.it.with.a.dou
964c0 62 6c 65 20 70 65 72 63 65 6e 74 3a 20 60 25 25 60 2e 3c 2f 73 70 61 6e 3e 0a 20 20 20 20 3c 73 ble.percent:.`%%`.</span>.....<s
964e0 70 61 6e 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
96500 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
96520 6e 20 68 61 6e 64 79 20 68 65 72 65 2e 3c 2f 73 70 61 6e 3e 0a 20 20 20 20 20 20 20 20 3c 73 70 n.handy.here.</span>.........<sp
96540 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 73 74 72 22 3e 5c 5c 73 79 73 63 61 6c 6c 3c 2f 73 70 an.class="tok-str">\\syscall</sp
96560 61 6e 3e 0a 20 20 20 20 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 63 6f 6d an>.........<span.class="tok-com
96580 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 2e 20 49 74 20 ment">//.Next.is.the.output..It.
965a0 69 73 20 70 6f 73 73 69 62 6c 65 20 69 6e 20 74 68 65 20 66 75 74 75 72 65 20 5a 69 67 20 77 69 is.possible.in.the.future.Zig.wi
965c0 6c 6c 3c 2f 73 70 61 6e 3e 0a 20 20 20 20 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 ll</span>.........<span.class="t
965e0 6f 6b 2d 63 6f 6d 6d 65 6e 74 22 3e 2f 2f 20 73 75 70 70 6f 72 74 20 6d 75 6c 74 69 70 6c 65 20 ok-comment">//.support.multiple.
96600 6f 75 74 70 75 74 73 2c 20 64 65 70 65 6e 64 69 6e 67 20 6f 6e 20 68 6f 77 3c 2f 73 70 61 6e 3e outputs,.depending.on.how</span>
96620 0a 20 20 20 20 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 63 6f 6d 6d 65 6e .........<span.class="tok-commen
96640 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
96660 2f 7a 69 67 2f 69 73 73 75 65 73 2f 32 31 35 20 69 73 20 72 65 73 6f 6c 76 65 64 2e 3c 2f 73 70 /zig/issues/215.is.resolved.</sp
96680 61 6e 3e 0a 20 20 20 20 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 63 6f 6d an>.........<span.class="tok-com
966a0 6d 65 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 ment">//.It.is.allowed.for.there
966c0 20 74 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 .to.be.no.outputs,.in.which.case
966e0 3c 2f 73 70 61 6e 3e 0a 20 20 20 20 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b </span>.........<span.class="tok
96700 2d 63 6f 6d 6d 65 6e 74 22 3e 2f 2f 20 74 68 69 73 20 63 6f 6c 6f 6e 20 77 6f 75 6c 64 20 62 65 -comment">//.this.colon.would.be
96720 20 64 69 72 65 63 74 6c 79 20 66 6f 6c 6c 6f 77 65 64 20 62 79 20 74 68 65 20 63 6f 6c 6f 6e 20 .directly.followed.by.the.colon.
96740 66 6f 72 20 74 68 65 20 69 6e 70 75 74 73 2e 3c 2f 73 70 61 6e 3e 0a 20 20 20 20 20 20 20 20 3a for.the.inputs.</span>.........:
96760 0a 20 20 20 20 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 63 6f 6d 6d 65 6e .........<span.class="tok-commen
96780 74 22 3e 2f 2f 20 54 68 69 73 20 73 70 65 63 69 66 69 65 73 20 74 68 65 20 6e 61 6d 65 20 74 6f t">//.This.specifies.the.name.to
967a0 20 62 65 20 75 73 65 64 20 69 6e 20 60 25 5b 72 65 74 5d 60 20 73 79 6e 74 61 78 20 69 6e 3c 2f .be.used.in.`%[ret]`.syntax.in</
967c0 73 70 61 6e 3e 0a 20 20 20 20 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 63 span>.........<span.class="tok-c
967e0 6f 6d 6d 65 6e 74 22 3e 2f 2f 20 74 68 65 20 61 62 6f 76 65 20 61 73 73 65 6d 62 6c 79 20 73 74 omment">//.the.above.assembly.st
96800 72 69 6e 67 2e 20 54 68 69 73 20 65 78 61 6d 70 6c 65 20 64 6f 65 73 20 6e 6f 74 20 75 73 65 20 ring..This.example.does.not.use.
96820 69 74 2c 3c 2f 73 70 61 6e 3e 0a 20 20 20 20 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 it,</span>.........<span.class="
96840 74 6f 6b 2d 63 6f 6d 6d 65 6e 74 22 3e 2f 2f 20 62 75 74 20 74 68 65 20 73 79 6e 74 61 78 20 69 tok-comment">//.but.the.syntax.i
96860 73 20 6d 61 6e 64 61 74 6f 72 79 2e 3c 2f 73 70 61 6e 3e 0a 20 20 20 20 20 20 20 20 20 20 5b 72 s.mandatory.</span>...........[r
96880 65 74 5d 0a 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 et]...........<span.class="tok-c
968a0 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
968c0 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
968e0 20 73 74 69 6c 6c 3c 2f 73 70 61 6e 3e 0a 20 20 20 20 20 20 20 20 20 20 3c 73 70 61 6e 20 63 6c .still</span>...........<span.cl
96900 61 73 73 3d 22 74 6f 6b 2d 63 6f 6d 6d 65 6e 74 22 3e 2f 2f 20 63 6f 6e 73 69 64 65 72 65 64 20 ass="tok-comment">//.considered.
96920 75 6e 73 74 61 62 6c 65 20 69 6e 20 5a 69 67 2c 20 61 6e 64 20 73 6f 20 4c 4c 56 4d 2f 47 43 43 unstable.in.Zig,.and.so.LLVM/GCC
96940 20 64 6f 63 75 6d 65 6e 74 61 74 69 6f 6e 3c 2f 73 70 61 6e 3e 0a 20 20 20 20 20 20 20 20 20 20 .documentation</span>...........
96960 3c 73 70 61 6e 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
96980 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
969a0 6e 74 69 63 73 2e 3c 2f 73 70 61 6e 3e 0a 20 20 20 20 20 20 20 20 20 20 3c 73 70 61 6e 20 63 6c ntics.</span>...........<span.cl
969c0 61 73 73 3d 22 74 6f 6b 2d 63 6f 6d 6d 65 6e 74 22 3e 2f 2f 20 68 74 74 70 3a 2f 2f 72 65 6c 65 ass="tok-comment">//.http://rele
969e0 61 73 65 73 2e 6c 6c 76 6d 2e 6f 72 67 2f 31 30 2e 30 2e 30 2f 64 6f 63 73 2f 4c 61 6e 67 52 65 ases.llvm.org/10.0.0/docs/LangRe
96a00 66 2e 68 74 6d 6c 23 69 6e 6c 69 6e 65 2d 61 73 6d 2d 63 6f 6e 73 74 72 61 69 6e 74 2d 73 74 72 f.html#inline-asm-constraint-str
96a20 69 6e 67 3c 2f 73 70 61 6e 3e 0a 20 20 20 20 20 20 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 ing</span>...........<span.class
96a40 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
96a60 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
96a80 6d 2e 68 74 6d 6c 3c 2f 73 70 61 6e 3e 0a 20 20 20 20 20 20 20 20 20 20 3c 73 70 61 6e 20 63 6c m.html</span>...........<span.cl
96aa0 61 73 73 3d 22 74 6f 6b 2d 63 6f 6d 6d 65 6e 74 22 3e 2f 2f 20 49 6e 20 74 68 69 73 20 65 78 61 ass="tok-comment">//.In.this.exa
96ac0 6d 70 6c 65 2c 20 74 68 65 20 63 6f 6e 73 74 72 61 69 6e 74 20 73 74 72 69 6e 67 20 6d 65 61 6e mple,.the.constraint.string.mean
96ae0 73 20 26 71 75 6f 74 3b 74 68 65 20 72 65 73 75 6c 74 20 76 61 6c 75 65 20 6f 66 3c 2f 73 70 61 s.&quot;the.result.value.of</spa
96b00 6e 3e 0a 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 n>...........<span.class="tok-co
96b20 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
96b40 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
96b60 78 26 71 75 6f 74 3b 2e 3c 2f 73 70 61 6e 3e 0a 20 20 20 20 20 20 20 20 20 20 3c 73 70 61 6e 20 x&quot;.</span>...........<span.
96b80 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 71 75 6f class="tok-str">&quot;={rax}&quo
96ba0 74 3b 3c 2f 73 70 61 6e 3e 0a 20 20 20 20 20 20 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d t;</span>...........<span.class=
96bc0 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 68 65 72 20 "tok-comment">//.Next.is.either.
96be0 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 61 6e 64 20 a.value.binding,.or.`-&gt;`.and.
96c00 74 68 65 6e 20 61 20 74 79 70 65 2e 20 54 68 65 3c 2f 73 70 61 6e 3e 0a 20 20 20 20 20 20 20 20 then.a.type..The</span>.........
96c20 20 20 3c 73 70 61 6e 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
96c40 79 70 65 20 69 73 20 74 68 65 20 72 65 73 75 6c 74 20 74 79 70 65 20 6f 66 20 74 68 65 20 69 6e ype.is.the.result.type.of.the.in
96c60 6c 69 6e 65 20 61 73 73 65 6d 62 6c 79 20 65 78 70 72 65 73 73 69 6f 6e 2e 3c 2f 73 70 61 6e 3e line.assembly.expression.</span>
96c80 0a 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
96ca0 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 64 69 6e 67 ent">//.If.it.is.a.value.binding
96cc0 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 20 62 65 20 ,.then.`%[ret]`.syntax.would.be.
96ce0 75 73 65 64 3c 2f 73 70 61 6e 3e 0a 20 20 20 20 20 20 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 used</span>...........<span.clas
96d00 73 3d 22 74 6f 6b 2d 63 6f 6d 6d 65 6e 74 22 3e 2f 2f 20 74 6f 20 72 65 66 65 72 20 74 6f 20 74 s="tok-comment">//.to.refer.to.t
96d20 68 65 20 72 65 67 69 73 74 65 72 20 62 6f 75 6e 64 20 74 6f 20 74 68 65 20 76 61 6c 75 65 2e 3c he.register.bound.to.the.value.<
96d40 2f 73 70 61 6e 3e 0a 20 20 20 20 20 20 20 20 20 20 28 2d 26 67 74 3b 20 3c 73 70 61 6e 20 63 6c /span>...........(-&gt;.<span.cl
96d60 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 75 73 69 7a 65 3c 2f 73 70 61 6e 3e 29 2c 0a 20 20 ass="tok-type">usize</span>),...
96d80 20 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
96da0 22 3e 2f 2f 20 4e 65 78 74 20 69 73 20 74 68 65 20 6c 69 73 74 20 6f 66 20 69 6e 70 75 74 73 2e ">//.Next.is.the.list.of.inputs.
96dc0 3c 2f 73 70 61 6e 3e 0a 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>...........<span.class="t
96de0 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 61 69 6e 74 20 66 6f ok-comment">//.The.constraint.fo
96e00 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 6f 74 3b 77 68 65 6e r.these.inputs.means,.&quot;when
96e20 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 61 6e 3e 0a 20 20 20 .the.assembly.code.is</span>....
96e40 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"
96e60 3e 2f 2f 20 65 78 65 63 75 74 65 64 2c 20 24 72 61 78 20 73 68 61 6c 6c 20 68 61 76 65 20 74 68 >//.executed,.$rax.shall.have.th
96e80 65 20 76 61 6c 75 65 20 6f 66 20 60 6e 75 6d 62 65 72 60 20 61 6e 64 20 24 72 64 69 20 73 68 61 e.value.of.`number`.and.$rdi.sha
96ea0 6c 6c 20 68 61 76 65 3c 2f 73 70 61 6e 3e 0a 20 20 20 20 20 20 20 20 20 20 3c 73 70 61 6e 20 63 ll.have</span>...........<span.c
96ec0 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 76 61 6c 75 65 20 lass="tok-comment">//.the.value.
96ee0 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 65 72 20 6f 66 20 69 of.`arg1`&quot;..Any.number.of.i
96f00 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 64 2c 3c 2f 73 70 61 nput.parameters.is.allowed,</spa
96f20 6e 3e 0a 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 n>...........<span.class="tok-co
96f40 6d 6d 65 6e 74 22 3e 2f 2f 20 69 6e 63 6c 75 64 69 6e 67 20 6e 6f 6e 65 2e 3c 2f 73 70 61 6e 3e mment">//.including.none.</span>
96f60 0a 20 20 20 20 20 20 20 20 3a 20 5b 6e 75 6d 62 65 72 5d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d .........:.[number].<span.class=
96f80 22 74 6f 6b 2d 73 74 72 22 3e 26 71 75 6f 74 3b 7b 72 61 78 7d 26 71 75 6f 74 3b 3c 2f 73 70 61 "tok-str">&quot;{rax}&quot;</spa
96fa0 6e 3e 20 28 6e 75 6d 62 65 72 29 2c 0a 20 20 20 20 20 20 20 20 20 20 5b 61 72 67 31 5d 20 3c 73 n>.(number),...........[arg1].<s
96fc0 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 73 74 72 22 3e 26 71 75 6f 74 3b 7b 72 64 69 7d 26 pan.class="tok-str">&quot;{rdi}&
96fe0 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 20 28 61 72 67 31 29 2c 0a 20 20 20 20 20 20 20 20 20 20 3c quot;</span>.(arg1),...........<
97000 73 70 61 6e 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
97020 20 69 73 20 74 68 65 20 6c 69 73 74 20 6f 66 20 63 6c 6f 62 62 65 72 73 2e 20 54 68 65 73 65 20 .is.the.list.of.clobbers..These.
97040 64 65 63 6c 61 72 65 20 61 20 73 65 74 20 6f 66 20 72 65 67 69 73 74 65 72 73 20 77 68 6f 73 65 declare.a.set.of.registers.whose
97060 3c 2f 73 70 61 6e 3e 0a 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>...........<span.class="t
97080 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 6f 74 20 62 ok-comment">//.values.will.not.b
970a0 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 20 6f 66 20 e.preserved.by.the.execution.of.
970c0 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 0a 20 20 20 20 20 this.assembly.code.</span>......
970e0 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">/
97100 2f 20 54 68 65 73 65 20 64 6f 20 6e 6f 74 20 69 6e 63 6c 75 64 65 20 6f 75 74 70 75 74 20 6f 72 /.These.do.not.include.output.or
97120 20 69 6e 70 75 74 20 72 65 67 69 73 74 65 72 73 2e 20 54 68 65 20 73 70 65 63 69 61 6c 20 63 6c .input.registers..The.special.cl
97140 6f 62 62 65 72 3c 2f 73 70 61 6e 3e 0a 20 20 20 20 20 20 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 obber</span>...........<span.cla
97160 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 20 26 71 75 ss="tok-comment">//.value.of.&qu
97180 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 68 65 20 61 ot;memory&quot;.means.that.the.a
971a0 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 75 6e 64 65 ssembly.writes.to.arbitrary.unde
971c0 63 6c 61 72 65 64 3c 2f 73 70 61 6e 3e 0a 20 20 20 20 20 20 20 20 20 20 3c 73 70 61 6e 20 63 6c clared</span>...........<span.cl
971e0 61 73 73 3d 22 74 6f 6b 2d 63 6f 6d 6d 65 6e 74 22 3e 2f 2f 20 6d 65 6d 6f 72 79 20 6c 6f 63 61 ass="tok-comment">//.memory.loca
97200 74 69 6f 6e 73 20 2d 20 6e 6f 74 20 6f 6e 6c 79 20 74 68 65 20 6d 65 6d 6f 72 79 20 70 6f 69 6e tions.-.not.only.the.memory.poin
97220 74 65 64 20 74 6f 20 62 79 20 61 20 64 65 63 6c 61 72 65 64 20 69 6e 64 69 72 65 63 74 3c 2f 73 ted.to.by.a.declared.indirect</s
97240 70 61 6e 3e 0a 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 pan>...........<span.class="tok-
97260 63 6f 6d 6d 65 6e 74 22 3e 2f 2f 20 6f 75 74 70 75 74 2e 20 49 6e 20 74 68 69 73 20 65 78 61 6d comment">//.output..In.this.exam
97280 70 6c 65 20 77 65 20 6c 69 73 74 20 24 72 63 78 20 61 6e 64 20 24 72 31 31 20 62 65 63 61 75 73 ple.we.list.$rcx.and.$r11.becaus
972a0 65 20 69 74 20 69 73 20 6b 6e 6f 77 6e 20 74 68 65 3c 2f 73 70 61 6e 3e 0a 20 20 20 20 20 20 20 e.it.is.known.the</span>........
972c0 20 20 20 3c 73 70 61 6e 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">//.
972e0 6b 65 72 6e 65 6c 20 73 79 73 63 61 6c 6c 20 64 6f 65 73 20 6e 6f 74 20 70 72 65 73 65 72 76 65 kernel.syscall.does.not.preserve
97300 20 74 68 65 73 65 20 72 65 67 69 73 74 65 72 73 2e 3c 2f 73 70 61 6e 3e 0a 20 20 20 20 20 20 20 .these.registers.</span>........
97320 20 3a 20 2e 7b 20 2e 72 63 78 20 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 .:..{..rcx.=.<span.class="tok-nu
97340 6c 6c 22 3e 74 72 75 65 3c 2f 73 70 61 6e 3e 2c 20 2e 72 31 31 20 3d 20 3c 73 70 61 6e 20 63 6c ll">true</span>,..r11.=.<span.cl
97360 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 20 7d 29 3b 0a 7d ass="tok-null">true</span>.});.}
97380 3c 2f 63 6f 64 65 3e 3c 2f 70 72 65 3e 3c 2f 66 69 67 75 72 65 3e 0a 0a 20 20 20 20 20 20 3c 70 </code></pre></figure>........<p
973a0 3e 0a 20 20 20 20 20 20 46 6f 72 20 78 38 36 20 61 6e 64 20 78 38 36 5f 36 34 20 74 61 72 67 65 >.......For.x86.and.x86_64.targe
973c0 74 73 2c 20 74 68 65 20 73 79 6e 74 61 78 20 69 73 20 41 54 26 61 6d 70 3b 54 20 73 79 6e 74 61 ts,.the.syntax.is.AT&amp;T.synta
973e0 78 2c 20 72 61 74 68 65 72 20 74 68 61 6e 20 74 68 65 20 6d 6f 72 65 0a 20 20 20 20 20 20 70 6f x,.rather.than.the.more.......po
97400 70 75 6c 61 72 20 49 6e 74 65 6c 20 73 79 6e 74 61 78 2e 20 54 68 69 73 20 69 73 20 64 75 65 20 pular.Intel.syntax..This.is.due.
97420 74 6f 20 74 65 63 68 6e 69 63 61 6c 20 63 6f 6e 73 74 72 61 69 6e 74 73 3b 20 61 73 73 65 6d 62 to.technical.constraints;.assemb
97440 6c 79 20 70 61 72 73 69 6e 67 20 69 73 0a 20 20 20 20 20 20 70 72 6f 76 69 64 65 64 20 62 79 20 ly.parsing.is.......provided.by.
97460 4c 4c 56 4d 20 61 6e 64 20 69 74 73 20 73 75 70 70 6f 72 74 20 66 6f 72 20 49 6e 74 65 6c 20 73 LLVM.and.its.support.for.Intel.s
97480 79 6e 74 61 78 20 69 73 20 62 75 67 67 79 20 61 6e 64 20 6e 6f 74 20 77 65 6c 6c 20 74 65 73 74 yntax.is.buggy.and.not.well.test
974a0 65 64 2e 0a 20 20 20 20 20 20 3c 2f 70 3e 0a 20 20 20 20 20 20 3c 70 3e 0a 20 20 20 20 20 20 53 ed........</p>.......<p>.......S
974c0 6f 6d 65 20 64 61 79 20 5a 69 67 20 6d 61 79 20 68 61 76 65 20 69 74 73 20 6f 77 6e 20 61 73 73 ome.day.Zig.may.have.its.own.ass
974e0 65 6d 62 6c 65 72 2e 20 54 68 69 73 20 77 6f 75 6c 64 20 61 6c 6c 6f 77 20 69 74 20 74 6f 20 69 embler..This.would.allow.it.to.i
97500 6e 74 65 67 72 61 74 65 20 6d 6f 72 65 20 73 65 61 6d 6c 65 73 73 6c 79 0a 20 20 20 20 20 20 69 ntegrate.more.seamlessly.......i
97520 6e 74 6f 20 74 68 65 20 6c 61 6e 67 75 61 67 65 2c 20 61 73 20 77 65 6c 6c 20 61 73 20 62 65 20 nto.the.language,.as.well.as.be.
97540 63 6f 6d 70 61 74 69 62 6c 65 20 77 69 74 68 20 74 68 65 20 70 6f 70 75 6c 61 72 20 4e 41 53 4d compatible.with.the.popular.NASM
97560 20 73 79 6e 74 61 78 2e 20 54 68 69 73 20 64 6f 63 75 6d 65 6e 74 61 74 69 6f 6e 0a 20 20 20 20 .syntax..This.documentation.....
97580 20 20 73 65 63 74 69 6f 6e 20 77 69 6c 6c 20 62 65 20 75 70 64 61 74 65 64 20 62 65 66 6f 72 65 ..section.will.be.updated.before
975a0 20 31 2e 30 2e 30 20 69 73 20 72 65 6c 65 61 73 65 64 2c 20 77 69 74 68 20 61 20 63 6f 6e 63 6c .1.0.0.is.released,.with.a.concl
975c0 75 73 69 76 65 20 73 74 61 74 65 6d 65 6e 74 20 61 62 6f 75 74 20 74 68 65 20 73 74 61 74 75 73 usive.statement.about.the.status
975e0 0a 20 20 20 20 20 20 6f 66 20 41 54 26 61 6d 70 3b 54 20 76 73 20 49 6e 74 65 6c 2f 4e 41 53 4d .......of.AT&amp;T.vs.Intel/NASM
97600 20 73 79 6e 74 61 78 2e 0a 20 20 20 20 20 20 3c 2f 70 3e 0a 20 20 20 20 20 20 3c 68 33 20 69 64 .syntax........</p>.......<h3.id
97620 3d 22 4f 75 74 70 75 74 2d 43 6f 6e 73 74 72 61 69 6e 74 73 22 3e 3c 61 20 68 72 65 66 3d 22 6e ="Output-Constraints"><a.href="n
97640 61 76 2e 78 68 74 6d 6c 23 74 6f 63 2d 4f 75 74 70 75 74 2d 43 6f 6e 73 74 72 61 69 6e 74 73 22 av.xhtml#toc-Output-Constraints"
97660 3e 4f 75 74 70 75 74 20 43 6f 6e 73 74 72 61 69 6e 74 73 3c 2f 61 3e 20 3c 61 20 63 6c 61 73 73 >Output.Constraints</a>.<a.class
97680 3d 22 68 64 72 22 20 68 72 65 66 3d 22 23 4f 75 74 70 75 74 2d 43 6f 6e 73 74 72 61 69 6e 74 73 ="hdr".href="#Output-Constraints
976a0 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 4f ">..</a></h3>........<p>.......O
976c0 75 74 70 75 74 20 63 6f 6e 73 74 72 61 69 6e 74 73 20 61 72 65 20 73 74 69 6c 6c 20 63 6f 6e 73 utput.constraints.are.still.cons
976e0 69 64 65 72 65 64 20 74 6f 20 62 65 20 75 6e 73 74 61 62 6c 65 20 69 6e 20 5a 69 67 2c 20 61 6e idered.to.be.unstable.in.Zig,.an
97700 64 0a 20 20 20 20 20 20 73 6f 0a 20 20 20 20 20 20 3c 61 20 68 72 65 66 3d 22 68 74 74 70 3a 2f d.......so.......<a.href="http:/
97720 2f 72 65 6c 65 61 73 65 73 2e 6c 6c 76 6d 2e 6f 72 67 2f 31 30 2e 30 2e 30 2f 64 6f 63 73 2f 4c /releases.llvm.org/10.0.0/docs/L
97740 61 6e 67 52 65 66 2e 68 74 6d 6c 23 69 6e 6c 69 6e 65 2d 61 73 6d 2d 63 6f 6e 73 74 72 61 69 6e angRef.html#inline-asm-constrain
97760 74 2d 73 74 72 69 6e 67 22 3e 4c 4c 56 4d 20 64 6f 63 75 6d 65 6e 74 61 74 69 6f 6e 3c 2f 61 3e t-string">LLVM.documentation</a>
97780 0a 20 20 20 20 20 20 61 6e 64 0a 20 20 20 20 20 20 3c 61 20 68 72 65 66 3d 22 68 74 74 70 73 3a .......and.......<a.href="https:
977a0 2f 2f 67 63 63 2e 67 6e 75 2e 6f 72 67 2f 6f 6e 6c 69 6e 65 64 6f 63 73 2f 67 63 63 2f 45 78 74 //gcc.gnu.org/onlinedocs/gcc/Ext
977c0 65 6e 64 65 64 2d 41 73 6d 2e 68 74 6d 6c 22 3e 47 43 43 20 64 6f 63 75 6d 65 6e 74 61 74 69 6f ended-Asm.html">GCC.documentatio
977e0 6e 3c 2f 61 3e 0a 20 20 20 20 20 20 6d 75 73 74 20 62 65 20 75 73 65 64 20 74 6f 20 75 6e 64 65 n</a>.......must.be.used.to.unde
97800 72 73 74 61 6e 64 20 74 68 65 20 73 65 6d 61 6e 74 69 63 73 2e 0a 20 20 20 20 20 20 3c 2f 70 3e rstand.the.semantics........</p>
97820 0a 20 20 20 20 20 20 3c 70 3e 0a 20 20 20 20 20 20 4e 6f 74 65 20 74 68 61 74 20 73 6f 6d 65 20 .......<p>.......Note.that.some.
97840 62 72 65 61 6b 69 6e 67 20 63 68 61 6e 67 65 73 20 74 6f 20 6f 75 74 70 75 74 20 63 6f 6e 73 74 breaking.changes.to.output.const
97860 72 61 69 6e 74 73 20 61 72 65 20 70 6c 61 6e 6e 65 64 20 77 69 74 68 0a 20 20 20 20 20 20 3c 61 raints.are.planned.with.......<a
97880 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 6e .href="https://github.com/ziglan
978a0 67 2f 7a 69 67 2f 69 73 73 75 65 73 2f 32 31 35 22 3e 69 73 73 75 65 20 23 32 31 35 3c 2f 61 3e g/zig/issues/215">issue.#215</a>
978c0 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
978e0 64 3d 22 49 6e 70 75 74 2d 43 6f 6e 73 74 72 61 69 6e 74 73 22 3e 3c 61 20 68 72 65 66 3d 22 6e d="Input-Constraints"><a.href="n
97900 61 76 2e 78 68 74 6d 6c 23 74 6f 63 2d 49 6e 70 75 74 2d 43 6f 6e 73 74 72 61 69 6e 74 73 22 3e av.xhtml#toc-Input-Constraints">
97920 49 6e 70 75 74 20 43 6f 6e 73 74 72 61 69 6e 74 73 3c 2f 61 3e 20 3c 61 20 63 6c 61 73 73 3d 22 Input.Constraints</a>.<a.class="
97940 68 64 72 22 20 68 72 65 66 3d 22 23 49 6e 70 75 74 2d 43 6f 6e 73 74 72 61 69 6e 74 73 22 3e c2 hdr".href="#Input-Constraints">.
97960 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 70 75 .</a></h3>........<p>.......Inpu
97980 74 20 63 6f 6e 73 74 72 61 69 6e 74 73 20 61 72 65 20 73 74 69 6c 6c 20 63 6f 6e 73 69 64 65 72 t.constraints.are.still.consider
979a0 65 64 20 74 6f 20 62 65 20 75 6e 73 74 61 62 6c 65 20 69 6e 20 5a 69 67 2c 20 61 6e 64 0a 20 20 ed.to.be.unstable.in.Zig,.and...
979c0 20 20 20 20 73 6f 0a 20 20 20 20 20 20 3c 61 20 68 72 65 66 3d 22 68 74 74 70 3a 2f 2f 72 65 6c ....so.......<a.href="http://rel
979e0 65 61 73 65 73 2e 6c 6c 76 6d 2e 6f 72 67 2f 31 30 2e 30 2e 30 2f 64 6f 63 73 2f 4c 61 6e 67 52 eases.llvm.org/10.0.0/docs/LangR
97a00 65 66 2e 68 74 6d 6c 23 69 6e 6c 69 6e 65 2d 61 73 6d 2d 63 6f 6e 73 74 72 61 69 6e 74 2d 73 74 ef.html#inline-asm-constraint-st
97a20 72 69 6e 67 22 3e 4c 4c 56 4d 20 64 6f 63 75 6d 65 6e 74 61 74 69 6f 6e 3c 2f 61 3e 0a 20 20 20 ring">LLVM.documentation</a>....
97a40 20 20 20 61 6e 64 0a 20 20 20 20 20 20 3c 61 20 68 72 65 66 3d 22 68 74 74 70 73 3a 2f 2f 67 63 ...and.......<a.href="https://gc
97a60 63 2e 67 6e 75 2e 6f 72 67 2f 6f 6e 6c 69 6e 65 64 6f 63 73 2f 67 63 63 2f 45 78 74 65 6e 64 65 c.gnu.org/onlinedocs/gcc/Extende
97a80 64 2d 41 73 6d 2e 68 74 6d 6c 22 3e 47 43 43 20 64 6f 63 75 6d 65 6e 74 61 74 69 6f 6e 3c 2f 61 d-Asm.html">GCC.documentation</a
97aa0 3e 0a 20 20 20 20 20 20 6d 75 73 74 20 62 65 20 75 73 65 64 20 74 6f 20 75 6e 64 65 72 73 74 61 >.......must.be.used.to.understa
97ac0 6e 64 20 74 68 65 20 73 65 6d 61 6e 74 69 63 73 2e 0a 20 20 20 20 20 20 3c 2f 70 3e 0a 20 20 20 nd.the.semantics........</p>....
97ae0 20 20 20 3c 70 3e 0a 20 20 20 20 20 20 4e 6f 74 65 20 74 68 61 74 20 73 6f 6d 65 20 62 72 65 61 ...<p>.......Note.that.some.brea
97b00 6b 69 6e 67 20 63 68 61 6e 67 65 73 20 74 6f 20 69 6e 70 75 74 20 63 6f 6e 73 74 72 61 69 6e 74 king.changes.to.input.constraint
97b20 73 20 61 72 65 20 70 6c 61 6e 6e 65 64 20 77 69 74 68 0a 20 20 20 20 20 20 3c 61 20 68 72 65 66 s.are.planned.with.......<a.href
97b40 3d 22 68 74 74 70 73 3a 2f 2f 67 69 74 68 75 62 2e 63 6f 6d 2f 7a 69 67 6c 61 6e 67 2f 7a 69 67 ="https://github.com/ziglang/zig
97b60 2f 69 73 73 75 65 73 2f 32 31 35 22 3e 69 73 73 75 65 20 23 32 31 35 3c 2f 61 3e 2e 0a 20 20 20 /issues/215">issue.#215</a>.....
97b80 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 43 6c ...</p>...............<h3.id="Cl
97ba0 6f 62 62 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 obbers"><a.href="nav.xhtml#toc-C
97bc0 6c 6f 62 62 65 72 73 22 3e 43 6c 6f 62 62 65 72 73 3c 2f 61 3e 20 3c 61 20 63 6c 61 73 73 3d 22 lobbers">Clobbers</a>.<a.class="
97be0 68 64 72 22 20 68 72 65 66 3d 22 23 43 6c 6f 62 62 65 72 73 22 3e c2 a7 3c 2f 61 3e 3c 2f 68 33 hdr".href="#Clobbers">..</a></h3
97c00 3e 0a 0a 20 20 20 20 20 20 3c 70 3e 0a 20 20 20 20 20 20 43 6c 6f 62 62 65 72 73 20 61 72 65 20 >........<p>.......Clobbers.are.
97c20 74 68 65 20 73 65 74 20 6f 66 20 72 65 67 69 73 74 65 72 73 20 77 68 6f 73 65 20 76 61 6c 75 65 the.set.of.registers.whose.value
97c40 73 20 77 69 6c 6c 20 6e 6f 74 20 62 65 20 70 72 65 73 65 72 76 65 64 20 62 79 20 74 68 65 20 65 s.will.not.be.preserved.by.the.e
97c60 78 65 63 75 74 69 6f 6e 20 6f 66 0a 20 20 20 20 20 20 74 68 65 20 61 73 73 65 6d 62 6c 79 20 63 xecution.of.......the.assembly.c
97c80 6f 64 65 2e 20 54 68 65 73 65 20 64 6f 20 6e 6f 74 20 69 6e 63 6c 75 64 65 20 6f 75 74 70 75 74 ode..These.do.not.include.output
97ca0 20 6f 72 20 69 6e 70 75 74 20 72 65 67 69 73 74 65 72 73 2e 20 54 68 65 20 73 70 65 63 69 61 6c .or.input.registers..The.special
97cc0 20 63 6c 6f 62 62 65 72 0a 20 20 20 20 20 20 76 61 6c 75 65 20 6f 66 20 3c 63 6f 64 65 3e 3c 73 .clobber.......value.of.<code><s
97ce0 70 61 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 pan.class="tok-str">&quot;memory
97d00 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 20 6d 65 61 6e 73 20 74 68 61 74 20 &quot;</span></code>.means.that.
97d20 74 68 65 20 61 73 73 65 6d 62 6c 79 20 63 61 75 73 65 73 20 77 72 69 74 65 73 20 74 6f 0a 20 20 the.assembly.causes.writes.to...
97d40 20 20 20 20 61 72 62 69 74 72 61 72 79 20 75 6e 64 65 63 6c 61 72 65 64 20 6d 65 6d 6f 72 79 20 ....arbitrary.undeclared.memory.
97d60 6c 6f 63 61 74 69 6f 6e 73 20 2d 20 6e 6f 74 20 6f 6e 6c 79 20 74 68 65 20 6d 65 6d 6f 72 79 20 locations.-.not.only.the.memory.
97d80 70 6f 69 6e 74 65 64 20 74 6f 20 62 79 20 61 20 64 65 63 6c 61 72 65 64 0a 20 20 20 20 20 20 69 pointed.to.by.a.declared.......i
97da0 6e 64 69 72 65 63 74 20 6f 75 74 70 75 74 2e 0a 20 20 20 20 20 20 3c 2f 70 3e 0a 20 20 20 20 20 ndirect.output........</p>......
97dc0 20 3c 70 3e 0a 20 20 20 20 20 20 46 61 69 6c 75 72 65 20 74 6f 20 64 65 63 6c 61 72 65 20 74 68 .<p>.......Failure.to.declare.th
97de0 65 20 66 75 6c 6c 20 73 65 74 20 6f 66 20 63 6c 6f 62 62 65 72 73 20 66 6f 72 20 61 20 67 69 76 e.full.set.of.clobbers.for.a.giv
97e00 65 6e 20 69 6e 6c 69 6e 65 20 61 73 73 65 6d 62 6c 79 0a 20 20 20 20 20 20 65 78 70 72 65 73 73 en.inline.assembly.......express
97e20 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 49 6c 6c 65 67 ion.is.unchecked.<a.href="#Illeg
97e40 61 6c 2d 42 65 68 61 76 69 6f 72 22 3e 49 6c 6c 65 67 61 6c 20 42 65 68 61 76 69 6f 72 3c 2f 61 al-Behavior">Illegal.Behavior</a
97e60 3e 2e 0a 20 20 20 20 20 20 3c 2f 70 3e 0a 20 20 20 20 20 20 0a 0a 20 20 20 20 20 20 3c 68 33 20 >........</p>...............<h3.
97e80 69 64 3d 22 47 6c 6f 62 61 6c 2d 41 73 73 65 6d 62 6c 79 22 3e 3c 61 20 68 72 65 66 3d 22 6e 61 id="Global-Assembly"><a.href="na
97ea0 76 2e 78 68 74 6d 6c 23 74 6f 63 2d 47 6c 6f 62 61 6c 2d 41 73 73 65 6d 62 6c 79 22 3e 47 6c 6f v.xhtml#toc-Global-Assembly">Glo
97ec0 62 61 6c 20 41 73 73 65 6d 62 6c 79 3c 2f 61 3e 20 3c 61 20 63 6c 61 73 73 3d 22 68 64 72 22 20 bal.Assembly</a>.<a.class="hdr".
97ee0 68 72 65 66 3d 22 23 47 6c 6f 62 61 6c 2d 41 73 73 65 6d 62 6c 79 22 3e c2 a7 3c 2f 61 3e 3c 2f href="#Global-Assembly">..</a></
97f00 68 33 3e 0a 0a 20 20 20 20 20 20 3c 70 3e 0a 20 20 20 20 20 20 57 68 65 6e 20 61 6e 20 61 73 73 h3>........<p>.......When.an.ass
97f20 65 6d 62 6c 79 20 65 78 70 72 65 73 73 69 6f 6e 20 6f 63 63 75 72 73 20 69 6e 20 61 20 3c 61 20 embly.expression.occurs.in.a.<a.
97f40 68 72 65 66 3d 22 23 4e 61 6d 65 73 70 61 63 65 22 3e 4e 61 6d 65 73 70 61 63 65 3c 2f 61 3e 20 href="#Namespace">Namespace</a>.
97f60 6c 65 76 65 6c 20 3c 61 20 68 72 65 66 3d 22 23 63 6f 6d 70 74 69 6d 65 22 3e 63 6f 6d 70 74 69 level.<a.href="#comptime">compti
97f80 6d 65 3c 2f 61 3e 20 62 6c 6f 63 6b 2c 20 74 68 69 73 20 69 73 0a 20 20 20 20 20 20 3c 73 74 72 me</a>.block,.this.is.......<str
97fa0 6f 6e 67 3e 67 6c 6f 62 61 6c 20 61 73 73 65 6d 62 6c 79 3c 2f 73 74 72 6f 6e 67 3e 2e 0a 20 20 ong>global.assembly</strong>....
97fc0 20 20 20 20 3c 2f 70 3e 0a 20 20 20 20 20 20 3c 70 3e 0a 20 20 20 20 20 20 54 68 69 73 20 6b 69 ....</p>.......<p>.......This.ki
97fe0 6e 64 20 6f 66 20 61 73 73 65 6d 62 6c 79 20 68 61 73 20 64 69 66 66 65 72 65 6e 74 20 72 75 6c nd.of.assembly.has.different.rul
98000 65 73 20 74 68 61 6e 20 69 6e 6c 69 6e 65 20 61 73 73 65 6d 62 6c 79 2e 20 46 69 72 73 74 2c 20 es.than.inline.assembly..First,.
98020 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 76 6f 6c 61 74 <code><span.class="tok-kw">volat
98040 69 6c 65 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 0a 20 20 20 20 20 20 69 73 20 6e 6f 74 20 76 ile</span></code>.......is.not.v
98060 61 6c 69 64 20 62 65 63 61 75 73 65 20 61 6c 6c 20 67 6c 6f 62 61 6c 20 61 73 73 65 6d 62 6c 79 alid.because.all.global.assembly
98080 20 69 73 20 75 6e 63 6f 6e 64 69 74 69 6f 6e 61 6c 6c 79 20 69 6e 63 6c 75 64 65 64 2e 0a 20 20 .is.unconditionally.included....
980a0 20 20 20 20 53 65 63 6f 6e 64 2c 20 74 68 65 72 65 20 61 72 65 20 6e 6f 20 69 6e 70 75 74 73 2c ....Second,.there.are.no.inputs,
980c0 20 6f 75 74 70 75 74 73 2c 20 6f 72 20 63 6c 6f 62 62 65 72 73 2e 20 41 6c 6c 20 67 6c 6f 62 61 .outputs,.or.clobbers..All.globa
980e0 6c 20 61 73 73 65 6d 62 6c 79 20 69 73 20 63 6f 6e 63 61 74 65 6e 61 74 65 64 0a 20 20 20 20 20 l.assembly.is.concatenated......
98100 20 76 65 72 62 61 74 69 6d 20 69 6e 74 6f 20 6f 6e 65 20 6c 6f 6e 67 20 73 74 72 69 6e 67 20 61 .verbatim.into.one.long.string.a
98120 6e 64 20 61 73 73 65 6d 62 6c 65 64 20 74 6f 67 65 74 68 65 72 2e 20 54 68 65 72 65 20 61 72 65 nd.assembled.together..There.are
98140 20 6e 6f 20 74 65 6d 70 6c 61 74 65 20 73 75 62 73 74 69 74 75 74 69 6f 6e 20 72 75 6c 65 73 20 .no.template.substitution.rules.
98160 72 65 67 61 72 64 69 6e 67 0a 20 20 20 20 20 20 3c 63 6f 64 65 3e 25 3c 2f 63 6f 64 65 3e 20 61 regarding.......<code>%</code>.a
98180 73 20 74 68 65 72 65 20 61 72 65 20 69 6e 20 69 6e 6c 69 6e 65 20 61 73 73 65 6d 62 6c 79 20 65 s.there.are.in.inline.assembly.e
981a0 78 70 72 65 73 73 69 6f 6e 73 2e 0a 20 20 20 20 20 20 3c 2f 70 3e 0a 20 20 20 20 20 20 3c 66 69 xpressions........</p>.......<fi
981c0 67 75 72 65 3e 3c 66 69 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"
981e0 3e 3c 63 69 74 65 20 63 6c 61 73 73 3d 22 66 69 6c 65 22 3e 74 65 73 74 5f 67 6c 6f 62 61 6c 5f ><cite.class="file">test_global_
98200 61 73 73 65 6d 62 6c 79 2e 7a 69 67 3c 2f 63 69 74 65 3e 3c 2f 66 69 67 63 61 70 74 69 6f 6e 3e assembly.zig</cite></figcaption>
98220 3c 70 72 65 3e 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e <pre><code><span.class="tok-kw">
98240 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="
98260 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
98280 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
982a0 3b 3c 2f 73 70 61 6e 3e 29 3b 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e ;</span>);.<span.class="tok-kw">
982c0 63 6f 6e 73 74 3c 2f 73 70 61 6e 3e 20 65 78 70 65 63 74 45 71 75 61 6c 20 3d 20 73 74 64 2e 74 const</span>.expectEqual.=.std.t
982e0 65 73 74 69 6e 67 2e 65 78 70 65 63 74 45 71 75 61 6c 3b 0a 0a 3c 73 70 61 6e 20 63 6c 61 73 73 esting.expectEqual;..<span.class
98300 3d 22 74 6f 6b 2d 6b 77 22 3e 63 6f 6d 70 74 69 6d 65 3c 2f 73 70 61 6e 3e 20 7b 0a 20 20 20 20 ="tok-kw">comptime</span>.{.....
98320 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 61 73 6d 3c 2f 73 70 61 6e 3e 20 <span.class="tok-kw">asm</span>.
98340 28 0a 20 20 20 20 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 73 74 72 22 3e (.........<span.class="tok-str">
98360 5c 5c 2e 67 6c 6f 62 61 6c 20 6d 79 5f 66 75 6e 63 3b 3c 2f 73 70 61 6e 3e 0a 20 20 20 20 20 20 \\.global.my_func;</span>.......
98380 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 73 74 72 22 3e 5c 5c 2e 74 79 70 65 20 ..<span.class="tok-str">\\.type.
983a0 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 0a 20 20 20 20 20 my_func,.@function;</span>......
983c0 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 6d 79 5f 66 75 ...<span.class="tok-str">\\my_fu
983e0 6e 63 3a 3c 2f 73 70 61 6e 3e 0a 20 20 20 20 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 nc:</span>.........<span.class="
98400 74 6f 6b 2d 73 74 72 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 tok-str">\\..lea.(%rdi,%rsi,1),%
98420 65 61 78 3c 2f 73 70 61 6e 3e 0a 20 20 20 20 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 eax</span>.........<span.class="
98440 74 6f 6b 2d 73 74 72 22 3e 5c 5c 20 20 72 65 74 71 3c 2f 73 70 61 6e 3e 0a 20 20 20 20 29 3b 0a tok-str">\\..retq</span>.....);.
98460 7d 0a 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 65 78 74 65 72 6e 3c 2f }..<span.class="tok-kw">extern</
98480 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
984a0 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 79 5f 66 75 6e pan>.<span.class="tok-fn">my_fun
984c0 63 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 c</span>(a:.<span.class="tok-typ
984e0 65 22 3e 69 33 32 3c 2f 73 70 61 6e 3e 2c 20 62 3a 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 e">i32</span>,.b:.<span.class="t
98500 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
98520 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 69 33 32 3c 2f 73 70 61 6e 3e 3b 0a 0a 3c 73 70 61 6e 20 63 ="tok-type">i32</span>;..<span.c
98540 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.
98560 63 6c 61 73 73 3d 22 74 6f 6b 2d 73 74 72 22 3e 26 71 75 6f 74 3b 67 6c 6f 62 61 6c 20 61 73 73 class="tok-str">&quot;global.ass
98580 65 6d 62 6c 79 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 20 7b 0a 20 20 20 20 3c 73 70 61 6e 20 63 embly&quot;</span>.{.....<span.c
985a0 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 74 72 79 3c 2f 73 70 61 6e 3e 20 65 78 70 65 63 74 45 lass="tok-kw">try</span>.expectE
985c0 71 75 61 6c 28 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 34 36 qual(<span.class="tok-number">46
985e0 3c 2f 73 70 61 6e 3e 2c 20 6d 79 5f 66 75 6e 63 28 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f </span>,.my_func(<span.class="to
98600 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
98620 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 33 34 3c 2f 73 70 61 6e 3e 29 29 3b 0a 7d 3c 2f 63 6f ="tok-number">34</span>));.}</co
98640 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
98660 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
98680 69 67 63 61 70 74 69 6f 6e 3e 3c 70 72 65 3e 3c 73 61 6d 70 3e 24 20 3c 6b 62 64 3e 7a 69 67 20 igcaption><pre><samp>$.<kbd>zig.
986a0 74 65 73 74 20 74 65 73 74 5f 67 6c 6f 62 61 6c 5f 61 73 73 65 6d 62 6c 79 2e 7a 69 67 20 2d 74 test.test_global_assembly.zig.-t
986c0 61 72 67 65 74 20 78 38 36 5f 36 34 2d 6c 69 6e 75 78 20 2d 66 6c 6c 76 6d 3c 2f 6b 62 64 3e 0a arget.x86_64-linux.-fllvm</kbd>.
986e0 31 2f 31 20 74 65 73 74 5f 67 6c 6f 62 61 6c 5f 61 73 73 65 6d 62 6c 79 2e 74 65 73 74 2e 67 6c 1/1.test_global_assembly.test.gl
98700 6f 62 61 6c 20 61 73 73 65 6d 62 6c 79 2e 2e 2e 4f 4b 0a 41 6c 6c 20 31 20 74 65 73 74 73 20 70 obal.assembly...OK.All.1.tests.p
98720 61 73 73 65 64 2e 0a 3c 2f 73 61 6d 70 3e 3c 2f 70 72 65 3e 3c 2f 66 69 67 75 72 65 3e 0a 0a 20 assed..</samp></pre></figure>...
98740 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 41 74 6f 6d ....................<h2.id="Atom
98760 69 63 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 74 6f 6d ics"><a.href="nav.xhtml#toc-Atom
98780 69 63 73 22 3e 41 74 6f 6d 69 63 73 3c 2f 61 3e 20 3c 61 20 63 6c 61 73 73 3d 22 68 64 72 22 20 ics">Atomics</a>.<a.class="hdr".
987a0 68 72 65 66 3d 22 23 41 74 6f 6d 69 63 73 22 3e c2 a7 3c 2f 61 3e 3c 2f 68 32 3e 0a 0a 20 20 20 href="#Atomics">..</a></h2>.....
987c0 20 20 20 3c 70 3e 54 4f 44 4f 3a 20 40 61 74 6f 6d 69 63 20 72 6d 77 3c 2f 70 3e 0a 20 20 20 20 ...<p>TODO:.@atomic.rmw</p>.....
987e0 20 20 3c 70 3e 54 4f 44 4f 3a 20 62 75 69 6c 74 69 6e 20 61 74 6f 6d 69 63 20 6d 65 6d 6f 72 79 ..<p>TODO:.builtin.atomic.memory
98800 20 6f 72 64 65 72 69 6e 67 20 65 6e 75 6d 3c 2f 70 3e 0a 0a 20 20 20 20 20 20 3c 70 3e 53 65 65 .ordering.enum</p>........<p>See
98820 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
98840 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 6c micLoad">@atomicLoad</a></li>.<l
98860 69 3e 3c 61 20 68 72 65 66 3d 22 23 61 74 6f 6d 69 63 53 74 6f 72 65 22 3e 40 61 74 6f 6d 69 63 i><a.href="#atomicStore">@atomic
98880 53 74 6f 72 65 3c 2f 61 3e 3c 2f 6c 69 3e 0a 3c 6c 69 3e 3c 61 20 68 72 65 66 3d 22 23 61 74 6f Store</a></li>.<li><a.href="#ato
988a0 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>
988c0 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
988e0 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
98900 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
98920 3e 0a 3c 2f 75 6c 3e 0a 0a 0a 20 20 20 20 20 20 0a 0a 20 20 20 20 20 20 3c 68 32 20 69 64 3d 22 >.</ul>.................<h2.id="
98940 41 73 79 6e 63 2d 46 75 6e 63 74 69 6f 6e 73 22 3e 3c 61 20 68 72 65 66 3d 22 6e 61 76 2e 78 68 Async-Functions"><a.href="nav.xh
98960 74 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 tml#toc-Async-Functions">Async.F
98980 75 6e 63 74 69 6f 6e 73 3c 2f 61 3e 20 3c 61 20 63 6c 61 73 73 3d 22 68 64 72 22 20 68 72 65 66 unctions</a>.<a.class="hdr".href
989a0 3d 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 ="#Async-Functions">..</a></h2>.
989c0 0a 20 20 20 20 20 20 3c 70 3e 41 73 79 6e 63 20 66 75 6e 63 74 69 6f 6e 73 20 72 65 67 72 65 73 .......<p>Async.functions.regres
989e0 73 65 64 20 77 69 74 68 20 74 68 65 20 72 65 6c 65 61 73 65 20 6f 66 20 30 2e 31 31 2e 30 2e 20 sed.with.the.release.of.0.11.0..
98a00 54 68 65 20 63 75 72 72 65 6e 74 20 70 6c 61 6e 20 69 73 20 74 6f 0a 20 20 20 20 20 20 72 65 69 The.current.plan.is.to.......rei
98a20 6e 74 72 6f 64 75 63 65 20 74 68 65 6d 20 61 73 20 61 20 6c 6f 77 65 72 20 6c 65 76 65 6c 20 70 ntroduce.them.as.a.lower.level.p
98a40 72 69 6d 69 74 69 76 65 20 74 68 61 74 20 70 6f 77 65 72 73 20 49 2f 4f 20 69 6d 70 6c 65 6d 65 rimitive.that.powers.I/O.impleme
98a60 6e 74 61 74 69 6f 6e 73 2e 3c 2f 70 3e 0a 20 20 20 20 20 20 3c 70 3e 54 72 61 63 6b 69 6e 67 20 ntations.</p>.......<p>Tracking.
98a80 69 73 73 75 65 3a 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 issue:.<a.href="https://github.c
98aa0 6f 6d 2f 7a 69 67 6c 61 6e 67 2f 7a 69 67 2f 69 73 73 75 65 73 2f 32 33 34 34 36 22 3e 50 72 6f om/ziglang/zig/issues/23446">Pro
98ac0 70 6f 73 61 6c 3a 20 73 74 61 63 6b 6c 65 73 73 20 63 6f 72 6f 75 74 69 6e 65 73 20 61 73 20 6c posal:.stackless.coroutines.as.l
98ae0 6f 77 2d 6c 65 76 65 6c 20 70 72 69 6d 69 74 69 76 65 73 3c 2f 61 3e 3c 2f 70 3e 0a 20 20 20 20 ow-level.primitives</a></p>.....
98b00 20 20 0a 0a 20 20 20 20 20 20 3c 68 32 20 69 64 3d 22 42 75 69 6c 74 69 6e 2d 46 75 6e 63 74 69 ..........<h2.id="Builtin-Functi
98b20 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 42 75 69 6c ons"><a.href="nav.xhtml#toc-Buil
98b40 74 69 6e 2d 46 75 6e 63 74 69 6f 6e 73 22 3e 42 75 69 6c 74 69 6e 20 46 75 6e 63 74 69 6f 6e 73 tin-Functions">Builtin.Functions
98b60 3c 2f 61 3e 20 3c 61 20 63 6c 61 73 73 3d 22 68 64 72 22 20 68 72 65 66 3d 22 23 42 75 69 6c 74 </a>.<a.class="hdr".href="#Built
98b80 69 6e 2d 46 75 6e 63 74 69 6f 6e 73 22 3e c2 a7 3c 2f 61 3e 3c 2f 68 32 3e 0a 0a 20 20 20 20 20 in-Functions">..</a></h2>.......
98ba0 20 3c 70 3e 0a 20 20 20 20 20 20 42 75 69 6c 74 69 6e 20 66 75 6e 63 74 69 6f 6e 73 20 61 72 65 .<p>.......Builtin.functions.are
98bc0 20 70 72 6f 76 69 64 65 64 20 62 79 20 74 68 65 20 63 6f 6d 70 69 6c 65 72 20 61 6e 64 20 61 72 .provided.by.the.compiler.and.ar
98be0 65 20 70 72 65 66 69 78 65 64 20 77 69 74 68 20 3c 63 6f 64 65 3e 40 3c 2f 63 6f 64 65 3e 2e 0a e.prefixed.with.<code>@</code>..
98c00 20 20 20 20 20 20 54 68 65 20 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b ......The.<code><span.class="tok
98c20 2d 6b 77 22 3e 63 6f 6d 70 74 69 6d 65 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 20 6b 65 79 77 -kw">comptime</span></code>.keyw
98c40 6f 72 64 20 6f 6e 20 61 20 70 61 72 61 6d 65 74 65 72 20 6d 65 61 6e 73 20 74 68 61 74 20 74 68 ord.on.a.parameter.means.that.th
98c60 65 20 70 61 72 61 6d 65 74 65 72 20 6d 75 73 74 20 62 65 20 6b 6e 6f 77 6e 0a 20 20 20 20 20 20 e.parameter.must.be.known.......
98c80 61 74 20 63 6f 6d 70 69 6c 65 20 74 69 6d 65 2e 0a 20 20 20 20 20 20 3c 2f 70 3e 0a 20 20 20 20 at.compile.time........</p>.....
98ca0 20 20 3c 68 33 20 69 64 3d 22 61 64 64 72 53 70 61 63 65 43 61 73 74 22 3e 3c 61 20 68 72 65 66 ..<h3.id="addrSpaceCast"><a.href
98cc0 3d 22 6e 61 76 2e 78 68 74 6d 6c 23 74 6f 63 2d 61 64 64 72 53 70 61 63 65 43 61 73 74 22 3e 40 ="nav.xhtml#toc-addrSpaceCast">@
98ce0 61 64 64 72 53 70 61 63 65 43 61 73 74 3c 2f 61 3e 20 3c 61 20 63 6c 61 73 73 3d 22 68 64 72 22 addrSpaceCast</a>.<a.class="hdr"
98d00 20 68 72 65 66 3d 22 23 61 64 64 72 53 70 61 63 65 43 61 73 74 22 3e c2 a7 3c 2f 61 3e 3c 2f 68 .href="#addrSpaceCast">..</a></h
98d20 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
98d40 3d 22 74 6f 6b 2d 62 75 69 6c 74 69 6e 22 3e 40 61 64 64 72 53 70 61 63 65 43 61 73 74 3c 2f 73 ="tok-builtin">@addrSpaceCast</s
98d60 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 3e 61 pan>(ptr:.<span.class="tok-kw">a
98d80 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-
98da0 6b 77 22 3e 61 6e 79 74 79 70 65 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 3c 2f 70 72 65 3e 0a kw">anytype</span></code></pre>.
98dc0 20 20 20 20 20 20 3c 70 3e 0a 20 20 20 20 20 20 43 6f 6e 76 65 72 74 73 20 61 20 70 6f 69 6e 74 ......<p>.......Converts.a.point
98de0 65 72 20 66 72 6f 6d 20 6f 6e 65 20 61 64 64 72 65 73 73 20 73 70 61 63 65 20 74 6f 20 61 6e 6f er.from.one.address.space.to.ano
98e00 74 68 65 72 2e 20 54 68 65 20 6e 65 77 20 61 64 64 72 65 73 73 20 73 70 61 63 65 20 69 73 20 69 ther..The.new.address.space.is.i
98e20 6e 66 65 72 72 65 64 0a 09 09 09 62 61 73 65 64 20 6f 6e 20 74 68 65 20 72 65 73 75 6c 74 20 74 nferred....based.on.the.result.t
98e40 79 70 65 2e 20 44 65 70 65 6e 64 69 6e 67 20 6f 6e 20 74 68 65 20 63 75 72 72 65 6e 74 20 74 61 ype..Depending.on.the.current.ta
98e60 72 67 65 74 20 61 6e 64 20 61 64 64 72 65 73 73 20 73 70 61 63 65 73 2c 20 74 68 69 73 20 63 61 rget.and.address.spaces,.this.ca
98e80 73 74 0a 09 09 09 6d 61 79 20 62 65 20 61 20 6e 6f 2d 6f 70 2c 20 61 20 63 6f 6d 70 6c 65 78 20 st....may.be.a.no-op,.a.complex.
98ea0 6f 70 65 72 61 74 69 6f 6e 2c 20 6f 72 20 69 6c 6c 65 67 61 6c 2e 20 49 66 20 74 68 65 20 63 61 operation,.or.illegal..If.the.ca
98ec0 73 74 20 69 73 20 6c 65 67 61 6c 2c 20 74 68 65 6e 20 74 68 65 20 72 65 73 75 6c 74 69 6e 67 0a st.is.legal,.then.the.resulting.
98ee0 09 09 09 70 6f 69 6e 74 65 72 20 70 6f 69 6e 74 73 20 74 6f 20 74 68 65 20 73 61 6d 65 20 6d 65 ...pointer.points.to.the.same.me
98f00 6d 6f 72 79 20 6c 6f 63 61 74 69 6f 6e 20 61 73 20 74 68 65 20 70 6f 69 6e 74 65 72 20 6f 70 65 mory.location.as.the.pointer.ope
98f20 72 61 6e 64 2e 20 49 74 20 69 73 20 61 6c 77 61 79 73 20 76 61 6c 69 64 20 74 6f 0a 09 09 09 63 rand..It.is.always.valid.to....c
98f40 61 73 74 20 61 20 70 6f 69 6e 74 65 72 20 62 65 74 77 65 65 6e 20 74 68 65 20 73 61 6d 65 20 61 ast.a.pointer.between.the.same.a
98f60 64 64 72 65 73 73 20 73 70 61 63 65 73 2e 0a 20 20 20 20 20 20 3c 2f 70 3e 0a 20 20 20 20 20 20 ddress.spaces........</p>.......
98f80 0a 20 20 20 20 20 20 3c 68 33 20 69 64 3d 22 61 64 64 57 69 74 68 4f 76 65 72 66 6c 6f 77 22 3e .......<h3.id="addWithOverflow">
98fa0 3c 61 20 68 72 65 66 3d 22 6e 61 76 2e 78 68 74 6d 6c 23 74 6f 63 2d 61 64 64 57 69 74 68 4f 76 <a.href="nav.xhtml#toc-addWithOv
98fc0 65 72 66 6c 6f 77 22 3e 40 61 64 64 57 69 74 68 4f 76 65 72 66 6c 6f 77 3c 2f 61 3e 20 3c 61 20 erflow">@addWithOverflow</a>.<a.
98fe0 63 6c 61 73 73 3d 22 68 64 72 22 20 68 72 65 66 3d 22 23 61 64 64 57 69 74 68 4f 76 65 72 66 6c class="hdr".href="#addWithOverfl
99000 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 64 ow">..</a></h3>........<pre><cod
99020 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 62 75 69 6c 74 69 6e 22 3e 40 61 64 64 e><span.class="tok-builtin">@add
99040 57 69 74 68 4f 76 65 72 66 6c 6f 77 3c 2f 73 70 61 6e 3e 28 61 3a 20 3c 73 70 61 6e 20 63 6c 61 WithOverflow</span>(a:.<span.cla
99060 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 61 6e 79 74 79 70 65 3c 2f 73 70 61 6e 3e 2c 20 62 3a 20 3c ss="tok-kw">anytype</span>,.b:.<
99080 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 61 6e 79 74 79 70 65 3c 2f 73 70 61 span.class="tok-kw">anytype</spa
990a0 6e 3e 29 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 73 74 72 75 63 74 3c n>).<span.class="tok-kw">struct<
990c0 2f 73 70 61 6e 3e 20 7b 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 62 75 69 6c 74 69 /span>.{.<span.class="tok-builti
990e0 6e 22 3e 40 54 79 70 65 4f 66 3c 2f 73 70 61 6e 3e 28 61 2c 20 62 29 2c 20 3c 73 70 61 6e 20 63 n">@TypeOf</span>(a,.b),.<span.c
99100 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 75 31 3c 2f 73 70 61 6e 3e 20 7d 3c 2f 63 6f 64 lass="tok-type">u1</span>.}</cod
99120 65 3e 3c 2f 70 72 65 3e 0a 20 20 20 20 20 20 3c 70 3e 0a 20 20 20 20 20 20 50 65 72 66 6f 72 6d e></pre>.......<p>.......Perform
99140 73 20 3c 63 6f 64 65 3e 61 20 2b 20 62 3c 2f 63 6f 64 65 3e 20 61 6e 64 20 72 65 74 75 72 6e 73 s.<code>a.+.b</code>.and.returns
99160 20 61 20 74 75 70 6c 65 20 77 69 74 68 20 74 68 65 20 72 65 73 75 6c 74 20 61 6e 64 20 61 20 70 .a.tuple.with.the.result.and.a.p
99180 6f 73 73 69 62 6c 65 20 6f 76 65 72 66 6c 6f 77 20 62 69 74 2e 0a 20 20 20 20 20 20 3c 2f 70 3e ossible.overflow.bit........</p>
991a0 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 74 22 ..............<h3.id="alignCast"
991c0 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 61 73 ><a.href="nav.xhtml#toc-alignCas
991e0 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 72 22 t">@alignCast</a>.<a.class="hdr"
99200 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 0a 0a .href="#alignCast">..</a></h3>..
99220 20 20 20 20 20 20 3c 70 72 65 3e 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f ......<pre><code><span.class="to
99240 6b 2d 62 75 69 6c 74 69 6e 22 3e 40 61 6c 69 67 6e 43 61 73 74 3c 2f 73 70 61 6e 3e 28 70 74 72 k-builtin">@alignCast</span>(ptr
99260 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</
99280 73 70 61 6e 3e 29 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 61 6e 79 74 span>).<span.class="tok-kw">anyt
992a0 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
992c0 3e 0a 20 20 20 20 20 20 3c 63 6f 64 65 3e 70 74 72 3c 2f 63 6f 64 65 3e 20 63 61 6e 20 62 65 20 >.......<code>ptr</code>.can.be.
992e0 3c 63 6f 64 65 3e 2a 54 3c 2f 63 6f 64 65 3e 2c 20 3c 63 6f 64 65 3e 3f 2a 54 3c 2f 63 6f 64 65 <code>*T</code>,.<code>?*T</code
99300 3e 2c 20 6f 72 20 3c 63 6f 64 65 3e 5b 5d 54 3c 2f 63 6f 64 65 3e 2e 0a 09 09 09 43 68 61 6e 67 >,.or.<code>[]T</code>.....Chang
99320 65 73 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 20 54 es.the.alignment.of.a.pointer..T
99340 68 65 20 61 6c 69 67 6e 6d 65 6e 74 20 74 6f 20 75 73 65 20 69 73 20 69 6e 66 65 72 72 65 64 20 he.alignment.to.use.is.inferred.
99360 62 61 73 65 64 20 6f 6e 20 74 68 65 20 72 65 73 75 6c 74 20 74 79 70 65 2e 0a 20 20 20 20 20 20 based.on.the.result.type........
99380 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
993a0 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
993c0 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
993e0 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
99400 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
99420 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>.............
99440 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.
99460 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>.
99480 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">.
994a0 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
994c0 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 62 75 69 6c 74 69 6e 22 3e 40 61 6c 69 67 6e 4f 66 3c an.class="tok-builtin">@alignOf<
994e0 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
99500 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-
99520 74 79 70 65 22 3e 74 79 70 65 3c 2f 73 70 61 6e 3e 29 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 type">type</span>).<span.class="
99540 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 63 tok-type">comptime_int</span></c
99560 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 20 ode></pre>.......<p>.......This.
99580 66 75 6e 63 74 69 6f 6e 20 72 65 74 75 72 6e 73 20 74 68 65 20 6e 75 6d 62 65 72 20 6f 66 20 62 function.returns.the.number.of.b
995a0 79 74 65 73 20 74 68 61 74 20 74 68 69 73 20 74 79 70 65 20 73 68 6f 75 6c 64 20 62 65 20 61 6c ytes.that.this.type.should.be.al
995c0 69 67 6e 65 64 20 74 6f 0a 20 20 20 20 20 20 66 6f 72 20 74 68 65 20 63 75 72 72 65 6e 74 20 74 igned.to.......for.the.current.t
995e0 61 72 67 65 74 20 74 6f 20 6d 61 74 63 68 20 74 68 65 20 43 20 41 42 49 2e 20 57 68 65 6e 20 74 arget.to.match.the.C.ABI..When.t
99600 68 65 20 63 68 69 6c 64 20 74 79 70 65 20 6f 66 20 61 20 70 6f 69 6e 74 65 72 20 68 61 73 0a 20 he.child.type.of.a.pointer.has..
99620 20 20 20 20 20 74 68 69 73 20 61 6c 69 67 6e 6d 65 6e 74 2c 20 74 68 65 20 61 6c 69 67 6e 6d 65 .....this.alignment,.the.alignme
99640 6e 74 20 63 61 6e 20 62 65 20 6f 6d 69 74 74 65 64 20 66 72 6f 6d 20 74 68 65 20 74 79 70 65 2e nt.can.be.omitted.from.the.type.
99660 0a 20 20 20 20 20 20 3c 2f 70 3e 0a 20 20 20 20 20 20 3c 70 72 65 3e 3c 63 6f 64 65 3e 3c 73 70 .......</p>.......<pre><code><sp
99680 61 6e 20 63 6c 61 73 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
996a0 73 73 65 72 74 20 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 62 75 69 6c 74 69 6e ssert.=.<span.class="tok-builtin
996c0 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
996e0 6b 2d 73 74 72 22 3e 26 71 75 6f 74 3b 73 74 64 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 29 2e 64 k-str">&quot;std&quot;</span>).d
99700 65 62 75 67 2e 61 73 73 65 72 74 3b 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 ebug.assert;.<span.class="tok-kw
99720 22 3e 63 6f 6d 70 74 69 6d 65 3c 2f 73 70 61 6e 3e 20 7b 0a 20 20 20 20 61 73 73 65 72 74 28 2a ">comptime</span>.{.....assert(*
99740 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
99760 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 6e >.==.*<span.class="tok-kw">align
99780 3c 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
997a0 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 74 ">@alignOf</span>(<span.class="t
997c0 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 73 ok-type">u32</span>)).<span.clas
997e0 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 75 33 32 3c 2f 73 70 61 6e 3e 29 3b 0a 7d 3c 2f 63 6f 64 s="tok-type">u32</span>);.}</cod
99800 65 3e 3c 2f 70 72 65 3e 0a 20 20 20 20 20 20 3c 70 3e 0a 20 20 20 20 20 20 54 68 65 20 72 65 73 e></pre>.......<p>.......The.res
99820 75 6c 74 20 69 73 20 61 20 74 61 72 67 65 74 2d 73 70 65 63 69 66 69 63 20 63 6f 6d 70 69 6c 65 ult.is.a.target-specific.compile
99840 20 74 69 6d 65 20 63 6f 6e 73 74 61 6e 74 2e 20 49 74 20 69 73 20 67 75 61 72 61 6e 74 65 65 64 .time.constant..It.is.guaranteed
99860 20 74 6f 20 62 65 0a 20 20 20 20 20 20 6c 65 73 73 20 74 68 61 6e 20 6f 72 20 65 71 75 61 6c 20 .to.be.......less.than.or.equal.
99880 74 6f 20 3c 61 20 68 72 65 66 3d 22 23 73 69 7a 65 4f 66 22 3e 40 73 69 7a 65 4f 66 28 54 29 3c to.<a.href="#sizeOf">@sizeOf(T)<
998a0 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
998c0 6f 3a 3c 2f 70 3e 3c 75 6c 3e 0a 3c 6c 69 3e 3c 61 20 68 72 65 66 3d 22 23 41 6c 69 67 6e 6d 65 o:</p><ul>.<li><a.href="#Alignme
998e0 6e 74 22 3e 41 6c 69 67 6e 6d 65 6e 74 3c 2f 61 3e 3c 2f 6c 69 3e 0a 3c 2f 75 6c 3e 0a 0a 20 20 nt">Alignment</a></li>.</ul>....
99900 20 20 20 20 0a 0a 20 20 20 20 20 20 3c 68 33 20 69 64 3d 22 61 73 22 3e 3c 61 20 68 72 65 66 3d ............<h3.id="as"><a.href=
99920 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 63 6c "nav.xhtml#toc-as">@as</a>.<a.cl
99940 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 33 3e ass="hdr".href="#as">..</a></h3>
99960 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="
99980 74 6f 6b 2d 62 75 69 6c 74 69 6e 22 3e 40 61 73 3c 2f 73 70 61 6e 3e 28 3c 73 70 61 6e 20 63 6c tok-builtin">@as</span>(<span.cl
999a0 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:.
999c0 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
999e0 6e 3e 2c 20 65 78 70 72 65 73 73 69 6f 6e 29 20 54 3c 2f 63 6f 64 65 3e 3c 2f 70 72 65 3e 0a 20 n>,.expression).T</code></pre>..
99a00 20 20 20 20 20 3c 70 3e 0a 20 20 20 20 20 20 50 65 72 66 6f 72 6d 73 20 3c 61 20 68 72 65 66 3d .....<p>.......Performs.<a.href=
99a20 22 23 54 79 70 65 2d 43 6f 65 72 63 69 6f 6e 22 3e 54 79 70 65 20 43 6f 65 72 63 69 6f 6e 3c 2f "#Type-Coercion">Type.Coercion</
99a40 61 3e 2e 20 54 68 69 73 20 63 61 73 74 20 69 73 20 61 6c 6c 6f 77 65 64 20 77 68 65 6e 20 74 68 a>..This.cast.is.allowed.when.th
99a60 65 20 63 6f 6e 76 65 72 73 69 6f 6e 20 69 73 20 75 6e 61 6d 62 69 67 75 6f 75 73 20 61 6e 64 20 e.conversion.is.unambiguous.and.
99a80 73 61 66 65 2c 0a 20 20 20 20 20 20 61 6e 64 20 69 73 20 74 68 65 20 70 72 65 66 65 72 72 65 64 safe,.......and.is.the.preferred
99aa0 20 77 61 79 20 74 6f 20 63 6f 6e 76 65 72 74 20 62 65 74 77 65 65 6e 20 74 79 70 65 73 2c 20 77 .way.to.convert.between.types,.w
99ac0 68 65 6e 65 76 65 72 20 70 6f 73 73 69 62 6c 65 2e 0a 20 20 20 20 20 20 3c 2f 70 3e 0a 20 20 20 henever.possible........</p>....
99ae0 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 6f 61 64 22 3e 3c ...........<h3.id="atomicLoad"><
99b00 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 69 63 4c 6f 61 64 a.href="nav.xhtml#toc-atomicLoad
99b20 22 3e 40 61 74 6f 6d 69 63 4c 6f 61 64 3c 2f 61 3e 20 3c 61 20 63 6c 61 73 73 3d 22 68 64 72 22 ">@atomicLoad</a>.<a.class="hdr"
99b40 20 68 72 65 66 3d 22 23 61 74 6f 6d 69 63 4c 6f 61 64 22 3e c2 a7 3c 2f 61 3e 3c 2f 68 33 3e 0a .href="#atomicLoad">..</a></h3>.
99b60 0a 20 20 20 20 20 20 3c 70 72 65 3e 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 .......<pre><code><span.class="t
99b80 6f 6b 2d 62 75 69 6c 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 ok-builtin">@atomicLoad</span>(<
99ba0 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
99bc0 61 6e 3e 20 54 3a 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 74 79 an>.T:.<span.class="tok-type">ty
99be0 70 65 3c 2f 73 70 61 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 pe</span>,.ptr:.*<span.class="to
99c00 6b 2d 6b 77 22 3e 63 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 k-kw">const</span>.T,.<span.clas
99c20 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 72 s="tok-kw">comptime</span>.order
99c40 69 6e 67 3a 20 41 74 6f 6d 69 63 4f 72 64 65 72 29 20 54 3c 2f 63 6f 64 65 3e 3c 2f 70 72 65 3e ing:.AtomicOrder).T</code></pre>
99c60 0a 20 20 20 20 20 20 3c 70 3e 0a 20 20 20 20 20 20 54 68 69 73 20 62 75 69 6c 74 69 6e 20 66 75 .......<p>.......This.builtin.fu
99c80 6e 63 74 69 6f 6e 20 61 74 6f 6d 69 63 61 6c 6c 79 20 64 65 72 65 66 65 72 65 6e 63 65 73 20 61 nction.atomically.dereferences.a
99ca0 20 70 6f 69 6e 74 65 72 20 74 6f 20 61 20 3c 63 6f 64 65 3e 54 3c 2f 63 6f 64 65 3e 20 61 6e 64 .pointer.to.a.<code>T</code>.and
99cc0 20 72 65 74 75 72 6e 73 20 74 68 65 20 76 61 6c 75 65 2e 0a 20 20 20 20 20 20 3c 2f 70 3e 0a 20 .returns.the.value........</p>..
99ce0 20 20 20 20 20 3c 70 3e 0a 20 20 20 20 20 20 3c 63 6f 64 65 3e 54 3c 2f 63 6f 64 65 3e 20 6d 75 .....<p>.......<code>T</code>.mu
99d00 73 74 20 62 65 20 61 20 70 6f 69 6e 74 65 72 2c 20 61 20 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 st.be.a.pointer,.a.<code><span.c
99d20 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 62 6f 6f 6c 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 lass="tok-type">bool</span></cod
99d40 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 2c 20 61 e>,.a.float,.......an.integer,.a
99d60 6e 20 65 6e 75 6d 2c 20 6f 72 20 61 20 70 61 63 6b 65 64 20 73 74 72 75 63 74 2e 0a 20 20 20 20 n.enum,.or.a.packed.struct......
99d80 20 20 3c 2f 70 3e 0a 20 20 20 20 20 20 3c 70 3e 3c 63 6f 64 65 3e 41 74 6f 6d 69 63 4f 72 64 65 ..</p>.......<p><code>AtomicOrde
99da0 72 3c 2f 63 6f 64 65 3e 20 63 61 6e 20 62 65 20 66 6f 75 6e 64 20 77 69 74 68 20 3c 63 6f 64 65 r</code>.can.be.found.with.<code
99dc0 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
99de0 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">
99e00 26 71 75 6f 74 3b 73 74 64 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 29 2e 6c 61 6e 67 2e 41 74 6f &quot;std&quot;</span>).lang.Ato
99e20 6d 69 63 4f 72 64 65 72 3c 2f 63 6f 64 65 3e 2e 3c 2f 70 3e 0a 20 20 20 20 20 20 3c 70 3e 53 65 micOrder</code>.</p>.......<p>Se
99e40 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
99e60 6f 6d 69 63 53 74 6f 72 65 22 3e 40 61 74 6f 6d 69 63 53 74 6f 72 65 3c 2f 61 3e 3c 2f 6c 69 3e omicStore">@atomicStore</a></li>
99e80 0a 3c 6c 69 3e 3c 61 20 68 72 65 66 3d 22 23 61 74 6f 6d 69 63 52 6d 77 22 3e 40 61 74 6f 6d 69 .<li><a.href="#atomicRmw">@atomi
99ea0 63 52 6d 77 3c 2f 61 3e 3c 2f 6c 69 3e 0a 3c 6c 69 3e 3c 61 20 68 72 65 66 3d 22 23 63 6d 70 78 cRmw</a></li>.<li><a.href="#cmpx
99ec0 63 68 67 57 65 61 6b 22 3e 40 63 6d 70 78 63 68 67 57 65 61 6b 3c 2f 61 3e 3c 2f 6c 69 3e 0a 3c chgWeak">@cmpxchgWeak</a></li>.<
99ee0 6c 69 3e 3c 61 20 68 72 65 66 3d 22 23 63 6d 70 78 63 68 67 53 74 72 6f 6e 67 22 3e 40 63 6d 70 li><a.href="#cmpxchgStrong">@cmp
99f00 78 63 68 67 53 74 72 6f 6e 67 3c 2f 61 3e 3c 2f 6c 69 3e 0a 3c 2f 75 6c 3e 0a 0a 20 20 20 20 20 xchgStrong</a></li>.</ul>.......
99f20 20 0a 0a 20 20 20 20 20 20 3c 68 33 20 69 64 3d 22 61 74 6f 6d 69 63 52 6d 77 22 3e 3c 61 20 68 .........<h3.id="atomicRmw"><a.h
99f40 72 65 66 3d 22 6e 61 76 2e 78 68 74 6d 6c 23 74 6f 63 2d 61 74 6f 6d 69 63 52 6d 77 22 3e 40 61 ref="nav.xhtml#toc-atomicRmw">@a
99f60 74 6f 6d 69 63 52 6d 77 3c 2f 61 3e 20 3c 61 20 63 6c 61 73 73 3d 22 68 64 72 22 20 68 72 65 66 tomicRmw</a>.<a.class="hdr".href
99f80 3d 22 23 61 74 6f 6d 69 63 52 6d 77 22 3e c2 a7 3c 2f 61 3e 3c 2f 68 33 3e 0a 0a 20 20 20 20 20 ="#atomicRmw">..</a></h3>.......
99fa0 20 3c 70 72 65 3e 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 62 75 69 .<pre><code><span.class="tok-bui
99fc0 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
99fe0 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:.
9a000 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
9a020 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
9a040 22 3e 63 6f 6d 70 74 69 6d 65 3c 2f 73 70 61 6e 3e 20 6f 70 3a 20 41 74 6f 6d 69 63 52 6d 77 4f ">comptime</span>.op:.AtomicRmwO
9a060 70 2c 20 6f 70 65 72 61 6e 64 3a 20 54 2c 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d p,.operand:.T,.<span.class="tok-
9a080 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 41 74 kw">comptime</span>.ordering:.At
9a0a0 6f 6d 69 63 4f 72 64 65 72 29 20 54 3c 2f 63 6f 64 65 3e 3c 2f 70 72 65 3e 0a 20 20 20 20 20 20 omicOrder).T</code></pre>.......
9a0c0 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 74 69 6f 6e 20 <p>.......This.builtin.function.
9a0e0 64 65 72 65 66 65 72 65 6e 63 65 73 20 61 20 70 6f 69 6e 74 65 72 20 74 6f 20 61 20 3c 63 6f 64 dereferences.a.pointer.to.a.<cod
9a100 65 3e 54 3c 2f 63 6f 64 65 3e 20 61 6e 64 20 61 74 6f 6d 69 63 61 6c 6c 79 0a 20 20 20 20 20 20 e>T</code>.and.atomically.......
9a120 6d 6f 64 69 66 69 65 73 20 74 68 65 20 76 61 6c 75 65 20 61 6e 64 20 72 65 74 75 72 6e 73 20 74 modifies.the.value.and.returns.t
9a140 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 3e 0a 20 20 he.previous.value........</p>...
9a160 20 20 20 20 3c 70 3e 0a 20 20 20 20 20 20 3c 63 6f 64 65 3e 54 3c 2f 63 6f 64 65 3e 20 6d 75 73 ....<p>.......<code>T</code>.mus
9a180 74 20 62 65 20 61 20 70 6f 69 6e 74 65 72 2c 20 61 20 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c t.be.a.pointer,.a.<code><span.cl
9a1a0 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 62 6f 6f 6c 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 ass="tok-type">bool</span></code
9a1c0 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 2c 20 61 6e >,.a.float,.......an.integer,.an
9a1e0 20 65 6e 75 6d 2c 20 6f 72 20 61 20 70 61 63 6b 65 64 20 73 74 72 75 63 74 2e 0a 20 20 20 20 20 .enum,.or.a.packed.struct.......
9a200 20 3c 2f 70 3e 0a 20 20 20 20 20 20 3c 70 3e 3c 63 6f 64 65 3e 41 74 6f 6d 69 63 4f 72 64 65 72 .</p>.......<p><code>AtomicOrder
9a220 3c 2f 63 6f 64 65 3e 20 63 61 6e 20 62 65 20 66 6f 75 6e 64 20 77 69 74 68 20 3c 63 6f 64 65 3e </code>.can.be.found.with.<code>
9a240 3c 73 70 61 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
9a260 74 3c 2f 73 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">&
9a280 71 75 6f 74 3b 73 74 64 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 29 2e 6c 61 6e 67 2e 41 74 6f 6d quot;std&quot;</span>).lang.Atom
9a2a0 69 63 4f 72 64 65 72 3c 2f 63 6f 64 65 3e 2e 3c 2f 70 3e 0a 20 20 20 20 20 20 3c 70 3e 3c 63 6f icOrder</code>.</p>.......<p><co
9a2c0 64 65 3e 41 74 6f 6d 69 63 52 6d 77 4f 70 3c 2f 63 6f 64 65 3e 20 63 61 6e 20 62 65 20 66 6f 75 de>AtomicRmwOp</code>.can.be.fou
9a2e0 6e 64 20 77 69 74 68 20 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 62 nd.with.<code><span.class="tok-b
9a300 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
9a320 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
9a340 61 6e 3e 29 2e 6c 61 6e 67 2e 41 74 6f 6d 69 63 52 6d 77 4f 70 3c 2f 63 6f 64 65 3e 2e 3c 2f 70 an>).lang.AtomicRmwOp</code>.</p
9a360 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
9a380 3e 3c 61 20 68 72 65 66 3d 22 23 61 74 6f 6d 69 63 53 74 6f 72 65 22 3e 40 61 74 6f 6d 69 63 53 ><a.href="#atomicStore">@atomicS
9a3a0 74 6f 72 65 3c 2f 61 3e 3c 2f 6c 69 3e 0a 3c 6c 69 3e 3c 61 20 68 72 65 66 3d 22 23 61 74 6f 6d tore</a></li>.<li><a.href="#atom
9a3c0 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 6c 69 icLoad">@atomicLoad</a></li>.<li
9a3e0 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 67 ><a.href="#cmpxchgWeak">@cmpxchg
9a400 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 78 Weak</a></li>.<li><a.href="#cmpx
9a420 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 6c chgStrong">@cmpxchgStrong</a></l
9a440 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="
9a460 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 23 atomicStore"><a.href="nav.xhtml#
9a480 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 61 toc-atomicStore">@atomicStore</a
9a4a0 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 74 >.<a.class="hdr".href="#atomicSt
9a4c0 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 6f ore">..</a></h3>........<pre><co
9a4e0 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 62 75 69 6c 74 69 6e 22 3e 40 61 74 de><span.class="tok-builtin">@at
9a500 6f 6d 69 63 53 74 6f 72 65 3c 2f 73 70 61 6e 3e 28 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f omicStore</span>(<span.class="to
9a520 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
9a540 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
9a560 3a 20 2a 54 2c 20 76 61 6c 75 65 3a 20 54 2c 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b :.*T,.value:.T,.<span.class="tok
9a580 2d 6b 77 22 3e 63 6f 6d 70 74 69 6d 65 3c 2f 73 70 61 6e 3e 20 6f 72 64 65 72 69 6e 67 3a 20 41 -kw">comptime</span>.ordering:.A
9a5a0 74 6f 6d 69 63 4f 72 64 65 72 29 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 tomicOrder).<span.class="tok-typ
9a5c0 65 22 3e 76 6f 69 64 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 3c 2f 70 72 65 3e 0a 20 20 20 20 e">void</span></code></pre>.....
9a5e0 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 74 69 6f ..<p>.......This.builtin.functio
9a600 6e 20 64 65 72 65 66 65 72 65 6e 63 65 73 20 61 20 70 6f 69 6e 74 65 72 20 74 6f 20 61 20 3c 63 n.dereferences.a.pointer.to.a.<c
9a620 6f 64 65 3e 54 3c 2f 63 6f 64 65 3e 20 61 6e 64 20 61 74 6f 6d 69 63 61 6c 6c 79 20 73 74 6f 72 ode>T</code>.and.atomically.stor
9a640 65 73 20 74 68 65 20 67 69 76 65 6e 20 76 61 6c 75 65 2e 0a 20 20 20 20 20 20 3c 2f 70 3e 0a 20 es.the.given.value........</p>..
9a660 20 20 20 20 20 3c 70 3e 0a 20 20 20 20 20 20 3c 63 6f 64 65 3e 54 3c 2f 63 6f 64 65 3e 20 6d 75 .....<p>.......<code>T</code>.mu
9a680 73 74 20 62 65 20 61 20 70 6f 69 6e 74 65 72 2c 20 61 20 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 st.be.a.pointer,.a.<code><span.c
9a6a0 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 62 6f 6f 6c 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 lass="tok-type">bool</span></cod
9a6c0 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 2c 20 61 e>,.a.float,.......an.integer,.a
9a6e0 6e 20 65 6e 75 6d 2c 20 6f 72 20 61 20 70 61 63 6b 65 64 20 73 74 72 75 63 74 2e 0a 20 20 20 20 n.enum,.or.a.packed.struct......
9a700 20 20 3c 2f 70 3e 0a 20 20 20 20 20 20 3c 70 3e 3c 63 6f 64 65 3e 41 74 6f 6d 69 63 4f 72 64 65 ..</p>.......<p><code>AtomicOrde
9a720 72 3c 2f 63 6f 64 65 3e 20 63 61 6e 20 62 65 20 66 6f 75 6e 64 20 77 69 74 68 20 3c 63 6f 64 65 r</code>.can.be.found.with.<code
9a740 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
9a760 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">
9a780 26 71 75 6f 74 3b 73 74 64 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 29 2e 6c 61 6e 67 2e 41 74 6f &quot;std&quot;</span>).lang.Ato
9a7a0 6d 69 63 4f 72 64 65 72 3c 2f 63 6f 64 65 3e 2e 3c 2f 70 3e 0a 20 20 20 20 20 20 3c 70 3e 53 65 micOrder</code>.</p>.......<p>Se
9a7c0 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
9a7e0 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>.<
9a800 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
9a820 6d 77 3c 2f 61 3e 3c 2f 6c 69 3e 0a 3c 6c 69 3e 3c 61 20 68 72 65 66 3d 22 23 63 6d 70 78 63 68 mw</a></li>.<li><a.href="#cmpxch
9a840 67 57 65 61 6b 22 3e 40 63 6d 70 78 63 68 67 57 65 61 6b 3c 2f 61 3e 3c 2f 6c 69 3e 0a 3c 6c 69 gWeak">@cmpxchgWeak</a></li>.<li
9a860 3e 3c 61 20 68 72 65 66 3d 22 23 63 6d 70 78 63 68 67 53 74 72 6f 6e 67 22 3e 40 63 6d 70 78 63 ><a.href="#cmpxchgStrong">@cmpxc
9a880 68 67 53 74 72 6f 6e 67 3c 2f 61 3e 3c 2f 6c 69 3e 0a 3c 2f 75 6c 3e 0a 0a 20 20 20 20 20 20 0a hgStrong</a></li>.</ul>.........
9a8a0 0a 20 20 20 20 20 20 3c 68 33 20 69 64 3d 22 62 69 74 43 61 73 74 22 3e 3c 61 20 68 72 65 66 3d .......<h3.id="bitCast"><a.href=
9a8c0 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 74 43 61 73 74 "nav.xhtml#toc-bitCast">@bitCast
9a8e0 3c 2f 61 3e 20 3c 61 20 63 6c 61 73 73 3d 22 68 64 72 22 20 68 72 65 66 3d 22 23 62 69 74 43 61 </a>.<a.class="hdr".href="#bitCa
9a900 73 74 22 3e c2 a7 3c 2f 61 3e 3c 2f 68 33 3e 0a 0a 20 20 20 20 20 20 3c 70 72 65 3e 3c 63 6f 64 st">..</a></h3>........<pre><cod
9a920 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 62 75 69 6c 74 69 6e 22 3e 40 62 69 74 e><span.class="tok-builtin">@bit
9a940 43 61 73 74 3c 2f 73 70 61 6e 3e 28 76 61 6c 75 65 3a 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 Cast</span>(value:.<span.class="
9a960 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
9a980 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 61 6e 79 74 79 70 65 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 ass="tok-kw">anytype</span></cod
9a9a0 65 3e 3c 2f 70 72 65 3e 0a 20 20 20 20 20 20 3c 70 3e 0a 20 20 20 20 20 20 43 6f 6e 76 65 72 74 e></pre>.......<p>.......Convert
9a9c0 73 20 61 20 76 61 6c 75 65 20 6f 66 20 6f 6e 65 20 74 79 70 65 20 74 6f 20 61 6e 6f 74 68 65 72 s.a.value.of.one.type.to.another
9a9e0 20 74 79 70 65 2e 20 54 68 65 20 72 65 74 75 72 6e 20 74 79 70 65 20 69 73 20 74 68 65 0a 09 09 .type..The.return.type.is.the...
9aa00 09 69 6e 66 65 72 72 65 64 20 72 65 73 75 6c 74 20 74 79 70 65 2e 0a 20 20 20 20 20 20 3c 2f 70 .inferred.result.type........</p
9aa20 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 20 74 68 61 74 20 3c >.......<p>.......Asserts.that.<
9aa40 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 62 75 69 6c 74 69 6e 22 3e 40 code><span.class="tok-builtin">@
9aa60 73 69 7a 65 4f 66 3c 2f 73 70 61 6e 3e 28 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 62 sizeOf</span>(<span.class="tok-b
9aa80 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 29 20 3d uiltin">@TypeOf</span>(value)).=
9aaa0 3d 20 3c 73 70 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 =.<span.class="tok-builtin">@siz
9aac0 65 4f 66 3c 2f 73 70 61 6e 3e 28 44 65 73 74 54 79 70 65 29 3c 2f 63 6f 64 65 3e 2e 0a 20 20 20 eOf</span>(DestType)</code>.....
9aae0 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 20 ...</p>.......<p>.......Asserts.
9ab00 74 68 61 74 20 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 62 75 69 6c that.<code><span.class="tok-buil
9ab20 74 69 6e 22 3e 40 74 79 70 65 49 6e 66 6f 3c 2f 73 70 61 6e 3e 28 44 65 73 74 54 79 70 65 29 20 tin">@typeInfo</span>(DestType).
9ab40 21 3d 20 2e 70 6f 69 6e 74 65 72 3c 2f 63 6f 64 65 3e 2e 20 55 73 65 20 3c 63 6f 64 65 3e 3c 73 !=..pointer</code>..Use.<code><s
9ab60 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 62 75 69 6c 74 69 6e 22 3e 40 70 74 72 43 61 73 74 pan.class="tok-builtin">@ptrCast
9ab80 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
9aba0 61 73 73 3d 22 74 6f 6b 2d 62 75 69 6c 74 69 6e 22 3e 40 70 74 72 46 72 6f 6d 49 6e 74 3c 2f 73 ass="tok-builtin">@ptrFromInt</s
9abc0 70 61 6e 3e 3c 2f 63 6f 64 65 3e 20 69 66 20 79 6f 75 20 6e 65 65 64 20 74 68 69 73 2e 0a 20 20 pan></code>.if.you.need.this....
9abe0 20 20 20 20 3c 2f 70 3e 0a 20 20 20 20 20 20 3c 70 3e 0a 20 20 20 20 20 20 43 61 6e 20 62 65 20 ....</p>.......<p>.......Can.be.
9ac00 75 73 65 64 20 66 6f 72 20 74 68 65 73 65 20 74 68 69 6e 67 73 20 66 6f 72 20 65 78 61 6d 70 6c used.for.these.things.for.exampl
9ac20 65 3a 0a 20 20 20 20 20 20 3c 2f 70 3e 0a 20 20 20 20 20 20 3c 75 6c 3e 0a 20 20 20 20 20 20 20 e:.......</p>.......<ul>........
9ac40 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 73 73 ...<li>Convert.<code><span.class
9ac60 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 66 33 32 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 20 74 6f ="tok-type">f32</span></code>.to
9ac80 20 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 75 33 .<code><span.class="tok-type">u3
9aca0 32 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 20 2</span></code>.bits</li>.......
9acc0 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 73 ....<li>Convert.<code><span.clas
9ace0 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 69 33 32 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 20 74 s="tok-type">i32</span></code>.t
9ad00 6f 20 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 75 o.<code><span.class="tok-type">u
9ad20 33 32 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 20 70 72 65 73 65 72 76 69 6e 67 20 74 77 6f 73 32</span></code>.preserving.twos
9ad40 20 63 6f 6d 70 6c 65 6d 65 6e 74 3c 2f 6c 69 3e 0a 20 20 20 20 20 20 3c 2f 75 6c 3e 0a 20 20 20 .complement</li>.......</ul>....
9ad60 20 20 20 3c 70 3e 0a 20 20 20 20 20 20 57 6f 72 6b 73 20 61 74 20 63 6f 6d 70 69 6c 65 2d 74 69 ...<p>.......Works.at.compile-ti
9ad80 6d 65 20 69 66 20 3c 63 6f 64 65 3e 76 61 6c 75 65 3c 2f 63 6f 64 65 3e 20 69 73 20 6b 6e 6f 77 me.if.<code>value</code>.is.know
9ada0 6e 20 61 74 20 63 6f 6d 70 69 6c 65 20 74 69 6d 65 2e 20 49 74 27 73 20 61 20 63 6f 6d 70 69 6c n.at.compile.time..It's.a.compil
9adc0 65 20 65 72 72 6f 72 20 74 6f 20 62 69 74 63 61 73 74 20 61 20 76 61 6c 75 65 20 6f 66 20 75 6e e.error.to.bitcast.a.value.of.un
9ade0 64 65 66 69 6e 65 64 20 6c 61 79 6f 75 74 3b 20 74 68 69 73 20 6d 65 61 6e 73 20 74 68 61 74 2c defined.layout;.this.means.that,
9ae00 20 62 65 73 69 64 65 73 20 74 68 65 20 72 65 73 74 72 69 63 74 69 6f 6e 20 66 72 6f 6d 20 74 79 .besides.the.restriction.from.ty
9ae20 70 65 73 20 77 68 69 63 68 20 70 6f 73 73 65 73 73 20 64 65 64 69 63 61 74 65 64 20 63 61 73 74 pes.which.possess.dedicated.cast
9ae40 69 6e 67 20 62 75 69 6c 74 69 6e 73 20 28 65 6e 75 6d 73 2c 20 70 6f 69 6e 74 65 72 73 2c 20 65 ing.builtins.(enums,.pointers,.e
9ae60 72 72 6f 72 20 73 65 74 73 29 2c 20 62 61 72 65 20 73 74 72 75 63 74 73 2c 20 65 72 72 6f 72 20 rror.sets),.bare.structs,.error.
9ae80 75 6e 69 6f 6e 73 2c 20 73 6c 69 63 65 73 2c 20 6f 70 74 69 6f 6e 61 6c 73 2c 20 61 6e 64 20 61 unions,.slices,.optionals,.and.a
9aea0 6e 79 20 6f 74 68 65 72 20 74 79 70 65 20 77 69 74 68 6f 75 74 20 61 20 77 65 6c 6c 2d 64 65 66 ny.other.type.without.a.well-def
9aec0 69 6e 65 64 20 6d 65 6d 6f 72 79 20 6c 61 79 6f 75 74 2c 20 61 6c 73 6f 20 63 61 6e 6e 6f 74 20 ined.memory.layout,.also.cannot.
9aee0 62 65 20 75 73 65 64 20 69 6e 20 74 68 69 73 20 6f 70 65 72 61 74 69 6f 6e 2e 0a 20 20 20 20 20 be.used.in.this.operation.......
9af00 20 3c 2f 70 3e 0a 20 20 20 20 20 20 0a 0a 20 20 20 20 20 20 3c 68 33 20 69 64 3d 22 62 69 74 4f .</p>...............<h3.id="bitO
9af20 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 74 6f 63 2d ffsetOf"><a.href="nav.xhtml#toc-
9af40 62 69 74 4f 66 66 73 65 74 4f 66 22 3e 40 62 69 74 4f 66 66 73 65 74 4f 66 3c 2f 61 3e 20 3c 61 bitOffsetOf">@bitOffsetOf</a>.<a
9af60 20 63 6c 61 73 73 3d 22 68 64 72 22 20 68 72 65 66 3d 22 23 62 69 74 4f 66 66 73 65 74 4f 66 22 .class="hdr".href="#bitOffsetOf"
9af80 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><
9afa0 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 62 75 69 6c 74 69 6e 22 3e 40 62 69 74 4f 66 66 span.class="tok-builtin">@bitOff
9afc0 73 65 74 4f 66 3c 2f 73 70 61 6e 3e 28 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 setOf</span>(<span.class="tok-kw
9afe0 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
9b000 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
9b020 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
9b040 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"
9b060 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
9b080 79 70 65 22 3e 75 38 3c 2f 73 70 61 6e 3e 29 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b ype">u8</span>).<span.class="tok
9b0a0 2d 74 79 70 65 22 3e 63 6f 6d 70 74 69 6d 65 5f 69 6e 74 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 -type">comptime_int</span></code
9b0c0 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.
9b0e0 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
9b100 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.....
9b120 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.
9b140 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.
9b160 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
9b180 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=
9b1a0 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 38 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 2e 0a 20 20 "tok-number">8</span></code>....
9b1c0 20 20 20 20 46 6f 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 ....For.packed.structs,.non-byte
9b1e0 2d 61 6c 69 67 6e 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 -aligned.fields.will.share.a.byt
9b200 65 20 6f 66 66 73 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 e.offset,.but.they.will.have.dif
9b220 66 65 72 65 6e 74 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 ferent.......bit.offsets........
9b240 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>.
9b260 3c 6c 69 3e 3c 61 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 <li><a.href="#offsetOf">@offsetO
9b280 66 3c 2f 61 3e 3c 2f 6c 69 3e 0a 3c 2f 75 6c 3e 0a 0a 20 20 20 20 20 20 0a 0a 20 20 20 20 20 20 f</a></li>.</ul>................
9b2a0 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 66 3d 22 6e 61 76 2e <h3.id="bitSizeOf"><a.href="nav.
9b2c0 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 53 69 7a 65 4f 66 3c xhtml#toc-bitSizeOf">@bitSizeOf<
9b2e0 2f 61 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 53 69 7a /a>.<a.class="hdr".href="#bitSiz
9b300 65 4f 66 22 3e c2 a7 3c 2f 61 3e 3c 2f 68 33 3e 0a 0a 20 20 20 20 20 20 3c 70 72 65 3e 3c 63 6f eOf">..</a></h3>........<pre><co
9b320 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 62 75 69 6c 74 69 6e 22 3e 40 62 69 de><span.class="tok-builtin">@bi
9b340 74 53 69 7a 65 4f 66 3c 2f 73 70 61 6e 3e 28 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d tSizeOf</span>(<span.class="tok-
9b360 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
9b380 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 74 79 70 65 3c 2f 73 70 61 6e 3e 29 20 3c 73 70 61 6e ss="tok-type">type</span>).<span
9b3a0 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</
9b3c0 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>....
9b3e0 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 6d ...This.function.returns.the.num
9b400 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 63 ber.of.bits.it.takes.to.store.<c
9b420 6f 64 65 3e 54 3c 2f 63 6f 64 65 3e 20 69 6e 20 6d 65 6d 6f 72 79 20 69 66 20 74 68 65 20 74 79 ode>T</code>.in.memory.if.the.ty
9b440 70 65 0a 20 20 20 20 20 20 77 65 72 65 20 61 20 66 69 65 6c 64 20 69 6e 20 61 20 70 61 63 6b 65 pe.......were.a.field.in.a.packe
9b460 64 20 73 74 72 75 63 74 2f 75 6e 69 6f 6e 2e 0a 20 20 20 20 20 20 54 68 65 20 72 65 73 75 6c 74 d.struct/union........The.result
9b480 20 69 73 20 61 20 74 61 72 67 65 74 2d 73 70 65 63 69 66 69 63 20 63 6f 6d 70 69 6c 65 20 74 69 .is.a.target-specific.compile.ti
9b4a0 6d 65 20 63 6f 6e 73 74 61 6e 74 2e 0a 20 20 20 20 20 20 3c 2f 70 3e 0a 20 20 20 20 20 20 3c 70 me.constant........</p>.......<p
9b4c0 3e 0a 20 20 20 20 20 20 54 68 69 73 20 66 75 6e 63 74 69 6f 6e 20 6d 65 61 73 75 72 65 73 20 74 >.......This.function.measures.t
9b4e0 68 65 20 73 69 7a 65 20 61 74 20 72 75 6e 74 69 6d 65 2e 20 46 6f 72 20 74 79 70 65 73 20 74 68 he.size.at.runtime..For.types.th
9b500 61 74 20 61 72 65 20 64 69 73 61 6c 6c 6f 77 65 64 20 61 74 20 72 75 6e 74 69 6d 65 2c 20 73 75 at.are.disallowed.at.runtime,.su
9b520 63 68 20 61 73 0a 20 20 20 20 20 20 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 ch.as.......<code><span.class="t
9b540 6f 6b 2d 74 79 70 65 22 3e 63 6f 6d 70 74 69 6d 65 5f 69 6e 74 3c 2f 73 70 61 6e 3e 3c 2f 63 6f ok-type">comptime_int</span></co
9b560 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 74 6f 6b 2d 74 de>.and.<code><span.class="tok-t
9b580 79 70 65 22 3e 74 79 70 65 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 2c 20 74 68 65 20 72 65 73 ype">type</span></code>,.the.res
9b5a0 75 6c 74 20 69 73 20 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 ult.is.<code><span.class="tok-nu
9b5c0 6d 62 65 72 22 3e 30 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 2e 0a 20 20 20 20 20 20 3c 2f 70 mber">0</span></code>........</p
9b5e0 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
9b600 3e 3c 61 20 68 72 65 66 3d 22 23 73 69 7a 65 4f 66 22 3e 40 73 69 7a 65 4f 66 3c 2f 61 3e 3c 2f ><a.href="#sizeOf">@sizeOf</a></
9b620 6c 69 3e 0a 3c 6c 69 3e 3c 61 20 68 72 65 66 3d 22 23 74 79 70 65 49 6e 66 6f 22 3e 40 74 79 70 li>.<li><a.href="#typeInfo">@typ
9b640 65 49 6e 66 6f 3c 2f 61 3e 3c 2f 6c 69 3e 0a 3c 2f 75 6c 3e 0a 0a 20 20 20 20 20 20 0a 0a 20 20 eInfo</a></li>.</ul>............
9b660 20 20 20 20 3c 68 33 20 69 64 3d 22 62 72 61 6e 63 68 48 69 6e 74 22 3e 3c 61 20 68 72 65 66 3d ....<h3.id="branchHint"><a.href=
9b680 22 6e 61 76 2e 78 68 74 6d 6c 23 74 6f 63 2d 62 72 61 6e 63 68 48 69 6e 74 22 3e 40 62 72 61 6e "nav.xhtml#toc-branchHint">@bran
9b6a0 63 68 48 69 6e 74 3c 2f 61 3e 20 3c 61 20 63 6c 61 73 73 3d 22 68 64 72 22 20 68 72 65 66 3d 22 chHint</a>.<a.class="hdr".href="
9b6c0 23 62 72 61 6e 63 68 48 69 6e 74 22 3e c2 a7 3c 2f 61 3e 3c 2f 68 33 3e 0a 0a 20 20 20 20 20 20 #branchHint">..</a></h3>........
9b6e0 3c 70 72 65 3e 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 62 75 69 6c <pre><code><span.class="tok-buil
9b700 74 69 6e 22 3e 40 62 72 61 6e 63 68 48 69 6e 74 3c 2f 73 70 61 6e 3e 28 68 69 6e 74 3a 20 42 72 tin">@branchHint</span>(hint:.Br
9b720 61 6e 63 68 48 69 6e 74 29 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 anchHint).<span.class="tok-type"
9b740 3e 76 6f 69 64 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 3c 2f 70 72 65 3e 0a 20 20 20 20 20 20 >void</span></code></pre>.......
9b760 3c 70 3e 48 69 6e 74 73 20 74 6f 20 74 68 65 20 6f 70 74 69 6d 69 7a 65 72 20 68 6f 77 20 6c 69 <p>Hints.to.the.optimizer.how.li
9b780 6b 65 6c 79 20 61 20 67 69 76 65 6e 20 62 72 61 6e 63 68 20 6f 66 20 63 6f 6e 74 72 6f 6c 20 66 kely.a.given.branch.of.control.f
9b7a0 6c 6f 77 20 69 73 20 74 6f 20 62 65 20 72 65 61 63 68 65 64 2e 3c 2f 70 3e 0a 20 20 20 20 20 20 low.is.to.be.reached.</p>.......
9b7c0 3c 70 3e 3c 63 6f 64 65 3e 42 72 61 6e 63 68 48 69 6e 74 3c 2f 63 6f 64 65 3e 20 63 61 6e 20 62 <p><code>BranchHint</code>.can.b
9b7e0 65 20 66 6f 75 6e 64 20 77 69 74 68 20 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 e.found.with.<code><span.class="
9b800 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
9b820 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
9b840 3b 3c 2f 73 70 61 6e 3e 29 2e 6c 61 6e 67 2e 42 72 61 6e 63 68 48 69 6e 74 3c 2f 63 6f 64 65 3e ;</span>).lang.BranchHint</code>
9b860 2e 3c 2f 70 3e 0a 20 20 20 20 20 20 3c 70 3e 54 68 69 73 20 66 75 6e 63 74 69 6f 6e 20 69 73 20 .</p>.......<p>This.function.is.
9b880 6f 6e 6c 79 20 76 61 6c 69 64 20 61 73 20 74 68 65 20 66 69 72 73 74 20 73 74 61 74 65 6d 65 6e only.valid.as.the.first.statemen
9b8a0 74 20 69 6e 20 61 20 63 6f 6e 74 72 6f 6c 20 66 6c 6f 77 20 62 72 61 6e 63 68 2c 20 6f 72 20 74 t.in.a.control.flow.branch,.or.t
9b8c0 68 65 20 66 69 72 73 74 20 73 74 61 74 65 6d 65 6e 74 20 69 6e 20 61 20 66 75 6e 63 74 69 6f 6e he.first.statement.in.a.function
9b8e0 2e 3c 2f 70 3e 0a 20 20 20 20 20 20 0a 0a 20 20 20 20 20 20 3c 68 33 20 69 64 3d 22 62 72 65 61 .</p>...............<h3.id="brea
9b900 6b 70 6f 69 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 62 kpoint"><a.href="nav.xhtml#toc-b
9b920 72 65 61 6b 70 6f 69 6e 74 22 3e 40 62 72 65 61 6b 70 6f 69 6e 74 3c 2f 61 3e 20 3c 61 20 63 6c reakpoint">@breakpoint</a>.<a.cl
9b940 61 73 73 3d 22 68 64 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 ass="hdr".href="#breakpoint">..<
9b960 2f 61 3e 3c 2f 68 33 3e 0a 0a 20 20 20 20 20 20 3c 70 72 65 3e 3c 63 6f 64 65 3e 3c 73 70 61 6e /a></h3>........<pre><code><span
9b980 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 62 75 69 6c 74 69 6e 22 3e 40 62 72 65 61 6b 70 6f 69 6e 74 .class="tok-builtin">@breakpoint
9b9a0 3c 2f 73 70 61 6e 3e 28 29 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 </span>().<span.class="tok-type"
9b9c0 3e 76 6f 69 64 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 3c 2f 70 72 65 3e 0a 20 20 20 20 20 20 >void</span></code></pre>.......
9b9e0 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 73 65 72 74 73 20 <p>.......This.function.inserts.
9ba00 61 20 70 6c 61 74 66 6f 72 6d 2d 73 70 65 63 69 66 69 63 20 64 65 62 75 67 20 74 72 61 70 20 69 a.platform-specific.debug.trap.i
9ba20 6e 73 74 72 75 63 74 69 6f 6e 20 77 68 69 63 68 20 63 61 75 73 65 73 0a 20 20 20 20 20 20 64 65 nstruction.which.causes.......de
9ba40 62 75 67 67 65 72 73 20 74 6f 20 62 72 65 61 6b 20 74 68 65 72 65 2e 0a 20 20 20 20 20 20 55 6e buggers.to.break.there........Un
9ba60 6c 69 6b 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 74 6f 6b 2d like.for.<code><span.class="tok-
9ba80 62 75 69 6c 74 69 6e 22 3e 40 74 72 61 70 3c 2f 73 70 61 6e 3e 28 29 3c 2f 63 6f 64 65 3e 2c 20 builtin">@trap</span>()</code>,.
9baa0 65 78 65 63 75 74 69 6f 6e 20 6d 61 79 20 63 6f 6e 74 69 6e 75 65 20 61 66 74 65 72 20 74 68 69 execution.may.continue.after.thi
9bac0 73 20 70 6f 69 6e 74 20 69 66 20 74 68 65 20 70 72 6f 67 72 61 6d 20 69 73 20 72 65 73 75 6d 65 s.point.if.the.program.is.resume
9bae0 64 2e 0a 20 20 20 20 20 20 3c 2f 70 3e 0a 20 20 20 20 20 20 3c 70 3e 0a 20 20 20 20 20 20 54 68 d........</p>.......<p>.......Th
9bb00 69 73 20 66 75 6e 63 74 69 6f 6e 20 69 73 20 6f 6e 6c 79 20 76 61 6c 69 64 20 77 69 74 68 69 6e is.function.is.only.valid.within
9bb20 20 66 75 6e 63 74 69 6f 6e 20 73 63 6f 70 65 2e 0a 20 20 20 20 20 20 3c 2f 70 3e 0a 20 20 20 20 .function.scope........</p>.....
9bb40 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
9bb60 65 66 3d 22 23 74 72 61 70 22 3e 40 74 72 61 70 3c 2f 61 3e 3c 2f 6c 69 3e 0a 3c 2f 75 6c 3e 0a ef="#trap">@trap</a></li>.</ul>.
9bb80 0a 20 20 20 20 20 20 0a 0a 20 20 20 20 20 20 3c 68 33 20 69 64 3d 22 6d 75 6c 41 64 64 22 3e 3c ...............<h3.id="mulAdd"><
9bba0 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
9bbc0 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="#
9bbe0 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>
9bc00 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 62 75 69 6c 74 69 6e 22 3e <code><span.class="tok-builtin">
9bc20 40 6d 75 6c 41 64 64 3c 2f 73 70 61 6e 3e 28 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d @mulAdd</span>(<span.class="tok-
9bc40 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
9bc60 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 74 79 70 65 3c 2f 73 70 61 6e 3e 2c 20 61 3a 20 54 2c ss="tok-type">type</span>,.a:.T,
9bc80 20 62 3a 20 54 2c 20 63 3a 20 54 29 20 54 3c 2f 63 6f 64 65 3e 3c 2f 70 72 65 3e 0a 20 20 20 20 .b:.T,.c:.T).T</code></pre>.....
9bca0 20 20 3c 70 3e 0a 20 20 20 20 20 20 46 75 73 65 64 20 6d 75 6c 74 69 70 6c 79 2d 61 64 64 2c 20 ..<p>.......Fused.multiply-add,.
9bcc0 73 69 6d 69 6c 61 72 20 74 6f 20 3c 63 6f 64 65 3e 28 61 20 2a 20 62 29 20 2b 20 63 3c 2f 63 6f similar.to.<code>(a.*.b).+.c</co
9bce0 64 65 3e 2c 20 65 78 63 65 70 74 0a 20 20 20 20 20 20 6f 6e 6c 79 20 72 6f 75 6e 64 73 20 6f 6e de>,.except.......only.rounds.on
9bd00 63 65 2c 20 61 6e 64 20 69 73 20 74 68 75 73 20 6d 6f 72 65 20 61 63 63 75 72 61 74 65 2e 0a 20 ce,.and.is.thus.more.accurate...
9bd20 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
9bd40 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>.
9bd60 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</
9bd80 61 3e 20 6f 66 20 66 6c 6f 61 74 73 2e 0a 20 20 20 20 20 20 3c 2f 70 3e 0a 20 20 20 20 20 20 0a a>.of.floats........</p>........
9bda0 0a 20 20 20 20 20 20 3c 68 33 20 69 64 3d 22 62 79 74 65 53 77 61 70 22 3e 3c 61 20 68 72 65 66 .......<h3.id="byteSwap"><a.href
9bdc0 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 3e 40 62 79 74 65 53 ="nav.xhtml#toc-byteSwap">@byteS
9bde0 77 61 70 3c 2f 61 3e 20 3c 61 20 63 6c 61 73 73 3d 22 68 64 72 22 20 68 72 65 66 3d 22 23 62 79 wap</a>.<a.class="hdr".href="#by
9be00 74 65 53 77 61 70 22 3e c2 a7 3c 2f 61 3e 3c 2f 68 33 3e 0a 0a 20 20 20 20 20 20 3c 70 72 65 3e teSwap">..</a></h3>........<pre>
9be20 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 62 75 69 6c 74 69 6e 22 3e <code><span.class="tok-builtin">
9be40 40 62 79 74 65 53 77 61 70 3c 2f 73 70 61 6e 3e 28 6f 70 65 72 61 6e 64 3a 20 3c 73 70 61 6e 20 @byteSwap</span>(operand:.<span.
9be60 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 54 class="tok-kw">anytype</span>).T
9be80 3c 2f 63 6f 64 65 3e 3c 2f 70 72 65 3e 0a 20 20 20 20 20 20 3c 70 3e 3c 63 6f 64 65 3e 3c 73 70 </code></pre>.......<p><code><sp
9bea0 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</
9bec0 73 70 61 6e 3e 28 6f 70 65 72 61 6e 64 29 3c 2f 63 6f 64 65 3e 20 6d 75 73 74 20 62 65 20 61 6e span>(operand)</code>.must.be.an
9bee0 20 69 6e 74 65 67 65 72 20 74 79 70 65 20 6f 72 20 61 6e 20 69 6e 74 65 67 65 72 20 76 65 63 74 .integer.type.or.an.integer.vect
9bf00 6f 72 20 74 79 70 65 20 77 69 74 68 20 62 69 74 20 63 6f 75 6e 74 20 65 76 65 6e 6c 79 20 64 69 or.type.with.bit.count.evenly.di
9bf20 76 69 73 69 62 6c 65 20 62 79 20 38 2e 3c 2f 70 3e 0a 20 20 20 20 20 20 3c 70 3e 3c 63 6f 64 65 visible.by.8.</p>.......<p><code
9bf40 3e 6f 70 65 72 61 6e 64 3c 2f 63 6f 64 65 3e 20 6d 61 79 20 62 65 20 61 6e 20 3c 61 20 68 72 65 >operand</code>.may.be.an.<a.hre
9bf60 66 3d 22 23 49 6e 74 65 67 65 72 73 22 3e 69 6e 74 65 67 65 72 3c 2f 61 3e 20 6f 72 20 3c 61 20 f="#Integers">integer</a>.or.<a.
9bf80 68 72 65 66 3d 22 23 56 65 63 74 6f 72 73 22 3e 76 65 63 74 6f 72 3c 2f 61 3e 2e 3c 2f 70 3e 0a href="#Vectors">vector</a>.</p>.
9bfa0 20 20 20 20 20 20 3c 70 3e 0a 20 20 20 20 20 20 53 77 61 70 73 20 74 68 65 20 62 79 74 65 20 6f ......<p>.......Swaps.the.byte.o
9bfc0 72 64 65 72 20 6f 66 20 74 68 65 20 69 6e 74 65 67 65 72 2e 20 54 68 69 73 20 63 6f 6e 76 65 72 rder.of.the.integer..This.conver
9bfe0 74 73 20 61 20 62 69 67 20 65 6e 64 69 61 6e 20 69 6e 74 65 67 65 72 20 74 6f 20 61 20 6c 69 74 ts.a.big.endian.integer.to.a.lit
9c000 74 6c 65 20 65 6e 64 69 61 6e 20 69 6e 74 65 67 65 72 2c 0a 20 20 20 20 20 20 61 6e 64 20 63 6f tle.endian.integer,.......and.co
9c020 6e 76 65 72 74 73 20 61 20 6c 69 74 74 6c 65 20 65 6e 64 69 61 6e 20 69 6e 74 65 67 65 72 20 74 nverts.a.little.endian.integer.t
9c040 6f 20 61 20 62 69 67 20 65 6e 64 69 61 6e 20 69 6e 74 65 67 65 72 2e 0a 20 20 20 20 20 20 3c 2f o.a.big.endian.integer........</
9c060 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 66 6f 72 p>.......<p>.......Note.that.for
9c080 20 74 68 65 20 70 75 72 70 6f 73 65 73 20 6f 66 20 6d 65 6d 6f 72 79 20 6c 61 79 6f 75 74 20 77 .the.purposes.of.memory.layout.w
9c0a0 69 74 68 20 72 65 73 70 65 63 74 20 74 6f 20 65 6e 64 69 61 6e 6e 65 73 73 2c 20 74 68 65 20 69 ith.respect.to.endianness,.the.i
9c0c0 6e 74 65 67 65 72 20 74 79 70 65 20 73 68 6f 75 6c 64 20 62 65 0a 20 20 20 20 20 20 72 65 6c 61 nteger.type.should.be.......rela
9c0e0 74 65 64 20 74 6f 20 74 68 65 20 6e 75 6d 62 65 72 20 6f 66 20 62 79 74 65 73 20 72 65 70 6f 72 ted.to.the.number.of.bytes.repor
9c100 74 65 64 20 62 79 20 3c 61 20 68 72 65 66 3d 22 23 73 69 7a 65 4f 66 22 3e 40 73 69 7a 65 4f 66 ted.by.<a.href="#sizeOf">@sizeOf
9c120 3c 2f 61 3e 20 62 79 74 65 73 2e 20 54 68 69 73 20 69 73 20 64 65 6d 6f 6e 73 74 72 61 74 65 64 </a>.bytes..This.is.demonstrated
9c140 20 77 69 74 68 0a 20 20 20 20 20 20 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 .with.......<code><span.class="t
9c160 6f 6b 2d 74 79 70 65 22 3e 75 32 34 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 2e 20 3c 63 6f 64 ok-type">u24</span></code>..<cod
9c180 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 62 75 69 6c 74 69 6e 22 3e 40 73 69 7a e><span.class="tok-builtin">@siz
9c1a0 65 4f 66 3c 2f 73 70 61 6e 3e 28 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 eOf</span>(<span.class="tok-type
9c1c0 22 3e 75 32 34 3c 2f 73 70 61 6e 3e 29 20 3d 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f ">u24</span>).==.<span.class="to
9c1e0 6b 2d 6e 75 6d 62 65 72 22 3e 34 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 2c 20 77 68 69 63 68 k-number">4</span></code>,.which
9c200 20 6d 65 61 6e 73 20 74 68 61 74 20 61 0a 20 20 20 20 20 20 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 .means.that.a.......<code><span.
9c220 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 63 6f 64 class="tok-type">u24</span></cod
9c240 65 3e 20 73 74 6f 72 65 64 20 69 6e 20 6d 65 6d 6f 72 79 20 74 61 6b 65 73 20 34 20 62 79 74 65 e>.stored.in.memory.takes.4.byte
9c260 73 2c 20 61 6e 64 20 74 68 6f 73 65 20 34 20 62 79 74 65 73 20 61 72 65 20 77 68 61 74 20 61 72 s,.and.those.4.bytes.are.what.ar
9c280 65 20 73 77 61 70 70 65 64 20 6f 6e 0a 20 20 20 20 20 20 61 20 6c 69 74 74 6c 65 20 76 73 20 62 e.swapped.on.......a.little.vs.b
9c2a0 69 67 20 65 6e 64 69 61 6e 20 73 79 73 74 65 6d 2e 20 4f 6e 20 74 68 65 20 6f 74 68 65 72 20 68 ig.endian.system..On.the.other.h
9c2c0 61 6e 64 2c 20 69 66 20 3c 63 6f 64 65 3e 54 3c 2f 63 6f 64 65 3e 20 69 73 20 73 70 65 63 69 66 and,.if.<code>T</code>.is.specif
9c2e0 69 65 64 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 ied.to.......be.<code><span.clas
9c300 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 75 32 34 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 2c 20 s="tok-type">u24</span></code>,.
9c320 74 68 65 6e 20 6f 6e 6c 79 20 33 20 62 79 74 65 73 20 61 72 65 20 72 65 76 65 72 73 65 64 2e 0a then.only.3.bytes.are.reversed..
9c340 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=
9c360 22 62 69 74 52 65 76 65 72 73 65 22 3e 3c 61 20 68 72 65 66 3d 22 6e 61 76 2e 78 68 74 6d 6c 23 "bitReverse"><a.href="nav.xhtml#
9c380 74 6f 63 2d 62 69 74 52 65 76 65 72 73 65 22 3e 40 62 69 74 52 65 76 65 72 73 65 3c 2f 61 3e 20 toc-bitReverse">@bitReverse</a>.
9c3a0 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 52 65 76 65 72 73 65 <a.class="hdr".href="#bitReverse
9c3c0 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>
9c3e0 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 62 75 69 6c 74 69 6e 22 3e 40 62 69 74 52 65 <span.class="tok-builtin">@bitRe
9c400 76 65 72 73 65 3c 2f 73 70 61 6e 3e 28 69 6e 74 65 67 65 72 3a 20 3c 73 70 61 6e 20 63 6c 61 73 verse</span>(integer:.<span.clas
9c420 73 3d 22 74 6f 6b 2d 6b 77 22 3e 61 6e 79 74 79 70 65 3c 2f 73 70 61 6e 3e 29 20 54 3c 2f 63 6f s="tok-kw">anytype</span>).T</co
9c440 64 65 3e 3c 2f 70 72 65 3e 0a 20 20 20 20 20 20 3c 70 3e 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 de></pre>.......<p><code><span.c
9c460 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
9c480 3e 28 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</
9c4a0 73 70 61 6e 3e 29 3c 2f 63 6f 64 65 3e 20 61 63 63 65 70 74 73 20 61 6e 79 20 69 6e 74 65 67 65 span>)</code>.accepts.any.intege
9c4c0 72 20 74 79 70 65 20 6f 72 20 69 6e 74 65 67 65 72 20 76 65 63 74 6f 72 20 74 79 70 65 2e 3c 2f r.type.or.integer.vector.type.</
9c4e0 70 3e 0a 20 20 20 20 20 20 3c 70 3e 0a 20 20 20 20 20 20 52 65 76 65 72 73 65 73 20 74 68 65 20 p>.......<p>.......Reverses.the.
9c500 62 69 74 70 61 74 74 65 72 6e 20 6f 66 20 61 6e 20 69 6e 74 65 67 65 72 20 76 61 6c 75 65 2c 20 bitpattern.of.an.integer.value,.
9c520 69 6e 63 6c 75 64 69 6e 67 20 74 68 65 20 73 69 67 6e 20 62 69 74 20 69 66 20 61 70 70 6c 69 63 including.the.sign.bit.if.applic
9c540 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>......
9c560 20 46 6f 72 20 65 78 61 6d 70 6c 65 20 30 62 31 30 31 31 30 31 31 30 20 28 3c 63 6f 64 65 3e 3c .For.example.0b10110110.(<code><
9c580 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>.
9c5a0 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 31 38 32 3c 2f =.<span.class="tok-number">182</
9c5c0 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=
9c5e0 22 74 6f 6b 2d 74 79 70 65 22 3e 69 38 3c 2f 73 70 61 6e 3e 20 3d 20 2d 3c 73 70 61 6e 20 63 6c "tok-type">i8</span>.=.-<span.cl
9c600 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 37 34 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 ass="tok-number">74</span></code
9c620 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 31 20 28 3c 63 6f >).......becomes.0b01101101.(<co
9c640 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 75 38 3c 2f 73 70 de><span.class="tok-type">u8</sp
9c660 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
9c680 30 39 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 09</span></code>,.<code><span.cl
9c6a0 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 69 38 3c 2f 73 70 61 6e 3e 20 3d 20 3c 73 70 61 6e ass="tok-type">i8</span>.=.<span
9c6c0 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 31 30 39 3c 2f 73 70 61 6e 3e 3c 2f .class="tok-number">109</span></
9c6e0 63 6f 64 65 3e 29 2e 0a 20 20 20 20 20 20 3c 2f 70 3e 0a 20 20 20 20 20 20 0a 0a 20 20 20 20 20 code>)........</p>..............
9c700 20 3c 68 33 20 69 64 3d 22 6f 66 66 73 65 74 4f 66 22 3e 3c 61 20 68 72 65 66 3d 22 6e 61 76 2e .<h3.id="offsetOf"><a.href="nav.
9c720 78 68 74 6d 6c 23 74 6f 63 2d 6f 66 66 73 65 74 4f 66 22 3e 40 6f 66 66 73 65 74 4f 66 3c 2f 61 xhtml#toc-offsetOf">@offsetOf</a
9c740 3e 20 3c 61 20 63 6c 61 73 73 3d 22 68 64 72 22 20 68 72 65 66 3d 22 23 6f 66 66 73 65 74 4f 66 >.<a.class="hdr".href="#offsetOf
9c760 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>
9c780 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 62 75 69 6c 74 69 6e 22 3e 40 6f 66 66 73 65 <span.class="tok-builtin">@offse
9c7a0 74 4f 66 3c 2f 73 70 61 6e 3e 28 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e tOf</span>(<span.class="tok-kw">
9c7c0 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="
9c7e0 74 6f 6b 2d 74 79 70 65 22 3e 74 79 70 65 3c 2f 73 70 61 6e 3e 2c 20 3c 73 70 61 6e 20 63 6c 61 tok-type">type</span>,.<span.cla
9c800 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 63 6f 6d 70 74 69 6d 65 3c 2f 73 70 61 6e 3e 20 66 69 65 6c ss="tok-kw">comptime</span>.fiel
9c820 64 5f 6e 61 6d 65 3a 20 5b 5d 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 63 d_name:.[]<span.class="tok-kw">c
9c840 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
9c860 65 22 3e 75 38 3c 2f 73 70 61 6e 3e 29 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 e">u8</span>).<span.class="tok-t
9c880 79 70 65 22 3e 63 6f 6d 70 74 69 6d 65 5f 69 6e 74 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 3c ype">comptime_int</span></code><
9c8a0 2f 70 72 65 3e 0a 20 20 20 20 20 20 3c 70 3e 0a 20 20 20 20 20 20 52 65 74 75 72 6e 73 20 74 68 /pre>.......<p>.......Returns.th
9c8c0 65 20 62 79 74 65 20 6f 66 66 73 65 74 20 6f 66 20 61 20 66 69 65 6c 64 20 72 65 6c 61 74 69 76 e.byte.offset.of.a.field.relativ
9c8e0 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 20 e.to.its.containing.struct......
9c900 20 20 3c 2f 70 3e 0a 20 20 20 20 20 20 3c 70 3e 53 65 65 20 61 6c 73 6f 3a 3c 2f 70 3e 3c 75 6c ..</p>.......<p>See.also:</p><ul
9c920 3e 0a 3c 6c 69 3e 3c 61 20 68 72 65 66 3d 22 23 62 69 74 4f 66 66 73 65 74 4f 66 22 3e 40 62 69 >.<li><a.href="#bitOffsetOf">@bi
9c940 74 4f 66 66 73 65 74 4f 66 3c 2f 61 3e 3c 2f 6c 69 3e 0a 3c 2f 75 6c 3e 0a 0a 20 20 20 20 20 20 tOffsetOf</a></li>.</ul>........
9c960 0a 0a 20 20 20 20 20 20 3c 68 33 20 69 64 3d 22 63 61 6c 6c 22 3e 3c 61 20 68 72 65 66 3d 22 6e ........<h3.id="call"><a.href="n
9c980 61 76 2e 78 68 74 6d 6c 23 74 6f 63 2d 63 61 6c 6c 22 3e 40 63 61 6c 6c 3c 2f 61 3e 20 3c 61 20 av.xhtml#toc-call">@call</a>.<a.
9c9a0 63 6c 61 73 73 3d 22 68 64 72 22 20 68 72 65 66 3d 22 23 63 61 6c 6c 22 3e c2 a7 3c 2f 61 3e 3c class="hdr".href="#call">..</a><
9c9c0 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
9c9e0 73 73 3d 22 74 6f 6b 2d 62 75 69 6c 74 69 6e 22 3e 40 63 61 6c 6c 3c 2f 73 70 61 6e 3e 28 6d 6f ss="tok-builtin">@call</span>(mo
9ca00 64 69 66 69 65 72 3a 20 73 74 64 2e 6c 61 6e 67 2e 43 61 6c 6c 4d 6f 64 69 66 69 65 72 2c 20 66 difier:.std.lang.CallModifier,.f
9ca20 75 6e 63 74 69 6f 6e 3a 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 61 6e unction:.<span.class="tok-kw">an
9ca40 79 74 79 70 65 3c 2f 73 70 61 6e 3e 2c 20 61 72 67 73 3a 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d ytype</span>,.args:.<span.class=
9ca60 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
9ca80 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 61 6e 79 74 79 70 65 3c 2f 73 70 61 6e 3e 3c 2f 63 6f lass="tok-kw">anytype</span></co
9caa0 64 65 3e 3c 2f 70 72 65 3e 0a 20 20 20 20 20 20 3c 70 3e 0a 20 20 20 20 20 20 43 61 6c 6c 73 20 de></pre>.......<p>.......Calls.
9cac0 61 20 66 75 6e 63 74 69 6f 6e 2c 20 69 6e 20 74 68 65 20 73 61 6d 65 20 77 61 79 20 74 68 61 74 a.function,.in.the.same.way.that
9cae0 20 69 6e 76 6f 6b 69 6e 67 20 61 6e 20 65 78 70 72 65 73 73 69 6f 6e 20 77 69 74 68 20 70 61 72 .invoking.an.expression.with.par
9cb00 65 6e 74 68 65 73 65 73 20 64 6f 65 73 3a 0a 20 20 20 20 20 20 3c 2f 70 3e 0a 20 20 20 20 20 20 entheses.does:.......</p>.......
9cb20 3c 66 69 67 75 72 65 3e 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
9cb40 61 70 22 3e 3c 63 69 74 65 20 63 6c 61 73 73 3d 22 66 69 6c 65 22 3e 74 65 73 74 5f 63 61 6c 6c ap"><cite.class="file">test_call
9cb60 5f 62 75 69 6c 74 69 6e 2e 7a 69 67 3c 2f 63 69 74 65 3e 3c 2f 66 69 67 63 61 70 74 69 6f 6e 3e _builtin.zig</cite></figcaption>
9cb80 3c 70 72 65 3e 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e <pre><code><span.class="tok-kw">
9cba0 63 6f 6e 73 74 3c 2f 73 70 61 6e 3e 20 65 78 70 65 63 74 45 71 75 61 6c 20 3d 20 3c 73 70 61 6e const</span>.expectEqual.=.<span
9cbc0 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
9cbe0 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;
9cc00 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
9cc20 45 71 75 61 6c 3b 0a 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 74 65 73 Equal;..<span.class="tok-kw">tes
9cc40 74 3c 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">&
9cc60 71 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 quot;noinline.function.call&quot
9cc80 3b 3c 2f 73 70 61 6e 3e 20 7b 0a 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d ;</span>.{.....<span.class="tok-
9cca0 6b 77 22 3e 74 72 79 3c 2f 73 70 61 6e 3e 20 65 78 70 65 63 74 45 71 75 61 6c 28 3c 73 70 61 6e kw">try</span>.expectEqual(<span
9ccc0 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 31 32 3c 2f 73 70 61 6e 3e 2c 20 3c .class="tok-number">12</span>,.<
9cce0 73 70 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 span.class="tok-builtin">@call</
9cd00 73 70 61 6e 3e 28 2e 61 75 74 6f 2c 20 61 64 64 2c 20 2e 7b 20 3c 73 70 61 6e 20 63 6c 61 73 73 span>(.auto,.add,..{.<span.class
9cd20 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 33 3c 2f 73 70 61 6e 3e 2c 20 3c 73 70 61 6e 20 63 6c ="tok-number">3</span>,.<span.cl
9cd40 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 20 7d 29 29 3b 0a 7d ass="tok-number">9</span>.}));.}
9cd60 0a 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 66 6e 3c 2f 73 70 61 6e 3e ..<span.class="tok-kw">fn</span>
9cd80 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>
9cda0 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</
9cdc0 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"
9cde0 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
9ce00 70 65 22 3e 69 33 32 3c 2f 73 70 61 6e 3e 20 7b 0a 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 pe">i32</span>.{.....<span.class
9ce20 3d 22 74 6f 6b 2d 6b 77 22 3e 72 65 74 75 72 6e 3c 2f 73 70 61 6e 3e 20 61 20 2b 20 62 3b 0a 7d ="tok-kw">return</span>.a.+.b;.}
9ce40 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
9ce60 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
9ce80 6c 3c 2f 66 69 67 63 61 70 74 69 6f 6e 3e 3c 70 72 65 3e 3c 73 61 6d 70 3e 24 20 3c 6b 62 64 3e l</figcaption><pre><samp>$.<kbd>
9cea0 7a 69 67 20 74 65 73 74 20 74 65 73 74 5f 63 61 6c 6c 5f 62 75 69 6c 74 69 6e 2e 7a 69 67 3c 2f zig.test.test_call_builtin.zig</
9cec0 6b 62 64 3e 0a 31 2f 31 20 74 65 73 74 5f 63 61 6c 6c 5f 62 75 69 6c 74 69 6e 2e 74 65 73 74 2e kbd>.1/1.test_call_builtin.test.
9cee0 6e 6f 69 6e 6c 69 6e 65 20 66 75 6e 63 74 69 6f 6e 20 63 61 6c 6c 2e 2e 2e 4f 4b 0a 41 6c 6c 20 noinline.function.call...OK.All.
9cf00 31 20 74 65 73 74 73 20 70 61 73 73 65 64 2e 0a 3c 2f 73 61 6d 70 3e 3c 2f 70 72 65 3e 3c 2f 66 1.tests.passed..</samp></pre></f
9cf20 69 67 75 72 65 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 igure>........<p>.......<code><s
9cf40 70 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
9cf60 70 61 6e 3e 3c 2f 63 6f 64 65 3e 20 61 6c 6c 6f 77 73 20 6d 6f 72 65 20 66 6c 65 78 69 62 69 6c pan></code>.allows.more.flexibil
9cf80 69 74 79 20 74 68 61 6e 20 6e 6f 72 6d 61 6c 20 66 75 6e 63 74 69 6f 6e 20 63 61 6c 6c 20 73 79 ity.than.normal.function.call.sy
9cfa0 6e 74 61 78 20 64 6f 65 73 2e 20 54 68 65 0a 20 20 20 20 20 20 3c 63 6f 64 65 3e 43 61 6c 6c 4d ntax.does..The.......<code>CallM
9cfc0 6f 64 69 66 69 65 72 3c 2f 63 6f 64 65 3e 20 65 6e 75 6d 20 69 73 20 72 65 70 72 6f 64 75 63 65 odifier</code>.enum.is.reproduce
9cfe0 64 20 68 65 72 65 3a 0a 20 20 20 20 20 20 3c 2f 70 3e 0a 20 20 20 20 20 20 3c 66 69 67 75 72 65 d.here:.......</p>.......<figure
9d000 3e 3c 66 69 67 63 61 70 74 69 6f 6e 20 63 6c 61 73 73 3d 22 7a 69 67 2d 63 61 70 22 3e 3c 63 69 ><figcaption.class="zig-cap"><ci
9d020 74 65 20 63 6c 61 73 73 3d 22 66 69 6c 65 22 3e 6c 61 6e 67 2e 43 61 6c 6c 4d 6f 64 69 66 69 65 te.class="file">lang.CallModifie
9d040 72 20 73 74 72 75 63 74 2e 7a 69 67 3c 2f 63 69 74 65 3e 3c 2f 66 69 67 63 61 70 74 69 6f 6e 3e r.struct.zig</cite></figcaption>
9d060 3c 70 72 65 3e 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e <pre><code><span.class="tok-kw">
9d080 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">
9d0a0 63 6f 6e 73 74 3c 2f 73 70 61 6e 3e 20 43 61 6c 6c 4d 6f 64 69 66 69 65 72 20 3d 20 3c 73 70 61 const</span>.CallModifier.=.<spa
9d0c0 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 65 6e 75 6d 3c 2f 73 70 61 6e 3e 20 7b 0a 20 n.class="tok-kw">enum</span>.{..
9d0e0 20 20 20 3c 73 70 61 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">///
9d100 20 45 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 20 73 79 6e .Equivalent.to.function.call.syn
9d120 74 61 78 2e 3c 2f 73 70 61 6e 3e 0a 20 20 20 20 61 75 74 6f 2c 0a 0a 20 20 20 20 3c 73 70 61 6e tax.</span>.....auto,......<span
9d140 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 50 72 65 76 65 6e 74 .class="tok-comment">///.Prevent
9d160 73 20 74 61 69 6c 20 63 61 6c 6c 20 6f 70 74 69 6d 69 7a 61 74 69 6f 6e 2e 20 54 68 69 73 20 67 s.tail.call.optimization..This.g
9d180 75 61 72 61 6e 74 65 65 73 20 74 68 61 74 20 74 68 65 20 72 65 74 75 72 6e 3c 2f 73 70 61 6e 3e uarantees.that.the.return</span>
9d1a0 0a 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 63 6f 6d 6d 65 6e 74 22 3e 2f .....<span.class="tok-comment">/
9d1c0 2f 2f 20 61 64 64 72 65 73 73 20 77 69 6c 6c 20 70 6f 69 6e 74 20 74 6f 20 74 68 65 20 63 61 6c //.address.will.point.to.the.cal
9d1e0 6c 73 69 74 65 2c 20 61 73 20 6f 70 70 6f 73 65 64 20 74 6f 20 74 68 65 20 63 61 6c 6c 73 69 74 lsite,.as.opposed.to.the.callsit
9d200 65 27 73 3c 2f 73 70 61 6e 3e 0a 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d e's</span>.....<span.class="tok-
9d220 63 6f 6d 6d 65 6e 74 22 3e 2f 2f 2f 20 63 61 6c 6c 73 69 74 65 2e 20 49 66 20 74 68 65 20 63 61 comment">///.callsite..If.the.ca
9d240 6c 6c 20 69 73 20 6f 74 68 65 72 77 69 73 65 20 72 65 71 75 69 72 65 64 20 74 6f 20 62 65 20 74 ll.is.otherwise.required.to.be.t
9d260 61 69 6c 2d 63 61 6c 6c 65 64 3c 2f 73 70 61 6e 3e 0a 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 ail-called</span>.....<span.clas
9d280 73 3d 22 74 6f 6b 2d 63 6f 6d 6d 65 6e 74 22 3e 2f 2f 2f 20 6f 72 20 69 6e 6c 69 6e 65 64 2c 20 s="tok-comment">///.or.inlined,.
9d2a0 61 20 63 6f 6d 70 69 6c 65 20 65 72 72 6f 72 20 69 73 20 65 6d 69 74 74 65 64 20 69 6e 73 74 65 a.compile.error.is.emitted.inste
9d2c0 61 64 2e 3c 2f 73 70 61 6e 3e 0a 20 20 20 20 6e 65 76 65 72 5f 74 61 69 6c 2c 0a 0a 20 20 20 20 ad.</span>.....never_tail,......
9d2e0 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 63 6f 6d 6d 65 6e 74 22 3e 2f 2f 2f 20 47 75 <span.class="tok-comment">///.Gu
9d300 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 6e 6f 74 20 arantees.that.the.call.will.not.
9d320 62 65 20 69 6e 6c 69 6e 65 64 2e 20 49 66 20 74 68 65 20 63 61 6c 6c 20 69 73 3c 2f 73 70 61 6e be.inlined..If.the.call.is</span
9d340 3e 0a 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 63 6f 6d 6d 65 6e 74 22 3e >.....<span.class="tok-comment">
9d360 2f 2f 2f 20 6f 74 68 65 72 77 69 73 65 20 72 65 71 75 69 72 65 64 20 74 6f 20 62 65 20 69 6e 6c ///.otherwise.required.to.be.inl
9d380 69 6e 65 64 2c 20 61 20 63 6f 6d 70 69 6c 65 20 65 72 72 6f 72 20 69 73 20 65 6d 69 74 74 65 64 ined,.a.compile.error.is.emitted
9d3a0 20 69 6e 73 74 65 61 64 2e 3c 2f 73 70 61 6e 3e 0a 20 20 20 20 6e 65 76 65 72 5f 69 6e 6c 69 6e .instead.</span>.....never_inlin
9d3c0 65 2c 0a 0a 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 63 6f 6d 6d 65 6e 74 e,......<span.class="tok-comment
9d3e0 22 3e 2f 2f 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 ">///.Asserts.that.the.function.
9d400 63 61 6c 6c 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 call.will.not.suspend..This.allo
9d420 77 73 20 61 3c 2f 73 70 61 6e 3e 0a 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b ws.a</span>.....<span.class="tok
9d440 2d 63 6f 6d 6d 65 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 -comment">///.non-async.function
9d460 20 74 6f 20 63 61 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 .to.call.an.async.function.</spa
9d480 6e 3e 0a 20 20 20 20 6e 6f 5f 73 75 73 70 65 6e 64 2c 0a 0a 20 20 20 20 3c 73 70 61 6e 20 63 6c n>.....no_suspend,......<span.cl
9d4a0 61 73 73 3d 22 74 6f 6b 2d 63 6f 6d 6d 65 6e 74 22 3e 2f 2f 2f 20 47 75 61 72 61 6e 74 65 65 73 ass="tok-comment">///.Guarantees
9d4c0 20 74 68 61 74 20 74 68 65 20 63 61 6c 6c 20 77 69 6c 6c 20 62 65 20 67 65 6e 65 72 61 74 65 64 .that.the.call.will.be.generated
9d4e0 20 77 69 74 68 20 74 61 69 6c 20 63 61 6c 6c 20 6f 70 74 69 6d 69 7a 61 74 69 6f 6e 2e 3c 2f 73 .with.tail.call.optimization.</s
9d500 70 61 6e 3e 0a 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 63 6f 6d 6d 65 6e pan>.....<span.class="tok-commen
9d520 74 22 3e 2f 2f 2f 20 49 66 20 74 68 69 73 20 69 73 20 6e 6f 74 20 70 6f 73 73 69 62 6c 65 2c 20 t">///.If.this.is.not.possible,.
9d540 61 20 63 6f 6d 70 69 6c 65 20 65 72 72 6f 72 20 69 73 20 65 6d 69 74 74 65 64 20 69 6e 73 74 65 a.compile.error.is.emitted.inste
9d560 61 64 2e 3c 2f 73 70 61 6e 3e 0a 20 20 20 20 61 6c 77 61 79 73 5f 74 61 69 6c 2c 0a 0a 20 20 20 ad.</span>.....always_tail,.....
9d580 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 63 6f 6d 6d 65 6e 74 22 3e 2f 2f 2f 20 47 .<span.class="tok-comment">///.G
9d5a0 75 61 72 61 6e 74 65 65 73 20 74 68 61 74 20 74 68 65 20 63 61 6c 6c 20 77 69 6c 6c 20 62 65 20 uarantees.that.the.call.will.be.
9d5c0 69 6e 6c 69 6e 65 64 20 61 74 20 74 68 65 20 63 61 6c 6c 73 69 74 65 2e 3c 2f 73 70 61 6e 3e 0a inlined.at.the.callsite.</span>.
9d5e0 20 20 20 20 3c 73 70 61 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">//
9d600 2f 20 49 66 20 74 68 69 73 20 69 73 20 6e 6f 74 20 70 6f 73 73 69 62 6c 65 2c 20 61 20 63 6f 6d /.If.this.is.not.possible,.a.com
9d620 70 69 6c 65 20 65 72 72 6f 72 20 69 73 20 65 6d 69 74 74 65 64 20 69 6e 73 74 65 61 64 2e 3c 2f pile.error.is.emitted.instead.</
9d640 73 70 61 6e 3e 0a 20 20 20 20 61 6c 77 61 79 73 5f 69 6e 6c 69 6e 65 2c 0a 0a 20 20 20 20 3c 73 span>.....always_inline,......<s
9d660 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 63 6f 6d 6d 65 6e 74 22 3e 2f 2f 2f 20 45 76 61 6c pan.class="tok-comment">///.Eval
9d680 75 61 74 65 73 20 74 68 65 20 63 61 6c 6c 20 61 74 20 63 6f 6d 70 69 6c 65 2d 74 69 6d 65 2e 20 uates.the.call.at.compile-time..
9d6a0 49 66 20 74 68 65 20 63 61 6c 6c 20 63 61 6e 6e 6f 74 20 62 65 20 63 6f 6d 70 6c 65 74 65 64 20 If.the.call.cannot.be.completed.
9d6c0 61 74 3c 2f 73 70 61 6e 3e 0a 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 63 at</span>.....<span.class="tok-c
9d6e0 6f 6d 6d 65 6e 74 22 3e 2f 2f 2f 20 63 6f 6d 70 69 6c 65 2d 74 69 6d 65 2c 20 61 20 63 6f 6d 70 omment">///.compile-time,.a.comp
9d700 69 6c 65 20 65 72 72 6f 72 20 69 73 20 65 6d 69 74 74 65 64 20 69 6e 73 74 65 61 64 2e 3c 2f 73 ile.error.is.emitted.instead.</s
9d720 70 61 6e 3e 0a 20 20 20 20 63 6f 6d 70 69 6c 65 5f 74 69 6d 65 2c 0a 7d 3b 3c 2f 63 6f 64 65 3e pan>.....compile_time,.};</code>
9d740 3c 2f 70 72 65 3e 3c 2f 66 69 67 75 72 65 3e 0a 0a 20 20 20 20 20 20 0a 0a 20 20 20 20 20 20 3c </pre></figure>................<
9d760 68 33 20 69 64 3d 22 63 6c 7a 22 3e 3c 61 20 68 72 65 66 3d 22 6e 61 76 2e 78 68 74 6d 6c 23 74 h3.id="clz"><a.href="nav.xhtml#t
9d780 6f 63 2d 63 6c 7a 22 3e 40 63 6c 7a 3c 2f 61 3e 20 3c 61 20 63 6c 61 73 73 3d 22 68 64 72 22 20 oc-clz">@clz</a>.<a.class="hdr".
9d7a0 68 72 65 66 3d 22 23 63 6c 7a 22 3e c2 a7 3c 2f 61 3e 3c 2f 68 33 3e 0a 0a 20 20 20 20 20 20 3c href="#clz">..</a></h3>........<
9d7c0 70 72 65 3e 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 62 75 69 6c 74 pre><code><span.class="tok-built
9d7e0 69 6e 22 3e 40 63 6c 7a 3c 2f 73 70 61 6e 3e 28 6f 70 65 72 61 6e 64 3a 20 3c 73 70 61 6e 20 63 in">@clz</span>(operand:.<span.c
9d800 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
9d820 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
9d840 3e 3c 2f 63 6f 64 65 3e 3c 2f 70 72 65 3e 0a 20 20 20 20 20 20 3c 70 3e 3c 63 6f 64 65 3e 3c 73 ></code></pre>.......<p><code><s
9d860 70 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<
9d880 2f 73 70 61 6e 3e 28 6f 70 65 72 61 6e 64 29 3c 2f 63 6f 64 65 3e 20 6d 75 73 74 20 62 65 20 61 /span>(operand)</code>.must.be.a
9d8a0 6e 20 69 6e 74 65 67 65 72 20 74 79 70 65 20 6f 72 20 61 6e 20 69 6e 74 65 67 65 72 20 76 65 63 n.integer.type.or.an.integer.vec
9d8c0 74 6f 72 20 74 79 70 65 2e 3c 2f 70 3e 0a 20 20 20 20 20 20 3c 70 3e 3c 63 6f 64 65 3e 6f 70 65 tor.type.</p>.......<p><code>ope
9d8e0 72 61 6e 64 3c 2f 63 6f 64 65 3e 20 6d 61 79 20 62 65 20 61 6e 20 3c 61 20 68 72 65 66 3d 22 23 rand</code>.may.be.an.<a.href="#
9d900 49 6e 74 65 67 65 72 73 22 3e 69 6e 74 65 67 65 72 3c 2f 61 3e 20 6f 72 20 3c 61 20 68 72 65 66 Integers">integer</a>.or.<a.href
9d920 3d 22 23 56 65 63 74 6f 72 73 22 3e 76 65 63 74 6f 72 3c 2f 61 3e 2e 3c 2f 70 3e 0a 20 20 20 20 ="#Vectors">vector</a>.</p>.....
9d940 20 20 3c 70 3e 0a 20 20 20 20 20 20 43 6f 75 6e 74 73 20 74 68 65 20 6e 75 6d 62 65 72 20 6f 66 ..<p>.......Counts.the.number.of
9d960 20 6d 6f 73 74 2d 73 69 67 6e 69 66 69 63 61 6e 74 20 28 6c 65 61 64 69 6e 67 20 69 6e 20 61 20 .most-significant.(leading.in.a.
9d980 62 69 67 2d 65 6e 64 69 61 6e 20 73 65 6e 73 65 29 20 7a 65 72 6f 65 73 20 69 6e 20 61 6e 20 69 big-endian.sense).zeroes.in.an.i
9d9a0 6e 74 65 67 65 72 20 2d 20 22 63 6f 75 6e 74 20 6c 65 61 64 69 6e 67 20 7a 65 72 6f 65 73 22 2e nteger.-."count.leading.zeroes".
9d9c0 0a 20 20 20 20 20 20 3c 2f 70 3e 0a 20 20 20 20 20 20 3c 70 3e 0a 20 20 20 20 20 20 54 68 65 20 .......</p>.......<p>.......The.
9d9e0 72 65 74 75 72 6e 20 74 79 70 65 20 69 73 20 61 6e 20 75 6e 73 69 67 6e 65 64 20 69 6e 74 65 67 return.type.is.an.unsigned.integ
9da00 65 72 20 6f 72 20 76 65 63 74 6f 72 20 6f 66 20 75 6e 73 69 67 6e 65 64 20 69 6e 74 65 67 65 72 er.or.vector.of.unsigned.integer
9da20 73 20 77 69 74 68 20 74 68 65 20 6d 69 6e 69 6d 75 6d 20 6e 75 6d 62 65 72 0a 20 20 20 20 20 20 s.with.the.minimum.number.......
9da40 6f 66 20 62 69 74 73 20 74 68 61 74 20 63 61 6e 20 72 65 70 72 65 73 65 6e 74 20 74 68 65 20 62 of.bits.that.can.represent.the.b
9da60 69 74 20 63 6f 75 6e 74 20 6f 66 20 74 68 65 20 69 6e 74 65 67 65 72 20 74 79 70 65 2e 0a 20 20 it.count.of.the.integer.type....
9da80 20 20 20 20 3c 2f 70 3e 0a 20 20 20 20 20 20 3c 70 3e 0a 20 20 20 20 20 20 49 66 20 3c 63 6f 64 ....</p>.......<p>.......If.<cod
9daa0 65 3e 6f 70 65 72 61 6e 64 3c 2f 63 6f 64 65 3e 20 69 73 20 7a 65 72 6f 2c 20 3c 63 6f 64 65 3e e>operand</code>.is.zero,.<code>
9dac0 3c 73 70 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</
9dae0 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 20 72 65 74 75 72 6e 73 20 74 68 65 20 62 69 74 20 77 69 64 span></code>.returns.the.bit.wid
9db00 74 68 0a 20 20 20 20 20 20 6f 66 20 69 6e 74 65 67 65 72 20 74 79 70 65 20 3c 63 6f 64 65 3e 54 th.......of.integer.type.<code>T
9db20 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
9db40 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 7a .also:</p><ul>.<li><a.href="#ctz
9db60 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 6f ">@ctz</a></li>.<li><a.href="#po
9db80 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 3e pCount">@popCount</a></li>.</ul>
9dba0 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 53 ................<h3.id="cmpxchgS
9dbc0 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 6d trong"><a.href="nav.xhtml#toc-cm
9dbe0 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 20 pxchgStrong">@cmpxchgStrong</a>.
9dc00 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 72 <a.class="hdr".href="#cmpxchgStr
9dc20 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 6f ong">..</a></h3>........<pre><co
9dc40 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 62 75 69 6c 74 69 6e 22 3e 40 63 6d de><span.class="tok-builtin">@cm
9dc60 70 78 63 68 67 53 74 72 6f 6e 67 3c 2f 73 70 61 6e 3e 28 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 pxchgStrong</span>(<span.class="
9dc80 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
9dca0 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 70 .class="tok-type">type</span>,.p
9dcc0 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 5f 76 tr:.*T,.expected_value:.T,.new_v
9dce0 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 4f 72 alue:.T,.success_order:.AtomicOr
9dd00 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 3f 54 der,.fail_order:.AtomicOrder).?T
9dd20 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
9dd40 69 73 20 66 75 6e 63 74 69 6f 6e 20 70 65 72 66 6f 72 6d 73 20 61 20 73 74 72 6f 6e 67 20 61 74 is.function.performs.a.strong.at
9dd60 6f 6d 69 63 20 63 6f 6d 70 61 72 65 2d 61 6e 64 2d 65 78 63 68 61 6e 67 65 20 6f 70 65 72 61 74 omic.compare-and-exchange.operat
9dd80 69 6f 6e 2c 20 72 65 74 75 72 6e 69 6e 67 20 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 ion,.returning.<code><span.class
9dda0 3d 22 74 6f 6b 2d 6e 75 6c 6c 22 3e 6e 75 6c 6c 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 0a 20 ="tok-null">null</span></code>..
9ddc0 20 20 20 20 20 69 66 20 74 68 65 20 63 75 72 72 65 6e 74 20 76 61 6c 75 65 20 69 73 20 74 68 65 .....if.the.current.value.is.the
9dde0 20 67 69 76 65 6e 20 65 78 70 65 63 74 65 64 20 76 61 6c 75 65 2e 20 49 74 27 73 20 74 68 65 20 .given.expected.value..It's.the.
9de00 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 20 20 20 20 65 equivalent.of.this.code,.......e
9de20 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 20 20 20 20 3c xcept.atomic:.......</p>.......<
9de40 66 69 67 75 72 65 3e 3c 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
9de60 70 22 3e 3c 63 69 74 65 20 63 6c 61 73 73 3d 22 66 69 6c 65 22 3e 6e 6f 74 5f 61 74 6f 6d 69 63 p"><cite.class="file">not_atomic
9de80 5f 63 6d 70 78 63 68 67 53 74 72 6f 6e 67 2e 7a 69 67 3c 2f 63 69 74 65 3e 3c 2f 66 69 67 63 61 _cmpxchgStrong.zig</cite></figca
9dea0 70 74 69 6f 6e 3e 3c 70 72 65 3e 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f ption><pre><code><span.class="to
9dec0 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
9dee0 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 69 63 3c 2f -fn">cmpxchgStrongButNotAtomic</
9df00 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
9df20 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
9df40 79 70 65 22 3e 74 79 70 65 3c 2f 73 70 61 6e 3e 2c 20 70 74 72 3a 20 2a 54 2c 20 65 78 70 65 63 ype">type</span>,.ptr:.*T,.expec
9df60 74 65 64 5f 76 61 6c 75 65 3a 20 54 2c 20 6e 65 77 5f 76 61 6c 75 65 3a 20 54 29 20 3f 54 20 7b ted_value:.T,.new_value:.T).?T.{
9df80 0a 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 63 6f 6e 73 74 3c .....<span.class="tok-kw">const<
9dfa0 2f 73 70 61 6e 3e 20 6f 6c 64 5f 76 61 6c 75 65 20 3d 20 70 74 72 2e 2a 3b 0a 20 20 20 20 3c 73 /span>.old_value.=.ptr.*;.....<s
9dfc0 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 69 66 3c 2f 73 70 61 6e 3e 20 28 6f 6c pan.class="tok-kw">if</span>.(ol
9dfe0 64 5f 76 61 6c 75 65 20 3d 3d 20 65 78 70 65 63 74 65 64 5f 76 61 6c 75 65 29 20 7b 0a 20 20 20 d_value.==.expected_value).{....
9e000 20 20 20 20 20 70 74 72 2e 2a 20 3d 20 6e 65 77 5f 76 61 6c 75 65 3b 0a 20 20 20 20 20 20 20 20 .....ptr.*.=.new_value;.........
9e020 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
9e040 6e 3e 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6c 6c 22 3e 6e 75 6c 6c 3c 2f n>.<span.class="tok-null">null</
9e060 73 70 61 6e 3e 3b 0a 20 20 20 20 7d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 span>;.....}.<span.class="tok-kw
9e080 22 3e 65 6c 73 65 3c 2f 73 70 61 6e 3e 20 7b 0a 20 20 20 20 20 20 20 20 3c 73 70 61 6e 20 63 6c ">else</span>.{.........<span.cl
9e0a0 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
9e0c0 61 6c 75 65 3b 0a 20 20 20 20 7d 0a 7d 3c 2f 63 6f 64 65 3e 3c 2f 70 72 65 3e 3c 2f 66 69 67 75 alue;.....}.}</code></pre></figu
9e0e0 72 65 3e 0a 0a 20 20 20 20 20 20 3c 70 3e 0a 20 20 20 20 20 20 49 66 20 79 6f 75 20 61 72 65 20 re>........<p>.......If.you.are.
9e100 75 73 69 6e 67 20 63 6d 70 78 63 68 67 20 69 6e 20 61 20 72 65 74 72 79 20 6c 6f 6f 70 2c 20 3c using.cmpxchg.in.a.retry.loop,.<
9e120 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
9e140 61 6b 3c 2f 61 3e 20 69 73 20 74 68 65 20 62 65 74 74 65 72 20 63 68 6f 69 63 65 2c 20 62 65 63 ak</a>.is.the.better.choice,.bec
9e160 61 75 73 65 20 69 74 20 63 61 6e 20 62 65 20 69 6d 70 6c 65 6d 65 6e 74 65 64 0a 20 20 20 20 20 ause.it.can.be.implemented......
9e180 20 6d 6f 72 65 20 65 66 66 69 63 69 65 6e 74 6c 79 20 69 6e 20 6d 61 63 68 69 6e 65 20 69 6e 73 .more.efficiently.in.machine.ins
9e1a0 74 72 75 63 74 69 6f 6e 73 2e 0a 20 20 20 20 20 20 3c 2f 70 3e 0a 20 20 20 20 20 20 3c 70 3e 0a tructions........</p>.......<p>.
9e1c0 20 20 20 20 20 20 3c 63 6f 64 65 3e 54 3c 2f 63 6f 64 65 3e 20 6d 75 73 74 20 62 65 20 61 20 70 ......<code>T</code>.must.be.a.p
9e1e0 6f 69 6e 74 65 72 2c 20 61 20 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b ointer,.a.<code><span.class="tok
9e200 2d 74 79 70 65 22 3e 62 6f 6f 6c 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 2c 0a 20 20 20 20 20 -type">bool</span></code>,......
9e220 20 61 6e 20 69 6e 74 65 67 65 72 2c 20 61 6e 20 65 6e 75 6d 2c 20 6f 72 20 61 20 70 61 63 6b 65 .an.integer,.an.enum,.or.a.packe
9e240 64 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 3c 63 d.struct........</p>.......<p><c
9e260 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 62 75 69 6c 74 69 6e 22 3e 40 74 ode><span.class="tok-builtin">@t
9e280 79 70 65 49 6e 66 6f 3c 2f 73 70 61 6e 3e 28 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d ypeInfo</span>(<span.class="tok-
9e2a0 62 75 69 6c 74 69 6e 22 3e 40 54 79 70 65 4f 66 3c 2f 73 70 61 6e 3e 28 70 74 72 29 29 2e 70 6f builtin">@TypeOf</span>(ptr)).po
9e2c0 69 6e 74 65 72 2e 61 6c 69 67 6e 6d 65 6e 74 3c 2f 63 6f 64 65 3e 20 6d 75 73 74 20 62 65 20 3c inter.alignment</code>.must.be.<
9e2e0 63 6f 64 65 3e 26 67 74 3b 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 62 75 69 6c code>&gt;=.<span.class="tok-buil
9e300 74 69 6e 22 3e 40 73 69 7a 65 4f 66 3c 2f 73 70 61 6e 3e 28 54 29 2e 3c 2f 63 6f 64 65 3e 3c 2f tin">@sizeOf</span>(T).</code></
9e320 70 3e 0a 20 20 20 20 20 20 3c 70 3e 3c 63 6f 64 65 3e 41 74 6f 6d 69 63 4f 72 64 65 72 3c 2f 63 p>.......<p><code>AtomicOrder</c
9e340 6f 64 65 3e 20 63 61 6e 20 62 65 20 66 6f 75 6e 64 20 77 69 74 68 20 3c 63 6f 64 65 3e 3c 73 70 ode>.can.be.found.with.<code><sp
9e360 61 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</
9e380 73 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
9e3a0 74 3b 73 74 64 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 29 2e 6c 61 6e 67 2e 41 74 6f 6d 69 63 4f t;std&quot;</span>).lang.AtomicO
9e3c0 72 64 65 72 3c 2f 63 6f 64 65 3e 2e 3c 2f 70 3e 0a 20 20 20 20 20 20 3c 70 3e 53 65 65 20 61 6c rder</code>.</p>.......<p>See.al
9e3e0 73 6f 3a 3c 2f 70 3e 3c 75 6c 3e 0a 3c 6c 69 3e 3c 61 20 68 72 65 66 3d 22 23 61 74 6f 6d 69 63 so:</p><ul>.<li><a.href="#atomic
9e400 53 74 6f 72 65 22 3e 40 61 74 6f 6d 69 63 53 74 6f 72 65 3c 2f 61 3e 3c 2f 6c 69 3e 0a 3c 6c 69 Store">@atomicStore</a></li>.<li
9e420 3e 3c 61 20 68 72 65 66 3d 22 23 61 74 6f 6d 69 63 4c 6f 61 64 22 3e 40 61 74 6f 6d 69 63 4c 6f ><a.href="#atomicLoad">@atomicLo
9e440 61 64 3c 2f 61 3e 3c 2f 6c 69 3e 0a 3c 6c 69 3e 3c 61 20 68 72 65 66 3d 22 23 61 74 6f 6d 69 63 ad</a></li>.<li><a.href="#atomic
9e460 52 6d 77 22 3e 40 61 74 6f 6d 69 63 52 6d 77 3c 2f 61 3e 3c 2f 6c 69 3e 0a 3c 6c 69 3e 3c 61 20 Rmw">@atomicRmw</a></li>.<li><a.
9e480 68 72 65 66 3d 22 23 63 6d 70 78 63 68 67 57 65 61 6b 22 3e 40 63 6d 70 78 63 68 67 57 65 61 6b href="#cmpxchgWeak">@cmpxchgWeak
9e4a0 3c 2f 61 3e 3c 2f 6c 69 3e 0a 3c 2f 75 6c 3e 0a 0a 20 20 20 20 20 20 0a 0a 20 20 20 20 20 20 3c </a></li>.</ul>................<
9e4c0 68 33 20 69 64 3d 22 63 6d 70 78 63 68 67 57 65 61 6b 22 3e 3c 61 20 68 72 65 66 3d 22 6e 61 76 h3.id="cmpxchgWeak"><a.href="nav
9e4e0 2e 78 68 74 6d 6c 23 74 6f 63 2d 63 6d 70 78 63 68 67 57 65 61 6b 22 3e 40 63 6d 70 78 63 68 67 .xhtml#toc-cmpxchgWeak">@cmpxchg
9e500 57 65 61 6b 3c 2f 61 3e 20 3c 61 20 63 6c 61 73 73 3d 22 68 64 72 22 20 68 72 65 66 3d 22 23 63 Weak</a>.<a.class="hdr".href="#c
9e520 6d 70 78 63 68 67 57 65 61 6b 22 3e c2 a7 3c 2f 61 3e 3c 2f 68 33 3e 0a 0a 20 20 20 20 20 20 3c mpxchgWeak">..</a></h3>........<
9e540 70 72 65 3e 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 62 75 69 6c 74 pre><code><span.class="tok-built
9e560 69 6e 22 3e 40 63 6d 70 78 63 68 67 57 65 61 6b 3c 2f 73 70 61 6e 3e 28 3c 73 70 61 6e 20 63 6c in">@cmpxchgWeak</span>(<span.cl
9e580 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:.
9e5a0 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
9e5c0 6e 3e 2c 20 70 74 72 3a 20 2a 54 2c 20 65 78 70 65 63 74 65 64 5f 76 61 6c 75 65 3a 20 54 2c 20 n>,.ptr:.*T,.expected_value:.T,.
9e5e0 6e 65 77 5f 76 61 6c 75 65 3a 20 54 2c 20 73 75 63 63 65 73 73 5f 6f 72 64 65 72 3a 20 41 74 6f new_value:.T,.success_order:.Ato
9e600 6d 69 63 4f 72 64 65 72 2c 20 66 61 69 6c 5f 6f 72 64 65 72 3a 20 41 74 6f 6d 69 63 4f 72 64 65 micOrder,.fail_order:.AtomicOrde
9e620 72 29 20 3f 54 3c 2f 63 6f 64 65 3e 3c 2f 70 72 65 3e 0a 20 20 20 20 20 20 3c 70 3e 0a 20 20 20 r).?T</code></pre>.......<p>....
9e640 20 20 20 54 68 69 73 20 66 75 6e 63 74 69 6f 6e 20 70 65 72 66 6f 72 6d 73 20 61 20 77 65 61 6b ...This.function.performs.a.weak
9e660 20 61 74 6f 6d 69 63 20 63 6f 6d 70 61 72 65 2d 61 6e 64 2d 65 78 63 68 61 6e 67 65 20 6f 70 65 .atomic.compare-and-exchange.ope
9e680 72 61 74 69 6f 6e 2c 20 72 65 74 75 72 6e 69 6e 67 20 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c ration,.returning.<code><span.cl
9e6a0 61 73 73 3d 22 74 6f 6b 2d 6e 75 6c 6c 22 3e 6e 75 6c 6c 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 ass="tok-null">null</span></code
9e6c0 3e 0a 20 20 20 20 20 20 69 66 20 74 68 65 20 63 75 72 72 65 6e 74 20 76 61 6c 75 65 20 69 73 20 >.......if.the.current.value.is.
9e6e0 74 68 65 20 67 69 76 65 6e 20 65 78 70 65 63 74 65 64 20 76 61 6c 75 65 2e 20 49 74 27 73 20 74 the.given.expected.value..It's.t
9e700 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 20 20 he.equivalent.of.this.code,.....
9e720 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 20 20 ..except.atomic:.......</p>.....
9e740 20 20 3c 66 69 67 75 72 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
9e760 2d 63 61 70 22 3e 3c 63 69 74 65 20 63 6c 61 73 73 3d 22 66 69 6c 65 22 3e 63 6d 70 78 63 68 67 -cap"><cite.class="file">cmpxchg
9e780 57 65 61 6b 42 75 74 4e 6f 74 41 74 6f 6d 69 63 3c 2f 63 69 74 65 3e 3c 2f 66 69 67 63 61 70 74 WeakButNotAtomic</cite></figcapt
9e7a0 69 6f 6e 3e 3c 70 72 65 3e 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d ion><pre><code><span.class="tok-
9e7c0 6b 77 22 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
9e7e0 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 6e n">cmpxchgWeakButNotAtomic</span
9e800 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<
9e820 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"
9e840 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 5f >type</span>,.ptr:.*T,.expected_
9e860 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 0a 20 20 20 value:.T,.new_value:.T).?T.{....
9e880 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 63 6f 6e 73 74 3c 2f 73 70 61 .<span.class="tok-kw">const</spa
9e8a0 6e 3e 20 6f 6c 64 5f 76 61 6c 75 65 20 3d 20 70 74 72 2e 2a 3b 0a 20 20 20 20 3c 73 70 61 6e 20 n>.old_value.=.ptr.*;.....<span.
9e8c0 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 69 66 3c 2f 73 70 61 6e 3e 20 28 6f 6c 64 5f 76 61 class="tok-kw">if</span>.(old_va
9e8e0 6c 75 65 20 3d 3d 20 65 78 70 65 63 74 65 64 5f 76 61 6c 75 65 20 3c 73 70 61 6e 20 63 6c 61 73 lue.==.expected_value.<span.clas
9e900 73 3d 22 74 6f 6b 2d 6b 77 22 3e 61 6e 64 3c 2f 73 70 61 6e 3e 20 75 73 75 61 6c 6c 79 54 72 75 s="tok-kw">and</span>.usuallyTru
9e920 65 42 75 74 53 6f 6d 65 74 69 6d 65 73 46 61 6c 73 65 28 29 29 20 7b 0a 20 20 20 20 20 20 20 20 eButSometimesFalse()).{.........
9e940 70 74 72 2e 2a 20 3d 20 6e 65 77 5f 76 61 6c 75 65 3b 0a 20 20 20 20 20 20 20 20 3c 73 70 61 6e ptr.*.=.new_value;.........<span
9e960 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
9e980 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>
9e9a0 3b 0a 20 20 20 20 7d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 65 6c 73 ;.....}.<span.class="tok-kw">els
9e9c0 65 3c 2f 73 70 61 6e 3e 20 7b 0a 20 20 20 20 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 e</span>.{.........<span.class="
9e9e0 74 6f 6b 2d 6b 77 22 3e 72 65 74 75 72 6e 3c 2f 73 70 61 6e 3e 20 6f 6c 64 5f 76 61 6c 75 65 3b tok-kw">return</span>.old_value;
9ea00 0a 20 20 20 20 7d 0a 7d 3c 2f 63 6f 64 65 3e 3c 2f 70 72 65 3e 3c 2f 66 69 67 75 72 65 3e 0a 20 .....}.}</code></pre></figure>..
9ea20 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.
9ea40 63 6d 70 78 63 68 67 20 69 6e 20 61 20 72 65 74 72 79 20 6c 6f 6f 70 2c 20 74 68 65 20 73 70 6f cmpxchg.in.a.retry.loop,.the.spo
9ea60 72 61 64 69 63 20 66 61 69 6c 75 72 65 20 77 69 6c 6c 20 62 65 20 6e 6f 20 70 72 6f 62 6c 65 6d radic.failure.will.be.no.problem
9ea80 2c 20 61 6e 64 20 3c 63 6f 64 65 3e 63 6d 70 78 63 68 67 57 65 61 6b 3c 2f 63 6f 64 65 3e 0a 20 ,.and.<code>cmpxchgWeak</code>..
9eaa0 20 20 20 20 20 69 73 20 74 68 65 20 62 65 74 74 65 72 20 63 68 6f 69 63 65 2c 20 62 65 63 61 75 .....is.the.better.choice,.becau
9eac0 73 65 20 69 74 20 63 61 6e 20 62 65 20 69 6d 70 6c 65 6d 65 6e 74 65 64 20 6d 6f 72 65 20 65 66 se.it.can.be.implemented.more.ef
9eae0 66 69 63 69 65 6e 74 6c 79 20 69 6e 20 6d 61 63 68 69 6e 65 20 69 6e 73 74 72 75 63 74 69 6f 6e ficiently.in.machine.instruction
9eb00 73 2e 0a 20 20 20 20 20 20 48 6f 77 65 76 65 72 20 69 66 20 79 6f 75 20 6e 65 65 64 20 61 20 73 s........However.if.you.need.a.s
9eb20 74 72 6f 6e 67 65 72 20 67 75 61 72 61 6e 74 65 65 2c 20 75 73 65 20 3c 61 20 68 72 65 66 3d 22 tronger.guarantee,.use.<a.href="
9eb40 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 2f #cmpxchgStrong">@cmpxchgStrong</
9eb60 61 3e 2e 0a 20 20 20 20 20 20 3c 2f 70 3e 0a 20 20 20 20 20 20 3c 70 3e 0a 20 20 20 20 20 20 3c a>........</p>.......<p>.......<
9eb80 63 6f 64 65 3e 54 3c 2f 63 6f 64 65 3e 20 6d 75 73 74 20 62 65 20 61 20 70 6f 69 6e 74 65 72 2c code>T</code>.must.be.a.pointer,
9eba0 20 61 20 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e .a.<code><span.class="tok-type">
9ebc0 62 6f 6f 6c 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 2c 0a 20 20 20 20 20 20 61 6e 20 69 6e 74 bool</span></code>,.......an.int
9ebe0 65 67 65 72 2c 20 61 6e 20 65 6e 75 6d 2c 20 6f 72 20 61 20 70 61 63 6b 65 64 20 73 74 72 75 63 eger,.an.enum,.or.a.packed.struc
9ec00 74 2e 0a 20 20 20 20 20 20 3c 2f 70 3e 0a 20 20 20 20 20 20 3c 70 3e 3c 63 6f 64 65 3e 3c 73 70 t........</p>.......<p><code><sp
9ec20 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 62 75 69 6c 74 69 6e 22 3e 40 74 79 70 65 49 6e 66 6f an.class="tok-builtin">@typeInfo
9ec40 3c 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
9ec60 22 3e 40 54 79 70 65 4f 66 3c 2f 73 70 61 6e 3e 28 70 74 72 29 29 2e 70 6f 69 6e 74 65 72 2e 61 ">@TypeOf</span>(ptr)).pointer.a
9ec80 6c 69 67 6e 6d 65 6e 74 3c 2f 63 6f 64 65 3e 20 6d 75 73 74 20 62 65 20 3c 63 6f 64 65 3e 26 67 lignment</code>.must.be.<code>&g
9eca0 74 3b 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 62 75 69 6c 74 69 6e 22 3e 40 73 t;=.<span.class="tok-builtin">@s
9ecc0 69 7a 65 4f 66 3c 2f 73 70 61 6e 3e 28 54 29 2e 3c 2f 63 6f 64 65 3e 3c 2f 70 3e 0a 20 20 20 20 izeOf</span>(T).</code></p>.....
9ece0 20 20 3c 70 3e 3c 63 6f 64 65 3e 41 74 6f 6d 69 63 4f 72 64 65 72 3c 2f 63 6f 64 65 3e 20 63 61 ..<p><code>AtomicOrder</code>.ca
9ed00 6e 20 62 65 20 66 6f 75 6e 64 20 77 69 74 68 20 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 n.be.found.with.<code><span.clas
9ed20 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>(<
9ed40 73 70 61 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
9ed60 75 6f 74 3b 3c 2f 73 70 61 6e 3e 29 2e 6c 61 6e 67 2e 41 74 6f 6d 69 63 4f 72 64 65 72 3c 2f 63 uot;</span>).lang.AtomicOrder</c
9ed80 6f 64 65 3e 2e 3c 2f 70 3e 0a 20 20 20 20 20 20 3c 70 3e 53 65 65 20 61 6c 73 6f 3a 3c 2f 70 3e ode>.</p>.......<p>See.also:</p>
9eda0 3c 75 6c 3e 0a 3c 6c 69 3e 3c 61 20 68 72 65 66 3d 22 23 61 74 6f 6d 69 63 53 74 6f 72 65 22 3e <ul>.<li><a.href="#atomicStore">
9edc0 40 61 74 6f 6d 69 63 53 74 6f 72 65 3c 2f 61 3e 3c 2f 6c 69 3e 0a 3c 6c 69 3e 3c 61 20 68 72 65 @atomicStore</a></li>.<li><a.hre
9ede0 66 3d 22 23 61 74 6f 6d 69 63 4c 6f 61 64 22 3e 40 61 74 6f 6d 69 63 4c 6f 61 64 3c 2f 61 3e 3c f="#atomicLoad">@atomicLoad</a><
9ee00 2f 6c 69 3e 0a 3c 6c 69 3e 3c 61 20 68 72 65 66 3d 22 23 61 74 6f 6d 69 63 52 6d 77 22 3e 40 61 /li>.<li><a.href="#atomicRmw">@a
9ee20 74 6f 6d 69 63 52 6d 77 3c 2f 61 3e 3c 2f 6c 69 3e 0a 3c 6c 69 3e 3c 61 20 68 72 65 66 3d 22 23 tomicRmw</a></li>.<li><a.href="#
9ee40 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 2f 61 cmpxchgStrong">@cmpxchgStrong</a
9ee60 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.
9ee80 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 2e 78 id="compileError"><a.href="nav.x
9eea0 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 65 45 html#toc-compileError">@compileE
9eec0 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 23 63 rror</a>.<a.class="hdr".href="#c
9eee0 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 20 20 ompileError">..</a></h3>........
9ef00 3c 70 72 65 3e 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 62 75 69 6c <pre><code><span.class="tok-buil
9ef20 74 69 6e 22 3e 40 63 6f 6d 70 69 6c 65 45 72 72 6f 72 3c 2f 73 70 61 6e 3e 28 3c 73 70 61 6e 20 tin">@compileError</span>(<span.
9ef40 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 6d class="tok-kw">comptime</span>.m
9ef60 73 67 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 sg:.[]<span.class="tok-kw">const
9ef80 3c 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
9efa0 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"
9efc0 3e 6e 6f 72 65 74 75 72 6e 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 3c 2f 70 72 65 3e 0a 20 20 >noreturn</span></code></pre>...
9efe0 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 2c 20 77 68 65 ....<p>.......This.function,.whe
9f000 6e 20 73 65 6d 61 6e 74 69 63 61 6c 6c 79 20 61 6e 61 6c 79 7a 65 64 2c 20 63 61 75 73 65 73 20 n.semantically.analyzed,.causes.
9f020 61 20 63 6f 6d 70 69 6c 65 20 65 72 72 6f 72 20 77 69 74 68 20 74 68 65 0a 20 20 20 20 20 20 6d a.compile.error.with.the.......m
9f040 65 73 73 61 67 65 20 3c 63 6f 64 65 3e 6d 73 67 3c 2f 63 6f 64 65 3e 2e 0a 20 20 20 20 20 20 3c essage.<code>msg</code>........<
9f060 2f 70 3e 0a 20 20 20 20 20 20 3c 70 3e 0a 20 20 20 20 20 20 54 68 65 72 65 20 61 72 65 20 73 65 /p>.......<p>.......There.are.se
9f080 76 65 72 61 6c 20 77 61 79 73 20 74 68 61 74 20 63 6f 64 65 20 61 76 6f 69 64 73 20 62 65 69 6e veral.ways.that.code.avoids.bein
9f0a0 67 20 73 65 6d 61 6e 74 69 63 61 6c 6c 79 20 63 68 65 63 6b 65 64 2c 20 73 75 63 68 20 61 73 0a g.semantically.checked,.such.as.
9f0c0 20 20 20 20 20 20 75 73 69 6e 67 20 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 ......using.<code><span.class="t
9f0e0 6f 6b 2d 6b 77 22 3e 69 66 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 20 6f 72 20 3c 63 6f 64 65 ok-kw">if</span></code>.or.<code
9f100 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
9f120 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 6e an></code>.with.compile.time.con
9f140 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 3e stants,...............and.<code>
9f160 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
9f180 70 61 6e 3e 3c 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 pan></code>.functions........</p
9f1a0 3e 0a 20 20 20 20 20 20 0a 0a 20 20 20 20 20 20 3c 68 33 20 69 64 3d 22 63 6f 6d 70 69 6c 65 4c >...............<h3.id="compileL
9f1c0 6f 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 6f 6d 70 69 og"><a.href="nav.xhtml#toc-compi
9f1e0 6c 65 4c 6f 67 22 3e 40 63 6f 6d 70 69 6c 65 4c 6f 67 3c 2f 61 3e 20 3c 61 20 63 6c 61 73 73 3d leLog">@compileLog</a>.<a.class=
9f200 22 68 64 72 22 20 68 72 65 66 3d 22 23 63 6f 6d 70 69 6c 65 4c 6f 67 22 3e c2 a7 3c 2f 61 3e 3c "hdr".href="#compileLog">..</a><
9f220 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
9f240 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 73 70 ss="tok-builtin">@compileLog</sp
9f260 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 79 70 65 22 3e an>(...).<span.class="tok-type">
9f280 76 6f 69 64 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 3c 2f 70 72 65 3e 0a 20 20 20 20 20 20 3c void</span></code></pre>.......<
9f2a0 70 3e 0a 20 20 20 20 20 20 54 68 69 73 20 66 75 6e 63 74 69 6f 6e 20 70 72 69 6e 74 73 20 74 68 p>.......This.function.prints.th
9f2c0 65 20 61 72 67 75 6d 65 6e 74 73 20 70 61 73 73 65 64 20 74 6f 20 69 74 20 61 74 20 63 6f 6d 70 e.arguments.passed.to.it.at.comp
9f2e0 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 20 ile-time........</p>.......<p>..
9f300 20 20 20 20 20 54 6f 20 70 72 65 76 65 6e 74 20 61 63 63 69 64 65 6e 74 61 6c 6c 79 20 6c 65 61 .....To.prevent.accidentally.lea
9f320 76 69 6e 67 20 63 6f 6d 70 69 6c 65 20 6c 6f 67 20 73 74 61 74 65 6d 65 6e 74 73 20 69 6e 20 61 ving.compile.log.statements.in.a
9f340 20 63 6f 64 65 62 61 73 65 2c 0a 20 20 20 20 20 20 61 20 63 6f 6d 70 69 6c 61 74 69 6f 6e 20 65 .codebase,.......a.compilation.e
9f360 72 72 6f 72 20 69 73 20 61 64 64 65 64 20 74 6f 20 74 68 65 20 62 75 69 6c 64 2c 20 70 6f 69 6e rror.is.added.to.the.build,.poin
9f380 74 69 6e 67 20 74 6f 20 74 68 65 20 63 6f 6d 70 69 6c 65 0a 20 20 20 20 20 20 6c 6f 67 20 73 74 ting.to.the.compile.......log.st
9f3a0 61 74 65 6d 65 6e 74 2e 20 54 68 69 73 20 65 72 72 6f 72 20 70 72 65 76 65 6e 74 73 20 63 6f 64 atement..This.error.prevents.cod
9f3c0 65 20 66 72 6f 6d 20 62 65 69 6e 67 20 67 65 6e 65 72 61 74 65 64 2c 20 62 75 74 0a 20 20 20 20 e.from.being.generated,.but.....
9f3e0 20 20 64 6f 65 73 20 6e 6f 74 20 6f 74 68 65 72 77 69 73 65 20 69 6e 74 65 72 66 65 72 65 20 77 ..does.not.otherwise.interfere.w
9f400 69 74 68 20 61 6e 61 6c 79 73 69 73 2e 0a 20 20 20 20 20 20 3c 2f 70 3e 0a 20 20 20 20 20 20 3c ith.analysis........</p>.......<
9f420 70 3e 0a 20 20 20 20 20 20 54 68 69 73 20 66 75 6e 63 74 69 6f 6e 20 63 61 6e 20 62 65 20 75 73 p>.......This.function.can.be.us
9f440 65 64 20 74 6f 20 64 6f 20 22 70 72 69 6e 74 66 20 64 65 62 75 67 67 69 6e 67 22 20 6f 6e 0a 20 ed.to.do."printf.debugging".on..
9f460 20 20 20 20 20 63 6f 6d 70 69 6c 65 2d 74 69 6d 65 20 65 78 65 63 75 74 69 6e 67 20 63 6f 64 65 .....compile-time.executing.code
9f480 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
9f4a0 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
9f4c0 73 73 3d 22 66 69 6c 65 22 3e 74 65 73 74 5f 63 6f 6d 70 69 6c 65 4c 6f 67 5f 62 75 69 6c 74 69 ss="file">test_compileLog_builti
9f4e0 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
9f500 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 63 6f 6e 73 74 3c 2f ode><span.class="tok-kw">const</
9f520 73 70 61 6e 3e 20 70 72 69 6e 74 20 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 62 span>.print.=.<span.class="tok-b
9f540 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
9f560 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
9f580 61 6e 3e 29 2e 64 65 62 75 67 2e 70 72 69 6e 74 3b 0a 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 an>).debug.print;..<span.class="
9f5a0 74 6f 6b 2d 6b 77 22 3e 63 6f 6e 73 74 3c 2f 73 70 61 6e 3e 20 6e 75 6d 31 20 3d 20 62 6c 6b 3a tok-kw">const</span>.num1.=.blk:
9f5c0 20 7b 0a 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 76 61 72 3c .{.....<span.class="tok-kw">var<
9f5e0 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 74 6f 6b 2d 74 79 /span>.val1:.<span.class="tok-ty
9f600 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
9f620 6b 2d 6e 75 6d 62 65 72 22 3e 39 39 3c 2f 73 70 61 6e 3e 3b 0a 20 20 20 20 3c 73 70 61 6e 20 63 k-number">99</span>;.....<span.c
9f640 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</
9f660 73 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
9f680 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>,
9f6a0 20 76 61 6c 31 29 3b 0a 20 20 20 20 76 61 6c 31 20 3d 20 76 61 6c 31 20 2b 20 3c 73 70 61 6e 20 .val1);.....val1.=.val1.+.<span.
9f6c0 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 31 3c 2f 73 70 61 6e 3e 3b 0a 20 20 20 class="tok-number">1</span>;....
9f6e0 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 62 72 65 61 6b 3c 2f 73 70 61 .<span.class="tok-kw">break</spa
9f700 6e 3e 20 3a 62 6c 6b 20 76 61 6c 31 3b 0a 7d 3b 0a 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 n>.:blk.val1;.};..<span.class="t
9f720 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="
9f740 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 6e 3e tok-str">&quot;main&quot;</span>
9f760 20 7b 0a 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 62 75 69 6c 74 69 6e 22 .{.....<span.class="tok-builtin"
9f780 3e 40 63 6f 6d 70 69 6c 65 4c 6f 67 3c 2f 73 70 61 6e 3e 28 3c 73 70 61 6e 20 63 6c 61 73 73 3d >@compileLog</span>(<span.class=
9f7a0 22 74 6f 6b 2d 73 74 72 22 3e 26 71 75 6f 74 3b 63 6f 6d 70 74 69 6d 65 20 69 6e 20 6d 61 69 6e "tok-str">&quot;comptime.in.main
9f7c0 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 29 3b 0a 0a 20 20 20 20 70 72 69 6e 74 28 3c 73 70 61 6e &quot;</span>);......print(<span
9f7e0 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 74 69 6d 65 20 69 .class="tok-str">&quot;Runtime.i
9f800 6e 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 3c 2f 73 70 61 6e n.main,.num1.=.{}.\n&quot;</span
9f820 3e 2c 20 2e 7b 6e 75 6d 31 7d 29 3b 0a 7d 3c 2f 63 6f 64 65 3e 3c 2f 70 72 65 3e 3c 2f 66 69 67 >,..{num1});.}</code></pre></fig
9f840 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
9f860 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
9f880 3e 3c 73 61 6d 70 3e 24 20 3c 6b 62 64 3e 7a 69 67 20 74 65 73 74 20 74 65 73 74 5f 63 6f 6d 70 ><samp>$.<kbd>zig.test.test_comp
9f8a0 69 6c 65 4c 6f 67 5f 62 75 69 6c 74 69 6e 2e 7a 69 67 3c 2f 6b 62 64 3e 0a 3c 73 70 61 6e 20 63 ileLog_builtin.zig</kbd>.<span.c
9f8c0 6c 61 73 73 3d 22 73 67 72 2d 31 6d 22 3e 2f 68 6f 6d 65 2f 63 69 2f 77 6f 72 6b 2f 7a 69 67 2d lass="sgr-1m">/home/ci/work/zig-
9f8e0 62 6f 6f 74 73 74 72 61 70 2f 7a 69 67 2f 64 6f 63 2f 6c 61 6e 67 72 65 66 2f 74 65 73 74 5f 63 bootstrap/zig/doc/langref/test_c
9f900 6f 6d 70 69 6c 65 4c 6f 67 5f 62 75 69 6c 74 69 6e 2e 7a 69 67 3a 35 3a 35 3a 20 3c 2f 73 70 61 ompileLog_builtin.zig:5:5:.</spa
9f920 6e 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 73 67 72 2d 33 31 6d 22 3e 65 72 72 6f 72 3a 20 3c n><span.class="sgr-31m">error:.<
9f940 2f 73 70 61 6e 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 73 67 72 2d 31 6d 22 3e 66 6f 75 6e 64 /span><span.class="sgr-1m">found
9f960 20 63 6f 6d 70 69 6c 65 20 6c 6f 67 20 73 74 61 74 65 6d 65 6e 74 0a 3c 2f 73 70 61 6e 3e 20 20 .compile.log.statement.</span>..
9f980 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 61 6c ..@compileLog(&quot;comptime.val
9f9a0 31 20 3d 20 26 71 75 6f 74 3b 2c 20 76 61 6c 31 29 3b 0a 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 1.=.&quot;,.val1);.....<span.cla
9f9c0 73 73 3d 22 73 67 72 2d 33 32 6d 22 3e 5e 7e 7e 7e 7e 7e 7e 7e 7e 7e 7e 7e 7e 7e 7e 7e 7e 7e 7e ss="sgr-32m">^~~~~~~~~~~~~~~~~~~
9f9e0 7e 7e 7e 7e 7e 7e 7e 7e 7e 7e 7e 7e 7e 7e 7e 7e 7e 7e 0a 3c 2f 73 70 61 6e 3e 3c 73 70 61 6e 20 ~~~~~~~~~~~~~~~~~~.</span><span.
9fa00 63 6c 61 73 73 3d 22 73 67 72 2d 31 6d 22 3e 2f 68 6f 6d 65 2f 63 69 2f 77 6f 72 6b 2f 7a 69 67 class="sgr-1m">/home/ci/work/zig
9fa20 2d 62 6f 6f 74 73 74 72 61 70 2f 7a 69 67 2f 64 6f 63 2f 6c 61 6e 67 72 65 66 2f 74 65 73 74 5f -bootstrap/zig/doc/langref/test_
9fa40 63 6f 6d 70 69 6c 65 4c 6f 67 5f 62 75 69 6c 74 69 6e 2e 7a 69 67 3a 31 31 3a 35 3a 20 3c 2f 73 compileLog_builtin.zig:11:5:.</s
9fa60 70 61 6e 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 73 67 72 2d 33 36 6d 22 3e 6e 6f 74 65 3a 20 pan><span.class="sgr-36m">note:.
9fa80 3c 2f 73 70 61 6e 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 73 67 72 2d 31 6d 22 3e 61 6c 73 6f </span><span.class="sgr-1m">also
9faa0 20 68 65 72 65 0a 3c 2f 73 70 61 6e 3e 20 20 20 20 40 63 6f 6d 70 69 6c 65 4c 6f 67 28 26 71 75 .here.</span>....@compileLog(&qu
9fac0 6f 74 3b 63 6f 6d 70 74 69 6d 65 20 69 6e 20 6d 61 69 6e 26 71 75 6f 74 3b 29 3b 0a 20 20 20 20 ot;comptime.in.main&quot;);.....
9fae0 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 73 67 72 2d 33 32 6d 22 3e 5e 7e 7e 7e 7e 7e 7e 7e 7e 7e <span.class="sgr-32m">^~~~~~~~~~
9fb00 7e 7e 7e 7e 7e 7e 7e 7e 7e 7e 7e 7e 7e 7e 7e 7e 7e 7e 7e 7e 7e 0a 3c 2f 73 70 61 6e 3e 3c 73 70 ~~~~~~~~~~~~~~~~~~~~~.</span><sp
9fb20 61 6e 20 63 6c 61 73 73 3d 22 73 67 72 2d 32 6d 22 3e 72 65 66 65 72 65 6e 63 65 64 20 62 79 3a an.class="sgr-2m">referenced.by:
9fb40 0a 20 20 20 20 74 65 73 74 2e 6d 61 69 6e 3a 20 2f 68 6f 6d 65 2f 63 69 2f 77 6f 72 6b 2f 7a 69 .....test.main:./home/ci/work/zi
9fb60 67 2d 62 6f 6f 74 73 74 72 61 70 2f 7a 69 67 2f 64 6f 63 2f 6c 61 6e 67 72 65 66 2f 74 65 73 74 g-bootstrap/zig/doc/langref/test
9fb80 5f 63 6f 6d 70 69 6c 65 4c 6f 67 5f 62 75 69 6c 74 69 6e 2e 7a 69 67 3a 31 33 3a 34 36 0a 3c 2f _compileLog_builtin.zig:13:46.</
9fba0 73 70 61 6e 3e 0a 43 6f 6d 70 69 6c 65 20 4c 6f 67 20 4f 75 74 70 75 74 3a 0a 40 61 73 28 2a 63 span>.Compile.Log.Output:.@as(*c
9fbc0 6f 6e 73 74 20 5b 31 36 3a 30 5d 75 38 2c 20 26 71 75 6f 74 3b 63 6f 6d 70 74 69 6d 65 20 76 61 onst.[16:0]u8,.&quot;comptime.va
9fbe0 6c 31 20 3d 20 26 71 75 6f 74 3b 29 2c 20 40 61 73 28 69 33 32 2c 20 39 39 29 0a 40 61 73 28 2a l1.=.&quot;),.@as(i32,.99).@as(*
9fc00 63 6f 6e 73 74 20 5b 31 36 3a 30 5d 75 38 2c 20 26 71 75 6f 74 3b 63 6f 6d 70 74 69 6d 65 20 69 const.[16:0]u8,.&quot;comptime.i
9fc20 6e 20 6d 61 69 6e 26 71 75 6f 74 3b 29 0a 3c 2f 73 61 6d 70 3e 3c 2f 70 72 65 3e 3c 2f 66 69 67 n.main&quot;).</samp></pre></fig
9fc40 75 72 65 3e 0a 0a 20 20 20 20 20 20 0a 0a 20 20 20 20 20 20 3c 68 33 20 69 64 3d 22 63 6f 6e 73 ure>................<h3.id="cons
9fc60 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 74 6f 63 2d 63 6f tCast"><a.href="nav.xhtml#toc-co
9fc80 6e 73 74 43 61 73 74 22 3e 40 63 6f 6e 73 74 43 61 73 74 3c 2f 61 3e 20 3c 61 20 63 6c 61 73 73 nstCast">@constCast</a>.<a.class
9fca0 3d 22 68 64 72 22 20 68 72 65 66 3d 22 23 63 6f 6e 73 74 43 61 73 74 22 3e c2 a7 3c 2f 61 3e 3c ="hdr".href="#constCast">..</a><
9fcc0 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
9fce0 73 73 3d 22 74 6f 6b 2d 62 75 69 6c 74 69 6e 22 3e 40 63 6f 6e 73 74 43 61 73 74 3c 2f 73 70 61 ss="tok-builtin">@constCast</spa
9fd00 6e 3e 28 76 61 6c 75 65 3a 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 61 n>(value:.<span.class="tok-kw">a
9fd20 6e 79 74 79 70 65 3c 2f 73 70 61 6e 3e 29 20 44 65 73 74 54 79 70 65 3c 2f 63 6f 64 65 3e 3c 2f nytype</span>).DestType</code></
9fd40 70 72 65 3e 0a 20 20 20 20 20 20 3c 70 3e 0a 20 20 20 20 20 20 52 65 6d 6f 76 65 20 3c 63 6f 64 pre>.......<p>.......Remove.<cod
9fd60 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 63 6f 6e 73 74 3c 2f 73 70 e><span.class="tok-kw">const</sp
9fd80 61 6e 3e 3c 2f 63 6f 64 65 3e 20 71 75 61 6c 69 66 69 65 72 20 66 72 6f 6d 20 61 20 70 6f 69 6e an></code>.qualifier.from.a.poin
9fda0 74 65 72 2e 0a 20 20 20 20 20 20 3c 2f 70 3e 0a 20 20 20 20 20 20 0a 0a 20 20 20 20 20 20 3c 68 ter........</p>...............<h
9fdc0 33 20 69 64 3d 22 63 74 7a 22 3e 3c 61 20 68 72 65 66 3d 22 6e 61 76 2e 78 68 74 6d 6c 23 74 6f 3.id="ctz"><a.href="nav.xhtml#to
9fde0 63 2d 63 74 7a 22 3e 40 63 74 7a 3c 2f 61 3e 20 3c 61 20 63 6c 61 73 73 3d 22 68 64 72 22 20 68 c-ctz">@ctz</a>.<a.class="hdr".h
9fe00 72 65 66 3d 22 23 63 74 7a 22 3e c2 a7 3c 2f 61 3e 3c 2f 68 33 3e 0a 0a 20 20 20 20 20 20 3c 70 ref="#ctz">..</a></h3>........<p
9fe20 72 65 3e 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 62 75 69 6c 74 69 re><code><span.class="tok-builti
9fe40 6e 22 3e 40 63 74 7a 3c 2f 73 70 61 6e 3e 28 6f 70 65 72 61 6e 64 3a 20 3c 73 70 61 6e 20 63 6c n">@ctz</span>(operand:.<span.cl
9fe60 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 61 6e 79 74 79 70 65 3c 2f 73 70 61 6e 3e 29 20 3c 73 70 ass="tok-kw">anytype</span>).<sp
9fe80 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>
9fea0 3c 2f 63 6f 64 65 3e 3c 2f 70 72 65 3e 0a 20 20 20 20 20 20 3c 70 3e 3c 63 6f 64 65 3e 3c 73 70 </code></pre>.......<p><code><sp
9fec0 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</
9fee0 73 70 61 6e 3e 28 6f 70 65 72 61 6e 64 29 3c 2f 63 6f 64 65 3e 20 6d 75 73 74 20 62 65 20 61 6e span>(operand)</code>.must.be.an
9ff00 20 69 6e 74 65 67 65 72 20 74 79 70 65 20 6f 72 20 61 6e 20 69 6e 74 65 67 65 72 20 76 65 63 74 .integer.type.or.an.integer.vect
9ff20 6f 72 20 74 79 70 65 2e 3c 2f 70 3e 0a 20 20 20 20 20 20 3c 70 3e 3c 63 6f 64 65 3e 6f 70 65 72 or.type.</p>.......<p><code>oper
9ff40 61 6e 64 3c 2f 63 6f 64 65 3e 20 6d 61 79 20 62 65 20 61 6e 20 3c 61 20 68 72 65 66 3d 22 23 49 and</code>.may.be.an.<a.href="#I
9ff60 6e 74 65 67 65 72 73 22 3e 69 6e 74 65 67 65 72 3c 2f 61 3e 20 6f 72 20 3c 61 20 68 72 65 66 3d ntegers">integer</a>.or.<a.href=
9ff80 22 23 56 65 63 74 6f 72 73 22 3e 76 65 63 74 6f 72 3c 2f 61 3e 2e 3c 2f 70 3e 0a 20 20 20 20 20 "#Vectors">vector</a>.</p>......
9ffa0 20 3c 70 3e 0a 20 20 20 20 20 20 43 6f 75 6e 74 73 20 74 68 65 20 6e 75 6d 62 65 72 20 6f 66 20 .<p>.......Counts.the.number.of.
9ffc0 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 61 least-significant.(trailing.in.a
9ffe0 20 62 69 67 2d 65 6e 64 69 61 6e 20 73 65 6e 73 65 29 20 7a 65 72 6f 65 73 20 69 6e 20 61 6e 20 .big-endian.sense).zeroes.in.an.
a0000 69 6e 74 65 67 65 72 20 2d 20 22 63 6f 75 6e 74 20 74 72 61 69 6c 69 6e 67 20 7a 65 72 6f 65 73 integer.-."count.trailing.zeroes
a0020 22 2e 0a 20 20 20 20 20 20 3c 2f 70 3e 0a 20 20 20 20 20 20 3c 70 3e 0a 20 20 20 20 20 20 54 68 "........</p>.......<p>.......Th
a0040 65 20 72 65 74 75 72 6e 20 74 79 70 65 20 69 73 20 61 6e 20 75 6e 73 69 67 6e 65 64 20 69 6e 74 e.return.type.is.an.unsigned.int
a0060 65 67 65 72 20 6f 72 20 76 65 63 74 6f 72 20 6f 66 20 75 6e 73 69 67 6e 65 64 20 69 6e 74 65 67 eger.or.vector.of.unsigned.integ
a0080 65 72 73 20 77 69 74 68 20 74 68 65 20 6d 69 6e 69 6d 75 6d 20 6e 75 6d 62 65 72 0a 20 20 20 20 ers.with.the.minimum.number.....
a00a0 20 20 6f 66 20 62 69 74 73 20 74 68 61 74 20 63 61 6e 20 72 65 70 72 65 73 65 6e 74 20 74 68 65 ..of.bits.that.can.represent.the
a00c0 20 62 69 74 20 63 6f 75 6e 74 20 6f 66 20 74 68 65 20 69 6e 74 65 67 65 72 20 74 79 70 65 2e 0a .bit.count.of.the.integer.type..
a00e0 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
a0100 6f 64 65 3e 6f 70 65 72 61 6e 64 3c 2f 63 6f 64 65 3e 20 69 73 20 7a 65 72 6f 2c 20 3c 63 6f 64 ode>operand</code>.is.zero,.<cod
a0120 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 62 75 69 6c 74 69 6e 22 3e 40 63 74 7a e><span.class="tok-builtin">@ctz
a0140 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 20 72 65 74 75 72 6e 73 0a 20 20 20 20 20 20 74 68 65 </span></code>.returns.......the
a0160 20 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 .bit.width.of.integer.type.<code
a0180 3e 54 3c 2f 63 6f 64 65 3e 2e 0a 20 20 20 20 20 20 3c 2f 70 3e 0a 20 20 20 20 20 20 3c 70 3e 53 >T</code>........</p>.......<p>S
a01a0 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 63 ee.also:</p><ul>.<li><a.href="#c
a01c0 6c 7a 22 3e 40 63 6c 7a 3c 2f 61 3e 3c 2f 6c 69 3e 0a 3c 6c 69 3e 3c 61 20 68 72 65 66 3d 22 23 lz">@clz</a></li>.<li><a.href="#
a01e0 70 6f 70 43 6f 75 6e 74 22 3e 40 70 6f 70 43 6f 75 6e 74 3c 2f 61 3e 3c 2f 6c 69 3e 0a 3c 2f 75 popCount">@popCount</a></li>.</u
a0200 6c 3e 0a 0a 20 20 20 20 20 20 0a 0a 20 20 20 20 20 20 3c 68 33 20 69 64 3d 22 63 56 61 41 72 67 l>................<h3.id="cVaArg
a0220 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 56 61 41 72 67 22 "><a.href="nav.xhtml#toc-cVaArg"
a0240 3e 40 63 56 61 41 72 67 3c 2f 61 3e 20 3c 61 20 63 6c 61 73 73 3d 22 68 64 72 22 20 68 72 65 66 >@cVaArg</a>.<a.class="hdr".href
a0260 3d 22 23 63 56 61 41 72 67 22 3e c2 a7 3c 2f 61 3e 3c 2f 68 33 3e 0a 0a 20 20 20 20 20 20 3c 70 ="#cVaArg">..</a></h3>........<p
a0280 72 65 3e 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 62 75 69 6c 74 69 re><code><span.class="tok-builti
a02a0 6e 22 3e 40 63 56 61 41 72 67 3c 2f 73 70 61 6e 3e 28 6f 70 65 72 61 6e 64 3a 20 2a 73 74 64 2e n">@cVaArg</span>(operand:.*std.
a02c0 6c 61 6e 67 2e 56 61 4c 69 73 74 2c 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 lang.VaList,.<span.class="tok-kw
a02e0 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
a0300 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 74 79 70 65 3c 2f 73 70 61 6e 3e 29 20 54 3c 2f 63 6f 64 65 ="tok-type">type</span>).T</code
a0320 3e 3c 2f 70 72 65 3e 0a 20 20 20 20 20 20 3c 70 3e 0a 20 20 20 20 20 20 49 6d 70 6c 65 6d 65 6e ></pre>.......<p>.......Implemen
a0340 74 73 20 74 68 65 20 43 20 6d 61 63 72 6f 20 3c 63 6f 64 65 3e 76 61 5f 61 72 67 3c 2f 63 6f 64 ts.the.C.macro.<code>va_arg</cod
a0360 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
a0380 3a 3c 2f 70 3e 3c 75 6c 3e 0a 3c 6c 69 3e 3c 61 20 68 72 65 66 3d 22 23 63 56 61 43 6f 70 79 22 :</p><ul>.<li><a.href="#cVaCopy"
a03a0 3e 40 63 56 61 43 6f 70 79 3c 2f 61 3e 3c 2f 6c 69 3e 0a 3c 6c 69 3e 3c 61 20 68 72 65 66 3d 22 >@cVaCopy</a></li>.<li><a.href="
a03c0 23 63 56 61 45 6e 64 22 3e 40 63 56 61 45 6e 64 3c 2f 61 3e 3c 2f 6c 69 3e 0a 3c 6c 69 3e 3c 61 #cVaEnd">@cVaEnd</a></li>.<li><a
a03e0 20 68 72 65 66 3d 22 23 63 56 61 53 74 61 72 74 22 3e 40 63 56 61 53 74 61 72 74 3c 2f 61 3e 3c .href="#cVaStart">@cVaStart</a><
a0400 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=
a0420 22 63 56 61 43 6f 70 79 22 3e 3c 61 20 68 72 65 66 3d 22 6e 61 76 2e 78 68 74 6d 6c 23 74 6f 63 "cVaCopy"><a.href="nav.xhtml#toc
a0440 2d 63 56 61 43 6f 70 79 22 3e 40 63 56 61 43 6f 70 79 3c 2f 61 3e 20 3c 61 20 63 6c 61 73 73 3d -cVaCopy">@cVaCopy</a>.<a.class=
a0460 22 68 64 72 22 20 68 72 65 66 3d 22 23 63 56 61 43 6f 70 79 22 3e c2 a7 3c 2f 61 3e 3c 2f 68 33 "hdr".href="#cVaCopy">..</a></h3
a0480 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=
a04a0 22 74 6f 6b 2d 62 75 69 6c 74 69 6e 22 3e 40 63 56 61 43 6f 70 79 3c 2f 73 70 61 6e 3e 28 73 72 "tok-builtin">@cVaCopy</span>(sr
a04c0 63 3a 20 2a 73 74 64 2e 6c 61 6e 67 2e 56 61 4c 69 73 74 29 20 73 74 64 2e 6c 61 6e 67 2e 56 61 c:.*std.lang.VaList).std.lang.Va
a04e0 4c 69 73 74 3c 2f 63 6f 64 65 3e 3c 2f 70 72 65 3e 0a 20 20 20 20 20 20 3c 70 3e 0a 20 20 20 20 List</code></pre>.......<p>.....
a0500 20 20 49 6d 70 6c 65 6d 65 6e 74 73 20 74 68 65 20 43 20 6d 61 63 72 6f 20 3c 63 6f 64 65 3e 76 ..Implements.the.C.macro.<code>v
a0520 61 5f 63 6f 70 79 3c 2f 63 6f 64 65 3e 2e 0a 20 20 20 20 20 20 3c 2f 70 3e 0a 20 20 20 20 20 20 a_copy</code>........</p>.......
a0540 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
a0560 3d 22 23 63 56 61 41 72 67 22 3e 40 63 56 61 41 72 67 3c 2f 61 3e 3c 2f 6c 69 3e 0a 3c 6c 69 3e ="#cVaArg">@cVaArg</a></li>.<li>
a0580 3c 61 20 68 72 65 66 3d 22 23 63 56 61 45 6e 64 22 3e 40 63 56 61 45 6e 64 3c 2f 61 3e 3c 2f 6c <a.href="#cVaEnd">@cVaEnd</a></l
a05a0 69 3e 0a 3c 6c 69 3e 3c 61 20 68 72 65 66 3d 22 23 63 56 61 53 74 61 72 74 22 3e 40 63 56 61 53 i>.<li><a.href="#cVaStart">@cVaS
a05c0 74 61 72 74 3c 2f 61 3e 3c 2f 6c 69 3e 0a 3c 2f 75 6c 3e 0a 0a 20 20 20 20 20 20 0a 20 20 20 20 tart</a></li>.</ul>.............
a05e0 20 20 3c 68 33 20 69 64 3d 22 63 56 61 45 6e 64 22 3e 3c 61 20 68 72 65 66 3d 22 6e 61 76 2e 78 ..<h3.id="cVaEnd"><a.href="nav.x
a0600 68 74 6d 6c 23 74 6f 63 2d 63 56 61 45 6e 64 22 3e 40 63 56 61 45 6e 64 3c 2f 61 3e 20 3c 61 20 html#toc-cVaEnd">@cVaEnd</a>.<a.
a0620 63 6c 61 73 73 3d 22 68 64 72 22 20 68 72 65 66 3d 22 23 63 56 61 45 6e 64 22 3e c2 a7 3c 2f 61 class="hdr".href="#cVaEnd">..</a
a0640 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
a0660 6c 61 73 73 3d 22 74 6f 6b 2d 62 75 69 6c 74 69 6e 22 3e 40 63 56 61 45 6e 64 3c 2f 73 70 61 6e lass="tok-builtin">@cVaEnd</span
a0680 3e 28 73 72 63 3a 20 2a 73 74 64 2e 6c 61 6e 67 2e 56 61 4c 69 73 74 29 20 3c 73 70 61 6e 20 63 >(src:.*std.lang.VaList).<span.c
a06a0 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 76 6f 69 64 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 lass="tok-type">void</span></cod
a06c0 65 3e 3c 2f 70 72 65 3e 0a 20 20 20 20 20 20 3c 70 3e 0a 20 20 20 20 20 20 49 6d 70 6c 65 6d 65 e></pre>.......<p>.......Impleme
a06e0 6e 74 73 20 74 68 65 20 43 20 6d 61 63 72 6f 20 3c 63 6f 64 65 3e 76 61 5f 65 6e 64 3c 2f 63 6f nts.the.C.macro.<code>va_end</co
a0700 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
a0720 6f 3a 3c 2f 70 3e 3c 75 6c 3e 0a 3c 6c 69 3e 3c 61 20 68 72 65 66 3d 22 23 63 56 61 41 72 67 22 o:</p><ul>.<li><a.href="#cVaArg"
a0740 3e 40 63 56 61 41 72 67 3c 2f 61 3e 3c 2f 6c 69 3e 0a 3c 6c 69 3e 3c 61 20 68 72 65 66 3d 22 23 >@cVaArg</a></li>.<li><a.href="#
a0760 63 56 61 43 6f 70 79 22 3e 40 63 56 61 43 6f 70 79 3c 2f 61 3e 3c 2f 6c 69 3e 0a 3c 6c 69 3e 3c cVaCopy">@cVaCopy</a></li>.<li><
a0780 61 20 68 72 65 66 3d 22 23 63 56 61 53 74 61 72 74 22 3e 40 63 56 61 53 74 61 72 74 3c 2f 61 3e a.href="#cVaStart">@cVaStart</a>
a07a0 3c 2f 6c 69 3e 0a 3c 2f 75 6c 3e 0a 0a 20 20 20 20 20 20 0a 20 20 20 20 20 20 3c 68 33 20 69 64 </li>.</ul>...............<h3.id
a07c0 3d 22 63 56 61 53 74 61 72 74 22 3e 3c 61 20 68 72 65 66 3d 22 6e 61 76 2e 78 68 74 6d 6c 23 74 ="cVaStart"><a.href="nav.xhtml#t
a07e0 6f 63 2d 63 56 61 53 74 61 72 74 22 3e 40 63 56 61 53 74 61 72 74 3c 2f 61 3e 20 3c 61 20 63 6c oc-cVaStart">@cVaStart</a>.<a.cl
a0800 61 73 73 3d 22 68 64 72 22 20 68 72 65 66 3d 22 23 63 56 61 53 74 61 72 74 22 3e c2 a7 3c 2f 61 ass="hdr".href="#cVaStart">..</a
a0820 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
a0840 6c 61 73 73 3d 22 74 6f 6b 2d 62 75 69 6c 74 69 6e 22 3e 40 63 56 61 53 74 61 72 74 3c 2f 73 70 lass="tok-builtin">@cVaStart</sp
a0860 61 6e 3e 28 29 20 73 74 64 2e 6c 61 6e 67 2e 56 61 4c 69 73 74 3c 2f 63 6f 64 65 3e 3c 2f 70 72 an>().std.lang.VaList</code></pr
a0880 65 3e 0a 20 20 20 20 20 20 3c 70 3e 0a 20 20 20 20 20 20 49 6d 70 6c 65 6d 65 6e 74 73 20 74 68 e>.......<p>.......Implements.th
a08a0 65 20 43 20 6d 61 63 72 6f 20 3c 63 6f 64 65 3e 76 61 5f 73 74 61 72 74 3c 2f 63 6f 64 65 3e 2e e.C.macro.<code>va_start</code>.
a08c0 20 4f 6e 6c 79 20 76 61 6c 69 64 20 69 6e 73 69 64 65 20 61 20 76 61 72 69 61 64 69 63 20 66 75 .Only.valid.inside.a.variadic.fu
a08e0 6e 63 74 69 6f 6e 2e 0a 20 20 20 20 20 20 3c 2f 70 3e 0a 20 20 20 20 20 20 3c 70 3e 53 65 65 20 nction........</p>.......<p>See.
a0900 61 6c 73 6f 3a 3c 2f 70 3e 3c 75 6c 3e 0a 3c 6c 69 3e 3c 61 20 68 72 65 66 3d 22 23 63 56 61 41 also:</p><ul>.<li><a.href="#cVaA
a0920 72 67 22 3e 40 63 56 61 41 72 67 3c 2f 61 3e 3c 2f 6c 69 3e 0a 3c 6c 69 3e 3c 61 20 68 72 65 66 rg">@cVaArg</a></li>.<li><a.href
a0940 3d 22 23 63 56 61 43 6f 70 79 22 3e 40 63 56 61 43 6f 70 79 3c 2f 61 3e 3c 2f 6c 69 3e 0a 3c 6c ="#cVaCopy">@cVaCopy</a></li>.<l
a0960 69 3e 3c 61 20 68 72 65 66 3d 22 23 63 56 61 45 6e 64 22 3e 40 63 56 61 45 6e 64 3c 2f 61 3e 3c i><a.href="#cVaEnd">@cVaEnd</a><
a0980 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
a09a0 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 6c 23 74 ="divExact"><a.href="nav.xhtml#t
a09c0 6f 63 2d 64 69 76 45 78 61 63 74 22 3e 40 64 69 76 45 78 61 63 74 3c 2f 61 3e 20 3c 61 20 63 6c oc-divExact">@divExact</a>.<a.cl
a09e0 61 73 73 3d 22 68 64 72 22 20 68 72 65 66 3d 22 23 64 69 76 45 78 61 63 74 22 3e c2 a7 3c 2f 61 ass="hdr".href="#divExact">..</a
a0a00 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
a0a20 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
a0a40 61 6e 3e 28 6e 75 6d 65 72 61 74 6f 72 3a 20 54 2c 20 64 65 6e 6f 6d 69 6e 61 74 6f 72 3a 20 54 an>(numerator:.T,.denominator:.T
a0a60 29 20 54 3c 2f 63 6f 64 65 3e 3c 2f 70 72 65 3e 0a 20 20 20 20 20 20 3c 70 3e 0a 20 20 20 20 20 ).T</code></pre>.......<p>......
a0a80 20 45 78 61 63 74 20 64 69 76 69 73 69 6f 6e 2e 20 43 61 6c 6c 65 72 20 67 75 61 72 61 6e 74 65 .Exact.division..Caller.guarante
a0aa0 65 73 20 3c 63 6f 64 65 3e 64 65 6e 6f 6d 69 6e 61 74 6f 72 20 21 3d 20 3c 73 70 61 6e 20 63 6c es.<code>denominator.!=.<span.cl
a0ac0 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 30 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e ass="tok-number">0</span></code>
a0ae0 20 61 6e 64 0a 20 20 20 20 20 20 20 20 20 20 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 .and...........<code><span.class
a0b00 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>(
a0b20 6e 75 6d 65 72 61 74 6f 72 2c 20 64 65 6e 6f 6d 69 6e 61 74 6f 72 29 20 2a 20 64 65 6e 6f 6d 69 numerator,.denominator).*.denomi
a0b40 6e 61 74 6f 72 20 3d 3d 20 6e 75 6d 65 72 61 74 6f 72 3c 2f 63 6f 64 65 3e 2e 0a 20 20 20 20 20 nator.==.numerator</code>.......
a0b60 20 3c 2f 70 3e 0a 20 20 20 20 20 20 3c 75 6c 3e 0a 20 20 20 20 20 20 20 20 20 20 3c 6c 69 3e 3c .</p>.......<ul>...........<li><
a0b80 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 62 75 69 6c 74 69 6e 22 3e 40 code><span.class="tok-builtin">@
a0ba0 64 69 76 45 78 61 63 74 3c 2f 73 70 61 6e 3e 28 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b divExact</span>(<span.class="tok
a0bc0 2d 6e 75 6d 62 65 72 22 3e 36 3c 2f 73 70 61 6e 3e 2c 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 -number">6</span>,.<span.class="
a0be0 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 33 3c 2f 73 70 61 6e 3e 29 20 3d 3d 20 3c 73 70 61 6e 20 63 tok-number">3</span>).==.<span.c
a0c00 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 63 6f 64 65 lass="tok-number">2</span></code
a0c20 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 6e ></li>...........<li><code><span
a0c40 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</
a0c60 73 70 61 6e 3e 28 61 2c 20 62 29 20 2a 20 62 20 3d 3d 20 61 3c 2f 63 6f 64 65 3e 3c 2f 6c 69 3e span>(a,.b).*.b.==.a</code></li>
a0c80 0a 20 20 20 20 20 20 3c 2f 75 6c 3e 0a 20 20 20 20 20 20 3c 70 3e 46 6f 72 20 61 20 66 75 6e 63 .......</ul>.......<p>For.a.func
a0ca0 74 69 6f 6e 20 74 68 61 74 20 72 65 74 75 72 6e 73 20 61 20 70 6f 73 73 69 62 6c 65 20 65 72 72 tion.that.returns.a.possible.err
a0cc0 6f 72 20 63 6f 64 65 2c 20 75 73 65 20 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 or.code,.use.<code><span.class="
a0ce0 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
a0d00 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
a0d20 3b 3c 2f 73 70 61 6e 3e 29 2e 6d 61 74 68 2e 64 69 76 45 78 61 63 74 3c 2f 63 6f 64 65 3e 2e 3c ;</span>).math.divExact</code>.<
a0d40 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>.<
a0d60 6c 69 3e 3c 61 20 68 72 65 66 3d 22 23 64 69 76 54 72 75 6e 63 22 3e 40 64 69 76 54 72 75 6e 63 li><a.href="#divTrunc">@divTrunc
a0d80 3c 2f 61 3e 3c 2f 6c 69 3e 0a 3c 6c 69 3e 3c 61 20 68 72 65 66 3d 22 23 64 69 76 46 6c 6f 6f 72 </a></li>.<li><a.href="#divFloor
a0da0 22 3e 40 64 69 76 46 6c 6f 6f 72 3c 2f 61 3e 3c 2f 6c 69 3e 0a 3c 2f 75 6c 3e 0a 0a 20 20 20 20 ">@divFloor</a></li>.</ul>......
a0dc0 20 20 0a 20 20 20 20 20 20 3c 68 33 20 69 64 3d 22 64 69 76 46 6c 6f 6f 72 22 3e 3c 61 20 68 72 .........<h3.id="divFloor"><a.hr
a0de0 65 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 ef="nav.xhtml#toc-divFloor">@div
a0e00 46 6c 6f 6f 72 3c 2f 61 3e 20 3c 61 20 63 6c 61 73 73 3d 22 68 64 72 22 20 68 72 65 66 3d 22 23 Floor</a>.<a.class="hdr".href="#
a0e20 64 69 76 46 6c 6f 6f 72 22 3e c2 a7 3c 2f 61 3e 3c 2f 68 33 3e 0a 0a 20 20 20 20 20 20 3c 70 72 divFloor">..</a></h3>........<pr
a0e40 65 3e 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 62 75 69 6c 74 69 6e e><code><span.class="tok-builtin
a0e60 22 3e 40 64 69 76 46 6c 6f 6f 72 3c 2f 73 70 61 6e 3e 28 6e 75 6d 65 72 61 74 6f 72 3a 20 54 2c ">@divFloor</span>(numerator:.T,
a0e80 20 64 65 6e 6f 6d 69 6e 61 74 6f 72 3a 20 54 29 20 54 3c 2f 63 6f 64 65 3e 3c 2f 70 72 65 3e 0a .denominator:.T).T</code></pre>.
a0ea0 20 20 20 20 20 20 3c 70 3e 0a 20 20 20 20 20 20 46 6c 6f 6f 72 65 64 20 64 69 76 69 73 69 6f 6e ......<p>.......Floored.division
a0ec0 2e 20 52 6f 75 6e 64 73 20 74 6f 77 61 72 64 20 6e 65 67 61 74 69 76 65 20 69 6e 66 69 6e 69 74 ..Rounds.toward.negative.infinit
a0ee0 79 2e 20 46 6f 72 20 75 6e 73 69 67 6e 65 64 20 69 6e 74 65 67 65 72 73 20 69 74 20 69 73 0a 20 y..For.unsigned.integers.it.is..
a0f00 20 20 20 20 20 74 68 65 20 73 61 6d 65 20 61 73 20 3c 63 6f 64 65 3e 6e 75 6d 65 72 61 74 6f 72 .....the.same.as.<code>numerator
a0f20 20 2f 20 64 65 6e 6f 6d 69 6e 61 74 6f 72 3c 2f 63 6f 64 65 3e 2e 20 43 61 6c 6c 65 72 20 67 75 ./.denominator</code>..Caller.gu
a0f40 61 72 61 6e 74 65 65 73 20 3c 63 6f 64 65 3e 64 65 6e 6f 6d 69 6e 61 74 6f 72 20 21 3d 20 3c 73 arantees.<code>denominator.!=.<s
a0f60 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 30 3c 2f 73 70 61 6e 3e 3c pan.class="tok-number">0</span><
a0f80 2f 63 6f 64 65 3e 20 61 6e 64 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 3c 63 6f 64 65 3e 21 /code>.and...............<code>!
a0fa0 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
a0fc0 49 6e 66 6f 3c 2f 73 70 61 6e 3e 28 54 29 20 3d 3d 20 2e 69 6e 74 20 3c 73 70 61 6e 20 63 6c 61 Info</span>(T).==..int.<span.cla
a0fe0 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
a1000 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
a1020 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(
a1040 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
a1060 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="
a1080 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 31 3c 2f 73 70 61 6e 3e 29 3c 2f 63 6f 64 65 3e 2e 0a 20 20 tok-number">1</span>)</code>....
a10a0 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
a10c0 69 3e 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 62 75 69 6c 74 69 6e i><code><span.class="tok-builtin
a10e0 22 3e 40 64 69 76 46 6c 6f 6f 72 3c 2f 73 70 61 6e 3e 28 2d 3c 73 70 61 6e 20 63 6c 61 73 73 3d ">@divFloor</span>(-<span.class=
a1100 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 35 3c 2f 73 70 61 6e 3e 2c 20 3c 73 70 61 6e 20 63 6c 61 "tok-number">5</span>,.<span.cla
a1120 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 73 ss="tok-number">3</span>).==.-<s
a1140 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 32 3c 2f 73 70 61 6e 3e 3c pan.class="tok-number">2</span><
a1160 2f 63 6f 64 65 3e 3c 2f 6c 69 3e 0a 20 20 20 20 20 20 20 20 20 20 3c 6c 69 3e 3c 63 6f 64 65 3e /code></li>...........<li><code>
a1180 28 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 62 75 69 6c 74 69 6e 22 3e 40 64 69 76 46 (<span.class="tok-builtin">@divF
a11a0 6c 6f 6f 72 3c 2f 73 70 61 6e 3e 28 61 2c 20 62 29 20 2a 20 62 29 20 2b 20 3c 73 70 61 6e 20 63 loor</span>(a,.b).*.b).+.<span.c
a11c0 6c 61 73 73 3d 22 74 6f 6b 2d 62 75 69 6c 74 69 6e 22 3e 40 6d 6f 64 3c 2f 73 70 61 6e 3e 28 61 lass="tok-builtin">@mod</span>(a
a11e0 2c 20 62 29 20 3d 3d 20 61 3c 2f 63 6f 64 65 3e 3c 2f 6c 69 3e 0a 20 20 20 20 20 20 3c 2f 75 6c ,.b).==.a</code></li>.......</ul
a1200 3e 0a 20 20 20 20 20 20 3c 70 3e 46 6f 72 20 61 20 66 75 6e 63 74 69 6f 6e 20 74 68 61 74 20 72 >.......<p>For.a.function.that.r
a1220 65 74 75 72 6e 73 20 61 20 70 6f 73 73 69 62 6c 65 20 65 72 72 6f 72 20 63 6f 64 65 2c 20 75 73 eturns.a.possible.error.code,.us
a1240 65 20 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 62 75 69 6c 74 69 6e e.<code><span.class="tok-builtin
a1260 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
a1280 6b 2d 73 74 72 22 3e 26 71 75 6f 74 3b 73 74 64 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 29 2e 6d k-str">&quot;std&quot;</span>).m
a12a0 61 74 68 2e 64 69 76 46 6c 6f 6f 72 3c 2f 63 6f 64 65 3e 2e 3c 2f 70 3e 0a 20 20 20 20 20 20 3c ath.divFloor</code>.</p>.......<
a12c0 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=
a12e0 22 23 64 69 76 54 72 75 6e 63 22 3e 40 64 69 76 54 72 75 6e 63 3c 2f 61 3e 3c 2f 6c 69 3e 0a 3c "#divTrunc">@divTrunc</a></li>.<
a1300 6c 69 3e 3c 61 20 68 72 65 66 3d 22 23 64 69 76 45 78 61 63 74 22 3e 40 64 69 76 45 78 61 63 74 li><a.href="#divExact">@divExact
a1320 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
a1340 33 20 69 64 3d 22 64 69 76 54 72 75 6e 63 22 3e 3c 61 20 68 72 65 66 3d 22 6e 61 76 2e 78 68 74 3.id="divTrunc"><a.href="nav.xht
a1360 6d 6c 23 74 6f 63 2d 64 69 76 54 72 75 6e 63 22 3e 40 64 69 76 54 72 75 6e 63 3c 2f 61 3e 20 3c ml#toc-divTrunc">@divTrunc</a>.<
a1380 61 20 63 6c 61 73 73 3d 22 68 64 72 22 20 68 72 65 66 3d 22 23 64 69 76 54 72 75 6e 63 22 3e c2 a.class="hdr".href="#divTrunc">.
a13a0 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
a13c0 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 62 75 69 6c 74 69 6e 22 3e 40 64 69 76 54 72 75 6e 63 an.class="tok-builtin">@divTrunc
a13e0 3c 2f 73 70 61 6e 3e 28 6e 75 6d 65 72 61 74 6f 72 3a 20 54 2c 20 64 65 6e 6f 6d 69 6e 61 74 6f </span>(numerator:.T,.denominato
a1400 72 3a 20 54 29 20 54 3c 2f 63 6f 64 65 3e 3c 2f 70 72 65 3e 0a 20 20 20 20 20 20 3c 70 3e 0a 20 r:.T).T</code></pre>.......<p>..
a1420 20 20 20 20 20 54 72 75 6e 63 61 74 65 64 20 64 69 76 69 73 69 6f 6e 2e 20 52 6f 75 6e 64 73 20 .....Truncated.division..Rounds.
a1440 74 6f 77 61 72 64 20 7a 65 72 6f 2e 20 46 6f 72 20 75 6e 73 69 67 6e 65 64 20 69 6e 74 65 67 65 toward.zero..For.unsigned.intege
a1460 72 73 20 69 74 20 69 73 0a 20 20 20 20 20 20 74 68 65 20 73 61 6d 65 20 61 73 20 3c 63 6f 64 65 rs.it.is.......the.same.as.<code
a1480 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 63 6f 64 65 3e 2e >numerator./.denominator</code>.
a14a0 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 64 65 6e 6f 6d 69 6e .Caller.guarantees.<code>denomin
a14c0 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"
a14e0 3e 30 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 20 61 6e 64 0a 20 20 20 20 20 20 20 20 20 20 20 >0</span></code>.and............
a1500 20 20 20 3c 63 6f 64 65 3e 21 28 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 62 75 69 6c ...<code>!(<span.class="tok-buil
a1520 74 69 6e 22 3e 40 74 79 70 65 49 6e 66 6f 3c 2f 73 70 61 6e 3e 28 54 29 20 3d 3d 20 2e 69 6e 74 tin">@typeInfo</span>(T).==..int
a1540 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 6e 3e .<span.class="tok-kw">and</span>
a1560 20 54 2e 69 73 5f 73 69 67 6e 65 64 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 .T.is_signed.<span.class="tok-kw
a1580 22 3e 61 6e 64 3c 2f 73 70 61 6e 3e 20 6e 75 6d 65 72 61 74 6f 72 20 3d 3d 20 73 74 64 2e 6d 61 ">and</span>.numerator.==.std.ma
a15a0 74 68 2e 6d 69 6e 49 6e 74 28 54 29 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 th.minInt(T).<span.class="tok-kw
a15c0 22 3e 61 6e 64 3c 2f 73 70 61 6e 3e 20 64 65 6e 6f 6d 69 6e 61 74 6f 72 20 3d 3d 20 2d 3c 73 70 ">and</span>.denominator.==.-<sp
a15e0 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 3c an.class="tok-number">1</span>)<
a1600 2f 63 6f 64 65 3e 2e 0a 20 20 20 20 20 20 3c 2f 70 3e 0a 20 20 20 20 20 20 3c 75 6c 3e 0a 20 20 /code>........</p>.......<ul>...
a1620 20 20 20 20 20 20 20 20 3c 6c 69 3e 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 ........<li><code><span.class="t
a1640 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 2d 3c 73 ok-builtin">@divTrunc</span>(-<s
a1660 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>,
a1680 20 3c 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
a16a0 6e 3e 29 20 3d 3d 20 2d 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 n>).==.-<span.class="tok-number"
a16c0 3e 31 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 >1</span></code></li>...........
a16e0 3c 6c 69 3e 3c 63 6f 64 65 3e 28 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 62 75 69 6c <li><code>(<span.class="tok-buil
a1700 74 69 6e 22 3e 40 64 69 76 54 72 75 6e 63 3c 2f 73 70 61 6e 3e 28 61 2c 20 62 29 20 2a 20 62 29 tin">@divTrunc</span>(a,.b).*.b)
a1720 20 2b 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 62 75 69 6c 74 69 6e 22 3e 40 72 65 .+.<span.class="tok-builtin">@re
a1740 6d 3c 2f 73 70 61 6e 3e 28 61 2c 20 62 29 20 3d 3d 20 61 3c 2f 63 6f 64 65 3e 3c 2f 6c 69 3e 0a m</span>(a,.b).==.a</code></li>.
a1760 20 20 20 20 20 20 3c 2f 75 6c 3e 0a 20 20 20 20 20 20 3c 70 3e 46 6f 72 20 61 20 66 75 6e 63 74 ......</ul>.......<p>For.a.funct
a1780 69 6f 6e 20 74 68 61 74 20 72 65 74 75 72 6e 73 20 61 20 70 6f 73 73 69 62 6c 65 20 65 72 72 6f ion.that.returns.a.possible.erro
a17a0 72 20 63 6f 64 65 2c 20 75 73 65 20 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 r.code,.use.<code><span.class="t
a17c0 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
a17e0 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;
a1800 3c 2f 73 70 61 6e 3e 29 2e 6d 61 74 68 2e 64 69 76 54 72 75 6e 63 3c 2f 63 6f 64 65 3e 2e 3c 2f </span>).math.divTrunc</code>.</
a1820 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
a1840 69 3e 3c 61 20 68 72 65 66 3d 22 23 64 69 76 46 6c 6f 6f 72 22 3e 40 64 69 76 46 6c 6f 6f 72 3c i><a.href="#divFloor">@divFloor<
a1860 2f 61 3e 3c 2f 6c 69 3e 0a 3c 6c 69 3e 3c 61 20 68 72 65 66 3d 22 23 64 69 76 45 78 61 63 74 22 /a></li>.<li><a.href="#divExact"
a1880 3e 40 64 69 76 45 78 61 63 74 3c 2f 61 3e 3c 2f 6c 69 3e 0a 3c 2f 75 6c 3e 0a 0a 20 20 20 20 20 >@divExact</a></li>.</ul>.......
a18a0 20 0a 0a 20 20 20 20 20 20 3c 68 33 20 69 64 3d 22 65 6d 62 65 64 46 69 6c 65 22 3e 3c 61 20 68 .........<h3.id="embedFile"><a.h
a18c0 72 65 66 3d 22 6e 61 76 2e 78 68 74 6d 6c 23 74 6f 63 2d 65 6d 62 65 64 46 69 6c 65 22 3e 40 65 ref="nav.xhtml#toc-embedFile">@e
a18e0 6d 62 65 64 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 mbedFile</a>.<a.class="hdr".href
a1900 3d 22 23 65 6d 62 65 64 46 69 6c 65 22 3e c2 a7 3c 2f 61 3e 3c 2f 68 33 3e 0a 0a 20 20 20 20 20 ="#embedFile">..</a></h3>.......
a1920 20 3c 70 72 65 3e 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 62 75 69 .<pre><code><span.class="tok-bui
a1940 6c 74 69 6e 22 3e 40 65 6d 62 65 64 46 69 6c 65 3c 2f 73 70 61 6e 3e 28 3c 73 70 61 6e 20 63 6c ltin">@embedFile</span>(<span.cl
a1960 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 63 6f 6d 70 74 69 6d 65 3c 2f 73 70 61 6e 3e 20 70 61 74 ass="tok-kw">comptime</span>.pat
a1980 68 3a 20 5b 5d 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 63 6f 6e 73 74 3c h:.[]<span.class="tok-kw">const<
a19a0 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
a19c0 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 63 </span>).*<span.class="tok-kw">c
a19e0 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 2d onst</span>.[N:<span.class="tok-
a1a00 6e 75 6d 62 65 72 22 3e 30 3c 2f 73 70 61 6e 3e 5d 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f number">0</span>]<span.class="to
a1a20 6b 2d 74 79 70 65 22 3e 75 38 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 3c 2f 70 72 65 3e 0a 20 k-type">u8</span></code></pre>..
a1a40 20 20 20 20 20 3c 70 3e 0a 20 20 20 20 20 20 54 68 69 73 20 66 75 6e 63 74 69 6f 6e 20 72 65 74 .....<p>.......This.function.ret
a1a60 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 20 70 6f 69 urns.a.compile.time.constant.poi
a1a80 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 20 20 20 66 nter.to.null-terminated,.......f
a1aa0 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 65 71 75 61 ixed-size.array.with.length.equa
a1ac0 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 69 6c 65 20 l.to.the.byte.count.of.the.file.
a1ae0 67 69 76 65 6e 20 62 79 0a 20 20 20 20 20 20 3c 63 6f 64 65 3e 70 61 74 68 3c 2f 63 6f 64 65 3e given.by.......<code>path</code>
a1b00 2e 20 54 68 65 20 63 6f 6e 74 65 6e 74 73 20 6f 66 20 74 68 65 20 61 72 72 61 79 20 61 72 65 20 ..The.contents.of.the.array.are.
a1b20 74 68 65 20 63 6f 6e 74 65 6e 74 73 20 6f 66 20 74 68 65 20 66 69 6c 65 2e 0a 20 20 20 20 20 20 the.contents.of.the.file........
a1b40 54 68 69 73 20 69 73 20 65 71 75 69 76 61 6c 65 6e 74 20 74 6f 20 61 20 3c 61 20 68 72 65 66 3d This.is.equivalent.to.a.<a.href=
a1b60 22 23 53 74 72 69 6e 67 2d 4c 69 74 65 72 61 6c 73 2d 61 6e 64 2d 55 6e 69 63 6f 64 65 2d 43 6f "#String-Literals-and-Unicode-Co
a1b80 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 72 61 de-Point-Literals">string.litera
a1ba0 6c 3c 2f 61 3e 0a 20 20 20 20 20 20 77 69 74 68 20 74 68 65 20 66 69 6c 65 20 63 6f 6e 74 65 6e l</a>.......with.the.file.conten
a1bc0 74 73 2e 0a 20 20 20 20 20 20 3c 2f 70 3e 0a 20 20 20 20 20 20 3c 70 3e 0a 20 20 20 20 20 20 3c ts........</p>.......<p>.......<
a1be0 63 6f 64 65 3e 70 61 74 68 3c 2f 63 6f 64 65 3e 20 69 73 20 61 62 73 6f 6c 75 74 65 20 6f 72 20 code>path</code>.is.absolute.or.
a1c00 72 65 6c 61 74 69 76 65 20 74 6f 20 74 68 65 20 63 75 72 72 65 6e 74 20 66 69 6c 65 2c 20 6a 75 relative.to.the.current.file,.ju
a1c20 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 74 6f 6b 2d 62 st.like.<code><span.class="tok-b
a1c40 75 69 6c 74 69 6e 22 3e 40 69 6d 70 6f 72 74 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 2e 0a 20 uiltin">@import</span></code>...
a1c60 20 20 20 20 20 3c 2f 70 3e 0a 20 20 20 20 20 20 3c 70 3e 53 65 65 20 61 6c 73 6f 3a 3c 2f 70 3e .....</p>.......<p>See.also:</p>
a1c80 3c 75 6c 3e 0a 3c 6c 69 3e 3c 61 20 68 72 65 66 3d 22 23 69 6d 70 6f 72 74 22 3e 40 69 6d 70 6f <ul>.<li><a.href="#import">@impo
a1ca0 72 74 3c 2f 61 3e 3c 2f 6c 69 3e 0a 3c 2f 75 6c 3e 0a 0a 20 20 20 20 20 20 0a 0a 20 20 20 20 20 rt</a></li>.</ul>...............
a1cc0 20 3c 68 33 20 69 64 3d 22 65 6e 75 6d 46 72 6f 6d 49 6e 74 22 3e 3c 61 20 68 72 65 66 3d 22 6e .<h3.id="enumFromInt"><a.href="n
a1ce0 61 76 2e 78 68 74 6d 6c 23 74 6f 63 2d 65 6e 75 6d 46 72 6f 6d 49 6e 74 22 3e 40 65 6e 75 6d 46 av.xhtml#toc-enumFromInt">@enumF
a1d00 72 6f 6d 49 6e 74 3c 2f 61 3e 20 3c 61 20 63 6c 61 73 73 3d 22 68 64 72 22 20 68 72 65 66 3d 22 romInt</a>.<a.class="hdr".href="
a1d20 23 65 6e 75 6d 46 72 6f 6d 49 6e 74 22 3e c2 a7 3c 2f 61 3e 3c 2f 68 33 3e 0a 0a 20 20 20 20 20 #enumFromInt">..</a></h3>.......
a1d40 20 3c 70 72 65 3e 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 62 75 69 .<pre><code><span.class="tok-bui
a1d60 6c 74 69 6e 22 3e 40 65 6e 75 6d 46 72 6f 6d 49 6e 74 3c 2f 73 70 61 6e 3e 28 69 6e 74 65 67 65 ltin">@enumFromInt</span>(intege
a1d80 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<
a1da0 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
a1dc0 74 79 70 65 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 3c 2f 70 72 65 3e 0a 20 20 20 20 20 20 3c type</span></code></pre>.......<
a1de0 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
a1e00 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
a1e20 6c 75 65 2e 20 54 68 65 20 72 65 74 75 72 6e 20 74 79 70 65 20 69 73 20 74 68 65 20 69 6e 66 65 lue..The.return.type.is.the.infe
a1e40 72 72 65 64 20 72 65 73 75 6c 74 20 74 79 70 65 2e 0a 20 20 20 20 20 20 3c 2f 70 3e 0a 20 20 20 rred.result.type........</p>....
a1e60 20 20 20 3c 70 3e 0a 20 20 20 20 20 20 41 74 74 65 6d 70 74 69 6e 67 20 74 6f 20 63 6f 6e 76 65 ...<p>.......Attempting.to.conve
a1e80 72 74 20 61 6e 20 69 6e 74 65 67 65 72 20 77 69 74 68 20 6e 6f 20 63 6f 72 72 65 73 70 6f 6e 64 rt.an.integer.with.no.correspond
a1ea0 69 6e 67 20 76 61 6c 75 65 20 69 6e 20 74 68 65 20 65 6e 75 6d 20 69 6e 76 6f 6b 65 73 0a 20 20 ing.value.in.the.enum.invokes...
a1ec0 20 20 20 20 73 61 66 65 74 79 2d 63 68 65 63 6b 65 64 20 3c 61 20 68 72 65 66 3d 22 23 49 6c 6c ....safety-checked.<a.href="#Ill
a1ee0 65 67 61 6c 2d 42 65 68 61 76 69 6f 72 22 3e 49 6c 6c 65 67 61 6c 20 42 65 68 61 76 69 6f 72 3c egal-Behavior">Illegal.Behavior<
a1f00 2f 61 3e 2e 0a 20 20 20 20 20 20 4e 6f 74 65 20 74 68 61 74 20 61 20 3c 61 20 68 72 65 66 3d 22 /a>........Note.that.a.<a.href="
a1f20 23 4e 6f 6e 2d 65 78 68 61 75 73 74 69 76 65 2d 65 6e 75 6d 22 3e 6e 6f 6e 2d 65 78 68 61 75 73 #Non-exhaustive-enum">non-exhaus
a1f40 74 69 76 65 20 65 6e 75 6d 3c 2f 61 3e 20 68 61 73 20 63 6f 72 72 65 73 70 6f 6e 64 69 6e 67 20 tive.enum</a>.has.corresponding.
a1f60 76 61 6c 75 65 73 20 66 6f 72 20 61 6c 6c 0a 20 20 20 20 20 20 69 6e 74 65 67 65 72 73 20 69 6e values.for.all.......integers.in
a1f80 20 74 68 65 20 65 6e 75 6d 27 73 20 69 6e 74 65 67 65 72 20 74 61 67 20 74 79 70 65 3a 20 74 68 .the.enum's.integer.tag.type:.th
a1fa0 65 20 3c 63 6f 64 65 3e 5f 3c 2f 63 6f 64 65 3e 20 76 61 6c 75 65 20 72 65 70 72 65 73 65 6e 74 e.<code>_</code>.value.represent
a1fc0 73 20 61 6c 6c 0a 20 20 20 20 20 20 74 68 65 20 72 65 6d 61 69 6e 69 6e 67 20 75 6e 6e 61 6d 65 s.all.......the.remaining.unname
a1fe0 64 20 69 6e 74 65 67 65 72 73 20 69 6e 20 74 68 65 20 65 6e 75 6d 27 73 20 74 61 67 20 74 79 70 d.integers.in.the.enum's.tag.typ
a2000 65 2e 0a 20 20 20 20 20 20 3c 2f 70 3e 0a 20 20 20 20 20 20 3c 70 3e 53 65 65 20 61 6c 73 6f 3a e........</p>.......<p>See.also:
a2020 3c 2f 70 3e 3c 75 6c 3e 0a 3c 6c 69 3e 3c 61 20 68 72 65 66 3d 22 23 69 6e 74 46 72 6f 6d 45 6e </p><ul>.<li><a.href="#intFromEn
a2040 75 6d 22 3e 40 69 6e 74 46 72 6f 6d 45 6e 75 6d 3c 2f 61 3e 3c 2f 6c 69 3e 0a 3c 2f 75 6c 3e 0a um">@intFromEnum</a></li>.</ul>.
a2060 0a 20 20 20 20 20 20 0a 0a 20 20 20 20 20 20 3c 68 33 20 69 64 3d 22 65 72 72 6f 72 46 72 6f 6d ...............<h3.id="errorFrom
a2080 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 72 72 6f Int"><a.href="nav.xhtml#toc-erro
a20a0 72 46 72 6f 6d 49 6e 74 22 3e 40 65 72 72 6f 72 46 72 6f 6d 49 6e 74 3c 2f 61 3e 20 3c 61 20 63 rFromInt">@errorFromInt</a>.<a.c
a20c0 6c 61 73 73 3d 22 68 64 72 22 20 68 72 65 66 3d 22 23 65 72 72 6f 72 46 72 6f 6d 49 6e 74 22 3e lass="hdr".href="#errorFromInt">
a20e0 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
a2100 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 62 75 69 6c 74 69 6e 22 3e 40 65 72 72 6f 72 46 72 pan.class="tok-builtin">@errorFr
a2120 6f 6d 49 6e 74 3c 2f 73 70 61 6e 3e 28 76 61 6c 75 65 3a 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d omInt</span>(value:.<span.class=
a2140 22 74 6f 6b 2d 62 75 69 6c 74 69 6e 22 3e 40 49 6e 74 3c 2f 73 70 61 6e 3e 28 2e 75 6e 73 69 67 "tok-builtin">@Int</span>(.unsig
a2160 6e 65 64 2c 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 62 75 69 6c 74 69 6e 22 3e 40 ned,.<span.class="tok-builtin">@
a2180 62 69 74 53 69 7a 65 4f 66 3c 2f 73 70 61 6e 3e 28 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f bitSizeOf</span>(<span.class="to
a21a0 6b 2d 74 79 70 65 22 3e 61 6e 79 65 72 72 6f 72 3c 2f 73 70 61 6e 3e 29 29 29 20 3c 73 70 61 6e k-type">anyerror</span>))).<span
a21c0 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 61 6e 79 65 72 72 6f 72 3c 2f 73 70 61 6e .class="tok-type">anyerror</span
a21e0 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
a2200 6f 6e 76 65 72 74 73 20 66 72 6f 6d 20 74 68 65 20 69 6e 74 65 67 65 72 20 72 65 70 72 65 73 65 onverts.from.the.integer.represe
a2220 6e 74 61 74 69 6f 6e 20 6f 66 20 61 6e 20 65 72 72 6f 72 20 69 6e 74 6f 20 3c 61 20 68 72 65 66 ntation.of.an.error.into.<a.href
a2240 3d 22 23 54 68 65 2d 47 6c 6f 62 61 6c 2d 45 72 72 6f 72 2d 53 65 74 22 3e 54 68 65 20 47 6c 6f ="#The-Global-Error-Set">The.Glo
a2260 62 61 6c 20 45 72 72 6f 72 20 53 65 74 3c 2f 61 3e 20 74 79 70 65 2e 0a 20 20 20 20 20 20 3c 2f bal.Error.Set</a>.type........</
a2280 70 3e 0a 20 20 20 20 20 20 3c 70 3e 0a 20 20 20 20 20 20 49 74 20 69 73 20 67 65 6e 65 72 61 6c p>.......<p>.......It.is.general
a22a0 6c 79 20 72 65 63 6f 6d 6d 65 6e 64 65 64 20 74 6f 20 61 76 6f 69 64 20 74 68 69 73 0a 20 20 20 ly.recommended.to.avoid.this....
a22c0 20 20 20 63 61 73 74 2c 20 61 73 20 74 68 65 20 69 6e 74 65 67 65 72 20 72 65 70 72 65 73 65 6e ...cast,.as.the.integer.represen
a22e0 74 61 74 69 6f 6e 20 6f 66 20 61 6e 20 65 72 72 6f 72 20 69 73 20 6e 6f 74 20 73 74 61 62 6c 65 tation.of.an.error.is.not.stable
a2300 20 61 63 72 6f 73 73 20 73 6f 75 72 63 65 20 63 6f 64 65 20 63 68 61 6e 67 65 73 2e 0a 20 20 20 .across.source.code.changes.....
a2320 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 74 74 65 6d 70 74 69 ...</p>.......<p>.......Attempti
a2340 6e 67 20 74 6f 20 63 6f 6e 76 65 72 74 20 61 6e 20 69 6e 74 65 67 65 72 20 74 68 61 74 20 64 6f ng.to.convert.an.integer.that.do
a2360 65 73 20 6e 6f 74 20 63 6f 72 72 65 73 70 6f 6e 64 20 74 6f 20 61 6e 79 20 65 72 72 6f 72 20 72 es.not.correspond.to.any.error.r
a2380 65 73 75 6c 74 73 20 69 6e 0a 20 20 20 20 20 20 73 61 66 65 74 79 2d 63 68 65 63 6b 65 64 20 3c esults.in.......safety-checked.<
a23a0 61 20 68 72 65 66 3d 22 23 49 6c 6c 65 67 61 6c 2d 42 65 68 61 76 69 6f 72 22 3e 49 6c 6c 65 67 a.href="#Illegal-Behavior">Illeg
a23c0 61 6c 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 al.Behavior</a>........</p>.....
a23e0 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
a2400 65 66 3d 22 23 69 6e 74 46 72 6f 6d 45 72 72 6f 72 22 3e 40 69 6e 74 46 72 6f 6d 45 72 72 6f 72 ef="#intFromError">@intFromError
a2420 3c 2f 61 3e 3c 2f 6c 69 3e 0a 3c 2f 75 6c 3e 0a 0a 20 20 20 20 20 20 0a 0a 20 20 20 20 20 20 3c </a></li>.</ul>................<
a2440 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 3d 22 6e 61 76 2e 78 h3.id="errorName"><a.href="nav.x
a2460 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 72 4e 61 6d 65 3c 2f html#toc-errorName">@errorName</
a2480 61 3e 20 3c 61 20 63 6c 61 73 73 3d 22 68 64 72 22 20 68 72 65 66 3d 22 23 65 72 72 6f 72 4e 61 a>.<a.class="hdr".href="#errorNa
a24a0 6d 65 22 3e c2 a7 3c 2f 61 3e 3c 2f 68 33 3e 0a 0a 20 20 20 20 20 20 3c 70 72 65 3e 3c 63 6f 64 me">..</a></h3>........<pre><cod
a24c0 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 62 75 69 6c 74 69 6e 22 3e 40 65 72 72 e><span.class="tok-builtin">@err
a24e0 6f 72 4e 61 6d 65 3c 2f 73 70 61 6e 3e 28 65 72 72 3a 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 orName</span>(err:.<span.class="
a2500 74 6f 6b 2d 74 79 70 65 22 3e 61 6e 79 65 72 72 6f 72 3c 2f 73 70 61 6e 3e 29 20 5b 3a 3c 73 70 tok-type">anyerror</span>).[:<sp
a2520 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 3c an.class="tok-number">0</span>]<
a2540 73 70 61 6e 20 63 6c 61 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>
a2560 20 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
a2580 3e 3c 2f 63 6f 64 65 3e 3c 2f 70 72 65 3e 0a 20 20 20 20 20 20 3c 70 3e 0a 20 20 20 20 20 20 54 ></code></pre>.......<p>.......T
a25a0 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 20 his.function.returns.the.string.
a25c0 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 20 representation.of.an.error..The.
a25e0 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 3c string.representation.......of.<
a2600 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 65 72 72 6f 72 3c code><span.class="tok-kw">error<
a2620 2f 73 70 61 6e 3e 2e 4f 75 74 4f 66 4d 65 6d 3c 2f 63 6f 64 65 3e 20 69 73 20 3c 63 6f 64 65 3e /span>.OutOfMem</code>.is.<code>
a2640 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 73 74 72 22 3e 26 71 75 6f 74 3b 4f 75 74 4f <span.class="tok-str">&quot;OutO
a2660 66 4d 65 6d 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 2e 0a 20 20 20 20 20 20 fMem&quot;</span></code>........
a2680 3c 2f 70 3e 0a 20 20 20 20 20 20 3c 70 3e 0a 20 20 20 20 20 20 49 66 20 74 68 65 72 65 20 61 72 </p>.......<p>.......If.there.ar
a26a0 65 20 6e 6f 20 63 61 6c 6c 73 20 74 6f 20 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d e.no.calls.to.<code><span.class=
a26c0 22 74 6f 6b 2d 62 75 69 6c 74 69 6e 22 3e 40 65 72 72 6f 72 4e 61 6d 65 3c 2f 73 70 61 6e 3e 3c "tok-builtin">@errorName</span><
a26e0 2f 63 6f 64 65 3e 20 69 6e 20 61 6e 20 65 6e 74 69 72 65 20 61 70 70 6c 69 63 61 74 69 6f 6e 2c /code>.in.an.entire.application,
a2700 0a 20 20 20 20 20 20 6f 72 20 61 6c 6c 20 63 61 6c 6c 73 20 68 61 76 65 20 61 20 63 6f 6d 70 69 .......or.all.calls.have.a.compi
a2720 6c 65 2d 74 69 6d 65 20 6b 6e 6f 77 6e 20 76 61 6c 75 65 20 66 6f 72 20 3c 63 6f 64 65 3e 65 72 le-time.known.value.for.<code>er
a2740 72 3c 2f 63 6f 64 65 3e 2c 20 74 68 65 6e 20 6e 6f 0a 20 20 20 20 20 20 65 72 72 6f 72 20 6e 61 r</code>,.then.no.......error.na
a2760 6d 65 20 74 61 62 6c 65 20 77 69 6c 6c 20 62 65 20 67 65 6e 65 72 61 74 65 64 2e 0a 20 20 20 20 me.table.will.be.generated......
a2780 20 20 3c 2f 70 3e 0a 20 20 20 20 20 20 0a 0a 20 20 20 20 20 20 3c 68 33 20 69 64 3d 22 65 72 72 ..</p>...............<h3.id="err
a27a0 6f 72 52 65 74 75 72 6e 54 72 61 63 65 22 3e 3c 61 20 68 72 65 66 3d 22 6e 61 76 2e 78 68 74 6d orReturnTrace"><a.href="nav.xhtm
a27c0 6c 23 74 6f 63 2d 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 l#toc-errorReturnTrace">@errorRe
a27e0 74 75 72 6e 54 72 61 63 65 3c 2f 61 3e 20 3c 61 20 63 6c 61 73 73 3d 22 68 64 72 22 20 68 72 65 turnTrace</a>.<a.class="hdr".hre
a2800 66 3d 22 23 65 72 72 6f 72 52 65 74 75 72 6e 54 72 61 63 65 22 3e c2 a7 3c 2f 61 3e 3c 2f 68 33 f="#errorReturnTrace">..</a></h3
a2820 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=
a2840 22 74 6f 6b 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 "tok-builtin">@errorReturnTrace<
a2860 2f 73 70 61 6e 3e 28 29 20 3f 2a 73 74 64 2e 6c 61 6e 67 2e 53 74 61 63 6b 54 72 61 63 65 3c 2f /span>().?*std.lang.StackTrace</
a2880 63 6f 64 65 3e 3c 2f 70 72 65 3e 0a 20 20 20 20 20 20 3c 70 3e 0a 20 20 20 20 20 20 49 66 20 74 code></pre>.......<p>.......If.t
a28a0 68 65 20 62 69 6e 61 72 79 20 69 73 20 62 75 69 6c 74 20 77 69 74 68 20 65 72 72 6f 72 20 72 65 he.binary.is.built.with.error.re
a28c0 74 75 72 6e 20 74 72 61 63 69 6e 67 2c 20 61 6e 64 20 74 68 69 73 20 66 75 6e 63 74 69 6f 6e 20 turn.tracing,.and.this.function.
a28e0 69 73 20 69 6e 76 6f 6b 65 64 20 69 6e 20 61 0a 20 20 20 20 20 20 66 75 6e 63 74 69 6f 6e 20 74 is.invoked.in.a.......function.t
a2900 68 61 74 20 63 61 6c 6c 73 20 61 20 66 75 6e 63 74 69 6f 6e 20 77 69 74 68 20 61 6e 20 65 72 72 hat.calls.a.function.with.an.err
a2920 6f 72 20 6f 72 20 65 72 72 6f 72 20 75 6e 69 6f 6e 20 72 65 74 75 72 6e 20 74 79 70 65 2c 20 72 or.or.error.union.return.type,.r
a2940 65 74 75 72 6e 73 20 61 0a 20 20 20 20 20 20 73 74 61 63 6b 20 74 72 61 63 65 20 6f 62 6a 65 63 eturns.a.......stack.trace.objec
a2960 74 2e 20 4f 74 68 65 72 77 69 73 65 20 72 65 74 75 72 6e 73 20 3c 61 20 68 72 65 66 3d 22 23 6e t..Otherwise.returns.<a.href="#n
a2980 75 6c 6c 22 3e 6e 75 6c 6c 3c 2f 61 3e 2e 0a 20 20 20 20 20 20 3c 2f 70 3e 0a 20 20 20 20 20 20 ull">null</a>........</p>.......
a29a0 0a 0a 20 20 20 20 20 20 3c 68 33 20 69 64 3d 22 65 72 72 6f 72 43 61 73 74 22 3e 3c 61 20 68 72 ........<h3.id="errorCast"><a.hr
a29c0 65 66 3d 22 6e 61 76 2e 78 68 74 6d 6c 23 74 6f 63 2d 65 72 72 6f 72 43 61 73 74 22 3e 40 65 72 ef="nav.xhtml#toc-errorCast">@er
a29e0 72 6f 72 43 61 73 74 3c 2f 61 3e 20 3c 61 20 63 6c 61 73 73 3d 22 68 64 72 22 20 68 72 65 66 3d rorCast</a>.<a.class="hdr".href=
a2a00 22 23 65 72 72 6f 72 43 61 73 74 22 3e c2 a7 3c 2f 61 3e 3c 2f 68 33 3e 0a 0a 20 20 20 20 20 20 "#errorCast">..</a></h3>........
a2a20 3c 70 72 65 3e 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 62 75 69 6c <pre><code><span.class="tok-buil
a2a40 74 69 6e 22 3e 40 65 72 72 6f 72 43 61 73 74 3c 2f 73 70 61 6e 3e 28 76 61 6c 75 65 3a 20 3c 73 tin">@errorCast</span>(value:.<s
a2a60 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
a2a80 3e 29 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 61 6e 79 74 79 70 65 3c >).<span.class="tok-kw">anytype<
a2aa0 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>...
a2ac0 20 20 20 20 43 6f 6e 76 65 72 74 73 20 61 6e 20 65 72 72 6f 72 20 73 65 74 20 6f 72 20 65 72 72 ....Converts.an.error.set.or.err
a2ae0 6f 72 20 75 6e 69 6f 6e 20 76 61 6c 75 65 20 66 72 6f 6d 20 6f 6e 65 20 65 72 72 6f 72 20 73 65 or.union.value.from.one.error.se
a2b00 74 20 74 6f 20 61 6e 6f 74 68 65 72 20 65 72 72 6f 72 20 73 65 74 2e 20 54 68 65 20 72 65 74 75 t.to.another.error.set..The.retu
a2b20 72 6e 20 74 79 70 65 20 69 73 20 74 68 65 0a 09 09 09 69 6e 66 65 72 72 65 64 20 72 65 73 75 6c rn.type.is.the....inferred.resul
a2b40 74 20 74 79 70 65 2e 20 41 74 74 65 6d 70 74 69 6e 67 20 74 6f 20 63 6f 6e 76 65 72 74 20 61 6e t.type..Attempting.to.convert.an
a2b60 20 65 72 72 6f 72 20 77 68 69 63 68 20 69 73 20 6e 6f 74 20 69 6e 20 74 68 65 20 64 65 73 74 69 .error.which.is.not.in.the.desti
a2b80 6e 61 74 69 6f 6e 20 65 72 72 6f 72 0a 09 09 09 73 65 74 20 72 65 73 75 6c 74 73 20 69 6e 20 73 nation.error....set.results.in.s
a2ba0 61 66 65 74 79 2d 63 68 65 63 6b 65 64 20 3c 61 20 68 72 65 66 3d 22 23 49 6c 6c 65 67 61 6c 2d afety-checked.<a.href="#Illegal-
a2bc0 42 65 68 61 76 69 6f 72 22 3e 49 6c 6c 65 67 61 6c 20 42 65 68 61 76 69 6f 72 3c 2f 61 3e 2e 0a Behavior">Illegal.Behavior</a>..
a2be0 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=
a2c00 22 65 78 70 6f 72 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 "export"><a.href="nav.xhtml#toc-
a2c20 65 78 70 6f 72 74 22 3e 40 65 78 70 6f 72 74 3c 2f 61 3e 20 3c 61 20 63 6c 61 73 73 3d 22 68 64 export">@export</a>.<a.class="hd
a2c40 72 22 20 68 72 65 66 3d 22 23 65 78 70 6f 72 74 22 3e c2 a7 3c 2f 61 3e 3c 2f 68 33 3e 0a 0a 20 r".href="#export">..</a></h3>...
a2c60 20 20 20 20 20 3c 70 72 65 3e 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b .....<pre><code><span.class="tok
a2c80 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 3c 73 70 61 6e 20 63 -builtin">@export</span>(<span.c
a2ca0 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 63 6f 6d 70 74 69 6d 65 3c 2f 73 70 61 6e 3e 20 70 74 lass="tok-kw">comptime</span>.pt
a2cc0 72 3a 20 2a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 63 6f 6e 73 74 3c 2f r:.*<span.class="tok-kw">const</
a2ce0 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 61 6e 79 span>.<span.class="tok-type">any
a2d00 6f 70 61 71 75 65 3c 2f 73 70 61 6e 3e 2c 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d opaque</span>,.<span.class="tok-
a2d20 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 74 64 kw">comptime</span>.options:.std
a2d40 2e 6c 61 6e 67 2e 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 .lang.ExportOptions).<span.class
a2d60 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 76 6f 69 64 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 3c 2f ="tok-type">void</span></code></
a2d80 70 72 65 3e 0a 20 20 20 20 20 20 3c 70 3e 43 72 65 61 74 65 73 20 61 20 73 79 6d 62 6f 6c 20 69 pre>.......<p>Creates.a.symbol.i
a2da0 6e 20 74 68 65 20 6f 75 74 70 75 74 20 6f 62 6a 65 63 74 20 66 69 6c 65 20 77 68 69 63 68 20 72 n.the.output.object.file.which.r
a2dc0 65 66 65 72 73 20 74 6f 20 74 68 65 20 74 61 72 67 65 74 20 6f 66 20 3c 63 6f 64 65 3e 70 74 72 efers.to.the.target.of.<code>ptr
a2de0 3c 2f 63 6f 64 65 3e 2e 3c 2f 70 3e 0a 20 20 20 20 20 20 3c 70 3e 3c 63 6f 64 65 3e 70 74 72 3c </code>.</p>.......<p><code>ptr<
a2e00 2f 63 6f 64 65 3e 20 6d 75 73 74 20 70 6f 69 6e 74 20 74 6f 20 61 20 67 6c 6f 62 61 6c 20 76 61 /code>.must.point.to.a.global.va
a2e20 72 69 61 62 6c 65 20 6f 72 20 61 20 63 6f 6d 70 74 69 6d 65 2d 6b 6e 6f 77 6e 20 63 6f 6e 73 74 riable.or.a.comptime-known.const
a2e40 61 6e 74 2e 3c 2f 70 3e 0a 20 20 20 20 20 20 3c 70 3e 0a 20 20 20 20 20 20 54 68 69 73 20 62 75 ant.</p>.......<p>.......This.bu
a2e60 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 68 72 iltin.can.be.called.from.a.<a.hr
a2e80 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 6f 63 ef="#comptime">comptime</a>.bloc
a2ea0 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 6f 6c k.to.conditionally.export.symbol
a2ec0 73 2e 0a 20 20 20 20 20 20 57 68 65 6e 20 3c 63 6f 64 65 3e 70 74 72 3c 2f 63 6f 64 65 3e 20 70 s........When.<code>ptr</code>.p
a2ee0 6f 69 6e 74 73 20 74 6f 20 61 20 66 75 6e 63 74 69 6f 6e 20 77 69 74 68 20 74 68 65 20 43 20 63 oints.to.a.function.with.the.C.c
a2f00 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 63 6f 64 alling.convention.and.......<cod
a2f20 65 3e 6f 70 74 69 6f 6e 73 2e 6c 69 6e 6b 61 67 65 3c 2f 63 6f 64 65 3e 20 69 73 20 3c 63 6f 64 e>options.linkage</code>.is.<cod
a2f40 65 3e 2e 73 74 72 6f 6e 67 3c 2f 63 6f 64 65 3e 2c 20 74 68 69 73 20 69 73 20 65 71 75 69 76 61 e>.strong</code>,.this.is.equiva
a2f60 6c 65 6e 74 20 74 6f 0a 20 20 20 20 20 20 74 68 65 20 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c lent.to.......the.<code><span.cl
a2f80 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 65 78 70 6f 72 74 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 ass="tok-kw">export</span></code
a2fa0 3e 20 6b 65 79 77 6f 72 64 20 75 73 65 64 20 6f 6e 20 61 20 66 75 6e 63 74 69 6f 6e 3a 0a 20 20 >.keyword.used.on.a.function:...
a2fc0 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
a2fe0 6f 6e 20 63 6c 61 73 73 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="
a3000 66 69 6c 65 22 3e 65 78 70 6f 72 74 5f 62 75 69 6c 74 69 6e 2e 7a 69 67 3c 2f 63 69 74 65 3e 3c file">export_builtin.zig</cite><
a3020 2f 66 69 67 63 61 70 74 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
a3040 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 63 6f 6d 70 74 69 6d 65 3c 2f 73 70 61 6e 3e 20 7b 0a 20 20 ss="tok-kw">comptime</span>.{...
a3060 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 65 78 70 ..<span.class="tok-builtin">@exp
a3080 6f 72 74 3c 2f 73 70 61 6e 3e 28 26 61 6d 70 3b 69 6e 74 65 72 6e 61 6c 4e 61 6d 65 2c 20 2e 7b ort</span>(&amp;internalName,..{
a30a0 20 2e 6e 61 6d 65 20 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 73 74 72 22 3e 26 ..name.=.<span.class="tok-str">&
a30c0 71 75 6f 74 3b 66 6f 6f 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 2c 20 2e 6c 69 6e 6b 61 67 65 20 quot;foo&quot;</span>,..linkage.
a30e0 3d 20 2e 73 74 72 6f 6e 67 20 7d 29 3b 0a 7d 0a 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f =..strong.});.}..<span.class="to
a3100 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
a3120 2d 66 6e 22 3e 69 6e 74 65 72 6e 61 6c 4e 61 6d 65 3c 2f 73 70 61 6e 3e 28 29 20 3c 73 70 61 6e -fn">internalName</span>().<span
a3140 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 6e 3e 28 .class="tok-kw">callconv</span>(
a3160 2e 63 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 .c).<span.class="tok-type">void<
a3180 2f 73 70 61 6e 3e 20 7b 7d 3c 2f 63 6f 64 65 3e 3c 2f 70 72 65 3e 3c 2f 66 69 67 75 72 65 3e 3c /span>.{}</code></pre></figure><
a31a0 66 69 67 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-
a31c0 63 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
a31e0 70 3e 24 20 3c 6b 62 64 3e 7a 69 67 20 62 75 69 6c 64 2d 6f 62 6a 20 65 78 70 6f 72 74 5f 62 75 p>$.<kbd>zig.build-obj.export_bu
a3200 69 6c 74 69 6e 2e 7a 69 67 3c 2f 6b 62 64 3e 0a 3c 2f 73 61 6d 70 3e 3c 2f 70 72 65 3e 3c 2f 66 iltin.zig</kbd>.</samp></pre></f
a3220 69 67 75 72 65 3e 0a 0a 20 20 20 20 20 20 3c 70 3e 54 68 69 73 20 69 73 20 65 71 75 69 76 61 6c igure>........<p>This.is.equival
a3240 65 6e 74 20 74 6f 3a 3c 2f 70 3e 0a 20 20 20 20 20 20 3c 66 69 67 75 72 65 3e 3c 66 69 67 63 61 ent.to:</p>.......<figure><figca
a3260 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
a3280 73 3d 22 66 69 6c 65 22 3e 65 78 70 6f 72 74 5f 62 75 69 6c 74 69 6e 5f 65 71 75 69 76 61 6c 65 s="file">export_builtin_equivale
a32a0 6e 74 5f 63 6f 64 65 2e 7a 69 67 3c 2f 63 69 74 65 3e 3c 2f 66 69 67 63 61 70 74 69 6f 6e 3e 3c nt_code.zig</cite></figcaption><
a32c0 70 72 65 3e 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 65 pre><code><span.class="tok-kw">e
a32e0 78 70 6f 72 74 3c 2f 73 70 61 6e 3e 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 xport</span>.<span.class="tok-kw
a3300 22 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"
a3320 3e 66 6f 6f 3c 2f 73 70 61 6e 3e 28 29 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 >foo</span>().<span.class="tok-t
a3340 79 70 65 22 3e 76 6f 69 64 3c 2f 73 70 61 6e 3e 20 7b 7d 3c 2f 63 6f 64 65 3e 3c 2f 70 72 65 3e ype">void</span>.{}</code></pre>
a3360 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
a3380 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
a33a0 3e 3c 70 72 65 3e 3c 73 61 6d 70 3e 24 20 3c 6b 62 64 3e 7a 69 67 20 62 75 69 6c 64 2d 6f 62 6a ><pre><samp>$.<kbd>zig.build-obj
a33c0 20 65 78 70 6f 72 74 5f 62 75 69 6c 74 69 6e 5f 65 71 75 69 76 61 6c 65 6e 74 5f 63 6f 64 65 2e .export_builtin_equivalent_code.
a33e0 7a 69 67 3c 2f 6b 62 64 3e 0a 3c 2f 73 61 6d 70 3e 3c 2f 70 72 65 3e 3c 2f 66 69 67 75 72 65 3e zig</kbd>.</samp></pre></figure>
a3400 0a 0a 20 20 20 20 20 20 3c 70 3e 4e 6f 74 65 20 74 68 61 74 20 65 76 65 6e 20 77 68 65 6e 20 75 ........<p>Note.that.even.when.u
a3420 73 69 6e 67 20 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e sing.<code><span.class="tok-kw">
a3440 65 78 70 6f 72 74 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 2c 20 74 68 65 20 3c 63 6f 64 65 3e export</span></code>,.the.<code>
a3460 40 26 71 75 6f 74 3b 66 6f 6f 26 71 75 6f 74 3b 3c 2f 63 6f 64 65 3e 20 73 79 6e 74 61 78 20 66 @&quot;foo&quot;</code>.syntax.f
a3480 6f 72 0a 20 20 20 20 20 20 3c 61 20 68 72 65 66 3d 22 23 49 64 65 6e 74 69 66 69 65 72 73 22 3e or.......<a.href="#Identifiers">
a34a0 69 64 65 6e 74 69 66 69 65 72 73 3c 2f 61 3e 20 63 61 6e 20 62 65 20 75 73 65 64 20 74 6f 20 63 identifiers</a>.can.be.used.to.c
a34c0 68 6f 6f 73 65 20 61 6e 79 20 73 74 72 69 6e 67 20 66 6f 72 20 74 68 65 20 73 79 6d 62 6f 6c 20 hoose.any.string.for.the.symbol.
a34e0 6e 61 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 name:</p>.......<figure><figcapt
a3500 69 6f 6e 20 63 6c 61 73 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=
a3520 22 66 69 6c 65 22 3e 65 78 70 6f 72 74 5f 61 6e 79 5f 73 79 6d 62 6f 6c 5f 6e 61 6d 65 2e 7a 69 "file">export_any_symbol_name.zi
a3540 67 3c 2f 63 69 74 65 3e 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>
a3560 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 65 78 70 6f 72 74 3c 2f 73 70 61 <span.class="tok-kw">export</spa
a3580 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
a35a0 3e 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 66 6e 22 3e 40 26 71 75 6f 74 3b 41 20 >.<span.class="tok-fn">@&quot;A.
a35c0 66 75 6e 63 74 69 6f 6e 20 6e 61 6d 65 20 74 68 61 74 20 69 73 20 61 20 63 6f 6d 70 6c 65 74 65 function.name.that.is.a.complete
a35e0 20 73 65 6e 74 65 6e 63 65 2e 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 28 29 20 3c 73 70 61 6e 20 .sentence.&quot;</span>().<span.
a3600 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 76 6f 69 64 3c 2f 73 70 61 6e 3e 20 7b 7d 3c class="tok-type">void</span>.{}<
a3620 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
a3640 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
a3660 3c 2f 66 69 67 63 61 70 74 69 6f 6e 3e 3c 70 72 65 3e 3c 73 61 6d 70 3e 24 20 3c 6b 62 64 3e 7a </figcaption><pre><samp>$.<kbd>z
a3680 69 67 20 62 75 69 6c 64 2d 6f 62 6a 20 65 78 70 6f 72 74 5f 61 6e 79 5f 73 79 6d 62 6f 6c 5f 6e ig.build-obj.export_any_symbol_n
a36a0 61 6d 65 2e 7a 69 67 3c 2f 6b 62 64 3e 0a 3c 2f 73 61 6d 70 3e 3c 2f 70 72 65 3e 3c 2f 66 69 67 ame.zig</kbd>.</samp></pre></fig
a36c0 75 72 65 3e 0a 0a 20 20 20 20 20 20 3c 70 3e 0a 20 20 20 20 20 20 57 68 65 6e 20 6c 6f 6f 6b 69 ure>........<p>.......When.looki
a36e0 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 20 79 6f 75 20 ng.at.the.resulting.object,.you.
a3700 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 76 65 72 62 61 can.see.the.symbol.is.used.verba
a3720 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 3c 63 6f 64 65 tim:.......</p>.......<pre><code
a3740 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 69 6f 6e 20 6e >00000000000001f0.T.A.function.n
a3760 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 2e ame.that.is.a.complete.sentence.
a3780 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 3a </code></pre>.......<p>See.also:
a37a0 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 72 74 69 6e 67 </p><ul>.<li><a.href="#Exporting
a37c0 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 72 -a-C-Library">Exporting.a.C.Libr
a37e0 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 0a 20 20 20 20 ary</a></li>.</ul>..............
a3800 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 6e 61 76 2e 78 ..<h3.id="extern"><a.href="nav.x
a3820 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 3e 20 3c 61 20 html#toc-extern">@extern</a>.<a.
a3840 63 6c 61 73 73 3d 22 68 64 72 22 20 68 72 65 66 3d 22 23 65 78 74 65 72 6e 22 3e c2 a7 3c 2f 61 class="hdr".href="#extern">..</a
a3860 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
a3880 6c 61 73 73 3d 22 74 6f 6b 2d 62 75 69 6c 74 69 6e 22 3e 40 65 78 74 65 72 6e 3c 2f 73 70 61 6e lass="tok-builtin">@extern</span
a38a0 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 65 >(T:.<span.class="tok-type">type
a38c0 3c 2f 73 70 61 6e 3e 2c 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 63 6f </span>,.<span.class="tok-kw">co
a38e0 6d 70 74 69 6d 65 3c 2f 73 70 61 6e 3e 20 6f 70 74 69 6f 6e 73 3a 20 73 74 64 2e 6c 61 6e 67 2e mptime</span>.options:.std.lang.
a3900 45 78 74 65 72 6e 4f 70 74 69 6f 6e 73 29 20 54 3c 2f 63 6f 64 65 3e 3c 2f 70 72 65 3e 0a 20 20 ExternOptions).T</code></pre>...
a3920 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 65 6e 63 ....<p>.......Creates.a.referenc
a3940 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 65 20 6f e.to.an.external.symbol.in.the.o
a3960 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 54 20 6d 75 73 74 20 utput.object.file........T.must.
a3980 62 65 20 61 20 70 6f 69 6e 74 65 72 20 74 79 70 65 2e 0a 20 20 20 20 20 20 3c 2f 70 3e 0a 20 20 be.a.pointer.type........</p>...
a39a0 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.
a39c0 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 69 3e 0a href="#export">@export</a></li>.
a39e0 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 69 65 </ul>................<h3.id="fie
a3a00 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 6c 64 ld"><a.href="nav.xhtml#toc-field
a3a20 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 65 66 ">@field</a>.<a.class="hdr".href
a3a40 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 70 72 ="#field">..</a></h3>........<pr
a3a60 65 3e 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 62 75 69 6c 74 69 6e e><code><span.class="tok-builtin
a3a80 22 3e 40 66 69 65 6c 64 3c 2f 73 70 61 6e 3e 28 6c 68 73 3a 20 3c 73 70 61 6e 20 63 6c 61 73 73 ">@field</span>(lhs:.<span.class
a3aa0 3d 22 74 6f 6b 2d 6b 77 22 3e 61 6e 79 74 79 70 65 3c 2f 73 70 61 6e 3e 2c 20 3c 73 70 61 6e 20 ="tok-kw">anytype</span>,.<span.
a3ac0 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 66 class="tok-kw">comptime</span>.f
a3ae0 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 6b 77 ield_name:.[]<span.class="tok-kw
a3b00 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-
a3b20 74 79 70 65 22 3e 75 38 3c 2f 73 70 61 6e 3e 29 20 28 66 69 65 6c 64 29 3c 2f 63 6f 64 65 3e 3c type">u8</span>).(field)</code><
a3b40 2f 70 72 65 3e 0a 20 20 20 20 20 20 3c 70 3e 50 65 72 66 6f 72 6d 73 20 66 69 65 6c 64 20 61 63 /pre>.......<p>Performs.field.ac
a3b60 63 65 73 73 20 62 79 20 61 20 63 6f 6d 70 69 6c 65 2d 74 69 6d 65 20 73 74 72 69 6e 67 2e 20 57 cess.by.a.compile-time.string..W
a3b80 6f 72 6b 73 20 6f 6e 20 62 6f 74 68 20 66 69 65 6c 64 73 20 61 6e 64 20 64 65 63 6c 61 72 61 74 orks.on.both.fields.and.declarat
a3ba0 69 6f 6e 73 2e 0a 20 20 20 20 20 20 3c 2f 70 3e 0a 20 20 20 20 20 20 3c 66 69 67 75 72 65 3e 3c ions........</p>.......<figure><
a3bc0 66 69 67 63 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
a3be0 20 63 6c 61 73 73 3d 22 66 69 6c 65 22 3e 74 65 73 74 5f 66 69 65 6c 64 5f 62 75 69 6c 74 69 6e .class="file">test_field_builtin
a3c00 2e 7a 69 67 3c 2f 63 69 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
a3c20 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 63 6f 6e 73 74 3c 2f 73 de><span.class="tok-kw">const</s
a3c40 70 61 6e 3e 20 73 74 64 20 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 62 75 69 6c pan>.std.=.<span.class="tok-buil
a3c60 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=
a3c80 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>
a3ca0 29 3b 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 63 6f 6e 73 74 3c 2f 73 );.<span.class="tok-kw">const</s
a3cc0 70 61 6e 3e 20 65 78 70 65 63 74 45 71 75 61 6c 20 3d 20 73 74 64 2e 74 65 73 74 69 6e 67 2e 65 pan>.expectEqual.=.std.testing.e
a3ce0 78 70 65 63 74 45 71 75 61 6c 3b 0a 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 xpectEqual;..<span.class="tok-kw
a3d00 22 3e 63 6f 6e 73 74 3c 2f 73 70 61 6e 3e 20 50 6f 69 6e 74 20 3d 20 3c 73 70 61 6e 20 63 6c 61 ">const</span>.Point.=.<span.cla
a3d20 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 73 74 72 75 63 74 3c 2f 73 70 61 6e 3e 20 7b 0a 20 20 20 20 ss="tok-kw">struct</span>.{.....
a3d40 78 3a 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 75 33 32 3c 2f 73 x:.<span.class="tok-type">u32</s
a3d60 70 61 6e 3e 2c 0a 20 20 20 20 79 3a 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 pan>,.....y:.<span.class="tok-ty
a3d80 70 65 22 3e 75 33 32 3c 2f 73 70 61 6e 3e 2c 0a 0a 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 pe">u32</span>,......<span.class
a3da0 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
a3dc0 3d 22 74 6f 6b 2d 6b 77 22 3e 76 61 72 3c 2f 73 70 61 6e 3e 20 7a 3a 20 3c 73 70 61 6e 20 63 6c ="tok-kw">var</span>.z:.<span.cl
a3de0 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
a3e00 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 31 3c 2f 73 70 61 6e 3e 3b 0a 7d n.class="tok-number">1</span>;.}
a3e20 3b 0a 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 74 65 73 74 3c 2f 73 70 ;..<span.class="tok-kw">test</sp
a3e40 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;
a3e60 66 69 65 6c 64 20 61 63 63 65 73 73 20 62 79 20 73 74 72 69 6e 67 26 71 75 6f 74 3b 3c 2f 73 70 field.access.by.string&quot;</sp
a3e80 61 6e 3e 20 7b 0a 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 76 an>.{.....<span.class="tok-kw">v
a3ea0 61 72 3c 2f 73 70 61 6e 3e 20 70 20 3d 20 50 6f 69 6e 74 7b 20 2e 78 20 3d 20 3c 73 70 61 6e 20 ar</span>.p.=.Point{..x.=.<span.
a3ec0 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 2e 79 20 class="tok-number">0</span>,..y.
a3ee0 3d 20 3c 73 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
a3f00 61 6e 3e 20 7d 3b 0a 0a 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 62 75 69 an>.};......<span.class="tok-bui
a3f20 6c 74 69 6e 22 3e 40 66 69 65 6c 64 3c 2f 73 70 61 6e 3e 28 70 2c 20 3c 73 70 61 6e 20 63 6c 61 ltin">@field</span>(p,.<span.cla
a3f40 73 73 3d 22 74 6f 6b 2d 73 74 72 22 3e 26 71 75 6f 74 3b 78 26 71 75 6f 74 3b 3c 2f 73 70 61 6e ss="tok-str">&quot;x&quot;</span
a3f60 3e 29 20 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 34 3c >).=.<span.class="tok-number">4<
a3f80 2f 73 70 61 6e 3e 3b 0a 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 62 75 69 /span>;.....<span.class="tok-bui
a3fa0 6c 74 69 6e 22 3e 40 66 69 65 6c 64 3c 2f 73 70 61 6e 3e 28 70 2c 20 3c 73 70 61 6e 20 63 6c 61 ltin">@field</span>(p,.<span.cla
a3fc0 73 73 3d 22 74 6f 6b 2d 73 74 72 22 3e 26 71 75 6f 74 3b 79 26 71 75 6f 74 3b 3c 2f 73 70 61 6e ss="tok-str">&quot;y&quot;</span
a3fe0 3e 29 20 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 62 75 69 6c 74 69 6e 22 3e 40 >).=.<span.class="tok-builtin">@
a4000 66 69 65 6c 64 3c 2f 73 70 61 6e 3e 28 70 2c 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b field</span>(p,.<span.class="tok
a4020 2d 73 74 72 22 3e 26 71 75 6f 74 3b 78 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 29 20 2b 20 3c 73 -str">&quot;x&quot;</span>).+.<s
a4040 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>;
a4060 0a 0a 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 74 72 79 3c 2f ......<span.class="tok-kw">try</
a4080 73 70 61 6e 3e 20 65 78 70 65 63 74 45 71 75 61 6c 28 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 span>.expectEqual(<span.class="t
a40a0 6f 6b 2d 6e 75 6d 62 65 72 22 3e 34 3c 2f 73 70 61 6e 3e 2c 20 3c 73 70 61 6e 20 63 6c 61 73 73 ok-number">4</span>,.<span.class
a40c0 3d 22 74 6f 6b 2d 62 75 69 6c 74 69 6e 22 3e 40 66 69 65 6c 64 3c 2f 73 70 61 6e 3e 28 70 2c 20 ="tok-builtin">@field</span>(p,.
a40e0 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 73 74 72 22 3e 26 71 75 6f 74 3b 78 26 71 75 <span.class="tok-str">&quot;x&qu
a4100 6f 74 3b 3c 2f 73 70 61 6e 3e 29 29 3b 0a 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 ot;</span>));.....<span.class="t
a4120 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 73 ok-kw">try</span>.expectEqual(<s
a4140 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>,
a4160 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 62 75 69 6c 74 69 6e 22 3e 40 66 69 65 6c .<span.class="tok-builtin">@fiel
a4180 64 3c 2f 73 70 61 6e 3e 28 70 2c 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 73 74 72 d</span>(p,.<span.class="tok-str
a41a0 22 3e 26 71 75 6f 74 3b 79 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 29 29 3b 0a 7d 0a 0a 3c 73 70 ">&quot;y&quot;</span>));.}..<sp
a41c0 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
a41e0 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 73 74 72 22 3e 26 71 75 6f 74 3b 64 65 63 6c 20 61 pan.class="tok-str">&quot;decl.a
a4200 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 0a 20 ccess.by.string&quot;</span>.{..
a4220 20 20 20 3c 73 70 61 6e 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
a4240 6e 3e 20 65 78 70 65 63 74 45 71 75 61 6c 28 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d n>.expectEqual(<span.class="tok-
a4260 6e 75 6d 62 65 72 22 3e 31 3c 2f 73 70 61 6e 3e 2c 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 number">1</span>,.<span.class="t
a4280 6f 6b 2d 62 75 69 6c 74 69 6e 22 3e 40 66 69 65 6c 64 3c 2f 73 70 61 6e 3e 28 50 6f 69 6e 74 2c ok-builtin">@field</span>(Point,
a42a0 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 73 74 72 22 3e 26 71 75 6f 74 3b 7a 26 71 .<span.class="tok-str">&quot;z&q
a42c0 75 6f 74 3b 3c 2f 73 70 61 6e 3e 29 29 3b 0a 0a 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d uot;</span>));......<span.class=
a42e0 22 74 6f 6b 2d 62 75 69 6c 74 69 6e 22 3e 40 66 69 65 6c 64 3c 2f 73 70 61 6e 3e 28 50 6f 69 6e "tok-builtin">@field</span>(Poin
a4300 74 2c 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 73 74 72 22 3e 26 71 75 6f 74 3b 7a t,.<span.class="tok-str">&quot;z
a4320 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 29 20 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f &quot;</span>).=.<span.class="to
a4340 6b 2d 6e 75 6d 62 65 72 22 3e 32 3c 2f 73 70 61 6e 3e 3b 0a 20 20 20 20 3c 73 70 61 6e 20 63 6c k-number">2</span>;.....<span.cl
a4360 61 73 73 3d 22 74 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 ass="tok-kw">try</span>.expectEq
a4380 75 61 6c 28 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 32 3c 2f ual(<span.class="tok-number">2</
a43a0 73 70 61 6e 3e 2c 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 62 75 69 6c 74 69 6e 22 span>,.<span.class="tok-builtin"
a43c0 3e 40 66 69 65 6c 64 3c 2f 73 70 61 6e 3e 28 50 6f 69 6e 74 2c 20 3c 73 70 61 6e 20 63 6c 61 73 >@field</span>(Point,.<span.clas
a43e0 73 3d 22 74 6f 6b 2d 73 74 72 22 3e 26 71 75 6f 74 3b 7a 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e s="tok-str">&quot;z&quot;</span>
a4400 29 29 3b 0a 7d 3c 2f 63 6f 64 65 3e 3c 2f 70 72 65 3e 3c 2f 66 69 67 75 72 65 3e 3c 66 69 67 75 ));.}</code></pre></figure><figu
a4420 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"
a4440 3e 53 68 65 6c 6c 3c 2f 66 69 67 63 61 70 74 69 6f 6e 3e 3c 70 72 65 3e 3c 73 61 6d 70 3e 24 20 >Shell</figcaption><pre><samp>$.
a4460 3c 6b 62 64 3e 7a 69 67 20 74 65 73 74 20 74 65 73 74 5f 66 69 65 6c 64 5f 62 75 69 6c 74 69 6e <kbd>zig.test.test_field_builtin
a4480 2e 7a 69 67 3c 2f 6b 62 64 3e 0a 31 2f 32 20 74 65 73 74 5f 66 69 65 6c 64 5f 62 75 69 6c 74 69 .zig</kbd>.1/2.test_field_builti
a44a0 6e 2e 74 65 73 74 2e 66 69 65 6c 64 20 61 63 63 65 73 73 20 62 79 20 73 74 72 69 6e 67 2e 2e 2e n.test.field.access.by.string...
a44c0 4f 4b 0a 32 2f 32 20 74 65 73 74 5f 66 69 65 6c 64 5f 62 75 69 6c 74 69 6e 2e 74 65 73 74 2e 64 OK.2/2.test_field_builtin.test.d
a44e0 65 63 6c 20 61 63 63 65 73 73 20 62 79 20 73 74 72 69 6e 67 2e 2e 2e 4f 4b 0a 41 6c 6c 20 32 20 ecl.access.by.string...OK.All.2.
a4500 74 65 73 74 73 20 70 61 73 73 65 64 2e 0a 3c 2f 73 61 6d 70 3e 3c 2f 70 72 65 3e 3c 2f 66 69 67 tests.passed..</samp></pre></fig
a4520 75 72 65 3e 0a 0a 0a 20 20 20 20 20 20 0a 0a 20 20 20 20 20 20 3c 68 33 20 69 64 3d 22 66 69 65 ure>.................<h3.id="fie
a4540 6c 64 50 61 72 65 6e 74 50 74 72 22 3e 3c 61 20 68 72 65 66 3d 22 6e 61 76 2e 78 68 74 6d 6c 23 ldParentPtr"><a.href="nav.xhtml#
a4560 74 6f 63 2d 66 69 65 6c 64 50 61 72 65 6e 74 50 74 72 22 3e 40 66 69 65 6c 64 50 61 72 65 6e 74 toc-fieldParentPtr">@fieldParent
a4580 50 74 72 3c 2f 61 3e 20 3c 61 20 63 6c 61 73 73 3d 22 68 64 72 22 20 68 72 65 66 3d 22 23 66 69 Ptr</a>.<a.class="hdr".href="#fi
a45a0 65 6c 64 50 61 72 65 6e 74 50 74 72 22 3e c2 a7 3c 2f 61 3e 3c 2f 68 33 3e 0a 0a 20 20 20 20 20 eldParentPtr">..</a></h3>.......
a45c0 20 3c 70 72 65 3e 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 62 75 69 .<pre><code><span.class="tok-bui
a45e0 6c 74 69 6e 22 3e 40 66 69 65 6c 64 50 61 72 65 6e 74 50 74 72 3c 2f 73 70 61 6e 3e 28 3c 73 70 ltin">@fieldParentPtr</span>(<sp
a4600 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
a4620 3e 20 66 69 65 6c 64 5f 6e 61 6d 65 3a 20 5b 5d 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b >.field_name:.[]<span.class="tok
a4640 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
a4660 6f 6b 2d 74 79 70 65 22 3e 75 38 3c 2f 73 70 61 6e 3e 2c 20 66 69 65 6c 64 5f 70 74 72 3a 20 2a ok-type">u8</span>,.field_ptr:.*
a4680 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 79 74 79 70 65 3c T).<span.class="tok-kw">anytype<
a46a0 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>...
a46c0 20 20 20 20 47 69 76 65 6e 20 61 20 70 6f 69 6e 74 65 72 20 74 6f 20 61 20 73 74 72 75 63 74 20 ....Given.a.pointer.to.a.struct.
a46e0 6f 72 20 75 6e 69 6f 6e 20 66 69 65 6c 64 2c 20 72 65 74 75 72 6e 73 20 61 20 70 6f 69 6e 74 65 or.union.field,.returns.a.pointe
a4700 72 20 74 6f 20 74 68 65 20 73 74 72 75 63 74 20 6f 72 20 75 6e 69 6f 6e 20 63 6f 6e 74 61 69 6e r.to.the.struct.or.union.contain
a4720 69 6e 67 20 74 68 61 74 20 66 69 65 6c 64 2e 0a 20 20 20 20 20 20 54 68 65 20 72 65 74 75 72 6e ing.that.field........The.return
a4740 20 74 79 70 65 20 28 70 6f 69 6e 74 65 72 20 74 6f 20 74 68 65 20 70 61 72 65 6e 74 20 73 74 72 .type.(pointer.to.the.parent.str
a4760 75 63 74 20 6f 72 20 75 6e 69 6f 6e 20 69 6e 20 71 75 65 73 74 69 6f 6e 29 20 69 73 20 74 68 65 uct.or.union.in.question).is.the
a4780 20 69 6e 66 65 72 72 65 64 20 72 65 73 75 6c 74 20 74 79 70 65 2e 0a 20 20 20 20 20 20 3c 2f 70 .inferred.result.type........</p
a47a0 3e 0a 20 20 20 20 20 20 3c 70 3e 0a 20 20 20 20 20 20 49 66 20 3c 63 6f 64 65 3e 66 69 65 6c 64 >.......<p>.......If.<code>field
a47c0 5f 70 74 72 3c 2f 63 6f 64 65 3e 20 64 6f 65 73 20 6e 6f 74 20 70 6f 69 6e 74 20 74 6f 20 74 68 _ptr</code>.does.not.point.to.th
a47e0 65 20 3c 63 6f 64 65 3e 66 69 65 6c 64 5f 6e 61 6d 65 3c 2f 63 6f 64 65 3e 20 66 69 65 6c 64 20 e.<code>field_name</code>.field.
a4800 6f 66 20 61 6e 20 69 6e 73 74 61 6e 63 65 20 6f 66 0a 20 20 20 20 20 20 74 68 65 20 72 65 73 75 of.an.instance.of.......the.resu
a4820 6c 74 20 74 79 70 65 2c 20 61 6e 64 20 74 68 65 20 72 65 73 75 6c 74 20 74 79 70 65 20 68 61 73 lt.type,.and.the.result.type.has
a4840 20 69 6c 6c 2d 64 65 66 69 6e 65 64 20 6c 61 79 6f 75 74 2c 20 69 6e 76 6f 6b 65 73 20 75 6e 63 .ill-defined.layout,.invokes.unc
a4860 68 65 63 6b 65 64 20 3c 61 20 68 72 65 66 3d 22 23 49 6c 6c 65 67 61 6c 2d 42 65 68 61 76 69 6f hecked.<a.href="#Illegal-Behavio
a4880 72 22 3e 49 6c 6c 65 67 61 6c 20 42 65 68 61 76 69 6f 72 3c 2f 61 3e 2e 0a 20 20 20 20 20 20 3c r">Illegal.Behavior</a>........<
a48a0 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 69 65 6c 64 54 /p>...............<h3.id="FieldT
a48c0 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 46 69 65 6c ype"><a.href="nav.xhtml#toc-Fiel
a48e0 64 54 79 70 65 22 3e 40 46 69 65 6c 64 54 79 70 65 3c 2f 61 3e 20 3c 61 20 63 6c 61 73 73 3d 22 dType">@FieldType</a>.<a.class="
a4900 68 64 72 22 20 68 72 65 66 3d 22 23 46 69 65 6c 64 54 79 70 65 22 3e c2 a7 3c 2f 61 3e 3c 2f 68 hdr".href="#FieldType">..</a></h
a4920 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
a4940 3d 22 74 6f 6b 2d 62 75 69 6c 74 69 6e 22 3e 40 46 69 65 6c 64 54 79 70 65 3c 2f 73 70 61 6e 3e ="tok-builtin">@FieldType</span>
a4960 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</
a4980 73 70 61 6e 3e 20 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 span>.Type:.<span.class="tok-typ
a49a0 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 6f 6b e">type</span>,.<span.class="tok
a49c0 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 65 3a -kw">comptime</span>.field_name:
a49e0 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
a4a00 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</
a4a20 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 79 span>).<span.class="tok-type">ty
a4a40 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 3e pe</span></code></pre>.......<p>
a4a60 0a 20 20 20 20 20 20 47 69 76 65 6e 20 61 20 74 79 70 65 20 61 6e 64 20 74 68 65 20 6e 61 6d 65 .......Given.a.type.and.the.name
a4a80 20 6f 66 20 6f 6e 65 20 6f 66 20 69 74 73 20 66 69 65 6c 64 73 2c 20 72 65 74 75 72 6e 73 20 74 .of.one.of.its.fields,.returns.t
a4aa0 68 65 20 74 79 70 65 20 6f 66 20 74 68 61 74 20 66 69 65 6c 64 2e 0a 20 20 20 20 20 20 3c 2f 70 he.type.of.that.field........</p
a4ac0 3e 0a 20 20 20 20 20 20 0a 0a 20 20 20 20 20 20 3c 68 33 20 69 64 3d 22 66 6c 6f 61 74 43 61 73 >...............<h3.id="floatCas
a4ae0 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 66 6c 6f 61 74 43 t"><a.href="nav.xhtml#toc-floatC
a4b00 61 73 74 22 3e 40 66 6c 6f 61 74 43 61 73 74 3c 2f 61 3e 20 3c 61 20 63 6c 61 73 73 3d 22 68 64 ast">@floatCast</a>.<a.class="hd
a4b20 72 22 20 68 72 65 66 3d 22 23 66 6c 6f 61 74 43 61 73 74 22 3e c2 a7 3c 2f 61 3e 3c 2f 68 33 3e r".href="#floatCast">..</a></h3>
a4b40 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="
a4b60 74 6f 6b 2d 62 75 69 6c 74 69 6e 22 3e 40 66 6c 6f 61 74 43 61 73 74 3c 2f 73 70 61 6e 3e 28 76 tok-builtin">@floatCast</span>(v
a4b80 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
a4ba0 70 65 3c 2f 73 70 61 6e 3e 29 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e pe</span>).<span.class="tok-kw">
a4bc0 61 6e 79 74 79 70 65 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 3c 2f 70 72 65 3e 0a 20 20 20 20 anytype</span></code></pre>.....
a4be0 20 20 3c 70 3e 0a 20 20 20 20 20 20 43 6f 6e 76 65 72 74 20 66 72 6f 6d 20 6f 6e 65 20 66 6c 6f ..<p>.......Convert.from.one.flo
a4c00 61 74 20 74 79 70 65 20 74 6f 20 61 6e 6f 74 68 65 72 2e 20 54 68 69 73 20 63 61 73 74 20 69 73 at.type.to.another..This.cast.is
a4c20 20 73 61 66 65 2c 20 62 75 74 20 6d 61 79 20 63 61 75 73 65 20 74 68 65 0a 20 20 20 20 20 20 6e .safe,.but.may.cause.the.......n
a4c40 75 6d 65 72 69 63 20 76 61 6c 75 65 20 74 6f 20 6c 6f 73 65 20 70 72 65 63 69 73 69 6f 6e 2e 20 umeric.value.to.lose.precision..
a4c60 54 68 65 20 72 65 74 75 72 6e 20 74 79 70 65 20 69 73 20 74 68 65 20 69 6e 66 65 72 72 65 64 20 The.return.type.is.the.inferred.
a4c80 72 65 73 75 6c 74 20 74 79 70 65 2e 0a 20 20 20 20 20 20 3c 2f 70 3e 0a 20 20 20 20 20 20 0a 0a result.type........</p>.........
a4ca0 20 20 20 20 20 20 3c 68 33 20 69 64 3d 22 66 6c 6f 61 74 46 72 6f 6d 49 6e 74 22 3e 3c 61 20 68 ......<h3.id="floatFromInt"><a.h
a4cc0 72 65 66 3d 22 6e 61 76 2e 78 68 74 6d 6c 23 74 6f 63 2d 66 6c 6f 61 74 46 72 6f 6d 49 6e 74 22 ref="nav.xhtml#toc-floatFromInt"
a4ce0 3e 40 66 6c 6f 61 74 46 72 6f 6d 49 6e 74 3c 2f 61 3e 20 3c 61 20 63 6c 61 73 73 3d 22 68 64 72 >@floatFromInt</a>.<a.class="hdr
a4d00 22 20 68 72 65 66 3d 22 23 66 6c 6f 61 74 46 72 6f 6d 49 6e 74 22 3e c2 a7 3c 2f 61 3e 3c 2f 68 ".href="#floatFromInt">..</a></h
a4d20 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
a4d40 3d 22 74 6f 6b 2d 62 75 69 6c 74 69 6e 22 3e 40 66 6c 6f 61 74 46 72 6f 6d 49 6e 74 3c 2f 73 70 ="tok-builtin">@floatFromInt</sp
a4d60 61 6e 3e 28 69 6e 74 3a 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 61 6e an>(int:.<span.class="tok-kw">an
a4d80 79 74 79 70 65 3c 2f 73 70 61 6e 3e 29 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b ytype</span>).<span.class="tok-k
a4da0 77 22 3e 61 6e 79 74 79 70 65 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 3c 2f 70 72 65 3e 0a 20 w">anytype</span></code></pre>..
a4dc0 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
a4de0 65 72 20 74 6f 20 74 68 65 20 63 6c 6f 73 65 73 74 20 66 6c 6f 61 74 69 6e 67 20 70 6f 69 6e 74 er.to.the.closest.floating.point
a4e00 20 72 65 70 72 65 73 65 6e 74 61 74 69 6f 6e 2e 20 54 68 65 20 72 65 74 75 72 6e 20 74 79 70 65 .representation..The.return.type
a4e20 20 69 73 20 74 68 65 20 69 6e 66 65 72 72 65 64 20 72 65 73 75 6c 74 20 74 79 70 65 2e 0a 20 20 .is.the.inferred.result.type....
a4e40 20 20 20 20 54 6f 20 63 6f 6e 76 65 72 74 20 74 68 65 20 6f 74 68 65 72 20 77 61 79 2c 20 75 73 ....To.convert.the.other.way,.us
a4e60 65 20 3c 61 20 68 72 65 66 3d 22 23 72 6f 75 6e 64 22 3e 40 72 6f 75 6e 64 3c 2f 61 3e 2c 20 3c e.<a.href="#round">@round</a>,.<
a4e80 61 20 68 72 65 66 3d 22 23 66 6c 6f 6f 72 22 3e 40 66 6c 6f 6f 72 3c 2f 61 3e 2c 0a 20 20 20 20 a.href="#floor">@floor</a>,.....
a4ea0 20 20 3c 61 20 68 72 65 66 3d 22 23 63 65 69 6c 22 3e 40 63 65 69 6c 3c 2f 61 3e 2c 20 6f 72 20 ..<a.href="#ceil">@ceil</a>,.or.
a4ec0 3c 61 20 68 72 65 66 3d 22 23 74 72 75 6e 63 22 3e 40 74 72 75 6e 63 3c 2f 61 3e 2e 20 54 68 69 <a.href="#trunc">@trunc</a>..Thi
a4ee0 73 20 6f 70 65 72 61 74 69 6f 6e 20 69 73 20 6c 65 67 61 6c 20 66 6f 72 20 61 6c 6c 0a 20 20 20 s.operation.is.legal.for.all....
a4f00 20 20 20 76 61 6c 75 65 73 20 6f 66 20 61 6c 6c 20 69 6e 74 65 67 65 72 20 74 79 70 65 73 2e 0a ...values.of.all.integer.types..
a4f20 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=
a4f40 22 66 72 61 6d 65 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 6d "frameAddress"><a.href="nav.xhtm
a4f60 6c 23 74 6f 63 2d 66 72 61 6d 65 41 64 64 72 65 73 73 22 3e 40 66 72 61 6d 65 41 64 64 72 65 73 l#toc-frameAddress">@frameAddres
a4f80 73 3c 2f 61 3e 20 3c 61 20 63 6c 61 73 73 3d 22 68 64 72 22 20 68 72 65 66 3d 22 23 66 72 61 6d s</a>.<a.class="hdr".href="#fram
a4fa0 65 41 64 64 72 65 73 73 22 3e c2 a7 3c 2f 61 3e 3c 2f 68 33 3e 0a 0a 20 20 20 20 20 20 3c 70 72 eAddress">..</a></h3>........<pr
a4fc0 65 3e 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 62 75 69 6c 74 69 6e e><code><span.class="tok-builtin
a4fe0 22 3e 40 66 72 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 ">@frameAddress</span>().<span.c
a5000 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 75 73 69 7a 65 3c 2f 73 70 61 6e 3e 3c 2f 63 6f lass="tok-type">usize</span></co
a5020 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
a5040 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 65 72 unction.returns.the.base.pointer
a5060 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 20 20 .of.the.current.stack.frame.....
a5080 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 70 6c ...</p>.......<p>.......The.impl
a50a0 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 2d 73 70 65 63 ications.of.this.are.target-spec
a50c0 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 20 61 ific.and.not.consistent.across.a
a50e0 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 61 64 ll.......platforms..The.frame.ad
a5100 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 72 65 dress.may.not.be.available.in.re
a5120 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 73 69 lease.mode.due.to.......aggressi
a5140 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 20 20 ve.optimizations........</p>....
a5160 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 6f 6e ...<p>.......This.function.is.on
a5180 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 2e 0a ly.valid.within.function.scope..
a51a0 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=
a51c0 22 68 61 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 "hasDecl"><a.href="nav.xhtml#toc
a51e0 2d 68 61 73 44 65 63 6c 22 3e 40 68 61 73 44 65 63 6c 3c 2f 61 3e 20 3c 61 20 63 6c 61 73 73 3d -hasDecl">@hasDecl</a>.<a.class=
a5200 22 68 64 72 22 20 68 72 65 66 3d 22 23 68 61 73 44 65 63 6c 22 3e c2 a7 3c 2f 61 3e 3c 2f 68 33 "hdr".href="#hasDecl">..</a></h3
a5220 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=
a5240 22 74 6f 6b 2d 62 75 69 6c 74 69 6e 22 3e 40 68 61 73 44 65 63 6c 3c 2f 73 70 61 6e 3e 28 3c 73 "tok-builtin">@hasDecl</span>(<s
a5260 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
a5280 6e 3e 20 4e 61 6d 65 73 70 61 63 65 3a 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 n>.Namespace:.<span.class="tok-t
a52a0 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
a52c0 6f 6b 2d 6b 77 22 3e 63 6f 6d 70 74 69 6d 65 3c 2f 73 70 61 6e 3e 20 6e 61 6d 65 3a 20 5b 5d 3c ok-kw">comptime</span>.name:.[]<
a52e0 73 70 61 6e 20 63 6c 61 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>
a5300 20 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
a5320 3e 29 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 62 6f 6f 6c 3c 2f >).<span.class="tok-type">bool</
a5340 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 3c 2f 70 72 65 3e 0a 20 20 20 20 20 20 3c 70 3e 52 65 74 75 span></code></pre>.......<p>Retu
a5360 72 6e 73 20 77 68 65 74 68 65 72 20 6f 72 20 6e 6f 74 20 61 20 3c 61 20 68 72 65 66 3d 22 23 4e rns.whether.or.not.a.<a.href="#N
a5380 61 6d 65 73 70 61 63 65 22 3e 4e 61 6d 65 73 70 61 63 65 3c 2f 61 3e 20 68 61 73 20 61 20 64 65 amespace">Namespace</a>.has.a.de
a53a0 63 6c 61 72 61 74 69 6f 6e 20 6d 61 74 63 68 69 6e 67 20 3c 63 6f 64 65 3e 6e 61 6d 65 3c 2f 63 claration.matching.<code>name</c
a53c0 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 74 ode>.</p>.......<figure><figcapt
a53e0 69 6f 6e 20 63 6c 61 73 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=
a5400 22 66 69 6c 65 22 3e 74 65 73 74 5f 68 61 73 44 65 63 6c 5f 62 75 69 6c 74 69 6e 2e 7a 69 67 3c "file">test_hasDecl_builtin.zig<
a5420 2f 63 69 74 65 3e 3c 2f 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
a5440 70 61 6e 20 63 6c 61 73 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>.
a5460 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">
a5480 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-
a54a0 73 74 72 22 3e 26 71 75 6f 74 3b 73 74 64 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 29 3b 0a 3c 73 str">&quot;std&quot;</span>);.<s
a54c0 70 61 6e 20 63 6c 61 73 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>.
a54e0 65 78 70 65 63 74 20 3d 20 73 74 64 2e 74 65 73 74 69 6e 67 2e 65 78 70 65 63 74 3b 0a 0a 3c 73 expect.=.std.testing.expect;..<s
a5500 70 61 6e 20 63 6c 61 73 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>.
a5520 46 6f 6f 20 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 73 74 72 75 63 Foo.=.<span.class="tok-kw">struc
a5540 74 3c 2f 73 70 61 6e 3e 20 7b 0a 20 20 20 20 6e 6f 70 65 3a 20 3c 73 70 61 6e 20 63 6c 61 73 73 t</span>.{.....nope:.<span.class
a5560 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 69 33 32 3c 2f 73 70 61 6e 3e 2c 0a 0a 20 20 20 20 3c 73 70 ="tok-type">i32</span>,......<sp
a5580 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
a55a0 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 6c 61 an.class="tok-kw">var</span>.bla
a55c0 68 20 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 73 74 72 22 3e 26 71 75 6f 74 3b h.=.<span.class="tok-str">&quot;
a55e0 78 78 78 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 3b 0a 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 xxx&quot;</span>;.....<span.clas
a5600 73 3d 22 74 6f 6b 2d 6b 77 22 3e 63 6f 6e 73 74 3c 2f 73 70 61 6e 3e 20 68 69 20 3d 20 3c 73 70 s="tok-kw">const</span>.hi.=.<sp
a5620 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 31 3c 2f 73 70 61 6e 3e 3b 0a an.class="tok-number">1</span>;.
a5640 7d 3b 0a 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 74 65 73 74 3c 2f 73 };..<span.class="tok-kw">test</s
a5660 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
a5680 3b 40 68 61 73 44 65 63 6c 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 20 7b 0a 20 20 20 20 3c 73 70 ;@hasDecl&quot;</span>.{.....<sp
a56a0 61 6e 20 63 6c 61 73 73 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
a56c0 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 68 ect(<span.class="tok-builtin">@h
a56e0 61 73 44 65 63 6c 3c 2f 73 70 61 6e 3e 28 46 6f 6f 2c 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 asDecl</span>(Foo,.<span.class="
a5700 74 6f 6b 2d 73 74 72 22 3e 26 71 75 6f 74 3b 62 6c 61 68 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e tok-str">&quot;blah&quot;</span>
a5720 29 29 3b 0a 0a 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 63 6f 6d 6d 65 6e ));......<span.class="tok-commen
a5740 74 22 3e 2f 2f 20 45 76 65 6e 20 74 68 6f 75 67 68 20 60 68 69 60 20 69 73 20 70 72 69 76 61 74 t">//.Even.though.`hi`.is.privat
a5760 65 2c 20 40 68 61 73 44 65 63 6c 20 72 65 74 75 72 6e 73 20 74 72 75 65 20 62 65 63 61 75 73 65 e,.@hasDecl.returns.true.because
a5780 20 74 68 69 73 20 74 65 73 74 20 69 73 3c 2f 73 70 61 6e 3e 0a 20 20 20 20 3c 73 70 61 6e 20 63 .this.test.is</span>.....<span.c
a57a0 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 74 68 65 20 73 61 6d lass="tok-comment">//.in.the.sam
a57c0 65 20 66 69 6c 65 20 73 63 6f 70 65 20 61 73 20 46 6f 6f 2e 20 49 74 20 77 6f 75 6c 64 20 72 65 e.file.scope.as.Foo..It.would.re
a57e0 74 75 72 6e 20 66 61 6c 73 65 20 69 66 20 46 6f 6f 20 77 61 73 20 64 65 63 6c 61 72 65 64 3c 2f turn.false.if.Foo.was.declared</
a5800 73 70 61 6e 3e 0a 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 63 6f 6d 6d 65 span>.....<span.class="tok-comme
a5820 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 2f 73 70 61 nt">//.in.a.different.file.</spa
a5840 6e 3e 0a 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 74 72 79 3c n>.....<span.class="tok-kw">try<
a5860 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
a5880 75 69 6c 74 69 6e 22 3e 40 68 61 73 44 65 63 6c 3c 2f 73 70 61 6e 3e 28 46 6f 6f 2c 20 3c 73 70 uiltin">@hasDecl</span>(Foo,.<sp
a58a0 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 73 74 72 22 3e 26 71 75 6f 74 3b 68 69 26 71 75 6f 74 an.class="tok-str">&quot;hi&quot
a58c0 3b 3c 2f 73 70 61 6e 3e 29 29 3b 0a 0a 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f ;</span>));......<span.class="to
a58e0 6b 2d 63 6f 6d 6d 65 6e 74 22 3e 2f 2f 20 40 68 61 73 44 65 63 6c 20 69 73 20 66 6f 72 20 64 65 k-comment">//.@hasDecl.is.for.de
a5900 63 6c 61 72 61 74 69 6f 6e 73 3b 20 6e 6f 74 20 66 69 65 6c 64 73 2e 3c 2f 73 70 61 6e 3e 0a 20 clarations;.not.fields.</span>..
a5920 20 20 20 3c 73 70 61 6e 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
a5940 6e 3e 20 65 78 70 65 63 74 28 21 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 62 75 69 6c n>.expect(!<span.class="tok-buil
a5960 74 69 6e 22 3e 40 68 61 73 44 65 63 6c 3c 2f 73 70 61 6e 3e 28 46 6f 6f 2c 20 3c 73 70 61 6e 20 tin">@hasDecl</span>(Foo,.<span.
a5980 63 6c 61 73 73 3d 22 74 6f 6b 2d 73 74 72 22 3e 26 71 75 6f 74 3b 6e 6f 70 65 26 71 75 6f 74 3b class="tok-str">&quot;nope&quot;
a59a0 3c 2f 73 70 61 6e 3e 29 29 3b 0a 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d </span>));.....<span.class="tok-
a59c0 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
a59e0 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>
a5a00 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
a5a20 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 0a 7d 3c 2f 63 6f t;nope1234&quot;</span>));.}</co
a5a40 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
a5a60 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
a5a80 69 67 63 61 70 74 69 6f 6e 3e 3c 70 72 65 3e 3c 73 61 6d 70 3e 24 20 3c 6b 62 64 3e 7a 69 67 20 igcaption><pre><samp>$.<kbd>zig.
a5aa0 74 65 73 74 20 74 65 73 74 5f 68 61 73 44 65 63 6c 5f 62 75 69 6c 74 69 6e 2e 7a 69 67 3c 2f 6b test.test_hasDecl_builtin.zig</k
a5ac0 62 64 3e 0a 31 2f 31 20 74 65 73 74 5f 68 61 73 44 65 63 6c 5f 62 75 69 6c 74 69 6e 2e 74 65 73 bd>.1/1.test_hasDecl_builtin.tes
a5ae0 74 2e 40 68 61 73 44 65 63 6c 2e 2e 2e 4f 4b 0a 41 6c 6c 20 31 20 74 65 73 74 73 20 70 61 73 73 t.@hasDecl...OK.All.1.tests.pass
a5b00 65 64 2e 0a 3c 2f 73 61 6d 70 3e 3c 2f 70 72 65 3e 3c 2f 66 69 67 75 72 65 3e 0a 0a 20 20 20 20 ed..</samp></pre></figure>......
a5b20 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
a5b40 65 66 3d 22 23 68 61 73 46 69 65 6c 64 22 3e 40 68 61 73 46 69 65 6c 64 3c 2f 61 3e 3c 2f 6c 69 ef="#hasField">@hasField</a></li
a5b60 3e 0a 3c 2f 75 6c 3e 0a 0a 20 20 20 20 20 20 0a 0a 20 20 20 20 20 20 3c 68 33 20 69 64 3d 22 68 >.</ul>................<h3.id="h
a5b80 61 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 asField"><a.href="nav.xhtml#toc-
a5ba0 68 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 hasField">@hasField</a>.<a.class
a5bc0 3d 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 ="hdr".href="#hasField">..</a></
a5be0 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
a5c00 73 3d 22 74 6f 6b 2d 62 75 69 6c 74 69 6e 22 3e 40 68 61 73 46 69 65 6c 64 3c 2f 73 70 61 6e 3e s="tok-builtin">@hasField</span>
a5c20 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</
a5c40 73 70 61 6e 3e 20 54 3a 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e span>.T:.<span.class="tok-type">
a5c60 74 79 70 65 3c 2f 73 70 61 6e 3e 2c 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 type</span>,.<span.class="tok-kw
a5c80 22 3e 63 6f 6d 70 74 69 6d 65 3c 2f 73 70 61 6e 3e 20 6e 61 6d 65 3a 20 5b 5d 3c 73 70 61 6e 20 ">comptime</span>.name:.[]<span.
a5ca0 63 6c 61 73 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
a5cc0 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 75 38 3c 2f 73 70 61 6e 3e 29 20 3c 73 n.class="tok-type">u8</span>).<s
a5ce0 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>
a5d00 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 77 </code></pre>.......<p>Returns.w
a5d20 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 63 hether.the.field.name.of.a.struc
a5d40 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 20 t,.union,.or.enum.exists.</p>...
a5d60 20 20 20 20 3c 70 3e 54 68 65 20 72 65 73 75 6c 74 20 69 73 20 61 20 63 6f 6d 70 69 6c 65 20 74 ....<p>The.result.is.a.compile.t
a5d80 69 6d 65 20 63 6f 6e 73 74 61 6e 74 2e 3c 2f 70 3e 0a 20 20 20 20 20 20 3c 70 3e 49 74 20 64 6f ime.constant.</p>.......<p>It.do
a5da0 65 73 20 6e 6f 74 20 69 6e 63 6c 75 64 65 20 66 75 6e 63 74 69 6f 6e 73 2c 20 76 61 72 69 61 62 es.not.include.functions,.variab
a5dc0 6c 65 73 2c 20 6f 72 20 63 6f 6e 73 74 61 6e 74 73 2e 3c 2f 70 3e 0a 20 20 20 20 20 20 3c 70 3e les,.or.constants.</p>.......<p>
a5de0 53 65 65 20 61 6c 73 6f 3a 3c 2f 70 3e 3c 75 6c 3e 0a 3c 6c 69 3e 3c 61 20 68 72 65 66 3d 22 23 See.also:</p><ul>.<li><a.href="#
a5e00 68 61 73 44 65 63 6c 22 3e 40 68 61 73 44 65 63 6c 3c 2f 61 3e 3c 2f 6c 69 3e 0a 3c 2f 75 6c 3e hasDecl">@hasDecl</a></li>.</ul>
a5e20 0a 0a 20 20 20 20 20 20 0a 0a 20 20 20 20 20 20 3c 68 33 20 69 64 3d 22 69 6d 70 6f 72 74 22 3e ................<h3.id="import">
a5e40 3c 61 20 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 <a.href="nav.xhtml#toc-import">@
a5e60 69 6d 70 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 import</a>.<a.class="hdr".href="
a5e80 23 69 6d 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 #import">..</a></h3>........<pre
a5ea0 3e 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 62 75 69 6c 74 69 6e 22 ><code><span.class="tok-builtin"
a5ec0 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
a5ee0 2d 6b 77 22 3e 63 6f 6d 70 74 69 6d 65 3c 2f 73 70 61 6e 3e 20 74 61 72 67 65 74 3a 20 5b 5d 3c -kw">comptime</span>.target:.[]<
a5f00 73 70 61 6e 20 63 6c 61 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>
a5f20 20 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
a5f40 3e 29 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 61 6e 79 74 79 70 65 3c >).<span.class="tok-kw">anytype<
a5f60 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 49 6d 70 /span></code></pre>.......<p>Imp
a5f80 6f 72 74 73 20 74 68 65 20 66 69 6c 65 20 61 74 20 3c 63 6f 64 65 3e 74 61 72 67 65 74 3c 2f 63 orts.the.file.at.<code>target</c
a5fa0 6f 64 65 3e 2c 20 61 64 64 69 6e 67 20 69 74 20 74 6f 20 74 68 65 20 63 6f 6d 70 69 6c 61 74 69 ode>,.adding.it.to.the.compilati
a5fc0 6f 6e 20 69 66 20 69 74 20 69 73 20 6e 6f 74 20 61 6c 72 65 61 64 79 0a 20 20 20 20 20 20 61 64 on.if.it.is.not.already.......ad
a5fe0 64 65 64 2e 20 3c 63 6f 64 65 3e 74 61 72 67 65 74 3c 2f 63 6f 64 65 3e 20 69 73 20 65 69 74 68 ded..<code>target</code>.is.eith
a6000 65 72 20 61 20 72 65 6c 61 74 69 76 65 20 70 61 74 68 20 74 6f 20 61 6e 6f 74 68 65 72 20 66 69 er.a.relative.path.to.another.fi
a6020 6c 65 20 66 72 6f 6d 20 74 68 65 20 66 69 6c 65 20 63 6f 6e 74 61 69 6e 69 6e 67 0a 20 20 20 20 le.from.the.file.containing.....
a6040 20 20 74 68 65 20 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 62 75 69 ..the.<code><span.class="tok-bui
a6060 6c 74 69 6e 22 3e 40 69 6d 70 6f 72 74 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 20 63 61 6c 6c ltin">@import</span></code>.call
a6080 2c 20 6f 72 20 69 74 20 69 73 20 74 68 65 20 6e 61 6d 65 20 6f 66 20 61 20 3c 61 20 68 72 65 66 ,.or.it.is.the.name.of.a.<a.href
a60a0 3d 22 23 43 6f 6d 70 69 6c 61 74 69 6f 6e 2d 4d 6f 64 65 6c 22 3e 6d 6f 64 75 6c 65 3c 2f 61 3e ="#Compilation-Model">module</a>
a60c0 2c 20 77 69 74 68 0a 20 20 20 20 20 20 74 68 65 20 69 6d 70 6f 72 74 20 72 65 66 65 72 72 69 6e ,.with.......the.import.referrin
a60e0 67 20 74 6f 20 74 68 65 20 72 6f 6f 74 20 73 6f 75 72 63 65 20 66 69 6c 65 20 6f 66 20 74 68 61 g.to.the.root.source.file.of.tha
a6100 74 20 6d 6f 64 75 6c 65 2e 20 45 69 74 68 65 72 20 77 61 79 2c 20 74 68 65 20 66 69 6c 65 20 70 t.module..Either.way,.the.file.p
a6120 61 74 68 20 6d 75 73 74 20 65 6e 64 20 69 6e 0a 20 20 20 20 20 20 65 69 74 68 65 72 20 3c 63 6f ath.must.end.in.......either.<co
a6140 64 65 3e 2e 7a 69 67 3c 2f 63 6f 64 65 3e 20 28 66 6f 72 20 61 20 5a 69 67 20 73 6f 75 72 63 65 de>.zig</code>.(for.a.Zig.source
a6160 20 66 69 6c 65 29 20 6f 72 20 3c 63 6f 64 65 3e 2e 7a 6f 6e 3c 2f 63 6f 64 65 3e 20 28 66 6f 72 .file).or.<code>.zon</code>.(for
a6180 20 61 20 5a 4f 4e 20 64 61 74 61 20 66 69 6c 65 29 2e 3c 2f 70 3e 0a 20 20 20 20 20 20 3c 70 3e .a.ZON.data.file).</p>.......<p>
a61a0 49 66 20 3c 63 6f 64 65 3e 74 61 72 67 65 74 3c 2f 63 6f 64 65 3e 20 72 65 66 65 72 73 20 74 6f If.<code>target</code>.refers.to
a61c0 20 61 20 5a 69 67 20 73 6f 75 72 63 65 20 66 69 6c 65 2c 20 74 68 65 6e 20 3c 63 6f 64 65 3e 3c .a.Zig.source.file,.then.<code><
a61e0 73 70 61 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
a6200 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 20 72 65 74 75 72 6e 73 0a 20 20 20 20 20 20 74 68 61 </span></code>.returns.......tha
a6220 74 20 66 69 6c 65 27 73 20 3c 61 20 68 72 65 66 3d 22 23 53 6f 75 72 63 65 2d 46 69 6c 65 2d 53 t.file's.<a.href="#Source-File-S
a6240 74 72 75 63 74 73 22 3e 63 6f 72 72 65 73 70 6f 6e 64 69 6e 67 20 73 74 72 75 63 74 20 74 79 70 tructs">corresponding.struct.typ
a6260 65 3c 2f 61 3e 2c 20 65 73 73 65 6e 74 69 61 6c 6c 79 20 61 73 20 69 66 20 74 68 65 20 62 75 69 e</a>,.essentially.as.if.the.bui
a6280 6c 74 69 6e 20 63 61 6c 6c 20 77 61 73 0a 20 20 20 20 20 20 72 65 70 6c 61 63 65 64 20 62 79 20 ltin.call.was.......replaced.by.
a62a0 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 73 74 72 75 63 <code><span.class="tok-kw">struc
a62c0 74 3c 2f 73 70 61 6e 3e 20 7b 20 46 49 4c 45 5f 43 4f 4e 54 45 4e 54 53 20 7d 3c 2f 63 6f 64 65 t</span>.{.FILE_CONTENTS.}</code
a62e0 3e 2e 20 54 68 65 20 72 65 74 75 72 6e 20 74 79 70 65 20 69 73 20 3c 63 6f 64 65 3e 3c 73 70 61 >..The.return.type.is.<code><spa
a6300 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 74 79 70 65 3c 2f 73 70 61 6e 3e 3c 2f n.class="tok-type">type</span></
a6320 63 6f 64 65 3e 2e 3c 2f 70 3e 0a 20 20 20 20 20 20 3c 70 3e 49 66 20 3c 63 6f 64 65 3e 74 61 72 code>.</p>.......<p>If.<code>tar
a6340 67 65 74 3c 2f 63 6f 64 65 3e 20 72 65 66 65 72 73 20 74 6f 20 61 20 5a 4f 4e 20 66 69 6c 65 2c get</code>.refers.to.a.ZON.file,
a6360 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 74 6f 6b 2d 62 75 69 .then.<code><span.class="tok-bui
a6380 6c 74 69 6e 22 3e 40 69 6d 70 6f 72 74 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 20 72 65 74 75 ltin">@import</span></code>.retu
a63a0 72 6e 73 20 74 68 65 20 76 61 6c 75 65 0a 20 20 20 20 20 20 6f 66 20 74 68 65 20 6c 69 74 65 72 rns.the.value.......of.the.liter
a63c0 61 6c 20 69 6e 20 74 68 65 20 66 69 6c 65 2e 20 49 66 20 74 68 65 72 65 20 69 73 20 61 6e 20 69 al.in.the.file..If.there.is.an.i
a63e0 6e 66 65 72 72 65 64 20 3c 61 20 68 72 65 66 3d 22 23 52 65 73 75 6c 74 2d 54 79 70 65 73 22 3e nferred.<a.href="#Result-Types">
a6400 72 65 73 75 6c 74 20 74 79 70 65 3c 2f 61 3e 2c 20 74 68 65 6e 20 74 68 65 20 72 65 74 75 72 6e result.type</a>,.then.the.return
a6420 20 74 79 70 65 0a 20 20 20 20 20 20 69 73 20 74 68 61 74 20 74 79 70 65 2c 20 61 6e 64 20 74 68 .type.......is.that.type,.and.th
a6440 65 20 5a 4f 4e 20 6c 69 74 65 72 61 6c 20 69 73 20 69 6e 74 65 72 70 72 65 74 65 64 20 61 73 20 e.ZON.literal.is.interpreted.as.
a6460 74 68 61 74 20 74 79 70 65 20 28 3c 61 20 68 72 65 66 3d 22 23 52 65 73 75 6c 74 2d 54 79 70 65 that.type.(<a.href="#Result-Type
a6480 73 22 3e 52 65 73 75 6c 74 20 54 79 70 65 73 3c 2f 61 3e 20 61 72 65 20 70 72 6f 70 61 67 61 74 s">Result.Types</a>.are.propagat
a64a0 65 64 20 74 68 72 6f 75 67 68 0a 20 20 20 20 20 20 74 68 65 20 5a 4f 4e 20 65 78 70 72 65 73 73 ed.through.......the.ZON.express
a64c0 69 6f 6e 29 2e 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 ion)..Otherwise,.the.return.type
a64e0 20 69 73 20 74 68 65 20 74 79 70 65 20 6f 66 20 74 68 65 20 65 71 75 69 76 61 6c 65 6e 74 20 5a .is.the.type.of.the.equivalent.Z
a6500 69 67 20 65 78 70 72 65 73 73 69 6f 6e 2c 20 65 73 73 65 6e 74 69 61 6c 6c 79 20 61 73 0a 20 20 ig.expression,.essentially.as...
a6520 20 20 20 20 69 66 20 74 68 65 20 62 75 69 6c 74 69 6e 20 63 61 6c 6c 20 77 61 73 20 72 65 70 6c ....if.the.builtin.call.was.repl
a6540 61 63 65 64 20 62 79 20 74 68 65 20 5a 4f 4e 20 66 69 6c 65 20 63 6f 6e 74 65 6e 74 73 2e 3c 2f aced.by.the.ZON.file.contents.</
a6560 70 3e 0a 20 20 20 20 20 20 3c 70 3e 54 68 65 20 66 6f 6c 6c 6f 77 69 6e 67 20 6d 6f 64 75 6c 65 p>.......<p>The.following.module
a6580 73 20 61 72 65 20 61 6c 77 61 79 73 20 61 76 61 69 6c 61 62 6c 65 20 66 6f 72 20 69 6d 70 6f 72 s.are.always.available.for.impor
a65a0 74 3a 3c 2f 70 3e 0a 20 20 20 20 20 20 3c 75 6c 3e 0a 20 20 20 20 20 20 20 20 20 20 3c 6c 69 3e t:</p>.......<ul>...........<li>
a65c0 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 62 75 69 6c 74 69 6e 22 3e <code><span.class="tok-builtin">
a65e0 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-
a6600 73 74 72 22 3e 26 71 75 6f 74 3b 73 74 64 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 29 3c 2f 63 6f str">&quot;std&quot;</span>)</co
a6620 64 65 3e 20 2d 20 5a 69 67 20 53 74 61 6e 64 61 72 64 20 4c 69 62 72 61 72 79 3c 2f 6c 69 3e 0a de>.-.Zig.Standard.Library</li>.
a6640 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=
a6660 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
a6680 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 73 74 72 22 3e 26 71 75 6f 74 3b 62 75 69 6c 74 69 6e an.class="tok-str">&quot;builtin
a66a0 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 29 3c 2f 63 6f 64 65 3e 20 2d 20 54 61 72 67 65 74 2d 73 &quot;</span>)</code>.-.Target-s
a66c0 70 65 63 69 66 69 63 20 69 6e 66 6f 72 6d 61 74 69 6f 6e 2e 20 54 68 65 20 63 6f 6d 6d 61 6e 64 pecific.information..The.command
a66e0 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 6c .<code>zig.build-exe.--show-buil
a6700 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 6f tin</code>.outputs.the.source.to
a6720 20 73 74 64 6f 75 74 20 66 6f 72 20 72 65 66 65 72 65 6e 63 65 2e 3c 2f 6c 69 3e 0a 20 20 20 20 .stdout.for.reference.</li>.....
a6740 20 20 20 20 20 20 3c 6c 69 3e 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b ......<li><code><span.class="tok
a6760 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
a6780 6c 61 73 73 3d 22 74 6f 6b 2d 73 74 72 22 3e 26 71 75 6f 74 3b 72 6f 6f 74 26 71 75 6f 74 3b 3c lass="tok-str">&quot;root&quot;<
a67a0 2f 73 70 61 6e 3e 29 3c 2f 63 6f 64 65 3e 20 2d 20 41 6c 69 61 73 20 66 6f 72 20 74 68 65 20 72 /span>)</code>.-.Alias.for.the.r
a67c0 6f 6f 74 20 6d 6f 64 75 6c 65 2e 20 49 6e 20 74 79 70 69 63 61 6c 20 70 72 6f 6a 65 63 74 20 73 oot.module..In.typical.project.s
a67e0 74 72 75 63 74 75 72 65 73 2c 20 74 68 69 73 20 6d 65 61 6e 73 20 69 74 20 72 65 66 65 72 73 20 tructures,.this.means.it.refers.
a6800 62 61 63 6b 20 74 6f 20 3c 63 6f 64 65 3e 73 72 63 2f 6d 61 69 6e 2e 7a 69 67 3c 2f 63 6f 64 65 back.to.<code>src/main.zig</code
a6820 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 75 6c 3e 0a 20 >............</li>.......</ul>..
a6840 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
a6860 20 68 72 65 66 3d 22 23 43 6f 6d 70 69 6c 65 2d 56 61 72 69 61 62 6c 65 73 22 3e 43 6f 6d 70 69 .href="#Compile-Variables">Compi
a6880 6c 65 20 56 61 72 69 61 62 6c 65 73 3c 2f 61 3e 3c 2f 6c 69 3e 0a 3c 6c 69 3e 3c 61 20 68 72 65 le.Variables</a></li>.<li><a.hre
a68a0 66 3d 22 23 65 6d 62 65 64 46 69 6c 65 22 3e 40 65 6d 62 65 64 46 69 6c 65 3c 2f 61 3e 3c 2f 6c f="#embedFile">@embedFile</a></l
a68c0 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="
a68e0 69 6e 43 6f 6d 70 74 69 6d 65 22 3e 3c 61 20 68 72 65 66 3d 22 6e 61 76 2e 78 68 74 6d 6c 23 74 inComptime"><a.href="nav.xhtml#t
a6900 6f 63 2d 69 6e 43 6f 6d 70 74 69 6d 65 22 3e 40 69 6e 43 6f 6d 70 74 69 6d 65 3c 2f 61 3e 20 3c oc-inComptime">@inComptime</a>.<
a6920 61 20 63 6c 61 73 73 3d 22 68 64 72 22 20 68 72 65 66 3d 22 23 69 6e 43 6f 6d 70 74 69 6d 65 22 a.class="hdr".href="#inComptime"
a6940 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><
a6960 73 70 61 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 43 6f 6d 70 span.class="tok-builtin">@inComp
a6980 74 69 6d 65 3c 2f 73 70 61 6e 3e 28 29 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 time</span>().<span.class="tok-t
a69a0 79 70 65 22 3e 62 6f 6f 6c 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 3c 2f 70 72 65 3e 0a 20 20 ype">bool</span></code></pre>...
a69c0 20 20 20 20 3c 70 3e 0a 20 20 20 20 20 20 52 65 74 75 72 6e 73 20 77 68 65 74 68 65 72 20 74 68 ....<p>.......Returns.whether.th
a69e0 65 20 62 75 69 6c 74 69 6e 20 77 61 73 20 72 75 6e 20 69 6e 20 61 20 3c 63 6f 64 65 3e 3c 73 70 e.builtin.was.run.in.a.<code><sp
a6a00 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
a6a20 3e 3c 2f 63 6f 64 65 3e 20 63 6f 6e 74 65 78 74 2e 20 54 68 65 20 72 65 73 75 6c 74 20 69 73 20 ></code>.context..The.result.is.
a6a40 61 20 63 6f 6d 70 69 6c 65 2d 74 69 6d 65 20 63 6f 6e 73 74 61 6e 74 2e 0a 20 20 20 20 20 20 3c a.compile-time.constant........<
a6a60 2f 70 3e 0a 20 20 20 20 20 20 3c 70 3e 0a 20 20 20 20 20 20 54 68 69 73 20 63 61 6e 20 62 65 20 /p>.......<p>.......This.can.be.
a6a80 75 73 65 64 20 74 6f 20 70 72 6f 76 69 64 65 20 61 6c 74 65 72 6e 61 74 69 76 65 2c 20 63 6f 6d used.to.provide.alternative,.com
a6aa0 70 74 69 6d 65 2d 66 72 69 65 6e 64 6c 79 20 69 6d 70 6c 65 6d 65 6e 74 61 74 69 6f 6e 73 20 6f ptime-friendly.implementations.o
a6ac0 66 20 66 75 6e 63 74 69 6f 6e 73 2e 20 49 74 20 73 68 6f 75 6c 64 20 6e 6f 74 20 62 65 20 75 73 f.functions..It.should.not.be.us
a6ae0 65 64 2c 20 66 6f 72 20 69 6e 73 74 61 6e 63 65 2c 20 74 6f 20 65 78 63 6c 75 64 65 20 63 65 72 ed,.for.instance,.to.exclude.cer
a6b00 74 61 69 6e 20 66 75 6e 63 74 69 6f 6e 73 20 66 72 6f 6d 20 62 65 69 6e 67 20 65 76 61 6c 75 61 tain.functions.from.being.evalua
a6b20 74 65 64 20 61 74 20 63 6f 6d 70 74 69 6d 65 2e 0a 20 20 20 20 20 20 3c 2f 70 3e 0a 20 20 20 20 ted.at.comptime........</p>.....
a6b40 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
a6b60 65 66 3d 22 23 63 6f 6d 70 74 69 6d 65 22 3e 63 6f 6d 70 74 69 6d 65 3c 2f 61 3e 3c 2f 6c 69 3e ef="#comptime">comptime</a></li>
a6b80 0a 3c 2f 75 6c 3e 0a 0a 20 20 20 20 20 20 0a 0a 20 20 20 20 20 20 3c 68 33 20 69 64 3d 22 69 6e .</ul>................<h3.id="in
a6ba0 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 74 6f 63 2d 69 6e tCast"><a.href="nav.xhtml#toc-in
a6bc0 74 43 61 73 74 22 3e 40 69 6e 74 43 61 73 74 3c 2f 61 3e 20 3c 61 20 63 6c 61 73 73 3d 22 68 64 tCast">@intCast</a>.<a.class="hd
a6be0 72 22 20 68 72 65 66 3d 22 23 69 6e 74 43 61 73 74 22 3e c2 a7 3c 2f 61 3e 3c 2f 68 33 3e 0a 0a r".href="#intCast">..</a></h3>..
a6c00 20 20 20 20 20 20 3c 70 72 65 3e 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f ......<pre><code><span.class="to
a6c20 6b 2d 62 75 69 6c 74 69 6e 22 3e 40 69 6e 74 43 61 73 74 3c 2f 73 70 61 6e 3e 28 69 6e 74 3a 20 k-builtin">@intCast</span>(int:.
a6c40 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
a6c60 61 6e 3e 29 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 61 6e 79 74 79 70 an>).<span.class="tok-kw">anytyp
a6c80 65 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 3c 2f 70 72 65 3e 0a 20 20 20 20 20 20 3c 70 3e 0a e</span></code></pre>.......<p>.
a6ca0 20 20 20 20 20 20 43 6f 6e 76 65 72 74 73 20 61 6e 20 69 6e 74 65 67 65 72 20 74 6f 20 61 6e 6f ......Converts.an.integer.to.ano
a6cc0 74 68 65 72 20 69 6e 74 65 67 65 72 20 77 68 69 6c 65 20 6b 65 65 70 69 6e 67 20 74 68 65 20 73 ther.integer.while.keeping.the.s
a6ce0 61 6d 65 20 6e 75 6d 65 72 69 63 61 6c 20 76 61 6c 75 65 2e 0a 09 09 09 54 68 65 20 72 65 74 75 ame.numerical.value.....The.retu
a6d00 72 6e 20 74 79 70 65 20 69 73 20 74 68 65 20 69 6e 66 65 72 72 65 64 20 72 65 73 75 6c 74 20 74 rn.type.is.the.inferred.result.t
a6d20 79 70 65 2e 0a 20 20 20 20 20 20 41 74 74 65 6d 70 74 69 6e 67 20 74 6f 20 63 6f 6e 76 65 72 74 ype........Attempting.to.convert
a6d40 20 61 20 6e 75 6d 62 65 72 20 77 68 69 63 68 20 69 73 20 6f 75 74 20 6f 66 20 72 61 6e 67 65 20 .a.number.which.is.out.of.range.
a6d60 6f 66 20 74 68 65 20 64 65 73 74 69 6e 61 74 69 6f 6e 20 74 79 70 65 20 72 65 73 75 6c 74 73 20 of.the.destination.type.results.
a6d80 69 6e 0a 20 20 20 20 20 20 73 61 66 65 74 79 2d 63 68 65 63 6b 65 64 20 3c 61 20 68 72 65 66 3d in.......safety-checked.<a.href=
a6da0 22 23 49 6c 6c 65 67 61 6c 2d 42 65 68 61 76 69 6f 72 22 3e 49 6c 6c 65 67 61 6c 20 42 65 68 61 "#Illegal-Behavior">Illegal.Beha
a6dc0 76 69 6f 72 3c 2f 61 3e 2e 0a 20 20 20 20 20 20 3c 2f 70 3e 0a 20 20 20 20 20 20 3c 66 69 67 75 vior</a>........</p>.......<figu
a6de0 72 65 3e 3c 66 69 67 63 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"><
a6e00 63 69 74 65 20 63 6c 61 73 73 3d 22 66 69 6c 65 22 3e 74 65 73 74 5f 69 6e 74 43 61 73 74 5f 62 cite.class="file">test_intCast_b
a6e20 75 69 6c 74 69 6e 2e 7a 69 67 3c 2f 63 69 74 65 3e 3c 2f 66 69 67 63 61 70 74 69 6f 6e 3e 3c 70 uiltin.zig</cite></figcaption><p
a6e40 72 65 3e 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 74 65 re><code><span.class="tok-kw">te
a6e60 73 74 3c 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">
a6e80 26 71 75 6f 74 3b 69 6e 74 65 67 65 72 20 63 61 73 74 20 70 61 6e 69 63 26 71 75 6f 74 3b 3c 2f &quot;integer.cast.panic&quot;</
a6ea0 73 70 61 6e 3e 20 7b 0a 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 span>.{.....<span.class="tok-kw"
a6ec0 3e 76 61 72 3c 2f 73 70 61 6e 3e 20 61 3a 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d >var</span>.a:.<span.class="tok-
a6ee0 74 79 70 65 22 3e 75 31 36 3c 2f 73 70 61 6e 3e 20 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 type">u16</span>.=.<span.class="
a6f00 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 30 78 61 62 63 64 3c 2f 73 70 61 6e 3e 3b 20 3c 73 70 61 6e tok-number">0xabcd</span>;.<span
a6f20 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 63 6f 6d 6d 65 6e 74 22 3e 2f 2f 20 72 75 6e 74 69 6d 65 2d .class="tok-comment">//.runtime-
a6f40 6b 6e 6f 77 6e 3c 2f 73 70 61 6e 3e 0a 20 20 20 20 5f 20 3d 20 26 61 6d 70 3b 61 3b 0a 20 20 20 known</span>....._.=.&amp;a;....
a6f60 20 3c 73 70 61 6e 20 63 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
a6f80 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 38 3c n>.b:.<span.class="tok-type">u8<
a6fa0 2f 73 70 61 6e 3e 20 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 62 75 69 6c 74 69 /span>.=.<span.class="tok-builti
a6fc0 6e 22 3e 40 69 6e 74 43 61 73 74 3c 2f 73 70 61 6e 3e 28 61 29 3b 0a 20 20 20 20 5f 20 3d 20 62 n">@intCast</span>(a);....._.=.b
a6fe0 3b 0a 7d 3c 2f 63 6f 64 65 3e 3c 2f 70 72 65 3e 3c 2f 66 69 67 75 72 65 3e 3c 66 69 67 75 72 65 ;.}</code></pre></figure><figure
a7000 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
a7020 68 65 6c 6c 3c 2f 66 69 67 63 61 70 74 69 6f 6e 3e 3c 70 72 65 3e 3c 73 61 6d 70 3e 24 20 3c 6b hell</figcaption><pre><samp>$.<k
a7040 62 64 3e 7a 69 67 20 74 65 73 74 20 74 65 73 74 5f 69 6e 74 43 61 73 74 5f 62 75 69 6c 74 69 6e bd>zig.test.test_intCast_builtin
a7060 2e 7a 69 67 3c 2f 6b 62 64 3e 0a 31 2f 31 20 74 65 73 74 5f 69 6e 74 43 61 73 74 5f 62 75 69 6c .zig</kbd>.1/1.test_intCast_buil
a7080 74 69 6e 2e 74 65 73 74 2e 69 6e 74 65 67 65 72 20 63 61 73 74 20 70 61 6e 69 63 2e 2e 2e 74 68 tin.test.integer.cast.panic...th
a70a0 72 65 61 64 20 32 33 34 35 38 35 20 70 61 6e 69 63 3a 20 69 6e 74 65 67 65 72 20 64 6f 65 73 20 read.234585.panic:.integer.does.
a70c0 6e 6f 74 20 66 69 74 20 69 6e 20 64 65 73 74 69 6e 61 74 69 6f 6e 20 74 79 70 65 0a 2f 68 6f 6d not.fit.in.destination.type./hom
a70e0 65 2f 63 69 2f 77 6f 72 6b 2f 7a 69 67 2d 62 6f 6f 74 73 74 72 61 70 2f 7a 69 67 2f 64 6f 63 2f e/ci/work/zig-bootstrap/zig/doc/
a7100 6c 61 6e 67 72 65 66 2f 74 65 73 74 5f 69 6e 74 43 61 73 74 5f 62 75 69 6c 74 69 6e 2e 7a 69 67 langref/test_intCast_builtin.zig
a7120 3a 34 3a 31 39 3a 20 30 78 31 32 33 38 39 64 30 20 69 6e 20 74 65 73 74 2e 69 6e 74 65 67 65 72 :4:19:.0x12389d0.in.test.integer
a7140 20 63 61 73 74 20 70 61 6e 69 63 20 28 74 65 73 74 5f 69 6e 74 43 61 73 74 5f 62 75 69 6c 74 69 .cast.panic.(test_intCast_builti
a7160 6e 2e 7a 69 67 29 0a 20 20 20 20 63 6f 6e 73 74 20 62 3a 20 75 38 20 3d 20 40 69 6e 74 43 61 73 n.zig).....const.b:.u8.=.@intCas
a7180 74 28 61 29 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 5e 0a 2f 68 6f 6d 65 2f t(a);...................^./home/
a71a0 63 69 2f 77 6f 72 6b 2f 7a 69 67 2d 62 6f 6f 74 73 74 72 61 70 2f 6f 75 74 2f 68 6f 73 74 2f 6c ci/work/zig-bootstrap/out/host/l
a71c0 69 62 2f 7a 69 67 2f 63 6f 6d 70 69 6c 65 72 2f 74 65 73 74 5f 72 75 6e 6e 65 72 2e 7a 69 67 3a ib/zig/compiler/test_runner.zig:
a71e0 32 39 31 3a 32 35 3a 20 30 78 31 31 66 33 65 64 36 20 69 6e 20 6d 61 69 6e 54 65 72 6d 69 6e 61 291:25:.0x11f3ed6.in.mainTermina
a7200 6c 20 28 74 65 73 74 5f 72 75 6e 6e 65 72 2e 7a 69 67 29 0a 20 20 20 20 20 20 20 20 69 66 20 28 l.(test_runner.zig).........if.(
a7220 74 65 73 74 5f 66 6e 2e 66 75 6e 63 28 29 29 20 7c 5f 7c 20 7b 0a 20 20 20 20 20 20 20 20 20 20 test_fn.func()).|_|.{...........
a7240 20 20 20 20 20 20 20 20 20 20 20 20 20 20 5e 0a 2f 68 6f 6d 65 2f 63 69 2f 77 6f 72 6b 2f 7a 69 ..............^./home/ci/work/zi
a7260 67 2d 62 6f 6f 74 73 74 72 61 70 2f 6f 75 74 2f 68 6f 73 74 2f 6c 69 62 2f 7a 69 67 2f 63 6f 6d g-bootstrap/out/host/lib/zig/com
a7280 70 69 6c 65 72 2f 74 65 73 74 5f 72 75 6e 6e 65 72 2e 7a 69 67 3a 37 33 3a 32 38 3a 20 30 78 31 piler/test_runner.zig:73:28:.0x1
a72a0 31 66 33 36 66 32 20 69 6e 20 6d 61 69 6e 20 28 74 65 73 74 5f 72 75 6e 6e 65 72 2e 7a 69 67 29 1f36f2.in.main.(test_runner.zig)
a72c0 0a 20 20 20 20 20 20 20 20 72 65 74 75 72 6e 20 6d 61 69 6e 54 65 72 6d 69 6e 61 6c 28 69 6e 69 .........return.mainTerminal(ini
a72e0 74 29 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 5e t);............................^
a7300 0a 2f 68 6f 6d 65 2f 63 69 2f 77 6f 72 6b 2f 7a 69 67 2d 62 6f 6f 74 73 74 72 61 70 2f 6f 75 74 ./home/ci/work/zig-bootstrap/out
a7320 2f 68 6f 73 74 2f 6c 69 62 2f 7a 69 67 2f 73 74 64 2f 73 74 61 72 74 2e 7a 69 67 3a 37 32 33 3a /host/lib/zig/std/start.zig:723:
a7340 38 38 3a 20 30 78 31 31 65 66 66 30 35 20 69 6e 20 63 61 6c 6c 4d 61 69 6e 20 28 73 74 64 2e 7a 88:.0x11eff05.in.callMain.(std.z
a7360 69 67 29 0a 20 20 20 20 69 66 20 28 66 6e 5f 69 6e 66 6f 2e 70 61 72 61 6d 73 5b 30 5d 2e 74 79 ig).....if.(fn_info.params[0].ty
a7380 70 65 2e 3f 20 3d 3d 20 73 74 64 2e 70 72 6f 63 65 73 73 2e 49 6e 69 74 2e 4d 69 6e 69 6d 61 6c pe.?.==.std.process.Init.Minimal
a73a0 29 20 72 65 74 75 72 6e 20 77 72 61 70 4d 61 69 6e 28 72 6f 6f 74 2e 6d 61 69 6e 28 2e 7b 0a 20 ).return.wrapMain(root.main(.{..
a73c0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ................................
a73e0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ................................
a7400 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 5e 0a 2f 68 6f 6d 65 2f 63 69 ......................^./home/ci
a7420 2f 77 6f 72 6b 2f 7a 69 67 2d 62 6f 6f 74 73 74 72 61 70 2f 6f 75 74 2f 68 6f 73 74 2f 6c 69 62 /work/zig-bootstrap/out/host/lib
a7440 2f 7a 69 67 2f 73 74 64 2f 73 74 61 72 74 2e 7a 69 67 3a 32 30 34 3a 35 3a 20 30 78 31 31 65 66 /zig/std/start.zig:204:5:.0x11ef
a7460 38 65 31 20 69 6e 20 5f 73 74 61 72 74 20 28 73 74 64 2e 7a 69 67 29 0a 20 20 20 20 61 73 6d 20 8e1.in._start.(std.zig).....asm.
a7480 76 6f 6c 61 74 69 6c 65 20 28 73 77 69 74 63 68 20 28 6e 61 74 69 76 65 5f 61 72 63 68 29 20 7b volatile.(switch.(native_arch).{
a74a0 0a 20 20 20 20 5e 0a 65 72 72 6f 72 3a 20 74 68 65 20 66 6f 6c 6c 6f 77 69 6e 67 20 74 65 73 74 .....^.error:.the.following.test
a74c0 20 63 6f 6d 6d 61 6e 64 20 74 65 72 6d 69 6e 61 74 65 64 20 77 69 74 68 20 73 69 67 6e 61 6c 20 .command.terminated.with.signal.
a74e0 41 42 52 54 3a 0a 2f 68 6f 6d 65 2f 63 69 2f 77 6f 72 6b 2f 7a 69 67 2d 62 6f 6f 74 73 74 72 61 ABRT:./home/ci/work/zig-bootstra
a7500 70 2f 6f 75 74 2f 7a 69 67 2d 6c 6f 63 61 6c 2d 63 61 63 68 65 2f 6f 2f 34 63 36 30 33 62 63 62 p/out/zig-local-cache/o/4c603bcb
a7520 30 33 39 38 36 34 63 62 39 36 66 33 38 65 36 63 32 63 34 34 35 61 61 34 2f 74 65 73 74 20 2d 2d 039864cb96f38e6c2c445aa4/test.--
a7540 73 65 65 64 3d 30 78 37 63 65 32 38 38 33 33 0a 3c 2f 73 61 6d 70 3e 3c 2f 70 72 65 3e 3c 2f 66 seed=0x7ce28833.</samp></pre></f
a7560 69 67 75 72 65 3e 0a 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 igure>........<p>.......To.trunc
a7580 61 74 65 20 74 68 65 20 73 69 67 6e 69 66 69 63 61 6e 74 20 62 69 74 73 20 6f 66 20 61 20 6e 75 ate.the.significant.bits.of.a.nu
a75a0 6d 62 65 72 20 6f 75 74 20 6f 66 20 72 61 6e 67 65 20 6f 66 20 74 68 65 20 64 65 73 74 69 6e 61 mber.out.of.range.of.the.destina
a75c0 74 69 6f 6e 20 74 79 70 65 2c 20 75 73 65 20 3c 61 20 68 72 65 66 3d 22 23 74 72 75 6e 63 61 74 tion.type,.use.<a.href="#truncat
a75e0 65 22 3e 40 74 72 75 6e 63 61 74 65 3c 2f 61 3e 2e 0a 20 20 20 20 20 20 3c 2f 70 3e 0a 20 20 20 e">@truncate</a>........</p>....
a7600 20 20 20 3c 70 3e 0a 20 20 20 20 20 20 49 66 20 3c 63 6f 64 65 3e 54 3c 2f 63 6f 64 65 3e 20 69 ...<p>.......If.<code>T</code>.i
a7620 73 20 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 63 s.<code><span.class="tok-type">c
a7640 6f 6d 70 74 69 6d 65 5f 69 6e 74 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 2c 0a 20 20 20 20 20 omptime_int</span></code>,......
a7660 20 74 68 65 6e 20 74 68 69 73 20 69 73 20 73 65 6d 61 6e 74 69 63 61 6c 6c 79 20 65 71 75 69 76 .then.this.is.semantically.equiv
a7680 61 6c 65 6e 74 20 74 6f 20 3c 61 20 68 72 65 66 3d 22 23 54 79 70 65 2d 43 6f 65 72 63 69 6f 6e alent.to.<a.href="#Type-Coercion
a76a0 22 3e 54 79 70 65 20 43 6f 65 72 63 69 6f 6e 3c 2f 61 3e 2e 0a 20 20 20 20 20 20 3c 2f 70 3e 0a ">Type.Coercion</a>........</p>.
a76c0 20 20 20 20 20 20 0a 0a 20 20 20 20 20 20 3c 68 33 20 69 64 3d 22 69 6e 74 46 72 6f 6d 42 6f 6f ..............<h3.id="intFromBoo
a76e0 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 69 6e 74 46 72 6f l"><a.href="nav.xhtml#toc-intFro
a7700 6d 42 6f 6f 6c 22 3e 40 69 6e 74 46 72 6f 6d 42 6f 6f 6c 3c 2f 61 3e 20 3c 61 20 63 6c 61 73 73 mBool">@intFromBool</a>.<a.class
a7720 3d 22 68 64 72 22 20 68 72 65 66 3d 22 23 69 6e 74 46 72 6f 6d 42 6f 6f 6c 22 3e c2 a7 3c 2f 61 ="hdr".href="#intFromBool">..</a
a7740 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
a7760 6c 61 73 73 3d 22 74 6f 6b 2d 62 75 69 6c 74 69 6e 22 3e 40 69 6e 74 46 72 6f 6d 42 6f 6f 6c 3c lass="tok-builtin">@intFromBool<
a7780 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 74 /span>(value:.<span.class="tok-t
a77a0 79 70 65 22 3e 62 6f 6f 6c 3c 2f 73 70 61 6e 3e 29 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 ype">bool</span>).<span.class="t
a77c0 6f 6b 2d 74 79 70 65 22 3e 75 31 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 3c 2f 70 72 65 3e 0a ok-type">u1</span></code></pre>.
a77e0 20 20 20 20 20 20 3c 70 3e 0a 20 20 20 20 20 20 43 6f 6e 76 65 72 74 73 20 3c 63 6f 64 65 3e 3c ......<p>.......Converts.<code><
a7800 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
a7820 3e 3c 2f 63 6f 64 65 3e 20 74 6f 20 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 ></code>.to.<code><span.class="t
a7840 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
a7860 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 75 31 3c 2f 73 70 61 6e 3e 2c 20 3c 73 70 61 6e 20 63 ss="tok-type">u1</span>,.<span.c
a7880 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 3c 2f 63 6f 64 lass="tok-number">1</span>)</cod
a78a0 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 74 6f 6b 2d 6e 75 e>.and.<code><span.class="tok-nu
a78c0 6c 6c 22 3e 66 61 6c 73 65 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 20 74 6f 0a 20 20 20 20 20 ll">false</span></code>.to......
a78e0 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="
a7900 74 6f 6b 2d 62 75 69 6c 74 69 6e 22 3e 40 61 73 3c 2f 73 70 61 6e 3e 28 3c 73 70 61 6e 20 63 6c tok-builtin">@as</span>(<span.cl
a7920 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 75 31 3c 2f 73 70 61 6e 3e 2c 20 3c 73 70 61 6e 20 ass="tok-type">u1</span>,.<span.
a7940 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 30 3c 2f 73 70 61 6e 3e 29 3c 2f 63 6f class="tok-number">0</span>)</co
a7960 64 65 3e 2e 0a 20 20 20 20 20 20 3c 2f 70 3e 0a 20 20 20 20 20 20 0a 0a 20 20 20 20 20 20 3c 68 de>........</p>...............<h
a7980 33 20 69 64 3d 22 69 6e 74 46 72 6f 6d 45 6e 75 6d 22 3e 3c 61 20 68 72 65 66 3d 22 6e 61 76 2e 3.id="intFromEnum"><a.href="nav.
a79a0 78 68 74 6d 6c 23 74 6f 63 2d 69 6e 74 46 72 6f 6d 45 6e 75 6d 22 3e 40 69 6e 74 46 72 6f 6d 45 xhtml#toc-intFromEnum">@intFromE
a79c0 6e 75 6d 3c 2f 61 3e 20 3c 61 20 63 6c 61 73 73 3d 22 68 64 72 22 20 68 72 65 66 3d 22 23 69 6e num</a>.<a.class="hdr".href="#in
a79e0 74 46 72 6f 6d 45 6e 75 6d 22 3e c2 a7 3c 2f 61 3e 3c 2f 68 33 3e 0a 0a 20 20 20 20 20 20 3c 70 tFromEnum">..</a></h3>........<p
a7a00 72 65 3e 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 62 75 69 6c 74 69 re><code><span.class="tok-builti
a7a20 6e 22 3e 40 69 6e 74 46 72 6f 6d 45 6e 75 6d 3c 2f 73 70 61 6e 3e 28 65 6e 75 6d 5f 6f 72 5f 74 n">@intFromEnum</span>(enum_or_t
a7a40 61 67 67 65 64 5f 75 6e 69 6f 6e 3a 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 agged_union:.<span.class="tok-kw
a7a60 22 3e 61 6e 79 74 79 70 65 3c 2f 73 70 61 6e 3e 29 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 ">anytype</span>).<span.class="t
a7a80 6f 6b 2d 6b 77 22 3e 61 6e 79 74 79 70 65 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 3c 2f 70 72 ok-kw">anytype</span></code></pr
a7aa0 65 3e 0a 20 20 20 20 20 20 3c 70 3e 0a 20 20 20 20 20 20 43 6f 6e 76 65 72 74 73 20 61 6e 20 65 e>.......<p>.......Converts.an.e
a7ac0 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 6e 74 65 67 65 numeration.value.into.its.intege
a7ae0 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 6e 69 6f 6e 20 r.tag.type..When.a.tagged.union.
a7b00 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 6c 75 65 20 69 is.passed,.......the.tag.value.i
a7b20 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 61 6c 75 65 2e s.used.as.the.enumeration.value.
a7b40 0a 20 20 20 20 20 20 3c 2f 70 3e 0a 20 20 20 20 20 20 3c 70 3e 0a 20 20 20 20 20 20 49 66 20 74 .......</p>.......<p>.......If.t
a7b60 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 6e 75 6d 20 76 here.is.only.one.possible.enum.v
a7b80 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 3e 3c 73 70 61 alue,.the.result.is.a.<code><spa
a7ba0 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 63 6f 6d 70 74 69 6d 65 5f 69 6e 74 3c n.class="tok-type">comptime_int<
a7bc0 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 0a 20 20 20 20 20 20 6b 6e 6f 77 6e 20 61 74 20 3c 61 20 /span></code>.......known.at.<a.
a7be0 68 72 65 66 3d 22 23 63 6f 6d 70 74 69 6d 65 22 3e 63 6f 6d 70 74 69 6d 65 3c 2f 61 3e 2e 0a 20 href="#comptime">comptime</a>...
a7c00 20 20 20 20 20 3c 2f 70 3e 0a 20 20 20 20 20 20 3c 70 3e 53 65 65 20 61 6c 73 6f 3a 3c 2f 70 3e .....</p>.......<p>See.also:</p>
a7c20 3c 75 6c 3e 0a 3c 6c 69 3e 3c 61 20 68 72 65 66 3d 22 23 65 6e 75 6d 46 72 6f 6d 49 6e 74 22 3e <ul>.<li><a.href="#enumFromInt">
a7c40 40 65 6e 75 6d 46 72 6f 6d 49 6e 74 3c 2f 61 3e 3c 2f 6c 69 3e 0a 3c 2f 75 6c 3e 0a 0a 20 20 20 @enumFromInt</a></li>.</ul>.....
a7c60 20 20 20 0a 0a 20 20 20 20 20 20 3c 68 33 20 69 64 3d 22 69 6e 74 46 72 6f 6d 45 72 72 6f 72 22 ...........<h3.id="intFromError"
a7c80 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 46 72 6f 6d 45 ><a.href="nav.xhtml#toc-intFromE
a7ca0 72 72 6f 72 22 3e 40 69 6e 74 46 72 6f 6d 45 72 72 6f 72 3c 2f 61 3e 20 3c 61 20 63 6c 61 73 73 rror">@intFromError</a>.<a.class
a7cc0 3d 22 68 64 72 22 20 68 72 65 66 3d 22 23 69 6e 74 46 72 6f 6d 45 72 72 6f 72 22 3e c2 a7 3c 2f ="hdr".href="#intFromError">..</
a7ce0 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.
a7d00 63 6c 61 73 73 3d 22 74 6f 6b 2d 62 75 69 6c 74 69 6e 22 3e 40 69 6e 74 46 72 6f 6d 45 72 72 6f class="tok-builtin">@intFromErro
a7d20 72 3c 2f 73 70 61 6e 3e 28 65 72 72 3a 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b r</span>(err:.<span.class="tok-k
a7d40 77 22 3e 61 6e 79 74 79 70 65 3c 2f 73 70 61 6e 3e 29 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 w">anytype</span>).<span.class="
a7d60 74 6f 6b 2d 62 75 69 6c 74 69 6e 22 3e 40 49 6e 74 3c 2f 73 70 61 6e 3e 28 2e 75 6e 73 69 67 6e tok-builtin">@Int</span>(.unsign
a7d80 65 64 2c 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 62 75 69 6c 74 69 6e 22 3e 40 62 ed,.<span.class="tok-builtin">@b
a7da0 69 74 53 69 7a 65 4f 66 3c 2f 73 70 61 6e 3e 28 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b itSizeOf</span>(<span.class="tok
a7dc0 2d 74 79 70 65 22 3e 61 6e 79 65 72 72 6f 72 3c 2f 73 70 61 6e 3e 29 29 3c 2f 63 6f 64 65 3e 3c -type">anyerror</span>))</code><
a7de0 2f 70 72 65 3e 0a 20 20 20 20 20 20 3c 70 3e 0a 20 20 20 20 20 20 53 75 70 70 6f 72 74 73 20 74 /pre>.......<p>.......Supports.t
a7e00 68 65 20 66 6f 6c 6c 6f 77 69 6e 67 20 74 79 70 65 73 3a 0a 20 20 20 20 20 20 3c 2f 70 3e 0a 20 he.following.types:.......</p>..
a7e20 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 66 3d .....<ul>...........<li><a.href=
a7e40 22 23 54 68 65 2d 47 6c 6f 62 61 6c 2d 45 72 72 6f 72 2d 53 65 74 22 3e 54 68 65 20 47 6c 6f 62 "#The-Global-Error-Set">The.Glob
a7e60 61 6c 20 45 72 72 6f 72 20 53 65 74 3c 2f 61 3e 3c 2f 6c 69 3e 0a 20 20 20 20 20 20 20 20 20 20 al.Error.Set</a></li>...........
a7e80 3c 6c 69 3e 3c 61 20 68 72 65 66 3d 22 23 45 72 72 6f 72 2d 53 65 74 2d 54 79 70 65 22 3e 45 72 <li><a.href="#Error-Set-Type">Er
a7ea0 72 6f 72 20 53 65 74 20 54 79 70 65 3c 2f 61 3e 3c 2f 6c 69 3e 0a 20 20 20 20 20 20 20 20 20 20 ror.Set.Type</a></li>...........
a7ec0 3c 6c 69 3e 3c 61 20 68 72 65 66 3d 22 23 45 72 72 6f 72 2d 55 6e 69 6f 6e 2d 54 79 70 65 22 3e <li><a.href="#Error-Union-Type">
a7ee0 45 72 72 6f 72 20 55 6e 69 6f 6e 20 54 79 70 65 3c 2f 61 3e 3c 2f 6c 69 3e 0a 20 20 20 20 20 20 Error.Union.Type</a></li>.......
a7f00 3c 2f 75 6c 3e 0a 20 20 20 20 20 20 3c 70 3e 0a 20 20 20 20 20 20 43 6f 6e 76 65 72 74 73 20 61 </ul>.......<p>.......Converts.a
a7f20 6e 20 65 72 72 6f 72 20 74 6f 20 74 68 65 20 69 6e 74 65 67 65 72 20 72 65 70 72 65 73 65 6e 74 n.error.to.the.integer.represent
a7f40 61 74 69 6f 6e 20 6f 66 20 61 6e 20 65 72 72 6f 72 2e 0a 20 20 20 20 20 20 3c 2f 70 3e 0a 20 20 ation.of.an.error........</p>...
a7f60 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 72 65 ....<p>.......It.is.generally.re
a7f80 63 6f 6d 6d 65 6e 64 65 64 20 74 6f 20 61 76 6f 69 64 20 74 68 69 73 0a 20 20 20 20 20 20 63 61 commended.to.avoid.this.......ca
a7fa0 73 74 2c 20 61 73 20 74 68 65 20 69 6e 74 65 67 65 72 20 72 65 70 72 65 73 65 6e 74 61 74 69 6f st,.as.the.integer.representatio
a7fc0 6e 20 6f 66 20 61 6e 20 65 72 72 6f 72 20 69 73 20 6e 6f 74 20 73 74 61 62 6c 65 20 61 63 72 6f n.of.an.error.is.not.stable.acro
a7fe0 73 73 20 73 6f 75 72 63 65 20 63 6f 64 65 20 63 68 61 6e 67 65 73 2e 0a 20 20 20 20 20 20 3c 2f ss.source.code.changes........</
a8000 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
a8020 69 3e 3c 61 20 68 72 65 66 3d 22 23 65 72 72 6f 72 46 72 6f 6d 49 6e 74 22 3e 40 65 72 72 6f 72 i><a.href="#errorFromInt">@error
a8040 46 72 6f 6d 49 6e 74 3c 2f 61 3e 3c 2f 6c 69 3e 0a 3c 2f 75 6c 3e 0a 0a 20 20 20 20 20 20 0a 0a FromInt</a></li>.</ul>..........
a8060 20 20 20 20 20 20 3c 68 33 20 69 64 3d 22 69 6e 74 46 72 6f 6d 46 6c 6f 61 74 22 3e 3c 61 20 68 ......<h3.id="intFromFloat"><a.h
a8080 72 65 66 3d 22 6e 61 76 2e 78 68 74 6d 6c 23 74 6f 63 2d 69 6e 74 46 72 6f 6d 46 6c 6f 61 74 22 ref="nav.xhtml#toc-intFromFloat"
a80a0 3e 40 69 6e 74 46 72 6f 6d 46 6c 6f 61 74 3c 2f 61 3e 20 3c 61 20 63 6c 61 73 73 3d 22 68 64 72 >@intFromFloat</a>.<a.class="hdr
a80c0 22 20 68 72 65 66 3d 22 23 69 6e 74 46 72 6f 6d 46 6c 6f 61 74 22 3e c2 a7 3c 2f 61 3e 3c 2f 68 ".href="#intFromFloat">..</a></h
a80e0 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
a8100 3d 22 74 6f 6b 2d 62 75 69 6c 74 69 6e 22 3e 40 69 6e 74 46 72 6f 6d 46 6c 6f 61 74 3c 2f 73 70 ="tok-builtin">@intFromFloat</sp
a8120 61 6e 3e 28 66 6c 6f 61 74 3a 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e an>(float:.<span.class="tok-kw">
a8140 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
a8160 2d 6b 77 22 3e 61 6e 79 74 79 70 65 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 3c 2f 70 72 65 3e -kw">anytype</span></code></pre>
a8180 0a 20 20 20 20 20 20 3c 70 3e 44 65 70 72 65 63 61 74 65 64 2e 20 45 71 75 69 76 61 6c 65 6e 74 .......<p>Deprecated..Equivalent
a81a0 20 74 6f 20 3c 61 20 68 72 65 66 3d 22 23 74 72 75 6e 63 22 3e 40 74 72 75 6e 63 3c 2f 61 3e 2e .to.<a.href="#trunc">@trunc</a>.
a81c0 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>.
a81e0 3c 6c 69 3e 3c 61 20 68 72 65 66 3d 22 23 66 6c 6f 61 74 46 72 6f 6d 49 6e 74 22 3e 40 66 6c 6f <li><a.href="#floatFromInt">@flo
a8200 61 74 46 72 6f 6d 49 6e 74 3c 2f 61 3e 3c 2f 6c 69 3e 0a 3c 6c 69 3e 3c 61 20 68 72 65 66 3d 22 atFromInt</a></li>.<li><a.href="
a8220 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 68 #round">@round</a></li>.<li><a.h
a8240 72 65 66 3d 22 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 6c 69 ref="#floor">@floor</a></li>.<li
a8260 3e 3c 61 20 68 72 65 66 3d 22 23 63 65 69 6c 22 3e 40 63 65 69 6c 3c 2f 61 3e 3c 2f 6c 69 3e 0a ><a.href="#ceil">@ceil</a></li>.
a8280 3c 6c 69 3e 3c 61 20 68 72 65 66 3d 22 23 74 72 75 6e 63 22 3e 40 74 72 75 6e 63 3c 2f 61 3e 3c <li><a.href="#trunc">@trunc</a><
a82a0 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
a82c0 3d 22 69 6e 74 46 72 6f 6d 50 74 72 22 3e 3c 61 20 68 72 65 66 3d 22 6e 61 76 2e 78 68 74 6d 6c ="intFromPtr"><a.href="nav.xhtml
a82e0 23 74 6f 63 2d 69 6e 74 46 72 6f 6d 50 74 72 22 3e 40 69 6e 74 46 72 6f 6d 50 74 72 3c 2f 61 3e #toc-intFromPtr">@intFromPtr</a>
a8300 20 3c 61 20 63 6c 61 73 73 3d 22 68 64 72 22 20 68 72 65 66 3d 22 23 69 6e 74 46 72 6f 6d 50 74 .<a.class="hdr".href="#intFromPt
a8320 72 22 3e c2 a7 3c 2f 61 3e 3c 2f 68 33 3e 0a 0a 20 20 20 20 20 20 3c 70 72 65 3e 3c 63 6f 64 65 r">..</a></h3>........<pre><code
a8340 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 62 75 69 6c 74 69 6e 22 3e 40 69 6e 74 46 ><span.class="tok-builtin">@intF
a8360 72 6f 6d 50 74 72 3c 2f 73 70 61 6e 3e 28 76 61 6c 75 65 3a 20 3c 73 70 61 6e 20 63 6c 61 73 73 romPtr</span>(value:.<span.class
a8380 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.
a83a0 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 75 73 69 7a 65 3c 2f 73 70 61 6e 3e 3c 2f 63 class="tok-type">usize</span></c
a83c0 6f 64 65 3e 3c 2f 70 72 65 3e 0a 20 20 20 20 20 20 3c 70 3e 0a 20 20 20 20 20 20 43 6f 6e 76 65 ode></pre>.......<p>.......Conve
a83e0 72 74 73 20 3c 63 6f 64 65 3e 76 61 6c 75 65 3c 2f 63 6f 64 65 3e 20 74 6f 20 61 20 3c 63 6f 64 rts.<code>value</code>.to.a.<cod
a8400 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 75 73 69 7a 65 3c 2f e><span.class="tok-type">usize</
a8420 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 20 77 68 69 63 68 20 69 73 20 74 68 65 20 61 64 64 72 65 73 span></code>.which.is.the.addres
a8440 73 20 6f 66 20 74 68 65 20 70 6f 69 6e 74 65 72 2e 0a 20 20 20 20 20 20 3c 63 6f 64 65 3e 76 61 s.of.the.pointer........<code>va
a8460 6c 75 65 3c 2f 63 6f 64 65 3e 20 63 61 6e 20 62 65 20 3c 63 6f 64 65 3e 2a 54 3c 2f 63 6f 64 65 lue</code>.can.be.<code>*T</code
a8480 3e 20 6f 72 20 3c 63 6f 64 65 3e 3f 2a 54 3c 2f 63 6f 64 65 3e 2e 0a 20 20 20 20 20 20 3c 2f 70 >.or.<code>?*T</code>........</p
a84a0 3e 0a 20 20 20 20 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 >.......<p>To.convert.the.other.
a84c0 77 61 79 2c 20 75 73 65 20 3c 61 20 68 72 65 66 3d 22 23 70 74 72 46 72 6f 6d 49 6e 74 22 3e 40 way,.use.<a.href="#ptrFromInt">@
a84e0 70 74 72 46 72 6f 6d 49 6e 74 3c 2f 61 3e 3c 2f 70 3e 0a 20 20 20 20 20 20 0a 0a 20 20 20 20 20 ptrFromInt</a></p>..............
a8500 20 3c 68 33 20 69 64 3d 22 6d 61 78 22 3e 3c 61 20 68 72 65 66 3d 22 6e 61 76 2e 78 68 74 6d 6c .<h3.id="max"><a.href="nav.xhtml
a8520 23 74 6f 63 2d 6d 61 78 22 3e 40 6d 61 78 3c 2f 61 3e 20 3c 61 20 63 6c 61 73 73 3d 22 68 64 72 #toc-max">@max</a>.<a.class="hdr
a8540 22 20 68 72 65 66 3d 22 23 6d 61 78 22 3e c2 a7 3c 2f 61 3e 3c 2f 68 33 3e 0a 0a 20 20 20 20 20 ".href="#max">..</a></h3>.......
a8560 20 3c 70 72 65 3e 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 62 75 69 .<pre><code><span.class="tok-bui
a8580 6c 74 69 6e 22 3e 40 6d 61 78 3c 2f 73 70 61 6e 3e 28 2e 2e 2e 29 20 54 3c 2f 63 6f 64 65 3e 3c ltin">@max</span>(...).T</code><
a85a0 2f 70 72 65 3e 0a 20 20 20 20 20 20 3c 70 3e 0a 20 20 20 20 20 20 54 61 6b 65 73 20 74 77 6f 20 /pre>.......<p>.......Takes.two.
a85c0 6f 72 20 6d 6f 72 65 20 61 72 67 75 6d 65 6e 74 73 20 61 6e 64 20 72 65 74 75 72 6e 73 20 74 68 or.more.arguments.and.returns.th
a85e0 65 20 62 69 67 67 65 73 74 20 76 61 6c 75 65 20 69 6e 63 6c 75 64 65 64 20 28 74 68 65 20 6d 61 e.biggest.value.included.(the.ma
a8600 78 69 6d 75 6d 29 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 ximum)..This.builtin.accepts.int
a8620 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 20 65 69 egers,.floats,.and.vectors.of.ei
a8640 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 20 6f 70 ther..In.the.latter.case,.the.op
a8660 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 77 69 73 eration.is.performed.element.wis
a8680 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 4e 61 e........</p>.......<p>.......Na
a86a0 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 72 65 74 75 72 Ns.are.handled.as.follows:.retur
a86c0 6e 20 74 68 65 20 62 69 67 67 65 73 74 20 6e 6f 6e 2d 4e 61 4e 20 76 61 6c 75 65 20 69 6e 63 6c n.the.biggest.non-NaN.value.incl
a86e0 75 64 65 64 2e 20 49 66 20 61 6c 6c 20 6f 70 65 72 61 6e 64 73 20 61 72 65 20 4e 61 4e 2c 20 72 uded..If.all.operands.are.NaN,.r
a8700 65 74 75 72 6e 20 4e 61 4e 2e 0a 20 20 20 20 20 20 3c 2f 70 3e 0a 20 20 20 20 20 20 3c 70 3e 53 eturn.NaN........</p>.......<p>S
a8720 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 6d ee.also:</p><ul>.<li><a.href="#m
a8740 69 6e 22 3e 40 6d 69 6e 3c 2f 61 3e 3c 2f 6c 69 3e 0a 3c 6c 69 3e 3c 61 20 68 72 65 66 3d 22 23 in">@min</a></li>.<li><a.href="#
a8760 56 65 63 74 6f 72 73 22 3e 56 65 63 74 6f 72 73 3c 2f 61 3e 3c 2f 6c 69 3e 0a 3c 2f 75 6c 3e 0a Vectors">Vectors</a></li>.</ul>.
a8780 0a 20 20 20 20 20 20 0a 0a 20 20 20 20 20 20 3c 68 33 20 69 64 3d 22 6d 65 6d 63 70 79 22 3e 3c ...............<h3.id="memcpy"><
a87a0 61 20 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 a.href="nav.xhtml#toc-memcpy">@m
a87c0 65 6d 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 emcpy</a>.<a.class="hdr".href="#
a87e0 6d 65 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 memcpy">..</a></h3>........<pre>
a8800 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 62 75 69 6c 74 69 6e 22 3e <code><span.class="tok-builtin">
a8820 40 6d 65 6d 63 70 79 3c 2f 73 70 61 6e 3e 28 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d @memcpy</span>(<span.class="tok-
a8840 6b 77 22 3e 6e 6f 61 6c 69 61 73 3c 2f 73 70 61 6e 3e 20 64 65 73 74 2c 20 3c 73 70 61 6e 20 63 kw">noalias</span>.dest,.<span.c
a8860 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 6e 6f 61 6c 69 61 73 3c 2f 73 70 61 6e 3e 20 73 6f 75 lass="tok-kw">noalias</span>.sou
a8880 72 63 65 29 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 76 6f 69 64 rce).<span.class="tok-type">void
a88a0 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 3c 2f 70 72 65 3e 0a 20 20 20 20 20 20 3c 70 3e 54 68 </span></code></pre>.......<p>Th
a88c0 69 73 20 66 75 6e 63 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 is.function.copies.bytes.from.on
a88e0 65 20 72 65 67 69 6f 6e 20 6f 66 20 6d 65 6d 6f 72 79 20 74 6f 20 61 6e 6f 74 68 65 72 2e 3c 2f e.region.of.memory.to.another.</
a8900 70 3e 0a 20 20 20 20 20 20 3c 70 3e 3c 63 6f 64 65 3e 64 65 73 74 3c 2f 63 6f 64 65 3e 20 6d 75 p>.......<p><code>dest</code>.mu
a8920 73 74 20 62 65 20 61 20 6d 75 74 61 62 6c 65 20 73 6c 69 63 65 2c 20 61 20 6d 75 74 61 62 6c 65 st.be.a.mutable.slice,.a.mutable
a8940 20 70 6f 69 6e 74 65 72 20 74 6f 20 61 6e 20 61 72 72 61 79 2c 20 6f 72 0a 20 20 20 20 20 20 20 .pointer.to.an.array,.or........
a8960 20 61 20 6d 75 74 61 62 6c 65 20 6d 61 6e 79 2d 69 74 65 6d 20 3c 61 20 68 72 65 66 3d 22 23 50 .a.mutable.many-item.<a.href="#P
a8980 6f 69 6e 74 65 72 73 22 3e 70 6f 69 6e 74 65 72 3c 2f 61 3e 2e 20 49 74 20 6d 61 79 20 68 61 76 ointers">pointer</a>..It.may.hav
a89a0 65 20 61 6e 79 0a 20 20 20 20 20 20 20 20 61 6c 69 67 6e 6d 65 6e 74 2c 20 61 6e 64 20 69 74 20 e.any.........alignment,.and.it.
a89c0 6d 61 79 20 68 61 76 65 20 61 6e 79 20 65 6c 65 6d 65 6e 74 20 74 79 70 65 2e 3c 2f 70 3e 0a 20 may.have.any.element.type.</p>..
a89e0 20 20 20 20 20 3c 70 3e 3c 63 6f 64 65 3e 73 6f 75 72 63 65 3c 2f 63 6f 64 65 3e 20 6d 75 73 74 .....<p><code>source</code>.must
a8a00 20 62 65 20 61 20 73 6c 69 63 65 2c 20 61 20 70 6f 69 6e 74 65 72 20 74 6f 0a 20 20 20 20 20 20 .be.a.slice,.a.pointer.to.......
a8a20 20 20 61 6e 20 61 72 72 61 79 2c 20 6f 72 20 61 20 6d 61 6e 79 2d 69 74 65 6d 20 3c 61 20 68 72 ..an.array,.or.a.many-item.<a.hr
a8a40 65 66 3d 22 23 50 6f 69 6e 74 65 72 73 22 3e 70 6f 69 6e 74 65 72 3c 2f 61 3e 2e 20 49 74 20 6d ef="#Pointers">pointer</a>..It.m
a8a60 61 79 0a 20 20 20 20 20 20 20 20 68 61 76 65 20 61 6e 79 20 61 6c 69 67 6e 6d 65 6e 74 2c 20 61 ay.........have.any.alignment,.a
a8a80 6e 64 20 69 74 20 6d 61 79 20 68 61 76 65 20 61 6e 79 20 65 6c 65 6d 65 6e 74 20 74 79 70 65 2e nd.it.may.have.any.element.type.
a8aa0 3c 2f 70 3e 0a 20 20 20 20 20 20 3c 70 3e 54 68 65 20 3c 63 6f 64 65 3e 73 6f 75 72 63 65 3c 2f </p>.......<p>The.<code>source</
a8ac0 63 6f 64 65 3e 20 65 6c 65 6d 65 6e 74 20 74 79 70 65 20 6d 75 73 74 20 68 61 76 65 20 74 68 65 code>.element.type.must.have.the
a8ae0 20 73 61 6d 65 20 69 6e 2d 6d 65 6d 6f 72 79 0a 20 20 20 20 20 20 20 20 72 65 70 72 65 73 65 6e .same.in-memory.........represen
a8b00 74 61 74 69 6f 6e 20 61 73 20 74 68 65 20 3c 63 6f 64 65 3e 64 65 73 74 3c 2f 63 6f 64 65 3e 20 tation.as.the.<code>dest</code>.
a8b20 65 6c 65 6d 65 6e 74 20 74 79 70 65 2e 3c 2f 70 3e 0a 20 20 20 20 20 20 3c 70 3e 53 69 6d 69 6c element.type.</p>.......<p>Simil
a8b40 61 72 20 74 6f 20 3c 61 20 68 72 65 66 3d 22 23 66 6f 72 22 3e 66 6f 72 3c 2f 61 3e 20 6c 6f 6f ar.to.<a.href="#for">for</a>.loo
a8b60 70 73 2c 20 61 74 20 6c 65 61 73 74 20 6f 6e 65 20 6f 66 20 3c 63 6f 64 65 3e 73 6f 75 72 63 65 ps,.at.least.one.of.<code>source
a8b80 3c 2f 63 6f 64 65 3e 20 61 6e 64 0a 20 20 20 20 20 20 20 20 3c 63 6f 64 65 3e 64 65 73 74 3c 2f </code>.and.........<code>dest</
a8ba0 63 6f 64 65 3e 20 6d 75 73 74 20 70 72 6f 76 69 64 65 20 61 20 6c 65 6e 67 74 68 2c 20 61 6e 64 code>.must.provide.a.length,.and
a8bc0 20 69 66 20 74 77 6f 20 6c 65 6e 67 74 68 73 20 61 72 65 20 70 72 6f 76 69 64 65 64 2c 0a 20 20 .if.two.lengths.are.provided,...
a8be0 20 20 20 20 20 20 74 68 65 79 20 6d 75 73 74 20 62 65 20 65 71 75 61 6c 2e 3c 2f 70 3e 0a 20 20 ......they.must.be.equal.</p>...
a8c00 20 20 20 20 3c 70 3e 46 69 6e 61 6c 6c 79 2c 20 74 68 65 20 74 77 6f 20 6d 65 6d 6f 72 79 20 72 ....<p>Finally,.the.two.memory.r
a8c20 65 67 69 6f 6e 73 20 6d 75 73 74 20 6e 6f 74 20 6f 76 65 72 6c 61 70 2e 3c 2f 70 3e 0a 20 20 20 egions.must.not.overlap.</p>....
a8c40 20 20 20 0a 0a 20 20 20 20 20 20 3c 68 33 20 69 64 3d 22 6d 65 6d 73 65 74 22 3e 3c 61 20 68 72 ...........<h3.id="memset"><a.hr
a8c60 65 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 ef="nav.xhtml#toc-memset">@memse
a8c80 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 6d 65 6d 73 t</a>.<a.class="hdr".href="#mems
a8ca0 65 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 et">..</a></h3>........<pre><cod
a8cc0 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 62 75 69 6c 74 69 6e 22 3e 40 6d 65 6d e><span.class="tok-builtin">@mem
a8ce0 73 65 74 3c 2f 73 70 61 6e 3e 28 64 65 73 74 2c 20 65 6c 65 6d 29 20 3c 73 70 61 6e 20 63 6c 61 set</span>(dest,.elem).<span.cla
a8d00 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 76 6f 69 64 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e ss="tok-type">void</span></code>
a8d20 3c 2f 70 72 65 3e 0a 20 20 20 20 20 20 3c 70 3e 54 68 69 73 20 66 75 6e 63 74 69 6f 6e 20 73 65 </pre>.......<p>This.function.se
a8d40 74 73 20 61 6c 6c 20 74 68 65 20 65 6c 65 6d 65 6e 74 73 20 6f 66 20 61 20 6d 65 6d 6f 72 79 20 ts.all.the.elements.of.a.memory.
a8d60 72 65 67 69 6f 6e 20 74 6f 20 3c 63 6f 64 65 3e 65 6c 65 6d 3c 2f 63 6f 64 65 3e 2e 3c 2f 70 3e region.to.<code>elem</code>.</p>
a8d80 0a 20 20 20 20 20 20 3c 70 3e 3c 63 6f 64 65 3e 64 65 73 74 3c 2f 63 6f 64 65 3e 20 6d 75 73 74 .......<p><code>dest</code>.must
a8da0 20 62 65 20 61 20 6d 75 74 61 62 6c 65 20 73 6c 69 63 65 20 6f 72 20 61 20 6d 75 74 61 62 6c 65 .be.a.mutable.slice.or.a.mutable
a8dc0 20 70 6f 69 6e 74 65 72 20 74 6f 20 61 6e 20 61 72 72 61 79 2e 0a 20 20 20 20 20 20 49 74 20 6d .pointer.to.an.array........It.m
a8de0 61 79 20 68 61 76 65 20 61 6e 79 20 61 6c 69 67 6e 6d 65 6e 74 2c 20 61 6e 64 20 69 74 20 6d 61 ay.have.any.alignment,.and.it.ma
a8e00 79 20 68 61 76 65 20 61 6e 79 20 65 6c 65 6d 65 6e 74 20 74 79 70 65 2e 3c 2f 70 3e 0a 20 20 20 y.have.any.element.type.</p>....
a8e20 20 20 20 3c 70 3e 3c 63 6f 64 65 3e 65 6c 65 6d 3c 2f 63 6f 64 65 3e 20 69 73 20 63 6f 65 72 63 ...<p><code>elem</code>.is.coerc
a8e40 65 64 20 74 6f 20 74 68 65 20 65 6c 65 6d 65 6e 74 20 74 79 70 65 20 6f 66 20 3c 63 6f 64 65 3e ed.to.the.element.type.of.<code>
a8e60 64 65 73 74 3c 2f 63 6f 64 65 3e 2e 3c 2f 70 3e 0a 20 20 20 20 20 20 3c 70 3e 46 6f 72 20 73 65 dest</code>.</p>.......<p>For.se
a8e80 63 75 72 65 6c 79 20 7a 65 72 6f 69 6e 67 20 6f 75 74 20 73 65 6e 73 69 74 69 76 65 20 63 6f 6e curely.zeroing.out.sensitive.con
a8ea0 74 65 6e 74 73 20 66 72 6f 6d 20 6d 65 6d 6f 72 79 2c 20 79 6f 75 20 73 68 6f 75 6c 64 20 75 73 tents.from.memory,.you.should.us
a8ec0 65 0a 20 20 20 20 20 20 3c 63 6f 64 65 3e 73 74 64 2e 63 72 79 70 74 6f 2e 73 65 63 75 72 65 5a e.......<code>std.crypto.secureZ
a8ee0 65 72 6f 3c 2f 63 6f 64 65 3e 3c 2f 70 3e 0a 20 20 20 20 20 20 0a 0a 20 20 20 20 20 20 3c 68 33 ero</code></p>...............<h3
a8f00 20 69 64 3d 22 6d 65 6d 6d 6f 76 65 22 3e 3c 61 20 68 72 65 66 3d 22 6e 61 76 2e 78 68 74 6d 6c .id="memmove"><a.href="nav.xhtml
a8f20 23 74 6f 63 2d 6d 65 6d 6d 6f 76 65 22 3e 40 6d 65 6d 6d 6f 76 65 3c 2f 61 3e 20 3c 61 20 63 6c #toc-memmove">@memmove</a>.<a.cl
a8f40 61 73 73 3d 22 68 64 72 22 20 68 72 65 66 3d 22 23 6d 65 6d 6d 6f 76 65 22 3e c2 a7 3c 2f 61 3e ass="hdr".href="#memmove">..</a>
a8f60 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
a8f80 61 73 73 3d 22 74 6f 6b 2d 62 75 69 6c 74 69 6e 22 3e 40 6d 65 6d 6d 6f 76 65 3c 2f 73 70 61 6e ass="tok-builtin">@memmove</span
a8fa0 3e 28 64 65 73 74 2c 20 73 6f 75 72 63 65 29 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b >(dest,.source).<span.class="tok
a8fc0 2d 74 79 70 65 22 3e 76 6f 69 64 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 3c 2f 70 72 65 3e 0a -type">void</span></code></pre>.
a8fe0 20 20 20 20 20 20 3c 70 3e 54 68 69 73 20 66 75 6e 63 74 69 6f 6e 20 63 6f 70 69 65 73 20 62 79 ......<p>This.function.copies.by
a9000 74 65 73 20 66 72 6f 6d 20 6f 6e 65 20 72 65 67 69 6f 6e 20 6f 66 20 6d 65 6d 6f 72 79 20 74 6f tes.from.one.region.of.memory.to
a9020 20 61 6e 6f 74 68 65 72 2c 20 62 75 74 20 75 6e 6c 69 6b 65 0a 20 20 20 20 20 20 3c 61 20 68 72 .another,.but.unlike.......<a.hr
a9040 65 66 3d 22 23 6d 65 6d 63 70 79 22 3e 40 6d 65 6d 63 70 79 3c 2f 61 3e 20 74 68 65 20 72 65 67 ef="#memcpy">@memcpy</a>.the.reg
a9060 69 6f 6e 73 20 6d 61 79 20 6f 76 65 72 6c 61 70 2e 3c 2f 70 3e 0a 20 20 20 20 20 20 3c 70 3e 3c ions.may.overlap.</p>.......<p><
a9080 63 6f 64 65 3e 64 65 73 74 3c 2f 63 6f 64 65 3e 20 6d 75 73 74 20 62 65 20 61 20 6d 75 74 61 62 code>dest</code>.must.be.a.mutab
a90a0 6c 65 20 73 6c 69 63 65 2c 20 61 20 6d 75 74 61 62 6c 65 20 70 6f 69 6e 74 65 72 20 74 6f 20 61 le.slice,.a.mutable.pointer.to.a
a90c0 6e 20 61 72 72 61 79 2c 20 6f 72 0a 20 20 20 20 20 20 20 20 61 20 6d 75 74 61 62 6c 65 20 6d 61 n.array,.or.........a.mutable.ma
a90e0 6e 79 2d 69 74 65 6d 20 3c 61 20 68 72 65 66 3d 22 23 50 6f 69 6e 74 65 72 73 22 3e 70 6f 69 6e ny-item.<a.href="#Pointers">poin
a9100 74 65 72 3c 2f 61 3e 2e 20 49 74 20 6d 61 79 20 68 61 76 65 20 61 6e 79 0a 20 20 20 20 20 20 20 ter</a>..It.may.have.any........
a9120 20 61 6c 69 67 6e 6d 65 6e 74 2c 20 61 6e 64 20 69 74 20 6d 61 79 20 68 61 76 65 20 61 6e 79 20 .alignment,.and.it.may.have.any.
a9140 65 6c 65 6d 65 6e 74 20 74 79 70 65 2e 3c 2f 70 3e 0a 20 20 20 20 20 20 3c 70 3e 3c 63 6f 64 65 element.type.</p>.......<p><code
a9160 3e 73 6f 75 72 63 65 3c 2f 63 6f 64 65 3e 20 6d 75 73 74 20 62 65 20 61 20 73 6c 69 63 65 2c 20 >source</code>.must.be.a.slice,.
a9180 61 20 70 6f 69 6e 74 65 72 20 74 6f 0a 20 20 20 20 20 20 20 20 61 6e 20 61 72 72 61 79 2c 20 6f a.pointer.to.........an.array,.o
a91a0 72 20 61 20 6d 61 6e 79 2d 69 74 65 6d 20 3c 61 20 68 72 65 66 3d 22 23 50 6f 69 6e 74 65 72 73 r.a.many-item.<a.href="#Pointers
a91c0 22 3e 70 6f 69 6e 74 65 72 3c 2f 61 3e 2e 20 49 74 20 6d 61 79 0a 20 20 20 20 20 20 20 20 68 61 ">pointer</a>..It.may.........ha
a91e0 76 65 20 61 6e 79 20 61 6c 69 67 6e 6d 65 6e 74 2c 20 61 6e 64 20 69 74 20 6d 61 79 20 68 61 76 ve.any.alignment,.and.it.may.hav
a9200 65 20 61 6e 79 20 65 6c 65 6d 65 6e 74 20 74 79 70 65 2e 3c 2f 70 3e 0a 20 20 20 20 20 20 3c 70 e.any.element.type.</p>.......<p
a9220 3e 54 68 65 20 3c 63 6f 64 65 3e 73 6f 75 72 63 65 3c 2f 63 6f 64 65 3e 20 65 6c 65 6d 65 6e 74 >The.<code>source</code>.element
a9240 20 74 79 70 65 20 6d 75 73 74 20 68 61 76 65 20 74 68 65 20 73 61 6d 65 20 69 6e 2d 6d 65 6d 6f .type.must.have.the.same.in-memo
a9260 72 79 0a 20 20 20 20 20 20 20 20 72 65 70 72 65 73 65 6e 74 61 74 69 6f 6e 20 61 73 20 74 68 65 ry.........representation.as.the
a9280 20 3c 63 6f 64 65 3e 64 65 73 74 3c 2f 63 6f 64 65 3e 20 65 6c 65 6d 65 6e 74 20 74 79 70 65 2e .<code>dest</code>.element.type.
a92a0 3c 2f 70 3e 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 66 </p>.......<p>Similar.to.<a.href
a92c0 3d 22 23 66 6f 72 22 3e 66 6f 72 3c 2f 61 3e 20 6c 6f 6f 70 73 2c 20 61 74 20 6c 65 61 73 74 20 ="#for">for</a>.loops,.at.least.
a92e0 6f 6e 65 20 6f 66 20 3c 63 6f 64 65 3e 73 6f 75 72 63 65 3c 2f 63 6f 64 65 3e 20 61 6e 64 0a 20 one.of.<code>source</code>.and..
a9300 20 20 20 20 20 20 20 3c 63 6f 64 65 3e 64 65 73 74 3c 2f 63 6f 64 65 3e 20 6d 75 73 74 20 70 72 .......<code>dest</code>.must.pr
a9320 6f 76 69 64 65 20 61 20 6c 65 6e 67 74 68 2c 20 61 6e 64 20 69 66 20 74 77 6f 20 6c 65 6e 67 74 ovide.a.length,.and.if.two.lengt
a9340 68 73 20 61 72 65 20 70 72 6f 76 69 64 65 64 2c 0a 20 20 20 20 20 20 20 20 74 68 65 79 20 6d 75 hs.are.provided,.........they.mu
a9360 73 74 20 62 65 20 65 71 75 61 6c 2e 3c 2f 70 3e 0a 20 20 20 20 20 20 0a 0a 20 20 20 20 20 20 3c st.be.equal.</p>...............<
a9380 68 33 20 69 64 3d 22 6d 69 6e 22 3e 3c 61 20 68 72 65 66 3d 22 6e 61 76 2e 78 68 74 6d 6c 23 74 h3.id="min"><a.href="nav.xhtml#t
a93a0 6f 63 2d 6d 69 6e 22 3e 40 6d 69 6e 3c 2f 61 3e 20 3c 61 20 63 6c 61 73 73 3d 22 68 64 72 22 20 oc-min">@min</a>.<a.class="hdr".
a93c0 68 72 65 66 3d 22 23 6d 69 6e 22 3e c2 a7 3c 2f 61 3e 3c 2f 68 33 3e 0a 0a 20 20 20 20 20 20 3c href="#min">..</a></h3>........<
a93e0 70 72 65 3e 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 62 75 69 6c 74 pre><code><span.class="tok-built
a9400 69 6e 22 3e 40 6d 69 6e 3c 2f 73 70 61 6e 3e 28 2e 2e 2e 29 20 54 3c 2f 63 6f 64 65 3e 3c 2f 70 in">@min</span>(...).T</code></p
a9420 72 65 3e 0a 20 20 20 20 20 20 3c 70 3e 0a 20 20 20 20 20 20 54 61 6b 65 73 20 74 77 6f 20 6f 72 re>.......<p>.......Takes.two.or
a9440 20 6d 6f 72 65 20 61 72 67 75 6d 65 6e 74 73 20 61 6e 64 20 72 65 74 75 72 6e 73 20 74 68 65 20 .more.arguments.and.returns.the.
a9460 73 6d 61 6c 6c 65 73 74 20 76 61 6c 75 65 20 69 6e 63 6c 75 64 65 64 20 28 74 68 65 20 6d 69 6e smallest.value.included.(the.min
a9480 69 6d 75 6d 29 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 imum)..This.builtin.accepts.inte
a94a0 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 20 65 69 74 gers,.floats,.and.vectors.of.eit
a94c0 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 20 6f 70 65 her..In.the.latter.case,.the.ope
a94e0 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 77 69 73 65 ration.is.performed.element.wise
a9500 2e 0a 20 20 20 20 20 20 3c 2f 70 3e 0a 20 20 20 20 20 20 3c 70 3e 0a 20 20 20 20 20 20 4e 61 4e ........</p>.......<p>.......NaN
a9520 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 72 65 74 75 72 6e s.are.handled.as.follows:.return
a9540 20 74 68 65 20 73 6d 61 6c 6c 65 73 74 20 6e 6f 6e 2d 4e 61 4e 20 76 61 6c 75 65 20 69 6e 63 6c .the.smallest.non-NaN.value.incl
a9560 75 64 65 64 2e 20 49 66 20 61 6c 6c 20 6f 70 65 72 61 6e 64 73 20 61 72 65 20 4e 61 4e 2c 20 72 uded..If.all.operands.are.NaN,.r
a9580 65 74 75 72 6e 20 4e 61 4e 2e 0a 20 20 20 20 20 20 3c 2f 70 3e 0a 20 20 20 20 20 20 3c 70 3e 53 eturn.NaN........</p>.......<p>S
a95a0 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 6d ee.also:</p><ul>.<li><a.href="#m
a95c0 61 78 22 3e 40 6d 61 78 3c 2f 61 3e 3c 2f 6c 69 3e 0a 3c 6c 69 3e 3c 61 20 68 72 65 66 3d 22 23 ax">@max</a></li>.<li><a.href="#
a95e0 56 65 63 74 6f 72 73 22 3e 56 65 63 74 6f 72 73 3c 2f 61 3e 3c 2f 6c 69 3e 0a 3c 2f 75 6c 3e 0a Vectors">Vectors</a></li>.</ul>.
a9600 0a 20 20 20 20 20 20 0a 0a 20 20 20 20 20 20 3c 68 33 20 69 64 3d 22 77 61 73 6d 4d 65 6d 6f 72 ...............<h3.id="wasmMemor
a9620 79 53 69 7a 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 77 61 ySize"><a.href="nav.xhtml#toc-wa
a9640 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 65 3c 2f 61 smMemorySize">@wasmMemorySize</a
a9660 3e 20 3c 61 20 63 6c 61 73 73 3d 22 68 64 72 22 20 68 72 65 66 3d 22 23 77 61 73 6d 4d 65 6d 6f >.<a.class="hdr".href="#wasmMemo
a9680 72 79 53 69 7a 65 22 3e c2 a7 3c 2f 61 3e 3c 2f 68 33 3e 0a 0a 20 20 20 20 20 20 3c 70 72 65 3e rySize">..</a></h3>........<pre>
a96a0 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 62 75 69 6c 74 69 6e 22 3e <code><span.class="tok-builtin">
a96c0 40 77 61 73 6d 4d 65 6d 6f 72 79 53 69 7a 65 3c 2f 73 70 61 6e 3e 28 69 6e 64 65 78 3a 20 3c 73 @wasmMemorySize</span>(index:.<s
a96e0 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>)
a9700 20 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
a9720 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>.....
a9740 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 73 69 7a 65 ..This.function.returns.the.size
a9760 20 6f 66 20 74 68 65 20 57 61 73 6d 20 6d 65 6d 6f 72 79 20 69 64 65 6e 74 69 66 69 65 64 20 62 .of.the.Wasm.memory.identified.b
a9780 79 20 3c 63 6f 64 65 3e 69 6e 64 65 78 3c 2f 63 6f 64 65 3e 20 61 73 0a 20 20 20 20 20 20 61 6e y.<code>index</code>.as.......an
a97a0 20 75 6e 73 69 67 6e 65 64 20 76 61 6c 75 65 20 69 6e 20 75 6e 69 74 73 20 6f 66 20 57 61 73 6d .unsigned.value.in.units.of.Wasm
a97c0 20 70 61 67 65 73 2e 20 4e 6f 74 65 20 74 68 61 74 20 65 61 63 68 20 57 61 73 6d 20 70 61 67 65 .pages..Note.that.each.Wasm.page
a97e0 20 69 73 20 36 34 4b 42 20 69 6e 20 73 69 7a 65 2e 0a 20 20 20 20 20 20 3c 2f 70 3e 0a 20 20 20 .is.64KB.in.size........</p>....
a9800 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 61 20 ...<p>.......This.function.is.a.
a9820 6c 6f 77 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 low.level.intrinsic.with.no.safe
a9840 74 79 20 6d 65 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 ty.mechanisms.usually.useful.for
a9860 20 61 6c 6c 6f 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 .allocator.......designers.targe
a9880 74 69 6e 67 20 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 ting.Wasm..So.unless.you.are.wri
a98a0 74 69 6e 67 20 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 ting.a.new.allocator.from.scratc
a98c0 68 2c 20 79 6f 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 h,.you.should.use.......somethin
a98e0 67 20 6c 69 6b 65 20 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 62 75 g.like.<code><span.class="tok-bu
a9900 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
a9920 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
a9940 6e 3e 29 2e 68 65 61 70 2e 57 61 73 6d 50 61 67 65 41 6c 6c 6f 63 61 74 6f 72 3c 2f 63 6f 64 65 n>).heap.WasmPageAllocator</code
a9960 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 3a >........</p>.......<p>See.also:
a9980 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 6f 72 </p><ul>.<li><a.href="#wasmMemor
a99a0 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 3e 0a yGrow">@wasmMemoryGrow</a></li>.
a99c0 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 61 73 </ul>................<h3.id="was
a99e0 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 6c 23 mMemoryGrow"><a.href="nav.xhtml#
a9a00 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 79 47 toc-wasmMemoryGrow">@wasmMemoryG
a9a20 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 77 61 row</a>.<a.class="hdr".href="#wa
a9a40 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 20 20 smMemoryGrow">..</a></h3>.......
a9a60 20 3c 70 72 65 3e 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 62 75 69 .<pre><code><span.class="tok-bui
a9a80 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 69 6e 64 ltin">@wasmMemoryGrow</span>(ind
a9aa0 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 32 3c 2f ex:.<span.class="tok-type">u32</
a9ac0 73 70 61 6e 3e 2c 20 64 65 6c 74 61 3a 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 span>,.delta:.<span.class="tok-t
a9ae0 79 70 65 22 3e 75 73 69 7a 65 3c 2f 73 70 61 6e 3e 29 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 ype">usize</span>).<span.class="
a9b00 74 6f 6b 2d 74 79 70 65 22 3e 69 73 69 7a 65 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 3c 2f 70 tok-type">isize</span></code></p
a9b20 72 65 3e 0a 20 20 20 20 20 20 3c 70 3e 0a 20 20 20 20 20 20 54 68 69 73 20 66 75 6e 63 74 69 6f re>.......<p>.......This.functio
a9b40 6e 20 69 6e 63 72 65 61 73 65 73 20 74 68 65 20 73 69 7a 65 20 6f 66 20 74 68 65 20 57 61 73 6d n.increases.the.size.of.the.Wasm
a9b60 20 6d 65 6d 6f 72 79 20 69 64 65 6e 74 69 66 69 65 64 20 62 79 20 3c 63 6f 64 65 3e 69 6e 64 65 .memory.identified.by.<code>inde
a9b80 78 3c 2f 63 6f 64 65 3e 20 62 79 0a 20 20 20 20 20 20 3c 63 6f 64 65 3e 64 65 6c 74 61 3c 2f 63 x</code>.by.......<code>delta</c
a9ba0 6f 64 65 3e 20 69 6e 20 75 6e 69 74 73 20 6f 66 20 75 6e 73 69 67 6e 65 64 20 6e 75 6d 62 65 72 ode>.in.units.of.unsigned.number
a9bc0 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
a9be0 61 73 6d 20 70 61 67 65 0a 20 20 20 20 20 20 69 73 20 36 34 4b 42 20 69 6e 20 73 69 7a 65 2e 20 asm.page.......is.64KB.in.size..
a9c00 4f 6e 20 73 75 63 63 65 73 73 2c 20 72 65 74 75 72 6e 73 20 70 72 65 76 69 6f 75 73 20 6d 65 6d On.success,.returns.previous.mem
a9c20 6f 72 79 20 73 69 7a 65 3b 20 6f 6e 20 66 61 69 6c 75 72 65 2c 20 69 66 20 74 68 65 20 61 6c 6c ory.size;.on.failure,.if.the.all
a9c40 6f 63 61 74 69 6f 6e 20 66 61 69 6c 73 2c 0a 20 20 20 20 20 20 72 65 74 75 72 6e 73 20 2d 31 2e ocation.fails,.......returns.-1.
a9c60 0a 20 20 20 20 20 20 3c 2f 70 3e 0a 20 20 20 20 20 20 3c 70 3e 0a 20 20 20 20 20 20 54 68 69 73 .......</p>.......<p>.......This
a9c80 20 66 75 6e 63 74 69 6f 6e 20 69 73 20 61 20 6c 6f 77 20 6c 65 76 65 6c 20 69 6e 74 72 69 6e 73 .function.is.a.low.level.intrins
a9ca0 69 63 20 77 69 74 68 20 6e 6f 20 73 61 66 65 74 79 20 6d 65 63 68 61 6e 69 73 6d 73 20 75 73 75 ic.with.no.safety.mechanisms.usu
a9cc0 61 6c 6c 79 20 75 73 65 66 75 6c 20 66 6f 72 20 61 6c 6c 6f 63 61 74 6f 72 0a 20 20 20 20 20 20 ally.useful.for.allocator.......
a9ce0 64 65 73 69 67 6e 65 72 73 20 74 61 72 67 65 74 69 6e 67 20 57 61 73 6d 2e 20 53 6f 20 75 6e 6c designers.targeting.Wasm..So.unl
a9d00 65 73 73 20 79 6f 75 20 61 72 65 20 77 72 69 74 69 6e 67 20 61 20 6e 65 77 20 61 6c 6c 6f 63 61 ess.you.are.writing.a.new.alloca
a9d20 74 6f 72 20 66 72 6f 6d 20 73 63 72 61 74 63 68 2c 20 79 6f 75 20 73 68 6f 75 6c 64 20 75 73 65 tor.from.scratch,.you.should.use
a9d40 0a 20 20 20 20 20 20 73 6f 6d 65 74 68 69 6e 67 20 6c 69 6b 65 20 3c 63 6f 64 65 3e 3c 73 70 61 .......something.like.<code><spa
a9d60 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
a9d80 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
a9da0 3b 73 74 64 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 29 2e 68 65 61 70 2e 57 61 73 6d 50 61 67 65 ;std&quot;</span>).heap.WasmPage
a9dc0 41 6c 6c 6f 63 61 74 6f 72 3c 2f 63 6f 64 65 3e 2e 0a 20 20 20 20 20 20 3c 2f 70 3e 0a 20 20 20 Allocator</code>........</p>....
a9de0 20 20 20 3c 66 69 67 75 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
a9e00 67 2d 63 61 70 22 3e 3c 63 69 74 65 20 63 6c 61 73 73 3d 22 66 69 6c 65 22 3e 74 65 73 74 5f 77 g-cap"><cite.class="file">test_w
a9e20 61 73 6d 4d 65 6d 6f 72 79 47 72 6f 77 5f 62 75 69 6c 74 69 6e 2e 7a 69 67 3c 2f 63 69 74 65 3e asmMemoryGrow_builtin.zig</cite>
a9e40 3c 2f 66 69 67 63 61 70 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
a9e60 61 73 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.=.
a9e80 3c 73 70 61 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
a9ea0 74 3c 2f 73 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">&
a9ec0 71 75 6f 74 3b 73 74 64 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 29 3b 0a 3c 73 70 61 6e 20 63 6c quot;std&quot;</span>);.<span.cl
a9ee0 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 63 6f 6e 73 74 3c 2f 73 70 61 6e 3e 20 6e 61 74 69 76 65 ass="tok-kw">const</span>.native
a9f00 5f 61 72 63 68 20 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 62 75 69 6c 74 69 6e _arch.=.<span.class="tok-builtin
a9f20 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
a9f40 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
a9f60 3e 29 2e 74 61 72 67 65 74 2e 63 70 75 2e 61 72 63 68 3b 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d >).target.cpu.arch;.<span.class=
a9f80 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 45 71 75 61 "tok-kw">const</span>.expectEqua
a9fa0 6c 20 3d 20 73 74 64 2e 74 65 73 74 69 6e 67 2e 65 78 70 65 63 74 45 71 75 61 6c 3b 0a 0a 3c 73 l.=.std.testing.expectEqual;..<s
a9fc0 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>.<
a9fe0 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 73 74 72 22 3e 26 71 75 6f 74 3b 40 77 61 73 6d span.class="tok-str">&quot;@wasm
aa000 4d 65 6d 6f 72 79 47 72 6f 77 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 20 7b 0a 20 20 20 20 3c 73 MemoryGrow&quot;</span>.{.....<s
aa020 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 6e 61 pan.class="tok-kw">if</span>.(na
aa040 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 63 6c 61 73 tive_arch.!=..wasm32).<span.clas
aa060 73 3d 22 74 6f 6b 2d 6b 77 22 3e 72 65 74 75 72 6e 3c 2f 73 70 61 6e 3e 20 3c 73 70 61 6e 20 63 s="tok-kw">return</span>.<span.c
aa080 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 6b 69 70 5a lass="tok-kw">error</span>.SkipZ
aa0a0 69 67 54 65 73 74 3b 0a 0a 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 igTest;......<span.class="tok-kw
aa0c0 22 3e 63 6f 6e 73 74 3c 2f 73 70 61 6e 3e 20 70 72 65 76 20 3d 20 3c 73 70 61 6e 20 63 6c 61 73 ">const</span>.prev.=.<span.clas
aa0e0 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 65 3c s="tok-builtin">@wasmMemorySize<
aa100 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">
aa120 30 3c 2f 73 70 61 6e 3e 29 3b 0a 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 0</span>);.....<span.class="tok-
aa140 6b 77 22 3e 74 72 79 3c 2f 73 70 61 6e 3e 20 65 78 70 65 63 74 45 71 75 61 6c 28 3c 73 70 61 6e kw">try</span>.expectEqual(<span
aa160 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 62 75 69 6c 74 69 6e 22 3e 40 77 61 73 6d 4d 65 6d 6f 72 79 .class="tok-builtin">@wasmMemory
aa180 47 72 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 6e 75 6d Grow</span>(<span.class="tok-num
aa1a0 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-
aa1c0 6e 75 6d 62 65 72 22 3e 31 3c 2f 73 70 61 6e 3e 29 2c 20 70 72 65 76 29 3b 0a 20 20 20 20 3c 73 number">1</span>),.prev);.....<s
aa1e0 70 61 6e 20 63 6c 61 73 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
aa200 70 65 63 74 45 71 75 61 6c 28 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 62 75 69 6c 74 pectEqual(<span.class="tok-built
aa220 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 61 6e in">@wasmMemorySize</span>(<span
aa240 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 30 3c 2f 73 70 61 6e 3e 29 2c 20 70 .class="tok-number">0</span>),.p
aa260 72 65 76 20 2b 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 31 rev.+.<span.class="tok-number">1
aa280 3c 2f 73 70 61 6e 3e 29 3b 0a 7d 3c 2f 63 6f 64 65 3e 3c 2f 70 72 65 3e 3c 2f 66 69 67 75 72 65 </span>);.}</code></pre></figure
aa2a0 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
aa2c0 6c 2d 63 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
aa2e0 61 6d 70 3e 24 20 3c 6b 62 64 3e 7a 69 67 20 74 65 73 74 20 74 65 73 74 5f 77 61 73 6d 4d 65 6d amp>$.<kbd>zig.test.test_wasmMem
aa300 6f 72 79 47 72 6f 77 5f 62 75 69 6c 74 69 6e 2e 7a 69 67 3c 2f 6b 62 64 3e 0a 31 2f 31 20 74 65 oryGrow_builtin.zig</kbd>.1/1.te
aa320 73 74 5f 77 61 73 6d 4d 65 6d 6f 72 79 47 72 6f 77 5f 62 75 69 6c 74 69 6e 2e 74 65 73 74 2e 40 st_wasmMemoryGrow_builtin.test.@
aa340 77 61 73 6d 4d 65 6d 6f 72 79 47 72 6f 77 2e 2e 2e 53 4b 49 50 0a 30 20 70 61 73 73 65 64 3b 20 wasmMemoryGrow...SKIP.0.passed;.
aa360 31 20 73 6b 69 70 70 65 64 3b 20 30 20 66 61 69 6c 65 64 2e 0a 3c 2f 73 61 6d 70 3e 3c 2f 70 72 1.skipped;.0.failed..</samp></pr
aa380 65 3e 3c 2f 66 69 67 75 72 65 3e 0a 0a 20 20 20 20 20 20 3c 70 3e 53 65 65 20 61 6c 73 6f 3a 3c e></figure>........<p>See.also:<
aa3a0 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 6f 72 79 /p><ul>.<li><a.href="#wasmMemory
aa3c0 53 69 7a 65 22 3e 40 77 61 73 6d 4d 65 6d 6f 72 79 53 69 7a 65 3c 2f 61 3e 3c 2f 6c 69 3e 0a 3c Size">@wasmMemorySize</a></li>.<
aa3e0 2f 75 6c 3e 0a 0a 20 20 20 20 20 20 0a 0a 20 20 20 20 20 20 3c 68 33 20 69 64 3d 22 6d 6f 64 22 /ul>................<h3.id="mod"
aa400 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 6f 64 22 3e 40 6d 6f ><a.href="nav.xhtml#toc-mod">@mo
aa420 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 6d 6f 64 22 d</a>.<a.class="hdr".href="#mod"
aa440 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><
aa460 73 70 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 2f 73 span.class="tok-builtin">@mod</s
aa480 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:.
aa4a0 54 29 20 54 3c 2f 63 6f 64 65 3e 3c 2f 70 72 65 3e 0a 20 20 20 20 20 20 3c 70 3e 0a 20 20 20 20 T).T</code></pre>.......<p>.....
aa4c0 20 20 4d 6f 64 75 6c 75 73 20 64 69 76 69 73 69 6f 6e 2e 20 46 6f 72 20 75 6e 73 69 67 6e 65 64 ..Modulus.division..For.unsigned
aa4e0 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...
aa500 20 20 20 20 3c 63 6f 64 65 3e 6e 75 6d 65 72 61 74 6f 72 20 25 20 64 65 6e 6f 6d 69 6e 61 74 6f ....<code>numerator.%.denominato
aa520 72 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 r</code>..Caller.guarantees.<cod
aa540 65 3e 64 65 6e 6f 6d 69 6e 61 74 6f 72 20 21 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f e>denominator.!=.<span.class="to
aa560 6b 2d 6e 75 6d 62 65 72 22 3e 30 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 2c 20 6f 74 68 65 72 k-number">0</span></code>,.other
aa580 77 69 73 65 20 74 68 65 0a 20 20 20 20 20 20 6f 70 65 72 61 74 69 6f 6e 20 77 69 6c 6c 20 72 65 wise.the.......operation.will.re
aa5a0 73 75 6c 74 20 69 6e 20 61 20 3c 61 20 68 72 65 66 3d 22 23 52 65 6d 61 69 6e 64 65 72 2d 44 69 sult.in.a.<a.href="#Remainder-Di
aa5c0 76 69 73 69 6f 6e 2d 62 79 2d 5a 65 72 6f 22 3e 52 65 6d 61 69 6e 64 65 72 20 44 69 76 69 73 69 vision-by-Zero">Remainder.Divisi
aa5e0 6f 6e 20 62 79 20 5a 65 72 6f 3c 2f 61 3e 20 77 68 65 6e 20 72 75 6e 74 69 6d 65 20 73 61 66 65 on.by.Zero</a>.when.runtime.safe
aa600 74 79 20 63 68 65 63 6b 73 20 61 72 65 20 65 6e 61 62 6c 65 64 2e 0a 20 20 20 20 20 20 3c 2f 70 ty.checks.are.enabled........</p
aa620 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 65 >.......<ul>...........<li><code
aa640 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<
aa660 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"
aa680 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
aa6a0 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
aa6c0 6b 2d 6e 75 6d 62 65 72 22 3e 31 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 3c 2f 6c 69 3e 0a 20 k-number">1</span></code></li>..
aa6e0 20 20 20 20 20 20 20 20 20 3c 6c 69 3e 3c 63 6f 64 65 3e 28 3c 73 70 61 6e 20 63 6c 61 73 73 3d .........<li><code>(<span.class=
aa700 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 61 "tok-builtin">@divFloor</span>(a
aa720 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 69 ,.b).*.b).+.<span.class="tok-bui
aa740 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 63 6f ltin">@mod</span>(a,.b).==.a</co
aa760 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 6f de></li>.......</ul>.......<p>Fo
aa780 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 72 r.a.function.that.returns.an.err
aa7a0 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 22 or.code,.see.<code><span.class="
aa7c0 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
aa7e0 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
aa800 3b 3c 2f 73 70 61 6e 3e 29 2e 6d 61 74 68 2e 6d 6f 64 3c 2f 63 6f 64 65 3e 2e 3c 2f 70 3e 0a 20 ;</span>).math.mod</code>.</p>..
aa820 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
aa840 20 68 72 65 66 3d 22 23 72 65 6d 22 3e 40 72 65 6d 3c 2f 61 3e 3c 2f 6c 69 3e 0a 3c 2f 75 6c 3e .href="#rem">@rem</a></li>.</ul>
aa860 0a 0a 20 20 20 20 20 20 0a 0a 20 20 20 20 20 20 3c 68 33 20 69 64 3d 22 6d 75 6c 57 69 74 68 4f ................<h3.id="mulWithO
aa880 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 6f 63 2d verflow"><a.href="nav.xhtml#toc-
aa8a0 6d 75 6c 57 69 74 68 4f 76 65 72 66 6c 6f 77 22 3e 40 6d 75 6c 57 69 74 68 4f 76 65 72 66 6c 6f mulWithOverflow">@mulWithOverflo
aa8c0 77 3c 2f 61 3e 20 3c 61 20 63 6c 61 73 73 3d 22 68 64 72 22 20 68 72 65 66 3d 22 23 6d 75 6c 57 w</a>.<a.class="hdr".href="#mulW
aa8e0 69 74 68 4f 76 65 72 66 6c 6f 77 22 3e c2 a7 3c 2f 61 3e 3c 2f 68 33 3e 0a 0a 20 20 20 20 20 20 ithOverflow">..</a></h3>........
aa900 3c 70 72 65 3e 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 62 75 69 6c <pre><code><span.class="tok-buil
aa920 74 69 6e 22 3e 40 6d 75 6c 57 69 74 68 4f 76 65 72 66 6c 6f 77 3c 2f 73 70 61 6e 3e 28 61 3a 20 tin">@mulWithOverflow</span>(a:.
aa940 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
aa960 61 6e 3e 2c 20 62 3a 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 61 6e 79 an>,.b:.<span.class="tok-kw">any
aa980 74 79 70 65 3c 2f 73 70 61 6e 3e 29 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 type</span>).<span.class="tok-kw
aa9a0 22 3e 73 74 72 75 63 74 3c 2f 73 70 61 6e 3e 20 7b 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 ">struct</span>.{.<span.class="t
aa9c0 6f 6b 2d 62 75 69 6c 74 69 6e 22 3e 40 54 79 70 65 4f 66 3c 2f 73 70 61 6e 3e 28 61 2c 20 62 29 ok-builtin">@TypeOf</span>(a,.b)
aa9e0 2c 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 75 31 3c 2f 73 70 61 ,.<span.class="tok-type">u1</spa
aaa00 6e 3e 20 7d 3c 2f 63 6f 64 65 3e 3c 2f 70 72 65 3e 0a 20 20 20 20 20 20 3c 70 3e 0a 20 20 20 20 n>.}</code></pre>.......<p>.....
aaa20 20 20 50 65 72 66 6f 72 6d 73 20 3c 63 6f 64 65 3e 61 20 2a 20 62 3c 2f 63 6f 64 65 3e 20 61 6e ..Performs.<code>a.*.b</code>.an
aaa40 64 20 72 65 74 75 72 6e 73 20 61 20 74 75 70 6c 65 20 77 69 74 68 20 74 68 65 20 72 65 73 75 6c d.returns.a.tuple.with.the.resul
aaa60 74 20 61 6e 64 20 61 20 70 6f 73 73 69 62 6c 65 20 6f 76 65 72 66 6c 6f 77 20 62 69 74 2e 0a 20 t.and.a.possible.overflow.bit...
aaa80 20 20 20 20 20 3c 2f 70 3e 0a 20 20 20 20 20 20 0a 0a 20 20 20 20 20 20 3c 68 33 20 69 64 3d 22 .....</p>...............<h3.id="
aaaa0 70 61 6e 69 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 70 61 panic"><a.href="nav.xhtml#toc-pa
aaac0 6e 69 63 22 3e 40 70 61 6e 69 63 3c 2f 61 3e 20 3c 61 20 63 6c 61 73 73 3d 22 68 64 72 22 20 68 nic">@panic</a>.<a.class="hdr".h
aaae0 72 65 66 3d 22 23 70 61 6e 69 63 22 3e c2 a7 3c 2f 61 3e 3c 2f 68 33 3e 0a 0a 20 20 20 20 20 20 ref="#panic">..</a></h3>........
aab00 3c 70 72 65 3e 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 62 75 69 6c <pre><code><span.class="tok-buil
aab20 74 69 6e 22 3e 40 70 61 6e 69 63 3c 2f 73 70 61 6e 3e 28 6d 65 73 73 61 67 65 3a 20 5b 5d 3c 73 tin">@panic</span>(message:.[]<s
aab40 70 61 6e 20 63 6c 61 73 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>.
aab60 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>
aab80 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
aaba0 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 3e 0a n</span></code></pre>.......<p>.
aabc0 20 20 20 20 20 20 49 6e 76 6f 6b 65 73 20 74 68 65 20 70 61 6e 69 63 20 68 61 6e 64 6c 65 72 20 ......Invokes.the.panic.handler.
aabe0 66 75 6e 63 74 69 6f 6e 2e 20 42 79 20 64 65 66 61 75 6c 74 20 74 68 65 20 70 61 6e 69 63 20 68 function..By.default.the.panic.h
aac00 61 6e 64 6c 65 72 20 66 75 6e 63 74 69 6f 6e 0a 20 20 20 20 20 20 63 61 6c 6c 73 20 74 68 65 20 andler.function.......calls.the.
aac20 70 75 62 6c 69 63 20 3c 63 6f 64 65 3e 70 61 6e 69 63 3c 2f 63 6f 64 65 3e 20 66 75 6e 63 74 69 public.<code>panic</code>.functi
aac40 6f 6e 20 65 78 70 6f 73 65 64 20 69 6e 20 74 68 65 20 72 6f 6f 74 20 73 6f 75 72 63 65 20 66 69 on.exposed.in.the.root.source.fi
aac60 6c 65 2c 20 6f 72 0a 20 20 20 20 20 20 69 66 20 74 68 65 72 65 20 69 73 20 6e 6f 74 20 6f 6e 65 le,.or.......if.there.is.not.one
aac80 20 73 70 65 63 69 66 69 65 64 2c 20 74 68 65 20 3c 63 6f 64 65 3e 73 74 64 2e 6c 61 6e 67 2e 64 .specified,.the.<code>std.lang.d
aaca0 65 66 61 75 6c 74 5f 70 61 6e 69 63 3c 2f 63 6f 64 65 3e 0a 20 20 20 20 20 20 66 75 6e 63 74 69 efault_panic</code>.......functi
aacc0 6f 6e 20 66 72 6f 6d 20 3c 63 6f 64 65 3e 73 74 64 2f 6c 61 6e 67 2e 7a 69 67 3c 2f 63 6f 64 65 on.from.<code>std/lang.zig</code
aace0 3e 2e 0a 20 20 20 20 20 20 3c 2f 70 3e 0a 20 20 20 20 20 20 3c 70 3e 47 65 6e 65 72 61 6c 6c 79 >........</p>.......<p>Generally
aad00 20 69 74 20 69 73 20 62 65 74 74 65 72 20 74 6f 20 75 73 65 20 3c 63 6f 64 65 3e 3c 73 70 61 6e .it.is.better.to.use.<code><span
aad20 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
aad40 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;
aad60 73 74 64 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 29 2e 64 65 62 75 67 2e 70 61 6e 69 63 3c 2f 63 std&quot;</span>).debug.panic</c
aad80 6f 64 65 3e 2e 0a 20 20 20 20 20 20 20 20 20 20 48 6f 77 65 76 65 72 2c 20 3c 63 6f 64 65 3e 3c ode>............However,.<code><
aada0 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 62 75 69 6c 74 69 6e 22 3e 40 70 61 6e 69 63 3c span.class="tok-builtin">@panic<
aadc0 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 20 63 61 6e 20 62 65 20 75 73 65 66 75 6c 20 66 6f 72 20 /span></code>.can.be.useful.for.
aade0 32 20 73 63 65 6e 61 72 69 6f 73 3a 0a 20 20 20 20 20 20 3c 2f 70 3e 0a 20 20 20 20 20 20 3c 75 2.scenarios:.......</p>.......<u
aae00 6c 3e 0a 20 20 20 20 20 20 20 20 3c 6c 69 3e 46 72 6f 6d 20 6c 69 62 72 61 72 79 20 63 6f 64 65 l>.........<li>From.library.code
aae20 2c 20 63 61 6c 6c 69 6e 67 20 74 68 65 20 70 72 6f 67 72 61 6d 6d 65 72 27 73 20 70 61 6e 69 63 ,.calling.the.programmer's.panic
aae40 20 66 75 6e 63 74 69 6f 6e 20 69 66 20 74 68 65 79 20 65 78 70 6f 73 65 64 20 6f 6e 65 20 69 6e .function.if.they.exposed.one.in
aae60 20 74 68 65 20 72 6f 6f 74 20 73 6f 75 72 63 65 20 66 69 6c 65 2e 3c 2f 6c 69 3e 0a 20 20 20 20 .the.root.source.file.</li>.....
aae80 20 20 20 20 3c 6c 69 3e 57 68 65 6e 20 6d 69 78 69 6e 67 20 43 20 61 6e 64 20 5a 69 67 20 63 6f ....<li>When.mixing.C.and.Zig.co
aaea0 64 65 2c 20 63 61 6c 6c 69 6e 67 20 74 68 65 20 63 61 6e 6f 6e 69 63 61 6c 20 70 61 6e 69 63 20 de,.calling.the.canonical.panic.
aaec0 69 6d 70 6c 65 6d 65 6e 74 61 74 69 6f 6e 20 61 63 72 6f 73 73 20 6d 75 6c 74 69 70 6c 65 20 2e implementation.across.multiple..
aaee0 6f 20 66 69 6c 65 73 2e 3c 2f 6c 69 3e 0a 20 20 20 20 20 20 3c 2f 75 6c 3e 0a 20 20 20 20 20 20 o.files.</li>.......</ul>.......
aaf00 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
aaf20 3d 22 23 50 61 6e 69 63 2d 48 61 6e 64 6c 65 72 22 3e 50 61 6e 69 63 20 48 61 6e 64 6c 65 72 3c ="#Panic-Handler">Panic.Handler<
aaf40 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
aaf60 33 20 69 64 3d 22 70 6f 70 43 6f 75 6e 74 22 3e 3c 61 20 68 72 65 66 3d 22 6e 61 76 2e 78 68 74 3.id="popCount"><a.href="nav.xht
aaf80 6d 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 ml#toc-popCount">@popCount</a>.<
aafa0 61 20 63 6c 61 73 73 3d 22 68 64 72 22 20 68 72 65 66 3d 22 23 70 6f 70 43 6f 75 6e 74 22 3e c2 a.class="hdr".href="#popCount">.
aafc0 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
aafe0 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 6f 70 43 6f 75 6e 74 an.class="tok-builtin">@popCount
ab000 3c 2f 73 70 61 6e 3e 28 6f 70 65 72 61 6e 64 3a 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f </span>(operand:.<span.class="to
ab020 6b 2d 6b 77 22 3e 61 6e 79 74 79 70 65 3c 2f 73 70 61 6e 3e 29 20 3c 73 70 61 6e 20 63 6c 61 73 k-kw">anytype</span>).<span.clas
ab040 73 3d 22 74 6f 6b 2d 6b 77 22 3e 61 6e 79 74 79 70 65 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e s="tok-kw">anytype</span></code>
ab060 3c 2f 70 72 65 3e 0a 20 20 20 20 20 20 3c 70 3e 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 </pre>.......<p><code><span.clas
ab080 73 3d 22 74 6f 6b 2d 62 75 69 6c 74 69 6e 22 3e 40 54 79 70 65 4f 66 3c 2f 73 70 61 6e 3e 28 6f s="tok-builtin">@TypeOf</span>(o
ab0a0 70 65 72 61 6e 64 29 3c 2f 63 6f 64 65 3e 20 6d 75 73 74 20 62 65 20 61 6e 20 69 6e 74 65 67 65 perand)</code>.must.be.an.intege
ab0c0 72 20 74 79 70 65 2e 3c 2f 70 3e 0a 20 20 20 20 20 20 3c 70 3e 3c 63 6f 64 65 3e 6f 70 65 72 61 r.type.</p>.......<p><code>opera
ab0e0 6e 64 3c 2f 63 6f 64 65 3e 20 6d 61 79 20 62 65 20 61 6e 20 3c 61 20 68 72 65 66 3d 22 23 49 6e nd</code>.may.be.an.<a.href="#In
ab100 74 65 67 65 72 73 22 3e 69 6e 74 65 67 65 72 3c 2f 61 3e 20 6f 72 20 3c 61 20 68 72 65 66 3d 22 tegers">integer</a>.or.<a.href="
ab120 23 56 65 63 74 6f 72 73 22 3e 76 65 63 74 6f 72 3c 2f 61 3e 2e 3c 2f 70 3e 0a 20 20 20 20 20 20 #Vectors">vector</a>.</p>.......
ab140 3c 70 3e 0a 20 20 20 20 20 20 43 6f 75 6e 74 73 20 74 68 65 20 6e 75 6d 62 65 72 20 6f 66 20 62 <p>.......Counts.the.number.of.b
ab160 69 74 73 20 73 65 74 20 69 6e 20 61 6e 20 69 6e 74 65 67 65 72 20 2d 20 22 70 6f 70 75 6c 61 74 its.set.in.an.integer.-."populat
ab180 69 6f 6e 20 63 6f 75 6e 74 22 2e 0a 20 20 20 20 20 20 3c 2f 70 3e 0a 20 20 20 20 20 20 3c 70 3e ion.count"........</p>.......<p>
ab1a0 0a 20 20 20 20 20 20 54 68 65 20 72 65 74 75 72 6e 20 74 79 70 65 20 69 73 20 61 6e 20 75 6e 73 .......The.return.type.is.an.uns
ab1c0 69 67 6e 65 64 20 69 6e 74 65 67 65 72 20 6f 72 20 76 65 63 74 6f 72 20 6f 66 20 75 6e 73 69 67 igned.integer.or.vector.of.unsig
ab1e0 6e 65 64 20 69 6e 74 65 67 65 72 73 20 77 69 74 68 20 74 68 65 20 6d 69 6e 69 6d 75 6d 20 6e 75 ned.integers.with.the.minimum.nu
ab200 6d 62 65 72 0a 20 20 20 20 20 20 6f 66 20 62 69 74 73 20 74 68 61 74 20 63 61 6e 20 72 65 70 72 mber.......of.bits.that.can.repr
ab220 65 73 65 6e 74 20 74 68 65 20 62 69 74 20 63 6f 75 6e 74 20 6f 66 20 74 68 65 20 69 6e 74 65 67 esent.the.bit.count.of.the.integ
ab240 65 72 20 74 79 70 65 2e 0a 20 20 20 20 20 20 3c 2f 70 3e 0a 20 20 20 20 20 20 3c 70 3e 53 65 65 er.type........</p>.......<p>See
ab260 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 7a .also:</p><ul>.<li><a.href="#ctz
ab280 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 63 6c ">@ctz</a></li>.<li><a.href="#cl
ab2a0 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 20 20 0a 0a z">@clz</a></li>.</ul>..........
ab2c0 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 72 65 66 3d ......<h3.id="prefetch"><a.href=
ab2e0 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 65 66 65 74 "nav.xhtml#toc-prefetch">@prefet
ab300 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 23 70 72 65 ch</a>.<a.class="hdr".href="#pre
ab320 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 72 65 3e 3c fetch">..</a></h3>........<pre><
ab340 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 62 75 69 6c 74 69 6e 22 3e 40 code><span.class="tok-builtin">@
ab360 70 72 65 66 65 74 63 68 3c 2f 73 70 61 6e 3e 28 70 74 72 3a 20 3c 73 70 61 6e 20 63 6c 61 73 73 prefetch</span>(ptr:.<span.class
ab380 3d 22 74 6f 6b 2d 6b 77 22 3e 61 6e 79 74 79 70 65 3c 2f 73 70 61 6e 3e 2c 20 3c 73 70 61 6e 20 ="tok-kw">anytype</span>,.<span.
ab3a0 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 6f class="tok-kw">comptime</span>.o
ab3c0 70 74 69 6f 6e 73 3a 20 50 72 65 66 65 74 63 68 4f 70 74 69 6f 6e 73 29 20 3c 73 70 61 6e 20 63 ptions:.PrefetchOptions).<span.c
ab3e0 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 76 6f 69 64 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 lass="tok-type">void</span></cod
ab400 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
ab420 69 6c 74 69 6e 20 74 65 6c 6c 73 20 74 68 65 20 63 6f 6d 70 69 6c 65 72 20 74 6f 20 65 6d 69 74 iltin.tells.the.compiler.to.emit
ab440 20 61 20 70 72 65 66 65 74 63 68 20 69 6e 73 74 72 75 63 74 69 6f 6e 20 69 66 20 73 75 70 70 6f .a.prefetch.instruction.if.suppo
ab460 72 74 65 64 20 62 79 20 74 68 65 0a 20 20 20 20 20 20 74 61 72 67 65 74 20 43 50 55 2e 20 49 66 rted.by.the.......target.CPU..If
ab480 20 74 68 65 20 74 61 72 67 65 74 20 43 50 55 20 64 6f 65 73 20 6e 6f 74 20 73 75 70 70 6f 72 74 .the.target.CPU.does.not.support
ab4a0 20 74 68 65 20 72 65 71 75 65 73 74 65 64 20 70 72 65 66 65 74 63 68 20 69 6e 73 74 72 75 63 74 .the.requested.prefetch.instruct
ab4c0 69 6f 6e 2c 0a 20 20 20 20 20 20 74 68 69 73 20 62 75 69 6c 74 69 6e 20 69 73 20 61 20 6e 6f 2d ion,.......this.builtin.is.a.no-
ab4e0 6f 70 2e 20 54 68 69 73 20 66 75 6e 63 74 69 6f 6e 20 68 61 73 20 6e 6f 20 65 66 66 65 63 74 20 op..This.function.has.no.effect.
ab500 6f 6e 20 74 68 65 20 62 65 68 61 76 69 6f 72 20 6f 66 20 74 68 65 20 70 72 6f 67 72 61 6d 2c 0a on.the.behavior.of.the.program,.
ab520 20 20 20 20 20 20 6f 6e 6c 79 20 6f 6e 20 74 68 65 20 70 65 72 66 6f 72 6d 61 6e 63 65 20 63 68 ......only.on.the.performance.ch
ab540 61 72 61 63 74 65 72 69 73 74 69 63 73 2e 0a 20 20 20 20 20 20 3c 2f 70 3e 0a 20 20 20 20 20 20 aracteristics........</p>.......
ab560 3c 70 3e 0a 20 20 20 20 20 20 54 68 65 20 3c 63 6f 64 65 3e 70 74 72 3c 2f 63 6f 64 65 3e 20 61 <p>.......The.<code>ptr</code>.a
ab580 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.
ab5a0 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.......
ab5c0 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
ab5e0 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
ab600 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......
ab620 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
ab640 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 49 6c 6c mory.to.this.function.and.no.Ill
ab660 65 67 61 6c 20 42 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.......
ab680 20 3c 2f 70 3e 0a 20 20 20 20 20 20 3c 70 3e 3c 63 6f 64 65 3e 50 72 65 66 65 74 63 68 4f 70 74 .</p>.......<p><code>PrefetchOpt
ab6a0 69 6f 6e 73 3c 2f 63 6f 64 65 3e 20 63 61 6e 20 62 65 20 66 6f 75 6e 64 20 77 69 74 68 20 3c 63 ions</code>.can.be.found.with.<c
ab6c0 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 62 75 69 6c 74 69 6e 22 3e 40 69 ode><span.class="tok-builtin">@i
ab6e0 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
ab700 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 6c 61 6e 67 2e r">&quot;std&quot;</span>).lang.
ab720 50 72 65 66 65 74 63 68 4f 70 74 69 6f 6e 73 3c 2f 63 6f 64 65 3e 2e 3c 2f 70 3e 0a 20 20 20 20 PrefetchOptions</code>.</p>.....
ab740 20 20 0a 0a 20 20 20 20 20 20 3c 68 33 20 69 64 3d 22 70 74 72 43 61 73 74 22 3e 3c 61 20 68 72 ..........<h3.id="ptrCast"><a.hr
ab760 65 66 3d 22 6e 61 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 ef="nav.xhtml#toc-ptrCast">@ptrC
ab780 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 70 74 ast</a>.<a.class="hdr".href="#pt
ab7a0 72 43 61 73 74 22 3e c2 a7 3c 2f 61 3e 3c 2f 68 33 3e 0a 0a 20 20 20 20 20 20 3c 70 72 65 3e 3c rCast">..</a></h3>........<pre><
ab7c0 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 62 75 69 6c 74 69 6e 22 3e 40 code><span.class="tok-builtin">@
ab7e0 70 74 72 43 61 73 74 3c 2f 73 70 61 6e 3e 28 76 61 6c 75 65 3a 20 3c 73 70 61 6e 20 63 6c 61 73 ptrCast</span>(value:.<span.clas
ab800 73 3d 22 74 6f 6b 2d 6b 77 22 3e 61 6e 79 74 79 70 65 3c 2f 73 70 61 6e 3e 29 20 3c 73 70 61 6e s="tok-kw">anytype</span>).<span
ab820 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 61 6e 79 74 79 70 65 3c 2f 73 70 61 6e 3e 3c 2f .class="tok-kw">anytype</span></
ab840 63 6f 64 65 3e 3c 2f 70 72 65 3e 0a 20 20 20 20 20 20 3c 70 3e 0a 20 20 20 20 20 20 43 6f 6e 76 code></pre>.......<p>.......Conv
ab860 65 72 74 73 20 61 20 70 6f 69 6e 74 65 72 20 6f 66 20 6f 6e 65 20 74 79 70 65 20 74 6f 20 61 20 erts.a.pointer.of.one.type.to.a.
ab880 70 6f 69 6e 74 65 72 20 6f 66 20 61 6e 6f 74 68 65 72 20 74 79 70 65 2e 20 54 68 65 20 72 65 74 pointer.of.another.type..The.ret
ab8a0 75 72 6e 20 74 79 70 65 20 69 73 20 74 68 65 20 69 6e 66 65 72 72 65 64 20 72 65 73 75 6c 74 20 urn.type.is.the.inferred.result.
ab8c0 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>......
ab8e0 20 3c 61 20 68 72 65 66 3d 22 23 4f 70 74 69 6f 6e 61 6c 2d 50 6f 69 6e 74 65 72 73 22 3e 4f 70 .<a.href="#Optional-Pointers">Op
ab900 74 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 tional.Pointers</a>.are.allowed.
ab920 20 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 .Casting.an.optional.pointer.whi
ab940 63 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 ch.is.<a.href="#null">null</a>..
ab960 20 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 .....to.a.non-optional.pointer.i
ab980 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 22 23 nvokes.safety-checked.<a.href="#
ab9a0 49 6c 6c 65 67 61 6c 2d 42 65 68 61 76 69 6f 72 22 3e 49 6c 6c 65 67 61 6c 20 42 65 68 61 76 69 Illegal-Behavior">Illegal.Behavi
ab9c0 6f 72 3c 2f 61 3e 2e 0a 20 20 20 20 20 20 3c 2f 70 3e 0a 20 20 20 20 20 20 3c 70 3e 0a 20 20 20 or</a>........</p>.......<p>....
ab9e0 20 20 20 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 62 75 69 6c 74 69 ...<code><span.class="tok-builti
aba00 6e 22 3e 40 70 74 72 43 61 73 74 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 20 63 61 6e 6e 6f 74 n">@ptrCast</span></code>.cannot
aba20 20 62 65 20 75 73 65 64 20 66 6f 72 3a 0a 20 20 20 20 20 20 3c 2f 70 3e 0a 20 20 20 20 20 20 3c .be.used.for:.......</p>.......<
aba40 75 6c 3e 0a 20 20 20 20 20 20 20 20 20 20 3c 6c 69 3e 52 65 6d 6f 76 69 6e 67 20 3c 63 6f 64 65 ul>...........<li>Removing.<code
aba60 3e 3c 73 70 61 6e 20 63 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
aba80 6e 3e 3c 2f 63 6f 64 65 3e 20 71 75 61 6c 69 66 69 65 72 2c 20 75 73 65 20 3c 61 20 68 72 65 66 n></code>.qualifier,.use.<a.href
abaa0 3d 22 23 63 6f 6e 73 74 43 61 73 74 22 3e 40 63 6f 6e 73 74 43 61 73 74 3c 2f 61 3e 2e 3c 2f 6c ="#constCast">@constCast</a>.</l
abac0 69 3e 0a 20 20 20 20 20 20 20 20 20 20 3c 6c 69 3e 52 65 6d 6f 76 69 6e 67 20 3c 63 6f 64 65 3e i>...........<li>Removing.<code>
abae0 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
abb00 70 61 6e 3e 3c 2f 63 6f 64 65 3e 20 71 75 61 6c 69 66 69 65 72 2c 20 75 73 65 20 3c 61 20 68 72 pan></code>.qualifier,.use.<a.hr
abb20 65 66 3d 22 23 76 6f 6c 61 74 69 6c 65 43 61 73 74 22 3e 40 76 6f 6c 61 74 69 6c 65 43 61 73 74 ef="#volatileCast">@volatileCast
abb40 3c 2f 61 3e 2e 3c 2f 6c 69 3e 0a 20 20 20 20 20 20 20 20 20 20 3c 6c 69 3e 43 68 61 6e 67 69 6e </a>.</li>...........<li>Changin
abb60 67 20 70 6f 69 6e 74 65 72 20 61 64 64 72 65 73 73 20 73 70 61 63 65 2c 20 75 73 65 20 3c 61 20 g.pointer.address.space,.use.<a.
abb80 68 72 65 66 3d 22 23 61 64 64 72 53 70 61 63 65 43 61 73 74 22 3e 40 61 64 64 72 53 70 61 63 65 href="#addrSpaceCast">@addrSpace
abba0 43 61 73 74 3c 2f 61 3e 2e 3c 2f 6c 69 3e 0a 20 20 20 20 20 20 20 20 20 20 3c 6c 69 3e 49 6e 63 Cast</a>.</li>...........<li>Inc
abbc0 72 65 61 73 69 6e 67 20 70 6f 69 6e 74 65 72 20 61 6c 69 67 6e 6d 65 6e 74 2c 20 75 73 65 20 3c reasing.pointer.alignment,.use.<
abbe0 61 20 68 72 65 66 3d 22 23 61 6c 69 67 6e 43 61 73 74 22 3e 40 61 6c 69 67 6e 43 61 73 74 3c 2f a.href="#alignCast">@alignCast</
abc00 61 3e 2e 3c 2f 6c 69 3e 0a 20 20 20 20 20 20 20 20 20 20 3c 6c 69 3e 43 61 73 74 69 6e 67 20 61 a>.</li>...........<li>Casting.a
abc20 20 6e 6f 6e 2d 73 6c 69 63 65 20 70 6f 69 6e 74 65 72 20 74 6f 20 61 20 73 6c 69 63 65 2c 20 75 .non-slice.pointer.to.a.slice,.u
abc40 73 65 20 73 6c 69 63 69 6e 67 20 73 79 6e 74 61 78 20 3c 63 6f 64 65 3e 70 74 72 5b 73 74 61 72 se.slicing.syntax.<code>ptr[star
abc60 74 2e 2e 65 6e 64 5d 3c 2f 63 6f 64 65 3e 2e 3c 2f 6c 69 3e 0a 20 20 20 20 20 20 3c 2f 75 6c 3e t..end]</code>.</li>.......</ul>
abc80 0a 20 20 20 20 20 20 0a 0a 20 20 20 20 20 20 3c 68 33 20 69 64 3d 22 70 74 72 46 72 6f 6d 49 6e ...............<h3.id="ptrFromIn
abca0 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 70 74 72 46 72 6f t"><a.href="nav.xhtml#toc-ptrFro
abcc0 6d 49 6e 74 22 3e 40 70 74 72 46 72 6f 6d 49 6e 74 3c 2f 61 3e 20 3c 61 20 63 6c 61 73 73 3d 22 mInt">@ptrFromInt</a>.<a.class="
abce0 68 64 72 22 20 68 72 65 66 3d 22 23 70 74 72 46 72 6f 6d 49 6e 74 22 3e c2 a7 3c 2f 61 3e 3c 2f hdr".href="#ptrFromInt">..</a></
abd00 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
abd20 73 3d 22 74 6f 6b 2d 62 75 69 6c 74 69 6e 22 3e 40 70 74 72 46 72 6f 6d 49 6e 74 3c 2f 73 70 61 s="tok-builtin">@ptrFromInt</spa
abd40 6e 3e 28 61 64 64 72 65 73 73 3a 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 n>(address:.<span.class="tok-typ
abd60 65 22 3e 75 73 69 7a 65 3c 2f 73 70 61 6e 3e 29 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f e">usize</span>).<span.class="to
abd80 6b 2d 6b 77 22 3e 61 6e 79 74 79 70 65 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 3c 2f 70 72 65 k-kw">anytype</span></code></pre
abda0 3e 0a 20 20 20 20 20 20 3c 70 3e 0a 20 20 20 20 20 20 43 6f 6e 76 65 72 74 73 20 61 6e 20 69 6e >.......<p>.......Converts.an.in
abdc0 74 65 67 65 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 teger.to.a.<a.href="#Pointers">p
abde0 6f 69 6e 74 65 72 3c 2f 61 3e 2e 20 54 68 65 20 72 65 74 75 72 6e 20 74 79 70 65 20 69 73 20 74 ointer</a>..The.return.type.is.t
abe00 68 65 20 69 6e 66 65 72 72 65 64 20 72 65 73 75 6c 74 20 74 79 70 65 2e 0a 09 09 09 54 6f 20 63 he.inferred.result.type.....To.c
abe20 6f 6e 76 65 72 74 20 74 68 65 20 6f 74 68 65 72 20 77 61 79 2c 20 75 73 65 20 3c 61 20 68 72 65 onvert.the.other.way,.use.<a.hre
abe40 66 3d 22 23 69 6e 74 46 72 6f 6d 50 74 72 22 3e 40 69 6e 74 46 72 6f 6d 50 74 72 3c 2f 61 3e 2e f="#intFromPtr">@intFromPtr</a>.
abe60 20 43 61 73 74 69 6e 67 20 61 6e 20 61 64 64 72 65 73 73 20 6f 66 20 30 20 74 6f 20 61 20 64 65 .Casting.an.address.of.0.to.a.de
abe80 73 74 69 6e 61 74 69 6f 6e 20 74 79 70 65 0a 20 20 20 20 20 20 77 68 69 63 68 20 69 6e 20 6e 6f stination.type.......which.in.no
abea0 74 20 3c 61 20 68 72 65 66 3d 22 23 4f 70 74 69 6f 6e 61 6c 2d 50 6f 69 6e 74 65 72 73 22 3e 6f t.<a.href="#Optional-Pointers">o
abec0 70 74 69 6f 6e 61 6c 3c 2f 61 3e 20 61 6e 64 20 64 6f 65 73 20 6e 6f 74 20 68 61 76 65 20 74 68 ptional</a>.and.does.not.have.th
abee0 65 20 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 61 6c 6c e.<code><span.class="tok-kw">all
abf00 6f 77 7a 65 72 6f 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 20 61 74 74 72 69 62 75 74 65 20 77 owzero</span></code>.attribute.w
abf20 69 6c 6c 20 72 65 73 75 6c 74 20 69 6e 20 61 0a 20 20 20 20 20 20 3c 61 20 68 72 65 66 3d 22 23 ill.result.in.a.......<a.href="#
abf40 50 6f 69 6e 74 65 72 2d 43 61 73 74 2d 49 6e 76 61 6c 69 64 2d 4e 75 6c 6c 22 3e 50 6f 69 6e 74 Pointer-Cast-Invalid-Null">Point
abf60 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 70 61 6e 69 63 20 77 er.Cast.Invalid.Null</a>.panic.w
abf80 68 65 6e 20 72 75 6e 74 69 6d 65 20 73 61 66 65 74 79 20 63 68 65 63 6b 73 20 61 72 65 20 65 6e hen.runtime.safety.checks.are.en
abfa0 61 62 6c 65 64 2e 0a 20 20 20 20 20 20 3c 2f 70 3e 0a 20 20 20 20 20 20 3c 70 3e 0a 20 20 20 20 abled........</p>.......<p>.....
abfc0 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 79 70 ..If.the.destination.pointer.typ
abfe0 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 61 6e e.does.not.allow.address.zero.an
ac000 64 20 3c 63 6f 64 65 3e 61 64 64 72 65 73 73 3c 2f 63 6f 64 65 3e 0a 20 20 20 20 20 20 69 73 20 d.<code>address</code>.......is.
ac020 7a 65 72 6f 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 zero,.this.invokes.safety-checke
ac040 64 20 3c 61 20 68 72 65 66 3d 22 23 49 6c 6c 65 67 61 6c 2d 42 65 68 61 76 69 6f 72 22 3e 49 6c d.<a.href="#Illegal-Behavior">Il
ac060 6c 65 67 61 6c 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 legal.Behavior</a>........</p>..
ac080 20 20 20 20 20 0a 0a 20 20 20 20 20 20 3c 68 33 20 69 64 3d 22 72 65 6d 22 3e 3c 61 20 68 72 65 .............<h3.id="rem"><a.hre
ac0a0 66 3d 22 6e 61 76 2e 78 68 74 6d 6c 23 74 6f 63 2d 72 65 6d 22 3e 40 72 65 6d 3c 2f 61 3e 20 3c f="nav.xhtml#toc-rem">@rem</a>.<
ac0c0 61 20 63 6c 61 73 73 3d 22 68 64 72 22 20 68 72 65 66 3d 22 23 72 65 6d 22 3e c2 a7 3c 2f 61 3e a.class="hdr".href="#rem">..</a>
ac0e0 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
ac100 61 73 73 3d 22 74 6f 6b 2d 62 75 69 6c 74 69 6e 22 3e 40 72 65 6d 3c 2f 73 70 61 6e 3e 28 6e 75 ass="tok-builtin">@rem</span>(nu
ac120 6d 65 72 61 74 6f 72 3a 20 54 2c 20 64 65 6e 6f 6d 69 6e 61 74 6f 72 3a 20 54 29 20 54 3c 2f 63 merator:.T,.denominator:.T).T</c
ac140 6f 64 65 3e 3c 2f 70 72 65 3e 0a 20 20 20 20 20 20 3c 70 3e 0a 20 20 20 20 20 20 52 65 6d 61 69 ode></pre>.......<p>.......Remai
ac160 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 20 69 6e 74 65 nder.division..For.unsigned.inte
ac180 67 65 72 73 20 74 68 69 73 20 69 73 20 74 68 65 20 73 61 6d 65 20 61 73 0a 20 20 20 20 20 20 3c gers.this.is.the.same.as.......<
ac1a0 63 6f 64 65 3e 6e 75 6d 65 72 61 74 6f 72 20 25 20 64 65 6e 6f 6d 69 6e 61 74 6f 72 3c 2f 63 6f code>numerator.%.denominator</co
ac1c0 64 65 3e 2e 20 43 61 6c 6c 65 72 20 67 75 61 72 61 6e 74 65 65 73 20 3c 63 6f 64 65 3e 64 65 6e de>..Caller.guarantees.<code>den
ac1e0 6f 6d 69 6e 61 74 6f 72 20 21 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d ominator.!=.<span.class="tok-num
ac200 62 65 72 22 3e 30 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 ber">0</span></code>,.otherwise.
ac220 74 68 65 0a 20 20 20 20 20 20 6f 70 65 72 61 74 69 6f 6e 20 77 69 6c 6c 20 72 65 73 75 6c 74 20 the.......operation.will.result.
ac240 69 6e 20 61 20 3c 61 20 68 72 65 66 3d 22 23 52 65 6d 61 69 6e 64 65 72 2d 44 69 76 69 73 69 6f in.a.<a.href="#Remainder-Divisio
ac260 6e 2d 62 79 2d 5a 65 72 6f 22 3e 52 65 6d 61 69 6e 64 65 72 20 44 69 76 69 73 69 6f 6e 20 62 79 n-by-Zero">Remainder.Division.by
ac280 20 5a 65 72 6f 3c 2f 61 3e 20 77 68 65 6e 20 72 75 6e 74 69 6d 65 20 73 61 66 65 74 79 20 63 68 .Zero</a>.when.runtime.safety.ch
ac2a0 65 63 6b 73 20 61 72 65 20 65 6e 61 62 6c 65 64 2e 0a 20 20 20 20 20 20 3c 2f 70 3e 0a 20 20 20 ecks.are.enabled........</p>....
ac2c0 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
ac2e0 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 62 75 69 6c 74 69 6e 22 3e 40 72 65 6d 3c 2f 73 70 61 6e n.class="tok-builtin">@rem</span
ac300 3e 28 2d 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 35 3c 2f 73 >(-<span.class="tok-number">5</s
ac320 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
ac340 3c 2f 73 70 61 6e 3e 29 20 3d 3d 20 2d 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 </span>).==.-<span.class="tok-nu
ac360 6d 62 65 72 22 3e 32 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 mber">2</span></code></li>......
ac380 20 20 20 20 20 3c 6c 69 3e 3c 63 6f 64 65 3e 28 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b .....<li><code>(<span.class="tok
ac3a0 2d 62 75 69 6c 74 69 6e 22 3e 40 64 69 76 54 72 75 6e 63 3c 2f 73 70 61 6e 3e 28 61 2c 20 62 29 -builtin">@divTrunc</span>(a,.b)
ac3c0 20 2a 20 62 29 20 2b 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 62 75 69 6c 74 69 6e .*.b).+.<span.class="tok-builtin
ac3e0 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 63 6f 64 65 3e 3c ">@rem</span>(a,.b).==.a</code><
ac400 2f 6c 69 3e 0a 20 20 20 20 20 20 3c 2f 75 6c 3e 0a 20 20 20 20 20 20 3c 70 3e 46 6f 72 20 61 20 /li>.......</ul>.......<p>For.a.
ac420 66 75 6e 63 74 69 6f 6e 20 74 68 61 74 20 72 65 74 75 72 6e 73 20 61 6e 20 65 72 72 6f 72 20 63 function.that.returns.an.error.c
ac440 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 22 74 6f 6b 2d ode,.see.<code><span.class="tok-
ac460 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
ac480 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
ac4a0 70 61 6e 3e 29 2e 6d 61 74 68 2e 72 65 6d 3c 2f 63 6f 64 65 3e 2e 3c 2f 70 3e 0a 20 20 20 20 20 pan>).math.rem</code>.</p>......
ac4c0 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
ac4e0 66 3d 22 23 6d 6f 64 22 3e 40 6d 6f 64 3c 2f 61 3e 3c 2f 6c 69 3e 0a 3c 2f 75 6c 3e 0a 0a 20 20 f="#mod">@mod</a></li>.</ul>....
ac500 20 20 20 20 0a 0a 20 20 20 20 20 20 3c 68 33 20 69 64 3d 22 72 65 74 75 72 6e 41 64 64 72 65 73 ............<h3.id="returnAddres
ac520 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 72 65 74 75 72 6e s"><a.href="nav.xhtml#toc-return
ac540 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 3e 20 3c 61 20 63 Address">@returnAddress</a>.<a.c
ac560 6c 61 73 73 3d 22 68 64 72 22 20 68 72 65 66 3d 22 23 72 65 74 75 72 6e 41 64 64 72 65 73 73 22 lass="hdr".href="#returnAddress"
ac580 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><
ac5a0 73 70 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
ac5c0 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
ac5e0 6b 2d 74 79 70 65 22 3e 75 73 69 7a 65 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 3c 2f 70 72 65 k-type">usize</span></code></pre
ac600 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.
ac620 72 65 74 75 72 6e 73 20 74 68 65 20 61 64 64 72 65 73 73 20 6f 66 20 74 68 65 20 6e 65 78 74 20 returns.the.address.of.the.next.
ac640 6d 61 63 68 69 6e 65 20 63 6f 64 65 20 69 6e 73 74 72 75 63 74 69 6f 6e 20 74 68 61 74 20 77 69 machine.code.instruction.that.wi
ac660 6c 6c 20 62 65 20 65 78 65 63 75 74 65 64 0a 20 20 20 20 20 20 77 68 65 6e 20 74 68 65 20 63 75 ll.be.executed.......when.the.cu
ac680 72 72 65 6e 74 20 66 75 6e 63 74 69 6f 6e 20 72 65 74 75 72 6e 73 2e 0a 20 20 20 20 20 20 3c 2f rrent.function.returns........</
ac6a0 70 3e 0a 20 20 20 20 20 20 3c 70 3e 0a 20 20 20 20 20 20 54 68 65 20 69 6d 70 6c 69 63 61 74 69 p>.......<p>.......The.implicati
ac6c0 6f 6e 73 20 6f 66 20 74 68 69 73 20 61 72 65 20 74 61 72 67 65 74 2d 73 70 65 63 69 66 69 63 20 ons.of.this.are.target-specific.
ac6e0 61 6e 64 20 6e 6f 74 20 63 6f 6e 73 69 73 74 65 6e 74 20 61 63 72 6f 73 73 0a 20 20 20 20 20 20 and.not.consistent.across.......
ac700 61 6c 6c 20 70 6c 61 74 66 6f 72 6d 73 2e 0a 20 20 20 20 20 20 3c 2f 70 3e 0a 20 20 20 20 20 20 all.platforms........</p>.......
ac720 3c 70 3e 0a 20 20 20 20 20 20 54 68 69 73 20 66 75 6e 63 74 69 6f 6e 20 69 73 20 6f 6e 6c 79 20 <p>.......This.function.is.only.
ac740 76 61 6c 69 64 20 77 69 74 68 69 6e 20 66 75 6e 63 74 69 6f 6e 20 73 63 6f 70 65 2e 20 49 66 20 valid.within.function.scope..If.
ac760 74 68 65 20 66 75 6e 63 74 69 6f 6e 20 67 65 74 73 20 69 6e 6c 69 6e 65 64 20 69 6e 74 6f 0a 20 the.function.gets.inlined.into..
ac780 20 20 20 20 20 61 20 63 61 6c 6c 69 6e 67 20 66 75 6e 63 74 69 6f 6e 2c 20 74 68 65 20 72 65 74 .....a.calling.function,.the.ret
ac7a0 75 72 6e 65 64 20 61 64 64 72 65 73 73 20 77 69 6c 6c 20 61 70 70 6c 79 20 74 6f 20 74 68 65 20 urned.address.will.apply.to.the.
ac7c0 63 61 6c 6c 69 6e 67 20 66 75 6e 63 74 69 6f 6e 2e 0a 20 20 20 20 20 20 3c 2f 70 3e 0a 20 20 20 calling.function........</p>....
ac7e0 20 20 20 0a 0a 20 20 20 20 20 20 3c 68 33 20 69 64 3d 22 73 65 6c 65 63 74 22 3e 3c 61 20 68 72 ...........<h3.id="select"><a.hr
ac800 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 3e 40 73 65 6c 65 63 ef="nav.xhtml#toc-select">@selec
ac820 74 3c 2f 61 3e 20 3c 61 20 63 6c 61 73 73 3d 22 68 64 72 22 20 68 72 65 66 3d 22 23 73 65 6c 65 t</a>.<a.class="hdr".href="#sele
ac840 63 74 22 3e c2 a7 3c 2f 61 3e 3c 2f 68 33 3e 0a 0a 20 20 20 20 20 20 3c 70 72 65 3e 3c 63 6f 64 ct">..</a></h3>........<pre><cod
ac860 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 62 75 69 6c 74 69 6e 22 3e 40 73 65 6c e><span.class="tok-builtin">@sel
ac880 65 63 74 3c 2f 73 70 61 6e 3e 28 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e ect</span>(<span.class="tok-kw">
ac8a0 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="
ac8c0 74 6f 6b 2d 74 79 70 65 22 3e 74 79 70 65 3c 2f 73 70 61 6e 3e 2c 20 70 72 65 64 3a 20 3c 73 70 tok-type">type</span>,.pred:.<sp
ac8e0 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 62 75 69 6c 74 69 6e 22 3e 40 56 65 63 74 6f 72 3c 2f an.class="tok-builtin">@Vector</
ac900 73 70 61 6e 3e 28 6c 65 6e 2c 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 span>(len,.<span.class="tok-type
ac920 22 3e 62 6f 6f 6c 3c 2f 73 70 61 6e 3e 29 2c 20 61 3a 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 ">bool</span>),.a:.<span.class="
ac940 74 6f 6b 2d 62 75 69 6c 74 69 6e 22 3e 40 56 65 63 74 6f 72 3c 2f 73 70 61 6e 3e 28 6c 65 6e 2c tok-builtin">@Vector</span>(len,
ac960 20 54 29 2c 20 62 3a 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 62 75 69 6c 74 69 6e .T),.b:.<span.class="tok-builtin
ac980 22 3e 40 56 65 63 74 6f 72 3c 2f 73 70 61 6e 3e 28 6c 65 6e 2c 20 54 29 29 20 3c 73 70 61 6e 20 ">@Vector</span>(len,.T)).<span.
ac9a0 63 6c 61 73 73 3d 22 74 6f 6b 2d 62 75 69 6c 74 69 6e 22 3e 40 56 65 63 74 6f 72 3c 2f 73 70 61 class="tok-builtin">@Vector</spa
ac9c0 6e 3e 28 6c 65 6e 2c 20 54 29 3c 2f 63 6f 64 65 3e 3c 2f 70 72 65 3e 0a 20 20 20 20 20 20 3c 70 n>(len,.T)</code></pre>.......<p
ac9e0 3e 0a 20 20 20 20 20 20 53 65 6c 65 63 74 73 20 76 61 6c 75 65 73 20 65 6c 65 6d 65 6e 74 2d 77 >.......Selects.values.element-w
aca00 69 73 65 20 66 72 6f 6d 20 3c 63 6f 64 65 3e 61 3c 2f 63 6f 64 65 3e 20 6f 72 20 3c 63 6f 64 65 ise.from.<code>a</code>.or.<code
aca20 3e 62 3c 2f 63 6f 64 65 3e 20 62 61 73 65 64 20 6f 6e 20 3c 63 6f 64 65 3e 70 72 65 64 3c 2f 63 >b</code>.based.on.<code>pred</c
aca40 6f 64 65 3e 2e 20 49 66 20 3c 63 6f 64 65 3e 70 72 65 64 5b 69 5d 3c 2f 63 6f 64 65 3e 20 69 73 ode>..If.<code>pred[i]</code>.is
aca60 20 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6c 6c 22 3e 74 72 .<code><span.class="tok-null">tr
aca80 75 65 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 2c 20 74 68 65 20 63 6f 72 72 65 73 70 6f 6e 64 ue</span></code>,.the.correspond
acaa0 69 6e 67 20 65 6c 65 6d 65 6e 74 20 69 6e 20 74 68 65 20 72 65 73 75 6c 74 20 77 69 6c 6c 20 62 ing.element.in.the.result.will.b
acac0 65 20 3c 63 6f 64 65 3e 61 5b 69 5d 3c 2f 63 6f 64 65 3e 20 61 6e 64 20 6f 74 68 65 72 77 69 73 e.<code>a[i]</code>.and.otherwis
acae0 65 20 3c 63 6f 64 65 3e 62 5b 69 5d 3c 2f 63 6f 64 65 3e 2e 0a 20 20 20 20 20 20 3c 2f 70 3e 0a e.<code>b[i]</code>........</p>.
acb00 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><
acb20 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
acb40 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="
acb60 73 65 74 45 76 61 6c 42 72 61 6e 63 68 51 75 6f 74 61 22 3e 3c 61 20 68 72 65 66 3d 22 6e 61 76 setEvalBranchQuota"><a.href="nav
acb80 2e 78 68 74 6d 6c 23 74 6f 63 2d 73 65 74 45 76 61 6c 42 72 61 6e 63 68 51 75 6f 74 61 22 3e 40 .xhtml#toc-setEvalBranchQuota">@
acba0 73 65 74 45 76 61 6c 42 72 61 6e 63 68 51 75 6f 74 61 3c 2f 61 3e 20 3c 61 20 63 6c 61 73 73 3d setEvalBranchQuota</a>.<a.class=
acbc0 22 68 64 72 22 20 68 72 65 66 3d 22 23 73 65 74 45 76 61 6c 42 72 61 6e 63 68 51 75 6f 74 61 22 "hdr".href="#setEvalBranchQuota"
acbe0 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><
acc00 73 70 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 45 76 61 span.class="tok-builtin">@setEva
acc20 6c 42 72 61 6e 63 68 51 75 6f 74 61 3c 2f 73 70 61 6e 3e 28 3c 73 70 61 6e 20 63 6c 61 73 73 3d lBranchQuota</span>(<span.class=
acc40 22 74 6f 6b 2d 6b 77 22 3e 63 6f 6d 70 74 69 6d 65 3c 2f 73 70 61 6e 3e 20 6e 65 77 5f 71 75 6f "tok-kw">comptime</span>.new_quo
acc60 74 61 3a 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 75 33 32 3c 2f ta:.<span.class="tok-type">u32</
acc80 73 70 61 6e 3e 29 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 76 6f span>).<span.class="tok-type">vo
acca0 69 64 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 3c 2f 70 72 65 3e 0a 20 20 20 20 20 20 3c 70 3e id</span></code></pre>.......<p>
accc0 0a 20 20 20 20 20 20 49 6e 63 72 65 61 73 65 20 74 68 65 20 6d 61 78 69 6d 75 6d 20 6e 75 6d 62 .......Increase.the.maximum.numb
acce0 65 72 20 6f 66 20 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 er.of.backwards.branches.that.co
acd00 6d 70 69 6c 65 2d 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 mpile-time.code.......execution.
acd20 63 61 6e 20 75 73 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 can.use.before.giving.up.and.mak
acd40 69 6e 67 20 61 20 63 6f 6d 70 69 6c 65 20 65 72 72 6f 72 2e 0a 20 20 20 20 20 20 3c 2f 70 3e 0a ing.a.compile.error........</p>.
acd60 20 20 20 20 20 20 3c 70 3e 0a 20 20 20 20 20 20 49 66 20 74 68 65 20 3c 63 6f 64 65 3e 6e 65 77 ......<p>.......If.the.<code>new
acd80 5f 71 75 6f 74 61 3c 2f 63 6f 64 65 3e 20 69 73 20 73 6d 61 6c 6c 65 72 20 74 68 61 6e 20 74 68 _quota</code>.is.smaller.than.th
acda0 65 20 64 65 66 61 75 6c 74 20 71 75 6f 74 61 20 28 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 e.default.quota.(<code><span.cla
acdc0 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 31 30 30 30 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 ss="tok-number">1000</span></cod
acde0 65 3e 29 20 6f 72 0a 20 20 20 20 20 20 61 20 70 72 65 76 69 6f 75 73 6c 79 20 65 78 70 6c 69 63 e>).or.......a.previously.explic
ace00 69 74 6c 79 20 73 65 74 20 71 75 6f 74 61 2c 20 69 74 20 69 73 20 69 67 6e 6f 72 65 64 2e 0a 20 itly.set.quota,.it.is.ignored...
ace20 20 20 20 20 20 3c 2f 70 3e 0a 20 20 20 20 20 20 3c 70 3e 0a 20 20 20 20 20 20 45 78 61 6d 70 6c .....</p>.......<p>.......Exampl
ace40 65 3a 0a 20 20 20 20 20 20 3c 2f 70 3e 0a 20 20 20 20 20 20 3c 66 69 67 75 72 65 3e 3c 66 69 67 e:.......</p>.......<figure><fig
ace60 63 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
ace80 61 73 73 3d 22 66 69 6c 65 22 3e 74 65 73 74 5f 77 69 74 68 6f 75 74 5f 73 65 74 45 76 61 6c 42 ass="file">test_without_setEvalB
acea0 72 61 6e 63 68 51 75 6f 74 61 5f 62 75 69 6c 74 69 6e 2e 7a 69 67 3c 2f 63 69 74 65 3e 3c 2f 66 ranchQuota_builtin.zig</cite></f
acec0 69 67 63 61 70 74 69 6f 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
acee0 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
acf00 73 3d 22 74 6f 6b 2d 73 74 72 22 3e 26 71 75 6f 74 3b 66 6f 6f 26 71 75 6f 74 3b 3c 2f 73 70 61 s="tok-str">&quot;foo&quot;</spa
acf20 6e 3e 20 7b 0a 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 63 6f n>.{.....<span.class="tok-kw">co
acf40 6d 70 74 69 6d 65 3c 2f 73 70 61 6e 3e 20 7b 0a 20 20 20 20 20 20 20 20 3c 73 70 61 6e 20 63 6c mptime</span>.{.........<span.cl
acf60 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 76 61 72 3c 2f 73 70 61 6e 3e 20 69 20 3d 20 3c 73 70 61 ass="tok-kw">var</span>.i.=.<spa
acf80 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 30 3c 2f 73 70 61 6e 3e 3b 0a 20 n.class="tok-number">0</span>;..
acfa0 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 69 6c .......<span.class="tok-kw">whil
acfc0 65 3c 2f 73 70 61 6e 3e 20 28 69 20 26 6c 74 3b 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f e</span>.(i.&lt;.<span.class="to
acfe0 6b 2d 6e 75 6d 62 65 72 22 3e 31 30 30 31 3c 2f 73 70 61 6e 3e 29 20 3a 20 28 69 20 2b 3d 20 3c k-number">1001</span>).:.(i.+=.<
ad000 73 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>
ad020 29 20 7b 7d 0a 20 20 20 20 7d 0a 7d 3c 2f 63 6f 64 65 3e 3c 2f 70 72 65 3e 3c 2f 66 69 67 75 72 ).{}.....}.}</code></pre></figur
ad040 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
ad060 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><
ad080 73 61 6d 70 3e 24 20 3c 6b 62 64 3e 7a 69 67 20 74 65 73 74 20 74 65 73 74 5f 77 69 74 68 6f 75 samp>$.<kbd>zig.test.test_withou
ad0a0 74 5f 73 65 74 45 76 61 6c 42 72 61 6e 63 68 51 75 6f 74 61 5f 62 75 69 6c 74 69 6e 2e 7a 69 67 t_setEvalBranchQuota_builtin.zig
ad0c0 3c 2f 6b 62 64 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 73 67 72 2d 31 6d 22 3e 2f 68 6f 6d </kbd>.<span.class="sgr-1m">/hom
ad0e0 65 2f 63 69 2f 77 6f 72 6b 2f 7a 69 67 2d 62 6f 6f 74 73 74 72 61 70 2f 7a 69 67 2f 64 6f 63 2f e/ci/work/zig-bootstrap/zig/doc/
ad100 6c 61 6e 67 72 65 66 2f 74 65 73 74 5f 77 69 74 68 6f 75 74 5f 73 65 74 45 76 61 6c 42 72 61 6e langref/test_without_setEvalBran
ad120 63 68 51 75 6f 74 61 5f 62 75 69 6c 74 69 6e 2e 7a 69 67 3a 34 3a 39 3a 20 3c 2f 73 70 61 6e 3e chQuota_builtin.zig:4:9:.</span>
ad140 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 73 67 72 2d 33 31 6d 22 3e 65 72 72 6f 72 3a 20 3c 2f 73 <span.class="sgr-31m">error:.</s
ad160 70 61 6e 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 73 67 72 2d 31 6d 22 3e 65 76 61 6c 75 61 74 pan><span.class="sgr-1m">evaluat
ad180 69 6f 6e 20 65 78 63 65 65 64 65 64 20 31 30 30 30 20 62 61 63 6b 77 61 72 64 73 20 62 72 61 6e ion.exceeded.1000.backwards.bran
ad1a0 63 68 65 73 0a 3c 2f 73 70 61 6e 3e 20 20 20 20 20 20 20 20 77 68 69 6c 65 20 28 69 20 26 6c 74 ches.</span>........while.(i.&lt
ad1c0 3b 20 31 30 30 31 29 20 3a 20 28 69 20 2b 3d 20 31 29 20 7b 7d 0a 20 20 20 20 20 20 20 20 3c 73 ;.1001).:.(i.+=.1).{}.........<s
ad1e0 70 61 6e 20 63 6c 61 73 73 3d 22 73 67 72 2d 33 32 6d 22 3e 5e 7e 7e 7e 7e 7e 7e 7e 7e 7e 7e 7e pan.class="sgr-32m">^~~~~~~~~~~~
ad200 7e 7e 7e 7e 7e 7e 7e 7e 7e 7e 7e 7e 7e 7e 7e 7e 7e 7e 0a 3c 2f 73 70 61 6e 3e 3c 73 70 61 6e 20 ~~~~~~~~~~~~~~~~~~.</span><span.
ad220 63 6c 61 73 73 3d 22 73 67 72 2d 31 6d 22 3e 2f 68 6f 6d 65 2f 63 69 2f 77 6f 72 6b 2f 7a 69 67 class="sgr-1m">/home/ci/work/zig
ad240 2d 62 6f 6f 74 73 74 72 61 70 2f 7a 69 67 2f 64 6f 63 2f 6c 61 6e 67 72 65 66 2f 74 65 73 74 5f -bootstrap/zig/doc/langref/test_
ad260 77 69 74 68 6f 75 74 5f 73 65 74 45 76 61 6c 42 72 61 6e 63 68 51 75 6f 74 61 5f 62 75 69 6c 74 without_setEvalBranchQuota_built
ad280 69 6e 2e 7a 69 67 3a 34 3a 39 3a 20 3c 2f 73 70 61 6e 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 in.zig:4:9:.</span><span.class="
ad2a0 73 67 72 2d 33 36 6d 22 3e 6e 6f 74 65 3a 20 3c 2f 73 70 61 6e 3e 3c 73 70 61 6e 20 63 6c 61 73 sgr-36m">note:.</span><span.clas
ad2c0 73 3d 22 73 67 72 2d 31 6d 22 3e 75 73 65 20 40 73 65 74 45 76 61 6c 42 72 61 6e 63 68 51 75 6f s="sgr-1m">use.@setEvalBranchQuo
ad2e0 74 61 28 29 20 74 6f 20 72 61 69 73 65 20 74 68 65 20 62 72 61 6e 63 68 20 6c 69 6d 69 74 20 66 ta().to.raise.the.branch.limit.f
ad300 72 6f 6d 20 31 30 30 30 0a 3c 2f 73 70 61 6e 3e 0a 3c 2f 73 61 6d 70 3e 3c 2f 70 72 65 3e 3c 2f rom.1000.</span>.</samp></pre></
ad320 66 69 67 75 72 65 3e 0a 0a 20 20 20 20 20 20 3c 70 3e 4e 6f 77 20 77 65 20 75 73 65 20 3c 63 6f figure>........<p>Now.we.use.<co
ad340 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 62 75 69 6c 74 69 6e 22 3e 40 73 65 de><span.class="tok-builtin">@se
ad360 74 45 76 61 6c 42 72 61 6e 63 68 51 75 6f 74 61 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 3a 3c tEvalBranchQuota</span></code>:<
ad380 2f 70 3e 0a 20 20 20 20 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
ad3a0 61 73 73 3d 22 7a 69 67 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"
ad3c0 3e 74 65 73 74 5f 73 65 74 45 76 61 6c 42 72 61 6e 63 68 51 75 6f 74 61 5f 62 75 69 6c 74 69 6e >test_setEvalBranchQuota_builtin
ad3e0 2e 7a 69 67 3c 2f 63 69 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
ad400 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 74 65 73 74 3c 2f 73 70 de><span.class="tok-kw">test</sp
ad420 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;
ad440 66 6f 6f 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 20 7b 0a 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 foo&quot;</span>.{.....<span.cla
ad460 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 63 6f 6d 70 74 69 6d 65 3c 2f 73 70 61 6e 3e 20 7b 0a 20 20 ss="tok-kw">comptime</span>.{...
ad480 20 20 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 62 75 69 6c 74 69 6e 22 3e ......<span.class="tok-builtin">
ad4a0 40 73 65 74 45 76 61 6c 42 72 61 6e 63 68 51 75 6f 74 61 3c 2f 73 70 61 6e 3e 28 3c 73 70 61 6e @setEvalBranchQuota</span>(<span
ad4c0 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 31 30 30 31 3c 2f 73 70 61 6e 3e 29 .class="tok-number">1001</span>)
ad4e0 3b 0a 20 20 20 20 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 76 ;.........<span.class="tok-kw">v
ad500 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
ad520 75 6d 62 65 72 22 3e 30 3c 2f 73 70 61 6e 3e 3b 0a 20 20 20 20 20 20 20 20 3c 73 70 61 6e 20 63 umber">0</span>;.........<span.c
ad540 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 77 68 69 6c 65 3c 2f 73 70 61 6e 3e 20 28 69 20 26 6c lass="tok-kw">while</span>.(i.&l
ad560 74 3b 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 31 30 30 31 t;.<span.class="tok-number">1001
ad580 3c 2f 73 70 61 6e 3e 29 20 3a 20 28 69 20 2b 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f </span>).:.(i.+=.<span.class="to
ad5a0 6b 2d 6e 75 6d 62 65 72 22 3e 31 3c 2f 73 70 61 6e 3e 29 20 7b 7d 0a 20 20 20 20 7d 0a 7d 3c 2f k-number">1</span>).{}.....}.}</
ad5c0 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
ad5e0 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<
ad600 2f 66 69 67 63 61 70 74 69 6f 6e 3e 3c 70 72 65 3e 3c 73 61 6d 70 3e 24 20 3c 6b 62 64 3e 7a 69 /figcaption><pre><samp>$.<kbd>zi
ad620 67 20 74 65 73 74 20 74 65 73 74 5f 73 65 74 45 76 61 6c 42 72 61 6e 63 68 51 75 6f 74 61 5f 62 g.test.test_setEvalBranchQuota_b
ad640 75 69 6c 74 69 6e 2e 7a 69 67 3c 2f 6b 62 64 3e 0a 31 2f 31 20 74 65 73 74 5f 73 65 74 45 76 61 uiltin.zig</kbd>.1/1.test_setEva
ad660 6c 42 72 61 6e 63 68 51 75 6f 74 61 5f 62 75 69 6c 74 69 6e 2e 74 65 73 74 2e 66 6f 6f 2e 2e 2e lBranchQuota_builtin.test.foo...
ad680 4f 4b 0a 41 6c 6c 20 31 20 74 65 73 74 73 20 70 61 73 73 65 64 2e 0a 3c 2f 73 61 6d 70 3e 3c 2f OK.All.1.tests.passed..</samp></
ad6a0 70 72 65 3e 3c 2f 66 69 67 75 72 65 3e 0a 0a 0a 20 20 20 20 20 20 3c 70 3e 53 65 65 20 61 6c 73 pre></figure>.........<p>See.als
ad6c0 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
ad6e0 65 22 3e 63 6f 6d 70 74 69 6d 65 3c 2f 61 3e 3c 2f 6c 69 3e 0a 3c 2f 75 6c 3e 0a 0a 20 20 20 20 e">comptime</a></li>.</ul>......
ad700 20 20 0a 0a 20 20 20 20 20 20 3c 68 33 20 69 64 3d 22 73 65 74 46 6c 6f 61 74 4d 6f 64 65 22 3e ..........<h3.id="setFloatMode">
ad720 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 46 6c 6f 61 74 4d <a.href="nav.xhtml#toc-setFloatM
ad740 6f 64 65 22 3e 40 73 65 74 46 6c 6f 61 74 4d 6f 64 65 3c 2f 61 3e 20 3c 61 20 63 6c 61 73 73 3d ode">@setFloatMode</a>.<a.class=
ad760 22 68 64 72 22 20 68 72 65 66 3d 22 23 73 65 74 46 6c 6f 61 74 4d 6f 64 65 22 3e c2 a7 3c 2f 61 "hdr".href="#setFloatMode">..</a
ad780 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
ad7a0 6c 61 73 73 3d 22 74 6f 6b 2d 62 75 69 6c 74 69 6e 22 3e 40 73 65 74 46 6c 6f 61 74 4d 6f 64 65 lass="tok-builtin">@setFloatMode
ad7c0 3c 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
ad7e0 70 74 69 6d 65 3c 2f 73 70 61 6e 3e 20 6d 6f 64 65 3a 20 46 6c 6f 61 74 4d 6f 64 65 29 20 3c 73 ptime</span>.mode:.FloatMode).<s
ad800 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>
ad820 3c 2f 63 6f 64 65 3e 3c 2f 70 72 65 3e 0a 20 20 20 20 20 20 3c 70 3e 43 68 61 6e 67 65 73 20 74 </code></pre>.......<p>Changes.t
ad840 68 65 20 63 75 72 72 65 6e 74 20 73 63 6f 70 65 27 73 20 72 75 6c 65 73 20 61 62 6f 75 74 20 68 he.current.scope's.rules.about.h
ad860 6f 77 20 66 6c 6f 61 74 69 6e 67 20 70 6f 69 6e 74 20 6f 70 65 72 61 74 69 6f 6e 73 20 61 72 65 ow.floating.point.operations.are
ad880 20 64 65 66 69 6e 65 64 2e 3c 2f 70 3e 0a 20 20 20 20 20 20 3c 75 6c 3e 0a 20 20 20 20 20 20 20 .defined.</p>.......<ul>........
ad8a0 20 3c 6c 69 3e 0a 20 20 20 20 20 20 20 20 20 20 20 20 3c 63 6f 64 65 3e 2e 73 74 72 69 63 74 3c .<li>.............<code>.strict<
ad8c0 2f 63 6f 64 65 3e 20 28 64 65 66 61 75 6c 74 29 20 2d 20 46 6c 6f 61 74 69 6e 67 20 70 6f 69 6e /code>.(default).-.Floating.poin
ad8e0 74 20 6f 70 65 72 61 74 69 6f 6e 73 20 66 6f 6c 6c 6f 77 20 73 74 72 69 63 74 20 49 45 45 45 20 t.operations.follow.strict.IEEE.
ad900 63 6f 6d 70 6c 69 61 6e 63 65 2e 0a 20 20 20 20 20 20 20 20 3c 2f 6c 69 3e 0a 20 20 20 20 20 20 compliance..........</li>.......
ad920 20 20 3c 6c 69 3e 0a 20 20 20 20 20 20 20 20 20 20 20 20 3c 63 6f 64 65 3e 2e 6f 70 74 69 6d 69 ..<li>.............<code>.optimi
ad940 7a 65 64 3c 2f 63 6f 64 65 3e 20 2d 20 46 6c 6f 61 74 69 6e 67 20 70 6f 69 6e 74 20 6f 70 65 72 zed</code>.-.Floating.point.oper
ad960 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 77 69 ations.may.do.all.of.the.followi
ad980 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 20 3c ng:...........<ul>.............<
ad9a0 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 73 75 li>Assume.the.arguments.and.resu
ad9c0 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 61 72 lt.are.not.NaN..Optimizations.ar
ad9e0 65 20 72 65 71 75 69 72 65 64 20 74 6f 20 72 65 74 61 69 6e 20 6c 65 67 61 6c 20 62 65 68 61 76 e.required.to.retain.legal.behav
ada00 69 6f 72 20 6f 76 65 72 20 4e 61 4e 73 2c 20 62 75 74 20 74 68 65 20 76 61 6c 75 65 20 6f 66 20 ior.over.NaNs,.but.the.value.of.
ada20 74 68 65 20 72 65 73 75 6c 74 20 69 73 20 75 6e 64 65 66 69 6e 65 64 2e 3c 2f 6c 69 3e 0a 20 20 the.result.is.undefined.</li>...
ada40 20 20 20 20 20 20 20 20 20 20 3c 6c 69 3e 41 73 73 75 6d 65 20 74 68 65 20 61 72 67 75 6d 65 6e ..........<li>Assume.the.argumen
ada60 74 73 20 61 6e 64 20 72 65 73 75 6c 74 20 61 72 65 20 6e 6f 74 20 2b 2f 2d 49 6e 66 2e 20 4f 70 ts.and.result.are.not.+/-Inf..Op
ada80 74 69 6d 69 7a 61 74 69 6f 6e 73 20 61 72 65 20 72 65 71 75 69 72 65 64 20 74 6f 20 72 65 74 61 timizations.are.required.to.reta
adaa0 69 6e 20 6c 65 67 61 6c 20 62 65 68 61 76 69 6f 72 20 6f 76 65 72 20 2b 2f 2d 49 6e 66 2c 20 62 in.legal.behavior.over.+/-Inf,.b
adac0 75 74 20 74 68 65 20 76 61 6c 75 65 20 6f 66 20 74 68 65 20 72 65 73 75 6c 74 20 69 73 20 75 6e ut.the.value.of.the.result.is.un
adae0 64 65 66 69 6e 65 64 2e 3c 2f 6c 69 3e 0a 20 20 20 20 20 20 20 20 20 20 20 20 3c 6c 69 3e 54 72 defined.</li>.............<li>Tr
adb00 65 61 74 20 74 68 65 20 73 69 67 6e 20 6f 66 20 61 20 7a 65 72 6f 20 61 72 67 75 6d 65 6e 74 20 eat.the.sign.of.a.zero.argument.
adb20 6f 72 20 72 65 73 75 6c 74 20 61 73 20 69 6e 73 69 67 6e 69 66 69 63 61 6e 74 2e 3c 2f 6c 69 3e or.result.as.insignificant.</li>
adb40 0a 20 20 20 20 20 20 20 20 20 20 20 20 3c 6c 69 3e 55 73 65 20 74 68 65 20 72 65 63 69 70 72 6f .............<li>Use.the.recipro
adb60 63 61 6c 20 6f 66 20 61 6e 20 61 72 67 75 6d 65 6e 74 20 72 61 74 68 65 72 20 74 68 61 6e 20 70 cal.of.an.argument.rather.than.p
adb80 65 72 66 6f 72 6d 20 64 69 76 69 73 69 6f 6e 2e 3c 2f 6c 69 3e 0a 20 20 20 20 20 20 20 20 20 20 erform.division.</li>...........
adba0 20 20 3c 6c 69 3e 50 65 72 66 6f 72 6d 20 66 6c 6f 61 74 69 6e 67 2d 70 6f 69 6e 74 20 63 6f 6e ..<li>Perform.floating-point.con
adbc0 74 72 61 63 74 69 6f 6e 20 28 65 2e 67 2e 20 66 75 73 69 6e 67 20 61 20 6d 75 6c 74 69 70 6c 79 traction.(e.g..fusing.a.multiply
adbe0 20 66 6f 6c 6c 6f 77 65 64 20 62 79 20 61 6e 20 61 64 64 69 74 69 6f 6e 20 69 6e 74 6f 20 61 20 .followed.by.an.addition.into.a.
adc00 66 75 73 65 64 20 6d 75 6c 74 69 70 6c 79 2d 61 64 64 29 2e 3c 2f 6c 69 3e 0a 20 20 20 20 20 20 fused.multiply-add).</li>.......
adc20 20 20 20 20 20 20 3c 6c 69 3e 50 65 72 66 6f 72 6d 20 61 6c 67 65 62 72 61 69 63 61 6c 6c 79 20 ......<li>Perform.algebraically.
adc40 65 71 75 69 76 61 6c 65 6e 74 20 74 72 61 6e 73 66 6f 72 6d 61 74 69 6f 6e 73 20 74 68 61 74 20 equivalent.transformations.that.
adc60 6d 61 79 20 63 68 61 6e 67 65 20 72 65 73 75 6c 74 73 20 69 6e 20 66 6c 6f 61 74 69 6e 67 20 70 may.change.results.in.floating.p
adc80 6f 69 6e 74 20 28 65 2e 67 2e 20 72 65 61 73 73 6f 63 69 61 74 65 29 2e 3c 2f 6c 69 3e 0a 20 20 oint.(e.g..reassociate).</li>...
adca0 20 20 20 20 20 20 20 20 3c 2f 75 6c 3e 0a 20 20 20 20 20 20 20 20 20 20 54 68 69 73 20 69 73 20 ........</ul>...........This.is.
adcc0 65 71 75 69 76 61 6c 65 6e 74 20 74 6f 20 3c 63 6f 64 65 3e 2d 66 66 61 73 74 2d 6d 61 74 68 3c equivalent.to.<code>-ffast-math<
adce0 2f 63 6f 64 65 3e 20 69 6e 20 47 43 43 2e 0a 20 20 20 20 20 20 20 20 3c 2f 6c 69 3e 0a 20 20 20 /code>.in.GCC..........</li>....
add00 20 20 20 3c 2f 75 6c 3e 0a 20 20 20 20 20 20 3c 70 3e 0a 20 20 20 20 20 20 54 68 65 20 66 6c 6f ...</ul>.......<p>.......The.flo
add20 61 74 69 6e 67 20 70 6f 69 6e 74 20 6d 6f 64 65 20 69 73 20 69 6e 68 65 72 69 74 65 64 20 62 79 ating.point.mode.is.inherited.by
add40 20 63 68 69 6c 64 20 73 63 6f 70 65 73 2c 20 61 6e 64 20 63 61 6e 20 62 65 20 6f 76 65 72 72 69 .child.scopes,.and.can.be.overri
add60 64 64 65 6e 20 69 6e 20 61 6e 79 20 73 63 6f 70 65 2e 0a 20 20 20 20 20 20 59 6f 75 20 63 61 6e dden.in.any.scope........You.can
add80 20 73 65 74 20 74 68 65 20 66 6c 6f 61 74 69 6e 67 20 70 6f 69 6e 74 20 6d 6f 64 65 20 69 6e 20 .set.the.floating.point.mode.in.
adda0 61 20 73 74 72 75 63 74 20 6f 72 20 6d 6f 64 75 6c 65 20 73 63 6f 70 65 20 62 79 20 75 73 69 6e a.struct.or.module.scope.by.usin
addc0 67 20 61 20 63 6f 6d 70 74 69 6d 65 20 62 6c 6f 63 6b 2e 0a 20 20 20 20 20 20 3c 2f 70 3e 0a 20 g.a.comptime.block........</p>..
adde0 20 20 20 20 20 3c 70 3e 3c 63 6f 64 65 3e 46 6c 6f 61 74 4d 6f 64 65 3c 2f 63 6f 64 65 3e 20 63 .....<p><code>FloatMode</code>.c
ade00 61 6e 20 62 65 20 66 6f 75 6e 64 20 77 69 74 68 20 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 an.be.found.with.<code><span.cla
ade20 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>(
ade40 3c 73 70 61 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&
ade60 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 29 2e 6c 61 6e 67 2e 46 6c 6f 61 74 4d 6f 64 65 3c 2f 63 6f quot;</span>).lang.FloatMode</co
ade80 64 65 3e 2e 3c 2f 70 3e 0a 20 20 20 20 20 20 3c 70 3e 53 65 65 20 61 6c 73 6f 3a 3c 2f 70 3e 3c de>.</p>.......<p>See.also:</p><
adea0 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
adec0 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
adee0 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>...........
adf00 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"><
adf20 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
adf40 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
adf60 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
adf80 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
adfa0 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 62 75 69 6c 74 69 6e 22 3e 40 73 ode><span.class="tok-builtin">@s
adfc0 65 74 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 etRuntimeSafety</span>(<span.cla
adfe0 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 73 61 66 65 ss="tok-kw">comptime</span>.safe
ae000 74 79 5f 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 ty_on:.<span.class="tok-type">bo
ae020 6f 6c 3c 2f 73 70 61 6e 3e 29 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 ol</span>).<span.class="tok-type
ae040 22 3e 76 6f 69 64 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 3c 2f 70 72 65 3e 0a 20 20 20 20 20 ">void</span></code></pre>......
ae060 20 3c 70 3e 0a 20 20 20 20 20 20 53 65 74 73 20 77 68 65 74 68 65 72 20 72 75 6e 74 69 6d 65 20 .<p>.......Sets.whether.runtime.
ae080 73 61 66 65 74 79 20 63 68 65 63 6b 73 20 61 72 65 20 65 6e 61 62 6c 65 64 20 66 6f 72 20 74 68 safety.checks.are.enabled.for.th
ae0a0 65 20 73 63 6f 70 65 20 74 68 61 74 20 63 6f 6e 74 61 69 6e 73 20 74 68 65 20 66 75 6e 63 74 69 e.scope.that.contains.the.functi
ae0c0 6f 6e 20 63 61 6c 6c 2e 0a 20 20 20 20 20 20 3c 2f 70 3e 0a 20 20 20 20 20 20 3c 66 69 67 75 72 on.call........</p>.......<figur
ae0e0 65 3e 3c 66 69 67 63 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
ae100 69 74 65 20 63 6c 61 73 73 3d 22 66 69 6c 65 22 3e 74 65 73 74 5f 73 65 74 52 75 6e 74 69 6d 65 ite.class="file">test_setRuntime
ae120 53 61 66 65 74 79 5f 62 75 69 6c 74 69 6e 2e 7a 69 67 3c 2f 63 69 74 65 3e 3c 2f 66 69 67 63 61 Safety_builtin.zig</cite></figca
ae140 70 74 69 6f 6e 3e 3c 70 72 65 3e 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f ption><pre><code><span.class="to
ae160 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
ae180 6f 6b 2d 73 74 72 22 3e 26 71 75 6f 74 3b 40 73 65 74 52 75 6e 74 69 6d 65 53 61 66 65 74 79 26 ok-str">&quot;@setRuntimeSafety&
ae1a0 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 20 7b 0a 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 quot;</span>.{.....<span.class="
ae1c0 74 6f 6b 2d 63 6f 6d 6d 65 6e 74 22 3e 2f 2f 20 54 68 65 20 62 75 69 6c 74 69 6e 20 61 70 70 6c tok-comment">//.The.builtin.appl
ae1e0 69 65 73 20 74 6f 20 74 68 65 20 73 63 6f 70 65 20 74 68 61 74 20 69 74 20 69 73 20 63 61 6c 6c ies.to.the.scope.that.it.is.call
ae200 65 64 20 69 6e 2e 20 53 6f 20 68 65 72 65 2c 20 69 6e 74 65 67 65 72 20 6f 76 65 72 66 6c 6f 77 ed.in..So.here,.integer.overflow
ae220 3c 2f 73 70 61 6e 3e 0a 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 63 6f 6d </span>.....<span.class="tok-com
ae240 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 6e 20 52 ment">//.will.not.be.caught.in.R
ae260 65 6c 65 61 73 65 46 61 73 74 20 61 6e 64 20 52 65 6c 65 61 73 65 53 6d 61 6c 6c 20 6d 6f 64 65 eleaseFast.and.ReleaseSmall.mode
ae280 73 3a 3c 2f 73 70 61 6e 3e 0a 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 63 s:</span>.....<span.class="tok-c
ae2a0 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 3c 2f 73 70 61 omment">//.var.x:.u8.=.255;</spa
ae2c0 6e 3e 0a 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 63 6f 6d 6d 65 6e 74 22 n>.....<span.class="tok-comment"
ae2e0 3e 2f 2f 20 78 20 2b 3d 20 31 3b 20 2f 2f 20 55 6e 63 68 65 63 6b 65 64 20 49 6c 6c 65 67 61 6c >//.x.+=.1;.//.Unchecked.Illegal
ae300 20 42 65 68 61 76 69 6f 72 20 69 6e 20 52 65 6c 65 61 73 65 46 61 73 74 2f 52 65 6c 65 61 73 65 .Behavior.in.ReleaseFast/Release
ae320 53 6d 61 6c 6c 20 6d 6f 64 65 73 2e 3c 2f 73 70 61 6e 3e 0a 20 20 20 20 7b 0a 20 20 20 20 20 20 Small.modes.</span>.....{.......
ae340 20 20 3c 73 70 61 6e 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 ..<span.class="tok-comment">//.H
ae360 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 65 6e 61 owever.this.block.has.safety.ena
ae380 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 20 68 65 bled,.so.safety.checks.happen.he
ae3a0 72 65 2c 3c 2f 73 70 61 6e 3e 0a 20 20 20 20 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 re,</span>.........<span.class="
ae3c0 74 6f 6b 2d 63 6f 6d 6d 65 6e 74 22 3e 2f 2f 20 65 76 65 6e 20 69 6e 20 52 65 6c 65 61 73 65 46 tok-comment">//.even.in.ReleaseF
ae3e0 61 73 74 20 61 6e 64 20 52 65 6c 65 61 73 65 53 6d 61 6c 6c 20 6d 6f 64 65 73 2e 3c 2f 73 70 61 ast.and.ReleaseSmall.modes.</spa
ae400 6e 3e 0a 20 20 20 20 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 62 75 69 6c n>.........<span.class="tok-buil
ae420 74 69 6e 22 3e 40 73 65 74 52 75 6e 74 69 6d 65 53 61 66 65 74 79 3c 2f 73 70 61 6e 3e 28 3c 73 tin">@setRuntimeSafety</span>(<s
ae440 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>
ae460 29 3b 0a 20 20 20 20 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e );.........<span.class="tok-kw">
ae480 76 61 72 3c 2f 73 70 61 6e 3e 20 78 3a 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 var</span>.x:.<span.class="tok-t
ae4a0 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
ae4c0 6b 2d 6e 75 6d 62 65 72 22 3e 32 35 35 3c 2f 73 70 61 6e 3e 3b 0a 20 20 20 20 20 20 20 20 78 20 k-number">255</span>;.........x.
ae4e0 2b 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 31 3c 2f 73 +=.<span.class="tok-number">1</s
ae500 70 61 6e 3e 3b 0a 0a 20 20 20 20 20 20 20 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 3c 73 70 pan>;..........{.............<sp
ae520 61 6e 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 76 61 an.class="tok-comment">//.The.va
ae540 6c 75 65 20 63 61 6e 20 62 65 20 6f 76 65 72 72 69 64 64 65 6e 20 61 74 20 61 6e 79 20 73 63 6f lue.can.be.overridden.at.any.sco
ae560 70 65 2e 20 53 6f 20 68 65 72 65 20 69 6e 74 65 67 65 72 20 6f 76 65 72 66 6c 6f 77 3c 2f 73 70 pe..So.here.integer.overflow</sp
ae580 61 6e 3e 0a 20 20 20 20 20 20 20 20 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b an>.............<span.class="tok
ae5a0 2d 63 6f 6d 6d 65 6e 74 22 3e 2f 2f 20 77 6f 75 6c 64 20 6e 6f 74 20 62 65 20 63 61 75 67 68 74 -comment">//.would.not.be.caught
ae5c0 20 69 6e 20 61 6e 79 20 62 75 69 6c 64 20 6d 6f 64 65 2e 3c 2f 73 70 61 6e 3e 0a 20 20 20 20 20 .in.any.build.mode.</span>......
ae5e0 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"
ae600 3e 40 73 65 74 52 75 6e 74 69 6d 65 53 61 66 65 74 79 3c 2f 73 70 61 6e 3e 28 3c 73 70 61 6e 20 >@setRuntimeSafety</span>(<span.
ae620 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 0a class="tok-null">false</span>);.
ae640 20 20 20 20 20 20 20 20 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 63 6f 6d ............<span.class="tok-com
ae660 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 3c 2f 73 70 61 6e 3e ment">//.var.x:.u8.=.255;</span>
ae680 0a 20 20 20 20 20 20 20 20 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 63 6f .............<span.class="tok-co
ae6a0 6d 6d 65 6e 74 22 3e 2f 2f 20 78 20 2b 3d 20 31 3b 20 2f 2f 20 55 6e 63 68 65 63 6b 65 64 20 49 mment">//.x.+=.1;.//.Unchecked.I
ae6c0 6c 6c 65 67 61 6c 20 42 65 68 61 76 69 6f 72 20 69 6e 20 61 6c 6c 20 62 75 69 6c 64 20 6d 6f 64 llegal.Behavior.in.all.build.mod
ae6e0 65 73 2e 3c 2f 73 70 61 6e 3e 0a 20 20 20 20 20 20 20 20 7d 0a 20 20 20 20 7d 0a 7d 3c 2f 63 6f es.</span>.........}.....}.}</co
ae700 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
ae720 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
ae740 69 67 63 61 70 74 69 6f 6e 3e 3c 70 72 65 3e 3c 73 61 6d 70 3e 24 20 3c 6b 62 64 3e 7a 69 67 20 igcaption><pre><samp>$.<kbd>zig.
ae760 74 65 73 74 20 74 65 73 74 5f 73 65 74 52 75 6e 74 69 6d 65 53 61 66 65 74 79 5f 62 75 69 6c 74 test.test_setRuntimeSafety_built
ae780 69 6e 2e 7a 69 67 20 2d 4f 52 65 6c 65 61 73 65 46 61 73 74 3c 2f 6b 62 64 3e 0a 31 2f 31 20 74 in.zig.-OReleaseFast</kbd>.1/1.t
ae7a0 65 73 74 5f 73 65 74 52 75 6e 74 69 6d 65 53 61 66 65 74 79 5f 62 75 69 6c 74 69 6e 2e 74 65 73 est_setRuntimeSafety_builtin.tes
ae7c0 74 2e 40 73 65 74 52 75 6e 74 69 6d 65 53 61 66 65 74 79 2e 2e 2e 74 68 72 65 61 64 20 32 33 35 t.@setRuntimeSafety...thread.235
ae7e0 32 34 33 20 70 61 6e 69 63 3a 20 69 6e 74 65 67 65 72 20 6f 76 65 72 66 6c 6f 77 0a 2f 68 6f 6d 243.panic:.integer.overflow./hom
ae800 65 2f 63 69 2f 77 6f 72 6b 2f 7a 69 67 2d 62 6f 6f 74 73 74 72 61 70 2f 7a 69 67 2f 64 6f 63 2f e/ci/work/zig-bootstrap/zig/doc/
ae820 6c 61 6e 67 72 65 66 2f 74 65 73 74 5f 73 65 74 52 75 6e 74 69 6d 65 53 61 66 65 74 79 5f 62 75 langref/test_setRuntimeSafety_bu
ae840 69 6c 74 69 6e 2e 7a 69 67 3a 31 31 3a 31 31 3a 20 30 78 31 30 37 34 33 38 38 20 69 6e 20 74 65 iltin.zig:11:11:.0x1074388.in.te
ae860 73 74 2e 40 73 65 74 52 75 6e 74 69 6d 65 53 61 66 65 74 79 20 28 74 65 73 74 29 0a 20 20 20 20 st.@setRuntimeSafety.(test).....
ae880 20 20 20 20 78 20 2b 3d 20 31 3b 0a 20 20 20 20 20 20 20 20 20 20 5e 0a 2f 68 6f 6d 65 2f 63 69 ....x.+=.1;...........^./home/ci
ae8a0 2f 77 6f 72 6b 2f 7a 69 67 2d 62 6f 6f 74 73 74 72 61 70 2f 6f 75 74 2f 68 6f 73 74 2f 6c 69 62 /work/zig-bootstrap/out/host/lib
ae8c0 2f 7a 69 67 2f 63 6f 6d 70 69 6c 65 72 2f 74 65 73 74 5f 72 75 6e 6e 65 72 2e 7a 69 67 3a 32 39 /zig/compiler/test_runner.zig:29
ae8e0 31 3a 32 35 3a 20 30 78 31 30 36 61 62 64 35 20 69 6e 20 6d 61 69 6e 54 65 72 6d 69 6e 61 6c 20 1:25:.0x106abd5.in.mainTerminal.
ae900 28 74 65 73 74 29 0a 20 20 20 20 20 20 20 20 69 66 20 28 74 65 73 74 5f 66 6e 2e 66 75 6e 63 28 (test).........if.(test_fn.func(
ae920 29 29 20 7c 5f 7c 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 )).|_|.{........................
ae940 20 5e 0a 2f 68 6f 6d 65 2f 63 69 2f 77 6f 72 6b 2f 7a 69 67 2d 62 6f 6f 74 73 74 72 61 70 2f 6f .^./home/ci/work/zig-bootstrap/o
ae960 75 74 2f 68 6f 73 74 2f 6c 69 62 2f 7a 69 67 2f 73 74 64 2f 73 74 61 72 74 2e 7a 69 67 3a 37 32 ut/host/lib/zig/std/start.zig:72
ae980 33 3a 38 38 3a 20 30 78 31 30 36 39 31 39 65 20 69 6e 20 63 61 6c 6c 4d 61 69 6e 20 28 74 65 73 3:88:.0x106919e.in.callMain.(tes
ae9a0 74 29 0a 20 20 20 20 69 66 20 28 66 6e 5f 69 6e 66 6f 2e 70 61 72 61 6d 73 5b 30 5d 2e 74 79 70 t).....if.(fn_info.params[0].typ
ae9c0 65 2e 3f 20 3d 3d 20 73 74 64 2e 70 72 6f 63 65 73 73 2e 49 6e 69 74 2e 4d 69 6e 69 6d 61 6c 29 e.?.==.std.process.Init.Minimal)
ae9e0 20 72 65 74 75 72 6e 20 77 72 61 70 4d 61 69 6e 28 72 6f 6f 74 2e 6d 61 69 6e 28 2e 7b 0a 20 20 .return.wrapMain(root.main(.{...
aea00 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ................................
aea20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ................................
aea40 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 5e 0a 2f 68 6f 6d 65 2f 63 69 2f .....................^./home/ci/
aea60 77 6f 72 6b 2f 7a 69 67 2d 62 6f 6f 74 73 74 72 61 70 2f 6f 75 74 2f 68 6f 73 74 2f 6c 69 62 2f work/zig-bootstrap/out/host/lib/
aea80 7a 69 67 2f 73 74 64 2f 73 74 61 72 74 2e 7a 69 67 3a 32 30 34 3a 35 3a 20 30 78 31 30 36 38 65 zig/std/start.zig:204:5:.0x1068e
aeaa0 33 64 20 69 6e 20 5f 73 74 61 72 74 20 28 74 65 73 74 29 0a 20 20 20 20 61 73 6d 20 76 6f 6c 61 3d.in._start.(test).....asm.vola
aeac0 74 69 6c 65 20 28 73 77 69 74 63 68 20 28 6e 61 74 69 76 65 5f 61 72 63 68 29 20 7b 0a 20 20 20 tile.(switch.(native_arch).{....
aeae0 20 5e 0a 65 72 72 6f 72 3a 20 74 68 65 20 66 6f 6c 6c 6f 77 69 6e 67 20 74 65 73 74 20 63 6f 6d .^.error:.the.following.test.com
aeb00 6d 61 6e 64 20 74 65 72 6d 69 6e 61 74 65 64 20 77 69 74 68 20 73 69 67 6e 61 6c 20 41 42 52 54 mand.terminated.with.signal.ABRT
aeb20 3a 0a 2f 68 6f 6d 65 2f 63 69 2f 77 6f 72 6b 2f 7a 69 67 2d 62 6f 6f 74 73 74 72 61 70 2f 6f 75 :./home/ci/work/zig-bootstrap/ou
aeb40 74 2f 7a 69 67 2d 6c 6f 63 61 6c 2d 63 61 63 68 65 2f 6f 2f 66 37 35 64 65 30 65 39 32 36 32 66 t/zig-local-cache/o/f75de0e9262f
aeb60 31 64 63 66 34 35 65 37 38 37 39 33 32 32 39 31 64 64 61 30 2f 74 65 73 74 20 2d 2d 73 65 65 64 1dcf45e787932291dda0/test.--seed
aeb80 3d 30 78 66 39 65 34 31 30 62 30 0a 3c 2f 73 61 6d 70 3e 3c 2f 70 72 65 3e 3c 2f 66 69 67 75 72 =0xf9e410b0.</samp></pre></figur
aeba0 65 3e 0a 0a 20 20 20 20 20 20 3c 70 3e 4e 6f 74 65 3a 20 69 74 20 69 73 20 3c 61 20 68 72 65 66 e>........<p>Note:.it.is.<a.href
aebc0 3d 22 68 74 74 70 73 3a 2f 2f 67 69 74 68 75 62 2e 63 6f 6d 2f 7a 69 67 6c 61 6e 67 2f 7a 69 67 ="https://github.com/ziglang/zig
aebe0 2f 69 73 73 75 65 73 2f 39 37 38 22 3e 70 6c 61 6e 6e 65 64 3c 2f 61 3e 20 74 6f 20 72 65 70 6c /issues/978">planned</a>.to.repl
aec00 61 63 65 0a 20 20 20 20 20 20 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b ace.......<code><span.class="tok
aec20 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 61 -builtin">@setRuntimeSafety</spa
aec40 6e 3e 3c 2f 63 6f 64 65 3e 20 77 69 74 68 20 3c 63 6f 64 65 3e 40 6f 70 74 69 6d 69 7a 65 46 6f n></code>.with.<code>@optimizeFo
aec60 72 3c 2f 63 6f 64 65 3e 3c 2f 70 3e 0a 0a 20 20 20 20 20 20 0a 0a 20 20 20 20 20 20 3c 68 33 20 r</code></p>................<h3.
aec80 69 64 3d 22 73 68 6c 45 78 61 63 74 22 3e 3c 61 20 68 72 65 66 3d 22 6e 61 76 2e 78 68 74 6d 6c id="shlExact"><a.href="nav.xhtml
aeca0 23 74 6f 63 2d 73 68 6c 45 78 61 63 74 22 3e 40 73 68 6c 45 78 61 63 74 3c 2f 61 3e 20 3c 61 20 #toc-shlExact">@shlExact</a>.<a.
aecc0 63 6c 61 73 73 3d 22 68 64 72 22 20 68 72 65 66 3d 22 23 73 68 6c 45 78 61 63 74 22 3e c2 a7 3c class="hdr".href="#shlExact">..<
aece0 2f 61 3e 3c 2f 68 33 3e 0a 0a 20 20 20 20 20 20 3c 70 72 65 3e 3c 63 6f 64 65 3e 3c 73 70 61 6e /a></h3>........<pre><code><span
aed00 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 62 75 69 6c 74 69 6e 22 3e 40 73 68 6c 45 78 61 63 74 3c 2f .class="tok-builtin">@shlExact</
aed20 73 70 61 6e 3e 28 76 61 6c 75 65 3a 20 54 2c 20 73 68 69 66 74 5f 61 6d 74 3a 20 4c 6f 67 32 54 span>(value:.T,.shift_amt:.Log2T
aed40 29 20 54 3c 2f 63 6f 64 65 3e 3c 2f 70 72 65 3e 0a 20 20 20 20 20 20 3c 70 3e 0a 20 20 20 20 20 ).T</code></pre>.......<p>......
aed60 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 74 69 .Performs.the.left.shift.operati
aed80 6f 6e 20 28 3c 63 6f 64 65 3e 26 6c 74 3b 26 6c 74 3b 3c 2f 63 6f 64 65 3e 29 2e 0a 20 20 20 20 on.(<code>&lt;&lt;</code>)......
aeda0 20 20 46 6f 72 20 75 6e 73 69 67 6e 65 64 20 69 6e 74 65 67 65 72 73 2c 20 74 68 65 20 72 65 73 ..For.unsigned.integers,.the.res
aedc0 75 6c 74 20 69 73 20 3c 61 20 68 72 65 66 3d 22 23 75 6e 64 65 66 69 6e 65 64 22 3e 75 6e 64 65 ult.is.<a.href="#undefined">unde
aede0 66 69 6e 65 64 3c 2f 61 3e 20 69 66 20 61 6e 79 20 31 20 62 69 74 73 0a 20 20 20 20 20 20 61 72 fined</a>.if.any.1.bits.......ar
aee00 65 20 73 68 69 66 74 65 64 20 6f 75 74 2e 20 46 6f 72 20 73 69 67 6e 65 64 20 69 6e 74 65 67 65 e.shifted.out..For.signed.intege
aee20 72 73 2c 20 74 68 65 20 72 65 73 75 6c 74 20 69 73 20 3c 61 20 68 72 65 66 3d 22 23 75 6e 64 65 rs,.the.result.is.<a.href="#unde
aee40 66 69 6e 65 64 22 3e 75 6e 64 65 66 69 6e 65 64 3c 2f 61 3e 20 69 66 0a 20 20 20 20 20 20 61 6e fined">undefined</a>.if.......an
aee60 79 20 62 69 74 73 20 74 68 61 74 20 64 69 73 61 67 72 65 65 20 77 69 74 68 20 74 68 65 20 72 65 y.bits.that.disagree.with.the.re
aee80 73 75 6c 74 61 6e 74 20 73 69 67 6e 20 62 69 74 20 61 72 65 20 73 68 69 66 74 65 64 20 6f 75 74 sultant.sign.bit.are.shifted.out
aeea0 2e 0a 20 20 20 20 20 20 3c 2f 70 3e 0a 20 20 20 20 20 20 3c 70 3e 0a 20 20 20 20 20 20 54 68 65 ........</p>.......<p>.......The
aeec0 20 74 79 70 65 20 6f 66 20 3c 63 6f 64 65 3e 73 68 69 66 74 5f 61 6d 74 3c 2f 63 6f 64 65 3e 20 .type.of.<code>shift_amt</code>.
aeee0 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 63 6f 64 is.an.unsigned.integer.with.<cod
aef00 65 3e 6c 6f 67 32 28 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 62 75 69 6c 74 69 6e 22 e>log2(<span.class="tok-builtin"
aef20 3e 40 74 79 70 65 49 6e 66 6f 3c 2f 73 70 61 6e 3e 28 54 29 2e 69 6e 74 2e 62 69 74 73 29 3c 2f >@typeInfo</span>(T).int.bits)</
aef40 63 6f 64 65 3e 20 62 69 74 73 2e 0a 20 20 20 20 20 20 54 68 69 73 20 69 73 20 62 65 63 61 75 73 code>.bits........This.is.becaus
aef60 65 20 3c 63 6f 64 65 3e 73 68 69 66 74 5f 61 6d 74 20 26 67 74 3b 3d 20 3c 73 70 61 6e 20 63 6c e.<code>shift_amt.&gt;=.<span.cl
aef80 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
aefa0 6e 3e 28 54 29 2e 69 6e 74 2e 62 69 74 73 3c 2f 63 6f 64 65 3e 20 74 72 69 67 67 65 72 73 20 73 n>(T).int.bits</code>.triggers.s
aefc0 61 66 65 74 79 2d 63 68 65 63 6b 65 64 20 3c 61 20 68 72 65 66 3d 22 23 49 6c 6c 65 67 61 6c 2d afety-checked.<a.href="#Illegal-
aefe0 42 65 68 61 76 69 6f 72 22 3e 49 6c 6c 65 67 61 6c 20 42 65 68 61 76 69 6f 72 3c 2f 61 3e 2e 0a Behavior">Illegal.Behavior</a>..
af000 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
af020 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
af040 5f 69 6e 74 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 20 69 73 20 6d 6f 64 65 6c 65 64 20 61 73 _int</span></code>.is.modeled.as
af060 20 61 6e 20 69 6e 74 65 67 65 72 20 77 69 74 68 20 61 6e 20 69 6e 66 69 6e 69 74 65 20 6e 75 6d .an.integer.with.an.infinite.num
af080 62 65 72 20 6f 66 20 62 69 74 73 2c 0a 20 20 20 20 20 20 6d 65 61 6e 69 6e 67 20 74 68 61 74 20 ber.of.bits,.......meaning.that.
af0a0 69 6e 20 73 75 63 68 20 63 61 73 65 2c 20 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d in.such.case,.<code><span.class=
af0c0 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 3c 2f "tok-builtin">@shlExact</span></
af0e0 63 6f 64 65 3e 20 61 6c 77 61 79 73 20 70 72 6f 64 75 63 65 73 20 61 20 72 65 73 75 6c 74 20 61 code>.always.produces.a.result.a
af100 6e 64 0a 20 20 20 20 20 20 63 61 6e 6e 6f 74 20 70 72 6f 64 75 63 65 20 61 20 63 6f 6d 70 69 6c nd.......cannot.produce.a.compil
af120 65 20 65 72 72 6f 72 2e 0a 20 20 20 20 20 20 3c 2f 70 3e 0a 20 20 20 20 20 20 3c 70 3e 53 65 65 e.error........</p>.......<p>See
af140 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
af160 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
af180 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
af1a0 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>........
af1c0 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"
af1e0 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
af200 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
af220 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
af240 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
af260 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 62 75 69 6c 74 69 6e 22 3e 40 73 68 de><span.class="tok-builtin">@sh
af280 6c 57 69 74 68 4f 76 65 72 66 6c 6f 77 3c 2f 73 70 61 6e 3e 28 61 3a 20 3c 73 70 61 6e 20 63 6c lWithOverflow</span>(a:.<span.cl
af2a0 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 61 6e 79 74 79 70 65 3c 2f 73 70 61 6e 3e 2c 20 73 68 69 ass="tok-kw">anytype</span>,.shi
af2c0 66 74 5f 61 6d 74 3a 20 4c 6f 67 32 54 29 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d ft_amt:.Log2T).<span.class="tok-
af2e0 6b 77 22 3e 73 74 72 75 63 74 3c 2f 73 70 61 6e 3e 20 7b 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d kw">struct</span>.{.<span.class=
af300 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 29 2c "tok-builtin">@TypeOf</span>(a),
af320 20 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 .<span.class="tok-type">u1</span
af340 3e 20 7d 3c 2f 63 6f 64 65 3e 3c 2f 70 72 65 3e 0a 20 20 20 20 20 20 3c 70 3e 0a 20 20 20 20 20 >.}</code></pre>.......<p>......
af360 20 50 65 72 66 6f 72 6d 73 20 3c 63 6f 64 65 3e 61 20 26 6c 74 3b 26 6c 74 3b 20 62 3c 2f 63 6f .Performs.<code>a.&lt;&lt;.b</co
af380 64 65 3e 20 61 6e 64 20 72 65 74 75 72 6e 73 20 61 20 74 75 70 6c 65 20 77 69 74 68 20 74 68 65 de>.and.returns.a.tuple.with.the
af3a0 20 72 65 73 75 6c 74 20 61 6e 64 20 61 20 70 6f 73 73 69 62 6c 65 20 6f 76 65 72 66 6c 6f 77 20 .result.and.a.possible.overflow.
af3c0 62 69 74 2e 0a 20 20 20 20 20 20 3c 2f 70 3e 0a 20 20 20 20 20 20 3c 70 3e 0a 20 20 20 20 20 20 bit........</p>.......<p>.......
af3e0 54 68 65 20 74 79 70 65 20 6f 66 20 3c 63 6f 64 65 3e 73 68 69 66 74 5f 61 6d 74 3c 2f 63 6f 64 The.type.of.<code>shift_amt</cod
af400 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.<
af420 63 6f 64 65 3e 6c 6f 67 32 28 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 62 75 69 6c 74 code>log2(<span.class="tok-built
af440 69 6e 22 3e 40 74 79 70 65 49 6e 66 6f 3c 2f 73 70 61 6e 3e 28 3c 73 70 61 6e 20 63 6c 61 73 73 in">@typeInfo</span>(<span.class
af460 3d 22 74 6f 6b 2d 62 75 69 6c 74 69 6e 22 3e 40 54 79 70 65 4f 66 3c 2f 73 70 61 6e 3e 28 61 29 ="tok-builtin">@TypeOf</span>(a)
af480 29 2e 69 6e 74 2e 62 69 74 73 29 3c 2f 63 6f 64 65 3e 20 62 69 74 73 2e 0a 20 20 20 20 20 20 54 ).int.bits)</code>.bits........T
af4a0 68 69 73 20 69 73 20 62 65 63 61 75 73 65 20 3c 63 6f 64 65 3e 73 68 69 66 74 5f 61 6d 74 20 26 his.is.because.<code>shift_amt.&
af4c0 67 74 3b 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 62 75 69 6c 74 69 6e 22 3e 40 gt;=.<span.class="tok-builtin">@
af4e0 74 79 70 65 49 6e 66 6f 3c 2f 73 70 61 6e 3e 28 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b typeInfo</span>(<span.class="tok
af500 2d 62 75 69 6c 74 69 6e 22 3e 40 54 79 70 65 4f 66 3c 2f 73 70 61 6e 3e 28 61 29 29 2e 69 6e 74 -builtin">@TypeOf</span>(a)).int
af520 2e 62 69 74 73 3c 2f 63 6f 64 65 3e 20 74 72 69 67 67 65 72 73 20 73 61 66 65 74 79 2d 63 68 65 .bits</code>.triggers.safety-che
af540 63 6b 65 64 20 3c 61 20 68 72 65 66 3d 22 23 49 6c 6c 65 67 61 6c 2d 42 65 68 61 76 69 6f 72 22 cked.<a.href="#Illegal-Behavior"
af560 3e 49 6c 6c 65 67 61 6c 20 42 65 68 61 76 69 6f 72 3c 2f 61 3e 2e 0a 20 20 20 20 20 20 3c 2f 70 >Illegal.Behavior</a>........</p
af580 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
af5a0 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 3c 2f ><a.href="#shlExact">@shlExact</
af5c0 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 22 3e a></li>.<li><a.href="#shrExact">
af5e0 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 20 20 @shrExact</a></li>.</ul>........
af600 0a 0a 20 20 20 20 20 20 3c 68 33 20 69 64 3d 22 73 68 72 45 78 61 63 74 22 3e 3c 61 20 68 72 65 ........<h3.id="shrExact"><a.hre
af620 66 3d 22 6e 61 76 2e 78 68 74 6d 6c 23 74 6f 63 2d 73 68 72 45 78 61 63 74 22 3e 40 73 68 72 45 f="nav.xhtml#toc-shrExact">@shrE
af640 78 61 63 74 3c 2f 61 3e 20 3c 61 20 63 6c 61 73 73 3d 22 68 64 72 22 20 68 72 65 66 3d 22 23 73 xact</a>.<a.class="hdr".href="#s
af660 68 72 45 78 61 63 74 22 3e c2 a7 3c 2f 61 3e 3c 2f 68 33 3e 0a 0a 20 20 20 20 20 20 3c 70 72 65 hrExact">..</a></h3>........<pre
af680 3e 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 62 75 69 6c 74 69 6e 22 ><code><span.class="tok-builtin"
af6a0 3e 40 73 68 72 45 78 61 63 74 3c 2f 73 70 61 6e 3e 28 76 61 6c 75 65 3a 20 54 2c 20 73 68 69 66 >@shrExact</span>(value:.T,.shif
af6c0 74 5f 61 6d 74 3a 20 4c 6f 67 32 54 29 20 54 3c 2f 63 6f 64 65 3e 3c 2f 70 72 65 3e 0a 20 20 20 t_amt:.Log2T).T</code></pre>....
af6e0 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 74 20 ...<p>.......Performs.the.right.
af700 73 68 69 66 74 20 6f 70 65 72 61 74 69 6f 6e 20 28 3c 63 6f 64 65 3e 26 67 74 3b 26 67 74 3b 3c shift.operation.(<code>&gt;&gt;<
af720 2f 63 6f 64 65 3e 29 2e 20 43 61 6c 6c 65 72 20 67 75 61 72 61 6e 74 65 65 73 0a 20 20 20 20 20 /code>)..Caller.guarantees......
af740 20 74 68 61 74 20 74 68 65 20 73 68 69 66 74 20 77 69 6c 6c 20 6e 6f 74 20 73 68 69 66 74 20 61 .that.the.shift.will.not.shift.a
af760 6e 79 20 31 20 62 69 74 73 20 6f 75 74 2e 0a 20 20 20 20 20 20 3c 2f 70 3e 0a 20 20 20 20 20 20 ny.1.bits.out........</p>.......
af780 3c 70 3e 0a 20 20 20 20 20 20 54 68 65 20 74 79 70 65 20 6f 66 20 3c 63 6f 64 65 3e 73 68 69 66 <p>.......The.type.of.<code>shif
af7a0 74 5f 61 6d 74 3c 2f 63 6f 64 65 3e 20 69 73 20 61 6e 20 75 6e 73 69 67 6e 65 64 20 69 6e 74 65 t_amt</code>.is.an.unsigned.inte
af7c0 67 65 72 20 77 69 74 68 20 3c 63 6f 64 65 3e 6c 6f 67 32 28 3c 73 70 61 6e 20 63 6c 61 73 73 3d ger.with.<code>log2(<span.class=
af7e0 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 54 "tok-builtin">@typeInfo</span>(T
af800 29 2e 69 6e 74 2e 62 69 74 73 29 3c 2f 63 6f 64 65 3e 20 62 69 74 73 2e 0a 20 20 20 20 20 20 54 ).int.bits)</code>.bits........T
af820 68 69 73 20 69 73 20 62 65 63 61 75 73 65 20 3c 63 6f 64 65 3e 73 68 69 66 74 5f 61 6d 74 20 26 his.is.because.<code>shift_amt.&
af840 67 74 3b 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 62 75 69 6c 74 69 6e 22 3e 40 gt;=.<span.class="tok-builtin">@
af860 74 79 70 65 49 6e 66 6f 3c 2f 73 70 61 6e 3e 28 54 29 2e 69 6e 74 2e 62 69 74 73 3c 2f 63 6f 64 typeInfo</span>(T).int.bits</cod
af880 65 3e 20 74 72 69 67 67 65 72 73 20 73 61 66 65 74 79 2d 63 68 65 63 6b 65 64 20 3c 61 20 68 72 e>.triggers.safety-checked.<a.hr
af8a0 65 66 3d 22 23 49 6c 6c 65 67 61 6c 2d 42 65 68 61 76 69 6f 72 22 3e 49 6c 6c 65 67 61 6c 20 42 ef="#Illegal-Behavior">Illegal.B
af8c0 65 68 61 76 69 6f 72 3c 2f 61 3e 2e 0a 20 20 20 20 20 20 3c 2f 70 3e 0a 20 20 20 20 20 20 3c 70 ehavior</a>........</p>.......<p
af8e0 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="
af900 23 73 68 6c 45 78 61 63 74 22 3e 40 73 68 6c 45 78 61 63 74 3c 2f 61 3e 3c 2f 6c 69 3e 0a 3c 6c #shlExact">@shlExact</a></li>.<l
af920 69 3e 3c 61 20 68 72 65 66 3d 22 23 73 68 6c 57 69 74 68 4f 76 65 72 66 6c 6f 77 22 3e 40 73 68 i><a.href="#shlWithOverflow">@sh
af940 6c 57 69 74 68 4f 76 65 72 66 6c 6f 77 3c 2f 61 3e 3c 2f 6c 69 3e 0a 3c 2f 75 6c 3e 0a 0a 20 20 lWithOverflow</a></li>.</ul>....
af960 20 20 20 20 0a 0a 20 20 20 20 20 20 3c 68 33 20 69 64 3d 22 73 68 75 66 66 6c 65 22 3e 3c 61 20 ............<h3.id="shuffle"><a.
af980 68 72 65 66 3d 22 6e 61 76 2e 78 68 74 6d 6c 23 74 6f 63 2d 73 68 75 66 66 6c 65 22 3e 40 73 68 href="nav.xhtml#toc-shuffle">@sh
af9a0 75 66 66 6c 65 3c 2f 61 3e 20 3c 61 20 63 6c 61 73 73 3d 22 68 64 72 22 20 68 72 65 66 3d 22 23 uffle</a>.<a.class="hdr".href="#
af9c0 73 68 75 66 66 6c 65 22 3e c2 a7 3c 2f 61 3e 3c 2f 68 33 3e 0a 0a 20 20 20 20 20 20 3c 70 72 65 shuffle">..</a></h3>........<pre
af9e0 3e 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 62 75 69 6c 74 69 6e 22 ><code><span.class="tok-builtin"
afa00 3e 40 73 68 75 66 66 6c 65 3c 2f 73 70 61 6e 3e 28 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f >@shuffle</span>(<span.class="to
afa20 6b 2d 6b 77 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 k-kw">comptime</span>.E:.<span.c
afa40 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 3a 20 lass="tok-type">type</span>,.a:.
afa60 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 62 75 69 6c 74 69 6e 22 3e 40 56 65 63 74 6f <span.class="tok-builtin">@Vecto
afa80 72 3c 2f 73 70 61 6e 3e 28 61 5f 6c 65 6e 2c 20 45 29 2c 20 62 3a 20 3c 73 70 61 6e 20 63 6c 61 r</span>(a_len,.E),.b:.<span.cla
afaa0 73 73 3d 22 74 6f 6b 2d 62 75 69 6c 74 69 6e 22 3e 40 56 65 63 74 6f 72 3c 2f 73 70 61 6e 3e 28 ss="tok-builtin">@Vector</span>(
afac0 62 5f 6c 65 6e 2c 20 45 29 2c 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e b_len,.E),.<span.class="tok-kw">
afae0 63 6f 6d 70 74 69 6d 65 3c 2f 73 70 61 6e 3e 20 6d 61 73 6b 3a 20 3c 73 70 61 6e 20 63 6c 61 73 comptime</span>.mask:.<span.clas
afb00 73 3d 22 74 6f 6b 2d 62 75 69 6c 74 69 6e 22 3e 40 56 65 63 74 6f 72 3c 2f 73 70 61 6e 3e 28 6d s="tok-builtin">@Vector</span>(m
afb20 61 73 6b 5f 6c 65 6e 2c 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e ask_len,.<span.class="tok-type">
afb40 69 33 32 3c 2f 73 70 61 6e 3e 29 29 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 62 75 i32</span>)).<span.class="tok-bu
afb60 69 6c 74 69 6e 22 3e 40 56 65 63 74 6f 72 3c 2f 73 70 61 6e 3e 28 6d 61 73 6b 5f 6c 65 6e 2c 20 iltin">@Vector</span>(mask_len,.
afb80 45 29 3c 2f 63 6f 64 65 3e 3c 2f 70 72 65 3e 0a 20 20 20 20 20 20 3c 70 3e 0a 20 20 20 20 20 20 E)</code></pre>.......<p>.......
afba0 43 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 Constructs.a.new.<a.href="#Vecto
afbc0 72 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 rs">vector</a>.by.selecting.elem
afbe0 65 6e 74 73 20 66 72 6f 6d 20 3c 63 6f 64 65 3e 61 3c 2f 63 6f 64 65 3e 20 61 6e 64 0a 20 20 20 ents.from.<code>a</code>.and....
afc00 20 20 20 3c 63 6f 64 65 3e 62 3c 2f 63 6f 64 65 3e 20 62 61 73 65 64 20 6f 6e 20 3c 63 6f 64 65 ...<code>b</code>.based.on.<code
afc20 3e 6d 61 73 6b 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 >mask</code>........</p>.......<
afc40 70 3e 0a 20 20 20 20 20 20 45 61 63 68 20 65 6c 65 6d 65 6e 74 20 69 6e 20 3c 63 6f 64 65 3e 6d p>.......Each.element.in.<code>m
afc60 61 73 6b 3c 2f 63 6f 64 65 3e 20 73 65 6c 65 63 74 73 20 61 6e 20 65 6c 65 6d 65 6e 74 20 66 72 ask</code>.selects.an.element.fr
afc80 6f 6d 20 65 69 74 68 65 72 20 3c 63 6f 64 65 3e 61 3c 2f 63 6f 64 65 3e 20 6f 72 0a 20 20 20 20 om.either.<code>a</code>.or.....
afca0 20 20 3c 63 6f 64 65 3e 62 3c 2f 63 6f 64 65 3e 2e 20 50 6f 73 69 74 69 76 65 20 6e 75 6d 62 65 ..<code>b</code>..Positive.numbe
afcc0 72 73 20 73 65 6c 65 63 74 20 66 72 6f 6d 20 3c 63 6f 64 65 3e 61 3c 2f 63 6f 64 65 3e 20 73 74 rs.select.from.<code>a</code>.st
afce0 61 72 74 69 6e 67 20 61 74 20 30 2e 0a 20 20 20 20 20 20 4e 65 67 61 74 69 76 65 20 76 61 6c 75 arting.at.0........Negative.valu
afd00 65 73 20 73 65 6c 65 63 74 20 66 72 6f 6d 20 3c 63 6f 64 65 3e 62 3c 2f 63 6f 64 65 3e 2c 20 73 es.select.from.<code>b</code>,.s
afd20 74 61 72 74 69 6e 67 20 61 74 20 3c 63 6f 64 65 3e 2d 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 tarting.at.<code>-<span.class="t
afd40 6f 6b 2d 6e 75 6d 62 65 72 22 3e 31 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 20 61 6e 64 20 67 ok-number">1</span></code>.and.g
afd60 6f 69 6e 67 20 64 6f 77 6e 2e 0a 20 20 20 20 20 20 49 74 20 69 73 20 72 65 63 6f 6d 6d 65 6e 64 oing.down........It.is.recommend
afd80 65 64 20 74 6f 20 75 73 65 20 74 68 65 20 3c 63 6f 64 65 3e 7e 3c 2f 63 6f 64 65 3e 20 6f 70 65 ed.to.use.the.<code>~</code>.ope
afda0 72 61 74 6f 72 20 66 6f 72 20 69 6e 64 65 78 65 73 20 66 72 6f 6d 20 3c 63 6f 64 65 3e 62 3c 2f rator.for.indexes.from.<code>b</
afdc0 63 6f 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 code>.......so.that.both.indexes
afde0 20 63 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 .can.start.from.<code><span.clas
afe00 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 30 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 20 28 s="tok-number">0</span></code>.(
afe20 69 2e 65 2e 20 3c 63 6f 64 65 3e 7e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 62 75 69 i.e..<code>~<span.class="tok-bui
afe40 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
afe60 6b 2d 74 79 70 65 22 3e 69 33 32 3c 2f 73 70 61 6e 3e 2c 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d k-type">i32</span>,.<span.class=
afe80 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 30 3c 2f 73 70 61 6e 3e 29 3c 2f 63 6f 64 65 3e 20 69 73 "tok-number">0</span>)</code>.is
afea0 0a 20 20 20 20 20 20 3c 63 6f 64 65 3e 2d 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e .......<code>-<span.class="tok-n
afec0 75 6d 62 65 72 22 3e 31 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 29 2e 0a 20 20 20 20 20 20 3c umber">1</span></code>)........<
afee0 2f 70 3e 0a 20 20 20 20 20 20 3c 70 3e 0a 20 20 20 20 20 20 46 6f 72 20 65 61 63 68 20 65 6c 65 /p>.......<p>.......For.each.ele
aff00 6d 65 6e 74 20 6f 66 20 3c 63 6f 64 65 3e 6d 61 73 6b 3c 2f 63 6f 64 65 3e 2c 20 69 66 20 69 74 ment.of.<code>mask</code>,.if.it
aff20 20 6f 72 20 74 68 65 20 73 65 6c 65 63 74 65 64 20 76 61 6c 75 65 20 66 72 6f 6d 0a 20 20 20 20 .or.the.selected.value.from.....
aff40 20 20 3c 63 6f 64 65 3e 61 3c 2f 63 6f 64 65 3e 20 6f 72 20 3c 63 6f 64 65 3e 62 3c 2f 63 6f 64 ..<code>a</code>.or.<code>b</cod
aff60 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 74 6f 6b 2d 6e 75 6c e>.is.<code><span.class="tok-nul
aff80 6c 22 3e 75 6e 64 65 66 69 6e 65 64 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 2c 0a 20 20 20 20 l">undefined</span></code>,.....
affa0 20 20 74 68 65 6e 20 74 68 65 20 72 65 73 75 6c 74 69 6e 67 20 65 6c 65 6d 65 6e 74 20 69 73 20 ..then.the.resulting.element.is.
affc0 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6c 6c 22 3e 75 6e 64 <code><span.class="tok-null">und
affe0 65 66 69 6e 65 64 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 2e 0a 20 20 20 20 20 20 3c 2f 70 3e efined</span></code>........</p>
b0000 0a 20 20 20 20 20 20 3c 70 3e 0a 20 20 20 20 20 20 3c 63 6f 64 65 3e 61 5f 6c 65 6e 3c 2f 63 6f .......<p>.......<code>a_len</co
b0020 64 65 3e 20 61 6e 64 20 3c 63 6f 64 65 3e 62 5f 6c 65 6e 3c 2f 63 6f 64 65 3e 20 6d 61 79 20 64 de>.and.<code>b_len</code>.may.d
b0040 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 20 65 iffer.in.length..Out-of-bounds.e
b0060 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 6d 61 lement.......indexes.in.<code>ma
b0080 73 6b 3c 2f 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 sk</code>.result.in.compile.erro
b00a0 72 73 2e 0a 20 20 20 20 20 20 3c 2f 70 3e 0a 20 20 20 20 20 20 3c 70 3e 0a 20 20 20 20 20 20 49 rs........</p>.......<p>.......I
b00c0 66 20 3c 63 6f 64 65 3e 61 3c 2f 63 6f 64 65 3e 20 6f 72 20 3c 63 6f 64 65 3e 62 3c 2f 63 6f 64 f.<code>a</code>.or.<code>b</cod
b00e0 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 74 6f 6b 2d 6e 75 6c e>.is.<code><span.class="tok-nul
b0100 6c 22 3e 75 6e 64 65 66 69 6e 65 64 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 2c 20 69 74 0a 20 l">undefined</span></code>,.it..
b0120 20 20 20 20 20 69 73 20 65 71 75 69 76 61 6c 65 6e 74 20 74 6f 20 61 20 76 65 63 74 6f 72 20 6f .....is.equivalent.to.a.vector.o
b0140 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 74 6f 6b 2d 6e 75 6c f.all.<code><span.class="tok-nul
b0160 6c 22 3e 75 6e 64 65 66 69 6e 65 64 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 20 77 69 74 68 20 l">undefined</span></code>.with.
b0180 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 20 76 65 63 the.same.length.as.the.other.vec
b01a0 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 72 65 20 3c tor........If.both.vectors.are.<
b01c0 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6c 6c 22 3e 75 6e 64 65 code><span.class="tok-null">unde
b01e0 66 69 6e 65 64 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 2c 20 3c 63 6f 64 65 3e 3c 73 70 61 6e fined</span></code>,.<code><span
b0200 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 3c 2f 73 .class="tok-builtin">@shuffle</s
b0220 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 61 20 76 65 63 74 pan></code>.returns.......a.vect
b0240 6f 72 20 77 69 74 68 20 61 6c 6c 20 65 6c 65 6d 65 6e 74 73 20 3c 63 6f 64 65 3e 3c 73 70 61 6e or.with.all.elements.<code><span
b0260 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
b0280 6e 3e 3c 2f 63 6f 64 65 3e 2e 0a 20 20 20 20 20 20 3c 2f 70 3e 0a 20 20 20 20 20 20 3c 70 3e 0a n></code>........</p>.......<p>.
b02a0 20 20 20 20 20 20 3c 63 6f 64 65 3e 45 3c 2f 63 6f 64 65 3e 20 6d 75 73 74 20 62 65 20 61 6e 20 ......<code>E</code>.must.be.an.
b02c0 3c 61 20 68 72 65 66 3d 22 23 49 6e 74 65 67 65 72 73 22 3e 69 6e 74 65 67 65 72 3c 2f 61 3e 2c <a.href="#Integers">integer</a>,
b02e0 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 0a 20 20 .<a.href="#Floats">float</a>,...
b0300 20 20 20 20 3c 61 20 68 72 65 66 3d 22 23 50 6f 69 6e 74 65 72 73 22 3e 70 6f 69 6e 74 65 72 3c ....<a.href="#Pointers">pointer<
b0320 2f 61 3e 2c 20 6f 72 20 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 /a>,.or.<code><span.class="tok-t
b0340 79 70 65 22 3e 62 6f 6f 6c 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 2e 20 54 68 65 20 6d 61 73 ype">bool</span></code>..The.mas
b0360 6b 20 6d 61 79 20 62 65 20 61 6e 79 20 76 65 63 74 6f 72 20 6c 65 6e 67 74 68 2c 20 61 6e 64 20 k.may.be.any.vector.length,.and.
b0380 69 74 73 0a 20 20 20 20 20 20 6c 65 6e 67 74 68 20 64 65 74 65 72 6d 69 6e 65 73 20 74 68 65 20 its.......length.determines.the.
b03a0 72 65 73 75 6c 74 20 6c 65 6e 67 74 68 2e 0a 20 20 20 20 20 20 3c 2f 70 3e 0a 20 20 20 20 20 20 result.length........</p>.......
b03c0 3c 66 69 67 75 72 65 3e 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
b03e0 61 70 22 3e 3c 63 69 74 65 20 63 6c 61 73 73 3d 22 66 69 6c 65 22 3e 74 65 73 74 5f 73 68 75 66 ap"><cite.class="file">test_shuf
b0400 66 6c 65 5f 62 75 69 6c 74 69 6e 2e 7a 69 67 3c 2f 63 69 74 65 3e 3c 2f 66 69 67 63 61 70 74 69 fle_builtin.zig</cite></figcapti
b0420 6f 6e 3e 3c 70 72 65 3e 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b on><pre><code><span.class="tok-k
b0440 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
b0460 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>(<
b0480 73 70 61 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
b04a0 75 6f 74 3b 3c 2f 73 70 61 6e 3e 29 3b 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b uot;</span>);.<span.class="tok-k
b04c0 77 22 3e 63 6f 6e 73 74 3c 2f 73 70 61 6e 3e 20 65 78 70 65 63 74 45 71 75 61 6c 53 74 72 69 6e w">const</span>.expectEqualStrin
b04e0 67 73 20 3d 20 73 74 64 2e 74 65 73 74 69 6e 67 2e 65 78 70 65 63 74 45 71 75 61 6c 53 74 72 69 gs.=.std.testing.expectEqualStri
b0500 6e 67 73 3b 0a 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 74 65 73 74 3c ngs;..<span.class="tok-kw">test<
b0520 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
b0540 6f 74 3b 76 65 63 74 6f 72 20 40 73 68 75 66 66 6c 65 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 20 ot;vector.@shuffle&quot;</span>.
b0560 7b 0a 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 63 6f 6e 73 74 {.....<span.class="tok-kw">const
b0580 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 69 </span>.a.=.<span.class="tok-bui
b05a0 6c 74 69 6e 22 3e 40 56 65 63 74 6f 72 3c 2f 73 70 61 6e 3e 28 3c 73 70 61 6e 20 63 6c 61 73 73 ltin">@Vector</span>(<span.class
b05c0 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 37 3c 2f 73 70 61 6e 3e 2c 20 3c 73 70 61 6e 20 63 6c ="tok-number">7</span>,.<span.cl
b05e0 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 7b 20 3c 73 70 61 6e ass="tok-type">u8</span>){.<span
b0600 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 20 3c 73 70 .class="tok-str">'o'</span>,.<sp
b0620 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 73 74 72 22 3e 27 6c 27 3c 2f 73 70 61 6e 3e 2c 20 3c an.class="tok-str">'l'</span>,.<
b0640 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>,
b0660 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
b0680 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 72 27 3c 2f 73 70 >,.<span.class="tok-str">'r'</sp
b06a0 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 7a 27 3c 2f an>,.<span.class="tok-str">'z'</
b06c0 73 70 61 6e 3e 2c 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 73 74 72 22 3e 27 77 27 span>,.<span.class="tok-str">'w'
b06e0 3c 2f 73 70 61 6e 3e 20 7d 3b 0a 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d </span>.};.....<span.class="tok-
b0700 6b 77 22 3e 63 6f 6e 73 74 3c 2f 73 70 61 6e 3e 20 62 20 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 kw">const</span>.b.=.<span.class
b0720 3d 22 74 6f 6b 2d 62 75 69 6c 74 69 6e 22 3e 40 56 65 63 74 6f 72 3c 2f 73 70 61 6e 3e 28 3c 73 ="tok-builtin">@Vector</span>(<s
b0740 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>,
b0760 20 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
b0780 3e 29 7b 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 73 74 72 22 3e 27 77 27 3c 2f 73 >){.<span.class="tok-str">'w'</s
b07a0 70 61 6e 3e 2c 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 73 74 72 22 3e 27 64 27 3c pan>,.<span.class="tok-str">'d'<
b07c0 2f 73 70 61 6e 3e 2c 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 73 74 72 22 3e 27 21 /span>,.<span.class="tok-str">'!
b07e0 27 3c 2f 73 70 61 6e 3e 2c 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 73 74 72 22 3e '</span>,.<span.class="tok-str">
b0800 27 78 27 3c 2f 73 70 61 6e 3e 20 7d 3b 0a 0a 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 'x'</span>.};......<span.class="
b0820 74 6f 6b 2d 63 6f 6d 6d 65 6e 74 22 3e 2f 2f 20 54 6f 20 73 68 75 66 66 6c 65 20 77 69 74 68 69 tok-comment">//.To.shuffle.withi
b0840 6e 20 61 20 73 69 6e 67 6c 65 20 76 65 63 74 6f 72 2c 20 70 61 73 73 20 75 6e 64 65 66 69 6e 65 n.a.single.vector,.pass.undefine
b0860 64 20 61 73 20 74 68 65 20 73 65 63 6f 6e 64 20 61 72 67 75 6d 65 6e 74 2e 3c 2f 73 70 61 6e 3e d.as.the.second.argument.</span>
b0880 0a 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 63 6f 6d 6d 65 6e 74 22 3e 2f .....<span.class="tok-comment">/
b08a0 2f 20 4e 6f 74 69 63 65 20 74 68 61 74 20 77 65 20 63 61 6e 20 72 65 2d 6f 72 64 65 72 2c 20 64 /.Notice.that.we.can.re-order,.d
b08c0 75 70 6c 69 63 61 74 65 2c 20 6f 72 20 6f 6d 69 74 20 65 6c 65 6d 65 6e 74 73 20 6f 66 20 74 68 uplicate,.or.omit.elements.of.th
b08e0 65 20 69 6e 70 75 74 20 76 65 63 74 6f 72 3c 2f 73 70 61 6e 3e 0a 20 20 20 20 3c 73 70 61 6e 20 e.input.vector</span>.....<span.
b0900 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 63 6f 6e 73 74 3c 2f 73 70 61 6e 3e 20 6d 61 73 6b class="tok-kw">const</span>.mask
b0920 31 20 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 62 75 69 6c 74 69 6e 22 3e 40 56 1.=.<span.class="tok-builtin">@V
b0940 65 63 74 6f 72 3c 2f 73 70 61 6e 3e 28 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 ector</span>(<span.class="tok-nu
b0960 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 6b mber">5</span>,.<span.class="tok
b0980 2d 74 79 70 65 22 3e 69 33 32 3c 2f 73 70 61 6e 3e 29 7b 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d -type">i32</span>){.<span.class=
b09a0 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
b09c0 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 33 3c 2f 73 70 61 6e 3e 2c 20 3c 73 70 61 6e 20 ss="tok-number">3</span>,.<span.
b09e0 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 31 3c 2f 73 70 61 6e 3e 2c 20 3c 73 70 class="tok-number">1</span>,.<sp
b0a00 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 31 3c 2f 73 70 61 6e 3e 2c 20 an.class="tok-number">1</span>,.
b0a20 3c 73 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
b0a40 3e 20 7d 3b 0a 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 63 6f >.};.....<span.class="tok-kw">co
b0a60 6e 73 74 3c 2f 73 70 61 6e 3e 20 72 65 73 31 3a 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f nst</span>.res1:.<span.class="to
b0a80 6b 2d 62 75 69 6c 74 69 6e 22 3e 40 56 65 63 74 6f 72 3c 2f 73 70 61 6e 3e 28 3c 73 70 61 6e 20 k-builtin">@Vector</span>(<span.
b0aa0 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 35 3c 2f 73 70 61 6e 3e 2c 20 3c 73 70 class="tok-number">5</span>,.<sp
b0ac0 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 3d an.class="tok-type">u8</span>).=
b0ae0 20 3c 73 70 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 .<span.class="tok-builtin">@shuf
b0b00 66 6c 65 3c 2f 73 70 61 6e 3e 28 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 fle</span>(<span.class="tok-type
b0b20 22 3e 75 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 ">u8</span>,.a,.<span.class="tok
b0b40 2d 6e 75 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 -null">undefined</span>,.mask1);
b0b60 0a 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 74 72 79 3c 2f 73 .....<span.class="tok-kw">try</s
b0b80 70 61 6e 3e 20 65 78 70 65 63 74 45 71 75 61 6c 53 74 72 69 6e 67 73 28 3c 73 70 61 6e 20 63 6c pan>.expectEqualStrings(<span.cl
b0ba0 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;<
b0bc0 2f 73 70 61 6e 3e 2c 20 26 61 6d 70 3b 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 62 75 /span>,.&amp;<span.class="tok-bu
b0be0 69 6c 74 69 6e 22 3e 40 61 73 3c 2f 73 70 61 6e 3e 28 5b 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 iltin">@as</span>([<span.class="
b0c00 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 35 3c 2f 73 70 61 6e 3e 5d 3c 73 70 61 6e 20 63 6c 61 73 73 tok-number">5</span>]<span.class
b0c20 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 75 38 3c 2f 73 70 61 6e 3e 2c 20 72 65 73 31 29 29 3b 0a 0a ="tok-type">u8</span>,.res1));..
b0c40 20 20 20 20 3c 73 70 61 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">//
b0c60 20 43 6f 6d 62 69 6e 69 6e 67 20 74 77 6f 20 76 65 63 74 6f 72 73 3c 2f 73 70 61 6e 3e 0a 20 20 .Combining.two.vectors</span>...
b0c80 20 20 3c 73 70 61 6e 20 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
b0ca0 61 6e 3e 20 6d 61 73 6b 32 20 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 62 75 69 an>.mask2.=.<span.class="tok-bui
b0cc0 6c 74 69 6e 22 3e 40 56 65 63 74 6f 72 3c 2f 73 70 61 6e 3e 28 3c 73 70 61 6e 20 63 6c 61 73 73 ltin">@Vector</span>(<span.class
b0ce0 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 36 3c 2f 73 70 61 6e 3e 2c 20 3c 73 70 61 6e 20 63 6c ="tok-number">6</span>,.<span.cl
b0d00 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 69 33 32 3c 2f 73 70 61 6e 3e 29 7b 20 2d 3c 73 70 ass="tok-type">i32</span>){.-<sp
b0d20 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 31 3c 2f 73 70 61 6e 3e 2c 20 an.class="tok-number">1</span>,.
b0d40 3c 73 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
b0d60 3e 2c 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 34 3c 2f 73 >,.<span.class="tok-number">4</s
b0d80 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
b0da0 3c 2f 73 70 61 6e 3e 2c 20 2d 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 </span>,.-<span.class="tok-numbe
b0dc0 72 22 3e 32 3c 2f 73 70 61 6e 3e 2c 20 2d 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e r">2</span>,.-<span.class="tok-n
b0de0 75 6d 62 65 72 22 3e 33 3c 2f 73 70 61 6e 3e 20 7d 3b 0a 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 umber">3</span>.};.....<span.cla
b0e00 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 63 6f 6e 73 74 3c 2f 73 70 61 6e 3e 20 72 65 73 32 3a 20 3c ss="tok-kw">const</span>.res2:.<
b0e20 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 62 75 69 6c 74 69 6e 22 3e 40 56 65 63 74 6f 72 span.class="tok-builtin">@Vector
b0e40 3c 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"
b0e60 3e 36 3c 2f 73 70 61 6e 3e 2c 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 >6</span>,.<span.class="tok-type
b0e80 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 74 6f 6b 2d ">u8</span>).=.<span.class="tok-
b0ea0 62 75 69 6c 74 69 6e 22 3e 40 73 68 75 66 66 6c 65 3c 2f 73 70 61 6e 3e 28 3c 73 70 61 6e 20 63 builtin">@shuffle</span>(<span.c
b0ec0 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 2c 20 62 2c lass="tok-type">u8</span>,.a,.b,
b0ee0 20 6d 61 73 6b 32 29 3b 0a 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 .mask2);.....<span.class="tok-kw
b0f00 22 3e 74 72 79 3c 2f 73 70 61 6e 3e 20 65 78 70 65 63 74 45 71 75 61 6c 53 74 72 69 6e 67 73 28 ">try</span>.expectEqualStrings(
b0f20 3c 73 70 61 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
b0f40 64 21 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 2c 20 26 61 6d 70 3b 3c 73 70 61 6e 20 63 6c 61 73 d!&quot;</span>,.&amp;<span.clas
b0f60 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
b0f80 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 5d 3c 73 n.class="tok-number">6</span>]<s
b0fa0 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>,.
b0fc0 72 65 73 32 29 29 3b 0a 7d 3c 2f 63 6f 64 65 3e 3c 2f 70 72 65 3e 3c 2f 66 69 67 75 72 65 3e 3c res2));.}</code></pre></figure><
b0fe0 66 69 67 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-
b1000 63 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
b1020 70 3e 24 20 3c 6b 62 64 3e 7a 69 67 20 74 65 73 74 20 74 65 73 74 5f 73 68 75 66 66 6c 65 5f 62 p>$.<kbd>zig.test.test_shuffle_b
b1040 75 69 6c 74 69 6e 2e 7a 69 67 3c 2f 6b 62 64 3e 0a 31 2f 31 20 74 65 73 74 5f 73 68 75 66 66 6c uiltin.zig</kbd>.1/1.test_shuffl
b1060 65 5f 62 75 69 6c 74 69 6e 2e 74 65 73 74 2e 76 65 63 74 6f 72 20 40 73 68 75 66 66 6c 65 2e 2e e_builtin.test.vector.@shuffle..
b1080 2e 4f 4b 0a 41 6c 6c 20 31 20 74 65 73 74 73 20 70 61 73 73 65 64 2e 0a 3c 2f 73 61 6d 70 3e 3c .OK.All.1.tests.passed..</samp><
b10a0 2f 70 72 65 3e 3c 2f 66 69 67 75 72 65 3e 0a 0a 20 20 20 20 20 20 3c 70 3e 53 65 65 20 61 6c 73 /pre></figure>........<p>See.als
b10c0 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
b10e0 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 20 ">Vectors</a></li>.</ul>........
b1100 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 3d ........<h3.id="sizeOf"><a.href=
b1120 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 2f "nav.xhtml#toc-sizeOf">@sizeOf</
b1140 61 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 22 a>.<a.class="hdr".href="#sizeOf"
b1160 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><
b1180 73 70 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
b11a0 3c 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
b11c0 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
b11e0 2d 74 79 70 65 22 3e 74 79 70 65 3c 2f 73 70 61 6e 3e 29 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d -type">type</span>).<span.class=
b1200 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></
b1220 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
b1240 20 66 75 6e 63 74 69 6f 6e 20 72 65 74 75 72 6e 73 20 74 68 65 20 6e 75 6d 62 65 72 20 6f 66 20 .function.returns.the.number.of.
b1260 62 79 74 65 73 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 54 3c bytes.it.takes.to.store.<code>T<
b1280 2f 63 6f 64 65 3e 20 69 6e 20 6d 65 6d 6f 72 79 2e 0a 20 20 20 20 20 20 54 68 65 20 72 65 73 75 /code>.in.memory........The.resu
b12a0 6c 74 20 69 73 20 61 20 74 61 72 67 65 74 2d 73 70 65 63 69 66 69 63 20 63 6f 6d 70 69 6c 65 20 lt.is.a.target-specific.compile.
b12c0 74 69 6d 65 20 63 6f 6e 73 74 61 6e 74 2e 0a 20 20 20 20 20 20 3c 2f 70 3e 0a 20 20 20 20 20 20 time.constant........</p>.......
b12e0 3c 70 3e 0a 20 20 20 20 20 20 54 68 69 73 20 73 69 7a 65 20 6d 61 79 20 63 6f 6e 74 61 69 6e 20 <p>.......This.size.may.contain.
b1300 70 61 64 64 69 6e 67 20 62 79 74 65 73 2e 20 49 66 20 74 68 65 72 65 20 77 65 72 65 20 74 77 6f padding.bytes..If.there.were.two
b1320 20 63 6f 6e 73 65 63 75 74 69 76 65 20 54 20 69 6e 20 6d 65 6d 6f 72 79 2c 20 74 68 65 20 70 61 .consecutive.T.in.memory,.the.pa
b1340 64 64 69 6e 67 20 77 6f 75 6c 64 20 62 65 20 74 68 65 20 6f 66 66 73 65 74 0a 20 20 20 20 20 20 dding.would.be.the.offset.......
b1360 69 6e 20 62 79 74 65 73 20 62 65 74 77 65 65 6e 20 65 6c 65 6d 65 6e 74 20 61 74 20 69 6e 64 65 in.bytes.between.element.at.inde
b1380 78 20 30 20 61 6e 64 20 74 68 65 20 65 6c 65 6d 65 6e 74 20 61 74 20 69 6e 64 65 78 20 31 2e 20 x.0.and.the.element.at.index.1..
b13a0 46 6f 72 20 3c 61 20 68 72 65 66 3d 22 23 49 6e 74 65 67 65 72 73 22 3e 69 6e 74 65 67 65 72 3c For.<a.href="#Integers">integer<
b13c0 2f 61 3e 2c 0a 20 20 20 20 20 20 63 6f 6e 73 69 64 65 72 20 77 68 65 74 68 65 72 20 79 6f 75 20 /a>,.......consider.whether.you.
b13e0 77 61 6e 74 20 74 6f 20 75 73 65 20 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 want.to.use.<code><span.class="t
b1400 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 63 ok-builtin">@sizeOf</span>(T)</c
b1420 6f 64 65 3e 20 6f 72 0a 20 20 20 20 20 20 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d ode>.or.......<code><span.class=
b1440 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 54 "tok-builtin">@typeInfo</span>(T
b1460 29 2e 69 6e 74 2e 62 69 74 73 3c 2f 63 6f 64 65 3e 2e 0a 20 20 20 20 20 20 3c 2f 70 3e 0a 20 20 ).int.bits</code>........</p>...
b1480 20 20 20 20 3c 70 3e 0a 20 20 20 20 20 20 54 68 69 73 20 66 75 6e 63 74 69 6f 6e 20 6d 65 61 73 ....<p>.......This.function.meas
b14a0 75 72 65 73 20 74 68 65 20 73 69 7a 65 20 61 74 20 72 75 6e 74 69 6d 65 2e 20 46 6f 72 20 74 79 ures.the.size.at.runtime..For.ty
b14c0 70 65 73 20 74 68 61 74 20 61 72 65 20 64 69 73 61 6c 6c 6f 77 65 64 20 61 74 20 72 75 6e 74 69 pes.that.are.disallowed.at.runti
b14e0 6d 65 2c 20 73 75 63 68 20 61 73 0a 20 20 20 20 20 20 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c me,.such.as.......<code><span.cl
b1500 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 63 6f 6d 70 74 69 6d 65 5f 69 6e 74 3c 2f 73 70 61 ass="tok-type">comptime_int</spa
b1520 6e 3e 3c 2f 63 6f 64 65 3e 20 61 6e 64 20 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d n></code>.and.<code><span.class=
b1540 22 74 6f 6b 2d 74 79 70 65 22 3e 74 79 70 65 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 2c 20 74 "tok-type">type</span></code>,.t
b1560 68 65 20 72 65 73 75 6c 74 20 69 73 20 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 he.result.is.<code><span.class="
b1580 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 30 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 2e 0a 20 20 20 tok-number">0</span></code>.....
b15a0 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
b15c0 6c 3e 0a 3c 6c 69 3e 3c 61 20 68 72 65 66 3d 22 23 62 69 74 53 69 7a 65 4f 66 22 3e 40 62 69 74 l>.<li><a.href="#bitSizeOf">@bit
b15e0 53 69 7a 65 4f 66 3c 2f 61 3e 3c 2f 6c 69 3e 0a 3c 6c 69 3e 3c 61 20 68 72 65 66 3d 22 23 74 79 SizeOf</a></li>.<li><a.href="#ty
b1600 70 65 49 6e 66 6f 22 3e 40 74 79 70 65 49 6e 66 6f 3c 2f 61 3e 3c 2f 6c 69 3e 0a 3c 2f 75 6c 3e peInfo">@typeInfo</a></li>.</ul>
b1620 0a 0a 20 20 20 20 20 20 0a 0a 20 20 20 20 20 20 3c 68 33 20 69 64 3d 22 73 70 6c 61 74 22 3e 3c ................<h3.id="splat"><
b1640 61 20 68 72 65 66 3d 22 6e 61 76 2e 78 68 74 6d 6c 23 74 6f 63 2d 73 70 6c 61 74 22 3e 40 73 70 a.href="nav.xhtml#toc-splat">@sp
b1660 6c 61 74 3c 2f 61 3e 20 3c 61 20 63 6c 61 73 73 3d 22 68 64 72 22 20 68 72 65 66 3d 22 23 73 70 lat</a>.<a.class="hdr".href="#sp
b1680 6c 61 74 22 3e c2 a7 3c 2f 61 3e 3c 2f 68 33 3e 0a 0a 20 20 20 20 20 20 3c 70 72 65 3e 3c 63 6f lat">..</a></h3>........<pre><co
b16a0 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 62 75 69 6c 74 69 6e 22 3e 40 73 70 de><span.class="tok-builtin">@sp
b16c0 6c 61 74 3c 2f 73 70 61 6e 3e 28 73 63 61 6c 61 72 3a 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 lat</span>(scalar:.<span.class="
b16e0 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
b1700 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 61 6e 79 74 79 70 65 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 ass="tok-kw">anytype</span></cod
b1720 65 3e 3c 2f 70 72 65 3e 0a 20 20 20 20 20 20 3c 70 3e 0a 20 20 20 20 20 20 50 72 6f 64 75 63 65 e></pre>.......<p>.......Produce
b1740 73 20 61 6e 20 61 72 72 61 79 20 6f 72 20 76 65 63 74 6f 72 20 77 68 65 72 65 20 65 61 63 68 20 s.an.array.or.vector.where.each.
b1760 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 3c 63 6f 64 65 element.is.the.value.......<code
b1780 3e 73 63 61 6c 61 72 3c 2f 63 6f 64 65 3e 2e 20 54 68 65 20 72 65 74 75 72 6e 20 74 79 70 65 20 >scalar</code>..The.return.type.
b17a0 61 6e 64 20 74 68 75 73 20 74 68 65 20 6c 65 6e 67 74 68 20 6f 66 20 74 68 65 0a 20 20 20 20 20 and.thus.the.length.of.the......
b17c0 20 76 65 63 74 6f 72 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 .vector.is.inferred........</p>.
b17e0 20 20 20 20 20 20 3c 66 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=
b1800 22 7a 69 67 2d 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
b1820 74 5f 73 70 6c 61 74 5f 62 75 69 6c 74 69 6e 2e 7a 69 67 3c 2f 63 69 74 65 3e 3c 2f 66 69 67 63 t_splat_builtin.zig</cite></figc
b1840 61 70 74 69 6f 6e 3e 3c 70 72 65 3e 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 aption><pre><code><span.class="t
b1860 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.
b1880 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
b18a0 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
b18c0 74 64 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 29 3b 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 td&quot;</span>);.<span.class="t
b18e0 6f 6b 2d 6b 77 22 3e 63 6f 6e 73 74 3c 2f 73 70 61 6e 3e 20 65 78 70 65 63 74 45 71 75 61 6c 53 ok-kw">const</span>.expectEqualS
b1900 6c 69 63 65 73 20 3d 20 73 74 64 2e 74 65 73 74 69 6e 67 2e 65 78 70 65 63 74 45 71 75 61 6c 53 lices.=.std.testing.expectEqualS
b1920 6c 69 63 65 73 3b 0a 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 74 65 73 lices;..<span.class="tok-kw">tes
b1940 74 3c 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">&
b1960 71 75 6f 74 3b 76 65 63 74 6f 72 20 40 73 70 6c 61 74 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 20 quot;vector.@splat&quot;</span>.
b1980 7b 0a 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 63 6f 6e 73 74 {.....<span.class="tok-kw">const
b19a0 3c 2f 73 70 61 6e 3e 20 73 63 61 6c 61 72 3a 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b </span>.scalar:.<span.class="tok
b19c0 2d 74 79 70 65 22 3e 75 33 32 3c 2f 73 70 61 6e 3e 20 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d -type">u32</span>.=.<span.class=
b19e0 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 35 3c 2f 73 70 61 6e 3e 3b 0a 20 20 20 20 3c 73 70 61 6e "tok-number">5</span>;.....<span
b1a00 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 63 6f 6e 73 74 3c 2f 73 70 61 6e 3e 20 72 65 73 .class="tok-kw">const</span>.res
b1a20 75 6c 74 3a 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 62 75 69 6c 74 69 6e 22 3e 40 ult:.<span.class="tok-builtin">@
b1a40 56 65 63 74 6f 72 3c 2f 73 70 61 6e 3e 28 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e Vector</span>(<span.class="tok-n
b1a60 75 6d 62 65 72 22 3e 34 3c 2f 73 70 61 6e 3e 2c 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f umber">4</span>,.<span.class="to
b1a80 6b 2d 74 79 70 65 22 3e 75 33 32 3c 2f 73 70 61 6e 3e 29 20 3d 20 3c 73 70 61 6e 20 63 6c 61 73 k-type">u32</span>).=.<span.clas
b1aa0 73 3d 22 74 6f 6b 2d 62 75 69 6c 74 69 6e 22 3e 40 73 70 6c 61 74 3c 2f 73 70 61 6e 3e 28 73 63 s="tok-builtin">@splat</span>(sc
b1ac0 61 6c 61 72 29 3b 0a 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e alar);.....<span.class="tok-kw">
b1ae0 74 72 79 3c 2f 73 70 61 6e 3e 20 65 78 70 65 63 74 45 71 75 61 6c 53 6c 69 63 65 73 28 3c 73 70 try</span>.expectEqualSlices(<sp
b1b00 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>,.
b1b20 26 61 6d 70 3b 5b 5f 5d 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 75 &amp;[_]<span.class="tok-type">u
b1b40 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
b1b60 65 72 22 3e 35 3c 2f 73 70 61 6e 3e 2c 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e er">5</span>,.<span.class="tok-n
b1b80 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
b1ba0 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=
b1bc0 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 35 3c 2f 73 70 61 6e 3e 20 7d 2c 20 26 61 6d 70 3b 3c 73 "tok-number">5</span>.},.&amp;<s
b1be0 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 62 75 69 6c 74 69 6e 22 3e 40 61 73 3c 2f 73 70 61 pan.class="tok-builtin">@as</spa
b1c00 6e 3e 28 5b 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 34 3c 2f n>([<span.class="tok-number">4</
b1c20 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 33 32 span>]<span.class="tok-type">u32
b1c40 3c 2f 73 70 61 6e 3e 2c 20 72 65 73 75 6c 74 29 29 3b 0a 7d 0a 0a 3c 73 70 61 6e 20 63 6c 61 73 </span>,.result));.}..<span.clas
b1c60 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
b1c80 73 73 3d 22 74 6f 6b 2d 73 74 72 22 3e 26 71 75 6f 74 3b 61 72 72 61 79 20 40 73 70 6c 61 74 26 ss="tok-str">&quot;array.@splat&
b1ca0 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 20 7b 0a 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 quot;</span>.{.....<span.class="
b1cc0 74 6f 6b 2d 6b 77 22 3e 63 6f 6e 73 74 3c 2f 73 70 61 6e 3e 20 73 63 61 6c 61 72 3a 20 3c 73 70 tok-kw">const</span>.scalar:.<sp
b1ce0 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>.=
b1d00 20 3c 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
b1d20 6e 3e 3b 0a 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 63 6f 6e n>;.....<span.class="tok-kw">con
b1d40 73 74 3c 2f 73 70 61 6e 3e 20 72 65 73 75 6c 74 3a 20 5b 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 st</span>.result:.[<span.class="
b1d60 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 34 3c 2f 73 70 61 6e 3e 5d 3c 73 70 61 6e 20 63 6c 61 73 73 tok-number">4</span>]<span.class
b1d80 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
b1da0 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>
b1dc0 28 73 63 61 6c 61 72 29 3b 0a 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b (scalar);.....<span.class="tok-k
b1de0 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 53 6c 69 63 65 73 28 w">try</span>.expectEqualSlices(
b1e00 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
b1e20 3e 2c 20 26 61 6d 70 3b 5b 5f 5d 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 >,.&amp;[_]<span.class="tok-type
b1e40 22 3e 75 33 32 3c 2f 73 70 61 6e 3e 7b 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e ">u32</span>{.<span.class="tok-n
b1e60 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
b1e80 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=
b1ea0 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 35 3c 2f 73 70 61 6e 3e 2c 20 3c 73 70 61 6e 20 63 6c 61 "tok-number">5</span>,.<span.cla
b1ec0 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 35 3c 2f 73 70 61 6e 3e 20 7d 2c 20 26 61 6d 70 ss="tok-number">5</span>.},.&amp
b1ee0 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 61 73 3c 2f ;<span.class="tok-builtin">@as</
b1f00 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 65 72 22 3e span>([<span.class="tok-number">
b1f20 34 3c 2f 73 70 61 6e 3e 5d 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 4</span>]<span.class="tok-type">
b1f40 75 33 32 3c 2f 73 70 61 6e 3e 2c 20 72 65 73 75 6c 74 29 29 3b 0a 7d 3c 2f 63 6f 64 65 3e 3c 2f u32</span>,.result));.}</code></
b1f60 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
b1f80 20 63 6c 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
b1fa0 74 69 6f 6e 3e 3c 70 72 65 3e 3c 73 61 6d 70 3e 24 20 3c 6b 62 64 3e 7a 69 67 20 74 65 73 74 20 tion><pre><samp>$.<kbd>zig.test.
b1fc0 74 65 73 74 5f 73 70 6c 61 74 5f 62 75 69 6c 74 69 6e 2e 7a 69 67 3c 2f 6b 62 64 3e 0a 31 2f 32 test_splat_builtin.zig</kbd>.1/2
b1fe0 20 74 65 73 74 5f 73 70 6c 61 74 5f 62 75 69 6c 74 69 6e 2e 74 65 73 74 2e 76 65 63 74 6f 72 20 .test_splat_builtin.test.vector.
b2000 40 73 70 6c 61 74 2e 2e 2e 4f 4b 0a 32 2f 32 20 74 65 73 74 5f 73 70 6c 61 74 5f 62 75 69 6c 74 @splat...OK.2/2.test_splat_built
b2020 69 6e 2e 74 65 73 74 2e 61 72 72 61 79 20 40 73 70 6c 61 74 2e 2e 2e 4f 4b 0a 41 6c 6c 20 32 20 in.test.array.@splat...OK.All.2.
b2040 74 65 73 74 73 20 70 61 73 73 65 64 2e 0a 3c 2f 73 61 6d 70 3e 3c 2f 70 72 65 3e 3c 2f 66 69 67 tests.passed..</samp></pre></fig
b2060 75 72 65 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 73 63 61 6c ure>........<p>.......<code>scal
b2080 61 72 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 22 23 49 ar</code>.must.be.an.<a.href="#I
b20a0 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 3d 22 23 ntegers">integer</a>,.<a.href="#
b20c0 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 20 20 20 Primitive-Types">bool</a>,......
b20e0 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 20 6f 72 .<a.href="#Floats">float</a>,.or
b2100 20 3c 61 20 68 72 65 66 3d 22 23 50 6f 69 6e 74 65 72 73 22 3e 70 6f 69 6e 74 65 72 3c 2f 61 3e .<a.href="#Pointers">pointer</a>
b2120 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:<
b2140 2f 70 3e 3c 75 6c 3e 0a 3c 6c 69 3e 3c 61 20 68 72 65 66 3d 22 23 56 65 63 74 6f 72 73 22 3e 56 /p><ul>.<li><a.href="#Vectors">V
b2160 65 63 74 6f 72 73 3c 2f 61 3e 3c 2f 6c 69 3e 0a 3c 6c 69 3e 3c 61 20 68 72 65 66 3d 22 23 73 68 ectors</a></li>.<li><a.href="#sh
b2180 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 3e 0a 0a uffle">@shuffle</a></li>.</ul>..
b21a0 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 3e 3c 61 ..............<h3.id="reduce"><a
b21c0 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 40 72 65 .href="nav.xhtml#toc-reduce">@re
b21e0 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 22 23 72 duce</a>.<a.class="hdr".href="#r
b2200 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 65 3e 3c educe">..</a></h3>........<pre><
b2220 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 62 75 69 6c 74 69 6e 22 3e 40 code><span.class="tok-builtin">@
b2240 72 65 64 75 63 65 3c 2f 73 70 61 6e 3e 28 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b reduce</span>(<span.class="tok-k
b2260 77 22 3e 63 6f 6d 70 74 69 6d 65 3c 2f 73 70 61 6e 3e 20 6f 70 3a 20 73 74 64 2e 6c 61 6e 67 2e w">comptime</span>.op:.std.lang.
b2280 52 65 64 75 63 65 4f 70 2c 20 76 61 6c 75 65 3a 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f ReduceOp,.value:.<span.class="to
b22a0 6b 2d 6b 77 22 3e 61 6e 79 74 79 70 65 3c 2f 73 70 61 6e 3e 29 20 45 3c 2f 63 6f 64 65 3e 3c 2f k-kw">anytype</span>).E</code></
b22c0 70 72 65 3e 0a 20 20 20 20 20 20 3c 70 3e 0a 20 20 20 20 20 20 54 72 61 6e 73 66 6f 72 6d 73 20 pre>.......<p>.......Transforms.
b22e0 61 20 3c 61 20 68 72 65 66 3d 22 23 56 65 63 74 6f 72 73 22 3e 76 65 63 74 6f 72 3c 2f 61 3e 20 a.<a.href="#Vectors">vector</a>.
b2300 69 6e 74 6f 20 61 20 73 63 61 6c 61 72 20 76 61 6c 75 65 20 28 6f 66 20 74 79 70 65 20 3c 63 6f into.a.scalar.value.(of.type.<co
b2320 64 65 3e 45 3c 2f 63 6f 64 65 3e 29 0a 20 20 20 20 20 20 62 79 20 70 65 72 66 6f 72 6d 69 6e 67 de>E</code>).......by.performing
b2340 20 61 20 73 65 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 .a.sequential.horizontal.reducti
b2360 6f 6e 20 6f 66 20 69 74 73 20 65 6c 65 6d 65 6e 74 73 20 75 73 69 6e 67 20 74 68 65 0a 20 20 20 on.of.its.elements.using.the....
b2380 20 20 20 73 70 65 63 69 66 69 65 64 20 6f 70 65 72 61 74 6f 72 20 3c 63 6f 64 65 3e 6f 70 3c 2f ...specified.operator.<code>op</
b23a0 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>.....
b23c0 20 20 4e 6f 74 20 65 76 65 72 79 20 6f 70 65 72 61 74 6f 72 20 69 73 20 61 76 61 69 6c 61 62 6c ..Not.every.operator.is.availabl
b23e0 65 20 66 6f 72 20 65 76 65 72 79 20 76 65 63 74 6f 72 20 65 6c 65 6d 65 6e 74 20 74 79 70 65 3a e.for.every.vector.element.type:
b2400 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>..........
b2420 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 6c 65 .<li>Every.operator.is.available
b2440 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 65 72 .for.<a.href="#Integers">integer
b2460 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 20 20 20 20 3c 6c 69 </a>.vectors.</li>...........<li
b2480 3e 3c 63 6f 64 65 3e 2e 41 6e 64 3c 2f 63 6f 64 65 3e 2c 20 3c 63 6f 64 65 3e 2e 4f 72 3c 2f 63 ><code>.And</code>,.<code>.Or</c
b24a0 6f 64 65 3e 2c 0a 20 20 20 20 20 20 20 20 20 20 20 20 3c 63 6f 64 65 3e 2e 58 6f 72 3c 2f 63 6f ode>,.............<code>.Xor</co
b24c0 64 65 3e 20 61 72 65 20 61 64 64 69 74 69 6f 6e 61 6c 6c 79 20 61 76 61 69 6c 61 62 6c 65 20 66 de>.are.additionally.available.f
b24e0 6f 72 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 or.............<code><span.class
b2500 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 62 6f 6f 6c 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 20 76 ="tok-type">bool</span></code>.v
b2520 65 63 74 6f 72 73 2c 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 ectors,</li>...........<li><code
b2540 3e 2e 4d 69 6e 3c 2f 63 6f 64 65 3e 2c 20 3c 63 6f 64 65 3e 2e 4d 61 78 3c 2f 63 6f 64 65 3e 2c >.Min</code>,.<code>.Max</code>,
b2560 0a 20 20 20 20 20 20 20 20 20 20 20 20 3c 63 6f 64 65 3e 2e 41 64 64 3c 2f 63 6f 64 65 3e 2c 20 .............<code>.Add</code>,.
b2580 3c 63 6f 64 65 3e 2e 4d 75 6c 3c 2f 63 6f 64 65 3e 20 61 72 65 0a 20 20 20 20 20 20 20 20 20 20 <code>.Mul</code>.are...........
b25a0 20 20 61 64 64 69 74 69 6f 6e 61 6c 6c 79 20 61 76 61 69 6c 61 62 6c 65 20 66 6f 72 20 3c 61 20 ..additionally.available.for.<a.
b25c0 68 72 65 66 3d 22 23 46 6c 6f 61 74 73 22 3e 66 6c 6f 61 74 69 6e 67 20 70 6f 69 6e 74 3c 2f 61 href="#Floats">floating.point</a
b25e0 3e 20 76 65 63 74 6f 72 73 2c 3c 2f 6c 69 3e 0a 20 20 20 20 20 20 3c 2f 75 6c 3e 0a 20 20 20 20 >.vectors,</li>.......</ul>.....
b2600 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 3e 2e 41 64 64 ..<p>.......Note.that.<code>.Add
b2620 3c 2f 63 6f 64 65 3e 20 61 6e 64 20 3c 63 6f 64 65 3e 2e 4d 75 6c 3c 2f 63 6f 64 65 3e 0a 20 20 </code>.and.<code>.Mul</code>...
b2640 20 20 20 20 72 65 64 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 ....reductions.on.integral.types
b2660 20 61 72 65 20 77 72 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 .are.wrapping;.when.applied.on.f
b2680 6c 6f 61 74 69 6e 67 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 loating.point.......types.the.op
b26a0 65 72 61 74 69 6f 6e 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 eration.associativity.is.preserv
b26c0 65 64 2c 20 75 6e 6c 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 ed,.unless.the.float.mode.is....
b26e0 20 20 20 73 65 74 20 74 6f 20 3c 63 6f 64 65 3e 2e 6f 70 74 69 6d 69 7a 65 64 3c 2f 63 6f 64 65 ...set.to.<code>.optimized</code
b2700 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 66 69 67 >........</p>.......<figure><fig
b2720 63 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
b2740 61 73 73 3d 22 66 69 6c 65 22 3e 74 65 73 74 5f 72 65 64 75 63 65 5f 62 75 69 6c 74 69 6e 2e 7a ass="file">test_reduce_builtin.z
b2760 69 67 3c 2f 63 69 74 65 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
b2780 3e 3c 73 70 61 6e 20 63 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
b27a0 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
b27c0 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
b27e0 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>);
b2800 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 63 6f 6e 73 74 3c 2f 73 70 61 .<span.class="tok-kw">const</spa
b2820 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
b2840 65 63 74 45 71 75 61 6c 3b 0a 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e ectEqual;..<span.class="tok-kw">
b2860 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
b2880 22 3e 26 71 75 6f 74 3b 76 65 63 74 6f 72 20 40 72 65 64 75 63 65 26 71 75 6f 74 3b 3c 2f 73 70 ">&quot;vector.@reduce&quot;</sp
b28a0 61 6e 3e 20 7b 0a 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 63 an>.{.....<span.class="tok-kw">c
b28c0 6f 6e 73 74 3c 2f 73 70 61 6e 3e 20 56 20 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b onst</span>.V.=.<span.class="tok
b28e0 2d 62 75 69 6c 74 69 6e 22 3e 40 56 65 63 74 6f 72 3c 2f 73 70 61 6e 3e 28 3c 73 70 61 6e 20 63 -builtin">@Vector</span>(<span.c
b2900 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
b2920 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 69 33 32 3c 2f 73 70 61 6e 3e 29 3b 0a n.class="tok-type">i32</span>);.
b2940 20 20 20 20 3c 73 70 61 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</
b2960 73 70 61 6e 3e 20 76 61 6c 75 65 20 3d 20 56 7b 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f span>.value.=.V{.<span.class="to
b2980 6b 2d 6e 75 6d 62 65 72 22 3e 31 3c 2f 73 70 61 6e 3e 2c 20 2d 3c 73 70 61 6e 20 63 6c 61 73 73 k-number">1</span>,.-<span.class
b29a0 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
b29c0 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 31 3c 2f 73 70 61 6e 3e 2c 20 2d 3c 73 70 61 ass="tok-number">1</span>,.-<spa
b29e0 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 31 3c 2f 73 70 61 6e 3e 20 7d 3b n.class="tok-number">1</span>.};
b2a00 0a 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 63 6f 6e 73 74 3c .....<span.class="tok-kw">const<
b2a20 2f 73 70 61 6e 3e 20 72 65 73 75 6c 74 20 3d 20 76 61 6c 75 65 20 26 67 74 3b 20 3c 73 70 61 6e /span>.result.=.value.&gt;.<span
b2a40 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>(
b2a60 56 2c 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 62 75 69 6c 74 69 6e 22 3e 40 73 70 V,.<span.class="tok-builtin">@sp
b2a80 6c 61 74 3c 2f 73 70 61 6e 3e 28 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 lat</span>(<span.class="tok-numb
b2aa0 65 72 22 3e 30 3c 2f 73 70 61 6e 3e 29 29 3b 0a 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d er">0</span>));.....<span.class=
b2ac0 22 74 6f 6b 2d 63 6f 6d 6d 65 6e 74 22 3e 2f 2f 20 72 65 73 75 6c 74 20 69 73 20 7b 20 74 72 75 "tok-comment">//.result.is.{.tru
b2ae0 65 2c 20 66 61 6c 73 65 2c 20 74 72 75 65 2c 20 66 61 6c 73 65 20 7d 3b 3c 2f 73 70 61 6e 3e 0a e,.false,.true,.false.};</span>.
b2b00 20 20 20 20 3c 73 70 61 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
b2b20 61 6e 3e 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 63 6f 6d 70 74 69 6d an>.<span.class="tok-kw">comptim
b2b40 65 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 e</span>.expectEqual(<span.class
b2b60 3d 22 74 6f 6b 2d 62 75 69 6c 74 69 6e 22 3e 40 56 65 63 74 6f 72 3c 2f 73 70 61 6e 3e 28 3c 73 ="tok-builtin">@Vector</span>(<s
b2b80 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>,
b2ba0 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 62 6f 6f 6c 3c 2f 73 70 .<span.class="tok-type">bool</sp
b2bc0 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 22 3e an>),.<span.class="tok-builtin">
b2be0 40 54 79 70 65 4f 66 3c 2f 73 70 61 6e 3e 28 72 65 73 75 6c 74 29 29 3b 0a 20 20 20 20 3c 73 70 @TypeOf</span>(result));.....<sp
b2c00 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 63 6f 6e 73 74 3c 2f 73 70 61 6e 3e 20 69 an.class="tok-kw">const</span>.i
b2c20 73 5f 61 6c 6c 5f 74 72 75 65 20 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 62 75 s_all_true.=.<span.class="tok-bu
b2c40 69 6c 74 69 6e 22 3e 40 72 65 64 75 63 65 3c 2f 73 70 61 6e 3e 28 2e 41 6e 64 2c 20 72 65 73 75 iltin">@reduce</span>(.And,.resu
b2c60 6c 74 29 3b 0a 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 74 72 lt);.....<span.class="tok-kw">tr
b2c80 79 3c 2f 73 70 61 6e 3e 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 63 6f y</span>.<span.class="tok-kw">co
b2ca0 6d 70 74 69 6d 65 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 mptime</span>.expectEqual(<span.
b2cc0 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
b2ce0 70 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<
b2d00 2f 73 70 61 6e 3e 28 69 73 5f 61 6c 6c 5f 74 72 75 65 29 29 3b 0a 20 20 20 20 3c 73 70 61 6e 20 /span>(is_all_true));.....<span.
b2d20 63 6c 61 73 73 3d 22 74 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
b2d40 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 6c 6c 22 3e 66 61 6c Equal(<span.class="tok-null">fal
b2d60 73 65 3c 2f 73 70 61 6e 3e 2c 20 69 73 5f 61 6c 6c 5f 74 72 75 65 29 3b 0a 7d 3c 2f 63 6f 64 65 se</span>,.is_all_true);.}</code
b2d80 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
b2da0 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
b2dc0 63 61 70 74 69 6f 6e 3e 3c 70 72 65 3e 3c 73 61 6d 70 3e 24 20 3c 6b 62 64 3e 7a 69 67 20 74 65 caption><pre><samp>$.<kbd>zig.te
b2de0 73 74 20 74 65 73 74 5f 72 65 64 75 63 65 5f 62 75 69 6c 74 69 6e 2e 7a 69 67 3c 2f 6b 62 64 3e st.test_reduce_builtin.zig</kbd>
b2e00 0a 31 2f 31 20 74 65 73 74 5f 72 65 64 75 63 65 5f 62 75 69 6c 74 69 6e 2e 74 65 73 74 2e 76 65 .1/1.test_reduce_builtin.test.ve
b2e20 63 74 6f 72 20 40 72 65 64 75 63 65 2e 2e 2e 4f 4b 0a 41 6c 6c 20 31 20 74 65 73 74 73 20 70 61 ctor.@reduce...OK.All.1.tests.pa
b2e40 73 73 65 64 2e 0a 3c 2f 73 61 6d 70 3e 3c 2f 70 72 65 3e 3c 2f 66 69 67 75 72 65 3e 0a 0a 20 20 ssed..</samp></pre></figure>....
b2e60 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.
b2e80 68 72 65 66 3d 22 23 56 65 63 74 6f 72 73 22 3e 56 65 63 74 6f 72 73 3c 2f 61 3e 3c 2f 6c 69 3e href="#Vectors">Vectors</a></li>
b2ea0 0a 3c 6c 69 3e 3c 61 20 68 72 65 66 3d 22 23 73 65 74 46 6c 6f 61 74 4d 6f 64 65 22 3e 40 73 65 .<li><a.href="#setFloatMode">@se
b2ec0 74 46 6c 6f 61 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 tFloatMode</a></li>.</ul>.......
b2ee0 20 0a 0a 20 20 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 .........<h3.id="src"><a.href="n
b2f00 61 76 2e 78 68 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 av.xhtml#toc-src">@src</a>.<a.cl
b2f20 61 73 73 3d 22 68 64 72 22 20 68 72 65 66 3d 22 23 73 72 63 22 3e c2 a7 3c 2f 61 3e 3c 2f 68 33 ass="hdr".href="#src">..</a></h3
b2f40 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=
b2f60 22 74 6f 6b 2d 62 75 69 6c 74 69 6e 22 3e 40 73 72 63 3c 2f 73 70 61 6e 3e 28 29 20 73 74 64 2e "tok-builtin">@src</span>().std.
b2f80 6c 61 6e 67 2e 53 6f 75 72 63 65 4c 6f 63 61 74 69 6f 6e 3c 2f 63 6f 64 65 3e 3c 2f 70 72 65 3e lang.SourceLocation</code></pre>
b2fa0 0a 20 20 20 20 20 20 3c 70 3e 0a 20 20 20 20 20 20 52 65 74 75 72 6e 73 20 61 20 3c 63 6f 64 65 .......<p>.......Returns.a.<code
b2fc0 3e 53 6f 75 72 63 65 4c 6f 63 61 74 69 6f 6e 3c 2f 63 6f 64 65 3e 20 73 74 72 75 63 74 20 72 65 >SourceLocation</code>.struct.re
b2fe0 70 72 65 73 65 6e 74 69 6e 67 20 74 68 65 20 66 75 6e 63 74 69 6f 6e 27 73 20 6e 61 6d 65 20 61 presenting.the.function's.name.a
b3000 6e 64 20 6c 6f 63 61 74 69 6f 6e 20 69 6e 20 74 68 65 20 73 6f 75 72 63 65 20 63 6f 64 65 2e 20 nd.location.in.the.source.code..
b3020 54 68 69 73 20 6d 75 73 74 20 62 65 20 63 61 6c 6c 65 64 20 69 6e 20 61 20 66 75 6e 63 74 69 6f This.must.be.called.in.a.functio
b3040 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
b3060 63 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
b3080 61 73 73 3d 22 66 69 6c 65 22 3e 74 65 73 74 5f 73 72 63 5f 62 75 69 6c 74 69 6e 2e 7a 69 67 3c ass="file">test_src_builtin.zig<
b30a0 2f 63 69 74 65 3e 3c 2f 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
b30c0 70 61 6e 20 63 6c 61 73 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>.
b30e0 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">
b3100 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-
b3120 73 74 72 22 3e 26 71 75 6f 74 3b 73 74 64 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 29 3b 0a 3c 73 str">&quot;std&quot;</span>);.<s
b3140 70 61 6e 20 63 6c 61 73 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>.
b3160 65 78 70 65 63 74 20 3d 20 73 74 64 2e 74 65 73 74 69 6e 67 2e 65 78 70 65 63 74 3b 0a 3c 73 70 expect.=.std.testing.expect;.<sp
b3180 61 6e 20 63 6c 61 73 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
b31a0 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 65 63 74 45 xpectEqual.=.std.testing.expectE
b31c0 71 75 61 6c 3b 0a 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 74 65 73 74 qual;..<span.class="tok-kw">test
b31e0 3c 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
b3200 75 6f 74 3b 40 73 72 63 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 20 7b 0a 20 20 20 20 3c 73 70 61 uot;@src&quot;</span>.{.....<spa
b3220 6e 20 63 6c 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
b3240 65 54 65 73 74 28 29 3b 0a 7d 0a 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 eTest();.}..<span.class="tok-kw"
b3260 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">
b3280 64 6f 54 68 65 54 65 73 74 3c 2f 73 70 61 6e 3e 28 29 20 21 3c 73 70 61 6e 20 63 6c 61 73 73 3d doTheTest</span>().!<span.class=
b32a0 22 74 6f 6b 2d 74 79 70 65 22 3e 76 6f 69 64 3c 2f 73 70 61 6e 3e 20 7b 0a 20 20 20 20 3c 73 70 "tok-type">void</span>.{.....<sp
b32c0 61 6e 20 63 6c 61 73 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
b32e0 72 63 20 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 62 75 69 6c 74 69 6e 22 3e 40 rc.=.<span.class="tok-builtin">@
b3300 73 72 63 3c 2f 73 70 61 6e 3e 28 29 3b 0a 0a 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 src</span>();......<span.class="
b3320 74 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(<
b3340 73 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
b3360 3e 2c 20 73 72 63 2e 6c 69 6e 65 29 3b 0a 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 >,.src.line);.....<span.class="t
b3380 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 73 ok-kw">try</span>.expectEqual(<s
b33a0 70 61 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 pan.class="tok-number">17</span>
b33c0 2c 20 73 72 63 2e 63 6f 6c 75 6d 6e 29 3b 0a 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 ,.src.column);.....<span.class="
b33e0 74 6f 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 tok-kw">try</span>.expect(std.me
b3400 6d 2e 65 6e 64 73 57 69 74 68 28 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 m.endsWith(<span.class="tok-type
b3420 22 3e 75 38 3c 2f 73 70 61 6e 3e 2c 20 73 72 63 2e 66 6e 5f 6e 61 6d 65 2c 20 3c 73 70 61 6e 20 ">u8</span>,.src.fn_name,.<span.
b3440 63 6c 61 73 73 3d 22 74 6f 6b 2d 73 74 72 22 3e 26 71 75 6f 74 3b 64 6f 54 68 65 54 65 73 74 26 class="tok-str">&quot;doTheTest&
b3460 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 29 29 3b 0a 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d quot;</span>));.....<span.class=
b3480 22 74 6f 6b 2d 6b 77 22 3e 74 72 79 3c 2f 73 70 61 6e 3e 20 65 78 70 65 63 74 28 73 74 64 2e 6d "tok-kw">try</span>.expect(std.m
b34a0 65 6d 2e 65 6e 64 73 57 69 74 68 28 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 em.endsWith(<span.class="tok-typ
b34c0 65 22 3e 75 38 3c 2f 73 70 61 6e 3e 2c 20 73 72 63 2e 66 69 6c 65 2c 20 3c 73 70 61 6e 20 63 6c e">u8</span>,.src.file,.<span.cl
b34e0 61 73 73 3d 22 74 6f 6b 2d 73 74 72 22 3e 26 71 75 6f 74 3b 74 65 73 74 5f 73 72 63 5f 62 75 69 ass="tok-str">&quot;test_src_bui
b3500 6c 74 69 6e 2e 7a 69 67 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 29 29 3b 0a 7d 3c 2f 63 6f 64 65 ltin.zig&quot;</span>));.}</code
b3520 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
b3540 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
b3560 63 61 70 74 69 6f 6e 3e 3c 70 72 65 3e 3c 73 61 6d 70 3e 24 20 3c 6b 62 64 3e 7a 69 67 20 74 65 caption><pre><samp>$.<kbd>zig.te
b3580 73 74 20 74 65 73 74 5f 73 72 63 5f 62 75 69 6c 74 69 6e 2e 7a 69 67 3c 2f 6b 62 64 3e 0a 31 2f st.test_src_builtin.zig</kbd>.1/
b35a0 31 20 74 65 73 74 5f 73 72 63 5f 62 75 69 6c 74 69 6e 2e 74 65 73 74 2e 40 73 72 63 2e 2e 2e 4f 1.test_src_builtin.test.@src...O
b35c0 4b 0a 41 6c 6c 20 31 20 74 65 73 74 73 20 70 61 73 73 65 64 2e 0a 3c 2f 73 61 6d 70 3e 3c 2f 70 K.All.1.tests.passed..</samp></p
b35e0 72 65 3e 3c 2f 66 69 67 75 72 65 3e 0a 0a 20 20 20 20 20 20 0a 20 20 20 20 20 20 3c 68 33 20 69 re></figure>...............<h3.i
b3600 64 3d 22 73 71 72 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 d="sqrt"><a.href="nav.xhtml#toc-
b3620 73 71 72 74 22 3e 40 73 71 72 74 3c 2f 61 3e 20 3c 61 20 63 6c 61 73 73 3d 22 68 64 72 22 20 68 sqrt">@sqrt</a>.<a.class="hdr".h
b3640 72 65 66 3d 22 23 73 71 72 74 22 3e c2 a7 3c 2f 61 3e 3c 2f 68 33 3e 0a 0a 20 20 20 20 20 20 3c ref="#sqrt">..</a></h3>........<
b3660 70 72 65 3e 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 62 75 69 6c 74 pre><code><span.class="tok-built
b3680 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 6c in">@sqrt</span>(value:.<span.cl
b36a0 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 61 6e 79 74 79 70 65 3c 2f 73 70 61 6e 3e 29 20 3c 73 70 ass="tok-kw">anytype</span>).<sp
b36c0 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</
b36e0 73 70 61 6e 3e 28 76 61 6c 75 65 29 3c 2f 63 6f 64 65 3e 3c 2f 70 72 65 3e 0a 20 20 20 20 20 20 span>(value)</code></pre>.......
b3700 3c 70 3e 0a 20 20 20 20 20 20 50 65 72 66 6f 72 6d 73 20 74 68 65 20 73 71 75 61 72 65 20 72 6f <p>.......Performs.the.square.ro
b3720 6f 74 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 ot.of.a.floating.point.number..U
b3740 73 65 73 20 61 20 64 65 64 69 63 61 74 65 64 20 68 61 72 64 77 61 72 65 20 69 6e 73 74 72 75 63 ses.a.dedicated.hardware.instruc
b3760 74 69 6f 6e 0a 20 20 20 20 20 20 77 68 65 6e 20 61 76 61 69 6c 61 62 6c 65 2e 0a 20 20 20 20 20 tion.......when.available.......
b3780 20 3c 2f 70 3e 0a 20 20 20 20 20 20 3c 70 3e 0a 20 20 20 20 20 20 53 75 70 70 6f 72 74 73 20 3c .</p>.......<p>.......Supports.<
b37a0 61 20 68 72 65 66 3d 22 23 46 6c 6f 61 74 73 22 3e 46 6c 6f 61 74 73 3c 2f 61 3e 20 61 6e 64 20 a.href="#Floats">Floats</a>.and.
b37c0 3c 61 20 68 72 65 66 3d 22 23 56 65 63 74 6f 72 73 22 3e 56 65 63 74 6f 72 73 3c 2f 61 3e 20 6f <a.href="#Vectors">Vectors</a>.o
b37e0 66 20 66 6c 6f 61 74 73 2e 0a 20 20 20 20 20 20 3c 2f 70 3e 0a 20 20 20 20 20 20 0a 20 20 20 20 f.floats........</p>............
b3800 20 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 ..<h3.id="sin"><a.href="nav.xhtm
b3820 6c 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 l#toc-sin">@sin</a>.<a.class="hd
b3840 72 22 20 68 72 65 66 3d 22 23 73 69 6e 22 3e c2 a7 3c 2f 61 3e 3c 2f 68 33 3e 0a 0a 20 20 20 20 r".href="#sin">..</a></h3>......
b3860 20 20 3c 70 72 65 3e 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 62 75 ..<pre><code><span.class="tok-bu
b3880 69 6c 74 69 6e 22 3e 40 73 69 6e 3c 2f 73 70 61 6e 3e 28 76 61 6c 75 65 3a 20 3c 73 70 61 6e 20 iltin">@sin</span>(value:.<span.
b38a0 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>).<
b38c0 73 70 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
b38e0 3c 2f 73 70 61 6e 3e 28 76 61 6c 75 65 29 3c 2f 63 6f 64 65 3e 3c 2f 70 72 65 3e 0a 20 20 20 20 </span>(value)</code></pre>.....
b3900 20 20 3c 70 3e 0a 20 20 20 20 20 20 53 69 6e 65 20 74 72 69 67 6f 6e 6f 6d 65 74 72 69 63 20 66 ..<p>.......Sine.trigonometric.f
b3920 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 6d 62 unction.on.a.floating.point.numb
b3940 65 72 20 69 6e 20 72 61 64 69 61 6e 73 2e 20 55 73 65 73 20 61 20 64 65 64 69 63 61 74 65 64 20 er.in.radians..Uses.a.dedicated.
b3960 68 61 72 64 77 61 72 65 20 69 6e 73 74 72 75 63 74 69 6f 6e 0a 20 20 20 20 20 20 77 68 65 6e 20 hardware.instruction.......when.
b3980 61 76 61 69 6c 61 62 6c 65 2e 0a 20 20 20 20 20 20 3c 2f 70 3e 0a 20 20 20 20 20 20 3c 70 3e 0a available........</p>.......<p>.
b39a0 20 20 20 20 20 20 53 75 70 70 6f 72 74 73 20 3c 61 20 68 72 65 66 3d 22 23 46 6c 6f 61 74 73 22 ......Supports.<a.href="#Floats"
b39c0 3e 46 6c 6f 61 74 73 3c 2f 61 3e 20 61 6e 64 20 3c 61 20 68 72 65 66 3d 22 23 56 65 63 74 6f 72 >Floats</a>.and.<a.href="#Vector
b39e0 73 22 3e 56 65 63 74 6f 72 73 3c 2f 61 3e 20 6f 66 20 66 6c 6f 61 74 73 2e 0a 20 20 20 20 20 20 s">Vectors</a>.of.floats........
b3a00 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 63 6f 73 22 3e </p>...............<h3.id="cos">
b3a20 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 40 63 6f 73 <a.href="nav.xhtml#toc-cos">@cos
b3a40 3c 2f 61 3e 20 3c 61 20 63 6c 61 73 73 3d 22 68 64 72 22 20 68 72 65 66 3d 22 23 63 6f 73 22 3e </a>.<a.class="hdr".href="#cos">
b3a60 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
b3a80 70 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 73 3c 2f 73 70 pan.class="tok-builtin">@cos</sp
b3aa0 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">
b3ac0 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
b3ae0 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)<
b3b00 2f 63 6f 64 65 3e 3c 2f 70 72 65 3e 0a 20 20 20 20 20 20 3c 70 3e 0a 20 20 20 20 20 20 43 6f 73 /code></pre>.......<p>.......Cos
b3b20 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 20 6f 6e 20 61 20 ine.trigonometric.function.on.a.
b3b40 66 6c 6f 61 74 69 6e 67 20 70 6f 69 6e 74 20 6e 75 6d 62 65 72 20 69 6e 20 72 61 64 69 61 6e 73 floating.point.number.in.radians
b3b60 2e 20 55 73 65 73 20 61 20 64 65 64 69 63 61 74 65 64 20 68 61 72 64 77 61 72 65 20 69 6e 73 74 ..Uses.a.dedicated.hardware.inst
b3b80 72 75 63 74 69 6f 6e 0a 20 20 20 20 20 20 77 68 65 6e 20 61 76 61 69 6c 61 62 6c 65 2e 0a 20 20 ruction.......when.available....
b3ba0 20 20 20 20 3c 2f 70 3e 0a 20 20 20 20 20 20 3c 70 3e 0a 20 20 20 20 20 20 53 75 70 70 6f 72 74 ....</p>.......<p>.......Support
b3bc0 73 20 3c 61 20 68 72 65 66 3d 22 23 46 6c 6f 61 74 73 22 3e 46 6c 6f 61 74 73 3c 2f 61 3e 20 61 s.<a.href="#Floats">Floats</a>.a
b3be0 6e 64 20 3c 61 20 68 72 65 66 3d 22 23 56 65 63 74 6f 72 73 22 3e 56 65 63 74 6f 72 73 3c 2f 61 nd.<a.href="#Vectors">Vectors</a
b3c00 3e 20 6f 66 20 66 6c 6f 61 74 73 2e 0a 20 20 20 20 20 20 3c 2f 70 3e 0a 20 20 20 20 20 20 0a 0a >.of.floats........</p>.........
b3c20 20 20 20 20 20 20 3c 68 33 20 69 64 3d 22 74 61 6e 22 3e 3c 61 20 68 72 65 66 3d 22 6e 61 76 2e ......<h3.id="tan"><a.href="nav.
b3c40 78 68 74 6d 6c 23 74 6f 63 2d 74 61 6e 22 3e 40 74 61 6e 3c 2f 61 3e 20 3c 61 20 63 6c 61 73 73 xhtml#toc-tan">@tan</a>.<a.class
b3c60 3d 22 68 64 72 22 20 68 72 65 66 3d 22 23 74 61 6e 22 3e c2 a7 3c 2f 61 3e 3c 2f 68 33 3e 0a 0a ="hdr".href="#tan">..</a></h3>..
b3c80 20 20 20 20 20 20 3c 70 72 65 3e 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f ......<pre><code><span.class="to
b3ca0 6b 2d 62 75 69 6c 74 69 6e 22 3e 40 74 61 6e 3c 2f 73 70 61 6e 3e 28 76 61 6c 75 65 3a 20 3c 73 k-builtin">@tan</span>(value:.<s
b3cc0 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
b3ce0 3e 29 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 62 75 69 6c 74 69 6e 22 3e 40 54 79 >).<span.class="tok-builtin">@Ty
b3d00 70 65 4f 66 3c 2f 73 70 61 6e 3e 28 76 61 6c 75 65 29 3c 2f 63 6f 64 65 3e 3c 2f 70 72 65 3e 0a peOf</span>(value)</code></pre>.
b3d20 20 20 20 20 20 20 3c 70 3e 0a 20 20 20 20 20 20 54 61 6e 67 65 6e 74 20 74 72 69 67 6f 6e 6f 6d ......<p>.......Tangent.trigonom
b3d40 65 74 72 69 63 20 66 75 6e 63 74 69 6f 6e 20 6f 6e 20 61 20 66 6c 6f 61 74 69 6e 67 20 70 6f 69 etric.function.on.a.floating.poi
b3d60 6e 74 20 6e 75 6d 62 65 72 20 69 6e 20 72 61 64 69 61 6e 73 2e 0a 20 20 20 20 20 20 55 73 65 73 nt.number.in.radians........Uses
b3d80 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 6f .a.dedicated.hardware.instructio
b3da0 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 20 n.when.available........</p>....
b3dc0 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 23 ...<p>.......Supports.<a.href="#
b3de0 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 22 Floats">Floats</a>.and.<a.href="
b3e00 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 2e #Vectors">Vectors</a>.of.floats.
b3e20 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
b3e40 3d 22 65 78 70 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 78 ="exp"><a.href="nav.xhtml#toc-ex
b3e60 70 22 3e 40 65 78 70 3c 2f 61 3e 20 3c 61 20 63 6c 61 73 73 3d 22 68 64 72 22 20 68 72 65 66 3d p">@exp</a>.<a.class="hdr".href=
b3e80 22 23 65 78 70 22 3e c2 a7 3c 2f 61 3e 3c 2f 68 33 3e 0a 0a 20 20 20 20 20 20 3c 70 72 65 3e 3c "#exp">..</a></h3>........<pre><
b3ea0 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 62 75 69 6c 74 69 6e 22 3e 40 code><span.class="tok-builtin">@
b3ec0 65 78 70 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 exp</span>(value:.<span.class="t
b3ee0 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
b3f00 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>(
b3f20 76 61 6c 75 65 29 3c 2f 63 6f 64 65 3e 3c 2f 70 72 65 3e 0a 20 20 20 20 20 20 3c 70 3e 0a 20 20 value)</code></pre>.......<p>...
b3f40 20 20 20 20 42 61 73 65 2d 65 20 65 78 70 6f 6e 65 6e 74 69 61 6c 20 66 75 6e 63 74 69 6f 6e 20 ....Base-e.exponential.function.
b3f60 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 73 on.a.floating.point.number..Uses
b3f80 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 6f .a.dedicated.hardware.instructio
b3fa0 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 2f n.......when.available........</
b3fc0 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 68 p>.......<p>.......Supports.<a.h
b3fe0 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 20 ref="#Floats">Floats</a>.and.<a.
b4000 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 66 href="#Vectors">Vectors</a>.of.f
b4020 6c 6f 61 74 73 2e 0a 20 20 20 20 20 20 3c 2f 70 3e 0a 20 20 20 20 20 20 0a 20 20 20 20 20 20 3c loats........</p>..............<
b4040 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 78 68 74 6d 6c 23 h3.id="exp2"><a.href="nav.xhtml#
b4060 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 73 73 3d 22 68 64 toc-exp2">@exp2</a>.<a.class="hd
b4080 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 3e 0a 0a 20 20 20 r".href="#exp2">..</a></h3>.....
b40a0 20 20 20 3c 70 72 65 3e 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 62 ...<pre><code><span.class="tok-b
b40c0 75 69 6c 74 69 6e 22 3e 40 65 78 70 32 3c 2f 73 70 61 6e 3e 28 76 61 6c 75 65 3a 20 3c 73 70 61 uiltin">@exp2</span>(value:.<spa
b40e0 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>)
b4100 20 3c 73 70 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
b4120 4f 66 3c 2f 73 70 61 6e 3e 28 76 61 6c 75 65 29 3c 2f 63 6f 64 65 3e 3c 2f 70 72 65 3e 0a 20 20 Of</span>(value)</code></pre>...
b4140 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
b4160 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
b4180 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.
b41a0 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
b41c0 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
b41e0 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</
b4200 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
b4220 73 3c 2f 61 3e 20 6f 66 20 66 6c 6f 61 74 73 2e 0a 20 20 20 20 20 20 3c 2f 70 3e 0a 20 20 20 20 s</a>.of.floats........</p>.....
b4240 20 20 0a 20 20 20 20 20 20 3c 68 33 20 69 64 3d 22 6c 6f 67 22 3e 3c 61 20 68 72 65 66 3d 22 6e .........<h3.id="log"><a.href="n
b4260 61 76 2e 78 68 74 6d 6c 23 74 6f 63 2d 6c 6f 67 22 3e 40 6c 6f 67 3c 2f 61 3e 20 3c 61 20 63 6c av.xhtml#toc-log">@log</a>.<a.cl
b4280 61 73 73 3d 22 68 64 72 22 20 68 72 65 66 3d 22 23 6c 6f 67 22 3e c2 a7 3c 2f 61 3e 3c 2f 68 33 ass="hdr".href="#log">..</a></h3
b42a0 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=
b42c0 22 74 6f 6b 2d 62 75 69 6c 74 69 6e 22 3e 40 6c 6f 67 3c 2f 73 70 61 6e 3e 28 76 61 6c 75 65 3a "tok-builtin">@log</span>(value:
b42e0 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
b4300 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 3e pan>).<span.class="tok-builtin">
b4320 40 54 79 70 65 4f 66 3c 2f 73 70 61 6e 3e 28 76 61 6c 75 65 29 3c 2f 63 6f 64 65 3e 3c 2f 70 72 @TypeOf</span>(value)</code></pr
b4340 65 3e 0a 20 20 20 20 20 20 3c 70 3e 0a 20 20 20 20 20 20 52 65 74 75 72 6e 73 20 74 68 65 20 6e e>.......<p>.......Returns.the.n
b4360 61 74 75 72 61 6c 20 6c 6f 67 61 72 69 74 68 6d 20 6f 66 20 61 20 66 6c 6f 61 74 69 6e 67 20 70 atural.logarithm.of.a.floating.p
b4380 6f 69 6e 74 20 6e 75 6d 62 65 72 2e 20 55 73 65 73 20 61 20 64 65 64 69 63 61 74 65 64 20 68 61 oint.number..Uses.a.dedicated.ha
b43a0 72 64 77 61 72 65 20 69 6e 73 74 72 75 63 74 69 6f 6e 0a 20 20 20 20 20 20 77 68 65 6e 20 61 76 rdware.instruction.......when.av
b43c0 61 69 6c 61 62 6c 65 2e 0a 20 20 20 20 20 20 3c 2f 70 3e 0a 20 20 20 20 20 20 3c 70 3e 0a 20 20 ailable........</p>.......<p>...
b43e0 20 20 20 20 53 75 70 70 6f 72 74 73 20 3c 61 20 68 72 65 66 3d 22 23 46 6c 6f 61 74 73 22 3e 46 ....Supports.<a.href="#Floats">F
b4400 6c 6f 61 74 73 3c 2f 61 3e 20 61 6e 64 20 3c 61 20 68 72 65 66 3d 22 23 56 65 63 74 6f 72 73 22 loats</a>.and.<a.href="#Vectors"
b4420 3e 56 65 63 74 6f 72 73 3c 2f 61 3e 20 6f 66 20 66 6c 6f 61 74 73 2e 0a 20 20 20 20 20 20 3c 2f >Vectors</a>.of.floats........</
b4440 70 3e 0a 20 20 20 20 20 20 0a 20 20 20 20 20 20 3c 68 33 20 69 64 3d 22 6c 6f 67 32 22 3e 3c 61 p>..............<h3.id="log2"><a
b4460 20 68 72 65 66 3d 22 6e 61 76 2e 78 68 74 6d 6c 23 74 6f 63 2d 6c 6f 67 32 22 3e 40 6c 6f 67 32 .href="nav.xhtml#toc-log2">@log2
b4480 3c 2f 61 3e 20 3c 61 20 63 6c 61 73 73 3d 22 68 64 72 22 20 68 72 65 66 3d 22 23 6c 6f 67 32 22 </a>.<a.class="hdr".href="#log2"
b44a0 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><
b44c0 73 70 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 32 3c 2f span.class="tok-builtin">@log2</
b44e0 73 70 61 6e 3e 28 76 61 6c 75 65 3a 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 span>(value:.<span.class="tok-kw
b4500 22 3e 61 6e 79 74 79 70 65 3c 2f 73 70 61 6e 3e 29 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 ">anytype</span>).<span.class="t
b4520 6f 6b 2d 62 75 69 6c 74 69 6e 22 3e 40 54 79 70 65 4f 66 3c 2f 73 70 61 6e 3e 28 76 61 6c 75 65 ok-builtin">@TypeOf</span>(value
b4540 29 3c 2f 63 6f 64 65 3e 3c 2f 70 72 65 3e 0a 20 20 20 20 20 20 3c 70 3e 0a 20 20 20 20 20 20 52 )</code></pre>.......<p>.......R
b4560 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 73 65 eturns.the.logarithm.to.the.base
b4580 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 20 55 .2.of.a.floating.point.number..U
b45a0 73 65 73 20 61 20 64 65 64 69 63 61 74 65 64 20 68 61 72 64 77 61 72 65 20 69 6e 73 74 72 75 63 ses.a.dedicated.hardware.instruc
b45c0 74 69 6f 6e 0a 20 20 20 20 20 20 77 68 65 6e 20 61 76 61 69 6c 61 62 6c 65 2e 0a 20 20 20 20 20 tion.......when.available.......
b45e0 20 3c 2f 70 3e 0a 20 20 20 20 20 20 3c 70 3e 0a 20 20 20 20 20 20 53 75 70 70 6f 72 74 73 20 3c .</p>.......<p>.......Supports.<
b4600 61 20 68 72 65 66 3d 22 23 46 6c 6f 61 74 73 22 3e 46 6c 6f 61 74 73 3c 2f 61 3e 20 61 6e 64 20 a.href="#Floats">Floats</a>.and.
b4620 3c 61 20 68 72 65 66 3d 22 23 56 65 63 74 6f 72 73 22 3e 56 65 63 74 6f 72 73 3c 2f 61 3e 20 6f <a.href="#Vectors">Vectors</a>.o
b4640 66 20 66 6c 6f 61 74 73 2e 0a 20 20 20 20 20 20 3c 2f 70 3e 0a 20 20 20 20 20 20 0a 20 20 20 20 f.floats........</p>............
b4660 20 20 3c 68 33 20 69 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 ..<h3.id="log10"><a.href="nav.xh
b4680 74 6d 6c 23 74 6f 63 2d 6c 6f 67 31 30 22 3e 40 6c 6f 67 31 30 3c 2f 61 3e 20 3c 61 20 63 6c 61 tml#toc-log10">@log10</a>.<a.cla
b46a0 73 73 3d 22 68 64 72 22 20 68 72 65 66 3d 22 23 6c 6f 67 31 30 22 3e c2 a7 3c 2f 61 3e 3c 2f 68 ss="hdr".href="#log10">..</a></h
b46c0 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
b46e0 3d 22 74 6f 6b 2d 62 75 69 6c 74 69 6e 22 3e 40 6c 6f 67 31 30 3c 2f 73 70 61 6e 3e 28 76 61 6c ="tok-builtin">@log10</span>(val
b4700 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
b4720 3c 2f 73 70 61 6e 3e 29 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 62 75 69 6c 74 69 </span>).<span.class="tok-builti
b4740 6e 22 3e 40 54 79 70 65 4f 66 3c 2f 73 70 61 6e 3e 28 76 61 6c 75 65 29 3c 2f 63 6f 64 65 3e 3c n">@TypeOf</span>(value)</code><
b4760 2f 70 72 65 3e 0a 20 20 20 20 20 20 3c 70 3e 0a 20 20 20 20 20 20 52 65 74 75 72 6e 73 20 74 68 /pre>.......<p>.......Returns.th
b4780 65 20 6c 6f 67 61 72 69 74 68 6d 20 74 6f 20 74 68 65 20 62 61 73 65 20 31 30 20 6f 66 20 61 20 e.logarithm.to.the.base.10.of.a.
b47a0 66 6c 6f 61 74 69 6e 67 20 70 6f 69 6e 74 20 6e 75 6d 62 65 72 2e 20 55 73 65 73 20 61 20 64 65 floating.point.number..Uses.a.de
b47c0 64 69 63 61 74 65 64 20 68 61 72 64 77 61 72 65 20 69 6e 73 74 72 75 63 74 69 6f 6e 0a 20 20 20 dicated.hardware.instruction....
b47e0 20 20 20 77 68 65 6e 20 61 76 61 69 6c 61 62 6c 65 2e 0a 20 20 20 20 20 20 3c 2f 70 3e 0a 20 20 ...when.available........</p>...
b4800 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="
b4820 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=
b4840 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
b4860 2e 0a 20 20 20 20 20 20 3c 2f 70 3e 0a 20 20 20 20 20 20 0a 20 20 20 20 20 20 3c 68 33 20 69 64 ........</p>..............<h3.id
b4880 3d 22 61 62 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 61 62 ="abs"><a.href="nav.xhtml#toc-ab
b48a0 73 22 3e 40 61 62 73 3c 2f 61 3e 20 3c 61 20 63 6c 61 73 73 3d 22 68 64 72 22 20 68 72 65 66 3d s">@abs</a>.<a.class="hdr".href=
b48c0 22 23 61 62 73 22 3e c2 a7 3c 2f 61 3e 3c 2f 68 33 3e 0a 0a 20 20 20 20 20 20 3c 70 72 65 3e 3c "#abs">..</a></h3>........<pre><
b48e0 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 62 75 69 6c 74 69 6e 22 3e 40 code><span.class="tok-builtin">@
b4900 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 22 74 abs</span>(value:.<span.class="t
b4920 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
b4940 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 61 6e 79 74 79 70 65 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 ss="tok-kw">anytype</span></code
b4960 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.
b4980 74 68 65 20 61 62 73 6f 6c 75 74 65 20 76 61 6c 75 65 20 6f 66 20 61 6e 20 69 6e 74 65 67 65 72 the.absolute.value.of.an.integer
b49a0 20 6f 72 20 61 20 66 6c 6f 61 74 69 6e 67 20 70 6f 69 6e 74 20 6e 75 6d 62 65 72 2e 20 55 73 65 .or.a.floating.point.number..Use
b49c0 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
b49e0 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 0a 20 20 20 20 20 20 on.......when.available.........
b4a00 54 68 65 20 72 65 74 75 72 6e 20 74 79 70 65 20 69 73 20 61 6c 77 61 79 73 20 61 6e 20 75 6e 73 The.return.type.is.always.an.uns
b4a20 69 67 6e 65 64 20 69 6e 74 65 67 65 72 20 6f 66 20 74 68 65 20 73 61 6d 65 20 62 69 74 20 77 69 igned.integer.of.the.same.bit.wi
b4a40 64 74 68 20 61 73 20 74 68 65 20 6f 70 65 72 61 6e 64 20 69 66 20 74 68 65 20 6f 70 65 72 61 6e dth.as.the.operand.if.the.operan
b4a60 64 20 69 73 20 61 6e 20 69 6e 74 65 67 65 72 2e 0a 20 20 20 20 20 20 55 6e 73 69 67 6e 65 64 20 d.is.an.integer........Unsigned.
b4a80 69 6e 74 65 67 65 72 20 6f 70 65 72 61 6e 64 73 20 61 72 65 20 73 75 70 70 6f 72 74 65 64 2e 20 integer.operands.are.supported..
b4aa0 54 68 65 20 62 75 69 6c 74 69 6e 20 63 61 6e 6e 6f 74 20 6f 76 65 72 66 6c 6f 77 20 66 6f 72 20 The.builtin.cannot.overflow.for.
b4ac0 73 69 67 6e 65 64 20 69 6e 74 65 67 65 72 20 6f 70 65 72 61 6e 64 73 2e 0a 20 20 20 20 20 20 3c signed.integer.operands........<
b4ae0 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.
b4b00 68 72 65 66 3d 22 23 46 6c 6f 61 74 73 22 3e 46 6c 6f 61 74 73 3c 2f 61 3e 2c 20 3c 61 20 68 72 href="#Floats">Floats</a>,.<a.hr
b4b20 65 66 3d 22 23 49 6e 74 65 67 65 72 73 22 3e 49 6e 74 65 67 65 72 73 3c 2f 61 3e 20 61 6e 64 20 ef="#Integers">Integers</a>.and.
b4b40 3c 61 20 68 72 65 66 3d 22 23 56 65 63 74 6f 72 73 22 3e 56 65 63 74 6f 72 73 3c 2f 61 3e 20 6f <a.href="#Vectors">Vectors</a>.o
b4b60 66 20 66 6c 6f 61 74 73 20 6f 72 20 69 6e 74 65 67 65 72 73 2e 0a 20 20 20 20 20 20 3c 2f 70 3e f.floats.or.integers........</p>
b4b80 0a 20 20 20 20 20 20 0a 0a 20 20 20 20 20 20 3c 68 33 20 69 64 3d 22 66 6c 6f 6f 72 22 3e 3c 61 ...............<h3.id="floor"><a
b4ba0 20 68 72 65 66 3d 22 6e 61 76 2e 78 68 74 6d 6c 23 74 6f 63 2d 66 6c 6f 6f 72 22 3e 40 66 6c 6f .href="nav.xhtml#toc-floor">@flo
b4bc0 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 66 6c 6f or</a>.<a.class="hdr".href="#flo
b4be0 6f 72 22 3e c2 a7 3c 2f 61 3e 3c 2f 68 33 3e 0a 0a 20 20 20 20 20 20 3c 70 72 65 3e 3c 63 6f 64 or">..</a></h3>........<pre><cod
b4c00 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 62 75 69 6c 74 69 6e 22 3e 40 66 6c 6f e><span.class="tok-builtin">@flo
b4c20 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 74 6f or</span>(value:.<span.class="to
b4c40 6b 2d 6b 77 22 3e 61 6e 79 74 79 70 65 3c 2f 73 70 61 6e 3e 29 20 3c 73 70 61 6e 20 63 6c 61 73 k-kw">anytype</span>).<span.clas
b4c60 73 3d 22 74 6f 6b 2d 62 75 69 6c 74 69 6e 22 3e 40 54 79 70 65 4f 66 3c 2f 73 70 61 6e 3e 28 76 s="tok-builtin">@TypeOf</span>(v
b4c80 61 6c 75 65 29 3c 2f 63 6f 64 65 3e 3c 2f 70 72 65 3e 0a 20 20 20 20 20 20 3c 70 3e 52 65 74 75 alue)</code></pre>.......<p>Retu
b4ca0 72 6e 73 20 74 68 65 20 6c 61 72 67 65 73 74 20 69 6e 74 65 67 72 61 6c 20 76 61 6c 75 65 20 6e rns.the.largest.integral.value.n
b4cc0 6f 74 20 67 72 65 61 74 65 72 20 74 68 61 6e 20 74 68 65 20 67 69 76 65 6e 20 66 6c 6f 61 74 69 ot.greater.than.the.given.floati
b4ce0 6e 67 20 70 6f 69 6e 74 20 6e 75 6d 62 65 72 2e 0a 20 20 20 20 20 20 55 73 65 73 20 61 20 64 65 ng.point.number........Uses.a.de
b4d00 64 69 63 61 74 65 64 20 68 61 72 64 77 61 72 65 20 69 6e 73 74 72 75 63 74 69 6f 6e 20 77 68 65 dicated.hardware.instruction.whe
b4d20 6e 20 61 76 61 69 6c 61 62 6c 65 2e 3c 2f 70 3e 0a 20 20 20 20 20 20 3c 70 3e 53 75 70 70 6f 72 n.available.</p>.......<p>Suppor
b4d40 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>.
b4d60 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</
b4d80 61 3e 20 6f 66 20 66 6c 6f 61 74 73 2e 3c 2f 70 3e 0a 20 20 20 20 20 20 3c 70 3e 57 68 65 6e 20 a>.of.floats.</p>.......<p>When.
b4da0 74 68 65 20 69 6e 66 65 72 72 65 64 20 72 65 73 75 6c 74 20 74 79 70 65 20 69 73 20 61 6e 20 3c the.inferred.result.type.is.an.<
b4dc0 61 20 68 72 65 66 3d 22 23 49 6e 74 65 67 65 72 73 22 3e 69 6e 74 65 67 65 72 3c 2f 61 3e 2c 0a a.href="#Integers">integer</a>,.
b4de0 20 20 20 20 20 20 74 68 65 20 69 6e 74 65 67 65 72 20 70 61 72 74 20 69 73 20 65 78 74 72 61 63 ......the.integer.part.is.extrac
b4e00 74 65 64 20 66 72 6f 6d 20 74 68 65 20 66 6c 6f 6f 72 65 64 20 72 65 73 75 6c 74 2e 20 49 66 20 ted.from.the.floored.result..If.
b4e20 74 68 61 74 20 76 61 6c 75 65 0a 20 20 20 20 20 20 63 61 6e 6e 6f 74 20 66 69 74 20 69 6e 20 74 that.value.......cannot.fit.in.t
b4e40 68 65 20 64 65 73 74 69 6e 61 74 69 6f 6e 20 74 79 70 65 2c 20 69 74 20 69 6e 76 6f 6b 65 73 20 he.destination.type,.it.invokes.
b4e60 73 61 66 65 74 79 2d 63 68 65 63 6b 65 64 0a 20 20 20 20 20 20 3c 61 20 68 72 65 66 3d 22 23 49 safety-checked.......<a.href="#I
b4e80 6c 6c 65 67 61 6c 2d 42 65 68 61 76 69 6f 72 22 3e 49 6c 6c 65 67 61 6c 20 42 65 68 61 76 69 6f llegal-Behavior">Illegal.Behavio
b4ea0 72 3c 2f 61 3e 2e 3c 2f 70 3e 0a 20 20 20 20 20 20 0a 0a 20 20 20 20 20 20 3c 68 33 20 69 64 3d r</a>.</p>...............<h3.id=
b4ec0 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 63 65 "ceil"><a.href="nav.xhtml#toc-ce
b4ee0 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 72 65 il">@ceil</a>.<a.class="hdr".hre
b4f00 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 70 72 f="#ceil">..</a></h3>........<pr
b4f20 65 3e 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 62 75 69 6c 74 69 6e e><code><span.class="tok-builtin
b4f40 22 3e 40 63 65 69 6c 3c 2f 73 70 61 6e 3e 28 76 61 6c 75 65 3a 20 3c 73 70 61 6e 20 63 6c 61 73 ">@ceil</span>(value:.<span.clas
b4f60 73 3d 22 74 6f 6b 2d 6b 77 22 3e 61 6e 79 74 79 70 65 3c 2f 73 70 61 6e 3e 29 20 3c 73 70 61 6e s="tok-kw">anytype</span>).<span
b4f80 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
b4fa0 61 6e 3e 28 76 61 6c 75 65 29 3c 2f 63 6f 64 65 3e 3c 2f 70 72 65 3e 0a 20 20 20 20 20 20 3c 70 an>(value)</code></pre>.......<p
b4fc0 3e 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 6c 20 76 >Returns.the.smallest.integral.v
b4fe0 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 66 6c 6f alue.not.less.than.the.given.flo
b5000 61 74 69 6e 67 20 70 6f 69 6e 74 20 6e 75 6d 62 65 72 2e 0a 20 20 20 20 20 20 55 73 65 73 20 61 ating.point.number........Uses.a
b5020 20 64 65 64 69 63 61 74 65 64 20 68 61 72 64 77 61 72 65 20 69 6e 73 74 72 75 63 74 69 6f 6e 20 .dedicated.hardware.instruction.
b5040 77 68 65 6e 20 61 76 61 69 6c 61 62 6c 65 2e 3c 2f 70 3e 0a 20 20 20 20 20 20 3c 70 3e 53 75 70 when.available.</p>.......<p>Sup
b5060 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</
b5080 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
b50a0 73 3c 2f 61 3e 20 6f 66 20 66 6c 6f 61 74 73 2e 3c 2f 70 3e 0a 20 20 20 20 20 20 3c 70 3e 57 68 s</a>.of.floats.</p>.......<p>Wh
b50c0 65 6e 20 74 68 65 20 69 6e 66 65 72 72 65 64 20 72 65 73 75 6c 74 20 74 79 70 65 20 69 73 20 61 en.the.inferred.result.type.is.a
b50e0 6e 20 3c 61 20 68 72 65 66 3d 22 23 49 6e 74 65 67 65 72 73 22 3e 69 6e 74 65 67 65 72 3c 2f 61 n.<a.href="#Integers">integer</a
b5100 3e 2c 0a 20 20 20 20 20 20 74 68 65 20 69 6e 74 65 67 65 72 20 70 61 72 74 20 69 73 20 65 78 74 >,.......the.integer.part.is.ext
b5120 72 61 63 74 65 64 20 66 72 6f 6d 20 74 68 65 20 63 65 69 6c 65 64 20 72 65 73 75 6c 74 2e 20 49 racted.from.the.ceiled.result..I
b5140 66 20 74 68 61 74 20 76 61 6c 75 65 0a 20 20 20 20 20 20 63 61 6e 6e 6f 74 20 66 69 74 20 69 6e f.that.value.......cannot.fit.in
b5160 20 74 68 65 20 64 65 73 74 69 6e 61 74 69 6f 6e 20 74 79 70 65 2c 20 69 74 20 69 6e 76 6f 6b 65 .the.destination.type,.it.invoke
b5180 73 20 73 61 66 65 74 79 2d 63 68 65 63 6b 65 64 0a 20 20 20 20 20 20 3c 61 20 68 72 65 66 3d 22 s.safety-checked.......<a.href="
b51a0 23 49 6c 6c 65 67 61 6c 2d 42 65 68 61 76 69 6f 72 22 3e 49 6c 6c 65 67 61 6c 20 42 65 68 61 76 #Illegal-Behavior">Illegal.Behav
b51c0 69 6f 72 3c 2f 61 3e 2e 3c 2f 70 3e 0a 20 20 20 20 20 20 0a 0a 20 20 20 20 20 20 3c 68 33 20 69 ior</a>.</p>...............<h3.i
b51e0 64 3d 22 74 72 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 d="trunc"><a.href="nav.xhtml#toc
b5200 2d 74 72 75 6e 63 22 3e 40 74 72 75 6e 63 3c 2f 61 3e 20 3c 61 20 63 6c 61 73 73 3d 22 68 64 72 -trunc">@trunc</a>.<a.class="hdr
b5220 22 20 68 72 65 66 3d 22 23 74 72 75 6e 63 22 3e c2 a7 3c 2f 61 3e 3c 2f 68 33 3e 0a 0a 20 20 20 ".href="#trunc">..</a></h3>.....
b5240 20 20 20 3c 70 72 65 3e 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 62 ...<pre><code><span.class="tok-b
b5260 75 69 6c 74 69 6e 22 3e 40 74 72 75 6e 63 3c 2f 73 70 61 6e 3e 28 76 61 6c 75 65 3a 20 3c 73 70 uiltin">@trunc</span>(value:.<sp
b5280 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>
b52a0 29 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 62 75 69 6c 74 69 6e 22 3e 40 54 79 70 ).<span.class="tok-builtin">@Typ
b52c0 65 4f 66 3c 2f 73 70 61 6e 3e 28 76 61 6c 75 65 29 3c 2f 63 6f 64 65 3e 3c 2f 70 72 65 3e 0a 20 eOf</span>(value)</code></pre>..
b52e0 20 20 20 20 20 3c 70 3e 52 6f 75 6e 64 73 20 74 68 65 20 67 69 76 65 6e 20 66 6c 6f 61 74 69 6e .....<p>Rounds.the.given.floatin
b5300 67 20 70 6f 69 6e 74 20 6e 75 6d 62 65 72 20 74 6f 20 61 6e 20 69 6e 74 65 67 65 72 2c 20 74 6f g.point.number.to.an.integer,.to
b5320 77 61 72 64 73 20 7a 65 72 6f 2e 0a 20 20 20 20 20 20 55 73 65 73 20 61 20 64 65 64 69 63 61 74 wards.zero........Uses.a.dedicat
b5340 65 64 20 68 61 72 64 77 61 72 65 20 69 6e 73 74 72 75 63 74 69 6f 6e 20 77 68 65 6e 20 61 76 61 ed.hardware.instruction.when.ava
b5360 69 6c 61 62 6c 65 2e 3c 2f 70 3e 0a 20 20 20 20 20 20 3c 70 3e 53 75 70 70 6f 72 74 73 20 3c 61 ilable.</p>.......<p>Supports.<a
b5380 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.<
b53a0 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
b53c0 20 66 6c 6f 61 74 20 70 61 72 61 6d 65 74 65 72 73 2e 3c 2f 70 3e 0a 20 20 20 20 20 20 3c 70 3e .float.parameters.</p>.......<p>
b53e0 57 68 65 6e 20 74 68 65 20 69 6e 66 65 72 72 65 64 20 72 65 73 75 6c 74 20 74 79 70 65 20 69 73 When.the.inferred.result.type.is
b5400 20 61 6e 20 3c 61 20 68 72 65 66 3d 22 23 49 6e 74 65 67 65 72 73 22 3e 69 6e 74 65 67 65 72 3c .an.<a.href="#Integers">integer<
b5420 2f 61 3e 2c 0a 20 20 20 20 20 20 74 68 65 20 69 6e 74 65 67 65 72 20 70 61 72 74 20 69 73 20 65 /a>,.......the.integer.part.is.e
b5440 78 74 72 61 63 74 65 64 20 66 72 6f 6d 20 74 68 65 20 74 72 75 6e 63 61 74 65 64 20 72 65 73 75 xtracted.from.the.truncated.resu
b5460 6c 74 2e 20 49 66 20 74 68 61 74 20 76 61 6c 75 65 0a 20 20 20 20 20 20 63 61 6e 6e 6f 74 20 66 lt..If.that.value.......cannot.f
b5480 69 74 20 69 6e 20 74 68 65 20 64 65 73 74 69 6e 61 74 69 6f 6e 20 74 79 70 65 2c 20 69 74 20 69 it.in.the.destination.type,.it.i
b54a0 6e 76 6f 6b 65 73 20 73 61 66 65 74 79 2d 63 68 65 63 6b 65 64 0a 20 20 20 20 20 20 3c 61 20 68 nvokes.safety-checked.......<a.h
b54c0 72 65 66 3d 22 23 49 6c 6c 65 67 61 6c 2d 42 65 68 61 76 69 6f 72 22 3e 49 6c 6c 65 67 61 6c 20 ref="#Illegal-Behavior">Illegal.
b54e0 42 65 68 61 76 69 6f 72 3c 2f 61 3e 2e 3c 2f 70 3e 0a 20 20 20 20 20 20 0a 0a 20 20 20 20 20 20 Behavior</a>.</p>...............
b5500 3c 68 33 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 <h3.id="round"><a.href="nav.xhtm
b5520 6c 23 74 6f 63 2d 72 6f 75 6e 64 22 3e 40 72 6f 75 6e 64 3c 2f 61 3e 20 3c 61 20 63 6c 61 73 73 l#toc-round">@round</a>.<a.class
b5540 3d 22 68 64 72 22 20 68 72 65 66 3d 22 23 72 6f 75 6e 64 22 3e c2 a7 3c 2f 61 3e 3c 2f 68 33 3e ="hdr".href="#round">..</a></h3>
b5560 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="
b5580 74 6f 6b 2d 62 75 69 6c 74 69 6e 22 3e 40 72 6f 75 6e 64 3c 2f 73 70 61 6e 3e 28 76 61 6c 75 65 tok-builtin">@round</span>(value
b55a0 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</
b55c0 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"
b55e0 3e 40 54 79 70 65 4f 66 3c 2f 73 70 61 6e 3e 28 76 61 6c 75 65 29 3c 2f 63 6f 64 65 3e 3c 2f 70 >@TypeOf</span>(value)</code></p
b5600 72 65 3e 0a 20 20 20 20 20 20 3c 70 3e 52 6f 75 6e 64 73 20 74 68 65 20 67 69 76 65 6e 20 66 6c re>.......<p>Rounds.the.given.fl
b5620 6f 61 74 69 6e 67 20 70 6f 69 6e 74 20 6e 75 6d 62 65 72 20 74 6f 20 74 68 65 20 6e 65 61 72 65 oating.point.number.to.the.neare
b5640 73 74 20 69 6e 74 65 67 65 72 2e 20 49 66 20 74 77 6f 0a 20 20 20 20 20 20 69 6e 74 65 67 65 72 st.integer..If.two.......integer
b5660 73 20 61 72 65 20 65 71 75 61 6c 6c 79 20 63 6c 6f 73 65 2c 20 72 6f 75 6e 64 73 20 61 77 61 79 s.are.equally.close,.rounds.away
b5680 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 64 0a 20 20 20 .from.zero..Uses.a.dedicated....
b56a0 20 20 20 68 61 72 64 77 61 72 65 20 69 6e 73 74 72 75 63 74 69 6f 6e 20 77 68 65 6e 20 61 76 61 ...hardware.instruction.when.ava
b56c0 69 6c 61 62 6c 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 ilable.</p>.......<figure><figca
b56e0 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
b5700 73 3d 22 66 69 6c 65 22 3e 74 65 73 74 5f 72 6f 75 6e 64 5f 62 75 69 6c 74 69 6e 2e 7a 69 67 3c s="file">test_round_builtin.zig<
b5720 2f 63 69 74 65 3e 3c 2f 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
b5740 70 61 6e 20 63 6c 61 73 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>.
b5760 65 78 70 65 63 74 45 71 75 61 6c 20 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 62 expectEqual.=.<span.class="tok-b
b5780 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
b57a0 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
b57c0 61 6e 3e 29 2e 74 65 73 74 69 6e 67 2e 65 78 70 65 63 74 45 71 75 61 6c 3b 0a 0a 3c 73 70 61 6e an>).testing.expectEqual;..<span
b57e0 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
b5800 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 72 6f 75 6e 64 26 71 n.class="tok-str">&quot;@round&q
b5820 75 6f 74 3b 3c 2f 73 70 61 6e 3e 20 7b 0a 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 uot;</span>.{.....<span.class="t
b5840 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 73 ok-kw">try</span>.expectEqual(<s
b5860 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>,
b5880 20 3c 73 70 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 75 6e .<span.class="tok-builtin">@roun
b58a0 64 3c 2f 73 70 61 6e 3e 28 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 d</span>(<span.class="tok-number
b58c0 22 3e 31 2e 34 3c 2f 73 70 61 6e 3e 29 29 3b 0a 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d ">1.4</span>));.....<span.class=
b58e0 22 74 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 "tok-kw">try</span>.expectEqual(
b5900 3c 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
b5920 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 40 72 6f >,.<span.class="tok-builtin">@ro
b5940 75 6e 64 3c 2f 73 70 61 6e 3e 28 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 und</span>(<span.class="tok-numb
b5960 65 72 22 3e 31 2e 35 3c 2f 73 70 61 6e 3e 29 29 3b 0a 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 er">1.5</span>));.....<span.clas
b5980 73 3d 22 74 6f 6b 2d 6b 77 22 3e 74 72 79 3c 2f 73 70 61 6e 3e 20 65 78 70 65 63 74 45 71 75 61 s="tok-kw">try</span>.expectEqua
b59a0 6c 28 2d 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 31 3c 2f 73 l(-<span.class="tok-number">1</s
b59c0 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">
b59e0 40 72 6f 75 6e 64 3c 2f 73 70 61 6e 3e 28 2d 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d @round</span>(-<span.class="tok-
b5a00 6e 75 6d 62 65 72 22 3e 31 2e 34 3c 2f 73 70 61 6e 3e 29 29 3b 0a 20 20 20 20 3c 73 70 61 6e 20 number">1.4</span>));.....<span.
b5a20 63 6c 61 73 73 3d 22 74 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
b5a40 45 71 75 61 6c 28 2d 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e Equal(-<span.class="tok-number">
b5a60 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 62 75 69 6c 74 3</span>,.<span.class="tok-built
b5a80 69 6e 22 3e 40 72 6f 75 6e 64 3c 2f 73 70 61 6e 3e 28 2d 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 in">@round</span>(-<span.class="
b5aa0 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 32 2e 35 3c 2f 73 70 61 6e 3e 29 29 3b 0a 7d 3c 2f 63 6f 64 tok-number">2.5</span>));.}</cod
b5ac0 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
b5ae0 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
b5b00 67 63 61 70 74 69 6f 6e 3e 3c 70 72 65 3e 3c 73 61 6d 70 3e 24 20 3c 6b 62 64 3e 7a 69 67 20 74 gcaption><pre><samp>$.<kbd>zig.t
b5b20 65 73 74 20 74 65 73 74 5f 72 6f 75 6e 64 5f 62 75 69 6c 74 69 6e 2e 7a 69 67 3c 2f 6b 62 64 3e est.test_round_builtin.zig</kbd>
b5b40 0a 31 2f 31 20 74 65 73 74 5f 72 6f 75 6e 64 5f 62 75 69 6c 74 69 6e 2e 74 65 73 74 2e 40 72 6f .1/1.test_round_builtin.test.@ro
b5b60 75 6e 64 2e 2e 2e 4f 4b 0a 41 6c 6c 20 31 20 74 65 73 74 73 20 70 61 73 73 65 64 2e 0a 3c 2f 73 und...OK.All.1.tests.passed..</s
b5b80 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 75 70 amp></pre></figure>.......<p>Sup
b5ba0 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</
b5bc0 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
b5be0 73 3c 2f 61 3e 20 6f 66 20 66 6c 6f 61 74 73 2e 3c 2f 70 3e 0a 20 20 20 20 20 20 3c 70 3e 57 68 s</a>.of.floats.</p>.......<p>Wh
b5c00 65 6e 20 74 68 65 20 69 6e 66 65 72 72 65 64 20 72 65 73 75 6c 74 20 74 79 70 65 20 69 73 20 61 en.the.inferred.result.type.is.a
b5c20 6e 20 3c 61 20 68 72 65 66 3d 22 23 49 6e 74 65 67 65 72 73 22 3e 69 6e 74 65 67 65 72 3c 2f 61 n.<a.href="#Integers">integer</a
b5c40 3e 2c 0a 20 20 20 20 20 20 74 68 65 20 69 6e 74 65 67 65 72 20 70 61 72 74 20 69 73 20 65 78 74 >,.......the.integer.part.is.ext
b5c60 72 61 63 74 65 64 20 66 72 6f 6d 20 74 68 65 20 72 6f 75 6e 64 65 64 20 72 65 73 75 6c 74 2e 20 racted.from.the.rounded.result..
b5c80 49 66 20 74 68 61 74 20 76 61 6c 75 65 0a 20 20 20 20 20 20 63 61 6e 6e 6f 74 20 66 69 74 20 69 If.that.value.......cannot.fit.i
b5ca0 6e 20 74 68 65 20 64 65 73 74 69 6e 61 74 69 6f 6e 20 74 79 70 65 2c 20 69 74 20 69 6e 76 6f 6b n.the.destination.type,.it.invok
b5cc0 65 73 20 73 61 66 65 74 79 2d 63 68 65 63 6b 65 64 0a 20 20 20 20 20 20 3c 61 20 68 72 65 66 3d es.safety-checked.......<a.href=
b5ce0 22 23 49 6c 6c 65 67 61 6c 2d 42 65 68 61 76 69 6f 72 22 3e 49 6c 6c 65 67 61 6c 20 42 65 68 61 "#Illegal-Behavior">Illegal.Beha
b5d00 76 69 6f 72 3c 2f 61 3e 2e 3c 2f 70 3e 0a 20 20 20 20 20 20 0a 0a 20 20 20 20 20 20 3c 68 33 20 vior</a>.</p>...............<h3.
b5d20 69 64 3d 22 73 75 62 57 69 74 68 4f 76 65 72 66 6c 6f 77 22 3e 3c 61 20 68 72 65 66 3d 22 6e 61 id="subWithOverflow"><a.href="na
b5d40 76 2e 78 68 74 6d 6c 23 74 6f 63 2d 73 75 62 57 69 74 68 4f 76 65 72 66 6c 6f 77 22 3e 40 73 75 v.xhtml#toc-subWithOverflow">@su
b5d60 62 57 69 74 68 4f 76 65 72 66 6c 6f 77 3c 2f 61 3e 20 3c 61 20 63 6c 61 73 73 3d 22 68 64 72 22 bWithOverflow</a>.<a.class="hdr"
b5d80 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 c2 a7 3c 2f 61 3e 3c .href="#subWithOverflow">..</a><
b5da0 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
b5dc0 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 66 6c 6f ss="tok-builtin">@subWithOverflo
b5de0 77 3c 2f 73 70 61 6e 3e 28 61 3a 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 w</span>(a:.<span.class="tok-kw"
b5e00 3e 61 6e 79 74 79 70 65 3c 2f 73 70 61 6e 3e 2c 20 62 3a 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d >anytype</span>,.b:.<span.class=
b5e20 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
b5e40 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 73 74 72 75 63 74 3c 2f 73 70 61 6e 3e 20 7b 20 3c 73 lass="tok-kw">struct</span>.{.<s
b5e60 70 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<
b5e80 2f 73 70 61 6e 3e 28 61 2c 20 62 29 2c 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 /span>(a,.b),.<span.class="tok-t
b5ea0 79 70 65 22 3e 75 31 3c 2f 73 70 61 6e 3e 20 7d 3c 2f 63 6f 64 65 3e 3c 2f 70 72 65 3e 0a 20 20 ype">u1</span>.}</code></pre>...
b5ec0 20 20 20 20 3c 70 3e 0a 20 20 20 20 20 20 50 65 72 66 6f 72 6d 73 20 3c 63 6f 64 65 3e 61 20 2d ....<p>.......Performs.<code>a.-
b5ee0 20 62 3c 2f 63 6f 64 65 3e 20 61 6e 64 20 72 65 74 75 72 6e 73 20 61 20 74 75 70 6c 65 20 77 69 .b</code>.and.returns.a.tuple.wi
b5f00 74 68 20 74 68 65 20 72 65 73 75 6c 74 20 61 6e 64 20 61 20 70 6f 73 73 69 62 6c 65 20 6f 76 65 th.the.result.and.a.possible.ove
b5f20 72 66 6c 6f 77 20 62 69 74 2e 0a 20 20 20 20 20 20 3c 2f 70 3e 0a 20 20 20 20 20 20 0a 0a 20 20 rflow.bit........</p>...........
b5f40 20 20 20 20 3c 68 33 20 69 64 3d 22 74 61 67 4e 61 6d 65 22 3e 3c 61 20 68 72 65 66 3d 22 6e 61 ....<h3.id="tagName"><a.href="na
b5f60 76 2e 78 68 74 6d 6c 23 74 6f 63 2d 74 61 67 4e 61 6d 65 22 3e 40 74 61 67 4e 61 6d 65 3c 2f 61 v.xhtml#toc-tagName">@tagName</a
b5f80 3e 20 3c 61 20 63 6c 61 73 73 3d 22 68 64 72 22 20 68 72 65 66 3d 22 23 74 61 67 4e 61 6d 65 22 >.<a.class="hdr".href="#tagName"
b5fa0 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><
b5fc0 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 62 75 69 6c 74 69 6e 22 3e 40 74 61 67 4e 61 6d span.class="tok-builtin">@tagNam
b5fe0 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 6f 6b e</span>(value:.<span.class="tok
b6000 2d 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 -kw">anytype</span>).[:<span.cla
b6020 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
b6040 6c 61 73 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
b6060 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 63 6f 64 .class="tok-type">u8</span></cod
b6080 65 3e 3c 2f 70 72 65 3e 0a 20 20 20 20 20 20 3c 70 3e 0a 20 20 20 20 20 20 43 6f 6e 76 65 72 74 e></pre>.......<p>.......Convert
b60a0 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 61 6c 75 65 20 74 s.an.enum.value.or.union.value.t
b60c0 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 6e 74 69 6e 67 20 o.a.string.literal.representing.
b60e0 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 6d 20 69 73 20 6e the.name.</p><p>If.the.enum.is.n
b6100 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 76 61 6c 75 65 20 on-exhaustive.and.the.tag.value.
b6120 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 20 69 6e 76 6f 6b does.not.map.to.a.name,.it.invok
b6140 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 49 6c 6c 65 es.safety-checked.<a.href="#Ille
b6160 67 61 6c 2d 42 65 68 61 76 69 6f 72 22 3e 49 6c 6c 65 67 61 6c 20 42 65 68 61 76 69 6f 72 3c 2f gal-Behavior">Illegal.Behavior</
b6180 61 3e 2e 0a 20 20 20 20 20 20 3c 2f 70 3e 0a 20 20 20 20 20 20 0a 0a 20 20 20 20 20 20 3c 68 33 a>........</p>...............<h3
b61a0 20 69 64 3d 22 54 68 69 73 22 3e 3c 61 20 68 72 65 66 3d 22 6e 61 76 2e 78 68 74 6d 6c 23 74 6f .id="This"><a.href="nav.xhtml#to
b61c0 63 2d 54 68 69 73 22 3e 40 54 68 69 73 3c 2f 61 3e 20 3c 61 20 63 6c 61 73 73 3d 22 68 64 72 22 c-This">@This</a>.<a.class="hdr"
b61e0 20 68 72 65 66 3d 22 23 54 68 69 73 22 3e c2 a7 3c 2f 61 3e 3c 2f 68 33 3e 0a 0a 20 20 20 20 20 .href="#This">..</a></h3>.......
b6200 20 3c 70 72 65 3e 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 62 75 69 .<pre><code><span.class="tok-bui
b6220 6c 74 69 6e 22 3e 40 54 68 69 73 3c 2f 73 70 61 6e 3e 28 29 20 3c 73 70 61 6e 20 63 6c 61 73 73 ltin">@This</span>().<span.class
b6240 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 74 79 70 65 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 3c 2f ="tok-type">type</span></code></
b6260 70 72 65 3e 0a 20 20 20 20 20 20 3c 70 3e 0a 20 20 20 20 20 20 52 65 74 75 72 6e 73 20 74 68 65 pre>.......<p>.......Returns.the
b6280 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 75 6e 69 6f .innermost.struct,.enum,.or.unio
b62a0 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 20 69 6e 73 n.that.this.function.call.is.ins
b62c0 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 6c 20 66 6f ide........This.can.be.useful.fo
b62e0 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 65 65 64 73 r.an.anonymous.struct.that.needs
b6300 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 2f 70 3e 0a .to.refer.to.itself:.......</p>.
b6320 20 20 20 20 20 20 3c 66 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=
b6340 22 7a 69 67 2d 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
b6360 74 5f 74 68 69 73 5f 62 75 69 6c 74 69 6e 2e 7a 69 67 3c 2f 63 69 74 65 3e 3c 2f 66 69 67 63 61 t_this_builtin.zig</cite></figca
b6380 70 74 69 6f 6e 3e 3c 70 72 65 3e 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f ption><pre><code><span.class="to
b63a0 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
b63c0 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
b63e0 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
b6400 64 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 29 3b 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f d&quot;</span>);.<span.class="to
b6420 6b 2d 6b 77 22 3e 63 6f 6e 73 74 3c 2f 73 70 61 6e 3e 20 65 78 70 65 63 74 45 71 75 61 6c 20 3d k-kw">const</span>.expectEqual.=
b6440 20 73 74 64 2e 74 65 73 74 69 6e 67 2e 65 78 70 65 63 74 45 71 75 61 6c 3b 0a 0a 3c 73 70 61 6e .std.testing.expectEqual;..<span
b6460 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
b6480 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 54 68 69 73 28 29 26 n.class="tok-str">&quot;@This()&
b64a0 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 20 7b 0a 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 quot;</span>.{.....<span.class="
b64c0 74 6f 6b 2d 6b 77 22 3e 76 61 72 3c 2f 73 70 61 6e 3e 20 69 74 65 6d 73 20 3d 20 5b 5f 5d 3c 73 tok-kw">var</span>.items.=.[_]<s
b64e0 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>{
b6500 20 3c 73 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
b6520 6e 3e 2c 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 32 3c 2f n>,.<span.class="tok-number">2</
b6540 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">
b6560 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
b6580 72 22 3e 34 3c 2f 73 70 61 6e 3e 20 7d 3b 0a 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 r">4</span>.};.....<span.class="
b65a0 74 6f 6b 2d 6b 77 22 3e 63 6f 6e 73 74 3c 2f 73 70 61 6e 3e 20 6c 69 73 74 20 3d 20 4c 69 73 74 tok-kw">const</span>.list.=.List
b65c0 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
b65e0 6e 3e 29 7b 20 2e 69 74 65 6d 73 20 3d 20 69 74 65 6d 73 5b 3c 73 70 61 6e 20 63 6c 61 73 73 3d n>){..items.=.items[<span.class=
b6600 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 30 3c 2f 73 70 61 6e 3e 2e 2e 5d 20 7d 3b 0a 20 20 20 20 "tok-number">0</span>..].};.....
b6620 3c 73 70 61 6e 20 63 6c 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>.
b6640 65 78 70 65 63 74 45 71 75 61 6c 28 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d expectEqual(<span.class="tok-num
b6660 62 65 72 22 3e 34 3c 2f 73 70 61 6e 3e 2c 20 6c 69 73 74 2e 6c 65 6e 67 74 68 28 29 29 3b 0a 7d ber">4</span>,.list.length());.}
b6680 0a 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 66 6e 3c 2f 73 70 61 6e 3e ..<span.class="tok-kw">fn</span>
b66a0 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 66 6e 22 3e 4c 69 73 74 3c 2f 73 70 61 6e .<span.class="tok-fn">List</span
b66c0 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<
b66e0 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"
b6700 3e 74 79 70 65 3c 2f 73 70 61 6e 3e 29 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 >type</span>).<span.class="tok-t
b6720 79 70 65 22 3e 74 79 70 65 3c 2f 73 70 61 6e 3e 20 7b 0a 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 ype">type</span>.{.....<span.cla
b6740 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 72 65 74 75 72 6e 3c 2f 73 70 61 6e 3e 20 3c 73 70 61 6e 20 ss="tok-kw">return</span>.<span.
b6760 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 73 74 72 75 63 74 3c 2f 73 70 61 6e 3e 20 7b 0a 20 class="tok-kw">struct</span>.{..
b6780 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 73 .......<span.class="tok-kw">cons
b67a0 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 3d 22 74 6f 6b t</span>.Self.=.<span.class="tok
b67c0 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 0a 0a 20 20 20 20 20 -builtin">@This</span>();.......
b67e0 20 20 20 69 74 65 6d 73 3a 20 5b 5d 54 2c 0a 0a 20 20 20 20 20 20 20 20 3c 73 70 61 6e 20 63 6c ...items:.[]T,..........<span.cl
b6800 61 73 73 3d 22 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
b6820 73 73 3d 22 74 6f 6b 2d 66 6e 22 3e 6c 65 6e 67 74 68 3c 2f 73 70 61 6e 3e 28 73 65 6c 66 3a 20 ss="tok-fn">length</span>(self:.
b6840 53 65 6c 66 29 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 75 73 69 Self).<span.class="tok-type">usi
b6860 7a 65 3c 2f 73 70 61 6e 3e 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 3c 73 70 61 6e 20 63 6c ze</span>.{.............<span.cl
b6880 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 72 65 74 75 72 6e 3c 2f 73 70 61 6e 3e 20 73 65 6c 66 2e ass="tok-kw">return</span>.self.
b68a0 69 74 65 6d 73 2e 6c 65 6e 3b 0a 20 20 20 20 20 20 20 20 7d 0a 20 20 20 20 7d 3b 0a 7d 3c 2f 63 items.len;.........}.....};.}</c
b68c0 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
b68e0 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</
b6900 66 69 67 63 61 70 74 69 6f 6e 3e 3c 70 72 65 3e 3c 73 61 6d 70 3e 24 20 3c 6b 62 64 3e 7a 69 67 figcaption><pre><samp>$.<kbd>zig
b6920 20 74 65 73 74 20 74 65 73 74 5f 74 68 69 73 5f 62 75 69 6c 74 69 6e 2e 7a 69 67 3c 2f 6b 62 64 .test.test_this_builtin.zig</kbd
b6940 3e 0a 31 2f 31 20 74 65 73 74 5f 74 68 69 73 5f 62 75 69 6c 74 69 6e 2e 74 65 73 74 2e 40 54 68 >.1/1.test_this_builtin.test.@Th
b6960 69 73 28 29 2e 2e 2e 4f 4b 0a 41 6c 6c 20 31 20 74 65 73 74 73 20 70 61 73 73 65 64 2e 0a 3c 2f is()...OK.All.1.tests.passed..</
b6980 73 61 6d 70 3e 3c 2f 70 72 65 3e 3c 2f 66 69 67 75 72 65 3e 0a 0a 20 20 20 20 20 20 3c 70 3e 0a samp></pre></figure>........<p>.
b69a0 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 74 6f ......When.<code><span.class="to
b69c0 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 3c 2f 63 6f 64 65 3e k-builtin">@This</span>()</code>
b69e0 20 69 73 20 75 73 65 64 20 61 74 20 66 69 6c 65 20 73 63 6f 70 65 2c 20 69 74 20 72 65 74 75 72 .is.used.at.file.scope,.it.retur
b6a00 6e 73 20 61 20 72 65 66 65 72 65 6e 63 65 20 74 6f 20 74 68 65 0a 20 20 20 20 20 20 73 74 72 75 ns.a.reference.to.the.......stru
b6a20 63 74 20 74 68 61 74 20 63 6f 72 72 65 73 70 6f 6e 64 73 20 74 6f 20 74 68 65 20 63 75 72 72 65 ct.that.corresponds.to.the.curre
b6a40 6e 74 20 66 69 6c 65 2e 0a 20 20 20 20 20 20 3c 2f 70 3e 0a 20 20 20 20 20 20 0a 0a 20 20 20 20 nt.file........</p>.............
b6a60 20 20 3c 68 33 20 69 64 3d 22 74 72 61 70 22 3e 3c 61 20 68 72 65 66 3d 22 6e 61 76 2e 78 68 74 ..<h3.id="trap"><a.href="nav.xht
b6a80 6d 6c 23 74 6f 63 2d 74 72 61 70 22 3e 40 74 72 61 70 3c 2f 61 3e 20 3c 61 20 63 6c 61 73 73 3d ml#toc-trap">@trap</a>.<a.class=
b6aa0 22 68 64 72 22 20 68 72 65 66 3d 22 23 74 72 61 70 22 3e c2 a7 3c 2f 61 3e 3c 2f 68 33 3e 0a 0a "hdr".href="#trap">..</a></h3>..
b6ac0 20 20 20 20 20 20 3c 70 72 65 3e 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f ......<pre><code><span.class="to
b6ae0 6b 2d 62 75 69 6c 74 69 6e 22 3e 40 74 72 61 70 3c 2f 73 70 61 6e 3e 28 29 20 3c 73 70 61 6e 20 k-builtin">@trap</span>().<span.
b6b00 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>
b6b20 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
b6b40 69 73 20 66 75 6e 63 74 69 6f 6e 20 69 6e 73 65 72 74 73 20 61 20 70 6c 61 74 66 6f 72 6d 2d 73 is.function.inserts.a.platform-s
b6b60 70 65 63 69 66 69 63 20 74 72 61 70 2f 6a 61 6d 20 69 6e 73 74 72 75 63 74 69 6f 6e 20 77 68 69 pecific.trap/jam.instruction.whi
b6b80 63 68 20 63 61 6e 20 62 65 20 75 73 65 64 20 74 6f 20 65 78 69 74 20 74 68 65 20 70 72 6f 67 72 ch.can.be.used.to.exit.the.progr
b6ba0 61 6d 20 61 62 6e 6f 72 6d 61 6c 6c 79 2e 0a 20 20 20 20 20 20 54 68 69 73 20 6d 61 79 20 62 65 am.abnormally........This.may.be
b6bc0 20 69 6d 70 6c 65 6d 65 6e 74 65 64 20 62 79 20 65 78 70 6c 69 63 69 74 6c 79 20 65 6d 69 74 74 .implemented.by.explicitly.emitt
b6be0 69 6e 67 20 61 6e 20 69 6e 76 61 6c 69 64 20 69 6e 73 74 72 75 63 74 69 6f 6e 20 77 68 69 63 68 ing.an.invalid.instruction.which
b6c00 20 6d 61 79 20 63 61 75 73 65 20 61 6e 20 69 6c 6c 65 67 61 6c 20 69 6e 73 74 72 75 63 74 69 6f .may.cause.an.illegal.instructio
b6c20 6e 20 65 78 63 65 70 74 69 6f 6e 20 6f 66 20 73 6f 6d 65 20 73 6f 72 74 2e 0a 20 20 20 20 20 20 n.exception.of.some.sort........
b6c40 55 6e 6c 69 6b 65 20 66 6f 72 20 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f Unlike.for.<code><span.class="to
b6c60 6b 2d 62 75 69 6c 74 69 6e 22 3e 40 62 72 65 61 6b 70 6f 69 6e 74 3c 2f 73 70 61 6e 3e 28 29 3c k-builtin">@breakpoint</span>()<
b6c80 2f 63 6f 64 65 3e 2c 20 65 78 65 63 75 74 69 6f 6e 20 64 6f 65 73 20 6e 6f 74 20 63 6f 6e 74 69 /code>,.execution.does.not.conti
b6ca0 6e 75 65 20 61 66 74 65 72 20 74 68 69 73 20 70 6f 69 6e 74 2e 0a 20 20 20 20 20 20 3c 2f 70 3e nue.after.this.point........</p>
b6cc0 0a 20 20 20 20 20 20 3c 70 3e 0a 20 20 20 20 20 20 4f 75 74 73 69 64 65 20 66 75 6e 63 74 69 6f .......<p>.......Outside.functio
b6ce0 6e 20 73 63 6f 70 65 2c 20 74 68 69 73 20 62 75 69 6c 74 69 6e 20 63 61 75 73 65 73 20 61 20 63 n.scope,.this.builtin.causes.a.c
b6d00 6f 6d 70 69 6c 65 20 65 72 72 6f 72 2e 0a 20 20 20 20 20 20 3c 2f 70 3e 0a 20 20 20 20 20 20 3c ompile.error........</p>.......<
b6d20 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=
b6d40 22 23 62 72 65 61 6b 70 6f 69 6e 74 22 3e 40 62 72 65 61 6b 70 6f 69 6e 74 3c 2f 61 3e 3c 2f 6c "#breakpoint">@breakpoint</a></l
b6d60 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="
b6d80 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 6c 23 74 6f 63 truncate"><a.href="nav.xhtml#toc
b6da0 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 20 63 6c 61 73 -truncate">@truncate</a>.<a.clas
b6dc0 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 3c 2f 61 3e 3c s="hdr".href="#truncate">..</a><
b6de0 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
b6e00 73 73 3d 22 74 6f 6b 2d 62 75 69 6c 74 69 6e 22 3e 40 74 72 75 6e 63 61 74 65 3c 2f 73 70 61 6e ss="tok-builtin">@truncate</span
b6e20 3e 28 69 6e 74 65 67 65 72 3a 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e >(integer:.<span.class="tok-kw">
b6e40 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
b6e60 2d 6b 77 22 3e 61 6e 79 74 79 70 65 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 3c 2f 70 72 65 3e -kw">anytype</span></code></pre>
b6e80 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 74 .......<p>.......This.function.t
b6ea0 72 75 6e 63 61 74 65 73 20 62 69 74 73 20 66 72 6f 6d 20 61 6e 20 69 6e 74 65 67 65 72 20 74 79 runcates.bits.from.an.integer.ty
b6ec0 70 65 2c 20 72 65 73 75 6c 74 69 6e 67 20 69 6e 20 61 20 73 6d 61 6c 6c 65 72 0a 20 20 20 20 20 pe,.resulting.in.a.smaller......
b6ee0 20 6f 72 20 73 61 6d 65 2d 73 69 7a 65 64 20 69 6e 74 65 67 65 72 20 74 79 70 65 2e 20 54 68 65 .or.same-sized.integer.type..The
b6f00 20 72 65 74 75 72 6e 20 74 79 70 65 20 69 73 20 74 68 65 20 69 6e 66 65 72 72 65 64 20 72 65 73 .return.type.is.the.inferred.res
b6f20 75 6c 74 20 74 79 70 65 2e 0a 20 20 20 20 20 20 3c 2f 70 3e 0a 20 20 20 20 20 20 3c 70 3e 0a 20 ult.type........</p>.......<p>..
b6f40 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
b6f60 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.
b6f80 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
b6fa0 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..
b6fc0 20 20 20 20 20 20 3c 2f 70 3e 0a 20 20 20 20 20 20 3c 70 3e 0a 20 20 20 20 20 20 43 61 6c 6c 69 ......</p>.......<p>.......Calli
b6fe0 6e 67 20 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 62 75 69 6c 74 69 ng.<code><span.class="tok-builti
b7000 6e 22 3e 40 74 72 75 6e 63 61 74 65 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 20 6f 6e 20 61 20 n">@truncate</span></code>.on.a.
b7020 6e 75 6d 62 65 72 20 6f 75 74 20 6f 66 20 72 61 6e 67 65 20 6f 66 20 74 68 65 20 64 65 73 74 69 number.out.of.range.of.the.desti
b7040 6e 61 74 69 6f 6e 20 74 79 70 65 20 69 73 20 77 65 6c 6c 20 64 65 66 69 6e 65 64 20 61 6e 64 20 nation.type.is.well.defined.and.
b7060 77 6f 72 6b 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 working.code:.......</p>.......<
b7080 66 69 67 75 72 65 3e 3c 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
b70a0 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 72 75 6e 63 p"><cite.class="file">test_trunc
b70c0 61 74 65 5f 62 75 69 6c 74 69 6e 2e 7a 69 67 3c 2f 63 69 74 65 3e 3c 2f 66 69 67 63 61 70 74 69 ate_builtin.zig</cite></figcapti
b70e0 6f 6e 3e 3c 70 72 65 3e 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b on><pre><code><span.class="tok-k
b7100 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
b7120 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>(<
b7140 73 70 61 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
b7160 75 6f 74 3b 3c 2f 73 70 61 6e 3e 29 3b 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b uot;</span>);.<span.class="tok-k
b7180 77 22 3e 63 6f 6e 73 74 3c 2f 73 70 61 6e 3e 20 65 78 70 65 63 74 45 71 75 61 6c 20 3d 20 73 74 w">const</span>.expectEqual.=.st
b71a0 64 2e 74 65 73 74 69 6e 67 2e 65 78 70 65 63 74 45 71 75 61 6c 3b 0a 0a 3c 73 70 61 6e 20 63 6c d.testing.expectEqual;..<span.cl
b71c0 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
b71e0 6c 61 73 73 3d 22 74 6f 6b 2d 73 74 72 22 3e 26 71 75 6f 74 3b 69 6e 74 65 67 65 72 20 74 72 75 lass="tok-str">&quot;integer.tru
b7200 6e 63 61 74 69 6f 6e 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 20 7b 0a 20 20 20 20 3c 73 70 61 6e ncation&quot;</span>.{.....<span
b7220 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 63 6f 6e 73 74 3c 2f 73 70 61 6e 3e 20 61 3a 20 .class="tok-kw">const</span>.a:.
b7240 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
b7260 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 78 61 >.=.<span.class="tok-number">0xa
b7280 62 63 64 3c 2f 73 70 61 6e 3e 3b 0a 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b bcd</span>;.....<span.class="tok
b72a0 2d 6b 77 22 3e 63 6f 6e 73 74 3c 2f 73 70 61 6e 3e 20 62 3a 20 3c 73 70 61 6e 20 63 6c 61 73 73 -kw">const</span>.b:.<span.class
b72c0 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 75 38 3c 2f 73 70 61 6e 3e 20 3d 20 3c 73 70 61 6e 20 63 6c ="tok-type">u8</span>.=.<span.cl
b72e0 61 73 73 3d 22 74 6f 6b 2d 62 75 69 6c 74 69 6e 22 3e 40 74 72 75 6e 63 61 74 65 3c 2f 73 70 61 ass="tok-builtin">@truncate</spa
b7300 6e 3e 28 61 29 3b 0a 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e n>(a);.....<span.class="tok-kw">
b7320 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
b7340 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 30 78 63 64 3c 2f 73 70 61 6e 3e 2c 20 62 29 3b ss="tok-number">0xcd</span>,.b);
b7360 0a 7d 3c 2f 63 6f 64 65 3e 3c 2f 70 72 65 3e 3c 2f 66 69 67 75 72 65 3e 3c 66 69 67 75 72 65 3e .}</code></pre></figure><figure>
b7380 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
b73a0 65 6c 6c 3c 2f 66 69 67 63 61 70 74 69 6f 6e 3e 3c 70 72 65 3e 3c 73 61 6d 70 3e 24 20 3c 6b 62 ell</figcaption><pre><samp>$.<kb
b73c0 64 3e 7a 69 67 20 74 65 73 74 20 74 65 73 74 5f 74 72 75 6e 63 61 74 65 5f 62 75 69 6c 74 69 6e d>zig.test.test_truncate_builtin
b73e0 2e 7a 69 67 3c 2f 6b 62 64 3e 0a 31 2f 31 20 74 65 73 74 5f 74 72 75 6e 63 61 74 65 5f 62 75 69 .zig</kbd>.1/1.test_truncate_bui
b7400 6c 74 69 6e 2e 74 65 73 74 2e 69 6e 74 65 67 65 72 20 74 72 75 6e 63 61 74 69 6f 6e 2e 2e 2e 4f ltin.test.integer.truncation...O
b7420 4b 0a 41 6c 6c 20 31 20 74 65 73 74 73 20 70 61 73 73 65 64 2e 0a 3c 2f 73 61 6d 70 3e 3c 2f 70 K.All.1.tests.passed..</samp></p
b7440 72 65 3e 3c 2f 66 69 67 75 72 65 3e 0a 0a 20 20 20 20 20 20 3c 70 3e 0a 20 20 20 20 20 20 55 73 re></figure>........<p>.......Us
b7460 65 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 e.<a.href="#intCast">@intCast</a
b7480 3e 20 74 6f 20 63 6f 6e 76 65 72 74 20 6e 75 6d 62 65 72 73 20 67 75 61 72 61 6e 74 65 65 64 20 >.to.convert.numbers.guaranteed.
b74a0 74 6f 20 66 69 74 20 74 68 65 20 64 65 73 74 69 6e 61 74 69 6f 6e 20 74 79 70 65 2e 0a 20 20 20 to.fit.the.destination.type.....
b74c0 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 45 6e ...</p>...............<h3.id="En
b74e0 75 6d 4c 69 74 65 72 61 6c 22 3e 3c 61 20 68 72 65 66 3d 22 6e 61 76 2e 78 68 74 6d 6c 23 74 6f umLiteral"><a.href="nav.xhtml#to
b7500 63 2d 45 6e 75 6d 4c 69 74 65 72 61 6c 22 3e 40 45 6e 75 6d 4c 69 74 65 72 61 6c 3c 2f 61 3e 20 c-EnumLiteral">@EnumLiteral</a>.
b7520 3c 61 20 63 6c 61 73 73 3d 22 68 64 72 22 20 68 72 65 66 3d 22 23 45 6e 75 6d 4c 69 74 65 72 61 <a.class="hdr".href="#EnumLitera
b7540 6c 22 3e c2 a7 3c 2f 61 3e 3c 2f 68 33 3e 0a 0a 20 20 20 20 20 20 3c 70 72 65 3e 3c 63 6f 64 65 l">..</a></h3>........<pre><code
b7560 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 45 6e 75 6d ><span.class="tok-builtin">@Enum
b7580 4c 69 74 65 72 61 6c 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 Literal</span>().<span.class="to
b75a0 6b 2d 74 79 70 65 22 3e 74 79 70 65 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 3c 2f 70 72 65 3e k-type">type</span></code></pre>
b75c0 0a 20 20 20 20 20 20 3c 70 3e 52 65 74 75 72 6e 73 20 74 68 65 20 63 6f 6d 70 74 69 6d 65 2d 6f .......<p>Returns.the.comptime-o
b75e0 6e 6c 79 20 22 65 6e 75 6d 20 6c 69 74 65 72 61 6c 22 20 74 79 70 65 2e 20 54 68 69 73 20 69 73 nly."enum.literal".type..This.is
b7600 20 74 68 65 20 74 79 70 65 20 6f 66 20 75 6e 63 6f 65 72 63 65 64 20 3c 61 20 68 72 65 66 3d 22 .the.type.of.uncoerced.<a.href="
b7620 23 45 6e 75 6d 2d 4c 69 74 65 72 61 6c 73 22 3e 45 6e 75 6d 20 4c 69 74 65 72 61 6c 73 3c 2f 61 #Enum-Literals">Enum.Literals</a
b7640 3e 2e 20 56 61 6c 75 65 73 20 6f 66 20 74 68 69 73 20 74 79 70 65 20 63 61 6e 20 63 6f 65 72 63 >..Values.of.this.type.can.coerc
b7660 65 20 74 6f 20 61 6e 79 20 3c 61 20 68 72 65 66 3d 22 23 65 6e 75 6d 22 3e 65 6e 75 6d 3c 2f 61 e.to.any.<a.href="#enum">enum</a
b7680 3e 20 77 69 74 68 20 61 20 6d 61 74 63 68 69 6e 67 20 66 69 65 6c 64 2e 3c 2f 70 3e 0a 20 20 20 >.with.a.matching.field.</p>....
b76a0 20 20 20 0a 0a 20 20 20 20 20 20 3c 68 33 20 69 64 3d 22 49 6e 74 22 3e 3c 61 20 68 72 65 66 3d ...........<h3.id="Int"><a.href=
b76c0 22 6e 61 76 2e 78 68 74 6d 6c 23 74 6f 63 2d 49 6e 74 22 3e 40 49 6e 74 3c 2f 61 3e 20 3c 61 20 "nav.xhtml#toc-Int">@Int</a>.<a.
b76e0 63 6c 61 73 73 3d 22 68 64 72 22 20 68 72 65 66 3d 22 23 49 6e 74 22 3e c2 a7 3c 2f 61 3e 3c 2f class="hdr".href="#Int">..</a></
b7700 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
b7720 73 3d 22 74 6f 6b 2d 62 75 69 6c 74 69 6e 22 3e 40 49 6e 74 3c 2f 73 70 61 6e 3e 28 3c 73 70 61 s="tok-builtin">@Int</span>(<spa
b7740 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>
b7760 20 73 69 67 6e 65 64 6e 65 73 73 3a 20 73 74 64 2e 6c 61 6e 67 2e 53 69 67 6e 65 64 6e 65 73 73 .signedness:.std.lang.Signedness
b7780 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<
b77a0 2f 73 70 61 6e 3e 20 62 69 74 73 3a 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 /span>.bits:.<span.class="tok-ty
b77c0 70 65 22 3e 75 31 36 3c 2f 73 70 61 6e 3e 29 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b pe">u16</span>).<span.class="tok
b77e0 2d 74 79 70 65 22 3e 74 79 70 65 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 3c 2f 70 72 65 3e 0a -type">type</span></code></pre>.
b7800 20 20 20 20 20 20 3c 70 3e 52 65 74 75 72 6e 73 20 61 6e 20 69 6e 74 65 67 65 72 20 74 79 70 65 ......<p>Returns.an.integer.type
b7820 20 77 69 74 68 20 74 68 65 20 67 69 76 65 6e 20 73 69 67 6e 65 64 6e 65 73 73 20 61 6e 64 20 62 .with.the.given.signedness.and.b
b7840 69 74 20 77 69 64 74 68 2e 3c 2f 70 3e 0a 20 20 20 20 20 20 3c 70 3e 46 6f 72 20 69 6e 73 74 61 it.width.</p>.......<p>For.insta
b7860 6e 63 65 2c 20 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 62 75 69 6c nce,.<code><span.class="tok-buil
b7880 74 69 6e 22 3e 40 49 6e 74 3c 2f 73 70 61 6e 3e 28 2e 75 6e 73 69 67 6e 65 64 2c 20 3c 73 70 61 tin">@Int</span>(.unsigned,.<spa
b78a0 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 31 38 3c 2f 73 70 61 6e 3e 29 3c n.class="tok-number">18</span>)<
b78c0 2f 63 6f 64 65 3e 20 72 65 74 75 72 6e 73 20 74 68 65 20 74 79 70 65 20 3c 63 6f 64 65 3e 3c 73 /code>.returns.the.type.<code><s
b78e0 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 75 31 38 3c 2f 73 70 61 6e 3e 3c pan.class="tok-type">u18</span><
b7900 2f 63 6f 64 65 3e 2e 3c 2f 70 3e 0a 20 20 20 20 20 20 0a 0a 20 20 20 20 20 20 3c 68 33 20 69 64 /code>.</p>...............<h3.id
b7920 3d 22 54 75 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 63 2d ="Tuple"><a.href="nav.xhtml#toc-
b7940 54 75 70 6c 65 22 3e 40 54 75 70 6c 65 3c 2f 61 3e 20 3c 61 20 63 6c 61 73 73 3d 22 68 64 72 22 Tuple">@Tuple</a>.<a.class="hdr"
b7960 20 68 72 65 66 3d 22 23 54 75 70 6c 65 22 3e c2 a7 3c 2f 61 3e 3c 2f 68 33 3e 0a 0a 20 20 20 20 .href="#Tuple">..</a></h3>......
b7980 20 20 3c 70 72 65 3e 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 62 75 ..<pre><code><span.class="tok-bu
b79a0 69 6c 74 69 6e 22 3e 40 54 75 70 6c 65 3c 2f 73 70 61 6e 3e 28 3c 73 70 61 6e 20 63 6c 61 73 73 iltin">@Tuple</span>(<span.class
b79c0 3d 22 74 6f 6b 2d 6b 77 22 3e 63 6f 6d 70 74 69 6d 65 3c 2f 73 70 61 6e 3e 20 66 69 65 6c 64 5f ="tok-kw">comptime</span>.field_
b79e0 74 79 70 65 73 3a 20 5b 5d 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 63 6f types:.[]<span.class="tok-kw">co
b7a00 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
b7a20 22 3e 74 79 70 65 3c 2f 73 70 61 6e 3e 29 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d ">type</span>).<span.class="tok-
b7a40 74 79 70 65 22 3e 74 79 70 65 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 3c 2f 70 72 65 3e 0a 20 type">type</span></code></pre>..
b7a60 20 20 20 20 20 3c 70 3e 52 65 74 75 72 6e 73 20 61 20 3c 61 20 68 72 65 66 3d 22 23 54 75 70 6c .....<p>Returns.a.<a.href="#Tupl
b7a80 65 73 22 3e 74 75 70 6c 65 3c 2f 61 3e 20 74 79 70 65 20 77 69 74 68 20 74 68 65 20 67 69 76 65 es">tuple</a>.type.with.the.give
b7aa0 6e 20 66 69 65 6c 64 20 74 79 70 65 73 2e 3c 2f 70 3e 0a 20 20 20 20 20 20 0a 0a 20 20 20 20 20 n.field.types.</p>..............
b7ac0 20 3c 68 33 20 69 64 3d 22 50 6f 69 6e 74 65 72 22 3e 3c 61 20 68 72 65 66 3d 22 6e 61 76 2e 78 .<h3.id="Pointer"><a.href="nav.x
b7ae0 68 74 6d 6c 23 74 6f 63 2d 50 6f 69 6e 74 65 72 22 3e 40 50 6f 69 6e 74 65 72 3c 2f 61 3e 20 3c html#toc-Pointer">@Pointer</a>.<
b7b00 61 20 63 6c 61 73 73 3d 22 68 64 72 22 20 68 72 65 66 3d 22 23 50 6f 69 6e 74 65 72 22 3e c2 a7 a.class="hdr".href="#Pointer">..
b7b20 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
b7b40 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 62 75 69 6c 74 69 6e 22 3e 40 50 6f 69 6e 74 65 72 3c 2f n.class="tok-builtin">@Pointer</
b7b60 73 70 61 6e 3e 28 0a 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e span>(.....<span.class="tok-kw">
b7b80 63 6f 6d 70 74 69 6d 65 3c 2f 73 70 61 6e 3e 20 73 69 7a 65 3a 20 73 74 64 2e 6c 61 6e 67 2e 54 comptime</span>.size:.std.lang.T
b7ba0 79 70 65 2e 50 6f 69 6e 74 65 72 2e 53 69 7a 65 2c 0a 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 ype.Pointer.Size,.....<span.clas
b7bc0 73 3d 22 74 6f 6b 2d 6b 77 22 3e 63 6f 6d 70 74 69 6d 65 3c 2f 73 70 61 6e 3e 20 61 74 74 72 73 s="tok-kw">comptime</span>.attrs
b7be0 3a 20 73 74 64 2e 6c 61 6e 67 2e 54 79 70 65 2e 50 6f 69 6e 74 65 72 2e 41 74 74 72 69 62 75 74 :.std.lang.Type.Pointer.Attribut
b7c00 65 73 2c 0a 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 63 6f 6d es,.....<span.class="tok-kw">com
b7c20 70 74 69 6d 65 3c 2f 73 70 61 6e 3e 20 45 6c 65 6d 65 6e 74 3a 20 3c 73 70 61 6e 20 63 6c 61 73 ptime</span>.Element:.<span.clas
b7c40 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 0a 20 20 20 20 3c 73 s="tok-type">type</span>,.....<s
b7c60 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
b7c80 6e 3e 20 73 65 6e 74 69 6e 65 6c 3a 20 3f 45 6c 65 6d 65 6e 74 2c 0a 29 20 3c 73 70 61 6e 20 63 n>.sentinel:.?Element,.).<span.c
b7ca0 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 74 79 70 65 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 lass="tok-type">type</span></cod
b7cc0 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 61 20 3c 61 20 68 e></pre>.......<p>Returns.a.<a.h
b7ce0 72 65 66 3d 22 23 50 6f 69 6e 74 65 72 73 22 3e 70 6f 69 6e 74 65 72 3c 2f 61 3e 20 74 79 70 65 ref="#Pointers">pointer</a>.type
b7d00 20 77 69 74 68 20 74 68 65 20 70 72 6f 70 65 72 74 69 65 73 20 73 70 65 63 69 66 69 65 64 20 62 .with.the.properties.specified.b
b7d20 79 20 74 68 65 20 61 72 67 75 6d 65 6e 74 73 2e 3c 2f 70 3e 0a 20 20 20 20 20 20 0a 0a 20 20 20 y.the.arguments.</p>............
b7d40 20 20 20 3c 68 33 20 69 64 3d 22 46 6e 22 3e 3c 61 20 68 72 65 66 3d 22 6e 61 76 2e 78 68 74 6d ...<h3.id="Fn"><a.href="nav.xhtm
b7d60 6c 23 74 6f 63 2d 46 6e 22 3e 40 46 6e 3c 2f 61 3e 20 3c 61 20 63 6c 61 73 73 3d 22 68 64 72 22 l#toc-Fn">@Fn</a>.<a.class="hdr"
b7d80 20 68 72 65 66 3d 22 23 46 6e 22 3e c2 a7 3c 2f 61 3e 3c 2f 68 33 3e 0a 0a 20 20 20 20 20 20 3c .href="#Fn">..</a></h3>........<
b7da0 70 72 65 3e 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 62 75 69 6c 74 pre><code><span.class="tok-built
b7dc0 69 6e 22 3e 40 46 6e 3c 2f 73 70 61 6e 3e 28 0a 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d in">@Fn</span>(.....<span.class=
b7de0 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 72 61 6d 5f 74 "tok-kw">comptime</span>.param_t
b7e00 79 70 65 73 3a 20 5b 5d 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 63 6f 6e ypes:.[]<span.class="tok-kw">con
b7e20 73 74 3c 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"
b7e40 3e 74 79 70 65 3c 2f 73 70 61 6e 3e 2c 0a 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 >type</span>,.....<span.class="t
b7e60 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 72 61 6d 5f 61 74 74 ok-kw">comptime</span>.param_att
b7e80 72 73 3a 20 2a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 63 6f 6e 73 74 3c rs:.*<span.class="tok-kw">const<
b7ea0 2f 73 70 61 6e 3e 20 5b 70 61 72 61 6d 5f 74 79 70 65 73 2e 6c 65 6e 5d 73 74 64 2e 6c 61 6e 67 /span>.[param_types.len]std.lang
b7ec0 2e 54 79 70 65 2e 46 6e 2e 50 61 72 61 6d 2e 41 74 74 72 69 62 75 74 65 73 2c 0a 20 20 20 20 3c .Type.Fn.Param.Attributes,.....<
b7ee0 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
b7f00 61 6e 3e 20 52 65 74 75 72 6e 54 79 70 65 3a 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b an>.ReturnType:.<span.class="tok
b7f20 2d 74 79 70 65 22 3e 74 79 70 65 3c 2f 73 70 61 6e 3e 2c 0a 20 20 20 20 3c 73 70 61 6e 20 63 6c -type">type</span>,.....<span.cl
b7f40 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 63 6f 6d 70 74 69 6d 65 3c 2f 73 70 61 6e 3e 20 61 74 74 ass="tok-kw">comptime</span>.att
b7f60 72 73 3a 20 73 74 64 2e 6c 61 6e 67 2e 54 79 70 65 2e 46 6e 2e 41 74 74 72 69 62 75 74 65 73 2c rs:.std.lang.Type.Fn.Attributes,
b7f80 0a 29 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 74 79 70 65 3c 2f .).<span.class="tok-type">type</
b7fa0 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 3c 2f 70 72 65 3e 0a 20 20 20 20 20 20 3c 70 3e 52 65 74 75 span></code></pre>.......<p>Retu
b7fc0 72 6e 73 20 61 20 3c 61 20 68 72 65 66 3d 22 23 46 75 6e 63 74 69 6f 6e 73 22 3e 66 75 6e 63 74 rns.a.<a.href="#Functions">funct
b7fe0 69 6f 6e 3c 2f 61 3e 20 74 79 70 65 20 77 69 74 68 20 74 68 65 20 70 72 6f 70 65 72 74 69 65 73 ion</a>.type.with.the.properties
b8000 20 73 70 65 63 69 66 69 65 64 20 62 79 20 74 68 65 20 61 72 67 75 6d 65 6e 74 73 2e 3c 2f 70 3e .specified.by.the.arguments.</p>
b8020 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 22 3e 3c ...............<h3.id="Struct"><
b8040 61 20 68 72 65 66 3d 22 6e 61 76 2e 78 68 74 6d 6c 23 74 6f 63 2d 53 74 72 75 63 74 22 3e 40 53 a.href="nav.xhtml#toc-Struct">@S
b8060 74 72 75 63 74 3c 2f 61 3e 20 3c 61 20 63 6c 61 73 73 3d 22 68 64 72 22 20 68 72 65 66 3d 22 23 truct</a>.<a.class="hdr".href="#
b8080 53 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 72 65 3e Struct">..</a></h3>........<pre>
b80a0 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 62 75 69 6c 74 69 6e 22 3e <code><span.class="tok-builtin">
b80c0 40 53 74 72 75 63 74 3c 2f 73 70 61 6e 3e 28 0a 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d @Struct</span>(.....<span.class=
b80e0 22 74 6f 6b 2d 6b 77 22 3e 63 6f 6d 70 74 69 6d 65 3c 2f 73 70 61 6e 3e 20 6c 61 79 6f 75 74 3a "tok-kw">comptime</span>.layout:
b8100 20 73 74 64 2e 6c 61 6e 67 2e 54 79 70 65 2e 43 6f 6e 74 61 69 6e 65 72 4c 61 79 6f 75 74 2c 0a .std.lang.Type.ContainerLayout,.
b8120 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 63 6f 6d 70 74 69 6d ....<span.class="tok-kw">comptim
b8140 65 3c 2f 73 70 61 6e 3e 20 42 61 63 6b 69 6e 67 49 6e 74 3a 20 3f 3c 73 70 61 6e 20 63 6c 61 73 e</span>.BackingInt:.?<span.clas
b8160 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 0a 20 20 20 20 3c 73 s="tok-type">type</span>,.....<s
b8180 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
b81a0 6e 3e 20 66 69 65 6c 64 5f 6e 61 6d 65 73 3a 20 5b 5d 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 n>.field_names:.[]<span.class="t
b81c0 6f 6b 2d 6b 77 22 3e 63 6f 6e 73 74 3c 2f 73 70 61 6e 3e 20 5b 5d 3c 73 70 61 6e 20 63 6c 61 73 ok-kw">const</span>.[]<span.clas
b81e0 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
b8200 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 75 38 3c 2f 73 70 61 6e 3e 2c 0a 20 20 20 20 3c 73 ass="tok-type">u8</span>,.....<s
b8220 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
b8240 6e 3e 20 66 69 65 6c 64 5f 74 79 70 65 73 3a 20 2a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f n>.field_types:.*<span.class="to
b8260 6b 2d 6b 77 22 3e 63 6f 6e 73 74 3c 2f 73 70 61 6e 3e 20 5b 66 69 65 6c 64 5f 6e 61 6d 65 73 2e k-kw">const</span>.[field_names.
b8280 6c 65 6e 5d 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 74 79 70 65 3c len]<span.class="tok-type">type<
b82a0 2f 73 70 61 6e 3e 2c 0a 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 /span>,.....<span.class="tok-kw"
b82c0 3e 63 6f 6d 70 74 69 6d 65 3c 2f 73 70 61 6e 3e 20 66 69 65 6c 64 5f 61 74 74 72 73 3a 20 2a 3c >comptime</span>.field_attrs:.*<
b82e0 73 70 61 6e 20 63 6c 61 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>
b8300 20 5b 66 69 65 6c 64 5f 6e 61 6d 65 73 2e 6c 65 6e 5d 73 74 64 2e 6c 61 6e 67 2e 54 79 70 65 2e .[field_names.len]std.lang.Type.
b8320 53 74 72 75 63 74 46 69 65 6c 64 2e 41 74 74 72 69 62 75 74 65 73 2c 0a 29 20 3c 73 70 61 6e 20 StructField.Attributes,.).<span.
b8340 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 74 79 70 65 3c 2f 73 70 61 6e 3e 3c 2f 63 6f class="tok-type">type</span></co
b8360 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 61 20 3c 61 20 de></pre>.......<p>Returns.a.<a.
b8380 68 72 65 66 3d 22 23 73 74 72 75 63 74 22 3e 73 74 72 75 63 74 3c 2f 61 3e 20 74 79 70 65 20 77 href="#struct">struct</a>.type.w
b83a0 69 74 68 20 74 68 65 20 70 72 6f 70 65 72 74 69 65 73 20 73 70 65 63 69 66 69 65 64 20 62 79 20 ith.the.properties.specified.by.
b83c0 74 68 65 20 61 72 67 75 6d 65 6e 74 73 2e 3c 2f 70 3e 0a 20 20 20 20 20 20 0a 0a 20 20 20 20 20 the.arguments.</p>..............
b83e0 20 3c 68 33 20 69 64 3d 22 55 6e 69 6f 6e 22 3e 3c 61 20 68 72 65 66 3d 22 6e 61 76 2e 78 68 74 .<h3.id="Union"><a.href="nav.xht
b8400 6d 6c 23 74 6f 63 2d 55 6e 69 6f 6e 22 3e 40 55 6e 69 6f 6e 3c 2f 61 3e 20 3c 61 20 63 6c 61 73 ml#toc-Union">@Union</a>.<a.clas
b8420 73 3d 22 68 64 72 22 20 68 72 65 66 3d 22 23 55 6e 69 6f 6e 22 3e c2 a7 3c 2f 61 3e 3c 2f 68 33 s="hdr".href="#Union">..</a></h3
b8440 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=
b8460 22 74 6f 6b 2d 62 75 69 6c 74 69 6e 22 3e 40 55 6e 69 6f 6e 3c 2f 73 70 61 6e 3e 28 0a 20 20 20 "tok-builtin">@Union</span>(....
b8480 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</
b84a0 73 70 61 6e 3e 20 6c 61 79 6f 75 74 3a 20 73 74 64 2e 6c 61 6e 67 2e 54 79 70 65 2e 43 6f 6e 74 span>.layout:.std.lang.Type.Cont
b84c0 61 69 6e 65 72 4c 61 79 6f 75 74 2c 0a 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f ainerLayout,.....<span.class="to
b84e0 6b 2d 63 6f 6d 6d 65 6e 74 22 3e 2f 2f 2f 20 45 69 74 68 65 72 20 74 68 65 20 69 6e 74 65 67 65 k-comment">///.Either.the.intege
b8500 72 20 74 61 67 20 74 79 70 65 2c 20 6f 72 20 74 68 65 20 69 6e 74 65 67 65 72 20 62 61 63 6b 69 r.tag.type,.or.the.integer.backi
b8520 6e 67 20 74 79 70 65 2c 20 64 65 70 65 6e 64 69 6e 67 20 6f 6e 20 60 6c 61 79 6f 75 74 60 2e 3c ng.type,.depending.on.`layout`.<
b8540 2f 73 70 61 6e 3e 0a 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e /span>.....<span.class="tok-kw">
b8560 63 6f 6d 70 74 69 6d 65 3c 2f 73 70 61 6e 3e 20 41 72 67 54 79 70 65 3a 20 3f 3c 73 70 61 6e 20 comptime</span>.ArgType:.?<span.
b8580 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 0a 20 20 class="tok-type">type</span>,...
b85a0 20 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<
b85c0 2f 73 70 61 6e 3e 20 66 69 65 6c 64 5f 6e 61 6d 65 73 3a 20 5b 5d 3c 73 70 61 6e 20 63 6c 61 73 /span>.field_names:.[]<span.clas
b85e0 73 3d 22 74 6f 6b 2d 6b 77 22 3e 63 6f 6e 73 74 3c 2f 73 70 61 6e 3e 20 5b 5d 3c 73 70 61 6e 20 s="tok-kw">const</span>.[]<span.
b8600 63 6c 61 73 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
b8620 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 75 38 3c 2f 73 70 61 6e 3e 2c 0a 20 20 n.class="tok-type">u8</span>,...
b8640 20 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<
b8660 2f 73 70 61 6e 3e 20 66 69 65 6c 64 5f 74 79 70 65 73 3a 20 2a 3c 73 70 61 6e 20 63 6c 61 73 73 /span>.field_types:.*<span.class
b8680 3d 22 74 6f 6b 2d 6b 77 22 3e 63 6f 6e 73 74 3c 2f 73 70 61 6e 3e 20 5b 66 69 65 6c 64 5f 6e 61 ="tok-kw">const</span>.[field_na
b86a0 6d 65 73 2e 6c 65 6e 5d 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 74 mes.len]<span.class="tok-type">t
b86c0 79 70 65 3c 2f 73 70 61 6e 3e 2c 0a 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b ype</span>,.....<span.class="tok
b86e0 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 61 74 74 72 73 -kw">comptime</span>.field_attrs
b8700 3a 20 2a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 63 6f 6e 73 74 3c 2f 73 :.*<span.class="tok-kw">const</s
b8720 70 61 6e 3e 20 5b 66 69 65 6c 64 5f 6e 61 6d 65 73 2e 6c 65 6e 5d 73 74 64 2e 6c 61 6e 67 2e 54 pan>.[field_names.len]std.lang.T
b8740 79 70 65 2e 55 6e 69 6f 6e 46 69 65 6c 64 2e 41 74 74 72 69 62 75 74 65 73 2c 0a 29 20 3c 73 70 ype.UnionField.Attributes,.).<sp
b8760 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 74 79 70 65 3c 2f 73 70 61 6e 3e 3c an.class="tok-type">type</span><
b8780 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 61 20 /code></pre>.......<p>Returns.a.
b87a0 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 65 20 <a.href="#union">union</a>.type.
b87c0 77 69 74 68 20 74 68 65 20 70 72 6f 70 65 72 74 69 65 73 20 73 70 65 63 69 66 69 65 64 20 62 79 with.the.properties.specified.by
b87e0 20 74 68 65 20 61 72 67 75 6d 65 6e 74 73 2e 3c 2f 70 3e 0a 20 20 20 20 20 20 0a 0a 20 20 20 20 .the.arguments.</p>.............
b8800 20 20 3c 68 33 20 69 64 3d 22 45 6e 75 6d 22 3e 3c 61 20 68 72 65 66 3d 22 6e 61 76 2e 78 68 74 ..<h3.id="Enum"><a.href="nav.xht
b8820 6d 6c 23 74 6f 63 2d 45 6e 75 6d 22 3e 40 45 6e 75 6d 3c 2f 61 3e 20 3c 61 20 63 6c 61 73 73 3d ml#toc-Enum">@Enum</a>.<a.class=
b8840 22 68 64 72 22 20 68 72 65 66 3d 22 23 45 6e 75 6d 22 3e c2 a7 3c 2f 61 3e 3c 2f 68 33 3e 0a 0a "hdr".href="#Enum">..</a></h3>..
b8860 20 20 20 20 20 20 3c 70 72 65 3e 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f ......<pre><code><span.class="to
b8880 6b 2d 62 75 69 6c 74 69 6e 22 3e 40 45 6e 75 6d 3c 2f 73 70 61 6e 3e 28 0a 20 20 20 20 3c 73 70 k-builtin">@Enum</span>(.....<sp
b88a0 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
b88c0 3e 20 54 61 67 49 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 >.TagInt:.<span.class="tok-type"
b88e0 3e 74 79 70 65 3c 2f 73 70 61 6e 3e 2c 0a 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 >type</span>,.....<span.class="t
b8900 6f 6b 2d 6b 77 22 3e 63 6f 6d 70 74 69 6d 65 3c 2f 73 70 61 6e 3e 20 6d 6f 64 65 3a 20 73 74 64 ok-kw">comptime</span>.mode:.std
b8920 2e 6c 61 6e 67 2e 54 79 70 65 2e 45 6e 75 6d 2e 4d 6f 64 65 2c 0a 20 20 20 20 3c 73 70 61 6e 20 .lang.Type.Enum.Mode,.....<span.
b8940 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 66 class="tok-kw">comptime</span>.f
b8960 69 65 6c 64 5f 6e 61 6d 65 73 3a 20 5b 5d 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b ield_names:.[]<span.class="tok-k
b8980 77 22 3e 63 6f 6e 73 74 3c 2f 73 70 61 6e 3e 20 5b 5d 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 w">const</span>.[]<span.class="t
b89a0 6f 6b 2d 6b 77 22 3e 63 6f 6e 73 74 3c 2f 73 70 61 6e 3e 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d ok-kw">const</span>.<span.class=
b89c0 22 74 6f 6b 2d 74 79 70 65 22 3e 75 38 3c 2f 73 70 61 6e 3e 2c 0a 20 20 20 20 3c 73 70 61 6e 20 "tok-type">u8</span>,.....<span.
b89e0 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 66 class="tok-kw">comptime</span>.f
b8a00 69 65 6c 64 5f 76 61 6c 75 65 73 3a 20 2a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b ield_values:.*<span.class="tok-k
b8a20 77 22 3e 63 6f 6e 73 74 3c 2f 73 70 61 6e 3e 20 5b 66 69 65 6c 64 5f 6e 61 6d 65 73 2e 6c 65 6e w">const</span>.[field_names.len
b8a40 5d 54 61 67 49 6e 74 2c 0a 29 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 ]TagInt,.).<span.class="tok-type
b8a60 22 3e 74 79 70 65 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 3c 2f 70 72 65 3e 0a 20 20 20 20 20 ">type</span></code></pre>......
b8a80 20 3c 70 3e 52 65 74 75 72 6e 73 20 61 6e 20 3c 61 20 68 72 65 66 3d 22 23 65 6e 75 6d 22 3e 65 .<p>Returns.an.<a.href="#enum">e
b8aa0 6e 75 6d 3c 2f 61 3e 20 74 79 70 65 20 77 69 74 68 20 74 68 65 20 70 72 6f 70 65 72 74 69 65 73 num</a>.type.with.the.properties
b8ac0 20 73 70 65 63 69 66 69 65 64 20 62 79 20 74 68 65 20 61 72 67 75 6d 65 6e 74 73 2e 3c 2f 70 3e .specified.by.the.arguments.</p>
b8ae0 0a 20 20 20 20 20 20 0a 0a 20 20 20 20 20 20 3c 68 33 20 69 64 3d 22 74 79 70 65 49 6e 66 6f 22 ...............<h3.id="typeInfo"
b8b00 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 79 70 65 49 6e 66 6f ><a.href="nav.xhtml#toc-typeInfo
b8b20 22 3e 40 74 79 70 65 49 6e 66 6f 3c 2f 61 3e 20 3c 61 20 63 6c 61 73 73 3d 22 68 64 72 22 20 68 ">@typeInfo</a>.<a.class="hdr".h
b8b40 72 65 66 3d 22 23 74 79 70 65 49 6e 66 6f 22 3e c2 a7 3c 2f 61 3e 3c 2f 68 33 3e 0a 0a 20 20 20 ref="#typeInfo">..</a></h3>.....
b8b60 20 20 20 3c 70 72 65 3e 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 62 ...<pre><code><span.class="tok-b
b8b80 75 69 6c 74 69 6e 22 3e 40 74 79 70 65 49 6e 66 6f 3c 2f 73 70 61 6e 3e 28 3c 73 70 61 6e 20 63 uiltin">@typeInfo</span>(<span.c
b8ba0 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 63 6f 6d 70 74 69 6d 65 3c 2f 73 70 61 6e 3e 20 54 3a lass="tok-kw">comptime</span>.T:
b8bc0 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 74 79 70 65 3c 2f 73 70 .<span.class="tok-type">type</sp
b8be0 61 6e 3e 29 20 73 74 64 2e 6c 61 6e 67 2e 54 79 70 65 3c 2f 63 6f 64 65 3e 3c 2f 70 72 65 3e 0a an>).std.lang.Type</code></pre>.
b8c00 20 20 20 20 20 20 3c 70 3e 0a 20 20 20 20 20 20 50 72 6f 76 69 64 65 73 20 74 79 70 65 20 72 65 ......<p>.......Provides.type.re
b8c20 66 6c 65 63 74 69 6f 6e 2e 0a 20 20 20 20 20 20 3c 2f 70 3e 0a 20 20 20 20 20 20 3c 70 3e 0a 20 flection........</p>.......<p>..
b8c40 20 20 20 20 20 54 79 70 65 20 69 6e 66 6f 72 6d 61 74 69 6f 6e 20 6f 66 20 3c 61 20 68 72 65 66 .....Type.information.of.<a.href
b8c60 3d 22 23 73 74 72 75 63 74 22 3e 73 74 72 75 63 74 73 3c 2f 61 3e 2c 20 3c 61 20 68 72 65 66 3d ="#struct">structs</a>,.<a.href=
b8c80 22 23 75 6e 69 6f 6e 22 3e 75 6e 69 6f 6e 73 3c 2f 61 3e 2c 20 3c 61 20 68 72 65 66 3d 22 23 65 "#union">unions</a>,.<a.href="#e
b8ca0 6e 75 6d 22 3e 65 6e 75 6d 73 3c 2f 61 3e 2c 20 61 6e 64 0a 20 20 20 20 20 20 3c 61 20 68 72 65 num">enums</a>,.and.......<a.hre
b8cc0 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 73 3c 2f f="#Error-Set-Type">error.sets</
b8ce0 61 3e 20 68 61 73 20 66 69 65 6c 64 73 20 77 68 69 63 68 20 61 72 65 20 67 75 61 72 61 6e 74 65 a>.has.fields.which.are.guarante
b8d00 65 64 20 74 6f 20 62 65 20 69 6e 20 74 68 65 20 73 61 6d 65 0a 20 20 20 20 20 20 6f 72 64 65 72 ed.to.be.in.the.same.......order
b8d20 20 61 73 20 61 70 70 65 61 72 61 6e 63 65 20 69 6e 20 74 68 65 20 73 6f 75 72 63 65 20 66 69 6c .as.appearance.in.the.source.fil
b8d40 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 54 79 e........</p>.......<p>.......Ty
b8d60 70 65 20 69 6e 66 6f 72 6d 61 74 69 6f 6e 20 6f 66 20 3c 61 20 68 72 65 66 3d 22 23 73 74 72 75 pe.information.of.<a.href="#stru
b8d80 63 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 ct">structs</a>,.<a.href="#union
b8da0 22 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 ">unions</a>,.<a.href="#enum">en
b8dc0 75 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 6f 70 61 ums</a>,.and.......<a.href="#opa
b8de0 71 75 65 22 3e 6f 70 61 71 75 65 73 3c 2f 61 3e 20 68 61 73 20 64 65 63 6c 61 72 61 74 69 6f 6e que">opaques</a>.has.declaration
b8e00 73 2c 20 77 68 69 63 68 20 61 72 65 20 61 6c 73 6f 20 67 75 61 72 61 6e 74 65 65 64 20 74 6f 20 s,.which.are.also.guaranteed.to.
b8e20 62 65 20 69 6e 20 74 68 65 20 73 61 6d 65 0a 20 20 20 20 20 20 6f 72 64 65 72 20 61 73 20 61 70 be.in.the.same.......order.as.ap
b8e40 70 65 61 72 61 6e 63 65 20 69 6e 20 74 68 65 20 73 6f 75 72 63 65 20 66 69 6c 65 2e 0a 20 20 20 pearance.in.the.source.file.....
b8e60 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 74 79 ...</p>...............<h3.id="ty
b8e80 70 65 4e 61 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 74 peName"><a.href="nav.xhtml#toc-t
b8ea0 79 70 65 4e 61 6d 65 22 3e 40 74 79 70 65 4e 61 6d 65 3c 2f 61 3e 20 3c 61 20 63 6c 61 73 73 3d ypeName">@typeName</a>.<a.class=
b8ec0 22 68 64 72 22 20 68 72 65 66 3d 22 23 74 79 70 65 4e 61 6d 65 22 3e c2 a7 3c 2f 61 3e 3c 2f 68 "hdr".href="#typeName">..</a></h
b8ee0 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
b8f00 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>(
b8f20 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</
b8f40 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 63 6f 6e span>).*<span.class="tok-kw">con
b8f60 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 2d 6e 75 st</span>.[N:<span.class="tok-nu
b8f80 6d 62 65 72 22 3e 30 3c 2f 73 70 61 6e 3e 5d 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d mber">0</span>]<span.class="tok-
b8fa0 74 79 70 65 22 3e 75 38 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 3c 2f 70 72 65 3e 0a 20 20 20 type">u8</span></code></pre>....
b8fc0 20 20 20 3c 70 3e 0a 20 20 20 20 20 20 54 68 69 73 20 66 75 6e 63 74 69 6f 6e 20 72 65 74 75 72 ...<p>.......This.function.retur
b8fe0 6e 73 20 74 68 65 20 73 74 72 69 6e 67 20 72 65 70 72 65 73 65 6e 74 61 74 69 6f 6e 20 6f 66 20 ns.the.string.representation.of.
b9000 61 20 74 79 70 65 2c 20 61 73 0a 20 20 20 20 20 20 61 6e 20 61 72 72 61 79 2e 20 49 74 20 69 73 a.type,.as.......an.array..It.is
b9020 20 65 71 75 69 76 61 6c 65 6e 74 20 74 6f 20 61 20 73 74 72 69 6e 67 20 6c 69 74 65 72 61 6c 20 .equivalent.to.a.string.literal.
b9040 6f 66 20 74 68 65 20 74 79 70 65 20 6e 61 6d 65 2e 0a 20 20 20 20 20 20 54 68 65 20 72 65 74 75 of.the.type.name........The.retu
b9060 72 6e 65 64 20 74 79 70 65 20 6e 61 6d 65 20 69 73 20 66 75 6c 6c 79 20 71 75 61 6c 69 66 69 65 rned.type.name.is.fully.qualifie
b9080 64 20 77 69 74 68 20 74 68 65 20 70 61 72 65 6e 74 20 6e 61 6d 65 73 70 61 63 65 20 69 6e 63 6c d.with.the.parent.namespace.incl
b90a0 75 64 65 64 0a 20 20 20 20 20 20 61 73 20 70 61 72 74 20 6f 66 20 74 68 65 20 74 79 70 65 20 6e uded.......as.part.of.the.type.n
b90c0 61 6d 65 20 77 69 74 68 20 61 20 73 65 72 69 65 73 20 6f 66 20 64 6f 74 73 2e 0a 20 20 20 20 20 ame.with.a.series.of.dots.......
b90e0 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 54 79 70 65 .</p>...............<h3.id="Type
b9100 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 65 4f Of"><a.href="nav.xhtml#toc-TypeO
b9120 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 68 72 f">@TypeOf</a>.<a.class="hdr".hr
b9140 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 20 20 ef="#TypeOf">..</a></h3>........
b9160 3c 70 72 65 3e 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 62 75 69 6c <pre><code><span.class="tok-buil
b9180 74 69 6e 22 3e 40 54 79 70 65 4f 66 3c 2f 73 70 61 6e 3e 28 2e 2e 2e 29 20 3c 73 70 61 6e 20 63 tin">@TypeOf</span>(...).<span.c
b91a0 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 74 79 70 65 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 lass="tok-type">type</span></cod
b91c0 65 3e 3c 2f 70 72 65 3e 0a 20 20 20 20 20 20 3c 70 3e 0a 20 20 20 20 20 20 3c 63 6f 64 65 3e 3c e></pre>.......<p>.......<code><
b91e0 73 70 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
b9200 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 20 69 73 20 61 20 73 70 65 63 69 61 6c 20 62 75 69 6c </span></code>.is.a.special.buil
b9220 74 69 6e 20 66 75 6e 63 74 69 6f 6e 20 74 68 61 74 20 74 61 6b 65 73 20 61 6e 79 20 28 6e 6f 6e tin.function.that.takes.any.(non
b9240 2d 7a 65 72 6f 29 20 6e 75 6d 62 65 72 20 6f 66 20 65 78 70 72 65 73 73 69 6f 6e 73 0a 20 20 20 -zero).number.of.expressions....
b9260 20 20 20 61 73 20 70 61 72 61 6d 65 74 65 72 73 20 61 6e 64 20 72 65 74 75 72 6e 73 20 74 68 65 ...as.parameters.and.returns.the
b9280 20 74 79 70 65 20 6f 66 20 74 68 65 20 72 65 73 75 6c 74 2c 20 75 73 69 6e 67 20 3c 61 20 68 72 .type.of.the.result,.using.<a.hr
b92a0 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.
b92c0 54 79 70 65 20 52 65 73 6f 6c 75 74 69 6f 6e 3c 2f 61 3e 2e 0a 20 20 20 20 20 20 3c 2f 70 3e 0a Type.Resolution</a>........</p>.
b92e0 20 20 20 20 20 20 3c 70 3e 0a 20 20 20 20 20 20 54 68 65 20 65 78 70 72 65 73 73 69 6f 6e 73 20 ......<p>.......The.expressions.
b9300 61 72 65 20 65 76 61 6c 75 61 74 65 64 2c 20 68 6f 77 65 76 65 72 20 74 68 65 79 20 61 72 65 20 are.evaluated,.however.they.are.
b9320 67 75 61 72 61 6e 74 65 65 64 20 74 6f 20 68 61 76 65 20 6e 6f 20 3c 65 6d 3e 72 75 6e 74 69 6d guaranteed.to.have.no.<em>runtim
b9340 65 3c 2f 65 6d 3e 20 73 69 64 65 2d 65 66 66 65 63 74 73 3a 0a 20 20 20 20 20 20 3c 2f 70 3e 0a e</em>.side-effects:.......</p>.
b9360 20 20 20 20 20 20 3c 66 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=
b9380 22 7a 69 67 2d 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
b93a0 74 5f 54 79 70 65 4f 66 5f 62 75 69 6c 74 69 6e 2e 7a 69 67 3c 2f 63 69 74 65 3e 3c 2f 66 69 67 t_TypeOf_builtin.zig</cite></fig
b93c0 63 61 70 74 69 6f 6e 3e 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="
b93e0 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
b9400 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
b9420 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;
b9440 73 74 64 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 29 3b 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 std&quot;</span>);.<span.class="
b9460 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 45 71 75 61 6c tok-kw">const</span>.expectEqual
b9480 20 3d 20 73 74 64 2e 74 65 73 74 69 6e 67 2e 65 78 70 65 63 74 45 71 75 61 6c 3b 0a 0a 3c 73 70 .=.std.testing.expectEqual;..<sp
b94a0 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
b94c0 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 73 74 72 22 3e 26 71 75 6f 74 3b 6e 6f 20 72 75 6e pan.class="tok-str">&quot;no.run
b94e0 74 69 6d 65 20 73 69 64 65 20 65 66 66 65 63 74 73 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 20 7b time.side.effects&quot;</span>.{
b9500 0a 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 76 61 72 3c 2f 73 .....<span.class="tok-kw">var</s
b9520 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 74 79 70 65 pan>.data:.<span.class="tok-type
b9540 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-
b9560 6e 75 6d 62 65 72 22 3e 30 3c 2f 73 70 61 6e 3e 3b 0a 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 number">0</span>;.....<span.clas
b9580 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 61 s="tok-kw">const</span>.T.=.<spa
b95a0 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
b95c0 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 70 65 22 3e pan>(foo(<span.class="tok-type">
b95e0 69 33 32 3c 2f 73 70 61 6e 3e 2c 20 26 61 6d 70 3b 64 61 74 61 29 29 3b 0a 20 20 20 20 3c 73 70 i32</span>,.&amp;data));.....<sp
b9600 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 74 72 79 3c 2f 73 70 61 6e 3e 20 3c 73 70 an.class="tok-kw">try</span>.<sp
b9620 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
b9640 3e 20 65 78 70 65 63 74 45 71 75 61 6c 28 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 >.expectEqual(<span.class="tok-t
b9660 79 70 65 22 3e 69 33 32 3c 2f 73 70 61 6e 3e 2c 20 54 29 3b 0a 20 20 20 20 3c 73 70 61 6e 20 63 ype">i32</span>,.T);.....<span.c
b9680 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 74 72 79 3c 2f 73 70 61 6e 3e 20 65 78 70 65 63 74 45 lass="tok-kw">try</span>.expectE
b96a0 71 75 61 6c 28 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 30 3c qual(<span.class="tok-number">0<
b96c0 2f 73 70 61 6e 3e 2c 20 64 61 74 61 29 3b 0a 7d 0a 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 /span>,.data);.}..<span.class="t
b96e0 6f 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
b9700 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
b9720 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
b9740 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
b9760 3a 20 2a 54 29 20 54 20 7b 0a 20 20 20 20 70 74 72 2e 2a 20 2b 3d 20 3c 73 70 61 6e 20 63 6c 61 :.*T).T.{.....ptr.*.+=.<span.cla
b9780 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 31 3c 2f 73 70 61 6e 3e 3b 0a 20 20 20 20 3c 73 ss="tok-number">1</span>;.....<s
b97a0 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>
b97c0 20 70 74 72 2e 2a 3b 0a 7d 3c 2f 63 6f 64 65 3e 3c 2f 70 72 65 3e 3c 2f 66 69 67 75 72 65 3e 3c .ptr.*;.}</code></pre></figure><
b97e0 66 69 67 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-
b9800 63 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
b9820 70 3e 24 20 3c 6b 62 64 3e 7a 69 67 20 74 65 73 74 20 74 65 73 74 5f 54 79 70 65 4f 66 5f 62 75 p>$.<kbd>zig.test.test_TypeOf_bu
b9840 69 6c 74 69 6e 2e 7a 69 67 3c 2f 6b 62 64 3e 0a 31 2f 31 20 74 65 73 74 5f 54 79 70 65 4f 66 5f iltin.zig</kbd>.1/1.test_TypeOf_
b9860 62 75 69 6c 74 69 6e 2e 74 65 73 74 2e 6e 6f 20 72 75 6e 74 69 6d 65 20 73 69 64 65 20 65 66 66 builtin.test.no.runtime.side.eff
b9880 65 63 74 73 2e 2e 2e 4f 4b 0a 41 6c 6c 20 31 20 74 65 73 74 73 20 70 61 73 73 65 64 2e 0a 3c 2f ects...OK.All.1.tests.passed..</
b98a0 73 61 6d 70 3e 3c 2f 70 72 65 3e 3c 2f 66 69 67 75 72 65 3e 0a 0a 20 20 20 20 20 20 0a 0a 20 20 samp></pre></figure>............
b98c0 20 20 20 20 3c 68 33 20 69 64 3d 22 75 6e 69 6f 6e 49 6e 69 74 22 3e 3c 61 20 68 72 65 66 3d 22 ....<h3.id="unionInit"><a.href="
b98e0 6e 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 nav.xhtml#toc-unionInit">@unionI
b9900 6e 69 74 3c 2f 61 3e 20 3c 61 20 63 6c 61 73 73 3d 22 68 64 72 22 20 68 72 65 66 3d 22 23 75 6e nit</a>.<a.class="hdr".href="#un
b9920 69 6f 6e 49 6e 69 74 22 3e c2 a7 3c 2f 61 3e 3c 2f 68 33 3e 0a 0a 20 20 20 20 20 20 3c 70 72 65 ionInit">..</a></h3>........<pre
b9940 3e 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 62 75 69 6c 74 69 6e 22 ><code><span.class="tok-builtin"
b9960 3e 40 75 6e 69 6f 6e 49 6e 69 74 3c 2f 73 70 61 6e 3e 28 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 >@unionInit</span>(<span.class="
b9980 74 6f 6b 2d 6b 77 22 3e 63 6f 6d 70 74 69 6d 65 3c 2f 73 70 61 6e 3e 20 55 6e 69 6f 6e 3a 20 3c tok-kw">comptime</span>.Union:.<
b99a0 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
b99c0 3e 2c 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 63 6f 6d 70 74 69 6d 65 >,.<span.class="tok-kw">comptime
b99e0 3c 2f 73 70 61 6e 3e 20 61 63 74 69 76 65 5f 66 69 65 6c 64 5f 6e 61 6d 65 3a 20 5b 5d 3c 73 70 </span>.active_field_name:.[]<sp
b9a00 61 6e 20 63 6c 61 73 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>.<
b9a20 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>,
b9a40 20 69 6e 69 74 5f 65 78 70 72 29 20 55 6e 69 6f 6e 3c 2f 63 6f 64 65 3e 3c 2f 70 72 65 3e 0a 20 .init_expr).Union</code></pre>..
b9a60 20 20 20 20 20 3c 70 3e 0a 20 20 20 20 20 20 54 68 69 73 20 69 73 20 74 68 65 20 73 61 6d 65 20 .....<p>.......This.is.the.same.
b9a80 74 68 69 6e 67 20 61 73 20 3c 61 20 68 72 65 66 3d 22 23 75 6e 69 6f 6e 22 3e 75 6e 69 6f 6e 3c thing.as.<a.href="#union">union<
b9aa0 2f 61 3e 20 69 6e 69 74 69 61 6c 69 7a 61 74 69 6f 6e 20 73 79 6e 74 61 78 2c 20 65 78 63 65 70 /a>.initialization.syntax,.excep
b9ac0 74 20 74 68 61 74 20 74 68 65 20 66 69 65 6c 64 20 6e 61 6d 65 20 69 73 20 61 0a 20 20 20 20 20 t.that.the.field.name.is.a......
b9ae0 20 3c 61 20 68 72 65 66 3d 22 23 63 6f 6d 70 74 69 6d 65 22 3e 63 6f 6d 70 74 69 6d 65 3c 2f 61 .<a.href="#comptime">comptime</a
b9b00 3e 2d 6b 6e 6f 77 6e 20 76 61 6c 75 65 20 72 61 74 68 65 72 20 74 68 61 6e 20 61 6e 20 69 64 65 >-known.value.rather.than.an.ide
b9b20 6e 74 69 66 69 65 72 20 74 6f 6b 65 6e 2e 0a 20 20 20 20 20 20 3c 2f 70 3e 0a 20 20 20 20 20 20 ntifier.token........</p>.......
b9b40 3c 70 3e 0a 20 20 20 20 20 20 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b <p>.......<code><span.class="tok
b9b60 2d 62 75 69 6c 74 69 6e 22 3e 40 75 6e 69 6f 6e 49 6e 69 74 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 -builtin">@unionInit</span></cod
b9b80 65 3e 20 66 6f 72 77 61 72 64 73 20 69 74 73 20 3c 61 20 68 72 65 66 3d 22 23 52 65 73 75 6c 74 e>.forwards.its.<a.href="#Result
b9ba0 2d 4c 6f 63 61 74 69 6f 6e 2d 53 65 6d 61 6e 74 69 63 73 22 3e 72 65 73 75 6c 74 20 6c 6f 63 61 -Location-Semantics">result.loca
b9bc0 74 69 6f 6e 3c 2f 61 3e 20 74 6f 20 3c 63 6f 64 65 3e 69 6e 69 74 5f 65 78 70 72 3c 2f 63 6f 64 tion</a>.to.<code>init_expr</cod
b9be0 65 3e 2e 0a 20 20 20 20 20 20 3c 2f 70 3e 0a 20 20 20 20 20 20 0a 0a 0a 20 20 20 20 20 20 3c 68 e>........</p>................<h
b9c00 33 20 69 64 3d 22 56 65 63 74 6f 72 22 3e 3c 61 20 68 72 65 66 3d 22 6e 61 76 2e 78 68 74 6d 6c 3.id="Vector"><a.href="nav.xhtml
b9c20 23 74 6f 63 2d 56 65 63 74 6f 72 22 3e 40 56 65 63 74 6f 72 3c 2f 61 3e 20 3c 61 20 63 6c 61 73 #toc-Vector">@Vector</a>.<a.clas
b9c40 73 3d 22 68 64 72 22 20 68 72 65 66 3d 22 23 56 65 63 74 6f 72 22 3e c2 a7 3c 2f 61 3e 3c 2f 68 s="hdr".href="#Vector">..</a></h
b9c60 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
b9c80 3d 22 74 6f 6b 2d 62 75 69 6c 74 69 6e 22 3e 40 56 65 63 74 6f 72 3c 2f 73 70 61 6e 3e 28 6c 65 ="tok-builtin">@Vector</span>(le
b9ca0 6e 3a 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 63 6f 6d 70 74 69 n:.<span.class="tok-type">compti
b9cc0 6d 65 5f 69 6e 74 3c 2f 73 70 61 6e 3e 2c 20 45 6c 65 6d 65 6e 74 3a 20 3c 73 70 61 6e 20 63 6c me_int</span>,.Element:.<span.cl
b9ce0 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 74 79 70 65 3c 2f 73 70 61 6e 3e 29 20 3c 73 70 61 ass="tok-type">type</span>).<spa
b9d00 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 74 79 70 65 3c 2f 73 70 61 6e 3e 3c 2f n.class="tok-type">type</span></
b9d20 63 6f 64 65 3e 3c 2f 70 72 65 3e 0a 20 20 20 20 20 20 3c 70 3e 43 72 65 61 74 65 73 20 3c 61 20 code></pre>.......<p>Creates.<a.
b9d40 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 2e 3c 2f 70 3e href="#Vectors">Vectors</a>.</p>
b9d60 0a 20 20 20 20 20 20 0a 0a 20 20 20 20 20 20 3c 68 33 20 69 64 3d 22 76 6f 6c 61 74 69 6c 65 43 ...............<h3.id="volatileC
b9d80 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 76 6f 6c 61 ast"><a.href="nav.xhtml#toc-vola
b9da0 74 69 6c 65 43 61 73 74 22 3e 40 76 6f 6c 61 74 69 6c 65 43 61 73 74 3c 2f 61 3e 20 3c 61 20 63 tileCast">@volatileCast</a>.<a.c
b9dc0 6c 61 73 73 3d 22 68 64 72 22 20 68 72 65 66 3d 22 23 76 6f 6c 61 74 69 6c 65 43 61 73 74 22 3e lass="hdr".href="#volatileCast">
b9de0 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
b9e00 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 62 75 69 6c 74 69 6e 22 3e 40 76 6f 6c 61 74 69 6c pan.class="tok-builtin">@volatil
b9e20 65 43 61 73 74 3c 2f 73 70 61 6e 3e 28 76 61 6c 75 65 3a 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d eCast</span>(value:.<span.class=
b9e40 22 74 6f 6b 2d 6b 77 22 3e 61 6e 79 74 79 70 65 3c 2f 73 70 61 6e 3e 29 20 44 65 73 74 54 79 70 "tok-kw">anytype</span>).DestTyp
b9e60 65 3c 2f 63 6f 64 65 3e 3c 2f 70 72 65 3e 0a 20 20 20 20 20 20 3c 70 3e 0a 20 20 20 20 20 20 52 e</code></pre>.......<p>.......R
b9e80 65 6d 6f 76 65 20 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 emove.<code><span.class="tok-kw"
b9ea0 3e 76 6f 6c 61 74 69 6c 65 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 20 71 75 61 6c 69 66 69 65 >volatile</span></code>.qualifie
b9ec0 72 20 66 72 6f 6d 20 61 20 70 6f 69 6e 74 65 72 2e 0a 20 20 20 20 20 20 3c 2f 70 3e 0a 20 20 20 r.from.a.pointer........</p>....
b9ee0 20 20 20 0a 0a 20 20 20 20 20 20 3c 68 33 20 69 64 3d 22 77 6f 72 6b 47 72 6f 75 70 49 64 22 3e ...........<h3.id="workGroupId">
b9f00 3c 61 20 68 72 65 66 3d 22 6e 61 76 2e 78 68 74 6d 6c 23 74 6f 63 2d 77 6f 72 6b 47 72 6f 75 70 <a.href="nav.xhtml#toc-workGroup
b9f20 49 64 22 3e 40 77 6f 72 6b 47 72 6f 75 70 49 64 3c 2f 61 3e 20 3c 61 20 63 6c 61 73 73 3d 22 68 Id">@workGroupId</a>.<a.class="h
b9f40 64 72 22 20 68 72 65 66 3d 22 23 77 6f 72 6b 47 72 6f 75 70 49 64 22 3e c2 a7 3c 2f 61 3e 3c 2f dr".href="#workGroupId">..</a></
b9f60 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
b9f80 73 3d 22 74 6f 6b 2d 62 75 69 6c 74 69 6e 22 3e 40 77 6f 72 6b 47 72 6f 75 70 49 64 3c 2f 73 70 s="tok-builtin">@workGroupId</sp
b9fa0 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
b9fc0 65 3c 2f 73 70 61 6e 3e 20 64 69 6d 65 6e 73 69 6f 6e 3a 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d e</span>.dimension:.<span.class=
b9fe0 22 74 6f 6b 2d 74 79 70 65 22 3e 75 33 32 3c 2f 73 70 61 6e 3e 29 20 3c 73 70 61 6e 20 63 6c 61 "tok-type">u32</span>).<span.cla
ba000 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 75 33 32 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 3c ss="tok-type">u32</span></code><
ba020 2f 70 72 65 3e 0a 20 20 20 20 20 20 3c 70 3e 0a 20 20 20 20 20 20 52 65 74 75 72 6e 73 20 74 68 /pre>.......<p>.......Returns.th
ba040 65 20 69 6e 64 65 78 20 6f 66 20 74 68 65 20 77 6f 72 6b 20 67 72 6f 75 70 20 69 6e 20 74 68 65 e.index.of.the.work.group.in.the
ba060 20 63 75 72 72 65 6e 74 20 6b 65 72 6e 65 6c 20 69 6e 76 6f 63 61 74 69 6f 6e 20 69 6e 20 64 69 .current.kernel.invocation.in.di
ba080 6d 65 6e 73 69 6f 6e 20 3c 63 6f 64 65 3e 64 69 6d 65 6e 73 69 6f 6e 3c 2f 63 6f 64 65 3e 2e 0a mension.<code>dimension</code>..
ba0a0 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=
ba0c0 22 77 6f 72 6b 47 72 6f 75 70 53 69 7a 65 22 3e 3c 61 20 68 72 65 66 3d 22 6e 61 76 2e 78 68 74 "workGroupSize"><a.href="nav.xht
ba0e0 6d 6c 23 74 6f 63 2d 77 6f 72 6b 47 72 6f 75 70 53 69 7a 65 22 3e 40 77 6f 72 6b 47 72 6f 75 70 ml#toc-workGroupSize">@workGroup
ba100 53 69 7a 65 3c 2f 61 3e 20 3c 61 20 63 6c 61 73 73 3d 22 68 64 72 22 20 68 72 65 66 3d 22 23 77 Size</a>.<a.class="hdr".href="#w
ba120 6f 72 6b 47 72 6f 75 70 53 69 7a 65 22 3e c2 a7 3c 2f 61 3e 3c 2f 68 33 3e 0a 0a 20 20 20 20 20 orkGroupSize">..</a></h3>.......
ba140 20 3c 70 72 65 3e 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 62 75 69 .<pre><code><span.class="tok-bui
ba160 6c 74 69 6e 22 3e 40 77 6f 72 6b 47 72 6f 75 70 53 69 7a 65 3c 2f 73 70 61 6e 3e 28 3c 73 70 61 ltin">@workGroupSize</span>(<spa
ba180 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>
ba1a0 20 64 69 6d 65 6e 73 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 .dimension:.<span.class="tok-typ
ba1c0 65 22 3e 75 33 32 3c 2f 73 70 61 6e 3e 29 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d e">u32</span>).<span.class="tok-
ba1e0 74 79 70 65 22 3e 75 33 32 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 3c 2f 70 72 65 3e 0a 20 20 type">u32</span></code></pre>...
ba200 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 6e 75 6d 62 65 72 ....<p>.......Returns.the.number
ba220 20 6f 66 20 77 6f 72 6b 20 69 74 65 6d 73 20 74 68 61 74 20 61 20 77 6f 72 6b 20 67 72 6f 75 70 .of.work.items.that.a.work.group
ba240 20 68 61 73 20 69 6e 20 64 69 6d 65 6e 73 69 6f 6e 20 3c 63 6f 64 65 3e 64 69 6d 65 6e 73 69 6f .has.in.dimension.<code>dimensio
ba260 6e 3c 2f 63 6f 64 65 3e 2e 0a 20 20 20 20 20 20 3c 2f 70 3e 0a 20 20 20 20 20 20 0a 0a 20 20 20 n</code>........</p>............
ba280 20 20 20 3c 68 33 20 69 64 3d 22 77 6f 72 6b 49 74 65 6d 49 64 22 3e 3c 61 20 68 72 65 66 3d 22 ...<h3.id="workItemId"><a.href="
ba2a0 6e 61 76 2e 78 68 74 6d 6c 23 74 6f 63 2d 77 6f 72 6b 49 74 65 6d 49 64 22 3e 40 77 6f 72 6b 49 nav.xhtml#toc-workItemId">@workI
ba2c0 74 65 6d 49 64 3c 2f 61 3e 20 3c 61 20 63 6c 61 73 73 3d 22 68 64 72 22 20 68 72 65 66 3d 22 23 temId</a>.<a.class="hdr".href="#
ba2e0 77 6f 72 6b 49 74 65 6d 49 64 22 3e c2 a7 3c 2f 61 3e 3c 2f 68 33 3e 0a 0a 20 20 20 20 20 20 3c workItemId">..</a></h3>........<
ba300 70 72 65 3e 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 62 75 69 6c 74 pre><code><span.class="tok-built
ba320 69 6e 22 3e 40 77 6f 72 6b 49 74 65 6d 49 64 3c 2f 73 70 61 6e 3e 28 3c 73 70 61 6e 20 63 6c 61 in">@workItemId</span>(<span.cla
ba340 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 64 69 6d 65 ss="tok-kw">comptime</span>.dime
ba360 6e 73 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 75 33 nsion:.<span.class="tok-type">u3
ba380 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"
ba3a0 3e 75 33 32 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 3c 2f 70 72 65 3e 0a 20 20 20 20 20 20 3c >u32</span></code></pre>.......<
ba3c0 70 3e 0a 20 20 20 20 20 20 52 65 74 75 72 6e 73 20 74 68 65 20 69 6e 64 65 78 20 6f 66 20 74 68 p>.......Returns.the.index.of.th
ba3e0 65 20 77 6f 72 6b 20 69 74 65 6d 20 69 6e 20 74 68 65 20 77 6f 72 6b 20 67 72 6f 75 70 20 69 6e e.work.item.in.the.work.group.in
ba400 20 64 69 6d 65 6e 73 69 6f 6e 20 3c 63 6f 64 65 3e 64 69 6d 65 6e 73 69 6f 6e 3c 2f 63 6f 64 65 .dimension.<code>dimension</code
ba420 3e 2e 20 54 68 69 73 20 66 75 6e 63 74 69 6f 6e 20 72 65 74 75 72 6e 73 20 76 61 6c 75 65 73 20 >..This.function.returns.values.
ba440 62 65 74 77 65 65 6e 20 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e between.<code><span.class="tok-n
ba460 75 6d 62 65 72 22 3e 30 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 20 28 69 6e 63 6c 75 73 69 76 umber">0</span></code>.(inclusiv
ba480 65 29 20 61 6e 64 20 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 62 75 e).and.<code><span.class="tok-bu
ba4a0 69 6c 74 69 6e 22 3e 40 77 6f 72 6b 47 72 6f 75 70 53 69 7a 65 3c 2f 73 70 61 6e 3e 28 64 69 6d iltin">@workGroupSize</span>(dim
ba4c0 65 6e 73 69 6f 6e 29 3c 2f 63 6f 64 65 3e 20 28 65 78 63 6c 75 73 69 76 65 29 2e 0a 20 20 20 20 ension)</code>.(exclusive)......
ba4e0 20 20 3c 2f 70 3e 0a 20 20 20 20 20 20 0a 0a 20 20 20 20 20 20 0a 0a 20 20 20 20 20 20 3c 68 32 ..</p>.......................<h2
ba500 20 69 64 3d 22 42 75 69 6c 64 2d 4d 6f 64 65 22 3e 3c 61 20 68 72 65 66 3d 22 6e 61 76 2e 78 68 .id="Build-Mode"><a.href="nav.xh
ba520 74 6d 6c 23 74 6f 63 2d 42 75 69 6c 64 2d 4d 6f 64 65 22 3e 42 75 69 6c 64 20 4d 6f 64 65 3c 2f tml#toc-Build-Mode">Build.Mode</
ba540 61 3e 20 3c 61 20 63 6c 61 73 73 3d 22 68 64 72 22 20 68 72 65 66 3d 22 23 42 75 69 6c 64 2d 4d a>.<a.class="hdr".href="#Build-M
ba560 6f 64 65 22 3e c2 a7 3c 2f 61 3e 3c 2f 68 32 3e 0a 0a 20 20 20 20 20 20 3c 70 3e 0a 20 20 20 20 ode">..</a></h2>........<p>.....
ba580 20 20 5a 69 67 20 68 61 73 20 66 6f 75 72 20 62 75 69 6c 64 20 6d 6f 64 65 73 3a 0a 20 20 20 20 ..Zig.has.four.build.modes:.....
ba5a0 20 20 3c 2f 70 3e 0a 20 20 20 20 20 20 3c 75 6c 3e 0a 20 20 20 20 20 20 20 20 3c 6c 69 3e 3c 61 ..</p>.......<ul>.........<li><a
ba5c0 20 68 72 65 66 3d 22 23 44 65 62 75 67 22 3e 44 65 62 75 67 3c 2f 61 3e 20 28 64 65 66 61 75 6c .href="#Debug">Debug</a>.(defaul
ba5e0 74 29 3c 2f 6c 69 3e 0a 20 20 20 20 20 20 20 20 3c 6c 69 3e 3c 61 20 68 72 65 66 3d 22 23 52 65 t)</li>.........<li><a.href="#Re
ba600 6c 65 61 73 65 46 61 73 74 22 3e 52 65 6c 65 61 73 65 46 61 73 74 3c 2f 61 3e 3c 2f 6c 69 3e 0a leaseFast">ReleaseFast</a></li>.
ba620 20 20 20 20 20 20 20 20 3c 6c 69 3e 3c 61 20 68 72 65 66 3d 22 23 52 65 6c 65 61 73 65 53 61 66 ........<li><a.href="#ReleaseSaf
ba640 65 22 3e 52 65 6c 65 61 73 65 53 61 66 65 3c 2f 61 3e 3c 2f 6c 69 3e 0a 20 20 20 20 20 20 20 20 e">ReleaseSafe</a></li>.........
ba660 3c 6c 69 3e 3c 61 20 68 72 65 66 3d 22 23 52 65 6c 65 61 73 65 53 6d 61 6c 6c 22 3e 52 65 6c 65 <li><a.href="#ReleaseSmall">Rele
ba680 61 73 65 53 6d 61 6c 6c 3c 2f 61 3e 3c 2f 6c 69 3e 0a 20 20 20 20 20 20 3c 2f 75 6c 3e 0a 20 20 aseSmall</a></li>.......</ul>...
ba6a0 20 20 20 20 3c 70 3e 0a 20 20 20 20 20 20 54 6f 20 61 64 64 20 73 74 61 6e 64 61 72 64 20 62 75 ....<p>.......To.add.standard.bu
ba6c0 69 6c 64 20 6f 70 74 69 6f 6e 73 20 74 6f 20 61 20 3c 63 6f 64 65 20 63 6c 61 73 73 3d 22 66 69 ild.options.to.a.<code.class="fi
ba6e0 6c 65 22 3e 62 75 69 6c 64 2e 7a 69 67 3c 2f 63 6f 64 65 3e 20 66 69 6c 65 3a 0a 20 20 20 20 20 le">build.zig</code>.file:......
ba700 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.
ba720 63 6c 61 73 73 3d 22 7a 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
ba740 65 22 3e 62 75 69 6c 64 2e 7a 69 67 3c 2f 63 69 74 65 3e 3c 2f 66 69 67 63 61 70 74 69 6f 6e 3e e">build.zig</cite></figcaption>
ba760 3c 70 72 65 3e 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e <pre><code><span.class="tok-kw">
ba780 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="
ba7a0 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
ba7c0 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
ba7e0 3b 3c 2f 73 70 61 6e 3e 29 3b 0a 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 ;</span>);..<span.class="tok-kw"
ba800 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"
ba820 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">
ba840 62 75 69 6c 64 3c 2f 73 70 61 6e 3e 28 62 3a 20 2a 73 74 64 2e 42 75 69 6c 64 29 20 3c 73 70 61 build</span>(b:.*std.Build).<spa
ba860 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>.{
ba880 0a 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 63 6f 6e 73 74 3c .....<span.class="tok-kw">const<
ba8a0 2f 73 70 61 6e 3e 20 6f 70 74 69 6d 69 7a 65 20 3d 20 62 2e 73 74 61 6e 64 61 72 64 4f 70 74 69 /span>.optimize.=.b.standardOpti
ba8c0 6d 69 7a 65 4f 70 74 69 6f 6e 28 2e 7b 7d 29 3b 0a 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 mizeOption(.{});.....<span.class
ba8e0 3d 22 74 6f 6b 2d 6b 77 22 3e 63 6f 6e 73 74 3c 2f 73 70 61 6e 3e 20 65 78 65 20 3d 20 62 2e 61 ="tok-kw">const</span>.exe.=.b.a
ba900 64 64 45 78 65 63 75 74 61 62 6c 65 28 2e 7b 0a 20 20 20 20 20 20 20 20 2e 6e 61 6d 65 20 3d 20 ddExecutable(.{..........name.=.
ba920 3c 73 70 61 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 <span.class="tok-str">&quot;exam
ba940 70 6c 65 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 2c 0a 20 20 20 20 20 20 20 20 2e 72 6f 6f 74 5f ple&quot;</span>,..........root_
ba960 6d 6f 64 75 6c 65 20 3d 20 62 2e 63 72 65 61 74 65 4d 6f 64 75 6c 65 28 2e 7b 0a 20 20 20 20 20 module.=.b.createModule(.{......
ba980 20 20 20 20 20 20 20 2e 72 6f 6f 74 5f 73 6f 75 72 63 65 5f 66 69 6c 65 20 3d 20 62 2e 70 61 74 ........root_source_file.=.b.pat
ba9a0 68 28 3c 73 70 61 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 h(<span.class="tok-str">&quot;ex
ba9c0 61 6d 70 6c 65 2e 7a 69 67 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 29 2c 0a 20 20 20 20 20 20 20 ample.zig&quot;</span>),........
ba9e0 20 20 20 20 20 2e 6f 70 74 69 6d 69 7a 65 20 3d 20 6f 70 74 69 6d 69 7a 65 2c 0a 20 20 20 20 20 ......optimize.=.optimize,......
baa00 20 20 20 7d 29 2c 0a 20 20 20 20 7d 29 3b 0a 20 20 20 20 62 2e 64 65 66 61 75 6c 74 5f 73 74 65 ...}),.....});.....b.default_ste
baa20 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 0a 7d 3c 2f 63 6f p.dependOn(&amp;exe.step);.}</co
baa40 64 65 3e 3c 2f 70 72 65 3e 3c 2f 66 69 67 75 72 65 3e 0a 0a 20 20 20 20 20 20 3c 70 3e 0a 20 20 de></pre></figure>........<p>...
baa60 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 74 6f ....This.causes.these.options.to
baa80 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 20 20 .be.available:.......</p>.......
baaa0 3c 64 6c 3e 0a 20 20 20 20 20 20 20 20 3c 64 74 3e 3c 6b 62 64 3e 2d 44 6f 70 74 69 6d 69 7a 65 <dl>.........<dt><kbd>-Doptimize
baac0 3d 44 65 62 75 67 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 =Debug</kbd></dt><dd>Optimizatio
baae0 6e 73 20 6f 66 66 20 61 6e 64 20 73 61 66 65 74 79 20 6f 6e 20 28 64 65 66 61 75 6c 74 29 3c 2f ns.off.and.safety.on.(default)</
bab00 64 64 3e 0a 20 20 20 20 20 20 20 20 3c 64 74 3e 3c 6b 62 64 3e 2d 44 6f 70 74 69 6d 69 7a 65 3d dd>.........<dt><kbd>-Doptimize=
bab20 52 65 6c 65 61 73 65 53 61 66 65 3c 2f 6b 62 64 3e 3c 2f 64 74 3e 3c 64 64 3e 4f 70 74 69 6d 69 ReleaseSafe</kbd></dt><dd>Optimi
bab40 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 20 20 zations.on.and.safety.on</dd>...
bab60 20 20 20 20 20 20 3c 64 74 3e 3c 6b 62 64 3e 2d 44 6f 70 74 69 6d 69 7a 65 3d 52 65 6c 65 61 73 ......<dt><kbd>-Doptimize=Releas
bab80 65 46 61 73 74 3c 2f 6b 62 64 3e 3c 2f 64 74 3e 3c 64 64 3e 4f 70 74 69 6d 69 7a 61 74 69 6f 6e eFast</kbd></dt><dd>Optimization
baba0 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 20 s.on.and.safety.off</dd>........
babc0 20 3c 64 74 3e 3c 6b 62 64 3e 2d 44 6f 70 74 69 6d 69 7a 65 3d 52 65 6c 65 61 73 65 53 6d 61 6c .<dt><kbd>-Doptimize=ReleaseSmal
babe0 6c 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 l</kbd></dt><dd>Size.optimizatio
bac00 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>.......
bac20 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
bac40 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</
bac60 61 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">
bac80 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
baca0 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</
bacc0 66 69 67 63 61 70 74 69 6f 6e 3e 3c 70 72 65 3e 3c 73 61 6d 70 3e 24 20 3c 6b 62 64 3e 7a 69 67 figcaption><pre><samp>$.<kbd>zig
bace0 20 62 75 69 6c 64 2d 65 78 65 20 65 78 61 6d 70 6c 65 2e 7a 69 67 3c 2f 6b 62 64 3e 0a 3c 2f 73 .build-exe.example.zig</kbd>.</s
bad00 61 6d 70 3e 3c 2f 70 72 65 3e 3c 2f 66 69 67 75 72 65 3e 0a 20 20 20 20 20 20 3c 75 6c 3e 0a 20 amp></pre></figure>.......<ul>..
bad20 20 20 20 20 20 20 20 3c 6c 69 3e 46 61 73 74 20 63 6f 6d 70 69 6c 61 74 69 6f 6e 20 73 70 65 65 .......<li>Fast.compilation.spee
bad40 64 3c 2f 6c 69 3e 0a 20 20 20 20 20 20 20 20 3c 6c 69 3e 53 61 66 65 74 79 20 63 68 65 63 6b 73 d</li>.........<li>Safety.checks
bad60 20 65 6e 61 62 6c 65 64 3c 2f 6c 69 3e 0a 20 20 20 20 20 20 20 20 3c 6c 69 3e 53 6c 6f 77 20 72 .enabled</li>.........<li>Slow.r
bad80 75 6e 74 69 6d 65 20 70 65 72 66 6f 72 6d 61 6e 63 65 3c 2f 6c 69 3e 0a 20 20 20 20 20 20 20 20 untime.performance</li>.........
bada0 3c 6c 69 3e 4c 61 72 67 65 20 62 69 6e 61 72 79 20 73 69 7a 65 3c 2f 6c 69 3e 0a 20 20 20 20 20 <li>Large.binary.size</li>......
badc0 20 20 20 3c 6c 69 3e 4e 6f 20 72 65 70 72 6f 64 75 63 69 62 6c 65 20 62 75 69 6c 64 20 72 65 71 ...<li>No.reproducible.build.req
bade0 75 69 72 65 6d 65 6e 74 3c 2f 6c 69 3e 0a 20 20 20 20 20 20 3c 2f 75 6c 3e 0a 20 20 20 20 20 20 uirement</li>.......</ul>.......
bae00 0a 20 20 20 20 20 20 3c 68 33 20 69 64 3d 22 52 65 6c 65 61 73 65 46 61 73 74 22 3e 3c 61 20 68 .......<h3.id="ReleaseFast"><a.h
bae20 72 65 66 3d 22 6e 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 ref="nav.xhtml#toc-ReleaseFast">
bae40 52 65 6c 65 61 73 65 46 61 73 74 3c 2f 61 3e 20 3c 61 20 63 6c 61 73 73 3d 22 68 64 72 22 20 68 ReleaseFast</a>.<a.class="hdr".h
bae60 72 65 66 3d 22 23 52 65 6c 65 61 73 65 46 61 73 74 22 3e c2 a7 3c 2f 61 3e 3c 2f 68 33 3e 0a 0a ref="#ReleaseFast">..</a></h3>..
bae80 20 20 20 20 20 20 3c 66 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=
baea0 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
baec0 72 65 3e 3c 73 61 6d 70 3e 24 20 3c 6b 62 64 3e 7a 69 67 20 62 75 69 6c 64 2d 65 78 65 20 65 78 re><samp>$.<kbd>zig.build-exe.ex
baee0 61 6d 70 6c 65 2e 7a 69 67 20 2d 4f 20 52 65 6c 65 61 73 65 46 61 73 74 3c 2f 6b 62 64 3e 0a 3c ample.zig.-O.ReleaseFast</kbd>.<
baf00 2f 73 61 6d 70 3e 3c 2f 70 72 65 3e 3c 2f 66 69 67 75 72 65 3e 0a 20 20 20 20 20 20 3c 75 6c 3e /samp></pre></figure>.......<ul>
baf20 0a 20 20 20 20 20 20 20 20 3c 6c 69 3e 46 61 73 74 20 72 75 6e 74 69 6d 65 20 70 65 72 66 6f 72 .........<li>Fast.runtime.perfor
baf40 6d 61 6e 63 65 3c 2f 6c 69 3e 0a 20 20 20 20 20 20 20 20 3c 6c 69 3e 53 61 66 65 74 79 20 63 68 mance</li>.........<li>Safety.ch
baf60 65 63 6b 73 20 64 69 73 61 62 6c 65 64 3c 2f 6c 69 3e 0a 20 20 20 20 20 20 20 20 3c 6c 69 3e 53 ecks.disabled</li>.........<li>S
baf80 6c 6f 77 20 63 6f 6d 70 69 6c 61 74 69 6f 6e 20 73 70 65 65 64 3c 2f 6c 69 3e 0a 20 20 20 20 20 low.compilation.speed</li>......
bafa0 20 20 20 3c 6c 69 3e 4c 61 72 67 65 20 62 69 6e 61 72 79 20 73 69 7a 65 3c 2f 6c 69 3e 0a 20 20 ...<li>Large.binary.size</li>...
bafc0 20 20 20 20 20 20 3c 6c 69 3e 52 65 70 72 6f 64 75 63 69 62 6c 65 20 62 75 69 6c 64 3c 2f 6c 69 ......<li>Reproducible.build</li
bafe0 3e 0a 20 20 20 20 20 20 3c 2f 75 6c 3e 0a 20 20 20 20 20 20 0a 20 20 20 20 20 20 3c 68 33 20 69 >.......</ul>..............<h3.i
bb000 64 3d 22 52 65 6c 65 61 73 65 53 61 66 65 22 3e 3c 61 20 68 72 65 66 3d 22 6e 61 76 2e 78 68 74 d="ReleaseSafe"><a.href="nav.xht
bb020 6d 6c 23 74 6f 63 2d 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 ml#toc-ReleaseSafe">ReleaseSafe<
bb040 2f 61 3e 20 3c 61 20 63 6c 61 73 73 3d 22 68 64 72 22 20 68 72 65 66 3d 22 23 52 65 6c 65 61 73 /a>.<a.class="hdr".href="#Releas
bb060 65 53 61 66 65 22 3e c2 a7 3c 2f 61 3e 3c 2f 68 33 3e 0a 0a 20 20 20 20 20 20 3c 66 69 67 75 72 eSafe">..</a></h3>........<figur
bb080 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">
bb0a0 53 68 65 6c 6c 3c 2f 66 69 67 63 61 70 74 69 6f 6e 3e 3c 70 72 65 3e 3c 73 61 6d 70 3e 24 20 3c Shell</figcaption><pre><samp>$.<
bb0c0 6b 62 64 3e 7a 69 67 20 62 75 69 6c 64 2d 65 78 65 20 65 78 61 6d 70 6c 65 2e 7a 69 67 20 2d 4f kbd>zig.build-exe.example.zig.-O
bb0e0 20 52 65 6c 65 61 73 65 53 61 66 65 3c 2f 6b 62 64 3e 0a 3c 2f 73 61 6d 70 3e 3c 2f 70 72 65 3e .ReleaseSafe</kbd>.</samp></pre>
bb100 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
bb120 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 69 3e >Medium.runtime.performance</li>
bb140 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
bb160 65 64 3c 2f 6c 69 3e 0a 20 20 20 20 20 20 20 20 3c 6c 69 3e 53 6c 6f 77 20 63 6f 6d 70 69 6c 61 ed</li>.........<li>Slow.compila
bb180 74 69 6f 6e 20 73 70 65 65 64 3c 2f 6c 69 3e 0a 20 20 20 20 20 20 20 20 3c 6c 69 3e 4c 61 72 67 tion.speed</li>.........<li>Larg
bb1a0 65 20 62 69 6e 61 72 79 20 73 69 7a 65 3c 2f 6c 69 3e 0a 20 20 20 20 20 20 20 20 3c 6c 69 3e 52 e.binary.size</li>.........<li>R
bb1c0 65 70 72 6f 64 75 63 69 62 6c 65 20 62 75 69 6c 64 3c 2f 6c 69 3e 0a 20 20 20 20 20 20 3c 2f 75 eproducible.build</li>.......</u
bb1e0 6c 3e 0a 20 20 20 20 20 20 0a 20 20 20 20 20 20 3c 68 33 20 69 64 3d 22 52 65 6c 65 61 73 65 53 l>..............<h3.id="ReleaseS
bb200 6d 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 2d 52 65 6c mall"><a.href="nav.xhtml#toc-Rel
bb220 65 61 73 65 53 6d 61 6c 6c 22 3e 52 65 6c 65 61 73 65 53 6d 61 6c 6c 3c 2f 61 3e 20 3c 61 20 63 easeSmall">ReleaseSmall</a>.<a.c
bb240 6c 61 73 73 3d 22 68 64 72 22 20 68 72 65 66 3d 22 23 52 65 6c 65 61 73 65 53 6d 61 6c 6c 22 3e lass="hdr".href="#ReleaseSmall">
bb260 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
bb280 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</
bb2a0 66 69 67 63 61 70 74 69 6f 6e 3e 3c 70 72 65 3e 3c 73 61 6d 70 3e 24 20 3c 6b 62 64 3e 7a 69 67 figcaption><pre><samp>$.<kbd>zig
bb2c0 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
bb2e0 65 53 6d 61 6c 6c 3c 2f 6b 62 64 3e 0a 3c 2f 73 61 6d 70 3e 3c 2f 70 72 65 3e 3c 2f 66 69 67 75 eSmall</kbd>.</samp></pre></figu
bb300 72 65 3e 0a 20 20 20 20 20 20 3c 75 6c 3e 0a 20 20 20 20 20 20 20 20 3c 6c 69 3e 4d 65 64 69 75 re>.......<ul>.........<li>Mediu
bb320 6d 20 72 75 6e 74 69 6d 65 20 70 65 72 66 6f 72 6d 61 6e 63 65 3c 2f 6c 69 3e 0a 20 20 20 20 20 m.runtime.performance</li>......
bb340 20 20 20 3c 6c 69 3e 53 61 66 65 74 79 20 63 68 65 63 6b 73 20 64 69 73 61 62 6c 65 64 3c 2f 6c ...<li>Safety.checks.disabled</l
bb360 69 3e 0a 20 20 20 20 20 20 20 20 3c 6c 69 3e 53 6c 6f 77 20 63 6f 6d 70 69 6c 61 74 69 6f 6e 20 i>.........<li>Slow.compilation.
bb380 73 70 65 65 64 3c 2f 6c 69 3e 0a 20 20 20 20 20 20 20 20 3c 6c 69 3e 53 6d 61 6c 6c 20 62 69 6e speed</li>.........<li>Small.bin
bb3a0 61 72 79 20 73 69 7a 65 3c 2f 6c 69 3e 0a 20 20 20 20 20 20 20 20 3c 6c 69 3e 52 65 70 72 6f 64 ary.size</li>.........<li>Reprod
bb3c0 75 63 69 62 6c 65 20 62 75 69 6c 64 3c 2f 6c 69 3e 0a 20 20 20 20 20 20 3c 2f 75 6c 3e 0a 20 20 ucible.build</li>.......</ul>...
bb3e0 20 20 20 20 0a 20 20 20 20 20 20 3c 70 3e 53 65 65 20 61 6c 73 6f 3a 3c 2f 70 3e 3c 75 6c 3e 0a ...........<p>See.also:</p><ul>.
bb400 3c 6c 69 3e 3c 61 20 68 72 65 66 3d 22 23 43 6f 6d 70 69 6c 65 2d 56 61 72 69 61 62 6c 65 73 22 <li><a.href="#Compile-Variables"
bb420 3e 43 6f 6d 70 69 6c 65 20 56 61 72 69 61 62 6c 65 73 3c 2f 61 3e 3c 2f 6c 69 3e 0a 3c 6c 69 3e >Compile.Variables</a></li>.<li>
bb440 3c 61 20 68 72 65 66 3d 22 23 5a 69 67 2d 42 75 69 6c 64 2d 53 79 73 74 65 6d 22 3e 5a 69 67 20 <a.href="#Zig-Build-System">Zig.
bb460 42 75 69 6c 64 20 53 79 73 74 65 6d 3c 2f 61 3e 3c 2f 6c 69 3e 0a 3c 6c 69 3e 3c 61 20 68 72 65 Build.System</a></li>.<li><a.hre
bb480 66 3d 22 23 49 6c 6c 65 67 61 6c 2d 42 65 68 61 76 69 6f 72 22 3e 49 6c 6c 65 67 61 6c 20 42 65 f="#Illegal-Behavior">Illegal.Be
bb4a0 68 61 76 69 6f 72 3c 2f 61 3e 3c 2f 6c 69 3e 0a 3c 2f 75 6c 3e 0a 0a 20 20 20 20 20 20 0a 0a 20 havior</a></li>.</ul>...........
bb4c0 20 20 20 20 20 3c 68 32 20 69 64 3d 22 53 69 6e 67 6c 65 2d 54 68 72 65 61 64 65 64 2d 42 75 69 .....<h2.id="Single-Threaded-Bui
bb4e0 6c 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 53 69 6e 67 lds"><a.href="nav.xhtml#toc-Sing
bb500 6c 65 2d 54 68 72 65 61 64 65 64 2d 42 75 69 6c 64 73 22 3e 53 69 6e 67 6c 65 20 54 68 72 65 61 le-Threaded-Builds">Single.Threa
bb520 64 65 64 20 42 75 69 6c 64 73 3c 2f 61 3e 20 3c 61 20 63 6c 61 73 73 3d 22 68 64 72 22 20 68 72 ded.Builds</a>.<a.class="hdr".hr
bb540 65 66 3d 22 23 53 69 6e 67 6c 65 2d 54 68 72 65 61 64 65 64 2d 42 75 69 6c 64 73 22 3e c2 a7 3c ef="#Single-Threaded-Builds">..<
bb560 2f 61 3e 3c 2f 68 32 3e 0a 0a 20 20 20 20 20 20 3c 70 3e 5a 69 67 20 68 61 73 20 61 20 63 6f 6d /a></h2>........<p>Zig.has.a.com
bb580 70 69 6c 65 20 6f 70 74 69 6f 6e 20 3c 6b 62 64 3e 2d 66 73 69 6e 67 6c 65 2d 74 68 72 65 61 64 pile.option.<kbd>-fsingle-thread
bb5a0 65 64 3c 2f 6b 62 64 3e 20 77 68 69 63 68 20 68 61 73 20 74 68 65 20 66 6f 6c 6c 6f 77 69 6e 67 ed</kbd>.which.has.the.following
bb5c0 20 65 66 66 65 63 74 73 3a 3c 2f 70 3e 0a 20 20 20 20 20 20 3c 75 6c 3e 0a 20 20 20 20 20 20 20 .effects:</p>.......<ul>........
bb5e0 20 3c 6c 69 3e 41 6c 6c 20 3c 61 20 68 72 65 66 3d 22 23 54 68 72 65 61 64 2d 4c 6f 63 61 6c 2d .<li>All.<a.href="#Thread-Local-
bb600 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
bb620 73 3c 2f 61 3e 20 61 72 65 20 74 72 65 61 74 65 64 20 61 73 20 72 65 67 75 6c 61 72 20 3c 61 20 s</a>.are.treated.as.regular.<a.
bb640 68 72 65 66 3d 22 23 4e 61 6d 65 73 70 61 63 65 2d 4c 65 76 65 6c 2d 56 61 72 69 61 62 6c 65 73 href="#Namespace-Level-Variables
bb660 22 3e 4e 61 6d 65 73 70 61 63 65 20 4c 65 76 65 6c 20 56 61 72 69 61 62 6c 65 73 3c 2f 61 3e 2e ">Namespace.Level.Variables</a>.
bb680 3c 2f 6c 69 3e 0a 20 20 20 20 20 20 20 20 3c 6c 69 3e 54 68 65 20 6f 76 65 72 68 65 61 64 20 6f </li>.........<li>The.overhead.o
bb6a0 66 20 3c 61 20 68 72 65 66 3d 22 23 41 73 79 6e 63 2d 46 75 6e 63 74 69 6f 6e 73 22 3e 41 73 79 f.<a.href="#Async-Functions">Asy
bb6c0 6e 63 20 46 75 6e 63 74 69 6f 6e 73 3c 2f 61 3e 20 62 65 63 6f 6d 65 73 20 65 71 75 69 76 61 6c nc.Functions</a>.becomes.equival
bb6e0 65 6e 74 20 74 6f 20 66 75 6e 63 74 69 6f 6e 20 63 61 6c 6c 20 6f 76 65 72 68 65 61 64 2e 3c 2f ent.to.function.call.overhead.</
bb700 6c 69 3e 0a 20 20 20 20 20 20 20 20 3c 6c 69 3e 54 68 65 20 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 li>.........<li>The.<code><span.
bb720 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
bb740 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 62 n>(<span.class="tok-str">&quot;b
bb760 75 69 6c 74 69 6e 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 29 2e 73 69 6e 67 6c 65 5f 74 68 72 65 uiltin&quot;</span>).single_thre
bb780 61 64 65 64 3c 2f 63 6f 64 65 3e 20 62 65 63 6f 6d 65 73 20 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 aded</code>.becomes.<code><span.
bb7a0 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6c 6c 22 3e 74 72 75 65 3c 2f 73 70 61 6e 3e 3c 2f 63 6f class="tok-null">true</span></co
bb7c0 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
bb7e0 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
bb800 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
bb820 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 73 74 ............For.example.<code>st
bb840 64 2e 4d 75 74 65 78 3c 2f 63 6f 64 65 3e 20 62 65 63 6f 6d 65 73 0a 20 20 20 20 20 20 20 20 20 d.Mutex</code>.becomes..........
bb860 20 61 6e 20 65 6d 70 74 79 20 64 61 74 61 20 73 74 72 75 63 74 75 72 65 20 61 6e 64 20 61 6c 6c .an.empty.data.structure.and.all
bb880 20 6f 66 20 69 74 73 20 66 75 6e 63 74 69 6f 6e 73 20 62 65 63 6f 6d 65 20 6e 6f 2d 6f 70 73 2e .of.its.functions.become.no-ops.
bb8a0 3c 2f 6c 69 3e 0a 20 20 20 20 20 20 3c 2f 75 6c 3e 0a 20 20 20 20 20 20 0a 0a 20 20 20 20 20 20 </li>.......</ul>...............
bb8c0 3c 68 32 20 69 64 3d 22 49 6c 6c 65 67 61 6c 2d 42 65 68 61 76 69 6f 72 22 3e 3c 61 20 68 72 65 <h2.id="Illegal-Behavior"><a.hre
bb8e0 66 3d 22 6e 61 76 2e 78 68 74 6d 6c 23 74 6f 63 2d 49 6c 6c 65 67 61 6c 2d 42 65 68 61 76 69 6f f="nav.xhtml#toc-Illegal-Behavio
bb900 72 22 3e 49 6c 6c 65 67 61 6c 20 42 65 68 61 76 69 6f 72 3c 2f 61 3e 20 3c 61 20 63 6c 61 73 73 r">Illegal.Behavior</a>.<a.class
bb920 3d 22 68 64 72 22 20 68 72 65 66 3d 22 23 49 6c 6c 65 67 61 6c 2d 42 65 68 61 76 69 6f 72 22 3e ="hdr".href="#Illegal-Behavior">
bb940 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 4d 61 6e ..</a></h2>........<p>.......Man
bb960 79 20 6f 70 65 72 61 74 69 6f 6e 73 20 69 6e 20 5a 69 67 20 74 72 69 67 67 65 72 20 77 68 61 74 y.operations.in.Zig.trigger.what
bb980 20 69 73 20 6b 6e 6f 77 6e 20 61 73 20 22 49 6c 6c 65 67 61 6c 20 42 65 68 61 76 69 6f 72 22 20 .is.known.as."Illegal.Behavior".
bb9a0 28 49 42 29 2e 20 49 66 20 49 6c 6c 65 67 61 6c 20 42 65 68 61 76 69 6f 72 20 69 73 20 64 65 74 (IB)..If.Illegal.Behavior.is.det
bb9c0 65 63 74 65 64 20 61 74 0a 20 20 20 20 20 20 63 6f 6d 70 69 6c 65 2d 74 69 6d 65 2c 20 5a 69 67 ected.at.......compile-time,.Zig
bb9e0 20 65 6d 69 74 73 20 61 20 63 6f 6d 70 69 6c 65 20 65 72 72 6f 72 20 61 6e 64 20 72 65 66 75 73 .emits.a.compile.error.and.refus
bba00 65 73 20 74 6f 20 63 6f 6e 74 69 6e 75 65 2e 20 4f 74 68 65 72 77 69 73 65 2c 20 77 68 65 6e 20 es.to.continue..Otherwise,.when.
bba20 49 6c 6c 65 67 61 6c 20 42 65 68 61 76 69 6f 72 20 69 73 20 6e 6f 74 20 63 61 75 67 68 74 0a 20 Illegal.Behavior.is.not.caught..
bba40 20 20 20 20 20 61 74 20 63 6f 6d 70 69 6c 65 2d 74 69 6d 65 2c 20 69 74 20 66 61 6c 6c 73 20 69 .....at.compile-time,.it.falls.i
bba60 6e 74 6f 20 6f 6e 65 20 6f 66 20 74 77 6f 20 63 61 74 65 67 6f 72 69 65 73 2e 0a 20 20 20 20 20 nto.one.of.two.categories.......
bba80 20 3c 2f 70 3e 0a 20 20 20 20 20 20 3c 70 3e 0a 20 20 20 20 20 20 53 6f 6d 65 20 49 6c 6c 65 67 .</p>.......<p>.......Some.Illeg
bbaa0 61 6c 20 42 65 68 61 76 69 6f 72 20 69 73 20 3c 65 6d 3e 73 61 66 65 74 79 2d 63 68 65 63 6b 65 al.Behavior.is.<em>safety-checke
bbac0 64 3c 2f 65 6d 3e 3a 20 74 68 69 73 20 6d 65 61 6e 73 20 74 68 61 74 20 74 68 65 20 63 6f 6d 70 d</em>:.this.means.that.the.comp
bbae0 69 6c 65 72 20 77 69 6c 6c 20 69 6e 73 65 72 74 20 22 73 61 66 65 74 79 20 63 68 65 63 6b 73 22 iler.will.insert."safety.checks"
bbb00 0a 20 20 20 20 20 20 61 6e 79 77 68 65 72 65 20 74 68 61 74 20 74 68 65 20 49 6c 6c 65 67 61 6c .......anywhere.that.the.Illegal
bbb20 20 42 65 68 61 76 69 6f 72 20 6d 61 79 20 6f 63 63 75 72 20 61 74 20 72 75 6e 74 69 6d 65 2c 20 .Behavior.may.occur.at.runtime,.
bbb40 74 6f 20 64 65 74 65 72 6d 69 6e 65 20 77 68 65 74 68 65 72 20 69 74 20 69 73 20 61 62 6f 75 74 to.determine.whether.it.is.about
bbb60 20 74 6f 20 68 61 70 70 65 6e 2e 20 49 66 20 69 74 0a 20 20 20 20 20 20 69 73 2c 20 74 68 65 20 .to.happen..If.it.......is,.the.
bbb80 73 61 66 65 74 79 20 63 68 65 63 6b 20 22 66 61 69 6c 73 22 2c 20 77 68 69 63 68 20 74 72 69 67 safety.check."fails",.which.trig
bbba0 67 65 72 73 20 61 20 70 61 6e 69 63 2e 0a 20 20 20 20 20 20 3c 2f 70 3e 0a 20 20 20 20 20 20 3c gers.a.panic........</p>.......<
bbbc0 70 3e 0a 20 20 20 20 20 20 41 6c 6c 20 6f 74 68 65 72 20 49 6c 6c 65 67 61 6c 20 42 65 68 61 76 p>.......All.other.Illegal.Behav
bbbe0 69 6f 72 20 69 73 20 3c 65 6d 3e 75 6e 63 68 65 63 6b 65 64 3c 2f 65 6d 3e 2c 20 6d 65 61 6e 69 ior.is.<em>unchecked</em>,.meani
bbc00 6e 67 20 74 68 65 20 63 6f 6d 70 69 6c 65 72 20 69 73 20 75 6e 61 62 6c 65 20 74 6f 20 69 6e 73 ng.the.compiler.is.unable.to.ins
bbc20 65 72 74 20 73 61 66 65 74 79 20 63 68 65 63 6b 73 20 66 6f 72 0a 20 20 20 20 20 20 69 74 2e 20 ert.safety.checks.for.......it..
bbc40 49 66 20 55 6e 63 68 65 63 6b 65 64 20 49 6c 6c 65 67 61 6c 20 42 65 68 61 76 69 6f 72 20 69 73 If.Unchecked.Illegal.Behavior.is
bbc60 20 69 6e 76 6f 6b 65 64 20 61 74 20 72 75 6e 74 69 6d 65 2c 20 61 6e 79 74 68 69 6e 67 20 63 61 .invoked.at.runtime,.anything.ca
bbc80 6e 20 68 61 70 70 65 6e 3a 20 75 73 75 61 6c 6c 79 20 74 68 61 74 20 77 69 6c 6c 20 62 65 20 73 n.happen:.usually.that.will.be.s
bbca0 6f 6d 65 20 6b 69 6e 64 20 6f 66 0a 20 20 20 20 20 20 63 72 61 73 68 2c 20 62 75 74 20 74 68 65 ome.kind.of.......crash,.but.the
bbcc0 20 6f 70 74 69 6d 69 7a 65 72 20 69 73 20 66 72 65 65 20 74 6f 20 6d 61 6b 65 20 55 6e 63 68 65 .optimizer.is.free.to.make.Unche
bbce0 63 6b 65 64 20 49 6c 6c 65 67 61 6c 20 42 65 68 61 76 69 6f 72 20 64 6f 20 61 6e 79 74 68 69 6e cked.Illegal.Behavior.do.anythin
bbd00 67 2c 20 73 75 63 68 20 61 73 20 63 61 6c 6c 69 6e 67 20 61 72 62 69 74 72 61 72 79 20 66 75 6e g,.such.as.calling.arbitrary.fun
bbd20 63 74 69 6f 6e 73 0a 20 20 20 20 20 20 6f 72 20 63 6c 6f 62 62 65 72 69 6e 67 20 61 72 62 69 74 ctions.......or.clobbering.arbit
bbd40 72 61 72 79 20 64 61 74 61 2e 20 54 68 69 73 20 69 73 20 73 69 6d 69 6c 61 72 20 74 6f 20 74 68 rary.data..This.is.similar.to.th
bbd60 65 20 63 6f 6e 63 65 70 74 20 6f 66 20 22 75 6e 64 65 66 69 6e 65 64 20 62 65 68 61 76 69 6f 72 e.concept.of."undefined.behavior
bbd80 22 20 69 6e 20 73 6f 6d 65 20 6f 74 68 65 72 20 6c 61 6e 67 75 61 67 65 73 2e 20 4e 6f 74 65 20 ".in.some.other.languages..Note.
bbda0 74 68 61 74 0a 20 20 20 20 20 20 55 6e 63 68 65 63 6b 65 64 20 49 6c 6c 65 67 61 6c 20 42 65 68 that.......Unchecked.Illegal.Beh
bbdc0 61 76 69 6f 72 20 73 74 69 6c 6c 20 61 6c 77 61 79 73 20 72 65 73 75 6c 74 73 20 69 6e 20 61 20 avior.still.always.results.in.a.
bbde0 63 6f 6d 70 69 6c 65 20 65 72 72 6f 72 20 69 66 20 65 76 61 6c 75 61 74 65 64 20 61 74 20 3c 61 compile.error.if.evaluated.at.<a
bbe00 20 68 72 65 66 3d 22 23 63 6f 6d 70 74 69 6d 65 22 3e 63 6f 6d 70 74 69 6d 65 3c 2f 61 3e 2c 20 .href="#comptime">comptime</a>,.
bbe20 62 65 63 61 75 73 65 20 74 68 65 20 5a 69 67 0a 20 20 20 20 20 20 63 6f 6d 70 69 6c 65 72 20 69 because.the.Zig.......compiler.i
bbe40 73 20 61 62 6c 65 20 74 6f 20 70 65 72 66 6f 72 6d 20 6d 6f 72 65 20 73 6f 70 68 69 73 74 69 63 s.able.to.perform.more.sophistic
bbe60 61 74 65 64 20 63 68 65 63 6b 73 20 61 74 20 63 6f 6d 70 69 6c 65 2d 74 69 6d 65 20 74 68 61 6e ated.checks.at.compile-time.than
bbe80 20 61 74 20 72 75 6e 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 .at.runtime........</p>.......<p
bbea0 3e 0a 20 20 20 20 20 20 4d 6f 73 74 20 49 6c 6c 65 67 61 6c 20 42 65 68 61 76 69 6f 72 20 69 73 >.......Most.Illegal.Behavior.is
bbec0 20 73 61 66 65 74 79 2d 63 68 65 63 6b 65 64 2e 20 48 6f 77 65 76 65 72 2c 20 74 6f 20 66 61 63 .safety-checked..However,.to.fac
bbee0 69 6c 69 74 61 74 65 20 6f 70 74 69 6d 69 7a 61 74 69 6f 6e 73 2c 20 73 61 66 65 74 79 20 63 68 ilitate.optimizations,.safety.ch
bbf00 65 63 6b 73 20 61 72 65 20 64 69 73 61 62 6c 65 64 20 62 79 20 64 65 66 61 75 6c 74 0a 20 20 20 ecks.are.disabled.by.default....
bbf20 20 20 20 69 6e 20 74 68 65 20 3c 61 20 68 72 65 66 3d 22 23 52 65 6c 65 61 73 65 46 61 73 74 22 ...in.the.<a.href="#ReleaseFast"
bbf40 3e 52 65 6c 65 61 73 65 46 61 73 74 3c 2f 61 3e 20 61 6e 64 20 3c 61 20 68 72 65 66 3d 22 23 52 >ReleaseFast</a>.and.<a.href="#R
bbf60 65 6c 65 61 73 65 53 6d 61 6c 6c 22 3e 52 65 6c 65 61 73 65 53 6d 61 6c 6c 3c 2f 61 3e 20 6f 70 eleaseSmall">ReleaseSmall</a>.op
bbf80 74 69 6d 69 7a 61 74 69 6f 6e 20 6d 6f 64 65 73 2e 20 53 61 66 65 74 79 20 63 68 65 63 6b 73 20 timization.modes..Safety.checks.
bbfa0 63 61 6e 20 61 6c 73 6f 20 62 65 20 65 6e 61 62 6c 65 64 20 6f 72 20 64 69 73 61 62 6c 65 64 0a can.also.be.enabled.or.disabled.
bbfc0 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 2c 20 6f 76 65 72 ......on.a.per-block.basis,.over
bbfe0 72 69 64 69 6e 67 20 74 68 65 20 64 65 66 61 75 6c 74 20 66 6f 72 20 74 68 65 20 63 75 72 72 65 riding.the.default.for.the.curre
bc000 6e 74 20 6f 70 74 69 6d 69 7a 61 74 69 6f 6e 20 6d 6f 64 65 2c 20 75 73 69 6e 67 20 3c 61 20 68 nt.optimization.mode,.using.<a.h
bc020 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 75 6e 74 ref="#setRuntimeSafety">@setRunt
bc040 69 6d 65 53 61 66 65 74 79 3c 2f 61 3e 2e 20 57 68 65 6e 0a 20 20 20 20 20 20 73 61 66 65 74 79 imeSafety</a>..When.......safety
bc060 20 63 68 65 63 6b 73 20 61 72 65 20 64 69 73 61 62 6c 65 64 2c 20 53 61 66 65 74 79 2d 43 68 65 .checks.are.disabled,.Safety-Che
bc080 63 6b 65 64 20 49 6c 6c 65 67 61 6c 20 42 65 68 61 76 69 6f 72 20 62 65 68 61 76 65 73 20 6c 69 cked.Illegal.Behavior.behaves.li
bc0a0 6b 65 20 55 6e 63 68 65 63 6b 65 64 20 49 6c 6c 65 67 61 6c 20 42 65 68 61 76 69 6f 72 3b 20 74 ke.Unchecked.Illegal.Behavior;.t
bc0c0 68 61 74 20 69 73 2c 20 61 6e 79 20 62 65 68 61 76 69 6f 72 0a 20 20 20 20 20 20 6d 61 79 20 72 hat.is,.any.behavior.......may.r
bc0e0 65 73 75 6c 74 20 66 72 6f 6d 20 69 6e 76 6f 6b 69 6e 67 20 69 74 2e 0a 20 20 20 20 20 20 3c 2f esult.from.invoking.it........</
bc100 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
bc120 20 63 68 65 63 6b 20 66 61 69 6c 73 2c 20 5a 69 67 27 73 20 64 65 66 61 75 6c 74 20 70 61 6e 69 .check.fails,.Zig's.default.pani
bc140 63 20 68 61 6e 64 6c 65 72 20 63 72 61 73 68 65 73 20 77 69 74 68 20 61 20 73 74 61 63 6b 20 74 c.handler.crashes.with.a.stack.t
bc160 72 61 63 65 2c 20 6c 69 6b 65 20 74 68 69 73 3a 0a 20 20 20 20 20 20 3c 2f 70 3e 0a 20 20 20 20 race,.like.this:.......</p>.....
bc180 20 20 3c 66 69 67 75 72 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
bc1a0 2d 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 6c -cap"><cite.class="file">test_il
bc1c0 6c 65 67 61 6c 5f 62 65 68 61 76 69 6f 72 2e 7a 69 67 3c 2f 63 69 74 65 3e 3c 2f 66 69 67 63 61 legal_behavior.zig</cite></figca
bc1e0 70 74 69 6f 6e 3e 3c 70 72 65 3e 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f ption><pre><code><span.class="to
bc200 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
bc220 6f 6b 2d 73 74 72 22 3e 26 71 75 6f 74 3b 73 61 66 65 74 79 20 63 68 65 63 6b 26 71 75 6f 74 3b ok-str">&quot;safety.check&quot;
bc240 3c 2f 73 70 61 6e 3e 20 7b 0a 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b </span>.{.....<span.class="tok-k
bc260 77 22 3e 75 6e 72 65 61 63 68 61 62 6c 65 3c 2f 73 70 61 6e 3e 3b 0a 7d 3c 2f 63 6f 64 65 3e 3c w">unreachable</span>;.}</code><
bc280 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
bc2a0 6e 20 63 6c 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
bc2c0 70 74 69 6f 6e 3e 3c 70 72 65 3e 3c 73 61 6d 70 3e 24 20 3c 6b 62 64 3e 7a 69 67 20 74 65 73 74 ption><pre><samp>$.<kbd>zig.test
bc2e0 20 74 65 73 74 5f 69 6c 6c 65 67 61 6c 5f 62 65 68 61 76 69 6f 72 2e 7a 69 67 3c 2f 6b 62 64 3e .test_illegal_behavior.zig</kbd>
bc300 0a 31 2f 31 20 74 65 73 74 5f 69 6c 6c 65 67 61 6c 5f 62 65 68 61 76 69 6f 72 2e 74 65 73 74 2e .1/1.test_illegal_behavior.test.
bc320 73 61 66 65 74 79 20 63 68 65 63 6b 2e 2e 2e 74 68 72 65 61 64 20 32 33 34 33 33 38 20 70 61 6e safety.check...thread.234338.pan
bc340 69 63 3a 20 72 65 61 63 68 65 64 20 75 6e 72 65 61 63 68 61 62 6c 65 20 63 6f 64 65 0a 2f 68 6f ic:.reached.unreachable.code./ho
bc360 6d 65 2f 63 69 2f 77 6f 72 6b 2f 7a 69 67 2d 62 6f 6f 74 73 74 72 61 70 2f 7a 69 67 2f 64 6f 63 me/ci/work/zig-bootstrap/zig/doc
bc380 2f 6c 61 6e 67 72 65 66 2f 74 65 73 74 5f 69 6c 6c 65 67 61 6c 5f 62 65 68 61 76 69 6f 72 2e 7a /langref/test_illegal_behavior.z
bc3a0 69 67 3a 32 3a 35 3a 20 30 78 31 32 33 38 39 62 63 20 69 6e 20 74 65 73 74 2e 73 61 66 65 74 79 ig:2:5:.0x12389bc.in.test.safety
bc3c0 20 63 68 65 63 6b 20 28 74 65 73 74 5f 69 6c 6c 65 67 61 6c 5f 62 65 68 61 76 69 6f 72 2e 7a 69 .check.(test_illegal_behavior.zi
bc3e0 67 29 0a 20 20 20 20 75 6e 72 65 61 63 68 61 62 6c 65 3b 0a 20 20 20 20 5e 0a 2f 68 6f 6d 65 2f g).....unreachable;.....^./home/
bc400 63 69 2f 77 6f 72 6b 2f 7a 69 67 2d 62 6f 6f 74 73 74 72 61 70 2f 6f 75 74 2f 68 6f 73 74 2f 6c ci/work/zig-bootstrap/out/host/l
bc420 69 62 2f 7a 69 67 2f 63 6f 6d 70 69 6c 65 72 2f 74 65 73 74 5f 72 75 6e 6e 65 72 2e 7a 69 67 3a ib/zig/compiler/test_runner.zig:
bc440 32 39 31 3a 32 35 3a 20 30 78 31 31 66 33 65 64 36 20 69 6e 20 6d 61 69 6e 54 65 72 6d 69 6e 61 291:25:.0x11f3ed6.in.mainTermina
bc460 6c 20 28 74 65 73 74 5f 72 75 6e 6e 65 72 2e 7a 69 67 29 0a 20 20 20 20 20 20 20 20 69 66 20 28 l.(test_runner.zig).........if.(
bc480 74 65 73 74 5f 66 6e 2e 66 75 6e 63 28 29 29 20 7c 5f 7c 20 7b 0a 20 20 20 20 20 20 20 20 20 20 test_fn.func()).|_|.{...........
bc4a0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 5e 0a 2f 68 6f 6d 65 2f 63 69 2f 77 6f 72 6b 2f 7a 69 ..............^./home/ci/work/zi
bc4c0 67 2d 62 6f 6f 74 73 74 72 61 70 2f 6f 75 74 2f 68 6f 73 74 2f 6c 69 62 2f 7a 69 67 2f 63 6f 6d g-bootstrap/out/host/lib/zig/com
bc4e0 70 69 6c 65 72 2f 74 65 73 74 5f 72 75 6e 6e 65 72 2e 7a 69 67 3a 37 33 3a 32 38 3a 20 30 78 31 piler/test_runner.zig:73:28:.0x1
bc500 31 66 33 36 66 32 20 69 6e 20 6d 61 69 6e 20 28 74 65 73 74 5f 72 75 6e 6e 65 72 2e 7a 69 67 29 1f36f2.in.main.(test_runner.zig)
bc520 0a 20 20 20 20 20 20 20 20 72 65 74 75 72 6e 20 6d 61 69 6e 54 65 72 6d 69 6e 61 6c 28 69 6e 69 .........return.mainTerminal(ini
bc540 74 29 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 5e t);............................^
bc560 0a 2f 68 6f 6d 65 2f 63 69 2f 77 6f 72 6b 2f 7a 69 67 2d 62 6f 6f 74 73 74 72 61 70 2f 6f 75 74 ./home/ci/work/zig-bootstrap/out
bc580 2f 68 6f 73 74 2f 6c 69 62 2f 7a 69 67 2f 73 74 64 2f 73 74 61 72 74 2e 7a 69 67 3a 37 32 33 3a /host/lib/zig/std/start.zig:723:
bc5a0 38 38 3a 20 30 78 31 31 65 66 66 30 35 20 69 6e 20 63 61 6c 6c 4d 61 69 6e 20 28 73 74 64 2e 7a 88:.0x11eff05.in.callMain.(std.z
bc5c0 69 67 29 0a 20 20 20 20 69 66 20 28 66 6e 5f 69 6e 66 6f 2e 70 61 72 61 6d 73 5b 30 5d 2e 74 79 ig).....if.(fn_info.params[0].ty
bc5e0 70 65 2e 3f 20 3d 3d 20 73 74 64 2e 70 72 6f 63 65 73 73 2e 49 6e 69 74 2e 4d 69 6e 69 6d 61 6c pe.?.==.std.process.Init.Minimal
bc600 29 20 72 65 74 75 72 6e 20 77 72 61 70 4d 61 69 6e 28 72 6f 6f 74 2e 6d 61 69 6e 28 2e 7b 0a 20 ).return.wrapMain(root.main(.{..
bc620 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ................................
bc640 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ................................
bc660 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 5e 0a 2f 68 6f 6d 65 2f 63 69 ......................^./home/ci
bc680 2f 77 6f 72 6b 2f 7a 69 67 2d 62 6f 6f 74 73 74 72 61 70 2f 6f 75 74 2f 68 6f 73 74 2f 6c 69 62 /work/zig-bootstrap/out/host/lib
bc6a0 2f 7a 69 67 2f 73 74 64 2f 73 74 61 72 74 2e 7a 69 67 3a 32 30 34 3a 35 3a 20 30 78 31 31 65 66 /zig/std/start.zig:204:5:.0x11ef
bc6c0 38 65 31 20 69 6e 20 5f 73 74 61 72 74 20 28 73 74 64 2e 7a 69 67 29 0a 20 20 20 20 61 73 6d 20 8e1.in._start.(std.zig).....asm.
bc6e0 76 6f 6c 61 74 69 6c 65 20 28 73 77 69 74 63 68 20 28 6e 61 74 69 76 65 5f 61 72 63 68 29 20 7b volatile.(switch.(native_arch).{
bc700 0a 20 20 20 20 5e 0a 65 72 72 6f 72 3a 20 74 68 65 20 66 6f 6c 6c 6f 77 69 6e 67 20 74 65 73 74 .....^.error:.the.following.test
bc720 20 63 6f 6d 6d 61 6e 64 20 74 65 72 6d 69 6e 61 74 65 64 20 77 69 74 68 20 73 69 67 6e 61 6c 20 .command.terminated.with.signal.
bc740 41 42 52 54 3a 0a 2f 68 6f 6d 65 2f 63 69 2f 77 6f 72 6b 2f 7a 69 67 2d 62 6f 6f 74 73 74 72 61 ABRT:./home/ci/work/zig-bootstra
bc760 70 2f 6f 75 74 2f 7a 69 67 2d 6c 6f 63 61 6c 2d 63 61 63 68 65 2f 6f 2f 36 62 35 65 61 38 38 31 p/out/zig-local-cache/o/6b5ea881
bc780 61 39 34 32 37 61 36 61 30 64 38 62 34 63 32 38 64 32 64 34 61 63 65 61 2f 74 65 73 74 20 2d 2d a9427a6a0d8b4c28d2d4acea/test.--
bc7a0 73 65 65 64 3d 30 78 31 30 61 35 37 39 62 30 0a 3c 2f 73 61 6d 70 3e 3c 2f 70 72 65 3e 3c 2f 66 seed=0x10a579b0.</samp></pre></f
bc7c0 69 67 75 72 65 3e 0a 0a 20 20 20 20 20 20 3c 68 33 20 69 64 3d 22 52 65 61 63 68 69 6e 67 2d 55 igure>........<h3.id="Reaching-U
bc7e0 6e 72 65 61 63 68 61 62 6c 65 2d 43 6f 64 65 22 3e 3c 61 20 68 72 65 66 3d 22 6e 61 76 2e 78 68 nreachable-Code"><a.href="nav.xh
bc800 74 6d 6c 23 74 6f 63 2d 52 65 61 63 68 69 6e 67 2d 55 6e 72 65 61 63 68 61 62 6c 65 2d 43 6f 64 tml#toc-Reaching-Unreachable-Cod
bc820 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>
bc840 20 3c 61 20 63 6c 61 73 73 3d 22 68 64 72 22 20 68 72 65 66 3d 22 23 52 65 61 63 68 69 6e 67 2d .<a.class="hdr".href="#Reaching-
bc860 55 6e 72 65 61 63 68 61 62 6c 65 2d 43 6f 64 65 22 3e c2 a7 3c 2f 61 3e 3c 2f 68 33 3e 0a 0a 20 Unreachable-Code">..</a></h3>...
bc880 20 20 20 20 20 3c 70 3e 41 74 20 63 6f 6d 70 69 6c 65 2d 74 69 6d 65 3a 3c 2f 70 3e 0a 20 20 20 .....<p>At.compile-time:</p>....
bc8a0 20 20 20 3c 66 69 67 75 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
bc8c0 67 2d 63 61 70 22 3e 3c 63 69 74 65 20 63 6c 61 73 73 3d 22 66 69 6c 65 22 3e 74 65 73 74 5f 63 g-cap"><cite.class="file">test_c
bc8e0 6f 6d 70 74 69 6d 65 5f 72 65 61 63 68 69 6e 67 5f 75 6e 72 65 61 63 68 61 62 6c 65 2e 7a 69 67 omptime_reaching_unreachable.zig
bc900 3c 2f 63 69 74 65 3e 3c 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><
bc920 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
bc940 61 6e 3e 20 7b 0a 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 an>.{.....assert(<span.class="to
bc960 6b 2d 6e 75 6c 6c 22 3e 66 61 6c 73 65 3c 2f 73 70 61 6e 3e 29 3b 0a 7d 0a 3c 73 70 61 6e 20 63 k-null">false</span>);.}.<span.c
bc980 6c 61 73 73 3d 22 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
bc9a0 61 73 73 3d 22 74 6f 6b 2d 66 6e 22 3e 61 73 73 65 72 74 3c 2f 73 70 61 6e 3e 28 6f 6b 3a 20 3c ass="tok-fn">assert</span>(ok:.<
bc9c0 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
bc9e0 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</
bca00 73 70 61 6e 3e 20 7b 0a 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 span>.{.....<span.class="tok-kw"
bca20 3e 69 66 3c 2f 73 70 61 6e 3e 20 28 21 6f 6b 29 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f >if</span>.(!ok).<span.class="to
bca40 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 20 3c 73 70 61 6e 20 k-kw">unreachable</span>;.<span.
bca60 63 6c 61 73 73 3d 22 74 6f 6b 2d 63 6f 6d 6d 65 6e 74 22 3e 2f 2f 20 61 73 73 65 72 74 69 6f 6e class="tok-comment">//.assertion
bca80 20 66 61 69 6c 75 72 65 3c 2f 73 70 61 6e 3e 0a 7d 3c 2f 63 6f 64 65 3e 3c 2f 70 72 65 3e 3c 2f .failure</span>.}</code></pre></
bcaa0 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
bcac0 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><
bcae0 70 72 65 3e 3c 73 61 6d 70 3e 24 20 3c 6b 62 64 3e 7a 69 67 20 74 65 73 74 20 74 65 73 74 5f 63 pre><samp>$.<kbd>zig.test.test_c
bcb00 6f 6d 70 74 69 6d 65 5f 72 65 61 63 68 69 6e 67 5f 75 6e 72 65 61 63 68 61 62 6c 65 2e 7a 69 67 omptime_reaching_unreachable.zig
bcb20 3c 2f 6b 62 64 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 73 67 72 2d 31 6d 22 3e 2f 68 6f 6d </kbd>.<span.class="sgr-1m">/hom
bcb40 65 2f 63 69 2f 77 6f 72 6b 2f 7a 69 67 2d 62 6f 6f 74 73 74 72 61 70 2f 7a 69 67 2f 64 6f 63 2f e/ci/work/zig-bootstrap/zig/doc/
bcb60 6c 61 6e 67 72 65 66 2f 74 65 73 74 5f 63 6f 6d 70 74 69 6d 65 5f 72 65 61 63 68 69 6e 67 5f 75 langref/test_comptime_reaching_u
bcb80 6e 72 65 61 63 68 61 62 6c 65 2e 7a 69 67 3a 35 3a 31 34 3a 20 3c 2f 73 70 61 6e 3e 3c 73 70 61 nreachable.zig:5:14:.</span><spa
bcba0 6e 20 63 6c 61 73 73 3d 22 73 67 72 2d 33 31 6d 22 3e 65 72 72 6f 72 3a 20 3c 2f 73 70 61 6e 3e n.class="sgr-31m">error:.</span>
bcbc0 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 73 67 72 2d 31 6d 22 3e 72 65 61 63 68 65 64 20 75 6e 72 <span.class="sgr-1m">reached.unr
bcbe0 65 61 63 68 61 62 6c 65 20 63 6f 64 65 0a 3c 2f 73 70 61 6e 3e 20 20 20 20 69 66 20 28 21 6f 6b eachable.code.</span>....if.(!ok
bcc00 29 20 75 6e 72 65 61 63 68 61 62 6c 65 3b 20 2f 2f 20 61 73 73 65 72 74 69 6f 6e 20 66 61 69 6c ).unreachable;.//.assertion.fail
bcc20 75 72 65 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 73 67 ure..............<span.class="sg
bcc40 72 2d 33 32 6d 22 3e 5e 7e 7e 7e 7e 7e 7e 7e 7e 7e 7e 0a 3c 2f 73 70 61 6e 3e 3c 73 70 61 6e 20 r-32m">^~~~~~~~~~~.</span><span.
bcc60 63 6c 61 73 73 3d 22 73 67 72 2d 31 6d 22 3e 2f 68 6f 6d 65 2f 63 69 2f 77 6f 72 6b 2f 7a 69 67 class="sgr-1m">/home/ci/work/zig
bcc80 2d 62 6f 6f 74 73 74 72 61 70 2f 7a 69 67 2f 64 6f 63 2f 6c 61 6e 67 72 65 66 2f 74 65 73 74 5f -bootstrap/zig/doc/langref/test_
bcca0 63 6f 6d 70 74 69 6d 65 5f 72 65 61 63 68 69 6e 67 5f 75 6e 72 65 61 63 68 61 62 6c 65 2e 7a 69 comptime_reaching_unreachable.zi
bccc0 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 3d 22 73 67 72 2d g:2:11:.</span><span.class="sgr-
bcce0 33 36 6d 22 3e 6e 6f 74 65 3a 20 3c 2f 73 70 61 6e 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 73 36m">note:.</span><span.class="s
bcd00 67 72 2d 31 6d 22 3e 63 61 6c 6c 65 64 20 61 74 20 63 6f 6d 70 74 69 6d 65 20 68 65 72 65 0a 3c gr-1m">called.at.comptime.here.<
bcd20 2f 73 70 61 6e 3e 20 20 20 20 61 73 73 65 72 74 28 66 61 6c 73 65 29 3b 0a 20 20 20 20 3c 73 70 /span>....assert(false);.....<sp
bcd40 61 6e 20 63 6c 61 73 73 3d 22 73 67 72 2d 33 32 6d 22 3e 7e 7e 7e 7e 7e 7e 5e 7e 7e 7e 7e 7e 7e an.class="sgr-32m">~~~~~~^~~~~~~
bcd60 0a 3c 2f 73 70 61 6e 3e 0a 3c 2f 73 61 6d 70 3e 3c 2f 70 72 65 3e 3c 2f 66 69 67 75 72 65 3e 0a .</span>.</samp></pre></figure>.
bcd80 0a 20 20 20 20 20 20 3c 70 3e 41 74 20 72 75 6e 74 69 6d 65 3a 3c 2f 70 3e 0a 20 20 20 20 20 20 .......<p>At.runtime:</p>.......
bcda0 3c 66 69 67 75 72 65 3e 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
bcdc0 61 70 22 3e 3c 63 69 74 65 20 63 6c 61 73 73 3d 22 66 69 6c 65 22 3e 72 75 6e 74 69 6d 65 5f 72 ap"><cite.class="file">runtime_r
bcde0 65 61 63 68 69 6e 67 5f 75 6e 72 65 61 63 68 61 62 6c 65 2e 7a 69 67 3c 2f 63 69 74 65 3e 3c 2f eaching_unreachable.zig</cite></
bce00 66 69 67 63 61 70 74 69 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
bce20 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
bce40 70 61 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<
bce60 2f 73 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
bce80 6f 74 3b 73 74 64 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 29 3b 0a 0a 3c 73 70 61 6e 20 63 6c 61 ot;std&quot;</span>);..<span.cla
bcea0 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
bcec0 73 73 3d 22 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
bcee0 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
bcf00 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 76 6f 69 64 3c 2f 73 70 61 6e 3e 20 7b 0a 20 20 lass="tok-type">void</span>.{...
bcf20 20 20 73 74 64 2e 64 65 62 75 67 2e 61 73 73 65 72 74 28 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 ..std.debug.assert(<span.class="
bcf40 74 6f 6b 2d 6e 75 6c 6c 22 3e 66 61 6c 73 65 3c 2f 73 70 61 6e 3e 29 3b 0a 7d 3c 2f 63 6f 64 65 tok-null">false</span>);.}</code
bcf60 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
bcf80 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
bcfa0 63 61 70 74 69 6f 6e 3e 3c 70 72 65 3e 3c 73 61 6d 70 3e 24 20 3c 6b 62 64 3e 7a 69 67 20 62 75 caption><pre><samp>$.<kbd>zig.bu
bcfc0 69 6c 64 2d 65 78 65 20 72 75 6e 74 69 6d 65 5f 72 65 61 63 68 69 6e 67 5f 75 6e 72 65 61 63 68 ild-exe.runtime_reaching_unreach
bcfe0 61 62 6c 65 2e 7a 69 67 3c 2f 6b 62 64 3e 0a 24 20 3c 6b 62 64 3e 2e 2f 72 75 6e 74 69 6d 65 5f able.zig</kbd>.$.<kbd>./runtime_
bd000 72 65 61 63 68 69 6e 67 5f 75 6e 72 65 61 63 68 61 62 6c 65 3c 2f 6b 62 64 3e 0a 74 68 72 65 61 reaching_unreachable</kbd>.threa
bd020 64 20 32 33 34 32 34 30 20 70 61 6e 69 63 3a 20 72 65 61 63 68 65 64 20 75 6e 72 65 61 63 68 61 d.234240.panic:.reached.unreacha
bd040 62 6c 65 20 63 6f 64 65 0a 2f 68 6f 6d 65 2f 63 69 2f 77 6f 72 6b 2f 7a 69 67 2d 62 6f 6f 74 73 ble.code./home/ci/work/zig-boots
bd060 74 72 61 70 2f 6f 75 74 2f 68 6f 73 74 2f 6c 69 62 2f 7a 69 67 2f 73 74 64 2f 64 65 62 75 67 2e trap/out/host/lib/zig/std/debug.
bd080 7a 69 67 3a 34 32 33 3a 31 34 3a 20 30 78 31 30 32 36 65 61 39 20 69 6e 20 61 73 73 65 72 74 20 zig:423:14:.0x1026ea9.in.assert.
bd0a0 28 73 74 64 2e 7a 69 67 29 0a 20 20 20 20 69 66 20 28 21 6f 6b 29 20 75 6e 72 65 61 63 68 61 62 (std.zig).....if.(!ok).unreachab
bd0c0 6c 65 3b 20 2f 2f 20 61 73 73 65 72 74 69 6f 6e 20 66 61 69 6c 75 72 65 0a 20 20 20 20 20 20 20 le;.//.assertion.failure........
bd0e0 20 20 20 20 20 20 5e 0a 2f 68 6f 6d 65 2f 63 69 2f 77 6f 72 6b 2f 7a 69 67 2d 62 6f 6f 74 73 74 ......^./home/ci/work/zig-bootst
bd100 72 61 70 2f 7a 69 67 2f 64 6f 63 2f 6c 61 6e 67 72 65 66 2f 72 75 6e 74 69 6d 65 5f 72 65 61 63 rap/zig/doc/langref/runtime_reac
bd120 68 69 6e 67 5f 75 6e 72 65 61 63 68 61 62 6c 65 2e 7a 69 67 3a 34 3a 32 31 3a 20 30 78 31 31 64 hing_unreachable.zig:4:21:.0x11d
bd140 39 30 33 65 20 69 6e 20 6d 61 69 6e 20 28 72 75 6e 74 69 6d 65 5f 72 65 61 63 68 69 6e 67 5f 75 903e.in.main.(runtime_reaching_u
bd160 6e 72 65 61 63 68 61 62 6c 65 2e 7a 69 67 29 0a 20 20 20 20 73 74 64 2e 64 65 62 75 67 2e 61 73 nreachable.zig).....std.debug.as
bd180 73 65 72 74 28 66 61 6c 73 65 29 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 sert(false);....................
bd1a0 20 5e 0a 2f 68 6f 6d 65 2f 63 69 2f 77 6f 72 6b 2f 7a 69 67 2d 62 6f 6f 74 73 74 72 61 70 2f 6f .^./home/ci/work/zig-bootstrap/o
bd1c0 75 74 2f 68 6f 73 74 2f 6c 69 62 2f 7a 69 67 2f 73 74 64 2f 73 74 61 72 74 2e 7a 69 67 3a 37 32 ut/host/lib/zig/std/start.zig:72
bd1e0 32 3a 35 39 3a 20 30 78 31 31 64 38 39 35 31 20 69 6e 20 63 61 6c 6c 4d 61 69 6e 20 28 73 74 64 2:59:.0x11d8951.in.callMain.(std
bd200 2e 7a 69 67 29 0a 20 20 20 20 69 66 20 28 66 6e 5f 69 6e 66 6f 2e 70 61 72 61 6d 73 2e 6c 65 6e .zig).....if.(fn_info.params.len
bd220 20 3d 3d 20 30 29 20 72 65 74 75 72 6e 20 77 72 61 70 4d 61 69 6e 28 72 6f 6f 74 2e 6d 61 69 6e .==.0).return.wrapMain(root.main
bd240 28 29 29 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ());............................
bd260 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 5e ...............................^
bd280 0a 2f 68 6f 6d 65 2f 63 69 2f 77 6f 72 6b 2f 7a 69 67 2d 62 6f 6f 74 73 74 72 61 70 2f 6f 75 74 ./home/ci/work/zig-bootstrap/out
bd2a0 2f 68 6f 73 74 2f 6c 69 62 2f 7a 69 67 2f 73 74 64 2f 73 74 61 72 74 2e 7a 69 67 3a 32 30 34 3a /host/lib/zig/std/start.zig:204:
bd2c0 35 3a 20 30 78 31 31 64 38 33 38 31 20 69 6e 20 5f 73 74 61 72 74 20 28 73 74 64 2e 7a 69 67 29 5:.0x11d8381.in._start.(std.zig)
bd2e0 0a 20 20 20 20 61 73 6d 20 76 6f 6c 61 74 69 6c 65 20 28 73 77 69 74 63 68 20 28 6e 61 74 69 76 .....asm.volatile.(switch.(nativ
bd300 65 5f 61 72 63 68 29 20 7b 0a 20 20 20 20 5e 0a 28 70 72 6f 63 65 73 73 20 74 65 72 6d 69 6e 61 e_arch).{.....^.(process.termina
bd320 74 65 64 20 62 79 20 73 69 67 6e 61 6c 29 0a 3c 2f 73 61 6d 70 3e 3c 2f 70 72 65 3e 3c 2f 66 69 ted.by.signal).</samp></pre></fi
bd340 67 75 72 65 3e 0a 0a 20 20 20 20 20 20 0a 20 20 20 20 20 20 3c 68 33 20 69 64 3d 22 49 6e 64 65 gure>...............<h3.id="Inde
bd360 78 2d 6f 75 74 2d 6f 66 2d 42 6f 75 6e 64 73 22 3e 3c 61 20 68 72 65 66 3d 22 6e 61 76 2e 78 68 x-out-of-Bounds"><a.href="nav.xh
bd380 74 6d 6c 23 74 6f 63 2d 49 6e 64 65 78 2d 6f 75 74 2d 6f 66 2d 42 6f 75 6e 64 73 22 3e 49 6e 64 tml#toc-Index-out-of-Bounds">Ind
bd3a0 65 78 20 6f 75 74 20 6f 66 20 42 6f 75 6e 64 73 3c 2f 61 3e 20 3c 61 20 63 6c 61 73 73 3d 22 68 ex.out.of.Bounds</a>.<a.class="h
bd3c0 64 72 22 20 68 72 65 66 3d 22 23 49 6e 64 65 78 2d 6f 75 74 2d 6f 66 2d 42 6f 75 6e 64 73 22 3e dr".href="#Index-out-of-Bounds">
bd3e0 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
bd400 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
bd420 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
bd440 3d 22 66 69 6c 65 22 3e 74 65 73 74 5f 63 6f 6d 70 74 69 6d 65 5f 69 6e 64 65 78 5f 6f 75 74 5f ="file">test_comptime_index_out_
bd460 6f 66 5f 62 6f 75 6e 64 73 2e 7a 69 67 3c 2f 63 69 74 65 3e 3c 2f 66 69 67 63 61 70 74 69 6f 6e of_bounds.zig</cite></figcaption
bd480 3e 3c 70 72 65 3e 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 ><pre><code><span.class="tok-kw"
bd4a0 3e 63 6f 6d 70 74 69 6d 65 3c 2f 73 70 61 6e 3e 20 7b 0a 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 >comptime</span>.{.....<span.cla
bd4c0 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 63 6f 6e 73 74 3c 2f 73 70 61 6e 3e 20 61 72 72 61 79 3a 20 ss="tok-kw">const</span>.array:.
bd4e0 5b 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 35 3c 2f 73 70 61 [<span.class="tok-number">5</spa
bd500 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
bd520 61 6e 3e 20 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 73 74 72 22 3e 26 71 75 6f an>.=.<span.class="tok-str">&quo
bd540 74 3b 68 65 6c 6c 6f 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 2e 2a 3b 0a 20 20 20 20 3c 73 70 61 t;hello&quot;</span>.*;.....<spa
bd560 6e 20 63 6c 61 73 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 n.class="tok-kw">const</span>.ga
bd580 72 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 rbage.=.array[<span.class="tok-n
bd5a0 75 6d 62 65 72 22 3e 35 3c 2f 73 70 61 6e 3e 5d 3b 0a 20 20 20 20 5f 20 3d 20 67 61 72 62 61 67 umber">5</span>];....._.=.garbag
bd5c0 65 3b 0a 7d 3c 2f 63 6f 64 65 3e 3c 2f 70 72 65 3e 3c 2f 66 69 67 75 72 65 3e 3c 66 69 67 75 72 e;.}</code></pre></figure><figur
bd5e0 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">
bd600 53 68 65 6c 6c 3c 2f 66 69 67 63 61 70 74 69 6f 6e 3e 3c 70 72 65 3e 3c 73 61 6d 70 3e 24 20 3c Shell</figcaption><pre><samp>$.<
bd620 6b 62 64 3e 7a 69 67 20 74 65 73 74 20 74 65 73 74 5f 63 6f 6d 70 74 69 6d 65 5f 69 6e 64 65 78 kbd>zig.test.test_comptime_index
bd640 5f 6f 75 74 5f 6f 66 5f 62 6f 75 6e 64 73 2e 7a 69 67 3c 2f 6b 62 64 3e 0a 3c 73 70 61 6e 20 63 _out_of_bounds.zig</kbd>.<span.c
bd660 6c 61 73 73 3d 22 73 67 72 2d 31 6d 22 3e 2f 68 6f 6d 65 2f 63 69 2f 77 6f 72 6b 2f 7a 69 67 2d lass="sgr-1m">/home/ci/work/zig-
bd680 62 6f 6f 74 73 74 72 61 70 2f 7a 69 67 2f 64 6f 63 2f 6c 61 6e 67 72 65 66 2f 74 65 73 74 5f 63 bootstrap/zig/doc/langref/test_c
bd6a0 6f 6d 70 74 69 6d 65 5f 69 6e 64 65 78 5f 6f 75 74 5f 6f 66 5f 62 6f 75 6e 64 73 2e 7a 69 67 3a omptime_index_out_of_bounds.zig:
bd6c0 33 3a 32 37 3a 20 3c 2f 73 70 61 6e 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 73 67 72 2d 33 31 3:27:.</span><span.class="sgr-31
bd6e0 6d 22 3e 65 72 72 6f 72 3a 20 3c 2f 73 70 61 6e 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 73 67 m">error:.</span><span.class="sg
bd700 72 2d 31 6d 22 3e 69 6e 64 65 78 20 35 20 6f 75 74 73 69 64 65 20 61 72 72 61 79 20 6f 66 20 6c r-1m">index.5.outside.array.of.l
bd720 65 6e 67 74 68 20 35 0a 3c 2f 73 70 61 6e 3e 20 20 20 20 63 6f 6e 73 74 20 67 61 72 62 61 67 65 ength.5.</span>....const.garbage
bd740 20 3d 20 61 72 72 61 79 5b 35 5d 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 .=.array[5];....................
bd760 20 20 20 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 73 67 72 2d 33 32 6d 22 3e 5e 0a 3c .......<span.class="sgr-32m">^.<
bd780 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 0a 20 /span>.</samp></pre></figure>...
bd7a0 20 20 20 20 20 3c 70 3e 41 74 20 72 75 6e 74 69 6d 65 3a 3c 2f 70 3e 0a 20 20 20 20 20 20 3c 66 .....<p>At.runtime:</p>.......<f
bd7c0 69 67 75 72 65 3e 3c 66 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
bd7e0 22 3e 3c 63 69 74 65 20 63 6c 61 73 73 3d 22 66 69 6c 65 22 3e 72 75 6e 74 69 6d 65 5f 69 6e 64 "><cite.class="file">runtime_ind
bd800 65 78 5f 6f 75 74 5f 6f 66 5f 62 6f 75 6e 64 73 2e 7a 69 67 3c 2f 63 69 74 65 3e 3c 2f 66 69 67 ex_out_of_bounds.zig</cite></fig
bd820 63 61 70 74 69 6f 6e 3e 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="
bd840 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="
bd860 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
bd880 6f 6b 2d 66 6e 22 3e 6d 61 69 6e 3c 2f 73 70 61 6e 3e 28 29 20 3c 73 70 61 6e 20 63 6c 61 73 73 ok-fn">main</span>().<span.class
bd8a0 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 76 6f 69 64 3c 2f 73 70 61 6e 3e 20 7b 0a 20 20 20 20 3c 73 ="tok-type">void</span>.{.....<s
bd8c0 70 61 6e 20 63 6c 61 73 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>.
bd8e0 78 20 3d 20 66 6f 6f 28 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 73 74 72 22 3e 26 71 x.=.foo(<span.class="tok-str">&q
bd900 75 6f 74 3b 68 65 6c 6c 6f 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 29 3b 0a 20 20 20 20 5f 20 3d uot;hello&quot;</span>);....._.=
bd920 20 78 3b 0a 7d 0a 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 66 6e 3c 2f .x;.}..<span.class="tok-kw">fn</
bd940 73 70 61 6e 3e 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 66 6e 22 3e 66 6f 6f 3c 2f span>.<span.class="tok-fn">foo</
bd960 73 70 61 6e 3e 28 78 3a 20 5b 5d 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e span>(x:.[]<span.class="tok-kw">
bd980 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
bd9a0 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-
bd9c0 74 79 70 65 22 3e 75 38 3c 2f 73 70 61 6e 3e 20 7b 0a 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 type">u8</span>.{.....<span.clas
bd9e0 73 3d 22 74 6f 6b 2d 6b 77 22 3e 72 65 74 75 72 6e 3c 2f 73 70 61 6e 3e 20 78 5b 3c 73 70 61 6e s="tok-kw">return</span>.x[<span
bda00 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 35 3c 2f 73 70 61 6e 3e 5d 3b 0a 7d .class="tok-number">5</span>];.}
bda20 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
bda40 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
bda60 6c 3c 2f 66 69 67 63 61 70 74 69 6f 6e 3e 3c 70 72 65 3e 3c 73 61 6d 70 3e 24 20 3c 6b 62 64 3e l</figcaption><pre><samp>$.<kbd>
bda80 7a 69 67 20 62 75 69 6c 64 2d 65 78 65 20 72 75 6e 74 69 6d 65 5f 69 6e 64 65 78 5f 6f 75 74 5f zig.build-exe.runtime_index_out_
bdaa0 6f 66 5f 62 6f 75 6e 64 73 2e 7a 69 67 3c 2f 6b 62 64 3e 0a 24 20 3c 6b 62 64 3e 2e 2f 72 75 6e of_bounds.zig</kbd>.$.<kbd>./run
bdac0 74 69 6d 65 5f 69 6e 64 65 78 5f 6f 75 74 5f 6f 66 5f 62 6f 75 6e 64 73 3c 2f 6b 62 64 3e 0a 74 time_index_out_of_bounds</kbd>.t
bdae0 68 72 65 61 64 20 32 33 33 34 35 39 20 70 61 6e 69 63 3a 20 69 6e 64 65 78 20 6f 75 74 20 6f 66 hread.233459.panic:.index.out.of
bdb00 20 62 6f 75 6e 64 73 3a 20 69 6e 64 65 78 20 35 2c 20 6c 65 6e 20 35 0a 2f 68 6f 6d 65 2f 63 69 .bounds:.index.5,.len.5./home/ci
bdb20 2f 77 6f 72 6b 2f 7a 69 67 2d 62 6f 6f 74 73 74 72 61 70 2f 7a 69 67 2f 64 6f 63 2f 6c 61 6e 67 /work/zig-bootstrap/zig/doc/lang
bdb40 72 65 66 2f 72 75 6e 74 69 6d 65 5f 69 6e 64 65 78 5f 6f 75 74 5f 6f 66 5f 62 6f 75 6e 64 73 2e ref/runtime_index_out_of_bounds.
bdb60 7a 69 67 3a 37 3a 31 33 3a 20 30 78 31 31 64 39 31 31 65 20 69 6e 20 66 6f 6f 20 28 72 75 6e 74 zig:7:13:.0x11d911e.in.foo.(runt
bdb80 69 6d 65 5f 69 6e 64 65 78 5f 6f 75 74 5f 6f 66 5f 62 6f 75 6e 64 73 2e 7a 69 67 29 0a 20 20 20 ime_index_out_of_bounds.zig)....
bdba0 20 72 65 74 75 72 6e 20 78 5b 35 5d 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 5e 0a 2f 68 6f 6d .return.x[5];.............^./hom
bdbc0 65 2f 63 69 2f 77 6f 72 6b 2f 7a 69 67 2d 62 6f 6f 74 73 74 72 61 70 2f 7a 69 67 2f 64 6f 63 2f e/ci/work/zig-bootstrap/zig/doc/
bdbe0 6c 61 6e 67 72 65 66 2f 72 75 6e 74 69 6d 65 5f 69 6e 64 65 78 5f 6f 75 74 5f 6f 66 5f 62 6f 75 langref/runtime_index_out_of_bou
bdc00 6e 64 73 2e 7a 69 67 3a 32 3a 31 38 3a 20 30 78 31 31 64 39 30 34 61 20 69 6e 20 6d 61 69 6e 20 nds.zig:2:18:.0x11d904a.in.main.
bdc20 28 72 75 6e 74 69 6d 65 5f 69 6e 64 65 78 5f 6f 75 74 5f 6f 66 5f 62 6f 75 6e 64 73 2e 7a 69 67 (runtime_index_out_of_bounds.zig
bdc40 29 0a 20 20 20 20 63 6f 6e 73 74 20 78 20 3d 20 66 6f 6f 28 26 71 75 6f 74 3b 68 65 6c 6c 6f 26 ).....const.x.=.foo(&quot;hello&
bdc60 71 75 6f 74 3b 29 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 5e 0a 2f 68 6f 6d 65 quot;);..................^./home
bdc80 2f 63 69 2f 77 6f 72 6b 2f 7a 69 67 2d 62 6f 6f 74 73 74 72 61 70 2f 6f 75 74 2f 68 6f 73 74 2f /ci/work/zig-bootstrap/out/host/
bdca0 6c 69 62 2f 7a 69 67 2f 73 74 64 2f 73 74 61 72 74 2e 7a 69 67 3a 37 32 32 3a 35 39 3a 20 30 78 lib/zig/std/start.zig:722:59:.0x
bdcc0 31 31 64 38 39 35 31 20 69 6e 20 63 61 6c 6c 4d 61 69 6e 20 28 73 74 64 2e 7a 69 67 29 0a 20 20 11d8951.in.callMain.(std.zig)...
bdce0 20 20 69 66 20 28 66 6e 5f 69 6e 66 6f 2e 70 61 72 61 6d 73 2e 6c 65 6e 20 3d 3d 20 30 29 20 72 ..if.(fn_info.params.len.==.0).r
bdd00 65 74 75 72 6e 20 77 72 61 70 4d 61 69 6e 28 72 6f 6f 74 2e 6d 61 69 6e 28 29 29 3b 0a 20 20 20 eturn.wrapMain(root.main());....
bdd20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ................................
bdd40 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 5e 0a 2f 68 6f 6d 65 2f 63 .......................^./home/c
bdd60 69 2f 77 6f 72 6b 2f 7a 69 67 2d 62 6f 6f 74 73 74 72 61 70 2f 6f 75 74 2f 68 6f 73 74 2f 6c 69 i/work/zig-bootstrap/out/host/li
bdd80 62 2f 7a 69 67 2f 73 74 64 2f 73 74 61 72 74 2e 7a 69 67 3a 32 30 34 3a 35 3a 20 30 78 31 31 64 b/zig/std/start.zig:204:5:.0x11d
bdda0 38 33 38 31 20 69 6e 20 5f 73 74 61 72 74 20 28 73 74 64 2e 7a 69 67 29 0a 20 20 20 20 61 73 6d 8381.in._start.(std.zig).....asm
bddc0 20 76 6f 6c 61 74 69 6c 65 20 28 73 77 69 74 63 68 20 28 6e 61 74 69 76 65 5f 61 72 63 68 29 20 .volatile.(switch.(native_arch).
bdde0 7b 0a 20 20 20 20 5e 0a 28 70 72 6f 63 65 73 73 20 74 65 72 6d 69 6e 61 74 65 64 20 62 79 20 73 {.....^.(process.terminated.by.s
bde00 69 67 6e 61 6c 29 0a 3c 2f 73 61 6d 70 3e 3c 2f 70 72 65 3e 3c 2f 66 69 67 75 72 65 3e 0a 0a 20 ignal).</samp></pre></figure>...
bde20 20 20 20 20 20 0a 20 20 20 20 20 20 3c 68 33 20 69 64 3d 22 43 61 73 74 2d 4e 65 67 61 74 69 76 ............<h3.id="Cast-Negativ
bde40 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 3c 61 e-Number-to-Unsigned-Integer"><a
bde60 20 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 4e 65 67 61 74 69 .href="nav.xhtml#toc-Cast-Negati
bde80 76 65 2d 4e 75 6d 62 65 72 2d 74 6f 2d 55 6e 73 69 67 6e 65 64 2d 49 6e 74 65 67 65 72 22 3e 43 ve-Number-to-Unsigned-Integer">C
bdea0 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 6e 65 64 20 ast.Negative.Number.to.Unsigned.
bdec0 49 6e 74 65 67 65 72 3c 2f 61 3e 20 3c 61 20 63 6c 61 73 73 3d 22 68 64 72 22 20 68 72 65 66 3d Integer</a>.<a.class="hdr".href=
bdee0 22 23 43 61 73 74 2d 4e 65 67 61 74 69 76 65 2d 4e 75 6d 62 65 72 2d 74 6f 2d 55 6e 73 69 67 6e "#Cast-Negative-Number-to-Unsign
bdf00 65 64 2d 49 6e 74 65 67 65 72 22 3e c2 a7 3c 2f 61 3e 3c 2f 68 33 3e 0a 0a 20 20 20 20 20 20 3c ed-Integer">..</a></h3>........<
bdf20 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
bdf40 67 75 72 65 3e 3c 66 69 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"
bdf60 3e 3c 63 69 74 65 20 63 6c 61 73 73 3d 22 66 69 6c 65 22 3e 74 65 73 74 5f 63 6f 6d 70 74 69 6d ><cite.class="file">test_comptim
bdf80 65 5f 69 6e 76 61 6c 69 64 5f 63 61 73 74 2e 7a 69 67 3c 2f 63 69 74 65 3e 3c 2f 66 69 67 63 61 e_invalid_cast.zig</cite></figca
bdfa0 70 74 69 6f 6e 3e 3c 70 72 65 3e 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f ption><pre><code><span.class="to
bdfc0 6b 2d 6b 77 22 3e 63 6f 6d 70 74 69 6d 65 3c 2f 73 70 61 6e 3e 20 7b 0a 20 20 20 20 3c 73 70 61 k-kw">comptime</span>.{.....<spa
bdfe0 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 63 6f 6e 73 74 3c 2f 73 70 61 6e 3e 20 76 61 n.class="tok-kw">const</span>.va
be000 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<
be020 2f 73 70 61 6e 3e 20 3d 20 2d 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 /span>.=.-<span.class="tok-numbe
be040 72 22 3e 31 3c 2f 73 70 61 6e 3e 3b 0a 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f r">1</span>;.....<span.class="to
be060 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 3a 20 3c 73 70 k-kw">const</span>.unsigned:.<sp
be080 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>.=
be0a0 20 3c 73 70 61 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
be0c0 61 73 74 3c 2f 73 70 61 6e 3e 28 76 61 6c 75 65 29 3b 0a 20 20 20 20 5f 20 3d 20 75 6e 73 69 67 ast</span>(value);....._.=.unsig
be0e0 6e 65 64 3b 0a 7d 3c 2f 63 6f 64 65 3e 3c 2f 70 72 65 3e 3c 2f 66 69 67 75 72 65 3e 3c 66 69 67 ned;.}</code></pre></figure><fig
be100 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
be120 22 3e 53 68 65 6c 6c 3c 2f 66 69 67 63 61 70 74 69 6f 6e 3e 3c 70 72 65 3e 3c 73 61 6d 70 3e 24 ">Shell</figcaption><pre><samp>$
be140 20 3c 6b 62 64 3e 7a 69 67 20 74 65 73 74 20 74 65 73 74 5f 63 6f 6d 70 74 69 6d 65 5f 69 6e 76 .<kbd>zig.test.test_comptime_inv
be160 61 6c 69 64 5f 63 61 73 74 2e 7a 69 67 3c 2f 6b 62 64 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d alid_cast.zig</kbd>.<span.class=
be180 22 73 67 72 2d 31 6d 22 3e 2f 68 6f 6d 65 2f 63 69 2f 77 6f 72 6b 2f 7a 69 67 2d 62 6f 6f 74 73 "sgr-1m">/home/ci/work/zig-boots
be1a0 74 72 61 70 2f 7a 69 67 2f 64 6f 63 2f 6c 61 6e 67 72 65 66 2f 74 65 73 74 5f 63 6f 6d 70 74 69 trap/zig/doc/langref/test_compti
be1c0 6d 65 5f 69 6e 76 61 6c 69 64 5f 63 61 73 74 2e 7a 69 67 3a 33 3a 33 36 3a 20 3c 2f 73 70 61 6e me_invalid_cast.zig:3:36:.</span
be1e0 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 73 67 72 2d 33 31 6d 22 3e 65 72 72 6f 72 3a 20 3c 2f ><span.class="sgr-31m">error:.</
be200 73 70 61 6e 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 73 67 72 2d 31 6d 22 3e 74 79 70 65 20 27 span><span.class="sgr-1m">type.'
be220 75 33 32 27 20 63 61 6e 6e 6f 74 20 72 65 70 72 65 73 65 6e 74 20 69 6e 74 65 67 65 72 20 76 61 u32'.cannot.represent.integer.va
be240 6c 75 65 20 27 2d 31 27 0a 3c 2f 73 70 61 6e 3e 20 20 20 20 63 6f 6e 73 74 20 75 6e 73 69 67 6e lue.'-1'.</span>....const.unsign
be260 65 64 3a 20 75 33 32 20 3d 20 40 69 6e 74 43 61 73 74 28 76 61 6c 75 65 29 3b 0a 20 20 20 20 20 ed:.u32.=.@intCast(value);......
be280 20 20 20 20 20 20 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
be2a0 70 61 6e 20 63 6c 61 73 73 3d 22 73 67 72 2d 33 32 6d 22 3e 5e 7e 7e 7e 7e 0a 3c 2f 73 70 61 6e pan.class="sgr-32m">^~~~~.</span
be2c0 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 20 >.</samp></pre></figure>........
be2e0 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
be300 3e 3c 66 69 67 63 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
be320 74 65 20 63 6c 61 73 73 3d 22 66 69 6c 65 22 3e 72 75 6e 74 69 6d 65 5f 69 6e 76 61 6c 69 64 5f te.class="file">runtime_invalid_
be340 63 61 73 74 2e 7a 69 67 3c 2f 63 69 74 65 3e 3c 2f 66 69 67 63 61 70 74 69 6f 6e 3e 3c 70 72 65 cast.zig</cite></figcaption><pre
be360 3e 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 63 6f 6e 73 ><code><span.class="tok-kw">cons
be380 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-
be3a0 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
be3c0 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
be3e0 70 61 6e 3e 29 3b 0a 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 70 75 62 pan>);..<span.class="tok-kw">pub
be400 3c 2f 73 70 61 6e 3e 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 66 6e 3c </span>.<span.class="tok-kw">fn<
be420 2f 73 70 61 6e 3e 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 66 6e 22 3e 6d 61 69 6e /span>.<span.class="tok-fn">main
be440 3c 2f 73 70 61 6e 3e 28 29 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 </span>().<span.class="tok-type"
be460 3e 76 6f 69 64 3c 2f 73 70 61 6e 3e 20 7b 0a 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 >void</span>.{.....<span.class="
be480 74 6f 6b 2d 6b 77 22 3e 76 61 72 3c 2f 73 70 61 6e 3e 20 76 61 6c 75 65 3a 20 3c 73 70 61 6e 20 tok-kw">var</span>.value:.<span.
be4a0 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 2d 3c class="tok-type">i32</span>.=.-<
be4c0 73 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>
be4e0 3b 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 63 6f 6d 6d 65 6e 74 22 3e 2f 2f 20 72 ;.<span.class="tok-comment">//.r
be500 75 6e 74 69 6d 65 2d 6b 6e 6f 77 6e 3c 2f 73 70 61 6e 3e 0a 20 20 20 20 5f 20 3d 20 26 61 6d 70 untime-known</span>....._.=.&amp
be520 3b 76 61 6c 75 65 3b 0a 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 ;value;.....<span.class="tok-kw"
be540 3e 63 6f 6e 73 74 3c 2f 73 70 61 6e 3e 20 75 6e 73 69 67 6e 65 64 3a 20 3c 73 70 61 6e 20 63 6c >const</span>.unsigned:.<span.cl
be560 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
be580 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 62 75 69 6c 74 69 6e 22 3e 40 69 6e 74 43 61 73 74 3c 2f n.class="tok-builtin">@intCast</
be5a0 73 70 61 6e 3e 28 76 61 6c 75 65 29 3b 0a 20 20 20 20 73 74 64 2e 64 65 62 75 67 2e 70 72 69 6e span>(value);.....std.debug.prin
be5c0 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
be5e0 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
be600 65 64 7d 29 3b 0a 7d 3c 2f 63 6f 64 65 3e 3c 2f 70 72 65 3e 3c 2f 66 69 67 75 72 65 3e 3c 66 69 ed});.}</code></pre></figure><fi
be620 67 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
be640 70 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>
be660 24 20 3c 6b 62 64 3e 7a 69 67 20 62 75 69 6c 64 2d 65 78 65 20 72 75 6e 74 69 6d 65 5f 69 6e 76 $.<kbd>zig.build-exe.runtime_inv
be680 61 6c 69 64 5f 63 61 73 74 2e 7a 69 67 3c 2f 6b 62 64 3e 0a 24 20 3c 6b 62 64 3e 2e 2f 72 75 6e alid_cast.zig</kbd>.$.<kbd>./run
be6a0 74 69 6d 65 5f 69 6e 76 61 6c 69 64 5f 63 61 73 74 3c 2f 6b 62 64 3e 0a 74 68 72 65 61 64 20 32 time_invalid_cast</kbd>.thread.2
be6c0 33 31 37 32 34 20 70 61 6e 69 63 3a 20 69 6e 74 65 67 65 72 20 64 6f 65 73 20 6e 6f 74 20 66 69 31724.panic:.integer.does.not.fi
be6e0 74 20 69 6e 20 64 65 73 74 69 6e 61 74 69 6f 6e 20 74 79 70 65 0a 2f 68 6f 6d 65 2f 63 69 2f 77 t.in.destination.type./home/ci/w
be700 6f 72 6b 2f 7a 69 67 2d 62 6f 6f 74 73 74 72 61 70 2f 7a 69 67 2f 64 6f 63 2f 6c 61 6e 67 72 65 ork/zig-bootstrap/zig/doc/langre
be720 66 2f 72 75 6e 74 69 6d 65 5f 69 6e 76 61 6c 69 64 5f 63 61 73 74 2e 7a 69 67 3a 36 3a 32 37 3a f/runtime_invalid_cast.zig:6:27:
be740 20 30 78 31 31 64 39 30 34 66 20 69 6e 20 6d 61 69 6e 20 28 72 75 6e 74 69 6d 65 5f 69 6e 76 61 .0x11d904f.in.main.(runtime_inva
be760 6c 69 64 5f 63 61 73 74 2e 7a 69 67 29 0a 20 20 20 20 63 6f 6e 73 74 20 75 6e 73 69 67 6e 65 64 lid_cast.zig).....const.unsigned
be780 3a 20 75 33 32 20 3d 20 40 69 6e 74 43 61 73 74 28 76 61 6c 75 65 29 3b 0a 20 20 20 20 20 20 20 :.u32.=.@intCast(value);........
be7a0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 5e 0a 2f 68 6f 6d 65 2f 63 69 2f 77 6f ...................^./home/ci/wo
be7c0 72 6b 2f 7a 69 67 2d 62 6f 6f 74 73 74 72 61 70 2f 6f 75 74 2f 68 6f 73 74 2f 6c 69 62 2f 7a 69 rk/zig-bootstrap/out/host/lib/zi
be7e0 67 2f 73 74 64 2f 73 74 61 72 74 2e 7a 69 67 3a 37 32 32 3a 35 39 3a 20 30 78 31 31 64 38 39 35 g/std/start.zig:722:59:.0x11d895
be800 31 20 69 6e 20 63 61 6c 6c 4d 61 69 6e 20 28 73 74 64 2e 7a 69 67 29 0a 20 20 20 20 69 66 20 28 1.in.callMain.(std.zig).....if.(
be820 66 6e 5f 69 6e 66 6f 2e 70 61 72 61 6d 73 2e 6c 65 6e 20 3d 3d 20 30 29 20 72 65 74 75 72 6e 20 fn_info.params.len.==.0).return.
be840 77 72 61 70 4d 61 69 6e 28 72 6f 6f 74 2e 6d 61 69 6e 28 29 29 3b 0a 20 20 20 20 20 20 20 20 20 wrapMain(root.main());..........
be860 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ................................
be880 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 5e 0a 2f 68 6f 6d 65 2f 63 69 2f 77 6f 72 6b .................^./home/ci/work
be8a0 2f 7a 69 67 2d 62 6f 6f 74 73 74 72 61 70 2f 6f 75 74 2f 68 6f 73 74 2f 6c 69 62 2f 7a 69 67 2f /zig-bootstrap/out/host/lib/zig/
be8c0 73 74 64 2f 73 74 61 72 74 2e 7a 69 67 3a 32 30 34 3a 35 3a 20 30 78 31 31 64 38 33 38 31 20 69 std/start.zig:204:5:.0x11d8381.i
be8e0 6e 20 5f 73 74 61 72 74 20 28 73 74 64 2e 7a 69 67 29 0a 20 20 20 20 61 73 6d 20 76 6f 6c 61 74 n._start.(std.zig).....asm.volat
be900 69 6c 65 20 28 73 77 69 74 63 68 20 28 6e 61 74 69 76 65 5f 61 72 63 68 29 20 7b 0a 20 20 20 20 ile.(switch.(native_arch).{.....
be920 5e 0a 28 70 72 6f 63 65 73 73 20 74 65 72 6d 69 6e 61 74 65 64 20 62 79 20 73 69 67 6e 61 6c 29 ^.(process.terminated.by.signal)
be940 0a 3c 2f 73 61 6d 70 3e 3c 2f 70 72 65 3e 3c 2f 66 69 67 75 72 65 3e 0a 0a 20 20 20 20 20 20 3c .</samp></pre></figure>........<
be960 70 3e 0a 20 20 20 20 20 20 54 6f 20 6f 62 74 61 69 6e 20 74 68 65 20 6d 61 78 69 6d 75 6d 20 76 p>.......To.obtain.the.maximum.v
be980 61 6c 75 65 20 6f 66 20 61 6e 20 75 6e 73 69 67 6e 65 64 20 69 6e 74 65 67 65 72 2c 20 75 73 65 alue.of.an.unsigned.integer,.use
be9a0 20 3c 63 6f 64 65 3e 73 74 64 2e 6d 61 74 68 2e 6d 61 78 49 6e 74 3c 2f 63 6f 64 65 3e 2e 0a 20 .<code>std.math.maxInt</code>...
be9c0 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 43 .....</p>..............<h3.id="C
be9e0 61 73 74 2d 54 72 75 6e 63 61 74 65 73 2d 44 61 74 61 22 3e 3c 61 20 68 72 65 66 3d 22 6e 61 76 ast-Truncates-Data"><a.href="nav
bea00 2e 78 68 74 6d 6c 23 74 6f 63 2d 43 61 73 74 2d 54 72 75 6e 63 61 74 65 73 2d 44 61 74 61 22 3e .xhtml#toc-Cast-Truncates-Data">
bea20 43 61 73 74 20 54 72 75 6e 63 61 74 65 73 20 44 61 74 61 3c 2f 61 3e 20 3c 61 20 63 6c 61 73 73 Cast.Truncates.Data</a>.<a.class
bea40 3d 22 68 64 72 22 20 68 72 65 66 3d 22 23 43 61 73 74 2d 54 72 75 6e 63 61 74 65 73 2d 44 61 74 ="hdr".href="#Cast-Truncates-Dat
bea60 61 22 3e c2 a7 3c 2f 61 3e 3c 2f 68 33 3e 0a 0a 20 20 20 20 20 20 3c 70 3e 41 74 20 63 6f 6d 70 a">..</a></h3>........<p>At.comp
bea80 69 6c 65 2d 74 69 6d 65 3a 3c 2f 70 3e 0a 20 20 20 20 20 20 3c 66 69 67 75 72 65 3e 3c 66 69 67 ile-time:</p>.......<figure><fig
beaa0 63 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
beac0 61 73 73 3d 22 66 69 6c 65 22 3e 74 65 73 74 5f 63 6f 6d 70 74 69 6d 65 5f 69 6e 76 61 6c 69 64 ass="file">test_comptime_invalid
beae0 5f 63 61 73 74 5f 74 72 75 6e 63 61 74 65 2e 7a 69 67 3c 2f 63 69 74 65 3e 3c 2f 66 69 67 63 61 _cast_truncate.zig</cite></figca
beb00 70 74 69 6f 6e 3e 3c 70 72 65 3e 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f ption><pre><code><span.class="to
beb20 6b 2d 6b 77 22 3e 63 6f 6d 70 74 69 6d 65 3c 2f 73 70 61 6e 3e 20 7b 0a 20 20 20 20 3c 73 70 61 k-kw">comptime</span>.{.....<spa
beb40 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 63 6f 6e 73 74 3c 2f 73 70 61 6e 3e 20 73 70 n.class="tok-kw">const</span>.sp
beb60 61 72 74 61 6e 5f 63 6f 75 6e 74 3a 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 artan_count:.<span.class="tok-ty
beb80 70 65 22 3e 75 31 36 3c 2f 73 70 61 6e 3e 20 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f pe">u16</span>.=.<span.class="to
beba0 6b 2d 6e 75 6d 62 65 72 22 3e 33 30 30 3c 2f 73 70 61 6e 3e 3b 0a 20 20 20 20 3c 73 70 61 6e 20 k-number">300</span>;.....<span.
bebc0 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 63 6f 6e 73 74 3c 2f 73 70 61 6e 3e 20 62 79 74 65 class="tok-kw">const</span>.byte
bebe0 3a 20 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
bec00 6e 3e 20 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 62 75 69 6c 74 69 6e 22 3e 40 n>.=.<span.class="tok-builtin">@
bec20 69 6e 74 43 61 73 74 3c 2f 73 70 61 6e 3e 28 73 70 61 72 74 61 6e 5f 63 6f 75 6e 74 29 3b 0a 20 intCast</span>(spartan_count);..
bec40 20 20 20 5f 20 3d 20 62 79 74 65 3b 0a 7d 3c 2f 63 6f 64 65 3e 3c 2f 70 72 65 3e 3c 2f 66 69 67 ..._.=.byte;.}</code></pre></fig
bec60 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
bec80 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
beca0 3e 3c 73 61 6d 70 3e 24 20 3c 6b 62 64 3e 7a 69 67 20 74 65 73 74 20 74 65 73 74 5f 63 6f 6d 70 ><samp>$.<kbd>zig.test.test_comp
becc0 74 69 6d 65 5f 69 6e 76 61 6c 69 64 5f 63 61 73 74 5f 74 72 75 6e 63 61 74 65 2e 7a 69 67 3c 2f time_invalid_cast_truncate.zig</
bece0 6b 62 64 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 73 67 72 2d 31 6d 22 3e 2f 68 6f 6d 65 2f kbd>.<span.class="sgr-1m">/home/
bed00 63 69 2f 77 6f 72 6b 2f 7a 69 67 2d 62 6f 6f 74 73 74 72 61 70 2f 7a 69 67 2f 64 6f 63 2f 6c 61 ci/work/zig-bootstrap/zig/doc/la
bed20 6e 67 72 65 66 2f 74 65 73 74 5f 63 6f 6d 70 74 69 6d 65 5f 69 6e 76 61 6c 69 64 5f 63 61 73 74 ngref/test_comptime_invalid_cast
bed40 5f 74 72 75 6e 63 61 74 65 2e 7a 69 67 3a 33 3a 33 31 3a 20 3c 2f 73 70 61 6e 3e 3c 73 70 61 6e _truncate.zig:3:31:.</span><span
bed60 20 63 6c 61 73 73 3d 22 73 67 72 2d 33 31 6d 22 3e 65 72 72 6f 72 3a 20 3c 2f 73 70 61 6e 3e 3c .class="sgr-31m">error:.</span><
bed80 73 70 61 6e 20 63 6c 61 73 73 3d 22 73 67 72 2d 31 6d 22 3e 74 79 70 65 20 27 75 38 27 20 63 61 span.class="sgr-1m">type.'u8'.ca
beda0 6e 6e 6f 74 20 72 65 70 72 65 73 65 6e 74 20 69 6e 74 65 67 65 72 20 76 61 6c 75 65 20 27 33 30 nnot.represent.integer.value.'30
bedc0 30 27 0a 3c 2f 73 70 61 6e 3e 20 20 20 20 63 6f 6e 73 74 20 62 79 74 65 3a 20 75 38 20 3d 20 40 0'.</span>....const.byte:.u8.=.@
bede0 69 6e 74 43 61 73 74 28 73 70 61 72 74 61 6e 5f 63 6f 75 6e 74 29 3b 0a 20 20 20 20 20 20 20 20 intCast(spartan_count);.........
bee00 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 ......................<span.clas
bee20 73 3d 22 73 67 72 2d 33 32 6d 22 3e 5e 7e 7e 7e 7e 7e 7e 7e 7e 7e 7e 7e 7e 0a 3c 2f 73 70 61 6e s="sgr-32m">^~~~~~~~~~~~~.</span
bee40 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 20 >.</samp></pre></figure>........
bee60 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
bee80 3e 3c 66 69 67 63 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
beea0 74 65 20 63 6c 61 73 73 3d 22 66 69 6c 65 22 3e 72 75 6e 74 69 6d 65 5f 69 6e 76 61 6c 69 64 5f te.class="file">runtime_invalid_
beec0 63 61 73 74 5f 74 72 75 6e 63 61 74 65 2e 7a 69 67 3c 2f 63 69 74 65 3e 3c 2f 66 69 67 63 61 70 cast_truncate.zig</cite></figcap
beee0 74 69 6f 6e 3e 3c 70 72 65 3e 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b tion><pre><code><span.class="tok
bef00 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
bef20 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>
bef40 28 3c 73 70 61 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
bef60 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 29 3b 0a 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f &quot;</span>);..<span.class="to
bef80 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
befa0 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
befc0 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="
befe0 74 6f 6b 2d 74 79 70 65 22 3e 76 6f 69 64 3c 2f 73 70 61 6e 3e 20 7b 0a 20 20 20 20 3c 73 70 61 tok-type">void</span>.{.....<spa
bf000 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 76 61 72 3c 2f 73 70 61 6e 3e 20 73 70 61 72 n.class="tok-kw">var</span>.spar
bf020 74 61 6e 5f 63 6f 75 6e 74 3a 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 tan_count:.<span.class="tok-type
bf040 22 3e 75 31 36 3c 2f 73 70 61 6e 3e 20 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d ">u16</span>.=.<span.class="tok-
bf060 6e 75 6d 62 65 72 22 3e 33 30 30 3c 2f 73 70 61 6e 3e 3b 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d number">300</span>;.<span.class=
bf080 22 74 6f 6b 2d 63 6f 6d 6d 65 6e 74 22 3e 2f 2f 20 72 75 6e 74 69 6d 65 2d 6b 6e 6f 77 6e 3c 2f "tok-comment">//.runtime-known</
bf0a0 73 70 61 6e 3e 0a 20 20 20 20 5f 20 3d 20 26 61 6d 70 3b 73 70 61 72 74 61 6e 5f 63 6f 75 6e 74 span>....._.=.&amp;spartan_count
bf0c0 3b 0a 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 63 6f 6e 73 74 ;.....<span.class="tok-kw">const
bf0e0 3c 2f 73 70 61 6e 3e 20 62 79 74 65 3a 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 </span>.byte:.<span.class="tok-t
bf100 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
bf120 6b 2d 62 75 69 6c 74 69 6e 22 3e 40 69 6e 74 43 61 73 74 3c 2f 73 70 61 6e 3e 28 73 70 61 72 74 k-builtin">@intCast</span>(spart
bf140 61 6e 5f 63 6f 75 6e 74 29 3b 0a 20 20 20 20 73 74 64 2e 64 65 62 75 67 2e 70 72 69 6e 74 28 3c an_count);.....std.debug.print(<
bf160 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 73 74 72 22 3e 26 71 75 6f 74 3b 76 61 6c 75 65 span.class="tok-str">&quot;value
bf180 3a 20 7b 7d 5c 6e 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 2c 20 2e 7b 62 79 74 65 7d 29 3b 0a 7d :.{}\n&quot;</span>,..{byte});.}
bf1a0 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
bf1c0 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
bf1e0 6c 3c 2f 66 69 67 63 61 70 74 69 6f 6e 3e 3c 70 72 65 3e 3c 73 61 6d 70 3e 24 20 3c 6b 62 64 3e l</figcaption><pre><samp>$.<kbd>
bf200 7a 69 67 20 62 75 69 6c 64 2d 65 78 65 20 72 75 6e 74 69 6d 65 5f 69 6e 76 61 6c 69 64 5f 63 61 zig.build-exe.runtime_invalid_ca
bf220 73 74 5f 74 72 75 6e 63 61 74 65 2e 7a 69 67 3c 2f 6b 62 64 3e 0a 24 20 3c 6b 62 64 3e 2e 2f 72 st_truncate.zig</kbd>.$.<kbd>./r
bf240 75 6e 74 69 6d 65 5f 69 6e 76 61 6c 69 64 5f 63 61 73 74 5f 74 72 75 6e 63 61 74 65 3c 2f 6b 62 untime_invalid_cast_truncate</kb
bf260 64 3e 0a 74 68 72 65 61 64 20 32 33 32 36 35 39 20 70 61 6e 69 63 3a 20 69 6e 74 65 67 65 72 20 d>.thread.232659.panic:.integer.
bf280 64 6f 65 73 20 6e 6f 74 20 66 69 74 20 69 6e 20 64 65 73 74 69 6e 61 74 69 6f 6e 20 74 79 70 65 does.not.fit.in.destination.type
bf2a0 0a 2f 68 6f 6d 65 2f 63 69 2f 77 6f 72 6b 2f 7a 69 67 2d 62 6f 6f 74 73 74 72 61 70 2f 7a 69 67 ./home/ci/work/zig-bootstrap/zig
bf2c0 2f 64 6f 63 2f 6c 61 6e 67 72 65 66 2f 72 75 6e 74 69 6d 65 5f 69 6e 76 61 6c 69 64 5f 63 61 73 /doc/langref/runtime_invalid_cas
bf2e0 74 5f 74 72 75 6e 63 61 74 65 2e 7a 69 67 3a 36 3a 32 32 3a 20 30 78 31 31 64 39 30 35 30 20 69 t_truncate.zig:6:22:.0x11d9050.i
bf300 6e 20 6d 61 69 6e 20 28 72 75 6e 74 69 6d 65 5f 69 6e 76 61 6c 69 64 5f 63 61 73 74 5f 74 72 75 n.main.(runtime_invalid_cast_tru
bf320 6e 63 61 74 65 2e 7a 69 67 29 0a 20 20 20 20 63 6f 6e 73 74 20 62 79 74 65 3a 20 75 38 20 3d 20 ncate.zig).....const.byte:.u8.=.
bf340 40 69 6e 74 43 61 73 74 28 73 70 61 72 74 61 6e 5f 63 6f 75 6e 74 29 3b 0a 20 20 20 20 20 20 20 @intCast(spartan_count);........
bf360 20 20 20 20 20 20 20 20 20 20 20 20 20 20 5e 0a 2f 68 6f 6d 65 2f 63 69 2f 77 6f 72 6b 2f 7a 69 ..............^./home/ci/work/zi
bf380 67 2d 62 6f 6f 74 73 74 72 61 70 2f 6f 75 74 2f 68 6f 73 74 2f 6c 69 62 2f 7a 69 67 2f 73 74 64 g-bootstrap/out/host/lib/zig/std
bf3a0 2f 73 74 61 72 74 2e 7a 69 67 3a 37 32 32 3a 35 39 3a 20 30 78 31 31 64 38 39 35 31 20 69 6e 20 /start.zig:722:59:.0x11d8951.in.
bf3c0 63 61 6c 6c 4d 61 69 6e 20 28 73 74 64 2e 7a 69 67 29 0a 20 20 20 20 69 66 20 28 66 6e 5f 69 6e callMain.(std.zig).....if.(fn_in
bf3e0 66 6f 2e 70 61 72 61 6d 73 2e 6c 65 6e 20 3d 3d 20 30 29 20 72 65 74 75 72 6e 20 77 72 61 70 4d fo.params.len.==.0).return.wrapM
bf400 61 69 6e 28 72 6f 6f 74 2e 6d 61 69 6e 28 29 29 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ain(root.main());...............
bf420 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ................................
bf440 20 20 20 20 20 20 20 20 20 20 20 20 5e 0a 2f 68 6f 6d 65 2f 63 69 2f 77 6f 72 6b 2f 7a 69 67 2d ............^./home/ci/work/zig-
bf460 62 6f 6f 74 73 74 72 61 70 2f 6f 75 74 2f 68 6f 73 74 2f 6c 69 62 2f 7a 69 67 2f 73 74 64 2f 73 bootstrap/out/host/lib/zig/std/s
bf480 74 61 72 74 2e 7a 69 67 3a 32 30 34 3a 35 3a 20 30 78 31 31 64 38 33 38 31 20 69 6e 20 5f 73 74 tart.zig:204:5:.0x11d8381.in._st
bf4a0 61 72 74 20 28 73 74 64 2e 7a 69 67 29 0a 20 20 20 20 61 73 6d 20 76 6f 6c 61 74 69 6c 65 20 28 art.(std.zig).....asm.volatile.(
bf4c0 73 77 69 74 63 68 20 28 6e 61 74 69 76 65 5f 61 72 63 68 29 20 7b 0a 20 20 20 20 5e 0a 28 70 72 switch.(native_arch).{.....^.(pr
bf4e0 6f 63 65 73 73 20 74 65 72 6d 69 6e 61 74 65 64 20 62 79 20 73 69 67 6e 61 6c 29 0a 3c 2f 73 61 ocess.terminated.by.signal).</sa
bf500 6d 70 3e 3c 2f 70 72 65 3e 3c 2f 66 69 67 75 72 65 3e 0a 0a 20 20 20 20 20 20 3c 70 3e 0a 20 20 mp></pre></figure>........<p>...
bf520 20 20 20 20 54 6f 20 74 72 75 6e 63 61 74 65 20 62 69 74 73 2c 20 75 73 65 20 3c 61 20 68 72 65 ....To.truncate.bits,.use.<a.hre
bf540 66 3d 22 23 74 72 75 6e 63 61 74 65 22 3e 40 74 72 75 6e 63 61 74 65 3c 2f 61 3e 2e 0a 20 20 20 f="#truncate">@truncate</a>.....
bf560 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 49 6e 74 ...</p>..............<h3.id="Int
bf580 65 67 65 72 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 6d eger-Overflow"><a.href="nav.xhtm
bf5a0 6c 23 74 6f 63 2d 49 6e 74 65 67 65 72 2d 4f 76 65 72 66 6c 6f 77 22 3e 49 6e 74 65 67 65 72 20 l#toc-Integer-Overflow">Integer.
bf5c0 4f 76 65 72 66 6c 6f 77 3c 2f 61 3e 20 3c 61 20 63 6c 61 73 73 3d 22 68 64 72 22 20 68 72 65 66 Overflow</a>.<a.class="hdr".href
bf5e0 3d 22 23 49 6e 74 65 67 65 72 2d 4f 76 65 72 66 6c 6f 77 22 3e c2 a7 3c 2f 61 3e 3c 2f 68 33 3e ="#Integer-Overflow">..</a></h3>
bf600 0a 0a 20 20 20 20 20 20 3c 68 34 20 69 64 3d 22 44 65 66 61 75 6c 74 2d 4f 70 65 72 61 74 69 6f ........<h4.id="Default-Operatio
bf620 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 44 65 66 61 75 ns"><a.href="nav.xhtml#toc-Defau
bf640 6c 74 2d 4f 70 65 72 61 74 69 6f 6e 73 22 3e 44 65 66 61 75 6c 74 20 4f 70 65 72 61 74 69 6f 6e lt-Operations">Default.Operation
bf660 73 3c 2f 61 3e 20 3c 61 20 63 6c 61 73 73 3d 22 68 64 72 22 20 68 72 65 66 3d 22 23 44 65 66 61 s</a>.<a.class="hdr".href="#Defa
bf680 75 6c 74 2d 4f 70 65 72 61 74 69 6f 6e 73 22 3e c2 a7 3c 2f 61 3e 3c 2f 68 34 3e 0a 0a 20 20 20 ult-Operations">..</a></h4>.....
bf6a0 20 20 20 3c 70 3e 54 68 65 20 66 6f 6c 6c 6f 77 69 6e 67 20 6f 70 65 72 61 74 6f 72 73 20 63 61 ...<p>The.following.operators.ca
bf6c0 6e 20 63 61 75 73 65 20 69 6e 74 65 67 65 72 20 6f 76 65 72 66 6c 6f 77 3a 3c 2f 70 3e 0a 20 20 n.cause.integer.overflow:</p>...
bf6e0 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 2b 3c 2f ....<ul>...........<li><code>+</
bf700 63 6f 64 65 3e 20 28 61 64 64 69 74 69 6f 6e 29 3c 2f 6c 69 3e 0a 20 20 20 20 20 20 20 20 20 20 code>.(addition)</li>...........
bf720 3c 6c 69 3e 3c 63 6f 64 65 3e 2d 3c 2f 63 6f 64 65 3e 20 28 73 75 62 74 72 61 63 74 69 6f 6e 29 <li><code>-</code>.(subtraction)
bf740 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 2d 3c 2f 63 6f 64 </li>...........<li><code>-</cod
bf760 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 69 e>.(negation)</li>...........<li
bf780 3e 3c 63 6f 64 65 3e 2a 3c 2f 63 6f 64 65 3e 20 28 6d 75 6c 74 69 70 6c 69 63 61 74 69 6f 6e 29 ><code>*</code>.(multiplication)
bf7a0 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 2f 3c 2f 63 6f 64 </li>...........<li><code>/</cod
bf7c0 65 3e 20 28 64 69 76 69 73 69 6f 6e 29 3c 2f 6c 69 3e 0a 20 20 20 20 20 20 20 20 3c 6c 69 3e 3c e>.(division)</li>.........<li><
bf7e0 61 20 68 72 65 66 3d 22 23 64 69 76 54 72 75 6e 63 22 3e 40 64 69 76 54 72 75 6e 63 3c 2f 61 3e a.href="#divTrunc">@divTrunc</a>
bf800 20 28 64 69 76 69 73 69 6f 6e 29 3c 2f 6c 69 3e 0a 20 20 20 20 20 20 20 20 3c 6c 69 3e 3c 61 20 .(division)</li>.........<li><a.
bf820 68 72 65 66 3d 22 23 64 69 76 46 6c 6f 6f 72 22 3e 40 64 69 76 46 6c 6f 6f 72 3c 2f 61 3e 20 28 href="#divFloor">@divFloor</a>.(
bf840 64 69 76 69 73 69 6f 6e 29 3c 2f 6c 69 3e 0a 20 20 20 20 20 20 20 20 3c 6c 69 3e 3c 61 20 68 72 division)</li>.........<li><a.hr
bf860 65 66 3d 22 23 64 69 76 45 78 61 63 74 22 3e 40 64 69 76 45 78 61 63 74 3c 2f 61 3e 20 28 64 69 ef="#divExact">@divExact</a>.(di
bf880 76 69 73 69 6f 6e 29 3c 2f 6c 69 3e 0a 20 20 20 20 20 20 3c 2f 75 6c 3e 0a 20 20 20 20 20 20 3c vision)</li>.......</ul>.......<
bf8a0 70 3e 45 78 61 6d 70 6c 65 20 77 69 74 68 20 61 64 64 69 74 69 6f 6e 20 61 74 20 63 6f 6d 70 69 p>Example.with.addition.at.compi
bf8c0 6c 65 2d 74 69 6d 65 3a 3c 2f 70 3e 0a 20 20 20 20 20 20 3c 66 69 67 75 72 65 3e 3c 66 69 67 63 le-time:</p>.......<figure><figc
bf8e0 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
bf900 73 73 3d 22 66 69 6c 65 22 3e 74 65 73 74 5f 63 6f 6d 70 74 69 6d 65 5f 6f 76 65 72 66 6c 6f 77 ss="file">test_comptime_overflow
bf920 2e 7a 69 67 3c 2f 63 69 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
bf940 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 63 6f 6d 70 74 69 6d 65 de><span.class="tok-kw">comptime
bf960 3c 2f 73 70 61 6e 3e 20 7b 0a 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b </span>.{.....<span.class="tok-k
bf980 77 22 3e 76 61 72 3c 2f 73 70 61 6e 3e 20 62 79 74 65 3a 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d w">var</span>.byte:.<span.class=
bf9a0 22 74 6f 6b 2d 74 79 70 65 22 3e 75 38 3c 2f 73 70 61 6e 3e 20 3d 20 3c 73 70 61 6e 20 63 6c 61 "tok-type">u8</span>.=.<span.cla
bf9c0 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 32 35 35 3c 2f 73 70 61 6e 3e 3b 0a 20 20 20 20 ss="tok-number">255</span>;.....
bf9e0 62 79 74 65 20 2b 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 byte.+=.<span.class="tok-number"
bfa00 3e 31 3c 2f 73 70 61 6e 3e 3b 0a 7d 3c 2f 63 6f 64 65 3e 3c 2f 70 72 65 3e 3c 2f 66 69 67 75 72 >1</span>;.}</code></pre></figur
bfa20 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
bfa40 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><
bfa60 73 61 6d 70 3e 24 20 3c 6b 62 64 3e 7a 69 67 20 74 65 73 74 20 74 65 73 74 5f 63 6f 6d 70 74 69 samp>$.<kbd>zig.test.test_compti
bfa80 6d 65 5f 6f 76 65 72 66 6c 6f 77 2e 7a 69 67 3c 2f 6b 62 64 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 me_overflow.zig</kbd>.<span.clas
bfaa0 73 3d 22 73 67 72 2d 31 6d 22 3e 2f 68 6f 6d 65 2f 63 69 2f 77 6f 72 6b 2f 7a 69 67 2d 62 6f 6f s="sgr-1m">/home/ci/work/zig-boo
bfac0 74 73 74 72 61 70 2f 7a 69 67 2f 64 6f 63 2f 6c 61 6e 67 72 65 66 2f 74 65 73 74 5f 63 6f 6d 70 tstrap/zig/doc/langref/test_comp
bfae0 74 69 6d 65 5f 6f 76 65 72 66 6c 6f 77 2e 7a 69 67 3a 33 3a 31 30 3a 20 3c 2f 73 70 61 6e 3e 3c time_overflow.zig:3:10:.</span><
bfb00 73 70 61 6e 20 63 6c 61 73 73 3d 22 73 67 72 2d 33 31 6d 22 3e 65 72 72 6f 72 3a 20 3c 2f 73 70 span.class="sgr-31m">error:.</sp
bfb20 61 6e 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 73 67 72 2d 31 6d 22 3e 6f 76 65 72 66 6c 6f 77 an><span.class="sgr-1m">overflow
bfb40 20 6f 66 20 69 6e 74 65 67 65 72 20 74 79 70 65 20 27 75 38 27 20 77 69 74 68 20 76 61 6c 75 65 .of.integer.type.'u8'.with.value
bfb60 20 27 32 35 36 27 0a 3c 2f 73 70 61 6e 3e 20 20 20 20 62 79 74 65 20 2b 3d 20 31 3b 0a 20 20 20 .'256'.</span>....byte.+=.1;....
bfb80 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 73 67 72 2d 33 32 6d 22 3e 7e 7e 7e 7e 7e 5e 7e 7e 7e .<span.class="sgr-32m">~~~~~^~~~
bfba0 0a 3c 2f 73 70 61 6e 3e 0a 3c 2f 73 61 6d 70 3e 3c 2f 70 72 65 3e 3c 2f 66 69 67 75 72 65 3e 0a .</span>.</samp></pre></figure>.
bfbc0 0a 20 20 20 20 20 20 3c 70 3e 41 74 20 72 75 6e 74 69 6d 65 3a 3c 2f 70 3e 0a 20 20 20 20 20 20 .......<p>At.runtime:</p>.......
bfbe0 3c 66 69 67 75 72 65 3e 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
bfc00 61 70 22 3e 3c 63 69 74 65 20 63 6c 61 73 73 3d 22 66 69 6c 65 22 3e 72 75 6e 74 69 6d 65 5f 6f ap"><cite.class="file">runtime_o
bfc20 76 65 72 66 6c 6f 77 2e 7a 69 67 3c 2f 63 69 74 65 3e 3c 2f 66 69 67 63 61 70 74 69 6f 6e 3e 3c verflow.zig</cite></figcaption><
bfc40 70 72 65 3e 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 63 pre><code><span.class="tok-kw">c
bfc60 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
bfc80 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
bfca0 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;
bfcc0 3c 2f 73 70 61 6e 3e 29 3b 0a 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e </span>);..<span.class="tok-kw">
bfce0 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">
bfd00 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
bfd20 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
bfd40 70 65 22 3e 76 6f 69 64 3c 2f 73 70 61 6e 3e 20 7b 0a 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 pe">void</span>.{.....<span.clas
bfd60 73 3d 22 74 6f 6b 2d 6b 77 22 3e 76 61 72 3c 2f 73 70 61 6e 3e 20 62 79 74 65 3a 20 3c 73 70 61 s="tok-kw">var</span>.byte:.<spa
bfd80 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>.=.<
bfda0 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 32 35 35 3c 2f 73 70 61 span.class="tok-number">255</spa
bfdc0 6e 3e 3b 0a 20 20 20 20 62 79 74 65 20 2b 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b n>;.....byte.+=.<span.class="tok
bfde0 2d 6e 75 6d 62 65 72 22 3e 31 3c 2f 73 70 61 6e 3e 3b 0a 20 20 20 20 73 74 64 2e 64 65 62 75 67 -number">1</span>;.....std.debug
bfe00 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
bfe20 6f 74 3b 76 61 6c 75 65 3a 20 7b 7d 5c 6e 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 2c 20 2e 7b 62 ot;value:.{}\n&quot;</span>,..{b
bfe40 79 74 65 7d 29 3b 0a 7d 3c 2f 63 6f 64 65 3e 3c 2f 70 72 65 3e 3c 2f 66 69 67 75 72 65 3e 3c 66 yte});.}</code></pre></figure><f
bfe60 69 67 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
bfe80 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
bfea0 3e 24 20 3c 6b 62 64 3e 7a 69 67 20 62 75 69 6c 64 2d 65 78 65 20 72 75 6e 74 69 6d 65 5f 6f 76 >$.<kbd>zig.build-exe.runtime_ov
bfec0 65 72 66 6c 6f 77 2e 7a 69 67 3c 2f 6b 62 64 3e 0a 24 20 3c 6b 62 64 3e 2e 2f 72 75 6e 74 69 6d erflow.zig</kbd>.$.<kbd>./runtim
bfee0 65 5f 6f 76 65 72 66 6c 6f 77 3c 2f 6b 62 64 3e 0a 74 68 72 65 61 64 20 32 33 34 34 36 30 20 70 e_overflow</kbd>.thread.234460.p
bff00 61 6e 69 63 3a 20 69 6e 74 65 67 65 72 20 6f 76 65 72 66 6c 6f 77 0a 2f 68 6f 6d 65 2f 63 69 2f anic:.integer.overflow./home/ci/
bff20 77 6f 72 6b 2f 7a 69 67 2d 62 6f 6f 74 73 74 72 61 70 2f 7a 69 67 2f 64 6f 63 2f 6c 61 6e 67 72 work/zig-bootstrap/zig/doc/langr
bff40 65 66 2f 72 75 6e 74 69 6d 65 5f 6f 76 65 72 66 6c 6f 77 2e 7a 69 67 3a 35 3a 31 30 3a 20 30 78 ef/runtime_overflow.zig:5:10:.0x
bff60 31 31 64 39 30 36 35 20 69 6e 20 6d 61 69 6e 20 28 72 75 6e 74 69 6d 65 5f 6f 76 65 72 66 6c 6f 11d9065.in.main.(runtime_overflo
bff80 77 2e 7a 69 67 29 0a 20 20 20 20 62 79 74 65 20 2b 3d 20 31 3b 0a 20 20 20 20 20 20 20 20 20 5e w.zig).....byte.+=.1;..........^
bffa0 0a 2f 68 6f 6d 65 2f 63 69 2f 77 6f 72 6b 2f 7a 69 67 2d 62 6f 6f 74 73 74 72 61 70 2f 6f 75 74 ./home/ci/work/zig-bootstrap/out
bffc0 2f 68 6f 73 74 2f 6c 69 62 2f 7a 69 67 2f 73 74 64 2f 73 74 61 72 74 2e 7a 69 67 3a 37 32 32 3a /host/lib/zig/std/start.zig:722:
bffe0 35 39 3a 20 30 78 31 31 64 38 39 35 31 20 69 6e 20 63 61 6c 6c 4d 61 69 6e 20 28 73 74 64 2e 7a 59:.0x11d8951.in.callMain.(std.z
c0000 69 67 29 0a 20 20 20 20 69 66 20 28 66 6e 5f 69 6e 66 6f 2e 70 61 72 61 6d 73 2e 6c 65 6e 20 3d ig).....if.(fn_info.params.len.=
c0020 3d 20 30 29 20 72 65 74 75 72 6e 20 77 72 61 70 4d 61 69 6e 28 72 6f 6f 74 2e 6d 61 69 6e 28 29 =.0).return.wrapMain(root.main()
c0040 29 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 );..............................
c0060 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 5e 0a 2f .............................^./
c0080 68 6f 6d 65 2f 63 69 2f 77 6f 72 6b 2f 7a 69 67 2d 62 6f 6f 74 73 74 72 61 70 2f 6f 75 74 2f 68 home/ci/work/zig-bootstrap/out/h
c00a0 6f 73 74 2f 6c 69 62 2f 7a 69 67 2f 73 74 64 2f 73 74 61 72 74 2e 7a 69 67 3a 32 30 34 3a 35 3a ost/lib/zig/std/start.zig:204:5:
c00c0 20 30 78 31 31 64 38 33 38 31 20 69 6e 20 5f 73 74 61 72 74 20 28 73 74 64 2e 7a 69 67 29 0a 20 .0x11d8381.in._start.(std.zig)..
c00e0 20 20 20 61 73 6d 20 76 6f 6c 61 74 69 6c 65 20 28 73 77 69 74 63 68 20 28 6e 61 74 69 76 65 5f ...asm.volatile.(switch.(native_
c0100 61 72 63 68 29 20 7b 0a 20 20 20 20 5e 0a 28 70 72 6f 63 65 73 73 20 74 65 72 6d 69 6e 61 74 65 arch).{.....^.(process.terminate
c0120 64 20 62 79 20 73 69 67 6e 61 6c 29 0a 3c 2f 73 61 6d 70 3e 3c 2f 70 72 65 3e 3c 2f 66 69 67 75 d.by.signal).</samp></pre></figu
c0140 72 65 3e 0a 0a 20 20 20 20 20 20 0a 20 20 20 20 20 20 3c 68 34 20 69 64 3d 22 53 74 61 6e 64 61 re>...............<h4.id="Standa
c0160 72 64 2d 4c 69 62 72 61 72 79 2d 4d 61 74 68 2d 46 75 6e 63 74 69 6f 6e 73 22 3e 3c 61 20 68 72 rd-Library-Math-Functions"><a.hr
c0180 65 66 3d 22 6e 61 76 2e 78 68 74 6d 6c 23 74 6f 63 2d 53 74 61 6e 64 61 72 64 2d 4c 69 62 72 61 ef="nav.xhtml#toc-Standard-Libra
c01a0 72 79 2d 4d 61 74 68 2d 46 75 6e 63 74 69 6f 6e 73 22 3e 53 74 61 6e 64 61 72 64 20 4c 69 62 72 ry-Math-Functions">Standard.Libr
c01c0 61 72 79 20 4d 61 74 68 20 46 75 6e 63 74 69 6f 6e 73 3c 2f 61 3e 20 3c 61 20 63 6c 61 73 73 3d ary.Math.Functions</a>.<a.class=
c01e0 22 68 64 72 22 20 68 72 65 66 3d 22 23 53 74 61 6e 64 61 72 64 2d 4c 69 62 72 61 72 79 2d 4d 61 "hdr".href="#Standard-Library-Ma
c0200 74 68 2d 46 75 6e 63 74 69 6f 6e 73 22 3e c2 a7 3c 2f 61 3e 3c 2f 68 34 3e 0a 0a 20 20 20 20 20 th-Functions">..</a></h4>.......
c0220 20 3c 70 3e 54 68 65 73 65 20 66 75 6e 63 74 69 6f 6e 73 20 70 72 6f 76 69 64 65 64 20 62 79 20 .<p>These.functions.provided.by.
c0240 74 68 65 20 73 74 61 6e 64 61 72 64 20 6c 69 62 72 61 72 79 20 72 65 74 75 72 6e 20 70 6f 73 73 the.standard.library.return.poss
c0260 69 62 6c 65 20 65 72 72 6f 72 73 2e 3c 2f 70 3e 0a 20 20 20 20 20 20 3c 75 6c 3e 0a 20 20 20 20 ible.errors.</p>.......<ul>.....
c0280 20 20 20 20 20 20 3c 6c 69 3e 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b ......<li><code><span.class="tok
c02a0 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
c02c0 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;</
c02e0 73 70 61 6e 3e 29 2e 6d 61 74 68 2e 61 64 64 3c 2f 63 6f 64 65 3e 3c 2f 6c 69 3e 0a 20 20 20 20 span>).math.add</code></li>.....
c0300 20 20 20 20 20 20 3c 6c 69 3e 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b ......<li><code><span.class="tok
c0320 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
c0340 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;</
c0360 73 70 61 6e 3e 29 2e 6d 61 74 68 2e 73 75 62 3c 2f 63 6f 64 65 3e 3c 2f 6c 69 3e 0a 20 20 20 20 span>).math.sub</code></li>.....
c0380 20 20 20 20 20 20 3c 6c 69 3e 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b ......<li><code><span.class="tok
c03a0 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
c03c0 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;</
c03e0 73 70 61 6e 3e 29 2e 6d 61 74 68 2e 6d 75 6c 3c 2f 63 6f 64 65 3e 3c 2f 6c 69 3e 0a 20 20 20 20 span>).math.mul</code></li>.....
c0400 20 20 20 20 20 20 3c 6c 69 3e 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b ......<li><code><span.class="tok
c0420 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
c0440 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;</
c0460 73 70 61 6e 3e 29 2e 6d 61 74 68 2e 64 69 76 54 72 75 6e 63 3c 2f 63 6f 64 65 3e 3c 2f 6c 69 3e span>).math.divTrunc</code></li>
c0480 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
c04a0 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
c04c0 70 61 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
c04e0 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 63 6f 64 65 3e ot;</span>).math.divFloor</code>
c0500 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.
c0520 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
c0540 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
c0560 74 64 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 29 2e 6d 61 74 68 2e 64 69 76 45 78 61 63 74 3c 2f td&quot;</span>).math.divExact</
c0580 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><
c05a0 73 70 61 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
c05c0 3c 2f 73 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
c05e0 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 68 6c 3c 2f uot;std&quot;</span>).math.shl</
c0600 63 6f 64 65 3e 3c 2f 6c 69 3e 0a 20 20 20 20 20 20 3c 2f 75 6c 3e 0a 20 20 20 20 20 20 3c 70 3e code></li>.......</ul>.......<p>
c0620 45 78 61 6d 70 6c 65 20 6f 66 20 63 61 74 63 68 69 6e 67 20 61 6e 20 6f 76 65 72 66 6c 6f 77 20 Example.of.catching.an.overflow.
c0640 66 6f 72 20 61 64 64 69 74 69 6f 6e 3a 3c 2f 70 3e 0a 20 20 20 20 20 20 3c 66 69 67 75 72 65 3e for.addition:</p>.......<figure>
c0660 3c 66 69 67 63 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
c0680 65 20 63 6c 61 73 73 3d 22 66 69 6c 65 22 3e 6d 61 74 68 5f 61 64 64 2e 7a 69 67 3c 2f 63 69 74 e.class="file">math_add.zig</cit
c06a0 65 3e 3c 2f 66 69 67 63 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.
c06c0 63 6c 61 73 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 74 68 class="tok-kw">const</span>.math
c06e0 20 3d 20 3c 73 70 61 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
c0700 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
c0720 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 3b 0a ">&quot;std&quot;</span>).math;.
c0740 3c 73 70 61 6e 20 63 6c 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
c0760 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
c0780 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="
c07a0 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>)
c07c0 2e 64 65 62 75 67 2e 70 72 69 6e 74 3b 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b .debug.print;.<span.class="tok-k
c07e0 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
c0800 77 22 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
c0820 22 3e 6d 61 69 6e 3c 2f 73 70 61 6e 3e 28 29 20 21 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f ">main</span>().!<span.class="to
c0840 6b 2d 74 79 70 65 22 3e 76 6f 69 64 3c 2f 73 70 61 6e 3e 20 7b 0a 20 20 20 20 3c 73 70 61 6e 20 k-type">void</span>.{.....<span.
c0860 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 76 61 72 3c 2f 73 70 61 6e 3e 20 62 79 74 65 3a 20 class="tok-kw">var</span>.byte:.
c0880 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>
c08a0 20 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 32 35 35 3c .=.<span.class="tok-number">255<
c08c0 2f 73 70 61 6e 3e 3b 0a 0a 20 20 20 20 62 79 74 65 20 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d /span>;......byte.=.<span.class=
c08e0 22 74 6f 6b 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 "tok-kw">if</span>.(math.add(<sp
c0900 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 75 38 3c 2f 73 70 61 6e 3e 2c 20 62 an.class="tok-type">u8</span>,.b
c0920 79 74 65 2c 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 31 3c yte,.<span.class="tok-number">1<
c0940 2f 73 70 61 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 /span>)).|result|.result.<span.c
c0960 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|.
c0980 7b 0a 20 20 20 20 20 20 20 20 70 72 69 6e 74 28 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b {.........print(<span.class="tok
c09a0 2d 73 74 72 22 3e 26 71 75 6f 74 3b 75 6e 61 62 6c 65 20 74 6f 20 61 64 64 20 6f 6e 65 3a 20 7b -str">&quot;unable.to.add.one:.{
c09c0 73 7d 5c 6e 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 2c 20 2e 7b 3c 73 70 61 6e 20 63 6c 61 73 73 s}\n&quot;</span>,..{<span.class
c09e0 3d 22 74 6f 6b 2d 62 75 69 6c 74 69 6e 22 3e 40 65 72 72 6f 72 4e 61 6d 65 3c 2f 73 70 61 6e 3e ="tok-builtin">@errorName</span>
c0a00 28 65 72 72 29 7d 29 3b 0a 20 20 20 20 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f (err)});.........<span.class="to
c0a20 6b 2d 6b 77 22 3e 72 65 74 75 72 6e 3c 2f 73 70 61 6e 3e 20 65 72 72 3b 0a 20 20 20 20 7d 3b 0a k-kw">return</span>.err;.....};.
c0a40 0a 20 20 20 20 70 72 69 6e 74 28 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 73 74 72 22 .....print(<span.class="tok-str"
c0a60 3e 26 71 75 6f 74 3b 72 65 73 75 6c 74 3a 20 7b 7d 5c 6e 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e >&quot;result:.{}\n&quot;</span>
c0a80 2c 20 2e 7b 62 79 74 65 7d 29 3b 0a 7d 3c 2f 63 6f 64 65 3e 3c 2f 70 72 65 3e 3c 2f 66 69 67 75 ,..{byte});.}</code></pre></figu
c0aa0 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
c0ac0 65 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>
c0ae0 3c 73 61 6d 70 3e 24 20 3c 6b 62 64 3e 7a 69 67 20 62 75 69 6c 64 2d 65 78 65 20 6d 61 74 68 5f <samp>$.<kbd>zig.build-exe.math_
c0b00 61 64 64 2e 7a 69 67 3c 2f 6b 62 64 3e 0a 24 20 3c 6b 62 64 3e 2e 2f 6d 61 74 68 5f 61 64 64 3c add.zig</kbd>.$.<kbd>./math_add<
c0b20 2f 6b 62 64 3e 0a 75 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 /kbd>.unable.to.add.one:.Overflo
c0b40 77 0a 65 72 72 6f 72 3a 20 4f 76 65 72 66 6c 6f 77 0a 2f 68 6f 6d 65 2f 63 69 2f 77 6f 72 6b 2f w.error:.Overflow./home/ci/work/
c0b60 7a 69 67 2d 62 6f 6f 74 73 74 72 61 70 2f 6f 75 74 2f 68 6f 73 74 2f 6c 69 62 2f 7a 69 67 2f 73 zig-bootstrap/out/host/lib/zig/s
c0b80 74 64 2f 6d 61 74 68 2e 7a 69 67 3a 35 36 36 3a 32 31 3a 20 30 78 31 31 33 65 39 64 34 20 69 6e td/math.zig:566:21:.0x113e9d4.in
c0ba0 20 61 64 64 5f 5f 61 6e 6f 6e 5f 32 32 37 31 32 20 28 73 74 64 2e 7a 69 67 29 0a 20 20 20 20 69 .add__anon_22712.(std.zig).....i
c0bc0 66 20 28 6f 76 5b 31 5d 20 21 3d 20 30 29 20 72 65 74 75 72 6e 20 65 72 72 6f 72 2e 4f 76 65 72 f.(ov[1].!=.0).return.error.Over
c0be0 66 6c 6f 77 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 5e 0a 2f 68 6f 6d flow;.....................^./hom
c0c00 65 2f 63 69 2f 77 6f 72 6b 2f 7a 69 67 2d 62 6f 6f 74 73 74 72 61 70 2f 7a 69 67 2f 64 6f 63 2f e/ci/work/zig-bootstrap/zig/doc/
c0c20 6c 61 6e 67 72 65 66 2f 6d 61 74 68 5f 61 64 64 2e 7a 69 67 3a 38 3a 39 3a 20 30 78 31 31 64 38 langref/math_add.zig:8:9:.0x11d8
c0c40 34 33 66 20 69 6e 20 6d 61 69 6e 20 28 6d 61 74 68 5f 61 64 64 2e 7a 69 67 29 0a 20 20 20 20 20 43f.in.main.(math_add.zig)......
c0c60 20 20 20 72 65 74 75 72 6e 20 65 72 72 3b 0a 20 20 20 20 20 20 20 20 5e 0a 3c 2f 73 61 6d 70 3e ...return.err;.........^.</samp>
c0c80 3c 2f 70 72 65 3e 3c 2f 66 69 67 75 72 65 3e 0a 0a 20 20 20 20 20 20 0a 20 20 20 20 20 20 3c 68 </pre></figure>...............<h
c0ca0 34 20 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 4.id="Builtin-Overflow-Functions
c0cc0 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 74 69 6e "><a.href="nav.xhtml#toc-Builtin
c0ce0 2d 4f 76 65 72 66 6c 6f 77 2d 46 75 6e 63 74 69 6f 6e 73 22 3e 42 75 69 6c 74 69 6e 20 4f 76 65 -Overflow-Functions">Builtin.Ove
c0d00 72 66 6c 6f 77 20 46 75 6e 63 74 69 6f 6e 73 3c 2f 61 3e 20 3c 61 20 63 6c 61 73 73 3d 22 68 64 rflow.Functions</a>.<a.class="hd
c0d20 72 22 20 68 72 65 66 3d 22 23 42 75 69 6c 74 69 6e 2d 4f 76 65 72 66 6c 6f 77 2d 46 75 6e 63 74 r".href="#Builtin-Overflow-Funct
c0d40 69 6f 6e 73 22 3e c2 a7 3c 2f 61 3e 3c 2f 68 34 3e 0a 0a 20 20 20 20 20 20 3c 70 3e 0a 20 20 20 ions">..</a></h4>........<p>....
c0d60 20 20 20 54 68 65 73 65 20 62 75 69 6c 74 69 6e 73 20 72 65 74 75 72 6e 20 61 20 74 75 70 6c 65 ...These.builtins.return.a.tuple
c0d80 20 63 6f 6e 74 61 69 6e 69 6e 67 20 77 68 65 74 68 65 72 20 74 68 65 72 65 20 77 61 73 20 61 6e .containing.whether.there.was.an
c0da0 20 6f 76 65 72 66 6c 6f 77 0a 20 20 20 20 20 20 28 61 73 20 61 20 3c 63 6f 64 65 3e 3c 73 70 61 .overflow.......(as.a.<code><spa
c0dc0 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 63 6f n.class="tok-type">u1</span></co
c0de0 64 65 3e 29 20 61 6e 64 20 74 68 65 20 70 6f 73 73 69 62 6c 79 20 6f 76 65 72 66 6c 6f 77 65 64 de>).and.the.possibly.overflowed
c0e00 20 62 69 74 73 20 6f 66 20 74 68 65 20 6f 70 65 72 61 74 69 6f 6e 3a 0a 20 20 20 20 20 20 3c 2f .bits.of.the.operation:.......</
c0e20 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
c0e40 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
c0e60 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><
c0e80 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
c0ea0 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
c0ec0 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
c0ee0 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>..........
c0f00 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">
c0f20 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>.......
c0f40 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
c0f60 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
c0f80 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>....
c0fa0 20 20 20 3c 66 69 67 75 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
c0fc0 67 2d 63 61 70 22 3e 3c 63 69 74 65 20 63 6c 61 73 73 3d 22 66 69 6c 65 22 3e 61 64 64 57 69 74 g-cap"><cite.class="file">addWit
c0fe0 68 4f 76 65 72 66 6c 6f 77 5f 62 75 69 6c 74 69 6e 2e 7a 69 67 3c 2f 63 69 74 65 3e 3c 2f 66 69 hOverflow_builtin.zig</cite></fi
c1000 67 63 61 70 74 69 6f 6e 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=
c1020 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
c1040 70 61 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<
c1060 2f 73 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
c1080 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
c10a0 3b 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 70 75 62 3c 2f 73 70 61 6e ;.<span.class="tok-kw">pub</span
c10c0 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>
c10e0 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
c1100 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<
c1120 2f 73 70 61 6e 3e 20 7b 0a 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 /span>.{.....<span.class="tok-kw
c1140 22 3e 63 6f 6e 73 74 3c 2f 73 70 61 6e 3e 20 62 79 74 65 3a 20 3c 73 70 61 6e 20 63 6c 61 73 73 ">const</span>.byte:.<span.class
c1160 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 75 38 3c 2f 73 70 61 6e 3e 20 3d 20 3c 73 70 61 6e 20 63 6c ="tok-type">u8</span>.=.<span.cl
c1180 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 32 35 35 3c 2f 73 70 61 6e 3e 3b 0a 0a 20 20 ass="tok-number">255</span>;....
c11a0 20 20 3c 73 70 61 6e 20 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
c11c0 61 6e 3e 20 6f 76 20 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 62 75 69 6c 74 69 an>.ov.=.<span.class="tok-builti
c11e0 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 62 79 74 65 2c n">@addWithOverflow</span>(byte,
c1200 20 3c 73 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
c1220 61 6e 3e 29 3b 0a 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 69 an>);.....<span.class="tok-kw">i
c1240 66 3c 2f 73 70 61 6e 3e 20 28 6f 76 5b 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 f</span>.(ov[<span.class="tok-nu
c1260 6d 62 65 72 22 3e 31 3c 2f 73 70 61 6e 3e 5d 20 21 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 mber">1</span>].!=.<span.class="
c1280 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 30 3c 2f 73 70 61 6e 3e 29 20 7b 0a 20 20 20 20 20 20 20 20 tok-number">0</span>).{.........
c12a0 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
c12c0 74 3b 6f 76 65 72 66 6c 6f 77 65 64 20 72 65 73 75 6c 74 3a 20 7b 7d 5c 6e 26 71 75 6f 74 3b 3c t;overflowed.result:.{}\n&quot;<
c12e0 2f 73 70 61 6e 3e 2c 20 2e 7b 6f 76 5b 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 /span>,..{ov[<span.class="tok-nu
c1300 6d 62 65 72 22 3e 30 3c 2f 73 70 61 6e 3e 5d 7d 29 3b 0a 20 20 20 20 7d 20 3c 73 70 61 6e 20 63 mber">0</span>]});.....}.<span.c
c1320 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 0a 20 20 20 20 lass="tok-kw">else</span>.{.....
c1340 20 20 20 20 70 72 69 6e 74 28 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 73 74 72 22 3e ....print(<span.class="tok-str">
c1360 26 71 75 6f 74 3b 72 65 73 75 6c 74 3a 20 7b 7d 5c 6e 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 2c &quot;result:.{}\n&quot;</span>,
c1380 20 2e 7b 6f 76 5b 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 30 ..{ov[<span.class="tok-number">0
c13a0 3c 2f 73 70 61 6e 3e 5d 7d 29 3b 0a 20 20 20 20 7d 0a 7d 3c 2f 63 6f 64 65 3e 3c 2f 70 72 65 3e </span>]});.....}.}</code></pre>
c13c0 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
c13e0 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
c1400 3e 3c 70 72 65 3e 3c 73 61 6d 70 3e 24 20 3c 6b 62 64 3e 7a 69 67 20 62 75 69 6c 64 2d 65 78 65 ><pre><samp>$.<kbd>zig.build-exe
c1420 20 61 64 64 57 69 74 68 4f 76 65 72 66 6c 6f 77 5f 62 75 69 6c 74 69 6e 2e 7a 69 67 3c 2f 6b 62 .addWithOverflow_builtin.zig</kb
c1440 64 3e 0a 24 20 3c 6b 62 64 3e 2e 2f 61 64 64 57 69 74 68 4f 76 65 72 66 6c 6f 77 5f 62 75 69 6c d>.$.<kbd>./addWithOverflow_buil
c1460 74 69 6e 3c 2f 6b 62 64 3e 0a 6f 76 65 72 66 6c 6f 77 65 64 20 72 65 73 75 6c 74 3a 20 39 0a 3c tin</kbd>.overflowed.result:.9.<
c1480 2f 73 61 6d 70 3e 3c 2f 70 72 65 3e 3c 2f 66 69 67 75 72 65 3e 0a 0a 20 20 20 20 20 20 0a 20 20 /samp></pre></figure>...........
c14a0 20 20 20 20 3c 68 34 20 69 64 3d 22 57 72 61 70 70 69 6e 67 2d 4f 70 65 72 61 74 69 6f 6e 73 22 ....<h4.id="Wrapping-Operations"
c14c0 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 72 61 70 70 69 6e 67 ><a.href="nav.xhtml#toc-Wrapping
c14e0 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
c1500 3c 2f 61 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 </a>.<a.class="hdr".href="#Wrapp
c1520 69 6e 67 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 ing-Operations">..</a></h4>.....
c1540 20 20 20 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 ...<p>.......These.operations.ha
c1560 76 65 20 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 ve.guaranteed.wraparound.semanti
c1580 63 73 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 cs........</p>.......<ul>.......
c15a0 20 20 20 20 3c 6c 69 3e 3c 63 6f 64 65 3e 2b 25 3c 2f 63 6f 64 65 3e 20 28 77 72 61 70 61 72 6f ....<li><code>+%</code>.(wraparo
c15c0 75 6e 64 20 61 64 64 69 74 69 6f 6e 29 3c 2f 6c 69 3e 0a 20 20 20 20 20 20 20 20 20 20 3c 6c 69 und.addition)</li>...........<li
c15e0 3e 3c 63 6f 64 65 3e 2d 25 3c 2f 63 6f 64 65 3e 20 28 77 72 61 70 61 72 6f 75 6e 64 20 73 75 62 ><code>-%</code>.(wraparound.sub
c1600 74 72 61 63 74 69 6f 6e 29 3c 2f 6c 69 3e 0a 20 20 20 20 20 20 20 20 20 20 3c 6c 69 3e 3c 63 6f traction)</li>...........<li><co
c1620 64 65 3e 2d 25 3c 2f 63 6f 64 65 3e 20 28 77 72 61 70 61 72 6f 75 6e 64 20 6e 65 67 61 74 69 6f de>-%</code>.(wraparound.negatio
c1640 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 2a 25 3c 2f n)</li>...........<li><code>*%</
c1660 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 61 74 69 6f 6e code>.(wraparound.multiplication
c1680 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 69 67 75 72 65 )</li>.......</ul>.......<figure
c16a0 3e 3c 66 69 67 63 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
c16c0 74 65 20 63 6c 61 73 73 3d 22 66 69 6c 65 22 3e 74 65 73 74 5f 77 72 61 70 61 72 6f 75 6e 64 5f te.class="file">test_wraparound_
c16e0 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
c1700 3e 3c 70 72 65 3e 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 ><pre><code><span.class="tok-kw"
c1720 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=
c1740 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
c1760 61 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
c1780 74 3b 3c 2f 73 70 61 6e 3e 29 3b 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 t;</span>);.<span.class="tok-kw"
c17a0 3e 63 6f 6e 73 74 3c 2f 73 70 61 6e 3e 20 65 78 70 65 63 74 45 71 75 61 6c 20 3d 20 73 74 64 2e >const</span>.expectEqual.=.std.
c17c0 74 65 73 74 69 6e 67 2e 65 78 70 65 63 74 45 71 75 61 6c 3b 0a 3c 73 70 61 6e 20 63 6c 61 73 73 testing.expectEqual;.<span.class
c17e0 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 49 6e 74 20 3d 20 ="tok-kw">const</span>.minInt.=.
c1800 73 74 64 2e 6d 61 74 68 2e 6d 69 6e 49 6e 74 3b 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f std.math.minInt;.<span.class="to
c1820 6b 2d 6b 77 22 3e 63 6f 6e 73 74 3c 2f 73 70 61 6e 3e 20 6d 61 78 49 6e 74 20 3d 20 73 74 64 2e k-kw">const</span>.maxInt.=.std.
c1840 6d 61 74 68 2e 6d 61 78 49 6e 74 3b 0a 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b math.maxInt;..<span.class="tok-k
c1860 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-
c1880 73 74 72 22 3e 26 71 75 6f 74 3b 77 72 61 70 61 72 6f 75 6e 64 20 61 64 64 69 74 69 6f 6e 20 61 str">&quot;wraparound.addition.a
c18a0 6e 64 20 73 75 62 74 72 61 63 74 69 6f 6e 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 20 7b 0a 20 20 nd.subtraction&quot;</span>.{...
c18c0 20 20 3c 73 70 61 6e 20 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
c18e0 61 6e 3e 20 78 3a 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 69 33 an>.x:.<span.class="tok-type">i3
c1900 32 3c 2f 73 70 61 6e 3e 20 3d 20 6d 61 78 49 6e 74 28 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 2</span>.=.maxInt(<span.class="t
c1920 6f 6b 2d 74 79 70 65 22 3e 69 33 32 3c 2f 73 70 61 6e 3e 29 3b 0a 20 20 20 20 3c 73 70 61 6e 20 ok-type">i32</span>);.....<span.
c1940 63 6c 61 73 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 class="tok-kw">const</span>.min_
c1960 76 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 val.=.x.+%.<span.class="tok-numb
c1980 65 72 22 3e 31 3c 2f 73 70 61 6e 3e 3b 0a 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 er">1</span>;.....<span.class="t
c19a0 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 6d 69 ok-kw">try</span>.expectEqual(mi
c19c0 6e 49 6e 74 28 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 69 33 32 3c nInt(<span.class="tok-type">i32<
c19e0 2f 73 70 61 6e 3e 29 2c 20 6d 69 6e 5f 76 61 6c 29 3b 0a 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 /span>),.min_val);.....<span.cla
c1a00 73 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 78 5f 76 61 6c ss="tok-kw">const</span>.max_val
c1a20 20 3d 20 6d 69 6e 5f 76 61 6c 20 2d 25 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e .=.min_val.-%.<span.class="tok-n
c1a40 75 6d 62 65 72 22 3e 31 3c 2f 73 70 61 6e 3e 3b 0a 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 umber">1</span>;.....<span.class
c1a60 3d 22 74 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 ="tok-kw">try</span>.expectEqual
c1a80 28 6d 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 69 (maxInt(<span.class="tok-type">i
c1aa0 33 32 3c 2f 73 70 61 6e 3e 29 2c 20 6d 61 78 5f 76 61 6c 29 3b 0a 7d 3c 2f 63 6f 64 65 3e 3c 2f 32</span>),.max_val);.}</code></
c1ac0 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
c1ae0 20 63 6c 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
c1b00 74 69 6f 6e 3e 3c 70 72 65 3e 3c 73 61 6d 70 3e 24 20 3c 6b 62 64 3e 7a 69 67 20 74 65 73 74 20 tion><pre><samp>$.<kbd>zig.test.
c1b20 74 65 73 74 5f 77 72 61 70 61 72 6f 75 6e 64 5f 73 65 6d 61 6e 74 69 63 73 2e 7a 69 67 3c 2f 6b test_wraparound_semantics.zig</k
c1b40 62 64 3e 0a 31 2f 31 20 74 65 73 74 5f 77 72 61 70 61 72 6f 75 6e 64 5f 73 65 6d 61 6e 74 69 63 bd>.1/1.test_wraparound_semantic
c1b60 73 2e 74 65 73 74 2e 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 s.test.wraparound.addition.and.s
c1b80 75 62 74 72 61 63 74 69 6f 6e 2e 2e 2e 4f 4b 0a 41 6c 6c 20 31 20 74 65 73 74 73 20 70 61 73 73 ubtraction...OK.All.1.tests.pass
c1ba0 65 64 2e 0a 3c 2f 73 61 6d 70 3e 3c 2f 70 72 65 3e 3c 2f 66 69 67 75 72 65 3e 0a 0a 20 20 20 20 ed..</samp></pre></figure>......
c1bc0 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 2d 4c 65 ................<h3.id="Exact-Le
c1be0 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 61 76 2e ft-Shift-Overflow"><a.href="nav.
c1c00 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 65 72 66 xhtml#toc-Exact-Left-Shift-Overf
c1c20 6c 6f 77 22 3e 45 78 61 63 74 20 4c 65 66 74 20 53 68 69 66 74 20 4f 76 65 72 66 6c 6f 77 3c 2f low">Exact.Left.Shift.Overflow</
c1c40 61 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 4c a>.<a.class="hdr".href="#Exact-L
c1c60 65 66 74 2d 53 68 69 66 74 2d 4f 76 65 72 66 6c 6f 77 22 3e c2 a7 3c 2f 61 3e 3c 2f 68 33 3e 0a eft-Shift-Overflow">..</a></h3>.
c1c80 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>..
c1ca0 20 20 20 20 20 3c 66 69 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="
c1cc0 7a 69 67 2d 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
c1ce0 5f 63 6f 6d 70 74 69 6d 65 5f 73 68 6c 45 78 61 63 74 5f 6f 76 65 72 66 6c 6f 77 2e 7a 69 67 3c _comptime_shlExact_overflow.zig<
c1d00 2f 63 69 74 65 3e 3c 2f 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
c1d20 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
c1d40 6e 3e 20 7b 0a 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 63 6f n>.{.....<span.class="tok-kw">co
c1d60 6e 73 74 3c 2f 73 70 61 6e 3e 20 78 20 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d nst</span>.x.=.<span.class="tok-
c1d80 62 75 69 6c 74 69 6e 22 3e 40 73 68 6c 45 78 61 63 74 3c 2f 73 70 61 6e 3e 28 3c 73 70 61 6e 20 builtin">@shlExact</span>(<span.
c1da0 63 6c 61 73 73 3d 22 74 6f 6b 2d 62 75 69 6c 74 69 6e 22 3e 40 61 73 3c 2f 73 70 61 6e 3e 28 3c class="tok-builtin">@as</span>(<
c1dc0 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>,
c1de0 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 30 62 30 31 30 31 .<span.class="tok-number">0b0101
c1e00 30 31 30 31 3c 2f 73 70 61 6e 3e 29 2c 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 0101</span>),.<span.class="tok-n
c1e20 75 6d 62 65 72 22 3e 32 3c 2f 73 70 61 6e 3e 29 3b 0a 20 20 20 20 5f 20 3d 20 78 3b 0a 7d 3c 2f umber">2</span>);....._.=.x;.}</
c1e40 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
c1e60 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<
c1e80 2f 66 69 67 63 61 70 74 69 6f 6e 3e 3c 70 72 65 3e 3c 73 61 6d 70 3e 24 20 3c 6b 62 64 3e 7a 69 /figcaption><pre><samp>$.<kbd>zi
c1ea0 67 20 74 65 73 74 20 74 65 73 74 5f 63 6f 6d 70 74 69 6d 65 5f 73 68 6c 45 78 61 63 74 5f 6f 76 g.test.test_comptime_shlExact_ov
c1ec0 65 72 66 6c 6f 77 2e 7a 69 67 3c 2f 6b 62 64 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 73 67 erflow.zig</kbd>.<span.class="sg
c1ee0 72 2d 31 6d 22 3e 2f 68 6f 6d 65 2f 63 69 2f 77 6f 72 6b 2f 7a 69 67 2d 62 6f 6f 74 73 74 72 61 r-1m">/home/ci/work/zig-bootstra
c1f00 70 2f 7a 69 67 2f 64 6f 63 2f 6c 61 6e 67 72 65 66 2f 74 65 73 74 5f 63 6f 6d 70 74 69 6d 65 5f p/zig/doc/langref/test_comptime_
c1f20 73 68 6c 45 78 61 63 74 5f 6f 76 65 72 66 6c 6f 77 2e 7a 69 67 3a 32 3a 31 35 3a 20 3c 2f 73 70 shlExact_overflow.zig:2:15:.</sp
c1f40 61 6e 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 73 67 72 2d 33 31 6d 22 3e 65 72 72 6f 72 3a 20 an><span.class="sgr-31m">error:.
c1f60 3c 2f 73 70 61 6e 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 73 67 72 2d 31 6d 22 3e 6f 76 65 72 </span><span.class="sgr-1m">over
c1f80 66 6c 6f 77 20 6f 66 20 69 6e 74 65 67 65 72 20 74 79 70 65 20 27 75 38 27 20 77 69 74 68 20 76 flow.of.integer.type.'u8'.with.v
c1fa0 61 6c 75 65 20 27 33 34 30 27 0a 3c 2f 73 70 61 6e 3e 20 20 20 20 63 6f 6e 73 74 20 78 20 3d 20 alue.'340'.</span>....const.x.=.
c1fc0 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 31 30 31 29 2c 20 32 @shlExact(@as(u8,.0b01010101),.2
c1fe0 29 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 73 67 );...............<span.class="sg
c2000 72 2d 33 32 6d 22 3e 5e 7e 7e 7e 7e 7e 7e 7e 7e 7e 7e 7e 7e 7e 7e 7e 7e 7e 7e 7e 7e 7e 7e 7e 7e r-32m">^~~~~~~~~~~~~~~~~~~~~~~~~
c2020 7e 7e 7e 7e 7e 7e 7e 7e 0a 3c 2f 73 70 61 6e 3e 0a 3c 2f 73 61 6d 70 3e 3c 2f 70 72 65 3e 3c 2f ~~~~~~~~.</span>.</samp></pre></
c2040 66 69 67 75 72 65 3e 0a 0a 20 20 20 20 20 20 3c 70 3e 41 74 20 72 75 6e 74 69 6d 65 3a 3c 2f 70 figure>........<p>At.runtime:</p
c2060 3e 0a 20 20 20 20 20 20 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
c2080 73 3d 22 7a 69 67 2d 63 61 70 22 3e 3c 63 69 74 65 20 63 6c 61 73 73 3d 22 66 69 6c 65 22 3e 72 s="zig-cap"><cite.class="file">r
c20a0 75 6e 74 69 6d 65 5f 73 68 6c 45 78 61 63 74 5f 6f 76 65 72 66 6c 6f 77 2e 7a 69 67 3c 2f 63 69 untime_shlExact_overflow.zig</ci
c20c0 74 65 3e 3c 2f 66 69 67 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
c20e0 20 63 6c 61 73 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
c2100 20 3d 20 3c 73 70 61 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
c2120 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
c2140 22 3e 26 71 75 6f 74 3b 73 74 64 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 29 3b 0a 0a 3c 73 70 61 ">&quot;std&quot;</span>);..<spa
c2160 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
c2180 6e 20 63 6c 61 73 73 3d 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
c21a0 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
c21c0 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>
c21e0 20 7b 0a 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 76 61 72 3c .{.....<span.class="tok-kw">var<
c2200 2f 73 70 61 6e 3e 20 78 3a 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 /span>.x:.<span.class="tok-type"
c2220 3e 75 38 3c 2f 73 70 61 6e 3e 20 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 >u8</span>.=.<span.class="tok-nu
c2240 6d 62 65 72 22 3e 30 62 30 31 30 31 30 31 30 31 3c 2f 73 70 61 6e 3e 3b 20 3c 73 70 61 6e 20 63 mber">0b01010101</span>;.<span.c
c2260 6c 61 73 73 3d 22 74 6f 6b 2d 63 6f 6d 6d 65 6e 74 22 3e 2f 2f 20 72 75 6e 74 69 6d 65 2d 6b 6e lass="tok-comment">//.runtime-kn
c2280 6f 77 6e 3c 2f 73 70 61 6e 3e 0a 20 20 20 20 5f 20 3d 20 26 61 6d 70 3b 78 3b 0a 20 20 20 20 3c own</span>....._.=.&amp;x;.....<
c22a0 73 70 61 6e 20 63 6c 61 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>
c22c0 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 74 69 6e 22 3e 40 .y.=.<span.class="tok-builtin">@
c22e0 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 6c 61 73 73 3d 22 shlExact</span>(x,.<span.class="
c2300 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 32 3c 2f 73 70 61 6e 3e 29 3b 0a 20 20 20 20 73 74 64 2e 64 tok-number">2</span>);.....std.d
c2320 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"
c2340 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>,
c2360 20 2e 7b 79 7d 29 3b 0a 7d 3c 2f 63 6f 64 65 3e 3c 2f 70 72 65 3e 3c 2f 66 69 67 75 72 65 3e 3c ..{y});.}</code></pre></figure><
c2380 66 69 67 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-
c23a0 63 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
c23c0 70 3e 24 20 3c 6b 62 64 3e 7a 69 67 20 62 75 69 6c 64 2d 65 78 65 20 72 75 6e 74 69 6d 65 5f 73 p>$.<kbd>zig.build-exe.runtime_s
c23e0 68 6c 45 78 61 63 74 5f 6f 76 65 72 66 6c 6f 77 2e 7a 69 67 3c 2f 6b 62 64 3e 0a 24 20 3c 6b 62 hlExact_overflow.zig</kbd>.$.<kb
c2400 64 3e 2e 2f 72 75 6e 74 69 6d 65 5f 73 68 6c 45 78 61 63 74 5f 6f 76 65 72 66 6c 6f 77 3c 2f 6b d>./runtime_shlExact_overflow</k
c2420 62 64 3e 0a 74 68 72 65 61 64 20 32 33 32 39 35 32 20 70 61 6e 69 63 3a 20 6c 65 66 74 20 73 68 bd>.thread.232952.panic:.left.sh
c2440 69 66 74 20 6f 76 65 72 66 6c 6f 77 65 64 20 62 69 74 73 0a 2f 68 6f 6d 65 2f 63 69 2f 77 6f 72 ift.overflowed.bits./home/ci/wor
c2460 6b 2f 7a 69 67 2d 62 6f 6f 74 73 74 72 61 70 2f 7a 69 67 2f 64 6f 63 2f 6c 61 6e 67 72 65 66 2f k/zig-bootstrap/zig/doc/langref/
c2480 72 75 6e 74 69 6d 65 5f 73 68 6c 45 78 61 63 74 5f 6f 76 65 72 66 6c 6f 77 2e 7a 69 67 3a 36 3a runtime_shlExact_overflow.zig:6:
c24a0 35 3a 20 30 78 31 31 64 39 30 37 31 20 69 6e 20 6d 61 69 6e 20 28 72 75 6e 74 69 6d 65 5f 73 68 5:.0x11d9071.in.main.(runtime_sh
c24c0 6c 45 78 61 63 74 5f 6f 76 65 72 66 6c 6f 77 2e 7a 69 67 29 0a 20 20 20 20 63 6f 6e 73 74 20 79 lExact_overflow.zig).....const.y
c24e0 20 3d 20 40 73 68 6c 45 78 61 63 74 28 78 2c 20 32 29 3b 0a 20 20 20 20 5e 0a 2f 68 6f 6d 65 2f .=.@shlExact(x,.2);.....^./home/
c2500 63 69 2f 77 6f 72 6b 2f 7a 69 67 2d 62 6f 6f 74 73 74 72 61 70 2f 6f 75 74 2f 68 6f 73 74 2f 6c ci/work/zig-bootstrap/out/host/l
c2520 69 62 2f 7a 69 67 2f 73 74 64 2f 73 74 61 72 74 2e 7a 69 67 3a 37 32 32 3a 35 39 3a 20 30 78 31 ib/zig/std/start.zig:722:59:.0x1
c2540 31 64 38 39 35 31 20 69 6e 20 63 61 6c 6c 4d 61 69 6e 20 28 73 74 64 2e 7a 69 67 29 0a 20 20 20 1d8951.in.callMain.(std.zig)....
c2560 20 69 66 20 28 66 6e 5f 69 6e 66 6f 2e 70 61 72 61 6d 73 2e 6c 65 6e 20 3d 3d 20 30 29 20 72 65 .if.(fn_info.params.len.==.0).re
c2580 74 75 72 6e 20 77 72 61 70 4d 61 69 6e 28 72 6f 6f 74 2e 6d 61 69 6e 28 29 29 3b 0a 20 20 20 20 turn.wrapMain(root.main());.....
c25a0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ................................
c25c0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 5e 0a 2f 68 6f 6d 65 2f 63 69 ......................^./home/ci
c25e0 2f 77 6f 72 6b 2f 7a 69 67 2d 62 6f 6f 74 73 74 72 61 70 2f 6f 75 74 2f 68 6f 73 74 2f 6c 69 62 /work/zig-bootstrap/out/host/lib
c2600 2f 7a 69 67 2f 73 74 64 2f 73 74 61 72 74 2e 7a 69 67 3a 32 30 34 3a 35 3a 20 30 78 31 31 64 38 /zig/std/start.zig:204:5:.0x11d8
c2620 33 38 31 20 69 6e 20 5f 73 74 61 72 74 20 28 73 74 64 2e 7a 69 67 29 0a 20 20 20 20 61 73 6d 20 381.in._start.(std.zig).....asm.
c2640 76 6f 6c 61 74 69 6c 65 20 28 73 77 69 74 63 68 20 28 6e 61 74 69 76 65 5f 61 72 63 68 29 20 7b volatile.(switch.(native_arch).{
c2660 0a 20 20 20 20 5e 0a 28 70 72 6f 63 65 73 73 20 74 65 72 6d 69 6e 61 74 65 64 20 62 79 20 73 69 .....^.(process.terminated.by.si
c2680 67 6e 61 6c 29 0a 3c 2f 73 61 6d 70 3e 3c 2f 70 72 65 3e 3c 2f 66 69 67 75 72 65 3e 0a 0a 20 20 gnal).</samp></pre></figure>....
c26a0 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 53 ...........<h3.id="Exact-Right-S
c26c0 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 6d hift-Overflow"><a.href="nav.xhtm
c26e0 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 77 l#toc-Exact-Right-Shift-Overflow
c2700 22 3e 45 78 61 63 74 20 52 69 67 68 74 20 53 68 69 66 74 20 4f 76 65 72 66 6c 6f 77 3c 2f 61 3e ">Exact.Right.Shift.Overflow</a>
c2720 20 3c 61 20 63 6c 61 73 73 3d 22 68 64 72 22 20 68 72 65 66 3d 22 23 45 78 61 63 74 2d 52 69 67 .<a.class="hdr".href="#Exact-Rig
c2740 68 74 2d 53 68 69 66 74 2d 4f 76 65 72 66 6c 6f 77 22 3e c2 a7 3c 2f 61 3e 3c 2f 68 33 3e 0a 0a ht-Shift-Overflow">..</a></h3>..
c2760 20 20 20 20 20 20 3c 70 3e 41 74 20 63 6f 6d 70 69 6c 65 2d 74 69 6d 65 3a 3c 2f 70 3e 0a 20 20 ......<p>At.compile-time:</p>...
c2780 20 20 20 20 3c 66 69 67 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
c27a0 69 67 2d 63 61 70 22 3e 3c 63 69 74 65 20 63 6c 61 73 73 3d 22 66 69 6c 65 22 3e 74 65 73 74 5f ig-cap"><cite.class="file">test_
c27c0 63 6f 6d 70 74 69 6d 65 5f 73 68 72 45 78 61 63 74 5f 6f 76 65 72 66 6c 6f 77 2e 7a 69 67 3c 2f comptime_shrExact_overflow.zig</
c27e0 63 69 74 65 3e 3c 2f 66 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
c2800 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
c2820 3e 20 7b 0a 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 63 6f 6e >.{.....<span.class="tok-kw">con
c2840 73 74 3c 2f 73 70 61 6e 3e 20 78 20 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 62 st</span>.x.=.<span.class="tok-b
c2860 75 69 6c 74 69 6e 22 3e 40 73 68 72 45 78 61 63 74 3c 2f 73 70 61 6e 3e 28 3c 73 70 61 6e 20 63 uiltin">@shrExact</span>(<span.c
c2880 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
c28a0 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>,.
c28c0 3c 73 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 <span.class="tok-number">0b10101
c28e0 30 31 30 3c 2f 73 70 61 6e 3e 29 2c 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 010</span>),.<span.class="tok-nu
c2900 6d 62 65 72 22 3e 32 3c 2f 73 70 61 6e 3e 29 3b 0a 20 20 20 20 5f 20 3d 20 78 3b 0a 7d 3c 2f 63 mber">2</span>);....._.=.x;.}</c
c2920 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
c2940 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</
c2960 66 69 67 63 61 70 74 69 6f 6e 3e 3c 70 72 65 3e 3c 73 61 6d 70 3e 24 20 3c 6b 62 64 3e 7a 69 67 figcaption><pre><samp>$.<kbd>zig
c2980 20 74 65 73 74 20 74 65 73 74 5f 63 6f 6d 70 74 69 6d 65 5f 73 68 72 45 78 61 63 74 5f 6f 76 65 .test.test_comptime_shrExact_ove
c29a0 72 66 6c 6f 77 2e 7a 69 67 3c 2f 6b 62 64 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 73 67 72 rflow.zig</kbd>.<span.class="sgr
c29c0 2d 31 6d 22 3e 2f 68 6f 6d 65 2f 63 69 2f 77 6f 72 6b 2f 7a 69 67 2d 62 6f 6f 74 73 74 72 61 70 -1m">/home/ci/work/zig-bootstrap
c29e0 2f 7a 69 67 2f 64 6f 63 2f 6c 61 6e 67 72 65 66 2f 74 65 73 74 5f 63 6f 6d 70 74 69 6d 65 5f 73 /zig/doc/langref/test_comptime_s
c2a00 68 72 45 78 61 63 74 5f 6f 76 65 72 66 6c 6f 77 2e 7a 69 67 3a 32 3a 31 35 3a 20 3c 2f 73 70 61 hrExact_overflow.zig:2:15:.</spa
c2a20 6e 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 73 67 72 2d 33 31 6d 22 3e 65 72 72 6f 72 3a 20 3c n><span.class="sgr-31m">error:.<
c2a40 2f 73 70 61 6e 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 73 67 72 2d 31 6d 22 3e 65 78 61 63 74 /span><span.class="sgr-1m">exact
c2a60 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 0a 3c 2f 73 70 61 6e .shift.shifted.out.1.bits.</span
c2a80 3e 20 20 20 20 63 6f 6e 73 74 20 78 20 3d 20 40 73 68 72 45 78 61 63 74 28 40 61 73 28 75 38 2c >....const.x.=.@shrExact(@as(u8,
c2aa0 20 30 62 31 30 31 30 31 30 31 30 29 2c 20 32 29 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 .0b10101010),.2);...............
c2ac0 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 73 67 72 2d 33 32 6d 22 3e 5e 7e 7e 7e 7e 7e 7e 7e 7e 7e <span.class="sgr-32m">^~~~~~~~~~
c2ae0 7e 7e 7e 7e 7e 7e 7e 7e 7e 7e 7e 7e 7e 7e 7e 7e 7e 7e 7e 7e 7e 7e 7e 0a 3c 2f 73 70 61 6e 3e 0a ~~~~~~~~~~~~~~~~~~~~~~~.</span>.
c2b00 3c 2f 73 61 6d 70 3e 3c 2f 70 72 65 3e 3c 2f 66 69 67 75 72 65 3e 0a 0a 20 20 20 20 20 20 3c 70 </samp></pre></figure>........<p
c2b20 3e 41 74 20 72 75 6e 74 69 6d 65 3a 3c 2f 70 3e 0a 20 20 20 20 20 20 3c 66 69 67 75 72 65 3e 3c >At.runtime:</p>.......<figure><
c2b40 66 69 67 63 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
c2b60 20 63 6c 61 73 73 3d 22 66 69 6c 65 22 3e 72 75 6e 74 69 6d 65 5f 73 68 72 45 78 61 63 74 5f 6f .class="file">runtime_shrExact_o
c2b80 76 65 72 66 6c 6f 77 2e 7a 69 67 3c 2f 63 69 74 65 3e 3c 2f 66 69 67 63 61 70 74 69 6f 6e 3e 3c verflow.zig</cite></figcaption><
c2ba0 70 72 65 3e 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 63 pre><code><span.class="tok-kw">c
c2bc0 6f 6e 73 74 3c 2f 73 70 61 6e 3e 20 62 75 69 6c 74 69 6e 20 3d 20 3c 73 70 61 6e 20 63 6c 61 73 onst</span>.builtin.=.<span.clas
c2be0 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>(<
c2c00 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 73 74 72 22 3e 26 71 75 6f 74 3b 62 75 69 6c 74 span.class="tok-str">&quot;built
c2c20 69 6e 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 29 3b 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 in&quot;</span>);.<span.class="t
c2c40 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.
c2c60 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
c2c80 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
c2ca0 74 64 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 29 3b 0a 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 td&quot;</span>);..<span.class="
c2cc0 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="
c2ce0 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
c2d00 6f 6b 2d 66 6e 22 3e 6d 61 69 6e 3c 2f 73 70 61 6e 3e 28 29 20 3c 73 70 61 6e 20 63 6c 61 73 73 ok-fn">main</span>().<span.class
c2d20 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 76 6f 69 64 3c 2f 73 70 61 6e 3e 20 7b 0a 20 20 20 20 3c 73 ="tok-type">void</span>.{.....<s
c2d40 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 76 61 72 3c 2f 73 70 61 6e 3e 20 78 3a pan.class="tok-kw">var</span>.x:
c2d60 20 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
c2d80 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 62 31 >.=.<span.class="tok-number">0b1
c2da0 30 31 30 31 30 31 30 3c 2f 73 70 61 6e 3e 3b 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 0101010</span>;.<span.class="tok
c2dc0 2d 63 6f 6d 6d 65 6e 74 22 3e 2f 2f 20 72 75 6e 74 69 6d 65 2d 6b 6e 6f 77 6e 3c 2f 73 70 61 6e -comment">//.runtime-known</span
c2de0 3e 0a 20 20 20 20 5f 20 3d 20 26 61 6d 70 3b 78 3b 0a 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 >....._.=.&amp;x;.....<span.clas
c2e00 73 3d 22 74 6f 6b 2d 6b 77 22 3e 63 6f 6e 73 74 3c 2f 73 70 61 6e 3e 20 79 20 3d 20 3c 73 70 61 s="tok-kw">const</span>.y.=.<spa
c2e20 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 62 75 69 6c 74 69 6e 22 3e 40 73 68 72 45 78 61 63 74 3c n.class="tok-builtin">@shrExact<
c2e40 2f 73 70 61 6e 3e 28 78 2c 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 /span>(x,.<span.class="tok-numbe
c2e60 72 22 3e 32 3c 2f 73 70 61 6e 3e 29 3b 0a 20 20 20 20 73 74 64 2e 64 65 62 75 67 2e 70 72 69 6e r">2</span>);.....std.debug.prin
c2e80 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
c2ea0 6c 75 65 3a 20 7b 7d 5c 6e 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 2c 20 2e 7b 79 7d 29 3b 0a 0a lue:.{}\n&quot;</span>,..{y});..
c2ec0 20 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
c2ee0 6e 3e 20 28 28 62 75 69 6c 74 69 6e 2e 63 70 75 2e 61 72 63 68 2e 69 73 50 6f 77 65 72 50 43 28 n>.((builtin.cpu.arch.isPowerPC(
c2f00 29 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 6f 72 3c 2f 73 70 61 6e 3e ).<span.class="tok-kw">or</span>
c2f20 20 62 75 69 6c 74 69 6e 2e 63 70 75 2e 61 72 63 68 2e 69 73 52 49 53 43 56 28 29 20 3c 73 70 61 .builtin.cpu.arch.isRISCV().<spa
c2f40 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 6f 72 3c 2f 73 70 61 6e 3e 20 62 75 69 6c 74 n.class="tok-kw">or</span>.built
c2f60 69 6e 2e 63 70 75 2e 61 72 63 68 2e 69 73 4c 6f 6f 6e 67 41 72 63 68 28 29 20 3c 73 70 61 6e 20 in.cpu.arch.isLoongArch().<span.
c2f80 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 6f 72 3c 2f 73 70 61 6e 3e 20 62 75 69 6c 74 69 6e class="tok-kw">or</span>.builtin
c2fa0 2e 63 70 75 2e 61 72 63 68 20 3d 3d 20 2e 73 33 39 30 78 29 20 3c 73 70 61 6e 20 63 6c 61 73 73 .cpu.arch.==..s390x).<span.class
c2fc0 3d 22 74 6f 6b 2d 6b 77 22 3e 61 6e 64 3c 2f 73 70 61 6e 3e 20 62 75 69 6c 74 69 6e 2e 7a 69 67 ="tok-kw">and</span>.builtin.zig
c2fe0 5f 62 61 63 6b 65 6e 64 20 3d 3d 20 2e 73 74 61 67 65 32 5f 6c 6c 76 6d 29 20 3c 73 70 61 6e 20 _backend.==..stage2_llvm).<span.
c3000 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 73 70 61 6e class="tok-builtin">@panic</span
c3020 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 68 74 >(<span.class="tok-str">&quot;ht
c3040 74 70 73 3a 2f 2f 67 69 74 68 75 62 2e 63 6f 6d 2f 7a 69 67 6c 61 6e 67 2f 7a 69 67 2f 69 73 73 tps://github.com/ziglang/zig/iss
c3060 75 65 73 2f 32 34 33 30 34 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 29 3b 0a 7d 3c 2f 63 6f 64 65 ues/24304&quot;</span>);.}</code
c3080 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
c30a0 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
c30c0 63 61 70 74 69 6f 6e 3e 3c 70 72 65 3e 3c 73 61 6d 70 3e 24 20 3c 6b 62 64 3e 7a 69 67 20 62 75 caption><pre><samp>$.<kbd>zig.bu
c30e0 69 6c 64 2d 65 78 65 20 72 75 6e 74 69 6d 65 5f 73 68 72 45 78 61 63 74 5f 6f 76 65 72 66 6c 6f ild-exe.runtime_shrExact_overflo
c3100 77 2e 7a 69 67 3c 2f 6b 62 64 3e 0a 24 20 3c 6b 62 64 3e 2e 2f 72 75 6e 74 69 6d 65 5f 73 68 72 w.zig</kbd>.$.<kbd>./runtime_shr
c3120 45 78 61 63 74 5f 6f 76 65 72 66 6c 6f 77 3c 2f 6b 62 64 3e 0a 74 68 72 65 61 64 20 32 33 31 38 Exact_overflow</kbd>.thread.2318
c3140 31 39 20 70 61 6e 69 63 3a 20 72 69 67 68 74 20 73 68 69 66 74 20 6f 76 65 72 66 6c 6f 77 65 64 19.panic:.right.shift.overflowed
c3160 20 62 69 74 73 0a 2f 68 6f 6d 65 2f 63 69 2f 77 6f 72 6b 2f 7a 69 67 2d 62 6f 6f 74 73 74 72 61 .bits./home/ci/work/zig-bootstra
c3180 70 2f 7a 69 67 2f 64 6f 63 2f 6c 61 6e 67 72 65 66 2f 72 75 6e 74 69 6d 65 5f 73 68 72 45 78 61 p/zig/doc/langref/runtime_shrExa
c31a0 63 74 5f 6f 76 65 72 66 6c 6f 77 2e 7a 69 67 3a 37 3a 35 3a 20 30 78 31 31 64 39 30 35 61 20 69 ct_overflow.zig:7:5:.0x11d905a.i
c31c0 6e 20 6d 61 69 6e 20 28 72 75 6e 74 69 6d 65 5f 73 68 72 45 78 61 63 74 5f 6f 76 65 72 66 6c 6f n.main.(runtime_shrExact_overflo
c31e0 77 2e 7a 69 67 29 0a 20 20 20 20 63 6f 6e 73 74 20 79 20 3d 20 40 73 68 72 45 78 61 63 74 28 78 w.zig).....const.y.=.@shrExact(x
c3200 2c 20 32 29 3b 0a 20 20 20 20 5e 0a 2f 68 6f 6d 65 2f 63 69 2f 77 6f 72 6b 2f 7a 69 67 2d 62 6f ,.2);.....^./home/ci/work/zig-bo
c3220 6f 74 73 74 72 61 70 2f 6f 75 74 2f 68 6f 73 74 2f 6c 69 62 2f 7a 69 67 2f 73 74 64 2f 73 74 61 otstrap/out/host/lib/zig/std/sta
c3240 72 74 2e 7a 69 67 3a 37 32 32 3a 35 39 3a 20 30 78 31 31 64 38 39 35 31 20 69 6e 20 63 61 6c 6c rt.zig:722:59:.0x11d8951.in.call
c3260 4d 61 69 6e 20 28 73 74 64 2e 7a 69 67 29 0a 20 20 20 20 69 66 20 28 66 6e 5f 69 6e 66 6f 2e 70 Main.(std.zig).....if.(fn_info.p
c3280 61 72 61 6d 73 2e 6c 65 6e 20 3d 3d 20 30 29 20 72 65 74 75 72 6e 20 77 72 61 70 4d 61 69 6e 28 arams.len.==.0).return.wrapMain(
c32a0 72 6f 6f 74 2e 6d 61 69 6e 28 29 29 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 root.main());...................
c32c0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ................................
c32e0 20 20 20 20 20 20 20 20 5e 0a 2f 68 6f 6d 65 2f 63 69 2f 77 6f 72 6b 2f 7a 69 67 2d 62 6f 6f 74 ........^./home/ci/work/zig-boot
c3300 73 74 72 61 70 2f 6f 75 74 2f 68 6f 73 74 2f 6c 69 62 2f 7a 69 67 2f 73 74 64 2f 73 74 61 72 74 strap/out/host/lib/zig/std/start
c3320 2e 7a 69 67 3a 32 30 34 3a 35 3a 20 30 78 31 31 64 38 33 38 31 20 69 6e 20 5f 73 74 61 72 74 20 .zig:204:5:.0x11d8381.in._start.
c3340 28 73 74 64 2e 7a 69 67 29 0a 20 20 20 20 61 73 6d 20 76 6f 6c 61 74 69 6c 65 20 28 73 77 69 74 (std.zig).....asm.volatile.(swit
c3360 63 68 20 28 6e 61 74 69 76 65 5f 61 72 63 68 29 20 7b 0a 20 20 20 20 5e 0a 28 70 72 6f 63 65 73 ch.(native_arch).{.....^.(proces
c3380 73 20 74 65 72 6d 69 6e 61 74 65 64 20 62 79 20 73 69 67 6e 61 6c 29 0a 3c 2f 73 61 6d 70 3e 3c s.terminated.by.signal).</samp><
c33a0 2f 70 72 65 3e 3c 2f 66 69 67 75 72 65 3e 0a 0a 20 20 20 20 20 20 0a 20 20 20 20 20 20 3c 68 33 /pre></figure>...............<h3
c33c0 20 69 64 3d 22 44 69 76 69 73 69 6f 6e 2d 62 79 2d 5a 65 72 6f 22 3e 3c 61 20 68 72 65 66 3d 22 .id="Division-by-Zero"><a.href="
c33e0 6e 61 76 2e 78 68 74 6d 6c 23 74 6f 63 2d 44 69 76 69 73 69 6f 6e 2d 62 79 2d 5a 65 72 6f 22 3e nav.xhtml#toc-Division-by-Zero">
c3400 44 69 76 69 73 69 6f 6e 20 62 79 20 5a 65 72 6f 3c 2f 61 3e 20 3c 61 20 63 6c 61 73 73 3d 22 68 Division.by.Zero</a>.<a.class="h
c3420 64 72 22 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 c2 a7 3c dr".href="#Division-by-Zero">..<
c3440 2f 61 3e 3c 2f 68 33 3e 0a 0a 20 20 20 20 20 20 3c 70 3e 41 74 20 63 6f 6d 70 69 6c 65 2d 74 69 /a></h3>........<p>At.compile-ti
c3460 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
c3480 6e 20 63 6c 61 73 73 3d 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
c34a0 69 6c 65 22 3e 74 65 73 74 5f 63 6f 6d 70 74 69 6d 65 5f 64 69 76 69 73 69 6f 6e 5f 62 79 5f 7a ile">test_comptime_division_by_z
c34c0 65 72 6f 2e 7a 69 67 3c 2f 63 69 74 65 3e 3c 2f 66 69 67 63 61 70 74 69 6f 6e 3e 3c 70 72 65 3e ero.zig</cite></figcaption><pre>
c34e0 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 63 6f 6d 70 74 <code><span.class="tok-kw">compt
c3500 69 6d 65 3c 2f 73 70 61 6e 3e 20 7b 0a 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f ime</span>.{.....<span.class="to
c3520 6b 2d 6b 77 22 3e 63 6f 6e 73 74 3c 2f 73 70 61 6e 3e 20 61 3a 20 3c 73 70 61 6e 20 63 6c 61 73 k-kw">const</span>.a:.<span.clas
c3540 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.
c3560 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 31 3c 2f 73 70 61 6e 3e 3b 0a 20 20 20 class="tok-number">1</span>;....
c3580 20 3c 73 70 61 6e 20 63 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
c35a0 6e 3e 20 62 3a 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 69 33 32 n>.b:.<span.class="tok-type">i32
c35c0 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
c35e0 72 22 3e 30 3c 2f 73 70 61 6e 3e 3b 0a 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f r">0</span>;.....<span.class="to
c3600 6b 2d 6b 77 22 3e 63 6f 6e 73 74 3c 2f 73 70 61 6e 3e 20 63 20 3d 20 61 20 2f 20 62 3b 0a 20 20 k-kw">const</span>.c.=.a./.b;...
c3620 20 20 5f 20 3d 20 63 3b 0a 7d 3c 2f 63 6f 64 65 3e 3c 2f 70 72 65 3e 3c 2f 66 69 67 75 72 65 3e .._.=.c;.}</code></pre></figure>
c3640 3c 66 69 67 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
c3660 2d 63 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
c3680 6d 70 3e 24 20 3c 6b 62 64 3e 7a 69 67 20 74 65 73 74 20 74 65 73 74 5f 63 6f 6d 70 74 69 6d 65 mp>$.<kbd>zig.test.test_comptime
c36a0 5f 64 69 76 69 73 69 6f 6e 5f 62 79 5f 7a 65 72 6f 2e 7a 69 67 3c 2f 6b 62 64 3e 0a 3c 73 70 61 _division_by_zero.zig</kbd>.<spa
c36c0 6e 20 63 6c 61 73 73 3d 22 73 67 72 2d 31 6d 22 3e 2f 68 6f 6d 65 2f 63 69 2f 77 6f 72 6b 2f 7a n.class="sgr-1m">/home/ci/work/z
c36e0 69 67 2d 62 6f 6f 74 73 74 72 61 70 2f 7a 69 67 2f 64 6f 63 2f 6c 61 6e 67 72 65 66 2f 74 65 73 ig-bootstrap/zig/doc/langref/tes
c3700 74 5f 63 6f 6d 70 74 69 6d 65 5f 64 69 76 69 73 69 6f 6e 5f 62 79 5f 7a 65 72 6f 2e 7a 69 67 3a t_comptime_division_by_zero.zig:
c3720 34 3a 31 39 3a 20 3c 2f 73 70 61 6e 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 73 67 72 2d 33 31 4:19:.</span><span.class="sgr-31
c3740 6d 22 3e 65 72 72 6f 72 3a 20 3c 2f 73 70 61 6e 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 73 67 m">error:.</span><span.class="sg
c3760 72 2d 31 6d 22 3e 64 69 76 69 73 69 6f 6e 20 62 79 20 7a 65 72 6f 20 68 65 72 65 20 63 61 75 73 r-1m">division.by.zero.here.caus
c3780 65 73 20 69 6c 6c 65 67 61 6c 20 62 65 68 61 76 69 6f 72 0a 3c 2f 73 70 61 6e 3e 20 20 20 20 63 es.illegal.behavior.</span>....c
c37a0 6f 6e 73 74 20 63 20 3d 20 61 20 2f 20 62 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 onst.c.=.a./.b;.................
c37c0 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 73 67 72 2d 33 32 6d 22 3e 5e 0a 3c 2f 73 70 61 6e ..<span.class="sgr-32m">^.</span
c37e0 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 20 >.</samp></pre></figure>........
c3800 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
c3820 3e 3c 66 69 67 63 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
c3840 74 65 20 63 6c 61 73 73 3d 22 66 69 6c 65 22 3e 72 75 6e 74 69 6d 65 5f 64 69 76 69 73 69 6f 6e te.class="file">runtime_division
c3860 5f 62 79 5f 7a 65 72 6f 2e 7a 69 67 3c 2f 63 69 74 65 3e 3c 2f 66 69 67 63 61 70 74 69 6f 6e 3e _by_zero.zig</cite></figcaption>
c3880 3c 70 72 65 3e 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e <pre><code><span.class="tok-kw">
c38a0 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="
c38c0 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
c38e0 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
c3900 3b 3c 2f 73 70 61 6e 3e 29 3b 0a 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 ;</span>);..<span.class="tok-kw"
c3920 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"
c3940 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">
c3960 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
c3980 79 70 65 22 3e 76 6f 69 64 3c 2f 73 70 61 6e 3e 20 7b 0a 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 ype">void</span>.{.....<span.cla
c39a0 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.
c39c0 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
c39e0 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>;
c3a00 0a 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 76 61 72 3c 2f 73 .....<span.class="tok-kw">var</s
c3a20 70 61 6e 3e 20 62 3a 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 75 pan>.b:.<span.class="tok-type">u
c3a40 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
c3a60 62 65 72 22 3e 30 3c 2f 73 70 61 6e 3e 3b 0a 20 20 20 20 5f 20 3d 20 2e 7b 20 26 61 6d 70 3b 61 ber">0</span>;....._.=..{.&amp;a
c3a80 2c 20 26 61 6d 70 3b 62 20 7d 3b 0a 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b ,.&amp;b.};.....<span.class="tok
c3aa0 2d 6b 77 22 3e 63 6f 6e 73 74 3c 2f 73 70 61 6e 3e 20 63 20 3d 20 61 20 2f 20 62 3b 0a 20 20 20 -kw">const</span>.c.=.a./.b;....
c3ac0 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
c3ae0 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;</
c3b00 73 70 61 6e 3e 2c 20 2e 7b 63 7d 29 3b 0a 7d 3c 2f 63 6f 64 65 3e 3c 2f 70 72 65 3e 3c 2f 66 69 span>,..{c});.}</code></pre></fi
c3b20 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="
c3b40 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
c3b60 65 3e 3c 73 61 6d 70 3e 24 20 3c 6b 62 64 3e 7a 69 67 20 62 75 69 6c 64 2d 65 78 65 20 72 75 6e e><samp>$.<kbd>zig.build-exe.run
c3b80 74 69 6d 65 5f 64 69 76 69 73 69 6f 6e 5f 62 79 5f 7a 65 72 6f 2e 7a 69 67 3c 2f 6b 62 64 3e 0a time_division_by_zero.zig</kbd>.
c3ba0 24 20 3c 6b 62 64 3e 2e 2f 72 75 6e 74 69 6d 65 5f 64 69 76 69 73 69 6f 6e 5f 62 79 5f 7a 65 72 $.<kbd>./runtime_division_by_zer
c3bc0 6f 3c 2f 6b 62 64 3e 0a 74 68 72 65 61 64 20 32 33 32 36 36 34 20 70 61 6e 69 63 3a 20 64 69 76 o</kbd>.thread.232664.panic:.div
c3be0 69 73 69 6f 6e 20 62 79 20 7a 65 72 6f 0a 2f 68 6f 6d 65 2f 63 69 2f 77 6f 72 6b 2f 7a 69 67 2d ision.by.zero./home/ci/work/zig-
c3c00 62 6f 6f 74 73 74 72 61 70 2f 7a 69 67 2f 64 6f 63 2f 6c 61 6e 67 72 65 66 2f 72 75 6e 74 69 6d bootstrap/zig/doc/langref/runtim
c3c20 65 5f 64 69 76 69 73 69 6f 6e 5f 62 79 5f 7a 65 72 6f 2e 7a 69 67 3a 37 3a 31 37 3a 20 30 78 31 e_division_by_zero.zig:7:17:.0x1
c3c40 31 64 39 30 36 30 20 69 6e 20 6d 61 69 6e 20 28 72 75 6e 74 69 6d 65 5f 64 69 76 69 73 69 6f 6e 1d9060.in.main.(runtime_division
c3c60 5f 62 79 5f 7a 65 72 6f 2e 7a 69 67 29 0a 20 20 20 20 63 6f 6e 73 74 20 63 20 3d 20 61 20 2f 20 _by_zero.zig).....const.c.=.a./.
c3c80 62 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 5e 0a 2f 68 6f 6d 65 2f 63 69 2f 77 6f b;.................^./home/ci/wo
c3ca0 72 6b 2f 7a 69 67 2d 62 6f 6f 74 73 74 72 61 70 2f 6f 75 74 2f 68 6f 73 74 2f 6c 69 62 2f 7a 69 rk/zig-bootstrap/out/host/lib/zi
c3cc0 67 2f 73 74 64 2f 73 74 61 72 74 2e 7a 69 67 3a 37 32 32 3a 35 39 3a 20 30 78 31 31 64 38 39 35 g/std/start.zig:722:59:.0x11d895
c3ce0 31 20 69 6e 20 63 61 6c 6c 4d 61 69 6e 20 28 73 74 64 2e 7a 69 67 29 0a 20 20 20 20 69 66 20 28 1.in.callMain.(std.zig).....if.(
c3d00 66 6e 5f 69 6e 66 6f 2e 70 61 72 61 6d 73 2e 6c 65 6e 20 3d 3d 20 30 29 20 72 65 74 75 72 6e 20 fn_info.params.len.==.0).return.
c3d20 77 72 61 70 4d 61 69 6e 28 72 6f 6f 74 2e 6d 61 69 6e 28 29 29 3b 0a 20 20 20 20 20 20 20 20 20 wrapMain(root.main());..........
c3d40 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ................................
c3d60 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 5e 0a 2f 68 6f 6d 65 2f 63 69 2f 77 6f 72 6b .................^./home/ci/work
c3d80 2f 7a 69 67 2d 62 6f 6f 74 73 74 72 61 70 2f 6f 75 74 2f 68 6f 73 74 2f 6c 69 62 2f 7a 69 67 2f /zig-bootstrap/out/host/lib/zig/
c3da0 73 74 64 2f 73 74 61 72 74 2e 7a 69 67 3a 32 30 34 3a 35 3a 20 30 78 31 31 64 38 33 38 31 20 69 std/start.zig:204:5:.0x11d8381.i
c3dc0 6e 20 5f 73 74 61 72 74 20 28 73 74 64 2e 7a 69 67 29 0a 20 20 20 20 61 73 6d 20 76 6f 6c 61 74 n._start.(std.zig).....asm.volat
c3de0 69 6c 65 20 28 73 77 69 74 63 68 20 28 6e 61 74 69 76 65 5f 61 72 63 68 29 20 7b 0a 20 20 20 20 ile.(switch.(native_arch).{.....
c3e00 5e 0a 28 70 72 6f 63 65 73 73 20 74 65 72 6d 69 6e 61 74 65 64 20 62 79 20 73 69 67 6e 61 6c 29 ^.(process.terminated.by.signal)
c3e20 0a 3c 2f 73 61 6d 70 3e 3c 2f 70 72 65 3e 3c 2f 66 69 67 75 72 65 3e 0a 0a 20 20 20 20 20 20 0a .</samp></pre></figure>.........
c3e40 20 20 20 20 20 20 3c 68 33 20 69 64 3d 22 52 65 6d 61 69 6e 64 65 72 2d 44 69 76 69 73 69 6f 6e ......<h3.id="Remainder-Division
c3e60 2d 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 -by-Zero"><a.href="nav.xhtml#toc
c3e80 2d 52 65 6d 61 69 6e 64 65 72 2d 44 69 76 69 73 69 6f 6e 2d 62 79 2d 5a 65 72 6f 22 3e 52 65 6d -Remainder-Division-by-Zero">Rem
c3ea0 61 69 6e 64 65 72 20 44 69 76 69 73 69 6f 6e 20 62 79 20 5a 65 72 6f 3c 2f 61 3e 20 3c 61 20 63 ainder.Division.by.Zero</a>.<a.c
c3ec0 6c 61 73 73 3d 22 68 64 72 22 20 68 72 65 66 3d 22 23 52 65 6d 61 69 6e 64 65 72 2d 44 69 76 69 lass="hdr".href="#Remainder-Divi
c3ee0 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 20 sion-by-Zero">..</a></h3>.......
c3f00 20 3c 70 3e 41 74 20 63 6f 6d 70 69 6c 65 2d 74 69 6d 65 3a 3c 2f 70 3e 0a 20 20 20 20 20 20 3c .<p>At.compile-time:</p>.......<
c3f20 66 69 67 75 72 65 3e 3c 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
c3f40 70 22 3e 3c 63 69 74 65 20 63 6c 61 73 73 3d 22 66 69 6c 65 22 3e 74 65 73 74 5f 63 6f 6d 70 74 p"><cite.class="file">test_compt
c3f60 69 6d 65 5f 72 65 6d 61 69 6e 64 65 72 5f 64 69 76 69 73 69 6f 6e 5f 62 79 5f 7a 65 72 6f 2e 7a ime_remainder_division_by_zero.z
c3f80 69 67 3c 2f 63 69 74 65 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
c3fa0 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</
c3fc0 73 70 61 6e 3e 20 7b 0a 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 span>.{.....<span.class="tok-kw"
c3fe0 3e 63 6f 6e 73 74 3c 2f 73 70 61 6e 3e 20 61 3a 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f >const</span>.a:.<span.class="to
c4000 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
c4020 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 31 30 3c 2f 73 70 61 6e 3e 3b 0a 20 20 20 20 3c 73 70 ="tok-number">10</span>;.....<sp
c4040 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 63 6f 6e 73 74 3c 2f 73 70 61 6e 3e 20 62 an.class="tok-kw">const</span>.b
c4060 3a 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
c4080 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
c40a0 3c 2f 73 70 61 6e 3e 3b 0a 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 </span>;.....<span.class="tok-kw
c40c0 22 3e 63 6f 6e 73 74 3c 2f 73 70 61 6e 3e 20 63 20 3d 20 61 20 25 20 62 3b 0a 20 20 20 20 5f 20 ">const</span>.c.=.a.%.b;....._.
c40e0 3d 20 63 3b 0a 7d 3c 2f 63 6f 64 65 3e 3c 2f 70 72 65 3e 3c 2f 66 69 67 75 72 65 3e 3c 66 69 67 =.c;.}</code></pre></figure><fig
c4100 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
c4120 22 3e 53 68 65 6c 6c 3c 2f 66 69 67 63 61 70 74 69 6f 6e 3e 3c 70 72 65 3e 3c 73 61 6d 70 3e 24 ">Shell</figcaption><pre><samp>$
c4140 20 3c 6b 62 64 3e 7a 69 67 20 74 65 73 74 20 74 65 73 74 5f 63 6f 6d 70 74 69 6d 65 5f 72 65 6d .<kbd>zig.test.test_comptime_rem
c4160 61 69 6e 64 65 72 5f 64 69 76 69 73 69 6f 6e 5f 62 79 5f 7a 65 72 6f 2e 7a 69 67 3c 2f 6b 62 64 ainder_division_by_zero.zig</kbd
c4180 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 73 67 72 2d 31 6d 22 3e 2f 68 6f 6d 65 2f 63 69 2f >.<span.class="sgr-1m">/home/ci/
c41a0 77 6f 72 6b 2f 7a 69 67 2d 62 6f 6f 74 73 74 72 61 70 2f 7a 69 67 2f 64 6f 63 2f 6c 61 6e 67 72 work/zig-bootstrap/zig/doc/langr
c41c0 65 66 2f 74 65 73 74 5f 63 6f 6d 70 74 69 6d 65 5f 72 65 6d 61 69 6e 64 65 72 5f 64 69 76 69 73 ef/test_comptime_remainder_divis
c41e0 69 6f 6e 5f 62 79 5f 7a 65 72 6f 2e 7a 69 67 3a 34 3a 31 39 3a 20 3c 2f 73 70 61 6e 3e 3c 73 70 ion_by_zero.zig:4:19:.</span><sp
c4200 61 6e 20 63 6c 61 73 73 3d 22 73 67 72 2d 33 31 6d 22 3e 65 72 72 6f 72 3a 20 3c 2f 73 70 61 6e an.class="sgr-31m">error:.</span
c4220 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 73 67 72 2d 31 6d 22 3e 64 69 76 69 73 69 6f 6e 20 62 ><span.class="sgr-1m">division.b
c4240 79 20 7a 65 72 6f 20 68 65 72 65 20 63 61 75 73 65 73 20 69 6c 6c 65 67 61 6c 20 62 65 68 61 76 y.zero.here.causes.illegal.behav
c4260 69 6f 72 0a 3c 2f 73 70 61 6e 3e 20 20 20 20 63 6f 6e 73 74 20 63 20 3d 20 61 20 25 20 62 3b 0a ior.</span>....const.c.=.a.%.b;.
c4280 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 73 ..................<span.class="s
c42a0 67 72 2d 33 32 6d 22 3e 5e 0a 3c 2f 73 70 61 6e 3e 0a 3c 2f 73 61 6d 70 3e 3c 2f 70 72 65 3e 3c gr-32m">^.</span>.</samp></pre><
c42c0 2f 66 69 67 75 72 65 3e 0a 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:</
c42e0 70 3e 0a 20 20 20 20 20 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
c4300 73 73 3d 22 7a 69 67 2d 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">
c4320 72 75 6e 74 69 6d 65 5f 72 65 6d 61 69 6e 64 65 72 5f 64 69 76 69 73 69 6f 6e 5f 62 79 5f 7a 65 runtime_remainder_division_by_ze
c4340 72 6f 2e 7a 69 67 3c 2f 63 69 74 65 3e 3c 2f 66 69 67 63 61 70 74 69 6f 6e 3e 3c 70 72 65 3e 3c ro.zig</cite></figcaption><pre><
c4360 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 63 6f 6e 73 74 3c code><span.class="tok-kw">const<
c4380 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
c43a0 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
c43c0 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
c43e0 6e 3e 29 3b 0a 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 70 75 62 3c 2f n>);..<span.class="tok-kw">pub</
c4400 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
c4420 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</
c4440 73 70 61 6e 3e 28 29 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 76 span>().<span.class="tok-type">v
c4460 6f 69 64 3c 2f 73 70 61 6e 3e 20 7b 0a 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f oid</span>.{.....<span.class="to
c4480 6b 2d 6b 77 22 3e 76 61 72 3c 2f 73 70 61 6e 3e 20 61 3a 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d k-kw">var</span>.a:.<span.class=
c44a0 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
c44c0 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 31 30 3c 2f 73 70 61 6e 3e 3b 0a 20 20 20 20 ass="tok-number">10</span>;.....
c44e0 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>.
c4500 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
c4520 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">
c4540 30 3c 2f 73 70 61 6e 3e 3b 0a 20 20 20 20 5f 20 3d 20 2e 7b 20 26 61 6d 70 3b 61 2c 20 26 61 6d 0</span>;....._.=..{.&amp;a,.&am
c4560 70 3b 62 20 7d 3b 0a 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e p;b.};.....<span.class="tok-kw">
c4580 63 6f 6e 73 74 3c 2f 73 70 61 6e 3e 20 63 20 3d 20 61 20 25 20 62 3b 0a 20 20 20 20 73 74 64 2e const</span>.c.=.a.%.b;.....std.
c45a0 64 65 62 75 67 2e 70 72 69 6e 74 28 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 73 74 72 debug.print(<span.class="tok-str
c45c0 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 3e ">&quot;value:.{}\n&quot;</span>
c45e0 2c 20 2e 7b 63 7d 29 3b 0a 7d 3c 2f 63 6f 64 65 3e 3c 2f 70 72 65 3e 3c 2f 66 69 67 75 72 65 3e ,..{c});.}</code></pre></figure>
c4600 3c 66 69 67 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
c4620 2d 63 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
c4640 6d 70 3e 24 20 3c 6b 62 64 3e 7a 69 67 20 62 75 69 6c 64 2d 65 78 65 20 72 75 6e 74 69 6d 65 5f mp>$.<kbd>zig.build-exe.runtime_
c4660 72 65 6d 61 69 6e 64 65 72 5f 64 69 76 69 73 69 6f 6e 5f 62 79 5f 7a 65 72 6f 2e 7a 69 67 3c 2f remainder_division_by_zero.zig</
c4680 6b 62 64 3e 0a 24 20 3c 6b 62 64 3e 2e 2f 72 75 6e 74 69 6d 65 5f 72 65 6d 61 69 6e 64 65 72 5f kbd>.$.<kbd>./runtime_remainder_
c46a0 64 69 76 69 73 69 6f 6e 5f 62 79 5f 7a 65 72 6f 3c 2f 6b 62 64 3e 0a 74 68 72 65 61 64 20 32 33 division_by_zero</kbd>.thread.23
c46c0 32 36 36 30 20 70 61 6e 69 63 3a 20 64 69 76 69 73 69 6f 6e 20 62 79 20 7a 65 72 6f 0a 2f 68 6f 2660.panic:.division.by.zero./ho
c46e0 6d 65 2f 63 69 2f 77 6f 72 6b 2f 7a 69 67 2d 62 6f 6f 74 73 74 72 61 70 2f 7a 69 67 2f 64 6f 63 me/ci/work/zig-bootstrap/zig/doc
c4700 2f 6c 61 6e 67 72 65 66 2f 72 75 6e 74 69 6d 65 5f 72 65 6d 61 69 6e 64 65 72 5f 64 69 76 69 73 /langref/runtime_remainder_divis
c4720 69 6f 6e 5f 62 79 5f 7a 65 72 6f 2e 7a 69 67 3a 37 3a 31 37 3a 20 30 78 31 31 64 39 30 36 30 20 ion_by_zero.zig:7:17:.0x11d9060.
c4740 69 6e 20 6d 61 69 6e 20 28 72 75 6e 74 69 6d 65 5f 72 65 6d 61 69 6e 64 65 72 5f 64 69 76 69 73 in.main.(runtime_remainder_divis
c4760 69 6f 6e 5f 62 79 5f 7a 65 72 6f 2e 7a 69 67 29 0a 20 20 20 20 63 6f 6e 73 74 20 63 20 3d 20 61 ion_by_zero.zig).....const.c.=.a
c4780 20 25 20 62 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 5e 0a 2f 68 6f 6d 65 2f 63 69 .%.b;.................^./home/ci
c47a0 2f 77 6f 72 6b 2f 7a 69 67 2d 62 6f 6f 74 73 74 72 61 70 2f 6f 75 74 2f 68 6f 73 74 2f 6c 69 62 /work/zig-bootstrap/out/host/lib
c47c0 2f 7a 69 67 2f 73 74 64 2f 73 74 61 72 74 2e 7a 69 67 3a 37 32 32 3a 35 39 3a 20 30 78 31 31 64 /zig/std/start.zig:722:59:.0x11d
c47e0 38 39 35 31 20 69 6e 20 63 61 6c 6c 4d 61 69 6e 20 28 73 74 64 2e 7a 69 67 29 0a 20 20 20 20 69 8951.in.callMain.(std.zig).....i
c4800 66 20 28 66 6e 5f 69 6e 66 6f 2e 70 61 72 61 6d 73 2e 6c 65 6e 20 3d 3d 20 30 29 20 72 65 74 75 f.(fn_info.params.len.==.0).retu
c4820 72 6e 20 77 72 61 70 4d 61 69 6e 28 72 6f 6f 74 2e 6d 61 69 6e 28 29 29 3b 0a 20 20 20 20 20 20 rn.wrapMain(root.main());.......
c4840 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ................................
c4860 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 5e 0a 2f 68 6f 6d 65 2f 63 69 2f 77 ....................^./home/ci/w
c4880 6f 72 6b 2f 7a 69 67 2d 62 6f 6f 74 73 74 72 61 70 2f 6f 75 74 2f 68 6f 73 74 2f 6c 69 62 2f 7a ork/zig-bootstrap/out/host/lib/z
c48a0 69 67 2f 73 74 64 2f 73 74 61 72 74 2e 7a 69 67 3a 32 30 34 3a 35 3a 20 30 78 31 31 64 38 33 38 ig/std/start.zig:204:5:.0x11d838
c48c0 31 20 69 6e 20 5f 73 74 61 72 74 20 28 73 74 64 2e 7a 69 67 29 0a 20 20 20 20 61 73 6d 20 76 6f 1.in._start.(std.zig).....asm.vo
c48e0 6c 61 74 69 6c 65 20 28 73 77 69 74 63 68 20 28 6e 61 74 69 76 65 5f 61 72 63 68 29 20 7b 0a 20 latile.(switch.(native_arch).{..
c4900 20 20 20 5e 0a 28 70 72 6f 63 65 73 73 20 74 65 72 6d 69 6e 61 74 65 64 20 62 79 20 73 69 67 6e ...^.(process.terminated.by.sign
c4920 61 6c 29 0a 3c 2f 73 61 6d 70 3e 3c 2f 70 72 65 3e 3c 2f 66 69 67 75 72 65 3e 0a 0a 20 20 20 20 al).</samp></pre></figure>......
c4940 20 20 0a 20 20 20 20 20 20 3c 68 33 20 69 64 3d 22 45 78 61 63 74 2d 44 69 76 69 73 69 6f 6e 2d .........<h3.id="Exact-Division-
c4960 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 74 6d 6c 23 74 6f Remainder"><a.href="nav.xhtml#to
c4980 63 2d 45 78 61 63 74 2d 44 69 76 69 73 69 6f 6e 2d 52 65 6d 61 69 6e 64 65 72 22 3e 45 78 61 63 c-Exact-Division-Remainder">Exac
c49a0 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 61 20 63 6c 61 73 t.Division.Remainder</a>.<a.clas
c49c0 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 69 6f 6e 2d 52 65 s="hdr".href="#Exact-Division-Re
c49e0 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 20 20 3c 70 3e 41 mainder">..</a></h3>........<p>A
c4a00 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
c4a20 65 3e 3c 66 69 67 63 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
c4a40 69 74 65 20 63 6c 61 73 73 3d 22 66 69 6c 65 22 3e 74 65 73 74 5f 63 6f 6d 70 74 69 6d 65 5f 64 ite.class="file">test_comptime_d
c4a60 69 76 45 78 61 63 74 5f 72 65 6d 61 69 6e 64 65 72 2e 7a 69 67 3c 2f 63 69 74 65 3e 3c 2f 66 69 ivExact_remainder.zig</cite></fi
c4a80 67 63 61 70 74 69 6f 6e 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=
c4aa0 22 74 6f 6b 2d 6b 77 22 3e 63 6f 6d 70 74 69 6d 65 3c 2f 73 70 61 6e 3e 20 7b 0a 20 20 20 20 3c "tok-kw">comptime</span>.{.....<
c4ac0 73 70 61 6e 20 63 6c 61 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>
c4ae0 20 61 3a 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 75 33 32 3c 2f .a:.<span.class="tok-type">u32</
c4b00 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"
c4b20 3e 31 30 3c 2f 73 70 61 6e 3e 3b 0a 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b >10</span>;.....<span.class="tok
c4b40 2d 6b 77 22 3e 63 6f 6e 73 74 3c 2f 73 70 61 6e 3e 20 62 3a 20 3c 73 70 61 6e 20 63 6c 61 73 73 -kw">const</span>.b:.<span.class
c4b60 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
c4b80 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 33 3c 2f 73 70 61 6e 3e 3b 0a 20 20 20 20 lass="tok-number">3</span>;.....
c4ba0 3c 73 70 61 6e 20 63 6c 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
c4bc0 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 3e >.c.=.<span.class="tok-builtin">
c4be0 40 64 69 76 45 78 61 63 74 3c 2f 73 70 61 6e 3e 28 61 2c 20 62 29 3b 0a 20 20 20 20 5f 20 3d 20 @divExact</span>(a,.b);....._.=.
c4c00 63 3b 0a 7d 3c 2f 63 6f 64 65 3e 3c 2f 70 72 65 3e 3c 2f 66 69 67 75 72 65 3e 3c 66 69 67 75 72 c;.}</code></pre></figure><figur
c4c20 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">
c4c40 53 68 65 6c 6c 3c 2f 66 69 67 63 61 70 74 69 6f 6e 3e 3c 70 72 65 3e 3c 73 61 6d 70 3e 24 20 3c Shell</figcaption><pre><samp>$.<
c4c60 6b 62 64 3e 7a 69 67 20 74 65 73 74 20 74 65 73 74 5f 63 6f 6d 70 74 69 6d 65 5f 64 69 76 45 78 kbd>zig.test.test_comptime_divEx
c4c80 61 63 74 5f 72 65 6d 61 69 6e 64 65 72 2e 7a 69 67 3c 2f 6b 62 64 3e 0a 3c 73 70 61 6e 20 63 6c act_remainder.zig</kbd>.<span.cl
c4ca0 61 73 73 3d 22 73 67 72 2d 31 6d 22 3e 2f 68 6f 6d 65 2f 63 69 2f 77 6f 72 6b 2f 7a 69 67 2d 62 ass="sgr-1m">/home/ci/work/zig-b
c4cc0 6f 6f 74 73 74 72 61 70 2f 7a 69 67 2f 64 6f 63 2f 6c 61 6e 67 72 65 66 2f 74 65 73 74 5f 63 6f ootstrap/zig/doc/langref/test_co
c4ce0 6d 70 74 69 6d 65 5f 64 69 76 45 78 61 63 74 5f 72 65 6d 61 69 6e 64 65 72 2e 7a 69 67 3a 34 3a mptime_divExact_remainder.zig:4:
c4d00 31 35 3a 20 3c 2f 73 70 61 6e 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 73 67 72 2d 33 31 6d 22 15:.</span><span.class="sgr-31m"
c4d20 3e 65 72 72 6f 72 3a 20 3c 2f 73 70 61 6e 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 73 67 72 2d >error:.</span><span.class="sgr-
c4d40 31 6d 22 3e 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 1m">exact.division.produced.rema
c4d60 69 6e 64 65 72 0a 3c 2f 73 70 61 6e 3e 20 20 20 20 63 6f 6e 73 74 20 63 20 3d 20 40 64 69 76 45 inder.</span>....const.c.=.@divE
c4d80 78 61 63 74 28 61 2c 20 62 29 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 3c 73 70 61 6e 20 xact(a,.b);...............<span.
c4da0 63 6c 61 73 73 3d 22 73 67 72 2d 33 32 6d 22 3e 5e 7e 7e 7e 7e 7e 7e 7e 7e 7e 7e 7e 7e 7e 7e 0a class="sgr-32m">^~~~~~~~~~~~~~~.
c4dc0 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 0a </span>.</samp></pre></figure>..
c4de0 20 20 20 20 20 20 3c 70 3e 41 74 20 72 75 6e 74 69 6d 65 3a 3c 2f 70 3e 0a 20 20 20 20 20 20 3c ......<p>At.runtime:</p>.......<
c4e00 66 69 67 75 72 65 3e 3c 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
c4e20 70 22 3e 3c 63 69 74 65 20 63 6c 61 73 73 3d 22 66 69 6c 65 22 3e 72 75 6e 74 69 6d 65 5f 64 69 p"><cite.class="file">runtime_di
c4e40 76 45 78 61 63 74 5f 72 65 6d 61 69 6e 64 65 72 2e 7a 69 67 3c 2f 63 69 74 65 3e 3c 2f 66 69 67 vExact_remainder.zig</cite></fig
c4e60 63 61 70 74 69 6f 6e 3e 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="
c4e80 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
c4ea0 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
c4ec0 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;
c4ee0 73 74 64 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 29 3b 0a 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d std&quot;</span>);..<span.class=
c4f00 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=
c4f20 22 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="
c4f40 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
c4f60 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 76 6f 69 64 3c 2f 73 70 61 6e 3e 20 7b 0a 20 20 20 20 3c s="tok-type">void</span>.{.....<
c4f80 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
c4fa0 3a 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 75 33 32 3c 2f 73 70 :.<span.class="tok-type">u32</sp
c4fc0 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
c4fe0 30 3c 2f 73 70 61 6e 3e 3b 0a 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 0</span>;.....<span.class="tok-k
c5000 77 22 3e 76 61 72 3c 2f 73 70 61 6e 3e 20 62 3a 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f w">var</span>.b:.<span.class="to
c5020 6b 2d 74 79 70 65 22 3e 75 33 32 3c 2f 73 70 61 6e 3e 20 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 k-type">u32</span>.=.<span.class
c5040 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 33 3c 2f 73 70 61 6e 3e 3b 0a 20 20 20 20 5f 20 3d 20 ="tok-number">3</span>;....._.=.
c5060 2e 7b 20 26 61 6d 70 3b 61 2c 20 26 61 6d 70 3b 62 20 7d 3b 0a 20 20 20 20 3c 73 70 61 6e 20 63 .{.&amp;a,.&amp;b.};.....<span.c
c5080 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 63 6f 6e 73 74 3c 2f 73 70 61 6e 3e 20 63 20 3d 20 3c lass="tok-kw">const</span>.c.=.<
c50a0 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 62 75 69 6c 74 69 6e 22 3e 40 64 69 76 45 78 61 span.class="tok-builtin">@divExa
c50c0 63 74 3c 2f 73 70 61 6e 3e 28 61 2c 20 62 29 3b 0a 20 20 20 20 73 74 64 2e 64 65 62 75 67 2e 70 ct</span>(a,.b);.....std.debug.p
c50e0 72 69 6e 74 28 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 73 74 72 22 3e 26 71 75 6f 74 rint(<span.class="tok-str">&quot
c5100 3b 76 61 6c 75 65 3a 20 7b 7d 5c 6e 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 2c 20 2e 7b 63 7d 29 ;value:.{}\n&quot;</span>,..{c})
c5120 3b 0a 7d 3c 2f 63 6f 64 65 3e 3c 2f 70 72 65 3e 3c 2f 66 69 67 75 72 65 3e 3c 66 69 67 75 72 65 ;.}</code></pre></figure><figure
c5140 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
c5160 68 65 6c 6c 3c 2f 66 69 67 63 61 70 74 69 6f 6e 3e 3c 70 72 65 3e 3c 73 61 6d 70 3e 24 20 3c 6b hell</figcaption><pre><samp>$.<k
c5180 62 64 3e 7a 69 67 20 62 75 69 6c 64 2d 65 78 65 20 72 75 6e 74 69 6d 65 5f 64 69 76 45 78 61 63 bd>zig.build-exe.runtime_divExac
c51a0 74 5f 72 65 6d 61 69 6e 64 65 72 2e 7a 69 67 3c 2f 6b 62 64 3e 0a 24 20 3c 6b 62 64 3e 2e 2f 72 t_remainder.zig</kbd>.$.<kbd>./r
c51c0 75 6e 74 69 6d 65 5f 64 69 76 45 78 61 63 74 5f 72 65 6d 61 69 6e 64 65 72 3c 2f 6b 62 64 3e 0a untime_divExact_remainder</kbd>.
c51e0 74 68 72 65 61 64 20 32 33 34 35 38 32 20 70 61 6e 69 63 3a 20 65 78 61 63 74 20 64 69 76 69 73 thread.234582.panic:.exact.divis
c5200 69 6f 6e 20 70 72 6f 64 75 63 65 64 20 72 65 6d 61 69 6e 64 65 72 0a 2f 68 6f 6d 65 2f 63 69 2f ion.produced.remainder./home/ci/
c5220 77 6f 72 6b 2f 7a 69 67 2d 62 6f 6f 74 73 74 72 61 70 2f 7a 69 67 2f 64 6f 63 2f 6c 61 6e 67 72 work/zig-bootstrap/zig/doc/langr
c5240 65 66 2f 72 75 6e 74 69 6d 65 5f 64 69 76 45 78 61 63 74 5f 72 65 6d 61 69 6e 64 65 72 2e 7a 69 ef/runtime_divExact_remainder.zi
c5260 67 3a 37 3a 31 35 3a 20 30 78 31 31 64 39 30 39 35 20 69 6e 20 6d 61 69 6e 20 28 72 75 6e 74 69 g:7:15:.0x11d9095.in.main.(runti
c5280 6d 65 5f 64 69 76 45 78 61 63 74 5f 72 65 6d 61 69 6e 64 65 72 2e 7a 69 67 29 0a 20 20 20 20 63 me_divExact_remainder.zig).....c
c52a0 6f 6e 73 74 20 63 20 3d 20 40 64 69 76 45 78 61 63 74 28 61 2c 20 62 29 3b 0a 20 20 20 20 20 20 onst.c.=.@divExact(a,.b);.......
c52c0 20 20 20 20 20 20 20 20 5e 0a 2f 68 6f 6d 65 2f 63 69 2f 77 6f 72 6b 2f 7a 69 67 2d 62 6f 6f 74 ........^./home/ci/work/zig-boot
c52e0 73 74 72 61 70 2f 6f 75 74 2f 68 6f 73 74 2f 6c 69 62 2f 7a 69 67 2f 73 74 64 2f 73 74 61 72 74 strap/out/host/lib/zig/std/start
c5300 2e 7a 69 67 3a 37 32 32 3a 35 39 3a 20 30 78 31 31 64 38 39 35 31 20 69 6e 20 63 61 6c 6c 4d 61 .zig:722:59:.0x11d8951.in.callMa
c5320 69 6e 20 28 73 74 64 2e 7a 69 67 29 0a 20 20 20 20 69 66 20 28 66 6e 5f 69 6e 66 6f 2e 70 61 72 in.(std.zig).....if.(fn_info.par
c5340 61 6d 73 2e 6c 65 6e 20 3d 3d 20 30 29 20 72 65 74 75 72 6e 20 77 72 61 70 4d 61 69 6e 28 72 6f ams.len.==.0).return.wrapMain(ro
c5360 6f 74 2e 6d 61 69 6e 28 29 29 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ot.main());.....................
c5380 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ................................
c53a0 20 20 20 20 20 20 5e 0a 2f 68 6f 6d 65 2f 63 69 2f 77 6f 72 6b 2f 7a 69 67 2d 62 6f 6f 74 73 74 ......^./home/ci/work/zig-bootst
c53c0 72 61 70 2f 6f 75 74 2f 68 6f 73 74 2f 6c 69 62 2f 7a 69 67 2f 73 74 64 2f 73 74 61 72 74 2e 7a rap/out/host/lib/zig/std/start.z
c53e0 69 67 3a 32 30 34 3a 35 3a 20 30 78 31 31 64 38 33 38 31 20 69 6e 20 5f 73 74 61 72 74 20 28 73 ig:204:5:.0x11d8381.in._start.(s
c5400 74 64 2e 7a 69 67 29 0a 20 20 20 20 61 73 6d 20 76 6f 6c 61 74 69 6c 65 20 28 73 77 69 74 63 68 td.zig).....asm.volatile.(switch
c5420 20 28 6e 61 74 69 76 65 5f 61 72 63 68 29 20 7b 0a 20 20 20 20 5e 0a 28 70 72 6f 63 65 73 73 20 .(native_arch).{.....^.(process.
c5440 74 65 72 6d 69 6e 61 74 65 64 20 62 79 20 73 69 67 6e 61 6c 29 0a 3c 2f 73 61 6d 70 3e 3c 2f 70 terminated.by.signal).</samp></p
c5460 72 65 3e 3c 2f 66 69 67 75 72 65 3e 0a 0a 20 20 20 20 20 20 0a 20 20 20 20 20 20 3c 68 33 20 69 re></figure>...............<h3.i
c5480 64 3d 22 41 74 74 65 6d 70 74 2d 74 6f 2d 55 6e 77 72 61 70 2d 4e 75 6c 6c 22 3e 3c 61 20 68 72 d="Attempt-to-Unwrap-Null"><a.hr
c54a0 65 66 3d 22 6e 61 76 2e 78 68 74 6d 6c 23 74 6f 63 2d 41 74 74 65 6d 70 74 2d 74 6f 2d 55 6e 77 ef="nav.xhtml#toc-Attempt-to-Unw
c54c0 72 61 70 2d 4e 75 6c 6c 22 3e 41 74 74 65 6d 70 74 20 74 6f 20 55 6e 77 72 61 70 20 4e 75 6c 6c rap-Null">Attempt.to.Unwrap.Null
c54e0 3c 2f 61 3e 20 3c 61 20 63 6c 61 73 73 3d 22 68 64 72 22 20 68 72 65 66 3d 22 23 41 74 74 65 6d </a>.<a.class="hdr".href="#Attem
c5500 70 74 2d 74 6f 2d 55 6e 77 72 61 70 2d 4e 75 6c 6c 22 3e c2 a7 3c 2f 61 3e 3c 2f 68 33 3e 0a 0a pt-to-Unwrap-Null">..</a></h3>..
c5520 20 20 20 20 20 20 3c 70 3e 41 74 20 63 6f 6d 70 69 6c 65 2d 74 69 6d 65 3a 3c 2f 70 3e 0a 20 20 ......<p>At.compile-time:</p>...
c5540 20 20 20 20 3c 66 69 67 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
c5560 69 67 2d 63 61 70 22 3e 3c 63 69 74 65 20 63 6c 61 73 73 3d 22 66 69 6c 65 22 3e 74 65 73 74 5f ig-cap"><cite.class="file">test_
c5580 63 6f 6d 70 74 69 6d 65 5f 75 6e 77 72 61 70 5f 6e 75 6c 6c 2e 7a 69 67 3c 2f 63 69 74 65 3e 3c comptime_unwrap_null.zig</cite><
c55a0 2f 66 69 67 63 61 70 74 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
c55c0 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 63 6f 6d 70 74 69 6d 65 3c 2f 73 70 61 6e 3e 20 7b 0a 20 20 ss="tok-kw">comptime</span>.{...
c55e0 20 20 3c 73 70 61 6e 20 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
c5600 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
c5620 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.
c5640 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6c 6c 22 3e 6e 75 6c 6c 3c 2f 73 70 61 6e 3e 3b 0a 20 20 class="tok-null">null</span>;...
c5660 20 20 3c 73 70 61 6e 20 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
c5680 61 6e 3e 20 6e 75 6d 62 65 72 20 3d 20 6f 70 74 69 6f 6e 61 6c 5f 6e 75 6d 62 65 72 2e 3f 3b 0a an>.number.=.optional_number.?;.
c56a0 20 20 20 20 5f 20 3d 20 6e 75 6d 62 65 72 3b 0a 7d 3c 2f 63 6f 64 65 3e 3c 2f 70 72 65 3e 3c 2f ...._.=.number;.}</code></pre></
c56c0 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
c56e0 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><
c5700 70 72 65 3e 3c 73 61 6d 70 3e 24 20 3c 6b 62 64 3e 7a 69 67 20 74 65 73 74 20 74 65 73 74 5f 63 pre><samp>$.<kbd>zig.test.test_c
c5720 6f 6d 70 74 69 6d 65 5f 75 6e 77 72 61 70 5f 6e 75 6c 6c 2e 7a 69 67 3c 2f 6b 62 64 3e 0a 3c 73 omptime_unwrap_null.zig</kbd>.<s
c5740 70 61 6e 20 63 6c 61 73 73 3d 22 73 67 72 2d 31 6d 22 3e 2f 68 6f 6d 65 2f 63 69 2f 77 6f 72 6b pan.class="sgr-1m">/home/ci/work
c5760 2f 7a 69 67 2d 62 6f 6f 74 73 74 72 61 70 2f 7a 69 67 2f 64 6f 63 2f 6c 61 6e 67 72 65 66 2f 74 /zig-bootstrap/zig/doc/langref/t
c5780 65 73 74 5f 63 6f 6d 70 74 69 6d 65 5f 75 6e 77 72 61 70 5f 6e 75 6c 6c 2e 7a 69 67 3a 33 3a 33 est_comptime_unwrap_null.zig:3:3
c57a0 35 3a 20 3c 2f 73 70 61 6e 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 73 67 72 2d 33 31 6d 22 3e 5:.</span><span.class="sgr-31m">
c57c0 65 72 72 6f 72 3a 20 3c 2f 73 70 61 6e 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 73 67 72 2d 31 error:.</span><span.class="sgr-1
c57e0 6d 22 3e 75 6e 61 62 6c 65 20 74 6f 20 75 6e 77 72 61 70 20 6e 75 6c 6c 0a 3c 2f 73 70 61 6e 3e m">unable.to.unwrap.null.</span>
c5800 20 20 20 20 63 6f 6e 73 74 20 6e 75 6d 62 65 72 20 3d 20 6f 70 74 69 6f 6e 61 6c 5f 6e 75 6d 62 ....const.number.=.optional_numb
c5820 65 72 2e 3f 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 3c 73 70 61 6e 20 63 er.?;....................<span.c
c5840 6c 61 73 73 3d 22 73 67 72 2d 33 32 6d 22 3e 7e 7e 7e 7e 7e 7e 7e 7e 7e 7e 7e 7e 7e 7e 7e 5e 7e lass="sgr-32m">~~~~~~~~~~~~~~~^~
c5860 0a 3c 2f 73 70 61 6e 3e 0a 3c 2f 73 61 6d 70 3e 3c 2f 70 72 65 3e 3c 2f 66 69 67 75 72 65 3e 0a .</span>.</samp></pre></figure>.
c5880 0a 20 20 20 20 20 20 3c 70 3e 41 74 20 72 75 6e 74 69 6d 65 3a 3c 2f 70 3e 0a 20 20 20 20 20 20 .......<p>At.runtime:</p>.......
c58a0 3c 66 69 67 75 72 65 3e 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
c58c0 61 70 22 3e 3c 63 69 74 65 20 63 6c 61 73 73 3d 22 66 69 6c 65 22 3e 72 75 6e 74 69 6d 65 5f 75 ap"><cite.class="file">runtime_u
c58e0 6e 77 72 61 70 5f 6e 75 6c 6c 2e 7a 69 67 3c 2f 63 69 74 65 3e 3c 2f 66 69 67 63 61 70 74 69 6f nwrap_null.zig</cite></figcaptio
c5900 6e 3e 3c 70 72 65 3e 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 n><pre><code><span.class="tok-kw
c5920 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
c5940 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
c5960 70 61 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
c5980 6f 74 3b 3c 2f 73 70 61 6e 3e 29 3b 0a 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b ot;</span>);..<span.class="tok-k
c59a0 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
c59c0 77 22 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
c59e0 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
c5a00 2d 74 79 70 65 22 3e 76 6f 69 64 3c 2f 73 70 61 6e 3e 20 7b 0a 20 20 20 20 3c 73 70 61 6e 20 63 -type">void</span>.{.....<span.c
c5a20 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 76 61 72 3c 2f 73 70 61 6e 3e 20 6f 70 74 69 6f 6e 61 lass="tok-kw">var</span>.optiona
c5a40 6c 5f 6e 75 6d 62 65 72 3a 20 3f 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 l_number:.?<span.class="tok-type
c5a60 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-
c5a80 6e 75 6c 6c 22 3e 6e 75 6c 6c 3c 2f 73 70 61 6e 3e 3b 0a 20 20 20 20 5f 20 3d 20 26 61 6d 70 3b null">null</span>;....._.=.&amp;
c5aa0 6f 70 74 69 6f 6e 61 6c 5f 6e 75 6d 62 65 72 3b 0a 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 optional_number;.....<span.class
c5ac0 3d 22 74 6f 6b 2d 6b 77 22 3e 63 6f 6e 73 74 3c 2f 73 70 61 6e 3e 20 6e 75 6d 62 65 72 20 3d 20 ="tok-kw">const</span>.number.=.
c5ae0 6f 70 74 69 6f 6e 61 6c 5f 6e 75 6d 62 65 72 2e 3f 3b 0a 20 20 20 20 73 74 64 2e 64 65 62 75 67 optional_number.?;.....std.debug
c5b00 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
c5b20 6f 74 3b 76 61 6c 75 65 3a 20 7b 7d 5c 6e 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 2c 20 2e 7b 6e ot;value:.{}\n&quot;</span>,..{n
c5b40 75 6d 62 65 72 7d 29 3b 0a 7d 3c 2f 63 6f 64 65 3e 3c 2f 70 72 65 3e 3c 2f 66 69 67 75 72 65 3e umber});.}</code></pre></figure>
c5b60 3c 66 69 67 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
c5b80 2d 63 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
c5ba0 6d 70 3e 24 20 3c 6b 62 64 3e 7a 69 67 20 62 75 69 6c 64 2d 65 78 65 20 72 75 6e 74 69 6d 65 5f mp>$.<kbd>zig.build-exe.runtime_
c5bc0 75 6e 77 72 61 70 5f 6e 75 6c 6c 2e 7a 69 67 3c 2f 6b 62 64 3e 0a 24 20 3c 6b 62 64 3e 2e 2f 72 unwrap_null.zig</kbd>.$.<kbd>./r
c5be0 75 6e 74 69 6d 65 5f 75 6e 77 72 61 70 5f 6e 75 6c 6c 3c 2f 6b 62 64 3e 0a 74 68 72 65 61 64 20 untime_unwrap_null</kbd>.thread.
c5c00 32 33 33 33 33 37 20 70 61 6e 69 63 3a 20 61 74 74 65 6d 70 74 20 74 6f 20 75 73 65 20 6e 75 6c 233337.panic:.attempt.to.use.nul
c5c20 6c 20 76 61 6c 75 65 0a 2f 68 6f 6d 65 2f 63 69 2f 77 6f 72 6b 2f 7a 69 67 2d 62 6f 6f 74 73 74 l.value./home/ci/work/zig-bootst
c5c40 72 61 70 2f 7a 69 67 2f 64 6f 63 2f 6c 61 6e 67 72 65 66 2f 72 75 6e 74 69 6d 65 5f 75 6e 77 72 rap/zig/doc/langref/runtime_unwr
c5c60 61 70 5f 6e 75 6c 6c 2e 7a 69 67 3a 36 3a 33 35 3a 20 30 78 31 31 64 39 30 36 34 20 69 6e 20 6d ap_null.zig:6:35:.0x11d9064.in.m
c5c80 61 69 6e 20 28 72 75 6e 74 69 6d 65 5f 75 6e 77 72 61 70 5f 6e 75 6c 6c 2e 7a 69 67 29 0a 20 20 ain.(runtime_unwrap_null.zig)...
c5ca0 20 20 63 6f 6e 73 74 20 6e 75 6d 62 65 72 20 3d 20 6f 70 74 69 6f 6e 61 6c 5f 6e 75 6d 62 65 72 ..const.number.=.optional_number
c5cc0 2e 3f 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 .?;.............................
c5ce0 20 20 20 20 20 20 5e 0a 2f 68 6f 6d 65 2f 63 69 2f 77 6f 72 6b 2f 7a 69 67 2d 62 6f 6f 74 73 74 ......^./home/ci/work/zig-bootst
c5d00 72 61 70 2f 6f 75 74 2f 68 6f 73 74 2f 6c 69 62 2f 7a 69 67 2f 73 74 64 2f 73 74 61 72 74 2e 7a rap/out/host/lib/zig/std/start.z
c5d20 69 67 3a 37 32 32 3a 35 39 3a 20 30 78 31 31 64 38 39 35 31 20 69 6e 20 63 61 6c 6c 4d 61 69 6e ig:722:59:.0x11d8951.in.callMain
c5d40 20 28 73 74 64 2e 7a 69 67 29 0a 20 20 20 20 69 66 20 28 66 6e 5f 69 6e 66 6f 2e 70 61 72 61 6d .(std.zig).....if.(fn_info.param
c5d60 73 2e 6c 65 6e 20 3d 3d 20 30 29 20 72 65 74 75 72 6e 20 77 72 61 70 4d 61 69 6e 28 72 6f 6f 74 s.len.==.0).return.wrapMain(root
c5d80 2e 6d 61 69 6e 28 29 29 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 .main());.......................
c5da0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ................................
c5dc0 20 20 20 20 5e 0a 2f 68 6f 6d 65 2f 63 69 2f 77 6f 72 6b 2f 7a 69 67 2d 62 6f 6f 74 73 74 72 61 ....^./home/ci/work/zig-bootstra
c5de0 70 2f 6f 75 74 2f 68 6f 73 74 2f 6c 69 62 2f 7a 69 67 2f 73 74 64 2f 73 74 61 72 74 2e 7a 69 67 p/out/host/lib/zig/std/start.zig
c5e00 3a 32 30 34 3a 35 3a 20 30 78 31 31 64 38 33 38 31 20 69 6e 20 5f 73 74 61 72 74 20 28 73 74 64 :204:5:.0x11d8381.in._start.(std
c5e20 2e 7a 69 67 29 0a 20 20 20 20 61 73 6d 20 76 6f 6c 61 74 69 6c 65 20 28 73 77 69 74 63 68 20 28 .zig).....asm.volatile.(switch.(
c5e40 6e 61 74 69 76 65 5f 61 72 63 68 29 20 7b 0a 20 20 20 20 5e 0a 28 70 72 6f 63 65 73 73 20 74 65 native_arch).{.....^.(process.te
c5e60 72 6d 69 6e 61 74 65 64 20 62 79 20 73 69 67 6e 61 6c 29 0a 3c 2f 73 61 6d 70 3e 3c 2f 70 72 65 rminated.by.signal).</samp></pre
c5e80 3e 3c 2f 66 69 67 75 72 65 3e 0a 0a 20 20 20 20 20 20 3c 70 3e 4f 6e 65 20 77 61 79 20 74 6f 20 ></figure>........<p>One.way.to.
c5ea0 61 76 6f 69 64 20 74 68 69 73 20 63 72 61 73 68 20 69 73 20 74 6f 20 74 65 73 74 20 66 6f 72 20 avoid.this.crash.is.to.test.for.
c5ec0 6e 75 6c 6c 20 69 6e 73 74 65 61 64 20 6f 66 20 61 73 73 75 6d 69 6e 67 20 6e 6f 6e 2d 6e 75 6c null.instead.of.assuming.non-nul
c5ee0 6c 2c 20 77 69 74 68 0a 20 20 20 20 20 20 74 68 65 20 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c l,.with.......the.<code><span.cl
c5f00 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 69 66 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 20 65 78 ass="tok-kw">if</span></code>.ex
c5f20 70 72 65 73 73 69 6f 6e 3a 3c 2f 70 3e 0a 20 20 20 20 20 20 3c 66 69 67 75 72 65 3e 3c 66 69 67 pression:</p>.......<figure><fig
c5f40 63 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
c5f60 61 73 73 3d 22 66 69 6c 65 22 3e 74 65 73 74 69 6e 67 5f 6e 75 6c 6c 5f 77 69 74 68 5f 69 66 2e ass="file">testing_null_with_if.
c5f80 7a 69 67 3c 2f 63 69 74 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
c5fa0 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 63 6f 6e 73 74 3c 2f 73 70 e><span.class="tok-kw">const</sp
c5fc0 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
c5fe0 6c 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
c6000 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
c6020 3e 29 2e 64 65 62 75 67 2e 70 72 69 6e 74 3b 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b >).debug.print;.<span.class="tok
c6040 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
c6060 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-
c6080 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
c60a0 6f 6b 2d 74 79 70 65 22 3e 76 6f 69 64 3c 2f 73 70 61 6e 3e 20 7b 0a 20 20 20 20 3c 73 70 61 6e ok-type">void</span>.{.....<span
c60c0 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 63 6f 6e 73 74 3c 2f 73 70 61 6e 3e 20 6f 70 74 .class="tok-kw">const</span>.opt
c60e0 69 6f 6e 61 6c 5f 6e 75 6d 62 65 72 3a 20 3f 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d ional_number:.?<span.class="tok-
c6100 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="
c6120 74 6f 6b 2d 6e 75 6c 6c 22 3e 6e 75 6c 6c 3c 2f 73 70 61 6e 3e 3b 0a 0a 20 20 20 20 3c 73 70 61 tok-null">null</span>;......<spa
c6140 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
c6160 6f 6e 61 6c 5f 6e 75 6d 62 65 72 29 20 7c 6e 75 6d 62 65 72 7c 20 7b 0a 20 20 20 20 20 20 20 20 onal_number).|number|.{.........
c6180 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
c61a0 74 3b 67 6f 74 20 6e 75 6d 62 65 72 3a 20 7b 7d 5c 6e 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 2c t;got.number:.{}\n&quot;</span>,
c61c0 20 2e 7b 6e 75 6d 62 65 72 7d 29 3b 0a 20 20 20 20 7d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 ..{number});.....}.<span.class="
c61e0 74 6f 6b 2d 6b 77 22 3e 65 6c 73 65 3c 2f 73 70 61 6e 3e 20 7b 0a 20 20 20 20 20 20 20 20 70 72 tok-kw">else</span>.{.........pr
c6200 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;
c6220 69 74 27 73 20 6e 75 6c 6c 5c 6e 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 2c 20 2e 7b 7d 29 3b 0a it's.null\n&quot;</span>,..{});.
c6240 20 20 20 20 7d 0a 7d 3c 2f 63 6f 64 65 3e 3c 2f 70 72 65 3e 3c 2f 66 69 67 75 72 65 3e 3c 66 69 ....}.}</code></pre></figure><fi
c6260 67 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
c6280 70 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>
c62a0 24 20 3c 6b 62 64 3e 7a 69 67 20 62 75 69 6c 64 2d 65 78 65 20 74 65 73 74 69 6e 67 5f 6e 75 6c $.<kbd>zig.build-exe.testing_nul
c62c0 6c 5f 77 69 74 68 5f 69 66 2e 7a 69 67 3c 2f 6b 62 64 3e 0a 24 20 3c 6b 62 64 3e 2e 2f 74 65 73 l_with_if.zig</kbd>.$.<kbd>./tes
c62e0 74 69 6e 67 5f 6e 75 6c 6c 5f 77 69 74 68 5f 69 66 3c 2f 6b 62 64 3e 0a 69 74 27 73 20 6e 75 6c ting_null_with_if</kbd>.it's.nul
c6300 6c 0a 3c 2f 73 61 6d 70 3e 3c 2f 70 72 65 3e 3c 2f 66 69 67 75 72 65 3e 0a 0a 20 20 20 20 20 20 l.</samp></pre></figure>........
c6320 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
c6340 3d 22 23 4f 70 74 69 6f 6e 61 6c 73 22 3e 4f 70 74 69 6f 6e 61 6c 73 3c 2f 61 3e 3c 2f 6c 69 3e ="#Optionals">Optionals</a></li>
c6360 0a 3c 2f 75 6c 3e 0a 0a 20 20 20 20 20 20 0a 20 20 20 20 20 20 3c 68 33 20 69 64 3d 22 41 74 74 .</ul>...............<h3.id="Att
c6380 65 6d 70 74 2d 74 6f 2d 55 6e 77 72 61 70 2d 45 72 72 6f 72 22 3e 3c 61 20 68 72 65 66 3d 22 6e empt-to-Unwrap-Error"><a.href="n
c63a0 61 76 2e 78 68 74 6d 6c 23 74 6f 63 2d 41 74 74 65 6d 70 74 2d 74 6f 2d 55 6e 77 72 61 70 2d 45 av.xhtml#toc-Attempt-to-Unwrap-E
c63c0 72 72 6f 72 22 3e 41 74 74 65 6d 70 74 20 74 6f 20 55 6e 77 72 61 70 20 45 72 72 6f 72 3c 2f 61 rror">Attempt.to.Unwrap.Error</a
c63e0 3e 20 3c 61 20 63 6c 61 73 73 3d 22 68 64 72 22 20 68 72 65 66 3d 22 23 41 74 74 65 6d 70 74 2d >.<a.class="hdr".href="#Attempt-
c6400 74 6f 2d 55 6e 77 72 61 70 2d 45 72 72 6f 72 22 3e c2 a7 3c 2f 61 3e 3c 2f 68 33 3e 0a 0a 20 20 to-Unwrap-Error">..</a></h3>....
c6420 20 20 20 20 3c 70 3e 41 74 20 63 6f 6d 70 69 6c 65 2d 74 69 6d 65 3a 3c 2f 70 3e 0a 20 20 20 20 ....<p>At.compile-time:</p>.....
c6440 20 20 3c 66 69 67 75 72 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
c6460 2d 63 61 70 22 3e 3c 63 69 74 65 20 63 6c 61 73 73 3d 22 66 69 6c 65 22 3e 74 65 73 74 5f 63 6f -cap"><cite.class="file">test_co
c6480 6d 70 74 69 6d 65 5f 75 6e 77 72 61 70 5f 65 72 72 6f 72 2e 7a 69 67 3c 2f 63 69 74 65 3e 3c 2f mptime_unwrap_error.zig</cite></
c64a0 66 69 67 63 61 70 74 69 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
c64c0 73 3d 22 74 6f 6b 2d 6b 77 22 3e 63 6f 6d 70 74 69 6d 65 3c 2f 73 70 61 6e 3e 20 7b 0a 20 20 20 s="tok-kw">comptime</span>.{....
c64e0 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 63 6f 6e 73 74 3c 2f 73 70 61 .<span.class="tok-kw">const</spa
c6500 6e 3e 20 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 3c 73 n>.number.=.getNumberOrFail().<s
c6520 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 63 61 74 63 68 3c 2f 73 70 61 6e 3e 20 pan.class="tok-kw">catch</span>.
c6540 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 75 6e 72 65 61 63 68 61 62 6c 65 <span.class="tok-kw">unreachable
c6560 3c 2f 73 70 61 6e 3e 3b 0a 20 20 20 20 5f 20 3d 20 6e 75 6d 62 65 72 3b 0a 7d 0a 0a 3c 73 70 61 </span>;....._.=.number;.}..<spa
c6580 6e 20 63 6c 61 73 73 3d 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
c65a0 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 61 69 6c 3c .class="tok-fn">getNumberOrFail<
c65c0 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"
c65e0 3e 69 33 32 3c 2f 73 70 61 6e 3e 20 7b 0a 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 >i32</span>.{.....<span.class="t
c6600 6f 6b 2d 6b 77 22 3e 72 65 74 75 72 6e 3c 2f 73 70 61 6e 3e 20 3c 73 70 61 6e 20 63 6c 61 73 73 ok-kw">return</span>.<span.class
c6620 3d 22 74 6f 6b 2d 6b 77 22 3e 65 72 72 6f 72 3c 2f 73 70 61 6e 3e 2e 55 6e 61 62 6c 65 54 6f 52 ="tok-kw">error</span>.UnableToR
c6640 65 74 75 72 6e 4e 75 6d 62 65 72 3b 0a 7d 3c 2f 63 6f 64 65 3e 3c 2f 70 72 65 3e 3c 2f 66 69 67 eturnNumber;.}</code></pre></fig
c6660 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
c6680 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
c66a0 3e 3c 73 61 6d 70 3e 24 20 3c 6b 62 64 3e 7a 69 67 20 74 65 73 74 20 74 65 73 74 5f 63 6f 6d 70 ><samp>$.<kbd>zig.test.test_comp
c66c0 74 69 6d 65 5f 75 6e 77 72 61 70 5f 65 72 72 6f 72 2e 7a 69 67 3c 2f 6b 62 64 3e 0a 3c 73 70 61 time_unwrap_error.zig</kbd>.<spa
c66e0 6e 20 63 6c 61 73 73 3d 22 73 67 72 2d 31 6d 22 3e 2f 68 6f 6d 65 2f 63 69 2f 77 6f 72 6b 2f 7a n.class="sgr-1m">/home/ci/work/z
c6700 69 67 2d 62 6f 6f 74 73 74 72 61 70 2f 7a 69 67 2f 64 6f 63 2f 6c 61 6e 67 72 65 66 2f 74 65 73 ig-bootstrap/zig/doc/langref/tes
c6720 74 5f 63 6f 6d 70 74 69 6d 65 5f 75 6e 77 72 61 70 5f 65 72 72 6f 72 2e 7a 69 67 3a 32 3a 34 34 t_comptime_unwrap_error.zig:2:44
c6740 3a 20 3c 2f 73 70 61 6e 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 73 67 72 2d 33 31 6d 22 3e 65 :.</span><span.class="sgr-31m">e
c6760 72 72 6f 72 3a 20 3c 2f 73 70 61 6e 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 73 67 72 2d 31 6d rror:.</span><span.class="sgr-1m
c6780 22 3e 63 61 75 67 68 74 20 75 6e 65 78 70 65 63 74 65 64 20 65 72 72 6f 72 20 27 55 6e 61 62 6c ">caught.unexpected.error.'Unabl
c67a0 65 54 6f 52 65 74 75 72 6e 4e 75 6d 62 65 72 27 0a 3c 2f 73 70 61 6e 3e 20 20 20 20 63 6f 6e 73 eToReturnNumber'.</span>....cons
c67c0 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 63 61 74 t.number.=.getNumberOrFail().cat
c67e0 63 68 20 75 6e 72 65 61 63 68 61 62 6c 65 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ch.unreachable;.................
c6800 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 3c 73 70 61 6e ...........................<span
c6820 20 63 6c 61 73 73 3d 22 73 67 72 2d 33 32 6d 22 3e 5e 7e 7e 7e 7e 7e 7e 7e 7e 7e 7e 0a 3c 2f 73 .class="sgr-32m">^~~~~~~~~~~.</s
c6840 70 61 6e 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 73 67 72 2d 31 6d 22 3e 2f 68 6f 6d 65 2f 63 pan><span.class="sgr-1m">/home/c
c6860 69 2f 77 6f 72 6b 2f 7a 69 67 2d 62 6f 6f 74 73 74 72 61 70 2f 7a 69 67 2f 64 6f 63 2f 6c 61 6e i/work/zig-bootstrap/zig/doc/lan
c6880 67 72 65 66 2f 74 65 73 74 5f 63 6f 6d 70 74 69 6d 65 5f 75 6e 77 72 61 70 5f 65 72 72 6f 72 2e gref/test_comptime_unwrap_error.
c68a0 7a 69 67 3a 37 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 73 67 zig:7:18:.</span><span.class="sg
c68c0 72 2d 33 36 6d 22 3e 6e 6f 74 65 3a 20 3c 2f 73 70 61 6e 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d r-36m">note:.</span><span.class=
c68e0 22 73 67 72 2d 31 6d 22 3e 65 72 72 6f 72 20 72 65 74 75 72 6e 65 64 20 68 65 72 65 0a 3c 2f 73 "sgr-1m">error.returned.here.</s
c6900 70 61 6e 3e 20 20 20 20 72 65 74 75 72 6e 20 65 72 72 6f 72 2e 55 6e 61 62 6c 65 54 6f 52 65 74 pan>....return.error.UnableToRet
c6920 75 72 6e 4e 75 6d 62 65 72 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 3c 73 70 61 urnNumber;..................<spa
c6940 6e 20 63 6c 61 73 73 3d 22 73 67 72 2d 33 32 6d 22 3e 5e 7e 7e 7e 7e 7e 7e 7e 7e 7e 7e 7e 7e 7e n.class="sgr-32m">^~~~~~~~~~~~~~
c6960 7e 7e 7e 7e 7e 7e 0a 3c 2f 73 70 61 6e 3e 0a 3c 2f 73 61 6d 70 3e 3c 2f 70 72 65 3e 3c 2f 66 69 ~~~~~~.</span>.</samp></pre></fi
c6980 67 75 72 65 3e 0a 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 gure>........<p>At.runtime:</p>.
c69a0 20 20 20 20 20 20 3c 66 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=
c69c0 22 7a 69 67 2d 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 "zig-cap"><cite.class="file">run
c69e0 74 69 6d 65 5f 75 6e 77 72 61 70 5f 65 72 72 6f 72 2e 7a 69 67 3c 2f 63 69 74 65 3e 3c 2f 66 69 time_unwrap_error.zig</cite></fi
c6a00 67 63 61 70 74 69 6f 6e 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=
c6a20 22 74 6f 6b 2d 6b 77 22 3e 63 6f 6e 73 74 3c 2f 73 70 61 6e 3e 20 73 74 64 20 3d 20 3c 73 70 61 "tok-kw">const</span>.std.=.<spa
c6a40 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
c6a60 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
c6a80 3b 73 74 64 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 29 3b 0a 0a 3c 73 70 61 6e 20 63 6c 61 73 73 ;std&quot;</span>);..<span.class
c6aa0 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
c6ac0 3d 22 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=
c6ae0 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
c6b00 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 76 6f 69 64 3c 2f 73 70 61 6e 3e 20 7b 0a 20 20 20 20 ss="tok-type">void</span>.{.....
c6b20 3c 73 70 61 6e 20 63 6c 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
c6b40 3e 20 6e 75 6d 62 65 72 20 3d 20 67 65 74 4e 75 6d 62 65 72 4f 72 46 61 69 6c 28 29 20 3c 73 70 >.number.=.getNumberOrFail().<sp
c6b60 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 63 61 74 63 68 3c 2f 73 70 61 6e 3e 20 3c an.class="tok-kw">catch</span>.<
c6b80 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<
c6ba0 2f 73 70 61 6e 3e 3b 0a 20 20 20 20 73 74 64 2e 64 65 62 75 67 2e 70 72 69 6e 74 28 3c 73 70 61 /span>;.....std.debug.print(<spa
c6bc0 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 73 74 72 22 3e 26 71 75 6f 74 3b 76 61 6c 75 65 3a 20 7b n.class="tok-str">&quot;value:.{
c6be0 7d 5c 6e 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 2c 20 2e 7b 6e 75 6d 62 65 72 7d 29 3b 0a 7d 0a }\n&quot;</span>,..{number});.}.
c6c00 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 66 6e 3c 2f 73 70 61 6e 3e 20 .<span.class="tok-kw">fn</span>.
c6c20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 66 6e 22 3e 67 65 74 4e 75 6d 62 65 72 4f 72 <span.class="tok-fn">getNumberOr
c6c40 46 61 69 6c 3c 2f 73 70 61 6e 3e 28 29 20 21 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d Fail</span>().!<span.class="tok-
c6c60 74 79 70 65 22 3e 69 33 32 3c 2f 73 70 61 6e 3e 20 7b 0a 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 type">i32</span>.{.....<span.cla
c6c80 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 72 65 74 75 72 6e 3c 2f 73 70 61 6e 3e 20 3c 73 70 61 6e 20 ss="tok-kw">return</span>.<span.
c6ca0 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 65 72 72 6f 72 3c 2f 73 70 61 6e 3e 2e 55 6e 61 62 class="tok-kw">error</span>.Unab
c6cc0 6c 65 54 6f 52 65 74 75 72 6e 4e 75 6d 62 65 72 3b 0a 7d 3c 2f 63 6f 64 65 3e 3c 2f 70 72 65 3e leToReturnNumber;.}</code></pre>
c6ce0 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
c6d00 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
c6d20 3e 3c 70 72 65 3e 3c 73 61 6d 70 3e 24 20 3c 6b 62 64 3e 7a 69 67 20 62 75 69 6c 64 2d 65 78 65 ><pre><samp>$.<kbd>zig.build-exe
c6d40 20 72 75 6e 74 69 6d 65 5f 75 6e 77 72 61 70 5f 65 72 72 6f 72 2e 7a 69 67 3c 2f 6b 62 64 3e 0a .runtime_unwrap_error.zig</kbd>.
c6d60 24 20 3c 6b 62 64 3e 2e 2f 72 75 6e 74 69 6d 65 5f 75 6e 77 72 61 70 5f 65 72 72 6f 72 3c 2f 6b $.<kbd>./runtime_unwrap_error</k
c6d80 62 64 3e 0a 74 68 72 65 61 64 20 32 33 34 39 36 39 20 70 61 6e 69 63 3a 20 61 74 74 65 6d 70 74 bd>.thread.234969.panic:.attempt
c6da0 20 74 6f 20 75 6e 77 72 61 70 20 65 72 72 6f 72 3a 20 55 6e 61 62 6c 65 54 6f 52 65 74 75 72 6e .to.unwrap.error:.UnableToReturn
c6dc0 4e 75 6d 62 65 72 0a 65 72 72 6f 72 20 72 65 74 75 72 6e 20 63 6f 6e 74 65 78 74 3a 0a 2f 68 6f Number.error.return.context:./ho
c6de0 6d 65 2f 63 69 2f 77 6f 72 6b 2f 7a 69 67 2d 62 6f 6f 74 73 74 72 61 70 2f 7a 69 67 2f 64 6f 63 me/ci/work/zig-bootstrap/zig/doc
c6e00 2f 6c 61 6e 67 72 65 66 2f 72 75 6e 74 69 6d 65 5f 75 6e 77 72 61 70 5f 65 72 72 6f 72 2e 7a 69 /langref/runtime_unwrap_error.zi
c6e20 67 3a 39 3a 35 3a 20 30 78 31 31 64 39 30 33 63 20 69 6e 20 67 65 74 4e 75 6d 62 65 72 4f 72 46 g:9:5:.0x11d903c.in.getNumberOrF
c6e40 61 69 6c 20 28 72 75 6e 74 69 6d 65 5f 75 6e 77 72 61 70 5f 65 72 72 6f 72 2e 7a 69 67 29 0a 20 ail.(runtime_unwrap_error.zig)..
c6e60 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 75 ...return.error.UnableToReturnNu
c6e80 6d 62 65 72 3b 0a 20 20 20 20 5e 0a 0a 73 74 61 63 6b 20 74 72 61 63 65 3a 0a 2f 68 6f 6d 65 2f mber;.....^..stack.trace:./home/
c6ea0 63 69 2f 77 6f 72 6b 2f 7a 69 67 2d 62 6f 6f 74 73 74 72 61 70 2f 7a 69 67 2f 64 6f 63 2f 6c 61 ci/work/zig-bootstrap/zig/doc/la
c6ec0 6e 67 72 65 66 2f 72 75 6e 74 69 6d 65 5f 75 6e 77 72 61 70 5f 65 72 72 6f 72 2e 7a 69 67 3a 34 ngref/runtime_unwrap_error.zig:4
c6ee0 3a 34 34 3a 20 30 78 31 31 64 39 30 61 33 20 69 6e 20 6d 61 69 6e 20 28 72 75 6e 74 69 6d 65 5f :44:.0x11d90a3.in.main.(runtime_
c6f00 75 6e 77 72 61 70 5f 65 72 72 6f 72 2e 7a 69 67 29 0a 20 20 20 20 63 6f 6e 73 74 20 6e 75 6d 62 unwrap_error.zig).....const.numb
c6f20 65 72 20 3d 20 67 65 74 4e 75 6d 62 65 72 4f 72 46 61 69 6c 28 29 20 63 61 74 63 68 20 75 6e 72 er.=.getNumberOrFail().catch.unr
c6f40 65 61 63 68 61 62 6c 65 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 eachable;.......................
c6f60 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 5e 0a 2f 68 6f 6d 65 2f 63 69 2f .....................^./home/ci/
c6f80 77 6f 72 6b 2f 7a 69 67 2d 62 6f 6f 74 73 74 72 61 70 2f 6f 75 74 2f 68 6f 73 74 2f 6c 69 62 2f work/zig-bootstrap/out/host/lib/
c6fa0 7a 69 67 2f 73 74 64 2f 73 74 61 72 74 2e 7a 69 67 3a 37 32 32 3a 35 39 3a 20 30 78 31 31 64 38 zig/std/start.zig:722:59:.0x11d8
c6fc0 39 35 31 20 69 6e 20 63 61 6c 6c 4d 61 69 6e 20 28 73 74 64 2e 7a 69 67 29 0a 20 20 20 20 69 66 951.in.callMain.(std.zig).....if
c6fe0 20 28 66 6e 5f 69 6e 66 6f 2e 70 61 72 61 6d 73 2e 6c 65 6e 20 3d 3d 20 30 29 20 72 65 74 75 72 .(fn_info.params.len.==.0).retur
c7000 6e 20 77 72 61 70 4d 61 69 6e 28 72 6f 6f 74 2e 6d 61 69 6e 28 29 29 3b 0a 20 20 20 20 20 20 20 n.wrapMain(root.main());........
c7020 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ................................
c7040 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 5e 0a 2f 68 6f 6d 65 2f 63 69 2f 77 6f ...................^./home/ci/wo
c7060 72 6b 2f 7a 69 67 2d 62 6f 6f 74 73 74 72 61 70 2f 6f 75 74 2f 68 6f 73 74 2f 6c 69 62 2f 7a 69 rk/zig-bootstrap/out/host/lib/zi
c7080 67 2f 73 74 64 2f 73 74 61 72 74 2e 7a 69 67 3a 32 30 34 3a 35 3a 20 30 78 31 31 64 38 33 38 31 g/std/start.zig:204:5:.0x11d8381
c70a0 20 69 6e 20 5f 73 74 61 72 74 20 28 73 74 64 2e 7a 69 67 29 0a 20 20 20 20 61 73 6d 20 76 6f 6c .in._start.(std.zig).....asm.vol
c70c0 61 74 69 6c 65 20 28 73 77 69 74 63 68 20 28 6e 61 74 69 76 65 5f 61 72 63 68 29 20 7b 0a 20 20 atile.(switch.(native_arch).{...
c70e0 20 20 5e 0a 28 70 72 6f 63 65 73 73 20 74 65 72 6d 69 6e 61 74 65 64 20 62 79 20 73 69 67 6e 61 ..^.(process.terminated.by.signa
c7100 6c 29 0a 3c 2f 73 61 6d 70 3e 3c 2f 70 72 65 3e 3c 2f 66 69 67 75 72 65 3e 0a 0a 20 20 20 20 20 l).</samp></pre></figure>.......
c7120 20 3c 70 3e 4f 6e 65 20 77 61 79 20 74 6f 20 61 76 6f 69 64 20 74 68 69 73 20 63 72 61 73 68 20 .<p>One.way.to.avoid.this.crash.
c7140 69 73 20 74 6f 20 74 65 73 74 20 66 6f 72 20 61 6e 20 65 72 72 6f 72 20 69 6e 73 74 65 61 64 20 is.to.test.for.an.error.instead.
c7160 6f 66 20 61 73 73 75 6d 69 6e 67 20 61 20 73 75 63 63 65 73 73 66 75 6c 20 72 65 73 75 6c 74 2c of.assuming.a.successful.result,
c7180 20 77 69 74 68 0a 20 20 20 20 20 20 74 68 65 20 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 .with.......the.<code><span.clas
c71a0 73 3d 22 74 6f 6b 2d 6b 77 22 3e 69 66 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 20 65 78 70 72 s="tok-kw">if</span></code>.expr
c71c0 65 73 73 69 6f 6e 3a 3c 2f 70 3e 0a 20 20 20 20 20 20 3c 66 69 67 75 72 65 3e 3c 66 69 67 63 61 ession:</p>.......<figure><figca
c71e0 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
c7200 73 3d 22 66 69 6c 65 22 3e 74 65 73 74 69 6e 67 5f 65 72 72 6f 72 5f 77 69 74 68 5f 69 66 2e 7a s="file">testing_error_with_if.z
c7220 69 67 3c 2f 63 69 74 65 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
c7240 3e 3c 73 70 61 6e 20 63 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
c7260 6e 3e 20 70 72 69 6e 74 20 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 62 75 69 6c n>.print.=.<span.class="tok-buil
c7280 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=
c72a0 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>
c72c0 29 2e 64 65 62 75 67 2e 70 72 69 6e 74 3b 0a 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b ).debug.print;..<span.class="tok
c72e0 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
c7300 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-
c7320 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
c7340 6f 6b 2d 74 79 70 65 22 3e 76 6f 69 64 3c 2f 73 70 61 6e 3e 20 7b 0a 20 20 20 20 3c 73 70 61 6e ok-type">void</span>.{.....<span
c7360 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 63 6f 6e 73 74 3c 2f 73 70 61 6e 3e 20 72 65 73 .class="tok-kw">const</span>.res
c7380 75 6c 74 20 3d 20 67 65 74 4e 75 6d 62 65 72 4f 72 46 61 69 6c 28 29 3b 0a 0a 20 20 20 20 3c 73 ult.=.getNumberOrFail();......<s
c73a0 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 72 65 pan.class="tok-kw">if</span>.(re
c73c0 73 75 6c 74 29 20 7c 6e 75 6d 62 65 72 7c 20 7b 0a 20 20 20 20 20 20 20 20 70 72 69 6e 74 28 3c sult).|number|.{.........print(<
c73e0 73 70 61 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 74 20 6e span.class="tok-str">&quot;got.n
c7400 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 75 6d 62 umber:.{}\n&quot;</span>,..{numb
c7420 65 72 7d 29 3b 0a 20 20 20 20 7d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 er});.....}.<span.class="tok-kw"
c7440 3e 65 6c 73 65 3c 2f 73 70 61 6e 3e 20 7c 65 72 72 7c 20 7b 0a 20 20 20 20 20 20 20 20 70 72 69 >else</span>.|err|.{.........pri
c7460 6e 74 28 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 73 74 72 22 3e 26 71 75 6f 74 3b 67 nt(<span.class="tok-str">&quot;g
c7480 6f 74 20 65 72 72 6f 72 3a 20 7b 73 7d 5c 6e 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 2c 20 2e 7b ot.error:.{s}\n&quot;</span>,..{
c74a0 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 62 75 69 6c 74 69 6e 22 3e 40 65 72 72 6f 72 <span.class="tok-builtin">@error
c74c0 4e 61 6d 65 3c 2f 73 70 61 6e 3e 28 65 72 72 29 7d 29 3b 0a 20 20 20 20 7d 0a 7d 0a 0a 3c 73 70 Name</span>(err)});.....}.}..<sp
c74e0 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
c7500 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 61 69 6c n.class="tok-fn">getNumberOrFail
c7520 3c 2f 73 70 61 6e 3e 28 29 20 21 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 </span>().!<span.class="tok-type
c7540 22 3e 69 33 32 3c 2f 73 70 61 6e 3e 20 7b 0a 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 ">i32</span>.{.....<span.class="
c7560 74 6f 6b 2d 6b 77 22 3e 72 65 74 75 72 6e 3c 2f 73 70 61 6e 3e 20 3c 73 70 61 6e 20 63 6c 61 73 tok-kw">return</span>.<span.clas
c7580 73 3d 22 74 6f 6b 2d 6b 77 22 3e 65 72 72 6f 72 3c 2f 73 70 61 6e 3e 2e 55 6e 61 62 6c 65 54 6f s="tok-kw">error</span>.UnableTo
c75a0 52 65 74 75 72 6e 4e 75 6d 62 65 72 3b 0a 7d 3c 2f 63 6f 64 65 3e 3c 2f 70 72 65 3e 3c 2f 66 69 ReturnNumber;.}</code></pre></fi
c75c0 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="
c75e0 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
c7600 65 3e 3c 73 61 6d 70 3e 24 20 3c 6b 62 64 3e 7a 69 67 20 62 75 69 6c 64 2d 65 78 65 20 74 65 73 e><samp>$.<kbd>zig.build-exe.tes
c7620 74 69 6e 67 5f 65 72 72 6f 72 5f 77 69 74 68 5f 69 66 2e 7a 69 67 3c 2f 6b 62 64 3e 0a 24 20 3c ting_error_with_if.zig</kbd>.$.<
c7640 6b 62 64 3e 2e 2f 74 65 73 74 69 6e 67 5f 65 72 72 6f 72 5f 77 69 74 68 5f 69 66 3c 2f 6b 62 64 kbd>./testing_error_with_if</kbd
c7660 3e 0a 67 6f 74 20 65 72 72 6f 72 3a 20 55 6e 61 62 6c 65 54 6f 52 65 74 75 72 6e 4e 75 6d 62 65 >.got.error:.UnableToReturnNumbe
c7680 72 0a 3c 2f 73 61 6d 70 3e 3c 2f 70 72 65 3e 3c 2f 66 69 67 75 72 65 3e 0a 0a 20 20 20 20 20 20 r.</samp></pre></figure>........
c76a0 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
c76c0 3d 22 23 45 72 72 6f 72 73 22 3e 45 72 72 6f 72 73 3c 2f 61 3e 3c 2f 6c 69 3e 0a 3c 2f 75 6c 3e ="#Errors">Errors</a></li>.</ul>
c76e0 0a 0a 20 20 20 20 20 20 0a 20 20 20 20 20 20 3c 68 33 20 69 64 3d 22 49 6e 76 61 6c 69 64 2d 45 ...............<h3.id="Invalid-E
c7700 72 72 6f 72 2d 43 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 rror-Code"><a.href="nav.xhtml#to
c7720 63 2d 49 6e 76 61 6c 69 64 2d 45 72 72 6f 72 2d 43 6f 64 65 22 3e 49 6e 76 61 6c 69 64 20 45 72 c-Invalid-Error-Code">Invalid.Er
c7740 72 6f 72 20 43 6f 64 65 3c 2f 61 3e 20 3c 61 20 63 6c 61 73 73 3d 22 68 64 72 22 20 68 72 65 66 ror.Code</a>.<a.class="hdr".href
c7760 3d 22 23 49 6e 76 61 6c 69 64 2d 45 72 72 6f 72 2d 43 6f 64 65 22 3e c2 a7 3c 2f 61 3e 3c 2f 68 ="#Invalid-Error-Code">..</a></h
c7780 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
c77a0 3e 0a 20 20 20 20 20 20 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
c77c0 73 3d 22 7a 69 67 2d 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
c77e0 65 73 74 5f 63 6f 6d 70 74 69 6d 65 5f 69 6e 76 61 6c 69 64 5f 65 72 72 6f 72 5f 63 6f 64 65 2e est_comptime_invalid_error_code.
c7800 7a 69 67 3c 2f 63 69 74 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
c7820 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 63 6f 6d 70 74 69 6d 65 3c e><span.class="tok-kw">comptime<
c7840 2f 73 70 61 6e 3e 20 7b 0a 20 20 20 20 5f 20 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f /span>.{....._.=.<span.class="to
c7860 6b 2d 62 75 69 6c 74 69 6e 22 3e 40 65 72 72 6f 72 46 72 6f 6d 49 6e 74 3c 2f 73 70 61 6e 3e 28 k-builtin">@errorFromInt</span>(
c7880 3c 73 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 35 3c 2f <span.class="tok-number">12345</
c78a0 73 70 61 6e 3e 29 3b 0a 7d 3c 2f 63 6f 64 65 3e 3c 2f 70 72 65 3e 3c 2f 66 69 67 75 72 65 3e 3c span>);.}</code></pre></figure><
c78c0 66 69 67 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-
c78e0 63 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
c7900 70 3e 24 20 3c 6b 62 64 3e 7a 69 67 20 74 65 73 74 20 74 65 73 74 5f 63 6f 6d 70 74 69 6d 65 5f p>$.<kbd>zig.test.test_comptime_
c7920 69 6e 76 61 6c 69 64 5f 65 72 72 6f 72 5f 63 6f 64 65 2e 7a 69 67 3c 2f 6b 62 64 3e 0a 3c 73 70 invalid_error_code.zig</kbd>.<sp
c7940 61 6e 20 63 6c 61 73 73 3d 22 73 67 72 2d 31 6d 22 3e 2f 68 6f 6d 65 2f 63 69 2f 77 6f 72 6b 2f an.class="sgr-1m">/home/ci/work/
c7960 7a 69 67 2d 62 6f 6f 74 73 74 72 61 70 2f 7a 69 67 2f 64 6f 63 2f 6c 61 6e 67 72 65 66 2f 74 65 zig-bootstrap/zig/doc/langref/te
c7980 73 74 5f 63 6f 6d 70 74 69 6d 65 5f 69 6e 76 61 6c 69 64 5f 65 72 72 6f 72 5f 63 6f 64 65 2e 7a st_comptime_invalid_error_code.z
c79a0 69 67 3a 32 3a 32 33 3a 20 3c 2f 73 70 61 6e 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 73 67 72 ig:2:23:.</span><span.class="sgr
c79c0 2d 33 31 6d 22 3e 65 72 72 6f 72 3a 20 3c 2f 73 70 61 6e 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d -31m">error:.</span><span.class=
c79e0 22 73 67 72 2d 31 6d 22 3e 69 6e 74 65 67 65 72 20 76 61 6c 75 65 20 27 31 32 33 34 35 27 20 72 "sgr-1m">integer.value.'12345'.r
c7a00 65 70 72 65 73 65 6e 74 73 20 6e 6f 20 65 72 72 6f 72 0a 3c 2f 73 70 61 6e 3e 20 20 20 20 5f 20 epresents.no.error.</span>...._.
c7a20 3d 20 40 65 72 72 6f 72 46 72 6f 6d 49 6e 74 28 31 32 33 34 35 29 3b 0a 20 20 20 20 20 20 20 20 =.@errorFromInt(12345);.........
c7a40 20 20 20 20 20 20 20 20 20 20 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 73 67 72 2d 33 ..............<span.class="sgr-3
c7a60 32 6d 22 3e 5e 7e 7e 7e 7e 0a 3c 2f 73 70 61 6e 3e 0a 3c 2f 73 61 6d 70 3e 3c 2f 70 72 65 3e 3c 2m">^~~~~.</span>.</samp></pre><
c7a80 2f 66 69 67 75 72 65 3e 0a 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:</
c7aa0 70 3e 0a 20 20 20 20 20 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
c7ac0 73 73 3d 22 7a 69 67 2d 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">
c7ae0 72 75 6e 74 69 6d 65 5f 69 6e 76 61 6c 69 64 5f 65 72 72 6f 72 5f 63 6f 64 65 2e 7a 69 67 3c 2f runtime_invalid_error_code.zig</
c7b00 63 69 74 65 3e 3c 2f 66 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
c7b20 61 6e 20 63 6c 61 73 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
c7b40 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">@
c7b60 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
c7b80 74 72 22 3e 26 71 75 6f 74 3b 73 74 64 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 29 3b 0a 0a 3c 73 tr">&quot;std&quot;</span>);..<s
c7ba0 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
c7bc0 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
c7be0 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>().
c7c00 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
c7c20 6e 3e 20 7b 0a 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 63 6f n>.{.....<span.class="tok-kw">co
c7c40 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 6f nst</span>.err.=.<span.class="to
c7c60 6b 2d 6b 77 22 3e 65 72 72 6f 72 3c 2f 73 70 61 6e 3e 2e 41 6e 45 72 72 6f 72 3b 0a 20 20 20 20 k-kw">error</span>.AnError;.....
c7c80 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>.
c7ca0 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
c7cc0 6e 22 3e 40 69 6e 74 46 72 6f 6d 45 72 72 6f 72 3c 2f 73 70 61 6e 3e 28 65 72 72 29 20 2b 20 3c n">@intFromError</span>(err).+.<
c7ce0 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 35 30 30 3c 2f 73 70 61 span.class="tok-number">500</spa
c7d00 6e 3e 3b 0a 20 20 20 20 5f 20 3d 20 26 61 6d 70 3b 6e 75 6d 62 65 72 3b 0a 20 20 20 20 3c 73 70 n>;....._.=.&amp;number;.....<sp
c7d20 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 63 6f 6e 73 74 3c 2f 73 70 61 6e 3e 20 69 an.class="tok-kw">const</span>.i
c7d40 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
c7d60 69 6c 74 69 6e 22 3e 40 65 72 72 6f 72 46 72 6f 6d 49 6e 74 3c 2f 73 70 61 6e 3e 28 6e 75 6d 62 iltin">@errorFromInt</span>(numb
c7d80 65 72 29 3b 0a 20 20 20 20 73 74 64 2e 64 65 62 75 67 2e 70 72 69 6e 74 28 3c 73 70 61 6e 20 63 er);.....std.debug.print(<span.c
c7da0 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
c7dc0 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 2c 20 2e 7b 69 6e 76 61 6c 69 64 5f 65 72 72 7d 29 3b 0a &quot;</span>,..{invalid_err});.
c7de0 7d 3c 2f 63 6f 64 65 3e 3c 2f 70 72 65 3e 3c 2f 66 69 67 75 72 65 3e 3c 66 69 67 75 72 65 3e 3c }</code></pre></figure><figure><
c7e00 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
c7e20 6c 6c 3c 2f 66 69 67 63 61 70 74 69 6f 6e 3e 3c 70 72 65 3e 3c 73 61 6d 70 3e 24 20 3c 6b 62 64 ll</figcaption><pre><samp>$.<kbd
c7e40 3e 7a 69 67 20 62 75 69 6c 64 2d 65 78 65 20 72 75 6e 74 69 6d 65 5f 69 6e 76 61 6c 69 64 5f 65 >zig.build-exe.runtime_invalid_e
c7e60 72 72 6f 72 5f 63 6f 64 65 2e 7a 69 67 3c 2f 6b 62 64 3e 0a 24 20 3c 6b 62 64 3e 2e 2f 72 75 6e rror_code.zig</kbd>.$.<kbd>./run
c7e80 74 69 6d 65 5f 69 6e 76 61 6c 69 64 5f 65 72 72 6f 72 5f 63 6f 64 65 3c 2f 6b 62 64 3e 0a 74 68 time_invalid_error_code</kbd>.th
c7ea0 72 65 61 64 20 32 33 31 39 34 32 20 70 61 6e 69 63 3a 20 69 6e 76 61 6c 69 64 20 65 72 72 6f 72 read.231942.panic:.invalid.error
c7ec0 20 63 6f 64 65 0a 2f 68 6f 6d 65 2f 63 69 2f 77 6f 72 6b 2f 7a 69 67 2d 62 6f 6f 74 73 74 72 61 .code./home/ci/work/zig-bootstra
c7ee0 70 2f 7a 69 67 2f 64 6f 63 2f 6c 61 6e 67 72 65 66 2f 72 75 6e 74 69 6d 65 5f 69 6e 76 61 6c 69 p/zig/doc/langref/runtime_invali
c7f00 64 5f 65 72 72 6f 72 5f 63 6f 64 65 2e 7a 69 67 3a 37 3a 35 3a 20 30 78 31 31 64 39 30 37 37 20 d_error_code.zig:7:5:.0x11d9077.
c7f20 69 6e 20 6d 61 69 6e 20 28 72 75 6e 74 69 6d 65 5f 69 6e 76 61 6c 69 64 5f 65 72 72 6f 72 5f 63 in.main.(runtime_invalid_error_c
c7f40 6f 64 65 2e 7a 69 67 29 0a 20 20 20 20 63 6f 6e 73 74 20 69 6e 76 61 6c 69 64 5f 65 72 72 20 3d ode.zig).....const.invalid_err.=
c7f60 20 40 65 72 72 6f 72 46 72 6f 6d 49 6e 74 28 6e 75 6d 62 65 72 29 3b 0a 20 20 20 20 5e 0a 2f 68 .@errorFromInt(number);.....^./h
c7f80 6f 6d 65 2f 63 69 2f 77 6f 72 6b 2f 7a 69 67 2d 62 6f 6f 74 73 74 72 61 70 2f 6f 75 74 2f 68 6f ome/ci/work/zig-bootstrap/out/ho
c7fa0 73 74 2f 6c 69 62 2f 7a 69 67 2f 73 74 64 2f 73 74 61 72 74 2e 7a 69 67 3a 37 32 32 3a 35 39 3a st/lib/zig/std/start.zig:722:59:
c7fc0 20 30 78 31 31 64 38 39 35 31 20 69 6e 20 63 61 6c 6c 4d 61 69 6e 20 28 73 74 64 2e 7a 69 67 29 .0x11d8951.in.callMain.(std.zig)
c7fe0 0a 20 20 20 20 69 66 20 28 66 6e 5f 69 6e 66 6f 2e 70 61 72 61 6d 73 2e 6c 65 6e 20 3d 3d 20 30 .....if.(fn_info.params.len.==.0
c8000 29 20 72 65 74 75 72 6e 20 77 72 61 70 4d 61 69 6e 28 72 6f 6f 74 2e 6d 61 69 6e 28 29 29 3b 0a ).return.wrapMain(root.main());.
c8020 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ................................
c8040 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 5e 0a 2f 68 6f 6d ..........................^./hom
c8060 65 2f 63 69 2f 77 6f 72 6b 2f 7a 69 67 2d 62 6f 6f 74 73 74 72 61 70 2f 6f 75 74 2f 68 6f 73 74 e/ci/work/zig-bootstrap/out/host
c8080 2f 6c 69 62 2f 7a 69 67 2f 73 74 64 2f 73 74 61 72 74 2e 7a 69 67 3a 32 30 34 3a 35 3a 20 30 78 /lib/zig/std/start.zig:204:5:.0x
c80a0 31 31 64 38 33 38 31 20 69 6e 20 5f 73 74 61 72 74 20 28 73 74 64 2e 7a 69 67 29 0a 20 20 20 20 11d8381.in._start.(std.zig).....
c80c0 61 73 6d 20 76 6f 6c 61 74 69 6c 65 20 28 73 77 69 74 63 68 20 28 6e 61 74 69 76 65 5f 61 72 63 asm.volatile.(switch.(native_arc
c80e0 68 29 20 7b 0a 20 20 20 20 5e 0a 28 70 72 6f 63 65 73 73 20 74 65 72 6d 69 6e 61 74 65 64 20 62 h).{.....^.(process.terminated.b
c8100 79 20 73 69 67 6e 61 6c 29 0a 3c 2f 73 61 6d 70 3e 3c 2f 70 72 65 3e 3c 2f 66 69 67 75 72 65 3e y.signal).</samp></pre></figure>
c8120 0a 0a 20 20 20 20 20 20 0a 20 20 20 20 20 20 3c 68 33 20 69 64 3d 22 49 6e 76 61 6c 69 64 2d 45 ...............<h3.id="Invalid-E
c8140 6e 75 6d 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 num-Cast"><a.href="nav.xhtml#toc
c8160 2d 49 6e 76 61 6c 69 64 2d 45 6e 75 6d 2d 43 61 73 74 22 3e 49 6e 76 61 6c 69 64 20 45 6e 75 6d -Invalid-Enum-Cast">Invalid.Enum
c8180 20 43 61 73 74 3c 2f 61 3e 20 3c 61 20 63 6c 61 73 73 3d 22 68 64 72 22 20 68 72 65 66 3d 22 23 .Cast</a>.<a.class="hdr".href="#
c81a0 49 6e 76 61 6c 69 64 2d 45 6e 75 6d 2d 43 61 73 74 22 3e c2 a7 3c 2f 61 3e 3c 2f 68 33 3e 0a 0a Invalid-Enum-Cast">..</a></h3>..
c81c0 20 20 20 20 20 20 3c 70 3e 41 74 20 63 6f 6d 70 69 6c 65 2d 74 69 6d 65 3a 3c 2f 70 3e 0a 20 20 ......<p>At.compile-time:</p>...
c81e0 20 20 20 20 3c 66 69 67 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
c8200 69 67 2d 63 61 70 22 3e 3c 63 69 74 65 20 63 6c 61 73 73 3d 22 66 69 6c 65 22 3e 74 65 73 74 5f ig-cap"><cite.class="file">test_
c8220 63 6f 6d 70 74 69 6d 65 5f 69 6e 76 61 6c 69 64 5f 65 6e 75 6d 5f 63 61 73 74 2e 7a 69 67 3c 2f comptime_invalid_enum_cast.zig</
c8240 63 69 74 65 3e 3c 2f 66 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
c8260 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 63 6f 6e 73 74 3c 2f 73 70 61 6e 3e 20 46 an.class="tok-kw">const</span>.F
c8280 6f 6f 20 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 65 6e 75 6d 3c 2f oo.=.<span.class="tok-kw">enum</
c82a0 73 70 61 6e 3e 20 7b 0a 20 20 20 20 61 2c 0a 20 20 20 20 62 2c 0a 20 20 20 20 63 2c 0a 7d 3b 0a span>.{.....a,.....b,.....c,.};.
c82c0 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
c82e0 70 61 6e 3e 20 7b 0a 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e pan>.{.....<span.class="tok-kw">
c8300 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
c8320 2d 74 79 70 65 22 3e 75 32 3c 2f 73 70 61 6e 3e 20 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 -type">u2</span>.=.<span.class="
c8340 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 33 3c 2f 73 70 61 6e 3e 3b 0a 20 20 20 20 3c 73 70 61 6e 20 tok-number">3</span>;.....<span.
c8360 63 6c 61 73 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 46 class="tok-kw">const</span>.b:.F
c8380 6f 6f 20 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 62 75 69 6c 74 69 6e 22 3e 40 oo.=.<span.class="tok-builtin">@
c83a0 65 6e 75 6d 46 72 6f 6d 49 6e 74 3c 2f 73 70 61 6e 3e 28 61 29 3b 0a 20 20 20 20 5f 20 3d 20 62 enumFromInt</span>(a);....._.=.b
c83c0 3b 0a 7d 3c 2f 63 6f 64 65 3e 3c 2f 70 72 65 3e 3c 2f 66 69 67 75 72 65 3e 3c 66 69 67 75 72 65 ;.}</code></pre></figure><figure
c83e0 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
c8400 68 65 6c 6c 3c 2f 66 69 67 63 61 70 74 69 6f 6e 3e 3c 70 72 65 3e 3c 73 61 6d 70 3e 24 20 3c 6b hell</figcaption><pre><samp>$.<k
c8420 62 64 3e 7a 69 67 20 74 65 73 74 20 74 65 73 74 5f 63 6f 6d 70 74 69 6d 65 5f 69 6e 76 61 6c 69 bd>zig.test.test_comptime_invali
c8440 64 5f 65 6e 75 6d 5f 63 61 73 74 2e 7a 69 67 3c 2f 6b 62 64 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 d_enum_cast.zig</kbd>.<span.clas
c8460 73 3d 22 73 67 72 2d 31 6d 22 3e 2f 68 6f 6d 65 2f 63 69 2f 77 6f 72 6b 2f 7a 69 67 2d 62 6f 6f s="sgr-1m">/home/ci/work/zig-boo
c8480 74 73 74 72 61 70 2f 7a 69 67 2f 64 6f 63 2f 6c 61 6e 67 72 65 66 2f 74 65 73 74 5f 63 6f 6d 70 tstrap/zig/doc/langref/test_comp
c84a0 74 69 6d 65 5f 69 6e 76 61 6c 69 64 5f 65 6e 75 6d 5f 63 61 73 74 2e 7a 69 67 3a 38 3a 32 30 3a time_invalid_enum_cast.zig:8:20:
c84c0 20 3c 2f 73 70 61 6e 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 73 67 72 2d 33 31 6d 22 3e 65 72 .</span><span.class="sgr-31m">er
c84e0 72 6f 72 3a 20 3c 2f 73 70 61 6e 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 73 67 72 2d 31 6d 22 ror:.</span><span.class="sgr-1m"
c8500 3e 65 6e 75 6d 20 27 74 65 73 74 5f 63 6f 6d 70 74 69 6d 65 5f 69 6e 76 61 6c 69 64 5f 65 6e 75 >enum.'test_comptime_invalid_enu
c8520 6d 5f 63 61 73 74 2e 46 6f 6f 27 20 68 61 73 20 6e 6f 20 74 61 67 20 77 69 74 68 20 76 61 6c 75 m_cast.Foo'.has.no.tag.with.valu
c8540 65 20 27 33 27 0a 3c 2f 73 70 61 6e 3e 20 20 20 20 63 6f 6e 73 74 20 62 3a 20 46 6f 6f 20 3d 20 e.'3'.</span>....const.b:.Foo.=.
c8560 40 65 6e 75 6d 46 72 6f 6d 49 6e 74 28 61 29 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 @enumFromInt(a);................
c8580 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 73 67 72 2d 33 32 6d 22 3e 5e 7e 7e 7e 7e 7e ....<span.class="sgr-32m">^~~~~~
c85a0 7e 7e 7e 7e 7e 7e 7e 7e 7e 0a 3c 2f 73 70 61 6e 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 73 67 ~~~~~~~~~.</span><span.class="sg
c85c0 72 2d 31 6d 22 3e 2f 68 6f 6d 65 2f 63 69 2f 77 6f 72 6b 2f 7a 69 67 2d 62 6f 6f 74 73 74 72 61 r-1m">/home/ci/work/zig-bootstra
c85e0 70 2f 7a 69 67 2f 64 6f 63 2f 6c 61 6e 67 72 65 66 2f 74 65 73 74 5f 63 6f 6d 70 74 69 6d 65 5f p/zig/doc/langref/test_comptime_
c8600 69 6e 76 61 6c 69 64 5f 65 6e 75 6d 5f 63 61 73 74 2e 7a 69 67 3a 31 3a 31 33 3a 20 3c 2f 73 70 invalid_enum_cast.zig:1:13:.</sp
c8620 61 6e 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 73 67 72 2d 33 36 6d 22 3e 6e 6f 74 65 3a 20 3c an><span.class="sgr-36m">note:.<
c8640 2f 73 70 61 6e 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 73 67 72 2d 31 6d 22 3e 65 6e 75 6d 20 /span><span.class="sgr-1m">enum.
c8660 64 65 63 6c 61 72 65 64 20 68 65 72 65 0a 3c 2f 73 70 61 6e 3e 63 6f 6e 73 74 20 46 6f 6f 20 3d declared.here.</span>const.Foo.=
c8680 20 65 6e 75 6d 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d .enum.{.............<span.class=
c86a0 22 73 67 72 2d 33 32 6d 22 3e 5e 7e 7e 7e 0a 3c 2f 73 70 61 6e 3e 0a 3c 2f 73 61 6d 70 3e 3c 2f "sgr-32m">^~~~.</span>.</samp></
c86c0 70 72 65 3e 3c 2f 66 69 67 75 72 65 3e 0a 0a 20 20 20 20 20 20 3c 70 3e 41 74 20 72 75 6e 74 69 pre></figure>........<p>At.runti
c86e0 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
c8700 6e 20 63 6c 61 73 73 3d 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
c8720 69 6c 65 22 3e 72 75 6e 74 69 6d 65 5f 69 6e 76 61 6c 69 64 5f 65 6e 75 6d 5f 63 61 73 74 2e 7a ile">runtime_invalid_enum_cast.z
c8740 69 67 3c 2f 63 69 74 65 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
c8760 3e 3c 73 70 61 6e 20 63 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
c8780 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
c87a0 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
c87c0 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>);
c87e0 0a 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 63 6f 6e 73 74 3c 2f 73 70 ..<span.class="tok-kw">const</sp
c8800 61 6e 3e 20 46 6f 6f 20 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 65 an>.Foo.=.<span.class="tok-kw">e
c8820 6e 75 6d 3c 2f 73 70 61 6e 3e 20 7b 0a 20 20 20 20 61 2c 0a 20 20 20 20 62 2c 0a 20 20 20 20 63 num</span>.{.....a,.....b,.....c
c8840 2c 0a 7d 3b 0a 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 70 75 62 3c 2f ,.};..<span.class="tok-kw">pub</
c8860 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
c8880 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</
c88a0 73 70 61 6e 3e 28 29 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 76 span>().<span.class="tok-type">v
c88c0 6f 69 64 3c 2f 73 70 61 6e 3e 20 7b 0a 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f oid</span>.{.....<span.class="to
c88e0 6b 2d 6b 77 22 3e 76 61 72 3c 2f 73 70 61 6e 3e 20 61 3a 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d k-kw">var</span>.a:.<span.class=
c8900 22 74 6f 6b 2d 74 79 70 65 22 3e 75 32 3c 2f 73 70 61 6e 3e 20 3d 20 3c 73 70 61 6e 20 63 6c 61 "tok-type">u2</span>.=.<span.cla
c8920 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 33 3c 2f 73 70 61 6e 3e 3b 0a 20 20 20 20 5f 20 ss="tok-number">3</span>;....._.
c8940 3d 20 26 61 6d 70 3b 61 3b 0a 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b =.&amp;a;.....<span.class="tok-k
c8960 77 22 3e 63 6f 6e 73 74 3c 2f 73 70 61 6e 3e 20 62 3a 20 46 6f 6f 20 3d 20 3c 73 70 61 6e 20 63 w">const</span>.b:.Foo.=.<span.c
c8980 6c 61 73 73 3d 22 74 6f 6b 2d 62 75 69 6c 74 69 6e 22 3e 40 65 6e 75 6d 46 72 6f 6d 49 6e 74 3c lass="tok-builtin">@enumFromInt<
c89a0 2f 73 70 61 6e 3e 28 61 29 3b 0a 20 20 20 20 73 74 64 2e 64 65 62 75 67 2e 70 72 69 6e 74 28 3c /span>(a);.....std.debug.print(<
c89c0 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 73 74 72 22 3e 26 71 75 6f 74 3b 76 61 6c 75 65 span.class="tok-str">&quot;value
c89e0 3a 20 7b 73 7d 5c 6e 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 2c 20 2e 7b 3c 73 70 61 6e 20 63 6c :.{s}\n&quot;</span>,..{<span.cl
c8a00 61 73 73 3d 22 74 6f 6b 2d 62 75 69 6c 74 69 6e 22 3e 40 74 61 67 4e 61 6d 65 3c 2f 73 70 61 6e ass="tok-builtin">@tagName</span
c8a20 3e 28 62 29 7d 29 3b 0a 7d 3c 2f 63 6f 64 65 3e 3c 2f 70 72 65 3e 3c 2f 66 69 67 75 72 65 3e 3c >(b)});.}</code></pre></figure><
c8a40 66 69 67 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-
c8a60 63 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
c8a80 70 3e 24 20 3c 6b 62 64 3e 7a 69 67 20 62 75 69 6c 64 2d 65 78 65 20 72 75 6e 74 69 6d 65 5f 69 p>$.<kbd>zig.build-exe.runtime_i
c8aa0 6e 76 61 6c 69 64 5f 65 6e 75 6d 5f 63 61 73 74 2e 7a 69 67 3c 2f 6b 62 64 3e 0a 24 20 3c 6b 62 nvalid_enum_cast.zig</kbd>.$.<kb
c8ac0 64 3e 2e 2f 72 75 6e 74 69 6d 65 5f 69 6e 76 61 6c 69 64 5f 65 6e 75 6d 5f 63 61 73 74 3c 2f 6b d>./runtime_invalid_enum_cast</k
c8ae0 62 64 3e 0a 74 68 72 65 61 64 20 32 33 35 31 30 36 20 70 61 6e 69 63 3a 20 69 6e 76 61 6c 69 64 bd>.thread.235106.panic:.invalid
c8b00 20 65 6e 75 6d 20 76 61 6c 75 65 0a 2f 68 6f 6d 65 2f 63 69 2f 77 6f 72 6b 2f 7a 69 67 2d 62 6f .enum.value./home/ci/work/zig-bo
c8b20 6f 74 73 74 72 61 70 2f 7a 69 67 2f 64 6f 63 2f 6c 61 6e 67 72 65 66 2f 72 75 6e 74 69 6d 65 5f otstrap/zig/doc/langref/runtime_
c8b40 69 6e 76 61 6c 69 64 5f 65 6e 75 6d 5f 63 61 73 74 2e 7a 69 67 3a 31 32 3a 32 30 3a 20 30 78 31 invalid_enum_cast.zig:12:20:.0x1
c8b60 31 64 39 30 63 30 20 69 6e 20 6d 61 69 6e 20 28 72 75 6e 74 69 6d 65 5f 69 6e 76 61 6c 69 64 5f 1d90c0.in.main.(runtime_invalid_
c8b80 65 6e 75 6d 5f 63 61 73 74 2e 7a 69 67 29 0a 20 20 20 20 63 6f 6e 73 74 20 62 3a 20 46 6f 6f 20 enum_cast.zig).....const.b:.Foo.
c8ba0 3d 20 40 65 6e 75 6d 46 72 6f 6d 49 6e 74 28 61 29 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 =.@enumFromInt(a);..............
c8bc0 20 20 20 20 20 20 5e 0a 2f 68 6f 6d 65 2f 63 69 2f 77 6f 72 6b 2f 7a 69 67 2d 62 6f 6f 74 73 74 ......^./home/ci/work/zig-bootst
c8be0 72 61 70 2f 6f 75 74 2f 68 6f 73 74 2f 6c 69 62 2f 7a 69 67 2f 73 74 64 2f 73 74 61 72 74 2e 7a rap/out/host/lib/zig/std/start.z
c8c00 69 67 3a 37 32 32 3a 35 39 3a 20 30 78 31 31 64 38 39 35 31 20 69 6e 20 63 61 6c 6c 4d 61 69 6e ig:722:59:.0x11d8951.in.callMain
c8c20 20 28 73 74 64 2e 7a 69 67 29 0a 20 20 20 20 69 66 20 28 66 6e 5f 69 6e 66 6f 2e 70 61 72 61 6d .(std.zig).....if.(fn_info.param
c8c40 73 2e 6c 65 6e 20 3d 3d 20 30 29 20 72 65 74 75 72 6e 20 77 72 61 70 4d 61 69 6e 28 72 6f 6f 74 s.len.==.0).return.wrapMain(root
c8c60 2e 6d 61 69 6e 28 29 29 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 .main());.......................
c8c80 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ................................
c8ca0 20 20 20 20 5e 0a 2f 68 6f 6d 65 2f 63 69 2f 77 6f 72 6b 2f 7a 69 67 2d 62 6f 6f 74 73 74 72 61 ....^./home/ci/work/zig-bootstra
c8cc0 70 2f 6f 75 74 2f 68 6f 73 74 2f 6c 69 62 2f 7a 69 67 2f 73 74 64 2f 73 74 61 72 74 2e 7a 69 67 p/out/host/lib/zig/std/start.zig
c8ce0 3a 32 30 34 3a 35 3a 20 30 78 31 31 64 38 33 38 31 20 69 6e 20 5f 73 74 61 72 74 20 28 73 74 64 :204:5:.0x11d8381.in._start.(std
c8d00 2e 7a 69 67 29 0a 20 20 20 20 61 73 6d 20 76 6f 6c 61 74 69 6c 65 20 28 73 77 69 74 63 68 20 28 .zig).....asm.volatile.(switch.(
c8d20 6e 61 74 69 76 65 5f 61 72 63 68 29 20 7b 0a 20 20 20 20 5e 0a 28 70 72 6f 63 65 73 73 20 74 65 native_arch).{.....^.(process.te
c8d40 72 6d 69 6e 61 74 65 64 20 62 79 20 73 69 67 6e 61 6c 29 0a 3c 2f 73 61 6d 70 3e 3c 2f 70 72 65 rminated.by.signal).</samp></pre
c8d60 3e 3c 2f 66 69 67 75 72 65 3e 0a 0a 20 20 20 20 20 20 0a 0a 20 20 20 20 20 20 3c 68 33 20 69 64 ></figure>................<h3.id
c8d80 3d 22 49 6e 76 61 6c 69 64 2d 45 72 72 6f 72 2d 53 65 74 2d 43 61 73 74 22 3e 3c 61 20 68 72 65 ="Invalid-Error-Set-Cast"><a.hre
c8da0 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 53 f="nav.xhtml#toc-Invalid-Error-S
c8dc0 65 74 2d 43 61 73 74 22 3e 49 6e 76 61 6c 69 64 20 45 72 72 6f 72 20 53 65 74 20 43 61 73 74 3c et-Cast">Invalid.Error.Set.Cast<
c8de0 2f 61 3e 20 3c 61 20 63 6c 61 73 73 3d 22 68 64 72 22 20 68 72 65 66 3d 22 23 49 6e 76 61 6c 69 /a>.<a.class="hdr".href="#Invali
c8e00 64 2d 45 72 72 6f 72 2d 53 65 74 2d 43 61 73 74 22 3e c2 a7 3c 2f 61 3e 3c 2f 68 33 3e 0a 0a 20 d-Error-Set-Cast">..</a></h3>...
c8e20 20 20 20 20 20 3c 70 3e 41 74 20 63 6f 6d 70 69 6c 65 2d 74 69 6d 65 3a 3c 2f 70 3e 0a 20 20 20 .....<p>At.compile-time:</p>....
c8e40 20 20 20 3c 66 69 67 75 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
c8e60 67 2d 63 61 70 22 3e 3c 63 69 74 65 20 63 6c 61 73 73 3d 22 66 69 6c 65 22 3e 74 65 73 74 5f 63 g-cap"><cite.class="file">test_c
c8e80 6f 6d 70 74 69 6d 65 5f 69 6e 76 61 6c 69 64 5f 65 72 72 6f 72 5f 73 65 74 5f 63 61 73 74 2e 7a omptime_invalid_error_set_cast.z
c8ea0 69 67 3c 2f 63 69 74 65 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
c8ec0 3e 3c 73 70 61 6e 20 63 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
c8ee0 6e 3e 20 53 65 74 31 20 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 65 n>.Set1.=.<span.class="tok-kw">e
c8f00 72 72 6f 72 3c 2f 73 70 61 6e 3e 7b 0a 20 20 20 20 41 2c 0a 20 20 20 20 42 2c 0a 7d 3b 0a 3c 73 rror</span>{.....A,.....B,.};.<s
c8f20 70 61 6e 20 63 6c 61 73 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>.
c8f40 53 65 74 32 20 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 65 72 72 6f Set2.=.<span.class="tok-kw">erro
c8f60 72 3c 2f 73 70 61 6e 3e 7b 0a 20 20 20 20 41 2c 0a 20 20 20 20 43 2c 0a 7d 3b 0a 3c 73 70 61 6e r</span>{.....A,.....C,.};.<span
c8f80 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>.
c8fa0 7b 0a 20 20 20 20 5f 20 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 62 75 69 6c 74 {....._.=.<span.class="tok-built
c8fc0 69 6e 22 3e 40 61 73 3c 2f 73 70 61 6e 3e 28 53 65 74 32 2c 20 3c 73 70 61 6e 20 63 6c 61 73 73 in">@as</span>(Set2,.<span.class
c8fe0 3d 22 74 6f 6b 2d 62 75 69 6c 74 69 6e 22 3e 40 65 72 72 6f 72 43 61 73 74 3c 2f 73 70 61 6e 3e ="tok-builtin">@errorCast</span>
c9000 28 53 65 74 31 2e 42 29 29 3b 0a 7d 3c 2f 63 6f 64 65 3e 3c 2f 70 72 65 3e 3c 2f 66 69 67 75 72 (Set1.B));.}</code></pre></figur
c9020 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
c9040 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><
c9060 73 61 6d 70 3e 24 20 3c 6b 62 64 3e 7a 69 67 20 74 65 73 74 20 74 65 73 74 5f 63 6f 6d 70 74 69 samp>$.<kbd>zig.test.test_compti
c9080 6d 65 5f 69 6e 76 61 6c 69 64 5f 65 72 72 6f 72 5f 73 65 74 5f 63 61 73 74 2e 7a 69 67 3c 2f 6b me_invalid_error_set_cast.zig</k
c90a0 62 64 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 73 67 72 2d 31 6d 22 3e 2f 68 6f 6d 65 2f 63 bd>.<span.class="sgr-1m">/home/c
c90c0 69 2f 77 6f 72 6b 2f 7a 69 67 2d 62 6f 6f 74 73 74 72 61 70 2f 7a 69 67 2f 64 6f 63 2f 6c 61 6e i/work/zig-bootstrap/zig/doc/lan
c90e0 67 72 65 66 2f 74 65 73 74 5f 63 6f 6d 70 74 69 6d 65 5f 69 6e 76 61 6c 69 64 5f 65 72 72 6f 72 gref/test_comptime_invalid_error
c9100 5f 73 65 74 5f 63 61 73 74 2e 7a 69 67 3a 31 30 3a 31 39 3a 20 3c 2f 73 70 61 6e 3e 3c 73 70 61 _set_cast.zig:10:19:.</span><spa
c9120 6e 20 63 6c 61 73 73 3d 22 73 67 72 2d 33 31 6d 22 3e 65 72 72 6f 72 3a 20 3c 2f 73 70 61 6e 3e n.class="sgr-31m">error:.</span>
c9140 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 73 67 72 2d 31 6d 22 3e 27 65 72 72 6f 72 2e 42 27 20 6e <span.class="sgr-1m">'error.B'.n
c9160 6f 74 20 61 20 6d 65 6d 62 65 72 20 6f 66 20 65 72 72 6f 72 20 73 65 74 20 27 65 72 72 6f 72 7b ot.a.member.of.error.set.'error{
c9180 41 2c 43 7d 27 0a 3c 2f 73 70 61 6e 3e 20 20 20 20 5f 20 3d 20 40 61 73 28 53 65 74 32 2c 20 40 A,C}'.</span>...._.=.@as(Set2,.@
c91a0 65 72 72 6f 72 43 61 73 74 28 53 65 74 31 2e 42 29 29 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 errorCast(Set1.B));.............
c91c0 20 20 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 73 67 72 2d 33 32 6d 22 3e 5e 7e 7e 7e ......<span.class="sgr-32m">^~~~
c91e0 7e 7e 7e 7e 7e 7e 7e 7e 7e 7e 7e 7e 7e 7e 0a 3c 2f 73 70 61 6e 3e 0a 3c 2f 73 61 6d 70 3e 3c 2f ~~~~~~~~~~~~~~.</span>.</samp></
c9200 70 72 65 3e 3c 2f 66 69 67 75 72 65 3e 0a 0a 20 20 20 20 20 20 3c 70 3e 41 74 20 72 75 6e 74 69 pre></figure>........<p>At.runti
c9220 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
c9240 6e 20 63 6c 61 73 73 3d 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
c9260 69 6c 65 22 3e 72 75 6e 74 69 6d 65 5f 69 6e 76 61 6c 69 64 5f 65 72 72 6f 72 5f 73 65 74 5f 63 ile">runtime_invalid_error_set_c
c9280 61 73 74 2e 7a 69 67 3c 2f 63 69 74 65 3e 3c 2f 66 69 67 63 61 70 74 69 6f 6e 3e 3c 70 72 65 3e ast.zig</cite></figcaption><pre>
c92a0 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 63 6f 6e 73 74 <code><span.class="tok-kw">const
c92c0 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
c92e0 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
c9300 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
c9320 61 6e 3e 29 3b 0a 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 63 6f 6e 73 an>);..<span.class="tok-kw">cons
c9340 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
c9360 2d 6b 77 22 3e 65 72 72 6f 72 3c 2f 73 70 61 6e 3e 7b 0a 20 20 20 20 41 2c 0a 20 20 20 20 42 2c -kw">error</span>{.....A,.....B,
c9380 0a 7d 3b 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 63 6f 6e 73 74 3c 2f .};.<span.class="tok-kw">const</
c93a0 73 70 61 6e 3e 20 53 65 74 32 20 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 span>.Set2.=.<span.class="tok-kw
c93c0 22 3e 65 72 72 6f 72 3c 2f 73 70 61 6e 3e 7b 0a 20 20 20 20 41 2c 0a 20 20 20 20 43 2c 0a 7d 3b ">error</span>{.....A,.....C,.};
c93e0 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 70 75 62 3c 2f 73 70 61 6e 3e .<span.class="tok-kw">pub</span>
c9400 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>.
c9420 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>
c9440 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</
c9460 73 70 61 6e 3e 20 7b 0a 20 20 20 20 66 6f 6f 28 53 65 74 31 2e 42 29 3b 0a 7d 0a 3c 73 70 61 6e span>.{.....foo(Set1.B);.}.<span
c9480 20 63 6c 61 73 73 3d 22 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.
c94a0 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 65 74 31 3a 20 class="tok-fn">foo</span>(set1:.
c94c0 53 65 74 31 29 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 76 6f 69 Set1).<span.class="tok-type">voi
c94e0 64 3c 2f 73 70 61 6e 3e 20 7b 0a 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d d</span>.{.....<span.class="tok-
c9500 6b 77 22 3e 63 6f 6e 73 74 3c 2f 73 70 61 6e 3e 20 78 3a 20 53 65 74 32 20 3d 20 3c 73 70 61 6e kw">const</span>.x:.Set2.=.<span
c9520 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 43 61 73 74 3c .class="tok-builtin">@errorCast<
c9540 2f 73 70 61 6e 3e 28 73 65 74 31 29 3b 0a 20 20 20 20 73 74 64 2e 64 65 62 75 67 2e 70 72 69 6e /span>(set1);.....std.debug.prin
c9560 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
c9580 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 78 7d 29 3b 0a 7d lue:.{}\n&quot;</span>,..{x});.}
c95a0 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
c95c0 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
c95e0 6c 3c 2f 66 69 67 63 61 70 74 69 6f 6e 3e 3c 70 72 65 3e 3c 73 61 6d 70 3e 24 20 3c 6b 62 64 3e l</figcaption><pre><samp>$.<kbd>
c9600 7a 69 67 20 62 75 69 6c 64 2d 65 78 65 20 72 75 6e 74 69 6d 65 5f 69 6e 76 61 6c 69 64 5f 65 72 zig.build-exe.runtime_invalid_er
c9620 72 6f 72 5f 73 65 74 5f 63 61 73 74 2e 7a 69 67 3c 2f 6b 62 64 3e 0a 24 20 3c 6b 62 64 3e 2e 2f ror_set_cast.zig</kbd>.$.<kbd>./
c9640 72 75 6e 74 69 6d 65 5f 69 6e 76 61 6c 69 64 5f 65 72 72 6f 72 5f 73 65 74 5f 63 61 73 74 3c 2f runtime_invalid_error_set_cast</
c9660 6b 62 64 3e 0a 74 68 72 65 61 64 20 32 33 32 33 32 32 20 70 61 6e 69 63 3a 20 69 6e 76 61 6c 69 kbd>.thread.232322.panic:.invali
c9680 64 20 65 72 72 6f 72 20 63 6f 64 65 0a 2f 68 6f 6d 65 2f 63 69 2f 77 6f 72 6b 2f 7a 69 67 2d 62 d.error.code./home/ci/work/zig-b
c96a0 6f 6f 74 73 74 72 61 70 2f 7a 69 67 2f 64 6f 63 2f 6c 61 6e 67 72 65 66 2f 72 75 6e 74 69 6d 65 ootstrap/zig/doc/langref/runtime
c96c0 5f 69 6e 76 61 6c 69 64 5f 65 72 72 6f 72 5f 73 65 74 5f 63 61 73 74 2e 7a 69 67 3a 31 35 3a 32 _invalid_error_set_cast.zig:15:2
c96e0 31 3a 20 30 78 31 31 64 39 31 33 63 20 69 6e 20 66 6f 6f 20 28 72 75 6e 74 69 6d 65 5f 69 6e 76 1:.0x11d913c.in.foo.(runtime_inv
c9700 61 6c 69 64 5f 65 72 72 6f 72 5f 73 65 74 5f 63 61 73 74 2e 7a 69 67 29 0a 20 20 20 20 63 6f 6e alid_error_set_cast.zig).....con
c9720 73 74 20 78 3a 20 53 65 74 32 20 3d 20 40 65 72 72 6f 72 43 61 73 74 28 73 65 74 31 29 3b 0a 20 st.x:.Set2.=.@errorCast(set1);..
c9740 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 5e 0a 2f 68 6f 6d 65 2f 63 69 2f 77 6f ...................^./home/ci/wo
c9760 72 6b 2f 7a 69 67 2d 62 6f 6f 74 73 74 72 61 70 2f 7a 69 67 2f 64 6f 63 2f 6c 61 6e 67 72 65 66 rk/zig-bootstrap/zig/doc/langref
c9780 2f 72 75 6e 74 69 6d 65 5f 69 6e 76 61 6c 69 64 5f 65 72 72 6f 72 5f 73 65 74 5f 63 61 73 74 2e /runtime_invalid_error_set_cast.
c97a0 7a 69 67 3a 31 32 3a 38 3a 20 30 78 31 31 64 39 30 34 37 20 69 6e 20 6d 61 69 6e 20 28 72 75 6e zig:12:8:.0x11d9047.in.main.(run
c97c0 74 69 6d 65 5f 69 6e 76 61 6c 69 64 5f 65 72 72 6f 72 5f 73 65 74 5f 63 61 73 74 2e 7a 69 67 29 time_invalid_error_set_cast.zig)
c97e0 0a 20 20 20 20 66 6f 6f 28 53 65 74 31 2e 42 29 3b 0a 20 20 20 20 20 20 20 5e 0a 2f 68 6f 6d 65 .....foo(Set1.B);........^./home
c9800 2f 63 69 2f 77 6f 72 6b 2f 7a 69 67 2d 62 6f 6f 74 73 74 72 61 70 2f 6f 75 74 2f 68 6f 73 74 2f /ci/work/zig-bootstrap/out/host/
c9820 6c 69 62 2f 7a 69 67 2f 73 74 64 2f 73 74 61 72 74 2e 7a 69 67 3a 37 32 32 3a 35 39 3a 20 30 78 lib/zig/std/start.zig:722:59:.0x
c9840 31 31 64 38 39 35 31 20 69 6e 20 63 61 6c 6c 4d 61 69 6e 20 28 73 74 64 2e 7a 69 67 29 0a 20 20 11d8951.in.callMain.(std.zig)...
c9860 20 20 69 66 20 28 66 6e 5f 69 6e 66 6f 2e 70 61 72 61 6d 73 2e 6c 65 6e 20 3d 3d 20 30 29 20 72 ..if.(fn_info.params.len.==.0).r
c9880 65 74 75 72 6e 20 77 72 61 70 4d 61 69 6e 28 72 6f 6f 74 2e 6d 61 69 6e 28 29 29 3b 0a 20 20 20 eturn.wrapMain(root.main());....
c98a0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ................................
c98c0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 5e 0a 2f 68 6f 6d 65 2f 63 .......................^./home/c
c98e0 69 2f 77 6f 72 6b 2f 7a 69 67 2d 62 6f 6f 74 73 74 72 61 70 2f 6f 75 74 2f 68 6f 73 74 2f 6c 69 i/work/zig-bootstrap/out/host/li
c9900 62 2f 7a 69 67 2f 73 74 64 2f 73 74 61 72 74 2e 7a 69 67 3a 32 30 34 3a 35 3a 20 30 78 31 31 64 b/zig/std/start.zig:204:5:.0x11d
c9920 38 33 38 31 20 69 6e 20 5f 73 74 61 72 74 20 28 73 74 64 2e 7a 69 67 29 0a 20 20 20 20 61 73 6d 8381.in._start.(std.zig).....asm
c9940 20 76 6f 6c 61 74 69 6c 65 20 28 73 77 69 74 63 68 20 28 6e 61 74 69 76 65 5f 61 72 63 68 29 20 .volatile.(switch.(native_arch).
c9960 7b 0a 20 20 20 20 5e 0a 28 70 72 6f 63 65 73 73 20 74 65 72 6d 69 6e 61 74 65 64 20 62 79 20 73 {.....^.(process.terminated.by.s
c9980 69 67 6e 61 6c 29 0a 3c 2f 73 61 6d 70 3e 3c 2f 70 72 65 3e 3c 2f 66 69 67 75 72 65 3e 0a 0a 20 ignal).</samp></pre></figure>...
c99a0 20 20 20 20 20 0a 0a 20 20 20 20 20 20 3c 68 33 20 69 64 3d 22 49 6e 63 6f 72 72 65 63 74 2d 50 .............<h3.id="Incorrect-P
c99c0 6f 69 6e 74 65 72 2d 41 6c 69 67 6e 6d 65 6e 74 22 3e 3c 61 20 68 72 65 66 3d 22 6e 61 76 2e 78 ointer-Alignment"><a.href="nav.x
c99e0 68 74 6d 6c 23 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 html#toc-Incorrect-Pointer-Align
c9a00 6d 65 6e 74 22 3e 49 6e 63 6f 72 72 65 63 74 20 50 6f 69 6e 74 65 72 20 41 6c 69 67 6e 6d 65 6e ment">Incorrect.Pointer.Alignmen
c9a20 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 63 6f t</a>.<a.class="hdr".href="#Inco
c9a40 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 c2 a7 3c 2f 61 3e 3c rrect-Pointer-Alignment">..</a><
c9a60 2f 68 33 3e 0a 0a 20 20 20 20 20 20 3c 70 3e 41 74 20 63 6f 6d 70 69 6c 65 2d 74 69 6d 65 3a 3c /h3>........<p>At.compile-time:<
c9a80 2f 70 3e 0a 20 20 20 20 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
c9aa0 61 73 73 3d 22 7a 69 67 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"
c9ac0 3e 74 65 73 74 5f 63 6f 6d 70 74 69 6d 65 5f 69 6e 63 6f 72 72 65 63 74 5f 70 6f 69 6e 74 65 72 >test_comptime_incorrect_pointer
c9ae0 5f 61 6c 69 67 6e 6d 65 6e 74 2e 7a 69 67 3c 2f 63 69 74 65 3e 3c 2f 66 69 67 63 61 70 74 69 6f _alignment.zig</cite></figcaptio
c9b00 6e 3e 3c 70 72 65 3e 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 n><pre><code><span.class="tok-kw
c9b20 22 3e 63 6f 6d 70 74 69 6d 65 3c 2f 73 70 61 6e 3e 20 7b 0a 20 20 20 20 3c 73 70 61 6e 20 63 6c ">comptime</span>.{.....<span.cl
c9b40 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 63 6f 6e 73 74 3c 2f 73 70 61 6e 3e 20 70 74 72 3a 20 2a ass="tok-kw">const</span>.ptr:.*
c9b60 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
c9b80 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 3c 2f 73 70 >(<span.class="tok-number">1</sp
c9ba0 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<
c9bc0 2f 73 70 61 6e 3e 20 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 62 75 69 6c 74 69 /span>.=.<span.class="tok-builti
c9be0 6e 22 3e 40 70 74 72 46 72 6f 6d 49 6e 74 3c 2f 73 70 61 6e 3e 28 3c 73 70 61 6e 20 63 6c 61 73 n">@ptrFromInt</span>(<span.clas
c9c00 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 0a 20 20 20 20 s="tok-number">0x1</span>);.....
c9c20 3c 73 70 61 6e 20 63 6c 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
c9c40 3e 20 61 6c 69 67 6e 65 64 3a 20 2a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 >.aligned:.*<span.class="tok-kw"
c9c60 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
c9c80 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
c9ca0 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
c9cc0 3d 22 74 6f 6b 2d 62 75 69 6c 74 69 6e 22 3e 40 61 6c 69 67 6e 43 61 73 74 3c 2f 73 70 61 6e 3e ="tok-builtin">@alignCast</span>
c9ce0 28 70 74 72 29 3b 0a 20 20 20 20 5f 20 3d 20 61 6c 69 67 6e 65 64 3b 0a 7d 3c 2f 63 6f 64 65 3e (ptr);....._.=.aligned;.}</code>
c9d00 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
c9d20 6f 6e 20 63 6c 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
c9d40 61 70 74 69 6f 6e 3e 3c 70 72 65 3e 3c 73 61 6d 70 3e 24 20 3c 6b 62 64 3e 7a 69 67 20 74 65 73 aption><pre><samp>$.<kbd>zig.tes
c9d60 74 20 74 65 73 74 5f 63 6f 6d 70 74 69 6d 65 5f 69 6e 63 6f 72 72 65 63 74 5f 70 6f 69 6e 74 65 t.test_comptime_incorrect_pointe
c9d80 72 5f 61 6c 69 67 6e 6d 65 6e 74 2e 7a 69 67 3c 2f 6b 62 64 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 r_alignment.zig</kbd>.<span.clas
c9da0 73 3d 22 73 67 72 2d 31 6d 22 3e 2f 68 6f 6d 65 2f 63 69 2f 77 6f 72 6b 2f 7a 69 67 2d 62 6f 6f s="sgr-1m">/home/ci/work/zig-boo
c9dc0 74 73 74 72 61 70 2f 7a 69 67 2f 64 6f 63 2f 6c 61 6e 67 72 65 66 2f 74 65 73 74 5f 63 6f 6d 70 tstrap/zig/doc/langref/test_comp
c9de0 74 69 6d 65 5f 69 6e 63 6f 72 72 65 63 74 5f 70 6f 69 6e 74 65 72 5f 61 6c 69 67 6e 6d 65 6e 74 time_incorrect_pointer_alignment
c9e00 2e 7a 69 67 3a 33 3a 34 37 3a 20 3c 2f 73 70 61 6e 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 73 .zig:3:47:.</span><span.class="s
c9e20 67 72 2d 33 31 6d 22 3e 65 72 72 6f 72 3a 20 3c 2f 73 70 61 6e 3e 3c 73 70 61 6e 20 63 6c 61 73 gr-31m">error:.</span><span.clas
c9e40 73 3d 22 73 67 72 2d 31 6d 22 3e 70 6f 69 6e 74 65 72 20 61 64 64 72 65 73 73 20 30 78 31 20 69 s="sgr-1m">pointer.address.0x1.i
c9e60 73 20 6e 6f 74 20 61 6c 69 67 6e 65 64 20 74 6f 20 34 20 62 79 74 65 73 0a 3c 2f 73 70 61 6e 3e s.not.aligned.to.4.bytes.</span>
c9e80 20 20 20 20 63 6f 6e 73 74 20 61 6c 69 67 6e 65 64 3a 20 2a 61 6c 69 67 6e 28 34 29 20 69 33 32 ....const.aligned:.*align(4).i32
c9ea0 20 3d 20 40 61 6c 69 67 6e 43 61 73 74 28 70 74 72 29 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 .=.@alignCast(ptr);.............
c9ec0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ................................
c9ee0 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 73 67 72 2d 33 32 6d 22 3e 5e 7e 7e 0a 3c 2f 73 70 ..<span.class="sgr-32m">^~~.</sp
c9f00 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 0a 20 20 20 20 an>.</samp></pre></figure>......
c9f20 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
c9f40 72 65 3e 3c 66 69 67 63 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"><
c9f60 63 69 74 65 20 63 6c 61 73 73 3d 22 66 69 6c 65 22 3e 72 75 6e 74 69 6d 65 5f 69 6e 63 6f 72 72 cite.class="file">runtime_incorr
c9f80 65 63 74 5f 70 6f 69 6e 74 65 72 5f 61 6c 69 67 6e 6d 65 6e 74 2e 7a 69 67 3c 2f 63 69 74 65 3e ect_pointer_alignment.zig</cite>
c9fa0 3c 2f 66 69 67 63 61 70 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
c9fc0 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 63 6f 6e 73 74 3c 2f 73 70 61 6e 3e 20 6d 65 6d 20 3d 20 ass="tok-kw">const</span>.mem.=.
c9fe0 3c 73 70 61 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
ca000 74 3c 2f 73 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">&
ca020 71 75 6f 74 3b 73 74 64 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 29 2e 6d 65 6d 3b 0a 3c 73 70 61 quot;std&quot;</span>).mem;.<spa
ca040 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
ca060 6e 20 63 6c 61 73 73 3d 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
ca080 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>().!<
ca0a0 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
ca0c0 3e 20 7b 0a 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 76 61 72 >.{.....<span.class="tok-kw">var
ca0e0 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 6b </span>.array.<span.class="tok-k
ca100 77 22 3e 61 6c 69 67 6e 3c 2f 73 70 61 6e 3e 28 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b w">align</span>(<span.class="tok
ca120 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 6c -number">4</span>).=.[_]<span.cl
ca140 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
ca160 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 2f .class="tok-number">0x11111111</
ca180 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">
ca1a0 30 78 31 31 31 31 31 31 31 31 3c 2f 73 70 61 6e 3e 20 7d 3b 0a 20 20 20 20 3c 73 70 61 6e 20 63 0x11111111</span>.};.....<span.c
ca1c0 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 63 6f 6e 73 74 3c 2f 73 70 61 6e 3e 20 62 79 74 65 73 lass="tok-kw">const</span>.bytes
ca1e0 20 3d 20 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 .=.mem.sliceAsBytes(array[<span.
ca200 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 30 3c 2f 73 70 61 6e 3e 2e 2e 5d 29 3b class="tok-number">0</span>..]);
ca220 0a 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 69 66 3c 2f 73 70 .....<span.class="tok-kw">if</sp
ca240 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 73 73 3d 22 an>.(foo(bytes).!=.<span.class="
ca260 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 30 78 31 31 31 31 31 31 31 31 3c 2f 73 70 61 6e 3e 29 20 3c tok-number">0x11111111</span>).<
ca280 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
ca2a0 3e 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 65 72 72 6f 72 3c 2f 73 70 >.<span.class="tok-kw">error</sp
ca2c0 61 6e 3e 2e 57 72 6f 6e 67 3b 0a 7d 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 an>.Wrong;.}.<span.class="tok-kw
ca2e0 22 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"
ca300 3e 66 6f 6f 3c 2f 73 70 61 6e 3e 28 62 79 74 65 73 3a 20 5b 5d 3c 73 70 61 6e 20 63 6c 61 73 73 >foo</span>(bytes:.[]<span.class
ca320 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 75 38 3c 2f 73 70 61 6e 3e 29 20 3c 73 70 61 6e 20 63 6c 61 ="tok-type">u8</span>).<span.cla
ca340 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 75 33 32 3c 2f 73 70 61 6e 3e 20 7b 0a 20 20 20 20 3c ss="tok-type">u32</span>.{.....<
ca360 73 70 61 6e 20 63 6c 61 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>
ca380 20 73 6c 69 63 65 34 20 3d 20 62 79 74 65 73 5b 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b .slice4.=.bytes[<span.class="tok
ca3a0 2d 6e 75 6d 62 65 72 22 3e 31 3c 2f 73 70 61 6e 3e 2e 2e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 -number">1</span>..<span.class="
ca3c0 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 35 3c 2f 73 70 61 6e 3e 5d 3b 0a 20 20 20 20 3c 73 70 61 6e tok-number">5</span>];.....<span
ca3e0 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 63 6f 6e 73 74 3c 2f 73 70 61 6e 3e 20 69 6e 74 .class="tok-kw">const</span>.int
ca400 5f 73 6c 69 63 65 20 3d 20 6d 65 6d 2e 62 79 74 65 73 41 73 53 6c 69 63 65 28 3c 73 70 61 6e 20 _slice.=.mem.bytesAsSlice(<span.
ca420 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 75 33 32 3c 2f 73 70 61 6e 3e 2c 20 3c 73 70 class="tok-type">u32</span>,.<sp
ca440 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
ca460 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 61 6c 69 67 6e 3c 2f >([]<span.class="tok-kw">align</
ca480 73 70 61 6e 3e 28 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 34 span>(<span.class="tok-number">4
ca4a0 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">
ca4c0 75 38 3c 2f 73 70 61 6e 3e 2c 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 62 75 69 6c u8</span>,.<span.class="tok-buil
ca4e0 74 69 6e 22 3e 40 61 6c 69 67 6e 43 61 73 74 3c 2f 73 70 61 6e 3e 28 73 6c 69 63 65 34 29 29 29 tin">@alignCast</span>(slice4)))
ca500 3b 0a 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 72 65 74 75 72 ;.....<span.class="tok-kw">retur
ca520 6e 3c 2f 73 70 61 6e 3e 20 69 6e 74 5f 73 6c 69 63 65 5b 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 n</span>.int_slice[<span.class="
ca540 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 30 3c 2f 73 70 61 6e 3e 5d 3b 0a 7d 3c 2f 63 6f 64 65 3e 3c tok-number">0</span>];.}</code><
ca560 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
ca580 6e 20 63 6c 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
ca5a0 70 74 69 6f 6e 3e 3c 70 72 65 3e 3c 73 61 6d 70 3e 24 20 3c 6b 62 64 3e 7a 69 67 20 62 75 69 6c ption><pre><samp>$.<kbd>zig.buil
ca5c0 64 2d 65 78 65 20 72 75 6e 74 69 6d 65 5f 69 6e 63 6f 72 72 65 63 74 5f 70 6f 69 6e 74 65 72 5f d-exe.runtime_incorrect_pointer_
ca5e0 61 6c 69 67 6e 6d 65 6e 74 2e 7a 69 67 3c 2f 6b 62 64 3e 0a 24 20 3c 6b 62 64 3e 2e 2f 72 75 6e alignment.zig</kbd>.$.<kbd>./run
ca600 74 69 6d 65 5f 69 6e 63 6f 72 72 65 63 74 5f 70 6f 69 6e 74 65 72 5f 61 6c 69 67 6e 6d 65 6e 74 time_incorrect_pointer_alignment
ca620 3c 2f 6b 62 64 3e 0a 74 68 72 65 61 64 20 32 33 35 32 31 32 20 70 61 6e 69 63 3a 20 69 6e 63 6f </kbd>.thread.235212.panic:.inco
ca640 72 72 65 63 74 20 61 6c 69 67 6e 6d 65 6e 74 0a 2f 68 6f 6d 65 2f 63 69 2f 77 6f 72 6b 2f 7a 69 rrect.alignment./home/ci/work/zi
ca660 67 2d 62 6f 6f 74 73 74 72 61 70 2f 7a 69 67 2f 64 6f 63 2f 6c 61 6e 67 72 65 66 2f 72 75 6e 74 g-bootstrap/zig/doc/langref/runt
ca680 69 6d 65 5f 69 6e 63 6f 72 72 65 63 74 5f 70 6f 69 6e 74 65 72 5f 61 6c 69 67 6e 6d 65 6e 74 2e ime_incorrect_pointer_alignment.
ca6a0 7a 69 67 3a 39 3a 36 34 3a 20 30 78 31 31 64 39 39 62 36 20 69 6e 20 66 6f 6f 20 28 72 75 6e 74 zig:9:64:.0x11d99b6.in.foo.(runt
ca6c0 69 6d 65 5f 69 6e 63 6f 72 72 65 63 74 5f 70 6f 69 6e 74 65 72 5f 61 6c 69 67 6e 6d 65 6e 74 2e ime_incorrect_pointer_alignment.
ca6e0 7a 69 67 29 0a 20 20 20 20 63 6f 6e 73 74 20 69 6e 74 5f 73 6c 69 63 65 20 3d 20 6d 65 6d 2e 62 zig).....const.int_slice.=.mem.b
ca700 79 74 65 73 41 73 53 6c 69 63 65 28 75 33 32 2c 20 40 61 73 28 5b 5d 61 6c 69 67 6e 28 34 29 20 ytesAsSlice(u32,.@as([]align(4).
ca720 75 38 2c 20 40 61 6c 69 67 6e 43 61 73 74 28 73 6c 69 63 65 34 29 29 29 3b 0a 20 20 20 20 20 20 u8,.@alignCast(slice4)));.......
ca740 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ................................
ca760 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 5e 0a 2f 68 6f 6d 65 .........................^./home
ca780 2f 63 69 2f 77 6f 72 6b 2f 7a 69 67 2d 62 6f 6f 74 73 74 72 61 70 2f 7a 69 67 2f 64 6f 63 2f 6c /ci/work/zig-bootstrap/zig/doc/l
ca7a0 61 6e 67 72 65 66 2f 72 75 6e 74 69 6d 65 5f 69 6e 63 6f 72 72 65 63 74 5f 70 6f 69 6e 74 65 72 angref/runtime_incorrect_pointer
ca7c0 5f 61 6c 69 67 6e 6d 65 6e 74 2e 7a 69 67 3a 35 3a 31 32 3a 20 30 78 31 31 64 38 33 64 65 20 69 _alignment.zig:5:12:.0x11d83de.i
ca7e0 6e 20 6d 61 69 6e 20 28 72 75 6e 74 69 6d 65 5f 69 6e 63 6f 72 72 65 63 74 5f 70 6f 69 6e 74 65 n.main.(runtime_incorrect_pointe
ca800 72 5f 61 6c 69 67 6e 6d 65 6e 74 2e 7a 69 67 29 0a 20 20 20 20 69 66 20 28 66 6f 6f 28 62 79 74 r_alignment.zig).....if.(foo(byt
ca820 65 73 29 20 21 3d 20 30 78 31 31 31 31 31 31 31 31 29 20 72 65 74 75 72 6e 20 65 72 72 6f 72 2e es).!=.0x11111111).return.error.
ca840 57 72 6f 6e 67 3b 0a 20 20 20 20 20 20 20 20 20 20 20 5e 0a 2f 68 6f 6d 65 2f 63 69 2f 77 6f 72 Wrong;............^./home/ci/wor
ca860 6b 2f 7a 69 67 2d 62 6f 6f 74 73 74 72 61 70 2f 6f 75 74 2f 68 6f 73 74 2f 6c 69 62 2f 7a 69 67 k/zig-bootstrap/out/host/lib/zig
ca880 2f 73 74 64 2f 73 74 61 72 74 2e 7a 69 67 3a 37 32 32 3a 35 39 3a 20 30 78 31 31 64 38 39 66 63 /std/start.zig:722:59:.0x11d89fc
ca8a0 20 69 6e 20 63 61 6c 6c 4d 61 69 6e 20 28 73 74 64 2e 7a 69 67 29 0a 20 20 20 20 69 66 20 28 66 .in.callMain.(std.zig).....if.(f
ca8c0 6e 5f 69 6e 66 6f 2e 70 61 72 61 6d 73 2e 6c 65 6e 20 3d 3d 20 30 29 20 72 65 74 75 72 6e 20 77 n_info.params.len.==.0).return.w
ca8e0 72 61 70 4d 61 69 6e 28 72 6f 6f 74 2e 6d 61 69 6e 28 29 29 3b 0a 20 20 20 20 20 20 20 20 20 20 rapMain(root.main());...........
ca900 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ................................
ca920 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 5e 0a 2f 68 6f 6d 65 2f 63 69 2f 77 6f 72 6b 2f ................^./home/ci/work/
ca940 7a 69 67 2d 62 6f 6f 74 73 74 72 61 70 2f 6f 75 74 2f 68 6f 73 74 2f 6c 69 62 2f 7a 69 67 2f 73 zig-bootstrap/out/host/lib/zig/s
ca960 74 64 2f 73 74 61 72 74 2e 7a 69 67 3a 32 30 34 3a 35 3a 20 30 78 31 31 64 38 33 38 31 20 69 6e td/start.zig:204:5:.0x11d8381.in
ca980 20 5f 73 74 61 72 74 20 28 73 74 64 2e 7a 69 67 29 0a 20 20 20 20 61 73 6d 20 76 6f 6c 61 74 69 ._start.(std.zig).....asm.volati
ca9a0 6c 65 20 28 73 77 69 74 63 68 20 28 6e 61 74 69 76 65 5f 61 72 63 68 29 20 7b 0a 20 20 20 20 5e le.(switch.(native_arch).{.....^
ca9c0 0a 28 70 72 6f 63 65 73 73 20 74 65 72 6d 69 6e 61 74 65 64 20 62 79 20 73 69 67 6e 61 6c 29 0a .(process.terminated.by.signal).
ca9e0 3c 2f 73 61 6d 70 3e 3c 2f 70 72 65 3e 3c 2f 66 69 67 75 72 65 3e 0a 0a 20 20 20 20 20 20 0a 20 </samp></pre></figure>..........
caa00 20 20 20 20 20 3c 68 33 20 69 64 3d 22 57 72 6f 6e 67 2d 55 6e 69 6f 6e 2d 46 69 65 6c 64 2d 41 .....<h3.id="Wrong-Union-Field-A
caa20 63 63 65 73 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 57 72 ccess"><a.href="nav.xhtml#toc-Wr
caa40 6f 6e 67 2d 55 6e 69 6f 6e 2d 46 69 65 6c 64 2d 41 63 63 65 73 73 22 3e 57 72 6f 6e 67 20 55 6e ong-Union-Field-Access">Wrong.Un
caa60 69 6f 6e 20 46 69 65 6c 64 20 41 63 63 65 73 73 3c 2f 61 3e 20 3c 61 20 63 6c 61 73 73 3d 22 68 ion.Field.Access</a>.<a.class="h
caa80 64 72 22 20 68 72 65 66 3d 22 23 57 72 6f 6e 67 2d 55 6e 69 6f 6e 2d 46 69 65 6c 64 2d 41 63 63 dr".href="#Wrong-Union-Field-Acc
caaa0 65 73 73 22 3e c2 a7 3c 2f 61 3e 3c 2f 68 33 3e 0a 0a 20 20 20 20 20 20 3c 70 3e 41 74 20 63 6f ess">..</a></h3>........<p>At.co
caac0 6d 70 69 6c 65 2d 74 69 6d 65 3a 3c 2f 70 3e 0a 20 20 20 20 20 20 3c 66 69 67 75 72 65 3e 3c 66 mpile-time:</p>.......<figure><f
caae0 69 67 63 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.
cab00 63 6c 61 73 73 3d 22 66 69 6c 65 22 3e 74 65 73 74 5f 63 6f 6d 70 74 69 6d 65 5f 77 72 6f 6e 67 class="file">test_comptime_wrong
cab20 5f 75 6e 69 6f 6e 5f 66 69 65 6c 64 5f 61 63 63 65 73 73 2e 7a 69 67 3c 2f 63 69 74 65 3e 3c 2f _union_field_access.zig</cite></
cab40 66 69 67 63 61 70 74 69 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
cab60 73 3d 22 74 6f 6b 2d 6b 77 22 3e 63 6f 6d 70 74 69 6d 65 3c 2f 73 70 61 6e 3e 20 7b 0a 20 20 20 s="tok-kw">comptime</span>.{....
cab80 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>
caba0 20 66 20 3d 20 46 6f 6f 7b 20 2e 69 6e 74 20 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f .f.=.Foo{..int.=.<span.class="to
cabc0 6b 2d 6e 75 6d 62 65 72 22 3e 34 32 3c 2f 73 70 61 6e 3e 20 7d 3b 0a 20 20 20 20 66 2e 66 6c 6f k-number">42</span>.};.....f.flo
cabe0 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
cac00 2e 33 34 3c 2f 73 70 61 6e 3e 3b 0a 7d 0a 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d .34</span>;.}..<span.class="tok-
cac20 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
cac40 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 75 6e 69 6f 6e 3c 2f 73 70 61 6e 3e 20 7b 0a 20 20 20 20 66 ss="tok-kw">union</span>.{.....f
cac60 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
cac80 3c 2f 73 70 61 6e 3e 2c 0a 20 20 20 20 69 6e 74 3a 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 </span>,.....int:.<span.class="t
caca0 6f 6b 2d 74 79 70 65 22 3e 75 33 32 3c 2f 73 70 61 6e 3e 2c 0a 7d 3b 3c 2f 63 6f 64 65 3e 3c 2f ok-type">u32</span>,.};</code></
cacc0 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
cace0 20 63 6c 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
cad00 74 69 6f 6e 3e 3c 70 72 65 3e 3c 73 61 6d 70 3e 24 20 3c 6b 62 64 3e 7a 69 67 20 74 65 73 74 20 tion><pre><samp>$.<kbd>zig.test.
cad20 74 65 73 74 5f 63 6f 6d 70 74 69 6d 65 5f 77 72 6f 6e 67 5f 75 6e 69 6f 6e 5f 66 69 65 6c 64 5f test_comptime_wrong_union_field_
cad40 61 63 63 65 73 73 2e 7a 69 67 3c 2f 6b 62 64 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 73 67 access.zig</kbd>.<span.class="sg
cad60 72 2d 31 6d 22 3e 2f 68 6f 6d 65 2f 63 69 2f 77 6f 72 6b 2f 7a 69 67 2d 62 6f 6f 74 73 74 72 61 r-1m">/home/ci/work/zig-bootstra
cad80 70 2f 7a 69 67 2f 64 6f 63 2f 6c 61 6e 67 72 65 66 2f 74 65 73 74 5f 63 6f 6d 70 74 69 6d 65 5f p/zig/doc/langref/test_comptime_
cada0 77 72 6f 6e 67 5f 75 6e 69 6f 6e 5f 66 69 65 6c 64 5f 61 63 63 65 73 73 2e 7a 69 67 3a 33 3a 36 wrong_union_field_access.zig:3:6
cadc0 3a 20 3c 2f 73 70 61 6e 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 73 67 72 2d 33 31 6d 22 3e 65 :.</span><span.class="sgr-31m">e
cade0 72 72 6f 72 3a 20 3c 2f 73 70 61 6e 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 73 67 72 2d 31 6d rror:.</span><span.class="sgr-1m
cae00 22 3e 61 63 63 65 73 73 20 6f 66 20 75 6e 69 6f 6e 20 66 69 65 6c 64 20 27 66 6c 6f 61 74 27 20 ">access.of.union.field.'float'.
cae20 77 68 69 6c 65 20 66 69 65 6c 64 20 27 69 6e 74 27 20 69 73 20 61 63 74 69 76 65 0a 3c 2f 73 70 while.field.'int'.is.active.</sp
cae40 61 6e 3e 20 20 20 20 66 2e 66 6c 6f 61 74 20 3d 20 31 32 2e 33 34 3b 0a 20 20 20 20 3c 73 70 61 an>....f.float.=.12.34;.....<spa
cae60 6e 20 63 6c 61 73 73 3d 22 73 67 72 2d 33 32 6d 22 3e 7e 5e 7e 7e 7e 7e 7e 0a 3c 2f 73 70 61 6e n.class="sgr-32m">~^~~~~~.</span
cae80 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 73 67 72 2d 31 6d 22 3e 2f 68 6f 6d 65 2f 63 69 2f 77 ><span.class="sgr-1m">/home/ci/w
caea0 6f 72 6b 2f 7a 69 67 2d 62 6f 6f 74 73 74 72 61 70 2f 7a 69 67 2f 64 6f 63 2f 6c 61 6e 67 72 65 ork/zig-bootstrap/zig/doc/langre
caec0 66 2f 74 65 73 74 5f 63 6f 6d 70 74 69 6d 65 5f 77 72 6f 6e 67 5f 75 6e 69 6f 6e 5f 66 69 65 6c f/test_comptime_wrong_union_fiel
caee0 64 5f 61 63 63 65 73 73 2e 7a 69 67 3a 36 3a 31 33 3a 20 3c 2f 73 70 61 6e 3e 3c 73 70 61 6e 20 d_access.zig:6:13:.</span><span.
caf00 63 6c 61 73 73 3d 22 73 67 72 2d 33 36 6d 22 3e 6e 6f 74 65 3a 20 3c 2f 73 70 61 6e 3e 3c 73 70 class="sgr-36m">note:.</span><sp
caf20 61 6e 20 63 6c 61 73 73 3d 22 73 67 72 2d 31 6d 22 3e 75 6e 69 6f 6e 20 64 65 63 6c 61 72 65 64 an.class="sgr-1m">union.declared
caf40 20 68 65 72 65 0a 3c 2f 73 70 61 6e 3e 63 6f 6e 73 74 20 46 6f 6f 20 3d 20 75 6e 69 6f 6e 20 7b .here.</span>const.Foo.=.union.{
caf60 0a 20 20 20 20 20 20 20 20 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 73 67 72 2d 33 32 .............<span.class="sgr-32
caf80 6d 22 3e 5e 7e 7e 7e 7e 0a 3c 2f 73 70 61 6e 3e 0a 3c 2f 73 61 6d 70 3e 3c 2f 70 72 65 3e 3c 2f m">^~~~~.</span>.</samp></pre></
cafa0 66 69 67 75 72 65 3e 0a 0a 20 20 20 20 20 20 3c 70 3e 41 74 20 72 75 6e 74 69 6d 65 3a 3c 2f 70 figure>........<p>At.runtime:</p
cafc0 3e 0a 20 20 20 20 20 20 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
cafe0 73 3d 22 7a 69 67 2d 63 61 70 22 3e 3c 63 69 74 65 20 63 6c 61 73 73 3d 22 66 69 6c 65 22 3e 72 s="zig-cap"><cite.class="file">r
cb000 75 6e 74 69 6d 65 5f 77 72 6f 6e 67 5f 75 6e 69 6f 6e 5f 66 69 65 6c 64 5f 61 63 63 65 73 73 2e untime_wrong_union_field_access.
cb020 7a 69 67 3c 2f 63 69 74 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
cb040 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 63 6f 6e 73 74 3c 2f 73 70 e><span.class="tok-kw">const</sp
cb060 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
cb080 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="
cb0a0 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>)
cb0c0 3b 0a 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 63 6f 6e 73 74 3c 2f 73 ;..<span.class="tok-kw">const</s
cb0e0 70 61 6e 3e 20 46 6f 6f 20 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e pan>.Foo.=.<span.class="tok-kw">
cb100 75 6e 69 6f 6e 3c 2f 73 70 61 6e 3e 20 7b 0a 20 20 20 20 66 6c 6f 61 74 3a 20 3c 73 70 61 6e 20 union</span>.{.....float:.<span.
cb120 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 66 33 32 3c 2f 73 70 61 6e 3e 2c 0a 20 20 20 class="tok-type">f32</span>,....
cb140 20 69 6e 74 3a 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 75 33 32 .int:.<span.class="tok-type">u32
cb160 3c 2f 73 70 61 6e 3e 2c 0a 7d 3b 0a 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 </span>,.};..<span.class="tok-kw
cb180 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
cb1a0 22 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"
cb1c0 3e 6d 61 69 6e 3c 2f 73 70 61 6e 3e 28 29 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d >main</span>().<span.class="tok-
cb1e0 74 79 70 65 22 3e 76 6f 69 64 3c 2f 73 70 61 6e 3e 20 7b 0a 20 20 20 20 3c 73 70 61 6e 20 63 6c type">void</span>.{.....<span.cl
cb200 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 76 61 72 3c 2f 73 70 61 6e 3e 20 66 20 3d 20 46 6f 6f 7b ass="tok-kw">var</span>.f.=.Foo{
cb220 20 2e 69 6e 74 20 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 ..int.=.<span.class="tok-number"
cb240 3e 34 32 3c 2f 73 70 61 6e 3e 20 7d 3b 0a 20 20 20 20 62 61 72 28 26 61 6d 70 3b 66 29 3b 0a 7d >42</span>.};.....bar(&amp;f);.}
cb260 0a 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 66 6e 3c 2f 73 70 61 6e 3e ..<span.class="tok-kw">fn</span>
cb280 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>
cb2a0 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 70 65 22 (f:.*Foo).<span.class="tok-type"
cb2c0 3e 76 6f 69 64 3c 2f 73 70 61 6e 3e 20 7b 0a 20 20 20 20 66 2e 66 6c 6f 61 74 20 3d 20 3c 73 70 >void</span>.{.....f.float.=.<sp
cb2e0 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
cb300 6e 3e 3b 0a 20 20 20 20 73 74 64 2e 64 65 62 75 67 2e 70 72 69 6e 74 28 3c 73 70 61 6e 20 63 6c n>;.....std.debug.print(<span.cl
cb320 61 73 73 3d 22 74 6f 6b 2d 73 74 72 22 3e 26 71 75 6f 74 3b 76 61 6c 75 65 3a 20 7b 7d 5c 6e 26 ass="tok-str">&quot;value:.{}\n&
cb340 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 0a 7d 3c 2f 63 6f quot;</span>,..{f.float});.}</co
cb360 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
cb380 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
cb3a0 69 67 63 61 70 74 69 6f 6e 3e 3c 70 72 65 3e 3c 73 61 6d 70 3e 24 20 3c 6b 62 64 3e 7a 69 67 20 igcaption><pre><samp>$.<kbd>zig.
cb3c0 62 75 69 6c 64 2d 65 78 65 20 72 75 6e 74 69 6d 65 5f 77 72 6f 6e 67 5f 75 6e 69 6f 6e 5f 66 69 build-exe.runtime_wrong_union_fi
cb3e0 65 6c 64 5f 61 63 63 65 73 73 2e 7a 69 67 3c 2f 6b 62 64 3e 0a 24 20 3c 6b 62 64 3e 2e 2f 72 75 eld_access.zig</kbd>.$.<kbd>./ru
cb400 6e 74 69 6d 65 5f 77 72 6f 6e 67 5f 75 6e 69 6f 6e 5f 66 69 65 6c 64 5f 61 63 63 65 73 73 3c 2f ntime_wrong_union_field_access</
cb420 6b 62 64 3e 0a 74 68 72 65 61 64 20 32 33 34 32 33 39 20 70 61 6e 69 63 3a 20 61 63 63 65 73 73 kbd>.thread.234239.panic:.access
cb440 20 6f 66 20 75 6e 69 6f 6e 20 66 69 65 6c 64 20 27 66 6c 6f 61 74 27 20 77 68 69 6c 65 20 66 69 .of.union.field.'float'.while.fi
cb460 65 6c 64 20 27 69 6e 74 27 20 69 73 20 61 63 74 69 76 65 0a 2f 68 6f 6d 65 2f 63 69 2f 77 6f 72 eld.'int'.is.active./home/ci/wor
cb480 6b 2f 7a 69 67 2d 62 6f 6f 74 73 74 72 61 70 2f 7a 69 67 2f 64 6f 63 2f 6c 61 6e 67 72 65 66 2f k/zig-bootstrap/zig/doc/langref/
cb4a0 72 75 6e 74 69 6d 65 5f 77 72 6f 6e 67 5f 75 6e 69 6f 6e 5f 66 69 65 6c 64 5f 61 63 63 65 73 73 runtime_wrong_union_field_access
cb4c0 2e 7a 69 67 3a 31 34 3a 36 3a 20 30 78 31 31 64 39 31 30 65 20 69 6e 20 62 61 72 20 28 72 75 6e .zig:14:6:.0x11d910e.in.bar.(run
cb4e0 74 69 6d 65 5f 77 72 6f 6e 67 5f 75 6e 69 6f 6e 5f 66 69 65 6c 64 5f 61 63 63 65 73 73 2e 7a 69 time_wrong_union_field_access.zi
cb500 67 29 0a 20 20 20 20 66 2e 66 6c 6f 61 74 20 3d 20 31 32 2e 33 34 3b 0a 20 20 20 20 20 5e 0a 2f g).....f.float.=.12.34;......^./
cb520 68 6f 6d 65 2f 63 69 2f 77 6f 72 6b 2f 7a 69 67 2d 62 6f 6f 74 73 74 72 61 70 2f 7a 69 67 2f 64 home/ci/work/zig-bootstrap/zig/d
cb540 6f 63 2f 6c 61 6e 67 72 65 66 2f 72 75 6e 74 69 6d 65 5f 77 72 6f 6e 67 5f 75 6e 69 6f 6e 5f 66 oc/langref/runtime_wrong_union_f
cb560 69 65 6c 64 5f 61 63 63 65 73 73 2e 7a 69 67 3a 31 30 3a 38 3a 20 30 78 31 31 64 39 30 34 65 20 ield_access.zig:10:8:.0x11d904e.
cb580 69 6e 20 6d 61 69 6e 20 28 72 75 6e 74 69 6d 65 5f 77 72 6f 6e 67 5f 75 6e 69 6f 6e 5f 66 69 65 in.main.(runtime_wrong_union_fie
cb5a0 6c 64 5f 61 63 63 65 73 73 2e 7a 69 67 29 0a 20 20 20 20 62 61 72 28 26 61 6d 70 3b 66 29 3b 0a ld_access.zig).....bar(&amp;f);.
cb5c0 20 20 20 20 20 20 20 5e 0a 2f 68 6f 6d 65 2f 63 69 2f 77 6f 72 6b 2f 7a 69 67 2d 62 6f 6f 74 73 .......^./home/ci/work/zig-boots
cb5e0 74 72 61 70 2f 6f 75 74 2f 68 6f 73 74 2f 6c 69 62 2f 7a 69 67 2f 73 74 64 2f 73 74 61 72 74 2e trap/out/host/lib/zig/std/start.
cb600 7a 69 67 3a 37 32 32 3a 35 39 3a 20 30 78 31 31 64 38 39 35 31 20 69 6e 20 63 61 6c 6c 4d 61 69 zig:722:59:.0x11d8951.in.callMai
cb620 6e 20 28 73 74 64 2e 7a 69 67 29 0a 20 20 20 20 69 66 20 28 66 6e 5f 69 6e 66 6f 2e 70 61 72 61 n.(std.zig).....if.(fn_info.para
cb640 6d 73 2e 6c 65 6e 20 3d 3d 20 30 29 20 72 65 74 75 72 6e 20 77 72 61 70 4d 61 69 6e 28 72 6f 6f ms.len.==.0).return.wrapMain(roo
cb660 74 2e 6d 61 69 6e 28 29 29 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 t.main());......................
cb680 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ................................
cb6a0 20 20 20 20 20 5e 0a 2f 68 6f 6d 65 2f 63 69 2f 77 6f 72 6b 2f 7a 69 67 2d 62 6f 6f 74 73 74 72 .....^./home/ci/work/zig-bootstr
cb6c0 61 70 2f 6f 75 74 2f 68 6f 73 74 2f 6c 69 62 2f 7a 69 67 2f 73 74 64 2f 73 74 61 72 74 2e 7a 69 ap/out/host/lib/zig/std/start.zi
cb6e0 67 3a 32 30 34 3a 35 3a 20 30 78 31 31 64 38 33 38 31 20 69 6e 20 5f 73 74 61 72 74 20 28 73 74 g:204:5:.0x11d8381.in._start.(st
cb700 64 2e 7a 69 67 29 0a 20 20 20 20 61 73 6d 20 76 6f 6c 61 74 69 6c 65 20 28 73 77 69 74 63 68 20 d.zig).....asm.volatile.(switch.
cb720 28 6e 61 74 69 76 65 5f 61 72 63 68 29 20 7b 0a 20 20 20 20 5e 0a 28 70 72 6f 63 65 73 73 20 74 (native_arch).{.....^.(process.t
cb740 65 72 6d 69 6e 61 74 65 64 20 62 79 20 73 69 67 6e 61 6c 29 0a 3c 2f 73 61 6d 70 3e 3c 2f 70 72 erminated.by.signal).</samp></pr
cb760 65 3e 3c 2f 66 69 67 75 72 65 3e 0a 0a 20 20 20 20 20 20 3c 70 3e 0a 20 20 20 20 20 20 54 68 69 e></figure>........<p>.......Thi
cb780 73 20 73 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 s.safety.is.not.available.for.<c
cb7a0 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 65 78 74 65 72 6e 3c ode><span.class="tok-kw">extern<
cb7c0 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 20 6f 72 20 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 /span></code>.or.<code><span.cla
cb7e0 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 70 61 63 6b 65 64 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e ss="tok-kw">packed</span></code>
cb800 20 75 6e 69 6f 6e 73 2e 0a 20 20 20 20 20 20 3c 2f 70 3e 0a 20 20 20 20 20 20 3c 70 3e 0a 20 20 .unions........</p>.......<p>...
cb820 20 20 20 20 54 6f 20 63 68 61 6e 67 65 20 74 68 65 20 61 63 74 69 76 65 20 66 69 65 6c 64 20 6f ....To.change.the.active.field.o
cb840 66 20 61 20 75 6e 69 6f 6e 2c 20 61 73 73 69 67 6e 20 74 68 65 20 65 6e 74 69 72 65 20 75 6e 69 f.a.union,.assign.the.entire.uni
cb860 6f 6e 2c 20 6c 69 6b 65 20 74 68 69 73 3a 0a 20 20 20 20 20 20 3c 2f 70 3e 0a 20 20 20 20 20 20 on,.like.this:.......</p>.......
cb880 3c 66 69 67 75 72 65 3e 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
cb8a0 61 70 22 3e 3c 63 69 74 65 20 63 6c 61 73 73 3d 22 66 69 6c 65 22 3e 63 68 61 6e 67 65 5f 61 63 ap"><cite.class="file">change_ac
cb8c0 74 69 76 65 5f 75 6e 69 6f 6e 5f 66 69 65 6c 64 2e 7a 69 67 3c 2f 63 69 74 65 3e 3c 2f 66 69 67 tive_union_field.zig</cite></fig
cb8e0 63 61 70 74 69 6f 6e 3e 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="
cb900 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
cb920 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
cb940 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;
cb960 73 74 64 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 29 3b 0a 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d std&quot;</span>);..<span.class=
cb980 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
cb9a0 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 0a n.class="tok-kw">union</span>.{.
cb9c0 20 20 20 20 66 6c 6f 61 74 3a 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 ....float:.<span.class="tok-type
cb9e0 22 3e 66 33 32 3c 2f 73 70 61 6e 3e 2c 0a 20 20 20 20 69 6e 74 3a 20 3c 73 70 61 6e 20 63 6c 61 ">f32</span>,.....int:.<span.cla
cba00 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 75 33 32 3c 2f 73 70 61 6e 3e 2c 0a 7d 3b 0a 0a 3c 73 ss="tok-type">u32</span>,.};..<s
cba20 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
cba40 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
cba60 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>().
cba80 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
cbaa0 6e 3e 20 7b 0a 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 76 61 n>.{.....<span.class="tok-kw">va
cbac0 72 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 r</span>.f.=.Foo{..int.=.<span.c
cbae0 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 34 32 3c 2f 73 70 61 6e 3e 20 7d 3b 0a 20 lass="tok-number">42</span>.};..
cbb00 20 20 20 62 61 72 28 26 61 6d 70 3b 66 29 3b 0a 7d 0a 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 ...bar(&amp;f);.}..<span.class="
cbb20 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
cbb40 6f 6b 2d 66 6e 22 3e 62 61 72 3c 2f 73 70 61 6e 3e 28 66 3a 20 2a 46 6f 6f 29 20 3c 73 70 61 6e ok-fn">bar</span>(f:.*Foo).<span
cbb60 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 76 6f 69 64 3c 2f 73 70 61 6e 3e 20 7b 0a .class="tok-type">void</span>.{.
cbb80 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 6c ....f.*.=.Foo{..float.=.<span.cl
cbba0 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 3b ass="tok-number">12.34</span>.};
cbbc0 0a 20 20 20 20 73 74 64 2e 64 65 62 75 67 2e 70 72 69 6e 74 28 3c 73 70 61 6e 20 63 6c 61 73 73 .....std.debug.print(<span.class
cbbe0 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
cbc00 74 3b 3c 2f 73 70 61 6e 3e 2c 20 2e 7b 66 2e 66 6c 6f 61 74 7d 29 3b 0a 7d 3c 2f 63 6f 64 65 3e t;</span>,..{f.float});.}</code>
cbc20 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
cbc40 6f 6e 20 63 6c 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
cbc60 61 70 74 69 6f 6e 3e 3c 70 72 65 3e 3c 73 61 6d 70 3e 24 20 3c 6b 62 64 3e 7a 69 67 20 62 75 69 aption><pre><samp>$.<kbd>zig.bui
cbc80 6c 64 2d 65 78 65 20 63 68 61 6e 67 65 5f 61 63 74 69 76 65 5f 75 6e 69 6f 6e 5f 66 69 65 6c 64 ld-exe.change_active_union_field
cbca0 2e 7a 69 67 3c 2f 6b 62 64 3e 0a 24 20 3c 6b 62 64 3e 2e 2f 63 68 61 6e 67 65 5f 61 63 74 69 76 .zig</kbd>.$.<kbd>./change_activ
cbcc0 65 5f 75 6e 69 6f 6e 5f 66 69 65 6c 64 3c 2f 6b 62 64 3e 0a 76 61 6c 75 65 3a 20 31 32 2e 33 34 e_union_field</kbd>.value:.12.34
cbce0 0a 3c 2f 73 61 6d 70 3e 3c 2f 70 72 65 3e 3c 2f 66 69 67 75 72 65 3e 0a 0a 20 20 20 20 20 20 3c .</samp></pre></figure>........<
cbd00 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 20 66 69 p>.......To.change.the.active.fi
cbd20 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 66 75 6c eld.of.a.union.when.a.meaningful
cbd40 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 6e 6f 77 .value.for.the.field.is.not.know
cbd60 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 6e 65 64 n,.......use.<a.href="#undefined
cbd80 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 20 20 20 ">undefined</a>,.like.this:.....
cbda0 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
cbdc0 20 63 6c 61 73 73 3d 22 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
cbde0 6c 65 22 3e 75 6e 64 65 66 69 6e 65 64 5f 61 63 74 69 76 65 5f 75 6e 69 6f 6e 5f 66 69 65 6c 64 le">undefined_active_union_field
cbe00 2e 7a 69 67 3c 2f 63 69 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
cbe20 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 63 6f 6e 73 74 3c 2f 73 de><span.class="tok-kw">const</s
cbe40 70 61 6e 3e 20 73 74 64 20 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 62 75 69 6c pan>.std.=.<span.class="tok-buil
cbe60 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=
cbe80 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>
cbea0 29 3b 0a 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 63 6f 6e 73 74 3c 2f );..<span.class="tok-kw">const</
cbec0 73 70 61 6e 3e 20 46 6f 6f 20 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 span>.Foo.=.<span.class="tok-kw"
cbee0 3e 75 6e 69 6f 6e 3c 2f 73 70 61 6e 3e 20 7b 0a 20 20 20 20 66 6c 6f 61 74 3a 20 3c 73 70 61 6e >union</span>.{.....float:.<span
cbf00 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 66 33 32 3c 2f 73 70 61 6e 3e 2c 0a 20 20 .class="tok-type">f32</span>,...
cbf20 20 20 69 6e 74 3a 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 75 33 ..int:.<span.class="tok-type">u3
cbf40 32 3c 2f 73 70 61 6e 3e 2c 0a 7d 3b 0a 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 2</span>,.};..<span.class="tok-k
cbf60 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
cbf80 77 22 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
cbfa0 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
cbfc0 2d 74 79 70 65 22 3e 76 6f 69 64 3c 2f 73 70 61 6e 3e 20 7b 0a 20 20 20 20 3c 73 70 61 6e 20 63 -type">void</span>.{.....<span.c
cbfe0 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 76 61 72 3c 2f 73 70 61 6e 3e 20 66 20 3d 20 46 6f 6f lass="tok-kw">var</span>.f.=.Foo
cc000 7b 20 2e 69 6e 74 20 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 {..int.=.<span.class="tok-number
cc020 22 3e 34 32 3c 2f 73 70 61 6e 3e 20 7d 3b 0a 20 20 20 20 66 20 3d 20 46 6f 6f 7b 20 2e 66 6c 6f ">42</span>.};.....f.=.Foo{..flo
cc040 61 74 20 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6c 6c 22 3e 75 6e 64 65 at.=.<span.class="tok-null">unde
cc060 66 69 6e 65 64 3c 2f 73 70 61 6e 3e 20 7d 3b 0a 20 20 20 20 62 61 72 28 26 61 6d 70 3b 66 29 3b fined</span>.};.....bar(&amp;f);
cc080 0a 20 20 20 20 73 74 64 2e 64 65 62 75 67 2e 70 72 69 6e 74 28 3c 73 70 61 6e 20 63 6c 61 73 73 .....std.debug.print(<span.class
cc0a0 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
cc0c0 74 3b 3c 2f 73 70 61 6e 3e 2c 20 2e 7b 66 2e 66 6c 6f 61 74 7d 29 3b 0a 7d 0a 0a 3c 73 70 61 6e t;</span>,..{f.float});.}..<span
cc0e0 20 63 6c 61 73 73 3d 22 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.
cc100 63 6c 61 73 73 3d 22 74 6f 6b 2d 66 6e 22 3e 62 61 72 3c 2f 73 70 61 6e 3e 28 66 3a 20 2a 46 6f class="tok-fn">bar</span>(f:.*Fo
cc120 6f 29 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 76 6f 69 64 3c 2f o).<span.class="tok-type">void</
cc140 73 70 61 6e 3e 20 7b 0a 20 20 20 20 66 2e 66 6c 6f 61 74 20 3d 20 3c 73 70 61 6e 20 63 6c 61 73 span>.{.....f.float.=.<span.clas
cc160 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 31 32 2e 33 34 3c 2f 73 70 61 6e 3e 3b 0a 7d 3c 2f s="tok-number">12.34</span>;.}</
cc180 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
cc1a0 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<
cc1c0 2f 66 69 67 63 61 70 74 69 6f 6e 3e 3c 70 72 65 3e 3c 73 61 6d 70 3e 24 20 3c 6b 62 64 3e 7a 69 /figcaption><pre><samp>$.<kbd>zi
cc1e0 67 20 62 75 69 6c 64 2d 65 78 65 20 75 6e 64 65 66 69 6e 65 64 5f 61 63 74 69 76 65 5f 75 6e 69 g.build-exe.undefined_active_uni
cc200 6f 6e 5f 66 69 65 6c 64 2e 7a 69 67 3c 2f 6b 62 64 3e 0a 24 20 3c 6b 62 64 3e 2e 2f 75 6e 64 65 on_field.zig</kbd>.$.<kbd>./unde
cc220 66 69 6e 65 64 5f 61 63 74 69 76 65 5f 75 6e 69 6f 6e 5f 66 69 65 6c 64 3c 2f 6b 62 64 3e 0a 76 fined_active_union_field</kbd>.v
cc240 61 6c 75 65 3a 20 31 32 2e 33 34 0a 3c 2f 73 61 6d 70 3e 3c 2f 70 72 65 3e 3c 2f 66 69 67 75 72 alue:.12.34.</samp></pre></figur
cc260 65 3e 0a 0a 20 20 20 20 20 20 3c 70 3e 53 65 65 20 61 6c 73 6f 3a 3c 2f 70 3e 3c 75 6c 3e 0a 3c e>........<p>See.also:</p><ul>.<
cc280 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 2f 61 3e 3c 2f 6c li><a.href="#union">union</a></l
cc2a0 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 69 6f 6e 22 3e 65 i>.<li><a.href="#extern-union">e
cc2c0 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 0a 0a 20 20 20 20 xtern.union</a></li>.</ul>......
cc2e0 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 6f 75 6e 64 73 2d ..........<h3.id="Out-of-Bounds-
cc300 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 68 72 65 66 3d 22 Float-to-Integer-Cast"><a.href="
cc320 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 73 2d 46 6c 6f 61 nav.xhtml#toc-Out-of-Bounds-Floa
cc340 74 2d 74 6f 2d 49 6e 74 65 67 65 72 2d 43 61 73 74 22 3e 4f 75 74 20 6f 66 20 42 6f 75 6e 64 73 t-to-Integer-Cast">Out.of.Bounds
cc360 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 20 3c 61 20 63 6c .Float.to.Integer.Cast</a>.<a.cl
cc380 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 75 6e 64 73 2d 46 ass="hdr".href="#Out-of-Bounds-F
cc3a0 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 61 3e 3c 2f 68 33 loat-to-Integer-Cast">..</a></h3
cc3c0 3e 0a 0a 20 20 20 20 20 20 3c 70 3e 0a 20 20 20 20 20 20 54 68 69 73 20 68 61 70 70 65 6e 73 20 >........<p>.......This.happens.
cc3e0 77 68 65 6e 20 63 61 73 74 69 6e 67 20 61 20 66 6c 6f 61 74 20 74 6f 20 61 6e 20 69 6e 74 65 67 when.casting.a.float.to.an.integ
cc400 65 72 20 77 68 65 72 65 20 74 68 65 20 66 6c 6f 61 74 20 68 61 73 20 61 20 76 61 6c 75 65 20 6f er.where.the.float.has.a.value.o
cc420 75 74 73 69 64 65 20 74 68 65 0a 20 20 20 20 20 20 69 6e 74 65 67 65 72 20 74 79 70 65 27 73 20 utside.the.......integer.type's.
cc440 72 61 6e 67 65 2e 0a 20 20 20 20 20 20 3c 2f 70 3e 0a 20 20 20 20 20 20 3c 70 3e 41 74 20 63 6f range........</p>.......<p>At.co
cc460 6d 70 69 6c 65 2d 74 69 6d 65 3a 3c 2f 70 3e 0a 20 20 20 20 20 20 3c 66 69 67 75 72 65 3e 3c 66 mpile-time:</p>.......<figure><f
cc480 69 67 63 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.
cc4a0 63 6c 61 73 73 3d 22 66 69 6c 65 22 3e 74 65 73 74 5f 63 6f 6d 70 74 69 6d 65 5f 6f 75 74 5f 6f class="file">test_comptime_out_o
cc4c0 66 5f 62 6f 75 6e 64 73 5f 66 6c 6f 61 74 5f 74 6f 5f 69 6e 74 65 67 65 72 5f 63 61 73 74 2e 7a f_bounds_float_to_integer_cast.z
cc4e0 69 67 3c 2f 63 69 74 65 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
cc500 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</
cc520 73 70 61 6e 3e 20 7b 0a 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 span>.{.....<span.class="tok-kw"
cc540 3e 63 6f 6e 73 74 3c 2f 73 70 61 6e 3e 20 66 6c 6f 61 74 3a 20 3c 73 70 61 6e 20 63 6c 61 73 73 >const</span>.float:.<span.class
cc560 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 66 33 32 3c 2f 73 70 61 6e 3e 20 3d 20 3c 73 70 61 6e 20 63 ="tok-type">f32</span>.=.<span.c
cc580 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 34 32 39 34 39 36 37 32 39 36 3c 2f 73 70 lass="tok-number">4294967296</sp
cc5a0 61 6e 3e 3b 0a 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 63 6f an>;.....<span.class="tok-kw">co
cc5c0 6e 73 74 3c 2f 73 70 61 6e 3e 20 69 6e 74 3a 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b nst</span>.int:.<span.class="tok
cc5e0 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=
cc600 22 74 6f 6b 2d 62 75 69 6c 74 69 6e 22 3e 40 69 6e 74 46 72 6f 6d 46 6c 6f 61 74 3c 2f 73 70 61 "tok-builtin">@intFromFloat</spa
cc620 6e 3e 28 66 6c 6f 61 74 29 3b 0a 20 20 20 20 5f 20 3d 20 69 6e 74 3b 0a 7d 3c 2f 63 6f 64 65 3e n>(float);....._.=.int;.}</code>
cc640 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
cc660 6f 6e 20 63 6c 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
cc680 61 70 74 69 6f 6e 3e 3c 70 72 65 3e 3c 73 61 6d 70 3e 24 20 3c 6b 62 64 3e 7a 69 67 20 74 65 73 aption><pre><samp>$.<kbd>zig.tes
cc6a0 74 20 74 65 73 74 5f 63 6f 6d 70 74 69 6d 65 5f 6f 75 74 5f 6f 66 5f 62 6f 75 6e 64 73 5f 66 6c t.test_comptime_out_of_bounds_fl
cc6c0 6f 61 74 5f 74 6f 5f 69 6e 74 65 67 65 72 5f 63 61 73 74 2e 7a 69 67 3c 2f 6b 62 64 3e 0a 3c 73 oat_to_integer_cast.zig</kbd>.<s
cc6e0 70 61 6e 20 63 6c 61 73 73 3d 22 73 67 72 2d 31 6d 22 3e 2f 68 6f 6d 65 2f 63 69 2f 77 6f 72 6b pan.class="sgr-1m">/home/ci/work
cc700 2f 7a 69 67 2d 62 6f 6f 74 73 74 72 61 70 2f 7a 69 67 2f 64 6f 63 2f 6c 61 6e 67 72 65 66 2f 74 /zig-bootstrap/zig/doc/langref/t
cc720 65 73 74 5f 63 6f 6d 70 74 69 6d 65 5f 6f 75 74 5f 6f 66 5f 62 6f 75 6e 64 73 5f 66 6c 6f 61 74 est_comptime_out_of_bounds_float
cc740 5f 74 6f 5f 69 6e 74 65 67 65 72 5f 63 61 73 74 2e 7a 69 67 3a 33 3a 33 36 3a 20 3c 2f 73 70 61 _to_integer_cast.zig:3:36:.</spa
cc760 6e 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 73 67 72 2d 33 31 6d 22 3e 65 72 72 6f 72 3a 20 3c n><span.class="sgr-31m">error:.<
cc780 2f 73 70 61 6e 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 73 67 72 2d 31 6d 22 3e 66 6c 6f 61 74 /span><span.class="sgr-1m">float
cc7a0 20 76 61 6c 75 65 20 27 34 32 39 34 39 36 37 32 39 36 27 20 63 61 6e 6e 6f 74 20 62 65 20 73 74 .value.'4294967296'.cannot.be.st
cc7c0 6f 72 65 64 20 69 6e 20 69 6e 74 65 67 65 72 20 74 79 70 65 20 27 69 33 32 27 0a 3c 2f 73 70 61 ored.in.integer.type.'i32'.</spa
cc7e0 6e 3e 20 20 20 20 63 6f 6e 73 74 20 69 6e 74 3a 20 69 33 32 20 3d 20 40 69 6e 74 46 72 6f 6d 46 n>....const.int:.i32.=.@intFromF
cc800 6c 6f 61 74 28 66 6c 6f 61 74 29 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 loat(float);....................
cc820 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 73 67 72 ................<span.class="sgr
cc840 2d 33 32 6d 22 3e 5e 7e 7e 7e 7e 0a 3c 2f 73 70 61 6e 3e 0a 3c 2f 73 61 6d 70 3e 3c 2f 70 72 65 -32m">^~~~~.</span>.</samp></pre
cc860 3e 3c 2f 66 69 67 75 72 65 3e 0a 0a 20 20 20 20 20 20 3c 70 3e 41 74 20 72 75 6e 74 69 6d 65 3a ></figure>........<p>At.runtime:
cc880 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
cc8a0 6c 61 73 73 3d 22 7a 69 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
cc8c0 22 3e 72 75 6e 74 69 6d 65 5f 6f 75 74 5f 6f 66 5f 62 6f 75 6e 64 73 5f 66 6c 6f 61 74 5f 74 6f ">runtime_out_of_bounds_float_to
cc8e0 5f 69 6e 74 65 67 65 72 5f 63 61 73 74 2e 7a 69 67 3c 2f 63 69 74 65 3e 3c 2f 66 69 67 63 61 70 _integer_cast.zig</cite></figcap
cc900 74 69 6f 6e 3e 3c 70 72 65 3e 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b tion><pre><code><span.class="tok
cc920 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
cc940 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-
cc960 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
cc980 6f 6b 2d 74 79 70 65 22 3e 76 6f 69 64 3c 2f 73 70 61 6e 3e 20 7b 0a 20 20 20 20 3c 73 70 61 6e ok-type">void</span>.{.....<span
cc9a0 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 6c 6f 61 74 .class="tok-kw">var</span>.float
cc9c0 3a 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
cc9e0 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 34 an>.=.<span.class="tok-number">4
cca00 32 39 34 39 36 37 32 39 36 3c 2f 73 70 61 6e 3e 3b 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 294967296</span>;.<span.class="t
cca20 6f 6b 2d 63 6f 6d 6d 65 6e 74 22 3e 2f 2f 20 72 75 6e 74 69 6d 65 2d 6b 6e 6f 77 6e 3c 2f 73 70 ok-comment">//.runtime-known</sp
cca40 61 6e 3e 0a 20 20 20 20 5f 20 3d 20 26 61 6d 70 3b 66 6c 6f 61 74 3b 0a 20 20 20 20 3c 73 70 61 an>....._.=.&amp;float;.....<spa
cca60 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 63 6f 6e 73 74 3c 2f 73 70 61 6e 3e 20 69 6e n.class="tok-kw">const</span>.in
cca80 74 3a 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 69 33 32 3c 2f 73 t:.<span.class="tok-type">i32</s
ccaa0 70 61 6e 3e 20 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 62 75 69 6c 74 69 6e 22 pan>.=.<span.class="tok-builtin"
ccac0 3e 40 69 6e 74 46 72 6f 6d 46 6c 6f 61 74 3c 2f 73 70 61 6e 3e 28 66 6c 6f 61 74 29 3b 0a 20 20 >@intFromFloat</span>(float);...
ccae0 20 20 5f 20 3d 20 69 6e 74 3b 0a 7d 3c 2f 63 6f 64 65 3e 3c 2f 70 72 65 3e 3c 2f 66 69 67 75 72 .._.=.int;.}</code></pre></figur
ccb00 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
ccb20 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><
ccb40 73 61 6d 70 3e 24 20 3c 6b 62 64 3e 7a 69 67 20 62 75 69 6c 64 2d 65 78 65 20 72 75 6e 74 69 6d samp>$.<kbd>zig.build-exe.runtim
ccb60 65 5f 6f 75 74 5f 6f 66 5f 62 6f 75 6e 64 73 5f 66 6c 6f 61 74 5f 74 6f 5f 69 6e 74 65 67 65 72 e_out_of_bounds_float_to_integer
ccb80 5f 63 61 73 74 2e 7a 69 67 3c 2f 6b 62 64 3e 0a 24 20 3c 6b 62 64 3e 2e 2f 72 75 6e 74 69 6d 65 _cast.zig</kbd>.$.<kbd>./runtime
ccba0 5f 6f 75 74 5f 6f 66 5f 62 6f 75 6e 64 73 5f 66 6c 6f 61 74 5f 74 6f 5f 69 6e 74 65 67 65 72 5f _out_of_bounds_float_to_integer_
ccbc0 63 61 73 74 3c 2f 6b 62 64 3e 0a 74 68 72 65 61 64 20 32 33 34 34 35 38 20 70 61 6e 69 63 3a 20 cast</kbd>.thread.234458.panic:.
ccbe0 69 6e 74 65 67 65 72 20 70 61 72 74 20 6f 66 20 66 6c 6f 61 74 69 6e 67 20 70 6f 69 6e 74 20 76 integer.part.of.floating.point.v
ccc00 61 6c 75 65 20 6f 75 74 20 6f 66 20 62 6f 75 6e 64 73 0a 2f 68 6f 6d 65 2f 63 69 2f 77 6f 72 6b alue.out.of.bounds./home/ci/work
ccc20 2f 7a 69 67 2d 62 6f 6f 74 73 74 72 61 70 2f 7a 69 67 2f 64 6f 63 2f 6c 61 6e 67 72 65 66 2f 72 /zig-bootstrap/zig/doc/langref/r
ccc40 75 6e 74 69 6d 65 5f 6f 75 74 5f 6f 66 5f 62 6f 75 6e 64 73 5f 66 6c 6f 61 74 5f 74 6f 5f 69 6e untime_out_of_bounds_float_to_in
ccc60 74 65 67 65 72 5f 63 61 73 74 2e 7a 69 67 3a 34 3a 32 32 3a 20 30 78 31 31 64 39 30 37 66 20 69 teger_cast.zig:4:22:.0x11d907f.i
ccc80 6e 20 6d 61 69 6e 20 28 72 75 6e 74 69 6d 65 5f 6f 75 74 5f 6f 66 5f 62 6f 75 6e 64 73 5f 66 6c n.main.(runtime_out_of_bounds_fl
ccca0 6f 61 74 5f 74 6f 5f 69 6e 74 65 67 65 72 5f 63 61 73 74 2e 7a 69 67 29 0a 20 20 20 20 63 6f 6e oat_to_integer_cast.zig).....con
cccc0 73 74 20 69 6e 74 3a 20 69 33 32 20 3d 20 40 69 6e 74 46 72 6f 6d 46 6c 6f 61 74 28 66 6c 6f 61 st.int:.i32.=.@intFromFloat(floa
ccce0 74 29 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 5e 0a 2f 68 6f 6d 65 t);......................^./home
ccd00 2f 63 69 2f 77 6f 72 6b 2f 7a 69 67 2d 62 6f 6f 74 73 74 72 61 70 2f 6f 75 74 2f 68 6f 73 74 2f /ci/work/zig-bootstrap/out/host/
ccd20 6c 69 62 2f 7a 69 67 2f 73 74 64 2f 73 74 61 72 74 2e 7a 69 67 3a 37 32 32 3a 35 39 3a 20 30 78 lib/zig/std/start.zig:722:59:.0x
ccd40 31 31 64 38 39 35 31 20 69 6e 20 63 61 6c 6c 4d 61 69 6e 20 28 73 74 64 2e 7a 69 67 29 0a 20 20 11d8951.in.callMain.(std.zig)...
ccd60 20 20 69 66 20 28 66 6e 5f 69 6e 66 6f 2e 70 61 72 61 6d 73 2e 6c 65 6e 20 3d 3d 20 30 29 20 72 ..if.(fn_info.params.len.==.0).r
ccd80 65 74 75 72 6e 20 77 72 61 70 4d 61 69 6e 28 72 6f 6f 74 2e 6d 61 69 6e 28 29 29 3b 0a 20 20 20 eturn.wrapMain(root.main());....
ccda0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ................................
ccdc0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 5e 0a 2f 68 6f 6d 65 2f 63 .......................^./home/c
ccde0 69 2f 77 6f 72 6b 2f 7a 69 67 2d 62 6f 6f 74 73 74 72 61 70 2f 6f 75 74 2f 68 6f 73 74 2f 6c 69 i/work/zig-bootstrap/out/host/li
cce00 62 2f 7a 69 67 2f 73 74 64 2f 73 74 61 72 74 2e 7a 69 67 3a 32 30 34 3a 35 3a 20 30 78 31 31 64 b/zig/std/start.zig:204:5:.0x11d
cce20 38 33 38 31 20 69 6e 20 5f 73 74 61 72 74 20 28 73 74 64 2e 7a 69 67 29 0a 20 20 20 20 61 73 6d 8381.in._start.(std.zig).....asm
cce40 20 76 6f 6c 61 74 69 6c 65 20 28 73 77 69 74 63 68 20 28 6e 61 74 69 76 65 5f 61 72 63 68 29 20 .volatile.(switch.(native_arch).
cce60 7b 0a 20 20 20 20 5e 0a 28 70 72 6f 63 65 73 73 20 74 65 72 6d 69 6e 61 74 65 64 20 62 79 20 73 {.....^.(process.terminated.by.s
cce80 69 67 6e 61 6c 29 0a 3c 2f 73 61 6d 70 3e 3c 2f 70 72 65 3e 3c 2f 66 69 67 75 72 65 3e 0a 0a 20 ignal).</samp></pre></figure>...
ccea0 20 20 20 20 20 0a 0a 20 20 20 20 20 20 3c 68 33 20 69 64 3d 22 50 6f 69 6e 74 65 72 2d 43 61 73 .............<h3.id="Pointer-Cas
ccec0 74 2d 49 6e 76 61 6c 69 64 2d 4e 75 6c 6c 22 3e 3c 61 20 68 72 65 66 3d 22 6e 61 76 2e 78 68 74 t-Invalid-Null"><a.href="nav.xht
ccee0 6d 6c 23 74 6f 63 2d 50 6f 69 6e 74 65 72 2d 43 61 73 74 2d 49 6e 76 61 6c 69 64 2d 4e 75 6c 6c ml#toc-Pointer-Cast-Invalid-Null
ccf00 22 3e 50 6f 69 6e 74 65 72 20 43 61 73 74 20 49 6e 76 61 6c 69 64 20 4e 75 6c 6c 3c 2f 61 3e 20 ">Pointer.Cast.Invalid.Null</a>.
ccf20 3c 61 20 63 6c 61 73 73 3d 22 68 64 72 22 20 68 72 65 66 3d 22 23 50 6f 69 6e 74 65 72 2d 43 61 <a.class="hdr".href="#Pointer-Ca
ccf40 73 74 2d 49 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 st-Invalid-Null">..</a></h3>....
ccf60 20 20 20 20 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 ....<p>.......This.happens.when.
ccf80 63 61 73 74 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 casting.a.pointer.with.the.addre
ccfa0 73 73 20 30 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 ss.0.to.a.pointer.which.may.not.
ccfc0 68 61 76 65 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 have.the.address.0........For.ex
ccfe0 61 6d 70 6c 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 ample,.<a.href="#C-Pointers">C.P
cd000 6f 69 6e 74 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 ointers</a>,.<a.href="#Optional-
cd020 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 2c Pointers">Optional.Pointers</a>,
cd040 20 61 6e 64 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 .and.<a.href="#allowzero">allowz
cd060 65 72 6f 3c 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 ero</a>.pointers.......allow.add
cd080 72 65 73 73 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 ress.zero,.but.normal.<a.href="#
cd0a0 50 6f 69 6e 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 Pointers">Pointers</a>.do.not...
cd0c0 20 20 20 20 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 .....</p>.......<p>At.compile-ti
cd0e0 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
cd100 6e 20 63 6c 61 73 73 3d 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
cd120 69 6c 65 22 3e 74 65 73 74 5f 63 6f 6d 70 74 69 6d 65 5f 69 6e 76 61 6c 69 64 5f 6e 75 6c 6c 5f ile">test_comptime_invalid_null_
cd140 70 6f 69 6e 74 65 72 5f 63 61 73 74 2e 7a 69 67 3c 2f 63 69 74 65 3e 3c 2f 66 69 67 63 61 70 74 pointer_cast.zig</cite></figcapt
cd160 69 6f 6e 3e 3c 70 72 65 3e 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d ion><pre><code><span.class="tok-
cd180 6b 77 22 3e 63 6f 6d 70 74 69 6d 65 3c 2f 73 70 61 6e 3e 20 7b 0a 20 20 20 20 3c 73 70 61 6e 20 kw">comptime</span>.{.....<span.
cd1a0 63 6c 61 73 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 5f class="tok-kw">const</span>.opt_
cd1c0 70 74 72 3a 20 3f 2a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 69 33 ptr:.?*<span.class="tok-type">i3
cd1e0 32 3c 2f 73 70 61 6e 3e 20 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6c 6c 2</span>.=.<span.class="tok-null
cd200 22 3e 6e 75 6c 6c 3c 2f 73 70 61 6e 3e 3b 0a 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 ">null</span>;.....<span.class="
cd220 74 6f 6b 2d 6b 77 22 3e 63 6f 6e 73 74 3c 2f 73 70 61 6e 3e 20 70 74 72 3a 20 2a 3c 73 70 61 6e tok-kw">const</span>.ptr:.*<span
cd240 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>.=.<
cd260 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 62 75 69 6c 74 69 6e 22 3e 40 70 74 72 43 61 73 span.class="tok-builtin">@ptrCas
cd280 74 3c 2f 73 70 61 6e 3e 28 6f 70 74 5f 70 74 72 29 3b 0a 20 20 20 20 5f 20 3d 20 70 74 72 3b 0a t</span>(opt_ptr);....._.=.ptr;.
cd2a0 7d 3c 2f 63 6f 64 65 3e 3c 2f 70 72 65 3e 3c 2f 66 69 67 75 72 65 3e 3c 66 69 67 75 72 65 3e 3c }</code></pre></figure><figure><
cd2c0 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
cd2e0 6c 6c 3c 2f 66 69 67 63 61 70 74 69 6f 6e 3e 3c 70 72 65 3e 3c 73 61 6d 70 3e 24 20 3c 6b 62 64 ll</figcaption><pre><samp>$.<kbd
cd300 3e 7a 69 67 20 74 65 73 74 20 74 65 73 74 5f 63 6f 6d 70 74 69 6d 65 5f 69 6e 76 61 6c 69 64 5f >zig.test.test_comptime_invalid_
cd320 6e 75 6c 6c 5f 70 6f 69 6e 74 65 72 5f 63 61 73 74 2e 7a 69 67 3c 2f 6b 62 64 3e 0a 3c 73 70 61 null_pointer_cast.zig</kbd>.<spa
cd340 6e 20 63 6c 61 73 73 3d 22 73 67 72 2d 31 6d 22 3e 2f 68 6f 6d 65 2f 63 69 2f 77 6f 72 6b 2f 7a n.class="sgr-1m">/home/ci/work/z
cd360 69 67 2d 62 6f 6f 74 73 74 72 61 70 2f 7a 69 67 2f 64 6f 63 2f 6c 61 6e 67 72 65 66 2f 74 65 73 ig-bootstrap/zig/doc/langref/tes
cd380 74 5f 63 6f 6d 70 74 69 6d 65 5f 69 6e 76 61 6c 69 64 5f 6e 75 6c 6c 5f 70 6f 69 6e 74 65 72 5f t_comptime_invalid_null_pointer_
cd3a0 63 61 73 74 2e 7a 69 67 3a 33 3a 33 32 3a 20 3c 2f 73 70 61 6e 3e 3c 73 70 61 6e 20 63 6c 61 73 cast.zig:3:32:.</span><span.clas
cd3c0 73 3d 22 73 67 72 2d 33 31 6d 22 3e 65 72 72 6f 72 3a 20 3c 2f 73 70 61 6e 3e 3c 73 70 61 6e 20 s="sgr-31m">error:.</span><span.
cd3e0 63 6c 61 73 73 3d 22 73 67 72 2d 31 6d 22 3e 6e 75 6c 6c 20 70 6f 69 6e 74 65 72 20 63 61 73 74 class="sgr-1m">null.pointer.cast
cd400 65 64 20 74 6f 20 74 79 70 65 20 27 2a 69 33 32 27 0a 3c 2f 73 70 61 6e 3e 20 20 20 20 63 6f 6e ed.to.type.'*i32'.</span>....con
cd420 73 74 20 70 74 72 3a 20 2a 69 33 32 20 3d 20 40 70 74 72 43 61 73 74 28 6f 70 74 5f 70 74 72 29 st.ptr:.*i32.=.@ptrCast(opt_ptr)
cd440 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ;...............................
cd460 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 73 67 72 2d 33 32 6d 22 3e 5e 7e 7e 7e 7e 7e 7e 0a 3c .<span.class="sgr-32m">^~~~~~~.<
cd480 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 0a 20 /span>.</samp></pre></figure>...
cd4a0 20 20 20 20 20 3c 70 3e 41 74 20 72 75 6e 74 69 6d 65 3a 3c 2f 70 3e 0a 20 20 20 20 20 20 3c 66 .....<p>At.runtime:</p>.......<f
cd4c0 69 67 75 72 65 3e 3c 66 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
cd4e0 22 3e 3c 63 69 74 65 20 63 6c 61 73 73 3d 22 66 69 6c 65 22 3e 72 75 6e 74 69 6d 65 5f 69 6e 76 "><cite.class="file">runtime_inv
cd500 61 6c 69 64 5f 6e 75 6c 6c 5f 70 6f 69 6e 74 65 72 5f 63 61 73 74 2e 7a 69 67 3c 2f 63 69 74 65 alid_null_pointer_cast.zig</cite
cd520 3e 3c 2f 66 69 67 63 61 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
cd540 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
cd560 6c 61 73 73 3d 22 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
cd580 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
cd5a0 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 76 6f 69 64 3c 2f 73 70 61 6e 3e 20 7b 0a .class="tok-type">void</span>.{.
cd5c0 20 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
cd5e0 61 6e 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 an>.opt_ptr:.?*<span.class="tok-
cd600 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="
cd620 74 6f 6b 2d 6e 75 6c 6c 22 3e 6e 75 6c 6c 3c 2f 73 70 61 6e 3e 3b 0a 20 20 20 20 5f 20 3d 20 26 tok-null">null</span>;....._.=.&
cd640 61 6d 70 3b 6f 70 74 5f 70 74 72 3b 0a 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f amp;opt_ptr;.....<span.class="to
cd660 6b 2d 6b 77 22 3e 63 6f 6e 73 74 3c 2f 73 70 61 6e 3e 20 70 74 72 3a 20 2a 3c 73 70 61 6e 20 63 k-kw">const</span>.ptr:.*<span.c
cd680 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
cd6a0 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 62 75 69 6c 74 69 6e 22 3e 40 70 74 72 43 61 73 74 3c an.class="tok-builtin">@ptrCast<
cd6c0 2f 73 70 61 6e 3e 28 6f 70 74 5f 70 74 72 29 3b 0a 20 20 20 20 5f 20 3d 20 70 74 72 3b 0a 7d 3c /span>(opt_ptr);....._.=.ptr;.}<
cd6e0 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
cd700 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
cd720 3c 2f 66 69 67 63 61 70 74 69 6f 6e 3e 3c 70 72 65 3e 3c 73 61 6d 70 3e 24 20 3c 6b 62 64 3e 7a </figcaption><pre><samp>$.<kbd>z
cd740 69 67 20 62 75 69 6c 64 2d 65 78 65 20 72 75 6e 74 69 6d 65 5f 69 6e 76 61 6c 69 64 5f 6e 75 6c ig.build-exe.runtime_invalid_nul
cd760 6c 5f 70 6f 69 6e 74 65 72 5f 63 61 73 74 2e 7a 69 67 3c 2f 6b 62 64 3e 0a 24 20 3c 6b 62 64 3e l_pointer_cast.zig</kbd>.$.<kbd>
cd780 2e 2f 72 75 6e 74 69 6d 65 5f 69 6e 76 61 6c 69 64 5f 6e 75 6c 6c 5f 70 6f 69 6e 74 65 72 5f 63 ./runtime_invalid_null_pointer_c
cd7a0 61 73 74 3c 2f 6b 62 64 3e 0a 74 68 72 65 61 64 20 32 33 31 33 31 39 20 70 61 6e 69 63 3a 20 63 ast</kbd>.thread.231319.panic:.c
cd7c0 61 73 74 20 63 61 75 73 65 73 20 70 6f 69 6e 74 65 72 20 74 6f 20 62 65 20 6e 75 6c 6c 0a 2f 68 ast.causes.pointer.to.be.null./h
cd7e0 6f 6d 65 2f 63 69 2f 77 6f 72 6b 2f 7a 69 67 2d 62 6f 6f 74 73 74 72 61 70 2f 7a 69 67 2f 64 6f ome/ci/work/zig-bootstrap/zig/do
cd800 63 2f 6c 61 6e 67 72 65 66 2f 72 75 6e 74 69 6d 65 5f 69 6e 76 61 6c 69 64 5f 6e 75 6c 6c 5f 70 c/langref/runtime_invalid_null_p
cd820 6f 69 6e 74 65 72 5f 63 61 73 74 2e 7a 69 67 3a 34 3a 32 33 3a 20 30 78 31 31 64 39 30 35 61 20 ointer_cast.zig:4:23:.0x11d905a.
cd840 69 6e 20 6d 61 69 6e 20 28 72 75 6e 74 69 6d 65 5f 69 6e 76 61 6c 69 64 5f 6e 75 6c 6c 5f 70 6f in.main.(runtime_invalid_null_po
cd860 69 6e 74 65 72 5f 63 61 73 74 2e 7a 69 67 29 0a 20 20 20 20 63 6f 6e 73 74 20 70 74 72 3a 20 2a inter_cast.zig).....const.ptr:.*
cd880 69 33 32 20 3d 20 40 70 74 72 43 61 73 74 28 6f 70 74 5f 70 74 72 29 3b 0a 20 20 20 20 20 20 20 i32.=.@ptrCast(opt_ptr);........
cd8a0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 5e 0a 2f 68 6f 6d 65 2f 63 69 2f 77 6f 72 6b 2f 7a ...............^./home/ci/work/z
cd8c0 69 67 2d 62 6f 6f 74 73 74 72 61 70 2f 6f 75 74 2f 68 6f 73 74 2f 6c 69 62 2f 7a 69 67 2f 73 74 ig-bootstrap/out/host/lib/zig/st
cd8e0 64 2f 73 74 61 72 74 2e 7a 69 67 3a 37 32 32 3a 35 39 3a 20 30 78 31 31 64 38 39 35 31 20 69 6e d/start.zig:722:59:.0x11d8951.in
cd900 20 63 61 6c 6c 4d 61 69 6e 20 28 73 74 64 2e 7a 69 67 29 0a 20 20 20 20 69 66 20 28 66 6e 5f 69 .callMain.(std.zig).....if.(fn_i
cd920 6e 66 6f 2e 70 61 72 61 6d 73 2e 6c 65 6e 20 3d 3d 20 30 29 20 72 65 74 75 72 6e 20 77 72 61 70 nfo.params.len.==.0).return.wrap
cd940 4d 61 69 6e 28 72 6f 6f 74 2e 6d 61 69 6e 28 29 29 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 Main(root.main());..............
cd960 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ................................
cd980 20 20 20 20 20 20 20 20 20 20 20 20 20 5e 0a 2f 68 6f 6d 65 2f 63 69 2f 77 6f 72 6b 2f 7a 69 67 .............^./home/ci/work/zig
cd9a0 2d 62 6f 6f 74 73 74 72 61 70 2f 6f 75 74 2f 68 6f 73 74 2f 6c 69 62 2f 7a 69 67 2f 73 74 64 2f -bootstrap/out/host/lib/zig/std/
cd9c0 73 74 61 72 74 2e 7a 69 67 3a 32 30 34 3a 35 3a 20 30 78 31 31 64 38 33 38 31 20 69 6e 20 5f 73 start.zig:204:5:.0x11d8381.in._s
cd9e0 74 61 72 74 20 28 73 74 64 2e 7a 69 67 29 0a 20 20 20 20 61 73 6d 20 76 6f 6c 61 74 69 6c 65 20 tart.(std.zig).....asm.volatile.
cda00 28 73 77 69 74 63 68 20 28 6e 61 74 69 76 65 5f 61 72 63 68 29 20 7b 0a 20 20 20 20 5e 0a 28 70 (switch.(native_arch).{.....^.(p
cda20 72 6f 63 65 73 73 20 74 65 72 6d 69 6e 61 74 65 64 20 62 79 20 73 69 67 6e 61 6c 29 0a 3c 2f 73 rocess.terminated.by.signal).</s
cda40 61 6d 70 3e 3c 2f 70 72 65 3e 3c 2f 66 69 67 75 72 65 3e 0a 0a 20 20 20 20 20 20 0a 0a 20 20 20 amp></pre></figure>.............
cda60 20 20 20 0a 20 20 20 20 20 20 3c 68 32 20 69 64 3d 22 4d 65 6d 6f 72 79 22 3e 3c 61 20 68 72 65 ..........<h2.id="Memory"><a.hre
cda80 66 3d 22 6e 61 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 f="nav.xhtml#toc-Memory">Memory<
cdaa0 2f 61 3e 20 3c 61 20 63 6c 61 73 73 3d 22 68 64 72 22 20 68 72 65 66 3d 22 23 4d 65 6d 6f 72 79 /a>.<a.class="hdr".href="#Memory
cdac0 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 54 ">..</a></h2>........<p>.......T
cdae0 68 65 20 5a 69 67 20 6c 61 6e 67 75 61 67 65 20 70 65 72 66 6f 72 6d 73 20 6e 6f 20 6d 65 6d 6f he.Zig.language.performs.no.memo
cdb00 72 79 20 6d 61 6e 61 67 65 6d 65 6e 74 20 6f 6e 20 62 65 68 61 6c 66 20 6f 66 20 74 68 65 20 70 ry.management.on.behalf.of.the.p
cdb20 72 6f 67 72 61 6d 6d 65 72 2e 20 54 68 69 73 20 69 73 0a 20 20 20 20 20 20 77 68 79 20 5a 69 67 rogrammer..This.is.......why.Zig
cdb40 20 68 61 73 20 6e 6f 20 72 75 6e 74 69 6d 65 2c 20 61 6e 64 20 77 68 79 20 5a 69 67 20 63 6f 64 .has.no.runtime,.and.why.Zig.cod
cdb60 65 20 77 6f 72 6b 73 20 73 65 61 6d 6c 65 73 73 6c 79 20 69 6e 20 73 6f 20 6d 61 6e 79 20 65 6e e.works.seamlessly.in.so.many.en
cdb80 76 69 72 6f 6e 6d 65 6e 74 73 2c 0a 20 20 20 20 20 20 69 6e 63 6c 75 64 69 6e 67 20 72 65 61 6c vironments,.......including.real
cdba0 2d 74 69 6d 65 20 73 6f 66 74 77 61 72 65 2c 20 6f 70 65 72 61 74 69 6e 67 20 73 79 73 74 65 6d -time.software,.operating.system
cdbc0 20 6b 65 72 6e 65 6c 73 2c 20 65 6d 62 65 64 64 65 64 20 64 65 76 69 63 65 73 2c 20 61 6e 64 0a .kernels,.embedded.devices,.and.
cdbe0 20 20 20 20 20 20 6c 6f 77 20 6c 61 74 65 6e 63 79 20 73 65 72 76 65 72 73 2e 20 41 73 20 61 20 ......low.latency.servers..As.a.
cdc00 63 6f 6e 73 65 71 75 65 6e 63 65 2c 20 5a 69 67 20 70 72 6f 67 72 61 6d 6d 65 72 73 20 6d 75 73 consequence,.Zig.programmers.mus
cdc20 74 20 61 6c 77 61 79 73 20 62 65 20 61 62 6c 65 20 74 6f 20 61 6e 73 77 65 72 0a 20 20 20 20 20 t.always.be.able.to.answer......
cdc40 20 74 68 65 20 71 75 65 73 74 69 6f 6e 3a 0a 20 20 20 20 20 20 3c 2f 70 3e 0a 20 20 20 20 20 20 .the.question:.......</p>.......
cdc60 3c 70 3e 3c 61 20 68 72 65 66 3d 22 23 57 68 65 72 65 2d 61 72 65 2d 74 68 65 2d 62 79 74 65 73 <p><a.href="#Where-are-the-bytes
cdc80 22 3e 57 68 65 72 65 20 61 72 65 20 74 68 65 20 62 79 74 65 73 3f 3c 2f 61 3e 3c 2f 70 3e 0a 20 ">Where.are.the.bytes?</a></p>..
cdca0 20 20 20 20 20 3c 70 3e 0a 20 20 20 20 20 20 4c 69 6b 65 20 5a 69 67 2c 20 74 68 65 20 43 20 70 .....<p>.......Like.Zig,.the.C.p
cdcc0 72 6f 67 72 61 6d 6d 69 6e 67 20 6c 61 6e 67 75 61 67 65 20 68 61 73 20 6d 61 6e 75 61 6c 20 6d rogramming.language.has.manual.m
cdce0 65 6d 6f 72 79 20 6d 61 6e 61 67 65 6d 65 6e 74 2e 20 48 6f 77 65 76 65 72 2c 20 75 6e 6c 69 6b emory.management..However,.unlik
cdd00 65 20 5a 69 67 2c 0a 20 20 20 20 20 20 43 20 68 61 73 20 61 20 64 65 66 61 75 6c 74 20 61 6c 6c e.Zig,.......C.has.a.default.all
cdd20 6f 63 61 74 6f 72 20 2d 20 3c 63 6f 64 65 3e 6d 61 6c 6c 6f 63 3c 2f 63 6f 64 65 3e 2c 20 3c 63 ocator.-.<code>malloc</code>,.<c
cdd40 6f 64 65 3e 72 65 61 6c 6c 6f 63 3c 2f 63 6f 64 65 3e 2c 20 61 6e 64 20 3c 63 6f 64 65 3e 66 72 ode>realloc</code>,.and.<code>fr
cdd60 65 65 3c 2f 63 6f 64 65 3e 2e 0a 20 20 20 20 20 20 57 68 65 6e 20 6c 69 6e 6b 69 6e 67 20 61 67 ee</code>........When.linking.ag
cdd80 61 69 6e 73 74 20 6c 69 62 63 2c 20 5a 69 67 20 65 78 70 6f 73 65 73 20 74 68 69 73 20 61 6c 6c ainst.libc,.Zig.exposes.this.all
cdda0 6f 63 61 74 6f 72 20 77 69 74 68 20 3c 63 6f 64 65 3e 73 74 64 2e 68 65 61 70 2e 63 5f 61 6c 6c ocator.with.<code>std.heap.c_all
cddc0 6f 63 61 74 6f 72 3c 2f 63 6f 64 65 3e 2e 0a 20 20 20 20 20 20 48 6f 77 65 76 65 72 2c 20 62 79 ocator</code>........However,.by
cdde0 20 63 6f 6e 76 65 6e 74 69 6f 6e 2c 20 74 68 65 72 65 20 69 73 20 6e 6f 20 64 65 66 61 75 6c 74 .convention,.there.is.no.default
cde00 20 61 6c 6c 6f 63 61 74 6f 72 20 69 6e 20 5a 69 67 2e 20 49 6e 73 74 65 61 64 2c 20 66 75 6e 63 .allocator.in.Zig..Instead,.func
cde20 74 69 6f 6e 73 20 77 68 69 63 68 20 6e 65 65 64 20 74 6f 0a 20 20 20 20 20 20 61 6c 6c 6f 63 61 tions.which.need.to.......alloca
cde40 74 65 20 61 63 63 65 70 74 20 61 6e 20 3c 63 6f 64 65 3e 41 6c 6c 6f 63 61 74 6f 72 3c 2f 63 6f te.accept.an.<code>Allocator</co
cde60 64 65 3e 20 70 61 72 61 6d 65 74 65 72 2e 20 4c 69 6b 65 77 69 73 65 2c 20 73 6f 6d 65 20 64 61 de>.parameter..Likewise,.some.da
cde80 74 61 20 73 74 72 75 63 74 75 72 65 73 0a 20 20 20 20 20 20 61 63 63 65 70 74 20 61 6e 20 3c 63 ta.structures.......accept.an.<c
cdea0 6f 64 65 3e 41 6c 6c 6f 63 61 74 6f 72 3c 2f 63 6f 64 65 3e 20 70 61 72 61 6d 65 74 65 72 20 69 ode>Allocator</code>.parameter.i
cdec0 6e 20 74 68 65 69 72 20 69 6e 69 74 69 61 6c 69 7a 61 74 69 6f 6e 20 66 75 6e 63 74 69 6f 6e 73 n.their.initialization.functions
cdee0 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
cdf00 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
cdf20 73 73 3d 22 66 69 6c 65 22 3e 74 65 73 74 5f 61 6c 6c 6f 63 61 74 6f 72 2e 7a 69 67 3c 2f 63 69 ss="file">test_allocator.zig</ci
cdf40 74 65 3e 3c 2f 66 69 67 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
cdf60 20 63 6c 61 73 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
cdf80 20 3d 20 3c 73 70 61 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
cdfa0 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
cdfc0 22 3e 26 71 75 6f 74 3b 73 74 64 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 29 3b 0a 3c 73 70 61 6e ">&quot;std&quot;</span>);.<span
cdfe0 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 63 6f 6e 73 74 3c 2f 73 70 61 6e 3e 20 41 6c 6c .class="tok-kw">const</span>.All
ce000 6f 63 61 74 6f 72 20 3d 20 73 74 64 2e 6d 65 6d 2e 41 6c 6c 6f 63 61 74 6f 72 3b 0a 3c 73 70 61 ocator.=.std.mem.Allocator;.<spa
ce020 6e 20 63 6c 61 73 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
ce040 70 65 63 74 45 71 75 61 6c 53 74 72 69 6e 67 73 20 3d 20 73 74 64 2e 74 65 73 74 69 6e 67 2e 65 pectEqualStrings.=.std.testing.e
ce060 78 70 65 63 74 45 71 75 61 6c 53 74 72 69 6e 67 73 3b 0a 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d xpectEqualStrings;..<span.class=
ce080 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
ce0a0 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 6c 6c 6f 63 61 ="tok-str">&quot;using.an.alloca
ce0c0 74 6f 72 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 20 7b 0a 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 tor&quot;</span>.{.....<span.cla
ce0e0 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 76 61 72 3c 2f 73 70 61 6e 3e 20 62 75 66 66 65 72 3a 20 5b ss="tok-kw">var</span>.buffer:.[
ce100 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 31 30 30 3c 2f 73 70 <span.class="tok-number">100</sp
ce120 61 6e 3e 5d 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 75 38 3c 2f 73 an>]<span.class="tok-type">u8</s
ce140 70 61 6e 3e 20 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6c 6c 22 3e 75 6e pan>.=.<span.class="tok-null">un
ce160 64 65 66 69 6e 65 64 3c 2f 73 70 61 6e 3e 3b 0a 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d defined</span>;.....<span.class=
ce180 22 74 6f 6b 2d 6b 77 22 3e 76 61 72 3c 2f 73 70 61 6e 3e 20 66 62 61 20 3d 20 73 74 64 2e 68 65 "tok-kw">var</span>.fba.=.std.he
ce1a0 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 6d ap.FixedBufferAllocator.init(&am
ce1c0 70 3b 62 75 66 66 65 72 29 3b 0a 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d p;buffer);.....<span.class="tok-
ce1e0 6b 77 22 3e 63 6f 6e 73 74 3c 2f 73 70 61 6e 3e 20 61 6c 6c 6f 63 61 74 6f 72 20 3d 20 66 62 61 kw">const</span>.allocator.=.fba
ce200 2e 61 6c 6c 6f 63 61 74 6f 72 28 29 3b 0a 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 .allocator();.....<span.class="t
ce220 6f 6b 2d 6b 77 22 3e 63 6f 6e 73 74 3c 2f 73 70 61 6e 3e 20 72 65 73 75 6c 74 20 3d 20 3c 73 70 ok-kw">const</span>.result.=.<sp
ce240 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 74 72 79 3c 2f 73 70 61 6e 3e 20 63 6f 6e an.class="tok-kw">try</span>.con
ce260 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 74 6f 6b 2d cat(allocator,.<span.class="tok-
ce280 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 20 3c 73 70 str">&quot;foo&quot;</span>,.<sp
ce2a0 61 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 26 71 75 6f an.class="tok-str">&quot;bar&quo
ce2c0 74 3b 3c 2f 73 70 61 6e 3e 29 3b 0a 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b t;</span>);.....<span.class="tok
ce2e0 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 53 74 72 69 6e -kw">try</span>.expectEqualStrin
ce300 67 73 28 3c 73 70 61 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 gs(<span.class="tok-str">&quot;f
ce320 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 3b 0a 7d 0a 0a oobar&quot;</span>,.result);.}..
ce340 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>.<
ce360 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 66 6e 22 3e 63 6f 6e 63 61 74 3c 2f 73 70 61 6e span.class="tok-fn">concat</span
ce380 3e 28 61 6c 6c 6f 63 61 74 6f 72 3a 20 41 6c 6c 6f 63 61 74 6f 72 2c 20 61 3a 20 5b 5d 3c 73 70 >(allocator:.Allocator,.a:.[]<sp
ce3a0 61 6e 20 63 6c 61 73 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>.<
ce3c0 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>,
ce3e0 20 62 3a 20 5b 5d 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 63 6f 6e 73 74 .b:.[]<span.class="tok-kw">const
ce400 3c 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
ce420 38 3c 2f 73 70 61 6e 3e 29 20 21 5b 5d 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 8</span>).![]<span.class="tok-ty
ce440 70 65 22 3e 75 38 3c 2f 73 70 61 6e 3e 20 7b 0a 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d pe">u8</span>.{.....<span.class=
ce460 22 74 6f 6b 2d 6b 77 22 3e 63 6f 6e 73 74 3c 2f 73 70 61 6e 3e 20 72 65 73 75 6c 74 20 3d 20 3c "tok-kw">const</span>.result.=.<
ce480 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 74 72 79 3c 2f 73 70 61 6e 3e 20 61 span.class="tok-kw">try</span>.a
ce4a0 6c 6c 6f 63 61 74 6f 72 2e 61 6c 6c 6f 63 28 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d llocator.alloc(<span.class="tok-
ce4c0 74 79 70 65 22 3e 75 38 3c 2f 73 70 61 6e 3e 2c 20 61 2e 6c 65 6e 20 2b 20 62 2e 6c 65 6e 29 3b type">u8</span>,.a.len.+.b.len);
ce4e0 0a 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 62 75 69 6c 74 69 6e 22 3e 40 .....<span.class="tok-builtin">@
ce500 6d 65 6d 63 70 79 3c 2f 73 70 61 6e 3e 28 72 65 73 75 6c 74 5b 3c 73 70 61 6e 20 63 6c 61 73 73 memcpy</span>(result[<span.class
ce520 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 30 3c 2f 73 70 61 6e 3e 2e 2e 61 2e 6c 65 6e 5d 2c 20 ="tok-number">0</span>..a.len],.
ce540 61 29 3b 0a 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 62 75 69 6c 74 69 6e a);.....<span.class="tok-builtin
ce560 22 3e 40 6d 65 6d 63 70 79 3c 2f 73 70 61 6e 3e 28 72 65 73 75 6c 74 5b 61 2e 6c 65 6e 2e 2e 5d ">@memcpy</span>(result[a.len..]
ce580 2c 20 62 29 3b 0a 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 72 ,.b);.....<span.class="tok-kw">r
ce5a0 65 74 75 72 6e 3c 2f 73 70 61 6e 3e 20 72 65 73 75 6c 74 3b 0a 7d 3c 2f 63 6f 64 65 3e 3c 2f 70 eturn</span>.result;.}</code></p
ce5c0 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.
ce5e0 63 6c 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
ce600 69 6f 6e 3e 3c 70 72 65 3e 3c 73 61 6d 70 3e 24 20 3c 6b 62 64 3e 7a 69 67 20 74 65 73 74 20 74 ion><pre><samp>$.<kbd>zig.test.t
ce620 65 73 74 5f 61 6c 6c 6f 63 61 74 6f 72 2e 7a 69 67 3c 2f 6b 62 64 3e 0a 31 2f 31 20 74 65 73 74 est_allocator.zig</kbd>.1/1.test
ce640 5f 61 6c 6c 6f 63 61 74 6f 72 2e 74 65 73 74 2e 75 73 69 6e 67 20 61 6e 20 61 6c 6c 6f 63 61 74 _allocator.test.using.an.allocat
ce660 6f 72 2e 2e 2e 4f 4b 0a 41 6c 6c 20 31 20 74 65 73 74 73 20 70 61 73 73 65 64 2e 0a 3c 2f 73 61 or...OK.All.1.tests.passed..</sa
ce680 6d 70 3e 3c 2f 70 72 65 3e 3c 2f 66 69 67 75 72 65 3e 0a 0a 20 20 20 20 20 20 3c 70 3e 0a 20 20 mp></pre></figure>........<p>...
ce6a0 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
ce6c0 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.
ce6e0 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 46 69 78 65 64 42 75 initialize.a.......<code>FixedBu
ce700 66 66 65 72 41 6c 6c 6f 63 61 74 6f 72 3c 2f 63 6f 64 65 3e 2c 20 77 68 69 63 68 20 69 73 20 74 fferAllocator</code>,.which.is.t
ce720 68 65 6e 20 70 61 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 hen.passed.to.a.function........
ce740 41 73 20 61 20 63 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 As.a.convenience.there.is.a.glob
ce760 61 6c 20 3c 63 6f 64 65 3e 46 69 78 65 64 42 75 66 66 65 72 41 6c 6c 6f 63 61 74 6f 72 3c 2f 63 al.<code>FixedBufferAllocator</c
ce780 6f 64 65 3e 0a 20 20 20 20 20 20 61 76 61 69 6c 61 62 6c 65 20 66 6f 72 20 71 75 69 63 6b 20 74 ode>.......available.for.quick.t
ce7a0 65 73 74 73 20 61 74 20 3c 63 6f 64 65 3e 73 74 64 2e 74 65 73 74 69 6e 67 2e 61 6c 6c 6f 63 61 ests.at.<code>std.testing.alloca
ce7c0 74 6f 72 3c 2f 63 6f 64 65 3e 2c 0a 20 20 20 20 20 20 77 68 69 63 68 20 77 69 6c 6c 20 61 6c 73 tor</code>,.......which.will.als
ce7e0 6f 20 70 65 72 66 6f 72 6d 20 62 61 73 69 63 20 6c 65 61 6b 20 64 65 74 65 63 74 69 6f 6e 2e 0a o.perform.basic.leak.detection..
ce800 20 20 20 20 20 20 3c 2f 70 3e 0a 20 20 20 20 20 20 3c 70 3e 0a 20 20 20 20 20 20 5a 69 67 20 68 ......</p>.......<p>.......Zig.h
ce820 61 73 20 61 20 67 65 6e 65 72 61 6c 20 70 75 72 70 6f 73 65 20 61 6c 6c 6f 63 61 74 6f 72 20 61 as.a.general.purpose.allocator.a
ce840 76 61 69 6c 61 62 6c 65 20 74 6f 20 62 65 20 69 6d 70 6f 72 74 65 64 0a 20 20 20 20 20 20 77 69 vailable.to.be.imported.......wi
ce860 74 68 20 3c 63 6f 64 65 3e 73 74 64 2e 68 65 61 70 2e 44 65 62 75 67 41 6c 6c 6f 63 61 74 6f 72 th.<code>std.heap.DebugAllocator
ce880 3c 2f 63 6f 64 65 3e 2e 20 48 6f 77 65 76 65 72 2c 20 69 74 20 69 73 20 73 74 69 6c 6c 20 72 65 </code>..However,.it.is.still.re
ce8a0 63 6f 6d 6d 65 6e 64 65 64 20 74 6f 0a 20 20 20 20 20 20 66 6f 6c 6c 6f 77 20 74 68 65 20 3c 61 commended.to.......follow.the.<a
ce8c0 20 68 72 65 66 3d 22 23 43 68 6f 6f 73 69 6e 67 2d 61 6e 2d 41 6c 6c 6f 63 61 74 6f 72 22 3e 43 .href="#Choosing-an-Allocator">C
ce8e0 68 6f 6f 73 69 6e 67 20 61 6e 20 41 6c 6c 6f 63 61 74 6f 72 3c 2f 61 3e 20 67 75 69 64 65 2e 0a hoosing.an.Allocator</a>.guide..
ce900 20 20 20 20 20 20 3c 2f 70 3e 0a 0a 20 20 20 20 20 20 3c 68 33 20 69 64 3d 22 43 68 6f 6f 73 69 ......</p>........<h3.id="Choosi
ce920 6e 67 2d 61 6e 2d 41 6c 6c 6f 63 61 74 6f 72 22 3e 3c 61 20 68 72 65 66 3d 22 6e 61 76 2e 78 68 ng-an-Allocator"><a.href="nav.xh
ce940 74 6d 6c 23 74 6f 63 2d 43 68 6f 6f 73 69 6e 67 2d 61 6e 2d 41 6c 6c 6f 63 61 74 6f 72 22 3e 43 tml#toc-Choosing-an-Allocator">C
ce960 68 6f 6f 73 69 6e 67 20 61 6e 20 41 6c 6c 6f 63 61 74 6f 72 3c 2f 61 3e 20 3c 61 20 63 6c 61 73 hoosing.an.Allocator</a>.<a.clas
ce980 73 3d 22 68 64 72 22 20 68 72 65 66 3d 22 23 43 68 6f 6f 73 69 6e 67 2d 61 6e 2d 41 6c 6c 6f 63 s="hdr".href="#Choosing-an-Alloc
ce9a0 61 74 6f 72 22 3e c2 a7 3c 2f 61 3e 3c 2f 68 33 3e 0a 0a 20 20 20 20 20 20 3c 70 3e 57 68 61 74 ator">..</a></h3>........<p>What
ce9c0 20 61 6c 6c 6f 63 61 74 6f 72 20 74 6f 20 75 73 65 20 64 65 70 65 6e 64 73 20 6f 6e 20 61 20 6e .allocator.to.use.depends.on.a.n
ce9e0 75 6d 62 65 72 20 6f 66 20 66 61 63 74 6f 72 73 2e 20 48 65 72 65 20 69 73 20 61 20 66 6c 6f 77 umber.of.factors..Here.is.a.flow
cea00 20 63 68 61 72 74 20 74 6f 20 68 65 6c 70 20 79 6f 75 20 64 65 63 69 64 65 3a 0a 20 20 20 20 20 .chart.to.help.you.decide:......
cea20 20 3c 2f 70 3e 0a 20 20 20 20 20 20 3c 6f 6c 3e 0a 20 20 20 20 20 20 20 20 20 20 3c 6c 69 3e 0a .</p>.......<ol>...........<li>.
cea40 20 20 20 20 20 20 20 20 20 20 20 20 20 20 41 72 65 20 79 6f 75 20 6d 61 6b 69 6e 67 20 61 20 6c ..............Are.you.making.a.l
cea60 69 62 72 61 72 79 3f 20 49 6e 20 74 68 69 73 20 63 61 73 65 2c 20 62 65 73 74 20 74 6f 20 61 63 ibrary?.In.this.case,.best.to.ac
cea80 63 65 70 74 20 61 6e 20 3c 63 6f 64 65 3e 41 6c 6c 6f 63 61 74 6f 72 3c 2f 63 6f 64 65 3e 0a 20 cept.an.<code>Allocator</code>..
ceaa0 20 20 20 20 20 20 20 20 20 20 20 20 20 61 73 20 61 20 70 61 72 61 6d 65 74 65 72 20 61 6e 64 20 .............as.a.parameter.and.
ceac0 61 6c 6c 6f 77 20 79 6f 75 72 20 6c 69 62 72 61 72 79 27 73 20 75 73 65 72 73 20 74 6f 20 64 65 allow.your.library's.users.to.de
ceae0 63 69 64 65 20 77 68 61 74 20 61 6c 6c 6f 63 61 74 6f 72 20 74 6f 20 75 73 65 2e 0a 20 20 20 20 cide.what.allocator.to.use......
ceb00 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 41 72 65 20 79 6f ......</li>...........<li>Are.yo
ceb20 75 20 6c 69 6e 6b 69 6e 67 20 6c 69 62 63 3f 20 49 6e 20 74 68 69 73 20 63 61 73 65 2c 20 3c 63 u.linking.libc?.In.this.case,.<c
ceb40 6f 64 65 3e 73 74 64 2e 68 65 61 70 2e 63 5f 61 6c 6c 6f 63 61 74 6f 72 3c 2f 63 6f 64 65 3e 20 ode>std.heap.c_allocator</code>.
ceb60 69 73 20 6c 69 6b 65 6c 79 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 74 68 65 20 72 69 67 68 is.likely...............the.righ
ceb80 74 20 63 68 6f 69 63 65 2c 20 61 74 20 6c 65 61 73 74 20 66 6f 72 20 79 6f 75 72 20 6d 61 69 6e t.choice,.at.least.for.your.main
ceba0 20 61 6c 6c 6f 63 61 74 6f 72 2e 3c 2f 6c 69 3e 0a 20 20 20 20 20 20 20 20 20 20 3c 6c 69 3e 0a .allocator.</li>...........<li>.
cebc0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 49 73 20 74 68 65 20 6d 61 78 69 6d 75 6d 20 6e 75 6d ..............Is.the.maximum.num
cebe0 62 65 72 20 6f 66 20 62 79 74 65 73 20 74 68 61 74 20 79 6f 75 20 77 69 6c 6c 20 6e 65 65 64 20 ber.of.bytes.that.you.will.need.
cec00 62 6f 75 6e 64 65 64 20 62 79 20 61 20 6e 75 6d 62 65 72 20 6b 6e 6f 77 6e 20 61 74 0a 20 20 20 bounded.by.a.number.known.at....
cec20 20 20 20 20 20 20 20 20 20 20 20 3c 61 20 68 72 65 66 3d 22 23 63 6f 6d 70 74 69 6d 65 22 3e 63 ...........<a.href="#comptime">c
cec40 6f 6d 70 74 69 6d 65 3c 2f 61 3e 3f 20 49 6e 20 74 68 69 73 20 63 61 73 65 2c 20 75 73 65 20 3c omptime</a>?.In.this.case,.use.<
cec60 63 6f 64 65 3e 73 74 64 2e 68 65 61 70 2e 46 69 78 65 64 42 75 66 66 65 72 41 6c 6c 6f 63 61 74 code>std.heap.FixedBufferAllocat
cec80 6f 72 3c 2f 63 6f 64 65 3e 2e 0a 20 20 20 20 20 20 20 20 20 20 3c 2f 6c 69 3e 0a 20 20 20 20 20 or</code>............</li>......
ceca0 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 75 72 20 .....<li>...............Is.your.
cecc0 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 61 74 69 program.a.command.line.applicati
cece0 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 6e 64 20 on.which.runs.from.start.to.end.
ced00 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 20 20 20 without.any.fundamental.........
ced20 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 61 73 20 ......cyclical.pattern.(such.as.
ced40 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 77 65 62 a.video.game.main.loop,.or.a.web
ced60 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 20 20 20 .server.request.handler),.......
ced80 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 6b 65 20 ........such.that.it.would.make.
ceda0 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 6e 63 65 sense.to.free.everything.at.once
cedc0 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 20 74 68 .at.the.end?...............In.th
cede0 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 20 66 6f is.case,.it.is.recommended.to.fo
cee00 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 20 20 20 llow.this.pattern:..............
cee20 20 3c 66 69 67 75 72 65 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-
cee40 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 6c 6c 6f cap"><cite.class="file">cli_allo
cee60 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 3e 3c 70 cation.zig</cite></figcaption><p
cee80 72 65 3e 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 63 6f re><code><span.class="tok-kw">co
ceea0 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
ceec0 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.
ceee0 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;<
cef00 2f 73 70 61 6e 3e 29 3b 0a 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 70 /span>);..<span.class="tok-kw">p
cef20 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
cef40 6e 3c 2f 73 70 61 6e 3e 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 66 6e 22 3e 6d 61 n</span>.<span.class="tok-fn">ma
cef60 69 6e 3c 2f 73 70 61 6e 3e 28 29 20 21 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 in</span>().!<span.class="tok-ty
cef80 70 65 22 3e 76 6f 69 64 3c 2f 73 70 61 6e 3e 20 7b 0a 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 pe">void</span>.{.....<span.clas
cefa0 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 3d 20 73 74 s="tok-kw">var</span>.arena.=.st
cefc0 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 74 64 2e 68 d.heap.ArenaAllocator.init(std.h
cefe0 65 61 70 2e 70 61 67 65 5f 61 6c 6c 6f 63 61 74 6f 72 29 3b 0a 20 20 20 20 3c 73 70 61 6e 20 63 eap.page_allocator);.....<span.c
cf000 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 61 72 65 6e 61 lass="tok-kw">defer</span>.arena
cf020 2e 64 65 69 6e 69 74 28 29 3b 0a 0a 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b .deinit();......<span.class="tok
cf040 2d 6b 77 22 3e 63 6f 6e 73 74 3c 2f 73 70 61 6e 3e 20 61 6c 6c 6f 63 61 74 6f 72 20 3d 20 61 72 -kw">const</span>.allocator.=.ar
cf060 65 6e 61 2e 61 6c 6c 6f 63 61 74 6f 72 28 29 3b 0a 0a 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 ena.allocator();......<span.clas
cf080 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 3c 73 s="tok-kw">const</span>.ptr.=.<s
cf0a0 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 74 72 79 3c 2f 73 70 61 6e 3e 20 61 6c pan.class="tok-kw">try</span>.al
cf0c0 6c 6f 63 61 74 6f 72 2e 63 72 65 61 74 65 28 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d locator.create(<span.class="tok-
cf0e0 74 79 70 65 22 3e 69 33 32 3c 2f 73 70 61 6e 3e 29 3b 0a 20 20 20 20 73 74 64 2e 64 65 62 75 67 type">i32</span>);.....std.debug
cf100 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
cf120 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
cf140 7d 29 3b 0a 7d 3c 2f 63 6f 64 65 3e 3c 2f 70 72 65 3e 3c 2f 66 69 67 75 72 65 3e 3c 66 69 67 75 });.}</code></pre></figure><figu
cf160 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"
cf180 3e 53 68 65 6c 6c 3c 2f 66 69 67 63 61 70 74 69 6f 6e 3e 3c 70 72 65 3e 3c 73 61 6d 70 3e 24 20 >Shell</figcaption><pre><samp>$.
cf1a0 3c 6b 62 64 3e 7a 69 67 20 62 75 69 6c 64 2d 65 78 65 20 63 6c 69 5f 61 6c 6c 6f 63 61 74 69 6f <kbd>zig.build-exe.cli_allocatio
cf1c0 6e 2e 7a 69 67 3c 2f 6b 62 64 3e 0a 24 20 3c 6b 62 64 3e 2e 2f 63 6c 69 5f 61 6c 6c 6f 63 61 74 n.zig</kbd>.$.<kbd>./cli_allocat
cf1e0 69 6f 6e 3c 2f 6b 62 64 3e 0a 70 74 72 3d 69 33 32 40 37 66 33 31 36 31 66 63 39 30 31 38 0a 3c ion</kbd>.ptr=i32@7f3161fc9018.<
cf200 2f 73 61 6d 70 3e 3c 2f 70 72 65 3e 3c 2f 66 69 67 75 72 65 3e 0a 0a 20 20 20 20 20 20 20 20 20 /samp></pre></figure>...........
cf220 20 20 20 20 20 57 68 65 6e 20 75 73 69 6e 67 20 74 68 69 73 20 6b 69 6e 64 20 6f 66 20 61 6c 6c .....When.using.this.kind.of.all
cf240 6f 63 61 74 6f 72 2c 20 74 68 65 72 65 20 69 73 20 6e 6f 20 6e 65 65 64 20 74 6f 20 66 72 65 65 ocator,.there.is.no.need.to.free
cf260 20 61 6e 79 74 68 69 6e 67 20 6d 61 6e 75 61 6c 6c 79 2e 20 45 76 65 72 79 74 68 69 6e 67 0a 20 .anything.manually..Everything..
cf280 20 20 20 20 20 20 20 20 20 20 20 20 20 67 65 74 73 20 66 72 65 65 64 20 61 74 20 6f 6e 63 65 20 .............gets.freed.at.once.
cf2a0 77 69 74 68 20 74 68 65 20 63 61 6c 6c 20 74 6f 20 3c 63 6f 64 65 3e 61 72 65 6e 61 2e 64 65 69 with.the.call.to.<code>arena.dei
cf2c0 6e 69 74 28 29 3c 2f 63 6f 64 65 3e 2e 0a 20 20 20 20 20 20 20 20 20 20 3c 2f 6c 69 3e 0a 20 20 nit()</code>............</li>...
cf2e0 20 20 20 20 20 20 20 20 3c 6c 69 3e 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 41 72 65 20 74 ........<li>...............Are.t
cf300 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 69 63 61 he.allocations.part.of.a.cyclica
cf320 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 65 20 6d l.pattern.such.as.a.video.game.m
cf340 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 20 20 20 ain.loop,.or.a.web..............
cf360 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 68 65 20 .server.request.handler?.If.the.
cf380 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 61 74 20 allocations.can.all.be.freed.at.
cf3a0 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 2c 0a 20 once,.at.the.end.of.the.cycle,..
cf3c0 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 20 74 68 .............for.example.once.th
cf3e0 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 75 6c 6c e.video.game.frame.has.been.full
cf400 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 20 72 65 y.rendered,.or.the.web.server.re
cf420 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 73 65 72 quest.has...............been.ser
cf440 76 65 64 2c 20 74 68 65 6e 20 3c 63 6f 64 65 3e 73 74 64 2e 68 65 61 70 2e 41 72 65 6e 61 41 6c ved,.then.<code>std.heap.ArenaAl
cf460 6c 6f 63 61 74 6f 72 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 locator</code>.is.a.great.candid
cf480 61 74 65 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 ate..As...............demonstrat
cf4a0 65 64 20 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 ed.in.the.previous.bullet.point,
cf4c0 20 74 68 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 .this.allows.you.to.free.entire.
cf4e0 61 72 65 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 arenas.at.once................No
cf500 74 65 20 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 te.also.that.if.an.upper.bound.o
cf520 66 20 6d 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 f.memory.can.be.established,.the
cf540 6e 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 3c 63 6f 64 65 3e 73 74 64 2e 68 65 61 70 2e 46 n...............<code>std.heap.F
cf560 69 78 65 64 42 75 66 66 65 72 41 6c 6c 6f 63 61 74 6f 72 3c 2f 63 6f 64 65 3e 20 63 61 6e 20 62 ixedBufferAllocator</code>.can.b
cf580 65 20 75 73 65 64 20 61 73 20 61 20 66 75 72 74 68 65 72 20 6f 70 74 69 6d 69 7a 61 74 69 6f 6e e.used.as.a.further.optimization
cf5a0 2e 0a 20 20 20 20 20 20 20 20 20 20 3c 2f 6c 69 3e 0a 20 20 20 20 20 20 20 20 20 20 3c 6c 69 3e ............</li>...........<li>
cf5c0 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 74 69 6e 67 20 61 ...............Are.you.writing.a
cf5e0 20 74 65 73 74 2c 20 61 6e 64 20 79 6f 75 20 77 61 6e 74 20 74 6f 20 6d 61 6b 65 20 73 75 72 65 .test,.and.you.want.to.make.sure
cf600 20 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 65 72 72 6f .<code><span.class="tok-kw">erro
cf620 72 3c 2f 73 70 61 6e 3e 2e 4f 75 74 4f 66 4d 65 6d 6f 72 79 3c 2f 63 6f 64 65 3e 0a 20 20 20 20 r</span>.OutOfMemory</code>.....
cf640 20 20 20 20 20 20 20 20 20 20 69 73 20 68 61 6e 64 6c 65 64 20 63 6f 72 72 65 63 74 6c 79 3f 20 ..........is.handled.correctly?.
cf660 49 6e 20 74 68 69 73 20 63 61 73 65 2c 20 75 73 65 20 3c 63 6f 64 65 3e 73 74 64 2e 74 65 73 74 In.this.case,.use.<code>std.test
cf680 69 6e 67 2e 46 61 69 6c 69 6e 67 41 6c 6c 6f 63 61 74 6f 72 3c 2f 63 6f 64 65 3e 2e 0a 20 20 20 ing.FailingAllocator</code>.....
cf6a0 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>.....
cf6c0 20 20 20 20 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 ..........Are.you.writing.a.test
cf6e0 3f 20 49 6e 20 74 68 69 73 20 63 61 73 65 2c 20 75 73 65 20 3c 63 6f 64 65 3e 73 74 64 2e 74 65 ?.In.this.case,.use.<code>std.te
cf700 73 74 69 6e 67 2e 61 6c 6c 6f 63 61 74 6f 72 3c 2f 63 6f 64 65 3e 2e 0a 20 20 20 20 20 20 20 20 sting.allocator</code>..........
cf720 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 20 ..</li>...........<li>..........
cf740 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 65 20 61 62 6f .....Finally,.if.none.of.the.abo
cf760 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 6c 20 70 75 72 ve.apply,.you.need.a.general.pur
cf780 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 20 20 20 49 66 pose.allocator................If
cf7a0 20 79 6f 75 20 61 72 65 20 69 6e 20 44 65 62 75 67 20 6d 6f 64 65 2c 20 3c 63 6f 64 65 3e 73 74 .you.are.in.Debug.mode,.<code>st
cf7c0 64 2e 68 65 61 70 2e 44 65 62 75 67 41 6c 6c 6f 63 61 74 6f 72 3c 2f 63 6f 64 65 3e 20 69 73 20 d.heap.DebugAllocator</code>.is.
cf7e0 61 76 61 69 6c 61 62 6c 65 20 61 73 20 61 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 66 75 6e available.as.a...............fun
cf800 63 74 69 6f 6e 20 74 68 61 74 20 74 61 6b 65 73 20 61 20 3c 61 20 68 72 65 66 3d 22 23 63 6f 6d ction.that.takes.a.<a.href="#com
cf820 70 74 69 6d 65 22 3e 63 6f 6d 70 74 69 6d 65 3c 2f 61 3e 20 3c 61 20 68 72 65 66 3d 22 23 73 74 ptime">comptime</a>.<a.href="#st
cf840 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 75 72 61 74 69 6f ruct">struct</a>.of.configuratio
cf860 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 70 65 2e 0a 20 20 n.options.and.returns.a.type....
cf880 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 20 77 69 6c 6c 20 ............Generally,.you.will.
cf8a0 73 65 74 20 75 70 20 65 78 61 63 74 6c 79 20 6f 6e 65 20 69 6e 20 79 6f 75 72 20 6d 61 69 6e 20 set.up.exactly.one.in.your.main.
cf8c0 66 75 6e 63 74 69 6f 6e 2c 20 61 6e 64 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 74 68 65 6e function,.and...............then
cf8e0 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 20 61 72 6f 75 6e .pass.it.or.sub-allocators.aroun
cf900 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 0a 20 20 20 20 20 d.to.various.parts.of.your......
cf920 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 20 20 20 20 20 20 .........application............
cf940 3c 2f 6c 69 3e 0a 20 20 20 20 20 20 20 20 20 20 3c 6c 69 3e 0a 20 20 20 20 20 20 20 20 20 20 20 </li>...........<li>............
cf960 20 20 20 49 66 20 79 6f 75 20 61 72 65 20 63 6f 6d 70 69 6c 69 6e 67 20 69 6e 20 52 65 6c 65 61 ...If.you.are.compiling.in.Relea
cf980 73 65 46 61 73 74 20 6d 6f 64 65 2c 20 3c 63 6f 64 65 3e 73 74 64 2e 68 65 61 70 2e 73 6d 70 5f seFast.mode,.<code>std.heap.smp_
cf9a0 61 6c 6c 6f 63 61 74 6f 72 3c 2f 63 6f 64 65 3e 20 69 73 0a 20 20 20 20 20 20 20 20 20 20 20 20 allocator</code>.is.............
cf9c0 20 20 61 20 73 6f 6c 69 64 20 63 68 6f 69 63 65 20 66 6f 72 20 61 20 67 65 6e 65 72 61 6c 20 70 ..a.solid.choice.for.a.general.p
cf9e0 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 3c 2f 6c 69 urpose.allocator............</li
cfa00 3e 0a 20 20 20 20 20 20 20 20 20 20 3c 6c 69 3e 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 59 >...........<li>...............Y
cfa20 6f 75 20 63 61 6e 20 61 6c 73 6f 20 63 6f 6e 73 69 64 65 72 20 69 6d 70 6c 65 6d 65 6e 74 69 6e ou.can.also.consider.implementin
cfa40 67 20 61 6e 20 61 6c 6c 6f 63 61 74 6f 72 2e 0a 20 20 20 20 20 20 20 20 20 20 3c 2f 6c 69 3e 0a g.an.allocator............</li>.
cfa60 20 20 20 20 20 20 3c 2f 6f 6c 3e 0a 20 20 20 20 20 20 0a 0a 20 20 20 20 20 20 3c 68 33 20 69 64 ......</ol>...............<h3.id
cfa80 3d 22 57 68 65 72 65 2d 61 72 65 2d 74 68 65 2d 62 79 74 65 73 22 3e 3c 61 20 68 72 65 66 3d 22 ="Where-are-the-bytes"><a.href="
cfaa0 6e 61 76 2e 78 68 74 6d 6c 23 74 6f 63 2d 57 68 65 72 65 2d 61 72 65 2d 74 68 65 2d 62 79 74 65 nav.xhtml#toc-Where-are-the-byte
cfac0 73 22 3e 57 68 65 72 65 20 61 72 65 20 74 68 65 20 62 79 74 65 73 3f 3c 2f 61 3e 20 3c 61 20 63 s">Where.are.the.bytes?</a>.<a.c
cfae0 6c 61 73 73 3d 22 68 64 72 22 20 68 72 65 66 3d 22 23 57 68 65 72 65 2d 61 72 65 2d 74 68 65 2d lass="hdr".href="#Where-are-the-
cfb00 62 79 74 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 53 74 72 bytes">..</a></h3>........<p>Str
cfb20 69 6e 67 20 6c 69 74 65 72 61 6c 73 20 73 75 63 68 20 61 73 20 3c 63 6f 64 65 3e 3c 73 70 61 6e ing.literals.such.as.<code><span
cfb40 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
cfb60 74 3b 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 20 61 72 65 20 69 6e 20 74 68 65 20 67 6c 6f 62 t;</span></code>.are.in.the.glob
cfb80 61 6c 20 63 6f 6e 73 74 61 6e 74 20 64 61 74 61 20 73 65 63 74 69 6f 6e 2e 0a 20 20 20 20 20 20 al.constant.data.section........
cfba0 54 68 69 73 20 69 73 20 77 68 79 20 69 74 20 69 73 20 61 6e 20 65 72 72 6f 72 20 74 6f 20 70 61 This.is.why.it.is.an.error.to.pa
cfbc0 73 73 20 61 20 73 74 72 69 6e 67 20 6c 69 74 65 72 61 6c 20 74 6f 20 61 20 6d 75 74 61 62 6c 65 ss.a.string.literal.to.a.mutable
cfbe0 20 73 6c 69 63 65 2c 20 6c 69 6b 65 20 74 68 69 73 3a 0a 20 20 20 20 20 20 3c 2f 70 3e 0a 20 20 .slice,.like.this:.......</p>...
cfc00 20 20 20 20 3c 66 69 67 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
cfc20 69 67 2d 63 61 70 22 3e 3c 63 69 74 65 20 63 6c 61 73 73 3d 22 66 69 6c 65 22 3e 74 65 73 74 5f ig-cap"><cite.class="file">test_
cfc40 73 74 72 69 6e 67 5f 6c 69 74 65 72 61 6c 5f 74 6f 5f 73 6c 69 63 65 2e 7a 69 67 3c 2f 63 69 74 string_literal_to_slice.zig</cit
cfc60 65 3e 3c 2f 66 69 67 63 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.
cfc80 63 6c 61 73 73 3d 22 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
cfca0 6c 61 73 73 3d 22 74 6f 6b 2d 66 6e 22 3e 66 6f 6f 3c 2f 73 70 61 6e 3e 28 73 3a 20 5b 5d 3c 73 lass="tok-fn">foo</span>(s:.[]<s
cfcc0 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>).
cfce0 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
cfd00 6e 3e 20 7b 0a 20 20 20 20 5f 20 3d 20 73 3b 0a 7d 0a 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 n>.{....._.=.s;.}..<span.class="
cfd20 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=
cfd40 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 72 61 6c 20 74 "tok-str">&quot;string.literal.t
cfd60 6f 20 6d 75 74 61 62 6c 65 20 73 6c 69 63 65 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 20 7b 0a 20 o.mutable.slice&quot;</span>.{..
cfd80 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
cfda0 6f 74 3b 68 65 6c 6c 6f 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 29 3b 0a 7d 3c 2f 63 6f 64 65 3e ot;hello&quot;</span>);.}</code>
cfdc0 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
cfde0 6f 6e 20 63 6c 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
cfe00 61 70 74 69 6f 6e 3e 3c 70 72 65 3e 3c 73 61 6d 70 3e 24 20 3c 6b 62 64 3e 7a 69 67 20 74 65 73 aption><pre><samp>$.<kbd>zig.tes
cfe20 74 20 74 65 73 74 5f 73 74 72 69 6e 67 5f 6c 69 74 65 72 61 6c 5f 74 6f 5f 73 6c 69 63 65 2e 7a t.test_string_literal_to_slice.z
cfe40 69 67 3c 2f 6b 62 64 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 73 67 72 2d 31 6d 22 3e 2f 68 ig</kbd>.<span.class="sgr-1m">/h
cfe60 6f 6d 65 2f 63 69 2f 77 6f 72 6b 2f 7a 69 67 2d 62 6f 6f 74 73 74 72 61 70 2f 7a 69 67 2f 64 6f ome/ci/work/zig-bootstrap/zig/do
cfe80 63 2f 6c 61 6e 67 72 65 66 2f 74 65 73 74 5f 73 74 72 69 6e 67 5f 6c 69 74 65 72 61 6c 5f 74 6f c/langref/test_string_literal_to
cfea0 5f 73 6c 69 63 65 2e 7a 69 67 3a 36 3a 39 3a 20 3c 2f 73 70 61 6e 3e 3c 73 70 61 6e 20 63 6c 61 _slice.zig:6:9:.</span><span.cla
cfec0 73 73 3d 22 73 67 72 2d 33 31 6d 22 3e 65 72 72 6f 72 3a 20 3c 2f 73 70 61 6e 3e 3c 73 70 61 6e ss="sgr-31m">error:.</span><span
cfee0 20 63 6c 61 73 73 3d 22 73 67 72 2d 31 6d 22 3e 65 78 70 65 63 74 65 64 20 74 79 70 65 20 27 5b .class="sgr-1m">expected.type.'[
cff00 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 0a 3c 2f 73 ]u8',.found.'*const.[5:0]u8'.</s
cff20 70 61 6e 3e 20 20 20 20 66 6f 6f 28 26 71 75 6f 74 3b 68 65 6c 6c 6f 26 71 75 6f 74 3b 29 3b 0a pan>....foo(&quot;hello&quot;);.
cff40 20 20 20 20 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 73 67 72 2d 33 32 6d 22 3e 5e 7e ........<span.class="sgr-32m">^~
cff60 7e 7e 7e 7e 7e 0a 3c 2f 73 70 61 6e 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 73 67 72 2d 31 6d ~~~~~.</span><span.class="sgr-1m
cff80 22 3e 2f 68 6f 6d 65 2f 63 69 2f 77 6f 72 6b 2f 7a 69 67 2d 62 6f 6f 74 73 74 72 61 70 2f 7a 69 ">/home/ci/work/zig-bootstrap/zi
cffa0 67 2f 64 6f 63 2f 6c 61 6e 67 72 65 66 2f 74 65 73 74 5f 73 74 72 69 6e 67 5f 6c 69 74 65 72 61 g/doc/langref/test_string_litera
cffc0 6c 5f 74 6f 5f 73 6c 69 63 65 2e 7a 69 67 3a 36 3a 39 3a 20 3c 2f 73 70 61 6e 3e 3c 73 70 61 6e l_to_slice.zig:6:9:.</span><span
cffe0 20 63 6c 61 73 73 3d 22 73 67 72 2d 33 36 6d 22 3e 6e 6f 74 65 3a 20 3c 2f 73 70 61 6e 3e 3c 73 .class="sgr-36m">note:.</span><s
d0000 70 61 6e 20 63 6c 61 73 73 3d 22 73 67 72 2d 31 6d 22 3e 63 61 73 74 20 64 69 73 63 61 72 64 73 pan.class="sgr-1m">cast.discards
d0020 20 63 6f 6e 73 74 20 71 75 61 6c 69 66 69 65 72 0a 3c 2f 73 70 61 6e 3e 3c 73 70 61 6e 20 63 6c .const.qualifier.</span><span.cl
d0040 61 73 73 3d 22 73 67 72 2d 31 6d 22 3e 2f 68 6f 6d 65 2f 63 69 2f 77 6f 72 6b 2f 7a 69 67 2d 62 ass="sgr-1m">/home/ci/work/zig-b
d0060 6f 6f 74 73 74 72 61 70 2f 7a 69 67 2f 64 6f 63 2f 6c 61 6e 67 72 65 66 2f 74 65 73 74 5f 73 74 ootstrap/zig/doc/langref/test_st
d0080 72 69 6e 67 5f 6c 69 74 65 72 61 6c 5f 74 6f 5f 73 6c 69 63 65 2e 7a 69 67 3a 31 3a 31 31 3a 20 ring_literal_to_slice.zig:1:11:.
d00a0 3c 2f 73 70 61 6e 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 73 67 72 2d 33 36 6d 22 3e 6e 6f 74 </span><span.class="sgr-36m">not
d00c0 65 3a 20 3c 2f 73 70 61 6e 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 73 67 72 2d 31 6d 22 3e 70 e:.</span><span.class="sgr-1m">p
d00e0 61 72 61 6d 65 74 65 72 20 74 79 70 65 20 64 65 63 6c 61 72 65 64 20 68 65 72 65 0a 3c 2f 73 70 arameter.type.declared.here.</sp
d0100 61 6e 3e 66 6e 20 66 6f 6f 28 73 3a 20 5b 5d 75 38 29 20 76 6f 69 64 20 7b 0a 20 20 20 20 20 20 an>fn.foo(s:.[]u8).void.{.......
d0120 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 73 67 72 2d 33 32 6d 22 3e 5e 7e 7e 7e 0a 3c ....<span.class="sgr-32m">^~~~.<
d0140 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 0a 20 /span>.</samp></pre></figure>...
d0160 20 20 20 20 20 3c 70 3e 48 6f 77 65 76 65 72 20 69 66 20 79 6f 75 20 6d 61 6b 65 20 74 68 65 20 .....<p>However.if.you.make.the.
d0180 73 6c 69 63 65 20 63 6f 6e 73 74 61 6e 74 2c 20 74 68 65 6e 20 69 74 20 77 6f 72 6b 73 3a 3c 2f slice.constant,.then.it.works:</
d01a0 70 3e 0a 20 20 20 20 20 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
d01c0 73 73 3d 22 7a 69 67 2d 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">
d01e0 74 65 73 74 5f 73 74 72 69 6e 67 5f 6c 69 74 65 72 61 6c 5f 74 6f 5f 63 6f 6e 73 74 5f 73 6c 69 test_string_literal_to_const_sli
d0200 63 65 2e 7a 69 67 3c 2f 63 69 74 65 3e 3c 2f 66 69 67 63 61 70 74 69 6f 6e 3e 3c 70 72 65 3e 3c ce.zig</cite></figcaption><pre><
d0220 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 66 6e 3c 2f 73 70 code><span.class="tok-kw">fn</sp
d0240 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
d0260 61 6e 3e 28 73 3a 20 5b 5d 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 63 6f an>(s:.[]<span.class="tok-kw">co
d0280 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
d02a0 22 3e 75 38 3c 2f 73 70 61 6e 3e 29 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 ">u8</span>).<span.class="tok-ty
d02c0 70 65 22 3e 76 6f 69 64 3c 2f 73 70 61 6e 3e 20 7b 0a 20 20 20 20 5f 20 3d 20 73 3b 0a 7d 0a 0a pe">void</span>.{....._.=.s;.}..
d02e0 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>
d0300 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 73 74 72 22 3e 26 71 75 6f 74 3b 73 74 72 .<span.class="tok-str">&quot;str
d0320 69 6e 67 20 6c 69 74 65 72 61 6c 20 74 6f 20 63 6f 6e 73 74 61 6e 74 20 73 6c 69 63 65 26 71 75 ing.literal.to.constant.slice&qu
d0340 6f 74 3b 3c 2f 73 70 61 6e 3e 20 7b 0a 20 20 20 20 66 6f 6f 28 3c 73 70 61 6e 20 63 6c 61 73 73 ot;</span>.{.....foo(<span.class
d0360 3d 22 74 6f 6b 2d 73 74 72 22 3e 26 71 75 6f 74 3b 68 65 6c 6c 6f 26 71 75 6f 74 3b 3c 2f 73 70 ="tok-str">&quot;hello&quot;</sp
d0380 61 6e 3e 29 3b 0a 7d 3c 2f 63 6f 64 65 3e 3c 2f 70 72 65 3e 3c 2f 66 69 67 75 72 65 3e 3c 66 69 an>);.}</code></pre></figure><fi
d03a0 67 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
d03c0 70 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>
d03e0 24 20 3c 6b 62 64 3e 7a 69 67 20 74 65 73 74 20 74 65 73 74 5f 73 74 72 69 6e 67 5f 6c 69 74 65 $.<kbd>zig.test.test_string_lite
d0400 72 61 6c 5f 74 6f 5f 63 6f 6e 73 74 5f 73 6c 69 63 65 2e 7a 69 67 3c 2f 6b 62 64 3e 0a 31 2f 31 ral_to_const_slice.zig</kbd>.1/1
d0420 20 74 65 73 74 5f 73 74 72 69 6e 67 5f 6c 69 74 65 72 61 6c 5f 74 6f 5f 63 6f 6e 73 74 5f 73 6c .test_string_literal_to_const_sl
d0440 69 63 65 2e 74 65 73 74 2e 73 74 72 69 6e 67 20 6c 69 74 65 72 61 6c 20 74 6f 20 63 6f 6e 73 74 ice.test.string.literal.to.const
d0460 61 6e 74 20 73 6c 69 63 65 2e 2e 2e 4f 4b 0a 41 6c 6c 20 31 20 74 65 73 74 73 20 70 61 73 73 65 ant.slice...OK.All.1.tests.passe
d0480 64 2e 0a 3c 2f 73 61 6d 70 3e 3c 2f 70 72 65 3e 3c 2f 66 69 67 75 72 65 3e 0a 0a 20 20 20 20 20 d..</samp></pre></figure>.......
d04a0 20 3c 70 3e 0a 20 20 20 20 20 20 4a 75 73 74 20 6c 69 6b 65 20 73 74 72 69 6e 67 20 6c 69 74 65 .<p>.......Just.like.string.lite
d04c0 72 61 6c 73 2c 20 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 rals,.<code><span.class="tok-kw"
d04e0 3e 63 6f 6e 73 74 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 20 64 65 63 6c 61 72 61 74 69 6f 6e >const</span></code>.declaration
d0500 73 2c 20 77 68 65 6e 20 74 68 65 20 76 61 6c 75 65 20 69 73 20 6b 6e 6f 77 6e 20 61 74 20 3c 61 s,.when.the.value.is.known.at.<a
d0520 20 68 72 65 66 3d 22 23 63 6f 6d 70 74 69 6d 65 22 3e 63 6f 6d 70 74 69 6d 65 3c 2f 61 3e 2c 0a .href="#comptime">comptime</a>,.
d0540 20 20 20 20 20 20 61 72 65 20 73 74 6f 72 65 64 20 69 6e 20 74 68 65 20 67 6c 6f 62 61 6c 20 63 ......are.stored.in.the.global.c
d0560 6f 6e 73 74 61 6e 74 20 64 61 74 61 20 73 65 63 74 69 6f 6e 2e 20 41 6c 73 6f 20 3c 61 20 68 72 onstant.data.section..Also.<a.hr
d0580 65 66 3d 22 23 43 6f 6d 70 69 6c 65 2d 54 69 6d 65 2d 56 61 72 69 61 62 6c 65 73 22 3e 43 6f 6d ef="#Compile-Time-Variables">Com
d05a0 70 69 6c 65 20 54 69 6d 65 20 56 61 72 69 61 62 6c 65 73 3c 2f 61 3e 20 61 72 65 20 73 74 6f 72 pile.Time.Variables</a>.are.stor
d05c0 65 64 0a 20 20 20 20 20 20 69 6e 20 74 68 65 20 67 6c 6f 62 61 6c 20 63 6f 6e 73 74 61 6e 74 20 ed.......in.the.global.constant.
d05e0 64 61 74 61 20 73 65 63 74 69 6f 6e 2e 0a 20 20 20 20 20 20 3c 2f 70 3e 0a 20 20 20 20 20 20 3c data.section........</p>.......<
d0600 70 3e 0a 20 20 20 20 20 20 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d p>.......<code><span.class="tok-
d0620 6b 77 22 3e 76 61 72 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 20 64 65 63 6c 61 72 61 74 69 6f kw">var</span></code>.declaratio
d0640 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 20 69 ns.inside.functions.are.stored.i
d0660 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 4f 6e n.the.function's.stack.frame..On
d0680 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 6e 79 ce.a.function.returns,.......any
d06a0 20 3c 61 20 68 72 65 66 3d 22 23 50 6f 69 6e 74 65 72 73 22 3e 50 6f 69 6e 74 65 72 73 3c 2f 61 .<a.href="#Pointers">Pointers</a
d06c0 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 27 73 >.to.variables.in.the.function's
d06e0 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 66 65 .stack.frame.become.invalid.refe
d0700 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 67 20 rences,.and.......dereferencing.
d0720 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 3d 22 them.becomes.unchecked.<a.href="
d0740 23 49 6c 6c 65 67 61 6c 2d 42 65 68 61 76 69 6f 72 22 3e 49 6c 6c 65 67 61 6c 20 42 65 68 61 76 #Illegal-Behavior">Illegal.Behav
d0760 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>...
d0780 20 20 20 20 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 76 ....<code><span.class="tok-kw">v
d07a0 61 72 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 ar</span></code>.declarations.at
d07c0 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
d07e0 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
d0800 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
d0820 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>
d0840 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
d0860 6c 6f 63 61 74 65 64 20 77 69 74 68 20 3c 63 6f 64 65 3e 61 6c 6c 6f 63 61 74 6f 72 2e 61 6c 6c located.with.<code>allocator.all
d0880 6f 63 3c 2f 63 6f 64 65 3e 20 6f 72 0a 20 20 20 20 20 20 3c 63 6f 64 65 3e 61 6c 6c 6f 63 61 74 oc</code>.or.......<code>allocat
d08a0 6f 72 2e 63 72 65 61 74 65 3c 2f 63 6f 64 65 3e 20 69 73 20 64 65 74 65 72 6d 69 6e 65 64 20 62 or.create</code>.is.determined.b
d08c0 79 20 74 68 65 20 61 6c 6c 6f 63 61 74 6f 72 27 73 20 69 6d 70 6c 65 6d 65 6e 74 61 74 69 6f 6e y.the.allocator's.implementation
d08e0 2e 0a 20 20 20 20 20 20 3c 2f 70 3e 0a 20 20 20 20 20 20 3c 70 3e 54 4f 44 4f 3a 20 74 68 72 65 ........</p>.......<p>TODO:.thre
d0900 61 64 20 6c 6f 63 61 6c 20 76 61 72 69 61 62 6c 65 73 3c 2f 70 3e 0a 20 20 20 20 20 20 0a 0a 20 ad.local.variables</p>..........
d0920 20 20 20 20 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 .....<h3.id="Heap-Allocation-Fai
d0940 6c 75 72 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 48 65 61 lure"><a.href="nav.xhtml#toc-Hea
d0960 70 2d 41 6c 6c 6f 63 61 74 69 6f 6e 2d 46 61 69 6c 75 72 65 22 3e 48 65 61 70 20 41 6c 6c 6f 63 p-Allocation-Failure">Heap.Alloc
d0980 61 74 69 6f 6e 20 46 61 69 6c 75 72 65 3c 2f 61 3e 20 3c 61 20 63 6c 61 73 73 3d 22 68 64 72 22 ation.Failure</a>.<a.class="hdr"
d09a0 20 68 72 65 66 3d 22 23 48 65 61 70 2d 41 6c 6c 6f 63 61 74 69 6f 6e 2d 46 61 69 6c 75 72 65 22 .href="#Heap-Allocation-Failure"
d09c0 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 4d 61 >..</a></h3>........<p>.......Ma
d09e0 6e 79 20 70 72 6f 67 72 61 6d 6d 69 6e 67 20 6c 61 6e 67 75 61 67 65 73 20 63 68 6f 6f 73 65 20 ny.programming.languages.choose.
d0a00 74 6f 20 68 61 6e 64 6c 65 20 74 68 65 20 70 6f 73 73 69 62 69 6c 69 74 79 20 6f 66 20 68 65 61 to.handle.the.possibility.of.hea
d0a20 70 20 61 6c 6c 6f 63 61 74 69 6f 6e 20 66 61 69 6c 75 72 65 20 62 79 0a 20 20 20 20 20 20 75 6e p.allocation.failure.by.......un
d0a40 63 6f 6e 64 69 74 69 6f 6e 61 6c 6c 79 20 63 72 61 73 68 69 6e 67 2e 20 42 79 20 63 6f 6e 76 65 conditionally.crashing..By.conve
d0a60 6e 74 69 6f 6e 2c 20 5a 69 67 20 70 72 6f 67 72 61 6d 6d 65 72 73 20 64 6f 20 6e 6f 74 20 63 6f ntion,.Zig.programmers.do.not.co
d0a80 6e 73 69 64 65 72 20 74 68 69 73 20 74 6f 20 62 65 20 61 0a 20 20 20 20 20 20 73 61 74 69 73 66 nsider.this.to.be.a.......satisf
d0aa0 61 63 74 6f 72 79 20 73 6f 6c 75 74 69 6f 6e 2e 20 49 6e 73 74 65 61 64 2c 20 3c 63 6f 64 65 3e actory.solution..Instead,.<code>
d0ac0 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
d0ae0 3e 2e 4f 75 74 4f 66 4d 65 6d 6f 72 79 3c 2f 63 6f 64 65 3e 20 72 65 70 72 65 73 65 6e 74 73 0a >.OutOfMemory</code>.represents.
d0b00 20 20 20 20 20 20 68 65 61 70 20 61 6c 6c 6f 63 61 74 69 6f 6e 20 66 61 69 6c 75 72 65 2c 20 61 ......heap.allocation.failure,.a
d0b20 6e 64 20 5a 69 67 20 6c 69 62 72 61 72 69 65 73 20 72 65 74 75 72 6e 20 74 68 69 73 20 65 72 72 nd.Zig.libraries.return.this.err
d0b40 6f 72 20 63 6f 64 65 20 77 68 65 6e 65 76 65 72 20 68 65 61 70 20 61 6c 6c 6f 63 61 74 69 6f 6e or.code.whenever.heap.allocation
d0b60 0a 20 20 20 20 20 20 66 61 69 6c 75 72 65 20 70 72 65 76 65 6e 74 65 64 20 61 6e 20 6f 70 65 72 .......failure.prevented.an.oper
d0b80 61 74 69 6f 6e 20 66 72 6f 6d 20 63 6f 6d 70 6c 65 74 69 6e 67 20 73 75 63 63 65 73 73 66 75 6c ation.from.completing.successful
d0ba0 6c 79 2e 0a 20 20 20 20 20 20 3c 2f 70 3e 0a 20 20 20 20 20 20 3c 70 3e 0a 20 20 20 20 20 20 53 ly........</p>.......<p>.......S
d0bc0 6f 6d 65 20 68 61 76 65 20 61 72 67 75 65 64 20 74 68 61 74 20 62 65 63 61 75 73 65 20 73 6f 6d ome.have.argued.that.because.som
d0be0 65 20 6f 70 65 72 61 74 69 6e 67 20 73 79 73 74 65 6d 73 20 73 75 63 68 20 61 73 20 4c 69 6e 75 e.operating.systems.such.as.Linu
d0c00 78 20 68 61 76 65 20 6d 65 6d 6f 72 79 20 6f 76 65 72 63 6f 6d 6d 69 74 20 65 6e 61 62 6c 65 64 x.have.memory.overcommit.enabled
d0c20 20 62 79 0a 20 20 20 20 20 20 64 65 66 61 75 6c 74 2c 20 69 74 20 69 73 20 70 6f 69 6e 74 6c 65 .by.......default,.it.is.pointle
d0c40 73 73 20 74 6f 20 68 61 6e 64 6c 65 20 68 65 61 70 20 61 6c 6c 6f 63 61 74 69 6f 6e 20 66 61 69 ss.to.handle.heap.allocation.fai
d0c60 6c 75 72 65 2e 20 54 68 65 72 65 20 61 72 65 20 6d 61 6e 79 20 70 72 6f 62 6c 65 6d 73 20 77 69 lure..There.are.many.problems.wi
d0c80 74 68 20 74 68 69 73 20 72 65 61 73 6f 6e 69 6e 67 3a 0a 20 20 20 20 20 20 3c 2f 70 3e 0a 20 20 th.this.reasoning:.......</p>...
d0ca0 20 20 20 20 3c 75 6c 3e 0a 20 20 20 20 20 20 20 20 20 20 3c 6c 69 3e 4f 6e 6c 79 20 73 6f 6d 65 ....<ul>...........<li>Only.some
d0cc0 20 6f 70 65 72 61 74 69 6e 67 20 73 79 73 74 65 6d 73 20 68 61 76 65 20 61 6e 20 6f 76 65 72 63 .operating.systems.have.an.overc
d0ce0 6f 6d 6d 69 74 20 66 65 61 74 75 72 65 2e 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 3c 75 6c ommit.feature................<ul
d0d00 3e 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 3c 6c 69 3e 4c 69 6e 75 78 20 68 61 >...................<li>Linux.ha
d0d20 73 20 69 74 20 65 6e 61 62 6c 65 64 20 62 79 20 64 65 66 61 75 6c 74 2c 20 62 75 74 20 69 74 20 s.it.enabled.by.default,.but.it.
d0d40 69 73 20 63 6f 6e 66 69 67 75 72 61 62 6c 65 2e 3c 2f 6c 69 3e 0a 20 20 20 20 20 20 20 20 20 20 is.configurable.</li>...........
d0d60 20 20 20 20 20 20 20 20 3c 6c 69 3e 57 69 6e 64 6f 77 73 20 64 6f 65 73 20 6e 6f 74 20 6f 76 65 ........<li>Windows.does.not.ove
d0d80 72 63 6f 6d 6d 69 74 2e 3c 2f 6c 69 3e 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 rcommit.</li>...................
d0da0 3c 6c 69 3e 45 6d 62 65 64 64 65 64 20 73 79 73 74 65 6d 73 20 64 6f 20 6e 6f 74 20 68 61 76 65 <li>Embedded.systems.do.not.have
d0dc0 20 6f 76 65 72 63 6f 6d 6d 69 74 2e 3c 2f 6c 69 3e 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 .overcommit.</li>...............
d0de0 20 20 20 20 3c 6c 69 3e 48 6f 62 62 79 20 6f 70 65 72 61 74 69 6e 67 20 73 79 73 74 65 6d 73 20 ....<li>Hobby.operating.systems.
d0e00 6d 61 79 20 6f 72 20 6d 61 79 20 6e 6f 74 20 68 61 76 65 20 6f 76 65 72 63 6f 6d 6d 69 74 2e 3c may.or.may.not.have.overcommit.<
d0e20 2f 6c 69 3e 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 3c 2f 75 6c 3e 0a 20 20 20 20 20 20 20 /li>...............</ul>........
d0e40 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>.........
d0e60 20 20 20 20 20 20 46 6f 72 20 72 65 61 6c 2d 74 69 6d 65 20 73 79 73 74 65 6d 73 2c 20 6e 6f 74 ......For.real-time.systems,.not
d0e80 20 6f 6e 6c 79 20 69 73 20 74 68 65 72 65 20 6e 6f 20 6f 76 65 72 63 6f 6d 6d 69 74 2c 20 62 75 .only.is.there.no.overcommit,.bu
d0ea0 74 20 74 79 70 69 63 61 6c 6c 79 20 74 68 65 20 6d 61 78 69 6d 75 6d 20 61 6d 6f 75 6e 74 0a 20 t.typically.the.maximum.amount..
d0ec0 20 20 20 20 20 20 20 20 20 20 20 20 20 6f 66 20 6d 65 6d 6f 72 79 20 70 65 72 20 61 70 70 6c 69 .............of.memory.per.appli
d0ee0 63 61 74 69 6f 6e 20 69 73 20 64 65 74 65 72 6d 69 6e 65 64 20 61 68 65 61 64 20 6f 66 20 74 69 cation.is.determined.ahead.of.ti
d0f00 6d 65 2e 0a 20 20 20 20 20 20 20 20 20 20 3c 2f 6c 69 3e 0a 20 20 20 20 20 20 20 20 20 20 3c 6c me............</li>...........<l
d0f20 69 3e 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 57 68 65 6e 20 77 72 69 74 69 6e 67 20 61 20 i>...............When.writing.a.
d0f40 6c 69 62 72 61 72 79 2c 20 6f 6e 65 20 6f 66 20 74 68 65 20 6d 61 69 6e 20 67 6f 61 6c 73 20 69 library,.one.of.the.main.goals.i
d0f60 73 20 63 6f 64 65 20 72 65 75 73 65 2e 20 42 79 20 6d 61 6b 69 6e 67 20 63 6f 64 65 20 68 61 6e s.code.reuse..By.making.code.han
d0f80 64 6c 65 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 61 6c 6c 6f 63 61 74 69 6f 6e 20 66 61 69 dle...............allocation.fai
d0fa0 6c 75 72 65 20 63 6f 72 72 65 63 74 6c 79 2c 20 61 20 6c 69 62 72 61 72 79 20 62 65 63 6f 6d 65 lure.correctly,.a.library.become
d0fc0 73 20 65 6c 69 67 69 62 6c 65 20 74 6f 20 62 65 20 72 65 75 73 65 64 20 69 6e 0a 20 20 20 20 20 s.eligible.to.be.reused.in......
d0fe0 20 20 20 20 20 20 20 20 20 6d 6f 72 65 20 63 6f 6e 74 65 78 74 73 2e 0a 20 20 20 20 20 20 20 20 .........more.contexts..........
d1000 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 20 ..</li>...........<li>..........
d1020 20 20 20 20 20 41 6c 74 68 6f 75 67 68 20 73 6f 6d 65 20 73 6f 66 74 77 61 72 65 20 68 61 73 20 .....Although.some.software.has.
d1040 67 72 6f 77 6e 20 74 6f 20 64 65 70 65 6e 64 20 6f 6e 20 6f 76 65 72 63 6f 6d 6d 69 74 20 62 65 grown.to.depend.on.overcommit.be
d1060 69 6e 67 20 65 6e 61 62 6c 65 64 2c 20 69 74 73 20 65 78 69 73 74 65 6e 63 65 0a 20 20 20 20 20 ing.enabled,.its.existence......
d1080 20 20 20 20 20 20 20 20 20 69 73 20 74 68 65 20 73 6f 75 72 63 65 20 6f 66 20 63 6f 75 6e 74 6c .........is.the.source.of.countl
d10a0 65 73 73 20 75 73 65 72 20 65 78 70 65 72 69 65 6e 63 65 20 64 69 73 61 73 74 65 72 73 2e 20 57 ess.user.experience.disasters..W
d10c0 68 65 6e 20 61 20 73 79 73 74 65 6d 20 77 69 74 68 20 6f 76 65 72 63 6f 6d 6d 69 74 20 65 6e 61 hen.a.system.with.overcommit.ena
d10e0 62 6c 65 64 2c 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 73 75 63 68 20 61 73 20 4c 69 6e 75 bled,...............such.as.Linu
d1100 78 20 6f 6e 20 64 65 66 61 75 6c 74 20 73 65 74 74 69 6e 67 73 2c 20 63 6f 6d 65 73 20 63 6c 6f x.on.default.settings,.comes.clo
d1120 73 65 20 74 6f 20 6d 65 6d 6f 72 79 20 65 78 68 61 75 73 74 69 6f 6e 2c 20 74 68 65 20 73 79 73 se.to.memory.exhaustion,.the.sys
d1140 74 65 6d 20 6c 6f 63 6b 73 20 75 70 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 61 6e 64 20 62 tem.locks.up...............and.b
d1160 65 63 6f 6d 65 73 20 75 6e 75 73 61 62 6c 65 2e 20 41 74 20 74 68 69 73 20 70 6f 69 6e 74 2c 20 ecomes.unusable..At.this.point,.
d1180 74 68 65 20 4f 4f 4d 20 4b 69 6c 6c 65 72 20 73 65 6c 65 63 74 73 20 61 6e 20 61 70 70 6c 69 63 the.OOM.Killer.selects.an.applic
d11a0 61 74 69 6f 6e 20 74 6f 20 6b 69 6c 6c 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 62 61 73 65 ation.to.kill...............base
d11c0 64 20 6f 6e 20 68 65 75 72 69 73 74 69 63 73 2e 20 54 68 69 73 20 6e 6f 6e 2d 64 65 74 65 72 6d d.on.heuristics..This.non-determ
d11e0 69 6e 69 73 74 69 63 20 64 65 63 69 73 69 6f 6e 20 6f 66 74 65 6e 20 72 65 73 75 6c 74 73 20 69 inistic.decision.often.results.i
d1200 6e 20 61 6e 20 69 6d 70 6f 72 74 61 6e 74 20 70 72 6f 63 65 73 73 0a 20 20 20 20 20 20 20 20 20 n.an.important.process..........
d1220 20 20 20 20 20 62 65 69 6e 67 20 6b 69 6c 6c 65 64 2c 20 61 6e 64 20 6f 66 74 65 6e 20 66 61 69 .....being.killed,.and.often.fai
d1240 6c 73 20 74 6f 20 72 65 74 75 72 6e 20 74 68 65 20 73 79 73 74 65 6d 20 62 61 63 6b 20 74 6f 20 ls.to.return.the.system.back.to.
d1260 77 6f 72 6b 69 6e 67 20 6f 72 64 65 72 2e 0a 20 20 20 20 20 20 20 20 20 20 3c 2f 6c 69 3e 0a 20 working.order............</li>..
d1280 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 3d .....</ul>...............<h3.id=
d12a0 22 52 65 63 75 72 73 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 "Recursion"><a.href="nav.xhtml#t
d12c0 6f 63 2d 52 65 63 75 72 73 69 6f 6e 22 3e 52 65 63 75 72 73 69 6f 6e 3c 2f 61 3e 20 3c 61 20 63 oc-Recursion">Recursion</a>.<a.c
d12e0 6c 61 73 73 3d 22 68 64 72 22 20 68 72 65 66 3d 22 23 52 65 63 75 72 73 69 6f 6e 22 3e c2 a7 3c lass="hdr".href="#Recursion">..<
d1300 2f 61 3e 3c 2f 68 33 3e 0a 0a 20 20 20 20 20 20 3c 70 3e 0a 20 20 20 20 20 20 52 65 63 75 72 73 /a></h3>........<p>.......Recurs
d1320 69 6f 6e 20 69 73 20 61 20 66 75 6e 64 61 6d 65 6e 74 61 6c 20 74 6f 6f 6c 20 69 6e 20 6d 6f 64 ion.is.a.fundamental.tool.in.mod
d1340 65 6c 69 6e 67 20 73 6f 66 74 77 61 72 65 2e 20 48 6f 77 65 76 65 72 20 69 74 20 68 61 73 20 61 eling.software..However.it.has.a
d1360 6e 20 6f 66 74 65 6e 2d 6f 76 65 72 6c 6f 6f 6b 65 64 20 70 72 6f 62 6c 65 6d 3a 0a 20 20 20 20 n.often-overlooked.problem:.....
d1380 20 20 75 6e 62 6f 75 6e 64 65 64 20 6d 65 6d 6f 72 79 20 61 6c 6c 6f 63 61 74 69 6f 6e 2e 0a 20 ..unbounded.memory.allocation...
d13a0 20 20 20 20 20 3c 2f 70 3e 0a 20 20 20 20 20 20 3c 70 3e 0a 20 20 20 20 20 20 52 65 63 75 72 73 .....</p>.......<p>.......Recurs
d13c0 69 6f 6e 20 69 73 20 61 6e 20 61 72 65 61 20 6f 66 20 61 63 74 69 76 65 20 65 78 70 65 72 69 6d ion.is.an.area.of.active.experim
d13e0 65 6e 74 61 74 69 6f 6e 20 69 6e 20 5a 69 67 20 61 6e 64 20 73 6f 20 74 68 65 20 64 6f 63 75 6d entation.in.Zig.and.so.the.docum
d1400 65 6e 74 61 74 69 6f 6e 20 68 65 72 65 20 69 73 20 6e 6f 74 20 66 69 6e 61 6c 2e 0a 20 20 20 20 entation.here.is.not.final......
d1420 20 20 59 6f 75 20 63 61 6e 20 72 65 61 64 20 61 0a 20 20 20 20 20 20 3c 61 20 68 72 65 66 3d 22 ..You.can.read.a.......<a.href="
d1440 68 74 74 70 73 3a 2f 2f 7a 69 67 6c 61 6e 67 2e 6f 72 67 2f 64 6f 77 6e 6c 6f 61 64 2f 30 2e 33 https://ziglang.org/download/0.3
d1460 2e 30 2f 72 65 6c 65 61 73 65 2d 6e 6f 74 65 73 2e 68 74 6d 6c 23 72 65 63 75 72 73 69 6f 6e 22 .0/release-notes.html#recursion"
d1480 3e 73 75 6d 6d 61 72 79 20 6f 66 20 72 65 63 75 72 73 69 6f 6e 20 73 74 61 74 75 73 20 69 6e 20 >summary.of.recursion.status.in.
d14a0 74 68 65 20 30 2e 33 2e 30 20 72 65 6c 65 61 73 65 20 6e 6f 74 65 73 3c 2f 61 3e 2e 0a 20 20 20 the.0.3.0.release.notes</a>.....
d14c0 20 20 20 3c 2f 70 3e 0a 20 20 20 20 20 20 3c 70 3e 0a 20 20 20 20 20 20 54 68 65 20 73 68 6f 72 ...</p>.......<p>.......The.shor
d14e0 74 20 73 75 6d 6d 61 72 79 20 69 73 20 74 68 61 74 20 63 75 72 72 65 6e 74 6c 79 20 72 65 63 75 t.summary.is.that.currently.recu
d1500 72 73 69 6f 6e 20 77 6f 72 6b 73 20 6e 6f 72 6d 61 6c 6c 79 20 61 73 20 79 6f 75 20 77 6f 75 6c rsion.works.normally.as.you.woul
d1520 64 20 65 78 70 65 63 74 2e 20 41 6c 74 68 6f 75 67 68 20 5a 69 67 20 63 6f 64 65 0a 20 20 20 20 d.expect..Although.Zig.code.....
d1540 20 20 69 73 20 6e 6f 74 20 79 65 74 20 70 72 6f 74 65 63 74 65 64 20 66 72 6f 6d 20 73 74 61 63 ..is.not.yet.protected.from.stac
d1560 6b 20 6f 76 65 72 66 6c 6f 77 2c 20 69 74 20 69 73 20 70 6c 61 6e 6e 65 64 20 74 68 61 74 20 61 k.overflow,.it.is.planned.that.a
d1580 20 66 75 74 75 72 65 20 76 65 72 73 69 6f 6e 20 6f 66 20 5a 69 67 20 77 69 6c 6c 20 70 72 6f 76 .future.version.of.Zig.will.prov
d15a0 69 64 65 0a 20 20 20 20 20 20 73 75 63 68 20 70 72 6f 74 65 63 74 69 6f 6e 2c 20 77 69 74 68 20 ide.......such.protection,.with.
d15c0 73 6f 6d 65 20 64 65 67 72 65 65 20 6f 66 20 63 6f 6f 70 65 72 61 74 69 6f 6e 20 66 72 6f 6d 20 some.degree.of.cooperation.from.
d15e0 5a 69 67 20 63 6f 64 65 20 72 65 71 75 69 72 65 64 2e 0a 20 20 20 20 20 20 3c 2f 70 3e 0a 20 20 Zig.code.required........</p>...
d1600 20 20 20 20 0a 0a 20 20 20 20 20 20 3c 68 33 20 69 64 3d 22 4c 69 66 65 74 69 6d 65 2d 61 6e 64 ............<h3.id="Lifetime-and
d1620 2d 4f 77 6e 65 72 73 68 69 70 22 3e 3c 61 20 68 72 65 66 3d 22 6e 61 76 2e 78 68 74 6d 6c 23 74 -Ownership"><a.href="nav.xhtml#t
d1640 6f 63 2d 4c 69 66 65 74 69 6d 65 2d 61 6e 64 2d 4f 77 6e 65 72 73 68 69 70 22 3e 4c 69 66 65 74 oc-Lifetime-and-Ownership">Lifet
d1660 69 6d 65 20 61 6e 64 20 4f 77 6e 65 72 73 68 69 70 3c 2f 61 3e 20 3c 61 20 63 6c 61 73 73 3d 22 ime.and.Ownership</a>.<a.class="
d1680 68 64 72 22 20 68 72 65 66 3d 22 23 4c 69 66 65 74 69 6d 65 2d 61 6e 64 2d 4f 77 6e 65 72 73 68 hdr".href="#Lifetime-and-Ownersh
d16a0 69 70 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 ip">..</a></h3>........<p>......
d16c0 20 49 74 20 69 73 20 74 68 65 20 5a 69 67 20 70 72 6f 67 72 61 6d 6d 65 72 27 73 20 72 65 73 70 .It.is.the.Zig.programmer's.resp
d16e0 6f 6e 73 69 62 69 6c 69 74 79 20 74 6f 20 65 6e 73 75 72 65 20 74 68 61 74 20 61 20 3c 61 20 68 onsibility.to.ensure.that.a.<a.h
d1700 72 65 66 3d 22 23 50 6f 69 6e 74 65 72 73 22 3e 70 6f 69 6e 74 65 72 3c 2f 61 3e 20 69 73 20 6e ref="#Pointers">pointer</a>.is.n
d1720 6f 74 0a 20 20 20 20 20 20 61 63 63 65 73 73 65 64 20 77 68 65 6e 20 74 68 65 20 6d 65 6d 6f 72 ot.......accessed.when.the.memor
d1740 79 20 70 6f 69 6e 74 65 64 20 74 6f 20 69 73 20 6e 6f 20 6c 6f 6e 67 65 72 20 61 76 61 69 6c 61 y.pointed.to.is.no.longer.availa
d1760 62 6c 65 2e 20 4e 6f 74 65 20 74 68 61 74 20 61 20 3c 61 20 68 72 65 66 3d 22 23 53 6c 69 63 65 ble..Note.that.a.<a.href="#Slice
d1780 73 22 3e 73 6c 69 63 65 3c 2f 61 3e 0a 20 20 20 20 20 20 69 73 20 61 20 66 6f 72 6d 20 6f 66 20 s">slice</a>.......is.a.form.of.
d17a0 70 6f 69 6e 74 65 72 2c 20 69 6e 20 74 68 61 74 20 69 74 20 72 65 66 65 72 65 6e 63 65 73 20 6f pointer,.in.that.it.references.o
d17c0 74 68 65 72 20 6d 65 6d 6f 72 79 2e 0a 20 20 20 20 20 20 3c 2f 70 3e 0a 20 20 20 20 20 20 3c 70 ther.memory........</p>.......<p
d17e0 3e 0a 20 20 20 20 20 20 49 6e 20 6f 72 64 65 72 20 74 6f 20 70 72 65 76 65 6e 74 20 62 75 67 73 >.......In.order.to.prevent.bugs
d1800 2c 20 74 68 65 72 65 20 61 72 65 20 73 6f 6d 65 20 68 65 6c 70 66 75 6c 20 63 6f 6e 76 65 6e 74 ,.there.are.some.helpful.convent
d1820 69 6f 6e 73 20 74 6f 20 66 6f 6c 6c 6f 77 20 77 68 65 6e 20 64 65 61 6c 69 6e 67 20 77 69 74 68 ions.to.follow.when.dealing.with
d1840 20 70 6f 69 6e 74 65 72 73 2e 0a 20 20 20 20 20 20 49 6e 20 67 65 6e 65 72 61 6c 2c 20 77 68 65 .pointers........In.general,.whe
d1860 6e 20 61 20 66 75 6e 63 74 69 6f 6e 20 72 65 74 75 72 6e 73 20 61 20 70 6f 69 6e 74 65 72 2c 20 n.a.function.returns.a.pointer,.
d1880 74 68 65 20 64 6f 63 75 6d 65 6e 74 61 74 69 6f 6e 20 66 6f 72 20 74 68 65 20 66 75 6e 63 74 69 the.documentation.for.the.functi
d18a0 6f 6e 20 73 68 6f 75 6c 64 20 65 78 70 6c 61 69 6e 0a 20 20 20 20 20 20 77 68 6f 20 22 6f 77 6e on.should.explain.......who."own
d18c0 73 22 20 74 68 65 20 70 6f 69 6e 74 65 72 2e 20 54 68 69 73 20 63 6f 6e 63 65 70 74 20 68 65 6c s".the.pointer..This.concept.hel
d18e0 70 73 20 74 68 65 20 70 72 6f 67 72 61 6d 6d 65 72 20 64 65 63 69 64 65 20 77 68 65 6e 20 69 74 ps.the.programmer.decide.when.it
d1900 20 69 73 20 61 70 70 72 6f 70 72 69 61 74 65 2c 20 69 66 20 65 76 65 72 2c 0a 20 20 20 20 20 20 .is.appropriate,.if.ever,.......
d1920 74 6f 20 66 72 65 65 20 74 68 65 20 70 6f 69 6e 74 65 72 2e 0a 20 20 20 20 20 20 3c 2f 70 3e 0a to.free.the.pointer........</p>.
d1940 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 2c 20 74 68 65 ......<p>.......For.example,.the
d1960 20 66 75 6e 63 74 69 6f 6e 27 73 20 64 6f 63 75 6d 65 6e 74 61 74 69 6f 6e 20 6d 61 79 20 73 61 .function's.documentation.may.sa
d1980 79 20 22 63 61 6c 6c 65 72 20 6f 77 6e 73 20 74 68 65 20 72 65 74 75 72 6e 65 64 20 6d 65 6d 6f y."caller.owns.the.returned.memo
d19a0 72 79 22 2c 20 69 6e 20 77 68 69 63 68 20 63 61 73 65 0a 20 20 20 20 20 20 74 68 65 20 63 6f 64 ry",.in.which.case.......the.cod
d19c0 65 20 74 68 61 74 20 63 61 6c 6c 73 20 74 68 65 20 66 75 6e 63 74 69 6f 6e 20 6d 75 73 74 20 68 e.that.calls.the.function.must.h
d19e0 61 76 65 20 61 20 70 6c 61 6e 20 66 6f 72 20 77 68 65 6e 20 74 6f 20 66 72 65 65 20 74 68 61 74 ave.a.plan.for.when.to.free.that
d1a00 20 6d 65 6d 6f 72 79 2e 20 50 72 6f 62 61 62 6c 79 20 69 6e 20 74 68 69 73 20 73 69 74 75 61 74 .memory..Probably.in.this.situat
d1a20 69 6f 6e 2c 0a 20 20 20 20 20 20 74 68 65 20 66 75 6e 63 74 69 6f 6e 20 77 69 6c 6c 20 61 63 63 ion,.......the.function.will.acc
d1a40 65 70 74 20 61 6e 20 3c 63 6f 64 65 3e 41 6c 6c 6f 63 61 74 6f 72 3c 2f 63 6f 64 65 3e 20 70 61 ept.an.<code>Allocator</code>.pa
d1a60 72 61 6d 65 74 65 72 2e 0a 20 20 20 20 20 20 3c 2f 70 3e 0a 20 20 20 20 20 20 3c 70 3e 0a 20 20 rameter........</p>.......<p>...
d1a80 20 20 20 20 53 6f 6d 65 74 69 6d 65 73 20 74 68 65 20 6c 69 66 65 74 69 6d 65 20 6f 66 20 61 20 ....Sometimes.the.lifetime.of.a.
d1aa0 70 6f 69 6e 74 65 72 20 6d 61 79 20 62 65 20 6d 6f 72 65 20 63 6f 6d 70 6c 69 63 61 74 65 64 2e pointer.may.be.more.complicated.
d1ac0 20 46 6f 72 20 65 78 61 6d 70 6c 65 2c 20 74 68 65 0a 20 20 20 20 20 20 3c 63 6f 64 65 3e 73 74 .For.example,.the.......<code>st
d1ae0 64 2e 41 72 72 61 79 4c 69 73 74 28 54 29 2e 69 74 65 6d 73 3c 2f 63 6f 64 65 3e 20 73 6c 69 63 d.ArrayList(T).items</code>.slic
d1b00 65 20 68 61 73 20 61 20 6c 69 66 65 74 69 6d 65 20 74 68 61 74 20 72 65 6d 61 69 6e 73 0a 20 20 e.has.a.lifetime.that.remains...
d1b20 20 20 20 20 76 61 6c 69 64 20 75 6e 74 69 6c 20 74 68 65 20 6e 65 78 74 20 74 69 6d 65 20 74 68 ....valid.until.the.next.time.th
d1b40 65 20 6c 69 73 74 20 69 73 20 72 65 73 69 7a 65 64 2c 20 73 75 63 68 20 61 73 20 62 79 20 61 70 e.list.is.resized,.such.as.by.ap
d1b60 70 65 6e 64 69 6e 67 20 6e 65 77 20 65 6c 65 6d 65 6e 74 73 2e 0a 20 20 20 20 20 20 3c 2f 70 3e pending.new.elements........</p>
d1b80 0a 20 20 20 20 20 20 3c 70 3e 0a 20 20 20 20 20 20 54 68 65 20 41 50 49 20 64 6f 63 75 6d 65 6e .......<p>.......The.API.documen
d1ba0 74 61 74 69 6f 6e 20 66 6f 72 20 66 75 6e 63 74 69 6f 6e 73 20 61 6e 64 20 64 61 74 61 20 73 74 tation.for.functions.and.data.st
d1bc0 72 75 63 74 75 72 65 73 20 73 68 6f 75 6c 64 20 74 61 6b 65 20 67 72 65 61 74 20 63 61 72 65 20 ructures.should.take.great.care.
d1be0 74 6f 20 65 78 70 6c 61 69 6e 0a 20 20 20 20 20 20 74 68 65 20 6f 77 6e 65 72 73 68 69 70 20 61 to.explain.......the.ownership.a
d1c00 6e 64 20 6c 69 66 65 74 69 6d 65 20 73 65 6d 61 6e 74 69 63 73 20 6f 66 20 70 6f 69 6e 74 65 72 nd.lifetime.semantics.of.pointer
d1c20 73 2e 20 4f 77 6e 65 72 73 68 69 70 20 64 65 74 65 72 6d 69 6e 65 73 20 77 68 6f 73 65 20 72 65 s..Ownership.determines.whose.re
d1c40 73 70 6f 6e 73 69 62 69 6c 69 74 79 20 69 74 0a 20 20 20 20 20 20 69 73 20 74 6f 20 66 72 65 65 sponsibility.it.......is.to.free
d1c60 20 74 68 65 20 6d 65 6d 6f 72 79 20 72 65 66 65 72 65 6e 63 65 64 20 62 79 20 74 68 65 20 70 6f .the.memory.referenced.by.the.po
d1c80 69 6e 74 65 72 2c 20 61 6e 64 20 6c 69 66 65 74 69 6d 65 20 64 65 74 65 72 6d 69 6e 65 73 20 74 inter,.and.lifetime.determines.t
d1ca0 68 65 20 70 6f 69 6e 74 20 61 74 20 77 68 69 63 68 0a 20 20 20 20 20 20 74 68 65 20 6d 65 6d 6f he.point.at.which.......the.memo
d1cc0 72 79 20 62 65 63 6f 6d 65 73 20 69 6e 61 63 63 65 73 73 69 62 6c 65 20 28 6c 65 73 74 20 3c 61 ry.becomes.inaccessible.(lest.<a
d1ce0 20 68 72 65 66 3d 22 23 49 6c 6c 65 67 61 6c 2d 42 65 68 61 76 69 6f 72 22 3e 49 6c 6c 65 67 61 .href="#Illegal-Behavior">Illega
d1d00 6c 20 42 65 68 61 76 69 6f 72 3c 2f 61 3e 20 6f 63 63 75 72 29 2e 0a 20 20 20 20 20 20 3c 2f 70 l.Behavior</a>.occur)........</p
d1d20 3e 0a 20 20 20 20 20 20 0a 0a 20 20 20 20 20 20 0a 20 20 20 20 20 20 3c 68 32 20 69 64 3d 22 43 >......................<h2.id="C
d1d40 6f 6d 70 69 6c 65 2d 56 61 72 69 61 62 6c 65 73 22 3e 3c 61 20 68 72 65 66 3d 22 6e 61 76 2e 78 ompile-Variables"><a.href="nav.x
d1d60 68 74 6d 6c 23 74 6f 63 2d 43 6f 6d 70 69 6c 65 2d 56 61 72 69 61 62 6c 65 73 22 3e 43 6f 6d 70 html#toc-Compile-Variables">Comp
d1d80 69 6c 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 22 68 64 72 22 ile.Variables</a>.<a.class="hdr"
d1da0 20 68 72 65 66 3d 22 23 43 6f 6d 70 69 6c 65 2d 56 61 72 69 61 62 6c 65 73 22 3e c2 a7 3c 2f 61 .href="#Compile-Variables">..</a
d1dc0 3e 3c 2f 68 32 3e 0a 0a 20 20 20 20 20 20 3c 70 3e 0a 20 20 20 20 20 20 43 6f 6d 70 69 6c 65 20 ></h2>........<p>.......Compile.
d1de0 76 61 72 69 61 62 6c 65 73 20 61 72 65 20 61 63 63 65 73 73 69 62 6c 65 20 62 79 20 69 6d 70 6f variables.are.accessible.by.impo
d1e00 72 74 69 6e 67 20 74 68 65 20 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b rting.the.<code><span.class="tok
d1e20 2d 73 74 72 22 3e 26 71 75 6f 74 3b 62 75 69 6c 74 69 6e 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e -str">&quot;builtin&quot;</span>
d1e40 3c 2f 63 6f 64 65 3e 20 70 61 63 6b 61 67 65 2c 0a 20 20 20 20 20 20 77 68 69 63 68 20 74 68 65 </code>.package,.......which.the
d1e60 20 63 6f 6d 70 69 6c 65 72 20 6d 61 6b 65 73 20 61 76 61 69 6c 61 62 6c 65 20 74 6f 20 65 76 65 .compiler.makes.available.to.eve
d1e80 72 79 20 5a 69 67 20 73 6f 75 72 63 65 20 66 69 6c 65 2e 20 49 74 20 63 6f 6e 74 61 69 6e 73 0a ry.Zig.source.file..It.contains.
d1ea0 20 20 20 20 20 20 63 6f 6d 70 69 6c 65 2d 74 69 6d 65 20 63 6f 6e 73 74 61 6e 74 73 20 73 75 63 ......compile-time.constants.suc
d1ec0 68 20 61 73 20 74 68 65 20 63 75 72 72 65 6e 74 20 74 61 72 67 65 74 2c 20 65 6e 64 69 61 6e 6e h.as.the.current.target,.endiann
d1ee0 65 73 73 2c 20 61 6e 64 20 72 65 6c 65 61 73 65 20 6d 6f 64 65 2e 0a 20 20 20 20 20 20 3c 2f 70 ess,.and.release.mode........</p
d1f00 3e 0a 20 20 20 20 20 20 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
d1f20 73 3d 22 7a 69 67 2d 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
d1f40 6f 6d 70 69 6c 65 5f 76 61 72 69 61 62 6c 65 73 2e 7a 69 67 3c 2f 63 69 74 65 3e 3c 2f 66 69 67 ompile_variables.zig</cite></fig
d1f60 63 61 70 74 69 6f 6e 3e 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="
d1f80 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.=.<
d1fa0 73 70 61 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
d1fc0 3c 2f 73 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
d1fe0 75 6f 74 3b 62 75 69 6c 74 69 6e 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 29 3b 0a 3c 73 70 61 6e uot;builtin&quot;</span>);.<span
d2000 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 63 6f 6e 73 74 3c 2f 73 70 61 6e 3e 20 73 65 70 .class="tok-kw">const</span>.sep
d2020 61 72 61 74 6f 72 20 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 69 66 arator.=.<span.class="tok-kw">if
d2040 3c 2f 73 70 61 6e 3e 20 28 62 75 69 6c 74 69 6e 2e 6f 73 2e 74 61 67 20 3d 3d 20 2e 77 69 6e 64 </span>.(builtin.os.tag.==..wind
d2060 6f 77 73 29 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 73 74 72 22 3e 27 5c 5c 27 3c ows).<span.class="tok-str">'\\'<
d2080 2f 73 70 61 6e 3e 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 65 6c 73 65 /span>.<span.class="tok-kw">else
d20a0 3c 2f 73 70 61 6e 3e 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 73 74 72 22 3e 27 2f </span>.<span.class="tok-str">'/
d20c0 27 3c 2f 73 70 61 6e 3e 3b 3c 2f 63 6f 64 65 3e 3c 2f 70 72 65 3e 3c 2f 66 69 67 75 72 65 3e 0a '</span>;</code></pre></figure>.
d20e0 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 20 77 68 61 74 .......<p>.......Example.of.what
d2100 20 69 73 20 69 6d 70 6f 72 74 65 64 20 77 69 74 68 20 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c .is.imported.with.<code><span.cl
d2120 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>
d2140 28 3c 73 70 61 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
d2160 6c 74 69 6e 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 29 3c 2f 63 6f 64 65 3e 3a 0a 20 20 20 20 20 ltin&quot;</span>)</code>:......
d2180 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.
d21a0 63 6c 61 73 73 3d 22 7a 69 67 2d 63 61 70 22 3e 3c 63 69 74 65 3e 40 69 6d 70 6f 72 74 28 22 62 class="zig-cap"><cite>@import("b
d21c0 75 69 6c 74 69 6e 22 29 3c 2f 63 69 74 65 3e 3c 2f 66 69 67 63 61 70 74 69 6f 6e 3e 3c 70 72 65 uiltin")</cite></figcaption><pre
d21e0 3e 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 63 6f 6e 73 ><code><span.class="tok-kw">cons
d2200 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-
d2220 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
d2240 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
d2260 70 61 6e 3e 29 3b 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 63 6f 6d 6d 65 6e 74 22 pan>);.<span.class="tok-comment"
d2280 3e 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 >///.Zig.version..When.writing.c
d22a0 6f 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 ode.that.supports.multiple.versi
d22c0 6f 6e 73 20 6f 66 20 5a 69 67 2c 20 70 72 65 66 65 72 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 ons.of.Zig,.prefer</span>.<span.
d22e0 63 6c 61 73 73 3d 22 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 class="tok-comment">///.feature.
d2300 64 65 74 65 63 74 69 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 detection.(i.e..with.`@hasDecl`.
d2320 6f 72 20 60 40 68 61 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 or.`@hasField`).over.version.che
d2340 63 6b 73 2e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 cks.</span>.<span.class="tok-kw"
d2360 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"
d2380 3e 63 6f 6e 73 74 3c 2f 73 70 61 6e 3e 20 7a 69 67 5f 76 65 72 73 69 6f 6e 20 3d 20 73 74 64 2e >const</span>.zig_version.=.std.
d23a0 53 65 6d 61 6e 74 69 63 56 65 72 73 69 6f 6e 2e 70 61 72 73 65 28 7a 69 67 5f 76 65 72 73 69 6f SemanticVersion.parse(zig_versio
d23c0 6e 5f 73 74 72 69 6e 67 29 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 63 n_string).<span.class="tok-kw">c
d23e0 61 74 63 68 3c 2f 73 70 61 6e 3e 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 atch</span>.<span.class="tok-kw"
d2400 3e 75 6e 72 65 61 63 68 61 62 6c 65 3c 2f 73 70 61 6e 3e 3b 0a 3c 73 70 61 6e 20 63 6c 61 73 73 >unreachable</span>;.<span.class
d2420 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
d2440 3d 22 74 6f 6b 2d 6b 77 22 3e 63 6f 6e 73 74 3c 2f 73 70 61 6e 3e 20 7a 69 67 5f 76 65 72 73 69 ="tok-kw">const</span>.zig_versi
d2460 6f 6e 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 on_string.=.<span.class="tok-str
d2480 22 3e 26 71 75 6f 74 3b 30 2e 31 37 2e 30 2d 64 65 76 2e 33 38 39 2b 66 35 61 31 39 36 38 66 36 ">&quot;0.17.0-dev.389+f5a1968f6
d24a0 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 3b 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d &quot;</span>;.<span.class="tok-
d24c0 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-
d24e0 6b 77 22 3e 63 6f 6e 73 74 3c 2f 73 70 61 6e 3e 20 7a 69 67 5f 62 61 63 6b 65 6e 64 20 3d 20 73 kw">const</span>.zig_backend.=.s
d2500 74 64 2e 6c 61 6e 67 2e 43 6f 6d 70 69 6c 65 72 42 61 63 6b 65 6e 64 2e 73 74 61 67 65 32 5f 78 td.lang.CompilerBackend.stage2_x
d2520 38 36 5f 36 34 3b 0a 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 70 75 62 86_64;..<span.class="tok-kw">pub
d2540 3c 2f 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 </span>.<span.class="tok-kw">con
d2560 73 74 3c 2f 73 70 61 6e 3e 20 6f 75 74 70 75 74 5f 6d 6f 64 65 3a 20 73 74 64 2e 6c 61 6e 67 2e st</span>.output_mode:.std.lang.
d2580 4f 75 74 70 75 74 4d 6f 64 65 20 3d 20 2e 45 78 65 3b 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 OutputMode.=..Exe;.<span.class="
d25a0 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="
d25c0 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 64 65 3a 20 tok-kw">const</span>.link_mode:.
d25e0 73 74 64 2e 6c 61 6e 67 2e 4c 69 6e 6b 4d 6f 64 65 20 3d 20 2e 73 74 61 74 69 63 3b 0a 3c 73 70 std.lang.LinkMode.=..static;.<sp
d2600 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
d2620 61 6e 20 63 6c 61 73 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 an.class="tok-kw">const</span>.u
d2640 6e 77 69 6e 64 5f 74 61 62 6c 65 73 3a 20 73 74 64 2e 6c 61 6e 67 2e 55 6e 77 69 6e 64 54 61 62 nwind_tables:.std.lang.UnwindTab
d2660 6c 65 73 20 3d 20 2e 61 73 79 6e 63 3b 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b les.=..async;.<span.class="tok-k
d2680 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
d26a0 77 22 3e 63 6f 6e 73 74 3c 2f 73 70 61 6e 3e 20 69 73 5f 74 65 73 74 20 3d 20 3c 73 70 61 6e 20 w">const</span>.is_test.=.<span.
d26c0 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 0a 3c class="tok-null">false</span>;.<
d26e0 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>.<
d2700 73 70 61 6e 20 63 6c 61 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>
d2720 20 73 69 6e 67 6c 65 5f 74 68 72 65 61 64 65 64 20 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 .single_threaded.=.<span.class="
d2740 74 6f 6b 2d 6e 75 6c 6c 22 3e 66 61 6c 73 65 3c 2f 73 70 61 6e 3e 3b 0a 3c 73 70 61 6e 20 63 6c tok-null">false</span>;.<span.cl
d2760 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
d2780 61 73 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 3a 20 73 ass="tok-kw">const</span>.abi:.s
d27a0 74 64 2e 54 61 72 67 65 74 2e 41 62 69 20 3d 20 2e 67 6e 75 3b 0a 3c 73 70 61 6e 20 63 6c 61 73 td.Target.Abi.=..gnu;.<span.clas
d27c0 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
d27e0 73 3d 22 74 6f 6b 2d 6b 77 22 3e 63 6f 6e 73 74 3c 2f 73 70 61 6e 3e 20 63 70 75 3a 20 73 74 64 s="tok-kw">const</span>.cpu:.std
d2800 2e 54 61 72 67 65 74 2e 43 70 75 20 3d 20 2e 7b 0a 20 20 20 20 2e 61 72 63 68 20 3d 20 2e 78 38 .Target.Cpu.=..{......arch.=..x8
d2820 36 5f 36 34 2c 0a 20 20 20 20 2e 6d 6f 64 65 6c 20 3d 20 26 61 6d 70 3b 73 74 64 2e 54 61 72 67 6_64,......model.=.&amp;std.Targ
d2840 65 74 2e 78 38 36 2e 63 70 75 2e 7a 6e 76 65 72 32 2c 0a 20 20 20 20 2e 66 65 61 74 75 72 65 73 et.x86.cpu.znver2,......features
d2860 20 3d 20 73 74 64 2e 54 61 72 67 65 74 2e 78 38 36 2e 66 65 61 74 75 72 65 53 65 74 28 26 61 6d .=.std.Target.x86.featureSet(&am
d2880 70 3b 2e 7b 0a 20 20 20 20 20 20 20 20 2e 40 26 71 75 6f 74 3b 36 34 62 69 74 26 71 75 6f 74 3b p;.{..........@&quot;64bit&quot;
d28a0 2c 0a 20 20 20 20 20 20 20 20 2e 61 64 78 2c 0a 20 20 20 20 20 20 20 20 2e 61 65 73 2c 0a 20 20 ,..........adx,..........aes,...
d28c0 20 20 20 20 20 20 2e 61 6c 6c 6f 77 5f 6c 69 67 68 74 5f 32 35 36 5f 62 69 74 2c 0a 20 20 20 20 .......allow_light_256_bit,.....
d28e0 20 20 20 20 2e 61 76 78 2c 0a 20 20 20 20 20 20 20 20 2e 61 76 78 32 2c 0a 20 20 20 20 20 20 20 .....avx,..........avx2,........
d2900 20 2e 62 6d 69 2c 0a 20 20 20 20 20 20 20 20 2e 62 6d 69 32 2c 0a 20 20 20 20 20 20 20 20 2e 62 ..bmi,..........bmi2,..........b
d2920 72 61 6e 63 68 66 75 73 69 6f 6e 2c 0a 20 20 20 20 20 20 20 20 2e 63 6c 66 6c 75 73 68 6f 70 74 ranchfusion,..........clflushopt
d2940 2c 0a 20 20 20 20 20 20 20 20 2e 63 6c 77 62 2c 0a 20 20 20 20 20 20 20 20 2e 63 6c 7a 65 72 6f ,..........clwb,..........clzero
d2960 2c 0a 20 20 20 20 20 20 20 20 2e 63 6d 6f 76 2c 0a 20 20 20 20 20 20 20 20 2e 63 72 63 33 32 2c ,..........cmov,..........crc32,
d2980 0a 20 20 20 20 20 20 20 20 2e 63 78 31 36 2c 0a 20 20 20 20 20 20 20 20 2e 63 78 38 2c 0a 20 20 ..........cx16,..........cx8,...
d29a0 20 20 20 20 20 20 2e 66 31 36 63 2c 0a 20 20 20 20 20 20 20 20 2e 66 61 73 74 5f 31 35 62 79 74 .......f16c,..........fast_15byt
d29c0 65 6e 6f 70 2c 0a 20 20 20 20 20 20 20 20 2e 66 61 73 74 5f 62 65 78 74 72 2c 0a 20 20 20 20 20 enop,..........fast_bextr,......
d29e0 20 20 20 2e 66 61 73 74 5f 69 6d 6d 31 36 2c 0a 20 20 20 20 20 20 20 20 2e 66 61 73 74 5f 6c 7a ....fast_imm16,..........fast_lz
d2a00 63 6e 74 2c 0a 20 20 20 20 20 20 20 20 2e 66 61 73 74 5f 6d 6f 76 62 65 2c 0a 20 20 20 20 20 20 cnt,..........fast_movbe,.......
d2a20 20 20 2e 66 61 73 74 5f 73 63 61 6c 61 72 5f 66 73 71 72 74 2c 0a 20 20 20 20 20 20 20 20 2e 66 ...fast_scalar_fsqrt,..........f
d2a40 61 73 74 5f 73 63 61 6c 61 72 5f 73 68 69 66 74 5f 6d 61 73 6b 73 2c 0a 20 20 20 20 20 20 20 20 ast_scalar_shift_masks,.........
d2a60 2e 66 61 73 74 5f 76 61 72 69 61 62 6c 65 5f 70 65 72 6c 61 6e 65 5f 73 68 75 66 66 6c 65 2c 0a .fast_variable_perlane_shuffle,.
d2a80 20 20 20 20 20 20 20 20 2e 66 61 73 74 5f 76 65 63 74 6f 72 5f 66 73 71 72 74 2c 0a 20 20 20 20 .........fast_vector_fsqrt,.....
d2aa0 20 20 20 20 2e 66 6d 61 2c 0a 20 20 20 20 20 20 20 20 2e 66 73 67 73 62 61 73 65 2c 0a 20 20 20 .....fma,..........fsgsbase,....
d2ac0 20 20 20 20 20 2e 66 78 73 72 2c 0a 20 20 20 20 20 20 20 20 2e 69 64 69 76 71 5f 74 6f 5f 64 69 ......fxsr,..........idivq_to_di
d2ae0 76 6c 2c 0a 20 20 20 20 20 20 20 20 2e 6c 7a 63 6e 74 2c 0a 20 20 20 20 20 20 20 20 2e 6d 6d 78 vl,..........lzcnt,..........mmx
d2b00 2c 0a 20 20 20 20 20 20 20 20 2e 6d 6f 76 62 65 2c 0a 20 20 20 20 20 20 20 20 2e 6d 77 61 69 74 ,..........movbe,..........mwait
d2b20 78 2c 0a 20 20 20 20 20 20 20 20 2e 6e 6f 70 6c 2c 0a 20 20 20 20 20 20 20 20 2e 70 63 6c 6d 75 x,..........nopl,..........pclmu
d2b40 6c 2c 0a 20 20 20 20 20 20 20 20 2e 70 6f 70 63 6e 74 2c 0a 20 20 20 20 20 20 20 20 2e 70 72 66 l,..........popcnt,..........prf
d2b60 63 68 77 2c 0a 20 20 20 20 20 20 20 20 2e 72 64 70 69 64 2c 0a 20 20 20 20 20 20 20 20 2e 72 64 chw,..........rdpid,..........rd
d2b80 70 72 75 2c 0a 20 20 20 20 20 20 20 20 2e 72 64 72 6e 64 2c 0a 20 20 20 20 20 20 20 20 2e 72 64 pru,..........rdrnd,..........rd
d2ba0 73 65 65 64 2c 0a 20 20 20 20 20 20 20 20 2e 73 61 68 66 2c 0a 20 20 20 20 20 20 20 20 2e 73 62 seed,..........sahf,..........sb
d2bc0 62 5f 64 65 70 5f 62 72 65 61 6b 69 6e 67 2c 0a 20 20 20 20 20 20 20 20 2e 73 68 61 2c 0a 20 20 b_dep_breaking,..........sha,...
d2be0 20 20 20 20 20 20 2e 73 6c 6f 77 5f 73 68 6c 64 2c 0a 20 20 20 20 20 20 20 20 2e 73 6d 61 70 2c .......slow_shld,..........smap,
d2c00 0a 20 20 20 20 20 20 20 20 2e 73 6d 65 70 2c 0a 20 20 20 20 20 20 20 20 2e 73 73 65 2c 0a 20 20 ..........smep,..........sse,...
d2c20 20 20 20 20 20 20 2e 73 73 65 32 2c 0a 20 20 20 20 20 20 20 20 2e 73 73 65 33 2c 0a 20 20 20 20 .......sse2,..........sse3,.....
d2c40 20 20 20 20 2e 73 73 65 34 5f 31 2c 0a 20 20 20 20 20 20 20 20 2e 73 73 65 34 5f 32 2c 0a 20 20 .....sse4_1,..........sse4_2,...
d2c60 20 20 20 20 20 20 2e 73 73 65 34 61 2c 0a 20 20 20 20 20 20 20 20 2e 73 73 73 65 33 2c 0a 20 20 .......sse4a,..........ssse3,...
d2c80 20 20 20 20 20 20 2e 76 7a 65 72 6f 75 70 70 65 72 2c 0a 20 20 20 20 20 20 20 20 2e 77 62 6e 6f .......vzeroupper,..........wbno
d2ca0 69 6e 76 64 2c 0a 20 20 20 20 20 20 20 20 2e 78 38 37 2c 0a 20 20 20 20 20 20 20 20 2e 78 73 61 invd,..........x87,..........xsa
d2cc0 76 65 2c 0a 20 20 20 20 20 20 20 20 2e 78 73 61 76 65 63 2c 0a 20 20 20 20 20 20 20 20 2e 78 73 ve,..........xsavec,..........xs
d2ce0 61 76 65 6f 70 74 2c 0a 20 20 20 20 20 20 20 20 2e 78 73 61 76 65 73 2c 0a 20 20 20 20 7d 29 2c aveopt,..........xsaves,.....}),
d2d00 0a 7d 3b 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 70 75 62 3c 2f 73 70 .};.<span.class="tok-kw">pub</sp
d2d20 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</
d2d40 73 70 61 6e 3e 20 6f 73 3a 20 73 74 64 2e 54 61 72 67 65 74 2e 4f 73 20 3d 20 2e 7b 0a 20 20 20 span>.os:.std.Target.Os.=..{....
d2d60 20 2e 74 61 67 20 3d 20 2e 6c 69 6e 75 78 2c 0a 20 20 20 20 2e 76 65 72 73 69 6f 6e 5f 72 61 6e ..tag.=..linux,......version_ran
d2d80 67 65 20 3d 20 2e 7b 20 2e 6c 69 6e 75 78 20 3d 20 2e 7b 0a 20 20 20 20 20 20 20 20 2e 72 61 6e ge.=..{..linux.=..{..........ran
d2da0 67 65 20 3d 20 2e 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 2e 6d 69 6e 20 3d 20 2e 7b 0a 20 20 ge.=..{..............min.=..{...
d2dc0 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 20 63 6c 61 ...............major.=.<span.cla
d2de0 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 0a 20 20 20 20 20 20 ss="tok-number">6</span>,.......
d2e00 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 22 ...........minor.=.<span.class="
d2e20 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 31 3c 2f 73 70 61 6e 3e 2c 0a 20 20 20 20 20 20 20 20 20 20 tok-number">1</span>,...........
d2e40 20 20 20 20 20 20 2e 70 61 74 63 68 20 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d .......patch.=.<span.class="tok-
d2e60 6e 75 6d 62 65 72 22 3e 30 3c 2f 73 70 61 6e 3e 2c 0a 20 20 20 20 20 20 20 20 20 20 20 20 7d 2c number">0</span>,.............},
d2e80 0a 20 20 20 20 20 20 20 20 20 20 20 20 2e 6d 61 78 20 3d 20 2e 7b 0a 20 20 20 20 20 20 20 20 20 ..............max.=..{..........
d2ea0 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 73 73 3d 22 74 6f 6b ........major.=.<span.class="tok
d2ec0 2d 6e 75 6d 62 65 72 22 3e 36 3c 2f 73 70 61 6e 3e 2c 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 -number">6</span>,..............
d2ee0 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 6b 2d 6e 75 6d ....minor.=.<span.class="tok-num
d2f00 62 65 72 22 3e 31 3c 2f 73 70 61 6e 3e 2c 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 2e ber">1</span>,..................
d2f20 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"
d2f40 3e 30 3c 2f 73 70 61 6e 3e 2c 0a 20 20 20 20 20 20 20 20 20 20 20 20 7d 2c 0a 20 20 20 20 20 20 >0</span>,.............},.......
d2f60 20 20 7d 2c 0a 20 20 20 20 20 20 20 20 2e 67 6c 69 62 63 20 3d 20 2e 7b 0a 20 20 20 20 20 20 20 ..},..........glibc.=..{........
d2f80 20 20 20 20 20 2e 6d 61 6a 6f 72 20 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e ......major.=.<span.class="tok-n
d2fa0 75 6d 62 65 72 22 3e 32 3c 2f 73 70 61 6e 3e 2c 0a 20 20 20 20 20 20 20 20 20 20 20 20 2e 6d 69 umber">2</span>,..............mi
d2fc0 6e 6f 72 20 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 33 nor.=.<span.class="tok-number">3
d2fe0 36 3c 2f 73 70 61 6e 3e 2c 0a 20 20 20 20 20 20 20 20 20 20 20 20 2e 70 61 74 63 68 20 3d 20 3c 6</span>,..............patch.=.<
d3000 73 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>
d3020 2c 0a 20 20 20 20 20 20 20 20 7d 2c 0a 20 20 20 20 20 20 20 20 2e 61 6e 64 72 6f 69 64 20 3d 20 ,.........},..........android.=.
d3040 3c 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
d3060 6e 3e 2c 0a 20 20 20 20 7d 7d 2c 0a 7d 3b 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d n>,.....}},.};.<span.class="tok-
d3080 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-
d30a0 6b 77 22 3e 63 6f 6e 73 74 3c 2f 73 70 61 6e 3e 20 74 61 72 67 65 74 3a 20 73 74 64 2e 54 61 72 kw">const</span>.target:.std.Tar
d30c0 67 65 74 20 3d 20 2e 7b 0a 20 20 20 20 2e 63 70 75 20 3d 20 63 70 75 2c 0a 20 20 20 20 2e 6f 73 get.=..{......cpu.=.cpu,......os
d30e0 20 3d 20 6f 73 2c 0a 20 20 20 20 2e 61 62 69 20 3d 20 61 62 69 2c 0a 20 20 20 20 2e 6f 66 6d 74 .=.os,......abi.=.abi,......ofmt
d3100 20 3d 20 6f 62 6a 65 63 74 5f 66 6f 72 6d 61 74 2c 0a 20 20 20 20 2e 64 79 6e 61 6d 69 63 5f 6c .=.object_format,......dynamic_l
d3120 69 6e 6b 65 72 20 3d 20 2e 69 6e 69 74 28 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 73 inker.=..init(<span.class="tok-s
d3140 74 72 22 3e 26 71 75 6f 74 3b 2f 6c 69 62 36 34 2f 6c 64 2d 6c 69 6e 75 78 2d 78 38 36 2d 36 34 tr">&quot;/lib64/ld-linux-x86-64
d3160 2e 73 6f 2e 32 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 29 2c 0a 7d 3b 0a 3c 73 70 61 6e 20 63 6c .so.2&quot;</span>),.};.<span.cl
d3180 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
d31a0 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 63 6f 6e 73 74 3c 2f 73 70 61 6e 3e 20 6f 62 6a 65 63 74 ass="tok-kw">const</span>.object
d31c0 5f 66 6f 72 6d 61 74 3a 20 73 74 64 2e 54 61 72 67 65 74 2e 4f 62 6a 65 63 74 46 6f 72 6d 61 74 _format:.std.Target.ObjectFormat
d31e0 20 3d 20 2e 65 6c 66 3b 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 70 75 .=..elf;.<span.class="tok-kw">pu
d3200 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
d3220 6e 73 74 3c 2f 73 70 61 6e 3e 20 6d 6f 64 65 3a 20 73 74 64 2e 6c 61 6e 67 2e 4f 70 74 69 6d 69 nst</span>.mode:.std.lang.Optimi
d3240 7a 65 4d 6f 64 65 20 3d 20 2e 44 65 62 75 67 3b 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f zeMode.=..Debug;.<span.class="to
d3260 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
d3280 6b 2d 6b 77 22 3e 63 6f 6e 73 74 3c 2f 73 70 61 6e 3e 20 6c 69 6e 6b 5f 6c 69 62 63 20 3d 20 3c k-kw">const</span>.link_libc.=.<
d32a0 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6c 6c 22 3e 66 61 6c 73 65 3c 2f 73 70 61 span.class="tok-null">false</spa
d32c0 6e 3e 3b 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 70 75 62 3c 2f 73 70 n>;.<span.class="tok-kw">pub</sp
d32e0 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</
d3300 73 70 61 6e 3e 20 6c 69 6e 6b 5f 6c 69 62 63 70 70 20 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d span>.link_libcpp.=.<span.class=
d3320 22 74 6f 6b 2d 6e 75 6c 6c 22 3e 66 61 6c 73 65 3c 2f 73 70 61 6e 3e 3b 0a 3c 73 70 61 6e 20 63 "tok-null">false</span>;.<span.c
d3340 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
d3360 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 63 6f 6e 73 74 3c 2f 73 70 61 6e 3e 20 68 61 76 65 5f lass="tok-kw">const</span>.have_
d3380 65 72 72 6f 72 5f 72 65 74 75 72 6e 5f 74 72 61 63 69 6e 67 20 3d 20 3c 73 70 61 6e 20 63 6c 61 error_return_tracing.=.<span.cla
d33a0 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 0a 3c 73 70 61 6e ss="tok-null">true</span>;.<span
d33c0 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
d33e0 20 63 6c 61 73 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 .class="tok-kw">const</span>.val
d3400 67 72 69 6e 64 5f 73 75 70 70 6f 72 74 20 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b grind_support.=.<span.class="tok
d3420 2d 6e 75 6c 6c 22 3e 74 72 75 65 3c 2f 73 70 61 6e 3e 3b 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d -null">true</span>;.<span.class=
d3440 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=
d3460 22 74 6f 6b 2d 6b 77 22 3e 63 6f 6e 73 74 3c 2f 73 70 61 6e 3e 20 73 61 6e 69 74 69 7a 65 5f 74 "tok-kw">const</span>.sanitize_t
d3480 68 72 65 61 64 20 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6c 6c 22 3e 66 hread.=.<span.class="tok-null">f
d34a0 61 6c 73 65 3c 2f 73 70 61 6e 3e 3b 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 alse</span>;.<span.class="tok-kw
d34c0 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
d34e0 22 3e 63 6f 6e 73 74 3c 2f 73 70 61 6e 3e 20 66 75 7a 7a 20 3d 20 3c 73 70 61 6e 20 63 6c 61 73 ">const</span>.fuzz.=.<span.clas
d3500 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 0a 3c 73 70 61 6e s="tok-null">false</span>;.<span
d3520 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
d3540 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 63 6f 6e 73 74 3c 2f 73 70 61 6e 3e 20 70 6f 73 .class="tok-kw">const</span>.pos
d3560 69 74 69 6f 6e 5f 69 6e 64 65 70 65 6e 64 65 6e 74 5f 63 6f 64 65 20 3d 20 3c 73 70 61 6e 20 63 ition_independent_code.=.<span.c
d3580 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 0a 3c 73 lass="tok-null">false</span>;.<s
d35a0 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
d35c0 70 61 6e 20 63 6c 61 73 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>.
d35e0 70 6f 73 69 74 69 6f 6e 5f 69 6e 64 65 70 65 6e 64 65 6e 74 5f 65 78 65 63 75 74 61 62 6c 65 20 position_independent_executable.
d3600 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6c 6c 22 3e 66 61 6c 73 65 3c 2f =.<span.class="tok-null">false</
d3620 73 70 61 6e 3e 3b 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 70 75 62 3c span>;.<span.class="tok-kw">pub<
d3640 2f 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
d3660 74 3c 2f 73 70 61 6e 3e 20 73 74 72 69 70 5f 64 65 62 75 67 5f 69 6e 66 6f 20 3d 20 3c 73 70 61 t</span>.strip_debug_info.=.<spa
d3680 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6c 6c 22 3e 66 61 6c 73 65 3c 2f 73 70 61 6e 3e 3b n.class="tok-null">false</span>;
d36a0 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 70 75 62 3c 2f 73 70 61 6e 3e .<span.class="tok-kw">pub</span>
d36c0 20 3c 73 70 61 6e 20 63 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
d36e0 6e 3e 20 63 6f 64 65 5f 6d 6f 64 65 6c 3a 20 73 74 64 2e 6c 61 6e 67 2e 43 6f 64 65 4d 6f 64 65 n>.code_model:.std.lang.CodeMode
d3700 6c 20 3d 20 2e 64 65 66 61 75 6c 74 3b 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b l.=..default;.<span.class="tok-k
d3720 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
d3740 77 22 3e 63 6f 6e 73 74 3c 2f 73 70 61 6e 3e 20 6f 6d 69 74 5f 66 72 61 6d 65 5f 70 6f 69 6e 74 w">const</span>.omit_frame_point
d3760 65 72 20 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6c 6c 22 3e 66 61 6c 73 er.=.<span.class="tok-null">fals
d3780 65 3c 2f 73 70 61 6e 3e 3b 3c 2f 63 6f 64 65 3e 3c 2f 70 72 65 3e 3c 2f 66 69 67 75 72 65 3e 0a e</span>;</code></pre></figure>.
d37a0 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><
d37c0 61 20 68 72 65 66 3d 22 23 42 75 69 6c 64 2d 4d 6f 64 65 22 3e 42 75 69 6c 64 20 4d 6f 64 65 3c a.href="#Build-Mode">Build.Mode<
d37e0 2f 61 3e 3c 2f 6c 69 3e 0a 3c 2f 75 6c 3e 0a 0a 20 20 20 20 20 20 0a 20 20 20 20 20 20 3c 68 32 /a></li>.</ul>...............<h2
d3800 20 69 64 3d 22 43 6f 6d 70 69 6c 61 74 69 6f 6e 2d 4d 6f 64 65 6c 22 3e 3c 61 20 68 72 65 66 3d .id="Compilation-Model"><a.href=
d3820 22 6e 61 76 2e 78 68 74 6d 6c 23 74 6f 63 2d 43 6f 6d 70 69 6c 61 74 69 6f 6e 2d 4d 6f 64 65 6c "nav.xhtml#toc-Compilation-Model
d3840 22 3e 43 6f 6d 70 69 6c 61 74 69 6f 6e 20 4d 6f 64 65 6c 3c 2f 61 3e 20 3c 61 20 63 6c 61 73 73 ">Compilation.Model</a>.<a.class
d3860 3d 22 68 64 72 22 20 68 72 65 66 3d 22 23 43 6f 6d 70 69 6c 61 74 69 6f 6e 2d 4d 6f 64 65 6c 22 ="hdr".href="#Compilation-Model"
d3880 3e c2 a7 3c 2f 61 3e 3c 2f 68 32 3e 0a 0a 20 20 20 20 20 20 3c 70 3e 0a 20 20 20 20 20 20 41 20 >..</a></h2>........<p>.......A.
d38a0 5a 69 67 20 63 6f 6d 70 69 6c 61 74 69 6f 6e 20 69 73 20 73 65 70 61 72 61 74 65 64 20 69 6e 74 Zig.compilation.is.separated.int
d38c0 6f 20 3c 65 6d 3e 6d 6f 64 75 6c 65 73 3c 2f 65 6d 3e 2e 20 45 61 63 68 20 6d 6f 64 75 6c 65 20 o.<em>modules</em>..Each.module.
d38e0 69 73 20 61 20 63 6f 6c 6c 65 63 74 69 6f 6e 20 6f 66 20 5a 69 67 20 73 6f 75 72 63 65 20 66 69 is.a.collection.of.Zig.source.fi
d3900 6c 65 73 2c 0a 20 20 20 20 20 20 6f 6e 65 20 6f 66 20 77 68 69 63 68 20 69 73 20 74 68 65 20 6d les,.......one.of.which.is.the.m
d3920 6f 64 75 6c 65 27 73 20 3c 65 6d 3e 72 6f 6f 74 20 73 6f 75 72 63 65 20 66 69 6c 65 3c 2f 65 6d odule's.<em>root.source.file</em
d3940 3e 2e 20 45 61 63 68 20 6d 6f 64 75 6c 65 20 63 61 6e 20 3c 65 6d 3e 64 65 70 65 6e 64 3c 2f 65 >..Each.module.can.<em>depend</e
d3960 6d 3e 20 6f 6e 20 61 6e 79 20 6e 75 6d 62 65 72 20 6f 66 0a 20 20 20 20 20 20 6f 74 68 65 72 20 m>.on.any.number.of.......other.
d3980 6d 6f 64 75 6c 65 73 2c 20 66 6f 72 6d 69 6e 67 20 61 20 64 69 72 65 63 74 65 64 20 67 72 61 70 modules,.forming.a.directed.grap
d39a0 68 20 28 64 65 70 65 6e 64 65 6e 63 79 20 6c 6f 6f 70 73 20 62 65 74 77 65 65 6e 20 6d 6f 64 75 h.(dependency.loops.between.modu
d39c0 6c 65 73 20 61 72 65 20 61 6c 6c 6f 77 65 64 29 2e 20 49 66 20 6d 6f 64 75 6c 65 20 41 0a 20 20 les.are.allowed)..If.module.A...
d39e0 20 20 20 20 64 65 70 65 6e 64 73 20 6f 6e 20 6d 6f 64 75 6c 65 20 42 2c 20 74 68 65 6e 20 61 6e ....depends.on.module.B,.then.an
d3a00 79 20 5a 69 67 20 73 6f 75 72 63 65 20 66 69 6c 65 20 69 6e 20 6d 6f 64 75 6c 65 20 41 20 63 61 y.Zig.source.file.in.module.A.ca
d3a20 6e 20 69 6d 70 6f 72 74 20 74 68 65 20 3c 65 6d 3e 72 6f 6f 74 20 73 6f 75 72 63 65 20 66 69 6c n.import.the.<em>root.source.fil
d3a40 65 3c 2f 65 6d 3e 20 6f 66 0a 20 20 20 20 20 20 6d 6f 64 75 6c 65 20 42 20 75 73 69 6e 67 20 3c e</em>.of.......module.B.using.<
d3a60 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 62 75 69 6c 74 69 6e 22 3e 40 code><span.class="tok-builtin">@
d3a80 69 6d 70 6f 72 74 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 6f import</span></code>.with.the.mo
d3aa0 64 75 6c 65 27 73 20 6e 61 6d 65 2e 20 49 6e 20 65 73 73 65 6e 63 65 2c 20 61 20 6d 6f 64 75 6c dule's.name..In.essence,.a.modul
d3ac0 65 20 61 63 74 73 20 61 73 20 61 6e 0a 20 20 20 20 20 20 61 6c 69 61 73 20 74 6f 20 69 6d 70 6f e.acts.as.an.......alias.to.impo
d3ae0 72 74 20 61 20 5a 69 67 20 73 6f 75 72 63 65 20 66 69 6c 65 20 28 77 68 69 63 68 20 6d 69 67 68 rt.a.Zig.source.file.(which.migh
d3b00 74 20 65 78 69 73 74 20 69 6e 20 61 20 63 6f 6d 70 6c 65 74 65 6c 79 20 73 65 70 61 72 61 74 65 t.exist.in.a.completely.separate
d3b20 20 70 61 72 74 20 6f 66 20 74 68 65 20 66 69 6c 65 73 79 73 74 65 6d 29 2e 0a 20 20 20 20 20 20 .part.of.the.filesystem)........
d3b40 3c 2f 70 3e 0a 20 20 20 20 20 20 3c 70 3e 0a 20 20 20 20 20 20 41 20 73 69 6d 70 6c 65 20 5a 69 </p>.......<p>.......A.simple.Zi
d3b60 67 20 70 72 6f 67 72 61 6d 20 63 6f 6d 70 69 6c 65 64 20 77 69 74 68 20 3c 63 6f 64 65 3e 7a 69 g.program.compiled.with.<code>zi
d3b80 67 20 62 75 69 6c 64 2d 65 78 65 3c 2f 63 6f 64 65 3e 20 68 61 73 20 74 77 6f 20 6b 65 79 20 6d g.build-exe</code>.has.two.key.m
d3ba0 6f 64 75 6c 65 73 3a 20 74 68 65 20 6f 6e 65 20 63 6f 6e 74 61 69 6e 69 6e 67 20 79 6f 75 72 0a odules:.the.one.containing.your.
d3bc0 20 20 20 20 20 20 63 6f 64 65 2c 20 6b 6e 6f 77 6e 20 61 73 20 74 68 65 20 22 6d 61 69 6e 22 20 ......code,.known.as.the."main".
d3be0 6f 72 20 22 72 6f 6f 74 22 20 6d 6f 64 75 6c 65 2c 20 61 6e 64 20 74 68 65 20 73 74 61 6e 64 61 or."root".module,.and.the.standa
d3c00 72 64 20 6c 69 62 72 61 72 79 2e 20 59 6f 75 72 20 6d 6f 64 75 6c 65 20 3c 65 6d 3e 64 65 70 65 rd.library..Your.module.<em>depe
d3c20 6e 64 73 20 6f 6e 3c 2f 65 6d 3e 0a 20 20 20 20 20 20 74 68 65 20 73 74 61 6e 64 61 72 64 20 6c nds.on</em>.......the.standard.l
d3c40 69 62 72 61 72 79 20 6d 6f 64 75 6c 65 20 75 6e 64 65 72 20 74 68 65 20 6e 61 6d 65 20 22 73 74 ibrary.module.under.the.name."st
d3c60 64 22 2c 20 77 68 69 63 68 20 69 73 20 77 68 61 74 20 61 6c 6c 6f 77 73 20 79 6f 75 20 74 6f 20 d",.which.is.what.allows.you.to.
d3c80 77 72 69 74 65 0a 20 20 20 20 20 20 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 write.......<code><span.class="t
d3ca0 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
d3cc0 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;
d3ce0 3c 2f 73 70 61 6e 3e 29 3c 2f 63 6f 64 65 3e 21 20 49 6e 20 66 61 63 74 2c 20 65 76 65 72 79 20 </span>)</code>!.In.fact,.every.
d3d00 73 69 6e 67 6c 65 20 6d 6f 64 75 6c 65 20 69 6e 20 61 20 5a 69 67 20 63 6f 6d 70 69 6c 61 74 69 single.module.in.a.Zig.compilati
d3d20 6f 6e 20 26 23 38 32 31 32 3b 20 69 6e 63 6c 75 64 69 6e 67 0a 20 20 20 20 20 20 74 68 65 20 73 on.&#8212;.including.......the.s
d3d40 74 61 6e 64 61 72 64 20 6c 69 62 72 61 72 79 20 69 74 73 65 6c 66 20 26 23 38 32 31 32 3b 20 69 tandard.library.itself.&#8212;.i
d3d60 6d 70 6c 69 63 69 74 6c 79 20 64 65 70 65 6e 64 73 20 6f 6e 20 74 68 65 20 73 74 61 6e 64 61 72 mplicitly.depends.on.the.standar
d3d80 64 20 6c 69 62 72 61 72 79 20 6d 6f 64 75 6c 65 20 75 6e 64 65 72 20 74 68 65 20 6e 61 6d 65 20 d.library.module.under.the.name.
d3da0 22 73 74 64 22 2e 0a 20 20 20 20 20 20 3c 2f 70 3e 0a 20 20 20 20 20 20 3c 70 3e 0a 20 20 20 20 "std"........</p>.......<p>.....
d3dc0 20 20 54 68 65 20 22 72 6f 6f 74 20 6d 6f 64 75 6c 65 22 20 28 74 68 65 20 6f 6e 65 20 70 72 6f ..The."root.module".(the.one.pro
d3de0 76 69 64 65 64 20 62 79 20 79 6f 75 20 69 6e 20 74 68 65 20 3c 63 6f 64 65 3e 7a 69 67 20 62 75 vided.by.you.in.the.<code>zig.bu
d3e00 69 6c 64 2d 65 78 65 3c 2f 63 6f 64 65 3e 20 65 78 61 6d 70 6c 65 29 20 68 61 73 20 61 20 73 70 ild-exe</code>.example).has.a.sp
d3e20 65 63 69 61 6c 0a 20 20 20 20 20 20 70 72 6f 70 65 72 74 79 2e 20 4c 69 6b 65 20 74 68 65 20 73 ecial.......property..Like.the.s
d3e40 74 61 6e 64 61 72 64 20 6c 69 62 72 61 72 79 2c 20 69 74 20 69 73 20 69 6d 70 6c 69 63 69 74 6c tandard.library,.it.is.implicitl
d3e60 79 20 6d 61 64 65 20 61 76 61 69 6c 61 62 6c 65 20 74 6f 20 61 6c 6c 20 6d 6f 64 75 6c 65 73 20 y.made.available.to.all.modules.
d3e80 28 69 6e 63 6c 75 64 69 6e 67 20 69 74 73 65 6c 66 29 2c 0a 20 20 20 20 20 20 74 68 69 73 20 74 (including.itself),.......this.t
d3ea0 69 6d 65 20 75 6e 64 65 72 20 74 68 65 20 6e 61 6d 65 20 22 72 6f 6f 74 22 2e 20 53 6f 2c 20 3c ime.under.the.name."root"..So,.<
d3ec0 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 62 75 69 6c 74 69 6e 22 3e 40 code><span.class="tok-builtin">@
d3ee0 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
d3f00 74 72 22 3e 26 71 75 6f 74 3b 72 6f 6f 74 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 29 3c 2f 63 6f tr">&quot;root&quot;</span>)</co
d3f20 64 65 3e 20 77 69 6c 6c 20 61 6c 77 61 79 73 20 62 65 20 65 71 75 69 76 61 6c 65 6e 74 20 74 6f de>.will.always.be.equivalent.to
d3f40 0a 20 20 20 20 20 20 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 62 75 .......<code><span.class="tok-bu
d3f60 69 6c 74 69 6e 22 3e 40 69 6d 70 6f 72 74 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 20 6f 66 20 iltin">@import</span></code>.of.
d3f80 79 6f 75 72 20 22 6d 61 69 6e 22 20 73 6f 75 72 63 65 20 66 69 6c 65 20 28 6f 66 74 65 6e 2c 20 your."main".source.file.(often,.
d3fa0 62 75 74 20 6e 6f 74 20 6e 65 63 65 73 73 61 72 69 6c 79 2c 20 6e 61 6d 65 64 0a 20 20 20 20 20 but.not.necessarily,.named......
d3fc0 20 3c 63 6f 64 65 3e 6d 61 69 6e 2e 7a 69 67 3c 2f 63 6f 64 65 3e 29 2e 0a 20 20 20 20 20 20 3c .<code>main.zig</code>)........<
d3fe0 2f 70 3e 0a 20 20 20 20 20 20 3c 68 33 20 69 64 3d 22 53 6f 75 72 63 65 2d 46 69 6c 65 2d 53 74 /p>.......<h3.id="Source-File-St
d4000 72 75 63 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 53 6f ructs"><a.href="nav.xhtml#toc-So
d4020 75 72 63 65 2d 46 69 6c 65 2d 53 74 72 75 63 74 73 22 3e 53 6f 75 72 63 65 20 46 69 6c 65 20 53 urce-File-Structs">Source.File.S
d4040 74 72 75 63 74 73 3c 2f 61 3e 20 3c 61 20 63 6c 61 73 73 3d 22 68 64 72 22 20 68 72 65 66 3d 22 tructs</a>.<a.class="hdr".href="
d4060 23 53 6f 75 72 63 65 2d 46 69 6c 65 2d 53 74 72 75 63 74 73 22 3e c2 a7 3c 2f 61 3e 3c 2f 68 33 #Source-File-Structs">..</a></h3
d4080 3e 0a 0a 20 20 20 20 20 20 3c 70 3e 0a 20 20 20 20 20 20 45 76 65 72 79 20 5a 69 67 20 73 6f 75 >........<p>.......Every.Zig.sou
d40a0 72 63 65 20 66 69 6c 65 20 69 73 20 69 6d 70 6c 69 63 69 74 6c 79 20 61 20 3c 63 6f 64 65 3e 3c rce.file.is.implicitly.a.<code><
d40c0 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
d40e0 3e 3c 2f 63 6f 64 65 3e 20 64 65 63 6c 61 72 61 74 69 6f 6e 3b 20 79 6f 75 20 63 61 6e 20 69 6d ></code>.declaration;.you.can.im
d4100 61 67 69 6e 65 20 74 68 61 74 0a 20 20 20 20 20 20 74 68 65 20 66 69 6c 65 27 73 20 63 6f 6e 74 agine.that.......the.file's.cont
d4120 65 6e 74 73 20 61 72 65 20 6c 69 74 65 72 61 6c 6c 79 20 73 75 72 72 6f 75 6e 64 65 64 20 62 79 ents.are.literally.surrounded.by
d4140 20 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 73 74 72 75 .<code><span.class="tok-kw">stru
d4160 63 74 3c 2f 73 70 61 6e 3e 20 7b 20 2e 2e 2e 20 7d 3c 2f 63 6f 64 65 3e 2e 20 54 68 69 73 20 6d ct</span>.{.....}</code>..This.m
d4180 65 61 6e 73 20 74 68 61 74 0a 20 20 20 20 20 20 61 73 20 77 65 6c 6c 20 61 73 20 64 65 63 6c 61 eans.that.......as.well.as.decla
d41a0 72 61 74 69 6f 6e 73 2c 20 74 68 65 20 74 6f 70 20 6c 65 76 65 6c 20 6f 66 20 61 20 66 69 6c 65 rations,.the.top.level.of.a.file
d41c0 20 69 73 20 70 65 72 6d 69 74 74 65 64 20 74 6f 20 63 6f 6e 74 61 69 6e 20 66 69 65 6c 64 73 3a .is.permitted.to.contain.fields:
d41e0 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
d4200 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
d4220 73 3d 22 66 69 6c 65 22 3e 54 6f 70 4c 65 76 65 6c 46 69 65 6c 64 73 2e 7a 69 67 3c 2f 63 69 74 s="file">TopLevelFields.zig</cit
d4240 65 3e 3c 2f 66 69 67 63 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.
d4260 63 6c 61 73 73 3d 22 74 6f 6b 2d 63 6f 6d 6d 65 6e 74 22 3e 2f 2f 21 20 42 65 63 61 75 73 65 20 class="tok-comment">//!.Because.
d4280 74 68 69 73 20 66 69 6c 65 20 63 6f 6e 74 61 69 6e 73 20 66 69 65 6c 64 73 2c 20 69 74 20 69 73 this.file.contains.fields,.it.is
d42a0 20 61 20 74 79 70 65 20 77 68 69 63 68 20 69 73 20 69 6e 74 65 6e 64 65 64 20 74 6f 20 62 65 20 .a.type.which.is.intended.to.be.
d42c0 69 6e 73 74 61 6e 74 69 61 74 65 64 2c 20 61 6e 64 20 73 6f 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 instantiated,.and.so</span>.<spa
d42e0 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 63 6f 6d 6d 65 6e 74 22 3e 2f 2f 21 20 69 73 20 6e 61 6d n.class="tok-comment">//!.is.nam
d4300 65 64 20 69 6e 20 54 69 74 6c 65 43 61 73 65 20 69 6e 73 74 65 61 64 20 6f 66 20 73 6e 61 6b 65 ed.in.TitleCase.instead.of.snake
d4320 5f 63 61 73 65 20 62 79 20 63 6f 6e 76 65 6e 74 69 6f 6e 2e 3c 2f 73 70 61 6e 3e 0a 0a 66 6f 6f _case.by.convention.</span>..foo
d4340 3a 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 75 33 32 3c 2f 73 70 :.<span.class="tok-type">u32</sp
d4360 61 6e 3e 2c 0a 62 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 an>,.bar:.<span.class="tok-type"
d4380 3e 75 36 34 3c 2f 73 70 61 6e 3e 2c 0a 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 63 >u64</span>,..<span.class="tok-c
d43a0 6f 6d 6d 65 6e 74 22 3e 2f 2f 2f 20 60 40 54 68 69 73 28 29 60 20 63 61 6e 20 62 65 20 75 73 65 omment">///.`@This()`.can.be.use
d43c0 64 20 74 6f 20 72 65 66 65 72 20 74 6f 20 74 68 69 73 20 73 74 72 75 63 74 20 74 79 70 65 2e 20 d.to.refer.to.this.struct.type..
d43e0 49 6e 20 66 69 6c 65 73 20 77 69 74 68 20 66 69 65 6c 64 73 2c 20 69 74 20 69 73 20 71 75 69 74 In.files.with.fields,.it.is.quit
d4400 65 20 63 6f 6d 6d 6f 6e 20 74 6f 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 e.common.to</span>.<span.class="
d4420 74 6f 6b 2d 63 6f 6d 6d 65 6e 74 22 3e 2f 2f 2f 20 6e 61 6d 65 20 74 68 65 20 74 79 70 65 20 68 tok-comment">///.name.the.type.h
d4440 65 72 65 2c 20 73 6f 20 69 74 20 63 61 6e 20 62 65 20 65 61 73 69 6c 79 20 72 65 66 65 72 65 6e ere,.so.it.can.be.easily.referen
d4460 63 65 64 20 62 79 20 6f 74 68 65 72 20 64 65 63 6c 61 72 61 74 69 6f 6e 73 20 69 6e 20 74 68 69 ced.by.other.declarations.in.thi
d4480 73 20 66 69 6c 65 2e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d s.file.</span>.<span.class="tok-
d44a0 6b 77 22 3e 63 6f 6e 73 74 3c 2f 73 70 61 6e 3e 20 54 6f 70 4c 65 76 65 6c 46 69 65 6c 64 73 20 kw">const</span>.TopLevelFields.
d44c0 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 62 75 69 6c 74 69 6e 22 3e 40 54 68 69 =.<span.class="tok-builtin">@Thi
d44e0 73 3c 2f 73 70 61 6e 3e 28 29 3b 0a 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 s</span>();..<span.class="tok-kw
d4500 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
d4520 22 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"
d4540 3e 69 6e 69 74 3c 2f 73 70 61 6e 3e 28 76 61 6c 3a 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 >init</span>(val:.<span.class="t
d4560 6f 6b 2d 74 79 70 65 22 3e 75 33 32 3c 2f 73 70 61 6e 3e 29 20 54 6f 70 4c 65 76 65 6c 46 69 65 ok-type">u32</span>).TopLevelFie
d4580 6c 64 73 20 7b 0a 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 72 lds.{.....<span.class="tok-kw">r
d45a0 65 74 75 72 6e 3c 2f 73 70 61 6e 3e 20 2e 7b 0a 20 20 20 20 20 20 20 20 2e 66 6f 6f 20 3d 20 76 eturn</span>..{..........foo.=.v
d45c0 61 6c 2c 0a 20 20 20 20 20 20 20 20 2e 62 61 72 20 3d 20 76 61 6c 20 2a 20 3c 73 70 61 6e 20 63 al,..........bar.=.val.*.<span.c
d45e0 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 0a 20 20 20 lass="tok-number">10</span>,....
d4600 20 7d 3b 0a 7d 3c 2f 63 6f 64 65 3e 3c 2f 70 72 65 3e 3c 2f 66 69 67 75 72 65 3e 0a 20 20 20 20 .};.}</code></pre></figure>.....
d4620 20 20 3c 70 3e 0a 20 20 20 20 20 20 53 75 63 68 20 66 69 6c 65 73 20 63 61 6e 20 62 65 20 69 6e ..<p>.......Such.files.can.be.in
d4640 73 74 61 6e 74 69 61 74 65 64 20 6a 75 73 74 20 6c 69 6b 65 20 61 6e 79 20 6f 74 68 65 72 20 3c stantiated.just.like.any.other.<
d4660 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 73 74 72 75 63 74 code><span.class="tok-kw">struct
d4680 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 20 74 79 70 65 2e 20 41 20 66 69 6c 65 27 73 20 22 72 </span></code>.type..A.file's."r
d46a0 6f 6f 74 0a 20 20 20 20 20 20 73 74 72 75 63 74 20 74 79 70 65 22 20 63 61 6e 20 62 65 20 72 65 oot.......struct.type".can.be.re
d46c0 66 65 72 72 65 64 20 74 6f 20 77 69 74 68 69 6e 20 74 68 61 74 20 66 69 6c 65 20 75 73 69 6e 67 ferred.to.within.that.file.using
d46e0 20 3c 61 20 68 72 65 66 3d 22 23 54 68 69 73 22 3e 40 54 68 69 73 3c 2f 61 3e 2e 0a 20 20 20 20 .<a.href="#This">@This</a>......
d4700 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 46 69 6c 65 ..</p>..............<h3.id="File
d4720 2d 61 6e 64 2d 44 65 63 6c 61 72 61 74 69 6f 6e 2d 44 69 73 63 6f 76 65 72 79 22 3e 3c 61 20 68 -and-Declaration-Discovery"><a.h
d4740 72 65 66 3d 22 6e 61 76 2e 78 68 74 6d 6c 23 74 6f 63 2d 46 69 6c 65 2d 61 6e 64 2d 44 65 63 6c ref="nav.xhtml#toc-File-and-Decl
d4760 61 72 61 74 69 6f 6e 2d 44 69 73 63 6f 76 65 72 79 22 3e 46 69 6c 65 20 61 6e 64 20 44 65 63 6c aration-Discovery">File.and.Decl
d4780 61 72 61 74 69 6f 6e 20 44 69 73 63 6f 76 65 72 79 3c 2f 61 3e 20 3c 61 20 63 6c 61 73 73 3d 22 aration.Discovery</a>.<a.class="
d47a0 68 64 72 22 20 68 72 65 66 3d 22 23 46 69 6c 65 2d 61 6e 64 2d 44 65 63 6c 61 72 61 74 69 6f 6e hdr".href="#File-and-Declaration
d47c0 2d 44 69 73 63 6f 76 65 72 79 22 3e c2 a7 3c 2f 61 3e 3c 2f 68 33 3e 0a 0a 20 20 20 20 20 20 3c -Discovery">..</a></h3>........<
d47e0 70 3e 0a 20 20 20 20 20 20 5a 69 67 20 70 6c 61 63 65 73 20 69 6d 70 6f 72 74 61 6e 63 65 20 6f p>.......Zig.places.importance.o
d4800 6e 20 74 68 65 20 63 6f 6e 63 65 70 74 20 6f 66 20 77 68 65 74 68 65 72 20 61 6e 79 20 70 69 65 n.the.concept.of.whether.any.pie
d4820 63 65 20 6f 66 20 63 6f 64 65 20 69 73 20 3c 65 6d 3e 73 65 6d 61 6e 74 69 63 61 6c 6c 79 20 61 ce.of.code.is.<em>semantically.a
d4840 6e 61 6c 79 7a 65 64 3c 2f 65 6d 3e 3b 20 69 6e 0a 20 20 20 20 20 20 65 73 73 65 6e 63 65 2c 20 nalyzed</em>;.in.......essence,.
d4860 77 68 65 74 68 65 72 20 74 68 65 20 63 6f 6d 70 69 6c 65 72 20 22 6c 6f 6f 6b 73 20 61 74 22 20 whether.the.compiler."looks.at".
d4880 69 74 2e 20 57 68 61 74 20 63 6f 64 65 20 69 73 20 61 6e 61 6c 79 7a 65 64 20 69 73 20 62 61 73 it..What.code.is.analyzed.is.bas
d48a0 65 64 20 6f 6e 20 77 68 61 74 20 66 69 6c 65 73 20 61 6e 64 0a 20 20 20 20 20 20 64 65 63 6c 61 ed.on.what.files.and.......decla
d48c0 72 61 74 69 6f 6e 73 20 61 72 65 20 22 64 69 73 63 6f 76 65 72 65 64 22 20 66 72 6f 6d 20 61 20 rations.are."discovered".from.a.
d48e0 63 65 72 74 61 69 6e 20 70 6f 69 6e 74 2e 20 54 68 69 73 20 70 72 6f 63 65 73 73 20 6f 66 20 22 certain.point..This.process.of."
d4900 64 69 73 63 6f 76 65 72 79 22 20 69 73 20 62 61 73 65 64 20 6f 6e 20 61 20 73 69 6d 70 6c 65 20 discovery".is.based.on.a.simple.
d4920 73 65 74 0a 20 20 20 20 20 20 6f 66 20 72 65 63 75 72 73 69 76 65 20 72 75 6c 65 73 3a 0a 20 20 set.......of.recursive.rules:...
d4940 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 3e ....</p>.......<ul>.........<li>
d4960 49 66 20 61 20 63 61 6c 6c 20 74 6f 20 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 If.a.call.to.<code><span.class="
d4980 74 6f 6b 2d 62 75 69 6c 74 69 6e 22 3e 40 69 6d 70 6f 72 74 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 tok-builtin">@import</span></cod
d49a0 65 3e 20 69 73 20 61 6e 61 6c 79 7a 65 64 2c 20 74 68 65 20 66 69 6c 65 20 62 65 69 6e 67 20 69 e>.is.analyzed,.the.file.being.i
d49c0 6d 70 6f 72 74 65 64 20 69 73 20 61 6e 61 6c 79 7a 65 64 2e 3c 2f 6c 69 3e 0a 20 20 20 20 20 20 mported.is.analyzed.</li>.......
d49e0 20 20 3c 6c 69 3e 49 66 20 61 20 74 79 70 65 20 28 69 6e 63 6c 75 64 69 6e 67 20 61 20 66 69 6c ..<li>If.a.type.(including.a.fil
d4a00 65 29 20 69 73 20 61 6e 61 6c 79 7a 65 64 2c 20 61 6c 6c 20 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 e).is.analyzed,.all.<code><span.
d4a20 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></
d4a40 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 74 6f 6b code>.and.<code><span.class="tok
d4a60 2d 6b 77 22 3e 65 78 70 6f 72 74 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 20 64 65 63 6c 61 72 -kw">export</span></code>.declar
d4a80 61 74 69 6f 6e 73 20 77 69 74 68 69 6e 20 69 74 20 61 72 65 20 61 6e 61 6c 79 7a 65 64 2e 3c 2f ations.within.it.are.analyzed.</
d4aa0 6c 69 3e 0a 20 20 20 20 20 20 20 20 3c 6c 69 3e 49 66 20 61 20 74 79 70 65 20 28 69 6e 63 6c 75 li>.........<li>If.a.type.(inclu
d4ac0 64 69 6e 67 20 61 20 66 69 6c 65 29 20 69 73 20 61 6e 61 6c 79 7a 65 64 2c 20 61 6e 64 20 74 68 ding.a.file).is.analyzed,.and.th
d4ae0 65 20 63 6f 6d 70 69 6c 61 74 69 6f 6e 20 69 73 20 66 6f 72 20 61 20 3c 61 20 68 72 65 66 3d 22 e.compilation.is.for.a.<a.href="
d4b00 23 5a 69 67 2d 54 65 73 74 22 3e 74 65 73 74 3c 2f 61 3e 2c 20 61 6e 64 20 74 68 65 20 6d 6f 64 #Zig-Test">test</a>,.and.the.mod
d4b20 75 6c 65 20 74 68 65 20 74 79 70 65 20 69 73 20 77 69 74 68 69 6e 20 69 73 20 74 68 65 20 72 6f ule.the.type.is.within.is.the.ro
d4b40 6f 74 20 6d 6f 64 75 6c 65 20 6f 66 20 74 68 65 20 63 6f 6d 70 69 6c 61 74 69 6f 6e 2c 20 74 68 ot.module.of.the.compilation,.th
d4b60 65 6e 20 61 6c 6c 20 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 en.all.<code><span.class="tok-kw
d4b80 22 3e 74 65 73 74 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 20 64 65 63 6c 61 72 61 74 69 6f 6e ">test</span></code>.declaration
d4ba0 73 20 77 69 74 68 69 6e 20 69 74 20 61 72 65 20 61 6c 73 6f 20 61 6e 61 6c 79 7a 65 64 2e 3c 2f s.within.it.are.also.analyzed.</
d4bc0 6c 69 3e 0a 20 20 20 20 20 20 20 20 3c 6c 69 3e 49 66 20 61 20 72 65 66 65 72 65 6e 63 65 20 74 li>.........<li>If.a.reference.t
d4be0 6f 20 61 20 6e 61 6d 65 64 20 64 65 63 6c 61 72 61 74 69 6f 6e 20 28 69 2e 65 2e 20 61 20 75 73 o.a.named.declaration.(i.e..a.us
d4c00 61 67 65 20 6f 66 20 69 74 29 20 69 73 20 61 6e 61 6c 79 7a 65 64 2c 20 74 68 65 20 64 65 63 6c age.of.it).is.analyzed,.the.decl
d4c20 61 72 61 74 69 6f 6e 20 62 65 69 6e 67 20 72 65 66 65 72 65 6e 63 65 64 20 69 73 20 61 6e 61 6c aration.being.referenced.is.anal
d4c40 79 7a 65 64 2e 20 44 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 yzed..Declarations.are.order-ind
d4c60 65 70 65 6e 64 65 6e 74 2c 20 73 6f 20 74 68 69 73 20 72 65 66 65 72 65 6e 63 65 20 6d 61 79 20 ependent,.so.this.reference.may.
d4c80 62 65 20 61 62 6f 76 65 20 6f 72 20 62 65 6c 6f 77 20 74 68 65 20 64 65 63 6c 61 72 61 74 69 6f be.above.or.below.the.declaratio
d4ca0 6e 20 62 65 69 6e 67 20 72 65 66 65 72 65 6e 63 65 64 2c 20 6f 72 20 65 76 65 6e 20 69 6e 20 61 n.being.referenced,.or.even.in.a
d4cc0 6e 6f 74 68 65 72 20 66 69 6c 65 20 65 6e 74 69 72 65 6c 79 2e 3c 2f 6c 69 3e 0a 20 20 20 20 20 nother.file.entirely.</li>......
d4ce0 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 61 74 27 73 20 69 74 .</ul>.......<p>.......That's.it
d4d00 21 20 54 68 6f 73 65 20 72 75 6c 65 73 20 64 65 66 69 6e 65 20 68 6f 77 20 5a 69 67 20 66 69 6c !.Those.rules.define.how.Zig.fil
d4d20 65 73 20 61 6e 64 20 64 65 63 6c 61 72 61 74 69 6f 6e 73 20 61 72 65 20 64 69 73 63 6f 76 65 72 es.and.declarations.are.discover
d4d40 65 64 2e 20 41 6c 6c 20 74 68 61 74 20 72 65 6d 61 69 6e 73 20 69 73 20 74 6f 0a 20 20 20 20 20 ed..All.that.remains.is.to......
d4d60 20 75 6e 64 65 72 73 74 61 6e 64 20 77 68 65 72 65 20 74 68 69 73 20 70 72 6f 63 65 73 73 20 3c .understand.where.this.process.<
d4d80 65 6d 3e 73 74 61 72 74 73 3c 2f 65 6d 3e 2e 0a 20 20 20 20 20 20 3c 2f 70 3e 0a 20 20 20 20 20 em>starts</em>........</p>......
d4da0 20 3c 70 3e 0a 20 20 20 20 20 20 54 68 65 20 61 6e 73 77 65 72 20 74 6f 20 74 68 61 74 20 69 73 .<p>.......The.answer.to.that.is
d4dc0 20 74 68 65 20 72 6f 6f 74 20 6f 66 20 74 68 65 20 73 74 61 6e 64 61 72 64 20 6c 69 62 72 61 72 .the.root.of.the.standard.librar
d4de0 79 3a 20 65 76 65 72 79 20 5a 69 67 20 63 6f 6d 70 69 6c 61 74 69 6f 6e 20 62 65 67 69 6e 73 20 y:.every.Zig.compilation.begins.
d4e00 62 79 20 61 6e 61 6c 79 7a 69 6e 67 20 74 68 65 0a 20 20 20 20 20 20 66 69 6c 65 20 3c 63 6f 64 by.analyzing.the.......file.<cod
d4e20 65 3e 6c 69 62 2f 73 74 64 2f 73 74 64 2e 7a 69 67 3c 2f 63 6f 64 65 3e 2e 20 54 68 69 73 20 66 e>lib/std/std.zig</code>..This.f
d4e40 69 6c 65 20 63 6f 6e 74 61 69 6e 73 20 61 20 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 ile.contains.a.<code><span.class
d4e60 3d 22 74 6f 6b 2d 6b 77 22 3e 63 6f 6d 70 74 69 6d 65 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e ="tok-kw">comptime</span></code>
d4e80 20 64 65 63 6c 61 72 61 74 69 6f 6e 0a 20 20 20 20 20 20 77 68 69 63 68 20 69 6d 70 6f 72 74 73 .declaration.......which.imports
d4ea0 20 3c 63 6f 64 65 3e 6c 69 62 2f 73 74 64 2f 73 74 61 72 74 2e 7a 69 67 3c 2f 63 6f 64 65 3e 2c .<code>lib/std/start.zig</code>,
d4ec0 20 61 6e 64 20 74 68 61 74 20 66 69 6c 65 20 69 6e 20 74 75 72 6e 20 75 73 65 73 0a 20 20 20 20 .and.that.file.in.turn.uses.....
d4ee0 20 20 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 62 75 69 6c 74 69 6e ..<code><span.class="tok-builtin
d4f00 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
d4f20 6b 2d 73 74 72 22 3e 26 71 75 6f 74 3b 72 6f 6f 74 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 29 3c k-str">&quot;root&quot;</span>)<
d4f40 2f 63 6f 64 65 3e 20 74 6f 20 72 65 66 65 72 65 6e 63 65 20 74 68 65 20 22 72 6f 6f 74 20 6d 6f /code>.to.reference.the."root.mo
d4f60 64 75 6c 65 22 3b 20 73 6f 2c 20 74 68 65 20 66 69 6c 65 20 79 6f 75 20 70 72 6f 76 69 64 65 20 dule";.so,.the.file.you.provide.
d4f80 61 73 20 79 6f 75 72 0a 20 20 20 20 20 20 6d 61 69 6e 20 6d 6f 64 75 6c 65 27 73 20 72 6f 6f 74 as.your.......main.module's.root
d4fa0 20 73 6f 75 72 63 65 20 66 69 6c 65 20 69 73 20 65 66 66 65 63 74 69 76 65 6c 79 20 61 6c 73 6f .source.file.is.effectively.also
d4fc0 20 61 20 72 6f 6f 74 2c 20 62 65 63 61 75 73 65 20 74 68 65 20 73 74 61 6e 64 61 72 64 20 6c 69 .a.root,.because.the.standard.li
d4fe0 62 72 61 72 79 20 77 69 6c 6c 20 61 6c 77 61 79 73 0a 20 20 20 20 20 20 72 65 66 65 72 65 6e 63 brary.will.always.......referenc
d5000 65 20 69 74 2e 0a 20 20 20 20 20 20 3c 2f 70 3e 0a 20 20 20 20 20 20 3c 70 3e 0a 20 20 20 20 20 e.it........</p>.......<p>......
d5020 20 49 74 20 69 73 20 6f 66 74 65 6e 20 64 65 73 69 72 61 62 6c 65 20 74 6f 20 6d 61 6b 65 20 73 .It.is.often.desirable.to.make.s
d5040 75 72 65 20 74 68 61 74 20 63 65 72 74 61 69 6e 20 64 65 63 6c 61 72 61 74 69 6f 6e 73 20 26 23 ure.that.certain.declarations.&#
d5060 38 32 31 32 3b 20 70 61 72 74 69 63 75 6c 61 72 6c 79 20 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 8212;.particularly.<code><span.c
d5080 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 63 6f 64 65 3e lass="tok-kw">test</span></code>
d50a0 0a 20 20 20 20 20 20 6f 72 20 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b .......or.<code><span.class="tok
d50c0 2d 6b 77 22 3e 65 78 70 6f 72 74 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 20 64 65 63 6c 61 72 -kw">export</span></code>.declar
d50e0 61 74 69 6f 6e 73 20 26 23 38 32 31 32 3b 20 61 72 65 20 64 69 73 63 6f 76 65 72 65 64 2e 20 42 ations.&#8212;.are.discovered..B
d5100 61 73 65 64 20 6f 6e 20 74 68 65 20 61 62 6f 76 65 20 72 75 6c 65 73 2c 20 61 20 63 6f 6d 6d 6f ased.on.the.above.rules,.a.commo
d5120 6e 0a 20 20 20 20 20 20 73 74 72 61 74 65 67 79 20 66 6f 72 20 74 68 69 73 20 69 73 20 74 6f 20 n.......strategy.for.this.is.to.
d5140 75 73 65 20 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 62 75 69 6c 74 use.<code><span.class="tok-built
d5160 69 6e 22 3e 40 69 6d 70 6f 72 74 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 20 77 69 74 68 69 6e in">@import</span></code>.within
d5180 20 61 20 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 63 6f .a.<code><span.class="tok-kw">co
d51a0 6d 70 74 69 6d 65 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 20 6f 72 0a 20 20 20 20 20 20 3c 63 mptime</span></code>.or.......<c
d51c0 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 74 65 73 74 3c 2f 73 ode><span.class="tok-kw">test</s
d51e0 70 61 6e 3e 3c 2f 63 6f 64 65 3e 20 62 6c 6f 63 6b 3a 0a 20 20 20 20 20 20 3c 2f 70 3e 0a 20 20 pan></code>.block:.......</p>...
d5200 20 20 20 20 3c 66 69 67 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
d5220 69 67 2d 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 6f 72 63 65 ig-cap"><cite.class="file">force
d5240 5f 66 69 6c 65 5f 64 69 73 63 6f 76 65 72 79 2e 7a 69 67 3c 2f 63 69 74 65 3e 3c 2f 66 69 67 63 _file_discovery.zig</cite></figc
d5260 61 70 74 69 6f 6e 3e 3c 70 72 65 3e 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 aption><pre><code><span.class="t
d5280 6f 6b 2d 6b 77 22 3e 63 6f 6d 70 74 69 6d 65 3c 2f 73 70 61 6e 3e 20 7b 0a 20 20 20 20 3c 73 70 ok-kw">comptime</span>.{.....<sp
d52a0 61 6e 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 77 an.class="tok-comment">//.This.w
d52c0 69 6c 6c 20 65 6e 73 75 72 65 20 74 68 61 74 20 74 68 65 20 66 69 6c 65 20 27 61 70 69 2e 7a 69 ill.ensure.that.the.file.'api.zi
d52e0 67 27 20 69 73 20 61 6c 77 61 79 73 20 64 69 73 63 6f 76 65 72 65 64 20 28 61 73 20 6c 6f 6e 67 g'.is.always.discovered.(as.long
d5300 20 61 73 20 74 68 69 73 20 66 69 6c 65 20 69 73 20 64 69 73 63 6f 76 65 72 65 64 29 2e 3c 2f 73 .as.this.file.is.discovered).</s
d5320 70 61 6e 3e 0a 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 63 6f 6d 6d 65 6e pan>.....<span.class="tok-commen
d5340 74 22 3e 2f 2f 20 49 74 20 69 73 20 75 73 65 66 75 6c 20 69 66 20 27 61 70 69 2e 7a 69 67 27 20 t">//.It.is.useful.if.'api.zig'.
d5360 63 6f 6e 74 61 69 6e 73 20 69 6d 70 6f 72 74 61 6e 74 20 65 78 70 6f 72 74 65 64 20 64 65 63 6c contains.important.exported.decl
d5380 61 72 61 74 69 6f 6e 73 2e 3c 2f 73 70 61 6e 3e 0a 20 20 20 20 5f 20 3d 20 3c 73 70 61 6e 20 63 arations.</span>....._.=.<span.c
d53a0 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
d53c0 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 61 70 >(<span.class="tok-str">&quot;ap
d53e0 69 2e 7a 69 67 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 29 3b 0a 0a 20 20 20 20 3c 73 70 61 6e 20 i.zig&quot;</span>);......<span.
d5400 63 6c 61 73 73 3d 22 74 6f 6b 2d 63 6f 6d 6d 65 6e 74 22 3e 2f 2f 20 57 65 20 63 6f 75 6c 64 20 class="tok-comment">//.We.could.
d5420 61 6c 73 6f 20 68 61 76 65 20 61 20 66 69 6c 65 20 77 68 69 63 68 20 63 6f 6e 74 61 69 6e 73 20 also.have.a.file.which.contains.
d5440 64 65 63 6c 61 72 61 74 69 6f 6e 73 20 77 65 20 6f 6e 6c 79 20 77 61 6e 74 20 74 6f 20 65 78 70 declarations.we.only.want.to.exp
d5460 6f 72 74 20 64 65 70 65 6e 64 69 6e 67 20 6f 6e 20 61 20 63 6f 6d 70 74 69 6d 65 3c 2f 73 70 61 ort.depending.on.a.comptime</spa
d5480 6e 3e 0a 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 63 6f 6d 6d 65 6e 74 22 n>.....<span.class="tok-comment"
d54a0 3e 2f 2f 20 63 6f 6e 64 69 74 69 6f 6e 2e 20 49 6e 20 74 68 61 74 20 63 61 73 65 2c 20 77 65 20 >//.condition..In.that.case,.we.
d54c0 63 61 6e 20 75 73 65 20 61 6e 20 60 69 66 60 20 73 74 61 74 65 6d 65 6e 74 20 68 65 72 65 3a 3c can.use.an.`if`.statement.here:<
d54e0 2f 73 70 61 6e 3e 0a 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e /span>.....<span.class="tok-kw">
d5500 69 66 3c 2f 73 70 61 6e 3e 20 28 62 75 69 6c 74 69 6e 2e 6f 73 2e 74 61 67 20 3d 3d 20 2e 77 69 if</span>.(builtin.os.tag.==..wi
d5520 6e 64 6f 77 73 29 20 7b 0a 20 20 20 20 20 20 20 20 5f 20 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 ndows).{........._.=.<span.class
d5540 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
d5560 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 73 74 72 22 3e 26 71 75 6f 74 3b 77 69 6e 64 6f 77 pan.class="tok-str">&quot;window
d5580 73 5f 61 70 69 2e 7a 69 67 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 29 3b 0a 20 20 20 20 7d 0a 7d s_api.zig&quot;</span>);.....}.}
d55a0 0a 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 74 65 73 74 3c 2f 73 70 61 ..<span.class="tok-kw">test</spa
d55c0 6e 3e 20 7b 0a 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 63 6f 6d 6d 65 6e n>.{.....<span.class="tok-commen
d55e0 74 22 3e 2f 2f 20 54 68 69 73 20 77 69 6c 6c 20 65 6e 73 75 72 65 20 74 68 61 74 20 74 68 65 20 t">//.This.will.ensure.that.the.
d5600 66 69 6c 65 20 27 74 65 73 74 73 2e 7a 69 67 27 20 69 73 20 61 6c 77 61 79 73 20 64 69 73 63 6f file.'tests.zig'.is.always.disco
d5620 76 65 72 65 64 20 28 61 73 20 6c 6f 6e 67 20 61 73 20 74 68 69 73 20 66 69 6c 65 20 69 73 20 64 vered.(as.long.as.this.file.is.d
d5640 69 73 63 6f 76 65 72 65 64 29 2c 3c 2f 73 70 61 6e 3e 0a 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 iscovered),</span>.....<span.cla
d5660 73 73 3d 22 74 6f 6b 2d 63 6f 6d 6d 65 6e 74 22 3e 2f 2f 20 69 66 20 74 68 69 73 20 63 6f 6d 70 ss="tok-comment">//.if.this.comp
d5680 69 6c 61 74 69 6f 6e 20 69 73 20 61 20 74 65 73 74 2e 20 49 74 20 69 73 20 75 73 65 66 75 6c 20 ilation.is.a.test..It.is.useful.
d56a0 69 66 20 27 74 65 73 74 73 2e 7a 69 67 27 20 63 6f 6e 74 61 69 6e 73 20 74 65 73 74 73 20 77 65 if.'tests.zig'.contains.tests.we
d56c0 20 77 61 6e 74 20 74 6f 20 65 6e 73 75 72 65 20 61 72 65 20 72 75 6e 2e 3c 2f 73 70 61 6e 3e 0a .want.to.ensure.are.run.</span>.
d56e0 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 69 6e ...._.=.<span.class="tok-builtin
d5700 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
d5720 6b 2d 73 74 72 22 3e 26 71 75 6f 74 3b 74 65 73 74 73 2e 7a 69 67 26 71 75 6f 74 3b 3c 2f 73 70 k-str">&quot;tests.zig&quot;</sp
d5740 61 6e 3e 29 3b 0a 0a 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 63 6f 6d 6d an>);......<span.class="tok-comm
d5760 65 6e 74 22 3e 2f 2f 20 57 65 20 63 6f 75 6c 64 20 61 6c 73 6f 20 68 61 76 65 20 61 20 66 69 6c ent">//.We.could.also.have.a.fil
d5780 65 20 77 68 69 63 68 20 63 6f 6e 74 61 69 6e 73 20 74 65 73 74 73 20 77 65 20 6f 6e 6c 79 20 77 e.which.contains.tests.we.only.w
d57a0 61 6e 74 20 74 6f 20 72 75 6e 20 64 65 70 65 6e 64 69 6e 67 20 6f 6e 20 61 20 63 6f 6d 70 74 69 ant.to.run.depending.on.a.compti
d57c0 6d 65 20 63 6f 6e 64 69 74 69 6f 6e 2e 3c 2f 73 70 61 6e 3e 0a 20 20 20 20 3c 73 70 61 6e 20 63 me.condition.</span>.....<span.c
d57e0 6c 61 73 73 3d 22 74 6f 6b 2d 63 6f 6d 6d 65 6e 74 22 3e 2f 2f 20 49 6e 20 74 68 61 74 20 63 61 lass="tok-comment">//.In.that.ca
d5800 73 65 2c 20 77 65 20 63 61 6e 20 75 73 65 20 61 6e 20 60 69 66 60 20 73 74 61 74 65 6d 65 6e 74 se,.we.can.use.an.`if`.statement
d5820 20 68 65 72 65 3a 3c 2f 73 70 61 6e 3e 0a 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 .here:</span>.....<span.class="t
d5840 6f 6b 2d 6b 77 22 3e 69 66 3c 2f 73 70 61 6e 3e 20 28 62 75 69 6c 74 69 6e 2e 6f 73 2e 74 61 67 ok-kw">if</span>.(builtin.os.tag
d5860 20 3d 3d 20 2e 77 69 6e 64 6f 77 73 29 20 7b 0a 20 20 20 20 20 20 20 20 5f 20 3d 20 3c 73 70 61 .==..windows).{........._.=.<spa
d5880 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
d58a0 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
d58c0 3b 77 69 6e 64 6f 77 73 5f 74 65 73 74 73 2e 7a 69 67 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 29 ;windows_tests.zig&quot;</span>)
d58e0 3b 0a 20 20 20 20 7d 0a 7d 0a 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e ;.....}.}..<span.class="tok-kw">
d5900 63 6f 6e 73 74 3c 2f 73 70 61 6e 3e 20 62 75 69 6c 74 69 6e 20 3d 20 3c 73 70 61 6e 20 63 6c 61 const</span>.builtin.=.<span.cla
d5920 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>(
d5940 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 73 74 72 22 3e 26 71 75 6f 74 3b 62 75 69 6c <span.class="tok-str">&quot;buil
d5960 74 69 6e 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 29 3b 3c 2f 63 6f 64 65 3e 3c 2f 70 72 65 3e 3c tin&quot;</span>);</code></pre><
d5980 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 53 70 /figure>..............<h3.id="Sp
d59a0 65 63 69 61 6c 2d 52 6f 6f 74 2d 44 65 63 6c 61 72 61 74 69 6f 6e 73 22 3e 3c 61 20 68 72 65 66 ecial-Root-Declarations"><a.href
d59c0 3d 22 6e 61 76 2e 78 68 74 6d 6c 23 74 6f 63 2d 53 70 65 63 69 61 6c 2d 52 6f 6f 74 2d 44 65 63 ="nav.xhtml#toc-Special-Root-Dec
d59e0 6c 61 72 61 74 69 6f 6e 73 22 3e 53 70 65 63 69 61 6c 20 52 6f 6f 74 20 44 65 63 6c 61 72 61 74 larations">Special.Root.Declarat
d5a00 69 6f 6e 73 3c 2f 61 3e 20 3c 61 20 63 6c 61 73 73 3d 22 68 64 72 22 20 68 72 65 66 3d 22 23 53 ions</a>.<a.class="hdr".href="#S
d5a20 70 65 63 69 61 6c 2d 52 6f 6f 74 2d 44 65 63 6c 61 72 61 74 69 6f 6e 73 22 3e c2 a7 3c 2f 61 3e pecial-Root-Declarations">..</a>
d5a40 3c 2f 68 33 3e 0a 0a 20 20 20 20 20 20 3c 70 3e 0a 20 20 20 20 20 20 42 65 63 61 75 73 65 20 74 </h3>........<p>.......Because.t
d5a60 68 65 20 72 6f 6f 74 20 6d 6f 64 75 6c 65 27 73 20 72 6f 6f 74 20 73 6f 75 72 63 65 20 66 69 6c he.root.module's.root.source.fil
d5a80 65 20 69 73 20 61 6c 77 61 79 73 20 61 63 63 65 73 73 69 62 6c 65 20 75 73 69 6e 67 0a 20 20 20 e.is.always.accessible.using....
d5aa0 20 20 20 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 62 75 69 6c 74 69 ...<code><span.class="tok-builti
d5ac0 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
d5ae0 6f 6b 2d 73 74 72 22 3e 26 71 75 6f 74 3b 72 6f 6f 74 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 29 ok-str">&quot;root&quot;</span>)
d5b00 3c 2f 63 6f 64 65 3e 2c 20 69 73 20 69 73 20 73 6f 6d 65 74 69 6d 65 73 20 75 73 65 64 20 62 79 </code>,.is.is.sometimes.used.by
d5b20 20 6c 69 62 72 61 72 69 65 73 20 26 23 38 32 31 32 3b 20 69 6e 63 6c 75 64 69 6e 67 20 74 68 65 .libraries.&#8212;.including.the
d5b40 20 5a 69 67 20 53 74 61 6e 64 61 72 64 0a 20 20 20 20 20 20 4c 69 62 72 61 72 79 20 26 23 38 32 .Zig.Standard.......Library.&#82
d5b60 31 32 3b 20 61 73 20 61 20 70 6c 61 63 65 20 66 6f 72 20 74 68 65 20 70 72 6f 67 72 61 6d 20 74 12;.as.a.place.for.the.program.t
d5b80 6f 20 65 78 70 6f 73 65 20 73 6f 6d 65 20 22 67 6c 6f 62 61 6c 22 20 69 6e 66 6f 72 6d 61 74 69 o.expose.some."global".informati
d5ba0 6f 6e 20 74 6f 20 74 68 61 74 20 6c 69 62 72 61 72 79 2e 20 54 68 65 20 5a 69 67 0a 20 20 20 20 on.to.that.library..The.Zig.....
d5bc0 20 20 53 74 61 6e 64 61 72 64 20 4c 69 62 72 61 72 79 20 77 69 6c 6c 20 6c 6f 6f 6b 20 66 6f 72 ..Standard.Library.will.look.for
d5be0 20 73 65 76 65 72 61 6c 20 64 65 63 6c 61 72 61 74 69 6f 6e 73 20 69 6e 20 74 68 69 73 20 66 69 .several.declarations.in.this.fi
d5c00 6c 65 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 45 6e 74 le........</p>.......<h4.id="Ent
d5c20 72 79 2d 50 6f 69 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 ry-Point"><a.href="nav.xhtml#toc
d5c40 2d 45 6e 74 72 79 2d 50 6f 69 6e 74 22 3e 45 6e 74 72 79 20 50 6f 69 6e 74 3c 2f 61 3e 20 3c 61 -Entry-Point">Entry.Point</a>.<a
d5c60 20 63 6c 61 73 73 3d 22 68 64 72 22 20 68 72 65 66 3d 22 23 45 6e 74 72 79 2d 50 6f 69 6e 74 22 .class="hdr".href="#Entry-Point"
d5c80 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 57 68 >..</a></h4>........<p>.......Wh
d5ca0 65 6e 20 62 75 69 6c 64 69 6e 67 20 61 6e 20 65 78 65 63 75 74 61 62 6c 65 2c 20 74 68 65 20 6d en.building.an.executable,.the.m
d5cc0 6f 73 74 20 69 6d 70 6f 72 74 61 6e 74 20 74 68 69 6e 67 20 74 6f 20 62 65 20 6c 6f 6f 6b 65 64 ost.important.thing.to.be.looked
d5ce0 20 75 70 20 69 6e 20 74 68 69 73 20 66 69 6c 65 20 69 73 20 74 68 65 20 70 72 6f 67 72 61 6d 27 .up.in.this.file.is.the.program'
d5d00 73 0a 20 20 20 20 20 20 3c 65 6d 3e 65 6e 74 72 79 20 70 6f 69 6e 74 3c 2f 65 6d 3e 2e 20 4d 6f s.......<em>entry.point</em>..Mo
d5d20 73 74 20 63 6f 6d 6d 6f 6e 6c 79 2c 20 74 68 69 73 20 69 73 20 61 20 66 75 6e 63 74 69 6f 6e 20 st.commonly,.this.is.a.function.
d5d40 6e 61 6d 65 64 20 3c 63 6f 64 65 3e 6d 61 69 6e 3c 2f 63 6f 64 65 3e 2c 20 77 68 69 63 68 0a 20 named.<code>main</code>,.which..
d5d60 20 20 20 20 20 3c 63 6f 64 65 3e 73 74 64 2e 73 74 61 72 74 3c 2f 63 6f 64 65 3e 20 77 69 6c 6c .....<code>std.start</code>.will
d5d80 20 63 61 6c 6c 20 6a 75 73 74 20 61 66 74 65 72 20 70 65 72 66 6f 72 6d 69 6e 67 20 69 6d 70 6f .call.just.after.performing.impo
d5da0 72 74 61 6e 74 20 69 6e 69 74 69 61 6c 69 7a 61 74 69 6f 6e 20 77 6f 72 6b 2e 0a 20 20 20 20 20 rtant.initialization.work.......
d5dc0 20 3c 2f 70 3e 0a 20 20 20 20 20 20 3c 70 3e 0a 20 20 20 20 20 20 41 6c 74 65 72 6e 61 74 69 76 .</p>.......<p>.......Alternativ
d5de0 65 6c 79 2c 20 74 68 65 20 70 72 65 73 65 6e 63 65 20 6f 66 20 61 20 64 65 63 6c 61 72 61 74 69 ely,.the.presence.of.a.declarati
d5e00 6f 6e 20 6e 61 6d 65 64 20 3c 63 6f 64 65 3e 5f 73 74 61 72 74 3c 2f 63 6f 64 65 3e 20 28 66 6f on.named.<code>_start</code>.(fo
d5e20 72 20 69 6e 73 74 61 6e 63 65 2c 0a 20 20 20 20 20 20 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c r.instance,.......<code><span.cl
d5e40 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
d5e60 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 63 6f 6e 73 74 3c 2f 73 70 61 6e 3e 20 5f 73 74 61 72 74 ass="tok-kw">const</span>._start
d5e80 20 3d 20 7b 7d 3b 3c 2f 63 6f 64 65 3e 29 20 77 69 6c 6c 20 64 69 73 61 62 6c 65 20 74 68 65 20 .=.{};</code>).will.disable.the.
d5ea0 64 65 66 61 75 6c 74 20 3c 63 6f 64 65 3e 73 74 64 2e 73 74 61 72 74 3c 2f 63 6f 64 65 3e 0a 20 default.<code>std.start</code>..
d5ec0 20 20 20 20 20 6c 6f 67 69 63 2c 20 61 6c 6c 6f 77 69 6e 67 20 79 6f 75 72 20 72 6f 6f 74 20 73 .....logic,.allowing.your.root.s
d5ee0 6f 75 72 63 65 20 66 69 6c 65 20 74 6f 20 65 78 70 6f 72 74 20 61 20 6c 6f 77 2d 6c 65 76 65 6c ource.file.to.export.a.low-level
d5f00 20 65 6e 74 72 79 20 70 6f 69 6e 74 20 61 73 20 6e 65 65 64 65 64 2e 0a 20 20 20 20 20 20 3c 2f .entry.point.as.needed........</
d5f20 70 3e 0a 20 20 20 20 20 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
d5f40 73 73 3d 22 7a 69 67 2d 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">
d5f60 65 6e 74 72 79 5f 70 6f 69 6e 74 2e 7a 69 67 3c 2f 63 69 74 65 3e 3c 2f 66 69 67 63 61 70 74 69 entry_point.zig</cite></figcapti
d5f80 6f 6e 3e 3c 70 72 65 3e 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 63 on><pre><code><span.class="tok-c
d5fa0 6f 6d 6d 65 6e 74 22 3e 2f 2f 2f 20 60 73 74 64 2e 73 74 61 72 74 60 20 69 6d 70 6f 72 74 73 20 omment">///.`std.start`.imports.
d5fc0 74 68 69 73 20 66 69 6c 65 20 75 73 69 6e 67 20 60 40 69 6d 70 6f 72 74 28 26 71 75 6f 74 3b 72 this.file.using.`@import(&quot;r
d5fe0 6f 6f 74 26 71 75 6f 74 3b 29 60 2c 20 61 6e 64 20 75 73 65 73 20 74 68 69 73 20 64 65 63 6c 61 oot&quot;)`,.and.uses.this.decla
d6000 72 61 74 69 6f 6e 20 61 73 20 74 68 65 20 70 72 6f 67 72 61 6d 27 73 3c 2f 73 70 61 6e 3e 0a 3c ration.as.the.program's</span>.<
d6020 73 70 61 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 75 73 65 span.class="tok-comment">///.use
d6040 72 2d 70 72 6f 76 69 64 65 64 20 65 6e 74 72 79 20 70 6f 69 6e 74 2e 20 49 74 20 63 61 6e 20 72 r-provided.entry.point..It.can.r
d6060 65 74 75 72 6e 20 61 6e 79 20 6f 66 20 74 68 65 20 66 6f 6c 6c 6f 77 69 6e 67 20 74 79 70 65 73 eturn.any.of.the.following.types
d6080 3a 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 63 6f 6d 6d 65 6e :</span>.<span.class="tok-commen
d60a0 74 22 3e 2f 2f 2f 20 2a 20 60 76 6f 69 64 60 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 t">///.*.`void`</span>.<span.cla
d60c0 73 73 3d 22 74 6f 6b 2d 63 6f 6d 6d 65 6e 74 22 3e 2f 2f 2f 20 2a 20 60 45 21 76 6f 69 64 60 2c ss="tok-comment">///.*.`E!void`,
d60e0 20 66 6f 72 20 61 6e 79 20 65 72 72 6f 72 20 73 65 74 20 60 45 60 3c 2f 73 70 61 6e 3e 0a 3c 73 .for.any.error.set.`E`</span>.<s
d6100 70 61 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 2a 20 60 75 pan.class="tok-comment">///.*.`u
d6120 38 60 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 63 6f 6d 6d 65 8`</span>.<span.class="tok-comme
d6140 6e 74 22 3e 2f 2f 2f 20 2a 20 60 45 21 75 38 60 2c 20 66 6f 72 20 61 6e 79 20 65 72 72 6f 72 20 nt">///.*.`E!u8`,.for.any.error.
d6160 73 65 74 20 60 45 60 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d set.`E`</span>.<span.class="tok-
d6180 63 6f 6d 6d 65 6e 74 22 3e 2f 2f 2f 20 52 65 74 75 72 6e 69 6e 67 20 61 20 60 76 6f 69 64 60 20 comment">///.Returning.a.`void`.
d61a0 76 61 6c 75 65 20 66 72 6f 6d 20 74 68 69 73 20 66 75 6e 63 74 69 6f 6e 20 77 69 6c 6c 20 65 78 value.from.this.function.will.ex
d61c0 69 74 20 77 69 74 68 20 63 6f 64 65 20 30 2e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 it.with.code.0.</span>.<span.cla
d61e0 73 73 3d 22 74 6f 6b 2d 63 6f 6d 6d 65 6e 74 22 3e 2f 2f 2f 20 52 65 74 75 72 6e 69 6e 67 20 61 ss="tok-comment">///.Returning.a
d6200 20 60 75 38 60 20 76 61 6c 75 65 20 66 72 6f 6d 20 74 68 69 73 20 66 75 6e 63 74 69 6f 6e 20 77 .`u8`.value.from.this.function.w
d6220 69 6c 6c 20 65 78 69 74 20 77 69 74 68 20 74 68 65 20 67 69 76 65 6e 20 73 74 61 74 75 73 20 63 ill.exit.with.the.given.status.c
d6240 6f 64 65 2e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 63 6f 6d ode.</span>.<span.class="tok-com
d6260 6d 65 6e 74 22 3e 2f 2f 2f 20 52 65 74 75 72 6e 69 6e 67 20 61 6e 20 65 72 72 6f 72 20 76 61 6c ment">///.Returning.an.error.val
d6280 75 65 20 66 72 6f 6d 20 74 68 69 73 20 66 75 6e 63 74 69 6f 6e 20 77 69 6c 6c 20 70 72 69 6e 74 ue.from.this.function.will.print
d62a0 20 61 6e 20 45 72 72 6f 72 20 52 65 74 75 72 6e 20 54 72 61 63 65 20 61 6e 64 20 65 78 69 74 20 .an.Error.Return.Trace.and.exit.
d62c0 77 69 74 68 20 63 6f 64 65 20 31 2e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d with.code.1.</span>.<span.class=
d62e0 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=
d6300 22 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="
d6320 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
d6340 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 76 6f 69 64 3c 2f 73 70 61 6e 3e 20 7b 0a 20 20 20 20 73 s="tok-type">void</span>.{.....s
d6360 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-
d6380 73 74 72 22 3e 26 71 75 6f 74 3b 48 65 6c 6c 6f 2c 20 57 6f 72 6c 64 21 5c 6e 26 71 75 6f 74 3b str">&quot;Hello,.World!\n&quot;
d63a0 3c 2f 73 70 61 6e 3e 2c 20 2e 7b 7d 29 3b 0a 7d 0a 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 </span>,..{});.}..<span.class="t
d63c0 6f 6b 2d 63 6f 6d 6d 65 6e 74 22 3e 2f 2f 20 49 66 20 75 6e 63 6f 6d 6d 65 6e 74 65 64 2c 20 74 ok-comment">//.If.uncommented,.t
d63e0 68 69 73 20 64 65 63 6c 61 72 61 74 69 6f 6e 20 77 6f 75 6c 64 20 73 75 70 70 72 65 73 73 20 74 his.declaration.would.suppress.t
d6400 68 65 20 75 73 75 61 6c 20 73 74 64 2e 73 74 61 72 74 20 6c 6f 67 69 63 2c 20 63 61 75 73 69 6e he.usual.std.start.logic,.causin
d6420 67 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 63 6f 6d 6d 65 6e g</span>.<span.class="tok-commen
d6440 74 22 3e 2f 2f 20 74 68 65 20 60 6d 61 69 6e 60 20 64 65 63 6c 61 72 61 74 69 6f 6e 20 61 62 6f t">//.the.`main`.declaration.abo
d6460 76 65 20 74 6f 20 62 65 20 69 67 6e 6f 72 65 64 2e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 ve.to.be.ignored.</span>.<span.c
d6480 6c 61 73 73 3d 22 74 6f 6b 2d 63 6f 6d 6d 65 6e 74 22 3e 2f 2f 70 75 62 20 63 6f 6e 73 74 20 5f lass="tok-comment">//pub.const._
d64a0 73 74 61 72 74 20 3d 20 7b 7d 3b 3c 2f 73 70 61 6e 3e 0a 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d start.=.{};</span>..<span.class=
d64c0 22 74 6f 6b 2d 6b 77 22 3e 63 6f 6e 73 74 3c 2f 73 70 61 6e 3e 20 73 74 64 20 3d 20 3c 73 70 61 "tok-kw">const</span>.std.=.<spa
d64e0 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
d6500 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
d6520 3b 73 74 64 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 29 3b 3c 2f 63 6f 64 65 3e 3c 2f 70 72 65 3e ;std&quot;</span>);</code></pre>
d6540 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
d6560 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
d6580 3e 3c 70 72 65 3e 3c 73 61 6d 70 3e 24 20 3c 6b 62 64 3e 7a 69 67 20 62 75 69 6c 64 2d 65 78 65 ><pre><samp>$.<kbd>zig.build-exe
d65a0 20 65 6e 74 72 79 5f 70 6f 69 6e 74 2e 7a 69 67 3c 2f 6b 62 64 3e 0a 24 20 3c 6b 62 64 3e 2e 2f .entry_point.zig</kbd>.$.<kbd>./
d65c0 65 6e 74 72 79 5f 70 6f 69 6e 74 3c 2f 6b 62 64 3e 0a 48 65 6c 6c 6f 2c 20 57 6f 72 6c 64 21 0a entry_point</kbd>.Hello,.World!.
d65e0 3c 2f 73 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>
d6600 0a 20 20 20 20 20 20 49 66 20 74 68 65 20 5a 69 67 20 63 6f 6d 70 69 6c 61 74 69 6f 6e 20 6c 69 .......If.the.Zig.compilation.li
d6620 6e 6b 73 20 6c 69 62 63 2c 20 74 68 65 20 3c 63 6f 64 65 3e 6d 61 69 6e 3c 2f 63 6f 64 65 3e 20 nks.libc,.the.<code>main</code>.
d6640 66 75 6e 63 74 69 6f 6e 20 63 61 6e 20 6f 70 74 69 6f 6e 61 6c 6c 79 20 62 65 20 61 6e 0a 20 20 function.can.optionally.be.an...
d6660 20 20 20 20 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 65 ....<code><span.class="tok-kw">e
d6680 78 70 6f 72 74 3c 2f 73 70 61 6e 3e 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 xport</span>.<span.class="tok-kw
d66a0 22 3e 66 6e 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 20 77 68 69 63 68 20 6d 61 74 63 68 65 73 ">fn</span></code>.which.matches
d66c0 20 74 68 65 20 73 69 67 6e 61 74 75 72 65 20 6f 66 20 74 68 65 20 43 20 3c 63 6f 64 65 3e 6d 61 .the.signature.of.the.C.<code>ma
d66e0 69 6e 3c 2f 63 6f 64 65 3e 20 66 75 6e 63 74 69 6f 6e 3a 0a 20 20 20 20 20 20 3c 2f 70 3e 0a 20 in</code>.function:.......</p>..
d6700 20 20 20 20 20 3c 66 69 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="
d6720 7a 69 67 2d 63 61 70 22 3e 3c 63 69 74 65 20 63 6c 61 73 73 3d 22 66 69 6c 65 22 3e 6c 69 62 63 zig-cap"><cite.class="file">libc
d6740 5f 65 78 70 6f 72 74 5f 65 6e 74 72 79 5f 70 6f 69 6e 74 2e 7a 69 67 3c 2f 63 69 74 65 3e 3c 2f _export_entry_point.zig</cite></
d6760 66 69 67 63 61 70 74 69 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
d6780 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
d67a0 73 3d 22 74 6f 6b 2d 6b 77 22 3e 65 78 70 6f 72 74 3c 2f 73 70 61 6e 3e 20 3c 73 70 61 6e 20 63 s="tok-kw">export</span>.<span.c
d67c0 6c 61 73 73 3d 22 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
d67e0 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 61 72 67 63 3a 20 3c ass="tok-fn">main</span>(argc:.<
d6800 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
d6820 6e 3e 2c 20 61 72 67 76 3a 20 5b 2a 5d 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 n>,.argv:.[*]<span.class="tok-kw
d6840 22 3e 63 6f 6e 73 74 3c 2f 73 70 61 6e 3e 20 5b 2a 3a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 ">const</span>.[*:<span.class="t
d6860 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 61 73 73 3d ok-number">0</span>]<span.class=
d6880 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
d68a0 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
d68c0 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 7b 0a 20 20 ass="tok-type">c_int</span>.{...
d68e0 20 20 3c 73 70 61 6e 20 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
d6900 61 6e 3e 20 61 72 67 73 20 3d 20 61 72 67 76 5b 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b an>.args.=.argv[<span.class="tok
d6920 2d 6e 75 6d 62 65 72 22 3e 30 3c 2f 73 70 61 6e 3e 2e 2e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 -number">0</span>..<span.class="
d6940 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 61 72 67 tok-builtin">@intCast</span>(arg
d6960 63 29 5d 3b 0a 20 20 20 20 73 74 64 2e 64 65 62 75 67 2e 70 72 69 6e 74 28 3c 73 70 61 6e 20 63 c)];.....std.debug.print(<span.c
d6980 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 21 20 61 72 67 76 lass="tok-str">&quot;Hello!.argv
d69a0 5b 30 5d 20 69 73 20 27 7b 73 7d 27 5c 6e 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 2c 20 2e 7b 61 [0].is.'{s}'\n&quot;</span>,..{a
d69c0 72 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 rgs[<span.class="tok-number">0</
d69e0 73 70 61 6e 3e 5d 7d 29 3b 0a 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b span>]});.....<span.class="tok-k
d6a00 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
d6a20 6b 2d 6e 75 6d 62 65 72 22 3e 30 3c 2f 73 70 61 6e 3e 3b 0a 7d 0a 0a 3c 73 70 61 6e 20 63 6c 61 k-number">0</span>;.}..<span.cla
d6a40 73 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.=.<
d6a60 73 70 61 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
d6a80 3c 2f 73 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
d6aa0 75 6f 74 3b 73 74 64 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 29 3b 3c 2f 63 6f 64 65 3e 3c 2f 70 uot;std&quot;</span>);</code></p
d6ac0 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.
d6ae0 63 6c 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
d6b00 69 6f 6e 3e 3c 70 72 65 3e 3c 73 61 6d 70 3e 24 20 3c 6b 62 64 3e 7a 69 67 20 62 75 69 6c 64 2d ion><pre><samp>$.<kbd>zig.build-
d6b20 65 78 65 20 6c 69 62 63 5f 65 78 70 6f 72 74 5f 65 6e 74 72 79 5f 70 6f 69 6e 74 2e 7a 69 67 20 exe.libc_export_entry_point.zig.
d6b40 2d 6c 63 3c 2f 6b 62 64 3e 0a 24 20 3c 6b 62 64 3e 2e 2f 6c 69 62 63 5f 65 78 70 6f 72 74 5f 65 -lc</kbd>.$.<kbd>./libc_export_e
d6b60 6e 74 72 79 5f 70 6f 69 6e 74 3c 2f 6b 62 64 3e 0a 48 65 6c 6c 6f 21 20 61 72 67 76 5b 30 5d 20 ntry_point</kbd>.Hello!.argv[0].
d6b80 69 73 20 27 2e 2f 6c 69 62 63 5f 65 78 70 6f 72 74 5f 65 6e 74 72 79 5f 70 6f 69 6e 74 27 0a 3c is.'./libc_export_entry_point'.<
d6ba0 2f 73 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>.
d6bc0 20 20 20 20 20 20 3c 63 6f 64 65 3e 73 74 64 2e 73 74 61 72 74 3c 2f 63 6f 64 65 3e 20 6d 61 79 ......<code>std.start</code>.may
d6be0 20 61 6c 73 6f 20 75 73 65 20 6f 74 68 65 72 20 65 6e 74 72 79 20 70 6f 69 6e 74 20 64 65 63 6c .also.use.other.entry.point.decl
d6c00 61 72 61 74 69 6f 6e 73 20 69 6e 20 63 65 72 74 61 69 6e 20 73 69 74 75 61 74 69 6f 6e 73 2c 20 arations.in.certain.situations,.
d6c20 73 75 63 68 0a 20 20 20 20 20 20 61 73 20 3c 63 6f 64 65 3e 77 57 69 6e 4d 61 69 6e 3c 2f 63 6f such.......as.<code>wWinMain</co
d6c40 64 65 3e 20 6f 72 20 3c 63 6f 64 65 3e 45 66 69 4d 61 69 6e 3c 2f 63 6f 64 65 3e 2e 20 52 65 66 de>.or.<code>EfiMain</code>..Ref
d6c60 65 72 20 74 6f 20 74 68 65 0a 20 20 20 20 20 20 3c 63 6f 64 65 3e 6c 69 62 2f 73 74 64 2f 73 74 er.to.the.......<code>lib/std/st
d6c80 61 72 74 2e 7a 69 67 3c 2f 63 6f 64 65 3e 20 6c 6f 67 69 63 20 66 6f 72 20 64 65 74 61 69 6c 73 art.zig</code>.logic.for.details
d6ca0 20 6f 66 20 74 68 65 73 65 20 64 65 63 6c 61 72 61 74 69 6f 6e 73 2e 0a 20 20 20 20 20 20 3c 2f .of.these.declarations........</
d6cc0 70 3e 0a 20 20 20 20 20 20 0a 20 20 20 20 20 20 3c 68 34 20 69 64 3d 22 53 74 61 6e 64 61 72 64 p>..............<h4.id="Standard
d6ce0 2d 4c 69 62 72 61 72 79 2d 4f 70 74 69 6f 6e 73 22 3e 3c 61 20 68 72 65 66 3d 22 6e 61 76 2e 78 -Library-Options"><a.href="nav.x
d6d00 68 74 6d 6c 23 74 6f 63 2d 53 74 61 6e 64 61 72 64 2d 4c 69 62 72 61 72 79 2d 4f 70 74 69 6f 6e html#toc-Standard-Library-Option
d6d20 73 22 3e 53 74 61 6e 64 61 72 64 20 4c 69 62 72 61 72 79 20 4f 70 74 69 6f 6e 73 3c 2f 61 3e 20 s">Standard.Library.Options</a>.
d6d40 3c 61 20 63 6c 61 73 73 3d 22 68 64 72 22 20 68 72 65 66 3d 22 23 53 74 61 6e 64 61 72 64 2d 4c <a.class="hdr".href="#Standard-L
d6d60 69 62 72 61 72 79 2d 4f 70 74 69 6f 6e 73 22 3e c2 a7 3c 2f 61 3e 3c 2f 68 34 3e 0a 0a 20 20 20 ibrary-Options">..</a></h4>.....
d6d80 20 20 20 3c 70 3e 0a 20 20 20 20 20 20 54 68 65 20 73 74 61 6e 64 61 72 64 20 6c 69 62 72 61 72 ...<p>.......The.standard.librar
d6da0 79 20 61 6c 73 6f 20 6c 6f 6f 6b 73 20 66 6f 72 20 61 20 64 65 63 6c 61 72 61 74 69 6f 6e 20 69 y.also.looks.for.a.declaration.i
d6dc0 6e 20 74 68 65 20 72 6f 6f 74 20 6d 6f 64 75 6c 65 27 73 20 72 6f 6f 74 20 73 6f 75 72 63 65 20 n.the.root.module's.root.source.
d6de0 66 69 6c 65 20 6e 61 6d 65 64 0a 20 20 20 20 20 20 3c 63 6f 64 65 3e 73 74 64 5f 6f 70 74 69 6f file.named.......<code>std_optio
d6e00 6e 73 3c 2f 63 6f 64 65 3e 2e 20 49 66 20 70 72 65 73 65 6e 74 2c 20 74 68 69 73 20 64 65 63 6c ns</code>..If.present,.this.decl
d6e20 61 72 61 74 69 6f 6e 20 69 73 20 65 78 70 65 63 74 65 64 20 74 6f 20 62 65 20 61 20 73 74 72 75 aration.is.expected.to.be.a.stru
d6e40 63 74 20 6f 66 20 74 79 70 65 0a 20 20 20 20 20 20 3c 63 6f 64 65 3e 73 74 64 2e 4f 70 74 69 6f ct.of.type.......<code>std.Optio
d6e60 6e 73 3c 2f 63 6f 64 65 3e 2c 20 61 6e 64 20 61 6c 6c 6f 77 73 20 74 68 65 20 70 72 6f 67 72 61 ns</code>,.and.allows.the.progra
d6e80 6d 20 74 6f 20 63 75 73 74 6f 6d 69 7a 65 20 73 6f 6d 65 20 73 74 61 6e 64 61 72 64 20 6c 69 62 m.to.customize.some.standard.lib
d6ea0 72 61 72 79 0a 20 20 20 20 20 20 66 75 6e 63 74 69 6f 6e 61 6c 69 74 79 2c 20 73 75 63 68 20 61 rary.......functionality,.such.a
d6ec0 73 20 74 68 65 20 3c 63 6f 64 65 3e 73 74 64 2e 6c 6f 67 3c 2f 63 6f 64 65 3e 20 69 6d 70 6c 65 s.the.<code>std.log</code>.imple
d6ee0 6d 65 6e 74 61 74 69 6f 6e 2e 0a 20 20 20 20 20 20 3c 2f 70 3e 0a 20 20 20 20 20 20 3c 66 69 67 mentation........</p>.......<fig
d6f00 75 72 65 3e 3c 66 69 67 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">
d6f20 3c 63 69 74 65 20 63 6c 61 73 73 3d 22 66 69 6c 65 22 3e 73 74 64 5f 6f 70 74 69 6f 6e 73 2e 7a <cite.class="file">std_options.z
d6f40 69 67 3c 2f 63 69 74 65 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
d6f60 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 63 6f 6d 6d 65 6e 74 22 3e 2f 2f 2f 20 54 ><span.class="tok-comment">///.T
d6f80 68 65 20 70 72 65 73 65 6e 63 65 20 6f 66 20 74 68 69 73 20 64 65 63 6c 61 72 61 74 69 6f 6e 20 he.presence.of.this.declaration.
d6fa0 61 6c 6c 6f 77 73 20 74 68 65 20 70 72 6f 67 72 61 6d 20 74 6f 20 6f 76 65 72 72 69 64 65 20 63 allows.the.program.to.override.c
d6fc0 65 72 74 61 69 6e 20 62 65 68 61 76 69 6f 72 73 20 6f 66 20 74 68 65 20 73 74 61 6e 64 61 72 64 ertain.behaviors.of.the.standard
d6fe0 20 6c 69 62 72 61 72 79 2e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f .library.</span>.<span.class="to
d7000 6b 2d 63 6f 6d 6d 65 6e 74 22 3e 2f 2f 2f 20 46 6f 72 20 61 20 66 75 6c 6c 20 6c 69 73 74 20 6f k-comment">///.For.a.full.list.o
d7020 66 20 61 76 61 69 6c 61 62 6c 65 20 6f 70 74 69 6f 6e 73 2c 20 73 65 65 20 74 68 65 20 64 6f 63 f.available.options,.see.the.doc
d7040 75 6d 65 6e 74 61 74 69 6f 6e 20 66 6f 72 20 60 73 74 64 2e 4f 70 74 69 6f 6e 73 60 2e 3c 2f 73 umentation.for.`std.Options`.</s
d7060 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 70 75 62 3c 2f 73 pan>.<span.class="tok-kw">pub</s
d7080 70 61 6e 3e 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 63 6f 6e 73 74 3c pan>.<span.class="tok-kw">const<
d70a0 2f 73 70 61 6e 3e 20 73 74 64 5f 6f 70 74 69 6f 6e 73 3a 20 73 74 64 2e 4f 70 74 69 6f 6e 73 20 /span>.std_options:.std.Options.
d70c0 3d 20 2e 7b 0a 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 63 6f 6d 6d 65 6e =..{.....<span.class="tok-commen
d70e0 74 22 3e 2f 2f 20 42 79 20 64 65 66 61 75 6c 74 2c 20 69 6e 20 73 61 66 65 20 62 75 69 6c 64 20 t">//.By.default,.in.safe.build.
d7100 6d 6f 64 65 73 2c 20 74 68 65 20 73 74 61 6e 64 61 72 64 20 6c 69 62 72 61 72 79 20 77 69 6c 6c modes,.the.standard.library.will
d7120 20 61 74 74 61 63 68 20 61 20 73 65 67 66 61 75 6c 74 20 68 61 6e 64 6c 65 72 20 74 6f 20 74 68 .attach.a.segfault.handler.to.th
d7140 65 20 70 72 6f 67 72 61 6d 20 74 6f 3c 2f 73 70 61 6e 3e 0a 20 20 20 20 3c 73 70 61 6e 20 63 6c e.program.to</span>.....<span.cl
d7160 61 73 73 3d 22 74 6f 6b 2d 63 6f 6d 6d 65 6e 74 22 3e 2f 2f 20 70 72 69 6e 74 20 61 20 68 65 6c ass="tok-comment">//.print.a.hel
d7180 70 66 75 6c 20 73 74 61 63 6b 20 74 72 61 63 65 20 69 66 20 61 20 73 65 67 6d 65 6e 74 61 74 69 pful.stack.trace.if.a.segmentati
d71a0 6f 6e 20 66 61 75 6c 74 20 6f 63 63 75 72 73 2e 20 48 65 72 65 2c 20 77 65 20 63 61 6e 20 64 69 on.fault.occurs..Here,.we.can.di
d71c0 73 61 62 6c 65 20 74 68 69 73 2c 20 6f 72 20 65 76 65 6e 20 65 6e 61 62 6c 65 3c 2f 73 70 61 6e sable.this,.or.even.enable</span
d71e0 3e 0a 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 63 6f 6d 6d 65 6e 74 22 3e >.....<span.class="tok-comment">
d7200 2f 2f 20 69 74 20 69 6e 20 75 6e 73 61 66 65 20 62 75 69 6c 64 20 6d 6f 64 65 73 2e 3c 2f 73 70 //.it.in.unsafe.build.modes.</sp
d7220 61 6e 3e 0a 20 20 20 20 2e 65 6e 61 62 6c 65 5f 73 65 67 66 61 75 6c 74 5f 68 61 6e 64 6c 65 72 an>......enable_segfault_handler
d7240 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 3c 2f .=.<span.class="tok-null">true</
d7260 73 70 61 6e 3e 2c 0a 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 63 6f 6d 6d span>,.....<span.class="tok-comm
d7280 65 6e 74 22 3e 2f 2f 20 54 68 69 73 20 69 73 20 74 68 65 20 6c 6f 67 67 69 6e 67 20 66 75 6e 63 ent">//.This.is.the.logging.func
d72a0 74 69 6f 6e 20 75 73 65 64 20 62 79 20 60 73 74 64 2e 6c 6f 67 60 2e 3c 2f 73 70 61 6e 3e 0a 20 tion.used.by.`std.log`.</span>..
d72c0 20 20 20 2e 6c 6f 67 46 6e 20 3d 20 6d 79 4c 6f 67 46 6e 2c 0a 7d 3b 0a 0a 3c 73 70 61 6e 20 63 ....logFn.=.myLogFn,.};..<span.c
d72e0 6c 61 73 73 3d 22 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
d7300 61 73 73 3d 22 74 6f 6b 2d 66 6e 22 3e 6d 79 4c 6f 67 46 6e 3c 2f 73 70 61 6e 3e 28 0a 20 20 20 ass="tok-fn">myLogFn</span>(....
d7320 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</
d7340 73 70 61 6e 3e 20 6c 65 76 65 6c 3a 20 73 74 64 2e 6c 6f 67 2e 4c 65 76 65 6c 2c 0a 20 20 20 20 span>.level:.std.log.Level,.....
d7360 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
d7380 70 61 6e 3e 20 73 63 6f 70 65 3a 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 62 75 69 pan>.scope:.<span.class="tok-bui
d73a0 6c 74 69 6e 22 3e 40 45 6e 75 6d 4c 69 74 65 72 61 6c 3c 2f 73 70 61 6e 3e 28 29 2c 0a 20 20 20 ltin">@EnumLiteral</span>(),....
d73c0 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</
d73e0 73 70 61 6e 3e 20 66 6f 72 6d 61 74 3a 20 5b 5d 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b span>.format:.[]<span.class="tok
d7400 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
d7420 6f 6b 2d 74 79 70 65 22 3e 75 38 3c 2f 73 70 61 6e 3e 2c 0a 20 20 20 20 61 72 67 73 3a 20 3c 73 ok-type">u8</span>,.....args:.<s
d7440 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
d7460 3e 2c 0a 29 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 76 6f 69 64 >,.).<span.class="tok-type">void
d7480 3c 2f 73 70 61 6e 3e 20 7b 0a 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 63 </span>.{.....<span.class="tok-c
d74a0 6f 6d 6d 65 6e 74 22 3e 2f 2f 20 57 65 20 63 6f 75 6c 64 20 64 6f 20 61 6e 79 74 68 69 6e 67 20 omment">//.We.could.do.anything.
d74c0 77 65 20 77 61 6e 74 20 68 65 72 65 21 3c 2f 73 70 61 6e 3e 0a 20 20 20 20 3c 73 70 61 6e 20 63 we.want.here!</span>.....<span.c
d74e0 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 62 75 74 20 61 63 74 lass="tok-comment">//....but.act
d7500 75 61 6c 6c 79 2c 20 6c 65 74 27 73 20 6a 75 73 74 20 63 61 6c 6c 20 74 68 65 20 64 65 66 61 75 ually,.let's.just.call.the.defau
d7520 6c 74 20 69 6d 70 6c 65 6d 65 6e 74 61 74 69 6f 6e 2e 3c 2f 73 70 61 6e 3e 0a 20 20 20 20 73 74 lt.implementation.</span>.....st
d7540 64 2e 6c 6f 67 2e 64 65 66 61 75 6c 74 4c 6f 67 28 6c 65 76 65 6c 2c 20 73 63 6f 70 65 2c 20 66 d.log.defaultLog(level,.scope,.f
d7560 6f 72 6d 61 74 2c 20 61 72 67 73 29 3b 0a 7d 0a 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f ormat,.args);.}..<span.class="to
d7580 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
d75a0 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
d75c0 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
d75e0 64 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 29 3b 3c 2f 63 6f 64 65 3e 3c 2f 70 72 65 3e 3c 2f 66 d&quot;</span>);</code></pre></f
d7600 69 67 75 72 65 3e 0a 20 20 20 20 20 20 0a 20 20 20 20 20 20 3c 68 34 20 69 64 3d 22 50 61 6e 69 igure>..............<h4.id="Pani
d7620 63 2d 48 61 6e 64 6c 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 c-Handler"><a.href="nav.xhtml#to
d7640 63 2d 50 61 6e 69 63 2d 48 61 6e 64 6c 65 72 22 3e 50 61 6e 69 63 20 48 61 6e 64 6c 65 72 3c 2f c-Panic-Handler">Panic.Handler</
d7660 61 3e 20 3c 61 20 63 6c 61 73 73 3d 22 68 64 72 22 20 68 72 65 66 3d 22 23 50 61 6e 69 63 2d 48 a>.<a.class="hdr".href="#Panic-H
d7680 61 6e 64 6c 65 72 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 andler">..</a></h4>........<p>..
d76a0 20 20 20 20 20 54 68 65 20 5a 69 67 20 53 74 61 6e 64 61 72 64 20 4c 69 62 72 61 72 79 20 6c 6f .....The.Zig.Standard.Library.lo
d76c0 6f 6b 73 20 66 6f 72 20 61 20 64 65 63 6c 61 72 61 74 69 6f 6e 20 6e 61 6d 65 64 20 3c 63 6f 64 oks.for.a.declaration.named.<cod
d76e0 65 3e 70 61 6e 69 63 3c 2f 63 6f 64 65 3e 20 69 6e 20 74 68 65 20 72 6f 6f 74 20 6d 6f 64 75 6c e>panic</code>.in.the.root.modul
d7700 65 27 73 0a 20 20 20 20 20 20 72 6f 6f 74 20 73 6f 75 72 63 65 20 66 69 6c 65 2e 20 49 66 20 70 e's.......root.source.file..If.p
d7720 72 65 73 65 6e 74 2c 20 69 74 20 69 73 20 65 78 70 65 63 74 65 64 20 74 6f 20 62 65 20 61 20 3c resent,.it.is.expected.to.be.a.<
d7740 61 20 68 72 65 66 3d 22 23 4e 61 6d 65 73 70 61 63 65 22 3e 4e 61 6d 65 73 70 61 63 65 3c 2f 61 a.href="#Namespace">Namespace</a
d7760 3e 20 77 69 74 68 20 64 65 63 6c 61 72 61 74 69 6f 6e 73 0a 20 20 20 20 20 20 70 72 6f 76 69 64 >.with.declarations.......provid
d7780 69 6e 67 20 64 69 66 66 65 72 65 6e 74 20 70 61 6e 69 63 20 68 61 6e 64 6c 65 72 73 2e 0a 20 20 ing.different.panic.handlers....
d77a0 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 65 65 20 3c 63 6f ....</p>.......<p>.......See.<co
d77c0 64 65 3e 73 74 64 2e 64 65 62 75 67 2e 73 69 6d 70 6c 65 5f 70 61 6e 69 63 3c 2f 63 6f 64 65 3e de>std.debug.simple_panic</code>
d77e0 20 66 6f 72 20 61 20 62 61 73 69 63 20 69 6d 70 6c 65 6d 65 6e 74 61 74 69 6f 6e 20 6f 66 20 74 .for.a.basic.implementation.of.t
d7800 68 69 73 20 6e 61 6d 65 73 70 61 63 65 2e 0a 20 20 20 20 20 20 3c 2f 70 3e 0a 20 20 20 20 20 20 his.namespace........</p>.......
d7820 3c 70 3e 0a 20 20 20 20 20 20 4f 76 65 72 72 69 64 69 6e 67 20 68 6f 77 20 74 68 65 20 70 61 6e <p>.......Overriding.how.the.pan
d7840 69 63 20 68 61 6e 64 6c 65 72 20 61 63 74 75 61 6c 6c 79 20 6f 75 74 70 75 74 73 20 6d 65 73 73 ic.handler.actually.outputs.mess
d7860 61 67 65 73 2c 20 62 75 74 20 6b 65 65 70 69 6e 67 20 74 68 65 20 66 6f 72 6d 61 74 74 65 64 20 ages,.but.keeping.the.formatted.
d7880 73 61 66 65 74 79 20 70 61 6e 69 63 73 0a 20 20 20 20 20 20 77 68 69 63 68 20 61 72 65 20 65 6e safety.panics.......which.are.en
d78a0 61 62 6c 65 64 20 62 79 20 64 65 66 61 75 6c 74 2c 20 63 61 6e 20 62 65 20 65 61 73 69 6c 79 20 abled.by.default,.can.be.easily.
d78c0 61 63 68 69 65 76 65 64 20 77 69 74 68 20 3c 63 6f 64 65 3e 73 74 64 2e 64 65 62 75 67 2e 46 75 achieved.with.<code>std.debug.Fu
d78e0 6c 6c 50 61 6e 69 63 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 llPanic</code>:.......</p>......
d7900 20 3c 66 69 67 75 72 65 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-
d7920 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 6e 69 63 5f 68 61 cap"><cite.class="file">panic_ha
d7940 6e 64 6c 65 72 2e 7a 69 67 3c 2f 63 69 74 65 3e 3c 2f 66 69 67 63 61 70 74 69 6f 6e 3e 3c 70 72 ndler.zig</cite></figcaption><pr
d7960 65 3e 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 70 75 62 e><code><span.class="tok-kw">pub
d7980 3c 2f 73 70 61 6e 3e 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 66 6e 3c </span>.<span.class="tok-kw">fn<
d79a0 2f 73 70 61 6e 3e 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 66 6e 22 3e 6d 61 69 6e /span>.<span.class="tok-fn">main
d79c0 3c 2f 73 70 61 6e 3e 28 29 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 </span>().<span.class="tok-type"
d79e0 3e 76 6f 69 64 3c 2f 73 70 61 6e 3e 20 7b 0a 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 >void</span>.{.....<span.class="
d7a00 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 2f tok-builtin">@setRuntimeSafety</
d7a20 73 70 61 6e 3e 28 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6c 6c 22 3e 74 72 75 span>(<span.class="tok-null">tru
d7a40 65 3c 2f 73 70 61 6e 3e 29 3b 0a 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d e</span>);.....<span.class="tok-
d7a60 6b 77 22 3e 76 61 72 3c 2f 73 70 61 6e 3e 20 78 3a 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 kw">var</span>.x:.<span.class="t
d7a80 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
d7aa0 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 32 35 35 3c 2f 73 70 61 6e 3e 3b 0a 20 20 20 20 3c 73 ="tok-number">255</span>;.....<s
d7ac0 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 63 6f 6d 6d 65 6e 74 22 3e 2f 2f 20 4c 65 74 27 73 pan.class="tok-comment">//.Let's
d7ae0 20 6f 76 65 72 66 6c 6f 77 20 74 68 69 73 20 69 6e 74 65 67 65 72 21 3c 2f 73 70 61 6e 3e 0a 20 .overflow.this.integer!</span>..
d7b00 20 20 20 78 20 2b 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 ...x.+=.<span.class="tok-number"
d7b20 3e 31 3c 2f 73 70 61 6e 3e 3b 0a 7d 0a 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b >1</span>;.}..<span.class="tok-k
d7b40 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
d7b60 77 22 3e 63 6f 6e 73 74 3c 2f 73 70 61 6e 3e 20 70 61 6e 69 63 20 3d 20 73 74 64 2e 64 65 62 75 w">const</span>.panic.=.std.debu
d7b80 67 2e 46 75 6c 6c 50 61 6e 69 63 28 6d 79 50 61 6e 69 63 29 3b 0a 0a 3c 73 70 61 6e 20 63 6c 61 g.FullPanic(myPanic);..<span.cla
d7ba0 73 73 3d 22 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
d7bc0 73 3d 22 74 6f 6b 2d 66 6e 22 3e 6d 79 50 61 6e 69 63 3c 2f 73 70 61 6e 3e 28 6d 73 67 3a 20 5b s="tok-fn">myPanic</span>(msg:.[
d7be0 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
d7c00 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
d7c20 61 6e 3e 2c 20 66 69 72 73 74 5f 74 72 61 63 65 5f 61 64 64 72 3a 20 3f 3c 73 70 61 6e 20 63 6c an>,.first_trace_addr:.?<span.cl
d7c40 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 70 ass="tok-type">usize</span>).<sp
d7c60 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 6e 6f 72 65 74 75 72 6e 3c 2f 73 70 an.class="tok-type">noreturn</sp
d7c80 61 6e 3e 20 7b 0a 20 20 20 20 5f 20 3d 20 66 69 72 73 74 5f 74 72 61 63 65 5f 61 64 64 72 3b 0a an>.{....._.=.first_trace_addr;.
d7ca0 20 20 20 20 73 74 64 2e 64 65 62 75 67 2e 70 72 69 6e 74 28 3c 73 70 61 6e 20 63 6c 61 73 73 3d ....std.debug.print(<span.class=
d7cc0 22 74 6f 6b 2d 73 74 72 22 3e 26 71 75 6f 74 3b 50 61 6e 69 63 21 20 7b 73 7d 5c 6e 26 71 75 6f "tok-str">&quot;Panic!.{s}\n&quo
d7ce0 74 3b 3c 2f 73 70 61 6e 3e 2c 20 2e 7b 6d 73 67 7d 29 3b 0a 20 20 20 20 73 74 64 2e 70 72 6f 63 t;</span>,..{msg});.....std.proc
d7d00 65 73 73 2e 65 78 69 74 28 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 ess.exit(<span.class="tok-number
d7d20 22 3e 31 3c 2f 73 70 61 6e 3e 29 3b 0a 7d 0a 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b ">1</span>);.}..<span.class="tok
d7d40 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
d7d60 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>
d7d80 28 3c 73 70 61 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
d7da0 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 29 3b 3c 2f 63 6f 64 65 3e 3c 2f 70 72 65 3e 3c 2f 66 69 &quot;</span>);</code></pre></fi
d7dc0 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="
d7de0 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
d7e00 65 3e 3c 73 61 6d 70 3e 24 20 3c 6b 62 64 3e 7a 69 67 20 62 75 69 6c 64 2d 65 78 65 20 70 61 6e e><samp>$.<kbd>zig.build-exe.pan
d7e20 69 63 5f 68 61 6e 64 6c 65 72 2e 7a 69 67 3c 2f 6b 62 64 3e 0a 24 20 3c 6b 62 64 3e 2e 2f 70 61 ic_handler.zig</kbd>.$.<kbd>./pa
d7e40 6e 69 63 5f 68 61 6e 64 6c 65 72 3c 2f 6b 62 64 3e 0a 50 61 6e 69 63 21 20 69 6e 74 65 67 65 72 nic_handler</kbd>.Panic!.integer
d7e60 20 6f 76 65 72 66 6c 6f 77 0a 3c 2f 73 61 6d 70 3e 3c 2f 70 72 65 3e 3c 2f 66 69 67 75 72 65 3e .overflow.</samp></pre></figure>
d7e80 0a 20 20 20 20 20 20 0a 20 20 20 20 20 20 0a 20 20 20 20 20 20 0a 20 20 20 20 20 20 3c 68 32 20 ............................<h2.
d7ea0 69 64 3d 22 5a 69 67 2d 42 75 69 6c 64 2d 53 79 73 74 65 6d 22 3e 3c 61 20 68 72 65 66 3d 22 6e id="Zig-Build-System"><a.href="n
d7ec0 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 65 6d 22 3e 5a av.xhtml#toc-Zig-Build-System">Z
d7ee0 69 67 20 42 75 69 6c 64 20 53 79 73 74 65 6d 3c 2f 61 3e 20 3c 61 20 63 6c 61 73 73 3d 22 68 64 ig.Build.System</a>.<a.class="hd
d7f00 72 22 20 68 72 65 66 3d 22 23 5a 69 67 2d 42 75 69 6c 64 2d 53 79 73 74 65 6d 22 3e c2 a7 3c 2f r".href="#Zig-Build-System">..</
d7f20 61 3e 3c 2f 68 32 3e 0a 0a 20 20 20 20 20 20 3c 70 3e 0a 20 20 20 20 20 20 54 68 65 20 5a 69 67 a></h2>........<p>.......The.Zig
d7f40 20 42 75 69 6c 64 20 53 79 73 74 65 6d 20 70 72 6f 76 69 64 65 73 20 61 20 63 72 6f 73 73 2d 70 .Build.System.provides.a.cross-p
d7f60 6c 61 74 66 6f 72 6d 2c 20 64 65 70 65 6e 64 65 6e 63 79 2d 66 72 65 65 20 77 61 79 20 74 6f 20 latform,.dependency-free.way.to.
d7f80 64 65 63 6c 61 72 65 0a 20 20 20 20 20 20 74 68 65 20 6c 6f 67 69 63 20 72 65 71 75 69 72 65 64 declare.......the.logic.required
d7fa0 20 74 6f 20 62 75 69 6c 64 20 61 20 70 72 6f 6a 65 63 74 2e 20 57 69 74 68 20 74 68 69 73 20 73 .to.build.a.project..With.this.s
d7fc0 79 73 74 65 6d 2c 20 74 68 65 20 6c 6f 67 69 63 20 74 6f 20 62 75 69 6c 64 0a 20 20 20 20 20 20 ystem,.the.logic.to.build.......
d7fe0 61 20 70 72 6f 6a 65 63 74 20 69 73 20 77 72 69 74 74 65 6e 20 69 6e 20 61 20 62 75 69 6c 64 2e a.project.is.written.in.a.build.
d8000 7a 69 67 20 66 69 6c 65 2c 20 75 73 69 6e 67 20 74 68 65 20 5a 69 67 20 42 75 69 6c 64 20 53 79 zig.file,.using.the.Zig.Build.Sy
d8020 73 74 65 6d 20 41 50 49 20 74 6f 0a 20 20 20 20 20 20 64 65 63 6c 61 72 65 20 61 6e 64 20 63 6f stem.API.to.......declare.and.co
d8040 6e 66 69 67 75 72 65 20 62 75 69 6c 64 20 61 72 74 69 66 61 63 74 73 20 61 6e 64 20 6f 74 68 65 nfigure.build.artifacts.and.othe
d8060 72 20 74 61 73 6b 73 2e 0a 20 20 20 20 20 20 3c 2f 70 3e 0a 20 20 20 20 20 20 3c 70 3e 0a 20 20 r.tasks........</p>.......<p>...
d8080 20 20 20 20 53 6f 6d 65 20 65 78 61 6d 70 6c 65 73 20 6f 66 20 74 61 73 6b 73 20 74 68 65 20 62 ....Some.examples.of.tasks.the.b
d80a0 75 69 6c 64 20 73 79 73 74 65 6d 20 63 61 6e 20 68 65 6c 70 20 77 69 74 68 3a 0a 20 20 20 20 20 uild.system.can.help.with:......
d80c0 20 3c 2f 70 3e 0a 20 20 20 20 20 20 3c 75 6c 3e 0a 20 20 20 20 20 20 20 20 3c 6c 69 3e 50 65 72 .</p>.......<ul>.........<li>Per
d80e0 66 6f 72 6d 69 6e 67 20 74 61 73 6b 73 20 69 6e 20 70 61 72 61 6c 6c 65 6c 20 61 6e 64 20 63 61 forming.tasks.in.parallel.and.ca
d8100 63 68 69 6e 67 20 74 68 65 20 72 65 73 75 6c 74 73 2e 3c 2f 6c 69 3e 0a 20 20 20 20 20 20 20 20 ching.the.results.</li>.........
d8120 3c 6c 69 3e 44 65 70 65 6e 64 69 6e 67 20 6f 6e 20 6f 74 68 65 72 20 70 72 6f 6a 65 63 74 73 2e <li>Depending.on.other.projects.
d8140 3c 2f 6c 69 3e 0a 20 20 20 20 20 20 20 20 3c 6c 69 3e 50 72 6f 76 69 64 69 6e 67 20 61 20 70 61 </li>.........<li>Providing.a.pa
d8160 63 6b 61 67 65 20 66 6f 72 20 6f 74 68 65 72 20 70 72 6f 6a 65 63 74 73 20 74 6f 20 64 65 70 65 ckage.for.other.projects.to.depe
d8180 6e 64 20 6f 6e 2e 3c 2f 6c 69 3e 0a 20 20 20 20 20 20 20 20 3c 6c 69 3e 43 72 65 61 74 69 6e 67 nd.on.</li>.........<li>Creating
d81a0 20 62 75 69 6c 64 20 61 72 74 69 66 61 63 74 73 20 62 79 20 65 78 65 63 75 74 69 6e 67 20 74 68 .build.artifacts.by.executing.th
d81c0 65 20 5a 69 67 20 63 6f 6d 70 69 6c 65 72 2e 20 54 68 69 73 20 69 6e 63 6c 75 64 65 73 0a 20 20 e.Zig.compiler..This.includes...
d81e0 20 20 20 20 20 20 20 20 62 75 69 6c 64 69 6e 67 20 5a 69 67 20 73 6f 75 72 63 65 20 63 6f 64 65 ........building.Zig.source.code
d8200 20 61 73 20 77 65 6c 6c 20 61 73 20 43 20 61 6e 64 20 43 2b 2b 20 73 6f 75 72 63 65 20 63 6f 64 .as.well.as.C.and.C++.source.cod
d8220 65 2e 3c 2f 6c 69 3e 0a 20 20 20 20 20 20 20 20 3c 6c 69 3e 43 61 70 74 75 72 69 6e 67 20 75 73 e.</li>.........<li>Capturing.us
d8240 65 72 2d 63 6f 6e 66 69 67 75 72 65 64 20 6f 70 74 69 6f 6e 73 20 61 6e 64 20 75 73 69 6e 67 20 er-configured.options.and.using.
d8260 74 68 6f 73 65 20 6f 70 74 69 6f 6e 73 20 74 6f 20 63 6f 6e 66 69 67 75 72 65 0a 20 20 20 20 20 those.options.to.configure......
d8280 20 20 20 20 20 74 68 65 20 62 75 69 6c 64 2e 3c 2f 6c 69 3e 0a 20 20 20 20 20 20 20 20 3c 6c 69 .....the.build.</li>.........<li
d82a0 3e 53 75 72 66 61 63 69 6e 67 20 62 75 69 6c 64 20 63 6f 6e 66 69 67 75 72 61 74 69 6f 6e 20 61 >Surfacing.build.configuration.a
d82c0 73 20 3c 61 20 68 72 65 66 3d 22 23 63 6f 6d 70 74 69 6d 65 22 3e 63 6f 6d 70 74 69 6d 65 3c 2f s.<a.href="#comptime">comptime</
d82e0 61 3e 20 76 61 6c 75 65 73 20 62 79 20 70 72 6f 76 69 64 69 6e 67 20 61 0a 20 20 20 20 20 20 20 a>.values.by.providing.a........
d8300 20 20 20 66 69 6c 65 20 74 68 61 74 20 63 61 6e 20 62 65 20 3c 61 20 68 72 65 66 3d 22 23 69 6d ...file.that.can.be.<a.href="#im
d8320 70 6f 72 74 22 3e 69 6d 70 6f 72 74 65 64 3c 2f 61 3e 20 62 79 20 5a 69 67 20 63 6f 64 65 2e 3c port">imported</a>.by.Zig.code.<
d8340 2f 6c 69 3e 0a 20 20 20 20 20 20 20 20 3c 6c 69 3e 43 61 63 68 69 6e 67 20 62 75 69 6c 64 20 61 /li>.........<li>Caching.build.a
d8360 72 74 69 66 61 63 74 73 20 74 6f 20 61 76 6f 69 64 20 75 6e 6e 65 63 65 73 73 61 72 69 6c 79 20 rtifacts.to.avoid.unnecessarily.
d8380 72 65 70 65 61 74 69 6e 67 20 73 74 65 70 73 2e 3c 2f 6c 69 3e 0a 20 20 20 20 20 20 20 20 3c 6c repeating.steps.</li>.........<l
d83a0 69 3e 45 78 65 63 75 74 69 6e 67 20 62 75 69 6c 64 20 61 72 74 69 66 61 63 74 73 20 6f 72 20 73 i>Executing.build.artifacts.or.s
d83c0 79 73 74 65 6d 2d 69 6e 73 74 61 6c 6c 65 64 20 74 6f 6f 6c 73 2e 3c 2f 6c 69 3e 0a 20 20 20 20 ystem-installed.tools.</li>.....
d83e0 20 20 20 20 3c 6c 69 3e 52 75 6e 6e 69 6e 67 20 74 65 73 74 73 20 61 6e 64 20 76 65 72 69 66 79 ....<li>Running.tests.and.verify
d8400 69 6e 67 20 74 68 65 20 6f 75 74 70 75 74 20 6f 66 20 65 78 65 63 75 74 69 6e 67 20 61 20 62 75 ing.the.output.of.executing.a.bu
d8420 69 6c 64 20 61 72 74 69 66 61 63 74 20 6d 61 74 63 68 65 73 0a 20 20 20 20 20 20 20 20 74 68 65 ild.artifact.matches.........the
d8440 20 65 78 70 65 63 74 65 64 20 76 61 6c 75 65 2e 3c 2f 6c 69 3e 0a 20 20 20 20 20 20 20 20 3c 6c .expected.value.</li>.........<l
d8460 69 3e 52 75 6e 6e 69 6e 67 20 3c 63 6f 64 65 3e 7a 69 67 20 66 6d 74 3c 2f 63 6f 64 65 3e 20 6f i>Running.<code>zig.fmt</code>.o
d8480 6e 20 61 20 63 6f 64 65 62 61 73 65 20 6f 72 20 61 20 73 75 62 73 65 74 20 6f 66 20 69 74 2e 3c n.a.codebase.or.a.subset.of.it.<
d84a0 2f 6c 69 3e 0a 20 20 20 20 20 20 20 20 3c 6c 69 3e 43 75 73 74 6f 6d 20 74 61 73 6b 73 2e 3c 2f /li>.........<li>Custom.tasks.</
d84c0 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>.......
d84e0 54 6f 20 75 73 65 20 74 68 65 20 62 75 69 6c 64 20 73 79 73 74 65 6d 2c 20 72 75 6e 20 3c 6b 62 To.use.the.build.system,.run.<kb
d8500 64 3e 7a 69 67 20 62 75 69 6c 64 20 2d 2d 68 65 6c 70 3c 2f 6b 62 64 3e 0a 20 20 20 20 20 20 74 d>zig.build.--help</kbd>.......t
d8520 6f 20 73 65 65 20 61 20 63 6f 6d 6d 61 6e 64 2d 6c 69 6e 65 20 75 73 61 67 65 20 68 65 6c 70 20 o.see.a.command-line.usage.help.
d8540 6d 65 6e 75 2e 20 54 68 69 73 20 77 69 6c 6c 20 69 6e 63 6c 75 64 65 20 70 72 6f 6a 65 63 74 2d menu..This.will.include.project-
d8560 73 70 65 63 69 66 69 63 0a 20 20 20 20 20 20 6f 70 74 69 6f 6e 73 20 74 68 61 74 20 77 65 72 65 specific.......options.that.were
d8580 20 64 65 63 6c 61 72 65 64 20 69 6e 20 74 68 65 20 62 75 69 6c 64 2e 7a 69 67 20 73 63 72 69 70 .declared.in.the.build.zig.scrip
d85a0 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 46 6f t........</p>.......<p>.......Fo
d85c0 72 20 74 68 65 20 74 69 6d 65 20 62 65 69 6e 67 2c 20 74 68 65 20 62 75 69 6c 64 20 73 79 73 74 r.the.time.being,.the.build.syst
d85e0 65 6d 20 64 6f 63 75 6d 65 6e 74 61 74 69 6f 6e 20 69 73 20 68 6f 73 74 65 64 20 65 78 74 65 72 em.documentation.is.hosted.exter
d8600 6e 61 6c 6c 79 3a 0a 20 20 20 20 20 20 3c 61 20 68 72 65 66 3d 22 68 74 74 70 73 3a 2f 2f 7a 69 nally:.......<a.href="https://zi
d8620 67 6c 61 6e 67 2e 6f 72 67 2f 6c 65 61 72 6e 2f 62 75 69 6c 64 2d 73 79 73 74 65 6d 2f 22 3e 42 glang.org/learn/build-system/">B
d8640 75 69 6c 64 20 53 79 73 74 65 6d 20 44 6f 63 75 6d 65 6e 74 61 74 69 6f 6e 3c 2f 61 3e 0a 20 20 uild.System.Documentation</a>...
d8660 20 20 20 20 3c 2f 70 3e 0a 20 20 20 20 20 20 0a 20 20 20 20 20 20 3c 68 32 20 69 64 3d 22 43 22 ....</p>..............<h2.id="C"
d8680 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 22 3e 43 3c 2f 61 3e ><a.href="nav.xhtml#toc-C">C</a>
d86a0 20 3c 61 20 63 6c 61 73 73 3d 22 68 64 72 22 20 68 72 65 66 3d 22 23 43 22 3e c2 a7 3c 2f 61 3e .<a.class="hdr".href="#C">..</a>
d86c0 3c 2f 68 32 3e 0a 0a 20 20 20 20 20 20 3c 70 3e 0a 20 20 20 20 20 20 41 6c 74 68 6f 75 67 68 20 </h2>........<p>.......Although.
d86e0 5a 69 67 20 69 73 20 69 6e 64 65 70 65 6e 64 65 6e 74 20 6f 66 20 43 2c 20 61 6e 64 2c 20 75 6e Zig.is.independent.of.C,.and,.un
d8700 6c 69 6b 65 20 6d 6f 73 74 20 6f 74 68 65 72 20 6c 61 6e 67 75 61 67 65 73 2c 20 64 6f 65 73 20 like.most.other.languages,.does.
d8720 6e 6f 74 20 64 65 70 65 6e 64 20 6f 6e 20 6c 69 62 63 2c 0a 20 20 20 20 20 20 5a 69 67 20 61 63 not.depend.on.libc,.......Zig.ac
d8740 6b 6e 6f 77 6c 65 64 67 65 73 20 74 68 65 20 69 6d 70 6f 72 74 61 6e 63 65 20 6f 66 20 69 6e 74 knowledges.the.importance.of.int
d8760 65 72 61 63 74 69 6e 67 20 77 69 74 68 20 65 78 69 73 74 69 6e 67 20 43 20 63 6f 64 65 2e 0a 20 eracting.with.existing.C.code...
d8780 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 72 65 20 .....</p>.......<p>.......There.
d87a0 61 72 65 20 61 20 66 65 77 20 77 61 79 73 20 74 68 61 74 20 5a 69 67 20 66 61 63 69 6c 69 74 61 are.a.few.ways.that.Zig.facilita
d87c0 74 65 73 20 43 20 69 6e 74 65 72 6f 70 2e 0a 20 20 20 20 20 20 3c 2f 70 3e 0a 20 20 20 20 20 20 tes.C.interop........</p>.......
d87e0 3c 68 33 20 69 64 3d 22 43 2d 54 79 70 65 2d 50 72 69 6d 69 74 69 76 65 73 22 3e 3c 61 20 68 72 <h3.id="C-Type-Primitives"><a.hr
d8800 65 66 3d 22 6e 61 76 2e 78 68 74 6d 6c 23 74 6f 63 2d 43 2d 54 79 70 65 2d 50 72 69 6d 69 74 69 ef="nav.xhtml#toc-C-Type-Primiti
d8820 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 20 3c 61 20 63 6c ves">C.Type.Primitives</a>.<a.cl
d8840 61 73 73 3d 22 68 64 72 22 20 68 72 65 66 3d 22 23 43 2d 54 79 70 65 2d 50 72 69 6d 69 74 69 76 ass="hdr".href="#C-Type-Primitiv
d8860 65 73 22 3e c2 a7 3c 2f 61 3e 3c 2f 68 33 3e 0a 0a 20 20 20 20 20 20 3c 70 3e 0a 20 20 20 20 20 es">..</a></h3>........<p>......
d8880 20 54 68 65 73 65 20 68 61 76 65 20 67 75 61 72 61 6e 74 65 65 64 20 43 20 41 42 49 20 63 6f 6d .These.have.guaranteed.C.ABI.com
d88a0 70 61 74 69 62 69 6c 69 74 79 20 61 6e 64 20 63 61 6e 20 62 65 20 75 73 65 64 20 6c 69 6b 65 20 patibility.and.can.be.used.like.
d88c0 61 6e 79 20 6f 74 68 65 72 20 74 79 70 65 2e 0a 20 20 20 20 20 20 3c 2f 70 3e 0a 20 20 20 20 20 any.other.type........</p>......
d88e0 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.
d8900 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 63 5f 63 68 61 72 3c 2f 73 70 61 6e 3e 3c 2f class="tok-type">c_char</span></
d8920 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><
d8940 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 63 5f 73 68 6f 72 74 3c 2f 73 span.class="tok-type">c_short</s
d8960 70 61 6e 3e 3c 2f 63 6f 64 65 3e 3c 2f 6c 69 3e 0a 20 20 20 20 20 20 20 20 20 20 3c 6c 69 3e 3c pan></code></li>...........<li><
d8980 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 63 5f 75 73 code><span.class="tok-type">c_us
d89a0 68 6f 72 74 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 3c 2f 6c 69 3e 0a 20 20 20 20 20 20 20 20 hort</span></code></li>.........
d89c0 20 20 3c 6c 69 3e 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 ..<li><code><span.class="tok-typ
d89e0 65 22 3e 63 5f 69 6e 74 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 3c 2f 6c 69 3e 0a 20 20 20 20 e">c_int</span></code></li>.....
d8a00 20 20 20 20 20 20 3c 6c 69 3e 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b ......<li><code><span.class="tok
d8a20 2d 74 79 70 65 22 3e 63 5f 75 69 6e 74 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 3c 2f 6c 69 3e -type">c_uint</span></code></li>
d8a40 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
d8a60 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 63 5f 6c 6f 6e 67 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e ="tok-type">c_long</span></code>
d8a80 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.
d8aa0 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 73 70 61 6e 3e 3c class="tok-type">c_ulong</span><
d8ac0 2f 63 6f 64 65 3e 3c 2f 6c 69 3e 0a 20 20 20 20 20 20 20 20 20 20 3c 6c 69 3e 3c 63 6f 64 65 3e /code></li>...........<li><code>
d8ae0 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
d8b00 67 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 3c 2f 6c 69 3e 0a 20 20 20 20 20 20 20 20 20 20 3c g</span></code></li>...........<
d8b20 6c 69 3e 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e li><code><span.class="tok-type">
d8b40 63 5f 75 6c 6f 6e 67 6c 6f 6e 67 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 3c 2f 6c 69 3e 0a 20 c_ulonglong</span></code></li>..
d8b60 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="
d8b80 74 6f 6b 2d 74 79 70 65 22 3e 63 5f 6c 6f 6e 67 64 6f 75 62 6c 65 3c 2f 73 70 61 6e 3e 3c 2f 63 tok-type">c_longdouble</span></c
d8ba0 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 0a ode></li>.......</ul>.......<p>.
d8bc0 20 20 20 20 20 20 54 6f 20 69 6e 74 65 72 6f 70 20 77 69 74 68 20 74 68 65 20 43 20 3c 63 6f 64 ......To.interop.with.the.C.<cod
d8be0 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 76 6f 69 64 3c 2f 73 e><span.class="tok-type">void</s
d8c00 70 61 6e 3e 3c 2f 63 6f 64 65 3e 20 74 79 70 65 2c 20 75 73 65 20 3c 63 6f 64 65 3e 3c 73 70 61 pan></code>.type,.use.<code><spa
d8c20 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 61 6e 79 6f 70 61 71 75 65 3c 2f 73 70 n.class="tok-type">anyopaque</sp
d8c40 61 6e 3e 3c 2f 63 6f 64 65 3e 2e 0a 20 20 20 20 20 20 3c 2f 70 3e 0a 20 20 20 20 20 20 3c 70 3e an></code>........</p>.......<p>
d8c60 53 65 65 20 61 6c 73 6f 3a 3c 2f 70 3e 3c 75 6c 3e 0a 3c 6c 69 3e 3c 61 20 68 72 65 66 3d 22 23 See.also:</p><ul>.<li><a.href="#
d8c80 50 72 69 6d 69 74 69 76 65 2d 54 79 70 65 73 22 3e 50 72 69 6d 69 74 69 76 65 20 54 79 70 65 73 Primitive-Types">Primitive.Types
d8ca0 3c 2f 61 3e 3c 2f 6c 69 3e 0a 3c 2f 75 6c 3e 0a 0a 20 20 20 20 20 20 0a 0a 20 20 20 20 20 20 3c </a></li>.</ul>................<
d8cc0 68 33 20 69 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 h3.id="C-Translation-CLI"><a.hre
d8ce0 66 3d 22 6e 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 f="nav.xhtml#toc-C-Translation-C
d8d00 4c 49 22 3e 43 20 54 72 61 6e 73 6c 61 74 69 6f 6e 20 43 4c 49 3c 2f 61 3e 20 3c 61 20 63 6c 61 LI">C.Translation.CLI</a>.<a.cla
d8d20 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 43 4c ss="hdr".href="#C-Translation-CL
d8d40 49 22 3e c2 a7 3c 2f 61 3e 3c 2f 68 33 3e 0a 0a 20 20 20 20 20 20 3c 70 3e 0a 20 20 20 20 20 20 I">..</a></h3>........<p>.......
d8d60 5a 69 67 27 73 20 43 20 74 72 61 6e 73 6c 61 74 69 6f 6e 20 63 61 70 61 62 69 6c 69 74 79 20 69 Zig's.C.translation.capability.i
d8d80 73 20 61 76 61 69 6c 61 62 6c 65 20 61 73 20 61 20 43 4c 49 20 74 6f 6f 6c 20 76 69 61 20 3c 6b s.available.as.a.CLI.tool.via.<k
d8da0 62 64 3e 7a 69 67 20 74 72 61 6e 73 6c 61 74 65 2d 63 3c 2f 6b 62 64 3e 2e 0a 20 20 20 20 20 20 bd>zig.translate-c</kbd>........
d8dc0 49 74 20 72 65 71 75 69 72 65 73 20 61 20 73 69 6e 67 6c 65 20 66 69 6c 65 6e 61 6d 65 20 61 73 It.requires.a.single.filename.as
d8de0 20 61 6e 20 61 72 67 75 6d 65 6e 74 2e 20 49 74 20 6d 61 79 20 61 6c 73 6f 20 74 61 6b 65 20 61 .an.argument..It.may.also.take.a
d8e00 20 73 65 74 20 6f 66 20 6f 70 74 69 6f 6e 61 6c 20 66 6c 61 67 73 20 74 68 61 74 20 61 72 65 0a .set.of.optional.flags.that.are.
d8e20 20 20 20 20 20 20 66 6f 72 77 61 72 64 65 64 20 74 6f 20 63 6c 61 6e 67 2e 20 49 74 20 77 72 69 ......forwarded.to.clang..It.wri
d8e40 74 65 73 20 74 68 65 20 74 72 61 6e 73 6c 61 74 65 64 20 66 69 6c 65 20 74 6f 20 73 74 64 6f 75 tes.the.translated.file.to.stdou
d8e60 74 2e 0a 20 20 20 20 20 20 3c 2f 70 3e 0a 20 20 20 20 20 20 3c 68 34 20 69 64 3d 22 43 6f 6d 6d t........</p>.......<h4.id="Comm
d8e80 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 6e 61 76 2e 78 68 74 and-line-flags"><a.href="nav.xht
d8ea0 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 22 3e 43 6f 6d 6d 61 ml#toc-Command-line-flags">Comma
d8ec0 6e 64 20 6c 69 6e 65 20 66 6c 61 67 73 3c 2f 61 3e 20 3c 61 20 63 6c 61 73 73 3d 22 68 64 72 22 nd.line.flags</a>.<a.class="hdr"
d8ee0 20 68 72 65 66 3d 22 23 43 6f 6d 6d 61 6e 64 2d 6c 69 6e 65 2d 66 6c 61 67 73 22 3e c2 a7 3c 2f .href="#Command-line-flags">..</
d8f00 61 3e 3c 2f 68 34 3e 0a 0a 20 20 20 20 20 20 3c 75 6c 3e 0a 20 20 20 20 20 20 20 20 3c 6c 69 3e a></h4>........<ul>.........<li>
d8f20 0a 20 20 20 20 20 20 20 20 20 20 3c 6b 62 64 3e 2d 49 3c 2f 6b 62 64 3e 3a 0a 20 20 20 20 20 20 ...........<kbd>-I</kbd>:.......
d8f40 20 20 20 20 53 70 65 63 69 66 79 20 61 20 73 65 61 72 63 68 20 64 69 72 65 63 74 6f 72 79 20 66 ....Specify.a.search.directory.f
d8f60 6f 72 20 69 6e 63 6c 75 64 65 20 66 69 6c 65 73 2e 20 4d 61 79 20 62 65 20 75 73 65 64 20 6d 75 or.include.files..May.be.used.mu
d8f80 6c 74 69 70 6c 65 20 74 69 6d 65 73 2e 20 45 71 75 69 76 61 6c 65 6e 74 20 74 6f 0a 20 20 20 20 ltiple.times..Equivalent.to.....
d8fa0 20 20 20 20 20 20 3c 61 20 68 72 65 66 3d 22 68 74 74 70 73 3a 2f 2f 72 65 6c 65 61 73 65 73 2e ......<a.href="https://releases.
d8fc0 6c 6c 76 6d 2e 6f 72 67 2f 31 32 2e 30 2e 30 2f 74 6f 6f 6c 73 2f 63 6c 61 6e 67 2f 64 6f 63 73 llvm.org/12.0.0/tools/clang/docs
d8fe0 2f 43 6c 61 6e 67 43 6f 6d 6d 61 6e 64 4c 69 6e 65 52 65 66 65 72 65 6e 63 65 2e 68 74 6d 6c 23 /ClangCommandLineReference.html#
d9000 63 6d 64 6f 70 74 69 6f 6e 2d 63 6c 61 6e 67 2d 69 2d 64 69 72 22 3e 0a 20 20 20 20 20 20 20 20 cmdoption-clang-i-dir">.........
d9020 20 20 63 6c 61 6e 67 27 73 20 3c 6b 62 64 3e 2d 49 3c 2f 6b 62 64 3e 20 66 6c 61 67 3c 2f 61 3e ..clang's.<kbd>-I</kbd>.flag</a>
d9040 2e 20 54 68 65 20 63 75 72 72 65 6e 74 20 64 69 72 65 63 74 6f 72 79 20 69 73 20 3c 65 6d 3e 6e ..The.current.directory.is.<em>n
d9060 6f 74 3c 2f 65 6d 3e 20 69 6e 63 6c 75 64 65 64 20 62 79 20 64 65 66 61 75 6c 74 3b 0a 20 20 20 ot</em>.included.by.default;....
d9080 20 20 20 20 20 20 20 75 73 65 20 3c 6b 62 64 3e 2d 49 2e 3c 2f 6b 62 64 3e 20 74 6f 20 69 6e 63 .......use.<kbd>-I.</kbd>.to.inc
d90a0 6c 75 64 65 20 69 74 2e 0a 20 20 20 20 20 20 20 20 3c 2f 6c 69 3e 0a 20 20 20 20 20 20 20 20 3c lude.it..........</li>.........<
d90c0 6c 69 3e 0a 20 20 20 20 20 20 20 20 20 20 3c 6b 62 64 3e 2d 44 3c 2f 6b 62 64 3e 3a 20 44 65 66 li>...........<kbd>-D</kbd>:.Def
d90e0 69 6e 65 20 61 20 70 72 65 70 72 6f 63 65 73 73 6f 72 20 6d 61 63 72 6f 2e 20 45 71 75 69 76 61 ine.a.preprocessor.macro..Equiva
d9100 6c 65 6e 74 20 74 6f 0a 20 20 20 20 20 20 20 20 20 20 3c 61 20 68 72 65 66 3d 22 68 74 74 70 73 lent.to...........<a.href="https
d9120 3a 2f 2f 72 65 6c 65 61 73 65 73 2e 6c 6c 76 6d 2e 6f 72 67 2f 31 32 2e 30 2e 30 2f 74 6f 6f 6c ://releases.llvm.org/12.0.0/tool
d9140 73 2f 63 6c 61 6e 67 2f 64 6f 63 73 2f 43 6c 61 6e 67 43 6f 6d 6d 61 6e 64 4c 69 6e 65 52 65 66 s/clang/docs/ClangCommandLineRef
d9160 65 72 65 6e 63 65 2e 68 74 6d 6c 23 63 6d 64 6f 70 74 69 6f 6e 2d 63 6c 61 6e 67 2d 64 2d 6d 61 erence.html#cmdoption-clang-d-ma
d9180 63 72 6f 22 3e 0a 20 20 20 20 20 20 20 20 20 20 63 6c 61 6e 67 27 73 20 3c 6b 62 64 3e 2d 44 3c cro">...........clang's.<kbd>-D<
d91a0 2f 6b 62 64 3e 20 66 6c 61 67 3c 2f 61 3e 2e 0a 20 20 20 20 20 20 20 20 3c 2f 6c 69 3e 0a 20 20 /kbd>.flag</a>..........</li>...
d91c0 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 63 66 6c 61 67 ......<li>...........<kbd>-cflag
d91e0 73 20 5b 66 6c 61 67 73 5d 20 2d 2d 3c 2f 6b 62 64 3e 3a 20 50 61 73 73 20 61 72 62 69 74 72 61 s.[flags].--</kbd>:.Pass.arbitra
d9200 72 79 20 61 64 64 69 74 69 6f 6e 61 6c 0a 20 20 20 20 20 20 20 20 20 20 3c 61 20 68 72 65 66 3d ry.additional...........<a.href=
d9220 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 2e "https://releases.llvm.org/12.0.
d9240 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 4c 0/tools/clang/docs/ClangCommandL
d9260 69 6e 65 52 65 66 65 72 65 6e 63 65 2e 68 74 6d 6c 22 3e 63 6f 6d 6d 61 6e 64 20 6c 69 6e 65 0a ineReference.html">command.line.
d9280 20 20 20 20 20 20 20 20 20 20 66 6c 61 67 73 3c 2f 61 3e 20 74 6f 20 63 6c 61 6e 67 2e 20 4e 6f ..........flags</a>.to.clang..No
d92a0 74 65 3a 20 74 68 65 20 6c 69 73 74 20 6f 66 20 66 6c 61 67 73 20 6d 75 73 74 20 65 6e 64 20 77 te:.the.list.of.flags.must.end.w
d92c0 69 74 68 20 3c 6b 62 64 3e 2d 2d 3c 2f 6b 62 64 3e 0a 20 20 20 20 20 20 20 20 3c 2f 6c 69 3e 0a ith.<kbd>--</kbd>.........</li>.
d92e0 20 20 20 20 20 20 20 20 3c 6c 69 3e 0a 20 20 20 20 20 20 20 20 20 20 3c 6b 62 64 3e 2d 74 61 72 ........<li>...........<kbd>-tar
d9300 67 65 74 3c 2f 6b 62 64 3e 3a 20 54 68 65 20 3c 61 20 68 72 65 66 3d 22 23 54 61 72 67 65 74 73 get</kbd>:.The.<a.href="#Targets
d9320 22 3e 74 61 72 67 65 74 20 74 72 69 70 6c 65 3c 2f 61 3e 20 66 6f 72 20 74 68 65 20 74 72 61 6e ">target.triple</a>.for.the.tran
d9340 73 6c 61 74 65 64 20 5a 69 67 20 63 6f 64 65 2e 0a 20 20 20 20 20 20 20 20 20 20 49 66 20 6e 6f slated.Zig.code............If.no
d9360 20 74 61 72 67 65 74 20 69 73 20 73 70 65 63 69 66 69 65 64 2c 20 74 68 65 20 63 75 72 72 65 6e .target.is.specified,.the.curren
d9380 74 20 68 6f 73 74 20 74 61 72 67 65 74 20 77 69 6c 6c 20 62 65 20 75 73 65 64 2e 0a 20 20 20 20 t.host.target.will.be.used......
d93a0 20 20 20 20 3c 2f 6c 69 3e 0a 20 20 20 20 20 20 3c 2f 75 6c 3e 0a 20 20 20 20 20 20 0a 20 20 20 ....</li>.......</ul>...........
d93c0 20 20 20 3c 68 34 20 69 64 3d 22 55 73 69 6e 67 2d 2d 74 61 72 67 65 74 2d 61 6e 64 2d 2d 63 66 ...<h4.id="Using--target-and--cf
d93e0 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 74 6f 63 2d 55 73 69 lags"><a.href="nav.xhtml#toc-Usi
d9400 6e 67 2d 2d 74 61 72 67 65 74 2d 61 6e 64 2d 2d 63 66 6c 61 67 73 22 3e 55 73 69 6e 67 20 2d 74 ng--target-and--cflags">Using.-t
d9420 61 72 67 65 74 20 61 6e 64 20 2d 63 66 6c 61 67 73 3c 2f 61 3e 20 3c 61 20 63 6c 61 73 73 3d 22 arget.and.-cflags</a>.<a.class="
d9440 68 64 72 22 20 68 72 65 66 3d 22 23 55 73 69 6e 67 2d 2d 74 61 72 67 65 74 2d 61 6e 64 2d 2d 63 hdr".href="#Using--target-and--c
d9460 66 6c 61 67 73 22 3e c2 a7 3c 2f 61 3e 3c 2f 68 34 3e 0a 0a 20 20 20 20 20 20 3c 70 3e 0a 20 20 flags">..</a></h4>........<p>...
d9480 20 20 20 20 20 20 3c 73 74 72 6f 6e 67 3e 49 6d 70 6f 72 74 61 6e 74 21 3c 2f 73 74 72 6f 6e 67 ......<strong>Important!</strong
d94a0 3e 20 57 68 65 6e 20 74 72 61 6e 73 6c 61 74 69 6e 67 20 43 20 63 6f 64 65 20 77 69 74 68 20 3c >.When.translating.C.code.with.<
d94c0 6b 62 64 3e 7a 69 67 20 74 72 61 6e 73 6c 61 74 65 2d 63 3c 2f 6b 62 64 3e 2c 0a 20 20 20 20 20 kbd>zig.translate-c</kbd>,......
d94e0 20 20 20 79 6f 75 20 3c 73 74 72 6f 6e 67 3e 6d 75 73 74 3c 2f 73 74 72 6f 6e 67 3e 20 75 73 65 ...you.<strong>must</strong>.use
d9500 20 74 68 65 20 73 61 6d 65 20 3c 6b 62 64 3e 2d 74 61 72 67 65 74 3c 2f 6b 62 64 3e 20 74 72 69 .the.same.<kbd>-target</kbd>.tri
d9520 70 6c 65 20 74 68 61 74 20 79 6f 75 20 77 69 6c 6c 20 75 73 65 20 77 68 65 6e 20 63 6f 6d 70 69 ple.that.you.will.use.when.compi
d9540 6c 69 6e 67 0a 20 20 20 20 20 20 20 20 74 68 65 20 74 72 61 6e 73 6c 61 74 65 64 20 63 6f 64 65 ling.........the.translated.code
d9560 2e 20 49 6e 20 61 64 64 69 74 69 6f 6e 2c 20 79 6f 75 20 3c 73 74 72 6f 6e 67 3e 6d 75 73 74 3c ..In.addition,.you.<strong>must<
d9580 2f 73 74 72 6f 6e 67 3e 20 65 6e 73 75 72 65 20 74 68 61 74 20 74 68 65 20 3c 6b 62 64 3e 2d 63 /strong>.ensure.that.the.<kbd>-c
d95a0 66 6c 61 67 73 3c 2f 6b 62 64 3e 20 75 73 65 64 2c 0a 20 20 20 20 20 20 20 20 69 66 20 61 6e 79 flags</kbd>.used,.........if.any
d95c0 2c 20 6d 61 74 63 68 20 74 68 65 20 63 66 6c 61 67 73 20 75 73 65 64 20 62 79 20 63 6f 64 65 20 ,.match.the.cflags.used.by.code.
d95e0 6f 6e 20 74 68 65 20 74 61 72 67 65 74 20 73 79 73 74 65 6d 2e 20 55 73 69 6e 67 20 74 68 65 20 on.the.target.system..Using.the.
d9600 69 6e 63 6f 72 72 65 63 74 20 3c 6b 62 64 3e 2d 74 61 72 67 65 74 3c 2f 6b 62 64 3e 0a 20 20 20 incorrect.<kbd>-target</kbd>....
d9620 20 20 20 20 20 6f 72 20 3c 6b 62 64 3e 2d 63 66 6c 61 67 73 3c 2f 6b 62 64 3e 20 63 6f 75 6c 64 .....or.<kbd>-cflags</kbd>.could
d9640 20 72 65 73 75 6c 74 20 69 6e 20 63 6c 61 6e 67 20 6f 72 20 5a 69 67 20 70 61 72 73 65 20 66 61 .result.in.clang.or.Zig.parse.fa
d9660 69 6c 75 72 65 73 2c 20 6f 72 20 73 75 62 74 6c 65 20 41 42 49 20 69 6e 63 6f 6d 70 61 74 69 62 ilures,.or.subtle.ABI.incompatib
d9680 69 6c 69 74 69 65 73 0a 20 20 20 20 20 20 20 20 77 68 65 6e 20 6c 69 6e 6b 69 6e 67 20 77 69 74 ilities.........when.linking.wit
d96a0 68 20 43 20 63 6f 64 65 2e 0a 20 20 20 20 20 20 3c 2f 70 3e 0a 20 20 20 20 20 20 3c 66 69 67 75 h.C.code........</p>.......<figu
d96c0 72 65 3e 3c 66 69 67 63 61 70 74 69 6f 6e 20 63 6c 61 73 73 3d 22 63 2d 63 61 70 22 3e 3c 63 69 re><figcaption.class="c-cap"><ci
d96e0 74 65 20 63 6c 61 73 73 3d 22 66 69 6c 65 22 3e 76 61 72 79 74 61 72 67 65 74 2e 68 3c 2f 63 69 te.class="file">varytarget.h</ci
d9700 74 65 3e 3c 2f 66 69 67 63 61 70 74 69 6f 6e 3e 3c 70 72 65 3e 3c 63 6f 64 65 3e 6c 6f 6e 67 20 te></figcaption><pre><code>long.
d9720 46 4f 4f 20 3d 20 5f 5f 4c 4f 4e 47 5f 4d 41 58 5f 5f 3b 3c 2f 63 6f 64 65 3e 3c 2f 70 72 65 3e FOO.=.__LONG_MAX__;</code></pre>
d9740 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
d9760 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
d9780 63 61 70 74 69 6f 6e 3e 3c 70 72 65 3e 3c 73 61 6d 70 3e 24 20 3c 6b 62 64 3e 7a 69 67 20 74 72 caption><pre><samp>$.<kbd>zig.tr
d97a0 61 6e 73 6c 61 74 65 2d 63 20 2d 74 61 72 67 65 74 20 74 68 75 6d 62 2d 66 72 65 65 73 74 61 6e anslate-c.-target.thumb-freestan
d97c0 64 69 6e 67 2d 67 6e 75 65 61 62 69 68 66 20 76 61 72 79 74 61 72 67 65 74 2e 68 7c 67 72 65 70 ding-gnueabihf.varytarget.h|grep
d97e0 20 46 4f 4f 3c 2f 6b 62 64 3e 0a 70 75 62 20 65 78 70 6f 72 74 20 76 61 72 20 46 4f 4f 3a 20 63 .FOO</kbd>.pub.export.var.FOO:.c
d9800 5f 6c 6f 6e 67 20 3d 20 32 31 34 37 34 38 33 36 34 37 3b 0a 24 20 3c 6b 62 64 3e 7a 69 67 20 74 _long.=.2147483647;.$.<kbd>zig.t
d9820 72 61 6e 73 6c 61 74 65 2d 63 20 2d 74 61 72 67 65 74 20 78 38 36 5f 36 34 2d 6d 61 63 6f 73 2d ranslate-c.-target.x86_64-macos-
d9840 67 6e 75 20 76 61 72 79 74 61 72 67 65 74 2e 68 7c 67 72 65 70 20 46 4f 4f 3c 2f 6b 62 64 3e 0a gnu.varytarget.h|grep.FOO</kbd>.
d9860 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 39 32 32 pub.export.var.FOO:.c_long.=.922
d9880 33 33 37 32 30 33 36 38 35 34 37 37 35 38 30 37 3b 0a 3c 2f 73 61 6d 70 3e 3c 2f 70 72 65 3e 3c 3372036854775807;.</samp></pre><
d98a0 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 69 /figure>.......<figure><figcapti
d98c0 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
d98e0 6c 65 22 3e 76 61 72 79 63 66 6c 61 67 73 2e 68 3c 2f 63 69 74 65 3e 3c 2f 66 69 67 63 61 70 74 le">varycflags.h</cite></figcapt
d9900 69 6f 6e 3e 3c 70 72 65 3e 3c 63 6f 64 65 3e 65 6e 75 6d 20 46 4f 4f 20 7b 20 42 41 52 20 7d 3b ion><pre><code>enum.FOO.{.BAR.};
d9920 0a 69 6e 74 20 64 6f 5f 73 6f 6d 65 74 68 69 6e 67 28 65 6e 75 6d 20 46 4f 4f 20 66 6f 6f 29 3b .int.do_something(enum.FOO.foo);
d9940 3c 2f 63 6f 64 65 3e 3c 2f 70 72 65 3e 3c 2f 66 69 67 75 72 65 3e 0a 20 20 20 20 20 20 3c 66 69 </code></pre></figure>.......<fi
d9960 67 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
d9980 70 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>
d99a0 24 20 3c 6b 62 64 3e 7a 69 67 20 74 72 61 6e 73 6c 61 74 65 2d 63 20 76 61 72 79 63 66 6c 61 67 $.<kbd>zig.translate-c.varycflag
d99c0 73 2e 68 7c 67 72 65 70 20 2d 42 31 20 64 6f 5f 73 6f 6d 65 74 68 69 6e 67 3c 2f 6b 62 64 3e 0a s.h|grep.-B1.do_something</kbd>.
d99e0 70 75 62 20 63 6f 6e 73 74 20 65 6e 75 6d 5f 46 4f 4f 20 3d 20 63 5f 75 69 6e 74 3b 0a 70 75 62 pub.const.enum_FOO.=.c_uint;.pub
d9a00 20 65 78 74 65 72 6e 20 66 6e 20 64 6f 5f 73 6f 6d 65 74 68 69 6e 67 28 66 6f 6f 3a 20 65 6e 75 .extern.fn.do_something(foo:.enu
d9a20 6d 5f 46 4f 4f 29 20 63 5f 69 6e 74 3b 0a 24 20 3c 6b 62 64 3e 7a 69 67 20 74 72 61 6e 73 6c 61 m_FOO).c_int;.$.<kbd>zig.transla
d9a40 74 65 2d 63 20 2d 63 66 6c 61 67 73 20 2d 66 73 68 6f 72 74 2d 65 6e 75 6d 73 20 2d 2d 20 76 61 te-c.-cflags.-fshort-enums.--.va
d9a60 72 79 63 66 6c 61 67 73 2e 68 7c 67 72 65 70 20 2d 42 31 20 64 6f 5f 73 6f 6d 65 74 68 69 6e 67 rycflags.h|grep.-B1.do_something
d9a80 3c 2f 6b 62 64 3e 0a 70 75 62 20 63 6f 6e 73 74 20 65 6e 75 6d 5f 46 4f 4f 20 3d 20 75 38 3b 0a </kbd>.pub.const.enum_FOO.=.u8;.
d9aa0 70 75 62 20 65 78 74 65 72 6e 20 66 6e 20 64 6f 5f 73 6f 6d 65 74 68 69 6e 67 28 66 6f 6f 3a 20 pub.extern.fn.do_something(foo:.
d9ac0 65 6e 75 6d 5f 46 4f 4f 29 20 63 5f 69 6e 74 3b 0a 3c 2f 73 61 6d 70 3e 3c 2f 70 72 65 3e 3c 2f enum_FOO).c_int;.</samp></pre></
d9ae0 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 68 33 figure>......................<h3
d9b00 20 69 64 3d 22 54 72 61 6e 73 6c 61 74 69 6f 6e 2d 66 61 69 6c 75 72 65 73 22 3e 3c 61 20 68 72 .id="Translation-failures"><a.hr
d9b20 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 66 61 ef="nav.xhtml#toc-Translation-fa
d9b40 69 6c 75 72 65 73 22 3e 54 72 61 6e 73 6c 61 74 69 6f 6e 20 66 61 69 6c 75 72 65 73 3c 2f 61 3e ilures">Translation.failures</a>
d9b60 20 3c 61 20 63 6c 61 73 73 3d 22 68 64 72 22 20 68 72 65 66 3d 22 23 54 72 61 6e 73 6c 61 74 69 .<a.class="hdr".href="#Translati
d9b80 6f 6e 2d 66 61 69 6c 75 72 65 73 22 3e c2 a7 3c 2f 61 3e 3c 2f 68 33 3e 0a 0a 20 20 20 20 20 20 on-failures">..</a></h3>........
d9ba0 3c 70 3e 0a 20 20 20 20 20 20 20 20 53 6f 6d 65 20 43 20 63 6f 6e 73 74 72 75 63 74 73 20 63 61 <p>.........Some.C.constructs.ca
d9bc0 6e 6e 6f 74 20 62 65 20 74 72 61 6e 73 6c 61 74 65 64 20 74 6f 20 5a 69 67 20 2d 20 66 6f 72 20 nnot.be.translated.to.Zig.-.for.
d9be0 65 78 61 6d 70 6c 65 2c 20 3c 65 6d 3e 67 6f 74 6f 3c 2f 65 6d 3e 2c 0a 20 20 20 20 20 20 20 20 example,.<em>goto</em>,.........
d9c00 73 74 72 75 63 74 73 20 77 69 74 68 20 62 69 74 66 69 65 6c 64 73 2c 20 61 6e 64 20 74 6f 6b 65 structs.with.bitfields,.and.toke
d9c20 6e 2d 70 61 73 74 69 6e 67 20 6d 61 63 72 6f 73 2e 20 5a 69 67 20 65 6d 70 6c 6f 79 73 20 3c 65 n-pasting.macros..Zig.employs.<e
d9c40 6d 3e 64 65 6d 6f 74 69 6f 6e 3c 2f 65 6d 3e 20 74 6f 20 61 6c 6c 6f 77 20 74 72 61 6e 73 6c 61 m>demotion</em>.to.allow.transla
d9c60 74 69 6f 6e 0a 20 20 20 20 20 20 20 20 74 6f 20 63 6f 6e 74 69 6e 75 65 20 69 6e 20 74 68 65 20 tion.........to.continue.in.the.
d9c80 66 61 63 65 20 6f 66 20 6e 6f 6e 2d 74 72 61 6e 73 6c 61 74 61 62 6c 65 20 65 6e 74 69 74 69 65 face.of.non-translatable.entitie
d9ca0 73 2e 0a 20 20 20 20 20 20 3c 2f 70 3e 0a 20 20 20 20 20 20 3c 70 3e 0a 20 20 20 20 20 20 20 20 s........</p>.......<p>.........
d9cc0 44 65 6d 6f 74 69 6f 6e 20 63 6f 6d 65 73 20 69 6e 20 74 68 72 65 65 20 76 61 72 69 65 74 69 65 Demotion.comes.in.three.varietie
d9ce0 73 20 2d 20 3c 61 20 68 72 65 66 3d 22 23 6f 70 61 71 75 65 22 3e 6f 70 61 71 75 65 3c 2f 61 3e s.-.<a.href="#opaque">opaque</a>
d9d00 2c 20 3c 65 6d 3e 65 78 74 65 72 6e 3c 2f 65 6d 3e 2c 20 61 6e 64 0a 20 20 20 20 20 20 20 20 3c ,.<em>extern</em>,.and.........<
d9d20 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 62 75 69 6c 74 69 6e 22 3e 40 code><span.class="tok-builtin">@
d9d40 63 6f 6d 70 69 6c 65 45 72 72 6f 72 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 2e 0a 0a 20 20 20 compileError</span></code>......
d9d60 20 20 20 20 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 .....C.structs.and.unions.that.c
d9d80 61 6e 6e 6f 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 annot.be.translated.correctly.wi
d9da0 6c 6c 20 62 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 ll.be.translated.as.<code><span.
d9dc0 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 7b 7d 3c 2f class="tok-kw">opaque</span>{}</
d9de0 63 6f 64 65 3e 2e 0a 20 20 20 20 20 20 20 20 46 75 6e 63 74 69 6f 6e 73 20 74 68 61 74 20 63 6f code>..........Functions.that.co
d9e00 6e 74 61 69 6e 20 6f 70 61 71 75 65 20 74 79 70 65 73 20 6f 72 20 63 6f 64 65 20 63 6f 6e 73 74 ntain.opaque.types.or.code.const
d9e20 72 75 63 74 73 20 74 68 61 74 20 63 61 6e 6e 6f 74 20 62 65 20 74 72 61 6e 73 6c 61 74 65 64 20 ructs.that.cannot.be.translated.
d9e40 77 69 6c 6c 20 62 65 20 64 65 6d 6f 74 65 64 0a 20 20 20 20 20 20 20 20 74 6f 20 3c 63 6f 64 65 will.be.demoted.........to.<code
d9e60 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
d9e80 61 6e 3e 3c 2f 63 6f 64 65 3e 20 64 65 63 6c 61 72 61 74 69 6f 6e 73 2e 0a 0a 20 20 20 20 20 20 an></code>.declarations.........
d9ea0 20 20 54 68 75 73 2c 20 6e 6f 6e 2d 74 72 61 6e 73 6c 61 74 61 62 6c 65 20 74 79 70 65 73 20 63 ..Thus,.non-translatable.types.c
d9ec0 61 6e 20 73 74 69 6c 6c 20 62 65 20 75 73 65 64 20 61 73 20 70 6f 69 6e 74 65 72 73 2c 20 61 6e an.still.be.used.as.pointers,.an
d9ee0 64 20 6e 6f 6e 2d 74 72 61 6e 73 6c 61 74 61 62 6c 65 20 66 75 6e 63 74 69 6f 6e 73 0a 20 20 20 d.non-translatable.functions....
d9f00 20 20 20 20 20 63 61 6e 20 62 65 20 63 61 6c 6c 65 64 20 73 6f 20 6c 6f 6e 67 20 61 73 20 74 68 .....can.be.called.so.long.as.th
d9f20 65 20 6c 69 6e 6b 65 72 20 69 73 20 61 77 61 72 65 20 6f 66 20 74 68 65 20 63 6f 6d 70 69 6c 65 e.linker.is.aware.of.the.compile
d9f40 64 20 66 75 6e 63 74 69 6f 6e 2e 0a 20 20 20 20 20 20 3c 2f 70 3e 0a 20 20 20 20 20 20 3c 70 3e d.function........</p>.......<p>
d9f60 0a 20 20 20 20 20 20 20 20 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d .........<code><span.class="tok-
d9f80 62 75 69 6c 74 69 6e 22 3e 40 63 6f 6d 70 69 6c 65 45 72 72 6f 72 3c 2f 73 70 61 6e 3e 3c 2f 63 builtin">@compileError</span></c
d9fa0 6f 64 65 3e 20 69 73 20 75 73 65 64 20 77 68 65 6e 20 74 6f 70 2d 6c 65 76 65 6c 20 64 65 66 69 ode>.is.used.when.top-level.defi
d9fc0 6e 69 74 69 6f 6e 73 20 28 67 6c 6f 62 61 6c 20 76 61 72 69 61 62 6c 65 73 2c 0a 20 20 20 20 20 nitions.(global.variables,......
d9fe0 20 20 20 66 75 6e 63 74 69 6f 6e 20 70 72 6f 74 6f 74 79 70 65 73 2c 20 6d 61 63 72 6f 73 29 20 ...function.prototypes,.macros).
da000 63 61 6e 6e 6f 74 20 62 65 20 74 72 61 6e 73 6c 61 74 65 64 20 6f 72 20 64 65 6d 6f 74 65 64 2e cannot.be.translated.or.demoted.
da020 20 53 69 6e 63 65 20 5a 69 67 20 75 73 65 73 20 6c 61 7a 79 20 61 6e 61 6c 79 73 69 73 20 66 6f .Since.Zig.uses.lazy.analysis.fo
da040 72 0a 20 20 20 20 20 20 20 20 74 6f 70 2d 6c 65 76 65 6c 20 64 65 63 6c 61 72 61 74 69 6f 6e 73 r.........top-level.declarations
da060 2c 20 75 6e 74 72 61 6e 73 6c 61 74 61 62 6c 65 20 65 6e 74 69 74 69 65 73 20 77 69 6c 6c 20 6e ,.untranslatable.entities.will.n
da080 6f 74 20 63 61 75 73 65 20 61 20 63 6f 6d 70 69 6c 65 20 65 72 72 6f 72 20 69 6e 20 79 6f 75 72 ot.cause.a.compile.error.in.your
da0a0 20 63 6f 64 65 20 75 6e 6c 65 73 73 0a 20 20 20 20 20 20 20 20 79 6f 75 20 61 63 74 75 61 6c 6c .code.unless.........you.actuall
da0c0 79 20 75 73 65 20 74 68 65 6d 2e 0a 20 20 20 20 20 20 3c 2f 70 3e 0a 20 20 20 20 20 20 3c 70 3e y.use.them........</p>.......<p>
da0e0 53 65 65 20 61 6c 73 6f 3a 3c 2f 70 3e 3c 75 6c 3e 0a 3c 6c 69 3e 3c 61 20 68 72 65 66 3d 22 23 See.also:</p><ul>.<li><a.href="#
da100 6f 70 61 71 75 65 22 3e 6f 70 61 71 75 65 3c 2f 61 3e 3c 2f 6c 69 3e 0a 3c 6c 69 3e 3c 61 20 68 opaque">opaque</a></li>.<li><a.h
da120 72 65 66 3d 22 23 65 78 74 65 72 6e 22 3e 65 78 74 65 72 6e 3c 2f 61 3e 3c 2f 6c 69 3e 0a 3c 6c ref="#extern">extern</a></li>.<l
da140 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 69 i><a.href="#compileError">@compi
da160 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 0a leError</a></li>.</ul>..........
da180 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 65 ......<h3.id="C-Pointers"><a.hre
da1a0 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 50 f="nav.xhtml#toc-C-Pointers">C.P
da1c0 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 3d ointers</a>.<a.class="hdr".href=
da1e0 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 20 "#C-Pointers">..</a></h3>.......
da200 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 76 .<p>.......This.type.is.to.be.av
da220 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 6c oided.whenever.possible..The.onl
da240 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 69 y.valid.reason.for.using.a.C.poi
da260 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 20 nter.is.in.......auto-generated.
da280 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 20 code.from.translating.C.code....
da2a0 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 6d ....</p>.......<p>.......When.im
da2c0 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 6d porting.C.header.files,.it.is.am
da2e0 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 20 biguous.whether.pointers.should.
da300 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 74 be.translated.as.......single-it
da320 65 6d 20 70 6f 69 6e 74 65 72 73 20 28 3c 63 6f 64 65 3e 2a 54 3c 2f 63 6f 64 65 3e 29 20 6f 72 em.pointers.(<code>*T</code>).or
da340 20 6d 61 6e 79 2d 69 74 65 6d 20 70 6f 69 6e 74 65 72 73 20 28 3c 63 6f 64 65 3e 5b 2a 5d 54 3c .many-item.pointers.(<code>[*]T<
da360 2f 63 6f 64 65 3e 29 2e 0a 20 20 20 20 20 20 43 20 70 6f 69 6e 74 65 72 73 20 61 72 65 20 61 20 /code>)........C.pointers.are.a.
da380 63 6f 6d 70 72 6f 6d 69 73 65 20 73 6f 20 74 68 61 74 20 5a 69 67 20 63 6f 64 65 20 63 61 6e 20 compromise.so.that.Zig.code.can.
da3a0 75 74 69 6c 69 7a 65 20 74 72 61 6e 73 6c 61 74 65 64 20 68 65 61 64 65 72 20 66 69 6c 65 73 20 utilize.translated.header.files.
da3c0 64 69 72 65 63 74 6c 79 2e 0a 20 20 20 20 20 20 3c 2f 70 3e 0a 20 20 20 20 20 20 3c 70 3e 3c 63 directly........</p>.......<p><c
da3e0 6f 64 65 3e 5b 2a 63 5d 54 3c 2f 63 6f 64 65 3e 20 2d 20 43 20 70 6f 69 6e 74 65 72 2e 3c 2f 70 ode>[*c]T</code>.-.C.pointer.</p
da400 3e 0a 20 20 20 20 20 20 3c 75 6c 3e 0a 20 20 20 20 20 20 20 20 3c 6c 69 3e 53 75 70 70 6f 72 74 >.......<ul>.........<li>Support
da420 73 20 61 6c 6c 20 74 68 65 20 73 79 6e 74 61 78 20 6f 66 20 74 68 65 20 6f 74 68 65 72 20 74 77 s.all.the.syntax.of.the.other.tw
da440 6f 20 70 6f 69 6e 74 65 72 20 74 79 70 65 73 20 28 3c 63 6f 64 65 3e 2a 54 3c 2f 63 6f 64 65 3e o.pointer.types.(<code>*T</code>
da460 29 20 61 6e 64 20 28 3c 63 6f 64 65 3e 5b 2a 5d 54 3c 2f 63 6f 64 65 3e 29 2e 3c 2f 6c 69 3e 0a ).and.(<code>[*]T</code>).</li>.
da480 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 72 20 70 6f 69 ........<li>Coerces.to.other.poi
da4a0 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 72 65 66 3d 22 nter.types,.as.well.as.<a.href="
da4c0 23 4f 70 74 69 6f 6e 61 6c 2d 50 6f 69 6e 74 65 72 73 22 3e 4f 70 74 69 6f 6e 61 6c 20 50 6f 69 #Optional-Pointers">Optional.Poi
da4e0 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 20 61 20 43 20 nters</a>..............When.a.C.
da500 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 2d 6f 70 74 69 pointer.is.coerced.to.a.non-opti
da520 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 64 0a 20 20 20 onal.pointer,.safety-checked....
da540 20 20 20 20 20 20 20 20 20 3c 61 20 68 72 65 66 3d 22 23 49 6c 6c 65 67 61 6c 2d 42 65 68 61 76 .........<a.href="#Illegal-Behav
da560 69 6f 72 22 3e 49 6c 6c 65 67 61 6c 20 42 65 68 61 76 69 6f 72 3c 2f 61 3e 20 6f 63 63 75 72 73 ior">Illegal.Behavior</a>.occurs
da580 20 69 66 20 74 68 65 20 61 64 64 72 65 73 73 20 69 73 20 30 2e 0a 20 20 20 20 20 20 20 20 3c 2f .if.the.address.is.0..........</
da5a0 6c 69 3e 0a 20 20 20 20 20 20 20 20 3c 6c 69 3e 41 6c 6c 6f 77 73 20 61 64 64 72 65 73 73 20 30 li>.........<li>Allows.address.0
da5c0 2e 20 4f 6e 20 6e 6f 6e 2d 66 72 65 65 73 74 61 6e 64 69 6e 67 20 74 61 72 67 65 74 73 2c 20 64 ..On.non-freestanding.targets,.d
da5e0 65 72 65 66 65 72 65 6e 63 69 6e 67 20 61 64 64 72 65 73 73 20 30 20 69 73 20 73 61 66 65 74 79 ereferencing.address.0.is.safety
da600 2d 63 68 65 63 6b 65 64 0a 20 20 20 20 20 20 20 20 20 20 20 20 3c 61 20 68 72 65 66 3d 22 23 49 -checked.............<a.href="#I
da620 6c 6c 65 67 61 6c 2d 42 65 68 61 76 69 6f 72 22 3e 49 6c 6c 65 67 61 6c 20 42 65 68 61 76 69 6f llegal-Behavior">Illegal.Behavio
da640 72 3c 2f 61 3e 2e 20 4f 70 74 69 6f 6e 61 6c 20 43 20 70 6f 69 6e 74 65 72 73 20 69 6e 74 72 6f r</a>..Optional.C.pointers.intro
da660 64 75 63 65 20 61 6e 6f 74 68 65 72 20 62 69 74 20 74 6f 20 6b 65 65 70 20 74 72 61 63 6b 20 6f duce.another.bit.to.keep.track.o
da680 66 0a 20 20 20 20 20 20 20 20 20 20 20 20 6e 75 6c 6c 2c 20 6a 75 73 74 20 6c 69 6b 65 20 3c 63 f.............null,.just.like.<c
da6a0 6f 64 65 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 ode>?<span.class="tok-type">usiz
da6c0 65 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 2e 20 4e 6f 74 65 20 74 68 61 74 20 63 72 65 61 74 e</span></code>..Note.that.creat
da6e0 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 0a 20 20 20 20 20 20 ing.an.optional.C.pointer.......
da700 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 6e 65 20 63 61 6e 20 ......is.unnecessary.as.one.can.
da720 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 6f 6e 61 6c 2d 50 6f use.normal.<a.href="#Optional-Po
da740 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 2e 0a 20 inters">Optional.Pointers</a>...
da760 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 53 75 70 70 6f 72 74 .......</li>.........<li>Support
da780 73 20 3c 61 20 68 72 65 66 3d 22 23 54 79 70 65 2d 43 6f 65 72 63 69 6f 6e 22 3e 54 79 70 65 20 s.<a.href="#Type-Coercion">Type.
da7a0 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 69 6e 74 65 67 65 72 Coercion</a>.to.and.from.integer
da7c0 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 72 74 73 20 63 6f 6d s.</li>.........<li>Supports.com
da7e0 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 69 3e 0a 20 20 20 20 parison.with.integers.</li>.....
da800 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 5a 69 67 2d 6f 6e 6c ....<li>Does.not.support.Zig-onl
da820 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 20 61 73 20 61 6c 69 y.pointer.attributes.such.as.ali
da840 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 66 3d 22 23 50 6f 69 gnment..Use.normal.<a.href="#Poi
da860 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 20 20 20 70 6c 65 61 nters">Pointers</a>.........plea
da880 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 20 20 3c 70 3e 57 68 se!</li>.......</ul>.......<p>Wh
da8a0 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 61 20 en.a.C.pointer.is.pointing.to.a.
da8c0 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 61 79 29 2c 20 64 65 single.struct.(not.an.array),.de
da8e0 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 6f 0a 20 20 20 20 20 reference.the.C.pointer.to......
da900 20 20 20 61 63 63 65 73 73 20 74 68 65 20 73 74 72 75 63 74 27 73 20 66 69 65 6c 64 73 20 6f 72 ...access.the.struct's.fields.or
da920 20 6d 65 6d 62 65 72 20 64 61 74 61 2e 20 54 68 61 74 20 73 79 6e 74 61 78 20 6c 6f 6f 6b 73 20 .member.data..That.syntax.looks.
da940 6c 69 6b 65 0a 20 20 20 20 20 20 20 20 74 68 69 73 3a 20 3c 2f 70 3e 0a 20 20 20 20 20 20 20 20 like.........this:.</p>.........
da960 3c 70 3e 3c 63 6f 64 65 3e 70 74 72 5f 74 6f 5f 73 74 72 75 63 74 2e 2a 2e 73 74 72 75 63 74 5f <p><code>ptr_to_struct.*.struct_
da980 6d 65 6d 62 65 72 3c 2f 63 6f 64 65 3e 3c 2f 70 3e 0a 20 20 20 20 20 20 20 20 3c 70 3e 54 68 69 member</code></p>.........<p>Thi
da9a0 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 64 65 3e 2d s.is.comparable.to.doing.<code>-
da9c0 26 67 74 3b 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 &gt;</code>.in.C.</p>.........<p
da9e0 3e 20 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 >.When.a.C.pointer.is.pointing.t
daa00 6f 20 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 o.an.array.of.structs,.the.synta
daa20 78 20 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 x.reverts.to.this:</p>.........<
daa40 70 3e 3c 63 6f 64 65 3e 70 74 72 5f 74 6f 5f 73 74 72 75 63 74 5f 61 72 72 61 79 5b 69 6e 64 65 p><code>ptr_to_struct_array[inde
daa60 78 5d 2e 73 74 72 75 63 74 5f 6d 65 6d 62 65 72 3c 2f 63 6f 64 65 3e 3c 2f 70 3e 0a 20 20 20 20 x].struct_member</code></p>.....
daa80 20 20 0a 0a 20 20 20 20 20 20 3c 68 33 20 69 64 3d 22 43 2d 56 61 72 69 61 64 69 63 2d 46 75 6e ..........<h3.id="C-Variadic-Fun
daaa0 63 74 69 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 43 ctions"><a.href="nav.xhtml#toc-C
daac0 2d 56 61 72 69 61 64 69 63 2d 46 75 6e 63 74 69 6f 6e 73 22 3e 43 20 56 61 72 69 61 64 69 63 20 -Variadic-Functions">C.Variadic.
daae0 46 75 6e 63 74 69 6f 6e 73 3c 2f 61 3e 20 3c 61 20 63 6c 61 73 73 3d 22 68 64 72 22 20 68 72 65 Functions</a>.<a.class="hdr".hre
dab00 66 3d 22 23 43 2d 56 61 72 69 61 64 69 63 2d 46 75 6e 63 74 69 6f 6e 73 22 3e c2 a7 3c 2f 61 3e f="#C-Variadic-Functions">..</a>
dab20 3c 2f 68 33 3e 0a 0a 20 20 20 20 20 20 3c 70 3e 5a 69 67 20 73 75 70 70 6f 72 74 73 20 65 78 74 </h3>........<p>Zig.supports.ext
dab40 65 72 6e 20 76 61 72 69 61 64 69 63 20 66 75 6e 63 74 69 6f 6e 73 2e 3c 2f 70 3e 0a 20 20 20 20 ern.variadic.functions.</p>.....
dab60 20 20 3c 66 69 67 75 72 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
dab80 2d 63 61 70 22 3e 3c 63 69 74 65 20 63 6c 61 73 73 3d 22 66 69 6c 65 22 3e 74 65 73 74 5f 76 61 -cap"><cite.class="file">test_va
daba0 72 69 61 64 69 63 5f 66 75 6e 63 74 69 6f 6e 2e 7a 69 67 3c 2f 63 69 74 65 3e 3c 2f 66 69 67 63 riadic_function.zig</cite></figc
dabc0 61 70 74 69 6f 6e 3e 3c 70 72 65 3e 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 aption><pre><code><span.class="t
dabe0 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.
dac00 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
dac20 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
dac40 74 64 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 29 3b 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 td&quot;</span>);.<span.class="t
dac60 6f 6b 2d 6b 77 22 3e 63 6f 6e 73 74 3c 2f 73 70 61 6e 3e 20 74 65 73 74 69 6e 67 20 3d 20 73 74 ok-kw">const</span>.testing.=.st
dac80 64 2e 74 65 73 74 69 6e 67 3b 0a 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 d.testing;..<span.class="tok-kw"
daca0 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"
dacc0 3e 65 78 74 65 72 6e 3c 2f 73 70 61 6e 3e 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d >extern</span>.<span.class="tok-
dace0 73 74 72 22 3e 26 71 75 6f 74 3b 63 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 20 3c 73 70 61 6e 20 str">&quot;c&quot;</span>.<span.
dad00 63 6c 61 73 73 3d 22 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
dad20 6c 61 73 73 3d 22 74 6f 6b 2d 66 6e 22 3e 70 72 69 6e 74 66 3c 2f 73 70 61 6e 3e 28 66 6f 72 6d lass="tok-fn">printf</span>(form
dad40 61 74 3a 20 5b 2a 3a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e at:.[*:<span.class="tok-number">
dad60 30 3c 2f 73 70 61 6e 3e 5d 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 63 6f 0</span>]<span.class="tok-kw">co
dad80 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
dada0 22 3e 75 38 3c 2f 73 70 61 6e 3e 2c 20 2e 2e 2e 29 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 ">u8</span>,....).<span.class="t
dadc0 6f 6b 2d 74 79 70 65 22 3e 63 5f 69 6e 74 3c 2f 73 70 61 6e 3e 3b 0a 0a 3c 73 70 61 6e 20 63 6c ok-type">c_int</span>;..<span.cl
dade0 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
dae00 6c 61 73 73 3d 22 74 6f 6b 2d 73 74 72 22 3e 26 71 75 6f 74 3b 76 61 72 69 61 64 69 63 20 66 75 lass="tok-str">&quot;variadic.fu
dae20 6e 63 74 69 6f 6e 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 20 7b 0a 20 20 20 20 3c 73 70 61 6e 20 nction&quot;</span>.{.....<span.
dae40 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 74 72 79 3c 2f 73 70 61 6e 3e 20 74 65 73 74 69 6e class="tok-kw">try</span>.testin
dae60 67 2e 65 78 70 65 63 74 45 71 75 61 6c 28 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e g.expectEqual(<span.class="tok-n
dae80 75 6d 62 65 72 22 3e 31 34 3c 2f 73 70 61 6e 3e 2c 20 70 72 69 6e 74 66 28 3c 73 70 61 6e 20 63 umber">14</span>,.printf(<span.c
daea0 6c 61 73 73 3d 22 74 6f 6b 2d 73 74 72 22 3e 26 71 75 6f 74 3b 48 65 6c 6c 6f 2c 20 77 6f 72 6c lass="tok-str">&quot;Hello,.worl
daec0 64 21 5c 6e 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 29 29 3b 0a 20 20 20 20 3c 73 70 61 6e 20 63 d!\n&quot;</span>));.....<span.c
daee0 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 74 72 79 3c 2f 73 70 61 6e 3e 20 74 65 73 74 69 6e 67 lass="tok-kw">try</span>.testing
daf00 2e 65 78 70 65 63 74 28 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 62 75 69 6c 74 69 6e .expect(<span.class="tok-builtin
daf20 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="
daf40 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 72 69 6e tok-builtin">@TypeOf</span>(prin
daf60 74 66 29 29 2e 40 26 71 75 6f 74 3b 66 6e 26 71 75 6f 74 3b 2e 69 73 5f 76 61 72 5f 61 72 67 73 tf)).@&quot;fn&quot;.is_var_args
daf80 29 3b 0a 7d 3c 2f 63 6f 64 65 3e 3c 2f 70 72 65 3e 3c 2f 66 69 67 75 72 65 3e 3c 66 69 67 75 72 );.}</code></pre></figure><figur
dafa0 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">
dafc0 53 68 65 6c 6c 3c 2f 66 69 67 63 61 70 74 69 6f 6e 3e 3c 70 72 65 3e 3c 73 61 6d 70 3e 24 20 3c Shell</figcaption><pre><samp>$.<
dafe0 6b 62 64 3e 7a 69 67 20 74 65 73 74 20 74 65 73 74 5f 76 61 72 69 61 64 69 63 5f 66 75 6e 63 74 kbd>zig.test.test_variadic_funct
db000 69 6f 6e 2e 7a 69 67 20 2d 6c 63 3c 2f 6b 62 64 3e 0a 31 2f 31 20 74 65 73 74 5f 76 61 72 69 61 ion.zig.-lc</kbd>.1/1.test_varia
db020 64 69 63 5f 66 75 6e 63 74 69 6f 6e 2e 74 65 73 74 2e 76 61 72 69 61 64 69 63 20 66 75 6e 63 74 dic_function.test.variadic.funct
db040 69 6f 6e 2e 2e 2e 4f 4b 0a 41 6c 6c 20 31 20 74 65 73 74 73 20 70 61 73 73 65 64 2e 0a 48 65 6c ion...OK.All.1.tests.passed..Hel
db060 6c 6f 2c 20 77 6f 72 6c 64 21 0a 3c 2f 73 61 6d 70 3e 3c 2f 70 72 65 3e 3c 2f 66 69 67 75 72 65 lo,.world!.</samp></pre></figure
db080 3e 0a 0a 20 20 20 20 20 20 3c 70 3e 0a 20 20 20 20 20 20 20 20 56 61 72 69 61 64 69 63 20 66 75 >........<p>.........Variadic.fu
db0a0 6e 63 74 69 6f 6e 73 20 63 61 6e 20 62 65 20 69 6d 70 6c 65 6d 65 6e 74 65 64 20 75 73 69 6e 67 nctions.can.be.implemented.using
db0c0 20 3c 61 20 68 72 65 66 3d 22 23 63 56 61 53 74 61 72 74 22 3e 40 63 56 61 53 74 61 72 74 3c 2f .<a.href="#cVaStart">@cVaStart</
db0e0 61 3e 2c 20 3c 61 20 68 72 65 66 3d 22 23 63 56 61 45 6e 64 22 3e 40 63 56 61 45 6e 64 3c 2f 61 a>,.<a.href="#cVaEnd">@cVaEnd</a
db100 3e 2c 20 3c 61 20 68 72 65 66 3d 22 23 63 56 61 41 72 67 22 3e 40 63 56 61 41 72 67 3c 2f 61 3e >,.<a.href="#cVaArg">@cVaArg</a>
db120 20 61 6e 64 20 3c 61 20 68 72 65 66 3d 22 23 63 56 61 43 6f 70 79 22 3e 40 63 56 61 43 6f 70 79 .and.<a.href="#cVaCopy">@cVaCopy
db140 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><
db160 66 69 67 63 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
db180 20 63 6c 61 73 73 3d 22 66 69 6c 65 22 3e 74 65 73 74 5f 64 65 66 69 6e 69 6e 67 5f 76 61 72 69 .class="file">test_defining_vari
db1a0 61 64 69 63 5f 66 75 6e 63 74 69 6f 6e 2e 7a 69 67 3c 2f 63 69 74 65 3e 3c 2f 66 69 67 63 61 70 adic_function.zig</cite></figcap
db1c0 74 69 6f 6e 3e 3c 70 72 65 3e 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b tion><pre><code><span.class="tok
db1e0 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
db200 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>
db220 28 3c 73 70 61 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
db240 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 29 3b 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b &quot;</span>);.<span.class="tok
db260 2d 6b 77 22 3e 63 6f 6e 73 74 3c 2f 73 70 61 6e 3e 20 74 65 73 74 69 6e 67 20 3d 20 73 74 64 2e -kw">const</span>.testing.=.std.
db280 74 65 73 74 69 6e 67 3b 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 63 6f testing;.<span.class="tok-kw">co
db2a0 6e 73 74 3c 2f 73 70 61 6e 3e 20 62 75 69 6c 74 69 6e 20 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 nst</span>.builtin.=.<span.class
db2c0 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
db2e0 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 73 74 72 22 3e 26 71 75 6f 74 3b 62 75 69 6c 74 69 pan.class="tok-str">&quot;builti
db300 6e 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 29 3b 0a 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 n&quot;</span>);..<span.class="t
db320 6f 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
db340 6b 2d 66 6e 22 3e 61 64 64 3c 2f 73 70 61 6e 3e 28 63 6f 75 6e 74 3a 20 3c 73 70 61 6e 20 63 6c k-fn">add</span>(count:.<span.cl
db360 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 63 5f 69 6e 74 3c 2f 73 70 61 6e 3e 2c 20 2e 2e 2e ass="tok-type">c_int</span>,....
db380 29 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 63 61 6c 6c 63 6f 6e 76 3c ).<span.class="tok-kw">callconv<
db3a0 2f 73 70 61 6e 3e 28 2e 63 29 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
db3c0 22 3e 63 5f 69 6e 74 3c 2f 73 70 61 6e 3e 20 7b 0a 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 ">c_int</span>.{.....<span.class
db3e0 3d 22 74 6f 6b 2d 6b 77 22 3e 76 61 72 3c 2f 73 70 61 6e 3e 20 61 70 20 3d 20 3c 73 70 61 6e 20 ="tok-kw">var</span>.ap.=.<span.
db400 63 6c 61 73 73 3d 22 74 6f 6b 2d 62 75 69 6c 74 69 6e 22 3e 40 63 56 61 53 74 61 72 74 3c 2f 73 class="tok-builtin">@cVaStart</s
db420 70 61 6e 3e 28 29 3b 0a 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 pan>();.....<span.class="tok-kw"
db440 3e 64 65 66 65 72 3c 2f 73 70 61 6e 3e 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 62 >defer</span>.<span.class="tok-b
db460 75 69 6c 74 69 6e 22 3e 40 63 56 61 45 6e 64 3c 2f 73 70 61 6e 3e 28 26 61 6d 70 3b 61 70 29 3b uiltin">@cVaEnd</span>(&amp;ap);
db480 0a 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 76 61 72 3c 2f 73 .....<span.class="tok-kw">var</s
db4a0 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 22 3e 75 pan>.i:.<span.class="tok-type">u
db4c0 73 69 7a 65 3c 2f 73 70 61 6e 3e 20 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e size</span>.=.<span.class="tok-n
db4e0 75 6d 62 65 72 22 3e 30 3c 2f 73 70 61 6e 3e 3b 0a 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 umber">0</span>;.....<span.class
db500 3d 22 74 6f 6b 2d 6b 77 22 3e 76 61 72 3c 2f 73 70 61 6e 3e 20 73 75 6d 3a 20 3c 73 70 61 6e 20 ="tok-kw">var</span>.sum:.<span.
db520 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 63 5f 69 6e 74 3c 2f 73 70 61 6e 3e 20 3d 20 class="tok-type">c_int</span>.=.
db540 3c 73 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
db560 3e 3b 0a 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 77 68 69 6c >;.....<span.class="tok-kw">whil
db580 65 3c 2f 73 70 61 6e 3e 20 28 69 20 26 6c 74 3b 20 63 6f 75 6e 74 29 20 3a 20 28 69 20 2b 3d 20 e</span>.(i.&lt;.count).:.(i.+=.
db5a0 3c 73 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
db5c0 3e 29 20 7b 0a 20 20 20 20 20 20 20 20 73 75 6d 20 2b 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d >).{.........sum.+=.<span.class=
db5e0 22 74 6f 6b 2d 62 75 69 6c 74 69 6e 22 3e 40 63 56 61 41 72 67 3c 2f 73 70 61 6e 3e 28 26 61 6d "tok-builtin">@cVaArg</span>(&am
db600 70 3b 61 70 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 63 5f 69 p;ap,.<span.class="tok-type">c_i
db620 6e 74 3c 2f 73 70 61 6e 3e 29 3b 0a 20 20 20 20 7d 0a 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 nt</span>);.....}.....<span.clas
db640 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 75 6d 3b 0a 7d 0a s="tok-kw">return</span>.sum;.}.
db660 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 74 65 73 74 3c 2f 73 70 61 6e .<span.class="tok-kw">test</span
db680 3e 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 73 74 72 22 3e 26 71 75 6f 74 3b 64 65 >.<span.class="tok-str">&quot;de
db6a0 66 69 6e 69 6e 67 20 61 20 76 61 72 69 61 64 69 63 20 66 75 6e 63 74 69 6f 6e 26 71 75 6f 74 3b fining.a.variadic.function&quot;
db6c0 3c 2f 73 70 61 6e 3e 20 7b 0a 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b </span>.{.....<span.class="tok-k
db6e0 77 22 3e 69 66 3c 2f 73 70 61 6e 3e 20 28 62 75 69 6c 74 69 6e 2e 63 70 75 2e 61 72 63 68 20 3d w">if</span>.(builtin.cpu.arch.=
db700 3d 20 2e 61 61 72 63 68 36 34 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e =..aarch64.<span.class="tok-kw">
db720 61 6e 64 3c 2f 73 70 61 6e 3e 20 62 75 69 6c 74 69 6e 2e 6f 73 2e 74 61 67 20 21 3d 20 2e 6d 61 and</span>.builtin.os.tag.!=..ma
db740 63 6f 73 29 20 7b 0a 20 20 20 20 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d cos).{.........<span.class="tok-
db760 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 2e 63 6f 6d 2f 7a comment">//.https://github.com/z
db780 69 67 6c 61 6e 67 2f 7a 69 67 2f 69 73 73 75 65 73 2f 31 34 30 39 36 3c 2f 73 70 61 6e 3e 0a 20 iglang/zig/issues/14096</span>..
db7a0 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
db7c0 72 6e 3c 2f 73 70 61 6e 3e 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 65 rn</span>.<span.class="tok-kw">e
db7e0 72 72 6f 72 3c 2f 73 70 61 6e 3e 2e 53 6b 69 70 5a 69 67 54 65 73 74 3b 0a 20 20 20 20 7d 0a 20 rror</span>.SkipZigTest;.....}..
db800 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
db820 3e 20 28 62 75 69 6c 74 69 6e 2e 63 70 75 2e 61 72 63 68 20 3d 3d 20 2e 78 38 36 5f 36 34 20 3c >.(builtin.cpu.arch.==..x86_64.<
db840 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 61 6e 64 3c 2f 73 70 61 6e 3e 20 62 span.class="tok-kw">and</span>.b
db860 75 69 6c 74 69 6e 2e 6f 73 2e 74 61 67 20 3d 3d 20 2e 77 69 6e 64 6f 77 73 29 20 7b 0a 20 20 20 uiltin.os.tag.==..windows).{....
db880 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">/
db8a0 2f 20 68 74 74 70 73 3a 2f 2f 67 69 74 68 75 62 2e 63 6f 6d 2f 7a 69 67 6c 61 6e 67 2f 7a 69 67 /.https://github.com/ziglang/zig
db8c0 2f 69 73 73 75 65 73 2f 31 36 39 36 31 3c 2f 73 70 61 6e 3e 0a 20 20 20 20 20 20 20 20 3c 73 70 /issues/16961</span>.........<sp
db8e0 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>.
db900 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
db920 3e 2e 53 6b 69 70 5a 69 67 54 65 73 74 3b 0a 20 20 20 20 7d 0a 20 20 20 20 3c 73 70 61 6e 20 63 >.SkipZigTest;.....}.....<span.c
db940 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 69 66 3c 2f 73 70 61 6e 3e 20 28 62 75 69 6c 74 69 6e lass="tok-kw">if</span>.(builtin
db960 2e 63 70 75 2e 61 72 63 68 20 3d 3d 20 2e 73 33 39 30 78 29 20 7b 0a 20 20 20 20 20 20 20 20 3c .cpu.arch.==..s390x).{.........<
db980 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 63 6f 6d 6d 65 6e 74 22 3e 2f 2f 20 68 74 74 70 span.class="tok-comment">//.http
db9a0 73 3a 2f 2f 67 69 74 68 75 62 2e 63 6f 6d 2f 7a 69 67 6c 61 6e 67 2f 7a 69 67 2f 69 73 73 75 65 s://github.com/ziglang/zig/issue
db9c0 73 2f 32 31 33 35 30 23 69 73 73 75 65 63 6f 6d 6d 65 6e 74 2d 33 35 34 33 30 30 36 34 37 35 3c s/21350#issuecomment-3543006475<
db9e0 2f 73 70 61 6e 3e 0a 20 20 20 20 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d /span>.........<span.class="tok-
dba00 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
dba20 6f 6b 2d 6b 77 22 3e 65 72 72 6f 72 3c 2f 73 70 61 6e 3e 2e 53 6b 69 70 5a 69 67 54 65 73 74 3b ok-kw">error</span>.SkipZigTest;
dba40 0a 20 20 20 20 7d 0a 0a 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 .....}......<span.class="tok-kw"
dba60 3e 74 72 79 3c 2f 73 70 61 6e 3e 20 73 74 64 2e 74 65 73 74 69 6e 67 2e 65 78 70 65 63 74 45 71 >try</span>.std.testing.expectEq
dba80 75 61 6c 28 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 62 75 69 6c 74 69 6e 22 3e 40 61 ual(<span.class="tok-builtin">@a
dbaa0 73 3c 2f 73 70 61 6e 3e 28 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e s</span>(<span.class="tok-type">
dbac0 63 5f 69 6e 74 3c 2f 73 70 61 6e 3e 2c 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e c_int</span>,.<span.class="tok-n
dbae0 75 6d 62 65 72 22 3e 30 3c 2f 73 70 61 6e 3e 29 2c 20 61 64 64 28 3c 73 70 61 6e 20 63 6c 61 73 umber">0</span>),.add(<span.clas
dbb00 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 30 3c 2f 73 70 61 6e 3e 29 29 3b 0a 20 20 20 20 3c s="tok-number">0</span>));.....<
dbb20 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 74 72 79 3c 2f 73 70 61 6e 3e 20 73 span.class="tok-kw">try</span>.s
dbb40 74 64 2e 74 65 73 74 69 6e 67 2e 65 78 70 65 63 74 45 71 75 61 6c 28 3c 73 70 61 6e 20 63 6c 61 td.testing.expectEqual(<span.cla
dbb60 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
dbb80 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 63 5f 69 6e 74 3c 2f 73 70 61 6e 3e 2c n.class="tok-type">c_int</span>,
dbba0 20 3c 73 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
dbbc0 6e 3e 29 2c 20 61 64 64 28 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 n>),.add(<span.class="tok-number
dbbe0 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 62 75 69 ">1</span>,.<span.class="tok-bui
dbc00 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
dbc20 6b 2d 74 79 70 65 22 3e 63 5f 69 6e 74 3c 2f 73 70 61 6e 3e 2c 20 3c 73 70 61 6e 20 63 6c 61 73 k-type">c_int</span>,.<span.clas
dbc40 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 31 3c 2f 73 70 61 6e 3e 29 29 29 3b 0a 20 20 20 20 s="tok-number">1</span>)));.....
dbc60 3c 73 70 61 6e 20 63 6c 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>.
dbc80 73 74 64 2e 74 65 73 74 69 6e 67 2e 65 78 70 65 63 74 45 71 75 61 6c 28 3c 73 70 61 6e 20 63 6c std.testing.expectEqual(<span.cl
dbca0 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
dbcc0 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 63 5f 69 6e 74 3c 2f 73 70 61 6e 3e an.class="tok-type">c_int</span>
dbce0 2c 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 33 3c 2f 73 70 ,.<span.class="tok-number">3</sp
dbd00 61 6e 3e 29 2c 20 61 64 64 28 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 an>),.add(<span.class="tok-numbe
dbd20 72 22 3e 32 3c 2f 73 70 61 6e 3e 2c 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 62 75 r">2</span>,.<span.class="tok-bu
dbd40 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
dbd60 6f 6b 2d 74 79 70 65 22 3e 63 5f 69 6e 74 3c 2f 73 70 61 6e 3e 2c 20 3c 73 70 61 6e 20 63 6c 61 ok-type">c_int</span>,.<span.cla
dbd80 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 31 3c 2f 73 70 61 6e 3e 29 2c 20 3c 73 70 61 6e ss="tok-number">1</span>),.<span
dbda0 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>(
dbdc0 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 63 5f 69 6e 74 3c 2f 73 70 <span.class="tok-type">c_int</sp
dbde0 61 6e 3e 2c 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 32 3c an>,.<span.class="tok-number">2<
dbe00 2f 73 70 61 6e 3e 29 29 29 3b 0a 7d 3c 2f 63 6f 64 65 3e 3c 2f 70 72 65 3e 3c 2f 66 69 67 75 72 /span>)));.}</code></pre></figur
dbe20 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
dbe40 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><
dbe60 73 61 6d 70 3e 24 20 3c 6b 62 64 3e 7a 69 67 20 74 65 73 74 20 74 65 73 74 5f 64 65 66 69 6e 69 samp>$.<kbd>zig.test.test_defini
dbe80 6e 67 5f 76 61 72 69 61 64 69 63 5f 66 75 6e 63 74 69 6f 6e 2e 7a 69 67 3c 2f 6b 62 64 3e 0a 31 ng_variadic_function.zig</kbd>.1
dbea0 2f 31 20 74 65 73 74 5f 64 65 66 69 6e 69 6e 67 5f 76 61 72 69 61 64 69 63 5f 66 75 6e 63 74 69 /1.test_defining_variadic_functi
dbec0 6f 6e 2e 74 65 73 74 2e 64 65 66 69 6e 69 6e 67 20 61 20 76 61 72 69 61 64 69 63 20 66 75 6e 63 on.test.defining.a.variadic.func
dbee0 74 69 6f 6e 2e 2e 2e 4f 4b 0a 41 6c 6c 20 31 20 74 65 73 74 73 20 70 61 73 73 65 64 2e 0a 3c 2f tion...OK.All.1.tests.passed..</
dbf00 73 61 6d 70 3e 3c 2f 70 72 65 3e 3c 2f 66 69 67 75 72 65 3e 0a 0a 20 20 20 20 20 20 0a 20 20 20 samp></pre></figure>............
dbf20 20 20 20 3c 68 33 20 69 64 3d 22 45 78 70 6f 72 74 69 6e 67 2d 61 2d 43 2d 4c 69 62 72 61 72 79 ...<h3.id="Exporting-a-C-Library
dbf40 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 70 6f 72 74 69 "><a.href="nav.xhtml#toc-Exporti
dbf60 6e 67 2d 61 2d 43 2d 4c 69 62 72 61 72 79 22 3e 45 78 70 6f 72 74 69 6e 67 20 61 20 43 20 4c 69 ng-a-C-Library">Exporting.a.C.Li
dbf80 62 72 61 72 79 3c 2f 61 3e 20 3c 61 20 63 6c 61 73 73 3d 22 68 64 72 22 20 68 72 65 66 3d 22 23 brary</a>.<a.class="hdr".href="#
dbfa0 45 78 70 6f 72 74 69 6e 67 2d 61 2d 43 2d 4c 69 62 72 61 72 79 22 3e c2 a7 3c 2f 61 3e 3c 2f 68 Exporting-a-C-Library">..</a></h
dbfc0 33 3e 0a 0a 20 20 20 20 20 20 3c 70 3e 0a 20 20 20 20 20 20 4f 6e 65 20 6f 66 20 74 68 65 20 70 3>........<p>.......One.of.the.p
dbfe0 72 69 6d 61 72 79 20 75 73 65 20 63 61 73 65 73 20 66 6f 72 20 5a 69 67 20 69 73 20 65 78 70 6f rimary.use.cases.for.Zig.is.expo
dc000 72 74 69 6e 67 20 61 20 6c 69 62 72 61 72 79 20 77 69 74 68 20 74 68 65 20 43 20 41 42 49 20 66 rting.a.library.with.the.C.ABI.f
dc020 6f 72 20 6f 74 68 65 72 20 70 72 6f 67 72 61 6d 6d 69 6e 67 20 6c 61 6e 67 75 61 67 65 73 0a 20 or.other.programming.languages..
dc040 20 20 20 20 20 74 6f 20 63 61 6c 6c 20 69 6e 74 6f 2e 20 54 68 65 20 3c 63 6f 64 65 3e 3c 73 70 .....to.call.into..The.<code><sp
dc060 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 3c an.class="tok-kw">export</span><
dc080 2f 63 6f 64 65 3e 20 6b 65 79 77 6f 72 64 20 69 6e 20 66 72 6f 6e 74 20 6f 66 20 66 75 6e 63 74 /code>.keyword.in.front.of.funct
dc0a0 69 6f 6e 73 2c 20 76 61 72 69 61 62 6c 65 73 2c 20 61 6e 64 20 74 79 70 65 73 20 63 61 75 73 65 ions,.variables,.and.types.cause
dc0c0 73 20 74 68 65 6d 20 74 6f 0a 20 20 20 20 20 20 62 65 20 70 61 72 74 20 6f 66 20 74 68 65 20 6c s.them.to.......be.part.of.the.l
dc0e0 69 62 72 61 72 79 20 41 50 49 3a 0a 20 20 20 20 20 20 3c 2f 70 3e 0a 20 20 20 20 20 20 3c 66 69 ibrary.API:.......</p>.......<fi
dc100 67 75 72 65 3e 3c 66 69 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"
dc120 3e 3c 63 69 74 65 20 63 6c 61 73 73 3d 22 66 69 6c 65 22 3e 6d 61 74 68 74 65 73 74 2e 7a 69 67 ><cite.class="file">mathtest.zig
dc140 3c 2f 63 69 74 65 3e 3c 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><
dc160 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
dc180 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>
dc1a0 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>
dc1c0 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</
dc1e0 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"
dc200 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
dc220 70 65 22 3e 69 33 32 3c 2f 73 70 61 6e 3e 20 7b 0a 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 pe">i32</span>.{.....<span.class
dc240 3d 22 74 6f 6b 2d 6b 77 22 3e 72 65 74 75 72 6e 3c 2f 73 70 61 6e 3e 20 61 20 2b 20 62 3b 0a 7d ="tok-kw">return</span>.a.+.b;.}
dc260 3c 2f 63 6f 64 65 3e 3c 2f 70 72 65 3e 3c 2f 66 69 67 75 72 65 3e 0a 0a 20 20 20 20 20 20 3c 70 </code></pre></figure>........<p
dc280 3e 54 6f 20 6d 61 6b 65 20 61 20 73 74 61 74 69 63 20 6c 69 62 72 61 72 79 3a 3c 2f 70 3e 0a 20 >To.make.a.static.library:</p>..
dc2a0 20 20 20 20 20 3c 66 69 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="
dc2c0 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
dc2e0 65 3e 3c 73 61 6d 70 3e 24 20 3c 6b 62 64 3e 7a 69 67 20 62 75 69 6c 64 2d 6c 69 62 20 6d 61 74 e><samp>$.<kbd>zig.build-lib.mat
dc300 68 74 65 73 74 2e 7a 69 67 3c 2f 6b 62 64 3e 0a 3c 2f 73 61 6d 70 3e 3c 2f 70 72 65 3e 3c 2f 66 htest.zig</kbd>.</samp></pre></f
dc320 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
dc340 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
dc360 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<
dc380 2f 66 69 67 63 61 70 74 69 6f 6e 3e 3c 70 72 65 3e 3c 73 61 6d 70 3e 24 20 3c 6b 62 64 3e 7a 69 /figcaption><pre><samp>$.<kbd>zi
dc3a0 67 20 62 75 69 6c 64 2d 6c 69 62 20 6d 61 74 68 74 65 73 74 2e 7a 69 67 20 2d 64 79 6e 61 6d 69 g.build-lib.mathtest.zig.-dynami
dc3c0 63 3c 2f 6b 62 64 3e 0a 3c 2f 73 61 6d 70 3e 3c 2f 70 72 65 3e 3c 2f 66 69 67 75 72 65 3e 0a 20 c</kbd>.</samp></pre></figure>..
dc3e0 20 20 20 20 20 3c 70 3e 48 65 72 65 20 69 73 20 61 6e 20 65 78 61 6d 70 6c 65 20 77 69 74 68 20 .....<p>Here.is.an.example.with.
dc400 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 3e the.<a.href="#Zig-Build-System">
dc420 5a 69 67 20 42 75 69 6c 64 20 53 79 73 74 65 6d 3c 2f 61 3e 3a 3c 2f 70 3e 0a 20 20 20 20 20 20 Zig.Build.System</a>:</p>.......
dc440 3c 66 69 67 75 72 65 3e 3c 66 69 67 63 61 70 74 69 6f 6e 20 63 6c 61 73 73 3d 22 63 2d 63 61 70 <figure><figcaption.class="c-cap
dc460 22 3e 3c 63 69 74 65 20 63 6c 61 73 73 3d 22 66 69 6c 65 22 3e 74 65 73 74 2e 63 3c 2f 63 69 74 "><cite.class="file">test.c</cit
dc480 65 3e 3c 2f 66 69 67 63 61 70 74 69 6f 6e 3e 3c 70 72 65 3e 3c 63 6f 64 65 3e 2f 2f 20 54 68 69 e></figcaption><pre><code>//.Thi
dc4a0 73 20 68 65 61 64 65 72 20 69 73 20 67 65 6e 65 72 61 74 65 64 20 62 79 20 7a 69 67 20 66 72 6f s.header.is.generated.by.zig.fro
dc4c0 6d 20 6d 61 74 68 74 65 73 74 2e 7a 69 67 0a 23 69 6e 63 6c 75 64 65 20 26 71 75 6f 74 3b 6d 61 m.mathtest.zig.#include.&quot;ma
dc4e0 74 68 74 65 73 74 2e 68 26 71 75 6f 74 3b 0a 23 69 6e 63 6c 75 64 65 20 26 6c 74 3b 73 74 64 69 thtest.h&quot;.#include.&lt;stdi
dc500 6f 2e 68 26 67 74 3b 0a 0a 69 6e 74 20 6d 61 69 6e 28 69 6e 74 20 61 72 67 63 2c 20 63 68 61 72 o.h&gt;..int.main(int.argc,.char
dc520 20 2a 2a 61 72 67 76 29 20 7b 0a 20 20 20 20 69 6e 74 33 32 5f 74 20 72 65 73 75 6c 74 20 3d 20 .**argv).{.....int32_t.result.=.
dc540 61 64 64 28 34 32 2c 20 31 33 33 37 29 3b 0a 20 20 20 20 70 72 69 6e 74 66 28 26 71 75 6f 74 3b add(42,.1337);.....printf(&quot;
dc560 25 64 5c 6e 26 71 75 6f 74 3b 2c 20 72 65 73 75 6c 74 29 3b 0a 20 20 20 20 72 65 74 75 72 6e 20 %d\n&quot;,.result);.....return.
dc580 30 3b 0a 7d 3c 2f 63 6f 64 65 3e 3c 2f 70 72 65 3e 3c 2f 66 69 67 75 72 65 3e 0a 20 20 20 20 20 0;.}</code></pre></figure>......
dc5a0 20 3c 66 69 67 75 72 65 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-
dc5c0 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 5f 63 2e cap"><cite.class="file">build_c.
dc5e0 7a 69 67 3c 2f 63 69 74 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
dc600 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 63 6f 6e 73 74 3c 2f 73 70 e><span.class="tok-kw">const</sp
dc620 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
dc640 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="
dc660 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>)
dc680 3b 0a 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 70 75 62 3c 2f 73 70 61 ;..<span.class="tok-kw">pub</spa
dc6a0 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
dc6c0 3e 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 66 6e 22 3e 62 75 69 6c 64 3c 2f 73 70 >.<span.class="tok-fn">build</sp
dc6e0 61 6e 3e 28 62 3a 20 2a 73 74 64 2e 42 75 69 6c 64 29 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 an>(b:.*std.Build).<span.class="
dc700 74 6f 6b 2d 74 79 70 65 22 3e 76 6f 69 64 3c 2f 73 70 61 6e 3e 20 7b 0a 20 20 20 20 3c 73 70 61 tok-type">void</span>.{.....<spa
dc720 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 63 6f 6e 73 74 3c 2f 73 70 61 6e 3e 20 6c 69 n.class="tok-kw">const</span>.li
dc740 62 20 3d 20 62 2e 61 64 64 4c 69 62 72 61 72 79 28 2e 7b 0a 20 20 20 20 20 20 20 20 2e 6c 69 6e b.=.b.addLibrary(.{..........lin
dc760 6b 61 67 65 20 3d 20 2e 64 79 6e 61 6d 69 63 2c 0a 20 20 20 20 20 20 20 20 2e 6e 61 6d 65 20 3d kage.=..dynamic,..........name.=
dc780 20 3c 73 70 61 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 .<span.class="tok-str">&quot;mat
dc7a0 68 74 65 73 74 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 2c 0a 20 20 20 20 20 20 20 20 2e 72 6f 6f htest&quot;</span>,..........roo
dc7c0 74 5f 6d 6f 64 75 6c 65 20 3d 20 62 2e 63 72 65 61 74 65 4d 6f 64 75 6c 65 28 2e 7b 0a 20 20 20 t_module.=.b.createModule(.{....
dc7e0 20 20 20 20 20 20 20 20 20 2e 72 6f 6f 74 5f 73 6f 75 72 63 65 5f 66 69 6c 65 20 3d 20 62 2e 70 ..........root_source_file.=.b.p
dc800 61 74 68 28 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 73 74 72 22 3e 26 71 75 6f 74 3b ath(<span.class="tok-str">&quot;
dc820 6d 61 74 68 74 65 73 74 2e 7a 69 67 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 29 2c 0a 20 20 20 20 mathtest.zig&quot;</span>),.....
dc840 20 20 20 20 7d 29 2c 0a 20 20 20 20 20 20 20 20 2e 76 65 72 73 69 6f 6e 20 3d 20 2e 7b 20 2e 6d ....}),..........version.=..{..m
dc860 61 6a 6f 72 20 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e ajor.=.<span.class="tok-number">
dc880 31 3c 2f 73 70 61 6e 3e 2c 20 2e 6d 69 6e 6f 72 20 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 1</span>,..minor.=.<span.class="
dc8a0 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 30 3c 2f 73 70 61 6e 3e 2c 20 2e 70 61 74 63 68 20 3d 20 3c tok-number">0</span>,..patch.=.<
dc8c0 73 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>
dc8e0 20 7d 2c 0a 20 20 20 20 7d 29 3b 0a 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b .},.....});.....<span.class="tok
dc900 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 65 -kw">const</span>.exe.=.b.addExe
dc920 63 75 74 61 62 6c 65 28 2e 7b 0a 20 20 20 20 20 20 20 20 2e 6e 61 6d 65 20 3d 20 3c 73 70 61 6e cutable(.{..........name.=.<span
dc940 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 73 74 72 22 3e 26 71 75 6f 74 3b 74 65 73 74 26 71 75 6f 74 .class="tok-str">&quot;test&quot
dc960 3b 3c 2f 73 70 61 6e 3e 2c 0a 20 20 20 20 20 20 20 20 2e 72 6f 6f 74 5f 6d 6f 64 75 6c 65 20 3d ;</span>,..........root_module.=
dc980 20 62 2e 63 72 65 61 74 65 4d 6f 64 75 6c 65 28 2e 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 2e .b.createModule(.{..............
dc9a0 6c 69 6e 6b 5f 6c 69 62 63 20 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6c link_libc.=.<span.class="tok-nul
dc9c0 6c 22 3e 74 72 75 65 3c 2f 73 70 61 6e 3e 2c 0a 20 20 20 20 20 20 20 20 7d 29 2c 0a 20 20 20 20 l">true</span>,.........}),.....
dc9e0 7d 29 3b 0a 20 20 20 20 65 78 65 2e 72 6f 6f 74 5f 6d 6f 64 75 6c 65 2e 61 64 64 43 53 6f 75 72 });.....exe.root_module.addCSour
dca00 63 65 46 69 6c 65 28 2e 7b 20 2e 66 69 6c 65 20 3d 20 62 2e 70 61 74 68 28 3c 73 70 61 6e 20 63 ceFile(.{..file.=.b.path(<span.c
dca20 6c 61 73 73 3d 22 74 6f 6b 2d 73 74 72 22 3e 26 71 75 6f 74 3b 74 65 73 74 2e 63 26 71 75 6f 74 lass="tok-str">&quot;test.c&quot
dca40 3b 3c 2f 73 70 61 6e 3e 29 2c 20 2e 66 6c 61 67 73 20 3d 20 26 61 6d 70 3b 2e 7b 3c 73 70 61 6e ;</span>),..flags.=.&amp;.{<span
dca60 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 39 26 .class="tok-str">&quot;-std=c99&
dca80 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 7d 20 7d 29 3b 0a 20 20 20 20 65 78 65 2e 72 6f 6f 74 5f 6d quot;</span>}.});.....exe.root_m
dcaa0 6f 64 75 6c 65 2e 6c 69 6e 6b 4c 69 62 72 61 72 79 28 6c 69 62 29 3b 0a 0a 20 20 20 20 62 2e 64 odule.linkLibrary(lib);......b.d
dcac0 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 2e 73 74 efault_step.dependOn(&amp;exe.st
dcae0 65 70 29 3b 0a 0a 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 63 ep);......<span.class="tok-kw">c
dcb00 6f 6e 73 74 3c 2f 73 70 61 6e 3e 20 72 75 6e 5f 63 6d 64 20 3d 20 65 78 65 2e 72 75 6e 28 29 3b onst</span>.run_cmd.=.exe.run();
dcb20 0a 0a 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 63 6f 6e 73 74 ......<span.class="tok-kw">const
dcb40 3c 2f 73 70 61 6e 3e 20 74 65 73 74 5f 73 74 65 70 20 3d 20 62 2e 73 74 65 70 28 3c 73 70 61 6e </span>.test_step.=.b.step(<span
dcb60 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 73 74 72 22 3e 26 71 75 6f 74 3b 74 65 73 74 26 71 75 6f 74 .class="tok-str">&quot;test&quot
dcb80 3b 3c 2f 73 70 61 6e 3e 2c 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 73 74 72 22 3e ;</span>,.<span.class="tok-str">
dcba0 26 71 75 6f 74 3b 54 65 73 74 20 74 68 65 20 70 72 6f 67 72 61 6d 26 71 75 6f 74 3b 3c 2f 73 70 &quot;Test.the.program&quot;</sp
dcbc0 61 6e 3e 29 3b 0a 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 an>);.....test_step.dependOn(&am
dcbe0 70 3b 72 75 6e 5f 63 6d 64 2e 73 74 65 70 29 3b 0a 7d 3c 2f 63 6f 64 65 3e 3c 2f 70 72 65 3e 3c p;run_cmd.step);.}</code></pre><
dcc00 2f 66 69 67 75 72 65 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 /figure>........<figure><figcapt
dcc20 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
dcc40 63 61 70 74 69 6f 6e 3e 3c 70 72 65 3e 3c 73 61 6d 70 3e 24 20 3c 6b 62 64 3e 7a 69 67 20 62 75 caption><pre><samp>$.<kbd>zig.bu
dcc60 69 6c 64 20 74 65 73 74 3c 2f 6b 62 64 3e 0a 31 33 37 39 0a 3c 2f 73 61 6d 70 3e 3c 2f 70 72 65 ild.test</kbd>.1379.</samp></pre
dcc80 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
dcca0 3e 3c 75 6c 3e 0a 3c 6c 69 3e 3c 61 20 68 72 65 66 3d 22 23 65 78 70 6f 72 74 22 3e 65 78 70 6f ><ul>.<li><a.href="#export">expo
dccc0 72 74 3c 2f 61 3e 3c 2f 6c 69 3e 0a 3c 2f 75 6c 3e 0a 0a 20 20 20 20 20 20 0a 20 20 20 20 20 20 rt</a></li>.</ul>...............
dcce0 3c 68 33 20 69 64 3d 22 4d 69 78 69 6e 67 2d 4f 62 6a 65 63 74 2d 46 69 6c 65 73 22 3e 3c 61 20 <h3.id="Mixing-Object-Files"><a.
dcd00 68 72 65 66 3d 22 6e 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 href="nav.xhtml#toc-Mixing-Objec
dcd20 74 2d 46 69 6c 65 73 22 3e 4d 69 78 69 6e 67 20 4f 62 6a 65 63 74 20 46 69 6c 65 73 3c 2f 61 3e t-Files">Mixing.Object.Files</a>
dcd40 20 3c 61 20 63 6c 61 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 .<a.class="hdr".href="#Mixing-Ob
dcd60 6a 65 63 74 2d 46 69 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 ject-Files">..</a></h3>........<
dcd80 70 3e 0a 20 20 20 20 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 p>.......You.can.mix.Zig.object.
dcda0 66 69 6c 65 73 20 77 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 files.with.any.other.object.file
dcdc0 73 20 74 68 61 74 20 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 s.that.respect.the.C.ABI..Exampl
dcde0 65 3a 0a 20 20 20 20 20 20 3c 2f 70 3e 0a 20 20 20 20 20 20 3c 66 69 67 75 72 65 3e 3c 66 69 67 e:.......</p>.......<figure><fig
dce00 63 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
dce20 61 73 73 3d 22 66 69 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 ass="file">base64.zig</cite></fi
dce40 67 63 61 70 74 69 6f 6e 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=
dce60 22 74 6f 6b 2d 6b 77 22 3e 63 6f 6e 73 74 3c 2f 73 70 61 6e 3e 20 62 61 73 65 36 34 20 3d 20 3c "tok-kw">const</span>.base64.=.<
dce80 73 70 61 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
dcea0 3c 2f 73 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
dcec0 75 6f 74 3b 73 74 64 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 29 2e 62 61 73 65 36 34 3b 0a 0a 3c uot;std&quot;</span>).base64;..<
dcee0 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
dcf00 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>
dcf20 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
dcf40 65 5f 36 34 3c 2f 73 70 61 6e 3e 28 0a 20 20 20 20 64 65 73 74 5f 70 74 72 3a 20 5b 2a 5d 3c 73 e_64</span>(.....dest_ptr:.[*]<s
dcf60 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 75 38 3c 2f 73 70 61 6e 3e 2c 0a pan.class="tok-type">u8</span>,.
dcf80 20 20 20 20 64 65 73 74 5f 6c 65 6e 3a 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 ....dest_len:.<span.class="tok-t
dcfa0 79 70 65 22 3e 75 73 69 7a 65 3c 2f 73 70 61 6e 3e 2c 0a 20 20 20 20 73 6f 75 72 63 65 5f 70 74 ype">usize</span>,.....source_pt
dcfc0 72 3a 20 5b 2a 5d 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 63 6f 6e 73 74 r:.[*]<span.class="tok-kw">const
dcfe0 3c 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
dd000 38 3c 2f 73 70 61 6e 3e 2c 0a 20 20 20 20 73 6f 75 72 63 65 5f 6c 65 6e 3a 20 3c 73 70 61 6e 20 8</span>,.....source_len:.<span.
dd020 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 0a 29 class="tok-type">usize</span>,.)
dd040 20 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
dd060 70 61 6e 3e 20 7b 0a 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e pan>.{.....<span.class="tok-kw">
dd080 63 6f 6e 73 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 const</span>.src.=.source_ptr[<s
dd0a0 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>.
dd0c0 2e 73 6f 75 72 63 65 5f 6c 65 6e 5d 3b 0a 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 .source_len];.....<span.class="t
dd0e0 6f 6b 2d 6b 77 22 3e 63 6f 6e 73 74 3c 2f 73 70 61 6e 3e 20 64 65 73 74 20 3d 20 64 65 73 74 5f ok-kw">const</span>.dest.=.dest_
dd100 70 74 72 5b 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 30 3c 2f ptr[<span.class="tok-number">0</
dd120 73 70 61 6e 3e 2e 2e 64 65 73 74 5f 6c 65 6e 5d 3b 0a 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 span>..dest_len];.....<span.clas
dd140 73 3d 22 74 6f 6b 2d 6b 77 22 3e 63 6f 6e 73 74 3c 2f 73 70 61 6e 3e 20 62 61 73 65 36 34 5f 64 s="tok-kw">const</span>.base64_d
dd160 65 63 6f 64 65 72 20 3d 20 62 61 73 65 36 34 2e 73 74 61 6e 64 61 72 64 2e 44 65 63 6f 64 65 72 ecoder.=.base64.standard.Decoder
dd180 3b 0a 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 63 6f 6e 73 74 ;.....<span.class="tok-kw">const
dd1a0 3c 2f 73 70 61 6e 3e 20 64 65 63 6f 64 65 64 5f 73 69 7a 65 20 3d 20 62 61 73 65 36 34 5f 64 65 </span>.decoded_size.=.base64_de
dd1c0 63 6f 64 65 72 2e 63 61 6c 63 53 69 7a 65 46 6f 72 53 6c 69 63 65 28 73 72 63 29 20 3c 73 70 61 coder.calcSizeForSlice(src).<spa
dd1e0 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
dd200 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 75 6e 72 65 61 63 68 61 62 6c 65 3c 2f pan.class="tok-kw">unreachable</
dd220 73 70 61 6e 3e 3b 0a 20 20 20 20 62 61 73 65 36 34 5f 64 65 63 6f 64 65 72 2e 64 65 63 6f 64 65 span>;.....base64_decoder.decode
dd240 28 64 65 73 74 5b 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 30 (dest[<span.class="tok-number">0
dd260 3c 2f 73 70 61 6e 3e 2e 2e 64 65 63 6f 64 65 64 5f 73 69 7a 65 5d 2c 20 73 72 63 29 20 3c 73 70 </span>..decoded_size],.src).<sp
dd280 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 63 61 74 63 68 3c 2f 73 70 61 6e 3e 20 3c an.class="tok-kw">catch</span>.<
dd2a0 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<
dd2c0 2f 73 70 61 6e 3e 3b 0a 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 /span>;.....<span.class="tok-kw"
dd2e0 3e 72 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 0a 7d 3c 2f >return</span>.decoded_size;.}</
dd300 63 6f 64 65 3e 3c 2f 70 72 65 3e 3c 2f 66 69 67 75 72 65 3e 0a 0a 20 20 20 20 20 20 3c 66 69 67 code></pre></figure>........<fig
dd320 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
dd340 69 74 65 20 63 6c 61 73 73 3d 22 66 69 6c 65 22 3e 74 65 73 74 2e 63 3c 2f 63 69 74 65 3e 3c 2f ite.class="file">test.c</cite></
dd360 66 69 67 63 61 70 74 69 6f 6e 3e 3c 70 72 65 3e 3c 63 6f 64 65 3e 2f 2f 20 54 68 69 73 20 68 65 figcaption><pre><code>//.This.he
dd380 61 64 65 72 20 69 73 20 67 65 6e 65 72 61 74 65 64 20 62 79 20 7a 69 67 20 66 72 6f 6d 20 62 61 ader.is.generated.by.zig.from.ba
dd3a0 73 65 36 34 2e 7a 69 67 0a 23 69 6e 63 6c 75 64 65 20 26 71 75 6f 74 3b 62 61 73 65 36 34 2e 68 se64.zig.#include.&quot;base64.h
dd3c0 26 71 75 6f 74 3b 0a 0a 23 69 6e 63 6c 75 64 65 20 26 6c 74 3b 73 74 72 69 6e 67 2e 68 26 67 74 &quot;..#include.&lt;string.h&gt
dd3e0 3b 0a 23 69 6e 63 6c 75 64 65 20 26 6c 74 3b 73 74 64 69 6f 2e 68 26 67 74 3b 0a 0a 69 6e 74 20 ;.#include.&lt;stdio.h&gt;..int.
dd400 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 0a 20 20 main(int.argc,.char.**argv).{...
dd420 20 20 63 6f 6e 73 74 20 63 68 61 72 20 2a 65 6e 63 6f 64 65 64 20 3d 20 26 71 75 6f 74 3b 59 57 ..const.char.*encoded.=.&quot;YW
dd440 78 73 49 48 6c 76 64 58 49 67 59 6d 46 7a 5a 53 42 68 63 6d 55 67 59 6d 56 73 62 32 35 6e 49 48 xsIHlvdXIgYmFzZSBhcmUgYmVsb25nIH
dd460 52 76 49 48 56 7a 26 71 75 6f 74 3b 3b 0a 20 20 20 20 63 68 61 72 20 62 75 66 5b 32 30 30 5d 3b RvIHVz&quot;;.....char.buf[200];
dd480 0a 0a 20 20 20 20 73 69 7a 65 5f 74 20 6c 65 6e 20 3d 20 64 65 63 6f 64 65 5f 62 61 73 65 5f 36 ......size_t.len.=.decode_base_6
dd4a0 34 28 62 75 66 2c 20 32 30 30 2c 20 65 6e 63 6f 64 65 64 2c 20 73 74 72 6c 65 6e 28 65 6e 63 6f 4(buf,.200,.encoded,.strlen(enco
dd4c0 64 65 64 29 29 3b 0a 20 20 20 20 62 75 66 5b 6c 65 6e 5d 20 3d 20 30 3b 0a 20 20 20 20 70 75 74 ded));.....buf[len].=.0;.....put
dd4e0 73 28 62 75 66 29 3b 0a 0a 20 20 20 20 72 65 74 75 72 6e 20 30 3b 0a 7d 3c 2f 63 6f 64 65 3e 3c s(buf);......return.0;.}</code><
dd500 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
dd520 67 63 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
dd540 6c 61 73 73 3d 22 66 69 6c 65 22 3e 62 75 69 6c 64 5f 6f 62 6a 65 63 74 2e 7a 69 67 3c 2f 63 69 lass="file">build_object.zig</ci
dd560 74 65 3e 3c 2f 66 69 67 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
dd580 20 63 6c 61 73 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
dd5a0 20 3d 20 3c 73 70 61 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
dd5c0 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
dd5e0 22 3e 26 71 75 6f 74 3b 73 74 64 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 29 3b 0a 0a 3c 73 70 61 ">&quot;std&quot;</span>);..<spa
dd600 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
dd620 6e 20 63 6c 61 73 73 3d 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
dd640 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 20 .class="tok-fn">build</span>(b:.
dd660 2a 73 74 64 2e 42 75 69 6c 64 29 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 *std.Build).<span.class="tok-typ
dd680 65 22 3e 76 6f 69 64 3c 2f 73 70 61 6e 3e 20 7b 0a 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 e">void</span>.{.....<span.class
dd6a0 3d 22 74 6f 6b 2d 6b 77 22 3e 63 6f 6e 73 74 3c 2f 73 70 61 6e 3e 20 6f 62 6a 20 3d 20 62 2e 61 ="tok-kw">const</span>.obj.=.b.a
dd6c0 64 64 4f 62 6a 65 63 74 28 2e 7b 0a 20 20 20 20 20 20 20 20 2e 6e 61 6d 65 20 3d 20 3c 73 70 61 ddObject(.{..........name.=.<spa
dd6e0 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 73 74 72 22 3e 26 71 75 6f 74 3b 62 61 73 65 36 34 26 71 n.class="tok-str">&quot;base64&q
dd700 75 6f 74 3b 3c 2f 73 70 61 6e 3e 2c 0a 20 20 20 20 20 20 20 20 2e 72 6f 6f 74 5f 6d 6f 64 75 6c uot;</span>,..........root_modul
dd720 65 20 3d 20 62 2e 63 72 65 61 74 65 4d 6f 64 75 6c 65 28 2e 7b 0a 20 20 20 20 20 20 20 20 20 20 e.=.b.createModule(.{...........
dd740 20 20 2e 72 6f 6f 74 5f 73 6f 75 72 63 65 5f 66 69 6c 65 20 3d 20 62 2e 70 61 74 68 28 3c 73 70 ...root_source_file.=.b.path(<sp
dd760 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 73 74 72 22 3e 26 71 75 6f 74 3b 62 61 73 65 36 34 2e an.class="tok-str">&quot;base64.
dd780 7a 69 67 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 29 2c 0a 20 20 20 20 20 20 20 20 7d 29 2c 0a 20 zig&quot;</span>),.........}),..
dd7a0 20 20 20 7d 29 3b 0a 0a 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 ...});......<span.class="tok-kw"
dd7c0 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 65 63 75 74 61 >const</span>.exe.=.b.addExecuta
dd7e0 62 6c 65 28 2e 7b 0a 20 20 20 20 20 20 20 20 2e 6e 61 6d 65 20 3d 20 3c 73 70 61 6e 20 63 6c 61 ble(.{..........name.=.<span.cla
dd800 73 73 3d 22 74 6f 6b 2d 73 74 72 22 3e 26 71 75 6f 74 3b 74 65 73 74 26 71 75 6f 74 3b 3c 2f 73 ss="tok-str">&quot;test&quot;</s
dd820 70 61 6e 3e 2c 0a 20 20 20 20 20 20 20 20 2e 72 6f 6f 74 5f 6d 6f 64 75 6c 65 20 3d 20 62 2e 63 pan>,..........root_module.=.b.c
dd840 72 65 61 74 65 4d 6f 64 75 6c 65 28 2e 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 2e 6c 69 6e 6b reateModule(.{..............link
dd860 5f 6c 69 62 63 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 _libc.=.<span.class="tok-null">t
dd880 72 75 65 3c 2f 73 70 61 6e 3e 2c 0a 20 20 20 20 20 20 20 20 7d 29 2c 0a 20 20 20 20 7d 29 3b 0a rue</span>,.........}),.....});.
dd8a0 20 20 20 20 65 78 65 2e 72 6f 6f 74 5f 6d 6f 64 75 6c 65 2e 61 64 64 43 53 6f 75 72 63 65 46 69 ....exe.root_module.addCSourceFi
dd8c0 6c 65 28 2e 7b 20 2e 66 69 6c 65 20 3d 20 62 2e 70 61 74 68 28 3c 73 70 61 6e 20 63 6c 61 73 73 le(.{..file.=.b.path(<span.class
dd8e0 3d 22 74 6f 6b 2d 73 74 72 22 3e 26 71 75 6f 74 3b 74 65 73 74 2e 63 26 71 75 6f 74 3b 3c 2f 73 ="tok-str">&quot;test.c&quot;</s
dd900 70 61 6e 3e 29 2c 20 2e 66 6c 61 67 73 20 3d 20 26 61 6d 70 3b 2e 7b 3c 73 70 61 6e 20 63 6c 61 pan>),..flags.=.&amp;.{<span.cla
dd920 73 73 3d 22 74 6f 6b 2d 73 74 72 22 3e 26 71 75 6f 74 3b 2d 73 74 64 3d 63 39 39 26 71 75 6f 74 ss="tok-str">&quot;-std=c99&quot
dd940 3b 3c 2f 73 70 61 6e 3e 7d 20 7d 29 3b 0a 20 20 20 20 65 78 65 2e 72 6f 6f 74 5f 6d 6f 64 75 6c ;</span>}.});.....exe.root_modul
dd960 65 2e 61 64 64 4f 62 6a 65 63 74 28 6f 62 6a 29 3b 0a 20 20 20 20 62 2e 69 6e 73 74 61 6c 6c 41 e.addObject(obj);.....b.installA
dd980 72 74 69 66 61 63 74 28 65 78 65 29 3b 0a 7d 3c 2f 63 6f 64 65 3e 3c 2f 70 72 65 3e 3c 2f 66 69 rtifact(exe);.}</code></pre></fi
dd9a0 67 75 72 65 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 gure>........<figure><figcaption
dd9c0 20 63 6c 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
dd9e0 74 69 6f 6e 3e 3c 70 72 65 3e 3c 73 61 6d 70 3e 24 20 3c 6b 62 64 3e 7a 69 67 20 62 75 69 6c 64 tion><pre><samp>$.<kbd>zig.build
dda00 3c 2f 6b 62 64 3e 0a 24 20 3c 6b 62 64 3e 2e 2f 7a 69 67 2d 6f 75 74 2f 62 69 6e 2f 74 65 73 74 </kbd>.$.<kbd>./zig-out/bin/test
dda20 3c 2f 6b 62 64 3e 0a 61 6c 6c 20 79 6f 75 72 20 62 61 73 65 20 61 72 65 20 62 65 6c 6f 6e 67 20 </kbd>.all.your.base.are.belong.
dda40 74 6f 20 75 73 0a 3c 2f 73 61 6d 70 3e 3c 2f 70 72 65 3e 3c 2f 66 69 67 75 72 65 3e 0a 20 20 20 to.us.</samp></pre></figure>....
dda60 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
dda80 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 0a ref="#Targets">Targets</a></li>.
ddaa0 3c 6c 69 3e 3c 61 20 68 72 65 66 3d 22 23 5a 69 67 2d 42 75 69 6c 64 2d 53 79 73 74 65 6d 22 3e <li><a.href="#Zig-Build-System">
ddac0 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 0a Zig.Build.System</a></li>.</ul>.
ddae0 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 62 .....................<h2.id="Web
ddb00 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 63 Assembly"><a.href="nav.xhtml#toc
ddb20 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 61 -WebAssembly">WebAssembly</a>.<a
ddb40 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 22 .class="hdr".href="#WebAssembly"
ddb60 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 6f >..</a></h2>........<p>Zig.suppo
ddb80 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 74 rts.building.for.WebAssembly.out
ddba0 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 46 .of.the.box.</p>.......<h3.id="F
ddbc0 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 23 reestanding"><a.href="nav.xhtml#
ddbe0 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 2f toc-Freestanding">Freestanding</
ddc00 61 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 61 a>.<a.class="hdr".href="#Freesta
ddc20 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 72 nding">..</a></h3>........<p>For
ddc40 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 20 .host.environments.like.the.web.
ddc60 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 6e 20 browser.and.nodejs,.build.as.an.
ddc80 65 78 65 63 75 74 61 62 6c 65 20 75 73 69 6e 67 20 74 68 65 20 66 72 65 65 73 74 61 6e 64 69 6e executable.using.the.freestandin
ddca0 67 0a 20 20 20 20 20 20 4f 53 20 74 61 72 67 65 74 2e 20 48 65 72 65 27 73 20 61 6e 20 65 78 61 g.......OS.target..Here's.an.exa
ddcc0 6d 70 6c 65 20 6f 66 20 72 75 6e 6e 69 6e 67 20 5a 69 67 20 63 6f 64 65 20 63 6f 6d 70 69 6c 65 mple.of.running.Zig.code.compile
ddce0 64 20 74 6f 20 57 65 62 41 73 73 65 6d 62 6c 79 20 77 69 74 68 20 6e 6f 64 65 6a 73 2e 3c 2f 70 d.to.WebAssembly.with.nodejs.</p
ddd00 3e 0a 20 20 20 20 20 20 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
ddd20 73 3d 22 7a 69 67 2d 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 s="zig-cap"><cite.class="file">m
ddd40 61 74 68 2e 7a 69 67 3c 2f 63 69 74 65 3e 3c 2f 66 69 67 63 61 70 74 69 6f 6e 3e 3c 70 72 65 3e ath.zig</cite></figcaption><pre>
ddd60 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 65 78 74 65 72 <code><span.class="tok-kw">exter
ddd80 6e 3c 2f 73 70 61 6e 3e 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 66 6e n</span>.<span.class="tok-kw">fn
ddda0 3c 2f 73 70 61 6e 3e 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 66 6e 22 3e 70 72 69 </span>.<span.class="tok-fn">pri
dddc0 6e 74 3c 2f 73 70 61 6e 3e 28 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 nt</span>(<span.class="tok-type"
ddde0 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
dde00 70 65 22 3e 76 6f 69 64 3c 2f 73 70 61 6e 3e 3b 0a 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 pe">void</span>;..<span.class="t
dde20 6f 6b 2d 6b 77 22 3e 65 78 70 6f 72 74 3c 2f 73 70 61 6e 3e 20 3c 73 70 61 6e 20 63 6c 61 73 73 ok-kw">export</span>.<span.class
dde40 3d 22 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=
dde60 22 74 6f 6b 2d 66 6e 22 3e 61 64 64 3c 2f 73 70 61 6e 3e 28 61 3a 20 3c 73 70 61 6e 20 63 6c 61 "tok-fn">add</span>(a:.<span.cla
dde80 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 69 33 32 3c 2f 73 70 61 6e 3e 2c 20 62 3a 20 3c 73 70 ss="tok-type">i32</span>,.b:.<sp
ddea0 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>).
ddec0 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
ddee0 6e 3e 20 7b 0a 20 20 20 20 70 72 69 6e 74 28 61 20 2b 20 62 29 3b 0a 7d 3c 2f 63 6f 64 65 3e 3c n>.{.....print(a.+.b);.}</code><
ddf00 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
ddf20 6e 20 63 6c 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
ddf40 70 74 69 6f 6e 3e 3c 70 72 65 3e 3c 73 61 6d 70 3e 24 20 3c 6b 62 64 3e 7a 69 67 20 62 75 69 6c ption><pre><samp>$.<kbd>zig.buil
ddf60 64 2d 65 78 65 20 6d 61 74 68 2e 7a 69 67 20 2d 74 61 72 67 65 74 20 77 61 73 6d 33 32 2d 66 72 d-exe.math.zig.-target.wasm32-fr
ddf80 65 65 73 74 61 6e 64 69 6e 67 20 2d 66 6e 6f 2d 65 6e 74 72 79 20 2d 2d 65 78 70 6f 72 74 3d 61 eestanding.-fno-entry.--export=a
ddfa0 64 64 3c 2f 6b 62 64 3e 0a 3c 2f 73 61 6d 70 3e 3c 2f 70 72 65 3e 3c 2f 66 69 67 75 72 65 3e 0a dd</kbd>.</samp></pre></figure>.
ddfc0 0a 20 20 20 20 20 20 3c 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
ddfe0 3d 22 6a 61 76 61 73 63 72 69 70 74 2d 63 61 70 22 3e 3c 63 69 74 65 20 63 6c 61 73 73 3d 22 66 ="javascript-cap"><cite.class="f
de000 69 6c 65 22 3e 74 65 73 74 2e 6a 73 3c 2f 63 69 74 65 3e 3c 2f 66 69 67 63 61 70 74 69 6f 6e 3e ile">test.js</cite></figcaption>
de020 3c 70 72 65 3e 3c 63 6f 64 65 3e 63 6f 6e 73 74 20 66 73 20 3d 20 72 65 71 75 69 72 65 28 27 66 <pre><code>const.fs.=.require('f
de040 73 27 29 3b 0a 63 6f 6e 73 74 20 73 6f 75 72 63 65 20 3d 20 66 73 2e 72 65 61 64 46 69 6c 65 53 s');.const.source.=.fs.readFileS
de060 79 6e 63 28 26 71 75 6f 74 3b 2e 2f 6d 61 74 68 2e 77 61 73 6d 26 71 75 6f 74 3b 29 3b 0a 63 6f ync(&quot;./math.wasm&quot;);.co
de080 6e 73 74 20 74 79 70 65 64 41 72 72 61 79 20 3d 20 6e 65 77 20 55 69 6e 74 38 41 72 72 61 79 28 nst.typedArray.=.new.Uint8Array(
de0a0 73 6f 75 72 63 65 29 3b 0a 0a 57 65 62 41 73 73 65 6d 62 6c 79 2e 69 6e 73 74 61 6e 74 69 61 74 source);..WebAssembly.instantiat
de0c0 65 28 74 79 70 65 64 41 72 72 61 79 2c 20 7b 0a 20 20 65 6e 76 3a 20 7b 0a 20 20 20 20 70 72 69 e(typedArray,.{...env:.{.....pri
de0e0 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
de100 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 0a 20 (`The.result.is.${result}`);.}..
de120 20 7d 7d 29 2e 74 68 65 6e 28 72 65 73 75 6c 74 20 3d 26 67 74 3b 20 7b 0a 20 20 63 6f 6e 73 74 .}}).then(result.=&gt;.{...const
de140 20 61 64 64 20 3d 20 72 65 73 75 6c 74 2e 69 6e 73 74 61 6e 63 65 2e 65 78 70 6f 72 74 73 2e 61 .add.=.result.instance.exports.a
de160 64 64 3b 0a 20 20 61 64 64 28 31 2c 20 32 29 3b 0a 7d 29 3b 3c 2f 63 6f 64 65 3e 3c 2f 70 72 65 dd;...add(1,.2);.});</code></pre
de180 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
de1a0 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
de1c0 67 63 61 70 74 69 6f 6e 3e 3c 70 72 65 3e 3c 73 61 6d 70 3e 24 20 3c 6b 62 64 3e 6e 6f 64 65 20 gcaption><pre><samp>$.<kbd>node.
de1e0 74 65 73 74 2e 6a 73 3c 2f 6b 62 64 3e 0a 54 68 65 20 72 65 73 75 6c 74 20 69 73 20 33 0a 3c 2f test.js</kbd>.The.result.is.3.</
de200 73 61 6d 70 3e 3c 2f 70 72 65 3e 3c 2f 66 69 67 75 72 65 3e 0a 20 20 20 20 20 20 0a 20 20 20 20 samp></pre></figure>............
de220 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 74 ..<h3.id="WASI"><a.href="nav.xht
de240 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 22 ml#toc-WASI">WASI</a>.<a.class="
de260 68 64 72 22 20 68 72 65 66 3d 22 23 57 41 53 49 22 3e c2 a7 3c 2f 61 3e 3c 2f 68 33 3e 0a 0a 20 hdr".href="#WASI">..</a></h3>...
de280 20 20 20 20 20 3c 70 3e 5a 69 67 20 73 74 61 6e 64 61 72 64 20 6c 69 62 72 61 72 79 20 68 61 73 .....<p>Zig.standard.library.has
de2a0 20 66 69 72 73 74 2d 63 6c 61 73 73 20 73 75 70 70 6f 72 74 20 66 6f 72 20 57 65 62 41 73 73 65 .first-class.support.for.WebAsse
de2c0 6d 62 6c 79 20 53 79 73 74 65 6d 20 49 6e 74 65 72 66 61 63 65 2e 3c 2f 70 3e 0a 20 20 20 20 20 mbly.System.Interface.</p>......
de2e0 20 3c 66 69 67 75 72 65 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-
de300 63 61 70 22 3e 3c 63 69 74 65 20 63 6c 61 73 73 3d 22 66 69 6c 65 22 3e 77 61 73 69 5f 61 72 67 cap"><cite.class="file">wasi_arg
de320 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
de340 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 63 6f 6e 73 74 3c 2f ode><span.class="tok-kw">const</
de360 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
de380 6c 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
de3a0 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
de3c0 3e 29 3b 0a 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 70 75 62 3c 2f 73 >);..<span.class="tok-kw">pub</s
de3e0 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
de400 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
de420 70 61 6e 3e 28 69 6e 69 74 3a 20 73 74 64 2e 70 72 6f 63 65 73 73 2e 49 6e 69 74 29 20 21 3c 73 pan>(init:.std.process.Init).!<s
de440 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>
de460 20 7b 0a 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 63 6f 6e 73 .{.....<span.class="tok-kw">cons
de480 74 3c 2f 73 70 61 6e 3e 20 61 72 67 73 20 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b t</span>.args.=.<span.class="tok
de4a0 2d 6b 77 22 3e 74 72 79 3c 2f 73 70 61 6e 3e 20 69 6e 69 74 2e 6d 69 6e 69 6d 61 6c 2e 61 72 67 -kw">try</span>.init.minimal.arg
de4c0 73 2e 74 6f 53 6c 69 63 65 28 69 6e 69 74 2e 61 72 65 6e 61 2e 61 6c 6c 6f 63 61 74 6f 72 28 29 s.toSlice(init.arena.allocator()
de4e0 29 3b 0a 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 66 6f 72 3c );.....<span.class="tok-kw">for<
de500 2f 73 70 61 6e 3e 20 28 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 /span>.(<span.class="tok-number"
de520 3e 30 3c 2f 73 70 61 6e 3e 2e 2e 2c 20 61 72 67 73 29 20 7c 69 2c 20 61 72 67 7c 20 7b 0a 20 20 >0</span>..,.args).|i,.arg|.{...
de540 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
de560 73 3d 22 74 6f 6b 2d 73 74 72 22 3e 26 71 75 6f 74 3b 7b 64 7d 3a 20 7b 73 7d 5c 6e 26 71 75 6f s="tok-str">&quot;{d}:.{s}\n&quo
de580 74 3b 3c 2f 73 70 61 6e 3e 2c 20 2e 7b 20 69 2c 20 61 72 67 20 7d 29 3b 0a 20 20 20 20 7d 0a 7d t;</span>,..{.i,.arg.});.....}.}
de5a0 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
de5c0 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
de5e0 6c 3c 2f 66 69 67 63 61 70 74 69 6f 6e 3e 3c 70 72 65 3e 3c 73 61 6d 70 3e 24 20 3c 6b 62 64 3e l</figcaption><pre><samp>$.<kbd>
de600 7a 69 67 20 62 75 69 6c 64 2d 65 78 65 20 77 61 73 69 5f 61 72 67 73 2e 7a 69 67 20 2d 74 61 72 zig.build-exe.wasi_args.zig.-tar
de620 67 65 74 20 77 61 73 6d 33 32 2d 77 61 73 69 3c 2f 6b 62 64 3e 0a 3c 2f 73 61 6d 70 3e 3c 2f 70 get.wasm32-wasi</kbd>.</samp></p
de640 72 65 3e 3c 2f 66 69 67 75 72 65 3e 0a 0a 20 20 20 20 20 20 3c 66 69 67 75 72 65 3e 3c 66 69 67 re></figure>........<figure><fig
de660 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<
de680 2f 66 69 67 63 61 70 74 69 6f 6e 3e 3c 70 72 65 3e 3c 73 61 6d 70 3e 24 20 3c 6b 62 64 3e 77 61 /figcaption><pre><samp>$.<kbd>wa
de6a0 73 6d 74 69 6d 65 20 77 61 73 69 5f 61 72 67 73 2e 77 61 73 6d 20 31 32 33 20 68 65 6c 6c 6f 3c smtime.wasi_args.wasm.123.hello<
de6c0 2f 6b 62 64 3e 0a 30 3a 20 77 61 73 69 5f 61 72 67 73 2e 77 61 73 6d 0a 31 3a 20 31 32 33 0a 32 /kbd>.0:.wasi_args.wasm.1:.123.2
de6e0 3a 20 68 65 6c 6c 6f 0a 3c 2f 73 61 6d 70 3e 3c 2f 70 72 65 3e 3c 2f 66 69 67 75 72 65 3e 0a 20 :.hello.</samp></pre></figure>..
de700 20 20 20 20 20 3c 70 3e 41 20 6d 6f 72 65 20 69 6e 74 65 72 65 73 74 69 6e 67 20 65 78 61 6d 70 .....<p>A.more.interesting.examp
de720 6c 65 20 77 6f 75 6c 64 20 62 65 20 65 78 74 72 61 63 74 69 6e 67 20 74 68 65 20 6c 69 73 74 20 le.would.be.extracting.the.list.
de740 6f 66 20 70 72 65 6f 70 65 6e 73 20 66 72 6f 6d 20 74 68 65 20 72 75 6e 74 69 6d 65 2e 0a 20 20 of.preopens.from.the.runtime....
de760 20 20 20 20 54 68 69 73 20 69 73 20 6e 6f 77 20 73 75 70 70 6f 72 74 65 64 20 69 6e 20 74 68 65 ....This.is.now.supported.in.the
de780 20 73 74 61 6e 64 61 72 64 20 6c 69 62 72 61 72 79 20 76 69 61 20 3c 63 6f 64 65 3e 73 74 64 2e .standard.library.via.<code>std.
de7a0 66 73 2e 77 61 73 69 2e 50 72 65 6f 70 65 6e 73 3c 2f 63 6f 64 65 3e 3a 3c 2f 70 3e 0a 20 20 20 fs.wasi.Preopens</code>:</p>....
de7c0 20 20 20 3c 66 69 67 75 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
de7e0 67 2d 63 61 70 22 3e 3c 63 69 74 65 20 63 6c 61 73 73 3d 22 66 69 6c 65 22 3e 77 61 73 69 5f 70 g-cap"><cite.class="file">wasi_p
de800 72 65 6f 70 65 6e 73 2e 7a 69 67 3c 2f 63 69 74 65 3e 3c 2f 66 69 67 63 61 70 74 69 6f 6e 3e 3c reopens.zig</cite></figcaption><
de820 70 72 65 3e 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 63 pre><code><span.class="tok-kw">c
de840 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
de860 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
de880 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;
de8a0 3c 2f 73 70 61 6e 3e 29 3b 0a 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e </span>);..<span.class="tok-kw">
de8c0 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">
de8e0 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
de900 61 69 6e 3c 2f 73 70 61 6e 3e 28 69 6e 69 74 3a 20 73 74 64 2e 70 72 6f 63 65 73 73 2e 49 6e 69 ain</span>(init:.std.process.Ini
de920 74 29 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 76 6f 69 64 3c 2f t).<span.class="tok-type">void</
de940 73 70 61 6e 3e 20 7b 0a 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 span>.{.....<span.class="tok-kw"
de960 3e 66 6f 72 3c 2f 73 70 61 6e 3e 20 28 69 6e 69 74 2e 70 72 65 6f 70 65 6e 73 2e 6d 61 70 2e 6b >for</span>.(init.preopens.map.k
de980 65 79 73 28 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 eys(),.<span.class="tok-number">
de9a0 30 3c 2f 73 70 61 6e 3e 2e 2e 29 20 7c 70 72 65 6f 70 65 6e 2c 20 69 7c 20 7b 0a 20 20 20 20 20 0</span>..).|preopen,.i|.{......
de9c0 20 20 20 73 74 64 2e 6c 6f 67 2e 69 6e 66 6f 28 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b ...std.log.info(<span.class="tok
de9e0 2d 73 74 72 22 3e 26 71 75 6f 74 3b 7b 64 7d 3a 20 7b 73 7d 26 71 75 6f 74 3b 3c 2f 73 70 61 6e -str">&quot;{d}:.{s}&quot;</span
dea00 3e 2c 20 2e 7b 20 69 2c 20 70 72 65 6f 70 65 6e 20 7d 29 3b 0a 20 20 20 20 7d 0a 7d 3c 2f 63 6f >,..{.i,.preopen.});.....}.}</co
dea20 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
dea40 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
dea60 69 67 63 61 70 74 69 6f 6e 3e 3c 70 72 65 3e 3c 73 61 6d 70 3e 24 20 3c 6b 62 64 3e 7a 69 67 20 igcaption><pre><samp>$.<kbd>zig.
dea80 62 75 69 6c 64 2d 65 78 65 20 77 61 73 69 5f 70 72 65 6f 70 65 6e 73 2e 7a 69 67 20 2d 74 61 72 build-exe.wasi_preopens.zig.-tar
deaa0 67 65 74 20 77 61 73 6d 33 32 2d 77 61 73 69 3c 2f 6b 62 64 3e 0a 3c 2f 73 61 6d 70 3e 3c 2f 70 get.wasm32-wasi</kbd>.</samp></p
deac0 72 65 3e 3c 2f 66 69 67 75 72 65 3e 0a 0a 20 20 20 20 20 20 3c 66 69 67 75 72 65 3e 3c 66 69 67 re></figure>........<figure><fig
deae0 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<
deb00 2f 66 69 67 63 61 70 74 69 6f 6e 3e 3c 70 72 65 3e 3c 73 61 6d 70 3e 24 20 3c 6b 62 64 3e 77 61 /figcaption><pre><samp>$.<kbd>wa
deb20 73 6d 74 69 6d 65 20 2d 2d 64 69 72 3d 2e 20 77 61 73 69 5f 70 72 65 6f 70 65 6e 73 2e 77 61 73 smtime.--dir=..wasi_preopens.was
deb40 6d 3c 2f 6b 62 64 3e 0a 30 3a 20 73 74 64 69 6e 0a 31 3a 20 73 74 64 6f 75 74 0a 32 3a 20 73 74 m</kbd>.0:.stdin.1:.stdout.2:.st
deb60 64 65 72 72 0a 33 3a 20 2e 0a 3c 2f 73 61 6d 70 3e 3c 2f 70 72 65 3e 3c 2f 66 69 67 75 72 65 3e derr.3:...</samp></pre></figure>
deb80 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
deba0 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
debc0 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"
debe0 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>....
dec00 20 20 20 20 3c 70 3e 0a 20 20 20 20 20 20 3c 73 74 72 6f 6e 67 3e 54 61 72 67 65 74 3c 2f 73 74 ....<p>.......<strong>Target</st
dec20 72 6f 6e 67 3e 20 72 65 66 65 72 73 20 74 6f 20 74 68 65 20 63 6f 6d 70 75 74 65 72 20 74 68 61 rong>.refers.to.the.computer.tha
dec40 74 20 77 69 6c 6c 20 62 65 20 75 73 65 64 20 74 6f 20 72 75 6e 20 61 6e 20 65 78 65 63 75 74 61 t.will.be.used.to.run.an.executa
dec60 62 6c 65 2e 0a 20 20 20 20 20 20 49 74 20 69 73 20 63 6f 6d 70 6f 73 65 64 20 6f 66 20 74 68 65 ble........It.is.composed.of.the
dec80 20 43 50 55 20 61 72 63 68 69 74 65 63 74 75 72 65 2c 20 74 68 65 20 73 65 74 20 6f 66 20 65 6e .CPU.architecture,.the.set.of.en
deca0 61 62 6c 65 64 20 43 50 55 20 66 65 61 74 75 72 65 73 2c 20 6f 70 65 72 61 74 69 6e 67 20 73 79 abled.CPU.features,.operating.sy
decc0 73 74 65 6d 2c 0a 20 20 20 20 20 20 6d 69 6e 69 6d 75 6d 20 61 6e 64 20 6d 61 78 69 6d 75 6d 20 stem,.......minimum.and.maximum.
dece0 6f 70 65 72 61 74 69 6e 67 20 73 79 73 74 65 6d 20 76 65 72 73 69 6f 6e 2c 20 41 42 49 2c 20 61 operating.system.version,.ABI,.a
ded00 6e 64 20 41 42 49 20 76 65 72 73 69 6f 6e 2e 0a 20 20 20 20 20 20 3c 2f 70 3e 0a 20 20 20 20 20 nd.ABI.version........</p>......
ded20 20 3c 70 3e 0a 20 20 20 20 20 20 5a 69 67 20 69 73 20 61 20 67 65 6e 65 72 61 6c 2d 70 75 72 70 .<p>.......Zig.is.a.general-purp
ded40 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 77 68 69 63 68 20 6d ose.programming.language.which.m
ded60 65 61 6e 73 20 74 68 61 74 20 69 74 20 69 73 20 64 65 73 69 67 6e 65 64 20 74 6f 0a 20 20 20 20 eans.that.it.is.designed.to.....
ded80 20 20 67 65 6e 65 72 61 74 65 20 6f 70 74 69 6d 61 6c 20 63 6f 64 65 20 66 6f 72 20 61 20 6c 61 ..generate.optimal.code.for.a.la
deda0 72 67 65 20 73 65 74 20 6f 66 20 74 61 72 67 65 74 73 2e 20 54 68 65 20 63 6f 6d 6d 61 6e 64 20 rge.set.of.targets..The.command.
dedc0 3c 63 6f 64 65 3e 7a 69 67 20 74 61 72 67 65 74 73 3c 2f 63 6f 64 65 3e 0a 20 20 20 20 20 20 70 <code>zig.targets</code>.......p
dede0 72 6f 76 69 64 65 73 20 69 6e 66 6f 72 6d 61 74 69 6f 6e 20 61 62 6f 75 74 20 61 6c 6c 20 6f 66 rovides.information.about.all.of
dee00 20 74 68 65 20 74 61 72 67 65 74 73 20 74 68 65 20 63 6f 6d 70 69 6c 65 72 20 69 73 20 61 77 61 .the.targets.the.compiler.is.awa
dee20 72 65 20 6f 66 2e 3c 2f 70 3e 0a 20 20 20 20 20 20 3c 70 3e 57 68 65 6e 20 6e 6f 20 74 61 72 67 re.of.</p>.......<p>When.no.targ
dee40 65 74 20 6f 70 74 69 6f 6e 20 69 73 20 70 72 6f 76 69 64 65 64 20 74 6f 20 74 68 65 20 63 6f 6d et.option.is.provided.to.the.com
dee60 70 69 6c 65 72 2c 20 74 68 65 20 64 65 66 61 75 6c 74 20 63 68 6f 69 63 65 0a 20 20 20 20 20 20 piler,.the.default.choice.......
dee80 69 73 20 74 6f 20 74 61 72 67 65 74 20 74 68 65 20 3c 73 74 72 6f 6e 67 3e 68 6f 73 74 20 63 6f is.to.target.the.<strong>host.co
deea0 6d 70 75 74 65 72 3c 2f 73 74 72 6f 6e 67 3e 2c 20 6d 65 61 6e 69 6e 67 20 74 68 61 74 20 74 68 mputer</strong>,.meaning.that.th
deec0 65 0a 20 20 20 20 20 20 72 65 73 75 6c 74 69 6e 67 20 65 78 65 63 75 74 61 62 6c 65 20 77 69 6c e.......resulting.executable.wil
deee0 6c 20 62 65 20 3c 65 6d 3e 75 6e 73 75 69 74 61 62 6c 65 20 66 6f 72 20 63 6f 70 79 69 6e 67 20 l.be.<em>unsuitable.for.copying.
def00 74 6f 20 61 20 64 69 66 66 65 72 65 6e 74 0a 20 20 20 20 20 20 63 6f 6d 70 75 74 65 72 3c 2f 65 to.a.different.......computer</e
def20 6d 3e 2e 20 49 6e 20 6f 72 64 65 72 20 74 6f 20 63 6f 70 79 20 61 6e 20 65 78 65 63 75 74 61 62 m>..In.order.to.copy.an.executab
def40 6c 65 20 74 6f 20 61 6e 6f 74 68 65 72 20 63 6f 6d 70 75 74 65 72 2c 20 74 68 65 20 63 6f 6d 70 le.to.another.computer,.the.comp
def60 69 6c 65 72 0a 20 20 20 20 20 20 6e 65 65 64 73 20 74 6f 20 6b 6e 6f 77 20 61 62 6f 75 74 20 74 iler.......needs.to.know.about.t
def80 68 65 20 74 61 72 67 65 74 20 72 65 71 75 69 72 65 6d 65 6e 74 73 20 76 69 61 20 74 68 65 20 3c he.target.requirements.via.the.<
defa0 63 6f 64 65 3e 2d 74 61 72 67 65 74 3c 2f 63 6f 64 65 3e 20 6f 70 74 69 6f 6e 2e 0a 20 20 20 20 code>-target</code>.option......
defc0 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 5a 69 67 20 53 ..</p>.......<p>.......The.Zig.S
defe0 74 61 6e 64 61 72 64 20 4c 69 62 72 61 72 79 20 28 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 tandard.Library.(<code><span.cla
df000 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>(
df020 3c 73 70 61 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&
df040 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 29 3c 2f 63 6f 64 65 3e 29 20 68 61 73 0a 20 20 20 20 20 20 quot;</span>)</code>).has.......
df060 63 72 6f 73 73 2d 70 6c 61 74 66 6f 72 6d 20 61 62 73 74 72 61 63 74 69 6f 6e 73 2c 20 6d 61 6b cross-platform.abstractions,.mak
df080 69 6e 67 20 74 68 65 20 73 61 6d 65 20 73 6f 75 72 63 65 20 63 6f 64 65 20 76 69 61 62 6c 65 20 ing.the.same.source.code.viable.
df0a0 6f 6e 20 6d 61 6e 79 20 74 61 72 67 65 74 73 2e 0a 20 20 20 20 20 20 53 6f 6d 65 20 63 6f 64 65 on.many.targets........Some.code
df0c0 20 69 73 20 6d 6f 72 65 20 70 6f 72 74 61 62 6c 65 20 74 68 61 6e 20 6f 74 68 65 72 20 63 6f 64 .is.more.portable.than.other.cod
df0e0 65 2e 20 49 6e 20 67 65 6e 65 72 61 6c 2c 20 5a 69 67 20 63 6f 64 65 20 69 73 20 65 78 74 72 65 e..In.general,.Zig.code.is.extre
df100 6d 65 6c 79 0a 20 20 20 20 20 20 70 6f 72 74 61 62 6c 65 20 63 6f 6d 70 61 72 65 64 20 74 6f 20 mely.......portable.compared.to.
df120 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 2e 0a 20 20 20 other.programming.languages.....
df140 20 20 20 3c 2f 70 3e 0a 20 20 20 20 20 20 3c 70 3e 0a 20 20 20 20 20 20 45 61 63 68 20 70 6c 61 ...</p>.......<p>.......Each.pla
df160 74 66 6f 72 6d 20 72 65 71 75 69 72 65 73 20 69 74 73 20 6f 77 6e 20 69 6d 70 6c 65 6d 65 6e 74 tform.requires.its.own.implement
df180 61 74 69 6f 6e 73 20 74 6f 20 6d 61 6b 65 20 5a 69 67 27 73 0a 20 20 20 20 20 20 63 72 6f 73 73 ations.to.make.Zig's.......cross
df1a0 2d 70 6c 61 74 66 6f 72 6d 20 61 62 73 74 72 61 63 74 69 6f 6e 73 20 77 6f 72 6b 2e 20 54 68 65 -platform.abstractions.work..The
df1c0 73 65 20 69 6d 70 6c 65 6d 65 6e 74 61 74 69 6f 6e 73 20 61 72 65 20 61 74 20 76 61 72 69 6f 75 se.implementations.are.at.variou
df1e0 73 0a 20 20 20 20 20 20 64 65 67 72 65 65 73 20 6f 66 20 63 6f 6d 70 6c 65 74 69 6f 6e 2e 20 45 s.......degrees.of.completion..E
df200 61 63 68 20 74 61 67 67 65 64 20 72 65 6c 65 61 73 65 20 6f 66 20 74 68 65 20 63 6f 6d 70 69 6c ach.tagged.release.of.the.compil
df220 65 72 20 63 6f 6d 65 73 20 77 69 74 68 0a 20 20 20 20 20 20 72 65 6c 65 61 73 65 20 6e 6f 74 65 er.comes.with.......release.note
df240 73 20 74 68 61 74 20 70 72 6f 76 69 64 65 20 74 68 65 20 66 75 6c 6c 20 73 75 70 70 6f 72 74 20 s.that.provide.the.full.support.
df260 74 61 62 6c 65 20 66 6f 72 20 65 61 63 68 20 74 61 72 67 65 74 2e 0a 20 20 20 20 20 20 3c 2f 70 table.for.each.target........</p
df280 3e 0a 20 20 20 20 20 20 0a 20 20 20 20 20 20 3c 68 32 20 69 64 3d 22 53 74 79 6c 65 2d 47 75 69 >..............<h2.id="Style-Gui
df2a0 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 53 74 79 6c 65 de"><a.href="nav.xhtml#toc-Style
df2c0 2d 47 75 69 64 65 22 3e 53 74 79 6c 65 20 47 75 69 64 65 3c 2f 61 3e 20 3c 61 20 63 6c 61 73 73 -Guide">Style.Guide</a>.<a.class
df2e0 3d 22 68 64 72 22 20 68 72 65 66 3d 22 23 53 74 79 6c 65 2d 47 75 69 64 65 22 3e c2 a7 3c 2f 61 ="hdr".href="#Style-Guide">..</a
df300 3e 3c 2f 68 32 3e 0a 0a 20 20 20 20 20 20 3c 70 3e 0a 54 68 65 73 65 20 63 6f 64 69 6e 67 20 63 ></h2>........<p>.These.coding.c
df320 6f 6e 76 65 6e 74 69 6f 6e 73 20 61 72 65 20 6e 6f 74 20 65 6e 66 6f 72 63 65 64 20 62 79 20 74 onventions.are.not.enforced.by.t
df340 68 65 20 63 6f 6d 70 69 6c 65 72 2c 20 62 75 74 20 74 68 65 79 20 61 72 65 20 73 68 69 70 70 65 he.compiler,.but.they.are.shippe
df360 64 20 69 6e 0a 74 68 69 73 20 64 6f 63 75 6d 65 6e 74 61 74 69 6f 6e 20 61 6c 6f 6e 67 20 77 69 d.in.this.documentation.along.wi
df380 74 68 20 74 68 65 20 63 6f 6d 70 69 6c 65 72 20 69 6e 20 6f 72 64 65 72 20 74 6f 20 70 72 6f 76 th.the.compiler.in.order.to.prov
df3a0 69 64 65 20 61 20 70 6f 69 6e 74 20 6f 66 0a 72 65 66 65 72 65 6e 63 65 2c 20 73 68 6f 75 6c 64 ide.a.point.of.reference,.should
df3c0 20 61 6e 79 6f 6e 65 20 77 69 73 68 20 74 6f 20 70 6f 69 6e 74 20 74 6f 20 61 6e 20 61 75 74 68 .anyone.wish.to.point.to.an.auth
df3e0 6f 72 69 74 79 20 6f 6e 20 61 67 72 65 65 64 20 75 70 6f 6e 20 5a 69 67 0a 63 6f 64 69 6e 67 20 ority.on.agreed.upon.Zig.coding.
df400 73 74 79 6c 65 2e 0a 20 20 20 20 20 20 3c 2f 70 3e 0a 20 20 20 20 20 20 3c 68 33 20 69 64 3d 22 style........</p>.......<h3.id="
df420 41 76 6f 69 64 2d 52 65 64 75 6e 64 61 6e 63 79 2d 69 6e 2d 4e 61 6d 65 73 22 3e 3c 61 20 68 72 Avoid-Redundancy-in-Names"><a.hr
df440 65 66 3d 22 6e 61 76 2e 78 68 74 6d 6c 23 74 6f 63 2d 41 76 6f 69 64 2d 52 65 64 75 6e 64 61 6e ef="nav.xhtml#toc-Avoid-Redundan
df460 63 79 2d 69 6e 2d 4e 61 6d 65 73 22 3e 41 76 6f 69 64 20 52 65 64 75 6e 64 61 6e 63 79 20 69 6e cy-in-Names">Avoid.Redundancy.in
df480 20 4e 61 6d 65 73 3c 2f 61 3e 20 3c 61 20 63 6c 61 73 73 3d 22 68 64 72 22 20 68 72 65 66 3d 22 .Names</a>.<a.class="hdr".href="
df4a0 23 41 76 6f 69 64 2d 52 65 64 75 6e 64 61 6e 63 79 2d 69 6e 2d 4e 61 6d 65 73 22 3e c2 a7 3c 2f #Avoid-Redundancy-in-Names">..</
df4c0 61 3e 3c 2f 68 33 3e 0a 0a 20 20 20 20 20 20 3c 70 3e 41 76 6f 69 64 20 74 68 65 73 65 20 77 6f a></h3>........<p>Avoid.these.wo
df4e0 72 64 73 20 69 6e 20 74 79 70 65 20 6e 61 6d 65 73 3a 3c 2f 70 3e 0a 20 20 20 20 20 20 3c 75 6c rds.in.type.names:</p>.......<ul
df500 3e 0a 20 20 20 20 20 20 20 20 3c 6c 69 3e 56 61 6c 75 65 3c 2f 6c 69 3e 0a 20 20 20 20 20 20 20 >.........<li>Value</li>........
df520 20 3c 6c 69 3e 44 61 74 61 3c 2f 6c 69 3e 0a 20 20 20 20 20 20 20 20 3c 6c 69 3e 43 6f 6e 74 65 .<li>Data</li>.........<li>Conte
df540 78 74 3c 2f 6c 69 3e 0a 20 20 20 20 20 20 20 20 3c 6c 69 3e 4d 61 6e 61 67 65 72 3c 2f 6c 69 3e xt</li>.........<li>Manager</li>
df560 0a 20 20 20 20 20 20 20 20 3c 6c 69 3e 53 74 61 74 65 3c 2f 6c 69 3e 0a 20 20 20 20 20 20 20 20 .........<li>State</li>.........
df580 3c 6c 69 3e 75 74 69 6c 73 2c 20 6d 69 73 63 2c 20 6f 72 20 73 6f 6d 65 62 6f 64 79 27 73 20 69 <li>utils,.misc,.or.somebody's.i
df5a0 6e 69 74 69 61 6c 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 nitials</li>.......</ul>.......<
df5c0 70 3e 45 76 65 72 79 74 68 69 6e 67 20 69 73 20 61 20 76 61 6c 75 65 2c 20 61 6c 6c 20 74 79 70 p>Everything.is.a.value,.all.typ
df5e0 65 73 20 61 72 65 20 64 61 74 61 2c 20 65 76 65 72 79 74 68 69 6e 67 20 69 73 20 63 6f 6e 74 65 es.are.data,.everything.is.conte
df600 78 74 2c 20 61 6c 6c 20 6c 6f 67 69 63 20 6d 61 6e 61 67 65 73 20 73 74 61 74 65 2e 0a 20 20 20 xt,.all.logic.manages.state.....
df620 20 20 20 4e 6f 74 68 69 6e 67 20 69 73 20 63 6f 6d 6d 75 6e 69 63 61 74 65 64 20 62 79 20 75 73 ...Nothing.is.communicated.by.us
df640 69 6e 67 20 61 20 77 6f 72 64 20 74 68 61 74 20 61 70 70 6c 69 65 73 20 74 6f 20 61 6c 6c 20 74 ing.a.word.that.applies.to.all.t
df660 79 70 65 73 2e 3c 2f 70 3e 0a 20 20 20 20 20 20 3c 70 3e 54 65 6d 70 74 61 74 69 6f 6e 20 74 6f ypes.</p>.......<p>Temptation.to
df680 20 75 73 65 20 22 75 74 69 6c 69 74 69 65 73 22 2c 20 22 6d 69 73 63 65 6c 6c 61 6e 65 6f 75 73 .use."utilities",."miscellaneous
df6a0 22 2c 20 6f 72 20 73 6f 6d 65 62 6f 64 79 27 73 20 69 6e 69 74 69 61 6c 73 0a 20 20 20 20 20 20 ",.or.somebody's.initials.......
df6c0 69 73 20 61 20 66 61 69 6c 75 72 65 20 74 6f 20 63 61 74 65 67 6f 72 69 7a 65 2c 20 6f 72 20 6d is.a.failure.to.categorize,.or.m
df6e0 6f 72 65 20 63 6f 6d 6d 6f 6e 6c 79 2c 20 6f 76 65 72 63 61 74 65 67 6f 72 69 7a 61 74 69 6f 6e ore.commonly,.overcategorization
df700 2e 20 53 75 63 68 0a 20 20 20 20 20 20 64 65 63 6c 61 72 61 74 69 6f 6e 73 20 63 61 6e 20 6c 69 ..Such.......declarations.can.li
df720 76 65 20 61 74 20 74 68 65 20 72 6f 6f 74 20 6f 66 20 61 20 6d 6f 64 75 6c 65 20 74 68 61 74 20 ve.at.the.root.of.a.module.that.
df740 6e 65 65 64 73 20 74 68 65 6d 20 77 69 74 68 20 6e 6f 0a 20 20 20 20 20 20 6e 61 6d 65 73 70 61 needs.them.with.no.......namespa
df760 63 65 20 6e 65 65 64 65 64 2e 3c 2f 70 3e 0a 20 20 20 20 20 20 0a 0a 20 20 20 20 20 20 3c 68 33 ce.needed.</p>...............<h3
df780 20 69 64 3d 22 41 76 6f 69 64 2d 52 65 64 75 6e 64 61 6e 74 2d 4e 61 6d 65 73 2d 69 6e 2d 46 75 .id="Avoid-Redundant-Names-in-Fu
df7a0 6c 6c 79 2d 51 75 61 6c 69 66 69 65 64 2d 4e 61 6d 65 73 70 61 63 65 73 22 3e 3c 61 20 68 72 65 lly-Qualified-Namespaces"><a.hre
df7c0 66 3d 22 6e 61 76 2e 78 68 74 6d 6c 23 74 6f 63 2d 41 76 6f 69 64 2d 52 65 64 75 6e 64 61 6e 74 f="nav.xhtml#toc-Avoid-Redundant
df7e0 2d 4e 61 6d 65 73 2d 69 6e 2d 46 75 6c 6c 79 2d 51 75 61 6c 69 66 69 65 64 2d 4e 61 6d 65 73 70 -Names-in-Fully-Qualified-Namesp
df800 61 63 65 73 22 3e 41 76 6f 69 64 20 52 65 64 75 6e 64 61 6e 74 20 4e 61 6d 65 73 20 69 6e 20 46 aces">Avoid.Redundant.Names.in.F
df820 75 6c 6c 79 2d 51 75 61 6c 69 66 69 65 64 20 4e 61 6d 65 73 70 61 63 65 73 3c 2f 61 3e 20 3c 61 ully-Qualified.Namespaces</a>.<a
df840 20 63 6c 61 73 73 3d 22 68 64 72 22 20 68 72 65 66 3d 22 23 41 76 6f 69 64 2d 52 65 64 75 6e 64 .class="hdr".href="#Avoid-Redund
df860 61 6e 74 2d 4e 61 6d 65 73 2d 69 6e 2d 46 75 6c 6c 79 2d 51 75 61 6c 69 66 69 65 64 2d 4e 61 6d ant-Names-in-Fully-Qualified-Nam
df880 65 73 70 61 63 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 45 espaces">..</a></h3>........<p>E
df8a0 76 65 72 79 20 64 65 63 6c 61 72 61 74 69 6f 6e 20 69 73 20 61 73 73 69 67 6e 65 64 20 61 20 3c very.declaration.is.assigned.a.<
df8c0 73 74 72 6f 6e 67 3e 66 75 6c 6c 79 20 71 75 61 6c 69 66 69 65 64 0a 20 20 20 20 20 20 6e 61 6d strong>fully.qualified.......nam
df8e0 65 73 70 61 63 65 3c 2f 73 74 72 6f 6e 67 3e 20 62 79 20 74 68 65 20 63 6f 6d 70 69 6c 65 72 2c espace</strong>.by.the.compiler,
df900 20 63 72 65 61 74 69 6e 67 20 61 20 74 72 65 65 20 73 74 72 75 63 74 75 72 65 2e 20 43 68 6f 6f .creating.a.tree.structure..Choo
df920 73 65 20 6e 61 6d 65 73 20 62 61 73 65 64 0a 20 20 20 20 20 20 6f 6e 20 74 68 65 20 66 75 6c 6c se.names.based.......on.the.full
df940 79 2d 71 75 61 6c 69 66 69 65 64 20 6e 61 6d 65 73 70 61 63 65 2c 20 61 6e 64 20 61 76 6f 69 64 y-qualified.namespace,.and.avoid
df960 20 72 65 64 75 6e 64 61 6e 74 20 6e 61 6d 65 20 73 65 67 6d 65 6e 74 73 2e 3c 2f 70 3e 0a 20 20 .redundant.name.segments.</p>...
df980 20 20 20 20 3c 66 69 67 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
df9a0 69 67 2d 63 61 70 22 3e 3c 63 69 74 65 20 63 6c 61 73 73 3d 22 66 69 6c 65 22 3e 72 65 64 75 6e ig-cap"><cite.class="file">redun
df9c0 64 61 6e 74 5f 66 71 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 dant_fqn.zig</cite></figcaption>
df9e0 3c 70 72 65 3e 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e <pre><code><span.class="tok-kw">
dfa00 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="
dfa20 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
dfa40 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
dfa60 3b 3c 2f 73 70 61 6e 3e 29 3b 0a 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 ;</span>);..<span.class="tok-kw"
dfa80 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"
dfaa0 3e 63 6f 6e 73 74 3c 2f 73 70 61 6e 3e 20 6a 73 6f 6e 20 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 >const</span>.json.=.<span.class
dfac0 3d 22 74 6f 6b 2d 6b 77 22 3e 73 74 72 75 63 74 3c 2f 73 70 61 6e 3e 20 7b 0a 20 20 20 20 3c 73 ="tok-kw">struct</span>.{.....<s
dfae0 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
dfb00 70 61 6e 20 63 6c 61 73 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>.
dfb20 4a 73 6f 6e 56 61 6c 75 65 20 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 JsonValue.=.<span.class="tok-kw"
dfb40 3e 75 6e 69 6f 6e 3c 2f 73 70 61 6e 3e 28 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b >union</span>(<span.class="tok-k
dfb60 77 22 3e 65 6e 75 6d 3c 2f 73 70 61 6e 3e 29 20 7b 0a 20 20 20 20 20 20 20 20 6e 75 6d 62 65 72 w">enum</span>).{.........number
dfb80 3a 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 66 36 34 3c 2f 73 70 :.<span.class="tok-type">f64</sp
dfba0 61 6e 3e 2c 0a 20 20 20 20 20 20 20 20 62 6f 6f 6c 65 61 6e 3a 20 3c 73 70 61 6e 20 63 6c 61 73 an>,.........boolean:.<span.clas
dfbc0 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 0a 20 20 20 20 20 20 s="tok-type">bool</span>,.......
dfbe0 20 20 3c 73 70 61 6e 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 ..<span.class="tok-comment">//..
dfc00 2e 2e 3c 2f 73 70 61 6e 3e 0a 20 20 20 20 7d 3b 0a 7d 3b 0a 0a 3c 73 70 61 6e 20 63 6c 61 73 73 ..</span>.....};.};..<span.class
dfc20 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
dfc40 3d 22 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=
dfc60 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
dfc80 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 76 6f 69 64 3c 2f 73 70 61 6e 3e 20 7b 0a 20 20 20 20 ss="tok-type">void</span>.{.....
dfca0 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
dfcc0 2d 73 74 72 22 3e 26 71 75 6f 74 3b 7b 73 7d 5c 6e 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 2c 20 -str">&quot;{s}\n&quot;</span>,.
dfce0 2e 7b 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 62 75 69 6c 74 69 6e 22 3e 40 74 79 70 .{<span.class="tok-builtin">@typ
dfd00 65 4e 61 6d 65 3c 2f 73 70 61 6e 3e 28 6a 73 6f 6e 2e 4a 73 6f 6e 56 61 6c 75 65 29 7d 29 3b 0a eName</span>(json.JsonValue)});.
dfd20 7d 3c 2f 63 6f 64 65 3e 3c 2f 70 72 65 3e 3c 2f 66 69 67 75 72 65 3e 3c 66 69 67 75 72 65 3e 3c }</code></pre></figure><figure><
dfd40 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
dfd60 6c 6c 3c 2f 66 69 67 63 61 70 74 69 6f 6e 3e 3c 70 72 65 3e 3c 73 61 6d 70 3e 24 20 3c 6b 62 64 ll</figcaption><pre><samp>$.<kbd
dfd80 3e 7a 69 67 20 62 75 69 6c 64 2d 65 78 65 20 72 65 64 75 6e 64 61 6e 74 5f 66 71 6e 2e 7a 69 67 >zig.build-exe.redundant_fqn.zig
dfda0 3c 2f 6b 62 64 3e 0a 24 20 3c 6b 62 64 3e 2e 2f 72 65 64 75 6e 64 61 6e 74 5f 66 71 6e 3c 2f 6b </kbd>.$.<kbd>./redundant_fqn</k
dfdc0 62 64 3e 0a 72 65 64 75 6e 64 61 6e 74 5f 66 71 6e 2e 6a 73 6f 6e 2e 4a 73 6f 6e 56 61 6c 75 65 bd>.redundant_fqn.json.JsonValue
dfde0 0a 3c 2f 73 61 6d 70 3e 3c 2f 70 72 65 3e 3c 2f 66 69 67 75 72 65 3e 0a 0a 20 20 20 20 20 20 3c .</samp></pre></figure>........<
dfe00 70 3e 49 6e 20 74 68 69 73 20 65 78 61 6d 70 6c 65 2c 20 22 6a 73 6f 6e 22 20 69 73 20 72 65 70 p>In.this.example,."json".is.rep
dfe20 65 61 74 65 64 20 69 6e 20 74 68 65 20 66 75 6c 6c 79 2d 71 75 61 6c 69 66 69 65 64 20 6e 61 6d eated.in.the.fully-qualified.nam
dfe40 65 73 70 61 63 65 2e 20 54 68 65 20 73 6f 6c 75 74 69 6f 6e 0a 20 20 20 20 20 20 69 73 20 74 6f espace..The.solution.......is.to
dfe60 20 64 65 6c 65 74 65 20 3c 63 6f 64 65 3e 4a 73 6f 6e 3c 2f 63 6f 64 65 3e 20 66 72 6f 6d 20 3c .delete.<code>Json</code>.from.<
dfe80 63 6f 64 65 3e 4a 73 6f 6e 56 61 6c 75 65 3c 2f 63 6f 64 65 3e 2e 20 49 6e 20 74 68 69 73 20 65 code>JsonValue</code>..In.this.e
dfea0 78 61 6d 70 6c 65 20 77 65 20 68 61 76 65 0a 20 20 20 20 20 20 61 6e 20 65 6d 70 74 79 20 73 74 xample.we.have.......an.empty.st
dfec0 72 75 63 74 20 6e 61 6d 65 64 20 3c 63 6f 64 65 3e 6a 73 6f 6e 3c 2f 63 6f 64 65 3e 20 62 75 74 ruct.named.<code>json</code>.but
dfee0 20 72 65 6d 65 6d 62 65 72 20 74 68 61 74 20 66 69 6c 65 73 20 61 6c 73 6f 20 61 63 74 0a 20 20 .remember.that.files.also.act...
dff00 20 20 20 20 61 73 20 70 61 72 74 20 6f 66 20 74 68 65 20 66 75 6c 6c 79 2d 71 75 61 6c 69 66 69 ....as.part.of.the.fully-qualifi
dff20 65 64 20 6e 61 6d 65 73 70 61 63 65 2e 3c 2f 70 3e 0a 20 20 20 20 20 20 3c 70 3e 54 68 69 73 20 ed.namespace.</p>.......<p>This.
dff40 65 78 61 6d 70 6c 65 20 69 73 20 61 6e 20 65 78 63 65 70 74 69 6f 6e 20 74 6f 20 74 68 65 20 72 example.is.an.exception.to.the.r
dff60 75 6c 65 20 73 70 65 63 69 66 69 65 64 20 69 6e 20 3c 61 20 68 72 65 66 3d 22 23 41 76 6f 69 64 ule.specified.in.<a.href="#Avoid
dff80 2d 52 65 64 75 6e 64 61 6e 63 79 2d 69 6e 2d 4e 61 6d 65 73 22 3e 41 76 6f 69 64 20 52 65 64 75 -Redundancy-in-Names">Avoid.Redu
dffa0 6e 64 61 6e 63 79 20 69 6e 20 4e 61 6d 65 73 3c 2f 61 3e 2e 0a 20 20 20 20 20 20 54 68 65 20 6d ndancy.in.Names</a>........The.m
dffc0 65 61 6e 69 6e 67 20 6f 66 20 74 68 65 20 74 79 70 65 20 68 61 73 20 62 65 65 6e 20 72 65 64 75 eaning.of.the.type.has.been.redu
dffe0 63 65 64 20 74 6f 20 69 74 73 20 63 6f 72 65 3a 20 69 74 20 69 73 20 61 20 6a 73 6f 6e 20 76 61 ced.to.its.core:.it.is.a.json.va
e0000 6c 75 65 2e 20 54 68 65 20 6e 61 6d 65 0a 20 20 20 20 20 20 63 61 6e 6e 6f 74 20 62 65 20 61 6e lue..The.name.......cannot.be.an
e0020 79 20 6d 6f 72 65 20 73 70 65 63 69 66 69 63 20 77 69 74 68 6f 75 74 20 62 65 69 6e 67 20 69 6e y.more.specific.without.being.in
e0040 63 6f 72 72 65 63 74 2e 3c 2f 70 3e 0a 20 20 20 20 20 20 0a 0a 20 20 20 20 20 20 3c 68 33 20 69 correct.</p>...............<h3.i
e0060 64 3d 22 52 65 66 72 61 69 6e 2d 66 72 6f 6d 2d 55 6e 64 65 72 73 63 6f 72 65 2d 50 72 65 66 69 d="Refrain-from-Underscore-Prefi
e0080 78 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 65 66 72 xes"><a.href="nav.xhtml#toc-Refr
e00a0 61 69 6e 2d 66 72 6f 6d 2d 55 6e 64 65 72 73 63 6f 72 65 2d 50 72 65 66 69 78 65 73 22 3e 52 65 ain-from-Underscore-Prefixes">Re
e00c0 66 72 61 69 6e 20 66 72 6f 6d 20 55 6e 64 65 72 73 63 6f 72 65 20 50 72 65 66 69 78 65 73 3c 2f frain.from.Underscore.Prefixes</
e00e0 61 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 66 72 61 69 6e a>.<a.class="hdr".href="#Refrain
e0100 2d 66 72 6f 6d 2d 55 6e 64 65 72 73 63 6f 72 65 2d 50 72 65 66 69 78 65 73 22 3e c2 a7 3c 2f 61 -from-Underscore-Prefixes">..</a
e0120 3e 3c 2f 68 33 3e 0a 0a 20 20 20 20 20 20 3c 70 3e 49 6e 20 73 6f 6d 65 20 70 72 6f 67 72 61 6d ></h3>........<p>In.some.program
e0140 6d 69 6e 67 20 6c 61 6e 67 75 61 67 65 73 2c 20 69 74 20 69 73 20 63 6f 6d 6d 6f 6e 20 74 6f 20 ming.languages,.it.is.common.to.
e0160 70 72 65 66 69 78 20 69 64 65 6e 74 69 66 69 65 72 73 20 77 69 74 68 0a 20 20 20 20 20 20 75 6e prefix.identifiers.with.......un
e0180 64 65 72 73 63 6f 72 65 73 20 3c 63 6f 64 65 3e 5f 6c 69 6b 65 5f 74 68 69 73 3c 2f 63 6f 64 65 derscores.<code>_like_this</code
e01a0 3e 20 74 6f 20 61 76 6f 69 64 20 6b 65 79 77 6f 72 64 0a 20 20 20 20 20 20 63 6f 6c 6c 69 73 69 >.to.avoid.keyword.......collisi
e01c0 6f 6e 73 2c 20 6e 61 6d 65 20 63 6f 6c 6c 69 73 69 6f 6e 73 2c 20 6f 72 20 69 6e 64 69 63 61 74 ons,.name.collisions,.or.indicat
e01e0 65 20 61 64 64 69 74 69 6f 6e 61 6c 20 6d 65 74 61 64 61 74 61 20 61 73 73 6f 63 69 61 74 65 64 e.additional.metadata.associated
e0200 20 77 69 74 68 20 75 73 61 67 65 20 6f 66 20 74 68 65 0a 20 20 20 20 20 20 69 64 65 6e 74 69 66 .with.usage.of.the.......identif
e0220 69 65 72 2c 20 73 75 63 68 20 61 73 3a 20 70 72 69 76 61 63 79 2c 20 65 78 69 73 74 65 6e 63 65 ier,.such.as:.privacy,.existence
e0240 20 6f 66 20 63 6f 6d 70 6c 65 78 20 64 61 74 61 20 69 6e 76 61 72 69 61 6e 74 73 2c 20 65 78 63 .of.complex.data.invariants,.exc
e0260 6c 75 73 69 6f 6e 20 66 72 6f 6d 0a 20 20 20 20 20 20 73 65 6d 61 6e 74 69 63 20 76 65 72 73 69 lusion.from.......semantic.versi
e0280 6f 6e 69 6e 67 2c 20 6f 72 20 63 6f 6e 74 65 78 74 2d 73 70 65 63 69 66 69 63 20 74 79 70 65 20 oning,.or.context-specific.type.
e02a0 72 65 66 6c 65 63 74 69 6f 6e 20 6d 65 61 6e 69 6e 67 2e 0a 20 20 20 20 20 20 3c 2f 70 3e 0a 20 reflection.meaning........</p>..
e02c0 20 20 20 20 20 3c 70 3e 49 6e 20 5a 69 67 2c 20 74 68 65 72 65 20 61 72 65 20 6e 6f 20 70 72 69 .....<p>In.Zig,.there.are.no.pri
e02e0 76 61 74 65 20 66 69 65 6c 64 73 2c 20 61 6e 64 20 74 68 69 73 20 73 74 79 6c 65 20 67 75 69 64 vate.fields,.and.this.style.guid
e0300 65 20 72 65 63 6f 6d 6d 65 6e 64 73 0a 20 20 20 20 20 20 61 67 61 69 6e 73 74 20 70 72 65 74 65 e.recommends.......against.prete
e0320 6e 64 69 6e 67 20 6f 74 68 65 72 77 69 73 65 2e 20 49 6e 73 74 65 61 64 2c 20 66 69 65 6c 64 73 nding.otherwise..Instead,.fields
e0340 20 73 68 6f 75 6c 64 20 62 65 20 6e 61 6d 65 64 20 63 61 72 65 66 75 6c 6c 79 0a 20 20 20 20 20 .should.be.named.carefully......
e0360 20 62 61 73 65 64 20 6f 6e 20 74 68 65 69 72 20 73 65 6d 61 6e 74 69 63 73 20 61 6e 64 20 64 6f .based.on.their.semantics.and.do
e0380 63 75 6d 65 6e 74 61 74 69 6f 6e 20 73 68 6f 75 6c 64 20 69 6e 64 69 63 61 74 65 20 68 6f 77 20 cumentation.should.indicate.how.
e03a0 74 6f 20 75 73 65 0a 20 20 20 20 20 20 66 69 65 6c 64 73 20 77 69 74 68 6f 75 74 20 76 69 6f 6c to.use.......fields.without.viol
e03c0 61 74 69 6e 67 20 64 61 74 61 20 69 6e 76 61 72 69 61 6e 74 73 2e 20 49 66 20 61 20 66 69 65 6c ating.data.invariants..If.a.fiel
e03e0 64 20 69 73 20 6e 6f 74 20 73 75 62 6a 65 63 74 20 74 6f 0a 20 20 20 20 20 20 74 68 65 20 73 61 d.is.not.subject.to.......the.sa
e0400 6d 65 20 73 65 6d 61 6e 74 69 63 20 76 65 72 73 69 6f 6e 69 6e 67 20 72 75 6c 65 73 20 61 73 20 me.semantic.versioning.rules.as.
e0420 65 76 65 72 79 74 68 69 6e 67 20 65 6c 73 65 2c 20 74 68 65 20 65 78 63 65 70 74 69 6f 6e 0a 20 everything.else,.the.exception..
e0440 20 20 20 20 20 73 68 6f 75 6c 64 20 62 65 20 6e 6f 74 65 64 20 69 6e 20 74 68 65 20 3c 61 20 68 .....should.be.noted.in.the.<a.h
e0460 72 65 66 3d 22 23 44 6f 63 2d 43 6f 6d 6d 65 6e 74 73 22 3e 44 6f 63 20 43 6f 6d 6d 65 6e 74 73 ref="#Doc-Comments">Doc.Comments
e0480 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 41 73 20 66 6f 72 </a>........</p>.......<p>As.for
e04a0 20 3c 61 20 68 72 65 66 3d 22 23 74 79 70 65 49 6e 66 6f 22 3e 74 79 70 65 20 72 65 66 6c 65 63 .<a.href="#typeInfo">type.reflec
e04c0 74 69 6f 6e 3c 2f 61 3e 2c 20 69 74 20 69 73 20 6c 65 73 73 20 65 72 72 6f 72 20 70 72 6f 6e 65 tion</a>,.it.is.less.error.prone
e04e0 20 61 6e 64 0a 20 20 20 20 20 20 6d 6f 72 65 20 6d 61 69 6e 74 61 69 6e 61 62 6c 65 20 74 6f 20 .and.......more.maintainable.to.
e0500 75 73 65 20 74 68 65 20 74 79 70 65 20 73 79 73 74 65 6d 20 74 68 61 6e 20 74 6f 20 6d 61 6b 65 use.the.type.system.than.to.make
e0520 20 66 69 65 6c 64 20 6e 61 6d 65 73 0a 20 20 20 20 20 20 6d 65 61 6e 69 6e 67 66 75 6c 2e 3c 2f .field.names.......meaningful.</
e0540 70 3e 0a 20 20 20 20 20 20 3c 70 3e 52 65 67 61 72 64 69 6e 67 20 6e 61 6d 65 20 63 6f 6c 6c 69 p>.......<p>Regarding.name.colli
e0560 73 69 6f 6e 73 2c 20 61 6e 20 75 6e 64 65 72 73 63 6f 72 65 20 69 73 20 69 6e 73 75 66 66 69 63 sions,.an.underscore.is.insuffic
e0580 69 65 6e 74 20 74 6f 20 65 78 70 6c 61 69 6e 0a 20 20 20 20 20 20 74 68 65 20 64 69 66 66 65 72 ient.to.explain.......the.differ
e05a0 65 6e 63 65 20 62 65 74 77 65 65 6e 20 74 68 65 20 74 77 6f 20 6f 74 68 65 72 77 69 73 65 20 69 ence.between.the.two.otherwise.i
e05c0 64 65 6e 74 69 63 61 6c 20 6e 61 6d 65 73 2e 20 49 66 20 74 68 65 72 65 27 73 20 6e 6f 0a 20 20 dentical.names..If.there's.no...
e05e0 20 20 20 20 64 61 6e 67 65 72 20 69 6e 20 67 65 74 74 69 6e 67 20 74 68 65 6d 20 6d 69 78 65 64 ....danger.in.getting.them.mixed
e0600 20 75 70 2c 20 74 68 65 6e 20 74 68 69 73 20 67 75 69 64 65 20 72 65 63 6f 6d 6d 65 6e 64 73 20 .up,.then.this.guide.recommends.
e0620 6d 6f 72 65 20 76 65 72 62 6f 73 65 0a 20 20 20 20 20 20 6e 61 6d 65 73 20 61 74 20 6f 75 74 65 more.verbose.......names.at.oute
e0640 72 20 73 63 6f 70 65 73 20 61 6e 64 20 6d 6f 72 65 20 61 62 62 72 65 76 69 61 74 65 64 20 6e 61 r.scopes.and.more.abbreviated.na
e0660 6d 65 73 20 61 74 20 69 6e 6e 65 72 20 73 63 6f 70 65 73 2e 3c 2f 70 3e 0a 20 20 20 20 20 20 3c mes.at.inner.scopes.</p>.......<
e0680 70 3e 46 69 6e 61 6c 6c 79 2c 20 6b 65 79 77 6f 72 64 20 63 6f 6c 6c 69 73 69 6f 6e 73 20 61 72 p>Finally,.keyword.collisions.ar
e06a0 65 20 62 65 74 74 65 72 20 61 76 6f 69 64 65 64 20 76 69 61 0a 20 20 20 20 20 20 3c 61 20 68 72 e.better.avoided.via.......<a.hr
e06c0 65 66 3d 22 23 53 74 72 69 6e 67 2d 49 64 65 6e 74 69 66 69 65 72 2d 53 79 6e 74 61 78 22 3e 53 ef="#String-Identifier-Syntax">S
e06e0 74 72 69 6e 67 20 49 64 65 6e 74 69 66 69 65 72 20 53 79 6e 74 61 78 3c 2f 61 3e 2e 3c 2f 70 3e tring.Identifier.Syntax</a>.</p>
e0700 0a 20 20 20 20 20 20 0a 0a 20 20 20 20 20 20 3c 68 33 20 69 64 3d 22 57 68 69 74 65 73 70 61 63 ...............<h3.id="Whitespac
e0720 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
e0740 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
e0760 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
e0780 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>.....
e07a0 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.......
e07c0 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
e07e0 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.
e0800 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>.
e0820 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.
e0840 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.
e0860 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
e0880 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
e08a0 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
e08c0 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
e08e0 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
e0900 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>.
e0920 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
e0940 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<
e0960 2f 61 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"
e0980 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
e09a0 75 67 68 6c 79 20 73 70 65 61 6b 69 6e 67 3a 20 3c 63 6f 64 65 3e 63 61 6d 65 6c 43 61 73 65 46 ughly.speaking:.<code>camelCaseF
e09c0 75 6e 63 74 69 6f 6e 4e 61 6d 65 3c 2f 63 6f 64 65 3e 2c 20 3c 63 6f 64 65 3e 54 69 74 6c 65 43 unctionName</code>,.<code>TitleC
e09e0 61 73 65 54 79 70 65 4e 61 6d 65 3c 2f 63 6f 64 65 3e 2c 0a 20 20 20 20 20 20 20 20 20 20 20 20 aseTypeName</code>,.............
e0a00 20 20 3c 63 6f 64 65 3e 73 6e 61 6b 65 5f 63 61 73 65 5f 76 61 72 69 61 62 6c 65 5f 6e 61 6d 65 ..<code>snake_case_variable_name
e0a20 3c 2f 63 6f 64 65 3e 2e 20 4d 6f 72 65 20 70 72 65 63 69 73 65 6c 79 3a 0a 20 20 20 20 20 20 3c </code>..More.precisely:.......<
e0a40 2f 70 3e 0a 20 20 20 20 20 20 3c 75 6c 3e 0a 20 20 20 20 20 20 20 20 3c 6c 69 3e 0a 20 20 20 20 /p>.......<ul>.........<li>.....
e0a60 20 20 20 20 20 20 20 20 49 66 20 3c 63 6f 64 65 3e 78 3c 2f 63 6f 64 65 3e 20 69 73 20 61 20 3c ........If.<code>x</code>.is.a.<
e0a80 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 73 74 72 75 63 74 code><span.class="tok-kw">struct
e0aa0 3c 2f 73 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 </span></code>.with.0.fields.and
e0ac0 20 69 73 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 .is.never.meant.to.be.instantiat
e0ae0 65 64 0a 20 20 20 20 20 20 20 20 20 20 20 20 74 68 65 6e 20 3c 63 6f 64 65 3e 78 3c 2f 63 6f 64 ed.............then.<code>x</cod
e0b00 65 3e 20 69 73 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 e>.is.considered.to.be.a."namesp
e0b20 61 63 65 22 20 61 6e 64 20 73 68 6f 75 6c 64 20 62 65 20 3c 63 6f 64 65 3e 73 6e 61 6b 65 5f 63 ace".and.should.be.<code>snake_c
e0b40 61 73 65 3c 2f 63 6f 64 65 3e 2e 0a 20 20 20 20 20 20 20 20 3c 2f 6c 69 3e 0a 09 09 3c 6c 69 3e ase</code>..........</li>...<li>
e0b60 0a 20 20 20 20 20 20 20 20 20 20 20 20 49 66 20 3c 63 6f 64 65 3e 78 3c 2f 63 6f 64 65 3e 20 69 .............If.<code>x</code>.i
e0b80 73 20 61 20 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 s.a.<code><span.class="tok-type"
e0ba0 3e 74 79 70 65 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 20 6f 72 20 3c 63 6f 64 65 3e 3c 73 70 >type</span></code>.or.<code><sp
e0bc0 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 74 79 70 65 3c 2f 73 70 61 6e 3e 3c an.class="tok-type">type</span><
e0be0 2f 63 6f 64 65 3e 20 61 6c 69 61 73 0a 20 20 20 20 20 20 20 20 20 20 20 20 74 68 65 6e 20 3c 63 /code>.alias.............then.<c
e0c00 6f 64 65 3e 78 3c 2f 63 6f 64 65 3e 20 73 68 6f 75 6c 64 20 62 65 20 3c 63 6f 64 65 3e 54 69 74 ode>x</code>.should.be.<code>Tit
e0c20 6c 65 43 61 73 65 3c 2f 63 6f 64 65 3e 2e 0a 20 20 20 20 20 20 20 20 3c 2f 6c 69 3e 0a 20 20 20 leCase</code>..........</li>....
e0c40 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 78 .....<li>.............If.<code>x
e0c60 3c 2f 63 6f 64 65 3e 20 69 73 20 63 61 6c 6c 61 62 6c 65 2c 20 61 6e 64 20 3c 63 6f 64 65 3e 78 </code>.is.callable,.and.<code>x
e0c80 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 20 </code>'s.return.type.is........
e0ca0 20 20 20 20 20 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 .....<code><span.class="tok-type
e0cc0 22 3e 74 79 70 65 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 2c 20 74 68 65 6e 20 3c 63 6f 64 65 ">type</span></code>,.then.<code
e0ce0 3e 78 3c 2f 63 6f 64 65 3e 20 73 68 6f 75 6c 64 20 62 65 20 3c 63 6f 64 65 3e 54 69 74 6c 65 43 >x</code>.should.be.<code>TitleC
e0d00 61 73 65 3c 2f 63 6f 64 65 3e 2e 0a 20 20 20 20 20 20 20 20 3c 2f 6c 69 3e 0a 20 20 20 20 20 20 ase</code>..........</li>.......
e0d20 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 78 3c 2f 63 ..<li>.............If.<code>x</c
e0d40 6f 64 65 3e 20 69 73 20 6f 74 68 65 72 77 69 73 65 20 63 61 6c 6c 61 62 6c 65 2c 20 74 68 65 6e ode>.is.otherwise.callable,.then
e0d60 20 3c 63 6f 64 65 3e 78 3c 2f 63 6f 64 65 3e 20 73 68 6f 75 6c 64 0a 20 20 20 20 20 20 20 20 20 .<code>x</code>.should..........
e0d80 20 20 20 62 65 20 3c 63 6f 64 65 3e 63 61 6d 65 6c 43 61 73 65 3c 2f 63 6f 64 65 3e 2e 0a 20 20 ...be.<code>camelCase</code>....
e0da0 20 20 20 20 20 20 3c 2f 6c 69 3e 0a 20 20 20 20 20 20 20 20 3c 6c 69 3e 0a 20 20 20 20 20 20 20 ......</li>.........<li>........
e0dc0 20 20 20 20 20 4f 74 68 65 72 77 69 73 65 2c 20 3c 63 6f 64 65 3e 78 3c 2f 63 6f 64 65 3e 20 73 .....Otherwise,.<code>x</code>.s
e0de0 68 6f 75 6c 64 20 62 65 20 3c 63 6f 64 65 3e 73 6e 61 6b 65 5f 63 61 73 65 3c 2f 63 6f 64 65 3e hould.be.<code>snake_case</code>
e0e00 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 20 ..........</li>.......</ul>.....
e0e20 20 20 3c 70 3e 0a 20 20 20 20 20 20 41 63 72 6f 6e 79 6d 73 2c 20 69 6e 69 74 69 61 6c 69 73 6d ..<p>.......Acronyms,.initialism
e0e40 73 2c 20 70 72 6f 70 65 72 20 6e 6f 75 6e 73 2c 20 6f 72 20 61 6e 79 20 6f 74 68 65 72 20 77 6f s,.proper.nouns,.or.any.other.wo
e0e60 72 64 20 74 68 61 74 20 68 61 73 20 63 61 70 69 74 61 6c 69 7a 61 74 69 6f 6e 0a 20 20 20 20 20 rd.that.has.capitalization......
e0e80 20 72 75 6c 65 73 20 69 6e 20 77 72 69 74 74 65 6e 20 45 6e 67 6c 69 73 68 20 61 72 65 20 73 75 .rules.in.written.English.are.su
e0ea0 62 6a 65 63 74 20 74 6f 20 6e 61 6d 69 6e 67 20 63 6f 6e 76 65 6e 74 69 6f 6e 73 20 6a 75 73 74 bject.to.naming.conventions.just
e0ec0 20 6c 69 6b 65 20 61 6e 79 20 6f 74 68 65 72 0a 20 20 20 20 20 20 77 6f 72 64 2e 20 45 76 65 6e .like.any.other.......word..Even
e0ee0 20 61 63 72 6f 6e 79 6d 73 20 74 68 61 74 20 61 72 65 20 6f 6e 6c 79 20 32 20 6c 65 74 74 65 72 .acronyms.that.are.only.2.letter
e0f00 73 20 6c 6f 6e 67 20 61 72 65 20 73 75 62 6a 65 63 74 20 74 6f 20 74 68 65 73 65 0a 20 20 20 20 s.long.are.subject.to.these.....
e0f20 20 20 63 6f 6e 76 65 6e 74 69 6f 6e 73 2e 0a 20 20 20 20 20 20 3c 2f 70 3e 0a 20 20 20 20 20 20 ..conventions........</p>.......
e0f40 3c 70 3e 0a 20 20 20 20 20 20 46 69 6c 65 20 6e 61 6d 65 73 20 66 61 6c 6c 20 69 6e 74 6f 20 74 <p>.......File.names.fall.into.t
e0f60 77 6f 20 63 61 74 65 67 6f 72 69 65 73 3a 20 74 79 70 65 73 20 61 6e 64 20 6e 61 6d 65 73 70 61 wo.categories:.types.and.namespa
e0f80 63 65 73 2e 20 49 66 20 74 68 65 20 66 69 6c 65 0a 20 20 20 20 20 20 28 69 6d 70 6c 69 63 69 74 ces..If.the.file.......(implicit
e0fa0 6c 79 20 61 20 73 74 72 75 63 74 29 20 68 61 73 20 74 6f 70 20 6c 65 76 65 6c 20 66 69 65 6c 64 ly.a.struct).has.top.level.field
e0fc0 73 2c 20 69 74 20 73 68 6f 75 6c 64 20 62 65 20 6e 61 6d 65 64 20 6c 69 6b 65 20 61 6e 79 0a 20 s,.it.should.be.named.like.any..
e0fe0 20 20 20 20 20 6f 74 68 65 72 20 73 74 72 75 63 74 20 77 69 74 68 20 66 69 65 6c 64 73 20 75 73 .....other.struct.with.fields.us
e1000 69 6e 67 20 3c 63 6f 64 65 20 63 6c 61 73 73 3d 22 66 69 6c 65 22 3e 54 69 74 6c 65 43 61 73 65 ing.<code.class="file">TitleCase
e1020 3c 2f 63 6f 64 65 3e 2e 20 4f 74 68 65 72 77 69 73 65 2c 0a 20 20 20 20 20 20 69 74 20 73 68 6f </code>..Otherwise,.......it.sho
e1040 75 6c 64 20 75 73 65 20 3c 63 6f 64 65 20 63 6c 61 73 73 3d 22 66 69 6c 65 22 3e 73 6e 61 6b 65 uld.use.<code.class="file">snake
e1060 5f 63 61 73 65 3c 2f 63 6f 64 65 3e 2e 20 44 69 72 65 63 74 6f 72 79 20 6e 61 6d 65 73 20 73 68 _case</code>..Directory.names.sh
e1080 6f 75 6c 64 20 62 65 0a 20 20 20 20 20 20 3c 63 6f 64 65 20 63 6c 61 73 73 3d 22 66 69 6c 65 22 ould.be.......<code.class="file"
e10a0 3e 73 6e 61 6b 65 5f 63 61 73 65 3c 2f 63 6f 64 65 3e 2e 0a 20 20 20 20 20 20 3c 2f 70 3e 0a 20 >snake_case</code>........</p>..
e10c0 20 20 20 20 20 3c 70 3e 0a 20 20 20 20 20 20 54 68 65 73 65 20 61 72 65 20 67 65 6e 65 72 61 6c .....<p>.......These.are.general
e10e0 20 72 75 6c 65 73 20 6f 66 20 74 68 75 6d 62 3b 20 69 66 20 69 74 20 6d 61 6b 65 73 20 73 65 6e .rules.of.thumb;.if.it.makes.sen
e1100 73 65 20 74 6f 20 64 6f 20 73 6f 6d 65 74 68 69 6e 67 20 64 69 66 66 65 72 65 6e 74 2c 0a 20 20 se.to.do.something.different,...
e1120 20 20 20 20 64 6f 20 77 68 61 74 20 6d 61 6b 65 73 20 73 65 6e 73 65 2e 20 46 6f 72 20 65 78 61 ....do.what.makes.sense..For.exa
e1140 6d 70 6c 65 2c 20 69 66 20 74 68 65 72 65 20 69 73 20 61 6e 20 65 73 74 61 62 6c 69 73 68 65 64 mple,.if.there.is.an.established
e1160 20 63 6f 6e 76 65 6e 74 69 6f 6e 20 73 75 63 68 20 61 73 0a 20 20 20 20 20 20 3c 63 6f 64 65 3e .convention.such.as.......<code>
e1180 45 4e 4f 45 4e 54 3c 2f 63 6f 64 65 3e 2c 20 66 6f 6c 6c 6f 77 20 74 68 65 20 65 73 74 61 62 6c ENOENT</code>,.follow.the.establ
e11a0 69 73 68 65 64 20 63 6f 6e 76 65 6e 74 69 6f 6e 2e 0a 20 20 20 20 20 20 3c 2f 70 3e 0a 20 20 20 ished.convention........</p>....
e11c0 20 20 20 0a 20 20 20 20 20 20 3c 68 33 20 69 64 3d 22 45 78 61 6d 70 6c 65 73 22 3e 3c 61 20 68 ..........<h3.id="Examples"><a.h
e11e0 72 65 66 3d 22 6e 61 76 2e 78 68 74 6d 6c 23 74 6f 63 2d 45 78 61 6d 70 6c 65 73 22 3e 45 78 61 ref="nav.xhtml#toc-Examples">Exa
e1200 6d 70 6c 65 73 3c 2f 61 3e 20 3c 61 20 63 6c 61 73 73 3d 22 68 64 72 22 20 68 72 65 66 3d 22 23 mples</a>.<a.class="hdr".href="#
e1220 45 78 61 6d 70 6c 65 73 22 3e c2 a7 3c 2f 61 3e 3c 2f 68 33 3e 0a 0a 20 20 20 20 20 20 3c 66 69 Examples">..</a></h3>........<fi
e1240 67 75 72 65 3e 3c 66 69 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"
e1260 3e 3c 63 69 74 65 20 63 6c 61 73 73 3d 22 66 69 6c 65 22 3e 73 74 79 6c 65 5f 65 78 61 6d 70 6c ><cite.class="file">style_exampl
e1280 65 2e 7a 69 67 3c 2f 63 69 74 65 3e 3c 2f 66 69 67 63 61 70 74 69 6f 6e 3e 3c 70 72 65 3e 3c 63 e.zig</cite></figcaption><pre><c
e12a0 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 63 6f 6e 73 74 3c 2f ode><span.class="tok-kw">const</
e12c0 73 70 61 6e 3e 20 6e 61 6d 65 73 70 61 63 65 5f 6e 61 6d 65 20 3d 20 3c 73 70 61 6e 20 63 6c 61 span>.namespace_name.=.<span.cla
e12e0 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>(
e1300 3c 73 70 61 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 <span.class="tok-str">&quot;dir_
e1320 6e 61 6d 65 2f 66 69 6c 65 5f 6e 61 6d 65 2e 7a 69 67 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 29 name/file_name.zig&quot;</span>)
e1340 3b 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 63 6f 6e 73 74 3c 2f 73 70 ;.<span.class="tok-kw">const</sp
e1360 61 6e 3e 20 54 79 70 65 4e 61 6d 65 20 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d an>.TypeName.=.<span.class="tok-
e1380 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
e13a0 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 6d 65 2f 54 79 70 ass="tok-str">&quot;dir_name/Typ
e13c0 65 4e 61 6d 65 2e 7a 69 67 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 29 3b 0a 3c 73 70 61 6e 20 63 eName.zig&quot;</span>);.<span.c
e13e0 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 76 61 72 3c 2f 73 70 61 6e 3e 20 67 6c 6f 62 61 6c 5f lass="tok-kw">var</span>.global_
e1400 76 61 72 3a 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 69 33 32 3c var:.<span.class="tok-type">i32<
e1420 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">
e1440 75 6e 64 65 66 69 6e 65 64 3c 2f 73 70 61 6e 3e 3b 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 undefined</span>;.<span.class="t
e1460 6f 6b 2d 6b 77 22 3e 63 6f 6e 73 74 3c 2f 73 70 61 6e 3e 20 63 6f 6e 73 74 5f 6e 61 6d 65 20 3d ok-kw">const</span>.const_name.=
e1480 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 34 32 3c 2f 73 70 .<span.class="tok-number">42</sp
e14a0 61 6e 3e 3b 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 63 6f 6e 73 74 3c an>;.<span.class="tok-kw">const<
e14c0 2f 73 70 61 6e 3e 20 50 72 69 6d 69 74 69 76 65 54 79 70 65 41 6c 69 61 73 20 3d 20 3c 73 70 61 /span>.PrimitiveTypeAlias.=.<spa
e14e0 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 66 33 32 3c 2f 73 70 61 6e 3e 3b 0a 0a n.class="tok-type">f32</span>;..
e1500 3c 73 70 61 6e 20 63 6c 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
e1520 3e 20 53 74 72 75 63 74 4e 61 6d 65 20 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d >.StructName.=.<span.class="tok-
e1540 6b 77 22 3e 73 74 72 75 63 74 3c 2f 73 70 61 6e 3e 20 7b 0a 20 20 20 20 66 69 65 6c 64 3a 20 3c kw">struct</span>.{.....field:.<
e1560 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>
e1580 2c 0a 7d 3b 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 63 6f 6e 73 74 3c ,.};.<span.class="tok-kw">const<
e15a0 2f 73 70 61 6e 3e 20 53 74 72 75 63 74 41 6c 69 61 73 20 3d 20 53 74 72 75 63 74 4e 61 6d 65 3b /span>.StructAlias.=.StructName;
e15c0 0a 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 66 6e 3c 2f 73 70 61 6e 3e ..<span.class="tok-kw">fn</span>
e15e0 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 74 69 6f 6e 4e 61 .<span.class="tok-fn">functionNa
e1600 6d 65 3c 2f 73 70 61 6e 3e 28 70 61 72 61 6d 5f 6e 61 6d 65 3a 20 54 79 70 65 4e 61 6d 65 29 20 me</span>(param_name:.TypeName).
e1620 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
e1640 6e 3e 20 7b 0a 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 76 61 n>.{.....<span.class="tok-kw">va
e1660 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 3d 20 66 75 6e 63 74 r</span>.functionPointer.=.funct
e1680 69 6f 6e 4e 61 6d 65 3b 0a 20 20 20 20 66 75 6e 63 74 69 6f 6e 50 6f 69 6e 74 65 72 28 29 3b 0a ionName;.....functionPointer();.
e16a0 20 20 20 20 66 75 6e 63 74 69 6f 6e 50 6f 69 6e 74 65 72 20 3d 20 6f 74 68 65 72 46 75 6e 63 74 ....functionPointer.=.otherFunct
e16c0 69 6f 6e 3b 0a 20 20 20 20 66 75 6e 63 74 69 6f 6e 50 6f 69 6e 74 65 72 28 29 3b 0a 7d 0a 3c 73 ion;.....functionPointer();.}.<s
e16e0 70 61 6e 20 63 6c 61 73 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>.
e1700 66 75 6e 63 74 69 6f 6e 41 6c 69 61 73 20 3d 20 66 75 6e 63 74 69 6f 6e 4e 61 6d 65 3b 0a 0a 3c functionAlias.=.functionName;..<
e1720 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
e1740 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 66 6e 22 3e 4c 69 73 74 54 65 6d 70 6c 61 74 65 46 pan.class="tok-fn">ListTemplateF
e1760 75 6e 63 74 69 6f 6e 3c 2f 73 70 61 6e 3e 28 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d unction</span>(<span.class="tok-
e1780 6b 77 22 3e 63 6f 6d 70 74 69 6d 65 3c 2f 73 70 61 6e 3e 20 43 68 69 6c 64 54 79 70 65 3a 20 3c kw">comptime</span>.ChildType:.<
e17a0 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
e17c0 3e 2c 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 63 6f 6d 70 74 69 6d 65 >,.<span.class="tok-kw">comptime
e17e0 3c 2f 73 70 61 6e 3e 20 66 69 78 65 64 5f 73 69 7a 65 3a 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d </span>.fixed_size:.<span.class=
e1800 22 74 6f 6b 2d 74 79 70 65 22 3e 75 73 69 7a 65 3c 2f 73 70 61 6e 3e 29 20 3c 73 70 61 6e 20 63 "tok-type">usize</span>).<span.c
e1820 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 0a 20 20 lass="tok-type">type</span>.{...
e1840 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
e1860 70 61 6e 3e 20 4c 69 73 74 28 43 68 69 6c 64 54 79 70 65 2c 20 66 69 78 65 64 5f 73 69 7a 65 29 pan>.List(ChildType,.fixed_size)
e1880 3b 0a 7d 0a 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 66 6e 3c 2f 73 70 ;.}..<span.class="tok-kw">fn</sp
e18a0 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 6f 72 74 4c 69 an>.<span.class="tok-fn">ShortLi
e18c0 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
e18e0 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
e1900 6f 6b 2d 74 79 70 65 22 3e 74 79 70 65 3c 2f 73 70 61 6e 3e 2c 20 3c 73 70 61 6e 20 63 6c 61 73 ok-type">type</span>,.<span.clas
e1920 73 3d 22 74 6f 6b 2d 6b 77 22 3e 63 6f 6d 70 74 69 6d 65 3c 2f 73 70 61 6e 3e 20 6e 3a 20 3c 73 s="tok-kw">comptime</span>.n:.<s
e1940 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
e1960 3e 29 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 74 79 70 65 3c 2f >).<span.class="tok-type">type</
e1980 73 70 61 6e 3e 20 7b 0a 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 span>.{.....<span.class="tok-kw"
e19a0 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-
e19c0 6b 77 22 3e 73 74 72 75 63 74 3c 2f 73 70 61 6e 3e 20 7b 0a 20 20 20 20 20 20 20 20 66 69 65 6c kw">struct</span>.{.........fiel
e19e0 64 5f 6e 61 6d 65 3a 20 5b 6e 5d 54 2c 0a 20 20 20 20 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 d_name:.[n]T,.........<span.clas
e1a00 73 3d 22 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
e1a20 3d 22 74 6f 6b 2d 66 6e 22 3e 6d 65 74 68 6f 64 4e 61 6d 65 3c 2f 73 70 61 6e 3e 28 29 20 3c 73 ="tok-fn">methodName</span>().<s
e1a40 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>
e1a60 20 7b 7d 0a 20 20 20 20 7d 3b 0a 7d 0a 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 63 .{}.....};.}..<span.class="tok-c
e1a80 6f 6d 6d 65 6e 74 22 3e 2f 2f 20 54 68 65 20 77 6f 72 64 20 58 4d 4c 20 6c 6f 73 65 73 20 69 74 omment">//.The.word.XML.loses.it
e1aa0 73 20 63 61 73 69 6e 67 20 77 68 65 6e 20 75 73 65 64 20 69 6e 20 5a 69 67 20 69 64 65 6e 74 69 s.casing.when.used.in.Zig.identi
e1ac0 66 69 65 72 73 2e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b fiers.</span>.<span.class="tok-k
e1ae0 77 22 3e 63 6f 6e 73 74 3c 2f 73 70 61 6e 3e 20 78 6d 6c 5f 64 6f 63 75 6d 65 6e 74 20 3d 0a 20 w">const</span>.xml_document.=..
e1b00 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 73 74 72 22 3e 5c 5c 26 6c 74 3b 3f ...<span.class="tok-str">\\&lt;?
e1b20 78 6d 6c 20 76 65 72 73 69 6f 6e 3d 26 71 75 6f 74 3b 31 2e 30 26 71 75 6f 74 3b 20 65 6e 63 6f xml.version=&quot;1.0&quot;.enco
e1b40 64 69 6e 67 3d 26 71 75 6f 74 3b 55 54 46 2d 38 26 71 75 6f 74 3b 3f 26 67 74 3b 3c 2f 73 70 61 ding=&quot;UTF-8&quot;?&gt;</spa
e1b60 6e 3e 0a 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 73 74 72 22 3e 5c 5c 26 n>.....<span.class="tok-str">\\&
e1b80 6c 74 3b 64 6f 63 75 6d 65 6e 74 26 67 74 3b 3c 2f 73 70 61 6e 3e 0a 20 20 20 20 3c 73 70 61 6e lt;document&gt;</span>.....<span
e1ba0 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 65 6e 74 .class="tok-str">\\&lt;/document
e1bc0 26 67 74 3b 3c 2f 73 70 61 6e 3e 0a 3b 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b &gt;</span>.;.<span.class="tok-k
e1be0 77 22 3e 63 6f 6e 73 74 3c 2f 73 70 61 6e 3e 20 58 6d 6c 50 61 72 73 65 72 20 3d 20 3c 73 70 61 w">const</span>.XmlParser.=.<spa
e1c00 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>.{
e1c20 0a 20 20 20 20 66 69 65 6c 64 3a 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 .....field:.<span.class="tok-typ
e1c40 65 22 3e 69 33 32 3c 2f 73 70 61 6e 3e 2c 0a 7d 3b 0a 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 e">i32</span>,.};..<span.class="
e1c60 74 6f 6b 2d 63 6f 6d 6d 65 6e 74 22 3e 2f 2f 20 54 68 65 20 69 6e 69 74 69 61 6c 73 20 42 45 20 tok-comment">//.The.initials.BE.
e1c80 28 42 69 67 20 45 6e 64 69 61 6e 29 20 61 72 65 20 6a 75 73 74 20 61 6e 6f 74 68 65 72 20 77 6f (Big.Endian).are.just.another.wo
e1ca0 72 64 20 69 6e 20 5a 69 67 20 69 64 65 6e 74 69 66 69 65 72 20 6e 61 6d 65 73 2e 3c 2f 73 70 61 rd.in.Zig.identifier.names.</spa
e1cc0 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 66 6e 3c 2f 73 70 61 6e n>.<span.class="tok-kw">fn</span
e1ce0 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 61 64 55 33 32 42 65 >.<span.class="tok-fn">readU32Be
e1d00 3c 2f 73 70 61 6e 3e 28 29 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 </span>().<span.class="tok-type"
e1d20 3e 75 33 32 3c 2f 73 70 61 6e 3e 20 7b 7d 3c 2f 63 6f 64 65 3e 3c 2f 70 72 65 3e 3c 2f 66 69 67 >u32</span>.{}</code></pre></fig
e1d40 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.
e1d60 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
e1d80 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
e1da0 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>.............
e1dc0 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"><
e1de0 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
e1e00 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
e1e20 3c 2f 61 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
e1e40 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>....
e1e60 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
e1e80 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
e1ea0 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
e1ec0 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
e1ee0 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
e1f00 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
e1f20 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
e1f40 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
e1f60 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
e1f80 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
e1fa0 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 65 6d 3e icate.invariants.that.cause.<em>
e1fc0 75 6e 63 68 65 63 6b 65 64 3c 2f 65 6d 3e 20 3c 61 20 68 72 65 66 3d 22 23 49 6c 6c 65 67 61 6c unchecked</em>.<a.href="#Illegal
e1fe0 2d 42 65 68 61 76 69 6f 72 22 3e 49 6c 6c 65 67 61 6c 20 42 65 68 61 76 69 6f 72 3c 2f 61 3e 20 -Behavior">Illegal.Behavior</a>.
e2000 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 20 20 3c 6c 69 3e when.violated.</li>.........<li>
e2020 55 73 65 20 74 68 65 20 77 6f 72 64 20 3c 73 74 72 6f 6e 67 3e 61 73 73 65 72 74 3c 2f 73 74 72 Use.the.word.<strong>assert</str
e2040 6f 6e 67 3e 20 74 6f 20 69 6e 64 69 63 61 74 65 20 69 6e 76 61 72 69 61 6e 74 73 20 74 68 61 74 ong>.to.indicate.invariants.that
e2060 20 63 61 75 73 65 20 3c 65 6d 3e 73 61 66 65 74 79 2d 63 68 65 63 6b 65 64 3c 2f 65 6d 3e 20 3c .cause.<em>safety-checked</em>.<
e2080 61 20 68 72 65 66 3d 22 23 49 6c 6c 65 67 61 6c 2d 42 65 68 61 76 69 6f 72 22 3e 49 6c 6c 65 67 a.href="#Illegal-Behavior">Illeg
e20a0 61 6c 20 42 65 68 61 76 69 6f 72 3c 2f 61 3e 20 77 68 65 6e 20 76 69 6f 6c 61 74 65 64 2e 3c 2f al.Behavior</a>.when.violated.</
e20c0 6c 69 3e 0a 20 20 20 20 20 20 3c 2f 75 6c 3e 0a 20 20 20 20 20 20 0a 20 20 20 20 20 20 0a 20 20 li>.......</ul>.................
e20e0 20 20 20 20 3c 68 32 20 69 64 3d 22 53 6f 75 72 63 65 2d 45 6e 63 6f 64 69 6e 67 22 3e 3c 61 20 ....<h2.id="Source-Encoding"><a.
e2100 68 72 65 66 3d 22 6e 61 76 2e 78 68 74 6d 6c 23 74 6f 63 2d 53 6f 75 72 63 65 2d 45 6e 63 6f 64 href="nav.xhtml#toc-Source-Encod
e2120 69 6e 67 22 3e 53 6f 75 72 63 65 20 45 6e 63 6f 64 69 6e 67 3c 2f 61 3e 20 3c 61 20 63 6c 61 73 ing">Source.Encoding</a>.<a.clas
e2140 73 3d 22 68 64 72 22 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 s="hdr".href="#Source-Encoding">
e2160 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 6f 75 72 63 65 ..</a></h2>........<p>Zig.source
e2180 20 63 6f 64 65 20 69 73 20 65 6e 63 6f 64 65 64 20 69 6e 20 55 54 46 2d 38 2e 20 41 6e 20 69 6e .code.is.encoded.in.UTF-8..An.in
e21a0 76 61 6c 69 64 20 55 54 46 2d 38 20 62 79 74 65 20 73 65 71 75 65 6e 63 65 20 72 65 73 75 6c 74 valid.UTF-8.byte.sequence.result
e21c0 73 20 69 6e 20 61 20 63 6f 6d 70 69 6c 65 20 65 72 72 6f 72 2e 3c 2f 70 3e 0a 20 20 20 20 20 20 s.in.a.compile.error.</p>.......
e21e0 3c 70 3e 54 68 72 6f 75 67 68 6f 75 74 20 61 6c 6c 20 7a 69 67 20 73 6f 75 72 63 65 20 63 6f 64 <p>Throughout.all.zig.source.cod
e2200 65 20 28 69 6e 63 6c 75 64 69 6e 67 20 69 6e 20 63 6f 6d 6d 65 6e 74 73 29 2c 20 73 6f 6d 65 20 e.(including.in.comments),.some.
e2220 63 6f 64 65 20 70 6f 69 6e 74 73 20 61 72 65 20 6e 65 76 65 72 20 61 6c 6c 6f 77 65 64 3a 3c 2f code.points.are.never.allowed:</
e2240 70 3e 0a 20 20 20 20 20 20 3c 75 6c 3e 0a 20 20 20 20 20 20 20 20 3c 6c 69 3e 41 73 63 69 69 20 p>.......<ul>.........<li>Ascii.
e2260 63 6f 6e 74 72 6f 6c 20 63 68 61 72 61 63 74 65 72 73 2c 20 65 78 63 65 70 74 20 66 6f 72 20 55 control.characters,.except.for.U
e2280 2b 30 30 30 61 20 28 4c 46 29 2c 20 55 2b 30 30 30 64 20 28 43 52 29 2c 20 61 6e 64 20 55 2b 30 +000a.(LF),.U+000d.(CR),.and.U+0
e22a0 30 30 39 20 28 48 54 29 3a 20 55 2b 30 30 30 30 20 2d 20 55 2b 30 30 30 38 2c 20 55 2b 30 30 30 009.(HT):.U+0000.-.U+0008,.U+000
e22c0 62 20 2d 20 55 2b 30 30 30 63 2c 20 55 2b 30 30 30 65 20 2d 20 55 2b 30 30 30 31 66 2c 20 55 2b b.-.U+000c,.U+000e.-.U+0001f,.U+
e22e0 30 30 37 66 2e 3c 2f 6c 69 3e 0a 20 20 20 20 20 20 20 20 3c 6c 69 3e 4e 6f 6e 2d 41 73 63 69 69 007f.</li>.........<li>Non-Ascii
e2300 20 55 6e 69 63 6f 64 65 20 6c 69 6e 65 20 65 6e 64 69 6e 67 73 3a 20 55 2b 30 30 38 35 20 28 4e .Unicode.line.endings:.U+0085.(N
e2320 45 4c 29 2c 20 55 2b 32 30 32 38 20 28 4c 53 29 2c 20 55 2b 32 30 32 39 20 28 50 53 29 2e 3c 2f EL),.U+2028.(LS),.U+2029.(PS).</
e2340 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>.......
e2360 4c 46 20 28 62 79 74 65 20 76 61 6c 75 65 20 30 78 30 61 2c 20 63 6f 64 65 20 70 6f 69 6e 74 20 LF.(byte.value.0x0a,.code.point.
e2380 55 2b 30 30 30 61 2c 20 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 73 U+000a,.<code><span.class="tok-s
e23a0 74 72 22 3e 27 5c 6e 27 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 29 20 69 73 20 74 68 65 20 6c tr">'\n'</span></code>).is.the.l
e23c0 69 6e 65 20 74 65 72 6d 69 6e 61 74 6f 72 20 69 6e 20 5a 69 67 20 73 6f 75 72 63 65 20 63 6f 64 ine.terminator.in.Zig.source.cod
e23e0 65 2e 0a 20 20 20 20 20 20 54 68 69 73 20 62 79 74 65 20 76 61 6c 75 65 20 74 65 72 6d 69 6e 61 e........This.byte.value.termina
e2400 74 65 73 20 65 76 65 72 79 20 6c 69 6e 65 20 6f 66 20 7a 69 67 20 73 6f 75 72 63 65 20 63 6f 64 tes.every.line.of.zig.source.cod
e2420 65 20 65 78 63 65 70 74 20 74 68 65 20 6c 61 73 74 20 6c 69 6e 65 20 6f 66 20 74 68 65 20 66 69 e.except.the.last.line.of.the.fi
e2440 6c 65 2e 0a 20 20 20 20 20 20 49 74 20 69 73 20 72 65 63 6f 6d 6d 65 6e 64 65 64 20 74 68 61 74 le........It.is.recommended.that
e2460 20 6e 6f 6e 2d 65 6d 70 74 79 20 73 6f 75 72 63 65 20 66 69 6c 65 73 20 65 6e 64 20 77 69 74 68 .non-empty.source.files.end.with
e2480 20 61 6e 20 65 6d 70 74 79 20 6c 69 6e 65 2c 20 77 68 69 63 68 20 6d 65 61 6e 73 20 74 68 65 20 .an.empty.line,.which.means.the.
e24a0 6c 61 73 74 20 62 79 74 65 20 77 6f 75 6c 64 20 62 65 20 30 78 30 61 20 28 4c 46 29 2e 0a 20 20 last.byte.would.be.0x0a.(LF)....
e24c0 20 20 20 20 3c 2f 70 3e 0a 20 20 20 20 20 20 3c 70 3e 0a 20 20 20 20 20 20 45 61 63 68 20 4c 46 ....</p>.......<p>.......Each.LF
e24e0 20 6d 61 79 20 62 65 20 69 6d 6d 65 64 69 61 74 65 6c 79 20 70 72 65 63 65 64 65 64 20 62 79 20 .may.be.immediately.preceded.by.
e2500 61 20 73 69 6e 67 6c 65 20 43 52 20 28 62 79 74 65 20 76 61 6c 75 65 20 30 78 30 64 2c 20 63 6f a.single.CR.(byte.value.0x0d,.co
e2520 64 65 20 70 6f 69 6e 74 20 55 2b 30 30 30 64 2c 20 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 de.point.U+000d,.<code><span.cla
e2540 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 63 6f 64 65 3e 29 ss="tok-str">'\r'</span></code>)
e2560 0a 20 20 20 20 20 20 74 6f 20 66 6f 72 6d 20 61 20 57 69 6e 64 6f 77 73 20 73 74 79 6c 65 20 6c .......to.form.a.Windows.style.l
e2580 69 6e 65 20 65 6e 64 69 6e 67 2c 20 62 75 74 20 74 68 69 73 20 69 73 20 64 69 73 63 6f 75 72 61 ine.ending,.but.this.is.discoura
e25a0 67 65 64 2e 20 4e 6f 74 65 20 74 68 61 74 20 69 6e 20 6d 75 6c 74 69 6c 69 6e 65 20 73 74 72 69 ged..Note.that.in.multiline.stri
e25c0 6e 67 73 2c 20 43 52 4c 46 20 73 65 71 75 65 6e 63 65 73 20 77 69 6c 6c 0a 20 20 20 20 20 20 62 ngs,.CRLF.sequences.will.......b
e25e0 65 20 65 6e 63 6f 64 65 64 20 61 73 20 4c 46 20 77 68 65 6e 20 63 6f 6d 70 69 6c 65 64 20 69 6e e.encoded.as.LF.when.compiled.in
e2600 74 6f 20 61 20 7a 69 67 20 70 72 6f 67 72 61 6d 2e 0a 20 20 20 20 20 20 41 20 43 52 20 69 6e 20 to.a.zig.program........A.CR.in.
e2620 61 6e 79 20 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 any.other.context.is.not.allowed
e2640 2e 0a 20 20 20 20 20 20 3c 2f 70 3e 0a 20 20 20 20 20 20 3c 70 3e 0a 20 20 20 20 20 20 48 54 20 ........</p>.......<p>.......HT.
e2660 68 61 72 64 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 hard.tabs.(byte.value.0x09,.code
e2680 20 70 6f 69 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 .point.U+0009,.<code><span.class
e26a0 3d 22 74 6f 6b 2d 73 74 72 22 3e 27 5c 74 27 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 29 20 61 ="tok-str">'\t'</span></code>).a
e26c0 72 65 20 69 6e 74 65 72 63 68 61 6e 67 65 61 62 6c 65 20 77 69 74 68 0a 20 20 20 20 20 20 53 50 re.interchangeable.with.......SP
e26e0 20 73 70 61 63 65 73 20 28 62 79 74 65 20 76 61 6c 75 65 20 30 78 32 30 2c 20 63 6f 64 65 20 70 .spaces.(byte.value.0x20,.code.p
e2700 6f 69 6e 74 20 55 2b 30 30 32 30 2c 20 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 oint.U+0020,.<code><span.class="
e2720 74 6f 6b 2d 73 74 72 22 3e 27 20 27 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 29 20 61 73 20 61 tok-str">'.'</span></code>).as.a
e2740 20 74 6f 6b 65 6e 20 73 65 70 61 72 61 74 6f 72 2c 0a 20 20 20 20 20 20 62 75 74 20 75 73 65 20 .token.separator,.......but.use.
e2760 6f 66 20 68 61 72 64 20 74 61 62 73 20 69 73 20 64 69 73 63 6f 75 72 61 67 65 64 2e 20 53 65 65 of.hard.tabs.is.discouraged..See
e2780 20 3c 61 20 68 72 65 66 3d 22 23 47 72 61 6d 6d 61 72 22 3e 47 72 61 6d 6d 61 72 3c 2f 61 3e 2e .<a.href="#Grammar">Grammar</a>.
e27a0 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 20 .......</p>.......<p>.......For.
e27c0 63 6f 6d 70 61 74 69 62 69 6c 69 74 79 20 77 69 74 68 20 6f 74 68 65 72 20 74 6f 6f 6c 73 2c 20 compatibility.with.other.tools,.
e27e0 74 68 65 20 63 6f 6d 70 69 6c 65 72 20 69 67 6e 6f 72 65 73 20 61 20 55 54 46 2d 38 2d 65 6e 63 the.compiler.ignores.a.UTF-8-enc
e2800 6f 64 65 64 20 62 79 74 65 20 6f 72 64 65 72 20 6d 61 72 6b 20 28 55 2b 46 45 46 46 29 0a 20 20 oded.byte.order.mark.(U+FEFF)...
e2820 20 20 20 20 69 66 20 69 74 20 69 73 20 74 68 65 20 66 69 72 73 74 20 55 6e 69 63 6f 64 65 20 63 ....if.it.is.the.first.Unicode.c
e2840 6f 64 65 20 70 6f 69 6e 74 20 69 6e 20 74 68 65 20 73 6f 75 72 63 65 20 74 65 78 74 2e 20 41 20 ode.point.in.the.source.text..A.
e2860 62 79 74 65 20 6f 72 64 65 72 20 6d 61 72 6b 20 69 73 20 6e 6f 74 20 61 6c 6c 6f 77 65 64 20 61 byte.order.mark.is.not.allowed.a
e2880 6e 79 77 68 65 72 65 20 65 6c 73 65 20 69 6e 20 74 68 65 20 73 6f 75 72 63 65 2e 0a 20 20 20 20 nywhere.else.in.the.source......
e28a0 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 74 ..</p>.......<p>.......Note.that
e28c0 20 72 75 6e 6e 69 6e 67 20 3c 6b 62 64 3e 7a 69 67 20 66 6d 74 3c 2f 6b 62 64 3e 20 6f 6e 20 61 .running.<kbd>zig.fmt</kbd>.on.a
e28e0 20 73 6f 75 72 63 65 20 66 69 6c 65 20 77 69 6c 6c 20 69 6d 70 6c 65 6d 65 6e 74 20 61 6c 6c 20 .source.file.will.implement.all.
e2900 72 65 63 6f 6d 6d 65 6e 64 61 74 69 6f 6e 73 20 6d 65 6e 74 69 6f 6e 65 64 20 68 65 72 65 2e 0a recommendations.mentioned.here..
e2920 20 20 20 20 20 20 3c 2f 70 3e 0a 20 20 20 20 20 20 3c 70 3e 0a 20 20 20 20 20 20 4e 6f 74 65 20 ......</p>.......<p>.......Note.
e2940 74 68 61 74 20 61 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 that.a.tool.reading.Zig.source.c
e2960 6f 64 65 20 63 61 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 ode.can.make.assumptions.if.the.
e2980 73 6f 75 72 63 65 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 source.code.is.assumed.to.be.cor
e29a0 72 65 63 74 20 5a 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 rect.Zig.code........For.example
e29c0 2c 20 77 68 65 6e 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 ,.when.identifying.the.ends.of.l
e29e0 69 6e 65 73 2c 20 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 ines,.a.tool.can.use.a.naive.sea
e2a00 72 63 68 20 73 75 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 rch.such.as.<code>/\n/</code>,..
e2a20 20 20 20 20 20 6f 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 .....or.an.<a.href="https://msdn
e2a40 2e 6d 69 63 72 6f 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 .microsoft.com/en-us/library/dd4
e2a60 30 39 37 39 37 2e 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 09797.aspx">advanced</a>.......s
e2a80 65 61 72 63 68 20 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 earch.such.as.<code>/\r\n?|[\n\u
e2aa0 30 30 38 35 5c 75 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 0085\u2028\u2029]/</code>,.and.i
e2ac0 6e 20 65 69 74 68 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 n.either.case.line.endings.will.
e2ae0 62 65 20 63 6f 72 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 be.correctly.identified........F
e2b00 6f 72 20 61 6e 6f 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 or.another.example,.when.identif
e2b20 79 69 6e 67 20 74 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 ying.the.whitespace.before.the.f
e2b40 69 72 73 74 20 74 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 irst.token.on.a.line,.......a.to
e2b60 6f 6c 20 63 61 6e 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 ol.can.either.use.a.naive.search
e2b80 20 73 75 63 68 20 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 .such.as.<code>/[.\t]/</code>,..
e2ba0 20 20 20 20 20 6f 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 .....or.an.<a.href="https://tc39
e2bc0 2e 65 73 2f 65 63 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 .es/ecma262/#sec-characterclasse
e2be0 73 63 61 70 65 22 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 scape">advanced</a>.search.such.
e2c00 61 73 20 3c 63 6f 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 as.<code>/\s/</code>,.......and.
e2c20 69 6e 20 65 69 74 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 in.either.case.whitespace.will.b
e2c40 65 20 63 6f 72 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 3c 2f e.correctly.identified........</
e2c60 70 3e 0a 20 20 20 20 20 20 0a 0a 20 20 20 20 20 20 3c 68 32 20 69 64 3d 22 4b 65 79 77 6f 72 64 p>...............<h2.id="Keyword
e2c80 2d 52 65 66 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 -Reference"><a.href="nav.xhtml#t
e2ca0 6f 63 2d 4b 65 79 77 6f 72 64 2d 52 65 66 65 72 65 6e 63 65 22 3e 4b 65 79 77 6f 72 64 20 52 65 oc-Keyword-Reference">Keyword.Re
e2cc0 66 65 72 65 6e 63 65 3c 2f 61 3e 20 3c 61 20 63 6c 61 73 73 3d 22 68 64 72 22 20 68 72 65 66 3d ference</a>.<a.class="hdr".href=
e2ce0 22 23 4b 65 79 77 6f 72 64 2d 52 65 66 65 72 65 6e 63 65 22 3e c2 a7 3c 2f 61 3e 3c 2f 68 32 3e "#Keyword-Reference">..</a></h2>
e2d00 0a 0a 20 20 20 20 20 20 3c 64 69 76 20 63 6c 61 73 73 3d 22 74 61 62 6c 65 2d 77 72 61 70 70 65 ........<div.class="table-wrappe
e2d20 72 22 3e 0a 20 20 20 20 20 20 3c 74 61 62 6c 65 3e 0a 20 20 20 20 20 20 20 20 3c 74 68 65 61 64 r">.......<table>.........<thead
e2d40 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
e2d60 70 65 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 pe="col">Keyword</th>...........
e2d80 3c 74 68 20 73 63 6f 70 65 3d 22 63 6f 6c 22 3e 44 65 73 63 72 69 70 74 69 6f 6e 3c 2f 74 68 3e <th.scope="col">Description</th>
e2da0 0a 20 20 20 20 20 20 20 20 3c 2f 74 72 3e 0a 20 20 20 20 20 20 20 20 3c 2f 74 68 65 61 64 3e 0a .........</tr>.........</thead>.
e2dc0 20 20 20 20 20 20 20 20 3c 74 62 6f 64 79 3e 0a 20 20 20 20 20 20 20 20 3c 74 72 3e 0a 20 20 20 ........<tbody>.........<tr>....
e2de0 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">.........
e2e00 20 20 20 20 3c 70 72 65 3e 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d ....<pre><code><span.class="tok-
e2e20 6b 77 22 3e 61 64 64 72 73 70 61 63 65 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 3c 2f 70 72 65 kw">addrspace</span></code></pre
e2e40 3e 0a 20 20 20 20 20 20 20 20 20 20 3c 2f 74 68 3e 0a 20 20 20 20 20 20 20 20 20 20 3c 74 64 3e >...........</th>...........<td>
e2e60 0a 20 20 20 20 20 20 20 20 20 20 20 20 54 68 65 20 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 .............The.<code><span.cla
e2e80 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 61 64 64 72 73 70 61 63 65 3c 2f 73 70 61 6e 3e 3c 2f 63 6f ss="tok-kw">addrspace</span></co
e2ea0 64 65 3e 20 6b 65 79 77 6f 72 64 2e 0a 20 20 20 20 20 20 20 20 20 20 20 20 3c 75 6c 3e 0a 20 20 de>.keyword..............<ul>...
e2ec0 20 20 20 20 20 20 20 20 20 20 20 20 3c 6c 69 3e 54 4f 44 4f 20 61 64 64 20 64 6f 63 75 6d 65 6e ............<li>TODO.add.documen
e2ee0 74 61 74 69 6f 6e 20 66 6f 72 20 61 64 64 72 73 70 61 63 65 3c 2f 6c 69 3e 0a 20 20 20 20 20 20 tation.for.addrspace</li>.......
e2f00 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>.....
e2f20 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>..........
e2f40 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
e2f60 72 65 3e 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 61 6c re><code><span.class="tok-kw">al
e2f80 69 67 6e 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 3c 2f 70 72 65 3e 0a 20 20 20 20 20 20 20 20 ign</span></code></pre>.........
e2fa0 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>..........
e2fc0 20 20 20 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 61 6c ...<code><span.class="tok-kw">al
e2fe0 69 67 6e 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 ign</span></code>.can.be.used.to
e3000 20 73 70 65 63 69 66 79 20 74 68 65 20 61 6c 69 67 6e 6d 65 6e 74 20 6f 66 20 61 20 70 6f 69 6e .specify.the.alignment.of.a.poin
e3020 74 65 72 2e 0a 20 20 20 20 20 20 20 20 20 20 20 20 49 74 20 63 61 6e 20 61 6c 73 6f 20 62 65 20 ter..............It.can.also.be.
e3040 75 73 65 64 20 61 66 74 65 72 20 61 20 76 61 72 69 61 62 6c 65 20 6f 72 20 66 75 6e 63 74 69 6f used.after.a.variable.or.functio
e3060 6e 20 64 65 63 6c 61 72 61 74 69 6f 6e 20 74 6f 20 73 70 65 63 69 66 79 20 74 68 65 20 61 6c 69 n.declaration.to.specify.the.ali
e3080 67 6e 6d 65 6e 74 20 6f 66 20 70 6f 69 6e 74 65 72 73 20 74 6f 20 74 68 61 74 20 76 61 72 69 61 gnment.of.pointers.to.that.varia
e30a0 62 6c 65 20 6f 72 20 66 75 6e 63 74 69 6f 6e 2e 0a 20 20 20 20 20 20 20 20 20 20 20 20 3c 75 6c ble.or.function..............<ul
e30c0 3e 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 3c 6c 69 3e 53 65 65 20 61 6c 73 6f 20 3c 61 20 >...............<li>See.also.<a.
e30e0 68 72 65 66 3d 22 23 41 6c 69 67 6e 6d 65 6e 74 22 3e 41 6c 69 67 6e 6d 65 6e 74 3c 2f 61 3e 3c href="#Alignment">Alignment</a><
e3100 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>..........
e3120 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
e3140 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">....
e3160 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=
e3180 22 74 6f 6b 2d 6b 77 22 3e 61 6c 6c 6f 77 7a 65 72 6f 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e "tok-kw">allowzero</span></code>
e31a0 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>..........
e31c0 20 3c 74 64 3e 0a 20 20 20 20 20 20 20 20 20 20 20 20 54 68 65 20 70 6f 69 6e 74 65 72 20 61 74 .<td>.............The.pointer.at
e31e0 74 72 69 62 75 74 65 20 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b tribute.<code><span.class="tok-k
e3200 77 22 3e 61 6c 6c 6f 77 7a 65 72 6f 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 20 61 6c 6c 6f 77 w">allowzero</span></code>.allow
e3220 73 20 61 20 70 6f 69 6e 74 65 72 20 74 6f 20 68 61 76 65 20 61 64 64 72 65 73 73 20 7a 65 72 6f s.a.pointer.to.have.address.zero
e3240 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>..............
e3260 20 3c 6c 69 3e 53 65 65 20 61 6c 73 6f 20 3c 61 20 68 72 65 66 3d 22 23 61 6c 6c 6f 77 7a 65 72 .<li>See.also.<a.href="#allowzer
e3280 6f 22 3e 61 6c 6c 6f 77 7a 65 72 6f 3c 2f 61 3e 3c 2f 6c 69 3e 0a 20 20 20 20 20 20 20 20 20 20 o">allowzero</a></li>...........
e32a0 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>.........
e32c0 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
e32e0 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><
e3300 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 61 6e 64 3c 2f 73 code><span.class="tok-kw">and</s
e3320 70 61 6e 3e 3c 2f 63 6f 64 65 3e 3c 2f 70 72 65 3e 0a 20 20 20 20 20 20 20 20 20 20 3c 2f 74 68 pan></code></pre>...........</th
e3340 3e 0a 20 20 20 20 20 20 20 20 20 20 3c 74 64 3e 0a 20 20 20 20 20 20 20 20 20 20 20 20 54 68 65 >...........<td>.............The
e3360 20 62 6f 6f 6c 65 61 6e 20 6f 70 65 72 61 74 6f 72 20 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c .boolean.operator.<code><span.cl
e3380 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 63 6f 64 65 3e 2e 0a ass="tok-kw">and</span></code>..
e33a0 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>...............<
e33c0 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"
e33e0 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>.............
e3400 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>.........</
e3420 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
e3440 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
e3460 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 61 6e 79 66 72 61 6d 65 de><span.class="tok-kw">anyframe
e3480 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>...........<
e34a0 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>.............
e34c0 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 61 6e 79 66 72 <code><span.class="tok-kw">anyfr
e34e0 61 6d 65 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 20 63 61 6e 20 62 65 20 75 73 65 64 20 61 73 ame</span></code>.can.be.used.as
e3500 20 61 20 74 79 70 65 20 66 6f 72 20 76 61 72 69 61 62 6c 65 73 20 77 68 69 63 68 20 68 6f 6c 64 .a.type.for.variables.which.hold
e3520 20 70 6f 69 6e 74 65 72 73 20 74 6f 20 66 75 6e 63 74 69 6f 6e 20 66 72 61 6d 65 73 2e 0a 20 20 .pointers.to.function.frames....
e3540 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
e3560 3e 53 65 65 20 61 6c 73 6f 20 3c 61 20 68 72 65 66 3d 22 23 41 73 79 6e 63 2d 46 75 6e 63 74 69 >See.also.<a.href="#Async-Functi
e3580 6f 6e 73 22 3e 41 73 79 6e 63 20 46 75 6e 63 74 69 6f 6e 73 3c 2f 61 3e 3c 2f 6c 69 3e 0a 20 20 ons">Async.Functions</a></li>...
e35a0 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>.
e35c0 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>......
e35e0 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">...........
e3600 20 20 3c 70 72 65 3e 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 ..<pre><code><span.class="tok-kw
e3620 22 3e 61 6e 79 74 79 70 65 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 3c 2f 70 72 65 3e 0a 20 20 ">anytype</span></code></pre>...
e3640 20 20 20 20 20 20 20 20 3c 2f 74 68 3e 0a 20 20 20 20 20 20 20 20 20 20 3c 74 64 3e 0a 20 20 20 ........</th>...........<td>....
e3660 20 20 20 20 20 20 20 20 20 46 75 6e 63 74 69 6f 6e 20 70 61 72 61 6d 65 74 65 72 73 20 63 61 6e .........Function.parameters.can
e3680 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
e36a0 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 61 6e 79 74 79 70 65 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 ass="tok-kw">anytype</span></cod
e36c0 65 3e 20 69 6e 20 70 6c 61 63 65 20 6f 66 20 74 68 65 20 74 79 70 65 2e 0a 20 20 20 20 20 20 20 e>.in.place.of.the.type.........
e36e0 20 20 20 20 20 54 68 65 20 74 79 70 65 20 77 69 6c 6c 20 62 65 20 69 6e 66 65 72 72 65 64 20 77 .....The.type.will.be.inferred.w
e3700 68 65 72 65 20 74 68 65 20 66 75 6e 63 74 69 6f 6e 20 69 73 20 63 61 6c 6c 65 64 2e 0a 20 20 20 here.the.function.is.called.....
e3720 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>
e3740 53 65 65 20 61 6c 73 6f 20 3c 61 20 68 72 65 66 3d 22 23 46 75 6e 63 74 69 6f 6e 2d 50 61 72 61 See.also.<a.href="#Function-Para
e3760 6d 65 74 65 72 2d 54 79 70 65 2d 49 6e 66 65 72 65 6e 63 65 22 3e 46 75 6e 63 74 69 6f 6e 20 50 meter-Type-Inference">Function.P
e3780 61 72 61 6d 65 74 65 72 20 54 79 70 65 20 49 6e 66 65 72 65 6e 63 65 3c 2f 61 3e 3c 2f 6c 69 3e arameter.Type.Inference</a></li>
e37a0 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
e37c0 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>...
e37e0 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">........
e3800 20 20 20 20 20 3c 70 72 65 3e 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b .....<pre><code><span.class="tok
e3820 2d 6b 77 22 3e 61 73 6d 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 3c 2f 70 72 65 3e 0a 20 20 20 -kw">asm</span></code></pre>....
e3840 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>.....
e3860 20 20 20 20 20 20 20 20 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b ........<code><span.class="tok-k
e3880 77 22 3e 61 73 6d 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 20 62 65 67 69 6e 73 20 61 6e 20 69 w">asm</span></code>.begins.an.i
e38a0 6e 6c 69 6e 65 20 61 73 73 65 6d 62 6c 79 20 65 78 70 72 65 73 73 69 6f 6e 2e 20 54 68 69 73 20 nline.assembly.expression..This.
e38c0 61 6c 6c 6f 77 73 20 66 6f 72 20 64 69 72 65 63 74 6c 79 20 63 6f 6e 74 72 6f 6c 6c 69 6e 67 20 allows.for.directly.controlling.
e38e0 74 68 65 20 6d 61 63 68 69 6e 65 20 63 6f 64 65 20 67 65 6e 65 72 61 74 65 64 20 6f 6e 20 63 6f the.machine.code.generated.on.co
e3900 6d 70 69 6c 61 74 69 6f 6e 2e 0a 20 20 20 20 20 20 20 20 20 20 20 20 3c 75 6c 3e 0a 20 20 20 20 mpilation..............<ul>.....
e3920 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="
e3940 23 41 73 73 65 6d 62 6c 79 22 3e 41 73 73 65 6d 62 6c 79 3c 2f 61 3e 3c 2f 6c 69 3e 0a 20 20 20 #Assembly">Assembly</a></li>....
e3960 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>..
e3980 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>.......
e39a0 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">............
e39c0 20 3c 70 72 65 3e 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 .<pre><code><span.class="tok-kw"
e39e0 3e 62 72 65 61 6b 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 >break</span></code></pre>......
e3a00 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>.......
e3a20 20 20 20 20 20 20 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 ......<code><span.class="tok-kw"
e3a40 3e 62 72 65 61 6b 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 20 63 61 6e 20 62 65 20 75 73 65 64 >break</span></code>.can.be.used
e3a60 20 77 69 74 68 20 61 20 62 6c 6f 63 6b 20 6c 61 62 65 6c 20 74 6f 20 72 65 74 75 72 6e 20 61 20 .with.a.block.label.to.return.a.
e3a80 76 61 6c 75 65 20 66 72 6f 6d 20 74 68 65 20 62 6c 6f 63 6b 2e 0a 20 20 20 20 20 20 20 20 20 20 value.from.the.block............
e3aa0 20 20 49 74 20 63 61 6e 20 61 6c 73 6f 20 62 65 20 75 73 65 64 20 74 6f 20 65 78 69 74 20 61 20 ..It.can.also.be.used.to.exit.a.
e3ac0 6c 6f 6f 70 20 62 65 66 6f 72 65 20 69 74 65 72 61 74 69 6f 6e 20 63 6f 6d 70 6c 65 74 65 73 20 loop.before.iteration.completes.
e3ae0 6e 61 74 75 72 61 6c 6c 79 2e 0a 20 20 20 20 20 20 20 20 20 20 20 20 3c 75 6c 3e 0a 20 20 20 20 naturally..............<ul>.....
e3b00 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="
e3b20 23 42 6c 6f 63 6b 73 22 3e 42 6c 6f 63 6b 73 3c 2f 61 3e 2c 20 3c 61 20 68 72 65 66 3d 22 23 77 #Blocks">Blocks</a>,.<a.href="#w
e3b40 68 69 6c 65 22 3e 77 68 69 6c 65 3c 2f 61 3e 2c 20 3c 61 20 68 72 65 66 3d 22 23 66 6f 72 22 3e hile">while</a>,.<a.href="#for">
e3b60 66 6f 72 3c 2f 61 3e 3c 2f 6c 69 3e 0a 20 20 20 20 20 20 20 20 20 20 20 20 3c 2f 75 6c 3e 0a 20 for</a></li>.............</ul>..
e3b80 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>....
e3ba0 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
e3bc0 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
e3be0 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 6e 3e n.class="tok-kw">callconv</span>
e3c00 3c 2f 63 6f 64 65 3e 3c 2f 70 72 65 3e 0a 20 20 20 20 20 20 20 20 20 20 3c 2f 74 68 3e 0a 20 20 </code></pre>...........</th>...
e3c20 20 20 20 20 20 20 20 20 3c 74 64 3e 0a 20 20 20 20 20 20 20 20 20 20 20 20 3c 63 6f 64 65 3e 3c ........<td>.............<code><
e3c40 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 63 61 6c 6c 63 6f 6e 76 3c 2f 73 70 span.class="tok-kw">callconv</sp
e3c60 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 73 70 65 63 69 66 an></code>.can.be.used.to.specif
e3c80 79 20 74 68 65 20 63 61 6c 6c 69 6e 67 20 63 6f 6e 76 65 6e 74 69 6f 6e 20 69 6e 20 61 20 66 75 y.the.calling.convention.in.a.fu
e3ca0 6e 63 74 69 6f 6e 20 74 79 70 65 2e 0a 20 20 20 20 20 20 20 20 20 20 20 20 3c 75 6c 3e 0a 20 20 nction.type..............<ul>...
e3cc0 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
e3ce0 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 3e ="#Functions">Functions</a></li>
e3d00 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
e3d20 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>...
e3d40 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">........
e3d60 20 20 20 20 20 3c 70 72 65 3e 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b .....<pre><code><span.class="tok
e3d80 2d 6b 77 22 3e 63 61 74 63 68 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 3c 2f 70 72 65 3e 0a 20 -kw">catch</span></code></pre>..
e3da0 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>...
e3dc0 20 20 20 20 20 20 20 20 20 20 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b ..........<code><span.class="tok
e3de0 2d 6b 77 22 3e 63 61 74 63 68 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 20 63 61 6e 20 62 65 20 -kw">catch</span></code>.can.be.
e3e00 75 73 65 64 20 74 6f 20 65 76 61 6c 75 61 74 65 20 61 6e 20 65 78 70 72 65 73 73 69 6f 6e 20 69 used.to.evaluate.an.expression.i
e3e20 66 20 74 68 65 20 65 78 70 72 65 73 73 69 6f 6e 20 62 65 66 6f 72 65 20 69 74 20 65 76 61 6c 75 f.the.expression.before.it.evalu
e3e40 61 74 65 73 20 74 6f 20 61 6e 20 65 72 72 6f 72 2e 0a 20 20 20 20 20 20 20 20 20 20 20 20 54 68 ates.to.an.error..............Th
e3e60 65 20 65 78 70 72 65 73 73 69 6f 6e 20 61 66 74 65 72 20 74 68 65 20 3c 63 6f 64 65 3e 3c 73 70 e.expression.after.the.<code><sp
e3e80 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 63 61 74 63 68 3c 2f 73 70 61 6e 3e 3c 2f an.class="tok-kw">catch</span></
e3ea0 63 6f 64 65 3e 20 63 61 6e 20 6f 70 74 69 6f 6e 61 6c 6c 79 20 63 61 70 74 75 72 65 20 74 68 65 code>.can.optionally.capture.the
e3ec0 20 65 72 72 6f 72 20 76 61 6c 75 65 2e 0a 20 20 20 20 20 20 20 20 20 20 20 20 3c 75 6c 3e 0a 20 .error.value..............<ul>..
e3ee0 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
e3f00 66 3d 22 23 63 61 74 63 68 22 3e 63 61 74 63 68 3c 2f 61 3e 2c 20 3c 61 20 68 72 65 66 3d 22 23 f="#catch">catch</a>,.<a.href="#
e3f20 4f 70 65 72 61 74 6f 72 73 22 3e 4f 70 65 72 61 74 6f 72 73 3c 2f 61 3e 3c 2f 6c 69 3e 0a 20 20 Operators">Operators</a></li>...
e3f40 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>.
e3f60 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>......
e3f80 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">...........
e3fa0 20 20 3c 70 72 65 3e 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 ..<pre><code><span.class="tok-kw
e3fc0 22 3e 63 6f 6d 70 74 69 6d 65 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 3c 2f 70 72 65 3e 0a 20 ">comptime</span></code></pre>..
e3fe0 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>...
e4000 20 20 20 20 20 20 20 20 20 20 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b ..........<code><span.class="tok
e4020 2d 6b 77 22 3e 63 6f 6d 70 74 69 6d 65 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 20 62 65 66 6f -kw">comptime</span></code>.befo
e4040 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 65 64 20 74 6f 20 re.a.declaration.can.be.used.to.
e4060 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 6e 20 70 61 72 61 label.variables.or.function.para
e4080 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 20 74 69 6d 65 2e meters.as.known.at.compile.time.
e40a0 0a 20 20 20 20 20 20 20 20 20 20 20 20 49 74 20 63 61 6e 20 61 6c 73 6f 20 62 65 20 75 73 65 64 .............It.can.also.be.used
e40c0 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 6e 20 69 73 20 72 .to.guarantee.an.expression.is.r
e40e0 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 20 20 20 20 20 20 un.at.compile.time..............
e4100 3c 75 6c 3e 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 3c 6c 69 3e 53 65 65 20 61 6c 73 6f 20 <ul>...............<li>See.also.
e4120 3c 61 20 68 72 65 66 3d 22 23 63 6f 6d 70 74 69 6d 65 22 3e 63 6f 6d 70 74 69 6d 65 3c 2f 61 3e <a.href="#comptime">comptime</a>
e4140 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>.........
e4160 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
e4180 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">...
e41a0 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
e41c0 3d 22 74 6f 6b 2d 6b 77 22 3e 63 6f 6e 73 74 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 3c 2f 70 ="tok-kw">const</span></code></p
e41e0 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
e4200 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
e4220 3d 22 74 6f 6b 2d 6b 77 22 3e 63 6f 6e 73 74 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 20 64 65 ="tok-kw">const</span></code>.de
e4240 63 6c 61 72 65 73 20 61 20 76 61 72 69 61 62 6c 65 20 74 68 61 74 20 63 61 6e 20 6e 6f 74 20 62 clares.a.variable.that.can.not.b
e4260 65 20 6d 6f 64 69 66 69 65 64 2e 0a 20 20 20 20 20 20 20 20 20 20 20 20 55 73 65 64 20 61 73 20 e.modified..............Used.as.
e4280 61 20 70 6f 69 6e 74 65 72 20 61 74 74 72 69 62 75 74 65 2c 20 69 74 20 64 65 6e 6f 74 65 73 20 a.pointer.attribute,.it.denotes.
e42a0 74 68 65 20 76 61 6c 75 65 20 72 65 66 65 72 65 6e 63 65 64 20 62 79 20 74 68 65 20 70 6f 69 6e the.value.referenced.by.the.poin
e42c0 74 65 72 20 63 61 6e 6e 6f 74 20 62 65 20 6d 6f 64 69 66 69 65 64 2e 0a 20 20 20 20 20 20 20 20 ter.cannot.be.modified..........
e42e0 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
e4300 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 69 61 62 6c lso.<a.href="#Variables">Variabl
e4320 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 3e 0a 20 20 es</a></li>.............</ul>...
e4340 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>.....
e4360 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
e4380 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
e43a0 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 63 6f 6e 74 69 6e 75 65 3c 2f 73 70 61 6e 3e 3c .class="tok-kw">continue</span><
e43c0 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>....
e43e0 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
e4400 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
e4420 6e 3e 3c 2f 63 6f 64 65 3e 20 63 61 6e 20 62 65 20 75 73 65 64 20 69 6e 20 61 20 6c 6f 6f 70 20 n></code>.can.be.used.in.a.loop.
e4440 74 6f 20 6a 75 6d 70 20 62 61 63 6b 20 74 6f 20 74 68 65 20 62 65 67 69 6e 6e 69 6e 67 20 6f 66 to.jump.back.to.the.beginning.of
e4460 20 74 68 65 20 6c 6f 6f 70 2e 0a 20 20 20 20 20 20 20 20 20 20 20 20 3c 75 6c 3e 0a 20 20 20 20 .the.loop..............<ul>.....
e4480 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="
e44a0 23 77 68 69 6c 65 22 3e 77 68 69 6c 65 3c 2f 61 3e 2c 20 3c 61 20 68 72 65 66 3d 22 23 66 6f 72 #while">while</a>,.<a.href="#for
e44c0 22 3e 66 6f 72 3c 2f 61 3e 3c 2f 6c 69 3e 0a 20 20 20 20 20 20 20 20 20 20 20 20 3c 2f 75 6c 3e ">for</a></li>.............</ul>
e44e0 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>..
e4500 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=
e4520 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
e4540 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 3c pan.class="tok-kw">defer</span><
e4560 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>....
e4580 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
e45a0 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 3c pan.class="tok-kw">defer</span><
e45c0 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 69 6f /code>.will.execute.an.expressio
e45e0 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 20 63 n.when.control.flow.leaves.the.c
e4600 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 0a 20 urrent.block..............<ul>..
e4620 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
e4640 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 20 20 f="#defer">defer</a></li>.......
e4660 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>.....
e4680 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>..........
e46a0 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
e46c0 72 65 3e 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 65 6c re><code><span.class="tok-kw">el
e46e0 73 65 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 3c 2f 70 72 65 3e 0a 20 20 20 20 20 20 20 20 20 se</span></code></pre>..........
e4700 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>...........
e4720 20 20 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 65 6c 73 ..<code><span.class="tok-kw">els
e4740 65 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 20 63 61 6e 20 62 65 20 75 73 65 64 20 74 6f 20 70 e</span></code>.can.be.used.to.p
e4760 72 6f 76 69 64 65 20 61 6e 20 61 6c 74 65 72 6e 61 74 65 20 62 72 61 6e 63 68 20 66 6f 72 20 3c rovide.an.alternate.branch.for.<
e4780 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 69 66 3c 2f 73 70 code><span.class="tok-kw">if</sp
e47a0 61 6e 3e 3c 2f 63 6f 64 65 3e 2c 20 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 an></code>,.<code><span.class="t
e47c0 6f 6b 2d 6b 77 22 3e 73 77 69 74 63 68 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 2c 0a 20 20 20 ok-kw">switch</span></code>,....
e47e0 20 20 20 20 20 20 20 20 20 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d .........<code><span.class="tok-
e4800 6b 77 22 3e 77 68 69 6c 65 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 2c 20 61 6e 64 20 3c 63 6f kw">while</span></code>,.and.<co
e4820 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 66 6f 72 3c 2f 73 70 61 de><span.class="tok-kw">for</spa
e4840 6e 3e 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 n></code>.expressions...........
e4860 20 20 20 3c 75 6c 3e 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 3c 6c 69 3e 49 66 20 75 73 65 ...<ul>...............<li>If.use
e4880 64 20 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 d.after.an.if.expression,.the.el
e48a0 73 65 20 62 72 61 6e 63 68 20 77 69 6c 6c 20 62 65 20 65 78 65 63 75 74 65 64 20 69 66 20 74 68 se.branch.will.be.executed.if.th
e48c0 65 20 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 e.test.value.returns.false,.null
e48e0 2c 20 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 ,.or.an.error.</li>.............
e4900 20 20 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 ..<li>If.used.within.a.switch.ex
e4920 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 62 pression,.the.else.branch.will.b
e4940 65 20 65 78 65 63 75 74 65 64 20 69 66 20 74 68 65 20 74 65 73 74 20 76 61 6c 75 65 20 6d 61 74 e.executed.if.the.test.value.mat
e4960 63 68 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 ches.no.other.cases.</li>.......
e4980 20 20 20 20 20 20 20 20 3c 6c 69 3e 49 66 20 75 73 65 64 20 61 66 74 65 72 20 61 20 6c 6f 6f 70 ........<li>If.used.after.a.loop
e49a0 20 65 78 70 72 65 73 73 69 6f 6e 2c 20 74 68 65 20 65 6c 73 65 20 62 72 61 6e 63 68 20 77 69 6c .expression,.the.else.branch.wil
e49c0 6c 20 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 l.be.executed.if.the.loop.finish
e49e0 65 73 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 es.without.breaking.</li>.......
e4a00 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
e4a20 66 22 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 f">if</a>,.<a.href="#switch">swi
e4a40 74 63 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 tch</a>,.<a.href="#while">while<
e4a60 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 2f 6c 69 3e /a>,.<a.href="#for">for</a></li>
e4a80 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
e4aa0 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>...
e4ac0 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">........
e4ae0 20 20 20 20 20 3c 70 72 65 3e 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b .....<pre><code><span.class="tok
e4b00 2d 6b 77 22 3e 65 6e 75 6d 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 3c 2f 70 72 65 3e 0a 20 20 -kw">enum</span></code></pre>...
e4b20 20 20 20 20 20 20 20 20 3c 2f 74 68 3e 0a 20 20 20 20 20 20 20 20 20 20 3c 74 64 3e 0a 20 20 20 ........</th>...........<td>....
e4b40 20 20 20 20 20 20 20 20 20 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d .........<code><span.class="tok-
e4b60 6b 77 22 3e 65 6e 75 6d 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 20 64 65 66 69 6e 65 73 20 61 kw">enum</span></code>.defines.a
e4b80 6e 20 65 6e 75 6d 20 74 79 70 65 2e 0a 20 20 20 20 20 20 20 20 20 20 20 20 3c 75 6c 3e 0a 20 20 n.enum.type..............<ul>...
e4ba0 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
e4bc0 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 20 20 20 20 20 20 ="#enum">enum</a></li>..........
e4be0 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>........
e4c00 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
e4c20 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>
e4c40 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 65 72 72 64 65 <code><span.class="tok-kw">errde
e4c60 66 65 72 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 3c 2f 70 72 65 3e 0a 20 20 20 20 20 20 20 20 fer</span></code></pre>.........
e4c80 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>..........
e4ca0 20 20 20 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 65 72 ...<code><span.class="tok-kw">er
e4cc0 72 64 65 66 65 72 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 20 77 69 6c 6c 20 65 78 65 63 75 74 rdefer</span></code>.will.execut
e4ce0 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 6f 6c 20 66 6c 6f e.an.expression.when.control.flo
e4d00 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 20 69 66 20 74 68 w.leaves.the.current.block.if.th
e4d20 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 72 2c 20 74 68 65 e.function.returns.an.error,.the
e4d40 20 65 72 72 64 65 66 65 72 20 65 78 70 72 65 73 73 69 6f 6e 20 63 61 6e 20 63 61 70 74 75 72 65 .errdefer.expression.can.capture
e4d60 20 74 68 65 20 75 6e 77 72 61 70 70 65 64 20 76 61 6c 75 65 2e 0a 20 20 20 20 20 20 20 20 20 20 .the.unwrapped.value............
e4d80 20 20 3c 75 6c 3e 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 3c 6c 69 3e 53 65 65 20 61 6c 73 ..<ul>...............<li>See.als
e4da0 6f 20 3c 61 20 68 72 65 66 3d 22 23 65 72 72 64 65 66 65 72 22 3e 65 72 72 64 65 66 65 72 3c 2f o.<a.href="#errdefer">errdefer</
e4dc0 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>.......
e4de0 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>.........
e4e00 3c 74 72 3e 0a 20 20 20 20 20 20 20 20 20 20 3c 74 68 20 73 63 6f 70 65 3d 22 72 6f 77 22 3e 0a <tr>...........<th.scope="row">.
e4e20 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
e4e40 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 65 72 72 6f 72 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 3c ss="tok-kw">error</span></code><
e4e60 2f 70 72 65 3e 0a 20 20 20 20 20 20 20 20 20 20 3c 2f 74 68 3e 0a 20 20 20 20 20 20 20 20 20 20 /pre>...........</th>...........
e4e80 3c 74 64 3e 0a 20 20 20 20 20 20 20 20 20 20 20 20 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 <td>.............<code><span.cla
e4ea0 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 65 72 72 6f 72 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 20 ss="tok-kw">error</span></code>.
e4ec0 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 20 defines.an.error.type...........
e4ee0 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
e4f00 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 3c so.<a.href="#Errors">Errors</a><
e4f20 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>..........
e4f40 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
e4f60 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">....
e4f80 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=
e4fa0 22 74 6f 6b 2d 6b 77 22 3e 65 78 70 6f 72 74 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 3c 2f 70 "tok-kw">export</span></code></p
e4fc0 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
e4fe0 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
e5000 3d 22 74 6f 6b 2d 6b 77 22 3e 65 78 70 6f 72 74 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 20 6d ="tok-kw">export</span></code>.m
e5020 61 6b 65 73 20 61 20 66 75 6e 63 74 69 6f 6e 20 6f 72 20 76 61 72 69 61 62 6c 65 20 65 78 74 65 akes.a.function.or.variable.exte
e5040 72 6e 61 6c 6c 79 20 76 69 73 69 62 6c 65 20 69 6e 20 74 68 65 20 67 65 6e 65 72 61 74 65 64 20 rnally.visible.in.the.generated.
e5060 6f 62 6a 65 63 74 20 66 69 6c 65 2e 0a 20 20 20 20 20 20 20 20 20 20 20 20 45 78 70 6f 72 74 65 object.file..............Exporte
e5080 64 20 66 75 6e 63 74 69 6f 6e 73 20 64 65 66 61 75 6c 74 20 74 6f 20 74 68 65 20 43 20 63 61 6c d.functions.default.to.the.C.cal
e50a0 6c 69 6e 67 20 63 6f 6e 76 65 6e 74 69 6f 6e 2e 0a 20 20 20 20 20 20 20 20 20 20 20 20 3c 75 6c ling.convention..............<ul
e50c0 3e 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 3c 6c 69 3e 53 65 65 20 61 6c 73 6f 20 3c 61 20 >...............<li>See.also.<a.
e50e0 68 72 65 66 3d 22 23 46 75 6e 63 74 69 6f 6e 73 22 3e 46 75 6e 63 74 69 6f 6e 73 3c 2f 61 3e 3c href="#Functions">Functions</a><
e5100 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>..........
e5120 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
e5140 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">....
e5160 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=
e5180 22 74 6f 6b 2d 6b 77 22 3e 65 78 74 65 72 6e 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 3c 2f 70 "tok-kw">extern</span></code></p
e51a0 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
e51c0 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
e51e0 3d 22 74 6f 6b 2d 6b 77 22 3e 65 78 74 65 72 6e 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 20 63 ="tok-kw">extern</span></code>.c
e5200 61 6e 20 62 65 20 75 73 65 64 20 74 6f 20 64 65 63 6c 61 72 65 20 61 20 66 75 6e 63 74 69 6f 6e an.be.used.to.declare.a.function
e5220 20 6f 72 20 76 61 72 69 61 62 6c 65 20 74 68 61 74 20 77 69 6c 6c 20 62 65 20 72 65 73 6f 6c 76 .or.variable.that.will.be.resolv
e5240 65 64 20 61 74 20 6c 69 6e 6b 20 74 69 6d 65 2c 20 77 68 65 6e 20 6c 69 6e 6b 69 6e 67 20 73 74 ed.at.link.time,.when.linking.st
e5260 61 74 69 63 61 6c 6c 79 0a 20 20 20 20 20 20 20 20 20 20 20 20 6f 72 20 61 74 20 72 75 6e 74 69 atically.............or.at.runti
e5280 6d 65 2c 20 77 68 65 6e 20 6c 69 6e 6b 69 6e 67 20 64 79 6e 61 6d 69 63 61 6c 6c 79 2e 0a 20 20 me,.when.linking.dynamically....
e52a0 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
e52c0 3e 53 65 65 20 61 6c 73 6f 20 3c 61 20 68 72 65 66 3d 22 23 46 75 6e 63 74 69 6f 6e 73 22 3e 46 >See.also.<a.href="#Functions">F
e52e0 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>.............</
e5300 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
e5320 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
e5340 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
e5360 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 66 6e 3c 2f 73 70 61 6e 3e 3c ><span.class="tok-kw">fn</span><
e5380 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>....
e53a0 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
e53c0 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 66 6e 3c 2f 73 70 61 6e 3e 3c 2f 63 6f pan.class="tok-kw">fn</span></co
e53e0 64 65 3e 20 64 65 63 6c 61 72 65 73 20 61 20 66 75 6e 63 74 69 6f 6e 2e 0a 20 20 20 20 20 20 20 de>.declares.a.function.........
e5400 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.
e5420 61 6c 73 6f 20 3c 61 20 68 72 65 66 3d 22 23 46 75 6e 63 74 69 6f 6e 73 22 3e 46 75 6e 63 74 69 also.<a.href="#Functions">Functi
e5440 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>..
e5460 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>....
e5480 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
e54a0 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
e54c0 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 66 6f 72 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 n.class="tok-kw">for</span></cod
e54e0 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>........
e5500 20 20 20 3c 74 64 3e 0a 20 20 20 20 20 20 20 20 20 20 20 20 41 20 3c 63 6f 64 65 3e 3c 73 70 61 ...<td>.............A.<code><spa
e5520 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 66 6f 72 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 n.class="tok-kw">for</span></cod
e5540 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 69 74 65 e>.expression.can.be.used.to.ite
e5560 72 61 74 65 20 6f 76 65 72 20 74 68 65 20 65 6c 65 6d 65 6e 74 73 20 6f 66 20 61 20 73 6c 69 63 rate.over.the.elements.of.a.slic
e5580 65 2c 20 61 72 72 61 79 2c 20 6f 72 20 74 75 70 6c 65 2e 0a 20 20 20 20 20 20 20 20 20 20 20 20 e,.array,.or.tuple..............
e55a0 3c 75 6c 3e 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 3c 6c 69 3e 53 65 65 20 61 6c 73 6f 20 <ul>...............<li>See.also.
e55c0 3c 61 20 68 72 65 66 3d 22 23 66 6f 72 22 3e 66 6f 72 3c 2f 61 3e 3c 2f 6c 69 3e 0a 20 20 20 20 <a.href="#for">for</a></li>.....
e55e0 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>...
e5600 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>........
e5620 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">.............
e5640 3c 70 72 65 3e 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e <pre><code><span.class="tok-kw">
e5660 69 66 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 if</span></code></pre>..........
e5680 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>...........
e56a0 20 20 41 6e 20 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e ..An.<code><span.class="tok-kw">
e56c0 69 66 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 20 65 78 70 72 65 73 73 69 6f 6e 20 63 61 6e 20 if</span></code>.expression.can.
e56e0 74 65 73 74 20 62 6f 6f 6c 65 61 6e 20 65 78 70 72 65 73 73 69 6f 6e 73 2c 20 6f 70 74 69 6f 6e test.boolean.expressions,.option
e5700 61 6c 20 76 61 6c 75 65 73 2c 20 6f 72 20 65 72 72 6f 72 20 75 6e 69 6f 6e 73 2e 0a 20 20 20 20 al.values,.or.error.unions......
e5720 20 20 20 20 20 20 20 20 46 6f 72 20 6f 70 74 69 6f 6e 61 6c 20 76 61 6c 75 65 73 20 6f 72 20 65 ........For.optional.values.or.e
e5740 72 72 6f 72 20 75 6e 69 6f 6e 73 2c 20 74 68 65 20 69 66 20 65 78 70 72 65 73 73 69 6f 6e 20 63 rror.unions,.the.if.expression.c
e5760 61 6e 20 63 61 70 74 75 72 65 20 74 68 65 20 75 6e 77 72 61 70 70 65 64 20 76 61 6c 75 65 2e 0a an.capture.the.unwrapped.value..
e5780 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>...............<
e57a0 6c 69 3e 53 65 65 20 61 6c 73 6f 20 3c 61 20 68 72 65 66 3d 22 23 69 66 22 3e 69 66 3c 2f 61 3e li>See.also.<a.href="#if">if</a>
e57c0 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>.........
e57e0 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
e5800 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">...
e5820 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
e5840 3d 22 74 6f 6b 2d 6b 77 22 3e 69 6e 6c 69 6e 65 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 3c 2f ="tok-kw">inline</span></code></
e5860 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>...........<
e5880 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
e58a0 73 3d 22 74 6f 6b 2d 6b 77 22 3e 69 6e 6c 69 6e 65 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 20 s="tok-kw">inline</span></code>.
e58c0 63 61 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 can.be.used.to.label.a.loop.expr
e58e0 65 73 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 ession.such.that.it.will.be.unro
e5900 6c 6c 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 lled.at.compile.time............
e5920 20 20 49 74 20 63 61 6e 20 61 6c 73 6f 20 62 65 20 75 73 65 64 20 74 6f 20 66 6f 72 63 65 20 61 ..It.can.also.be.used.to.force.a
e5940 20 66 75 6e 63 74 69 6f 6e 20 74 6f 20 62 65 20 69 6e 6c 69 6e 65 64 20 61 74 20 61 6c 6c 20 63 .function.to.be.inlined.at.all.c
e5960 61 6c 6c 20 73 69 74 65 73 2e 0a 20 20 20 20 20 20 20 20 20 20 20 20 3c 75 6c 3e 0a 20 20 20 20 all.sites..............<ul>.....
e5980 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="
e59a0 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 61 3e 2c #inline-while">inline.while</a>,
e59c0 20 3c 61 20 68 72 65 66 3d 22 23 69 6e 6c 69 6e 65 2d 66 6f 72 22 3e 69 6e 6c 69 6e 65 20 66 6f .<a.href="#inline-for">inline.fo
e59e0 72 3c 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 r</a>,.<a.href="#Functions">Func
e5a00 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>
e5a20 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>..
e5a40 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=
e5a60 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
e5a80 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 6c 69 6e 6b 73 65 63 74 69 6f 6e 3c 2f pan.class="tok-kw">linksection</
e5aa0 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
e5ac0 68 3e 0a 20 20 20 20 20 20 20 20 20 20 3c 74 64 3e 0a 20 20 20 20 20 20 20 20 20 20 20 20 54 68 h>...........<td>.............Th
e5ae0 65 20 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 6c 69 6e e.<code><span.class="tok-kw">lin
e5b00 6b 73 65 63 74 69 6f 6e 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 20 6b 65 79 77 6f 72 64 20 63 ksection</span></code>.keyword.c
e5b20 61 6e 20 62 65 20 75 73 65 64 20 74 6f 20 73 70 65 63 69 66 79 20 77 68 61 74 20 73 65 63 74 69 an.be.used.to.specify.what.secti
e5b40 6f 6e 20 74 68 65 20 66 75 6e 63 74 69 6f 6e 20 6f 72 20 67 6c 6f 62 61 6c 20 76 61 72 69 61 62 on.the.function.or.global.variab
e5b60 6c 65 20 77 69 6c 6c 20 62 65 20 70 75 74 20 69 6e 74 6f 20 28 65 2e 67 2e 20 3c 63 6f 64 65 3e le.will.be.put.into.(e.g..<code>
e5b80 2e 74 65 78 74 3c 2f 63 6f 64 65 3e 29 2e 0a 20 20 20 20 20 20 20 20 20 20 3c 2f 74 64 3e 0a 20 .text</code>)............</td>..
e5ba0 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>.......
e5bc0 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">............
e5be0 20 3c 70 72 65 3e 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 .<pre><code><span.class="tok-kw"
e5c00 3e 6e 6f 61 6c 69 61 73 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 3c 2f 70 72 65 3e 0a 20 20 20 >noalias</span></code></pre>....
e5c20 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>.....
e5c40 20 20 20 20 20 20 20 20 54 68 65 20 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 ........The.<code><span.class="t
e5c60 6f 6b 2d 6b 77 22 3e 6e 6f 61 6c 69 61 73 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 20 6b 65 79 ok-kw">noalias</span></code>.key
e5c80 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 20 20 word..............<ul>..........
e5ca0 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 6e 20 .....<li>TODO.add.documentation.
e5cc0 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 20 3c 2f 75 for.noalias</li>.............</u
e5ce0 6c 3e 0a 20 20 20 20 20 20 20 20 20 20 3c 2f 74 64 3e 0a 20 20 20 20 20 20 20 20 3c 2f 74 72 3e l>...........</td>.........</tr>
e5d00 0a 20 20 20 20 20 20 20 20 3c 74 72 3e 0a 20 20 20 20 20 20 20 20 20 20 3c 74 68 20 73 63 6f 70 .........<tr>...........<th.scop
e5d20 65 3d 22 72 6f 77 22 3e 0a 20 20 20 20 20 20 20 20 20 20 20 20 3c 70 72 65 3e 3c 63 6f 64 65 3e e="row">.............<pre><code>
e5d40 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 6e 6f 69 6e 6c 69 6e 65 3c 2f 73 <span.class="tok-kw">noinline</s
e5d60 70 61 6e 3e 3c 2f 63 6f 64 65 3e 3c 2f 70 72 65 3e 0a 20 20 20 20 20 20 20 20 20 20 3c 2f 74 68 pan></code></pre>...........</th
e5d80 3e 0a 20 20 20 20 20 20 20 20 20 20 3c 74 64 3e 0a 20 20 20 20 20 20 20 20 20 20 20 20 3c 63 6f >...........<td>.............<co
e5da0 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 6e 6f 69 6e 6c 69 6e 65 de><span.class="tok-kw">noinline
e5dc0 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 20 64 69 73 61 6c 6c 6f 77 73 20 66 75 6e 63 74 69 6f </span></code>.disallows.functio
e5de0 6e 20 74 6f 20 62 65 20 69 6e 6c 69 6e 65 64 20 69 6e 20 61 6c 6c 20 63 61 6c 6c 20 73 69 74 65 n.to.be.inlined.in.all.call.site
e5e00 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 20 s..............<ul>.............
e5e20 20 20 3c 6c 69 3e 53 65 65 20 61 6c 73 6f 20 3c 61 20 68 72 65 66 3d 22 23 46 75 6e 63 74 69 6f ..<li>See.also.<a.href="#Functio
e5e40 6e 73 22 3e 46 75 6e 63 74 69 6f 6e 73 3c 2f 61 3e 3c 2f 6c 69 3e 0a 20 20 20 20 20 20 20 20 20 ns">Functions</a></li>..........
e5e60 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>........
e5e80 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
e5ea0 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>
e5ec0 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 6e 6f 73 75 73 <code><span.class="tok-kw">nosus
e5ee0 70 65 6e 64 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 3c 2f 70 72 65 3e 0a 20 20 20 20 20 20 20 pend</span></code></pre>........
e5f00 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>.........
e5f20 20 20 20 20 54 68 65 20 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b ....The.<code><span.class="tok-k
e5f40 77 22 3e 6e 6f 73 75 73 70 65 6e 64 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 20 6b 65 79 77 6f w">nosuspend</span></code>.keywo
e5f60 72 64 20 63 61 6e 20 62 65 20 75 73 65 64 20 69 6e 20 66 72 6f 6e 74 20 6f 66 20 61 20 62 6c 6f rd.can.be.used.in.front.of.a.blo
e5f80 63 6b 2c 20 73 74 61 74 65 6d 65 6e 74 20 6f 72 20 65 78 70 72 65 73 73 69 6f 6e 2c 20 74 6f 20 ck,.statement.or.expression,.to.
e5fa0 6d 61 72 6b 20 61 20 73 63 6f 70 65 20 77 68 65 72 65 20 6e 6f 20 73 75 73 70 65 6e 73 69 6f 6e mark.a.scope.where.no.suspension
e5fc0 20 70 6f 69 6e 74 73 20 61 72 65 20 72 65 61 63 68 65 64 2e 0a 20 20 20 20 20 20 20 20 20 20 20 .points.are.reached.............
e5fe0 20 49 6e 20 70 61 72 74 69 63 75 6c 61 72 2c 20 69 6e 73 69 64 65 20 61 20 3c 63 6f 64 65 3e 3c .In.particular,.inside.a.<code><
e6000 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 6e 6f 73 75 73 70 65 6e 64 3c 2f 73 span.class="tok-kw">nosuspend</s
e6020 70 61 6e 3e 3c 2f 63 6f 64 65 3e 20 73 63 6f 70 65 3a 0a 20 20 20 20 20 20 20 20 20 20 20 20 3c pan></code>.scope:.............<
e6040 75 6c 3e 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 3c 6c 69 3e 55 73 69 6e 67 20 74 68 65 20 ul>...............<li>Using.the.
e6060 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 73 75 73 70 65 <code><span.class="tok-kw">suspe
e6080 6e 64 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 20 6b 65 79 77 6f 72 64 20 72 65 73 75 6c 74 73 nd</span></code>.keyword.results
e60a0 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 20 20 20 20 20 20 .in.a.compile.error.</li>.......
e60c0 20 20 20 20 20 20 20 20 3c 6c 69 3e 55 73 69 6e 67 20 3c 63 6f 64 65 3e 61 77 61 69 74 3c 2f 63 ........<li>Using.<code>await</c
e60e0 6f 64 65 3e 20 6f 6e 20 61 20 66 75 6e 63 74 69 6f 6e 20 66 72 61 6d 65 20 77 68 69 63 68 20 68 ode>.on.a.function.frame.which.h
e6100 61 73 6e 27 74 20 63 6f 6d 70 6c 65 74 65 64 20 79 65 74 20 72 65 73 75 6c 74 73 20 69 6e 20 73 asn't.completed.yet.results.in.s
e6120 61 66 65 74 79 2d 63 68 65 63 6b 65 64 20 3c 61 20 68 72 65 66 3d 22 23 49 6c 6c 65 67 61 6c 2d afety-checked.<a.href="#Illegal-
e6140 42 65 68 61 76 69 6f 72 22 3e 49 6c 6c 65 67 61 6c 20 42 65 68 61 76 69 6f 72 3c 2f 61 3e 2e 3c Behavior">Illegal.Behavior</a>.<
e6160 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
e6180 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
e61a0 61 66 65 74 79 2d 63 68 65 63 6b 65 64 20 3c 61 20 68 72 65 66 3d 22 23 49 6c 6c 65 67 61 6c 2d afety-checked.<a.href="#Illegal-
e61c0 42 65 68 61 76 69 6f 72 22 3e 49 6c 6c 65 67 61 6c 20 42 65 68 61 76 69 6f 72 3c 2f 61 3e 2c 20 Behavior">Illegal.Behavior</a>,.
e61e0 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 63 6f 64 65 because.it's.equivalent.to.<code
e6200 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 3c 2f 63 6f >await.async.some_async_fn()</co
e6220 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 3e 61 77 61 de>,.which.contains.an.<code>awa
e6240 69 74 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 3c 2f 75 6c it</code>.</li>.............</ul
e6260 3e 0a 20 20 20 20 20 20 20 20 20 20 20 20 43 6f 64 65 20 69 6e 73 69 64 65 20 61 20 3c 63 6f 64 >.............Code.inside.a.<cod
e6280 65 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 6e 64 e><span.class="tok-kw">nosuspend
e62a0 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 20 73 63 6f 70 65 20 64 6f 65 73 20 6e 6f 74 20 63 61 </span></code>.scope.does.not.ca
e62c0 75 73 65 20 74 68 65 20 65 6e 63 6c 6f 73 69 6e 67 20 66 75 6e 63 74 69 6f 6e 20 74 6f 20 62 65 use.the.enclosing.function.to.be
e62e0 63 6f 6d 65 20 61 6e 20 3c 61 20 68 72 65 66 3d 22 23 41 73 79 6e 63 2d 46 75 6e 63 74 69 6f 6e come.an.<a.href="#Async-Function
e6300 73 22 3e 61 73 79 6e 63 20 66 75 6e 63 74 69 6f 6e 3c 2f 61 3e 2e 0a 20 20 20 20 20 20 20 20 20 s">async.function</a>...........
e6320 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
e6340 73 6f 20 3c 61 20 68 72 65 66 3d 22 23 41 73 79 6e 63 2d 46 75 6e 63 74 69 6f 6e 73 22 3e 41 73 so.<a.href="#Async-Functions">As
e6360 79 6e 63 20 46 75 6e 63 74 69 6f 6e 73 3c 2f 61 3e 3c 2f 6c 69 3e 0a 20 20 20 20 20 20 20 20 20 ync.Functions</a></li>..........
e6380 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>........
e63a0 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
e63c0 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>
e63e0 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 6f 70 61 71 75 <code><span.class="tok-kw">opaqu
e6400 65 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 3c 2f 70 72 65 3e 0a 20 20 20 20 20 20 20 20 20 20 e</span></code></pre>...........
e6420 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>............
e6440 20 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 6f 70 61 71 .<code><span.class="tok-kw">opaq
e6460 75 65 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 20 64 65 66 69 6e 65 73 20 61 6e 20 6f 70 61 71 ue</span></code>.defines.an.opaq
e6480 75 65 20 74 79 70 65 2e 0a 20 20 20 20 20 20 20 20 20 20 20 20 3c 75 6c 3e 0a 20 20 20 20 20 20 ue.type..............<ul>.......
e64a0 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 6f ........<li>See.also.<a.href="#o
e64c0 70 61 71 75 65 22 3e 6f 70 61 71 75 65 3c 2f 61 3e 3c 2f 6c 69 3e 0a 20 20 20 20 20 20 20 20 20 paque">opaque</a></li>..........
e64e0 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>........
e6500 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
e6520 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>
e6540 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 6f 72 3c 2f 73 <code><span.class="tok-kw">or</s
e6560 70 61 6e 3e 3c 2f 63 6f 64 65 3e 3c 2f 70 72 65 3e 0a 20 20 20 20 20 20 20 20 20 20 3c 2f 74 68 pan></code></pre>...........</th
e6580 3e 0a 20 20 20 20 20 20 20 20 20 20 3c 74 64 3e 0a 20 20 20 20 20 20 20 20 20 20 20 20 54 68 65 >...........<td>.............The
e65a0 20 62 6f 6f 6c 65 61 6e 20 6f 70 65 72 61 74 6f 72 20 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c .boolean.operator.<code><span.cl
e65c0 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 6f 72 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 2e 0a 20 ass="tok-kw">or</span></code>...
e65e0 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
e6600 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 3e i>See.also.<a.href="#Operators">
e6620 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 3c Operators</a></li>.............<
e6640 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
e6660 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
e6680 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
e66a0 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 6f 72 65 6c 73 65 3c 2f 73 e><span.class="tok-kw">orelse</s
e66c0 70 61 6e 3e 3c 2f 63 6f 64 65 3e 3c 2f 70 72 65 3e 0a 20 20 20 20 20 20 20 20 20 20 3c 2f 74 68 pan></code></pre>...........</th
e66e0 3e 0a 20 20 20 20 20 20 20 20 20 20 3c 74 64 3e 0a 20 20 20 20 20 20 20 20 20 20 20 20 3c 63 6f >...........<td>.............<co
e6700 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 6f 72 65 6c 73 65 3c 2f de><span.class="tok-kw">orelse</
e6720 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 65 76 61 6c span></code>.can.be.used.to.eval
e6740 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 70 72 65 73 uate.an.expression.if.the.expres
e6760 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 6e 75 6c 6c sion.before.it.evaluates.to.null
e6780 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>..............
e67a0 20 3c 6c 69 3e 53 65 65 20 61 6c 73 6f 20 3c 61 20 68 72 65 66 3d 22 23 4f 70 74 69 6f 6e 61 6c .<li>See.also.<a.href="#Optional
e67c0 73 22 3e 4f 70 74 69 6f 6e 61 6c 73 3c 2f 61 3e 2c 20 3c 61 20 68 72 65 66 3d 22 23 4f 70 65 72 s">Optionals</a>,.<a.href="#Oper
e67e0 61 74 6f 72 73 22 3e 4f 70 65 72 61 74 6f 72 73 3c 2f 61 3e 3c 2f 6c 69 3e 0a 20 20 20 20 20 20 ators">Operators</a></li>.......
e6800 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>.....
e6820 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>..........
e6840 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
e6860 72 65 3e 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 70 61 re><code><span.class="tok-kw">pa
e6880 63 6b 65 64 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 3c 2f 70 72 65 3e 0a 20 20 20 20 20 20 20 cked</span></code></pre>........
e68a0 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>.........
e68c0 20 20 20 20 54 68 65 20 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b ....The.<code><span.class="tok-k
e68e0 77 22 3e 70 61 63 6b 65 64 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 20 6b 65 79 77 6f 72 64 20 w">packed</span></code>.keyword.
e6900 62 65 66 6f 72 65 20 61 20 73 74 72 75 63 74 20 64 65 66 69 6e 69 74 69 6f 6e 20 63 68 61 6e 67 before.a.struct.definition.chang
e6920 65 73 20 74 68 65 20 73 74 72 75 63 74 27 73 20 69 6e 2d 6d 65 6d 6f 72 79 20 6c 61 79 6f 75 74 es.the.struct's.in-memory.layout
e6940 0a 20 20 20 20 20 20 20 20 20 20 20 20 74 6f 20 74 68 65 20 67 75 61 72 61 6e 74 65 65 64 20 3c .............to.the.guaranteed.<
e6960 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 70 61 63 6b 65 64 code><span.class="tok-kw">packed
e6980 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 20 6c 61 79 6f 75 74 2e 0a 20 20 20 20 20 20 20 20 20 </span></code>.layout...........
e69a0 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
e69c0 73 6f 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 70 61 63 6b so.<a.href="#packed-struct">pack
e69e0 65 64 20 73 74 72 75 63 74 3c 2f 61 3e 3c 2f 6c 69 3e 0a 20 20 20 20 20 20 20 20 20 20 20 20 3c ed.struct</a></li>.............<
e6a00 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
e6a20 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
e6a40 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
e6a60 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 70 75 62 3c 2f 73 70 61 6e e><span.class="tok-kw">pub</span
e6a80 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>..
e6aa0 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 3c 63 .........<td>.............The.<c
e6ac0 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 70 75 62 3c 2f 73 70 ode><span.class="tok-kw">pub</sp
e6ae0 61 6e 3e 3c 2f 63 6f 64 65 3e 20 69 6e 20 66 72 6f 6e 74 20 6f 66 20 61 20 74 6f 70 20 6c 65 76 an></code>.in.front.of.a.top.lev
e6b00 65 6c 20 64 65 63 6c 61 72 61 74 69 6f 6e 20 6d 61 6b 65 73 20 74 68 65 20 64 65 63 6c 61 72 61 el.declaration.makes.the.declara
e6b20 74 69 6f 6e 20 61 76 61 69 6c 61 62 6c 65 0a 20 20 20 20 20 20 20 20 20 20 20 20 74 6f 20 72 65 tion.available.............to.re
e6b40 66 65 72 65 6e 63 65 20 66 72 6f 6d 20 61 20 64 69 66 66 65 72 65 6e 74 20 66 69 6c 65 20 74 68 ference.from.a.different.file.th
e6b60 61 6e 20 74 68 65 20 6f 6e 65 20 69 74 20 69 73 20 64 65 63 6c 61 72 65 64 20 69 6e 2e 0a 20 20 an.the.one.it.is.declared.in....
e6b80 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
e6ba0 3e 53 65 65 20 61 6c 73 6f 20 3c 61 20 68 72 65 66 3d 22 23 69 6d 70 6f 72 74 22 3e 69 6d 70 6f >See.also.<a.href="#import">impo
e6bc0 72 74 3c 2f 61 3e 3c 2f 6c 69 3e 0a 20 20 20 20 20 20 20 20 20 20 20 20 3c 2f 75 6c 3e 0a 20 20 rt</a></li>.............</ul>...
e6be0 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>.....
e6c00 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
e6c20 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
e6c40 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 72 65 73 75 6d 65 3c 2f 73 70 61 6e 3e 3c 2f 63 .class="tok-kw">resume</span></c
e6c60 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>......
e6c80 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
e6ca0 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 3c 2f n.class="tok-kw">resume</span></
e6cc0 63 6f 64 65 3e 20 77 69 6c 6c 20 63 6f 6e 74 69 6e 75 65 20 65 78 65 63 75 74 69 6f 6e 20 6f 66 code>.will.continue.execution.of
e6ce0 20 61 20 66 75 6e 63 74 69 6f 6e 20 66 72 61 6d 65 20 61 66 74 65 72 20 74 68 65 20 70 6f 69 6e .a.function.frame.after.the.poin
e6d00 74 20 74 68 65 20 66 75 6e 63 74 69 6f 6e 20 77 61 73 20 73 75 73 70 65 6e 64 65 64 2e 0a 20 20 t.the.function.was.suspended....
e6d20 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>.....
e6d40 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
e6d60 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
e6d80 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 63 .class="tok-kw">return</span></c
e6da0 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>......
e6dc0 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
e6de0 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 72 65 74 75 72 6e 3c 2f 73 70 61 6e 3e 3c 2f n.class="tok-kw">return</span></
e6e00 63 6f 64 65 3e 20 65 78 69 74 73 20 61 20 66 75 6e 63 74 69 6f 6e 20 77 69 74 68 20 61 20 76 61 code>.exits.a.function.with.a.va
e6e20 6c 75 65 2e 0a 20 20 20 20 20 20 20 20 20 20 20 20 3c 75 6c 3e 0a 20 20 20 20 20 20 20 20 20 20 lue..............<ul>...........
e6e40 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 74 ....<li>See.also.<a.href="#Funct
e6e60 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 20 ions">Functions</a></li>........
e6e80 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>......
e6ea0 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>...........
e6ec0 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
e6ee0 65 3e 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 73 74 72 e><code><span.class="tok-kw">str
e6f00 75 63 74 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 3c 2f 70 72 65 3e 0a 20 20 20 20 20 20 20 20 uct</span></code></pre>.........
e6f20 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>..........
e6f40 20 20 20 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 73 74 ...<code><span.class="tok-kw">st
e6f60 72 75 63 74 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 20 64 65 66 69 6e 65 73 20 61 20 73 74 72 ruct</span></code>.defines.a.str
e6f80 75 63 74 2e 0a 20 20 20 20 20 20 20 20 20 20 20 20 3c 75 6c 3e 0a 20 20 20 20 20 20 20 20 20 20 uct..............<ul>...........
e6fa0 20 20 20 20 3c 6c 69 3e 53 65 65 20 61 6c 73 6f 20 3c 61 20 68 72 65 66 3d 22 23 73 74 72 75 63 ....<li>See.also.<a.href="#struc
e6fc0 74 22 3e 73 74 72 75 63 74 3c 2f 61 3e 3c 2f 6c 69 3e 0a 20 20 20 20 20 20 20 20 20 20 20 20 3c t">struct</a></li>.............<
e6fe0 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
e7000 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
e7020 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
e7040 65 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 e><span.class="tok-kw">suspend</
e7060 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
e7080 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
e70a0 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 73 75 73 70 65 6e 64 ode><span.class="tok-kw">suspend
e70c0 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 63 6f 6e 74 72 6f </span></code>.will.cause.contro
e70e0 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 6c 6c 20 73 69 74 l.flow.to.return.to.the.call.sit
e7100 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 6f 6e 2e 0a 20 20 e.or.resumer.of.the.function....
e7120 20 20 20 20 20 20 20 20 20 20 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b ..........<code><span.class="tok
e7140 2d 6b 77 22 3e 73 75 73 70 65 6e 64 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 20 63 61 6e 20 61 -kw">suspend</span></code>.can.a
e7160 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
e7180 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
e71a0 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
e71c0 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.
e71e0 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 3c 2f 74 64 to.the.call.site............</td
e7200 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>....
e7220 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">.........
e7240 20 20 20 20 3c 70 72 65 3e 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d ....<pre><code><span.class="tok-
e7260 6b 77 22 3e 73 77 69 74 63 68 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 3c 2f 70 72 65 3e 0a 20 kw">switch</span></code></pre>..
e7280 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>...
e72a0 20 20 20 20 20 20 20 20 20 20 41 20 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 ..........A.<code><span.class="t
e72c0 6f 6b 2d 6b 77 22 3e 73 77 69 74 63 68 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 20 65 78 70 72 ok-kw">switch</span></code>.expr
e72e0 65 73 73 69 6f 6e 20 63 61 6e 20 62 65 20 75 73 65 64 20 74 6f 20 74 65 73 74 20 76 61 6c 75 65 ession.can.be.used.to.test.value
e7300 73 20 6f 66 20 61 20 63 6f 6d 6d 6f 6e 20 74 79 70 65 2e 0a 20 20 20 20 20 20 20 20 20 20 20 20 s.of.a.common.type..............
e7320 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 73 77 69 74 63 <code><span.class="tok-kw">switc
e7340 68 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 20 63 61 73 65 73 20 63 61 6e 20 63 61 70 74 75 72 h</span></code>.cases.can.captur
e7360 65 20 66 69 65 6c 64 20 76 61 6c 75 65 73 20 6f 66 20 61 20 3c 61 20 68 72 65 66 3d 22 23 54 61 e.field.values.of.a.<a.href="#Ta
e7380 67 67 65 64 2d 75 6e 69 6f 6e 22 3e 54 61 67 67 65 64 20 75 6e 69 6f 6e 3c 2f 61 3e 2e 0a 20 20 gged-union">Tagged.union</a>....
e73a0 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
e73c0 3e 53 65 65 20 61 6c 73 6f 20 3c 61 20 68 72 65 66 3d 22 23 73 77 69 74 63 68 22 3e 73 77 69 74 >See.also.<a.href="#switch">swit
e73e0 63 68 3c 2f 61 3e 3c 2f 6c 69 3e 0a 20 20 20 20 20 20 20 20 20 20 20 20 3c 2f 75 6c 3e 0a 20 20 ch</a></li>.............</ul>...
e7400 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>.....
e7420 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
e7440 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
e7460 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 74 65 73 74 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 .class="tok-kw">test</span></cod
e7480 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>........
e74a0 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
e74c0 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 74 65 73 74 3c 2f 73 70 61 6e 3e 3c 2f pan.class="tok-kw">test</span></
e74e0 63 6f 64 65 3e 20 6b 65 79 77 6f 72 64 20 63 61 6e 20 62 65 20 75 73 65 64 20 74 6f 20 64 65 6e code>.keyword.can.be.used.to.den
e7500 6f 74 65 20 61 20 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 ote.a.top-level.block.of.code...
e7520 20 20 20 20 20 20 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 ..........used.to.make.sure.beha
e7540 76 69 6f 72 20 6d 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 vior.meets.expectations.........
e7560 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.
e7580 61 6c 73 6f 20 3c 61 20 68 72 65 66 3d 22 23 5a 69 67 2d 54 65 73 74 22 3e 5a 69 67 20 54 65 73 also.<a.href="#Zig-Test">Zig.Tes
e75a0 74 3c 2f 61 3e 3c 2f 6c 69 3e 0a 20 20 20 20 20 20 20 20 20 20 20 20 3c 2f 75 6c 3e 0a 20 20 20 t</a></li>.............</ul>....
e75c0 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>......
e75e0 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
e7600 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.
e7620 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 74 68 72 65 61 64 6c 6f 63 61 6c 3c 2f 73 70 61 6e class="tok-kw">threadlocal</span
e7640 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>..
e7660 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>
e7680 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 74 68 72 65 61 64 6c 6f 63 61 6c <span.class="tok-kw">threadlocal
e76a0 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 73 70 </span></code>.can.be.used.to.sp
e76c0 65 63 69 66 79 20 61 20 76 61 72 69 61 62 6c 65 20 61 73 20 74 68 72 65 61 64 2d 6c 6f 63 61 6c ecify.a.variable.as.thread-local
e76e0 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>..............
e7700 20 3c 6c 69 3e 53 65 65 20 61 6c 73 6f 20 3c 61 20 68 72 65 66 3d 22 23 54 68 72 65 61 64 2d 4c .<li>See.also.<a.href="#Thread-L
e7720 6f 63 61 6c 2d 56 61 72 69 61 62 6c 65 73 22 3e 54 68 72 65 61 64 20 4c 6f 63 61 6c 20 56 61 72 ocal-Variables">Thread.Local.Var
e7740 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
e7760 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>.
e7780 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
e77a0 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><
e77c0 73 70 61 6e 20 63 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 span.class="tok-kw">try</span></
e77e0 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>.....
e7800 20 20 20 20 20 20 3c 74 64 3e 0a 20 20 20 20 20 20 20 20 20 20 20 20 3c 63 6f 64 65 3e 3c 73 70 ......<td>.............<code><sp
e7820 61 6e 20 63 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 63 6f an.class="tok-kw">try</span></co
e7840 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 6e 20 65 78 70 de>.evaluates.an.error.union.exp
e7860 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 69 73 20 61 6e ression..............If.it.is.an
e7880 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 20 63 75 72 72 .error,.it.returns.from.the.curr
e78a0 65 6e 74 20 66 75 6e 63 74 69 6f 6e 20 77 69 74 68 20 74 68 65 20 73 61 6d 65 20 65 72 72 6f 72 ent.function.with.the.same.error
e78c0 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 65 20 65 78 70 ..............Otherwise,.the.exp
e78e0 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 61 70 70 65 64 ression.results.in.the.unwrapped
e7900 20 76 61 6c 75 65 2e 0a 20 20 20 20 20 20 20 20 20 20 20 20 3c 75 6c 3e 0a 20 20 20 20 20 20 20 .value..............<ul>........
e7920 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 74 72 .......<li>See.also.<a.href="#tr
e7940 79 22 3e 74 72 79 3c 2f 61 3e 3c 2f 6c 69 3e 0a 20 20 20 20 20 20 20 20 20 20 20 20 3c 2f 75 6c y">try</a></li>.............</ul
e7960 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>.
e7980 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
e79a0 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><
e79c0 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>
e79e0 3c 2f 63 6f 64 65 3e 3c 2f 70 72 65 3e 0a 20 20 20 20 20 20 20 20 20 20 3c 2f 74 68 3e 0a 20 20 </code></pre>...........</th>...
e7a00 20 20 20 20 20 20 20 20 3c 74 64 3e 0a 20 20 20 20 20 20 20 20 20 20 20 20 3c 63 6f 64 65 3e 3c ........<td>.............<code><
e7a20 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>
e7a40 3c 2f 63 6f 64 65 3e 20 64 65 66 69 6e 65 73 20 61 20 75 6e 69 6f 6e 2e 0a 20 20 20 20 20 20 20 </code>.defines.a.union.........
e7a60 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.
e7a80 61 6c 73 6f 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 3c also.<a.href="#union">union</a><
e7aa0 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>..........
e7ac0 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
e7ae0 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">....
e7b00 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=
e7b20 22 74 6f 6b 2d 6b 77 22 3e 75 6e 72 65 61 63 68 61 62 6c 65 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 "tok-kw">unreachable</span></cod
e7b40 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>........
e7b60 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.
e7b80 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
e7ba0 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 65 72 74 20 74 ></code>.can.be.used.to.assert.t
e7bc0 68 61 74 20 63 6f 6e 74 72 6f 6c 20 66 6c 6f 77 20 77 69 6c 6c 20 6e 65 76 65 72 20 68 61 70 70 hat.control.flow.will.never.happ
e7be0 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 6f 6e 2e 0a 20 en.upon.a.particular.location...
e7c00 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 20 62 75 69 6c ...........Depending.on.the.buil
e7c20 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 74 6f 6b 2d 6b d.mode,.<code><span.class="tok-k
e7c40 77 22 3e 75 6e 72 65 61 63 68 61 62 6c 65 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 20 6d 61 79 w">unreachable</span></code>.may
e7c60 20 65 6d 69 74 20 61 20 70 61 6e 69 63 2e 0a 20 20 20 20 20 20 20 20 20 20 20 20 3c 75 6c 3e 0a .emit.a.panic..............<ul>.
e7c80 20 20 20 20 20 20 20 20 20 20 20 20 20 20 3c 6c 69 3e 45 6d 69 74 73 20 61 20 70 61 6e 69 63 20 ..............<li>Emits.a.panic.
e7ca0 69 6e 20 3c 63 6f 64 65 3e 44 65 62 75 67 3c 2f 63 6f 64 65 3e 20 61 6e 64 20 3c 63 6f 64 65 3e in.<code>Debug</code>.and.<code>
e7cc0 52 65 6c 65 61 73 65 53 61 66 65 3c 2f 63 6f 64 65 3e 20 6d 6f 64 65 2c 20 6f 72 20 77 68 65 6e ReleaseSafe</code>.mode,.or.when
e7ce0 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 2e 3c 2f 6c 69 3e .using.<kbd>zig.test</kbd>.</li>
e7d00 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 3c 6c 69 3e 44 6f 65 73 20 6e 6f 74 20 65 6d 69 74 ...............<li>Does.not.emit
e7d20 20 61 20 70 61 6e 69 63 20 69 6e 20 3c 63 6f 64 65 3e 52 65 6c 65 61 73 65 46 61 73 74 3c 2f 63 .a.panic.in.<code>ReleaseFast</c
e7d40 6f 64 65 3e 20 61 6e 64 20 3c 63 6f 64 65 3e 52 65 6c 65 61 73 65 53 6d 61 6c 6c 3c 2f 63 6f 64 ode>.and.<code>ReleaseSmall</cod
e7d60 65 3e 20 6d 6f 64 65 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 e>.mode.</li>...............<li>
e7d80 53 65 65 20 61 6c 73 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 See.also.<a.href="#unreachable">
e7da0 75 6e 72 65 61 63 68 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 unreachable</a></li>............
e7dc0 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>.........<
e7de0 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.
e7e00 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
e7e20 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 76 61 72 3c 2f 73 70 ode><span.class="tok-kw">var</sp
e7e40 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>
e7e60 0a 20 20 20 20 20 20 20 20 20 20 3c 74 64 3e 0a 20 20 20 20 20 20 20 20 20 20 20 20 3c 63 6f 64 ...........<td>.............<cod
e7e80 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 76 61 72 3c 2f 73 70 61 6e e><span.class="tok-kw">var</span
e7ea0 3e 3c 2f 63 6f 64 65 3e 20 64 65 63 6c 61 72 65 73 20 61 20 76 61 72 69 61 62 6c 65 20 74 68 61 ></code>.declares.a.variable.tha
e7ec0 74 20 6d 61 79 20 62 65 20 6d 6f 64 69 66 69 65 64 2e 0a 20 20 20 20 20 20 20 20 20 20 20 20 3c t.may.be.modified..............<
e7ee0 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.<
e7f00 61 20 68 72 65 66 3d 22 23 56 61 72 69 61 62 6c 65 73 22 3e 56 61 72 69 61 62 6c 65 73 3c 2f 61 a.href="#Variables">Variables</a
e7f20 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>........
e7f40 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>.........<
e7f60 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">..
e7f80 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
e7fa0 73 3d 22 74 6f 6b 2d 6b 77 22 3e 76 6f 6c 61 74 69 6c 65 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 s="tok-kw">volatile</span></code
e7fc0 3e 3c 2f 70 72 65 3e 0a 20 20 20 20 20 20 20 20 20 20 3c 2f 74 68 3e 0a 20 20 20 20 20 20 20 20 ></pre>...........</th>.........
e7fe0 20 20 3c 74 64 3e 0a 20 20 20 20 20 20 20 20 20 20 20 20 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 ..<td>.............<code><span.c
e8000 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 76 6f 6c 61 74 69 6c 65 3c 2f 73 70 61 6e 3e 3c 2f 63 lass="tok-kw">volatile</span></c
e8020 6f 64 65 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 ode>.can.be.used.to.denote.loads
e8040 20 6f 72 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 .or.stores.of.a.pointer.have.sid
e8060 65 20 65 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 e.effects..............It.can.al
e8080 73 6f 20 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 so.modify.an.inline.assembly.exp
e80a0 72 65 73 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 ression.to.denote.it.has.side.ef
e80c0 66 65 63 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 fects..............<ul>.........
e80e0 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 76 6f 6c ......<li>See.also.<a.href="#vol
e8100 61 74 69 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 atile">volatile</a>,.<a.href="#A
e8120 73 73 65 6d 62 6c 79 22 3e 41 73 73 65 6d 62 6c 79 3c 2f 61 3e 3c 2f 6c 69 3e 0a 20 20 20 20 20 ssembly">Assembly</a></li>......
e8140 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>....
e8160 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>.........
e8180 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">.............<
e81a0 70 72 65 3e 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 77 pre><code><span.class="tok-kw">w
e81c0 68 69 6c 65 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 3c 2f 70 72 65 3e 0a 20 20 20 20 20 20 20 hile</span></code></pre>........
e81e0 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>.........
e8200 20 20 20 20 41 20 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 ....A.<code><span.class="tok-kw"
e8220 3e 77 68 69 6c 65 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 20 65 78 70 72 65 73 73 69 6f 6e 20 >while</span></code>.expression.
e8240 63 61 6e 20 62 65 20 75 73 65 64 20 74 6f 20 72 65 70 65 61 74 65 64 6c 79 20 74 65 73 74 20 61 can.be.used.to.repeatedly.test.a
e8260 20 62 6f 6f 6c 65 61 6e 2c 20 6f 70 74 69 6f 6e 61 6c 2c 20 6f 72 20 65 72 72 6f 72 20 75 6e 69 .boolean,.optional,.or.error.uni
e8280 6f 6e 20 65 78 70 72 65 73 73 69 6f 6e 2c 0a 20 20 20 20 20 20 20 20 20 20 20 20 61 6e 64 20 63 on.expression,.............and.c
e82a0 65 61 73 65 20 6c 6f 6f 70 69 6e 67 20 77 68 65 6e 20 74 68 61 74 20 65 78 70 72 65 73 73 69 6f ease.looping.when.that.expressio
e82c0 6e 20 65 76 61 6c 75 61 74 65 73 20 74 6f 20 66 61 6c 73 65 2c 20 6e 75 6c 6c 2c 20 6f 72 20 61 n.evaluates.to.false,.null,.or.a
e82e0 6e 20 65 72 72 6f 72 2c 20 72 65 73 70 65 63 74 69 76 65 6c 79 2e 0a 20 20 20 20 20 20 20 20 20 n.error,.respectively...........
e8300 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
e8320 73 6f 20 3c 61 20 68 72 65 66 3d 22 23 77 68 69 6c 65 22 3e 77 68 69 6c 65 3c 2f 61 3e 3c 2f 6c so.<a.href="#while">while</a></l
e8340 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>...........<
e8360 2f 74 64 3e 0a 20 20 20 20 20 20 20 20 3c 2f 74 72 3e 0a 20 20 20 20 20 20 20 20 3c 2f 74 62 6f /td>.........</tr>.........</tbo
e8380 64 79 3e 0a 20 20 20 20 20 20 3c 2f 74 61 62 6c 65 3e 0a 20 20 20 20 20 20 3c 2f 64 69 76 3e 0a dy>.......</table>.......</div>.
e83a0 20 20 20 20 20 20 0a 0a 20 20 20 20 20 20 3c 68 32 20 69 64 3d 22 41 70 70 65 6e 64 69 78 22 3e ..............<h2.id="Appendix">
e83c0 3c 61 20 68 72 65 66 3d 22 6e 61 76 2e 78 68 74 6d 6c 23 74 6f 63 2d 41 70 70 65 6e 64 69 78 22 <a.href="nav.xhtml#toc-Appendix"
e83e0 3e 41 70 70 65 6e 64 69 78 3c 2f 61 3e 20 3c 61 20 63 6c 61 73 73 3d 22 68 64 72 22 20 68 72 65 >Appendix</a>.<a.class="hdr".hre
e8400 66 3d 22 23 41 70 70 65 6e 64 69 78 22 3e c2 a7 3c 2f 61 3e 3c 2f 68 32 3e 0a 0a 20 20 20 20 20 f="#Appendix">..</a></h2>.......
e8420 20 3c 68 33 20 69 64 3d 22 47 72 61 6d 6d 61 72 22 3e 3c 61 20 68 72 65 66 3d 22 6e 61 76 2e 78 .<h3.id="Grammar"><a.href="nav.x
e8440 68 74 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 html#toc-Grammar">Grammar</a>.<a
e8460 20 63 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 .class="hdr".href="#Grammar">..<
e8480 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
e84a0 69 6f 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 ion.class="peg-cap"><cite.class=
e84c0 22 66 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 "file">grammar.peg</cite></figca
e84e0 70 74 69 6f 6e 3e 3c 70 72 65 3e 3c 63 6f 64 65 3e 52 6f 6f 74 20 26 6c 74 3b 2d 20 73 6b 69 70 ption><pre><code>Root.&lt;-.skip
e8500 20 43 6f 6e 74 61 69 6e 65 72 4d 65 6d 62 65 72 73 20 65 6f 66 0a 0a 23 20 2a 2a 2a 20 54 6f 70 .ContainerMembers.eof..#.***.Top
e8520 20 6c 65 76 65 6c 20 2a 2a 2a 0a 43 6f 6e 74 61 69 6e 65 72 4d 65 6d 62 65 72 73 20 26 6c 74 3b .level.***.ContainerMembers.&lt;
e8540 2d 20 63 6f 6e 74 61 69 6e 65 72 5f 64 6f 63 5f 63 6f 6d 6d 65 6e 74 3f 20 43 6f 6e 74 61 69 6e -.container_doc_comment?.Contain
e8560 65 72 44 65 63 6c 61 72 61 74 69 6f 6e 2a 20 28 43 6f 6e 74 61 69 6e 65 72 46 69 65 6c 64 20 43 erDeclaration*.(ContainerField.C
e8580 4f 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 OMMA)*.(ContainerField./.Contain
e85a0 65 72 44 65 63 6c 61 72 61 74 69 6f 6e 2a 29 0a 0a 43 6f 6e 74 61 69 6e 65 72 44 65 63 6c 61 72 erDeclaration*)..ContainerDeclar
e85c0 61 74 69 6f 6e 20 26 6c 74 3b 2d 20 54 65 73 74 44 65 63 6c 20 2f 20 43 6f 6d 70 74 69 6d 65 44 ation.&lt;-.TestDecl./.ComptimeD
e85e0 65 63 6c 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 ecl./.doc_comment?.KEYWORD_pub?.
e8600 44 65 63 6c 0a 0a 54 65 73 74 44 65 63 6c 20 26 6c 74 3b 2d 20 4b 45 59 57 4f 52 44 5f 74 65 73 Decl..TestDecl.&lt;-.KEYWORD_tes
e8620 74 20 28 53 54 52 49 4e 47 4c 49 54 45 52 41 4c 53 49 4e 47 4c 45 20 2f 20 49 44 45 4e 54 49 46 t.(STRINGLITERALSINGLE./.IDENTIF
e8640 49 45 52 29 3f 20 42 6c 6f 63 6b 0a 0a 43 6f 6d 70 74 69 6d 65 44 65 63 6c 20 26 6c 74 3b 2d 20 IER)?.Block..ComptimeDecl.&lt;-.
e8660 4b 45 59 57 4f 52 44 5f 63 6f 6d 70 74 69 6d 65 20 42 6c 6f 63 6b 0a 0a 44 65 63 6c 0a 20 20 20 KEYWORD_comptime.Block..Decl....
e8680 20 26 6c 74 3b 2d 20 28 4b 45 59 57 4f 52 44 5f 65 78 70 6f 72 74 20 2f 20 4b 45 59 57 4f 52 44 .&lt;-.(KEYWORD_export./.KEYWORD
e86a0 5f 69 6e 6c 69 6e 65 20 2f 20 4b 45 59 57 4f 52 44 5f 6e 6f 69 6e 6c 69 6e 65 29 3f 20 46 6e 50 _inline./.KEYWORD_noinline)?.FnP
e86c0 72 6f 74 6f 20 28 53 45 4d 49 43 4f 4c 4f 4e 20 2f 20 42 6c 6f 63 6b 29 0a 20 20 20 20 20 2f 20 roto.(SEMICOLON./.Block)....../.
e86e0 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 53 49 4e 47 KEYWORD_extern.STRINGLITERALSING
e8700 4c 45 3f 20 46 6e 50 72 6f 74 6f 20 53 45 4d 49 43 4f 4c 4f 4e 0a 20 20 20 20 20 2f 20 28 4b 45 LE?.FnProto.SEMICOLON....../.(KE
e8720 59 57 4f 52 44 5f 65 78 70 6f 72 74 20 2f 20 4b 45 59 57 4f 52 44 5f 65 78 74 65 72 6e 20 53 54 YWORD_export./.KEYWORD_extern.ST
e8740 52 49 4e 47 4c 49 54 45 52 41 4c 53 49 4e 47 4c 45 3f 29 3f 20 4b 45 59 57 4f 52 44 5f 74 68 72 RINGLITERALSINGLE?)?.KEYWORD_thr
e8760 65 61 64 6c 6f 63 61 6c 3f 20 47 6c 6f 62 61 6c 56 61 72 44 65 63 6c 0a 0a 46 6e 50 72 6f 74 6f eadlocal?.GlobalVarDecl..FnProto
e8780 20 26 6c 74 3b 2d 20 4b 45 59 57 4f 52 44 5f 66 6e 20 49 44 45 4e 54 49 46 49 45 52 3f 20 4c 50 .&lt;-.KEYWORD_fn.IDENTIFIER?.LP
e87a0 41 52 45 4e 20 50 61 72 61 6d 44 65 63 6c 4c 69 73 74 20 52 50 41 52 45 4e 20 42 79 74 65 41 6c AREN.ParamDeclList.RPAREN.ByteAl
e87c0 69 67 6e 3f 20 41 64 64 72 53 70 61 63 65 3f 20 4c 69 6e 6b 53 65 63 74 69 6f 6e 3f 20 43 61 6c ign?.AddrSpace?.LinkSection?.Cal
e87e0 6c 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 lConv?.EXCLAMATIONMARK?.TypeExpr
e8800 20 21 45 78 70 72 53 75 66 66 69 78 0a 0a 56 61 72 44 65 63 6c 50 72 6f 74 6f 20 26 6c 74 3b 2d .!ExprSuffix..VarDeclProto.&lt;-
e8820 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 20 49 .(KEYWORD_const./.KEYWORD_var).I
e8840 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 74 65 DENTIFIER.(COLON.TypeExpr)?.Byte
e8860 41 6c 69 67 6e 3f 20 41 64 64 72 53 70 61 63 65 3f 20 4c 69 6e 6b 53 65 63 74 69 6f 6e 3f 0a 0a Align?.AddrSpace?.LinkSection?..
e8880 47 6c 6f 62 61 6c 56 61 72 44 65 63 6c 20 26 6c 74 3b 2d 20 56 61 72 44 65 63 6c 50 72 6f 74 6f GlobalVarDecl.&lt;-.VarDeclProto
e88a0 20 28 45 51 55 41 4c 20 45 78 70 72 29 3f 20 53 45 4d 49 43 4f 4c 4f 4e 0a 0a 43 6f 6e 74 61 69 .(EQUAL.Expr)?.SEMICOLON..Contai
e88c0 6e 65 72 46 69 65 6c 64 20 26 6c 74 3b 2d 20 64 6f 63 5f 63 6f 6d 6d 65 6e 74 3f 20 28 4b 45 59 nerField.&lt;-.doc_comment?.(KEY
e88e0 57 4f 52 44 5f 63 6f 6d 70 74 69 6d 65 20 2f 20 21 4b 45 59 57 4f 52 44 5f 63 6f 6d 70 74 69 6d WORD_comptime./.!KEYWORD_comptim
e8900 65 29 20 21 4b 45 59 57 4f 52 44 5f 66 6e 20 28 49 44 45 4e 54 49 46 49 45 52 20 43 4f 4c 4f 4e e).!KEYWORD_fn.(IDENTIFIER.COLON
e8920 20 2f 20 21 28 49 44 45 4e 54 49 46 49 45 52 20 43 4f 4c 4f 4e 29 29 3f 20 54 79 70 65 45 78 70 ./.!(IDENTIFIER.COLON))?.TypeExp
e8940 72 20 42 79 74 65 41 6c 69 67 6e 3f 20 28 45 51 55 41 4c 20 45 78 70 72 29 3f 0a 0a 23 20 2a 2a r.ByteAlign?.(EQUAL.Expr)?..#.**
e8960 2a 20 42 6c 6f 63 6b 20 4c 65 76 65 6c 20 2a 2a 2a 0a 42 6c 6f 63 6b 53 74 61 74 65 6d 65 6e 74 *.Block.Level.***.BlockStatement
e8980 0a 20 20 20 20 26 6c 74 3b 2d 20 53 74 61 74 65 6d 65 6e 74 0a 20 20 20 20 20 2f 20 4b 45 59 57 .....&lt;-.Statement....../.KEYW
e89a0 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 0a 20 20 20 ORD_defer.BlockExprStatement....
e89c0 20 20 2f 20 4b 45 59 57 4f 52 44 5f 65 72 72 64 65 66 65 72 20 42 6c 6f 63 6b 45 78 70 72 53 74 ../.KEYWORD_errdefer.BlockExprSt
e89e0 61 74 65 6d 65 6e 74 0a 20 20 20 20 20 2f 20 21 45 78 70 72 53 74 61 74 65 6d 65 6e 74 20 28 4b atement....../.!ExprStatement.(K
e8a00 45 59 57 4f 52 44 5f 63 6f 6d 70 74 69 6d 65 20 21 42 6c 6f 63 6b 45 78 70 72 29 3f 20 56 61 72 EYWORD_comptime.!BlockExpr)?.Var
e8a20 41 73 73 69 67 6e 53 74 61 74 65 6d 65 6e 74 0a 0a 53 74 61 74 65 6d 65 6e 74 0a 20 20 20 20 26 AssignStatement..Statement.....&
e8a40 6c 74 3b 2d 20 45 78 70 72 53 74 61 74 65 6d 65 6e 74 0a 20 20 20 20 20 2f 20 4b 45 59 57 4f 52 lt;-.ExprStatement....../.KEYWOR
e8a60 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 0a 20 20 20 D_suspend.BlockExprStatement....
e8a80 20 20 2f 20 21 45 78 70 72 53 74 61 74 65 6d 65 6e 74 20 28 4b 45 59 57 4f 52 44 5f 63 6f 6d 70 ../.!ExprStatement.(KEYWORD_comp
e8aa0 74 69 6d 65 20 21 42 6c 6f 63 6b 45 78 70 72 29 3f 20 41 73 73 69 67 6e 45 78 70 72 20 53 45 4d time.!BlockExpr)?.AssignExpr.SEM
e8ac0 49 43 4f 4c 4f 4e 0a 0a 45 78 70 72 53 74 61 74 65 6d 65 6e 74 0a 20 20 20 20 26 6c 74 3b 2d 20 ICOLON..ExprStatement.....&lt;-.
e8ae0 49 66 53 74 61 74 65 6d 65 6e 74 0a 20 20 20 20 20 2f 20 4c 61 62 65 6c 65 64 53 74 61 74 65 6d IfStatement....../.LabeledStatem
e8b00 65 6e 74 0a 20 20 20 20 20 2f 20 4b 45 59 57 4f 52 44 5f 6e 6f 73 75 73 70 65 6e 64 20 42 6c 6f ent....../.KEYWORD_nosuspend.Blo
e8b20 63 6b 45 78 70 72 53 74 61 74 65 6d 65 6e 74 0a 20 20 20 20 20 2f 20 4b 45 59 57 4f 52 44 5f 63 ckExprStatement....../.KEYWORD_c
e8b40 6f 6d 70 74 69 6d 65 20 42 6c 6f 63 6b 45 78 70 72 0a 0a 49 66 53 74 61 74 65 6d 65 6e 74 0a 20 omptime.BlockExpr..IfStatement..
e8b60 20 20 20 26 6c 74 3b 2d 20 49 66 50 72 65 66 69 78 20 42 6c 6f 63 6b 45 78 70 72 20 28 20 4b 45 ...&lt;-.IfPrefix.BlockExpr.(.KE
e8b80 59 57 4f 52 44 5f 65 6c 73 65 20 50 61 79 6c 6f 61 64 3f 20 53 74 61 74 65 6d 65 6e 74 20 29 3f YWORD_else.Payload?.Statement.)?
e8ba0 0a 20 20 20 20 20 2f 20 49 66 50 72 65 66 69 78 20 21 42 6c 6f 63 6b 45 78 70 72 20 41 73 73 69 ....../.IfPrefix.!BlockExpr.Assi
e8bc0 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
e8be0 65 20 50 61 79 6c 6f 61 64 3f 20 53 74 61 74 65 6d 65 6e 74 20 29 0a 0a 4c 61 62 65 6c 65 64 53 e.Payload?.Statement.)..LabeledS
e8c00 74 61 74 65 6d 65 6e 74 20 26 6c 74 3b 2d 20 42 6c 6f 63 6b 4c 61 62 65 6c 3f 20 28 42 6c 6f 63 tatement.&lt;-.BlockLabel?.(Bloc
e8c20 6b 20 2f 20 4c 6f 6f 70 53 74 61 74 65 6d 65 6e 74 20 2f 20 53 77 69 74 63 68 45 78 70 72 29 0a k./.LoopStatement./.SwitchExpr).
e8c40 0a 4c 6f 6f 70 53 74 61 74 65 6d 65 6e 74 20 26 6c 74 3b 2d 20 4b 45 59 57 4f 52 44 5f 69 6e 6c .LoopStatement.&lt;-.KEYWORD_inl
e8c60 69 6e 65 3f 20 28 46 6f 72 53 74 61 74 65 6d 65 6e 74 20 2f 20 57 68 69 6c 65 53 74 61 74 65 6d ine?.(ForStatement./.WhileStatem
e8c80 65 6e 74 29 0a 0a 46 6f 72 53 74 61 74 65 6d 65 6e 74 0a 20 20 20 20 26 6c 74 3b 2d 20 46 6f 72 ent)..ForStatement.....&lt;-.For
e8ca0 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 65 20 Prefix.BlockExpr.(.KEYWORD_else.
e8cc0 53 74 61 74 65 6d 65 6e 74 20 2f 20 21 4b 45 59 57 4f 52 44 5f 65 6c 73 65 20 29 0a 20 20 20 20 Statement./.!KEYWORD_else.).....
e8ce0 20 2f 20 46 6f 72 50 72 65 66 69 78 20 21 42 6c 6f 63 6b 45 78 70 72 20 41 73 73 69 67 6e 45 78 ./.ForPrefix.!BlockExpr.AssignEx
e8d00 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 53 74 pr.(.SEMICOLON./.KEYWORD_else.St
e8d20 61 74 65 6d 65 6e 74 20 29 0a 0a 57 68 69 6c 65 53 74 61 74 65 6d 65 6e 74 0a 20 20 20 20 26 6c atement.)..WhileStatement.....&l
e8d40 74 3b 2d 20 57 68 69 6c 65 50 72 65 66 69 78 20 42 6c 6f 63 6b 45 78 70 72 20 28 20 4b 45 59 57 t;-.WhilePrefix.BlockExpr.(.KEYW
e8d60 4f 52 44 5f 65 6c 73 65 20 50 61 79 6c 6f 61 64 3f 20 53 74 61 74 65 6d 65 6e 74 20 29 3f 0a 20 ORD_else.Payload?.Statement.)?..
e8d80 20 20 20 20 2f 20 57 68 69 6c 65 50 72 65 66 69 78 20 21 42 6c 6f 63 6b 45 78 70 72 20 41 73 73 ..../.WhilePrefix.!BlockExpr.Ass
e8da0 69 67 6e 45 78 70 72 20 28 20 53 45 4d 49 43 4f 4c 4f 4e 20 2f 20 4b 45 59 57 4f 52 44 5f 65 6c ignExpr.(.SEMICOLON./.KEYWORD_el
e8dc0 73 65 20 50 61 79 6c 6f 61 64 3f 20 53 74 61 74 65 6d 65 6e 74 20 29 0a 0a 42 6c 6f 63 6b 45 78 se.Payload?.Statement.)..BlockEx
e8de0 70 72 53 74 61 74 65 6d 65 6e 74 0a 20 20 20 20 26 6c 74 3b 2d 20 42 6c 6f 63 6b 45 78 70 72 0a prStatement.....&lt;-.BlockExpr.
e8e00 20 20 20 20 20 2f 20 21 42 6c 6f 63 6b 45 78 70 72 20 41 73 73 69 67 6e 45 78 70 72 20 53 45 4d ...../.!BlockExpr.AssignExpr.SEM
e8e20 49 43 4f 4c 4f 4e 0a 0a 42 6c 6f 63 6b 45 78 70 72 20 26 6c 74 3b 2d 20 42 6c 6f 63 6b 4c 61 62 ICOLON..BlockExpr.&lt;-.BlockLab
e8e40 65 6c 3f 20 42 6c 6f 63 6b 0a 0a 23 20 41 6e 20 61 73 73 69 67 6e 6d 65 6e 74 20 6f 72 20 61 20 el?.Block..#.An.assignment.or.a.
e8e60 64 65 73 74 72 75 63 74 75 72 65 20 77 68 6f 73 65 20 4c 48 53 20 61 72 65 20 61 6c 6c 20 6c 76 destructure.whose.LHS.are.all.lv
e8e80 61 6c 75 65 20 65 78 70 72 65 73 73 69 6f 6e 73 20 6f 72 20 76 61 72 69 61 62 6c 65 20 64 65 63 alue.expressions.or.variable.dec
e8ea0 6c 61 72 61 74 69 6f 6e 73 2e 0a 56 61 72 41 73 73 69 67 6e 53 74 61 74 65 6d 65 6e 74 20 26 6c larations..VarAssignStatement.&l
e8ec0 74 3b 2d 20 28 56 61 72 44 65 63 6c 50 72 6f 74 6f 20 2f 20 45 78 70 72 29 20 28 43 4f 4d 4d 41 t;-.(VarDeclProto./.Expr).(COMMA
e8ee0 20 28 56 61 72 44 65 63 6c 50 72 6f 74 6f 20 2f 20 45 78 70 72 29 29 2a 20 45 51 55 41 4c 20 45 .(VarDeclProto./.Expr))*.EQUAL.E
e8f00 78 70 72 20 53 45 4d 49 43 4f 4c 4f 4e 0a 0a 23 20 2a 2a 2a 20 45 78 70 72 65 73 73 69 6f 6e 20 xpr.SEMICOLON..#.***.Expression.
e8f20 4c 65 76 65 6c 20 2a 2a 2a 0a 0a 23 20 41 6e 20 61 73 73 69 67 6e 6d 65 6e 74 20 6f 72 20 61 20 Level.***..#.An.assignment.or.a.
e8f40 64 65 73 74 72 75 63 74 75 72 65 20 77 68 6f 73 65 20 4c 48 53 20 61 72 65 20 61 6c 6c 20 6c 76 destructure.whose.LHS.are.all.lv
e8f60 61 6c 75 65 20 65 78 70 72 65 73 73 69 6f 6e 73 2e 0a 41 73 73 69 67 6e 45 78 70 72 20 26 6c 74 alue.expressions..AssignExpr.&lt
e8f80 3b 2d 20 45 78 70 72 20 28 41 73 73 69 67 6e 4f 70 20 45 78 70 72 20 2f 20 28 43 4f 4d 4d 41 20 ;-.Expr.(AssignOp.Expr./.(COMMA.
e8fa0 45 78 70 72 29 2b 20 45 51 55 41 4c 20 45 78 70 72 29 3f 0a 0a 53 69 6e 67 6c 65 41 73 73 69 67 Expr)+.EQUAL.Expr)?..SingleAssig
e8fc0 6e 45 78 70 72 20 26 6c 74 3b 2d 20 45 78 70 72 20 28 41 73 73 69 67 6e 4f 70 20 45 78 70 72 29 nExpr.&lt;-.Expr.(AssignOp.Expr)
e8fe0 3f 0a 0a 45 78 70 72 20 26 6c 74 3b 2d 20 42 6f 6f 6c 4f 72 45 78 70 72 0a 0a 42 6f 6f 6c 4f 72 ?..Expr.&lt;-.BoolOrExpr..BoolOr
e9000 45 78 70 72 20 26 6c 74 3b 2d 20 42 6f 6f 6c 41 6e 64 45 78 70 72 20 28 4b 45 59 57 4f 52 44 5f Expr.&lt;-.BoolAndExpr.(KEYWORD_
e9020 6f 72 20 42 6f 6f 6c 41 6e 64 45 78 70 72 29 2a 0a 0a 42 6f 6f 6c 41 6e 64 45 78 70 72 20 26 6c or.BoolAndExpr)*..BoolAndExpr.&l
e9040 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 64 20 43 6f 6d t;-.CompareExpr.(KEYWORD_and.Com
e9060 70 61 72 65 45 78 70 72 29 2a 0a 0a 43 6f 6d 70 61 72 65 45 78 70 72 20 26 6c 74 3b 2d 20 42 69 pareExpr)*..CompareExpr.&lt;-.Bi
e9080 74 77 69 73 65 45 78 70 72 20 28 43 6f 6d 70 61 72 65 4f 70 20 42 69 74 77 69 73 65 45 78 70 72 twiseExpr.(CompareOp.BitwiseExpr
e90a0 29 3f 0a 0a 42 69 74 77 69 73 65 45 78 70 72 20 26 6c 74 3b 2d 20 42 69 74 53 68 69 66 74 45 78 )?..BitwiseExpr.&lt;-.BitShiftEx
e90c0 70 72 20 28 42 69 74 77 69 73 65 4f 70 20 42 69 74 53 68 69 66 74 45 78 70 72 29 2a 0a 0a 42 69 pr.(BitwiseOp.BitShiftExpr)*..Bi
e90e0 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 42 tShiftExpr.&lt;-.AdditionExpr.(B
e9100 69 74 53 68 69 66 74 4f 70 20 41 64 64 69 74 69 6f 6e 45 78 70 72 29 2a 0a 0a 41 64 64 69 74 69 itShiftOp.AdditionExpr)*..Additi
e9120 6f 6e 45 78 70 72 20 26 6c 74 3b 2d 20 4d 75 6c 74 69 70 6c 79 45 78 70 72 20 28 41 64 64 69 74 onExpr.&lt;-.MultiplyExpr.(Addit
e9140 69 6f 6e 4f 70 20 4d 75 6c 74 69 70 6c 79 45 78 70 72 29 2a 0a 0a 4d 75 6c 74 69 70 6c 79 45 78 ionOp.MultiplyExpr)*..MultiplyEx
e9160 70 72 20 26 6c 74 3b 2d 20 50 72 65 66 69 78 45 78 70 72 20 28 4d 75 6c 74 69 70 6c 79 4f 70 20 pr.&lt;-.PrefixExpr.(MultiplyOp.
e9180 50 72 65 66 69 78 45 78 70 72 29 2a 0a 0a 50 72 65 66 69 78 45 78 70 72 20 26 6c 74 3b 2d 20 50 PrefixExpr)*..PrefixExpr.&lt;-.P
e91a0 72 65 66 69 78 4f 70 2a 20 50 72 69 6d 61 72 79 45 78 70 72 0a 0a 50 72 69 6d 61 72 79 45 78 70 refixOp*.PrimaryExpr..PrimaryExp
e91c0 72 0a 20 20 20 20 26 6c 74 3b 2d 20 41 73 6d 45 78 70 72 0a 20 20 20 20 20 2f 20 49 66 45 78 70 r.....&lt;-.AsmExpr....../.IfExp
e91e0 72 0a 20 20 20 20 20 2f 20 4b 45 59 57 4f 52 44 5f 62 72 65 61 6b 20 28 42 72 65 61 6b 4c 61 62 r....../.KEYWORD_break.(BreakLab
e9200 65 6c 20 2f 20 21 42 72 65 61 6b 4c 61 62 65 6c 29 20 28 45 78 70 72 20 21 45 78 70 72 53 75 66 el./.!BreakLabel).(Expr.!ExprSuf
e9220 66 69 78 20 2f 20 21 53 69 6e 67 6c 65 50 74 72 54 79 70 65 53 74 61 72 74 29 0a 20 20 20 20 20 fix./.!SinglePtrTypeStart)......
e9240 2f 20 4b 45 59 57 4f 52 44 5f 63 6f 6d 70 74 69 6d 65 20 45 78 70 72 20 21 45 78 70 72 53 75 66 /.KEYWORD_comptime.Expr.!ExprSuf
e9260 66 69 78 0a 20 20 20 20 20 2f 20 4b 45 59 57 4f 52 44 5f 6e 6f 73 75 73 70 65 6e 64 20 45 78 70 fix....../.KEYWORD_nosuspend.Exp
e9280 72 20 21 45 78 70 72 53 75 66 66 69 78 0a 20 20 20 20 20 2f 20 4b 45 59 57 4f 52 44 5f 63 6f 6e r.!ExprSuffix....../.KEYWORD_con
e92a0 74 69 6e 75 65 20 28 42 72 65 61 6b 4c 61 62 65 6c 20 2f 20 21 42 72 65 61 6b 4c 61 62 65 6c 29 tinue.(BreakLabel./.!BreakLabel)
e92c0 20 28 45 78 70 72 20 21 45 78 70 72 53 75 66 66 69 78 20 2f 20 21 53 69 6e 67 6c 65 50 74 72 54 .(Expr.!ExprSuffix./.!SinglePtrT
e92e0 79 70 65 53 74 61 72 74 29 0a 20 20 20 20 20 2f 20 4b 45 59 57 4f 52 44 5f 72 65 73 75 6d 65 20 ypeStart)....../.KEYWORD_resume.
e9300 45 78 70 72 20 21 45 78 70 72 53 75 66 66 69 78 0a 20 20 20 20 20 2f 20 4b 45 59 57 4f 52 44 5f Expr.!ExprSuffix....../.KEYWORD_
e9320 72 65 74 75 72 6e 20 28 45 78 70 72 20 21 45 78 70 72 53 75 66 66 69 78 20 2f 20 21 53 69 6e 67 return.(Expr.!ExprSuffix./.!Sing
e9340 6c 65 50 74 72 54 79 70 65 53 74 61 72 74 29 0a 20 20 20 20 20 2f 20 42 6c 6f 63 6b 4c 61 62 65 lePtrTypeStart)....../.BlockLabe
e9360 6c 3f 20 4c 6f 6f 70 45 78 70 72 0a 20 20 20 20 20 2f 20 42 6c 6f 63 6b 0a 20 20 20 20 20 2f 20 l?.LoopExpr....../.Block....../.
e9380 43 75 72 6c 79 53 75 66 66 69 78 45 78 70 72 0a 0a 49 66 45 78 70 72 20 26 6c 74 3b 2d 20 49 66 CurlySuffixExpr..IfExpr.&lt;-.If
e93a0 50 72 65 66 69 78 20 45 78 70 72 20 28 4b 45 59 57 4f 52 44 5f 65 6c 73 65 20 50 61 79 6c 6f 61 Prefix.Expr.(KEYWORD_else.Payloa
e93c0 64 3f 20 45 78 70 72 29 3f 20 21 45 78 70 72 53 75 66 66 69 78 0a 0a 42 6c 6f 63 6b 20 26 6c 74 d?.Expr)?.!ExprSuffix..Block.&lt
e93e0 3b 2d 20 4c 42 52 41 43 45 20 42 6c 6f 63 6b 53 74 61 74 65 6d 65 6e 74 2a 20 52 42 52 41 43 45 ;-.LBRACE.BlockStatement*.RBRACE
e9400 0a 0a 4c 6f 6f 70 45 78 70 72 20 26 6c 74 3b 2d 20 4b 45 59 57 4f 52 44 5f 69 6e 6c 69 6e 65 3f ..LoopExpr.&lt;-.KEYWORD_inline?
e9420 20 28 46 6f 72 45 78 70 72 20 2f 20 57 68 69 6c 65 45 78 70 72 29 0a 0a 46 6f 72 45 78 70 72 20 .(ForExpr./.WhileExpr)..ForExpr.
e9440 26 6c 74 3b 2d 20 46 6f 72 50 72 65 66 69 78 20 45 78 70 72 20 28 4b 45 59 57 4f 52 44 5f 65 6c &lt;-.ForPrefix.Expr.(KEYWORD_el
e9460 73 65 20 45 78 70 72 20 2f 20 21 4b 45 59 57 4f 52 44 5f 65 6c 73 65 29 20 21 45 78 70 72 53 75 se.Expr./.!KEYWORD_else).!ExprSu
e9480 66 66 69 78 0a 0a 57 68 69 6c 65 45 78 70 72 20 26 6c 74 3b 2d 20 57 68 69 6c 65 50 72 65 66 69 ffix..WhileExpr.&lt;-.WhilePrefi
e94a0 78 20 45 78 70 72 20 28 4b 45 59 57 4f 52 44 5f 65 6c 73 65 20 50 61 79 6c 6f 61 64 3f 20 45 78 x.Expr.(KEYWORD_else.Payload?.Ex
e94c0 70 72 29 3f 20 21 45 78 70 72 53 75 66 66 69 78 0a 0a 43 75 72 6c 79 53 75 66 66 69 78 45 78 70 pr)?.!ExprSuffix..CurlySuffixExp
e94e0 72 20 26 6c 74 3b 2d 20 54 79 70 65 45 78 70 72 20 49 6e 69 74 4c 69 73 74 3f 0a 0a 49 6e 69 74 r.&lt;-.TypeExpr.InitList?..Init
e9500 4c 69 73 74 0a 20 20 20 20 26 6c 74 3b 2d 20 4c 42 52 41 43 45 20 46 69 65 6c 64 49 6e 69 74 20 List.....&lt;-.LBRACE.FieldInit.
e9520 28 43 4f 4d 4d 41 20 46 69 65 6c 64 49 6e 69 74 29 2a 20 43 4f 4d 4d 41 3f 20 52 42 52 41 43 45 (COMMA.FieldInit)*.COMMA?.RBRACE
e9540 0a 20 20 20 20 20 2f 20 4c 42 52 41 43 45 20 45 78 70 72 20 28 43 4f 4d 4d 41 20 45 78 70 72 29 ....../.LBRACE.Expr.(COMMA.Expr)
e9560 2a 20 43 4f 4d 4d 41 3f 20 52 42 52 41 43 45 0a 20 20 20 20 20 2f 20 4c 42 52 41 43 45 20 52 42 *.COMMA?.RBRACE....../.LBRACE.RB
e9580 52 41 43 45 0a 0a 54 79 70 65 45 78 70 72 20 26 6c 74 3b 2d 20 50 72 65 66 69 78 54 79 70 65 4f RACE..TypeExpr.&lt;-.PrefixTypeO
e95a0 70 2a 20 45 72 72 6f 72 55 6e 69 6f 6e 45 78 70 72 0a 0a 45 72 72 6f 72 55 6e 69 6f 6e 45 78 70 p*.ErrorUnionExpr..ErrorUnionExp
e95c0 72 20 26 6c 74 3b 2d 20 53 75 66 66 69 78 45 78 70 72 20 28 45 58 43 4c 41 4d 41 54 49 4f 4e 4d r.&lt;-.SuffixExpr.(EXCLAMATIONM
e95e0 41 52 4b 20 54 79 70 65 45 78 70 72 29 3f 0a 0a 53 75 66 66 69 78 45 78 70 72 0a 20 20 20 20 26 ARK.TypeExpr)?..SuffixExpr.....&
e9600 6c 74 3b 2d 20 50 72 69 6d 61 72 79 54 79 70 65 45 78 70 72 20 28 53 75 66 66 69 78 4f 70 20 2f lt;-.PrimaryTypeExpr.(SuffixOp./
e9620 20 46 6e 43 61 6c 6c 41 72 67 75 6d 65 6e 74 73 29 2a 0a 0a 50 72 69 6d 61 72 79 54 79 70 65 45 .FnCallArguments)*..PrimaryTypeE
e9640 78 70 72 0a 20 20 20 20 26 6c 74 3b 2d 20 42 55 49 4c 54 49 4e 49 44 45 4e 54 49 46 49 45 52 20 xpr.....&lt;-.BUILTINIDENTIFIER.
e9660 46 6e 43 61 6c 6c 41 72 67 75 6d 65 6e 74 73 0a 20 20 20 20 20 2f 20 43 48 41 52 5f 4c 49 54 45 FnCallArguments....../.CHAR_LITE
e9680 52 41 4c 0a 20 20 20 20 20 2f 20 43 6f 6e 74 61 69 6e 65 72 44 65 63 6c 0a 20 20 20 20 20 2f 20 RAL....../.ContainerDecl....../.
e96a0 44 4f 54 20 49 44 45 4e 54 49 46 49 45 52 0a 20 20 20 20 20 2f 20 44 4f 54 20 49 6e 69 74 4c 69 DOT.IDENTIFIER....../.DOT.InitLi
e96c0 73 74 0a 20 20 20 20 20 2f 20 45 72 72 6f 72 53 65 74 44 65 63 6c 0a 20 20 20 20 20 2f 20 46 4c st....../.ErrorSetDecl....../.FL
e96e0 4f 41 54 0a 20 20 20 20 20 2f 20 46 6e 50 72 6f 74 6f 0a 20 20 20 20 20 2f 20 47 72 6f 75 70 65 OAT....../.FnProto....../.Groupe
e9700 64 45 78 70 72 0a 20 20 20 20 20 2f 20 4c 61 62 65 6c 65 64 54 79 70 65 45 78 70 72 0a 20 20 20 dExpr....../.LabeledTypeExpr....
e9720 20 20 2f 20 49 44 45 4e 54 49 46 49 45 52 20 21 28 43 4f 4c 4f 4e 20 4c 61 62 65 6c 61 62 6c 65 ../.IDENTIFIER.!(COLON.Labelable
e9740 45 78 70 72 29 0a 20 20 20 20 20 2f 20 49 66 54 79 70 65 45 78 70 72 0a 20 20 20 20 20 2f 20 49 Expr)....../.IfTypeExpr....../.I
e9760 4e 54 45 47 45 52 0a 20 20 20 20 20 2f 20 4b 45 59 57 4f 52 44 5f 63 6f 6d 70 74 69 6d 65 20 54 NTEGER....../.KEYWORD_comptime.T
e9780 79 70 65 45 78 70 72 20 21 45 78 70 72 53 75 66 66 69 78 0a 20 20 20 20 20 2f 20 4b 45 59 57 4f ypeExpr.!ExprSuffix....../.KEYWO
e97a0 52 44 5f 65 72 72 6f 72 20 44 4f 54 20 49 44 45 4e 54 49 46 49 45 52 0a 20 20 20 20 20 2f 20 4b RD_error.DOT.IDENTIFIER....../.K
e97c0 45 59 57 4f 52 44 5f 61 6e 79 66 72 61 6d 65 0a 20 20 20 20 20 2f 20 4b 45 59 57 4f 52 44 5f 75 EYWORD_anyframe....../.KEYWORD_u
e97e0 6e 72 65 61 63 68 61 62 6c 65 0a 20 20 20 20 20 2f 20 53 54 52 49 4e 47 4c 49 54 45 52 41 4c 0a nreachable....../.STRINGLITERAL.
e9800 0a 43 6f 6e 74 61 69 6e 65 72 44 65 63 6c 20 26 6c 74 3b 2d 20 28 4b 45 59 57 4f 52 44 5f 65 78 .ContainerDecl.&lt;-.(KEYWORD_ex
e9820 74 65 72 6e 20 2f 20 4b 45 59 57 4f 52 44 5f 70 61 63 6b 65 64 29 3f 20 43 6f 6e 74 61 69 6e 65 tern./.KEYWORD_packed)?.Containe
e9840 72 44 65 63 6c 41 75 74 6f 0a 0a 45 72 72 6f 72 53 65 74 44 65 63 6c 20 26 6c 74 3b 2d 20 4b 45 rDeclAuto..ErrorSetDecl.&lt;-.KE
e9860 59 57 4f 52 44 5f 65 72 72 6f 72 20 4c 42 52 41 43 45 20 49 64 65 6e 74 69 66 69 65 72 4c 69 73 YWORD_error.LBRACE.IdentifierLis
e9880 74 20 52 42 52 41 43 45 0a 0a 47 72 6f 75 70 65 64 45 78 70 72 20 26 6c 74 3b 2d 20 4c 50 41 52 t.RBRACE..GroupedExpr.&lt;-.LPAR
e98a0 45 4e 20 45 78 70 72 20 52 50 41 52 45 4e 0a 0a 49 66 54 79 70 65 45 78 70 72 20 26 6c 74 3b 2d EN.Expr.RPAREN..IfTypeExpr.&lt;-
e98c0 20 49 66 50 72 65 66 69 78 20 54 79 70 65 45 78 70 72 20 28 4b 45 59 57 4f 52 44 5f 65 6c 73 65 .IfPrefix.TypeExpr.(KEYWORD_else
e98e0 20 50 61 79 6c 6f 61 64 3f 20 54 79 70 65 45 78 70 72 29 3f 20 21 45 78 70 72 53 75 66 66 69 78 .Payload?.TypeExpr)?.!ExprSuffix
e9900 0a 0a 4c 61 62 65 6c 65 64 54 79 70 65 45 78 70 72 0a 20 20 20 20 26 6c 74 3b 2d 20 42 6c 6f 63 ..LabeledTypeExpr.....&lt;-.Bloc
e9920 6b 4c 61 62 65 6c 20 42 6c 6f 63 6b 0a 20 20 20 20 20 2f 20 42 6c 6f 63 6b 4c 61 62 65 6c 3f 20 kLabel.Block....../.BlockLabel?.
e9940 4c 6f 6f 70 54 79 70 65 45 78 70 72 0a 20 20 20 20 20 2f 20 42 6c 6f 63 6b 4c 61 62 65 6c 3f 20 LoopTypeExpr....../.BlockLabel?.
e9960 53 77 69 74 63 68 45 78 70 72 0a 0a 4c 6f 6f 70 54 79 70 65 45 78 70 72 20 26 6c 74 3b 2d 20 4b SwitchExpr..LoopTypeExpr.&lt;-.K
e9980 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 57 68 EYWORD_inline?.(ForTypeExpr./.Wh
e99a0 69 6c 65 54 79 70 65 45 78 70 72 29 0a 0a 46 6f 72 54 79 70 65 45 78 70 72 20 26 6c 74 3b 2d 20 ileTypeExpr)..ForTypeExpr.&lt;-.
e99c0 46 6f 72 50 72 65 66 69 78 20 54 79 70 65 45 78 70 72 20 28 4b 45 59 57 4f 52 44 5f 65 6c 73 65 ForPrefix.TypeExpr.(KEYWORD_else
e99e0 20 54 79 70 65 45 78 70 72 20 2f 20 21 4b 45 59 57 4f 52 44 5f 65 6c 73 65 29 20 21 45 78 70 72 .TypeExpr./.!KEYWORD_else).!Expr
e9a00 53 75 66 66 69 78 0a 0a 57 68 69 6c 65 54 79 70 65 45 78 70 72 20 26 6c 74 3b 2d 20 57 68 69 6c Suffix..WhileTypeExpr.&lt;-.Whil
e9a20 65 50 72 65 66 69 78 20 54 79 70 65 45 78 70 72 20 28 4b 45 59 57 4f 52 44 5f 65 6c 73 65 20 50 ePrefix.TypeExpr.(KEYWORD_else.P
e9a40 61 79 6c 6f 61 64 3f 20 54 79 70 65 45 78 70 72 29 3f 20 21 45 78 70 72 53 75 66 66 69 78 0a 0a ayload?.TypeExpr)?.!ExprSuffix..
e9a60 53 77 69 74 63 68 45 78 70 72 20 26 6c 74 3b 2d 20 4b 45 59 57 4f 52 44 5f 73 77 69 74 63 68 20 SwitchExpr.&lt;-.KEYWORD_switch.
e9a80 4c 50 41 52 45 4e 20 45 78 70 72 20 52 50 41 52 45 4e 20 4c 42 52 41 43 45 20 53 77 69 74 63 68 LPAREN.Expr.RPAREN.LBRACE.Switch
e9aa0 50 72 6f 6e 67 4c 69 73 74 20 52 42 52 41 43 45 0a 0a 23 20 2a 2a 2a 20 41 73 73 65 6d 62 6c 79 ProngList.RBRACE..#.***.Assembly
e9ac0 20 2a 2a 2a 0a 41 73 6d 45 78 70 72 20 26 6c 74 3b 2d 20 4b 45 59 57 4f 52 44 5f 61 73 6d 20 4b .***.AsmExpr.&lt;-.KEYWORD_asm.K
e9ae0 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 72 20 41 73 6d EYWORD_volatile?.LPAREN.Expr.Asm
e9b00 4f 75 74 70 75 74 3f 20 52 50 41 52 45 4e 0a 0a 41 73 6d 4f 75 74 70 75 74 20 26 6c 74 3b 2d 20 Output?.RPAREN..AsmOutput.&lt;-.
e9b20 43 4f 4c 4f 4e 20 41 73 6d 4f 75 74 70 75 74 4c 69 73 74 20 41 73 6d 49 6e 70 75 74 3f 0a 0a 41 COLON.AsmOutputList.AsmInput?..A
e9b40 73 6d 4f 75 74 70 75 74 49 74 65 6d 20 26 6c 74 3b 2d 20 4c 42 52 41 43 4b 45 54 20 49 44 45 4e smOutputItem.&lt;-.LBRACKET.IDEN
e9b60 54 49 46 49 45 52 20 52 42 52 41 43 4b 45 54 20 53 54 52 49 4e 47 4c 49 54 45 52 41 4c 53 49 4e TIFIER.RBRACKET.STRINGLITERALSIN
e9b80 47 4c 45 20 4c 50 41 52 45 4e 20 28 4d 49 4e 55 53 52 41 52 52 4f 57 20 54 79 70 65 45 78 70 72 GLE.LPAREN.(MINUSRARROW.TypeExpr
e9ba0 20 2f 20 49 44 45 4e 54 49 46 49 45 52 29 20 52 50 41 52 45 4e 0a 0a 41 73 6d 49 6e 70 75 74 20 ./.IDENTIFIER).RPAREN..AsmInput.
e9bc0 26 6c 74 3b 2d 20 43 4f 4c 4f 4e 20 41 73 6d 49 6e 70 75 74 4c 69 73 74 20 41 73 6d 43 6c 6f 62 &lt;-.COLON.AsmInputList.AsmClob
e9be0 62 65 72 73 3f 0a 0a 41 73 6d 49 6e 70 75 74 49 74 65 6d 20 26 6c 74 3b 2d 20 4c 42 52 41 43 4b bers?..AsmInputItem.&lt;-.LBRACK
e9c00 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 49 4e 47 4c 49 54 ET.IDENTIFIER.RBRACKET.STRINGLIT
e9c20 45 52 41 4c 53 49 4e 47 4c 45 20 4c 50 41 52 45 4e 20 45 78 70 72 20 52 50 41 52 45 4e 0a 0a 41 ERALSINGLE.LPAREN.Expr.RPAREN..A
e9c40 73 6d 43 6c 6f 62 62 65 72 73 20 26 6c 74 3b 2d 20 43 4f 4c 4f 4e 20 45 78 70 72 0a 0a 23 20 2a smClobbers.&lt;-.COLON.Expr..#.*
e9c60 2a 2a 20 48 65 6c 70 65 72 20 67 72 61 6d 6d 61 72 20 2a 2a 2a 0a 42 72 65 61 6b 4c 61 62 65 6c **.Helper.grammar.***.BreakLabel
e9c80 20 26 6c 74 3b 2d 20 43 4f 4c 4f 4e 20 49 44 45 4e 54 49 46 49 45 52 0a 0a 42 6c 6f 63 6b 4c 61 .&lt;-.COLON.IDENTIFIER..BlockLa
e9ca0 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 0a 0a 46 69 65 6c bel.&lt;-.IDENTIFIER.COLON..Fiel
e9cc0 64 49 6e 69 74 20 26 6c 74 3b 2d 20 44 4f 54 20 49 44 45 4e 54 49 46 49 45 52 20 45 51 55 41 4c dInit.&lt;-.DOT.IDENTIFIER.EQUAL
e9ce0 20 45 78 70 72 0a 0a 57 68 69 6c 65 43 6f 6e 74 69 6e 75 65 45 78 70 72 20 26 6c 74 3b 2d 20 43 .Expr..WhileContinueExpr.&lt;-.C
e9d00 4f 4c 4f 4e 20 4c 50 41 52 45 4e 20 41 73 73 69 67 6e 45 78 70 72 20 52 50 41 52 45 4e 0a 0a 4c OLON.LPAREN.AssignExpr.RPAREN..L
e9d20 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 63 inkSection.&lt;-.KEYWORD_linksec
e9d40 74 69 6f 6e 20 4c 50 41 52 45 4e 20 45 78 70 72 20 52 50 41 52 45 4e 0a 0a 41 64 64 72 53 70 61 tion.LPAREN.Expr.RPAREN..AddrSpa
e9d60 63 65 20 26 6c 74 3b 2d 20 4b 45 59 57 4f 52 44 5f 61 64 64 72 73 70 61 63 65 20 4c 50 41 52 45 ce.&lt;-.KEYWORD_addrspace.LPARE
e9d80 4e 20 45 78 70 72 20 52 50 41 52 45 4e 0a 0a 23 20 46 6e 20 73 70 65 63 69 66 69 63 0a 43 61 6c N.Expr.RPAREN..#.Fn.specific.Cal
e9da0 6c 43 6f 6e 76 20 26 6c 74 3b 2d 20 4b 45 59 57 4f 52 44 5f 63 61 6c 6c 63 6f 6e 76 20 4c 50 41 lConv.&lt;-.KEYWORD_callconv.LPA
e9dc0 52 45 4e 20 45 78 70 72 20 52 50 41 52 45 4e 0a 0a 50 61 72 61 6d 44 65 63 6c 20 26 6c 74 3b 2d REN.Expr.RPAREN..ParamDecl.&lt;-
e9de0 20 64 6f 63 5f 63 6f 6d 6d 65 6e 74 3f 20 28 4b 45 59 57 4f 52 44 5f 6e 6f 61 6c 69 61 73 20 2f .doc_comment?.(KEYWORD_noalias./
e9e00 20 4b 45 59 57 4f 52 44 5f 63 6f 6d 70 74 69 6d 65 20 2f 20 21 4b 45 59 57 4f 52 44 5f 63 6f 6d .KEYWORD_comptime./.!KEYWORD_com
e9e20 70 74 69 6d 65 29 20 28 49 44 45 4e 54 49 46 49 45 52 20 43 4f 4c 4f 4e 20 2f 20 21 28 49 44 45 ptime).(IDENTIFIER.COLON./.!(IDE
e9e40 4e 54 49 46 49 45 52 5f 43 4f 4c 4f 4e 29 29 20 50 61 72 61 6d 54 79 70 65 0a 0a 50 61 72 61 6d NTIFIER_COLON)).ParamType..Param
e9e60 54 79 70 65 0a 20 20 20 20 26 6c 74 3b 2d 20 4b 45 59 57 4f 52 44 5f 61 6e 79 74 79 70 65 0a 20 Type.....&lt;-.KEYWORD_anytype..
e9e80 20 20 20 20 2f 20 54 79 70 65 45 78 70 72 0a 0a 23 20 43 6f 6e 74 72 6f 6c 20 66 6c 6f 77 20 70 ..../.TypeExpr..#.Control.flow.p
e9ea0 72 65 66 69 78 65 73 0a 49 66 50 72 65 66 69 78 20 26 6c 74 3b 2d 20 4b 45 59 57 4f 52 44 5f 69 refixes.IfPrefix.&lt;-.KEYWORD_i
e9ec0 66 20 4c 50 41 52 45 4e 20 45 78 70 72 20 52 50 41 52 45 4e 20 50 74 72 50 61 79 6c 6f 61 64 3f f.LPAREN.Expr.RPAREN.PtrPayload?
e9ee0 0a 0a 57 68 69 6c 65 50 72 65 66 69 78 20 26 6c 74 3b 2d 20 4b 45 59 57 4f 52 44 5f 77 68 69 6c ..WhilePrefix.&lt;-.KEYWORD_whil
e9f00 65 20 4c 50 41 52 45 4e 20 45 78 70 72 20 52 50 41 52 45 4e 20 50 74 72 50 61 79 6c 6f 61 64 3f e.LPAREN.Expr.RPAREN.PtrPayload?
e9f20 20 57 68 69 6c 65 43 6f 6e 74 69 6e 75 65 45 78 70 72 3f 0a 0a 46 6f 72 50 72 65 66 69 78 20 26 .WhileContinueExpr?..ForPrefix.&
e9f40 6c 74 3b 2d 20 4b 45 59 57 4f 52 44 5f 66 6f 72 20 4c 50 41 52 45 4e 20 46 6f 72 41 72 67 75 6d lt;-.KEYWORD_for.LPAREN.ForArgum
e9f60 65 6e 74 73 4c 69 73 74 20 52 50 41 52 45 4e 20 50 74 72 4c 69 73 74 50 61 79 6c 6f 61 64 0a 0a entsList.RPAREN.PtrListPayload..
e9f80 23 20 50 61 79 6c 6f 61 64 73 0a 50 61 79 6c 6f 61 64 20 26 6c 74 3b 2d 20 50 49 50 45 20 49 44 #.Payloads.Payload.&lt;-.PIPE.ID
e9fa0 45 4e 54 49 46 49 45 52 20 50 49 50 45 0a 0a 50 74 72 50 61 79 6c 6f 61 64 20 26 6c 74 3b 2d 20 ENTIFIER.PIPE..PtrPayload.&lt;-.
e9fc0 50 49 50 45 20 41 53 54 45 52 49 53 4b 3f 20 49 44 45 4e 54 49 46 49 45 52 20 50 49 50 45 0a 0a PIPE.ASTERISK?.IDENTIFIER.PIPE..
e9fe0 50 74 72 49 6e 64 65 78 50 61 79 6c 6f 61 64 20 26 6c 74 3b 2d 20 50 49 50 45 20 41 53 54 45 52 PtrIndexPayload.&lt;-.PIPE.ASTER
ea000 49 53 4b 3f 20 49 44 45 4e 54 49 46 49 45 52 20 28 43 4f 4d 4d 41 20 49 44 45 4e 54 49 46 49 45 ISK?.IDENTIFIER.(COMMA.IDENTIFIE
ea020 52 29 3f 20 50 49 50 45 0a 0a 50 74 72 4c 69 73 74 50 61 79 6c 6f 61 64 20 26 6c 74 3b 2d 20 50 R)?.PIPE..PtrListPayload.&lt;-.P
ea040 49 50 45 20 41 53 54 45 52 49 53 4b 3f 20 49 44 45 4e 54 49 46 49 45 52 20 28 43 4f 4d 4d 41 20 IPE.ASTERISK?.IDENTIFIER.(COMMA.
ea060 41 53 54 45 52 49 53 4b 3f 20 49 44 45 4e 54 49 46 49 45 52 29 2a 20 43 4f 4d 4d 41 3f 20 50 49 ASTERISK?.IDENTIFIER)*.COMMA?.PI
ea080 50 45 0a 0a 23 20 53 77 69 74 63 68 20 73 70 65 63 69 66 69 63 0a 53 77 69 74 63 68 50 72 6f 6e PE..#.Switch.specific.SwitchPron
ea0a0 67 20 26 6c 74 3b 2d 20 4b 45 59 57 4f 52 44 5f 69 6e 6c 69 6e 65 3f 20 53 77 69 74 63 68 43 61 g.&lt;-.KEYWORD_inline?.SwitchCa
ea0c0 73 65 20 45 51 55 41 4c 52 41 52 52 4f 57 20 50 74 72 49 6e 64 65 78 50 61 79 6c 6f 61 64 3f 20 se.EQUALRARROW.PtrIndexPayload?.
ea0e0 53 69 6e 67 6c 65 41 73 73 69 67 6e 45 78 70 72 0a 0a 53 77 69 74 63 68 43 61 73 65 0a 20 20 20 SingleAssignExpr..SwitchCase....
ea100 20 26 6c 74 3b 2d 20 53 77 69 74 63 68 49 74 65 6d 20 28 43 4f 4d 4d 41 20 53 77 69 74 63 68 49 .&lt;-.SwitchItem.(COMMA.SwitchI
ea120 74 65 6d 29 2a 20 43 4f 4d 4d 41 3f 0a 20 20 20 20 20 2f 20 4b 45 59 57 4f 52 44 5f 65 6c 73 65 tem)*.COMMA?....../.KEYWORD_else
ea140 0a 0a 53 77 69 74 63 68 49 74 65 6d 20 26 6c 74 3b 2d 20 45 78 70 72 20 28 44 4f 54 33 20 45 78 ..SwitchItem.&lt;-.Expr.(DOT3.Ex
ea160 70 72 29 3f 0a 0a 23 20 46 6f 72 20 73 70 65 63 69 66 69 63 0a 46 6f 72 41 72 67 75 6d 65 6e 74 pr)?..#.For.specific.ForArgument
ea180 73 4c 69 73 74 20 26 6c 74 3b 2d 20 46 6f 72 49 74 65 6d 20 28 43 4f 4d 4d 41 20 46 6f 72 49 74 sList.&lt;-.ForItem.(COMMA.ForIt
ea1a0 65 6d 29 2a 20 43 4f 4d 4d 41 3f 0a 0a 46 6f 72 49 74 65 6d 20 26 6c 74 3b 2d 20 45 78 70 72 20 em)*.COMMA?..ForItem.&lt;-.Expr.
ea1c0 28 44 4f 54 32 20 45 78 70 72 3f 29 3f 0a 0a 23 20 4f 70 65 72 61 74 6f 72 73 0a 41 73 73 69 67 (DOT2.Expr?)?..#.Operators.Assig
ea1e0 6e 4f 70 0a 20 20 20 20 26 6c 74 3b 2d 20 41 53 54 45 52 49 53 4b 45 51 55 41 4c 0a 20 20 20 20 nOp.....&lt;-.ASTERISKEQUAL.....
ea200 20 2f 20 41 53 54 45 52 49 53 4b 50 49 50 45 45 51 55 41 4c 0a 20 20 20 20 20 2f 20 53 4c 41 53 ./.ASTERISKPIPEEQUAL....../.SLAS
ea220 48 45 51 55 41 4c 0a 20 20 20 20 20 2f 20 50 45 52 43 45 4e 54 45 51 55 41 4c 0a 20 20 20 20 20 HEQUAL....../.PERCENTEQUAL......
ea240 2f 20 50 4c 55 53 45 51 55 41 4c 0a 20 20 20 20 20 2f 20 50 4c 55 53 50 49 50 45 45 51 55 41 4c /.PLUSEQUAL....../.PLUSPIPEEQUAL
ea260 0a 20 20 20 20 20 2f 20 4d 49 4e 55 53 45 51 55 41 4c 0a 20 20 20 20 20 2f 20 4d 49 4e 55 53 50 ....../.MINUSEQUAL....../.MINUSP
ea280 49 50 45 45 51 55 41 4c 0a 20 20 20 20 20 2f 20 4c 41 52 52 4f 57 32 45 51 55 41 4c 0a 20 20 20 IPEEQUAL....../.LARROW2EQUAL....
ea2a0 20 20 2f 20 4c 41 52 52 4f 57 32 50 49 50 45 45 51 55 41 4c 0a 20 20 20 20 20 2f 20 52 41 52 52 ../.LARROW2PIPEEQUAL....../.RARR
ea2c0 4f 57 32 45 51 55 41 4c 0a 20 20 20 20 20 2f 20 41 4d 50 45 52 53 41 4e 44 45 51 55 41 4c 0a 20 OW2EQUAL....../.AMPERSANDEQUAL..
ea2e0 20 20 20 20 2f 20 43 41 52 45 54 45 51 55 41 4c 0a 20 20 20 20 20 2f 20 50 49 50 45 45 51 55 41 ..../.CARETEQUAL....../.PIPEEQUA
ea300 4c 0a 20 20 20 20 20 2f 20 41 53 54 45 52 49 53 4b 50 45 52 43 45 4e 54 45 51 55 41 4c 0a 20 20 L....../.ASTERISKPERCENTEQUAL...
ea320 20 20 20 2f 20 50 4c 55 53 50 45 52 43 45 4e 54 45 51 55 41 4c 0a 20 20 20 20 20 2f 20 4d 49 4e .../.PLUSPERCENTEQUAL....../.MIN
ea340 55 53 50 45 52 43 45 4e 54 45 51 55 41 4c 0a 20 20 20 20 20 2f 20 45 51 55 41 4c 0a 0a 43 6f 6d USPERCENTEQUAL....../.EQUAL..Com
ea360 70 61 72 65 4f 70 0a 20 20 20 20 26 6c 74 3b 2d 20 45 51 55 41 4c 45 51 55 41 4c 0a 20 20 20 20 pareOp.....&lt;-.EQUALEQUAL.....
ea380 20 2f 20 45 58 43 4c 41 4d 41 54 49 4f 4e 4d 41 52 4b 45 51 55 41 4c 0a 20 20 20 20 20 2f 20 4c ./.EXCLAMATIONMARKEQUAL....../.L
ea3a0 41 52 52 4f 57 0a 20 20 20 20 20 2f 20 52 41 52 52 4f 57 0a 20 20 20 20 20 2f 20 4c 41 52 52 4f ARROW....../.RARROW....../.LARRO
ea3c0 57 45 51 55 41 4c 0a 20 20 20 20 20 2f 20 52 41 52 52 4f 57 45 51 55 41 4c 0a 0a 42 69 74 77 69 WEQUAL....../.RARROWEQUAL..Bitwi
ea3e0 73 65 4f 70 0a 20 20 20 20 26 6c 74 3b 2d 20 41 4d 50 45 52 53 41 4e 44 0a 20 20 20 20 20 2f 20 seOp.....&lt;-.AMPERSAND....../.
ea400 43 41 52 45 54 0a 20 20 20 20 20 2f 20 50 49 50 45 0a 20 20 20 20 20 2f 20 4b 45 59 57 4f 52 44 CARET....../.PIPE....../.KEYWORD
ea420 5f 6f 72 65 6c 73 65 0a 20 20 20 20 20 2f 20 4b 45 59 57 4f 52 44 5f 63 61 74 63 68 20 50 61 79 _orelse....../.KEYWORD_catch.Pay
ea440 6c 6f 61 64 3f 0a 0a 42 69 74 53 68 69 66 74 4f 70 0a 20 20 20 20 26 6c 74 3b 2d 20 4c 41 52 52 load?..BitShiftOp.....&lt;-.LARR
ea460 4f 57 32 0a 20 20 20 20 20 2f 20 52 41 52 52 4f 57 32 0a 20 20 20 20 20 2f 20 4c 41 52 52 4f 57 OW2....../.RARROW2....../.LARROW
ea480 32 50 49 50 45 0a 0a 41 64 64 69 74 69 6f 6e 4f 70 0a 20 20 20 20 26 6c 74 3b 2d 20 50 4c 55 53 2PIPE..AdditionOp.....&lt;-.PLUS
ea4a0 0a 20 20 20 20 20 2f 20 4d 49 4e 55 53 0a 20 20 20 20 20 2f 20 50 4c 55 53 32 0a 20 20 20 20 20 ....../.MINUS....../.PLUS2......
ea4c0 2f 20 50 4c 55 53 50 45 52 43 45 4e 54 0a 20 20 20 20 20 2f 20 4d 49 4e 55 53 50 45 52 43 45 4e /.PLUSPERCENT....../.MINUSPERCEN
ea4e0 54 0a 20 20 20 20 20 2f 20 50 4c 55 53 50 49 50 45 0a 20 20 20 20 20 2f 20 4d 49 4e 55 53 50 49 T....../.PLUSPIPE....../.MINUSPI
ea500 50 45 0a 0a 4d 75 6c 74 69 70 6c 79 4f 70 0a 20 20 20 20 26 6c 74 3b 2d 20 50 49 50 45 32 0a 20 PE..MultiplyOp.....&lt;-.PIPE2..
ea520 20 20 20 20 2f 20 41 53 54 45 52 49 53 4b 0a 20 20 20 20 20 2f 20 53 4c 41 53 48 0a 20 20 20 20 ..../.ASTERISK....../.SLASH.....
ea540 20 2f 20 50 45 52 43 45 4e 54 0a 20 20 20 20 20 2f 20 41 53 54 45 52 49 53 4b 50 45 52 43 45 4e ./.PERCENT....../.ASTERISKPERCEN
ea560 54 0a 20 20 20 20 20 2f 20 41 53 54 45 52 49 53 4b 50 49 50 45 0a 0a 50 72 65 66 69 78 4f 70 0a T....../.ASTERISKPIPE..PrefixOp.
ea580 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 0a 20 20 20 20 20 2f ....&lt;-.EXCLAMATIONMARK....../
ea5a0 20 4d 49 4e 55 53 0a 20 20 20 20 20 2f 20 54 49 4c 44 45 0a 20 20 20 20 20 2f 20 4d 49 4e 55 53 .MINUS....../.TILDE....../.MINUS
ea5c0 50 45 52 43 45 4e 54 0a 20 20 20 20 20 2f 20 41 4d 50 45 52 53 41 4e 44 0a 20 20 20 20 20 2f 20 PERCENT....../.AMPERSAND....../.
ea5e0 4b 45 59 57 4f 52 44 5f 74 72 79 0a 0a 50 72 65 66 69 78 54 79 70 65 4f 70 0a 20 20 20 20 26 6c KEYWORD_try..PrefixTypeOp.....&l
ea600 74 3b 2d 20 51 55 45 53 54 49 4f 4e 4d 41 52 4b 0a 20 20 20 20 20 2f 20 4b 45 59 57 4f 52 44 5f t;-.QUESTIONMARK....../.KEYWORD_
ea620 61 6e 79 66 72 61 6d 65 20 4d 49 4e 55 53 52 41 52 52 4f 57 0a 20 20 20 20 20 2f 20 28 4d 61 6e anyframe.MINUSRARROW....../.(Man
ea640 79 50 74 72 54 79 70 65 53 74 61 72 74 20 2f 20 53 6c 69 63 65 54 79 70 65 53 74 61 72 74 29 20 yPtrTypeStart./.SliceTypeStart).
ea660 4b 45 59 57 4f 52 44 5f 61 6c 6c 6f 77 7a 65 72 6f 3f 20 42 79 74 65 41 6c 69 67 6e 3f 20 41 64 KEYWORD_allowzero?.ByteAlign?.Ad
ea680 64 72 53 70 61 63 65 3f 20 4b 45 59 57 4f 52 44 5f 63 6f 6e 73 74 3f 20 4b 45 59 57 4f 52 44 5f drSpace?.KEYWORD_const?.KEYWORD_
ea6a0 76 6f 6c 61 74 69 6c 65 3f 0a 20 20 20 20 20 2f 20 53 69 6e 67 6c 65 50 74 72 54 79 70 65 53 74 volatile?....../.SinglePtrTypeSt
ea6c0 61 72 74 20 4b 45 59 57 4f 52 44 5f 61 6c 6c 6f 77 7a 65 72 6f 3f 20 42 69 74 41 6c 69 67 6e 3f art.KEYWORD_allowzero?.BitAlign?
ea6e0 20 41 64 64 72 53 70 61 63 65 3f 20 4b 45 59 57 4f 52 44 5f 63 6f 6e 73 74 3f 20 4b 45 59 57 4f .AddrSpace?.KEYWORD_const?.KEYWO
ea700 52 44 5f 76 6f 6c 61 74 69 6c 65 3f 0a 20 20 20 20 20 2f 20 41 72 72 61 79 54 79 70 65 53 74 61 RD_volatile?....../.ArrayTypeSta
ea720 72 74 0a 0a 53 75 66 66 69 78 4f 70 0a 20 20 20 20 26 6c 74 3b 2d 20 4c 42 52 41 43 4b 45 54 20 rt..SuffixOp.....&lt;-.LBRACKET.
ea740 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 45 78 70 72 29 3f 29 Expr.(DOT2.(Expr?.(COLON.Expr)?)
ea760 3f 29 3f 20 52 42 52 41 43 4b 45 54 0a 20 20 20 20 20 2f 20 44 4f 54 20 49 44 45 4e 54 49 46 49 ?)?.RBRACKET....../.DOT.IDENTIFI
ea780 45 52 0a 20 20 20 20 20 2f 20 44 4f 54 41 53 54 45 52 49 53 4b 0a 20 20 20 20 20 2f 20 44 4f 54 ER....../.DOTASTERISK....../.DOT
ea7a0 51 55 45 53 54 49 4f 4e 4d 41 52 4b 0a 0a 46 6e 43 61 6c 6c 41 72 67 75 6d 65 6e 74 73 20 26 6c QUESTIONMARK..FnCallArguments.&l
ea7c0 74 3b 2d 20 4c 50 41 52 45 4e 20 45 78 70 72 4c 69 73 74 20 52 50 41 52 45 4e 0a 0a 45 78 70 72 t;-.LPAREN.ExprList.RPAREN..Expr
ea7e0 53 75 66 66 69 78 0a 20 20 20 20 26 6c 74 3b 2d 20 4b 45 59 57 4f 52 44 5f 6f 72 0a 20 20 20 20 Suffix.....&lt;-.KEYWORD_or.....
ea800 20 2f 20 4b 45 59 57 4f 52 44 5f 61 6e 64 0a 20 20 20 20 20 2f 20 43 6f 6d 70 61 72 65 4f 70 0a ./.KEYWORD_and....../.CompareOp.
ea820 20 20 20 20 20 2f 20 42 69 74 77 69 73 65 4f 70 0a 20 20 20 20 20 2f 20 42 69 74 53 68 69 66 74 ...../.BitwiseOp....../.BitShift
ea840 4f 70 0a 20 20 20 20 20 2f 20 41 64 64 69 74 69 6f 6e 4f 70 0a 20 20 20 20 20 2f 20 4d 75 6c 74 Op....../.AdditionOp....../.Mult
ea860 69 70 6c 79 4f 70 0a 20 20 20 20 20 2f 20 45 58 43 4c 41 4d 41 54 49 4f 4e 4d 41 52 4b 0a 20 20 iplyOp....../.EXCLAMATIONMARK...
ea880 20 20 20 2f 20 53 75 66 66 69 78 4f 70 0a 20 20 20 20 20 2f 20 46 6e 43 61 6c 6c 41 72 67 75 6d .../.SuffixOp....../.FnCallArgum
ea8a0 65 6e 74 73 0a 0a 4c 61 62 65 6c 61 62 6c 65 45 78 70 72 0a 20 20 20 20 26 6c 74 3b 2d 20 42 6c ents..LabelableExpr.....&lt;-.Bl
ea8c0 6f 63 6b 0a 20 20 20 20 20 2f 20 53 77 69 74 63 68 45 78 70 72 0a 20 20 20 20 20 2f 20 4c 6f 6f ock....../.SwitchExpr....../.Loo
ea8e0 70 45 78 70 72 0a 0a 23 20 50 74 72 20 73 70 65 63 69 66 69 63 0a 53 6c 69 63 65 54 79 70 65 53 pExpr..#.Ptr.specific.SliceTypeS
ea900 74 61 72 74 20 26 6c 74 3b 2d 20 4c 42 52 41 43 4b 45 54 20 28 43 4f 4c 4f 4e 20 45 78 70 72 29 tart.&lt;-.LBRACKET.(COLON.Expr)
ea920 3f 20 52 42 52 41 43 4b 45 54 0a 0a 53 69 6e 67 6c 65 50 74 72 54 79 70 65 53 74 61 72 74 20 26 ?.RBRACKET..SinglePtrTypeStart.&
ea940 6c 74 3b 2d 20 41 53 54 45 52 49 53 4b 0a 0a 4d 61 6e 79 50 74 72 54 79 70 65 53 74 61 72 74 20 lt;-.ASTERISK..ManyPtrTypeStart.
ea960 26 6c 74 3b 2d 20 4c 42 52 41 43 4b 45 54 20 41 53 54 45 52 49 53 4b 20 28 4c 45 54 54 45 52 43 &lt;-.LBRACKET.ASTERISK.(LETTERC
ea980 20 2f 20 43 4f 4c 4f 4e 20 45 78 70 72 29 3f 20 52 42 52 41 43 4b 45 54 0a 0a 41 72 72 61 79 54 ./.COLON.Expr)?.RBRACKET..ArrayT
ea9a0 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 21 41 53 ypeStart.&lt;-.LBRACKET.Expr.!AS
ea9c0 54 45 52 49 53 4b 20 28 43 4f 4c 4f 4e 20 45 78 70 72 29 3f 20 52 42 52 41 43 4b 45 54 0a 0a 23 TERISK.(COLON.Expr)?.RBRACKET..#
ea9e0 20 43 6f 6e 74 61 69 6e 65 72 44 65 63 6c 20 73 70 65 63 69 66 69 63 0a 43 6f 6e 74 61 69 6e 65 .ContainerDecl.specific.Containe
eaa00 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 6c 54 79 70 rDeclAuto.&lt;-.ContainerDeclTyp
eaa20 65 20 4c 42 52 41 43 45 20 43 6f 6e 74 61 69 6e 65 72 4d 65 6d 62 65 72 73 20 52 42 52 41 43 45 e.LBRACE.ContainerMembers.RBRACE
eaa40 0a 0a 43 6f 6e 74 61 69 6e 65 72 44 65 63 6c 54 79 70 65 0a 20 20 20 20 26 6c 74 3b 2d 20 4b 45 ..ContainerDeclType.....&lt;-.KE
eaa60 59 57 4f 52 44 5f 73 74 72 75 63 74 20 28 4c 50 41 52 45 4e 20 45 78 70 72 20 52 50 41 52 45 4e YWORD_struct.(LPAREN.Expr.RPAREN
eaa80 29 3f 0a 20 20 20 20 20 2f 20 4b 45 59 57 4f 52 44 5f 6f 70 61 71 75 65 0a 20 20 20 20 20 2f 20 )?....../.KEYWORD_opaque....../.
eaaa0 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 45 4e KEYWORD_enum.(LPAREN.Expr.RPAREN
eaac0 29 3f 0a 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 20 )?....../.KEYWORD_union.(LPAREN.
eaae0 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 45 (KEYWORD_enum.(LPAREN.Expr.RPARE
eab00 4e 29 3f 20 2f 20 21 4b 45 59 57 4f 52 44 5f 65 6e 75 6d 20 45 78 70 72 29 20 52 50 41 52 45 4e N)?./.!KEYWORD_enum.Expr).RPAREN
eab20 29 3f 0a 0a 23 20 41 6c 69 67 6e 6d 65 6e 74 0a 42 79 74 65 41 6c 69 67 6e 20 26 6c 74 3b 2d 20 )?..#.Alignment.ByteAlign.&lt;-.
eab40 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 4e KEYWORD_align.LPAREN.Expr.RPAREN
eab60 0a 0a 42 69 74 41 6c 69 67 6e 20 26 6c 74 3b 2d 20 4b 45 59 57 4f 52 44 5f 61 6c 69 67 6e 20 4c ..BitAlign.&lt;-.KEYWORD_align.L
eab80 50 41 52 45 4e 20 45 78 70 72 20 28 43 4f 4c 4f 4e 20 45 78 70 72 20 43 4f 4c 4f 4e 20 45 78 70 PAREN.Expr.(COLON.Expr.COLON.Exp
eaba0 72 29 3f 20 52 50 41 52 45 4e 0a 0a 23 20 4c 69 73 74 73 0a 49 64 65 6e 74 69 66 69 65 72 4c 69 r)?.RPAREN..#.Lists.IdentifierLi
eabc0 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 54 49 46 49 45 st.&lt;-.(doc_comment?.IDENTIFIE
eabe0 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 4e 54 49 46 49 R.COMMA)*.(doc_comment?.IDENTIFI
eac00 45 52 29 3f 0a 0a 53 77 69 74 63 68 50 72 6f 6e 67 4c 69 73 74 20 26 6c 74 3b 2d 20 28 53 77 69 ER)?..SwitchProngList.&lt;-.(Swi
eac20 74 63 68 50 72 6f 6e 67 20 43 4f 4d 4d 41 29 2a 20 53 77 69 74 63 68 50 72 6f 6e 67 3f 0a 0a 41 tchProng.COMMA)*.SwitchProng?..A
eac40 73 6d 4f 75 74 70 75 74 4c 69 73 74 20 26 6c 74 3b 2d 20 28 41 73 6d 4f 75 74 70 75 74 49 74 65 smOutputList.&lt;-.(AsmOutputIte
eac60 6d 20 43 4f 4d 4d 41 29 2a 20 41 73 6d 4f 75 74 70 75 74 49 74 65 6d 3f 0a 0a 41 73 6d 49 6e 70 m.COMMA)*.AsmOutputItem?..AsmInp
eac80 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 41 utList.&lt;-.(AsmInputItem.COMMA
eaca0 29 2a 20 41 73 6d 49 6e 70 75 74 49 74 65 6d 3f 0a 0a 50 61 72 61 6d 44 65 63 6c 4c 69 73 74 20 )*.AsmInputItem?..ParamDeclList.
eacc0 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 28 50 61 72 61 6d 44 &lt;-.(ParamDecl.COMMA)*.(ParamD
eace0 65 63 6c 20 2f 20 44 4f 54 33 20 43 4f 4d 4d 41 3f 29 3f 0a 0a 45 78 70 72 4c 69 73 74 20 26 6c ecl./.DOT3.COMMA?)?..ExprList.&l
ead00 74 3b 2d 20 28 45 78 70 72 20 43 4f 4d 4d 41 29 2a 20 45 78 70 72 3f 0a 0a 23 20 2a 2a 2a 20 54 t;-.(Expr.COMMA)*.Expr?..#.***.T
ead20 6f 6b 65 6e 73 20 2a 2a 2a 0a 65 6f 66 20 26 6c 74 3b 2d 20 21 2e 0a 62 69 6e 20 26 6c 74 3b 2d okens.***.eof.&lt;-.!..bin.&lt;-
ead40 20 5b 30 31 5d 0a 62 69 6e 5f 20 26 6c 74 3b 2d 20 27 5f 27 3f 20 62 69 6e 0a 6f 63 74 20 26 6c .[01].bin_.&lt;-.'_'?.bin.oct.&l
ead60 74 3b 2d 20 5b 30 2d 37 5d 0a 6f 63 74 5f 20 26 6c 74 3b 2d 20 27 5f 27 3f 20 6f 63 74 0a 68 65 t;-.[0-7].oct_.&lt;-.'_'?.oct.he
ead80 78 20 26 6c 74 3b 2d 20 5b 30 2d 39 61 2d 66 41 2d 46 5d 0a 68 65 78 5f 20 26 6c 74 3b 2d 20 27 x.&lt;-.[0-9a-fA-F].hex_.&lt;-.'
eada0 5f 27 3f 20 68 65 78 0a 64 65 63 20 26 6c 74 3b 2d 20 5b 30 2d 39 5d 0a 64 65 63 5f 20 26 6c 74 _'?.hex.dec.&lt;-.[0-9].dec_.&lt
eadc0 3b 2d 20 27 5f 27 3f 20 64 65 63 0a 0a 62 69 6e 5f 69 6e 74 20 26 6c 74 3b 2d 20 62 69 6e 20 62 ;-.'_'?.dec..bin_int.&lt;-.bin.b
eade0 69 6e 5f 2a 0a 6f 63 74 5f 69 6e 74 20 26 6c 74 3b 2d 20 6f 63 74 20 6f 63 74 5f 2a 0a 64 65 63 in_*.oct_int.&lt;-.oct.oct_*.dec
eae00 5f 69 6e 74 20 26 6c 74 3b 2d 20 64 65 63 20 64 65 63 5f 2a 0a 68 65 78 5f 69 6e 74 20 26 6c 74 _int.&lt;-.dec.dec_*.hex_int.&lt
eae20 3b 2d 20 68 65 78 20 68 65 78 5f 2a 0a 0a 6f 78 38 30 5f 6f 78 42 46 20 26 6c 74 3b 2d 20 5b 5c ;-.hex.hex_*..ox80_oxBF.&lt;-.[\
eae40 32 30 30 2d 5c 32 37 37 5d 0a 6f 78 46 34 20 26 6c 74 3b 2d 20 27 5c 33 36 34 27 0a 6f 78 38 30 200-\277].oxF4.&lt;-.'\364'.ox80
eae60 5f 6f 78 38 46 20 26 6c 74 3b 2d 20 5b 5c 32 30 30 2d 5c 32 31 37 5d 0a 6f 78 46 31 5f 6f 78 46 _ox8F.&lt;-.[\200-\217].oxF1_oxF
eae80 33 20 26 6c 74 3b 2d 20 5b 5c 33 36 31 2d 5c 33 36 33 5d 0a 6f 78 46 30 20 26 6c 74 3b 2d 20 27 3.&lt;-.[\361-\363].oxF0.&lt;-.'
eaea0 5c 33 36 30 27 0a 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 \360'.ox90_0xBF.&lt;-.[\220-\277
eaec0 5d 0a 6f 78 45 45 5f 6f 78 45 46 20 26 6c 74 3b 2d 20 5b 5c 33 35 36 2d 5c 33 35 37 5d 0a 6f 78 ].oxEE_oxEF.&lt;-.[\356-\357].ox
eaee0 45 44 20 26 6c 74 3b 2d 20 27 5c 33 35 35 27 0a 6f 78 38 30 5f 6f 78 39 46 20 26 6c 74 3b 2d 20 ED.&lt;-.'\355'.ox80_ox9F.&lt;-.
eaf00 5b 5c 32 30 30 2d 5c 32 33 37 5d 0a 6f 78 45 31 5f 6f 78 45 43 20 26 6c 74 3b 2d 20 5b 5c 33 34 [\200-\237].oxE1_oxEC.&lt;-.[\34
eaf20 31 2d 5c 33 35 34 5d 0a 6f 78 45 30 20 26 6c 74 3b 2d 20 27 5c 33 34 30 27 0a 6f 78 41 30 5f 6f 1-\354].oxE0.&lt;-.'\340'.oxA0_o
eaf40 78 42 46 20 26 6c 74 3b 2d 20 5b 5c 32 34 30 2d 5c 32 37 37 5d 0a 6f 78 43 32 5f 6f 78 44 46 20 xBF.&lt;-.[\240-\277].oxC2_oxDF.
eaf60 26 6c 74 3b 2d 20 5b 5c 33 30 32 2d 5c 33 33 37 5d 0a 0a 23 20 46 72 6f 6d 20 68 74 74 70 73 3a &lt;-.[\302-\337]..#.From.https:
eaf80 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 2f 68 6f 77 2d //lemire.me/blog/2018/05/09/how-
eafa0 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 61 2d 73 74 72 quickly-can-you-check-that-a-str
eafc0 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 0a 23 20 46 69 ing-is-valid-unicode-utf-8/.#.Fi
eafe0 72 73 74 20 42 79 74 65 20 20 20 20 20 20 53 65 63 6f 6e 64 20 42 79 74 65 20 20 20 20 20 54 68 rst.Byte......Second.Byte.....Th
eb000 69 72 64 20 42 79 74 65 20 20 20 20 20 20 46 6f 75 72 74 68 20 42 79 74 65 0a 23 20 5b 30 78 30 ird.Byte......Fourth.Byte.#.[0x0
eb020 30 2c 30 78 37 46 5d 0a 23 20 5b 30 78 43 32 2c 30 78 44 46 5d 20 20 20 20 20 5b 30 78 38 30 2c 0,0x7F].#.[0xC2,0xDF].....[0x80,
eb040 30 78 42 46 5d 0a 23 20 20 20 20 30 78 45 30 20 20 20 20 20 20 20 20 20 5b 30 78 41 30 2c 30 78 0xBF].#....0xE0.........[0xA0,0x
eb060 42 46 5d 20 20 20 20 20 5b 30 78 38 30 2c 30 78 42 46 5d 0a 23 20 5b 30 78 45 31 2c 30 78 45 43 BF].....[0x80,0xBF].#.[0xE1,0xEC
eb080 5d 20 20 20 20 20 5b 30 78 38 30 2c 30 78 42 46 5d 20 20 20 20 20 5b 30 78 38 30 2c 30 78 42 46 ].....[0x80,0xBF].....[0x80,0xBF
eb0a0 5d 0a 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 20 ].#....0xED.........[0x80,0x9F].
eb0c0 20 20 20 20 5b 30 78 38 30 2c 30 78 42 46 5d 0a 23 20 5b 30 78 45 45 2c 30 78 45 46 5d 20 20 20 ....[0x80,0xBF].#.[0xEE,0xEF]...
eb0e0 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 0a 23 20 ..[0x80,0xBF].....[0x80,0xBF].#.
eb100 20 20 20 30 78 46 30 20 20 20 20 20 20 20 20 20 5b 30 78 39 30 2c 30 78 42 46 5d 20 20 20 20 20 ...0xF0.........[0x90,0xBF].....
eb120 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 0a 23 20 5b 30 [0x80,0xBF].....[0x80,0xBF].#.[0
eb140 78 46 31 2c 30 78 46 33 5d 20 20 20 20 20 5b 30 78 38 30 2c 30 78 42 46 5d 20 20 20 20 20 5b 30 xF1,0xF3].....[0x80,0xBF].....[0
eb160 78 38 30 2c 30 78 42 46 5d 20 20 20 20 20 5b 30 78 38 30 2c 30 78 42 46 5d 0a 23 20 20 20 20 30 x80,0xBF].....[0x80,0xBF].#....0
eb180 78 46 34 20 20 20 20 20 20 20 20 20 5b 30 78 38 30 2c 30 78 38 46 5d 20 20 20 20 20 5b 30 78 38 xF4.........[0x80,0x8F].....[0x8
eb1a0 30 2c 30 78 42 46 5d 20 20 20 20 20 5b 30 78 38 30 2c 30 78 42 46 5d 0a 0a 6d 75 6c 74 69 62 79 0,0xBF].....[0x80,0xBF]..multiby
eb1c0 74 65 5f 75 74 66 38 20 26 6c 74 3b 2d 0a 20 20 20 20 20 20 20 6f 78 46 34 20 20 20 20 20 20 6f te_utf8.&lt;-........oxF4......o
eb1e0 78 38 30 5f 6f 78 38 46 20 6f 78 38 30 5f 6f 78 42 46 20 6f 78 38 30 5f 6f 78 42 46 0a 20 20 20 x80_ox8F.ox80_oxBF.ox80_oxBF....
eb200 20 20 2f 20 6f 78 46 31 5f 6f 78 46 33 20 6f 78 38 30 5f 6f 78 42 46 20 6f 78 38 30 5f 6f 78 42 ../.oxF1_oxF3.ox80_oxBF.ox80_oxB
eb220 46 20 6f 78 38 30 5f 6f 78 42 46 0a 20 20 20 20 20 2f 20 6f 78 46 30 20 20 20 20 20 20 6f 78 39 F.ox80_oxBF....../.oxF0......ox9
eb240 30 5f 30 78 42 46 20 6f 78 38 30 5f 6f 78 42 46 20 6f 78 38 30 5f 6f 78 42 46 0a 20 20 20 20 20 0_0xBF.ox80_oxBF.ox80_oxBF......
eb260 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 5f 6f 78 42 46 0a /.oxEE_oxEF.ox80_oxBF.ox80_oxBF.
eb280 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_
eb2a0 6f 78 42 46 0a 20 20 20 20 20 2f 20 6f 78 45 31 5f 6f 78 45 43 20 6f 78 38 30 5f 6f 78 42 46 20 oxBF....../.oxE1_oxEC.ox80_oxBF.
eb2c0 6f 78 38 30 5f 6f 78 42 46 0a 20 20 20 20 20 2f 20 6f 78 45 30 20 20 20 20 20 20 6f 78 41 30 5f ox80_oxBF....../.oxE0......oxA0_
eb2e0 6f 78 42 46 20 6f 78 38 30 5f 6f 78 42 46 0a 20 20 20 20 20 2f 20 6f 78 43 32 5f 6f 78 44 46 20 oxBF.ox80_oxBF....../.oxC2_oxDF.
eb300 6f 78 38 30 5f 6f 78 42 46 0a 0a 6e 6f 6e 5f 63 6f 6e 74 72 6f 6c 5f 61 73 63 69 69 20 26 6c 74 ox80_oxBF..non_control_ascii.&lt
eb320 3b 2d 20 5b 5c 30 34 30 2d 5c 31 37 36 5d 0a 6e 6f 6e 5f 63 6f 6e 74 72 6f 6c 5f 75 74 66 38 20 ;-.[\040-\176].non_control_utf8.
eb340 26 6c 74 3b 2d 20 5b 5c 30 34 30 2d 5c 33 37 37 5d 0a 0a 63 68 61 72 5f 65 73 63 61 70 65 0a 20 &lt;-.[\040-\377]..char_escape..
eb360 20 20 20 26 6c 74 3b 2d 20 26 71 75 6f 74 3b 5c 5c 78 26 71 75 6f 74 3b 20 68 65 78 20 68 65 78 ...&lt;-.&quot;\\x&quot;.hex.hex
eb380 0a 20 20 20 20 20 2f 20 26 71 75 6f 74 3b 5c 5c 75 7b 26 71 75 6f 74 3b 20 68 65 78 2b 20 26 71 ....../.&quot;\\u{&quot;.hex+.&q
eb3a0 75 6f 74 3b 7d 26 71 75 6f 74 3b 0a 20 20 20 20 20 2f 20 26 71 75 6f 74 3b 5c 5c 26 71 75 6f 74 uot;}&quot;....../.&quot;\\&quot
eb3c0 3b 20 5b 6e 72 5c 5c 74 27 26 71 75 6f 74 3b 5d 0a 63 68 61 72 5f 63 68 61 72 0a 20 20 20 20 26 ;.[nr\\t'&quot;].char_char.....&
eb3e0 6c 74 3b 2d 20 6d 75 6c 74 69 62 79 74 65 5f 75 74 66 38 0a 20 20 20 20 20 2f 20 63 68 61 72 5f lt;-.multibyte_utf8....../.char_
eb400 65 73 63 61 70 65 0a 20 20 20 20 20 2f 20 21 5b 5c 5c 27 5c 6e 5d 20 6e 6f 6e 5f 63 6f 6e 74 72 escape....../.![\\'\n].non_contr
eb420 6f 6c 5f 61 73 63 69 69 0a 0a 73 74 72 69 6e 67 5f 63 68 61 72 0a 20 20 20 20 26 6c 74 3b 2d 20 ol_ascii..string_char.....&lt;-.
eb440 6d 75 6c 74 69 62 79 74 65 5f 75 74 66 38 0a 20 20 20 20 20 2f 20 63 68 61 72 5f 65 73 63 61 70 multibyte_utf8....../.char_escap
eb460 65 0a 20 20 20 20 20 2f 20 21 5b 5c 5c 26 71 75 6f 74 3b 5c 6e 5d 20 6e 6f 6e 5f 63 6f 6e 74 72 e....../.![\\&quot;\n].non_contr
eb480 6f 6c 5f 61 73 63 69 69 0a 0a 63 6f 6e 74 61 69 6e 65 72 5f 64 6f 63 5f 63 6f 6d 6d 65 6e 74 20 ol_ascii..container_doc_comment.
eb4a0 26 6c 74 3b 2d 20 28 27 2f 2f 21 27 20 6e 6f 6e 5f 63 6f 6e 74 72 6f 6c 5f 75 74 66 38 2a 20 5b &lt;-.('//!'.non_control_utf8*.[
eb4c0 20 5c 6e 5d 2a 20 73 6b 69 70 29 2b 0a 64 6f 63 5f 63 6f 6d 6d 65 6e 74 20 26 6c 74 3b 2d 20 28 .\n]*.skip)+.doc_comment.&lt;-.(
eb4e0 27 2f 2f 2f 27 20 6e 6f 6e 5f 63 6f 6e 74 72 6f 6c 5f 75 74 66 38 2a 20 5b 20 5c 6e 5d 2a 20 73 '///'.non_control_utf8*.[.\n]*.s
eb500 6b 69 70 29 2b 0a 6c 69 6e 65 5f 63 6f 6d 6d 65 6e 74 20 26 6c 74 3b 2d 20 27 2f 2f 27 20 21 5b kip)+.line_comment.&lt;-.'//'.![
eb520 21 2f 5d 20 6e 6f 6e 5f 63 6f 6e 74 72 6f 6c 5f 75 74 66 38 2a 20 2f 20 27 2f 2f 2f 2f 27 20 6e !/].non_control_utf8*./.'////'.n
eb540 6f 6e 5f 63 6f 6e 74 72 6f 6c 5f 75 74 66 38 2a 0a 6c 69 6e 65 5f 73 74 72 69 6e 67 20 26 6c 74 on_control_utf8*.line_string.&lt
eb560 3b 2d 20 27 5c 5c 5c 5c 27 20 6e 6f 6e 5f 63 6f 6e 74 72 6f 6c 5f 75 74 66 38 2a 20 5b 20 5c 6e ;-.'\\\\'.non_control_utf8*.[.\n
eb580 5d 2a 0a 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 ]*.skip.&lt;-.([.\n]./.line_comm
eb5a0 65 6e 74 29 2a 0a 0a 43 48 41 52 5f 4c 49 54 45 52 41 4c 20 26 6c 74 3b 2d 20 5b 27 5d 20 63 68 ent)*..CHAR_LITERAL.&lt;-.['].ch
eb5c0 61 72 5f 63 68 61 72 20 5b 27 5d 20 73 6b 69 70 0a 46 4c 4f 41 54 0a 20 20 20 20 26 6c 74 3b 2d ar_char.['].skip.FLOAT.....&lt;-
eb5e0 20 27 30 78 27 20 68 65 78 5f 69 6e 74 20 27 2e 27 20 68 65 78 5f 69 6e 74 20 28 5b 70 50 5d 20 .'0x'.hex_int.'.'.hex_int.([pP].
eb600 5b 2d 2b 5d 3f 20 64 65 63 5f 69 6e 74 29 3f 20 73 6b 69 70 0a 20 20 20 20 20 2f 20 20 20 20 20 [-+]?.dec_int)?.skip....../.....
eb620 20 64 65 63 5f 69 6e 74 20 27 2e 27 20 64 65 63 5f 69 6e 74 20 28 5b 65 45 5d 20 5b 2d 2b 5d 3f .dec_int.'.'.dec_int.([eE].[-+]?
eb640 20 64 65 63 5f 69 6e 74 29 3f 20 73 6b 69 70 0a 20 20 20 20 20 2f 20 27 30 78 27 20 68 65 78 5f .dec_int)?.skip....../.'0x'.hex_
eb660 69 6e 74 20 5b 70 50 5d 20 5b 2d 2b 5d 3f 20 64 65 63 5f 69 6e 74 20 73 6b 69 70 0a 20 20 20 20 int.[pP].[-+]?.dec_int.skip.....
eb680 20 2f 20 20 20 20 20 20 64 65 63 5f 69 6e 74 20 5b 65 45 5d 20 5b 2d 2b 5d 3f 20 64 65 63 5f 69 ./......dec_int.[eE].[-+]?.dec_i
eb6a0 6e 74 20 73 6b 69 70 0a 49 4e 54 45 47 45 52 0a 20 20 20 20 26 6c 74 3b 2d 20 27 30 62 27 20 62 nt.skip.INTEGER.....&lt;-.'0b'.b
eb6c0 69 6e 5f 69 6e 74 20 73 6b 69 70 0a 20 20 20 20 20 2f 20 27 30 6f 27 20 6f 63 74 5f 69 6e 74 20 in_int.skip....../.'0o'.oct_int.
eb6e0 73 6b 69 70 0a 20 20 20 20 20 2f 20 27 30 78 27 20 68 65 78 5f 69 6e 74 20 73 6b 69 70 0a 20 20 skip....../.'0x'.hex_int.skip...
eb700 20 20 20 2f 20 20 20 20 20 20 64 65 63 5f 69 6e 74 20 20 20 73 6b 69 70 0a 53 54 52 49 4e 47 4c .../......dec_int...skip.STRINGL
eb720 49 54 45 52 41 4c 53 49 4e 47 4c 45 20 26 6c 74 3b 2d 20 5b 26 71 75 6f 74 3b 5d 20 73 74 72 69 ITERALSINGLE.&lt;-.[&quot;].stri
eb740 6e 67 5f 63 68 61 72 2a 20 5b 26 71 75 6f 74 3b 5d 20 73 6b 69 70 0a 53 54 52 49 4e 47 4c 49 54 ng_char*.[&quot;].skip.STRINGLIT
eb760 45 52 41 4c 0a 20 20 20 20 26 6c 74 3b 2d 20 53 54 52 49 4e 47 4c 49 54 45 52 41 4c 53 49 4e 47 ERAL.....&lt;-.STRINGLITERALSING
eb780 4c 45 0a 20 20 20 20 20 2f 20 28 6c 69 6e 65 5f 73 74 72 69 6e 67 20 20 20 20 20 20 20 20 20 20 LE....../.(line_string..........
eb7a0 20 20 20 20 20 20 20 73 6b 69 70 29 2b 0a 49 44 45 4e 54 49 46 49 45 52 0a 20 20 20 20 26 6c 74 .......skip)+.IDENTIFIER.....&lt
eb7c0 3b 2d 20 21 6b 65 79 77 6f 72 64 20 5b 41 2d 5a 61 2d 7a 5f 5d 20 5b 41 2d 5a 61 2d 7a 30 2d 39 ;-.!keyword.[A-Za-z_].[A-Za-z0-9
eb7e0 5f 5d 2a 20 73 6b 69 70 0a 20 20 20 20 20 2f 20 27 40 27 20 53 54 52 49 4e 47 4c 49 54 45 52 41 _]*.skip....../.'@'.STRINGLITERA
eb800 4c 53 49 4e 47 4c 45 0a 42 55 49 4c 54 49 4e 49 44 45 4e 54 49 46 49 45 52 20 26 6c 74 3b 2d 20 LSINGLE.BUILTINIDENTIFIER.&lt;-.
eb820 27 40 27 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 0a 0a '@'[A-Za-z_][A-Za-z0-9_]*.skip..
eb840 0a 41 4d 50 45 52 53 41 4e 44 20 20 20 20 20 20 20 20 20 20 20 20 26 6c 74 3b 2d 20 27 26 61 6d .AMPERSAND............&lt;-.'&am
eb860 70 3b 27 20 20 20 20 20 20 21 5b 3d 5d 20 20 20 20 20 20 73 6b 69 70 0a 41 4d 50 45 52 53 41 4e p;'......![=]......skip.AMPERSAN
eb880 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 27 20 20 20 20 20 DEQUAL.......&lt;-.'&amp;='.....
eb8a0 20 20 20 20 20 20 20 20 20 20 73 6b 69 70 0a 41 53 54 45 52 49 53 4b 20 20 20 20 20 20 20 20 20 ..........skip.ASTERISK.........
eb8c0 20 20 20 20 26 6c 74 3b 2d 20 27 2a 27 20 20 20 20 20 20 21 5b 2a 25 3d 7c 5d 20 20 20 73 6b 69 ....&lt;-.'*'......![*%=|]...ski
eb8e0 70 0a 41 53 54 45 52 49 53 4b 45 51 55 41 4c 20 20 20 20 20 20 20 20 26 6c 74 3b 2d 20 27 2a 3d p.ASTERISKEQUAL........&lt;-.'*=
eb900 27 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 73 6b 69 70 0a 41 53 54 45 52 49 53 4b 50 45 52 '...............skip.ASTERISKPER
eb920 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 20 CENT......&lt;-.'*%'.....![=]...
eb940 20 20 20 73 6b 69 70 0a 41 53 54 45 52 49 53 4b 50 45 52 43 45 4e 54 45 51 55 41 4c 20 26 6c 74 ...skip.ASTERISKPERCENTEQUAL.&lt
eb960 3b 2d 20 27 2a 25 3d 27 20 20 20 20 20 20 20 20 20 20 20 20 20 20 73 6b 69 70 0a 41 53 54 45 52 ;-.'*%='..............skip.ASTER
eb980 49 53 4b 50 49 50 45 20 20 20 20 20 20 20 20 20 26 6c 74 3b 2d 20 27 2a 7c 27 20 20 20 20 20 21 ISKPIPE.........&lt;-.'*|'.....!
eb9a0 5b 3d 5d 20 20 20 20 20 20 73 6b 69 70 0a 41 53 54 45 52 49 53 4b 50 49 50 45 45 51 55 41 4c 20 [=]......skip.ASTERISKPIPEEQUAL.
eb9c0 20 20 20 26 6c 74 3b 2d 20 27 2a 7c 3d 27 20 20 20 20 20 20 20 20 20 20 20 20 20 20 73 6b 69 70 ...&lt;-.'*|='..............skip
eb9e0 0a 43 41 52 45 54 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 26 6c 74 3b 2d 20 27 5e 27 20 .CARET................&lt;-.'^'.
eba00 20 20 20 20 20 21 5b 3d 5d 20 20 20 20 20 20 73 6b 69 70 0a 43 41 52 45 54 45 51 55 41 4c 20 20 .....![=]......skip.CARETEQUAL..
eba20 20 20 20 20 20 20 20 20 20 26 6c 74 3b 2d 20 27 5e 3d 27 20 20 20 20 20 20 20 20 20 20 20 20 20 .........&lt;-.'^='.............
eba40 20 20 73 6b 69 70 0a 43 4f 4c 4f 4e 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 26 6c 74 3b ..skip.COLON................&lt;
eba60 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 0a 43 4f 4d 4d 41 20 -.':'................skip.COMMA.
eba80 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 26 6c 74 3b 2d 20 27 2c 27 20 20 20 20 20 20 20 20 ...............&lt;-.','........
ebaa0 20 20 20 20 20 20 20 20 73 6b 69 70 0a 44 4f 54 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ........skip.DOT................
ebac0 20 20 26 6c 74 3b 2d 20 27 2e 27 20 20 20 20 20 20 21 5b 2a 2e 3f 5d 20 20 20 20 73 6b 69 70 0a ..&lt;-.'.'......![*.?]....skip.
ebae0 44 4f 54 32 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 26 6c 74 3b 2d 20 27 2e 2e 27 20 DOT2.................&lt;-.'..'.
ebb00 20 20 20 20 21 5b 2e 5d 20 20 20 20 20 20 73 6b 69 70 0a 44 4f 54 33 20 20 20 20 20 20 20 20 20 ....![.]......skip.DOT3.........
ebb20 20 20 20 20 20 20 20 20 26 6c 74 3b 2d 20 27 2e 2e 2e 27 20 20 20 20 20 20 20 20 20 20 20 20 20 ........&lt;-.'...'.............
ebb40 20 73 6b 69 70 0a 44 4f 54 41 53 54 45 52 49 53 4b 20 20 20 20 20 20 20 20 20 20 26 6c 74 3b 2d .skip.DOTASTERISK..........&lt;-
ebb60 20 27 2e 2a 27 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 73 6b 69 70 0a 44 4f 54 51 55 45 53 .'.*'...............skip.DOTQUES
ebb80 54 49 4f 4e 4d 41 52 4b 20 20 20 20 20 20 26 6c 74 3b 2d 20 27 2e 3f 27 20 20 20 20 20 20 20 20 TIONMARK......&lt;-.'.?'........
ebba0 20 20 20 20 20 20 20 73 6b 69 70 0a 45 51 55 41 4c 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 .......skip.EQUAL...............
ebbc0 20 26 6c 74 3b 2d 20 27 3d 27 20 20 20 20 20 20 21 5b 26 67 74 3b 3d 5d 20 20 20 20 20 73 6b 69 .&lt;-.'='......![&gt;=].....ski
ebbe0 70 0a 45 51 55 41 4c 45 51 55 41 4c 20 20 20 20 20 20 20 20 20 20 20 26 6c 74 3b 2d 20 27 3d 3d p.EQUALEQUAL...........&lt;-.'==
ebc00 27 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 73 6b 69 70 0a 45 51 55 41 4c 52 41 52 52 4f 57 '...............skip.EQUALRARROW
ebc20 20 20 20 20 20 20 20 20 20 20 26 6c 74 3b 2d 20 27 3d 26 67 74 3b 27 20 20 20 20 20 20 20 20 20 ..........&lt;-.'=&gt;'.........
ebc40 20 20 20 20 20 20 73 6b 69 70 0a 45 58 43 4c 41 4d 41 54 49 4f 4e 4d 41 52 4b 20 20 20 20 20 20 ......skip.EXCLAMATIONMARK......
ebc60 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 73 6b 69 70 0a 45 58 &lt;-.'!'......![=]......skip.EX
ebc80 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 20 CLAMATIONMARKEQUAL.&lt;-.'!='...
ebca0 20 20 20 20 20 20 20 20 20 20 20 20 73 6b 69 70 0a 4c 41 52 52 4f 57 20 20 20 20 20 20 20 20 20 ............skip.LARROW.........
ebcc0 20 20 20 20 20 20 26 6c 74 3b 2d 20 27 26 6c 74 3b 27 20 20 20 20 20 20 21 5b 26 6c 74 3b 3d 5d ......&lt;-.'&lt;'......![&lt;=]
ebce0 20 20 20 20 20 73 6b 69 70 0a 4c 41 52 52 4f 57 32 20 20 20 20 20 20 20 20 20 20 20 20 20 20 26 .....skip.LARROW2..............&
ebd00 6c 74 3b 2d 20 27 26 6c 74 3b 26 6c 74 3b 27 20 20 20 20 20 21 5b 3d 7c 5d 20 20 20 20 20 73 6b lt;-.'&lt;&lt;'.....![=|].....sk
ebd20 69 70 0a 4c 41 52 52 4f 57 32 45 51 55 41 4c 20 20 20 20 20 20 20 20 20 26 6c 74 3b 2d 20 27 26 ip.LARROW2EQUAL.........&lt;-.'&
ebd40 6c 74 3b 26 6c 74 3b 3d 27 20 20 20 20 20 20 20 20 20 20 20 20 20 20 73 6b 69 70 0a 4c 41 52 52 lt;&lt;='..............skip.LARR
ebd60 4f 57 32 50 49 50 45 20 20 20 20 20 20 20 20 20 20 26 6c 74 3b 2d 20 27 26 6c 74 3b 26 6c 74 3b OW2PIPE..........&lt;-.'&lt;&lt;
ebd80 7c 27 20 20 20 20 21 5b 3d 5d 20 20 20 20 20 20 73 6b 69 70 0a 4c 41 52 52 4f 57 32 50 49 50 45 |'....![=]......skip.LARROW2PIPE
ebda0 45 51 55 41 4c 20 20 20 20 20 26 6c 74 3b 2d 20 27 26 6c 74 3b 26 6c 74 3b 7c 3d 27 20 20 20 20 EQUAL.....&lt;-.'&lt;&lt;|='....
ebdc0 20 20 20 20 20 20 20 20 20 73 6b 69 70 0a 4c 41 52 52 4f 57 45 51 55 41 4c 20 20 20 20 20 20 20 .........skip.LARROWEQUAL.......
ebde0 20 20 20 26 6c 74 3b 2d 20 27 26 6c 74 3b 3d 27 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 73 ...&lt;-.'&lt;='...............s
ebe00 6b 69 70 0a 4c 42 52 41 43 45 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 26 6c 74 3b 2d 20 27 kip.LBRACE...............&lt;-.'
ebe20 7b 27 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 73 6b 69 70 0a 4c 42 52 41 43 4b 45 54 20 {'................skip.LBRACKET.
ebe40 20 20 20 20 20 20 20 20 20 20 20 20 26 6c 74 3b 2d 20 27 5b 27 20 20 20 20 20 20 20 20 20 20 20 ............&lt;-.'['...........
ebe60 20 20 20 20 20 73 6b 69 70 0a 4c 50 41 52 45 4e 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 26 .....skip.LPAREN...............&
ebe80 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 70 0a 4d 49 4e lt;-.'('................skip.MIN
ebea0 55 53 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 26 6c 74 3b 2d 20 27 2d 27 20 20 20 20 20 US................&lt;-.'-'.....
ebec0 20 21 5b 25 3d 26 67 74 3b 7c 5d 20 20 20 73 6b 69 70 0a 4d 49 4e 55 53 45 51 55 41 4c 20 20 20 .![%=&gt;|]...skip.MINUSEQUAL...
ebee0 20 20 20 20 20 20 20 20 26 6c 74 3b 2d 20 27 2d 3d 27 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ........&lt;-.'-='..............
ebf00 20 73 6b 69 70 0a 4d 49 4e 55 53 50 45 52 43 45 4e 54 20 20 20 20 20 20 20 20 20 26 6c 74 3b 2d .skip.MINUSPERCENT.........&lt;-
ebf20 20 27 2d 25 27 20 20 20 20 20 21 5b 3d 5d 20 20 20 20 20 20 73 6b 69 70 0a 4d 49 4e 55 53 50 45 .'-%'.....![=]......skip.MINUSPE
ebf40 52 43 45 4e 54 45 51 55 41 4c 20 20 20 20 26 6c 74 3b 2d 20 27 2d 25 3d 27 20 20 20 20 20 20 20 RCENTEQUAL....&lt;-.'-%='.......
ebf60 20 20 20 20 20 20 20 73 6b 69 70 0a 4d 49 4e 55 53 50 49 50 45 20 20 20 20 20 20 20 20 20 20 20 .......skip.MINUSPIPE...........
ebf80 20 26 6c 74 3b 2d 20 27 2d 7c 27 20 20 20 20 20 21 5b 3d 5d 20 20 20 20 20 20 73 6b 69 70 0a 4d .&lt;-.'-|'.....![=]......skip.M
ebfa0 49 4e 55 53 50 49 50 45 45 51 55 41 4c 20 20 20 20 20 20 20 26 6c 74 3b 2d 20 27 2d 7c 3d 27 20 INUSPIPEEQUAL.......&lt;-.'-|='.
ebfc0 20 20 20 20 20 20 20 20 20 20 20 20 20 73 6b 69 70 0a 4d 49 4e 55 53 52 41 52 52 4f 57 20 20 20 .............skip.MINUSRARROW...
ebfe0 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 20 .......&lt;-.'-&gt;'............
ec000 20 20 20 73 6b 69 70 0a 50 45 52 43 45 4e 54 20 20 20 20 20 20 20 20 20 20 20 20 20 20 26 6c 74 ...skip.PERCENT..............&lt
ec020 3b 2d 20 27 25 27 20 20 20 20 20 20 21 5b 3d 5d 20 20 20 20 20 20 73 6b 69 70 0a 50 45 52 43 45 ;-.'%'......![=]......skip.PERCE
ec040 4e 54 45 51 55 41 4c 20 20 20 20 20 20 20 20 20 26 6c 74 3b 2d 20 27 25 3d 27 20 20 20 20 20 20 NTEQUAL.........&lt;-.'%='......
ec060 20 20 20 20 20 20 20 20 20 73 6b 69 70 0a 50 49 50 45 20 20 20 20 20 20 20 20 20 20 20 20 20 20 .........skip.PIPE..............
ec080 20 20 20 26 6c 74 3b 2d 20 27 7c 27 20 20 20 20 20 20 21 5b 7c 3d 5d 20 20 20 20 20 73 6b 69 70 ...&lt;-.'|'......![|=].....skip
ec0a0 0a 50 49 50 45 32 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 26 6c 74 3b 2d 20 27 7c 7c 27 .PIPE2................&lt;-.'||'
ec0c0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 73 6b 69 70 0a 50 49 50 45 45 51 55 41 4c 20 20 20 ...............skip.PIPEEQUAL...
ec0e0 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 20 20 20 .........&lt;-.'|='.............
ec100 20 20 73 6b 69 70 0a 50 4c 55 53 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 26 6c 74 3b ..skip.PLUS.................&lt;
ec120 2d 20 27 2b 27 20 20 20 20 20 20 21 5b 25 2b 3d 7c 5d 20 20 20 73 6b 69 70 0a 50 4c 55 53 32 20 -.'+'......![%+=|]...skip.PLUS2.
ec140 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 26 6c 74 3b 2d 20 27 2b 2b 27 20 20 20 20 20 20 20 ...............&lt;-.'++'.......
ec160 20 20 20 20 20 20 20 20 73 6b 69 70 0a 50 4c 55 53 45 51 55 41 4c 20 20 20 20 20 20 20 20 20 20 ........skip.PLUSEQUAL..........
ec180 20 20 26 6c 74 3b 2d 20 27 2b 3d 27 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 73 6b 69 70 0a ..&lt;-.'+='...............skip.
ec1a0 50 4c 55 53 50 45 52 43 45 4e 54 20 20 20 20 20 20 20 20 20 20 26 6c 74 3b 2d 20 27 2b 25 27 20 PLUSPERCENT..........&lt;-.'+%'.
ec1c0 20 20 20 20 21 5b 3d 5d 20 20 20 20 20 20 73 6b 69 70 0a 50 4c 55 53 50 45 52 43 45 4e 54 45 51 ....![=]......skip.PLUSPERCENTEQ
ec1e0 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 20 20 20 20 20 UAL.....&lt;-.'+%='.............
ec200 20 73 6b 69 70 0a 50 4c 55 53 50 49 50 45 20 20 20 20 20 20 20 20 20 20 20 20 20 26 6c 74 3b 2d .skip.PLUSPIPE.............&lt;-
ec220 20 27 2b 7c 27 20 20 20 20 20 21 5b 3d 5d 20 20 20 20 20 20 73 6b 69 70 0a 50 4c 55 53 50 49 50 .'+|'.....![=]......skip.PLUSPIP
ec240 45 45 51 55 41 4c 20 20 20 20 20 20 20 20 26 6c 74 3b 2d 20 27 2b 7c 3d 27 20 20 20 20 20 20 20 EEQUAL........&lt;-.'+|='.......
ec260 20 20 20 20 20 20 20 73 6b 69 70 0a 4c 45 54 54 45 52 43 20 20 20 20 20 20 20 20 20 20 20 20 20 .......skip.LETTERC.............
ec280 20 26 6c 74 3b 2d 20 27 63 27 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 73 6b 69 70 0a 51 .&lt;-.'c'................skip.Q
ec2a0 55 45 53 54 49 4f 4e 4d 41 52 4b 20 20 20 20 20 20 20 20 20 26 6c 74 3b 2d 20 27 3f 27 20 20 20 UESTIONMARK.........&lt;-.'?'...
ec2c0 20 20 20 20 20 20 20 20 20 20 20 20 20 73 6b 69 70 0a 52 41 52 52 4f 57 20 20 20 20 20 20 20 20 .............skip.RARROW........
ec2e0 20 20 20 20 20 20 20 26 6c 74 3b 2d 20 27 26 67 74 3b 27 20 20 20 20 20 20 21 5b 26 67 74 3b 3d .......&lt;-.'&gt;'......![&gt;=
ec300 5d 20 20 20 20 20 73 6b 69 70 0a 52 41 52 52 4f 57 32 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ].....skip.RARROW2..............
ec320 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 20 20 20 20 20 20 73 &lt;-.'&gt;&gt;'.....![=]......s
ec340 6b 69 70 0a 52 41 52 52 4f 57 32 45 51 55 41 4c 20 20 20 20 20 20 20 20 20 26 6c 74 3b 2d 20 27 kip.RARROW2EQUAL.........&lt;-.'
ec360 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 0a 52 41 52 &gt;&gt;='..............skip.RAR
ec380 52 4f 57 45 51 55 41 4c 20 20 20 20 20 20 20 20 20 20 26 6c 74 3b 2d 20 27 26 67 74 3b 3d 27 20 ROWEQUAL..........&lt;-.'&gt;='.
ec3a0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 73 6b 69 70 0a 52 42 52 41 43 45 20 20 20 20 20 20 20 ..............skip.RBRACE.......
ec3c0 20 20 20 20 20 20 20 20 26 6c 74 3b 2d 20 27 7d 27 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ........&lt;-.'}'...............
ec3e0 20 73 6b 69 70 0a 52 42 52 41 43 4b 45 54 20 20 20 20 20 20 20 20 20 20 20 20 20 26 6c 74 3b 2d .skip.RBRACKET.............&lt;-
ec400 20 27 5d 27 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 73 6b 69 70 0a 52 50 41 52 45 4e 20 .']'................skip.RPAREN.
ec420 20 20 20 20 20 20 20 20 20 20 20 20 20 20 26 6c 74 3b 2d 20 27 29 27 20 20 20 20 20 20 20 20 20 ..............&lt;-.')'.........
ec440 20 20 20 20 20 20 20 73 6b 69 70 0a 53 45 4d 49 43 4f 4c 4f 4e 20 20 20 20 20 20 20 20 20 20 20 .......skip.SEMICOLON...........
ec460 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 70 0a 53 .&lt;-.';'................skip.S
ec480 4c 41 53 48 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 26 6c 74 3b 2d 20 27 2f 27 20 20 20 LASH................&lt;-.'/'...
ec4a0 20 20 20 21 5b 3d 5d 20 20 20 20 20 20 73 6b 69 70 0a 53 4c 41 53 48 45 51 55 41 4c 20 20 20 20 ...![=]......skip.SLASHEQUAL....
ec4c0 20 20 20 20 20 20 20 26 6c 74 3b 2d 20 27 2f 3d 27 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 .......&lt;-.'/='...............
ec4e0 73 6b 69 70 0a 54 49 4c 44 45 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 26 6c 74 3b 2d 20 skip.TILDE................&lt;-.
ec500 27 7e 27 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 73 6b 69 70 0a 0a 65 6e 64 5f 6f 66 5f '~'................skip..end_of_
ec520 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 69 70 0a 4b 45 word.&lt;-.![a-zA-Z0-9_].skip.KE
ec540 59 57 4f 52 44 5f 61 64 64 72 73 70 61 63 65 20 20 20 26 6c 74 3b 2d 20 27 61 64 64 72 73 70 61 YWORD_addrspace...&lt;-.'addrspa
ec560 63 65 27 20 20 20 65 6e 64 5f 6f 66 5f 77 6f 72 64 0a 4b 45 59 57 4f 52 44 5f 61 6c 69 67 6e 20 ce'...end_of_word.KEYWORD_align.
ec580 20 20 20 20 20 20 26 6c 74 3b 2d 20 27 61 6c 69 67 6e 27 20 20 20 20 20 20 20 65 6e 64 5f 6f 66 ......&lt;-.'align'.......end_of
ec5a0 5f 77 6f 72 64 0a 4b 45 59 57 4f 52 44 5f 61 6c 6c 6f 77 7a 65 72 6f 20 20 20 26 6c 74 3b 2d 20 _word.KEYWORD_allowzero...&lt;-.
ec5c0 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 0a 4b 45 59 57 4f 52 'allowzero'...end_of_word.KEYWOR
ec5e0 44 5f 61 6e 64 20 20 20 20 20 20 20 20 20 26 6c 74 3b 2d 20 27 61 6e 64 27 20 20 20 20 20 20 20 D_and.........&lt;-.'and'.......
ec600 20 20 65 6e 64 5f 6f 66 5f 77 6f 72 64 0a 4b 45 59 57 4f 52 44 5f 61 6e 79 66 72 61 6d 65 20 20 ..end_of_word.KEYWORD_anyframe..
ec620 20 20 26 6c 74 3b 2d 20 27 61 6e 79 66 72 61 6d 65 27 20 20 20 20 65 6e 64 5f 6f 66 5f 77 6f 72 ..&lt;-.'anyframe'....end_of_wor
ec640 64 0a 4b 45 59 57 4f 52 44 5f 61 6e 79 74 79 70 65 20 20 20 20 20 26 6c 74 3b 2d 20 27 61 6e 79 d.KEYWORD_anytype.....&lt;-.'any
ec660 74 79 70 65 27 20 20 20 20 20 65 6e 64 5f 6f 66 5f 77 6f 72 64 0a 4b 45 59 57 4f 52 44 5f 61 73 type'.....end_of_word.KEYWORD_as
ec680 6d 20 20 20 20 20 20 20 20 20 26 6c 74 3b 2d 20 27 61 73 6d 27 20 20 20 20 20 20 20 20 20 65 6e m.........&lt;-.'asm'.........en
ec6a0 64 5f 6f 66 5f 77 6f 72 64 0a 4b 45 59 57 4f 52 44 5f 62 72 65 61 6b 20 20 20 20 20 20 20 26 6c d_of_word.KEYWORD_break.......&l
ec6c0 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 0a 4b 45 t;-.'break'.......end_of_word.KE
ec6e0 59 57 4f 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 YWORD_callconv....&lt;-.'callcon
ec700 76 27 20 20 20 20 65 6e 64 5f 6f 66 5f 77 6f 72 64 0a 4b 45 59 57 4f 52 44 5f 63 61 74 63 68 20 v'....end_of_word.KEYWORD_catch.
ec720 20 20 20 20 20 20 26 6c 74 3b 2d 20 27 63 61 74 63 68 27 20 20 20 20 20 20 20 65 6e 64 5f 6f 66 ......&lt;-.'catch'.......end_of
ec740 5f 77 6f 72 64 0a 4b 45 59 57 4f 52 44 5f 63 6f 6d 70 74 69 6d 65 20 20 20 20 26 6c 74 3b 2d 20 _word.KEYWORD_comptime....&lt;-.
ec760 27 63 6f 6d 70 74 69 6d 65 27 20 20 20 20 65 6e 64 5f 6f 66 5f 77 6f 72 64 0a 4b 45 59 57 4f 52 'comptime'....end_of_word.KEYWOR
ec780 44 5f 63 6f 6e 73 74 20 20 20 20 20 20 20 26 6c 74 3b 2d 20 27 63 6f 6e 73 74 27 20 20 20 20 20 D_const.......&lt;-.'const'.....
ec7a0 20 20 65 6e 64 5f 6f 66 5f 77 6f 72 64 0a 4b 45 59 57 4f 52 44 5f 63 6f 6e 74 69 6e 75 65 20 20 ..end_of_word.KEYWORD_continue..
ec7c0 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 66 5f 77 6f 72 ..&lt;-.'continue'....end_of_wor
ec7e0 64 0a 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 d.KEYWORD_defer.......&lt;-.'def
ec800 65 72 27 20 20 20 20 20 20 20 65 6e 64 5f 6f 66 5f 77 6f 72 64 0a 4b 45 59 57 4f 52 44 5f 65 6c er'.......end_of_word.KEYWORD_el
ec820 73 65 20 20 20 20 20 20 20 20 26 6c 74 3b 2d 20 27 65 6c 73 65 27 20 20 20 20 20 20 20 20 65 6e se........&lt;-.'else'........en
ec840 64 5f 6f 66 5f 77 6f 72 64 0a 4b 45 59 57 4f 52 44 5f 65 6e 75 6d 20 20 20 20 20 20 20 20 26 6c d_of_word.KEYWORD_enum........&l
ec860 74 3b 2d 20 27 65 6e 75 6d 27 20 20 20 20 20 20 20 20 65 6e 64 5f 6f 66 5f 77 6f 72 64 0a 4b 45 t;-.'enum'........end_of_word.KE
ec880 59 57 4f 52 44 5f 65 72 72 64 65 66 65 72 20 20 20 20 26 6c 74 3b 2d 20 27 65 72 72 64 65 66 65 YWORD_errdefer....&lt;-.'errdefe
ec8a0 72 27 20 20 20 20 65 6e 64 5f 6f 66 5f 77 6f 72 64 0a 4b 45 59 57 4f 52 44 5f 65 72 72 6f 72 20 r'....end_of_word.KEYWORD_error.
ec8c0 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 20 65 6e 64 5f 6f 66 ......&lt;-.'error'.......end_of
ec8e0 5f 77 6f 72 64 0a 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 20 _word.KEYWORD_export......&lt;-.
ec900 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 0a 4b 45 59 57 4f 52 'export'......end_of_word.KEYWOR
ec920 44 5f 65 78 74 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 D_extern......&lt;-.'extern'....
ec940 20 20 65 6e 64 5f 6f 66 5f 77 6f 72 64 0a 4b 45 59 57 4f 52 44 5f 66 6e 20 20 20 20 20 20 20 20 ..end_of_word.KEYWORD_fn........
ec960 20 20 26 6c 74 3b 2d 20 27 66 6e 27 20 20 20 20 20 20 20 20 20 20 65 6e 64 5f 6f 66 5f 77 6f 72 ..&lt;-.'fn'..........end_of_wor
ec980 64 0a 4b 45 59 57 4f 52 44 5f 66 6f 72 20 20 20 20 20 20 20 20 20 26 6c 74 3b 2d 20 27 66 6f 72 d.KEYWORD_for.........&lt;-.'for
ec9a0 27 20 20 20 20 20 20 20 20 20 65 6e 64 5f 6f 66 5f 77 6f 72 64 0a 4b 45 59 57 4f 52 44 5f 69 66 '.........end_of_word.KEYWORD_if
ec9c0 20 20 20 20 20 20 20 20 20 20 26 6c 74 3b 2d 20 27 69 66 27 20 20 20 20 20 20 20 20 20 20 65 6e ..........&lt;-.'if'..........en
ec9e0 64 5f 6f 66 5f 77 6f 72 64 0a 4b 45 59 57 4f 52 44 5f 69 6e 6c 69 6e 65 20 20 20 20 20 20 26 6c d_of_word.KEYWORD_inline......&l
eca00 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 0a 4b 45 t;-.'inline'......end_of_word.KE
eca20 59 57 4f 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 YWORD_noalias.....&lt;-.'noalias
eca40 27 20 20 20 20 20 65 6e 64 5f 6f 66 5f 77 6f 72 64 0a 4b 45 59 57 4f 52 44 5f 6e 6f 73 75 73 70 '.....end_of_word.KEYWORD_nosusp
eca60 65 6e 64 20 20 20 26 6c 74 3b 2d 20 27 6e 6f 73 75 73 70 65 6e 64 27 20 20 20 65 6e 64 5f 6f 66 end...&lt;-.'nosuspend'...end_of
eca80 5f 77 6f 72 64 0a 4b 45 59 57 4f 52 44 5f 6e 6f 69 6e 6c 69 6e 65 20 20 20 20 26 6c 74 3b 2d 20 _word.KEYWORD_noinline....&lt;-.
ecaa0 27 6e 6f 69 6e 6c 69 6e 65 27 20 20 20 20 65 6e 64 5f 6f 66 5f 77 6f 72 64 0a 4b 45 59 57 4f 52 'noinline'....end_of_word.KEYWOR
ecac0 44 5f 6f 70 61 71 75 65 20 20 20 20 20 20 26 6c 74 3b 2d 20 27 6f 70 61 71 75 65 27 20 20 20 20 D_opaque......&lt;-.'opaque'....
ecae0 20 20 65 6e 64 5f 6f 66 5f 77 6f 72 64 0a 4b 45 59 57 4f 52 44 5f 6f 72 20 20 20 20 20 20 20 20 ..end_of_word.KEYWORD_or........
ecb00 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 66 5f 77 6f 72 ..&lt;-.'or'..........end_of_wor
ecb20 64 0a 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 d.KEYWORD_orelse......&lt;-.'ore
ecb40 6c 73 65 27 20 20 20 20 20 20 65 6e 64 5f 6f 66 5f 77 6f 72 64 0a 4b 45 59 57 4f 52 44 5f 70 61 lse'......end_of_word.KEYWORD_pa
ecb60 63 6b 65 64 20 20 20 20 20 20 26 6c 74 3b 2d 20 27 70 61 63 6b 65 64 27 20 20 20 20 20 20 65 6e cked......&lt;-.'packed'......en
ecb80 64 5f 6f 66 5f 77 6f 72 64 0a 4b 45 59 57 4f 52 44 5f 70 75 62 20 20 20 20 20 20 20 20 20 26 6c d_of_word.KEYWORD_pub.........&l
ecba0 74 3b 2d 20 27 70 75 62 27 20 20 20 20 20 20 20 20 20 65 6e 64 5f 6f 66 5f 77 6f 72 64 0a 4b 45 t;-.'pub'.........end_of_word.KE
ecbc0 59 57 4f 52 44 5f 72 65 73 75 6d 65 20 20 20 20 20 20 26 6c 74 3b 2d 20 27 72 65 73 75 6d 65 27 YWORD_resume......&lt;-.'resume'
ecbe0 20 20 20 20 20 20 65 6e 64 5f 6f 66 5f 77 6f 72 64 0a 4b 45 59 57 4f 52 44 5f 72 65 74 75 72 6e ......end_of_word.KEYWORD_return
ecc00 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 20 65 6e 64 5f 6f 66 ......&lt;-.'return'......end_of
ecc20 5f 77 6f 72 64 0a 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 20 _word.KEYWORD_linksection.&lt;-.
ecc40 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 0a 4b 45 59 57 4f 52 'linksection'.end_of_word.KEYWOR
ecc60 44 5f 73 74 72 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 D_struct......&lt;-.'struct'....
ecc80 20 20 65 6e 64 5f 6f 66 5f 77 6f 72 64 0a 4b 45 59 57 4f 52 44 5f 73 75 73 70 65 6e 64 20 20 20 ..end_of_word.KEYWORD_suspend...
ecca0 20 20 26 6c 74 3b 2d 20 27 73 75 73 70 65 6e 64 27 20 20 20 20 20 65 6e 64 5f 6f 66 5f 77 6f 72 ..&lt;-.'suspend'.....end_of_wor
eccc0 64 0a 4b 45 59 57 4f 52 44 5f 73 77 69 74 63 68 20 20 20 20 20 20 26 6c 74 3b 2d 20 27 73 77 69 d.KEYWORD_switch......&lt;-.'swi
ecce0 74 63 68 27 20 20 20 20 20 20 65 6e 64 5f 6f 66 5f 77 6f 72 64 0a 4b 45 59 57 4f 52 44 5f 74 65 tch'......end_of_word.KEYWORD_te
ecd00 73 74 20 20 20 20 20 20 20 20 26 6c 74 3b 2d 20 27 74 65 73 74 27 20 20 20 20 20 20 20 20 65 6e st........&lt;-.'test'........en
ecd20 64 5f 6f 66 5f 77 6f 72 64 0a 4b 45 59 57 4f 52 44 5f 74 68 72 65 61 64 6c 6f 63 61 6c 20 26 6c d_of_word.KEYWORD_threadlocal.&l
ecd40 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 0a 4b 45 t;-.'threadlocal'.end_of_word.KE
ecd60 59 57 4f 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 YWORD_try.........&lt;-.'try'...
ecd80 20 20 20 20 20 20 65 6e 64 5f 6f 66 5f 77 6f 72 64 0a 4b 45 59 57 4f 52 44 5f 75 6e 69 6f 6e 20 ......end_of_word.KEYWORD_union.
ecda0 20 20 20 20 20 20 26 6c 74 3b 2d 20 27 75 6e 69 6f 6e 27 20 20 20 20 20 20 20 65 6e 64 5f 6f 66 ......&lt;-.'union'.......end_of
ecdc0 5f 77 6f 72 64 0a 4b 45 59 57 4f 52 44 5f 75 6e 72 65 61 63 68 61 62 6c 65 20 26 6c 74 3b 2d 20 _word.KEYWORD_unreachable.&lt;-.
ecde0 27 75 6e 72 65 61 63 68 61 62 6c 65 27 20 65 6e 64 5f 6f 66 5f 77 6f 72 64 0a 4b 45 59 57 4f 52 'unreachable'.end_of_word.KEYWOR
ece00 44 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 D_var.........&lt;-.'var'.......
ece20 20 20 65 6e 64 5f 6f 66 5f 77 6f 72 64 0a 4b 45 59 57 4f 52 44 5f 76 6f 6c 61 74 69 6c 65 20 20 ..end_of_word.KEYWORD_volatile..
ece40 20 20 26 6c 74 3b 2d 20 27 76 6f 6c 61 74 69 6c 65 27 20 20 20 20 65 6e 64 5f 6f 66 5f 77 6f 72 ..&lt;-.'volatile'....end_of_wor
ece60 64 0a 4b 45 59 57 4f 52 44 5f 77 68 69 6c 65 20 20 20 20 20 20 20 26 6c 74 3b 2d 20 27 77 68 69 d.KEYWORD_while.......&lt;-.'whi
ece80 6c 65 27 20 20 20 20 20 20 20 65 6e 64 5f 6f 66 5f 77 6f 72 64 0a 0a 6b 65 79 77 6f 72 64 20 26 le'.......end_of_word..keyword.&
ecea0 6c 74 3b 2d 20 4b 45 59 57 4f 52 44 5f 61 64 64 72 73 70 61 63 65 20 2f 20 4b 45 59 57 4f 52 44 lt;-.KEYWORD_addrspace./.KEYWORD
ecec0 5f 61 6c 69 67 6e 20 2f 20 4b 45 59 57 4f 52 44 5f 61 6c 6c 6f 77 7a 65 72 6f 20 2f 20 4b 45 59 _align./.KEYWORD_allowzero./.KEY
ecee0 57 4f 52 44 5f 61 6e 64 0a 20 20 20 20 20 20 20 20 20 2f 20 4b 45 59 57 4f 52 44 5f 61 6e 79 66 WORD_and........../.KEYWORD_anyf
ecf00 72 61 6d 65 20 2f 20 4b 45 59 57 4f 52 44 5f 61 6e 79 74 79 70 65 20 2f 20 4b 45 59 57 4f 52 44 rame./.KEYWORD_anytype./.KEYWORD
ecf20 5f 61 73 6d 0a 20 20 20 20 20 20 20 20 20 2f 20 4b 45 59 57 4f 52 44 5f 62 72 65 61 6b 20 2f 20 _asm........../.KEYWORD_break./.
ecf40 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 44 5f 63 61 74 63 68 KEYWORD_callconv./.KEYWORD_catch
ecf60 0a 20 20 20 20 20 20 20 20 20 2f 20 4b 45 59 57 4f 52 44 5f 63 6f 6d 70 74 69 6d 65 20 2f 20 4b ........../.KEYWORD_comptime./.K
ecf80 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 20 EYWORD_const./.KEYWORD_continue.
ecfa0 2f 20 4b 45 59 57 4f 52 44 5f 64 65 66 65 72 0a 20 20 20 20 20 20 20 20 20 2f 20 4b 45 59 57 4f /.KEYWORD_defer........../.KEYWO
ecfc0 52 44 5f 65 6c 73 65 20 2f 20 4b 45 59 57 4f 52 44 5f 65 6e 75 6d 20 2f 20 4b 45 59 57 4f 52 44 RD_else./.KEYWORD_enum./.KEYWORD
ecfe0 5f 65 72 72 64 65 66 65 72 20 2f 20 4b 45 59 57 4f 52 44 5f 65 72 72 6f 72 20 2f 20 4b 45 59 57 _errdefer./.KEYWORD_error./.KEYW
ed000 4f 52 44 5f 65 78 70 6f 72 74 0a 20 20 20 20 20 20 20 20 20 2f 20 4b 45 59 57 4f 52 44 5f 65 78 ORD_export........../.KEYWORD_ex
ed020 74 65 72 6e 20 2f 20 4b 45 59 57 4f 52 44 5f 66 6e 20 2f 20 4b 45 59 57 4f 52 44 5f 66 6f 72 20 tern./.KEYWORD_fn./.KEYWORD_for.
ed040 2f 20 4b 45 59 57 4f 52 44 5f 69 66 0a 20 20 20 20 20 20 20 20 20 2f 20 4b 45 59 57 4f 52 44 5f /.KEYWORD_if........../.KEYWORD_
ed060 69 6e 6c 69 6e 65 20 2f 20 4b 45 59 57 4f 52 44 5f 6e 6f 61 6c 69 61 73 20 2f 20 4b 45 59 57 4f inline./.KEYWORD_noalias./.KEYWO
ed080 52 44 5f 6e 6f 73 75 73 70 65 6e 64 20 2f 20 4b 45 59 57 4f 52 44 5f 6e 6f 69 6e 6c 69 6e 65 0a RD_nosuspend./.KEYWORD_noinline.
ed0a0 20 20 20 20 20 20 20 20 20 2f 20 4b 45 59 57 4f 52 44 5f 6f 70 61 71 75 65 20 2f 20 4b 45 59 57 ........./.KEYWORD_opaque./.KEYW
ed0c0 4f 52 44 5f 6f 72 20 2f 20 4b 45 59 57 4f 52 44 5f 6f 72 65 6c 73 65 20 2f 20 4b 45 59 57 4f 52 ORD_or./.KEYWORD_orelse./.KEYWOR
ed0e0 44 5f 70 61 63 6b 65 64 0a 20 20 20 20 20 20 20 20 20 2f 20 4b 45 59 57 4f 52 44 5f 70 75 62 20 D_packed........../.KEYWORD_pub.
ed100 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 74 75 72 /.KEYWORD_resume./.KEYWORD_retur
ed120 6e 20 2f 20 4b 45 59 57 4f 52 44 5f 6c 69 6e 6b 73 65 63 74 69 6f 6e 0a 20 20 20 20 20 20 20 20 n./.KEYWORD_linksection.........
ed140 20 2f 20 4b 45 59 57 4f 52 44 5f 73 74 72 75 63 74 20 2f 20 4b 45 59 57 4f 52 44 5f 73 75 73 70 ./.KEYWORD_struct./.KEYWORD_susp
ed160 65 6e 64 20 2f 20 4b 45 59 57 4f 52 44 5f 73 77 69 74 63 68 20 2f 20 4b 45 59 57 4f 52 44 5f 74 end./.KEYWORD_switch./.KEYWORD_t
ed180 65 73 74 0a 20 20 20 20 20 20 20 20 20 2f 20 4b 45 59 57 4f 52 44 5f 74 68 72 65 61 64 6c 6f 63 est........../.KEYWORD_threadloc
ed1a0 61 6c 20 2f 20 4b 45 59 57 4f 52 44 5f 74 72 79 20 2f 20 4b 45 59 57 4f 52 44 5f 75 6e 69 6f 6e al./.KEYWORD_try./.KEYWORD_union
ed1c0 20 2f 20 4b 45 59 57 4f 52 44 5f 75 6e 72 65 61 63 68 61 62 6c 65 0a 20 20 20 20 20 20 20 20 20 ./.KEYWORD_unreachable..........
ed1e0 2f 20 4b 45 59 57 4f 52 44 5f 76 61 72 20 2f 20 4b 45 59 57 4f 52 44 5f 76 6f 6c 61 74 69 6c 65 /.KEYWORD_var./.KEYWORD_volatile
ed200 20 2f 20 4b 45 59 57 4f 52 44 5f 77 68 69 6c 65 3c 2f 63 6f 64 65 3e 3c 2f 70 72 65 3e 3c 2f 66 ./.KEYWORD_while</code></pre></f
ed220 69 67 75 72 65 3e 0a 20 20 20 20 20 20 0a 20 20 20 20 20 20 3c 68 33 20 69 64 3d 22 5a 65 6e 22 igure>..............<h3.id="Zen"
ed240 3e 3c 61 20 68 72 65 66 3d 22 6e 61 76 2e 78 68 74 6d 6c 23 74 6f 63 2d 5a 65 6e 22 3e 5a 65 6e ><a.href="nav.xhtml#toc-Zen">Zen
ed260 3c 2f 61 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 65 6e 22 3e </a>.<a.class="hdr".href="#Zen">
ed280 c2 a7 3c 2f 61 3e 3c 2f 68 33 3e 0a 0a 20 20 20 20 20 20 3c 75 6c 3e 0a 20 20 20 20 20 20 20 20 ..</a></h3>........<ul>.........
ed2a0 3c 6c 69 3e 43 6f 6d 6d 75 6e 69 63 61 74 65 20 69 6e 74 65 6e 74 20 70 72 65 63 69 73 65 6c 79 <li>Communicate.intent.precisely
ed2c0 2e 3c 2f 6c 69 3e 0a 20 20 20 20 20 20 20 20 3c 6c 69 3e 45 64 67 65 20 63 61 73 65 73 20 6d 61 .</li>.........<li>Edge.cases.ma
ed2e0 74 74 65 72 2e 3c 2f 6c 69 3e 0a 20 20 20 20 20 20 20 20 3c 6c 69 3e 46 61 76 6f 72 20 72 65 61 tter.</li>.........<li>Favor.rea
ed300 64 69 6e 67 20 63 6f 64 65 20 6f 76 65 72 20 77 72 69 74 69 6e 67 20 63 6f 64 65 2e 3c 2f 6c 69 ding.code.over.writing.code.</li
ed320 3e 0a 20 20 20 20 20 20 20 20 3c 6c 69 3e 4f 6e 6c 79 20 6f 6e 65 20 6f 62 76 69 6f 75 73 20 77 >.........<li>Only.one.obvious.w
ed340 61 79 20 74 6f 20 64 6f 20 74 68 69 6e 67 73 2e 3c 2f 6c 69 3e 0a 20 20 20 20 20 20 20 20 3c 6c ay.to.do.things.</li>.........<l
ed360 69 3e 52 75 6e 74 69 6d 65 20 63 72 61 73 68 65 73 20 61 72 65 20 62 65 74 74 65 72 20 74 68 61 i>Runtime.crashes.are.better.tha
ed380 6e 20 62 75 67 73 2e 3c 2f 6c 69 3e 0a 20 20 20 20 20 20 20 20 3c 6c 69 3e 43 6f 6d 70 69 6c 65 n.bugs.</li>.........<li>Compile
ed3a0 20 65 72 72 6f 72 73 20 61 72 65 20 62 65 74 74 65 72 20 74 68 61 6e 20 72 75 6e 74 69 6d 65 20 .errors.are.better.than.runtime.
ed3c0 63 72 61 73 68 65 73 2e 3c 2f 6c 69 3e 0a 20 20 20 20 20 20 20 20 3c 6c 69 3e 49 6e 63 72 65 6d crashes.</li>.........<li>Increm
ed3e0 65 6e 74 61 6c 20 69 6d 70 72 6f 76 65 6d 65 6e 74 73 2e 3c 2f 6c 69 3e 0a 20 20 20 20 20 20 20 ental.improvements.</li>........
ed400 20 3c 6c 69 3e 41 76 6f 69 64 20 6c 6f 63 61 6c 20 6d 61 78 69 6d 75 6d 73 2e 3c 2f 6c 69 3e 0a .<li>Avoid.local.maximums.</li>.
ed420 20 20 20 20 20 20 20 20 3c 6c 69 3e 52 65 64 75 63 65 20 74 68 65 20 61 6d 6f 75 6e 74 20 6f 6e ........<li>Reduce.the.amount.on
ed440 65 20 6d 75 73 74 20 72 65 6d 65 6d 62 65 72 2e 3c 2f 6c 69 3e 0a 20 20 20 20 20 20 20 20 3c 6c e.must.remember.</li>.........<l
ed460 69 3e 46 6f 63 75 73 20 6f 6e 20 63 6f 64 65 20 72 61 74 68 65 72 20 74 68 61 6e 20 73 74 79 6c i>Focus.on.code.rather.than.styl
ed480 65 2e 3c 2f 6c 69 3e 0a 20 20 20 20 20 20 20 20 3c 6c 69 3e 52 65 73 6f 75 72 63 65 20 61 6c 6c e.</li>.........<li>Resource.all
ed4a0 6f 63 61 74 69 6f 6e 20 6d 61 79 20 66 61 69 6c 3b 20 72 65 73 6f 75 72 63 65 20 64 65 61 6c 6c ocation.may.fail;.resource.deall
ed4c0 6f 63 61 74 69 6f 6e 20 6d 75 73 74 20 73 75 63 63 65 65 64 2e 3c 2f 6c 69 3e 0a 20 20 20 20 20 ocation.must.succeed.</li>......
ed4e0 20 20 20 3c 6c 69 3e 4d 65 6d 6f 72 79 20 69 73 20 61 20 72 65 73 6f 75 72 63 65 2e 3c 2f 6c 69 ...<li>Memory.is.a.resource.</li
ed500 3e 0a 20 20 20 20 20 20 20 20 3c 6c 69 3e 54 6f 67 65 74 68 65 72 20 77 65 20 73 65 72 76 65 20 >.........<li>Together.we.serve.
ed520 74 68 65 20 75 73 65 72 73 2e 3c 2f 6c 69 3e 0a 20 20 20 20 20 20 3c 2f 75 6c 3e 0a 20 20 20 20 the.users.</li>.......</ul>.....
ed540 20 20 0a 20 20 20 20 20 20 0a 20 20 20 20 20 20 3c 2f 6d 61 69 6e 3e 3c 2f 64 69 76 3e 0a 20 20 ................</main></div>...
ed560 20 20 3c 2f 64 69 76 3e 0a 20 20 3c 2f 62 6f 64 79 3e 0a 3c 2f 68 74 6d 6c 3e 0a 50 4b 01 02 14 ..</div>...</body>.</html>.PK...
ed580 00 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 00 00 00 00 00 .........!Roa.,.................
ed5a0 00 00 00 00 00 00 00 00 00 6d 69 6d 65 74 79 70 65 50 4b 01 02 14 00 14 00 00 00 00 00 00 00 21 .........mimetypePK............!
ed5c0 52 6f 92 d0 0a fc 00 00 00 fc 00 00 00 16 00 00 00 00 00 00 00 00 00 00 00 00 00 3a 00 00 00 4d Ro.........................:...M
ed5e0 45 54 41 2d 49 4e 46 2f 63 6f 6e 74 61 69 6e 65 72 2e 78 6d 6c 50 4b 01 02 14 00 14 00 00 00 00 ETA-INF/container.xmlPK.........
ed600 00 00 00 21 52 30 83 18 af c4 02 00 00 c4 02 00 00 11 00 00 00 00 00 00 00 00 00 00 00 00 00 6a ...!R0.........................j
ed620 01 00 00 4f 45 42 50 53 2f 63 6f 6e 74 65 6e 74 2e 6f 70 66 50 4b 01 02 14 00 14 00 00 00 00 00 ...OEBPS/content.opfPK..........
ed640 00 00 21 52 d6 96 c5 d6 c7 8e 00 00 c7 8e 00 00 0f 00 00 00 00 00 00 00 00 00 00 00 00 00 5d 04 ..!R..........................].
ed660 00 00 4f 45 42 50 53 2f 6e 61 76 2e 78 68 74 6d 6c 50 4b 01 02 14 00 14 00 00 00 00 00 00 00 21 ..OEBPS/nav.xhtmlPK............!
ed680 52 81 44 88 ac fb 41 0e 00 fb 41 0e 00 11 00 00 00 00 00 00 00 00 00 00 00 00 00 51 93 00 00 4f R.D...A...A................Q...O
ed6a0 45 42 50 53 2f 69 6e 64 65 78 2e 78 68 74 6d 6c 50 4b 05 06 00 00 00 00 05 00 05 00 35 01 00 00 EBPS/index.xhtmlPK..........5...
ed6c0 7b d5 0e 00 00 00 {.....