aboutsummaryrefslogtreecommitdiffstats
path: root/epubs/zig-0.10.1.epub
blob: b153576cf9e8b83ecd4e4a56d2ac16206a4af2bd (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 47 99 e1 0e a9 02 00 00 ontainer>.PK..........!RG.......
0180 a9 02 00 00 11 00 00 00 4f 45 42 50 53 2f 63 6f 6e 74 65 6e 74 2e 6f 70 66 3c 3f 78 6d 6c 20 76 ........OEBPS/content.opf<?xml.v
01a0 65 72 73 69 6f 6e 3d 22 31 2e 30 22 20 65 6e 63 6f 64 69 6e 67 3d 22 75 74 66 2d 38 22 3f 3e 0a ersion="1.0".encoding="utf-8"?>.
01c0 3c 70 61 63 6b 61 67 65 20 78 6d 6c 6e 73 3d 22 68 74 74 70 3a 2f 2f 77 77 77 2e 69 64 70 66 2e <package.xmlns="http://www.idpf.
01e0 6f 72 67 2f 32 30 30 37 2f 6f 70 66 22 20 76 65 72 73 69 6f 6e 3d 22 33 2e 30 22 20 75 6e 69 71 org/2007/opf".version="3.0".uniq
0200 75 65 2d 69 64 65 6e 74 69 66 69 65 72 3d 22 70 75 62 2d 69 64 22 3e 0a 20 20 3c 6d 65 74 61 64 ue-identifier="pub-id">...<metad
0220 61 74 61 20 78 6d 6c 6e 73 3a 64 63 3d 22 68 74 74 70 3a 2f 2f 70 75 72 6c 2e 6f 72 67 2f 64 63 ata.xmlns:dc="http://purl.org/dc
0240 2f 65 6c 65 6d 65 6e 74 73 2f 31 2e 31 2f 22 3e 0a 20 20 20 20 3c 64 63 3a 69 64 65 6e 74 69 66 /elements/1.1/">.....<dc:identif
0260 69 65 72 20 69 64 3d 22 70 75 62 2d 69 64 22 3e 75 72 6e 3a 7a 69 67 6c 61 6e 67 2d 64 6f 63 73 ier.id="pub-id">urn:ziglang-docs
0280 3a 30 2e 31 30 2e 31 3c 2f 64 63 3a 69 64 65 6e 74 69 66 69 65 72 3e 0a 20 20 20 20 3c 64 63 3a :0.10.1</dc:identifier>.....<dc:
02a0 74 69 74 6c 65 3e 5a 69 67 20 4c 61 6e 67 75 61 67 65 20 52 65 66 65 72 65 6e 63 65 20 28 30 2e title>Zig.Language.Reference.(0.
02c0 31 30 2e 31 29 3c 2f 64 63 3a 74 69 74 6c 65 3e 0a 20 20 20 20 3c 64 63 3a 6c 61 6e 67 75 61 67 10.1)</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 69 6e 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 f="index"/>...</spine>.</package
0440 3e 0a 50 4b 03 04 14 00 00 00 00 00 00 00 21 52 e5 f6 6b e9 88 01 00 00 88 01 00 00 0f 00 00 00 >.PK..........!R..k.............
0460 4f 45 42 50 53 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 OEBPS/nav.xhtml<?xml.version="1.
0480 30 22 20 65 6e 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 0".encoding="utf-8"?>.<html.xmln
04a0 73 3d 22 68 74 74 70 3a 2f 2f 77 77 77 2e 77 33 2e 6f 72 67 2f 31 39 39 39 2f 78 68 74 6d 6c 22 s="http://www.w3.org/1999/xhtml"
04c0 20 78 6d 6c 6e 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 .xmlns:epub="http://www.idpf.org
04e0 2f 32 30 30 37 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 /2007/ops".lang="en">...<head><t
0500 69 74 6c 65 3e 5a 69 67 20 4c 61 6e 67 75 61 67 65 20 52 65 66 65 72 65 6e 63 65 20 28 30 2e 31 itle>Zig.Language.Reference.(0.1
0520 30 2e 31 29 3c 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 0.1)</title></head>...<body>....
0540 20 3c 6e 61 76 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 .<nav.epub:type="toc".id="toc">.
0560 20 20 20 20 20 20 3c 68 31 3e 43 6f 6e 74 65 6e 74 73 3c 2f 68 31 3e 0a 20 20 20 20 20 20 3c 6f ......<h1>Contents</h1>.......<o
0580 6c 3e 0a 20 20 20 20 20 20 20 20 3c 6c 69 3e 3c 61 20 68 72 65 66 3d 22 69 6e 64 65 78 2e 78 68 l>.........<li><a.href="index.xh
05a0 74 6d 6c 22 3e 5a 69 67 20 4c 61 6e 67 75 61 67 65 20 52 65 66 65 72 65 6e 63 65 20 28 30 2e 31 tml">Zig.Language.Reference.(0.1
05c0 30 2e 31 29 3c 2f 61 3e 3c 2f 6c 69 3e 0a 20 20 20 20 20 20 3c 2f 6f 6c 3e 0a 20 20 20 20 3c 2f 0.1)</a></li>.......</ol>.....</
05e0 6e 61 76 3e 0a 20 20 3c 2f 62 6f 64 79 3e 0a 3c 2f 68 74 6d 6c 3e 0a 50 4b 03 04 14 00 00 00 00 nav>...</body>.</html>.PK.......
0600 00 00 00 21 52 85 93 f0 fa 58 44 11 00 58 44 11 00 11 00 00 00 4f 45 42 50 53 2f 69 6e 64 65 78 ...!R....XD..XD......OEBPS/index
0620 2e 78 68 74 6d 6c 3c 3f 78 6d 6c 20 76 65 72 73 69 6f 6e 3d 22 31 2e 30 22 20 65 6e 63 6f 64 69 .xhtml<?xml.version="1.0".encodi
0640 6e 67 3d 22 75 74 66 2d 38 22 3f 3e 0a 0a 3c 68 74 6d 6c 20 78 6d 6c 6e 73 3d 22 68 74 74 70 3a ng="utf-8"?>..<html.xmlns="http:
0660 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 6c 61 6e 67 3d 22 65 //www.w3.org/1999/xhtml".lang="e
0680 6e 22 3e 0a 20 20 3c 68 65 61 64 3e 0a 20 20 20 20 3c 6d 65 74 61 20 63 68 61 72 73 65 74 3d 22 n">...<head>.....<meta.charset="
06a0 75 74 66 2d 38 22 2f 3e 0a 20 20 20 20 3c 6d 65 74 61 20 6e 61 6d 65 3d 22 76 69 65 77 70 6f 72 utf-8"/>.....<meta.name="viewpor
06c0 74 22 20 63 6f 6e 74 65 6e 74 3d 22 77 69 64 74 68 3d 64 65 76 69 63 65 2d 77 69 64 74 68 2c 20 t".content="width=device-width,.
06e0 69 6e 69 74 69 61 6c 2d 73 63 61 6c 65 3d 31 2e 30 22 2f 3e 0a 20 20 20 20 3c 74 69 74 6c 65 3e initial-scale=1.0"/>.....<title>
0700 44 6f 63 75 6d 65 6e 74 61 74 69 6f 6e 20 2d 20 54 68 65 20 5a 69 67 20 50 72 6f 67 72 61 6d 6d Documentation.-.The.Zig.Programm
0720 69 6e 67 20 4c 61 6e 67 75 61 67 65 3c 2f 74 69 74 6c 65 3e 0a 20 20 20 20 3c 6c 69 6e 6b 20 72 ing.Language</title>.....<link.r
0740 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 70 6e 67 3b 62 el="icon".href="data:image/png;b
0760 61 73 65 36 34 2c 69 56 42 4f 52 77 30 4b 47 67 6f 41 41 41 41 4e 53 55 68 45 55 67 41 41 41 42 ase64,iVBORw0KGgoAAAANSUhEUgAAAB
0780 41 41 41 41 41 51 43 41 59 41 41 41 41 66 38 2f 39 68 41 41 41 41 67 6b 6c 45 51 56 52 34 41 57 AAAAAQCAYAAAAf8/9hAAAAgklEQVR4AW
07a0 4d 59 57 75 44 37 45 6c 6c 4a 49 4d 34 47 34 67 34 67 35 6f 49 4a 2f 6f 64 68 4f 4a 38 77 54 6f MYWuD7EllJIM4G4g4g5oIJ/odhOJ8wTo
07c0 4f 78 53 54 58 67 4e 78 44 48 6f 65 69 42 4d 66 41 34 2b 77 47 53 68 6a 79 59 4f 43 6b 47 2f 49 OxSTXgNxDHoeiBMfA4+wGShjyYOCkG/I
07e0 47 71 57 51 7a 69 45 7a 59 41 6f 55 41 65 69 46 39 44 35 55 2b 44 78 45 67 31 34 44 52 55 37 6a GqWQziEzYAoUAeiF9D5U+DxEg14DRU7j
0800 57 49 54 35 49 42 49 4f 64 43 78 66 2b 41 2b 43 51 5a 41 41 6f 6f 70 45 42 37 51 4a 77 42 43 42 WIT5IBIOdCxf+A+CQZAAoopEB7QJwBCB
0820 77 48 69 69 70 38 55 59 6d 52 64 72 41 6c 44 70 49 4d 67 41 70 77 51 5a 4e 6e 4e 69 69 35 44 71 wHiip8UYmRdrAlDpIMgApwQZNnNii5Dq
0840 30 4d 42 67 43 78 78 79 63 42 6e 77 45 64 2b 77 41 41 41 41 42 4a 52 55 35 45 72 6b 4a 67 67 67 0MBgCxxycBnwEd+wAAAABJRU5ErkJggg
0860 3d 3d 22 2f 3e 0a 20 20 20 20 3c 73 74 79 6c 65 3e 0a 20 20 20 20 20 20 3a 72 6f 6f 74 7b 0a 20 =="/>.....<style>.......:root{..
0880 20 20 20 20 20 20 20 20 2d 2d 6e 61 76 2d 77 69 64 74 68 3a 20 32 34 65 6d 3b 0a 20 20 20 20 20 ........--nav-width:.24em;......
08a0 20 20 20 20 2d 2d 6e 61 76 2d 6d 61 72 67 69 6e 2d 6c 3a 20 31 65 6d 3b 0a 20 20 20 20 20 20 7d ....--nav-margin-l:.1em;.......}
08c0 0a 20 20 20 20 20 20 62 6f 64 79 7b 0a 20 20 20 20 20 20 20 20 66 6f 6e 74 2d 66 61 6d 69 6c 79 .......body{.........font-family
08e0 3a 20 73 79 73 74 65 6d 2d 75 69 2c 20 2d 61 70 70 6c 65 2d 73 79 73 74 65 6d 2c 20 52 6f 62 6f :.system-ui,.-apple-system,.Robo
0900 74 6f 2c 20 22 53 65 67 6f 65 20 55 49 22 2c 20 73 61 6e 73 2d 73 65 72 69 66 3b 0a 20 20 20 20 to,."Segoe.UI",.sans-serif;.....
0920 20 20 20 20 6d 61 72 67 69 6e 3a 20 30 3b 0a 20 20 20 20 20 20 20 20 6c 69 6e 65 2d 68 65 69 67 ....margin:.0;.........line-heig
0940 68 74 3a 20 31 2e 35 3b 0a 20 20 20 20 20 20 7d 0a 20 20 20 20 20 20 68 65 61 64 65 72 20 7b 0a ht:.1.5;.......}.......header.{.
0960 20 20 20 20 20 20 20 20 70 61 64 64 69 6e 67 3a 20 30 20 31 65 6d 3b 0a 20 20 20 20 20 20 7d 0a ........padding:.0.1em;.......}.
0980 20 20 20 20 20 20 23 63 6f 6e 74 65 6e 74 73 20 7b 0a 20 20 20 20 20 20 20 20 6d 61 78 2d 77 69 ......#contents.{.........max-wi
09a0 64 74 68 3a 20 36 30 65 6d 3b 0a 20 20 20 20 20 20 20 20 6d 61 72 67 69 6e 3a 20 61 75 74 6f 3b dth:.60em;.........margin:.auto;
09c0 0a 20 20 20 20 20 20 20 20 70 61 64 64 69 6e 67 3a 20 30 20 31 65 6d 3b 0a 20 20 20 20 20 20 7d .........padding:.0.1em;.......}
09e0 0a 20 20 20 20 20 20 23 6e 61 76 69 67 61 74 69 6f 6e 20 7b 0a 20 20 20 20 20 20 20 20 70 61 64 .......#navigation.{.........pad
0a00 64 69 6e 67 3a 20 30 20 31 65 6d 3b 0a 20 20 20 20 20 20 7d 0a 0a 20 20 20 20 20 20 40 6d 65 64 ding:.0.1em;.......}........@med
0a20 69 61 20 73 63 72 65 65 6e 20 61 6e 64 20 28 6d 69 6e 2d 77 69 64 74 68 3a 20 31 30 32 35 70 78 ia.screen.and.(min-width:.1025px
0a40 29 20 7b 0a 20 20 20 20 20 20 20 20 68 65 61 64 65 72 20 7b 0a 20 20 20 20 20 20 20 20 20 20 6d ).{.........header.{...........m
0a60 61 72 67 69 6e 2d 6c 65 66 74 3a 20 63 61 6c 63 28 76 61 72 28 2d 2d 6e 61 76 2d 77 69 64 74 68 argin-left:.calc(var(--nav-width
0a80 29 20 2b 20 76 61 72 28 2d 2d 6e 61 76 2d 6d 61 72 67 69 6e 2d 6c 29 29 3b 0a 20 20 20 20 20 20 ).+.var(--nav-margin-l));.......
0aa0 20 20 7d 0a 20 20 20 20 20 20 20 20 68 65 61 64 65 72 20 68 31 20 7b 0a 20 20 20 20 20 20 20 20 ..}.........header.h1.{.........
0ac0 20 20 6d 61 72 67 69 6e 3a 20 61 75 74 6f 3b 0a 20 20 20 20 20 20 20 20 20 20 6d 61 78 2d 77 69 ..margin:.auto;...........max-wi
0ae0 64 74 68 3a 20 33 30 65 6d 3b 0a 20 20 20 20 20 20 20 20 7d 0a 20 20 20 20 20 20 20 20 23 6e 61 dth:.30em;.........}.........#na
0b00 76 69 67 61 74 69 6f 6e 20 7b 0a 20 20 20 20 20 20 20 20 20 20 6f 76 65 72 66 6c 6f 77 3a 20 61 vigation.{...........overflow:.a
0b20 75 74 6f 3b 0a 20 20 20 20 20 20 20 20 20 20 77 69 64 74 68 3a 20 76 61 72 28 2d 2d 6e 61 76 2d uto;...........width:.var(--nav-
0b40 77 69 64 74 68 29 3b 0a 20 20 20 20 20 20 20 20 20 20 68 65 69 67 68 74 3a 20 31 30 30 76 68 3b width);...........height:.100vh;
0b60 0a 20 20 20 20 20 20 20 20 20 20 70 6f 73 69 74 69 6f 6e 3a 20 66 69 78 65 64 3b 0a 20 20 20 20 ...........position:.fixed;.....
0b80 20 20 20 20 20 20 74 6f 70 3a 30 3b 0a 20 20 20 20 20 20 20 20 20 20 6c 65 66 74 3a 30 3b 0a 20 ......top:0;...........left:0;..
0ba0 20 20 20 20 20 20 20 20 20 62 6f 74 74 6f 6d 3a 30 3b 0a 20 20 20 20 20 20 20 20 20 20 70 61 64 .........bottom:0;...........pad
0bc0 64 69 6e 67 3a 20 75 6e 73 65 74 3b 0a 20 20 20 20 20 20 20 20 20 20 6d 61 72 67 69 6e 2d 6c 65 ding:.unset;...........margin-le
0be0 66 74 3a 20 76 61 72 28 2d 2d 6e 61 76 2d 6d 61 72 67 69 6e 2d 6c 29 3b 0a 20 20 20 20 20 20 20 ft:.var(--nav-margin-l);........
0c00 20 7d 0a 20 20 20 20 20 20 20 20 23 6e 61 76 69 67 61 74 69 6f 6e 20 6e 61 76 20 75 6c 20 7b 0a .}.........#navigation.nav.ul.{.
0c20 20 20 20 20 20 20 20 20 20 20 70 61 64 64 69 6e 67 2d 6c 65 66 74 3a 20 31 65 6d 3b 0a 20 20 20 ..........padding-left:.1em;....
0c40 20 20 20 20 20 7d 0a 20 20 20 20 20 20 20 20 23 63 6f 6e 74 65 6e 74 73 2d 77 72 61 70 70 65 72 .....}.........#contents-wrapper
0c60 20 7b 0a 20 20 20 20 20 20 20 20 20 20 6d 61 72 67 69 6e 2d 6c 65 66 74 3a 20 63 61 6c 63 28 76 .{...........margin-left:.calc(v
0c80 61 72 28 2d 2d 6e 61 76 2d 77 69 64 74 68 29 20 2b 20 76 61 72 28 2d 2d 6e 61 76 2d 6d 61 72 67 ar(--nav-width).+.var(--nav-marg
0ca0 69 6e 2d 6c 29 29 3b 0a 20 20 20 20 20 20 20 20 7d 0a 20 20 20 20 20 20 7d 0a 0a 20 20 20 20 20 in-l));.........}.......}.......
0cc0 20 61 3a 68 6f 76 65 72 2c 61 3a 66 6f 63 75 73 20 7b 0a 20 20 20 20 20 20 20 20 62 61 63 6b 67 .a:hover,a:focus.{.........backg
0ce0 72 6f 75 6e 64 3a 20 23 66 66 66 32 61 38 3b 0a 20 20 20 20 20 20 7d 0a 20 20 20 20 20 20 64 74 round:.#fff2a8;.......}.......dt
0d00 20 7b 0a 20 20 20 20 20 20 20 20 66 6f 6e 74 2d 77 65 69 67 68 74 3a 20 62 6f 6c 64 3b 0a 20 20 .{.........font-weight:.bold;...
0d20 20 20 20 20 7d 0a 20 20 20 20 20 20 74 61 62 6c 65 2c 20 74 68 2c 20 74 64 20 7b 0a 20 20 20 20 ....}.......table,.th,.td.{.....
0d40 20 20 20 20 62 6f 72 64 65 72 2d 63 6f 6c 6c 61 70 73 65 3a 20 63 6f 6c 6c 61 70 73 65 3b 0a 20 ....border-collapse:.collapse;..
0d60 20 20 20 20 20 20 20 62 6f 72 64 65 72 3a 20 31 70 78 20 73 6f 6c 69 64 20 67 72 65 79 3b 0a 20 .......border:.1px.solid.grey;..
0d80 20 20 20 20 20 7d 0a 20 20 20 20 20 20 74 68 2c 20 74 64 20 7b 0a 20 20 20 20 20 20 20 20 70 61 .....}.......th,.td.{.........pa
0da0 64 64 69 6e 67 3a 20 30 2e 31 65 6d 3b 0a 20 20 20 20 20 20 7d 0a 20 20 20 20 20 20 74 68 5b 73 dding:.0.1em;.......}.......th[s
0dc0 63 6f 70 65 3d 72 6f 77 5d 20 7b 0a 20 20 20 20 20 20 20 20 20 20 74 65 78 74 2d 61 6c 69 67 6e cope=row].{...........text-align
0de0 3a 20 6c 65 66 74 3b 0a 20 20 20 20 20 20 20 20 20 20 66 6f 6e 74 2d 77 65 69 67 68 74 3a 20 6e :.left;...........font-weight:.n
0e00 6f 72 6d 61 6c 3b 0a 20 20 20 20 20 20 7d 0a 20 20 20 20 20 20 2e 74 30 5f 31 2c 20 2e 74 33 37 ormal;.......}........t0_1,..t37
0e20 2c 20 2e 74 33 37 5f 31 20 7b 0a 20 20 20 20 20 20 20 20 66 6f 6e 74 2d 77 65 69 67 68 74 3a 20 ,..t37_1.{.........font-weight:.
0e40 62 6f 6c 64 3b 0a 20 20 20 20 20 20 7d 0a 20 20 20 20 20 20 2e 74 32 5f 30 20 7b 0a 20 20 20 20 bold;.......}........t2_0.{.....
0e60 20 20 20 20 63 6f 6c 6f 72 3a 20 23 35 37 35 37 35 37 3b 0a 20 20 20 20 20 20 7d 0a 20 20 20 20 ....color:.#575757;.......}.....
0e80 20 20 2e 74 33 31 5f 31 20 7b 0a 20 20 20 20 20 20 20 20 63 6f 6c 6f 72 3a 20 23 62 34 30 30 30 ...t31_1.{.........color:.#b4000
0ea0 30 3b 0a 20 20 20 20 20 20 7d 0a 20 20 20 20 20 20 2e 74 33 32 5f 31 20 7b 0a 20 20 20 20 20 20 0;.......}........t32_1.{.......
0ec0 20 20 63 6f 6c 6f 72 3a 20 67 72 65 65 6e 3b 0a 20 20 20 20 20 20 7d 0a 20 20 20 20 20 20 2e 74 ..color:.green;.......}........t
0ee0 33 36 5f 31 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 36_1.{.........color:.#005C7A;..
0f00 20 20 20 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 .....}........file.{.........fon
0f20 74 2d 77 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 t-weight:.bold;.........border:.
0f40 75 6e 73 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 unset;.......}.......code.{.....
0f60 20 20 20 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 ....background:.#f8f8f8;........
0f80 20 62 6f 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 .border:.1px.dotted.silver;.....
0fa0 20 20 20 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 ....padding-left:.0.3em;........
0fc0 20 70 61 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 .padding-right:.0.3em;.......}..
0fe0 20 20 20 20 20 70 72 65 20 3e 20 63 6f 64 65 20 7b 0a 20 20 20 20 20 20 20 20 64 69 73 70 6c 61 .....pre.>.code.{.........displa
1000 79 3a 20 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 y:.block;.........overflow:.auto
1020 3b 0a 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 ;.........padding:.0.5em;.......
1040 20 20 62 6f 72 64 65 72 3a 20 31 70 78 20 73 6f 6c 69 64 20 23 65 65 65 3b 0a 20 20 20 20 20 20 ..border:.1px.solid.#eee;.......
1060 20 20 6c 69 6e 65 2d 68 65 69 67 68 74 3a 20 6e 6f 72 6d 61 6c 3b 0a 20 20 20 20 20 20 7d 0a 20 ..line-height:.normal;.......}..
1080 20 20 20 20 20 73 61 6d 70 20 7b 0a 20 20 20 20 20 20 20 20 62 61 63 6b 67 72 6f 75 6e 64 3a 20 .....samp.{.........background:.
10a0 23 66 61 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 #fafafa;.......}.......pre.>.sam
10c0 70 20 7b 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 p.{.........display:.block;.....
10e0 20 20 20 20 6f 76 65 72 66 6c 6f 77 3a 20 61 75 74 6f 3b 0a 20 20 20 20 20 20 20 20 70 61 64 64 ....overflow:.auto;.........padd
1100 69 6e 67 3a 20 30 2e 35 65 6d 3b 0a 20 20 20 20 20 20 20 20 62 6f 72 64 65 72 3a 20 31 70 78 20 ing:.0.5em;.........border:.1px.
1120 73 6f 6c 69 64 20 23 65 65 65 3b 0a 20 20 20 20 20 20 20 20 6c 69 6e 65 2d 68 65 69 67 68 74 3a solid.#eee;.........line-height:
1140 20 6e 6f 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 .normal;.......}.......kbd.{....
1160 20 20 20 20 20 66 6f 6e 74 2d 77 65 69 67 68 74 3a 20 62 6f 6c 64 3b 0a 20 20 20 20 20 20 7d 0a .....font-weight:.bold;.......}.
1180 20 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 .......table-wrapper.{.........w
11a0 69 64 74 68 3a 20 31 30 30 25 3b 0a 20 20 20 20 20 20 20 20 6f 76 65 72 66 6c 6f 77 2d 78 3a 20 idth:.100%;.........overflow-x:.
11c0 61 75 74 6f 3b 0a 20 20 20 20 20 20 7d 0a 0a 20 20 20 20 20 20 2e 74 6f 6b 2d 6b 77 20 7b 0a 20 auto;.......}.........tok-kw.{..
11e0 20 20 20 20 20 20 20 20 20 63 6f 6c 6f 72 3a 20 23 33 33 33 3b 0a 20 20 20 20 20 20 20 20 20 20 .........color:.#333;...........
1200 66 6f 6e 74 2d 77 65 69 67 68 74 3a 20 62 6f 6c 64 3b 0a 20 20 20 20 20 20 7d 0a 20 20 20 20 20 font-weight:.bold;.......}......
1220 20 2e 74 6f 6b 2d 73 74 72 20 7b 0a 20 20 20 20 20 20 20 20 20 20 63 6f 6c 6f 72 3a 20 23 64 31 ..tok-str.{...........color:.#d1
1240 34 3b 0a 20 20 20 20 20 20 7d 0a 20 20 20 20 20 20 2e 74 6f 6b 2d 62 75 69 6c 74 69 6e 20 7b 0a 4;.......}........tok-builtin.{.
1260 20 20 20 20 20 20 20 20 20 20 63 6f 6c 6f 72 3a 20 23 30 30 35 43 37 41 3b 0a 20 20 20 20 20 20 ..........color:.#005C7A;.......
1280 7d 0a 20 20 20 20 20 20 2e 74 6f 6b 2d 63 6f 6d 6d 65 6e 74 20 7b 0a 20 20 20 20 20 20 20 20 20 }........tok-comment.{..........
12a0 20 63 6f 6c 6f 72 3a 20 23 35 34 35 34 35 34 3b 0a 20 20 20 20 20 20 20 20 20 20 66 6f 6e 74 2d .color:.#545454;...........font-
12c0 73 74 79 6c 65 3a 20 69 74 61 6c 69 63 3b 0a 20 20 20 20 20 20 7d 0a 20 20 20 20 20 20 2e 74 6f style:.italic;.......}........to
12e0 6b 2d 66 6e 20 7b 0a 20 20 20 20 20 20 20 20 20 20 63 6f 6c 6f 72 3a 20 23 39 30 30 3b 0a 20 20 k-fn.{...........color:.#900;...
1300 20 20 20 20 20 20 20 20 66 6f 6e 74 2d 77 65 69 67 68 74 3a 20 62 6f 6c 64 3b 0a 20 20 20 20 20 ........font-weight:.bold;......
1320 20 7d 0a 20 20 20 20 20 20 2e 74 6f 6b 2d 6e 75 6c 6c 20 7b 0a 20 20 20 20 20 20 20 20 20 20 63 .}........tok-null.{...........c
1340 6f 6c 6f 72 3a 20 23 30 30 35 43 35 43 3b 0a 20 20 20 20 20 20 7d 0a 20 20 20 20 20 20 2e 74 6f olor:.#005C5C;.......}........to
1360 6b 2d 6e 75 6d 62 65 72 20 7b 0a 20 20 20 20 20 20 20 20 20 20 63 6f 6c 6f 72 3a 20 23 30 30 35 k-number.{...........color:.#005
1380 43 35 43 3b 0a 20 20 20 20 20 20 7d 0a 20 20 20 20 20 20 2e 74 6f 6b 2d 74 79 70 65 20 7b 0a 20 C5C;.......}........tok-type.{..
13a0 20 20 20 20 20 20 20 20 20 63 6f 6c 6f 72 3a 20 23 34 35 38 3b 0a 20 20 20 20 20 20 20 20 20 20 .........color:.#458;...........
13c0 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 0a 20 20 20 20 font-weight:.bold;.......}......
13e0 20 20 66 69 67 75 72 65 20 7b 0a 20 20 20 20 20 20 20 20 6d 61 72 67 69 6e 3a 20 61 75 74 6f 20 ..figure.{.........margin:.auto.
1400 30 3b 0a 20 20 20 20 20 20 7d 0a 20 20 20 20 20 20 66 69 67 75 72 65 20 70 72 65 20 7b 0a 20 20 0;.......}.......figure.pre.{...
1420 20 20 20 20 20 20 6d 61 72 67 69 6e 2d 74 6f 70 3a 20 30 3b 0a 20 20 20 20 20 20 7d 0a 0a 20 20 ......margin-top:.0;.......}....
1440 20 20 20 20 66 69 67 63 61 70 74 69 6f 6e 20 7b 0a 20 20 20 20 20 20 20 20 70 61 64 64 69 6e 67 ....figcaption.{.........padding
1460 2d 6c 65 66 74 3a 20 30 2e 35 65 6d 3b 0a 20 20 20 20 20 20 20 20 66 6f 6e 74 2d 73 69 7a 65 3a -left:.0.5em;.........font-size:
1480 20 73 6d 61 6c 6c 3b 0a 20 20 20 20 20 20 20 20 62 6f 72 64 65 72 2d 74 6f 70 2d 6c 65 66 74 2d .small;.........border-top-left-
14a0 72 61 64 69 75 73 3a 20 35 70 78 3b 0a 20 20 20 20 20 20 20 20 62 6f 72 64 65 72 2d 74 6f 70 2d radius:.5px;.........border-top-
14c0 72 69 67 68 74 2d 72 61 64 69 75 73 3a 20 35 70 78 3b 0a 20 20 20 20 20 20 7d 0a 20 20 20 20 20 right-radius:.5px;.......}......
14e0 20 66 69 67 63 61 70 74 69 6f 6e 2e 7a 69 67 2d 63 61 70 20 7b 0a 20 20 20 20 20 20 20 20 62 61 .figcaption.zig-cap.{.........ba
1500 63 6b 67 72 6f 75 6e 64 3a 20 23 66 63 64 62 61 35 3b 0a 20 20 20 20 20 20 7d 0a 20 20 20 20 20 ckground:.#fcdba5;.......}......
1520 20 66 69 67 63 61 70 74 69 6f 6e 2e 63 2d 63 61 70 20 7b 0a 20 20 20 20 20 20 20 20 62 61 63 6b .figcaption.c-cap.{.........back
1540 67 72 6f 75 6e 64 3a 20 23 61 38 62 39 63 63 3b 0a 20 20 20 20 20 20 20 20 63 6f 6c 6f 72 3a 20 ground:.#a8b9cc;.........color:.
1560 23 30 30 30 3b 0a 20 20 20 20 20 20 7d 0a 20 20 20 20 20 20 66 69 67 63 61 70 74 69 6f 6e 2e 70 #000;.......}.......figcaption.p
1580 65 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 64 3a 20 23 66 63 eg-cap.{.........background:.#fc
15a0 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 74 69 6f 6e 2e 6a dba5;.......}.......figcaption.j
15c0 61 76 61 73 63 72 69 70 74 2d 63 61 70 20 7b 0a 20 20 20 20 20 20 20 20 62 61 63 6b 67 72 6f 75 avascript-cap.{.........backgrou
15e0 6e 64 3a 20 23 33 36 35 64 39 35 3b 0a 20 20 20 20 20 20 20 20 63 6f 6c 6f 72 3a 20 23 66 66 66 nd:.#365d95;.........color:.#fff
1600 3b 0a 20 20 20 20 20 20 7d 0a 20 20 20 20 20 20 66 69 67 63 61 70 74 69 6f 6e 2e 73 68 65 6c 6c ;.......}.......figcaption.shell
1620 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 63 63 63 3b -cap.{.........background:.#ccc;
1640 0a 20 20 20 20 20 20 20 20 63 6f 6c 6f 72 3a 20 23 30 30 30 3b 0a 20 20 20 20 20 20 7d 0a 0a 20 .........color:.#000;.......}...
1660 20 20 20 20 20 61 73 69 64 65 20 7b 0a 20 20 20 20 20 20 20 20 62 6f 72 64 65 72 2d 6c 65 66 74 .....aside.{.........border-left
1680 3a 20 30 2e 32 35 65 6d 20 73 6f 6c 69 64 20 23 66 37 61 34 31 64 3b 0a 20 20 20 20 20 20 20 20 :.0.25em.solid.#f7a41d;.........
16a0 70 61 64 64 69 6e 67 3a 20 30 20 31 65 6d 20 30 20 31 65 6d 3b 0a 20 20 20 20 20 20 7d 0a 0a 20 padding:.0.1em.0.1em;.......}...
16c0 20 20 20 20 20 68 31 20 61 2c 20 68 32 20 61 2c 20 68 33 20 61 2c 20 68 34 20 61 2c 20 68 35 20 .....h1.a,.h2.a,.h3.a,.h4.a,.h5.
16e0 61 20 7b 0a 20 20 20 20 20 20 20 20 74 65 78 74 2d 64 65 63 6f 72 61 74 69 6f 6e 3a 20 6e 6f 6e a.{.........text-decoration:.non
1700 65 3b 0a 20 20 20 20 20 20 20 20 63 6f 6c 6f 72 3a 20 23 33 33 33 3b 0a 20 20 20 20 20 20 7d 0a e;.........color:.#333;.......}.
1720 0a 20 20 20 20 20 20 61 2e 68 64 72 20 7b 0a 20 20 20 20 20 20 20 20 76 69 73 69 62 69 6c 69 74 .......a.hdr.{.........visibilit
1740 79 3a 20 68 69 64 64 65 6e 3b 0a 20 20 20 20 20 20 7d 0a 20 20 20 20 20 20 68 31 3a 68 6f 76 65 y:.hidden;.......}.......h1:hove
1760 72 20 3e 20 61 2e 68 64 72 2c 20 68 32 3a 68 6f 76 65 72 20 3e 20 61 2e 68 64 72 2c 20 68 33 3a r.>.a.hdr,.h2:hover.>.a.hdr,.h3:
1780 68 6f 76 65 72 20 3e 20 61 2e 68 64 72 2c 20 68 34 3a 68 6f 76 65 72 20 3e 20 61 2e 68 64 72 2c hover.>.a.hdr,.h4:hover.>.a.hdr,
17a0 20 68 35 3a 68 6f 76 65 72 20 3e 20 61 2e 68 64 72 20 7b 0a 20 20 20 20 20 20 20 20 76 69 73 69 .h5:hover.>.a.hdr.{.........visi
17c0 62 69 6c 69 74 79 3a 20 76 69 73 69 62 6c 65 3b 0a 20 20 20 20 20 20 7d 0a 0a 20 20 20 20 20 20 bility:.visible;.......}........
17e0 70 72 65 20 7b 0a 20 20 20 20 20 20 20 20 63 6f 75 6e 74 65 72 2d 72 65 73 65 74 3a 20 6c 69 6e pre.{.........counter-reset:.lin
1800 65 3b 0a 20 20 20 20 20 20 7d 0a 20 20 20 20 20 20 70 72 65 20 2e 6c 69 6e 65 3a 62 65 66 6f 72 e;.......}.......pre..line:befor
1820 65 20 7b 0a 20 20 20 20 20 20 20 20 63 6f 75 6e 74 65 72 2d 69 6e 63 72 65 6d 65 6e 74 3a 20 6c e.{.........counter-increment:.l
1840 69 6e 65 3b 0a 20 20 20 20 20 20 20 20 63 6f 6e 74 65 6e 74 3a 20 63 6f 75 6e 74 65 72 28 6c 69 ine;.........content:.counter(li
1860 6e 65 29 3b 0a 20 20 20 20 20 20 20 20 64 69 73 70 6c 61 79 3a 20 69 6e 6c 69 6e 65 2d 62 6c 6f ne);.........display:.inline-blo
1880 63 6b 3b 0a 20 20 20 20 20 20 20 20 70 61 64 64 69 6e 67 2d 72 69 67 68 74 3a 20 31 65 6d 3b 0a ck;.........padding-right:.1em;.
18a0 20 20 20 20 20 20 20 20 77 69 64 74 68 3a 20 32 65 6d 3b 0a 20 20 20 20 20 20 20 20 74 65 78 74 ........width:.2em;.........text
18c0 2d 61 6c 69 67 6e 3a 20 72 69 67 68 74 3b 0a 20 20 20 20 20 20 20 20 63 6f 6c 6f 72 3a 20 23 39 -align:.right;.........color:.#9
18e0 39 39 3b 0a 20 20 20 20 20 20 7d 0a 20 20 20 20 20 20 74 68 20 70 72 65 20 63 6f 64 65 20 7b 0a 99;.......}.......th.pre.code.{.
1900 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 65 3b 0a 20 20 20 20 ..........background:.none;.....
1920 20 20 7d 0a 20 20 20 20 20 20 74 68 20 2e 6c 69 6e 65 3a 62 65 66 6f 72 65 20 7b 0a 20 20 20 20 ..}.......th..line:before.{.....
1940 20 20 20 20 20 20 64 69 73 70 6c 61 79 3a 20 6e 6f 6e 65 3b 0a 20 20 20 20 20 20 7d 0a 0a 20 20 ......display:.none;.......}....
1960 20 20 20 20 40 6d 65 64 69 61 20 28 70 72 65 66 65 72 73 2d 63 6f 6c 6f 72 2d 73 63 68 65 6d 65 ....@media.(prefers-color-scheme
1980 3a 20 64 61 72 6b 29 20 7b 0a 20 20 20 20 20 20 20 20 62 6f 64 79 7b 0a 20 20 20 20 20 20 20 20 :.dark).{.........body{.........
19a0 20 20 20 20 62 61 63 6b 67 72 6f 75 6e 64 3a 23 31 32 31 32 31 32 3b 0a 20 20 20 20 20 20 20 20 ....background:#121212;.........
19c0 20 20 20 20 63 6f 6c 6f 72 3a 20 23 63 63 63 3b 0a 20 20 20 20 20 20 20 20 7d 0a 20 20 20 20 20 ....color:.#ccc;.........}......
19e0 20 20 20 61 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 63 6f 6c 6f 72 3a 20 23 38 38 66 3b 0a ...a.{.............color:.#88f;.
1a00 20 20 20 20 20 20 20 20 7d 0a 20 20 20 20 20 20 20 20 61 3a 68 6f 76 65 72 2c 61 3a 66 6f 63 75 ........}.........a:hover,a:focu
1a20 73 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 63 6f 6c 6f 72 3a 20 23 30 30 30 3b 0a 20 20 20 s.{.............color:.#000;....
1a40 20 20 20 20 20 7d 0a 20 20 20 20 20 20 20 20 74 61 62 6c 65 2c 20 74 68 2c 20 74 64 20 7b 0a 20 .....}.........table,.th,.td.{..
1a60 20 20 20 20 20 20 20 20 20 20 20 62 6f 72 64 65 72 2d 63 6f 6c 6f 72 3a 20 67 72 65 79 3b 0a 20 ...........border-color:.grey;..
1a80 20 20 20 20 20 20 20 7d 0a 20 20 20 20 20 20 20 20 2e 74 32 5f 30 20 7b 0a 20 20 20 20 20 20 20 .......}..........t2_0.{........
1aa0 20 20 20 20 20 63 6f 6c 6f 72 3a 20 67 72 65 79 3b 0a 20 20 20 20 20 20 20 20 7d 0a 20 20 20 20 .....color:.grey;.........}.....
1ac0 20 20 20 20 2e 74 33 31 5f 31 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 63 6f 6c 6f 72 3a 20 .....t31_1.{.............color:.
1ae0 72 65 64 3b 0a 20 20 20 20 20 20 20 20 7d 0a 20 20 20 20 20 20 20 20 2e 74 33 32 5f 31 20 7b 0a red;.........}..........t32_1.{.
1b00 20 20 20 20 20 20 20 20 20 20 20 20 63 6f 6c 6f 72 3a 20 23 30 30 42 38 30 30 3b 0a 20 20 20 20 ............color:.#00B800;.....
1b20 20 20 20 20 7d 0a 20 20 20 20 20 20 20 20 2e 74 33 36 5f 31 20 7b 0a 20 20 20 20 20 20 20 20 20 ....}..........t36_1.{..........
1b40 20 20 20 63 6f 6c 6f 72 3a 20 23 30 30 38 36 62 33 3b 0a 20 20 20 20 20 20 20 20 7d 0a 20 20 20 ...color:.#0086b3;.........}....
1b60 20 20 20 20 20 63 6f 64 65 20 7b 0a 20 20 20 20 20 20 20 20 20 20 62 61 63 6b 67 72 6f 75 6e 64 .....code.{...........background
1b80 3a 20 23 32 32 32 3b 0a 20 20 20 20 20 20 20 20 20 20 62 6f 72 64 65 72 2d 63 6f 6c 6f 72 3a 20 :.#222;...........border-color:.
1ba0 23 34 34 34 3b 0a 20 20 20 20 20 20 20 20 7d 0a 20 20 20 20 20 20 20 20 70 72 65 20 3e 20 63 6f #444;.........}.........pre.>.co
1bc0 64 65 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 63 6f 6c 6f 72 3a 20 23 63 63 63 3b 0a 20 20 de.{.............color:.#ccc;...
1be0 20 20 20 20 20 20 20 20 20 20 62 61 63 6b 67 72 6f 75 6e 64 3a 20 23 32 32 32 3b 0a 20 20 20 20 ..........background:.#222;.....
1c00 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;.........}
1c20 0a 20 20 20 20 20 20 20 20 73 61 6d 70 20 7b 0a 20 20 20 20 20 20 20 20 20 20 62 61 63 6b 67 72 .........samp.{...........backgr
1c40 6f 75 6e 64 3a 20 23 30 30 30 3b 0a 20 20 20 20 20 20 20 20 20 20 63 6f 6c 6f 72 3a 20 23 63 63 ound:.#000;...........color:.#cc
1c60 63 3b 0a 20 20 20 20 20 20 20 20 7d 0a 20 20 20 20 20 20 20 20 70 72 65 20 3e 20 73 61 6d 70 20 c;.........}.........pre.>.samp.
1c80 7b 0a 20 20 20 20 20 20 20 20 20 20 62 6f 72 64 65 72 3a 20 75 6e 73 65 74 3b 0a 20 20 20 20 20 {...........border:.unset;......
1ca0 20 20 20 7d 0a 20 20 20 20 20 20 20 20 2e 74 6f 6b 2d 6b 77 20 7b 0a 20 20 20 20 20 20 20 20 20 ...}..........tok-kw.{..........
1cc0 20 20 20 63 6f 6c 6f 72 3a 20 23 65 65 65 3b 0a 20 20 20 20 20 20 20 20 7d 0a 20 20 20 20 20 20 ...color:.#eee;.........}.......
1ce0 20 20 2e 74 6f 6b 2d 73 74 72 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 63 6f 6c 6f 72 3a 20 ...tok-str.{.............color:.
1d00 23 32 65 35 3b 0a 20 20 20 20 20 20 20 20 7d 0a 20 20 20 20 20 20 20 20 2e 74 6f 6b 2d 62 75 69 #2e5;.........}..........tok-bui
1d20 6c 74 69 6e 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 63 6f 6c 6f 72 3a 20 23 66 66 38 39 34 ltin.{.............color:.#ff894
1d40 63 3b 0a 20 20 20 20 20 20 20 20 7d 0a 20 20 20 20 20 20 20 20 2e 74 6f 6b 2d 63 6f 6d 6d 65 6e c;.........}..........tok-commen
1d60 74 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 63 6f 6c 6f 72 3a 20 23 61 61 37 3b 0a 20 20 20 t.{.............color:.#aa7;....
1d80 20 20 20 20 20 7d 0a 20 20 20 20 20 20 20 20 2e 74 6f 6b 2d 66 6e 20 7b 0a 20 20 20 20 20 20 20 .....}..........tok-fn.{........
1da0 20 20 20 20 20 63 6f 6c 6f 72 3a 20 23 42 31 41 30 46 38 3b 0a 20 20 20 20 20 20 20 20 7d 0a 20 .....color:.#B1A0F8;.........}..
1dc0 20 20 20 20 20 20 20 2e 74 6f 6b 2d 6e 75 6c 6c 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 63 ........tok-null.{.............c
1de0 6f 6c 6f 72 3a 20 23 66 66 38 30 38 30 3b 0a 20 20 20 20 20 20 20 20 7d 0a 20 20 20 20 20 20 20 olor:.#ff8080;.........}........
1e00 20 2e 74 6f 6b 2d 6e 75 6d 62 65 72 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 63 6f 6c 6f 72 ..tok-number.{.............color
1e20 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
1e40 6b 2d 74 79 70 65 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 63 6f 6c 6f 72 3a 20 23 36 38 66 k-type.{.............color:.#68f
1e60 3b 0a 20 20 20 20 20 20 20 20 7d 0a 20 20 20 20 20 20 20 20 68 31 20 61 2c 20 68 32 20 61 2c 20 ;.........}.........h1.a,.h2.a,.
1e80 68 33 20 61 2c 20 68 34 20 61 2c 20 68 35 20 61 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 63 h3.a,.h4.a,.h5.a.{.............c
1ea0 6f 6c 6f 72 3a 20 23 61 61 61 3b 0a 20 20 20 20 20 20 20 20 7d 0a 20 20 20 20 20 20 20 20 66 69 olor:.#aaa;.........}.........fi
1ec0 67 63 61 70 74 69 6f 6e 2e 7a 69 67 2d 63 61 70 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 62 gcaption.zig-cap.{.............b
1ee0 61 63 6b 67 72 6f 75 6e 64 2d 63 6f 6c 6f 72 3a 20 23 62 32 37 33 30 36 3b 0a 20 20 20 20 20 20 ackground-color:.#b27306;.......
1f00 20 20 20 20 20 20 63 6f 6c 6f 72 3a 20 23 30 30 30 3b 0a 20 20 20 20 20 20 20 20 7d 0a 20 20 20 ......color:.#000;.........}....
1f20 20 20 20 20 20 66 69 67 63 61 70 74 69 6f 6e 2e 70 65 67 2d 63 61 70 20 7b 0a 20 20 20 20 20 20 .....figcaption.peg-cap.{.......
1f40 20 20 20 20 20 20 62 61 63 6b 67 72 6f 75 6e 64 2d 63 6f 6c 6f 72 3a 20 23 62 32 37 33 30 36 3b ......background-color:.#b27306;
1f60 0a 20 20 20 20 20 20 20 20 20 20 20 20 63 6f 6c 6f 72 3a 20 23 30 30 30 3b 0a 20 20 20 20 20 20 .............color:.#000;.......
1f80 20 20 7d 0a 20 20 20 20 20 20 20 20 66 69 67 63 61 70 74 69 6f 6e 2e 73 68 65 6c 6c 2d 63 61 70 ..}.........figcaption.shell-cap
1fa0 20 7b 0a 20 20 20 20 20 20 20 20 20 20 62 61 63 6b 67 72 6f 75 6e 64 3a 20 23 32 61 32 61 32 61 .{...........background:.#2a2a2a
1fc0 3b 0a 20 20 20 20 20 20 20 20 20 20 63 6f 6c 6f 72 3a 20 23 66 66 66 3b 0a 20 20 20 20 20 20 20 ;...........color:.#fff;........
1fe0 20 7d 0a 20 20 20 20 20 20 7d 0a 20 20 20 20 3c 2f 73 74 79 6c 65 3e 0a 3c 2f 68 65 61 64 3e 0a .}.......}.....</style>.</head>.
2000 3c 62 6f 64 79 3e 0a 20 20 3c 68 65 61 64 65 72 3e 3c 68 31 3e 5a 69 67 20 4c 61 6e 67 75 61 67 <body>...<header><h1>Zig.Languag
2020 65 20 52 65 66 65 72 65 6e 63 65 3c 2f 68 31 3e 3c 2f 68 65 61 64 65 72 3e 0a 20 20 3c 64 69 76 e.Reference</h1></header>...<div
2040 20 69 64 3d 22 6d 61 69 6e 2d 77 72 61 70 70 65 72 22 3e 0a 20 20 20 20 20 20 3c 64 69 76 20 69 .id="main-wrapper">.......<div.i
2060 64 3d 22 6e 61 76 69 67 61 74 69 6f 6e 22 3e 0a 20 20 20 20 20 20 20 20 3c 6e 61 76 20 61 72 69 d="navigation">.........<nav.ari
2080 61 2d 6c 61 62 65 6c 6c 65 64 62 79 3d 22 7a 69 67 2d 76 65 72 73 69 6f 6e 22 3e 0a 20 20 20 20 a-labelledby="zig-version">.....
20a0 20 20 20 20 20 20 3c 68 32 20 69 64 3d 22 7a 69 67 2d 76 65 72 73 69 6f 6e 22 3e 5a 69 67 20 56 ......<h2.id="zig-version">Zig.V
20c0 65 72 73 69 6f 6e 3c 2f 68 32 3e 0a 20 20 20 20 20 20 20 20 20 20 3c 61 20 68 72 65 66 3d 22 68 ersion</h2>...........<a.href="h
20e0 74 74 70 73 3a 2f 2f 7a 69 67 6c 61 6e 67 2e 6f 72 67 2f 64 6f 63 75 6d 65 6e 74 61 74 69 6f 6e ttps://ziglang.org/documentation
2100 2f 30 2e 31 2e 31 2f 22 3e 30 2e 31 2e 31 3c 2f 61 3e 20 7c 0a 3c 61 20 68 72 65 66 3d 22 68 74 /0.1.1/">0.1.1</a>.|.<a.href="ht
2120 74 70 73 3a 2f 2f 7a 69 67 6c 61 6e 67 2e 6f 72 67 2f 64 6f 63 75 6d 65 6e 74 61 74 69 6f 6e 2f tps://ziglang.org/documentation/
2140 30 2e 32 2e 30 2f 22 3e 30 2e 32 2e 30 3c 2f 61 3e 20 7c 0a 3c 61 20 68 72 65 66 3d 22 68 74 74 0.2.0/">0.2.0</a>.|.<a.href="htt
2160 70 73 3a 2f 2f 7a 69 67 6c 61 6e 67 2e 6f 72 67 2f 64 6f 63 75 6d 65 6e 74 61 74 69 6f 6e 2f 30 ps://ziglang.org/documentation/0
2180 2e 33 2e 30 2f 22 3e 30 2e 33 2e 30 3c 2f 61 3e 20 7c 0a 3c 61 20 68 72 65 66 3d 22 68 74 74 70 .3.0/">0.3.0</a>.|.<a.href="http
21a0 73 3a 2f 2f 7a 69 67 6c 61 6e 67 2e 6f 72 67 2f 64 6f 63 75 6d 65 6e 74 61 74 69 6f 6e 2f 30 2e s://ziglang.org/documentation/0.
21c0 34 2e 30 2f 22 3e 30 2e 34 2e 30 3c 2f 61 3e 20 7c 0a 3c 61 20 68 72 65 66 3d 22 68 74 74 70 73 4.0/">0.4.0</a>.|.<a.href="https
21e0 3a 2f 2f 7a 69 67 6c 61 6e 67 2e 6f 72 67 2f 64 6f 63 75 6d 65 6e 74 61 74 69 6f 6e 2f 30 2e 35 ://ziglang.org/documentation/0.5
2200 2e 30 2f 22 3e 30 2e 35 2e 30 3c 2f 61 3e 20 7c 0a 3c 61 20 68 72 65 66 3d 22 68 74 74 70 73 3a .0/">0.5.0</a>.|.<a.href="https:
2220 2f 2f 7a 69 67 6c 61 6e 67 2e 6f 72 67 2f 64 6f 63 75 6d 65 6e 74 61 74 69 6f 6e 2f 30 2e 36 2e //ziglang.org/documentation/0.6.
2240 30 2f 22 3e 30 2e 36 2e 30 3c 2f 61 3e 20 7c 0a 3c 61 20 68 72 65 66 3d 22 68 74 74 70 73 3a 2f 0/">0.6.0</a>.|.<a.href="https:/
2260 2f 7a 69 67 6c 61 6e 67 2e 6f 72 67 2f 64 6f 63 75 6d 65 6e 74 61 74 69 6f 6e 2f 30 2e 37 2e 31 /ziglang.org/documentation/0.7.1
2280 2f 22 3e 30 2e 37 2e 31 3c 2f 61 3e 20 7c 0a 3c 61 20 68 72 65 66 3d 22 68 74 74 70 73 3a 2f 2f /">0.7.1</a>.|.<a.href="https://
22a0 7a 69 67 6c 61 6e 67 2e 6f 72 67 2f 64 6f 63 75 6d 65 6e 74 61 74 69 6f 6e 2f 30 2e 38 2e 31 2f ziglang.org/documentation/0.8.1/
22c0 22 3e 30 2e 38 2e 31 3c 2f 61 3e 20 7c 0a 3c 61 20 68 72 65 66 3d 22 68 74 74 70 73 3a 2f 2f 7a ">0.8.1</a>.|.<a.href="https://z
22e0 69 67 6c 61 6e 67 2e 6f 72 67 2f 64 6f 63 75 6d 65 6e 74 61 74 69 6f 6e 2f 30 2e 39 2e 31 2f 22 iglang.org/documentation/0.9.1/"
2300 3e 30 2e 39 2e 31 3c 2f 61 3e 20 7c 0a 30 2e 31 30 2e 31 20 7c 0a 3c 61 20 68 72 65 66 3d 22 68 >0.9.1</a>.|.0.10.1.|.<a.href="h
2320 74 74 70 73 3a 2f 2f 7a 69 67 6c 61 6e 67 2e 6f 72 67 2f 64 6f 63 75 6d 65 6e 74 61 74 69 6f 6e ttps://ziglang.org/documentation
2340 2f 30 2e 31 31 2e 30 2f 22 3e 30 2e 31 31 2e 30 3c 2f 61 3e 20 7c 0a 3c 61 20 68 72 65 66 3d 22 /0.11.0/">0.11.0</a>.|.<a.href="
2360 68 74 74 70 73 3a 2f 2f 7a 69 67 6c 61 6e 67 2e 6f 72 67 2f 64 6f 63 75 6d 65 6e 74 61 74 69 6f https://ziglang.org/documentatio
2380 6e 2f 30 2e 31 32 2e 31 2f 22 3e 30 2e 31 32 2e 31 3c 2f 61 3e 20 7c 0a 3c 61 20 68 72 65 66 3d n/0.12.1/">0.12.1</a>.|.<a.href=
23a0 22 68 74 74 70 73 3a 2f 2f 7a 69 67 6c 61 6e 67 2e 6f 72 67 2f 64 6f 63 75 6d 65 6e 74 61 74 69 "https://ziglang.org/documentati
23c0 6f 6e 2f 30 2e 31 33 2e 30 2f 22 3e 30 2e 31 33 2e 30 3c 2f 61 3e 20 7c 0a 3c 61 20 68 72 65 66 on/0.13.0/">0.13.0</a>.|.<a.href
23e0 3d 22 68 74 74 70 73 3a 2f 2f 7a 69 67 6c 61 6e 67 2e 6f 72 67 2f 64 6f 63 75 6d 65 6e 74 61 74 ="https://ziglang.org/documentat
2400 69 6f 6e 2f 30 2e 31 34 2e 31 2f 22 3e 30 2e 31 34 2e 31 3c 2f 61 3e 20 7c 0a 3c 61 20 68 72 65 ion/0.14.1/">0.14.1</a>.|.<a.hre
2420 66 3d 22 68 74 74 70 73 3a 2f 2f 7a 69 67 6c 61 6e 67 2e 6f 72 67 2f 64 6f 63 75 6d 65 6e 74 61 f="https://ziglang.org/documenta
2440 74 69 6f 6e 2f 30 2e 31 35 2e 32 2f 22 3e 30 2e 31 35 2e 32 3c 2f 61 3e 20 7c 0a 3c 61 20 68 72 tion/0.15.2/">0.15.2</a>.|.<a.hr
2460 65 66 3d 22 68 74 74 70 73 3a 2f 2f 7a 69 67 6c 61 6e 67 2e 6f 72 67 2f 64 6f 63 75 6d 65 6e 74 ef="https://ziglang.org/document
2480 61 74 69 6f 6e 2f 30 2e 31 36 2e 30 2f 22 3e 30 2e 31 36 2e 30 3c 2f 61 3e 20 7c 0a 3c 61 20 68 ation/0.16.0/">0.16.0</a>.|.<a.h
24a0 72 65 66 3d 22 68 74 74 70 73 3a 2f 2f 7a 69 67 6c 61 6e 67 2e 6f 72 67 2f 64 6f 63 75 6d 65 6e ref="https://ziglang.org/documen
24c0 74 61 74 69 6f 6e 2f 6d 61 73 74 65 72 2f 22 3e 6d 61 73 74 65 72 3c 2f 61 3e 0a 20 20 20 20 20 tation/master/">master</a>......
24e0 20 20 20 3c 2f 6e 61 76 3e 0a 20 20 20 20 20 20 20 20 3c 6e 61 76 20 61 72 69 61 2d 6c 61 62 65 ...</nav>.........<nav.aria-labe
2500 6c 6c 65 64 62 79 3d 22 74 61 62 6c 65 2d 6f 66 2d 63 6f 6e 74 65 6e 74 73 22 3e 0a 20 20 20 20 lledby="table-of-contents">.....
2520 20 20 20 20 20 20 3c 68 32 20 69 64 3d 22 74 61 62 6c 65 2d 6f 66 2d 63 6f 6e 74 65 6e 74 73 22 ......<h2.id="table-of-contents"
2540 3e 54 61 62 6c 65 20 6f 66 20 43 6f 6e 74 65 6e 74 73 3c 2f 68 32 3e 0a 20 20 20 20 20 20 20 20 >Table.of.Contents</h2>.........
2560 20 20 0a 0a 20 20 20 20 3c 75 6c 3e 0a 20 20 20 20 20 20 20 20 3c 6c 69 3e 3c 61 20 69 64 3d 22 ........<ul>.........<li><a.id="
2580 74 6f 63 2d 49 6e 74 72 6f 64 75 63 74 69 6f 6e 22 20 68 72 65 66 3d 22 23 49 6e 74 72 6f 64 75 toc-Introduction".href="#Introdu
25a0 63 74 69 6f 6e 22 3e 49 6e 74 72 6f 64 75 63 74 69 6f 6e 3c 2f 61 3e 3c 2f 6c 69 3e 0a 20 20 20 ction">Introduction</a></li>....
25c0 20 20 20 20 20 3c 6c 69 3e 3c 61 20 69 64 3d 22 74 6f 63 2d 5a 69 67 2d 53 74 61 6e 64 61 72 64 .....<li><a.id="toc-Zig-Standard
25e0 2d 4c 69 62 72 61 72 79 22 20 68 72 65 66 3d 22 23 5a 69 67 2d 53 74 61 6e 64 61 72 64 2d 4c 69 -Library".href="#Zig-Standard-Li
2600 62 72 61 72 79 22 3e 5a 69 67 20 53 74 61 6e 64 61 72 64 20 4c 69 62 72 61 72 79 3c 2f 61 3e 3c brary">Zig.Standard.Library</a><
2620 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 48 65 6c 6c /li>.........<li><a.id="toc-Hell
2640 6f 2d 57 6f 72 6c 64 22 20 68 72 65 66 3d 22 23 48 65 6c 6c 6f 2d 57 6f 72 6c 64 22 3e 48 65 6c o-World".href="#Hello-World">Hel
2660 6c 6f 20 57 6f 72 6c 64 3c 2f 61 3e 3c 2f 6c 69 3e 0a 20 20 20 20 20 20 20 20 3c 6c 69 3e 3c 61 lo.World</a></li>.........<li><a
2680 20 69 64 3d 22 74 6f 63 2d 43 6f 6d 6d 65 6e 74 73 22 20 68 72 65 66 3d 22 23 43 6f 6d 6d 65 6e .id="toc-Comments".href="#Commen
26a0 74 73 22 3e 43 6f 6d 6d 65 6e 74 73 3c 2f 61 3e 0a 20 20 20 20 20 20 20 20 3c 75 6c 3e 0a 20 20 ts">Comments</a>.........<ul>...
26c0 20 20 20 20 20 20 20 20 20 20 3c 6c 69 3e 3c 61 20 69 64 3d 22 74 6f 63 2d 44 6f 63 2d 63 6f 6d ..........<li><a.id="toc-Doc-com
26e0 6d 65 6e 74 73 22 20 68 72 65 66 3d 22 23 44 6f 63 2d 63 6f 6d 6d 65 6e 74 73 22 3e 44 6f 63 20 ments".href="#Doc-comments">Doc.
2700 63 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 comments</a></li>.............<l
2720 69 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 i><a.id="toc-Top-Level-Doc-Comme
2740 6e 74 73 22 20 68 72 65 66 3d 22 23 54 6f 70 2d 4c 65 76 65 6c 2d 44 6f 63 2d 43 6f 6d 6d 65 6e nts".href="#Top-Level-Doc-Commen
2760 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 3c 2f ts">Top-Level.Doc.Comments</a></
2780 6c 69 3e 0a 20 20 20 20 20 20 20 20 3c 2f 75 6c 3e 3c 2f 6c 69 3e 0a 20 20 20 20 20 20 20 20 3c li>.........</ul></li>.........<
27a0 6c 69 3e 3c 61 20 69 64 3d 22 74 6f 63 2d 56 61 6c 75 65 73 22 20 68 72 65 66 3d 22 23 56 61 6c li><a.id="toc-Values".href="#Val
27c0 75 65 73 22 3e 56 61 6c 75 65 73 3c 2f 61 3e 0a 20 20 20 20 20 20 20 20 3c 75 6c 3e 0a 20 20 20 ues">Values</a>.........<ul>....
27e0 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 6d 69 74 69 76 .........<li><a.id="toc-Primitiv
2800 65 2d 54 79 70 65 73 22 20 68 72 65 66 3d 22 23 50 72 69 6d 69 74 69 76 65 2d 54 79 70 65 73 22 e-Types".href="#Primitive-Types"
2820 3e 50 72 69 6d 69 74 69 76 65 20 54 79 70 65 73 3c 2f 61 3e 3c 2f 6c 69 3e 0a 20 20 20 20 20 20 >Primitive.Types</a></li>.......
2840 20 20 20 20 20 20 3c 6c 69 3e 3c 61 20 69 64 3d 22 74 6f 63 2d 50 72 69 6d 69 74 69 76 65 2d 56 ......<li><a.id="toc-Primitive-V
2860 61 6c 75 65 73 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 alues".href="#Primitive-Values">
2880 50 72 69 6d 69 74 69 76 65 20 56 61 6c 75 65 73 3c 2f 61 3e 3c 2f 6c 69 3e 0a 20 20 20 20 20 20 Primitive.Values</a></li>.......
28a0 20 20 20 20 20 20 3c 6c 69 3e 3c 61 20 69 64 3d 22 74 6f 63 2d 53 74 72 69 6e 67 2d 4c 69 74 65 ......<li><a.id="toc-String-Lite
28c0 72 61 6c 73 2d 61 6e 64 2d 55 6e 69 63 6f 64 65 2d 43 6f 64 65 2d 50 6f 69 6e 74 2d 4c 69 74 65 rals-and-Unicode-Code-Point-Lite
28e0 72 61 6c 73 22 20 68 72 65 66 3d 22 23 53 74 72 69 6e 67 2d 4c 69 74 65 72 61 6c 73 2d 61 6e 64 rals".href="#String-Literals-and
2900 2d 55 6e 69 63 6f 64 65 2d 43 6f 64 65 2d 50 6f 69 6e 74 2d 4c 69 74 65 72 61 6c 73 22 3e 53 74 -Unicode-Code-Point-Literals">St
2920 72 69 6e 67 20 4c 69 74 65 72 61 6c 73 20 61 6e 64 20 55 6e 69 63 6f 64 65 20 43 6f 64 65 20 50 ring.Literals.and.Unicode.Code.P
2940 6f 69 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 75 oint.Literals</a>.............<u
2960 6c 3e 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 3c 6c 69 3e 3c 61 20 69 64 3d 22 74 6f l>.................<li><a.id="to
2980 63 2d 45 73 63 61 70 65 2d 53 65 71 75 65 6e 63 65 73 22 20 68 72 65 66 3d 22 23 45 73 63 61 70 c-Escape-Sequences".href="#Escap
29a0 65 2d 53 65 71 75 65 6e 63 65 73 22 3e 45 73 63 61 70 65 20 53 65 71 75 65 6e 63 65 73 3c 2f 61 e-Sequences">Escape.Sequences</a
29c0 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
29e0 3d 22 74 6f 63 2d 4d 75 6c 74 69 6c 69 6e 65 2d 53 74 72 69 6e 67 2d 4c 69 74 65 72 61 6c 73 22 ="toc-Multiline-String-Literals"
2a00 20 68 72 65 66 3d 22 23 4d 75 6c 74 69 6c 69 6e 65 2d 53 74 72 69 6e 67 2d 4c 69 74 65 72 61 6c .href="#Multiline-String-Literal
2a20 73 22 3e 4d 75 6c 74 69 6c 69 6e 65 20 53 74 72 69 6e 67 20 4c 69 74 65 72 61 6c 73 3c 2f 61 3e s">Multiline.String.Literals</a>
2a40 3c 2f 6c 69 3e 0a 20 20 20 20 20 20 20 20 20 20 20 20 3c 2f 75 6c 3e 3c 2f 6c 69 3e 0a 20 20 20 </li>.............</ul></li>....
2a60 20 20 20 20 20 20 20 20 20 3c 6c 69 3e 3c 61 20 69 64 3d 22 74 6f 63 2d 41 73 73 69 67 6e 6d 65 .........<li><a.id="toc-Assignme
2a80 6e 74 22 20 68 72 65 66 3d 22 23 41 73 73 69 67 6e 6d 65 6e 74 22 3e 41 73 73 69 67 6e 6d 65 6e nt".href="#Assignment">Assignmen
2aa0 74 3c 2f 61 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 t</a>.............<ul>..........
2ac0 20 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 .......<li><a.id="toc-undefined"
2ae0 20 68 72 65 66 3d 22 23 75 6e 64 65 66 69 6e 65 64 22 3e 75 6e 64 65 66 69 6e 65 64 3c 2f 61 3e .href="#undefined">undefined</a>
2b00 3c 2f 6c 69 3e 0a 20 20 20 20 20 20 20 20 20 20 20 20 3c 2f 75 6c 3e 3c 2f 6c 69 3e 0a 20 20 20 </li>.............</ul></li>....
2b20 20 20 20 20 20 3c 2f 75 6c 3e 3c 2f 6c 69 3e 0a 20 20 20 20 20 20 20 20 3c 6c 69 3e 3c 61 20 69 .....</ul></li>.........<li><a.i
2b40 64 3d 22 74 6f 63 2d 5a 69 67 2d 54 65 73 74 22 20 68 72 65 66 3d 22 23 5a 69 67 2d 54 65 73 74 d="toc-Zig-Test".href="#Zig-Test
2b60 22 3e 5a 69 67 20 54 65 73 74 3c 2f 61 3e 0a 20 20 20 20 20 20 20 20 3c 75 6c 3e 0a 20 20 20 20 ">Zig.Test</a>.........<ul>.....
2b80 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 44 65 63 6c ........<li><a.id="toc-Test-Decl
2ba0 61 72 61 74 69 6f 6e 73 22 20 68 72 65 66 3d 22 23 54 65 73 74 2d 44 65 63 6c 61 72 61 74 69 6f arations".href="#Test-Declaratio
2bc0 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 3c 2f 6c 69 3e 0a 20 ns">Test.Declarations</a></li>..
2be0 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 4e 65 73 74 65 64 ...........<li><a.id="toc-Nested
2c00 2d 43 6f 6e 74 61 69 6e 65 72 2d 54 65 73 74 73 22 20 68 72 65 66 3d 22 23 4e 65 73 74 65 64 2d -Container-Tests".href="#Nested-
2c20 43 6f 6e 74 61 69 6e 65 72 2d 54 65 73 74 73 22 3e 4e 65 73 74 65 64 20 43 6f 6e 74 61 69 6e 65 Container-Tests">Nested.Containe
2c40 72 20 54 65 73 74 73 3c 2f 61 3e 3c 2f 6c 69 3e 0a 20 20 20 20 20 20 20 20 20 20 20 20 3c 6c 69 r.Tests</a></li>.............<li
2c60 3e 3c 61 20 69 64 3d 22 74 6f 63 2d 54 65 73 74 2d 46 61 69 6c 75 72 65 22 20 68 72 65 66 3d 22 ><a.id="toc-Test-Failure".href="
2c80 23 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 65 3c 2f 61 3e 3c #Test-Failure">Test.Failure</a><
2ca0 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-
2cc0 53 6b 69 70 2d 54 65 73 74 73 22 20 68 72 65 66 3d 22 23 53 6b 69 70 2d 54 65 73 74 73 22 3e 53 Skip-Tests".href="#Skip-Tests">S
2ce0 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 20 20 20 3c kip.Tests</a></li>.............<
2d00 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 4c 65 61 6b li><a.id="toc-Report-Memory-Leak
2d20 73 22 20 68 72 65 66 3d 22 23 52 65 70 6f 72 74 2d 4d 65 6d 6f 72 79 2d 4c 65 61 6b 73 22 3e 52 s".href="#Report-Memory-Leaks">R
2d40 65 70 6f 72 74 20 4d 65 6d 6f 72 79 20 4c 65 61 6b 73 3c 2f 61 3e 3c 2f 6c 69 3e 0a 20 20 20 20 eport.Memory.Leaks</a></li>.....
2d60 20 20 20 20 20 20 20 20 3c 6c 69 3e 3c 61 20 69 64 3d 22 74 6f 63 2d 44 65 74 65 63 74 69 6e 67 ........<li><a.id="toc-Detecting
2d80 2d 54 65 73 74 2d 42 75 69 6c 64 22 20 68 72 65 66 3d 22 23 44 65 74 65 63 74 69 6e 67 2d 54 65 -Test-Build".href="#Detecting-Te
2da0 73 74 2d 42 75 69 6c 64 22 3e 44 65 74 65 63 74 69 6e 67 20 54 65 73 74 20 42 75 69 6c 64 3c 2f st-Build">Detecting.Test.Build</
2dc0 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
2de0 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 20 68 72 65 66 oc-Test-Output-and-Logging".href
2e00 3d 22 23 54 65 73 74 2d 4f 75 74 70 75 74 2d 61 6e 64 2d 4c 6f 67 67 69 6e 67 22 3e 54 65 73 74 ="#Test-Output-and-Logging">Test
2e20 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 3e 0a 20 20 20 .Output.and.Logging</a></li>....
2e40 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 54 65 73 74 .........<li><a.id="toc-The-Test
2e60 69 6e 67 2d 4e 61 6d 65 73 70 61 63 65 22 20 68 72 65 66 3d 22 23 54 68 65 2d 54 65 73 74 69 6e ing-Namespace".href="#The-Testin
2e80 67 2d 4e 61 6d 65 73 70 61 63 65 22 3e 54 68 65 20 54 65 73 74 69 6e 67 20 4e 61 6d 65 73 70 61 g-Namespace">The.Testing.Namespa
2ea0 63 65 3c 2f 61 3e 3c 2f 6c 69 3e 0a 20 20 20 20 20 20 20 20 20 20 20 20 3c 6c 69 3e 3c 61 20 69 ce</a></li>.............<li><a.i
2ec0 64 3d 22 74 6f 63 2d 54 65 73 74 2d 54 6f 6f 6c 2d 44 6f 63 75 6d 65 6e 74 61 74 69 6f 6e 22 20 d="toc-Test-Tool-Documentation".
2ee0 68 72 65 66 3d 22 23 54 65 73 74 2d 54 6f 6f 6c 2d 44 6f 63 75 6d 65 6e 74 61 74 69 6f 6e 22 3e href="#Test-Tool-Documentation">
2f00 54 65 73 74 20 54 6f 6f 6c 20 44 6f 63 75 6d 65 6e 74 61 74 69 6f 6e 3c 2f 61 3e 3c 2f 6c 69 3e Test.Tool.Documentation</a></li>
2f20 0a 20 20 20 20 20 20 20 20 3c 2f 75 6c 3e 3c 2f 6c 69 3e 0a 20 20 20 20 20 20 20 20 3c 6c 69 3e .........</ul></li>.........<li>
2f40 3c 61 20 69 64 3d 22 74 6f 63 2d 56 61 72 69 61 62 6c 65 73 22 20 68 72 65 66 3d 22 23 56 61 72 <a.id="toc-Variables".href="#Var
2f60 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 20 20 20 20 3c 75 iables">Variables</a>.........<u
2f80 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 49 64 l>.............<li><a.id="toc-Id
2fa0 65 6e 74 69 66 69 65 72 73 22 20 68 72 65 66 3d 22 23 49 64 65 6e 74 69 66 69 65 72 73 22 3e 49 entifiers".href="#Identifiers">I
2fc0 64 65 6e 74 69 66 69 65 72 73 3c 2f 61 3e 3c 2f 6c 69 3e 0a 20 20 20 20 20 20 20 20 20 20 20 20 dentifiers</a></li>.............
2fe0 3c 6c 69 3e 3c 61 20 69 64 3d 22 74 6f 63 2d 43 6f 6e 74 61 69 6e 65 72 2d 4c 65 76 65 6c 2d 56 <li><a.id="toc-Container-Level-V
3000 61 72 69 61 62 6c 65 73 22 20 68 72 65 66 3d 22 23 43 6f 6e 74 61 69 6e 65 72 2d 4c 65 76 65 6c ariables".href="#Container-Level
3020 2d 56 61 72 69 61 62 6c 65 73 22 3e 43 6f 6e 74 61 69 6e 65 72 20 4c 65 76 65 6c 20 56 61 72 69 -Variables">Container.Level.Vari
3040 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><
3060 61 20 69 64 3d 22 74 6f 63 2d 53 74 61 74 69 63 2d 4c 6f 63 61 6c 2d 56 61 72 69 61 62 6c 65 73 a.id="toc-Static-Local-Variables
3080 22 20 68 72 65 66 3d 22 23 53 74 61 74 69 63 2d 4c 6f 63 61 6c 2d 56 61 72 69 61 62 6c 65 73 22 ".href="#Static-Local-Variables"
30a0 3e 53 74 61 74 69 63 20 4c 6f 63 61 6c 20 56 61 72 69 61 62 6c 65 73 3c 2f 61 3e 3c 2f 6c 69 3e >Static.Local.Variables</a></li>
30c0 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 72 65 .............<li><a.id="toc-Thre
30e0 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 23 54 68 72 65 61 ad-Local-Variables".href="#Threa
3100 64 2d 4c 6f 63 61 6c 2d 56 61 72 69 61 62 6c 65 73 22 3e 54 68 72 65 61 64 20 4c 6f 63 61 6c 20 d-Local-Variables">Thread.Local.
3120 56 61 72 69 61 62 6c 65 73 3c 2f 61 3e 3c 2f 6c 69 3e 0a 20 20 20 20 20 20 20 20 20 20 20 20 3c Variables</a></li>.............<
3140 6c 69 3e 3c 61 20 69 64 3d 22 74 6f 63 2d 4c 6f 63 61 6c 2d 56 61 72 69 61 62 6c 65 73 22 20 68 li><a.id="toc-Local-Variables".h
3160 72 65 66 3d 22 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 ref="#Local-Variables">Local.Var
3180 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 2f 75 6c 3e 3c 2f 6c iables</a></li>.........</ul></l
31a0 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 49 6e 74 65 67 65 i>.........<li><a.id="toc-Intege
31c0 72 73 22 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 rs".href="#Integers">Integers</a
31e0 3e 0a 20 20 20 20 20 20 20 20 3c 75 6c 3e 0a 20 20 20 20 20 20 20 20 20 20 20 20 3c 6c 69 3e 3c >.........<ul>.............<li><
3200 61 20 69 64 3d 22 74 6f 63 2d 49 6e 74 65 67 65 72 2d 4c 69 74 65 72 61 6c 73 22 20 68 72 65 66 a.id="toc-Integer-Literals".href
3220 3d 22 23 49 6e 74 65 67 65 72 2d 4c 69 74 65 72 61 6c 73 22 3e 49 6e 74 65 67 65 72 20 4c 69 74 ="#Integer-Literals">Integer.Lit
3240 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 69 3e 3c erals</a></li>.............<li><
3260 61 20 69 64 3d 22 74 6f 63 2d 52 75 6e 74 69 6d 65 2d 49 6e 74 65 67 65 72 2d 56 61 6c 75 65 73 a.id="toc-Runtime-Integer-Values
3280 22 20 68 72 65 66 3d 22 23 52 75 6e 74 69 6d 65 2d 49 6e 74 65 67 65 72 2d 56 61 6c 75 65 73 22 ".href="#Runtime-Integer-Values"
32a0 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 3c 2f 6c 69 3e >Runtime.Integer.Values</a></li>
32c0 0a 20 20 20 20 20 20 20 20 3c 2f 75 6c 3e 3c 2f 6c 69 3e 0a 20 20 20 20 20 20 20 20 3c 6c 69 3e .........</ul></li>.........<li>
32e0 3c 61 20 69 64 3d 22 74 6f 63 2d 46 6c 6f 61 74 73 22 20 68 72 65 66 3d 22 23 46 6c 6f 61 74 73 <a.id="toc-Floats".href="#Floats
3300 22 3e 46 6c 6f 61 74 73 3c 2f 61 3e 0a 20 20 20 20 20 20 20 20 3c 75 6c 3e 0a 20 20 20 20 20 20 ">Floats</a>.........<ul>.......
3320 20 20 20 20 20 20 3c 6c 69 3e 3c 61 20 69 64 3d 22 74 6f 63 2d 46 6c 6f 61 74 2d 4c 69 74 65 72 ......<li><a.id="toc-Float-Liter
3340 61 6c 73 22 20 68 72 65 66 3d 22 23 46 6c 6f 61 74 2d 4c 69 74 65 72 61 6c 73 22 3e 46 6c 6f 61 als".href="#Float-Literals">Floa
3360 74 20 4c 69 74 65 72 61 6c 73 3c 2f 61 3e 3c 2f 6c 69 3e 0a 20 20 20 20 20 20 20 20 20 20 20 20 t.Literals</a></li>.............
3380 3c 6c 69 3e 3c 61 20 69 64 3d 22 74 6f 63 2d 46 6c 6f 61 74 69 6e 67 2d 50 6f 69 6e 74 2d 4f 70 <li><a.id="toc-Floating-Point-Op
33a0 65 72 61 74 69 6f 6e 73 22 20 68 72 65 66 3d 22 23 46 6c 6f 61 74 69 6e 67 2d 50 6f 69 6e 74 2d erations".href="#Floating-Point-
33c0 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 61 Operations">Floating.Point.Opera
33e0 74 69 6f 6e 73 3c 2f 61 3e 3c 2f 6c 69 3e 0a 20 20 20 20 20 20 20 20 3c 2f 75 6c 3e 3c 2f 6c 69 tions</a></li>.........</ul></li
3400 3e 0a 20 20 20 20 20 20 20 20 3c 6c 69 3e 3c 61 20 69 64 3d 22 74 6f 63 2d 4f 70 65 72 61 74 6f >.........<li><a.id="toc-Operato
3420 72 73 22 20 68 72 65 66 3d 22 23 4f 70 65 72 61 74 6f 72 73 22 3e 4f 70 65 72 61 74 6f 72 73 3c rs".href="#Operators">Operators<
3440 2f 61 3e 0a 20 20 20 20 20 20 20 20 3c 75 6c 3e 0a 20 20 20 20 20 20 20 20 20 20 20 20 3c 6c 69 /a>.........<ul>.............<li
3460 3e 3c 61 20 69 64 3d 22 74 6f 63 2d 54 61 62 6c 65 2d 6f 66 2d 4f 70 65 72 61 74 6f 72 73 22 20 ><a.id="toc-Table-of-Operators".
3480 68 72 65 66 3d 22 23 54 61 62 6c 65 2d 6f 66 2d 4f 70 65 72 61 74 6f 72 73 22 3e 54 61 62 6c 65 href="#Table-of-Operators">Table
34a0 20 6f 66 20 4f 70 65 72 61 74 6f 72 73 3c 2f 61 3e 3c 2f 6c 69 3e 0a 20 20 20 20 20 20 20 20 20 .of.Operators</a></li>..........
34c0 20 20 20 3c 6c 69 3e 3c 61 20 69 64 3d 22 74 6f 63 2d 50 72 65 63 65 64 65 6e 63 65 22 20 68 72 ...<li><a.id="toc-Precedence".hr
34e0 65 66 3d 22 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 ef="#Precedence">Precedence</a><
3500 2f 6c 69 3e 0a 20 20 20 20 20 20 20 20 3c 2f 75 6c 3e 3c 2f 6c 69 3e 0a 20 20 20 20 20 20 20 20 /li>.........</ul></li>.........
3520 3c 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 23 41 72 <li><a.id="toc-Arrays".href="#Ar
3540 72 61 79 73 22 3e 41 72 72 61 79 73 3c 2f 61 3e 0a 20 20 20 20 20 20 20 20 3c 75 6c 3e 0a 20 20 rays">Arrays</a>.........<ul>...
3560 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 6e 6f 6e 79 6d 6f ..........<li><a.id="toc-Anonymo
3580 75 73 2d 4c 69 73 74 2d 4c 69 74 65 72 61 6c 73 22 20 68 72 65 66 3d 22 23 41 6e 6f 6e 79 6d 6f us-List-Literals".href="#Anonymo
35a0 75 73 2d 4c 69 73 74 2d 4c 69 74 65 72 61 6c 73 22 3e 41 6e 6f 6e 79 6d 6f 75 73 20 4c 69 73 74 us-List-Literals">Anonymous.List
35c0 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>.............<
35e0 6c 69 3e 3c 61 20 69 64 3d 22 74 6f 63 2d 4d 75 6c 74 69 64 69 6d 65 6e 73 69 6f 6e 61 6c 2d 41 li><a.id="toc-Multidimensional-A
3600 72 72 61 79 73 22 20 68 72 65 66 3d 22 23 4d 75 6c 74 69 64 69 6d 65 6e 73 69 6f 6e 61 6c 2d 41 rrays".href="#Multidimensional-A
3620 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</
3640 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
3660 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
3680 72 65 66 3d 22 23 53 65 6e 74 69 6e 65 6c 2d 54 65 72 6d 69 6e 61 74 65 64 2d 41 72 72 61 79 73 ref="#Sentinel-Terminated-Arrays
36a0 22 3e 53 65 6e 74 69 6e 65 6c 2d 54 65 72 6d 69 6e 61 74 65 64 20 41 72 72 61 79 73 3c 2f 61 3e ">Sentinel-Terminated.Arrays</a>
36c0 3c 2f 6c 69 3e 0a 20 20 20 20 20 20 20 20 3c 2f 75 6c 3e 3c 2f 6c 69 3e 0a 20 20 20 20 20 20 20 </li>.........</ul></li>........
36e0 20 3c 6c 69 3e 3c 61 20 69 64 3d 22 74 6f 63 2d 56 65 63 74 6f 72 73 22 20 68 72 65 66 3d 22 23 .<li><a.id="toc-Vectors".href="#
3700 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 20 20 20 20 20 20 Vectors">Vectors</a></li>.......
3720 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 68 72 65 66 3d ..<li><a.id="toc-Pointers".href=
3740 22 23 50 6f 69 6e 74 65 72 73 22 3e 50 6f 69 6e 74 65 72 73 3c 2f 61 3e 0a 20 20 20 20 20 20 20 "#Pointers">Pointers</a>........
3760 20 3c 75 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 .<ul>.............<li><a.id="toc
3780 2d 76 6f 6c 61 74 69 6c 65 22 20 68 72 65 66 3d 22 23 76 6f 6c 61 74 69 6c 65 22 3e 76 6f 6c 61 -volatile".href="#volatile">vola
37a0 74 69 6c 65 3c 2f 61 3e 3c 2f 6c 69 3e 0a 20 20 20 20 20 20 20 20 20 20 20 20 3c 6c 69 3e 3c 61 tile</a></li>.............<li><a
37c0 20 69 64 3d 22 74 6f 63 2d 41 6c 69 67 6e 6d 65 6e 74 22 20 68 72 65 66 3d 22 23 41 6c 69 67 6e .id="toc-Alignment".href="#Align
37e0 6d 65 6e 74 22 3e 41 6c 69 67 6e 6d 65 6e 74 3c 2f 61 3e 3c 2f 6c 69 3e 0a 20 20 20 20 20 20 20 ment">Alignment</a></li>........
3800 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 65 72 6f 22 20 68 .....<li><a.id="toc-allowzero".h
3820 72 65 66 3d 22 23 61 6c 6c 6f 77 7a 65 72 6f 22 3e 61 6c 6c 6f 77 7a 65 72 6f 3c 2f 61 3e 3c 2f ref="#allowzero">allowzero</a></
3840 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
3860 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 20 68 72 65 entinel-Terminated-Pointers".hre
3880 66 3d 22 23 53 65 6e 74 69 6e 65 6c 2d 54 65 72 6d 69 6e 61 74 65 64 2d 50 6f 69 6e 74 65 72 73 f="#Sentinel-Terminated-Pointers
38a0 22 3e 53 65 6e 74 69 6e 65 6c 2d 54 65 72 6d 69 6e 61 74 65 64 20 50 6f 69 6e 74 65 72 73 3c 2f ">Sentinel-Terminated.Pointers</
38c0 61 3e 3c 2f 6c 69 3e 0a 20 20 20 20 20 20 20 20 3c 2f 75 6c 3e 3c 2f 6c 69 3e 0a 20 20 20 20 20 a></li>.........</ul></li>......
38e0 20 20 20 3c 6c 69 3e 3c 61 20 69 64 3d 22 74 6f 63 2d 53 6c 69 63 65 73 22 20 68 72 65 66 3d 22 ...<li><a.id="toc-Slices".href="
3900 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 20 20 20 3c 75 6c 3e #Slices">Slices</a>.........<ul>
3920 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 65 6e 74 .............<li><a.id="toc-Sent
3940 69 6e 65 6c 2d 54 65 72 6d 69 6e 61 74 65 64 2d 53 6c 69 63 65 73 22 20 68 72 65 66 3d 22 23 53 inel-Terminated-Slices".href="#S
3960 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 69 entinel-Terminated-Slices">Senti
3980 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 20 nel-Terminated.Slices</a></li>..
39a0 20 20 20 20 20 20 20 3c 2f 75 6c 3e 3c 2f 6c 69 3e 0a 20 20 20 20 20 20 20 20 3c 6c 69 3e 3c 61 .......</ul></li>.........<li><a
39c0 20 69 64 3d 22 74 6f 63 2d 73 74 72 75 63 74 22 20 68 72 65 66 3d 22 23 73 74 72 75 63 74 22 3e .id="toc-struct".href="#struct">
39e0 73 74 72 75 63 74 3c 2f 61 3e 0a 20 20 20 20 20 20 20 20 3c 75 6c 3e 0a 20 20 20 20 20 20 20 20 struct</a>.........<ul>.........
3a00 20 20 20 20 3c 6c 69 3e 3c 61 20 69 64 3d 22 74 6f 63 2d 44 65 66 61 75 6c 74 2d 46 69 65 6c 64 ....<li><a.id="toc-Default-Field
3a20 2d 56 61 6c 75 65 73 22 20 68 72 65 66 3d 22 23 44 65 66 61 75 6c 74 2d 46 69 65 6c 64 2d 56 61 -Values".href="#Default-Field-Va
3a40 6c 75 65 73 22 3e 44 65 66 61 75 6c 74 20 46 69 65 6c 64 20 56 61 6c 75 65 73 3c 2f 61 3e 3c 2f lues">Default.Field.Values</a></
3a60 6c 69 3e 0a 20 20 20 20 20 20 20 20 20 20 20 20 3c 6c 69 3e 3c 61 20 69 64 3d 22 74 6f 63 2d 65 li>.............<li><a.id="toc-e
3a80 78 74 65 72 6e 2d 73 74 72 75 63 74 22 20 68 72 65 66 3d 22 23 65 78 74 65 72 6e 2d 73 74 72 75 xtern-struct".href="#extern-stru
3aa0 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 0a 20 20 20 20 20 ct">extern.struct</a></li>......
3ac0 20 20 20 20 20 20 20 3c 6c 69 3e 3c 61 20 69 64 3d 22 74 6f 63 2d 70 61 63 6b 65 64 2d 73 74 72 .......<li><a.id="toc-packed-str
3ae0 75 63 74 22 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 uct".href="#packed-struct">packe
3b00 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 6c d.struct</a></li>.............<l
3b20 69 3e 3c 61 20 69 64 3d 22 74 6f 63 2d 53 74 72 75 63 74 2d 4e 61 6d 69 6e 67 22 20 68 72 65 66 i><a.id="toc-Struct-Naming".href
3b40 3d 22 23 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 3c ="#Struct-Naming">Struct.Naming<
3b60 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="
3b80 74 6f 63 2d 41 6e 6f 6e 79 6d 6f 75 73 2d 53 74 72 75 63 74 2d 4c 69 74 65 72 61 6c 73 22 20 68 toc-Anonymous-Struct-Literals".h
3ba0 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 73 22 ref="#Anonymous-Struct-Literals"
3bc0 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 3c 2f >Anonymous.Struct.Literals</a></
3be0 6c 69 3e 0a 20 20 20 20 20 20 20 20 3c 2f 75 6c 3e 3c 2f 6c 69 3e 0a 20 20 20 20 20 20 20 20 3c li>.........</ul></li>.........<
3c00 6c 69 3e 3c 61 20 69 64 3d 22 74 6f 63 2d 65 6e 75 6d 22 20 68 72 65 66 3d 22 23 65 6e 75 6d 22 li><a.id="toc-enum".href="#enum"
3c20 3e 65 6e 75 6d 3c 2f 61 3e 0a 20 20 20 20 20 20 20 20 3c 75 6c 3e 0a 20 20 20 20 20 20 20 20 20 >enum</a>.........<ul>..........
3c40 20 20 20 3c 6c 69 3e 3c 61 20 69 64 3d 22 74 6f 63 2d 65 78 74 65 72 6e 2d 65 6e 75 6d 22 20 68 ...<li><a.id="toc-extern-enum".h
3c60 72 65 66 3d 22 23 65 78 74 65 72 6e 2d 65 6e 75 6d 22 3e 65 78 74 65 72 6e 20 65 6e 75 6d 3c 2f ref="#extern-enum">extern.enum</
3c80 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
3ca0 6f 63 2d 45 6e 75 6d 2d 4c 69 74 65 72 61 6c 73 22 20 68 72 65 66 3d 22 23 45 6e 75 6d 2d 4c 69 oc-Enum-Literals".href="#Enum-Li
3cc0 74 65 72 61 6c 73 22 3e 45 6e 75 6d 20 4c 69 74 65 72 61 6c 73 3c 2f 61 3e 3c 2f 6c 69 3e 0a 20 terals">Enum.Literals</a></li>..
3ce0 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 4e 6f 6e 2d 65 78 ...........<li><a.id="toc-Non-ex
3d00 68 61 75 73 74 69 76 65 2d 65 6e 75 6d 22 20 68 72 65 66 3d 22 23 4e 6f 6e 2d 65 78 68 61 75 73 haustive-enum".href="#Non-exhaus
3d20 74 69 76 65 2d 65 6e 75 6d 22 3e 4e 6f 6e 2d 65 78 68 61 75 73 74 69 76 65 20 65 6e 75 6d 3c 2f tive-enum">Non-exhaustive.enum</
3d40 61 3e 3c 2f 6c 69 3e 0a 20 20 20 20 20 20 20 20 3c 2f 75 6c 3e 3c 2f 6c 69 3e 0a 20 20 20 20 20 a></li>.........</ul></li>......
3d60 20 20 20 3c 6c 69 3e 3c 61 20 69 64 3d 22 74 6f 63 2d 75 6e 69 6f 6e 22 20 68 72 65 66 3d 22 23 ...<li><a.id="toc-union".href="#
3d80 75 6e 69 6f 6e 22 3e 75 6e 69 6f 6e 3c 2f 61 3e 0a 20 20 20 20 20 20 20 20 3c 75 6c 3e 0a 20 20 union">union</a>.........<ul>...
3da0 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 61 67 67 65 64 2d ..........<li><a.id="toc-Tagged-
3dc0 75 6e 69 6f 6e 22 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 union".href="#Tagged-union">Tagg
3de0 65 64 20 75 6e 69 6f 6e 3c 2f 61 3e 3c 2f 6c 69 3e 0a 20 20 20 20 20 20 20 20 20 20 20 20 3c 6c ed.union</a></li>.............<l
3e00 69 3e 3c 61 20 69 64 3d 22 74 6f 63 2d 65 78 74 65 72 6e 2d 75 6e 69 6f 6e 22 20 68 72 65 66 3d i><a.id="toc-extern-union".href=
3e20 22 23 65 78 74 65 72 6e 2d 75 6e 69 6f 6e 22 3e 65 78 74 65 72 6e 20 75 6e 69 6f 6e 3c 2f 61 3e "#extern-union">extern.union</a>
3e40 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
3e60 2d 70 61 63 6b 65 64 2d 75 6e 69 6f 6e 22 20 68 72 65 66 3d 22 23 70 61 63 6b 65 64 2d 75 6e 69 -packed-union".href="#packed-uni
3e80 6f 6e 22 3e 70 61 63 6b 65 64 20 75 6e 69 6f 6e 3c 2f 61 3e 3c 2f 6c 69 3e 0a 20 20 20 20 20 20 on">packed.union</a></li>.......
3ea0 20 20 20 20 20 20 3c 6c 69 3e 3c 61 20 69 64 3d 22 74 6f 63 2d 41 6e 6f 6e 79 6d 6f 75 73 2d 55 ......<li><a.id="toc-Anonymous-U
3ec0 6e 69 6f 6e 2d 4c 69 74 65 72 61 6c 73 22 20 68 72 65 66 3d 22 23 41 6e 6f 6e 79 6d 6f 75 73 2d nion-Literals".href="#Anonymous-
3ee0 55 6e 69 6f 6e 2d 4c 69 74 65 72 61 6c 73 22 3e 41 6e 6f 6e 79 6d 6f 75 73 20 55 6e 69 6f 6e 20 Union-Literals">Anonymous.Union.
3f00 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 3c 2f 75 6c 3e 3c Literals</a></li>.........</ul><
3f20 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 6f 70 61 71 /li>.........<li><a.id="toc-opaq
3f40 75 65 22 20 68 72 65 66 3d 22 23 6f 70 61 71 75 65 22 3e 6f 70 61 71 75 65 3c 2f 61 3e 3c 2f 6c ue".href="#opaque">opaque</a></l
3f60 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
3f80 22 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 0a 20 20 20 20 ".href="#Blocks">Blocks</a>.....
3fa0 20 20 20 20 3c 75 6c 3e 0a 20 20 20 20 20 20 20 20 20 20 20 20 3c 6c 69 3e 3c 61 20 69 64 3d 22 ....<ul>.............<li><a.id="
3fc0 74 6f 63 2d 53 68 61 64 6f 77 69 6e 67 22 20 68 72 65 66 3d 22 23 53 68 61 64 6f 77 69 6e 67 22 toc-Shadowing".href="#Shadowing"
3fe0 3e 53 68 61 64 6f 77 69 6e 67 3c 2f 61 3e 3c 2f 6c 69 3e 0a 20 20 20 20 20 20 20 20 20 20 20 20 >Shadowing</a></li>.............
4000 3c 6c 69 3e 3c 61 20 69 64 3d 22 74 6f 63 2d 45 6d 70 74 79 2d 42 6c 6f 63 6b 73 22 20 68 72 65 <li><a.id="toc-Empty-Blocks".hre
4020 66 3d 22 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 2f f="#Empty-Blocks">Empty.Blocks</
4040 61 3e 3c 2f 6c 69 3e 0a 20 20 20 20 20 20 20 20 3c 2f 75 6c 3e 3c 2f 6c 69 3e 0a 20 20 20 20 20 a></li>.........</ul></li>......
4060 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 22 ...<li><a.id="toc-switch".href="
4080 23 73 77 69 74 63 68 22 3e 73 77 69 74 63 68 3c 2f 61 3e 0a 20 20 20 20 20 20 20 20 3c 75 6c 3e #switch">switch</a>.........<ul>
40a0 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 68 61 .............<li><a.id="toc-Exha
40c0 75 73 74 69 76 65 2d 53 77 69 74 63 68 69 6e 67 22 20 68 72 65 66 3d 22 23 45 78 68 61 75 73 74 ustive-Switching".href="#Exhaust
40e0 69 76 65 2d 53 77 69 74 63 68 69 6e 67 22 3e 45 78 68 61 75 73 74 69 76 65 20 53 77 69 74 63 68 ive-Switching">Exhaustive.Switch
4100 69 6e 67 3c 2f 61 3e 3c 2f 6c 69 3e 0a 20 20 20 20 20 20 20 20 20 20 20 20 3c 6c 69 3e 3c 61 20 ing</a></li>.............<li><a.
4120 69 64 3d 22 74 6f 63 2d 53 77 69 74 63 68 69 6e 67 2d 77 69 74 68 2d 45 6e 75 6d 2d 4c 69 74 65 id="toc-Switching-with-Enum-Lite
4140 72 61 6c 73 22 20 68 72 65 66 3d 22 23 53 77 69 74 63 68 69 6e 67 2d 77 69 74 68 2d 45 6e 75 6d rals".href="#Switching-with-Enum
4160 2d 4c 69 74 65 72 61 6c 73 22 3e 53 77 69 74 63 68 69 6e 67 20 77 69 74 68 20 45 6e 75 6d 20 4c -Literals">Switching.with.Enum.L
4180 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 69 iterals</a></li>.............<li
41a0 3e 3c 61 20 69 64 3d 22 74 6f 63 2d 49 6e 6c 69 6e 65 2d 73 77 69 74 63 68 22 20 68 72 65 66 3d ><a.id="toc-Inline-switch".href=
41c0 22 23 49 6e 6c 69 6e 65 2d 73 77 69 74 63 68 22 3e 49 6e 6c 69 6e 65 20 73 77 69 74 63 68 3c 2f "#Inline-switch">Inline.switch</
41e0 61 3e 3c 2f 6c 69 3e 0a 20 20 20 20 20 20 20 20 3c 2f 75 6c 3e 3c 2f 6c 69 3e 0a 20 20 20 20 20 a></li>.........</ul></li>......
4200 20 20 20 3c 6c 69 3e 3c 61 20 69 64 3d 22 74 6f 63 2d 77 68 69 6c 65 22 20 68 72 65 66 3d 22 23 ...<li><a.id="toc-while".href="#
4220 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 75 6c 3e 0a 20 20 while">while</a>.........<ul>...
4240 20 20 20 20 20 20 20 20 20 20 3c 6c 69 3e 3c 61 20 69 64 3d 22 74 6f 63 2d 4c 61 62 65 6c 65 64 ..........<li><a.id="toc-Labeled
4260 2d 77 68 69 6c 65 22 20 68 72 65 66 3d 22 23 4c 61 62 65 6c 65 64 2d 77 68 69 6c 65 22 3e 4c 61 -while".href="#Labeled-while">La
4280 62 65 6c 65 64 20 77 68 69 6c 65 3c 2f 61 3e 3c 2f 6c 69 3e 0a 20 20 20 20 20 20 20 20 20 20 20 beled.while</a></li>............
42a0 20 3c 6c 69 3e 3c 61 20 69 64 3d 22 74 6f 63 2d 77 68 69 6c 65 2d 77 69 74 68 2d 4f 70 74 69 6f .<li><a.id="toc-while-with-Optio
42c0 6e 61 6c 73 22 20 68 72 65 66 3d 22 23 77 68 69 6c 65 2d 77 69 74 68 2d 4f 70 74 69 6f 6e 61 6c nals".href="#while-with-Optional
42e0 73 22 3e 77 68 69 6c 65 20 77 69 74 68 20 4f 70 74 69 6f 6e 61 6c 73 3c 2f 61 3e 3c 2f 6c 69 3e s">while.with.Optionals</a></li>
4300 0a 20 20 20 20 20 20 20 20 20 20 20 20 3c 6c 69 3e 3c 61 20 69 64 3d 22 74 6f 63 2d 77 68 69 6c .............<li><a.id="toc-whil
4320 65 2d 77 69 74 68 2d 45 72 72 6f 72 2d 55 6e 69 6f 6e 73 22 20 68 72 65 66 3d 22 23 77 68 69 6c e-with-Error-Unions".href="#whil
4340 65 2d 77 69 74 68 2d 45 72 72 6f 72 2d 55 6e 69 6f 6e 73 22 3e 77 68 69 6c 65 20 77 69 74 68 20 e-with-Error-Unions">while.with.
4360 45 72 72 6f 72 20 55 6e 69 6f 6e 73 3c 2f 61 3e 3c 2f 6c 69 3e 0a 20 20 20 20 20 20 20 20 20 20 Error.Unions</a></li>...........
4380 20 20 3c 6c 69 3e 3c 61 20 69 64 3d 22 74 6f 63 2d 69 6e 6c 69 6e 65 2d 77 68 69 6c 65 22 20 68 ..<li><a.id="toc-inline-while".h
43a0 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 77 68 69 6c 65 ref="#inline-while">inline.while
43c0 3c 2f 61 3e 3c 2f 6c 69 3e 0a 20 20 20 20 20 20 20 20 3c 2f 75 6c 3e 3c 2f 6c 69 3e 0a 20 20 20 </a></li>.........</ul></li>....
43e0 20 20 20 20 20 3c 6c 69 3e 3c 61 20 69 64 3d 22 74 6f 63 2d 66 6f 72 22 20 68 72 65 66 3d 22 23 .....<li><a.id="toc-for".href="#
4400 66 6f 72 22 3e 66 6f 72 3c 2f 61 3e 0a 20 20 20 20 20 20 20 20 3c 75 6c 3e 0a 20 20 20 20 20 20 for">for</a>.........<ul>.......
4420 20 20 20 20 20 20 3c 6c 69 3e 3c 61 20 69 64 3d 22 74 6f 63 2d 4c 61 62 65 6c 65 64 2d 66 6f 72 ......<li><a.id="toc-Labeled-for
4440 22 20 68 72 65 66 3d 22 23 4c 61 62 65 6c 65 64 2d 66 6f 72 22 3e 4c 61 62 65 6c 65 64 20 66 6f ".href="#Labeled-for">Labeled.fo
4460 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
4480 3d 22 74 6f 63 2d 69 6e 6c 69 6e 65 2d 66 6f 72 22 20 68 72 65 66 3d 22 23 69 6e 6c 69 6e 65 2d ="toc-inline-for".href="#inline-
44a0 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 20 20 20 20 20 20 20 for">inline.for</a></li>........
44c0 20 3c 2f 75 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 .</ul></li>.........<li><a.id="t
44e0 6f 63 2d 69 66 22 20 68 72 65 66 3d 22 23 69 66 22 3e 69 66 3c 2f 61 3e 3c 2f 6c 69 3e 0a 20 20 oc-if".href="#if">if</a></li>...
4500 20 20 20 20 20 20 3c 6c 69 3e 3c 61 20 69 64 3d 22 74 6f 63 2d 64 65 66 65 72 22 20 68 72 65 66 ......<li><a.id="toc-defer".href
4520 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 20 ="#defer">defer</a></li>........
4540 20 3c 6c 69 3e 3c 61 20 69 64 3d 22 74 6f 63 2d 75 6e 72 65 61 63 68 61 62 6c 65 22 20 68 72 65 .<li><a.id="toc-unreachable".hre
4560 66 3d 22 23 75 6e 72 65 61 63 68 61 62 6c 65 22 3e 75 6e 72 65 61 63 68 61 62 6c 65 3c 2f 61 3e f="#unreachable">unreachable</a>
4580 0a 20 20 20 20 20 20 20 20 3c 75 6c 3e 0a 20 20 20 20 20 20 20 20 20 20 20 20 3c 6c 69 3e 3c 61 .........<ul>.............<li><a
45a0 20 69 64 3d 22 74 6f 63 2d 42 61 73 69 63 73 22 20 68 72 65 66 3d 22 23 42 61 73 69 63 73 22 3e .id="toc-Basics".href="#Basics">
45c0 42 61 73 69 63 73 3c 2f 61 3e 3c 2f 6c 69 3e 0a 20 20 20 20 20 20 20 20 20 20 20 20 3c 6c 69 3e Basics</a></li>.............<li>
45e0 3c 61 20 69 64 3d 22 74 6f 63 2d 41 74 2d 43 6f 6d 70 69 6c 65 2d 54 69 6d 65 22 20 68 72 65 66 <a.id="toc-At-Compile-Time".href
4600 3d 22 23 41 74 2d 43 6f 6d 70 69 6c 65 2d 54 69 6d 65 22 3e 41 74 20 43 6f 6d 70 69 6c 65 2d 54 ="#At-Compile-Time">At.Compile-T
4620 69 6d 65 3c 2f 61 3e 3c 2f 6c 69 3e 0a 20 20 20 20 20 20 20 20 3c 2f 75 6c 3e 3c 2f 6c 69 3e 0a ime</a></li>.........</ul></li>.
4640 20 20 20 20 20 20 20 20 3c 6c 69 3e 3c 61 20 69 64 3d 22 74 6f 63 2d 6e 6f 72 65 74 75 72 6e 22 ........<li><a.id="toc-noreturn"
4660 20 68 72 65 66 3d 22 23 6e 6f 72 65 74 75 72 6e 22 3e 6e 6f 72 65 74 75 72 6e 3c 2f 61 3e 3c 2f .href="#noreturn">noreturn</a></
4680 6c 69 3e 0a 20 20 20 20 20 20 20 20 3c 6c 69 3e 3c 61 20 69 64 3d 22 74 6f 63 2d 46 75 6e 63 74 li>.........<li><a.id="toc-Funct
46a0 69 6f 6e 73 22 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 ions".href="#Functions">Function
46c0 73 3c 2f 61 3e 0a 20 20 20 20 20 20 20 20 3c 75 6c 3e 0a 20 20 20 20 20 20 20 20 20 20 20 20 3c s</a>.........<ul>.............<
46e0 6c 69 3e 3c 61 20 69 64 3d 22 74 6f 63 2d 50 61 73 73 2d 62 79 2d 76 61 6c 75 65 2d 50 61 72 61 li><a.id="toc-Pass-by-value-Para
4700 6d 65 74 65 72 73 22 20 68 72 65 66 3d 22 23 50 61 73 73 2d 62 79 2d 76 61 6c 75 65 2d 50 61 72 meters".href="#Pass-by-value-Par
4720 61 6d 65 74 65 72 73 22 3e 50 61 73 73 2d 62 79 2d 76 61 6c 75 65 20 50 61 72 61 6d 65 74 65 72 ameters">Pass-by-value.Parameter
4740 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
4760 3d 22 74 6f 63 2d 46 75 6e 63 74 69 6f 6e 2d 50 61 72 61 6d 65 74 65 72 2d 54 79 70 65 2d 49 6e ="toc-Function-Parameter-Type-In
4780 66 65 72 65 6e 63 65 22 20 68 72 65 66 3d 22 23 46 75 6e 63 74 69 6f 6e 2d 50 61 72 61 6d 65 74 ference".href="#Function-Paramet
47a0 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 61 72 61 er-Type-Inference">Function.Para
47c0 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 0a 20 20 meter.Type.Inference</a></li>...
47e0 20 20 20 20 20 20 20 20 20 20 3c 6c 69 3e 3c 61 20 69 64 3d 22 74 6f 63 2d 46 75 6e 63 74 69 6f ..........<li><a.id="toc-Functio
4800 6e 2d 52 65 66 6c 65 63 74 69 6f 6e 22 20 68 72 65 66 3d 22 23 46 75 6e 63 74 69 6f 6e 2d 52 65 n-Reflection".href="#Function-Re
4820 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
4840 3e 3c 2f 6c 69 3e 0a 20 20 20 20 20 20 20 20 3c 2f 75 6c 3e 3c 2f 6c 69 3e 0a 20 20 20 20 20 20 ></li>.........</ul></li>.......
4860 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 23 ..<li><a.id="toc-Errors".href="#
4880 45 72 72 6f 72 73 22 3e 45 72 72 6f 72 73 3c 2f 61 3e 0a 20 20 20 20 20 20 20 20 3c 75 6c 3e 0a Errors">Errors</a>.........<ul>.
48a0 20 20 20 20 20 20 20 20 20 20 20 20 3c 6c 69 3e 3c 61 20 69 64 3d 22 74 6f 63 2d 45 72 72 6f 72 ............<li><a.id="toc-Error
48c0 2d 53 65 74 2d 54 79 70 65 22 20 68 72 65 66 3d 22 23 45 72 72 6f 72 2d 53 65 74 2d 54 79 70 65 -Set-Type".href="#Error-Set-Type
48e0 22 3e 45 72 72 6f 72 20 53 65 74 20 54 79 70 65 3c 2f 61 3e 0a 20 20 20 20 20 20 20 20 20 20 20 ">Error.Set.Type</a>............
4900 20 3c 75 6c 3e 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 3c 6c 69 3e 3c 61 20 69 64 3d .<ul>.................<li><a.id=
4920 22 74 6f 63 2d 54 68 65 2d 47 6c 6f 62 61 6c 2d 45 72 72 6f 72 2d 53 65 74 22 20 68 72 65 66 3d "toc-The-Global-Error-Set".href=
4940 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
4960 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>...........
4980 20 20 3c 2f 75 6c 3e 3c 2f 6c 69 3e 0a 20 20 20 20 20 20 20 20 20 20 20 20 3c 6c 69 3e 3c 61 20 ..</ul></li>.............<li><a.
49a0 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 22 id="toc-Error-Union-Type".href="
49c0 23 45 72 72 6f 72 2d 55 6e 69 6f 6e 2d 54 79 70 65 22 3e 45 72 72 6f 72 20 55 6e 69 6f 6e 20 54 #Error-Union-Type">Error.Union.T
49e0 79 70 65 3c 2f 61 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 ype</a>.............<ul>........
4a00 20 20 20 20 20 20 20 20 20 3c 6c 69 3e 3c 61 20 69 64 3d 22 74 6f 63 2d 63 61 74 63 68 22 20 68 .........<li><a.id="toc-catch".h
4a20 72 65 66 3d 22 23 63 61 74 63 68 22 3e 63 61 74 63 68 3c 2f 61 3e 3c 2f 6c 69 3e 0a 20 20 20 20 ref="#catch">catch</a></li>.....
4a40 20 20 20 20 20 20 20 20 20 20 20 20 3c 6c 69 3e 3c 61 20 69 64 3d 22 74 6f 63 2d 74 72 79 22 20 ............<li><a.id="toc-try".
4a60 68 72 65 66 3d 22 23 74 72 79 22 3e 74 72 79 3c 2f 61 3e 3c 2f 6c 69 3e 0a 20 20 20 20 20 20 20 href="#try">try</a></li>........
4a80 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 65 72 .........<li><a.id="toc-errdefer
4aa0 22 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 61 3e 3c ".href="#errdefer">errdefer</a><
4ac0 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="
4ae0 74 6f 63 2d 43 6f 6d 6d 6f 6e 2d 65 72 72 64 65 66 65 72 2d 53 6c 69 70 2d 55 70 73 22 20 68 72 toc-Common-errdefer-Slip-Ups".hr
4b00 65 66 3d 22 23 43 6f 6d 6d 6f 6e 2d 65 72 72 64 65 66 65 72 2d 53 6c 69 70 2d 55 70 73 22 3e 43 ef="#Common-errdefer-Slip-Ups">C
4b20 6f 6d 6d 6f 6e 20 65 72 72 64 65 66 65 72 20 53 6c 69 70 2d 55 70 73 3c 2f 61 3e 3c 2f 6c 69 3e ommon.errdefer.Slip-Ups</a></li>
4b40 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-
4b60 4d 65 72 67 69 6e 67 2d 45 72 72 6f 72 2d 53 65 74 73 22 20 68 72 65 66 3d 22 23 4d 65 72 67 69 Merging-Error-Sets".href="#Mergi
4b80 6e 67 2d 45 72 72 6f 72 2d 53 65 74 73 22 3e 4d 65 72 67 69 6e 67 20 45 72 72 6f 72 20 53 65 74 ng-Error-Sets">Merging.Error.Set
4ba0 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><
4bc0 61 20 69 64 3d 22 74 6f 63 2d 49 6e 66 65 72 72 65 64 2d 45 72 72 6f 72 2d 53 65 74 73 22 20 68 a.id="toc-Inferred-Error-Sets".h
4be0 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 49 6e 66 65 72 ref="#Inferred-Error-Sets">Infer
4c00 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 20 20 20 20 20 20 20 red.Error.Sets</a></li>.........
4c20 20 20 20 20 3c 2f 75 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 ....</ul></li>.............<li><
4c40 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 61 63 65 73 22 20 68 a.id="toc-Error-Return-Traces".h
4c60 72 65 66 3d 22 23 45 72 72 6f 72 2d 52 65 74 75 72 6e 2d 54 72 61 63 65 73 22 3e 45 72 72 6f 72 ref="#Error-Return-Traces">Error
4c80 20 52 65 74 75 72 6e 20 54 72 61 63 65 73 3c 2f 61 3e 0a 20 20 20 20 20 20 20 20 20 20 20 20 3c .Return.Traces</a>.............<
4ca0 75 6c 3e 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 3c 6c 69 3e 3c 61 20 69 64 3d 22 74 ul>.................<li><a.id="t
4cc0 6f 63 2d 49 6d 70 6c 65 6d 65 6e 74 61 74 69 6f 6e 2d 44 65 74 61 69 6c 73 22 20 68 72 65 66 3d oc-Implementation-Details".href=
4ce0 22 23 49 6d 70 6c 65 6d 65 6e 74 61 74 69 6f 6e 2d 44 65 74 61 69 6c 73 22 3e 49 6d 70 6c 65 6d "#Implementation-Details">Implem
4d00 65 6e 74 61 74 69 6f 6e 20 44 65 74 61 69 6c 73 3c 2f 61 3e 3c 2f 6c 69 3e 0a 20 20 20 20 20 20 entation.Details</a></li>.......
4d20 20 20 20 20 20 20 3c 2f 75 6c 3e 3c 2f 6c 69 3e 0a 20 20 20 20 20 20 20 20 3c 2f 75 6c 3e 3c 2f ......</ul></li>.........</ul></
4d40 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 4f 70 74 69 6f li>.........<li><a.id="toc-Optio
4d60 6e 61 6c 73 22 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 nals".href="#Optionals">Optional
4d80 73 3c 2f 61 3e 0a 20 20 20 20 20 20 20 20 3c 75 6c 3e 0a 20 20 20 20 20 20 20 20 20 20 20 20 3c s</a>.........<ul>.............<
4da0 6c 69 3e 3c 61 20 69 64 3d 22 74 6f 63 2d 4f 70 74 69 6f 6e 61 6c 2d 54 79 70 65 22 20 68 72 65 li><a.id="toc-Optional-Type".hre
4dc0 66 3d 22 23 4f 70 74 69 6f 6e 61 6c 2d 54 79 70 65 22 3e 4f 70 74 69 6f 6e 61 6c 20 54 79 70 65 f="#Optional-Type">Optional.Type
4de0 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=
4e00 22 74 6f 63 2d 6e 75 6c 6c 22 20 68 72 65 66 3d 22 23 6e 75 6c 6c 22 3e 6e 75 6c 6c 3c 2f 61 3e "toc-null".href="#null">null</a>
4e20 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
4e40 2d 4f 70 74 69 6f 6e 61 6c 2d 50 6f 69 6e 74 65 72 73 22 20 68 72 65 66 3d 22 23 4f 70 74 69 6f -Optional-Pointers".href="#Optio
4e60 6e 61 6c 2d 50 6f 69 6e 74 65 72 73 22 3e 4f 70 74 69 6f 6e 61 6c 20 50 6f 69 6e 74 65 72 73 3c nal-Pointers">Optional.Pointers<
4e80 2f 61 3e 3c 2f 6c 69 3e 0a 20 20 20 20 20 20 20 20 3c 2f 75 6c 3e 3c 2f 6c 69 3e 0a 20 20 20 20 /a></li>.........</ul></li>.....
4ea0 20 20 20 20 3c 6c 69 3e 3c 61 20 69 64 3d 22 74 6f 63 2d 43 61 73 74 69 6e 67 22 20 68 72 65 66 ....<li><a.id="toc-Casting".href
4ec0 3d 22 23 43 61 73 74 69 6e 67 22 3e 43 61 73 74 69 6e 67 3c 2f 61 3e 0a 20 20 20 20 20 20 20 20 ="#Casting">Casting</a>.........
4ee0 3c 75 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 <ul>.............<li><a.id="toc-
4f00 54 79 70 65 2d 43 6f 65 72 63 69 6f 6e 22 20 68 72 65 66 3d 22 23 54 79 70 65 2d 43 6f 65 72 63 Type-Coercion".href="#Type-Coerc
4f20 69 6f 6e 22 3e 54 79 70 65 20 43 6f 65 72 63 69 6f 6e 3c 2f 61 3e 0a 20 20 20 20 20 20 20 20 20 ion">Type.Coercion</a>..........
4f40 20 20 20 3c 75 6c 3e 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 3c 6c 69 3e 3c 61 20 69 ...<ul>.................<li><a.i
4f60 64 3d 22 74 6f 63 2d 54 79 70 65 2d 43 6f 65 72 63 69 6f 6e 2d 53 74 72 69 63 74 65 72 2d 51 75 d="toc-Type-Coercion-Stricter-Qu
4f80 61 6c 69 66 69 63 61 74 69 6f 6e 22 20 68 72 65 66 3d 22 23 54 79 70 65 2d 43 6f 65 72 63 69 6f alification".href="#Type-Coercio
4fa0 6e 2d 53 74 72 69 63 74 65 72 2d 51 75 61 6c 69 66 69 63 61 74 69 6f 6e 22 3e 54 79 70 65 20 43 n-Stricter-Qualification">Type.C
4fc0 6f 65 72 63 69 6f 6e 3a 20 53 74 72 69 63 74 65 72 20 51 75 61 6c 69 66 69 63 61 74 69 6f 6e 3c oercion:.Stricter.Qualification<
4fe0 2f 61 3e 3c 2f 6c 69 3e 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 3c 6c 69 3e 3c 61 20 /a></li>.................<li><a.
5000 69 64 3d 22 74 6f 63 2d 54 79 70 65 2d 43 6f 65 72 63 69 6f 6e 2d 49 6e 74 65 67 65 72 2d 61 6e id="toc-Type-Coercion-Integer-an
5020 64 2d 46 6c 6f 61 74 2d 57 69 64 65 6e 69 6e 67 22 20 68 72 65 66 3d 22 23 54 79 70 65 2d 43 6f d-Float-Widening".href="#Type-Co
5040 65 72 63 69 6f 6e 2d 49 6e 74 65 67 65 72 2d 61 6e 64 2d 46 6c 6f 61 74 2d 57 69 64 65 6e 69 6e ercion-Integer-and-Float-Widenin
5060 67 22 3e 54 79 70 65 20 43 6f 65 72 63 69 6f 6e 3a 20 49 6e 74 65 67 65 72 20 61 6e 64 20 46 6c g">Type.Coercion:.Integer.and.Fl
5080 6f 61 74 20 57 69 64 65 6e 69 6e 67 3c 2f 61 3e 3c 2f 6c 69 3e 0a 20 20 20 20 20 20 20 20 20 20 oat.Widening</a></li>...........
50a0 20 20 20 20 20 20 3c 6c 69 3e 3c 61 20 69 64 3d 22 74 6f 63 2d 54 79 70 65 2d 43 6f 65 72 63 69 ......<li><a.id="toc-Type-Coerci
50c0 6f 6e 2d 43 6f 65 72 63 69 6f 6e 2d 46 6c 6f 61 74 2d 74 6f 2d 49 6e 74 22 20 68 72 65 66 3d 22 on-Coercion-Float-to-Int".href="
50e0 23 54 79 70 65 2d 43 6f 65 72 63 69 6f 6e 2d 43 6f 65 72 63 69 6f 6e 2d 46 6c 6f 61 74 2d 74 6f #Type-Coercion-Coercion-Float-to
5100 2d 49 6e 74 22 3e 54 79 70 65 20 43 6f 65 72 63 69 6f 6e 3a 20 43 6f 65 72 63 69 6f 6e 20 46 6c -Int">Type.Coercion:.Coercion.Fl
5120 6f 61 74 20 74 6f 20 49 6e 74 3c 2f 61 3e 3c 2f 6c 69 3e 0a 20 20 20 20 20 20 20 20 20 20 20 20 oat.to.Int</a></li>.............
5140 20 20 20 20 3c 6c 69 3e 3c 61 20 69 64 3d 22 74 6f 63 2d 54 79 70 65 2d 43 6f 65 72 63 69 6f 6e ....<li><a.id="toc-Type-Coercion
5160 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 20 68 72 65 -Slices-Arrays-and-Pointers".hre
5180 66 3d 22 23 54 79 70 65 2d 43 6f 65 72 63 69 6f 6e 2d 53 6c 69 63 65 73 2d 41 72 72 61 79 73 2d f="#Type-Coercion-Slices-Arrays-
51a0 61 6e 64 2d 50 6f 69 6e 74 65 72 73 22 3e 54 79 70 65 20 43 6f 65 72 63 69 6f 6e 3a 20 53 6c 69 and-Pointers">Type.Coercion:.Sli
51c0 63 65 73 2c 20 41 72 72 61 79 73 20 61 6e 64 20 50 6f 69 6e 74 65 72 73 3c 2f 61 3e 3c 2f 6c 69 ces,.Arrays.and.Pointers</a></li
51e0 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
5200 2d 54 79 70 65 2d 43 6f 65 72 63 69 6f 6e 2d 4f 70 74 69 6f 6e 61 6c 73 22 20 68 72 65 66 3d 22 -Type-Coercion-Optionals".href="
5220 23 54 79 70 65 2d 43 6f 65 72 63 69 6f 6e 2d 4f 70 74 69 6f 6e 61 6c 73 22 3e 54 79 70 65 20 43 #Type-Coercion-Optionals">Type.C
5240 6f 65 72 63 69 6f 6e 3a 20 4f 70 74 69 6f 6e 61 6c 73 3c 2f 61 3e 3c 2f 6c 69 3e 0a 20 20 20 20 oercion:.Optionals</a></li>.....
5260 20 20 20 20 20 20 20 20 20 20 20 20 3c 6c 69 3e 3c 61 20 69 64 3d 22 74 6f 63 2d 54 79 70 65 2d ............<li><a.id="toc-Type-
5280 43 6f 65 72 63 69 6f 6e 2d 45 72 72 6f 72 2d 55 6e 69 6f 6e 73 22 20 68 72 65 66 3d 22 23 54 79 Coercion-Error-Unions".href="#Ty
52a0 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 54 79 70 65 20 43 pe-Coercion-Error-Unions">Type.C
52c0 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 3c 2f 6c 69 3e 0a 20 oercion:.Error.Unions</a></li>..
52e0 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 79 ...............<li><a.id="toc-Ty
5300 70 65 2d 43 6f 65 72 63 69 6f 6e 2d 43 6f 6d 70 69 6c 65 2d 54 69 6d 65 2d 4b 6e 6f 77 6e 2d 4e pe-Coercion-Compile-Time-Known-N
5320 75 6d 62 65 72 73 22 20 68 72 65 66 3d 22 23 54 79 70 65 2d 43 6f 65 72 63 69 6f 6e 2d 43 6f 6d umbers".href="#Type-Coercion-Com
5340 70 69 6c 65 2d 54 69 6d 65 2d 4b 6e 6f 77 6e 2d 4e 75 6d 62 65 72 73 22 3e 54 79 70 65 20 43 6f pile-Time-Known-Numbers">Type.Co
5360 65 72 63 69 6f 6e 3a 20 43 6f 6d 70 69 6c 65 2d 54 69 6d 65 20 4b 6e 6f 77 6e 20 4e 75 6d 62 65 ercion:.Compile-Time.Known.Numbe
5380 72 73 3c 2f 61 3e 3c 2f 6c 69 3e 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 3c 6c 69 3e rs</a></li>.................<li>
53a0 3c 61 20 69 64 3d 22 74 6f 63 2d 54 79 70 65 2d 43 6f 65 72 63 69 6f 6e 2d 75 6e 69 6f 6e 73 2d <a.id="toc-Type-Coercion-unions-
53c0 61 6e 64 2d 65 6e 75 6d 73 22 20 68 72 65 66 3d 22 23 54 79 70 65 2d 43 6f 65 72 63 69 6f 6e 2d and-enums".href="#Type-Coercion-
53e0 75 6e 69 6f 6e 73 2d 61 6e 64 2d 65 6e 75 6d 73 22 3e 54 79 70 65 20 43 6f 65 72 63 69 6f 6e 3a unions-and-enums">Type.Coercion:
5400 20 75 6e 69 6f 6e 73 20 61 6e 64 20 65 6e 75 6d 73 3c 2f 61 3e 3c 2f 6c 69 3e 0a 20 20 20 20 20 .unions.and.enums</a></li>......
5420 20 20 20 20 20 20 20 20 20 20 20 3c 6c 69 3e 3c 61 20 69 64 3d 22 74 6f 63 2d 54 79 70 65 2d 43 ...........<li><a.id="toc-Type-C
5440 6f 65 72 63 69 6f 6e 2d 75 6e 64 65 66 69 6e 65 64 22 20 68 72 65 66 3d 22 23 54 79 70 65 2d 43 oercion-undefined".href="#Type-C
5460 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
5480 3a 20 75 6e 64 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 :.undefined</a></li>............
54a0 20 3c 2f 75 6c 3e 3c 2f 6c 69 3e 0a 20 20 20 20 20 20 20 20 20 20 20 20 3c 6c 69 3e 3c 61 20 69 .</ul></li>.............<li><a.i
54c0 64 3d 22 74 6f 63 2d 45 78 70 6c 69 63 69 74 2d 43 61 73 74 73 22 20 68 72 65 66 3d 22 23 45 78 d="toc-Explicit-Casts".href="#Ex
54e0 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>
5500 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
5520 2d 50 65 65 72 2d 54 79 70 65 2d 52 65 73 6f 6c 75 74 69 6f 6e 22 20 68 72 65 66 3d 22 23 50 65 -Peer-Type-Resolution".href="#Pe
5540 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
5560 73 6f 6c 75 74 69 6f 6e 3c 2f 61 3e 3c 2f 6c 69 3e 0a 20 20 20 20 20 20 20 20 3c 2f 75 6c 3e 3c solution</a></li>.........</ul><
5580 2f 6c 69 3e 0a 20 20 20 20 20 20 20 20 3c 6c 69 3e 3c 61 20 69 64 3d 22 74 6f 63 2d 5a 65 72 6f /li>.........<li><a.id="toc-Zero
55a0 2d 42 69 74 2d 54 79 70 65 73 22 20 68 72 65 66 3d 22 23 5a 65 72 6f 2d 42 69 74 2d 54 79 70 65 -Bit-Types".href="#Zero-Bit-Type
55c0 73 22 3e 5a 65 72 6f 20 42 69 74 20 54 79 70 65 73 3c 2f 61 3e 0a 20 20 20 20 20 20 20 20 3c 75 s">Zero.Bit.Types</a>.........<u
55e0 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 76 6f l>.............<li><a.id="toc-vo
5600 69 64 22 20 68 72 65 66 3d 22 23 76 6f 69 64 22 3e 76 6f 69 64 3c 2f 61 3e 3c 2f 6c 69 3e 0a 20 id".href="#void">void</a></li>..
5620 20 20 20 20 20 20 20 3c 2f 75 6c 3e 3c 2f 6c 69 3e 0a 20 20 20 20 20 20 20 20 3c 6c 69 3e 3c 61 .......</ul></li>.........<li><a
5640 20 69 64 3d 22 74 6f 63 2d 52 65 73 75 6c 74 2d 4c 6f 63 61 74 69 6f 6e 2d 53 65 6d 61 6e 74 69 .id="toc-Result-Location-Semanti
5660 63 73 22 20 68 72 65 66 3d 22 23 52 65 73 75 6c 74 2d 4c 6f 63 61 74 69 6f 6e 2d 53 65 6d 61 6e cs".href="#Result-Location-Seman
5680 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 63 73 3c tics">Result.Location.Semantics<
56a0 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-
56c0 75 73 69 6e 67 6e 61 6d 65 73 70 61 63 65 22 20 68 72 65 66 3d 22 23 75 73 69 6e 67 6e 61 6d 65 usingnamespace".href="#usingname
56e0 73 70 61 63 65 22 3e 75 73 69 6e 67 6e 61 6d 65 73 70 61 63 65 3c 2f 61 3e 3c 2f 6c 69 3e 0a 20 space">usingnamespace</a></li>..
5700 20 20 20 20 20 20 20 3c 6c 69 3e 3c 61 20 69 64 3d 22 74 6f 63 2d 63 6f 6d 70 74 69 6d 65 22 20 .......<li><a.id="toc-comptime".
5720 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 0a 20 20 href="#comptime">comptime</a>...
5740 20 20 20 20 20 20 3c 75 6c 3e 0a 20 20 20 20 20 20 20 20 20 20 20 20 3c 6c 69 3e 3c 61 20 69 64 ......<ul>.............<li><a.id
5760 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
5780 6d 65 2d 43 6f 6e 63 65 70 74 22 20 68 72 65 66 3d 22 23 49 6e 74 72 6f 64 75 63 69 6e 67 2d 74 me-Concept".href="#Introducing-t
57a0 68 65 2d 43 6f 6d 70 69 6c 65 2d 54 69 6d 65 2d 43 6f 6e 63 65 70 74 22 3e 49 6e 74 72 6f 64 75 he-Compile-Time-Concept">Introdu
57c0 63 69 6e 67 20 74 68 65 20 43 6f 6d 70 69 6c 65 2d 54 69 6d 65 20 43 6f 6e 63 65 70 74 3c 2f 61 cing.the.Compile-Time.Concept</a
57e0 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>..............
5800 20 20 20 3c 6c 69 3e 3c 61 20 69 64 3d 22 74 6f 63 2d 43 6f 6d 70 69 6c 65 2d 54 69 6d 65 2d 50 ...<li><a.id="toc-Compile-Time-P
5820 61 72 61 6d 65 74 65 72 73 22 20 68 72 65 66 3d 22 23 43 6f 6d 70 69 6c 65 2d 54 69 6d 65 2d 50 arameters".href="#Compile-Time-P
5840 61 72 61 6d 65 74 65 72 73 22 3e 43 6f 6d 70 69 6c 65 2d 54 69 6d 65 20 50 61 72 61 6d 65 74 65 arameters">Compile-Time.Paramete
5860 72 73 3c 2f 61 3e 3c 2f 6c 69 3e 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 3c 6c 69 3e rs</a></li>.................<li>
5880 3c 61 20 69 64 3d 22 74 6f 63 2d 43 6f 6d 70 69 6c 65 2d 54 69 6d 65 2d 56 61 72 69 61 62 6c 65 <a.id="toc-Compile-Time-Variable
58a0 73 22 20 68 72 65 66 3d 22 23 43 6f 6d 70 69 6c 65 2d 54 69 6d 65 2d 56 61 72 69 61 62 6c 65 73 s".href="#Compile-Time-Variables
58c0 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 69 ">Compile-Time.Variables</a></li
58e0 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
5900 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 3d -Compile-Time-Expressions".href=
5920 22 23 43 6f 6d 70 69 6c 65 2d 54 69 6d 65 2d 45 78 70 72 65 73 73 69 6f 6e 73 22 3e 43 6f 6d 70 "#Compile-Time-Expressions">Comp
5940 69 6c 65 2d 54 69 6d 65 20 45 78 70 72 65 73 73 69 6f 6e 73 3c 2f 61 3e 3c 2f 6c 69 3e 0a 20 20 ile-Time.Expressions</a></li>...
5960 20 20 20 20 20 20 20 20 20 20 3c 2f 75 6c 3e 3c 2f 6c 69 3e 0a 20 20 20 20 20 20 20 20 20 20 20 ..........</ul></li>............
5980 20 3c 6c 69 3e 3c 61 20 69 64 3d 22 74 6f 63 2d 47 65 6e 65 72 69 63 2d 44 61 74 61 2d 53 74 72 .<li><a.id="toc-Generic-Data-Str
59a0 75 63 74 75 72 65 73 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 uctures".href="#Generic-Data-Str
59c0 75 63 74 75 72 65 73 22 3e 47 65 6e 65 72 69 63 20 44 61 74 61 20 53 74 72 75 63 74 75 72 65 73 uctures">Generic.Data.Structures
59e0 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=
5a00 22 74 6f 63 2d 43 61 73 65 2d 53 74 75 64 79 2d 70 72 69 6e 74 2d 69 6e 2d 5a 69 67 22 20 68 72 "toc-Case-Study-print-in-Zig".hr
5a20 65 66 3d 22 23 43 61 73 65 2d 53 74 75 64 79 2d 70 72 69 6e 74 2d 69 6e 2d 5a 69 67 22 3e 43 61 ef="#Case-Study-print-in-Zig">Ca
5a40 73 65 20 53 74 75 64 79 3a 20 70 72 69 6e 74 20 69 6e 20 5a 69 67 3c 2f 61 3e 3c 2f 6c 69 3e 0a se.Study:.print.in.Zig</a></li>.
5a60 20 20 20 20 20 20 20 20 3c 2f 75 6c 3e 3c 2f 6c 69 3e 0a 20 20 20 20 20 20 20 20 3c 6c 69 3e 3c ........</ul></li>.........<li><
5a80 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 23 41 73 73 65 6d a.id="toc-Assembly".href="#Assem
5aa0 62 6c 79 22 3e 41 73 73 65 6d 62 6c 79 3c 2f 61 3e 0a 20 20 20 20 20 20 20 20 3c 75 6c 3e 0a 20 bly">Assembly</a>.........<ul>..
5ac0 20 20 20 20 20 20 20 20 20 20 20 3c 6c 69 3e 3c 61 20 69 64 3d 22 74 6f 63 2d 4f 75 74 70 75 74 ...........<li><a.id="toc-Output
5ae0 2d 43 6f 6e 73 74 72 61 69 6e 74 73 22 20 68 72 65 66 3d 22 23 4f 75 74 70 75 74 2d 43 6f 6e 73 -Constraints".href="#Output-Cons
5b00 74 72 61 69 6e 74 73 22 3e 4f 75 74 70 75 74 20 43 6f 6e 73 74 72 61 69 6e 74 73 3c 2f 61 3e 3c traints">Output.Constraints</a><
5b20 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-
5b40 49 6e 70 75 74 2d 43 6f 6e 73 74 72 61 69 6e 74 73 22 20 68 72 65 66 3d 22 23 49 6e 70 75 74 2d Input-Constraints".href="#Input-
5b60 43 6f 6e 73 74 72 61 69 6e 74 73 22 3e 49 6e 70 75 74 20 43 6f 6e 73 74 72 61 69 6e 74 73 3c 2f Constraints">Input.Constraints</
5b80 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
5ba0 6f 63 2d 43 6c 6f 62 62 65 72 73 22 20 68 72 65 66 3d 22 23 43 6c 6f 62 62 65 72 73 22 3e 43 6c oc-Clobbers".href="#Clobbers">Cl
5bc0 6f 62 62 65 72 73 3c 2f 61 3e 3c 2f 6c 69 3e 0a 20 20 20 20 20 20 20 20 20 20 20 20 3c 6c 69 3e obbers</a></li>.............<li>
5be0 3c 61 20 69 64 3d 22 74 6f 63 2d 47 6c 6f 62 61 6c 2d 41 73 73 65 6d 62 6c 79 22 20 68 72 65 66 <a.id="toc-Global-Assembly".href
5c00 3d 22 23 47 6c 6f 62 61 6c 2d 41 73 73 65 6d 62 6c 79 22 3e 47 6c 6f 62 61 6c 20 41 73 73 65 6d ="#Global-Assembly">Global.Assem
5c20 62 6c 79 3c 2f 61 3e 3c 2f 6c 69 3e 0a 20 20 20 20 20 20 20 20 3c 2f 75 6c 3e 3c 2f 6c 69 3e 0a bly</a></li>.........</ul></li>.
5c40 20 20 20 20 20 20 20 20 3c 6c 69 3e 3c 61 20 69 64 3d 22 74 6f 63 2d 41 74 6f 6d 69 63 73 22 20 ........<li><a.id="toc-Atomics".
5c60 68 72 65 66 3d 22 23 41 74 6f 6d 69 63 73 22 3e 41 74 6f 6d 69 63 73 3c 2f 61 3e 3c 2f 6c 69 3e href="#Atomics">Atomics</a></li>
5c80 0a 20 20 20 20 20 20 20 20 3c 6c 69 3e 3c 61 20 69 64 3d 22 74 6f 63 2d 41 73 79 6e 63 2d 46 75 .........<li><a.id="toc-Async-Fu
5ca0 6e 63 74 69 6f 6e 73 22 20 68 72 65 66 3d 22 23 41 73 79 6e 63 2d 46 75 6e 63 74 69 6f 6e 73 22 nctions".href="#Async-Functions"
5cc0 3e 41 73 79 6e 63 20 46 75 6e 63 74 69 6f 6e 73 3c 2f 61 3e 0a 20 20 20 20 20 20 20 20 3c 75 6c >Async.Functions</a>.........<ul
5ce0 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 75 73 >.............<li><a.id="toc-Sus
5d00 70 65 6e 64 2d 61 6e 64 2d 52 65 73 75 6d 65 22 20 68 72 65 66 3d 22 23 53 75 73 70 65 6e 64 2d pend-and-Resume".href="#Suspend-
5d20 61 6e 64 2d 52 65 73 75 6d 65 22 3e 53 75 73 70 65 6e 64 20 61 6e 64 20 52 65 73 75 6d 65 3c 2f and-Resume">Suspend.and.Resume</
5d40 61 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 a>.............<ul>.............
5d60 20 20 20 20 3c 6c 69 3e 3c 61 20 69 64 3d 22 74 6f 63 2d 52 65 73 75 6d 69 6e 67 2d 66 72 6f 6d ....<li><a.id="toc-Resuming-from
5d80 2d 53 75 73 70 65 6e 64 2d 42 6c 6f 63 6b 73 22 20 68 72 65 66 3d 22 23 52 65 73 75 6d 69 6e 67 -Suspend-Blocks".href="#Resuming
5da0 2d 66 72 6f 6d 2d 53 75 73 70 65 6e 64 2d 42 6c 6f 63 6b 73 22 3e 52 65 73 75 6d 69 6e 67 20 66 -from-Suspend-Blocks">Resuming.f
5dc0 72 6f 6d 20 53 75 73 70 65 6e 64 20 42 6c 6f 63 6b 73 3c 2f 61 3e 3c 2f 6c 69 3e 0a 20 20 20 20 rom.Suspend.Blocks</a></li>.....
5de0 20 20 20 20 20 20 20 20 3c 2f 75 6c 3e 3c 2f 6c 69 3e 0a 20 20 20 20 20 20 20 20 20 20 20 20 3c ........</ul></li>.............<
5e00 6c 69 3e 3c 61 20 69 64 3d 22 74 6f 63 2d 41 73 79 6e 63 2d 61 6e 64 2d 41 77 61 69 74 22 20 68 li><a.id="toc-Async-and-Await".h
5e20 72 65 66 3d 22 23 41 73 79 6e 63 2d 61 6e 64 2d 41 77 61 69 74 22 3e 41 73 79 6e 63 20 61 6e 64 ref="#Async-and-Await">Async.and
5e40 20 41 77 61 69 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 .Await</a></li>.............<li>
5e60 3c 61 20 69 64 3d 22 74 6f 63 2d 41 73 79 6e 63 2d 46 75 6e 63 74 69 6f 6e 2d 45 78 61 6d 70 6c <a.id="toc-Async-Function-Exampl
5e80 65 22 20 68 72 65 66 3d 22 23 41 73 79 6e 63 2d 46 75 6e 63 74 69 6f 6e 2d 45 78 61 6d 70 6c 65 e".href="#Async-Function-Example
5ea0 22 3e 41 73 79 6e 63 20 46 75 6e 63 74 69 6f 6e 20 45 78 61 6d 70 6c 65 3c 2f 61 3e 3c 2f 6c 69 ">Async.Function.Example</a></li
5ec0 3e 0a 20 20 20 20 20 20 20 20 3c 2f 75 6c 3e 3c 2f 6c 69 3e 0a 20 20 20 20 20 20 20 20 3c 6c 69 >.........</ul></li>.........<li
5ee0 3e 3c 61 20 69 64 3d 22 74 6f 63 2d 42 75 69 6c 74 69 6e 2d 46 75 6e 63 74 69 6f 6e 73 22 20 68 ><a.id="toc-Builtin-Functions".h
5f00 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 69 6e ref="#Builtin-Functions">Builtin
5f20 20 46 75 6e 63 74 69 6f 6e 73 3c 2f 61 3e 0a 20 20 20 20 20 20 20 20 3c 75 6c 20 73 74 79 6c 65 .Functions</a>.........<ul.style
5f40 3d 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 ="columns:.2">.............<li><
5f60 61 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 23 a.id="toc-addrSpaceCast".href="#
5f80 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 43 61 73 74 3c 2f 61 addrSpaceCast">@addrSpaceCast</a
5fa0 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
5fc0 63 2d 61 64 64 57 69 74 68 4f 76 65 72 66 6c 6f 77 22 20 68 72 65 66 3d 22 23 61 64 64 57 69 74 c-addWithOverflow".href="#addWit
5fe0 68 4f 76 65 72 66 6c 6f 77 22 3e 40 61 64 64 57 69 74 68 4f 76 65 72 66 6c 6f 77 3c 2f 61 3e 3c hOverflow">@addWithOverflow</a><
6000 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-
6020 61 6c 69 67 6e 43 61 73 74 22 20 68 72 65 66 3d 22 23 61 6c 69 67 6e 43 61 73 74 22 3e 40 61 6c alignCast".href="#alignCast">@al
6040 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
6060 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 23 61 6c 69 67 ><a.id="toc-alignOf".href="#alig
6080 6e 4f 66 22 3e 40 61 6c 69 67 6e 4f 66 3c 2f 61 3e 3c 2f 6c 69 3e 0a 20 20 20 20 20 20 20 20 20 nOf">@alignOf</a></li>..........
60a0 20 20 20 3c 6c 69 3e 3c 61 20 69 64 3d 22 74 6f 63 2d 61 73 22 20 68 72 65 66 3d 22 23 61 73 22 ...<li><a.id="toc-as".href="#as"
60c0 3e 40 61 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 >@as</a></li>.............<li><a
60e0 20 69 64 3d 22 74 6f 63 2d 61 73 79 6e 63 43 61 6c 6c 22 20 68 72 65 66 3d 22 23 61 73 79 6e 63 .id="toc-asyncCall".href="#async
6100 43 61 6c 6c 22 3e 40 61 73 79 6e 63 43 61 6c 6c 3c 2f 61 3e 3c 2f 6c 69 3e 0a 20 20 20 20 20 20 Call">@asyncCall</a></li>.......
6120 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 4c 6f 61 64 22 ......<li><a.id="toc-atomicLoad"
6140 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 61 64 3c .href="#atomicLoad">@atomicLoad<
6160 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="
6180 74 6f 63 2d 61 74 6f 6d 69 63 52 6d 77 22 20 68 72 65 66 3d 22 23 61 74 6f 6d 69 63 52 6d 77 22 toc-atomicRmw".href="#atomicRmw"
61a0 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>............
61c0 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
61e0 66 3d 22 23 61 74 6f 6d 69 63 53 74 6f 72 65 22 3e 40 61 74 6f 6d 69 63 53 74 6f 72 65 3c 2f 61 f="#atomicStore">@atomicStore</a
6200 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
6220 63 2d 62 69 74 43 61 73 74 22 20 68 72 65 66 3d 22 23 62 69 74 43 61 73 74 22 3e 40 62 69 74 43 c-bitCast".href="#bitCast">@bitC
6240 61 73 74 3c 2f 61 3e 3c 2f 6c 69 3e 0a 20 20 20 20 20 20 20 20 20 20 20 20 3c 6c 69 3e 3c 61 20 ast</a></li>.............<li><a.
6260 69 64 3d 22 74 6f 63 2d 62 69 74 4f 66 66 73 65 74 4f 66 22 20 68 72 65 66 3d 22 23 62 69 74 4f id="toc-bitOffsetOf".href="#bitO
6280 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 20 ffsetOf">@bitOffsetOf</a></li>..
62a0 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 6f 6f 6c 54 6f ...........<li><a.id="toc-boolTo
62c0 49 6e 74 22 20 68 72 65 66 3d 22 23 62 6f 6f 6c 54 6f 49 6e 74 22 3e 40 62 6f 6f 6c 54 6f 49 6e Int".href="#boolToInt">@boolToIn
62e0 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
6300 3d 22 74 6f 63 2d 62 69 74 53 69 7a 65 4f 66 22 20 68 72 65 66 3d 22 23 62 69 74 53 69 7a 65 4f ="toc-bitSizeOf".href="#bitSizeO
6320 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>..........
6340 20 20 20 3c 6c 69 3e 3c 61 20 69 64 3d 22 74 6f 63 2d 62 72 65 61 6b 70 6f 69 6e 74 22 20 68 72 ...<li><a.id="toc-breakpoint".hr
6360 65 66 3d 22 23 62 72 65 61 6b 70 6f 69 6e 74 22 3e 40 62 72 65 61 6b 70 6f 69 6e 74 3c 2f 61 3e ef="#breakpoint">@breakpoint</a>
6380 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
63a0 2d 6d 75 6c 41 64 64 22 20 68 72 65 66 3d 22 23 6d 75 6c 41 64 64 22 3e 40 6d 75 6c 41 64 64 3c -mulAdd".href="#mulAdd">@mulAdd<
63c0 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="
63e0 74 6f 63 2d 62 79 74 65 53 77 61 70 22 20 68 72 65 66 3d 22 23 62 79 74 65 53 77 61 70 22 3e 40 toc-byteSwap".href="#byteSwap">@
6400 62 79 74 65 53 77 61 70 3c 2f 61 3e 3c 2f 6c 69 3e 0a 20 20 20 20 20 20 20 20 20 20 20 20 3c 6c byteSwap</a></li>.............<l
6420 69 3e 3c 61 20 69 64 3d 22 74 6f 63 2d 62 69 74 52 65 76 65 72 73 65 22 20 68 72 65 66 3d 22 23 i><a.id="toc-bitReverse".href="#
6440 62 69 74 52 65 76 65 72 73 65 22 3e 40 62 69 74 52 65 76 65 72 73 65 3c 2f 61 3e 3c 2f 6c 69 3e bitReverse">@bitReverse</a></li>
6460 0a 20 20 20 20 20 20 20 20 20 20 20 20 3c 6c 69 3e 3c 61 20 69 64 3d 22 74 6f 63 2d 6f 66 66 73 .............<li><a.id="toc-offs
6480 65 74 4f 66 22 20 68 72 65 66 3d 22 23 6f 66 66 73 65 74 4f 66 22 3e 40 6f 66 66 73 65 74 4f 66 etOf".href="#offsetOf">@offsetOf
64a0 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=
64c0 22 74 6f 63 2d 63 61 6c 6c 22 20 68 72 65 66 3d 22 23 63 61 6c 6c 22 3e 40 63 61 6c 6c 3c 2f 61 "toc-call".href="#call">@call</a
64e0 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
6500 63 2d 63 44 65 66 69 6e 65 22 20 68 72 65 66 3d 22 23 63 44 65 66 69 6e 65 22 3e 40 63 44 65 66 c-cDefine".href="#cDefine">@cDef
6520 69 6e 65 3c 2f 61 3e 3c 2f 6c 69 3e 0a 20 20 20 20 20 20 20 20 20 20 20 20 3c 6c 69 3e 3c 61 20 ine</a></li>.............<li><a.
6540 69 64 3d 22 74 6f 63 2d 63 49 6d 70 6f 72 74 22 20 68 72 65 66 3d 22 23 63 49 6d 70 6f 72 74 22 id="toc-cImport".href="#cImport"
6560 3e 40 63 49 6d 70 6f 72 74 3c 2f 61 3e 3c 2f 6c 69 3e 0a 20 20 20 20 20 20 20 20 20 20 20 20 3c >@cImport</a></li>.............<
6580 6c 69 3e 3c 61 20 69 64 3d 22 74 6f 63 2d 63 49 6e 63 6c 75 64 65 22 20 68 72 65 66 3d 22 23 63 li><a.id="toc-cInclude".href="#c
65a0 49 6e 63 6c 75 64 65 22 3e 40 63 49 6e 63 6c 75 64 65 3c 2f 61 3e 3c 2f 6c 69 3e 0a 20 20 20 20 Include">@cInclude</a></li>.....
65c0 20 20 20 20 20 20 20 20 3c 6c 69 3e 3c 61 20 69 64 3d 22 74 6f 63 2d 63 6c 7a 22 20 68 72 65 66 ........<li><a.id="toc-clz".href
65e0 3d 22 23 63 6c 7a 22 3e 40 63 6c 7a 3c 2f 61 3e 3c 2f 6c 69 3e 0a 20 20 20 20 20 20 20 20 20 20 ="#clz">@clz</a></li>...........
6600 20 20 3c 6c 69 3e 3c 61 20 69 64 3d 22 74 6f 63 2d 63 6d 70 78 63 68 67 53 74 72 6f 6e 67 22 20 ..<li><a.id="toc-cmpxchgStrong".
6620 68 72 65 66 3d 22 23 63 6d 70 78 63 68 67 53 74 72 6f 6e 67 22 3e 40 63 6d 70 78 63 68 67 53 74 href="#cmpxchgStrong">@cmpxchgSt
6640 72 6f 6e 67 3c 2f 61 3e 3c 2f 6c 69 3e 0a 20 20 20 20 20 20 20 20 20 20 20 20 3c 6c 69 3e 3c 61 rong</a></li>.............<li><a
6660 20 69 64 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 23 63 6d 70 .id="toc-cmpxchgWeak".href="#cmp
6680 78 63 68 67 57 65 61 6b 22 3e 40 63 6d 70 78 63 68 67 57 65 61 6b 3c 2f 61 3e 3c 2f 6c 69 3e 0a xchgWeak">@cmpxchgWeak</a></li>.
66a0 20 20 20 20 20 20 20 20 20 20 20 20 3c 6c 69 3e 3c 61 20 69 64 3d 22 74 6f 63 2d 63 6f 6d 70 69 ............<li><a.id="toc-compi
66c0 6c 65 45 72 72 6f 72 22 20 68 72 65 66 3d 22 23 63 6f 6d 70 69 6c 65 45 72 72 6f 72 22 3e 40 63 leError".href="#compileError">@c
66e0 6f 6d 70 69 6c 65 45 72 72 6f 72 3c 2f 61 3e 3c 2f 6c 69 3e 0a 20 20 20 20 20 20 20 20 20 20 20 ompileError</a></li>............
6700 20 3c 6c 69 3e 3c 61 20 69 64 3d 22 74 6f 63 2d 63 6f 6d 70 69 6c 65 4c 6f 67 22 20 68 72 65 66 .<li><a.id="toc-compileLog".href
6720 3d 22 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 ="#compileLog">@compileLog</a></
6740 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 63 li>.............<li><a.id="toc-c
6760 74 7a 22 20 68 72 65 66 3d 22 23 63 74 7a 22 3e 40 63 74 7a 3c 2f 61 3e 3c 2f 6c 69 3e 0a 20 20 tz".href="#ctz">@ctz</a></li>...
6780 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 55 6e 64 65 66 22 ..........<li><a.id="toc-cUndef"
67a0 20 68 72 65 66 3d 22 23 63 55 6e 64 65 66 22 3e 40 63 55 6e 64 65 66 3c 2f 61 3e 3c 2f 6c 69 3e .href="#cUndef">@cUndef</a></li>
67c0 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 64 69 76 45 .............<li><a.id="toc-divE
67e0 78 61 63 74 22 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 xact".href="#divExact">@divExact
6800 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=
6820 22 74 6f 63 2d 64 69 76 46 6c 6f 6f 72 22 20 68 72 65 66 3d 22 23 64 69 76 46 6c 6f 6f 72 22 3e "toc-divFloor".href="#divFloor">
6840 40 64 69 76 46 6c 6f 6f 72 3c 2f 61 3e 3c 2f 6c 69 3e 0a 20 20 20 20 20 20 20 20 20 20 20 20 3c @divFloor</a></li>.............<
6860 6c 69 3e 3c 61 20 69 64 3d 22 74 6f 63 2d 64 69 76 54 72 75 6e 63 22 20 68 72 65 66 3d 22 23 64 li><a.id="toc-divTrunc".href="#d
6880 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 20 20 20 20 ivTrunc">@divTrunc</a></li>.....
68a0 20 20 20 20 20 20 20 20 3c 6c 69 3e 3c 61 20 69 64 3d 22 74 6f 63 2d 65 6d 62 65 64 46 69 6c 65 ........<li><a.id="toc-embedFile
68c0 22 20 68 72 65 66 3d 22 23 65 6d 62 65 64 46 69 6c 65 22 3e 40 65 6d 62 65 64 46 69 6c 65 3c 2f ".href="#embedFile">@embedFile</
68e0 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
6900 6f 63 2d 65 6e 75 6d 54 6f 49 6e 74 22 20 68 72 65 66 3d 22 23 65 6e 75 6d 54 6f 49 6e 74 22 3e oc-enumToInt".href="#enumToInt">
6920 40 65 6e 75 6d 54 6f 49 6e 74 3c 2f 61 3e 3c 2f 6c 69 3e 0a 20 20 20 20 20 20 20 20 20 20 20 20 @enumToInt</a></li>.............
6940 3c 6c 69 3e 3c 61 20 69 64 3d 22 74 6f 63 2d 65 72 72 6f 72 4e 61 6d 65 22 20 68 72 65 66 3d 22 <li><a.id="toc-errorName".href="
6960 23 65 72 72 6f 72 4e 61 6d 65 22 3e 40 65 72 72 6f 72 4e 61 6d 65 3c 2f 61 3e 3c 2f 6c 69 3e 0a #errorName">@errorName</a></li>.
6980 20 20 20 20 20 20 20 20 20 20 20 20 3c 6c 69 3e 3c 61 20 69 64 3d 22 74 6f 63 2d 65 72 72 6f 72 ............<li><a.id="toc-error
69a0 52 65 74 75 72 6e 54 72 61 63 65 22 20 68 72 65 66 3d 22 23 65 72 72 6f 72 52 65 74 75 72 6e 54 ReturnTrace".href="#errorReturnT
69c0 72 61 63 65 22 3e 40 65 72 72 6f 72 52 65 74 75 72 6e 54 72 61 63 65 3c 2f 61 3e 3c 2f 6c 69 3e race">@errorReturnTrace</a></li>
69e0 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 72 72 6f .............<li><a.id="toc-erro
6a00 72 54 6f 49 6e 74 22 20 68 72 65 66 3d 22 23 65 72 72 6f 72 54 6f 49 6e 74 22 3e 40 65 72 72 6f rToInt".href="#errorToInt">@erro
6a20 72 54 6f 49 6e 74 3c 2f 61 3e 3c 2f 6c 69 3e 0a 20 20 20 20 20 20 20 20 20 20 20 20 3c 6c 69 3e rToInt</a></li>.............<li>
6a40 3c 61 20 69 64 3d 22 74 6f 63 2d 65 72 72 53 65 74 43 61 73 74 22 20 68 72 65 66 3d 22 23 65 72 <a.id="toc-errSetCast".href="#er
6a60 72 53 65 74 43 61 73 74 22 3e 40 65 72 72 53 65 74 43 61 73 74 3c 2f 61 3e 3c 2f 6c 69 3e 0a 20 rSetCast">@errSetCast</a></li>..
6a80 20 20 20 20 20 20 20 20 20 20 20 3c 6c 69 3e 3c 61 20 69 64 3d 22 74 6f 63 2d 65 78 70 6f 72 74 ...........<li><a.id="toc-export
6aa0 22 20 68 72 65 66 3d 22 23 65 78 70 6f 72 74 22 3e 40 65 78 70 6f 72 74 3c 2f 61 3e 3c 2f 6c 69 ".href="#export">@export</a></li
6ac0 3e 0a 20 20 20 20 20 20 20 20 20 20 20 20 3c 6c 69 3e 3c 61 20 69 64 3d 22 74 6f 63 2d 65 78 74 >.............<li><a.id="toc-ext
6ae0 65 72 6e 22 20 68 72 65 66 3d 22 23 65 78 74 65 72 6e 22 3e 40 65 78 74 65 72 6e 3c 2f 61 3e 3c ern".href="#extern">@extern</a><
6b00 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-
6b20 66 65 6e 63 65 22 20 68 72 65 66 3d 22 23 66 65 6e 63 65 22 3e 40 66 65 6e 63 65 3c 2f 61 3e 3c fence".href="#fence">@fence</a><
6b40 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-
6b60 66 69 65 6c 64 22 20 68 72 65 66 3d 22 23 66 69 65 6c 64 22 3e 40 66 69 65 6c 64 3c 2f 61 3e 3c field".href="#field">@field</a><
6b80 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-
6ba0 66 69 65 6c 64 50 61 72 65 6e 74 50 74 72 22 20 68 72 65 66 3d 22 23 66 69 65 6c 64 50 61 72 65 fieldParentPtr".href="#fieldPare
6bc0 6e 74 50 74 72 22 3e 40 66 69 65 6c 64 50 61 72 65 6e 74 50 74 72 3c 2f 61 3e 3c 2f 6c 69 3e 0a ntPtr">@fieldParentPtr</a></li>.
6be0 20 20 20 20 20 20 20 20 20 20 20 20 3c 6c 69 3e 3c 61 20 69 64 3d 22 74 6f 63 2d 66 6c 6f 61 74 ............<li><a.id="toc-float
6c00 43 61 73 74 22 20 68 72 65 66 3d 22 23 66 6c 6f 61 74 43 61 73 74 22 3e 40 66 6c 6f 61 74 43 61 Cast".href="#floatCast">@floatCa
6c20 73 74 3c 2f 61 3e 3c 2f 6c 69 3e 0a 20 20 20 20 20 20 20 20 20 20 20 20 3c 6c 69 3e 3c 61 20 69 st</a></li>.............<li><a.i
6c40 64 3d 22 74 6f 63 2d 66 6c 6f 61 74 54 6f 49 6e 74 22 20 68 72 65 66 3d 22 23 66 6c 6f 61 74 54 d="toc-floatToInt".href="#floatT
6c60 6f 49 6e 74 22 3e 40 66 6c 6f 61 74 54 6f 49 6e 74 3c 2f 61 3e 3c 2f 6c 69 3e 0a 20 20 20 20 20 oInt">@floatToInt</a></li>......
6c80 20 20 20 20 20 20 20 3c 6c 69 3e 3c 61 20 69 64 3d 22 74 6f 63 2d 66 72 61 6d 65 22 20 68 72 65 .......<li><a.id="toc-frame".hre
6ca0 66 3d 22 23 66 72 61 6d 65 22 3e 40 66 72 61 6d 65 3c 2f 61 3e 3c 2f 6c 69 3e 0a 20 20 20 20 20 f="#frame">@frame</a></li>......
6cc0 20 20 20 20 20 20 20 3c 6c 69 3e 3c 61 20 69 64 3d 22 74 6f 63 2d 46 72 61 6d 65 22 20 68 72 65 .......<li><a.id="toc-Frame".hre
6ce0 66 3d 22 23 46 72 61 6d 65 22 3e 40 46 72 61 6d 65 3c 2f 61 3e 3c 2f 6c 69 3e 0a 20 20 20 20 20 f="#Frame">@Frame</a></li>......
6d00 20 20 20 20 20 20 20 3c 6c 69 3e 3c 61 20 69 64 3d 22 74 6f 63 2d 66 72 61 6d 65 41 64 64 72 65 .......<li><a.id="toc-frameAddre
6d20 73 73 22 20 68 72 65 66 3d 22 23 66 72 61 6d 65 41 64 64 72 65 73 73 22 3e 40 66 72 61 6d 65 41 ss".href="#frameAddress">@frameA
6d40 64 64 72 65 73 73 3c 2f 61 3e 3c 2f 6c 69 3e 0a 20 20 20 20 20 20 20 20 20 20 20 20 3c 6c 69 3e ddress</a></li>.............<li>
6d60 3c 61 20 69 64 3d 22 74 6f 63 2d 66 72 61 6d 65 53 69 7a 65 22 20 68 72 65 66 3d 22 23 66 72 61 <a.id="toc-frameSize".href="#fra
6d80 6d 65 53 69 7a 65 22 3e 40 66 72 61 6d 65 53 69 7a 65 3c 2f 61 3e 3c 2f 6c 69 3e 0a 20 20 20 20 meSize">@frameSize</a></li>.....
6da0 20 20 20 20 20 20 20 20 3c 6c 69 3e 3c 61 20 69 64 3d 22 74 6f 63 2d 68 61 73 44 65 63 6c 22 20 ........<li><a.id="toc-hasDecl".
6dc0 68 72 65 66 3d 22 23 68 61 73 44 65 63 6c 22 3e 40 68 61 73 44 65 63 6c 3c 2f 61 3e 3c 2f 6c 69 href="#hasDecl">@hasDecl</a></li
6de0 3e 0a 20 20 20 20 20 20 20 20 20 20 20 20 3c 6c 69 3e 3c 61 20 69 64 3d 22 74 6f 63 2d 68 61 73 >.............<li><a.id="toc-has
6e00 46 69 65 6c 64 22 20 68 72 65 66 3d 22 23 68 61 73 46 69 65 6c 64 22 3e 40 68 61 73 46 69 65 6c Field".href="#hasField">@hasFiel
6e20 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
6e40 3d 22 74 6f 63 2d 69 6d 70 6f 72 74 22 20 68 72 65 66 3d 22 23 69 6d 70 6f 72 74 22 3e 40 69 6d ="toc-import".href="#import">@im
6e60 70 6f 72 74 3c 2f 61 3e 3c 2f 6c 69 3e 0a 20 20 20 20 20 20 20 20 20 20 20 20 3c 6c 69 3e 3c 61 port</a></li>.............<li><a
6e80 20 69 64 3d 22 74 6f 63 2d 69 6e 74 43 61 73 74 22 20 68 72 65 66 3d 22 23 69 6e 74 43 61 73 74 .id="toc-intCast".href="#intCast
6ea0 22 3e 40 69 6e 74 43 61 73 74 3c 2f 61 3e 3c 2f 6c 69 3e 0a 20 20 20 20 20 20 20 20 20 20 20 20 ">@intCast</a></li>.............
6ec0 3c 6c 69 3e 3c 61 20 69 64 3d 22 74 6f 63 2d 69 6e 74 54 6f 45 6e 75 6d 22 20 68 72 65 66 3d 22 <li><a.id="toc-intToEnum".href="
6ee0 23 69 6e 74 54 6f 45 6e 75 6d 22 3e 40 69 6e 74 54 6f 45 6e 75 6d 3c 2f 61 3e 3c 2f 6c 69 3e 0a #intToEnum">@intToEnum</a></li>.
6f00 20 20 20 20 20 20 20 20 20 20 20 20 3c 6c 69 3e 3c 61 20 69 64 3d 22 74 6f 63 2d 69 6e 74 54 6f ............<li><a.id="toc-intTo
6f20 45 72 72 6f 72 22 20 68 72 65 66 3d 22 23 69 6e 74 54 6f 45 72 72 6f 72 22 3e 40 69 6e 74 54 6f Error".href="#intToError">@intTo
6f40 45 72 72 6f 72 3c 2f 61 3e 3c 2f 6c 69 3e 0a 20 20 20 20 20 20 20 20 20 20 20 20 3c 6c 69 3e 3c Error</a></li>.............<li><
6f60 61 20 69 64 3d 22 74 6f 63 2d 69 6e 74 54 6f 46 6c 6f 61 74 22 20 68 72 65 66 3d 22 23 69 6e 74 a.id="toc-intToFloat".href="#int
6f80 54 6f 46 6c 6f 61 74 22 3e 40 69 6e 74 54 6f 46 6c 6f 61 74 3c 2f 61 3e 3c 2f 6c 69 3e 0a 20 20 ToFloat">@intToFloat</a></li>...
6fa0 20 20 20 20 20 20 20 20 20 20 3c 6c 69 3e 3c 61 20 69 64 3d 22 74 6f 63 2d 69 6e 74 54 6f 50 74 ..........<li><a.id="toc-intToPt
6fc0 72 22 20 68 72 65 66 3d 22 23 69 6e 74 54 6f 50 74 72 22 3e 40 69 6e 74 54 6f 50 74 72 3c 2f 61 r".href="#intToPtr">@intToPtr</a
6fe0 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
7000 63 2d 6d 61 78 22 20 68 72 65 66 3d 22 23 6d 61 78 22 3e 40 6d 61 78 3c 2f 61 3e 3c 2f 6c 69 3e c-max".href="#max">@max</a></li>
7020 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 6d 65 6d 63 .............<li><a.id="toc-memc
7040 70 79 22 20 68 72 65 66 3d 22 23 6d 65 6d 63 70 79 22 3e 40 6d 65 6d 63 70 79 3c 2f 61 3e 3c 2f py".href="#memcpy">@memcpy</a></
7060 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 6d li>.............<li><a.id="toc-m
7080 65 6d 73 65 74 22 20 68 72 65 66 3d 22 23 6d 65 6d 73 65 74 22 3e 40 6d 65 6d 73 65 74 3c 2f 61 emset".href="#memset">@memset</a
70a0 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
70c0 63 2d 6d 69 6e 22 20 68 72 65 66 3d 22 23 6d 69 6e 22 3e 40 6d 69 6e 3c 2f 61 3e 3c 2f 6c 69 3e c-min".href="#min">@min</a></li>
70e0 0a 20 20 20 20 20 20 20 20 20 20 20 20 3c 6c 69 3e 3c 61 20 69 64 3d 22 74 6f 63 2d 77 61 73 6d .............<li><a.id="toc-wasm
7100 4d 65 6d 6f 72 79 53 69 7a 65 22 20 68 72 65 66 3d 22 23 77 61 73 6d 4d 65 6d 6f 72 79 53 69 7a MemorySize".href="#wasmMemorySiz
7120 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 20 20 20 20 e">@wasmMemorySize</a></li>.....
7140 20 20 20 20 20 20 20 20 3c 6c 69 3e 3c 61 20 69 64 3d 22 74 6f 63 2d 77 61 73 6d 4d 65 6d 6f 72 ........<li><a.id="toc-wasmMemor
7160 79 47 72 6f 77 22 20 68 72 65 66 3d 22 23 77 61 73 6d 4d 65 6d 6f 72 79 47 72 6f 77 22 3e 40 77 yGrow".href="#wasmMemoryGrow">@w
7180 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 20 20 asmMemoryGrow</a></li>..........
71a0 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 23 6d 6f ...<li><a.id="toc-mod".href="#mo
71c0 64 22 3e 40 6d 6f 64 3c 2f 61 3e 3c 2f 6c 69 3e 0a 20 20 20 20 20 20 20 20 20 20 20 20 3c 6c 69 d">@mod</a></li>.............<li
71e0 3e 3c 61 20 69 64 3d 22 74 6f 63 2d 6d 75 6c 57 69 74 68 4f 76 65 72 66 6c 6f 77 22 20 68 72 65 ><a.id="toc-mulWithOverflow".hre
7200 66 3d 22 23 6d 75 6c 57 69 74 68 4f 76 65 72 66 6c 6f 77 22 3e 40 6d 75 6c 57 69 74 68 4f 76 65 f="#mulWithOverflow">@mulWithOve
7220 72 66 6c 6f 77 3c 2f 61 3e 3c 2f 6c 69 3e 0a 20 20 20 20 20 20 20 20 20 20 20 20 3c 6c 69 3e 3c rflow</a></li>.............<li><
7240 61 20 69 64 3d 22 74 6f 63 2d 70 61 6e 69 63 22 20 68 72 65 66 3d 22 23 70 61 6e 69 63 22 3e 40 a.id="toc-panic".href="#panic">@
7260 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 69 3e 3c panic</a></li>.............<li><
7280 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 23 70 6f 70 43 6f a.id="toc-popCount".href="#popCo
72a0 75 6e 74 22 3e 40 70 6f 70 43 6f 75 6e 74 3c 2f 61 3e 3c 2f 6c 69 3e 0a 20 20 20 20 20 20 20 20 unt">@popCount</a></li>.........
72c0 20 20 20 20 3c 6c 69 3e 3c 61 20 69 64 3d 22 74 6f 63 2d 70 72 65 66 65 74 63 68 22 20 68 72 65 ....<li><a.id="toc-prefetch".hre
72e0 66 3d 22 23 70 72 65 66 65 74 63 68 22 3e 40 70 72 65 66 65 74 63 68 3c 2f 61 3e 3c 2f 6c 69 3e f="#prefetch">@prefetch</a></li>
7300 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 74 72 43 .............<li><a.id="toc-ptrC
7320 61 73 74 22 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 ast".href="#ptrCast">@ptrCast</a
7340 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
7360 63 2d 70 74 72 54 6f 49 6e 74 22 20 68 72 65 66 3d 22 23 70 74 72 54 6f 49 6e 74 22 3e 40 70 74 c-ptrToInt".href="#ptrToInt">@pt
7380 72 54 6f 49 6e 74 3c 2f 61 3e 3c 2f 6c 69 3e 0a 20 20 20 20 20 20 20 20 20 20 20 20 3c 6c 69 3e rToInt</a></li>.............<li>
73a0 3c 61 20 69 64 3d 22 74 6f 63 2d 72 65 6d 22 20 68 72 65 66 3d 22 23 72 65 6d 22 3e 40 72 65 6d <a.id="toc-rem".href="#rem">@rem
73c0 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=
73e0 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 23 72 65 74 75 72 "toc-returnAddress".href="#retur
7400 6e 41 64 64 72 65 73 73 22 3e 40 72 65 74 75 72 6e 41 64 64 72 65 73 73 3c 2f 61 3e 3c 2f 6c 69 nAddress">@returnAddress</a></li
7420 3e 0a 20 20 20 20 20 20 20 20 20 20 20 20 3c 6c 69 3e 3c 61 20 69 64 3d 22 74 6f 63 2d 73 65 6c >.............<li><a.id="toc-sel
7440 65 63 74 22 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 3c ect".href="#select">@select</a><
7460 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-
7480 73 65 74 41 6c 69 67 6e 53 74 61 63 6b 22 20 68 72 65 66 3d 22 23 73 65 74 41 6c 69 67 6e 53 74 setAlignStack".href="#setAlignSt
74a0 61 63 6b 22 3e 40 73 65 74 41 6c 69 67 6e 53 74 61 63 6b 3c 2f 61 3e 3c 2f 6c 69 3e 0a 20 20 20 ack">@setAlignStack</a></li>....
74c0 20 20 20 20 20 20 20 20 20 3c 6c 69 3e 3c 61 20 69 64 3d 22 74 6f 63 2d 73 65 74 43 6f 6c 64 22 .........<li><a.id="toc-setCold"
74e0 20 68 72 65 66 3d 22 23 73 65 74 43 6f 6c 64 22 3e 40 73 65 74 43 6f 6c 64 3c 2f 61 3e 3c 2f 6c .href="#setCold">@setCold</a></l
7500 69 3e 0a 20 20 20 20 20 20 20 20 20 20 20 20 3c 6c 69 3e 3c 61 20 69 64 3d 22 74 6f 63 2d 73 65 i>.............<li><a.id="toc-se
7520 74 45 76 61 6c 42 72 61 6e 63 68 51 75 6f 74 61 22 20 68 72 65 66 3d 22 23 73 65 74 45 76 61 6c tEvalBranchQuota".href="#setEval
7540 42 72 61 6e 63 68 51 75 6f 74 61 22 3e 40 73 65 74 45 76 61 6c 42 72 61 6e 63 68 51 75 6f 74 61 BranchQuota">@setEvalBranchQuota
7560 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=
7580 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 23 73 65 74 46 6c 6f "toc-setFloatMode".href="#setFlo
75a0 61 74 4d 6f 64 65 22 3e 40 73 65 74 46 6c 6f 61 74 4d 6f 64 65 3c 2f 61 3e 3c 2f 6c 69 3e 0a 20 atMode">@setFloatMode</a></li>..
75c0 20 20 20 20 20 20 20 20 20 20 20 3c 6c 69 3e 3c 61 20 69 64 3d 22 74 6f 63 2d 73 65 74 52 75 6e ...........<li><a.id="toc-setRun
75e0 74 69 6d 65 53 61 66 65 74 79 22 20 68 72 65 66 3d 22 23 73 65 74 52 75 6e 74 69 6d 65 53 61 66 timeSafety".href="#setRuntimeSaf
7600 65 74 79 22 3e 40 73 65 74 52 75 6e 74 69 6d 65 53 61 66 65 74 79 3c 2f 61 3e 3c 2f 6c 69 3e 0a ety">@setRuntimeSafety</a></li>.
7620 20 20 20 20 20 20 20 20 20 20 20 20 3c 6c 69 3e 3c 61 20 69 64 3d 22 74 6f 63 2d 73 68 6c 45 78 ............<li><a.id="toc-shlEx
7640 61 63 74 22 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 act".href="#shlExact">@shlExact<
7660 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="
7680 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 23 73 68 6c 57 toc-shlWithOverflow".href="#shlW
76a0 69 74 68 4f 76 65 72 66 6c 6f 77 22 3e 40 73 68 6c 57 69 74 68 4f 76 65 72 66 6c 6f 77 3c 2f 61 ithOverflow">@shlWithOverflow</a
76c0 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
76e0 63 2d 73 68 72 45 78 61 63 74 22 20 68 72 65 66 3d 22 23 73 68 72 45 78 61 63 74 22 3e 40 73 68 c-shrExact".href="#shrExact">@sh
7700 72 45 78 61 63 74 3c 2f 61 3e 3c 2f 6c 69 3e 0a 20 20 20 20 20 20 20 20 20 20 20 20 3c 6c 69 3e rExact</a></li>.............<li>
7720 3c 61 20 69 64 3d 22 74 6f 63 2d 73 68 75 66 66 6c 65 22 20 68 72 65 66 3d 22 23 73 68 75 66 66 <a.id="toc-shuffle".href="#shuff
7740 6c 65 22 3e 40 73 68 75 66 66 6c 65 3c 2f 61 3e 3c 2f 6c 69 3e 0a 20 20 20 20 20 20 20 20 20 20 le">@shuffle</a></li>...........
7760 20 20 3c 6c 69 3e 3c 61 20 69 64 3d 22 74 6f 63 2d 73 69 7a 65 4f 66 22 20 68 72 65 66 3d 22 23 ..<li><a.id="toc-sizeOf".href="#
7780 73 69 7a 65 4f 66 22 3e 40 73 69 7a 65 4f 66 3c 2f 61 3e 3c 2f 6c 69 3e 0a 20 20 20 20 20 20 20 sizeOf">@sizeOf</a></li>........
77a0 20 20 20 20 20 3c 6c 69 3e 3c 61 20 69 64 3d 22 74 6f 63 2d 73 70 6c 61 74 22 20 68 72 65 66 3d .....<li><a.id="toc-splat".href=
77c0 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 20 20 20 20 20 20 20 "#splat">@splat</a></li>........
77e0 20 20 20 20 20 3c 6c 69 3e 3c 61 20 69 64 3d 22 74 6f 63 2d 72 65 64 75 63 65 22 20 68 72 65 66 .....<li><a.id="toc-reduce".href
7800 3d 22 23 72 65 64 75 63 65 22 3e 40 72 65 64 75 63 65 3c 2f 61 3e 3c 2f 6c 69 3e 0a 20 20 20 20 ="#reduce">@reduce</a></li>.....
7820 20 20 20 20 20 20 20 20 3c 6c 69 3e 3c 61 20 69 64 3d 22 74 6f 63 2d 73 72 63 22 20 68 72 65 66 ........<li><a.id="toc-src".href
7840 3d 22 23 73 72 63 22 3e 40 73 72 63 3c 2f 61 3e 3c 2f 6c 69 3e 0a 20 20 20 20 20 20 20 20 20 20 ="#src">@src</a></li>...........
7860 20 20 3c 6c 69 3e 3c 61 20 69 64 3d 22 74 6f 63 2d 73 71 72 74 22 20 68 72 65 66 3d 22 23 73 71 ..<li><a.id="toc-sqrt".href="#sq
7880 72 74 22 3e 40 73 71 72 74 3c 2f 61 3e 3c 2f 6c 69 3e 0a 20 20 20 20 20 20 20 20 20 20 20 20 3c rt">@sqrt</a></li>.............<
78a0 6c 69 3e 3c 61 20 69 64 3d 22 74 6f 63 2d 73 69 6e 22 20 68 72 65 66 3d 22 23 73 69 6e 22 3e 40 li><a.id="toc-sin".href="#sin">@
78c0 73 69 6e 3c 2f 61 3e 3c 2f 6c 69 3e 0a 20 20 20 20 20 20 20 20 20 20 20 20 3c 6c 69 3e 3c 61 20 sin</a></li>.............<li><a.
78e0 69 64 3d 22 74 6f 63 2d 63 6f 73 22 20 68 72 65 66 3d 22 23 63 6f 73 22 3e 40 63 6f 73 3c 2f 61 id="toc-cos".href="#cos">@cos</a
7900 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
7920 63 2d 74 61 6e 22 20 68 72 65 66 3d 22 23 74 61 6e 22 3e 40 74 61 6e 3c 2f 61 3e 3c 2f 6c 69 3e c-tan".href="#tan">@tan</a></li>
7940 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 70 22 .............<li><a.id="toc-exp"
7960 20 68 72 65 66 3d 22 23 65 78 70 22 3e 40 65 78 70 3c 2f 61 3e 3c 2f 6c 69 3e 0a 20 20 20 20 20 .href="#exp">@exp</a></li>......
7980 20 20 20 20 20 20 20 3c 6c 69 3e 3c 61 20 69 64 3d 22 74 6f 63 2d 65 78 70 32 22 20 68 72 65 66 .......<li><a.id="toc-exp2".href
79a0 3d 22 23 65 78 70 32 22 3e 40 65 78 70 32 3c 2f 61 3e 3c 2f 6c 69 3e 0a 20 20 20 20 20 20 20 20 ="#exp2">@exp2</a></li>.........
79c0 20 20 20 20 3c 6c 69 3e 3c 61 20 69 64 3d 22 74 6f 63 2d 6c 6f 67 22 20 68 72 65 66 3d 22 23 6c ....<li><a.id="toc-log".href="#l
79e0 6f 67 22 3e 40 6c 6f 67 3c 2f 61 3e 3c 2f 6c 69 3e 0a 20 20 20 20 20 20 20 20 20 20 20 20 3c 6c og">@log</a></li>.............<l
7a00 69 3e 3c 61 20 69 64 3d 22 74 6f 63 2d 6c 6f 67 32 22 20 68 72 65 66 3d 22 23 6c 6f 67 32 22 3e i><a.id="toc-log2".href="#log2">
7a20 40 6c 6f 67 32 3c 2f 61 3e 3c 2f 6c 69 3e 0a 20 20 20 20 20 20 20 20 20 20 20 20 3c 6c 69 3e 3c @log2</a></li>.............<li><
7a40 61 20 69 64 3d 22 74 6f 63 2d 6c 6f 67 31 30 22 20 68 72 65 66 3d 22 23 6c 6f 67 31 30 22 3e 40 a.id="toc-log10".href="#log10">@
7a60 6c 6f 67 31 30 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 log10</a></li>.............<li><
7a80 61 20 69 64 3d 22 74 6f 63 2d 66 61 62 73 22 20 68 72 65 66 3d 22 23 66 61 62 73 22 3e 40 66 61 a.id="toc-fabs".href="#fabs">@fa
7aa0 62 73 3c 2f 61 3e 3c 2f 6c 69 3e 0a 20 20 20 20 20 20 20 20 20 20 20 20 3c 6c 69 3e 3c 61 20 69 bs</a></li>.............<li><a.i
7ac0 64 3d 22 74 6f 63 2d 66 6c 6f 6f 72 22 20 68 72 65 66 3d 22 23 66 6c 6f 6f 72 22 3e 40 66 6c 6f d="toc-floor".href="#floor">@flo
7ae0 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
7b00 64 3d 22 74 6f 63 2d 63 65 69 6c 22 20 68 72 65 66 3d 22 23 63 65 69 6c 22 3e 40 63 65 69 6c 3c d="toc-ceil".href="#ceil">@ceil<
7b20 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="
7b40 74 6f 63 2d 74 72 75 6e 63 22 20 68 72 65 66 3d 22 23 74 72 75 6e 63 22 3e 40 74 72 75 6e 63 3c toc-trunc".href="#trunc">@trunc<
7b60 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="
7b80 74 6f 63 2d 72 6f 75 6e 64 22 20 68 72 65 66 3d 22 23 72 6f 75 6e 64 22 3e 40 72 6f 75 6e 64 3c toc-round".href="#round">@round<
7ba0 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="
7bc0 74 6f 63 2d 73 75 62 57 69 74 68 4f 76 65 72 66 6c 6f 77 22 20 68 72 65 66 3d 22 23 73 75 62 57 toc-subWithOverflow".href="#subW
7be0 69 74 68 4f 76 65 72 66 6c 6f 77 22 3e 40 73 75 62 57 69 74 68 4f 76 65 72 66 6c 6f 77 3c 2f 61 ithOverflow">@subWithOverflow</a
7c00 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
7c20 63 2d 74 61 67 4e 61 6d 65 22 20 68 72 65 66 3d 22 23 74 61 67 4e 61 6d 65 22 3e 40 74 61 67 4e c-tagName".href="#tagName">@tagN
7c40 61 6d 65 3c 2f 61 3e 3c 2f 6c 69 3e 0a 20 20 20 20 20 20 20 20 20 20 20 20 3c 6c 69 3e 3c 61 20 ame</a></li>.............<li><a.
7c60 69 64 3d 22 74 6f 63 2d 54 68 69 73 22 20 68 72 65 66 3d 22 23 54 68 69 73 22 3e 40 54 68 69 73 id="toc-This".href="#This">@This
7c80 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=
7ca0 22 74 6f 63 2d 74 72 75 6e 63 61 74 65 22 20 68 72 65 66 3d 22 23 74 72 75 6e 63 61 74 65 22 3e "toc-truncate".href="#truncate">
7cc0 40 74 72 75 6e 63 61 74 65 3c 2f 61 3e 3c 2f 6c 69 3e 0a 20 20 20 20 20 20 20 20 20 20 20 20 3c @truncate</a></li>.............<
7ce0 6c 69 3e 3c 61 20 69 64 3d 22 74 6f 63 2d 54 79 70 65 22 20 68 72 65 66 3d 22 23 54 79 70 65 22 li><a.id="toc-Type".href="#Type"
7d00 3e 40 54 79 70 65 3c 2f 61 3e 3c 2f 6c 69 3e 0a 20 20 20 20 20 20 20 20 20 20 20 20 3c 6c 69 3e >@Type</a></li>.............<li>
7d20 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 23 74 79 70 65 <a.id="toc-typeInfo".href="#type
7d40 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 20 20 20 20 20 20 20 Info">@typeInfo</a></li>........
7d60 20 20 20 20 20 3c 6c 69 3e 3c 61 20 69 64 3d 22 74 6f 63 2d 74 79 70 65 4e 61 6d 65 22 20 68 72 .....<li><a.id="toc-typeName".hr
7d80 65 66 3d 22 23 74 79 70 65 4e 61 6d 65 22 3e 40 74 79 70 65 4e 61 6d 65 3c 2f 61 3e 3c 2f 6c 69 ef="#typeName">@typeName</a></li
7da0 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 79 70 >.............<li><a.id="toc-Typ
7dc0 65 4f 66 22 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 3c eOf".href="#TypeOf">@TypeOf</a><
7de0 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-
7e00 75 6e 69 6f 6e 49 6e 69 74 22 20 68 72 65 66 3d 22 23 75 6e 69 6f 6e 49 6e 69 74 22 3e 40 75 6e unionInit".href="#unionInit">@un
7e20 69 6f 6e 49 6e 69 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 ionInit</a></li>.............<li
7e40 3e 3c 61 20 69 64 3d 22 74 6f 63 2d 56 65 63 74 6f 72 22 20 68 72 65 66 3d 22 23 56 65 63 74 6f ><a.id="toc-Vector".href="#Vecto
7e60 72 22 3e 40 56 65 63 74 6f 72 3c 2f 61 3e 3c 2f 6c 69 3e 0a 20 20 20 20 20 20 20 20 3c 2f 75 6c r">@Vector</a></li>.........</ul
7e80 3e 3c 2f 6c 69 3e 0a 20 20 20 20 20 20 20 20 3c 6c 69 3e 3c 61 20 69 64 3d 22 74 6f 63 2d 42 75 ></li>.........<li><a.id="toc-Bu
7ea0 69 6c 64 2d 4d 6f 64 65 22 20 68 72 65 66 3d 22 23 42 75 69 6c 64 2d 4d 6f 64 65 22 3e 42 75 69 ild-Mode".href="#Build-Mode">Bui
7ec0 6c 64 20 4d 6f 64 65 3c 2f 61 3e 0a 20 20 20 20 20 20 20 20 3c 75 6c 3e 0a 20 20 20 20 20 20 20 ld.Mode</a>.........<ul>........
7ee0 20 20 20 20 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 .....<li><a.id="toc-Debug".href=
7f00 22 23 44 65 62 75 67 22 3e 44 65 62 75 67 3c 2f 61 3e 3c 2f 6c 69 3e 0a 20 20 20 20 20 20 20 20 "#Debug">Debug</a></li>.........
7f20 20 20 20 20 3c 6c 69 3e 3c 61 20 69 64 3d 22 74 6f 63 2d 52 65 6c 65 61 73 65 46 61 73 74 22 20 ....<li><a.id="toc-ReleaseFast".
7f40 68 72 65 66 3d 22 23 52 65 6c 65 61 73 65 46 61 73 74 22 3e 52 65 6c 65 61 73 65 46 61 73 74 3c href="#ReleaseFast">ReleaseFast<
7f60 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="
7f80 74 6f 63 2d 52 65 6c 65 61 73 65 53 61 66 65 22 20 68 72 65 66 3d 22 23 52 65 6c 65 61 73 65 53 toc-ReleaseSafe".href="#ReleaseS
7fa0 61 66 65 22 3e 52 65 6c 65 61 73 65 53 61 66 65 3c 2f 61 3e 3c 2f 6c 69 3e 0a 20 20 20 20 20 20 afe">ReleaseSafe</a></li>.......
7fc0 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 6d 61 6c ......<li><a.id="toc-ReleaseSmal
7fe0 6c 22 20 68 72 65 66 3d 22 23 52 65 6c 65 61 73 65 53 6d 61 6c 6c 22 3e 52 65 6c 65 61 73 65 53 l".href="#ReleaseSmall">ReleaseS
8000 6d 61 6c 6c 3c 2f 61 3e 3c 2f 6c 69 3e 0a 20 20 20 20 20 20 20 20 3c 2f 75 6c 3e 3c 2f 6c 69 3e mall</a></li>.........</ul></li>
8020 0a 20 20 20 20 20 20 20 20 3c 6c 69 3e 3c 61 20 69 64 3d 22 74 6f 63 2d 53 69 6e 67 6c 65 2d 54 .........<li><a.id="toc-Single-T
8040 68 72 65 61 64 65 64 2d 42 75 69 6c 64 73 22 20 68 72 65 66 3d 22 23 53 69 6e 67 6c 65 2d 54 68 hreaded-Builds".href="#Single-Th
8060 72 65 61 64 65 64 2d 42 75 69 6c 64 73 22 3e 53 69 6e 67 6c 65 20 54 68 72 65 61 64 65 64 20 42 readed-Builds">Single.Threaded.B
8080 75 69 6c 64 73 3c 2f 61 3e 3c 2f 6c 69 3e 0a 20 20 20 20 20 20 20 20 3c 6c 69 3e 3c 61 20 69 64 uilds</a></li>.........<li><a.id
80a0 3d 22 74 6f 63 2d 55 6e 64 65 66 69 6e 65 64 2d 42 65 68 61 76 69 6f 72 22 20 68 72 65 66 3d 22 ="toc-Undefined-Behavior".href="
80c0 23 55 6e 64 65 66 69 6e 65 64 2d 42 65 68 61 76 69 6f 72 22 3e 55 6e 64 65 66 69 6e 65 64 20 42 #Undefined-Behavior">Undefined.B
80e0 65 68 61 76 69 6f 72 3c 2f 61 3e 0a 20 20 20 20 20 20 20 20 3c 75 6c 3e 0a 20 20 20 20 20 20 20 ehavior</a>.........<ul>........
8100 20 20 20 20 20 3c 6c 69 3e 3c 61 20 69 64 3d 22 74 6f 63 2d 52 65 61 63 68 69 6e 67 2d 55 6e 72 .....<li><a.id="toc-Reaching-Unr
8120 65 61 63 68 61 62 6c 65 2d 43 6f 64 65 22 20 68 72 65 66 3d 22 23 52 65 61 63 68 69 6e 67 2d 55 eachable-Code".href="#Reaching-U
8140 6e 72 65 61 63 68 61 62 6c 65 2d 43 6f 64 65 22 3e 52 65 61 63 68 69 6e 67 20 55 6e 72 65 61 63 nreachable-Code">Reaching.Unreac
8160 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 20 20 20 hable.Code</a></li>.............
8180 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 6f 75 6e <li><a.id="toc-Index-out-of-Boun
81a0 64 73 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 ds".href="#Index-out-of-Bounds">
81c0 49 6e 64 65 78 20 6f 75 74 20 6f 66 20 42 6f 75 6e 64 73 3c 2f 61 3e 3c 2f 6c 69 3e 0a 20 20 20 Index.out.of.Bounds</a></li>....
81e0 20 20 20 20 20 20 20 20 20 3c 6c 69 3e 3c 61 20 69 64 3d 22 74 6f 63 2d 43 61 73 74 2d 4e 65 67 .........<li><a.id="toc-Cast-Neg
8200 61 74 69 76 65 2d 4e 75 6d 62 65 72 2d 74 6f 2d 55 6e 73 69 67 6e 65 64 2d 49 6e 74 65 67 65 72 ative-Number-to-Unsigned-Integer
8220 22 20 68 72 65 66 3d 22 23 43 61 73 74 2d 4e 65 67 61 74 69 76 65 2d 4e 75 6d 62 65 72 2d 74 6f ".href="#Cast-Negative-Number-to
8240 2d 55 6e 73 69 67 6e 65 64 2d 49 6e 74 65 67 65 72 22 3e 43 61 73 74 20 4e 65 67 61 74 69 76 65 -Unsigned-Integer">Cast.Negative
8260 20 4e 75 6d 62 65 72 20 74 6f 20 55 6e 73 69 67 6e 65 64 20 49 6e 74 65 67 65 72 3c 2f 61 3e 3c .Number.to.Unsigned.Integer</a><
8280 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-
82a0 43 61 73 74 2d 54 72 75 6e 63 61 74 65 73 2d 44 61 74 61 22 20 68 72 65 66 3d 22 23 43 61 73 74 Cast-Truncates-Data".href="#Cast
82c0 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 74 65 73 20 -Truncates-Data">Cast.Truncates.
82e0 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 69 3e 3c 61 Data</a></li>.............<li><a
8300 20 69 64 3d 22 74 6f 63 2d 49 6e 74 65 67 65 72 2d 4f 76 65 72 66 6c 6f 77 22 20 68 72 65 66 3d .id="toc-Integer-Overflow".href=
8320 22 23 49 6e 74 65 67 65 72 2d 4f 76 65 72 66 6c 6f 77 22 3e 49 6e 74 65 67 65 72 20 4f 76 65 72 "#Integer-Overflow">Integer.Over
8340 66 6c 6f 77 3c 2f 61 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 flow</a>.............<ul>.......
8360 20 20 20 20 20 20 20 20 20 20 3c 6c 69 3e 3c 61 20 69 64 3d 22 74 6f 63 2d 44 65 66 61 75 6c 74 ..........<li><a.id="toc-Default
8380 2d 4f 70 65 72 61 74 69 6f 6e 73 22 20 68 72 65 66 3d 22 23 44 65 66 61 75 6c 74 2d 4f 70 65 72 -Operations".href="#Default-Oper
83a0 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 73 3c 2f 61 3e 3c 2f ations">Default.Operations</a></
83c0 6c 69 3e 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 3c 6c 69 3e 3c 61 20 69 64 3d 22 74 li>.................<li><a.id="t
83e0 6f 63 2d 53 74 61 6e 64 61 72 64 2d 4c 69 62 72 61 72 79 2d 4d 61 74 68 2d 46 75 6e 63 74 69 6f oc-Standard-Library-Math-Functio
8400 6e 73 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 74 68 ns".href="#Standard-Library-Math
8420 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 79 20 4d 61 74 -Functions">Standard.Library.Mat
8440 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 20 20 20 20 20 h.Functions</a></li>............
8460 20 20 20 20 20 3c 6c 69 3e 3c 61 20 69 64 3d 22 74 6f 63 2d 42 75 69 6c 74 69 6e 2d 4f 76 65 72 .....<li><a.id="toc-Builtin-Over
8480 66 6c 6f 77 2d 46 75 6e 63 74 69 6f 6e 73 22 20 68 72 65 66 3d 22 23 42 75 69 6c 74 69 6e 2d 4f flow-Functions".href="#Builtin-O
84a0 76 65 72 66 6c 6f 77 2d 46 75 6e 63 74 69 6f 6e 73 22 3e 42 75 69 6c 74 69 6e 20 4f 76 65 72 66 verflow-Functions">Builtin.Overf
84c0 6c 6f 77 20 46 75 6e 63 74 69 6f 6e 73 3c 2f 61 3e 3c 2f 6c 69 3e 0a 20 20 20 20 20 20 20 20 20 low.Functions</a></li>..........
84e0 20 20 20 20 20 20 20 3c 6c 69 3e 3c 61 20 69 64 3d 22 74 6f 63 2d 57 72 61 70 70 69 6e 67 2d 4f .......<li><a.id="toc-Wrapping-O
8500 70 65 72 61 74 69 6f 6e 73 22 20 68 72 65 66 3d 22 23 57 72 61 70 70 69 6e 67 2d 4f 70 65 72 61 perations".href="#Wrapping-Opera
8520 74 69 6f 6e 73 22 3e 57 72 61 70 70 69 6e 67 20 4f 70 65 72 61 74 69 6f 6e 73 3c 2f 61 3e 3c 2f tions">Wrapping.Operations</a></
8540 6c 69 3e 0a 20 20 20 20 20 20 20 20 20 20 20 20 3c 2f 75 6c 3e 3c 2f 6c 69 3e 0a 20 20 20 20 20 li>.............</ul></li>......
8560 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 4c 65 66 74 .......<li><a.id="toc-Exact-Left
8580 2d 53 68 69 66 74 2d 4f 76 65 72 66 6c 6f 77 22 20 68 72 65 66 3d 22 23 45 78 61 63 74 2d 4c 65 -Shift-Overflow".href="#Exact-Le
85a0 66 74 2d 53 68 69 66 74 2d 4f 76 65 72 66 6c 6f 77 22 3e 45 78 61 63 74 20 4c 65 66 74 20 53 68 ft-Shift-Overflow">Exact.Left.Sh
85c0 69 66 74 20 4f 76 65 72 66 6c 6f 77 3c 2f 61 3e 3c 2f 6c 69 3e 0a 20 20 20 20 20 20 20 20 20 20 ift.Overflow</a></li>...........
85e0 20 20 3c 6c 69 3e 3c 61 20 69 64 3d 22 74 6f 63 2d 45 78 61 63 74 2d 52 69 67 68 74 2d 53 68 69 ..<li><a.id="toc-Exact-Right-Shi
8600 66 74 2d 4f 76 65 72 66 6c 6f 77 22 20 68 72 65 66 3d 22 23 45 78 61 63 74 2d 52 69 67 68 74 2d ft-Overflow".href="#Exact-Right-
8620 53 68 69 66 74 2d 4f 76 65 72 66 6c 6f 77 22 3e 45 78 61 63 74 20 52 69 67 68 74 20 53 68 69 66 Shift-Overflow">Exact.Right.Shif
8640 74 20 4f 76 65 72 66 6c 6f 77 3c 2f 61 3e 3c 2f 6c 69 3e 0a 20 20 20 20 20 20 20 20 20 20 20 20 t.Overflow</a></li>.............
8660 3c 6c 69 3e 3c 61 20 69 64 3d 22 74 6f 63 2d 44 69 76 69 73 69 6f 6e 2d 62 79 2d 5a 65 72 6f 22 <li><a.id="toc-Division-by-Zero"
8680 20 68 72 65 66 3d 22 23 44 69 76 69 73 69 6f 6e 2d 62 79 2d 5a 65 72 6f 22 3e 44 69 76 69 73 69 .href="#Division-by-Zero">Divisi
86a0 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 20 20 20 20 20 on.by.Zero</a></li>.............
86c0 3c 6c 69 3e 3c 61 20 69 64 3d 22 74 6f 63 2d 52 65 6d 61 69 6e 64 65 72 2d 44 69 76 69 73 69 6f <li><a.id="toc-Remainder-Divisio
86e0 6e 2d 62 79 2d 5a 65 72 6f 22 20 68 72 65 66 3d 22 23 52 65 6d 61 69 6e 64 65 72 2d 44 69 76 69 n-by-Zero".href="#Remainder-Divi
8700 73 69 6f 6e 2d 62 79 2d 5a 65 72 6f 22 3e 52 65 6d 61 69 6e 64 65 72 20 44 69 76 69 73 69 6f 6e sion-by-Zero">Remainder.Division
8720 20 62 79 20 5a 65 72 6f 3c 2f 61 3e 3c 2f 6c 69 3e 0a 20 20 20 20 20 20 20 20 20 20 20 20 3c 6c .by.Zero</a></li>.............<l
8740 69 3e 3c 61 20 69 64 3d 22 74 6f 63 2d 45 78 61 63 74 2d 44 69 76 69 73 69 6f 6e 2d 52 65 6d 61 i><a.id="toc-Exact-Division-Rema
8760 69 6e 64 65 72 22 20 68 72 65 66 3d 22 23 45 78 61 63 74 2d 44 69 76 69 73 69 6f 6e 2d 52 65 6d inder".href="#Exact-Division-Rem
8780 61 69 6e 64 65 72 22 3e 45 78 61 63 74 20 44 69 76 69 73 69 6f 6e 20 52 65 6d 61 69 6e 64 65 72 ainder">Exact.Division.Remainder
87a0 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=
87c0 22 74 6f 63 2d 41 74 74 65 6d 70 74 2d 74 6f 2d 55 6e 77 72 61 70 2d 4e 75 6c 6c 22 20 68 72 65 "toc-Attempt-to-Unwrap-Null".hre
87e0 66 3d 22 23 41 74 74 65 6d 70 74 2d 74 6f 2d 55 6e 77 72 61 70 2d 4e 75 6c 6c 22 3e 41 74 74 65 f="#Attempt-to-Unwrap-Null">Atte
8800 6d 70 74 20 74 6f 20 55 6e 77 72 61 70 20 4e 75 6c 6c 3c 2f 61 3e 3c 2f 6c 69 3e 0a 20 20 20 20 mpt.to.Unwrap.Null</a></li>.....
8820 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
8840 6f 2d 55 6e 77 72 61 70 2d 45 72 72 6f 72 22 20 68 72 65 66 3d 22 23 41 74 74 65 6d 70 74 2d 74 o-Unwrap-Error".href="#Attempt-t
8860 6f 2d 55 6e 77 72 61 70 2d 45 72 72 6f 72 22 3e 41 74 74 65 6d 70 74 20 74 6f 20 55 6e 77 72 61 o-Unwrap-Error">Attempt.to.Unwra
8880 70 20 45 72 72 6f 72 3c 2f 61 3e 3c 2f 6c 69 3e 0a 20 20 20 20 20 20 20 20 20 20 20 20 3c 6c 69 p.Error</a></li>.............<li
88a0 3e 3c 61 20 69 64 3d 22 74 6f 63 2d 49 6e 76 61 6c 69 64 2d 45 72 72 6f 72 2d 43 6f 64 65 22 20 ><a.id="toc-Invalid-Error-Code".
88c0 68 72 65 66 3d 22 23 49 6e 76 61 6c 69 64 2d 45 72 72 6f 72 2d 43 6f 64 65 22 3e 49 6e 76 61 6c href="#Invalid-Error-Code">Inval
88e0 69 64 20 45 72 72 6f 72 20 43 6f 64 65 3c 2f 61 3e 3c 2f 6c 69 3e 0a 20 20 20 20 20 20 20 20 20 id.Error.Code</a></li>..........
8900 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 6e 75 6d 2d 43 ...<li><a.id="toc-Invalid-Enum-C
8920 61 73 74 22 20 68 72 65 66 3d 22 23 49 6e 76 61 6c 69 64 2d 45 6e 75 6d 2d 43 61 73 74 22 3e 49 ast".href="#Invalid-Enum-Cast">I
8940 6e 76 61 6c 69 64 20 45 6e 75 6d 20 43 61 73 74 3c 2f 61 3e 3c 2f 6c 69 3e 0a 20 20 20 20 20 20 nvalid.Enum.Cast</a></li>.......
8960 20 20 20 20 20 20 3c 6c 69 3e 3c 61 20 69 64 3d 22 74 6f 63 2d 49 6e 76 61 6c 69 64 2d 45 72 72 ......<li><a.id="toc-Invalid-Err
8980 6f 72 2d 53 65 74 2d 43 61 73 74 22 20 68 72 65 66 3d 22 23 49 6e 76 61 6c 69 64 2d 45 72 72 6f or-Set-Cast".href="#Invalid-Erro
89a0 72 2d 53 65 74 2d 43 61 73 74 22 3e 49 6e 76 61 6c 69 64 20 45 72 72 6f 72 20 53 65 74 20 43 61 r-Set-Cast">Invalid.Error.Set.Ca
89c0 73 74 3c 2f 61 3e 3c 2f 6c 69 3e 0a 20 20 20 20 20 20 20 20 20 20 20 20 3c 6c 69 3e 3c 61 20 69 st</a></li>.............<li><a.i
89e0 64 3d 22 74 6f 63 2d 49 6e 63 6f 72 72 65 63 74 2d 50 6f 69 6e 74 65 72 2d 41 6c 69 67 6e 6d 65 d="toc-Incorrect-Pointer-Alignme
8a00 6e 74 22 20 68 72 65 66 3d 22 23 49 6e 63 6f 72 72 65 63 74 2d 50 6f 69 6e 74 65 72 2d 41 6c 69 nt".href="#Incorrect-Pointer-Ali
8a20 67 6e 6d 65 6e 74 22 3e 49 6e 63 6f 72 72 65 63 74 20 50 6f 69 6e 74 65 72 20 41 6c 69 67 6e 6d gnment">Incorrect.Pointer.Alignm
8a40 65 6e 74 3c 2f 61 3e 3c 2f 6c 69 3e 0a 20 20 20 20 20 20 20 20 20 20 20 20 3c 6c 69 3e 3c 61 20 ent</a></li>.............<li><a.
8a60 69 64 3d 22 74 6f 63 2d 57 72 6f 6e 67 2d 55 6e 69 6f 6e 2d 46 69 65 6c 64 2d 41 63 63 65 73 73 id="toc-Wrong-Union-Field-Access
8a80 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 65 73 ".href="#Wrong-Union-Field-Acces
8aa0 73 22 3e 57 72 6f 6e 67 20 55 6e 69 6f 6e 20 46 69 65 6c 64 20 41 63 63 65 73 73 3c 2f 61 3e 3c s">Wrong.Union.Field.Access</a><
8ac0 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-
8ae0 4f 75 74 2d 6f 66 2d 42 6f 75 6e 64 73 2d 46 6c 6f 61 74 2d 74 6f 2d 49 6e 74 65 67 65 72 2d 43 Out-of-Bounds-Float-to-Integer-C
8b00 61 73 74 22 20 68 72 65 66 3d 22 23 4f 75 74 2d 6f 66 2d 42 6f 75 6e 64 73 2d 46 6c 6f 61 74 2d ast".href="#Out-of-Bounds-Float-
8b20 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 20 46 to-Integer-Cast">Out.of.Bounds.F
8b40 6c 6f 61 74 20 74 6f 20 49 6e 74 65 67 65 72 20 43 61 73 74 3c 2f 61 3e 3c 2f 6c 69 3e 0a 20 20 loat.to.Integer.Cast</a></li>...
8b60 20 20 20 20 20 20 20 20 20 20 3c 6c 69 3e 3c 61 20 69 64 3d 22 74 6f 63 2d 50 6f 69 6e 74 65 72 ..........<li><a.id="toc-Pointer
8b80 2d 43 61 73 74 2d 49 6e 76 61 6c 69 64 2d 4e 75 6c 6c 22 20 68 72 65 66 3d 22 23 50 6f 69 6e 74 -Cast-Invalid-Null".href="#Point
8ba0 65 72 2d 43 61 73 74 2d 49 6e 76 61 6c 69 64 2d 4e 75 6c 6c 22 3e 50 6f 69 6e 74 65 72 20 43 61 er-Cast-Invalid-Null">Pointer.Ca
8bc0 73 74 20 49 6e 76 61 6c 69 64 20 4e 75 6c 6c 3c 2f 61 3e 3c 2f 6c 69 3e 0a 20 20 20 20 20 20 20 st.Invalid.Null</a></li>........
8be0 20 3c 2f 75 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 .</ul></li>.........<li><a.id="t
8c00 6f 63 2d 4d 65 6d 6f 72 79 22 20 68 72 65 66 3d 22 23 4d 65 6d 6f 72 79 22 3e 4d 65 6d 6f 72 79 oc-Memory".href="#Memory">Memory
8c20 3c 2f 61 3e 0a 20 20 20 20 20 20 20 20 3c 75 6c 3e 0a 20 20 20 20 20 20 20 20 20 20 20 20 3c 6c </a>.........<ul>.............<l
8c40 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
8c60 6f 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 61 74 6f 72 or".href="#Choosing-an-Allocator
8c80 22 3e 43 68 6f 6f 73 69 6e 67 20 61 6e 20 41 6c 6c 6f 63 61 74 6f 72 3c 2f 61 3e 3c 2f 6c 69 3e ">Choosing.an.Allocator</a></li>
8ca0 0a 20 20 20 20 20 20 20 20 20 20 20 20 3c 6c 69 3e 3c 61 20 69 64 3d 22 74 6f 63 2d 57 68 65 72 .............<li><a.id="toc-Wher
8cc0 65 2d 61 72 65 2d 74 68 65 2d 62 79 74 65 73 22 20 68 72 65 66 3d 22 23 57 68 65 72 65 2d 61 72 e-are-the-bytes".href="#Where-ar
8ce0 65 2d 74 68 65 2d 62 79 74 65 73 22 3e 57 68 65 72 65 20 61 72 65 20 74 68 65 20 62 79 74 65 73 e-the-bytes">Where.are.the.bytes
8d00 3f 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 ?</a></li>.............<li><a.id
8d20 3d 22 74 6f 63 2d 49 6d 70 6c 65 6d 65 6e 74 69 6e 67 2d 61 6e 2d 41 6c 6c 6f 63 61 74 6f 72 22 ="toc-Implementing-an-Allocator"
8d40 20 68 72 65 66 3d 22 23 49 6d 70 6c 65 6d 65 6e 74 69 6e 67 2d 61 6e 2d 41 6c 6c 6f 63 61 74 6f .href="#Implementing-an-Allocato
8d60 72 22 3e 49 6d 70 6c 65 6d 65 6e 74 69 6e 67 20 61 6e 20 41 6c 6c 6f 63 61 74 6f 72 3c 2f 61 3e r">Implementing.an.Allocator</a>
8d80 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
8da0 2d 48 65 61 70 2d 41 6c 6c 6f 63 61 74 69 6f 6e 2d 46 61 69 6c 75 72 65 22 20 68 72 65 66 3d 22 -Heap-Allocation-Failure".href="
8dc0 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 48 65 61 70 20 41 #Heap-Allocation-Failure">Heap.A
8de0 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 0a 20 20 20 20 20 llocation.Failure</a></li>......
8e00 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 72 73 69 6f 6e 22 .......<li><a.id="toc-Recursion"
8e20 20 68 72 65 66 3d 22 23 52 65 63 75 72 73 69 6f 6e 22 3e 52 65 63 75 72 73 69 6f 6e 3c 2f 61 3e .href="#Recursion">Recursion</a>
8e40 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
8e60 2d 4c 69 66 65 74 69 6d 65 2d 61 6e 64 2d 4f 77 6e 65 72 73 68 69 70 22 20 68 72 65 66 3d 22 23 -Lifetime-and-Ownership".href="#
8e80 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 69 6d 65 Lifetime-and-Ownership">Lifetime
8ea0 20 61 6e 64 20 4f 77 6e 65 72 73 68 69 70 3c 2f 61 3e 3c 2f 6c 69 3e 0a 20 20 20 20 20 20 20 20 .and.Ownership</a></li>.........
8ec0 3c 2f 75 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 </ul></li>.........<li><a.id="to
8ee0 63 2d 43 6f 6d 70 69 6c 65 2d 56 61 72 69 61 62 6c 65 73 22 20 68 72 65 66 3d 22 23 43 6f 6d 70 c-Compile-Variables".href="#Comp
8f00 69 6c 65 2d 56 61 72 69 61 62 6c 65 73 22 3e 43 6f 6d 70 69 6c 65 20 56 61 72 69 61 62 6c 65 73 ile-Variables">Compile.Variables
8f20 3c 2f 61 3e 3c 2f 6c 69 3e 0a 20 20 20 20 20 20 20 20 3c 6c 69 3e 3c 61 20 69 64 3d 22 74 6f 63 </a></li>.........<li><a.id="toc
8f40 2d 52 6f 6f 74 2d 53 6f 75 72 63 65 2d 46 69 6c 65 22 20 68 72 65 66 3d 22 23 52 6f 6f 74 2d 53 -Root-Source-File".href="#Root-S
8f60 6f 75 72 63 65 2d 46 69 6c 65 22 3e 52 6f 6f 74 20 53 6f 75 72 63 65 20 46 69 6c 65 3c 2f 61 3e ource-File">Root.Source.File</a>
8f80 3c 2f 6c 69 3e 0a 20 20 20 20 20 20 20 20 3c 6c 69 3e 3c 61 20 69 64 3d 22 74 6f 63 2d 5a 69 67 </li>.........<li><a.id="toc-Zig
8fa0 2d 42 75 69 6c 64 2d 53 79 73 74 65 6d 22 20 68 72 65 66 3d 22 23 5a 69 67 2d 42 75 69 6c 64 2d -Build-System".href="#Zig-Build-
8fc0 53 79 73 74 65 6d 22 3e 5a 69 67 20 42 75 69 6c 64 20 53 79 73 74 65 6d 3c 2f 61 3e 0a 20 20 20 System">Zig.Build.System</a>....
8fe0 20 20 20 20 20 3c 75 6c 3e 0a 20 20 20 20 20 20 20 20 20 20 20 20 3c 6c 69 3e 3c 61 20 69 64 3d .....<ul>.............<li><a.id=
9000 22 74 6f 63 2d 42 75 69 6c 64 69 6e 67 2d 61 6e 2d 45 78 65 63 75 74 61 62 6c 65 22 20 68 72 65 "toc-Building-an-Executable".hre
9020 66 3d 22 23 42 75 69 6c 64 69 6e 67 2d 61 6e 2d 45 78 65 63 75 74 61 62 6c 65 22 3e 42 75 69 6c f="#Building-an-Executable">Buil
9040 64 69 6e 67 20 61 6e 20 45 78 65 63 75 74 61 62 6c 65 3c 2f 61 3e 3c 2f 6c 69 3e 0a 20 20 20 20 ding.an.Executable</a></li>.....
9060 20 20 20 20 20 20 20 20 3c 6c 69 3e 3c 61 20 69 64 3d 22 74 6f 63 2d 42 75 69 6c 64 69 6e 67 2d ........<li><a.id="toc-Building-
9080 61 2d 4c 69 62 72 61 72 79 22 20 68 72 65 66 3d 22 23 42 75 69 6c 64 69 6e 67 2d 61 2d 4c 69 62 a-Library".href="#Building-a-Lib
90a0 72 61 72 79 22 3e 42 75 69 6c 64 69 6e 67 20 61 20 4c 69 62 72 61 72 79 3c 2f 61 3e 3c 2f 6c 69 rary">Building.a.Library</a></li
90c0 3e 0a 20 20 20 20 20 20 20 20 20 20 20 20 3c 6c 69 3e 3c 61 20 69 64 3d 22 74 6f 63 2d 43 6f 6d >.............<li><a.id="toc-Com
90e0 70 69 6c 69 6e 67 2d 43 2d 53 6f 75 72 63 65 2d 43 6f 64 65 22 20 68 72 65 66 3d 22 23 43 6f 6d piling-C-Source-Code".href="#Com
9100 70 69 6c 69 6e 67 2d 43 2d 53 6f 75 72 63 65 2d 43 6f 64 65 22 3e 43 6f 6d 70 69 6c 69 6e 67 20 piling-C-Source-Code">Compiling.
9120 43 20 53 6f 75 72 63 65 20 43 6f 64 65 3c 2f 61 3e 3c 2f 6c 69 3e 0a 20 20 20 20 20 20 20 20 3c C.Source.Code</a></li>.........<
9140 2f 75 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 /ul></li>.........<li><a.id="toc
9160 2d 43 22 20 68 72 65 66 3d 22 23 43 22 3e 43 3c 2f 61 3e 0a 20 20 20 20 20 20 20 20 3c 75 6c 3e -C".href="#C">C</a>.........<ul>
9180 0a 20 20 20 20 20 20 20 20 20 20 20 20 3c 6c 69 3e 3c 61 20 69 64 3d 22 74 6f 63 2d 43 2d 54 79 .............<li><a.id="toc-C-Ty
91a0 70 65 2d 50 72 69 6d 69 74 69 76 65 73 22 20 68 72 65 66 3d 22 23 43 2d 54 79 70 65 2d 50 72 69 pe-Primitives".href="#C-Type-Pri
91c0 6d 69 74 69 76 65 73 22 3e 43 20 54 79 70 65 20 50 72 69 6d 69 74 69 76 65 73 3c 2f 61 3e 3c 2f mitives">C.Type.Primitives</a></
91e0 6c 69 3e 0a 20 20 20 20 20 20 20 20 20 20 20 20 3c 6c 69 3e 3c 61 20 69 64 3d 22 74 6f 63 2d 49 li>.............<li><a.id="toc-I
9200 6d 70 6f 72 74 2d 66 72 6f 6d 2d 43 2d 48 65 61 64 65 72 2d 46 69 6c 65 22 20 68 72 65 66 3d 22 mport-from-C-Header-File".href="
9220 23 49 6d 70 6f 72 74 2d 66 72 6f 6d 2d 43 2d 48 65 61 64 65 72 2d 46 69 6c 65 22 3e 49 6d 70 6f #Import-from-C-Header-File">Impo
9240 72 74 20 66 72 6f 6d 20 43 20 48 65 61 64 65 72 20 46 69 6c 65 3c 2f 61 3e 3c 2f 6c 69 3e 0a 20 rt.from.C.Header.File</a></li>..
9260 20 20 20 20 20 20 20 20 20 20 20 3c 6c 69 3e 3c 61 20 69 64 3d 22 74 6f 63 2d 43 2d 54 72 61 6e ...........<li><a.id="toc-C-Tran
9280 73 6c 61 74 69 6f 6e 2d 43 4c 49 22 20 68 72 65 66 3d 22 23 43 2d 54 72 61 6e 73 6c 61 74 69 6f slation-CLI".href="#C-Translatio
92a0 6e 2d 43 4c 49 22 3e 43 20 54 72 61 6e 73 6c 61 74 69 6f 6e 20 43 4c 49 3c 2f 61 3e 0a 20 20 20 n-CLI">C.Translation.CLI</a>....
92c0 20 20 20 20 20 20 20 20 20 3c 75 6c 3e 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 3c 6c .........<ul>.................<l
92e0 69 3e 3c 61 20 69 64 3d 22 74 6f 63 2d 43 6f 6d 6d 61 6e 64 2d 6c 69 6e 65 2d 66 6c 61 67 73 22 i><a.id="toc-Command-line-flags"
9300 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 43 6f 6d 6d .href="#Command-line-flags">Comm
9320 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 20 20 20 and.line.flags</a></li>.........
9340 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 2d 74 61 ........<li><a.id="toc-Using--ta
9360 72 67 65 74 2d 61 6e 64 2d 2d 63 66 6c 61 67 73 22 20 68 72 65 66 3d 22 23 55 73 69 6e 67 2d 2d rget-and--cflags".href="#Using--
9380 74 61 72 67 65 74 2d 61 6e 64 2d 2d 63 66 6c 61 67 73 22 3e 55 73 69 6e 67 20 2d 74 61 72 67 65 target-and--cflags">Using.-targe
93a0 74 20 61 6e 64 20 2d 63 66 6c 61 67 73 3c 2f 61 3e 3c 2f 6c 69 3e 0a 20 20 20 20 20 20 20 20 20 t.and.-cflags</a></li>..........
93c0 20 20 20 20 20 20 20 3c 6c 69 3e 3c 61 20 69 64 3d 22 74 6f 63 2d 63 49 6d 70 6f 72 74 2d 76 73 .......<li><a.id="toc-cImport-vs
93e0 2d 74 72 61 6e 73 6c 61 74 65 2d 63 22 20 68 72 65 66 3d 22 23 63 49 6d 70 6f 72 74 2d 76 73 2d -translate-c".href="#cImport-vs-
9400 74 72 61 6e 73 6c 61 74 65 2d 63 22 3e 40 63 49 6d 70 6f 72 74 20 76 73 20 74 72 61 6e 73 6c 61 translate-c">@cImport.vs.transla
9420 74 65 2d 63 3c 2f 61 3e 3c 2f 6c 69 3e 0a 20 20 20 20 20 20 20 20 20 20 20 20 3c 2f 75 6c 3e 3c te-c</a></li>.............</ul><
9440 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-
9460 43 2d 54 72 61 6e 73 6c 61 74 69 6f 6e 2d 43 61 63 68 69 6e 67 22 20 68 72 65 66 3d 22 23 43 2d C-Translation-Caching".href="#C-
9480 54 72 61 6e 73 6c 61 74 69 6f 6e 2d 43 61 63 68 69 6e 67 22 3e 43 20 54 72 61 6e 73 6c 61 74 69 Translation-Caching">C.Translati
94a0 6f 6e 20 43 61 63 68 69 6e 67 3c 2f 61 3e 3c 2f 6c 69 3e 0a 20 20 20 20 20 20 20 20 20 20 20 20 on.Caching</a></li>.............
94c0 3c 6c 69 3e 3c 61 20 69 64 3d 22 74 6f 63 2d 54 72 61 6e 73 6c 61 74 69 6f 6e 2d 66 61 69 6c 75 <li><a.id="toc-Translation-failu
94e0 72 65 73 22 20 68 72 65 66 3d 22 23 54 72 61 6e 73 6c 61 74 69 6f 6e 2d 66 61 69 6c 75 72 65 73 res".href="#Translation-failures
9500 22 3e 54 72 61 6e 73 6c 61 74 69 6f 6e 20 66 61 69 6c 75 72 65 73 3c 2f 61 3e 3c 2f 6c 69 3e 0a ">Translation.failures</a></li>.
9520 20 20 20 20 20 20 20 20 20 20 20 20 3c 6c 69 3e 3c 61 20 69 64 3d 22 74 6f 63 2d 43 2d 4d 61 63 ............<li><a.id="toc-C-Mac
9540 72 6f 73 22 20 68 72 65 66 3d 22 23 43 2d 4d 61 63 72 6f 73 22 3e 43 20 4d 61 63 72 6f 73 3c 2f ros".href="#C-Macros">C.Macros</
9560 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
9580 6f 63 2d 43 2d 50 6f 69 6e 74 65 72 73 22 20 68 72 65 66 3d 22 23 43 2d 50 6f 69 6e 74 65 72 73 oc-C-Pointers".href="#C-Pointers
95a0 22 3e 43 20 50 6f 69 6e 74 65 72 73 3c 2f 61 3e 3c 2f 6c 69 3e 0a 20 20 20 20 20 20 20 20 20 20 ">C.Pointers</a></li>...........
95c0 20 20 3c 6c 69 3e 3c 61 20 69 64 3d 22 74 6f 63 2d 45 78 70 6f 72 74 69 6e 67 2d 61 2d 43 2d 4c ..<li><a.id="toc-Exporting-a-C-L
95e0 69 62 72 61 72 79 22 20 68 72 65 66 3d 22 23 45 78 70 6f 72 74 69 6e 67 2d 61 2d 43 2d 4c 69 62 ibrary".href="#Exporting-a-C-Lib
9600 72 61 72 79 22 3e 45 78 70 6f 72 74 69 6e 67 20 61 20 43 20 4c 69 62 72 61 72 79 3c 2f 61 3e 3c rary">Exporting.a.C.Library</a><
9620 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-
9640 4d 69 78 69 6e 67 2d 4f 62 6a 65 63 74 2d 46 69 6c 65 73 22 20 68 72 65 66 3d 22 23 4d 69 78 69 Mixing-Object-Files".href="#Mixi
9660 6e 67 2d 4f 62 6a 65 63 74 2d 46 69 6c 65 73 22 3e 4d 69 78 69 6e 67 20 4f 62 6a 65 63 74 20 46 ng-Object-Files">Mixing.Object.F
9680 69 6c 65 73 3c 2f 61 3e 3c 2f 6c 69 3e 0a 20 20 20 20 20 20 20 20 3c 2f 75 6c 3e 3c 2f 6c 69 3e iles</a></li>.........</ul></li>
96a0 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 73 65 6d .........<li><a.id="toc-WebAssem
96c0 62 6c 79 22 20 68 72 65 66 3d 22 23 57 65 62 41 73 73 65 6d 62 6c 79 22 3e 57 65 62 41 73 73 65 bly".href="#WebAssembly">WebAsse
96e0 6d 62 6c 79 3c 2f 61 3e 0a 20 20 20 20 20 20 20 20 3c 75 6c 3e 0a 20 20 20 20 20 20 20 20 20 20 mbly</a>.........<ul>...........
9700 20 20 3c 6c 69 3e 3c 61 20 69 64 3d 22 74 6f 63 2d 46 72 65 65 73 74 61 6e 64 69 6e 67 22 20 68 ..<li><a.id="toc-Freestanding".h
9720 72 65 66 3d 22 23 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 ref="#Freestanding">Freestanding
9740 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=
9760 22 74 6f 63 2d 57 41 53 49 22 20 68 72 65 66 3d 22 23 57 41 53 49 22 3e 57 41 53 49 3c 2f 61 3e "toc-WASI".href="#WASI">WASI</a>
9780 3c 2f 6c 69 3e 0a 20 20 20 20 20 20 20 20 3c 2f 75 6c 3e 3c 2f 6c 69 3e 0a 20 20 20 20 20 20 20 </li>.........</ul></li>........
97a0 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 66 3d 22 23 .<li><a.id="toc-Targets".href="#
97c0 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 20 20 20 20 20 20 Targets">Targets</a></li>.......
97e0 20 20 3c 6c 69 3e 3c 61 20 69 64 3d 22 74 6f 63 2d 53 74 79 6c 65 2d 47 75 69 64 65 22 20 68 72 ..<li><a.id="toc-Style-Guide".hr
9800 65 66 3d 22 23 53 74 79 6c 65 2d 47 75 69 64 65 22 3e 53 74 79 6c 65 20 47 75 69 64 65 3c 2f 61 ef="#Style-Guide">Style.Guide</a
9820 3e 0a 20 20 20 20 20 20 20 20 3c 75 6c 3e 0a 20 20 20 20 20 20 20 20 20 20 20 20 3c 6c 69 3e 3c >.........<ul>.............<li><
9840 61 20 69 64 3d 22 74 6f 63 2d 57 68 69 74 65 73 70 61 63 65 22 20 68 72 65 66 3d 22 23 57 68 69 a.id="toc-Whitespace".href="#Whi
9860 74 65 73 70 61 63 65 22 3e 57 68 69 74 65 73 70 61 63 65 3c 2f 61 3e 3c 2f 6c 69 3e 0a 20 20 20 tespace">Whitespace</a></li>....
9880 20 20 20 20 20 20 20 20 20 3c 6c 69 3e 3c 61 20 69 64 3d 22 74 6f 63 2d 4e 61 6d 65 73 22 20 68 .........<li><a.id="toc-Names".h
98a0 72 65 66 3d 22 23 4e 61 6d 65 73 22 3e 4e 61 6d 65 73 3c 2f 61 3e 3c 2f 6c 69 3e 0a 20 20 20 20 ref="#Names">Names</a></li>.....
98c0 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 70 6c 65 73 22 ........<li><a.id="toc-Examples"
98e0 20 68 72 65 66 3d 22 23 45 78 61 6d 70 6c 65 73 22 3e 45 78 61 6d 70 6c 65 73 3c 2f 61 3e 3c 2f .href="#Examples">Examples</a></
9900 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 44 li>.............<li><a.id="toc-D
9920 6f 63 2d 43 6f 6d 6d 65 6e 74 2d 47 75 69 64 61 6e 63 65 22 20 68 72 65 66 3d 22 23 44 6f 63 2d oc-Comment-Guidance".href="#Doc-
9940 43 6f 6d 6d 65 6e 74 2d 47 75 69 64 61 6e 63 65 22 3e 44 6f 63 20 43 6f 6d 6d 65 6e 74 20 47 75 Comment-Guidance">Doc.Comment.Gu
9960 69 64 61 6e 63 65 3c 2f 61 3e 3c 2f 6c 69 3e 0a 20 20 20 20 20 20 20 20 3c 2f 75 6c 3e 3c 2f 6c idance</a></li>.........</ul></l
9980 69 3e 0a 20 20 20 20 20 20 20 20 3c 6c 69 3e 3c 61 20 69 64 3d 22 74 6f 63 2d 53 6f 75 72 63 65 i>.........<li><a.id="toc-Source
99a0 2d 45 6e 63 6f 64 69 6e 67 22 20 68 72 65 66 3d 22 23 53 6f 75 72 63 65 2d 45 6e 63 6f 64 69 6e -Encoding".href="#Source-Encodin
99c0 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 20 20 20 20 g">Source.Encoding</a></li>.....
99e0 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 2d 52 65 66 65 72 ....<li><a.id="toc-Keyword-Refer
9a00 65 6e 63 65 22 20 68 72 65 66 3d 22 23 4b 65 79 77 6f 72 64 2d 52 65 66 65 72 65 6e 63 65 22 3e ence".href="#Keyword-Reference">
9a20 4b 65 79 77 6f 72 64 20 52 65 66 65 72 65 6e 63 65 3c 2f 61 3e 3c 2f 6c 69 3e 0a 20 20 20 20 20 Keyword.Reference</a></li>......
9a40 20 20 20 3c 6c 69 3e 3c 61 20 69 64 3d 22 74 6f 63 2d 41 70 70 65 6e 64 69 78 22 20 68 72 65 66 ...<li><a.id="toc-Appendix".href
9a60 3d 22 23 41 70 70 65 6e 64 69 78 22 3e 41 70 70 65 6e 64 69 78 3c 2f 61 3e 0a 20 20 20 20 20 20 ="#Appendix">Appendix</a>.......
9a80 20 20 3c 75 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 ..<ul>.............<li><a.id="to
9aa0 63 2d 43 6f 6e 74 61 69 6e 65 72 73 22 20 68 72 65 66 3d 22 23 43 6f 6e 74 61 69 6e 65 72 73 22 c-Containers".href="#Containers"
9ac0 3e 43 6f 6e 74 61 69 6e 65 72 73 3c 2f 61 3e 3c 2f 6c 69 3e 0a 20 20 20 20 20 20 20 20 20 20 20 >Containers</a></li>............
9ae0 20 3c 6c 69 3e 3c 61 20 69 64 3d 22 74 6f 63 2d 47 72 61 6d 6d 61 72 22 20 68 72 65 66 3d 22 23 .<li><a.id="toc-Grammar".href="#
9b00 47 72 61 6d 6d 61 72 22 3e 47 72 61 6d 6d 61 72 3c 2f 61 3e 3c 2f 6c 69 3e 0a 20 20 20 20 20 20 Grammar">Grammar</a></li>.......
9b20 20 20 20 20 20 20 3c 6c 69 3e 3c 61 20 69 64 3d 22 74 6f 63 2d 5a 65 6e 22 20 68 72 65 66 3d 22 ......<li><a.id="toc-Zen".href="
9b40 23 5a 65 6e 22 3e 5a 65 6e 3c 2f 61 3e 3c 2f 6c 69 3e 0a 20 20 20 20 20 20 20 20 3c 2f 75 6c 3e #Zen">Zen</a></li>.........</ul>
9b60 3c 2f 6c 69 3e 0a 20 20 20 20 3c 2f 75 6c 3e 0a 0a 20 20 20 20 20 20 20 20 3c 2f 6e 61 76 3e 0a </li>.....</ul>..........</nav>.
9b80 20 20 20 20 20 20 3c 2f 64 69 76 3e 0a 20 20 20 20 20 20 3c 64 69 76 20 69 64 3d 22 63 6f 6e 74 ......</div>.......<div.id="cont
9ba0 65 6e 74 73 2d 77 72 61 70 70 65 72 22 3e 3c 6d 61 69 6e 20 69 64 3d 22 63 6f 6e 74 65 6e 74 73 ents-wrapper"><main.id="contents
9bc0 22 3e 0a 20 20 20 20 20 20 3c 68 32 20 69 64 3d 22 49 6e 74 72 6f 64 75 63 74 69 6f 6e 22 3e 3c ">.......<h2.id="Introduction"><
9be0 61 20 68 72 65 66 3d 22 23 74 6f 63 2d 49 6e 74 72 6f 64 75 63 74 69 6f 6e 22 3e 49 6e 74 72 6f a.href="#toc-Introduction">Intro
9c00 64 75 63 74 69 6f 6e 3c 2f 61 3e 20 3c 61 20 63 6c 61 73 73 3d 22 68 64 72 22 20 68 72 65 66 3d duction</a>.<a.class="hdr".href=
9c20 22 23 49 6e 74 72 6f 64 75 63 74 69 6f 6e 22 3e c2 a7 3c 2f 61 3e 3c 2f 68 32 3e 0a 0a 20 20 20 "#Introduction">..</a></h2>.....
9c40 20 20 20 3c 70 3e 0a 20 20 20 20 20 20 3c 61 20 68 72 65 66 3d 22 68 74 74 70 73 3a 2f 2f 7a 69 ...<p>.......<a.href="https://zi
9c60 67 6c 61 6e 67 2e 6f 72 67 22 3e 5a 69 67 3c 2f 61 3e 20 69 73 20 61 20 67 65 6e 65 72 61 6c 2d glang.org">Zig</a>.is.a.general-
9c80 70 75 72 70 6f 73 65 20 70 72 6f 67 72 61 6d 6d 69 6e 67 20 6c 61 6e 67 75 61 67 65 20 61 6e 64 purpose.programming.language.and
9ca0 20 74 6f 6f 6c 63 68 61 69 6e 20 66 6f 72 20 6d 61 69 6e 74 61 69 6e 69 6e 67 0a 20 20 20 20 20 .toolchain.for.maintaining......
9cc0 20 3c 73 74 72 6f 6e 67 3e 72 6f 62 75 73 74 3c 2f 73 74 72 6f 6e 67 3e 2c 20 3c 73 74 72 6f 6e .<strong>robust</strong>,.<stron
9ce0 67 3e 6f 70 74 69 6d 61 6c 3c 2f 73 74 72 6f 6e 67 3e 2c 20 61 6e 64 20 3c 73 74 72 6f 6e 67 3e g>optimal</strong>,.and.<strong>
9d00 72 65 75 73 61 62 6c 65 3c 2f 73 74 72 6f 6e 67 3e 20 73 6f 66 74 77 61 72 65 2e 0a 20 20 20 20 reusable</strong>.software......
9d20 20 20 3c 2f 70 3e 0a 20 20 20 20 20 20 3c 64 6c 3e 0a 20 20 20 20 20 20 20 20 3c 64 74 3e 52 6f ..</p>.......<dl>.........<dt>Ro
9d40 62 75 73 74 3c 2f 64 74 3e 3c 64 64 3e 42 65 68 61 76 69 6f 72 20 69 73 20 63 6f 72 72 65 63 74 bust</dt><dd>Behavior.is.correct
9d60 20 65 76 65 6e 20 66 6f 72 20 65 64 67 65 20 63 61 73 65 73 20 73 75 63 68 20 61 73 20 6f 75 74 .even.for.edge.cases.such.as.out
9d80 20 6f 66 20 6d 65 6d 6f 72 79 2e 3c 2f 64 64 3e 0a 20 20 20 20 20 20 20 20 3c 64 74 3e 4f 70 74 .of.memory.</dd>.........<dt>Opt
9da0 69 6d 61 6c 3c 2f 64 74 3e 3c 64 64 3e 57 72 69 74 65 20 70 72 6f 67 72 61 6d 73 20 74 68 65 20 imal</dt><dd>Write.programs.the.
9dc0 62 65 73 74 20 77 61 79 20 74 68 65 79 20 63 61 6e 20 62 65 68 61 76 65 20 61 6e 64 20 70 65 72 best.way.they.can.behave.and.per
9de0 66 6f 72 6d 2e 3c 2f 64 64 3e 0a 20 20 20 20 20 20 20 20 3c 64 74 3e 52 65 75 73 61 62 6c 65 3c form.</dd>.........<dt>Reusable<
9e00 2f 64 74 3e 3c 64 64 3e 54 68 65 20 73 61 6d 65 20 63 6f 64 65 20 77 6f 72 6b 73 20 69 6e 20 6d /dt><dd>The.same.code.works.in.m
9e20 61 6e 79 20 65 6e 76 69 72 6f 6e 6d 65 6e 74 73 20 77 68 69 63 68 20 68 61 76 65 20 64 69 66 66 any.environments.which.have.diff
9e40 65 72 65 6e 74 0a 20 20 20 20 20 20 20 20 20 20 63 6f 6e 73 74 72 61 69 6e 74 73 2e 3c 2f 64 64 erent...........constraints.</dd
9e60 3e 0a 20 20 20 20 20 20 20 20 3c 64 74 3e 4d 61 69 6e 74 61 69 6e 61 62 6c 65 3c 2f 64 74 3e 3c >.........<dt>Maintainable</dt><
9e80 64 64 3e 50 72 65 63 69 73 65 6c 79 20 63 6f 6d 6d 75 6e 69 63 61 74 65 20 69 6e 74 65 6e 74 20 dd>Precisely.communicate.intent.
9ea0 74 6f 20 74 68 65 20 63 6f 6d 70 69 6c 65 72 20 61 6e 64 0a 20 20 20 20 20 20 20 20 20 20 6f 74 to.the.compiler.and...........ot
9ec0 68 65 72 20 70 72 6f 67 72 61 6d 6d 65 72 73 2e 20 54 68 65 20 6c 61 6e 67 75 61 67 65 20 69 6d her.programmers..The.language.im
9ee0 70 6f 73 65 73 20 61 20 6c 6f 77 20 6f 76 65 72 68 65 61 64 20 74 6f 20 72 65 61 64 69 6e 67 20 poses.a.low.overhead.to.reading.
9f00 63 6f 64 65 20 61 6e 64 20 69 73 0a 20 20 20 20 20 20 20 20 20 20 72 65 73 69 6c 69 65 6e 74 20 code.and.is...........resilient.
9f20 74 6f 20 63 68 61 6e 67 69 6e 67 20 72 65 71 75 69 72 65 6d 65 6e 74 73 20 61 6e 64 20 65 6e 76 to.changing.requirements.and.env
9f40 69 72 6f 6e 6d 65 6e 74 73 2e 3c 2f 64 64 3e 0a 20 20 20 20 20 20 3c 2f 64 6c 3e 0a 20 20 20 20 ironments.</dd>.......</dl>.....
9f60 20 20 3c 70 3e 0a 20 20 20 20 20 20 4f 66 74 65 6e 20 74 68 65 20 6d 6f 73 74 20 65 66 66 69 63 ..<p>.......Often.the.most.effic
9f80 69 65 6e 74 20 77 61 79 20 74 6f 20 6c 65 61 72 6e 20 73 6f 6d 65 74 68 69 6e 67 20 6e 65 77 20 ient.way.to.learn.something.new.
9fa0 69 73 20 74 6f 20 73 65 65 20 65 78 61 6d 70 6c 65 73 2c 20 73 6f 0a 20 20 20 20 20 20 74 68 69 is.to.see.examples,.so.......thi
9fc0 73 20 64 6f 63 75 6d 65 6e 74 61 74 69 6f 6e 20 73 68 6f 77 73 20 68 6f 77 20 74 6f 20 75 73 65 s.documentation.shows.how.to.use
9fe0 20 65 61 63 68 20 6f 66 20 5a 69 67 27 73 20 66 65 61 74 75 72 65 73 2e 20 49 74 20 69 73 0a 20 .each.of.Zig's.features..It.is..
a000 20 20 20 20 20 61 6c 6c 20 6f 6e 20 6f 6e 65 20 70 61 67 65 20 73 6f 20 79 6f 75 20 63 61 6e 20 .....all.on.one.page.so.you.can.
a020 73 65 61 72 63 68 20 77 69 74 68 20 79 6f 75 72 20 62 72 6f 77 73 65 72 27 73 20 73 65 61 72 63 search.with.your.browser's.searc
a040 68 20 74 6f 6f 6c 2e 0a 20 20 20 20 20 20 3c 2f 70 3e 0a 20 20 20 20 20 20 3c 70 3e 0a 20 20 20 h.tool........</p>.......<p>....
a060 20 20 20 54 68 65 20 63 6f 64 65 20 73 61 6d 70 6c 65 73 20 69 6e 20 74 68 69 73 20 64 6f 63 75 ...The.code.samples.in.this.docu
a080 6d 65 6e 74 20 61 72 65 20 63 6f 6d 70 69 6c 65 64 20 61 6e 64 20 74 65 73 74 65 64 20 61 73 20 ment.are.compiled.and.tested.as.
a0a0 70 61 72 74 20 6f 66 20 74 68 65 20 6d 61 69 6e 20 74 65 73 74 20 73 75 69 74 65 20 6f 66 20 5a part.of.the.main.test.suite.of.Z
a0c0 69 67 2e 0a 20 20 20 20 20 20 3c 2f 70 3e 0a 20 20 20 20 20 20 3c 70 3e 0a 20 20 20 20 20 20 54 ig........</p>.......<p>.......T
a0e0 68 69 73 20 48 54 4d 4c 20 64 6f 63 75 6d 65 6e 74 20 64 65 70 65 6e 64 73 20 6f 6e 20 6e 6f 20 his.HTML.document.depends.on.no.
a100 65 78 74 65 72 6e 61 6c 20 66 69 6c 65 73 2c 20 73 6f 20 79 6f 75 20 63 61 6e 20 75 73 65 20 69 external.files,.so.you.can.use.i
a120 74 20 6f 66 66 6c 69 6e 65 2e 0a 20 20 20 20 20 20 3c 2f 70 3e 0a 20 20 20 20 20 20 0a 0a 20 20 t.offline........</p>...........
a140 20 20 20 20 3c 68 32 20 69 64 3d 22 5a 69 67 2d 53 74 61 6e 64 61 72 64 2d 4c 69 62 72 61 72 79 ....<h2.id="Zig-Standard-Library
a160 22 3e 3c 61 20 68 72 65 66 3d 22 23 74 6f 63 2d 5a 69 67 2d 53 74 61 6e 64 61 72 64 2d 4c 69 62 "><a.href="#toc-Zig-Standard-Lib
a180 72 61 72 79 22 3e 5a 69 67 20 53 74 61 6e 64 61 72 64 20 4c 69 62 72 61 72 79 3c 2f 61 3e 20 3c rary">Zig.Standard.Library</a>.<
a1a0 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 53 74 61 6e 64 61 72 a.class="hdr".href="#Zig-Standar
a1c0 64 2d 4c 69 62 72 61 72 79 22 3e c2 a7 3c 2f 61 3e 3c 2f 68 32 3e 0a 0a 20 20 20 20 20 20 3c 70 d-Library">..</a></h2>........<p
a1e0 3e 0a 20 20 20 20 20 20 20 20 54 68 65 20 3c 61 20 68 72 65 66 3d 22 68 74 74 70 73 3a 2f 2f 7a >.........The.<a.href="https://z
a200 69 67 6c 61 6e 67 2e 6f 72 67 2f 64 6f 63 75 6d 65 6e 74 61 74 69 6f 6e 2f 30 2e 31 30 2e 31 2f iglang.org/documentation/0.10.1/
a220 73 74 64 2f 22 3e 5a 69 67 20 53 74 61 6e 64 61 72 64 20 4c 69 62 72 61 72 79 3c 2f 61 3e 20 68 std/">Zig.Standard.Library</a>.h
a240 61 73 20 69 74 73 20 6f 77 6e 20 64 6f 63 75 6d 65 6e 74 61 74 69 6f 6e 2e 0a 20 20 20 20 20 20 as.its.own.documentation........
a260 3c 2f 70 3e 0a 20 20 20 20 20 20 3c 70 3e 0a 20 20 20 20 20 20 20 20 5a 69 67 27 73 20 53 74 61 </p>.......<p>.........Zig's.Sta
a280 6e 64 61 72 64 20 4c 69 62 72 61 72 79 20 63 6f 6e 74 61 69 6e 73 20 63 6f 6d 6d 6f 6e 6c 79 20 ndard.Library.contains.commonly.
a2a0 75 73 65 64 20 61 6c 67 6f 72 69 74 68 6d 73 2c 20 64 61 74 61 20 73 74 72 75 63 74 75 72 65 73 used.algorithms,.data.structures
a2c0 2c 20 61 6e 64 20 64 65 66 69 6e 69 74 69 6f 6e 73 20 74 6f 20 68 65 6c 70 20 79 6f 75 20 62 75 ,.and.definitions.to.help.you.bu
a2e0 69 6c 64 20 70 72 6f 67 72 61 6d 73 20 6f 72 20 6c 69 62 72 61 72 69 65 73 2e 0a 20 20 20 20 20 ild.programs.or.libraries.......
a300 20 20 20 59 6f 75 20 77 69 6c 6c 20 73 65 65 20 6d 61 6e 79 20 65 78 61 6d 70 6c 65 73 20 6f 66 ...You.will.see.many.examples.of
a320 20 5a 69 67 27 73 20 53 74 61 6e 64 61 72 64 20 4c 69 62 72 61 72 79 20 75 73 65 64 20 69 6e 20 .Zig's.Standard.Library.used.in.
a340 74 68 69 73 20 64 6f 63 75 6d 65 6e 74 61 74 69 6f 6e 2e 20 54 6f 20 6c 65 61 72 6e 20 6d 6f 72 this.documentation..To.learn.mor
a360 65 20 61 62 6f 75 74 20 74 68 65 20 5a 69 67 20 53 74 61 6e 64 61 72 64 20 4c 69 62 72 61 72 79 e.about.the.Zig.Standard.Library
a380 2c 0a 20 20 20 20 20 20 20 20 76 69 73 69 74 20 74 68 65 20 6c 69 6e 6b 20 61 62 6f 76 65 2e 0a ,.........visit.the.link.above..
a3a0 20 20 20 20 20 20 3c 2f 70 3e 0a 20 20 20 20 20 20 0a 0a 20 20 20 20 20 20 3c 68 32 20 69 64 3d ......</p>...............<h2.id=
a3c0 22 48 65 6c 6c 6f 2d 57 6f 72 6c 64 22 3e 3c 61 20 68 72 65 66 3d 22 23 74 6f 63 2d 48 65 6c 6c "Hello-World"><a.href="#toc-Hell
a3e0 6f 2d 57 6f 72 6c 64 22 3e 48 65 6c 6c 6f 20 57 6f 72 6c 64 3c 2f 61 3e 20 3c 61 20 63 6c 61 73 o-World">Hello.World</a>.<a.clas
a400 73 3d 22 68 64 72 22 20 68 72 65 66 3d 22 23 48 65 6c 6c 6f 2d 57 6f 72 6c 64 22 3e c2 a7 3c 2f s="hdr".href="#Hello-World">..</
a420 61 3e 3c 2f 68 32 3e 0a 0a 0a 20 20 20 20 20 20 3c 66 69 67 75 72 65 3e 3c 66 69 67 63 61 70 74 a></h2>.........<figure><figcapt
a440 69 6f 6e 20 63 6c 61 73 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=
a460 22 66 69 6c 65 22 3e 68 65 6c 6c 6f 2e 7a 69 67 3c 2f 63 69 74 65 3e 3c 2f 66 69 67 63 61 70 74 "file">hello.zig</cite></figcapt
a480 69 6f 6e 3e 3c 70 72 65 3e 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 ion><pre><code><span.class="line
a4a0 22 3e 3c 73 70 61 6e 20 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
a4c0 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
a4e0 69 6e 22 3e 40 69 6d 70 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="
a500 74 6f 6b 2d 73 74 72 22 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>)
a520 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 2f 73 70 ;</span>.<span.class="line"></sp
a540 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 an>.<span.class="line"><span.cla
a560 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
a580 73 73 3d 22 74 6f 6b 2d 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
a5a0 73 3d 22 74 6f 6b 2d 66 6e 22 3e 6d 61 69 6e 3c 2f 73 70 61 6e 3e 28 29 20 21 3c 73 70 61 6e 20 s="tok-fn">main</span>().!<span.
a5c0 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 76 6f 69 64 3c 2f 73 70 61 6e 3e 20 7b 3c 2f class="tok-type">void</span>.{</
a5e0 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 3c 73 70 span>.<span.class="line">....<sp
a600 61 6e 20 63 6c 61 73 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
a620 74 64 6f 75 74 20 3d 20 73 74 64 2e 69 6f 2e 67 65 74 53 74 64 4f 75 74 28 29 2e 77 72 69 74 65 tdout.=.std.io.getStdOut().write
a640 72 28 29 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 r();</span>.<span.class="line">.
a660 20 20 20 3c 73 70 61 6e 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
a680 6e 3e 20 73 74 64 6f 75 74 2e 70 72 69 6e 74 28 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b n>.stdout.print(<span.class="tok
a6a0 2d 73 74 72 22 3e 26 71 75 6f 74 3b 48 65 6c 6c 6f 2c 20 7b 73 7d 21 5c 6e 26 71 75 6f 74 3b 3c -str">&quot;Hello,.{s}!\n&quot;<
a6c0 2f 73 70 61 6e 3e 2c 20 2e 7b 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 73 74 72 22 3e /span>,..{<span.class="tok-str">
a6e0 26 71 75 6f 74 3b 77 6f 72 6c 64 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 7d 29 3b 3c 2f 73 70 61 &quot;world&quot;</span>});</spa
a700 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 7d 3c 2f 73 70 61 6e 3e 3c 2f n>.<span.class="line">}</span></
a720 63 6f 64 65 3e 3c 2f 70 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
a740 63 61 70 74 69 6f 6e 20 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<
a760 2f 66 69 67 63 61 70 74 69 6f 6e 3e 3c 70 72 65 3e 3c 73 61 6d 70 3e 3c 73 70 61 6e 20 63 6c 61 /figcaption><pre><samp><span.cla
a780 73 73 3d 22 6c 69 6e 65 22 3e 24 20 3c 6b 62 64 3e 7a 69 67 20 62 75 69 6c 64 2d 65 78 65 20 68 ss="line">$.<kbd>zig.build-exe.h
a7a0 65 6c 6c 6f 2e 7a 69 67 3c 2f 6b 62 64 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 ello.zig</kbd></span>.<span.clas
a7c0 73 3d 22 6c 69 6e 65 22 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 s="line"></span>.<span.class="li
a7e0 6e 65 22 3e 24 20 3c 6b 62 64 3e 2e 2f 68 65 6c 6c 6f 3c 2f 6b 62 64 3e 3c 2f 73 70 61 6e 3e 0a ne">$.<kbd>./hello</kbd></span>.
a800 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 48 65 6c 6c 6f 2c 20 77 6f 72 6c 64 21 <span.class="line">Hello,.world!
a820 3c 2f 73 70 61 6e 3e 0a 3c 2f 73 61 6d 70 3e 3c 2f 70 72 65 3e 3c 2f 66 69 67 75 72 65 3e 0a 20 </span>.</samp></pre></figure>..
a840 20 20 20 20 20 3c 70 3e 0a 20 20 20 20 20 20 20 20 54 68 65 20 5a 69 67 20 63 6f 64 65 20 73 61 .....<p>.........The.Zig.code.sa
a860 6d 70 6c 65 20 61 62 6f 76 65 20 64 65 6d 6f 6e 73 74 72 61 74 65 73 20 6f 6e 65 20 77 61 79 20 mple.above.demonstrates.one.way.
a880 74 6f 20 63 72 65 61 74 65 20 61 20 70 72 6f 67 72 61 6d 20 74 68 61 74 20 77 69 6c 6c 20 6f 75 to.create.a.program.that.will.ou
a8a0 74 70 75 74 3a 20 3c 73 61 6d 70 3e 48 65 6c 6c 6f 2c 20 77 6f 72 6c 64 21 3c 2f 73 61 6d 70 3e tput:.<samp>Hello,.world!</samp>
a8c0 2e 0a 20 20 20 20 20 20 3c 2f 70 3e 0a 20 20 20 20 20 20 3c 70 3e 0a 20 20 20 20 20 20 20 20 54 ........</p>.......<p>.........T
a8e0 68 65 20 63 6f 64 65 20 73 61 6d 70 6c 65 20 73 68 6f 77 73 20 74 68 65 20 63 6f 6e 74 65 6e 74 he.code.sample.shows.the.content
a900 73 20 6f 66 20 61 20 66 69 6c 65 20 6e 61 6d 65 64 20 3c 63 6f 64 65 20 63 6c 61 73 73 3d 22 66 s.of.a.file.named.<code.class="f
a920 69 6c 65 22 3e 68 65 6c 6c 6f 2e 7a 69 67 3c 2f 63 6f 64 65 3e 2e 20 46 69 6c 65 73 20 73 74 6f ile">hello.zig</code>..Files.sto
a940 72 69 6e 67 20 5a 69 67 0a 20 20 20 20 20 20 20 20 73 6f 75 72 63 65 20 63 6f 64 65 20 61 72 65 ring.Zig.........source.code.are
a960 20 3c 61 20 68 72 65 66 3d 22 23 53 6f 75 72 63 65 2d 45 6e 63 6f 64 69 6e 67 22 3e 55 54 46 2d .<a.href="#Source-Encoding">UTF-
a980 38 20 65 6e 63 6f 64 65 64 3c 2f 61 3e 20 74 65 78 74 20 66 69 6c 65 73 2e 20 54 68 65 20 66 69 8.encoded</a>.text.files..The.fi
a9a0 6c 65 73 20 73 74 6f 72 69 6e 67 0a 20 20 20 20 20 20 20 20 5a 69 67 20 73 6f 75 72 63 65 20 63 les.storing.........Zig.source.c
a9c0 6f 64 65 20 61 72 65 20 75 73 75 61 6c 6c 79 20 6e 61 6d 65 64 20 77 69 74 68 20 74 68 65 20 3c ode.are.usually.named.with.the.<
a9e0 63 6f 64 65 20 63 6c 61 73 73 3d 22 66 69 6c 65 22 3e 3c 65 6d 3e 2e 7a 69 67 3c 2f 65 6d 3e 3c code.class="file"><em>.zig</em><
aa00 2f 63 6f 64 65 3e 20 65 78 74 65 6e 73 69 6f 6e 2e 0a 20 20 20 20 20 20 3c 2f 70 3e 0a 20 20 20 /code>.extension........</p>....
aa20 20 20 20 3c 70 3e 0a 20 20 20 20 20 20 20 20 46 6f 6c 6c 6f 77 69 6e 67 20 74 68 65 20 3c 63 6f ...<p>.........Following.the.<co
aa40 64 65 20 63 6c 61 73 73 3d 22 66 69 6c 65 22 3e 68 65 6c 6c 6f 2e 7a 69 67 3c 2f 63 6f 64 65 3e de.class="file">hello.zig</code>
aa60 20 5a 69 67 20 63 6f 64 65 20 73 61 6d 70 6c 65 2c 20 74 68 65 20 3c 61 20 68 72 65 66 3d 22 23 .Zig.code.sample,.the.<a.href="#
aa80 5a 69 67 2d 42 75 69 6c 64 2d 53 79 73 74 65 6d 22 3e 5a 69 67 20 42 75 69 6c 64 20 53 79 73 74 Zig-Build-System">Zig.Build.Syst
aaa0 65 6d 3c 2f 61 3e 20 69 73 20 75 73 65 64 0a 20 20 20 20 20 20 20 20 74 6f 20 62 75 69 6c 64 20 em</a>.is.used.........to.build.
aac0 61 6e 20 65 78 65 63 75 74 61 62 6c 65 20 70 72 6f 67 72 61 6d 20 66 72 6f 6d 20 74 68 65 20 3c an.executable.program.from.the.<
aae0 63 6f 64 65 20 63 6c 61 73 73 3d 22 66 69 6c 65 22 3e 68 65 6c 6c 6f 2e 7a 69 67 3c 2f 63 6f 64 code.class="file">hello.zig</cod
ab00 65 3e 20 73 6f 75 72 63 65 20 63 6f 64 65 2e 20 54 68 65 6e 2c 20 74 68 65 0a 20 20 20 20 20 20 e>.source.code..Then,.the.......
ab20 20 20 3c 63 6f 64 65 20 63 6c 61 73 73 3d 22 66 69 6c 65 22 3e 68 65 6c 6c 6f 3c 2f 63 6f 64 65 ..<code.class="file">hello</code
ab40 3e 20 70 72 6f 67 72 61 6d 20 69 73 20 65 78 65 63 75 74 65 64 20 73 68 6f 77 69 6e 67 20 69 74 >.program.is.executed.showing.it
ab60 73 20 6f 75 74 70 75 74 20 3c 73 61 6d 70 3e 48 65 6c 6c 6f 2c 20 77 6f 72 6c 64 21 3c 2f 73 61 s.output.<samp>Hello,.world!</sa
ab80 6d 70 3e 2e 20 54 68 65 0a 20 20 20 20 20 20 20 20 6c 69 6e 65 73 20 62 65 67 69 6e 6e 69 6e 67 mp>..The.........lines.beginning
aba0 20 77 69 74 68 20 3c 73 61 6d 70 3e 24 3c 2f 73 61 6d 70 3e 20 72 65 70 72 65 73 65 6e 74 20 63 .with.<samp>$</samp>.represent.c
abc0 6f 6d 6d 61 6e 64 20 6c 69 6e 65 20 70 72 6f 6d 70 74 73 20 61 6e 64 20 61 20 63 6f 6d 6d 61 6e ommand.line.prompts.and.a.comman
abe0 64 2e 0a 20 20 20 20 20 20 20 20 45 76 65 72 79 74 68 69 6e 67 20 65 6c 73 65 20 69 73 20 70 72 d..........Everything.else.is.pr
ac00 6f 67 72 61 6d 20 6f 75 74 70 75 74 2e 0a 20 20 20 20 20 20 3c 2f 70 3e 0a 20 20 20 20 20 20 3c ogram.output........</p>.......<
ac20 70 3e 0a 20 20 20 20 20 20 20 20 54 68 65 20 63 6f 64 65 20 73 61 6d 70 6c 65 20 62 65 67 69 6e p>.........The.code.sample.begin
ac40 73 20 62 79 20 61 64 64 69 6e 67 20 74 68 65 20 3c 61 20 68 72 65 66 3d 22 23 5a 69 67 2d 53 74 s.by.adding.the.<a.href="#Zig-St
ac60 61 6e 64 61 72 64 2d 4c 69 62 72 61 72 79 22 3e 5a 69 67 20 53 74 61 6e 64 61 72 64 20 4c 69 62 andard-Library">Zig.Standard.Lib
ac80 72 61 72 79 3c 2f 61 3e 20 74 6f 20 74 68 65 20 62 75 69 6c 64 20 75 73 69 6e 67 20 74 68 65 20 rary</a>.to.the.build.using.the.
aca0 3c 61 20 68 72 65 66 3d 22 23 69 6d 70 6f 72 74 22 3e 40 69 6d 70 6f 72 74 3c 2f 61 3e 20 62 75 <a.href="#import">@import</a>.bu
acc0 69 6c 74 69 6e 20 66 75 6e 63 74 69 6f 6e 2e 0a 20 20 20 20 20 20 20 20 54 68 65 20 3c 63 6f 64 iltin.function..........The.<cod
ace0 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 e><span.class="line"><span.class
ad00 3d 22 74 6f 6b 2d 62 75 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
ad20 70 61 6e 20 63 6c 61 73 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
ad40 6f 74 3b 3c 2f 73 70 61 6e 3e 29 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 20 66 75 6e 63 74 69 ot;</span>)</span></code>.functi
ad60 6f 6e 20 63 61 6c 6c 20 63 72 65 61 74 65 73 20 61 20 73 74 72 75 63 74 75 72 65 20 74 68 61 74 on.call.creates.a.structure.that
ad80 20 72 65 70 72 65 73 65 6e 74 73 20 74 68 65 20 5a 69 67 20 53 74 61 6e 64 61 72 64 20 4c 69 62 .represents.the.Zig.Standard.Lib
ada0 72 61 72 79 2e 0a 20 20 20 20 20 20 20 20 54 68 65 20 63 6f 64 65 20 74 68 65 6e 20 3c 61 20 68 rary..........The.code.then.<a.h
adc0 72 65 66 3d 22 23 43 6f 6e 74 61 69 6e 65 72 2d 4c 65 76 65 6c 2d 56 61 72 69 61 62 6c 65 73 22 ref="#Container-Level-Variables"
ade0 3e 64 65 63 6c 61 72 65 73 3c 2f 61 3e 20 61 0a 20 20 20 20 20 20 20 20 3c 61 20 68 72 65 66 3d >declares</a>.a.........<a.href=
ae00 22 23 41 73 73 69 67 6e 6d 65 6e 74 22 3e 63 6f 6e 73 74 61 6e 74 20 69 64 65 6e 74 69 66 69 65 "#Assignment">constant.identifie
ae20 72 3c 2f 61 3e 2c 20 6e 61 6d 65 64 20 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 r</a>,.named.<code><span.class="
ae40 6c 69 6e 65 22 3e 73 74 64 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 2c 20 74 68 61 74 20 67 69 line">std</span></code>,.that.gi
ae60 76 65 73 20 61 63 63 65 73 73 20 74 6f 20 74 68 65 20 66 65 61 74 75 72 65 73 20 6f 66 20 74 68 ves.access.to.the.features.of.th
ae80 65 20 5a 69 67 20 53 74 61 6e 64 61 72 64 20 4c 69 62 72 61 72 79 2e 0a 20 20 20 20 20 20 3c 2f e.Zig.Standard.Library........</
aea0 70 3e 0a 20 20 20 20 20 20 3c 70 3e 0a 20 20 20 20 20 20 20 20 4e 65 78 74 2c 20 61 20 3c 61 20 p>.......<p>.........Next,.a.<a.
aec0 68 72 65 66 3d 22 23 46 75 6e 63 74 69 6f 6e 73 22 3e 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f href="#Functions">public.functio
aee0 6e 3c 2f 61 3e 2c 20 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e n</a>,.<code><span.class="line">
af00 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>.
af20 3c 73 70 61 6e 20 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 <span.class="tok-kw">fn</span></
af40 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 2c 20 6e 61 6d 65 64 20 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 span></code>,.named.<code><span.
af60 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 6d 61 69 6e 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 0a class="line">main</span></code>.
af80 20 20 20 20 20 20 20 20 69 73 20 64 65 63 6c 61 72 65 64 2e 20 54 68 65 20 3c 63 6f 64 65 3e 3c ........is.declared..The.<code><
afa0 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 6d 61 69 6e 3c 2f 73 70 61 6e 3e 3c 2f 63 span.class="line">main</span></c
afc0 6f 64 65 3e 20 66 75 6e 63 74 69 6f 6e 20 69 73 20 6e 65 63 65 73 73 61 72 79 20 62 65 63 61 75 ode>.function.is.necessary.becau
afe0 73 65 20 69 74 20 74 65 6c 6c 73 20 74 68 65 20 5a 69 67 20 63 6f 6d 70 69 6c 65 72 20 77 68 65 se.it.tells.the.Zig.compiler.whe
b000 72 65 20 74 68 65 20 73 74 61 72 74 20 6f 66 0a 20 20 20 20 20 20 20 20 74 68 65 20 70 72 6f 67 re.the.start.of.........the.prog
b020 72 61 6d 20 65 78 69 73 74 73 2e 20 50 72 6f 67 72 61 6d 73 20 64 65 73 69 67 6e 65 64 20 74 6f ram.exists..Programs.designed.to
b040 20 62 65 20 65 78 65 63 75 74 65 64 20 77 69 6c 6c 20 6e 65 65 64 20 61 20 3c 63 6f 64 65 3e 3c .be.executed.will.need.a.<code><
b060 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 span.class="line"><span.class="t
b080 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
b0a0 6f 6b 2d 6b 77 22 3e 66 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
b0c0 6b 2d 66 6e 22 3e 6d 61 69 6e 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 20 k-fn">main</span></span></code>.
b0e0 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 61 73 69 64 function........</p>.......<asid
b100 65 20 72 6f 6c 65 3d 22 6e 6f 74 65 22 20 61 72 69 61 2d 6c 61 62 65 6c 3d 22 4e 6f 74 65 20 61 e.role="note".aria-label="Note.a
b120 62 6f 75 74 20 6d 61 69 6e 20 66 75 6e 63 74 69 6f 6e 22 3e 0a 20 20 20 20 20 20 20 20 3c 70 3e bout.main.function">.........<p>
b140 0a 20 20 20 20 20 20 20 20 20 20 46 6f 72 20 6d 6f 72 65 20 61 64 76 61 6e 63 65 64 20 75 73 65 ...........For.more.advanced.use
b160 20 63 61 73 65 73 2c 20 5a 69 67 20 6f 66 66 65 72 73 20 6f 74 68 65 72 20 66 65 61 74 75 72 65 .cases,.Zig.offers.other.feature
b180 73 20 74 6f 20 69 6e 66 6f 72 6d 20 74 68 65 20 63 6f 6d 70 69 6c 65 72 20 77 68 65 72 65 20 74 s.to.inform.the.compiler.where.t
b1a0 68 65 20 73 74 61 72 74 20 6f 66 0a 20 20 20 20 20 20 20 20 20 20 74 68 65 20 70 72 6f 67 72 61 he.start.of...........the.progra
b1c0 6d 20 65 78 69 73 74 73 2e 20 41 6c 73 6f 2c 20 6c 69 62 72 61 72 69 65 73 20 64 6f 20 6e 6f 74 m.exists..Also,.libraries.do.not
b1e0 20 6e 65 65 64 20 61 20 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 .need.a.<code><span.class="line"
b200 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 70 75 62 3c 2f 73 70 61 6e 3e ><span.class="tok-kw">pub</span>
b220 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>.
b240 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>
b260 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 20 66 75 6e 63 74 69 6f 6e 20 62 65 63 61 75 73 65 0a </span></code>.function.because.
b280 20 20 20 20 20 20 20 20 20 20 6c 69 62 72 61 72 79 20 63 6f 64 65 20 69 73 20 63 61 6c 6c 65 64 ..........library.code.is.called
b2a0 20 62 79 20 6f 74 68 65 72 20 70 72 6f 67 72 61 6d 73 20 6f 72 20 6c 69 62 72 61 72 69 65 73 2e .by.other.programs.or.libraries.
b2c0 0a 20 20 20 20 20 20 20 20 3c 2f 70 3e 0a 20 20 20 20 20 20 3c 2f 61 73 69 64 65 3e 0a 20 20 20 .........</p>.......</aside>....
b2e0 20 20 20 3c 70 3e 0a 20 20 20 20 20 20 20 20 41 20 66 75 6e 63 74 69 6f 6e 20 69 73 20 61 20 62 ...<p>.........A.function.is.a.b
b300 6c 6f 63 6b 20 6f 66 20 61 6e 79 20 6e 75 6d 62 65 72 20 6f 66 20 73 74 61 74 65 6d 65 6e 74 73 lock.of.any.number.of.statements
b320 20 61 6e 64 20 65 78 70 72 65 73 73 69 6f 6e 73 20 74 68 61 74 2c 20 61 73 20 61 20 77 68 6f 6c .and.expressions.that,.as.a.whol
b340 65 2c 20 70 65 72 66 6f 72 6d 20 61 20 74 61 73 6b 2e 0a 20 20 20 20 20 20 20 20 46 75 6e 63 74 e,.perform.a.task..........Funct
b360 69 6f 6e 73 20 6d 61 79 20 6f 72 20 6d 61 79 20 6e 6f 74 20 72 65 74 75 72 6e 20 64 61 74 61 20 ions.may.or.may.not.return.data.
b380 61 66 74 65 72 20 74 68 65 79 20 61 72 65 20 64 6f 6e 65 20 70 65 72 66 6f 72 6d 69 6e 67 20 74 after.they.are.done.performing.t
b3a0 68 65 69 72 20 74 61 73 6b 2e 20 49 66 20 61 20 66 75 6e 63 74 69 6f 6e 0a 20 20 20 20 20 20 20 heir.task..If.a.function........
b3c0 20 63 61 6e 6e 6f 74 20 70 65 72 66 6f 72 6d 20 69 74 73 20 74 61 73 6b 2c 20 69 74 20 6d 69 67 .cannot.perform.its.task,.it.mig
b3e0 68 74 20 72 65 74 75 72 6e 20 61 6e 20 65 72 72 6f 72 2e 20 5a 69 67 20 6d 61 6b 65 73 20 61 6c ht.return.an.error..Zig.makes.al
b400 6c 20 6f 66 20 74 68 69 73 20 65 78 70 6c 69 63 69 74 2e 0a 20 20 20 20 20 20 3c 2f 70 3e 0a 20 l.of.this.explicit........</p>..
b420 20 20 20 20 20 3c 70 3e 0a 20 20 20 20 20 20 20 20 49 6e 20 74 68 65 20 3c 63 6f 64 65 20 63 6c .....<p>.........In.the.<code.cl
b440 61 73 73 3d 22 66 69 6c 65 22 3e 68 65 6c 6c 6f 2e 7a 69 67 3c 2f 63 6f 64 65 3e 20 63 6f 64 65 ass="file">hello.zig</code>.code
b460 20 73 61 6d 70 6c 65 2c 20 74 68 65 20 3c 63 6f 64 65 3e 6d 61 69 6e 3c 2f 63 6f 64 65 3e 20 66 .sample,.the.<code>main</code>.f
b480 75 6e 63 74 69 6f 6e 20 69 73 20 64 65 63 6c 61 72 65 64 0a 20 20 20 20 20 20 20 20 77 69 74 68 unction.is.declared.........with
b4a0 20 74 68 65 20 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 21 3c .the.<code><span.class="line">!<
b4c0 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
b4e0 3e 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 20 72 65 74 75 72 6e 20 74 79 70 65 2e 20 54 68 69 ></span></code>.return.type..Thi
b500 73 20 72 65 74 75 72 6e 20 74 79 70 65 20 69 73 20 6b 6e 6f 77 6e 20 61 73 20 61 6e 20 3c 61 20 s.return.type.is.known.as.an.<a.
b520 68 72 65 66 3d 22 23 45 72 72 6f 72 2d 55 6e 69 6f 6e 2d 54 79 70 65 22 3e 45 72 72 6f 72 20 55 href="#Error-Union-Type">Error.U
b540 6e 69 6f 6e 20 54 79 70 65 3c 2f 61 3e 2e 0a 20 20 20 20 20 20 20 20 54 68 69 73 20 73 79 6e 74 nion.Type</a>..........This.synt
b560 61 78 20 74 65 6c 6c 73 20 74 68 65 20 5a 69 67 20 63 6f 6d 70 69 6c 65 72 20 74 68 61 74 20 74 ax.tells.the.Zig.compiler.that.t
b580 68 65 20 66 75 6e 63 74 69 6f 6e 20 77 69 6c 6c 20 65 69 74 68 65 72 20 72 65 74 75 72 6e 20 61 he.function.will.either.return.a
b5a0 6e 0a 20 20 20 20 20 20 20 20 65 72 72 6f 72 20 6f 72 20 61 20 76 61 6c 75 65 2e 20 41 6e 20 65 n.........error.or.a.value..An.e
b5c0 72 72 6f 72 20 75 6e 69 6f 6e 20 74 79 70 65 20 63 6f 6d 62 69 6e 65 73 20 61 6e 20 3c 61 20 68 rror.union.type.combines.an.<a.h
b5e0 72 65 66 3d 22 23 45 72 72 6f 72 2d 53 65 74 2d 54 79 70 65 22 3e 45 72 72 6f 72 20 53 65 74 20 ref="#Error-Set-Type">Error.Set.
b600 54 79 70 65 3c 2f 61 3e 20 61 6e 64 20 61 6e 79 20 6f 74 68 65 72 20 64 61 74 61 20 74 79 70 65 Type</a>.and.any.other.data.type
b620 0a 20 20 20 20 20 20 20 20 28 65 2e 67 2e 20 61 20 3c 61 20 68 72 65 66 3d 22 23 50 72 69 6d 69 .........(e.g..a.<a.href="#Primi
b640 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 3c 2f 61 3e 20 6f tive-Types">Primitive.Type</a>.o
b660 72 20 61 20 75 73 65 72 2d 64 65 66 69 6e 65 64 20 74 79 70 65 20 73 75 63 68 20 61 73 20 61 20 r.a.user-defined.type.such.as.a.
b680 3c 61 20 68 72 65 66 3d 22 23 73 74 72 75 63 74 22 3e 73 74 72 75 63 74 3c 2f 61 3e 2c 20 3c 61 <a.href="#struct">struct</a>,.<a
b6a0 20 68 72 65 66 3d 22 23 65 6e 75 6d 22 3e 65 6e 75 6d 3c 2f 61 3e 2c 20 6f 72 20 3c 61 20 68 72 .href="#enum">enum</a>,.or.<a.hr
b6c0 65 66 3d 22 23 75 6e 69 6f 6e 22 3e 75 6e 69 6f 6e 3c 2f 61 3e 29 2e 0a 20 20 20 20 20 20 20 20 ef="#union">union</a>)..........
b6e0 54 68 65 20 66 75 6c 6c 20 66 6f 72 6d 20 6f 66 20 61 6e 20 65 72 72 6f 72 20 75 6e 69 6f 6e 20 The.full.form.of.an.error.union.
b700 74 79 70 65 20 69 73 0a 20 20 20 20 20 20 20 20 3c 63 6f 64 65 3e 26 6c 74 3b 65 72 72 6f 72 20 type.is.........<code>&lt;error.
b720 73 65 74 20 74 79 70 65 26 67 74 3b 3c 2f 63 6f 64 65 3e 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 set.type&gt;</code><code><span.c
b740 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 21 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 3c 63 6f 64 65 lass="line">!</span></code><code
b760 3e 26 6c 74 3b 61 6e 79 20 64 61 74 61 20 74 79 70 65 26 67 74 3b 3c 2f 63 6f 64 65 3e 2e 20 49 >&lt;any.data.type&gt;</code>..I
b780 6e 20 74 68 65 20 63 6f 64 65 0a 20 20 20 20 20 20 20 20 73 61 6d 70 6c 65 2c 20 74 68 65 20 65 n.the.code.........sample,.the.e
b7a0 72 72 6f 72 20 73 65 74 20 74 79 70 65 20 69 73 20 6e 6f 74 20 65 78 70 6c 69 63 69 74 6c 79 20 rror.set.type.is.not.explicitly.
b7c0 77 72 69 74 74 65 6e 20 6f 6e 20 74 68 65 20 6c 65 66 74 20 73 69 64 65 20 6f 66 20 74 68 65 20 written.on.the.left.side.of.the.
b7e0 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 21 3c 2f 73 70 61 6e <code><span.class="line">!</span
b800 3e 3c 2f 63 6f 64 65 3e 20 6f 70 65 72 61 74 6f 72 2e 0a 20 20 20 20 20 20 20 20 57 68 65 6e 20 ></code>.operator..........When.
b820 77 72 69 74 74 65 6e 20 74 68 69 73 20 77 61 79 2c 20 74 68 65 20 65 72 72 6f 72 20 73 65 74 20 written.this.way,.the.error.set.
b840 74 79 70 65 20 69 73 20 61 6e 20 3c 61 20 68 72 65 66 3d 22 23 49 6e 66 65 72 72 65 64 2d 45 72 type.is.an.<a.href="#Inferred-Er
b860 72 6f 72 2d 53 65 74 73 22 3e 69 6e 66 65 72 72 65 64 20 65 72 72 6f 72 20 73 65 74 20 74 79 70 ror-Sets">inferred.error.set.typ
b880 65 3c 2f 61 3e 2e 20 54 68 65 0a 20 20 20 20 20 20 20 20 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 e</a>..The.........<code><span.c
b8a0 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 lass="line"><span.class="tok-typ
b8c0 65 22 3e 76 6f 69 64 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 20 61 66 74 e">void</span></span></code>.aft
b8e0 65 72 20 74 68 65 20 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e er.the.<code><span.class="line">
b900 21 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 20 6f 70 65 72 61 74 6f 72 0a 20 20 20 20 20 20 20 !</span></code>.operator........
b920 20 74 65 6c 6c 73 20 74 68 65 20 63 6f 6d 70 69 6c 65 72 20 74 68 61 74 20 74 68 65 20 66 75 6e .tells.the.compiler.that.the.fun
b940 63 74 69 6f 6e 20 77 69 6c 6c 20 6e 6f 74 20 72 65 74 75 72 6e 20 61 20 76 61 6c 75 65 20 75 6e ction.will.not.return.a.value.un
b960 64 65 72 20 6e 6f 72 6d 61 6c 20 63 69 72 63 75 6d 73 74 61 6e 63 65 73 20 28 69 2e 65 2e 20 77 der.normal.circumstances.(i.e..w
b980 68 65 6e 20 6e 6f 20 65 72 72 6f 72 73 20 6f 63 63 75 72 29 2e 0a 20 20 20 20 20 20 3c 2f 70 3e hen.no.errors.occur)........</p>
b9a0 0a 20 20 20 20 20 20 3c 61 73 69 64 65 20 72 6f 6c 65 3d 22 6e 6f 74 65 22 20 61 72 69 61 2d 6c .......<aside.role="note".aria-l
b9c0 61 62 65 6c 3d 22 4e 6f 74 65 20 74 6f 20 64 69 73 61 6d 62 69 67 75 61 74 65 20 65 78 63 6c 61 abel="Note.to.disambiguate.excla
b9e0 6d 61 74 69 6f 6e 20 6d 61 72 6b 20 6f 70 65 72 61 74 6f 72 22 3e 0a 20 20 20 20 20 20 20 20 3c mation.mark.operator">.........<
ba00 70 3e 0a 20 20 20 20 20 20 20 20 20 20 4e 6f 74 65 20 74 6f 20 65 78 70 65 72 69 65 6e 63 65 64 p>...........Note.to.experienced
ba20 20 70 72 6f 67 72 61 6d 6d 65 72 73 3a 20 5a 69 67 20 61 6c 73 6f 20 68 61 73 20 74 68 65 20 62 .programmers:.Zig.also.has.the.b
ba40 6f 6f 6c 65 61 6e 20 3c 61 20 68 72 65 66 3d 22 23 4f 70 65 72 61 74 6f 72 73 22 3e 6f 70 65 72 oolean.<a.href="#Operators">oper
ba60 61 74 6f 72 3c 2f 61 3e 20 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 ator</a>.<code><span.class="line
ba80 22 3e 21 61 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 0a 20 20 20 20 20 20 20 20 20 20 77 68 65 ">!a</span></code>...........whe
baa0 72 65 20 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 61 3c 2f 73 re.<code><span.class="line">a</s
bac0 70 61 6e 3e 3c 2f 63 6f 64 65 3e 20 69 73 20 61 20 76 61 6c 75 65 20 6f 66 20 74 79 70 65 20 3c pan></code>.is.a.value.of.type.<
bae0 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c code><span.class="line"><span.cl
bb00 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 62 6f 6f 6c 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e ass="tok-type">bool</span></span
bb20 3e 3c 2f 63 6f 64 65 3e 2e 20 45 72 72 6f 72 20 75 6e 69 6f 6e 20 74 79 70 65 73 20 63 6f 6e 74 ></code>..Error.union.types.cont
bb40 61 69 6e 20 74 68 65 0a 20 20 20 20 20 20 20 20 20 20 6e 61 6d 65 20 6f 66 20 74 68 65 20 74 79 ain.the...........name.of.the.ty
bb60 70 65 20 69 6e 20 74 68 65 20 73 79 6e 74 61 78 3a 20 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c pe.in.the.syntax:.<code><span.cl
bb80 61 73 73 3d 22 6c 69 6e 65 22 3e 21 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 3c 63 6f 64 65 3e ass="line">!</span></code><code>
bba0 26 6c 74 3b 61 6e 79 20 64 61 74 61 20 74 79 70 65 26 67 74 3b 3c 2f 63 6f 64 65 3e 2e 0a 20 20 &lt;any.data.type&gt;</code>....
bbc0 20 20 20 20 20 20 3c 2f 70 3e 0a 20 20 20 20 20 20 3c 2f 61 73 69 64 65 3e 0a 20 20 20 20 20 20 ......</p>.......</aside>.......
bbe0 3c 70 3e 0a 20 20 20 20 20 20 20 20 49 6e 20 5a 69 67 2c 20 61 20 66 75 6e 63 74 69 6f 6e 27 73 <p>.........In.Zig,.a.function's
bc00 20 62 6c 6f 63 6b 20 6f 66 20 73 74 61 74 65 6d 65 6e 74 73 20 61 6e 64 20 65 78 70 72 65 73 73 .block.of.statements.and.express
bc20 69 6f 6e 73 20 61 72 65 20 73 75 72 72 6f 75 6e 64 65 64 20 62 79 20 61 6e 20 6f 70 65 6e 20 63 ions.are.surrounded.by.an.open.c
bc40 75 72 6c 79 2d 62 72 61 63 65 20 3c 63 6f 64 65 3e 7b 3c 2f 63 6f 64 65 3e 20 61 6e 64 0a 20 20 urly-brace.<code>{</code>.and...
bc60 20 20 20 20 20 20 63 6c 6f 73 65 20 63 75 72 6c 79 2d 62 72 61 63 65 20 3c 63 6f 64 65 3e 7d 3c ......close.curly-brace.<code>}<
bc80 2f 63 6f 64 65 3e 2e 20 49 6e 73 69 64 65 20 6f 66 20 74 68 65 20 3c 63 6f 64 65 3e 3c 73 70 61 /code>..Inside.of.the.<code><spa
bca0 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 6d 61 69 6e 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 n.class="line">main</span></code
bcc0 3e 20 66 75 6e 63 74 69 6f 6e 20 61 72 65 20 65 78 70 72 65 73 73 69 6f 6e 73 20 74 68 61 74 20 >.function.are.expressions.that.
bce0 70 65 72 66 6f 72 6d 0a 20 20 20 20 20 20 20 20 74 68 65 20 74 61 73 6b 20 6f 66 20 6f 75 74 70 perform.........the.task.of.outp
bd00 75 74 74 69 6e 67 20 3c 73 61 6d 70 3e 48 65 6c 6c 6f 2c 20 77 6f 72 6c 64 21 3c 2f 73 61 6d 70 utting.<samp>Hello,.world!</samp
bd20 3e 20 74 6f 20 73 74 61 6e 64 61 72 64 20 6f 75 74 70 75 74 2e 0a 20 20 20 20 20 20 3c 2f 70 3e >.to.standard.output........</p>
bd40 0a 20 20 20 20 20 20 3c 70 3e 0a 20 20 20 20 20 20 20 20 46 69 72 73 74 2c 20 61 20 63 6f 6e 73 .......<p>.........First,.a.cons
bd60 74 61 6e 74 20 69 64 65 6e 74 69 66 69 65 72 2c 20 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 tant.identifier,.<code><span.cla
bd80 73 73 3d 22 6c 69 6e 65 22 3e 73 74 64 6f 75 74 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 2c 20 ss="line">stdout</span></code>,.
bda0 69 73 20 69 6e 69 74 69 61 6c 69 7a 65 64 20 74 6f 20 72 65 70 72 65 73 65 6e 74 20 73 74 61 6e is.initialized.to.represent.stan
bdc0 64 61 72 64 20 6f 75 74 70 75 74 27 73 0a 20 20 20 20 20 20 20 20 77 72 69 74 65 72 2e 20 54 68 dard.output's.........writer..Th
bde0 65 6e 2c 20 74 68 65 20 70 72 6f 67 72 61 6d 20 74 72 69 65 73 20 74 6f 20 70 72 69 6e 74 20 74 en,.the.program.tries.to.print.t
be00 68 65 20 3c 73 61 6d 70 3e 48 65 6c 6c 6f 2c 20 77 6f 72 6c 64 21 3c 2f 73 61 6d 70 3e 0a 20 20 he.<samp>Hello,.world!</samp>...
be20 20 20 20 20 20 20 6d 65 73 73 61 67 65 20 74 6f 20 73 74 61 6e 64 61 72 64 20 6f 75 74 70 75 74 ......message.to.standard.output
be40 2e 0a 20 20 20 20 20 20 3c 2f 70 3e 0a 20 20 20 20 20 20 3c 70 3e 0a 20 20 20 20 20 20 20 20 46 ........</p>.......<p>.........F
be60 75 6e 63 74 69 6f 6e 73 20 73 6f 6d 65 74 69 6d 65 73 20 6e 65 65 64 20 69 6e 66 6f 72 6d 61 74 unctions.sometimes.need.informat
be80 69 6f 6e 20 74 6f 20 70 65 72 66 6f 72 6d 20 74 68 65 69 72 20 74 61 73 6b 2e 20 49 6e 20 5a 69 ion.to.perform.their.task..In.Zi
bea0 67 2c 20 69 6e 66 6f 72 6d 61 74 69 6f 6e 20 69 73 20 70 61 73 73 65 64 0a 20 20 20 20 20 20 20 g,.information.is.passed........
bec0 20 74 6f 20 66 75 6e 63 74 69 6f 6e 73 20 62 65 74 77 65 65 6e 20 61 6e 20 6f 70 65 6e 20 70 61 .to.functions.between.an.open.pa
bee0 72 65 6e 74 68 65 73 69 73 20 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e renthesis.<code><span.class="lin
bf00 65 22 3e 28 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 20 61 6e 64 20 61 20 63 6c 6f 73 65 20 70 e">(</span></code>.and.a.close.p
bf20 61 72 65 6e 74 68 65 73 69 73 20 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 arenthesis.<code><span.class="li
bf40 6e 65 22 3e 29 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 20 70 6c 61 63 65 64 20 61 66 74 65 72 ne">)</span></code>.placed.after
bf60 0a 20 20 20 20 20 20 20 20 74 68 65 20 66 75 6e 63 74 69 6f 6e 27 73 20 6e 61 6d 65 2e 20 54 68 .........the.function's.name..Th
bf80 69 73 20 69 6e 66 6f 72 6d 61 74 69 6f 6e 20 69 73 20 61 6c 73 6f 20 6b 6e 6f 77 6e 20 61 73 20 is.information.is.also.known.as.
bfa0 61 72 67 75 6d 65 6e 74 73 2e 20 57 68 65 6e 20 74 68 65 72 65 20 61 72 65 0a 20 20 20 20 20 20 arguments..When.there.are.......
bfc0 20 20 6d 75 6c 74 69 70 6c 65 20 61 72 67 75 6d 65 6e 74 73 20 70 61 73 73 65 64 20 74 6f 20 61 ..multiple.arguments.passed.to.a
bfe0 20 66 75 6e 63 74 69 6f 6e 2c 20 74 68 65 79 20 61 72 65 20 73 65 70 61 72 61 74 65 64 20 62 79 .function,.they.are.separated.by
c000 20 63 6f 6d 6d 61 73 20 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 .commas.<code><span.class="line"
c020 3e 2c 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 2e 0a 20 20 20 20 20 20 3c 2f 70 3e 0a 20 20 20 >,</span></code>........</p>....
c040 20 20 20 3c 70 3e 0a 20 20 20 20 20 20 20 20 54 68 65 20 74 77 6f 20 61 72 67 75 6d 65 6e 74 73 ...<p>.........The.two.arguments
c060 20 70 61 73 73 65 64 20 74 6f 20 74 68 65 20 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 .passed.to.the.<code><span.class
c080 3d 22 6c 69 6e 65 22 3e 73 74 64 6f 75 74 2e 70 72 69 6e 74 28 29 3c 2f 73 70 61 6e 3e 3c 2f 63 ="line">stdout.print()</span></c
c0a0 6f 64 65 3e 20 66 75 6e 63 74 69 6f 6e 2c 20 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 ode>.function,.<code><span.class
c0c0 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 73 74 72 22 3e 26 71 ="line"><span.class="tok-str">&q
c0e0 75 6f 74 3b 48 65 6c 6c 6f 2c 20 7b 73 7d 21 5c 6e 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 3c 2f uot;Hello,.{s}!\n&quot;</span></
c100 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 0a 20 20 20 20 20 20 20 20 61 6e 64 20 3c 63 6f 64 65 3e 3c span></code>.........and.<code><
c120 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 2e 7b 3c 73 70 61 6e 20 63 6c 61 73 73 3d span.class="line">.{<span.class=
c140 22 74 6f 6b 2d 73 74 72 22 3e 26 71 75 6f 74 3b 77 6f 72 6c 64 26 71 75 6f 74 3b 3c 2f 73 70 61 "tok-str">&quot;world&quot;</spa
c160 6e 3e 7d 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 2c 20 61 72 65 20 65 76 61 6c 75 61 74 65 64 n>}</span></code>,.are.evaluated
c180 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 69 6c 65 2d .at.<a.href="#comptime">compile-
c1a0 74 69 6d 65 3c 2f 61 3e 2e 20 54 68 65 20 63 6f 64 65 20 73 61 6d 70 6c 65 20 69 73 0a 20 20 20 time</a>..The.code.sample.is....
c1c0 20 20 20 20 20 70 75 72 70 6f 73 65 6c 79 20 77 72 69 74 74 65 6e 20 74 6f 20 73 68 6f 77 20 68 .....purposely.written.to.show.h
c1e0 6f 77 20 74 6f 20 70 65 72 66 6f 72 6d 20 3c 61 20 68 72 65 66 3d 22 23 53 74 72 69 6e 67 2d 4c ow.to.perform.<a.href="#String-L
c200 69 74 65 72 61 6c 73 2d 61 6e 64 2d 55 6e 69 63 6f 64 65 2d 43 6f 64 65 2d 50 6f 69 6e 74 2d 4c iterals-and-Unicode-Code-Point-L
c220 69 74 65 72 61 6c 73 22 3e 73 74 72 69 6e 67 3c 2f 61 3e 0a 20 20 20 20 20 20 20 20 73 75 62 73 iterals">string</a>.........subs
c240 74 69 74 75 74 69 6f 6e 20 69 6e 20 74 68 65 20 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 titution.in.the.<code><span.clas
c260 73 3d 22 6c 69 6e 65 22 3e 70 72 69 6e 74 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 20 66 75 6e s="line">print</span></code>.fun
c280 63 74 69 6f 6e 2e 20 54 68 65 20 63 75 72 6c 79 2d 62 72 61 63 65 73 20 69 6e 73 69 64 65 20 6f ction..The.curly-braces.inside.o
c2a0 66 20 74 68 65 20 66 69 72 73 74 20 61 72 67 75 6d 65 6e 74 0a 20 20 20 20 20 20 20 20 61 72 65 f.the.first.argument.........are
c2c0 20 73 75 62 73 74 69 74 75 74 65 64 20 77 69 74 68 20 74 68 65 20 63 6f 6d 70 69 6c 65 2d 74 69 .substituted.with.the.compile-ti
c2e0 6d 65 20 6b 6e 6f 77 6e 20 76 61 6c 75 65 20 69 6e 73 69 64 65 20 6f 66 20 74 68 65 20 73 65 63 me.known.value.inside.of.the.sec
c300 6f 6e 64 20 61 72 67 75 6d 65 6e 74 0a 20 20 20 20 20 20 20 20 28 6b 6e 6f 77 6e 20 61 73 20 61 ond.argument.........(known.as.a
c320 6e 20 3c 61 20 68 72 65 66 3d 22 23 41 6e 6f 6e 79 6d 6f 75 73 2d 53 74 72 75 63 74 2d 4c 69 74 n.<a.href="#Anonymous-Struct-Lit
c340 65 72 61 6c 73 22 3e 61 6e 6f 6e 79 6d 6f 75 73 20 73 74 72 75 63 74 20 6c 69 74 65 72 61 6c 3c erals">anonymous.struct.literal<
c360 2f 61 3e 29 2e 20 54 68 65 20 3c 63 6f 64 65 3e 5c 6e 3c 2f 63 6f 64 65 3e 0a 20 20 20 20 20 20 /a>)..The.<code>\n</code>.......
c380 20 20 69 6e 73 69 64 65 20 6f 66 20 74 68 65 20 64 6f 75 62 6c 65 2d 71 75 6f 74 65 73 20 6f 66 ..inside.of.the.double-quotes.of
c3a0 20 74 68 65 20 66 69 72 73 74 20 61 72 67 75 6d 65 6e 74 20 69 73 20 74 68 65 20 3c 61 20 68 72 .the.first.argument.is.the.<a.hr
c3c0 65 66 3d 22 23 45 73 63 61 70 65 2d 53 65 71 75 65 6e 63 65 73 22 3e 65 73 63 61 70 65 20 73 65 ef="#Escape-Sequences">escape.se
c3e0 71 75 65 6e 63 65 3c 2f 61 3e 20 66 6f 72 20 74 68 65 0a 20 20 20 20 20 20 20 20 6e 65 77 6c 69 quence</a>.for.the.........newli
c400 6e 65 20 63 68 61 72 61 63 74 65 72 2e 20 54 68 65 20 3c 61 20 68 72 65 66 3d 22 23 74 72 79 22 ne.character..The.<a.href="#try"
c420 3e 74 72 79 3c 2f 61 3e 20 65 78 70 72 65 73 73 69 6f 6e 20 65 76 61 6c 75 61 74 65 73 20 74 68 >try</a>.expression.evaluates.th
c440 65 20 72 65 73 75 6c 74 20 6f 66 20 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c e.result.of.<code><span.class="l
c460 69 6e 65 22 3e 73 74 64 6f 75 74 2e 70 72 69 6e 74 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 2e ine">stdout.print</span></code>.
c480 0a 20 20 20 20 20 20 20 20 49 66 20 74 68 65 20 72 65 73 75 6c 74 20 69 73 20 61 6e 20 65 72 72 .........If.the.result.is.an.err
c4a0 6f 72 2c 20 74 68 65 6e 20 74 68 65 20 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 or,.then.the.<code><span.class="
c4c0 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 74 72 79 3c 2f line"><span.class="tok-kw">try</
c4e0 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 20 65 78 70 72 65 73 73 69 6f 6e 20 77 span></span></code>.expression.w
c500 69 6c 6c 20 72 65 74 75 72 6e 20 66 72 6f 6d 0a 20 20 20 20 20 20 20 20 3c 63 6f 64 65 3e 3c 73 ill.return.from.........<code><s
c520 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 6d 61 69 6e 3c 2f 73 70 61 6e 3e 3c 2f 63 6f pan.class="line">main</span></co
c540 64 65 3e 20 77 69 74 68 20 74 68 65 20 65 72 72 6f 72 2e 20 4f 74 68 65 72 77 69 73 65 2c 20 74 de>.with.the.error..Otherwise,.t
c560 68 65 20 70 72 6f 67 72 61 6d 20 77 69 6c 6c 20 63 6f 6e 74 69 6e 75 65 2e 20 49 6e 20 74 68 69 he.program.will.continue..In.thi
c580 73 20 63 61 73 65 2c 20 74 68 65 72 65 20 61 72 65 20 6e 6f 0a 20 20 20 20 20 20 20 20 6d 6f 72 s.case,.there.are.no.........mor
c5a0 65 20 73 74 61 74 65 6d 65 6e 74 73 20 6f 72 20 65 78 70 72 65 73 73 69 6f 6e 73 20 6c 65 66 74 e.statements.or.expressions.left
c5c0 20 74 6f 20 65 78 65 63 75 74 65 20 69 6e 20 74 68 65 20 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 .to.execute.in.the.<code><span.c
c5e0 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 6d 61 69 6e 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 20 66 lass="line">main</span></code>.f
c600 75 6e 63 74 69 6f 6e 2c 20 73 6f 20 74 68 65 20 70 72 6f 67 72 61 6d 20 65 78 69 74 73 2e 0a 20 unction,.so.the.program.exits...
c620 20 20 20 20 20 3c 2f 70 3e 0a 20 20 20 20 20 20 3c 70 3e 0a 20 20 20 20 20 20 20 20 49 6e 20 5a .....</p>.......<p>.........In.Z
c640 69 67 2c 20 74 68 65 20 73 74 61 6e 64 61 72 64 20 6f 75 74 70 75 74 20 77 72 69 74 65 72 27 73 ig,.the.standard.output.writer's
c660 20 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 70 72 69 6e 74 3c .<code><span.class="line">print<
c680 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 20 66 75 6e 63 74 69 6f 6e 20 69 73 20 61 6c 6c 6f 77 65 /span></code>.function.is.allowe
c6a0 64 20 74 6f 20 66 61 69 6c 20 62 65 63 61 75 73 65 0a 20 20 20 20 20 20 20 20 69 74 20 69 73 20 d.to.fail.because.........it.is.
c6c0 61 63 74 75 61 6c 6c 79 20 61 20 66 75 6e 63 74 69 6f 6e 20 64 65 66 69 6e 65 64 20 61 73 20 70 actually.a.function.defined.as.p
c6e0 61 72 74 20 6f 66 20 61 20 67 65 6e 65 72 69 63 20 57 72 69 74 65 72 2e 20 43 6f 6e 73 69 64 65 art.of.a.generic.Writer..Conside
c700 72 20 61 20 67 65 6e 65 72 69 63 20 57 72 69 74 65 72 20 74 68 61 74 0a 20 20 20 20 20 20 20 20 r.a.generic.Writer.that.........
c720 72 65 70 72 65 73 65 6e 74 73 20 77 72 69 74 69 6e 67 20 64 61 74 61 20 74 6f 20 61 20 66 69 6c represents.writing.data.to.a.fil
c740 65 2e 20 57 68 65 6e 20 74 68 65 20 64 69 73 6b 20 69 73 20 66 75 6c 6c 2c 20 61 20 77 72 69 74 e..When.the.disk.is.full,.a.writ
c760 65 20 74 6f 20 74 68 65 20 66 69 6c 65 20 77 69 6c 6c 20 66 61 69 6c 2e 0a 20 20 20 20 20 20 20 e.to.the.file.will.fail.........
c780 20 48 6f 77 65 76 65 72 2c 20 77 65 20 74 79 70 69 63 61 6c 6c 79 20 64 6f 20 6e 6f 74 20 65 78 .However,.we.typically.do.not.ex
c7a0 70 65 63 74 20 77 72 69 74 69 6e 67 20 74 65 78 74 20 74 6f 20 74 68 65 20 73 74 61 6e 64 61 72 pect.writing.text.to.the.standar
c7c0 64 20 6f 75 74 70 75 74 20 74 6f 20 66 61 69 6c 2e 20 54 6f 20 61 76 6f 69 64 20 68 61 76 69 6e d.output.to.fail..To.avoid.havin
c7e0 67 0a 20 20 20 20 20 20 20 20 74 6f 20 68 61 6e 64 6c 65 20 74 68 65 20 66 61 69 6c 75 72 65 20 g.........to.handle.the.failure.
c800 63 61 73 65 20 6f 66 20 70 72 69 6e 74 69 6e 67 20 74 6f 20 73 74 61 6e 64 61 72 64 20 6f 75 74 case.of.printing.to.standard.out
c820 70 75 74 2c 20 79 6f 75 20 63 61 6e 20 75 73 65 20 61 6c 74 65 72 6e 61 74 65 20 66 75 6e 63 74 put,.you.can.use.alternate.funct
c840 69 6f 6e 73 3a 20 74 68 65 0a 20 20 20 20 20 20 20 20 66 75 6e 63 74 69 6f 6e 73 20 69 6e 20 3c ions:.the.........functions.in.<
c860 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 73 74 64 2e 6c 6f 67 3c code><span.class="line">std.log<
c880 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 20 66 6f 72 20 70 72 6f 70 65 72 20 6c 6f 67 67 69 6e 67 /span></code>.for.proper.logging
c8a0 20 6f 72 20 74 68 65 20 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 .or.the.<code><span.class="line"
c8c0 3e 73 74 64 2e 64 65 62 75 67 2e 70 72 69 6e 74 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 20 66 >std.debug.print</span></code>.f
c8e0 75 6e 63 74 69 6f 6e 2e 0a 20 20 20 20 20 20 20 20 54 68 69 73 20 64 6f 63 75 6d 65 6e 74 61 74 unction..........This.documentat
c900 69 6f 6e 20 77 69 6c 6c 20 75 73 65 20 74 68 65 20 6c 61 74 74 65 72 20 6f 70 74 69 6f 6e 20 74 ion.will.use.the.latter.option.t
c920 6f 20 70 72 69 6e 74 20 74 6f 20 73 74 61 6e 64 61 72 64 20 65 72 72 6f 72 20 28 73 74 64 65 72 o.print.to.standard.error.(stder
c940 72 29 20 61 6e 64 20 73 69 6c 65 6e 74 6c 79 20 72 65 74 75 72 6e 0a 20 20 20 20 20 20 20 20 6f r).and.silently.return.........o
c960 6e 20 66 61 69 6c 75 72 65 2e 20 54 68 65 20 6e 65 78 74 20 63 6f 64 65 20 73 61 6d 70 6c 65 2c n.failure..The.next.code.sample,
c980 20 3c 63 6f 64 65 20 63 6c 61 73 73 3d 22 66 69 6c 65 22 3e 68 65 6c 6c 6f 5f 61 67 61 69 6e 2e .<code.class="file">hello_again.
c9a0 7a 69 67 3c 2f 63 6f 64 65 3e 20 64 65 6d 6f 6e 73 74 72 61 74 65 73 20 74 68 65 20 75 73 65 20 zig</code>.demonstrates.the.use.
c9c0 6f 66 0a 20 20 20 20 20 20 20 20 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 of.........<code><span.class="li
c9e0 6e 65 22 3e 73 74 64 2e 64 65 62 75 67 2e 70 72 69 6e 74 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 ne">std.debug.print</span></code
ca00 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
ca20 63 61 70 74 69 6f 6e 20 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
ca40 61 73 73 3d 22 66 69 6c 65 22 3e 68 65 6c 6c 6f 5f 61 67 61 69 6e 2e 7a 69 67 3c 2f 63 69 74 65 ass="file">hello_again.zig</cite
ca60 3e 3c 2f 66 69 67 63 61 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
ca80 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 lass="line"><span.class="tok-kw"
caa0 3e 63 6f 6e 73 74 3c 2f 73 70 61 6e 3e 20 70 72 69 6e 74 20 3d 20 3c 73 70 61 6e 20 63 6c 61 73 >const</span>.print.=.<span.clas
cac0 73 3d 22 74 6f 6b 2d 62 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>(<
cae0 73 70 61 6e 20 63 6c 61 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
cb00 75 6f 74 3b 3c 2f 73 70 61 6e 3e 29 2e 64 65 62 75 67 2e 70 72 69 6e 74 3b 3c 2f 73 70 61 6e 3e uot;</span>).debug.print;</span>
cb20 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 .<span.class="line"></span>.<spa
cb40 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d n.class="line"><span.class="tok-
cb60 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-
cb80 6b 77 22 3e 66 6e 3c 2f 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
cba0 6e 22 3e 6d 61 69 6e 3c 2f 73 70 61 6e 3e 28 29 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f n">main</span>().<span.class="to
cbc0 6b 2d 74 79 70 65 22 3e 76 6f 69 64 3c 2f 73 70 61 6e 3e 20 7b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 k-type">void</span>.{</span>.<sp
cbe0 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 70 72 69 6e 74 28 3c 73 70 61 6e 20 an.class="line">....print(<span.
cc00 63 6c 61 73 73 3d 22 74 6f 6b 2d 73 74 72 22 3e 26 71 75 6f 74 3b 48 65 6c 6c 6f 2c 20 77 6f 72 class="tok-str">&quot;Hello,.wor
cc20 6c 64 21 5c 6e 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 2c 20 2e 7b 7d 29 3b 3c 2f 73 70 61 6e 3e ld!\n&quot;</span>,..{});</span>
cc40 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 7d 3c 2f 73 70 61 6e 3e 3c 2f 63 6f .<span.class="line">}</span></co
cc60 64 65 3e 3c 2f 70 72 65 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
cc80 70 74 69 6f 6e 20 63 6c 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
cca0 69 67 63 61 70 74 69 6f 6e 3e 3c 70 72 65 3e 3c 73 61 6d 70 3e 3c 73 70 61 6e 20 63 6c 61 73 73 igcaption><pre><samp><span.class
ccc0 3d 22 6c 69 6e 65 22 3e 24 20 3c 6b 62 64 3e 7a 69 67 20 62 75 69 6c 64 2d 65 78 65 20 68 65 6c ="line">$.<kbd>zig.build-exe.hel
cce0 6c 6f 5f 61 67 61 69 6e 2e 7a 69 67 3c 2f 6b 62 64 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 lo_again.zig</kbd></span>.<span.
cd00 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 class="line"></span>.<span.class
cd20 3d 22 6c 69 6e 65 22 3e 24 20 3c 6b 62 64 3e 2e 2f 68 65 6c 6c 6f 5f 61 67 61 69 6e 3c 2f 6b 62 ="line">$.<kbd>./hello_again</kb
cd40 64 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 48 65 6c d></span>.<span.class="line">Hel
cd60 6c 6f 2c 20 77 6f 72 6c 64 21 3c 2f 73 70 61 6e 3e 0a 3c 2f 73 61 6d 70 3e 3c 2f 70 72 65 3e 3c lo,.world!</span>.</samp></pre><
cd80 2f 66 69 67 75 72 65 3e 0a 20 20 20 20 20 20 3c 70 3e 0a 20 20 20 20 20 20 4e 6f 74 65 20 74 68 /figure>.......<p>.......Note.th
cda0 61 74 20 79 6f 75 20 63 61 6e 20 6c 65 61 76 65 20 6f 66 66 20 74 68 65 20 3c 63 6f 64 65 3e 3c at.you.can.leave.off.the.<code><
cdc0 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 21 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 span.class="line">!</span></code
cde0 3e 20 66 72 6f 6d 20 74 68 65 20 72 65 74 75 72 6e 20 74 79 70 65 20 62 65 63 61 75 73 65 20 3c >.from.the.return.type.because.<
ce00 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 73 74 64 2e 64 65 62 75 code><span.class="line">std.debu
ce20 67 2e 70 72 69 6e 74 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 20 63 61 6e 6e 6f 74 20 66 61 69 g.print</span></code>.cannot.fai
ce40 6c 2e 0a 20 20 20 20 20 20 3c 2f 70 3e 0a 20 20 20 20 20 20 3c 70 3e 53 65 65 20 61 6c 73 6f 3a l........</p>.......<p>See.also:
ce60 3c 2f 70 3e 3c 75 6c 3e 0a 3c 6c 69 3e 3c 61 20 68 72 65 66 3d 22 23 56 61 6c 75 65 73 22 3e 56 </p><ul>.<li><a.href="#Values">V
ce80 61 6c 75 65 73 3c 2f 61 3e 3c 2f 6c 69 3e 0a 3c 6c 69 3e 3c 61 20 68 72 65 66 3d 22 23 69 6d 70 alues</a></li>.<li><a.href="#imp
cea0 6f 72 74 22 3e 40 69 6d 70 6f 72 74 3c 2f 61 3e 3c 2f 6c 69 3e 0a 3c 6c 69 3e 3c 61 20 68 72 65 ort">@import</a></li>.<li><a.hre
cec0 66 3d 22 23 45 72 72 6f 72 73 22 3e 45 72 72 6f 72 73 3c 2f 61 3e 3c 2f 6c 69 3e 0a 3c 6c 69 3e f="#Errors">Errors</a></li>.<li>
cee0 3c 61 20 68 72 65 66 3d 22 23 52 6f 6f 74 2d 53 6f 75 72 63 65 2d 46 69 6c 65 22 3e 52 6f 6f 74 <a.href="#Root-Source-File">Root
cf00 20 53 6f 75 72 63 65 20 46 69 6c 65 3c 2f 61 3e 3c 2f 6c 69 3e 0a 3c 6c 69 3e 3c 61 20 68 72 65 .Source.File</a></li>.<li><a.hre
cf20 66 3d 22 23 53 6f 75 72 63 65 2d 45 6e 63 6f 64 69 6e 67 22 3e 53 6f 75 72 63 65 20 45 6e 63 6f f="#Source-Encoding">Source.Enco
cf40 64 69 6e 67 3c 2f 61 3e 3c 2f 6c 69 3e 0a 3c 2f 75 6c 3e 0a 0a 20 20 20 20 20 20 0a 20 20 20 20 ding</a></li>.</ul>.............
cf60 20 20 3c 68 32 20 69 64 3d 22 43 6f 6d 6d 65 6e 74 73 22 3e 3c 61 20 68 72 65 66 3d 22 23 74 6f ..<h2.id="Comments"><a.href="#to
cf80 63 2d 43 6f 6d 6d 65 6e 74 73 22 3e 43 6f 6d 6d 65 6e 74 73 3c 2f 61 3e 20 3c 61 20 63 6c 61 73 c-Comments">Comments</a>.<a.clas
cfa0 73 3d 22 68 64 72 22 20 68 72 65 66 3d 22 23 43 6f 6d 6d 65 6e 74 73 22 3e c2 a7 3c 2f 61 3e 3c s="hdr".href="#Comments">..</a><
cfc0 2f 68 32 3e 0a 0a 20 20 20 20 20 20 3c 66 69 67 75 72 65 3e 3c 66 69 67 63 61 70 74 69 6f 6e 20 /h2>........<figure><figcaption.
cfe0 63 6c 61 73 73 3d 22 7a 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
d000 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 70 74 69 e">comments.zig</cite></figcapti
d020 6f 6e 3e 3c 70 72 65 3e 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 on><pre><code><span.class="line"
d040 3e 3c 73 70 61 6e 20 63 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
d060 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
d080 74 69 6e 22 3e 40 69 6d 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=
d0a0 22 74 6f 6b 2d 73 74 72 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>
d0c0 29 2e 64 65 62 75 67 2e 70 72 69 6e 74 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 ).debug.print;</span>.<span.clas
d0e0 73 3d 22 6c 69 6e 65 22 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 s="line"></span>.<span.class="li
d100 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 70 75 62 3c 2f 73 70 ne"><span.class="tok-kw">pub</sp
d120 61 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
d140 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
d160 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
d180 64 3c 2f 73 70 61 6e 3e 20 7b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c d</span>.{</span>.<span.class="l
d1a0 69 6e 65 22 3e 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 63 6f 6d 6d 65 6e ine">....<span.class="tok-commen
d1c0 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 74 68 t">//.Comments.in.Zig.start.with
d1e0 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 20 6e .&quot;//&quot;.and.end.at.the.n
d200 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 61 6e ext.LF.byte.(end.of.line).</span
d220 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 ></span>.<span.class="line">....
d240 3c 73 70 61 6e 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
d260 20 6c 69 6e 65 20 62 65 6c 6f 77 20 69 73 20 61 20 63 6f 6d 6d 65 6e 74 20 61 6e 64 20 77 6f 6e .line.below.is.a.comment.and.won
d280 27 74 20 62 65 20 65 78 65 63 75 74 65 64 2e 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 't.be.executed.</span></span>.<s
d2a0 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 pan.class="line"></span>.<span.c
d2c0 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b lass="line">....<span.class="tok
d2e0 2d 63 6f 6d 6d 65 6e 74 22 3e 2f 2f 70 72 69 6e 74 28 26 71 75 6f 74 3b 48 65 6c 6c 6f 3f 26 71 -comment">//print(&quot;Hello?&q
d300 75 6f 74 3b 2c 20 2e 7b 7d 29 3b 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 uot;,..{});</span></span>.<span.
d320 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 class="line"></span>.<span.class
d340 3d 22 6c 69 6e 65 22 3e 20 20 20 20 70 72 69 6e 74 28 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 ="line">....print(<span.class="t
d360 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
d380 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
d3a0 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</
d3c0 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e span></span>.<span.class="line">
d3e0 7d 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 3c 2f 70 72 65 3e 3c 2f 66 69 67 75 72 65 3e 3c 66 }</span></code></pre></figure><f
d400 69 67 75 72 65 3e 3c 66 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
d420 61 70 22 3e 53 68 65 6c 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
d440 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 24 20 3c 6b 62 64 3e 7a 69 67 20 62 ><span.class="line">$.<kbd>zig.b
d460 75 69 6c 64 2d 65 78 65 20 63 6f 6d 6d 65 6e 74 73 2e 7a 69 67 3c 2f 6b 62 64 3e 3c 2f 73 70 61 uild-exe.comments.zig</kbd></spa
d480 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 n>.<span.class="line"></span>.<s
d4a0 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 24 20 3c 6b 62 64 3e 2e 2f 63 6f 6d 6d 65 6e pan.class="line">$.<kbd>./commen
d4c0 74 73 3c 2f 6b 62 64 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e ts</kbd></span>.<span.class="lin
d4e0 65 22 3e 48 65 6c 6c 6f 2c 20 77 6f 72 6c 64 21 3c 2f 73 70 61 6e 3e 0a 3c 2f 73 61 6d 70 3e 3c e">Hello,.world!</span>.</samp><
d500 2f 70 72 65 3e 3c 2f 66 69 67 75 72 65 3e 0a 20 20 20 20 20 20 3c 70 3e 0a 20 20 20 20 20 20 54 /pre></figure>.......<p>.......T
d520 68 65 72 65 20 61 72 65 20 6e 6f 20 6d 75 6c 74 69 6c 69 6e 65 20 63 6f 6d 6d 65 6e 74 73 20 69 here.are.no.multiline.comments.i
d540 6e 20 5a 69 67 20 28 65 2e 67 2e 20 6c 69 6b 65 20 3c 63 6f 64 65 20 63 6c 61 73 73 3d 22 63 22 n.Zig.(e.g..like.<code.class="c"
d560 3e 2f 2a 20 2a 2f 3c 2f 63 6f 64 65 3e 0a 20 20 20 20 20 20 63 6f 6d 6d 65 6e 74 73 20 69 6e 20 >/*.*/</code>.......comments.in.
d580 43 29 2e 20 20 54 68 69 73 20 68 65 6c 70 73 20 61 6c 6c 6f 77 20 5a 69 67 20 74 6f 20 68 61 76 C)...This.helps.allow.Zig.to.hav
d5a0 65 20 74 68 65 20 70 72 6f 70 65 72 74 79 20 74 68 61 74 20 65 61 63 68 20 6c 69 6e 65 0a 20 20 e.the.property.that.each.line...
d5c0 20 20 20 20 6f 66 20 63 6f 64 65 20 63 61 6e 20 62 65 20 74 6f 6b 65 6e 69 7a 65 64 20 6f 75 74 ....of.code.can.be.tokenized.out
d5e0 20 6f 66 20 63 6f 6e 74 65 78 74 2e 0a 20 20 20 20 20 20 3c 2f 70 3e 0a 20 20 20 20 20 20 3c 68 .of.context........</p>.......<h
d600 33 20 69 64 3d 22 44 6f 63 2d 63 6f 6d 6d 65 6e 74 73 22 3e 3c 61 20 68 72 65 66 3d 22 23 74 6f 3.id="Doc-comments"><a.href="#to
d620 63 2d 44 6f 63 2d 63 6f 6d 6d 65 6e 74 73 22 3e 44 6f 63 20 63 6f 6d 6d 65 6e 74 73 3c 2f 61 3e c-Doc-comments">Doc.comments</a>
d640 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 63 6f 6d 6d 65 .<a.class="hdr".href="#Doc-comme
d660 6e 74 73 22 3e c2 a7 3c 2f 61 3e 3c 2f 68 33 3e 0a 0a 20 20 20 20 20 20 3c 70 3e 0a 20 20 20 20 nts">..</a></h3>........<p>.....
d680 20 20 41 20 64 6f 63 20 63 6f 6d 6d 65 6e 74 20 69 73 20 6f 6e 65 20 74 68 61 74 20 62 65 67 69 ..A.doc.comment.is.one.that.begi
d6a0 6e 73 20 77 69 74 68 20 65 78 61 63 74 6c 79 20 74 68 72 65 65 20 73 6c 61 73 68 65 73 20 28 69 ns.with.exactly.three.slashes.(i
d6c0 2e 65 2e 0a 20 20 20 20 20 20 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e .e........<code><span.class="lin
d6e0 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 63 6f 6d 6d 65 6e 74 22 3e 2f 2f 2f e"><span.class="tok-comment">///
d700 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 20 62 75 74 20 6e 6f 74 20 3c 63 </span></span></code>.but.not.<c
d720 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 ode><span.class="line"><span.cla
d740 73 73 3d 22 74 6f 6b 2d 63 6f 6d 6d 65 6e 74 22 3e 2f 2f 2f 2f 3c 2f 73 70 61 6e 3e 3c 2f 73 70 ss="tok-comment">////</span></sp
d760 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 6f 63 20 an></code>);.......multiple.doc.
d780 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 74 6f 67 comments.in.a.row.are.merged.tog
d7a0 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 20 20 20 ether.to.form.a.multiline.......
d7c0 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 20 64 6f doc.comment...The.doc.comment.do
d7e0 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 66 6f 6c cuments.whatever.immediately.fol
d800 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 67 75 72 lows.it........</p>.......<figur
d820 65 3e 3c 66 69 67 63 61 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
d840 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 2e 7a 69 ite.class="file">doc_comments.zi
d860 67 3c 2f 63 69 74 65 3e 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>
d880 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 <span.class="line"><span.class="
d8a0 74 6f 6b 2d 63 6f 6d 6d 65 6e 74 22 3e 2f 2f 2f 20 41 20 73 74 72 75 63 74 75 72 65 20 66 6f 72 tok-comment">///.A.structure.for
d8c0 20 73 74 6f 72 69 6e 67 20 61 20 74 69 6d 65 73 74 61 6d 70 2c 20 77 69 74 68 20 6e 61 6e 6f 73 .storing.a.timestamp,.with.nanos
d8e0 65 63 6f 6e 64 20 70 72 65 63 69 73 69 6f 6e 20 28 74 68 69 73 20 69 73 20 61 3c 2f 73 70 61 6e econd.precision.(this.is.a</span
d900 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 ></span>.<span.class="line"><spa
d920 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 63 6f 6d 6d 65 6e 74 22 3e 2f 2f 2f 20 6d 75 6c 74 69 6c n.class="tok-comment">///.multil
d940 69 6e 65 20 64 6f 63 20 63 6f 6d 6d 65 6e 74 29 2e 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 0a ine.doc.comment).</span></span>.
d960 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 <span.class="line"><span.class="
d980 74 6f 6b 2d 6b 77 22 3e 63 6f 6e 73 74 3c 2f 73 70 61 6e 3e 20 54 69 6d 65 73 74 61 6d 70 20 3d tok-kw">const</span>.Timestamp.=
d9a0 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
d9c0 61 6e 3e 20 7b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e an>.{</span>.<span.class="line">
d9e0 20 20 20 20 3c 73 70 61 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">//
da00 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 74 68 /.The.number.of.seconds.since.th
da20 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 6d 6d e.epoch.(this.is.also.a.doc.comm
da40 65 6e 74 29 2e 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d ent).</span></span>.<span.class=
da60 22 6c 69 6e 65 22 3e 20 20 20 20 73 65 63 6f 6e 64 73 3a 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d "line">....seconds:.<span.class=
da80 22 74 6f 6b 2d 74 79 70 65 22 3e 69 36 34 3c 2f 73 70 61 6e 3e 2c 20 20 3c 73 70 61 6e 20 63 6c "tok-type">i64</span>,..<span.cl
daa0 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 65 64 20 73 6f 20 77 ass="tok-comment">//.signed.so.w
dac0 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 28 6e 6f 74 20 61 20 e.can.represent.pre-1970.(not.a.
dae0 64 6f 63 20 63 6f 6d 6d 65 6e 74 29 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e doc.comment)</span></span>.<span
db00 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 .class="line">....<span.class="t
db20 6f 6b 2d 63 6f 6d 6d 65 6e 74 22 3e 2f 2f 2f 20 54 68 65 20 6e 75 6d 62 65 72 20 6f 66 20 6e 61 ok-comment">///.The.number.of.na
db40 6e 6f 73 65 63 6f 6e 64 73 20 70 61 73 74 20 74 68 65 20 73 65 63 6f 6e 64 20 28 64 6f 63 20 63 noseconds.past.the.second.(doc.c
db60 6f 6d 6d 65 6e 74 20 61 67 61 69 6e 29 2e 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 omment.again).</span></span>.<sp
db80 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 6e 61 6e 6f 73 3a 20 3c 73 70 61 6e an.class="line">....nanos:.<span
dba0 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 75 33 32 3c 2f 73 70 61 6e 3e 2c 3c 2f 73 .class="tok-type">u32</span>,</s
dbc0 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 2f 73 70 61 6e 3e 0a pan>.<span.class="line"></span>.
dbe0 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 <span.class="line">....<span.cla
dc00 73 73 3d 22 74 6f 6b 2d 63 6f 6d 6d 65 6e 74 22 3e 2f 2f 2f 20 52 65 74 75 72 6e 73 20 61 20 60 ss="tok-comment">///.Returns.a.`
dc20 54 69 6d 65 73 74 61 6d 70 60 20 73 74 72 75 63 74 20 72 65 70 72 65 73 65 6e 74 69 6e 67 20 74 Timestamp`.struct.representing.t
dc40 68 65 20 55 6e 69 78 20 65 70 6f 63 68 3b 20 74 68 61 74 20 69 73 2c 20 74 68 65 3c 2f 73 70 61 he.Unix.epoch;.that.is,.the</spa
dc60 6e 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 n></span>.<span.class="line">...
dc80 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 63 6f 6d 6d 65 6e 74 22 3e 2f 2f 2f 20 6d .<span.class="tok-comment">///.m
dca0 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 30 20 55 54 43 oment.of.1970.Jan.1.00:00:00.UTC
dcc0 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 29 2e 3c 2f 73 .(this.is.a.doc.comment.too).</s
dce0 70 61 6e 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 pan></span>.<span.class="line">.
dd00 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 70 75 62 3c 2f 73 70 61 ...<span.class="tok-kw">pub</spa
dd20 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
dd40 3e 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 66 6e 22 3e 75 6e 69 78 45 70 6f 63 68 >.<span.class="tok-fn">unixEpoch
dd60 3c 2f 73 70 61 6e 3e 28 29 20 54 69 6d 65 73 74 61 6d 70 20 7b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 </span>().Timestamp.{</span>.<sp
dd80 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 20 20 20 20 3c 73 70 61 6e 20 63 6c an.class="line">........<span.cl
dda0 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 54 69 6d 65 73 ass="tok-kw">return</span>.Times
ddc0 74 61 6d 70 7b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e tamp{</span>.<span.class="line">
dde0 20 20 20 20 20 20 20 20 20 20 20 20 2e 73 65 63 6f 6e 64 73 20 3d 20 3c 73 70 61 6e 20 63 6c 61 .............seconds.=.<span.cla
de00 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 30 3c 2f 73 70 61 6e 3e 2c 3c 2f 73 70 61 6e 3e ss="tok-number">0</span>,</span>
de20 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 20 20 20 20 20 20 20 20 .<span.class="line">............
de40 2e 6e 61 6e 6f 73 20 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 .nanos.=.<span.class="tok-number
de60 22 3e 30 3c 2f 73 70 61 6e 3e 2c 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 ">0</span>,</span>.<span.class="
de80 6c 69 6e 65 22 3e 20 20 20 20 20 20 20 20 7d 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c line">........};</span>.<span.cl
dea0 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 7d 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c ass="line">....}</span>.<span.cl
dec0 61 73 73 3d 22 6c 69 6e 65 22 3e 7d 3b 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 3c 2f 70 72 65 ass="line">};</span></code></pre
dee0 3e 3c 2f 66 69 67 75 72 65 3e 0a 20 20 20 20 20 20 3c 70 3e 0a 20 20 20 20 20 20 44 6f 63 20 63 ></figure>.......<p>.......Doc.c
df00 6f 6d 6d 65 6e 74 73 20 61 72 65 20 6f 6e 6c 79 20 61 6c 6c 6f 77 65 64 20 69 6e 20 63 65 72 74 omments.are.only.allowed.in.cert
df20 61 69 6e 20 70 6c 61 63 65 73 3b 20 65 76 65 6e 74 75 61 6c 6c 79 2c 20 69 74 20 77 69 6c 6c 0a ain.places;.eventually,.it.will.
df40 20 20 20 20 20 20 62 65 63 6f 6d 65 20 61 20 63 6f 6d 70 69 6c 65 20 65 72 72 6f 72 20 74 6f 20 ......become.a.compile.error.to.
df60 68 61 76 65 20 61 20 64 6f 63 20 63 6f 6d 6d 65 6e 74 20 69 6e 20 61 6e 20 75 6e 65 78 70 65 63 have.a.doc.comment.in.an.unexpec
df80 74 65 64 20 70 6c 61 63 65 2c 20 73 75 63 68 20 61 73 0a 20 20 20 20 20 20 69 6e 20 74 68 65 20 ted.place,.such.as.......in.the.
dfa0 6d 69 64 64 6c 65 20 6f 66 20 61 6e 20 65 78 70 72 65 73 73 69 6f 6e 2c 20 6f 72 20 6a 75 73 74 middle.of.an.expression,.or.just
dfc0 20 62 65 66 6f 72 65 20 61 20 6e 6f 6e 2d 64 6f 63 20 63 6f 6d 6d 65 6e 74 2e 0a 20 20 20 20 20 .before.a.non-doc.comment.......
dfe0 20 3c 2f 70 3e 0a 20 20 20 20 20 20 0a 20 20 20 20 20 20 3c 68 33 20 69 64 3d 22 54 6f 70 2d 4c .</p>..............<h3.id="Top-L
e000 65 76 65 6c 2d 44 6f 63 2d 43 6f 6d 6d 65 6e 74 73 22 3e 3c 61 20 68 72 65 66 3d 22 23 74 6f 63 evel-Doc-Comments"><a.href="#toc
e020 2d 54 6f 70 2d 4c 65 76 65 6c 2d 44 6f 63 2d 43 6f 6d 6d 65 6e 74 73 22 3e 54 6f 70 2d 4c 65 76 -Top-Level-Doc-Comments">Top-Lev
e040 65 6c 20 44 6f 63 20 43 6f 6d 6d 65 6e 74 73 3c 2f 61 3e 20 3c 61 20 63 6c 61 73 73 3d 22 68 64 el.Doc.Comments</a>.<a.class="hd
e060 72 22 20 68 72 65 66 3d 22 23 54 6f 70 2d 4c 65 76 65 6c 2d 44 6f 63 2d 43 6f 6d 6d 65 6e 74 73 r".href="#Top-Level-Doc-Comments
e080 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 73 65 72 20 64 6f 63 ">..</a></h3>........<p>User.doc
e0a0 75 6d 65 6e 74 61 74 69 6f 6e 20 74 68 61 74 20 64 6f 65 73 6e 27 74 20 62 65 6c 6f 6e 67 20 74 umentation.that.doesn't.belong.t
e0c0 6f 20 77 68 61 74 65 76 65 72 0a 20 20 20 20 20 20 69 6d 6d 65 64 69 61 74 65 6c 79 20 66 6f 6c o.whatever.......immediately.fol
e0e0 6c 6f 77 73 20 69 74 2c 20 6c 69 6b 65 20 3c 61 20 68 72 65 66 3d 22 23 43 6f 6e 74 61 69 6e 65 lows.it,.like.<a.href="#Containe
e100 72 73 22 3e 63 6f 6e 74 61 69 6e 65 72 3c 2f 61 3e 2d 6c 65 76 65 6c 20 64 6f 63 75 6d 65 6e 74 rs">container</a>-level.document
e120 61 74 69 6f 6e 2c 20 67 6f 65 73 0a 20 20 20 20 20 20 69 6e 20 74 6f 70 2d 6c 65 76 65 6c 20 64 ation,.goes.......in.top-level.d
e140 6f 63 20 63 6f 6d 6d 65 6e 74 73 2e 20 41 20 74 6f 70 2d 6c 65 76 65 6c 20 64 6f 63 20 63 6f 6d oc.comments..A.top-level.doc.com
e160 6d 65 6e 74 20 69 73 20 6f 6e 65 20 74 68 61 74 0a 20 20 20 20 20 20 62 65 67 69 6e 73 20 77 69 ment.is.one.that.......begins.wi
e180 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 61 6d 61 74 69 6f th.two.slashes.and.an.exclamatio
e1a0 6e 20 70 6f 69 6e 74 3a 0a 20 20 20 20 20 20 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 n.point:.......<code><span.class
e1c0 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 63 6f 6d 6d 65 6e 74 ="line"><span.class="tok-comment
e1e0 22 3e 2f 2f 21 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 2e 3c 2f 70 3e 0a ">//!</span></span></code>.</p>.
e200 20 20 20 20 20 20 3c 66 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=
e220 22 7a 69 67 2d 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 6c 64 "zig-cap"><cite.class="file">tld
e240 6f 63 5f 63 6f 6d 6d 65 6e 74 73 2e 7a 69 67 3c 2f 63 69 74 65 3e 3c 2f 66 69 67 63 61 70 74 69 oc_comments.zig</cite></figcapti
e260 6f 6e 3e 3c 70 72 65 3e 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 on><pre><code><span.class="line"
e280 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 21 20 54 ><span.class="tok-comment">//!.T
e2a0 68 69 73 20 6d 6f 64 75 6c 65 20 70 72 6f 76 69 64 65 73 20 66 75 6e 63 74 69 6f 6e 73 20 66 6f his.module.provides.functions.fo
e2c0 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 20 61 6e r.retrieving.the.current.date.an
e2e0 64 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e d</span></span>.<span.class="lin
e300 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 63 6f 6d 6d 65 6e 74 22 3e 2f 2f 21 e"><span.class="tok-comment">//!
e320 20 74 69 6d 65 20 77 69 74 68 20 76 61 72 79 69 6e 67 20 64 65 67 72 65 65 73 20 6f 66 20 70 72 .time.with.varying.degrees.of.pr
e340 65 63 69 73 69 6f 6e 20 61 6e 64 20 61 63 63 75 72 61 63 79 2e 20 49 74 20 64 6f 65 73 20 6e 6f ecision.and.accuracy..It.does.no
e360 74 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e t</span></span>.<span.class="lin
e380 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 63 6f 6d 6d 65 6e 74 22 3e 2f 2f 21 e"><span.class="tok-comment">//!
e3a0 20 64 65 70 65 6e 64 20 6f 6e 20 6c 69 62 63 2c 20 62 75 74 20 77 69 6c 6c 20 75 73 65 20 66 75 .depend.on.libc,.but.will.use.fu
e3c0 6e 63 74 69 6f 6e 73 20 66 72 6f 6d 20 69 74 20 69 66 20 61 76 61 69 6c 61 62 6c 65 2e 3c 2f 73 nctions.from.it.if.available.</s
e3e0 70 61 6e 3e 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 3c 2f 70 72 65 3e 3c 2f 66 69 67 75 72 65 pan></span></code></pre></figure
e400 3e 0a 20 20 20 20 20 20 0a 20 20 20 20 20 20 0a 20 20 20 20 20 20 3c 68 32 20 69 64 3d 22 56 61 >.....................<h2.id="Va
e420 6c 75 65 73 22 3e 3c 61 20 68 72 65 66 3d 22 23 74 6f 63 2d 56 61 6c 75 65 73 22 3e 56 61 6c 75 lues"><a.href="#toc-Values">Valu
e440 65 73 3c 2f 61 3e 20 3c 61 20 63 6c 61 73 73 3d 22 68 64 72 22 20 68 72 65 66 3d 22 23 56 61 6c es</a>.<a.class="hdr".href="#Val
e460 75 65 73 22 3e c2 a7 3c 2f 61 3e 3c 2f 68 32 3e 0a 0a 20 20 20 20 20 20 3c 66 69 67 75 72 65 3e ues">..</a></h2>........<figure>
e480 3c 66 69 67 63 61 70 74 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
e4a0 65 20 63 6c 61 73 73 3d 22 66 69 6c 65 22 3e 76 61 6c 75 65 73 2e 7a 69 67 3c 2f 63 69 74 65 3e e.class="file">values.zig</cite>
e4c0 3c 2f 66 69 67 63 61 70 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
e4e0 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 63 6f 6d 6d ass="line"><span.class="tok-comm
e500 65 6e 74 22 3e 2f 2f 20 54 6f 70 2d 6c 65 76 65 6c 20 64 65 63 6c 61 72 61 74 69 6f 6e 73 20 61 ent">//.Top-level.declarations.a
e520 72 65 20 6f 72 64 65 72 2d 69 6e 64 65 70 65 6e 64 65 6e 74 3a 3c 2f 73 70 61 6e 3e 3c 2f 73 70 re.order-independent:</span></sp
e540 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 an>.<span.class="line"><span.cla
e560 73 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.=
e580 20 73 74 64 2e 64 65 62 75 67 2e 70 72 69 6e 74 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 .std.debug.print;</span>.<span.c
e5a0 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 lass="line"><span.class="tok-kw"
e5c0 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=
e5e0 22 74 6f 6b 2d 62 75 69 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
e600 61 6e 20 63 6c 61 73 73 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
e620 74 3b 3c 2f 73 70 61 6e 3e 29 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 t;</span>);</span>.<span.class="
e640 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 63 6f 6e 73 74 line"><span.class="tok-kw">const
e660 3c 2f 73 70 61 6e 3e 20 6f 73 20 3d 20 73 74 64 2e 6f 73 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 </span>.os.=.std.os;</span>.<spa
e680 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d n.class="line"><span.class="tok-
e6a0 6b 77 22 3e 63 6f 6e 73 74 3c 2f 73 70 61 6e 3e 20 61 73 73 65 72 74 20 3d 20 73 74 64 2e 64 65 kw">const</span>.assert.=.std.de
e6c0 62 75 67 2e 61 73 73 65 72 74 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 bug.assert;</span>.<span.class="
e6e0 6c 69 6e 65 22 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 line"></span>.<span.class="line"
e700 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 70 75 62 3c 2f 73 70 61 6e 3e ><span.class="tok-kw">pub</span>
e720 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>.
e740 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>
e760 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</
e780 73 70 61 6e 3e 20 7b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 span>.{</span>.<span.class="line
e7a0 22 3e 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 63 6f 6d 6d 65 6e 74 22 3e ">....<span.class="tok-comment">
e7c0 2f 2f 20 69 6e 74 65 67 65 72 73 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 //.integers</span></span>.<span.
e7e0 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f class="line">....<span.class="to
e800 6b 2d 6b 77 22 3e 63 6f 6e 73 74 3c 2f 73 70 61 6e 3e 20 6f 6e 65 5f 70 6c 75 73 5f 6f 6e 65 3a k-kw">const</span>.one_plus_one:
e820 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
e840 6e 3e 20 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 31 3c n>.=.<span.class="tok-number">1<
e860 2f 73 70 61 6e 3e 20 2b 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 /span>.+.<span.class="tok-number
e880 22 3e 31 3c 2f 73 70 61 6e 3e 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 ">1</span>;</span>.<span.class="
e8a0 6c 69 6e 65 22 3e 20 20 20 20 70 72 69 6e 74 28 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b line">....print(<span.class="tok
e8c0 2d 73 74 72 22 3e 26 71 75 6f 74 3b 31 20 2b 20 31 20 3d 20 7b 7d 5c 6e 26 71 75 6f 74 3b 3c 2f -str">&quot;1.+.1.=.{}\n&quot;</
e8e0 73 70 61 6e 3e 2c 20 2e 7b 6f 6e 65 5f 70 6c 75 73 5f 6f 6e 65 7d 29 3b 3c 2f 73 70 61 6e 3e 0a span>,..{one_plus_one});</span>.
e900 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e <span.class="line"></span>.<span
e920 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 .class="line">....<span.class="t
e940 6f 6b 2d 63 6f 6d 6d 65 6e 74 22 3e 2f 2f 20 66 6c 6f 61 74 73 3c 2f 73 70 61 6e 3e 3c 2f 73 70 ok-comment">//.floats</span></sp
e960 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 3c 73 70 61 6e an>.<span.class="line">....<span
e980 20 63 6c 61 73 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
e9a0 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
e9c0 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
e9e0 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
ea00 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 33 2e 30 3c 2f 73 70 61 6e 3e 3b 3c 2f 73 70 ass="tok-number">3.0</span>;</sp
ea20 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 70 72 69 6e 74 an>.<span.class="line">....print
ea40 28 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 73 74 72 22 3e 26 71 75 6f 74 3b 37 2e 30 (<span.class="tok-str">&quot;7.0
ea60 20 2f 20 33 2e 30 20 3d 20 7b 7d 5c 6e 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 2c 20 2e 7b 73 65 ./.3.0.=.{}\n&quot;</span>,..{se
ea80 76 65 6e 5f 64 69 76 5f 74 68 72 65 65 7d 29 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c ven_div_three});</span>.<span.cl
eaa0 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 ass="line"></span>.<span.class="
eac0 6c 69 6e 65 22 3e 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 63 6f 6d 6d 65 line">....<span.class="tok-comme
eae0 6e 74 22 3e 2f 2f 20 62 6f 6f 6c 65 61 6e 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 nt">//.boolean</span></span>.<sp
eb00 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 70 72 69 6e 74 28 3c 73 70 61 6e 20 an.class="line">....print(<span.
eb20 63 6c 61 73 73 3d 22 74 6f 6b 2d 73 74 72 22 3e 26 71 75 6f 74 3b 7b 7d 5c 6e 7b 7d 5c 6e 7b 7d class="tok-str">&quot;{}\n{}\n{}
eb40 5c 6e 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 2c 20 2e 7b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e \n&quot;</span>,..{</span>.<span
eb60 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 .class="line">........<span.clas
eb80 73 3d 22 74 6f 6b 2d 6e 75 6c 6c 22 3e 74 72 75 65 3c 2f 73 70 61 6e 3e 20 3c 73 70 61 6e 20 63 s="tok-null">true</span>.<span.c
eba0 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 61 6e 64 3c 2f 73 70 61 6e 3e 20 3c 73 70 61 6e 20 63 lass="tok-kw">and</span>.<span.c
ebc0 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6c 6c 22 3e 66 61 6c 73 65 3c 2f 73 70 61 6e 3e 2c 3c 2f 73 lass="tok-null">false</span>,</s
ebe0 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 20 20 20 20 pan>.<span.class="line">........
ec00 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
ec20 6e 3e 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 6f 72 3c 2f 73 70 61 6e n>.<span.class="tok-kw">or</span
ec40 3e 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6c 6c 22 3e 66 61 6c 73 65 3c 2f >.<span.class="tok-null">false</
ec60 73 70 61 6e 3e 2c 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 span>,</span>.<span.class="line"
ec80 3e 20 20 20 20 20 20 20 20 21 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6c 6c 22 >........!<span.class="tok-null"
eca0 3e 74 72 75 65 3c 2f 73 70 61 6e 3e 2c 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 >true</span>,</span>.<span.class
ecc0 3d 22 6c 69 6e 65 22 3e 20 20 20 20 7d 29 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 ="line">....});</span>.<span.cla
ece0 73 73 3d 22 6c 69 6e 65 22 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c ss="line"></span>.<span.class="l
ed00 69 6e 65 22 3e 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 63 6f 6d 6d 65 6e ine">....<span.class="tok-commen
ed20 74 22 3e 2f 2f 20 6f 70 74 69 6f 6e 61 6c 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 t">//.optional</span></span>.<sp
ed40 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d an.class="line">....<span.class=
ed60 22 74 6f 6b 2d 6b 77 22 3e 76 61 72 3c 2f 73 70 61 6e 3e 20 6f 70 74 69 6f 6e 61 6c 5f 76 61 6c "tok-kw">var</span>.optional_val
ed80 75 65 3a 20 3f 5b 5d 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 63 6f 6e 73 ue:.?[]<span.class="tok-kw">cons
eda0 74 3c 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">
edc0 75 38 3c 2f 73 70 61 6e 3e 20 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6c u8</span>.=.<span.class="tok-nul
ede0 6c 22 3e 6e 75 6c 6c 3c 2f 73 70 61 6e 3e 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 l">null</span>;</span>.<span.cla
ee00 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 61 73 73 65 72 74 28 6f 70 74 69 6f 6e 61 6c 5f 76 61 ss="line">....assert(optional_va
ee20 6c 75 65 20 3d 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6c 6c 22 3e 6e 75 lue.==.<span.class="tok-null">nu
ee40 6c 6c 3c 2f 73 70 61 6e 3e 29 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 ll</span>);</span>.<span.class="
ee60 6c 69 6e 65 22 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 line"></span>.<span.class="line"
ee80 3e 20 20 20 20 70 72 69 6e 74 28 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 73 74 72 22 >....print(<span.class="tok-str"
eea0 3e 26 71 75 6f 74 3b 5c 6e 6f 70 74 69 6f 6e 61 6c 20 31 5c 6e 74 79 70 65 3a 20 7b 7d 5c 6e 76 >&quot;\noptional.1\ntype:.{}\nv
eec0 61 6c 75 65 3a 20 7b 3f 73 7d 5c 6e 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 2c 20 2e 7b 3c 2f 73 alue:.{?s}\n&quot;</span>,..{</s
eee0 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 20 20 20 20 pan>.<span.class="line">........
ef00 3c 73 70 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
ef20 66 3c 2f 73 70 61 6e 3e 28 6f 70 74 69 6f 6e 61 6c 5f 76 61 6c 75 65 29 2c 20 6f 70 74 69 6f 6e f</span>(optional_value),.option
ef40 61 6c 5f 76 61 6c 75 65 2c 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 al_value,</span>.<span.class="li
ef60 6e 65 22 3e 20 20 20 20 7d 29 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 ne">....});</span>.<span.class="
ef80 6c 69 6e 65 22 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 line"></span>.<span.class="line"
efa0 3e 20 20 20 20 6f 70 74 69 6f 6e 61 6c 5f 76 61 6c 75 65 20 3d 20 3c 73 70 61 6e 20 63 6c 61 73 >....optional_value.=.<span.clas
efc0 73 3d 22 74 6f 6b 2d 73 74 72 22 3e 26 71 75 6f 74 3b 68 69 26 71 75 6f 74 3b 3c 2f 73 70 61 6e s="tok-str">&quot;hi&quot;</span
efe0 3e 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 >;</span>.<span.class="line">...
f000 20 61 73 73 65 72 74 28 6f 70 74 69 6f 6e 61 6c 5f 76 61 6c 75 65 20 21 3d 20 3c 73 70 61 6e 20 .assert(optional_value.!=.<span.
f020 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6c 6c 22 3e 6e 75 6c 6c 3c 2f 73 70 61 6e 3e 29 3b 3c 2f class="tok-null">null</span>);</
f040 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 2f 73 70 61 6e 3e span>.<span.class="line"></span>
f060 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 70 72 69 6e 74 28 3c 73 .<span.class="line">....print(<s
f080 70 61 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 pan.class="tok-str">&quot;\nopti
f0a0 6f 6e 61 6c 20 32 5c 6e 74 79 70 65 3a 20 7b 7d 5c 6e 76 61 6c 75 65 3a 20 7b 3f 73 7d 5c 6e 26 onal.2\ntype:.{}\nvalue:.{?s}\n&
f0c0 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 2c 20 2e 7b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c quot;</span>,..{</span>.<span.cl
f0e0 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 ass="line">........<span.class="
f100 74 6f 6b 2d 62 75 69 6c 74 69 6e 22 3e 40 54 79 70 65 4f 66 3c 2f 73 70 61 6e 3e 28 6f 70 74 69 tok-builtin">@TypeOf</span>(opti
f120 6f 6e 61 6c 5f 76 61 6c 75 65 29 2c 20 6f 70 74 69 6f 6e 61 6c 5f 76 61 6c 75 65 2c 3c 2f 73 70 onal_value),.optional_value,</sp
f140 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 7d 29 3b 3c 2f an>.<span.class="line">....});</
f160 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 2f 73 70 61 6e 3e span>.<span.class="line"></span>
f180 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 3c 73 70 61 6e 20 63 6c .<span.class="line">....<span.cl
f1a0 61 73 73 3d 22 74 6f 6b 2d 63 6f 6d 6d 65 6e 74 22 3e 2f 2f 20 65 72 72 6f 72 20 75 6e 69 6f 6e ass="tok-comment">//.error.union
f1c0 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 </span></span>.<span.class="line
f1e0 22 3e 20 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</
f200 73 70 61 6e 3e 20 6e 75 6d 62 65 72 5f 6f 72 5f 65 72 72 6f 72 3a 20 3c 73 70 61 6e 20 63 6c 61 span>.number_or_error:.<span.cla
f220 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 61 6e 79 65 72 72 6f 72 3c 2f 73 70 61 6e 3e 21 3c 73 ss="tok-type">anyerror</span>!<s
f240 70 61 6e 20 63 6c 61 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>.
f260 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 65 72 72 6f 72 3c 2f 73 70 =.<span.class="tok-kw">error</sp
f280 61 6e 3e 2e 41 72 67 4e 6f 74 46 6f 75 6e 64 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c an>.ArgNotFound;</span>.<span.cl
f2a0 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 ass="line"></span>.<span.class="
f2c0 6c 69 6e 65 22 3e 20 20 20 20 70 72 69 6e 74 28 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b line">....print(<span.class="tok
f2e0 2d 73 74 72 22 3e 26 71 75 6f 74 3b 5c 6e 65 72 72 6f 72 20 75 6e 69 6f 6e 20 31 5c 6e 74 79 70 -str">&quot;\nerror.union.1\ntyp
f300 65 3a 20 7b 7d 5c 6e 76 61 6c 75 65 3a 20 7b 21 7d 5c 6e 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e e:.{}\nvalue:.{!}\n&quot;</span>
f320 2c 20 2e 7b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 ,..{</span>.<span.class="line">.
f340 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"
f360 3e 40 54 79 70 65 4f 66 3c 2f 73 70 61 6e 3e 28 6e 75 6d 62 65 72 5f 6f 72 5f 65 72 72 6f 72 29 >@TypeOf</span>(number_or_error)
f380 2c 20 6e 75 6d 62 65 72 5f 6f 72 5f 65 72 72 6f 72 2c 20 7d 29 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 ,.number_or_error,.});</span>.<s
f3a0 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 pan.class="line"></span>.<span.c
f3c0 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 6e 75 6d 62 65 72 5f 6f 72 5f 65 72 72 6f 72 20 lass="line">....number_or_error.
f3e0 3d 20 3c 73 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<
f400 2f 73 70 61 6e 3e 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 /span>;</span>.<span.class="line
f420 22 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 "></span>.<span.class="line">...
f440 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
f460 6f 74 3b 5c 6e 65 72 72 6f 72 20 75 6e 69 6f 6e 20 32 5c 6e 74 79 70 65 3a 20 7b 7d 5c 6e 76 61 ot;\nerror.union.2\ntype:.{}\nva
f480 6c 75 65 3a 20 7b 21 7d 5c 6e 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 2c 20 2e 7b 3c 2f 73 70 61 lue:.{!}\n&quot;</span>,..{</spa
f4a0 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 20 20 20 20 3c 73 n>.<span.class="line">........<s
f4c0 70 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<
f4e0 2f 73 70 61 6e 3e 28 6e 75 6d 62 65 72 5f 6f 72 5f 65 72 72 6f 72 29 2c 20 6e 75 6d 62 65 72 5f /span>(number_or_error),.number_
f500 6f 72 5f 65 72 72 6f 72 2c 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 or_error,</span>.<span.class="li
f520 6e 65 22 3e 20 20 20 20 7d 29 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 ne">....});</span>.<span.class="
f540 6c 69 6e 65 22 3e 7d 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 3c 2f 70 72 65 3e 3c 2f 66 69 67 line">}</span></code></pre></fig
f560 75 72 65 3e 3c 66 69 67 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
f580 68 65 6c 6c 2d 63 61 70 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
f5a0 3e 3c 73 61 6d 70 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 24 20 3c 6b 62 64 ><samp><span.class="line">$.<kbd
f5c0 3e 7a 69 67 20 62 75 69 6c 64 2d 65 78 65 20 76 61 6c 75 65 73 2e 7a 69 67 3c 2f 6b 62 64 3e 3c >zig.build-exe.values.zig</kbd><
f5e0 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 2f 73 70 61 6e /span>.<span.class="line"></span
f600 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 24 20 3c 6b 62 64 3e 2e 2f 76 61 >.<span.class="line">$.<kbd>./va
f620 6c 75 65 73 3c 2f 6b 62 64 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c lues</kbd></span>.<span.class="l
f640 69 6e 65 22 3e 31 20 2b 20 31 20 3d 20 32 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 ine">1.+.1.=.2</span>.<span.clas
f660 73 3d 22 6c 69 6e 65 22 3e 37 2e 30 20 2f 20 33 2e 30 20 3d 20 32 2e 33 33 33 33 33 33 32 35 65 s="line">7.0./.3.0.=.2.33333325e
f680 2b 30 30 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 66 61 +00</span>.<span.class="line">fa
f6a0 6c 73 65 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 74 72 lse</span>.<span.class="line">tr
f6c0 75 65 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 66 61 6c ue</span>.<span.class="line">fal
f6e0 73 65 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 2f 73 se</span>.<span.class="line"></s
f700 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 6f 70 74 69 6f 6e 61 6c pan>.<span.class="line">optional
f720 20 31 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 74 79 70 .1</span>.<span.class="line">typ
f740 65 3a 20 3f 5b 5d 63 6f 6e 73 74 20 75 38 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 e:.?[]const.u8</span>.<span.clas
f760 73 3d 22 6c 69 6e 65 22 3e 76 61 6c 75 65 3a 20 6e 75 6c 6c 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 s="line">value:.null</span>.<spa
f780 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 n.class="line"></span>.<span.cla
f7a0 73 73 3d 22 6c 69 6e 65 22 3e 6f 70 74 69 6f 6e 61 6c 20 32 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 ss="line">optional.2</span>.<spa
f7c0 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 74 79 70 65 3a 20 3f 5b 5d 63 6f 6e 73 74 20 75 38 n.class="line">type:.?[]const.u8
f7e0 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 76 61 6c 75 65 </span>.<span.class="line">value
f800 3a 20 68 69 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c :.hi</span>.<span.class="line"><
f820 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 65 72 72 6f 72 20 /span>.<span.class="line">error.
f840 75 6e 69 6f 6e 20 31 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 union.1</span>.<span.class="line
f860 22 3e 74 79 70 65 3a 20 61 6e 79 65 72 72 6f 72 21 69 33 32 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 ">type:.anyerror!i32</span>.<spa
f880 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 76 61 6c 75 65 3a 20 65 72 72 6f 72 2e 41 72 67 4e n.class="line">value:.error.ArgN
f8a0 6f 74 46 6f 75 6e 64 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 otFound</span>.<span.class="line
f8c0 22 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 65 72 72 "></span>.<span.class="line">err
f8e0 6f 72 20 75 6e 69 6f 6e 20 32 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c or.union.2</span>.<span.class="l
f900 69 6e 65 22 3e 74 79 70 65 3a 20 61 6e 79 65 72 72 6f 72 21 69 33 32 3c 2f 73 70 61 6e 3e 0a 3c ine">type:.anyerror!i32</span>.<
f920 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 76 61 6c 75 65 3a 20 31 32 33 34 3c 2f 73 span.class="line">value:.1234</s
f940 70 61 6e 3e 0a 3c 2f 73 61 6d 70 3e 3c 2f 70 72 65 3e 3c 2f 66 69 67 75 72 65 3e 0a 20 20 20 20 pan>.</samp></pre></figure>.....
f960 20 20 3c 68 33 20 69 64 3d 22 50 72 69 6d 69 74 69 76 65 2d 54 79 70 65 73 22 3e 3c 61 20 68 72 ..<h3.id="Primitive-Types"><a.hr
f980 65 66 3d 22 23 74 6f 63 2d 50 72 69 6d 69 74 69 76 65 2d 54 79 70 65 73 22 3e 50 72 69 6d 69 74 ef="#toc-Primitive-Types">Primit
f9a0 69 76 65 20 54 79 70 65 73 3c 2f 61 3e 20 3c 61 20 63 6c 61 73 73 3d 22 68 64 72 22 20 68 72 65 ive.Types</a>.<a.class="hdr".hre
f9c0 66 3d 22 23 50 72 69 6d 69 74 69 76 65 2d 54 79 70 65 73 22 3e c2 a7 3c 2f 61 3e 3c 2f 68 33 3e f="#Primitive-Types">..</a></h3>
f9e0 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
fa00 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 69 r">.......<table>.........<capti
fa20 6f 6e 3e 50 72 69 6d 69 74 69 76 65 20 54 79 70 65 73 3c 2f 63 61 70 74 69 6f 6e 3e 0a 20 20 20 on>Primitive.Types</caption>....
fa40 20 20 20 20 20 3c 74 68 65 61 64 3e 0a 20 20 20 20 20 20 20 20 20 20 20 20 3c 74 72 3e 0a 20 20 .....<thead>.............<tr>...
fa60 20 20 20 20 20 20 20 20 20 20 3c 74 68 20 73 63 6f 70 65 3d 22 63 6f 6c 22 3e 54 79 70 65 3c 2f ..........<th.scope="col">Type</
fa80 74 68 3e 0a 20 20 20 20 20 20 20 20 20 20 20 20 3c 74 68 20 73 63 6f 70 65 3d 22 63 6f 6c 22 3e th>.............<th.scope="col">
faa0 43 20 45 71 75 69 76 61 6c 65 6e 74 3c 2f 74 68 3e 0a 20 20 20 20 20 20 20 20 20 20 20 20 3c 74 C.Equivalent</th>.............<t
fac0 68 20 73 63 6f 70 65 3d 22 63 6f 6c 22 3e 44 65 73 63 72 69 70 74 69 6f 6e 3c 2f 74 68 3e 0a 20 h.scope="col">Description</th>..
fae0 20 20 20 20 20 20 20 3c 2f 74 72 3e 0a 20 20 20 20 20 20 20 20 3c 2f 74 68 65 61 64 3e 0a 20 20 .......</tr>.........</thead>...
fb00 20 20 20 20 20 20 3c 74 62 6f 64 79 3e 0a 20 20 20 20 20 20 20 20 3c 74 72 3e 0a 20 20 20 20 20 ......<tbody>.........<tr>......
fb20 20 20 20 20 20 20 20 3c 74 68 20 73 63 6f 70 65 3d 22 72 6f 77 22 3e 3c 63 6f 64 65 3e 3c 73 70 .......<th.scope="row"><code><sp
fb40 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b an.class="line"><span.class="tok
fb60 2d 74 79 70 65 22 3e 69 38 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 3c 2f -type">i8</span></span></code></
fb80 74 68 3e 0a 20 20 20 20 20 20 20 20 20 20 3c 74 64 3e 3c 63 6f 64 65 20 63 6c 61 73 73 3d 22 63 th>...........<td><code.class="c
fba0 22 3e 69 6e 74 38 5f 74 3c 2f 63 6f 64 65 3e 3c 2f 74 64 3e 0a 20 20 20 20 20 20 20 20 20 20 3c ">int8_t</code></td>...........<
fbc0 74 64 3e 73 69 67 6e 65 64 20 38 2d 62 69 74 20 69 6e 74 65 67 65 72 3c 2f 74 64 3e 0a 20 20 20 td>signed.8-bit.integer</td>....
fbe0 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>.........
fc00 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.
fc20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 class="line"><span.class="tok-ty
fc40 70 65 22 3e 75 38 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 3c 2f 74 68 3e pe">u8</span></span></code></th>
fc60 0a 20 20 20 20 20 20 20 20 20 20 3c 74 64 3e 3c 63 6f 64 65 20 63 6c 61 73 73 3d 22 63 22 3e 75 ...........<td><code.class="c">u
fc80 69 6e 74 38 5f 74 3c 2f 63 6f 64 65 3e 3c 2f 74 64 3e 0a 20 20 20 20 20 20 20 20 20 20 3c 74 64 int8_t</code></td>...........<td
fca0 3e 75 6e 73 69 67 6e 65 64 20 38 2d 62 69 74 20 69 6e 74 65 67 65 72 3c 2f 74 64 3e 0a 20 20 20 >unsigned.8-bit.integer</td>....
fcc0 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>.........
fce0 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.
fd00 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 class="line"><span.class="tok-ty
fd20 70 65 22 3e 69 31 36 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 3c 2f 74 68 pe">i16</span></span></code></th
fd40 3e 0a 20 20 20 20 20 20 20 20 20 20 3c 74 64 3e 3c 63 6f 64 65 20 63 6c 61 73 73 3d 22 63 22 3e >...........<td><code.class="c">
fd60 69 6e 74 31 36 5f 74 3c 2f 63 6f 64 65 3e 3c 2f 74 64 3e 0a 20 20 20 20 20 20 20 20 20 20 3c 74 int16_t</code></td>...........<t
fd80 64 3e 73 69 67 6e 65 64 20 31 36 2d 62 69 74 20 69 6e 74 65 67 65 72 3c 2f 74 64 3e 0a 20 20 20 d>signed.16-bit.integer</td>....
fda0 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>.........
fdc0 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.
fde0 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 class="line"><span.class="tok-ty
fe00 70 65 22 3e 75 31 36 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 3c 2f 74 68 pe">u16</span></span></code></th
fe20 3e 0a 20 20 20 20 20 20 20 20 20 20 3c 74 64 3e 3c 63 6f 64 65 20 63 6c 61 73 73 3d 22 63 22 3e >...........<td><code.class="c">
fe40 75 69 6e 74 31 36 5f 74 3c 2f 63 6f 64 65 3e 3c 2f 74 64 3e 0a 20 20 20 20 20 20 20 20 20 20 3c uint16_t</code></td>...........<
fe60 74 64 3e 75 6e 73 69 67 6e 65 64 20 31 36 2d 62 69 74 20 69 6e 74 65 67 65 72 3c 2f 74 64 3e 0a td>unsigned.16-bit.integer</td>.
fe80 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>......
fea0 20 20 20 20 20 20 20 3c 74 68 20 73 63 6f 70 65 3d 22 72 6f 77 22 3e 3c 63 6f 64 65 3e 3c 73 70 .......<th.scope="row"><code><sp
fec0 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b an.class="line"><span.class="tok
fee0 2d 74 79 70 65 22 3e 69 33 32 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 3c -type">i32</span></span></code><
ff00 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="
ff20 63 22 3e 69 6e 74 33 32 5f 74 3c 2f 63 6f 64 65 3e 3c 2f 74 64 3e 0a 20 20 20 20 20 20 20 20 20 c">int32_t</code></td>..........
ff40 20 3c 74 64 3e 73 69 67 6e 65 64 20 33 32 2d 62 69 74 20 69 6e 74 65 67 65 72 3c 2f 74 64 3e 0a .<td>signed.32-bit.integer</td>.
ff60 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>......
ff80 20 20 20 20 20 20 20 3c 74 68 20 73 63 6f 70 65 3d 22 72 6f 77 22 3e 3c 63 6f 64 65 3e 3c 73 70 .......<th.scope="row"><code><sp
ffa0 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b an.class="line"><span.class="tok
ffc0 2d 74 79 70 65 22 3e 75 33 32 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 3c -type">u32</span></span></code><
ffe0 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="
10000 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>.........
10020 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
10040 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>...
10060 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>
10080 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 <span.class="line"><span.class="
100a0 74 6f 6b 2d 74 79 70 65 22 3e 69 36 34 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 tok-type">i64</span></span></cod
100c0 65 3e 3c 2f 74 68 3e 0a 20 20 20 20 20 20 20 20 20 20 3c 74 64 3e 3c 63 6f 64 65 20 63 6c 61 73 e></th>...........<td><code.clas
100e0 73 3d 22 63 22 3e 69 6e 74 36 34 5f 74 3c 2f 63 6f 64 65 3e 3c 2f 74 64 3e 0a 20 20 20 20 20 20 s="c">int64_t</code></td>.......
10100 20 20 20 20 3c 74 64 3e 73 69 67 6e 65 64 20 36 34 2d 62 69 74 20 69 6e 74 65 67 65 72 3c 2f 74 ....<td>signed.64-bit.integer</t
10120 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>...
10140 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>
10160 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 <span.class="line"><span.class="
10180 74 6f 6b 2d 74 79 70 65 22 3e 75 36 34 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 tok-type">u64</span></span></cod
101a0 65 3e 3c 2f 74 68 3e 0a 20 20 20 20 20 20 20 20 20 20 3c 74 64 3e 3c 63 6f 64 65 20 63 6c 61 73 e></th>...........<td><code.clas
101c0 73 3d 22 63 22 3e 75 69 6e 74 36 34 5f 74 3c 2f 63 6f 64 65 3e 3c 2f 74 64 3e 0a 20 20 20 20 20 s="c">uint64_t</code></td>......
101e0 20 20 20 20 20 3c 74 64 3e 75 6e 73 69 67 6e 65 64 20 36 34 2d 62 69 74 20 69 6e 74 65 67 65 72 .....<td>unsigned.64-bit.integer
10200 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>
10220 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
10240 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 de><span.class="line"><span.clas
10260 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 69 31 32 38 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 3c s="tok-type">i128</span></span><
10280 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.
102a0 63 6c 61 73 73 3d 22 63 22 3e 5f 5f 69 6e 74 31 32 38 3c 2f 63 6f 64 65 3e 3c 2f 74 64 3e 0a 20 class="c">__int128</code></td>..
102c0 20 20 20 20 20 20 20 20 20 3c 74 64 3e 73 69 67 6e 65 64 20 31 32 38 2d 62 69 74 20 69 6e 74 65 .........<td>signed.128-bit.inte
102e0 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>.........<
10300 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">
10320 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 <code><span.class="line"><span.c
10340 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 75 31 32 38 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 lass="tok-type">u128</span></spa
10360 6e 3e 3c 2f 63 6f 64 65 3e 3c 2f 74 68 3e 0a 20 20 20 20 20 20 20 20 20 20 3c 74 64 3e 3c 63 6f n></code></th>...........<td><co
10380 64 65 20 63 6c 61 73 73 3d 22 63 22 3e 75 6e 73 69 67 6e 65 64 20 5f 5f 69 6e 74 31 32 38 3c 2f de.class="c">unsigned.__int128</
103a0 63 6f 64 65 3e 3c 2f 74 64 3e 0a 20 20 20 20 20 20 20 20 20 20 3c 74 64 3e 75 6e 73 69 67 6e 65 code></td>...........<td>unsigne
103c0 64 20 31 32 38 2d 62 69 74 20 69 6e 74 65 67 65 72 3c 2f 74 64 3e 0a 20 20 20 20 20 20 20 20 3c d.128-bit.integer</td>.........<
103e0 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
10400 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=
10420 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 69 73 "line"><span.class="tok-type">is
10440 69 7a 65 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 3c 2f 74 68 3e 0a 20 20 ize</span></span></code></th>...
10460 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 70 ........<td><code.class="c">intp
10480 74 72 5f 74 3c 2f 63 6f 64 65 3e 3c 2f 74 64 3e 0a 20 20 20 20 20 20 20 20 20 20 3c 74 64 3e 73 tr_t</code></td>...........<td>s
104a0 69 67 6e 65 64 20 70 6f 69 6e 74 65 72 20 73 69 7a 65 64 20 69 6e 74 65 67 65 72 3c 2f 74 64 3e igned.pointer.sized.integer</td>
104c0 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>.....
104e0 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
10500 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f pan.class="line"><span.class="to
10520 6b 2d 74 79 70 65 22 3e 75 73 69 7a 65 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 k-type">usize</span></span></cod
10540 65 3e 3c 2f 74 68 3e 0a 20 20 20 20 20 20 20 20 20 20 3c 74 64 3e 3c 63 6f 64 65 20 63 6c 61 73 e></th>...........<td><code.clas
10560 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 65 20 63 6c s="c">uintptr_t</code>,.<code.cl
10580 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 20 20 20 20 ass="c">size_t</code></td>......
105a0 20 20 20 20 20 3c 74 64 3e 75 6e 73 69 67 6e 65 64 20 70 6f 69 6e 74 65 72 20 73 69 7a 65 64 20 .....<td>unsigned.pointer.sized.
105c0 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 74 74 70 73 integer..Also.see.<a.href="https
105e0 3a 2f 2f 67 69 74 68 75 62 2e 63 6f 6d 2f 7a 69 67 6c 61 6e 67 2f 7a 69 67 2f 69 73 73 75 65 73 ://github.com/ziglang/zig/issues
10600 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 20 20 3c 2f /5185">#5185</a></td>.........</
10620 74 72 3e 0a 0a 20 20 20 20 20 20 20 20 3c 74 72 3e 0a 20 20 20 20 20 20 20 20 20 20 20 20 3c 74 tr>..........<tr>.............<t
10640 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=
10660 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 63 5f "line"><span.class="tok-type">c_
10680 73 68 6f 72 74 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 3c 2f 74 68 3e 0a short</span></span></code></th>.
106a0 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 73 68 ..........<td><code.class="c">sh
106c0 6f 72 74 3c 2f 63 6f 64 65 3e 3c 2f 74 64 3e 0a 20 20 20 20 20 20 20 20 20 20 3c 74 64 3e 66 6f ort</code></td>...........<td>fo
106e0 72 20 41 42 49 20 63 6f 6d 70 61 74 69 62 69 6c 69 74 79 20 77 69 74 68 20 43 3c 2f 74 64 3e 0a r.ABI.compatibility.with.C</td>.
10700 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>......
10720 20 20 20 20 20 20 20 3c 74 68 20 73 63 6f 70 65 3d 22 72 6f 77 22 3e 3c 63 6f 64 65 3e 3c 73 70 .......<th.scope="row"><code><sp
10740 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b an.class="line"><span.class="tok
10760 2d 74 79 70 65 22 3e 63 5f 75 73 68 6f 72 74 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 3c 2f 63 -type">c_ushort</span></span></c
10780 6f 64 65 3e 3c 2f 74 68 3e 0a 20 20 20 20 20 20 20 20 20 20 3c 74 64 3e 3c 63 6f 64 65 20 63 6c ode></th>...........<td><code.cl
107a0 61 73 73 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 ass="c">unsigned.short</code></t
107c0 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 69 d>...........<td>for.ABI.compati
107e0 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 3e bility.with.C</td>.........</tr>
10800 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
10820 6f 70 65 3d 22 72 6f 77 22 3e 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e ope="row"><code><span.class="lin
10840 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 63 5f 69 6e 74 3c e"><span.class="tok-type">c_int<
10860 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 3c 2f 74 68 3e 0a 20 20 20 20 20 20 /span></span></code></th>.......
10880 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 63 6f 64 ....<td><code.class="c">int</cod
108a0 65 3e 3c 2f 74 64 3e 0a 20 20 20 20 20 20 20 20 20 20 3c 74 64 3e 66 6f 72 20 41 42 49 20 63 6f e></td>...........<td>for.ABI.co
108c0 6d 70 61 74 69 62 69 6c 69 74 79 20 77 69 74 68 20 43 3c 2f 74 64 3e 0a 20 20 20 20 20 20 20 20 mpatibility.with.C</td>.........
108e0 3c 2f 74 72 3e 0a 20 20 20 20 20 20 20 20 3c 74 72 3e 0a 20 20 20 20 20 20 20 20 20 20 20 20 3c </tr>.........<tr>.............<
10900 74 68 20 73 63 6f 70 65 3d 22 72 6f 77 22 3e 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 th.scope="row"><code><span.class
10920 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 63 ="line"><span.class="tok-type">c
10940 5f 75 69 6e 74 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 3c 2f 74 68 3e 0a _uint</span></span></code></th>.
10960 20 20 20 20 20 20 20 20 20 20 3c 74 64 3e 3c 63 6f 64 65 20 63 6c 61 73 73 3d 22 63 22 3e 75 6e ..........<td><code.class="c">un
10980 73 69 67 6e 65 64 20 69 6e 74 3c 2f 63 6f 64 65 3e 3c 2f 74 64 3e 0a 20 20 20 20 20 20 20 20 20 signed.int</code></td>..........
109a0 20 3c 74 64 3e 66 6f 72 20 41 42 49 20 63 6f 6d 70 61 74 69 62 69 6c 69 74 79 20 77 69 74 68 20 .<td>for.ABI.compatibility.with.
109c0 43 3c 2f 74 64 3e 0a 20 20 20 20 20 20 20 20 3c 2f 74 72 3e 0a 20 20 20 20 20 20 20 20 3c 74 72 C</td>.........</tr>.........<tr
109e0 3e 0a 20 20 20 20 20 20 20 20 20 20 20 20 3c 74 68 20 73 63 6f 70 65 3d 22 72 6f 77 22 3e 3c 63 >.............<th.scope="row"><c
10a00 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 ode><span.class="line"><span.cla
10a20 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 63 5f 6c 6f 6e 67 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 ss="tok-type">c_long</span></spa
10a40 6e 3e 3c 2f 63 6f 64 65 3e 3c 2f 74 68 3e 0a 20 20 20 20 20 20 20 20 20 20 3c 74 64 3e 3c 63 6f n></code></th>...........<td><co
10a60 64 65 20 63 6c 61 73 73 3d 22 63 22 3e 6c 6f 6e 67 3c 2f 63 6f 64 65 3e 3c 2f 74 64 3e 0a 20 20 de.class="c">long</code></td>...
10a80 20 20 20 20 20 20 20 20 3c 74 64 3e 66 6f 72 20 41 42 49 20 63 6f 6d 70 61 74 69 62 69 6c 69 74 ........<td>for.ABI.compatibilit
10aa0 79 20 77 69 74 68 20 43 3c 2f 74 64 3e 0a 20 20 20 20 20 20 20 20 3c 2f 74 72 3e 0a 20 20 20 20 y.with.C</td>.........</tr>.....
10ac0 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="
10ae0 72 6f 77 22 3e 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 row"><code><span.class="line"><s
10b00 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 63 5f 75 6c 6f 6e 67 3c 2f 73 70 pan.class="tok-type">c_ulong</sp
10b20 61 6e 3e 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 3c 2f 74 68 3e 0a 20 20 20 20 20 20 20 20 20 an></span></code></th>..........
10b40 20 3c 74 64 3e 3c 63 6f 64 65 20 63 6c 61 73 73 3d 22 63 22 3e 75 6e 73 69 67 6e 65 64 20 6c 6f .<td><code.class="c">unsigned.lo
10b60 6e 67 3c 2f 63 6f 64 65 3e 3c 2f 74 64 3e 0a 20 20 20 20 20 20 20 20 20 20 3c 74 64 3e 66 6f 72 ng</code></td>...........<td>for
10b80 20 41 42 49 20 63 6f 6d 70 61 74 69 62 69 6c 69 74 79 20 77 69 74 68 20 43 3c 2f 74 64 3e 0a 20 .ABI.compatibility.with.C</td>..
10ba0 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>.......
10bc0 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
10be0 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d n.class="line"><span.class="tok-
10c00 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 73 70 61 6e 3e 3c 2f type">c_longlong</span></span></
10c20 63 6f 64 65 3e 3c 2f 74 68 3e 0a 20 20 20 20 20 20 20 20 20 20 3c 74 64 3e 3c 63 6f 64 65 20 63 code></th>...........<td><code.c
10c40 6c 61 73 73 3d 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 lass="c">long.long</code></td>..
10c60 20 20 20 20 20 20 20 20 20 3c 74 64 3e 66 6f 72 20 41 42 49 20 63 6f 6d 70 61 74 69 62 69 6c 69 .........<td>for.ABI.compatibili
10c80 74 79 20 77 69 74 68 20 43 3c 2f 74 64 3e 0a 20 20 20 20 20 20 20 20 3c 2f 74 72 3e 0a 20 20 20 ty.with.C</td>.........</tr>....
10ca0 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=
10cc0 22 72 6f 77 22 3e 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c "row"><code><span.class="line"><
10ce0 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 63 5f 75 6c 6f 6e 67 6c 6f 6e span.class="tok-type">c_ulonglon
10d00 67 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 3c 2f 74 68 3e 0a 20 20 20 20 g</span></span></code></th>.....
10d20 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 6e ......<td><code.class="c">unsign
10d40 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 20 ed.long.long</code></td>........
10d60 20 20 20 3c 74 64 3e 66 6f 72 20 41 42 49 20 63 6f 6d 70 61 74 69 62 69 6c 69 74 79 20 77 69 74 ...<td>for.ABI.compatibility.wit
10d80 68 20 43 3c 2f 74 64 3e 0a 20 20 20 20 20 20 20 20 3c 2f 74 72 3e 0a 20 20 20 20 20 20 20 20 3c h.C</td>.........</tr>.........<
10da0 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">
10dc0 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 <code><span.class="line"><span.c
10de0 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 63 5f 6c 6f 6e 67 64 6f 75 62 6c 65 3c 2f 73 70 lass="tok-type">c_longdouble</sp
10e00 61 6e 3e 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 3c 2f 74 68 3e 0a 20 20 20 20 20 20 20 20 20 an></span></code></th>..........
10e20 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 75 62 6c 65 .<td><code.class="c">long.double
10e40 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
10e60 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>....
10e80 20 20 20 20 20 3c 2f 74 72 3e 0a 0a 20 20 20 20 20 20 20 20 3c 74 72 3e 0a 20 20 20 20 20 20 20 .....</tr>..........<tr>........
10ea0 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
10ec0 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 .class="line"><span.class="tok-t
10ee0 79 70 65 22 3e 66 31 36 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 3c 2f 74 ype">f16</span></span></code></t
10f00 68 3e 0a 20 20 20 20 20 20 20 20 20 20 3c 74 64 3e 3c 63 6f 64 65 20 63 6c 61 73 73 3d 22 63 22 h>...........<td><code.class="c"
10f20 3e 5f 46 6c 6f 61 74 31 36 3c 2f 63 6f 64 65 3e 3c 2f 74 64 3e 0a 20 20 20 20 20 20 20 20 20 20 >_Float16</code></td>...........
10f40 3c 74 64 3e 31 36 2d 62 69 74 20 66 6c 6f 61 74 69 6e 67 20 70 6f 69 6e 74 20 28 31 30 2d 62 69 <td>16-bit.floating.point.(10-bi
10f60 74 20 6d 61 6e 74 69 73 73 61 29 20 49 45 45 45 2d 37 35 34 2d 32 30 30 38 20 62 69 6e 61 72 79 t.mantissa).IEEE-754-2008.binary
10f80 31 36 3c 2f 74 64 3e 0a 20 20 20 20 20 20 20 20 3c 2f 74 72 3e 0a 20 20 20 20 20 20 20 20 3c 74 16</td>.........</tr>.........<t
10fa0 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"><
10fc0 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c code><span.class="line"><span.cl
10fe0 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 66 33 32 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e ass="tok-type">f32</span></span>
11000 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
11020 20 63 6c 61 73 73 3d 22 63 22 3e 66 6c 6f 61 74 3c 2f 63 6f 64 65 3e 3c 2f 74 64 3e 0a 20 20 20 .class="c">float</code></td>....
11040 20 20 20 20 20 20 20 3c 74 64 3e 33 32 2d 62 69 74 20 66 6c 6f 61 74 69 6e 67 20 70 6f 69 6e 74 .......<td>32-bit.floating.point
11060 20 28 32 33 2d 62 69 74 20 6d 61 6e 74 69 73 73 61 29 20 49 45 45 45 2d 37 35 34 2d 32 30 30 38 .(23-bit.mantissa).IEEE-754-2008
11080 20 62 69 6e 61 72 79 33 32 3c 2f 74 64 3e 0a 20 20 20 20 20 20 20 20 3c 2f 74 72 3e 0a 20 20 20 .binary32</td>.........</tr>....
110a0 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=
110c0 22 72 6f 77 22 3e 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c "row"><code><span.class="line"><
110e0 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>
11100 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
11120 64 3e 3c 63 6f 64 65 20 63 6c 61 73 73 3d 22 63 22 3e 64 6f 75 62 6c 65 3c 2f 63 6f 64 65 3e 3c d><code.class="c">double</code><
11140 2f 74 64 3e 0a 20 20 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 /td>...........<td>64-bit.floati
11160 6e 67 20 70 6f 69 6e 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 ng.point.(52-bit.mantissa).IEEE-
11180 37 35 34 2d 32 30 30 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 754-2008.binary64</td>.........<
111a0 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
111c0 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=
111e0 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 66 38 "line"><span.class="tok-type">f8
11200 30 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 3c 2f 74 68 3e 0a 20 20 20 20 0</span></span></code></th>.....
11220 20 20 20 20 20 20 3c 74 64 3e 3c 63 6f 64 65 20 63 6c 61 73 73 3d 22 63 22 3e 64 6f 75 62 6c 65 ......<td><code.class="c">double
11240 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 30 2d 62 69 </code></td>...........<td>80-bi
11260 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 74 69 73 73 t.floating.point.(64-bit.mantiss
11280 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 6e 64 65 64 a).IEEE-754-2008.80-bit.extended
112a0 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 3e 0a 20 20 .precision</td>.........</tr>...
112c0 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
112e0 3d 22 72 6f 77 22 3e 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e ="row"><code><span.class="line">
11300 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 66 31 32 38 3c 2f 73 70 61 <span.class="tok-type">f128</spa
11320 6e 3e 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 3c 2f 74 68 3e 0a 20 20 20 20 20 20 20 20 20 20 n></span></code></th>...........
11340 20 20 3c 74 64 3e 3c 63 6f 64 65 20 63 6c 61 73 73 3d 22 63 22 3e 5f 46 6c 6f 61 74 31 32 38 3c ..<td><code.class="c">_Float128<
11360 2f 63 6f 64 65 3e 3c 2f 74 64 3e 0a 20 20 20 20 20 20 20 20 20 20 3c 74 64 3e 31 32 38 2d 62 69 /code></td>...........<td>128-bi
11380 74 20 66 6c 6f 61 74 69 6e 67 20 70 6f 69 6e 74 20 28 31 31 32 2d 62 69 74 20 6d 61 6e 74 69 73 t.floating.point.(112-bit.mantis
113a0 73 61 29 20 49 45 45 45 2d 37 35 34 2d 32 30 30 38 20 62 69 6e 61 72 79 31 32 38 3c 2f 74 64 3e sa).IEEE-754-2008.binary128</td>
113c0 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>.....
113e0 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
11400 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f pan.class="line"><span.class="to
11420 6b 2d 74 79 70 65 22 3e 62 6f 6f 6c 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 k-type">bool</span></span></code
11440 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
11460 3d 22 63 22 3e 62 6f 6f 6c 3c 2f 63 6f 64 65 3e 3c 2f 74 64 3e 0a 20 20 20 20 20 20 20 20 20 20 ="c">bool</code></td>...........
11480 3c 74 64 3e 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 <td><code><span.class="line"><sp
114a0 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><
114c0 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
114e0 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6c 6c 22 ss="line"><span.class="tok-null"
11500 3e 66 61 6c 73 65 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 3c 2f 74 64 3e >false</span></span></code></td>
11520 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>.....
11540 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
11560 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f pan.class="line"><span.class="to
11580 6b 2d 74 79 70 65 22 3e 61 6e 79 6f 70 61 71 75 65 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 3c k-type">anyopaque</span></span><
115a0 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.
115c0 63 6c 61 73 73 3d 22 63 22 3e 76 6f 69 64 3c 2f 63 6f 64 65 3e 3c 2f 74 64 3e 0a 20 20 20 20 20 class="c">void</code></td>......
115e0 20 20 20 20 20 3c 74 64 3e 55 73 65 64 20 66 6f 72 20 74 79 70 65 2d 65 72 61 73 65 64 20 70 6f .....<td>Used.for.type-erased.po
11600 69 6e 74 65 72 73 2e 3c 2f 74 64 3e 0a 20 20 20 20 20 20 20 20 3c 2f 74 72 3e 0a 20 20 20 20 20 inters.</td>.........</tr>......
11620 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
11640 6f 77 22 3e 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 ow"><code><span.class="line"><sp
11660 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 76 6f 69 64 3c 2f 73 70 61 6e 3e 3c an.class="tok-type">void</span><
11680 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 3c 2f 74 68 3e 0a 20 20 20 20 20 20 20 20 20 20 3c 74 64 /span></code></th>...........<td
116a0 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 41 6c 77 61 79 >(none)</td>...........<td>Alway
116c0 73 20 74 68 65 20 76 61 6c 75 65 20 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c s.the.value.<code><span.class="l
116e0 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 76 6f 69 64 ine"><span.class="tok-type">void
11700 3c 2f 73 70 61 6e 3e 7b 7d 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 3c 2f 74 64 3e 0a 20 20 20 </span>{}</span></code></td>....
11720 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>.........
11740 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.
11760 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 class="line"><span.class="tok-ty
11780 70 65 22 3e 6e 6f 72 65 74 75 72 6e 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 pe">noreturn</span></span></code
117a0 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>
117c0 0a 20 20 20 20 20 20 20 20 20 20 3c 74 64 3e 74 68 65 20 74 79 70 65 20 6f 66 20 3c 63 6f 64 65 ...........<td>the.type.of.<code
117e0 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d ><span.class="line"><span.class=
11800 22 74 6f 6b 2d 6b 77 22 3e 62 72 65 61 6b 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 3c 2f 63 6f "tok-kw">break</span></span></co
11820 64 65 3e 2c 20 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 de>,.<code><span.class="line"><s
11840 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
11860 6e 3e 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 2c 20 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c n></span></code>,.<code><span.cl
11880 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e ass="line"><span.class="tok-kw">
118a0 72 65 74 75 72 6e 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 2c 20 3c 63 6f return</span></span></code>,.<co
118c0 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 de><span.class="line"><span.clas
118e0 73 3d 22 74 6f 6b 2d 6b 77 22 3e 75 6e 72 65 61 63 68 61 62 6c 65 3c 2f 73 70 61 6e 3e 3c 2f 73 s="tok-kw">unreachable</span></s
11900 70 61 6e 3e 3c 2f 63 6f 64 65 3e 2c 20 61 6e 64 20 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 pan></code>,.and.<code><span.cla
11920 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 77 ss="line"><span.class="tok-kw">w
11940 68 69 6c 65 3c 2f 73 70 61 6e 3e 20 28 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 hile</span>.(<span.class="tok-nu
11960 6c 6c 22 3e 74 72 75 65 3c 2f 73 70 61 6e 3e 29 20 7b 7d 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 ll">true</span>).{}</span></code
11980 3e 3c 2f 74 64 3e 0a 20 20 20 20 20 20 20 20 3c 2f 74 72 3e 0a 20 20 20 20 20 20 20 20 3c 74 72 ></td>.........</tr>.........<tr
119a0 3e 0a 20 20 20 20 20 20 20 20 20 20 20 20 3c 74 68 20 73 63 6f 70 65 3d 22 72 6f 77 22 3e 3c 63 >.............<th.scope="row"><c
119c0 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 ode><span.class="line"><span.cla
119e0 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 74 79 70 65 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e ss="tok-type">type</span></span>
11a00 3c 2f 63 6f 64 65 3e 3c 2f 74 68 3e 0a 20 20 20 20 20 20 20 20 20 20 3c 74 64 3e 28 6e 6f 6e 65 </code></th>...........<td>(none
11a20 29 3c 2f 74 64 3e 0a 20 20 20 20 20 20 20 20 20 20 3c 74 64 3e 74 68 65 20 74 79 70 65 20 6f 66 )</td>...........<td>the.type.of
11a40 20 74 79 70 65 73 3c 2f 74 64 3e 0a 20 20 20 20 20 20 20 20 3c 2f 74 72 3e 0a 20 20 20 20 20 20 .types</td>.........</tr>.......
11a60 20 20 3c 74 72 3e 0a 20 20 20 20 20 20 20 20 20 20 20 20 3c 74 68 20 73 63 6f 70 65 3d 22 72 6f ..<tr>.............<th.scope="ro
11a80 77 22 3e 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 w"><code><span.class="line"><spa
11aa0 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
11ac0 6e 3e 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 3c 2f 74 68 3e 0a 20 20 20 20 20 20 20 20 20 20 n></span></code></th>...........
11ae0 3c 74 64 3e 28 6e 6f 6e 65 29 3c 2f 74 64 3e 0a 20 20 20 20 20 20 20 20 20 20 3c 74 64 3e 61 6e <td>(none)</td>...........<td>an
11b00 20 65 72 72 6f 72 20 63 6f 64 65 3c 2f 74 64 3e 0a 20 20 20 20 20 20 20 20 3c 2f 74 72 3e 0a 20 .error.code</td>.........</tr>..
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 6c 69 6e 65 22 e="row"><code><span.class="line"
11b60 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
11b80 5f 69 6e 74 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 3c 2f 74 68 3e 0a 20 _int</span></span></code></th>..
11ba0 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>........
11bc0 20 20 20 3c 74 64 3e 4f 6e 6c 79 20 61 6c 6c 6f 77 65 64 20 66 6f 72 20 3c 61 20 68 72 65 66 3d ...<td>Only.allowed.for.<a.href=
11be0 22 23 63 6f 6d 70 74 69 6d 65 22 3e 63 6f 6d 70 74 69 6d 65 3c 2f 61 3e 2d 6b 6e 6f 77 6e 20 76 "#comptime">comptime</a>-known.v
11c00 61 6c 75 65 73 2e 20 54 68 65 20 74 79 70 65 20 6f 66 20 69 6e 74 65 67 65 72 20 6c 69 74 65 72 alues..The.type.of.integer.liter
11c20 61 6c 73 2e 3c 2f 74 64 3e 0a 20 20 20 20 20 20 20 20 3c 2f 74 72 3e 0a 20 20 20 20 20 20 20 20 als.</td>.........</tr>.........
11c40 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"
11c60 3e 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 ><code><span.class="line"><span.
11c80 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 63 6f 6d 70 74 69 6d 65 5f 66 6c 6f 61 74 3c class="tok-type">comptime_float<
11ca0 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 3c 2f 74 68 3e 0a 20 20 20 20 20 20 /span></span></code></th>.......
11cc0 20 20 20 20 3c 74 64 3e 28 6e 6f 6e 65 29 3c 2f 74 64 3e 0a 20 20 20 20 20 20 20 20 20 20 3c 74 ....<td>(none)</td>...........<t
11ce0 64 3e 4f 6e 6c 79 20 61 6c 6c 6f 77 65 64 20 66 6f 72 20 3c 61 20 68 72 65 66 3d 22 23 63 6f 6d d>Only.allowed.for.<a.href="#com
11d00 70 74 69 6d 65 22 3e 63 6f 6d 70 74 69 6d 65 3c 2f 61 3e 2d 6b 6e 6f 77 6e 20 76 61 6c 75 65 73 ptime">comptime</a>-known.values
11d20 2e 20 54 68 65 20 74 79 70 65 20 6f 66 20 66 6c 6f 61 74 20 6c 69 74 65 72 61 6c 73 2e 3c 2f 74 ..The.type.of.float.literals.</t
11d40 64 3e 0a 20 20 20 20 20 20 20 20 3c 2f 74 72 3e 0a 20 20 20 20 20 20 20 20 3c 2f 74 62 6f 64 79 d>.........</tr>.........</tbody
11d60 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>...
11d80 20 20 20 20 3c 70 3e 0a 20 20 20 20 20 20 49 6e 20 61 64 64 69 74 69 6f 6e 20 74 6f 20 74 68 65 ....<p>.......In.addition.to.the
11da0 20 69 6e 74 65 67 65 72 20 74 79 70 65 73 20 61 62 6f 76 65 2c 20 61 72 62 69 74 72 61 72 79 20 .integer.types.above,.arbitrary.
11dc0 62 69 74 2d 77 69 64 74 68 20 69 6e 74 65 67 65 72 73 20 63 61 6e 20 62 65 20 72 65 66 65 72 65 bit-width.integers.can.be.refere
11de0 6e 63 65 64 20 62 79 20 75 73 69 6e 67 0a 20 20 20 20 20 20 61 6e 20 69 64 65 6e 74 69 66 69 65 nced.by.using.......an.identifie
11e00 72 20 6f 66 20 3c 63 6f 64 65 3e 69 3c 2f 63 6f 64 65 3e 20 6f 72 20 3c 63 6f 64 65 3e 75 3c 2f r.of.<code>i</code>.or.<code>u</
11e20 63 6f 64 65 3e 20 66 6f 6c 6c 6f 77 65 64 20 62 79 20 64 69 67 69 74 73 2e 20 46 6f 72 20 65 78 code>.followed.by.digits..For.ex
11e40 61 6d 70 6c 65 2c 20 74 68 65 20 69 64 65 6e 74 69 66 69 65 72 0a 20 20 20 20 20 20 3c 63 6f 64 ample,.the.identifier.......<cod
11e60 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 e><span.class="line"><span.class
11e80 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 69 37 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 3c 2f 63 6f ="tok-type">i7</span></span></co
11ea0 64 65 3e 20 72 65 66 65 72 73 20 74 6f 20 61 20 73 69 67 6e 65 64 20 37 2d 62 69 74 20 69 6e 74 de>.refers.to.a.signed.7-bit.int
11ec0 65 67 65 72 2e 20 54 68 65 20 6d 61 78 69 6d 75 6d 20 61 6c 6c 6f 77 65 64 20 62 69 74 2d 77 69 eger..The.maximum.allowed.bit-wi
11ee0 64 74 68 20 6f 66 20 61 6e 0a 20 20 20 20 20 20 69 6e 74 65 67 65 72 20 74 79 70 65 20 69 73 20 dth.of.an.......integer.type.is.
11f00 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 <code><span.class="line"><span.c
11f20 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 36 35 35 33 35 3c 2f 73 70 61 6e 3e 3c 2f lass="tok-number">65535</span></
11f40 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>.......<
11f60 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=
11f80 22 23 49 6e 74 65 67 65 72 73 22 3e 49 6e 74 65 67 65 72 73 3c 2f 61 3e 3c 2f 6c 69 3e 0a 3c 6c "#Integers">Integers</a></li>.<l
11fa0 69 3e 3c 61 20 68 72 65 66 3d 22 23 46 6c 6f 61 74 73 22 3e 46 6c 6f 61 74 73 3c 2f 61 3e 3c 2f i><a.href="#Floats">Floats</a></
11fc0 6c 69 3e 0a 3c 6c 69 3e 3c 61 20 68 72 65 66 3d 22 23 76 6f 69 64 22 3e 76 6f 69 64 3c 2f 61 3e li>.<li><a.href="#void">void</a>
11fe0 3c 2f 6c 69 3e 0a 3c 6c 69 3e 3c 61 20 68 72 65 66 3d 22 23 45 72 72 6f 72 73 22 3e 45 72 72 6f </li>.<li><a.href="#Errors">Erro
12000 72 73 3c 2f 61 3e 3c 2f 6c 69 3e 0a 3c 6c 69 3e 3c 61 20 68 72 65 66 3d 22 23 54 79 70 65 22 3e rs</a></li>.<li><a.href="#Type">
12020 40 54 79 70 65 3c 2f 61 3e 3c 2f 6c 69 3e 0a 3c 2f 75 6c 3e 0a 0a 20 20 20 20 20 20 0a 20 20 20 @Type</a></li>.</ul>............
12040 20 20 20 3c 68 33 20 69 64 3d 22 50 72 69 6d 69 74 69 76 65 2d 56 61 6c 75 65 73 22 3e 3c 61 20 ...<h3.id="Primitive-Values"><a.
12060 68 72 65 66 3d 22 23 74 6f 63 2d 50 72 69 6d 69 74 69 76 65 2d 56 61 6c 75 65 73 22 3e 50 72 69 href="#toc-Primitive-Values">Pri
12080 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 22 mitive.Values</a>.<a.class="hdr"
120a0 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 3e .href="#Primitive-Values">..</a>
120c0 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 77 </h3>........<div.class="table-w
120e0 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 3c rapper">.......<table>.........<
12100 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 6f caption>Primitive.Values</captio
12120 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 0a n>.........<thead>.........<tr>.
12140 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 2f ..........<th.scope="col">Name</
12160 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 65 th>...........<th.scope="col">De
12180 73 63 72 69 70 74 69 6f 6e 3c 2f 74 68 3e 0a 20 20 20 20 20 20 20 20 3c 2f 74 72 3e 0a 20 20 20 scription</th>.........</tr>....
121a0 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>...
121c0 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
121e0 3d 22 72 6f 77 22 3e 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e ="row"><code><span.class="line">
12200 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
12220 6e 3e 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 20 61 6e 64 20 3c 63 6f 64 65 3e 3c 73 70 61 6e n></span></code>.and.<code><span
12240 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e .class="line"><span.class="tok-n
12260 75 6c 6c 22 3e 66 61 6c 73 65 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 3c ull">false</span></span></code><
12280 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 3c 73 70 61 6e /th>.............<td><code><span
122a0 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 .class="line"><span.class="tok-t
122c0 79 70 65 22 3e 62 6f 6f 6c 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 20 76 ype">bool</span></span></code>.v
122e0 61 6c 75 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 alues</td>.........</tr>........
12300 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
12320 22 3e 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e "><code><span.class="line"><span
12340 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6c 6c 22 3e 6e 75 6c 6c 3c 2f 73 70 61 6e 3e 3c 2f 73 .class="tok-null">null</span></s
12360 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 64 pan></code></th>.............<td
12380 3e 75 73 65 64 20 74 6f 20 73 65 74 20 61 6e 20 6f 70 74 69 6f 6e 61 6c 20 74 79 70 65 20 74 6f >used.to.set.an.optional.type.to
123a0 20 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 .<code><span.class="line"><span.
123c0 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6c 6c 22 3e 6e 75 6c 6c 3c 2f 73 70 61 6e 3e 3c 2f 73 70 class="tok-null">null</span></sp
123e0 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 20 an></code></td>.........</tr>...
12400 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
12420 3d 22 72 6f 77 22 3e 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e ="row"><code><span.class="line">
12440 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
12460 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 3c 2f 74 68 3e 0a 20 20 20 20 20 </span></span></code></th>......
12480 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 6c 75 65 20 75 .....<td>used.to.leave.a.value.u
124a0 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 72 3e 0a 20 20 nspecified</td>.........</tr>...
124c0 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 20 ......</tbody>.......</table>...
124e0 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 6f 3a 3c 2f 70 ....</div>.......<p>See.also:</p
12500 3e 3c 75 6c 3e 0a 3c 6c 69 3e 3c 61 20 68 72 65 66 3d 22 23 4f 70 74 69 6f 6e 61 6c 73 22 3e 4f ><ul>.<li><a.href="#Optionals">O
12520 70 74 69 6f 6e 61 6c 73 3c 2f 61 3e 3c 2f 6c 69 3e 0a 3c 6c 69 3e 3c 61 20 68 72 65 66 3d 22 23 ptionals</a></li>.<li><a.href="#
12540 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 69 3e 0a 3c 2f undefined">undefined</a></li>.</
12560 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 74 72 69 6e 67 ul>...............<h3.id="String
12580 2d 4c 69 74 65 72 61 6c 73 2d 61 6e 64 2d 55 6e 69 63 6f 64 65 2d 43 6f 64 65 2d 50 6f 69 6e 74 -Literals-and-Unicode-Code-Point
125a0 2d 4c 69 74 65 72 61 6c 73 22 3e 3c 61 20 68 72 65 66 3d 22 23 74 6f 63 2d 53 74 72 69 6e 67 2d -Literals"><a.href="#toc-String-
125c0 4c 69 74 65 72 61 6c 73 2d 61 6e 64 2d 55 6e 69 63 6f 64 65 2d 43 6f 64 65 2d 50 6f 69 6e 74 2d Literals-and-Unicode-Code-Point-
125e0 4c 69 74 65 72 61 6c 73 22 3e 53 74 72 69 6e 67 20 4c 69 74 65 72 61 6c 73 20 61 6e 64 20 55 6e Literals">String.Literals.and.Un
12600 69 63 6f 64 65 20 43 6f 64 65 20 50 6f 69 6e 74 20 4c 69 74 65 72 61 6c 73 3c 2f 61 3e 20 3c 61 icode.Code.Point.Literals</a>.<a
12620 20 63 6c 61 73 73 3d 22 68 64 72 22 20 68 72 65 66 3d 22 23 53 74 72 69 6e 67 2d 4c 69 74 65 72 .class="hdr".href="#String-Liter
12640 61 6c 73 2d 61 6e 64 2d 55 6e 69 63 6f 64 65 2d 43 6f 64 65 2d 50 6f 69 6e 74 2d 4c 69 74 65 72 als-and-Unicode-Code-Point-Liter
12660 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>.....
12680 20 20 53 74 72 69 6e 67 20 6c 69 74 65 72 61 6c 73 20 61 72 65 20 63 6f 6e 73 74 61 6e 74 20 73 ..String.literals.are.constant.s
126a0 69 6e 67 6c 65 2d 69 74 65 6d 20 3c 61 20 68 72 65 66 3d 22 23 50 6f 69 6e 74 65 72 73 22 3e 50 ingle-item.<a.href="#Pointers">P
126c0 6f 69 6e 74 65 72 73 3c 2f 61 3e 20 74 6f 20 6e 75 6c 6c 2d 74 65 72 6d 69 6e 61 74 65 64 20 62 ointers</a>.to.null-terminated.b
126e0 79 74 65 20 61 72 72 61 79 73 2e 0a 20 20 20 20 20 20 54 68 65 20 74 79 70 65 20 6f 66 20 73 74 yte.arrays........The.type.of.st
12700 72 69 6e 67 20 6c 69 74 65 72 61 6c 73 20 65 6e 63 6f 64 65 73 20 62 6f 74 68 20 74 68 65 20 6c ring.literals.encodes.both.the.l
12720 65 6e 67 74 68 2c 20 61 6e 64 20 74 68 65 20 66 61 63 74 20 74 68 61 74 20 74 68 65 79 20 61 72 ength,.and.the.fact.that.they.ar
12740 65 20 6e 75 6c 6c 2d 74 65 72 6d 69 6e 61 74 65 64 2c 0a 20 20 20 20 20 20 61 6e 64 20 74 68 75 e.null-terminated,.......and.thu
12760 73 20 74 68 65 79 20 63 61 6e 20 62 65 20 3c 61 20 68 72 65 66 3d 22 23 54 79 70 65 2d 43 6f 65 s.they.can.be.<a.href="#Type-Coe
12780 72 63 69 6f 6e 22 3e 63 6f 65 72 63 65 64 3c 2f 61 3e 20 74 6f 20 62 6f 74 68 20 3c 61 20 68 72 rcion">coerced</a>.to.both.<a.hr
127a0 65 66 3d 22 23 53 6c 69 63 65 73 22 3e 53 6c 69 63 65 73 3c 2f 61 3e 20 61 6e 64 0a 20 20 20 20 ef="#Slices">Slices</a>.and.....
127c0 20 20 3c 61 20 68 72 65 66 3d 22 23 53 65 6e 74 69 6e 65 6c 2d 54 65 72 6d 69 6e 61 74 65 64 2d ..<a.href="#Sentinel-Terminated-
127e0 50 6f 69 6e 74 65 72 73 22 3e 4e 75 6c 6c 2d 54 65 72 6d 69 6e 61 74 65 64 20 50 6f 69 6e 74 65 Pointers">Null-Terminated.Pointe
12800 72 73 3c 2f 61 3e 2e 0a 20 20 20 20 20 20 44 65 72 65 66 65 72 65 6e 63 69 6e 67 20 73 74 72 69 rs</a>........Dereferencing.stri
12820 6e 67 20 6c 69 74 65 72 61 6c 73 20 63 6f 6e 76 65 72 74 73 20 74 68 65 6d 20 74 6f 20 3c 61 20 ng.literals.converts.them.to.<a.
12840 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 2e 0a 20 20 20 20 20 href="#Arrays">Arrays</a>.......
12860 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 65 6e 63 6f 64 69 .</p>.......<p>.......The.encodi
12880 6e 67 20 6f 66 20 61 20 73 74 72 69 6e 67 20 69 6e 20 5a 69 67 20 69 73 20 64 65 2d 66 61 63 74 ng.of.a.string.in.Zig.is.de-fact
128a0 6f 20 61 73 73 75 6d 65 64 20 74 6f 20 62 65 20 55 54 46 2d 38 2e 0a 20 20 20 20 20 20 42 65 63 o.assumed.to.be.UTF-8........Bec
128c0 61 75 73 65 20 5a 69 67 20 73 6f 75 72 63 65 20 63 6f 64 65 20 69 73 20 3c 61 20 68 72 65 66 3d ause.Zig.source.code.is.<a.href=
128e0 22 23 53 6f 75 72 63 65 2d 45 6e 63 6f 64 69 6e 67 22 3e 55 54 46 2d 38 20 65 6e 63 6f 64 65 64 "#Source-Encoding">UTF-8.encoded
12900 3c 2f 61 3e 2c 20 61 6e 79 20 6e 6f 6e 2d 41 53 43 49 49 20 62 79 74 65 73 20 61 70 70 65 61 72 </a>,.any.non-ASCII.bytes.appear
12920 69 6e 67 20 77 69 74 68 69 6e 20 61 20 73 74 72 69 6e 67 20 6c 69 74 65 72 61 6c 0a 20 20 20 20 ing.within.a.string.literal.....
12940 20 20 69 6e 20 73 6f 75 72 63 65 20 63 6f 64 65 20 63 61 72 72 79 20 74 68 65 69 72 20 55 54 46 ..in.source.code.carry.their.UTF
12960 2d 38 20 6d 65 61 6e 69 6e 67 20 69 6e 74 6f 20 74 68 65 20 63 6f 6e 74 65 6e 74 20 6f 66 20 74 -8.meaning.into.the.content.of.t
12980 68 65 20 73 74 72 69 6e 67 20 69 6e 20 74 68 65 20 5a 69 67 20 70 72 6f 67 72 61 6d 3b 0a 20 20 he.string.in.the.Zig.program;...
129a0 20 20 20 20 74 68 65 20 62 79 74 65 73 20 61 72 65 20 6e 6f 74 20 6d 6f 64 69 66 69 65 64 20 62 ....the.bytes.are.not.modified.b
129c0 79 20 74 68 65 20 63 6f 6d 70 69 6c 65 72 2e 0a 20 20 20 20 20 20 48 6f 77 65 76 65 72 2c 20 69 y.the.compiler........However,.i
129e0 74 20 69 73 20 70 6f 73 73 69 62 6c 65 20 74 6f 20 65 6d 62 65 64 20 6e 6f 6e 2d 55 54 46 2d 38 t.is.possible.to.embed.non-UTF-8
12a00 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 20 75 73 69 .bytes.into.a.string.literal.usi
12a20 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 6e 2e 0a 20 ng.<code>\xNN</code>.notation...
12a40 20 20 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 69 63 6f 64 .....</p>.......<p>.......Unicod
12a60 65 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 e.code.point.literals.have.type.
12a80 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 <code><span.class="line"><span.c
12aa0 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
12ac0 61 6e 3e 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 2c 20 74 68 65 20 73 61 6d 65 20 61 73 0a 20 an></span></code>,.the.same.as..
12ae0 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 72 61 6c 73 22 .....<a.href="#Integer-Literals"
12b00 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 3c 61 20 68 72 >Integer.Literals</a>..All.<a.hr
12b20 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 70 65 20 53 65 ef="#Escape-Sequences">Escape.Se
12b40 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 74 68 20 73 74 quences</a>.are.valid.in.both.st
12b60 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 63 6f 64 65 20 ring.literals.......and.Unicode.
12b80 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 3c 2f 70 3e 0a code.point.literals........</p>.
12ba0 20 20 20 20 20 20 3c 70 3e 0a 20 20 20 20 20 20 49 6e 20 6d 61 6e 79 20 6f 74 68 65 72 20 70 72 ......<p>.......In.many.other.pr
12bc0 6f 67 72 61 6d 6d 69 6e 67 20 6c 61 6e 67 75 61 67 65 73 2c 20 61 20 55 6e 69 63 6f 64 65 20 63 ogramming.languages,.a.Unicode.c
12be0 6f 64 65 20 70 6f 69 6e 74 20 6c 69 74 65 72 61 6c 20 69 73 20 63 61 6c 6c 65 64 20 61 20 22 63 ode.point.literal.is.called.a."c
12c00 68 61 72 61 63 74 65 72 20 6c 69 74 65 72 61 6c 22 2e 0a 20 20 20 20 20 20 48 6f 77 65 76 65 72 haracter.literal"........However
12c20 2c 20 74 68 65 72 65 20 69 73 20 3c 61 20 68 72 65 66 3d 22 68 74 74 70 73 3a 2f 2f 75 6e 69 63 ,.there.is.<a.href="https://unic
12c40 6f 64 65 2e 6f 72 67 2f 67 6c 6f 73 73 61 72 79 22 3e 6e 6f 20 70 72 65 63 69 73 65 20 74 65 63 ode.org/glossary">no.precise.tec
12c60 68 6e 69 63 61 6c 20 64 65 66 69 6e 69 74 69 6f 6e 20 6f 66 20 61 20 22 63 68 61 72 61 63 74 65 hnical.definition.of.a."characte
12c80 72 22 3c 2f 61 3e 0a 20 20 20 20 20 20 69 6e 20 72 65 63 65 6e 74 20 76 65 72 73 69 6f 6e 73 20 r"</a>.......in.recent.versions.
12ca0 6f 66 20 74 68 65 20 55 6e 69 63 6f 64 65 20 73 70 65 63 69 66 69 63 61 74 69 6f 6e 20 28 61 73 of.the.Unicode.specification.(as
12cc0 20 6f 66 20 55 6e 69 63 6f 64 65 20 31 33 2e 30 29 2e 0a 20 20 20 20 20 20 49 6e 20 5a 69 67 2c .of.Unicode.13.0)........In.Zig,
12ce0 20 61 20 55 6e 69 63 6f 64 65 20 63 6f 64 65 20 70 6f 69 6e 74 20 6c 69 74 65 72 61 6c 20 63 6f .a.Unicode.code.point.literal.co
12d00 72 72 65 73 70 6f 6e 64 73 20 74 6f 20 74 68 65 20 55 6e 69 63 6f 64 65 20 64 65 66 69 6e 69 74 rresponds.to.the.Unicode.definit
12d20 69 6f 6e 20 6f 66 20 61 20 63 6f 64 65 20 70 6f 69 6e 74 2e 0a 20 20 20 20 20 20 3c 2f 70 3e 0a ion.of.a.code.point........</p>.
12d40 20 20 20 20 20 20 3c 66 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=
12d60 22 7a 69 67 2d 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 "zig-cap"><cite.class="file">str
12d80 69 6e 67 5f 6c 69 74 65 72 61 6c 73 2e 7a 69 67 3c 2f 63 69 74 65 3e 3c 2f 66 69 67 63 61 70 74 ing_literals.zig</cite></figcapt
12da0 69 6f 6e 3e 3c 70 72 65 3e 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 ion><pre><code><span.class="line
12dc0 22 3e 3c 73 70 61 6e 20 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
12de0 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
12e00 6c 74 69 6e 22 3e 40 69 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
12e20 3d 22 74 6f 6b 2d 73 74 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
12e40 3e 29 2e 64 65 62 75 67 2e 70 72 69 6e 74 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 >).debug.print;</span>.<span.cla
12e60 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 63 ss="line"><span.class="tok-kw">c
12e80 6f 6e 73 74 3c 2f 73 70 61 6e 3e 20 6d 65 6d 20 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 onst</span>.mem.=.<span.class="t
12ea0 6f 6b 2d 62 75 69 6c 74 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
12ec0 20 63 6c 61 73 73 3d 22 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;
12ee0 3c 2f 73 70 61 6e 3e 29 2e 6d 65 6d 3b 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 63 </span>).mem;.<span.class="tok-c
12f00 6f 6d 6d 65 6e 74 22 3e 2f 2f 20 77 69 6c 6c 20 62 65 20 75 73 65 64 20 74 6f 20 63 6f 6d 70 61 omment">//.will.be.used.to.compa
12f20 72 65 20 62 79 74 65 73 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 re.bytes</span></span>.<span.cla
12f40 73 73 3d 22 6c 69 6e 65 22 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c ss="line"></span>.<span.class="l
12f60 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 70 75 62 3c 2f 73 ine"><span.class="tok-kw">pub</s
12f80 70 61 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
12fa0 61 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
12fc0 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
12fe0 69 64 3c 2f 73 70 61 6e 3e 20 7b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 id</span>.{</span>.<span.class="
13000 6c 69 6e 65 22 3e 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 63 line">....<span.class="tok-kw">c
13020 6f 6e 73 74 3c 2f 73 70 61 6e 3e 20 62 79 74 65 73 20 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d onst</span>.bytes.=.<span.class=
13040 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
13060 6e 3e 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 n>;</span>.<span.class="line">..
13080 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
130a0 75 6f 74 3b 7b 7d 5c 6e 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 2c 20 2e 7b 3c 73 70 61 6e 20 63 uot;{}\n&quot;</span>,..{<span.c
130c0 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
130e0 3e 28 62 79 74 65 73 29 7d 29 3b 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 3c 73 >(bytes)});...................<s
13100 70 61 6e 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 pan.class="tok-comment">//.*cons
13120 74 20 5b 35 3a 30 5d 75 38 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c t.[5:0]u8</span></span>.<span.cl
13140 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 70 72 69 6e 74 28 3c 73 70 61 6e 20 63 6c 61 73 73 ass="line">....print(<span.class
13160 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
13180 61 6e 3e 2c 20 2e 7b 62 79 74 65 73 2e 6c 65 6e 7d 29 3b 20 20 20 20 20 20 20 20 20 20 20 20 20 an>,..{bytes.len});.............
131a0 20 20 20 20 20 20 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 63 6f 6d 6d 65 ..........<span.class="tok-comme
131c0 6e 74 22 3e 2f 2f 20 35 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 nt">//.5</span></span>.<span.cla
131e0 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 70 72 69 6e 74 28 3c 73 70 61 6e 20 63 6c 61 73 73 3d ss="line">....print(<span.class=
13200 22 74 6f 6b 2d 73 74 72 22 3e 26 71 75 6f 74 3b 7b 63 7d 5c 6e 26 71 75 6f 74 3b 3c 2f 73 70 61 "tok-str">&quot;{c}\n&quot;</spa
13220 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 2d 6e 75 6d n>,..{bytes[<span.class="tok-num
13240 62 65 72 22 3e 31 3c 2f 73 70 61 6e 3e 5d 7d 29 3b 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ber">1</span>]});...............
13260 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
13280 74 22 3e 2f 2f 20 27 65 27 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c t">//.'e'</span></span>.<span.cl
132a0 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 70 72 69 6e 74 28 3c 73 70 61 6e 20 63 6c 61 73 73 ass="line">....print(<span.class
132c0 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
132e0 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 2d 6e 75 an>,..{bytes[<span.class="tok-nu
13300 6d 62 65 72 22 3e 35 3c 2f 73 70 61 6e 3e 5d 7d 29 3b 20 20 20 20 20 20 20 20 20 20 20 20 20 20 mber">5</span>]});..............
13320 20 20 20 20 20 20 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 63 6f 6d 6d 65 ..........<span.class="tok-comme
13340 6e 74 22 3e 2f 2f 20 30 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 nt">//.0</span></span>.<span.cla
13360 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 70 72 69 6e 74 28 3c 73 70 61 6e 20 63 6c 61 73 73 3d ss="line">....print(<span.class=
13380 22 74 6f 6b 2d 73 74 72 22 3e 26 71 75 6f 74 3b 7b 7d 5c 6e 26 71 75 6f 74 3b 3c 2f 73 70 61 6e "tok-str">&quot;{}\n&quot;</span
133a0 3e 2c 20 2e 7b 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 73 74 72 22 3e 27 65 27 3c 2f >,..{<span.class="tok-str">'e'</
133c0 73 70 61 6e 3e 20 3d 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 73 74 72 22 3e 27 span>.==.<span.class="tok-str">'
133e0 5c 78 36 35 27 3c 2f 73 70 61 6e 3e 7d 29 3b 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 \x65'</span>});.................
13400 20 20 20 3c 73 70 61 6e 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">//.
13420 74 72 75 65 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 true</span></span>.<span.class="
13440 6c 69 6e 65 22 3e 20 20 20 20 70 72 69 6e 74 28 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b line">....print(<span.class="tok
13460 2d 73 74 72 22 3e 26 71 75 6f 74 3b 7b 64 7d 5c 6e 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 2c 20 -str">&quot;{d}\n&quot;</span>,.
13480 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 7b 31 66 34 61 .{<span.class="tok-str">'\u{1f4a
134a0 39 7d 27 3c 2f 73 70 61 6e 3e 7d 29 3b 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 9}'</span>});...................
134c0 20 20 3c 73 70 61 6e 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 ..<span.class="tok-comment">//.1
134e0 32 38 31 36 39 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 28169</span></span>.<span.class=
13500 22 6c 69 6e 65 22 3e 20 20 20 20 70 72 69 6e 74 28 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f "line">....print(<span.class="to
13520 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 61 6e 3e 2c k-str">&quot;{d}\n&quot;</span>,
13540 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 f0 9f 92 af 27 3c ..{<span.class="tok-str">'....'<
13560 2f 73 70 61 6e 3e 7d 29 3b 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 /span>});.......................
13580 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">/
135a0 2f 20 31 32 38 31 37 35 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 /.128175</span></span>.<span.cla
135c0 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 70 72 69 6e 74 28 3c 73 70 61 6e 20 63 6c 61 73 73 3d ss="line">....print(<span.class=
135e0 22 74 6f 6b 2d 73 74 72 22 3e 26 71 75 6f 74 3b 7b 7d 5c 6e 26 71 75 6f 74 3b 3c 2f 73 70 61 6e "tok-str">&quot;{}\n&quot;</span
13600 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 6b 2d 74 79 >,..{mem.eql(<span.class="tok-ty
13620 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-
13640 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 2c 20 3c str">&quot;hello&quot;</span>,.<
13660 73 70 61 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 5c 78 36 35 span.class="tok-str">&quot;h\x65
13680 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 6c 61 73 73 llo&quot;</span>)});.<span.class
136a0 3d 22 74 6f 6b 2d 63 6f 6d 6d 65 6e 74 22 3e 2f 2f 20 74 72 75 65 3c 2f 73 70 61 6e 3e 3c 2f 73 ="tok-comment">//.true</span></s
136c0 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 70 72 69 6e pan>.<span.class="line">....prin
136e0 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 30 78 t(<span.class="tok-str">&quot;0x
13700 7b 78 7d 5c 6e 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 2c 20 2e 7b 3c 73 70 61 6e 20 63 6c 61 73 {x}\n&quot;</span>,..{<span.clas
13720 73 3d 22 74 6f 6b 2d 73 74 72 22 3e 26 71 75 6f 74 3b 5c 78 66 66 26 71 75 6f 74 3b 3c 2f 73 70 s="tok-str">&quot;\xff&quot;</sp
13740 61 6e 3e 5b 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 30 3c 2f an>[<span.class="tok-number">0</
13760 73 70 61 6e 3e 5d 7d 29 3b 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 63 6f 6d 6d 65 span>]});.<span.class="tok-comme
13780 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
137a0 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>
137c0 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 70 </span>.<span.class="line">....p
137e0 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
13800 3b 7b 75 7d 5c 6e 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 2c 20 2e 7b 3c 73 70 61 6e 20 63 6c 61 ;{u}\n&quot;</span>,..{<span.cla
13820 73 73 3d 22 74 6f 6b 2d 73 74 72 22 3e 27 e2 9a a1 27 3c 2f 73 70 61 6e 3e 7d 29 3b 3c 2f 73 70 ss="tok-str">'...'</span>});</sp
13840 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 7d 3c 2f 73 70 61 6e 3e 3c an>.<span.class="line">}</span><
13860 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
13880 67 63 61 70 74 69 6f 6e 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
138a0 3c 2f 66 69 67 63 61 70 74 69 6f 6e 3e 3c 70 72 65 3e 3c 73 61 6d 70 3e 3c 73 70 61 6e 20 63 6c </figcaption><pre><samp><span.cl
138c0 61 73 73 3d 22 6c 69 6e 65 22 3e 24 20 3c 6b 62 64 3e 7a 69 67 20 62 75 69 6c 64 2d 65 78 65 20 ass="line">$.<kbd>zig.build-exe.
138e0 73 74 72 69 6e 67 5f 6c 69 74 65 72 61 6c 73 2e 7a 69 67 3c 2f 6b 62 64 3e 3c 2f 73 70 61 6e 3e string_literals.zig</kbd></span>
13900 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 .<span.class="line"></span>.<spa
13920 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 24 20 3c 6b 62 64 3e 2e 2f 73 74 72 69 6e 67 5f 6c n.class="line">$.<kbd>./string_l
13940 69 74 65 72 61 6c 73 3c 2f 6b 62 64 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 iterals</kbd></span>.<span.class
13960 3d 22 6c 69 6e 65 22 3e 2a 63 6f 6e 73 74 20 5b 35 3a 30 5d 75 38 3c 2f 73 70 61 6e 3e 0a 3c 73 ="line">*const.[5:0]u8</span>.<s
13980 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 35 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 pan.class="line">5</span>.<span.
139a0 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 65 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 class="line">e</span>.<span.clas
139c0 73 3d 22 6c 69 6e 65 22 3e 30 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c s="line">0</span>.<span.class="l
139e0 69 6e 65 22 3e 74 72 75 65 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 ine">true</span>.<span.class="li
13a00 6e 65 22 3e 31 32 38 31 36 39 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c ne">128169</span>.<span.class="l
13a20 69 6e 65 22 3e 31 32 38 31 37 35 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 ine">128175</span>.<span.class="
13a40 6c 69 6e 65 22 3e 74 72 75 65 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c line">true</span>.<span.class="l
13a60 69 6e 65 22 3e 30 78 66 66 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 ine">0xff</span>.<span.class="li
13a80 6e 65 22 3e e2 9a a1 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 ne">...</span>.</samp></pre></fi
13aa0 67 75 72 65 3e 0a 20 20 20 20 20 20 3c 70 3e 53 65 65 20 61 6c 73 6f 3a 3c 2f 70 3e 3c 75 6c 3e gure>.......<p>See.also:</p><ul>
13ac0 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 79 73 3c 2f 61 .<li><a.href="#Arrays">Arrays</a
13ae0 3e 3c 2f 6c 69 3e 0a 3c 6c 69 3e 3c 61 20 68 72 65 66 3d 22 23 53 6f 75 72 63 65 2d 45 6e 63 6f ></li>.<li><a.href="#Source-Enco
13b00 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 3e 0a 3c ding">Source.Encoding</a></li>.<
13b20 2f 75 6c 3e 0a 0a 20 20 20 20 20 20 3c 68 34 20 69 64 3d 22 45 73 63 61 70 65 2d 53 65 71 75 65 /ul>........<h4.id="Escape-Seque
13b40 6e 63 65 73 22 3e 3c 61 20 68 72 65 66 3d 22 23 74 6f 63 2d 45 73 63 61 70 65 2d 53 65 71 75 65 nces"><a.href="#toc-Escape-Seque
13b60 6e 63 65 73 22 3e 45 73 63 61 70 65 20 53 65 71 75 65 6e 63 65 73 3c 2f 61 3e 20 3c 61 20 63 6c nces">Escape.Sequences</a>.<a.cl
13b80 61 73 73 3d 22 68 64 72 22 20 68 72 65 66 3d 22 23 45 73 63 61 70 65 2d 53 65 71 75 65 6e 63 65 ass="hdr".href="#Escape-Sequence
13ba0 73 22 3e c2 a7 3c 2f 61 3e 3c 2f 68 34 3e 0a 0a 20 20 20 20 20 20 3c 64 69 76 20 63 6c 61 73 73 s">..</a></h4>........<div.class
13bc0 3d 22 74 61 62 6c 65 2d 77 72 61 70 70 65 72 22 3e 0a 20 20 20 20 20 20 3c 74 61 62 6c 65 3e 0a ="table-wrapper">.......<table>.
13be0 20 20 20 20 20 20 20 20 3c 63 61 70 74 69 6f 6e 3e 45 73 63 61 70 65 20 53 65 71 75 65 6e 63 65 ........<caption>Escape.Sequence
13c00 73 3c 2f 63 61 70 74 69 6f 6e 3e 0a 20 20 20 20 20 20 20 20 3c 74 68 65 61 64 3e 0a 20 20 20 20 s</caption>.........<thead>.....
13c20 20 20 20 20 3c 74 72 3e 0a 20 20 20 20 20 20 20 20 20 20 3c 74 68 20 73 63 6f 70 65 3d 22 63 6f ....<tr>...........<th.scope="co
13c40 6c 22 3e 45 73 63 61 70 65 20 53 65 71 75 65 6e 63 65 3c 2f 74 68 3e 0a 20 20 20 20 20 20 20 20 l">Escape.Sequence</th>.........
13c60 20 20 3c 74 68 20 73 63 6f 70 65 3d 22 63 6f 6c 22 3e 4e 61 6d 65 3c 2f 74 68 3e 0a 20 20 20 20 ..<th.scope="col">Name</th>.....
13c80 20 20 20 20 3c 2f 74 72 3e 0a 20 20 20 20 20 20 20 20 3c 2f 74 68 65 61 64 3e 0a 20 20 20 20 20 ....</tr>.........</thead>......
13ca0 20 20 20 3c 74 62 6f 64 79 3e 0a 20 20 20 20 20 20 20 20 3c 74 72 3e 0a 20 20 20 20 20 20 20 20 ...<tbody>.........<tr>.........
13cc0 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 6e 3c 2f 63 6f ....<th.scope="row"><code>\n</co
13ce0 64 65 3e 3c 2f 74 68 3e 0a 20 20 20 20 20 20 20 20 20 20 3c 74 64 3e 4e 65 77 6c 69 6e 65 3c 2f de></th>...........<td>Newline</
13d00 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>..
13d20 20 20 20 20 20 20 20 20 20 20 20 3c 74 68 20 73 63 6f 70 65 3d 22 72 6f 77 22 3e 3c 63 6f 64 65 ...........<th.scope="row"><code
13d40 3e 5c 72 3c 2f 63 6f 64 65 3e 3c 2f 74 68 3e 0a 20 20 20 20 20 20 20 20 20 20 3c 74 64 3e 43 61 >\r</code></th>...........<td>Ca
13d60 72 72 69 61 67 65 20 52 65 74 75 72 6e 3c 2f 74 64 3e 0a 20 20 20 20 20 20 20 20 3c 2f 74 72 3e rriage.Return</td>.........</tr>
13d80 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
13da0 6f 70 65 3d 22 72 6f 77 22 3e 3c 63 6f 64 65 3e 5c 74 3c 2f 63 6f 64 65 3e 3c 2f 74 68 3e 0a 20 ope="row"><code>\t</code></th>..
13dc0 20 20 20 20 20 20 20 20 20 3c 74 64 3e 54 61 62 3c 2f 74 64 3e 0a 20 20 20 20 20 20 20 20 3c 2f .........<td>Tab</td>.........</
13de0 74 72 3e 0a 20 20 20 20 20 20 20 20 3c 74 72 3e 0a 20 20 20 20 20 20 20 20 20 20 20 20 3c 74 68 tr>.........<tr>.............<th
13e00 20 73 63 6f 70 65 3d 22 72 6f 77 22 3e 3c 63 6f 64 65 3e 5c 5c 3c 2f 63 6f 64 65 3e 3c 2f 74 68 .scope="row"><code>\\</code></th
13e20 3e 0a 20 20 20 20 20 20 20 20 20 20 3c 74 64 3e 42 61 63 6b 73 6c 61 73 68 3c 2f 74 64 3e 0a 20 >...........<td>Backslash</td>..
13e40 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>.......
13e60 20 20 20 20 20 20 3c 74 68 20 73 63 6f 70 65 3d 22 72 6f 77 22 3e 3c 63 6f 64 65 3e 5c 27 3c 2f ......<th.scope="row"><code>\'</
13e80 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 53 69 6e 67 6c 65 20 code></th>...........<td>Single.
13ea0 51 75 6f 74 65 3c 2f 74 64 3e 0a 20 20 20 20 20 20 20 20 3c 2f 74 72 3e 0a 20 20 20 20 20 20 20 Quote</td>.........</tr>........
13ec0 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
13ee0 22 3e 3c 63 6f 64 65 3e 5c 22 3c 2f 63 6f 64 65 3e 3c 2f 74 68 3e 0a 20 20 20 20 20 20 20 20 20 "><code>\"</code></th>..........
13f00 20 3c 74 64 3e 44 6f 75 62 6c 65 20 51 75 6f 74 65 3c 2f 74 64 3e 0a 20 20 20 20 20 20 20 20 3c .<td>Double.Quote</td>.........<
13f20 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
13f40 68 20 73 63 6f 70 65 3d 22 72 6f 77 22 3e 3c 63 6f 64 65 3e 5c 78 4e 4e 3c 2f 63 6f 64 65 3e 3c h.scope="row"><code>\xNN</code><
13f60 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 20 38 /th>...........<td>hexadecimal.8
13f80 2d 62 69 74 20 62 79 74 65 20 76 61 6c 75 65 20 28 32 20 64 69 67 69 74 73 29 3c 2f 74 64 3e 0a -bit.byte.value.(2.digits)</td>.
13fa0 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>......
13fc0 20 20 20 20 20 20 20 3c 74 68 20 73 63 6f 70 65 3d 22 72 6f 77 22 3e 3c 63 6f 64 65 3e 5c 75 7b .......<th.scope="row"><code>\u{
13fe0 4e 4e 4e 4e 4e 4e 7d 3c 2f 63 6f 64 65 3e 3c 2f 74 68 3e 0a 20 20 20 20 20 20 20 20 20 20 3c 74 NNNNNN}</code></th>...........<t
14000 64 3e 68 65 78 61 64 65 63 69 6d 61 6c 20 55 6e 69 63 6f 64 65 20 63 6f 64 65 20 70 6f 69 6e 74 d>hexadecimal.Unicode.code.point
14020 20 55 54 46 2d 38 20 65 6e 63 6f 64 65 64 20 28 31 20 6f 72 20 6d 6f 72 65 20 64 69 67 69 74 73 .UTF-8.encoded.(1.or.more.digits
14040 29 3c 2f 74 64 3e 0a 20 20 20 20 20 20 20 20 3c 2f 74 72 3e 0a 20 20 20 20 20 20 20 20 3c 2f 74 )</td>.........</tr>.........</t
14060 62 6f 64 79 3e 0a 20 20 20 20 20 20 3c 2f 74 61 62 6c 65 3e 0a 20 20 20 20 20 20 3c 2f 64 69 76 body>.......</table>.......</div
14080 3e 0a 20 20 20 20 20 20 3c 70 3e 4e 6f 74 65 20 74 68 61 74 20 74 68 65 20 6d 61 78 69 6d 75 6d >.......<p>Note.that.the.maximum
140a0 20 76 61 6c 69 64 20 55 6e 69 63 6f 64 65 20 70 6f 69 6e 74 20 69 73 20 3c 63 6f 64 65 3e 3c 73 .valid.Unicode.point.is.<code><s
140c0 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f pan.class="line"><span.class="to
140e0 6b 2d 6e 75 6d 62 65 72 22 3e 30 78 31 30 66 66 66 66 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e k-number">0x10ffff</span></span>
14100 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 69 64 </code>.</p>..............<h4.id
14120 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 61 20 ="Multiline-String-Literals"><a.
14140 68 72 65 66 3d 22 23 74 6f 63 2d 4d 75 6c 74 69 6c 69 6e 65 2d 53 74 72 69 6e 67 2d 4c 69 74 65 href="#toc-Multiline-String-Lite
14160 72 61 6c 73 22 3e 4d 75 6c 74 69 6c 69 6e 65 20 53 74 72 69 6e 67 20 4c 69 74 65 72 61 6c 73 3c rals">Multiline.String.Literals<
14180 2f 61 3e 20 3c 61 20 63 6c 61 73 73 3d 22 68 64 72 22 20 68 72 65 66 3d 22 23 4d 75 6c 74 69 6c /a>.<a.class="hdr".href="#Multil
141a0 69 6e 65 2d 53 74 72 69 6e 67 2d 4c 69 74 65 72 61 6c 73 22 3e c2 a7 3c 2f 61 3e 3c 2f 68 34 3e ine-String-Literals">..</a></h4>
141c0 0a 0a 20 20 20 20 20 20 3c 70 3e 0a 20 20 20 20 20 20 4d 75 6c 74 69 6c 69 6e 65 20 73 74 72 69 ........<p>.......Multiline.stri
141e0 6e 67 20 6c 69 74 65 72 61 6c 73 20 68 61 76 65 20 6e 6f 20 65 73 63 61 70 65 73 20 61 6e 64 20 ng.literals.have.no.escapes.and.
14200 63 61 6e 20 73 70 61 6e 20 61 63 72 6f 73 73 20 6d 75 6c 74 69 70 6c 65 20 6c 69 6e 65 73 2e 0a can.span.across.multiple.lines..
14220 20 20 20 20 20 20 54 6f 20 73 74 61 72 74 20 61 20 6d 75 6c 74 69 6c 69 6e 65 20 73 74 72 69 6e ......To.start.a.multiline.strin
14240 67 20 6c 69 74 65 72 61 6c 2c 20 75 73 65 20 74 68 65 20 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 g.literal,.use.the.<code><span.c
14260 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 73 74 72 lass="line"><span.class="tok-str
14280 22 3e 5c 5c 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 20 74 6f 6b 65 6e 2e ">\\</span></span></code>.token.
142a0 20 4a 75 73 74 20 6c 69 6b 65 20 61 20 63 6f 6d 6d 65 6e 74 2c 0a 20 20 20 20 20 20 74 68 65 20 .Just.like.a.comment,.......the.
142c0 73 74 72 69 6e 67 20 6c 69 74 65 72 61 6c 20 67 6f 65 73 20 75 6e 74 69 6c 20 74 68 65 20 65 6e string.literal.goes.until.the.en
142e0 64 20 6f 66 20 74 68 65 20 6c 69 6e 65 2e 20 54 68 65 20 65 6e 64 20 6f 66 20 74 68 65 20 6c 69 d.of.the.line..The.end.of.the.li
14300 6e 65 20 69 73 0a 20 20 20 20 20 20 6e 6f 74 20 69 6e 63 6c 75 64 65 64 20 69 6e 20 74 68 65 20 ne.is.......not.included.in.the.
14320 73 74 72 69 6e 67 20 6c 69 74 65 72 61 6c 2e 0a 20 20 20 20 20 20 48 6f 77 65 76 65 72 2c 20 69 string.literal........However,.i
14340 66 20 74 68 65 20 6e 65 78 74 20 6c 69 6e 65 20 62 65 67 69 6e 73 20 77 69 74 68 20 3c 63 6f 64 f.the.next.line.begins.with.<cod
14360 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 e><span.class="line"><span.class
14380 3d 22 74 6f 6b 2d 73 74 72 22 3e 5c 5c 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 ="tok-str">\\</span></span></cod
143a0 65 3e 20 74 68 65 6e 20 61 20 6e 65 77 6c 69 6e 65 20 69 73 20 61 70 70 65 6e 64 65 64 20 61 6e e>.then.a.newline.is.appended.an
143c0 64 0a 20 20 20 20 20 20 74 68 65 20 73 74 72 69 6e 67 20 6c 69 74 65 72 61 6c 20 63 6f 6e 74 69 d.......the.string.literal.conti
143e0 6e 75 65 73 2e 0a 20 20 20 20 20 20 3c 2f 70 3e 0a 20 20 20 20 20 20 3c 66 69 67 75 72 65 3e 3c nues........</p>.......<figure><
14400 66 69 67 63 61 70 74 69 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
14420 20 63 6c 61 73 73 3d 22 66 69 6c 65 22 3e 6d 75 6c 74 69 6c 69 6e 65 5f 73 74 72 69 6e 67 5f 6c .class="file">multiline_string_l
14440 69 74 65 72 61 6c 73 2e 7a 69 67 3c 2f 63 69 74 65 3e 3c 2f 66 69 67 63 61 70 74 69 6f 6e 3e 3c iterals.zig</cite></figcaption><
14460 70 72 65 3e 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 pre><code><span.class="line"><sp
14480 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 63 6f 6e 73 74 3c 2f 73 70 61 6e 3e 20 68 an.class="tok-kw">const</span>.h
144a0 65 6c 6c 6f 5f 77 6f 72 6c 64 5f 69 6e 5f 63 20 3d 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 ello_world_in_c.=</span>.<span.c
144c0 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b lass="line">....<span.class="tok
144e0 2d 73 74 72 22 3e 5c 5c 23 69 6e 63 6c 75 64 65 20 26 6c 74 3b 73 74 64 69 6f 2e 68 26 67 74 3b -str">\\#include.&lt;stdio.h&gt;
14500 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 </span></span>.<span.class="line
14520 22 3e 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 73 74 72 22 3e 5c 5c 3c 2f ">....<span.class="tok-str">\\</
14540 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e span></span>.<span.class="line">
14560 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 69 6e 74 20 ....<span.class="tok-str">\\int.
14580 6d 61 69 6e 28 69 6e 74 20 61 72 67 63 2c 20 63 68 61 72 20 2a 2a 61 72 67 76 29 20 7b 3c 2f 73 main(int.argc,.char.**argv).{</s
145a0 70 61 6e 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 pan></span>.<span.class="line">.
145c0 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 73 74 72 22 3e 5c 5c 20 20 20 20 70 ...<span.class="tok-str">\\....p
145e0 72 69 6e 74 66 28 26 71 75 6f 74 3b 68 65 6c 6c 6f 20 77 6f 72 6c 64 5c 6e 26 71 75 6f 74 3b 29 rintf(&quot;hello.world\n&quot;)
14600 3b 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e ;</span></span>.<span.class="lin
14620 65 22 3e 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 73 74 72 22 3e 5c 5c 20 e">....<span.class="tok-str">\\.
14640 20 20 20 72 65 74 75 72 6e 20 30 3b 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e ...return.0;</span></span>.<span
14660 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 .class="line">....<span.class="t
14680 6f 6b 2d 73 74 72 22 3e 5c 5c 7d 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 ok-str">\\}</span></span>.<span.
146a0 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3b 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 3c 2f 70 72 class="line">;</span></code></pr
146c0 65 3e 3c 2f 66 69 67 75 72 65 3e 0a 20 20 20 20 20 20 3c 70 3e 53 65 65 20 61 6c 73 6f 3a 3c 2f e></figure>.......<p>See.also:</
146e0 70 3e 3c 75 6c 3e 0a 3c 6c 69 3e 3c 61 20 68 72 65 66 3d 22 23 65 6d 62 65 64 46 69 6c 65 22 3e p><ul>.<li><a.href="#embedFile">
14700 40 65 6d 62 65 64 46 69 6c 65 3c 2f 61 3e 3c 2f 6c 69 3e 0a 3c 2f 75 6c 3e 0a 0a 20 20 20 20 20 @embedFile</a></li>.</ul>.......
14720 20 0a 20 20 20 20 20 20 0a 20 20 20 20 20 20 3c 68 33 20 69 64 3d 22 41 73 73 69 67 6e 6d 65 6e ...............<h3.id="Assignmen
14740 74 22 3e 3c 61 20 68 72 65 66 3d 22 23 74 6f 63 2d 41 73 73 69 67 6e 6d 65 6e 74 22 3e 41 73 73 t"><a.href="#toc-Assignment">Ass
14760 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 65 66 3d ignment</a>.<a.class="hdr".href=
14780 22 23 41 73 73 69 67 6e 6d 65 6e 74 22 3e c2 a7 3c 2f 61 3e 3c 2f 68 33 3e 0a 0a 20 20 20 20 20 "#Assignment">..</a></h3>.......
147a0 20 3c 70 3e 55 73 65 20 74 68 65 20 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c .<p>Use.the.<code><span.class="l
147c0 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 63 6f 6e 73 74 3c ine"><span.class="tok-kw">const<
147e0 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 20 6b 65 79 77 6f 72 64 20 74 6f 20 /span></span></code>.keyword.to.
14800 61 73 73 69 67 6e 20 61 20 76 61 6c 75 65 20 74 6f 20 61 6e 20 69 64 65 6e 74 69 66 69 65 72 3a assign.a.value.to.an.identifier:
14820 3c 2f 70 3e 0a 20 20 20 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
14840 6c 61 73 73 3d 22 7a 69 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
14860 22 3e 63 6f 6e 73 74 61 6e 74 5f 69 64 65 6e 74 69 66 69 65 72 5f 63 61 6e 6e 6f 74 5f 63 68 61 ">constant_identifier_cannot_cha
14880 6e 67 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 nge.zig</cite></figcaption><pre>
148a0 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 <code><span.class="line"><span.c
148c0 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 63 6f 6e 73 74 3c 2f 73 70 61 6e 3e 20 78 20 3d 20 3c lass="tok-kw">const</span>.x.=.<
148e0 73 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
14900 61 6e 3e 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c an>;</span>.<span.class="line"><
14920 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 /span>.<span.class="line"><span.
14940 63 6c 61 73 73 3d 22 74 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
14960 6c 61 73 73 3d 22 74 6f 6b 2d 66 6e 22 3e 66 6f 6f 3c 2f 73 70 61 6e 3e 28 29 20 3c 73 70 61 6e lass="tok-fn">foo</span>().<span
14980 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 76 6f 69 64 3c 2f 73 70 61 6e 3e 20 7b 3c .class="tok-type">void</span>.{<
149a0 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 3c 73 /span>.<span.class="line">....<s
149c0 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 63 6f 6d 6d 65 6e 74 22 3e 2f 2f 20 49 74 20 77 6f pan.class="tok-comment">//.It.wo
149e0 72 6b 73 20 61 74 20 66 69 6c 65 20 73 63 6f 70 65 20 61 73 20 77 65 6c 6c 20 61 73 20 69 6e 73 rks.at.file.scope.as.well.as.ins
14a00 69 64 65 20 66 75 6e 63 74 69 6f 6e 73 2e 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 ide.functions.</span></span>.<sp
14a20 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d an.class="line">....<span.class=
14a40 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.
14a60 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 35 36 37 38 3c 2f 73 70 61 6e 3e 3b 3c class="tok-number">5678</span>;<
14a80 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 2f 73 70 61 6e /span>.<span.class="line"></span
14aa0 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 3c 73 70 61 6e 20 63 >.<span.class="line">....<span.c
14ac0 6c 61 73 73 3d 22 74 6f 6b 2d 63 6f 6d 6d 65 6e 74 22 3e 2f 2f 20 4f 6e 63 65 20 61 73 73 69 67 lass="tok-comment">//.Once.assig
14ae0 6e 65 64 2c 20 61 6e 20 69 64 65 6e 74 69 66 69 65 72 20 63 61 6e 6e 6f 74 20 62 65 20 63 68 61 ned,.an.identifier.cannot.be.cha
14b00 6e 67 65 64 2e 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d nged.</span></span>.<span.class=
14b20 22 6c 69 6e 65 22 3e 20 20 20 20 79 20 2b 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b "line">....y.+=.<span.class="tok
14b40 2d 6e 75 6d 62 65 72 22 3e 31 3c 2f 73 70 61 6e 3e 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 -number">1</span>;</span>.<span.
14b60 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 7d 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 class="line">}</span>.<span.clas
14b80 73 3d 22 6c 69 6e 65 22 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 s="line"></span>.<span.class="li
14ba0 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 70 75 62 3c 2f 73 70 ne"><span.class="tok-kw">pub</sp
14bc0 61 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
14be0 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
14c00 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
14c20 64 3c 2f 73 70 61 6e 3e 20 7b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c d</span>.{</span>.<span.class="l
14c40 69 6e 65 22 3e 20 20 20 20 66 6f 6f 28 29 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 ine">....foo();</span>.<span.cla
14c60 73 73 3d 22 6c 69 6e 65 22 3e 7d 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 3c 2f 70 72 65 3e 3c ss="line">}</span></code></pre><
14c80 2f 66 69 67 75 72 65 3e 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
14ca0 73 3d 22 73 68 65 6c 6c 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>
14cc0 3c 70 72 65 3e 3c 73 61 6d 70 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 24 20 <pre><samp><span.class="line">$.
14ce0 3c 6b 62 64 3e 7a 69 67 20 62 75 69 6c 64 2d 65 78 65 20 63 6f 6e 73 74 61 6e 74 5f 69 64 65 6e <kbd>zig.build-exe.constant_iden
14d00 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 6b 62 64 3e 3c 2f tifier_cannot_change.zig</kbd></
14d20 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 span>.<span.class="line"><span.c
14d40 6c 61 73 73 3d 22 74 31 5f 30 22 3e 64 6f 63 67 65 6e 5f 74 6d 70 2f 63 6f 6e 73 74 61 6e 74 5f lass="t1_0">docgen_tmp/constant_
14d60 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 3a 38 3a 37 identifier_cannot_change.zig:8:7
14d80 3a 20 3c 2f 73 70 61 6e 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 33 31 5f 31 22 3e 65 72 72 :.</span><span.class="t31_1">err
14da0 6f 72 3a 20 3c 2f 73 70 61 6e 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 31 5f 30 22 3e 63 61 or:.</span><span.class="t1_0">ca
14dc0 6e 6e 6f 74 20 61 73 73 69 67 6e 20 74 6f 20 63 6f 6e 73 74 61 6e 74 3c 2f 73 70 61 6e 3e 0a 3c nnot.assign.to.constant</span>.<
14de0 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 2f 73 70 61 6e 3e 20 20 20 20 79 20 2b span.class="line"></span>....y.+
14e00 3d 20 31 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 =.1;</span>.<span.class="line">.
14e20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 33 32 5f 31 22 3e 7e 7e 5e 7e 7e 7e 3c 2f 73 ...<span.class="t32_1">~~^~~~</s
14e40 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 2f 73 70 61 6e 3e 3c pan>.<span.class="line"></span><
14e60 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 32 5f 30 22 3e 72 65 66 65 72 65 6e 63 65 64 20 62 79 3a span.class="t2_0">referenced.by:
14e80 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 6d </span>.<span.class="line">....m
14ea0 61 69 6e 3a 20 64 6f 63 67 65 6e 5f 74 6d 70 2f 63 6f 6e 73 74 61 6e 74 5f 69 64 65 6e 74 69 66 ain:.docgen_tmp/constant_identif
14ec0 69 65 72 5f 63 61 6e 6e 6f 74 5f 63 68 61 6e 67 65 2e 7a 69 67 3a 31 32 3a 35 3c 2f 73 70 61 6e ier_cannot_change.zig:12:5</span
14ee0 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 63 61 6c 6c 4d 61 69 >.<span.class="line">....callMai
14f00 6e 3a 20 2f 68 6f 6d 65 2f 63 69 2f 72 65 6c 65 61 73 65 2d 30 2e 31 30 2e 31 2f 6f 75 74 2f 7a n:./home/ci/release-0.10.1/out/z
14f20 69 67 2d 78 38 36 5f 36 34 2d 6c 69 6e 75 78 2d 6d 75 73 6c 2d 62 61 73 65 6c 69 6e 65 2f 6c 69 ig-x86_64-linux-musl-baseline/li
14f40 62 2f 7a 69 67 2f 73 74 64 2f 73 74 61 72 74 2e 7a 69 67 3a 36 30 34 3a 31 37 3c 2f 73 70 61 6e b/zig/std/start.zig:604:17</span
14f60 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 72 65 6d 61 69 6e 69 >.<span.class="line">....remaini
14f80 6e 67 20 72 65 66 65 72 65 6e 63 65 20 74 72 61 63 65 73 20 68 69 64 64 65 6e 3b 20 75 73 65 20 ng.reference.traces.hidden;.use.
14fa0 27 2d 66 72 65 66 65 72 65 6e 63 65 2d 74 72 61 63 65 27 20 74 6f 20 73 65 65 20 61 6c 6c 20 72 '-freference-trace'.to.see.all.r
14fc0 65 66 65 72 65 6e 63 65 20 74 72 61 63 65 73 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 eference.traces</span>.<span.cla
14fe0 73 73 3d 22 6c 69 6e 65 22 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c ss="line"></span>.<span.class="l
15000 69 6e 65 22 3e 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 0a 3c 2f 73 61 6d 70 3e 3c 2f 70 72 65 ine"></span></span>.</samp></pre
15020 3e 3c 2f 66 69 67 75 72 65 3e 0a 20 20 20 20 20 20 3c 70 3e 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 ></figure>.......<p><code><span.
15040 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 class="line"><span.class="tok-kw
15060 22 3e 63 6f 6e 73 74 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 20 61 70 70 ">const</span></span></code>.app
15080 6c 69 65 73 20 74 6f 20 61 6c 6c 20 6f 66 20 74 68 65 20 62 79 74 65 73 20 74 68 61 74 20 74 68 lies.to.all.of.the.bytes.that.th
150a0 65 20 69 64 65 6e 74 69 66 69 65 72 20 69 6d 6d 65 64 69 61 74 65 6c 79 20 61 64 64 72 65 73 73 e.identifier.immediately.address
150c0 65 73 2e 20 3c 61 20 68 72 65 66 3d 22 23 50 6f 69 6e 74 65 72 73 22 3e 50 6f 69 6e 74 65 72 73 es..<a.href="#Pointers">Pointers
150e0 3c 2f 61 3e 20 68 61 76 65 20 74 68 65 69 72 20 6f 77 6e 20 63 6f 6e 73 74 2d 6e 65 73 73 2e 3c </a>.have.their.own.const-ness.<
15100 2f 70 3e 0a 20 20 20 20 20 20 3c 70 3e 49 66 20 79 6f 75 20 6e 65 65 64 20 61 20 76 61 72 69 61 /p>.......<p>If.you.need.a.varia
15120 62 6c 65 20 74 68 61 74 20 79 6f 75 20 63 61 6e 20 6d 6f 64 69 66 79 2c 20 75 73 65 20 74 68 65 ble.that.you.can.modify,.use.the
15140 20 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 .<code><span.class="line"><span.
15160 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 76 61 72 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e class="tok-kw">var</span></span>
15180 3c 2f 63 6f 64 65 3e 20 6b 65 79 77 6f 72 64 3a 3c 2f 70 3e 0a 20 20 20 20 20 20 3c 66 69 67 75 </code>.keyword:</p>.......<figu
151a0 72 65 3e 3c 66 69 67 63 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"><
151c0 63 69 74 65 20 63 6c 61 73 73 3d 22 66 69 6c 65 22 3e 6d 75 74 61 62 6c 65 5f 76 61 72 2e 7a 69 cite.class="file">mutable_var.zi
151e0 67 3c 2f 63 69 74 65 3e 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>
15200 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 <span.class="line"><span.class="
15220 74 6f 6b 2d 6b 77 22 3e 63 6f 6e 73 74 3c 2f 73 70 61 6e 3e 20 70 72 69 6e 74 20 3d 20 3c 73 70 tok-kw">const</span>.print.=.<sp
15240 61 6e 20 63 6c 61 73 73 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</
15260 73 70 61 6e 3e 28 3c 73 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
15280 74 3b 73 74 64 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 29 2e 64 65 62 75 67 2e 70 72 69 6e 74 3b t;std&quot;</span>).debug.print;
152a0 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 2f 73 70 61 </span>.<span.class="line"></spa
152c0 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 n>.<span.class="line"><span.clas
152e0 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
15300 73 3d 22 74 6f 6b 2d 6b 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
15320 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
15340 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 76 6f 69 64 3c 2f 73 70 61 6e 3e 20 7b 3c 2f 73 70 ass="tok-type">void</span>.{</sp
15360 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 3c 73 70 61 6e an>.<span.class="line">....<span
15380 20 63 6c 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 .class="tok-kw">var</span>.y:.<s
153a0 70 61 6e 20 63 6c 61 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>.
153c0 3d 20 3c 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<
153e0 2f 73 70 61 6e 3e 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 /span>;</span>.<span.class="line
15400 22 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 "></span>.<span.class="line">...
15420 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 31 .y.+=.<span.class="tok-number">1
15440 3c 2f 73 70 61 6e 3e 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e </span>;</span>.<span.class="lin
15460 65 22 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 e"></span>.<span.class="line">..
15480 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
154a0 75 6f 74 3b 7b 64 7d 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 2c 20 2e 7b 79 7d 29 3b 3c 2f 73 70 uot;{d}&quot;</span>,..{y});</sp
154c0 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 7d 3c 2f 73 70 61 6e 3e 3c an>.<span.class="line">}</span><
154e0 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
15500 67 63 61 70 74 69 6f 6e 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
15520 3c 2f 66 69 67 63 61 70 74 69 6f 6e 3e 3c 70 72 65 3e 3c 73 61 6d 70 3e 3c 73 70 61 6e 20 63 6c </figcaption><pre><samp><span.cl
15540 61 73 73 3d 22 6c 69 6e 65 22 3e 24 20 3c 6b 62 64 3e 7a 69 67 20 62 75 69 6c 64 2d 65 78 65 20 ass="line">$.<kbd>zig.build-exe.
15560 6d 75 74 61 62 6c 65 5f 76 61 72 2e 7a 69 67 3c 2f 6b 62 64 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 mutable_var.zig</kbd></span>.<sp
15580 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c an.class="line"></span>.<span.cl
155a0 61 73 73 3d 22 6c 69 6e 65 22 3e 24 20 3c 6b 62 64 3e 2e 2f 6d 75 74 61 62 6c 65 5f 76 61 72 3c ass="line">$.<kbd>./mutable_var<
155c0 2f 6b 62 64 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e /kbd></span>.<span.class="line">
155e0 35 36 37 39 3c 2f 73 70 61 6e 3e 0a 3c 2f 73 61 6d 70 3e 3c 2f 70 72 65 3e 3c 2f 66 69 67 75 72 5679</span>.</samp></pre></figur
15600 65 3e 0a 20 20 20 20 20 20 3c 70 3e 56 61 72 69 61 62 6c 65 73 20 6d 75 73 74 20 62 65 20 69 6e e>.......<p>Variables.must.be.in
15620 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
15640 67 63 61 70 74 69 6f 6e 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
15660 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 69 61 6c 69 lass="file">var_must_be_initiali
15680 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 70 72 65 3e zed.zig</cite></figcaption><pre>
156a0 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 <code><span.class="line"><span.c
156c0 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
156e0 6c 61 73 73 3d 22 74 6f 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
15700 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
15720 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 76 6f 69 64 3c 2f 73 70 61 6e 3e 20 7b 3c .class="tok-type">void</span>.{<
15740 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 3c 73 /span>.<span.class="line">....<s
15760 70 61 6e 20 63 6c 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:
15780 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
157a0 6e 3e 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 2f n>;</span>.<span.class="line"></
157c0 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 78 20 3d span>.<span.class="line">....x.=
157e0 20 3c 73 70 61 6e 20 63 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
15800 6e 3e 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 7d 3c n>;</span>.<span.class="line">}<
15820 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 3c 2f 70 72 65 3e 3c 2f 66 69 67 75 72 65 3e 3c 66 69 67 /span></code></pre></figure><fig
15840 75 72 65 3e 3c 66 69 67 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
15860 22 3e 53 68 65 6c 6c 3c 2f 66 69 67 63 61 70 74 69 6f 6e 3e 3c 70 72 65 3e 3c 73 61 6d 70 3e 3c ">Shell</figcaption><pre><samp><
15880 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 24 20 3c 6b 62 64 3e 7a 69 67 20 62 75 69 span.class="line">$.<kbd>zig.bui
158a0 6c 64 2d 65 78 65 20 76 61 72 5f 6d 75 73 74 5f 62 65 5f 69 6e 69 74 69 61 6c 69 7a 65 64 2e 7a ld-exe.var_must_be_initialized.z
158c0 69 67 3c 2f 6b 62 64 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e ig</kbd></span>.<span.class="lin
158e0 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 31 5f 30 22 3e 64 6f 63 67 65 6e 5f 74 6d 70 e"><span.class="t1_0">docgen_tmp
15900 2f 76 61 72 5f 6d 75 73 74 5f 62 65 5f 69 6e 69 74 69 61 6c 69 7a 65 64 2e 7a 69 67 3a 32 3a 35 /var_must_be_initialized.zig:2:5
15920 3a 20 3c 2f 73 70 61 6e 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 33 31 5f 31 22 3e 65 72 72 :.</span><span.class="t31_1">err
15940 6f 72 3a 20 3c 2f 73 70 61 6e 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 31 5f 30 22 3e 76 61 or:.</span><span.class="t1_0">va
15960 72 69 61 62 6c 65 73 20 6d 75 73 74 20 62 65 20 69 6e 69 74 69 61 6c 69 7a 65 64 3c 2f 73 70 61 riables.must.be.initialized</spa
15980 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 2f 73 70 61 6e 3e 20 20 20 n>.<span.class="line"></span>...
159a0 20 76 61 72 20 78 3a 20 69 33 32 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d .var.x:.i32;</span>.<span.class=
159c0 22 6c 69 6e 65 22 3e 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 33 32 5f 31 22 3e 5e "line">....<span.class="t32_1">^
159e0 7e 7e 7e 7e 7e 7e 7e 7e 7e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 ~~~~~~~~~</span>.<span.class="li
15a00 6e 65 22 3e 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 0a 3c 2f 73 61 6d 70 3e 3c 2f 70 72 65 3e ne"></span></span>.</samp></pre>
15a20 3c 2f 66 69 67 75 72 65 3e 0a 20 20 20 20 20 20 3c 68 34 20 69 64 3d 22 75 6e 64 65 66 69 6e 65 </figure>.......<h4.id="undefine
15a40 64 22 3e 3c 61 20 68 72 65 66 3d 22 23 74 6f 63 2d 75 6e 64 65 66 69 6e 65 64 22 3e 75 6e 64 65 d"><a.href="#toc-undefined">unde
15a60 66 69 6e 65 64 3c 2f 61 3e 20 3c 61 20 63 6c 61 73 73 3d 22 68 64 72 22 20 68 72 65 66 3d 22 23 fined</a>.<a.class="hdr".href="#
15a80 75 6e 64 65 66 69 6e 65 64 22 3e c2 a7 3c 2f 61 3e 3c 2f 68 34 3e 0a 0a 20 20 20 20 20 20 3c 70 undefined">..</a></h4>........<p
15aa0 3e 55 73 65 20 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 >Use.<code><span.class="line"><s
15ac0 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6c 6c 22 3e 75 6e 64 65 66 69 6e 65 64 3c 2f pan.class="tok-null">undefined</
15ae0 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 20 74 6f 20 6c 65 61 76 65 20 76 61 72 span></span></code>.to.leave.var
15b00 69 61 62 6c 65 73 20 75 6e 69 6e 69 74 69 61 6c 69 7a 65 64 3a 3c 2f 70 3e 0a 20 20 20 20 20 20 iables.uninitialized:</p>.......
15b20 3c 66 69 67 75 72 65 3e 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
15b40 61 70 22 3e 3c 63 69 74 65 20 63 6c 61 73 73 3d 22 66 69 6c 65 22 3e 61 73 73 69 67 6e 5f 75 6e ap"><cite.class="file">assign_un
15b60 64 65 66 69 6e 65 64 2e 7a 69 67 3c 2f 63 69 74 65 3e 3c 2f 66 69 67 63 61 70 74 69 6f 6e 3e 3c defined.zig</cite></figcaption><
15b80 70 72 65 3e 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 pre><code><span.class="line"><sp
15ba0 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 63 6f 6e 73 74 3c 2f 73 70 61 6e 3e 20 70 an.class="tok-kw">const</span>.p
15bc0 72 69 6e 74 20 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 62 75 69 6c 74 69 6e 22 rint.=.<span.class="tok-builtin"
15be0 3e 40 69 6d 70 6f 72 74 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
15c00 2d 73 74 72 22 3e 26 71 75 6f 74 3b 73 74 64 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 29 2e 64 65 -str">&quot;std&quot;</span>).de
15c20 62 75 67 2e 70 72 69 6e 74 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c bug.print;</span>.<span.class="l
15c40 69 6e 65 22 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e ine"></span>.<span.class="line">
15c60 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>.
15c80 3c 73 70 61 6e 20 63 6c 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>.<
15ca0 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>(
15cc0 29 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
15ce0 70 61 6e 3e 20 7b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 pan>.{</span>.<span.class="line"
15d00 3e 20 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
15d20 70 61 6e 3e 20 78 3a 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 69 pan>.x:.<span.class="tok-type">i
15d40 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
15d60 6c 22 3e 75 6e 64 65 66 69 6e 65 64 3c 2f 73 70 61 6e 3e 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 l">undefined</span>;</span>.<spa
15d80 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 78 20 3d 20 3c 73 70 61 6e 20 63 6c 61 n.class="line">....x.=.<span.cla
15da0 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 31 3c 2f 73 70 61 6e 3e 3b 3c 2f 73 70 61 6e 3e ss="tok-number">1</span>;</span>
15dc0 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 70 72 69 6e 74 28 3c 73 .<span.class="line">....print(<s
15de0 70 61 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
15e00 6f 74 3b 3c 2f 73 70 61 6e 3e 2c 20 2e 7b 78 7d 29 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 ot;</span>,..{x});</span>.<span.
15e20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 7d 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 3c 2f 70 72 class="line">}</span></code></pr
15e40 65 3e 3c 2f 66 69 67 75 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
15e60 6c 61 73 73 3d 22 73 68 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
15e80 6f 6e 3e 3c 70 72 65 3e 3c 73 61 6d 70 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 on><pre><samp><span.class="line"
15ea0 3e 24 20 3c 6b 62 64 3e 7a 69 67 20 62 75 69 6c 64 2d 65 78 65 20 61 73 73 69 67 6e 5f 75 6e 64 >$.<kbd>zig.build-exe.assign_und
15ec0 65 66 69 6e 65 64 2e 7a 69 67 3c 2f 6b 62 64 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c efined.zig</kbd></span>.<span.cl
15ee0 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 ass="line"></span>.<span.class="
15f00 6c 69 6e 65 22 3e 24 20 3c 6b 62 64 3e 2e 2f 61 73 73 69 67 6e 5f 75 6e 64 65 66 69 6e 65 64 3c line">$.<kbd>./assign_undefined<
15f20 2f 6b 62 64 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e /kbd></span>.<span.class="line">
15f40 31 3c 2f 73 70 61 6e 3e 0a 3c 2f 73 61 6d 70 3e 3c 2f 70 72 65 3e 3c 2f 66 69 67 75 72 65 3e 0a 1</span>.</samp></pre></figure>.
15f60 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
15f80 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6c 6c 22 3e s="line"><span.class="tok-null">
15fa0 75 6e 64 65 66 69 6e 65 64 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 20 63 undefined</span></span></code>.c
15fc0 61 6e 20 62 65 20 3c 61 20 68 72 65 66 3d 22 23 54 79 70 65 2d 43 6f 65 72 63 69 6f 6e 22 3e 63 an.be.<a.href="#Type-Coercion">c
15fe0 6f 65 72 63 65 64 3c 2f 61 3e 20 74 6f 20 61 6e 79 20 74 79 70 65 2e 0a 20 20 20 20 20 20 20 20 oerced</a>.to.any.type..........
16000 20 20 4f 6e 63 65 20 74 68 69 73 20 68 61 70 70 65 6e 73 2c 20 69 74 20 69 73 20 6e 6f 20 6c 6f ..Once.this.happens,.it.is.no.lo
16020 6e 67 65 72 20 70 6f 73 73 69 62 6c 65 20 74 6f 20 64 65 74 65 63 74 20 74 68 61 74 20 74 68 65 nger.possible.to.detect.that.the
16040 20 76 61 6c 75 65 20 69 73 20 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e .value.is.<code><span.class="lin
16060 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6c 6c 22 3e 75 6e 64 65 66 69 e"><span.class="tok-null">undefi
16080 6e 65 64 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 2e 0a 20 20 20 20 20 20 ned</span></span></code>........
160a0 20 20 20 20 20 20 20 20 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 ........<code><span.class="line"
160c0 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6c 6c 22 3e 75 6e 64 65 66 69 6e 65 ><span.class="tok-null">undefine
160e0 64 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 20 6d 65 61 6e 73 20 74 68 65 d</span></span></code>.means.the
16100 20 76 61 6c 75 65 20 63 6f 75 6c 64 20 62 65 20 61 6e 79 74 68 69 6e 67 2c 20 65 76 65 6e 20 73 .value.could.be.anything,.even.s
16120 6f 6d 65 74 68 69 6e 67 20 74 68 61 74 20 69 73 20 6e 6f 6e 73 65 6e 73 65 0a 20 20 20 20 20 20 omething.that.is.nonsense.......
16140 20 20 20 20 20 20 20 20 20 20 20 20 61 63 63 6f 72 64 69 6e 67 20 74 6f 20 74 68 65 20 74 79 70 ............according.to.the.typ
16160 65 2e 20 54 72 61 6e 73 6c 61 74 65 64 20 69 6e 74 6f 20 45 6e 67 6c 69 73 68 2c 20 3c 63 6f 64 e..Translated.into.English,.<cod
16180 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 e><span.class="line"><span.class
161a0 3d 22 74 6f 6b 2d 6e 75 6c 6c 22 3e 75 6e 64 65 66 69 6e 65 64 3c 2f 73 70 61 6e 3e 3c 2f 73 70 ="tok-null">undefined</span></sp
161c0 61 6e 3e 3c 2f 63 6f 64 65 3e 20 6d 65 61 6e 73 20 22 4e 6f 74 20 61 20 6d 65 61 6e 69 6e 67 66 an></code>.means."Not.a.meaningf
161e0 75 6c 0a 20 20 20 20 20 20 76 61 6c 75 65 2e 20 55 73 69 6e 67 20 74 68 69 73 20 76 61 6c 75 65 ul.......value..Using.this.value
16200 20 77 6f 75 6c 64 20 62 65 20 61 20 62 75 67 2e 20 54 68 65 20 76 61 6c 75 65 20 77 69 6c 6c 20 .would.be.a.bug..The.value.will.
16220 62 65 20 75 6e 75 73 65 64 2c 20 6f 72 20 6f 76 65 72 77 72 69 74 74 65 6e 20 62 65 66 6f 72 65 be.unused,.or.overwritten.before
16240 20 62 65 69 6e 67 20 75 73 65 64 2e 22 0a 20 20 20 20 20 20 3c 2f 70 3e 0a 20 20 20 20 20 20 3c .being.used.".......</p>.......<
16260 70 3e 0a 20 20 20 20 20 20 49 6e 20 3c 61 20 68 72 65 66 3d 22 23 44 65 62 75 67 22 3e 44 65 62 p>.......In.<a.href="#Debug">Deb
16280 75 67 3c 2f 61 3e 20 6d 6f 64 65 2c 20 5a 69 67 20 77 72 69 74 65 73 20 3c 63 6f 64 65 3e 3c 73 ug</a>.mode,.Zig.writes.<code><s
162a0 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f pan.class="line"><span.class="to
162c0 6b 2d 6e 75 6d 62 65 72 22 3e 30 78 61 61 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 3c 2f 63 6f k-number">0xaa</span></span></co
162e0 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
16300 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
16320 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
16340 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
16360 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...
16380 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.
163a0 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
163c0 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
163e0 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 20 20 20 20 20 20 0a .code........</p>...............
16400 20 20 20 20 20 20 0a 20 20 20 20 20 20 3c 68 32 20 69 64 3d 22 5a 69 67 2d 54 65 73 74 22 3e 3c .............<h2.id="Zig-Test"><
16420 61 20 68 72 65 66 3d 22 23 74 6f 63 2d 5a 69 67 2d 54 65 73 74 22 3e 5a 69 67 20 54 65 73 74 3c a.href="#toc-Zig-Test">Zig.Test<
16440 2f 61 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
16460 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>......
16480 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
164a0 72 65 20 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 re.<code><span.class="line"><spa
164c0 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 74 65 73 74 3c 2f 73 70 61 6e 3e 3c 2f 73 70 n.class="tok-kw">test</span></sp
164e0 61 6e 3e 3c 2f 63 6f 64 65 3e 20 64 65 63 6c 61 72 61 74 69 6f 6e 73 20 63 61 6e 20 62 65 20 75 an></code>.declarations.can.be.u
16500 73 65 64 20 74 6f 20 65 6e 73 75 72 65 20 62 65 68 61 76 69 6f 72 20 6d 65 65 74 73 20 65 78 70 sed.to.ensure.behavior.meets.exp
16520 65 63 74 61 74 69 6f 6e 73 3a 0a 20 20 20 20 20 20 3c 2f 70 3e 0a 20 20 20 20 20 20 3c 66 69 67 ectations:.......</p>.......<fig
16540 75 72 65 3e 3c 66 69 67 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">
16560 3c 63 69 74 65 20 63 6c 61 73 73 3d 22 66 69 6c 65 22 3e 69 6e 74 72 6f 64 75 63 69 6e 67 5f 7a <cite.class="file">introducing_z
16580 69 67 5f 74 65 73 74 2e 7a 69 67 3c 2f 63 69 74 65 3e 3c 2f 66 69 67 63 61 70 74 69 6f 6e 3e 3c ig_test.zig</cite></figcaption><
165a0 70 72 65 3e 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 pre><code><span.class="line"><sp
165c0 61 6e 20 63 6c 61 73 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
165e0 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">@
16600 69 6d 70 6f 72 74 3c 2f 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
16620 74 72 22 3e 26 71 75 6f 74 3b 73 74 64 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 29 3b 3c 2f 73 70 tr">&quot;std&quot;</span>);</sp
16640 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 2f 73 70 61 6e 3e 0a 3c an>.<span.class="line"></span>.<
16660 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 span.class="line"><span.class="t
16680 6f 6b 2d 6b 77 22 3e 74 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="
166a0 74 6f 6b 2d 73 74 72 22 3e 26 71 75 6f 74 3b 65 78 70 65 63 74 20 61 64 64 4f 6e 65 20 61 64 64 tok-str">&quot;expect.addOne.add
166c0 73 20 6f 6e 65 20 74 6f 20 34 31 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 20 7b 3c 2f 73 70 61 6e s.one.to.41&quot;</span>.{</span
166e0 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 >.<span.class="line"></span>.<sp
16700 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d an.class="line">....<span.class=
16720 22 74 6f 6b 2d 63 6f 6d 6d 65 6e 74 22 3e 2f 2f 20 54 68 65 20 53 74 61 6e 64 61 72 64 20 4c 69 "tok-comment">//.The.Standard.Li
16740 62 72 61 72 79 20 63 6f 6e 74 61 69 6e 73 20 75 73 65 66 75 6c 20 66 75 6e 63 74 69 6f 6e 73 20 brary.contains.useful.functions.
16760 74 6f 20 68 65 6c 70 20 63 72 65 61 74 65 20 74 65 73 74 73 2e 3c 2f 73 70 61 6e 3e 3c 2f 73 70 to.help.create.tests.</span></sp
16780 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 3c 73 70 61 6e an>.<span.class="line">....<span
167a0 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 63 6f 6d 6d 65 6e 74 22 3e 2f 2f 20 60 65 78 70 65 63 74 60 .class="tok-comment">//.`expect`
167c0 20 69 73 20 61 20 66 75 6e 63 74 69 6f 6e 20 74 68 61 74 20 76 65 72 69 66 69 65 73 20 69 74 73 .is.a.function.that.verifies.its
167e0 20 61 72 67 75 6d 65 6e 74 20 69 73 20 74 72 75 65 2e 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e .argument.is.true.</span></span>
16800 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 3c 73 70 61 6e 20 63 6c .<span.class="line">....<span.cl
16820 61 73 73 3d 22 74 6f 6b 2d 63 6f 6d 6d 65 6e 74 22 3e 2f 2f 20 49 74 20 77 69 6c 6c 20 72 65 74 ass="tok-comment">//.It.will.ret
16840 75 72 6e 20 61 6e 20 65 72 72 6f 72 20 69 66 20 69 74 73 20 61 72 67 75 6d 65 6e 74 20 69 73 20 urn.an.error.if.its.argument.is.
16860 66 61 6c 73 65 20 74 6f 20 69 6e 64 69 63 61 74 65 20 61 20 66 61 69 6c 75 72 65 2e 3c 2f 73 70 false.to.indicate.a.failure.</sp
16880 61 6e 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 an></span>.<span.class="line">..
168a0 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 63 6f 6d 6d 65 6e 74 22 3e 2f 2f 20 60 ..<span.class="tok-comment">//.`
168c0 74 72 79 60 20 69 73 20 75 73 65 64 20 74 6f 20 72 65 74 75 72 6e 20 61 6e 20 65 72 72 6f 72 20 try`.is.used.to.return.an.error.
168e0 74 6f 20 74 68 65 20 74 65 73 74 20 72 75 6e 6e 65 72 20 74 6f 20 6e 6f 74 69 66 79 20 69 74 20 to.the.test.runner.to.notify.it.
16900 74 68 61 74 20 74 68 65 20 74 65 73 74 20 66 61 69 6c 65 64 2e 3c 2f 73 70 61 6e 3e 3c 2f 73 70 that.the.test.failed.</span></sp
16920 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 3c 73 70 61 6e an>.<span.class="line">....<span
16940 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 74 72 79 3c 2f 73 70 61 6e 3e 20 73 74 64 2e 74 .class="tok-kw">try</span>.std.t
16960 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 61 73 73 esting.expect(addOne(<span.class
16980 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 73 70 61 ="tok-number">41</span>).==.<spa
169a0 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 34 32 3c 2f 73 70 61 6e 3e 29 3b n.class="tok-number">42</span>);
169c0 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 7d 3c 2f 73 70 </span>.<span.class="line">}</sp
169e0 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 2f 73 70 61 6e 3e 0a 3c an>.<span.class="line"></span>.<
16a00 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 span.class="line"><span.class="t
16a20 6f 6b 2d 63 6f 6d 6d 65 6e 74 22 3e 2f 2f 2f 20 54 68 65 20 66 75 6e 63 74 69 6f 6e 20 60 61 64 ok-comment">///.The.function.`ad
16a40 64 4f 6e 65 60 20 61 64 64 73 20 6f 6e 65 20 74 6f 20 74 68 65 20 6e 75 6d 62 65 72 20 67 69 76 dOne`.adds.one.to.the.number.giv
16a60 65 6e 20 61 73 20 69 74 73 20 61 72 67 75 6d 65 6e 74 2e 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e en.as.its.argument.</span></span
16a80 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 >.<span.class="line"><span.class
16aa0 3d 22 74 6f 6b 2d 6b 77 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=
16ac0 22 74 6f 6b 2d 66 6e 22 3e 61 64 64 4f 6e 65 3c 2f 73 70 61 6e 3e 28 6e 75 6d 62 65 72 3a 20 3c "tok-fn">addOne</span>(number:.<
16ae0 73 70 61 6e 20 63 6c 61 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>
16b00 29 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
16b20 61 6e 3e 20 7b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e an>.{</span>.<span.class="line">
16b40 20 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<
16b60 2f 73 70 61 6e 3e 20 6e 75 6d 62 65 72 20 2b 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b /span>.number.+.<span.class="tok
16b80 2d 6e 75 6d 62 65 72 22 3e 31 3c 2f 73 70 61 6e 3e 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 -number">1</span>;</span>.<span.
16ba0 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 7d 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 3c 2f 70 72 class="line">}</span></code></pr
16bc0 65 3e 3c 2f 66 69 67 75 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
16be0 6c 61 73 73 3d 22 73 68 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
16c00 6f 6e 3e 3c 70 72 65 3e 3c 73 61 6d 70 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 on><pre><samp><span.class="line"
16c20 3e 24 20 3c 6b 62 64 3e 7a 69 67 20 74 65 73 74 20 69 6e 74 72 6f 64 75 63 69 6e 67 5f 7a 69 67 >$.<kbd>zig.test.introducing_zig
16c40 5f 74 65 73 74 2e 7a 69 67 3c 2f 6b 62 64 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 _test.zig</kbd></span>.<span.cla
16c60 73 73 3d 22 6c 69 6e 65 22 3e 31 2f 31 20 74 65 73 74 2e 65 78 70 65 63 74 20 61 64 64 4f 6e 65 ss="line">1/1.test.expect.addOne
16c80 20 61 64 64 73 20 6f 6e 65 20 74 6f 20 34 31 2e 2e 2e 20 4f 4b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 .adds.one.to.41....OK</span>.<sp
16ca0 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 41 6c 6c 20 31 20 74 65 73 74 73 20 70 61 73 73 an.class="line">All.1.tests.pass
16cc0 65 64 2e 3c 2f 73 70 61 6e 3e 0a 3c 2f 73 61 6d 70 3e 3c 2f 70 72 65 3e 3c 2f 66 69 67 75 72 65 ed.</span>.</samp></pre></figure
16ce0 3e 0a 20 20 20 20 20 20 3c 70 3e 0a 20 20 20 20 20 20 20 20 54 68 65 20 3c 63 6f 64 65 20 63 6c >.......<p>.........The.<code.cl
16d00 61 73 73 3d 22 66 69 6c 65 22 3e 69 6e 74 72 6f 64 75 63 69 6e 67 5f 7a 69 67 5f 74 65 73 74 2e ass="file">introducing_zig_test.
16d20 7a 69 67 3c 2f 63 6f 64 65 3e 20 63 6f 64 65 20 73 61 6d 70 6c 65 20 74 65 73 74 73 20 74 68 65 zig</code>.code.sample.tests.the
16d40 20 3c 61 20 68 72 65 66 3d 22 23 46 75 6e 63 74 69 6f 6e 73 22 3e 66 75 6e 63 74 69 6f 6e 3c 2f .<a.href="#Functions">function</
16d60 61 3e 0a 20 20 20 20 20 20 20 20 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 a>.........<code><span.class="li
16d80 6e 65 22 3e 61 64 64 4f 6e 65 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 20 74 6f 20 65 6e 73 75 ne">addOne</span></code>.to.ensu
16da0 72 65 20 74 68 61 74 20 69 74 20 72 65 74 75 72 6e 73 20 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 re.that.it.returns.<code><span.c
16dc0 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d lass="line"><span.class="tok-num
16de0 62 65 72 22 3e 34 32 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 20 67 69 76 ber">42</span></span></code>.giv
16e00 65 6e 20 74 68 65 20 69 6e 70 75 74 0a 20 20 20 20 20 20 20 20 3c 63 6f 64 65 3e 3c 73 70 61 6e en.the.input.........<code><span
16e20 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e .class="line"><span.class="tok-n
16e40 75 6d 62 65 72 22 3e 34 31 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 2e 20 umber">41</span></span></code>..
16e60 46 72 6f 6d 20 74 68 69 73 20 74 65 73 74 27 73 20 70 65 72 73 70 65 63 74 69 76 65 2c 20 74 68 From.this.test's.perspective,.th
16e80 65 20 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 61 64 64 4f 6e e.<code><span.class="line">addOn
16ea0 65 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 20 66 75 6e 63 74 69 6f 6e 20 69 73 0a 20 20 20 20 e</span></code>.function.is.....
16ec0 20 20 20 20 73 61 69 64 20 74 6f 20 62 65 20 3c 65 6d 3e 63 6f 64 65 20 75 6e 64 65 72 20 74 65 ....said.to.be.<em>code.under.te
16ee0 73 74 3c 2f 65 6d 3e 2e 0a 20 20 20 20 20 20 3c 2f 70 3e 0a 20 20 20 20 20 20 3c 70 3e 0a 20 20 st</em>........</p>.......<p>...
16f00 20 20 20 20 20 20 3c 6b 62 64 3e 7a 69 67 20 74 65 73 74 3c 2f 6b 62 64 3e 20 69 73 20 61 20 74 ......<kbd>zig.test</kbd>.is.a.t
16f20 6f 6f 6c 20 74 68 61 74 20 63 72 65 61 74 65 73 20 61 6e 64 20 72 75 6e 73 20 61 20 74 65 73 74 ool.that.creates.and.runs.a.test
16f40 20 62 75 69 6c 64 2e 20 42 79 20 64 65 66 61 75 6c 74 2c 20 69 74 20 62 75 69 6c 64 73 20 61 6e .build..By.default,.it.builds.an
16f60 64 20 72 75 6e 73 20 61 6e 0a 20 20 20 20 20 20 20 20 65 78 65 63 75 74 61 62 6c 65 20 70 72 6f d.runs.an.........executable.pro
16f80 67 72 61 6d 20 75 73 69 6e 67 20 74 68 65 20 3c 65 6d 3e 64 65 66 61 75 6c 74 20 74 65 73 74 20 gram.using.the.<em>default.test.
16fa0 72 75 6e 6e 65 72 3c 2f 65 6d 3e 20 70 72 6f 76 69 64 65 64 20 62 79 20 74 68 65 20 3c 61 20 68 runner</em>.provided.by.the.<a.h
16fc0 72 65 66 3d 22 23 5a 69 67 2d 53 74 61 6e 64 61 72 64 2d 4c 69 62 72 61 72 79 22 3e 5a 69 67 20 ref="#Zig-Standard-Library">Zig.
16fe0 53 74 61 6e 64 61 72 64 20 4c 69 62 72 61 72 79 3c 2f 61 3e 0a 20 20 20 20 20 20 20 20 61 73 20 Standard.Library</a>.........as.
17000 69 74 73 20 6d 61 69 6e 20 65 6e 74 72 79 20 70 6f 69 6e 74 2e 20 44 75 72 69 6e 67 20 74 68 65 its.main.entry.point..During.the
17020 20 62 75 69 6c 64 2c 20 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 .build,.<code><span.class="line"
17040 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
17060 3e 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 20 64 65 63 6c 61 72 61 74 69 6f 6e 73 20 66 6f 75 ></span></code>.declarations.fou
17080 6e 64 20 77 68 69 6c 65 0a 20 20 20 20 20 20 20 20 3c 61 20 68 72 65 66 3d 22 23 52 6f 6f 74 2d nd.while.........<a.href="#Root-
170a0 53 6f 75 72 63 65 2d 46 69 6c 65 22 3e 72 65 73 6f 6c 76 69 6e 67 3c 2f 61 3e 20 74 68 65 20 67 Source-File">resolving</a>.the.g
170c0 69 76 65 6e 20 5a 69 67 20 73 6f 75 72 63 65 20 66 69 6c 65 20 61 72 65 20 69 6e 63 6c 75 64 65 iven.Zig.source.file.are.include
170e0 64 20 66 6f 72 20 74 68 65 20 64 65 66 61 75 6c 74 20 74 65 73 74 20 72 75 6e 6e 65 72 0a 20 20 d.for.the.default.test.runner...
17100 20 20 20 20 20 20 74 6f 20 72 75 6e 20 61 6e 64 20 72 65 70 6f 72 74 20 6f 6e 2e 0a 20 20 20 20 ......to.run.and.report.on......
17120 20 20 3c 2f 70 3e 0a 20 20 20 20 20 20 3c 61 73 69 64 65 3e 0a 20 20 20 20 20 20 20 20 54 68 69 ..</p>.......<aside>.........Thi
17140 73 20 64 6f 63 75 6d 65 6e 74 61 74 69 6f 6e 20 64 69 73 63 75 73 73 65 73 20 74 68 65 20 66 65 s.documentation.discusses.the.fe
17160 61 74 75 72 65 73 20 6f 66 20 74 68 65 20 64 65 66 61 75 6c 74 20 74 65 73 74 20 72 75 6e 6e 65 atures.of.the.default.test.runne
17180 72 20 61 73 20 70 72 6f 76 69 64 65 64 20 62 79 20 74 68 65 20 5a 69 67 20 53 74 61 6e 64 61 72 r.as.provided.by.the.Zig.Standar
171a0 64 20 4c 69 62 72 61 72 79 2e 0a 20 20 20 20 20 20 20 20 49 74 73 20 73 6f 75 72 63 65 20 63 6f d.Library..........Its.source.co
171c0 64 65 20 69 73 20 6c 6f 63 61 74 65 64 20 69 6e 20 3c 63 6f 64 65 20 63 6c 61 73 73 3d 22 66 69 de.is.located.in.<code.class="fi
171e0 6c 65 22 3e 6c 69 62 2f 74 65 73 74 5f 72 75 6e 6e 65 72 2e 7a 69 67 3c 2f 63 6f 64 65 3e 2e 0a le">lib/test_runner.zig</code>..
17200 20 20 20 20 20 20 3c 2f 61 73 69 64 65 3e 0a 20 20 20 20 20 20 3c 70 3e 0a 20 20 20 20 20 20 20 ......</aside>.......<p>........
17220 20 54 68 65 20 73 68 65 6c 6c 20 6f 75 74 70 75 74 20 73 68 6f 77 6e 20 61 62 6f 76 65 20 64 69 .The.shell.output.shown.above.di
17240 73 70 6c 61 79 73 20 74 77 6f 20 6c 69 6e 65 73 20 61 66 74 65 72 20 74 68 65 20 3c 6b 62 64 3e splays.two.lines.after.the.<kbd>
17260 7a 69 67 20 74 65 73 74 3c 2f 6b 62 64 3e 20 63 6f 6d 6d 61 6e 64 2e 20 54 68 65 73 65 20 6c 69 zig.test</kbd>.command..These.li
17280 6e 65 73 20 61 72 65 0a 20 20 20 20 20 20 20 20 70 72 69 6e 74 65 64 20 74 6f 20 73 74 61 6e 64 nes.are.........printed.to.stand
172a0 61 72 64 20 65 72 72 6f 72 20 62 79 20 74 68 65 20 64 65 66 61 75 6c 74 20 74 65 73 74 20 72 75 ard.error.by.the.default.test.ru
172c0 6e 6e 65 72 3a 0a 20 20 20 20 20 20 3c 2f 70 3e 0a 20 20 20 20 20 20 3c 64 6c 3e 0a 20 20 20 20 nner:.......</p>.......<dl>.....
172e0 20 20 20 20 3c 64 74 3e 3c 73 61 6d 70 3e 54 65 73 74 20 5b 31 2f 31 5d 20 74 65 73 74 20 22 65 ....<dt><samp>Test.[1/1].test."e
17300 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 22 2e 2e 2e 3c xpect.addOne.adds.one.to.41"...<
17320 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
17340 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
17360 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
17380 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
173a0 61 73 65 2c 20 3c 73 61 6d 70 3e 5b 31 2f 31 5d 3c 2f 73 61 6d 70 3e 20 69 6e 64 69 63 61 74 65 ase,.<samp>[1/1]</samp>.indicate
173c0 73 20 74 68 61 74 20 74 68 65 20 66 69 72 73 74 20 74 65 73 74 2c 20 6f 75 74 20 6f 66 20 61 20 s.that.the.first.test,.out.of.a.
173e0 74 6f 74 61 6c 20 6f 66 0a 20 20 20 20 20 20 20 20 20 20 6f 6e 65 20 74 65 73 74 2c 20 69 73 20 total.of...........one.test,.is.
17400 62 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 being.run..Note.that,.when.the.t
17420 65 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 est.runner.program's.standard.er
17440 72 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 ror.is.output...........to.the.t
17460 65 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 erminal,.these.lines.are.cleared
17480 20 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 .when.a.test.succeeds..........<
174a0 2f 64 64 3e 0a 20 20 20 20 20 20 20 20 3c 64 74 3e 3c 73 61 6d 70 3e 41 6c 6c 20 31 20 74 65 73 /dd>.........<dt><samp>All.1.tes
174c0 74 73 20 70 61 73 73 65 64 2e 3c 2f 73 61 6d 70 3e 3c 2f 64 74 3e 0a 20 20 20 20 20 20 20 20 3c ts.passed.</samp></dt>.........<
174e0 64 64 3e 54 68 69 73 20 6c 69 6e 65 20 69 6e 64 69 63 61 74 65 73 20 74 68 65 20 74 6f 74 61 6c dd>This.line.indicates.the.total
17500 20 6e 75 6d 62 65 72 20 6f 66 20 74 65 73 74 73 20 74 68 61 74 20 68 61 76 65 20 70 61 73 73 65 .number.of.tests.that.have.passe
17520 64 2e 3c 2f 64 64 3e 0a 20 20 20 20 20 20 3c 2f 64 6c 3e 0a 20 20 20 20 20 20 3c 68 33 20 69 64 d.</dd>.......</dl>.......<h3.id
17540 3d 22 54 65 73 74 2d 44 65 63 6c 61 72 61 74 69 6f 6e 73 22 3e 3c 61 20 68 72 65 66 3d 22 23 74 ="Test-Declarations"><a.href="#t
17560 6f 63 2d 54 65 73 74 2d 44 65 63 6c 61 72 61 74 69 6f 6e 73 22 3e 54 65 73 74 20 44 65 63 6c 61 oc-Test-Declarations">Test.Decla
17580 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 72 65 66 3d rations</a>.<a.class="hdr".href=
175a0 22 23 54 65 73 74 2d 44 65 63 6c 61 72 61 74 69 6f 6e 73 22 3e c2 a7 3c 2f 61 3e 3c 2f 68 33 3e "#Test-Declarations">..</a></h3>
175c0 0a 0a 20 20 20 20 20 20 3c 70 3e 0a 20 20 20 20 20 20 20 20 54 65 73 74 20 64 65 63 6c 61 72 61 ........<p>.........Test.declara
175e0 74 69 6f 6e 73 20 63 6f 6e 74 61 69 6e 20 74 68 65 20 3c 61 20 68 72 65 66 3d 22 23 4b 65 79 77 tions.contain.the.<a.href="#Keyw
17600 6f 72 64 2d 52 65 66 65 72 65 6e 63 65 22 3e 6b 65 79 77 6f 72 64 3c 2f 61 3e 20 3c 63 6f 64 65 ord-Reference">keyword</a>.<code
17620 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d ><span.class="line"><span.class=
17640 22 74 6f 6b 2d 6b 77 22 3e 74 65 73 74 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 "tok-kw">test</span></span></cod
17660 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 6f e>,.followed.by.an.........optio
17680 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 23 nal.name.written.as.a.<a.href="#
176a0 53 74 72 69 6e 67 2d 4c 69 74 65 72 61 6c 73 2d 61 6e 64 2d 55 6e 69 63 6f 64 65 2d 43 6f 64 65 String-Literals-and-Unicode-Code
176c0 2d 50 6f 69 6e 74 2d 4c 69 74 65 72 61 6c 73 22 3e 73 74 72 69 6e 67 20 6c 69 74 65 72 61 6c 3c -Point-Literals">string.literal<
176e0 2f 61 3e 2c 20 66 6f 6c 6c 6f 77 65 64 0a 20 20 20 20 20 20 20 20 62 79 20 61 20 3c 61 20 68 72 /a>,.followed.........by.a.<a.hr
17700 65 66 3d 22 23 42 6c 6f 63 6b 73 22 3e 62 6c 6f 63 6b 3c 2f 61 3e 20 63 6f 6e 74 61 69 6e 69 6e ef="#Blocks">block</a>.containin
17720 67 20 61 6e 79 20 76 61 6c 69 64 20 5a 69 67 20 63 6f 64 65 20 74 68 61 74 20 69 73 20 61 6c 6c g.any.valid.Zig.code.that.is.all
17740 6f 77 65 64 20 69 6e 20 61 20 3c 61 20 68 72 65 66 3d 22 23 46 75 6e 63 74 69 6f 6e 73 22 3e 66 owed.in.a.<a.href="#Functions">f
17760 75 6e 63 74 69 6f 6e 3c 2f 61 3e 2e 0a 20 20 20 20 20 20 3c 2f 70 3e 0a 20 20 20 20 20 20 3c 61 unction</a>........</p>.......<a
17780 73 69 64 65 3e 0a 20 20 20 20 20 20 20 20 42 79 20 63 6f 6e 76 65 6e 74 69 6f 6e 2c 20 6e 6f 6e side>.........By.convention,.non
177a0 2d 6e 61 6d 65 64 20 74 65 73 74 73 20 73 68 6f 75 6c 64 20 6f 6e 6c 79 20 62 65 20 75 73 65 64 -named.tests.should.only.be.used
177c0 20 74 6f 20 3c 61 20 68 72 65 66 3d 22 23 4e 65 73 74 65 64 2d 43 6f 6e 74 61 69 6e 65 72 2d 54 .to.<a.href="#Nested-Container-T
177e0 65 73 74 73 22 3e 6d 61 6b 65 20 6f 74 68 65 72 20 74 65 73 74 73 20 72 75 6e 3c 2f 61 3e 2e 0a ests">make.other.tests.run</a>..
17800 20 20 20 20 20 20 20 20 4e 6f 6e 2d 6e 61 6d 65 64 20 74 65 73 74 73 20 63 61 6e 6e 6f 74 20 62 ........Non-named.tests.cannot.b
17820 65 20 3c 61 20 68 72 65 66 3d 22 23 53 6b 69 70 2d 54 65 73 74 73 22 3e 66 69 6c 74 65 72 65 64 e.<a.href="#Skip-Tests">filtered
17840 3c 2f 61 3e 2e 0a 20 20 20 20 20 20 3c 2f 61 73 69 64 65 3e 0a 20 20 20 20 20 20 3c 70 3e 0a 20 </a>........</aside>.......<p>..
17860 20 20 20 20 20 20 20 54 65 73 74 20 64 65 63 6c 61 72 61 74 69 6f 6e 73 20 61 72 65 20 73 69 6d .......Test.declarations.are.sim
17880 69 6c 61 72 20 74 6f 20 3c 61 20 68 72 65 66 3d 22 23 46 75 6e 63 74 69 6f 6e 73 22 3e 46 75 6e ilar.to.<a.href="#Functions">Fun
178a0 63 74 69 6f 6e 73 3c 2f 61 3e 3a 20 74 68 65 79 20 68 61 76 65 20 61 20 72 65 74 75 72 6e 20 74 ctions</a>:.they.have.a.return.t
178c0 79 70 65 20 61 6e 64 20 61 20 62 6c 6f 63 6b 20 6f 66 20 63 6f 64 65 2e 20 54 68 65 20 69 6d 70 ype.and.a.block.of.code..The.imp
178e0 6c 69 63 69 74 0a 20 20 20 20 20 20 20 20 72 65 74 75 72 6e 20 74 79 70 65 20 6f 66 20 3c 63 6f licit.........return.type.of.<co
17900 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 de><span.class="line"><span.clas
17920 73 3d 22 74 6f 6b 2d 6b 77 22 3e 74 65 73 74 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 3c 2f 63 s="tok-kw">test</span></span></c
17940 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 6f ode>.is.the.<a.href="#Error-Unio
17960 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 6f n-Type">Error.Union.Type</a>.<co
17980 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 de><span.class="line"><span.clas
179a0 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
179c0 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 76 6f 69 64 3c 2f 73 70 61 6e 3e 3c an.class="tok-type">void</span><
179e0 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 2c 0a 20 20 20 20 20 20 20 20 61 6e 64 20 69 74 20 63 61 /span></code>,.........and.it.ca
17a00 6e 6e 6f 74 20 62 65 20 63 68 61 6e 67 65 64 2e 20 57 68 65 6e 20 61 20 5a 69 67 20 73 6f 75 72 nnot.be.changed..When.a.Zig.sour
17a20 63 65 20 66 69 6c 65 20 69 73 20 6e 6f 74 20 62 75 69 6c 74 20 75 73 69 6e 67 20 74 68 65 20 3c ce.file.is.not.built.using.the.<
17a40 6b 62 64 3e 7a 69 67 20 74 65 73 74 3c 2f 6b 62 64 3e 20 74 6f 6f 6c 2c 20 74 68 65 20 74 65 73 kbd>zig.test</kbd>.tool,.the.tes
17a60 74 0a 20 20 20 20 20 20 20 20 64 65 63 6c 61 72 61 74 69 6f 6e 73 20 61 72 65 20 6f 6d 69 74 74 t.........declarations.are.omitt
17a80 65 64 20 66 72 6f 6d 20 74 68 65 20 62 75 69 6c 64 2e 0a 20 20 20 20 20 20 3c 2f 70 3e 0a 20 20 ed.from.the.build........</p>...
17aa0 20 20 20 20 3c 70 3e 0a 20 20 20 20 20 20 20 20 54 65 73 74 20 64 65 63 6c 61 72 61 74 69 6f 6e ....<p>.........Test.declaration
17ac0 73 20 63 61 6e 20 62 65 20 77 72 69 74 74 65 6e 20 69 6e 20 74 68 65 20 73 61 6d 65 20 66 69 6c s.can.be.written.in.the.same.fil
17ae0 65 2c 20 77 68 65 72 65 20 63 6f 64 65 20 75 6e 64 65 72 20 74 65 73 74 20 69 73 20 77 72 69 74 e,.where.code.under.test.is.writ
17b00 74 65 6e 2c 20 6f 72 20 69 6e 20 61 20 73 65 70 61 72 61 74 65 20 5a 69 67 20 73 6f 75 72 63 65 ten,.or.in.a.separate.Zig.source
17b20 20 66 69 6c 65 2e 0a 20 20 20 20 20 20 20 20 53 69 6e 63 65 20 74 65 73 74 20 64 65 63 6c 61 72 .file..........Since.test.declar
17b40 61 74 69 6f 6e 73 20 61 72 65 20 74 6f 70 2d 6c 65 76 65 6c 20 64 65 63 6c 61 72 61 74 69 6f 6e ations.are.top-level.declaration
17b60 73 2c 20 74 68 65 79 20 61 72 65 20 6f 72 64 65 72 2d 69 6e 64 65 70 65 6e 64 65 6e 74 20 61 6e s,.they.are.order-independent.an
17b80 64 20 63 61 6e 0a 20 20 20 20 20 20 20 20 62 65 20 77 72 69 74 74 65 6e 20 62 65 66 6f 72 65 20 d.can.........be.written.before.
17ba0 6f 72 20 61 66 74 65 72 20 74 68 65 20 63 6f 64 65 20 75 6e 64 65 72 20 74 65 73 74 2e 0a 20 20 or.after.the.code.under.test....
17bc0 20 20 20 20 3c 2f 70 3e 0a 20 20 20 20 20 20 3c 70 3e 53 65 65 20 61 6c 73 6f 3a 3c 2f 70 3e 3c ....</p>.......<p>See.also:</p><
17be0 75 6c 3e 0a 3c 6c 69 3e 3c 61 20 68 72 65 66 3d 22 23 54 68 65 2d 47 6c 6f 62 61 6c 2d 45 72 72 ul>.<li><a.href="#The-Global-Err
17c00 6f 72 2d 53 65 74 22 3e 54 68 65 20 47 6c 6f 62 61 6c 20 45 72 72 6f 72 20 53 65 74 3c 2f 61 3e or-Set">The.Global.Error.Set</a>
17c20 3c 2f 6c 69 3e 0a 3c 6c 69 3e 3c 61 20 68 72 65 66 3d 22 23 47 72 61 6d 6d 61 72 22 3e 47 72 61 </li>.<li><a.href="#Grammar">Gra
17c40 6d 6d 61 72 3c 2f 61 3e 3c 2f 6c 69 3e 0a 3c 2f 75 6c 3e 0a 0a 20 20 20 20 20 20 0a 20 20 20 20 mmar</a></li>.</ul>.............
17c60 20 20 3c 68 33 20 69 64 3d 22 4e 65 73 74 65 64 2d 43 6f 6e 74 61 69 6e 65 72 2d 54 65 73 74 73 ..<h3.id="Nested-Container-Tests
17c80 22 3e 3c 61 20 68 72 65 66 3d 22 23 74 6f 63 2d 4e 65 73 74 65 64 2d 43 6f 6e 74 61 69 6e 65 72 "><a.href="#toc-Nested-Container
17ca0 2d 54 65 73 74 73 22 3e 4e 65 73 74 65 64 20 43 6f 6e 74 61 69 6e 65 72 20 54 65 73 74 73 3c 2f -Tests">Nested.Container.Tests</
17cc0 61 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 65 73 74 65 64 2d a>.<a.class="hdr".href="#Nested-
17ce0 43 6f 6e 74 61 69 6e 65 72 2d 54 65 73 74 73 22 3e c2 a7 3c 2f 61 3e 3c 2f 68 33 3e 0a 0a 20 20 Container-Tests">..</a></h3>....
17d00 20 20 20 20 3c 70 3e 0a 20 20 20 20 20 20 20 20 57 68 65 6e 20 74 68 65 20 3c 6b 62 64 3e 7a 69 ....<p>.........When.the.<kbd>zi
17d20 67 20 74 65 73 74 3c 2f 6b 62 64 3e 20 74 6f 6f 6c 20 69 73 20 62 75 69 6c 64 69 6e 67 20 61 20 g.test</kbd>.tool.is.building.a.
17d40 74 65 73 74 20 72 75 6e 6e 65 72 2c 20 6f 6e 6c 79 20 72 65 73 6f 6c 76 65 64 20 3c 63 6f 64 65 test.runner,.only.resolved.<code
17d60 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d ><span.class="line"><span.class=
17d80 22 74 6f 6b 2d 6b 77 22 3e 74 65 73 74 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 "tok-kw">test</span></span></cod
17da0 65 3e 0a 20 20 20 20 20 20 20 20 64 65 63 6c 61 72 61 74 69 6f 6e 73 20 61 72 65 20 69 6e 63 6c e>.........declarations.are.incl
17dc0 75 64 65 64 20 69 6e 20 74 68 65 20 62 75 69 6c 64 2e 20 49 6e 69 74 69 61 6c 6c 79 2c 20 6f 6e uded.in.the.build..Initially,.on
17de0 6c 79 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 27 73 20 74 ly.the.given.Zig.source.file's.t
17e00 6f 70 2d 6c 65 76 65 6c 0a 20 20 20 20 20 20 20 20 64 65 63 6c 61 72 61 74 69 6f 6e 73 20 61 72 op-level.........declarations.ar
17e20 65 20 72 65 73 6f 6c 76 65 64 2e 20 55 6e 6c 65 73 73 20 6e 65 73 74 65 64 20 3c 61 20 68 72 65 e.resolved..Unless.nested.<a.hre
17e40 66 3d 22 23 43 6f 6e 74 61 69 6e 65 72 73 22 3e 63 6f 6e 74 61 69 6e 65 72 73 3c 2f 61 3e 20 61 f="#Containers">containers</a>.a
17e60 72 65 20 72 65 66 65 72 65 6e 63 65 64 20 66 72 6f 6d 20 61 20 74 6f 70 2d 6c 65 76 65 6c 20 74 re.referenced.from.a.top-level.t
17e80 65 73 74 20 64 65 63 6c 61 72 61 74 69 6f 6e 2c 0a 20 20 20 20 20 20 20 20 6e 65 73 74 65 64 20 est.declaration,.........nested.
17ea0 63 6f 6e 74 61 69 6e 65 72 20 74 65 73 74 73 20 77 69 6c 6c 20 6e 6f 74 20 62 65 20 72 65 73 6f container.tests.will.not.be.reso
17ec0 6c 76 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 lved........</p>.......<p>......
17ee0 20 20 20 54 68 65 20 63 6f 64 65 20 73 61 6d 70 6c 65 20 62 65 6c 6f 77 20 75 73 65 73 20 74 68 ...The.code.sample.below.uses.th
17f00 65 20 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 73 74 64 2e 74 e.<code><span.class="line">std.t
17f20 65 73 74 69 6e 67 2e 72 65 66 41 6c 6c 44 65 63 6c 73 28 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 esting.refAllDecls(<span.class="
17f40 74 6f 6b 2d 62 75 69 6c 74 69 6e 22 3e 40 54 68 69 73 3c 2f 73 70 61 6e 3e 28 29 29 3c 2f 73 70 tok-builtin">@This</span>())</sp
17f60 61 6e 3e 3c 2f 63 6f 64 65 3e 20 66 75 6e 63 74 69 6f 6e 20 63 61 6c 6c 20 74 6f 0a 20 20 20 20 an></code>.function.call.to.....
17f80 20 20 20 20 72 65 66 65 72 65 6e 63 65 20 61 6c 6c 20 6f 66 20 74 68 65 20 63 6f 6e 74 61 69 6e ....reference.all.of.the.contain
17fa0 65 72 73 20 74 68 61 74 20 61 72 65 20 69 6e 20 74 68 65 20 66 69 6c 65 20 69 6e 63 6c 75 64 69 ers.that.are.in.the.file.includi
17fc0 6e 67 20 74 68 65 20 69 6d 70 6f 72 74 65 64 20 5a 69 67 20 73 6f 75 72 63 65 20 66 69 6c 65 2e ng.the.imported.Zig.source.file.
17fe0 20 54 68 65 20 63 6f 64 65 0a 20 20 20 20 20 20 20 20 73 61 6d 70 6c 65 20 61 6c 73 6f 20 73 68 .The.code.........sample.also.sh
18000 6f 77 73 20 61 6e 20 61 6c 74 65 72 6e 61 74 69 76 65 20 77 61 79 20 74 6f 20 72 65 66 65 72 65 ows.an.alternative.way.to.refere
18020 6e 63 65 20 63 6f 6e 74 61 69 6e 65 72 73 20 75 73 69 6e 67 20 74 68 65 20 3c 63 6f 64 65 3e 3c nce.containers.using.the.<code><
18040 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 5f 20 3d 20 43 3b 3c 2f 73 70 61 6e 3e 3c span.class="line">_.=.C;</span><
18060 2f 63 6f 64 65 3e 0a 20 20 20 20 20 20 20 20 73 79 6e 74 61 78 2e 20 54 68 69 73 20 73 79 6e 74 /code>.........syntax..This.synt
18080 61 78 20 74 65 6c 6c 73 20 74 68 65 20 63 6f 6d 70 69 6c 65 72 20 74 6f 20 69 67 6e 6f 72 65 20 ax.tells.the.compiler.to.ignore.
180a0 74 68 65 20 72 65 73 75 6c 74 20 6f 66 20 74 68 65 20 65 78 70 72 65 73 73 69 6f 6e 20 6f 6e 20 the.result.of.the.expression.on.
180c0 74 68 65 20 72 69 67 68 74 20 73 69 64 65 20 6f 66 20 74 68 65 0a 20 20 20 20 20 20 20 20 61 73 the.right.side.of.the.........as
180e0 73 69 67 6e 6d 65 6e 74 20 6f 70 65 72 61 74 6f 72 2e 0a 20 20 20 20 20 20 3c 2f 70 3e 0a 20 20 signment.operator........</p>...
18100 20 20 20 20 3c 66 69 67 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
18120 69 67 2d 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 64 ig-cap"><cite.class="file">testd
18140 65 63 6c 5f 63 6f 6e 74 61 69 6e 65 72 5f 74 6f 70 5f 6c 65 76 65 6c 2e 7a 69 67 3c 2f 63 69 74 ecl_container_top_level.zig</cit
18160 65 3e 3c 2f 66 69 67 63 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.
18180 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 class="line"><span.class="tok-kw
181a0 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
181c0 3d 22 74 6f 6b 2d 62 75 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
181e0 70 61 6e 20 63 6c 61 73 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
18200 6f 74 3b 3c 2f 73 70 61 6e 3e 29 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d ot;</span>);</span>.<span.class=
18220 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 63 6f 6e 73 "line"><span.class="tok-kw">cons
18240 74 3c 2f 73 70 61 6e 3e 20 65 78 70 65 63 74 20 3d 20 73 74 64 2e 74 65 73 74 69 6e 67 2e 65 78 t</span>.expect.=.std.testing.ex
18260 70 65 63 74 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e pect;</span>.<span.class="line">
18280 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e </span>.<span.class="line"><span
182a0 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 6d 70 6f 72 74 65 64 .class="tok-comment">//.Imported
182c0 20 73 6f 75 72 63 65 20 66 69 6c 65 20 74 65 73 74 73 20 77 69 6c 6c 20 72 75 6e 20 77 68 65 6e .source.file.tests.will.run.when
182e0 20 72 65 66 65 72 65 6e 63 65 64 20 66 72 6f 6d 20 61 20 74 6f 70 2d 6c 65 76 65 6c 20 74 65 73 .referenced.from.a.top-level.tes
18300 74 20 64 65 63 6c 61 72 61 74 69 6f 6e 2e 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 t.declaration.</span></span>.<sp
18320 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b an.class="line"><span.class="tok
18340 2d 63 6f 6d 6d 65 6e 74 22 3e 2f 2f 20 54 68 65 20 6e 65 78 74 20 6c 69 6e 65 20 61 6c 6f 6e 65 -comment">//.The.next.line.alone
18360 20 64 6f 65 73 20 6e 6f 74 20 63 61 75 73 65 20 26 71 75 6f 74 3b 69 6e 74 72 6f 64 75 63 69 6e .does.not.cause.&quot;introducin
18380 67 5f 7a 69 67 5f 74 65 73 74 2e 7a 69 67 26 71 75 6f 74 3b 20 74 65 73 74 73 20 74 6f 20 72 75 g_zig_test.zig&quot;.tests.to.ru
183a0 6e 2e 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 n.</span></span>.<span.class="li
183c0 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 63 6f 6e 73 74 3c 2f ne"><span.class="tok-kw">const</
183e0 73 70 61 6e 3e 20 69 6d 70 6f 72 74 65 64 5f 66 69 6c 65 20 3d 20 3c 73 70 61 6e 20 63 6c 61 73 span>.imported_file.=.<span.clas
18400 73 3d 22 74 6f 6b 2d 62 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>(<
18420 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 73 74 72 22 3e 26 71 75 6f 74 3b 69 6e 74 72 6f span.class="tok-str">&quot;intro
18440 64 75 63 69 6e 67 5f 7a 69 67 5f 74 65 73 74 2e 7a 69 67 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e ducing_zig_test.zig&quot;</span>
18460 29 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 2f 73 );</span>.<span.class="line"></s
18480 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c pan>.<span.class="line"><span.cl
184a0 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 74 65 73 74 3c 2f 73 70 61 6e 3e 20 7b 3c 2f 73 70 61 6e ass="tok-kw">test</span>.{</span
184c0 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 3c 73 70 61 6e 20 63 >.<span.class="line">....<span.c
184e0 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 72 75 6e 20 6e 65 73 lass="tok-comment">//.To.run.nes
18500 74 65 64 20 63 6f 6e 74 61 69 6e 65 72 20 74 65 73 74 73 2c 20 65 69 74 68 65 72 2c 20 63 61 6c ted.container.tests,.either,.cal
18520 6c 20 60 72 65 66 41 6c 6c 44 65 63 6c 73 60 20 77 68 69 63 68 20 77 69 6c 6c 3c 2f 73 70 61 6e l.`refAllDecls`.which.will</span
18540 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 ></span>.<span.class="line">....
18560 3c 73 70 61 6e 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 66 <span.class="tok-comment">//.ref
18580 65 72 65 6e 63 65 20 61 6c 6c 20 64 65 63 6c 61 72 61 74 69 6f 6e 73 20 6c 6f 63 61 74 65 64 20 erence.all.declarations.located.
185a0 69 6e 20 74 68 65 20 67 69 76 65 6e 20 61 72 67 75 6d 65 6e 74 2e 3c 2f 73 70 61 6e 3e 3c 2f 73 in.the.given.argument.</span></s
185c0 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 3c 73 70 61 pan>.<span.class="line">....<spa
185e0 6e 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 40 54 68 69 73 28 n.class="tok-comment">//.`@This(
18600 29 60 20 69 73 20 61 20 62 75 69 6c 74 69 6e 20 66 75 6e 63 74 69 6f 6e 20 74 68 61 74 20 72 65 )`.is.a.builtin.function.that.re
18620 74 75 72 6e 73 20 74 68 65 20 69 6e 6e 65 72 6d 6f 73 74 20 63 6f 6e 74 61 69 6e 65 72 20 69 74 turns.the.innermost.container.it
18640 20 69 73 20 63 61 6c 6c 65 64 20 66 72 6f 6d 2e 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 0a 3c .is.called.from.</span></span>.<
18660 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 span.class="line">....<span.clas
18680 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 6d 70 s="tok-comment">//.In.this.examp
186a0 6c 65 2c 20 74 68 65 20 69 6e 6e 65 72 6d 6f 73 74 20 63 6f 6e 74 61 69 6e 65 72 20 69 73 20 74 le,.the.innermost.container.is.t
186c0 68 69 73 20 66 69 6c 65 20 28 69 6d 70 6c 69 63 69 74 6c 79 20 61 20 73 74 72 75 63 74 29 2e 3c his.file.(implicitly.a.struct).<
186e0 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 /span></span>.<span.class="line"
18700 3e 20 20 20 20 73 74 64 2e 74 65 73 74 69 6e 67 2e 72 65 66 41 6c 6c 44 65 63 6c 73 28 3c 73 70 >....std.testing.refAllDecls(<sp
18720 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 62 75 69 6c 74 69 6e 22 3e 40 54 68 69 73 3c 2f 73 70 an.class="tok-builtin">@This</sp
18740 61 6e 3e 28 29 29 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 an>());</span>.<span.class="line
18760 22 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 "></span>.<span.class="line">...
18780 20 3c 73 70 61 6e 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 .<span.class="tok-comment">//.or
187a0 2c 20 72 65 66 65 72 65 6e 63 65 20 65 61 63 68 20 63 6f 6e 74 61 69 6e 65 72 20 69 6e 64 69 76 ,.reference.each.container.indiv
187c0 69 64 75 61 6c 6c 79 20 66 72 6f 6d 20 61 20 74 6f 70 2d 6c 65 76 65 6c 20 74 65 73 74 20 64 65 idually.from.a.top-level.test.de
187e0 63 6c 61 72 61 74 69 6f 6e 2e 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 claration.</span></span>.<span.c
18800 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b lass="line">....<span.class="tok
18820 2d 63 6f 6d 6d 65 6e 74 22 3e 2f 2f 20 54 68 65 20 60 5f 20 3d 20 43 3b 60 20 73 79 6e 74 61 78 -comment">//.The.`_.=.C;`.syntax
18840 20 69 73 20 61 20 6e 6f 2d 6f 70 20 72 65 66 65 72 65 6e 63 65 20 74 6f 20 74 68 65 20 69 64 65 .is.a.no-op.reference.to.the.ide
18860 6e 74 69 66 69 65 72 20 60 43 60 2e 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e ntifier.`C`.</span></span>.<span
18880 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 5f 20 3d 20 53 3b 3c 2f 73 70 61 6e 3e 0a .class="line">...._.=.S;</span>.
188a0 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 5f 20 3d 20 55 3b 3c 2f 73 <span.class="line">...._.=.U;</s
188c0 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 5f 20 3d 20 pan>.<span.class="line">...._.=.
188e0 3c 73 70 61 6e 20 63 6c 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
18900 74 3c 2f 73 70 61 6e 3e 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">&
18920 71 75 6f 74 3b 69 6e 74 72 6f 64 75 63 69 6e 67 5f 7a 69 67 5f 74 65 73 74 2e 7a 69 67 26 71 75 quot;introducing_zig_test.zig&qu
18940 6f 74 3b 3c 2f 73 70 61 6e 3e 29 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d ot;</span>);</span>.<span.class=
18960 22 6c 69 6e 65 22 3e 7d 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e "line">}</span>.<span.class="lin
18980 65 22 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 e"></span>.<span.class="line"><s
189a0 70 61 6e 20 63 6c 61 73 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>.
189c0 53 20 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 73 74 72 75 63 74 3c S.=.<span.class="tok-kw">struct<
189e0 2f 73 70 61 6e 3e 20 7b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e /span>.{</span>.<span.class="lin
18a00 65 22 3e 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 74 65 73 74 e">....<span.class="tok-kw">test
18a20 3c 2f 73 70 61 6e 3e 20 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
18a40 75 6f 74 3b 53 20 64 65 6d 6f 20 74 65 73 74 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 20 7b 3c 2f uot;S.demo.test&quot;</span>.{</
18a60 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 20 20 20 span>.<span.class="line">.......
18a80 20 3c 73 70 61 6e 20 63 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>
18aa0 20 65 78 70 65 63 74 28 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6c 6c 22 3e 74 .expect(<span.class="tok-null">t
18ac0 72 75 65 3c 2f 73 70 61 6e 3e 29 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d rue</span>);</span>.<span.class=
18ae0 22 6c 69 6e 65 22 3e 20 20 20 20 7d 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d "line">....}</span>.<span.class=
18b00 22 6c 69 6e 65 22 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 "line"></span>.<span.class="line
18b20 22 3e 20 20 20 20 3c 73 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
18b40 3c 2f 73 70 61 6e 3e 20 53 45 20 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 </span>.SE.=.<span.class="tok-kw
18b60 22 3e 65 6e 75 6d 3c 2f 73 70 61 6e 3e 20 7b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 ">enum</span>.{</span>.<span.cla
18b80 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 20 20 20 20 56 2c 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 ss="line">........V,</span>.<spa
18ba0 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 n.class="line"></span>.<span.cla
18bc0 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 ss="line">........<span.class="t
18be0 6f 6b 2d 63 6f 6d 6d 65 6e 74 22 3e 2f 2f 20 54 68 69 73 20 74 65 73 74 20 77 6f 6e 27 74 20 72 ok-comment">//.This.test.won't.r
18c00 75 6e 20 62 65 63 61 75 73 65 20 69 74 73 20 63 6f 6e 74 61 69 6e 65 72 20 28 53 45 29 20 69 73 un.because.its.container.(SE).is
18c20 20 6e 6f 74 20 72 65 66 65 72 65 6e 63 65 64 2e 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 0a 3c .not.referenced.</span></span>.<
18c40 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 20 20 20 20 3c 73 70 61 6e 20 span.class="line">........<span.
18c60 63 6c 61 73 73 3d 22 74 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
18c80 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 73 74 72 22 3e 26 71 75 6f 74 3b 54 68 69 73 20 54 65 73 74 .class="tok-str">&quot;This.Test
18ca0 20 57 6f 6e 27 74 20 52 75 6e 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 20 7b 3c 2f 73 70 61 6e 3e .Won't.Run&quot;</span>.{</span>
18cc0 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 20 20 20 20 20 20 20 20 .<span.class="line">............
18ce0 3c 73 70 61 6e 20 63 6c 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>.
18d00 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 66 61 expect(<span.class="tok-null">fa
18d20 6c 73 65 3c 2f 73 70 61 6e 3e 29 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d lse</span>);</span>.<span.class=
18d40 22 6c 69 6e 65 22 3e 20 20 20 20 20 20 20 20 7d 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c "line">........}</span>.<span.cl
18d60 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 7d 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 ass="line">....};</span>.<span.c
18d80 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 7d 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 lass="line">};</span>.<span.clas
18da0 73 3d 22 6c 69 6e 65 22 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 s="line"></span>.<span.class="li
18dc0 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 63 6f 6e 73 74 3c 2f ne"><span.class="tok-kw">const</
18de0 73 70 61 6e 3e 20 55 20 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 75 span>.U.=.<span.class="tok-kw">u
18e00 6e 69 6f 6e 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 63 nion</span>.{.<span.class="tok-c
18e20 6f 6d 6d 65 6e 74 22 3e 2f 2f 20 55 20 69 73 20 72 65 66 65 72 65 6e 63 65 64 20 62 79 20 74 68 omment">//.U.is.referenced.by.th
18e40 65 20 66 69 6c 65 27 73 20 74 6f 70 2d 6c 65 76 65 6c 20 74 65 73 74 20 64 65 63 6c 61 72 61 74 e.file's.top-level.test.declarat
18e60 69 6f 6e 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c ion</span></span>.<span.class="l
18e80 69 6e 65 22 3e 20 20 20 20 73 3a 20 55 53 2c 20 20 20 20 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 ine">....s:.US,........<span.cla
18ea0 73 73 3d 22 74 6f 6b 2d 63 6f 6d 6d 65 6e 74 22 3e 2f 2f 20 61 6e 64 20 55 53 20 69 73 20 72 65 ss="tok-comment">//.and.US.is.re
18ec0 66 65 72 65 6e 63 65 64 20 68 65 72 65 3b 20 74 68 65 72 65 66 6f 72 65 2c 20 26 71 75 6f 74 3b ferenced.here;.therefore,.&quot;
18ee0 55 2e 55 73 20 64 65 6d 6f 20 74 65 73 74 26 71 75 6f 74 3b 20 77 69 6c 6c 20 72 75 6e 3c 2f 73 U.Us.demo.test&quot;.will.run</s
18f00 70 61 6e 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c pan></span>.<span.class="line"><
18f20 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 3c 73 /span>.<span.class="line">....<s
18f40 70 61 6e 20 63 6c 61 73 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>.
18f60 55 53 20 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 73 74 72 75 63 74 US.=.<span.class="tok-kw">struct
18f80 3c 2f 73 70 61 6e 3e 20 7b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 </span>.{</span>.<span.class="li
18fa0 6e 65 22 3e 20 20 20 20 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 ne">........<span.class="tok-kw"
18fc0 3e 74 65 73 74 3c 2f 73 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
18fe0 72 22 3e 26 71 75 6f 74 3b 55 2e 55 53 20 64 65 6d 6f 20 74 65 73 74 26 71 75 6f 74 3b 3c 2f 73 r">&quot;U.US.demo.test&quot;</s
19000 70 61 6e 3e 20 7b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 pan>.{</span>.<span.class="line"
19020 3e 20 20 20 20 20 20 20 20 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 63 6f >............<span.class="tok-co
19040 6d 6d 65 6e 74 22 3e 2f 2f 20 54 68 69 73 20 74 65 73 74 20 69 73 20 61 20 74 6f 70 2d 6c 65 76 mment">//.This.test.is.a.top-lev
19060 65 6c 20 74 65 73 74 20 64 65 63 6c 61 72 61 74 69 6f 6e 20 66 6f 72 20 74 68 65 20 73 74 72 75 el.test.declaration.for.the.stru
19080 63 74 2e 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c ct.</span></span>.<span.class="l
190a0 69 6e 65 22 3e 20 20 20 20 20 20 20 20 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f ine">............<span.class="to
190c0 6b 2d 63 6f 6d 6d 65 6e 74 22 3e 2f 2f 20 54 68 65 20 73 74 72 75 63 74 20 69 73 20 6e 65 73 74 k-comment">//.The.struct.is.nest
190e0 65 64 20 28 64 65 63 6c 61 72 65 64 29 20 69 6e 73 69 64 65 20 6f 66 20 61 20 75 6e 69 6f 6e 2e ed.(declared).inside.of.a.union.
19100 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 </span></span>.<span.class="line
19120 22 3e 20 20 20 20 20 20 20 20 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b ">............<span.class="tok-k
19140 77 22 3e 74 72 79 3c 2f 73 70 61 6e 3e 20 65 78 70 65 63 74 28 3c 73 70 61 6e 20 63 6c 61 73 73 w">try</span>.expect(<span.class
19160 3d 22 74 6f 6b 2d 6e 75 6c 6c 22 3e 74 72 75 65 3c 2f 73 70 61 6e 3e 29 3b 3c 2f 73 70 61 6e 3e ="tok-null">true</span>);</span>
19180 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 20 20 20 20 7d 3c 2f 73 .<span.class="line">........}</s
191a0 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 7d 3b 3c 2f pan>.<span.class="line">....};</
191c0 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 2f 73 70 61 6e 3e span>.<span.class="line"></span>
191e0 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 3c 73 70 61 6e 20 63 6c .<span.class="line">....<span.cl
19200 61 73 73 3d 22 74 6f 6b 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
19220 6c 61 73 73 3d 22 74 6f 6b 2d 73 74 72 22 3e 26 71 75 6f 74 3b 55 20 64 65 6d 6f 20 74 65 73 74 lass="tok-str">&quot;U.demo.test
19240 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 20 7b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 &quot;</span>.{</span>.<span.cla
19260 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 ss="line">........<span.class="t
19280 6f 6b 2d 6b 77 22 3e 74 72 79 3c 2f 73 70 61 6e 3e 20 65 78 70 65 63 74 28 3c 73 70 61 6e 20 63 ok-kw">try</span>.expect(<span.c
192a0 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6c 6c 22 3e 74 72 75 65 3c 2f 73 70 61 6e 3e 29 3b 3c 2f 73 lass="tok-null">true</span>);</s
192c0 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 7d 3c 2f 73 pan>.<span.class="line">....}</s
192e0 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 7d 3b 3c 2f 73 70 61 6e pan>.<span.class="line">};</span
19300 3e 3c 2f 63 6f 64 65 3e 3c 2f 70 72 65 3e 3c 2f 66 69 67 75 72 65 3e 3c 66 69 67 75 72 65 3e 3c ></code></pre></figure><figure><
19320 66 69 67 63 61 70 74 69 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
19340 6c 6c 3c 2f 66 69 67 63 61 70 74 69 6f 6e 3e 3c 70 72 65 3e 3c 73 61 6d 70 3e 3c 73 70 61 6e 20 ll</figcaption><pre><samp><span.
19360 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 24 20 3c 6b 62 64 3e 7a 69 67 20 74 65 73 74 20 74 65 73 class="line">$.<kbd>zig.test.tes
19380 74 64 65 63 6c 5f 63 6f 6e 74 61 69 6e 65 72 5f 74 6f 70 5f 6c 65 76 65 6c 2e 7a 69 67 3c 2f 6b tdecl_container_top_level.zig</k
193a0 62 64 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 31 2f bd></span>.<span.class="line">1/
193c0 34 20 74 65 73 74 5f 30 2e 2e 2e 20 4f 4b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 4.test_0....OK</span>.<span.clas
193e0 73 3d 22 6c 69 6e 65 22 3e 32 2f 34 20 74 65 73 74 2e 53 20 64 65 6d 6f 20 74 65 73 74 2e 2e 2e s="line">2/4.test.S.demo.test...
19400 20 4f 4b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 33 2f .OK</span>.<span.class="line">3/
19420 34 20 74 65 73 74 2e 55 20 64 65 6d 6f 20 74 65 73 74 2e 2e 2e 20 4f 4b 3c 2f 73 70 61 6e 3e 0a 4.test.U.demo.test....OK</span>.
19440 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 34 2f 34 20 74 65 73 74 2e 65 78 70 65 <span.class="line">4/4.test.expe
19460 63 74 20 61 64 64 4f 6e 65 20 61 64 64 73 20 6f 6e 65 20 74 6f 20 34 31 2e 2e 2e 20 4f 4b 3c 2f ct.addOne.adds.one.to.41....OK</
19480 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 41 6c 6c 20 34 20 74 span>.<span.class="line">All.4.t
194a0 65 73 74 73 20 70 61 73 73 65 64 2e 3c 2f 73 70 61 6e 3e 0a 3c 2f 73 61 6d 70 3e 3c 2f 70 72 65 ests.passed.</span>.</samp></pre
194c0 3e 3c 2f 66 69 67 75 72 65 3e 0a 20 20 20 20 20 20 0a 20 20 20 20 20 20 3c 68 33 20 69 64 3d 22 ></figure>..............<h3.id="
194e0 54 65 73 74 2d 46 61 69 6c 75 72 65 22 3e 3c 61 20 68 72 65 66 3d 22 23 74 6f 63 2d 54 65 73 74 Test-Failure"><a.href="#toc-Test
19500 2d 46 61 69 6c 75 72 65 22 3e 54 65 73 74 20 46 61 69 6c 75 72 65 3c 2f 61 3e 20 3c 61 20 63 6c -Failure">Test.Failure</a>.<a.cl
19520 61 73 73 3d 22 68 64 72 22 20 68 72 65 66 3d 22 23 54 65 73 74 2d 46 61 69 6c 75 72 65 22 3e c2 ass="hdr".href="#Test-Failure">.
19540 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 68 .</a></h3>........<p>.........Th
19560 65 20 64 65 66 61 75 6c 74 20 74 65 73 74 20 72 75 6e 6e 65 72 20 63 68 65 63 6b 73 20 66 6f 72 e.default.test.runner.checks.for
19580 20 61 6e 20 3c 61 20 68 72 65 66 3d 22 23 45 72 72 6f 72 73 22 3e 65 72 72 6f 72 3c 2f 61 3e 20 .an.<a.href="#Errors">error</a>.
195a0 72 65 74 75 72 6e 65 64 20 66 72 6f 6d 20 61 20 74 65 73 74 2e 0a 20 20 20 20 20 20 20 20 57 68 returned.from.a.test..........Wh
195c0 65 6e 20 61 20 74 65 73 74 20 72 65 74 75 72 6e 73 20 61 6e 20 65 72 72 6f 72 2c 20 74 68 65 20 en.a.test.returns.an.error,.the.
195e0 74 65 73 74 20 69 73 20 63 6f 6e 73 69 64 65 72 65 64 20 61 20 66 61 69 6c 75 72 65 20 61 6e 64 test.is.considered.a.failure.and
19600 20 69 74 73 20 3c 61 20 68 72 65 66 3d 22 23 45 72 72 6f 72 2d 52 65 74 75 72 6e 2d 54 72 61 63 .its.<a.href="#Error-Return-Trac
19620 65 73 22 3e 65 72 72 6f 72 20 72 65 74 75 72 6e 20 74 72 61 63 65 3c 2f 61 3e 0a 20 20 20 20 20 es">error.return.trace</a>......
19640 20 20 20 69 73 20 6f 75 74 70 75 74 20 74 6f 20 73 74 61 6e 64 61 72 64 20 65 72 72 6f 72 2e 20 ...is.output.to.standard.error..
19660 54 68 65 20 74 6f 74 61 6c 20 6e 75 6d 62 65 72 20 6f 66 20 66 61 69 6c 75 72 65 73 20 77 69 6c The.total.number.of.failures.wil
19680 6c 20 62 65 20 72 65 70 6f 72 74 65 64 20 61 66 74 65 72 20 61 6c 6c 20 74 65 73 74 73 20 68 61 l.be.reported.after.all.tests.ha
196a0 76 65 20 72 75 6e 2e 0a 20 20 20 20 20 20 3c 2f 70 3e 0a 20 20 20 20 20 20 3c 66 69 67 75 72 65 ve.run........</p>.......<figure
196c0 3e 3c 66 69 67 63 61 70 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
196e0 74 65 20 63 6c 61 73 73 3d 22 66 69 6c 65 22 3e 74 65 73 74 2e 7a 69 67 3c 2f 63 69 74 65 3e 3c te.class="file">test.zig</cite><
19700 2f 66 69 67 63 61 70 74 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
19720 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 63 ss="line"><span.class="tok-kw">c
19740 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
19760 6f 6b 2d 62 75 69 6c 74 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
19780 20 63 6c 61 73 73 3d 22 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;
197a0 3c 2f 73 70 61 6e 3e 29 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 </span>);</span>.<span.class="li
197c0 6e 65 22 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c ne"></span>.<span.class="line"><
197e0 73 70 61 6e 20 63 6c 61 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>.
19800 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 73 74 72 22 3e 26 71 75 6f 74 3b 65 78 70 65 <span.class="tok-str">&quot;expe
19820 63 74 20 74 68 69 73 20 74 6f 20 66 61 69 6c 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 20 7b 3c 2f ct.this.to.fail&quot;</span>.{</
19840 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 3c 73 70 span>.<span.class="line">....<sp
19860 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 74 72 79 3c 2f 73 70 61 6e 3e 20 73 74 64 an.class="tok-kw">try</span>.std
19880 2e 74 65 73 74 69 6e 67 2e 65 78 70 65 63 74 28 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b .testing.expect(<span.class="tok
198a0 2d 6e 75 6c 6c 22 3e 66 61 6c 73 65 3c 2f 73 70 61 6e 3e 29 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 -null">false</span>);</span>.<sp
198c0 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 7d 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 an.class="line">}</span>.<span.c
198e0 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d lass="line"></span>.<span.class=
19900 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 74 65 73 74 "line"><span.class="tok-kw">test
19920 3c 2f 73 70 61 6e 3e 20 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
19940 75 6f 74 3b 65 78 70 65 63 74 20 74 68 69 73 20 74 6f 20 73 75 63 63 65 65 64 26 71 75 6f 74 3b uot;expect.this.to.succeed&quot;
19960 3c 2f 73 70 61 6e 3e 20 7b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 </span>.{</span>.<span.class="li
19980 6e 65 22 3e 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 74 72 79 ne">....<span.class="tok-kw">try
199a0 3c 2f 73 70 61 6e 3e 20 73 74 64 2e 74 65 73 74 69 6e 67 2e 65 78 70 65 63 74 28 3c 73 70 61 6e </span>.std.testing.expect(<span
199c0 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6c 6c 22 3e 74 72 75 65 3c 2f 73 70 61 6e 3e 29 3b 3c .class="tok-null">true</span>);<
199e0 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 7d 3c 2f 73 70 61 /span>.<span.class="line">}</spa
19a00 6e 3e 3c 2f 63 6f 64 65 3e 3c 2f 70 72 65 3e 3c 2f 66 69 67 75 72 65 3e 3c 66 69 67 75 72 65 3e n></code></pre></figure><figure>
19a20 3c 66 69 67 63 61 70 74 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
19a40 65 6c 6c 3c 2f 66 69 67 63 61 70 74 69 6f 6e 3e 3c 70 72 65 3e 3c 73 61 6d 70 3e 3c 73 70 61 6e ell</figcaption><pre><samp><span
19a60 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 24 20 3c 6b 62 64 3e 7a 69 67 20 74 65 73 74 20 74 65 .class="line">$.<kbd>zig.test.te
19a80 73 74 2e 7a 69 67 3c 2f 6b 62 64 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d st.zig</kbd></span>.<span.class=
19aa0 22 6c 69 6e 65 22 3e 31 2f 32 20 74 65 73 74 2e 65 78 70 65 63 74 20 74 68 69 73 20 74 6f 20 66 "line">1/2.test.expect.this.to.f
19ac0 61 69 6c 2e 2e 2e 20 46 41 49 4c 20 28 54 65 73 74 55 6e 65 78 70 65 63 74 65 64 52 65 73 75 6c ail....FAIL.(TestUnexpectedResul
19ae0 74 29 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 t)</span>.<span.class="line"><sp
19b00 61 6e 20 63 6c 61 73 73 3d 22 74 31 5f 30 22 3e 2f 68 6f 6d 65 2f 63 69 2f 72 65 6c 65 61 73 65 an.class="t1_0">/home/ci/release
19b20 2d 30 2e 31 30 2e 31 2f 6f 75 74 2f 7a 69 67 2d 78 38 36 5f 36 34 2d 6c 69 6e 75 78 2d 6d 75 73 -0.10.1/out/zig-x86_64-linux-mus
19b40 6c 2d 62 61 73 65 6c 69 6e 65 2f 6c 69 62 2f 7a 69 67 2f 73 74 64 2f 74 65 73 74 69 6e 67 2e 7a l-baseline/lib/zig/std/testing.z
19b60 69 67 3a 33 34 37 3a 31 34 3c 2f 73 70 61 6e 3e 3a 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 ig:347:14</span>:.<span.class="t
19b80 32 5f 30 22 3e 30 78 32 31 31 35 62 37 20 69 6e 20 65 78 70 65 63 74 20 28 74 65 73 74 29 3c 2f 2_0">0x2115b7.in.expect.(test)</
19ba0 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e span></span>.<span.class="line">
19bc0 20 20 20 20 69 66 20 28 21 6f 6b 29 20 72 65 74 75 72 6e 20 65 72 72 6f 72 2e 54 65 73 74 55 6e ....if.(!ok).return.error.TestUn
19be0 65 78 70 65 63 74 65 64 52 65 73 75 6c 74 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 expectedResult;</span>.<span.cla
19c00 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 20 20 20 20 20 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 ss="line">.............<span.cla
19c20 73 73 3d 22 74 33 32 5f 31 22 3e 5e 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e ss="t32_1">^</span></span>.<span
19c40 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 31 5f 30 22 .class="line"><span.class="t1_0"
19c60 3e 64 6f 63 67 65 6e 5f 74 6d 70 2f 74 65 73 74 2e 7a 69 67 3a 34 3a 35 3c 2f 73 70 61 6e 3e 3a >docgen_tmp/test.zig:4:5</span>:
19c80 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 32 5f 30 22 3e 30 78 32 31 31 36 64 35 20 69 6e 20 .<span.class="t2_0">0x2116d5.in.
19ca0 74 65 73 74 2e 65 78 70 65 63 74 20 74 68 69 73 20 74 6f 20 66 61 69 6c 20 28 74 65 73 74 29 3c test.expect.this.to.fail.(test)<
19cc0 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 /span></span>.<span.class="line"
19ce0 3e 20 20 20 20 74 72 79 20 73 74 64 2e 74 65 73 74 69 6e 67 2e 65 78 70 65 63 74 28 66 61 6c 73 >....try.std.testing.expect(fals
19d00 65 29 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 e);</span>.<span.class="line">..
19d20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 33 32 5f 31 22 3e 5e 3c 2f 73 70 61 6e 3e 3c 2f ..<span.class="t32_1">^</span></
19d40 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 32 2f 32 20 74 65 73 span>.<span.class="line">2/2.tes
19d60 74 2e 65 78 70 65 63 74 20 74 68 69 73 20 74 6f 20 73 75 63 63 65 65 64 2e 2e 2e 20 4f 4b 3c 2f t.expect.this.to.succeed....OK</
19d80 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 31 20 70 61 73 73 65 span>.<span.class="line">1.passe
19da0 64 3b 20 30 20 73 6b 69 70 70 65 64 3b 20 31 20 66 61 69 6c 65 64 2e 3c 2f 73 70 61 6e 3e 0a 3c d;.0.skipped;.1.failed.</span>.<
19dc0 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 65 72 72 6f 72 3a 20 74 68 65 20 66 6f 6c span.class="line">error:.the.fol
19de0 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 69 74 68 20 lowing.test.command.failed.with.
19e00 65 78 69 74 20 63 6f 64 65 20 31 3a 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d exit.code.1:</span>.<span.class=
19e20 22 6c 69 6e 65 22 3e 2f 68 6f 6d 65 2f 63 69 2f 72 65 6c 65 61 73 65 2d 30 2e 31 30 2e 31 2f 6f "line">/home/ci/release-0.10.1/o
19e40 75 74 2f 7a 69 67 2d 6c 6f 63 61 6c 2d 63 61 63 68 65 2f 6f 2f 38 38 36 64 62 64 65 32 63 32 61 ut/zig-local-cache/o/886dbde2c2a
19e60 32 31 30 37 34 63 36 63 36 64 33 66 66 39 62 38 33 33 33 36 62 2f 74 65 73 74 3c 2f 73 70 61 6e 21074c6c6d3ff9b83336b/test</span
19e80 3e 0a 3c 2f 73 61 6d 70 3e 3c 2f 70 72 65 3e 3c 2f 66 69 67 75 72 65 3e 0a 20 20 20 20 20 20 0a >.</samp></pre></figure>........
19ea0 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
19ec0 66 3d 22 23 74 6f 63 2d 53 6b 69 70 2d 54 65 73 74 73 22 3e 53 6b 69 70 20 54 65 73 74 73 3c 2f f="#toc-Skip-Tests">Skip.Tests</
19ee0 61 3e 20 3c 61 20 63 6c 61 73 73 3d 22 68 64 72 22 20 68 72 65 66 3d 22 23 53 6b 69 70 2d 54 65 a>.<a.class="hdr".href="#Skip-Te
19f00 73 74 73 22 3e c2 a7 3c 2f 61 3e 3c 2f 68 33 3e 0a 0a 20 20 20 20 20 20 3c 70 3e 0a 20 20 20 20 sts">..</a></h3>........<p>.....
19f20 20 20 20 20 4f 6e 65 20 77 61 79 20 74 6f 20 73 6b 69 70 20 74 65 73 74 73 20 69 73 20 74 6f 20 ....One.way.to.skip.tests.is.to.
19f40 66 69 6c 74 65 72 20 74 68 65 6d 20 6f 75 74 20 62 79 20 75 73 69 6e 67 20 74 68 65 20 3c 6b 62 filter.them.out.by.using.the.<kb
19f60 64 3e 7a 69 67 20 74 65 73 74 3c 2f 6b 62 64 3e 20 63 6f 6d 6d 61 6e 64 20 6c 69 6e 65 20 70 61 d>zig.test</kbd>.command.line.pa
19f80 72 61 6d 65 74 65 72 0a 20 20 20 20 20 20 20 20 3c 6b 62 64 3e 2d 2d 74 65 73 74 2d 66 69 6c 74 rameter.........<kbd>--test-filt
19fa0 65 72 20 5b 74 65 78 74 5d 3c 2f 6b 62 64 3e 2e 20 54 68 69 73 20 6d 61 6b 65 73 20 74 68 65 20 er.[text]</kbd>..This.makes.the.
19fc0 74 65 73 74 20 62 75 69 6c 64 20 6f 6e 6c 79 20 69 6e 63 6c 75 64 65 20 74 65 73 74 73 20 77 68 test.build.only.include.tests.wh
19fe0 6f 73 65 20 6e 61 6d 65 20 63 6f 6e 74 61 69 6e 73 20 74 68 65 0a 20 20 20 20 20 20 20 20 73 75 ose.name.contains.the.........su
1a000 70 70 6c 69 65 64 20 66 69 6c 74 65 72 20 74 65 78 74 2e 20 4e 6f 74 65 20 74 68 61 74 20 6e 6f pplied.filter.text..Note.that.no
1a020 6e 2d 6e 61 6d 65 64 20 74 65 73 74 73 20 61 72 65 20 72 75 6e 20 65 76 65 6e 20 77 68 65 6e 20 n-named.tests.are.run.even.when.
1a040 75 73 69 6e 67 20 74 68 65 20 3c 6b 62 64 3e 2d 2d 74 65 73 74 2d 66 69 6c 74 65 72 20 5b 74 65 using.the.<kbd>--test-filter.[te
1a060 78 74 5d 3c 2f 6b 62 64 3e 0a 20 20 20 20 20 20 20 20 63 6f 6d 6d 61 6e 64 20 6c 69 6e 65 20 70 xt]</kbd>.........command.line.p
1a080 61 72 61 6d 65 74 65 72 2e 0a 20 20 20 20 20 20 3c 2f 70 3e 0a 20 20 20 20 20 20 3c 70 3e 0a 20 arameter........</p>.......<p>..
1a0a0 20 20 20 20 20 20 20 54 6f 20 70 72 6f 67 72 61 6d 6d 61 74 69 63 61 6c 6c 79 20 73 6b 69 70 20 .......To.programmatically.skip.
1a0c0 61 20 74 65 73 74 2c 20 6d 61 6b 65 20 61 20 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 a.test,.make.a.<code><span.class
1a0e0 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 74 65 73 ="line"><span.class="tok-kw">tes
1a100 74 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 20 72 65 74 75 72 6e 20 74 68 t</span></span></code>.return.th
1a120 65 20 65 72 72 6f 72 0a 20 20 20 20 20 20 20 20 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 e.error.........<code><span.clas
1a140 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 65 72 s="line"><span.class="tok-kw">er
1a160 72 6f 72 3c 2f 73 70 61 6e 3e 2e 53 6b 69 70 5a 69 67 54 65 73 74 3c 2f 73 70 61 6e 3e 3c 2f 63 ror</span>.SkipZigTest</span></c
1a180 6f 64 65 3e 20 61 6e 64 20 74 68 65 20 64 65 66 61 75 6c 74 20 74 65 73 74 20 72 75 6e 6e 65 72 ode>.and.the.default.test.runner
1a1a0 20 77 69 6c 6c 20 63 6f 6e 73 69 64 65 72 20 74 68 65 20 74 65 73 74 20 61 73 20 62 65 69 6e 67 .will.consider.the.test.as.being
1a1c0 20 73 6b 69 70 70 65 64 2e 0a 20 20 20 20 20 20 20 20 54 68 65 20 74 6f 74 61 6c 20 6e 75 6d 62 .skipped..........The.total.numb
1a1e0 65 72 20 6f 66 20 73 6b 69 70 70 65 64 20 74 65 73 74 73 20 77 69 6c 6c 20 62 65 20 72 65 70 6f er.of.skipped.tests.will.be.repo
1a200 72 74 65 64 20 61 66 74 65 72 20 61 6c 6c 20 74 65 73 74 73 20 68 61 76 65 20 72 75 6e 2e 0a 20 rted.after.all.tests.have.run...
1a220 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
1a240 69 6f 6e 20 63 6c 61 73 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=
1a260 22 66 69 6c 65 22 3e 74 65 73 74 2e 7a 69 67 3c 2f 63 69 74 65 3e 3c 2f 66 69 67 63 61 70 74 69 "file">test.zig</cite></figcapti
1a280 6f 6e 3e 3c 70 72 65 3e 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 on><pre><code><span.class="line"
1a2a0 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
1a2c0 3e 20 3c 73 70 61 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
1a2e0 69 73 20 77 69 6c 6c 20 62 65 20 73 6b 69 70 70 65 64 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 20 is.will.be.skipped&quot;</span>.
1a300 7b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 {</span>.<span.class="line">....
1a320 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
1a340 6e 3e 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 65 72 72 6f 72 3c 2f 73 n>.<span.class="tok-kw">error</s
1a360 70 61 6e 3e 2e 53 6b 69 70 5a 69 67 54 65 73 74 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 pan>.SkipZigTest;</span>.<span.c
1a380 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 7d 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 3c 2f 70 72 65 lass="line">}</span></code></pre
1a3a0 3e 3c 2f 66 69 67 75 72 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
1a3c0 61 73 73 3d 22 73 68 65 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
1a3e0 6e 3e 3c 70 72 65 3e 3c 73 61 6d 70 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e n><pre><samp><span.class="line">
1a400 24 20 3c 6b 62 64 3e 7a 69 67 20 74 65 73 74 20 74 65 73 74 2e 7a 69 67 3c 2f 6b 62 64 3e 3c 2f $.<kbd>zig.test.test.zig</kbd></
1a420 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 31 2f 31 20 74 65 73 span>.<span.class="line">1/1.tes
1a440 74 2e 74 68 69 73 20 77 69 6c 6c 20 62 65 20 73 6b 69 70 70 65 64 2e 2e 2e 20 53 4b 49 50 3c 2f t.this.will.be.skipped....SKIP</
1a460 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 30 20 70 61 73 73 65 span>.<span.class="line">0.passe
1a480 64 3b 20 31 20 73 6b 69 70 70 65 64 3b 20 30 20 66 61 69 6c 65 64 2e 3c 2f 73 70 61 6e 3e 0a 3c d;.1.skipped;.0.failed.</span>.<
1a4a0 2f 73 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>.
1a4c0 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.
1a4e0 73 6b 69 70 73 20 74 65 73 74 73 20 63 6f 6e 74 61 69 6e 69 6e 67 20 61 20 3c 61 20 68 72 65 66 skips.tests.containing.a.<a.href
1a500 3d 22 23 41 73 79 6e 63 2d 46 75 6e 63 74 69 6f 6e 73 22 3e 73 75 73 70 65 6e 64 20 70 6f 69 6e ="#Async-Functions">suspend.poin
1a520 74 3c 2f 61 3e 20 77 68 69 6c 65 20 74 68 65 0a 20 20 20 20 20 20 20 20 74 65 73 74 20 69 73 20 t</a>.while.the.........test.is.
1a540 72 75 6e 6e 69 6e 67 20 75 73 69 6e 67 20 74 68 65 20 64 65 66 61 75 6c 74 2c 20 62 6c 6f 63 6b running.using.the.default,.block
1a560 69 6e 67 20 49 4f 20 6d 6f 64 65 2e 0a 20 20 20 20 20 20 20 20 28 54 68 65 20 65 76 65 6e 74 65 ing.IO.mode..........(The.evente
1a580 64 20 49 4f 20 6d 6f 64 65 20 69 73 20 65 6e 61 62 6c 65 64 20 75 73 69 6e 67 20 74 68 65 20 3c d.IO.mode.is.enabled.using.the.<
1a5a0 6b 62 64 3e 2d 2d 74 65 73 74 2d 65 76 65 6e 74 65 64 2d 69 6f 3c 2f 6b 62 64 3e 20 63 6f 6d 6d kbd>--test-evented-io</kbd>.comm
1a5c0 61 6e 64 20 6c 69 6e 65 20 70 61 72 61 6d 65 74 65 72 2e 29 0a 20 20 20 20 20 20 3c 2f 70 3e 0a and.line.parameter.).......</p>.
1a5e0 20 20 20 20 20 20 3c 66 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=
1a600 22 7a 69 67 2d 63 61 70 22 3e 3c 63 69 74 65 20 63 6c 61 73 73 3d 22 66 69 6c 65 22 3e 61 73 79 "zig-cap"><cite.class="file">asy
1a620 6e 63 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 3c nc_skip.zig</cite></figcaption><
1a640 70 72 65 3e 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 pre><code><span.class="line"><sp
1a660 61 6e 20 63 6c 61 73 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
1a680 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">@
1a6a0 69 6d 70 6f 72 74 3c 2f 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
1a6c0 74 72 22 3e 26 71 75 6f 74 3b 73 74 64 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 29 3b 3c 2f 73 70 tr">&quot;std&quot;</span>);</sp
1a6e0 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 2f 73 70 61 6e 3e 0a 3c an>.<span.class="line"></span>.<
1a700 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 span.class="line"><span.class="t
1a720 6f 6b 2d 6b 77 22 3e 74 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="
1a740 74 6f 6b 2d 73 74 72 22 3e 26 71 75 6f 74 3b 61 73 79 6e 63 20 73 6b 69 70 20 74 65 73 74 26 71 tok-str">&quot;async.skip.test&q
1a760 75 6f 74 3b 3c 2f 73 70 61 6e 3e 20 7b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 uot;</span>.{</span>.<span.class
1a780 3d 22 6c 69 6e 65 22 3e 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 ="line">....<span.class="tok-kw"
1a7a0 3e 76 61 72 3c 2f 73 70 61 6e 3e 20 66 72 61 6d 65 20 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d >var</span>.frame.=.<span.class=
1a7c0 22 74 6f 6b 2d 6b 77 22 3e 61 73 79 6e 63 3c 2f 73 70 61 6e 3e 20 66 75 6e 63 28 29 3b 3c 2f 73 "tok-kw">async</span>.func();</s
1a7e0 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 3c 73 70 61 pan>.<span.class="line">....<spa
1a800 6e 20 63 6c 61 73 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
1a820 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 61 77 61 69 sult.=.<span.class="tok-kw">awai
1a840 74 3c 2f 73 70 61 6e 3e 20 66 72 61 6d 65 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 t</span>.frame;</span>.<span.cla
1a860 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b ss="line">....<span.class="tok-k
1a880 77 22 3e 74 72 79 3c 2f 73 70 61 6e 3e 20 73 74 64 2e 74 65 73 74 69 6e 67 2e 65 78 70 65 63 74 w">try</span>.std.testing.expect
1a8a0 28 72 65 73 75 6c 74 20 3d 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 (result.==.<span.class="tok-numb
1a8c0 65 72 22 3e 31 3c 2f 73 70 61 6e 3e 29 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 er">1</span>);</span>.<span.clas
1a8e0 73 3d 22 6c 69 6e 65 22 3e 7d 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c s="line">}</span>.<span.class="l
1a900 69 6e 65 22 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e ine"></span>.<span.class="line">
1a920 3c 73 70 61 6e 20 63 6c 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>.<
1a940 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 66 6e 22 3e 66 75 6e 63 3c 2f 73 70 61 6e 3e 28 span.class="tok-fn">func</span>(
1a960 29 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
1a980 61 6e 3e 20 7b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e an>.{</span>.<span.class="line">
1a9a0 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 73 75 73 70 65 6e 64 ....<span.class="tok-kw">suspend
1a9c0 3c 2f 73 70 61 6e 3e 20 7b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 </span>.{</span>.<span.class="li
1a9e0 6e 65 22 3e 20 20 20 20 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 ne">........<span.class="tok-kw"
1aa00 3e 72 65 73 75 6d 65 3c 2f 73 70 61 6e 3e 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d >resume</span>.<span.class="tok-
1aa20 62 75 69 6c 74 69 6e 22 3e 40 66 72 61 6d 65 3c 2f 73 70 61 6e 3e 28 29 3b 3c 2f 73 70 61 6e 3e builtin">@frame</span>();</span>
1aa40 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 7d 3c 2f 73 70 61 6e 3e .<span.class="line">....}</span>
1aa60 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 3c 73 70 61 6e 20 63 6c .<span.class="line">....<span.cl
1aa80 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
1aaa0 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 31 3c 2f 73 70 61 6e 3e 3b 3c 2f 73 .class="tok-number">1</span>;</s
1aac0 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 7d 3c 2f 73 70 61 6e 3e pan>.<span.class="line">}</span>
1aae0 3c 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
1ab00 69 67 63 61 70 74 69 6f 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
1ab20 6c 3c 2f 66 69 67 63 61 70 74 69 6f 6e 3e 3c 70 72 65 3e 3c 73 61 6d 70 3e 3c 73 70 61 6e 20 63 l</figcaption><pre><samp><span.c
1ab40 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 24 20 3c 6b 62 64 3e 7a 69 67 20 74 65 73 74 20 61 73 79 6e lass="line">$.<kbd>zig.test.asyn
1ab60 63 5f 73 6b 69 70 2e 7a 69 67 20 2d 66 73 74 61 67 65 31 3c 2f 6b 62 64 3e 3c 2f 73 70 61 6e 3e c_skip.zig.-fstage1</kbd></span>
1ab80 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 31 2f 31 20 74 65 73 74 20 26 71 75 .<span.class="line">1/1.test.&qu
1aba0 6f 74 3b 61 73 79 6e 63 20 73 6b 69 70 20 74 65 73 74 26 71 75 6f 74 3b 2e 2e 2e 20 53 4b 49 50 ot;async.skip.test&quot;....SKIP
1abc0 20 28 61 73 79 6e 63 20 74 65 73 74 29 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 .(async.test)</span>.<span.class
1abe0 3d 22 6c 69 6e 65 22 3e 30 20 70 61 73 73 65 64 3b 20 31 20 73 6b 69 70 70 65 64 3b 20 30 20 66 ="line">0.passed;.1.skipped;.0.f
1ac00 61 69 6c 65 64 2e 3c 2f 73 70 61 6e 3e 0a 3c 2f 73 61 6d 70 3e 3c 2f 70 72 65 3e 3c 2f 66 69 67 ailed.</span>.</samp></pre></fig
1ac20 75 72 65 3e 0a 20 20 20 20 20 20 3c 70 3e 0a 20 20 20 20 20 20 20 20 49 6e 20 74 68 65 20 63 6f ure>.......<p>.........In.the.co
1ac40 64 65 20 73 61 6d 70 6c 65 20 61 62 6f 76 65 2c 20 74 68 65 20 74 65 73 74 20 77 6f 75 6c 64 20 de.sample.above,.the.test.would.
1ac60 6e 6f 74 20 62 65 20 73 6b 69 70 70 65 64 20 69 6e 20 62 6c 6f 63 6b 69 6e 67 20 49 4f 20 6d 6f not.be.skipped.in.blocking.IO.mo
1ac80 64 65 20 69 66 20 74 68 65 20 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e de.if.the.<code><span.class="lin
1aca0 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 6e 6f 73 75 73 70 65 6e e"><span.class="tok-kw">nosuspen
1acc0 64 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 0a 20 20 20 20 20 20 20 20 6b d</span></span></code>.........k
1ace0 65 79 77 6f 72 64 20 77 61 73 20 75 73 65 64 20 28 73 65 65 20 3c 61 20 68 72 65 66 3d 22 23 41 eyword.was.used.(see.<a.href="#A
1ad00 73 79 6e 63 2d 61 6e 64 2d 41 77 61 69 74 22 3e 41 73 79 6e 63 20 61 6e 64 20 41 77 61 69 74 3c sync-and-Await">Async.and.Await<
1ad20 2f 61 3e 29 2e 0a 20 20 20 20 20 20 3c 2f 70 3e 0a 20 20 20 20 20 20 0a 20 20 20 20 20 20 3c 68 /a>)........</p>..............<h
1ad40 33 20 69 64 3d 22 52 65 70 6f 72 74 2d 4d 65 6d 6f 72 79 2d 4c 65 61 6b 73 22 3e 3c 61 20 68 72 3.id="Report-Memory-Leaks"><a.hr
1ad60 65 66 3d 22 23 74 6f 63 2d 52 65 70 6f 72 74 2d 4d 65 6d 6f 72 79 2d 4c 65 61 6b 73 22 3e 52 65 ef="#toc-Report-Memory-Leaks">Re
1ad80 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 61 73 73 3d 22 port.Memory.Leaks</a>.<a.class="
1ada0 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 65 61 6b 73 22 hdr".href="#Report-Memory-Leaks"
1adc0 3e c2 a7 3c 2f 61 3e 3c 2f 68 33 3e 0a 0a 20 20 20 20 20 20 3c 70 3e 0a 20 20 20 20 20 20 20 20 >..</a></h3>........<p>.........
1ade0 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 3d 22 23 4d 65 When.code.allocates.<a.href="#Me
1ae00 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 3c 61 20 68 72 mory">Memory</a>.using.the.<a.hr
1ae20 65 66 3d 22 23 5a 69 67 2d 53 74 61 6e 64 61 72 64 2d 4c 69 62 72 61 72 79 22 3e 5a 69 67 20 53 ef="#Zig-Standard-Library">Zig.S
1ae40 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 6e 67 20 61 6c tandard.Library</a>'s.testing.al
1ae60 6c 6f 63 61 74 6f 72 2c 0a 20 20 20 20 20 20 20 20 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 locator,.........<code><span.cla
1ae80 73 73 3d 22 6c 69 6e 65 22 3e 73 74 64 2e 74 65 73 74 69 6e 67 2e 61 6c 6c 6f 63 61 74 6f 72 3c ss="line">std.testing.allocator<
1aea0 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 2c 20 74 68 65 20 64 65 66 61 75 6c 74 20 74 65 73 74 20 /span></code>,.the.default.test.
1aec0 72 75 6e 6e 65 72 20 77 69 6c 6c 20 72 65 70 6f 72 74 20 61 6e 79 20 6c 65 61 6b 73 20 74 68 61 runner.will.report.any.leaks.tha
1aee0 74 20 61 72 65 0a 20 20 20 20 20 20 20 20 66 6f 75 6e 64 20 66 72 6f 6d 20 75 73 69 6e 67 20 74 t.are.........found.from.using.t
1af00 68 65 20 74 65 73 74 69 6e 67 20 61 6c 6c 6f 63 61 74 6f 72 3a 0a 20 20 20 20 20 20 3c 2f 70 3e he.testing.allocator:.......</p>
1af20 0a 20 20 20 20 20 20 3c 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
1af40 3d 22 7a 69 67 2d 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
1af60 73 74 2e 7a 69 67 3c 2f 63 69 74 65 3e 3c 2f 66 69 67 63 61 70 74 69 6f 6e 3e 3c 70 72 65 3e 3c st.zig</cite></figcaption><pre><
1af80 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c code><span.class="line"><span.cl
1afa0 61 73 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.=.
1afc0 3c 73 70 61 6e 20 63 6c 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
1afe0 74 3c 2f 73 70 61 6e 3e 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">&
1b000 71 75 6f 74 3b 73 74 64 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 29 3b 3c 2f 73 70 61 6e 3e 0a 3c quot;std&quot;</span>);</span>.<
1b020 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 span.class="line"></span>.<span.
1b040 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 class="line"><span.class="tok-kw
1b060 22 3e 74 65 73 74 3c 2f 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
1b080 74 72 22 3e 26 71 75 6f 74 3b 64 65 74 65 63 74 20 6c 65 61 6b 26 71 75 6f 74 3b 3c 2f 73 70 61 tr">&quot;detect.leak&quot;</spa
1b0a0 6e 3e 20 7b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 n>.{</span>.<span.class="line">.
1b0c0 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
1b0e0 6e 3e 20 6c 69 73 74 20 3d 20 73 74 64 2e 41 72 72 61 79 4c 69 73 74 28 3c 73 70 61 6e 20 63 6c n>.list.=.std.ArrayList(<span.cl
1b100 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 75 32 31 3c 2f 73 70 61 6e 3e 29 2e 69 6e 69 74 28 ass="tok-type">u21</span>).init(
1b120 73 74 64 2e 74 65 73 74 69 6e 67 2e 61 6c 6c 6f 63 61 74 6f 72 29 3b 3c 2f 73 70 61 6e 3e 0a 3c std.testing.allocator);</span>.<
1b140 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 span.class="line">....<span.clas
1b160 73 3d 22 74 6f 6b 2d 63 6f 6d 6d 65 6e 74 22 3e 2f 2f 20 6d 69 73 73 69 6e 67 20 60 64 65 66 65 s="tok-comment">//.missing.`defe
1b180 72 20 6c 69 73 74 2e 64 65 69 6e 69 74 28 29 3b 60 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 0a r.list.deinit();`</span></span>.
1b1a0 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 <span.class="line">....<span.cla
1b1c0 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 74 72 79 3c 2f 73 70 61 6e 3e 20 6c 69 73 74 2e 61 70 70 65 ss="tok-kw">try</span>.list.appe
1b1e0 6e 64 28 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 73 74 72 22 3e 27 e2 98 94 27 3c 2f nd(<span.class="tok-str">'...'</
1b200 73 70 61 6e 3e 29 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 span>);</span>.<span.class="line
1b220 22 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 "></span>.<span.class="line">...
1b240 20 3c 73 70 61 6e 20 63 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>
1b260 20 73 74 64 2e 74 65 73 74 69 6e 67 2e 65 78 70 65 63 74 28 6c 69 73 74 2e 69 74 65 6d 73 2e 6c .std.testing.expect(list.items.l
1b280 65 6e 20 3d 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 31 en.==.<span.class="tok-number">1
1b2a0 3c 2f 73 70 61 6e 3e 29 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 </span>);</span>.<span.class="li
1b2c0 6e 65 22 3e 7d 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 3c 2f 70 72 65 3e 3c 2f 66 69 67 75 72 ne">}</span></code></pre></figur
1b2e0 65 3e 3c 66 69 67 75 72 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
1b300 6c 6c 2d 63 61 70 22 3e 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><
1b320 73 61 6d 70 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 24 20 3c 6b 62 64 3e 7a samp><span.class="line">$.<kbd>z
1b340 69 67 20 74 65 73 74 20 74 65 73 74 2e 7a 69 67 3c 2f 6b 62 64 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 ig.test.test.zig</kbd></span>.<s
1b360 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 31 2f 31 20 74 65 73 74 2e 64 65 74 65 63 74 pan.class="line">1/1.test.detect
1b380 20 6c 65 61 6b 2e 2e 2e 20 4f 4b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 .leak....OK</span>.<span.class="
1b3a0 6c 69 6e 65 22 3e 5b 67 70 61 5d 20 28 65 72 72 29 3a 20 6d 65 6d 6f 72 79 20 61 64 64 72 65 73 line">[gpa].(err):.memory.addres
1b3c0 73 20 30 78 37 66 35 65 61 38 64 63 36 30 30 30 20 6c 65 61 6b 65 64 3a 3c 2f 73 70 61 6e 3e 0a s.0x7f5ea8dc6000.leaked:</span>.
1b3e0 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 <span.class="line"><span.class="
1b400 74 31 5f 30 22 3e 2f 68 6f 6d 65 2f 63 69 2f 72 65 6c 65 61 73 65 2d 30 2e 31 30 2e 31 2f 6f 75 t1_0">/home/ci/release-0.10.1/ou
1b420 74 2f 7a 69 67 2d 78 38 36 5f 36 34 2d 6c 69 6e 75 78 2d 6d 75 73 6c 2d 62 61 73 65 6c 69 6e 65 t/zig-x86_64-linux-musl-baseline
1b440 2f 6c 69 62 2f 7a 69 67 2f 73 74 64 2f 61 72 72 61 79 5f 6c 69 73 74 2e 7a 69 67 3a 33 36 31 3a /lib/zig/std/array_list.zig:361:
1b460 38 39 3c 2f 73 70 61 6e 3e 3a 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 32 5f 30 22 3e 30 78 89</span>:.<span.class="t2_0">0x
1b480 32 32 36 38 34 35 20 69 6e 20 65 6e 73 75 72 65 54 6f 74 61 6c 43 61 70 61 63 69 74 79 50 72 65 226845.in.ensureTotalCapacityPre
1b4a0 63 69 73 65 20 28 74 65 73 74 29 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 cise.(test)</span></span>.<span.
1b4c0 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 63 6f 6e class="line">................con
1b4e0 73 74 20 6e 65 77 5f 6d 65 6d 6f 72 79 20 3d 20 74 72 79 20 73 65 6c 66 2e 61 6c 6c 6f 63 61 74 st.new_memory.=.try.self.allocat
1b500 6f 72 2e 72 65 61 6c 6c 6f 63 41 74 4c 65 61 73 74 28 73 65 6c 66 2e 61 6c 6c 6f 63 61 74 65 64 or.reallocAtLeast(self.allocated
1b520 53 6c 69 63 65 28 29 2c 20 6e 65 77 5f 63 61 70 61 63 69 74 79 29 3b 3c 2f 73 70 61 6e 3e 0a 3c Slice(),.new_capacity);</span>.<
1b540 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 20 20 20 20 20 20 20 20 20 20 span.class="line">..............
1b560 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ................................
1b580 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ................................
1b5a0 20 20 20 20 20 20 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 33 32 5f 31 22 3e 5e 3c ..........<span.class="t32_1">^<
1b5c0 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 /span></span>.<span.class="line"
1b5e0 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 31 5f 30 22 3e 2f 68 6f 6d 65 2f 63 69 2f 72 65 6c ><span.class="t1_0">/home/ci/rel
1b600 65 61 73 65 2d 30 2e 31 30 2e 31 2f 6f 75 74 2f 7a 69 67 2d 78 38 36 5f 36 34 2d 6c 69 6e 75 78 ease-0.10.1/out/zig-x86_64-linux
1b620 2d 6d 75 73 6c 2d 62 61 73 65 6c 69 6e 65 2f 6c 69 62 2f 7a 69 67 2f 73 74 64 2f 61 72 72 61 79 -musl-baseline/lib/zig/std/array
1b640 5f 6c 69 73 74 2e 7a 69 67 3a 33 34 36 3a 35 35 3c 2f 73 70 61 6e 3e 3a 20 3c 73 70 61 6e 20 63 _list.zig:346:55</span>:.<span.c
1b660 6c 61 73 73 3d 22 74 32 5f 30 22 3e 30 78 32 31 63 34 36 65 20 69 6e 20 65 6e 73 75 72 65 54 6f lass="t2_0">0x21c46e.in.ensureTo
1b680 74 61 6c 43 61 70 61 63 69 74 79 20 28 74 65 73 74 29 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e talCapacity.(test)</span></span>
1b6a0 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 20 20 20 20 20 20 20 20 .<span.class="line">............
1b6c0 20 20 20 20 72 65 74 75 72 6e 20 73 65 6c 66 2e 65 6e 73 75 72 65 54 6f 74 61 6c 43 61 70 61 63 ....return.self.ensureTotalCapac
1b6e0 69 74 79 50 72 65 63 69 73 65 28 62 65 74 74 65 72 5f 63 61 70 61 63 69 74 79 29 3b 3c 2f 73 70 ityPrecise(better_capacity);</sp
1b700 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 20 20 20 20 20 an>.<span.class="line">.........
1b720 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ................................
1b740 20 20 20 20 20 20 20 20 20 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 33 32 5f 31 22 .............<span.class="t32_1"
1b760 3e 5e 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 >^</span></span>.<span.class="li
1b780 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 31 5f 30 22 3e 2f 68 6f 6d 65 2f 63 69 2f ne"><span.class="t1_0">/home/ci/
1b7a0 72 65 6c 65 61 73 65 2d 30 2e 31 30 2e 31 2f 6f 75 74 2f 7a 69 67 2d 78 38 36 5f 36 34 2d 6c 69 release-0.10.1/out/zig-x86_64-li
1b7c0 6e 75 78 2d 6d 75 73 6c 2d 62 61 73 65 6c 69 6e 65 2f 6c 69 62 2f 7a 69 67 2f 73 74 64 2f 61 72 nux-musl-baseline/lib/zig/std/ar
1b7e0 72 61 79 5f 6c 69 73 74 2e 7a 69 67 3a 33 38 35 3a 34 31 3c 2f 73 70 61 6e 3e 3a 20 3c 73 70 61 ray_list.zig:385:41</span>:.<spa
1b800 6e 20 63 6c 61 73 73 3d 22 74 32 5f 30 22 3e 30 78 32 31 39 38 38 37 20 69 6e 20 61 64 64 4f 6e n.class="t2_0">0x219887.in.addOn
1b820 65 20 28 74 65 73 74 29 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 e.(test)</span></span>.<span.cla
1b840 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 20 20 20 20 20 20 20 20 74 72 79 20 73 65 6c 66 2e 65 ss="line">............try.self.e
1b860 6e 73 75 72 65 54 6f 74 61 6c 43 61 70 61 63 69 74 79 28 6e 65 77 6c 65 6e 29 3b 3c 2f 73 70 61 nsureTotalCapacity(newlen);</spa
1b880 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 20 20 20 20 20 20 n>.<span.class="line">..........
1b8a0 20 20 20 20 20 20 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
1b8c0 70 61 6e 20 63 6c 61 73 73 3d 22 74 33 32 5f 31 22 3e 5e 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e pan.class="t32_1">^</span></span
1b8e0 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 >.<span.class="line"><span.class
1b900 3d 22 74 31 5f 30 22 3e 2f 68 6f 6d 65 2f 63 69 2f 72 65 6c 65 61 73 65 2d 30 2e 31 30 2e 31 2f ="t1_0">/home/ci/release-0.10.1/
1b920 6f 75 74 2f 7a 69 67 2d 78 38 36 5f 36 34 2d 6c 69 6e 75 78 2d 6d 75 73 6c 2d 62 61 73 65 6c 69 out/zig-x86_64-linux-musl-baseli
1b940 6e 65 2f 6c 69 62 2f 7a 69 67 2f 73 74 64 2f 61 72 72 61 79 5f 6c 69 73 74 2e 7a 69 67 3a 31 37 ne/lib/zig/std/array_list.zig:17
1b960 30 3a 34 39 3c 2f 73 70 61 6e 3e 3a 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 32 5f 30 22 3e 0:49</span>:.<span.class="t2_0">
1b980 30 78 32 31 33 36 63 64 20 69 6e 20 61 70 70 65 6e 64 20 28 74 65 73 74 29 3c 2f 73 70 61 6e 3e 0x2136cd.in.append.(test)</span>
1b9a0 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 20 </span>.<span.class="line">.....
1b9c0 20 20 20 20 20 20 20 63 6f 6e 73 74 20 6e 65 77 5f 69 74 65 6d 5f 70 74 72 20 3d 20 74 72 79 20 .......const.new_item_ptr.=.try.
1b9e0 73 65 6c 66 2e 61 64 64 4f 6e 65 28 29 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 self.addOne();</span>.<span.clas
1ba00 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 s="line">.......................
1ba20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 3c 73 70 61 6e 20 63 .........................<span.c
1ba40 6c 61 73 73 3d 22 74 33 32 5f 31 22 3e 5e 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 lass="t32_1">^</span></span>.<sp
1ba60 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 31 5f an.class="line"><span.class="t1_
1ba80 30 22 3e 64 6f 63 67 65 6e 5f 74 6d 70 2f 74 65 73 74 2e 7a 69 67 3a 36 3a 32 30 3c 2f 73 70 61 0">docgen_tmp/test.zig:6:20</spa
1baa0 6e 3e 3a 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 32 5f 30 22 3e 30 78 32 31 33 35 66 32 20 n>:.<span.class="t2_0">0x2135f2.
1bac0 69 6e 20 74 65 73 74 2e 64 65 74 65 63 74 20 6c 65 61 6b 20 28 74 65 73 74 29 3c 2f 73 70 61 6e in.test.detect.leak.(test)</span
1bae0 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 ></span>.<span.class="line">....
1bb00 74 72 79 20 6c 69 73 74 2e 61 70 70 65 6e 64 28 27 e2 98 94 27 29 3b 3c 2f 73 70 61 6e 3e 0a 3c try.list.append('...');</span>.<
1bb20 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 20 20 20 20 20 20 20 20 20 20 span.class="line">..............
1bb40 20 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 33 32 5f 31 22 3e 5e 3c 2f 73 70 61 6e .....<span.class="t32_1">^</span
1bb60 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 ></span>.<span.class="line"><spa
1bb80 6e 20 63 6c 61 73 73 3d 22 74 31 5f 30 22 3e 2f 68 6f 6d 65 2f 63 69 2f 72 65 6c 65 61 73 65 2d n.class="t1_0">/home/ci/release-
1bba0 30 2e 31 30 2e 31 2f 6f 75 74 2f 7a 69 67 2d 78 38 36 5f 36 34 2d 6c 69 6e 75 78 2d 6d 75 73 6c 0.10.1/out/zig-x86_64-linux-musl
1bbc0 2d 62 61 73 65 6c 69 6e 65 2f 6c 69 62 2f 7a 69 67 2f 74 65 73 74 5f 72 75 6e 6e 65 72 2e 7a 69 -baseline/lib/zig/test_runner.zi
1bbe0 67 3a 36 33 3a 32 38 3c 2f 73 70 61 6e 3e 3a 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 32 5f g:63:28</span>:.<span.class="t2_
1bc00 30 22 3e 30 78 32 31 61 37 37 33 20 69 6e 20 6d 61 69 6e 20 28 74 65 73 74 29 3c 2f 73 70 61 6e 0">0x21a773.in.main.(test)</span
1bc20 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 ></span>.<span.class="line">....
1bc40 20 20 20 20 7d 20 65 6c 73 65 20 74 65 73 74 5f 66 6e 2e 66 75 6e 63 28 29 3b 3c 2f 73 70 61 6e ....}.else.test_fn.func();</span
1bc60 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 20 20 20 20 20 20 20 >.<span.class="line">...........
1bc80 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 33 32 ................<span.class="t32
1bca0 5f 31 22 3e 5e 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d _1">^</span></span>.<span.class=
1bcc0 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 31 5f 30 22 3e 2f 68 6f 6d 65 2f "line"><span.class="t1_0">/home/
1bce0 63 69 2f 72 65 6c 65 61 73 65 2d 30 2e 31 30 2e 31 2f 6f 75 74 2f 7a 69 67 2d 78 38 36 5f 36 34 ci/release-0.10.1/out/zig-x86_64
1bd00 2d 6c 69 6e 75 78 2d 6d 75 73 6c 2d 62 61 73 65 6c 69 6e 65 2f 6c 69 62 2f 7a 69 67 2f 73 74 64 -linux-musl-baseline/lib/zig/std
1bd20 2f 73 74 61 72 74 2e 7a 69 67 3a 36 30 34 3a 32 32 3c 2f 73 70 61 6e 3e 3a 20 3c 73 70 61 6e 20 /start.zig:604:22</span>:.<span.
1bd40 63 6c 61 73 73 3d 22 74 32 5f 30 22 3e 30 78 32 31 34 30 32 63 20 69 6e 20 70 6f 73 69 78 43 61 class="t2_0">0x21402c.in.posixCa
1bd60 6c 6c 4d 61 69 6e 41 6e 64 45 78 69 74 20 28 74 65 73 74 29 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 llMainAndExit.(test)</span></spa
1bd80 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 20 20 20 20 20 20 n>.<span.class="line">..........
1bda0 20 20 72 6f 6f 74 2e 6d 61 69 6e 28 29 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 ..root.main();</span>.<span.clas
1bdc0 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 3c 73 s="line">.....................<s
1bde0 70 61 6e 20 63 6c 61 73 73 3d 22 74 33 32 5f 31 22 3e 5e 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e pan.class="t32_1">^</span></span
1be00 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 >.<span.class="line"><span.class
1be20 3d 22 74 31 5f 30 22 3e 2f 68 6f 6d 65 2f 63 69 2f 72 65 6c 65 61 73 65 2d 30 2e 31 30 2e 31 2f ="t1_0">/home/ci/release-0.10.1/
1be40 6f 75 74 2f 7a 69 67 2d 78 38 36 5f 36 34 2d 6c 69 6e 75 78 2d 6d 75 73 6c 2d 62 61 73 65 6c 69 out/zig-x86_64-linux-musl-baseli
1be60 6e 65 2f 6c 69 62 2f 7a 69 67 2f 73 74 64 2f 73 74 61 72 74 2e 7a 69 67 3a 33 37 36 3a 35 3c 2f ne/lib/zig/std/start.zig:376:5</
1be80 73 70 61 6e 3e 3a 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 32 5f 30 22 3e 30 78 32 31 33 62 span>:.<span.class="t2_0">0x213b
1bea0 33 31 20 69 6e 20 5f 73 74 61 72 74 20 28 74 65 73 74 29 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 31.in._start.(test)</span></span
1bec0 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 40 63 61 6c 6c 28 2e >.<span.class="line">....@call(.
1bee0 7b 20 2e 6d 6f 64 69 66 69 65 72 20 3d 20 2e 6e 65 76 65 72 5f 69 6e 6c 69 6e 65 20 7d 2c 20 70 {..modifier.=..never_inline.},.p
1bf00 6f 73 69 78 43 61 6c 6c 4d 61 69 6e 41 6e 64 45 78 69 74 2c 20 2e 7b 7d 29 3b 3c 2f 73 70 61 6e osixCallMainAndExit,..{});</span
1bf20 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 3c 73 70 61 6e 20 63 >.<span.class="line">....<span.c
1bf40 6c 61 73 73 3d 22 74 33 32 5f 31 22 3e 5e 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 lass="t32_1">^</span></span>.<sp
1bf60 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c an.class="line"></span>.<span.cl
1bf80 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 ass="line"></span>.<span.class="
1bfa0 6c 69 6e 65 22 3e 41 6c 6c 20 31 20 74 65 73 74 73 20 70 61 73 73 65 64 2e 3c 2f 73 70 61 6e 3e line">All.1.tests.passed.</span>
1bfc0 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 31 20 65 72 72 6f 72 73 20 77 65 72 .<span.class="line">1.errors.wer
1bfe0 65 20 6c 6f 67 67 65 64 2e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 e.logged.</span>.<span.class="li
1c000 6e 65 22 3e 31 20 74 65 73 74 73 20 6c 65 61 6b 65 64 20 6d 65 6d 6f 72 79 2e 3c 2f 73 70 61 6e ne">1.tests.leaked.memory.</span
1c020 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 65 72 72 6f 72 3a 20 74 68 65 20 >.<span.class="line">error:.the.
1c040 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 69 following.test.command.failed.wi
1c060 74 68 20 65 78 69 74 20 63 6f 64 65 20 31 3a 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 th.exit.code.1:</span>.<span.cla
1c080 73 73 3d 22 6c 69 6e 65 22 3e 2f 68 6f 6d 65 2f 63 69 2f 72 65 6c 65 61 73 65 2d 30 2e 31 30 2e ss="line">/home/ci/release-0.10.
1c0a0 31 2f 6f 75 74 2f 7a 69 67 2d 6c 6f 63 61 6c 2d 63 61 63 68 65 2f 6f 2f 38 38 36 64 62 64 65 32 1/out/zig-local-cache/o/886dbde2
1c0c0 63 32 61 32 31 30 37 34 63 36 63 36 64 33 66 66 39 62 38 33 33 33 36 62 2f 74 65 73 74 3c 2f 73 c2a21074c6c6d3ff9b83336b/test</s
1c0e0 70 61 6e 3e 0a 3c 2f 73 61 6d 70 3e 3c 2f 70 72 65 3e 3c 2f 66 69 67 75 72 65 3e 0a 20 20 20 20 pan>.</samp></pre></figure>.....
1c100 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
1c120 65 66 3d 22 23 64 65 66 65 72 22 3e 64 65 66 65 72 3c 2f 61 3e 3c 2f 6c 69 3e 0a 3c 6c 69 3e 3c ef="#defer">defer</a></li>.<li><
1c140 61 20 68 72 65 66 3d 22 23 4d 65 6d 6f 72 79 22 3e 4d 65 6d 6f 72 79 3c 2f 61 3e 3c 2f 6c 69 3e a.href="#Memory">Memory</a></li>
1c160 0a 3c 2f 75 6c 3e 0a 0a 20 20 20 20 20 20 0a 20 20 20 20 20 20 3c 68 33 20 69 64 3d 22 44 65 74 .</ul>...............<h3.id="Det
1c180 65 63 74 69 6e 67 2d 54 65 73 74 2d 42 75 69 6c 64 22 3e 3c 61 20 68 72 65 66 3d 22 23 74 6f 63 ecting-Test-Build"><a.href="#toc
1c1a0 2d 44 65 74 65 63 74 69 6e 67 2d 54 65 73 74 2d 42 75 69 6c 64 22 3e 44 65 74 65 63 74 69 6e 67 -Detecting-Test-Build">Detecting
1c1c0 20 54 65 73 74 20 42 75 69 6c 64 3c 2f 61 3e 20 3c 61 20 63 6c 61 73 73 3d 22 68 64 72 22 20 68 .Test.Build</a>.<a.class="hdr".h
1c1e0 72 65 66 3d 22 23 44 65 74 65 63 74 69 6e 67 2d 54 65 73 74 2d 42 75 69 6c 64 22 3e c2 a7 3c 2f ref="#Detecting-Test-Build">..</
1c200 61 3e 3c 2f 68 33 3e 0a 0a 20 20 20 20 20 20 3c 70 3e 0a 20 20 20 20 20 20 20 20 55 73 65 20 74 a></h3>........<p>.........Use.t
1c220 68 65 20 3c 61 20 68 72 65 66 3d 22 23 43 6f 6d 70 69 6c 65 2d 56 61 72 69 61 62 6c 65 73 22 3e he.<a.href="#Compile-Variables">
1c240 63 6f 6d 70 69 6c 65 20 76 61 72 69 61 62 6c 65 3c 2f 61 3e 20 3c 63 6f 64 65 3e 3c 73 70 61 6e compile.variable</a>.<code><span
1c260 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 62 .class="line"><span.class="tok-b
1c280 75 69 6c 74 69 6e 22 3e 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
1c2a0 73 73 3d 22 74 6f 6b 2d 73 74 72 22 3e 26 71 75 6f 74 3b 62 75 69 6c 74 69 6e 26 71 75 6f 74 3b ss="tok-str">&quot;builtin&quot;
1c2c0 3c 2f 73 70 61 6e 3e 29 2e 69 73 5f 74 65 73 74 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 0a 20 </span>).is_test</span></code>..
1c2e0 20 20 20 20 20 20 20 74 6f 20 64 65 74 65 63 74 20 61 20 74 65 73 74 20 62 75 69 6c 64 3a 0a 20 .......to.detect.a.test.build:..
1c300 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
1c320 69 6f 6e 20 63 6c 61 73 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=
1c340 22 66 69 6c 65 22 3e 64 65 74 65 63 74 5f 74 65 73 74 2e 7a 69 67 3c 2f 63 69 74 65 3e 3c 2f 66 "file">detect_test.zig</cite></f
1c360 69 67 63 61 70 74 69 6f 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
1c380 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 63 6f 6e ="line"><span.class="tok-kw">con
1c3a0 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
1c3c0 2d 62 75 69 6c 74 69 6e 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
1c3e0 6c 61 73 73 3d 22 74 6f 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;</
1c400 73 70 61 6e 3e 29 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 span>);</span>.<span.class="line
1c420 22 3e 3c 73 70 61 6e 20 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
1c440 61 6e 3e 20 62 75 69 6c 74 69 6e 20 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 62 an>.builtin.=.<span.class="tok-b
1c460 75 69 6c 74 69 6e 22 3e 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
1c480 73 73 3d 22 74 6f 6b 2d 73 74 72 22 3e 26 71 75 6f 74 3b 62 75 69 6c 74 69 6e 26 71 75 6f 74 3b ss="tok-str">&quot;builtin&quot;
1c4a0 3c 2f 73 70 61 6e 3e 29 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 </span>);</span>.<span.class="li
1c4c0 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 63 6f 6e 73 74 3c 2f ne"><span.class="tok-kw">const</
1c4e0 73 70 61 6e 3e 20 65 78 70 65 63 74 20 3d 20 73 74 64 2e 74 65 73 74 69 6e 67 2e 65 78 70 65 63 span>.expect.=.std.testing.expec
1c500 74 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 2f 73 t;</span>.<span.class="line"></s
1c520 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c pan>.<span.class="line"><span.cl
1c540 61 73 73 3d 22 74 6f 6b 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
1c560 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 2e 69 73 5f lass="tok-str">&quot;builtin.is_
1c580 74 65 73 74 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 20 7b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e test&quot;</span>.{</span>.<span
1c5a0 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 .class="line">....<span.class="t
1c5c0 6f 6b 2d 6b 77 22 3e 74 72 79 3c 2f 73 70 61 6e 3e 20 65 78 70 65 63 74 28 69 73 41 54 65 73 74 ok-kw">try</span>.expect(isATest
1c5e0 28 29 29 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 7d ());</span>.<span.class="line">}
1c600 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 2f 73 70 61 </span>.<span.class="line"></spa
1c620 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 n>.<span.class="line"><span.clas
1c640 73 3d 22 74 6f 6b 2d 6b 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
1c660 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 61 6e ="tok-fn">isATest</span>().<span
1c680 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 3c .class="tok-type">bool</span>.{<
1c6a0 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 3c 73 /span>.<span.class="line">....<s
1c6c0 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>
1c6e0 20 62 75 69 6c 74 69 6e 2e 69 73 5f 74 65 73 74 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 .builtin.is_test;</span>.<span.c
1c700 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 7d 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 3c 2f 70 72 65 lass="line">}</span></code></pre
1c720 3e 3c 2f 66 69 67 75 72 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
1c740 61 73 73 3d 22 73 68 65 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
1c760 6e 3e 3c 70 72 65 3e 3c 73 61 6d 70 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e n><pre><samp><span.class="line">
1c780 24 20 3c 6b 62 64 3e 7a 69 67 20 74 65 73 74 20 64 65 74 65 63 74 5f 74 65 73 74 2e 7a 69 67 3c $.<kbd>zig.test.detect_test.zig<
1c7a0 2f 6b 62 64 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e /kbd></span>.<span.class="line">
1c7c0 31 2f 31 20 74 65 73 74 2e 62 75 69 6c 74 69 6e 2e 69 73 5f 74 65 73 74 2e 2e 2e 20 4f 4b 3c 2f 1/1.test.builtin.is_test....OK</
1c7e0 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 41 6c 6c 20 31 20 74 span>.<span.class="line">All.1.t
1c800 65 73 74 73 20 70 61 73 73 65 64 2e 3c 2f 73 70 61 6e 3e 0a 3c 2f 73 61 6d 70 3e 3c 2f 70 72 65 ests.passed.</span>.</samp></pre
1c820 3e 3c 2f 66 69 67 75 72 65 3e 0a 20 20 20 20 20 20 0a 20 20 20 20 20 20 3c 68 33 20 69 64 3d 22 ></figure>..............<h3.id="
1c840 54 65 73 74 2d 4f 75 74 70 75 74 2d 61 6e 64 2d 4c 6f 67 67 69 6e 67 22 3e 3c 61 20 68 72 65 66 Test-Output-and-Logging"><a.href
1c860 3d 22 23 74 6f 63 2d 54 65 73 74 2d 4f 75 74 70 75 74 2d 61 6e 64 2d 4c 6f 67 67 69 6e 67 22 3e ="#toc-Test-Output-and-Logging">
1c880 54 65 73 74 20 4f 75 74 70 75 74 20 61 6e 64 20 4c 6f 67 67 69 6e 67 3c 2f 61 3e 20 3c 61 20 63 Test.Output.and.Logging</a>.<a.c
1c8a0 6c 61 73 73 3d 22 68 64 72 22 20 68 72 65 66 3d 22 23 54 65 73 74 2d 4f 75 74 70 75 74 2d 61 6e lass="hdr".href="#Test-Output-an
1c8c0 64 2d 4c 6f 67 67 69 6e 67 22 3e c2 a7 3c 2f 61 3e 3c 2f 68 33 3e 0a 0a 20 20 20 20 20 20 3c 70 d-Logging">..</a></h3>........<p
1c8e0 3e 0a 20 20 20 20 20 20 20 20 54 68 65 20 64 65 66 61 75 6c 74 20 74 65 73 74 20 72 75 6e 6e 65 >.........The.default.test.runne
1c900 72 20 61 6e 64 20 74 68 65 20 5a 69 67 20 53 74 61 6e 64 61 72 64 20 4c 69 62 72 61 72 79 27 73 r.and.the.Zig.Standard.Library's
1c920 20 74 65 73 74 69 6e 67 20 6e 61 6d 65 73 70 61 63 65 20 6f 75 74 70 75 74 20 6d 65 73 73 61 67 .testing.namespace.output.messag
1c940 65 73 20 74 6f 20 73 74 61 6e 64 61 72 64 20 65 72 72 6f 72 2e 0a 20 20 20 20 20 20 3c 2f 70 3e es.to.standard.error........</p>
1c960 0a 20 20 20 20 20 20 0a 20 20 20 20 20 20 3c 68 33 20 69 64 3d 22 54 68 65 2d 54 65 73 74 69 6e ..............<h3.id="The-Testin
1c980 67 2d 4e 61 6d 65 73 70 61 63 65 22 3e 3c 61 20 68 72 65 66 3d 22 23 74 6f 63 2d 54 68 65 2d 54 g-Namespace"><a.href="#toc-The-T
1c9a0 65 73 74 69 6e 67 2d 4e 61 6d 65 73 70 61 63 65 22 3e 54 68 65 20 54 65 73 74 69 6e 67 20 4e 61 esting-Namespace">The.Testing.Na
1c9c0 6d 65 73 70 61 63 65 3c 2f 61 3e 20 3c 61 20 63 6c 61 73 73 3d 22 68 64 72 22 20 68 72 65 66 3d mespace</a>.<a.class="hdr".href=
1c9e0 22 23 54 68 65 2d 54 65 73 74 69 6e 67 2d 4e 61 6d 65 73 70 61 63 65 22 3e c2 a7 3c 2f 61 3e 3c "#The-Testing-Namespace">..</a><
1ca00 2f 68 33 3e 0a 0a 20 20 20 20 20 20 3c 70 3e 0a 20 20 20 20 20 20 20 20 54 68 65 20 5a 69 67 20 /h3>........<p>.........The.Zig.
1ca20 53 74 61 6e 64 61 72 64 20 4c 69 62 72 61 72 79 27 73 20 3c 63 6f 64 65 3e 74 65 73 74 69 6e 67 Standard.Library's.<code>testing
1ca40 3c 2f 63 6f 64 65 3e 20 6e 61 6d 65 73 70 61 63 65 20 63 6f 6e 74 61 69 6e 73 20 75 73 65 66 75 </code>.namespace.contains.usefu
1ca60 6c 20 66 75 6e 63 74 69 6f 6e 73 20 74 6f 20 68 65 6c 70 0a 20 20 20 20 20 20 20 20 79 6f 75 20 l.functions.to.help.........you.
1ca80 63 72 65 61 74 65 20 74 65 73 74 73 2e 20 49 6e 20 61 64 64 69 74 69 6f 6e 20 74 6f 20 74 68 65 create.tests..In.addition.to.the
1caa0 20 3c 63 6f 64 65 3e 65 78 70 65 63 74 3c 2f 63 6f 64 65 3e 20 66 75 6e 63 74 69 6f 6e 2c 20 74 .<code>expect</code>.function,.t
1cac0 68 69 73 20 64 6f 63 75 6d 65 6e 74 20 75 73 65 73 20 61 20 63 6f 75 70 6c 65 20 6f 66 20 6d 6f his.document.uses.a.couple.of.mo
1cae0 72 65 20 66 75 6e 63 74 69 6f 6e 73 0a 20 20 20 20 20 20 20 20 61 73 20 65 78 65 6d 70 6c 69 66 re.functions.........as.exemplif
1cb00 69 65 64 20 68 65 72 65 3a 0a 20 20 20 20 20 20 3c 2f 70 3e 0a 20 20 20 20 20 20 3c 66 69 67 75 ied.here:.......</p>.......<figu
1cb20 72 65 3e 3c 66 69 67 63 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"><
1cb40 63 69 74 65 20 63 6c 61 73 73 3d 22 66 69 6c 65 22 3e 74 65 73 74 69 6e 67 5f 66 75 6e 63 74 69 cite.class="file">testing_functi
1cb60 6f 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 ons.zig</cite></figcaption><pre>
1cb80 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 <code><span.class="line"><span.c
1cba0 6c 61 73 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.=
1cbc0 20 3c 73 70 61 6e 20 63 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
1cbe0 72 74 3c 2f 73 70 61 6e 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">
1cc00 26 71 75 6f 74 3b 73 74 64 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 29 3b 3c 2f 73 70 61 6e 3e 0a &quot;std&quot;</span>);</span>.
1cc20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e <span.class="line"></span>.<span
1cc40 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b .class="line"><span.class="tok-k
1cc60 77 22 3e 74 65 73 74 3c 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-
1cc80 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
1cca0 3b 3c 2f 73 70 61 6e 3e 20 7b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c ;</span>.{</span>.<span.class="l
1ccc0 69 6e 65 22 3e 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 63 6f ine">....<span.class="tok-kw">co
1cce0 6e 73 74 3c 2f 73 70 61 6e 3e 20 65 78 70 65 63 74 65 64 3a 20 3c 73 70 61 6e 20 63 6c 61 73 73 nst</span>.expected:.<span.class
1cd00 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
1cd20 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 34 32 3c 2f 73 70 61 6e 3e 3b 3c 2f 73 70 lass="tok-number">42</span>;</sp
1cd40 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 3c 73 70 61 6e an>.<span.class="line">....<span
1cd60 20 63 6c 61 73 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 63 74 .class="tok-kw">const</span>.act
1cd80 75 61 6c 20 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 34 ual.=.<span.class="tok-number">4
1cda0 32 3c 2f 73 70 61 6e 3e 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 2</span>;</span>.<span.class="li
1cdc0 6e 65 22 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 ne"></span>.<span.class="line">.
1cde0 20 20 20 3c 73 70 61 6e 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">//.
1ce00 54 68 65 20 66 69 72 73 74 20 61 72 67 75 6d 65 6e 74 20 74 6f 20 60 65 78 70 65 63 74 45 71 75 The.first.argument.to.`expectEqu
1ce20 61 6c 60 20 69 73 20 74 68 65 20 6b 6e 6f 77 6e 2c 20 65 78 70 65 63 74 65 64 2c 20 72 65 73 75 al`.is.the.known,.expected,.resu
1ce40 6c 74 2e 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c lt.</span></span>.<span.class="l
1ce60 69 6e 65 22 3e 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 63 6f 6d 6d 65 6e ine">....<span.class="tok-commen
1ce80 74 22 3e 2f 2f 20 54 68 65 20 73 65 63 6f 6e 64 20 61 72 67 75 6d 65 6e 74 20 69 73 20 74 68 65 t">//.The.second.argument.is.the
1cea0 20 72 65 73 75 6c 74 20 6f 66 20 73 6f 6d 65 20 65 78 70 72 65 73 73 69 6f 6e 2e 3c 2f 73 70 61 .result.of.some.expression.</spa
1cec0 6e 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 n></span>.<span.class="line">...
1cee0 20 3c 73 70 61 6e 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
1cf00 65 20 61 63 74 75 61 6c 27 73 20 74 79 70 65 20 69 73 20 63 61 73 74 65 64 20 74 6f 20 74 68 65 e.actual's.type.is.casted.to.the
1cf20 20 74 79 70 65 20 6f 66 20 65 78 70 65 63 74 65 64 2e 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e .type.of.expected.</span></span>
1cf40 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 3c 73 70 61 6e 20 63 6c .<span.class="line">....<span.cl
1cf60 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 74 72 79 3c 2f 73 70 61 6e 3e 20 73 74 64 2e 74 65 73 74 ass="tok-kw">try</span>.std.test
1cf80 69 6e 67 2e 65 78 70 65 63 74 45 71 75 61 6c 28 65 78 70 65 63 74 65 64 2c 20 61 63 74 75 61 6c ing.expectEqual(expected,.actual
1cfa0 29 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 7d 3c 2f );</span>.<span.class="line">}</
1cfc0 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 2f 73 70 61 6e 3e span>.<span.class="line"></span>
1cfe0 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d .<span.class="line"><span.class=
1d000 22 74 6f 6b 2d 6b 77 22 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
1d020 3d 22 74 6f 6b 2d 73 74 72 22 3e 26 71 75 6f 74 3b 65 78 70 65 63 74 45 72 72 6f 72 20 64 65 6d ="tok-str">&quot;expectError.dem
1d040 6f 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 20 7b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c o&quot;</span>.{</span>.<span.cl
1d060 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d ass="line">....<span.class="tok-
1d080 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 72 20 kw">const</span>.expected_error.
1d0a0 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 65 72 72 6f 72 3c 2f 73 70 =.<span.class="tok-kw">error</sp
1d0c0 61 6e 3e 2e 44 65 6d 6f 45 72 72 6f 72 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 an>.DemoError;</span>.<span.clas
1d0e0 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 s="line">....<span.class="tok-kw
1d100 22 3e 63 6f 6e 73 74 3c 2f 73 70 61 6e 3e 20 61 63 74 75 61 6c 5f 65 72 72 6f 72 5f 75 6e 69 6f ">const</span>.actual_error_unio
1d120 6e 3a 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 61 6e 79 65 72 72 n:.<span.class="tok-type">anyerr
1d140 6f 72 3c 2f 73 70 61 6e 3e 21 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 or</span>!<span.class="tok-type"
1d160 3e 76 6f 69 64 3c 2f 73 70 61 6e 3e 20 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d >void</span>.=.<span.class="tok-
1d180 6b 77 22 3e 65 72 72 6f 72 3c 2f 73 70 61 6e 3e 2e 44 65 6d 6f 45 72 72 6f 72 3b 3c 2f 73 70 61 kw">error</span>.DemoError;</spa
1d1a0 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 n>.<span.class="line"></span>.<s
1d1c0 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 pan.class="line">....<span.class
1d1e0 3d 22 74 6f 6b 2d 63 6f 6d 6d 65 6e 74 22 3e 2f 2f 20 60 65 78 70 65 63 74 45 72 72 6f 72 60 20 ="tok-comment">//.`expectError`.
1d200 77 69 6c 6c 20 66 61 69 6c 20 77 68 65 6e 20 74 68 65 20 61 63 74 75 61 6c 20 65 72 72 6f 72 20 will.fail.when.the.actual.error.
1d220 69 73 20 64 69 66 66 65 72 65 6e 74 20 74 68 61 6e 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 0a is.different.than</span></span>.
1d240 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 <span.class="line">....<span.cla
1d260 73 73 3d 22 74 6f 6b 2d 63 6f 6d 6d 65 6e 74 22 3e 2f 2f 20 74 68 65 20 65 78 70 65 63 74 65 64 ss="tok-comment">//.the.expected
1d280 20 65 72 72 6f 72 2e 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 .error.</span></span>.<span.clas
1d2a0 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 s="line">....<span.class="tok-kw
1d2c0 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
1d2e0 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
1d300 72 5f 75 6e 69 6f 6e 29 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 r_union);</span>.<span.class="li
1d320 6e 65 22 3e 7d 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 3c 2f 70 72 65 3e 3c 2f 66 69 67 75 72 ne">}</span></code></pre></figur
1d340 65 3e 3c 66 69 67 75 72 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
1d360 6c 6c 2d 63 61 70 22 3e 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><
1d380 73 61 6d 70 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 24 20 3c 6b 62 64 3e 7a samp><span.class="line">$.<kbd>z
1d3a0 69 67 20 74 65 73 74 20 74 65 73 74 69 6e 67 5f 66 75 6e 63 74 69 6f 6e 73 2e 7a 69 67 3c 2f 6b ig.test.testing_functions.zig</k
1d3c0 62 64 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 31 2f bd></span>.<span.class="line">1/
1d3e0 32 20 74 65 73 74 2e 65 78 70 65 63 74 45 71 75 61 6c 20 64 65 6d 6f 2e 2e 2e 20 4f 4b 3c 2f 73 2.test.expectEqual.demo....OK</s
1d400 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 32 2f 32 20 74 65 73 74 pan>.<span.class="line">2/2.test
1d420 2e 65 78 70 65 63 74 45 72 72 6f 72 20 64 65 6d 6f 2e 2e 2e 20 4f 4b 3c 2f 73 70 61 6e 3e 0a 3c .expectError.demo....OK</span>.<
1d440 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 41 6c 6c 20 32 20 74 65 73 74 73 20 70 61 span.class="line">All.2.tests.pa
1d460 73 73 65 64 2e 3c 2f 73 70 61 6e 3e 0a 3c 2f 73 61 6d 70 3e 3c 2f 70 72 65 3e 3c 2f 66 69 67 75 ssed.</span>.</samp></pre></figu
1d480 72 65 3e 0a 20 20 20 20 20 20 3c 70 3e 54 68 65 20 5a 69 67 20 53 74 61 6e 64 61 72 64 20 4c 69 re>.......<p>The.Zig.Standard.Li
1d4a0 62 72 61 72 79 20 61 6c 73 6f 20 63 6f 6e 74 61 69 6e 73 20 66 75 6e 63 74 69 6f 6e 73 20 74 6f brary.also.contains.functions.to
1d4c0 20 63 6f 6d 70 61 72 65 20 3c 61 20 68 72 65 66 3d 22 23 53 6c 69 63 65 73 22 3e 53 6c 69 63 65 .compare.<a.href="#Slices">Slice
1d4e0 73 3c 2f 61 3e 2c 20 73 74 72 69 6e 67 73 2c 20 61 6e 64 20 6d 6f 72 65 2e 20 53 65 65 20 74 68 s</a>,.strings,.and.more..See.th
1d500 65 20 72 65 73 74 20 6f 66 20 74 68 65 0a 20 20 20 20 20 20 20 20 3c 63 6f 64 65 3e 3c 73 70 61 e.rest.of.the.........<code><spa
1d520 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 73 74 64 2e 74 65 73 74 69 6e 67 3c 2f 73 70 61 6e n.class="line">std.testing</span
1d540 3e 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 ></code>.namespace.in.the.<a.hre
1d560 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
1d580 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
1d5a0 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>............
1d5c0 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
1d5e0 6e 22 3e 3c 61 20 68 72 65 66 3d 22 23 74 6f 63 2d 54 65 73 74 2d 54 6f 6f 6c 2d 44 6f 63 75 6d n"><a.href="#toc-Test-Tool-Docum
1d600 65 6e 74 61 74 69 6f 6e 22 3e 54 65 73 74 20 54 6f 6f 6c 20 44 6f 63 75 6d 65 6e 74 61 74 69 6f entation">Test.Tool.Documentatio
1d620 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 54 65 73 74 n</a>.<a.class="hdr".href="#Test
1d640 2d 54 6f 6f 6c 2d 44 6f 63 75 6d 65 6e 74 61 74 69 6f 6e 22 3e c2 a7 3c 2f 61 3e 3c 2f 68 33 3e -Tool-Documentation">..</a></h3>
1d660 0a 0a 20 20 20 20 20 20 3c 70 3e 0a 20 20 20 20 20 20 20 20 3c 6b 62 64 3e 7a 69 67 20 74 65 73 ........<p>.........<kbd>zig.tes
1d680 74 3c 2f 6b 62 64 3e 20 68 61 73 20 61 20 66 65 77 20 63 6f 6d 6d 61 6e 64 20 6c 69 6e 65 20 70 t</kbd>.has.a.few.command.line.p
1d6a0 61 72 61 6d 65 74 65 72 73 20 77 68 69 63 68 20 61 66 66 65 63 74 20 74 68 65 20 63 6f 6d 70 69 arameters.which.affect.the.compi
1d6c0 6c 61 74 69 6f 6e 2e 0a 20 20 20 20 20 20 20 20 53 65 65 20 3c 6b 62 64 3e 7a 69 67 20 74 65 73 lation..........See.<kbd>zig.tes
1d6e0 74 20 2d 2d 68 65 6c 70 3c 2f 6b 62 64 3e 20 66 6f 72 20 61 20 66 75 6c 6c 20 6c 69 73 74 2e 0a t.--help</kbd>.for.a.full.list..
1d700 20 20 20 20 20 20 3c 2f 70 3e 0a 20 20 20 20 20 20 0a 20 20 20 20 20 20 0a 0a 20 20 20 20 20 20 ......</p>......................
1d720 3c 68 32 20 69 64 3d 22 56 61 72 69 61 62 6c 65 73 22 3e 3c 61 20 68 72 65 66 3d 22 23 74 6f 63 <h2.id="Variables"><a.href="#toc
1d740 2d 56 61 72 69 61 62 6c 65 73 22 3e 56 61 72 69 61 62 6c 65 73 3c 2f 61 3e 20 3c 61 20 63 6c 61 -Variables">Variables</a>.<a.cla
1d760 73 73 3d 22 68 64 72 22 20 68 72 65 66 3d 22 23 56 61 72 69 61 62 6c 65 73 22 3e c2 a7 3c 2f 61 ss="hdr".href="#Variables">..</a
1d780 3e 3c 2f 68 32 3e 0a 0a 20 20 20 20 20 20 3c 70 3e 0a 20 20 20 20 20 20 41 20 76 61 72 69 61 62 ></h2>........<p>.......A.variab
1d7a0 6c 65 20 69 73 20 61 20 75 6e 69 74 20 6f 66 20 3c 61 20 68 72 65 66 3d 22 23 4d 65 6d 6f 72 79 le.is.a.unit.of.<a.href="#Memory
1d7c0 22 3e 4d 65 6d 6f 72 79 3c 2f 61 3e 20 73 74 6f 72 61 67 65 2e 0a 20 20 20 20 20 20 3c 2f 70 3e ">Memory</a>.storage........</p>
1d7e0 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 6c 79 .......<p>.......It.is.generally
1d800 20 70 72 65 66 65 72 61 62 6c 65 20 74 6f 20 75 73 65 20 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 .preferable.to.use.<code><span.c
1d820 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 lass="line"><span.class="tok-kw"
1d840 3e 63 6f 6e 73 74 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 20 72 61 74 68 >const</span></span></code>.rath
1d860 65 72 20 74 68 61 6e 0a 20 20 20 20 20 20 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d er.than.......<code><span.class=
1d880 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 76 61 72 3c "line"><span.class="tok-kw">var<
1d8a0 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 20 77 68 65 6e 20 64 65 63 6c 61 72 /span></span></code>.when.declar
1d8c0 69 6e 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 ing.a.variable..This.causes.less
1d8e0 20 77 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 .work.for.both.......humans.and.
1d900 63 6f 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 computers.to.do.when.reading.cod
1d920 65 2c 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 e,.and.creates.more.optimization
1d940 20 6f 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 0a 20 20 20 20 .opportunities........</p>......
1d960 20 20 3c 68 33 20 69 64 3d 22 49 64 65 6e 74 69 66 69 65 72 73 22 3e 3c 61 20 68 72 65 66 3d 22 ..<h3.id="Identifiers"><a.href="
1d980 23 74 6f 63 2d 49 64 65 6e 74 69 66 69 65 72 73 22 3e 49 64 65 6e 74 69 66 69 65 72 73 3c 2f 61 #toc-Identifiers">Identifiers</a
1d9a0 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 64 65 6e 74 69 66 69 >.<a.class="hdr".href="#Identifi
1d9c0 65 72 73 22 3e c2 a7 3c 2f 61 3e 3c 2f 68 33 3e 0a 0a 20 20 20 20 20 20 3c 70 3e 0a 20 20 20 20 ers">..</a></h3>........<p>.....
1d9e0 20 20 56 61 72 69 61 62 6c 65 20 69 64 65 6e 74 69 66 69 65 72 73 20 61 72 65 20 6e 65 76 65 72 ..Variable.identifiers.are.never
1da00 20 61 6c 6c 6f 77 65 64 20 74 6f 20 73 68 61 64 6f 77 20 69 64 65 6e 74 69 66 69 65 72 73 20 66 .allowed.to.shadow.identifiers.f
1da20 72 6f 6d 20 61 6e 20 6f 75 74 65 72 20 73 63 6f 70 65 2e 0a 20 20 20 20 20 20 3c 2f 70 3e 0a 20 rom.an.outer.scope........</p>..
1da40 20 20 20 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 .....<p>.......Identifiers.must.
1da60 73 74 61 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 start.with.an.alphabetic.charact
1da80 65 72 20 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 er.or.underscore.and.may.be.foll
1daa0 6f 77 65 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 owed.......by.any.number.of.alph
1dac0 61 6e 75 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 anumeric.characters.or.underscor
1dae0 65 73 2e 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 es........They.must.not.overlap.
1db00 77 69 74 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 with.any.keywords..See.<a.href="
1db20 23 4b 65 79 77 6f 72 64 2d 52 65 66 65 72 65 6e 63 65 22 3e 4b 65 79 77 6f 72 64 20 52 65 66 65 #Keyword-Reference">Keyword.Refe
1db40 72 65 6e 63 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 rence</a>........</p>.......<p>.
1db60 20 20 20 20 20 20 49 66 20 61 20 6e 61 6d 65 20 74 68 61 74 20 64 6f 65 73 20 6e 6f 74 20 66 69 ......If.a.name.that.does.not.fi
1db80 74 20 74 68 65 73 65 20 72 65 71 75 69 72 65 6d 65 6e 74 73 20 69 73 20 6e 65 65 64 65 64 2c 20 t.these.requirements.is.needed,.
1dba0 73 75 63 68 20 61 73 20 66 6f 72 20 6c 69 6e 6b 69 6e 67 20 77 69 74 68 20 65 78 74 65 72 6e 61 such.as.for.linking.with.externa
1dbc0 6c 20 6c 69 62 72 61 72 69 65 73 2c 20 74 68 65 20 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 l.libraries,.the.<code><span.cla
1dbe0 73 73 3d 22 6c 69 6e 65 22 3e 40 26 71 75 6f 74 3b 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 3c 2f ss="line">@&quot;&quot;</span></
1dc00 63 6f 64 65 3e 20 73 79 6e 74 61 78 20 6d 61 79 20 62 65 20 75 73 65 64 2e 0a 20 20 20 20 20 20 code>.syntax.may.be.used........
1dc20 3c 2f 70 3e 0a 20 20 20 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
1dc40 6c 61 73 73 3d 22 7a 69 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
1dc60 22 3e 74 65 73 74 2e 7a 69 67 3c 2f 63 69 74 65 3e 3c 2f 66 69 67 63 61 70 74 69 6f 6e 3e 3c 70 ">test.zig</cite></figcaption><p
1dc80 72 65 3e 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 re><code><span.class="line"><spa
1dca0 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 63 6f 6e 73 74 3c 2f 73 70 61 6e 3e 20 40 26 n.class="tok-kw">const</span>.@&
1dcc0 71 75 6f 74 3b 69 64 65 6e 74 69 66 69 65 72 20 77 69 74 68 20 73 70 61 63 65 73 20 69 6e 20 69 quot;identifier.with.spaces.in.i
1dce0 74 26 71 75 6f 74 3b 20 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 t&quot;.=.<span.class="tok-numbe
1dd00 72 22 3e 30 78 66 66 3c 2f 73 70 61 6e 3e 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 r">0xff</span>;</span>.<span.cla
1dd20 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 63 ss="line"><span.class="tok-kw">c
1dd40 6f 6e 73 74 3c 2f 73 70 61 6e 3e 20 40 26 71 75 6f 74 3b 31 53 6d 61 6c 6c 53 74 65 70 34 4d 61 onst</span>.@&quot;1SmallStep4Ma
1dd60 6e 26 71 75 6f 74 3b 20 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 n&quot;.=.<span.class="tok-numbe
1dd80 72 22 3e 31 31 32 33 35 38 3c 2f 73 70 61 6e 3e 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 r">112358</span>;</span>.<span.c
1dda0 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d lass="line"></span>.<span.class=
1ddc0 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 63 6f 6e 73 "line"><span.class="tok-kw">cons
1dde0 74 3c 2f 73 70 61 6e 3e 20 63 20 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 62 75 t</span>.c.=.<span.class="tok-bu
1de00 69 6c 74 69 6e 22 3e 40 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
1de20 73 3d 22 74 6f 6b 2d 73 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
1de40 6e 3e 29 2e 63 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 n>).c;</span>.<span.class="line"
1de60 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 70 75 62 3c 2f 73 70 61 6e 3e ><span.class="tok-kw">pub</span>
1de80 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 65 78 74 65 72 6e 3c 2f 73 70 .<span.class="tok-kw">extern</sp
1dea0 61 6e 3e 20 3c 73 70 61 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;
1dec0 63 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d c&quot;</span>.<span.class="tok-
1dee0 6b 77 22 3e 66 6e 3c 2f 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
1df00 6e 22 3e 40 26 71 75 6f 74 3b 65 72 72 6f 72 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 28 29 20 3c n">@&quot;error&quot;</span>().<
1df20 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
1df40 3e 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 >;</span>.<span.class="line"><sp
1df60 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
1df80 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 65 78 74 65 72 6e 3c 2f 73 70 61 6e 3e 20 an.class="tok-kw">extern</span>.
1dfa0 3c 73 70 61 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 <span.class="tok-str">&quot;c&qu
1dfc0 6f 74 3b 3c 2f 73 70 61 6e 3e 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e ot;</span>.<span.class="tok-kw">
1dfe0 66 6e 3c 2f 73 70 61 6e 3e 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 66 6e 22 3e 40 fn</span>.<span.class="tok-fn">@
1e000 26 71 75 6f 74 3b 66 73 74 61 74 24 49 4e 4f 44 45 36 34 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e &quot;fstat$INODE64&quot;</span>
1e020 28 66 64 3a 20 63 2e 66 64 5f 74 2c 20 62 75 66 3a 20 2a 63 2e 53 74 61 74 29 20 3c 73 70 61 6e (fd:.c.fd_t,.buf:.*c.Stat).<span
1e040 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 3b 3c .class="tok-type">c_int</span>;<
1e060 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 2f 73 70 61 6e /span>.<span.class="line"></span
1e080 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 >.<span.class="line"><span.class
1e0a0 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.=.<
1e0c0 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>.
1e0e0 7b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 72 65 {</span>.<span.class="line">..re
1e100 64 2c 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 40 d,</span>.<span.class="line">..@
1e120 26 71 75 6f 74 3b 72 65 61 6c 6c 79 20 72 65 64 26 71 75 6f 74 3b 2c 3c 2f 73 70 61 6e 3e 0a 3c &quot;really.red&quot;,</span>.<
1e140 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 7d 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 span.class="line">};</span>.<spa
1e160 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d n.class="line"><span.class="tok-
1e180 6b 77 22 3e 63 6f 6e 73 74 3c 2f 73 70 61 6e 3e 20 63 6f 6c 6f 72 3a 20 43 6f 6c 6f 72 20 3d 20 kw">const</span>.color:.Color.=.
1e1a0 2e 40 26 71 75 6f 74 3b 72 65 61 6c 6c 79 20 72 65 64 26 71 75 6f 74 3b 3b 3c 2f 73 70 61 6e 3e .@&quot;really.red&quot;;</span>
1e1c0 3c 2f 63 6f 64 65 3e 3c 2f 70 72 65 3e 3c 2f 66 69 67 75 72 65 3e 0a 20 20 20 20 20 20 0a 0a 20 </code></pre></figure>..........
1e1e0 20 20 20 20 20 3c 68 33 20 69 64 3d 22 43 6f 6e 74 61 69 6e 65 72 2d 4c 65 76 65 6c 2d 56 61 72 .....<h3.id="Container-Level-Var
1e200 69 61 62 6c 65 73 22 3e 3c 61 20 68 72 65 66 3d 22 23 74 6f 63 2d 43 6f 6e 74 61 69 6e 65 72 2d iables"><a.href="#toc-Container-
1e220 4c 65 76 65 6c 2d 56 61 72 69 61 62 6c 65 73 22 3e 43 6f 6e 74 61 69 6e 65 72 20 4c 65 76 65 6c Level-Variables">Container.Level
1e240 20 56 61 72 69 61 62 6c 65 73 3c 2f 61 3e 20 3c 61 20 63 6c 61 73 73 3d 22 68 64 72 22 20 68 72 .Variables</a>.<a.class="hdr".hr
1e260 65 66 3d 22 23 43 6f 6e 74 61 69 6e 65 72 2d 4c 65 76 65 6c 2d 56 61 72 69 61 62 6c 65 73 22 3e ef="#Container-Level-Variables">
1e280 c2 a7 3c 2f 61 3e 3c 2f 68 33 3e 0a 0a 20 20 20 20 20 20 3c 70 3e 0a 20 20 20 20 20 20 3c 61 20 ..</a></h3>........<p>.......<a.
1e2a0 68 72 65 66 3d 22 23 43 6f 6e 74 61 69 6e 65 72 73 22 3e 43 6f 6e 74 61 69 6e 65 72 3c 2f 61 3e href="#Containers">Container</a>
1e2c0 20 6c 65 76 65 6c 20 76 61 72 69 61 62 6c 65 73 20 68 61 76 65 20 73 74 61 74 69 63 20 6c 69 66 .level.variables.have.static.lif
1e2e0 65 74 69 6d 65 20 61 6e 64 20 61 72 65 20 6f 72 64 65 72 2d 69 6e 64 65 70 65 6e 64 65 6e 74 20 etime.and.are.order-independent.
1e300 61 6e 64 20 6c 61 7a 69 6c 79 20 61 6e 61 6c 79 7a 65 64 2e 0a 20 20 20 20 20 20 54 68 65 20 69 and.lazily.analyzed........The.i
1e320 6e 69 74 69 61 6c 69 7a 61 74 69 6f 6e 20 76 61 6c 75 65 20 6f 66 20 63 6f 6e 74 61 69 6e 65 72 nitialization.value.of.container
1e340 20 6c 65 76 65 6c 20 76 61 72 69 61 62 6c 65 73 20 69 73 20 69 6d 70 6c 69 63 69 74 6c 79 0a 20 .level.variables.is.implicitly..
1e360 20 20 20 20 20 3c 61 20 68 72 65 66 3d 22 23 63 6f 6d 70 74 69 6d 65 22 3e 63 6f 6d 70 74 69 6d .....<a.href="#comptime">comptim
1e380 65 3c 2f 61 3e 2e 20 49 66 20 61 20 63 6f 6e 74 61 69 6e 65 72 20 6c 65 76 65 6c 20 76 61 72 69 e</a>..If.a.container.level.vari
1e3a0 61 62 6c 65 20 69 73 20 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 able.is.<code><span.class="line"
1e3c0 3e 3c 73 70 61 6e 20 63 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
1e3e0 6e 3e 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 20 74 68 65 6e 20 69 74 73 20 76 61 6c 75 65 20 n></span></code>.then.its.value.
1e400 69 73 0a 20 20 20 20 20 20 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 is.......<code><span.class="line
1e420 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 63 6f 6d 70 74 69 6d 65 3c "><span.class="tok-kw">comptime<
1e440 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 2d 6b 6e 6f 77 6e 2c 20 6f 74 68 65 /span></span></code>-known,.othe
1e460 72 77 69 73 65 20 69 74 20 69 73 20 72 75 6e 74 69 6d 65 2d 6b 6e 6f 77 6e 2e 0a 20 20 20 20 20 rwise.it.is.runtime-known.......
1e480 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.
1e4a0 63 6c 61 73 73 3d 22 7a 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
1e4c0 65 22 3e 63 6f 6e 74 61 69 6e 65 72 5f 6c 65 76 65 6c 5f 76 61 72 69 61 62 6c 65 73 2e 7a 69 67 e">container_level_variables.zig
1e4e0 3c 2f 63 69 74 65 3e 3c 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><
1e500 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 span.class="line"><span.class="t
1e520 6f 6b 2d 6b 77 22 3e 76 61 72 3c 2f 73 70 61 6e 3e 20 79 3a 20 3c 73 70 61 6e 20 63 6c 61 73 73 ok-kw">var</span>.y:.<span.class
1e540 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 69 33 32 3c 2f 73 70 61 6e 3e 20 3d 20 61 64 64 28 3c 73 70 ="tok-type">i32</span>.=.add(<sp
1e560 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 2c an.class="tok-number">10</span>,
1e580 20 78 29 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c .x);</span>.<span.class="line"><
1e5a0 73 70 61 6e 20 63 6c 61 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>
1e5c0 20 78 3a 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 69 33 32 3c 2f .x:.<span.class="tok-type">i32</
1e5e0 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 75 6d span>.=.add(<span.class="tok-num
1e600 62 65 72 22 3e 31 32 3c 2f 73 70 61 6e 3e 2c 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b ber">12</span>,.<span.class="tok
1e620 2d 6e 75 6d 62 65 72 22 3e 33 34 3c 2f 73 70 61 6e 3e 29 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 -number">34</span>);</span>.<spa
1e640 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 n.class="line"></span>.<span.cla
1e660 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 74 ss="line"><span.class="tok-kw">t
1e680 65 73 74 3c 2f 73 70 61 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"
1e6a0 3e 26 71 75 6f 74 3b 63 6f 6e 74 61 69 6e 65 72 20 6c 65 76 65 6c 20 76 61 72 69 61 62 6c 65 73 >&quot;container.level.variables
1e6c0 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 20 7b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 &quot;</span>.{</span>.<span.cla
1e6e0 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b ss="line">....<span.class="tok-k
1e700 77 22 3e 74 72 79 3c 2f 73 70 61 6e 3e 20 65 78 70 65 63 74 28 78 20 3d 3d 20 3c 73 70 61 6e 20 w">try</span>.expect(x.==.<span.
1e720 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 34 36 3c 2f 73 70 61 6e 3e 29 3b 3c 2f class="tok-number">46</span>);</
1e740 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 3c 73 70 span>.<span.class="line">....<sp
1e760 61 6e 20 63 6c 61 73 73 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
1e780 65 63 74 28 79 20 3d 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 ect(y.==.<span.class="tok-number
1e7a0 22 3e 35 36 3c 2f 73 70 61 6e 3e 29 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 ">56</span>);</span>.<span.class
1e7c0 3d 22 6c 69 6e 65 22 3e 7d 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 ="line">}</span>.<span.class="li
1e7e0 6e 65 22 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c ne"></span>.<span.class="line"><
1e800 73 70 61 6e 20 63 6c 61 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
1e820 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 66 6e 22 3e 61 64 64 3c 2f 73 70 61 6e 3e 28 61 3a pan.class="tok-fn">add</span>(a:
1e840 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
1e860 6e 3e 2c 20 62 3a 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 69 33 n>,.b:.<span.class="tok-type">i3
1e880 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"
1e8a0 3e 69 33 32 3c 2f 73 70 61 6e 3e 20 7b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 >i32</span>.{</span>.<span.class
1e8c0 3d 22 6c 69 6e 65 22 3e 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 ="line">....<span.class="tok-kw"
1e8e0 3e 72 65 74 75 72 6e 3c 2f 73 70 61 6e 3e 20 61 20 2b 20 62 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 >return</span>.a.+.b;</span>.<sp
1e900 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 7d 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 an.class="line">}</span>.<span.c
1e920 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d lass="line"></span>.<span.class=
1e940 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 63 6f 6e 73 "line"><span.class="tok-kw">cons
1e960 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-
1e980 62 75 69 6c 74 69 6e 22 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
1e9a0 61 73 73 3d 22 74 6f 6b 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
1e9c0 70 61 6e 3e 29 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 pan>);</span>.<span.class="line"
1e9e0 3e 3c 73 70 61 6e 20 63 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
1ea00 6e 3e 20 65 78 70 65 63 74 20 3d 20 73 74 64 2e 74 65 73 74 69 6e 67 2e 65 78 70 65 63 74 3b 3c n>.expect.=.std.testing.expect;<
1ea20 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 3c 2f 70 72 65 3e 3c 2f 66 69 67 75 72 65 3e 3c 66 69 67 /span></code></pre></figure><fig
1ea40 75 72 65 3e 3c 66 69 67 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
1ea60 22 3e 53 68 65 6c 6c 3c 2f 66 69 67 63 61 70 74 69 6f 6e 3e 3c 70 72 65 3e 3c 73 61 6d 70 3e 3c ">Shell</figcaption><pre><samp><
1ea80 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 24 20 3c 6b 62 64 3e 7a 69 67 20 74 65 73 span.class="line">$.<kbd>zig.tes
1eaa0 74 20 63 6f 6e 74 61 69 6e 65 72 5f 6c 65 76 65 6c 5f 76 61 72 69 61 62 6c 65 73 2e 7a 69 67 3c t.container_level_variables.zig<
1eac0 2f 6b 62 64 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e /kbd></span>.<span.class="line">
1eae0 31 2f 31 20 74 65 73 74 2e 63 6f 6e 74 61 69 6e 65 72 20 6c 65 76 65 6c 20 76 61 72 69 61 62 6c 1/1.test.container.level.variabl
1eb00 65 73 2e 2e 2e 20 4f 4b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e es....OK</span>.<span.class="lin
1eb20 65 22 3e 41 6c 6c 20 31 20 74 65 73 74 73 20 70 61 73 73 65 64 2e 3c 2f 73 70 61 6e 3e 0a 3c 2f e">All.1.tests.passed.</span>.</
1eb40 73 61 6d 70 3e 3c 2f 70 72 65 3e 3c 2f 66 69 67 75 72 65 3e 0a 20 20 20 20 20 20 3c 70 3e 0a 20 samp></pre></figure>.......<p>..
1eb60 20 20 20 20 20 43 6f 6e 74 61 69 6e 65 72 20 6c 65 76 65 6c 20 76 61 72 69 61 62 6c 65 73 20 6d .....Container.level.variables.m
1eb80 61 79 20 62 65 20 64 65 63 6c 61 72 65 64 20 69 6e 73 69 64 65 20 61 20 3c 61 20 68 72 65 66 3d ay.be.declared.inside.a.<a.href=
1eba0 22 23 73 74 72 75 63 74 22 3e 73 74 72 75 63 74 3c 2f 61 3e 2c 20 3c 61 20 68 72 65 66 3d 22 23 "#struct">struct</a>,.<a.href="#
1ebc0 75 6e 69 6f 6e 22 3e 75 6e 69 6f 6e 3c 2f 61 3e 2c 20 3c 61 20 68 72 65 66 3d 22 23 65 6e 75 6d union">union</a>,.<a.href="#enum
1ebe0 22 3e 65 6e 75 6d 3c 2f 61 3e 2c 20 6f 72 20 3c 61 20 68 72 65 66 3d 22 23 6f 70 61 71 75 65 22 ">enum</a>,.or.<a.href="#opaque"
1ec00 3e 6f 70 61 71 75 65 3c 2f 61 3e 3a 0a 20 20 20 20 20 20 3c 2f 70 3e 0a 20 20 20 20 20 20 3c 66 >opaque</a>:.......</p>.......<f
1ec20 69 67 75 72 65 3e 3c 66 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
1ec40 22 3e 3c 63 69 74 65 20 63 6c 61 73 73 3d 22 66 69 6c 65 22 3e 6e 61 6d 65 73 70 61 63 65 64 5f "><cite.class="file">namespaced_
1ec60 63 6f 6e 74 61 69 6e 65 72 5f 6c 65 76 65 6c 5f 76 61 72 69 61 62 6c 65 2e 7a 69 67 3c 2f 63 69 container_level_variable.zig</ci
1ec80 74 65 3e 3c 2f 66 69 67 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
1eca0 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b .class="line"><span.class="tok-k
1ecc0 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
1ece0 73 3d 22 74 6f 6b 2d 62 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>(<
1ed00 73 70 61 6e 20 63 6c 61 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
1ed20 75 6f 74 3b 3c 2f 73 70 61 6e 3e 29 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 uot;</span>);</span>.<span.class
1ed40 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 63 6f 6e ="line"><span.class="tok-kw">con
1ed60 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
1ed80 78 70 65 63 74 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 xpect;</span>.<span.class="line"
1eda0 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 ></span>.<span.class="line"><spa
1edc0 6e 20 63 6c 61 73 73 3d 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
1ede0 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 73 74 72 22 3e 26 71 75 6f 74 3b 6e 61 6d 65 73 70 61 an.class="tok-str">&quot;namespa
1ee00 63 65 64 20 63 6f 6e 74 61 69 6e 65 72 20 6c 65 76 65 6c 20 76 61 72 69 61 62 6c 65 26 71 75 6f ced.container.level.variable&quo
1ee20 74 3b 3c 2f 73 70 61 6e 3e 20 7b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 t;</span>.{</span>.<span.class="
1ee40 6c 69 6e 65 22 3e 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 74 line">....<span.class="tok-kw">t
1ee60 72 79 3c 2f 73 70 61 6e 3e 20 65 78 70 65 63 74 28 66 6f 6f 28 29 20 3d 3d 20 3c 73 70 61 6e 20 ry</span>.expect(foo().==.<span.
1ee80 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 31 32 33 35 3c 2f 73 70 61 6e 3e 29 3b class="tok-number">1235</span>);
1eea0 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 3c </span>.<span.class="line">....<
1eec0 73 70 61 6e 20 63 6c 61 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
1eee0 78 70 65 63 74 28 66 6f 6f 28 29 20 3d 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d xpect(foo().==.<span.class="tok-
1ef00 6e 75 6d 62 65 72 22 3e 31 32 33 36 3c 2f 73 70 61 6e 3e 29 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 number">1236</span>);</span>.<sp
1ef20 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 7d 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 an.class="line">}</span>.<span.c
1ef40 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d lass="line"></span>.<span.class=
1ef60 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 63 6f 6e 73 "line"><span.class="tok-kw">cons
1ef80 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
1efa0 22 3e 73 74 72 75 63 74 3c 2f 73 70 61 6e 3e 20 7b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 ">struct</span>.{</span>.<span.c
1efc0 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b lass="line">....<span.class="tok
1efe0 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="
1f000 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
1f020 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 31 32 33 34 3c 2f 73 70 61 6e 3e 3b 3c 2f 73 70 ss="tok-number">1234</span>;</sp
1f040 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 7d 3b 3c 2f 73 70 61 6e 3e an>.<span.class="line">};</span>
1f060 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 .<span.class="line"></span>.<spa
1f080 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d n.class="line"><span.class="tok-
1f0a0 6b 77 22 3e 66 6e 3c 2f 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
1f0c0 6e 22 3e 66 6f 6f 3c 2f 73 70 61 6e 3e 28 29 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b n">foo</span>().<span.class="tok
1f0e0 2d 74 79 70 65 22 3e 69 33 32 3c 2f 73 70 61 6e 3e 20 7b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e -type">i32</span>.{</span>.<span
1f100 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 53 2e 78 20 2b 3d 20 3c 73 70 61 6e 20 63 .class="line">....S.x.+=.<span.c
1f120 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 31 3c 2f 73 70 61 6e 3e 3b 3c 2f 73 70 61 lass="tok-number">1</span>;</spa
1f140 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 3c 73 70 61 6e 20 n>.<span.class="line">....<span.
1f160 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 72 65 74 75 72 6e 3c 2f 73 70 61 6e 3e 20 53 2e 78 class="tok-kw">return</span>.S.x
1f180 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 7d 3c 2f 73 ;</span>.<span.class="line">}</s
1f1a0 70 61 6e 3e 3c 2f 63 6f 64 65 3e 3c 2f 70 72 65 3e 3c 2f 66 69 67 75 72 65 3e 3c 66 69 67 75 72 pan></code></pre></figure><figur
1f1c0 65 3e 3c 66 69 67 63 61 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">
1f1e0 53 68 65 6c 6c 3c 2f 66 69 67 63 61 70 74 69 6f 6e 3e 3c 70 72 65 3e 3c 73 61 6d 70 3e 3c 73 70 Shell</figcaption><pre><samp><sp
1f200 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 24 20 3c 6b 62 64 3e 7a 69 67 20 74 65 73 74 20 an.class="line">$.<kbd>zig.test.
1f220 6e 61 6d 65 73 70 61 63 65 64 5f 63 6f 6e 74 61 69 6e 65 72 5f 6c 65 76 65 6c 5f 76 61 72 69 61 namespaced_container_level_varia
1f240 62 6c 65 2e 7a 69 67 3c 2f 6b 62 64 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 ble.zig</kbd></span>.<span.class
1f260 3d 22 6c 69 6e 65 22 3e 31 2f 31 20 74 65 73 74 2e 6e 61 6d 65 73 70 61 63 65 64 20 63 6f 6e 74 ="line">1/1.test.namespaced.cont
1f280 61 69 6e 65 72 20 6c 65 76 65 6c 20 76 61 72 69 61 62 6c 65 2e 2e 2e 20 4f 4b 3c 2f 73 70 61 6e ainer.level.variable....OK</span
1f2a0 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 41 6c 6c 20 31 20 74 65 73 74 73 >.<span.class="line">All.1.tests
1f2c0 20 70 61 73 73 65 64 2e 3c 2f 73 70 61 6e 3e 0a 3c 2f 73 61 6d 70 3e 3c 2f 70 72 65 3e 3c 2f 66 .passed.</span>.</samp></pre></f
1f2e0 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 61 igure>...............<h3.id="Sta
1f300 74 69 63 2d 4c 6f 63 61 6c 2d 56 61 72 69 61 62 6c 65 73 22 3e 3c 61 20 68 72 65 66 3d 22 23 74 tic-Local-Variables"><a.href="#t
1f320 6f 63 2d 53 74 61 74 69 63 2d 4c 6f 63 61 6c 2d 56 61 72 69 61 62 6c 65 73 22 3e 53 74 61 74 69 oc-Static-Local-Variables">Stati
1f340 63 20 4c 6f 63 61 6c 20 56 61 72 69 61 62 6c 65 73 3c 2f 61 3e 20 3c 61 20 63 6c 61 73 73 3d 22 c.Local.Variables</a>.<a.class="
1f360 68 64 72 22 20 68 72 65 66 3d 22 23 53 74 61 74 69 63 2d 4c 6f 63 61 6c 2d 56 61 72 69 61 62 6c hdr".href="#Static-Local-Variabl
1f380 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>......
1f3a0 20 20 20 49 74 20 69 73 20 61 6c 73 6f 20 70 6f 73 73 69 62 6c 65 20 74 6f 20 68 61 76 65 20 6c ...It.is.also.possible.to.have.l
1f3c0 6f 63 61 6c 20 76 61 72 69 61 62 6c 65 73 20 77 69 74 68 20 73 74 61 74 69 63 20 6c 69 66 65 74 ocal.variables.with.static.lifet
1f3e0 69 6d 65 20 62 79 20 75 73 69 6e 67 20 63 6f 6e 74 61 69 6e 65 72 73 20 69 6e 73 69 64 65 20 66 ime.by.using.containers.inside.f
1f400 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 66 69 67 75 unctions........</p>.......<figu
1f420 72 65 3e 3c 66 69 67 63 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"><
1f440 63 69 74 65 20 63 6c 61 73 73 3d 22 66 69 6c 65 22 3e 73 74 61 74 69 63 5f 6c 6f 63 61 6c 5f 76 cite.class="file">static_local_v
1f460 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 74 69 6f 6e 3e 3c ariable.zig</cite></figcaption><
1f480 70 72 65 3e 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 pre><code><span.class="line"><sp
1f4a0 61 6e 20 63 6c 61 73 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
1f4c0 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">@
1f4e0 69 6d 70 6f 72 74 3c 2f 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
1f500 74 72 22 3e 26 71 75 6f 74 3b 73 74 64 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 29 3b 3c 2f 73 70 tr">&quot;std&quot;</span>);</sp
1f520 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 an>.<span.class="line"><span.cla
1f540 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 63 6f 6e 73 74 3c 2f 73 70 61 6e 3e 20 65 78 70 65 63 74 20 ss="tok-kw">const</span>.expect.
1f560 3d 20 73 74 64 2e 74 65 73 74 69 6e 67 2e 65 78 70 65 63 74 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 =.std.testing.expect;</span>.<sp
1f580 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c an.class="line"></span>.<span.cl
1f5a0 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e ass="line"><span.class="tok-kw">
1f5c0 74 65 73 74 3c 2f 73 70 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
1f5e0 22 3e 26 71 75 6f 74 3b 73 74 61 74 69 63 20 6c 6f 63 61 6c 20 76 61 72 69 61 62 6c 65 26 71 75 ">&quot;static.local.variable&qu
1f600 6f 74 3b 3c 2f 73 70 61 6e 3e 20 7b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d ot;</span>.{</span>.<span.class=
1f620 22 6c 69 6e 65 22 3e 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e "line">....<span.class="tok-kw">
1f640 74 72 79 3c 2f 73 70 61 6e 3e 20 65 78 70 65 63 74 28 66 6f 6f 28 29 20 3d 3d 20 3c 73 70 61 6e try</span>.expect(foo().==.<span
1f660 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 31 32 33 35 3c 2f 73 70 61 6e 3e 29 .class="tok-number">1235</span>)
1f680 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 ;</span>.<span.class="line">....
1f6a0 3c 73 70 61 6e 20 63 6c 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>.
1f6c0 65 78 70 65 63 74 28 66 6f 6f 28 29 20 3d 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b expect(foo().==.<span.class="tok
1f6e0 2d 6e 75 6d 62 65 72 22 3e 31 32 33 36 3c 2f 73 70 61 6e 3e 29 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 -number">1236</span>);</span>.<s
1f700 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 7d 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 pan.class="line">}</span>.<span.
1f720 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 class="line"></span>.<span.class
1f740 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 66 6e 3c ="line"><span.class="tok-kw">fn<
1f760 2f 73 70 61 6e 3e 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 66 6e 22 3e 66 6f 6f 3c /span>.<span.class="tok-fn">foo<
1f780 2f 73 70 61 6e 3e 28 29 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e /span>().<span.class="tok-type">
1f7a0 69 33 32 3c 2f 73 70 61 6e 3e 20 7b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d i32</span>.{</span>.<span.class=
1f7c0 22 6c 69 6e 65 22 3e 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e "line">....<span.class="tok-kw">
1f7e0 63 6f 6e 73 74 3c 2f 73 70 61 6e 3e 20 53 20 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f const</span>.S.=.<span.class="to
1f800 6b 2d 6b 77 22 3e 73 74 72 75 63 74 3c 2f 73 70 61 6e 3e 20 7b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 k-kw">struct</span>.{</span>.<sp
1f820 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 20 20 20 20 3c 73 70 61 6e 20 63 6c an.class="line">........<span.cl
1f840 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
1f860 20 63 6c 61 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>.=.<
1f880 73 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
1f8a0 61 6e 3e 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 an>;</span>.<span.class="line">.
1f8c0 20 20 20 7d 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e ...};</span>.<span.class="line">
1f8e0 20 20 20 20 53 2e 78 20 2b 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 ....S.x.+=.<span.class="tok-numb
1f900 65 72 22 3e 31 3c 2f 73 70 61 6e 3e 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 er">1</span>;</span>.<span.class
1f920 3d 22 6c 69 6e 65 22 3e 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 ="line">....<span.class="tok-kw"
1f940 3e 72 65 74 75 72 6e 3c 2f 73 70 61 6e 3e 20 53 2e 78 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e >return</span>.S.x;</span>.<span
1f960 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 7d 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 3c 2f 70 .class="line">}</span></code></p
1f980 72 65 3e 3c 2f 66 69 67 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.
1f9a0 63 6c 61 73 73 3d 22 73 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
1f9c0 69 6f 6e 3e 3c 70 72 65 3e 3c 73 61 6d 70 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 ion><pre><samp><span.class="line
1f9e0 22 3e 24 20 3c 6b 62 64 3e 7a 69 67 20 74 65 73 74 20 73 74 61 74 69 63 5f 6c 6f 63 61 6c 5f 76 ">$.<kbd>zig.test.static_local_v
1fa00 61 72 69 61 62 6c 65 2e 7a 69 67 3c 2f 6b 62 64 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 ariable.zig</kbd></span>.<span.c
1fa20 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 31 2f 31 20 74 65 73 74 2e 73 74 61 74 69 63 20 6c 6f 63 61 lass="line">1/1.test.static.loca
1fa40 6c 20 76 61 72 69 61 62 6c 65 2e 2e 2e 20 4f 4b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c l.variable....OK</span>.<span.cl
1fa60 61 73 73 3d 22 6c 69 6e 65 22 3e 41 6c 6c 20 31 20 74 65 73 74 73 20 70 61 73 73 65 64 2e 3c 2f ass="line">All.1.tests.passed.</
1fa80 73 70 61 6e 3e 0a 3c 2f 73 61 6d 70 3e 3c 2f 70 72 65 3e 3c 2f 66 69 67 75 72 65 3e 0a 20 20 20 span>.</samp></pre></figure>....
1faa0 20 20 20 3c 70 3e 0a 20 20 20 20 20 20 54 68 65 20 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 ...<p>.......The.<code><span.cla
1fac0 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 65 ss="line"><span.class="tok-kw">e
1fae0 78 74 65 72 6e 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 20 6b 65 79 77 6f xtern</span></span></code>.keywo
1fb00 72 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 rd.or.<a.href="#extern">@extern<
1fb20 2f 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 /a>.builtin.function.can.be.used
1fb40 20 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 .to.link.against.a.variable.that
1fb60 20 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 .is.exported.......from.another.
1fb80 6f 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 6c object..The.<code><span.class="l
1fba0 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 65 78 70 6f 72 74 ine"><span.class="tok-kw">export
1fbc0 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 20 6b 65 79 77 6f 72 64 20 6f 72 </span></span></code>.keyword.or
1fbe0 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 2f 61 3e 20 62 .<a.href="#export">@export</a>.b
1fc00 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 65 20 75 73 65 uiltin.function.......can.be.use
1fc20 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 62 6c 65 20 74 d.to.make.a.variable.available.t
1fc40 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 65 2e 20 49 6e o.other.objects.at.link.time..In
1fc60 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 20 6f 66 20 74 .both.cases,.......the.type.of.t
1fc80 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 6f 6d 70 61 74 he.variable.must.be.C.ABI.compat
1fca0 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 65 65 20 61 6c ible........</p>.......<p>See.al
1fcc0 73 6f 3a 3c 2f 70 3e 3c 75 6c 3e 0a 3c 6c 69 3e 3c 61 20 68 72 65 66 3d 22 23 45 78 70 6f 72 74 so:</p><ul>.<li><a.href="#Export
1fce0 69 6e 67 2d 61 2d 43 2d 4c 69 62 72 61 72 79 22 3e 45 78 70 6f 72 74 69 6e 67 20 61 20 43 20 4c ing-a-C-Library">Exporting.a.C.L
1fd00 69 62 72 61 72 79 3c 2f 61 3e 3c 2f 6c 69 3e 0a 3c 2f 75 6c 3e 0a 0a 20 20 20 20 20 20 0a 0a 20 ibrary</a></li>.</ul>...........
1fd20 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 69 61 62 .....<h3.id="Thread-Local-Variab
1fd40 6c 65 73 22 3e 3c 61 20 68 72 65 66 3d 22 23 74 6f 63 2d 54 68 72 65 61 64 2d 4c 6f 63 61 6c 2d les"><a.href="#toc-Thread-Local-
1fd60 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
1fd80 73 3c 2f 61 3e 20 3c 61 20 63 6c 61 73 73 3d 22 68 64 72 22 20 68 72 65 66 3d 22 23 54 68 72 65 s</a>.<a.class="hdr".href="#Thre
1fda0 61 64 2d 4c 6f 63 61 6c 2d 56 61 72 69 61 62 6c 65 73 22 3e c2 a7 3c 2f 61 3e 3c 2f 68 33 3e 0a ad-Local-Variables">..</a></h3>.
1fdc0 0a 20 20 20 20 20 20 3c 70 3e 41 20 76 61 72 69 61 62 6c 65 20 6d 61 79 20 62 65 20 73 70 65 63 .......<p>A.variable.may.be.spec
1fde0 69 66 69 65 64 20 74 6f 20 62 65 20 61 20 74 68 72 65 61 64 2d 6c 6f 63 61 6c 20 76 61 72 69 61 ified.to.be.a.thread-local.varia
1fe00 62 6c 65 20 75 73 69 6e 67 20 74 68 65 0a 20 20 20 20 20 20 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 ble.using.the.......<code><span.
1fe20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 class="line"><span.class="tok-kw
1fe40 22 3e 74 68 72 65 61 64 6c 6f 63 61 6c 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 ">threadlocal</span></span></cod
1fe60 65 3e 20 6b 65 79 77 6f 72 64 3a 3c 2f 70 3e 0a 20 20 20 20 20 20 3c 66 69 67 75 72 65 3e 3c 66 e>.keyword:</p>.......<figure><f
1fe80 69 67 63 61 70 74 69 6f 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.
1fea0 63 6c 61 73 73 3d 22 66 69 6c 65 22 3e 74 6c 73 2e 7a 69 67 3c 2f 63 69 74 65 3e 3c 2f 66 69 67 class="file">tls.zig</cite></fig
1fec0 63 61 70 74 69 6f 6e 3e 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="
1fee0 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 63 6f 6e 73 74 line"><span.class="tok-kw">const
1ff00 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
1ff20 75 69 6c 74 69 6e 22 3e 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
1ff40 73 73 3d 22 74 6f 6b 2d 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
1ff60 61 6e 3e 29 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e an>);</span>.<span.class="line">
1ff80 3c 73 70 61 6e 20 63 6c 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
1ffa0 3e 20 61 73 73 65 72 74 20 3d 20 73 74 64 2e 64 65 62 75 67 2e 61 73 73 65 72 74 3b 3c 2f 73 70 >.assert.=.std.debug.assert;</sp
1ffc0 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 2f 73 70 61 6e 3e 0a 3c an>.<span.class="line"></span>.<
1ffe0 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 span.class="line"><span.class="t
20000 6f 6b 2d 6b 77 22 3e 74 68 72 65 61 64 6c 6f 63 61 6c 3c 2f 73 70 61 6e 3e 20 3c 73 70 61 6e 20 ok-kw">threadlocal</span>.<span.
20020 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 76 61 72 3c 2f 73 70 61 6e 3e 20 78 3a 20 3c 73 70 class="tok-kw">var</span>.x:.<sp
20040 61 6e 20 63 6c 61 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>.=
20060 20 3c 73 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</
20080 73 70 61 6e 3e 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 span>;</span>.<span.class="line"
200a0 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 ></span>.<span.class="line"><spa
200c0 6e 20 63 6c 61 73 73 3d 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
200e0 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 73 74 72 22 3e 26 71 75 6f 74 3b 74 68 72 65 61 64 20 an.class="tok-str">&quot;thread.
20100 6c 6f 63 61 6c 20 73 74 6f 72 61 67 65 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 20 7b 3c 2f 73 70 local.storage&quot;</span>.{</sp
20120 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 3c 73 70 61 6e an>.<span.class="line">....<span
20140 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 63 6f 6e 73 74 3c 2f 73 70 61 6e 3e 20 74 68 72 .class="tok-kw">const</span>.thr
20160 65 61 64 31 20 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 74 72 79 3c ead1.=.<span.class="tok-kw">try<
20180 2f 73 70 61 6e 3e 20 73 74 64 2e 54 68 72 65 61 64 2e 73 70 61 77 6e 28 2e 7b 7d 2c 20 74 65 73 /span>.std.Thread.spawn(.{},.tes
201a0 74 54 6c 73 2c 20 2e 7b 7d 29 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 tTls,..{});</span>.<span.class="
201c0 6c 69 6e 65 22 3e 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 63 line">....<span.class="tok-kw">c
201e0 6f 6e 73 74 3c 2f 73 70 61 6e 3e 20 74 68 72 65 61 64 32 20 3d 20 3c 73 70 61 6e 20 63 6c 61 73 onst</span>.thread2.=.<span.clas
20200 73 3d 22 74 6f 6b 2d 6b 77 22 3e 74 72 79 3c 2f 73 70 61 6e 3e 20 73 74 64 2e 54 68 72 65 61 64 s="tok-kw">try</span>.std.Thread
20220 2e 73 70 61 77 6e 28 2e 7b 7d 2c 20 74 65 73 74 54 6c 73 2c 20 2e 7b 7d 29 3b 3c 2f 73 70 61 6e .spawn(.{},.testTls,..{});</span
20240 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 74 65 73 74 54 6c 73 >.<span.class="line">....testTls
20260 28 29 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 ();</span>.<span.class="line">..
20280 20 20 74 68 72 65 61 64 31 2e 6a 6f 69 6e 28 29 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 ..thread1.join();</span>.<span.c
202a0 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 74 68 72 65 61 64 32 2e 6a 6f 69 6e 28 29 3b 3c lass="line">....thread2.join();<
202c0 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 7d 3c 2f 73 70 61 /span>.<span.class="line">}</spa
202e0 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 n>.<span.class="line"></span>.<s
20300 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f pan.class="line"><span.class="to
20320 6b 2d 6b 77 22 3e 66 6e 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
20340 2d 66 6e 22 3e 74 65 73 74 54 6c 73 3c 2f 73 70 61 6e 3e 28 29 20 3c 73 70 61 6e 20 63 6c 61 73 -fn">testTls</span>().<span.clas
20360 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 76 6f 69 64 3c 2f 73 70 61 6e 3e 20 7b 3c 2f 73 70 61 6e s="tok-type">void</span>.{</span
20380 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 61 73 73 65 72 74 28 >.<span.class="line">....assert(
203a0 78 20 3d 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 31 32 x.==.<span.class="tok-number">12
203c0 33 34 3c 2f 73 70 61 6e 3e 29 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 34</span>);</span>.<span.class="
203e0 6c 69 6e 65 22 3e 20 20 20 20 78 20 2b 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d line">....x.+=.<span.class="tok-
20400 6e 75 6d 62 65 72 22 3e 31 3c 2f 73 70 61 6e 3e 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 number">1</span>;</span>.<span.c
20420 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 61 73 73 65 72 74 28 78 20 3d 3d 20 3c 73 70 61 lass="line">....assert(x.==.<spa
20440 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 31 32 33 35 3c 2f 73 70 61 6e 3e n.class="tok-number">1235</span>
20460 29 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 7d 3c 2f );</span>.<span.class="line">}</
20480 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
204a0 72 65 3e 3c 66 69 67 63 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"
204c0 3e 53 68 65 6c 6c 3c 2f 66 69 67 63 61 70 74 69 6f 6e 3e 3c 70 72 65 3e 3c 73 61 6d 70 3e 3c 73 >Shell</figcaption><pre><samp><s
204e0 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 24 20 3c 6b 62 64 3e 7a 69 67 20 74 65 73 74 pan.class="line">$.<kbd>zig.test
20500 20 74 6c 73 2e 7a 69 67 3c 2f 6b 62 64 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 .tls.zig</kbd></span>.<span.clas
20520 73 3d 22 6c 69 6e 65 22 3e 31 2f 31 20 74 65 73 74 2e 74 68 72 65 61 64 20 6c 6f 63 61 6c 20 73 s="line">1/1.test.thread.local.s
20540 74 6f 72 61 67 65 2e 2e 2e 20 4f 4b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d torage....OK</span>.<span.class=
20560 22 6c 69 6e 65 22 3e 41 6c 6c 20 31 20 74 65 73 74 73 20 70 61 73 73 65 64 2e 3c 2f 73 70 61 6e "line">All.1.tests.passed.</span
20580 3e 0a 3c 2f 73 61 6d 70 3e 3c 2f 70 72 65 3e 3c 2f 66 69 67 75 72 65 3e 0a 20 20 20 20 20 20 3c >.</samp></pre></figure>.......<
205a0 70 3e 0a 20 20 20 20 20 20 46 6f 72 20 3c 61 20 68 72 65 66 3d 22 23 53 69 6e 67 6c 65 2d 54 68 p>.......For.<a.href="#Single-Th
205c0 72 65 61 64 65 64 2d 42 75 69 6c 64 73 22 3e 53 69 6e 67 6c 65 20 54 68 72 65 61 64 65 64 20 42 readed-Builds">Single.Threaded.B
205e0 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 69 uilds</a>,.all.thread.local.vari
20600 61 62 6c 65 73 20 61 72 65 20 74 72 65 61 74 65 64 20 61 73 20 72 65 67 75 6c 61 72 20 3c 61 20 ables.are.treated.as.regular.<a.
20620 68 72 65 66 3d 22 23 43 6f 6e 74 61 69 6e 65 72 2d 4c 65 76 65 6c 2d 56 61 72 69 61 62 6c 65 73 href="#Container-Level-Variables
20640 22 3e 43 6f 6e 74 61 69 6e 65 72 20 4c 65 76 65 6c 20 56 61 72 69 61 62 6c 65 73 3c 2f 61 3e 2e ">Container.Level.Variables</a>.
20660 0a 20 20 20 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 72 65 .......</p>.......<p>.......Thre
20680 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
206a0 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 ode><span.class="line"><span.cla
206c0 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 63 6f 6e 73 74 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 3c ss="tok-kw">const</span></span><
206e0 2f 63 6f 64 65 3e 2e 0a 20 20 20 20 20 20 3c 2f 70 3e 0a 20 20 20 20 20 20 0a 0a 20 20 20 20 20 /code>........</p>..............
20700 20 3c 68 33 20 69 64 3d 22 4c 6f 63 61 6c 2d 56 61 72 69 61 62 6c 65 73 22 3e 3c 61 20 68 72 65 .<h3.id="Local-Variables"><a.hre
20720 66 3d 22 23 74 6f 63 2d 4c 6f 63 61 6c 2d 56 61 72 69 61 62 6c 65 73 22 3e 4c 6f 63 61 6c 20 56 f="#toc-Local-Variables">Local.V
20740 61 72 69 61 62 6c 65 73 3c 2f 61 3e 20 3c 61 20 63 6c 61 73 73 3d 22 68 64 72 22 20 68 72 65 66 ariables</a>.<a.class="hdr".href
20760 3d 22 23 4c 6f 63 61 6c 2d 56 61 72 69 61 62 6c 65 73 22 3e c2 a7 3c 2f 61 3e 3c 2f 68 33 3e 0a ="#Local-Variables">..</a></h3>.
20780 0a 20 20 20 20 20 20 3c 70 3e 0a 20 20 20 20 20 20 4c 6f 63 61 6c 20 76 61 72 69 61 62 6c 65 73 .......<p>.......Local.variables
207a0 20 6f 63 63 75 72 20 69 6e 73 69 64 65 20 3c 61 20 68 72 65 66 3d 22 23 46 75 6e 63 74 69 6f 6e .occur.inside.<a.href="#Function
207c0 73 22 3e 46 75 6e 63 74 69 6f 6e 73 3c 2f 61 3e 2c 20 3c 61 20 68 72 65 66 3d 22 23 63 6f 6d 70 s">Functions</a>,.<a.href="#comp
207e0 74 69 6d 65 22 3e 63 6f 6d 70 74 69 6d 65 3c 2f 61 3e 20 62 6c 6f 63 6b 73 2c 20 61 6e 64 20 3c time">comptime</a>.blocks,.and.<
20800 61 20 68 72 65 66 3d 22 23 63 49 6d 70 6f 72 74 22 3e 40 63 49 6d 70 6f 72 74 3c 2f 61 3e 20 62 a.href="#cImport">@cImport</a>.b
20820 6c 6f 63 6b 73 2e 0a 20 20 20 20 20 20 3c 2f 70 3e 0a 20 20 20 20 20 20 3c 70 3e 0a 20 20 20 20 locks........</p>.......<p>.....
20840 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 3c 63 6f 64 65 ..When.a.local.variable.is.<code
20860 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d ><span.class="line"><span.class=
20880 22 74 6f 6b 2d 6b 77 22 3e 63 6f 6e 73 74 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 3c 2f 63 6f "tok-kw">const</span></span></co
208a0 64 65 3e 2c 20 69 74 20 6d 65 61 6e 73 20 74 68 61 74 20 61 66 74 65 72 20 69 6e 69 74 69 61 6c de>,.it.means.that.after.initial
208c0 69 7a 61 74 69 6f 6e 2c 20 74 68 65 20 76 61 72 69 61 62 6c 65 27 73 0a 20 20 20 20 20 20 76 61 ization,.the.variable's.......va
208e0 6c 75 65 20 77 69 6c 6c 20 6e 6f 74 20 63 68 61 6e 67 65 2e 20 49 66 20 74 68 65 20 69 6e 69 74 lue.will.not.change..If.the.init
20900 69 61 6c 69 7a 61 74 69 6f 6e 20 76 61 6c 75 65 20 6f 66 20 61 20 3c 63 6f 64 65 3e 3c 73 70 61 ialization.value.of.a.<code><spa
20920 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d n.class="line"><span.class="tok-
20940 6b 77 22 3e 63 6f 6e 73 74 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 20 76 kw">const</span></span></code>.v
20960 61 72 69 61 62 6c 65 20 69 73 0a 20 20 20 20 20 20 3c 61 20 68 72 65 66 3d 22 23 63 6f 6d 70 74 ariable.is.......<a.href="#compt
20980 69 6d 65 22 3e 63 6f 6d 70 74 69 6d 65 3c 2f 61 3e 2d 6b 6e 6f 77 6e 2c 20 74 68 65 6e 20 74 68 ime">comptime</a>-known,.then.th
209a0 65 20 76 61 72 69 61 62 6c 65 20 69 73 20 61 6c 73 6f 20 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 e.variable.is.also.<code><span.c
209c0 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 lass="line"><span.class="tok-kw"
209e0 3e 63 6f 6d 70 74 69 6d 65 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 2d 6b >comptime</span></span></code>-k
20a00 6e 6f 77 6e 2e 0a 20 20 20 20 20 20 3c 2f 70 3e 0a 20 20 20 20 20 20 3c 70 3e 0a 20 20 20 20 20 nown........</p>.......<p>......
20a20 20 41 20 6c 6f 63 61 6c 20 76 61 72 69 61 62 6c 65 20 6d 61 79 20 62 65 20 71 75 61 6c 69 66 69 .A.local.variable.may.be.qualifi
20a40 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 6c ed.with.the.<code><span.class="l
20a60 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 63 6f 6d 70 74 69 ine"><span.class="tok-kw">compti
20a80 6d 65 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 20 6b 65 79 77 6f 72 64 2e me</span></span></code>.keyword.
20aa0 20 54 68 69 73 20 63 61 75 73 65 73 0a 20 20 20 20 20 20 74 68 65 20 76 61 72 69 61 62 6c 65 27 .This.causes.......the.variable'
20ac0 73 20 76 61 6c 75 65 20 74 6f 20 62 65 20 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d s.value.to.be.<code><span.class=
20ae0 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 63 6f 6d 70 "line"><span.class="tok-kw">comp
20b00 74 69 6d 65 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 2d 6b 6e 6f 77 6e 2c time</span></span></code>-known,
20b20 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 74 68 65 .and.all.loads.and.stores.of.the
20b40 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 69 6e 67 .......variable.to.happen.during
20b60 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 67 72 61 .semantic.analysis.of.the.progra
20b80 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 20 20 20 m,.rather.than.at.runtime.......
20ba0 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 3c 63 6f .All.variables.declared.in.a.<co
20bc0 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 de><span.class="line"><span.clas
20be0 73 3d 22 74 6f 6b 2d 6b 77 22 3e 63 6f 6d 70 74 69 6d 65 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e s="tok-kw">comptime</span></span
20c00 3e 3c 2f 63 6f 64 65 3e 20 65 78 70 72 65 73 73 69 6f 6e 20 61 72 65 20 69 6d 70 6c 69 63 69 74 ></code>.expression.are.implicit
20c20 6c 79 0a 20 20 20 20 20 20 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 ly.......<code><span.class="line
20c40 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 63 6f 6d 70 74 69 6d 65 3c "><span.class="tok-kw">comptime<
20c60 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 20 76 61 72 69 61 62 6c 65 73 2e 0a /span></span></code>.variables..
20c80 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
20ca0 74 69 6f 6e 20 63 6c 61 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
20cc0 3d 22 66 69 6c 65 22 3e 63 6f 6d 70 74 69 6d 65 5f 76 61 72 73 2e 7a 69 67 3c 2f 63 69 74 65 3e ="file">comptime_vars.zig</cite>
20ce0 3c 2f 66 69 67 63 61 70 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
20d00 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e ass="line"><span.class="tok-kw">
20d20 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="
20d40 74 6f 6b 2d 62 75 69 6c 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
20d60 6e 20 63 6c 61 73 73 3d 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
20d80 3b 3c 2f 73 70 61 6e 3e 29 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c ;</span>);</span>.<span.class="l
20da0 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 63 6f 6e 73 74 3c ine"><span.class="tok-kw">const<
20dc0 2f 73 70 61 6e 3e 20 65 78 70 65 63 74 20 3d 20 73 74 64 2e 74 65 73 74 69 6e 67 2e 65 78 70 65 /span>.expect.=.std.testing.expe
20de0 63 74 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 2f ct;</span>.<span.class="line"></
20e00 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 span>.<span.class="line"><span.c
20e20 6c 61 73 73 3d 22 74 6f 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.
20e40 63 6c 61 73 73 3d 22 74 6f 6b 2d 73 74 72 22 3e 26 71 75 6f 74 3b 63 6f 6d 70 74 69 6d 65 20 76 class="tok-str">&quot;comptime.v
20e60 61 72 73 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 20 7b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 ars&quot;</span>.{</span>.<span.
20e80 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f class="line">....<span.class="to
20ea0 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=
20ec0 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
20ee0 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 31 3c 2f 73 70 61 6e 3e 3b 3c 2f 73 70 61 6e ass="tok-number">1</span>;</span
20f00 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 3c 73 70 61 6e 20 63 >.<span.class="line">....<span.c
20f20 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
20f40 70 61 6e 20 63 6c 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 pan.class="tok-kw">var</span>.y:
20f60 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
20f80 6e 3e 20 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 31 3c n>.=.<span.class="tok-number">1<
20fa0 2f 73 70 61 6e 3e 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 /span>;</span>.<span.class="line
20fc0 22 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 "></span>.<span.class="line">...
20fe0 20 78 20 2b 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 31 .x.+=.<span.class="tok-number">1
21000 3c 2f 73 70 61 6e 3e 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e </span>;</span>.<span.class="lin
21020 65 22 3e 20 20 20 20 79 20 2b 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d e">....y.+=.<span.class="tok-num
21040 62 65 72 22 3e 31 3c 2f 73 70 61 6e 3e 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 ber">1</span>;</span>.<span.clas
21060 73 3d 22 6c 69 6e 65 22 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 s="line"></span>.<span.class="li
21080 6e 65 22 3e 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 74 72 79 ne">....<span.class="tok-kw">try
210a0 3c 2f 73 70 61 6e 3e 20 65 78 70 65 63 74 28 78 20 3d 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d </span>.expect(x.==.<span.class=
210c0 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 32 3c 2f 73 70 61 6e 3e 29 3b 3c 2f 73 70 61 6e 3e 0a 3c "tok-number">2</span>);</span>.<
210e0 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 span.class="line">....<span.clas
21100 73 3d 22 74 6f 6b 2d 6b 77 22 3e 74 72 79 3c 2f 73 70 61 6e 3e 20 65 78 70 65 63 74 28 79 20 3d s="tok-kw">try</span>.expect(y.=
21120 3d 20 3c 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
21140 61 6e 3e 29 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e an>);</span>.<span.class="line">
21160 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 3c </span>.<span.class="line">....<
21180 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 69 66 3c 2f 73 70 61 6e 3e 20 28 79 span.class="tok-kw">if</span>.(y
211a0 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 32 3c 2f .!=.<span.class="tok-number">2</
211c0 73 70 61 6e 3e 29 20 7b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e span>).{</span>.<span.class="lin
211e0 65 22 3e 20 20 20 20 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 63 6f 6d 6d e">........<span.class="tok-comm
21200 65 6e 74 22 3e 2f 2f 20 54 68 69 73 20 63 6f 6d 70 69 6c 65 20 65 72 72 6f 72 20 6e 65 76 65 72 ent">//.This.compile.error.never
21220 20 74 72 69 67 67 65 72 73 20 62 65 63 61 75 73 65 20 79 20 69 73 20 61 20 63 6f 6d 70 74 69 6d .triggers.because.y.is.a.comptim
21240 65 20 76 61 72 69 61 62 6c 65 2c 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 e.variable,</span></span>.<span.
21260 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 class="line">........<span.class
21280 3d 22 74 6f 6b 2d 63 6f 6d 6d 65 6e 74 22 3e 2f 2f 20 61 6e 64 20 73 6f 20 60 79 20 21 3d 20 32 ="tok-comment">//.and.so.`y.!=.2
212a0 60 20 69 73 20 61 20 63 6f 6d 70 74 69 6d 65 20 76 61 6c 75 65 2c 20 61 6e 64 20 74 68 69 73 20 `.is.a.comptime.value,.and.this.
212c0 69 66 20 69 73 20 73 74 61 74 69 63 61 6c 6c 79 20 65 76 61 6c 75 61 74 65 64 2e 3c 2f 73 70 61 if.is.statically.evaluated.</spa
212e0 6e 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 n></span>.<span.class="line">...
21300 20 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 62 75 69 6c 74 69 6e 22 3e 40 .....<span.class="tok-builtin">@
21320 63 6f 6d 70 69 6c 65 45 72 72 6f 72 3c 2f 73 70 61 6e 3e 28 3c 73 70 61 6e 20 63 6c 61 73 73 3d compileError</span>(<span.class=
21340 22 74 6f 6b 2d 73 74 72 22 3e 26 71 75 6f 74 3b 77 72 6f 6e 67 20 79 20 76 61 6c 75 65 26 71 75 "tok-str">&quot;wrong.y.value&qu
21360 6f 74 3b 3c 2f 73 70 61 6e 3e 29 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d ot;</span>);</span>.<span.class=
21380 22 6c 69 6e 65 22 3e 20 20 20 20 7d 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d "line">....}</span>.<span.class=
213a0 22 6c 69 6e 65 22 3e 7d 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 3c 2f 70 72 65 3e 3c 2f 66 69 "line">}</span></code></pre></fi
213c0 67 75 72 65 3e 3c 66 69 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="
213e0 73 68 65 6c 6c 2d 63 61 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
21400 65 3e 3c 73 61 6d 70 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 24 20 3c 6b 62 e><samp><span.class="line">$.<kb
21420 64 3e 7a 69 67 20 74 65 73 74 20 63 6f 6d 70 74 69 6d 65 5f 76 61 72 73 2e 7a 69 67 3c 2f 6b 62 d>zig.test.comptime_vars.zig</kb
21440 64 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 31 2f 31 d></span>.<span.class="line">1/1
21460 20 74 65 73 74 2e 63 6f 6d 70 74 69 6d 65 20 76 61 72 73 2e 2e 2e 20 4f 4b 3c 2f 73 70 61 6e 3e .test.comptime.vars....OK</span>
21480 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 41 6c 6c 20 31 20 74 65 73 74 73 20 .<span.class="line">All.1.tests.
214a0 70 61 73 73 65 64 2e 3c 2f 73 70 61 6e 3e 0a 3c 2f 73 61 6d 70 3e 3c 2f 70 72 65 3e 3c 2f 66 69 passed.</span>.</samp></pre></fi
214c0 67 75 72 65 3e 0a 20 20 20 20 20 20 0a 20 20 20 20 20 20 0a 0a 20 20 20 20 20 20 3c 68 32 20 69 gure>......................<h2.i
214e0 64 3d 22 49 6e 74 65 67 65 72 73 22 3e 3c 61 20 68 72 65 66 3d 22 23 74 6f 63 2d 49 6e 74 65 67 d="Integers"><a.href="#toc-Integ
21500 65 72 73 22 3e 49 6e 74 65 67 65 72 73 3c 2f 61 3e 20 3c 61 20 63 6c 61 73 73 3d 22 68 64 72 22 ers">Integers</a>.<a.class="hdr"
21520 20 68 72 65 66 3d 22 23 49 6e 74 65 67 65 72 73 22 3e c2 a7 3c 2f 61 3e 3c 2f 68 32 3e 0a 0a 20 .href="#Integers">..</a></h2>...
21540 20 20 20 20 20 3c 68 33 20 69 64 3d 22 49 6e 74 65 67 65 72 2d 4c 69 74 65 72 61 6c 73 22 3e 3c .....<h3.id="Integer-Literals"><
21560 61 20 68 72 65 66 3d 22 23 74 6f 63 2d 49 6e 74 65 67 65 72 2d 4c 69 74 65 72 61 6c 73 22 3e 49 a.href="#toc-Integer-Literals">I
21580 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 64 nteger.Literals</a>.<a.class="hd
215a0 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 2f r".href="#Integer-Literals">..</
215c0 61 3e 3c 2f 68 33 3e 0a 0a 20 20 20 20 20 20 3c 66 69 67 75 72 65 3e 3c 66 69 67 63 61 70 74 69 a></h3>........<figure><figcapti
215e0 6f 6e 20 63 6c 61 73 73 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="
21600 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 65 file">integer_literals.zig</cite
21620 3e 3c 2f 66 69 67 63 61 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
21640 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 lass="line"><span.class="tok-kw"
21660 3e 63 6f 6e 73 74 3c 2f 73 70 61 6e 3e 20 64 65 63 69 6d 61 6c 5f 69 6e 74 20 3d 20 3c 73 70 61 >const</span>.decimal_int.=.<spa
21680 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 39 38 32 32 32 3c 2f 73 70 61 6e n.class="tok-number">98222</span
216a0 3e 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 >;</span>.<span.class="line"><sp
216c0 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 63 6f 6e 73 74 3c 2f 73 70 61 6e 3e 20 68 an.class="tok-kw">const</span>.h
216e0 65 78 5f 69 6e 74 20 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 ex_int.=.<span.class="tok-number
21700 22 3e 30 78 66 66 3c 2f 73 70 61 6e 3e 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 ">0xff</span>;</span>.<span.clas
21720 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 63 6f s="line"><span.class="tok-kw">co
21740 6e 73 74 3c 2f 73 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 nst</span>.another_hex_int.=.<sp
21760 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 30 78 46 46 3c 2f 73 70 61 6e an.class="tok-number">0xFF</span
21780 3e 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 >;</span>.<span.class="line"><sp
217a0 61 6e 20 63 6c 61 73 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
217c0 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
217e0 65 72 22 3e 30 6f 37 35 35 3c 2f 73 70 61 6e 3e 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 er">0o755</span>;</span>.<span.c
21800 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 lass="line"><span.class="tok-kw"
21820 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 20 3c 73 70 61 6e >const</span>.binary_int.=.<span
21840 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 30 30 30 30 3c 2f .class="tok-number">0b11110000</
21860 73 70 61 6e 3e 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 span>;</span>.<span.class="line"
21880 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 ></span>.<span.class="line"><spa
218a0 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 63 6f 6d 6d 65 6e 74 22 3e 2f 2f 20 75 6e 64 65 72 73 63 n.class="tok-comment">//.undersc
218c0 6f 72 65 73 20 6d 61 79 20 62 65 20 70 6c 61 63 65 64 20 62 65 74 77 65 65 6e 20 74 77 6f 20 64 ores.may.be.placed.between.two.d
218e0 69 67 69 74 73 20 61 73 20 61 20 76 69 73 75 61 6c 20 73 65 70 61 72 61 74 6f 72 3c 2f 73 70 61 igits.as.a.visual.separator</spa
21900 6e 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 n></span>.<span.class="line"><sp
21920 61 6e 20 63 6c 61 73 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
21940 6e 65 5f 62 69 6c 6c 69 6f 6e 20 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 ne_billion.=.<span.class="tok-nu
21960 6d 62 65 72 22 3e 31 5f 30 30 30 5f 30 30 30 5f 30 30 30 3c 2f 73 70 61 6e 3e 3b 3c 2f 73 70 61 mber">1_000_000_000</span>;</spa
21980 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 n>.<span.class="line"><span.clas
219a0 73 3d 22 74 6f 6b 2d 6b 77 22 3e 63 6f 6e 73 74 3c 2f 73 70 61 6e 3e 20 62 69 6e 61 72 79 5f 6d s="tok-kw">const</span>.binary_m
219c0 61 73 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 ask.=.<span.class="tok-number">0
219e0 62 31 5f 31 31 31 31 5f 31 31 31 31 3c 2f 73 70 61 6e 3e 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 b1_1111_1111</span>;</span>.<spa
21a00 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d n.class="line"><span.class="tok-
21a20 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 20 3d 20 3c kw">const</span>.permissions.=.<
21a40 73 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 35 5f 35 3c span.class="tok-number">0o7_5_5<
21a60 2f 73 70 61 6e 3e 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 /span>;</span>.<span.class="line
21a80 22 3e 3c 73 70 61 6e 20 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
21aa0 61 6e 3e 20 62 69 67 5f 61 64 64 72 65 73 73 20 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 an>.big_address.=.<span.class="t
21ac0 6f 6b 2d 6e 75 6d 62 65 72 22 3e 30 78 46 46 38 30 5f 30 30 30 30 5f 30 30 30 30 5f 30 30 30 30 ok-number">0xFF80_0000_0000_0000
21ae0 3c 2f 73 70 61 6e 3e 3b 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 3c 2f 70 72 65 3e 3c 2f 66 69 </span>;</span></code></pre></fi
21b00 67 75 72 65 3e 0a 20 20 20 20 20 20 0a 20 20 20 20 20 20 3c 68 33 20 69 64 3d 22 52 75 6e 74 69 gure>..............<h3.id="Runti
21b20 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 23 74 6f 63 me-Integer-Values"><a.href="#toc
21b40 2d 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 6e 74 69 6d 65 -Runtime-Integer-Values">Runtime
21b60 20 49 6e 74 65 67 65 72 20 56 61 6c 75 65 73 3c 2f 61 3e 20 3c 61 20 63 6c 61 73 73 3d 22 68 64 .Integer.Values</a>.<a.class="hd
21b80 72 22 20 68 72 65 66 3d 22 23 52 75 6e 74 69 6d 65 2d 49 6e 74 65 67 65 72 2d 56 61 6c 75 65 73 r".href="#Runtime-Integer-Values
21ba0 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 49 ">..</a></h3>........<p>.......I
21bc0 6e 74 65 67 65 72 20 6c 69 74 65 72 61 6c 73 20 68 61 76 65 20 6e 6f 20 73 69 7a 65 20 6c 69 6d nteger.literals.have.no.size.lim
21be0 69 74 61 74 69 6f 6e 2c 20 61 6e 64 20 69 66 20 61 6e 79 20 75 6e 64 65 66 69 6e 65 64 20 62 65 itation,.and.if.any.undefined.be
21c00 68 61 76 69 6f 72 20 6f 63 63 75 72 73 2c 0a 20 20 20 20 20 20 74 68 65 20 63 6f 6d 70 69 6c 65 havior.occurs,.......the.compile
21c20 72 20 63 61 74 63 68 65 73 20 69 74 2e 0a 20 20 20 20 20 20 3c 2f 70 3e 0a 20 20 20 20 20 20 3c r.catches.it........</p>.......<
21c40 70 3e 0a 20 20 20 20 20 20 48 6f 77 65 76 65 72 2c 20 6f 6e 63 65 20 61 6e 20 69 6e 74 65 67 65 p>.......However,.once.an.intege
21c60 72 20 76 61 6c 75 65 20 69 73 20 6e 6f 20 6c 6f 6e 67 65 72 20 6b 6e 6f 77 6e 20 61 74 20 63 6f r.value.is.no.longer.known.at.co
21c80 6d 70 69 6c 65 2d 74 69 6d 65 2c 20 69 74 20 6d 75 73 74 20 68 61 76 65 20 61 0a 20 20 20 20 20 mpile-time,.it.must.have.a......
21ca0 20 6b 6e 6f 77 6e 20 73 69 7a 65 2c 20 61 6e 64 20 69 73 20 76 75 6c 6e 65 72 61 62 6c 65 20 74 .known.size,.and.is.vulnerable.t
21cc0 6f 20 75 6e 64 65 66 69 6e 65 64 20 62 65 68 61 76 69 6f 72 2e 0a 20 20 20 20 20 20 3c 2f 70 3e o.undefined.behavior........</p>
21ce0 0a 20 20 20 20 20 20 3c 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
21d00 3d 22 7a 69 67 2d 63 61 70 22 3e 3c 63 69 74 65 20 63 6c 61 73 73 3d 22 66 69 6c 65 22 3e 72 75 ="zig-cap"><cite.class="file">ru
21d20 6e 74 69 6d 65 5f 76 73 5f 63 6f 6d 70 74 69 6d 65 2e 7a 69 67 3c 2f 63 69 74 65 3e 3c 2f 66 69 ntime_vs_comptime.zig</cite></fi
21d40 67 63 61 70 74 69 6f 6e 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=
21d60 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 66 6e 3c 2f "line"><span.class="tok-kw">fn</
21d80 73 70 61 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 69 76 69 64 span>.<span.class="tok-fn">divid
21da0 65 3c 2f 73 70 61 6e 3e 28 61 3a 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 e</span>(a:.<span.class="tok-typ
21dc0 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
21de0 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
21e00 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 69 33 32 3c 2f 73 70 61 6e 3e 20 7b 3c 2f 73 70 61 6e 3e 0a ="tok-type">i32</span>.{</span>.
21e20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 <span.class="line">....<span.cla
21e40 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 72 65 74 75 72 6e 3c 2f 73 70 61 6e 3e 20 61 20 2f 20 62 3b ss="tok-kw">return</span>.a./.b;
21e60 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 7d 3c 2f 73 70 </span>.<span.class="line">}</sp
21e80 61 6e 3e 3c 2f 63 6f 64 65 3e 3c 2f 70 72 65 3e 3c 2f 66 69 67 75 72 65 3e 0a 20 20 20 20 20 20 an></code></pre></figure>.......
21ea0 3c 70 3e 0a 20 20 20 20 20 20 49 6e 20 74 68 69 73 20 66 75 6e 63 74 69 6f 6e 2c 20 76 61 6c 75 <p>.......In.this.function,.valu
21ec0 65 73 20 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 61 3c 2f 73 es.<code><span.class="line">a</s
21ee0 70 61 6e 3e 3c 2f 63 6f 64 65 3e 20 61 6e 64 20 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 pan></code>.and.<code><span.clas
21f00 73 3d 22 6c 69 6e 65 22 3e 62 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 20 61 72 65 20 6b 6e 6f s="line">b</span></code>.are.kno
21f20 77 6e 20 6f 6e 6c 79 20 61 74 20 72 75 6e 74 69 6d 65 2c 0a 20 20 20 20 20 20 61 6e 64 20 74 68 wn.only.at.runtime,.......and.th
21f40 75 73 20 74 68 69 73 20 64 69 76 69 73 69 6f 6e 20 6f 70 65 72 61 74 69 6f 6e 20 69 73 20 76 75 us.this.division.operation.is.vu
21f60 6c 6e 65 72 61 62 6c 65 20 74 6f 20 62 6f 74 68 20 3c 61 20 68 72 65 66 3d 22 23 49 6e 74 65 67 lnerable.to.both.<a.href="#Integ
21f80 65 72 2d 4f 76 65 72 66 6c 6f 77 22 3e 49 6e 74 65 67 65 72 20 4f 76 65 72 66 6c 6f 77 3c 2f 61 er-Overflow">Integer.Overflow</a
21fa0 3e 20 61 6e 64 0a 20 20 20 20 20 20 3c 61 20 68 72 65 66 3d 22 23 44 69 76 69 73 69 6f 6e 2d 62 >.and.......<a.href="#Division-b
21fc0 79 2d 5a 65 72 6f 22 3e 44 69 76 69 73 69 6f 6e 20 62 79 20 5a 65 72 6f 3c 2f 61 3e 2e 0a 20 20 y-Zero">Division.by.Zero</a>....
21fe0 20 20 20 20 3c 2f 70 3e 0a 20 20 20 20 20 20 3c 70 3e 0a 20 20 20 20 20 20 4f 70 65 72 61 74 6f ....</p>.......<p>.......Operato
22000 72 73 20 73 75 63 68 20 61 73 20 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 rs.such.as.<code><span.class="li
22020 6e 65 22 3e 2b 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 20 61 6e 64 20 3c 63 6f 64 65 3e 3c 73 ne">+</span></code>.and.<code><s
22040 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 2d 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e pan.class="line">-</span></code>
22060 20 63 61 75 73 65 20 75 6e 64 65 66 69 6e 65 64 20 62 65 68 61 76 69 6f 72 20 6f 6e 0a 20 20 20 .cause.undefined.behavior.on....
22080 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 65 ...integer.overflow..Alternative
220a0 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 70 .operators.are.provided.for.wrap
220c0 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 6f ping.and.saturating.arithmetic.o
220e0 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 3c 73 70 61 6e n.all.targets........<code><span
22100 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 2b 25 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 20 61 .class="line">+%</span></code>.a
22120 6e 64 20 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 2d 25 3c 2f nd.<code><span.class="line">-%</
22140 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 20 70 65 72 66 6f 72 6d 20 77 72 61 70 70 69 6e 67 20 61 72 span></code>.perform.wrapping.ar
22160 69 74 68 6d 65 74 69 63 0a 20 20 20 20 20 20 77 68 69 6c 65 20 3c 63 6f 64 65 3e 3c 73 70 61 6e ithmetic.......while.<code><span
22180 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 2b 7c 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 20 61 .class="line">+|</span></code>.a
221a0 6e 64 20 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 2d 7c 3c 2f nd.<code><span.class="line">-|</
221c0 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 20 70 65 72 66 6f 72 6d 20 73 61 74 75 72 61 74 69 6e 67 20 span></code>.perform.saturating.
221e0 61 72 69 74 68 6d 65 74 69 63 2e 0a 20 20 20 20 20 20 3c 2f 70 3e 0a 20 20 20 20 20 20 3c 70 3e arithmetic........</p>.......<p>
22200 0a 20 20 20 20 20 20 5a 69 67 20 73 75 70 70 6f 72 74 73 20 61 72 62 69 74 72 61 72 79 20 62 69 .......Zig.supports.arbitrary.bi
22220 74 2d 77 69 64 74 68 20 69 6e 74 65 67 65 72 73 2c 20 72 65 66 65 72 65 6e 63 65 64 20 62 79 20 t-width.integers,.referenced.by.
22240 75 73 69 6e 67 0a 20 20 20 20 20 20 61 6e 20 69 64 65 6e 74 69 66 69 65 72 20 6f 66 20 3c 63 6f using.......an.identifier.of.<co
22260 64 65 3e 69 3c 2f 63 6f 64 65 3e 20 6f 72 20 3c 63 6f 64 65 3e 75 3c 2f 63 6f 64 65 3e 20 66 6f de>i</code>.or.<code>u</code>.fo
22280 6c 6c 6f 77 65 64 20 62 79 20 64 69 67 69 74 73 2e 20 46 6f 72 20 65 78 61 6d 70 6c 65 2c 20 74 llowed.by.digits..For.example,.t
222a0 68 65 20 69 64 65 6e 74 69 66 69 65 72 0a 20 20 20 20 20 20 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 he.identifier.......<code><span.
222c0 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 class="line"><span.class="tok-ty
222e0 70 65 22 3e 69 37 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 20 72 65 66 65 pe">i7</span></span></code>.refe
22300 72 73 20 74 6f 20 61 20 73 69 67 6e 65 64 20 37 2d 62 69 74 20 69 6e 74 65 67 65 72 2e 20 54 68 rs.to.a.signed.7-bit.integer..Th
22320 65 20 6d 61 78 69 6d 75 6d 20 61 6c 6c 6f 77 65 64 20 62 69 74 2d 77 69 64 74 68 20 6f 66 20 61 e.maximum.allowed.bit-width.of.a
22340 6e 0a 20 20 20 20 20 20 69 6e 74 65 67 65 72 20 74 79 70 65 20 69 73 20 3c 63 6f 64 65 3e 3c 73 n.......integer.type.is.<code><s
22360 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f pan.class="line"><span.class="to
22380 6b 2d 6e 75 6d 62 65 72 22 3e 36 35 35 33 35 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 3c 2f 63 k-number">65535</span></span></c
223a0 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 70 65 73 2c 20 ode>..For.signed.integer.types,.
223c0 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 74 74 70 73 3a Zig.uses.a.......<a.href="https:
223e0 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 27 73 5f 63 6f //en.wikipedia.org/wiki/Two's_co
22400 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 2f 61 3e 20 72 mplement">two's.complement</a>.r
22420 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 20 20 20 20 20 epresentation........</p>.......
22440 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
22460 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 70 70 69 6e 67 ="#Wrapping-Operations">Wrapping
22480 20 4f 70 65 72 61 74 69 6f 6e 73 3c 2f 61 3e 3c 2f 6c 69 3e 0a 3c 2f 75 6c 3e 0a 0a 20 20 20 20 .Operations</a></li>.</ul>......
224a0 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 61 74 73 22 3e ................<h2.id="Floats">
224c0 3c 61 20 68 72 65 66 3d 22 23 74 6f 63 2d 46 6c 6f 61 74 73 22 3e 46 6c 6f 61 74 73 3c 2f 61 3e <a.href="#toc-Floats">Floats</a>
224e0 20 3c 61 20 63 6c 61 73 73 3d 22 68 64 72 22 20 68 72 65 66 3d 22 23 46 6c 6f 61 74 73 22 3e c2 .<a.class="hdr".href="#Floats">.
22500 a7 3c 2f 61 3e 3c 2f 68 32 3e 0a 0a 20 20 20 20 20 20 3c 70 3e 5a 69 67 20 68 61 73 20 74 68 65 .</a></h2>........<p>Zig.has.the
22520 20 66 6f 6c 6c 6f 77 69 6e 67 20 66 6c 6f 61 74 69 6e 67 20 70 6f 69 6e 74 20 74 79 70 65 73 3a .following.floating.point.types:
22540 3c 2f 70 3e 0a 20 20 20 20 20 20 3c 75 6c 3e 0a 20 20 20 20 20 20 20 20 20 20 3c 6c 69 3e 3c 63 </p>.......<ul>...........<li><c
22560 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 ode><span.class="line"><span.cla
22580 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 66 31 36 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 3c ss="tok-type">f16</span></span><
225a0 2f 63 6f 64 65 3e 20 2d 20 49 45 45 45 2d 37 35 34 2d 32 30 30 38 20 62 69 6e 61 72 79 31 36 3c /code>.-.IEEE-754-2008.binary16<
225c0 2f 6c 69 3e 0a 20 20 20 20 20 20 20 20 20 20 3c 6c 69 3e 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 /li>...........<li><code><span.c
225e0 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 lass="line"><span.class="tok-typ
22600 65 22 3e 66 33 32 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 20 2d 20 49 45 e">f32</span></span></code>.-.IE
22620 45 45 2d 37 35 34 2d 32 30 30 38 20 62 69 6e 61 72 79 33 32 3c 2f 6c 69 3e 0a 20 20 20 20 20 20 EE-754-2008.binary32</li>.......
22640 20 20 20 20 3c 6c 69 3e 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 ....<li><code><span.class="line"
22660 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 66 36 34 3c 2f 73 70 61 ><span.class="tok-type">f64</spa
22680 6e 3e 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 20 2d 20 49 45 45 45 2d 37 35 34 2d 32 30 30 38 n></span></code>.-.IEEE-754-2008
226a0 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
226c0 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 de><span.class="line"><span.clas
226e0 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 66 38 30 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 3c 2f s="tok-type">f80</span></span></
22700 63 6f 64 65 3e 20 2d 20 49 45 45 45 2d 37 35 34 2d 32 30 30 38 20 38 30 2d 62 69 74 20 65 78 74 code>.-.IEEE-754-2008.80-bit.ext
22720 65 6e 64 65 64 20 70 72 65 63 69 73 69 6f 6e 3c 2f 6c 69 3e 0a 20 20 20 20 20 20 20 20 20 20 3c ended.precision</li>...........<
22740 6c 69 3e 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 li><code><span.class="line"><spa
22760 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 66 31 32 38 3c 2f 73 70 61 6e 3e 3c 2f n.class="tok-type">f128</span></
22780 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 20 2d 20 49 45 45 45 2d 37 35 34 2d 32 30 30 38 20 62 69 6e span></code>.-.IEEE-754-2008.bin
227a0 61 72 79 31 32 38 3c 2f 6c 69 3e 0a 20 20 20 20 20 20 20 20 20 20 3c 6c 69 3e 3c 63 6f 64 65 3e ary128</li>...........<li><code>
227c0 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 <span.class="line"><span.class="
227e0 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 73 tok-type">c_longdouble</span></s
22800 70 61 6e 3e 3c 2f 63 6f 64 65 3e 20 2d 20 6d 61 74 63 68 65 73 20 3c 63 6f 64 65 20 63 6c 61 73 pan></code>.-.matches.<code.clas
22820 73 3d 22 63 22 3e 6c 6f 6e 67 20 64 6f 75 62 6c 65 3c 2f 63 6f 64 65 3e 20 66 6f 72 20 74 68 65 s="c">long.double</code>.for.the
22840 20 74 61 72 67 65 74 20 43 20 41 42 49 3c 2f 6c 69 3e 0a 20 20 20 20 20 20 3c 2f 75 6c 3e 0a 20 .target.C.ABI</li>.......</ul>..
22860 20 20 20 20 20 3c 68 33 20 69 64 3d 22 46 6c 6f 61 74 2d 4c 69 74 65 72 61 6c 73 22 3e 3c 61 20 .....<h3.id="Float-Literals"><a.
22880 68 72 65 66 3d 22 23 74 6f 63 2d 46 6c 6f 61 74 2d 4c 69 74 65 72 61 6c 73 22 3e 46 6c 6f 61 74 href="#toc-Float-Literals">Float
228a0 20 4c 69 74 65 72 61 6c 73 3c 2f 61 3e 20 3c 61 20 63 6c 61 73 73 3d 22 68 64 72 22 20 68 72 65 .Literals</a>.<a.class="hdr".hre
228c0 66 3d 22 23 46 6c 6f 61 74 2d 4c 69 74 65 72 61 6c 73 22 3e c2 a7 3c 2f 61 3e 3c 2f 68 33 3e 0a f="#Float-Literals">..</a></h3>.
228e0 0a 20 20 20 20 20 20 3c 70 3e 0a 20 20 20 20 20 20 46 6c 6f 61 74 20 6c 69 74 65 72 61 6c 73 20 .......<p>.......Float.literals.
22900 68 61 76 65 20 74 79 70 65 20 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e have.type.<code><span.class="lin
22920 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 63 6f 6d 70 74 69 e"><span.class="tok-type">compti
22940 6d 65 5f 66 6c 6f 61 74 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 20 77 68 me_float</span></span></code>.wh
22960 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 20 ich.is.guaranteed.to.have.......
22980 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 6e the.same.precision.and.operation
229a0 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 20 s.of.the.largest.other.floating.
229c0 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 65 point.type,.which.is.......<code
229e0 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d ><span.class="line"><span.class=
22a00 22 74 6f 6b 2d 74 79 70 65 22 3e 66 31 32 38 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 3c 2f 63 "tok-type">f128</span></span></c
22a20 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>......
22a40 20 46 6c 6f 61 74 20 6c 69 74 65 72 61 6c 73 20 3c 61 20 68 72 65 66 3d 22 23 54 79 70 65 2d 43 .Float.literals.<a.href="#Type-C
22a60 6f 65 72 63 69 6f 6e 22 3e 63 6f 65 72 63 65 3c 2f 61 3e 20 74 6f 20 61 6e 79 20 66 6c 6f 61 74 oercion">coerce</a>.to.any.float
22a80 69 6e 67 20 70 6f 69 6e 74 20 74 79 70 65 2c 0a 20 20 20 20 20 20 61 6e 64 20 74 6f 20 61 6e 79 ing.point.type,.......and.to.any
22aa0 20 3c 61 20 68 72 65 66 3d 22 23 49 6e 74 65 67 65 72 73 22 3e 69 6e 74 65 67 65 72 3c 2f 61 3e .<a.href="#Integers">integer</a>
22ac0 20 74 79 70 65 20 77 68 65 6e 20 74 68 65 72 65 20 69 73 20 6e 6f 20 66 72 61 63 74 69 6f 6e 61 .type.when.there.is.no.fractiona
22ae0 6c 20 63 6f 6d 70 6f 6e 65 6e 74 2e 0a 20 20 20 20 20 20 3c 2f 70 3e 0a 20 20 20 20 20 20 3c 66 l.component........</p>.......<f
22b00 69 67 75 72 65 3e 3c 66 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
22b20 22 3e 3c 63 69 74 65 20 63 6c 61 73 73 3d 22 66 69 6c 65 22 3e 66 6c 6f 61 74 5f 6c 69 74 65 72 "><cite.class="file">float_liter
22b40 61 6c 73 2e 7a 69 67 3c 2f 63 69 74 65 3e 3c 2f 66 69 67 63 61 70 74 69 6f 6e 3e 3c 70 72 65 3e als.zig</cite></figcaption><pre>
22b60 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 <code><span.class="line"><span.c
22b80 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 63 6f 6e 73 74 3c 2f 73 70 61 6e 3e 20 66 6c 6f 61 74 lass="tok-kw">const</span>.float
22ba0 69 6e 67 5f 70 6f 69 6e 74 20 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d ing_point.=.<span.class="tok-num
22bc0 62 65 72 22 3e 31 32 33 2e 30 45 2b 37 37 3c 2f 73 70 61 6e 3e 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 ber">123.0E+77</span>;</span>.<s
22be0 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f pan.class="line"><span.class="to
22c00 6b 2d 6b 77 22 3e 63 6f 6e 73 74 3c 2f 73 70 61 6e 3e 20 61 6e 6f 74 68 65 72 5f 66 6c 6f 61 74 k-kw">const</span>.another_float
22c20 20 3d 20 3c 73 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 .=.<span.class="tok-number">123.
22c40 30 3c 2f 73 70 61 6e 3e 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 0</span>;</span>.<span.class="li
22c60 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 63 6f 6e 73 74 3c 2f ne"><span.class="tok-kw">const</
22c80 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=
22ca0 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 31 32 33 2e 30 65 2b 37 37 3c 2f 73 70 61 6e 3e 3b 3c 2f "tok-number">123.0e+77</span>;</
22cc0 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 2f 73 70 61 6e 3e span>.<span.class="line"></span>
22ce0 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d .<span.class="line"><span.class=
22d00 22 74 6f 6b 2d 6b 77 22 3e 63 6f 6e 73 74 3c 2f 73 70 61 6e 3e 20 68 65 78 5f 66 6c 6f 61 74 69 "tok-kw">const</span>.hex_floati
22d20 6e 67 5f 70 6f 69 6e 74 20 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 ng_point.=.<span.class="tok-numb
22d40 65 72 22 3e 30 78 31 30 33 2e 37 30 70 2d 35 3c 2f 73 70 61 6e 3e 3b 3c 2f 73 70 61 6e 3e 0a 3c er">0x103.70p-5</span>;</span>.<
22d60 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 span.class="line"><span.class="t
22d80 6f 6b 2d 6b 77 22 3e 63 6f 6e 73 74 3c 2f 73 70 61 6e 3e 20 61 6e 6f 74 68 65 72 5f 68 65 78 5f ok-kw">const</span>.another_hex_
22da0 66 6c 6f 61 74 20 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 float.=.<span.class="tok-number"
22dc0 3e 30 78 31 30 33 2e 37 30 3c 2f 73 70 61 6e 3e 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 >0x103.70</span>;</span>.<span.c
22de0 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 lass="line"><span.class="tok-kw"
22e00 3e 63 6f 6e 73 74 3c 2f 73 70 61 6e 3e 20 79 65 74 5f 61 6e 6f 74 68 65 72 5f 68 65 78 5f 66 6c >const</span>.yet_another_hex_fl
22e20 6f 61 74 20 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 30 oat.=.<span.class="tok-number">0
22e40 78 31 30 33 2e 37 30 50 2d 35 3c 2f 73 70 61 6e 3e 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 x103.70P-5</span>;</span>.<span.
22e60 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 class="line"></span>.<span.class
22e80 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 63 6f 6d 6d 65 6e 74 ="line"><span.class="tok-comment
22ea0 22 3e 2f 2f 20 75 6e 64 65 72 73 63 6f 72 65 73 20 6d 61 79 20 62 65 20 70 6c 61 63 65 64 20 62 ">//.underscores.may.be.placed.b
22ec0 65 74 77 65 65 6e 20 74 77 6f 20 64 69 67 69 74 73 20 61 73 20 61 20 76 69 73 75 61 6c 20 73 65 etween.two.digits.as.a.visual.se
22ee0 70 61 72 61 74 6f 72 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 parator</span></span>.<span.clas
22f00 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 63 6f s="line"><span.class="tok-kw">co
22f20 6e 73 74 3c 2f 73 70 61 6e 3e 20 6c 69 67 68 74 73 70 65 65 64 20 3d 20 3c 73 70 61 6e 20 63 6c nst</span>.lightspeed.=.<span.cl
22f40 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 32 39 39 5f 37 39 32 5f 34 35 38 2e 30 30 30 ass="tok-number">299_792_458.000
22f60 5f 30 30 30 3c 2f 73 70 61 6e 3e 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d _000</span>;</span>.<span.class=
22f80 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 63 6f 6e 73 "line"><span.class="tok-kw">cons
22fa0 74 3c 2f 73 70 61 6e 3e 20 6e 61 6e 6f 73 65 63 6f 6e 64 20 3d 20 3c 73 70 61 6e 20 63 6c 61 73 t</span>.nanosecond.=.<span.clas
22fc0 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 30 2e 30 30 30 5f 30 30 30 5f 30 30 31 3c 2f 73 70 s="tok-number">0.000_000_001</sp
22fe0 61 6e 3e 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c an>;</span>.<span.class="line"><
23000 73 70 61 6e 20 63 6c 61 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>
23020 20 6d 6f 72 65 5f 68 65 78 20 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d .more_hex.=.<span.class="tok-num
23040 62 65 72 22 3e 30 78 31 32 33 34 5f 35 36 37 38 2e 39 41 42 43 5f 43 44 45 46 70 2d 31 30 3c 2f ber">0x1234_5678.9ABC_CDEFp-10</
23060 73 70 61 6e 3e 3b 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 3c 2f 70 72 65 3e 3c 2f 66 69 67 75 span>;</span></code></pre></figu
23080 72 65 3e 0a 20 20 20 20 20 20 3c 70 3e 0a 20 20 20 20 20 20 54 68 65 72 65 20 69 73 20 6e 6f 20 re>.......<p>.......There.is.no.
230a0 73 79 6e 74 61 78 20 66 6f 72 20 4e 61 4e 2c 20 69 6e 66 69 6e 69 74 79 2c 20 6f 72 20 6e 65 67 syntax.for.NaN,.infinity,.or.neg
230c0 61 74 69 76 65 20 69 6e 66 69 6e 69 74 79 2e 20 46 6f 72 20 74 68 65 73 65 20 73 70 65 63 69 61 ative.infinity..For.these.specia
230e0 6c 20 76 61 6c 75 65 73 2c 0a 20 20 20 20 20 20 6f 6e 65 20 6d 75 73 74 20 75 73 65 20 74 68 65 l.values,.......one.must.use.the
23100 20 73 74 61 6e 64 61 72 64 20 6c 69 62 72 61 72 79 3a 0a 20 20 20 20 20 20 3c 2f 70 3e 0a 20 20 .standard.library:.......</p>...
23120 20 20 20 20 3c 66 69 67 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
23140 69 67 2d 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 74 ig-cap"><cite.class="file">float
23160 5f 73 70 65 63 69 61 6c 5f 76 61 6c 75 65 73 2e 7a 69 67 3c 2f 63 69 74 65 3e 3c 2f 66 69 67 63 _special_values.zig</cite></figc
23180 61 70 74 69 6f 6e 3e 3c 70 72 65 3e 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c aption><pre><code><span.class="l
231a0 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 63 6f 6e 73 74 3c ine"><span.class="tok-kw">const<
231c0 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
231e0 69 6c 74 69 6e 22 3e 40 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
23200 73 3d 22 74 6f 6b 2d 73 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
23220 6e 3e 29 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c n>);</span>.<span.class="line"><
23240 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 /span>.<span.class="line"><span.
23260 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 63 6f 6e 73 74 3c 2f 73 70 61 6e 3e 20 69 6e 66 20 class="tok-kw">const</span>.inf.
23280 3d 20 73 74 64 2e 6d 61 74 68 2e 69 6e 66 28 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d =.std.math.inf(<span.class="tok-
232a0 74 79 70 65 22 3e 66 33 32 3c 2f 73 70 61 6e 3e 29 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 type">f32</span>);</span>.<span.
232c0 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 class="line"><span.class="tok-kw
232e0 22 3e 63 6f 6e 73 74 3c 2f 73 70 61 6e 3e 20 6e 65 67 61 74 69 76 65 5f 69 6e 66 20 3d 20 2d 73 ">const</span>.negative_inf.=.-s
23300 74 64 2e 6d 61 74 68 2e 69 6e 66 28 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 td.math.inf(<span.class="tok-typ
23320 65 22 3e 66 36 34 3c 2f 73 70 61 6e 3e 29 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 e">f64</span>);</span>.<span.cla
23340 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 63 ss="line"><span.class="tok-kw">c
23360 6f 6e 73 74 3c 2f 73 70 61 6e 3e 20 6e 61 6e 20 3d 20 73 74 64 2e 6d 61 74 68 2e 6e 61 6e 28 3c onst</span>.nan.=.std.math.nan(<
23380 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 66 31 32 38 3c 2f 73 70 61 6e span.class="tok-type">f128</span
233a0 3e 29 3b 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 3c 2f 70 72 65 3e 3c 2f 66 69 67 75 72 65 3e >);</span></code></pre></figure>
233c0 0a 20 20 20 20 20 20 0a 20 20 20 20 20 20 3c 68 33 20 69 64 3d 22 46 6c 6f 61 74 69 6e 67 2d 50 ..............<h3.id="Floating-P
233e0 6f 69 6e 74 2d 4f 70 65 72 61 74 69 6f 6e 73 22 3e 3c 61 20 68 72 65 66 3d 22 23 74 6f 63 2d 46 oint-Operations"><a.href="#toc-F
23400 6c 6f 61 74 69 6e 67 2d 50 6f 69 6e 74 2d 4f 70 65 72 61 74 69 6f 6e 73 22 3e 46 6c 6f 61 74 69 loating-Point-Operations">Floati
23420 6e 67 20 50 6f 69 6e 74 20 4f 70 65 72 61 74 69 6f 6e 73 3c 2f 61 3e 20 3c 61 20 63 6c 61 73 73 ng.Point.Operations</a>.<a.class
23440 3d 22 68 64 72 22 20 68 72 65 66 3d 22 23 46 6c 6f 61 74 69 6e 67 2d 50 6f 69 6e 74 2d 4f 70 65 ="hdr".href="#Floating-Point-Ope
23460 72 61 74 69 6f 6e 73 22 3e c2 a7 3c 2f 61 3e 3c 2f 68 33 3e 0a 0a 20 20 20 20 20 20 3c 70 3e 42 rations">..</a></h3>........<p>B
23480 79 20 64 65 66 61 75 6c 74 20 66 6c 6f 61 74 69 6e 67 20 70 6f 69 6e 74 20 6f 70 65 72 61 74 69 y.default.floating.point.operati
234a0 6f 6e 73 20 75 73 65 20 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 ons.use.<code><span.class="line"
234c0 3e 53 74 72 69 63 74 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 20 6d 6f 64 65 2c 0a 20 20 20 20 >Strict</span></code>.mode,.....
234e0 20 20 20 20 20 20 62 75 74 20 79 6f 75 20 63 61 6e 20 73 77 69 74 63 68 20 74 6f 20 3c 63 6f 64 ......but.you.can.switch.to.<cod
23500 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 4f 70 74 69 6d 69 7a 65 64 3c 2f e><span.class="line">Optimized</
23520 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 20 6d 6f 64 65 20 6f 6e 20 61 20 70 65 72 2d 62 6c 6f 63 6b span></code>.mode.on.a.per-block
23540 20 62 61 73 69 73 3a 3c 2f 70 3e 0a 20 20 20 20 20 20 3c 66 69 67 75 72 65 3e 3c 66 69 67 63 61 .basis:</p>.......<figure><figca
23560 70 74 69 6f 6e 20 63 6c 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
23580 73 3d 22 66 69 6c 65 22 3e 66 6f 6f 2e 7a 69 67 3c 2f 63 69 74 65 3e 3c 2f 66 69 67 63 61 70 74 s="file">foo.zig</cite></figcapt
235a0 69 6f 6e 3e 3c 70 72 65 3e 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 ion><pre><code><span.class="line
235c0 22 3e 3c 73 70 61 6e 20 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
235e0 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
23600 69 6e 22 3e 40 69 6d 70 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="
23620 74 6f 6b 2d 73 74 72 22 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>)
23640 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 ;</span>.<span.class="line"><spa
23660 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 63 6f 6e 73 74 3c 2f 73 70 61 6e 3e 20 62 69 n.class="tok-kw">const</span>.bi
23680 67 20 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 62 75 69 6c 74 69 6e 22 3e 40 61 g.=.<span.class="tok-builtin">@a
236a0 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">
236c0 66 36 34 3c 2f 73 70 61 6e 3e 2c 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d f64</span>,.<span.class="tok-num
236e0 62 65 72 22 3e 31 3c 2f 73 70 61 6e 3e 20 26 6c 74 3b 26 6c 74 3b 20 3c 73 70 61 6e 20 63 6c 61 ber">1</span>.&lt;&lt;.<span.cla
23700 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 34 30 3c 2f 73 70 61 6e 3e 29 3b 3c 2f 73 70 61 ss="tok-number">40</span>);</spa
23720 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 n>.<span.class="line"></span>.<s
23740 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f pan.class="line"><span.class="to
23760 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 3d k-kw">export</span>.<span.class=
23780 22 74 6f 6b 2d 6b 77 22 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="
237a0 74 6f 6b 2d 66 6e 22 3e 66 6f 6f 5f 73 74 72 69 63 74 3c 2f 73 70 61 6e 3e 28 78 3a 20 3c 73 70 tok-fn">foo_strict</span>(x:.<sp
237c0 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 66 36 34 3c 2f 73 70 61 6e 3e 29 20 an.class="tok-type">f64</span>).
237e0 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 66 36 34 3c 2f 73 70 61 6e <span.class="tok-type">f64</span
23800 3e 20 7b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 >.{</span>.<span.class="line">..
23820 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
23840 70 61 6e 3e 20 78 20 2b 20 62 69 67 20 2d 20 62 69 67 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e pan>.x.+.big.-.big;</span>.<span
23860 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 7d 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 .class="line">}</span>.<span.cla
23880 73 73 3d 22 6c 69 6e 65 22 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c ss="line"></span>.<span.class="l
238a0 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 65 78 70 6f 72 74 ine"><span.class="tok-kw">export
238c0 3c 2f 73 70 61 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<
238e0 2f 73 70 61 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 /span>.<span.class="tok-fn">foo_
23900 6f 70 74 69 6d 69 7a 65 64 3c 2f 73 70 61 6e 3e 28 78 3a 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d optimized</span>(x:.<span.class=
23920 22 74 6f 6b 2d 74 79 70 65 22 3e 66 36 34 3c 2f 73 70 61 6e 3e 29 20 3c 73 70 61 6e 20 63 6c 61 "tok-type">f64</span>).<span.cla
23940 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 66 36 34 3c 2f 73 70 61 6e 3e 20 7b 3c 2f 73 70 61 6e ss="tok-type">f64</span>.{</span
23960 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 3c 73 70 61 6e 20 63 >.<span.class="line">....<span.c
23980 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
239a0 3c 2f 73 70 61 6e 3e 28 2e 4f 70 74 69 6d 69 7a 65 64 29 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 </span>(.Optimized);</span>.<spa
239c0 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 n.class="line">....<span.class="
239e0 74 6f 6b 2d 6b 77 22 3e 72 65 74 75 72 6e 3c 2f 73 70 61 6e 3e 20 78 20 2b 20 62 69 67 20 2d 20 tok-kw">return</span>.x.+.big.-.
23a00 62 69 67 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 7d big;</span>.<span.class="line">}
23a20 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 3c 2f 70 72 65 3e 3c 2f 66 69 67 75 72 65 3e 3c 66 69 </span></code></pre></figure><fi
23a40 67 75 72 65 3e 3c 66 69 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
23a60 70 22 3e 53 68 65 6c 6c 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>
23a80 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 24 20 3c 6b 62 64 3e 7a 69 67 20 62 75 <span.class="line">$.<kbd>zig.bu
23aa0 69 6c 64 2d 6f 62 6a 20 66 6f 6f 2e 7a 69 67 20 2d 4f 20 52 65 6c 65 61 73 65 46 61 73 74 3c 2f ild-obj.foo.zig.-O.ReleaseFast</
23ac0 6b 62 64 3e 3c 2f 73 70 61 6e 3e 0a 3c 2f 73 61 6d 70 3e 3c 2f 70 72 65 3e 3c 2f 66 69 67 75 72 kbd></span>.</samp></pre></figur
23ae0 65 3e 0a 20 20 20 20 20 20 3c 70 3e 46 6f 72 20 74 68 69 73 20 74 65 73 74 20 77 65 20 68 61 76 e>.......<p>For.this.test.we.hav
23b00 65 20 74 6f 20 73 65 70 61 72 61 74 65 20 63 6f 64 65 20 69 6e 74 6f 20 74 77 6f 20 6f 62 6a 65 e.to.separate.code.into.two.obje
23b20 63 74 20 66 69 6c 65 73 20 2d 0a 20 20 20 20 20 20 6f 74 68 65 72 77 69 73 65 20 74 68 65 20 6f ct.files.-.......otherwise.the.o
23b40 70 74 69 6d 69 7a 65 72 20 66 69 67 75 72 65 73 20 6f 75 74 20 61 6c 6c 20 74 68 65 20 76 61 6c ptimizer.figures.out.all.the.val
23b60 75 65 73 20 61 74 20 63 6f 6d 70 69 6c 65 2d 74 69 6d 65 2c 0a 20 20 20 20 20 20 77 68 69 63 68 ues.at.compile-time,.......which
23b80 20 6f 70 65 72 61 74 65 73 20 69 6e 20 73 74 72 69 63 74 20 6d 6f 64 65 2e 3c 2f 70 3e 0a 20 20 .operates.in.strict.mode.</p>...
23ba0 20 20 20 20 3c 66 69 67 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
23bc0 69 67 2d 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 74 ig-cap"><cite.class="file">float
23be0 5f 6d 6f 64 65 2e 7a 69 67 3c 2f 63 69 74 65 3e 3c 2f 66 69 67 63 61 70 74 69 6f 6e 3e 3c 70 72 _mode.zig</cite></figcaption><pr
23c00 65 3e 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e e><code><span.class="line"><span
23c20 20 63 6c 61 73 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
23c40 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">@
23c60 69 6d 70 6f 72 74 3c 2f 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
23c80 74 72 22 3e 26 71 75 6f 74 3b 73 74 64 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 29 2e 64 65 62 75 tr">&quot;std&quot;</span>).debu
23ca0 67 2e 70 72 69 6e 74 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e g.print;</span>.<span.class="lin
23cc0 65 22 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 e"></span>.<span.class="line"><s
23ce0 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 65 78 74 65 72 6e 3c 2f 73 70 61 6e 3e pan.class="tok-kw">extern</span>
23d00 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>.
23d20 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 74 3c <span.class="tok-fn">foo_strict<
23d40 2f 73 70 61 6e 3e 28 78 3a 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 /span>(x:.<span.class="tok-type"
23d60 3e 66 36 34 3c 2f 73 70 61 6e 3e 29 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 >f64</span>).<span.class="tok-ty
23d80 70 65 22 3e 66 36 34 3c 2f 73 70 61 6e 3e 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 pe">f64</span>;</span>.<span.cla
23da0 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 65 ss="line"><span.class="tok-kw">e
23dc0 78 74 65 72 6e 3c 2f 73 70 61 6e 3e 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 xtern</span>.<span.class="tok-kw
23de0 22 3e 66 6e 3c 2f 73 70 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"
23e00 3e 66 6f 6f 5f 6f 70 74 69 6d 69 7a 65 64 3c 2f 73 70 61 6e 3e 28 78 3a 20 3c 73 70 61 6e 20 63 >foo_optimized</span>(x:.<span.c
23e20 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 66 36 34 3c 2f 73 70 61 6e 3e 29 20 3c 73 70 61 lass="tok-type">f64</span>).<spa
23e40 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 66 36 34 3c 2f 73 70 61 6e 3e 3b 3c 2f n.class="tok-type">f64</span>;</
23e60 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 2f 73 70 61 6e 3e span>.<span.class="line"></span>
23e80 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d .<span.class="line"><span.class=
23ea0 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=
23ec0 22 74 6f 6b 2d 6b 77 22 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="
23ee0 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
23f00 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 76 6f 69 64 3c 2f 73 70 61 6e 3e 20 7b 3c 2f 73 70 61 6e s="tok-type">void</span>.{</span
23f20 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 3c 73 70 61 6e 20 63 >.<span.class="line">....<span.c
23f40 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 63 6f 6e 73 74 3c 2f 73 70 61 6e 3e 20 78 20 3d 20 3c lass="tok-kw">const</span>.x.=.<
23f60 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 30 2e 30 30 31 3c 2f 73 span.class="tok-number">0.001</s
23f80 70 61 6e 3e 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e pan>;</span>.<span.class="line">
23fa0 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">
23fc0 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
23fe0 61 6e 3e 2c 20 2e 7b 66 6f 6f 5f 6f 70 74 69 6d 69 7a 65 64 28 78 29 7d 29 3b 3c 2f 73 70 61 6e an>,..{foo_optimized(x)});</span
24000 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 70 72 69 6e 74 28 3c >.<span.class="line">....print(<
24020 73 70 61 6e 20 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 69 63 span.class="tok-str">&quot;stric
24040 74 20 3d 20 7b 7d 5c 6e 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 2c 20 2e 7b 66 6f 6f 5f 73 74 72 t.=.{}\n&quot;</span>,..{foo_str
24060 69 63 74 28 78 29 7d 29 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 ict(x)});</span>.<span.class="li
24080 6e 65 22 3e 7d 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 3c 2f 70 72 65 3e 3c 2f 66 69 67 75 72 ne">}</span></code></pre></figur
240a0 65 3e 3c 66 69 67 75 72 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
240c0 6c 6c 2d 63 61 70 22 3e 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><
240e0 73 61 6d 70 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 24 20 3c 6b 62 64 3e 7a samp><span.class="line">$.<kbd>z
24100 69 67 20 62 75 69 6c 64 2d 65 78 65 20 66 6c 6f 61 74 5f 6d 6f 64 65 2e 7a 69 67 20 66 6f 6f 2e ig.build-exe.float_mode.zig.foo.
24120 6f 3c 2f 6b 62 64 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 o</kbd></span>.<span.class="line
24140 22 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 24 20 3c "></span>.<span.class="line">$.<
24160 6b 62 64 3e 2e 2f 66 6c 6f 61 74 5f 6d 6f 64 65 3c 2f 6b 62 64 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 kbd>./float_mode</kbd></span>.<s
24180 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 6f 70 74 69 6d 69 7a 65 64 20 3d 20 31 2e 30 pan.class="line">optimized.=.1.0
241a0 65 2d 30 33 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 73 e-03</span>.<span.class="line">s
241c0 74 72 69 63 74 20 3d 20 39 2e 37 36 35 36 32 35 65 2d 30 34 3c 2f 73 70 61 6e 3e 0a 3c 2f 73 61 trict.=.9.765625e-04</span>.</sa
241e0 6d 70 3e 3c 2f 70 72 65 3e 3c 2f 66 69 67 75 72 65 3e 0a 20 20 20 20 20 20 3c 70 3e 53 65 65 20 mp></pre></figure>.......<p>See.
24200 61 6c 73 6f 3a 3c 2f 70 3e 3c 75 6c 3e 0a 3c 6c 69 3e 3c 61 20 68 72 65 66 3d 22 23 73 65 74 46 also:</p><ul>.<li><a.href="#setF
24220 6c 6f 61 74 4d 6f 64 65 22 3e 40 73 65 74 46 6c 6f 61 74 4d 6f 64 65 3c 2f 61 3e 3c 2f 6c 69 3e loatMode">@setFloatMode</a></li>
24240 0a 3c 6c 69 3e 3c 61 20 68 72 65 66 3d 22 23 44 69 76 69 73 69 6f 6e 2d 62 79 2d 5a 65 72 6f 22 .<li><a.href="#Division-by-Zero"
24260 3e 44 69 76 69 73 69 6f 6e 20 62 79 20 5a 65 72 6f 3c 2f 61 3e 3c 2f 6c 69 3e 0a 3c 2f 75 6c 3e >Division.by.Zero</a></li>.</ul>
24280 0a 0a 20 20 20 20 20 20 0a 20 20 20 20 20 20 0a 20 20 20 20 20 20 3c 68 32 20 69 64 3d 22 4f 70 ......................<h2.id="Op
242a0 65 72 61 74 6f 72 73 22 3e 3c 61 20 68 72 65 66 3d 22 23 74 6f 63 2d 4f 70 65 72 61 74 6f 72 73 erators"><a.href="#toc-Operators
242c0 22 3e 4f 70 65 72 61 74 6f 72 73 3c 2f 61 3e 20 3c 61 20 63 6c 61 73 73 3d 22 68 64 72 22 20 68 ">Operators</a>.<a.class="hdr".h
242e0 72 65 66 3d 22 23 4f 70 65 72 61 74 6f 72 73 22 3e c2 a7 3c 2f 61 3e 3c 2f 68 32 3e 0a 0a 20 20 ref="#Operators">..</a></h2>....
24300 20 20 20 20 3c 70 3e 0a 20 20 20 20 20 20 54 68 65 72 65 20 69 73 20 6e 6f 20 6f 70 65 72 61 74 ....<p>.......There.is.no.operat
24320 6f 72 20 6f 76 65 72 6c 6f 61 64 69 6e 67 2e 20 57 68 65 6e 20 79 6f 75 20 73 65 65 20 61 6e 20 or.overloading..When.you.see.an.
24340 6f 70 65 72 61 74 6f 72 20 69 6e 20 5a 69 67 2c 20 79 6f 75 20 6b 6e 6f 77 20 74 68 61 74 0a 20 operator.in.Zig,.you.know.that..
24360 20 20 20 20 20 69 74 20 69 73 20 64 6f 69 6e 67 20 73 6f 6d 65 74 68 69 6e 67 20 66 72 6f 6d 20 .....it.is.doing.something.from.
24380 74 68 69 73 20 74 61 62 6c 65 2c 20 61 6e 64 20 6e 6f 74 68 69 6e 67 20 65 6c 73 65 2e 0a 20 20 this.table,.and.nothing.else....
243a0 20 20 20 20 3c 2f 70 3e 0a 20 20 20 20 20 20 3c 68 33 20 69 64 3d 22 54 61 62 6c 65 2d 6f 66 2d ....</p>.......<h3.id="Table-of-
243c0 4f 70 65 72 61 74 6f 72 73 22 3e 3c 61 20 68 72 65 66 3d 22 23 74 6f 63 2d 54 61 62 6c 65 2d 6f Operators"><a.href="#toc-Table-o
243e0 66 2d 4f 70 65 72 61 74 6f 72 73 22 3e 54 61 62 6c 65 20 6f 66 20 4f 70 65 72 61 74 6f 72 73 3c f-Operators">Table.of.Operators<
24400 2f 61 3e 20 3c 61 20 63 6c 61 73 73 3d 22 68 64 72 22 20 68 72 65 66 3d 22 23 54 61 62 6c 65 2d /a>.<a.class="hdr".href="#Table-
24420 6f 66 2d 4f 70 65 72 61 74 6f 72 73 22 3e c2 a7 3c 2f 61 3e 3c 2f 68 33 3e 0a 0a 20 20 20 20 20 of-Operators">..</a></h3>.......
24440 20 3c 64 69 76 20 63 6c 61 73 73 3d 22 74 61 62 6c 65 2d 77 72 61 70 70 65 72 22 3e 0a 20 20 20 .<div.class="table-wrapper">....
24460 20 20 20 3c 74 61 62 6c 65 3e 0a 20 20 20 20 20 20 20 20 3c 63 61 70 74 69 6f 6e 3e 54 61 62 6c ...<table>.........<caption>Tabl
24480 65 20 6f 66 20 4f 70 65 72 61 74 6f 72 73 3c 2f 63 61 70 74 69 6f 6e 3e 0a 20 20 20 20 20 20 20 e.of.Operators</caption>........
244a0 20 3c 74 68 65 61 64 3e 0a 20 20 20 20 20 20 20 20 3c 74 72 3e 0a 20 20 20 20 20 20 20 20 20 20 .<thead>.........<tr>...........
244c0 3c 74 68 20 73 63 6f 70 65 3d 22 63 6f 6c 22 3e 53 79 6e 74 61 78 3c 2f 74 68 3e 0a 20 20 20 20 <th.scope="col">Syntax</th>.....
244e0 20 20 20 20 20 20 3c 74 68 20 73 63 6f 70 65 3d 22 63 6f 6c 22 3e 52 65 6c 65 76 61 6e 74 20 54 ......<th.scope="col">Relevant.T
24500 79 70 65 73 3c 2f 74 68 3e 0a 20 20 20 20 20 20 20 20 20 20 3c 74 68 20 73 63 6f 70 65 3d 22 63 ypes</th>...........<th.scope="c
24520 6f 6c 22 3e 44 65 73 63 72 69 70 74 69 6f 6e 3c 2f 74 68 3e 0a 20 20 20 20 20 20 20 20 20 20 3c ol">Description</th>...........<
24540 74 68 20 73 63 6f 70 65 3d 22 63 6f 6c 22 3e 45 78 61 6d 70 6c 65 3c 2f 74 68 3e 0a 20 20 20 20 th.scope="col">Example</th>.....
24560 20 20 20 20 3c 2f 74 72 3e 0a 20 20 20 20 20 20 20 20 3c 2f 74 68 65 61 64 3e 0a 20 20 20 20 20 ....</tr>.........</thead>......
24580 20 20 20 3c 74 62 6f 64 79 3e 0a 20 20 20 20 20 20 20 20 3c 74 72 3e 0a 20 20 20 20 20 20 20 20 ...<tbody>.........<tr>.........
245a0 20 20 3c 74 68 20 73 63 6f 70 65 3d 22 72 6f 77 22 3e 3c 70 72 65 3e 3c 63 6f 64 65 3e 3c 73 70 ..<th.scope="row"><pre><code><sp
245c0 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 61 20 2b 20 62 3c 2f 73 70 61 6e 3e 0a 3c 73 70 an.class="line">a.+.b</span>.<sp
245e0 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 61 20 2b 3d 20 62 3c 2f 73 70 61 6e 3e 3c 2f 63 an.class="line">a.+=.b</span></c
24600 6f 64 65 3e 3c 2f 70 72 65 3e 3c 2f 74 68 3e 0a 20 20 20 20 20 20 20 20 20 20 3c 74 64 3e 0a 20 ode></pre></th>...........<td>..
24620 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
24640 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</
24660 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
24680 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>.....
246a0 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>...
246c0 20 20 20 20 20 20 20 20 3c 74 64 3e 41 64 64 69 74 69 6f 6e 2e 0a 20 20 20 20 20 20 20 20 20 20 ........<td>Addition............
246e0 20 20 3c 75 6c 3e 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 3c 6c 69 3e 43 61 6e 20 63 61 75 ..<ul>...............<li>Can.cau
24700 73 65 20 3c 61 20 68 72 65 66 3d 22 23 44 65 66 61 75 6c 74 2d 4f 70 65 72 61 74 69 6f 6e 73 22 se.<a.href="#Default-Operations"
24720 3e 6f 76 65 72 66 6c 6f 77 3c 2f 61 3e 20 66 6f 72 20 69 6e 74 65 67 65 72 73 2e 3c 2f 6c 69 3e >overflow</a>.for.integers.</li>
24740 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 3c 6c 69 3e 49 6e 76 6f 6b 65 73 20 3c 61 20 68 72 ...............<li>Invokes.<a.hr
24760 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.
24780 54 79 70 65 20 52 65 73 6f 6c 75 74 69 6f 6e 3c 2f 61 3e 20 66 6f 72 20 74 68 65 20 6f 70 65 72 Type.Resolution</a>.for.the.oper
247a0 61 6e 64 73 2e 3c 2f 6c 69 3e 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 3c 6c 69 3e 53 65 65 ands.</li>...............<li>See
247c0 20 61 6c 73 6f 20 3c 61 20 68 72 65 66 3d 22 23 61 64 64 57 69 74 68 4f 76 65 72 66 6c 6f 77 22 .also.<a.href="#addWithOverflow"
247e0 3e 40 61 64 64 57 69 74 68 4f 76 65 72 66 6c 6f 77 3c 2f 61 3e 2e 3c 2f 6c 69 3e 0a 20 20 20 20 >@addWithOverflow</a>.</li>.....
24800 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>...
24820 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
24840 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 ode><span.class="line"><span.cla
24860 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 32 3c 2f 73 70 61 6e 3e 20 2b 20 3c 73 70 61 6e ss="tok-number">2</span>.+.<span
24880 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 35 3c 2f 73 70 61 6e 3e 20 3d 3d 20 .class="tok-number">5</span>.==.
248a0 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 37 3c 2f 73 70 61 6e <span.class="tok-number">7</span
248c0 3e 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 3c 2f 70 72 65 3e 0a 20 20 20 20 20 20 20 20 20 20 ></span></code></pre>...........
248e0 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>
24900 0a 20 20 20 20 20 20 20 20 20 20 3c 74 68 20 73 63 6f 70 65 3d 22 72 6f 77 22 3e 3c 70 72 65 3e ...........<th.scope="row"><pre>
24920 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 61 20 2b 25 20 62 3c <code><span.class="line">a.+%.b<
24940 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 61 20 2b 25 3d 20 /span>.<span.class="line">a.+%=.
24960 62 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 3c 2f 70 72 65 3e 3c 2f 74 68 3e 0a 20 20 20 20 20 b</span></code></pre></th>......
24980 20 20 20 20 20 3c 74 64 3e 0a 20 20 20 20 20 20 20 20 20 20 20 20 3c 75 6c 3e 0a 20 20 20 20 20 .....<td>.............<ul>......
249a0 20 20 20 20 20 20 20 20 20 3c 6c 69 3e 3c 61 20 68 72 65 66 3d 22 23 49 6e 74 65 67 65 72 73 22 .........<li><a.href="#Integers"
249c0 3e 49 6e 74 65 67 65 72 73 3c 2f 61 3e 3c 2f 6c 69 3e 0a 20 20 20 20 20 20 20 20 20 20 20 20 3c >Integers</a></li>.............<
249e0 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>...........<
24a00 74 64 3e 57 72 61 70 70 69 6e 67 20 41 64 64 69 74 69 6f 6e 2e 0a 20 20 20 20 20 20 20 20 20 20 td>Wrapping.Addition............
24a20 20 20 3c 75 6c 3e 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 3c 6c 69 3e 47 75 61 72 61 6e 74 ..<ul>...............<li>Guarant
24a40 65 65 64 20 74 6f 20 68 61 76 65 20 74 77 6f 73 2d 63 6f 6d 70 6c 65 6d 65 6e 74 20 77 72 61 70 eed.to.have.twos-complement.wrap
24a60 70 69 6e 67 20 62 65 68 61 76 69 6f 72 2e 3c 2f 6c 69 3e 0a 20 20 20 20 20 20 20 20 20 20 20 20 ping.behavior.</li>.............
24a80 20 20 3c 6c 69 3e 49 6e 76 6f 6b 65 73 20 3c 61 20 68 72 65 66 3d 22 23 50 65 65 72 2d 54 79 70 ..<li>Invokes.<a.href="#Peer-Typ
24aa0 65 2d 52 65 73 6f 6c 75 74 69 6f 6e 22 3e 50 65 65 72 20 54 79 70 65 20 52 65 73 6f 6c 75 74 69 e-Resolution">Peer.Type.Resoluti
24ac0 6f 6e 3c 2f 61 3e 20 66 6f 72 20 74 68 65 20 6f 70 65 72 61 6e 64 73 2e 3c 2f 6c 69 3e 0a 20 20 on</a>.for.the.operands.</li>...
24ae0 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
24b00 3d 22 23 61 64 64 57 69 74 68 4f 76 65 72 66 6c 6f 77 22 3e 40 61 64 64 57 69 74 68 4f 76 65 72 ="#addWithOverflow">@addWithOver
24b20 66 6c 6f 77 3c 2f 61 3e 2e 3c 2f 6c 69 3e 0a 20 20 20 20 20 20 20 20 20 20 20 20 3c 2f 75 6c 3e flow</a>.</li>.............</ul>
24b40 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>.
24b60 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
24b80 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 62 75 69 6c 74 ss="line"><span.class="tok-built
24ba0 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-
24bc0 74 79 70 65 22 3e 75 33 32 3c 2f 73 70 61 6e 3e 2c 20 73 74 64 2e 6d 61 74 68 2e 6d 61 78 49 6e type">u32</span>,.std.math.maxIn
24be0 74 28 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 75 33 32 3c 2f 73 70 t(<span.class="tok-type">u32</sp
24c00 61 6e 3e 29 29 20 2b 25 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 an>)).+%.<span.class="tok-number
24c20 22 3e 31 3c 2f 73 70 61 6e 3e 20 3d 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e ">1</span>.==.<span.class="tok-n
24c40 75 6d 62 65 72 22 3e 30 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 3c 2f 70 umber">0</span></span></code></p
24c60 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
24c80 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
24ca0 70 65 3d 22 72 6f 77 22 3e 3c 70 72 65 3e 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d pe="row"><pre><code><span.class=
24cc0 22 6c 69 6e 65 22 3e 61 20 2b 7c 20 62 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 "line">a.+|.b</span>.<span.class
24ce0 3d 22 6c 69 6e 65 22 3e 61 20 2b 7c 3d 20 62 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 3c 2f 70 ="line">a.+|=.b</span></code></p
24d00 72 65 3e 3c 2f 74 68 3e 0a 20 20 20 20 20 20 20 20 20 20 3c 74 64 3e 0a 20 20 20 20 20 20 20 20 re></th>...........<td>.........
24d20 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
24d40 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>
24d60 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
24d80 64 3e 0a 20 20 20 20 20 20 20 20 20 20 3c 74 64 3e 53 61 74 75 72 61 74 69 6e 67 20 41 64 64 69 d>...........<td>Saturating.Addi
24da0 74 69 6f 6e 2e 0a 20 20 20 20 20 20 20 20 20 20 20 20 3c 75 6c 3e 0a 20 20 20 20 20 20 20 20 20 tion..............<ul>..........
24dc0 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-
24de0 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
24e00 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>
24e20 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
24e40 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
24e60 72 65 3e 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 re><code><span.class="line"><spa
24e80 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>
24ea0 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
24ec0 6e 3e 2c 20 73 74 64 2e 6d 61 74 68 2e 6d 61 78 49 6e 74 28 3c 73 70 61 6e 20 63 6c 61 73 73 3d n>,.std.math.maxInt(<span.class=
24ee0 22 74 6f 6b 2d 74 79 70 65 22 3e 75 33 32 3c 2f 73 70 61 6e 3e 29 29 20 2b 7c 20 3c 73 70 61 6e "tok-type">u32</span>)).+|.<span
24f00 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 31 3c 2f 73 70 61 6e 3e 20 3d 3d 20 .class="tok-number">1</span>.==.
24f20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 62 75 69 6c 74 69 6e 22 3e 40 61 73 3c 2f 73 <span.class="tok-builtin">@as</s
24f40 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<
24f60 2f 73 70 61 6e 3e 2c 20 73 74 64 2e 6d 61 74 68 2e 6d 61 78 49 6e 74 28 3c 73 70 61 6e 20 63 6c /span>,.std.math.maxInt(<span.cl
24f80 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 75 33 32 3c 2f 73 70 61 6e 3e 29 29 3c 2f 73 70 61 ass="tok-type">u32</span>))</spa
24fa0 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>.
24fc0 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>......
24fe0 20 20 20 20 20 3c 74 68 20 73 63 6f 70 65 3d 22 72 6f 77 22 3e 3c 70 72 65 3e 3c 63 6f 64 65 3e .....<th.scope="row"><pre><code>
25000 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 61 20 2d 20 62 3c 2f 73 70 61 6e 3e 0a <span.class="line">a.-.b</span>.
25020 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 61 20 2d 3d 20 62 3c 2f 73 70 61 6e 3e <span.class="line">a.-=.b</span>
25040 3c 2f 63 6f 64 65 3e 3c 2f 70 72 65 3e 3c 2f 74 68 3e 0a 20 20 20 20 20 20 20 20 20 20 3c 74 64 </code></pre></th>...........<td
25060 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>..............
25080 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
250a0 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.
250c0 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>..
250e0 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>
25100 0a 20 20 20 20 20 20 20 20 20 20 3c 74 64 3e 53 75 62 74 72 61 63 74 69 6f 6e 2e 0a 20 20 20 20 ...........<td>Subtraction......
25120 20 20 20 20 20 20 20 20 3c 75 6c 3e 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 3c 6c 69 3e 43 ........<ul>...............<li>C
25140 61 6e 20 63 61 75 73 65 20 3c 61 20 68 72 65 66 3d 22 23 44 65 66 61 75 6c 74 2d 4f 70 65 72 61 an.cause.<a.href="#Default-Opera
25160 74 69 6f 6e 73 22 3e 6f 76 65 72 66 6c 6f 77 3c 2f 61 3e 20 66 6f 72 20 69 6e 74 65 67 65 72 73 tions">overflow</a>.for.integers
25180 2e 3c 2f 6c 69 3e 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 3c 6c 69 3e 49 6e 76 6f 6b 65 73 .</li>...............<li>Invokes
251a0 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"
251c0 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
251e0 65 20 6f 70 65 72 61 6e 64 73 2e 3c 2f 6c 69 3e 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 3c e.operands.</li>...............<
25200 6c 69 3e 53 65 65 20 61 6c 73 6f 20 3c 61 20 68 72 65 66 3d 22 23 73 75 62 57 69 74 68 4f 76 65 li>See.also.<a.href="#subWithOve
25220 72 66 6c 6f 77 22 3e 40 73 75 62 57 69 74 68 4f 76 65 72 66 6c 6f 77 3c 2f 61 3e 2e 3c 2f 6c 69 rflow">@subWithOverflow</a>.</li
25240 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>...........</
25260 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>.............<
25280 70 72 65 3e 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 pre><code><span.class="line"><sp
252a0 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 32 3c 2f 73 70 61 6e 3e 20 2d an.class="tok-number">2</span>.-
252c0 20 3c 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
252e0 6e 3e 20 3d 3d 20 2d 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e n>.==.-<span.class="tok-number">
25300 33 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 3c 2f 70 72 65 3e 0a 20 20 20 3</span></span></code></pre>....
25320 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>......
25340 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
25360 22 3e 3c 70 72 65 3e 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e "><pre><code><span.class="line">
25380 61 20 2d 25 20 62 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 a.-%.b</span>.<span.class="line"
253a0 3e 61 20 2d 25 3d 20 62 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 3c 2f 70 72 65 3e 3c 2f 74 68 >a.-%=.b</span></code></pre></th
253c0 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
253e0 3e 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 3c 6c 69 3e 3c 61 20 68 72 65 66 3d 22 23 49 6e >...............<li><a.href="#In
25400 74 65 67 65 72 73 22 3e 49 6e 74 65 67 65 72 73 3c 2f 61 3e 3c 2f 6c 69 3e 0a 20 20 20 20 20 20 tegers">Integers</a></li>.......
25420 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>.....
25440 20 20 20 20 20 20 3c 74 64 3e 57 72 61 70 70 69 6e 67 20 53 75 62 74 72 61 63 74 69 6f 6e 2e 0a ......<td>Wrapping.Subtraction..
25460 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>...............<
25480 6c 69 3e 47 75 61 72 61 6e 74 65 65 64 20 74 6f 20 68 61 76 65 20 74 77 6f 73 2d 63 6f 6d 70 6c li>Guaranteed.to.have.twos-compl
254a0 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>...
254c0 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=
254e0 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
25500 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
25520 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
25540 73 6f 20 3c 61 20 68 72 65 66 3d 22 23 73 75 62 57 69 74 68 4f 76 65 72 66 6c 6f 77 22 3e 40 73 so.<a.href="#subWithOverflow">@s
25560 75 62 57 69 74 68 4f 76 65 72 66 6c 6f 77 3c 2f 61 3e 2e 3c 2f 6c 69 3e 0a 20 20 20 20 20 20 20 ubWithOverflow</a>.</li>........
25580 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>......
255a0 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
255c0 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d ><span.class="line"><span.class=
255e0 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
25600 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 75 33 32 3c 2f 73 70 61 6e 3e 2c 20 3c 73 70 61 lass="tok-type">u32</span>,.<spa
25620 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 30 3c 2f 73 70 61 6e 3e 29 20 2d n.class="tok-number">0</span>).-
25640 25 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 31 3c 2f 73 70 %.<span.class="tok-number">1</sp
25660 61 6e 3e 20 3d 3d 20 73 74 64 2e 6d 61 74 68 2e 6d 61 78 49 6e 74 28 3c 73 70 61 6e 20 63 6c 61 an>.==.std.math.maxInt(<span.cla
25680 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 75 33 32 3c 2f 73 70 61 6e 3e 29 3c 2f 73 70 61 6e 3e ss="tok-type">u32</span>)</span>
256a0 3c 2f 63 6f 64 65 3e 3c 2f 70 72 65 3e 0a 20 20 20 20 20 20 20 20 20 20 3c 2f 74 64 3e 0a 20 20 </code></pre>...........</td>...
256c0 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>........
256e0 20 20 20 3c 74 68 20 73 63 6f 70 65 3d 22 72 6f 77 22 3e 3c 70 72 65 3e 3c 63 6f 64 65 3e 3c 73 ...<th.scope="row"><pre><code><s
25700 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 61 20 2d 7c 20 62 3c 2f 73 70 61 6e 3e 0a 3c pan.class="line">a.-|.b</span>.<
25720 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 61 20 2d 7c 3d 20 62 3c 2f 73 70 61 6e 3e span.class="line">a.-|=.b</span>
25740 3c 2f 63 6f 64 65 3e 3c 2f 70 72 65 3e 3c 2f 74 68 3e 0a 20 20 20 20 20 20 20 20 20 20 3c 74 64 </code></pre></th>...........<td
25760 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>..............
25780 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
257a0 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>....
257c0 20 20 20 20 20 20 20 3c 2f 74 64 3e 0a 20 20 20 20 20 20 20 20 20 20 3c 74 64 3e 53 61 74 75 72 .......</td>...........<td>Satur
257e0 61 74 69 6e 67 20 53 75 62 74 72 61 63 74 69 6f 6e 2e 0a 20 20 20 20 20 20 20 20 20 20 20 20 3c ating.Subtraction..............<
25800 75 6c 3e 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 3c 6c 69 3e 49 6e 76 6f 6b 65 73 20 3c 61 ul>...............<li>Invokes.<a
25820 20 68 72 65 66 3d 22 23 50 65 65 72 2d 54 79 70 65 2d 52 65 73 6f 6c 75 74 69 6f 6e 22 3e 50 65 .href="#Peer-Type-Resolution">Pe
25840 65 72 20 54 79 70 65 20 52 65 73 6f 6c 75 74 69 6f 6e 3c 2f 61 3e 20 66 6f 72 20 74 68 65 20 6f er.Type.Resolution</a>.for.the.o
25860 70 65 72 61 6e 64 73 2e 3c 2f 6c 69 3e 0a 20 20 20 20 20 20 20 20 20 20 20 20 3c 2f 75 6c 3e 0a perands.</li>.............</ul>.
25880 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>..
258a0 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
258c0 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 62 75 69 6c 74 69 s="line"><span.class="tok-builti
258e0 6e 22 3e 40 61 73 3c 2f 73 70 61 6e 3e 28 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 n">@as</span>(<span.class="tok-t
25900 79 70 65 22 3e 75 33 32 3c 2f 73 70 61 6e 3e 2c 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f ype">u32</span>,.<span.class="to
25920 6b 2d 6e 75 6d 62 65 72 22 3e 30 3c 2f 73 70 61 6e 3e 29 20 2d 7c 20 3c 73 70 61 6e 20 63 6c 61 k-number">0</span>).-|.<span.cla
25940 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 31 3c 2f 73 70 61 6e 3e 20 3d 3d 20 3c 73 70 61 ss="tok-number">1</span>.==.<spa
25960 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 30 3c 2f 73 70 61 6e 3e 3c 2f 73 n.class="tok-number">0</span></s
25980 70 61 6e 3e 3c 2f 63 6f 64 65 3e 3c 2f 70 72 65 3e 0a 20 20 20 20 20 20 20 20 20 20 3c 2f 74 64 pan></code></pre>...........</td
259a0 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>....
259c0 20 20 20 20 20 20 20 3c 74 68 20 73 63 6f 70 65 3d 22 72 6f 77 22 3e 3c 70 72 65 3e 3c 63 6f 64 .......<th.scope="row"><pre><cod
259e0 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 2d 61 3c 2f 73 70 61 6e 3e 3c 2f e><span.class="line">-a</span></
25a00 63 6f 64 65 3e 3c 2f 70 72 65 3e 3c 2f 74 68 3e 0a 20 20 20 20 20 20 20 20 20 20 3c 74 64 3e 0a code></pre></th>...........<td>.
25a20 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>...............<
25a40 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<
25a60 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
25a80 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>....
25aa0 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>..
25ac0 20 20 20 20 20 20 20 20 20 3c 74 64 3e 0a 20 20 20 20 20 20 20 20 20 20 20 20 4e 65 67 61 74 69 .........<td>.............Negati
25ae0 6f 6e 2e 0a 20 20 20 20 20 20 20 20 20 20 20 20 3c 75 6c 3e 0a 20 20 20 20 20 20 20 20 20 20 20 on..............<ul>............
25b00 20 20 20 3c 6c 69 3e 43 61 6e 20 63 61 75 73 65 20 3c 61 20 68 72 65 66 3d 22 23 44 65 66 61 75 ...<li>Can.cause.<a.href="#Defau
25b20 6c 74 2d 4f 70 65 72 61 74 69 6f 6e 73 22 3e 6f 76 65 72 66 6c 6f 77 3c 2f 61 3e 20 66 6f 72 20 lt-Operations">overflow</a>.for.
25b40 69 6e 74 65 67 65 72 73 2e 3c 2f 6c 69 3e 0a 20 20 20 20 20 20 20 20 20 20 20 20 3c 2f 75 6c 3e integers.</li>.............</ul>
25b60 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>.
25b80 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
25ba0 73 73 3d 22 6c 69 6e 65 22 3e 2d 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 ss="line">-<span.class="tok-numb
25bc0 65 72 22 3e 31 3c 2f 73 70 61 6e 3e 20 3d 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b er">1</span>.==.<span.class="tok
25be0 2d 6e 75 6d 62 65 72 22 3e 30 3c 2f 73 70 61 6e 3e 20 2d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d -number">0</span>.-.<span.class=
25c00 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 31 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 3c 2f 63 6f "tok-number">1</span></span></co
25c20 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>.......
25c40 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>...........<
25c60 74 68 20 73 63 6f 70 65 3d 22 72 6f 77 22 3e 3c 70 72 65 3e 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 th.scope="row"><pre><code><span.
25c80 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 2d 25 61 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 3c 2f class="line">-%a</span></code></
25ca0 70 72 65 3e 3c 2f 74 68 3e 0a 20 20 20 20 20 20 20 20 20 20 3c 74 64 3e 0a 20 20 20 20 20 20 20 pre></th>...........<td>........
25cc0 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
25ce0 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
25d00 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>...........</
25d20 74 64 3e 0a 20 20 20 20 20 20 20 20 20 20 3c 74 64 3e 0a 20 20 20 20 20 20 20 20 20 20 20 20 57 td>...........<td>.............W
25d40 72 61 70 70 69 6e 67 20 4e 65 67 61 74 69 6f 6e 2e 0a 20 20 20 20 20 20 20 20 20 20 20 20 3c 75 rapping.Negation..............<u
25d60 6c 3e 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 3c 6c 69 3e 47 75 61 72 61 6e 74 65 65 64 20 l>...............<li>Guaranteed.
25d80 74 6f 20 68 61 76 65 20 74 77 6f 73 2d 63 6f 6d 70 6c 65 6d 65 6e 74 20 77 72 61 70 70 69 6e 67 to.have.twos-complement.wrapping
25da0 20 62 65 68 61 76 69 6f 72 2e 3c 2f 6c 69 3e 0a 20 20 20 20 20 20 20 20 20 20 20 20 3c 2f 75 6c .behavior.</li>.............</ul
25dc0 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>
25de0 0a 20 20 20 20 20 20 20 20 20 20 20 20 3c 70 72 65 3e 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c .............<pre><code><span.cl
25e00 61 73 73 3d 22 6c 69 6e 65 22 3e 2d 25 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 62 75 ass="line">-%<span.class="tok-bu
25e20 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
25e40 6f 6b 2d 74 79 70 65 22 3e 69 33 32 3c 2f 73 70 61 6e 3e 2c 20 73 74 64 2e 6d 61 74 68 2e 6d 69 ok-type">i32</span>,.std.math.mi
25e60 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<
25e80 2f 73 70 61 6e 3e 29 29 20 3d 3d 20 73 74 64 2e 6d 61 74 68 2e 6d 69 6e 49 6e 74 28 3c 73 70 61 /span>)).==.std.math.minInt(<spa
25ea0 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 69 33 32 3c 2f 73 70 61 6e 3e 29 3c 2f n.class="tok-type">i32</span>)</
25ec0 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
25ee0 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>...
25f00 20 20 20 20 20 20 20 20 3c 74 68 20 73 63 6f 70 65 3d 22 72 6f 77 22 3e 3c 70 72 65 3e 3c 63 6f ........<th.scope="row"><pre><co
25f20 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 61 20 2a 20 62 3c 2f 73 70 61 de><span.class="line">a.*.b</spa
25f40 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 61 20 2a 3d 20 62 3c 2f 73 70 n>.<span.class="line">a.*=.b</sp
25f60 61 6e 3e 3c 2f 63 6f 64 65 3e 3c 2f 70 72 65 3e 3c 2f 74 68 3e 0a 20 20 20 20 20 20 20 20 20 20 an></code></pre></th>...........
25f80 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>...........
25fa0 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
25fc0 67 65 72 73 3c 2f 61 3e 3c 2f 6c 69 3e 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 3c 6c 69 3e gers</a></li>...............<li>
25fe0 3c 61 20 68 72 65 66 3d 22 23 46 6c 6f 61 74 73 22 3e 46 6c 6f 61 74 73 3c 2f 61 3e 3c 2f 6c 69 <a.href="#Floats">Floats</a></li
26000 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>...........</
26020 74 64 3e 0a 20 20 20 20 20 20 20 20 20 20 3c 74 64 3e 4d 75 6c 74 69 70 6c 69 63 61 74 69 6f 6e td>...........<td>Multiplication
26040 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>..............
26060 20 3c 6c 69 3e 43 61 6e 20 63 61 75 73 65 20 3c 61 20 68 72 65 66 3d 22 23 44 65 66 61 75 6c 74 .<li>Can.cause.<a.href="#Default
26080 2d 4f 70 65 72 61 74 69 6f 6e 73 22 3e 6f 76 65 72 66 6c 6f 77 3c 2f 61 3e 20 66 6f 72 20 69 6e -Operations">overflow</a>.for.in
260a0 74 65 67 65 72 73 2e 3c 2f 6c 69 3e 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 3c 6c 69 3e 49 tegers.</li>...............<li>I
260c0 6e 76 6f 6b 65 73 20 3c 61 20 68 72 65 66 3d 22 23 50 65 65 72 2d 54 79 70 65 2d 52 65 73 6f 6c nvokes.<a.href="#Peer-Type-Resol
260e0 75 74 69 6f 6e 22 3e 50 65 65 72 20 54 79 70 65 20 52 65 73 6f 6c 75 74 69 6f 6e 3c 2f 61 3e 20 ution">Peer.Type.Resolution</a>.
26100 66 6f 72 20 74 68 65 20 6f 70 65 72 61 6e 64 73 2e 3c 2f 6c 69 3e 0a 20 20 20 20 20 20 20 20 20 for.the.operands.</li>..........
26120 20 20 20 20 20 3c 6c 69 3e 53 65 65 20 61 6c 73 6f 20 3c 61 20 68 72 65 66 3d 22 23 6d 75 6c 57 .....<li>See.also.<a.href="#mulW
26140 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
26160 3e 2e 3c 2f 6c 69 3e 0a 20 20 20 20 20 20 20 20 20 20 20 20 3c 2f 75 6c 3e 0a 20 20 20 20 20 20 >.</li>.............</ul>.......
26180 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>........
261a0 20 20 20 20 20 3c 70 72 65 3e 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e .....<pre><code><span.class="lin
261c0 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 32 3c 2f 73 e"><span.class="tok-number">2</s
261e0 70 61 6e 3e 20 2a 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e pan>.*.<span.class="tok-number">
26200 35 3c 2f 73 70 61 6e 3e 20 3d 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 5</span>.==.<span.class="tok-num
26220 62 65 72 22 3e 31 30 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 3c 2f 70 72 ber">10</span></span></code></pr
26240 65 3e 0a 20 20 20 20 20 20 20 20 20 20 3c 2f 74 64 3e 0a 20 20 20 20 20 20 20 20 3c 2f 74 72 3e e>...........</td>.........</tr>
26260 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
26280 65 3d 22 72 6f 77 22 3e 3c 70 72 65 3e 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 e="row"><pre><code><span.class="
262a0 6c 69 6e 65 22 3e 61 20 2a 25 20 62 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d line">a.*%.b</span>.<span.class=
262c0 22 6c 69 6e 65 22 3e 61 20 2a 25 3d 20 62 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 3c 2f 70 72 "line">a.*%=.b</span></code></pr
262e0 65 3e 3c 2f 74 68 3e 0a 20 20 20 20 20 20 20 20 20 20 3c 74 64 3e 0a 20 20 20 20 20 20 20 20 20 e></th>...........<td>..........
26300 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
26320 66 3d 22 23 49 6e 74 65 67 65 72 73 22 3e 49 6e 74 65 67 65 72 73 3c 2f 61 3e 3c 2f 6c 69 3e 0a f="#Integers">Integers</a></li>.
26340 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
26360 3e 0a 20 20 20 20 20 20 20 20 20 20 3c 74 64 3e 57 72 61 70 70 69 6e 67 20 4d 75 6c 74 69 70 6c >...........<td>Wrapping.Multipl
26380 69 63 61 74 69 6f 6e 2e 0a 20 20 20 20 20 20 20 20 20 20 20 20 3c 75 6c 3e 0a 20 20 20 20 20 20 ication..............<ul>.......
263a0 20 20 20 20 20 20 20 20 3c 6c 69 3e 47 75 61 72 61 6e 74 65 65 64 20 74 6f 20 68 61 76 65 20 74 ........<li>Guaranteed.to.have.t
263c0 77 6f 73 2d 63 6f 6d 70 6c 65 6d 65 6e 74 20 77 72 61 70 70 69 6e 67 20 62 65 68 61 76 69 6f 72 wos-complement.wrapping.behavior
263e0 2e 3c 2f 6c 69 3e 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 3c 6c 69 3e 49 6e 76 6f 6b 65 73 .</li>...............<li>Invokes
26400 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"
26420 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
26440 65 20 6f 70 65 72 61 6e 64 73 2e 3c 2f 6c 69 3e 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 3c e.operands.</li>...............<
26460 6c 69 3e 53 65 65 20 61 6c 73 6f 20 3c 61 20 68 72 65 66 3d 22 23 6d 75 6c 57 69 74 68 4f 76 65 li>See.also.<a.href="#mulWithOve
26480 72 66 6c 6f 77 22 3e 40 6d 75 6c 57 69 74 68 4f 76 65 72 66 6c 6f 77 3c 2f 61 3e 2e 3c 2f 6c 69 rflow">@mulWithOverflow</a>.</li
264a0 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>...........</
264c0 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>.............<
264e0 70 72 65 3e 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 pre><code><span.class="line"><sp
26500 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
26520 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
26540 6e 3e 2c 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 32 30 30 n>,.<span.class="tok-number">200
26560 3c 2f 73 70 61 6e 3e 29 20 2a 25 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d </span>).*%.<span.class="tok-num
26580 62 65 72 22 3e 32 3c 2f 73 70 61 6e 3e 20 3d 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f ber">2</span>.==.<span.class="to
265a0 6b 2d 6e 75 6d 62 65 72 22 3e 31 34 34 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 k-number">144</span></span></cod
265c0 65 3e 3c 2f 70 72 65 3e 0a 20 20 20 20 20 20 20 20 20 20 3c 2f 74 64 3e 0a 20 20 20 20 20 20 20 e></pre>...........</td>........
265e0 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
26600 68 20 73 63 6f 70 65 3d 22 72 6f 77 22 3e 3c 70 72 65 3e 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 h.scope="row"><pre><code><span.c
26620 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 61 20 2a 7c 20 62 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 lass="line">a.*|.b</span>.<span.
26640 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 61 20 2a 7c 3d 20 62 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 class="line">a.*|=.b</span></cod
26660 65 3e 3c 2f 70 72 65 3e 3c 2f 74 68 3e 0a 20 20 20 20 20 20 20 20 20 20 3c 74 64 3e 0a 20 20 20 e></pre></th>...........<td>....
26680 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>
266a0 3c 61 20 68 72 65 66 3d 22 23 49 6e 74 65 67 65 72 73 22 3e 49 6e 74 65 67 65 72 73 3c 2f 61 3e <a.href="#Integers">Integers</a>
266c0 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>.........
266e0 20 20 3c 2f 74 64 3e 0a 20 20 20 20 20 20 20 20 20 20 3c 74 64 3e 53 61 74 75 72 61 74 69 6e 67 ..</td>...........<td>Saturating
26700 20 4d 75 6c 74 69 70 6c 69 63 61 74 69 6f 6e 2e 0a 20 20 20 20 20 20 20 20 20 20 20 20 3c 75 6c .Multiplication..............<ul
26720 3e 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 3c 6c 69 3e 49 6e 76 6f 6b 65 73 20 3c 61 20 68 >...............<li>Invokes.<a.h
26740 72 65 66 3d 22 23 50 65 65 72 2d 54 79 70 65 2d 52 65 73 6f 6c 75 74 69 6f 6e 22 3e 50 65 65 72 ref="#Peer-Type-Resolution">Peer
26760 20 54 79 70 65 20 52 65 73 6f 6c 75 74 69 6f 6e 3c 2f 61 3e 20 66 6f 72 20 74 68 65 20 6f 70 65 .Type.Resolution</a>.for.the.ope
26780 72 61 6e 64 73 2e 3c 2f 6c 69 3e 0a 20 20 20 20 20 20 20 20 20 20 20 20 3c 2f 75 6c 3e 0a 20 20 rands.</li>.............</ul>...
267a0 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>....
267c0 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=
267e0 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 62 75 69 6c 74 69 6e 22 "line"><span.class="tok-builtin"
26800 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
26820 65 22 3e 75 38 3c 2f 73 70 61 6e 3e 2c 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e e">u8</span>,.<span.class="tok-n
26840 75 6d 62 65 72 22 3e 32 30 30 3c 2f 73 70 61 6e 3e 29 20 2a 7c 20 3c 73 70 61 6e 20 63 6c 61 73 umber">200</span>).*|.<span.clas
26860 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 32 3c 2f 73 70 61 6e 3e 20 3d 3d 20 3c 73 70 61 6e s="tok-number">2</span>.==.<span
26880 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 32 35 35 3c 2f 73 70 61 6e 3e 3c 2f .class="tok-number">255</span></
268a0 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
268c0 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>...
268e0 20 20 20 20 20 20 20 20 3c 74 68 20 73 63 6f 70 65 3d 22 72 6f 77 22 3e 3c 70 72 65 3e 3c 63 6f ........<th.scope="row"><pre><co
26900 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 61 20 2f 20 62 3c 2f 73 70 61 de><span.class="line">a./.b</spa
26920 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 61 20 2f 3d 20 62 3c 2f 73 70 n>.<span.class="line">a./=.b</sp
26940 61 6e 3e 3c 2f 63 6f 64 65 3e 3c 2f 70 72 65 3e 3c 2f 74 68 3e 0a 20 20 20 20 20 20 20 20 20 20 an></code></pre></th>...........
26960 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>...........
26980 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
269a0 67 65 72 73 3c 2f 61 3e 3c 2f 6c 69 3e 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 3c 6c 69 3e gers</a></li>...............<li>
269c0 3c 61 20 68 72 65 66 3d 22 23 46 6c 6f 61 74 73 22 3e 46 6c 6f 61 74 73 3c 2f 61 3e 3c 2f 6c 69 <a.href="#Floats">Floats</a></li
269e0 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>...........</
26a00 74 64 3e 0a 20 20 20 20 20 20 20 20 20 20 3c 74 64 3e 44 69 76 69 73 69 6f 6e 2e 0a 20 20 20 20 td>...........<td>Division......
26a20 20 20 20 20 20 20 20 20 3c 75 6c 3e 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 3c 6c 69 3e 43 ........<ul>...............<li>C
26a40 61 6e 20 63 61 75 73 65 20 3c 61 20 68 72 65 66 3d 22 23 44 65 66 61 75 6c 74 2d 4f 70 65 72 61 an.cause.<a.href="#Default-Opera
26a60 74 69 6f 6e 73 22 3e 6f 76 65 72 66 6c 6f 77 3c 2f 61 3e 20 66 6f 72 20 69 6e 74 65 67 65 72 73 tions">overflow</a>.for.integers
26a80 2e 3c 2f 6c 69 3e 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 3c 6c 69 3e 43 61 6e 20 63 61 75 .</li>...............<li>Can.cau
26aa0 73 65 20 3c 61 20 68 72 65 66 3d 22 23 44 69 76 69 73 69 6f 6e 2d 62 79 2d 5a 65 72 6f 22 3e 44 se.<a.href="#Division-by-Zero">D
26ac0 69 76 69 73 69 6f 6e 20 62 79 20 5a 65 72 6f 3c 2f 61 3e 20 66 6f 72 20 69 6e 74 65 67 65 72 73 ivision.by.Zero</a>.for.integers
26ae0 2e 3c 2f 6c 69 3e 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 3c 6c 69 3e 43 61 6e 20 63 61 75 .</li>...............<li>Can.cau
26b00 73 65 20 3c 61 20 68 72 65 66 3d 22 23 44 69 76 69 73 69 6f 6e 2d 62 79 2d 5a 65 72 6f 22 3e 44 se.<a.href="#Division-by-Zero">D
26b20 69 76 69 73 69 6f 6e 20 62 79 20 5a 65 72 6f 3c 2f 61 3e 20 66 6f 72 20 66 6c 6f 61 74 73 20 69 ivision.by.Zero</a>.for.floats.i
26b40 6e 20 3c 61 20 68 72 65 66 3d 22 23 46 6c 6f 61 74 69 6e 67 2d 50 6f 69 6e 74 2d 4f 70 65 72 61 n.<a.href="#Floating-Point-Opera
26b60 74 69 6f 6e 73 22 3e 46 6c 6f 61 74 4d 6f 64 65 2e 4f 70 74 69 6d 69 7a 65 64 20 4d 6f 64 65 3c tions">FloatMode.Optimized.Mode<
26b80 2f 61 3e 2e 3c 2f 6c 69 3e 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 3c 6c 69 3e 53 69 67 6e /a>.</li>...............<li>Sign
26ba0 65 64 20 69 6e 74 65 67 65 72 20 6f 70 65 72 61 6e 64 73 20 6d 75 73 74 20 62 65 20 63 6f 6d 70 ed.integer.operands.must.be.comp
26bc0 74 69 6d 65 2d 6b 6e 6f 77 6e 20 61 6e 64 20 70 6f 73 69 74 69 76 65 2e 20 49 6e 20 6f 74 68 65 time-known.and.positive..In.othe
26be0 72 20 63 61 73 65 73 2c 20 75 73 65 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 3c 61 20 r.cases,.use.................<a.
26c00 68 72 65 66 3d 22 23 64 69 76 54 72 75 6e 63 22 3e 40 64 69 76 54 72 75 6e 63 3c 2f 61 3e 2c 0a href="#divTrunc">@divTrunc</a>,.
26c20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 3c 61 20 68 72 65 66 3d 22 23 64 69 76 46 6c 6f ................<a.href="#divFlo
26c40 6f 72 22 3e 40 64 69 76 46 6c 6f 6f 72 3c 2f 61 3e 2c 20 6f 72 0a 20 20 20 20 20 20 20 20 20 20 or">@divFloor</a>,.or...........
26c60 20 20 20 20 20 20 3c 61 20 68 72 65 66 3d 22 23 64 69 76 45 78 61 63 74 22 3e 40 64 69 76 45 78 ......<a.href="#divExact">@divEx
26c80 61 63 74 3c 2f 61 3e 20 69 6e 73 74 65 61 64 2e 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 3c act</a>.instead................<
26ca0 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.<
26cc0 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
26ce0 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.
26d00 6f 70 65 72 61 6e 64 73 2e 3c 2f 6c 69 3e 0a 20 20 20 20 20 20 20 20 20 20 20 20 3c 2f 75 6c 3e operands.</li>.............</ul>
26d20 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>.
26d40 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
26d60 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 ss="line"><span.class="tok-numbe
26d80 72 22 3e 31 30 3c 2f 73 70 61 6e 3e 20 2f 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d r">10</span>./.<span.class="tok-
26da0 6e 75 6d 62 65 72 22 3e 35 3c 2f 73 70 61 6e 3e 20 3d 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d number">5</span>.==.<span.class=
26dc0 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 32 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 3c 2f 63 6f "tok-number">2</span></span></co
26de0 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>.......
26e00 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>...........<
26e20 74 68 20 73 63 6f 70 65 3d 22 72 6f 77 22 3e 3c 70 72 65 3e 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 th.scope="row"><pre><code><span.
26e40 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 61 20 25 20 62 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 class="line">a.%.b</span>.<span.
26e60 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 61 20 25 3d 20 62 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 class="line">a.%=.b</span></code
26e80 3e 3c 2f 70 72 65 3e 3c 2f 74 68 3e 0a 20 20 20 20 20 20 20 20 20 20 3c 74 64 3e 0a 20 20 20 20 ></pre></th>...........<td>.....
26ea0 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><
26ec0 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><
26ee0 2f 6c 69 3e 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 3c 6c 69 3e 3c 61 20 68 72 65 66 3d 22 /li>...............<li><a.href="
26f00 23 46 6c 6f 61 74 73 22 3e 46 6c 6f 61 74 73 3c 2f 61 3e 3c 2f 6c 69 3e 0a 20 20 20 20 20 20 20 #Floats">Floats</a></li>........
26f20 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>......
26f40 20 20 20 20 20 3c 74 64 3e 52 65 6d 61 69 6e 64 65 72 20 44 69 76 69 73 69 6f 6e 2e 0a 20 20 20 .....<td>Remainder.Division.....
26f60 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>
26f80 43 61 6e 20 63 61 75 73 65 20 3c 61 20 68 72 65 66 3d 22 23 44 69 76 69 73 69 6f 6e 2d 62 79 2d Can.cause.<a.href="#Division-by-
26fa0 5a 65 72 6f 22 3e 44 69 76 69 73 69 6f 6e 20 62 79 20 5a 65 72 6f 3c 2f 61 3e 20 66 6f 72 20 69 Zero">Division.by.Zero</a>.for.i
26fc0 6e 74 65 67 65 72 73 2e 3c 2f 6c 69 3e 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 3c 6c 69 3e ntegers.</li>...............<li>
26fe0 43 61 6e 20 63 61 75 73 65 20 3c 61 20 68 72 65 66 3d 22 23 44 69 76 69 73 69 6f 6e 2d 62 79 2d Can.cause.<a.href="#Division-by-
27000 5a 65 72 6f 22 3e 44 69 76 69 73 69 6f 6e 20 62 79 20 5a 65 72 6f 3c 2f 61 3e 20 66 6f 72 20 66 Zero">Division.by.Zero</a>.for.f
27020 6c 6f 61 74 73 20 69 6e 20 3c 61 20 68 72 65 66 3d 22 23 46 6c 6f 61 74 69 6e 67 2d 50 6f 69 6e loats.in.<a.href="#Floating-Poin
27040 74 2d 4f 70 65 72 61 74 69 6f 6e 73 22 3e 46 6c 6f 61 74 4d 6f 64 65 2e 4f 70 74 69 6d 69 7a 65 t-Operations">FloatMode.Optimize
27060 64 20 4d 6f 64 65 3c 2f 61 3e 2e 3c 2f 6c 69 3e 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 3c d.Mode</a>.</li>...............<
27080 6c 69 3e 53 69 67 6e 65 64 20 6f 72 20 66 6c 6f 61 74 69 6e 67 2d 70 6f 69 6e 74 20 6f 70 65 72 li>Signed.or.floating-point.oper
270a0 61 6e 64 73 20 6d 75 73 74 20 62 65 20 63 6f 6d 70 74 69 6d 65 2d 6b 6e 6f 77 6e 20 61 6e 64 20 ands.must.be.comptime-known.and.
270c0 70 6f 73 69 74 69 76 65 2e 20 49 6e 20 6f 74 68 65 72 20 63 61 73 65 73 2c 20 75 73 65 0a 20 20 positive..In.other.cases,.use...
270e0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 3c 61 20 68 72 65 66 3d 22 23 72 65 6d 22 3e 40 72 65 ..............<a.href="#rem">@re
27100 6d 3c 2f 61 3e 20 6f 72 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 3c 61 20 68 72 65 66 m</a>.or.................<a.href
27120 3d 22 23 6d 6f 64 22 3e 40 6d 6f 64 3c 2f 61 3e 20 69 6e 73 74 65 61 64 2e 0a 20 20 20 20 20 20 ="#mod">@mod</a>.instead........
27140 20 20 20 20 20 20 20 20 3c 2f 6c 69 3e 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 3c 6c 69 3e ........</li>...............<li>
27160 49 6e 76 6f 6b 65 73 20 3c 61 20 68 72 65 66 3d 22 23 50 65 65 72 2d 54 79 70 65 2d 52 65 73 6f Invokes.<a.href="#Peer-Type-Reso
27180 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>
271a0 20 66 6f 72 20 74 68 65 20 6f 70 65 72 61 6e 64 73 2e 3c 2f 6c 69 3e 0a 20 20 20 20 20 20 20 20 .for.the.operands.</li>.........
271c0 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>.......
271e0 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>
27200 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 <span.class="line"><span.class="
27220 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 31 30 3c 2f 73 70 61 6e 3e 20 25 20 3c 73 70 61 6e 20 63 6c tok-number">10</span>.%.<span.cl
27240 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 33 3c 2f 73 70 61 6e 3e 20 3d 3d 20 3c 73 70 ass="tok-number">3</span>.==.<sp
27260 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 31 3c 2f 73 70 61 6e 3e 3c 2f an.class="tok-number">1</span></
27280 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
272a0 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>...
272c0 20 20 20 20 20 20 20 20 3c 74 68 20 73 63 6f 70 65 3d 22 72 6f 77 22 3e 3c 70 72 65 3e 3c 63 6f ........<th.scope="row"><pre><co
272e0 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 61 20 26 6c 74 3b 26 6c 74 3b de><span.class="line">a.&lt;&lt;
27300 20 62 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 61 20 26 .b</span>.<span.class="line">a.&
27320 6c 74 3b 26 6c 74 3b 3d 20 62 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 3c 2f 70 72 65 3e 3c 2f lt;&lt;=.b</span></code></pre></
27340 74 68 3e 0a 20 20 20 20 20 20 20 20 20 20 3c 74 64 3e 0a 20 20 20 20 20 20 20 20 20 20 20 20 3c th>...........<td>.............<
27360 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="#
27380 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>.....
273a0 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>...
273c0 20 20 20 20 20 20 20 20 3c 74 64 3e 42 69 74 20 53 68 69 66 74 20 4c 65 66 74 2e 0a 20 20 20 20 ........<td>Bit.Shift.Left......
273e0 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
27400 3e 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 62 3c 2f 73 70 61 ><code><span.class="line">b</spa
27420 6e 3e 3c 2f 63 6f 64 65 3e 20 6d 75 73 74 20 62 65 20 3c 61 20 68 72 65 66 3d 22 23 63 6f 6d 70 n></code>.must.be.<a.href="#comp
27440 74 69 6d 65 22 3e 63 6f 6d 70 74 69 6d 65 2d 6b 6e 6f 77 6e 3c 2f 61 3e 20 6f 72 20 68 61 76 65 time">comptime-known</a>.or.have
27460 20 61 20 74 79 70 65 20 77 69 74 68 20 6c 6f 67 32 20 6e 75 6d 62 65 72 20 6f 66 20 62 69 74 73 .a.type.with.log2.number.of.bits
27480 20 61 73 20 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 61 3c 2f .as.<code><span.class="line">a</
274a0 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 2e 3c 2f 6c 69 3e 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 span></code>.</li>..............
274c0 20 3c 6c 69 3e 53 65 65 20 61 6c 73 6f 20 3c 61 20 68 72 65 66 3d 22 23 73 68 6c 45 78 61 63 74 .<li>See.also.<a.href="#shlExact
274e0 22 3e 40 73 68 6c 45 78 61 63 74 3c 2f 61 3e 2e 3c 2f 6c 69 3e 0a 20 20 20 20 20 20 20 20 20 20 ">@shlExact</a>.</li>...........
27500 20 20 20 20 3c 6c 69 3e 53 65 65 20 61 6c 73 6f 20 3c 61 20 68 72 65 66 3d 22 23 73 68 6c 57 69 ....<li>See.also.<a.href="#shlWi
27520 74 68 4f 76 65 72 66 6c 6f 77 22 3e 40 73 68 6c 57 69 74 68 4f 76 65 72 66 6c 6f 77 3c 2f 61 3e thOverflow">@shlWithOverflow</a>
27540 2e 3c 2f 6c 69 3e 0a 20 20 20 20 20 20 20 20 20 20 20 20 3c 2f 75 6c 3e 0a 20 20 20 20 20 20 20 .</li>.............</ul>........
27560 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>.........
27580 20 20 20 20 3c 70 72 65 3e 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 ....<pre><code><span.class="line
275a0 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 31 3c 2f 73 70 "><span.class="tok-number">1</sp
275c0 61 6e 3e 20 26 6c 74 3b 26 6c 74 3b 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 an>.&lt;&lt;.<span.class="tok-nu
275e0 6d 62 65 72 22 3e 38 3c 2f 73 70 61 6e 3e 20 3d 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 mber">8</span>.==.<span.class="t
27600 6f 6b 2d 6e 75 6d 62 65 72 22 3e 32 35 36 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 3c 2f 63 6f ok-number">256</span></span></co
27620 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>.......
27640 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>...........<
27660 74 68 20 73 63 6f 70 65 3d 22 72 6f 77 22 3e 3c 70 72 65 3e 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 th.scope="row"><pre><code><span.
27680 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 61 20 26 6c 74 3b 26 6c 74 3b 7c 20 62 3c 2f 73 70 61 6e class="line">a.&lt;&lt;|.b</span
276a0 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 61 20 26 6c 74 3b 26 6c 74 3b 7c >.<span.class="line">a.&lt;&lt;|
276c0 3d 20 62 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 3c 2f 70 72 65 3e 3c 2f 74 68 3e 0a 20 20 20 =.b</span></code></pre></th>....
276e0 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>....
27700 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
27720 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>............
27740 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>..........
27760 20 3c 74 64 3e 53 61 74 75 72 61 74 69 6e 67 20 42 69 74 20 53 68 69 66 74 20 4c 65 66 74 2e 0a .<td>Saturating.Bit.Shift.Left..
27780 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>...............<
277a0 6c 69 3e 53 65 65 20 61 6c 73 6f 20 3c 61 20 68 72 65 66 3d 22 23 73 68 6c 45 78 61 63 74 22 3e li>See.also.<a.href="#shlExact">
277c0 40 73 68 6c 45 78 61 63 74 3c 2f 61 3e 2e 3c 2f 6c 69 3e 0a 20 20 20 20 20 20 20 20 20 20 20 20 @shlExact</a>.</li>.............
277e0 20 20 3c 6c 69 3e 53 65 65 20 61 6c 73 6f 20 3c 61 20 68 72 65 66 3d 22 23 73 68 6c 57 69 74 68 ..<li>See.also.<a.href="#shlWith
27800 4f 76 65 72 66 6c 6f 77 22 3e 40 73 68 6c 57 69 74 68 4f 76 65 72 66 6c 6f 77 3c 2f 61 3e 2e 3c Overflow">@shlWithOverflow</a>.<
27820 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>..........
27840 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>...........
27860 20 20 3c 70 72 65 3e 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e ..<pre><code><span.class="line">
27880 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 62 75 69 6c 74 69 6e 22 3e 40 61 73 3c 2f 73 <span.class="tok-builtin">@as</s
278a0 70 61 6e 3e 28 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 75 38 3c 2f pan>(<span.class="tok-type">u8</
278c0 73 70 61 6e 3e 2c 20 3c 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">
278e0 31 3c 2f 73 70 61 6e 3e 29 20 26 6c 74 3b 26 6c 74 3b 7c 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 1</span>).&lt;&lt;|.<span.class=
27900 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 38 3c 2f 73 70 61 6e 3e 20 3d 3d 20 3c 73 70 61 6e 20 63 "tok-number">8</span>.==.<span.c
27920 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 32 35 35 3c 2f 73 70 61 6e 3e 3c 2f 73 70 lass="tok-number">255</span></sp
27940 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>
27960 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>.....
27980 20 20 20 20 20 20 3c 74 68 20 73 63 6f 70 65 3d 22 72 6f 77 22 3e 3c 70 72 65 3e 3c 63 6f 64 65 ......<th.scope="row"><pre><code
279a0 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 61 20 26 67 74 3b 26 67 74 3b 20 62 ><span.class="line">a.&gt;&gt;.b
279c0 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 61 20 26 67 74 </span>.<span.class="line">a.&gt
279e0 3b 26 67 74 3b 3d 20 62 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 3c 2f 70 72 65 3e 3c 2f 74 68 ;&gt;=.b</span></code></pre></th
27a00 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
27a20 3e 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 3c 6c 69 3e 3c 61 20 68 72 65 66 3d 22 23 49 6e >...............<li><a.href="#In
27a40 74 65 67 65 72 73 22 3e 49 6e 74 65 67 65 72 73 3c 2f 61 3e 3c 2f 6c 69 3e 0a 20 20 20 20 20 20 tegers">Integers</a></li>.......
27a60 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>.....
27a80 20 20 20 20 20 20 3c 74 64 3e 42 69 74 20 53 68 69 66 74 20 52 69 67 68 74 2e 0a 20 20 20 20 20 ......<td>Bit.Shift.Right.......
27aa0 20 20 20 20 20 20 20 3c 75 6c 3e 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 3c 6c 69 3e .......<ul>.................<li>
27ac0 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 62 3c 2f 73 70 61 6e <code><span.class="line">b</span
27ae0 3e 3c 2f 63 6f 64 65 3e 20 6d 75 73 74 20 62 65 20 3c 61 20 68 72 65 66 3d 22 23 63 6f 6d 70 74 ></code>.must.be.<a.href="#compt
27b00 69 6d 65 22 3e 63 6f 6d 70 74 69 6d 65 2d 6b 6e 6f 77 6e 3c 2f 61 3e 20 6f 72 20 68 61 76 65 20 ime">comptime-known</a>.or.have.
27b20 61 20 74 79 70 65 20 77 69 74 68 20 6c 6f 67 32 20 6e 75 6d 62 65 72 20 6f 66 20 62 69 74 73 20 a.type.with.log2.number.of.bits.
27b40 61 73 20 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 61 3c 2f 73 as.<code><span.class="line">a</s
27b60 70 61 6e 3e 3c 2f 63 6f 64 65 3e 2e 3c 2f 6c 69 3e 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 pan></code>.</li>...............
27b80 3c 6c 69 3e 53 65 65 20 61 6c 73 6f 20 3c 61 20 68 72 65 66 3d 22 23 73 68 72 45 78 61 63 74 22 <li>See.also.<a.href="#shrExact"
27ba0 3e 40 73 68 72 45 78 61 63 74 3c 2f 61 3e 2e 3c 2f 6c 69 3e 0a 20 20 20 20 20 20 20 20 20 20 20 >@shrExact</a>.</li>............
27bc0 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>..........
27be0 20 3c 74 64 3e 0a 20 20 20 20 20 20 20 20 20 20 20 20 3c 70 72 65 3e 3c 63 6f 64 65 3e 3c 73 70 .<td>.............<pre><code><sp
27c00 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b an.class="line"><span.class="tok
27c20 2d 6e 75 6d 62 65 72 22 3e 31 30 3c 2f 73 70 61 6e 3e 20 26 67 74 3b 26 67 74 3b 20 3c 73 70 61 -number">10</span>.&gt;&gt;.<spa
27c40 6e 20 63 6c 61 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>.==
27c60 20 3c 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
27c80 6e 3e 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 3c 2f 70 72 65 3e 0a 20 20 20 20 20 20 20 20 20 n></span></code></pre>..........
27ca0 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
27cc0 3e 0a 20 20 20 20 20 20 20 20 20 20 3c 74 68 20 73 63 6f 70 65 3d 22 72 6f 77 22 3e 3c 70 72 65 >...........<th.scope="row"><pre
27ce0 3e 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 61 20 26 61 6d 70 ><code><span.class="line">a.&amp
27d00 3b 20 62 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 61 20 ;.b</span>.<span.class="line">a.
27d20 26 61 6d 70 3b 3d 20 62 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 3c 2f 70 72 65 3e 3c 2f 74 68 &amp;=.b</span></code></pre></th
27d40 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
27d60 3e 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 3c 6c 69 3e 3c 61 20 68 72 65 66 3d 22 23 49 6e >...............<li><a.href="#In
27d80 74 65 67 65 72 73 22 3e 49 6e 74 65 67 65 72 73 3c 2f 61 3e 3c 2f 6c 69 3e 0a 20 20 20 20 20 20 tegers">Integers</a></li>.......
27da0 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>.....
27dc0 20 20 20 20 20 20 3c 74 64 3e 42 69 74 77 69 73 65 20 41 4e 44 2e 0a 20 20 20 20 20 20 20 20 20 ......<td>Bitwise.AND...........
27de0 20 20 20 3c 75 6c 3e 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 3c 6c 69 3e 49 6e 76 6f 6b 65 ...<ul>...............<li>Invoke
27e00 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
27e20 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
27e40 68 65 20 6f 70 65 72 61 6e 64 73 2e 3c 2f 6c 69 3e 0a 20 20 20 20 20 20 20 20 20 20 20 20 3c 2f he.operands.</li>.............</
27e60 75 6c 3e 0a 20 20 20 20 20 20 20 20 20 20 3c 2f 74 64 3e 0a 20 20 20 20 20 20 20 20 20 20 3c 74 ul>...........</td>...........<t
27e80 64 3e 0a 20 20 20 20 20 20 20 20 20 20 20 20 3c 70 72 65 3e 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 d>.............<pre><code><span.
27ea0 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 class="line"><span.class="tok-nu
27ec0 6d 62 65 72 22 3e 30 62 30 31 31 3c 2f 73 70 61 6e 3e 20 26 61 6d 70 3b 20 3c 73 70 61 6e 20 63 mber">0b011</span>.&amp;.<span.c
27ee0 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 30 62 31 30 31 3c 2f 73 70 61 6e 3e 20 3d lass="tok-number">0b101</span>.=
27f00 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 30 62 30 30 31 =.<span.class="tok-number">0b001
27f20 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 3c 2f 70 72 65 3e 0a 20 20 20 20 </span></span></code></pre>.....
27f40 20 20 20 20 20 20 3c 2f 74 64 3e 0a 20 20 20 20 20 20 20 20 3c 2f 74 72 3e 0a 20 20 20 20 20 20 ......</td>.........</tr>.......
27f60 20 20 3c 74 72 3e 0a 20 20 20 20 20 20 20 20 20 20 3c 74 68 20 73 63 6f 70 65 3d 22 72 6f 77 22 ..<tr>...........<th.scope="row"
27f80 3e 3c 70 72 65 3e 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 61 ><pre><code><span.class="line">a
27fa0 20 7c 20 62 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 61 .|.b</span>.<span.class="line">a
27fc0 20 7c 3d 20 62 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 3c 2f 70 72 65 3e 3c 2f 74 68 3e 0a 20 .|=.b</span></code></pre></th>..
27fe0 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>..
28000 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
28020 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>..........
28040 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>........
28060 20 20 20 3c 74 64 3e 42 69 74 77 69 73 65 20 4f 52 2e 0a 20 20 20 20 20 20 20 20 20 20 20 20 3c ...<td>Bitwise.OR..............<
28080 75 6c 3e 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 3c 6c 69 3e 49 6e 76 6f 6b 65 73 20 3c 61 ul>...............<li>Invokes.<a
280a0 20 68 72 65 66 3d 22 23 50 65 65 72 2d 54 79 70 65 2d 52 65 73 6f 6c 75 74 69 6f 6e 22 3e 50 65 .href="#Peer-Type-Resolution">Pe
280c0 65 72 20 54 79 70 65 20 52 65 73 6f 6c 75 74 69 6f 6e 3c 2f 61 3e 20 66 6f 72 20 74 68 65 20 6f er.Type.Resolution</a>.for.the.o
280e0 70 65 72 61 6e 64 73 2e 3c 2f 6c 69 3e 0a 20 20 20 20 20 20 20 20 20 20 20 20 3c 2f 75 6c 3e 0a perands.</li>.............</ul>.
28100 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>..
28120 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
28140 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 s="line"><span.class="tok-number
28160 22 3e 30 62 30 31 30 3c 2f 73 70 61 6e 3e 20 7c 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f ">0b010</span>.|.<span.class="to
28180 6b 2d 6e 75 6d 62 65 72 22 3e 30 62 31 30 30 3c 2f 73 70 61 6e 3e 20 3d 3d 20 3c 73 70 61 6e 20 k-number">0b100</span>.==.<span.
281a0 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 30 62 31 31 30 3c 2f 73 70 61 6e 3e 3c class="tok-number">0b110</span><
281c0 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>...........</
281e0 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>..
28200 20 20 20 20 20 20 20 20 20 3c 74 68 20 73 63 6f 70 65 3d 22 72 6f 77 22 3e 3c 70 72 65 3e 3c 63 .........<th.scope="row"><pre><c
28220 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 61 20 5e 20 62 3c 2f 73 70 ode><span.class="line">a.^.b</sp
28240 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 61 20 5e 3d 20 62 3c 2f 73 an>.<span.class="line">a.^=.b</s
28260 70 61 6e 3e 3c 2f 63 6f 64 65 3e 3c 2f 70 72 65 3e 3c 2f 74 68 3e 0a 20 20 20 20 20 20 20 20 20 pan></code></pre></th>..........
28280 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>..........
282a0 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
282c0 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>
282e0 0a 20 20 20 20 20 20 20 20 20 20 3c 2f 74 64 3e 0a 20 20 20 20 20 20 20 20 20 20 3c 74 64 3e 42 ...........</td>...........<td>B
28300 69 74 77 69 73 65 20 58 4f 52 2e 0a 20 20 20 20 20 20 20 20 20 20 20 20 3c 75 6c 3e 0a 20 20 20 itwise.XOR..............<ul>....
28320 20 20 20 20 20 20 20 20 20 20 20 3c 6c 69 3e 49 6e 76 6f 6b 65 73 20 3c 61 20 68 72 65 66 3d 22 ...........<li>Invokes.<a.href="
28340 23 50 65 65 72 2d 54 79 70 65 2d 52 65 73 6f 6c 75 74 69 6f 6e 22 3e 50 65 65 72 20 54 79 70 65 #Peer-Type-Resolution">Peer.Type
28360 20 52 65 73 6f 6c 75 74 69 6f 6e 3c 2f 61 3e 20 66 6f 72 20 74 68 65 20 6f 70 65 72 61 6e 64 73 .Resolution</a>.for.the.operands
28380 2e 3c 2f 6c 69 3e 0a 20 20 20 20 20 20 20 20 20 20 20 20 3c 2f 75 6c 3e 0a 20 20 20 20 20 20 20 .</li>.............</ul>........
283a0 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>.........
283c0 20 20 20 20 3c 70 72 65 3e 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 ....<pre><code><span.class="line
283e0 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 30 62 30 31 31 "><span.class="tok-number">0b011
28400 3c 2f 73 70 61 6e 3e 20 5e 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 </span>.^.<span.class="tok-numbe
28420 72 22 3e 30 62 31 30 31 3c 2f 73 70 61 6e 3e 20 3d 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 r">0b101</span>.==.<span.class="
28440 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 30 62 31 31 30 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 3c tok-number">0b110</span></span><
28460 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>....
28480 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>.........
284a0 20 20 3c 74 68 20 73 63 6f 70 65 3d 22 72 6f 77 22 3e 3c 70 72 65 3e 3c 63 6f 64 65 3e 3c 73 70 ..<th.scope="row"><pre><code><sp
284c0 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 7e 61 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e an.class="line">~a</span></code>
284e0 3c 2f 70 72 65 3e 3c 2f 74 68 3e 0a 20 20 20 20 20 20 20 20 20 20 3c 74 64 3e 0a 20 20 20 20 20 </pre></th>...........<td>......
28500 20 20 20 20 20 20 20 3c 75 6c 3e 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 3c 6c 69 3e 3c 61 .......<ul>...............<li><a
28520 20 68 72 65 66 3d 22 23 49 6e 74 65 67 65 72 73 22 3e 49 6e 74 65 67 65 72 73 3c 2f 61 3e 3c 2f .href="#Integers">Integers</a></
28540 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>...........
28560 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>............
28580 20 42 69 74 77 69 73 65 20 4e 4f 54 2e 0a 20 20 20 20 20 20 20 20 20 20 3c 2f 74 64 3e 0a 20 20 .Bitwise.NOT............</td>...
285a0 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
285c0 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 7e 3c 73 70 61 6e 20 63 6c ode><span.class="line">~<span.cl
285e0 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
28600 61 6e 20 63 6c 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>,.<
28620 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 30 62 31 30 31 30 31 31 span.class="tok-number">0b101011
28640 31 31 3c 2f 73 70 61 6e 3e 29 20 3d 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 11</span>).==.<span.class="tok-n
28660 75 6d 62 65 72 22 3e 30 62 30 31 30 31 30 30 30 30 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 3c umber">0b01010000</span></span><
28680 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>....
286a0 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>.........
286c0 20 20 3c 74 68 20 73 63 6f 70 65 3d 22 72 6f 77 22 3e 3c 70 72 65 3e 3c 63 6f 64 65 3e 3c 73 70 ..<th.scope="row"><pre><code><sp
286e0 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 61 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 an.class="line">a.<span.class="t
28700 6f 6b 2d 6b 77 22 3e 6f 72 65 6c 73 65 3c 2f 73 70 61 6e 3e 20 62 3c 2f 73 70 61 6e 3e 3c 2f 63 ok-kw">orelse</span>.b</span></c
28720 6f 64 65 3e 3c 2f 70 72 65 3e 3c 2f 74 68 3e 0a 20 20 20 20 20 20 20 20 20 20 3c 74 64 3e 0a 20 ode></pre></th>...........<td>..
28740 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
28760 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
28780 3c 2f 61 3e 3c 2f 6c 69 3e 0a 20 20 20 20 20 20 20 20 20 20 20 20 3c 2f 75 6c 3e 0a 20 20 20 20 </a></li>.............</ul>.....
287a0 20 20 20 20 20 20 3c 2f 74 64 3e 0a 20 20 20 20 20 20 20 20 20 20 3c 74 64 3e 49 66 20 3c 63 6f ......</td>...........<td>If.<co
287c0 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 61 3c 2f 73 70 61 6e 3e 3c 2f de><span.class="line">a</span></
287e0 63 6f 64 65 3e 20 69 73 20 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 code>.is.<code><span.class="line
28800 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6c 6c 22 3e 6e 75 6c 6c 3c 2f 73 "><span.class="tok-null">null</s
28820 70 61 6e 3e 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 2c 0a 20 20 20 20 20 20 20 20 20 20 20 20 pan></span></code>,.............
28840 20 20 20 20 20 20 20 20 20 20 72 65 74 75 72 6e 73 20 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c ..........returns.<code><span.cl
28860 61 73 73 3d 22 6c 69 6e 65 22 3e 62 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 20 28 22 64 65 66 ass="line">b</span></code>.("def
28880 61 75 6c 74 20 76 61 6c 75 65 22 29 2c 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ault.value"),...................
288a0 20 20 20 20 20 20 20 20 6f 74 68 65 72 77 69 73 65 20 72 65 74 75 72 6e 73 20 74 68 65 20 75 6e ........otherwise.returns.the.un
288c0 77 72 61 70 70 65 64 20 76 61 6c 75 65 20 6f 66 20 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 wrapped.value.of.<code><span.cla
288e0 73 73 3d 22 6c 69 6e 65 22 3e 61 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 2e 0a 20 20 20 20 20 ss="line">a</span></code>.......
28900 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 4e 6f 74 65 20 74 68 .........................Note.th
28920 61 74 20 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 62 3c 2f 73 at.<code><span.class="line">b</s
28940 70 61 6e 3e 3c 2f 63 6f 64 65 3e 20 6d 61 79 20 62 65 20 61 20 76 61 6c 75 65 20 6f 66 20 74 79 pan></code>.may.be.a.value.of.ty
28960 70 65 20 3c 61 20 68 72 65 66 3d 22 23 6e 6f 72 65 74 75 72 6e 22 3e 6e 6f 72 65 74 75 72 6e 3c pe.<a.href="#noreturn">noreturn<
28980 2f 61 3e 2e 0a 20 20 20 20 20 20 20 20 20 20 3c 2f 74 64 3e 0a 20 20 20 20 20 20 20 20 20 20 3c /a>............</td>...........<
289a0 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
289c0 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b .class="line"><span.class="tok-k
289e0 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
28a00 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
28a20 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6c 6c 22 3e 6e 75 6c 6c 3c 2f 73 70 61 6e 3e 3b 3c n.class="tok-null">null</span>;<
28a40 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 /span>.<span.class="line"><span.
28a60 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 63 6f 6e 73 74 3c 2f 73 70 61 6e 3e 20 75 6e 77 72 class="tok-kw">const</span>.unwr
28a80 61 70 70 65 64 20 3d 20 76 61 6c 75 65 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b apped.=.value.<span.class="tok-k
28aa0 77 22 3e 6f 72 65 6c 73 65 3c 2f 73 70 61 6e 3e 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f w">orelse</span>.<span.class="to
28ac0 6b 2d 6e 75 6d 62 65 72 22 3e 31 32 33 34 3c 2f 73 70 61 6e 3e 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 k-number">1234</span>;</span>.<s
28ae0 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 75 6e 77 72 61 70 70 65 64 20 3d 3d 20 3c 73 pan.class="line">unwrapped.==.<s
28b00 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 31 32 33 34 3c 2f 73 70 61 pan.class="tok-number">1234</spa
28b20 6e 3e 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 3c 2f 70 72 65 3e 0a 20 20 20 20 20 20 20 20 20 n></span></code></pre>..........
28b40 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
28b60 3e 0a 20 20 20 20 20 20 20 20 20 20 3c 74 68 20 73 63 6f 70 65 3d 22 72 6f 77 22 3e 3c 70 72 65 >...........<th.scope="row"><pre
28b80 3e 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 61 2e 3f 3c 2f 73 ><code><span.class="line">a.?</s
28ba0 70 61 6e 3e 3c 2f 63 6f 64 65 3e 3c 2f 70 72 65 3e 3c 2f 74 68 3e 0a 20 20 20 20 20 20 20 20 20 pan></code></pre></th>..........
28bc0 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>..........
28be0 20 20 20 20 20 3c 6c 69 3e 3c 61 20 68 72 65 66 3d 22 23 4f 70 74 69 6f 6e 61 6c 73 22 3e 4f 70 .....<li><a.href="#Optionals">Op
28c00 74 69 6f 6e 61 6c 73 3c 2f 61 3e 3c 2f 6c 69 3e 0a 20 20 20 20 20 20 20 20 20 20 20 20 3c 2f 75 tionals</a></li>.............</u
28c20 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
28c40 3e 0a 20 20 20 20 20 20 20 20 20 20 20 20 45 71 75 69 76 61 6c 65 6e 74 20 74 6f 3a 0a 20 20 20 >.............Equivalent.to:....
28c60 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=
28c80 22 6c 69 6e 65 22 3e 61 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 6f 72 "line">a.<span.class="tok-kw">or
28ca0 65 6c 73 65 3c 2f 73 70 61 6e 3e 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 else</span>.<span.class="tok-kw"
28cc0 3e 75 6e 72 65 61 63 68 61 62 6c 65 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 >unreachable</span></span></code
28ce0 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>.........
28d00 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
28d20 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f pan.class="line"><span.class="to
28d40 6b 2d 6b 77 22 3e 63 6f 6e 73 74 3c 2f 73 70 61 6e 3e 20 76 61 6c 75 65 3a 20 3f 3c 73 70 61 6e k-kw">const</span>.value:.?<span
28d60 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>.=.<
28d80 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 35 36 37 38 3c 2f 73 70 span.class="tok-number">5678</sp
28da0 61 6e 3e 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 76 an>;</span>.<span.class="line">v
28dc0 61 6c 75 65 2e 3f 20 3d 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 alue.?.==.<span.class="tok-numbe
28de0 72 22 3e 35 36 37 38 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 3c 2f 70 72 r">5678</span></span></code></pr
28e00 65 3e 0a 20 20 20 20 20 20 20 20 20 20 3c 2f 74 64 3e 0a 20 20 20 20 20 20 20 20 3c 2f 74 72 3e e>...........</td>.........</tr>
28e20 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
28e40 65 3d 22 72 6f 77 22 3e 3c 70 72 65 3e 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 e="row"><pre><code><span.class="
28e60 6c 69 6e 65 22 3e 61 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 63 61 74 line">a.<span.class="tok-kw">cat
28e80 63 68 3c 2f 73 70 61 6e 3e 20 62 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 ch</span>.b</span>.<span.class="
28ea0 6c 69 6e 65 22 3e 61 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 63 61 74 line">a.<span.class="tok-kw">cat
28ec0 63 68 3c 2f 73 70 61 6e 3e 20 7c 65 72 72 7c 20 62 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 3c ch</span>.|err|.b</span></code><
28ee0 2f 70 72 65 3e 3c 2f 74 68 3e 0a 20 20 20 20 20 20 20 20 20 20 3c 74 64 3e 0a 20 20 20 20 20 20 /pre></th>...........<td>.......
28f00 20 20 20 20 20 20 3c 75 6c 3e 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 3c 6c 69 3e 3c 61 20 ......<ul>...............<li><a.
28f20 68 72 65 66 3d 22 23 45 72 72 6f 72 73 22 3e 45 72 72 6f 72 20 55 6e 69 6f 6e 73 3c 2f 61 3e 3c href="#Errors">Error.Unions</a><
28f40 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>..........
28f60 20 3c 2f 74 64 3e 0a 20 20 20 20 20 20 20 20 20 20 3c 74 64 3e 49 66 20 3c 63 6f 64 65 3e 3c 73 .</td>...........<td>If.<code><s
28f80 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 61 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e pan.class="line">a</span></code>
28fa0 20 69 73 20 61 6e 20 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e .is.an.<code><span.class="line">
28fc0 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
28fe0 3e 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 2c 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ></span></code>,................
29000 20 20 20 20 20 20 20 72 65 74 75 72 6e 73 20 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 .......returns.<code><span.class
29020 3d 22 6c 69 6e 65 22 3e 62 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 20 28 22 64 65 66 61 75 6c ="line">b</span></code>.("defaul
29040 74 20 76 61 6c 75 65 22 29 2c 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 t.value"),......................
29060 20 20 20 20 20 6f 74 68 65 72 77 69 73 65 20 72 65 74 75 72 6e 73 20 74 68 65 20 75 6e 77 72 61 .....otherwise.returns.the.unwra
29080 70 70 65 64 20 76 61 6c 75 65 20 6f 66 20 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d pped.value.of.<code><span.class=
290a0 22 6c 69 6e 65 22 3e 61 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 2e 0a 20 20 20 20 20 20 20 20 "line">a</span></code>..........
290c0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 4e 6f 74 65 20 74 68 61 74 20 ......................Note.that.
290e0 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 62 3c 2f 73 70 61 6e <code><span.class="line">b</span
29100 3e 3c 2f 63 6f 64 65 3e 20 6d 61 79 20 62 65 20 61 20 76 61 6c 75 65 20 6f 66 20 74 79 70 65 20 ></code>.may.be.a.value.of.type.
29120 3c 61 20 68 72 65 66 3d 22 23 6e 6f 72 65 74 75 72 6e 22 3e 6e 6f 72 65 74 75 72 6e 3c 2f 61 3e <a.href="#noreturn">noreturn</a>
29140 2e 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ................................
29160 20 20 20 20 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 65 72 72 ....<code><span.class="line">err
29180 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 20 69 73 20 74 68 65 20 3c 63 6f 64 65 3e 3c 73 70 61 </span></code>.is.the.<code><spa
291a0 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d n.class="line"><span.class="tok-
291c0 6b 77 22 3e 65 72 72 6f 72 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 20 61 kw">error</span></span></code>.a
291e0 6e 64 20 69 73 20 69 6e 20 73 63 6f 70 65 20 6f 66 20 74 68 65 20 65 78 70 72 65 73 73 69 6f 6e nd.is.in.scope.of.the.expression
29200 20 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 62 3c 2f 73 70 61 .<code><span.class="line">b</spa
29220 6e 3e 3c 2f 63 6f 64 65 3e 2e 0a 20 20 20 20 20 20 20 20 20 20 3c 2f 74 64 3e 0a 20 20 20 20 20 n></code>............</td>......
29240 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
29260 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d ><span.class="line"><span.class=
29280 22 74 6f 6b 2d 6b 77 22 3e 63 6f 6e 73 74 3c 2f 73 70 61 6e 3e 20 76 61 6c 75 65 3a 20 3c 73 70 "tok-kw">const</span>.value:.<sp
292a0 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 61 6e 79 65 72 72 6f 72 3c 2f 73 70 an.class="tok-type">anyerror</sp
292c0 61 6e 3e 21 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 75 33 32 3c 2f an>!<span.class="tok-type">u32</
292e0 73 70 61 6e 3e 20 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 65 72 72 span>.=.<span.class="tok-kw">err
29300 6f 72 3c 2f 73 70 61 6e 3e 2e 42 72 6f 6b 65 6e 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 or</span>.Broken;</span>.<span.c
29320 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 lass="line"><span.class="tok-kw"
29340 3e 63 6f 6e 73 74 3c 2f 73 70 61 6e 3e 20 75 6e 77 72 61 70 70 65 64 20 3d 20 76 61 6c 75 65 20 >const</span>.unwrapped.=.value.
29360 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
29380 3e 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 31 32 33 34 3c >.<span.class="tok-number">1234<
293a0 2f 73 70 61 6e 3e 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 /span>;</span>.<span.class="line
293c0 22 3e 75 6e 77 72 61 70 70 65 64 20 3d 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d ">unwrapped.==.<span.class="tok-
293e0 6e 75 6d 62 65 72 22 3e 31 32 33 34 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 number">1234</span></span></code
29400 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>.........
29420 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
29440 20 73 63 6f 70 65 3d 22 72 6f 77 22 3e 3c 70 72 65 3e 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c .scope="row"><pre><code><span.cl
29460 61 73 73 3d 22 6c 69 6e 65 22 3e 61 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 ass="line">a.<span.class="tok-kw
29480 22 3e 61 6e 64 3c 2f 73 70 61 6e 3e 20 62 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 3c 2f 70 72 ">and</span>.b</span></code></pr
294a0 65 3e 3c 2f 74 68 3e 0a 20 20 20 20 20 20 20 20 20 20 3c 74 64 3e 0a 20 20 20 20 20 20 20 20 20 e></th>...........<td>..........
294c0 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
294e0 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
29500 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>...........<
29520 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>.............
29540 20 20 49 66 20 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 61 3c ..If.<code><span.class="line">a<
29560 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 20 69 73 20 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 /span></code>.is.<code><span.cla
29580 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6c 6c 22 ss="line"><span.class="tok-null"
295a0 3e 66 61 6c 73 65 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 2c 20 72 65 74 >false</span></span></code>,.ret
295c0 75 72 6e 73 20 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 urns.<code><span.class="line"><s
295e0 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
29600 3e 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ></span></code>.................
29620 20 20 20 20 20 20 20 20 20 20 77 69 74 68 6f 75 74 20 65 76 61 6c 75 61 74 69 6e 67 20 3c 63 6f ..........without.evaluating.<co
29640 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 62 3c 2f 73 70 61 6e 3e 3c 2f de><span.class="line">b</span></
29660 63 6f 64 65 3e 2e 20 4f 74 68 65 72 77 69 73 65 2c 20 72 65 74 75 72 6e 73 20 3c 63 6f 64 65 3e code>..Otherwise,.returns.<code>
29680 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 62 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 <span.class="line">b</span></cod
296a0 65 3e 2e 0a 20 20 20 20 20 20 20 20 20 20 3c 2f 74 64 3e 0a 20 20 20 20 20 20 20 20 20 20 3c 74 e>............</td>...........<t
296c0 64 3e 0a 20 20 20 20 20 20 20 20 20 20 20 20 3c 70 72 65 3e 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 d>.............<pre><code><span.
296e0 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 28 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e class="line">(<span.class="tok-n
29700 75 6c 6c 22 3e 66 61 6c 73 65 3c 2f 73 70 61 6e 3e 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 ull">false</span>.<span.class="t
29720 6f 6b 2d 6b 77 22 3e 61 6e 64 3c 2f 73 70 61 6e 3e 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 ok-kw">and</span>.<span.class="t
29740 6f 6b 2d 6e 75 6c 6c 22 3e 74 72 75 65 3c 2f 73 70 61 6e 3e 29 20 3d 3d 20 3c 73 70 61 6e 20 63 ok-null">true</span>).==.<span.c
29760 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6c 6c 22 3e 66 61 6c 73 65 3c 2f 73 70 61 6e 3e 3c 2f 73 70 lass="tok-null">false</span></sp
29780 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>
297a0 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>.....
297c0 20 20 20 20 20 20 3c 74 68 20 73 63 6f 70 65 3d 22 72 6f 77 22 3e 3c 70 72 65 3e 3c 63 6f 64 65 ......<th.scope="row"><pre><code
297e0 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 61 20 3c 73 70 61 6e 20 63 6c 61 73 ><span.class="line">a.<span.clas
29800 73 3d 22 74 6f 6b 2d 6b 77 22 3e 6f 72 3c 2f 73 70 61 6e 3e 20 62 3c 2f 73 70 61 6e 3e 3c 2f 63 s="tok-kw">or</span>.b</span></c
29820 6f 64 65 3e 3c 2f 70 72 65 3e 3c 2f 74 68 3e 0a 20 20 20 20 20 20 20 20 20 20 3c 74 64 3e 0a 20 ode></pre></th>...........<td>..
29840 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
29860 69 3e 3c 61 20 68 72 65 66 3d 22 23 50 72 69 6d 69 74 69 76 65 2d 54 79 70 65 73 22 3e 62 6f 6f i><a.href="#Primitive-Types">boo
29880 6c 3c 2f 61 3e 3c 2f 6c 69 3e 0a 20 20 20 20 20 20 20 20 20 20 20 20 3c 2f 75 6c 3e 0a 20 20 20 l</a></li>.............</ul>....
298a0 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>.....
298c0 20 20 20 20 20 20 20 20 20 20 49 66 20 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 ..........If.<code><span.class="
298e0 6c 69 6e 65 22 3e 61 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 20 69 73 20 3c 63 6f 64 65 3e 3c line">a</span></code>.is.<code><
29900 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 span.class="line"><span.class="t
29920 6f 6b 2d 6e 75 6c 6c 22 3e 74 72 75 65 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 ok-null">true</span></span></cod
29940 65 3e 2c 20 72 65 74 75 72 6e 73 20 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c e>,.returns.<code><span.class="l
29960 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6c 6c 22 3e 74 72 75 65 ine"><span.class="tok-null">true
29980 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 0a 20 20 20 20 20 20 20 20 20 20 </span></span></code>...........
299a0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 77 69 74 68 6f 75 74 20 65 76 61 6c 75 61 74 69 ................without.evaluati
299c0 6e 67 20 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 62 3c 2f 73 ng.<code><span.class="line">b</s
299e0 70 61 6e 3e 3c 2f 63 6f 64 65 3e 2e 20 4f 74 68 65 72 77 69 73 65 2c 20 72 65 74 75 72 6e 73 20 pan></code>..Otherwise,.returns.
29a00 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 62 3c 2f 73 70 61 6e <code><span.class="line">b</span
29a20 3e 3c 2f 63 6f 64 65 3e 2e 0a 20 20 20 20 20 20 20 20 20 20 3c 2f 74 64 3e 0a 20 20 20 20 20 20 ></code>............</td>.......
29a40 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>
29a60 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 28 3c 73 70 61 6e 20 63 6c 61 73 73 3d <span.class="line">(<span.class=
29a80 22 74 6f 6b 2d 6e 75 6c 6c 22 3e 66 61 6c 73 65 3c 2f 73 70 61 6e 3e 20 3c 73 70 61 6e 20 63 6c "tok-null">false</span>.<span.cl
29aa0 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 6f 72 3c 2f 73 70 61 6e 3e 20 3c 73 70 61 6e 20 63 6c 61 ass="tok-kw">or</span>.<span.cla
29ac0 73 73 3d 22 74 6f 6b 2d 6e 75 6c 6c 22 3e 74 72 75 65 3c 2f 73 70 61 6e 3e 29 20 3d 3d 20 3c 73 ss="tok-null">true</span>).==.<s
29ae0 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>
29b00 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>...........<
29b20 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>.
29b40 20 20 20 20 20 20 20 20 20 20 3c 74 68 20 73 63 6f 70 65 3d 22 72 6f 77 22 3e 3c 70 72 65 3e 3c ..........<th.scope="row"><pre><
29b60 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 21 61 3c 2f 73 70 61 6e code><span.class="line">!a</span
29b80 3e 3c 2f 63 6f 64 65 3e 3c 2f 70 72 65 3e 3c 2f 74 68 3e 0a 20 20 20 20 20 20 20 20 20 20 3c 74 ></code></pre></th>...........<t
29ba0 64 3e 0a 20 20 20 20 20 20 20 20 20 20 20 20 3c 75 6c 3e 0a 20 20 20 20 20 20 20 20 20 20 20 20 d>.............<ul>.............
29bc0 20 20 3c 6c 69 3e 3c 61 20 68 72 65 66 3d 22 23 50 72 69 6d 69 74 69 76 65 2d 54 79 70 65 73 22 ..<li><a.href="#Primitive-Types"
29be0 3e 62 6f 6f 6c 3c 2f 61 3e 3c 2f 6c 69 3e 0a 20 20 20 20 20 20 20 20 20 20 20 20 3c 2f 75 6c 3e >bool</a></li>.............</ul>
29c00 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>.
29c20 20 20 20 20 20 20 20 20 20 20 20 20 42 6f 6f 6c 65 61 6e 20 4e 4f 54 2e 0a 20 20 20 20 20 20 20 ............Boolean.NOT.........
29c40 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>.........
29c60 20 20 20 20 3c 70 72 65 3e 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 ....<pre><code><span.class="line
29c80 22 3e 21 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6c 6c 22 3e 66 61 6c 73 65 3c ">!<span.class="tok-null">false<
29ca0 2f 73 70 61 6e 3e 20 3d 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6c 6c 22 /span>.==.<span.class="tok-null"
29cc0 3e 74 72 75 65 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 3c 2f 70 72 65 3e >true</span></span></code></pre>
29ce0 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>..
29d00 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=
29d20 22 72 6f 77 22 3e 3c 70 72 65 3e 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 "row"><pre><code><span.class="li
29d40 6e 65 22 3e 61 20 3d 3d 20 62 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 3c 2f 70 72 65 3e 3c 2f ne">a.==.b</span></code></pre></
29d60 74 68 3e 0a 20 20 20 20 20 20 20 20 20 20 3c 74 64 3e 0a 20 20 20 20 20 20 20 20 20 20 20 20 3c th>...........<td>.............<
29d80 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="#
29da0 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>.....
29dc0 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">
29de0 46 6c 6f 61 74 73 3c 2f 61 3e 3c 2f 6c 69 3e 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 3c 6c Floats</a></li>...............<l
29e00 69 3e 3c 61 20 68 72 65 66 3d 22 23 50 72 69 6d 69 74 69 76 65 2d 54 79 70 65 73 22 3e 62 6f 6f i><a.href="#Primitive-Types">boo
29e20 6c 3c 2f 61 3e 3c 2f 6c 69 3e 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 3c 6c 69 3e 3c 61 20 l</a></li>...............<li><a.
29e40 68 72 65 66 3d 22 23 50 72 69 6d 69 74 69 76 65 2d 54 79 70 65 73 22 3e 74 79 70 65 3c 2f 61 3e href="#Primitive-Types">type</a>
29e60 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>.........
29e80 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>..........
29ea0 20 20 20 20 20 52 65 74 75 72 6e 73 20 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 .....Returns.<code><span.class="
29ec0 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6c 6c 22 3e 74 72 75 line"><span.class="tok-null">tru
29ee0 65 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 20 69 66 20 61 20 61 6e 64 20 e</span></span></code>.if.a.and.
29f00 62 20 61 72 65 20 65 71 75 61 6c 2c 20 6f 74 68 65 72 77 69 73 65 20 72 65 74 75 72 6e 73 20 3c b.are.equal,.otherwise.returns.<
29f20 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c code><span.class="line"><span.cl
29f40 61 73 73 3d 22 74 6f 6b 2d 6e 75 6c 6c 22 3e 66 61 6c 73 65 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 ass="tok-null">false</span></spa
29f60 6e 3e 3c 2f 63 6f 64 65 3e 2e 0a 20 20 20 20 20 20 20 20 20 20 20 20 49 6e 76 6f 6b 65 73 20 3c n></code>..............Invokes.<
29f80 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
29fa0 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.
29fc0 6f 70 65 72 61 6e 64 73 2e 0a 20 20 20 20 20 20 20 20 20 20 3c 2f 74 64 3e 0a 20 20 20 20 20 20 operands............</td>.......
29fe0 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>
2a000 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 28 3c 73 70 61 6e 20 63 6c 61 73 73 3d <span.class="line">(<span.class=
2a020 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 31 3c 2f 73 70 61 6e 3e 20 3d 3d 20 3c 73 70 61 6e 20 63 "tok-number">1</span>.==.<span.c
2a040 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 31 3c 2f 73 70 61 6e 3e 29 20 3d 3d 20 3c lass="tok-number">1</span>).==.<
2a060 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
2a080 3e 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 3c 2f 70 72 65 3e 0a 20 20 20 20 20 20 20 20 20 20 ></span></code></pre>...........
2a0a0 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>
2a0c0 0a 20 20 20 20 20 20 20 20 20 20 3c 74 68 20 73 63 6f 70 65 3d 22 72 6f 77 22 3e 3c 70 72 65 3e ...........<th.scope="row"><pre>
2a0e0 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 61 20 3d 3d 20 3c 73 <code><span.class="line">a.==.<s
2a100 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>
2a120 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 3c 2f 70 72 65 3e 3c 2f 74 68 3e 0a 20 20 20 20 20 20 </span></code></pre></th>.......
2a140 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>.......
2a160 20 20 20 20 20 20 20 20 3c 6c 69 3e 3c 61 20 68 72 65 66 3d 22 23 4f 70 74 69 6f 6e 61 6c 73 22 ........<li><a.href="#Optionals"
2a180 3e 4f 70 74 69 6f 6e 61 6c 73 3c 2f 61 3e 3c 2f 6c 69 3e 0a 20 20 20 20 20 20 20 20 20 20 20 20 >Optionals</a></li>.............
2a1a0 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>...........
2a1c0 3c 74 64 3e 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 52 65 74 75 72 6e 73 20 3c 63 6f 64 65 <td>...............Returns.<code
2a1e0 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d ><span.class="line"><span.class=
2a200 22 74 6f 6b 2d 6e 75 6c 6c 22 3e 74 72 75 65 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 3c 2f 63 "tok-null">true</span></span></c
2a220 6f 64 65 3e 20 69 66 20 61 20 69 73 20 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 ode>.if.a.is.<code><span.class="
2a240 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6c 6c 22 3e 6e 75 6c line"><span.class="tok-null">nul
2a260 6c 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 2c 20 6f 74 68 65 72 77 69 73 l</span></span></code>,.otherwis
2a280 65 20 72 65 74 75 72 6e 73 20 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e e.returns.<code><span.class="lin
2a2a0 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6c 6c 22 3e 66 61 6c 73 65 3c e"><span.class="tok-null">false<
2a2c0 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 2e 0a 20 20 20 20 20 20 20 20 20 20 /span></span></code>............
2a2e0 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>............
2a300 20 3c 70 72 65 3e 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c .<pre><code><span.class="line"><
2a320 73 70 61 6e 20 63 6c 61 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>
2a340 20 76 61 6c 75 65 3a 20 3f 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e .value:.?<span.class="tok-type">
2a360 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
2a380 6c 6c 22 3e 6e 75 6c 6c 3c 2f 73 70 61 6e 3e 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c ll">null</span>;</span>.<span.cl
2a3a0 61 73 73 3d 22 6c 69 6e 65 22 3e 76 61 6c 75 65 20 3d 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d ass="line">value.==.<span.class=
2a3c0 22 74 6f 6b 2d 6e 75 6c 6c 22 3e 6e 75 6c 6c 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 3c 2f 63 "tok-null">null</span></span></c
2a3e0 6f 64 65 3e 3c 2f 70 72 65 3e 0a 20 20 20 20 20 20 20 20 20 20 3c 2f 74 64 3e 0a 20 20 20 20 20 ode></pre>...........</td>......
2a400 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>...........
2a420 3c 74 68 20 73 63 6f 70 65 3d 22 72 6f 77 22 3e 3c 70 72 65 3e 3c 63 6f 64 65 3e 3c 73 70 61 6e <th.scope="row"><pre><code><span
2a440 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 61 20 21 3d 20 62 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 .class="line">a.!=.b</span></cod
2a460 65 3e 3c 2f 70 72 65 3e 3c 2f 74 68 3e 0a 20 20 20 20 20 20 20 20 20 20 3c 74 64 3e 0a 20 20 20 e></pre></th>...........<td>....
2a480 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>
2a4a0 3c 61 20 68 72 65 66 3d 22 23 49 6e 74 65 67 65 72 73 22 3e 49 6e 74 65 67 65 72 73 3c 2f 61 3e <a.href="#Integers">Integers</a>
2a4c0 3c 2f 6c 69 3e 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 3c 6c 69 3e 3c 61 20 68 72 65 66 3d </li>...............<li><a.href=
2a4e0 22 23 46 6c 6f 61 74 73 22 3e 46 6c 6f 61 74 73 3c 2f 61 3e 3c 2f 6c 69 3e 0a 20 20 20 20 20 20 "#Floats">Floats</a></li>.......
2a500 20 20 20 20 20 20 20 20 3c 6c 69 3e 3c 61 20 68 72 65 66 3d 22 23 50 72 69 6d 69 74 69 76 65 2d ........<li><a.href="#Primitive-
2a520 54 79 70 65 73 22 3e 62 6f 6f 6c 3c 2f 61 3e 3c 2f 6c 69 3e 0a 20 20 20 20 20 20 20 20 20 20 20 Types">bool</a></li>............
2a540 20 20 20 3c 6c 69 3e 3c 61 20 68 72 65 66 3d 22 23 50 72 69 6d 69 74 69 76 65 2d 54 79 70 65 73 ...<li><a.href="#Primitive-Types
2a560 22 3e 74 79 70 65 3c 2f 61 3e 3c 2f 6c 69 3e 0a 20 20 20 20 20 20 20 20 20 20 20 20 3c 2f 75 6c ">type</a></li>.............</ul
2a580 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>
2a5a0 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
2a5c0 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b an.class="line"><span.class="tok
2a5e0 2d 6e 75 6c 6c 22 3e 66 61 6c 73 65 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 -null">false</span></span></code
2a600 3e 20 69 66 20 61 20 61 6e 64 20 62 20 61 72 65 20 65 71 75 61 6c 2c 20 6f 74 68 65 72 77 69 73 >.if.a.and.b.are.equal,.otherwis
2a620 65 20 72 65 74 75 72 6e 73 20 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e e.returns.<code><span.class="lin
2a640 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6c 6c 22 3e 74 72 75 65 3c 2f e"><span.class="tok-null">true</
2a660 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 2e 0a 20 20 20 20 20 20 20 20 20 20 20 span></span></code>.............
2a680 20 49 6e 76 6f 6b 65 73 20 3c 61 20 68 72 65 66 3d 22 23 50 65 65 72 2d 54 79 70 65 2d 52 65 73 .Invokes.<a.href="#Peer-Type-Res
2a6a0 6f 6c 75 74 69 6f 6e 22 3e 50 65 65 72 20 54 79 70 65 20 52 65 73 6f 6c 75 74 69 6f 6e 3c 2f 61 olution">Peer.Type.Resolution</a
2a6c0 3e 20 66 6f 72 20 74 68 65 20 6f 70 65 72 61 6e 64 73 2e 0a 20 20 20 20 20 20 20 20 20 20 3c 2f >.for.the.operands............</
2a6e0 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>.............<
2a700 70 72 65 3e 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 28 3c 73 pre><code><span.class="line">(<s
2a720 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 31 3c 2f 73 70 61 6e 3e 20 pan.class="tok-number">1</span>.
2a740 21 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 31 3c 2f 73 !=.<span.class="tok-number">1</s
2a760 70 61 6e 3e 29 20 3d 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6c 6c 22 3e pan>).==.<span.class="tok-null">
2a780 66 61 6c 73 65 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 3c 2f 70 72 65 3e false</span></span></code></pre>
2a7a0 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>..
2a7c0 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=
2a7e0 22 72 6f 77 22 3e 3c 70 72 65 3e 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 "row"><pre><code><span.class="li
2a800 6e 65 22 3e 61 20 26 67 74 3b 20 62 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 3c 2f 70 72 65 3e ne">a.&gt;.b</span></code></pre>
2a820 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>............
2a840 20 3c 75 6c 3e 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 3c 6c 69 3e 3c 61 20 68 72 65 66 3d .<ul>...............<li><a.href=
2a860 22 23 49 6e 74 65 67 65 72 73 22 3e 49 6e 74 65 67 65 72 73 3c 2f 61 3e 3c 2f 6c 69 3e 0a 20 20 "#Integers">Integers</a></li>...
2a880 20 20 20 20 20 20 20 20 20 20 20 20 3c 6c 69 3e 3c 61 20 68 72 65 66 3d 22 23 46 6c 6f 61 74 73 ............<li><a.href="#Floats
2a8a0 22 3e 46 6c 6f 61 74 73 3c 2f 61 3e 3c 2f 6c 69 3e 0a 20 20 20 20 20 20 20 20 20 20 20 20 3c 2f ">Floats</a></li>.............</
2a8c0 75 6c 3e 0a 20 20 20 20 20 20 20 20 20 20 3c 2f 74 64 3e 0a 20 20 20 20 20 20 20 20 20 20 3c 74 ul>...........</td>...........<t
2a8e0 64 3e 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 52 65 74 75 72 6e 73 20 3c 63 6f 64 65 3e 3c d>...............Returns.<code><
2a900 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 span.class="line"><span.class="t
2a920 6f 6b 2d 6e 75 6c 6c 22 3e 74 72 75 65 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 ok-null">true</span></span></cod
2a940 65 3e 20 69 66 20 61 20 69 73 20 67 72 65 61 74 65 72 20 74 68 61 6e 20 62 2c 20 6f 74 68 65 72 e>.if.a.is.greater.than.b,.other
2a960 77 69 73 65 20 72 65 74 75 72 6e 73 20 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 wise.returns.<code><span.class="
2a980 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6c 6c 22 3e 66 61 6c line"><span.class="tok-null">fal
2a9a0 73 65 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 2e 0a 20 20 20 20 20 20 20 se</span></span></code>.........
2a9c0 20 20 20 20 20 49 6e 76 6f 6b 65 73 20 3c 61 20 68 72 65 66 3d 22 23 50 65 65 72 2d 54 79 70 65 .....Invokes.<a.href="#Peer-Type
2a9e0 2d 52 65 73 6f 6c 75 74 69 6f 6e 22 3e 50 65 65 72 20 54 79 70 65 20 52 65 73 6f 6c 75 74 69 6f -Resolution">Peer.Type.Resolutio
2aa00 6e 3c 2f 61 3e 20 66 6f 72 20 74 68 65 20 6f 70 65 72 61 6e 64 73 2e 0a 20 20 20 20 20 20 20 20 n</a>.for.the.operands..........
2aa20 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>..........
2aa40 20 20 20 3c 70 72 65 3e 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 ...<pre><code><span.class="line"
2aa60 3e 28 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 32 3c 2f 73 70 >(<span.class="tok-number">2</sp
2aa80 61 6e 3e 20 26 67 74 3b 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 an>.&gt;.<span.class="tok-number
2aaa0 22 3e 31 3c 2f 73 70 61 6e 3e 29 20 3d 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d ">1</span>).==.<span.class="tok-
2aac0 6e 75 6c 6c 22 3e 74 72 75 65 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 3c null">true</span></span></code><
2aae0 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>.........</
2ab00 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
2ab20 63 6f 70 65 3d 22 72 6f 77 22 3e 3c 70 72 65 3e 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 cope="row"><pre><code><span.clas
2ab40 73 3d 22 6c 69 6e 65 22 3e 61 20 26 67 74 3b 3d 20 62 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e s="line">a.&gt;=.b</span></code>
2ab60 3c 2f 70 72 65 3e 3c 2f 74 68 3e 0a 20 20 20 20 20 20 20 20 20 20 3c 74 64 3e 0a 20 20 20 20 20 </pre></th>...........<td>......
2ab80 20 20 20 20 20 20 20 3c 75 6c 3e 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 3c 6c 69 3e 3c 61 .......<ul>...............<li><a
2aba0 20 68 72 65 66 3d 22 23 49 6e 74 65 67 65 72 73 22 3e 49 6e 74 65 67 65 72 73 3c 2f 61 3e 3c 2f .href="#Integers">Integers</a></
2abc0 6c 69 3e 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 3c 6c 69 3e 3c 61 20 68 72 65 66 3d 22 23 li>...............<li><a.href="#
2abe0 46 6c 6f 61 74 73 22 3e 46 6c 6f 61 74 73 3c 2f 61 3e 3c 2f 6c 69 3e 0a 20 20 20 20 20 20 20 20 Floats">Floats</a></li>.........
2ac00 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>.......
2ac20 20 20 20 20 3c 74 64 3e 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 52 65 74 75 72 6e 73 20 3c ....<td>...............Returns.<
2ac40 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c code><span.class="line"><span.cl
2ac60 61 73 73 3d 22 74 6f 6b 2d 6e 75 6c 6c 22 3e 74 72 75 65 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e ass="tok-null">true</span></span
2ac80 3e 3c 2f 63 6f 64 65 3e 20 69 66 20 61 20 69 73 20 67 72 65 61 74 65 72 20 74 68 61 6e 20 6f 72 ></code>.if.a.is.greater.than.or
2aca0 20 65 71 75 61 6c 20 74 6f 20 62 2c 20 6f 74 68 65 72 77 69 73 65 20 72 65 74 75 72 6e 73 20 3c .equal.to.b,.otherwise.returns.<
2acc0 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c code><span.class="line"><span.cl
2ace0 61 73 73 3d 22 74 6f 6b 2d 6e 75 6c 6c 22 3e 66 61 6c 73 65 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 ass="tok-null">false</span></spa
2ad00 6e 3e 3c 2f 63 6f 64 65 3e 2e 0a 20 20 20 20 20 20 20 20 20 20 20 20 49 6e 76 6f 6b 65 73 20 3c n></code>..............Invokes.<
2ad20 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
2ad40 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.
2ad60 6f 70 65 72 61 6e 64 73 2e 0a 20 20 20 20 20 20 20 20 20 20 3c 2f 74 64 3e 0a 20 20 20 20 20 20 operands............</td>.......
2ad80 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>
2ada0 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 28 3c 73 70 61 6e 20 63 6c 61 73 73 3d <span.class="line">(<span.class=
2adc0 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 32 3c 2f 73 70 61 6e 3e 20 26 67 74 3b 3d 20 3c 73 70 61 "tok-number">2</span>.&gt;=.<spa
2ade0 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 31 3c 2f 73 70 61 6e 3e 29 20 3d n.class="tok-number">1</span>).=
2ae00 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6c 6c 22 3e 74 72 75 65 3c 2f 73 =.<span.class="tok-null">true</s
2ae20 70 61 6e 3e 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 3c 2f 70 72 65 3e 0a 20 20 20 20 20 20 20 pan></span></code></pre>........
2ae40 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>.........<
2ae60 74 72 3e 0a 20 20 20 20 20 20 20 20 20 20 3c 74 68 20 73 63 6f 70 65 3d 22 72 6f 77 22 3e 3c 70 tr>...........<th.scope="row"><p
2ae80 72 65 3e 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 61 20 26 6c re><code><span.class="line">a.&l
2aea0 74 3b 20 62 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 3c 2f 70 72 65 3e 3c 2f 74 68 3e 0a 20 20 t;.b</span></code></pre></th>...
2aec0 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>...
2aee0 20 20 20 20 20 20 20 20 20 20 20 20 3c 6c 69 3e 3c 61 20 68 72 65 66 3d 22 23 49 6e 74 65 67 65 ............<li><a.href="#Intege
2af00 72 73 22 3e 49 6e 74 65 67 65 72 73 3c 2f 61 3e 3c 2f 6c 69 3e 0a 20 20 20 20 20 20 20 20 20 20 rs">Integers</a></li>...........
2af20 20 20 20 20 3c 6c 69 3e 3c 61 20 68 72 65 66 3d 22 23 46 6c 6f 61 74 73 22 3e 46 6c 6f 61 74 73 ....<li><a.href="#Floats">Floats
2af40 3c 2f 61 3e 3c 2f 6c 69 3e 0a 20 20 20 20 20 20 20 20 20 20 20 20 3c 2f 75 6c 3e 0a 20 20 20 20 </a></li>.............</ul>.....
2af60 20 20 20 20 20 20 3c 2f 74 64 3e 0a 20 20 20 20 20 20 20 20 20 20 3c 74 64 3e 0a 20 20 20 20 20 ......</td>...........<td>......
2af80 20 20 20 20 20 20 20 20 20 52 65 74 75 72 6e 73 20 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 .........Returns.<code><span.cla
2afa0 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6c 6c 22 ss="line"><span.class="tok-null"
2afc0 3e 74 72 75 65 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 20 69 66 20 61 20 >true</span></span></code>.if.a.
2afe0 69 73 20 6c 65 73 73 20 74 68 61 6e 20 62 2c 20 6f 74 68 65 72 77 69 73 65 20 72 65 74 75 72 6e is.less.than.b,.otherwise.return
2b000 73 20 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e s.<code><span.class="line"><span
2b020 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6c 6c 22 3e 66 61 6c 73 65 3c 2f 73 70 61 6e 3e 3c 2f .class="tok-null">false</span></
2b040 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
2b060 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
2b080 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
2b0a0 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>....
2b0c0 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
2b0e0 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 28 3c 73 70 61 6e 20 63 6c 61 de><span.class="line">(<span.cla
2b100 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 31 3c 2f 73 70 61 6e 3e 20 26 6c 74 3b 20 3c 73 ss="tok-number">1</span>.&lt;.<s
2b120 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 32 3c 2f 73 70 61 6e 3e 29 pan.class="tok-number">2</span>)
2b140 20 3d 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6c 6c 22 3e 74 72 75 65 3c .==.<span.class="tok-null">true<
2b160 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 3e 3c 2f 70 72 65 3e 0a 20 20 20 20 /span></span></code>></pre>.....
2b180 20 20 20 20 20 20 3c 2f 74 64 3e 0a 20 20 20 20 20 20 20 20 3c 2f 74 72 3e 0a 20 20 20 20 20 20 ......</td>.........</tr>.......
2b1a0 20 20 3c 74 72 3e 0a 20 20 20 20 20 20 20 20 20 20 3c 74 68 20 73 63 6f 70 65 3d 22 72 6f 77 22 ..<tr>...........<th.scope="row"
2b1c0 3e 3c 70 72 65 3e 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 61 ><pre><code><span.class="line">a
2b1e0 20 26 6c 74 3b 3d 20 62 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 3c 2f 70 72 65 3e 3c 2f 74 68 .&lt;=.b</span></code></pre></th
2b200 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
2b220 3e 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 3c 6c 69 3e 3c 61 20 68 72 65 66 3d 22 23 49 6e >...............<li><a.href="#In
2b240 74 65 67 65 72 73 22 3e 49 6e 74 65 67 65 72 73 3c 2f 61 3e 3c 2f 6c 69 3e 0a 20 20 20 20 20 20 tegers">Integers</a></li>.......
2b260 20 20 20 20 20 20 20 20 3c 6c 69 3e 3c 61 20 68 72 65 66 3d 22 23 46 6c 6f 61 74 73 22 3e 46 6c ........<li><a.href="#Floats">Fl
2b280 6f 61 74 73 3c 2f 61 3e 3c 2f 6c 69 3e 0a 20 20 20 20 20 20 20 20 20 20 20 20 3c 2f 75 6c 3e 0a oats</a></li>.............</ul>.
2b2a0 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>..
2b2c0 20 20 20 20 20 20 20 20 20 20 20 20 20 52 65 74 75 72 6e 73 20 3c 63 6f 64 65 3e 3c 73 70 61 6e .............Returns.<code><span
2b2e0 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e .class="line"><span.class="tok-n
2b300 75 6c 6c 22 3e 74 72 75 65 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 20 69 ull">true</span></span></code>.i
2b320 66 20 61 20 69 73 20 6c 65 73 73 20 74 68 61 6e 20 6f 72 20 65 71 75 61 6c 20 74 6f 20 62 2c 20 f.a.is.less.than.or.equal.to.b,.
2b340 6f 74 68 65 72 77 69 73 65 20 72 65 74 75 72 6e 73 20 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c otherwise.returns.<code><span.cl
2b360 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6c 6c ass="line"><span.class="tok-null
2b380 22 3e 66 61 6c 73 65 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 2e 0a 20 20 ">false</span></span></code>....
2b3a0 20 20 20 20 20 20 20 20 20 20 49 6e 76 6f 6b 65 73 20 3c 61 20 68 72 65 66 3d 22 23 50 65 65 72 ..........Invokes.<a.href="#Peer
2b3c0 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
2b3e0 6c 75 74 69 6f 6e 3c 2f 61 3e 20 66 6f 72 20 74 68 65 20 6f 70 65 72 61 6e 64 73 2e 0a 20 20 20 lution</a>.for.the.operands.....
2b400 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>.....
2b420 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="
2b440 6c 69 6e 65 22 3e 28 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e line">(<span.class="tok-number">
2b460 31 3c 2f 73 70 61 6e 3e 20 26 6c 74 3b 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 1</span>.&lt;=.<span.class="tok-
2b480 6e 75 6d 62 65 72 22 3e 32 3c 2f 73 70 61 6e 3e 29 20 3d 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 number">2</span>).==.<span.class
2b4a0 3d 22 74 6f 6b 2d 6e 75 6c 6c 22 3e 74 72 75 65 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 3c 2f ="tok-null">true</span></span></
2b4c0 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>.....
2b4e0 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>..........
2b500 20 3c 74 68 20 73 63 6f 70 65 3d 22 72 6f 77 22 3e 3c 70 72 65 3e 3c 63 6f 64 65 3e 3c 73 70 61 .<th.scope="row"><pre><code><spa
2b520 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 61 20 2b 2b 20 62 3c 2f 73 70 61 6e 3e 3c 2f 63 6f n.class="line">a.++.b</span></co
2b540 64 65 3e 3c 2f 70 72 65 3e 3c 2f 74 68 3e 0a 20 20 20 20 20 20 20 20 20 20 3c 74 64 3e 0a 20 20 de></pre></th>...........<td>...
2b560 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
2b580 3e 3c 61 20 68 72 65 66 3d 22 23 41 72 72 61 79 73 22 3e 41 72 72 61 79 73 3c 2f 61 3e 3c 2f 6c ><a.href="#Arrays">Arrays</a></l
2b5a0 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>...........<
2b5c0 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>.............
2b5e0 41 72 72 61 79 20 63 6f 6e 63 61 74 65 6e 61 74 69 6f 6e 2e 0a 20 20 20 20 20 20 20 20 20 20 20 Array.concatenation.............
2b600 20 3c 75 6c 3e 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 3c 6c 69 3e 4f 6e 6c 79 20 61 76 61 .<ul>...............<li>Only.ava
2b620 69 6c 61 62 6c 65 20 77 68 65 6e 20 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c ilable.when.<code><span.class="l
2b640 69 6e 65 22 3e 61 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 20 61 6e 64 20 3c 63 6f 64 65 3e 3c ine">a</span></code>.and.<code><
2b660 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 62 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 span.class="line">b</span></code
2b680 3e 20 61 72 65 20 3c 61 20 68 72 65 66 3d 22 23 63 6f 6d 70 74 69 6d 65 22 3e 63 6f 6d 70 69 6c >.are.<a.href="#comptime">compil
2b6a0 65 2d 74 69 6d 65 20 6b 6e 6f 77 6e 3c 2f 61 3e 2e 3c 2f 6c 69 3e 0a 20 20 20 20 20 20 20 20 20 e-time.known</a>.</li>..........
2b6c0 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>........
2b6e0 20 20 20 3c 74 64 3e 0a 20 20 20 20 20 20 20 20 20 20 20 20 3c 70 72 65 3e 3c 63 6f 64 65 3e 3c ...<td>.............<pre><code><
2b700 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 span.class="line"><span.class="t
2b720 6f 6b 2d 6b 77 22 3e 63 6f 6e 73 74 3c 2f 73 70 61 6e 3e 20 6d 65 6d 20 3d 20 3c 73 70 61 6e 20 ok-kw">const</span>.mem.=.<span.
2b740 63 6c 61 73 73 3d 22 74 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
2b760 6e 3e 28 3c 73 70 61 6e 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
2b780 74 64 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 29 2e 6d 65 6d 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 td&quot;</span>).mem;</span>.<sp
2b7a0 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b an.class="line"><span.class="tok
2b7c0 2d 6b 77 22 3e 63 6f 6e 73 74 3c 2f 73 70 61 6e 3e 20 61 72 72 61 79 31 20 3d 20 5b 5f 5d 3c 73 -kw">const</span>.array1.=.[_]<s
2b7e0 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 7b pan.class="tok-type">u32</span>{
2b800 3c 73 70 61 6e 20 63 6c 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
2b820 3e 2c 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 32 3c 2f 73 70 >,<span.class="tok-number">2</sp
2b840 61 6e 3e 7d 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e an>};</span>.<span.class="line">
2b860 3c 73 70 61 6e 20 63 6c 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
2b880 3e 20 61 72 72 61 79 32 20 3d 20 5b 5f 5d 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 >.array2.=.[_]<span.class="tok-t
2b8a0 79 70 65 22 3e 75 33 32 3c 2f 73 70 61 6e 3e 7b 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b ype">u32</span>{<span.class="tok
2b8c0 2d 6e 75 6d 62 65 72 22 3e 33 3c 2f 73 70 61 6e 3e 2c 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 -number">3</span>,<span.class="t
2b8e0 6f 6b 2d 6e 75 6d 62 65 72 22 3e 34 3c 2f 73 70 61 6e 3e 7d 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 ok-number">4</span>};</span>.<sp
2b900 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b an.class="line"><span.class="tok
2b920 2d 6b 77 22 3e 63 6f 6e 73 74 3c 2f 73 70 61 6e 3e 20 74 6f 67 65 74 68 65 72 20 3d 20 61 72 72 -kw">const</span>.together.=.arr
2b940 61 79 31 20 2b 2b 20 61 72 72 61 79 32 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 ay1.++.array2;</span>.<span.clas
2b960 73 3d 22 6c 69 6e 65 22 3e 6d 65 6d 2e 65 71 6c 28 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f s="line">mem.eql(<span.class="to
2b980 6b 2d 74 79 70 65 22 3e 75 33 32 3c 2f 73 70 61 6e 3e 2c 20 26 61 6d 70 3b 74 6f 67 65 74 68 65 k-type">u32</span>,.&amp;togethe
2b9a0 72 2c 20 26 61 6d 70 3b 5b 5f 5d 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 r,.&amp;[_]<span.class="tok-type
2b9c0 22 3e 75 33 32 3c 2f 73 70 61 6e 3e 7b 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 ">u32</span>{<span.class="tok-nu
2b9e0 6d 62 65 72 22 3e 31 3c 2f 73 70 61 6e 3e 2c 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d mber">1</span>,<span.class="tok-
2ba00 6e 75 6d 62 65 72 22 3e 32 3c 2f 73 70 61 6e 3e 2c 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f number">2</span>,<span.class="to
2ba20 6b 2d 6e 75 6d 62 65 72 22 3e 33 3c 2f 73 70 61 6e 3e 2c 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 k-number">3</span>,<span.class="
2ba40 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 34 3c 2f 73 70 61 6e 3e 7d 29 3c 2f 73 70 61 6e 3e 3c 2f 63 tok-number">4</span>})</span></c
2ba60 6f 64 65 3e 3c 2f 70 72 65 3e 0a 20 20 20 20 20 20 20 20 20 20 3c 2f 74 64 3e 0a 20 20 20 20 20 ode></pre>...........</td>......
2ba80 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>...........
2baa0 3c 74 68 20 73 63 6f 70 65 3d 22 72 6f 77 22 3e 3c 70 72 65 3e 3c 63 6f 64 65 3e 3c 73 70 61 6e <th.scope="row"><pre><code><span
2bac0 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 61 20 2a 2a 20 62 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 .class="line">a.**.b</span></cod
2bae0 65 3e 3c 2f 70 72 65 3e 3c 2f 74 68 3e 0a 20 20 20 20 20 20 20 20 20 20 3c 74 64 3e 0a 20 20 20 e></pre></th>...........<td>....
2bb00 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>
2bb20 3c 61 20 68 72 65 66 3d 22 23 41 72 72 61 79 73 22 3e 41 72 72 61 79 73 3c 2f 61 3e 3c 2f 6c 69 <a.href="#Arrays">Arrays</a></li
2bb40 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>...........</
2bb60 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 41 td>...........<td>.............A
2bb80 72 72 61 79 20 6d 75 6c 74 69 70 6c 69 63 61 74 69 6f 6e 2e 0a 20 20 20 20 20 20 20 20 20 20 20 rray.multiplication.............
2bba0 20 3c 75 6c 3e 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 3c 6c 69 3e 4f 6e 6c 79 20 61 76 61 .<ul>...............<li>Only.ava
2bbc0 69 6c 61 62 6c 65 20 77 68 65 6e 20 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c ilable.when.<code><span.class="l
2bbe0 69 6e 65 22 3e 61 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 20 61 6e 64 20 3c 63 6f 64 65 3e 3c ine">a</span></code>.and.<code><
2bc00 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 62 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 span.class="line">b</span></code
2bc20 3e 20 61 72 65 20 3c 61 20 68 72 65 66 3d 22 23 63 6f 6d 70 74 69 6d 65 22 3e 63 6f 6d 70 69 6c >.are.<a.href="#comptime">compil
2bc40 65 2d 74 69 6d 65 20 6b 6e 6f 77 6e 3c 2f 61 3e 2e 3c 2f 6c 69 3e 0a 20 20 20 20 20 20 20 20 20 e-time.known</a>.</li>..........
2bc60 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>........
2bc80 20 20 20 3c 74 64 3e 0a 20 20 20 20 20 20 20 20 20 20 20 20 3c 70 72 65 3e 3c 63 6f 64 65 3e 3c ...<td>.............<pre><code><
2bca0 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 span.class="line"><span.class="t
2bcc0 6f 6b 2d 6b 77 22 3e 63 6f 6e 73 74 3c 2f 73 70 61 6e 3e 20 6d 65 6d 20 3d 20 3c 73 70 61 6e 20 ok-kw">const</span>.mem.=.<span.
2bce0 63 6c 61 73 73 3d 22 74 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
2bd00 6e 3e 28 3c 73 70 61 6e 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
2bd20 74 64 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 29 2e 6d 65 6d 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 td&quot;</span>).mem;</span>.<sp
2bd40 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b an.class="line"><span.class="tok
2bd60 2d 6b 77 22 3e 63 6f 6e 73 74 3c 2f 73 70 61 6e 3e 20 70 61 74 74 65 72 6e 20 3d 20 3c 73 70 61 -kw">const</span>.pattern.=.<spa
2bd80 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 73 74 72 22 3e 26 71 75 6f 74 3b 61 62 26 71 75 6f 74 3b n.class="tok-str">&quot;ab&quot;
2bda0 3c 2f 73 70 61 6e 3e 20 2a 2a 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 </span>.**.<span.class="tok-numb
2bdc0 65 72 22 3e 33 3c 2f 73 70 61 6e 3e 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 er">3</span>;</span>.<span.class
2bde0 3d 22 6c 69 6e 65 22 3e 6d 65 6d 2e 65 71 6c 28 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b ="line">mem.eql(<span.class="tok
2be00 2d 74 79 70 65 22 3e 75 38 3c 2f 73 70 61 6e 3e 2c 20 70 61 74 74 65 72 6e 2c 20 3c 73 70 61 6e -type">u8</span>,.pattern,.<span
2be20 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 73 74 72 22 3e 26 71 75 6f 74 3b 61 62 61 62 61 62 26 71 75 .class="tok-str">&quot;ababab&qu
2be40 6f 74 3b 3c 2f 73 70 61 6e 3e 29 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 3c 2f 70 72 65 3e 0a ot;</span>)</span></code></pre>.
2be60 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>...
2be80 20 20 20 20 20 20 3c 74 72 3e 0a 20 20 20 20 20 20 20 20 20 20 3c 74 68 20 73 63 6f 70 65 3d 22 ......<tr>...........<th.scope="
2bea0 72 6f 77 22 3e 3c 70 72 65 3e 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e row"><pre><code><span.class="lin
2bec0 65 22 3e 61 2e 2a 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 3c 2f 70 72 65 3e 3c 2f 74 68 3e 0a e">a.*</span></code></pre></th>.
2bee0 20 20 20 20 20 20 20 20 20 20 3c 74 64 3e 0a 20 20 20 20 20 20 20 20 20 20 20 20 3c 75 6c 3e 0a ..........<td>.............<ul>.
2bf00 20 20 20 20 20 20 20 20 20 20 20 20 20 20 3c 6c 69 3e 3c 61 20 68 72 65 66 3d 22 23 50 6f 69 6e ..............<li><a.href="#Poin
2bf20 74 65 72 73 22 3e 50 6f 69 6e 74 65 72 73 3c 2f 61 3e 3c 2f 6c 69 3e 0a 20 20 20 20 20 20 20 20 ters">Pointers</a></li>.........
2bf40 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>.......
2bf60 20 20 20 20 3c 74 64 3e 0a 20 20 20 20 20 20 20 20 20 20 20 20 50 6f 69 6e 74 65 72 20 64 65 72 ....<td>.............Pointer.der
2bf80 65 66 65 72 65 6e 63 65 2e 0a 20 20 20 20 20 20 20 20 20 20 3c 2f 74 64 3e 0a 20 20 20 20 20 20 eference............</td>.......
2bfa0 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>
2bfc0 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 <span.class="line"><span.class="
2bfe0 74 6f 6b 2d 6b 77 22 3e 63 6f 6e 73 74 3c 2f 73 70 61 6e 3e 20 78 3a 20 3c 73 70 61 6e 20 63 6c tok-kw">const</span>.x:.<span.cl
2c000 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
2c020 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>
2c040 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 ;</span>.<span.class="line"><spa
2c060 6e 20 63 6c 61 73 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
2c080 72 20 3d 20 26 61 6d 70 3b 78 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 r.=.&amp;x;</span>.<span.class="
2c0a0 6c 69 6e 65 22 3e 70 74 72 2e 2a 20 3d 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d line">ptr.*.==.<span.class="tok-
2c0c0 6e 75 6d 62 65 72 22 3e 31 32 33 34 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 number">1234</span></span></code
2c0e0 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>.........
2c100 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
2c120 20 73 63 6f 70 65 3d 22 72 6f 77 22 3e 3c 70 72 65 3e 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c .scope="row"><pre><code><span.cl
2c140 61 73 73 3d 22 6c 69 6e 65 22 3e 26 61 6d 70 3b 61 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 3c ass="line">&amp;a</span></code><
2c160 2f 70 72 65 3e 3c 2f 74 68 3e 0a 20 20 20 20 20 20 20 20 20 20 3c 74 64 3e 0a 20 20 20 20 20 20 /pre></th>...........<td>.......
2c180 20 20 20 20 20 20 41 6c 6c 20 74 79 70 65 73 0a 20 20 20 20 20 20 20 20 20 20 3c 2f 74 64 3e 0a ......All.types...........</td>.
2c1a0 20 20 20 20 20 20 20 20 20 20 3c 74 64 3e 0a 20 20 20 20 20 20 20 20 20 20 20 20 41 64 64 72 65 ..........<td>.............Addre
2c1c0 73 73 20 6f 66 2e 0a 20 20 20 20 20 20 20 20 20 20 3c 2f 74 64 3e 0a 20 20 20 20 20 20 20 20 20 ss.of............</td>..........
2c1e0 20 3c 74 64 3e 0a 20 20 20 20 20 20 20 20 20 20 20 20 3c 70 72 65 3e 3c 63 6f 64 65 3e 3c 73 70 .<td>.............<pre><code><sp
2c200 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b an.class="line"><span.class="tok
2c220 2d 6b 77 22 3e 63 6f 6e 73 74 3c 2f 73 70 61 6e 3e 20 78 3a 20 3c 73 70 61 6e 20 63 6c 61 73 73 -kw">const</span>.x:.<span.class
2c240 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
2c260 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 31 32 33 34 3c 2f 73 70 61 6e 3e 3b 3c 2f lass="tok-number">1234</span>;</
2c280 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 span>.<span.class="line"><span.c
2c2a0 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 63 6f 6e 73 74 3c 2f 73 70 61 6e 3e 20 70 74 72 20 3d lass="tok-kw">const</span>.ptr.=
2c2c0 20 26 61 6d 70 3b 78 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e .&amp;x;</span>.<span.class="lin
2c2e0 65 22 3e 70 74 72 2e 2a 20 3d 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d e">ptr.*.==.<span.class="tok-num
2c300 62 65 72 22 3e 31 32 33 34 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 3c 2f ber">1234</span></span></code></
2c320 70 72 65 3e 0a 20 20 20 20 20 20 20 20 20 20 3c 2f 74 64 3e 0a 20 20 20 20 20 20 20 20 3c 2f 74 pre>...........</td>.........</t
2c340 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
2c360 6f 70 65 3d 22 72 6f 77 22 3e 3c 70 72 65 3e 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 ope="row"><pre><code><span.class
2c380 3d 22 6c 69 6e 65 22 3e 61 20 7c 7c 20 62 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 3c 2f 70 72 ="line">a.||.b</span></code></pr
2c3a0 65 3e 3c 2f 74 68 3e 0a 20 20 20 20 20 20 20 20 20 20 3c 74 64 3e 0a 20 20 20 20 20 20 20 20 20 e></th>...........<td>..........
2c3c0 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
2c3e0 66 3d 22 23 45 72 72 6f 72 2d 53 65 74 2d 54 79 70 65 22 3e 45 72 72 6f 72 20 53 65 74 20 54 79 f="#Error-Set-Type">Error.Set.Ty
2c400 70 65 3c 2f 61 3e 3c 2f 6c 69 3e 0a 20 20 20 20 20 20 20 20 20 20 20 20 3c 2f 75 6c 3e 0a 20 20 pe</a></li>.............</ul>...
2c420 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>....
2c440 20 20 20 20 20 20 20 20 20 20 20 3c 61 20 68 72 65 66 3d 22 23 4d 65 72 67 69 6e 67 2d 45 72 72 ...........<a.href="#Merging-Err
2c460 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 3e 0a or-Sets">Merging.Error.Sets</a>.
2c480 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>..
2c4a0 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
2c4c0 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 63 6f s="line"><span.class="tok-kw">co
2c4e0 6e 73 74 3c 2f 73 70 61 6e 3e 20 41 20 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d nst</span>.A.=.<span.class="tok-
2c500 6b 77 22 3e 65 72 72 6f 72 3c 2f 73 70 61 6e 3e 7b 4f 6e 65 7d 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 kw">error</span>{One};</span>.<s
2c520 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f pan.class="line"><span.class="to
2c540 6b 2d 6b 77 22 3e 63 6f 6e 73 74 3c 2f 73 70 61 6e 3e 20 42 20 3d 20 3c 73 70 61 6e 20 63 6c 61 k-kw">const</span>.B.=.<span.cla
2c560 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 65 72 72 6f 72 3c 2f 73 70 61 6e 3e 7b 54 77 6f 7d 3b 3c 2f ss="tok-kw">error</span>{Two};</
2c580 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 28 41 20 7c 7c 20 42 span>.<span.class="line">(A.||.B
2c5a0 29 20 3d 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 65 72 72 6f 72 3c ).==.<span.class="tok-kw">error<
2c5c0 2f 73 70 61 6e 3e 7b 4f 6e 65 2c 20 54 77 6f 7d 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 3c 2f /span>{One,.Two}</span></code></
2c5e0 70 72 65 3e 0a 20 20 20 20 20 20 20 20 20 20 3c 2f 74 64 3e 0a 20 20 20 20 20 20 20 20 3c 2f 74 pre>...........</td>.........</t
2c600 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
2c620 65 3e 0a 20 20 20 20 20 20 3c 2f 64 69 76 3e 0a 20 20 20 20 20 20 0a 20 20 20 20 20 20 3c 68 33 e>.......</div>..............<h3
2c640 20 69 64 3d 22 50 72 65 63 65 64 65 6e 63 65 22 3e 3c 61 20 68 72 65 66 3d 22 23 74 6f 63 2d 50 .id="Precedence"><a.href="#toc-P
2c660 72 65 63 65 64 65 6e 63 65 22 3e 50 72 65 63 65 64 65 6e 63 65 3c 2f 61 3e 20 3c 61 20 63 6c 61 recedence">Precedence</a>.<a.cla
2c680 73 73 3d 22 68 64 72 22 20 68 72 65 66 3d 22 23 50 72 65 63 65 64 65 6e 63 65 22 3e c2 a7 3c 2f ss="hdr".href="#Precedence">..</
2c6a0 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.
2c6c0 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 78 28 29 20 78 5b 5d 20 78 2e 79 20 78 2e 2a 20 78 2e 3f class="line">x().x[].x.y.x.*.x.?
2c6e0 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 61 21 62 3c 2f </span>.<span.class="line">a!b</
2c700 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 78 7b 7d 3c 2f 73 70 span>.<span.class="line">x{}</sp
2c720 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 21 78 20 2d 78 20 2d 25 78 an>.<span.class="line">!x.-x.-%x
2c740 20 7e 78 20 26 61 6d 70 3b 78 20 3f 78 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 .~x.&amp;x.?x</span>.<span.class
2c760 3d 22 6c 69 6e 65 22 3e 2a 20 2f 20 25 20 2a 2a 20 2a 25 20 2a 7c 20 7c 7c 3c 2f 73 70 61 6e 3e ="line">*./.%.**.*%.*|.||</span>
2c780 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 2b 20 2d 20 2b 2b 20 2b 25 20 2d 25 .<span.class="line">+.-.++.+%.-%
2c7a0 20 2b 7c 20 2d 7c 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 .+|.-|</span>.<span.class="line"
2c7c0 3e 26 6c 74 3b 26 6c 74 3b 20 26 67 74 3b 26 67 74 3b 20 26 6c 74 3b 26 6c 74 3b 7c 3c 2f 73 70 >&lt;&lt;.&gt;&gt;.&lt;&lt;|</sp
2c7e0 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 26 61 6d 70 3b 20 5e 20 7c an>.<span.class="line">&amp;.^.|
2c800 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 70 .<span.class="tok-kw">orelse</sp
2c820 61 6e 3e 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 63 61 74 63 68 3c 2f an>.<span.class="tok-kw">catch</
2c840 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e span></span>.<span.class="line">
2c860 3d 3d 20 21 3d 20 26 6c 74 3b 20 26 67 74 3b 20 26 6c 74 3b 3d 20 26 67 74 3b 3d 3c 2f 73 70 61 ==.!=.&lt;.&gt;.&lt;=.&gt;=</spa
2c880 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 n>.<span.class="line"><span.clas
2c8a0 73 3d 22 74 6f 6b 2d 6b 77 22 3e 61 6e 64 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 s="tok-kw">and</span></span>.<sp
2c8c0 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b an.class="line"><span.class="tok
2c8e0 2d 6b 77 22 3e 6f 72 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 -kw">or</span></span>.<span.clas
2c900 73 3d 22 6c 69 6e 65 22 3e 3d 20 2a 3d 20 2a 25 3d 20 2a 7c 3d 20 2f 3d 20 25 3d 20 2b 3d 20 2b s="line">=.*=.*%=.*|=./=.%=.+=.+
2c920 25 3d 20 2b 7c 3d 20 2d 3d 20 2d 25 3d 20 2d 7c 3d 20 26 6c 74 3b 26 6c 74 3b 3d 20 26 6c 74 3b %=.+|=.-=.-%=.-|=.&lt;&lt;=.&lt;
2c940 26 6c 74 3b 7c 3d 20 26 67 74 3b 26 67 74 3b 3d 20 26 61 6d 70 3b 3d 20 5e 3d 20 7c 3d 3c 2f 73 &lt;|=.&gt;&gt;=.&amp;=.^=.|=</s
2c960 70 61 6e 3e 3c 2f 63 6f 64 65 3e 3c 2f 70 72 65 3e 0a 20 20 20 20 20 20 0a 20 20 20 20 20 20 0a pan></code></pre>...............
2c980 20 20 20 20 20 20 3c 68 32 20 69 64 3d 22 41 72 72 61 79 73 22 3e 3c 61 20 68 72 65 66 3d 22 23 ......<h2.id="Arrays"><a.href="#
2c9a0 74 6f 63 2d 41 72 72 61 79 73 22 3e 41 72 72 61 79 73 3c 2f 61 3e 20 3c 61 20 63 6c 61 73 73 3d toc-Arrays">Arrays</a>.<a.class=
2c9c0 22 68 64 72 22 20 68 72 65 66 3d 22 23 41 72 72 61 79 73 22 3e c2 a7 3c 2f 61 3e 3c 2f 68 32 3e "hdr".href="#Arrays">..</a></h2>
2c9e0 0a 0a 20 20 20 20 20 20 3c 66 69 67 75 72 65 3e 3c 66 69 67 63 61 70 74 69 6f 6e 20 63 6c 61 73 ........<figure><figcaption.clas
2ca00 73 3d 22 7a 69 67 2d 63 61 70 22 3e 3c 63 69 74 65 20 63 6c 61 73 73 3d 22 66 69 6c 65 22 3e 61 s="zig-cap"><cite.class="file">a
2ca20 72 72 61 79 73 2e 7a 69 67 3c 2f 63 69 74 65 3e 3c 2f 66 69 67 63 61 70 74 69 6f 6e 3e 3c 70 72 rrays.zig</cite></figcaption><pr
2ca40 65 3e 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e e><code><span.class="line"><span
2ca60 20 63 6c 61 73 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
2ca80 65 63 74 20 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 62 75 69 6c 74 69 6e 22 3e ect.=.<span.class="tok-builtin">
2caa0 40 69 6d 70 6f 72 74 3c 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-
2cac0 73 74 72 22 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
2cae0 74 69 6e 67 2e 65 78 70 65 63 74 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d ting.expect;</span>.<span.class=
2cb00 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 63 6f 6e 73 "line"><span.class="tok-kw">cons
2cb20 74 3c 2f 73 70 61 6e 3e 20 61 73 73 65 72 74 20 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 t</span>.assert.=.<span.class="t
2cb40 6f 6b 2d 62 75 69 6c 74 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
2cb60 20 63 6c 61 73 73 3d 22 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;
2cb80 3c 2f 73 70 61 6e 3e 29 2e 64 65 62 75 67 2e 61 73 73 65 72 74 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 </span>).debug.assert;</span>.<s
2cba0 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f pan.class="line"><span.class="to
2cbc0 6b 2d 6b 77 22 3e 63 6f 6e 73 74 3c 2f 73 70 61 6e 3e 20 6d 65 6d 20 3d 20 3c 73 70 61 6e 20 63 k-kw">const</span>.mem.=.<span.c
2cbe0 6c 61 73 73 3d 22 74 6f 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
2cc00 3e 28 3c 73 70 61 6e 20 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
2cc20 64 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 29 2e 6d 65 6d 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 d&quot;</span>).mem;</span>.<spa
2cc40 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 n.class="line"></span>.<span.cla
2cc60 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 63 6f 6d 6d 65 ss="line"><span.class="tok-comme
2cc80 6e 74 22 3e 2f 2f 20 61 72 72 61 79 20 6c 69 74 65 72 61 6c 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 nt">//.array.literal</span></spa
2cca0 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 n>.<span.class="line"><span.clas
2ccc0 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 65 20 s="tok-kw">const</span>.message.
2cce0 3d 20 5b 5f 5d 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 75 38 3c 2f =.[_]<span.class="tok-type">u8</
2cd00 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 68 27 span>{.<span.class="tok-str">'h'
2cd20 3c 2f 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">'
2cd40 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 72 22 e'</span>,.<span.class="tok-str"
2cd60 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 73 74 >'l'</span>,.<span.class="tok-st
2cd80 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-
2cda0 73 74 72 22 3e 27 6f 27 3c 2f 73 70 61 6e 3e 20 7d 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 str">'o'</span>.};</span>.<span.
2cdc0 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 class="line"></span>.<span.class
2cde0 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 63 6f 6d 6d 65 6e 74 ="line"><span.class="tok-comment
2ce00 22 3e 2f 2f 20 67 65 74 20 74 68 65 20 73 69 7a 65 20 6f 66 20 61 6e 20 61 72 72 61 79 3c 2f 73 ">//.get.the.size.of.an.array</s
2ce20 70 61 6e 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c pan></span>.<span.class="line"><
2ce40 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
2ce60 61 6e 3e 20 7b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e an>.{</span>.<span.class="line">
2ce80 20 20 20 20 61 73 73 65 72 74 28 6d 65 73 73 61 67 65 2e 6c 65 6e 20 3d 3d 20 3c 73 70 61 6e 20 ....assert(message.len.==.<span.
2cea0 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 35 3c 2f 73 70 61 6e 3e 29 3b 3c 2f 73 class="tok-number">5</span>);</s
2cec0 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 7d 3c 2f 73 70 61 6e 3e pan>.<span.class="line">}</span>
2cee0 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 .<span.class="line"></span>.<spa
2cf00 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d n.class="line"><span.class="tok-
2cf20 63 6f 6d 6d 65 6e 74 22 3e 2f 2f 20 41 20 73 74 72 69 6e 67 20 6c 69 74 65 72 61 6c 20 69 73 20 comment">//.A.string.literal.is.
2cf40 61 20 73 69 6e 67 6c 65 2d 69 74 65 6d 20 70 6f 69 6e 74 65 72 20 74 6f 20 61 6e 20 61 72 72 61 a.single-item.pointer.to.an.arra
2cf60 79 20 6c 69 74 65 72 61 6c 2e 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 y.literal.</span></span>.<span.c
2cf80 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 lass="line"><span.class="tok-kw"
2cfa0 3e 63 6f 6e 73 74 3c 2f 73 70 61 6e 3e 20 73 61 6d 65 5f 6d 65 73 73 61 67 65 20 3d 20 3c 73 70 >const</span>.same_message.=.<sp
2cfc0 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 73 74 72 22 3e 26 71 75 6f 74 3b 68 65 6c 6c 6f 26 71 an.class="tok-str">&quot;hello&q
2cfe0 75 6f 74 3b 3c 2f 73 70 61 6e 3e 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d uot;</span>;</span>.<span.class=
2d000 22 6c 69 6e 65 22 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 "line"></span>.<span.class="line
2d020 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 63 6f 6d 70 74 69 6d 65 3c "><span.class="tok-kw">comptime<
2d040 2f 73 70 61 6e 3e 20 7b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e /span>.{</span>.<span.class="lin
2d060 65 22 3e 20 20 20 20 61 73 73 65 72 74 28 6d 65 6d 2e 65 71 6c 28 3c 73 70 61 6e 20 63 6c 61 73 e">....assert(mem.eql(<span.clas
2d080 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 75 38 3c 2f 73 70 61 6e 3e 2c 20 26 61 6d 70 3b 6d 65 73 s="tok-type">u8</span>,.&amp;mes
2d0a0 73 61 67 65 2c 20 73 61 6d 65 5f 6d 65 73 73 61 67 65 29 29 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 sage,.same_message));</span>.<sp
2d0c0 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 7d 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 an.class="line">}</span>.<span.c
2d0e0 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d lass="line"></span>.<span.class=
2d100 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 74 65 73 74 "line"><span.class="tok-kw">test
2d120 3c 2f 73 70 61 6e 3e 20 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
2d140 75 6f 74 3b 69 74 65 72 61 74 65 20 6f 76 65 72 20 61 6e 20 61 72 72 61 79 26 71 75 6f 74 3b 3c uot;iterate.over.an.array&quot;<
2d160 2f 73 70 61 6e 3e 20 7b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e /span>.{</span>.<span.class="lin
2d180 65 22 3e 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 76 61 72 3c e">....<span.class="tok-kw">var<
2d1a0 2f 73 70 61 6e 3e 20 73 75 6d 3a 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 /span>.sum:.<span.class="tok-typ
2d1c0 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
2d1e0 6f 6b 2d 6e 75 6d 62 65 72 22 3e 30 3c 2f 73 70 61 6e 3e 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 ok-number">0</span>;</span>.<spa
2d200 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 n.class="line">....<span.class="
2d220 74 6f 6b 2d 6b 77 22 3e 66 6f 72 3c 2f 73 70 61 6e 3e 20 28 6d 65 73 73 61 67 65 29 20 7c 62 79 tok-kw">for</span>.(message).|by
2d240 74 65 7c 20 7b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e te|.{</span>.<span.class="line">
2d260 20 20 20 20 20 20 20 20 73 75 6d 20 2b 3d 20 62 79 74 65 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 ........sum.+=.byte;</span>.<spa
2d280 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 7d 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 n.class="line">....}</span>.<spa
2d2a0 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 n.class="line">....<span.class="
2d2c0 74 6f 6b 2d 6b 77 22 3e 74 72 79 3c 2f 73 70 61 6e 3e 20 65 78 70 65 63 74 28 73 75 6d 20 3d 3d tok-kw">try</span>.expect(sum.==
2d2e0 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 61 6e .<span.class="tok-str">'h'</span
2d300 3e 20 2b 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 73 74 72 22 3e 27 65 27 3c 2f 73 >.+.<span.class="tok-str">'e'</s
2d320 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 6c 27 pan>.+.<span.class="tok-str">'l'
2d340 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 62 65 </span>.*.<span.class="tok-numbe
2d360 72 22 3e 32 3c 2f 73 70 61 6e 3e 20 2b 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 73 r">2</span>.+.<span.class="tok-s
2d380 74 72 22 3e 27 6f 27 3c 2f 73 70 61 6e 3e 29 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c tr">'o'</span>);</span>.<span.cl
2d3a0 61 73 73 3d 22 6c 69 6e 65 22 3e 7d 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d ass="line">}</span>.<span.class=
2d3c0 22 6c 69 6e 65 22 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 "line"></span>.<span.class="line
2d3e0 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 63 6f 6d 6d 65 6e 74 22 3e 2f 2f 20 6d "><span.class="tok-comment">//.m
2d400 6f 64 69 66 69 61 62 6c 65 20 61 72 72 61 79 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 odifiable.array</span></span>.<s
2d420 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f pan.class="line"><span.class="to
2d440 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 3a 20 k-kw">var</span>.some_integers:.
2d460 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 2f 73 [<span.class="tok-number">100</s
2d480 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 32 3c pan>]<span.class="tok-type">i32<
2d4a0 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">
2d4c0 75 6e 64 65 66 69 6e 65 64 3c 2f 73 70 61 6e 3e 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 undefined</span>;</span>.<span.c
2d4e0 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d lass="line"></span>.<span.class=
2d500 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 74 65 73 74 "line"><span.class="tok-kw">test
2d520 3c 2f 73 70 61 6e 3e 20 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
2d540 75 6f 74 3b 6d 6f 64 69 66 79 20 61 6e 20 61 72 72 61 79 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e uot;modify.an.array&quot;</span>
2d560 20 7b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 .{</span>.<span.class="line">...
2d580 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>
2d5a0 20 28 73 6f 6d 65 5f 69 6e 74 65 67 65 72 73 29 20 7c 2a 69 74 65 6d 2c 20 69 7c 20 7b 3c 2f 73 .(some_integers).|*item,.i|.{</s
2d5c0 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 20 20 20 20 pan>.<span.class="line">........
2d5e0 69 74 65 6d 2e 2a 20 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 62 75 69 6c 74 69 item.*.=.<span.class="tok-builti
2d600 6e 22 3e 40 69 6e 74 43 61 73 74 3c 2f 73 70 61 6e 3e 28 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 n">@intCast</span>(<span.class="
2d620 74 6f 6b 2d 74 79 70 65 22 3e 69 33 32 3c 2f 73 70 61 6e 3e 2c 20 69 29 3b 3c 2f 73 70 61 6e 3e tok-type">i32</span>,.i);</span>
2d640 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 7d 3c 2f 73 70 61 6e 3e .<span.class="line">....}</span>
2d660 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 3c 73 70 61 6e 20 63 6c .<span.class="line">....<span.cl
2d680 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 74 72 79 3c 2f 73 70 61 6e 3e 20 65 78 70 65 63 74 28 73 ass="tok-kw">try</span>.expect(s
2d6a0 6f 6d 65 5f 69 6e 74 65 67 65 72 73 5b 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 ome_integers[<span.class="tok-nu
2d6c0 6d 62 65 72 22 3e 31 30 3c 2f 73 70 61 6e 3e 5d 20 3d 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d mber">10</span>].==.<span.class=
2d6e0 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 31 30 3c 2f 73 70 61 6e 3e 29 3b 3c 2f 73 70 61 6e 3e 0a "tok-number">10</span>);</span>.
2d700 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 <span.class="line">....<span.cla
2d720 73 73 3d 22 74 6f 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 6f ss="tok-kw">try</span>.expect(so
2d740 6d 65 5f 69 6e 74 65 67 65 72 73 5b 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d me_integers[<span.class="tok-num
2d760 62 65 72 22 3e 39 39 3c 2f 73 70 61 6e 3e 5d 20 3d 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 ber">99</span>].==.<span.class="
2d780 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 39 39 3c 2f 73 70 61 6e 3e 29 3b 3c 2f 73 70 61 6e 3e 0a 3c tok-number">99</span>);</span>.<
2d7a0 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 7d 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e span.class="line">}</span>.<span
2d7c0 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 .class="line"></span>.<span.clas
2d7e0 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 63 6f 6d 6d 65 6e s="line"><span.class="tok-commen
2d800 74 22 3e 2f 2f 20 61 72 72 61 79 20 63 6f 6e 63 61 74 65 6e 61 74 69 6f 6e 20 77 6f 72 6b 73 20 t">//.array.concatenation.works.
2d820 69 66 20 74 68 65 20 76 61 6c 75 65 73 20 61 72 65 20 6b 6e 6f 77 6e 3c 2f 73 70 61 6e 3e 3c 2f if.the.values.are.known</span></
2d840 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 span>.<span.class="line"><span.c
2d860 6c 61 73 73 3d 22 74 6f 6b 2d 63 6f 6d 6d 65 6e 74 22 3e 2f 2f 20 61 74 20 63 6f 6d 70 69 6c 65 lass="tok-comment">//.at.compile
2d880 20 74 69 6d 65 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d .time</span></span>.<span.class=
2d8a0 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 63 6f 6e 73 "line"><span.class="tok-kw">cons
2d8c0 74 3c 2f 73 70 61 6e 3e 20 70 61 72 74 5f 6f 6e 65 20 3d 20 5b 5f 5d 3c 73 70 61 6e 20 63 6c 61 t</span>.part_one.=.[_]<span.cla
2d8e0 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 69 33 32 3c 2f 73 70 61 6e 3e 7b 20 3c 73 70 61 6e 20 ss="tok-type">i32</span>{.<span.
2d900 63 6c 61 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
2d920 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>,.
2d940 3c 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
2d960 3e 2c 20 3c 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
2d980 70 61 6e 3e 20 7d 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 pan>.};</span>.<span.class="line
2d9a0 22 3e 3c 73 70 61 6e 20 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
2d9c0 61 6e 3e 20 70 61 72 74 5f 74 77 6f 20 3d 20 5b 5f 5d 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 an>.part_two.=.[_]<span.class="t
2d9e0 6f 6b 2d 74 79 70 65 22 3e 69 33 32 3c 2f 73 70 61 6e 3e 7b 20 3c 73 70 61 6e 20 63 6c 61 73 73 ok-type">i32</span>{.<span.class
2da00 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 35 3c 2f 73 70 61 6e 3e 2c 20 3c 73 70 61 6e 20 63 6c ="tok-number">5</span>,.<span.cl
2da20 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 36 3c 2f 73 70 61 6e 3e 2c 20 3c 73 70 61 6e ass="tok-number">6</span>,.<span
2da40 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 37 3c 2f 73 70 61 6e 3e 2c 20 3c 73 .class="tok-number">7</span>,.<s
2da60 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 3e 20 pan.class="tok-number">8</span>.
2da80 7d 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 };</span>.<span.class="line"><sp
2daa0 61 6e 20 63 6c 61 73 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
2dac0 6c 6c 5f 6f 66 5f 69 74 20 3d 20 70 61 72 74 5f 6f 6e 65 20 2b 2b 20 70 61 72 74 5f 74 77 6f 3b ll_of_it.=.part_one.++.part_two;
2dae0 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e </span>.<span.class="line"><span
2db00 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 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>.
2db20 7b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 {</span>.<span.class="line">....
2db40 61 73 73 65 72 74 28 6d 65 6d 2e 65 71 6c 28 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d assert(mem.eql(<span.class="tok-
2db60 74 79 70 65 22 3e 69 33 32 3c 2f 73 70 61 6e 3e 2c 20 26 61 6d 70 3b 61 6c 6c 5f 6f 66 5f 69 74 type">i32</span>,.&amp;all_of_it
2db80 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 22 ,.&amp;[_]<span.class="tok-type"
2dba0 3e 69 33 32 3c 2f 73 70 61 6e 3e 7b 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 >i32</span>{.<span.class="tok-nu
2dbc0 6d 62 65 72 22 3e 31 3c 2f 73 70 61 6e 3e 2c 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b mber">1</span>,.<span.class="tok
2dbe0 2d 6e 75 6d 62 65 72 22 3e 32 3c 2f 73 70 61 6e 3e 2c 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 -number">2</span>,.<span.class="
2dc00 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
2dc20 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
2dc40 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 35 3c 2f 73 70 61 6e 3e 2c 20 3c 73 70 61 lass="tok-number">5</span>,.<spa
2dc60 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 36 3c 2f 73 70 61 6e 3e 2c 20 3c n.class="tok-number">6</span>,.<
2dc80 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 37 3c 2f 73 70 61 6e 3e span.class="tok-number">7</span>
2dca0 2c 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 38 3c 2f 73 70 ,.<span.class="tok-number">8</sp
2dcc0 61 6e 3e 20 7d 29 29 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e an>.}));</span>.<span.class="lin
2dce0 65 22 3e 7d 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c e">}</span>.<span.class="line"><
2dd00 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 /span>.<span.class="line"><span.
2dd20 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 20 class="tok-comment">//.remember.
2dd40 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 3c that.string.literals.are.arrays<
2dd60 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 /span></span>.<span.class="line"
2dd80 3e 3c 73 70 61 6e 20 63 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
2dda0 6e 3e 20 68 65 6c 6c 6f 20 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 73 74 72 22 n>.hello.=.<span.class="tok-str"
2ddc0 3e 26 71 75 6f 74 3b 68 65 6c 6c 6f 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 3b 3c 2f 73 70 61 6e >&quot;hello&quot;</span>;</span
2dde0 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 >.<span.class="line"><span.class
2de00 3d 22 74 6f 6b 2d 6b 77 22 3e 63 6f 6e 73 74 3c 2f 73 70 61 6e 3e 20 77 6f 72 6c 64 20 3d 20 3c ="tok-kw">const</span>.world.=.<
2de20 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 73 74 72 22 3e 26 71 75 6f 74 3b 77 6f 72 6c 64 span.class="tok-str">&quot;world
2de40 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 &quot;</span>;</span>.<span.clas
2de60 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 63 6f s="line"><span.class="tok-kw">co
2de80 6e 73 74 3c 2f 73 70 61 6e 3e 20 68 65 6c 6c 6f 5f 77 6f 72 6c 64 20 3d 20 68 65 6c 6c 6f 20 2b nst</span>.hello_world.=.hello.+
2dea0 2b 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 73 74 72 22 3e 26 71 75 6f 74 3b 20 26 +.<span.class="tok-str">&quot;.&
2dec0 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 20 2b 2b 20 77 6f 72 6c 64 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 quot;</span>.++.world;</span>.<s
2dee0 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f pan.class="line"><span.class="to
2df00 6b 2d 6b 77 22 3e 63 6f 6d 70 74 69 6d 65 3c 2f 73 70 61 6e 3e 20 7b 3c 2f 73 70 61 6e 3e 0a 3c k-kw">comptime</span>.{</span>.<
2df20 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 61 73 73 65 72 74 28 6d 65 6d span.class="line">....assert(mem
2df40 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</
2df60 73 70 61 6e 3e 2c 20 68 65 6c 6c 6f 5f 77 6f 72 6c 64 2c 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d span>,.hello_world,.<span.class=
2df80 22 74 6f 6b 2d 73 74 72 22 3e 26 71 75 6f 74 3b 68 65 6c 6c 6f 20 77 6f 72 6c 64 26 71 75 6f 74 "tok-str">&quot;hello.world&quot
2dfa0 3b 3c 2f 73 70 61 6e 3e 29 29 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 ;</span>));</span>.<span.class="
2dfc0 6c 69 6e 65 22 3e 7d 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 line">}</span>.<span.class="line
2dfe0 22 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 "></span>.<span.class="line"><sp
2e000 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 63 6f 6d 6d 65 6e 74 22 3e 2f 2f 20 2a 2a 20 64 6f 65 an.class="tok-comment">//.**.doe
2e020 73 20 72 65 70 65 61 74 69 6e 67 20 70 61 74 74 65 72 6e 73 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 s.repeating.patterns</span></spa
2e040 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 n>.<span.class="line"><span.clas
2e060 73 3d 22 74 6f 6b 2d 6b 77 22 3e 63 6f 6e 73 74 3c 2f 73 70 61 6e 3e 20 70 61 74 74 65 72 6e 20 s="tok-kw">const</span>.pattern.
2e080 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 61 62 =.<span.class="tok-str">&quot;ab
2e0a0 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 20 2a 2a 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f &quot;</span>.**.<span.class="to
2e0c0 6b 2d 6e 75 6d 62 65 72 22 3e 33 3c 2f 73 70 61 6e 3e 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e k-number">3</span>;</span>.<span
2e0e0 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b .class="line"><span.class="tok-k
2e100 77 22 3e 63 6f 6d 70 74 69 6d 65 3c 2f 73 70 61 6e 3e 20 7b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 w">comptime</span>.{</span>.<spa
2e120 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 61 73 73 65 72 74 28 6d 65 6d 2e 65 71 n.class="line">....assert(mem.eq
2e140 6c 28 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 75 38 3c 2f 73 70 61 l(<span.class="tok-type">u8</spa
2e160 6e 3e 2c 20 70 61 74 74 65 72 6e 2c 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 73 74 n>,.pattern,.<span.class="tok-st
2e180 72 22 3e 26 71 75 6f 74 3b 61 62 61 62 61 62 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 29 29 3b 3c r">&quot;ababab&quot;</span>));<
2e1a0 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 7d 3c 2f 73 70 61 /span>.<span.class="line">}</spa
2e1c0 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 n>.<span.class="line"></span>.<s
2e1e0 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f pan.class="line"><span.class="to
2e200 6b 2d 63 6f 6d 6d 65 6e 74 22 3e 2f 2f 20 69 6e 69 74 69 61 6c 69 7a 65 20 61 6e 20 61 72 72 61 k-comment">//.initialize.an.arra
2e220 79 20 74 6f 20 7a 65 72 6f 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c y.to.zero</span></span>.<span.cl
2e240 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e ass="line"><span.class="tok-kw">
2e260 63 6f 6e 73 74 3c 2f 73 70 61 6e 3e 20 61 6c 6c 5f 7a 65 72 6f 20 3d 20 5b 5f 5d 3c 73 70 61 6e const</span>.all_zero.=.[_]<span
2e280 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 75 31 36 3c 2f 73 70 61 6e 3e 7b 3c 73 70 .class="tok-type">u16</span>{<sp
2e2a0 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 7d 20 an.class="tok-number">0</span>}.
2e2c0 2a 2a 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 31 30 3c 2f **.<span.class="tok-number">10</
2e2e0 73 70 61 6e 3e 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 span>;</span>.<span.class="line"
2e300 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 ></span>.<span.class="line"><spa
2e320 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>
2e340 20 7b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 .{</span>.<span.class="line">...
2e360 20 61 73 73 65 72 74 28 61 6c 6c 5f 7a 65 72 6f 2e 6c 65 6e 20 3d 3d 20 3c 73 70 61 6e 20 63 6c .assert(all_zero.len.==.<span.cl
2e380 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 31 30 3c 2f 73 70 61 6e 3e 29 3b 3c 2f 73 70 ass="tok-number">10</span>);</sp
2e3a0 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 61 73 73 65 72 an>.<span.class="line">....asser
2e3c0 74 28 61 6c 6c 5f 7a 65 72 6f 5b 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 t(all_zero[<span.class="tok-numb
2e3e0 65 72 22 3e 35 3c 2f 73 70 61 6e 3e 5d 20 3d 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f er">5</span>].==.<span.class="to
2e400 6b 2d 6e 75 6d 62 65 72 22 3e 30 3c 2f 73 70 61 6e 3e 29 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 k-number">0</span>);</span>.<spa
2e420 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 7d 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c n.class="line">}</span>.<span.cl
2e440 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 ass="line"></span>.<span.class="
2e460 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 63 6f 6d 6d 65 6e 74 22 3e line"><span.class="tok-comment">
2e480 2f 2f 20 75 73 65 20 63 6f 6d 70 69 6c 65 2d 74 69 6d 65 20 63 6f 64 65 20 74 6f 20 69 6e 69 74 //.use.compile-time.code.to.init
2e4a0 69 61 6c 69 7a 65 20 61 6e 20 61 72 72 61 79 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 ialize.an.array</span></span>.<s
2e4c0 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f pan.class="line"><span.class="to
2e4e0 6b 2d 6b 77 22 3e 76 61 72 3c 2f 73 70 61 6e 3e 20 66 61 6e 63 79 5f 61 72 72 61 79 20 3d 20 69 k-kw">var</span>.fancy_array.=.i
2e500 6e 69 74 3a 20 7b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 nit:.{</span>.<span.class="line"
2e520 3e 20 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
2e540 70 61 6e 3e 20 69 6e 69 74 69 61 6c 5f 76 61 6c 75 65 3a 20 5b 3c 73 70 61 6e 20 63 6c 61 73 73 pan>.initial_value:.[<span.class
2e560 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 31 30 3c 2f 73 70 61 6e 3e 5d 50 6f 69 6e 74 20 3d 20 ="tok-number">10</span>]Point.=.
2e580 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
2e5a0 3c 2f 73 70 61 6e 3e 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e </span>;</span>.<span.class="lin
2e5c0 65 22 3e 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 66 6f 72 3c e">....<span.class="tok-kw">for<
2e5e0 2f 73 70 61 6e 3e 20 28 69 6e 69 74 69 61 6c 5f 76 61 6c 75 65 29 20 7c 2a 70 74 2c 20 69 7c 20 /span>.(initial_value).|*pt,.i|.
2e600 7b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 {</span>.<span.class="line">....
2e620 20 20 20 20 70 74 2e 2a 20 3d 20 50 6f 69 6e 74 7b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 ....pt.*.=.Point{</span>.<span.c
2e640 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 20 20 20 20 20 20 20 20 2e 78 20 3d 20 3c 73 70 lass="line">.............x.=.<sp
2e660 61 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<
2e680 2f 73 70 61 6e 3e 28 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 69 33 /span>(<span.class="tok-type">i3
2e6a0 32 3c 2f 73 70 61 6e 3e 2c 20 69 29 2c 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 2</span>,.i),</span>.<span.class
2e6c0 3d 22 6c 69 6e 65 22 3e 20 20 20 20 20 20 20 20 20 20 20 20 2e 79 20 3d 20 3c 73 70 61 6e 20 63 ="line">.............y.=.<span.c
2e6e0 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
2e700 6e 3e 28 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 69 33 32 3c 2f 73 n>(<span.class="tok-type">i32</s
2e720 70 61 6e 3e 2c 20 69 29 20 2a 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 pan>,.i).*.<span.class="tok-numb
2e740 65 72 22 3e 32 3c 2f 73 70 61 6e 3e 2c 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 er">2</span>,</span>.<span.class
2e760 3d 22 6c 69 6e 65 22 3e 20 20 20 20 20 20 20 20 7d 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 ="line">........};</span>.<span.
2e780 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 7d 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 class="line">....}</span>.<span.
2e7a0 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f class="line">....<span.class="to
2e7c0 6b 2d 6b 77 22 3e 62 72 65 61 6b 3c 2f 73 70 61 6e 3e 20 3a 69 6e 69 74 20 69 6e 69 74 69 61 6c k-kw">break</span>.:init.initial
2e7e0 5f 76 61 6c 75 65 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 _value;</span>.<span.class="line
2e800 22 3e 7d 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c ">};</span>.<span.class="line"><
2e820 73 70 61 6e 20 63 6c 61 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>
2e840 20 50 6f 69 6e 74 20 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 73 74 .Point.=.<span.class="tok-kw">st
2e860 72 75 63 74 3c 2f 73 70 61 6e 3e 20 7b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 ruct</span>.{</span>.<span.class
2e880 3d 22 6c 69 6e 65 22 3e 20 20 20 20 78 3a 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d ="line">....x:.<span.class="tok-
2e8a0 74 79 70 65 22 3e 69 33 32 3c 2f 73 70 61 6e 3e 2c 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 type">i32</span>,</span>.<span.c
2e8c0 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 79 3a 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 lass="line">....y:.<span.class="
2e8e0 74 6f 6b 2d 74 79 70 65 22 3e 69 33 32 3c 2f 73 70 61 6e 3e 2c 3c 2f 73 70 61 6e 3e 0a 3c 73 70 tok-type">i32</span>,</span>.<sp
2e900 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 7d 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 an.class="line">};</span>.<span.
2e920 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 class="line"></span>.<span.class
2e940 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 74 65 73 ="line"><span.class="tok-kw">tes
2e960 74 3c 2f 73 70 61 6e 3e 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">&
2e980 71 75 6f 74 3b 63 6f 6d 70 69 6c 65 2d 74 69 6d 65 20 61 72 72 61 79 20 69 6e 69 74 69 61 6c 69 quot;compile-time.array.initiali
2e9a0 7a 61 74 69 6f 6e 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 20 7b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 zation&quot;</span>.{</span>.<sp
2e9c0 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d an.class="line">....<span.class=
2e9e0 22 74 6f 6b 2d 6b 77 22 3e 74 72 79 3c 2f 73 70 61 6e 3e 20 65 78 70 65 63 74 28 66 61 6e 63 79 "tok-kw">try</span>.expect(fancy
2ea00 5f 61 72 72 61 79 5b 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e _array[<span.class="tok-number">
2ea20 34 3c 2f 73 70 61 6e 3e 5d 2e 78 20 3d 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 4</span>].x.==.<span.class="tok-
2ea40 6e 75 6d 62 65 72 22 3e 34 3c 2f 73 70 61 6e 3e 29 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 number">4</span>);</span>.<span.
2ea60 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f class="line">....<span.class="to
2ea80 6b 2d 6b 77 22 3e 74 72 79 3c 2f 73 70 61 6e 3e 20 65 78 70 65 63 74 28 66 61 6e 63 79 5f 61 72 k-kw">try</span>.expect(fancy_ar
2eaa0 72 61 79 5b 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 34 3c 2f ray[<span.class="tok-number">4</
2eac0 73 70 61 6e 3e 5d 2e 79 20 3d 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d span>].y.==.<span.class="tok-num
2eae0 62 65 72 22 3e 38 3c 2f 73 70 61 6e 3e 29 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 ber">8</span>);</span>.<span.cla
2eb00 73 73 3d 22 6c 69 6e 65 22 3e 7d 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 ss="line">}</span>.<span.class="
2eb20 6c 69 6e 65 22 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 line"></span>.<span.class="line"
2eb40 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 63 61 ><span.class="tok-comment">//.ca
2eb60 6c 6c 20 61 20 66 75 6e 63 74 69 6f 6e 20 74 6f 20 69 6e 69 74 69 61 6c 69 7a 65 20 61 6e 20 61 ll.a.function.to.initialize.an.a
2eb80 72 72 61 79 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 rray</span></span>.<span.class="
2eba0 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 76 61 72 3c 2f line"><span.class="tok-kw">var</
2ebc0 73 70 61 6e 3e 20 6d 6f 72 65 5f 70 6f 69 6e 74 73 20 3d 20 5b 5f 5d 50 6f 69 6e 74 7b 6d 61 6b span>.more_points.=.[_]Point{mak
2ebe0 65 50 6f 69 6e 74 28 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e ePoint(<span.class="tok-number">
2ec00 33 3c 2f 73 70 61 6e 3e 29 7d 20 2a 2a 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 3</span>)}.**.<span.class="tok-n
2ec20 75 6d 62 65 72 22 3e 31 30 3c 2f 73 70 61 6e 3e 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 umber">10</span>;</span>.<span.c
2ec40 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 lass="line"><span.class="tok-kw"
2ec60 3e 66 6e 3c 2f 73 70 61 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">
2ec80 6d 61 6b 65 50 6f 69 6e 74 3c 2f 73 70 61 6e 3e 28 78 3a 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d makePoint</span>(x:.<span.class=
2eca0 22 74 6f 6b 2d 74 79 70 65 22 3e 69 33 32 3c 2f 73 70 61 6e 3e 29 20 50 6f 69 6e 74 20 7b 3c 2f "tok-type">i32</span>).Point.{</
2ecc0 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 3c 73 70 span>.<span.class="line">....<sp
2ece0 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>.
2ed00 50 6f 69 6e 74 7b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 Point{</span>.<span.class="line"
2ed20 3e 20 20 20 20 20 20 20 20 2e 78 20 3d 20 78 2c 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c >.........x.=.x,</span>.<span.cl
2ed40 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 20 20 20 20 2e 79 20 3d 20 78 20 2a 20 3c 73 70 61 ass="line">.........y.=.x.*.<spa
2ed60 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 32 3c 2f 73 70 61 6e 3e 2c 3c 2f n.class="tok-number">2</span>,</
2ed80 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 7d 3b 3c span>.<span.class="line">....};<
2eda0 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 7d 3c 2f 73 70 61 /span>.<span.class="line">}</spa
2edc0 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 n>.<span.class="line"><span.clas
2ede0 73 3d 22 74 6f 6b 2d 6b 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
2ee00 73 73 3d 22 74 6f 6b 2d 73 74 72 22 3e 26 71 75 6f 74 3b 61 72 72 61 79 20 69 6e 69 74 69 61 6c ss="tok-str">&quot;array.initial
2ee20 69 7a 61 74 69 6f 6e 20 77 69 74 68 20 66 75 6e 63 74 69 6f 6e 20 63 61 6c 6c 73 26 71 75 6f 74 ization.with.function.calls&quot
2ee40 3b 3c 2f 73 70 61 6e 3e 20 7b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c ;</span>.{</span>.<span.class="l
2ee60 69 6e 65 22 3e 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 74 72 ine">....<span.class="tok-kw">tr
2ee80 79 3c 2f 73 70 61 6e 3e 20 65 78 70 65 63 74 28 6d 6f 72 65 5f 70 6f 69 6e 74 73 5b 3c 73 70 61 y</span>.expect(more_points[<spa
2eea0 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 78 n.class="tok-number">4</span>].x
2eec0 20 3d 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 33 3c 2f .==.<span.class="tok-number">3</
2eee0 73 70 61 6e 3e 29 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 span>);</span>.<span.class="line
2ef00 22 3e 20 20 20 20 3c 73 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</
2ef20 73 70 61 6e 3e 20 65 78 70 65 63 74 28 6d 6f 72 65 5f 70 6f 69 6e 74 73 5b 3c 73 70 61 6e 20 63 span>.expect(more_points[<span.c
2ef40 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 34 3c 2f 73 70 61 6e 3e 5d 2e 79 20 3d 3d lass="tok-number">4</span>].y.==
2ef60 20 3c 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
2ef80 6e 3e 29 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 n>);</span>.<span.class="line">.
2efa0 20 20 20 3c 73 70 61 6e 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
2efc0 6e 3e 20 65 78 70 65 63 74 28 6d 6f 72 65 5f 70 6f 69 6e 74 73 2e 6c 65 6e 20 3d 3d 20 3c 73 70 n>.expect(more_points.len.==.<sp
2efe0 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>)
2f000 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 7d 3c 2f 73 ;</span>.<span.class="line">}</s
2f020 70 61 6e 3e 3c 2f 63 6f 64 65 3e 3c 2f 70 72 65 3e 3c 2f 66 69 67 75 72 65 3e 3c 66 69 67 75 72 pan></code></pre></figure><figur
2f040 65 3e 3c 66 69 67 63 61 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">
2f060 53 68 65 6c 6c 3c 2f 66 69 67 63 61 70 74 69 6f 6e 3e 3c 70 72 65 3e 3c 73 61 6d 70 3e 3c 73 70 Shell</figcaption><pre><samp><sp
2f080 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 24 20 3c 6b 62 64 3e 7a 69 67 20 74 65 73 74 20 an.class="line">$.<kbd>zig.test.
2f0a0 61 72 72 61 79 73 2e 7a 69 67 3c 2f 6b 62 64 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c arrays.zig</kbd></span>.<span.cl
2f0c0 61 73 73 3d 22 6c 69 6e 65 22 3e 31 2f 34 20 74 65 73 74 2e 69 74 65 72 61 74 65 20 6f 76 65 72 ass="line">1/4.test.iterate.over
2f0e0 20 61 6e 20 61 72 72 61 79 2e 2e 2e 20 4f 4b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 .an.array....OK</span>.<span.cla
2f100 73 73 3d 22 6c 69 6e 65 22 3e 32 2f 34 20 74 65 73 74 2e 6d 6f 64 69 66 79 20 61 6e 20 61 72 72 ss="line">2/4.test.modify.an.arr
2f120 61 79 2e 2e 2e 20 4f 4b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e ay....OK</span>.<span.class="lin
2f140 65 22 3e 33 2f 34 20 74 65 73 74 2e 63 6f 6d 70 69 6c 65 2d 74 69 6d 65 20 61 72 72 61 79 20 69 e">3/4.test.compile-time.array.i
2f160 6e 69 74 69 61 6c 69 7a 61 74 69 6f 6e 2e 2e 2e 20 4f 4b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e nitialization....OK</span>.<span
2f180 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 34 2f 34 20 74 65 73 74 2e 61 72 72 61 79 20 69 6e 69 .class="line">4/4.test.array.ini
2f1a0 74 69 61 6c 69 7a 61 74 69 6f 6e 20 77 69 74 68 20 66 75 6e 63 74 69 6f 6e 20 63 61 6c 6c 73 2e tialization.with.function.calls.
2f1c0 2e 2e 20 4f 4b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e ...OK</span>.<span.class="line">
2f1e0 41 6c 6c 20 34 20 74 65 73 74 73 20 70 61 73 73 65 64 2e 3c 2f 73 70 61 6e 3e 0a 3c 2f 73 61 6d All.4.tests.passed.</span>.</sam
2f200 70 3e 3c 2f 70 72 65 3e 3c 2f 66 69 67 75 72 65 3e 0a 20 20 20 20 20 20 3c 70 3e 53 65 65 20 61 p></pre></figure>.......<p>See.a
2f220 6c 73 6f 3a 3c 2f 70 3e 3c 75 6c 3e 0a 3c 6c 69 3e 3c 61 20 68 72 65 66 3d 22 23 66 6f 72 22 3e lso:</p><ul>.<li><a.href="#for">
2f240 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 53 6c 69 63 65 for</a></li>.<li><a.href="#Slice
2f260 73 22 3e 53 6c 69 63 65 73 3c 2f 61 3e 3c 2f 6c 69 3e 0a 3c 2f 75 6c 3e 0a 0a 0a 20 20 20 20 20 s">Slices</a></li>.</ul>........
2f280 20 3c 68 33 20 69 64 3d 22 41 6e 6f 6e 79 6d 6f 75 73 2d 4c 69 73 74 2d 4c 69 74 65 72 61 6c 73 .<h3.id="Anonymous-List-Literals
2f2a0 22 3e 3c 61 20 68 72 65 66 3d 22 23 74 6f 63 2d 41 6e 6f 6e 79 6d 6f 75 73 2d 4c 69 73 74 2d 4c "><a.href="#toc-Anonymous-List-L
2f2c0 69 74 65 72 61 6c 73 22 3e 41 6e 6f 6e 79 6d 6f 75 73 20 4c 69 73 74 20 4c 69 74 65 72 61 6c 73 iterals">Anonymous.List.Literals
2f2e0 3c 2f 61 3e 20 3c 61 20 63 6c 61 73 73 3d 22 68 64 72 22 20 68 72 65 66 3d 22 23 41 6e 6f 6e 79 </a>.<a.class="hdr".href="#Anony
2f300 6d 6f 75 73 2d 4c 69 73 74 2d 4c 69 74 65 72 61 6c 73 22 3e c2 a7 3c 2f 61 3e 3c 2f 68 33 3e 0a mous-List-Literals">..</a></h3>.
2f320 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 3d 22 23 45 .......<p>Similar.to.<a.href="#E
2f340 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>.
2f360 61 6e 64 20 3c 61 20 68 72 65 66 3d 22 23 41 6e 6f 6e 79 6d 6f 75 73 2d 53 74 72 75 63 74 2d 4c and.<a.href="#Anonymous-Struct-L
2f380 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 74 65 72 61 iterals">Anonymous.Struct.Litera
2f3a0 6c 73 3c 2f 61 3e 0a 20 20 20 20 20 20 74 68 65 20 74 79 70 65 20 63 61 6e 20 62 65 20 6f 6d 69 ls</a>.......the.type.can.be.omi
2f3c0 74 74 65 64 20 66 72 6f 6d 20 61 72 72 61 79 20 6c 69 74 65 72 61 6c 73 3a 3c 2f 70 3e 0a 20 20 tted.from.array.literals:</p>...
2f3e0 20 20 20 20 3c 66 69 67 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
2f400 69 67 2d 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 5f ig-cap"><cite.class="file">anon_
2f420 6c 69 73 74 2e 7a 69 67 3c 2f 63 69 74 65 3e 3c 2f 66 69 67 63 61 70 74 69 6f 6e 3e 3c 70 72 65 list.zig</cite></figcaption><pre
2f440 3e 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 ><code><span.class="line"><span.
2f460 63 6c 61 73 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.
2f480 3d 20 3c 73 70 61 6e 20 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
2f4a0 6f 72 74 3c 2f 73 70 61 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"
2f4c0 3e 26 71 75 6f 74 3b 73 74 64 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 29 3b 3c 2f 73 70 61 6e 3e >&quot;std&quot;</span>);</span>
2f4e0 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d .<span.class="line"><span.class=
2f500 22 74 6f 6b 2d 6b 77 22 3e 63 6f 6e 73 74 3c 2f 73 70 61 6e 3e 20 65 78 70 65 63 74 20 3d 20 73 "tok-kw">const</span>.expect.=.s
2f520 74 64 2e 74 65 73 74 69 6e 67 2e 65 78 70 65 63 74 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 td.testing.expect;</span>.<span.
2f540 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 class="line"></span>.<span.class
2f560 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 74 65 73 ="line"><span.class="tok-kw">tes
2f580 74 3c 2f 73 70 61 6e 3e 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">&
2f5a0 71 75 6f 74 3b 61 6e 6f 6e 79 6d 6f 75 73 20 6c 69 73 74 20 6c 69 74 65 72 61 6c 20 73 79 6e 74 quot;anonymous.list.literal.synt
2f5c0 61 78 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 20 7b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 ax&quot;</span>.{</span>.<span.c
2f5e0 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b lass="line">....<span.class="tok
2f600 2d 6b 77 22 3e 76 61 72 3c 2f 73 70 61 6e 3e 20 61 72 72 61 79 3a 20 5b 3c 73 70 61 6e 20 63 6c -kw">var</span>.array:.[<span.cl
2f620 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 34 3c 2f 73 70 61 6e 3e 5d 3c 73 70 61 6e 20 ass="tok-number">4</span>]<span.
2f640 63 6c 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 2e 7b 3c class="tok-type">u8</span>.=..{<
2f660 73 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 span.class="tok-number">11</span
2f680 3e 2c 20 3c 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 32 3c 2f >,.<span.class="tok-number">22</
2f6a0 73 70 61 6e 3e 2c 20 3c 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">
2f6c0 33 33 3c 2f 73 70 61 6e 3e 2c 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 33</span>,.<span.class="tok-numb
2f6e0 65 72 22 3e 34 34 3c 2f 73 70 61 6e 3e 7d 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 er">44</span>};</span>.<span.cla
2f700 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b ss="line">....<span.class="tok-k
2f720 77 22 3e 74 72 79 3c 2f 73 70 61 6e 3e 20 65 78 70 65 63 74 28 61 72 72 61 79 5b 3c 73 70 61 6e w">try</span>.expect(array[<span
2f740 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>].==
2f760 20 3c 73 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 .<span.class="tok-number">11</sp
2f780 61 6e 3e 29 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e an>);</span>.<span.class="line">
2f7a0 20 20 20 20 3c 73 70 61 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
2f7c0 61 6e 3e 20 65 78 70 65 63 74 28 61 72 72 61 79 5b 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f an>.expect(array[<span.class="to
2f7e0 6b 2d 6e 75 6d 62 65 72 22 3e 31 3c 2f 73 70 61 6e 3e 5d 20 3d 3d 20 3c 73 70 61 6e 20 63 6c 61 k-number">1</span>].==.<span.cla
2f800 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 32 32 3c 2f 73 70 61 6e 3e 29 3b 3c 2f 73 70 61 ss="tok-number">22</span>);</spa
2f820 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 3c 73 70 61 6e 20 n>.<span.class="line">....<span.
2f840 63 6c 61 73 73 3d 22 74 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
2f860 28 61 72 72 61 79 5b 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e (array[<span.class="tok-number">
2f880 32 3c 2f 73 70 61 6e 3e 5d 20 3d 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 2</span>].==.<span.class="tok-nu
2f8a0 6d 62 65 72 22 3e 33 33 3c 2f 73 70 61 6e 3e 29 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 mber">33</span>);</span>.<span.c
2f8c0 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b lass="line">....<span.class="tok
2f8e0 2d 6b 77 22 3e 74 72 79 3c 2f 73 70 61 6e 3e 20 65 78 70 65 63 74 28 61 72 72 61 79 5b 3c 73 70 -kw">try</span>.expect(array[<sp
2f900 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 5d 20 an.class="tok-number">3</span>].
2f920 3d 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 34 34 3c 2f ==.<span.class="tok-number">44</
2f940 73 70 61 6e 3e 29 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 span>);</span>.<span.class="line
2f960 22 3e 7d 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 3c 2f 70 72 65 3e 3c 2f 66 69 67 75 72 65 3e ">}</span></code></pre></figure>
2f980 3c 66 69 67 75 72 65 3e 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
2f9a0 2d 63 61 70 22 3e 53 68 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
2f9c0 6d 70 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 24 20 3c 6b 62 64 3e 7a 69 67 mp><span.class="line">$.<kbd>zig
2f9e0 20 74 65 73 74 20 61 6e 6f 6e 5f 6c 69 73 74 2e 7a 69 67 3c 2f 6b 62 64 3e 3c 2f 73 70 61 6e 3e .test.anon_list.zig</kbd></span>
2fa00 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 31 2f 31 20 74 65 73 74 2e 61 6e 6f .<span.class="line">1/1.test.ano
2fa20 6e 79 6d 6f 75 73 20 6c 69 73 74 20 6c 69 74 65 72 61 6c 20 73 79 6e 74 61 78 2e 2e 2e 20 4f 4b nymous.list.literal.syntax....OK
2fa40 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 41 6c 6c 20 31 </span>.<span.class="line">All.1
2fa60 20 74 65 73 74 73 20 70 61 73 73 65 64 2e 3c 2f 73 70 61 6e 3e 0a 3c 2f 73 61 6d 70 3e 3c 2f 70 .tests.passed.</span>.</samp></p
2fa80 72 65 3e 3c 2f 66 69 67 75 72 65 3e 0a 20 20 20 20 20 20 3c 70 3e 0a 20 20 20 20 20 20 49 66 20 re></figure>.......<p>.......If.
2faa0 74 68 65 72 65 20 69 73 20 6e 6f 20 74 79 70 65 20 69 6e 20 74 68 65 20 72 65 73 75 6c 74 20 6c there.is.no.type.in.the.result.l
2fac0 6f 63 61 74 69 6f 6e 20 74 68 65 6e 20 61 6e 20 61 6e 6f 6e 79 6d 6f 75 73 20 6c 69 73 74 20 6c ocation.then.an.anonymous.list.l
2fae0 69 74 65 72 61 6c 20 61 63 74 75 61 6c 6c 79 0a 20 20 20 20 20 20 74 75 72 6e 73 20 69 6e 74 6f iteral.actually.......turns.into
2fb00 20 61 20 3c 61 20 68 72 65 66 3d 22 23 73 74 72 75 63 74 22 3e 73 74 72 75 63 74 3c 2f 61 3e 20 .a.<a.href="#struct">struct</a>.
2fb20 77 69 74 68 20 6e 75 6d 62 65 72 65 64 20 66 69 65 6c 64 20 6e 61 6d 65 73 3a 0a 20 20 20 20 20 with.numbered.field.names:......
2fb40 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.
2fb60 63 6c 61 73 73 3d 22 7a 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
2fb80 65 22 3e 69 6e 66 65 72 5f 6c 69 73 74 5f 6c 69 74 65 72 61 6c 2e 7a 69 67 3c 2f 63 69 74 65 3e e">infer_list_literal.zig</cite>
2fba0 3c 2f 66 69 67 63 61 70 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
2fbc0 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e ass="line"><span.class="tok-kw">
2fbe0 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="
2fc00 74 6f 6b 2d 62 75 69 6c 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
2fc20 6e 20 63 6c 61 73 73 3d 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
2fc40 3b 3c 2f 73 70 61 6e 3e 29 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c ;</span>);</span>.<span.class="l
2fc60 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 63 6f 6e 73 74 3c ine"><span.class="tok-kw">const<
2fc80 2f 73 70 61 6e 3e 20 65 78 70 65 63 74 20 3d 20 73 74 64 2e 74 65 73 74 69 6e 67 2e 65 78 70 65 /span>.expect.=.std.testing.expe
2fca0 63 74 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 2f ct;</span>.<span.class="line"></
2fcc0 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 span>.<span.class="line"><span.c
2fce0 6c 61 73 73 3d 22 74 6f 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.
2fd00 63 6c 61 73 73 3d 22 74 6f 6b 2d 73 74 72 22 3e 26 71 75 6f 74 3b 66 75 6c 6c 79 20 61 6e 6f 6e class="tok-str">&quot;fully.anon
2fd20 79 6d 6f 75 73 20 6c 69 73 74 20 6c 69 74 65 72 61 6c 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 20 ymous.list.literal&quot;</span>.
2fd40 7b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 {</span>.<span.class="line">....
2fd60 3c 73 70 61 6e 20 63 6c 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>.
2fd80 64 75 6d 70 28 2e 7b 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 62 75 69 6c 74 69 6e dump(.{.<span.class="tok-builtin
2fda0 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
2fdc0 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
2fde0 2d 6e 75 6d 62 65 72 22 3e 31 32 33 34 3c 2f 73 70 61 6e 3e 29 2c 20 3c 73 70 61 6e 20 63 6c 61 -number">1234</span>),.<span.cla
2fe00 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
2fe20 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 66 36 34 3c 2f 73 70 61 6e 3e 2c 20 3c n.class="tok-type">f64</span>,.<
2fe40 73 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
2fe60 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 6c 6c 22 3e 74 72 pan>),.<span.class="tok-null">tr
2fe80 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 73 74 72 22 ue</span>,.<span.class="tok-str"
2fea0 3e 26 71 75 6f 74 3b 68 69 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 7d 29 3b 3c 2f 73 70 61 6e 3e >&quot;hi&quot;</span>});</span>
2fec0 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 7d 3c 2f 73 70 61 6e 3e 0a 3c 73 70 .<span.class="line">}</span>.<sp
2fee0 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c an.class="line"></span>.<span.cl
2ff00 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e ass="line"><span.class="tok-kw">
2ff20 66 6e 3c 2f 73 70 61 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
2ff40 75 6d 70 3c 2f 73 70 61 6e 3e 28 61 72 67 73 3a 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f ump</span>(args:.<span.class="to
2ff60 6b 2d 6b 77 22 3e 61 6e 79 74 79 70 65 3c 2f 73 70 61 6e 3e 29 20 21 3c 73 70 61 6e 20 63 6c 61 k-kw">anytype</span>).!<span.cla
2ff80 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 76 6f 69 64 3c 2f 73 70 61 6e 3e 20 7b 3c 2f 73 70 61 ss="tok-type">void</span>.{</spa
2ffa0 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 3c 73 70 61 6e 20 n>.<span.class="line">....<span.
2ffc0 63 6c 61 73 73 3d 22 74 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
2ffe0 28 61 72 67 73 2e 40 26 71 75 6f 74 3b 30 26 71 75 6f 74 3b 20 3d 3d 20 3c 73 70 61 6e 20 63 6c (args.@&quot;0&quot;.==.<span.cl
30000 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 31 32 33 34 3c 2f 73 70 61 6e 3e 29 3b 3c 2f ass="tok-number">1234</span>);</
30020 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 3c 73 70 span>.<span.class="line">....<sp
30040 61 6e 20 63 6c 61 73 73 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
30060 65 63 74 28 61 72 67 73 2e 40 26 71 75 6f 74 3b 31 26 71 75 6f 74 3b 20 3d 3d 20 3c 73 70 61 6e ect(args.@&quot;1&quot;.==.<span
30080 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 31 32 2e 33 34 3c 2f 73 70 61 6e 3e .class="tok-number">12.34</span>
300a0 29 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 );</span>.<span.class="line">...
300c0 20 3c 73 70 61 6e 20 63 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>
300e0 20 65 78 70 65 63 74 28 61 72 67 73 2e 40 26 71 75 6f 74 3b 32 26 71 75 6f 74 3b 29 3b 3c 2f 73 .expect(args.@&quot;2&quot;);</s
30100 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 3c 73 70 61 pan>.<span.class="line">....<spa
30120 6e 20 63 6c 61 73 73 3d 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
30140 63 74 28 61 72 67 73 2e 40 26 71 75 6f 74 3b 33 26 71 75 6f 74 3b 5b 3c 73 70 61 6e 20 63 6c 61 ct(args.@&quot;3&quot;[<span.cla
30160 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 30 3c 2f 73 70 61 6e 3e 5d 20 3d 3d 20 3c 73 70 ss="tok-number">0</span>].==.<sp
30180 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 73 74 72 22 3e 27 68 27 3c 2f 73 70 61 6e 3e 29 3b 3c an.class="tok-str">'h'</span>);<
301a0 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 3c 73 /span>.<span.class="line">....<s
301c0 70 61 6e 20 63 6c 61 73 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
301e0 70 65 63 74 28 61 72 67 73 2e 40 26 71 75 6f 74 3b 33 26 71 75 6f 74 3b 5b 3c 73 70 61 6e 20 63 pect(args.@&quot;3&quot;[<span.c
30200 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 31 3c 2f 73 70 61 6e 3e 5d 20 3d 3d 20 3c lass="tok-number">1</span>].==.<
30220 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 73 74 72 22 3e 27 69 27 3c 2f 73 70 61 6e 3e 29 span.class="tok-str">'i'</span>)
30240 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 7d 3c 2f 73 ;</span>.<span.class="line">}</s
30260 70 61 6e 3e 3c 2f 63 6f 64 65 3e 3c 2f 70 72 65 3e 3c 2f 66 69 67 75 72 65 3e 3c 66 69 67 75 72 pan></code></pre></figure><figur
30280 65 3e 3c 66 69 67 63 61 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">
302a0 53 68 65 6c 6c 3c 2f 66 69 67 63 61 70 74 69 6f 6e 3e 3c 70 72 65 3e 3c 73 61 6d 70 3e 3c 73 70 Shell</figcaption><pre><samp><sp
302c0 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 24 20 3c 6b 62 64 3e 7a 69 67 20 74 65 73 74 20 an.class="line">$.<kbd>zig.test.
302e0 69 6e 66 65 72 5f 6c 69 73 74 5f 6c 69 74 65 72 61 6c 2e 7a 69 67 3c 2f 6b 62 64 3e 3c 2f 73 70 infer_list_literal.zig</kbd></sp
30300 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 31 2f 31 20 74 65 73 74 2e an>.<span.class="line">1/1.test.
30320 66 75 6c 6c 79 20 61 6e 6f 6e 79 6d 6f 75 73 20 6c 69 73 74 20 6c 69 74 65 72 61 6c 2e 2e 2e 20 fully.anonymous.list.literal....
30340 4f 4b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 41 6c 6c OK</span>.<span.class="line">All
30360 20 31 20 74 65 73 74 73 20 70 61 73 73 65 64 2e 3c 2f 73 70 61 6e 3e 0a 3c 2f 73 61 6d 70 3e 3c .1.tests.passed.</span>.</samp><
30380 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
303a0 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 61 .id="Multidimensional-Arrays"><a
303c0 20 68 72 65 66 3d 22 23 74 6f 63 2d 4d 75 6c 74 69 64 69 6d 65 6e 73 69 6f 6e 61 6c 2d 41 72 72 .href="#toc-Multidimensional-Arr
303e0 61 79 73 22 3e 4d 75 6c 74 69 64 69 6d 65 6e 73 69 6f 6e 61 6c 20 41 72 72 61 79 73 3c 2f 61 3e ays">Multidimensional.Arrays</a>
30400 20 3c 61 20 63 6c 61 73 73 3d 22 68 64 72 22 20 68 72 65 66 3d 22 23 4d 75 6c 74 69 64 69 6d 65 .<a.class="hdr".href="#Multidime
30420 6e 73 69 6f 6e 61 6c 2d 41 72 72 61 79 73 22 3e c2 a7 3c 2f 61 3e 3c 2f 68 33 3e 0a 0a 20 20 20 nsional-Arrays">..</a></h3>.....
30440 20 20 20 3c 70 3e 0a 20 20 20 20 20 20 4d 75 6c 74 69 64 69 6d 65 6e 73 69 6f 6e 61 6c 20 61 72 ...<p>.......Multidimensional.ar
30460 72 61 79 73 20 63 61 6e 20 62 65 20 63 72 65 61 74 65 64 20 62 79 20 6e 65 73 74 69 6e 67 20 61 rays.can.be.created.by.nesting.a
30480 72 72 61 79 73 3a 0a 20 20 20 20 20 20 3c 2f 70 3e 0a 20 20 20 20 20 20 3c 66 69 67 75 72 65 3e rrays:.......</p>.......<figure>
304a0 3c 66 69 67 63 61 70 74 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
304c0 65 20 63 6c 61 73 73 3d 22 66 69 6c 65 22 3e 6d 75 6c 74 69 64 69 6d 65 6e 73 69 6f 6e 61 6c 2e e.class="file">multidimensional.
304e0 7a 69 67 3c 2f 63 69 74 65 3e 3c 2f 66 69 67 63 61 70 74 69 6f 6e 3e 3c 70 72 65 3e 3c 63 6f 64 zig</cite></figcaption><pre><cod
30500 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 e><span.class="line"><span.class
30520 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
30540 61 6e 20 63 6c 61 73 73 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</
30560 73 70 61 6e 3e 28 3c 73 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
30580 74 3b 73 74 64 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 29 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 t;std&quot;</span>);</span>.<spa
305a0 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d n.class="line"><span.class="tok-
305c0 6b 77 22 3e 63 6f 6e 73 74 3c 2f 73 70 61 6e 3e 20 65 78 70 65 63 74 20 3d 20 73 74 64 2e 74 65 kw">const</span>.expect.=.std.te
305e0 73 74 69 6e 67 2e 65 78 70 65 63 74 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 sting.expect;</span>.<span.class
30600 3d 22 6c 69 6e 65 22 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e ="line"></span>.<span.class="lin
30620 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 63 6f 6e 73 74 3c 2f 73 e"><span.class="tok-kw">const</s
30640 70 61 6e 3e 20 6d 61 74 34 78 34 20 3d 20 5b 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d pan>.mat4x4.=.[<span.class="tok-
30660 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 22 74 number">4</span>][<span.class="t
30680 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 3d ok-number">4</span>]<span.class=
306a0 22 74 6f 6b 2d 74 79 70 65 22 3e 66 33 32 3c 2f 73 70 61 6e 3e 7b 3c 2f 73 70 61 6e 3e 0a 3c 73 "tok-type">f32</span>{</span>.<s
306c0 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 5b 5f 5d 3c 73 70 61 6e 20 63 6c pan.class="line">....[_]<span.cl
306e0 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 66 33 32 3c 2f 73 70 61 6e 3e 7b 20 3c 73 70 61 6e ass="tok-type">f32</span>{.<span
30700 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 31 2e 30 3c 2f 73 70 61 6e 3e 2c 20 .class="tok-number">1.0</span>,.
30720 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 30 2e 30 3c 2f 73 70 <span.class="tok-number">0.0</sp
30740 61 6e 3e 2c 20 3c 73 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.
30760 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
30780 72 22 3e 30 2e 30 3c 2f 73 70 61 6e 3e 20 7d 2c 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c r">0.0</span>.},</span>.<span.cl
307a0 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 5b 5f 5d 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 ass="line">....[_]<span.class="t
307c0 6f 6b 2d 74 79 70 65 22 3e 66 33 32 3c 2f 73 70 61 6e 3e 7b 20 3c 73 70 61 6e 20 63 6c 61 73 73 ok-type">f32</span>{.<span.class
307e0 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 30 2e 30 3c 2f 73 70 61 6e 3e 2c 20 3c 73 70 61 6e 20 ="tok-number">0.0</span>,.<span.
30800 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 31 2e 30 3c 2f 73 70 61 6e 3e 2c 20 3c class="tok-number">1.0</span>,.<
30820 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 30 2e 30 3c 2f 73 70 61 span.class="tok-number">0.0</spa
30840 6e 3e 2c 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 31 2e 30 n>,.<span.class="tok-number">1.0
30860 3c 2f 73 70 61 6e 3e 20 7d 2c 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c </span>.},</span>.<span.class="l
30880 69 6e 65 22 3e 20 20 20 20 5b 5f 5d 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 ine">....[_]<span.class="tok-typ
308a0 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-
308c0 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=
308e0 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
30900 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 31 2e 30 3c 2f 73 70 61 6e 3e 2c 20 3c 73 lass="tok-number">1.0</span>,.<s
30920 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
30940 3e 20 7d 2c 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 >.},</span>.<span.class="line">.
30960 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 32 ...[_]<span.class="tok-type">f32
30980 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
309a0 22 3e 30 2e 30 3c 2f 73 70 61 6e 3e 2c 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e ">0.0</span>,.<span.class="tok-n
309c0 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="
309e0 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 30 2e 30 3c 2f 73 70 61 6e 3e 2c 20 3c 73 70 61 6e 20 63 6c tok-number">0.0</span>,.<span.cl
30a00 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 31 2e 30 3c 2f 73 70 61 6e 3e 20 7d 2c 3c 2f ass="tok-number">1.0</span>.},</
30a20 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 7d 3b 3c 2f 73 70 61 span>.<span.class="line">};</spa
30a40 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 n>.<span.class="line"><span.clas
30a60 73 3d 22 74 6f 6b 2d 6b 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
30a80 73 73 3d 22 74 6f 6b 2d 73 74 72 22 3e 26 71 75 6f 74 3b 6d 75 6c 74 69 64 69 6d 65 6e 73 69 6f ss="tok-str">&quot;multidimensio
30aa0 6e 61 6c 20 61 72 72 61 79 73 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 20 7b 3c 2f 73 70 61 6e 3e nal.arrays&quot;</span>.{</span>
30ac0 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 3c 73 70 61 6e 20 63 6c .<span.class="line">....<span.cl
30ae0 61 73 73 3d 22 74 6f 6b 2d 63 6f 6d 6d 65 6e 74 22 3e 2f 2f 20 41 63 63 65 73 73 20 74 68 65 20 ass="tok-comment">//.Access.the.
30b00 32 44 20 61 72 72 61 79 20 62 79 20 69 6e 64 65 78 69 6e 67 20 74 68 65 20 6f 75 74 65 72 20 61 2D.array.by.indexing.the.outer.a
30b20 72 72 61 79 2c 20 61 6e 64 20 74 68 65 6e 20 74 68 65 20 69 6e 6e 65 72 20 61 72 72 61 79 2e 3c rray,.and.then.the.inner.array.<
30b40 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 /span></span>.<span.class="line"
30b60 3e 20 20 20 20 3c 73 70 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
30b80 70 61 6e 3e 20 65 78 70 65 63 74 28 6d 61 74 34 78 34 5b 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 pan>.expect(mat4x4[<span.class="
30ba0 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 31 3c 2f 73 70 61 6e 3e 5d 5b 3c 73 70 61 6e 20 63 6c 61 73 tok-number">1</span>][<span.clas
30bc0 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 31 3c 2f 73 70 61 6e 3e 5d 20 3d 3d 20 3c 73 70 61 s="tok-number">1</span>].==.<spa
30be0 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 29 n.class="tok-number">1.0</span>)
30c00 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 2f 73 70 ;</span>.<span.class="line"></sp
30c20 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 3c 73 70 61 6e an>.<span.class="line">....<span
30c40 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 63 6f 6d 6d 65 6e 74 22 3e 2f 2f 20 48 65 72 65 20 77 65 20 .class="tok-comment">//.Here.we.
30c60 69 74 65 72 61 74 65 20 77 69 74 68 20 66 6f 72 20 6c 6f 6f 70 73 2e 3c 2f 73 70 61 6e 3e 3c 2f iterate.with.for.loops.</span></
30c80 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 3c 73 70 span>.<span.class="line">....<sp
30ca0 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 6d 61 an.class="tok-kw">for</span>.(ma
30cc0 74 34 78 34 29 20 7c 72 6f 77 2c 20 72 6f 77 5f 69 6e 64 65 78 7c 20 7b 3c 2f 73 70 61 6e 3e 0a t4x4).|row,.row_index|.{</span>.
30ce0 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 20 20 20 20 3c 73 70 61 6e <span.class="line">........<span
30d00 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 72 6f 77 29 .class="tok-kw">for</span>.(row)
30d20 20 7c 63 65 6c 6c 2c 20 63 6f 6c 75 6d 6e 5f 69 6e 64 65 78 7c 20 7b 3c 2f 73 70 61 6e 3e 0a 3c .|cell,.column_index|.{</span>.<
30d40 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 20 20 20 20 20 20 20 20 3c 73 span.class="line">............<s
30d60 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 6f pan.class="tok-kw">if</span>.(ro
30d80 77 5f 69 6e 64 65 78 20 3d 3d 20 63 6f 6c 75 6d 6e 5f 69 6e 64 65 78 29 20 7b 3c 2f 73 70 61 6e w_index.==.column_index).{</span
30da0 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 20 20 20 20 20 20 20 >.<span.class="line">...........
30dc0 20 20 20 20 20 3c 73 70 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
30de0 70 61 6e 3e 20 65 78 70 65 63 74 28 63 65 6c 6c 20 3d 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d pan>.expect(cell.==.<span.class=
30e00 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 31 2e 30 3c 2f 73 70 61 6e 3e 29 3b 3c 2f 73 70 61 6e 3e "tok-number">1.0</span>);</span>
30e20 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 20 20 20 20 20 20 20 20 .<span.class="line">............
30e40 7d 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 }</span>.<span.class="line">....
30e60 20 20 20 20 7d 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e ....}</span>.<span.class="line">
30e80 20 20 20 20 7d 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e ....}</span>.<span.class="line">
30ea0 7d 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 3c 2f 70 72 65 3e 3c 2f 66 69 67 75 72 65 3e 3c 66 }</span></code></pre></figure><f
30ec0 69 67 75 72 65 3e 3c 66 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
30ee0 61 70 22 3e 53 68 65 6c 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
30f00 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 24 20 3c 6b 62 64 3e 7a 69 67 20 74 ><span.class="line">$.<kbd>zig.t
30f20 65 73 74 20 6d 75 6c 74 69 64 69 6d 65 6e 73 69 6f 6e 61 6c 2e 7a 69 67 3c 2f 6b 62 64 3e 3c 2f est.multidimensional.zig</kbd></
30f40 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 31 2f 31 20 74 65 73 span>.<span.class="line">1/1.tes
30f60 74 2e 6d 75 6c 74 69 64 69 6d 65 6e 73 69 6f 6e 61 6c 20 61 72 72 61 79 73 2e 2e 2e 20 4f 4b 3c t.multidimensional.arrays....OK<
30f80 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 41 6c 6c 20 31 20 /span>.<span.class="line">All.1.
30fa0 74 65 73 74 73 20 70 61 73 73 65 64 2e 3c 2f 73 70 61 6e 3e 0a 3c 2f 73 61 6d 70 3e 3c 2f 70 72 tests.passed.</span>.</samp></pr
30fc0 65 3e 3c 2f 66 69 67 75 72 65 3e 0a 20 20 20 20 20 20 0a 0a 20 20 20 20 20 20 3c 68 33 20 69 64 e></figure>...............<h3.id
30fe0 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 61 79 73 22 3e 3c 61 ="Sentinel-Terminated-Arrays"><a
31000 20 68 72 65 66 3d 22 23 74 6f 63 2d 53 65 6e 74 69 6e 65 6c 2d 54 65 72 6d 69 6e 61 74 65 64 2d .href="#toc-Sentinel-Terminated-
31020 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 72 61 Arrays">Sentinel-Terminated.Arra
31040 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 53 65 6e ys</a>.<a.class="hdr".href="#Sen
31060 74 69 6e 65 6c 2d 54 65 72 6d 69 6e 61 74 65 64 2d 41 72 72 61 79 73 22 3e c2 a7 3c 2f 61 3e 3c tinel-Terminated-Arrays">..</a><
31080 2f 68 33 3e 0a 0a 20 20 20 20 20 20 3c 70 3e 0a 20 20 20 20 20 20 54 68 65 20 73 79 6e 74 61 78 /h3>........<p>.......The.syntax
310a0 20 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 5b 4e 3a 78 5d 54 .<code><span.class="line">[N:x]T
310c0 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 20 64 65 73 63 72 69 62 65 73 20 61 6e 20 61 72 72 61 </span></code>.describes.an.arra
310e0 79 20 77 68 69 63 68 20 68 61 73 20 61 20 73 65 6e 74 69 6e 65 6c 20 65 6c 65 6d 65 6e 74 20 6f y.which.has.a.sentinel.element.o
31100 66 20 76 61 6c 75 65 20 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 f.value.<code><span.class="line"
31120 3e 78 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 20 61 74 20 74 68 65 0a 20 20 20 20 20 20 69 6e >x</span></code>.at.the.......in
31140 64 65 78 20 63 6f 72 72 65 73 70 6f 6e 64 69 6e 67 20 74 6f 20 3c 63 6f 64 65 3e 3c 73 70 61 6e dex.corresponding.to.<code><span
31160 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 6c 65 6e 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 2e .class="line">len</span></code>.
31180 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
311a0 70 74 69 6f 6e 20 63 6c 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
311c0 73 3d 22 66 69 6c 65 22 3e 6e 75 6c 6c 5f 74 65 72 6d 69 6e 61 74 65 64 5f 61 72 72 61 79 2e 7a s="file">null_terminated_array.z
311e0 69 67 3c 2f 63 69 74 65 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
31200 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d ><span.class="line"><span.class=
31220 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
31240 6e 20 63 6c 61 73 73 3d 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
31260 70 61 6e 3e 28 3c 73 70 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
31280 3b 73 74 64 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 29 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e ;std&quot;</span>);</span>.<span
312a0 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b .class="line"><span.class="tok-k
312c0 77 22 3e 63 6f 6e 73 74 3c 2f 73 70 61 6e 3e 20 65 78 70 65 63 74 20 3d 20 73 74 64 2e 74 65 73 w">const</span>.expect.=.std.tes
312e0 74 69 6e 67 2e 65 78 70 65 63 74 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d ting.expect;</span>.<span.class=
31300 22 6c 69 6e 65 22 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 "line"></span>.<span.class="line
31320 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 74 65 73 74 3c 2f 73 70 61 "><span.class="tok-kw">test</spa
31340 6e 3e 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 73 74 72 22 3e 26 71 75 6f 74 3b 6e n>.<span.class="tok-str">&quot;n
31360 75 6c 6c 20 74 65 72 6d 69 6e 61 74 65 64 20 61 72 72 61 79 26 71 75 6f 74 3b 3c 2f 73 70 61 6e ull.terminated.array&quot;</span
31380 3e 20 7b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 >.{</span>.<span.class="line">..
313a0 20 20 3c 73 70 61 6e 20 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
313c0 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 74 6f 6b 2d an>.array.=.[_:<span.class="tok-
313e0 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
31400 6b 2d 74 79 70 65 22 3e 75 38 3c 2f 73 70 61 6e 3e 20 7b 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 k-type">u8</span>.{<span.class="
31420 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 31 3c 2f 73 70 61 6e 3e 2c 20 3c 73 70 61 6e 20 63 6c 61 73 tok-number">1</span>,.<span.clas
31440 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 32 3c 2f 73 70 61 6e 3e 2c 20 3c 73 70 61 6e 20 63 s="tok-number">2</span>,.<span.c
31460 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 33 3c 2f 73 70 61 6e 3e 2c 20 3c 73 70 61 lass="tok-number">3</span>,.<spa
31480 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 7d 3b 3c n.class="tok-number">4</span>};<
314a0 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 2f 73 70 61 6e /span>.<span.class="line"></span
314c0 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 3c 73 70 61 6e 20 63 >.<span.class="line">....<span.c
314e0 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 74 72 79 3c 2f 73 70 61 6e 3e 20 65 78 70 65 63 74 28 lass="tok-kw">try</span>.expect(
31500 3c 73 70 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
31520 66 3c 2f 73 70 61 6e 3e 28 61 72 72 61 79 29 20 3d 3d 20 5b 3c 73 70 61 6e 20 63 6c 61 73 73 3d f</span>(array).==.[<span.class=
31540 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 6c 61 73 "tok-number">4</span>:<span.clas
31560 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 30 3c 2f 73 70 61 6e 3e 5d 3c 73 70 61 6e 20 63 6c s="tok-number">0</span>]<span.cl
31580 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 75 38 3c 2f 73 70 61 6e 3e 29 3b 3c 2f 73 70 61 6e ass="tok-type">u8</span>);</span
315a0 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 3c 73 70 61 6e 20 63 >.<span.class="line">....<span.c
315c0 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 74 72 79 3c 2f 73 70 61 6e 3e 20 65 78 70 65 63 74 28 lass="tok-kw">try</span>.expect(
315e0 61 72 72 61 79 2e 6c 65 6e 20 3d 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 array.len.==.<span.class="tok-nu
31600 6d 62 65 72 22 3e 34 3c 2f 73 70 61 6e 3e 29 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c mber">4</span>);</span>.<span.cl
31620 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d ass="line">....<span.class="tok-
31640 6b 77 22 3e 74 72 79 3c 2f 73 70 61 6e 3e 20 65 78 70 65 63 74 28 61 72 72 61 79 5b 3c 73 70 61 kw">try</span>.expect(array[<spa
31660 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 34 3c 2f 73 70 61 6e 3e 5d 20 3d n.class="tok-number">4</span>].=
31680 3d 20 3c 73 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
316a0 61 6e 3e 29 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e an>);</span>.<span.class="line">
316c0 7d 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 3c 2f 70 72 65 3e 3c 2f 66 69 67 75 72 65 3e 3c 66 }</span></code></pre></figure><f
316e0 69 67 75 72 65 3e 3c 66 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
31700 61 70 22 3e 53 68 65 6c 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
31720 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 24 20 3c 6b 62 64 3e 7a 69 67 20 74 ><span.class="line">$.<kbd>zig.t
31740 65 73 74 20 6e 75 6c 6c 5f 74 65 72 6d 69 6e 61 74 65 64 5f 61 72 72 61 79 2e 7a 69 67 3c 2f 6b est.null_terminated_array.zig</k
31760 62 64 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 31 2f bd></span>.<span.class="line">1/
31780 31 20 74 65 73 74 2e 6e 75 6c 6c 20 74 65 72 6d 69 6e 61 74 65 64 20 61 72 72 61 79 2e 2e 2e 20 1.test.null.terminated.array....
317a0 4f 4b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 41 6c 6c OK</span>.<span.class="line">All
317c0 20 31 20 74 65 73 74 73 20 70 61 73 73 65 64 2e 3c 2f 73 70 61 6e 3e 0a 3c 2f 73 61 6d 70 3e 3c .1.tests.passed.</span>.</samp><
317e0 2f 70 72 65 3e 3c 2f 66 69 67 75 72 65 3e 0a 20 20 20 20 20 20 3c 70 3e 53 65 65 20 61 6c 73 6f /pre></figure>.......<p>See.also
31800 3a 3c 2f 70 3e 3c 75 6c 3e 0a 3c 6c 69 3e 3c 61 20 68 72 65 66 3d 22 23 53 65 6e 74 69 6e 65 6c :</p><ul>.<li><a.href="#Sentinel
31820 2d 54 65 72 6d 69 6e 61 74 65 64 2d 50 6f 69 6e 74 65 72 73 22 3e 53 65 6e 74 69 6e 65 6c 2d 54 -Terminated-Pointers">Sentinel-T
31840 65 72 6d 69 6e 61 74 65 64 20 50 6f 69 6e 74 65 72 73 3c 2f 61 3e 3c 2f 6c 69 3e 0a 3c 6c 69 3e erminated.Pointers</a></li>.<li>
31860 3c 61 20 68 72 65 66 3d 22 23 53 65 6e 74 69 6e 65 6c 2d 54 65 72 6d 69 6e 61 74 65 64 2d 53 6c <a.href="#Sentinel-Terminated-Sl
31880 69 63 65 73 22 3e 53 65 6e 74 69 6e 65 6c 2d 54 65 72 6d 69 6e 61 74 65 64 20 53 6c 69 63 65 73 ices">Sentinel-Terminated.Slices
318a0 3c 2f 61 3e 3c 2f 6c 69 3e 0a 3c 2f 75 6c 3e 0a 0a 20 20 20 20 20 20 0a 20 20 20 20 20 20 0a 0a </a></li>.</ul>.................
318c0 20 20 20 20 20 20 3c 68 32 20 69 64 3d 22 56 65 63 74 6f 72 73 22 3e 3c 61 20 68 72 65 66 3d 22 ......<h2.id="Vectors"><a.href="
318e0 23 74 6f 63 2d 56 65 63 74 6f 72 73 22 3e 56 65 63 74 6f 72 73 3c 2f 61 3e 20 3c 61 20 63 6c 61 #toc-Vectors">Vectors</a>.<a.cla
31900 73 73 3d 22 68 64 72 22 20 68 72 65 66 3d 22 23 56 65 63 74 6f 72 73 22 3e c2 a7 3c 2f 61 3e 3c ss="hdr".href="#Vectors">..</a><
31920 2f 68 32 3e 0a 0a 20 20 20 20 20 20 3c 70 3e 0a 20 20 20 20 20 20 41 20 76 65 63 74 6f 72 20 69 /h2>........<p>.......A.vector.i
31940 73 20 61 20 67 72 6f 75 70 20 6f 66 20 62 6f 6f 6c 65 61 6e 73 2c 20 3c 61 20 68 72 65 66 3d 22 s.a.group.of.booleans,.<a.href="
31960 23 49 6e 74 65 67 65 72 73 22 3e 49 6e 74 65 67 65 72 73 3c 2f 61 3e 2c 20 3c 61 20 68 72 65 66 #Integers">Integers</a>,.<a.href
31980 3d 22 23 46 6c 6f 61 74 73 22 3e 46 6c 6f 61 74 73 3c 2f 61 3e 2c 20 6f 72 0a 20 20 20 20 20 20 ="#Floats">Floats</a>,.or.......
319a0 3c 61 20 68 72 65 66 3d 22 23 50 6f 69 6e 74 65 72 73 22 3e 50 6f 69 6e 74 65 72 73 3c 2f 61 3e <a.href="#Pointers">Pointers</a>
319c0 20 77 68 69 63 68 20 61 72 65 20 6f 70 65 72 61 74 65 64 20 6f 6e 20 69 6e 20 70 61 72 61 6c 6c .which.are.operated.on.in.parall
319e0 65 6c 2c 20 75 73 69 6e 67 20 53 49 4d 44 20 69 6e 73 74 72 75 63 74 69 6f 6e 73 20 69 66 20 70 el,.using.SIMD.instructions.if.p
31a00 6f 73 73 69 62 6c 65 2e 0a 20 20 20 20 20 20 56 65 63 74 6f 72 20 74 79 70 65 73 20 61 72 65 20 ossible........Vector.types.are.
31a20 63 72 65 61 74 65 64 20 77 69 74 68 20 74 68 65 20 62 75 69 6c 74 69 6e 20 66 75 6e 63 74 69 6f created.with.the.builtin.functio
31a40 6e 20 3c 61 20 68 72 65 66 3d 22 23 56 65 63 74 6f 72 22 3e 40 56 65 63 74 6f 72 3c 2f 61 3e 2e n.<a.href="#Vector">@Vector</a>.
31a60 0a 20 20 20 20 20 20 3c 2f 70 3e 0a 20 20 20 20 20 20 3c 70 3e 0a 20 20 20 20 20 20 56 65 63 74 .......</p>.......<p>.......Vect
31a80 6f 72 73 20 73 75 70 70 6f 72 74 20 74 68 65 20 73 61 6d 65 20 62 75 69 6c 74 69 6e 20 6f 70 65 ors.support.the.same.builtin.ope
31aa0 72 61 74 6f 72 73 20 61 73 20 74 68 65 69 72 20 75 6e 64 65 72 6c 79 69 6e 67 20 62 61 73 65 20 rators.as.their.underlying.base.
31ac0 74 79 70 65 73 2e 0a 20 20 20 20 20 20 54 68 65 73 65 20 6f 70 65 72 61 74 69 6f 6e 73 20 61 72 types........These.operations.ar
31ae0 65 20 70 65 72 66 6f 72 6d 65 64 20 65 6c 65 6d 65 6e 74 2d 77 69 73 65 2c 20 61 6e 64 20 72 65 e.performed.element-wise,.and.re
31b00 74 75 72 6e 20 61 20 76 65 63 74 6f 72 20 6f 66 20 74 68 65 20 73 61 6d 65 20 6c 65 6e 67 74 68 turn.a.vector.of.the.same.length
31b20 0a 20 20 20 20 20 20 61 73 20 74 68 65 20 69 6e 70 75 74 20 76 65 63 74 6f 72 73 2e 20 54 68 69 .......as.the.input.vectors..Thi
31b40 73 20 69 6e 63 6c 75 64 65 73 3a 0a 20 20 20 20 20 20 3c 2f 70 3e 0a 20 20 20 20 20 20 3c 75 6c s.includes:.......</p>.......<ul
31b60 3e 0a 20 20 20 20 20 20 20 20 20 20 3c 6c 69 3e 41 72 69 74 68 6d 65 74 69 63 20 28 3c 63 6f 64 >...........<li>Arithmetic.(<cod
31b80 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 2b 3c 2f 73 70 61 6e 3e 3c 2f 63 e><span.class="line">+</span></c
31ba0 6f 64 65 3e 2c 20 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 2d ode>,.<code><span.class="line">-
31bc0 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 2c 20 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 </span></code>,.<code><span.clas
31be0 73 3d 22 6c 69 6e 65 22 3e 2f 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 2c 20 3c 63 6f 64 65 3e s="line">/</span></code>,.<code>
31c00 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 2a 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 <span.class="line">*</span></cod
31c20 65 3e 2c 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 3c 63 6f e>,..........................<co
31c40 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 de><span.class="line"><span.clas
31c60 73 3d 22 74 6f 6b 2d 62 75 69 6c 74 69 6e 22 3e 40 64 69 76 46 6c 6f 6f 72 3c 2f 73 70 61 6e 3e s="tok-builtin">@divFloor</span>
31c80 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 2c 20 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 </span></code>,.<code><span.clas
31ca0 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 62 75 69 6c 74 69 s="line"><span.class="tok-builti
31cc0 6e 22 3e 40 73 71 72 74 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 2c 20 3c n">@sqrt</span></span></code>,.<
31ce0 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c code><span.class="line"><span.cl
31d00 61 73 73 3d 22 74 6f 6b 2d 62 75 69 6c 74 69 6e 22 3e 40 63 65 69 6c 3c 2f 73 70 61 6e 3e 3c 2f ass="tok-builtin">@ceil</span></
31d20 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 2c 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 span></code>,...................
31d40 20 20 20 20 20 20 20 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e .......<code><span.class="line">
31d60 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 62 75 69 6c 74 69 6e 22 3e 40 6c 6f 67 3c 2f <span.class="tok-builtin">@log</
31d80 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 2c 20 65 74 63 2e 29 3c 2f 6c 69 3e 0a span></span></code>,.etc.)</li>.
31da0 20 20 20 20 20 20 20 20 20 20 3c 6c 69 3e 42 69 74 77 69 73 65 20 6f 70 65 72 61 74 6f 72 73 20 ..........<li>Bitwise.operators.
31dc0 28 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 26 67 74 3b 26 67 (<code><span.class="line">&gt;&g
31de0 74 3b 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 2c 20 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c t;</span></code>,.<code><span.cl
31e00 61 73 73 3d 22 6c 69 6e 65 22 3e 26 6c 74 3b 26 6c 74 3b 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 ass="line">&lt;&lt;</span></code
31e20 3e 2c 20 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 26 61 6d 70 >,.<code><span.class="line">&amp
31e40 3b 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 2c 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ;</span></code>,................
31e60 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c ..................<code><span.cl
31e80 61 73 73 3d 22 6c 69 6e 65 22 3e 7c 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 2c 20 3c 63 6f 64 ass="line">|</span></code>,.<cod
31ea0 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 7e 3c 2f 73 70 61 6e 3e 3c 2f 63 e><span.class="line">~</span></c
31ec0 6f 64 65 3e 2c 20 65 74 63 2e 29 3c 2f 6c 69 3e 0a 20 20 20 20 20 20 20 20 20 20 3c 6c 69 3e 43 ode>,.etc.)</li>...........<li>C
31ee0 6f 6d 70 61 72 69 73 6f 6e 20 6f 70 65 72 61 74 6f 72 73 20 28 3c 63 6f 64 65 3e 3c 73 70 61 6e omparison.operators.(<code><span
31f00 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 26 6c 74 3b 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e .class="line">&lt;</span></code>
31f20 2c 20 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 26 67 74 3b 3c ,.<code><span.class="line">&gt;<
31f40 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 2c 20 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 /span></code>,.<code><span.class
31f60 3d 22 6c 69 6e 65 22 3e 3d 3d 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 2c 20 65 74 63 2e 29 3c ="line">==</span></code>,.etc.)<
31f80 2f 6c 69 3e 0a 20 20 20 20 20 20 3c 2f 75 6c 3e 0a 20 20 20 20 20 20 3c 70 3e 0a 20 20 20 20 20 /li>.......</ul>.......<p>......
31fa0 20 49 74 20 69 73 20 70 72 6f 68 69 62 69 74 65 64 20 74 6f 20 75 73 65 20 61 20 6d 61 74 68 20 .It.is.prohibited.to.use.a.math.
31fc0 6f 70 65 72 61 74 6f 72 20 6f 6e 20 61 20 6d 69 78 74 75 72 65 20 6f 66 20 73 63 61 6c 61 72 73 operator.on.a.mixture.of.scalars
31fe0 20 28 69 6e 64 69 76 69 64 75 61 6c 20 6e 75 6d 62 65 72 73 29 0a 20 20 20 20 20 20 61 6e 64 20 .(individual.numbers).......and.
32000 76 65 63 74 6f 72 73 2e 20 5a 69 67 20 70 72 6f 76 69 64 65 73 20 74 68 65 20 3c 61 20 68 72 65 vectors..Zig.provides.the.<a.hre
32020 66 3d 22 23 73 70 6c 61 74 22 3e 40 73 70 6c 61 74 3c 2f 61 3e 20 62 75 69 6c 74 69 6e 20 74 6f f="#splat">@splat</a>.builtin.to
32040 20 65 61 73 69 6c 79 20 63 6f 6e 76 65 72 74 20 66 72 6f 6d 20 73 63 61 6c 61 72 73 0a 20 20 20 .easily.convert.from.scalars....
32060 20 20 20 74 6f 20 76 65 63 74 6f 72 73 2c 20 61 6e 64 20 69 74 20 73 75 70 70 6f 72 74 73 20 3c ...to.vectors,.and.it.supports.<
32080 61 20 68 72 65 66 3d 22 23 72 65 64 75 63 65 22 3e 40 72 65 64 75 63 65 3c 2f 61 3e 20 61 6e 64 a.href="#reduce">@reduce</a>.and
320a0 20 61 72 72 61 79 20 69 6e 64 65 78 69 6e 67 20 73 79 6e 74 61 78 20 74 6f 20 63 6f 6e 76 65 72 .array.indexing.syntax.to.conver
320c0 74 0a 20 20 20 20 20 20 66 72 6f 6d 20 76 65 63 74 6f 72 73 20 74 6f 20 73 63 61 6c 61 72 73 2e t.......from.vectors.to.scalars.
320e0 20 56 65 63 74 6f 72 73 20 61 6c 73 6f 20 73 75 70 70 6f 72 74 20 61 73 73 69 67 6e 6d 65 6e 74 .Vectors.also.support.assignment
32100 20 74 6f 20 61 6e 64 20 66 72 6f 6d 20 66 69 78 65 64 2d 6c 65 6e 67 74 68 0a 20 20 20 20 20 20 .to.and.from.fixed-length.......
32120 61 72 72 61 79 73 20 77 69 74 68 20 63 6f 6d 70 74 69 6d 65 20 6b 6e 6f 77 6e 20 6c 65 6e 67 74 arrays.with.comptime.known.lengt
32140 68 2e 0a 20 20 20 20 20 20 3c 2f 70 3e 0a 20 20 20 20 20 20 3c 70 3e 0a 20 20 20 20 20 20 46 6f h........</p>.......<p>.......Fo
32160 72 20 72 65 61 72 72 61 6e 67 69 6e 67 20 65 6c 65 6d 65 6e 74 73 20 77 69 74 68 69 6e 20 61 6e r.rearranging.elements.within.an
32180 64 20 62 65 74 77 65 65 6e 20 76 65 63 74 6f 72 73 2c 20 5a 69 67 20 70 72 6f 76 69 64 65 73 20 d.between.vectors,.Zig.provides.
321a0 74 68 65 20 3c 61 20 68 72 65 66 3d 22 23 73 68 75 66 66 6c 65 22 3e 40 73 68 75 66 66 6c 65 3c the.<a.href="#shuffle">@shuffle<
321c0 2f 61 3e 20 61 6e 64 20 3c 61 20 68 72 65 66 3d 22 23 73 65 6c 65 63 74 22 3e 40 73 65 6c 65 63 /a>.and.<a.href="#select">@selec
321e0 74 3c 2f 61 3e 20 66 75 6e 63 74 69 6f 6e 73 2e 0a 20 20 20 20 20 20 3c 2f 70 3e 0a 20 20 20 20 t</a>.functions........</p>.....
32200 20 20 3c 70 3e 0a 20 20 20 20 20 20 4f 70 65 72 61 74 69 6f 6e 73 20 6f 6e 20 76 65 63 74 6f 72 ..<p>.......Operations.on.vector
32220 73 20 73 68 6f 72 74 65 72 20 74 68 61 6e 20 74 68 65 20 74 61 72 67 65 74 20 6d 61 63 68 69 6e s.shorter.than.the.target.machin
32240 65 27 73 20 6e 61 74 69 76 65 20 53 49 4d 44 20 73 69 7a 65 20 77 69 6c 6c 20 74 79 70 69 63 61 e's.native.SIMD.size.will.typica
32260 6c 6c 79 20 63 6f 6d 70 69 6c 65 20 74 6f 20 73 69 6e 67 6c 65 20 53 49 4d 44 0a 20 20 20 20 20 lly.compile.to.single.SIMD......
32280 20 69 6e 73 74 72 75 63 74 69 6f 6e 73 2c 20 77 68 69 6c 65 20 76 65 63 74 6f 72 73 20 6c 6f 6e .instructions,.while.vectors.lon
322a0 67 65 72 20 74 68 61 6e 20 74 68 65 20 74 61 72 67 65 74 20 6d 61 63 68 69 6e 65 27 73 20 6e 61 ger.than.the.target.machine's.na
322c0 74 69 76 65 20 53 49 4d 44 20 73 69 7a 65 20 77 69 6c 6c 20 63 6f 6d 70 69 6c 65 20 74 6f 20 6d tive.SIMD.size.will.compile.to.m
322e0 75 6c 74 69 70 6c 65 20 53 49 4d 44 0a 20 20 20 20 20 20 69 6e 73 74 72 75 63 74 69 6f 6e 73 2e ultiple.SIMD.......instructions.
32300 20 49 66 20 61 20 67 69 76 65 6e 20 6f 70 65 72 61 74 69 6f 6e 20 64 6f 65 73 6e 27 74 20 68 61 .If.a.given.operation.doesn't.ha
32320 76 65 20 53 49 4d 44 20 73 75 70 70 6f 72 74 20 6f 6e 20 74 68 65 20 74 61 72 67 65 74 20 61 72 ve.SIMD.support.on.the.target.ar
32340 63 68 69 74 65 63 74 75 72 65 2c 20 74 68 65 20 63 6f 6d 70 69 6c 65 72 20 77 69 6c 6c 20 64 65 chitecture,.the.compiler.will.de
32360 66 61 75 6c 74 0a 20 20 20 20 20 20 74 6f 20 6f 70 65 72 61 74 69 6e 67 20 6f 6e 20 65 61 63 68 fault.......to.operating.on.each
32380 20 76 65 63 74 6f 72 20 65 6c 65 6d 65 6e 74 20 6f 6e 65 20 61 74 20 61 20 74 69 6d 65 2e 20 5a .vector.element.one.at.a.time..Z
323a0 69 67 20 73 75 70 70 6f 72 74 73 20 61 6e 79 20 63 6f 6d 70 74 69 6d 65 2d 6b 6e 6f 77 6e 20 76 ig.supports.any.comptime-known.v
323c0 65 63 74 6f 72 20 6c 65 6e 67 74 68 20 75 70 20 74 6f 20 32 5e 33 32 2d 31 2c 0a 20 20 20 20 20 ector.length.up.to.2^32-1,......
323e0 20 61 6c 74 68 6f 75 67 68 20 73 6d 61 6c 6c 20 70 6f 77 65 72 73 20 6f 66 20 74 77 6f 20 28 32 .although.small.powers.of.two.(2
32400 2d 36 34 29 20 61 72 65 20 6d 6f 73 74 20 74 79 70 69 63 61 6c 2e 20 4e 6f 74 65 20 74 68 61 74 -64).are.most.typical..Note.that
32420 20 65 78 63 65 73 73 69 76 65 6c 79 20 6c 6f 6e 67 20 76 65 63 74 6f 72 20 6c 65 6e 67 74 68 73 .excessively.long.vector.lengths
32440 20 28 65 2e 67 2e 20 32 5e 32 30 29 20 6d 61 79 0a 20 20 20 20 20 20 72 65 73 75 6c 74 20 69 6e .(e.g..2^20).may.......result.in
32460 20 63 6f 6d 70 69 6c 65 72 20 63 72 61 73 68 65 73 20 6f 6e 20 63 75 72 72 65 6e 74 20 76 65 72 .compiler.crashes.on.current.ver
32480 73 69 6f 6e 73 20 6f 66 20 5a 69 67 2e 0a 20 20 20 20 20 20 3c 2f 70 3e 0a 20 20 20 20 20 20 3c sions.of.Zig........</p>.......<
324a0 66 69 67 75 72 65 3e 3c 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
324c0 70 22 3e 3c 63 69 74 65 20 63 6c 61 73 73 3d 22 66 69 6c 65 22 3e 76 65 63 74 6f 72 5f 65 78 61 p"><cite.class="file">vector_exa
324e0 6d 70 6c 65 2e 7a 69 67 3c 2f 63 69 74 65 3e 3c 2f 66 69 67 63 61 70 74 69 6f 6e 3e 3c 70 72 65 mple.zig</cite></figcaption><pre
32500 3e 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 ><code><span.class="line"><span.
32520 63 6c 61 73 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.
32540 3d 20 3c 73 70 61 6e 20 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
32560 6f 72 74 3c 2f 73 70 61 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"
32580 3e 26 71 75 6f 74 3b 73 74 64 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 29 3b 3c 2f 73 70 61 6e 3e >&quot;std&quot;</span>);</span>
325a0 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d .<span.class="line"><span.class=
325c0 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
325e0 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 3c 2f 73 70 l.=.std.testing.expectEqual;</sp
32600 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 2f 73 70 61 6e 3e 0a 3c an>.<span.class="line"></span>.<
32620 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 span.class="line"><span.class="t
32640 6f 6b 2d 6b 77 22 3e 74 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="
32660 74 6f 6b 2d 73 74 72 22 3e 26 71 75 6f 74 3b 42 61 73 69 63 20 76 65 63 74 6f 72 20 75 73 61 67 tok-str">&quot;Basic.vector.usag
32680 65 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 20 7b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c e&quot;</span>.{</span>.<span.cl
326a0 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d ass="line">....<span.class="tok-
326c0 63 6f 6d 6d 65 6e 74 22 3e 2f 2f 20 56 65 63 74 6f 72 73 20 68 61 76 65 20 61 20 63 6f 6d 70 69 comment">//.Vectors.have.a.compi
326e0 6c 65 2d 74 69 6d 65 20 6b 6e 6f 77 6e 20 6c 65 6e 67 74 68 20 61 6e 64 20 62 61 73 65 20 74 79 le-time.known.length.and.base.ty
32700 70 65 2e 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c pe.</span></span>.<span.class="l
32720 69 6e 65 22 3e 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 63 6f ine">....<span.class="tok-kw">co
32740 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 6f 6b 2d nst</span>.a.=.<span.class="tok-
32760 62 75 69 6c 74 69 6e 22 3e 40 56 65 63 74 6f 72 3c 2f 73 70 61 6e 3e 28 3c 73 70 61 6e 20 63 6c builtin">@Vector</span>(<span.cl
32780 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
327a0 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 69 33 32 3c 2f 73 70 61 6e 3e 29 7b 20 3c .class="tok-type">i32</span>){.<
327c0 73 70 61 6e 20 63 6c 61 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>
327e0 2c 20 3c 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
32800 61 6e 3e 2c 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 33 3c an>,.<span.class="tok-number">3<
32820 2f 73 70 61 6e 3e 2c 20 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"
32840 3e 34 3c 2f 73 70 61 6e 3e 20 7d 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d >4</span>.};</span>.<span.class=
32860 22 6c 69 6e 65 22 3e 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e "line">....<span.class="tok-kw">
32880 63 6f 6e 73 74 3c 2f 73 70 61 6e 3e 20 62 20 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f const</span>.b.=.<span.class="to
328a0 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.
328c0 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 34 3c 2f 73 70 61 6e 3e 2c 20 3c 73 70 class="tok-number">4</span>,.<sp
328e0 61 6e 20 63 6c 61 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 an.class="tok-type">i32</span>){
32900 20 3c 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
32920 6e 3e 2c 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 36 3c 2f n>,.<span.class="tok-number">6</
32940 73 70 61 6e 3e 2c 20 3c 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">
32960 37 3c 2f 73 70 61 6e 3e 2c 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 7</span>,.<span.class="tok-numbe
32980 72 22 3e 38 3c 2f 73 70 61 6e 3e 20 7d 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 r">8</span>.};</span>.<span.clas
329a0 73 3d 22 6c 69 6e 65 22 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 s="line"></span>.<span.class="li
329c0 6e 65 22 3e 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 63 6f 6d 6d 65 6e 74 ne">....<span.class="tok-comment
329e0 22 3e 2f 2f 20 4d 61 74 68 20 6f 70 65 72 61 74 69 6f 6e 73 20 74 61 6b 65 20 70 6c 61 63 65 20 ">//.Math.operations.take.place.
32a00 65 6c 65 6d 65 6e 74 2d 77 69 73 65 2e 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 element-wise.</span></span>.<spa
32a20 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 n.class="line">....<span.class="
32a40 74 6f 6b 2d 6b 77 22 3e 63 6f 6e 73 74 3c 2f 73 70 61 6e 3e 20 63 20 3d 20 61 20 2b 20 62 3b 3c tok-kw">const</span>.c.=.a.+.b;<
32a60 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 2f 73 70 61 6e /span>.<span.class="line"></span
32a80 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 3c 73 70 61 6e 20 63 >.<span.class="line">....<span.c
32aa0 6c 61 73 73 3d 22 74 6f 6b 2d 63 6f 6d 6d 65 6e 74 22 3e 2f 2f 20 49 6e 64 69 76 69 64 75 61 6c lass="tok-comment">//.Individual
32ac0 20 76 65 63 74 6f 72 20 65 6c 65 6d 65 6e 74 73 20 63 61 6e 20 62 65 20 61 63 63 65 73 73 65 64 .vector.elements.can.be.accessed
32ae0 20 75 73 69 6e 67 20 61 72 72 61 79 20 69 6e 64 65 78 69 6e 67 20 73 79 6e 74 61 78 2e 3c 2f 73 .using.array.indexing.syntax.</s
32b00 70 61 6e 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 pan></span>.<span.class="line">.
32b20 20 20 20 3c 73 70 61 6e 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
32b40 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-
32b60 6e 75 6d 62 65 72 22 3e 36 3c 2f 73 70 61 6e 3e 2c 20 63 5b 3c 73 70 61 6e 20 63 6c 61 73 73 3d number">6</span>,.c[<span.class=
32b80 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 30 3c 2f 73 70 61 6e 3e 5d 29 3b 3c 2f 73 70 61 6e 3e 0a "tok-number">0</span>]);</span>.
32ba0 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 <span.class="line">....<span.cla
32bc0 73 73 3d 22 74 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
32be0 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 38 3c 2f 73 al(<span.class="tok-number">8</s
32c00 70 61 6e 3e 2c 20 63 5b 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 pan>,.c[<span.class="tok-number"
32c20 3e 31 3c 2f 73 70 61 6e 3e 5d 29 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d >1</span>]);</span>.<span.class=
32c40 22 6c 69 6e 65 22 3e 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e "line">....<span.class="tok-kw">
32c60 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
32c80 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 31 30 3c 2f 73 70 61 6e 3e 2c 20 63 5b 3c 73 70 ss="tok-number">10</span>,.c[<sp
32ca0 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 29 an.class="tok-number">2</span>])
32cc0 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 ;</span>.<span.class="line">....
32ce0 3c 73 70 61 6e 20 63 6c 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>.
32d00 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
32d20 62 65 72 22 3e 31 32 3c 2f 73 70 61 6e 3e 2c 20 63 5b 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 ber">12</span>,.c[<span.class="t
32d40 6f 6b 2d 6e 75 6d 62 65 72 22 3e 33 3c 2f 73 70 61 6e 3e 5d 29 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 ok-number">3</span>]);</span>.<s
32d60 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 7d 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 pan.class="line">}</span>.<span.
32d80 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 class="line"></span>.<span.class
32da0 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 74 65 73 ="line"><span.class="tok-kw">tes
32dc0 74 3c 2f 73 70 61 6e 3e 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">&
32de0 71 75 6f 74 3b 43 6f 6e 76 65 72 73 69 6f 6e 20 62 65 74 77 65 65 6e 20 76 65 63 74 6f 72 73 2c quot;Conversion.between.vectors,
32e00 20 61 72 72 61 79 73 2c 20 61 6e 64 20 73 6c 69 63 65 73 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e .arrays,.and.slices&quot;</span>
32e20 20 7b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 .{</span>.<span.class="line">...
32e40 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 63 6f 6d 6d 65 6e 74 22 3e 2f 2f 20 56 65 .<span.class="tok-comment">//.Ve
32e60 63 74 6f 72 73 20 61 6e 64 20 66 69 78 65 64 2d 6c 65 6e 67 74 68 20 61 72 72 61 79 73 20 63 61 ctors.and.fixed-length.arrays.ca
32e80 6e 20 62 65 20 61 75 74 6f 6d 61 74 69 63 61 6c 6c 79 20 61 73 73 69 67 6e 65 64 20 62 61 63 6b n.be.automatically.assigned.back
32ea0 20 61 6e 64 20 66 6f 72 74 68 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 .and.forth</span></span>.<span.c
32ec0 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b lass="line">....<span.class="tok
32ee0 2d 6b 77 22 3e 76 61 72 3c 2f 73 70 61 6e 3e 20 61 72 72 31 3a 20 5b 3c 73 70 61 6e 20 63 6c 61 -kw">var</span>.arr1:.[<span.cla
32f00 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 34 3c 2f 73 70 61 6e 3e 5d 3c 73 70 61 6e 20 63 ss="tok-number">4</span>]<span.c
32f20 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 66 33 32 3c 2f 73 70 61 6e 3e 20 3d 20 5b 5f 5d lass="tok-type">f32</span>.=.[_]
32f40 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
32f60 3e 7b 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 31 2e 31 3c >{.<span.class="tok-number">1.1<
32f80 2f 73 70 61 6e 3e 2c 20 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"
32fa0 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 6b 2d 6e 75 >3.2</span>,.<span.class="tok-nu
32fc0 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 73 3d 22 74 mber">4.5</span>,.<span.class="t
32fe0 6f 6b 2d 6e 75 6d 62 65 72 22 3e 35 2e 36 3c 2f 73 70 61 6e 3e 20 7d 3b 3c 2f 73 70 61 6e 3e 0a ok-number">5.6</span>.};</span>.
33000 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 <span.class="line">....<span.cla
33020 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 76 61 72 3c 2f 73 70 61 6e 3e 20 76 65 63 3a 20 3c 73 70 61 ss="tok-kw">var</span>.vec:.<spa
33040 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 62 75 69 6c 74 69 6e 22 3e 40 56 65 63 74 6f 72 3c 2f 73 n.class="tok-builtin">@Vector</s
33060 70 61 6e 3e 28 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 34 3c pan>(<span.class="tok-number">4<
33080 2f 73 70 61 6e 3e 2c 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 66 /span>,.<span.class="tok-type">f
330a0 33 32 3c 2f 73 70 61 6e 3e 29 20 3d 20 61 72 72 31 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 32</span>).=.arr1;</span>.<span.
330c0 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f class="line">....<span.class="to
330e0 6b 2d 6b 77 22 3e 76 61 72 3c 2f 73 70 61 6e 3e 20 61 72 72 32 3a 20 5b 3c 73 70 61 6e 20 63 6c k-kw">var</span>.arr2:.[<span.cl
33100 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 34 3c 2f 73 70 61 6e 3e 5d 3c 73 70 61 6e 20 ass="tok-number">4</span>]<span.
33120 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 66 33 32 3c 2f 73 70 61 6e 3e 20 3d 20 76 65 class="tok-type">f32</span>.=.ve
33140 63 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 c;</span>.<span.class="line">...
33160 20 3c 73 70 61 6e 20 63 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>
33180 20 65 78 70 65 63 74 45 71 75 61 6c 28 61 72 72 31 2c 20 61 72 72 32 29 3b 3c 2f 73 70 61 6e 3e .expectEqual(arr1,.arr2);</span>
331a0 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 .<span.class="line"></span>.<spa
331c0 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 n.class="line">....<span.class="
331e0 74 6f 6b 2d 63 6f 6d 6d 65 6e 74 22 3e 2f 2f 20 59 6f 75 20 63 61 6e 20 61 6c 73 6f 20 61 73 73 tok-comment">//.You.can.also.ass
33200 69 67 6e 20 66 72 6f 6d 20 61 20 73 6c 69 63 65 20 77 69 74 68 20 63 6f 6d 70 74 69 6d 65 2d 6b ign.from.a.slice.with.comptime-k
33220 6e 6f 77 6e 20 6c 65 6e 67 74 68 20 74 6f 20 61 20 76 65 63 74 6f 72 20 75 73 69 6e 67 20 2e 2a nown.length.to.a.vector.using..*
33240 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 </span></span>.<span.class="line
33260 22 3e 20 20 20 20 3c 73 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
33280 3c 2f 73 70 61 6e 3e 20 76 65 63 32 3a 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 62 </span>.vec2:.<span.class="tok-b
332a0 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
332c0 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 32 3c 2f 73 70 61 6e 3e 2c 20 3c 73 70 61 6e 20 ss="tok-number">2</span>,.<span.
332e0 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 61 class="tok-type">f32</span>).=.a
33300 72 72 31 5b 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 31 3c 2f rr1[<span.class="tok-number">1</
33320 73 70 61 6e 3e 2e 2e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e span>..<span.class="tok-number">
33340 33 3c 2f 73 70 61 6e 3e 5d 2e 2a 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 3</span>].*;</span>.<span.class=
33360 22 6c 69 6e 65 22 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 "line"></span>.<span.class="line
33380 22 3e 20 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</
333a0 73 70 61 6e 3e 20 73 6c 69 63 65 3a 20 5b 5d 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d span>.slice:.[]<span.class="tok-
333c0 6b 77 22 3e 63 6f 6e 73 74 3c 2f 73 70 61 6e 3e 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f kw">const</span>.<span.class="to
333e0 6b 2d 74 79 70 65 22 3e 66 33 32 3c 2f 73 70 61 6e 3e 20 3d 20 26 61 6d 70 3b 61 72 72 31 3b 3c k-type">f32</span>.=.&amp;arr1;<
33400 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 3c 73 /span>.<span.class="line">....<s
33420 70 61 6e 20 63 6c 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
33440 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
33460 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
33480 72 22 3e 31 3c 2f 73 70 61 6e 3e 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d r">1</span>;</span>.<span.class=
334a0 22 6c 69 6e 65 22 3e 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 63 6f 6d 6d "line">....<span.class="tok-comm
334c0 65 6e 74 22 3e 2f 2f 20 54 6f 20 65 78 74 72 61 63 74 20 61 20 63 6f 6d 70 74 69 6d 65 2d 6b 6e ent">//.To.extract.a.comptime-kn
334e0 6f 77 6e 20 6c 65 6e 67 74 68 20 66 72 6f 6d 20 61 20 72 75 6e 74 69 6d 65 2d 6b 6e 6f 77 6e 20 own.length.from.a.runtime-known.
33500 6f 66 66 73 65 74 2c 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 offset,</span></span>.<span.clas
33520 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 63 6f s="line">....<span.class="tok-co
33540 6d 6d 65 6e 74 22 3e 2f 2f 20 66 69 72 73 74 20 65 78 74 72 61 63 74 20 61 20 6e 65 77 20 73 6c mment">//.first.extract.a.new.sl
33560 69 63 65 20 66 72 6f 6d 20 74 68 65 20 73 74 61 72 74 69 6e 67 20 6f 66 66 73 65 74 2c 20 74 68 ice.from.the.starting.offset,.th
33580 65 6e 20 61 6e 20 61 72 72 61 79 20 6f 66 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 en.an.array.of</span></span>.<sp
335a0 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d an.class="line">....<span.class=
335c0 22 74 6f 6b 2d 63 6f 6d 6d 65 6e 74 22 3e 2f 2f 20 63 6f 6d 70 74 69 6d 65 20 6b 6e 6f 77 6e 20 "tok-comment">//.comptime.known.
335e0 6c 65 6e 67 74 68 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 length</span></span>.<span.class
33600 3d 22 6c 69 6e 65 22 3e 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 ="line">....<span.class="tok-kw"
33620 3e 63 6f 6e 73 74 3c 2f 73 70 61 6e 3e 20 76 65 63 33 3a 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d >const</span>.vec3:.<span.class=
33640 22 74 6f 6b 2d 62 75 69 6c 74 69 6e 22 3e 40 56 65 63 74 6f 72 3c 2f 73 70 61 6e 3e 28 3c 73 70 "tok-builtin">@Vector</span>(<sp
33660 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>,.
33680 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
336a0 3e 29 20 3d 20 73 6c 69 63 65 5b 6f 66 66 73 65 74 2e 2e 5d 5b 3c 73 70 61 6e 20 63 6c 61 73 73 >).=.slice[offset..][<span.class
336c0 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 30 3c 2f 73 70 61 6e 3e 2e 2e 3c 73 70 61 6e 20 63 6c ="tok-number">0</span>..<span.cl
336e0 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 32 3c 2f 73 70 61 6e 3e 5d 2e 2a 3b 3c 2f 73 ass="tok-number">2</span>].*;</s
33700 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 3c 73 70 61 pan>.<span.class="line">....<spa
33720 6e 20 63 6c 61 73 73 3d 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
33740 63 74 45 71 75 61 6c 28 73 6c 69 63 65 5b 6f 66 66 73 65 74 5d 2c 20 76 65 63 32 5b 3c 73 70 61 ctEqual(slice[offset],.vec2[<spa
33760 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 30 3c 2f 73 70 61 6e 3e 5d 29 3b n.class="tok-number">0</span>]);
33780 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 3c </span>.<span.class="line">....<
337a0 73 70 61 6e 20 63 6c 61 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
337c0 78 70 65 63 74 45 71 75 61 6c 28 73 6c 69 63 65 5b 6f 66 66 73 65 74 20 2b 20 3c 73 70 61 6e 20 xpectEqual(slice[offset.+.<span.
337e0 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 31 3c 2f 73 70 61 6e 3e 5d 2c 20 76 65 class="tok-number">1</span>],.ve
33800 63 32 5b 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 31 3c 2f 73 c2[<span.class="tok-number">1</s
33820 70 61 6e 3e 5d 29 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 pan>]);</span>.<span.class="line
33840 22 3e 20 20 20 20 3c 73 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</
33860 73 70 61 6e 3e 20 65 78 70 65 63 74 45 71 75 61 6c 28 76 65 63 32 2c 20 76 65 63 33 29 3b 3c 2f span>.expectEqual(vec2,.vec3);</
33880 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 7d 3c 2f 73 70 61 6e span>.<span.class="line">}</span
338a0 3e 3c 2f 63 6f 64 65 3e 3c 2f 70 72 65 3e 3c 2f 66 69 67 75 72 65 3e 3c 66 69 67 75 72 65 3e 3c ></code></pre></figure><figure><
338c0 66 69 67 63 61 70 74 69 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
338e0 6c 6c 3c 2f 66 69 67 63 61 70 74 69 6f 6e 3e 3c 70 72 65 3e 3c 73 61 6d 70 3e 3c 73 70 61 6e 20 ll</figcaption><pre><samp><span.
33900 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 24 20 3c 6b 62 64 3e 7a 69 67 20 74 65 73 74 20 76 65 63 class="line">$.<kbd>zig.test.vec
33920 74 6f 72 5f 65 78 61 6d 70 6c 65 2e 7a 69 67 3c 2f 6b 62 64 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 tor_example.zig</kbd></span>.<sp
33940 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 31 2f 32 20 74 65 73 74 2e 42 61 73 69 63 20 76 an.class="line">1/2.test.Basic.v
33960 65 63 74 6f 72 20 75 73 61 67 65 2e 2e 2e 20 4f 4b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 ector.usage....OK</span>.<span.c
33980 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 32 2f 32 20 74 65 73 74 2e 43 6f 6e 76 65 72 73 69 6f 6e 20 lass="line">2/2.test.Conversion.
339a0 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 69 between.vectors,.arrays,.and.sli
339c0 63 65 73 2e 2e 2e 20 4f 4b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 ces....OK</span>.<span.class="li
339e0 6e 65 22 3e 41 6c 6c 20 32 20 74 65 73 74 73 20 70 61 73 73 65 64 2e 3c 2f 73 70 61 6e 3e 0a 3c ne">All.2.tests.passed.</span>.<
33a00 2f 73 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>.
33a20 20 20 20 20 20 20 54 4f 44 4f 20 74 61 6c 6b 20 61 62 6f 75 74 20 43 20 41 42 49 20 69 6e 74 65 ......TODO.talk.about.C.ABI.inte
33a40 72 6f 70 3c 62 72 2f 3e 0a 20 20 20 20 20 20 54 4f 44 4f 20 63 6f 6e 73 69 64 65 72 20 73 75 67 rop<br/>.......TODO.consider.sug
33a60 67 65 73 74 69 6e 67 20 73 74 64 2e 4d 75 6c 74 69 41 72 72 61 79 4c 69 73 74 0a 20 20 20 20 20 gesting.std.MultiArrayList......
33a80 20 3c 2f 70 3e 0a 20 20 20 20 20 20 3c 70 3e 53 65 65 20 61 6c 73 6f 3a 3c 2f 70 3e 3c 75 6c 3e .</p>.......<p>See.also:</p><ul>
33aa0 0a 3c 6c 69 3e 3c 61 20 68 72 65 66 3d 22 23 73 70 6c 61 74 22 3e 40 73 70 6c 61 74 3c 2f 61 3e .<li><a.href="#splat">@splat</a>
33ac0 3c 2f 6c 69 3e 0a 3c 6c 69 3e 3c 61 20 68 72 65 66 3d 22 23 73 68 75 66 66 6c 65 22 3e 40 73 68 </li>.<li><a.href="#shuffle">@sh
33ae0 75 66 66 6c 65 3c 2f 61 3e 3c 2f 6c 69 3e 0a 3c 6c 69 3e 3c 61 20 68 72 65 66 3d 22 23 73 65 6c uffle</a></li>.<li><a.href="#sel
33b00 65 63 74 22 3e 40 73 65 6c 65 63 74 3c 2f 61 3e 3c 2f 6c 69 3e 0a 3c 6c 69 3e 3c 61 20 68 72 65 ect">@select</a></li>.<li><a.hre
33b20 66 3d 22 23 72 65 64 75 63 65 22 3e 40 72 65 64 75 63 65 3c 2f 61 3e 3c 2f 6c 69 3e 0a 3c 2f 75 f="#reduce">@reduce</a></li>.</u
33b40 6c 3e 0a 0a 0a 20 20 20 20 20 20 0a 0a 20 20 20 20 20 20 3c 68 32 20 69 64 3d 22 50 6f 69 6e 74 l>.................<h2.id="Point
33b60 65 72 73 22 3e 3c 61 20 68 72 65 66 3d 22 23 74 6f 63 2d 50 6f 69 6e 74 65 72 73 22 3e 50 6f 69 ers"><a.href="#toc-Pointers">Poi
33b80 6e 74 65 72 73 3c 2f 61 3e 20 3c 61 20 63 6c 61 73 73 3d 22 68 64 72 22 20 68 72 65 66 3d 22 23 nters</a>.<a.class="hdr".href="#
33ba0 50 6f 69 6e 74 65 72 73 22 3e c2 a7 3c 2f 61 3e 3c 2f 68 32 3e 0a 0a 20 20 20 20 20 20 3c 70 3e Pointers">..</a></h2>........<p>
33bc0 0a 20 20 20 20 20 20 5a 69 67 20 68 61 73 20 74 77 6f 20 6b 69 6e 64 73 20 6f 66 20 70 6f 69 6e .......Zig.has.two.kinds.of.poin
33be0 74 65 72 73 3a 20 73 69 6e 67 6c 65 2d 69 74 65 6d 20 61 6e 64 20 6d 61 6e 79 2d 69 74 65 6d 2e ters:.single-item.and.many-item.
33c00 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>..........
33c20 20 3c 6c 69 3e 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 2a 54 .<li><code><span.class="line">*T
33c40 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 20 2d 20 73 69 6e 67 6c 65 2d 69 74 65 6d 20 70 6f 69 </span></code>.-.single-item.poi
33c60 6e 74 65 72 20 74 6f 20 65 78 61 63 74 6c 79 20 6f 6e 65 20 69 74 65 6d 2e 0a 20 20 20 20 20 20 nter.to.exactly.one.item........
33c80 20 20 20 20 20 20 3c 75 6c 3e 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 3c 6c 69 3e 53 75 70 ......<ul>...............<li>Sup
33ca0 70 6f 72 74 73 20 64 65 72 65 66 20 73 79 6e 74 61 78 3a 20 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 ports.deref.syntax:.<code><span.
33cc0 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 70 74 72 2e 2a 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e class="line">ptr.*</span></code>
33ce0 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>.........
33d00 20 20 3c 2f 6c 69 3e 0a 20 20 20 20 20 20 20 20 20 20 3c 6c 69 3e 3c 63 6f 64 65 3e 3c 73 70 61 ..</li>...........<li><code><spa
33d20 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 5b 2a 5d 54 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 n.class="line">[*]T</span></code
33d40 3e 20 2d 20 6d 61 6e 79 2d 69 74 65 6d 20 70 6f 69 6e 74 65 72 20 74 6f 20 75 6e 6b 6e 6f 77 6e >.-.many-item.pointer.to.unknown
33d60 20 6e 75 6d 62 65 72 20 6f 66 20 69 74 65 6d 73 2e 0a 20 20 20 20 20 20 20 20 20 20 20 20 3c 75 .number.of.items..............<u
33d80 6c 3e 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 3c 6c 69 3e 53 75 70 70 6f 72 74 73 20 69 6e l>...............<li>Supports.in
33da0 64 65 78 20 73 79 6e 74 61 78 3a 20 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c dex.syntax:.<code><span.class="l
33dc0 69 6e 65 22 3e 70 74 72 5b 69 5d 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 3c 2f 6c 69 3e 0a 20 ine">ptr[i]</span></code></li>..
33de0 20 20 20 20 20 20 20 20 20 20 20 20 20 3c 6c 69 3e 53 75 70 70 6f 72 74 73 20 73 6c 69 63 65 20 .............<li>Supports.slice.
33e00 73 79 6e 74 61 78 3a 20 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 syntax:.<code><span.class="line"
33e20 3e 70 74 72 5b 73 74 61 72 74 2e 2e 65 6e 64 5d 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 3c 2f >ptr[start..end]</span></code></
33e40 6c 69 3e 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 3c 6c 69 3e 53 75 70 70 6f 72 74 73 20 70 li>...............<li>Supports.p
33e60 6f 69 6e 74 65 72 20 61 72 69 74 68 6d 65 74 69 63 3a 20 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 ointer.arithmetic:.<code><span.c
33e80 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 70 74 72 20 2b 20 78 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 lass="line">ptr.+.x</span></code
33ea0 3e 2c 20 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 70 74 72 20 >,.<code><span.class="line">ptr.
33ec0 2d 20 78 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 3c 2f 6c 69 3e 0a 20 20 20 20 20 20 20 20 20 -.x</span></code></li>..........
33ee0 20 20 20 20 20 3c 6c 69 3e 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 .....<li><code><span.class="line
33f00 22 3e 54 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 20 6d 75 73 74 20 68 61 76 65 20 61 20 6b 6e ">T</span></code>.must.have.a.kn
33f20 6f 77 6e 20 73 69 7a 65 2c 20 77 68 69 63 68 20 6d 65 61 6e 73 20 74 68 61 74 20 69 74 20 63 61 own.size,.which.means.that.it.ca
33f40 6e 6e 6f 74 20 62 65 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 3c 63 6f 64 65 3e 3c 73 70 61 nnot.be...............<code><spa
33f60 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d n.class="line"><span.class="tok-
33f80 74 79 70 65 22 3e 61 6e 79 6f 70 61 71 75 65 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 3c 2f 63 type">anyopaque</span></span></c
33fa0 6f 64 65 3e 20 6f 72 20 61 6e 79 20 6f 74 68 65 72 20 3c 61 20 68 72 65 66 3d 22 23 6f 70 61 71 ode>.or.any.other.<a.href="#opaq
33fc0 75 65 22 3e 6f 70 61 71 75 65 20 74 79 70 65 3c 2f 61 3e 2e 3c 2f 6c 69 3e 0a 20 20 20 20 20 20 ue">opaque.type</a>.</li>.......
33fe0 20 20 20 20 20 20 3c 2f 75 6c 3e 0a 20 20 20 20 20 20 20 20 20 20 3c 2f 6c 69 3e 0a 20 20 20 20 ......</ul>...........</li>.....
34000 20 20 3c 2f 75 6c 3e 0a 20 20 20 20 20 20 3c 70 3e 54 68 65 73 65 20 74 79 70 65 73 20 61 72 65 ..</ul>.......<p>These.types.are
34020 20 63 6c 6f 73 65 6c 79 20 72 65 6c 61 74 65 64 20 74 6f 20 3c 61 20 68 72 65 66 3d 22 23 41 72 .closely.related.to.<a.href="#Ar
34040 72 61 79 73 22 3e 41 72 72 61 79 73 3c 2f 61 3e 20 61 6e 64 20 3c 61 20 68 72 65 66 3d 22 23 53 rays">Arrays</a>.and.<a.href="#S
34060 6c 69 63 65 73 22 3e 53 6c 69 63 65 73 3c 2f 61 3e 3a 3c 2f 70 3e 0a 20 20 20 20 20 20 20 20 3c lices">Slices</a>:</p>.........<
34080 75 6c 3e 0a 20 20 20 20 20 20 20 20 20 20 20 20 3c 6c 69 3e 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 ul>.............<li><code><span.
340a0 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 2a 5b 4e 5d 54 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e class="line">*[N]T</span></code>
340c0 20 2d 20 70 6f 69 6e 74 65 72 20 74 6f 20 4e 20 69 74 65 6d 73 2c 20 73 61 6d 65 20 61 73 20 73 .-.pointer.to.N.items,.same.as.s
340e0 69 6e 67 6c 65 2d 69 74 65 6d 20 70 6f 69 6e 74 65 72 20 74 6f 20 61 6e 20 61 72 72 61 79 2e 0a ingle-item.pointer.to.an.array..
34100 20 20 20 20 20 20 20 20 20 20 20 20 3c 75 6c 3e 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ............<ul>................
34120 20 3c 6c 69 3e 53 75 70 70 6f 72 74 73 20 69 6e 64 65 78 20 73 79 6e 74 61 78 3a 20 3c 63 6f 64 .<li>Supports.index.syntax:.<cod
34140 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 61 72 72 61 79 5f 70 74 72 5b 69 e><span.class="line">array_ptr[i
34160 5d 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 3c 2f 6c 69 3e 0a 20 20 20 20 20 20 20 20 20 20 20 ]</span></code></li>............
34180 20 20 20 20 20 3c 6c 69 3e 53 75 70 70 6f 72 74 73 20 73 6c 69 63 65 20 73 79 6e 74 61 78 3a 20 .....<li>Supports.slice.syntax:.
341a0 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 61 72 72 61 79 5f 70 <code><span.class="line">array_p
341c0 74 72 5b 73 74 61 72 74 2e 2e 65 6e 64 5d 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 3c 2f 6c 69 tr[start..end]</span></code></li
341e0 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
34200 65 6e 20 70 72 6f 70 65 72 74 79 3a 20 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 en.property:.<code><span.class="
34220 6c 69 6e 65 22 3e 61 72 72 61 79 5f 70 74 72 2e 6c 65 6e 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 line">array_ptr.len</span></code
34240 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>........
34260 20 20 20 20 20 3c 2f 6c 69 3e 0a 20 20 20 20 20 20 20 20 3c 2f 75 6c 3e 0a 20 20 20 20 20 20 20 .....</li>.........</ul>........
34280 20 3c 75 6c 3e 0a 20 20 20 20 20 20 20 20 20 20 20 20 3c 6c 69 3e 3c 63 6f 64 65 3e 3c 73 70 61 .<ul>.............<li><code><spa
342a0 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 5b 5d 54 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e n.class="line">[]T</span></code>
342c0 20 2d 20 69 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 .-.is.a.slice.(a.fat.pointer,.wh
342e0 69 63 68 20 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 ich.contains.a.pointer.of.type.<
34300 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 5b 2a 5d 54 3c 2f 73 70 code><span.class="line">[*]T</sp
34320 61 6e 3e 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 20 20 an></code>.and.a.length)........
34340 20 20 20 20 20 20 3c 75 6c 3e 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 3c 6c 69 3e 53 ......<ul>.................<li>S
34360 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 3c 73 70 61 upports.index.syntax:.<code><spa
34380 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 73 6c 69 63 65 5b 69 5d 3c 2f 73 70 61 6e 3e 3c 2f n.class="line">slice[i]</span></
343a0 63 6f 64 65 3e 3c 2f 6c 69 3e 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 3c 6c 69 3e 53 code></li>.................<li>S
343c0 75 70 70 6f 72 74 73 20 73 6c 69 63 65 20 73 79 6e 74 61 78 3a 20 3c 63 6f 64 65 3e 3c 73 70 61 upports.slice.syntax:.<code><spa
343e0 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 73 6c 69 63 65 5b 73 74 61 72 74 2e 2e 65 6e 64 5d n.class="line">slice[start..end]
34400 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 3c 2f 6c 69 3e 0a 20 20 20 20 20 20 20 20 20 20 20 20 </span></code></li>.............
34420 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 79 3a 20 3c ....<li>Supports.len.property:.<
34440 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 73 6c 69 63 65 2e 6c 65 code><span.class="line">slice.le
34460 6e 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 3c 2f 6c 69 3e 0a 20 20 20 20 20 20 20 20 20 20 20 n</span></code></li>............
34480 20 3c 2f 75 6c 3e 0a 20 20 20 20 20 20 20 20 20 20 20 20 3c 2f 6c 69 3e 0a 20 20 20 20 20 20 20 .</ul>.............</li>........
344a0 20 3c 2f 75 6c 3e 0a 20 20 20 20 20 20 20 20 3c 70 3e 55 73 65 20 3c 63 6f 64 65 3e 3c 73 70 61 .</ul>.........<p>Use.<code><spa
344c0 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 26 61 6d 70 3b 78 3c 2f 73 70 61 6e 3e 3c 2f 63 6f n.class="line">&amp;x</span></co
344e0 64 65 3e 20 74 6f 20 6f 62 74 61 69 6e 20 61 20 73 69 6e 67 6c 65 2d 69 74 65 6d 20 70 6f 69 6e de>.to.obtain.a.single-item.poin
34500 74 65 72 3a 3c 2f 70 3e 0a 20 20 20 20 20 20 20 20 3c 66 69 67 75 72 65 3e 3c 66 69 67 63 61 70 ter:</p>.........<figure><figcap
34520 74 69 6f 6e 20 63 6c 61 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
34540 3d 22 66 69 6c 65 22 3e 73 69 6e 67 6c 65 5f 69 74 65 6d 5f 70 6f 69 6e 74 65 72 5f 74 65 73 74 ="file">single_item_pointer_test
34560 2e 7a 69 67 3c 2f 63 69 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
34580 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 de><span.class="line"><span.clas
345a0 73 3d 22 74 6f 6b 2d 6b 77 22 3e 63 6f 6e 73 74 3c 2f 73 70 61 6e 3e 20 65 78 70 65 63 74 20 3d s="tok-kw">const</span>.expect.=
345c0 20 3c 73 70 61 6e 20 63 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
345e0 72 74 3c 2f 73 70 61 6e 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">
34600 26 71 75 6f 74 3b 73 74 64 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 29 2e 74 65 73 74 69 6e 67 2e &quot;std&quot;</span>).testing.
34620 65 78 70 65 63 74 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 expect;</span>.<span.class="line
34640 22 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 "></span>.<span.class="line"><sp
34660 61 6e 20 63 6c 61 73 73 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
34680 70 61 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 64 64 72 65 73 pan.class="tok-str">&quot;addres
346a0 73 20 6f 66 20 73 79 6e 74 61 78 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 20 7b 3c 2f 73 70 61 6e s.of.syntax&quot;</span>.{</span
346c0 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 3c 73 70 61 6e 20 63 >.<span.class="line">....<span.c
346e0 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 64 lass="tok-comment">//.Get.the.ad
34700 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 3c 2f 73 70 61 dress.of.a.variable:</span></spa
34720 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 3c 73 70 61 6e 20 n>.<span.class="line">....<span.
34740 63 6c 61 73 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:.<
34760 73 70 61 6e 20 63 6c 61 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>
34780 20 3d 20 3c 73 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
347a0 3c 2f 73 70 61 6e 3e 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e </span>;</span>.<span.class="lin
347c0 65 22 3e 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 63 6f 6e 73 e">....<span.class="tok-kw">cons
347e0 74 3c 2f 73 70 61 6e 3e 20 78 5f 70 74 72 20 3d 20 26 61 6d 70 3b 78 3b 3c 2f 73 70 61 6e 3e 0a t</span>.x_ptr.=.&amp;x;</span>.
34800 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e <span.class="line"></span>.<span
34820 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 .class="line">....<span.class="t
34840 6f 6b 2d 63 6f 6d 6d 65 6e 74 22 3e 2f 2f 20 44 65 72 65 66 65 72 65 6e 63 65 20 61 20 70 6f 69 ok-comment">//.Dereference.a.poi
34860 6e 74 65 72 3a 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d nter:</span></span>.<span.class=
34880 22 6c 69 6e 65 22 3e 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e "line">....<span.class="tok-kw">
348a0 74 72 79 3c 2f 73 70 61 6e 3e 20 65 78 70 65 63 74 28 78 5f 70 74 72 2e 2a 20 3d 3d 20 3c 73 70 try</span>.expect(x_ptr.*.==.<sp
348c0 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
348e0 3e 29 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 2f >);</span>.<span.class="line"></
34900 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 3c 73 70 span>.<span.class="line">....<sp
34920 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 63 6f 6d 6d 65 6e 74 22 3e 2f 2f 20 57 68 65 6e 20 79 an.class="tok-comment">//.When.y
34940 6f 75 20 67 65 74 20 74 68 65 20 61 64 64 72 65 73 73 20 6f 66 20 61 20 63 6f 6e 73 74 20 76 61 ou.get.the.address.of.a.const.va
34960 72 69 61 62 6c 65 2c 20 79 6f 75 20 67 65 74 20 61 20 63 6f 6e 73 74 20 73 69 6e 67 6c 65 2d 69 riable,.you.get.a.const.single-i
34980 74 65 6d 20 70 6f 69 6e 74 65 72 2e 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e tem.pointer.</span></span>.<span
349a0 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 .class="line">....<span.class="t
349c0 6f 6b 2d 6b 77 22 3e 74 72 79 3c 2f 73 70 61 6e 3e 20 65 78 70 65 63 74 28 3c 73 70 61 6e 20 63 ok-kw">try</span>.expect(<span.c
349e0 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
34a00 3e 28 78 5f 70 74 72 29 20 3d 3d 20 2a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 >(x_ptr).==.*<span.class="tok-kw
34a20 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-
34a40 74 79 70 65 22 3e 69 33 32 3c 2f 73 70 61 6e 3e 29 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 type">i32</span>);</span>.<span.
34a60 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 class="line"></span>.<span.class
34a80 3d 22 6c 69 6e 65 22 3e 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 63 6f 6d ="line">....<span.class="tok-com
34aa0 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 65 20 74 ment">//.If.you.want.to.mutate.t
34ac0 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 73 73 20 he.value,.you'd.need.an.address.
34ae0 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 3c 2f 73 of.a.mutable.variable:</span></s
34b00 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 3c 73 70 61 pan>.<span.class="line">....<spa
34b20 6e 20 63 6c 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:.<
34b40 73 70 61 6e 20 63 6c 61 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>
34b60 20 3d 20 3c 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 .=.<span.class="tok-number">5678
34b80 3c 2f 73 70 61 6e 3e 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e </span>;</span>.<span.class="lin
34ba0 65 22 3e 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 63 6f 6e 73 e">....<span.class="tok-kw">cons
34bc0 74 3c 2f 73 70 61 6e 3e 20 79 5f 70 74 72 20 3d 20 26 61 6d 70 3b 79 3b 3c 2f 73 70 61 6e 3e 0a t</span>.y_ptr.=.&amp;y;</span>.
34be0 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 <span.class="line">....<span.cla
34c00 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 74 72 79 3c 2f 73 70 61 6e 3e 20 65 78 70 65 63 74 28 3c 73 ss="tok-kw">try</span>.expect(<s
34c20 70 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<
34c40 2f 73 70 61 6e 3e 28 79 5f 70 74 72 29 20 3d 3d 20 2a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 /span>(y_ptr).==.*<span.class="t
34c60 6f 6b 2d 74 79 70 65 22 3e 69 33 32 3c 2f 73 70 61 6e 3e 29 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 ok-type">i32</span>);</span>.<sp
34c80 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 79 5f 70 74 72 2e 2a 20 2b 3d 20 3c an.class="line">....y_ptr.*.+=.<
34ca0 73 70 61 6e 20 63 6c 61 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>
34cc0 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 ;</span>.<span.class="line">....
34ce0 3c 73 70 61 6e 20 63 6c 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>.
34d00 65 78 70 65 63 74 28 79 5f 70 74 72 2e 2a 20 3d 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 expect(y_ptr.*.==.<span.class="t
34d20 6f 6b 2d 6e 75 6d 62 65 72 22 3e 35 36 37 39 3c 2f 73 70 61 6e 3e 29 3b 3c 2f 73 70 61 6e 3e 0a ok-number">5679</span>);</span>.
34d40 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 7d 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 <span.class="line">}</span>.<spa
34d60 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 n.class="line"></span>.<span.cla
34d80 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 74 ss="line"><span.class="tok-kw">t
34da0 65 73 74 3c 2f 73 70 61 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"
34dc0 3e 26 71 75 6f 74 3b 70 6f 69 6e 74 65 72 20 61 72 72 61 79 20 61 63 63 65 73 73 26 71 75 6f 74 >&quot;pointer.array.access&quot
34de0 3b 3c 2f 73 70 61 6e 3e 20 7b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c ;</span>.{</span>.<span.class="l
34e00 69 6e 65 22 3e 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 63 6f 6d 6d 65 6e ine">....<span.class="tok-commen
34e20 74 22 3e 2f 2f 20 54 61 6b 69 6e 67 20 61 6e 20 61 64 64 72 65 73 73 20 6f 66 20 61 6e 20 69 6e t">//.Taking.an.address.of.an.in
34e40 64 69 76 69 64 75 61 6c 20 65 6c 65 6d 65 6e 74 20 67 69 76 65 73 20 61 3c 2f 73 70 61 6e 3e 3c dividual.element.gives.a</span><
34e60 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 3c 73 /span>.<span.class="line">....<s
34e80 70 61 6e 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 6e 67 6c pan.class="tok-comment">//.singl
34ea0 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 66 20 70 6f 69 e-item.pointer..This.kind.of.poi
34ec0 6e 74 65 72 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 nter</span></span>.<span.class="
34ee0 6c 69 6e 65 22 3e 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 63 6f 6d 6d 65 line">....<span.class="tok-comme
34f00 6e 74 22 3e 2f 2f 20 64 6f 65 73 20 6e 6f 74 20 73 75 70 70 6f 72 74 20 70 6f 69 6e 74 65 72 20 nt">//.does.not.support.pointer.
34f20 61 72 69 74 68 6d 65 74 69 63 2e 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 arithmetic.</span></span>.<span.
34f40 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f class="line">....<span.class="to
34f60 6b 2d 6b 77 22 3e 76 61 72 3c 2f 73 70 61 6e 3e 20 61 72 72 61 79 20 3d 20 5b 5f 5d 3c 73 70 61 k-kw">var</span>.array.=.[_]<spa
34f80 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 75 38 3c 2f 73 70 61 6e 3e 7b 20 3c 73 n.class="tok-type">u8</span>{.<s
34fa0 70 61 6e 20 63 6c 61 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>,
34fc0 20 3c 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
34fe0 6e 3e 2c 20 3c 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</
35000 73 70 61 6e 3e 2c 20 3c 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">
35020 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
35040 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
35060 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
35080 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="
350a0 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 20 63 6c 61 73 tok-number">8</span>,.<span.clas
350c0 73 3d 22 74 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 s="tok-number">9</span>,.<span.c
350e0 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 20 7d 3b 3c 2f lass="tok-number">10</span>.};</
35100 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 3c 73 70 span>.<span.class="line">....<sp
35120 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 63 6f 6e 73 74 3c 2f 73 70 61 6e 3e 20 70 an.class="tok-kw">const</span>.p
35140 74 72 20 3d 20 26 61 6d 70 3b 61 72 72 61 79 5b 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b tr.=.&amp;array[<span.class="tok
35160 2d 6e 75 6d 62 65 72 22 3e 32 3c 2f 73 70 61 6e 3e 5d 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e -number">2</span>];</span>.<span
35180 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 .class="line">....<span.class="t
351a0 6f 6b 2d 6b 77 22 3e 74 72 79 3c 2f 73 70 61 6e 3e 20 65 78 70 65 63 74 28 3c 73 70 61 6e 20 63 ok-kw">try</span>.expect(<span.c
351c0 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
351e0 3e 28 70 74 72 29 20 3d 3d 20 2a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 >(ptr).==.*<span.class="tok-type
35200 22 3e 75 38 3c 2f 73 70 61 6e 3e 29 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 ">u8</span>);</span>.<span.class
35220 3d 22 6c 69 6e 65 22 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e ="line"></span>.<span.class="lin
35240 65 22 3e 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 74 72 79 3c e">....<span.class="tok-kw">try<
35260 2f 73 70 61 6e 3e 20 65 78 70 65 63 74 28 61 72 72 61 79 5b 3c 73 70 61 6e 20 63 6c 61 73 73 3d /span>.expect(array[<span.class=
35280 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 32 3c 2f 73 70 61 6e 3e 5d 20 3d 3d 20 3c 73 70 61 6e 20 "tok-number">2</span>].==.<span.
352a0 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 33 3c 2f 73 70 61 6e 3e 29 3b 3c 2f 73 class="tok-number">3</span>);</s
352c0 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 70 74 72 2e pan>.<span.class="line">....ptr.
352e0 2a 20 2b 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 31 3c *.+=.<span.class="tok-number">1<
35300 2f 73 70 61 6e 3e 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 /span>;</span>.<span.class="line
35320 22 3e 20 20 20 20 3c 73 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</
35340 73 70 61 6e 3e 20 65 78 70 65 63 74 28 61 72 72 61 79 5b 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 span>.expect(array[<span.class="
35360 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 32 3c 2f 73 70 61 6e 3e 5d 20 3d 3d 20 3c 73 70 61 6e 20 63 tok-number">2</span>].==.<span.c
35380 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 34 3c 2f 73 70 61 6e 3e 29 3b 3c 2f 73 70 lass="tok-number">4</span>);</sp
353a0 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 7d 3c 2f 73 70 61 6e 3e 3c an>.<span.class="line">}</span><
353c0 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
353e0 67 63 61 70 74 69 6f 6e 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
35400 3c 2f 66 69 67 63 61 70 74 69 6f 6e 3e 3c 70 72 65 3e 3c 73 61 6d 70 3e 3c 73 70 61 6e 20 63 6c </figcaption><pre><samp><span.cl
35420 61 73 73 3d 22 6c 69 6e 65 22 3e 24 20 3c 6b 62 64 3e 7a 69 67 20 74 65 73 74 20 73 69 6e 67 6c ass="line">$.<kbd>zig.test.singl
35440 65 5f 69 74 65 6d 5f 70 6f 69 6e 74 65 72 5f 74 65 73 74 2e 7a 69 67 3c 2f 6b 62 64 3e 3c 2f 73 e_item_pointer_test.zig</kbd></s
35460 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 31 2f 32 20 74 65 73 74 pan>.<span.class="line">1/2.test
35480 2e 61 64 64 72 65 73 73 20 6f 66 20 73 79 6e 74 61 78 2e 2e 2e 20 4f 4b 3c 2f 73 70 61 6e 3e 0a .address.of.syntax....OK</span>.
354a0 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 32 2f 32 20 74 65 73 74 2e 70 6f 69 6e <span.class="line">2/2.test.poin
354c0 74 65 72 20 61 72 72 61 79 20 61 63 63 65 73 73 2e 2e 2e 20 4f 4b 3c 2f 73 70 61 6e 3e 0a 3c 73 ter.array.access....OK</span>.<s
354e0 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 41 6c 6c 20 32 20 74 65 73 74 73 20 70 61 73 pan.class="line">All.2.tests.pas
35500 73 65 64 2e 3c 2f 73 70 61 6e 3e 0a 3c 2f 73 61 6d 70 3e 3c 2f 70 72 65 3e 3c 2f 66 69 67 75 72 sed.</span>.</samp></pre></figur
35520 65 3e 0a 20 20 20 20 20 20 3c 70 3e 0a 20 20 20 20 20 20 20 5a 69 67 20 73 75 70 70 6f 72 74 73 e>.......<p>........Zig.supports
35540 20 70 6f 69 6e 74 65 72 20 61 72 69 74 68 6d 65 74 69 63 2e 20 49 74 27 73 20 62 65 74 74 65 72 .pointer.arithmetic..It's.better
35560 20 74 6f 20 61 73 73 69 67 6e 20 74 68 65 20 70 6f 69 6e 74 65 72 20 74 6f 20 3c 63 6f 64 65 3e .to.assign.the.pointer.to.<code>
35580 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 5b 2a 5d 54 3c 2f 73 70 61 6e 3e 3c 2f <span.class="line">[*]T</span></
355a0 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
355c0 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
355e0 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
35600 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>......
35620 20 3c 66 69 67 75 72 65 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-
35640 63 61 70 22 3e 3c 63 69 74 65 20 63 6c 61 73 73 3d 22 66 69 6c 65 22 3e 70 6f 69 6e 74 65 72 5f cap"><cite.class="file">pointer_
35660 61 72 74 68 65 6d 74 69 63 2e 7a 69 67 3c 2f 63 69 74 65 3e 3c 2f 66 69 67 63 61 70 74 69 6f 6e arthemtic.zig</cite></figcaption
35680 3e 3c 70 72 65 3e 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c ><pre><code><span.class="line"><
356a0 73 70 61 6e 20 63 6c 61 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>
356c0 20 65 78 70 65 63 74 20 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 62 75 69 6c 74 .expect.=.<span.class="tok-built
356e0 69 6e 22 3e 40 69 6d 70 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="
35700 74 6f 6b 2d 73 74 72 22 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>)
35720 2e 74 65 73 74 69 6e 67 2e 65 78 70 65 63 74 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c .testing.expect;</span>.<span.cl
35740 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 ass="line"></span>.<span.class="
35760 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 74 65 73 74 3c line"><span.class="tok-kw">test<
35780 2f 73 70 61 6e 3e 20 3c 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
357a0 6f 74 3b 70 6f 69 6e 74 65 72 20 61 72 69 74 68 6d 65 74 69 63 20 77 69 74 68 20 6d 61 6e 79 2d ot;pointer.arithmetic.with.many-
357c0 69 74 65 6d 20 70 6f 69 6e 74 65 72 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 20 7b 3c 2f 73 70 61 item.pointer&quot;</span>.{</spa
357e0 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 3c 73 70 61 6e 20 n>.<span.class="line">....<span.
35800 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 63 6f 6e 73 74 3c 2f 73 70 61 6e 3e 20 61 72 72 61 class="tok-kw">const</span>.arra
35820 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 69 33 y.=.[_]<span.class="tok-type">i3
35840 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
35860 72 22 3e 31 3c 2f 73 70 61 6e 3e 2c 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 r">1</span>,.<span.class="tok-nu
35880 6d 62 65 72 22 3e 32 3c 2f 73 70 61 6e 3e 2c 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b mber">2</span>,.<span.class="tok
358a0 2d 6e 75 6d 62 65 72 22 3e 33 3c 2f 73 70 61 6e 3e 2c 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 -number">3</span>,.<span.class="
358c0 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 34 3c 2f 73 70 61 6e 3e 20 7d 3b 3c 2f 73 70 61 6e 3e 0a 3c tok-number">4</span>.};</span>.<
358e0 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 span.class="line">....<span.clas
35900 73 3d 22 74 6f 6b 2d 6b 77 22 3e 76 61 72 3c 2f 73 70 61 6e 3e 20 70 74 72 3a 20 5b 2a 5d 3c 73 s="tok-kw">var</span>.ptr:.[*]<s
35920 70 61 6e 20 63 6c 61 73 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>.
35940 3c 73 70 61 6e 20 63 6c 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
35960 3e 20 3d 20 26 61 6d 70 3b 61 72 72 61 79 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 >.=.&amp;array;</span>.<span.cla
35980 73 73 3d 22 6c 69 6e 65 22 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c ss="line"></span>.<span.class="l
359a0 69 6e 65 22 3e 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 74 72 ine">....<span.class="tok-kw">tr
359c0 79 3c 2f 73 70 61 6e 3e 20 65 78 70 65 63 74 28 70 74 72 5b 3c 73 70 61 6e 20 63 6c 61 73 73 3d y</span>.expect(ptr[<span.class=
359e0 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 30 3c 2f 73 70 61 6e 3e 5d 20 3d 3d 20 3c 73 70 61 6e 20 "tok-number">0</span>].==.<span.
35a00 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 31 3c 2f 73 70 61 6e 3e 29 3b 3c 2f 73 class="tok-number">1</span>);</s
35a20 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 70 74 72 20 pan>.<span.class="line">....ptr.
35a40 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
35a60 70 61 6e 3e 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e pan>;</span>.<span.class="line">
35a80 20 20 20 20 3c 73 70 61 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
35aa0 61 6e 3e 20 65 78 70 65 63 74 28 70 74 72 5b 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d an>.expect(ptr[<span.class="tok-
35ac0 6e 75 6d 62 65 72 22 3e 30 3c 2f 73 70 61 6e 3e 5d 20 3d 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 number">0</span>].==.<span.class
35ae0 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 32 3c 2f 73 70 61 6e 3e 29 3b 3c 2f 73 70 61 6e 3e 0a ="tok-number">2</span>);</span>.
35b00 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 7d 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 <span.class="line">}</span>.<spa
35b20 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 n.class="line"></span>.<span.cla
35b40 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 74 ss="line"><span.class="tok-kw">t
35b60 65 73 74 3c 2f 73 70 61 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"
35b80 3e 26 71 75 6f 74 3b 70 6f 69 6e 74 65 72 20 61 72 69 74 68 6d 65 74 69 63 20 77 69 74 68 20 73 >&quot;pointer.arithmetic.with.s
35ba0 6c 69 63 65 73 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 20 7b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 lices&quot;</span>.{</span>.<spa
35bc0 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 n.class="line">....<span.class="
35be0 74 6f 6b 2d 6b 77 22 3e 76 61 72 3c 2f 73 70 61 6e 3e 20 61 72 72 61 79 20 3d 20 5b 5f 5d 3c 73 tok-kw">var</span>.array.=.[_]<s
35c00 70 61 6e 20 63 6c 61 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>{
35c20 20 3c 73 70 61 6e 20 63 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
35c40 6e 3e 2c 20 3c 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</
35c60 73 70 61 6e 3e 2c 20 3c 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">
35c80 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
35ca0 72 22 3e 34 3c 2f 73 70 61 6e 3e 20 7d 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 r">4</span>.};</span>.<span.clas
35cc0 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 s="line">....<span.class="tok-kw
35ce0 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 73 73 ">var</span>.length:.<span.class
35d00 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
35d20 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 30 3c 2f 73 70 61 6e 3e 3b 3c 2f 73 .class="tok-number">0</span>;</s
35d40 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 3c 73 70 61 pan>.<span.class="line">....<spa
35d60 6e 20 63 6c 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 6c 69 63 n.class="tok-kw">var</span>.slic
35d80 65 20 3d 20 61 72 72 61 79 5b 6c 65 6e 67 74 68 2e 2e 61 72 72 61 79 2e 6c 65 6e 5d 3b 3c 2f 73 e.=.array[length..array.len];</s
35da0 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 2f 73 70 61 6e 3e 0a pan>.<span.class="line"></span>.
35dc0 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 <span.class="line">....<span.cla
35de0 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 74 72 79 3c 2f 73 70 61 6e 3e 20 65 78 70 65 63 74 28 73 6c ss="tok-kw">try</span>.expect(sl
35e00 69 63 65 5b 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 30 3c 2f ice[<span.class="tok-number">0</
35e20 73 70 61 6e 3e 5d 20 3d 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 span>].==.<span.class="tok-numbe
35e40 72 22 3e 31 3c 2f 73 70 61 6e 3e 29 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 r">1</span>);</span>.<span.class
35e60 3d 22 6c 69 6e 65 22 3e 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 ="line">....<span.class="tok-kw"
35e80 3e 74 72 79 3c 2f 73 70 61 6e 3e 20 65 78 70 65 63 74 28 73 6c 69 63 65 2e 6c 65 6e 20 3d 3d 20 >try</span>.expect(slice.len.==.
35ea0 3c 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
35ec0 3e 29 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 2f >);</span>.<span.class="line"></
35ee0 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 73 6c 69 span>.<span.class="line">....sli
35f00 63 65 2e 70 74 72 20 2b 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 ce.ptr.+=.<span.class="tok-numbe
35f20 72 22 3e 31 3c 2f 73 70 61 6e 3e 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d r">1</span>;</span>.<span.class=
35f40 22 6c 69 6e 65 22 3e 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 63 6f 6d 6d "line">....<span.class="tok-comm
35f60 65 6e 74 22 3e 2f 2f 20 6e 6f 77 20 74 68 65 20 73 6c 69 63 65 20 69 73 20 69 6e 20 61 6e 20 62 ent">//.now.the.slice.is.in.an.b
35f80 61 64 20 73 74 61 74 65 20 73 69 6e 63 65 20 6c 65 6e 20 68 61 73 20 6e 6f 74 20 62 65 65 6e 20 ad.state.since.len.has.not.been.
35fa0 75 70 64 61 74 65 64 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 updated</span></span>.<span.clas
35fc0 73 3d 22 6c 69 6e 65 22 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 s="line"></span>.<span.class="li
35fe0 6e 65 22 3e 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 74 72 79 ne">....<span.class="tok-kw">try
36000 3c 2f 73 70 61 6e 3e 20 65 78 70 65 63 74 28 73 6c 69 63 65 5b 3c 73 70 61 6e 20 63 6c 61 73 73 </span>.expect(slice[<span.class
36020 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 30 3c 2f 73 70 61 6e 3e 5d 20 3d 3d 20 3c 73 70 61 6e ="tok-number">0</span>].==.<span
36040 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 32 3c 2f 73 70 61 6e 3e 29 3b 3c 2f .class="tok-number">2</span>);</
36060 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 3c 73 70 span>.<span.class="line">....<sp
36080 61 6e 20 63 6c 61 73 73 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
360a0 65 63 74 28 73 6c 69 63 65 2e 6c 65 6e 20 3d 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f ect(slice.len.==.<span.class="to
360c0 6b 2d 6e 75 6d 62 65 72 22 3e 34 3c 2f 73 70 61 6e 3e 29 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 k-number">4</span>);</span>.<spa
360e0 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 7d 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 3c 2f n.class="line">}</span></code></
36100 70 72 65 3e 3c 2f 66 69 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
36120 20 63 6c 61 73 73 3d 22 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
36140 74 69 6f 6e 3e 3c 70 72 65 3e 3c 73 61 6d 70 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e tion><pre><samp><span.class="lin
36160 65 22 3e 24 20 3c 6b 62 64 3e 7a 69 67 20 74 65 73 74 20 70 6f 69 6e 74 65 72 5f 61 72 74 68 65 e">$.<kbd>zig.test.pointer_arthe
36180 6d 74 69 63 2e 7a 69 67 3c 2f 6b 62 64 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 mtic.zig</kbd></span>.<span.clas
361a0 73 3d 22 6c 69 6e 65 22 3e 31 2f 32 20 74 65 73 74 2e 70 6f 69 6e 74 65 72 20 61 72 69 74 68 6d s="line">1/2.test.pointer.arithm
361c0 65 74 69 63 20 77 69 74 68 20 6d 61 6e 79 2d 69 74 65 6d 20 70 6f 69 6e 74 65 72 2e 2e 2e 20 4f etic.with.many-item.pointer....O
361e0 4b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 32 2f 32 20 K</span>.<span.class="line">2/2.
36200 74 65 73 74 2e 70 6f 69 6e 74 65 72 20 61 72 69 74 68 6d 65 74 69 63 20 77 69 74 68 20 73 6c 69 test.pointer.arithmetic.with.sli
36220 63 65 73 2e 2e 2e 20 4f 4b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 ces....OK</span>.<span.class="li
36240 6e 65 22 3e 41 6c 6c 20 32 20 74 65 73 74 73 20 70 61 73 73 65 64 2e 3c 2f 73 70 61 6e 3e 0a 3c ne">All.2.tests.passed.</span>.<
36260 2f 73 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>.
36280 20 20 20 20 20 20 20 20 49 6e 20 5a 69 67 2c 20 77 65 20 67 65 6e 65 72 61 6c 6c 79 20 70 72 65 ........In.Zig,.we.generally.pre
362a0 66 65 72 20 3c 61 20 68 72 65 66 3d 22 23 53 6c 69 63 65 73 22 3e 53 6c 69 63 65 73 3c 2f 61 3e fer.<a.href="#Slices">Slices</a>
362c0 20 72 61 74 68 65 72 20 74 68 61 6e 20 3c 61 20 68 72 65 66 3d 22 23 53 65 6e 74 69 6e 65 6c 2d .rather.than.<a.href="#Sentinel-
362e0 54 65 72 6d 69 6e 61 74 65 64 2d 50 6f 69 6e 74 65 72 73 22 3e 53 65 6e 74 69 6e 65 6c 2d 54 65 Terminated-Pointers">Sentinel-Te
36300 72 6d 69 6e 61 74 65 64 20 50 6f 69 6e 74 65 72 73 3c 2f 61 3e 2e 0a 20 20 20 20 20 20 20 20 59 rminated.Pointers</a>..........Y
36320 6f 75 20 63 61 6e 20 74 75 72 6e 20 61 6e 20 61 72 72 61 79 20 6f 72 20 70 6f 69 6e 74 65 72 20 ou.can.turn.an.array.or.pointer.
36340 69 6e 74 6f 20 61 20 73 6c 69 63 65 20 75 73 69 6e 67 20 73 6c 69 63 65 20 73 79 6e 74 61 78 2e into.a.slice.using.slice.syntax.
36360 0a 20 20 20 20 20 20 3c 2f 70 3e 0a 20 20 20 20 20 20 3c 70 3e 0a 20 20 20 20 20 20 20 20 53 6c .......</p>.......<p>.........Sl
36380 69 63 65 73 20 68 61 76 65 20 62 6f 75 6e 64 73 20 63 68 65 63 6b 69 6e 67 20 61 6e 64 20 61 72 ices.have.bounds.checking.and.ar
363a0 65 20 74 68 65 72 65 66 6f 72 65 20 70 72 6f 74 65 63 74 65 64 0a 20 20 20 20 20 20 20 20 61 67 e.therefore.protected.........ag
363c0 61 69 6e 73 74 20 74 68 69 73 20 6b 69 6e 64 20 6f 66 20 75 6e 64 65 66 69 6e 65 64 20 62 65 68 ainst.this.kind.of.undefined.beh
363e0 61 76 69 6f 72 2e 20 54 68 69 73 20 69 73 20 6f 6e 65 20 72 65 61 73 6f 6e 0a 20 20 20 20 20 20 avior..This.is.one.reason.......
36400 20 20 77 65 20 70 72 65 66 65 72 20 73 6c 69 63 65 73 20 74 6f 20 70 6f 69 6e 74 65 72 73 2e 0a ..we.prefer.slices.to.pointers..
36420 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
36440 74 69 6f 6e 20 63 6c 61 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
36460 3d 22 66 69 6c 65 22 3e 73 6c 69 63 65 5f 62 6f 75 6e 64 73 2e 7a 69 67 3c 2f 63 69 74 65 3e 3c ="file">slice_bounds.zig</cite><
36480 2f 66 69 67 63 61 70 74 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
364a0 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 63 ss="line"><span.class="tok-kw">c
364c0 6f 6e 73 74 3c 2f 73 70 61 6e 3e 20 65 78 70 65 63 74 20 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 onst</span>.expect.=.<span.class
364e0 3d 22 74 6f 6b 2d 62 75 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
36500 70 61 6e 20 63 6c 61 73 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
36520 6f 74 3b 3c 2f 73 70 61 6e 3e 29 2e 74 65 73 74 69 6e 67 2e 65 78 70 65 63 74 3b 3c 2f 73 70 61 ot;</span>).testing.expect;</spa
36540 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 n>.<span.class="line"></span>.<s
36560 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f pan.class="line"><span.class="to
36580 6b 2d 6b 77 22 3e 74 65 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
365a0 6f 6b 2d 73 74 72 22 3e 26 71 75 6f 74 3b 70 6f 69 6e 74 65 72 20 73 6c 69 63 69 6e 67 26 71 75 ok-str">&quot;pointer.slicing&qu
365c0 6f 74 3b 3c 2f 73 70 61 6e 3e 20 7b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d ot;</span>.{</span>.<span.class=
365e0 22 6c 69 6e 65 22 3e 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e "line">....<span.class="tok-kw">
36600 76 61 72 3c 2f 73 70 61 6e 3e 20 61 72 72 61 79 20 3d 20 5b 5f 5d 3c 73 70 61 6e 20 63 6c 61 73 var</span>.array.=.[_]<span.clas
36620 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
36640 61 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
36660 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
36680 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>,
366a0 20 3c 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
366c0 6e 3e 2c 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 35 3c 2f n>,.<span.class="tok-number">5</
366e0 73 70 61 6e 3e 2c 20 3c 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">
36700 36 3c 2f 73 70 61 6e 3e 2c 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 6</span>,.<span.class="tok-numbe
36720 72 22 3e 37 3c 2f 73 70 61 6e 3e 2c 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 r">7</span>,.<span.class="tok-nu
36740 6d 62 65 72 22 3e 38 3c 2f 73 70 61 6e 3e 2c 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b mber">8</span>,.<span.class="tok
36760 2d 6e 75 6d 62 65 72 22 3e 39 3c 2f 73 70 61 6e 3e 2c 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 -number">9</span>,.<span.class="
36780 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 31 30 3c 2f 73 70 61 6e 3e 20 7d 3b 3c 2f 73 70 61 6e 3e 0a tok-number">10</span>.};</span>.
367a0 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 <span.class="line">....<span.cla
367c0 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 63 6f 6e 73 74 3c 2f 73 70 61 6e 3e 20 73 6c 69 63 65 20 3d ss="tok-kw">const</span>.slice.=
367e0 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">
36800 32 3c 2f 73 70 61 6e 3e 2e 2e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 2</span>..<span.class="tok-numbe
36820 72 22 3e 34 3c 2f 73 70 61 6e 3e 5d 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 r">4</span>];</span>.<span.class
36840 3d 22 6c 69 6e 65 22 3e 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 ="line">....<span.class="tok-kw"
36860 3e 74 72 79 3c 2f 73 70 61 6e 3e 20 65 78 70 65 63 74 28 73 6c 69 63 65 2e 6c 65 6e 20 3d 3d 20 >try</span>.expect(slice.len.==.
36880 3c 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
368a0 3e 29 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 2f >);</span>.<span.class="line"></
368c0 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 3c 73 70 span>.<span.class="line">....<sp
368e0 61 6e 20 63 6c 61 73 73 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
36900 65 63 74 28 61 72 72 61 79 5b 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 ect(array[<span.class="tok-numbe
36920 72 22 3e 33 3c 2f 73 70 61 6e 3e 5d 20 3d 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b r">3</span>].==.<span.class="tok
36940 2d 6e 75 6d 62 65 72 22 3e 34 3c 2f 73 70 61 6e 3e 29 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e -number">4</span>);</span>.<span
36960 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 73 6c 69 63 65 5b 3c 73 70 61 6e 20 63 6c .class="line">....slice[<span.cl
36980 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 31 3c 2f 73 70 61 6e 3e 5d 20 2b 3d 20 3c 73 ass="tok-number">1</span>].+=.<s
369a0 70 61 6e 20 63 6c 61 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>;
369c0 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 3c </span>.<span.class="line">....<
369e0 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 74 72 79 3c 2f 73 70 61 6e 3e 20 65 span.class="tok-kw">try</span>.e
36a00 78 70 65 63 74 28 61 72 72 61 79 5b 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d xpect(array[<span.class="tok-num
36a20 62 65 72 22 3e 33 3c 2f 73 70 61 6e 3e 5d 20 3d 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 ber">3</span>].==.<span.class="t
36a40 6f 6b 2d 6e 75 6d 62 65 72 22 3e 35 3c 2f 73 70 61 6e 3e 29 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 ok-number">5</span>);</span>.<sp
36a60 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 7d 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 3c an.class="line">}</span></code><
36a80 2f 70 72 65 3e 3c 2f 66 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
36aa0 6e 20 63 6c 61 73 73 3d 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
36ac0 70 74 69 6f 6e 3e 3c 70 72 65 3e 3c 73 61 6d 70 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 ption><pre><samp><span.class="li
36ae0 6e 65 22 3e 24 20 3c 6b 62 64 3e 7a 69 67 20 74 65 73 74 20 73 6c 69 63 65 5f 62 6f 75 6e 64 73 ne">$.<kbd>zig.test.slice_bounds
36b00 2e 7a 69 67 3c 2f 6b 62 64 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c .zig</kbd></span>.<span.class="l
36b20 69 6e 65 22 3e 31 2f 31 20 74 65 73 74 2e 70 6f 69 6e 74 65 72 20 73 6c 69 63 69 6e 67 2e 2e 2e ine">1/1.test.pointer.slicing...
36b40 20 4f 4b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 41 6c .OK</span>.<span.class="line">Al
36b60 6c 20 31 20 74 65 73 74 73 20 70 61 73 73 65 64 2e 3c 2f 73 70 61 6e 3e 0a 3c 2f 73 61 6d 70 3e l.1.tests.passed.</span>.</samp>
36b80 3c 2f 70 72 65 3e 3c 2f 66 69 67 75 72 65 3e 0a 20 20 20 20 20 20 3c 70 3e 50 6f 69 6e 74 65 72 </pre></figure>.......<p>Pointer
36ba0 73 20 77 6f 72 6b 20 61 74 20 63 6f 6d 70 69 6c 65 2d 74 69 6d 65 20 74 6f 6f 2c 20 61 73 20 6c s.work.at.compile-time.too,.as.l
36bc0 6f 6e 67 20 61 73 20 74 68 65 20 63 6f 64 65 20 64 6f 65 73 20 6e 6f 74 20 64 65 70 65 6e 64 20 ong.as.the.code.does.not.depend.
36be0 6f 6e 0a 20 20 20 20 20 20 61 6e 20 75 6e 64 65 66 69 6e 65 64 20 6d 65 6d 6f 72 79 20 6c 61 79 on.......an.undefined.memory.lay
36c00 6f 75 74 3a 3c 2f 70 3e 0a 20 20 20 20 20 20 3c 66 69 67 75 72 65 3e 3c 66 69 67 63 61 70 74 69 out:</p>.......<figure><figcapti
36c20 6f 6e 20 63 6c 61 73 73 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="
36c40 66 69 6c 65 22 3e 63 6f 6d 70 74 69 6d 65 5f 70 6f 69 6e 74 65 72 73 2e 7a 69 67 3c 2f 63 69 74 file">comptime_pointers.zig</cit
36c60 65 3e 3c 2f 66 69 67 63 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.
36c80 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 class="line"><span.class="tok-kw
36ca0 22 3e 63 6f 6e 73 74 3c 2f 73 70 61 6e 3e 20 65 78 70 65 63 74 20 3d 20 3c 73 70 61 6e 20 63 6c ">const</span>.expect.=.<span.cl
36cc0 61 73 73 3d 22 74 6f 6b 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>
36ce0 28 3c 73 70 61 6e 20 63 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
36d00 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 29 2e 74 65 73 74 69 6e 67 2e 65 78 70 65 63 74 3b 3c 2f &quot;</span>).testing.expect;</
36d20 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 2f 73 70 61 6e 3e span>.<span.class="line"></span>
36d40 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d .<span.class="line"><span.class=
36d60 22 74 6f 6b 2d 6b 77 22 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
36d80 3d 22 74 6f 6b 2d 73 74 72 22 3e 26 71 75 6f 74 3b 63 6f 6d 70 74 69 6d 65 20 70 6f 69 6e 74 65 ="tok-str">&quot;comptime.pointe
36da0 72 73 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 20 7b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 rs&quot;</span>.{</span>.<span.c
36dc0 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b lass="line">....<span.class="tok
36de0 2d 6b 77 22 3e 63 6f 6d 70 74 69 6d 65 3c 2f 73 70 61 6e 3e 20 7b 3c 2f 73 70 61 6e 3e 0a 3c 73 -kw">comptime</span>.{</span>.<s
36e00 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 20 20 20 20 3c 73 70 61 6e 20 63 pan.class="line">........<span.c
36e20 6c 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
36e40 6e 20 63 6c 61 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>.=.
36e60 3c 73 70 61 6e 20 63 6c 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
36e80 3e 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 >;</span>.<span.class="line">...
36ea0 20 20 20 20 20 3c 73 70 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<
36ec0 2f 73 70 61 6e 3e 20 70 74 72 20 3d 20 26 61 6d 70 3b 78 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 /span>.ptr.=.&amp;x;</span>.<spa
36ee0 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 20 20 20 20 70 74 72 2e 2a 20 2b 3d 20 n.class="line">........ptr.*.+=.
36f00 3c 73 70 61 6e 20 63 6c 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
36f20 3e 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 >;</span>.<span.class="line">...
36f40 20 20 20 20 20 78 20 2b 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 .....x.+=.<span.class="tok-numbe
36f60 72 22 3e 31 3c 2f 73 70 61 6e 3e 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d r">1</span>;</span>.<span.class=
36f80 22 6c 69 6e 65 22 3e 20 20 20 20 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d "line">........<span.class="tok-
36fa0 6b 77 22 3e 74 72 79 3c 2f 73 70 61 6e 3e 20 65 78 70 65 63 74 28 70 74 72 2e 2a 20 3d 3d 20 3c kw">try</span>.expect(ptr.*.==.<
36fc0 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>
36fe0 29 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 );</span>.<span.class="line">...
37000 20 7d 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 7d 3c 2f .}</span>.<span.class="line">}</
37020 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
37040 72 65 3e 3c 66 69 67 63 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"
37060 3e 53 68 65 6c 6c 3c 2f 66 69 67 63 61 70 74 69 6f 6e 3e 3c 70 72 65 3e 3c 73 61 6d 70 3e 3c 73 >Shell</figcaption><pre><samp><s
37080 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 24 20 3c 6b 62 64 3e 7a 69 67 20 74 65 73 74 pan.class="line">$.<kbd>zig.test
370a0 20 63 6f 6d 70 74 69 6d 65 5f 70 6f 69 6e 74 65 72 73 2e 7a 69 67 3c 2f 6b 62 64 3e 3c 2f 73 70 .comptime_pointers.zig</kbd></sp
370c0 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 31 2f 31 20 74 65 73 74 2e an>.<span.class="line">1/1.test.
370e0 63 6f 6d 70 74 69 6d 65 20 70 6f 69 6e 74 65 72 73 2e 2e 2e 20 4f 4b 3c 2f 73 70 61 6e 3e 0a 3c comptime.pointers....OK</span>.<
37100 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 41 6c 6c 20 31 20 74 65 73 74 73 20 70 61 span.class="line">All.1.tests.pa
37120 73 73 65 64 2e 3c 2f 73 70 61 6e 3e 0a 3c 2f 73 61 6d 70 3e 3c 2f 70 72 65 3e 3c 2f 66 69 67 75 ssed.</span>.</samp></pre></figu
37140 72 65 3e 0a 20 20 20 20 20 20 3c 70 3e 54 6f 20 63 6f 6e 76 65 72 74 20 61 6e 20 69 6e 74 65 67 re>.......<p>To.convert.an.integ
37160 65 72 20 61 64 64 72 65 73 73 20 69 6e 74 6f 20 61 20 70 6f 69 6e 74 65 72 2c 20 75 73 65 20 3c er.address.into.a.pointer,.use.<
37180 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c code><span.class="line"><span.cl
371a0 61 73 73 3d 22 74 6f 6b 2d 62 75 69 6c 74 69 6e 22 3e 40 69 6e 74 54 6f 50 74 72 3c 2f 73 70 61 ass="tok-builtin">@intToPtr</spa
371c0 6e 3e 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 2e 0a 20 20 20 20 20 20 54 6f 20 63 6f 6e 76 65 n></span></code>........To.conve
371e0 72 74 20 61 20 70 6f 69 6e 74 65 72 20 74 6f 20 61 6e 20 69 6e 74 65 67 65 72 2c 20 75 73 65 20 rt.a.pointer.to.an.integer,.use.
37200 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 <code><span.class="line"><span.c
37220 6c 61 73 73 3d 22 74 6f 6b 2d 62 75 69 6c 74 69 6e 22 3e 40 70 74 72 54 6f 49 6e 74 3c 2f 73 70 lass="tok-builtin">@ptrToInt</sp
37240 61 6e 3e 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 3a 3c 2f 70 3e 0a 20 20 20 20 20 20 3c 66 69 an></span></code>:</p>.......<fi
37260 67 75 72 65 3e 3c 66 69 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"
37280 3e 3c 63 69 74 65 20 63 6c 61 73 73 3d 22 66 69 6c 65 22 3e 69 6e 74 65 67 65 72 5f 70 6f 69 6e ><cite.class="file">integer_poin
372a0 74 65 72 5f 63 6f 6e 76 65 72 73 69 6f 6e 2e 7a 69 67 3c 2f 63 69 74 65 3e 3c 2f 66 69 67 63 61 ter_conversion.zig</cite></figca
372c0 70 74 69 6f 6e 3e 3c 70 72 65 3e 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 ption><pre><code><span.class="li
372e0 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 63 6f 6e 73 74 3c 2f ne"><span.class="tok-kw">const</
37300 73 70 61 6e 3e 20 65 78 70 65 63 74 20 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d span>.expect.=.<span.class="tok-
37320 62 75 69 6c 74 69 6e 22 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
37340 61 73 73 3d 22 74 6f 6b 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
37360 70 61 6e 3e 29 2e 74 65 73 74 69 6e 67 2e 65 78 70 65 63 74 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 pan>).testing.expect;</span>.<sp
37380 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c an.class="line"></span>.<span.cl
373a0 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e ass="line"><span.class="tok-kw">
373c0 74 65 73 74 3c 2f 73 70 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
373e0 22 3e 26 71 75 6f 74 3b 40 70 74 72 54 6f 49 6e 74 20 61 6e 64 20 40 69 6e 74 54 6f 50 74 72 26 ">&quot;@ptrToInt.and.@intToPtr&
37400 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 20 7b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 quot;</span>.{</span>.<span.clas
37420 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 s="line">....<span.class="tok-kw
37440 22 3e 63 6f 6e 73 74 3c 2f 73 70 61 6e 3e 20 70 74 72 20 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 ">const</span>.ptr.=.<span.class
37460 3d 22 74 6f 6b 2d 62 75 69 6c 74 69 6e 22 3e 40 69 6e 74 54 6f 50 74 72 3c 2f 73 70 61 6e 3e 28 ="tok-builtin">@intToPtr</span>(
37480 2a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 69 33 32 3c 2f 73 70 61 *<span.class="tok-type">i32</spa
374a0 6e 3e 2c 20 3c 73 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 n>,.<span.class="tok-number">0xd
374c0 65 61 64 62 65 65 30 3c 2f 73 70 61 6e 3e 29 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c eadbee0</span>);</span>.<span.cl
374e0 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d ass="line">....<span.class="tok-
37500 6b 77 22 3e 63 6f 6e 73 74 3c 2f 73 70 61 6e 3e 20 61 64 64 72 20 3d 20 3c 73 70 61 6e 20 63 6c kw">const</span>.addr.=.<span.cl
37520 61 73 73 3d 22 74 6f 6b 2d 62 75 69 6c 74 69 6e 22 3e 40 70 74 72 54 6f 49 6e 74 3c 2f 73 70 61 ass="tok-builtin">@ptrToInt</spa
37540 6e 3e 28 70 74 72 29 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e n>(ptr);</span>.<span.class="lin
37560 65 22 3e 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 74 72 79 3c e">....<span.class="tok-kw">try<
37580 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
375a0 75 69 6c 74 69 6e 22 3e 40 54 79 70 65 4f 66 3c 2f 73 70 61 6e 3e 28 61 64 64 72 29 20 3d 3d 20 uiltin">@TypeOf</span>(addr).==.
375c0 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
375e0 61 6e 3e 29 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e an>);</span>.<span.class="line">
37600 20 20 20 20 3c 73 70 61 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
37620 61 6e 3e 20 65 78 70 65 63 74 28 61 64 64 72 20 3d 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 an>.expect(addr.==.<span.class="
37640 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 30 78 64 65 61 64 62 65 65 30 3c 2f 73 70 61 6e 3e 29 3b 3c tok-number">0xdeadbee0</span>);<
37660 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 7d 3c 2f 73 70 61 /span>.<span.class="line">}</spa
37680 6e 3e 3c 2f 63 6f 64 65 3e 3c 2f 70 72 65 3e 3c 2f 66 69 67 75 72 65 3e 3c 66 69 67 75 72 65 3e n></code></pre></figure><figure>
376a0 3c 66 69 67 63 61 70 74 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
376c0 65 6c 6c 3c 2f 66 69 67 63 61 70 74 69 6f 6e 3e 3c 70 72 65 3e 3c 73 61 6d 70 3e 3c 73 70 61 6e ell</figcaption><pre><samp><span
376e0 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 24 20 3c 6b 62 64 3e 7a 69 67 20 74 65 73 74 20 69 6e .class="line">$.<kbd>zig.test.in
37700 74 65 67 65 72 5f 70 6f 69 6e 74 65 72 5f 63 6f 6e 76 65 72 73 69 6f 6e 2e 7a 69 67 3c 2f 6b 62 teger_pointer_conversion.zig</kb
37720 64 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 31 2f 31 d></span>.<span.class="line">1/1
37740 20 74 65 73 74 2e 40 70 74 72 54 6f 49 6e 74 20 61 6e 64 20 40 69 6e 74 54 6f 50 74 72 2e 2e 2e .test.@ptrToInt.and.@intToPtr...
37760 20 4f 4b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 41 6c .OK</span>.<span.class="line">Al
37780 6c 20 31 20 74 65 73 74 73 20 70 61 73 73 65 64 2e 3c 2f 73 70 61 6e 3e 0a 3c 2f 73 61 6d 70 3e l.1.tests.passed.</span>.</samp>
377a0 3c 2f 70 72 65 3e 3c 2f 66 69 67 75 72 65 3e 0a 20 20 20 20 20 20 3c 70 3e 5a 69 67 20 69 73 20 </pre></figure>.......<p>Zig.is.
377c0 61 62 6c 65 20 74 6f 20 70 72 65 73 65 72 76 65 20 6d 65 6d 6f 72 79 20 61 64 64 72 65 73 73 65 able.to.preserve.memory.addresse
377e0 73 20 69 6e 20 63 6f 6d 70 74 69 6d 65 20 63 6f 64 65 2c 20 61 73 20 6c 6f 6e 67 20 61 73 0a 20 s.in.comptime.code,.as.long.as..
37800 20 20 20 20 20 74 68 65 20 70 6f 69 6e 74 65 72 20 69 73 20 6e 65 76 65 72 20 64 65 72 65 66 65 .....the.pointer.is.never.derefe
37820 72 65 6e 63 65 64 3a 3c 2f 70 3e 0a 20 20 20 20 20 20 3c 66 69 67 75 72 65 3e 3c 66 69 67 63 61 renced:</p>.......<figure><figca
37840 70 74 69 6f 6e 20 63 6c 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
37860 73 3d 22 66 69 6c 65 22 3e 63 6f 6d 70 74 69 6d 65 5f 70 6f 69 6e 74 65 72 5f 63 6f 6e 76 65 72 s="file">comptime_pointer_conver
37880 73 69 6f 6e 2e 7a 69 67 3c 2f 63 69 74 65 3e 3c 2f 66 69 67 63 61 70 74 69 6f 6e 3e 3c 70 72 65 sion.zig</cite></figcaption><pre
378a0 3e 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 ><code><span.class="line"><span.
378c0 63 6c 61 73 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
378e0 63 74 20 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 62 75 69 6c 74 69 6e 22 3e 40 ct.=.<span.class="tok-builtin">@
37900 69 6d 70 6f 72 74 3c 2f 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
37920 74 72 22 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
37940 69 6e 67 2e 65 78 70 65 63 74 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 ing.expect;</span>.<span.class="
37960 6c 69 6e 65 22 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 line"></span>.<span.class="line"
37980 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
379a0 3e 20 3c 73 70 61 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
379c0 6d 70 74 69 6d 65 20 40 69 6e 74 54 6f 50 74 72 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 20 7b 3c mptime.@intToPtr&quot;</span>.{<
379e0 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 3c 73 /span>.<span.class="line">....<s
37a00 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
37a20 6e 3e 20 7b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 n>.{</span>.<span.class="line">.
37a40 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"
37a60 3e 2f 2f 20 5a 69 67 20 69 73 20 61 62 6c 65 20 74 6f 20 64 6f 20 74 68 69 73 20 61 74 20 63 6f >//.Zig.is.able.to.do.this.at.co
37a80 6d 70 69 6c 65 2d 74 69 6d 65 2c 20 61 73 20 6c 6f 6e 67 20 61 73 3c 2f 73 70 61 6e 3e 3c 2f 73 mpile-time,.as.long.as</span></s
37aa0 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 20 20 20 20 pan>.<span.class="line">........
37ac0 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 63 6f 6d 6d 65 6e 74 22 3e 2f 2f 20 70 74 72 <span.class="tok-comment">//.ptr
37ae0 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 6e 3e 3c 2f .is.never.dereferenced.</span></
37b00 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 20 20 20 span>.<span.class="line">.......
37b20 20 3c 73 70 61 6e 20 63 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
37b40 6e 3e 20 70 74 72 20 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 62 75 69 6c 74 69 n>.ptr.=.<span.class="tok-builti
37b60 6e 22 3e 40 69 6e 74 54 6f 50 74 72 3c 2f 73 70 61 6e 3e 28 2a 3c 73 70 61 6e 20 63 6c 61 73 73 n">@intToPtr</span>(*<span.class
37b80 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
37ba0 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
37bc0 6e 3e 29 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 n>);</span>.<span.class="line">.
37be0 20 20 20 20 20 20 20 3c 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
37c00 74 3c 2f 73 70 61 6e 3e 20 61 64 64 72 20 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b t</span>.addr.=.<span.class="tok
37c20 2d 62 75 69 6c 74 69 6e 22 3e 40 70 74 72 54 6f 49 6e 74 3c 2f 73 70 61 6e 3e 28 70 74 72 29 3b -builtin">@ptrToInt</span>(ptr);
37c40 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 20 </span>.<span.class="line">.....
37c60 20 20 20 3c 73 70 61 6e 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
37c80 6e 3e 20 65 78 70 65 63 74 28 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 62 75 69 6c 74 n>.expect(<span.class="tok-built
37ca0 69 6e 22 3e 40 54 79 70 65 4f 66 3c 2f 73 70 61 6e 3e 28 61 64 64 72 29 20 3d 3d 20 3c 73 70 61 in">@TypeOf</span>(addr).==.<spa
37cc0 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 75 73 69 7a 65 3c 2f 73 70 61 6e 3e 29 n.class="tok-type">usize</span>)
37ce0 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 ;</span>.<span.class="line">....
37d00 20 20 20 20 3c 73 70 61 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
37d20 61 6e 3e 20 65 78 70 65 63 74 28 61 64 64 72 20 3d 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 an>.expect(addr.==.<span.class="
37d40 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 30 78 64 65 61 64 62 65 65 30 3c 2f 73 70 61 6e 3e 29 3b 3c tok-number">0xdeadbee0</span>);<
37d60 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 7d 3c /span>.<span.class="line">....}<
37d80 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 7d 3c 2f 73 70 61 /span>.<span.class="line">}</spa
37da0 6e 3e 3c 2f 63 6f 64 65 3e 3c 2f 70 72 65 3e 3c 2f 66 69 67 75 72 65 3e 3c 66 69 67 75 72 65 3e n></code></pre></figure><figure>
37dc0 3c 66 69 67 63 61 70 74 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
37de0 65 6c 6c 3c 2f 66 69 67 63 61 70 74 69 6f 6e 3e 3c 70 72 65 3e 3c 73 61 6d 70 3e 3c 73 70 61 6e ell</figcaption><pre><samp><span
37e00 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 24 20 3c 6b 62 64 3e 7a 69 67 20 74 65 73 74 20 63 6f .class="line">$.<kbd>zig.test.co
37e20 6d 70 74 69 6d 65 5f 70 6f 69 6e 74 65 72 5f 63 6f 6e 76 65 72 73 69 6f 6e 2e 7a 69 67 3c 2f 6b mptime_pointer_conversion.zig</k
37e40 62 64 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 31 2f bd></span>.<span.class="line">1/
37e60 31 20 74 65 73 74 2e 63 6f 6d 70 74 69 6d 65 20 40 69 6e 74 54 6f 50 74 72 2e 2e 2e 20 4f 4b 3c 1.test.comptime.@intToPtr....OK<
37e80 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 41 6c 6c 20 31 20 /span>.<span.class="line">All.1.
37ea0 74 65 73 74 73 20 70 61 73 73 65 64 2e 3c 2f 73 70 61 6e 3e 0a 3c 2f 73 61 6d 70 3e 3c 2f 70 72 tests.passed.</span>.</samp></pr
37ec0 65 3e 3c 2f 66 69 67 75 72 65 3e 0a 20 20 20 20 20 20 3c 70 3e 53 65 65 20 61 6c 73 6f 3a 3c 2f e></figure>.......<p>See.also:</
37ee0 70 3e 3c 75 6c 3e 0a 3c 6c 69 3e 3c 61 20 68 72 65 66 3d 22 23 4f 70 74 69 6f 6e 61 6c 2d 50 6f p><ul>.<li><a.href="#Optional-Po
37f00 69 6e 74 65 72 73 22 3e 4f 70 74 69 6f 6e 61 6c 20 50 6f 69 6e 74 65 72 73 3c 2f 61 3e 3c 2f 6c inters">Optional.Pointers</a></l
37f20 69 3e 0a 3c 6c 69 3e 3c 61 20 68 72 65 66 3d 22 23 69 6e 74 54 6f 50 74 72 22 3e 40 69 6e 74 54 i>.<li><a.href="#intToPtr">@intT
37f40 6f 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 70 74 72 54 oPtr</a></li>.<li><a.href="#ptrT
37f60 6f 49 6e 74 22 3e 40 70 74 72 54 6f 49 6e 74 3c 2f 61 3e 3c 2f 6c 69 3e 0a 3c 6c 69 3e 3c 61 20 oInt">@ptrToInt</a></li>.<li><a.
37f80 68 72 65 66 3d 22 23 43 2d 50 6f 69 6e 74 65 72 73 22 3e 43 20 50 6f 69 6e 74 65 72 73 3c 2f 61 href="#C-Pointers">C.Pointers</a
37fa0 3e 3c 2f 6c 69 3e 0a 3c 2f 75 6c 3e 0a 0a 20 20 20 20 20 20 3c 68 33 20 69 64 3d 22 76 6f 6c 61 ></li>.</ul>........<h3.id="vola
37fc0 74 69 6c 65 22 3e 3c 61 20 68 72 65 66 3d 22 23 74 6f 63 2d 76 6f 6c 61 74 69 6c 65 22 3e 76 6f tile"><a.href="#toc-volatile">vo
37fe0 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 3d 22 latile</a>.<a.class="hdr".href="
38000 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 3c 70 #volatile">..</a></h3>........<p
38020 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 74 6f >Loads.and.stores.are.assumed.to
38040 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 69 76 .not.have.side.effects..If.a.giv
38060 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 68 61 en.load.or.store.......should.ha
38080 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 79 20 ve.side.effects,.such.as.Memory.
380a0 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 65 20 Mapped.Input/Output.(MMIO),.use.
380c0 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 <code><span.class="line"><span.c
380e0 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 76 6f 6c 61 74 69 6c 65 3c 2f 73 70 61 6e 3e 3c 2f 73 lass="tok-kw">volatile</span></s
38100 70 61 6e 3e 3c 2f 63 6f 64 65 3e 2e 0a 20 20 20 20 20 20 49 6e 20 74 68 65 20 66 6f 6c 6c 6f 77 pan></code>........In.the.follow
38120 69 6e 67 20 63 6f 64 65 2c 20 6c 6f 61 64 73 20 61 6e 64 20 73 74 6f 72 65 73 20 77 69 74 68 20 ing.code,.loads.and.stores.with.
38140 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 6d 6d 69 6f 5f 70 74 <code><span.class="line">mmio_pt
38160 72 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 20 61 72 65 20 67 75 61 72 61 6e 74 65 65 64 20 74 r</span></code>.are.guaranteed.t
38180 6f 20 61 6c 6c 20 68 61 70 70 65 6e 0a 20 20 20 20 20 20 61 6e 64 20 69 6e 20 74 68 65 20 73 61 o.all.happen.......and.in.the.sa
381a0 6d 65 20 6f 72 64 65 72 20 61 73 20 69 6e 20 73 6f 75 72 63 65 20 63 6f 64 65 3a 3c 2f 70 3e 0a me.order.as.in.source.code:</p>.
381c0 20 20 20 20 20 20 3c 66 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=
381e0 22 7a 69 67 2d 63 61 70 22 3e 3c 63 69 74 65 20 63 6c 61 73 73 3d 22 66 69 6c 65 22 3e 76 6f 6c "zig-cap"><cite.class="file">vol
38200 61 74 69 6c 65 2e 7a 69 67 3c 2f 63 69 74 65 3e 3c 2f 66 69 67 63 61 70 74 69 6f 6e 3e 3c 70 72 atile.zig</cite></figcaption><pr
38220 65 3e 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e e><code><span.class="line"><span
38240 20 63 6c 61 73 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
38260 65 63 74 20 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 62 75 69 6c 74 69 6e 22 3e ect.=.<span.class="tok-builtin">
38280 40 69 6d 70 6f 72 74 3c 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-
382a0 73 74 72 22 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
382c0 74 69 6e 67 2e 65 78 70 65 63 74 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d ting.expect;</span>.<span.class=
382e0 22 6c 69 6e 65 22 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 "line"></span>.<span.class="line
38300 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 74 65 73 74 3c 2f 73 70 61 "><span.class="tok-kw">test</spa
38320 6e 3e 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 73 74 72 22 3e 26 71 75 6f 74 3b 76 n>.<span.class="tok-str">&quot;v
38340 6f 6c 61 74 69 6c 65 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 20 7b 3c 2f 73 70 61 6e 3e 0a 3c 73 olatile&quot;</span>.{</span>.<s
38360 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 pan.class="line">....<span.class
38380 3d 22 74 6f 6b 2d 6b 77 22 3e 63 6f 6e 73 74 3c 2f 73 70 61 6e 3e 20 6d 6d 69 6f 5f 70 74 72 20 ="tok-kw">const</span>.mmio_ptr.
383a0 3d 20 3c 73 70 61 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
383c0 54 6f 50 74 72 3c 2f 73 70 61 6e 3e 28 2a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b ToPtr</span>(*<span.class="tok-k
383e0 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 73 3d 22 w">volatile</span>.<span.class="
38400 74 6f 6b 2d 74 79 70 65 22 3e 75 38 3c 2f 73 70 61 6e 3e 2c 20 3c 73 70 61 6e 20 63 6c 61 73 73 tok-type">u8</span>,.<span.class
38420 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 30 78 31 32 33 34 35 36 37 38 3c 2f 73 70 61 6e 3e 29 ="tok-number">0x12345678</span>)
38440 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 ;</span>.<span.class="line">....
38460 3c 73 70 61 6e 20 63 6c 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>.
38480 65 78 70 65 63 74 28 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 62 75 69 6c 74 69 6e 22 expect(<span.class="tok-builtin"
384a0 3e 40 54 79 70 65 4f 66 3c 2f 73 70 61 6e 3e 28 6d 6d 69 6f 5f 70 74 72 29 20 3d 3d 20 2a 3c 73 >@TypeOf</span>(mmio_ptr).==.*<s
384c0 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
384e0 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
38500 61 6e 3e 29 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e an>);</span>.<span.class="line">
38520 7d 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 3c 2f 70 72 65 3e 3c 2f 66 69 67 75 72 65 3e 3c 66 }</span></code></pre></figure><f
38540 69 67 75 72 65 3e 3c 66 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
38560 61 70 22 3e 53 68 65 6c 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
38580 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 24 20 3c 6b 62 64 3e 7a 69 67 20 74 ><span.class="line">$.<kbd>zig.t
385a0 65 73 74 20 76 6f 6c 61 74 69 6c 65 2e 7a 69 67 3c 2f 6b 62 64 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 est.volatile.zig</kbd></span>.<s
385c0 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 31 2f 31 20 74 65 73 74 2e 76 6f 6c 61 74 69 pan.class="line">1/1.test.volati
385e0 6c 65 2e 2e 2e 20 4f 4b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e le....OK</span>.<span.class="lin
38600 65 22 3e 41 6c 6c 20 31 20 74 65 73 74 73 20 70 61 73 73 65 64 2e 3c 2f 73 70 61 6e 3e 0a 3c 2f e">All.1.tests.passed.</span>.</
38620 73 61 6d 70 3e 3c 2f 70 72 65 3e 3c 2f 66 69 67 75 72 65 3e 0a 20 20 20 20 20 20 3c 70 3e 0a 20 samp></pre></figure>.......<p>..
38640 20 20 20 20 20 4e 6f 74 65 20 74 68 61 74 20 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 .....Note.that.<code><span.class
38660 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 76 6f 6c ="line"><span.class="tok-kw">vol
38680 61 74 69 6c 65 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 20 69 73 20 75 6e atile</span></span></code>.is.un
386a0 72 65 6c 61 74 65 64 20 74 6f 20 63 6f 6e 63 75 72 72 65 6e 63 79 20 61 6e 64 20 3c 61 20 68 72 related.to.concurrency.and.<a.hr
386c0 65 66 3d 22 23 41 74 6f 6d 69 63 73 22 3e 41 74 6f 6d 69 63 73 3c 2f 61 3e 2e 0a 20 20 20 20 20 ef="#Atomics">Atomics</a>.......
386e0 20 49 66 20 79 6f 75 20 73 65 65 20 63 6f 64 65 20 74 68 61 74 20 69 73 20 75 73 69 6e 67 20 3c .If.you.see.code.that.is.using.<
38700 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c code><span.class="line"><span.cl
38720 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 76 6f 6c 61 74 69 6c 65 3c 2f 73 70 61 6e 3e 3c 2f 73 70 ass="tok-kw">volatile</span></sp
38740 61 6e 3e 3c 2f 63 6f 64 65 3e 20 66 6f 72 20 73 6f 6d 65 74 68 69 6e 67 20 6f 74 68 65 72 20 74 an></code>.for.something.other.t
38760 68 61 6e 20 4d 65 6d 6f 72 79 20 4d 61 70 70 65 64 0a 20 20 20 20 20 20 49 6e 70 75 74 2f 4f 75 han.Memory.Mapped.......Input/Ou
38780 74 70 75 74 2c 20 69 74 20 69 73 20 70 72 6f 62 61 62 6c 79 20 61 20 62 75 67 2e 0a 20 20 20 20 tput,.it.is.probably.a.bug......
387a0 20 20 3c 2f 70 3e 0a 20 20 20 20 20 20 0a 20 20 20 20 20 20 3c 70 3e 0a 20 20 20 20 20 20 54 6f ..</p>..............<p>.......To
387c0 20 63 6f 6e 76 65 72 74 20 6f 6e 65 20 70 6f 69 6e 74 65 72 20 74 79 70 65 20 74 6f 20 61 6e 6f .convert.one.pointer.type.to.ano
387e0 74 68 65 72 2c 20 75 73 65 20 3c 61 20 68 72 65 66 3d 22 23 70 74 72 43 61 73 74 22 3e 40 70 74 ther,.use.<a.href="#ptrCast">@pt
38800 72 43 61 73 74 3c 2f 61 3e 2e 20 54 68 69 73 20 69 73 20 61 6e 20 75 6e 73 61 66 65 0a 20 20 20 rCast</a>..This.is.an.unsafe....
38820 20 20 20 6f 70 65 72 61 74 69 6f 6e 20 74 68 61 74 20 5a 69 67 20 63 61 6e 6e 6f 74 20 70 72 6f ...operation.that.Zig.cannot.pro
38840 74 65 63 74 20 79 6f 75 20 61 67 61 69 6e 73 74 2e 20 55 73 65 20 3c 63 6f 64 65 3e 3c 73 70 61 tect.you.against..Use.<code><spa
38860 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d n.class="line"><span.class="tok-
38880 62 75 69 6c 74 69 6e 22 3e 40 70 74 72 43 61 73 74 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 3c builtin">@ptrCast</span></span><
388a0 2f 63 6f 64 65 3e 20 6f 6e 6c 79 20 77 68 65 6e 20 6f 74 68 65 72 0a 20 20 20 20 20 20 63 6f 6e /code>.only.when.other.......con
388c0 76 65 72 73 69 6f 6e 73 20 61 72 65 20 6e 6f 74 20 70 6f 73 73 69 62 6c 65 2e 0a 20 20 20 20 20 versions.are.not.possible.......
388e0 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.
38900 63 6c 61 73 73 3d 22 7a 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
38920 65 22 3e 70 6f 69 6e 74 65 72 5f 63 61 73 74 69 6e 67 2e 7a 69 67 3c 2f 63 69 74 65 3e 3c 2f 66 e">pointer_casting.zig</cite></f
38940 69 67 63 61 70 74 69 6f 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
38960 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 63 6f 6e ="line"><span.class="tok-kw">con
38980 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
389a0 2d 62 75 69 6c 74 69 6e 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
389c0 6c 61 73 73 3d 22 74 6f 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;</
389e0 73 70 61 6e 3e 29 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 span>);</span>.<span.class="line
38a00 22 3e 3c 73 70 61 6e 20 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
38a20 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;
38a40 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 2f 73 70 61 </span>.<span.class="line"></spa
38a60 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 n>.<span.class="line"><span.clas
38a80 73 3d 22 74 6f 6b 2d 6b 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
38aa0 73 73 3d 22 74 6f 6b 2d 73 74 72 22 3e 26 71 75 6f 74 3b 70 6f 69 6e 74 65 72 20 63 61 73 74 69 ss="tok-str">&quot;pointer.casti
38ac0 6e 67 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 20 7b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 ng&quot;</span>.{</span>.<span.c
38ae0 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b lass="line">....<span.class="tok
38b00 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 6c -kw">const</span>.bytes.<span.cl
38b20 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.
38b40 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 70 class="tok-builtin">@alignOf</sp
38b60 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 2f an>(<span.class="tok-type">u32</
38b80 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 79 span>)).=.[_]<span.class="tok-ty
38ba0 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-
38bc0 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 73 number">0x12</span>,.<span.class
38be0 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 30 78 31 32 3c 2f 73 70 61 6e 3e 2c 20 3c 73 70 61 6e ="tok-number">0x12</span>,.<span
38c00 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 30 78 31 32 3c 2f 73 70 61 6e 3e 2c .class="tok-number">0x12</span>,
38c20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 30 78 31 32 3c 2f .<span.class="tok-number">0x12</
38c40 73 70 61 6e 3e 20 7d 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e span>.};</span>.<span.class="lin
38c60 65 22 3e 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 63 6f 6e 73 e">....<span.class="tok-kw">cons
38c80 74 3c 2f 73 70 61 6e 3e 20 75 33 32 5f 70 74 72 20 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 t</span>.u32_ptr.=.<span.class="
38ca0 74 6f 6b 2d 62 75 69 6c 74 69 6e 22 3e 40 70 74 72 43 61 73 74 3c 2f 73 70 61 6e 3e 28 2a 3c 73 tok-builtin">@ptrCast</span>(*<s
38cc0 70 61 6e 20 63 6c 61 73 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>.
38ce0 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
38d00 3e 2c 20 26 61 6d 70 3b 62 79 74 65 73 29 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 >,.&amp;bytes);</span>.<span.cla
38d20 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b ss="line">....<span.class="tok-k
38d40 77 22 3e 74 72 79 3c 2f 73 70 61 6e 3e 20 65 78 70 65 63 74 28 75 33 32 5f 70 74 72 2e 2a 20 3d w">try</span>.expect(u32_ptr.*.=
38d60 3d 20 3c 73 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 =.<span.class="tok-number">0x121
38d80 32 31 32 31 32 3c 2f 73 70 61 6e 3e 29 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 21212</span>);</span>.<span.clas
38da0 73 3d 22 6c 69 6e 65 22 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 s="line"></span>.<span.class="li
38dc0 6e 65 22 3e 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 63 6f 6d 6d 65 6e 74 ne">....<span.class="tok-comment
38de0 22 3e 2f 2f 20 45 76 65 6e 20 74 68 69 73 20 65 78 61 6d 70 6c 65 20 69 73 20 63 6f 6e 74 72 69 ">//.Even.this.example.is.contri
38e00 76 65 64 20 2d 20 74 68 65 72 65 20 61 72 65 20 62 65 74 74 65 72 20 77 61 79 73 20 74 6f 20 64 ved.-.there.are.better.ways.to.d
38e20 6f 20 74 68 65 20 61 62 6f 76 65 20 74 68 61 6e 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 0a 3c o.the.above.than</span></span>.<
38e40 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 span.class="line">....<span.clas
38e60 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 74 69 s="tok-comment">//.pointer.casti
38e80 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 20 6e ng..For.example,.using.a.slice.n
38ea0 61 72 72 6f 77 69 6e 67 20 63 61 73 74 3a 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 arrowing.cast:</span></span>.<sp
38ec0 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d an.class="line">....<span.class=
38ee0 22 74 6f 6b 2d 6b 77 22 3e 63 6f 6e 73 74 3c 2f 73 70 61 6e 3e 20 75 33 32 5f 76 61 6c 75 65 20 "tok-kw">const</span>.u32_value.
38f00 3d 20 73 74 64 2e 6d 65 6d 2e 62 79 74 65 73 41 73 53 6c 69 63 65 28 3c 73 70 61 6e 20 63 6c 61 =.std.mem.bytesAsSlice(<span.cla
38f20 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 75 33 32 3c 2f 73 70 61 6e 3e 2c 20 62 79 74 65 73 5b ss="tok-type">u32</span>,.bytes[
38f40 3c 73 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
38f60 3e 2e 2e 5d 29 5b 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 30 >..])[<span.class="tok-number">0
38f80 3c 2f 73 70 61 6e 3e 5d 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 </span>];</span>.<span.class="li
38fa0 6e 65 22 3e 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 74 72 79 ne">....<span.class="tok-kw">try
38fc0 3c 2f 73 70 61 6e 3e 20 65 78 70 65 63 74 28 75 33 32 5f 76 61 6c 75 65 20 3d 3d 20 3c 73 70 61 </span>.expect(u32_value.==.<spa
38fe0 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 30 78 31 32 31 32 31 32 31 32 3c n.class="tok-number">0x12121212<
39000 2f 73 70 61 6e 3e 29 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e /span>);</span>.<span.class="lin
39020 65 22 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 e"></span>.<span.class="line">..
39040 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 63 6f 6d 6d 65 6e 74 22 3e 2f 2f 20 41 ..<span.class="tok-comment">//.A
39060 6e 64 20 65 76 65 6e 20 61 6e 6f 74 68 65 72 20 77 61 79 2c 20 74 68 65 20 6d 6f 73 74 20 73 74 nd.even.another.way,.the.most.st
39080 72 61 69 67 68 74 66 6f 72 77 61 72 64 20 77 61 79 20 74 6f 20 64 6f 20 69 74 3a 3c 2f 73 70 61 raightforward.way.to.do.it:</spa
390a0 6e 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 n></span>.<span.class="line">...
390c0 20 3c 73 70 61 6e 20 63 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>
390e0 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
39100 22 3e 40 62 69 74 43 61 73 74 3c 2f 73 70 61 6e 3e 28 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 ">@bitCast</span>(<span.class="t
39120 6f 6b 2d 74 79 70 65 22 3e 75 33 32 3c 2f 73 70 61 6e 3e 2c 20 62 79 74 65 73 29 20 3d 3d 20 3c ok-type">u32</span>,.bytes).==.<
39140 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 30 78 31 32 31 32 31 32 span.class="tok-number">0x121212
39160 31 32 3c 2f 73 70 61 6e 3e 29 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 12</span>);</span>.<span.class="
39180 6c 69 6e 65 22 3e 7d 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 line">}</span>.<span.class="line
391a0 22 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 "></span>.<span.class="line"><sp
391c0 61 6e 20 63 6c 61 73 73 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
391e0 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 73 74 72 22 3e 26 71 75 6f 74 3b 70 6f 69 6e 74 65 pan.class="tok-str">&quot;pointe
39200 72 20 63 68 69 6c 64 20 74 79 70 65 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 20 7b 3c 2f 73 70 61 r.child.type&quot;</span>.{</spa
39220 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 3c 73 70 61 6e 20 n>.<span.class="line">....<span.
39240 63 6c 61 73 73 3d 22 74 6f 6b 2d 63 6f 6d 6d 65 6e 74 22 3e 2f 2f 20 70 6f 69 6e 74 65 72 20 74 class="tok-comment">//.pointer.t
39260 79 70 65 73 20 68 61 76 65 20 61 20 60 63 68 69 6c 64 60 20 66 69 65 6c 64 20 77 68 69 63 68 20 ypes.have.a.`child`.field.which.
39280 74 65 6c 6c 73 20 79 6f 75 20 74 68 65 20 74 79 70 65 20 74 68 65 79 20 70 6f 69 6e 74 20 74 6f tells.you.the.type.they.point.to
392a0 2e 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e .</span></span>.<span.class="lin
392c0 65 22 3e 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 74 72 79 3c e">....<span.class="tok-kw">try<
392e0 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
39300 75 69 6c 74 69 6e 22 3e 40 74 79 70 65 49 6e 66 6f 3c 2f 73 70 61 6e 3e 28 2a 3c 73 70 61 6e 20 uiltin">@typeInfo</span>(*<span.
39320 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 75 33 32 3c 2f 73 70 61 6e 3e 29 2e 50 6f 69 class="tok-type">u32</span>).Poi
39340 6e 74 65 72 2e 63 68 69 6c 64 20 3d 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 nter.child.==.<span.class="tok-t
39360 79 70 65 22 3e 75 33 32 3c 2f 73 70 61 6e 3e 29 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 ype">u32</span>);</span>.<span.c
39380 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 7d 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 3c 2f 70 72 65 lass="line">}</span></code></pre
393a0 3e 3c 2f 66 69 67 75 72 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
393c0 61 73 73 3d 22 73 68 65 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
393e0 6e 3e 3c 70 72 65 3e 3c 73 61 6d 70 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e n><pre><samp><span.class="line">
39400 24 20 3c 6b 62 64 3e 7a 69 67 20 74 65 73 74 20 70 6f 69 6e 74 65 72 5f 63 61 73 74 69 6e 67 2e $.<kbd>zig.test.pointer_casting.
39420 7a 69 67 3c 2f 6b 62 64 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 zig</kbd></span>.<span.class="li
39440 6e 65 22 3e 31 2f 32 20 74 65 73 74 2e 70 6f 69 6e 74 65 72 20 63 61 73 74 69 6e 67 2e 2e 2e 20 ne">1/2.test.pointer.casting....
39460 4f 4b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 32 2f 32 OK</span>.<span.class="line">2/2
39480 20 74 65 73 74 2e 70 6f 69 6e 74 65 72 20 63 68 69 6c 64 20 74 79 70 65 2e 2e 2e 20 4f 4b 3c 2f .test.pointer.child.type....OK</
394a0 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 41 6c 6c 20 32 20 74 span>.<span.class="line">All.2.t
394c0 65 73 74 73 20 70 61 73 73 65 64 2e 3c 2f 73 70 61 6e 3e 0a 3c 2f 73 61 6d 70 3e 3c 2f 70 72 65 ests.passed.</span>.</samp></pre
394e0 3e 3c 2f 66 69 67 75 72 65 3e 0a 20 20 20 20 20 20 3c 68 33 20 69 64 3d 22 41 6c 69 67 6e 6d 65 ></figure>.......<h3.id="Alignme
39500 6e 74 22 3e 3c 61 20 68 72 65 66 3d 22 23 74 6f 63 2d 41 6c 69 67 6e 6d 65 6e 74 22 3e 41 6c 69 nt"><a.href="#toc-Alignment">Ali
39520 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 65 66 3d 22 gnment</a>.<a.class="hdr".href="
39540 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 20 20 20 3c #Alignment">..</a></h3>........<
39560 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 74 72 6f 6e p>.......Each.type.has.an.<stron
39580 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 62 65 72 20 g>alignment</strong>.-.a.number.
395a0 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 65 6e 20 61 of.bytes.such.that,.......when.a
395c0 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 20 66 72 6f .value.of.the.type.is.loaded.fro
395e0 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 20 74 68 65 m.or.stored.to.memory,.......the
39600 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 6c 79 20 64 .memory.address.must.be.evenly.d
39620 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 20 63 61 6e ivisible.by.this.number..You.can
39640 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 22 3e 40 61 .use.......<a.href="#alignOf">@a
39660 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 76 61 6c 75 lignOf</a>.to.find.out.this.valu
39680 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 20 20 20 20 e.for.any.type........</p>......
396a0 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 20 6f 6e 20 .<p>.......Alignment.depends.on.
396c0 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 20 61 6c 77 the.CPU.architecture,.but.is.alw
396e0 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 20 20 6c 65 ays.a.power.of.two,.and.......le
39700 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 6c 69 6e 65 22 ss.than.<code><span.class="line"
39720 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 31 3c 2f 73 70 61 ><span.class="tok-number">1</spa
39740 6e 3e 20 26 6c 74 3b 26 6c 74 3b 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d n>.&lt;&lt;.<span.class="tok-num
39760 62 65 72 22 3e 32 39 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 2e 0a 20 20 ber">29</span></span></code>....
39780 20 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 5a 69 67 2c ....</p>.......<p>.......In.Zig,
397a0 20 61 20 70 6f 69 6e 74 65 72 20 74 79 70 65 20 68 61 73 20 61 6e 20 61 6c 69 67 6e 6d 65 6e 74 .a.pointer.type.has.an.alignment
397c0 20 76 61 6c 75 65 2e 20 49 66 20 74 68 65 20 76 61 6c 75 65 20 69 73 20 65 71 75 61 6c 20 74 6f .value..If.the.value.is.equal.to
397e0 20 74 68 65 0a 20 20 20 20 20 20 61 6c 69 67 6e 6d 65 6e 74 20 6f 66 20 74 68 65 20 75 6e 64 65 .the.......alignment.of.the.unde
39800 72 6c 79 69 6e 67 20 74 79 70 65 2c 20 69 74 20 63 61 6e 20 62 65 20 6f 6d 69 74 74 65 64 20 66 rlying.type,.it.can.be.omitted.f
39820 72 6f 6d 20 74 68 65 20 74 79 70 65 3a 0a 20 20 20 20 20 20 3c 2f 70 3e 0a 20 20 20 20 20 20 3c rom.the.type:.......</p>.......<
39840 66 69 67 75 72 65 3e 3c 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
39860 70 22 3e 3c 63 69 74 65 20 63 6c 61 73 73 3d 22 66 69 6c 65 22 3e 76 61 72 69 61 62 6c 65 5f 61 p"><cite.class="file">variable_a
39880 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>
398a0 3c 70 72 65 3e 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 <pre><code><span.class="line"><s
398c0 70 61 6e 20 63 6c 61 73 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>.
398e0 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">
39900 40 69 6d 70 6f 72 74 3c 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-
39920 73 74 72 22 3e 26 71 75 6f 74 3b 73 74 64 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 29 3b 3c 2f 73 str">&quot;std&quot;</span>);</s
39940 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c pan>.<span.class="line"><span.cl
39960 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 63 6f 6e 73 74 3c 2f 73 70 61 6e 3e 20 62 75 69 6c 74 69 ass="tok-kw">const</span>.builti
39980 6e 20 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 62 75 69 6c 74 69 6e 22 3e 40 69 n.=.<span.class="tok-builtin">@i
399a0 6d 70 6f 72 74 3c 2f 73 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
399c0 72 22 3e 26 71 75 6f 74 3b 62 75 69 6c 74 69 6e 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 29 3b 3c r">&quot;builtin&quot;</span>);<
399e0 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 /span>.<span.class="line"><span.
39a00 63 6c 61 73 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
39a20 63 74 20 3d 20 73 74 64 2e 74 65 73 74 69 6e 67 2e 65 78 70 65 63 74 3b 3c 2f 73 70 61 6e 3e 0a ct.=.std.testing.expect;</span>.
39a40 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e <span.class="line"></span>.<span
39a60 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b .class="line"><span.class="tok-k
39a80 77 22 3e 74 65 73 74 3c 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-
39aa0 73 74 72 22 3e 26 71 75 6f 74 3b 76 61 72 69 61 62 6c 65 20 61 6c 69 67 6e 6d 65 6e 74 26 71 75 str">&quot;variable.alignment&qu
39ac0 6f 74 3b 3c 2f 73 70 61 6e 3e 20 7b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d ot;</span>.{</span>.<span.class=
39ae0 22 6c 69 6e 65 22 3e 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e "line">....<span.class="tok-kw">
39b00 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
39b20 79 70 65 22 3e 69 33 32 3c 2f 73 70 61 6e 3e 20 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 ype">i32</span>.=.<span.class="t
39b40 6f 6b 2d 6e 75 6d 62 65 72 22 3e 31 32 33 34 3c 2f 73 70 61 6e 3e 3b 3c 2f 73 70 61 6e 3e 0a 3c ok-number">1234</span>;</span>.<
39b60 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 span.class="line">....<span.clas
39b80 73 3d 22 74 6f 6b 2d 6b 77 22 3e 63 6f 6e 73 74 3c 2f 73 70 61 6e 3e 20 61 6c 69 67 6e 5f 6f 66 s="tok-kw">const</span>.align_of
39ba0 5f 69 33 32 20 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 62 75 69 6c 74 69 6e 22 _i32.=.<span.class="tok-builtin"
39bc0 3e 40 61 6c 69 67 6e 4f 66 3c 2f 73 70 61 6e 3e 28 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f >@alignOf</span>(<span.class="to
39be0 6b 2d 62 75 69 6c 74 69 6e 22 3e 40 54 79 70 65 4f 66 3c 2f 73 70 61 6e 3e 28 78 29 29 3b 3c 2f k-builtin">@TypeOf</span>(x));</
39c00 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 3c 73 70 span>.<span.class="line">....<sp
39c20 61 6e 20 63 6c 61 73 73 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
39c40 65 63 74 28 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 62 75 69 6c 74 69 6e 22 3e 40 54 ect(<span.class="tok-builtin">@T
39c60 79 70 65 4f 66 3c 2f 73 70 61 6e 3e 28 26 61 6d 70 3b 78 29 20 3d 3d 20 2a 3c 73 70 61 6e 20 63 ypeOf</span>(&amp;x).==.*<span.c
39c80 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 69 33 32 3c 2f 73 70 61 6e 3e 29 3b 3c 2f 73 70 lass="tok-type">i32</span>);</sp
39ca0 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 3c 73 70 61 6e an>.<span.class="line">....<span
39cc0 20 63 6c 61 73 73 3d 22 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
39ce0 74 28 2a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 69 33 32 3c 2f 73 t(*<span.class="tok-type">i32</s
39d00 70 61 6e 3e 20 3d 3d 20 2a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 61 6c pan>.==.*<span.class="tok-kw">al
39d20 69 67 6e 3c 2f 73 70 61 6e 3e 28 61 6c 69 67 6e 5f 6f 66 5f 69 33 32 29 20 3c 73 70 61 6e 20 63 ign</span>(align_of_i32).<span.c
39d40 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 69 33 32 3c 2f 73 70 61 6e 3e 29 3b 3c 2f 73 70 lass="tok-type">i32</span>);</sp
39d60 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 3c 73 70 61 6e an>.<span.class="line">....<span
39d80 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 69 66 3c 2f 73 70 61 6e 3e 20 28 62 75 69 6c 74 .class="tok-kw">if</span>.(built
39da0 69 6e 2e 74 61 72 67 65 74 2e 63 70 75 2e 61 72 63 68 20 3d 3d 20 2e 78 38 36 5f 36 34 29 20 7b in.target.cpu.arch.==..x86_64).{
39dc0 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 20 </span>.<span.class="line">.....
39de0 20 20 20 3c 73 70 61 6e 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
39e00 6e 3e 20 65 78 70 65 63 74 28 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 62 75 69 6c 74 n>.expect(<span.class="tok-built
39e20 69 6e 22 3e 40 74 79 70 65 49 6e 66 6f 3c 2f 73 70 61 6e 3e 28 2a 3c 73 70 61 6e 20 63 6c 61 73 in">@typeInfo</span>(*<span.clas
39e40 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 69 33 32 3c 2f 73 70 61 6e 3e 29 2e 50 6f 69 6e 74 65 72 s="tok-type">i32</span>).Pointer
39e60 2e 61 6c 69 67 6e 6d 65 6e 74 20 3d 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e .alignment.==.<span.class="tok-n
39e80 75 6d 62 65 72 22 3e 34 3c 2f 73 70 61 6e 3e 29 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 umber">4</span>);</span>.<span.c
39ea0 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 7d 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 lass="line">....}</span>.<span.c
39ec0 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 7d 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 3c 2f 70 72 65 lass="line">}</span></code></pre
39ee0 3e 3c 2f 66 69 67 75 72 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
39f00 61 73 73 3d 22 73 68 65 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
39f20 6e 3e 3c 70 72 65 3e 3c 73 61 6d 70 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e n><pre><samp><span.class="line">
39f40 24 20 3c 6b 62 64 3e 7a 69 67 20 74 65 73 74 20 76 61 72 69 61 62 6c 65 5f 61 6c 69 67 6e 6d 65 $.<kbd>zig.test.variable_alignme
39f60 6e 74 2e 7a 69 67 3c 2f 6b 62 64 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d nt.zig</kbd></span>.<span.class=
39f80 22 6c 69 6e 65 22 3e 31 2f 31 20 74 65 73 74 2e 76 61 72 69 61 62 6c 65 20 61 6c 69 67 6e 6d 65 "line">1/1.test.variable.alignme
39fa0 6e 74 2e 2e 2e 20 4f 4b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e nt....OK</span>.<span.class="lin
39fc0 65 22 3e 41 6c 6c 20 31 20 74 65 73 74 73 20 70 61 73 73 65 64 2e 3c 2f 73 70 61 6e 3e 0a 3c 2f e">All.1.tests.passed.</span>.</
39fe0 73 61 6d 70 3e 3c 2f 70 72 65 3e 3c 2f 66 69 67 75 72 65 3e 0a 20 20 20 20 20 20 3c 70 3e 49 6e samp></pre></figure>.......<p>In
3a000 20 74 68 65 20 73 61 6d 65 20 77 61 79 20 74 68 61 74 20 61 20 3c 63 6f 64 65 3e 3c 73 70 61 6e .the.same.way.that.a.<code><span
3a020 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 2a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d .class="line">*<span.class="tok-
3a040 74 79 70 65 22 3e 69 33 32 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 20 63 type">i32</span></span></code>.c
3a060 61 6e 20 62 65 20 3c 61 20 68 72 65 66 3d 22 23 54 79 70 65 2d 43 6f 65 72 63 69 6f 6e 22 3e 63 an.be.<a.href="#Type-Coercion">c
3a080 6f 65 72 63 65 64 3c 2f 61 3e 20 74 6f 20 61 0a 20 20 20 20 20 20 20 20 20 20 3c 63 6f 64 65 3e oerced</a>.to.a...........<code>
3a0a0 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 2a 3c 73 70 61 6e 20 63 6c 61 73 73 3d <span.class="line">*<span.class=
3a0c0 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
3a0e0 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 69 33 32 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 3c 2f s="tok-type">i32</span></span></
3a100 63 6f 64 65 3e 2c 20 61 20 70 6f 69 6e 74 65 72 20 77 69 74 68 20 61 20 6c 61 72 67 65 72 20 61 code>,.a.pointer.with.a.larger.a
3a120 6c 69 67 6e 6d 65 6e 74 20 63 61 6e 20 62 65 20 69 6d 70 6c 69 63 69 74 6c 79 0a 20 20 20 20 20 lignment.can.be.implicitly......
3a140 20 63 61 73 74 20 74 6f 20 61 20 70 6f 69 6e 74 65 72 20 77 69 74 68 20 61 20 73 6d 61 6c 6c 65 .cast.to.a.pointer.with.a.smalle
3a160 72 20 61 6c 69 67 6e 6d 65 6e 74 2c 20 62 75 74 20 6e 6f 74 20 76 69 63 65 20 76 65 72 73 61 2e r.alignment,.but.not.vice.versa.
3a180 0a 20 20 20 20 20 20 3c 2f 70 3e 0a 20 20 20 20 20 20 3c 70 3e 0a 20 20 20 20 20 20 59 6f 75 20 .......</p>.......<p>.......You.
3a1a0 63 61 6e 20 73 70 65 63 69 66 79 20 61 6c 69 67 6e 6d 65 6e 74 20 6f 6e 20 76 61 72 69 61 62 6c can.specify.alignment.on.variabl
3a1c0 65 73 20 61 6e 64 20 66 75 6e 63 74 69 6f 6e 73 2e 20 49 66 20 79 6f 75 20 64 6f 20 74 68 69 73 es.and.functions..If.you.do.this
3a1e0 2c 20 74 68 65 6e 0a 20 20 20 20 20 20 70 6f 69 6e 74 65 72 73 20 74 6f 20 74 68 65 6d 20 67 65 ,.then.......pointers.to.them.ge
3a200 74 20 74 68 65 20 73 70 65 63 69 66 69 65 64 20 61 6c 69 67 6e 6d 65 6e 74 3a 0a 20 20 20 20 20 t.the.specified.alignment:......
3a220 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.
3a240 63 6c 61 73 73 3d 22 7a 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
3a260 65 22 3e 76 61 72 69 61 62 6c 65 5f 66 75 6e 63 5f 61 6c 69 67 6e 6d 65 6e 74 2e 7a 69 67 3c 2f e">variable_func_alignment.zig</
3a280 63 69 74 65 3e 3c 2f 66 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
3a2a0 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b an.class="line"><span.class="tok
3a2c0 2d 6b 77 22 3e 63 6f 6e 73 74 3c 2f 73 70 61 6e 3e 20 65 78 70 65 63 74 20 3d 20 3c 73 70 61 6e -kw">const</span>.expect.=.<span
3a2e0 20 63 6c 61 73 73 3d 22 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
3a300 61 6e 3e 28 3c 73 70 61 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;
3a320 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
3a340 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 2f 73 70 ;</span>.<span.class="line"></sp
3a360 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 an>.<span.class="line"><span.cla
3a380 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 76 61 72 3c 2f 73 70 61 6e 3e 20 66 6f 6f 3a 20 3c 73 70 61 ss="tok-kw">var</span>.foo:.<spa
3a3a0 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 75 38 3c 2f 73 70 61 6e 3e 20 3c 73 70 n.class="tok-type">u8</span>.<sp
3a3c0 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 61 6c 69 67 6e 3c 2f 73 70 61 6e 3e 28 3c an.class="tok-kw">align</span>(<
3a3e0 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>
3a400 29 20 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 31 30 30 ).=.<span.class="tok-number">100
3a420 3c 2f 73 70 61 6e 3e 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e </span>;</span>.<span.class="lin
3a440 65 22 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 e"></span>.<span.class="line"><s
3a460 70 61 6e 20 63 6c 61 73 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>.<
3a480 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 73 74 72 22 3e 26 71 75 6f 74 3b 67 6c 6f 62 61 span.class="tok-str">&quot;globa
3a4a0 6c 20 76 61 72 69 61 62 6c 65 20 61 6c 69 67 6e 6d 65 6e 74 26 71 75 6f 74 3b 3c 2f 73 70 61 6e l.variable.alignment&quot;</span
3a4c0 3e 20 7b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 >.{</span>.<span.class="line">..
3a4e0 20 20 3c 73 70 61 6e 20 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
3a500 3e 20 65 78 70 65 63 74 28 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 62 75 69 6c 74 69 >.expect(<span.class="tok-builti
3a520 6e 22 3e 40 74 79 70 65 49 6e 66 6f 3c 2f 73 70 61 6e 3e 28 3c 73 70 61 6e 20 63 6c 61 73 73 3d n">@typeInfo</span>(<span.class=
3a540 22 74 6f 6b 2d 62 75 69 6c 74 69 6e 22 3e 40 54 79 70 65 4f 66 3c 2f 73 70 61 6e 3e 28 26 61 6d "tok-builtin">@TypeOf</span>(&am
3a560 70 3b 66 6f 6f 29 29 2e 50 6f 69 6e 74 65 72 2e 61 6c 69 67 6e 6d 65 6e 74 20 3d 3d 20 3c 73 70 p;foo)).Pointer.alignment.==.<sp
3a580 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 34 3c 2f 73 70 61 6e 3e 29 3b an.class="tok-number">4</span>);
3a5a0 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 3c </span>.<span.class="line">....<
3a5c0 73 70 61 6e 20 63 6c 61 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
3a5e0 78 70 65 63 74 28 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 62 75 69 6c 74 69 6e 22 3e xpect(<span.class="tok-builtin">
3a600 40 54 79 70 65 4f 66 3c 2f 73 70 61 6e 3e 28 26 61 6d 70 3b 66 6f 6f 29 20 3d 3d 20 2a 3c 73 70 @TypeOf</span>(&amp;foo).==.*<sp
3a620 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 61 6c 69 67 6e 3c 2f 73 70 61 6e 3e 28 3c an.class="tok-kw">align</span>(<
3a640 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>
3a660 29 20 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
3a680 6e 3e 29 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 n>);</span>.<span.class="line">.
3a6a0 20 20 20 3c 73 70 61 6e 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
3a6c0 70 61 6e 3e 20 61 73 5f 70 6f 69 6e 74 65 72 5f 74 6f 5f 61 72 72 61 79 3a 20 2a 3c 73 70 61 6e pan>.as_pointer_to_array:.*<span
3a6e0 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 61 6c 69 67 6e 3c 2f 73 70 61 6e 3e 28 3c 73 70 .class="tok-kw">align</span>(<sp
3a700 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 34 3c 2f 73 70 61 6e 3e 29 20 an.class="tok-number">4</span>).
3a720 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
3a740 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
3a760 61 6e 3e 20 3d 20 26 61 6d 70 3b 66 6f 6f 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 an>.=.&amp;foo;</span>.<span.cla
3a780 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b ss="line">....<span.class="tok-k
3a7a0 77 22 3e 63 6f 6e 73 74 3c 2f 73 70 61 6e 3e 20 61 73 5f 73 6c 69 63 65 3a 20 5b 5d 3c 73 70 61 w">const</span>.as_slice:.[]<spa
3a7c0 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 61 6c 69 67 6e 3c 2f 73 70 61 6e 3e 28 3c 73 n.class="tok-kw">align</span>(<s
3a7e0 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 34 3c 2f 73 70 61 6e 3e 29 pan.class="tok-number">4</span>)
3a800 20 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
3a820 3e 20 3d 20 61 73 5f 70 6f 69 6e 74 65 72 5f 74 6f 5f 61 72 72 61 79 3b 3c 2f 73 70 61 6e 3e 0a >.=.as_pointer_to_array;</span>.
3a840 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 <span.class="line">....<span.cla
3a860 73 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 6c ss="tok-kw">const</span>.as_unal
3a880 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 2d igned_slice:.[]<span.class="tok-
3a8a0 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 3c 2f 73 70 61 type">u8</span>.=.as_slice;</spa
3a8c0 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 3c 73 70 61 6e 20 n>.<span.class="line">....<span.
3a8e0 63 6c 61 73 73 3d 22 74 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
3a900 28 61 73 5f 75 6e 61 6c 69 67 6e 65 64 5f 73 6c 69 63 65 5b 3c 73 70 61 6e 20 63 6c 61 73 73 3d (as_unaligned_slice[<span.class=
3a920 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 30 3c 2f 73 70 61 6e 3e 5d 20 3d 3d 20 3c 73 70 61 6e 20 "tok-number">0</span>].==.<span.
3a940 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 31 30 30 3c 2f 73 70 61 6e 3e 29 3b 3c class="tok-number">100</span>);<
3a960 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 7d 3c 2f 73 70 61 /span>.<span.class="line">}</spa
3a980 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 n>.<span.class="line"></span>.<s
3a9a0 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f pan.class="line"><span.class="to
3a9c0 6b 2d 6b 77 22 3e 66 6e 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
3a9e0 2d 66 6e 22 3e 64 65 72 70 3c 2f 73 70 61 6e 3e 28 29 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 -fn">derp</span>().<span.class="
3aa00 74 6f 6b 2d 6b 77 22 3e 61 6c 69 67 6e 3c 2f 73 70 61 6e 3e 28 3c 73 70 61 6e 20 63 6c 61 73 73 tok-kw">align</span>(<span.class
3aa20 3d 22 74 6f 6b 2d 62 75 69 6c 74 69 6e 22 3e 40 73 69 7a 65 4f 66 3c 2f 73 70 61 6e 3e 28 3c 73 ="tok-builtin">@sizeOf</span>(<s
3aa40 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
3aa60 3e 29 20 2a 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 32 3c >).*.<span.class="tok-number">2<
3aa80 2f 73 70 61 6e 3e 29 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 69 /span>).<span.class="tok-type">i
3aaa0 33 32 3c 2f 73 70 61 6e 3e 20 7b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 32</span>.{</span>.<span.class="
3aac0 6c 69 6e 65 22 3e 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 72 line">....<span.class="tok-kw">r
3aae0 65 74 75 72 6e 3c 2f 73 70 61 6e 3e 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 eturn</span>.<span.class="tok-nu
3ab00 6d 62 65 72 22 3e 31 32 33 34 3c 2f 73 70 61 6e 3e 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 mber">1234</span>;</span>.<span.
3ab20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 7d 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 class="line">}</span>.<span.clas
3ab40 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 66 6e s="line"><span.class="tok-kw">fn
3ab60 3c 2f 73 70 61 6e 3e 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 66 6e 22 3e 6e 6f 6f </span>.<span.class="tok-fn">noo
3ab80 70 31 3c 2f 73 70 61 6e 3e 28 29 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 p1</span>().<span.class="tok-kw"
3aba0 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
3abc0 75 6d 62 65 72 22 3e 31 3c 2f 73 70 61 6e 3e 29 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f umber">1</span>).<span.class="to
3abe0 6b 2d 74 79 70 65 22 3e 76 6f 69 64 3c 2f 73 70 61 6e 3e 20 7b 7d 3c 2f 73 70 61 6e 3e 0a 3c 73 k-type">void</span>.{}</span>.<s
3ac00 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f pan.class="line"><span.class="to
3ac20 6b 2d 6b 77 22 3e 66 6e 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
3ac40 2d 66 6e 22 3e 6e 6f 6f 70 34 3c 2f 73 70 61 6e 3e 28 29 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d -fn">noop4</span>().<span.class=
3ac60 22 74 6f 6b 2d 6b 77 22 3e 61 6c 69 67 6e 3c 2f 73 70 61 6e 3e 28 3c 73 70 61 6e 20 63 6c 61 73 "tok-kw">align</span>(<span.clas
3ac80 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 34 3c 2f 73 70 61 6e 3e 29 20 3c 73 70 61 6e 20 63 s="tok-number">4</span>).<span.c
3aca0 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 76 6f 69 64 3c 2f 73 70 61 6e 3e 20 7b 7d 3c 2f lass="tok-type">void</span>.{}</
3acc0 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 2f 73 70 61 6e 3e span>.<span.class="line"></span>
3ace0 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d .<span.class="line"><span.class=
3ad00 22 74 6f 6b 2d 6b 77 22 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
3ad20 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
3ad40 65 6e 74 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 20 7b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 ent&quot;</span>.{</span>.<span.
3ad60 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f class="line">....<span.class="to
3ad80 6b 2d 6b 77 22 3e 74 72 79 3c 2f 73 70 61 6e 3e 20 65 78 70 65 63 74 28 64 65 72 70 28 29 20 3d k-kw">try</span>.expect(derp().=
3ada0 3d 20 3c 73 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<
3adc0 2f 73 70 61 6e 3e 29 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e /span>);</span>.<span.class="lin
3ade0 65 22 3e 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 74 72 79 3c e">....<span.class="tok-kw">try<
3ae00 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
3ae20 75 69 6c 74 69 6e 22 3e 40 54 79 70 65 4f 66 3c 2f 73 70 61 6e 3e 28 6e 6f 6f 70 31 29 20 3d 3d uiltin">@TypeOf</span>(noop1).==
3ae40 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>.
3ae60 28 29 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 61 6c 69 67 6e 3c 2f 73 ().<span.class="tok-kw">align</s
3ae80 70 61 6e 3e 28 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 31 3c pan>(<span.class="tok-number">1<
3aea0 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
3aec0 6f 69 64 3c 2f 73 70 61 6e 3e 29 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d oid</span>);</span>.<span.class=
3aee0 22 6c 69 6e 65 22 3e 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e "line">....<span.class="tok-kw">
3af00 74 72 79 3c 2f 73 70 61 6e 3e 20 65 78 70 65 63 74 28 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 try</span>.expect(<span.class="t
3af20 6f 6b 2d 62 75 69 6c 74 69 6e 22 3e 40 54 79 70 65 4f 66 3c 2f 73 70 61 6e 3e 28 6e 6f 6f 70 34 ok-builtin">@TypeOf</span>(noop4
3af40 29 20 3d 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 66 6e 3c 2f 73 70 ).==.<span.class="tok-kw">fn</sp
3af60 61 6e 3e 20 28 29 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 61 6c 69 67 an>.().<span.class="tok-kw">alig
3af80 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
3afa0 22 3e 34 3c 2f 73 70 61 6e 3e 29 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 ">4</span>).<span.class="tok-typ
3afc0 65 22 3e 76 6f 69 64 3c 2f 73 70 61 6e 3e 29 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c e">void</span>);</span>.<span.cl
3afe0 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 6e 6f 6f 70 31 28 29 3b 3c 2f 73 70 61 6e 3e 0a 3c ass="line">....noop1();</span>.<
3b000 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 6e 6f 6f 70 34 28 29 3b 3c 2f span.class="line">....noop4();</
3b020 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 7d 3c 2f 73 70 61 6e span>.<span.class="line">}</span
3b040 3e 3c 2f 63 6f 64 65 3e 3c 2f 70 72 65 3e 3c 2f 66 69 67 75 72 65 3e 3c 66 69 67 75 72 65 3e 3c ></code></pre></figure><figure><
3b060 66 69 67 63 61 70 74 69 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
3b080 6c 6c 3c 2f 66 69 67 63 61 70 74 69 6f 6e 3e 3c 70 72 65 3e 3c 73 61 6d 70 3e 3c 73 70 61 6e 20 ll</figcaption><pre><samp><span.
3b0a0 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 24 20 3c 6b 62 64 3e 7a 69 67 20 74 65 73 74 20 76 61 72 class="line">$.<kbd>zig.test.var
3b0c0 69 61 62 6c 65 5f 66 75 6e 63 5f 61 6c 69 67 6e 6d 65 6e 74 2e 7a 69 67 3c 2f 6b 62 64 3e 3c 2f iable_func_alignment.zig</kbd></
3b0e0 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 31 2f 32 20 74 65 73 span>.<span.class="line">1/2.tes
3b100 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 74 2e 2e 2e 20 4f t.global.variable.alignment....O
3b120 4b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 32 2f 32 20 K</span>.<span.class="line">2/2.
3b140 74 65 73 74 2e 66 75 6e 63 74 69 6f 6e 20 61 6c 69 67 6e 6d 65 6e 74 2e 2e 2e 20 4f 4b 3c 2f 73 test.function.alignment....OK</s
3b160 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 41 6c 6c 20 32 20 74 65 pan>.<span.class="line">All.2.te
3b180 73 74 73 20 70 61 73 73 65 64 2e 3c 2f 73 70 61 6e 3e 0a 3c 2f 73 61 6d 70 3e 3c 2f 70 72 65 3e sts.passed.</span>.</samp></pre>
3b1a0 3c 2f 66 69 67 75 72 65 3e 0a 20 20 20 20 20 20 3c 70 3e 0a 20 20 20 20 20 20 49 66 20 79 6f 75 </figure>.......<p>.......If.you
3b1c0 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 65 20 74 68 61 74 20 .have.a.pointer.or.a.slice.that.
3b1e0 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 74 20 79 6f 75 20 6b has.a.small.alignment,.but.you.k
3b200 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 20 20 68 61 73 20 61 now.that.it.actually.......has.a
3b220 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 20 68 72 65 66 3d 22 .bigger.alignment,.use.<a.href="
3b240 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 74 6f 20 63 68 #alignCast">@alignCast</a>.to.ch
3b260 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 74 6f 20 61 20 6d 6f ange.the.......pointer.into.a.mo
3b280 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 69 73 20 61 20 6e 6f re.aligned.pointer..This.is.a.no
3b2a0 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 74 73 20 61 0a 20 20 -op.at.runtime,.but.inserts.a...
3b2c0 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 6f 69 6e 74 65 72 2d ....<a.href="#Incorrect-Pointer-
3b2e0 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 61 3e 3a 0a 20 20 20 Alignment">safety.check</a>:....
3b300 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
3b320 6e 20 63 6c 61 73 73 3d 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
3b340 69 6c 65 22 3e 74 65 73 74 2e 7a 69 67 3c 2f 63 69 74 65 3e 3c 2f 66 69 67 63 61 70 74 69 6f 6e ile">test.zig</cite></figcaption
3b360 3e 3c 70 72 65 3e 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c ><pre><code><span.class="line"><
3b380 73 70 61 6e 20 63 6c 61 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>
3b3a0 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"
3b3c0 3e 40 69 6d 70 6f 72 74 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
3b3e0 2d 73 74 72 22 3e 26 71 75 6f 74 3b 73 74 64 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 29 3b 3c 2f -str">&quot;std&quot;</span>);</
3b400 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 2f 73 70 61 6e 3e span>.<span.class="line"></span>
3b420 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d .<span.class="line"><span.class=
3b440 22 74 6f 6b 2d 6b 77 22 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
3b460 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 61 6c 69 67 6e 6d 65 ="tok-str">&quot;pointer.alignme
3b480 6e 74 20 73 61 66 65 74 79 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 20 7b 3c 2f 73 70 61 6e 3e 0a nt.safety&quot;</span>.{</span>.
3b4a0 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 <span.class="line">....<span.cla
3b4c0 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 76 61 72 3c 2f 73 70 61 6e 3e 20 61 72 72 61 79 20 3c 73 70 ss="tok-kw">var</span>.array.<sp
3b4e0 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 61 6c 69 67 6e 3c 2f 73 70 61 6e 3e 28 3c an.class="tok-kw">align</span>(<
3b500 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>
3b520 29 20 3d 20 5b 5f 5d 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 75 33 ).=.[_]<span.class="tok-type">u3
3b540 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
3b560 72 22 3e 30 78 31 31 31 31 31 31 31 31 3c 2f 73 70 61 6e 3e 2c 20 3c 73 70 61 6e 20 63 6c 61 73 r">0x11111111</span>,.<span.clas
3b580 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 30 78 31 31 31 31 31 31 31 31 3c 2f 73 70 61 6e 3e s="tok-number">0x11111111</span>
3b5a0 20 7d 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 .};</span>.<span.class="line">..
3b5c0 20 20 3c 73 70 61 6e 20 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
3b5e0 61 6e 3e 20 62 79 74 65 73 20 3d 20 73 74 64 2e 6d 65 6d 2e 73 6c 69 63 65 41 73 42 79 74 65 73 an>.bytes.=.std.mem.sliceAsBytes
3b600 28 61 72 72 61 79 5b 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e (array[<span.class="tok-number">
3b620 30 3c 2f 73 70 61 6e 3e 2e 2e 5d 29 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 0</span>..]);</span>.<span.class
3b640 3d 22 6c 69 6e 65 22 3e 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 ="line">....<span.class="tok-kw"
3b660 3e 74 72 79 3c 2f 73 70 61 6e 3e 20 73 74 64 2e 74 65 73 74 69 6e 67 2e 65 78 70 65 63 74 28 66 >try</span>.std.testing.expect(f
3b680 6f 6f 28 62 79 74 65 73 29 20 3d 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 oo(bytes).==.<span.class="tok-nu
3b6a0 6d 62 65 72 22 3e 30 78 31 31 31 31 31 31 31 31 3c 2f 73 70 61 6e 3e 29 3b 3c 2f 73 70 61 6e 3e mber">0x11111111</span>);</span>
3b6c0 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 7d 3c 2f 73 70 61 6e 3e 0a 3c 73 70 .<span.class="line">}</span>.<sp
3b6e0 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b an.class="line"><span.class="tok
3b700 2d 6b 77 22 3e 66 6e 3c 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-
3b720 66 6e 22 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 fn">foo</span>(bytes:.[]<span.cl
3b740 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.
3b760 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 75 33 32 3c 2f 73 70 61 6e 3e 20 7b 3c 2f 73 class="tok-type">u32</span>.{</s
3b780 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 3c 73 70 61 pan>.<span.class="line">....<spa
3b7a0 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 63 6f 6e 73 74 3c 2f 73 70 61 6e 3e 20 73 6c n.class="tok-kw">const</span>.sl
3b7c0 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 2d 6e 75 ice4.=.bytes[<span.class="tok-nu
3b7e0 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
3b800 2d 6e 75 6d 62 65 72 22 3e 35 3c 2f 73 70 61 6e 3e 5d 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e -number">5</span>];</span>.<span
3b820 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 .class="line">....<span.class="t
3b840 6f 6b 2d 6b 77 22 3e 63 6f 6e 73 74 3c 2f 73 70 61 6e 3e 20 69 6e 74 5f 73 6c 69 63 65 20 3d 20 ok-kw">const</span>.int_slice.=.
3b860 73 74 64 2e 6d 65 6d 2e 62 79 74 65 73 41 73 53 6c 69 63 65 28 3c 73 70 61 6e 20 63 6c 61 73 73 std.mem.bytesAsSlice(<span.class
3b880 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
3b8a0 61 73 73 3d 22 74 6f 6b 2d 62 75 69 6c 74 69 6e 22 3e 40 61 6c 69 67 6e 43 61 73 74 3c 2f 73 70 ass="tok-builtin">@alignCast</sp
3b8c0 61 6e 3e 28 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 34 3c 2f an>(<span.class="tok-number">4</
3b8e0 73 70 61 6e 3e 2c 20 73 6c 69 63 65 34 29 29 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c span>,.slice4));</span>.<span.cl
3b900 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d ass="line">....<span.class="tok-
3b920 6b 77 22 3e 72 65 74 75 72 6e 3c 2f 73 70 61 6e 3e 20 69 6e 74 5f 73 6c 69 63 65 5b 3c 73 70 61 kw">return</span>.int_slice[<spa
3b940 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 30 3c 2f 73 70 61 6e 3e 5d 3b 3c n.class="tok-number">0</span>];<
3b960 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 7d 3c 2f 73 70 61 /span>.<span.class="line">}</spa
3b980 6e 3e 3c 2f 63 6f 64 65 3e 3c 2f 70 72 65 3e 3c 2f 66 69 67 75 72 65 3e 3c 66 69 67 75 72 65 3e n></code></pre></figure><figure>
3b9a0 3c 66 69 67 63 61 70 74 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
3b9c0 65 6c 6c 3c 2f 66 69 67 63 61 70 74 69 6f 6e 3e 3c 70 72 65 3e 3c 73 61 6d 70 3e 3c 73 70 61 6e ell</figcaption><pre><samp><span
3b9e0 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 24 20 3c 6b 62 64 3e 7a 69 67 20 74 65 73 74 20 74 65 .class="line">$.<kbd>zig.test.te
3ba00 73 74 2e 7a 69 67 3c 2f 6b 62 64 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d st.zig</kbd></span>.<span.class=
3ba20 22 6c 69 6e 65 22 3e 31 2f 31 20 74 65 73 74 2e 70 6f 69 6e 74 65 72 20 61 6c 69 67 6e 6d 65 6e "line">1/1.test.pointer.alignmen
3ba40 74 20 73 61 66 65 74 79 2e 2e 2e 20 74 68 72 65 61 64 20 33 35 36 36 39 33 36 20 70 61 6e 69 63 t.safety....thread.3566936.panic
3ba60 3a 20 69 6e 63 6f 72 72 65 63 74 20 61 6c 69 67 6e 6d 65 6e 74 3c 2f 73 70 61 6e 3e 0a 3c 73 70 :.incorrect.alignment</span>.<sp
3ba80 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 31 5f an.class="line"><span.class="t1_
3baa0 30 22 3e 64 6f 63 67 65 6e 5f 74 6d 70 2f 74 65 73 74 2e 7a 69 67 3a 31 30 3a 34 33 3c 2f 73 70 0">docgen_tmp/test.zig:10:43</sp
3bac0 61 6e 3e 3a 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 32 5f 30 22 3e 30 78 32 31 31 37 61 62 an>:.<span.class="t2_0">0x2117ab
3bae0 20 69 6e 20 66 6f 6f 20 28 74 65 73 74 29 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 .in.foo.(test)</span></span>.<sp
3bb00 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 63 6f 6e 73 74 20 69 6e 74 5f 73 6c an.class="line">....const.int_sl
3bb20 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 75 33 32 2c 20 ice.=.std.mem.bytesAsSlice(u32,.
3bb40 40 61 6c 69 67 6e 43 61 73 74 28 34 2c 20 73 6c 69 63 65 34 29 29 3b 3c 2f 73 70 61 6e 3e 0a 3c @alignCast(4,.slice4));</span>.<
3bb60 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 20 20 20 20 20 20 20 20 20 20 span.class="line">..............
3bb80 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 3c 73 70 61 ............................<spa
3bba0 6e 20 63 6c 61 73 73 3d 22 74 33 32 5f 31 22 3e 5e 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 0a n.class="t32_1">^</span></span>.
3bbc0 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 <span.class="line"><span.class="
3bbe0 74 31 5f 30 22 3e 64 6f 63 67 65 6e 5f 74 6d 70 2f 74 65 73 74 2e 7a 69 67 3a 36 3a 33 31 3c 2f t1_0">docgen_tmp/test.zig:6:31</
3bc00 73 70 61 6e 3e 3a 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 32 5f 30 22 3e 30 78 32 31 31 36 span>:.<span.class="t2_0">0x2116
3bc20 63 66 20 69 6e 20 74 65 73 74 2e 70 6f 69 6e 74 65 72 20 61 6c 69 67 6e 6d 65 6e 74 20 73 61 66 cf.in.test.pointer.alignment.saf
3bc40 65 74 79 20 28 74 65 73 74 29 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 ety.(test)</span></span>.<span.c
3bc60 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 74 72 79 20 73 74 64 2e 74 65 73 74 69 6e 67 2e lass="line">....try.std.testing.
3bc80 65 78 70 65 63 74 28 66 6f 6f 28 62 79 74 65 73 29 20 3d 3d 20 30 78 31 31 31 31 31 31 31 31 29 expect(foo(bytes).==.0x11111111)
3bca0 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 ;</span>.<span.class="line">....
3bcc0 20 20 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.
3bce0 63 6c 61 73 73 3d 22 74 33 32 5f 31 22 3e 5e 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 class="t32_1">^</span></span>.<s
3bd00 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 31 pan.class="line"><span.class="t1
3bd20 5f 30 22 3e 2f 68 6f 6d 65 2f 63 69 2f 72 65 6c 65 61 73 65 2d 30 2e 31 30 2e 31 2f 6f 75 74 2f _0">/home/ci/release-0.10.1/out/
3bd40 7a 69 67 2d 78 38 36 5f 36 34 2d 6c 69 6e 75 78 2d 6d 75 73 6c 2d 62 61 73 65 6c 69 6e 65 2f 6c zig-x86_64-linux-musl-baseline/l
3bd60 69 62 2f 7a 69 67 2f 74 65 73 74 5f 72 75 6e 6e 65 72 2e 7a 69 67 3a 36 33 3a 32 38 3c 2f 73 70 ib/zig/test_runner.zig:63:28</sp
3bd80 61 6e 3e 3a 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 32 5f 30 22 3e 30 78 32 31 32 66 39 33 an>:.<span.class="t2_0">0x212f93
3bda0 20 69 6e 20 6d 61 69 6e 20 28 74 65 73 74 29 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 .in.main.(test)</span></span>.<s
3bdc0 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 20 20 20 20 7d 20 65 6c 73 65 20 pan.class="line">........}.else.
3bde0 74 65 73 74 5f 66 6e 2e 66 75 6e 63 28 29 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 test_fn.func();</span>.<span.cla
3be00 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ss="line">......................
3be20 20 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 33 32 5f 31 22 3e 5e 3c 2f 73 70 61 6e .....<span.class="t32_1">^</span
3be40 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 ></span>.<span.class="line"><spa
3be60 6e 20 63 6c 61 73 73 3d 22 74 31 5f 30 22 3e 2f 68 6f 6d 65 2f 63 69 2f 72 65 6c 65 61 73 65 2d n.class="t1_0">/home/ci/release-
3be80 30 2e 31 30 2e 31 2f 6f 75 74 2f 7a 69 67 2d 78 38 36 5f 36 34 2d 6c 69 6e 75 78 2d 6d 75 73 6c 0.10.1/out/zig-x86_64-linux-musl
3bea0 2d 62 61 73 65 6c 69 6e 65 2f 6c 69 62 2f 7a 69 67 2f 73 74 64 2f 73 74 61 72 74 2e 7a 69 67 3a -baseline/lib/zig/std/start.zig:
3bec0 36 30 34 3a 32 32 3c 2f 73 70 61 6e 3e 3a 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 32 5f 30 604:22</span>:.<span.class="t2_0
3bee0 22 3e 30 78 32 31 32 30 66 63 20 69 6e 20 70 6f 73 69 78 43 61 6c 6c 4d 61 69 6e 41 6e 64 45 78 ">0x2120fc.in.posixCallMainAndEx
3bf00 69 74 20 28 74 65 73 74 29 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c it.(test)</span></span>.<span.cl
3bf20 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 20 20 20 20 20 20 20 20 72 6f 6f 74 2e 6d 61 69 6e ass="line">............root.main
3bf40 28 29 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 ();</span>.<span.class="line">..
3bf60 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="
3bf80 74 33 32 5f 31 22 3e 5e 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 t32_1">^</span></span>.<span.cla
3bfa0 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 31 5f 30 22 3e 2f 68 6f ss="line"><span.class="t1_0">/ho
3bfc0 6d 65 2f 63 69 2f 72 65 6c 65 61 73 65 2d 30 2e 31 30 2e 31 2f 6f 75 74 2f 7a 69 67 2d 78 38 36 me/ci/release-0.10.1/out/zig-x86
3bfe0 5f 36 34 2d 6c 69 6e 75 78 2d 6d 75 73 6c 2d 62 61 73 65 6c 69 6e 65 2f 6c 69 62 2f 7a 69 67 2f _64-linux-musl-baseline/lib/zig/
3c000 73 74 64 2f 73 74 61 72 74 2e 7a 69 67 3a 33 37 36 3a 35 3c 2f 73 70 61 6e 3e 3a 20 3c 73 70 61 std/start.zig:376:5</span>:.<spa
3c020 6e 20 63 6c 61 73 73 3d 22 74 32 5f 30 22 3e 30 78 32 31 31 63 30 31 20 69 6e 20 5f 73 74 61 72 n.class="t2_0">0x211c01.in._star
3c040 74 20 28 74 65 73 74 29 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 t.(test)</span></span>.<span.cla
3c060 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 40 63 61 6c 6c 28 2e 7b 20 2e 6d 6f 64 69 66 69 65 72 ss="line">....@call(.{..modifier
3c080 20 3d 20 2e 6e 65 76 65 72 5f 69 6e 6c 69 6e 65 20 7d 2c 20 70 6f 73 69 78 43 61 6c 6c 4d 61 69 .=..never_inline.},.posixCallMai
3c0a0 6e 41 6e 64 45 78 69 74 2c 20 2e 7b 7d 29 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 nAndExit,..{});</span>.<span.cla
3c0c0 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 33 32 5f 31 ss="line">....<span.class="t32_1
3c0e0 22 3e 5e 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c ">^</span></span>.<span.class="l
3c100 69 6e 65 22 3e 65 72 72 6f 72 3a 20 74 68 65 20 66 6f 6c 6c 6f 77 69 6e 67 20 74 65 73 74 20 63 ine">error:.the.following.test.c
3c120 6f 6d 6d 61 6e 64 20 63 72 61 73 68 65 64 3a 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 ommand.crashed:</span>.<span.cla
3c140 73 73 3d 22 6c 69 6e 65 22 3e 2f 68 6f 6d 65 2f 63 69 2f 72 65 6c 65 61 73 65 2d 30 2e 31 30 2e ss="line">/home/ci/release-0.10.
3c160 31 2f 6f 75 74 2f 7a 69 67 2d 6c 6f 63 61 6c 2d 63 61 63 68 65 2f 6f 2f 38 38 36 64 62 64 65 32 1/out/zig-local-cache/o/886dbde2
3c180 63 32 61 32 31 30 37 34 63 36 63 36 64 33 66 66 39 62 38 33 33 33 36 62 2f 74 65 73 74 3c 2f 73 c2a21074c6c6d3ff9b83336b/test</s
3c1a0 70 61 6e 3e 0a 3c 2f 73 61 6d 70 3e 3c 2f 70 72 65 3e 3c 2f 66 69 67 75 72 65 3e 0a 20 20 20 20 pan>.</samp></pre></figure>.....
3c1c0 20 20 0a 0a 20 20 20 20 20 20 3c 68 33 20 69 64 3d 22 61 6c 6c 6f 77 7a 65 72 6f 22 3e 3c 61 20 ..........<h3.id="allowzero"><a.
3c1e0 68 72 65 66 3d 22 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 href="#toc-allowzero">allowzero<
3c200 2f 61 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 6c 6c 6f 77 7a /a>.<a.class="hdr".href="#allowz
3c220 65 72 6f 22 3e c2 a7 3c 2f 61 3e 3c 2f 68 33 3e 0a 0a 20 20 20 20 20 20 3c 70 3e 0a 20 20 20 20 ero">..</a></h3>........<p>.....
3c240 20 20 54 68 69 73 20 70 6f 69 6e 74 65 72 20 61 74 74 72 69 62 75 74 65 20 61 6c 6c 6f 77 73 20 ..This.pointer.attribute.allows.
3c260 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 2e 20 a.pointer.to.have.address.zero..
3c280 54 68 69 73 20 69 73 20 6f 6e 6c 79 20 65 76 65 72 20 6e 65 65 64 65 64 20 6f 6e 20 74 68 65 0a This.is.only.ever.needed.on.the.
3c2a0 20 20 20 20 20 20 66 72 65 65 73 74 61 6e 64 69 6e 67 20 4f 53 20 74 61 72 67 65 74 2c 20 77 68 ......freestanding.OS.target,.wh
3c2c0 65 72 65 20 74 68 65 20 61 64 64 72 65 73 73 20 7a 65 72 6f 20 69 73 20 6d 61 70 70 61 62 6c 65 ere.the.address.zero.is.mappable
3c2e0 2e 20 49 66 20 79 6f 75 20 77 61 6e 74 20 74 6f 20 72 65 70 72 65 73 65 6e 74 20 6e 75 6c 6c 20 ..If.you.want.to.represent.null.
3c300 70 6f 69 6e 74 65 72 73 2c 20 75 73 65 0a 20 20 20 20 20 20 3c 61 20 68 72 65 66 3d 22 23 4f 70 pointers,.use.......<a.href="#Op
3c320 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 6e 74 65 tional-Pointers">Optional.Pointe
3c340 72 73 3c 2f 61 3e 20 69 6e 73 74 65 61 64 2e 20 3c 61 20 68 72 65 66 3d 22 23 4f 70 74 69 6f 6e rs</a>.instead..<a.href="#Option
3c360 61 6c 2d 50 6f 69 6e 74 65 72 73 22 3e 4f 70 74 69 6f 6e 61 6c 20 50 6f 69 6e 74 65 72 73 3c 2f al-Pointers">Optional.Pointers</
3c380 61 3e 20 77 69 74 68 20 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 a>.with.<code><span.class="line"
3c3a0 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 61 6c 6c 6f 77 7a 65 72 6f 3c ><span.class="tok-kw">allowzero<
3c3c0 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 0a 20 20 20 20 20 20 61 72 65 20 6e /span></span></code>.......are.n
3c3e0 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
3c400 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
3c420 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>
3c440 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 <span.class="line"><span.class="
3c460 74 6f 6b 2d 6b 77 22 3e 61 6c 6c 6f 77 7a 65 72 6f 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 3c tok-kw">allowzero</span></span><
3c480 2f 63 6f 64 65 3e 20 61 74 74 72 69 62 75 74 65 2c 20 74 68 69 73 20 77 6f 75 6c 64 20 62 65 20 /code>.attribute,.this.would.be.
3c4a0 61 0a 20 20 20 20 20 20 3c 61 20 68 72 65 66 3d 22 23 50 6f 69 6e 74 65 72 2d 43 61 73 74 2d 49 a.......<a.href="#Pointer-Cast-I
3c4c0 6e 76 61 6c 69 64 2d 4e 75 6c 6c 22 3e 50 6f 69 6e 74 65 72 20 43 61 73 74 20 49 6e 76 61 6c 69 nvalid-Null">Pointer.Cast.Invali
3c4e0 64 20 4e 75 6c 6c 3c 2f 61 3e 20 70 61 6e 69 63 3a 0a 20 20 20 20 20 20 3c 2f 70 3e 0a 20 20 20 d.Null</a>.panic:.......</p>....
3c500 20 20 20 3c 66 69 67 75 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
3c520 67 2d 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 6c 6c 6f 77 7a g-cap"><cite.class="file">allowz
3c540 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>
3c560 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 <code><span.class="line"><span.c
3c580 6c 61 73 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.=
3c5a0 20 3c 73 70 61 6e 20 63 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
3c5c0 72 74 3c 2f 73 70 61 6e 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">
3c5e0 26 71 75 6f 74 3b 73 74 64 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 29 3b 3c 2f 73 70 61 6e 3e 0a &quot;std&quot;</span>);</span>.
3c600 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 <span.class="line"><span.class="
3c620 74 6f 6b 2d 6b 77 22 3e 63 6f 6e 73 74 3c 2f 73 70 61 6e 3e 20 65 78 70 65 63 74 20 3d 20 73 74 tok-kw">const</span>.expect.=.st
3c640 64 2e 74 65 73 74 69 6e 67 2e 65 78 70 65 63 74 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 d.testing.expect;</span>.<span.c
3c660 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d lass="line"></span>.<span.class=
3c680 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 74 65 73 74 "line"><span.class="tok-kw">test
3c6a0 3c 2f 73 70 61 6e 3e 20 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
3c6c0 75 6f 74 3b 61 6c 6c 6f 77 7a 65 72 6f 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 20 7b 3c 2f 73 70 uot;allowzero&quot;</span>.{</sp
3c6e0 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 3c 73 70 61 6e an>.<span.class="line">....<span
3c700 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 76 61 72 3c 2f 73 70 61 6e 3e 20 7a 65 72 6f 3a .class="tok-kw">var</span>.zero:
3c720 20 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
3c740 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">
3c760 30 3c 2f 73 70 61 6e 3e 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 0</span>;</span>.<span.class="li
3c780 6e 65 22 3e 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 76 61 72 ne">....<span.class="tok-kw">var
3c7a0 3c 2f 73 70 61 6e 3e 20 70 74 72 20 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 62 </span>.ptr.=.<span.class="tok-b
3c7c0 75 69 6c 74 69 6e 22 3e 40 69 6e 74 54 6f 50 74 72 3c 2f 73 70 61 6e 3e 28 2a 3c 73 70 61 6e 20 uiltin">@intToPtr</span>(*<span.
3c7e0 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 61 6c 6c 6f 77 7a 65 72 6f 3c 2f 73 70 61 6e 3e 20 class="tok-kw">allowzero</span>.
3c800 3c 73 70 61 6e 20 63 6c 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
3c820 3e 2c 20 7a 65 72 6f 29 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 >,.zero);</span>.<span.class="li
3c840 6e 65 22 3e 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 74 72 79 ne">....<span.class="tok-kw">try
3c860 3c 2f 73 70 61 6e 3e 20 65 78 70 65 63 74 28 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d </span>.expect(<span.class="tok-
3c880 62 75 69 6c 74 69 6e 22 3e 40 70 74 72 54 6f 49 6e 74 3c 2f 73 70 61 6e 3e 28 70 74 72 29 20 3d builtin">@ptrToInt</span>(ptr).=
3c8a0 3d 20 3c 73 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
3c8c0 61 6e 3e 29 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e an>);</span>.<span.class="line">
3c8e0 7d 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 3c 2f 70 72 65 3e 3c 2f 66 69 67 75 72 65 3e 3c 66 }</span></code></pre></figure><f
3c900 69 67 75 72 65 3e 3c 66 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
3c920 61 70 22 3e 53 68 65 6c 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
3c940 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 24 20 3c 6b 62 64 3e 7a 69 67 20 74 ><span.class="line">$.<kbd>zig.t
3c960 65 73 74 20 61 6c 6c 6f 77 7a 65 72 6f 2e 7a 69 67 3c 2f 6b 62 64 3e 3c 2f 73 70 61 6e 3e 0a 3c est.allowzero.zig</kbd></span>.<
3c980 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 31 2f 31 20 74 65 73 74 2e 61 6c 6c 6f 77 span.class="line">1/1.test.allow
3c9a0 7a 65 72 6f 2e 2e 2e 20 4f 4b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c zero....OK</span>.<span.class="l
3c9c0 69 6e 65 22 3e 41 6c 6c 20 31 20 74 65 73 74 73 20 70 61 73 73 65 64 2e 3c 2f 73 70 61 6e 3e 0a ine">All.1.tests.passed.</span>.
3c9e0 3c 2f 73 61 6d 70 3e 3c 2f 70 72 65 3e 3c 2f 66 69 67 75 72 65 3e 0a 20 20 20 20 20 20 0a 0a 20 </samp></pre></figure>..........
3ca00 20 20 20 20 20 3c 68 33 20 69 64 3d 22 53 65 6e 74 69 6e 65 6c 2d 54 65 72 6d 69 6e 61 74 65 64 .....<h3.id="Sentinel-Terminated
3ca20 2d 50 6f 69 6e 74 65 72 73 22 3e 3c 61 20 68 72 65 66 3d 22 23 74 6f 63 2d 53 65 6e 74 69 6e 65 -Pointers"><a.href="#toc-Sentine
3ca40 6c 2d 54 65 72 6d 69 6e 61 74 65 64 2d 50 6f 69 6e 74 65 72 73 22 3e 53 65 6e 74 69 6e 65 6c 2d l-Terminated-Pointers">Sentinel-
3ca60 54 65 72 6d 69 6e 61 74 65 64 20 50 6f 69 6e 74 65 72 73 3c 2f 61 3e 20 3c 61 20 63 6c 61 73 73 Terminated.Pointers</a>.<a.class
3ca80 3d 22 68 64 72 22 20 68 72 65 66 3d 22 23 53 65 6e 74 69 6e 65 6c 2d 54 65 72 6d 69 6e 61 74 65 ="hdr".href="#Sentinel-Terminate
3caa0 64 2d 50 6f 69 6e 74 65 72 73 22 3e c2 a7 3c 2f 61 3e 3c 2f 68 33 3e 0a 0a 20 20 20 20 20 20 3c d-Pointers">..</a></h3>........<
3cac0 70 3e 0a 20 20 20 20 20 20 54 68 65 20 73 79 6e 74 61 78 20 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 p>.......The.syntax.<code><span.
3cae0 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 5b 2a 3a 78 5d 54 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 class="line">[*:x]T</span></code
3cb00 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 20 >.describes.a.pointer.that......
3cb20 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 65 .has.a.length.determined.by.a.se
3cb40 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 74 ntinel.value..This.provides.prot
3cb60 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 72 ection.......against.buffer.over
3cb80 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 20 flow.and.overreads........</p>..
3cba0 20 20 20 20 20 3c 66 69 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="
3cbc0 7a 69 67 2d 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
3cbe0 2e 7a 69 67 3c 2f 63 69 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
3cc00 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 de><span.class="line"><span.clas
3cc20 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
3cc40 70 61 6e 20 63 6c 61 73 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<
3cc60 2f 73 70 61 6e 3e 28 3c 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
3cc80 6f 74 3b 73 74 64 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 29 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 ot;std&quot;</span>);</span>.<sp
3cca0 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c an.class="line"></span>.<span.cl
3ccc0 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 63 6f 6d 6d ass="line"><span.class="tok-comm
3cce0 65 6e 74 22 3e 2f 2f 20 54 68 69 73 20 69 73 20 61 6c 73 6f 20 61 76 61 69 6c 61 62 6c 65 20 61 ent">//.This.is.also.available.a
3cd00 73 20 60 73 74 64 2e 63 2e 70 72 69 6e 74 66 60 2e 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 0a s.`std.c.printf`.</span></span>.
3cd20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 <span.class="line"><span.class="
3cd40 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="
3cd60 74 6f 6b 2d 6b 77 22 3e 65 78 74 65 72 6e 3c 2f 73 70 61 6e 3e 20 3c 73 70 61 6e 20 63 6c 61 73 tok-kw">extern</span>.<span.clas
3cd80 73 3d 22 74 6f 6b 2d 73 74 72 22 3e 26 71 75 6f 74 3b 63 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e s="tok-str">&quot;c&quot;</span>
3cda0 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>.
3cdc0 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 66 6e 22 3e 70 72 69 6e 74 66 3c 2f 73 70 61 <span.class="tok-fn">printf</spa
3cde0 6e 3e 28 66 6f 72 6d 61 74 3a 20 5b 2a 3a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e n>(format:.[*:<span.class="tok-n
3ce00 75 6d 62 65 72 22 3e 30 3c 2f 73 70 61 6e 3e 5d 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b umber">0</span>]<span.class="tok
3ce20 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
3ce40 6f 6b 2d 74 79 70 65 22 3e 75 38 3c 2f 73 70 61 6e 3e 2c 20 2e 2e 2e 29 20 3c 73 70 61 6e 20 63 ok-type">u8</span>,....).<span.c
3ce60 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 63 5f 69 6e 74 3c 2f 73 70 61 6e 3e 3b 3c 2f 73 lass="tok-type">c_int</span>;</s
3ce80 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 2f 73 70 61 6e 3e 0a pan>.<span.class="line"></span>.
3cea0 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 <span.class="line"><span.class="
3cec0 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="
3cee0 74 6f 6b 2d 6b 77 22 3e 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
3cf00 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
3cf20 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 61 ="tok-type">anyerror</span>!<spa
3cf40 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>.{
3cf60 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 5f </span>.<span.class="line">...._
3cf80 20 3d 20 70 72 69 6e 74 66 28 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 73 74 72 22 3e .=.printf(<span.class="tok-str">
3cfa0 26 71 75 6f 74 3b 48 65 6c 6c 6f 2c 20 77 6f 72 6c 64 21 5c 6e 26 71 75 6f 74 3b 3c 2f 73 70 61 &quot;Hello,.world!\n&quot;</spa
3cfc0 6e 3e 29 3b 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 63 6f 6d 6d 65 6e 74 22 3e 2f n>);.<span.class="tok-comment">/
3cfe0 2f 20 4f 4b 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 /.OK</span></span>.<span.class="
3d000 6c 69 6e 65 22 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 line"></span>.<span.class="line"
3d020 3e 20 20 20 20 3c 73 70 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<
3d040 2f 73 70 61 6e 3e 20 6d 73 67 20 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 73 74 /span>.msg.=.<span.class="tok-st
3d060 72 22 3e 26 71 75 6f 74 3b 48 65 6c 6c 6f 2c 20 77 6f 72 6c 64 21 5c 6e 26 71 75 6f 74 3b 3c 2f r">&quot;Hello,.world!\n&quot;</
3d080 73 70 61 6e 3e 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 span>;</span>.<span.class="line"
3d0a0 3e 20 20 20 20 3c 73 70 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<
3d0c0 2f 73 70 61 6e 3e 20 6e 6f 6e 5f 6e 75 6c 6c 5f 74 65 72 6d 69 6e 61 74 65 64 5f 6d 73 67 3a 20 /span>.non_null_terminated_msg:.
3d0e0 5b 6d 73 67 2e 6c 65 6e 5d 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e [msg.len]<span.class="tok-type">
3d100 75 38 3c 2f 73 70 61 6e 3e 20 3d 20 6d 73 67 2e 2a 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 u8</span>.=.msg.*;</span>.<span.
3d120 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 5f 20 3d 20 70 72 69 6e 74 66 28 26 61 6d 70 class="line">...._.=.printf(&amp
3d140 3b 6e 6f 6e 5f 6e 75 6c 6c 5f 74 65 72 6d 69 6e 61 74 65 64 5f 6d 73 67 29 3b 3c 2f 73 70 61 6e ;non_null_terminated_msg);</span
3d160 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 7d 3c 2f 73 70 61 6e 3e 3c 2f 63 >.<span.class="line">}</span></c
3d180 6f 64 65 3e 3c 2f 70 72 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
3d1a0 61 70 74 69 6f 6e 20 63 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</
3d1c0 66 69 67 63 61 70 74 69 6f 6e 3e 3c 70 72 65 3e 3c 73 61 6d 70 3e 3c 73 70 61 6e 20 63 6c 61 73 figcaption><pre><samp><span.clas
3d1e0 73 3d 22 6c 69 6e 65 22 3e 24 20 3c 6b 62 64 3e 7a 69 67 20 62 75 69 6c 64 2d 65 78 65 20 74 65 s="line">$.<kbd>zig.build-exe.te
3d200 73 74 2e 7a 69 67 20 2d 6c 63 3c 2f 6b 62 64 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c st.zig.-lc</kbd></span>.<span.cl
3d220 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 31 5f 30 22 3e 64 6f ass="line"><span.class="t1_0">do
3d240 63 67 65 6e 5f 74 6d 70 2f 74 65 73 74 2e 7a 69 67 3a 31 31 3a 31 36 3a 20 3c 2f 73 70 61 6e 3e cgen_tmp/test.zig:11:16:.</span>
3d260 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 33 31 5f 31 22 3e 65 72 72 6f 72 3a 20 3c 2f 73 70 61 <span.class="t31_1">error:.</spa
3d280 6e 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 31 5f 30 22 3e 65 78 70 65 63 74 65 64 20 74 79 n><span.class="t1_0">expected.ty
3d2a0 70 65 20 27 5b 2a 3a 30 5d 63 6f 6e 73 74 20 75 38 27 2c 20 66 6f 75 6e 64 20 27 2a 63 6f 6e 73 pe.'[*:0]const.u8',.found.'*cons
3d2c0 74 20 5b 31 34 5d 75 38 27 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 t.[14]u8'</span>.<span.class="li
3d2e0 6e 65 22 3e 3c 2f 73 70 61 6e 3e 20 20 20 20 5f 20 3d 20 70 72 69 6e 74 66 28 26 61 6d 70 3b 6e ne"></span>...._.=.printf(&amp;n
3d300 6f 6e 5f 6e 75 6c 6c 5f 74 65 72 6d 69 6e 61 74 65 64 5f 6d 73 67 29 3b 3c 2f 73 70 61 6e 3e 0a on_null_terminated_msg);</span>.
3d320 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 20 20 20 20 20 20 20 20 20 <span.class="line">.............
3d340 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 33 32 5f 31 22 3e 5e 7e 7e 7e 7e 7e 7e 7e 7e 7e ..<span.class="t32_1">^~~~~~~~~~
3d360 7e 7e 7e 7e 7e 7e 7e 7e 7e 7e 7e 7e 7e 7e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 ~~~~~~~~~~~~~~</span>.<span.clas
3d380 73 3d 22 6c 69 6e 65 22 3e 3c 2f 73 70 61 6e 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 31 5f s="line"></span><span.class="t1_
3d3a0 30 22 3e 64 6f 63 67 65 6e 5f 74 6d 70 2f 74 65 73 74 2e 7a 69 67 3a 31 31 3a 31 36 3a 20 3c 2f 0">docgen_tmp/test.zig:11:16:.</
3d3c0 73 70 61 6e 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 33 36 5f 31 22 3e 6e 6f 74 65 3a 20 3c span><span.class="t36_1">note:.<
3d3e0 2f 73 70 61 6e 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 31 5f 30 22 3e 64 65 73 74 69 6e 61 /span><span.class="t1_0">destina
3d400 74 69 6f 6e 20 70 6f 69 6e 74 65 72 20 72 65 71 75 69 72 65 73 20 27 30 27 20 73 65 6e 74 69 6e tion.pointer.requires.'0'.sentin
3d420 65 6c 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 2f 73 el</span>.<span.class="line"></s
3d440 70 61 6e 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 31 5f 30 22 3e 64 6f 63 67 65 6e 5f 74 6d pan><span.class="t1_0">docgen_tm
3d460 70 2f 74 65 73 74 2e 7a 69 67 3a 34 3a 33 35 3a 20 3c 2f 73 70 61 6e 3e 3c 73 70 61 6e 20 63 6c p/test.zig:4:35:.</span><span.cl
3d480 61 73 73 3d 22 74 33 36 5f 31 22 3e 6e 6f 74 65 3a 20 3c 2f 73 70 61 6e 3e 3c 73 70 61 6e 20 63 ass="t36_1">note:.</span><span.c
3d4a0 6c 61 73 73 3d 22 74 31 5f 30 22 3e 70 61 72 61 6d 65 74 65 72 20 74 79 70 65 20 64 65 63 6c 61 lass="t1_0">parameter.type.decla
3d4c0 72 65 64 20 68 65 72 65 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e red.here</span>.<span.class="lin
3d4e0 65 22 3e 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 26 71 75 6f e"></span>pub.extern.&quot;c&quo
3d500 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 6e 73 74 20 t;.fn.printf(format:.[*:0]const.
3d520 75 38 2c 20 2e 2e 2e 29 20 63 5f 69 6e 74 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 u8,....).c_int;</span>.<span.cla
3d540 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ss="line">......................
3d560 20 20 20 20 20 20 20 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 33 32 5f 31 22 3e 7e ...........<span.class="t32_1">~
3d580 5e 7e 7e 7e 7e 7e 7e 7e 7e 7e 7e 7e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d ^~~~~~~~~~~~</span>.<span.class=
3d5a0 22 6c 69 6e 65 22 3e 3c 2f 73 70 61 6e 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 32 5f 30 22 "line"></span><span.class="t2_0"
3d5c0 3e 72 65 66 65 72 65 6e 63 65 64 20 62 79 3a 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 >referenced.by:</span>.<span.cla
3d5e0 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 63 6f 6d 70 74 69 6d 65 5f 30 3a 20 2f 68 6f 6d 65 2f ss="line">....comptime_0:./home/
3d600 63 69 2f 72 65 6c 65 61 73 65 2d 30 2e 31 30 2e 31 2f 6f 75 74 2f 7a 69 67 2d 78 38 36 5f 36 34 ci/release-0.10.1/out/zig-x86_64
3d620 2d 6c 69 6e 75 78 2d 6d 75 73 6c 2d 62 61 73 65 6c 69 6e 65 2f 6c 69 62 2f 7a 69 67 2f 73 74 64 -linux-musl-baseline/lib/zig/std
3d640 2f 73 74 61 72 74 2e 7a 69 67 3a 35 39 3a 35 30 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c /start.zig:59:50</span>.<span.cl
3d660 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 72 65 6d 61 69 6e 69 6e 67 20 72 65 66 65 72 65 6e ass="line">....remaining.referen
3d680 63 65 20 74 72 61 63 65 73 20 68 69 64 64 65 6e 3b 20 75 73 65 20 27 2d 66 72 65 66 65 72 65 6e ce.traces.hidden;.use.'-freferen
3d6a0 63 65 2d 74 72 61 63 65 27 20 74 6f 20 73 65 65 20 61 6c 6c 20 72 65 66 65 72 65 6e 63 65 20 74 ce-trace'.to.see.all.reference.t
3d6c0 72 61 63 65 73 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e races</span>.<span.class="line">
3d6e0 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 2f 73 70 61 </span>.<span.class="line"></spa
3d700 6e 3e 3c 2f 73 70 61 6e 3e 0a 3c 2f 73 61 6d 70 3e 3c 2f 70 72 65 3e 3c 2f 66 69 67 75 72 65 3e n></span>.</samp></pre></figure>
3d720 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>
3d740 3c 61 20 68 72 65 66 3d 22 23 53 65 6e 74 69 6e 65 6c 2d 54 65 72 6d 69 6e 61 74 65 64 2d 53 6c <a.href="#Sentinel-Terminated-Sl
3d760 69 63 65 73 22 3e 53 65 6e 74 69 6e 65 6c 2d 54 65 72 6d 69 6e 61 74 65 64 20 53 6c 69 63 65 73 ices">Sentinel-Terminated.Slices
3d780 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
3d7a0 2d 54 65 72 6d 69 6e 61 74 65 64 2d 41 72 72 61 79 73 22 3e 53 65 6e 74 69 6e 65 6c 2d 54 65 72 -Terminated-Arrays">Sentinel-Ter
3d7c0 6d 69 6e 61 74 65 64 20 41 72 72 61 79 73 3c 2f 61 3e 3c 2f 6c 69 3e 0a 3c 2f 75 6c 3e 0a 0a 20 minated.Arrays</a></li>.</ul>...
3d7e0 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 53 6c 69 63 ....................<h2.id="Slic
3d800 65 73 22 3e 3c 61 20 68 72 65 66 3d 22 23 74 6f 63 2d 53 6c 69 63 65 73 22 3e 53 6c 69 63 65 73 es"><a.href="#toc-Slices">Slices
3d820 3c 2f 61 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 </a>.<a.class="hdr".href="#Slice
3d840 73 22 3e c2 a7 3c 2f 61 3e 3c 2f 68 32 3e 0a 0a 20 20 20 20 20 20 3c 66 69 67 75 72 65 3e 3c 66 s">..</a></h2>........<figure><f
3d860 69 67 63 61 70 74 69 6f 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.
3d880 63 6c 61 73 73 3d 22 66 69 6c 65 22 3e 74 65 73 74 2e 7a 69 67 3c 2f 63 69 74 65 3e 3c 2f 66 69 class="file">test.zig</cite></fi
3d8a0 67 63 61 70 74 69 6f 6e 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=
3d8c0 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 63 6f 6e 73 "line"><span.class="tok-kw">cons
3d8e0 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
3d900 6f 6b 2d 62 75 69 6c 74 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
3d920 20 63 6c 61 73 73 3d 22 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;
3d940 3c 2f 73 70 61 6e 3e 29 2e 74 65 73 74 69 6e 67 2e 65 78 70 65 63 74 3b 3c 2f 73 70 61 6e 3e 0a </span>).testing.expect;</span>.
3d960 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e <span.class="line"></span>.<span
3d980 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b .class="line"><span.class="tok-k
3d9a0 77 22 3e 74 65 73 74 3c 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-
3d9c0 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 3c 2f 73 str">&quot;basic.slices&quot;</s
3d9e0 70 61 6e 3e 20 7b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 pan>.{</span>.<span.class="line"
3da00 3e 20 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
3da20 70 61 6e 3e 20 61 72 72 61 79 20 3d 20 5b 5f 5d 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b pan>.array.=.[_]<span.class="tok
3da40 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="
3da60 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 31 3c 2f 73 70 61 6e 3e 2c 20 3c 73 70 61 6e 20 63 6c 61 73 tok-number">1</span>,.<span.clas
3da80 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 32 3c 2f 73 70 61 6e 3e 2c 20 3c 73 70 61 6e 20 63 s="tok-number">2</span>,.<span.c
3daa0 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 33 3c 2f 73 70 61 6e 3e 2c 20 3c 73 70 61 lass="tok-number">3</span>,.<spa
3dac0 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 34 3c 2f 73 70 61 6e 3e 20 7d 3b n.class="tok-number">4</span>.};
3dae0 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 3c </span>.<span.class="line">....<
3db00 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 63 6f 6d 6d 65 6e 74 22 3e 2f 2f 20 41 20 73 6c span.class="tok-comment">//.A.sl
3db20 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 2e 20 54 ice.is.a.pointer.and.a.length..T
3db40 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 79 20 61 he.difference.between.an.array.a
3db60 6e 64 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 nd</span></span>.<span.class="li
3db80 6e 65 22 3e 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 63 6f 6d 6d 65 6e 74 ne">....<span.class="tok-comment
3dba0 22 3e 2f 2f 20 61 20 73 6c 69 63 65 20 69 73 20 74 68 61 74 20 74 68 65 20 61 72 72 61 79 27 73 ">//.a.slice.is.that.the.array's
3dbc0 20 6c 65 6e 67 74 68 20 69 73 20 70 61 72 74 20 6f 66 20 74 68 65 20 74 79 70 65 20 61 6e 64 20 .length.is.part.of.the.type.and.
3dbe0 6b 6e 6f 77 6e 20 61 74 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 known.at</span></span>.<span.cla
3dc00 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 63 ss="line">....<span.class="tok-c
3dc20 6f 6d 6d 65 6e 74 22 3e 2f 2f 20 63 6f 6d 70 69 6c 65 2d 74 69 6d 65 2c 20 77 68 65 72 65 61 73 omment">//.compile-time,.whereas
3dc40 20 74 68 65 20 73 6c 69 63 65 27 73 20 6c 65 6e 67 74 68 20 69 73 20 6b 6e 6f 77 6e 20 61 74 20 .the.slice's.length.is.known.at.
3dc60 72 75 6e 74 69 6d 65 2e 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 runtime.</span></span>.<span.cla
3dc80 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 63 ss="line">....<span.class="tok-c
3dca0 6f 6d 6d 65 6e 74 22 3e 2f 2f 20 42 6f 74 68 20 63 61 6e 20 62 65 20 61 63 63 65 73 73 65 64 20 omment">//.Both.can.be.accessed.
3dcc0 77 69 74 68 20 74 68 65 20 60 6c 65 6e 60 20 66 69 65 6c 64 2e 3c 2f 73 70 61 6e 3e 3c 2f 73 70 with.the.`len`.field.</span></sp
3dce0 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 3c 73 70 61 6e an>.<span.class="line">....<span
3dd00 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 76 61 72 3c 2f 73 70 61 6e 3e 20 6b 6e 6f 77 6e .class="tok-kw">var</span>.known
3dd20 5f 61 74 5f 72 75 6e 74 69 6d 65 5f 7a 65 72 6f 3a 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 _at_runtime_zero:.<span.class="t
3dd40 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
3dd60 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 30 3c 2f 73 70 61 6e 3e 3b 3c 2f 73 70 61 6e ass="tok-number">0</span>;</span
3dd80 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 3c 73 70 61 6e 20 63 >.<span.class="line">....<span.c
3dda0 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 63 6f 6e 73 74 3c 2f 73 70 61 6e 3e 20 73 6c 69 63 65 lass="tok-kw">const</span>.slice
3ddc0 20 3d 20 61 72 72 61 79 5b 6b 6e 6f 77 6e 5f 61 74 5f 72 75 6e 74 69 6d 65 5f 7a 65 72 6f 2e 2e .=.array[known_at_runtime_zero..
3dde0 61 72 72 61 79 2e 6c 65 6e 5d 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 array.len];</span>.<span.class="
3de00 6c 69 6e 65 22 3e 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 74 line">....<span.class="tok-kw">t
3de20 72 79 3c 2f 73 70 61 6e 3e 20 65 78 70 65 63 74 28 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f ry</span>.expect(<span.class="to
3de40 6b 2d 62 75 69 6c 74 69 6e 22 3e 40 54 79 70 65 4f 66 3c 2f 73 70 61 6e 3e 28 73 6c 69 63 65 29 k-builtin">@TypeOf</span>(slice)
3de60 20 3d 3d 20 5b 5d 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 69 33 32 .==.[]<span.class="tok-type">i32
3de80 3c 2f 73 70 61 6e 3e 29 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 </span>);</span>.<span.class="li
3dea0 6e 65 22 3e 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 74 72 79 ne">....<span.class="tok-kw">try
3dec0 3c 2f 73 70 61 6e 3e 20 65 78 70 65 63 74 28 26 61 6d 70 3b 73 6c 69 63 65 5b 3c 73 70 61 6e 20 </span>.expect(&amp;slice[<span.
3dee0 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 30 3c 2f 73 70 61 6e 3e 5d 20 3d 3d 20 class="tok-number">0</span>].==.
3df00 26 61 6d 70 3b 61 72 72 61 79 5b 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 &amp;array[<span.class="tok-numb
3df20 65 72 22 3e 30 3c 2f 73 70 61 6e 3e 5d 29 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 er">0</span>]);</span>.<span.cla
3df40 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b ss="line">....<span.class="tok-k
3df60 77 22 3e 74 72 79 3c 2f 73 70 61 6e 3e 20 65 78 70 65 63 74 28 73 6c 69 63 65 2e 6c 65 6e 20 3d w">try</span>.expect(slice.len.=
3df80 3d 20 61 72 72 61 79 2e 6c 65 6e 29 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 =.array.len);</span>.<span.class
3dfa0 3d 22 6c 69 6e 65 22 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e ="line"></span>.<span.class="lin
3dfc0 65 22 3e 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 63 6f 6d 6d 65 6e 74 22 e">....<span.class="tok-comment"
3dfe0 3e 2f 2f 20 49 66 20 79 6f 75 20 73 6c 69 63 65 20 77 69 74 68 20 63 6f 6d 70 74 69 6d 65 2d 6b >//.If.you.slice.with.comptime-k
3e000 6e 6f 77 6e 20 73 74 61 72 74 20 61 6e 64 20 65 6e 64 20 70 6f 73 69 74 69 6f 6e 73 2c 20 74 68 nown.start.and.end.positions,.th
3e020 65 20 72 65 73 75 6c 74 20 69 73 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 e.result.is</span></span>.<span.
3e040 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f class="line">....<span.class="to
3e060 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 72 k-comment">//.a.pointer.to.an.ar
3e080 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 3e ray,.rather.than.a.slice.</span>
3e0a0 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 3c </span>.<span.class="line">....<
3e0c0 73 70 61 6e 20 63 6c 61 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>
3e0e0 20 61 72 72 61 79 5f 70 74 72 20 3d 20 61 72 72 61 79 5b 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 .array_ptr.=.array[<span.class="
3e100 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 30 3c 2f 73 70 61 6e 3e 2e 2e 61 72 72 61 79 2e 6c 65 6e 5d tok-number">0</span>..array.len]
3e120 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 ;</span>.<span.class="line">....
3e140 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 74 72 79 3c 2f 73 70 61 6e 3e 20 <span.class="tok-kw">try</span>.
3e160 65 78 70 65 63 74 28 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 62 75 69 6c 74 69 6e 22 expect(<span.class="tok-builtin"
3e180 3e 40 54 79 70 65 4f 66 3c 2f 73 70 61 6e 3e 28 61 72 72 61 79 5f 70 74 72 29 20 3d 3d 20 2a 5b >@TypeOf</span>(array_ptr).==.*[
3e1a0 61 72 72 61 79 2e 6c 65 6e 5d 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 array.len]<span.class="tok-type"
3e1c0 3e 69 33 32 3c 2f 73 70 61 6e 3e 29 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 >i32</span>);</span>.<span.class
3e1e0 3d 22 6c 69 6e 65 22 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e ="line"></span>.<span.class="lin
3e200 65 22 3e 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 63 6f 6d 6d 65 6e 74 22 e">....<span.class="tok-comment"
3e220 3e 2f 2f 20 55 73 69 6e 67 20 74 68 65 20 61 64 64 72 65 73 73 2d 6f 66 20 6f 70 65 72 61 74 6f >//.Using.the.address-of.operato
3e240 72 20 6f 6e 20 61 20 73 6c 69 63 65 20 67 69 76 65 73 20 61 20 73 69 6e 67 6c 65 2d 69 74 65 6d r.on.a.slice.gives.a.single-item
3e260 20 70 6f 69 6e 74 65 72 2c 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c .pointer,</span></span>.<span.cl
3e280 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d ass="line">....<span.class="tok-
3e2a0 63 6f 6d 6d 65 6e 74 22 3e 2f 2f 20 77 68 69 6c 65 20 75 73 69 6e 67 20 74 68 65 20 60 70 74 72 comment">//.while.using.the.`ptr
3e2c0 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 74 65 `.field.gives.a.many-item.pointe
3e2e0 72 2e 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 r.</span></span>.<span.class="li
3e300 6e 65 22 3e 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 74 72 79 ne">....<span.class="tok-kw">try
3e320 3c 2f 73 70 61 6e 3e 20 65 78 70 65 63 74 28 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d </span>.expect(<span.class="tok-
3e340 62 75 69 6c 74 69 6e 22 3e 40 54 79 70 65 4f 66 3c 2f 73 70 61 6e 3e 28 73 6c 69 63 65 2e 70 74 builtin">@TypeOf</span>(slice.pt
3e360 72 29 20 3d 3d 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 r).==.[*]<span.class="tok-type">
3e380 69 33 32 3c 2f 73 70 61 6e 3e 29 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d i32</span>);</span>.<span.class=
3e3a0 22 6c 69 6e 65 22 3e 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e "line">....<span.class="tok-kw">
3e3c0 74 72 79 3c 2f 73 70 61 6e 3e 20 65 78 70 65 63 74 28 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 try</span>.expect(<span.class="t
3e3e0 6f 6b 2d 62 75 69 6c 74 69 6e 22 3e 40 54 79 70 65 4f 66 3c 2f 73 70 61 6e 3e 28 26 61 6d 70 3b ok-builtin">@TypeOf</span>(&amp;
3e400 73 6c 69 63 65 5b 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 30 slice[<span.class="tok-number">0
3e420 3c 2f 73 70 61 6e 3e 5d 29 20 3d 3d 20 2a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 </span>]).==.*<span.class="tok-t
3e440 79 70 65 22 3e 69 33 32 3c 2f 73 70 61 6e 3e 29 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 ype">i32</span>);</span>.<span.c
3e460 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b lass="line">....<span.class="tok
3e480 2d 6b 77 22 3e 74 72 79 3c 2f 73 70 61 6e 3e 20 65 78 70 65 63 74 28 3c 73 70 61 6e 20 63 6c 61 -kw">try</span>.expect(<span.cla
3e4a0 73 73 3d 22 74 6f 6b 2d 62 75 69 6c 74 69 6e 22 3e 40 70 74 72 54 6f 49 6e 74 3c 2f 73 70 61 6e ss="tok-builtin">@ptrToInt</span
3e4c0 3e 28 73 6c 69 63 65 2e 70 74 72 29 20 3d 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b >(slice.ptr).==.<span.class="tok
3e4e0 2d 62 75 69 6c 74 69 6e 22 3e 40 70 74 72 54 6f 49 6e 74 3c 2f 73 70 61 6e 3e 28 26 61 6d 70 3b -builtin">@ptrToInt</span>(&amp;
3e500 73 6c 69 63 65 5b 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 30 slice[<span.class="tok-number">0
3e520 3c 2f 73 70 61 6e 3e 5d 29 29 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 </span>]));</span>.<span.class="
3e540 6c 69 6e 65 22 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 line"></span>.<span.class="line"
3e560 3e 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 63 6f 6d 6d 65 6e 74 22 3e 2f >....<span.class="tok-comment">/
3e580 2f 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 /.Slices.have.array.bounds.check
3e5a0 69 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 ing..If.you.try.to.access.someth
3e5c0 69 6e 67 20 6f 75 74 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 ing.out</span></span>.<span.clas
3e5e0 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 63 6f s="line">....<span.class="tok-co
3e600 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 20 67 65 74 20 mment">//.of.bounds,.you'll.get.
3e620 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 61 6e 3e 3c 2f a.safety.check.failure:</span></
3e640 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 73 6c 69 span>.<span.class="line">....sli
3e660 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 31 30 3c 2f ce[<span.class="tok-number">10</
3e680 73 70 61 6e 3e 5d 20 2b 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 span>].+=.<span.class="tok-numbe
3e6a0 72 22 3e 31 3c 2f 73 70 61 6e 3e 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d r">1</span>;</span>.<span.class=
3e6c0 22 6c 69 6e 65 22 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 "line"></span>.<span.class="line
3e6e0 22 3e 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 63 6f 6d 6d 65 6e 74 22 3e ">....<span.class="tok-comment">
3e700 2f 2f 20 4e 6f 74 65 20 74 68 61 74 20 60 73 6c 69 63 65 2e 70 74 72 60 20 64 6f 65 73 20 6e 6f //.Note.that.`slice.ptr`.does.no
3e720 74 20 69 6e 76 6f 6b 65 20 73 61 66 65 74 79 20 63 68 65 63 6b 69 6e 67 2c 20 77 68 69 6c 65 20 t.invoke.safety.checking,.while.
3e740 60 26 61 6d 70 3b 73 6c 69 63 65 5b 30 5d 60 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 `&amp;slice[0]`</span></span>.<s
3e760 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 pan.class="line">....<span.class
3e780 3d 22 74 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 ="tok-comment">//.asserts.that.t
3e7a0 68 65 20 73 6c 69 63 65 20 68 61 73 20 6c 65 6e 20 26 67 74 3b 3d 20 31 2e 3c 2f 73 70 61 6e 3e he.slice.has.len.&gt;=.1.</span>
3e7c0 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 7d 3c 2f 73 70 </span>.<span.class="line">}</sp
3e7e0 61 6e 3e 3c 2f 63 6f 64 65 3e 3c 2f 70 72 65 3e 3c 2f 66 69 67 75 72 65 3e 3c 66 69 67 75 72 65 an></code></pre></figure><figure
3e800 3e 3c 66 69 67 63 61 70 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
3e820 68 65 6c 6c 3c 2f 66 69 67 63 61 70 74 69 6f 6e 3e 3c 70 72 65 3e 3c 73 61 6d 70 3e 3c 73 70 61 hell</figcaption><pre><samp><spa
3e840 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 24 20 3c 6b 62 64 3e 7a 69 67 20 74 65 73 74 20 74 n.class="line">$.<kbd>zig.test.t
3e860 65 73 74 2e 7a 69 67 3c 2f 6b 62 64 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 est.zig</kbd></span>.<span.class
3e880 3d 22 6c 69 6e 65 22 3e 31 2f 31 20 74 65 73 74 2e 62 61 73 69 63 20 73 6c 69 63 65 73 2e 2e 2e ="line">1/1.test.basic.slices...
3e8a0 20 74 68 72 65 61 64 20 33 35 36 37 32 39 38 20 70 61 6e 69 63 3a 20 69 6e 64 65 78 20 6f 75 74 .thread.3567298.panic:.index.out
3e8c0 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 3c 2f 73 70 61 .of.bounds:.index.10,.len.4</spa
3e8e0 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 n>.<span.class="line"><span.clas
3e900 73 3d 22 74 31 5f 30 22 3e 64 6f 63 67 65 6e 5f 74 6d 70 2f 74 65 73 74 2e 7a 69 67 3a 32 38 3a s="t1_0">docgen_tmp/test.zig:28:
3e920 31 30 3c 2f 73 70 61 6e 3e 3a 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 32 5f 30 22 3e 30 78 10</span>:.<span.class="t2_0">0x
3e940 32 31 31 39 63 36 20 69 6e 20 74 65 73 74 2e 62 61 73 69 63 20 73 6c 69 63 65 73 20 28 74 65 73 2119c6.in.test.basic.slices.(tes
3e960 74 29 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 t)</span></span>.<span.class="li
3e980 6e 65 22 3e 20 20 20 20 73 6c 69 63 65 5b 31 30 5d 20 2b 3d 20 31 3b 3c 2f 73 70 61 6e 3e 0a 3c ne">....slice[10].+=.1;</span>.<
3e9a0 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 20 20 20 20 20 3c 73 70 61 6e span.class="line">.........<span
3e9c0 20 63 6c 61 73 73 3d 22 74 33 32 5f 31 22 3e 5e 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 0a 3c .class="t32_1">^</span></span>.<
3e9e0 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 span.class="line"><span.class="t
3ea00 31 5f 30 22 3e 2f 68 6f 6d 65 2f 63 69 2f 72 65 6c 65 61 73 65 2d 30 2e 31 30 2e 31 2f 6f 75 74 1_0">/home/ci/release-0.10.1/out
3ea20 2f 7a 69 67 2d 78 38 36 5f 36 34 2d 6c 69 6e 75 78 2d 6d 75 73 6c 2d 62 61 73 65 6c 69 6e 65 2f /zig-x86_64-linux-musl-baseline/
3ea40 6c 69 62 2f 7a 69 67 2f 74 65 73 74 5f 72 75 6e 6e 65 72 2e 7a 69 67 3a 36 33 3a 32 38 3c 2f 73 lib/zig/test_runner.zig:63:28</s
3ea60 70 61 6e 3e 3a 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 32 5f 30 22 3e 30 78 32 31 33 31 62 pan>:.<span.class="t2_0">0x2131b
3ea80 33 20 69 6e 20 6d 61 69 6e 20 28 74 65 73 74 29 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 0a 3c 3.in.main.(test)</span></span>.<
3eaa0 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 20 20 20 20 7d 20 65 6c 73 65 span.class="line">........}.else
3eac0 20 74 65 73 74 5f 66 6e 2e 66 75 6e 63 28 29 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c .test_fn.func();</span>.<span.cl
3eae0 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ass="line">.....................
3eb00 20 20 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 33 32 5f 31 22 3e 5e 3c 2f 73 70 61 ......<span.class="t32_1">^</spa
3eb20 6e 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 n></span>.<span.class="line"><sp
3eb40 61 6e 20 63 6c 61 73 73 3d 22 74 31 5f 30 22 3e 2f 68 6f 6d 65 2f 63 69 2f 72 65 6c 65 61 73 65 an.class="t1_0">/home/ci/release
3eb60 2d 30 2e 31 30 2e 31 2f 6f 75 74 2f 7a 69 67 2d 78 38 36 5f 36 34 2d 6c 69 6e 75 78 2d 6d 75 73 -0.10.1/out/zig-x86_64-linux-mus
3eb80 6c 2d 62 61 73 65 6c 69 6e 65 2f 6c 69 62 2f 7a 69 67 2f 73 74 64 2f 73 74 61 72 74 2e 7a 69 67 l-baseline/lib/zig/std/start.zig
3eba0 3a 36 30 34 3a 32 32 3c 2f 73 70 61 6e 3e 3a 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 32 5f :604:22</span>:.<span.class="t2_
3ebc0 30 22 3e 30 78 32 31 32 33 33 63 20 69 6e 20 70 6f 73 69 78 43 61 6c 6c 4d 61 69 6e 41 6e 64 45 0">0x21233c.in.posixCallMainAndE
3ebe0 78 69 74 20 28 74 65 73 74 29 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 xit.(test)</span></span>.<span.c
3ec00 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 20 20 20 20 20 20 20 20 72 6f 6f 74 2e 6d 61 69 lass="line">............root.mai
3ec20 6e 28 29 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 n();</span>.<span.class="line">.
3ec40 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d ....................<span.class=
3ec60 22 74 33 32 5f 31 22 3e 5e 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c "t32_1">^</span></span>.<span.cl
3ec80 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 31 5f 30 22 3e 2f 68 ass="line"><span.class="t1_0">/h
3eca0 6f 6d 65 2f 63 69 2f 72 65 6c 65 61 73 65 2d 30 2e 31 30 2e 31 2f 6f 75 74 2f 7a 69 67 2d 78 38 ome/ci/release-0.10.1/out/zig-x8
3ecc0 36 5f 36 34 2d 6c 69 6e 75 78 2d 6d 75 73 6c 2d 62 61 73 65 6c 69 6e 65 2f 6c 69 62 2f 7a 69 67 6_64-linux-musl-baseline/lib/zig
3ece0 2f 73 74 64 2f 73 74 61 72 74 2e 7a 69 67 3a 33 37 36 3a 35 3c 2f 73 70 61 6e 3e 3a 20 3c 73 70 /std/start.zig:376:5</span>:.<sp
3ed00 61 6e 20 63 6c 61 73 73 3d 22 74 32 5f 30 22 3e 30 78 32 31 31 65 34 31 20 69 6e 20 5f 73 74 61 an.class="t2_0">0x211e41.in._sta
3ed20 72 74 20 28 74 65 73 74 29 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c rt.(test)</span></span>.<span.cl
3ed40 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 40 63 61 6c 6c 28 2e 7b 20 2e 6d 6f 64 69 66 69 65 ass="line">....@call(.{..modifie
3ed60 72 20 3d 20 2e 6e 65 76 65 72 5f 69 6e 6c 69 6e 65 20 7d 2c 20 70 6f 73 69 78 43 61 6c 6c 4d 61 r.=..never_inline.},.posixCallMa
3ed80 69 6e 41 6e 64 45 78 69 74 2c 20 2e 7b 7d 29 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c inAndExit,..{});</span>.<span.cl
3eda0 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 33 32 5f ass="line">....<span.class="t32_
3edc0 31 22 3e 5e 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 1">^</span></span>.<span.class="
3ede0 6c 69 6e 65 22 3e 65 72 72 6f 72 3a 20 74 68 65 20 66 6f 6c 6c 6f 77 69 6e 67 20 74 65 73 74 20 line">error:.the.following.test.
3ee00 63 6f 6d 6d 61 6e 64 20 63 72 61 73 68 65 64 3a 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c command.crashed:</span>.<span.cl
3ee20 61 73 73 3d 22 6c 69 6e 65 22 3e 2f 68 6f 6d 65 2f 63 69 2f 72 65 6c 65 61 73 65 2d 30 2e 31 30 ass="line">/home/ci/release-0.10
3ee40 2e 31 2f 6f 75 74 2f 7a 69 67 2d 6c 6f 63 61 6c 2d 63 61 63 68 65 2f 6f 2f 38 38 36 64 62 64 65 .1/out/zig-local-cache/o/886dbde
3ee60 32 63 32 61 32 31 30 37 34 63 36 63 36 64 33 66 66 39 62 38 33 33 33 36 62 2f 74 65 73 74 3c 2f 2c2a21074c6c6d3ff9b83336b/test</
3ee80 73 70 61 6e 3e 0a 3c 2f 73 61 6d 70 3e 3c 2f 70 72 65 3e 3c 2f 66 69 67 75 72 65 3e 0a 20 20 20 span>.</samp></pre></figure>....
3eea0 20 20 20 3c 70 3e 54 68 69 73 20 69 73 20 6f 6e 65 20 72 65 61 73 6f 6e 20 77 65 20 70 72 65 66 ...<p>This.is.one.reason.we.pref
3eec0 65 72 20 73 6c 69 63 65 73 20 74 6f 20 70 6f 69 6e 74 65 72 73 2e 3c 2f 70 3e 0a 20 20 20 20 20 er.slices.to.pointers.</p>......
3eee0 20 3c 66 69 67 75 72 65 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-
3ef00 63 61 70 22 3e 3c 63 69 74 65 20 63 6c 61 73 73 3d 22 66 69 6c 65 22 3e 73 6c 69 63 65 73 2e 7a cap"><cite.class="file">slices.z
3ef20 69 67 3c 2f 63 69 74 65 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
3ef40 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d ><span.class="line"><span.class=
3ef60 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
3ef80 6e 20 63 6c 61 73 73 3d 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
3efa0 70 61 6e 3e 28 3c 73 70 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
3efc0 3b 73 74 64 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 29 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e ;std&quot;</span>);</span>.<span
3efe0 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b .class="line"><span.class="tok-k
3f000 77 22 3e 63 6f 6e 73 74 3c 2f 73 70 61 6e 3e 20 65 78 70 65 63 74 20 3d 20 73 74 64 2e 74 65 73 w">const</span>.expect.=.std.tes
3f020 74 69 6e 67 2e 65 78 70 65 63 74 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d ting.expect;</span>.<span.class=
3f040 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 63 6f 6e 73 "line"><span.class="tok-kw">cons
3f060 74 3c 2f 73 70 61 6e 3e 20 6d 65 6d 20 3d 20 73 74 64 2e 6d 65 6d 3b 3c 2f 73 70 61 6e 3e 0a 3c t</span>.mem.=.std.mem;</span>.<
3f080 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 span.class="line"><span.class="t
3f0a0 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
3f0c0 74 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 2f 73 t;</span>.<span.class="line"></s
3f0e0 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c pan>.<span.class="line"><span.cl
3f100 61 73 73 3d 22 74 6f 6b 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
3f120 6c 61 73 73 3d 22 74 6f 6b 2d 73 74 72 22 3e 26 71 75 6f 74 3b 75 73 69 6e 67 20 73 6c 69 63 65 lass="tok-str">&quot;using.slice
3f140 73 20 66 6f 72 20 73 74 72 69 6e 67 73 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 20 7b 3c 2f 73 70 s.for.strings&quot;</span>.{</sp
3f160 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 3c 73 70 61 6e an>.<span.class="line">....<span
3f180 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 63 6f 6d 6d 65 6e 74 22 3e 2f 2f 20 5a 69 67 20 68 61 73 20 .class="tok-comment">//.Zig.has.
3f1a0 6e 6f 20 63 6f 6e 63 65 70 74 20 6f 66 20 73 74 72 69 6e 67 73 2e 20 53 74 72 69 6e 67 20 6c 69 no.concept.of.strings..String.li
3f1c0 74 65 72 61 6c 73 20 61 72 65 20 63 6f 6e 73 74 20 70 6f 69 6e 74 65 72 73 3c 2f 73 70 61 6e 3e terals.are.const.pointers</span>
3f1e0 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 3c </span>.<span.class="line">....<
3f200 73 70 61 6e 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 6e span.class="tok-comment">//.to.n
3f220 75 6c 6c 2d 74 65 72 6d 69 6e 61 74 65 64 20 61 72 72 61 79 73 20 6f 66 20 75 38 2c 20 61 6e 64 ull-terminated.arrays.of.u8,.and
3f240 20 62 79 20 63 6f 6e 76 65 6e 74 69 6f 6e 20 70 61 72 61 6d 65 74 65 72 73 3c 2f 73 70 61 6e 3e .by.convention.parameters</span>
3f260 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 3c </span>.<span.class="line">....<
3f280 73 70 61 6e 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 span.class="tok-comment">//.that
3f2a0 20 61 72 65 20 26 71 75 6f 74 3b 73 74 72 69 6e 67 73 26 71 75 6f 74 3b 20 61 72 65 20 65 78 70 .are.&quot;strings&quot;.are.exp
3f2c0 65 63 74 65 64 20 74 6f 20 62 65 20 55 54 46 2d 38 20 65 6e 63 6f 64 65 64 20 73 6c 69 63 65 73 ected.to.be.UTF-8.encoded.slices
3f2e0 20 6f 66 20 75 38 2e 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 .of.u8.</span></span>.<span.clas
3f300 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 63 6f s="line">....<span.class="tok-co
3f320 6d 6d 65 6e 74 22 3e 2f 2f 20 48 65 72 65 20 77 65 20 63 6f 65 72 63 65 20 2a 63 6f 6e 73 74 20 mment">//.Here.we.coerce.*const.
3f340 5b 35 3a 30 5d 75 38 20 61 6e 64 20 2a 63 6f 6e 73 74 20 5b 36 3a 30 5d 75 38 20 74 6f 20 5b 5d [5:0]u8.and.*const.[6:0]u8.to.[]
3f360 63 6f 6e 73 74 20 75 38 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 const.u8</span></span>.<span.cla
3f380 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b ss="line">....<span.class="tok-k
3f3a0 77 22 3e 63 6f 6e 73 74 3c 2f 73 70 61 6e 3e 20 68 65 6c 6c 6f 3a 20 5b 5d 3c 73 70 61 6e 20 63 w">const</span>.hello:.[]<span.c
3f3c0 6c 61 73 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
3f3e0 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 75 38 3c 2f 73 70 61 6e 3e 20 3d 20 3c 73 .class="tok-type">u8</span>.=.<s
3f400 70 61 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&
3f420 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 quot;</span>;</span>.<span.class
3f440 3d 22 6c 69 6e 65 22 3e 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 ="line">....<span.class="tok-kw"
3f460 3e 63 6f 6e 73 74 3c 2f 73 70 61 6e 3e 20 77 6f 72 6c 64 3a 20 5b 5d 3c 73 70 61 6e 20 63 6c 61 >const</span>.world:.[]<span.cla
3f480 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 63 6f 6e 73 74 3c 2f 73 70 61 6e 3e 20 3c 73 70 61 6e 20 63 ss="tok-kw">const</span>.<span.c
3f4a0 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 75 38 3c 2f 73 70 61 6e 3e 20 3d 20 3c 73 70 61 lass="tok-type">u8</span>.=.<spa
3f4c0 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 73 74 72 22 3e 26 71 75 6f 74 3b e4 b8 96 e7 95 8c 26 71 n.class="tok-str">&quot;......&q
3f4e0 75 6f 74 3b 3c 2f 73 70 61 6e 3e 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d uot;</span>;</span>.<span.class=
3f500 22 6c 69 6e 65 22 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 "line"></span>.<span.class="line
3f520 22 3e 20 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</
3f540 73 70 61 6e 3e 20 61 6c 6c 5f 74 6f 67 65 74 68 65 72 3a 20 5b 3c 73 70 61 6e 20 63 6c 61 73 73 span>.all_together:.[<span.class
3f560 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 31 30 30 3c 2f 73 70 61 6e 3e 5d 3c 73 70 61 6e 20 63 ="tok-number">100</span>]<span.c
3f580 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 75 38 3c 2f 73 70 61 6e 3e 20 3d 20 3c 73 70 61 lass="tok-type">u8</span>.=.<spa
3f5a0 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
3f5c0 61 6e 3e 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 an>;</span>.<span.class="line">.
3f5e0 20 20 20 3c 73 70 61 6e 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">//.
3f600 59 6f 75 20 63 61 6e 20 75 73 65 20 73 6c 69 63 65 20 73 79 6e 74 61 78 20 6f 6e 20 61 6e 20 61 You.can.use.slice.syntax.on.an.a
3f620 72 72 61 79 20 74 6f 20 63 6f 6e 76 65 72 74 20 61 6e 20 61 72 72 61 79 20 69 6e 74 6f 20 61 20 rray.to.convert.an.array.into.a.
3f640 73 6c 69 63 65 2e 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 slice.</span></span>.<span.class
3f660 3d 22 6c 69 6e 65 22 3e 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 ="line">....<span.class="tok-kw"
3f680 3e 63 6f 6e 73 74 3c 2f 73 70 61 6e 3e 20 61 6c 6c 5f 74 6f 67 65 74 68 65 72 5f 73 6c 69 63 65 >const</span>.all_together_slice
3f6a0 20 3d 20 61 6c 6c 5f 74 6f 67 65 74 68 65 72 5b 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b .=.all_together[<span.class="tok
3f6c0 2d 6e 75 6d 62 65 72 22 3e 30 3c 2f 73 70 61 6e 3e 2e 2e 5d 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 -number">0</span>..];</span>.<sp
3f6e0 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d an.class="line">....<span.class=
3f700 22 74 6f 6b 2d 63 6f 6d 6d 65 6e 74 22 3e 2f 2f 20 53 74 72 69 6e 67 20 63 6f 6e 63 61 74 65 6e "tok-comment">//.String.concaten
3f720 61 74 69 6f 6e 20 65 78 61 6d 70 6c 65 2e 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 ation.example.</span></span>.<sp
3f740 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d an.class="line">....<span.class=
3f760 22 74 6f 6b 2d 6b 77 22 3e 63 6f 6e 73 74 3c 2f 73 70 61 6e 3e 20 68 65 6c 6c 6f 5f 77 6f 72 6c "tok-kw">const</span>.hello_worl
3f780 64 20 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 74 72 79 3c 2f 73 70 d.=.<span.class="tok-kw">try</sp
3f7a0 61 6e 3e 20 66 6d 74 2e 62 75 66 50 72 69 6e 74 28 61 6c 6c 5f 74 6f 67 65 74 68 65 72 5f 73 6c an>.fmt.bufPrint(all_together_sl
3f7c0 69 63 65 2c 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 73 74 72 22 3e 26 71 75 6f 74 ice,.<span.class="tok-str">&quot
3f7e0 3b 7b 73 7d 20 7b 73 7d 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 2c 20 2e 7b 20 68 65 6c 6c 6f 2c ;{s}.{s}&quot;</span>,..{.hello,
3f800 20 77 6f 72 6c 64 20 7d 29 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c .world.});</span>.<span.class="l
3f820 69 6e 65 22 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e ine"></span>.<span.class="line">
3f840 20 20 20 20 3c 73 70 61 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">//
3f860 20 47 65 6e 65 72 61 6c 6c 79 2c 20 79 6f 75 20 63 61 6e 20 75 73 65 20 55 54 46 2d 38 20 61 6e .Generally,.you.can.use.UTF-8.an
3f880 64 20 6e 6f 74 20 77 6f 72 72 79 20 61 62 6f 75 74 20 77 68 65 74 68 65 72 20 73 6f 6d 65 74 68 d.not.worry.about.whether.someth
3f8a0 69 6e 67 20 69 73 20 61 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 ing.is.a</span></span>.<span.cla
3f8c0 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 63 ss="line">....<span.class="tok-c
3f8e0 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.
3f900 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
3f920 72 61 63 74 65 72 73 2c 20 6e 6f 20 6e 65 65 64 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 0a 3c racters,.no.need</span></span>.<
3f940 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 span.class="line">....<span.clas
3f960 73 3d 22 74 6f 6b 2d 63 6f 6d 6d 65 6e 74 22 3e 2f 2f 20 74 6f 20 64 65 63 6f 64 65 2e 3c 2f 73 s="tok-comment">//.to.decode.</s
3f980 70 61 6e 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 pan></span>.<span.class="line">.
3f9a0 20 20 20 3c 73 70 61 6e 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
3f9c0 6e 3e 20 65 78 70 65 63 74 28 6d 65 6d 2e 65 71 6c 28 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 n>.expect(mem.eql(<span.class="t
3f9e0 6f 6b 2d 74 79 70 65 22 3e 75 38 3c 2f 73 70 61 6e 3e 2c 20 68 65 6c 6c 6f 5f 77 6f 72 6c 64 2c ok-type">u8</span>,.hello_world,
3fa00 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 73 74 72 22 3e 26 71 75 6f 74 3b 68 65 6c .<span.class="tok-str">&quot;hel
3fa20 6c 6f 20 e4 b8 96 e7 95 8c 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 29 29 3b 3c 2f 73 70 61 6e 3e lo.......&quot;</span>));</span>
3fa40 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 7d 3c 2f 73 70 61 6e 3e 0a 3c 73 70 .<span.class="line">}</span>.<sp
3fa60 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c an.class="line"></span>.<span.cl
3fa80 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e ass="line"><span.class="tok-kw">
3faa0 74 65 73 74 3c 2f 73 70 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
3fac0 22 3e 26 71 75 6f 74 3b 73 6c 69 63 65 20 70 6f 69 6e 74 65 72 26 71 75 6f 74 3b 3c 2f 73 70 61 ">&quot;slice.pointer&quot;</spa
3fae0 6e 3e 20 7b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 n>.{</span>.<span.class="line">.
3fb00 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
3fb20 6e 3e 20 61 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 n>.a:.[]<span.class="tok-type">u
3fb40 38 3c 2f 73 70 61 6e 3e 20 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6c 6c 8</span>.=.<span.class="tok-null
3fb60 22 3e 75 6e 64 65 66 69 6e 65 64 3c 2f 73 70 61 6e 3e 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e ">undefined</span>;</span>.<span
3fb80 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 .class="line">....<span.class="t
3fba0 6f 6b 2d 6b 77 22 3e 74 72 79 3c 2f 73 70 61 6e 3e 20 65 78 70 65 63 74 28 3c 73 70 61 6e 20 63 ok-kw">try</span>.expect(<span.c
3fbc0 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
3fbe0 3e 28 61 29 20 3d 3d 20 5b 5d 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 >(a).==.[]<span.class="tok-type"
3fc00 3e 75 38 3c 2f 73 70 61 6e 3e 29 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d >u8</span>);</span>.<span.class=
3fc20 22 6c 69 6e 65 22 3e 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e "line">....<span.class="tok-kw">
3fc40 76 61 72 3c 2f 73 70 61 6e 3e 20 61 72 72 61 79 3a 20 5b 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 var</span>.array:.[<span.class="
3fc60 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 31 30 3c 2f 73 70 61 6e 3e 5d 3c 73 70 61 6e 20 63 6c 61 73 tok-number">10</span>]<span.clas
3fc80 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 75 38 3c 2f 73 70 61 6e 3e 20 3d 20 3c 73 70 61 6e 20 63 s="tok-type">u8</span>.=.<span.c
3fca0 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>
3fcc0 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 ;</span>.<span.class="line">....
3fce0 3c 73 70 61 6e 20 63 6c 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
3fd00 3e 20 70 74 72 20 3d 20 26 61 6d 70 3b 61 72 72 61 79 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e >.ptr.=.&amp;array;</span>.<span
3fd20 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 .class="line">....<span.class="t
3fd40 6f 6b 2d 6b 77 22 3e 74 72 79 3c 2f 73 70 61 6e 3e 20 65 78 70 65 63 74 28 3c 73 70 61 6e 20 63 ok-kw">try</span>.expect(<span.c
3fd60 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
3fd80 3e 28 70 74 72 29 20 3d 3d 20 2a 5b 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d >(ptr).==.*[<span.class="tok-num
3fda0 62 65 72 22 3e 31 30 3c 2f 73 70 61 6e 3e 5d 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d ber">10</span>]<span.class="tok-
3fdc0 74 79 70 65 22 3e 75 38 3c 2f 73 70 61 6e 3e 29 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 type">u8</span>);</span>.<span.c
3fde0 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d lass="line"></span>.<span.class=
3fe00 22 6c 69 6e 65 22 3e 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 63 6f 6d 6d "line">....<span.class="tok-comm
3fe20 65 6e 74 22 3e 2f 2f 20 41 20 70 6f 69 6e 74 65 72 20 74 6f 20 61 6e 20 61 72 72 61 79 20 63 61 ent">//.A.pointer.to.an.array.ca
3fe40 6e 20 62 65 20 73 6c 69 63 65 64 20 6a 75 73 74 20 6c 69 6b 65 20 61 6e 20 61 72 72 61 79 3a 3c n.be.sliced.just.like.an.array:<
3fe60 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 /span></span>.<span.class="line"
3fe80 3e 20 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
3fea0 70 61 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 pan>.start:.<span.class="tok-typ
3fec0 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
3fee0 6f 6b 2d 6e 75 6d 62 65 72 22 3e 30 3c 2f 73 70 61 6e 3e 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 ok-number">0</span>;</span>.<spa
3ff00 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 n.class="line">....<span.class="
3ff20 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 6e 20 63 6c tok-kw">var</span>.end:.<span.cl
3ff40 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
3ff60 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 3b pan.class="tok-number">5</span>;
3ff80 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 3c </span>.<span.class="line">....<
3ffa0 73 70 61 6e 20 63 6c 61 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>
3ffc0 20 73 6c 69 63 65 20 3d 20 70 74 72 5b 73 74 61 72 74 2e 2e 65 6e 64 5d 3b 3c 2f 73 70 61 6e 3e .slice.=.ptr[start..end];</span>
3ffe0 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 73 6c 69 63 65 5b 3c 73 .<span.class="line">....slice[<s
40000 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 32 3c 2f 73 70 61 6e 3e 5d pan.class="tok-number">2</span>]
40020 20 3d 20 3c 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
40040 70 61 6e 3e 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e pan>;</span>.<span.class="line">
40060 20 20 20 20 3c 73 70 61 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
40080 61 6e 3e 20 65 78 70 65 63 74 28 73 6c 69 63 65 5b 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f an>.expect(slice[<span.class="to
400a0 6b 2d 6e 75 6d 62 65 72 22 3e 32 3c 2f 73 70 61 6e 3e 5d 20 3d 3d 20 3c 73 70 61 6e 20 63 6c 61 k-number">2</span>].==.<span.cla
400c0 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 33 3c 2f 73 70 61 6e 3e 29 3b 3c 2f 73 70 61 6e ss="tok-number">3</span>);</span
400e0 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 3c 73 70 61 6e 20 63 >.<span.class="line">....<span.c
40100 6c 61 73 73 3d 22 74 6f 6b 2d 63 6f 6d 6d 65 6e 74 22 3e 2f 2f 20 54 68 65 20 73 6c 69 63 65 20 lass="tok-comment">//.The.slice.
40120 69 73 20 6d 75 74 61 62 6c 65 20 62 65 63 61 75 73 65 20 77 65 20 73 6c 69 63 65 64 20 61 20 6d is.mutable.because.we.sliced.a.m
40140 75 74 61 62 6c 65 20 70 6f 69 6e 74 65 72 2e 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 utable.pointer.</span></span>.<s
40160 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 pan.class="line">....<span.class
40180 3d 22 74 6f 6b 2d 6b 77 22 3e 74 72 79 3c 2f 73 70 61 6e 3e 20 65 78 70 65 63 74 28 3c 73 70 61 ="tok-kw">try</span>.expect(<spa
401a0 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
401c0 70 61 6e 3e 28 73 6c 69 63 65 29 20 3d 3d 20 5b 5d 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f pan>(slice).==.[]<span.class="to
401e0 6b 2d 74 79 70 65 22 3e 75 38 3c 2f 73 70 61 6e 3e 29 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e k-type">u8</span>);</span>.<span
40200 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 .class="line"></span>.<span.clas
40220 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 63 6f s="line">....<span.class="tok-co
40240 6d 6d 65 6e 74 22 3e 2f 2f 20 41 67 61 69 6e 2c 20 73 6c 69 63 69 6e 67 20 77 69 74 68 20 63 6f mment">//.Again,.slicing.with.co
40260 6e 73 74 61 6e 74 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 nstant.indexes.will.produce.anot
40280 68 65 72 20 70 6f 69 6e 74 65 72 20 74 6f 20 61 6e 20 61 72 72 61 79 3a 3c 2f 73 70 61 6e 3e 3c her.pointer.to.an.array:</span><
402a0 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 3c 73 /span>.<span.class="line">....<s
402c0 70 61 6e 20 63 6c 61 73 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>.
402e0 70 74 72 32 20 3d 20 73 6c 69 63 65 5b 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 ptr2.=.slice[<span.class="tok-nu
40300 6d 62 65 72 22 3e 32 3c 2f 73 70 61 6e 3e 2e 2e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b mber">2</span>..<span.class="tok
40320 2d 6e 75 6d 62 65 72 22 3e 33 3c 2f 73 70 61 6e 3e 5d 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e -number">3</span>];</span>.<span
40340 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 .class="line">....<span.class="t
40360 6f 6b 2d 6b 77 22 3e 74 72 79 3c 2f 73 70 61 6e 3e 20 65 78 70 65 63 74 28 70 74 72 32 2e 6c 65 ok-kw">try</span>.expect(ptr2.le
40380 6e 20 3d 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 31 3c n.==.<span.class="tok-number">1<
403a0 2f 73 70 61 6e 3e 29 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e /span>);</span>.<span.class="lin
403c0 65 22 3e 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 74 72 79 3c e">....<span.class="tok-kw">try<
403e0 2f 73 70 61 6e 3e 20 65 78 70 65 63 74 28 70 74 72 32 5b 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 /span>.expect(ptr2[<span.class="
40400 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 30 3c 2f 73 70 61 6e 3e 5d 20 3d 3d 20 3c 73 70 61 6e 20 63 tok-number">0</span>].==.<span.c
40420 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 33 3c 2f 73 70 61 6e 3e 29 3b 3c 2f 73 70 lass="tok-number">3</span>);</sp
40440 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 3c 73 70 61 6e an>.<span.class="line">....<span
40460 20 63 6c 61 73 73 3d 22 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
40480 74 28 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 62 75 69 6c 74 69 6e 22 3e 40 54 79 70 t(<span.class="tok-builtin">@Typ
404a0 65 4f 66 3c 2f 73 70 61 6e 3e 28 70 74 72 32 29 20 3d 3d 20 2a 5b 3c 73 70 61 6e 20 63 6c 61 73 eOf</span>(ptr2).==.*[<span.clas
404c0 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
404e0 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 75 38 3c 2f 73 70 61 6e 3e 29 3b 3c 2f 73 70 61 6e ass="tok-type">u8</span>);</span
40500 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 7d 3c 2f 73 70 61 6e 3e 3c 2f 63 >.<span.class="line">}</span></c
40520 6f 64 65 3e 3c 2f 70 72 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
40540 61 70 74 69 6f 6e 20 63 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</
40560 66 69 67 63 61 70 74 69 6f 6e 3e 3c 70 72 65 3e 3c 73 61 6d 70 3e 3c 73 70 61 6e 20 63 6c 61 73 figcaption><pre><samp><span.clas
40580 73 3d 22 6c 69 6e 65 22 3e 24 20 3c 6b 62 64 3e 7a 69 67 20 74 65 73 74 20 73 6c 69 63 65 73 2e s="line">$.<kbd>zig.test.slices.
405a0 7a 69 67 3c 2f 6b 62 64 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 zig</kbd></span>.<span.class="li
405c0 6e 65 22 3e 31 2f 32 20 74 65 73 74 2e 75 73 69 6e 67 20 73 6c 69 63 65 73 20 66 6f 72 20 73 74 ne">1/2.test.using.slices.for.st
405e0 72 69 6e 67 73 2e 2e 2e 20 4f 4b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 rings....OK</span>.<span.class="
40600 6c 69 6e 65 22 3e 32 2f 32 20 74 65 73 74 2e 73 6c 69 63 65 20 70 6f 69 6e 74 65 72 2e 2e 2e 20 line">2/2.test.slice.pointer....
40620 4f 4b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 41 6c 6c OK</span>.<span.class="line">All
40640 20 32 20 74 65 73 74 73 20 70 61 73 73 65 64 2e 3c 2f 73 70 61 6e 3e 0a 3c 2f 73 61 6d 70 3e 3c .2.tests.passed.</span>.</samp><
40660 2f 70 72 65 3e 3c 2f 66 69 67 75 72 65 3e 0a 20 20 20 20 20 20 3c 70 3e 53 65 65 20 61 6c 73 6f /pre></figure>.......<p>See.also
40680 3a 3c 2f 70 3e 3c 75 6c 3e 0a 3c 6c 69 3e 3c 61 20 68 72 65 66 3d 22 23 50 6f 69 6e 74 65 72 73 :</p><ul>.<li><a.href="#Pointers
406a0 22 3e 50 6f 69 6e 74 65 72 73 3c 2f 61 3e 3c 2f 6c 69 3e 0a 3c 6c 69 3e 3c 61 20 68 72 65 66 3d ">Pointers</a></li>.<li><a.href=
406c0 22 23 66 6f 72 22 3e 66 6f 72 3c 2f 61 3e 3c 2f 6c 69 3e 0a 3c 6c 69 3e 3c 61 20 68 72 65 66 3d "#for">for</a></li>.<li><a.href=
406e0 22 23 41 72 72 61 79 73 22 3e 41 72 72 61 79 73 3c 2f 61 3e 3c 2f 6c 69 3e 0a 3c 2f 75 6c 3e 0a "#Arrays">Arrays</a></li>.</ul>.
40700 0a 0a 20 20 20 20 20 20 3c 68 33 20 69 64 3d 22 53 65 6e 74 69 6e 65 6c 2d 54 65 72 6d 69 6e 61 ........<h3.id="Sentinel-Termina
40720 74 65 64 2d 53 6c 69 63 65 73 22 3e 3c 61 20 68 72 65 66 3d 22 23 74 6f 63 2d 53 65 6e 74 69 6e ted-Slices"><a.href="#toc-Sentin
40740 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 2d 54 el-Terminated-Slices">Sentinel-T
40760 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 22 68 erminated.Slices</a>.<a.class="h
40780 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 2d 53 dr".href="#Sentinel-Terminated-S
407a0 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 20 20 lices">..</a></h3>........<p>...
407c0 20 20 20 20 54 68 65 20 73 79 6e 74 61 78 20 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 ....The.syntax.<code><span.class
407e0 3d 22 6c 69 6e 65 22 3e 5b 3a 78 5d 54 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 20 69 73 20 61 ="line">[:x]T</span></code>.is.a
40800 20 73 6c 69 63 65 20 77 68 69 63 68 20 68 61 73 20 61 20 72 75 6e 74 69 6d 65 20 6b 6e 6f 77 6e .slice.which.has.a.runtime.known
40820 20 6c 65 6e 67 74 68 0a 20 20 20 20 20 20 61 6e 64 20 61 6c 73 6f 20 67 75 61 72 61 6e 74 65 65 .length.......and.also.guarantee
40840 73 20 61 20 73 65 6e 74 69 6e 65 6c 20 76 61 6c 75 65 20 61 74 20 74 68 65 20 65 6c 65 6d 65 6e s.a.sentinel.value.at.the.elemen
40860 74 20 69 6e 64 65 78 65 64 20 62 79 20 74 68 65 20 6c 65 6e 67 74 68 2e 20 54 68 65 20 74 79 70 t.indexed.by.the.length..The.typ
40880 65 20 64 6f 65 73 20 6e 6f 74 0a 20 20 20 20 20 20 67 75 61 72 61 6e 74 65 65 20 74 68 61 74 20 e.does.not.......guarantee.that.
408a0 74 68 65 72 65 20 61 72 65 20 6e 6f 20 73 65 6e 74 69 6e 65 6c 20 65 6c 65 6d 65 6e 74 73 20 62 there.are.no.sentinel.elements.b
408c0 65 66 6f 72 65 20 74 68 61 74 2e 20 53 65 6e 74 69 6e 65 6c 2d 74 65 72 6d 69 6e 61 74 65 64 20 efore.that..Sentinel-terminated.
408e0 73 6c 69 63 65 73 20 61 6c 6c 6f 77 20 65 6c 65 6d 65 6e 74 0a 20 20 20 20 20 20 61 63 63 65 73 slices.allow.element.......acces
40900 73 20 74 6f 20 74 68 65 20 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 s.to.the.<code><span.class="line
40920 22 3e 6c 65 6e 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 20 69 6e 64 65 78 2e 0a 20 20 20 20 20 ">len</span></code>.index.......
40940 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.
40960 63 6c 61 73 73 3d 22 7a 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
40980 65 22 3e 6e 75 6c 6c 5f 74 65 72 6d 69 6e 61 74 65 64 5f 73 6c 69 63 65 2e 7a 69 67 3c 2f 63 69 e">null_terminated_slice.zig</ci
409a0 74 65 3e 3c 2f 66 69 67 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
409c0 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b .class="line"><span.class="tok-k
409e0 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
40a00 73 3d 22 74 6f 6b 2d 62 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>(<
40a20 73 70 61 6e 20 63 6c 61 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
40a40 75 6f 74 3b 3c 2f 73 70 61 6e 3e 29 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 uot;</span>);</span>.<span.class
40a60 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 63 6f 6e ="line"><span.class="tok-kw">con
40a80 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
40aa0 78 70 65 63 74 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 xpect;</span>.<span.class="line"
40ac0 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 ></span>.<span.class="line"><spa
40ae0 6e 20 63 6c 61 73 73 3d 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
40b00 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 73 74 72 22 3e 26 71 75 6f 74 3b 6e 75 6c 6c 20 74 65 an.class="tok-str">&quot;null.te
40b20 72 6d 69 6e 61 74 65 64 20 73 6c 69 63 65 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 20 7b 3c 2f 73 rminated.slice&quot;</span>.{</s
40b40 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 3c 73 70 61 pan>.<span.class="line">....<spa
40b60 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 63 6f 6e 73 74 3c 2f 73 70 61 6e 3e 20 73 6c n.class="tok-kw">const</span>.sl
40b80 69 63 65 3a 20 5b 3a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e ice:.[:<span.class="tok-number">
40ba0 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
40bc0 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
40be0 22 3e 75 38 3c 2f 73 70 61 6e 3e 20 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 73 ">u8</span>.=.<span.class="tok-s
40c00 74 72 22 3e 26 71 75 6f 74 3b 68 65 6c 6c 6f 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 3b 3c 2f 73 tr">&quot;hello&quot;</span>;</s
40c20 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 2f 73 70 61 6e 3e 0a pan>.<span.class="line"></span>.
40c40 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 <span.class="line">....<span.cla
40c60 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 74 72 79 3c 2f 73 70 61 6e 3e 20 65 78 70 65 63 74 28 73 6c ss="tok-kw">try</span>.expect(sl
40c80 69 63 65 2e 6c 65 6e 20 3d 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 ice.len.==.<span.class="tok-numb
40ca0 65 72 22 3e 35 3c 2f 73 70 61 6e 3e 29 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 er">5</span>);</span>.<span.clas
40cc0 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 s="line">....<span.class="tok-kw
40ce0 22 3e 74 72 79 3c 2f 73 70 61 6e 3e 20 65 78 70 65 63 74 28 73 6c 69 63 65 5b 3c 73 70 61 6e 20 ">try</span>.expect(slice[<span.
40d00 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 20 3d 3d 20 class="tok-number">5</span>].==.
40d20 3c 73 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
40d40 3e 29 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 7d 3c >);</span>.<span.class="line">}<
40d60 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 3c 2f 70 72 65 3e 3c 2f 66 69 67 75 72 65 3e 3c 66 69 67 /span></code></pre></figure><fig
40d80 75 72 65 3e 3c 66 69 67 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
40da0 22 3e 53 68 65 6c 6c 3c 2f 66 69 67 63 61 70 74 69 6f 6e 3e 3c 70 72 65 3e 3c 73 61 6d 70 3e 3c ">Shell</figcaption><pre><samp><
40dc0 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 24 20 3c 6b 62 64 3e 7a 69 67 20 74 65 73 span.class="line">$.<kbd>zig.tes
40de0 74 20 6e 75 6c 6c 5f 74 65 72 6d 69 6e 61 74 65 64 5f 73 6c 69 63 65 2e 7a 69 67 3c 2f 6b 62 64 t.null_terminated_slice.zig</kbd
40e00 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 31 2f 31 20 ></span>.<span.class="line">1/1.
40e20 74 65 73 74 2e 6e 75 6c 6c 20 74 65 72 6d 69 6e 61 74 65 64 20 73 6c 69 63 65 2e 2e 2e 20 4f 4b test.null.terminated.slice....OK
40e40 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 41 6c 6c 20 31 </span>.<span.class="line">All.1
40e60 20 74 65 73 74 73 20 70 61 73 73 65 64 2e 3c 2f 73 70 61 6e 3e 0a 3c 2f 73 61 6d 70 3e 3c 2f 70 .tests.passed.</span>.</samp></p
40e80 72 65 3e 3c 2f 66 69 67 75 72 65 3e 0a 20 20 20 20 20 20 3c 70 3e 0a 20 20 20 20 20 20 53 65 6e re></figure>.......<p>.......Sen
40ea0 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 20 61 6c 73 6f tinel-terminated.slices.can.also
40ec0 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 6f 6e 20 6f 66 .be.created.using.a.variation.of
40ee0 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 64 65 3e 3c 73 .the.slice.syntax.......<code><s
40f00 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 64 61 74 61 5b 73 74 61 72 74 2e 2e 65 6e 64 pan.class="line">data[start..end
40f20 20 3a 78 5d 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 2c 20 77 68 65 72 65 20 3c 63 6f 64 65 3e .:x]</span></code>,.where.<code>
40f40 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 64 61 74 61 3c 2f 73 70 61 6e 3e 3c 2f <span.class="line">data</span></
40f60 63 6f 64 65 3e 20 69 73 20 61 20 6d 61 6e 79 2d 69 74 65 6d 20 70 6f 69 6e 74 65 72 2c 0a 20 20 code>.is.a.many-item.pointer,...
40f80 20 20 20 20 61 72 72 61 79 20 6f 72 20 73 6c 69 63 65 20 61 6e 64 20 3c 63 6f 64 65 3e 3c 73 70 ....array.or.slice.and.<code><sp
40fa0 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 78 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 20 an.class="line">x</span></code>.
40fc0 69 73 20 74 68 65 20 73 65 6e 74 69 6e 65 6c 20 76 61 6c 75 65 2e 0a 20 20 20 20 20 20 3c 2f 70 is.the.sentinel.value........</p
40fe0 3e 0a 20 20 20 20 20 20 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
41000 73 3d 22 7a 69 67 2d 63 61 70 22 3e 3c 63 69 74 65 20 63 6c 61 73 73 3d 22 66 69 6c 65 22 3e 6e s="zig-cap"><cite.class="file">n
41020 75 6c 6c 5f 74 65 72 6d 69 6e 61 74 65 64 5f 73 6c 69 63 69 6e 67 2e 7a 69 67 3c 2f 63 69 74 65 ull_terminated_slicing.zig</cite
41040 3e 3c 2f 66 69 67 63 61 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
41060 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 lass="line"><span.class="tok-kw"
41080 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=
410a0 22 74 6f 6b 2d 62 75 69 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
410c0 61 6e 20 63 6c 61 73 73 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
410e0 74 3b 3c 2f 73 70 61 6e 3e 29 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 t;</span>);</span>.<span.class="
41100 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 63 6f 6e 73 74 line"><span.class="tok-kw">const
41120 3c 2f 73 70 61 6e 3e 20 65 78 70 65 63 74 20 3d 20 73 74 64 2e 74 65 73 74 69 6e 67 2e 65 78 70 </span>.expect.=.std.testing.exp
41140 65 63 74 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c ect;</span>.<span.class="line"><
41160 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 /span>.<span.class="line"><span.
41180 63 6c 61 73 73 3d 22 74 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
411a0 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 73 74 72 22 3e 26 71 75 6f 74 3b 6e 75 6c 6c 20 74 65 72 6d .class="tok-str">&quot;null.term
411c0 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 3c 2f 73 inated.slicing&quot;</span>.{</s
411e0 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 3c 73 70 61 pan>.<span.class="line">....<spa
41200 6e 20 63 6c 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
41220 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
41240 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
41260 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
41280 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-
412a0 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
412c0 6f 6b 2d 6e 75 6d 62 65 72 22 3e 30 3c 2f 73 70 61 6e 3e 2c 20 3c 73 70 61 6e 20 63 6c 61 73 73 ok-number">0</span>,.<span.class
412e0 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
41300 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
41320 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 31 3c 2f 73 70 61 6e 3e 2c 20 3c 73 .class="tok-number">1</span>,.<s
41340 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 30 3c 2f 73 70 61 6e 3e 20 pan.class="tok-number">0</span>.
41360 7d 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 };</span>.<span.class="line">...
41380 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>
413a0 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 74 6f .runtime_length:.<span.class="to
413c0 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
413e0 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 33 3c 2f 73 70 61 6e 3e 3b 3c 2f 73 70 61 6e 3e ss="tok-number">3</span>;</span>
41400 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 3c 73 70 61 6e 20 63 6c .<span.class="line">....<span.cl
41420 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 63 6f 6e 73 74 3c 2f 73 70 61 6e 3e 20 73 6c 69 63 65 20 ass="tok-kw">const</span>.slice.
41440 3d 20 61 72 72 61 79 5b 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 =.array[<span.class="tok-number"
41460 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 3c 73 70 61 6e >0</span>..runtime_length.:<span
41480 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 30 3c 2f 73 70 61 6e 3e 5d 3b 3c 2f .class="tok-number">0</span>];</
414a0 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 2f 73 70 61 6e 3e span>.<span.class="line"></span>
414c0 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 3c 73 70 61 6e 20 63 6c .<span.class="line">....<span.cl
414e0 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 74 72 79 3c 2f 73 70 61 6e 3e 20 65 78 70 65 63 74 28 3c ass="tok-kw">try</span>.expect(<
41500 73 70 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
41520 3c 2f 73 70 61 6e 3e 28 73 6c 69 63 65 29 20 3d 3d 20 5b 3a 3c 73 70 61 6e 20 63 6c 61 73 73 3d </span>(slice).==.[:<span.class=
41540 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
41560 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 75 38 3c 2f 73 70 61 6e 3e 29 3b 3c 2f 73 70 61 6e 3e 0a s="tok-type">u8</span>);</span>.
41580 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 <span.class="line">....<span.cla
415a0 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 74 72 79 3c 2f 73 70 61 6e 3e 20 65 78 70 65 63 74 28 73 6c ss="tok-kw">try</span>.expect(sl
415c0 69 63 65 2e 6c 65 6e 20 3d 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 ice.len.==.<span.class="tok-numb
415e0 65 72 22 3e 33 3c 2f 73 70 61 6e 3e 29 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 er">3</span>);</span>.<span.clas
41600 73 3d 22 6c 69 6e 65 22 3e 7d 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 3c 2f 70 72 65 3e 3c 2f s="line">}</span></code></pre></
41620 66 69 67 75 72 65 3e 3c 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
41640 3d 22 73 68 65 6c 6c 2d 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><
41660 70 72 65 3e 3c 73 61 6d 70 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 24 20 3c pre><samp><span.class="line">$.<
41680 6b 62 64 3e 7a 69 67 20 74 65 73 74 20 6e 75 6c 6c 5f 74 65 72 6d 69 6e 61 74 65 64 5f 73 6c 69 kbd>zig.test.null_terminated_sli
416a0 63 69 6e 67 2e 7a 69 67 3c 2f 6b 62 64 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 cing.zig</kbd></span>.<span.clas
416c0 73 3d 22 6c 69 6e 65 22 3e 31 2f 31 20 74 65 73 74 2e 6e 75 6c 6c 20 74 65 72 6d 69 6e 61 74 65 s="line">1/1.test.null.terminate
416e0 64 20 73 6c 69 63 69 6e 67 2e 2e 2e 20 4f 4b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 d.slicing....OK</span>.<span.cla
41700 73 73 3d 22 6c 69 6e 65 22 3e 41 6c 6c 20 31 20 74 65 73 74 73 20 70 61 73 73 65 64 2e 3c 2f 73 ss="line">All.1.tests.passed.</s
41720 70 61 6e 3e 0a 3c 2f 73 61 6d 70 3e 3c 2f 70 72 65 3e 3c 2f 66 69 67 75 72 65 3e 0a 20 20 20 20 pan>.</samp></pre></figure>.....
41740 20 20 3c 70 3e 0a 20 20 20 20 20 20 53 65 6e 74 69 6e 65 6c 2d 74 65 72 6d 69 6e 61 74 65 64 20 ..<p>.......Sentinel-terminated.
41760 73 6c 69 63 69 6e 67 20 61 73 73 65 72 74 73 20 74 68 61 74 20 74 68 65 20 65 6c 65 6d 65 6e 74 slicing.asserts.that.the.element
41780 20 69 6e 20 74 68 65 20 73 65 6e 74 69 6e 65 6c 20 70 6f 73 69 74 69 6f 6e 20 6f 66 20 74 68 65 .in.the.sentinel.position.of.the
417a0 20 62 61 63 6b 69 6e 67 20 64 61 74 61 20 69 73 0a 20 20 20 20 20 20 61 63 74 75 61 6c 6c 79 20 .backing.data.is.......actually.
417c0 74 68 65 20 73 65 6e 74 69 6e 65 6c 20 76 61 6c 75 65 2e 20 49 66 20 74 68 69 73 20 69 73 20 6e the.sentinel.value..If.this.is.n
417e0 6f 74 20 74 68 65 20 63 61 73 65 2c 20 73 61 66 65 74 79 2d 70 72 6f 74 65 63 74 65 64 20 3c 61 ot.the.case,.safety-protected.<a
41800 20 68 72 65 66 3d 22 23 55 6e 64 65 66 69 6e 65 64 2d 42 65 68 61 76 69 6f 72 22 3e 55 6e 64 65 .href="#Undefined-Behavior">Unde
41820 66 69 6e 65 64 20 42 65 68 61 76 69 6f 72 3c 2f 61 3e 20 72 65 73 75 6c 74 73 2e 0a 20 20 20 20 fined.Behavior</a>.results......
41840 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
41860 20 63 6c 61 73 73 3d 22 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
41880 6c 65 22 3e 74 65 73 74 2e 7a 69 67 3c 2f 63 69 74 65 3e 3c 2f 66 69 67 63 61 70 74 69 6f 6e 3e le">test.zig</cite></figcaption>
418a0 3c 70 72 65 3e 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 <pre><code><span.class="line"><s
418c0 70 61 6e 20 63 6c 61 73 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>.
418e0 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">
41900 40 69 6d 70 6f 72 74 3c 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-
41920 73 74 72 22 3e 26 71 75 6f 74 3b 73 74 64 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 29 3b 3c 2f 73 str">&quot;std&quot;</span>);</s
41940 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c pan>.<span.class="line"><span.cl
41960 61 73 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
41980 20 3d 20 73 74 64 2e 74 65 73 74 69 6e 67 2e 65 78 70 65 63 74 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 .=.std.testing.expect;</span>.<s
419a0 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 pan.class="line"></span>.<span.c
419c0 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 lass="line"><span.class="tok-kw"
419e0 3e 74 65 73 74 3c 2f 73 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
41a00 72 22 3e 26 71 75 6f 74 3b 73 65 6e 74 69 6e 65 6c 20 6d 69 73 6d 61 74 63 68 26 71 75 6f 74 3b r">&quot;sentinel.mismatch&quot;
41a20 3c 2f 73 70 61 6e 3e 20 7b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 </span>.{</span>.<span.class="li
41a40 6e 65 22 3e 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 76 61 72 ne">....<span.class="tok-kw">var
41a60 3c 2f 73 70 61 6e 3e 20 61 72 72 61 79 20 3d 20 5b 5f 5d 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 </span>.array.=.[_]<span.class="
41a80 74 6f 6b 2d 74 79 70 65 22 3e 75 38 3c 2f 73 70 61 6e 3e 7b 20 3c 73 70 61 6e 20 63 6c 61 73 73 tok-type">u8</span>{.<span.class
41aa0 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
41ac0 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
41ae0 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 31 3c 2f 73 70 61 6e 3e 2c 20 3c 73 .class="tok-number">1</span>,.<s
41b00 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 30 3c 2f 73 70 61 6e 3e 20 pan.class="tok-number">0</span>.
41b20 7d 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 2f 73 };</span>.<span.class="line"></s
41b40 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 3c 73 70 61 pan>.<span.class="line">....<spa
41b60 6e 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
41b80 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
41ba0 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<
41bc0 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 /span></span>.<span.class="line"
41be0 3e 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 63 6f 6d 6d 65 6e 74 22 3e 2f >....<span.class="tok-comment">/
41c00 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 20 60 31 60 20 6f /.will.result.in.the.value.`1`.o
41c20 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 65 6e 74 20 70 6f ccupying.the.sentinel.element.po
41c40 73 69 74 69 6f 6e 2e 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 sition.</span></span>.<span.clas
41c60 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 63 6f s="line">....<span.class="tok-co
41c80 6d 6d 65 6e 74 22 3e 2f 2f 20 54 68 69 73 20 64 6f 65 73 20 6e 6f 74 20 6d 61 74 63 68 20 74 68 mment">//.This.does.not.match.th
41ca0 65 20 69 6e 64 69 63 61 74 65 64 20 73 65 6e 74 69 6e 65 6c 20 76 61 6c 75 65 20 6f 66 20 60 30 e.indicated.sentinel.value.of.`0
41cc0 60 20 61 6e 64 20 77 69 6c 6c 20 6c 65 61 64 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 `.and.will.lead</span></span>.<s
41ce0 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 pan.class="line">....<span.class
41d00 3d 22 74 6f 6b 2d 63 6f 6d 6d 65 6e 74 22 3e 2f 2f 20 74 6f 20 61 20 72 75 6e 74 69 6d 65 20 70 ="tok-comment">//.to.a.runtime.p
41d20 61 6e 69 63 2e 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d anic.</span></span>.<span.class=
41d40 22 6c 69 6e 65 22 3e 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e "line">....<span.class="tok-kw">
41d60 76 61 72 3c 2f 73 70 61 6e 3e 20 72 75 6e 74 69 6d 65 5f 6c 65 6e 67 74 68 3a 20 3c 73 70 61 6e var</span>.runtime_length:.<span
41d80 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>.=
41da0 20 3c 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
41dc0 6e 3e 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 n>;</span>.<span.class="line">..
41de0 20 20 3c 73 70 61 6e 20 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
41e00 61 6e 3e 20 73 6c 69 63 65 20 3d 20 61 72 72 61 79 5b 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 an>.slice.=.array[<span.class="t
41e20 6f 6b 2d 6e 75 6d 62 65 72 22 3e 30 3c 2f 73 70 61 6e 3e 2e 2e 72 75 6e 74 69 6d 65 5f 6c 65 6e ok-number">0</span>..runtime_len
41e40 67 74 68 20 3a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 30 3c gth.:<span.class="tok-number">0<
41e60 2f 73 70 61 6e 3e 5d 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e /span>];</span>.<span.class="lin
41e80 65 22 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 e"></span>.<span.class="line">..
41ea0 20 20 5f 20 3d 20 73 6c 69 63 65 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d .._.=.slice;</span>.<span.class=
41ec0 22 6c 69 6e 65 22 3e 7d 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 3c 2f 70 72 65 3e 3c 2f 66 69 "line">}</span></code></pre></fi
41ee0 67 75 72 65 3e 3c 66 69 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="
41f00 73 68 65 6c 6c 2d 63 61 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
41f20 65 3e 3c 73 61 6d 70 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 24 20 3c 6b 62 e><samp><span.class="line">$.<kb
41f40 64 3e 7a 69 67 20 74 65 73 74 20 74 65 73 74 2e 7a 69 67 3c 2f 6b 62 64 3e 3c 2f 73 70 61 6e 3e d>zig.test.test.zig</kbd></span>
41f60 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 31 2f 31 20 74 65 73 74 2e 73 65 6e .<span.class="line">1/1.test.sen
41f80 74 69 6e 65 6c 20 6d 69 73 6d 61 74 63 68 2e 2e 2e 20 74 68 72 65 61 64 20 33 35 36 37 38 30 34 tinel.mismatch....thread.3567804
41fa0 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
41fc0 74 65 64 20 30 2c 20 66 6f 75 6e 64 20 31 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 ted.0,.found.1</span>.<span.clas
41fe0 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 31 5f 30 22 3e 64 6f 63 67 s="line"><span.class="t1_0">docg
42000 65 6e 5f 74 6d 70 2f 74 65 73 74 2e 7a 69 67 3a 31 32 3a 32 34 3c 2f 73 70 61 6e 3e 3a 20 3c 73 en_tmp/test.zig:12:24</span>:.<s
42020 70 61 6e 20 63 6c 61 73 73 3d 22 74 32 5f 30 22 3e 30 78 32 31 31 36 30 34 20 69 6e 20 74 65 73 pan.class="t2_0">0x211604.in.tes
42040 74 2e 73 65 6e 74 69 6e 65 6c 20 6d 69 73 6d 61 74 63 68 20 28 74 65 73 74 29 3c 2f 73 70 61 6e t.sentinel.mismatch.(test)</span
42060 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 ></span>.<span.class="line">....
42080 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 5f 6c const.slice.=.array[0..runtime_l
420a0 65 6e 67 74 68 20 3a 30 5d 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c ength.:0];</span>.<span.class="l
420c0 69 6e 65 22 3e 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 3c 73 70 61 ine">.......................<spa
420e0 6e 20 63 6c 61 73 73 3d 22 74 33 32 5f 31 22 3e 5e 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 0a n.class="t32_1">^</span></span>.
42100 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 <span.class="line"><span.class="
42120 74 31 5f 30 22 3e 2f 68 6f 6d 65 2f 63 69 2f 72 65 6c 65 61 73 65 2d 30 2e 31 30 2e 31 2f 6f 75 t1_0">/home/ci/release-0.10.1/ou
42140 74 2f 7a 69 67 2d 78 38 36 5f 36 34 2d 6c 69 6e 75 78 2d 6d 75 73 6c 2d 62 61 73 65 6c 69 6e 65 t/zig-x86_64-linux-musl-baseline
42160 2f 6c 69 62 2f 7a 69 67 2f 74 65 73 74 5f 72 75 6e 6e 65 72 2e 7a 69 67 3a 36 33 3a 32 38 3c 2f /lib/zig/test_runner.zig:63:28</
42180 73 70 61 6e 3e 3a 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 32 5f 30 22 3e 30 78 32 31 32 66 span>:.<span.class="t2_0">0x212f
421a0 63 33 20 69 6e 20 6d 61 69 6e 20 28 74 65 73 74 29 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 0a c3.in.main.(test)</span></span>.
421c0 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 20 20 20 20 7d 20 65 6c 73 <span.class="line">........}.els
421e0 65 20 74 65 73 74 5f 66 6e 2e 66 75 6e 63 28 29 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 e.test_fn.func();</span>.<span.c
42200 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 lass="line">....................
42220 20 20 20 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 33 32 5f 31 22 3e 5e 3c 2f 73 70 .......<span.class="t32_1">^</sp
42240 61 6e 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 an></span>.<span.class="line"><s
42260 70 61 6e 20 63 6c 61 73 73 3d 22 74 31 5f 30 22 3e 2f 68 6f 6d 65 2f 63 69 2f 72 65 6c 65 61 73 pan.class="t1_0">/home/ci/releas
42280 65 2d 30 2e 31 30 2e 31 2f 6f 75 74 2f 7a 69 67 2d 78 38 36 5f 36 34 2d 6c 69 6e 75 78 2d 6d 75 e-0.10.1/out/zig-x86_64-linux-mu
422a0 73 6c 2d 62 61 73 65 6c 69 6e 65 2f 6c 69 62 2f 7a 69 67 2f 73 74 64 2f 73 74 61 72 74 2e 7a 69 sl-baseline/lib/zig/std/start.zi
422c0 67 3a 36 30 34 3a 32 32 3c 2f 73 70 61 6e 3e 3a 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 32 g:604:22</span>:.<span.class="t2
422e0 5f 30 22 3e 30 78 32 31 31 66 36 63 20 69 6e 20 70 6f 73 69 78 43 61 6c 6c 4d 61 69 6e 41 6e 64 _0">0x211f6c.in.posixCallMainAnd
42300 45 78 69 74 20 28 74 65 73 74 29 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 Exit.(test)</span></span>.<span.
42320 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 20 20 20 20 20 20 20 20 72 6f 6f 74 2e 6d 61 class="line">............root.ma
42340 69 6e 28 29 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e in();</span>.<span.class="line">
42360 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
42380 3d 22 74 33 32 5f 31 22 3e 5e 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 ="t32_1">^</span></span>.<span.c
423a0 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 31 5f 30 22 3e 2f lass="line"><span.class="t1_0">/
423c0 68 6f 6d 65 2f 63 69 2f 72 65 6c 65 61 73 65 2d 30 2e 31 30 2e 31 2f 6f 75 74 2f 7a 69 67 2d 78 home/ci/release-0.10.1/out/zig-x
423e0 38 36 5f 36 34 2d 6c 69 6e 75 78 2d 6d 75 73 6c 2d 62 61 73 65 6c 69 6e 65 2f 6c 69 62 2f 7a 69 86_64-linux-musl-baseline/lib/zi
42400 67 2f 73 74 64 2f 73 74 61 72 74 2e 7a 69 67 3a 33 37 36 3a 35 3c 2f 73 70 61 6e 3e 3a 20 3c 73 g/std/start.zig:376:5</span>:.<s
42420 70 61 6e 20 63 6c 61 73 73 3d 22 74 32 5f 30 22 3e 30 78 32 31 31 61 37 31 20 69 6e 20 5f 73 74 pan.class="t2_0">0x211a71.in._st
42440 61 72 74 20 28 74 65 73 74 29 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 art.(test)</span></span>.<span.c
42460 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 40 63 61 6c 6c 28 2e 7b 20 2e 6d 6f 64 69 66 69 lass="line">....@call(.{..modifi
42480 65 72 20 3d 20 2e 6e 65 76 65 72 5f 69 6e 6c 69 6e 65 20 7d 2c 20 70 6f 73 69 78 43 61 6c 6c 4d er.=..never_inline.},.posixCallM
424a0 61 69 6e 41 6e 64 45 78 69 74 2c 20 2e 7b 7d 29 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 ainAndExit,..{});</span>.<span.c
424c0 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 33 32 lass="line">....<span.class="t32
424e0 5f 31 22 3e 5e 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d _1">^</span></span>.<span.class=
42500 22 6c 69 6e 65 22 3e 65 72 72 6f 72 3a 20 74 68 65 20 66 6f 6c 6c 6f 77 69 6e 67 20 74 65 73 74 "line">error:.the.following.test
42520 20 63 6f 6d 6d 61 6e 64 20 63 72 61 73 68 65 64 3a 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 .command.crashed:</span>.<span.c
42540 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 2f 68 6f 6d 65 2f 63 69 2f 72 65 6c 65 61 73 65 2d 30 2e 31 lass="line">/home/ci/release-0.1
42560 30 2e 31 2f 6f 75 74 2f 7a 69 67 2d 6c 6f 63 61 6c 2d 63 61 63 68 65 2f 6f 2f 38 38 36 64 62 64 0.1/out/zig-local-cache/o/886dbd
42580 65 32 63 32 61 32 31 30 37 34 63 36 63 36 64 33 66 66 39 62 38 33 33 33 36 62 2f 74 65 73 74 3c e2c2a21074c6c6d3ff9b83336b/test<
425a0 2f 73 70 61 6e 3e 0a 3c 2f 73 61 6d 70 3e 3c 2f 70 72 65 3e 3c 2f 66 69 67 75 72 65 3e 0a 20 20 /span>.</samp></pre></figure>...
425c0 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.
425e0 68 72 65 66 3d 22 23 53 65 6e 74 69 6e 65 6c 2d 54 65 72 6d 69 6e 61 74 65 64 2d 50 6f 69 6e 74 href="#Sentinel-Terminated-Point
42600 65 72 73 22 3e 53 65 6e 74 69 6e 65 6c 2d 54 65 72 6d 69 6e 61 74 65 64 20 50 6f 69 6e 74 65 72 ers">Sentinel-Terminated.Pointer
42620 73 3c 2f 61 3e 3c 2f 6c 69 3e 0a 3c 6c 69 3e 3c 61 20 68 72 65 66 3d 22 23 53 65 6e 74 69 6e 65 s</a></li>.<li><a.href="#Sentine
42640 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 2d 54 65 l-Terminated-Arrays">Sentinel-Te
42660 72 6d 69 6e 61 74 65 64 20 41 72 72 61 79 73 3c 2f 61 3e 3c 2f 6c 69 3e 0a 3c 2f 75 6c 3e 0a 0a rminated.Arrays</a></li>.</ul>..
42680 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 74 72 .....................<h2.id="str
426a0 75 63 74 22 3e 3c 61 20 68 72 65 66 3d 22 23 74 6f 63 2d 73 74 72 75 63 74 22 3e 73 74 72 75 63 uct"><a.href="#toc-struct">struc
426c0 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 74 72 75 t</a>.<a.class="hdr".href="#stru
426e0 63 74 22 3e c2 a7 3c 2f 61 3e 3c 2f 68 32 3e 0a 0a 20 20 20 20 20 20 3c 66 69 67 75 72 65 3e 3c ct">..</a></h2>........<figure><
42700 66 69 67 63 61 70 74 69 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
42720 20 63 6c 61 73 73 3d 22 66 69 6c 65 22 3e 73 74 72 75 63 74 73 2e 7a 69 67 3c 2f 63 69 74 65 3e .class="file">structs.zig</cite>
42740 3c 2f 66 69 67 63 61 70 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
42760 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 63 6f 6d 6d ass="line"><span.class="tok-comm
42780 65 6e 74 22 3e 2f 2f 20 44 65 63 6c 61 72 65 20 61 20 73 74 72 75 63 74 2e 3c 2f 73 70 61 6e 3e ent">//.Declare.a.struct.</span>
427a0 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e </span>.<span.class="line"><span
427c0 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 63 6f 6d 6d 65 6e 74 22 3e 2f 2f 20 5a 69 67 20 67 69 76 65 .class="tok-comment">//.Zig.give
427e0 73 20 6e 6f 20 67 75 61 72 61 6e 74 65 65 73 20 61 62 6f 75 74 20 74 68 65 20 6f 72 64 65 72 20 s.no.guarantees.about.the.order.
42800 6f 66 20 66 69 65 6c 64 73 20 61 6e 64 20 74 68 65 20 73 69 7a 65 20 6f 66 3c 2f 73 70 61 6e 3e of.fields.and.the.size.of</span>
42820 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e </span>.<span.class="line"><span
42840 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 73 74 72 75 .class="tok-comment">//.the.stru
42860 63 74 20 62 75 74 20 74 68 65 20 66 69 65 6c 64 73 20 61 72 65 20 67 75 61 72 61 6e 74 65 65 64 ct.but.the.fields.are.guaranteed
42880 20 74 6f 20 62 65 20 41 42 49 2d 61 6c 69 67 6e 65 64 2e 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e .to.be.ABI-aligned.</span></span
428a0 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 >.<span.class="line"><span.class
428c0 3d 22 74 6f 6b 2d 6b 77 22 3e 63 6f 6e 73 74 3c 2f 73 70 61 6e 3e 20 50 6f 69 6e 74 20 3d 20 3c ="tok-kw">const</span>.Point.=.<
428e0 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
42900 3e 20 7b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 >.{</span>.<span.class="line">..
42920 20 20 78 3a 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 66 33 32 3c ..x:.<span.class="tok-type">f32<
42940 2f 73 70 61 6e 3e 2c 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 /span>,</span>.<span.class="line
42960 22 3e 20 20 20 20 79 3a 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e ">....y:.<span.class="tok-type">
42980 66 33 32 3c 2f 73 70 61 6e 3e 2c 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 f32</span>,</span>.<span.class="
429a0 6c 69 6e 65 22 3e 7d 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e line">};</span>.<span.class="lin
429c0 65 22 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 e"></span>.<span.class="line"><s
429e0 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 63 6f 6d 6d 65 6e 74 22 3e 2f 2f 20 4d 61 79 62 65 pan.class="tok-comment">//.Maybe
42a00 20 77 65 20 77 61 6e 74 20 74 6f 20 70 61 73 73 20 69 74 20 74 6f 20 4f 70 65 6e 47 4c 20 73 6f .we.want.to.pass.it.to.OpenGL.so
42a20 20 77 65 20 77 61 6e 74 20 74 6f 20 62 65 20 70 61 72 74 69 63 75 6c 61 72 20 61 62 6f 75 74 3c .we.want.to.be.particular.about<
42a40 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 /span></span>.<span.class="line"
42a60 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 68 6f ><span.class="tok-comment">//.ho
42a80 77 20 74 68 65 20 62 79 74 65 73 20 61 72 65 20 61 72 72 61 6e 67 65 64 2e 3c 2f 73 70 61 6e 3e w.the.bytes.are.arranged.</span>
42aa0 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e </span>.<span.class="line"><span
42ac0 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 63 6f 6e 73 74 3c 2f 73 70 61 6e 3e 20 50 6f 69 .class="tok-kw">const</span>.Poi
42ae0 6e 74 32 20 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 70 61 63 6b 65 nt2.=.<span.class="tok-kw">packe
42b00 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
42b20 72 75 63 74 3c 2f 73 70 61 6e 3e 20 7b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 ruct</span>.{</span>.<span.class
42b40 3d 22 6c 69 6e 65 22 3e 20 20 20 20 78 3a 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d ="line">....x:.<span.class="tok-
42b60 74 79 70 65 22 3e 66 33 32 3c 2f 73 70 61 6e 3e 2c 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 type">f32</span>,</span>.<span.c
42b80 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 79 3a 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 lass="line">....y:.<span.class="
42ba0 74 6f 6b 2d 74 79 70 65 22 3e 66 33 32 3c 2f 73 70 61 6e 3e 2c 3c 2f 73 70 61 6e 3e 0a 3c 73 70 tok-type">f32</span>,</span>.<sp
42bc0 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 7d 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 an.class="line">};</span>.<span.
42be0 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 class="line"></span>.<span.class
42c00 3d 22 6c 69 6e 65 22 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e ="line"></span>.<span.class="lin
42c20 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 63 6f 6d 6d 65 6e 74 22 3e 2f 2f 20 e"><span.class="tok-comment">//.
42c40 44 65 63 6c 61 72 65 20 61 6e 20 69 6e 73 74 61 6e 63 65 20 6f 66 20 61 20 73 74 72 75 63 74 2e Declare.an.instance.of.a.struct.
42c60 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 </span></span>.<span.class="line
42c80 22 3e 3c 73 70 61 6e 20 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
42ca0 61 6e 3e 20 70 20 3d 20 50 6f 69 6e 74 20 7b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 an>.p.=.Point.{</span>.<span.cla
42cc0 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 2e 78 20 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 ss="line">.....x.=.<span.class="
42ce0 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 30 2e 31 32 3c 2f 73 70 61 6e 3e 2c 3c 2f 73 70 61 6e 3e 0a tok-number">0.12</span>,</span>.
42d00 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 2e 79 20 3d 20 3c 73 70 61 <span.class="line">.....y.=.<spa
42d20 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 30 2e 33 34 3c 2f 73 70 61 6e 3e n.class="tok-number">0.34</span>
42d40 2c 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 7d 3b 3c 2f ,</span>.<span.class="line">};</
42d60 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 2f 73 70 61 6e 3e span>.<span.class="line"></span>
42d80 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d .<span.class="line"><span.class=
42da0 22 74 6f 6b 2d 63 6f 6d 6d 65 6e 74 22 3e 2f 2f 20 4d 61 79 62 65 20 77 65 27 72 65 20 6e 6f 74 "tok-comment">//.Maybe.we're.not
42dc0 20 72 65 61 64 79 20 74 6f 20 66 69 6c 6c 20 6f 75 74 20 73 6f 6d 65 20 6f 66 20 74 68 65 20 66 .ready.to.fill.out.some.of.the.f
42de0 69 65 6c 64 73 2e 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 ields.</span></span>.<span.class
42e00 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 76 61 72 ="line"><span.class="tok-kw">var
42e20 3c 2f 73 70 61 6e 3e 20 70 32 20 3d 20 50 6f 69 6e 74 20 7b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 </span>.p2.=.Point.{</span>.<spa
42e40 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 2e 78 20 3d 20 3c 73 70 61 6e 20 63 6c n.class="line">.....x.=.<span.cl
42e60 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 30 2e 31 32 3c 2f 73 70 61 6e 3e 2c 3c 2f 73 ass="tok-number">0.12</span>,</s
42e80 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 2e 79 20 3d pan>.<span.class="line">.....y.=
42ea0 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6c 6c 22 3e 75 6e 64 65 66 69 6e 65 .<span.class="tok-null">undefine
42ec0 64 3c 2f 73 70 61 6e 3e 2c 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 d</span>,</span>.<span.class="li
42ee0 6e 65 22 3e 7d 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 ne">};</span>.<span.class="line"
42f00 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 ></span>.<span.class="line"><spa
42f20 6e 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 73 n.class="tok-comment">//.Structs
42f40 20 63 61 6e 20 68 61 76 65 20 6d 65 74 68 6f 64 73 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 0a .can.have.methods</span></span>.
42f60 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 <span.class="line"><span.class="
42f80 74 6f 6b 2d 63 6f 6d 6d 65 6e 74 22 3e 2f 2f 20 53 74 72 75 63 74 20 6d 65 74 68 6f 64 73 20 61 tok-comment">//.Struct.methods.a
42fa0 72 65 20 6e 6f 74 20 73 70 65 63 69 61 6c 2c 20 74 68 65 79 20 61 72 65 20 6f 6e 6c 79 20 6e 61 re.not.special,.they.are.only.na
42fc0 6d 65 73 70 61 63 65 64 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 mespaced</span></span>.<span.cla
42fe0 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 63 6f 6d 6d 65 ss="line"><span.class="tok-comme
43000 6e 74 22 3e 2f 2f 20 66 75 6e 63 74 69 6f 6e 73 20 74 68 61 74 20 79 6f 75 20 63 61 6e 20 63 61 nt">//.functions.that.you.can.ca
43020 6c 6c 20 77 69 74 68 20 64 6f 74 20 73 79 6e 74 61 78 2e 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e ll.with.dot.syntax.</span></span
43040 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 >.<span.class="line"><span.class
43060 3d 22 74 6f 6b 2d 6b 77 22 3e 63 6f 6e 73 74 3c 2f 73 70 61 6e 3e 20 56 65 63 33 20 3d 20 3c 73 ="tok-kw">const</span>.Vec3.=.<s
43080 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>
430a0 20 7b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 .{</span>.<span.class="line">...
430c0 20 78 3a 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 66 33 32 3c 2f .x:.<span.class="tok-type">f32</
430e0 73 70 61 6e 3e 2c 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 span>,</span>.<span.class="line"
43100 3e 20 20 20 20 79 3a 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 66 >....y:.<span.class="tok-type">f
43120 33 32 3c 2f 73 70 61 6e 3e 2c 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 32</span>,</span>.<span.class="l
43140 69 6e 65 22 3e 20 20 20 20 7a 3a 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 ine">....z:.<span.class="tok-typ
43160 65 22 3e 66 33 32 3c 2f 73 70 61 6e 3e 2c 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 e">f32</span>,</span>.<span.clas
43180 73 3d 22 6c 69 6e 65 22 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 s="line"></span>.<span.class="li
431a0 6e 65 22 3e 20 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 ne">....<span.class="tok-kw">pub
431c0 3c 2f 73 70 61 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<
431e0 2f 73 70 61 6e 3e 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 66 6e 22 3e 69 6e 69 74 /span>.<span.class="tok-fn">init
43200 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 65 </span>(x:.<span.class="tok-type
43220 22 3e 66 33 32 3c 2f 73 70 61 6e 3e 2c 20 79 3a 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f ">f32</span>,.y:.<span.class="to
43240 6b 2d 74 79 70 65 22 3e 66 33 32 3c 2f 73 70 61 6e 3e 2c 20 7a 3a 20 3c 73 70 61 6e 20 63 6c 61 k-type">f32</span>,.z:.<span.cla
43260 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 66 33 32 3c 2f 73 70 61 6e 3e 29 20 56 65 63 33 20 7b ss="tok-type">f32</span>).Vec3.{
43280 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 20 </span>.<span.class="line">.....
432a0 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</
432c0 73 70 61 6e 3e 20 56 65 63 33 20 7b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d span>.Vec3.{</span>.<span.class=
432e0 22 6c 69 6e 65 22 3e 20 20 20 20 20 20 20 20 20 20 20 20 2e 78 20 3d 20 78 2c 3c 2f 73 70 61 6e "line">.............x.=.x,</span
43300 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 20 20 20 20 20 20 20 >.<span.class="line">...........
43320 20 2e 79 20 3d 20 79 2c 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e ..y.=.y,</span>.<span.class="lin
43340 65 22 3e 20 20 20 20 20 20 20 20 20 20 20 20 2e 7a 20 3d 20 7a 2c 3c 2f 73 70 61 6e 3e 0a 3c 73 e">.............z.=.z,</span>.<s
43360 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 20 20 20 20 7d 3b 3c 2f 73 70 61 pan.class="line">........};</spa
43380 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 7d 3c 2f 73 70 61 n>.<span.class="line">....}</spa
433a0 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 n>.<span.class="line"></span>.<s
433c0 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 pan.class="line">....<span.class
433e0 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
43400 3d 22 74 6f 6b 2d 6b 77 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=
43420 22 74 6f 6b 2d 66 6e 22 3e 64 6f 74 3c 2f 73 70 61 6e 3e 28 73 65 6c 66 3a 20 56 65 63 33 2c 20 "tok-fn">dot</span>(self:.Vec3,.
43440 6f 74 68 65 72 3a 20 56 65 63 33 29 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 other:.Vec3).<span.class="tok-ty
43460 70 65 22 3e 66 33 32 3c 2f 73 70 61 6e 3e 20 7b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c pe">f32</span>.{</span>.<span.cl
43480 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 ass="line">........<span.class="
434a0 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 78 20 2a 20 6f tok-kw">return</span>.self.x.*.o
434c0 74 68 65 72 2e 78 20 2b 20 73 65 6c 66 2e 79 20 2a 20 6f 74 68 65 72 2e 79 20 2b 20 73 65 6c 66 ther.x.+.self.y.*.other.y.+.self
434e0 2e 7a 20 2a 20 6f 74 68 65 72 2e 7a 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 .z.*.other.z;</span>.<span.class
43500 3d 22 6c 69 6e 65 22 3e 20 20 20 20 7d 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 ="line">....}</span>.<span.class
43520 3d 22 6c 69 6e 65 22 3e 7d 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c ="line">};</span>.<span.class="l
43540 69 6e 65 22 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e ine"></span>.<span.class="line">
43560 3c 73 70 61 6e 20 63 6c 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
43580 3e 20 65 78 70 65 63 74 20 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 62 75 69 6c >.expect.=.<span.class="tok-buil
435a0 74 69 6e 22 3e 40 69 6d 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=
435c0 22 74 6f 6b 2d 73 74 72 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>
435e0 29 2e 74 65 73 74 69 6e 67 2e 65 78 70 65 63 74 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 ).testing.expect;</span>.<span.c
43600 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 lass="line"><span.class="tok-kw"
43620 3e 74 65 73 74 3c 2f 73 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
43640 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 3b 3c 2f 73 70 61 6e r">&quot;dot.product&quot;</span
43660 3e 20 7b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 >.{</span>.<span.class="line">..
43680 20 20 3c 73 70 61 6e 20 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
436a0 61 6e 3e 20 76 31 20 3d 20 56 65 63 33 2e 69 6e 69 74 28 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 an>.v1.=.Vec3.init(<span.class="
436c0 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
436e0 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
43700 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 30 2e 30 3c 2f 73 70 61 6e 3e an.class="tok-number">0.0</span>
43720 29 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 );</span>.<span.class="line">...
43740 20 3c 73 70 61 6e 20 63 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
43760 6e 3e 20 76 32 20 3d 20 56 65 63 33 2e 69 6e 69 74 28 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 n>.v2.=.Vec3.init(<span.class="t
43780 6f 6b 2d 6e 75 6d 62 65 72 22 3e 30 2e 30 3c 2f 73 70 61 6e 3e 2c 20 3c 73 70 61 6e 20 63 6c 61 ok-number">0.0</span>,.<span.cla
437a0 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 31 2e 30 3c 2f 73 70 61 6e 3e 2c 20 3c 73 70 61 ss="tok-number">1.0</span>,.<spa
437c0 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 30 2e 30 3c 2f 73 70 61 6e 3e 29 n.class="tok-number">0.0</span>)
437e0 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 ;</span>.<span.class="line">....
43800 3c 73 70 61 6e 20 63 6c 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>.
43820 65 78 70 65 63 74 28 76 31 2e 64 6f 74 28 76 32 29 20 3d 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 expect(v1.dot(v2).==.<span.class
43840 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 30 2e 30 3c 2f 73 70 61 6e 3e 29 3b 3c 2f 73 70 61 6e ="tok-number">0.0</span>);</span
43860 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 >.<span.class="line"></span>.<sp
43880 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d an.class="line">....<span.class=
438a0 22 74 6f 6b 2d 63 6f 6d 6d 65 6e 74 22 3e 2f 2f 20 4f 74 68 65 72 20 74 68 61 6e 20 62 65 69 6e "tok-comment">//.Other.than.bein
438c0 67 20 61 76 61 69 6c 61 62 6c 65 20 74 6f 20 63 61 6c 6c 20 77 69 74 68 20 64 6f 74 20 73 79 6e g.available.to.call.with.dot.syn
438e0 74 61 78 2c 20 73 74 72 75 63 74 20 6d 65 74 68 6f 64 73 20 61 72 65 3c 2f 73 70 61 6e 3e 3c 2f tax,.struct.methods.are</span></
43900 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 3c 73 70 span>.<span.class="line">....<sp
43920 61 6e 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 74 20 73 70 an.class="tok-comment">//.not.sp
43940 65 63 69 61 6c 2e 20 59 6f 75 20 63 61 6e 20 72 65 66 65 72 65 6e 63 65 20 74 68 65 6d 20 61 73 ecial..You.can.reference.them.as
43960 20 61 6e 79 20 6f 74 68 65 72 20 64 65 63 6c 61 72 61 74 69 6f 6e 20 69 6e 73 69 64 65 3c 2f 73 .any.other.declaration.inside</s
43980 70 61 6e 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 pan></span>.<span.class="line">.
439a0 20 20 20 3c 73 70 61 6e 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">//.
439c0 74 68 65 20 73 74 72 75 63 74 3a 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 the.struct:</span></span>.<span.
439e0 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f class="line">....<span.class="to
43a00 6b 2d 6b 77 22 3e 74 72 79 3c 2f 73 70 61 6e 3e 20 65 78 70 65 63 74 28 56 65 63 33 2e 64 6f 74 k-kw">try</span>.expect(Vec3.dot
43a20 28 76 31 2c 20 76 32 29 20 3d 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d (v1,.v2).==.<span.class="tok-num
43a40 62 65 72 22 3e 30 2e 30 3c 2f 73 70 61 6e 3e 29 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 ber">0.0</span>);</span>.<span.c
43a60 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 7d 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 lass="line">}</span>.<span.class
43a80 3d 22 6c 69 6e 65 22 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e ="line"></span>.<span.class="lin
43aa0 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 63 6f 6d 6d 65 6e 74 22 3e 2f 2f 20 e"><span.class="tok-comment">//.
43ac0 53 74 72 75 63 74 73 20 63 61 6e 20 68 61 76 65 20 64 65 63 6c 61 72 61 74 69 6f 6e 73 2e 3c 2f Structs.can.have.declarations.</
43ae0 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e span></span>.<span.class="line">
43b00 3c 73 70 61 6e 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 <span.class="tok-comment">//.Str
43b20 75 63 74 73 20 63 61 6e 20 68 61 76 65 20 30 20 66 69 65 6c 64 73 2e 3c 2f 73 70 61 6e 3e 3c 2f ucts.can.have.0.fields.</span></
43b40 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 span>.<span.class="line"><span.c
43b60 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 63 6f 6e 73 74 3c 2f 73 70 61 6e 3e 20 45 6d 70 74 79 lass="tok-kw">const</span>.Empty
43b80 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</
43ba0 73 70 61 6e 3e 20 7b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 span>.{</span>.<span.class="line
43bc0 22 3e 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 70 75 62 3c 2f ">....<span.class="tok-kw">pub</
43be0 73 70 61 6e 3e 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 63 6f 6e 73 74 span>.<span.class="tok-kw">const
43c00 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 75 </span>.PI.=.<span.class="tok-nu
43c20 6d 62 65 72 22 3e 33 2e 31 34 3c 2f 73 70 61 6e 3e 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 mber">3.14</span>;</span>.<span.
43c40 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 7d 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 class="line">};</span>.<span.cla
43c60 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 74 ss="line"><span.class="tok-kw">t
43c80 65 73 74 3c 2f 73 70 61 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"
43ca0 3e 26 71 75 6f 74 3b 73 74 72 75 63 74 20 6e 61 6d 65 73 70 61 63 65 64 20 76 61 72 69 61 62 6c >&quot;struct.namespaced.variabl
43cc0 65 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 20 7b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c e&quot;</span>.{</span>.<span.cl
43ce0 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d ass="line">....<span.class="tok-
43d00 6b 77 22 3e 74 72 79 3c 2f 73 70 61 6e 3e 20 65 78 70 65 63 74 28 45 6d 70 74 79 2e 50 49 20 3d kw">try</span>.expect(Empty.PI.=
43d20 3d 20 3c 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<
43d40 2f 73 70 61 6e 3e 29 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e /span>);</span>.<span.class="lin
43d60 65 22 3e 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 74 72 79 3c e">....<span.class="tok-kw">try<
43d80 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
43da0 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 29 20 3d 3d uiltin">@sizeOf</span>(Empty).==
43dc0 20 3c 73 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
43de0 6e 3e 29 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c n>);</span>.<span.class="line"><
43e00 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 3c 73 /span>.<span.class="line">....<s
43e20 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 63 6f 6d 6d 65 6e 74 22 3e 2f 2f 20 79 6f 75 20 63 pan.class="tok-comment">//.you.c
43e40 61 6e 20 73 74 69 6c 6c 20 69 6e 73 74 61 6e 74 69 61 74 65 20 61 6e 20 65 6d 70 74 79 20 73 74 an.still.instantiate.an.empty.st
43e60 72 75 63 74 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 ruct</span></span>.<span.class="
43e80 6c 69 6e 65 22 3e 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 63 line">....<span.class="tok-kw">c
43ea0 6f 6e 73 74 3c 2f 73 70 61 6e 3e 20 64 6f 65 73 5f 6e 6f 74 68 69 6e 67 20 3d 20 45 6d 70 74 79 onst</span>.does_nothing.=.Empty
43ec0 20 7b 7d 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c .{};</span>.<span.class="line"><
43ee0 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 5f 20 /span>.<span.class="line">...._.
43f00 3d 20 64 6f 65 73 5f 6e 6f 74 68 69 6e 67 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 =.does_nothing;</span>.<span.cla
43f20 73 73 3d 22 6c 69 6e 65 22 3e 7d 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 ss="line">}</span>.<span.class="
43f40 6c 69 6e 65 22 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 line"></span>.<span.class="line"
43f60 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 73 74 ><span.class="tok-comment">//.st
43f80 72 75 63 74 20 66 69 65 6c 64 20 6f 72 64 65 72 20 69 73 20 64 65 74 65 72 6d 69 6e 65 64 20 62 ruct.field.order.is.determined.b
43fa0 79 20 74 68 65 20 63 6f 6d 70 69 6c 65 72 20 66 6f 72 20 6f 70 74 69 6d 61 6c 20 70 65 72 66 6f y.the.compiler.for.optimal.perfo
43fc0 72 6d 61 6e 63 65 2e 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 rmance.</span></span>.<span.clas
43fe0 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 63 6f 6d 6d 65 6e s="line"><span.class="tok-commen
44000 74 22 3e 2f 2f 20 68 6f 77 65 76 65 72 2c 20 79 6f 75 20 63 61 6e 20 73 74 69 6c 6c 20 63 61 6c t">//.however,.you.can.still.cal
44020 63 75 6c 61 74 65 20 61 20 73 74 72 75 63 74 20 62 61 73 65 20 70 6f 69 6e 74 65 72 20 67 69 76 culate.a.struct.base.pointer.giv
44040 65 6e 20 61 20 66 69 65 6c 64 20 70 6f 69 6e 74 65 72 3a 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e en.a.field.pointer:</span></span
44060 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 >.<span.class="line"><span.class
44080 3d 22 74 6f 6b 2d 6b 77 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=
440a0 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:.
440c0 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
440e0 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
44100 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"
44120 3e 76 6f 69 64 3c 2f 73 70 61 6e 3e 20 7b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 >void</span>.{</span>.<span.clas
44140 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 s="line">....<span.class="tok-kw
44160 22 3e 63 6f 6e 73 74 3c 2f 73 70 61 6e 3e 20 70 6f 69 6e 74 20 3d 20 3c 73 70 61 6e 20 63 6c 61 ">const</span>.point.=.<span.cla
44180 73 73 3d 22 74 6f 6b 2d 62 75 69 6c 74 69 6e 22 3e 40 66 69 65 6c 64 50 61 72 65 6e 74 50 74 72 ss="tok-builtin">@fieldParentPtr
441a0 3c 2f 73 70 61 6e 3e 28 50 6f 69 6e 74 2c 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d </span>(Point,.<span.class="tok-
441c0 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 2c 20 78 29 3b 3c 2f str">&quot;x&quot;</span>,.x);</
441e0 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 70 6f 69 span>.<span.class="line">....poi
44200 6e 74 2e 79 20 3d 20 79 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 nt.y.=.y;</span>.<span.class="li
44220 6e 65 22 3e 7d 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e ne">}</span>.<span.class="line">
44240 3c 73 70 61 6e 20 63 6c 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>
44260 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 73 74 72 22 3e 26 71 75 6f 74 3b 66 69 65 .<span.class="tok-str">&quot;fie
44280 6c 64 20 70 61 72 65 6e 74 20 70 6f 69 6e 74 65 72 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 20 7b ld.parent.pointer&quot;</span>.{
442a0 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 3c </span>.<span.class="line">....<
442c0 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 76 61 72 3c 2f 73 70 61 6e 3e 20 70 span.class="tok-kw">var</span>.p
442e0 6f 69 6e 74 20 3d 20 50 6f 69 6e 74 20 7b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 oint.=.Point.{</span>.<span.clas
44300 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 20 20 20 20 2e 78 20 3d 20 3c 73 70 61 6e 20 63 6c 61 73 s="line">.........x.=.<span.clas
44320 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 2c 3c 2f 73 s="tok-number">0.1234</span>,</s
44340 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 20 20 20 20 pan>.<span.class="line">........
44360 2e 79 20 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 30 2e .y.=.<span.class="tok-number">0.
44380 35 36 37 38 3c 2f 73 70 61 6e 3e 2c 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 5678</span>,</span>.<span.class=
443a0 22 6c 69 6e 65 22 3e 20 20 20 20 7d 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 "line">....};</span>.<span.class
443c0 3d 22 6c 69 6e 65 22 3e 20 20 20 20 73 65 74 59 42 61 73 65 64 4f 6e 58 28 26 61 6d 70 3b 70 6f ="line">....setYBasedOnX(&amp;po
443e0 69 6e 74 2e 78 2c 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e int.x,.<span.class="tok-number">
44400 30 2e 39 3c 2f 73 70 61 6e 3e 29 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 0.9</span>);</span>.<span.class=
44420 22 6c 69 6e 65 22 3e 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e "line">....<span.class="tok-kw">
44440 74 72 79 3c 2f 73 70 61 6e 3e 20 65 78 70 65 63 74 28 70 6f 69 6e 74 2e 79 20 3d 3d 20 3c 73 70 try</span>.expect(point.y.==.<sp
44460 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>
44480 29 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 7d 3c 2f );</span>.<span.class="line">}</
444a0 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 2f 73 70 61 6e 3e span>.<span.class="line"></span>
444c0 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d .<span.class="line"><span.class=
444e0 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 72 65 74 75 72 6e 20 "tok-comment">//.You.can.return.
44500 61 20 73 74 72 75 63 74 20 66 72 6f 6d 20 61 20 66 75 6e 63 74 69 6f 6e 2e 20 54 68 69 73 20 69 a.struct.from.a.function..This.i
44520 73 20 68 6f 77 20 77 65 20 64 6f 20 67 65 6e 65 72 69 63 73 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 s.how.we.do.generics</span></spa
44540 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 n>.<span.class="line"><span.clas
44560 73 3d 22 74 6f 6b 2d 63 6f 6d 6d 65 6e 74 22 3e 2f 2f 20 69 6e 20 5a 69 67 3a 3c 2f 73 70 61 6e s="tok-comment">//.in.Zig:</span
44580 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 ></span>.<span.class="line"><spa
445a0 6e 20 63 6c 61 73 73 3d 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
445c0 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 66 6e 22 3e 4c 69 6e 6b 65 64 4c 69 73 74 3c 2f 73 70 61 6e .class="tok-fn">LinkedList</span
445e0 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<
44600 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"
44620 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
44640 79 70 65 22 3e 74 79 70 65 3c 2f 73 70 61 6e 3e 20 7b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 ype">type</span>.{</span>.<span.
44660 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f class="line">....<span.class="to
44680 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=
446a0 22 74 6f 6b 2d 6b 77 22 3e 73 74 72 75 63 74 3c 2f 73 70 61 6e 3e 20 7b 3c 2f 73 70 61 6e 3e 0a "tok-kw">struct</span>.{</span>.
446c0 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 20 20 20 20 3c 73 70 61 6e <span.class="line">........<span
446e0 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
44700 20 63 6c 61 73 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 64 .class="tok-kw">const</span>.Nod
44720 65 20 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 73 74 72 75 63 74 3c e.=.<span.class="tok-kw">struct<
44740 2f 73 70 61 6e 3e 20 7b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e /span>.{</span>.<span.class="lin
44760 65 22 3e 20 20 20 20 20 20 20 20 20 20 20 20 70 72 65 76 3a 20 3f 2a 4e 6f 64 65 2c 3c 2f 73 70 e">............prev:.?*Node,</sp
44780 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 20 20 20 20 20 an>.<span.class="line">.........
447a0 20 20 20 6e 65 78 74 3a 20 3f 2a 4e 6f 64 65 2c 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c ...next:.?*Node,</span>.<span.cl
447c0 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 20 20 20 20 20 20 20 20 64 61 74 61 3a 20 54 2c 3c ass="line">............data:.T,<
447e0 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 20 20 /span>.<span.class="line">......
44800 20 20 7d 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c ..};</span>.<span.class="line"><
44820 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 20 20 /span>.<span.class="line">......
44840 20 20 66 69 72 73 74 3a 20 3f 2a 4e 6f 64 65 2c 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c ..first:.?*Node,</span>.<span.cl
44860 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 20 20 20 20 6c 61 73 74 3a 20 20 3f 2a 4e 6f 64 65 ass="line">........last:..?*Node
44880 2c 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 ,</span>.<span.class="line">....
448a0 20 20 20 20 6c 65 6e 3a 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 ....len:...<span.class="tok-type
448c0 22 3e 75 73 69 7a 65 3c 2f 73 70 61 6e 3e 2c 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 ">usize</span>,</span>.<span.cla
448e0 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 7d 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c ss="line">....};</span>.<span.cl
44900 61 73 73 3d 22 6c 69 6e 65 22 3e 7d 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d ass="line">}</span>.<span.class=
44920 22 6c 69 6e 65 22 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 "line"></span>.<span.class="line
44940 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 74 65 73 74 3c 2f 73 70 61 "><span.class="tok-kw">test</spa
44960 6e 3e 20 3c 73 70 61 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 n>.<span.class="tok-str">&quot;l
44980 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 3c 2f 73 70 61 6e 3e inked.list&quot;</span>.{</span>
449a0 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 3c 73 70 61 6e 20 63 6c .<span.class="line">....<span.cl
449c0 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 63 ass="tok-comment">//.Functions.c
449e0 61 6c 6c 65 64 20 61 74 20 63 6f 6d 70 69 6c 65 2d 74 69 6d 65 20 61 72 65 20 6d 65 6d 6f 69 7a alled.at.compile-time.are.memoiz
44a00 65 64 2e 20 54 68 69 73 20 6d 65 61 6e 73 20 79 6f 75 20 63 61 6e 3c 2f 73 70 61 6e 3e 3c 2f 73 ed..This.means.you.can</span></s
44a20 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 3c 73 70 61 pan>.<span.class="line">....<spa
44a40 6e 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 74 68 69 73 n.class="tok-comment">//.do.this
44a60 3a 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e :</span></span>.<span.class="lin
44a80 65 22 3e 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 74 72 79 3c e">....<span.class="tok-kw">try<
44aa0 2f 73 70 61 6e 3e 20 65 78 70 65 63 74 28 4c 69 6e 6b 65 64 4c 69 73 74 28 3c 73 70 61 6e 20 63 /span>.expect(LinkedList(<span.c
44ac0 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 69 33 32 3c 2f 73 70 61 6e 3e 29 20 3d 3d 20 4c lass="tok-type">i32</span>).==.L
44ae0 69 6e 6b 65 64 4c 69 73 74 28 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 inkedList(<span.class="tok-type"
44b00 3e 69 33 32 3c 2f 73 70 61 6e 3e 29 29 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 >i32</span>));</span>.<span.clas
44b20 73 3d 22 6c 69 6e 65 22 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 s="line"></span>.<span.class="li
44b40 6e 65 22 3e 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 76 61 72 ne">....<span.class="tok-kw">var
44b60 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 73 70 61 6e 20 </span>.list.=.LinkedList(<span.
44b80 63 6c 61 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 7b 3c 2f class="tok-type">i32</span>).{</
44ba0 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 20 20 20 span>.<span.class="line">.......
44bc0 20 2e 66 69 72 73 74 20 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6c 6c 22 ..first.=.<span.class="tok-null"
44be0 3e 6e 75 6c 6c 3c 2f 73 70 61 6e 3e 2c 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 >null</span>,</span>.<span.class
44c00 3d 22 6c 69 6e 65 22 3e 20 20 20 20 20 20 20 20 2e 6c 61 73 74 20 3d 20 3c 73 70 61 6e 20 63 6c ="line">.........last.=.<span.cl
44c20 61 73 73 3d 22 74 6f 6b 2d 6e 75 6c 6c 22 3e 6e 75 6c 6c 3c 2f 73 70 61 6e 3e 2c 3c 2f 73 70 61 ass="tok-null">null</span>,</spa
44c40 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 20 20 20 20 2e 6c n>.<span.class="line">.........l
44c60 65 6e 20 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 30 3c en.=.<span.class="tok-number">0<
44c80 2f 73 70 61 6e 3e 2c 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 /span>,</span>.<span.class="line
44ca0 22 3e 20 20 20 20 7d 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e ">....};</span>.<span.class="lin
44cc0 65 22 3e 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 74 72 79 3c e">....<span.class="tok-kw">try<
44ce0 2f 73 70 61 6e 3e 20 65 78 70 65 63 74 28 6c 69 73 74 2e 6c 65 6e 20 3d 3d 20 3c 73 70 61 6e 20 /span>.expect(list.len.==.<span.
44d00 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 30 3c 2f 73 70 61 6e 3e 29 3b 3c 2f 73 class="tok-number">0</span>);</s
44d20 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 2f 73 70 61 6e 3e 0a pan>.<span.class="line"></span>.
44d40 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 <span.class="line">....<span.cla
44d60 73 73 3d 22 74 6f 6b 2d 63 6f 6d 6d 65 6e 74 22 3e 2f 2f 20 53 69 6e 63 65 20 74 79 70 65 73 20 ss="tok-comment">//.Since.types.
44d80 61 72 65 20 66 69 72 73 74 20 63 6c 61 73 73 20 76 61 6c 75 65 73 20 79 6f 75 20 63 61 6e 20 69 are.first.class.values.you.can.i
44da0 6e 73 74 61 6e 74 69 61 74 65 20 74 68 65 20 74 79 70 65 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e nstantiate.the.type</span></span
44dc0 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 3c 73 70 61 6e 20 63 >.<span.class="line">....<span.c
44de0 6c 61 73 73 3d 22 74 6f 6b 2d 63 6f 6d 6d 65 6e 74 22 3e 2f 2f 20 62 79 20 61 73 73 69 67 6e 69 lass="tok-comment">//.by.assigni
44e00 6e 67 20 69 74 20 74 6f 20 61 20 76 61 72 69 61 62 6c 65 3a 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 ng.it.to.a.variable:</span></spa
44e20 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 3c 73 70 61 6e 20 n>.<span.class="line">....<span.
44e40 63 6c 61 73 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 class="tok-kw">const</span>.List
44e60 4f 66 49 6e 74 73 20 3d 20 4c 69 6e 6b 65 64 4c 69 73 74 28 3c 73 70 61 6e 20 63 6c 61 73 73 3d OfInts.=.LinkedList(<span.class=
44e80 22 74 6f 6b 2d 74 79 70 65 22 3e 69 33 32 3c 2f 73 70 61 6e 3e 29 3b 3c 2f 73 70 61 6e 3e 0a 3c "tok-type">i32</span>);</span>.<
44ea0 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 span.class="line">....<span.clas
44ec0 73 3d 22 74 6f 6b 2d 6b 77 22 3e 74 72 79 3c 2f 73 70 61 6e 3e 20 65 78 70 65 63 74 28 4c 69 73 s="tok-kw">try</span>.expect(Lis
44ee0 74 4f 66 49 6e 74 73 20 3d 3d 20 4c 69 6e 6b 65 64 4c 69 73 74 28 3c 73 70 61 6e 20 63 6c 61 73 tOfInts.==.LinkedList(<span.clas
44f00 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 69 33 32 3c 2f 73 70 61 6e 3e 29 29 3b 3c 2f 73 70 61 6e s="tok-type">i32</span>));</span
44f20 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 >.<span.class="line"></span>.<sp
44f40 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d an.class="line">....<span.class=
44f60 22 74 6f 6b 2d 6b 77 22 3e 76 61 72 3c 2f 73 70 61 6e 3e 20 6e 6f 64 65 20 3d 20 4c 69 73 74 4f "tok-kw">var</span>.node.=.ListO
44f80 66 49 6e 74 73 2e 4e 6f 64 65 20 7b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d fInts.Node.{</span>.<span.class=
44fa0 22 6c 69 6e 65 22 3e 20 20 20 20 20 20 20 20 2e 70 72 65 76 20 3d 20 3c 73 70 61 6e 20 63 6c 61 "line">.........prev.=.<span.cla
44fc0 73 73 3d 22 74 6f 6b 2d 6e 75 6c 6c 22 3e 6e 75 6c 6c 3c 2f 73 70 61 6e 3e 2c 3c 2f 73 70 61 6e ss="tok-null">null</span>,</span
44fe0 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 20 20 20 20 2e 6e 65 >.<span.class="line">.........ne
45000 78 74 20 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6c 6c 22 3e 6e 75 6c 6c xt.=.<span.class="tok-null">null
45020 3c 2f 73 70 61 6e 3e 2c 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e </span>,</span>.<span.class="lin
45040 65 22 3e 20 20 20 20 20 20 20 20 2e 64 61 74 61 20 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 e">.........data.=.<span.class="
45060 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 31 32 33 34 3c 2f 73 70 61 6e 3e 2c 3c 2f 73 70 61 6e 3e 0a tok-number">1234</span>,</span>.
45080 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 7d 3b 3c 2f 73 70 61 6e 3e <span.class="line">....};</span>
450a0 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 3c 73 70 61 6e 20 63 6c .<span.class="line">....<span.cl
450c0 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 76 61 72 3c 2f 73 70 61 6e 3e 20 6c 69 73 74 32 20 3d 20 ass="tok-kw">var</span>.list2.=.
450e0 4c 69 6e 6b 65 64 4c 69 73 74 28 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 LinkedList(<span.class="tok-type
45100 22 3e 69 33 32 3c 2f 73 70 61 6e 3e 29 20 7b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 ">i32</span>).{</span>.<span.cla
45120 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 20 20 20 20 2e 66 69 72 73 74 20 3d 20 26 61 6d 70 3b ss="line">.........first.=.&amp;
45140 6e 6f 64 65 2c 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e node,</span>.<span.class="line">
45160 20 20 20 20 20 20 20 20 2e 6c 61 73 74 20 3d 20 26 61 6d 70 3b 6e 6f 64 65 2c 3c 2f 73 70 61 6e .........last.=.&amp;node,</span
45180 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 20 20 20 20 2e 6c 65 >.<span.class="line">.........le
451a0 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 3c 2f n.=.<span.class="tok-number">1</
451c0 73 70 61 6e 3e 2c 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 span>,</span>.<span.class="line"
451e0 3e 20 20 20 20 7d 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 >....};</span>.<span.class="line
45200 22 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 "></span>.<span.class="line">...
45220 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 63 6f 6d 6d 65 6e 74 22 3e 2f 2f 20 57 68 .<span.class="tok-comment">//.Wh
45240 65 6e 20 75 73 69 6e 67 20 61 20 70 6f 69 6e 74 65 72 20 74 6f 20 61 20 73 74 72 75 63 74 2c 20 en.using.a.pointer.to.a.struct,.
45260 66 69 65 6c 64 73 20 63 61 6e 20 62 65 20 61 63 63 65 73 73 65 64 20 64 69 72 65 63 74 6c 79 2c fields.can.be.accessed.directly,
45280 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 </span></span>.<span.class="line
452a0 22 3e 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 63 6f 6d 6d 65 6e 74 22 3e ">....<span.class="tok-comment">
452c0 2f 2f 20 77 69 74 68 6f 75 74 20 65 78 70 6c 69 63 69 74 6c 79 20 64 65 72 65 66 65 72 65 6e 63 //.without.explicitly.dereferenc
452e0 69 6e 67 20 74 68 65 20 70 6f 69 6e 74 65 72 2e 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 0a 3c ing.the.pointer.</span></span>.<
45300 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 span.class="line">....<span.clas
45320 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
45340 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 </span></span>.<span.class="line
45360 22 3e 20 20 20 20 3c 73 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</
45380 73 70 61 6e 3e 20 65 78 70 65 63 74 28 6c 69 73 74 32 2e 66 69 72 73 74 2e 3f 2e 64 61 74 61 20 span>.expect(list2.first.?.data.
453a0 3d 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 31 32 33 34 ==.<span.class="tok-number">1234
453c0 3c 2f 73 70 61 6e 3e 29 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 </span>);</span>.<span.class="li
453e0 6e 65 22 3e 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 63 6f 6d 6d 65 6e 74 ne">....<span.class="tok-comment
45400 22 3e 2f 2f 20 69 6e 73 74 65 61 64 20 6f 66 20 74 72 79 20 65 78 70 65 63 74 28 6c 69 73 74 32 ">//.instead.of.try.expect(list2
45420 2e 66 69 72 73 74 2e 3f 2e 2a 2e 64 61 74 61 20 3d 3d 20 31 32 33 34 29 3b 3c 2f 73 70 61 6e 3e .first.?.*.data.==.1234);</span>
45440 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 7d 3c 2f 73 70 </span>.<span.class="line">}</sp
45460 61 6e 3e 3c 2f 63 6f 64 65 3e 3c 2f 70 72 65 3e 3c 2f 66 69 67 75 72 65 3e 3c 66 69 67 75 72 65 an></code></pre></figure><figure
45480 3e 3c 66 69 67 63 61 70 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
454a0 68 65 6c 6c 3c 2f 66 69 67 63 61 70 74 69 6f 6e 3e 3c 70 72 65 3e 3c 73 61 6d 70 3e 3c 73 70 61 hell</figcaption><pre><samp><spa
454c0 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 24 20 3c 6b 62 64 3e 7a 69 67 20 74 65 73 74 20 73 n.class="line">$.<kbd>zig.test.s
454e0 74 72 75 63 74 73 2e 7a 69 67 3c 2f 6b 62 64 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c tructs.zig</kbd></span>.<span.cl
45500 61 73 73 3d 22 6c 69 6e 65 22 3e 31 2f 34 20 74 65 73 74 2e 64 6f 74 20 70 72 6f 64 75 63 74 2e ass="line">1/4.test.dot.product.
45520 2e 2e 20 4f 4b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e ...OK</span>.<span.class="line">
45540 32 2f 34 20 74 65 73 74 2e 73 74 72 75 63 74 20 6e 61 6d 65 73 70 61 63 65 64 20 76 61 72 69 61 2/4.test.struct.namespaced.varia
45560 62 6c 65 2e 2e 2e 20 4f 4b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 ble....OK</span>.<span.class="li
45580 6e 65 22 3e 33 2f 34 20 74 65 73 74 2e 66 69 65 6c 64 20 70 61 72 65 6e 74 20 70 6f 69 6e 74 65 ne">3/4.test.field.parent.pointe
455a0 72 2e 2e 2e 20 4f 4b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 r....OK</span>.<span.class="line
455c0 22 3e 34 2f 34 20 74 65 73 74 2e 6c 69 6e 6b 65 64 20 6c 69 73 74 2e 2e 2e 20 4f 4b 3c 2f 73 70 ">4/4.test.linked.list....OK</sp
455e0 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 41 6c 6c 20 34 20 74 65 73 an>.<span.class="line">All.4.tes
45600 74 73 20 70 61 73 73 65 64 2e 3c 2f 73 70 61 6e 3e 0a 3c 2f 73 61 6d 70 3e 3c 2f 70 72 65 3e 3c ts.passed.</span>.</samp></pre><
45620 2f 66 69 67 75 72 65 3e 0a 0a 20 20 20 20 20 20 3c 68 33 20 69 64 3d 22 44 65 66 61 75 6c 74 2d /figure>........<h3.id="Default-
45640 46 69 65 6c 64 2d 56 61 6c 75 65 73 22 3e 3c 61 20 68 72 65 66 3d 22 23 74 6f 63 2d 44 65 66 61 Field-Values"><a.href="#toc-Defa
45660 75 6c 74 2d 46 69 65 6c 64 2d 56 61 6c 75 65 73 22 3e 44 65 66 61 75 6c 74 20 46 69 65 6c 64 20 ult-Field-Values">Default.Field.
45680 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 66 3d 22 Values</a>.<a.class="hdr".href="
456a0 23 44 65 66 61 75 6c 74 2d 46 69 65 6c 64 2d 56 61 6c 75 65 73 22 3e c2 a7 3c 2f 61 3e 3c 2f 68 #Default-Field-Values">..</a></h
456c0 33 3e 0a 0a 20 20 20 20 20 20 3c 70 3e 0a 20 20 20 20 20 20 45 61 63 68 20 73 74 72 75 63 74 20 3>........<p>.......Each.struct.
456e0 66 69 65 6c 64 20 6d 61 79 20 68 61 76 65 20 61 6e 20 65 78 70 72 65 73 73 69 6f 6e 20 69 6e 64 field.may.have.an.expression.ind
45700 69 63 61 74 69 6e 67 20 74 68 65 20 64 65 66 61 75 6c 74 20 66 69 65 6c 64 20 76 61 6c 75 65 2e icating.the.default.field.value.
45720 20 53 75 63 68 20 65 78 70 72 65 73 73 69 6f 6e 73 0a 20 20 20 20 20 20 61 72 65 20 65 78 65 63 .Such.expressions.......are.exec
45740 75 74 65 64 20 61 74 20 3c 61 20 68 72 65 66 3d 22 23 63 6f 6d 70 74 69 6d 65 22 3e 63 6f 6d 70 uted.at.<a.href="#comptime">comp
45760 74 69 6d 65 3c 2f 61 3e 2c 20 61 6e 64 20 61 6c 6c 6f 77 20 74 68 65 20 66 69 65 6c 64 20 74 6f time</a>,.and.allow.the.field.to
45780 20 62 65 20 6f 6d 69 74 74 65 64 20 69 6e 20 61 20 73 74 72 75 63 74 20 6c 69 74 65 72 61 6c 20 .be.omitted.in.a.struct.literal.
457a0 65 78 70 72 65 73 73 69 6f 6e 3a 0a 20 20 20 20 20 20 3c 2f 70 3e 0a 20 20 20 20 20 20 3c 66 69 expression:.......</p>.......<fi
457c0 67 75 72 65 3e 3c 66 69 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"
457e0 3e 3c 63 69 74 65 20 63 6c 61 73 73 3d 22 66 69 6c 65 22 3e 64 65 66 61 75 6c 74 5f 66 69 65 6c ><cite.class="file">default_fiel
45800 64 5f 76 61 6c 75 65 73 2e 7a 69 67 3c 2f 63 69 74 65 3e 3c 2f 66 69 67 63 61 70 74 69 6f 6e 3e d_values.zig</cite></figcaption>
45820 3c 70 72 65 3e 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 <pre><code><span.class="line"><s
45840 70 61 6e 20 63 6c 61 73 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>.
45860 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
45880 74 3c 2f 73 70 61 6e 3e 20 7b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c t</span>.{</span>.<span.class="l
458a0 69 6e 65 22 3e 20 20 20 20 61 3a 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 ine">....a:.<span.class="tok-typ
458c0 65 22 3e 69 33 32 3c 2f 73 70 61 6e 3e 20 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b e">i32</span>.=.<span.class="tok
458e0 2d 6e 75 6d 62 65 72 22 3e 31 32 33 34 3c 2f 73 70 61 6e 3e 2c 3c 2f 73 70 61 6e 3e 0a 3c 73 70 -number">1234</span>,</span>.<sp
45900 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 62 3a 20 3c 73 70 61 6e 20 63 6c 61 an.class="line">....b:.<span.cla
45920 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 69 33 32 3c 2f 73 70 61 6e 3e 2c 3c 2f 73 70 61 6e 3e ss="tok-type">i32</span>,</span>
45940 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 7d 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 .<span.class="line">};</span>.<s
45960 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 pan.class="line"></span>.<span.c
45980 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 lass="line"><span.class="tok-kw"
459a0 3e 74 65 73 74 3c 2f 73 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
459c0 72 22 3e 26 71 75 6f 74 3b 64 65 66 61 75 6c 74 20 73 74 72 75 63 74 20 69 6e 69 74 69 61 6c 69 r">&quot;default.struct.initiali
459e0 7a 61 74 69 6f 6e 20 66 69 65 6c 64 73 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 20 7b 3c 2f 73 70 zation.fields&quot;</span>.{</sp
45a00 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 3c 73 70 61 6e an>.<span.class="line">....<span
45a20 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 63 6f 6e 73 74 3c 2f 73 70 61 6e 3e 20 78 20 3d .class="tok-kw">const</span>.x.=
45a40 20 46 6f 6f 7b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e .Foo{</span>.<span.class="line">
45a60 20 20 20 20 20 20 20 20 2e 62 20 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 .........b.=.<span.class="tok-nu
45a80 6d 62 65 72 22 3e 35 3c 2f 73 70 61 6e 3e 2c 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 mber">5</span>,</span>.<span.cla
45aa0 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 7d 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c ss="line">....};</span>.<span.cl
45ac0 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d ass="line">....<span.class="tok-
45ae0 6b 77 22 3e 69 66 3c 2f 73 70 61 6e 3e 20 28 78 2e 61 20 2b 20 78 2e 62 20 21 3d 20 3c 73 70 61 kw">if</span>.(x.a.+.x.b.!=.<spa
45b00 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 31 32 33 39 3c 2f 73 70 61 6e 3e n.class="tok-number">1239</span>
45b20 29 20 7b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 ).{</span>.<span.class="line">..
45b40 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">
45b60 40 63 6f 6d 70 69 6c 65 45 72 72 6f 72 3c 2f 73 70 61 6e 3e 28 3c 73 70 61 6e 20 63 6c 61 73 73 @compileError</span>(<span.class
45b80 3d 22 74 6f 6b 2d 73 74 72 22 3e 26 71 75 6f 74 3b 69 74 27 73 20 65 76 65 6e 20 63 6f 6d 70 74 ="tok-str">&quot;it's.even.compt
45ba0 69 6d 65 20 6b 6e 6f 77 6e 21 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 29 3b 3c 2f 73 70 61 6e 3e ime.known!&quot;</span>);</span>
45bc0 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 7d 3c 2f 73 70 61 6e 3e .<span.class="line">....}</span>
45be0 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 7d 3c 2f 73 70 61 6e 3e 3c 2f 63 6f .<span.class="line">}</span></co
45c00 64 65 3e 3c 2f 70 72 65 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
45c20 70 74 69 6f 6e 20 63 6c 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
45c40 69 67 63 61 70 74 69 6f 6e 3e 3c 70 72 65 3e 3c 73 61 6d 70 3e 3c 73 70 61 6e 20 63 6c 61 73 73 igcaption><pre><samp><span.class
45c60 3d 22 6c 69 6e 65 22 3e 24 20 3c 6b 62 64 3e 7a 69 67 20 74 65 73 74 20 64 65 66 61 75 6c 74 5f ="line">$.<kbd>zig.test.default_
45c80 66 69 65 6c 64 5f 76 61 6c 75 65 73 2e 7a 69 67 3c 2f 6b 62 64 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 field_values.zig</kbd></span>.<s
45ca0 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 31 2f 31 20 74 65 73 74 2e 64 65 66 61 75 6c pan.class="line">1/1.test.defaul
45cc0 74 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 t.struct.initialization.fields..
45ce0 2e 20 4f 4b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 41 ..OK</span>.<span.class="line">A
45d00 6c 6c 20 31 20 74 65 73 74 73 20 70 61 73 73 65 64 2e 3c 2f 73 70 61 6e 3e 0a 3c 2f 73 61 6d 70 ll.1.tests.passed.</span>.</samp
45d20 3e 3c 2f 70 72 65 3e 3c 2f 66 69 67 75 72 65 3e 0a 20 20 20 20 20 20 0a 0a 20 20 20 20 20 20 3c ></pre></figure>...............<
45d40 68 33 20 69 64 3d 22 65 78 74 65 72 6e 2d 73 74 72 75 63 74 22 3e 3c 61 20 68 72 65 66 3d 22 23 h3.id="extern-struct"><a.href="#
45d60 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 75 63 74 toc-extern-struct">extern.struct
45d80 3c 2f 61 3e 20 3c 61 20 63 6c 61 73 73 3d 22 68 64 72 22 20 68 72 65 66 3d 22 23 65 78 74 65 72 </a>.<a.class="hdr".href="#exter
45da0 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 3c 70 3e n-struct">..</a></h3>........<p>
45dc0 41 6e 20 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 An.<code><span.class="line"><spa
45de0 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>.<
45e00 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
45e20 3e 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 20 68 61 73 20 69 6e 2d 6d 65 6d 6f 72 79 20 6c 61 ></span></code>.has.in-memory.la
45e40 79 6f 75 74 20 67 75 61 72 61 6e 74 65 65 64 20 74 6f 20 6d 61 74 63 68 20 74 68 65 0a 20 20 20 yout.guaranteed.to.match.the....
45e60 20 20 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 ...C.ABI.for.the.target.</p>....
45e80 20 20 20 3c 70 3e 54 68 69 73 20 6b 69 6e 64 20 6f 66 20 73 74 72 75 63 74 20 73 68 6f 75 6c 64 ...<p>This.kind.of.struct.should
45ea0 20 6f 6e 6c 79 20 62 65 20 75 73 65 64 20 66 6f 72 20 63 6f 6d 70 61 74 69 62 69 6c 69 74 79 20 .only.be.used.for.compatibility.
45ec0 77 69 74 68 20 74 68 65 20 43 20 41 42 49 2e 20 45 76 65 72 79 20 6f 74 68 65 72 0a 20 20 20 20 with.the.C.ABI..Every.other.....
45ee0 20 20 75 73 65 20 63 61 73 65 20 73 68 6f 75 6c 64 20 62 65 20 73 6f 6c 76 65 64 20 77 69 74 68 ..use.case.should.be.solved.with
45f00 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 65 64 .<a.href="#packed-struct">packed
45f20 20 73 74 72 75 63 74 3c 2f 61 3e 20 6f 72 20 6e 6f 72 6d 61 6c 20 3c 61 20 68 72 65 66 3d 22 23 .struct</a>.or.normal.<a.href="#
45f40 73 74 72 75 63 74 22 3e 73 74 72 75 63 74 3c 2f 61 3e 2e 3c 2f 70 3e 0a 20 20 20 20 20 20 3c 70 struct">struct</a>.</p>.......<p
45f60 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="
45f80 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><
45fa0 2f 6c 69 3e 0a 3c 6c 69 3e 3c 61 20 68 72 65 66 3d 22 23 65 78 74 65 72 6e 2d 65 6e 75 6d 22 3e /li>.<li><a.href="#extern-enum">
45fc0 65 78 74 65 72 6e 20 65 6e 75 6d 3c 2f 61 3e 3c 2f 6c 69 3e 0a 3c 2f 75 6c 3e 0a 0a 20 20 20 20 extern.enum</a></li>.</ul>......
45fe0 20 20 0a 0a 20 20 20 20 20 20 3c 68 33 20 69 64 3d 22 70 61 63 6b 65 64 2d 73 74 72 75 63 74 22 ..........<h3.id="packed-struct"
46000 3e 3c 61 20 68 72 65 66 3d 22 23 74 6f 63 2d 70 61 63 6b 65 64 2d 73 74 72 75 63 74 22 3e 70 61 ><a.href="#toc-packed-struct">pa
46020 63 6b 65 64 20 73 74 72 75 63 74 3c 2f 61 3e 20 3c 61 20 63 6c 61 73 73 3d 22 68 64 72 22 20 68 cked.struct</a>.<a.class="hdr".h
46040 72 65 66 3d 22 23 70 61 63 6b 65 64 2d 73 74 72 75 63 74 22 3e c2 a7 3c 2f 61 3e 3c 2f 68 33 3e ref="#packed-struct">..</a></h3>
46060 0a 0a 20 20 20 20 20 20 3c 70 3e 0a 20 20 20 20 20 20 55 6e 6c 69 6b 65 20 6e 6f 72 6d 61 6c 20 ........<p>.......Unlike.normal.
46080 73 74 72 75 63 74 73 2c 20 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 structs,.<code><span.class="line
460a0 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 70 61 63 6b 65 64 3c 2f 73 "><span.class="tok-kw">packed</s
460c0 70 61 6e 3e 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 20 73 74 72 75 63 74 73 20 68 61 76 65 20 pan></span></code>.structs.have.
460e0 67 75 61 72 61 6e 74 65 65 64 20 69 6e 2d 6d 65 6d 6f 72 79 20 6c 61 79 6f 75 74 3a 0a 20 20 20 guaranteed.in-memory.layout:....
46100 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 46 ...</p>.......<ul>.........<li>F
46120 69 65 6c 64 73 20 72 65 6d 61 69 6e 20 69 6e 20 74 68 65 20 6f 72 64 65 72 20 64 65 63 6c 61 72 ields.remain.in.the.order.declar
46140 65 64 2c 20 6c 65 61 73 74 20 74 6f 20 6d 6f 73 74 20 73 69 67 6e 69 66 69 63 61 6e 74 2e 3c 2f ed,.least.to.most.significant.</
46160 6c 69 3e 0a 20 20 20 20 20 20 20 20 3c 6c 69 3e 54 68 65 72 65 20 69 73 20 6e 6f 20 70 61 64 64 li>.........<li>There.is.no.padd
46180 69 6e 67 20 62 65 74 77 65 65 6e 20 66 69 65 6c 64 73 2e 3c 2f 6c 69 3e 0a 20 20 20 20 20 20 20 ing.between.fields.</li>........
461a0 20 3c 6c 69 3e 5a 69 67 20 73 75 70 70 6f 72 74 73 20 61 72 62 69 74 72 61 72 79 20 77 69 64 74 .<li>Zig.supports.arbitrary.widt
461c0 68 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 h.<a.href="#Integers">Integers</
461e0 61 3e 20 61 6e 64 20 61 6c 74 68 6f 75 67 68 20 6e 6f 72 6d 61 6c 6c 79 2c 20 69 6e 74 65 67 65 a>.and.although.normally,.intege
46200 72 73 20 77 69 74 68 20 66 65 77 65 72 0a 20 20 20 20 20 20 20 20 74 68 61 6e 20 38 20 62 69 74 rs.with.fewer.........than.8.bit
46220 73 20 77 69 6c 6c 20 73 74 69 6c 6c 20 75 73 65 20 31 20 62 79 74 65 20 6f 66 20 6d 65 6d 6f 72 s.will.still.use.1.byte.of.memor
46240 79 2c 20 69 6e 20 70 61 63 6b 65 64 20 73 74 72 75 63 74 73 2c 20 74 68 65 79 20 75 73 65 0a 20 y,.in.packed.structs,.they.use..
46260 20 20 20 20 20 20 20 65 78 61 63 74 6c 79 20 74 68 65 69 72 20 62 69 74 20 77 69 64 74 68 2e 0a .......exactly.their.bit.width..
46280 20 20 20 20 20 20 20 20 3c 2f 6c 69 3e 0a 20 20 20 20 20 20 20 20 3c 6c 69 3e 3c 63 6f 64 65 3e ........</li>.........<li><code>
462a0 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 <span.class="line"><span.class="
462c0 74 6f 6b 2d 74 79 70 65 22 3e 62 6f 6f 6c 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 3c 2f 63 6f tok-type">bool</span></span></co
462e0 64 65 3e 20 66 69 65 6c 64 73 20 75 73 65 20 65 78 61 63 74 6c 79 20 31 20 62 69 74 2e 3c 2f 6c de>.fields.use.exactly.1.bit.</l
46300 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 3d 22 23 65 6e 75 6d i>.........<li>An.<a.href="#enum
46320 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 63 74 6c 79 20 74 68 ">enum</a>.field.uses.exactly.th
46340 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 72 20 74 61 67 20 74 e.bit.width.of.its.integer.tag.t
46360 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 61 20 68 72 65 66 3d ype.</li>.........<li>A.<a.href=
46380 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 6f 6e 3c 2f 61 3e "#packed-union">packed.union</a>
463a0 20 66 69 65 6c 64 20 75 73 65 73 20 65 78 61 63 74 6c 79 20 74 68 65 20 62 69 74 20 77 69 64 74 .field.uses.exactly.the.bit.widt
463c0 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 0a 20 20 20 20 20 20 h.of.the.union.field.with.......
463e0 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 2f 6c 69 3e 0a 20 20 ..the.largest.bit.width.</li>...
46400 20 20 20 20 20 20 3c 6c 69 3e 4e 6f 6e 2d 41 42 49 2d 61 6c 69 67 6e 65 64 20 66 69 65 6c 64 73 ......<li>Non-ABI-aligned.fields
46420 20 61 72 65 20 70 61 63 6b 65 64 20 69 6e 74 6f 20 74 68 65 20 73 6d 61 6c 6c 65 73 74 20 70 6f .are.packed.into.the.smallest.po
46440 73 73 69 62 6c 65 0a 20 20 20 20 20 20 20 20 41 42 49 2d 61 6c 69 67 6e 65 64 20 69 6e 74 65 67 ssible.........ABI-aligned.integ
46460 65 72 73 20 69 6e 20 61 63 63 6f 72 64 61 6e 63 65 20 77 69 74 68 20 74 68 65 20 74 61 72 67 65 ers.in.accordance.with.the.targe
46480 74 20 65 6e 64 69 61 6e 6e 65 73 73 2e 0a 20 20 20 20 20 20 20 20 3c 2f 6c 69 3e 0a 20 20 20 20 t.endianness..........</li>.....
464a0 20 20 3c 2f 75 6c 3e 0a 20 20 20 20 20 20 3c 70 3e 0a 20 20 20 20 20 20 54 68 69 73 20 6d 65 61 ..</ul>.......<p>.......This.mea
464c0 6e 73 20 74 68 61 74 20 61 20 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e ns.that.a.<code><span.class="lin
464e0 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 70 61 63 6b 65 64 3c 2f e"><span.class="tok-kw">packed</
46500 73 70 61 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
46520 74 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 20 63 61 6e 20 70 61 72 74 69 t</span></span></code>.can.parti
46540 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 43 cipate.......in.a.<a.href="#bitC
46560 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 22 ast">@bitCast</a>.or.a.<a.href="
46580 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 65 #ptrCast">@ptrCast</a>.to.reinte
465a0 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 6f rpret.memory........This.even.wo
465c0 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 74 rks.at.<a.href="#comptime">compt
465e0 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 72 ime</a>:.......</p>.......<figur
46600 65 3e 3c 66 69 67 63 61 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
46620 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 75 63 74 73 2e ite.class="file">packed_structs.
46640 7a 69 67 3c 2f 63 69 74 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
46660 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 e><span.class="line"><span.class
46680 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
466a0 61 6e 20 63 6c 61 73 73 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</
466c0 73 70 61 6e 3e 28 3c 73 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
466e0 74 3b 73 74 64 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 29 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 t;std&quot;</span>);</span>.<spa
46700 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d n.class="line"><span.class="tok-
46720 6b 77 22 3e 63 6f 6e 73 74 3c 2f 73 70 61 6e 3e 20 6e 61 74 69 76 65 5f 65 6e 64 69 61 6e 20 3d kw">const</span>.native_endian.=
46740 20 3c 73 70 61 6e 20 63 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
46760 72 74 3c 2f 73 70 61 6e 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">
46780 26 71 75 6f 74 3b 62 75 69 6c 74 69 6e 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 29 2e 74 61 72 67 &quot;builtin&quot;</span>).targ
467a0 65 74 2e 63 70 75 2e 61 72 63 68 2e 65 6e 64 69 61 6e 28 29 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 et.cpu.arch.endian();</span>.<sp
467c0 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b an.class="line"><span.class="tok
467e0 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
46800 65 73 74 69 6e 67 2e 65 78 70 65 63 74 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 esting.expect;</span>.<span.clas
46820 73 3d 22 6c 69 6e 65 22 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 s="line"></span>.<span.class="li
46840 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 63 6f 6e 73 74 3c 2f ne"><span.class="tok-kw">const</
46860 73 70 61 6e 3e 20 46 75 6c 6c 20 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 span>.Full.=.<span.class="tok-kw
46880 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
468a0 2d 6b 77 22 3e 73 74 72 75 63 74 3c 2f 73 70 61 6e 3e 20 7b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 -kw">struct</span>.{</span>.<spa
468c0 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 6e 75 6d 62 65 72 3a 20 3c 73 70 61 6e n.class="line">....number:.<span
468e0 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 75 31 36 3c 2f 73 70 61 6e 3e 2c 3c 2f 73 .class="tok-type">u16</span>,</s
46900 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 7d 3b 3c 2f 73 70 61 6e pan>.<span.class="line">};</span
46920 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 >.<span.class="line"><span.class
46940 3d 22 74 6f 6b 2d 6b 77 22 3e 63 6f 6e 73 74 3c 2f 73 70 61 6e 3e 20 44 69 76 69 64 65 64 20 3d ="tok-kw">const</span>.Divided.=
46960 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 70 61 63 6b 65 64 3c 2f 73 70 .<span.class="tok-kw">packed</sp
46980 61 6e 3e 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 73 74 72 75 63 74 3c an>.<span.class="tok-kw">struct<
469a0 2f 73 70 61 6e 3e 20 7b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e /span>.{</span>.<span.class="lin
469c0 65 22 3e 20 20 20 20 68 61 6c 66 31 3a 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 e">....half1:.<span.class="tok-t
469e0 79 70 65 22 3e 75 38 3c 2f 73 70 61 6e 3e 2c 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 ype">u8</span>,</span>.<span.cla
46a00 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 71 75 61 72 74 65 72 33 3a 20 3c 73 70 61 6e 20 63 6c ss="line">....quarter3:.<span.cl
46a20 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 75 34 3c 2f 73 70 61 6e 3e 2c 3c 2f 73 70 61 6e 3e ass="tok-type">u4</span>,</span>
46a40 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 71 75 61 72 74 65 72 34 .<span.class="line">....quarter4
46a60 3a 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 75 34 3c 2f 73 70 61 :.<span.class="tok-type">u4</spa
46a80 6e 3e 2c 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 7d 3b n>,</span>.<span.class="line">};
46aa0 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 2f 73 70 61 </span>.<span.class="line"></spa
46ac0 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 n>.<span.class="line"><span.clas
46ae0 73 3d 22 74 6f 6b 2d 6b 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
46b00 73 73 3d 22 74 6f 6b 2d 73 74 72 22 3e 26 71 75 6f 74 3b 40 62 69 74 43 61 73 74 20 62 65 74 77 ss="tok-str">&quot;@bitCast.betw
46b20 65 65 6e 20 70 61 63 6b 65 64 20 73 74 72 75 63 74 73 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 20 een.packed.structs&quot;</span>.
46b40 7b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 {</span>.<span.class="line">....
46b60 3c 73 70 61 6e 20 63 6c 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>.
46b80 64 6f 54 68 65 54 65 73 74 28 29 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d doTheTest();</span>.<span.class=
46ba0 22 6c 69 6e 65 22 3e 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e "line">....<span.class="tok-kw">
46bc0 63 6f 6d 70 74 69 6d 65 3c 2f 73 70 61 6e 3e 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b comptime</span>.<span.class="tok
46be0 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 3c 2f 73 70 -kw">try</span>.doTheTest();</sp
46c00 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 7d 3c 2f 73 70 61 6e 3e 0a an>.<span.class="line">}</span>.
46c20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e <span.class="line"></span>.<span
46c40 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b .class="line"><span.class="tok-k
46c60 77 22 3e 66 6e 3c 2f 73 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
46c80 22 3e 64 6f 54 68 65 54 65 73 74 3c 2f 73 70 61 6e 3e 28 29 20 21 3c 73 70 61 6e 20 63 6c 61 73 ">doTheTest</span>().!<span.clas
46ca0 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 76 6f 69 64 3c 2f 73 70 61 6e 3e 20 7b 3c 2f 73 70 61 6e s="tok-type">void</span>.{</span
46cc0 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 3c 73 70 61 6e 20 63 >.<span.class="line">....<span.c
46ce0 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 74 72 79 3c 2f 73 70 61 6e 3e 20 65 78 70 65 63 74 28 lass="tok-kw">try</span>.expect(
46d00 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 62 75 69 6c 74 69 6e 22 3e 40 73 69 7a 65 4f <span.class="tok-builtin">@sizeO
46d20 66 3c 2f 73 70 61 6e 3e 28 46 75 6c 6c 29 20 3d 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 f</span>(Full).==.<span.class="t
46d40 6f 6b 2d 6e 75 6d 62 65 72 22 3e 32 3c 2f 73 70 61 6e 3e 29 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 ok-number">2</span>);</span>.<sp
46d60 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d an.class="line">....<span.class=
46d80 22 74 6f 6b 2d 6b 77 22 3e 74 72 79 3c 2f 73 70 61 6e 3e 20 65 78 70 65 63 74 28 3c 73 70 61 6e "tok-kw">try</span>.expect(<span
46da0 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
46dc0 61 6e 3e 28 44 69 76 69 64 65 64 29 20 3d 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b an>(Divided).==.<span.class="tok
46de0 2d 6e 75 6d 62 65 72 22 3e 32 3c 2f 73 70 61 6e 3e 29 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e -number">2</span>);</span>.<span
46e00 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 .class="line">....<span.class="t
46e20 6f 6b 2d 6b 77 22 3e 76 61 72 3c 2f 73 70 61 6e 3e 20 66 75 6c 6c 20 3d 20 46 75 6c 6c 7b 20 2e ok-kw">var</span>.full.=.Full{..
46e40 6e 75 6d 62 65 72 20 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 number.=.<span.class="tok-number
46e60 22 3e 30 78 31 32 33 34 3c 2f 73 70 61 6e 3e 20 7d 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 ">0x1234</span>.};</span>.<span.
46e80 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f class="line">....<span.class="to
46ea0 6b 2d 6b 77 22 3e 76 61 72 3c 2f 73 70 61 6e 3e 20 64 69 76 69 64 65 64 20 3d 20 3c 73 70 61 6e k-kw">var</span>.divided.=.<span
46ec0 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 62 75 69 6c 74 69 6e 22 3e 40 62 69 74 43 61 73 74 3c 2f 73 .class="tok-builtin">@bitCast</s
46ee0 70 61 6e 3e 28 44 69 76 69 64 65 64 2c 20 66 75 6c 6c 29 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 pan>(Divided,.full);</span>.<spa
46f00 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 n.class="line">....<span.class="
46f20 74 6f 6b 2d 6b 77 22 3e 74 72 79 3c 2f 73 70 61 6e 3e 20 65 78 70 65 63 74 28 64 69 76 69 64 65 tok-kw">try</span>.expect(divide
46f40 64 2e 68 61 6c 66 31 20 3d 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 d.half1.==.<span.class="tok-numb
46f60 65 72 22 3e 30 78 33 34 3c 2f 73 70 61 6e 3e 29 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 er">0x34</span>);</span>.<span.c
46f80 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b lass="line">....<span.class="tok
46fa0 2d 6b 77 22 3e 74 72 79 3c 2f 73 70 61 6e 3e 20 65 78 70 65 63 74 28 64 69 76 69 64 65 64 2e 71 -kw">try</span>.expect(divided.q
46fc0 75 61 72 74 65 72 33 20 3d 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 uarter3.==.<span.class="tok-numb
46fe0 65 72 22 3e 30 78 32 3c 2f 73 70 61 6e 3e 29 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c er">0x2</span>);</span>.<span.cl
47000 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d ass="line">....<span.class="tok-
47020 6b 77 22 3e 74 72 79 3c 2f 73 70 61 6e 3e 20 65 78 70 65 63 74 28 64 69 76 69 64 65 64 2e 71 75 kw">try</span>.expect(divided.qu
47040 61 72 74 65 72 34 20 3d 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 arter4.==.<span.class="tok-numbe
47060 72 22 3e 30 78 31 3c 2f 73 70 61 6e 3e 29 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 r">0x1</span>);</span>.<span.cla
47080 73 73 3d 22 6c 69 6e 65 22 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c ss="line"></span>.<span.class="l
470a0 69 6e 65 22 3e 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 76 61 ine">....<span.class="tok-kw">va
470c0 72 3c 2f 73 70 61 6e 3e 20 6f 72 64 65 72 65 64 20 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 r</span>.ordered.=.<span.class="
470e0 74 6f 6b 2d 62 75 69 6c 74 69 6e 22 3e 40 62 69 74 43 61 73 74 3c 2f 73 70 61 6e 3e 28 5b 3c 73 tok-builtin">@bitCast</span>([<s
47100 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 32 3c 2f 73 70 61 6e 3e 5d pan.class="tok-number">2</span>]
47120 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>
47140 2c 20 66 75 6c 6c 29 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e ,.full);</span>.<span.class="lin
47160 65 22 3e 20 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 e">....<span.class="tok-kw">swit
47180 63 68 3c 2f 73 70 61 6e 3e 20 28 6e 61 74 69 76 65 5f 65 6e 64 69 61 6e 29 20 7b 3c 2f 73 70 61 ch</span>.(native_endian).{</spa
471a0 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 20 20 20 20 2e 42 n>.<span.class="line">.........B
471c0 69 67 20 3d 26 67 74 3b 20 7b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c ig.=&gt;.{</span>.<span.class="l
471e0 69 6e 65 22 3e 20 20 20 20 20 20 20 20 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f ine">............<span.class="to
47200 6b 2d 6b 77 22 3e 74 72 79 3c 2f 73 70 61 6e 3e 20 65 78 70 65 63 74 28 6f 72 64 65 72 65 64 5b k-kw">try</span>.expect(ordered[
47220 3c 73 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
47240 3e 5d 20 3d 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 30 >].==.<span.class="tok-number">0
47260 78 31 32 3c 2f 73 70 61 6e 3e 29 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d x12</span>);</span>.<span.class=
47280 22 6c 69 6e 65 22 3e 20 20 20 20 20 20 20 20 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 "line">............<span.class="
472a0 74 6f 6b 2d 6b 77 22 3e 74 72 79 3c 2f 73 70 61 6e 3e 20 65 78 70 65 63 74 28 6f 72 64 65 72 65 tok-kw">try</span>.expect(ordere
472c0 64 5b 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 31 3c 2f 73 70 d[<span.class="tok-number">1</sp
472e0 61 6e 3e 5d 20 3d 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 an>].==.<span.class="tok-number"
47300 3e 30 78 33 34 3c 2f 73 70 61 6e 3e 29 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 >0x34</span>);</span>.<span.clas
47320 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 20 20 20 20 7d 2c 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e s="line">........},</span>.<span
47340 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 20 20 20 20 2e 4c 69 74 74 6c 65 20 3d 26 .class="line">.........Little.=&
47360 67 74 3b 20 7b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e gt;.{</span>.<span.class="line">
47380 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"
473a0 3e 74 72 79 3c 2f 73 70 61 6e 3e 20 65 78 70 65 63 74 28 6f 72 64 65 72 65 64 5b 3c 73 70 61 6e >try</span>.expect(ordered[<span
473c0 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>].==
473e0 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 30 78 33 34 3c 2f .<span.class="tok-number">0x34</
47400 73 70 61 6e 3e 29 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 span>);</span>.<span.class="line
47420 22 3e 20 20 20 20 20 20 20 20 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b ">............<span.class="tok-k
47440 77 22 3e 74 72 79 3c 2f 73 70 61 6e 3e 20 65 78 70 65 63 74 28 6f 72 64 65 72 65 64 5b 3c 73 70 w">try</span>.expect(ordered[<sp
47460 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 31 3c 2f 73 70 61 6e 3e 5d 20 an.class="tok-number">1</span>].
47480 3d 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 30 78 31 32 ==.<span.class="tok-number">0x12
474a0 3c 2f 73 70 61 6e 3e 29 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 </span>);</span>.<span.class="li
474c0 6e 65 22 3e 20 20 20 20 20 20 20 20 7d 2c 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 ne">........},</span>.<span.clas
474e0 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 7d 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 s="line">....}</span>.<span.clas
47500 73 3d 22 6c 69 6e 65 22 3e 7d 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 3c 2f 70 72 65 3e 3c 2f s="line">}</span></code></pre></
47520 66 69 67 75 72 65 3e 3c 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
47540 3d 22 73 68 65 6c 6c 2d 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><
47560 70 72 65 3e 3c 73 61 6d 70 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 24 20 3c pre><samp><span.class="line">$.<
47580 6b 62 64 3e 7a 69 67 20 74 65 73 74 20 70 61 63 6b 65 64 5f 73 74 72 75 63 74 73 2e 7a 69 67 3c kbd>zig.test.packed_structs.zig<
475a0 2f 6b 62 64 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e /kbd></span>.<span.class="line">
475c0 31 2f 31 20 74 65 73 74 2e 40 62 69 74 43 61 73 74 20 62 65 74 77 65 65 6e 20 70 61 63 6b 65 64 1/1.test.@bitCast.between.packed
475e0 20 73 74 72 75 63 74 73 2e 2e 2e 20 4f 4b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 .structs....OK</span>.<span.clas
47600 73 3d 22 6c 69 6e 65 22 3e 41 6c 6c 20 31 20 74 65 73 74 73 20 70 61 73 73 65 64 2e 3c 2f 73 70 s="line">All.1.tests.passed.</sp
47620 61 6e 3e 0a 3c 2f 73 61 6d 70 3e 3c 2f 70 72 65 3e 3c 2f 66 69 67 75 72 65 3e 0a 20 20 20 20 20 an>.</samp></pre></figure>......
47640 20 3c 70 3e 0a 20 20 20 20 20 20 5a 69 67 20 61 6c 6c 6f 77 73 20 74 68 65 20 61 64 64 72 65 73 .<p>.......Zig.allows.the.addres
47660 73 20 74 6f 20 62 65 20 74 61 6b 65 6e 20 6f 66 20 61 20 6e 6f 6e 2d 62 79 74 65 2d 61 6c 69 67 s.to.be.taken.of.a.non-byte-alig
47680 6e 65 64 20 66 69 65 6c 64 3a 0a 20 20 20 20 20 20 3c 2f 70 3e 0a 20 20 20 20 20 20 3c 66 69 67 ned.field:.......</p>.......<fig
476a0 75 72 65 3e 3c 66 69 67 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">
476c0 3c 63 69 74 65 20 63 6c 61 73 73 3d 22 66 69 6c 65 22 3e 70 6f 69 6e 74 65 72 5f 74 6f 5f 6e 6f <cite.class="file">pointer_to_no
476e0 6e 2d 62 79 74 65 5f 61 6c 69 67 6e 65 64 5f 66 69 65 6c 64 2e 7a 69 67 3c 2f 63 69 74 65 3e 3c n-byte_aligned_field.zig</cite><
47700 2f 66 69 67 63 61 70 74 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
47720 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 63 ss="line"><span.class="tok-kw">c
47740 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
47760 6f 6b 2d 62 75 69 6c 74 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
47780 20 63 6c 61 73 73 3d 22 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;
477a0 3c 2f 73 70 61 6e 3e 29 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 </span>);</span>.<span.class="li
477c0 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 63 6f 6e 73 74 3c 2f ne"><span.class="tok-kw">const</
477e0 73 70 61 6e 3e 20 65 78 70 65 63 74 20 3d 20 73 74 64 2e 74 65 73 74 69 6e 67 2e 65 78 70 65 63 span>.expect.=.std.testing.expec
47800 74 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 2f 73 t;</span>.<span.class="line"></s
47820 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c pan>.<span.class="line"><span.cl
47840 61 73 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 ass="tok-kw">const</span>.BitFie
47860 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 64 ld.=.<span.class="tok-kw">packed
47880 3c 2f 73 70 61 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 </span>.<span.class="tok-kw">str
478a0 75 63 74 3c 2f 73 70 61 6e 3e 20 7b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d uct</span>.{</span>.<span.class=
478c0 22 6c 69 6e 65 22 3e 20 20 20 20 61 3a 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 "line">....a:.<span.class="tok-t
478e0 79 70 65 22 3e 75 33 3c 2f 73 70 61 6e 3e 2c 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 ype">u3</span>,</span>.<span.cla
47900 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 62 3a 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f ss="line">....b:.<span.class="to
47920 6b 2d 74 79 70 65 22 3e 75 33 3c 2f 73 70 61 6e 3e 2c 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 k-type">u3</span>,</span>.<span.
47940 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 63 3a 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d class="line">....c:.<span.class=
47960 22 74 6f 6b 2d 74 79 70 65 22 3e 75 32 3c 2f 73 70 61 6e 3e 2c 3c 2f 73 70 61 6e 3e 0a 3c 73 70 "tok-type">u2</span>,</span>.<sp
47980 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 7d 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 an.class="line">};</span>.<span.
479a0 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 class="line"></span>.<span.class
479c0 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 76 61 72 ="line"><span.class="tok-kw">var
479e0 3c 2f 73 70 61 6e 3e 20 66 6f 6f 20 3d 20 42 69 74 46 69 65 6c 64 7b 3c 2f 73 70 61 6e 3e 0a 3c </span>.foo.=.BitField{</span>.<
47a00 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 2e 61 20 3d 20 3c 73 70 61 6e span.class="line">.....a.=.<span
47a20 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 31 3c 2f 73 70 61 6e 3e 2c 3c 2f 73 .class="tok-number">1</span>,</s
47a40 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 2e 62 20 3d pan>.<span.class="line">.....b.=
47a60 20 3c 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
47a80 6e 3e 2c 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 n>,</span>.<span.class="line">..
47aa0 20 20 2e 63 20 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e ...c.=.<span.class="tok-number">
47ac0 33 3c 2f 73 70 61 6e 3e 2c 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 3</span>,</span>.<span.class="li
47ae0 6e 65 22 3e 7d 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 ne">};</span>.<span.class="line"
47b00 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 ></span>.<span.class="line"><spa
47b20 6e 20 63 6c 61 73 73 3d 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
47b40 61 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 an.class="tok-str">&quot;pointer
47b60 20 74 6f 20 6e 6f 6e 2d 62 79 74 65 2d 61 6c 69 67 6e 65 64 20 66 69 65 6c 64 26 71 75 6f 74 3b .to.non-byte-aligned.field&quot;
47b80 3c 2f 73 70 61 6e 3e 20 7b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 </span>.{</span>.<span.class="li
47ba0 6e 65 22 3e 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 63 6f 6e ne">....<span.class="tok-kw">con
47bc0 73 74 3c 2f 73 70 61 6e 3e 20 70 74 72 20 3d 20 26 61 6d 70 3b 66 6f 6f 2e 62 3b 3c 2f 73 70 61 st</span>.ptr.=.&amp;foo.b;</spa
47be0 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 3c 73 70 61 6e 20 n>.<span.class="line">....<span.
47c00 63 6c 61 73 73 3d 22 74 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
47c20 28 70 74 72 2e 2a 20 3d 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 (ptr.*.==.<span.class="tok-numbe
47c40 72 22 3e 32 3c 2f 73 70 61 6e 3e 29 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 r">2</span>);</span>.<span.class
47c60 3d 22 6c 69 6e 65 22 3e 7d 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 3c 2f 70 72 65 3e 3c 2f 66 ="line">}</span></code></pre></f
47c80 69 67 75 72 65 3e 3c 66 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=
47ca0 22 73 68 65 6c 6c 2d 63 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
47cc0 72 65 3e 3c 73 61 6d 70 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 24 20 3c 6b re><samp><span.class="line">$.<k
47ce0 62 64 3e 7a 69 67 20 74 65 73 74 20 70 6f 69 6e 74 65 72 5f 74 6f 5f 6e 6f 6e 2d 62 79 74 65 5f bd>zig.test.pointer_to_non-byte_
47d00 61 6c 69 67 6e 65 64 5f 66 69 65 6c 64 2e 7a 69 67 3c 2f 6b 62 64 3e 3c 2f 73 70 61 6e 3e 0a 3c aligned_field.zig</kbd></span>.<
47d20 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 31 2f 31 20 74 65 73 74 2e 70 6f 69 6e 74 span.class="line">1/1.test.point
47d40 65 72 20 74 6f 20 6e 6f 6e 2d 62 79 74 65 2d 61 6c 69 67 6e 65 64 20 66 69 65 6c 64 2e 2e 2e 20 er.to.non-byte-aligned.field....
47d60 4f 4b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 41 6c 6c OK</span>.<span.class="line">All
47d80 20 31 20 74 65 73 74 73 20 70 61 73 73 65 64 2e 3c 2f 73 70 61 6e 3e 0a 3c 2f 73 61 6d 70 3e 3c .1.tests.passed.</span>.</samp><
47da0 2f 70 72 65 3e 3c 2f 66 69 67 75 72 65 3e 0a 20 20 20 20 20 20 3c 70 3e 0a 20 20 20 20 20 20 48 /pre></figure>.......<p>.......H
47dc0 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 6e 2d 62 79 74 owever,.the.pointer.to.a.non-byt
47de0 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 20 70 72 6f 70 e-aligned.field.has.special.prop
47e00 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 70 61 73 73 65 erties.and.cannot.......be.passe
47e20 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 65 78 70 65 63 d.when.a.normal.pointer.is.expec
47e40 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 72 65 3e 3c 66 ted:.......</p>.......<figure><f
47e60 69 67 63 61 70 74 69 6f 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.
47e80 63 6c 61 73 73 3d 22 66 69 6c 65 22 3e 74 65 73 74 2e 7a 69 67 3c 2f 63 69 74 65 3e 3c 2f 66 69 class="file">test.zig</cite></fi
47ea0 67 63 61 70 74 69 6f 6e 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=
47ec0 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 63 6f 6e 73 "line"><span.class="tok-kw">cons
47ee0 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-
47f00 62 75 69 6c 74 69 6e 22 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
47f20 61 73 73 3d 22 74 6f 6b 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
47f40 70 61 6e 3e 29 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 pan>);</span>.<span.class="line"
47f60 3e 3c 73 70 61 6e 20 63 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
47f80 6e 3e 20 65 78 70 65 63 74 20 3d 20 73 74 64 2e 74 65 73 74 69 6e 67 2e 65 78 70 65 63 74 3b 3c n>.expect.=.std.testing.expect;<
47fa0 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 2f 73 70 61 6e /span>.<span.class="line"></span
47fc0 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 >.<span.class="line"><span.class
47fe0 3d 22 74 6f 6b 2d 6b 77 22 3e 63 6f 6e 73 74 3c 2f 73 70 61 6e 3e 20 42 69 74 46 69 65 6c 64 20 ="tok-kw">const</span>.BitField.
48000 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
48020 70 61 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
48040 3c 2f 73 70 61 6e 3e 20 7b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 </span>.{</span>.<span.class="li
48060 6e 65 22 3e 20 20 20 20 61 3a 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 ne">....a:.<span.class="tok-type
48080 22 3e 75 33 3c 2f 73 70 61 6e 3e 2c 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d ">u3</span>,</span>.<span.class=
480a0 22 6c 69 6e 65 22 3e 20 20 20 20 62 3a 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 "line">....b:.<span.class="tok-t
480c0 79 70 65 22 3e 75 33 3c 2f 73 70 61 6e 3e 2c 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 ype">u3</span>,</span>.<span.cla
480e0 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 63 3a 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f ss="line">....c:.<span.class="to
48100 6b 2d 74 79 70 65 22 3e 75 32 3c 2f 73 70 61 6e 3e 2c 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 k-type">u2</span>,</span>.<span.
48120 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 7d 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 class="line">};</span>.<span.cla
48140 73 73 3d 22 6c 69 6e 65 22 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c ss="line"></span>.<span.class="l
48160 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 76 61 72 3c 2f 73 ine"><span.class="tok-kw">var</s
48180 70 61 6e 3e 20 62 69 74 5f 66 69 65 6c 64 20 3d 20 42 69 74 46 69 65 6c 64 7b 3c 2f 73 70 61 6e pan>.bit_field.=.BitField{</span
481a0 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 2e 61 20 3d 20 3c 73 >.<span.class="line">.....a.=.<s
481c0 70 61 6e 20 63 6c 61 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>,
481e0 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 2e </span>.<span.class="line">.....
48200 62 20 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 32 3c 2f b.=.<span.class="tok-number">2</
48220 73 70 61 6e 3e 2c 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 span>,</span>.<span.class="line"
48240 3e 20 20 20 20 2e 63 20 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 >.....c.=.<span.class="tok-numbe
48260 72 22 3e 33 3c 2f 73 70 61 6e 3e 2c 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d r">3</span>,</span>.<span.class=
48280 22 6c 69 6e 65 22 3e 7d 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 "line">};</span>.<span.class="li
482a0 6e 65 22 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c ne"></span>.<span.class="line"><
482c0 73 70 61 6e 20 63 6c 61 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>.
482e0 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 73 74 72 22 3e 26 71 75 6f 74 3b 70 6f 69 6e <span.class="tok-str">&quot;poin
48300 74 65 72 20 74 6f 20 6e 6f 6e 2d 62 69 74 2d 61 6c 69 67 6e 65 64 20 66 69 65 6c 64 26 71 75 6f ter.to.non-bit-aligned.field&quo
48320 74 3b 3c 2f 73 70 61 6e 3e 20 7b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 t;</span>.{</span>.<span.class="
48340 6c 69 6e 65 22 3e 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 74 line">....<span.class="tok-kw">t
48360 72 79 3c 2f 73 70 61 6e 3e 20 65 78 70 65 63 74 28 62 61 72 28 26 61 6d 70 3b 62 69 74 5f 66 69 ry</span>.expect(bar(&amp;bit_fi
48380 65 6c 64 2e 62 29 20 3d 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 eld.b).==.<span.class="tok-numbe
483a0 72 22 3e 32 3c 2f 73 70 61 6e 3e 29 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 r">2</span>);</span>.<span.class
483c0 3d 22 6c 69 6e 65 22 3e 7d 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 ="line">}</span>.<span.class="li
483e0 6e 65 22 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c ne"></span>.<span.class="line"><
48400 73 70 61 6e 20 63 6c 61 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
48420 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 66 6e 22 3e 62 61 72 3c 2f 73 70 61 6e 3e 28 78 3a pan.class="tok-fn">bar</span>(x:
48440 20 2a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 63 6f 6e 73 74 3c 2f 73 70 .*<span.class="tok-kw">const</sp
48460 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 33 3c 2f 73 an>.<span.class="tok-type">u3</s
48480 70 61 6e 3e 29 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 75 33 3c pan>).<span.class="tok-type">u3<
484a0 2f 73 70 61 6e 3e 20 7b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e /span>.{</span>.<span.class="lin
484c0 65 22 3e 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 72 65 74 75 e">....<span.class="tok-kw">retu
484e0 72 6e 3c 2f 73 70 61 6e 3e 20 78 2e 2a 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 rn</span>.x.*;</span>.<span.clas
48500 73 3d 22 6c 69 6e 65 22 3e 7d 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 3c 2f 70 72 65 3e 3c 2f s="line">}</span></code></pre></
48520 66 69 67 75 72 65 3e 3c 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
48540 3d 22 73 68 65 6c 6c 2d 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><
48560 70 72 65 3e 3c 73 61 6d 70 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 24 20 3c pre><samp><span.class="line">$.<
48580 6b 62 64 3e 7a 69 67 20 74 65 73 74 20 74 65 73 74 2e 7a 69 67 3c 2f 6b 62 64 3e 3c 2f 73 70 61 kbd>zig.test.test.zig</kbd></spa
485a0 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 n>.<span.class="line"><span.clas
485c0 73 3d 22 74 31 5f 30 22 3e 64 6f 63 67 65 6e 5f 74 6d 70 2f 74 65 73 74 2e 7a 69 67 3a 31 37 3a s="t1_0">docgen_tmp/test.zig:17:
485e0 32 30 3a 20 3c 2f 73 70 61 6e 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 33 31 5f 31 22 3e 65 20:.</span><span.class="t31_1">e
48600 72 72 6f 72 3a 20 3c 2f 73 70 61 6e 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 31 5f 30 22 3e rror:.</span><span.class="t1_0">
48620 65 78 70 65 63 74 65 64 20 74 79 70 65 20 27 2a 63 6f 6e 73 74 20 75 33 27 2c 20 66 6f 75 6e 64 expected.type.'*const.u3',.found
48640 20 27 2a 61 6c 69 67 6e 28 30 3a 33 3a 31 29 20 75 33 27 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e .'*align(0:3:1).u3'</span>.<span
48660 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 2f 73 70 61 6e 3e 20 20 20 20 74 72 79 20 65 78 70 .class="line"></span>....try.exp
48680 65 63 74 28 62 61 72 28 26 61 6d 70 3b 62 69 74 5f 66 69 65 6c 64 2e 62 29 20 3d 3d 20 32 29 3b ect(bar(&amp;bit_field.b).==.2);
486a0 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 20 </span>.<span.class="line">.....
486c0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 33 32 5f 31 ..............<span.class="t32_1
486e0 22 3e 5e 7e 7e 7e 7e 7e 7e 7e 7e 7e 7e 7e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 ">^~~~~~~~~~~~</span>.<span.clas
48700 73 3d 22 6c 69 6e 65 22 3e 3c 2f 73 70 61 6e 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 31 5f s="line"></span><span.class="t1_
48720 30 22 3e 64 6f 63 67 65 6e 5f 74 6d 70 2f 74 65 73 74 2e 7a 69 67 3a 31 37 3a 32 30 3a 20 3c 2f 0">docgen_tmp/test.zig:17:20:.</
48740 73 70 61 6e 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 33 36 5f 31 22 3e 6e 6f 74 65 3a 20 3c span><span.class="t36_1">note:.<
48760 2f 73 70 61 6e 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 31 5f 30 22 3e 70 6f 69 6e 74 65 72 /span><span.class="t1_0">pointer
48780 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 74 6f 20 .host.size.'1'.cannot.cast.into.
487a0 70 6f 69 6e 74 65 72 20 68 6f 73 74 20 73 69 7a 65 20 27 30 27 3c 2f 73 70 61 6e 3e 0a 3c 73 70 pointer.host.size.'0'</span>.<sp
487c0 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 2f 73 70 61 6e 3e 3c 73 70 61 6e 20 63 6c 61 an.class="line"></span><span.cla
487e0 73 73 3d 22 74 31 5f 30 22 3e 64 6f 63 67 65 6e 5f 74 6d 70 2f 74 65 73 74 2e 7a 69 67 3a 31 37 ss="t1_0">docgen_tmp/test.zig:17
48800 3a 32 30 3a 20 3c 2f 73 70 61 6e 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 33 36 5f 31 22 3e :20:.</span><span.class="t36_1">
48820 6e 6f 74 65 3a 20 3c 2f 73 70 61 6e 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 31 5f 30 22 3e note:.</span><span.class="t1_0">
48840 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 20 63 61 pointer.bit.offset.'3'.cannot.ca
48860 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 27 3c 2f st.into.pointer.bit.offset.'0'</
48880 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 2f 73 70 61 6e 3e span>.<span.class="line"></span>
488a0 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 31 5f 30 22 3e 64 6f 63 67 65 6e 5f 74 6d 70 2f 74 65 <span.class="t1_0">docgen_tmp/te
488c0 73 74 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 st.zig:20:11:.</span><span.class
488e0 3d 22 74 33 36 5f 31 22 3e 6e 6f 74 65 3a 20 3c 2f 73 70 61 6e 3e 3c 73 70 61 6e 20 63 6c 61 73 ="t36_1">note:.</span><span.clas
48900 73 3d 22 74 31 5f 30 22 3e 70 61 72 61 6d 65 74 65 72 20 74 79 70 65 20 64 65 63 6c 61 72 65 64 s="t1_0">parameter.type.declared
48920 20 68 65 72 65 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e .here</span>.<span.class="line">
48940 3c 2f 73 70 61 6e 3e 66 6e 20 62 61 72 28 78 3a 20 2a 63 6f 6e 73 74 20 75 33 29 20 75 33 20 7b </span>fn.bar(x:.*const.u3).u3.{
48960 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 20 </span>.<span.class="line">.....
48980 20 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 33 32 5f 31 22 3e 5e 7e 7e 7e 7e 7e 7e .....<span.class="t32_1">^~~~~~~
489a0 7e 7e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 2f 73 ~~</span>.<span.class="line"></s
489c0 70 61 6e 3e 3c 2f 73 70 61 6e 3e 0a 3c 2f 73 61 6d 70 3e 3c 2f 70 72 65 3e 3c 2f 66 69 67 75 72 pan></span>.</samp></pre></figur
489e0 65 3e 0a 20 20 20 20 20 20 3c 70 3e 0a 20 20 20 20 20 20 49 6e 20 74 68 69 73 20 63 61 73 65 2c e>.......<p>.......In.this.case,
48a00 20 74 68 65 20 66 75 6e 63 74 69 6f 6e 20 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d .the.function.<code><span.class=
48a20 22 6c 69 6e 65 22 3e 62 61 72 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 20 63 61 6e 6e 6f 74 20 "line">bar</span></code>.cannot.
48a40 62 65 20 63 61 6c 6c 65 64 20 62 65 63 61 75 73 65 20 74 68 65 20 70 6f 69 6e 74 65 72 0a 20 20 be.called.because.the.pointer...
48a60 20 20 20 20 74 6f 20 74 68 65 20 6e 6f 6e 2d 41 42 49 2d 61 6c 69 67 6e 65 64 20 66 69 65 6c 64 ....to.the.non-ABI-aligned.field
48a80 20 6d 65 6e 74 69 6f 6e 73 20 74 68 65 20 62 69 74 20 6f 66 66 73 65 74 2c 20 62 75 74 20 74 68 .mentions.the.bit.offset,.but.th
48aa0 65 20 66 75 6e 63 74 69 6f 6e 20 65 78 70 65 63 74 73 20 61 6e 20 41 42 49 2d 61 6c 69 67 6e 65 e.function.expects.an.ABI-aligne
48ac0 64 20 70 6f 69 6e 74 65 72 2e 0a 20 20 20 20 20 20 3c 2f 70 3e 0a 20 20 20 20 20 20 3c 70 3e 0a d.pointer........</p>.......<p>.
48ae0 20 20 20 20 20 20 50 6f 69 6e 74 65 72 73 20 74 6f 20 6e 6f 6e 2d 41 42 49 2d 61 6c 69 67 6e 65 ......Pointers.to.non-ABI-aligne
48b00 64 20 66 69 65 6c 64 73 20 73 68 61 72 65 20 74 68 65 20 73 61 6d 65 20 61 64 64 72 65 73 73 20 d.fields.share.the.same.address.
48b20 61 73 20 74 68 65 20 6f 74 68 65 72 20 66 69 65 6c 64 73 20 77 69 74 68 69 6e 20 74 68 65 69 72 as.the.other.fields.within.their
48b40 20 68 6f 73 74 20 69 6e 74 65 67 65 72 3a 0a 20 20 20 20 20 20 3c 2f 70 3e 0a 20 20 20 20 20 20 .host.integer:.......</p>.......
48b60 3c 66 69 67 75 72 65 3e 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
48b80 61 70 22 3e 3c 63 69 74 65 20 63 6c 61 73 73 3d 22 66 69 6c 65 22 3e 70 61 63 6b 65 64 5f 73 74 ap"><cite.class="file">packed_st
48ba0 72 75 63 74 5f 66 69 65 6c 64 5f 61 64 64 72 73 2e 7a 69 67 3c 2f 63 69 74 65 3e 3c 2f 66 69 67 ruct_field_addrs.zig</cite></fig
48bc0 63 61 70 74 69 6f 6e 3e 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="
48be0 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 63 6f 6e 73 74 line"><span.class="tok-kw">const
48c00 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
48c20 75 69 6c 74 69 6e 22 3e 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
48c40 73 73 3d 22 74 6f 6b 2d 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
48c60 61 6e 3e 29 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e an>);</span>.<span.class="line">
48c80 3c 73 70 61 6e 20 63 6c 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
48ca0 3e 20 65 78 70 65 63 74 20 3d 20 73 74 64 2e 74 65 73 74 69 6e 67 2e 65 78 70 65 63 74 3b 3c 2f >.expect.=.std.testing.expect;</
48cc0 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 2f 73 70 61 6e 3e span>.<span.class="line"></span>
48ce0 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d .<span.class="line"><span.class=
48d00 22 74 6f 6b 2d 6b 77 22 3e 63 6f 6e 73 74 3c 2f 73 70 61 6e 3e 20 42 69 74 46 69 65 6c 64 20 3d "tok-kw">const</span>.BitField.=
48d20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 70 61 63 6b 65 64 3c 2f 73 70 .<span.class="tok-kw">packed</sp
48d40 61 6e 3e 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 73 74 72 75 63 74 3c an>.<span.class="tok-kw">struct<
48d60 2f 73 70 61 6e 3e 20 7b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e /span>.{</span>.<span.class="lin
48d80 65 22 3e 20 20 20 20 61 3a 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 e">....a:.<span.class="tok-type"
48da0 3e 75 33 3c 2f 73 70 61 6e 3e 2c 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 >u3</span>,</span>.<span.class="
48dc0 6c 69 6e 65 22 3e 20 20 20 20 62 3a 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 line">....b:.<span.class="tok-ty
48de0 70 65 22 3e 75 33 3c 2f 73 70 61 6e 3e 2c 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 pe">u3</span>,</span>.<span.clas
48e00 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 63 3a 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b s="line">....c:.<span.class="tok
48e20 2d 74 79 70 65 22 3e 75 32 3c 2f 73 70 61 6e 3e 2c 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 -type">u2</span>,</span>.<span.c
48e40 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 7d 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 lass="line">};</span>.<span.clas
48e60 73 3d 22 6c 69 6e 65 22 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 s="line"></span>.<span.class="li
48e80 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 76 61 72 3c 2f 73 70 ne"><span.class="tok-kw">var</sp
48ea0 61 6e 3e 20 62 69 74 5f 66 69 65 6c 64 20 3d 20 42 69 74 46 69 65 6c 64 7b 3c 2f 73 70 61 6e 3e an>.bit_field.=.BitField{</span>
48ec0 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 2e 61 20 3d 20 3c 73 70 .<span.class="line">.....a.=.<sp
48ee0 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 31 3c 2f 73 70 61 6e 3e 2c 3c an.class="tok-number">1</span>,<
48f00 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 2e 62 /span>.<span.class="line">.....b
48f20 20 3d 20 3c 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
48f40 70 61 6e 3e 2c 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e pan>,</span>.<span.class="line">
48f60 20 20 20 20 2e 63 20 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 .....c.=.<span.class="tok-number
48f80 22 3e 33 3c 2f 73 70 61 6e 3e 2c 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 ">3</span>,</span>.<span.class="
48fa0 6c 69 6e 65 22 3e 7d 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e line">};</span>.<span.class="lin
48fc0 65 22 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 e"></span>.<span.class="line"><s
48fe0 70 61 6e 20 63 6c 61 73 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>.<
49000 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 73 74 72 22 3e 26 71 75 6f 74 3b 70 6f 69 6e 74 span.class="tok-str">&quot;point
49020 65 72 73 20 6f 66 20 73 75 62 2d 62 79 74 65 2d 61 6c 69 67 6e 65 64 20 66 69 65 6c 64 73 20 73 ers.of.sub-byte-aligned.fields.s
49040 68 61 72 65 20 61 64 64 72 65 73 73 65 73 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 20 7b 3c 2f 73 hare.addresses&quot;</span>.{</s
49060 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 3c 73 70 61 pan>.<span.class="line">....<spa
49080 6e 20 63 6c 61 73 73 3d 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
490a0 63 74 28 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 62 75 69 6c 74 69 6e 22 3e 40 70 74 ct(<span.class="tok-builtin">@pt
490c0 72 54 6f 49 6e 74 3c 2f 73 70 61 6e 3e 28 26 61 6d 70 3b 62 69 74 5f 66 69 65 6c 64 2e 61 29 20 rToInt</span>(&amp;bit_field.a).
490e0 3d 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 62 75 69 6c 74 69 6e 22 3e 40 70 74 ==.<span.class="tok-builtin">@pt
49100 72 54 6f 49 6e 74 3c 2f 73 70 61 6e 3e 28 26 61 6d 70 3b 62 69 74 5f 66 69 65 6c 64 2e 62 29 29 rToInt</span>(&amp;bit_field.b))
49120 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 ;</span>.<span.class="line">....
49140 3c 73 70 61 6e 20 63 6c 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>.
49160 65 78 70 65 63 74 28 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 62 75 69 6c 74 69 6e 22 expect(<span.class="tok-builtin"
49180 3e 40 70 74 72 54 6f 49 6e 74 3c 2f 73 70 61 6e 3e 28 26 61 6d 70 3b 62 69 74 5f 66 69 65 6c 64 >@ptrToInt</span>(&amp;bit_field
491a0 2e 61 29 20 3d 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 62 75 69 6c 74 69 6e 22 .a).==.<span.class="tok-builtin"
491c0 3e 40 70 74 72 54 6f 49 6e 74 3c 2f 73 70 61 6e 3e 28 26 61 6d 70 3b 62 69 74 5f 66 69 65 6c 64 >@ptrToInt</span>(&amp;bit_field
491e0 2e 63 29 29 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e .c));</span>.<span.class="line">
49200 7d 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 3c 2f 70 72 65 3e 3c 2f 66 69 67 75 72 65 3e 3c 66 }</span></code></pre></figure><f
49220 69 67 75 72 65 3e 3c 66 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
49240 61 70 22 3e 53 68 65 6c 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
49260 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 24 20 3c 6b 62 64 3e 7a 69 67 20 74 ><span.class="line">$.<kbd>zig.t
49280 65 73 74 20 70 61 63 6b 65 64 5f 73 74 72 75 63 74 5f 66 69 65 6c 64 5f 61 64 64 72 73 2e 7a 69 est.packed_struct_field_addrs.zi
492a0 67 3c 2f 6b 62 64 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 g</kbd></span>.<span.class="line
492c0 22 3e 31 2f 31 20 74 65 73 74 2e 70 6f 69 6e 74 65 72 73 20 6f 66 20 73 75 62 2d 62 79 74 65 2d ">1/1.test.pointers.of.sub-byte-
492e0 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 73 2e 2e aligned.fields.share.addresses..
49300 2e 20 4f 4b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 41 ..OK</span>.<span.class="line">A
49320 6c 6c 20 31 20 74 65 73 74 73 20 70 61 73 73 65 64 2e 3c 2f 73 70 61 6e 3e 0a 3c 2f 73 61 6d 70 ll.1.tests.passed.</span>.</samp
49340 3e 3c 2f 70 72 65 3e 3c 2f 66 69 67 75 72 65 3e 0a 20 20 20 20 20 20 3c 70 3e 0a 20 20 20 20 20 ></pre></figure>.......<p>......
49360 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 68 72 .This.can.be.observed.with.<a.hr
49380 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 3c 2f ef="#bitOffsetOf">@bitOffsetOf</
493a0 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 73 65 a>.and.<a.href="#offsetOf">offse
493c0 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 75 72 tOf</a>:.......</p>.......<figur
493e0 65 3e 3c 66 69 67 63 61 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
49400 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 74 4f ite.class="file">test_bitOffsetO
49420 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 69 6f f_offsetOf.zig</cite></figcaptio
49440 6e 3e 3c 70 72 65 3e 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e n><pre><code><span.class="line">
49460 3c 73 70 61 6e 20 63 6c 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
49480 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
494a0 22 3e 40 69 6d 70 6f 72 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
494c0 6b 2d 73 74 72 22 3e 26 71 75 6f 74 3b 73 74 64 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 29 3b 3c k-str">&quot;std&quot;</span>);<
494e0 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 /span>.<span.class="line"><span.
49500 63 6c 61 73 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
49520 63 74 20 3d 20 73 74 64 2e 74 65 73 74 69 6e 67 2e 65 78 70 65 63 74 3b 3c 2f 73 70 61 6e 3e 0a ct.=.std.testing.expect;</span>.
49540 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e <span.class="line"></span>.<span
49560 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b .class="line"><span.class="tok-k
49580 77 22 3e 63 6f 6e 73 74 3c 2f 73 70 61 6e 3e 20 42 69 74 46 69 65 6c 64 20 3d 20 3c 73 70 61 6e w">const</span>.BitField.=.<span
495a0 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
495c0 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>
495e0 20 7b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 .{</span>.<span.class="line">...
49600 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 73 .a:.<span.class="tok-type">u3</s
49620 70 61 6e 3e 2c 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e pan>,</span>.<span.class="line">
49640 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 75 33 ....b:.<span.class="tok-type">u3
49660 3c 2f 73 70 61 6e 3e 2c 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e </span>,</span>.<span.class="lin
49680 65 22 3e 20 20 20 20 63 3a 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 e">....c:.<span.class="tok-type"
496a0 3e 75 32 3c 2f 73 70 61 6e 3e 2c 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 >u2</span>,</span>.<span.class="
496c0 6c 69 6e 65 22 3e 7d 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e line">};</span>.<span.class="lin
496e0 65 22 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 e"></span>.<span.class="line"><s
49700 70 61 6e 20 63 6c 61 73 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>.<
49720 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 73 74 72 22 3e 26 71 75 6f 74 3b 70 6f 69 6e 74 span.class="tok-str">&quot;point
49740 65 72 20 74 6f 20 6e 6f 6e 2d 62 69 74 2d 61 6c 69 67 6e 65 64 20 66 69 65 6c 64 26 71 75 6f 74 er.to.non-bit-aligned.field&quot
49760 3b 3c 2f 73 70 61 6e 3e 20 7b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c ;</span>.{</span>.<span.class="l
49780 69 6e 65 22 3e 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 63 6f ine">....<span.class="tok-kw">co
497a0 6d 70 74 69 6d 65 3c 2f 73 70 61 6e 3e 20 7b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 mptime</span>.{</span>.<span.cla
497c0 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 ss="line">........<span.class="t
497e0 6f 6b 2d 6b 77 22 3e 74 72 79 3c 2f 73 70 61 6e 3e 20 65 78 70 65 63 74 28 3c 73 70 61 6e 20 63 ok-kw">try</span>.expect(<span.c
49800 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 66 3c lass="tok-builtin">@bitOffsetOf<
49820 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 74 6f /span>(BitField,.<span.class="to
49840 6b 2d 73 74 72 22 3e 26 71 75 6f 74 3b 61 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 29 20 3d 3d 20 k-str">&quot;a&quot;</span>).==.
49860 3c 73 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
49880 3e 29 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 >);</span>.<span.class="line">..
498a0 20 20 20 20 20 20 3c 73 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</
498c0 73 70 61 6e 3e 20 65 78 70 65 63 74 28 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 62 75 span>.expect(<span.class="tok-bu
498e0 69 6c 74 69 6e 22 3e 40 62 69 74 4f 66 66 73 65 74 4f 66 3c 2f 73 70 61 6e 3e 28 42 69 74 46 69 iltin">@bitOffsetOf</span>(BitFi
49900 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
49920 3b 62 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 29 20 3d 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d ;b&quot;</span>).==.<span.class=
49940 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 33 3c 2f 73 70 61 6e 3e 29 3b 3c 2f 73 70 61 6e 3e 0a 3c "tok-number">3</span>);</span>.<
49960 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 20 20 20 20 3c 73 70 61 6e 20 span.class="line">........<span.
49980 63 6c 61 73 73 3d 22 74 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
499a0 28 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 62 75 69 6c 74 69 6e 22 3e 40 62 69 74 4f (<span.class="tok-builtin">@bitO
499c0 66 66 73 65 74 4f 66 3c 2f 73 70 61 6e 3e 28 42 69 74 46 69 65 6c 64 2c 20 3c 73 70 61 6e 20 63 ffsetOf</span>(BitField,.<span.c
499e0 6c 61 73 73 3d 22 74 6f 6b 2d 73 74 72 22 3e 26 71 75 6f 74 3b 63 26 71 75 6f 74 3b 3c 2f 73 70 lass="tok-str">&quot;c&quot;</sp
49a00 61 6e 3e 29 20 3d 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 an>).==.<span.class="tok-number"
49a20 3e 36 3c 2f 73 70 61 6e 3e 29 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 >6</span>);</span>.<span.class="
49a40 6c 69 6e 65 22 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 line"></span>.<span.class="line"
49a60 3e 20 20 20 20 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 74 72 >........<span.class="tok-kw">tr
49a80 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
49aa0 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
49ac0 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
49ae0 3b 61 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 29 20 3d 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d ;a&quot;</span>).==.<span.class=
49b00 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 30 3c 2f 73 70 61 6e 3e 29 3b 3c 2f 73 70 61 6e 3e 0a 3c "tok-number">0</span>);</span>.<
49b20 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 20 20 20 20 3c 73 70 61 6e 20 span.class="line">........<span.
49b40 63 6c 61 73 73 3d 22 74 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
49b60 28 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 62 75 69 6c 74 69 6e 22 3e 40 6f 66 66 73 (<span.class="tok-builtin">@offs
49b80 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
49ba0 73 3d 22 74 6f 6b 2d 73 74 72 22 3e 26 71 75 6f 74 3b 62 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e s="tok-str">&quot;b&quot;</span>
49bc0 29 20 3d 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 30 3c ).==.<span.class="tok-number">0<
49be0 2f 73 70 61 6e 3e 29 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e /span>);</span>.<span.class="lin
49c00 65 22 3e 20 20 20 20 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e e">........<span.class="tok-kw">
49c20 74 72 79 3c 2f 73 70 61 6e 3e 20 65 78 70 65 63 74 28 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 try</span>.expect(<span.class="t
49c40 6f 6b 2d 62 75 69 6c 74 69 6e 22 3e 40 6f 66 66 73 65 74 4f 66 3c 2f 73 70 61 6e 3e 28 42 69 74 ok-builtin">@offsetOf</span>(Bit
49c60 46 69 65 6c 64 2c 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 73 74 72 22 3e 26 71 75 Field,.<span.class="tok-str">&qu
49c80 6f 74 3b 63 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 29 20 3d 3d 20 3c 73 70 61 6e 20 63 6c 61 73 ot;c&quot;</span>).==.<span.clas
49ca0 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 30 3c 2f 73 70 61 6e 3e 29 3b 3c 2f 73 70 61 6e 3e s="tok-number">0</span>);</span>
49cc0 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 7d 3c 2f 73 70 61 6e 3e .<span.class="line">....}</span>
49ce0 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 7d 3c 2f 73 70 61 6e 3e 3c 2f 63 6f .<span.class="line">}</span></co
49d00 64 65 3e 3c 2f 70 72 65 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
49d20 70 74 69 6f 6e 20 63 6c 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
49d40 69 67 63 61 70 74 69 6f 6e 3e 3c 70 72 65 3e 3c 73 61 6d 70 3e 3c 73 70 61 6e 20 63 6c 61 73 73 igcaption><pre><samp><span.class
49d60 3d 22 6c 69 6e 65 22 3e 24 20 3c 6b 62 64 3e 7a 69 67 20 74 65 73 74 20 74 65 73 74 5f 62 69 74 ="line">$.<kbd>zig.test.test_bit
49d80 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 3c 2f 73 70 61 OffsetOf_offsetOf.zig</kbd></spa
49da0 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 31 2f 31 20 74 65 73 74 2e 70 n>.<span.class="line">1/1.test.p
49dc0 6f 69 6e 74 65 72 20 74 6f 20 6e 6f 6e 2d 62 69 74 2d 61 6c 69 67 6e 65 64 20 66 69 65 6c 64 2e ointer.to.non-bit-aligned.field.
49de0 2e 2e 20 4f 4b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e ...OK</span>.<span.class="line">
49e00 41 6c 6c 20 31 20 74 65 73 74 73 20 70 61 73 73 65 64 2e 3c 2f 73 70 61 6e 3e 0a 3c 2f 73 61 6d All.1.tests.passed.</span>.</sam
49e20 70 3e 3c 2f 70 72 65 3e 3c 2f 66 69 67 75 72 65 3e 0a 20 20 20 20 20 20 3c 70 3e 0a 20 20 20 20 p></pre></figure>.......<p>.....
49e40 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 73 61 6d 65 20 61 ..Packed.structs.have.the.same.a
49e60 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 69 6e 74 65 67 65 lignment.as.their.backing.intege
49e80 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 20 20 20 20 70 6f r,.however,.overaligned.......po
49ea0 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 61 6e 20 6f 76 65 inters.to.packed.structs.can.ove
49ec0 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 20 20 20 3c 66 69 rride.this:.......</p>.......<fi
49ee0 67 75 72 65 3e 3c 66 69 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"
49f00 3e 3c 63 69 74 65 20 63 6c 61 73 73 3d 22 66 69 6c 65 22 3e 6f 76 65 72 61 6c 69 67 6e 65 64 5f ><cite.class="file">overaligned_
49f20 70 61 63 6b 65 64 5f 73 74 72 75 63 74 2e 7a 69 67 3c 2f 63 69 74 65 3e 3c 2f 66 69 67 63 61 70 packed_struct.zig</cite></figcap
49f40 74 69 6f 6e 3e 3c 70 72 65 3e 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e tion><pre><code><span.class="lin
49f60 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 63 6f 6e 73 74 3c 2f 73 e"><span.class="tok-kw">const</s
49f80 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
49fa0 74 69 6e 22 3e 40 69 6d 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=
49fc0 22 74 6f 6b 2d 73 74 72 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>
49fe0 29 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 );</span>.<span.class="line"><sp
4a000 61 6e 20 63 6c 61 73 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
4a020 78 70 65 63 74 20 3d 20 73 74 64 2e 74 65 73 74 69 6e 67 2e 65 78 70 65 63 74 3b 3c 2f 73 70 61 xpect.=.std.testing.expect;</spa
4a040 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 n>.<span.class="line"></span>.<s
4a060 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f pan.class="line"><span.class="to
4a080 6b 2d 6b 77 22 3e 63 6f 6e 73 74 3c 2f 73 70 61 6e 3e 20 53 20 3d 20 3c 73 70 61 6e 20 63 6c 61 k-kw">const</span>.S.=.<span.cla
4a0a0 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 70 61 63 6b 65 64 3c 2f 73 70 61 6e 3e 20 3c 73 70 61 6e 20 ss="tok-kw">packed</span>.<span.
4a0c0 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 73 74 72 75 63 74 3c 2f 73 70 61 6e 3e 20 7b 3c 2f class="tok-kw">struct</span>.{</
4a0e0 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 61 3a 20 span>.<span.class="line">....a:.
4a100 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
4a120 3e 2c 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 >,</span>.<span.class="line">...
4a140 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</
4a160 73 70 61 6e 3e 2c 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 span>,</span>.<span.class="line"
4a180 3e 7d 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 >};</span>.<span.class="line"><s
4a1a0 70 61 6e 20 63 6c 61 73 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>.<
4a1c0 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 73 74 72 22 3e 26 71 75 6f 74 3b 6f 76 65 72 61 span.class="tok-str">&quot;overa
4a1e0 6c 69 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 26 ligned.pointer.to.packed.struct&
4a200 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 20 7b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 quot;</span>.{</span>.<span.clas
4a220 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 s="line">....<span.class="tok-kw
4a240 22 3e 76 61 72 3c 2f 73 70 61 6e 3e 20 66 6f 6f 3a 20 53 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d ">var</span>.foo:.S.<span.class=
4a260 22 74 6f 6b 2d 6b 77 22 3e 61 6c 69 67 6e 3c 2f 73 70 61 6e 3e 28 3c 73 70 61 6e 20 63 6c 61 73 "tok-kw">align</span>(<span.clas
4a280 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 34 3c 2f 73 70 61 6e 3e 29 20 3d 20 2e 7b 20 2e 61 s="tok-number">4</span>).=..{..a
4a2a0 20 3d 20 3c 73 70 61 6e 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
4a2c0 70 61 6e 3e 2c 20 2e 62 20 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 pan>,..b.=.<span.class="tok-numb
4a2e0 65 72 22 3e 32 3c 2f 73 70 61 6e 3e 20 7d 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 er">2</span>.};</span>.<span.cla
4a300 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b ss="line">....<span.class="tok-k
4a320 77 22 3e 63 6f 6e 73 74 3c 2f 73 70 61 6e 3e 20 70 74 72 3a 20 2a 3c 73 70 61 6e 20 63 6c 61 73 w">const</span>.ptr:.*<span.clas
4a340 73 3d 22 74 6f 6b 2d 6b 77 22 3e 61 6c 69 67 6e 3c 2f 73 70 61 6e 3e 28 3c 73 70 61 6e 20 63 6c s="tok-kw">align</span>(<span.cl
4a360 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 34 3c 2f 73 70 61 6e 3e 29 20 53 20 3d 20 26 ass="tok-number">4</span>).S.=.&
4a380 61 6d 70 3b 66 6f 6f 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e amp;foo;</span>.<span.class="lin
4a3a0 65 22 3e 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 63 6f 6e 73 e">....<span.class="tok-kw">cons
4a3c0 74 3c 2f 73 70 61 6e 3e 20 70 74 72 5f 74 6f 5f 62 3a 20 2a 3c 73 70 61 6e 20 63 6c 61 73 73 3d t</span>.ptr_to_b:.*<span.class=
4a3e0 22 74 6f 6b 2d 74 79 70 65 22 3e 75 33 32 3c 2f 73 70 61 6e 3e 20 3d 20 26 61 6d 70 3b 70 74 72 "tok-type">u32</span>.=.&amp;ptr
4a400 2e 62 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 .b;</span>.<span.class="line">..
4a420 20 20 3c 73 70 61 6e 20 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
4a440 3e 20 65 78 70 65 63 74 28 70 74 72 5f 74 6f 5f 62 2e 2a 20 3d 3d 20 3c 73 70 61 6e 20 63 6c 61 >.expect(ptr_to_b.*.==.<span.cla
4a460 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 32 3c 2f 73 70 61 6e 3e 29 3b 3c 2f 73 70 61 6e ss="tok-number">2</span>);</span
4a480 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 7d 3c 2f 73 70 61 6e 3e 3c 2f 63 >.<span.class="line">}</span></c
4a4a0 6f 64 65 3e 3c 2f 70 72 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
4a4c0 61 70 74 69 6f 6e 20 63 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</
4a4e0 66 69 67 63 61 70 74 69 6f 6e 3e 3c 70 72 65 3e 3c 73 61 6d 70 3e 3c 73 70 61 6e 20 63 6c 61 73 figcaption><pre><samp><span.clas
4a500 73 3d 22 6c 69 6e 65 22 3e 24 20 3c 6b 62 64 3e 7a 69 67 20 74 65 73 74 20 6f 76 65 72 61 6c 69 s="line">$.<kbd>zig.test.overali
4a520 67 6e 65 64 5f 70 61 63 6b 65 64 5f 73 74 72 75 63 74 2e 7a 69 67 3c 2f 6b 62 64 3e 3c 2f 73 70 gned_packed_struct.zig</kbd></sp
4a540 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 31 2f 31 20 74 65 73 74 2e an>.<span.class="line">1/1.test.
4a560 6f 76 65 72 61 6c 69 67 6e 65 64 20 70 6f 69 6e 74 65 72 20 74 6f 20 70 61 63 6b 65 64 20 73 74 overaligned.pointer.to.packed.st
4a580 72 75 63 74 2e 2e 2e 20 4f 4b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c ruct....OK</span>.<span.class="l
4a5a0 69 6e 65 22 3e 41 6c 6c 20 31 20 74 65 73 74 73 20 70 61 73 73 65 64 2e 3c 2f 73 70 61 6e 3e 0a ine">All.1.tests.passed.</span>.
4a5c0 3c 2f 73 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>
4a5e0 0a 20 20 20 20 20 20 49 74 27 73 20 61 6c 73 6f 20 70 6f 73 73 69 62 6c 65 20 74 6f 20 73 65 74 .......It's.also.possible.to.set
4a600 20 61 6c 69 67 6e 6d 65 6e 74 20 6f 66 20 73 74 72 75 63 74 20 66 69 65 6c 64 73 3a 0a 20 20 20 .alignment.of.struct.fields:....
4a620 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
4a640 6e 20 63 6c 61 73 73 3d 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
4a660 69 6c 65 22 3e 74 65 73 74 5f 61 6c 69 67 6e 65 64 5f 73 74 72 75 63 74 5f 66 69 65 6c 64 73 2e ile">test_aligned_struct_fields.
4a680 7a 69 67 3c 2f 63 69 74 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
4a6a0 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 e><span.class="line"><span.class
4a6c0 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
4a6e0 61 6e 20 63 6c 61 73 73 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</
4a700 73 70 61 6e 3e 28 3c 73 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
4a720 74 3b 73 74 64 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 29 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 t;std&quot;</span>);</span>.<spa
4a740 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d n.class="line"><span.class="tok-
4a760 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
4a780 74 64 2e 74 65 73 74 69 6e 67 2e 65 78 70 65 63 74 45 71 75 61 6c 3b 3c 2f 73 70 61 6e 3e 0a 3c td.testing.expectEqual;</span>.<
4a7a0 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 span.class="line"></span>.<span.
4a7c0 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 class="line"><span.class="tok-kw
4a7e0 22 3e 74 65 73 74 3c 2f 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
4a800 74 72 22 3e 26 71 75 6f 74 3b 61 6c 69 67 6e 65 64 20 73 74 72 75 63 74 20 66 69 65 6c 64 73 26 tr">&quot;aligned.struct.fields&
4a820 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 20 7b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 quot;</span>.{</span>.<span.clas
4a840 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 s="line">....<span.class="tok-kw
4a860 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="
4a880 74 6f 6b 2d 6b 77 22 3e 73 74 72 75 63 74 3c 2f 73 70 61 6e 3e 20 7b 3c 2f 73 70 61 6e 3e 0a 3c tok-kw">struct</span>.{</span>.<
4a8a0 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 20 20 20 20 61 3a 20 3c 73 70 span.class="line">........a:.<sp
4a8c0 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 3c an.class="tok-type">u32</span>.<
4a8e0 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>
4a900 28 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 32 3c 2f 73 70 61 (<span.class="tok-number">2</spa
4a920 6e 3e 29 2c 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 n>),</span>.<span.class="line">.
4a940 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 65 22 .......b:.<span.class="tok-type"
4a960 3e 75 33 32 3c 2f 73 70 61 6e 3e 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 >u32</span>.<span.class="tok-kw"
4a980 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
4a9a0 75 6d 62 65 72 22 3e 36 34 3c 2f 73 70 61 6e 3e 29 2c 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 umber">64</span>),</span>.<span.
4a9c0 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 7d 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e class="line">....};</span>.<span
4a9e0 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 .class="line">....<span.class="t
4aa00 6f 6b 2d 6b 77 22 3e 76 61 72 3c 2f 73 70 61 6e 3e 20 66 6f 6f 20 3d 20 53 7b 20 2e 61 20 3d 20 ok-kw">var</span>.foo.=.S{..a.=.
4aa20 3c 73 70 61 6e 20 63 6c 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
4aa40 3e 2c 20 2e 62 20 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 >,..b.=.<span.class="tok-number"
4aa60 3e 32 3c 2f 73 70 61 6e 3e 20 7d 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d >2</span>.};</span>.<span.class=
4aa80 22 6c 69 6e 65 22 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 "line"></span>.<span.class="line
4aaa0 22 3e 20 20 20 20 3c 73 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</
4aac0 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
4aae0 6f 6b 2d 6e 75 6d 62 65 72 22 3e 36 34 3c 2f 73 70 61 6e 3e 2c 20 3c 73 70 61 6e 20 63 6c 61 73 ok-number">64</span>,.<span.clas
4ab00 73 3d 22 74 6f 6b 2d 62 75 69 6c 74 69 6e 22 3e 40 61 6c 69 67 6e 4f 66 3c 2f 73 70 61 6e 3e 28 s="tok-builtin">@alignOf</span>(
4ab20 53 29 29 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 S));</span>.<span.class="line">.
4ab40 20 20 20 3c 73 70 61 6e 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
4ab60 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 6b n>.expectEqual(*<span.class="tok
4ab80 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
4aba0 6f 6b 2d 6e 75 6d 62 65 72 22 3e 32 3c 2f 73 70 61 6e 3e 29 20 3c 73 70 61 6e 20 63 6c 61 73 73 ok-number">2</span>).<span.class
4abc0 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
4abe0 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>
4ac00 28 26 61 6d 70 3b 66 6f 6f 2e 61 29 29 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 (&amp;foo.a));</span>.<span.clas
4ac20 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 s="line">....<span.class="tok-kw
4ac40 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 6e 20 ">try</span>.expectEqual(*<span.
4ac60 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
4ac80 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 36 34 3c 2f 73 70 61 6e 3e 29 20 n.class="tok-number">64</span>).
4aca0 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
4acc0 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 54 79 >,.<span.class="tok-builtin">@Ty
4ace0 70 65 4f 66 3c 2f 73 70 61 6e 3e 28 26 61 6d 70 3b 66 6f 6f 2e 62 29 29 3b 3c 2f 73 70 61 6e 3e peOf</span>(&amp;foo.b));</span>
4ad00 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 7d 3c 2f 73 70 61 6e 3e 3c 2f 63 6f .<span.class="line">}</span></co
4ad20 64 65 3e 3c 2f 70 72 65 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
4ad40 70 74 69 6f 6e 20 63 6c 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
4ad60 69 67 63 61 70 74 69 6f 6e 3e 3c 70 72 65 3e 3c 73 61 6d 70 3e 3c 73 70 61 6e 20 63 6c 61 73 73 igcaption><pre><samp><span.class
4ad80 3d 22 6c 69 6e 65 22 3e 24 20 3c 6b 62 64 3e 7a 69 67 20 74 65 73 74 20 74 65 73 74 5f 61 6c 69 ="line">$.<kbd>zig.test.test_ali
4ada0 67 6e 65 64 5f 73 74 72 75 63 74 5f 66 69 65 6c 64 73 2e 7a 69 67 3c 2f 6b 62 64 3e 3c 2f 73 70 gned_struct_fields.zig</kbd></sp
4adc0 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 31 2f 31 20 74 65 73 74 2e an>.<span.class="line">1/1.test.
4ade0 61 6c 69 67 6e 65 64 20 73 74 72 75 63 74 20 66 69 65 6c 64 73 2e 2e 2e 20 4f 4b 3c 2f 73 70 61 aligned.struct.fields....OK</spa
4ae00 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 41 6c 6c 20 31 20 74 65 73 74 n>.<span.class="line">All.1.test
4ae20 73 20 70 61 73 73 65 64 2e 3c 2f 73 70 61 6e 3e 0a 3c 2f 73 61 6d 70 3e 3c 2f 70 72 65 3e 3c 2f s.passed.</span>.</samp></pre></
4ae40 66 69 67 75 72 65 3e 0a 20 20 20 20 20 20 3c 70 3e 0a 20 20 20 20 20 20 55 73 69 6e 67 20 70 61 figure>.......<p>.......Using.pa
4ae60 63 6b 65 64 20 73 74 72 75 63 74 73 20 77 69 74 68 20 3c 61 20 68 72 65 66 3d 22 23 76 6f 6c 61 cked.structs.with.<a.href="#vola
4ae80 74 69 6c 65 22 3e 76 6f 6c 61 74 69 6c 65 3c 2f 61 3e 20 69 73 20 70 72 6f 62 6c 65 6d 61 74 69 tile">volatile</a>.is.problemati
4aea0 63 2c 20 61 6e 64 20 6d 61 79 20 62 65 20 61 20 63 6f 6d 70 69 6c 65 20 65 72 72 6f 72 20 69 6e c,.and.may.be.a.compile.error.in
4aec0 20 74 68 65 20 66 75 74 75 72 65 2e 0a 20 20 20 20 20 20 46 6f 72 20 64 65 74 61 69 6c 73 20 6f .the.future........For.details.o
4aee0 6e 20 74 68 69 73 20 73 75 62 73 63 72 69 62 65 20 74 6f 0a 20 20 20 20 20 20 3c 61 20 68 72 65 n.this.subscribe.to.......<a.hre
4af00 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
4af20 67 2f 69 73 73 75 65 73 2f 31 37 36 31 22 3e 74 68 69 73 20 69 73 73 75 65 3c 2f 61 3e 2e 0a 20 g/issues/1761">this.issue</a>...
4af40 20 20 20 20 20 54 4f 44 4f 20 75 70 64 61 74 65 20 74 68 65 73 65 20 64 6f 63 73 20 77 69 74 68 .....TODO.update.these.docs.with
4af60 20 61 20 72 65 63 6f 6d 6d 65 6e 64 61 74 69 6f 6e 20 6f 6e 20 68 6f 77 20 74 6f 20 75 73 65 20 .a.recommendation.on.how.to.use.
4af80 70 61 63 6b 65 64 20 73 74 72 75 63 74 73 20 77 69 74 68 20 4d 4d 49 4f 0a 20 20 20 20 20 20 28 packed.structs.with.MMIO.......(
4afa0 74 68 65 20 75 73 65 20 63 61 73 65 20 66 6f 72 20 76 6f 6c 61 74 69 6c 65 20 70 61 63 6b 65 64 the.use.case.for.volatile.packed
4afc0 20 73 74 72 75 63 74 73 29 20 6f 6e 63 65 20 74 68 69 73 20 69 73 73 75 65 20 69 73 20 72 65 73 .structs).once.this.issue.is.res
4afe0 6f 6c 76 65 64 2e 0a 20 20 20 20 20 20 44 6f 6e 27 74 20 77 6f 72 72 79 2c 20 74 68 65 72 65 20 olved........Don't.worry,.there.
4b000 77 69 6c 6c 20 62 65 20 61 20 67 6f 6f 64 20 73 6f 6c 75 74 69 6f 6e 20 66 6f 72 20 74 68 69 73 will.be.a.good.solution.for.this
4b020 20 75 73 65 20 63 61 73 65 20 69 6e 20 7a 69 67 2e 0a 20 20 20 20 20 20 3c 2f 70 3e 0a 20 20 20 .use.case.in.zig........</p>....
4b040 20 20 20 0a 0a 20 20 20 20 20 20 3c 68 33 20 69 64 3d 22 53 74 72 75 63 74 2d 4e 61 6d 69 6e 67 ...........<h3.id="Struct-Naming
4b060 22 3e 3c 61 20 68 72 65 66 3d 22 23 74 6f 63 2d 53 74 72 75 63 74 2d 4e 61 6d 69 6e 67 22 3e 53 "><a.href="#toc-Struct-Naming">S
4b080 74 72 75 63 74 20 4e 61 6d 69 6e 67 3c 2f 61 3e 20 3c 61 20 63 6c 61 73 73 3d 22 68 64 72 22 20 truct.Naming</a>.<a.class="hdr".
4b0a0 68 72 65 66 3d 22 23 53 74 72 75 63 74 2d 4e 61 6d 69 6e 67 22 3e c2 a7 3c 2f 61 3e 3c 2f 68 33 href="#Struct-Naming">..</a></h3
4b0c0 3e 0a 0a 20 20 20 20 20 20 3c 70 3e 53 69 6e 63 65 20 61 6c 6c 20 73 74 72 75 63 74 73 20 61 72 >........<p>Since.all.structs.ar
4b0e0 65 20 61 6e 6f 6e 79 6d 6f 75 73 2c 20 5a 69 67 20 69 6e 66 65 72 73 20 74 68 65 20 74 79 70 65 e.anonymous,.Zig.infers.the.type
4b100 20 6e 61 6d 65 20 62 61 73 65 64 20 6f 6e 20 61 20 66 65 77 20 72 75 6c 65 73 2e 3c 2f 70 3e 0a .name.based.on.a.few.rules.</p>.
4b120 20 20 20 20 20 20 3c 75 6c 3e 0a 20 20 20 20 20 20 20 20 20 20 3c 6c 69 3e 49 66 20 74 68 65 20 ......<ul>...........<li>If.the.
4b140 73 74 72 75 63 74 20 69 73 20 69 6e 20 74 68 65 20 69 6e 69 74 69 61 6c 69 7a 61 74 69 6f 6e 20 struct.is.in.the.initialization.
4b160 65 78 70 72 65 73 73 69 6f 6e 20 6f 66 20 61 20 76 61 72 69 61 62 6c 65 2c 20 69 74 20 67 65 74 expression.of.a.variable,.it.get
4b180 73 20 6e 61 6d 65 64 20 61 66 74 65 72 0a 20 20 20 20 20 20 20 20 20 20 74 68 61 74 20 76 61 72 s.named.after...........that.var
4b1a0 69 61 62 6c 65 2e 3c 2f 6c 69 3e 0a 20 20 20 20 20 20 20 20 20 20 3c 6c 69 3e 49 66 20 74 68 65 iable.</li>...........<li>If.the
4b1c0 20 73 74 72 75 63 74 20 69 73 20 69 6e 20 74 68 65 20 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c .struct.is.in.the.<code><span.cl
4b1e0 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e ass="line"><span.class="tok-kw">
4b200 72 65 74 75 72 6e 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 20 65 78 70 72 return</span></span></code>.expr
4b220 65 73 73 69 6f 6e 2c 20 69 74 20 67 65 74 73 20 6e 61 6d 65 64 20 61 66 74 65 72 0a 20 20 20 20 ession,.it.gets.named.after.....
4b240 20 20 20 20 20 20 74 68 65 20 66 75 6e 63 74 69 6f 6e 20 69 74 20 69 73 20 72 65 74 75 72 6e 69 ......the.function.it.is.returni
4b260 6e 67 20 66 72 6f 6d 2c 20 77 69 74 68 20 74 68 65 20 70 61 72 61 6d 65 74 65 72 20 76 61 6c 75 ng.from,.with.the.parameter.valu
4b280 65 73 20 73 65 72 69 61 6c 69 7a 65 64 2e 3c 2f 6c 69 3e 0a 20 20 20 20 20 20 20 20 20 20 3c 6c es.serialized.</li>...........<l
4b2a0 69 3e 4f 74 68 65 72 77 69 73 65 2c 20 74 68 65 20 73 74 72 75 63 74 20 67 65 74 73 20 61 20 6e i>Otherwise,.the.struct.gets.a.n
4b2c0 61 6d 65 20 73 75 63 68 20 61 73 20 3c 63 6f 64 65 3e 28 61 6e 6f 6e 79 6d 6f 75 73 20 73 74 72 ame.such.as.<code>(anonymous.str
4b2e0 75 63 74 20 61 74 20 66 69 6c 65 2e 7a 69 67 3a 37 3a 33 38 29 3c 2f 63 6f 64 65 3e 2e 3c 2f 6c uct.at.file.zig:7:38)</code>.</l
4b300 69 3e 0a 20 20 20 20 20 20 20 20 20 20 3c 6c 69 3e 49 66 20 74 68 65 20 73 74 72 75 63 74 20 69 i>...........<li>If.the.struct.i
4b320 73 20 64 65 63 6c 61 72 65 64 20 69 6e 73 69 64 65 20 61 6e 6f 74 68 65 72 20 73 74 72 75 63 74 s.declared.inside.another.struct
4b340 2c 20 69 74 20 67 65 74 73 20 6e 61 6d 65 64 20 61 66 74 65 72 20 62 6f 74 68 20 74 68 65 20 70 ,.it.gets.named.after.both.the.p
4b360 61 72 65 6e 74 0a 20 20 20 20 20 20 20 20 20 20 73 74 72 75 63 74 20 61 6e 64 20 74 68 65 20 6e arent...........struct.and.the.n
4b380 61 6d 65 20 69 6e 66 65 72 72 65 64 20 62 79 20 74 68 65 20 70 72 65 76 69 6f 75 73 20 72 75 6c ame.inferred.by.the.previous.rul
4b3a0 65 73 2c 20 73 65 70 61 72 61 74 65 64 20 62 79 20 61 20 64 6f 74 2e 3c 2f 6c 69 3e 0a 20 20 20 es,.separated.by.a.dot.</li>....
4b3c0 20 20 20 3c 2f 75 6c 3e 0a 20 20 20 20 20 20 3c 66 69 67 75 72 65 3e 3c 66 69 67 63 61 70 74 69 ...</ul>.......<figure><figcapti
4b3e0 6f 6e 20 63 6c 61 73 73 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="
4b400 66 69 6c 65 22 3e 73 74 72 75 63 74 5f 6e 61 6d 65 2e 7a 69 67 3c 2f 63 69 74 65 3e 3c 2f 66 69 file">struct_name.zig</cite></fi
4b420 67 63 61 70 74 69 6f 6e 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=
4b440 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 63 6f 6e 73 "line"><span.class="tok-kw">cons
4b460 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-
4b480 62 75 69 6c 74 69 6e 22 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
4b4a0 61 73 73 3d 22 74 6f 6b 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
4b4c0 70 61 6e 3e 29 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 pan>);</span>.<span.class="line"
4b4e0 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 ></span>.<span.class="line"><spa
4b500 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
4b520 6e 20 63 6c 61 73 73 3d 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
4b540 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
4b560 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>
4b580 20 7b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 .{</span>.<span.class="line">...
4b5a0 20 3c 73 70 61 6e 20 63 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
4b5c0 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 73 74 n>.Foo.=.<span.class="tok-kw">st
4b5e0 72 75 63 74 3c 2f 73 70 61 6e 3e 20 7b 7d 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 ruct</span>.{};</span>.<span.cla
4b600 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 73 74 64 2e 64 65 62 75 67 2e 70 72 69 6e 74 28 3c 73 ss="line">....std.debug.print(<s
4b620 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 73 74 72 22 3e 26 71 75 6f 74 3b 76 61 72 69 61 62 pan.class="tok-str">&quot;variab
4b640 6c 65 3a 20 7b 73 7d 5c 6e 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 2c 20 2e 7b 3c 73 70 61 6e 20 le:.{s}\n&quot;</span>,..{<span.
4b660 63 6c 61 73 73 3d 22 74 6f 6b 2d 62 75 69 6c 74 69 6e 22 3e 40 74 79 70 65 4e 61 6d 65 3c 2f 73 class="tok-builtin">@typeName</s
4b680 70 61 6e 3e 28 46 6f 6f 29 7d 29 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d pan>(Foo)});</span>.<span.class=
4b6a0 22 6c 69 6e 65 22 3e 20 20 20 20 73 74 64 2e 64 65 62 75 67 2e 70 72 69 6e 74 28 3c 73 70 61 6e "line">....std.debug.print(<span
4b6c0 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
4b6e0 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
4b700 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
4b720 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</
4b740 73 70 61 6e 3e 20 7b 7d 29 7d 29 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d span>.{})});</span>.<span.class=
4b760 22 6c 69 6e 65 22 3e 20 20 20 20 73 74 64 2e 64 65 62 75 67 2e 70 72 69 6e 74 28 3c 73 70 61 6e "line">....std.debug.print(<span
4b780 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 73 74 72 22 3e 26 71 75 6f 74 3b 66 75 6e 63 74 69 6f 6e 3a .class="tok-str">&quot;function:
4b7a0 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 61 .{s}\n&quot;</span>,..{<span.cla
4b7c0 73 73 3d 22 74 6f 6b 2d 62 75 69 6c 74 69 6e 22 3e 40 74 79 70 65 4e 61 6d 65 3c 2f 73 70 61 6e ss="tok-builtin">@typeName</span
4b7e0 3e 28 4c 69 73 74 28 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 69 33 >(List(<span.class="tok-type">i3
4b800 32 3c 2f 73 70 61 6e 3e 29 29 7d 29 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 2</span>))});</span>.<span.class
4b820 3d 22 6c 69 6e 65 22 3e 7d 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 ="line">}</span>.<span.class="li
4b840 6e 65 22 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c ne"></span>.<span.class="line"><
4b860 73 70 61 6e 20 63 6c 61 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
4b880 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 66 6e 22 3e 4c 69 73 74 3c 2f 73 70 61 6e 3e 28 3c pan.class="tok-fn">List</span>(<
4b8a0 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
4b8c0 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
4b8e0 70 65 3c 2f 73 70 61 6e 3e 29 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 pe</span>).<span.class="tok-type
4b900 22 3e 74 79 70 65 3c 2f 73 70 61 6e 3e 20 7b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 ">type</span>.{</span>.<span.cla
4b920 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b ss="line">....<span.class="tok-k
4b940 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
4b960 6b 2d 6b 77 22 3e 73 74 72 75 63 74 3c 2f 73 70 61 6e 3e 20 7b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 k-kw">struct</span>.{</span>.<sp
4b980 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 20 20 20 20 78 3a 20 54 2c 3c 2f 73 an.class="line">........x:.T,</s
4b9a0 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 7d 3b 3c 2f pan>.<span.class="line">....};</
4b9c0 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 7d 3c 2f 73 70 61 6e span>.<span.class="line">}</span
4b9e0 3e 3c 2f 63 6f 64 65 3e 3c 2f 70 72 65 3e 3c 2f 66 69 67 75 72 65 3e 3c 66 69 67 75 72 65 3e 3c ></code></pre></figure><figure><
4ba00 66 69 67 63 61 70 74 69 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
4ba20 6c 6c 3c 2f 66 69 67 63 61 70 74 69 6f 6e 3e 3c 70 72 65 3e 3c 73 61 6d 70 3e 3c 73 70 61 6e 20 ll</figcaption><pre><samp><span.
4ba40 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 24 20 3c 6b 62 64 3e 7a 69 67 20 62 75 69 6c 64 2d 65 78 class="line">$.<kbd>zig.build-ex
4ba60 65 20 73 74 72 75 63 74 5f 6e 61 6d 65 2e 7a 69 67 3c 2f 6b 62 64 3e 3c 2f 73 70 61 6e 3e 0a 3c e.struct_name.zig</kbd></span>.<
4ba80 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 span.class="line"></span>.<span.
4baa0 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 24 20 3c 6b 62 64 3e 2e 2f 73 74 72 75 63 74 5f 6e 61 6d class="line">$.<kbd>./struct_nam
4bac0 65 3c 2f 6b 62 64 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 e</kbd></span>.<span.class="line
4bae0 22 3e 76 61 72 69 61 62 6c 65 3a 20 73 74 72 75 63 74 5f 6e 61 6d 65 2e 6d 61 69 6e 2e 46 6f 6f ">variable:.struct_name.main.Foo
4bb00 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 61 6e 6f 6e 79 </span>.<span.class="line">anony
4bb20 6d 6f 75 73 3a 20 73 74 72 75 63 74 5f 6e 61 6d 65 2e 6d 61 69 6e 5f 5f 73 74 72 75 63 74 5f 33 mous:.struct_name.main__struct_3
4bb40 38 39 36 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 66 75 896</span>.<span.class="line">fu
4bb60 6e 63 74 69 6f 6e 3a 20 73 74 72 75 63 74 5f 6e 61 6d 65 2e 4c 69 73 74 28 69 33 32 29 3c 2f 73 nction:.struct_name.List(i32)</s
4bb80 70 61 6e 3e 0a 3c 2f 73 61 6d 70 3e 3c 2f 70 72 65 3e 3c 2f 66 69 67 75 72 65 3e 0a 20 20 20 20 pan>.</samp></pre></figure>.....
4bba0 20 20 0a 0a 20 20 20 20 20 20 3c 68 33 20 69 64 3d 22 41 6e 6f 6e 79 6d 6f 75 73 2d 53 74 72 75 ..........<h3.id="Anonymous-Stru
4bbc0 63 74 2d 4c 69 74 65 72 61 6c 73 22 3e 3c 61 20 68 72 65 66 3d 22 23 74 6f 63 2d 41 6e 6f 6e 79 ct-Literals"><a.href="#toc-Anony
4bbe0 6d 6f 75 73 2d 53 74 72 75 63 74 2d 4c 69 74 65 72 61 6c 73 22 3e 41 6e 6f 6e 79 6d 6f 75 73 20 mous-Struct-Literals">Anonymous.
4bc00 53 74 72 75 63 74 20 4c 69 74 65 72 61 6c 73 3c 2f 61 3e 20 3c 61 20 63 6c 61 73 73 3d 22 68 64 Struct.Literals</a>.<a.class="hd
4bc20 72 22 20 68 72 65 66 3d 22 23 41 6e 6f 6e 79 6d 6f 75 73 2d 53 74 72 75 63 74 2d 4c 69 74 65 72 r".href="#Anonymous-Struct-Liter
4bc40 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>.....
4bc60 20 20 5a 69 67 20 61 6c 6c 6f 77 73 20 6f 6d 69 74 74 69 6e 67 20 74 68 65 20 73 74 72 75 63 74 ..Zig.allows.omitting.the.struct
4bc80 20 74 79 70 65 20 6f 66 20 61 20 6c 69 74 65 72 61 6c 2e 20 57 68 65 6e 20 74 68 65 20 72 65 73 .type.of.a.literal..When.the.res
4bca0 75 6c 74 20 69 73 20 3c 61 20 68 72 65 66 3d 22 23 54 79 70 65 2d 43 6f 65 72 63 69 6f 6e 22 3e ult.is.<a.href="#Type-Coercion">
4bcc0 63 6f 65 72 63 65 64 3c 2f 61 3e 2c 0a 20 20 20 20 20 20 74 68 65 20 73 74 72 75 63 74 20 6c 69 coerced</a>,.......the.struct.li
4bce0 74 65 72 61 6c 20 77 69 6c 6c 20 64 69 72 65 63 74 6c 79 20 69 6e 73 74 61 6e 74 69 61 74 65 20 teral.will.directly.instantiate.
4bd00 74 68 65 20 72 65 73 75 6c 74 20 6c 6f 63 61 74 69 6f 6e 2c 20 77 69 74 68 20 6e 6f 20 63 6f 70 the.result.location,.with.no.cop
4bd20 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
4bd40 63 61 70 74 69 6f 6e 20 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
4bd60 61 73 73 3d 22 66 69 6c 65 22 3e 73 74 72 75 63 74 5f 72 65 73 75 6c 74 2e 7a 69 67 3c 2f 63 69 ass="file">struct_result.zig</ci
4bd80 74 65 3e 3c 2f 66 69 67 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
4bda0 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b .class="line"><span.class="tok-k
4bdc0 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
4bde0 73 3d 22 74 6f 6b 2d 62 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>(<
4be00 73 70 61 6e 20 63 6c 61 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
4be20 75 6f 74 3b 3c 2f 73 70 61 6e 3e 29 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 uot;</span>);</span>.<span.class
4be40 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 63 6f 6e ="line"><span.class="tok-kw">con
4be60 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
4be80 78 70 65 63 74 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 xpect;</span>.<span.class="line"
4bea0 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 ></span>.<span.class="line"><spa
4bec0 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 63 6f 6e 73 74 3c 2f 73 70 61 6e 3e 20 50 6f n.class="tok-kw">const</span>.Po
4bee0 69 6e 74 20 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 73 74 72 75 63 int.=.<span.class="tok-kw">struc
4bf00 74 3c 2f 73 70 61 6e 3e 20 7b 78 3a 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 t</span>.{x:.<span.class="tok-ty
4bf20 70 65 22 3e 69 33 32 3c 2f 73 70 61 6e 3e 2c 20 79 3a 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 pe">i32</span>,.y:.<span.class="
4bf40 74 6f 6b 2d 74 79 70 65 22 3e 69 33 32 3c 2f 73 70 61 6e 3e 7d 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 tok-type">i32</span>};</span>.<s
4bf60 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 pan.class="line"></span>.<span.c
4bf80 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 lass="line"><span.class="tok-kw"
4bfa0 3e 74 65 73 74 3c 2f 73 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
4bfc0 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 72 61 r">&quot;anonymous.struct.litera
4bfe0 6c 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 20 7b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c l&quot;</span>.{</span>.<span.cl
4c000 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d ass="line">....<span.class="tok-
4c020 6b 77 22 3e 76 61 72 3c 2f 73 70 61 6e 3e 20 70 74 3a 20 50 6f 69 6e 74 20 3d 20 2e 7b 3c 2f 73 kw">var</span>.pt:.Point.=..{</s
4c040 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 20 20 20 20 pan>.<span.class="line">........
4c060 2e 78 20 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 31 33 .x.=.<span.class="tok-number">13
4c080 3c 2f 73 70 61 6e 3e 2c 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e </span>,</span>.<span.class="lin
4c0a0 65 22 3e 20 20 20 20 20 20 20 20 2e 79 20 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b e">.........y.=.<span.class="tok
4c0c0 2d 6e 75 6d 62 65 72 22 3e 36 37 3c 2f 73 70 61 6e 3e 2c 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e -number">67</span>,</span>.<span
4c0e0 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 7d 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 .class="line">....};</span>.<spa
4c100 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 n.class="line">....<span.class="
4c120 74 6f 6b 2d 6b 77 22 3e 74 72 79 3c 2f 73 70 61 6e 3e 20 65 78 70 65 63 74 28 70 74 2e 78 20 3d tok-kw">try</span>.expect(pt.x.=
4c140 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 31 33 3c 2f 73 =.<span.class="tok-number">13</s
4c160 70 61 6e 3e 29 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 pan>);</span>.<span.class="line"
4c180 3e 20 20 20 20 3c 73 70 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
4c1a0 70 61 6e 3e 20 65 78 70 65 63 74 28 70 74 2e 79 20 3d 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d pan>.expect(pt.y.==.<span.class=
4c1c0 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 36 37 3c 2f 73 70 61 6e 3e 29 3b 3c 2f 73 70 61 6e 3e 0a "tok-number">67</span>);</span>.
4c1e0 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 7d 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 <span.class="line">}</span></cod
4c200 65 3e 3c 2f 70 72 65 3e 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
4c220 74 69 6f 6e 20 63 6c 61 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
4c240 67 63 61 70 74 69 6f 6e 3e 3c 70 72 65 3e 3c 73 61 6d 70 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d gcaption><pre><samp><span.class=
4c260 22 6c 69 6e 65 22 3e 24 20 3c 6b 62 64 3e 7a 69 67 20 74 65 73 74 20 73 74 72 75 63 74 5f 72 65 "line">$.<kbd>zig.test.struct_re
4c280 73 75 6c 74 2e 7a 69 67 3c 2f 6b 62 64 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 sult.zig</kbd></span>.<span.clas
4c2a0 73 3d 22 6c 69 6e 65 22 3e 31 2f 31 20 74 65 73 74 2e 61 6e 6f 6e 79 6d 6f 75 73 20 73 74 72 75 s="line">1/1.test.anonymous.stru
4c2c0 63 74 20 6c 69 74 65 72 61 6c 2e 2e 2e 20 4f 4b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c ct.literal....OK</span>.<span.cl
4c2e0 61 73 73 3d 22 6c 69 6e 65 22 3e 41 6c 6c 20 31 20 74 65 73 74 73 20 70 61 73 73 65 64 2e 3c 2f ass="line">All.1.tests.passed.</
4c300 73 70 61 6e 3e 0a 3c 2f 73 61 6d 70 3e 3c 2f 70 72 65 3e 3c 2f 66 69 67 75 72 65 3e 0a 20 20 20 span>.</samp></pre></figure>....
4c320 20 20 20 3c 70 3e 0a 20 20 20 20 20 20 54 68 65 20 73 74 72 75 63 74 20 74 79 70 65 20 63 61 6e ...<p>.......The.struct.type.can
4c340 20 62 65 20 69 6e 66 65 72 72 65 64 2e 20 48 65 72 65 20 74 68 65 20 72 65 73 75 6c 74 20 6c 6f .be.inferred..Here.the.result.lo
4c360 63 61 74 69 6f 6e 20 64 6f 65 73 20 6e 6f 74 20 69 6e 63 6c 75 64 65 20 61 20 74 79 70 65 2c 20 cation.does.not.include.a.type,.
4c380 61 6e 64 0a 20 20 20 20 20 20 73 6f 20 5a 69 67 20 69 6e 66 65 72 73 20 74 68 65 20 74 79 70 65 and.......so.Zig.infers.the.type
4c3a0 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
4c3c0 61 70 74 69 6f 6e 20 63 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
4c3e0 73 73 3d 22 66 69 6c 65 22 3e 73 74 72 75 63 74 5f 61 6e 6f 6e 2e 7a 69 67 3c 2f 63 69 74 65 3e ss="file">struct_anon.zig</cite>
4c400 3c 2f 66 69 67 63 61 70 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
4c420 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e ass="line"><span.class="tok-kw">
4c440 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="
4c460 74 6f 6b 2d 62 75 69 6c 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
4c480 6e 20 63 6c 61 73 73 3d 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
4c4a0 3b 3c 2f 73 70 61 6e 3e 29 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c ;</span>);</span>.<span.class="l
4c4c0 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 63 6f 6e 73 74 3c ine"><span.class="tok-kw">const<
4c4e0 2f 73 70 61 6e 3e 20 65 78 70 65 63 74 20 3d 20 73 74 64 2e 74 65 73 74 69 6e 67 2e 65 78 70 65 /span>.expect.=.std.testing.expe
4c500 63 74 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 2f ct;</span>.<span.class="line"></
4c520 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 span>.<span.class="line"><span.c
4c540 6c 61 73 73 3d 22 74 6f 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.
4c560 63 6c 61 73 73 3d 22 74 6f 6b 2d 73 74 72 22 3e 26 71 75 6f 74 3b 66 75 6c 6c 79 20 61 6e 6f 6e class="tok-str">&quot;fully.anon
4c580 79 6d 6f 75 73 20 73 74 72 75 63 74 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 20 7b 3c 2f 73 70 61 ymous.struct&quot;</span>.{</spa
4c5a0 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 3c 73 70 61 6e 20 n>.<span.class="line">....<span.
4c5c0 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 74 72 79 3c 2f 73 70 61 6e 3e 20 64 75 6d 70 28 2e class="tok-kw">try</span>.dump(.
4c5e0 7b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 {</span>.<span.class="line">....
4c600 20 20 20 20 2e 69 6e 74 20 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 62 75 69 6c .....int.=.<span.class="tok-buil
4c620 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
4c640 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="
4c660 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 31 32 33 34 3c 2f 73 70 61 6e 3e 29 2c 3c 2f 73 70 61 6e 3e tok-number">1234</span>),</span>
4c680 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 20 20 20 20 2e 66 6c 6f .<span.class="line">.........flo
4c6a0 61 74 20 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 62 75 69 6c 74 69 6e 22 3e 40 at.=.<span.class="tok-builtin">@
4c6c0 61 73 3c 2f 73 70 61 6e 3e 28 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 as</span>(<span.class="tok-type"
4c6e0 3e 66 36 34 3c 2f 73 70 61 6e 3e 2c 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 >f64</span>,.<span.class="tok-nu
4c700 6d 62 65 72 22 3e 31 32 2e 33 34 3c 2f 73 70 61 6e 3e 29 2c 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 mber">12.34</span>),</span>.<spa
4c720 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 20 20 20 20 2e 62 20 3d 20 3c 73 70 61 n.class="line">.........b.=.<spa
4c740 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6c 6c 22 3e 74 72 75 65 3c 2f 73 70 61 6e 3e 2c 3c n.class="tok-null">true</span>,<
4c760 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 20 20 /span>.<span.class="line">......
4c780 20 20 2e 73 20 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 73 74 72 22 3e 26 71 75 ...s.=.<span.class="tok-str">&qu
4c7a0 6f 74 3b 68 69 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 2c 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e ot;hi&quot;</span>,</span>.<span
4c7c0 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 7d 29 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 .class="line">....});</span>.<sp
4c7e0 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 7d 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 an.class="line">}</span>.<span.c
4c800 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d lass="line"></span>.<span.class=
4c820 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 66 6e 3c 2f "line"><span.class="tok-kw">fn</
4c840 73 70 61 6e 3e 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 66 6e 22 3e 64 75 6d 70 3c span>.<span.class="tok-fn">dump<
4c860 2f 73 70 61 6e 3e 28 61 72 67 73 3a 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 /span>(args:.<span.class="tok-kw
4c880 22 3e 61 6e 79 74 79 70 65 3c 2f 73 70 61 6e 3e 29 20 21 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 ">anytype</span>).!<span.class="
4c8a0 74 6f 6b 2d 74 79 70 65 22 3e 76 6f 69 64 3c 2f 73 70 61 6e 3e 20 7b 3c 2f 73 70 61 6e 3e 0a 3c tok-type">void</span>.{</span>.<
4c8c0 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 span.class="line">....<span.clas
4c8e0 73 3d 22 74 6f 6b 2d 6b 77 22 3e 74 72 79 3c 2f 73 70 61 6e 3e 20 65 78 70 65 63 74 28 61 72 67 s="tok-kw">try</span>.expect(arg
4c900 73 2e 69 6e 74 20 3d 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 s.int.==.<span.class="tok-number
4c920 22 3e 31 32 33 34 3c 2f 73 70 61 6e 3e 29 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 ">1234</span>);</span>.<span.cla
4c940 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b ss="line">....<span.class="tok-k
4c960 77 22 3e 74 72 79 3c 2f 73 70 61 6e 3e 20 65 78 70 65 63 74 28 61 72 67 73 2e 66 6c 6f 61 74 20 w">try</span>.expect(args.float.
4c980 3d 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 31 32 2e 33 ==.<span.class="tok-number">12.3
4c9a0 34 3c 2f 73 70 61 6e 3e 29 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 4</span>);</span>.<span.class="l
4c9c0 69 6e 65 22 3e 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 74 72 ine">....<span.class="tok-kw">tr
4c9e0 79 3c 2f 73 70 61 6e 3e 20 65 78 70 65 63 74 28 61 72 67 73 2e 62 29 3b 3c 2f 73 70 61 6e 3e 0a y</span>.expect(args.b);</span>.
4ca00 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 <span.class="line">....<span.cla
4ca20 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 74 72 79 3c 2f 73 70 61 6e 3e 20 65 78 70 65 63 74 28 61 72 ss="tok-kw">try</span>.expect(ar
4ca40 67 73 2e 73 5b 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 30 3c gs.s[<span.class="tok-number">0<
4ca60 2f 73 70 61 6e 3e 5d 20 3d 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 73 74 72 22 /span>].==.<span.class="tok-str"
4ca80 3e 27 68 27 3c 2f 73 70 61 6e 3e 29 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 >'h'</span>);</span>.<span.class
4caa0 3d 22 6c 69 6e 65 22 3e 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 ="line">....<span.class="tok-kw"
4cac0 3e 74 72 79 3c 2f 73 70 61 6e 3e 20 65 78 70 65 63 74 28 61 72 67 73 2e 73 5b 3c 73 70 61 6e 20 >try</span>.expect(args.s[<span.
4cae0 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 31 3c 2f 73 70 61 6e 3e 5d 20 3d 3d 20 class="tok-number">1</span>].==.
4cb00 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 73 74 72 22 3e 27 69 27 3c 2f 73 70 61 6e 3e <span.class="tok-str">'i'</span>
4cb20 29 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 7d 3c 2f );</span>.<span.class="line">}</
4cb40 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
4cb60 72 65 3e 3c 66 69 67 63 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"
4cb80 3e 53 68 65 6c 6c 3c 2f 66 69 67 63 61 70 74 69 6f 6e 3e 3c 70 72 65 3e 3c 73 61 6d 70 3e 3c 73 >Shell</figcaption><pre><samp><s
4cba0 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 24 20 3c 6b 62 64 3e 7a 69 67 20 74 65 73 74 pan.class="line">$.<kbd>zig.test
4cbc0 20 73 74 72 75 63 74 5f 61 6e 6f 6e 2e 7a 69 67 3c 2f 6b 62 64 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 .struct_anon.zig</kbd></span>.<s
4cbe0 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 31 2f 31 20 74 65 73 74 2e 66 75 6c 6c 79 20 pan.class="line">1/1.test.fully.
4cc00 61 6e 6f 6e 79 6d 6f 75 73 20 73 74 72 75 63 74 2e 2e 2e 20 4f 4b 3c 2f 73 70 61 6e 3e 0a 3c 73 anonymous.struct....OK</span>.<s
4cc20 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 41 6c 6c 20 31 20 74 65 73 74 73 20 70 61 73 pan.class="line">All.1.tests.pas
4cc40 73 65 64 2e 3c 2f 73 70 61 6e 3e 0a 3c 2f 73 61 6d 70 3e 3c 2f 70 72 65 3e 3c 2f 66 69 67 75 72 sed.</span>.</samp></pre></figur
4cc60 65 3e 0a 20 20 20 20 20 20 3c 70 3e 0a 20 20 20 20 20 20 41 6e 6f 6e 79 6d 6f 75 73 20 73 74 72 e>.......<p>.......Anonymous.str
4cc80 75 63 74 73 20 63 61 6e 20 62 65 20 63 72 65 61 74 65 64 20 77 69 74 68 6f 75 74 20 73 70 65 63 ucts.can.be.created.without.spec
4cca0 69 66 79 69 6e 67 20 66 69 65 6c 64 20 6e 61 6d 65 73 2c 20 61 6e 64 20 61 72 65 20 72 65 66 65 ifying.field.names,.and.are.refe
4ccc0 72 72 65 64 20 74 6f 20 61 73 20 22 74 75 70 6c 65 73 22 2e 0a 20 20 20 20 20 20 3c 2f 70 3e 0a rred.to.as."tuples"........</p>.
4cce0 20 20 20 20 20 20 3c 70 3e 0a 20 20 20 20 20 20 54 68 65 20 66 69 65 6c 64 73 20 61 72 65 20 69 ......<p>.......The.fields.are.i
4cd00 6d 70 6c 69 63 69 74 6c 79 20 6e 61 6d 65 64 20 75 73 69 6e 67 20 6e 75 6d 62 65 72 73 20 73 74 mplicitly.named.using.numbers.st
4cd20 61 72 74 69 6e 67 20 66 72 6f 6d 20 30 2e 20 42 65 63 61 75 73 65 20 74 68 65 69 72 20 6e 61 6d arting.from.0..Because.their.nam
4cd40 65 73 20 61 72 65 20 69 6e 74 65 67 65 72 73 2c 0a 20 20 20 20 20 20 74 68 65 20 3c 63 6f 64 65 es.are.integers,.......the.<code
4cd60 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 40 26 71 75 6f 74 3b 30 26 71 75 6f ><span.class="line">@&quot;0&quo
4cd80 74 3b 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 20 73 79 6e 74 61 78 20 6d 75 73 74 20 62 65 20 t;</span></code>.syntax.must.be.
4cda0 75 73 65 64 20 74 6f 20 61 63 63 65 73 73 20 74 68 65 6d 2e 20 4e 61 6d 65 73 20 69 6e 73 69 64 used.to.access.them..Names.insid
4cdc0 65 20 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 40 26 71 75 6f e.<code><span.class="line">@&quo
4cde0 74 3b 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 20 61 72 65 20 61 6c 77 61 79 t;&quot;</span></code>.are.alway
4ce00 73 20 72 65 63 6f 67 6e 69 73 65 64 20 61 73 20 3c 61 20 68 72 65 66 3d 22 23 49 64 65 6e 74 69 s.recognised.as.<a.href="#Identi
4ce20 66 69 65 72 73 22 3e 69 64 65 6e 74 69 66 69 65 72 73 3c 2f 61 3e 2e 0a 20 20 20 20 20 20 3c 2f fiers">identifiers</a>........</
4ce40 70 3e 0a 20 20 20 20 20 20 3c 70 3e 0a 20 20 20 20 20 20 4c 69 6b 65 20 61 72 72 61 79 73 2c 20 p>.......<p>.......Like.arrays,.
4ce60 74 75 70 6c 65 73 20 68 61 76 65 20 61 20 2e 6c 65 6e 20 66 69 65 6c 64 2c 20 63 61 6e 20 62 65 tuples.have.a..len.field,.can.be
4ce80 20 69 6e 64 65 78 65 64 20 61 6e 64 20 20 77 6f 72 6b 20 77 69 74 68 20 74 68 65 20 2b 2b 20 61 .indexed.and..work.with.the.++.a
4cea0 6e 64 20 2a 2a 20 6f 70 65 72 61 74 6f 72 73 2e 20 54 68 65 79 20 63 61 6e 20 61 6c 73 6f 20 62 nd.**.operators..They.can.also.b
4cec0 65 20 69 74 65 72 61 74 65 64 20 6f 76 65 72 20 77 69 74 68 20 3c 61 20 68 72 65 66 3d 22 23 69 e.iterated.over.with.<a.href="#i
4cee0 6e 6c 69 6e 65 2d 66 6f 72 22 3e 69 6e 6c 69 6e 65 20 66 6f 72 3c 2f 61 3e 2e 0a 20 20 20 20 20 nline-for">inline.for</a>.......
4cf00 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.
4cf20 63 6c 61 73 73 3d 22 7a 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
4cf40 65 22 3e 74 75 70 6c 65 2e 7a 69 67 3c 2f 63 69 74 65 3e 3c 2f 66 69 67 63 61 70 74 69 6f 6e 3e e">tuple.zig</cite></figcaption>
4cf60 3c 70 72 65 3e 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 <pre><code><span.class="line"><s
4cf80 70 61 6e 20 63 6c 61 73 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>.
4cfa0 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">
4cfc0 40 69 6d 70 6f 72 74 3c 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-
4cfe0 73 74 72 22 3e 26 71 75 6f 74 3b 73 74 64 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 29 3b 3c 2f 73 str">&quot;std&quot;</span>);</s
4d000 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c pan>.<span.class="line"><span.cl
4d020 61 73 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
4d040 20 3d 20 73 74 64 2e 74 65 73 74 69 6e 67 2e 65 78 70 65 63 74 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 .=.std.testing.expect;</span>.<s
4d060 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 pan.class="line"></span>.<span.c
4d080 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 lass="line"><span.class="tok-kw"
4d0a0 3e 74 65 73 74 3c 2f 73 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
4d0c0 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 20 7b 3c 2f 73 r">&quot;tuple&quot;</span>.{</s
4d0e0 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 3c 73 70 61 pan>.<span.class="line">....<spa
4d100 6e 20 63 6c 61 73 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
4d120 6c 75 65 73 20 3d 20 2e 7b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 lues.=..{</span>.<span.class="li
4d140 6e 65 22 3e 20 20 20 20 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 62 75 69 ne">........<span.class="tok-bui
4d160 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
4d180 6b 2d 74 79 70 65 22 3e 75 33 32 3c 2f 73 70 61 6e 3e 2c 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d k-type">u32</span>,.<span.class=
4d1a0 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 31 32 33 34 3c 2f 73 70 61 6e 3e 29 2c 3c 2f 73 70 61 6e "tok-number">1234</span>),</span
4d1c0 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 20 20 20 20 3c 73 70 >.<span.class="line">........<sp
4d1e0 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
4d200 3e 28 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 66 36 34 3c 2f 73 70 >(<span.class="tok-type">f64</sp
4d220 61 6e 3e 2c 20 3c 73 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
4d240 2e 33 34 3c 2f 73 70 61 6e 3e 29 2c 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d .34</span>),</span>.<span.class=
4d260 22 6c 69 6e 65 22 3e 20 20 20 20 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d "line">........<span.class="tok-
4d280 6e 75 6c 6c 22 3e 74 72 75 65 3c 2f 73 70 61 6e 3e 2c 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 null">true</span>,</span>.<span.
4d2a0 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 class="line">........<span.class
4d2c0 3d 22 74 6f 6b 2d 73 74 72 22 3e 26 71 75 6f 74 3b 68 69 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e ="tok-str">&quot;hi&quot;</span>
4d2e0 2c 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 ,</span>.<span.class="line">....
4d300 7d 20 2b 2b 20 2e 7b 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6c 6c 22 3e 66 61 }.++..{<span.class="tok-null">fa
4d320 6c 73 65 3c 2f 73 70 61 6e 3e 7d 20 2a 2a 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d lse</span>}.**.<span.class="tok-
4d340 6e 75 6d 62 65 72 22 3e 32 3c 2f 73 70 61 6e 3e 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 number">2</span>;</span>.<span.c
4d360 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b lass="line">....<span.class="tok
4d380 2d 6b 77 22 3e 74 72 79 3c 2f 73 70 61 6e 3e 20 65 78 70 65 63 74 28 76 61 6c 75 65 73 5b 3c 73 -kw">try</span>.expect(values[<s
4d3a0 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 30 3c 2f 73 70 61 6e 3e 5d pan.class="tok-number">0</span>]
4d3c0 20 3d 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 31 32 33 .==.<span.class="tok-number">123
4d3e0 34 3c 2f 73 70 61 6e 3e 29 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 4</span>);</span>.<span.class="l
4d400 69 6e 65 22 3e 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 74 72 ine">....<span.class="tok-kw">tr
4d420 79 3c 2f 73 70 61 6e 3e 20 65 78 70 65 63 74 28 76 61 6c 75 65 73 5b 3c 73 70 61 6e 20 63 6c 61 y</span>.expect(values[<span.cla
4d440 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 34 3c 2f 73 70 61 6e 3e 5d 20 3d 3d 20 3c 73 70 ss="tok-number">4</span>].==.<sp
4d460 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>
4d480 29 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 );</span>.<span.class="line">...
4d4a0 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 73 70 .<span.class="tok-kw">inline</sp
4d4c0 61 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 an>.<span.class="tok-kw">for</sp
4d4e0 61 6e 3e 20 28 76 61 6c 75 65 73 29 20 7c 76 2c 20 69 7c 20 7b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 an>.(values).|v,.i|.{</span>.<sp
4d500 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 20 20 20 20 3c 73 70 61 6e 20 63 6c an.class="line">........<span.cl
4d520 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 21 3d 20 3c 73 70 ass="tok-kw">if</span>.(i.!=.<sp
4d540 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>).
4d560 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
4d580 70 61 6e 3e 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e pan>;</span>.<span.class="line">
4d5a0 20 20 20 20 20 20 20 20 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
4d5c0 3c 2f 73 70 61 6e 3e 20 65 78 70 65 63 74 28 76 29 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 </span>.expect(v);</span>.<span.
4d5e0 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 7d 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 class="line">....}</span>.<span.
4d600 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f class="line">....<span.class="to
4d620 6b 2d 6b 77 22 3e 74 72 79 3c 2f 73 70 61 6e 3e 20 65 78 70 65 63 74 28 76 61 6c 75 65 73 2e 6c k-kw">try</span>.expect(values.l
4d640 65 6e 20 3d 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 36 en.==.<span.class="tok-number">6
4d660 3c 2f 73 70 61 6e 3e 29 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 </span>);</span>.<span.class="li
4d680 6e 65 22 3e 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 74 72 79 ne">....<span.class="tok-kw">try
4d6a0 3c 2f 73 70 61 6e 3e 20 65 78 70 65 63 74 28 76 61 6c 75 65 73 2e 40 26 71 75 6f 74 3b 33 26 71 </span>.expect(values.@&quot;3&q
4d6c0 75 6f 74 3b 5b 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 30 3c uot;[<span.class="tok-number">0<
4d6e0 2f 73 70 61 6e 3e 5d 20 3d 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 73 74 72 22 /span>].==.<span.class="tok-str"
4d700 3e 27 68 27 3c 2f 73 70 61 6e 3e 29 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 >'h'</span>);</span>.<span.class
4d720 3d 22 6c 69 6e 65 22 3e 7d 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 3c 2f 70 72 65 3e 3c 2f 66 ="line">}</span></code></pre></f
4d740 69 67 75 72 65 3e 3c 66 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=
4d760 22 73 68 65 6c 6c 2d 63 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
4d780 72 65 3e 3c 73 61 6d 70 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 24 20 3c 6b re><samp><span.class="line">$.<k
4d7a0 62 64 3e 7a 69 67 20 74 65 73 74 20 74 75 70 6c 65 2e 7a 69 67 3c 2f 6b 62 64 3e 3c 2f 73 70 61 bd>zig.test.tuple.zig</kbd></spa
4d7c0 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 31 2f 31 20 74 65 73 74 2e 74 n>.<span.class="line">1/1.test.t
4d7e0 75 70 6c 65 2e 2e 2e 20 4f 4b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c uple....OK</span>.<span.class="l
4d800 69 6e 65 22 3e 41 6c 6c 20 31 20 74 65 73 74 73 20 70 61 73 73 65 64 2e 3c 2f 73 70 61 6e 3e 0a ine">All.1.tests.passed.</span>.
4d820 3c 2f 73 61 6d 70 3e 3c 2f 70 72 65 3e 3c 2f 66 69 67 75 72 65 3e 0a 20 20 20 20 20 20 0a 20 20 </samp></pre></figure>..........
4d840 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.
4d860 68 72 65 66 3d 22 23 63 6f 6d 70 74 69 6d 65 22 3e 63 6f 6d 70 74 69 6d 65 3c 2f 61 3e 3c 2f 6c href="#comptime">comptime</a></l
4d880 69 3e 0a 3c 6c 69 3e 3c 61 20 68 72 65 66 3d 22 23 66 69 65 6c 64 50 61 72 65 6e 74 50 74 72 22 i>.<li><a.href="#fieldParentPtr"
4d8a0 3e 40 66 69 65 6c 64 50 61 72 65 6e 74 50 74 72 3c 2f 61 3e 3c 2f 6c 69 3e 0a 3c 2f 75 6c 3e 0a >@fieldParentPtr</a></li>.</ul>.
4d8c0 0a 20 20 20 20 20 20 0a 20 20 20 20 20 20 3c 68 32 20 69 64 3d 22 65 6e 75 6d 22 3e 3c 61 20 68 ..............<h2.id="enum"><a.h
4d8e0 72 65 66 3d 22 23 74 6f 63 2d 65 6e 75 6d 22 3e 65 6e 75 6d 3c 2f 61 3e 20 3c 61 20 63 6c 61 73 ref="#toc-enum">enum</a>.<a.clas
4d900 73 3d 22 68 64 72 22 20 68 72 65 66 3d 22 23 65 6e 75 6d 22 3e c2 a7 3c 2f 61 3e 3c 2f 68 32 3e s="hdr".href="#enum">..</a></h2>
4d920 0a 0a 20 20 20 20 20 20 3c 66 69 67 75 72 65 3e 3c 66 69 67 63 61 70 74 69 6f 6e 20 63 6c 61 73 ........<figure><figcaption.clas
4d940 73 3d 22 7a 69 67 2d 63 61 70 22 3e 3c 63 69 74 65 20 63 6c 61 73 73 3d 22 66 69 6c 65 22 3e 65 s="zig-cap"><cite.class="file">e
4d960 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
4d980 3e 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 ><code><span.class="line"><span.
4d9a0 63 6c 61 73 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
4d9c0 63 74 20 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 62 75 69 6c 74 69 6e 22 3e 40 ct.=.<span.class="tok-builtin">@
4d9e0 69 6d 70 6f 72 74 3c 2f 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
4da00 74 72 22 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
4da20 69 6e 67 2e 65 78 70 65 63 74 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 ing.expect;</span>.<span.class="
4da40 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 63 6f 6e 73 74 line"><span.class="tok-kw">const
4da60 3c 2f 73 70 61 6e 3e 20 6d 65 6d 20 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 62 </span>.mem.=.<span.class="tok-b
4da80 75 69 6c 74 69 6e 22 3e 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
4daa0 73 73 3d 22 74 6f 6b 2d 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
4dac0 61 6e 3e 29 2e 6d 65 6d 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 an>).mem;</span>.<span.class="li
4dae0 6e 65 22 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c ne"></span>.<span.class="line"><
4db00 73 70 61 6e 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
4db20 61 72 65 20 61 6e 20 65 6e 75 6d 2e 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e are.an.enum.</span></span>.<span
4db40 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b .class="line"><span.class="tok-k
4db60 77 22 3e 63 6f 6e 73 74 3c 2f 73 70 61 6e 3e 20 54 79 70 65 20 3d 20 3c 73 70 61 6e 20 63 6c 61 w">const</span>.Type.=.<span.cla
4db80 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 65 6e 75 6d 3c 2f 73 70 61 6e 3e 20 7b 3c 2f 73 70 61 6e 3e ss="tok-kw">enum</span>.{</span>
4dba0 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 6f 6b 2c 3c 2f 73 70 61 .<span.class="line">....ok,</spa
4dbc0 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 6e 6f 74 5f 6f 6b n>.<span.class="line">....not_ok
4dbe0 2c 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 7d 3b 3c 2f ,</span>.<span.class="line">};</
4dc00 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 2f 73 70 61 6e 3e span>.<span.class="line"></span>
4dc20 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d .<span.class="line"><span.class=
4dc40 22 74 6f 6b 2d 63 6f 6d 6d 65 6e 74 22 3e 2f 2f 20 44 65 63 6c 61 72 65 20 61 20 73 70 65 63 69 "tok-comment">//.Declare.a.speci
4dc60 66 69 63 20 69 6e 73 74 61 6e 63 65 20 6f 66 20 74 68 65 20 65 6e 75 6d 20 76 61 72 69 61 6e 74 fic.instance.of.the.enum.variant
4dc80 2e 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e .</span></span>.<span.class="lin
4dca0 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 63 6f 6e 73 74 3c 2f 73 e"><span.class="tok-kw">const</s
4dcc0 70 61 6e 3e 20 63 20 3d 20 54 79 70 65 2e 6f 6b 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 pan>.c.=.Type.ok;</span>.<span.c
4dce0 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d lass="line"></span>.<span.class=
4dd00 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 63 6f 6d 6d 65 6e 74 22 "line"><span.class="tok-comment"
4dd20 3e 2f 2f 20 49 66 20 79 6f 75 20 77 61 6e 74 20 61 63 63 65 73 73 20 74 6f 20 74 68 65 20 6f 72 >//.If.you.want.access.to.the.or
4dd40 64 69 6e 61 6c 20 76 61 6c 75 65 20 6f 66 20 61 6e 20 65 6e 75 6d 2c 20 79 6f 75 3c 2f 73 70 61 dinal.value.of.an.enum,.you</spa
4dd60 6e 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 n></span>.<span.class="line"><sp
4dd80 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 63 6f 6d 6d 65 6e 74 22 3e 2f 2f 20 63 61 6e 20 73 70 an.class="tok-comment">//.can.sp
4dda0 65 63 69 66 79 20 74 68 65 20 74 61 67 20 74 79 70 65 2e 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e ecify.the.tag.type.</span></span
4ddc0 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 >.<span.class="line"><span.class
4dde0 3d 22 74 6f 6b 2d 6b 77 22 3e 63 6f 6e 73 74 3c 2f 73 70 61 6e 3e 20 56 61 6c 75 65 20 3d 20 3c ="tok-kw">const</span>.Value.=.<
4de00 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>(
4de20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 75 32 3c 2f 73 70 61 6e 3e <span.class="tok-type">u2</span>
4de40 29 20 7b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 ).{</span>.<span.class="line">..
4de60 20 20 7a 65 72 6f 2c 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 ..zero,</span>.<span.class="line
4de80 22 3e 20 20 20 20 6f 6e 65 2c 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c ">....one,</span>.<span.class="l
4dea0 69 6e 65 22 3e 20 20 20 20 74 77 6f 2c 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 ine">....two,</span>.<span.class
4dec0 3d 22 6c 69 6e 65 22 3e 7d 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c ="line">};</span>.<span.class="l
4dee0 69 6e 65 22 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e ine"></span>.<span.class="line">
4df00 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 63 6f 6d 6d 65 6e 74 22 3e 2f 2f 20 4e 6f 77 <span.class="tok-comment">//.Now
4df20 20 79 6f 75 20 63 61 6e 20 63 61 73 74 20 62 65 74 77 65 65 6e 20 75 32 20 61 6e 64 20 56 61 6c .you.can.cast.between.u2.and.Val
4df40 75 65 2e 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c ue.</span></span>.<span.class="l
4df60 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 63 6f 6d 6d 65 6e 74 22 3e 2f ine"><span.class="tok-comment">/
4df80 2f 20 54 68 65 20 6f 72 64 69 6e 61 6c 20 76 61 6c 75 65 20 73 74 61 72 74 73 20 66 72 6f 6d 20 /.The.ordinal.value.starts.from.
4dfa0 30 2c 20 63 6f 75 6e 74 69 6e 67 20 75 70 20 66 6f 72 20 65 61 63 68 20 6d 65 6d 62 65 72 2e 3c 0,.counting.up.for.each.member.<
4dfc0 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 /span></span>.<span.class="line"
4dfe0 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
4e000 3e 20 3c 73 70 61 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
4e020 75 6d 20 6f 72 64 69 6e 61 6c 20 76 61 6c 75 65 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 20 7b 3c um.ordinal.value&quot;</span>.{<
4e040 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 3c 73 /span>.<span.class="line">....<s
4e060 70 61 6e 20 63 6c 61 73 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
4e080 70 65 63 74 28 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 62 75 69 6c 74 69 6e 22 3e 40 pect(<span.class="tok-builtin">@
4e0a0 65 6e 75 6d 54 6f 49 6e 74 3c 2f 73 70 61 6e 3e 28 56 61 6c 75 65 2e 7a 65 72 6f 29 20 3d 3d 20 enumToInt</span>(Value.zero).==.
4e0c0 3c 73 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
4e0e0 3e 29 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 >);</span>.<span.class="line">..
4e100 20 20 3c 73 70 61 6e 20 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
4e120 3e 20 65 78 70 65 63 74 28 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 62 75 69 6c 74 69 >.expect(<span.class="tok-builti
4e140 6e 22 3e 40 65 6e 75 6d 54 6f 49 6e 74 3c 2f 73 70 61 6e 3e 28 56 61 6c 75 65 2e 6f 6e 65 29 20 n">@enumToInt</span>(Value.one).
4e160 3d 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 31 3c 2f 73 ==.<span.class="tok-number">1</s
4e180 70 61 6e 3e 29 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 pan>);</span>.<span.class="line"
4e1a0 3e 20 20 20 20 3c 73 70 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
4e1c0 70 61 6e 3e 20 65 78 70 65 63 74 28 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 62 75 69 pan>.expect(<span.class="tok-bui
4e1e0 6c 74 69 6e 22 3e 40 65 6e 75 6d 54 6f 49 6e 74 3c 2f 73 70 61 6e 3e 28 56 61 6c 75 65 2e 74 77 ltin">@enumToInt</span>(Value.tw
4e200 6f 29 20 3d 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 32 o).==.<span.class="tok-number">2
4e220 3c 2f 73 70 61 6e 3e 29 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 </span>);</span>.<span.class="li
4e240 6e 65 22 3e 7d 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e ne">}</span>.<span.class="line">
4e260 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e </span>.<span.class="line"><span
4e280 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 63 6f 6d 6d 65 6e 74 22 3e 2f 2f 20 59 6f 75 20 63 61 6e 20 .class="tok-comment">//.You.can.
4e2a0 6f 76 65 72 72 69 64 65 20 74 68 65 20 6f 72 64 69 6e 61 6c 20 76 61 6c 75 65 20 66 6f 72 20 61 override.the.ordinal.value.for.a
4e2c0 6e 20 65 6e 75 6d 2e 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 n.enum.</span></span>.<span.clas
4e2e0 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 63 6f s="line"><span.class="tok-kw">co
4e300 6e 73 74 3c 2f 73 70 61 6e 3e 20 56 61 6c 75 65 32 20 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d nst</span>.Value2.=.<span.class=
4e320 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
4e340 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 75 33 32 3c 2f 73 70 61 6e 3e 29 20 7b 3c 2f 73 70 61 6e 3e ="tok-type">u32</span>).{</span>
4e360 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 68 75 6e 64 72 65 64 20 .<span.class="line">....hundred.
4e380 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 31 30 30 3c 2f =.<span.class="tok-number">100</
4e3a0 73 70 61 6e 3e 2c 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 span>,</span>.<span.class="line"
4e3c0 3e 20 20 20 20 74 68 6f 75 73 61 6e 64 20 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b >....thousand.=.<span.class="tok
4e3e0 2d 6e 75 6d 62 65 72 22 3e 31 30 30 30 3c 2f 73 70 61 6e 3e 2c 3c 2f 73 70 61 6e 3e 0a 3c 73 70 -number">1000</span>,</span>.<sp
4e400 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 6d 69 6c 6c 69 6f 6e 20 3d 20 3c 73 an.class="line">....million.=.<s
4e420 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 31 30 30 30 30 30 30 3c 2f pan.class="tok-number">1000000</
4e440 73 70 61 6e 3e 2c 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 span>,</span>.<span.class="line"
4e460 3e 7d 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 >};</span>.<span.class="line"><s
4e480 70 61 6e 20 63 6c 61 73 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>.<
4e4a0 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 73 74 72 22 3e 26 71 75 6f 74 3b 73 65 74 20 65 span.class="tok-str">&quot;set.e
4e4c0 6e 75 6d 20 6f 72 64 69 6e 61 6c 20 76 61 6c 75 65 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 20 7b num.ordinal.value&quot;</span>.{
4e4e0 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 3c </span>.<span.class="line">....<
4e500 73 70 61 6e 20 63 6c 61 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
4e520 78 70 65 63 74 28 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 62 75 69 6c 74 69 6e 22 3e xpect(<span.class="tok-builtin">
4e540 40 65 6e 75 6d 54 6f 49 6e 74 3c 2f 73 70 61 6e 3e 28 56 61 6c 75 65 32 2e 68 75 6e 64 72 65 64 @enumToInt</span>(Value2.hundred
4e560 29 20 3d 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 31 30 ).==.<span.class="tok-number">10
4e580 30 3c 2f 73 70 61 6e 3e 29 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 0</span>);</span>.<span.class="l
4e5a0 69 6e 65 22 3e 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 74 72 ine">....<span.class="tok-kw">tr
4e5c0 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
4e5e0 2d 62 75 69 6c 74 69 6e 22 3e 40 65 6e 75 6d 54 6f 49 6e 74 3c 2f 73 70 61 6e 3e 28 56 61 6c 75 -builtin">@enumToInt</span>(Valu
4e600 65 32 2e 74 68 6f 75 73 61 6e 64 29 20 3d 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b e2.thousand).==.<span.class="tok
4e620 2d 6e 75 6d 62 65 72 22 3e 31 30 30 30 3c 2f 73 70 61 6e 3e 29 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 -number">1000</span>);</span>.<s
4e640 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 pan.class="line">....<span.class
4e660 3d 22 74 6f 6b 2d 6b 77 22 3e 74 72 79 3c 2f 73 70 61 6e 3e 20 65 78 70 65 63 74 28 3c 73 70 61 ="tok-kw">try</span>.expect(<spa
4e680 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 62 75 69 6c 74 69 6e 22 3e 40 65 6e 75 6d 54 6f 49 6e 74 n.class="tok-builtin">@enumToInt
4e6a0 3c 2f 73 70 61 6e 3e 28 56 61 6c 75 65 32 2e 6d 69 6c 6c 69 6f 6e 29 20 3d 3d 20 3c 73 70 61 6e </span>(Value2.million).==.<span
4e6c0 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
4e6e0 6e 3e 29 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 7d n>);</span>.<span.class="line">}
4e700 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 2f 73 70 61 </span>.<span.class="line"></spa
4e720 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 n>.<span.class="line"><span.clas
4e740 73 3d 22 74 6f 6b 2d 63 6f 6d 6d 65 6e 74 22 3e 2f 2f 20 45 6e 75 6d 73 20 63 61 6e 20 68 61 76 s="tok-comment">//.Enums.can.hav
4e760 65 20 6d 65 74 68 6f 64 73 2c 20 74 68 65 20 73 61 6d 65 20 61 73 20 73 74 72 75 63 74 73 20 61 e.methods,.the.same.as.structs.a
4e780 6e 64 20 75 6e 69 6f 6e 73 2e 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 nd.unions.</span></span>.<span.c
4e7a0 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 63 6f 6d lass="line"><span.class="tok-com
4e7c0 6d 65 6e 74 22 3e 2f 2f 20 45 6e 75 6d 20 6d 65 74 68 6f 64 73 20 61 72 65 20 6e 6f 74 20 73 70 ment">//.Enum.methods.are.not.sp
4e7e0 65 63 69 61 6c 2c 20 74 68 65 79 20 61 72 65 20 6f 6e 6c 79 20 6e 61 6d 65 73 70 61 63 65 64 3c ecial,.they.are.only.namespaced<
4e800 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 /span></span>.<span.class="line"
4e820 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 63 6f 6d 6d 65 6e 74 22 3e 2f 2f 20 66 75 ><span.class="tok-comment">//.fu
4e840 6e 63 74 69 6f 6e 73 20 74 68 61 74 20 79 6f 75 20 63 61 6e 20 63 61 6c 6c 20 77 69 74 68 20 64 nctions.that.you.can.call.with.d
4e860 6f 74 20 73 79 6e 74 61 78 2e 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 ot.syntax.</span></span>.<span.c
4e880 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 lass="line"><span.class="tok-kw"
4e8a0 3e 63 6f 6e 73 74 3c 2f 73 70 61 6e 3e 20 53 75 69 74 20 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 >const</span>.Suit.=.<span.class
4e8c0 3d 22 74 6f 6b 2d 6b 77 22 3e 65 6e 75 6d 3c 2f 73 70 61 6e 3e 20 7b 3c 2f 73 70 61 6e 3e 0a 3c ="tok-kw">enum</span>.{</span>.<
4e8e0 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 63 6c 75 62 73 2c 3c 2f 73 70 span.class="line">....clubs,</sp
4e900 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 73 70 61 64 65 an>.<span.class="line">....spade
4e920 73 2c 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 s,</span>.<span.class="line">...
4e940 20 64 69 61 6d 6f 6e 64 73 2c 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c .diamonds,</span>.<span.class="l
4e960 69 6e 65 22 3e 20 20 20 20 68 65 61 72 74 73 2c 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c ine">....hearts,</span>.<span.cl
4e980 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 ass="line"></span>.<span.class="
4e9a0 6c 69 6e 65 22 3e 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 70 line">....<span.class="tok-kw">p
4e9c0 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
4e9e0 6e 3c 2f 73 70 61 6e 3e 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 66 6e 22 3e 69 73 n</span>.<span.class="tok-fn">is
4ea00 43 6c 75 62 73 3c 2f 73 70 61 6e 3e 28 73 65 6c 66 3a 20 53 75 69 74 29 20 3c 73 70 61 6e 20 63 Clubs</span>(self:.Suit).<span.c
4ea20 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 62 6f 6f 6c 3c 2f 73 70 61 6e 3e 20 7b 3c 2f 73 lass="tok-type">bool</span>.{</s
4ea40 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 20 20 20 20 pan>.<span.class="line">........
4ea60 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
4ea80 6e 3e 20 73 65 6c 66 20 3d 3d 20 53 75 69 74 2e 63 6c 75 62 73 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 n>.self.==.Suit.clubs;</span>.<s
4eaa0 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 7d 3c 2f 73 70 61 6e 3e 0a 3c 73 pan.class="line">....}</span>.<s
4eac0 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 7d 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e pan.class="line">};</span>.<span
4eae0 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b .class="line"><span.class="tok-k
4eb00 77 22 3e 74 65 73 74 3c 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-
4eb20 73 74 72 22 3e 26 71 75 6f 74 3b 65 6e 75 6d 20 6d 65 74 68 6f 64 26 71 75 6f 74 3b 3c 2f 73 70 str">&quot;enum.method&quot;</sp
4eb40 61 6e 3e 20 7b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e an>.{</span>.<span.class="line">
4eb60 20 20 20 20 3c 73 70 61 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</
4eb80 73 70 61 6e 3e 20 70 20 3d 20 53 75 69 74 2e 73 70 61 64 65 73 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 span>.p.=.Suit.spades;</span>.<s
4eba0 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 pan.class="line">....<span.class
4ebc0 3d 22 74 6f 6b 2d 6b 77 22 3e 74 72 79 3c 2f 73 70 61 6e 3e 20 65 78 70 65 63 74 28 21 70 2e 69 ="tok-kw">try</span>.expect(!p.i
4ebe0 73 43 6c 75 62 73 28 29 29 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c sClubs());</span>.<span.class="l
4ec00 69 6e 65 22 3e 7d 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 ine">}</span>.<span.class="line"
4ec20 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 ></span>.<span.class="line"><spa
4ec40 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 63 6f 6d 6d 65 6e 74 22 3e 2f 2f 20 41 6e 20 65 6e 75 6d n.class="tok-comment">//.An.enum
4ec60 20 76 61 72 69 61 6e 74 20 6f 66 20 64 69 66 66 65 72 65 6e 74 20 74 79 70 65 73 20 63 61 6e 20 .variant.of.different.types.can.
4ec80 62 65 20 73 77 69 74 63 68 65 64 20 75 70 6f 6e 2e 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 0a be.switched.upon.</span></span>.
4eca0 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 <span.class="line"><span.class="
4ecc0 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
4ece0 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 65 6e 75 6d 3c 2f 73 70 61 6e 3e 20 7b 3c 2f 73 .class="tok-kw">enum</span>.{</s
4ed00 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 73 74 72 69 pan>.<span.class="line">....stri
4ed20 6e 67 2c 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 ng,</span>.<span.class="line">..
4ed40 20 20 6e 75 6d 62 65 72 2c 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 ..number,</span>.<span.class="li
4ed60 6e 65 22 3e 20 20 20 20 6e 6f 6e 65 2c 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 ne">....none,</span>.<span.class
4ed80 3d 22 6c 69 6e 65 22 3e 7d 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c ="line">};</span>.<span.class="l
4eda0 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 74 65 73 74 3c 2f ine"><span.class="tok-kw">test</
4edc0 73 70 61 6e 3e 20 3c 73 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
4ede0 74 3b 65 6e 75 6d 20 76 61 72 69 61 6e 74 20 73 77 69 74 63 68 26 71 75 6f 74 3b 3c 2f 73 70 61 t;enum.variant.switch&quot;</spa
4ee00 6e 3e 20 7b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 n>.{</span>.<span.class="line">.
4ee20 20 20 20 3c 73 70 61 6e 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
4ee40 70 61 6e 3e 20 70 20 3d 20 46 6f 6f 2e 6e 75 6d 62 65 72 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 pan>.p.=.Foo.number;</span>.<spa
4ee60 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 n.class="line">....<span.class="
4ee80 74 6f 6b 2d 6b 77 22 3e 63 6f 6e 73 74 3c 2f 73 70 61 6e 3e 20 77 68 61 74 5f 69 73 5f 69 74 20 tok-kw">const</span>.what_is_it.
4eea0 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 73 77 69 74 63 68 3c 2f 73 =.<span.class="tok-kw">switch</s
4eec0 70 61 6e 3e 20 28 70 29 20 7b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c pan>.(p).{</span>.<span.class="l
4eee0 69 6e 65 22 3e 20 20 20 20 20 20 20 20 46 6f 6f 2e 73 74 72 69 6e 67 20 3d 26 67 74 3b 20 3c 73 ine">........Foo.string.=&gt;.<s
4ef00 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 73 74 72 22 3e 26 71 75 6f 74 3b 74 68 69 73 20 69 pan.class="tok-str">&quot;this.i
4ef20 73 20 61 20 73 74 72 69 6e 67 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 2c 3c 2f 73 70 61 6e 3e 0a s.a.string&quot;</span>,</span>.
4ef40 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 20 20 20 20 46 6f 6f 2e 6e <span.class="line">........Foo.n
4ef60 75 6d 62 65 72 20 3d 26 67 74 3b 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 73 74 72 umber.=&gt;.<span.class="tok-str
4ef80 22 3e 26 71 75 6f 74 3b 74 68 69 73 20 69 73 20 61 20 6e 75 6d 62 65 72 26 71 75 6f 74 3b 3c 2f ">&quot;this.is.a.number&quot;</
4efa0 73 70 61 6e 3e 2c 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 span>,</span>.<span.class="line"
4efc0 3e 20 20 20 20 20 20 20 20 46 6f 6f 2e 6e 6f 6e 65 20 3d 26 67 74 3b 20 3c 73 70 61 6e 20 63 6c >........Foo.none.=&gt;.<span.cl
4efe0 61 73 73 3d 22 74 6f 6b 2d 73 74 72 22 3e 26 71 75 6f 74 3b 74 68 69 73 20 69 73 20 61 20 6e 6f ass="tok-str">&quot;this.is.a.no
4f000 6e 65 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 2c 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c ne&quot;</span>,</span>.<span.cl
4f020 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 7d 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 ass="line">....};</span>.<span.c
4f040 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b lass="line">....<span.class="tok
4f060 2d 6b 77 22 3e 74 72 79 3c 2f 73 70 61 6e 3e 20 65 78 70 65 63 74 28 6d 65 6d 2e 65 71 6c 28 3c -kw">try</span>.expect(mem.eql(<
4f080 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>,
4f0a0 20 77 68 61 74 5f 69 73 5f 69 74 2c 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 73 74 .what_is_it,.<span.class="tok-st
4f0c0 72 22 3e 26 71 75 6f 74 3b 74 68 69 73 20 69 73 20 61 20 6e 75 6d 62 65 72 26 71 75 6f 74 3b 3c r">&quot;this.is.a.number&quot;<
4f0e0 2f 73 70 61 6e 3e 29 29 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 /span>));</span>.<span.class="li
4f100 6e 65 22 3e 7d 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e ne">}</span>.<span.class="line">
4f120 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e </span>.<span.class="line"><span
4f140 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 63 6f 6d 6d 65 6e 74 22 3e 2f 2f 20 40 74 79 70 65 49 6e 66 .class="tok-comment">//.@typeInf
4f160 6f 20 63 61 6e 20 62 65 20 75 73 65 64 20 74 6f 20 61 63 63 65 73 73 20 74 68 65 20 69 6e 74 65 o.can.be.used.to.access.the.inte
4f180 67 65 72 20 74 61 67 20 74 79 70 65 20 6f 66 20 61 6e 20 65 6e 75 6d 2e 3c 2f 73 70 61 6e 3e 3c ger.tag.type.of.an.enum.</span><
4f1a0 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 /span>.<span.class="line"><span.
4f1c0 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 63 6f 6e 73 74 3c 2f 73 70 61 6e 3e 20 53 6d 61 6c class="tok-kw">const</span>.Smal
4f1e0 6c 20 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 65 6e 75 6d 3c 2f 73 l.=.<span.class="tok-kw">enum</s
4f200 70 61 6e 3e 20 7b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 pan>.{</span>.<span.class="line"
4f220 3e 20 20 20 20 6f 6e 65 2c 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 >....one,</span>.<span.class="li
4f240 6e 65 22 3e 20 20 20 20 74 77 6f 2c 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d ne">....two,</span>.<span.class=
4f260 22 6c 69 6e 65 22 3e 20 20 20 20 74 68 72 65 65 2c 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 "line">....three,</span>.<span.c
4f280 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 66 6f 75 72 2c 3c 2f 73 70 61 6e 3e 0a 3c 73 70 lass="line">....four,</span>.<sp
4f2a0 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 7d 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 an.class="line">};</span>.<span.
4f2c0 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 class="line"><span.class="tok-kw
4f2e0 22 3e 74 65 73 74 3c 2f 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
4f300 74 72 22 3e 26 71 75 6f 74 3b 73 74 64 2e 6d 65 74 61 2e 54 61 67 26 71 75 6f 74 3b 3c 2f 73 70 tr">&quot;std.meta.Tag&quot;</sp
4f320 61 6e 3e 20 7b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e an>.{</span>.<span.class="line">
4f340 20 20 20 20 3c 73 70 61 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
4f360 61 6e 3e 20 65 78 70 65 63 74 28 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 62 75 69 6c an>.expect(<span.class="tok-buil
4f380 74 69 6e 22 3e 40 74 79 70 65 49 6e 66 6f 3c 2f 73 70 61 6e 3e 28 53 6d 61 6c 6c 29 2e 45 6e 75 tin">@typeInfo</span>(Small).Enu
4f3a0 6d 2e 74 61 67 5f 74 79 70 65 20 3d 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 m.tag_type.==.<span.class="tok-t
4f3c0 79 70 65 22 3e 75 32 3c 2f 73 70 61 6e 3e 29 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c ype">u2</span>);</span>.<span.cl
4f3e0 61 73 73 3d 22 6c 69 6e 65 22 3e 7d 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d ass="line">}</span>.<span.class=
4f400 22 6c 69 6e 65 22 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 "line"></span>.<span.class="line
4f420 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 63 6f 6d 6d 65 6e 74 22 3e 2f 2f 20 40 "><span.class="tok-comment">//.@
4f440 74 79 70 65 49 6e 66 6f 20 74 65 6c 6c 73 20 75 73 20 74 68 65 20 66 69 65 6c 64 20 63 6f 75 6e typeInfo.tells.us.the.field.coun
4f460 74 20 61 6e 64 20 74 68 65 20 66 69 65 6c 64 73 20 6e 61 6d 65 73 3a 3c 2f 73 70 61 6e 3e 3c 2f t.and.the.fields.names:</span></
4f480 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 span>.<span.class="line"><span.c
4f4a0 6c 61 73 73 3d 22 74 6f 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.
4f4c0 63 6c 61 73 73 3d 22 74 6f 6b 2d 73 74 72 22 3e 26 71 75 6f 74 3b 40 74 79 70 65 49 6e 66 6f 26 class="tok-str">&quot;@typeInfo&
4f4e0 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 20 7b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 quot;</span>.{</span>.<span.clas
4f500 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 s="line">....<span.class="tok-kw
4f520 22 3e 74 72 79 3c 2f 73 70 61 6e 3e 20 65 78 70 65 63 74 28 3c 73 70 61 6e 20 63 6c 61 73 73 3d ">try</span>.expect(<span.class=
4f540 22 74 6f 6b 2d 62 75 69 6c 74 69 6e 22 3e 40 74 79 70 65 49 6e 66 6f 3c 2f 73 70 61 6e 3e 28 53 "tok-builtin">@typeInfo</span>(S
4f560 6d 61 6c 6c 29 2e 45 6e 75 6d 2e 66 69 65 6c 64 73 2e 6c 65 6e 20 3d 3d 20 3c 73 70 61 6e 20 63 mall).Enum.fields.len.==.<span.c
4f580 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 34 3c 2f 73 70 61 6e 3e 29 3b 3c 2f 73 70 lass="tok-number">4</span>);</sp
4f5a0 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 3c 73 70 61 6e an>.<span.class="line">....<span
4f5c0 20 63 6c 61 73 73 3d 22 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
4f5e0 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"
4f600 3e 75 38 3c 2f 73 70 61 6e 3e 2c 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 62 75 69 >u8</span>,.<span.class="tok-bui
4f620 6c 74 69 6e 22 3e 40 74 79 70 65 49 6e 66 6f 3c 2f 73 70 61 6e 3e 28 53 6d 61 6c 6c 29 2e 45 6e ltin">@typeInfo</span>(Small).En
4f640 75 6d 2e 66 69 65 6c 64 73 5b 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 um.fields[<span.class="tok-numbe
4f660 72 22 3e 31 3c 2f 73 70 61 6e 3e 5d 2e 6e 61 6d 65 2c 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 r">1</span>].name,.<span.class="
4f680 74 6f 6b 2d 73 74 72 22 3e 26 71 75 6f 74 3b 74 77 6f 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 29 tok-str">&quot;two&quot;</span>)
4f6a0 29 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 7d 3c 2f );</span>.<span.class="line">}</
4f6c0 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 2f 73 70 61 6e 3e span>.<span.class="line"></span>
4f6e0 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d .<span.class="line"><span.class=
4f700 22 74 6f 6b 2d 63 6f 6d 6d 65 6e 74 22 3e 2f 2f 20 40 74 61 67 4e 61 6d 65 20 67 69 76 65 73 20 "tok-comment">//.@tagName.gives.
4f720 61 20 5b 3a 30 5d 63 6f 6e 73 74 20 75 38 20 72 65 70 72 65 73 65 6e 74 61 74 69 6f 6e 20 6f 66 a.[:0]const.u8.representation.of
4f740 20 61 6e 20 65 6e 75 6d 20 76 61 6c 75 65 3a 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 .an.enum.value:</span></span>.<s
4f760 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f pan.class="line"><span.class="to
4f780 6b 2d 6b 77 22 3e 74 65 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
4f7a0 6f 6b 2d 73 74 72 22 3e 26 71 75 6f 74 3b 40 74 61 67 4e 61 6d 65 26 71 75 6f 74 3b 3c 2f 73 70 ok-str">&quot;@tagName&quot;</sp
4f7c0 61 6e 3e 20 7b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e an>.{</span>.<span.class="line">
4f7e0 20 20 20 20 3c 73 70 61 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
4f800 61 6e 3e 20 65 78 70 65 63 74 28 6d 65 6d 2e 65 71 6c 28 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 an>.expect(mem.eql(<span.class="
4f820 74 6f 6b 2d 74 79 70 65 22 3e 75 38 3c 2f 73 70 61 6e 3e 2c 20 3c 73 70 61 6e 20 63 6c 61 73 73 tok-type">u8</span>,.<span.class
4f840 3d 22 74 6f 6b 2d 62 75 69 6c 74 69 6e 22 3e 40 74 61 67 4e 61 6d 65 3c 2f 73 70 61 6e 3e 28 53 ="tok-builtin">@tagName</span>(S
4f860 6d 61 6c 6c 2e 74 68 72 65 65 29 2c 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 73 74 mall.three),.<span.class="tok-st
4f880 72 22 3e 26 71 75 6f 74 3b 74 68 72 65 65 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 29 29 3b 3c 2f r">&quot;three&quot;</span>));</
4f8a0 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 7d 3c 2f 73 70 61 6e span>.<span.class="line">}</span
4f8c0 3e 3c 2f 63 6f 64 65 3e 3c 2f 70 72 65 3e 3c 2f 66 69 67 75 72 65 3e 3c 66 69 67 75 72 65 3e 3c ></code></pre></figure><figure><
4f8e0 66 69 67 63 61 70 74 69 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
4f900 6c 6c 3c 2f 66 69 67 63 61 70 74 69 6f 6e 3e 3c 70 72 65 3e 3c 73 61 6d 70 3e 3c 73 70 61 6e 20 ll</figcaption><pre><samp><span.
4f920 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 24 20 3c 6b 62 64 3e 7a 69 67 20 74 65 73 74 20 65 6e 75 class="line">$.<kbd>zig.test.enu
4f940 6d 73 2e 7a 69 67 3c 2f 6b 62 64 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d ms.zig</kbd></span>.<span.class=
4f960 22 6c 69 6e 65 22 3e 31 2f 37 20 74 65 73 74 2e 65 6e 75 6d 20 6f 72 64 69 6e 61 6c 20 76 61 6c "line">1/7.test.enum.ordinal.val
4f980 75 65 2e 2e 2e 20 4f 4b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e ue....OK</span>.<span.class="lin
4f9a0 65 22 3e 32 2f 37 20 74 65 73 74 2e 73 65 74 20 65 6e 75 6d 20 6f 72 64 69 6e 61 6c 20 76 61 6c e">2/7.test.set.enum.ordinal.val
4f9c0 75 65 2e 2e 2e 20 4f 4b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e ue....OK</span>.<span.class="lin
4f9e0 65 22 3e 33 2f 37 20 74 65 73 74 2e 65 6e 75 6d 20 6d 65 74 68 6f 64 2e 2e 2e 20 4f 4b 3c 2f 73 e">3/7.test.enum.method....OK</s
4fa00 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 34 2f 37 20 74 65 73 74 pan>.<span.class="line">4/7.test
4fa20 2e 65 6e 75 6d 20 76 61 72 69 61 6e 74 20 73 77 69 74 63 68 2e 2e 2e 20 4f 4b 3c 2f 73 70 61 6e .enum.variant.switch....OK</span
4fa40 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 35 2f 37 20 74 65 73 74 2e 73 74 >.<span.class="line">5/7.test.st
4fa60 64 2e 6d 65 74 61 2e 54 61 67 2e 2e 2e 20 4f 4b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c d.meta.Tag....OK</span>.<span.cl
4fa80 61 73 73 3d 22 6c 69 6e 65 22 3e 36 2f 37 20 74 65 73 74 2e 40 74 79 70 65 49 6e 66 6f 2e 2e 2e ass="line">6/7.test.@typeInfo...
4faa0 20 4f 4b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 37 2f .OK</span>.<span.class="line">7/
4fac0 37 20 74 65 73 74 2e 40 74 61 67 4e 61 6d 65 2e 2e 2e 20 4f 4b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 7.test.@tagName....OK</span>.<sp
4fae0 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 41 6c 6c 20 37 20 74 65 73 74 73 20 70 61 73 73 an.class="line">All.7.tests.pass
4fb00 65 64 2e 3c 2f 73 70 61 6e 3e 0a 3c 2f 73 61 6d 70 3e 3c 2f 70 72 65 3e 3c 2f 66 69 67 75 72 65 ed.</span>.</samp></pre></figure
4fb20 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
4fb40 3e 3c 61 20 68 72 65 66 3d 22 23 74 79 70 65 49 6e 66 6f 22 3e 40 74 79 70 65 49 6e 66 6f 3c 2f ><a.href="#typeInfo">@typeInfo</
4fb60 61 3e 3c 2f 6c 69 3e 0a 3c 6c 69 3e 3c 61 20 68 72 65 66 3d 22 23 74 61 67 4e 61 6d 65 22 3e 40 a></li>.<li><a.href="#tagName">@
4fb80 74 61 67 4e 61 6d 65 3c 2f 61 3e 3c 2f 6c 69 3e 0a 3c 6c 69 3e 3c 61 20 68 72 65 66 3d 22 23 73 tagName</a></li>.<li><a.href="#s
4fba0 69 7a 65 4f 66 22 3e 40 73 69 7a 65 4f 66 3c 2f 61 3e 3c 2f 6c 69 3e 0a 3c 2f 75 6c 3e 0a 0a 0a izeOf">@sizeOf</a></li>.</ul>...
4fbc0 20 20 20 20 20 20 3c 68 33 20 69 64 3d 22 65 78 74 65 72 6e 2d 65 6e 75 6d 22 3e 3c 61 20 68 72 ......<h3.id="extern-enum"><a.hr
4fbe0 65 66 3d 22 23 74 6f 63 2d 65 78 74 65 72 6e 2d 65 6e 75 6d 22 3e 65 78 74 65 72 6e 20 65 6e 75 ef="#toc-extern-enum">extern.enu
4fc00 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 74 65 m</a>.<a.class="hdr".href="#exte
4fc20 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 3e 0a rn-enum">..</a></h3>........<p>.
4fc40 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 74 20 ......By.default,.enums.are.not.
4fc60 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 74 68 guaranteed.to.be.compatible.with
4fc80 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 66 69 .the.C.ABI:.......</p>.......<fi
4fca0 67 75 72 65 3e 3c 66 69 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"
4fcc0 3e 3c 63 69 74 65 20 63 6c 61 73 73 3d 22 66 69 6c 65 22 3e 74 65 73 74 2e 7a 69 67 3c 2f 63 69 ><cite.class="file">test.zig</ci
4fce0 74 65 3e 3c 2f 66 69 67 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
4fd00 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b .class="line"><span.class="tok-k
4fd20 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 73 w">const</span>.Foo.=.<span.clas
4fd40 73 3d 22 74 6f 6b 2d 6b 77 22 3e 65 6e 75 6d 3c 2f 73 70 61 6e 3e 20 7b 20 61 2c 20 62 2c 20 63 s="tok-kw">enum</span>.{.a,.b,.c
4fd60 20 7d 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 .};</span>.<span.class="line"><s
4fd80 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 65 78 70 6f 72 74 3c 2f 73 70 61 6e 3e pan.class="tok-kw">export</span>
4fda0 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>.
4fdc0 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 61 6e <span.class="tok-fn">entry</span
4fde0 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 79 70 >(foo:.Foo).<span.class="tok-typ
4fe00 65 22 3e 76 6f 69 64 3c 2f 73 70 61 6e 3e 20 7b 20 5f 20 3d 20 66 6f 6f 3b 20 7d 3c 2f 73 70 61 e">void</span>.{._.=.foo;.}</spa
4fe20 6e 3e 3c 2f 63 6f 64 65 3e 3c 2f 70 72 65 3e 3c 2f 66 69 67 75 72 65 3e 3c 66 69 67 75 72 65 3e n></code></pre></figure><figure>
4fe40 3c 66 69 67 63 61 70 74 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
4fe60 65 6c 6c 3c 2f 66 69 67 63 61 70 74 69 6f 6e 3e 3c 70 72 65 3e 3c 73 61 6d 70 3e 3c 73 70 61 6e ell</figcaption><pre><samp><span
4fe80 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 24 20 3c 6b 62 64 3e 7a 69 67 20 62 75 69 6c 64 2d 6f .class="line">$.<kbd>zig.build-o
4fea0 62 6a 20 74 65 73 74 2e 7a 69 67 3c 2f 6b 62 64 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 bj.test.zig</kbd></span>.<span.c
4fec0 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 31 5f 30 22 3e 64 lass="line"><span.class="t1_0">d
4fee0 6f 63 67 65 6e 5f 74 6d 70 2f 74 65 73 74 2e 7a 69 67 3a 32 3a 31 37 3a 20 3c 2f 73 70 61 6e 3e ocgen_tmp/test.zig:2:17:.</span>
4ff00 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 33 31 5f 31 22 3e 65 72 72 6f 72 3a 20 3c 2f 73 70 61 <span.class="t31_1">error:.</spa
4ff20 6e 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 31 5f 30 22 3e 70 61 72 61 6d 65 74 65 72 20 6f n><span.class="t1_0">parameter.o
4ff40 66 20 74 79 70 65 20 27 74 65 73 74 2e 46 6f 6f 27 20 6e 6f 74 20 61 6c 6c 6f 77 65 64 20 69 6e f.type.'test.Foo'.not.allowed.in
4ff60 20 66 75 6e 63 74 69 6f 6e 20 77 69 74 68 20 63 61 6c 6c 69 6e 67 20 63 6f 6e 76 65 6e 74 69 6f .function.with.calling.conventio
4ff80 6e 20 27 43 27 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e n.'C'</span>.<span.class="line">
4ffa0 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 20 46 6f 6f 29 </span>export.fn.entry(foo:.Foo)
4ffc0 20 76 6f 69 64 20 7b 20 5f 20 3d 20 66 6f 6f 3b 20 7d 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 .void.{._.=.foo;.}</span>.<span.
4ffe0 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 3c 73 70 class="line">................<sp
50000 61 6e 20 63 6c 61 73 73 3d 22 74 33 32 5f 31 22 3e 5e 7e 7e 7e 7e 7e 7e 7e 3c 2f 73 70 61 6e 3e an.class="t32_1">^~~~~~~~</span>
50020 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 2f 73 70 61 6e 3e 3c 73 70 61 6e .<span.class="line"></span><span
50040 20 63 6c 61 73 73 3d 22 74 31 5f 30 22 3e 64 6f 63 67 65 6e 5f 74 6d 70 2f 74 65 73 74 2e 7a 69 .class="t1_0">docgen_tmp/test.zi
50060 67 3a 32 3a 31 37 3a 20 3c 2f 73 70 61 6e 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 33 36 5f g:2:17:.</span><span.class="t36_
50080 31 22 3e 6e 6f 74 65 3a 20 3c 2f 73 70 61 6e 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 31 5f 1">note:.</span><span.class="t1_
500a0 30 22 3e 65 6e 75 6d 20 74 61 67 20 74 79 70 65 20 27 75 32 27 20 69 73 20 6e 6f 74 20 65 78 74 0">enum.tag.type.'u2'.is.not.ext
500c0 65 72 6e 20 63 6f 6d 70 61 74 69 62 6c 65 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 ern.compatible</span>.<span.clas
500e0 73 3d 22 6c 69 6e 65 22 3e 3c 2f 73 70 61 6e 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 31 5f s="line"></span><span.class="t1_
50100 30 22 3e 64 6f 63 67 65 6e 5f 74 6d 70 2f 74 65 73 74 2e 7a 69 67 3a 32 3a 31 37 3a 20 3c 2f 73 0">docgen_tmp/test.zig:2:17:.</s
50120 70 61 6e 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 33 36 5f 31 22 3e 6e 6f 74 65 3a 20 3c 2f pan><span.class="t36_1">note:.</
50140 73 70 61 6e 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 31 5f 30 22 3e 6f 6e 6c 79 20 69 6e 74 span><span.class="t1_0">only.int
50160 65 67 65 72 73 20 77 69 74 68 20 70 6f 77 65 72 20 6f 66 20 74 77 6f 20 62 69 74 73 20 61 72 65 egers.with.power.of.two.bits.are
50180 20 65 78 74 65 72 6e 20 63 6f 6d 70 61 74 69 62 6c 65 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 .extern.compatible</span>.<span.
501a0 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 2f 73 70 61 6e 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d class="line"></span><span.class=
501c0 22 74 31 5f 30 22 3e 64 6f 63 67 65 6e 5f 74 6d 70 2f 74 65 73 74 2e 7a 69 67 3a 31 3a 31 33 3a "t1_0">docgen_tmp/test.zig:1:13:
501e0 20 3c 2f 73 70 61 6e 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 33 36 5f 31 22 3e 6e 6f 74 65 .</span><span.class="t36_1">note
50200 3a 20 3c 2f 73 70 61 6e 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 31 5f 30 22 3e 65 6e 75 6d :.</span><span.class="t1_0">enum
50220 20 64 65 63 6c 61 72 65 64 20 68 65 72 65 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 .declared.here</span>.<span.clas
50240 73 3d 22 6c 69 6e 65 22 3e 3c 2f 73 70 61 6e 3e 63 6f 6e 73 74 20 46 6f 6f 20 3d 20 65 6e 75 6d s="line"></span>const.Foo.=.enum
50260 20 7b 20 61 2c 20 62 2c 20 63 20 7d 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 .{.a,.b,.c.};</span>.<span.class
50280 3d 22 6c 69 6e 65 22 3e 20 20 20 20 20 20 20 20 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d ="line">............<span.class=
502a0 22 74 33 32 5f 31 22 3e 5e 7e 7e 7e 7e 7e 7e 7e 7e 7e 7e 7e 7e 7e 7e 7e 3c 2f 73 70 61 6e 3e 0a "t32_1">^~~~~~~~~~~~~~~~</span>.
502c0 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e <span.class="line"></span></span
502e0 3e 0a 3c 2f 73 61 6d 70 3e 3c 2f 70 72 65 3e 3c 2f 66 69 67 75 72 65 3e 0a 20 20 20 20 20 20 3c >.</samp></pre></figure>.......<
50300 70 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 p>.......For.a.C-ABI-compatible.
50320 65 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 enum,.provide.an.explicit.tag.ty
50340 70 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 pe.to.......the.enum:.......</p>
50360 0a 20 20 20 20 20 20 3c 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
50380 3d 22 7a 69 67 2d 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
503a0 73 74 2e 7a 69 67 3c 2f 63 69 74 65 3e 3c 2f 66 69 67 63 61 70 74 69 6f 6e 3e 3c 70 72 65 3e 3c st.zig</cite></figcaption><pre><
503c0 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c code><span.class="line"><span.cl
503e0 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 63 6f 6e 73 74 3c 2f 73 70 61 6e 3e 20 46 6f 6f 20 3d 20 ass="tok-kw">const</span>.Foo.=.
50400 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>
50420 28 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 63 5f 69 6e 74 3c 2f 73 (<span.class="tok-type">c_int</s
50440 70 61 6e 3e 29 20 7b 20 61 2c 20 62 2c 20 63 20 7d 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 pan>).{.a,.b,.c.};</span>.<span.
50460 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 class="line"><span.class="tok-kw
50480 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
504a0 2d 6b 77 22 3e 66 6e 3c 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-
504c0 66 6e 22 3e 65 6e 74 72 79 3c 2f 73 70 61 6e 3e 28 66 6f 6f 3a 20 46 6f 6f 29 20 3c 73 70 61 6e fn">entry</span>(foo:.Foo).<span
504e0 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 20 .class="tok-type">void</span>.{.
50500 5f 20 3d 20 66 6f 6f 3b 20 7d 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 3c 2f 70 72 65 3e 3c 2f _.=.foo;.}</span></code></pre></
50520 66 69 67 75 72 65 3e 3c 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
50540 3d 22 73 68 65 6c 6c 2d 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><
50560 70 72 65 3e 3c 73 61 6d 70 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 24 20 3c pre><samp><span.class="line">$.<
50580 6b 62 64 3e 7a 69 67 20 62 75 69 6c 64 2d 6f 62 6a 20 74 65 73 74 2e 7a 69 67 3c 2f 6b 62 64 3e kbd>zig.build-obj.test.zig</kbd>
505a0 3c 2f 73 70 61 6e 3e 0a 3c 2f 73 61 6d 70 3e 3c 2f 70 72 65 3e 3c 2f 66 69 67 75 72 65 3e 0a 20 </span>.</samp></pre></figure>..
505c0 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 74 65 72 61 .............<h3.id="Enum-Litera
505e0 6c 73 22 3e 3c 61 20 68 72 65 66 3d 22 23 74 6f 63 2d 45 6e 75 6d 2d 4c 69 74 65 72 61 6c 73 22 ls"><a.href="#toc-Enum-Literals"
50600 3e 45 6e 75 6d 20 4c 69 74 65 72 61 6c 73 3c 2f 61 3e 20 3c 61 20 63 6c 61 73 73 3d 22 68 64 72 >Enum.Literals</a>.<a.class="hdr
50620 22 20 68 72 65 66 3d 22 23 45 6e 75 6d 2d 4c 69 74 65 72 61 6c 73 22 3e c2 a7 3c 2f 61 3e 3c 2f ".href="#Enum-Literals">..</a></
50640 68 33 3e 0a 0a 20 20 20 20 20 20 3c 70 3e 0a 20 20 20 20 20 20 45 6e 75 6d 20 6c 69 74 65 72 61 h3>........<p>.......Enum.litera
50660 6c 73 20 61 6c 6c 6f 77 20 73 70 65 63 69 66 79 69 6e 67 20 74 68 65 20 6e 61 6d 65 20 6f 66 20 ls.allow.specifying.the.name.of.
50680 61 6e 20 65 6e 75 6d 20 66 69 65 6c 64 20 77 69 74 68 6f 75 74 20 73 70 65 63 69 66 79 69 6e 67 an.enum.field.without.specifying
506a0 20 74 68 65 20 65 6e 75 6d 20 74 79 70 65 3a 0a 20 20 20 20 20 20 3c 2f 70 3e 0a 20 20 20 20 20 .the.enum.type:.......</p>......
506c0 20 3c 66 69 67 75 72 65 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-
506e0 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 6e 75 cap"><cite.class="file">test_enu
50700 6d 5f 6c 69 74 65 72 61 6c 73 2e 7a 69 67 3c 2f 63 69 74 65 3e 3c 2f 66 69 67 63 61 70 74 69 6f m_literals.zig</cite></figcaptio
50720 6e 3e 3c 70 72 65 3e 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e n><pre><code><span.class="line">
50740 3c 73 70 61 6e 20 63 6c 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
50760 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
50780 22 3e 40 69 6d 70 6f 72 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
507a0 6b 2d 73 74 72 22 3e 26 71 75 6f 74 3b 73 74 64 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 29 3b 3c k-str">&quot;std&quot;</span>);<
507c0 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 /span>.<span.class="line"><span.
507e0 63 6c 61 73 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
50800 63 74 20 3d 20 73 74 64 2e 74 65 73 74 69 6e 67 2e 65 78 70 65 63 74 3b 3c 2f 73 70 61 6e 3e 0a ct.=.std.testing.expect;</span>.
50820 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e <span.class="line"></span>.<span
50840 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b .class="line"><span.class="tok-k
50860 77 22 3e 63 6f 6e 73 74 3c 2f 73 70 61 6e 3e 20 43 6f 6c 6f 72 20 3d 20 3c 73 70 61 6e 20 63 6c w">const</span>.Color.=.<span.cl
50880 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 65 6e 75 6d 3c 2f 73 70 61 6e 3e 20 7b 3c 2f 73 70 61 6e ass="tok-kw">enum</span>.{</span
508a0 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 61 75 74 6f 2c 3c 2f >.<span.class="line">....auto,</
508c0 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 6f 66 66 span>.<span.class="line">....off
508e0 2c 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 ,</span>.<span.class="line">....
50900 6f 6e 2c 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 7d 3b on,</span>.<span.class="line">};
50920 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 2f 73 70 61 </span>.<span.class="line"></spa
50940 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 n>.<span.class="line"><span.clas
50960 73 3d 22 74 6f 6b 2d 6b 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
50980 73 73 3d 22 74 6f 6b 2d 73 74 72 22 3e 26 71 75 6f 74 3b 65 6e 75 6d 20 6c 69 74 65 72 61 6c 73 ss="tok-str">&quot;enum.literals
509a0 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 20 7b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 &quot;</span>.{</span>.<span.cla
509c0 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b ss="line">....<span.class="tok-k
509e0 77 22 3e 63 6f 6e 73 74 3c 2f 73 70 61 6e 3e 20 63 6f 6c 6f 72 31 3a 20 43 6f 6c 6f 72 20 3d 20 w">const</span>.color1:.Color.=.
50a00 2e 61 75 74 6f 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 .auto;</span>.<span.class="line"
50a20 3e 20 20 20 20 3c 73 70 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<
50a40 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 3c 2f 73 70 61 /span>.color2.=.Color.auto;</spa
50a60 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 3c 73 70 61 6e 20 n>.<span.class="line">....<span.
50a80 63 6c 61 73 73 3d 22 74 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
50aa0 28 63 6f 6c 6f 72 31 20 3d 3d 20 63 6f 6c 6f 72 32 29 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e (color1.==.color2);</span>.<span
50ac0 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 7d 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 .class="line">}</span>.<span.cla
50ae0 73 73 3d 22 6c 69 6e 65 22 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c ss="line"></span>.<span.class="l
50b00 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 74 65 73 74 3c 2f ine"><span.class="tok-kw">test</
50b20 73 70 61 6e 3e 20 3c 73 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
50b40 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
50b60 74 3b 3c 2f 73 70 61 6e 3e 20 7b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 t;</span>.{</span>.<span.class="
50b80 6c 69 6e 65 22 3e 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 63 line">....<span.class="tok-kw">c
50ba0 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 6e 3b 3c 2f 73 onst</span>.color.=.Color.on;</s
50bc0 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 3c 73 70 61 pan>.<span.class="line">....<spa
50be0 6e 20 63 6c 61 73 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
50c00 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
50c20 63 68 3c 2f 73 70 61 6e 3e 20 28 63 6f 6c 6f 72 29 20 7b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e ch</span>.(color).{</span>.<span
50c40 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 20 20 20 20 2e 61 75 74 6f 20 3d 26 67 74 .class="line">.........auto.=&gt
50c60 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</
50c80 73 70 61 6e 3e 2c 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 span>,</span>.<span.class="line"
50ca0 3e 20 20 20 20 20 20 20 20 2e 6f 6e 20 3d 26 67 74 3b 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 >.........on.=&gt;.<span.class="
50cc0 74 6f 6b 2d 6e 75 6c 6c 22 3e 74 72 75 65 3c 2f 73 70 61 6e 3e 2c 3c 2f 73 70 61 6e 3e 0a 3c 73 tok-null">true</span>,</span>.<s
50ce0 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 20 20 20 20 2e 6f 66 66 20 3d 26 pan.class="line">.........off.=&
50d00 67 74 3b 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6c 6c 22 3e 66 61 6c 73 65 gt;.<span.class="tok-null">false
50d20 3c 2f 73 70 61 6e 3e 2c 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e </span>,</span>.<span.class="lin
50d40 65 22 3e 20 20 20 20 7d 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 e">....};</span>.<span.class="li
50d60 6e 65 22 3e 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 74 72 79 ne">....<span.class="tok-kw">try
50d80 3c 2f 73 70 61 6e 3e 20 65 78 70 65 63 74 28 72 65 73 75 6c 74 29 3b 3c 2f 73 70 61 6e 3e 0a 3c </span>.expect(result);</span>.<
50da0 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 7d 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 span.class="line">}</span></code
50dc0 3e 3c 2f 70 72 65 3e 3c 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
50de0 69 6f 6e 20 63 6c 61 73 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
50e00 63 61 70 74 69 6f 6e 3e 3c 70 72 65 3e 3c 73 61 6d 70 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 caption><pre><samp><span.class="
50e20 6c 69 6e 65 22 3e 24 20 3c 6b 62 64 3e 7a 69 67 20 74 65 73 74 20 74 65 73 74 5f 65 6e 75 6d 5f line">$.<kbd>zig.test.test_enum_
50e40 6c 69 74 65 72 61 6c 73 2e 7a 69 67 3c 2f 6b 62 64 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 literals.zig</kbd></span>.<span.
50e60 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 31 2f 32 20 74 65 73 74 2e 65 6e 75 6d 20 6c 69 74 65 72 class="line">1/2.test.enum.liter
50e80 61 6c 73 2e 2e 2e 20 4f 4b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 als....OK</span>.<span.class="li
50ea0 6e 65 22 3e 32 2f 32 20 74 65 73 74 2e 73 77 69 74 63 68 20 75 73 69 6e 67 20 65 6e 75 6d 20 6c ne">2/2.test.switch.using.enum.l
50ec0 69 74 65 72 61 6c 73 2e 2e 2e 20 4f 4b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 iterals....OK</span>.<span.class
50ee0 3d 22 6c 69 6e 65 22 3e 41 6c 6c 20 32 20 74 65 73 74 73 20 70 61 73 73 65 64 2e 3c 2f 73 70 61 ="line">All.2.tests.passed.</spa
50f00 6e 3e 0a 3c 2f 73 61 6d 70 3e 3c 2f 70 72 65 3e 3c 2f 66 69 67 75 72 65 3e 0a 20 20 20 20 20 20 n>.</samp></pre></figure>.......
50f20 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 74 69 76 65 2d 65 ........<h3.id="Non-exhaustive-e
50f40 6e 75 6d 22 3e 3c 61 20 68 72 65 66 3d 22 23 74 6f 63 2d 4e 6f 6e 2d 65 78 68 61 75 73 74 69 76 num"><a.href="#toc-Non-exhaustiv
50f60 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 20 e-enum">Non-exhaustive.enum</a>.
50f80 3c 61 20 63 6c 61 73 73 3d 22 68 64 72 22 20 68 72 65 66 3d 22 23 4e 6f 6e 2d 65 78 68 61 75 73 <a.class="hdr".href="#Non-exhaus
50fa0 74 69 76 65 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 tive-enum">..</a></h3>........<p
50fc0 3e 0a 20 20 20 20 20 20 41 20 4e 6f 6e 2d 65 78 68 61 75 73 74 69 76 65 20 65 6e 75 6d 20 63 61 >.......A.Non-exhaustive.enum.ca
50fe0 6e 20 62 65 20 63 72 65 61 74 65 64 20 62 79 20 61 64 64 69 6e 67 20 61 20 74 72 61 69 6c 69 6e n.be.created.by.adding.a.trailin
51000 67 20 27 5f 27 20 66 69 65 6c 64 2e 0a 20 20 20 20 20 20 49 74 20 20 6d 75 73 74 20 73 70 65 63 g.'_'.field........It..must.spec
51020 69 66 79 20 61 20 74 61 67 20 74 79 70 65 20 61 6e 64 20 63 61 6e 6e 6f 74 20 63 6f 6e 73 75 6d ify.a.tag.type.and.cannot.consum
51040 65 20 65 76 65 72 79 20 65 6e 75 6d 65 72 61 74 69 6f 6e 20 76 61 6c 75 65 2e 0a 20 20 20 20 20 e.every.enumeration.value.......
51060 20 3c 2f 70 3e 0a 20 20 20 20 20 20 3c 70 3e 0a 20 20 20 20 20 20 3c 61 20 68 72 65 66 3d 22 23 .</p>.......<p>.......<a.href="#
51080 69 6e 74 54 6f 45 6e 75 6d 22 3e 40 69 6e 74 54 6f 45 6e 75 6d 3c 2f 61 3e 20 6f 6e 20 61 20 6e intToEnum">@intToEnum</a>.on.a.n
510a0 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 68 65 20 on-exhaustive.enum.involves.the.
510c0 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 68 72 65 safety.semantics.......of.<a.hre
510e0 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 74 68 65 f="#intCast">@intCast</a>.to.the
51100 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 20 74 68 .integer.tag.type,.but.beyond.th
51120 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 77 65 6c at.always.results.in.......a.wel
51140 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 2f 70 3e l-defined.enum.value........</p>
51160 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 61 20 6e .......<p>.......A.switch.on.a.n
51180 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 65 20 61 on-exhaustive.enum.can.include.a
511a0 20 27 5f 27 20 70 72 6f 6e 67 20 61 73 20 61 6e 20 61 6c 74 65 72 6e 61 74 69 76 65 20 74 6f 20 .'_'.prong.as.an.alternative.to.
511c0 61 6e 20 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 an.<code><span.class="line"><spa
511e0 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 65 6c 73 65 3c 2f 73 70 61 6e 3e 3c 2f 73 70 n.class="tok-kw">else</span></sp
51200 61 6e 3e 3c 2f 63 6f 64 65 3e 20 70 72 6f 6e 67 0a 20 20 20 20 20 20 77 69 74 68 20 74 68 65 20 an></code>.prong.......with.the.
51220 64 69 66 66 65 72 65 6e 63 65 20 62 65 69 6e 67 20 74 68 61 74 20 69 74 20 6d 61 6b 65 73 20 69 difference.being.that.it.makes.i
51240 74 20 61 20 63 6f 6d 70 69 6c 65 20 65 72 72 6f 72 20 69 66 20 61 6c 6c 20 74 68 65 20 6b 6e 6f t.a.compile.error.if.all.the.kno
51260 77 6e 20 74 61 67 20 6e 61 6d 65 73 20 61 72 65 20 6e 6f 74 20 68 61 6e 64 6c 65 64 20 62 79 20 wn.tag.names.are.not.handled.by.
51280 74 68 65 20 73 77 69 74 63 68 2e 0a 20 20 20 20 20 20 3c 2f 70 3e 0a 20 20 20 20 20 20 3c 66 69 the.switch........</p>.......<fi
512a0 67 75 72 65 3e 3c 66 69 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"
512c0 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 68 5f ><cite.class="file">test_switch_
512e0 6e 6f 6e 2d 65 78 68 61 75 73 74 69 76 65 2e 7a 69 67 3c 2f 63 69 74 65 3e 3c 2f 66 69 67 63 61 non-exhaustive.zig</cite></figca
51300 70 74 69 6f 6e 3e 3c 70 72 65 3e 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 ption><pre><code><span.class="li
51320 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 63 6f 6e 73 74 3c 2f ne"><span.class="tok-kw">const</
51340 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
51360 6c 74 69 6e 22 3e 40 69 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
51380 3d 22 74 6f 6b 2d 73 74 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
513a0 3e 29 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 >);</span>.<span.class="line"><s
513c0 70 61 6e 20 63 6c 61 73 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>.
513e0 65 78 70 65 63 74 20 3d 20 73 74 64 2e 74 65 73 74 69 6e 67 2e 65 78 70 65 63 74 3b 3c 2f 73 70 expect.=.std.testing.expect;</sp
51400 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 2f 73 70 61 6e 3e 0a 3c an>.<span.class="line"></span>.<
51420 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 span.class="line"><span.class="t
51440 6f 6b 2d 6b 77 22 3e 63 6f 6e 73 74 3c 2f 73 70 61 6e 3e 20 4e 75 6d 62 65 72 20 3d 20 3c 73 70 ok-kw">const</span>.Number.=.<sp
51460 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 65 6e 75 6d 3c 2f 73 70 61 6e 3e 28 3c 73 an.class="tok-kw">enum</span>(<s
51480 70 61 6e 20 63 6c 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>).
514a0 7b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 {</span>.<span.class="line">....
514c0 6f 6e 65 2c 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 one,</span>.<span.class="line">.
514e0 20 20 20 74 77 6f 2c 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 ...two,</span>.<span.class="line
51500 22 3e 20 20 20 20 74 68 72 65 65 2c 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d ">....three,</span>.<span.class=
51520 22 6c 69 6e 65 22 3e 20 20 20 20 5f 2c 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 "line">...._,</span>.<span.class
51540 3d 22 6c 69 6e 65 22 3e 7d 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c ="line">};</span>.<span.class="l
51560 69 6e 65 22 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e ine"></span>.<span.class="line">
51580 3c 73 70 61 6e 20 63 6c 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>
515a0 20 3c 73 70 61 6e 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 .<span.class="tok-str">&quot;swi
515c0 74 63 68 20 6f 6e 20 6e 6f 6e 2d 65 78 68 61 75 73 74 69 76 65 20 65 6e 75 6d 26 71 75 6f 74 3b tch.on.non-exhaustive.enum&quot;
515e0 3c 2f 73 70 61 6e 3e 20 7b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 </span>.{</span>.<span.class="li
51600 6e 65 22 3e 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 63 6f 6e ne">....<span.class="tok-kw">con
51620 73 74 3c 2f 73 70 61 6e 3e 20 6e 75 6d 62 65 72 20 3d 20 4e 75 6d 62 65 72 2e 6f 6e 65 3b 3c 2f st</span>.number.=.Number.one;</
51640 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 3c 73 70 span>.<span.class="line">....<sp
51660 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 63 6f 6e 73 74 3c 2f 73 70 61 6e 3e 20 72 an.class="tok-kw">const</span>.r
51680 65 73 75 6c 74 20 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 73 77 69 esult.=.<span.class="tok-kw">swi
516a0 74 63 68 3c 2f 73 70 61 6e 3e 20 28 6e 75 6d 62 65 72 29 20 7b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 tch</span>.(number).{</span>.<sp
516c0 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 20 20 20 20 2e 6f 6e 65 20 3d 26 67 an.class="line">.........one.=&g
516e0 74 3b 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6c 6c 22 3e 74 72 75 65 3c 2f t;.<span.class="tok-null">true</
51700 73 70 61 6e 3e 2c 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 span>,</span>.<span.class="line"
51720 3e 20 20 20 20 20 20 20 20 2e 74 77 6f 2c 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 >.........two,</span>.<span.clas
51740 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 20 20 20 20 2e 74 68 72 65 65 20 3d 26 67 74 3b 20 3c 73 s="line">.........three.=&gt;.<s
51760 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
51780 3e 2c 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 >,</span>.<span.class="line">...
517a0 20 20 20 20 20 5f 20 3d 26 67 74 3b 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 ....._.=&gt;.<span.class="tok-nu
517c0 6c 6c 22 3e 66 61 6c 73 65 3c 2f 73 70 61 6e 3e 2c 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 ll">false</span>,</span>.<span.c
517e0 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 7d 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 lass="line">....};</span>.<span.
51800 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f class="line">....<span.class="to
51820 6b 2d 6b 77 22 3e 74 72 79 3c 2f 73 70 61 6e 3e 20 65 78 70 65 63 74 28 72 65 73 75 6c 74 29 3b k-kw">try</span>.expect(result);
51840 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 3c </span>.<span.class="line">....<
51860 73 70 61 6e 20 63 6c 61 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>
51880 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 73 .is_one.=.<span.class="tok-kw">s
518a0 77 69 74 63 68 3c 2f 73 70 61 6e 3e 20 28 6e 75 6d 62 65 72 29 20 7b 3c 2f 73 70 61 6e 3e 0a 3c witch</span>.(number).{</span>.<
518c0 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 20 20 20 20 2e 6f 6e 65 20 3d span.class="line">.........one.=
518e0 26 67 74 3b 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6c 6c 22 3e 74 72 75 65 &gt;.<span.class="tok-null">true
51900 3c 2f 73 70 61 6e 3e 2c 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e </span>,</span>.<span.class="lin
51920 65 22 3e 20 20 20 20 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e e">........<span.class="tok-kw">
51940 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
51960 6f 6b 2d 6e 75 6c 6c 22 3e 66 61 6c 73 65 3c 2f 73 70 61 6e 3e 2c 3c 2f 73 70 61 6e 3e 0a 3c 73 ok-null">false</span>,</span>.<s
51980 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 7d 3b 3c 2f 73 70 61 6e 3e 0a 3c pan.class="line">....};</span>.<
519a0 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 span.class="line">....<span.clas
519c0 73 3d 22 74 6f 6b 2d 6b 77 22 3e 74 72 79 3c 2f 73 70 61 6e 3e 20 65 78 70 65 63 74 28 69 73 5f s="tok-kw">try</span>.expect(is_
519e0 6f 6e 65 29 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e one);</span>.<span.class="line">
51a00 7d 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 3c 2f 70 72 65 3e 3c 2f 66 69 67 75 72 65 3e 3c 66 }</span></code></pre></figure><f
51a20 69 67 75 72 65 3e 3c 66 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
51a40 61 70 22 3e 53 68 65 6c 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
51a60 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 24 20 3c 6b 62 64 3e 7a 69 67 20 74 ><span.class="line">$.<kbd>zig.t
51a80 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 69 76 65 2e 7a est.test_switch_non-exhaustive.z
51aa0 69 67 3c 2f 6b 62 64 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e ig</kbd></span>.<span.class="lin
51ac0 65 22 3e 31 2f 31 20 74 65 73 74 2e 73 77 69 74 63 68 20 6f 6e 20 6e 6f 6e 2d 65 78 68 61 75 73 e">1/1.test.switch.on.non-exhaus
51ae0 74 69 76 65 20 65 6e 75 6d 2e 2e 2e 20 4f 4b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 tive.enum....OK</span>.<span.cla
51b00 73 73 3d 22 6c 69 6e 65 22 3e 41 6c 6c 20 31 20 74 65 73 74 73 20 70 61 73 73 65 64 2e 3c 2f 73 ss="line">All.1.tests.passed.</s
51b20 70 61 6e 3e 0a 3c 2f 73 61 6d 70 3e 3c 2f 70 72 65 3e 3c 2f 66 69 67 75 72 65 3e 0a 20 20 20 20 pan>.</samp></pre></figure>.....
51b40 20 20 0a 20 20 20 20 20 20 0a 0a 20 20 20 20 20 20 3c 68 32 20 69 64 3d 22 75 6e 69 6f 6e 22 3e .................<h2.id="union">
51b60 3c 61 20 68 72 65 66 3d 22 23 74 6f 63 2d 75 6e 69 6f 6e 22 3e 75 6e 69 6f 6e 3c 2f 61 3e 20 3c <a.href="#toc-union">union</a>.<
51b80 61 20 63 6c 61 73 73 3d 22 68 64 72 22 20 68 72 65 66 3d 22 23 75 6e 69 6f 6e 22 3e c2 a7 3c 2f a.class="hdr".href="#union">..</
51ba0 61 3e 3c 2f 68 32 3e 0a 0a 20 20 20 20 20 20 3c 70 3e 0a 20 20 20 20 20 20 41 20 62 61 72 65 20 a></h2>........<p>.......A.bare.
51bc0 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 <code><span.class="line"><span.c
51be0 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 75 6e 69 6f 6e 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e lass="tok-kw">union</span></span
51c00 3e 3c 2f 63 6f 64 65 3e 20 64 65 66 69 6e 65 73 20 61 20 73 65 74 20 6f 66 20 70 6f 73 73 69 62 ></code>.defines.a.set.of.possib
51c20 6c 65 20 74 79 70 65 73 20 74 68 61 74 20 61 20 76 61 6c 75 65 0a 20 20 20 20 20 20 63 61 6e 20 le.types.that.a.value.......can.
51c40 62 65 20 61 73 20 61 20 6c 69 73 74 20 6f 66 20 66 69 65 6c 64 73 2e 20 4f 6e 6c 79 20 6f 6e 65 be.as.a.list.of.fields..Only.one
51c60 20 66 69 65 6c 64 20 63 61 6e 20 62 65 20 61 63 74 69 76 65 20 61 74 20 61 20 74 69 6d 65 2e 0a .field.can.be.active.at.a.time..
51c80 20 20 20 20 20 20 54 68 65 20 69 6e 2d 6d 65 6d 6f 72 79 20 72 65 70 72 65 73 65 6e 74 61 74 69 ......The.in-memory.representati
51ca0 6f 6e 20 6f 66 20 62 61 72 65 20 75 6e 69 6f 6e 73 20 69 73 20 6e 6f 74 20 67 75 61 72 61 6e 74 on.of.bare.unions.is.not.guarant
51cc0 65 65 64 2e 0a 20 20 20 20 20 20 42 61 72 65 20 75 6e 69 6f 6e 73 20 63 61 6e 6e 6f 74 20 62 65 eed........Bare.unions.cannot.be
51ce0 20 75 73 65 64 20 74 6f 20 72 65 69 6e 74 65 72 70 72 65 74 20 6d 65 6d 6f 72 79 2e 20 46 6f 72 .used.to.reinterpret.memory..For
51d00 20 74 68 61 74 2c 20 75 73 65 20 3c 61 20 68 72 65 66 3d 22 23 70 74 72 43 61 73 74 22 3e 40 70 .that,.use.<a.href="#ptrCast">@p
51d20 74 72 43 61 73 74 3c 2f 61 3e 2c 0a 20 20 20 20 20 20 6f 72 20 75 73 65 20 61 6e 20 3c 61 20 68 trCast</a>,.......or.use.an.<a.h
51d40 72 65 66 3d 22 23 65 78 74 65 72 6e 2d 75 6e 69 6f 6e 22 3e 65 78 74 65 72 6e 20 75 6e 69 6f 6e ref="#extern-union">extern.union
51d60 3c 2f 61 3e 20 6f 72 20 61 20 3c 61 20 68 72 65 66 3d 22 23 70 61 63 6b 65 64 2d 75 6e 69 6f 6e </a>.or.a.<a.href="#packed-union
51d80 22 3e 70 61 63 6b 65 64 20 75 6e 69 6f 6e 3c 2f 61 3e 20 77 68 69 63 68 20 68 61 76 65 0a 20 20 ">packed.union</a>.which.have...
51da0 20 20 20 20 67 75 61 72 61 6e 74 65 65 64 20 69 6e 2d 6d 65 6d 6f 72 79 20 6c 61 79 6f 75 74 2e ....guaranteed.in-memory.layout.
51dc0 0a 20 20 20 20 20 20 3c 61 20 68 72 65 66 3d 22 23 57 72 6f 6e 67 2d 55 6e 69 6f 6e 2d 46 69 65 .......<a.href="#Wrong-Union-Fie
51de0 6c 64 2d 41 63 63 65 73 73 22 3e 41 63 63 65 73 73 69 6e 67 20 74 68 65 20 6e 6f 6e 2d 61 63 74 ld-Access">Accessing.the.non-act
51e00 69 76 65 20 66 69 65 6c 64 3c 2f 61 3e 20 69 73 0a 20 20 20 20 20 20 73 61 66 65 74 79 2d 63 68 ive.field</a>.is.......safety-ch
51e20 65 63 6b 65 64 20 3c 61 20 68 72 65 66 3d 22 23 55 6e 64 65 66 69 6e 65 64 2d 42 65 68 61 76 69 ecked.<a.href="#Undefined-Behavi
51e40 6f 72 22 3e 55 6e 64 65 66 69 6e 65 64 20 42 65 68 61 76 69 6f 72 3c 2f 61 3e 3a 0a 20 20 20 20 or">Undefined.Behavior</a>:.....
51e60 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
51e80 20 63 6c 61 73 73 3d 22 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
51ea0 6c 65 22 3e 74 65 73 74 2e 7a 69 67 3c 2f 63 69 74 65 3e 3c 2f 66 69 67 63 61 70 74 69 6f 6e 3e le">test.zig</cite></figcaption>
51ec0 3c 70 72 65 3e 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 <pre><code><span.class="line"><s
51ee0 70 61 6e 20 63 6c 61 73 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>.
51f00 50 61 79 6c 6f 61 64 20 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 75 Payload.=.<span.class="tok-kw">u
51f20 6e 69 6f 6e 3c 2f 73 70 61 6e 3e 20 7b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 nion</span>.{</span>.<span.class
51f40 3d 22 6c 69 6e 65 22 3e 20 20 20 20 69 6e 74 3a 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f ="line">....int:.<span.class="to
51f60 6b 2d 74 79 70 65 22 3e 69 36 34 3c 2f 73 70 61 6e 3e 2c 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e k-type">i64</span>,</span>.<span
51f80 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 66 6c 6f 61 74 3a 20 3c 73 70 61 6e 20 63 .class="line">....float:.<span.c
51fa0 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 66 36 34 3c 2f 73 70 61 6e 3e 2c 3c 2f 73 70 61 lass="tok-type">f64</span>,</spa
51fc0 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 62 6f 6f 6c 65 61 n>.<span.class="line">....boolea
51fe0 6e 3a 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 62 6f 6f 6c 3c 2f n:.<span.class="tok-type">bool</
52000 73 70 61 6e 3e 2c 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 span>,</span>.<span.class="line"
52020 3e 7d 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 >};</span>.<span.class="line"><s
52040 70 61 6e 20 63 6c 61 73 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>.<
52060 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 73 74 72 22 3e 26 71 75 6f 74 3b 73 69 6d 70 6c span.class="tok-str">&quot;simpl
52080 65 20 75 6e 69 6f 6e 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 20 7b 3c 2f 73 70 61 6e 3e 0a 3c 73 e.union&quot;</span>.{</span>.<s
520a0 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 pan.class="line">....<span.class
520c0 3d 22 74 6f 6b 2d 6b 77 22 3e 76 61 72 3c 2f 73 70 61 6e 3e 20 70 61 79 6c 6f 61 64 20 3d 20 50 ="tok-kw">var</span>.payload.=.P
520e0 61 79 6c 6f 61 64 7b 20 2e 69 6e 74 20 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d ayload{..int.=.<span.class="tok-
52100 6e 75 6d 62 65 72 22 3e 31 32 33 34 3c 2f 73 70 61 6e 3e 20 7d 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 number">1234</span>.};</span>.<s
52120 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 70 61 79 6c 6f 61 64 2e 66 6c 6f pan.class="line">....payload.flo
52140 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
52160 2e 33 34 3c 2f 73 70 61 6e 3e 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 .34</span>;</span>.<span.class="
52180 6c 69 6e 65 22 3e 7d 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 3c 2f 70 72 65 3e 3c 2f 66 69 67 line">}</span></code></pre></fig
521a0 75 72 65 3e 3c 66 69 67 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
521c0 68 65 6c 6c 2d 63 61 70 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
521e0 3e 3c 73 61 6d 70 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 24 20 3c 6b 62 64 ><samp><span.class="line">$.<kbd
52200 3e 7a 69 67 20 74 65 73 74 20 74 65 73 74 2e 7a 69 67 3c 2f 6b 62 64 3e 3c 2f 73 70 61 6e 3e 0a >zig.test.test.zig</kbd></span>.
52220 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 31 2f 31 20 74 65 73 74 2e 73 69 6d 70 <span.class="line">1/1.test.simp
52240 6c 65 20 75 6e 69 6f 6e 2e 2e 2e 20 74 68 72 65 61 64 20 33 35 36 39 30 36 37 20 70 61 6e 69 63 le.union....thread.3569067.panic
52260 3a 20 61 63 63 65 73 73 20 6f 66 20 69 6e 61 63 74 69 76 65 20 75 6e 69 6f 6e 20 66 69 65 6c 64 :.access.of.inactive.union.field
52280 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e </span>.<span.class="line"><span
522a0 20 63 6c 61 73 73 3d 22 74 31 5f 30 22 3e 64 6f 63 67 65 6e 5f 74 6d 70 2f 74 65 73 74 2e 7a 69 .class="t1_0">docgen_tmp/test.zi
522c0 67 3a 38 3a 31 32 3c 2f 73 70 61 6e 3e 3a 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 32 5f 30 g:8:12</span>:.<span.class="t2_0
522e0 22 3e 30 78 32 31 31 35 61 31 20 69 6e 20 74 65 73 74 2e 73 69 6d 70 6c 65 20 75 6e 69 6f 6e 20 ">0x2115a1.in.test.simple.union.
52300 28 74 65 73 74 29 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 (test)</span></span>.<span.class
52320 3d 22 6c 69 6e 65 22 3e 20 20 20 20 70 61 79 6c 6f 61 64 2e 66 6c 6f 61 74 20 3d 20 31 32 2e 33 ="line">....payload.float.=.12.3
52340 34 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 4;</span>.<span.class="line">...
52360 20 20 20 20 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 33 32 5f 31 22 3e 5e 3c 2f 73 ........<span.class="t32_1">^</s
52380 70 61 6e 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c pan></span>.<span.class="line"><
523a0 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 31 5f 30 22 3e 2f 68 6f 6d 65 2f 63 69 2f 72 65 6c 65 61 span.class="t1_0">/home/ci/relea
523c0 73 65 2d 30 2e 31 30 2e 31 2f 6f 75 74 2f 7a 69 67 2d 78 38 36 5f 36 34 2d 6c 69 6e 75 78 2d 6d se-0.10.1/out/zig-x86_64-linux-m
523e0 75 73 6c 2d 62 61 73 65 6c 69 6e 65 2f 6c 69 62 2f 7a 69 67 2f 74 65 73 74 5f 72 75 6e 6e 65 72 usl-baseline/lib/zig/test_runner
52400 2e 7a 69 67 3a 36 33 3a 32 38 3c 2f 73 70 61 6e 3e 3a 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 .zig:63:28</span>:.<span.class="
52420 74 32 5f 30 22 3e 30 78 32 31 32 64 34 33 20 69 6e 20 6d 61 69 6e 20 28 74 65 73 74 29 3c 2f 73 t2_0">0x212d43.in.main.(test)</s
52440 70 61 6e 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 pan></span>.<span.class="line">.
52460 20 20 20 20 20 20 20 7d 20 65 6c 73 65 20 74 65 73 74 5f 66 6e 2e 66 75 6e 63 28 29 3b 3c 2f 73 .......}.else.test_fn.func();</s
52480 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 20 20 20 20 pan>.<span.class="line">........
524a0 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="
524c0 74 33 32 5f 31 22 3e 5e 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 t32_1">^</span></span>.<span.cla
524e0 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 31 5f 30 22 3e 2f 68 6f ss="line"><span.class="t1_0">/ho
52500 6d 65 2f 63 69 2f 72 65 6c 65 61 73 65 2d 30 2e 31 30 2e 31 2f 6f 75 74 2f 7a 69 67 2d 78 38 36 me/ci/release-0.10.1/out/zig-x86
52520 5f 36 34 2d 6c 69 6e 75 78 2d 6d 75 73 6c 2d 62 61 73 65 6c 69 6e 65 2f 6c 69 62 2f 7a 69 67 2f _64-linux-musl-baseline/lib/zig/
52540 73 74 64 2f 73 74 61 72 74 2e 7a 69 67 3a 36 30 34 3a 32 32 3c 2f 73 70 61 6e 3e 3a 20 3c 73 70 std/start.zig:604:22</span>:.<sp
52560 61 6e 20 63 6c 61 73 73 3d 22 74 32 5f 30 22 3e 30 78 32 31 31 65 63 63 20 69 6e 20 70 6f 73 69 an.class="t2_0">0x211ecc.in.posi
52580 78 43 61 6c 6c 4d 61 69 6e 41 6e 64 45 78 69 74 20 28 74 65 73 74 29 3c 2f 73 70 61 6e 3e 3c 2f xCallMainAndExit.(test)</span></
525a0 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 20 20 20 span>.<span.class="line">.......
525c0 20 20 20 20 20 72 6f 6f 74 2e 6d 61 69 6e 28 29 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 .....root.main();</span>.<span.c
525e0 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 lass="line">....................
52600 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 33 32 5f 31 22 3e 5e 3c 2f 73 70 61 6e 3e 3c 2f 73 .<span.class="t32_1">^</span></s
52620 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c pan>.<span.class="line"><span.cl
52640 61 73 73 3d 22 74 31 5f 30 22 3e 2f 68 6f 6d 65 2f 63 69 2f 72 65 6c 65 61 73 65 2d 30 2e 31 30 ass="t1_0">/home/ci/release-0.10
52660 2e 31 2f 6f 75 74 2f 7a 69 67 2d 78 38 36 5f 36 34 2d 6c 69 6e 75 78 2d 6d 75 73 6c 2d 62 61 73 .1/out/zig-x86_64-linux-musl-bas
52680 65 6c 69 6e 65 2f 6c 69 62 2f 7a 69 67 2f 73 74 64 2f 73 74 61 72 74 2e 7a 69 67 3a 33 37 36 3a eline/lib/zig/std/start.zig:376:
526a0 35 3c 2f 73 70 61 6e 3e 3a 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 32 5f 30 22 3e 30 78 32 5</span>:.<span.class="t2_0">0x2
526c0 31 31 39 64 31 20 69 6e 20 5f 73 74 61 72 74 20 28 74 65 73 74 29 3c 2f 73 70 61 6e 3e 3c 2f 73 119d1.in._start.(test)</span></s
526e0 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 40 63 61 6c pan>.<span.class="line">....@cal
52700 6c 28 2e 7b 20 2e 6d 6f 64 69 66 69 65 72 20 3d 20 2e 6e 65 76 65 72 5f 69 6e 6c 69 6e 65 20 7d l(.{..modifier.=..never_inline.}
52720 2c 20 70 6f 73 69 78 43 61 6c 6c 4d 61 69 6e 41 6e 64 45 78 69 74 2c 20 2e 7b 7d 29 3b 3c 2f 73 ,.posixCallMainAndExit,..{});</s
52740 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 3c 73 70 61 pan>.<span.class="line">....<spa
52760 6e 20 63 6c 61 73 73 3d 22 74 33 32 5f 31 22 3e 5e 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 0a n.class="t32_1">^</span></span>.
52780 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 65 72 72 6f 72 3a 20 74 68 65 20 66 6f <span.class="line">error:.the.fo
527a0 6c 6c 6f 77 69 6e 67 20 74 65 73 74 20 63 6f 6d 6d 61 6e 64 20 63 72 61 73 68 65 64 3a 3c 2f 73 llowing.test.command.crashed:</s
527c0 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 2f 68 6f 6d 65 2f 63 69 pan>.<span.class="line">/home/ci
527e0 2f 72 65 6c 65 61 73 65 2d 30 2e 31 30 2e 31 2f 6f 75 74 2f 7a 69 67 2d 6c 6f 63 61 6c 2d 63 61 /release-0.10.1/out/zig-local-ca
52800 63 68 65 2f 6f 2f 38 38 36 64 62 64 65 32 63 32 61 32 31 30 37 34 63 36 63 36 64 33 66 66 39 62 che/o/886dbde2c2a21074c6c6d3ff9b
52820 38 33 33 33 36 62 2f 74 65 73 74 3c 2f 73 70 61 6e 3e 0a 3c 2f 73 61 6d 70 3e 3c 2f 70 72 65 3e 83336b/test</span>.</samp></pre>
52840 3c 2f 66 69 67 75 72 65 3e 0a 20 20 20 20 20 20 3c 70 3e 59 6f 75 20 63 61 6e 20 61 63 74 69 76 </figure>.......<p>You.can.activ
52860 61 74 65 20 61 6e 6f 74 68 65 72 20 66 69 65 6c 64 20 62 79 20 61 73 73 69 67 6e 69 6e 67 20 74 ate.another.field.by.assigning.t
52880 68 65 20 65 6e 74 69 72 65 20 75 6e 69 6f 6e 3a 3c 2f 70 3e 0a 20 20 20 20 20 20 3c 66 69 67 75 he.entire.union:</p>.......<figu
528a0 72 65 3e 3c 66 69 67 63 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"><
528c0 63 69 74 65 20 63 6c 61 73 73 3d 22 66 69 6c 65 22 3e 74 65 73 74 5f 73 69 6d 70 6c 65 5f 75 6e cite.class="file">test_simple_un
528e0 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>
52900 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 <code><span.class="line"><span.c
52920 6c 61 73 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.=
52940 20 3c 73 70 61 6e 20 63 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
52960 72 74 3c 2f 73 70 61 6e 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">
52980 26 71 75 6f 74 3b 73 74 64 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 29 3b 3c 2f 73 70 61 6e 3e 0a &quot;std&quot;</span>);</span>.
529a0 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 <span.class="line"><span.class="
529c0 74 6f 6b 2d 6b 77 22 3e 63 6f 6e 73 74 3c 2f 73 70 61 6e 3e 20 65 78 70 65 63 74 20 3d 20 73 74 tok-kw">const</span>.expect.=.st
529e0 64 2e 74 65 73 74 69 6e 67 2e 65 78 70 65 63 74 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 d.testing.expect;</span>.<span.c
52a00 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d lass="line"></span>.<span.class=
52a20 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 63 6f 6e 73 "line"><span.class="tok-kw">cons
52a40 74 3c 2f 73 70 61 6e 3e 20 50 61 79 6c 6f 61 64 20 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 t</span>.Payload.=.<span.class="
52a60 74 6f 6b 2d 6b 77 22 3e 75 6e 69 6f 6e 3c 2f 73 70 61 6e 3e 20 7b 3c 2f 73 70 61 6e 3e 0a 3c 73 tok-kw">union</span>.{</span>.<s
52a80 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 69 6e 74 3a 20 3c 73 70 61 6e 20 pan.class="line">....int:.<span.
52aa0 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 69 36 34 3c 2f 73 70 61 6e 3e 2c 3c 2f 73 70 class="tok-type">i64</span>,</sp
52ac0 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 66 6c 6f 61 74 an>.<span.class="line">....float
52ae0 3a 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
52b00 61 6e 3e 2c 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 an>,</span>.<span.class="line">.
52b20 20 20 20 62 6f 6f 6c 65 61 6e 3a 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 ...boolean:.<span.class="tok-typ
52b40 65 22 3e 62 6f 6f 6c 3c 2f 73 70 61 6e 3e 2c 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 e">bool</span>,</span>.<span.cla
52b60 73 73 3d 22 6c 69 6e 65 22 3e 7d 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d ss="line">};</span>.<span.class=
52b80 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 74 65 73 74 "line"><span.class="tok-kw">test
52ba0 3c 2f 73 70 61 6e 3e 20 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
52bc0 75 6f 74 3b 73 69 6d 70 6c 65 20 75 6e 69 6f 6e 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 20 7b 3c uot;simple.union&quot;</span>.{<
52be0 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 3c 73 /span>.<span.class="line">....<s
52c00 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 76 61 72 3c 2f 73 70 61 6e 3e 20 70 61 pan.class="tok-kw">var</span>.pa
52c20 79 6c 6f 61 64 20 3d 20 50 61 79 6c 6f 61 64 7b 20 2e 69 6e 74 20 3d 20 3c 73 70 61 6e 20 63 6c yload.=.Payload{..int.=.<span.cl
52c40 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 31 32 33 34 3c 2f 73 70 61 6e 3e 20 7d 3b 3c ass="tok-number">1234</span>.};<
52c60 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 3c 73 /span>.<span.class="line">....<s
52c80 70 61 6e 20 63 6c 61 73 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
52ca0 70 65 63 74 28 70 61 79 6c 6f 61 64 2e 69 6e 74 20 3d 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d pect(payload.int.==.<span.class=
52cc0 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 31 32 33 34 3c 2f 73 70 61 6e 3e 29 3b 3c 2f 73 70 61 6e "tok-number">1234</span>);</span
52ce0 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 70 61 79 6c 6f 61 64 >.<span.class="line">....payload
52d00 20 3d 20 50 61 79 6c 6f 61 64 7b 20 2e 66 6c 6f 61 74 20 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 .=.Payload{..float.=.<span.class
52d20 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 31 32 2e 33 34 3c 2f 73 70 61 6e 3e 20 7d 3b 3c 2f 73 ="tok-number">12.34</span>.};</s
52d40 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 3c 73 70 61 pan>.<span.class="line">....<spa
52d60 6e 20 63 6c 61 73 73 3d 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
52d80 63 74 28 70 61 79 6c 6f 61 64 2e 66 6c 6f 61 74 20 3d 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d ct(payload.float.==.<span.class=
52da0 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 31 32 2e 33 34 3c 2f 73 70 61 6e 3e 29 3b 3c 2f 73 70 61 "tok-number">12.34</span>);</spa
52dc0 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 7d 3c 2f 73 70 61 6e 3e 3c 2f n>.<span.class="line">}</span></
52de0 63 6f 64 65 3e 3c 2f 70 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
52e00 63 61 70 74 69 6f 6e 20 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<
52e20 2f 66 69 67 63 61 70 74 69 6f 6e 3e 3c 70 72 65 3e 3c 73 61 6d 70 3e 3c 73 70 61 6e 20 63 6c 61 /figcaption><pre><samp><span.cla
52e40 73 73 3d 22 6c 69 6e 65 22 3e 24 20 3c 6b 62 64 3e 7a 69 67 20 74 65 73 74 20 74 65 73 74 5f 73 ss="line">$.<kbd>zig.test.test_s
52e60 69 6d 70 6c 65 5f 75 6e 69 6f 6e 2e 7a 69 67 3c 2f 6b 62 64 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 imple_union.zig</kbd></span>.<sp
52e80 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 31 2f 31 20 74 65 73 74 2e 73 69 6d 70 6c 65 20 an.class="line">1/1.test.simple.
52ea0 75 6e 69 6f 6e 2e 2e 2e 20 4f 4b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 union....OK</span>.<span.class="
52ec0 6c 69 6e 65 22 3e 41 6c 6c 20 31 20 74 65 73 74 73 20 70 61 73 73 65 64 2e 3c 2f 73 70 61 6e 3e line">All.1.tests.passed.</span>
52ee0 0a 3c 2f 73 61 6d 70 3e 3c 2f 70 72 65 3e 3c 2f 66 69 67 75 72 65 3e 0a 20 20 20 20 20 20 3c 70 .</samp></pre></figure>.......<p
52f00 3e 0a 20 20 20 20 20 20 49 6e 20 6f 72 64 65 72 20 74 6f 20 75 73 65 20 3c 61 20 68 72 65 66 3d >.......In.order.to.use.<a.href=
52f20 22 23 73 77 69 74 63 68 22 3e 73 77 69 74 63 68 3c 2f 61 3e 20 77 69 74 68 20 61 20 75 6e 69 6f "#switch">switch</a>.with.a.unio
52f40 6e 2c 20 69 74 20 6d 75 73 74 20 62 65 20 61 20 3c 61 20 68 72 65 66 3d 22 23 54 61 67 67 65 64 n,.it.must.be.a.<a.href="#Tagged
52f60 2d 75 6e 69 6f 6e 22 3e 54 61 67 67 65 64 20 75 6e 69 6f 6e 3c 2f 61 3e 2e 0a 20 20 20 20 20 20 -union">Tagged.union</a>........
52f80 3c 2f 70 3e 0a 20 20 20 20 20 20 3c 70 3e 0a 20 20 20 20 20 20 54 6f 20 69 6e 69 74 69 61 6c 69 </p>.......<p>.......To.initiali
52fa0 7a 65 20 61 20 75 6e 69 6f 6e 20 77 68 65 6e 20 74 68 65 20 74 61 67 20 69 73 20 61 20 3c 61 20 ze.a.union.when.the.tag.is.a.<a.
52fc0 68 72 65 66 3d 22 23 63 6f 6d 70 74 69 6d 65 22 3e 63 6f 6d 70 74 69 6d 65 3c 2f 61 3e 2d 6b 6e href="#comptime">comptime</a>-kn
52fe0 6f 77 6e 20 6e 61 6d 65 2c 20 73 65 65 20 3c 61 20 68 72 65 66 3d 22 23 75 6e 69 6f 6e 49 6e 69 own.name,.see.<a.href="#unionIni
53000 74 22 3e 40 75 6e 69 6f 6e 49 6e 69 74 3c 2f 61 3e 2e 0a 20 20 20 20 20 20 3c 2f 70 3e 0a 0a 20 t">@unionInit</a>........</p>...
53020 20 20 20 20 20 3c 68 33 20 69 64 3d 22 54 61 67 67 65 64 2d 75 6e 69 6f 6e 22 3e 3c 61 20 68 72 .....<h3.id="Tagged-union"><a.hr
53040 65 66 3d 22 23 74 6f 63 2d 54 61 67 67 65 64 2d 75 6e 69 6f 6e 22 3e 54 61 67 67 65 64 20 75 6e ef="#toc-Tagged-union">Tagged.un
53060 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 54 61 ion</a>.<a.class="hdr".href="#Ta
53080 67 67 65 64 2d 75 6e 69 6f 6e 22 3e c2 a7 3c 2f 61 3e 3c 2f 68 33 3e 0a 0a 20 20 20 20 20 20 3c gged-union">..</a></h3>........<
530a0 70 3e 55 6e 69 6f 6e 73 20 63 61 6e 20 62 65 20 64 65 63 6c 61 72 65 64 20 77 69 74 68 20 61 6e p>Unions.can.be.declared.with.an
530c0 20 65 6e 75 6d 20 74 61 67 20 74 79 70 65 2e 0a 20 20 20 20 20 20 54 68 69 73 20 74 75 72 6e 73 .enum.tag.type........This.turns
530e0 20 74 68 65 20 75 6e 69 6f 6e 20 69 6e 74 6f 20 61 20 3c 65 6d 3e 74 61 67 67 65 64 3c 2f 65 6d .the.union.into.a.<em>tagged</em
53100 3e 20 75 6e 69 6f 6e 2c 20 77 68 69 63 68 20 6d 61 6b 65 73 20 69 74 20 65 6c 69 67 69 62 6c 65 >.union,.which.makes.it.eligible
53120 0a 20 20 20 20 20 20 74 6f 20 75 73 65 20 77 69 74 68 20 3c 61 20 68 72 65 66 3d 22 23 73 77 69 .......to.use.with.<a.href="#swi
53140 74 63 68 22 3e 73 77 69 74 63 68 3c 2f 61 3e 20 65 78 70 72 65 73 73 69 6f 6e 73 2e 0a 20 20 20 tch">switch</a>.expressions.....
53160 20 20 20 54 61 67 67 65 64 20 75 6e 69 6f 6e 73 20 63 6f 65 72 63 65 20 74 6f 20 74 68 65 69 72 ...Tagged.unions.coerce.to.their
53180 20 74 61 67 20 74 79 70 65 3a 20 3c 61 20 68 72 65 66 3d 22 23 54 79 70 65 2d 43 6f 65 72 63 69 .tag.type:.<a.href="#Type-Coerci
531a0 6f 6e 2d 75 6e 69 6f 6e 73 2d 61 6e 64 2d 65 6e 75 6d 73 22 3e 54 79 70 65 20 43 6f 65 72 63 69 on-unions-and-enums">Type.Coerci
531c0 6f 6e 3a 20 75 6e 69 6f 6e 73 20 61 6e 64 20 65 6e 75 6d 73 3c 2f 61 3e 2e 0a 20 20 20 20 20 20 on:.unions.and.enums</a>........
531e0 3c 2f 70 3e 0a 20 20 20 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
53200 6c 61 73 73 3d 22 7a 69 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
53220 22 3e 74 65 73 74 5f 73 77 69 74 63 68 5f 74 61 67 67 65 64 5f 75 6e 69 6f 6e 2e 7a 69 67 3c 2f ">test_switch_tagged_union.zig</
53240 63 69 74 65 3e 3c 2f 66 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
53260 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b an.class="line"><span.class="tok
53280 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
532a0 61 73 73 3d 22 74 6f 6b 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>
532c0 28 3c 73 70 61 6e 20 63 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
532e0 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 29 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 &quot;</span>);</span>.<span.cla
53300 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 63 ss="line"><span.class="tok-kw">c
53320 6f 6e 73 74 3c 2f 73 70 61 6e 3e 20 65 78 70 65 63 74 20 3d 20 73 74 64 2e 74 65 73 74 69 6e 67 onst</span>.expect.=.std.testing
53340 2e 65 78 70 65 63 74 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e .expect;</span>.<span.class="lin
53360 65 22 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 e"></span>.<span.class="line"><s
53380 70 61 6e 20 63 6c 61 73 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>.
533a0 43 6f 6d 70 6c 65 78 54 79 70 65 54 61 67 20 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f ComplexTypeTag.=.<span.class="to
533c0 6b 2d 6b 77 22 3e 65 6e 75 6d 3c 2f 73 70 61 6e 3e 20 7b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e k-kw">enum</span>.{</span>.<span
533e0 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 6f 6b 2c 3c 2f 73 70 61 6e 3e 0a 3c 73 70 .class="line">....ok,</span>.<sp
53400 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 6e 6f 74 5f 6f 6b 2c 3c 2f 73 70 61 an.class="line">....not_ok,</spa
53420 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 7d 3b 3c 2f 73 70 61 6e 3e 0a n>.<span.class="line">};</span>.
53440 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 <span.class="line"><span.class="
53460 74 6f 6b 2d 6b 77 22 3e 63 6f 6e 73 74 3c 2f 73 70 61 6e 3e 20 43 6f 6d 70 6c 65 78 54 79 70 65 tok-kw">const</span>.ComplexType
53480 20 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 75 6e 69 6f 6e 3c 2f 73 .=.<span.class="tok-kw">union</s
534a0 70 61 6e 3e 28 43 6f 6d 70 6c 65 78 54 79 70 65 54 61 67 29 20 7b 3c 2f 73 70 61 6e 3e 0a 3c 73 pan>(ComplexTypeTag).{</span>.<s
534c0 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 6f 6b 3a 20 3c 73 70 61 6e 20 63 pan.class="line">....ok:.<span.c
534e0 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 75 38 3c 2f 73 70 61 6e 3e 2c 3c 2f 73 70 61 6e lass="tok-type">u8</span>,</span
53500 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 6e 6f 74 5f 6f 6b 3a >.<span.class="line">....not_ok:
53520 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
53540 61 6e 3e 2c 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 7d an>,</span>.<span.class="line">}
53560 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 2f 73 70 ;</span>.<span.class="line"></sp
53580 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 an>.<span.class="line"><span.cla
535a0 73 73 3d 22 74 6f 6b 2d 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
535c0 61 73 73 3d 22 74 6f 6b 2d 73 74 72 22 3e 26 71 75 6f 74 3b 73 77 69 74 63 68 20 6f 6e 20 74 61 ass="tok-str">&quot;switch.on.ta
535e0 67 67 65 64 20 75 6e 69 6f 6e 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 20 7b 3c 2f 73 70 61 6e 3e gged.union&quot;</span>.{</span>
53600 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 3c 73 70 61 6e 20 63 6c .<span.class="line">....<span.cl
53620 61 73 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 43 6f ass="tok-kw">const</span>.c.=.Co
53640 6d 70 6c 65 78 54 79 70 65 7b 20 2e 6f 6b 20 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f mplexType{..ok.=.<span.class="to
53660 6b 2d 6e 75 6d 62 65 72 22 3e 34 32 3c 2f 73 70 61 6e 3e 20 7d 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 k-number">42</span>.};</span>.<s
53680 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 pan.class="line">....<span.class
536a0 3d 22 74 6f 6b 2d 6b 77 22 3e 74 72 79 3c 2f 73 70 61 6e 3e 20 65 78 70 65 63 74 28 3c 73 70 61 ="tok-kw">try</span>.expect(<spa
536c0 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>
536e0 28 43 6f 6d 70 6c 65 78 54 79 70 65 54 61 67 2c 20 63 29 20 3d 3d 20 43 6f 6d 70 6c 65 78 54 79 (ComplexTypeTag,.c).==.ComplexTy
53700 70 65 54 61 67 2e 6f 6b 29 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c peTag.ok);</span>.<span.class="l
53720 69 6e 65 22 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e ine"></span>.<span.class="line">
53740 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 73 77 69 74 63 68 3c ....<span.class="tok-kw">switch<
53760 2f 73 70 61 6e 3e 20 28 63 29 20 7b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d /span>.(c).{</span>.<span.class=
53780 22 6c 69 6e 65 22 3e 20 20 20 20 20 20 20 20 43 6f 6d 70 6c 65 78 54 79 70 65 54 61 67 2e 6f 6b "line">........ComplexTypeTag.ok
537a0 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 3d 22 74 6f 6b 2d .=&gt;.|value|.<span.class="tok-
537c0 6b 77 22 3e 74 72 79 3c 2f 73 70 61 6e 3e 20 65 78 70 65 63 74 28 76 61 6c 75 65 20 3d 3d 20 3c kw">try</span>.expect(value.==.<
537e0 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
53800 3e 29 2c 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 >),</span>.<span.class="line">..
53820 20 20 20 20 20 20 43 6f 6d 70 6c 65 78 54 79 70 65 54 61 67 2e 6e 6f 74 5f 6f 6b 20 3d 26 67 74 ......ComplexTypeTag.not_ok.=&gt
53840 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 62 ;.<span.class="tok-kw">unreachab
53860 6c 65 3c 2f 73 70 61 6e 3e 2c 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c le</span>,</span>.<span.class="l
53880 69 6e 65 22 3e 20 20 20 20 7d 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c ine">....}</span>.<span.class="l
538a0 69 6e 65 22 3e 7d 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 ine">}</span>.<span.class="line"
538c0 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 ></span>.<span.class="line"><spa
538e0 6e 20 63 6c 61 73 73 3d 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
53900 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 73 74 72 22 3e 26 71 75 6f 74 3b 67 65 74 20 74 61 67 an.class="tok-str">&quot;get.tag
53920 20 74 79 70 65 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 20 7b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 .type&quot;</span>.{</span>.<spa
53940 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 n.class="line">....<span.class="
53960 74 6f 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
53980 74 61 2e 54 61 67 28 43 6f 6d 70 6c 65 78 54 79 70 65 29 20 3d 3d 20 43 6f 6d 70 6c 65 78 54 79 ta.Tag(ComplexType).==.ComplexTy
539a0 70 65 54 61 67 29 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 peTag);</span>.<span.class="line
539c0 22 3e 7d 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 2f ">}</span>.<span.class="line"></
539e0 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 span>.<span.class="line"><span.c
53a00 6c 61 73 73 3d 22 74 6f 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.
53a20 63 6c 61 73 73 3d 22 74 6f 6b 2d 73 74 72 22 3e 26 71 75 6f 74 3b 63 6f 65 72 63 65 20 74 6f 20 class="tok-str">&quot;coerce.to.
53a40 65 6e 75 6d 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 20 7b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e enum&quot;</span>.{</span>.<span
53a60 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 .class="line">....<span.class="t
53a80 6f 6b 2d 6b 77 22 3e 63 6f 6e 73 74 3c 2f 73 70 61 6e 3e 20 63 31 20 3d 20 43 6f 6d 70 6c 65 78 ok-kw">const</span>.c1.=.Complex
53aa0 54 79 70 65 7b 20 2e 6f 6b 20 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d Type{..ok.=.<span.class="tok-num
53ac0 62 65 72 22 3e 34 32 3c 2f 73 70 61 6e 3e 20 7d 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 ber">42</span>.};</span>.<span.c
53ae0 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b lass="line">....<span.class="tok
53b00 2d 6b 77 22 3e 63 6f 6e 73 74 3c 2f 73 70 61 6e 3e 20 63 32 20 3d 20 43 6f 6d 70 6c 65 78 54 79 -kw">const</span>.c2.=.ComplexTy
53b20 70 65 2e 6e 6f 74 5f 6f 6b 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c pe.not_ok;</span>.<span.class="l
53b40 69 6e 65 22 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e ine"></span>.<span.class="line">
53b60 20 20 20 20 3c 73 70 61 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
53b80 61 6e 3e 20 65 78 70 65 63 74 28 63 31 20 3d 3d 20 2e 6f 6b 29 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 an>.expect(c1.==..ok);</span>.<s
53ba0 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 pan.class="line">....<span.class
53bc0 3d 22 74 6f 6b 2d 6b 77 22 3e 74 72 79 3c 2f 73 70 61 6e 3e 20 65 78 70 65 63 74 28 63 32 20 3d ="tok-kw">try</span>.expect(c2.=
53be0 3d 20 2e 6e 6f 74 5f 6f 6b 29 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 =..not_ok);</span>.<span.class="
53c00 6c 69 6e 65 22 3e 7d 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 3c 2f 70 72 65 3e 3c 2f 66 69 67 line">}</span></code></pre></fig
53c20 75 72 65 3e 3c 66 69 67 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
53c40 68 65 6c 6c 2d 63 61 70 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
53c60 3e 3c 73 61 6d 70 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 24 20 3c 6b 62 64 ><samp><span.class="line">$.<kbd
53c80 3e 7a 69 67 20 74 65 73 74 20 74 65 73 74 5f 73 77 69 74 63 68 5f 74 61 67 67 65 64 5f 75 6e 69 >zig.test.test_switch_tagged_uni
53ca0 6f 6e 2e 7a 69 67 3c 2f 6b 62 64 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d on.zig</kbd></span>.<span.class=
53cc0 22 6c 69 6e 65 22 3e 31 2f 33 20 74 65 73 74 2e 73 77 69 74 63 68 20 6f 6e 20 74 61 67 67 65 64 "line">1/3.test.switch.on.tagged
53ce0 20 75 6e 69 6f 6e 2e 2e 2e 20 4f 4b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d .union....OK</span>.<span.class=
53d00 22 6c 69 6e 65 22 3e 32 2f 33 20 74 65 73 74 2e 67 65 74 20 74 61 67 20 74 79 70 65 2e 2e 2e 20 "line">2/3.test.get.tag.type....
53d20 4f 4b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 33 2f 33 OK</span>.<span.class="line">3/3
53d40 20 74 65 73 74 2e 63 6f 65 72 63 65 20 74 6f 20 65 6e 75 6d 2e 2e 2e 20 4f 4b 3c 2f 73 70 61 6e .test.coerce.to.enum....OK</span
53d60 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 41 6c 6c 20 33 20 74 65 73 74 73 >.<span.class="line">All.3.tests
53d80 20 70 61 73 73 65 64 2e 3c 2f 73 70 61 6e 3e 0a 3c 2f 73 61 6d 70 3e 3c 2f 70 72 65 3e 3c 2f 66 .passed.</span>.</samp></pre></f
53da0 69 67 75 72 65 3e 0a 20 20 20 20 20 20 3c 70 3e 49 6e 20 6f 72 64 65 72 20 74 6f 20 6d 6f 64 69 igure>.......<p>In.order.to.modi
53dc0 66 79 20 74 68 65 20 70 61 79 6c 6f 61 64 20 6f 66 20 61 20 74 61 67 67 65 64 20 75 6e 69 6f 6e fy.the.payload.of.a.tagged.union
53de0 20 69 6e 20 61 20 73 77 69 74 63 68 20 65 78 70 72 65 73 73 69 6f 6e 2c 0a 20 20 20 20 20 20 70 .in.a.switch.expression,.......p
53e00 6c 61 63 65 20 61 20 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e lace.a.<code><span.class="line">
53e20 2a 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 20 62 65 66 6f 72 65 20 74 68 65 20 76 61 72 69 61 *</span></code>.before.the.varia
53e40 62 6c 65 20 6e 61 6d 65 20 74 6f 20 6d 61 6b 65 20 69 74 20 61 20 70 6f 69 6e 74 65 72 3a 0a 20 ble.name.to.make.it.a.pointer:..
53e60 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
53e80 69 6f 6e 20 63 6c 61 73 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=
53ea0 22 66 69 6c 65 22 3e 74 65 73 74 5f 73 77 69 74 63 68 5f 6d 6f 64 69 66 79 5f 74 61 67 67 65 64 "file">test_switch_modify_tagged
53ec0 5f 75 6e 69 6f 6e 2e 7a 69 67 3c 2f 63 69 74 65 3e 3c 2f 66 69 67 63 61 70 74 69 6f 6e 3e 3c 70 _union.zig</cite></figcaption><p
53ee0 72 65 3e 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 re><code><span.class="line"><spa
53f00 6e 20 63 6c 61 73 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
53f20 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
53f40 6d 70 6f 72 74 3c 2f 73 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
53f60 72 22 3e 26 71 75 6f 74 3b 73 74 64 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 29 3b 3c 2f 73 70 61 r">&quot;std&quot;</span>);</spa
53f80 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 n>.<span.class="line"><span.clas
53fa0 73 3d 22 74 6f 6b 2d 6b 77 22 3e 63 6f 6e 73 74 3c 2f 73 70 61 6e 3e 20 65 78 70 65 63 74 20 3d s="tok-kw">const</span>.expect.=
53fc0 20 73 74 64 2e 74 65 73 74 69 6e 67 2e 65 78 70 65 63 74 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 .std.testing.expect;</span>.<spa
53fe0 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 n.class="line"></span>.<span.cla
54000 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 63 ss="line"><span.class="tok-kw">c
54020 6f 6e 73 74 3c 2f 73 70 61 6e 3e 20 43 6f 6d 70 6c 65 78 54 79 70 65 54 61 67 20 3d 20 3c 73 70 onst</span>.ComplexTypeTag.=.<sp
54040 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 65 6e 75 6d 3c 2f 73 70 61 6e 3e 20 7b 3c an.class="tok-kw">enum</span>.{<
54060 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 6f 6b /span>.<span.class="line">....ok
54080 2c 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 ,</span>.<span.class="line">....
540a0 6e 6f 74 5f 6f 6b 2c 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 not_ok,</span>.<span.class="line
540c0 22 3e 7d 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c ">};</span>.<span.class="line"><
540e0 73 70 61 6e 20 63 6c 61 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>
54100 20 43 6f 6d 70 6c 65 78 54 79 70 65 20 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d .ComplexType.=.<span.class="tok-
54120 6b 77 22 3e 75 6e 69 6f 6e 3c 2f 73 70 61 6e 3e 28 43 6f 6d 70 6c 65 78 54 79 70 65 54 61 67 29 kw">union</span>(ComplexTypeTag)
54140 20 7b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 .{</span>.<span.class="line">...
54160 20 6f 6b 3a 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 75 38 3c 2f .ok:.<span.class="tok-type">u8</
54180 73 70 61 6e 3e 2c 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 span>,</span>.<span.class="line"
541a0 3e 20 20 20 20 6e 6f 74 5f 6f 6b 3a 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 >....not_ok:.<span.class="tok-ty
541c0 70 65 22 3e 76 6f 69 64 3c 2f 73 70 61 6e 3e 2c 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c pe">void</span>,</span>.<span.cl
541e0 61 73 73 3d 22 6c 69 6e 65 22 3e 7d 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 ass="line">};</span>.<span.class
54200 3d 22 6c 69 6e 65 22 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e ="line"></span>.<span.class="lin
54220 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 74 65 73 74 3c 2f 73 70 e"><span.class="tok-kw">test</sp
54240 61 6e 3e 20 3c 73 70 61 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;
54260 6d 6f 64 69 66 79 20 74 61 67 67 65 64 20 75 6e 69 6f 6e 20 69 6e 20 73 77 69 74 63 68 26 71 75 modify.tagged.union.in.switch&qu
54280 6f 74 3b 3c 2f 73 70 61 6e 3e 20 7b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d ot;</span>.{</span>.<span.class=
542a0 22 6c 69 6e 65 22 3e 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e "line">....<span.class="tok-kw">
542c0 76 61 72 3c 2f 73 70 61 6e 3e 20 63 20 3d 20 43 6f 6d 70 6c 65 78 54 79 70 65 7b 20 2e 6f 6b 20 var</span>.c.=.ComplexType{..ok.
542e0 3d 20 3c 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
54300 70 61 6e 3e 20 7d 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 pan>.};</span>.<span.class="line
54320 22 3e 20 20 20 20 3c 73 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</
54340 73 70 61 6e 3e 20 65 78 70 65 63 74 28 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 62 75 span>.expect(<span.class="tok-bu
54360 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 79 70 65 54 61 67 iltin">@as</span>(ComplexTypeTag
54380 2c 20 63 29 20 3d 3d 20 43 6f 6d 70 6c 65 78 54 79 70 65 54 61 67 2e 6f 6b 29 3b 3c 2f 73 70 61 ,.c).==.ComplexTypeTag.ok);</spa
543a0 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 n>.<span.class="line"></span>.<s
543c0 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 pan.class="line">....<span.class
543e0 3d 22 74 6f 6b 2d 6b 77 22 3e 73 77 69 74 63 68 3c 2f 73 70 61 6e 3e 20 28 63 29 20 7b 3c 2f 73 ="tok-kw">switch</span>.(c).{</s
54400 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 20 20 20 20 pan>.<span.class="line">........
54420 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 2a 76 61 6c 75 65 7c ComplexTypeTag.ok.=&gt;.|*value|
54440 20 76 61 6c 75 65 2e 2a 20 2b 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d .value.*.+=.<span.class="tok-num
54460 62 65 72 22 3e 31 3c 2f 73 70 61 6e 3e 2c 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 ber">1</span>,</span>.<span.clas
54480 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 20 20 20 20 43 6f 6d 70 6c 65 78 54 79 70 65 54 61 67 2e s="line">........ComplexTypeTag.
544a0 6e 6f 74 5f 6f 6b 20 3d 26 67 74 3b 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 not_ok.=&gt;.<span.class="tok-kw
544c0 22 3e 75 6e 72 65 61 63 68 61 62 6c 65 3c 2f 73 70 61 6e 3e 2c 3c 2f 73 70 61 6e 3e 0a 3c 73 70 ">unreachable</span>,</span>.<sp
544e0 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 7d 3c 2f 73 70 61 6e 3e 0a 3c 73 70 an.class="line">....}</span>.<sp
54500 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c an.class="line"></span>.<span.cl
54520 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d ass="line">....<span.class="tok-
54540 6b 77 22 3e 74 72 79 3c 2f 73 70 61 6e 3e 20 65 78 70 65 63 74 28 63 2e 6f 6b 20 3d 3d 20 3c 73 kw">try</span>.expect(c.ok.==.<s
54560 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 34 33 3c 2f 73 70 61 6e 3e pan.class="tok-number">43</span>
54580 29 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 7d 3c 2f );</span>.<span.class="line">}</
545a0 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
545c0 72 65 3e 3c 66 69 67 63 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"
545e0 3e 53 68 65 6c 6c 3c 2f 66 69 67 63 61 70 74 69 6f 6e 3e 3c 70 72 65 3e 3c 73 61 6d 70 3e 3c 73 >Shell</figcaption><pre><samp><s
54600 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 24 20 3c 6b 62 64 3e 7a 69 67 20 74 65 73 74 pan.class="line">$.<kbd>zig.test
54620 20 74 65 73 74 5f 73 77 69 74 63 68 5f 6d 6f 64 69 66 79 5f 74 61 67 67 65 64 5f 75 6e 69 6f 6e .test_switch_modify_tagged_union
54640 2e 7a 69 67 3c 2f 6b 62 64 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c .zig</kbd></span>.<span.class="l
54660 69 6e 65 22 3e 31 2f 31 20 74 65 73 74 2e 6d 6f 64 69 66 79 20 74 61 67 67 65 64 20 75 6e 69 6f ine">1/1.test.modify.tagged.unio
54680 6e 20 69 6e 20 73 77 69 74 63 68 2e 2e 2e 20 4f 4b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 n.in.switch....OK</span>.<span.c
546a0 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 41 6c 6c 20 31 20 74 65 73 74 73 20 70 61 73 73 65 64 2e 3c lass="line">All.1.tests.passed.<
546c0 2f 73 70 61 6e 3e 0a 3c 2f 73 61 6d 70 3e 3c 2f 70 72 65 3e 3c 2f 66 69 67 75 72 65 3e 0a 20 20 /span>.</samp></pre></figure>...
546e0 20 20 20 20 3c 70 3e 0a 20 20 20 20 20 20 55 6e 69 6f 6e 73 20 63 61 6e 20 62 65 20 6d 61 64 65 ....<p>.......Unions.can.be.made
54700 20 74 6f 20 69 6e 66 65 72 20 74 68 65 20 65 6e 75 6d 20 74 61 67 20 74 79 70 65 2e 0a 20 20 20 .to.infer.the.enum.tag.type.....
54720 20 20 20 46 75 72 74 68 65 72 2c 20 75 6e 69 6f 6e 73 20 63 61 6e 20 68 61 76 65 20 6d 65 74 68 ...Further,.unions.can.have.meth
54740 6f 64 73 20 6a 75 73 74 20 6c 69 6b 65 20 73 74 72 75 63 74 73 20 61 6e 64 20 65 6e 75 6d 73 2e ods.just.like.structs.and.enums.
54760 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
54780 70 74 69 6f 6e 20 63 6c 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
547a0 73 3d 22 66 69 6c 65 22 3e 74 65 73 74 5f 75 6e 69 6f 6e 5f 6d 65 74 68 6f 64 2e 7a 69 67 3c 2f s="file">test_union_method.zig</
547c0 63 69 74 65 3e 3c 2f 66 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
547e0 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b an.class="line"><span.class="tok
54800 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
54820 61 73 73 3d 22 74 6f 6b 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>
54840 28 3c 73 70 61 6e 20 63 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
54860 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 29 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 &quot;</span>);</span>.<span.cla
54880 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 63 ss="line"><span.class="tok-kw">c
548a0 6f 6e 73 74 3c 2f 73 70 61 6e 3e 20 65 78 70 65 63 74 20 3d 20 73 74 64 2e 74 65 73 74 69 6e 67 onst</span>.expect.=.std.testing
548c0 2e 65 78 70 65 63 74 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e .expect;</span>.<span.class="lin
548e0 65 22 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 e"></span>.<span.class="line"><s
54900 70 61 6e 20 63 6c 61 73 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>.
54920 56 61 72 69 61 6e 74 20 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 75 Variant.=.<span.class="tok-kw">u
54940 6e 69 6f 6e 3c 2f 73 70 61 6e 3e 28 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 nion</span>(<span.class="tok-kw"
54960 3e 65 6e 75 6d 3c 2f 73 70 61 6e 3e 29 20 7b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 >enum</span>).{</span>.<span.cla
54980 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 69 6e 74 3a 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 ss="line">....int:.<span.class="
549a0 74 6f 6b 2d 74 79 70 65 22 3e 69 33 32 3c 2f 73 70 61 6e 3e 2c 3c 2f 73 70 61 6e 3e 0a 3c 73 70 tok-type">i32</span>,</span>.<sp
549c0 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 62 6f 6f 6c 65 61 6e 3a 20 3c 73 70 an.class="line">....boolean:.<sp
549e0 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 62 6f 6f 6c 3c 2f 73 70 61 6e 3e 2c an.class="tok-type">bool</span>,
54a00 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 2f 73 70 61 </span>.<span.class="line"></spa
54a20 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 3c 73 70 61 6e 20 n>.<span.class="line">....<span.
54a40 63 6c 61 73 73 3d 22 74 6f 6b 2d 63 6f 6d 6d 65 6e 74 22 3e 2f 2f 20 76 6f 69 64 20 63 61 6e 20 class="tok-comment">//.void.can.
54a60 62 65 20 6f 6d 69 74 74 65 64 20 77 68 65 6e 20 69 6e 66 65 72 72 69 6e 67 20 65 6e 75 6d 20 74 be.omitted.when.inferring.enum.t
54a80 61 67 20 74 79 70 65 2e 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 ag.type.</span></span>.<span.cla
54aa0 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 6e 6f 6e 65 2c 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e ss="line">....none,</span>.<span
54ac0 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 .class="line"></span>.<span.clas
54ae0 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 s="line">....<span.class="tok-kw
54b00 22 3e 66 6e 3c 2f 73 70 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"
54b20 3e 74 72 75 74 68 79 3c 2f 73 70 61 6e 3e 28 73 65 6c 66 3a 20 56 61 72 69 61 6e 74 29 20 3c 73 >truthy</span>(self:.Variant).<s
54b40 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>
54b60 20 7b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 .{</span>.<span.class="line">...
54b80 20 20 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
54ba0 3c 2f 73 70 61 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
54bc0 74 63 68 3c 2f 73 70 61 6e 3e 20 28 73 65 6c 66 29 20 7b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e tch</span>.(self).{</span>.<span
54be0 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 20 20 20 20 20 20 20 20 56 61 72 69 61 6e .class="line">............Varian
54c00 74 2e 69 6e 74 20 3d 26 67 74 3b 20 7c 78 5f 69 6e 74 7c 20 78 5f 69 6e 74 20 21 3d 20 3c 73 70 t.int.=&gt;.|x_int|.x_int.!=.<sp
54c20 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 30 3c 2f 73 70 61 6e 3e 2c 3c an.class="tok-number">0</span>,<
54c40 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 20 20 /span>.<span.class="line">......
54c60 20 20 20 20 20 20 56 61 72 69 61 6e 74 2e 62 6f 6f 6c 65 61 6e 20 3d 26 67 74 3b 20 7c 78 5f 62 ......Variant.boolean.=&gt;.|x_b
54c80 6f 6f 6c 7c 20 78 5f 62 6f 6f 6c 2c 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d ool|.x_bool,</span>.<span.class=
54ca0 22 6c 69 6e 65 22 3e 20 20 20 20 20 20 20 20 20 20 20 20 56 61 72 69 61 6e 74 2e 6e 6f 6e 65 20 "line">............Variant.none.
54cc0 3d 26 67 74 3b 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6c 6c 22 3e 66 61 6c =&gt;.<span.class="tok-null">fal
54ce0 73 65 3c 2f 73 70 61 6e 3e 2c 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c se</span>,</span>.<span.class="l
54d00 69 6e 65 22 3e 20 20 20 20 20 20 20 20 7d 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 ine">........};</span>.<span.cla
54d20 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 7d 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 ss="line">....}</span>.<span.cla
54d40 73 73 3d 22 6c 69 6e 65 22 3e 7d 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d ss="line">};</span>.<span.class=
54d60 22 6c 69 6e 65 22 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 "line"></span>.<span.class="line
54d80 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 74 65 73 74 3c 2f 73 70 61 "><span.class="tok-kw">test</spa
54da0 6e 3e 20 3c 73 70 61 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
54dc0 6e 69 6f 6e 20 6d 65 74 68 6f 64 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 20 7b 3c 2f 73 70 61 6e nion.method&quot;</span>.{</span
54de0 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 3c 73 70 61 6e 20 63 >.<span.class="line">....<span.c
54e00 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 76 61 72 3c 2f 73 70 61 6e 3e 20 76 31 20 3d 20 56 61 lass="tok-kw">var</span>.v1.=.Va
54e20 72 69 61 6e 74 7b 20 2e 69 6e 74 20 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e riant{..int.=.<span.class="tok-n
54e40 75 6d 62 65 72 22 3e 31 3c 2f 73 70 61 6e 3e 20 7d 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 umber">1</span>.};</span>.<span.
54e60 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f class="line">....<span.class="to
54e80 6b 2d 6b 77 22 3e 76 61 72 3c 2f 73 70 61 6e 3e 20 76 32 20 3d 20 56 61 72 69 61 6e 74 7b 20 2e k-kw">var</span>.v2.=.Variant{..
54ea0 62 6f 6f 6c 65 61 6e 20 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6c 6c 22 boolean.=.<span.class="tok-null"
54ec0 3e 66 61 6c 73 65 3c 2f 73 70 61 6e 3e 20 7d 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c >false</span>.};</span>.<span.cl
54ee0 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 ass="line"></span>.<span.class="
54f00 6c 69 6e 65 22 3e 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 74 line">....<span.class="tok-kw">t
54f20 72 79 3c 2f 73 70 61 6e 3e 20 65 78 70 65 63 74 28 76 31 2e 74 72 75 74 68 79 28 29 29 3b 3c 2f ry</span>.expect(v1.truthy());</
54f40 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 3c 73 70 span>.<span.class="line">....<sp
54f60 61 6e 20 63 6c 61 73 73 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
54f80 65 63 74 28 21 76 32 2e 74 72 75 74 68 79 28 29 29 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 ect(!v2.truthy());</span>.<span.
54fa0 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 7d 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 3c 2f 70 72 class="line">}</span></code></pr
54fc0 65 3e 3c 2f 66 69 67 75 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
54fe0 6c 61 73 73 3d 22 73 68 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
55000 6f 6e 3e 3c 70 72 65 3e 3c 73 61 6d 70 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 on><pre><samp><span.class="line"
55020 3e 24 20 3c 6b 62 64 3e 7a 69 67 20 74 65 73 74 20 74 65 73 74 5f 75 6e 69 6f 6e 5f 6d 65 74 68 >$.<kbd>zig.test.test_union_meth
55040 6f 64 2e 7a 69 67 3c 2f 6b 62 64 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d od.zig</kbd></span>.<span.class=
55060 22 6c 69 6e 65 22 3e 31 2f 31 20 74 65 73 74 2e 75 6e 69 6f 6e 20 6d 65 74 68 6f 64 2e 2e 2e 20 "line">1/1.test.union.method....
55080 4f 4b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 41 6c 6c OK</span>.<span.class="line">All
550a0 20 31 20 74 65 73 74 73 20 70 61 73 73 65 64 2e 3c 2f 73 70 61 6e 3e 0a 3c 2f 73 61 6d 70 3e 3c .1.tests.passed.</span>.</samp><
550c0 2f 70 72 65 3e 3c 2f 66 69 67 75 72 65 3e 0a 20 20 20 20 20 20 3c 70 3e 0a 20 20 20 20 20 20 3c /pre></figure>.......<p>.......<
550e0 61 20 68 72 65 66 3d 22 23 74 61 67 4e 61 6d 65 22 3e 40 74 61 67 4e 61 6d 65 3c 2f 61 3e 20 63 a.href="#tagName">@tagName</a>.c
55100 61 6e 20 62 65 20 75 73 65 64 20 74 6f 20 72 65 74 75 72 6e 20 61 20 3c 61 20 68 72 65 66 3d 22 an.be.used.to.return.a.<a.href="
55120 23 63 6f 6d 70 74 69 6d 65 22 3e 63 6f 6d 70 74 69 6d 65 3c 2f 61 3e 0a 20 20 20 20 20 20 3c 63 #comptime">comptime</a>.......<c
55140 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 5b 3a 3c 73 70 61 6e 20 63 ode><span.class="line">[:<span.c
55160 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
55180 20 63 6c 61 73 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
551a0 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 75 38 3c 2f 73 70 61 6e 3e 3c 2f 73 an.class="tok-type">u8</span></s
551c0 70 61 6e 3e 3c 2f 63 6f 64 65 3e 20 76 61 6c 75 65 20 72 65 70 72 65 73 65 6e 74 69 6e 67 20 74 pan></code>.value.representing.t
551e0 68 65 20 66 69 65 6c 64 20 6e 61 6d 65 3a 0a 20 20 20 20 20 20 3c 2f 70 3e 0a 20 20 20 20 20 20 he.field.name:.......</p>.......
55200 3c 66 69 67 75 72 65 3e 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
55220 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 61 67 4e ap"><cite.class="file">test_tagN
55240 61 6d 65 2e 7a 69 67 3c 2f 63 69 74 65 3e 3c 2f 66 69 67 63 61 70 74 69 6f 6e 3e 3c 70 72 65 3e ame.zig</cite></figcaption><pre>
55260 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 <code><span.class="line"><span.c
55280 6c 61 73 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.=
552a0 20 3c 73 70 61 6e 20 63 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
552c0 72 74 3c 2f 73 70 61 6e 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">
552e0 26 71 75 6f 74 3b 73 74 64 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 29 3b 3c 2f 73 70 61 6e 3e 0a &quot;std&quot;</span>);</span>.
55300 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 <span.class="line"><span.class="
55320 74 6f 6b 2d 6b 77 22 3e 63 6f 6e 73 74 3c 2f 73 70 61 6e 3e 20 65 78 70 65 63 74 20 3d 20 73 74 tok-kw">const</span>.expect.=.st
55340 64 2e 74 65 73 74 69 6e 67 2e 65 78 70 65 63 74 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 d.testing.expect;</span>.<span.c
55360 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d lass="line"></span>.<span.class=
55380 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 63 6f 6e 73 "line"><span.class="tok-kw">cons
553a0 74 3c 2f 73 70 61 6e 3e 20 53 6d 61 6c 6c 32 20 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 t</span>.Small2.=.<span.class="t
553c0 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 73 3d ok-kw">union</span>(<span.class=
553e0 22 74 6f 6b 2d 6b 77 22 3e 65 6e 75 6d 3c 2f 73 70 61 6e 3e 29 20 7b 3c 2f 73 70 61 6e 3e 0a 3c "tok-kw">enum</span>).{</span>.<
55400 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 61 3a 20 3c 73 70 61 6e 20 63 span.class="line">....a:.<span.c
55420 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 69 33 32 3c 2f 73 70 61 6e 3e 2c 3c 2f 73 70 61 lass="tok-type">i32</span>,</spa
55440 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 62 3a 20 3c 73 70 n>.<span.class="line">....b:.<sp
55460 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 62 6f 6f 6c 3c 2f 73 70 61 6e 3e 2c an.class="tok-type">bool</span>,
55480 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 63 </span>.<span.class="line">....c
554a0 3a 20 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
554c0 6e 3e 2c 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 7d 3b n>,</span>.<span.class="line">};
554e0 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e </span>.<span.class="line"><span
55500 20 63 6c 61 73 73 3d 22 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
55520 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 73 74 72 22 3e 26 71 75 6f 74 3b 40 74 61 67 4e 61 6d 65 n.class="tok-str">&quot;@tagName
55540 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 20 7b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 &quot;</span>.{</span>.<span.cla
55560 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b ss="line">....<span.class="tok-k
55580 77 22 3e 74 72 79 3c 2f 73 70 61 6e 3e 20 65 78 70 65 63 74 28 73 74 64 2e 6d 65 6d 2e 65 71 6c w">try</span>.expect(std.mem.eql
555a0 28 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 75 38 3c 2f 73 70 61 6e (<span.class="tok-type">u8</span
555c0 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 61 >,.<span.class="tok-builtin">@ta
555e0 67 4e 61 6d 65 3c 2f 73 70 61 6e 3e 28 53 6d 61 6c 6c 32 2e 61 29 2c 20 3c 73 70 61 6e 20 63 6c gName</span>(Small2.a),.<span.cl
55600 61 73 73 3d 22 74 6f 6b 2d 73 74 72 22 3e 26 71 75 6f 74 3b 61 26 71 75 6f 74 3b 3c 2f 73 70 61 ass="tok-str">&quot;a&quot;</spa
55620 6e 3e 29 29 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e n>));</span>.<span.class="line">
55640 7d 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 3c 2f 70 72 65 3e 3c 2f 66 69 67 75 72 65 3e 3c 66 }</span></code></pre></figure><f
55660 69 67 75 72 65 3e 3c 66 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
55680 61 70 22 3e 53 68 65 6c 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
556a0 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 24 20 3c 6b 62 64 3e 7a 69 67 20 74 ><span.class="line">$.<kbd>zig.t
556c0 65 73 74 20 74 65 73 74 5f 74 61 67 4e 61 6d 65 2e 7a 69 67 3c 2f 6b 62 64 3e 3c 2f 73 70 61 6e est.test_tagName.zig</kbd></span
556e0 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 31 2f 31 20 74 65 73 74 2e 40 74 >.<span.class="line">1/1.test.@t
55700 61 67 4e 61 6d 65 2e 2e 2e 20 4f 4b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d agName....OK</span>.<span.class=
55720 22 6c 69 6e 65 22 3e 41 6c 6c 20 31 20 74 65 73 74 73 20 70 61 73 73 65 64 2e 3c 2f 73 70 61 6e "line">All.1.tests.passed.</span
55740 3e 0a 3c 2f 73 61 6d 70 3e 3c 2f 70 72 65 3e 3c 2f 66 69 67 75 72 65 3e 0a 20 20 20 20 20 20 0a >.</samp></pre></figure>........
55760 0a 20 20 20 20 20 20 3c 68 33 20 69 64 3d 22 65 78 74 65 72 6e 2d 75 6e 69 6f 6e 22 3e 3c 61 20 .......<h3.id="extern-union"><a.
55780 68 72 65 66 3d 22 23 74 6f 63 2d 65 78 74 65 72 6e 2d 75 6e 69 6f 6e 22 3e 65 78 74 65 72 6e 20 href="#toc-extern-union">extern.
557a0 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 3d 22 23 union</a>.<a.class="hdr".href="#
557c0 65 78 74 65 72 6e 2d 75 6e 69 6f 6e 22 3e c2 a7 3c 2f 61 3e 3c 2f 68 33 3e 0a 0a 20 20 20 20 20 extern-union">..</a></h3>.......
557e0 20 3c 70 3e 0a 20 20 20 20 20 20 41 6e 20 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d .<p>.......An.<code><span.class=
55800 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 65 78 74 65 "line"><span.class="tok-kw">exte
55820 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 75 rn</span>.<span.class="tok-kw">u
55840 6e 69 6f 6e 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 20 68 61 73 20 6d 65 nion</span></span></code>.has.me
55860 6d 6f 72 79 20 6c 61 79 6f 75 74 20 67 75 61 72 61 6e 74 65 65 64 20 74 6f 20 62 65 20 63 6f 6d mory.layout.guaranteed.to.be.com
55880 70 61 74 69 62 6c 65 20 77 69 74 68 0a 20 20 20 20 20 20 74 68 65 20 74 61 72 67 65 74 20 43 20 patible.with.......the.target.C.
558a0 41 42 49 2e 0a 20 20 20 20 20 20 3c 2f 70 3e 0a 20 20 20 20 20 20 3c 70 3e 53 65 65 20 61 6c 73 ABI........</p>.......<p>See.als
558c0 6f 3a 3c 2f 70 3e 3c 75 6c 3e 0a 3c 6c 69 3e 3c 61 20 68 72 65 66 3d 22 23 65 78 74 65 72 6e 2d o:</p><ul>.<li><a.href="#extern-
558e0 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 0a 3c struct">extern.struct</a></li>.<
55900 2f 75 6c 3e 0a 0a 20 20 20 20 20 20 0a 0a 20 20 20 20 20 20 3c 68 33 20 69 64 3d 22 70 61 63 6b /ul>................<h3.id="pack
55920 65 64 2d 75 6e 69 6f 6e 22 3e 3c 61 20 68 72 65 66 3d 22 23 74 6f 63 2d 70 61 63 6b 65 64 2d 75 ed-union"><a.href="#toc-packed-u
55940 6e 69 6f 6e 22 3e 70 61 63 6b 65 64 20 75 6e 69 6f 6e 3c 2f 61 3e 20 3c 61 20 63 6c 61 73 73 3d nion">packed.union</a>.<a.class=
55960 22 68 64 72 22 20 68 72 65 66 3d 22 23 70 61 63 6b 65 64 2d 75 6e 69 6f 6e 22 3e c2 a7 3c 2f 61 "hdr".href="#packed-union">..</a
55980 3e 3c 2f 68 33 3e 0a 0a 20 20 20 20 20 20 3c 70 3e 41 20 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 ></h3>........<p>A.<code><span.c
559a0 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 lass="line"><span.class="tok-kw"
559c0 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 2d >packed</span>.<span.class="tok-
559e0 6b 77 22 3e 75 6e 69 6f 6e 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 20 68 kw">union</span></span></code>.h
55a00 61 73 20 77 65 6c 6c 2d 64 65 66 69 6e 65 64 20 69 6e 2d 6d 65 6d 6f 72 79 20 6c 61 79 6f 75 74 as.well-defined.in-memory.layout
55a20 20 61 6e 64 20 69 73 20 65 6c 69 67 69 62 6c 65 0a 20 20 20 20 20 20 20 20 20 20 74 6f 20 62 65 .and.is.eligible...........to.be
55a40 20 69 6e 20 61 20 3c 61 20 68 72 65 66 3d 22 23 70 61 63 6b 65 64 2d 73 74 72 75 63 74 22 3e 70 .in.a.<a.href="#packed-struct">p
55a60 61 63 6b 65 64 20 73 74 72 75 63 74 3c 2f 61 3e 2e 3c 2f 70 3e 0a 20 20 20 20 20 20 0a 0a 20 20 acked.struct</a>.</p>...........
55a80 20 20 20 20 3c 68 33 20 69 64 3d 22 41 6e 6f 6e 79 6d 6f 75 73 2d 55 6e 69 6f 6e 2d 4c 69 74 65 ....<h3.id="Anonymous-Union-Lite
55aa0 72 61 6c 73 22 3e 3c 61 20 68 72 65 66 3d 22 23 74 6f 63 2d 41 6e 6f 6e 79 6d 6f 75 73 2d 55 6e rals"><a.href="#toc-Anonymous-Un
55ac0 69 6f 6e 2d 4c 69 74 65 72 61 6c 73 22 3e 41 6e 6f 6e 79 6d 6f 75 73 20 55 6e 69 6f 6e 20 4c 69 ion-Literals">Anonymous.Union.Li
55ae0 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="
55b00 23 41 6e 6f 6e 79 6d 6f 75 73 2d 55 6e 69 6f 6e 2d 4c 69 74 65 72 61 6c 73 22 3e c2 a7 3c 2f 61 #Anonymous-Union-Literals">..</a
55b20 3e 3c 2f 68 33 3e 0a 0a 20 20 20 20 20 20 3c 70 3e 3c 61 20 68 72 65 66 3d 22 23 41 6e 6f 6e 79 ></h3>........<p><a.href="#Anony
55b40 6d 6f 75 73 2d 53 74 72 75 63 74 2d 4c 69 74 65 72 61 6c 73 22 3e 41 6e 6f 6e 79 6d 6f 75 73 20 mous-Struct-Literals">Anonymous.
55b60 53 74 72 75 63 74 20 4c 69 74 65 72 61 6c 73 3c 2f 61 3e 20 73 79 6e 74 61 78 20 63 61 6e 20 62 Struct.Literals</a>.syntax.can.b
55b80 65 20 75 73 65 64 20 74 6f 20 69 6e 69 74 69 61 6c 69 7a 65 20 75 6e 69 6f 6e 73 20 77 69 74 68 e.used.to.initialize.unions.with
55ba0 6f 75 74 20 73 70 65 63 69 66 79 69 6e 67 0a 20 20 20 20 20 20 74 68 65 20 74 79 70 65 3a 3c 2f out.specifying.......the.type:</
55bc0 70 3e 0a 20 20 20 20 20 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
55be0 73 73 3d 22 7a 69 67 2d 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">
55c00 61 6e 6f 6e 5f 75 6e 69 6f 6e 2e 7a 69 67 3c 2f 63 69 74 65 3e 3c 2f 66 69 67 63 61 70 74 69 6f anon_union.zig</cite></figcaptio
55c20 6e 3e 3c 70 72 65 3e 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e n><pre><code><span.class="line">
55c40 3c 73 70 61 6e 20 63 6c 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
55c60 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
55c80 22 3e 40 69 6d 70 6f 72 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
55ca0 6b 2d 73 74 72 22 3e 26 71 75 6f 74 3b 73 74 64 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 29 3b 3c k-str">&quot;std&quot;</span>);<
55cc0 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 /span>.<span.class="line"><span.
55ce0 63 6c 61 73 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
55d00 63 74 20 3d 20 73 74 64 2e 74 65 73 74 69 6e 67 2e 65 78 70 65 63 74 3b 3c 2f 73 70 61 6e 3e 0a ct.=.std.testing.expect;</span>.
55d20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e <span.class="line"></span>.<span
55d40 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b .class="line"><span.class="tok-k
55d60 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
55d80 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 75 6e 69 6f 6e 3c 2f 73 70 61 6e 3e 20 7b 3c 2f 73 70 lass="tok-kw">union</span>.{</sp
55da0 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 69 6e 74 3a 20 an>.<span.class="line">....int:.
55dc0 3c 73 70 61 6e 20 63 6c 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
55de0 3e 2c 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 >,</span>.<span.class="line">...
55e00 20 66 6c 6f 61 74 3a 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 66 .float:.<span.class="tok-type">f
55e20 36 34 3c 2f 73 70 61 6e 3e 2c 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 64</span>,</span>.<span.class="l
55e40 69 6e 65 22 3e 7d 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 ine">};</span>.<span.class="line
55e60 22 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 "></span>.<span.class="line"><sp
55e80 61 6e 20 63 6c 61 73 73 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
55ea0 70 61 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 pan.class="tok-str">&quot;anonym
55ec0 6f 75 73 20 75 6e 69 6f 6e 20 6c 69 74 65 72 61 6c 20 73 79 6e 74 61 78 26 71 75 6f 74 3b 3c 2f ous.union.literal.syntax&quot;</
55ee0 73 70 61 6e 3e 20 7b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 span>.{</span>.<span.class="line
55f00 22 3e 20 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</
55f20 73 70 61 6e 3e 20 69 3a 20 4e 75 6d 62 65 72 20 3d 20 2e 7b 2e 69 6e 74 20 3d 20 3c 73 70 61 6e span>.i:.Number.=..{.int.=.<span
55f40 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 7d 3b 3c .class="tok-number">42</span>};<
55f60 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 3c 73 /span>.<span.class="line">....<s
55f80 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 76 61 72 3c 2f 73 70 61 6e 3e 20 66 20 pan.class="tok-kw">var</span>.f.
55fa0 3d 20 6d 61 6b 65 4e 75 6d 62 65 72 28 29 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 =.makeNumber();</span>.<span.cla
55fc0 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b ss="line">....<span.class="tok-k
55fe0 77 22 3e 74 72 79 3c 2f 73 70 61 6e 3e 20 65 78 70 65 63 74 28 69 2e 69 6e 74 20 3d 3d 20 3c 73 w">try</span>.expect(i.int.==.<s
56000 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>
56020 29 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 );</span>.<span.class="line">...
56040 20 3c 73 70 61 6e 20 63 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>
56060 20 65 78 70 65 63 74 28 66 2e 66 6c 6f 61 74 20 3d 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 .expect(f.float.==.<span.class="
56080 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 31 32 2e 33 34 3c 2f 73 70 61 6e 3e 29 3b 3c 2f 73 70 61 6e tok-number">12.34</span>);</span
560a0 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 7d 3c 2f 73 70 61 6e 3e 0a 3c 73 >.<span.class="line">}</span>.<s
560c0 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 pan.class="line"></span>.<span.c
560e0 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 lass="line"><span.class="tok-kw"
56100 3e 66 6e 3c 2f 73 70 61 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">
56120 6d 61 6b 65 4e 75 6d 62 65 72 3c 2f 73 70 61 6e 3e 28 29 20 4e 75 6d 62 65 72 20 7b 3c 2f 73 70 makeNumber</span>().Number.{</sp
56140 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 3c 73 70 61 6e an>.<span.class="line">....<span
56160 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 2e 7b .class="tok-kw">return</span>..{
56180 2e 66 6c 6f 61 74 20 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 .float.=.<span.class="tok-number
561a0 22 3e 31 32 2e 33 34 3c 2f 73 70 61 6e 3e 7d 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c ">12.34</span>};</span>.<span.cl
561c0 61 73 73 3d 22 6c 69 6e 65 22 3e 7d 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 3c 2f 70 72 65 3e ass="line">}</span></code></pre>
561e0 3c 2f 66 69 67 75 72 65 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
56200 73 73 3d 22 73 68 65 6c 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
56220 3e 3c 70 72 65 3e 3c 73 61 6d 70 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 24 ><pre><samp><span.class="line">$
56240 20 3c 6b 62 64 3e 7a 69 67 20 74 65 73 74 20 61 6e 6f 6e 5f 75 6e 69 6f 6e 2e 7a 69 67 3c 2f 6b .<kbd>zig.test.anon_union.zig</k
56260 62 64 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 31 2f bd></span>.<span.class="line">1/
56280 31 20 74 65 73 74 2e 61 6e 6f 6e 79 6d 6f 75 73 20 75 6e 69 6f 6e 20 6c 69 74 65 72 61 6c 20 73 1.test.anonymous.union.literal.s
562a0 79 6e 74 61 78 2e 2e 2e 20 4f 4b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 yntax....OK</span>.<span.class="
562c0 6c 69 6e 65 22 3e 41 6c 6c 20 31 20 74 65 73 74 73 20 70 61 73 73 65 64 2e 3c 2f 73 70 61 6e 3e line">All.1.tests.passed.</span>
562e0 0a 3c 2f 73 61 6d 70 3e 3c 2f 70 72 65 3e 3c 2f 66 69 67 75 72 65 3e 0a 20 20 20 20 20 20 0a 0a .</samp></pre></figure>.........
56300 20 20 20 20 20 20 0a 0a 20 20 20 20 20 20 3c 68 32 20 69 64 3d 22 6f 70 61 71 75 65 22 3e 3c 61 ..............<h2.id="opaque"><a
56320 20 68 72 65 66 3d 22 23 74 6f 63 2d 6f 70 61 71 75 65 22 3e 6f 70 61 71 75 65 3c 2f 61 3e 20 3c .href="#toc-opaque">opaque</a>.<
56340 61 20 63 6c 61 73 73 3d 22 68 64 72 22 20 68 72 65 66 3d 22 23 6f 70 61 71 75 65 22 3e c2 a7 3c a.class="hdr".href="#opaque">..<
56360 2f 61 3e 3c 2f 68 32 3e 0a 0a 20 20 20 20 20 20 3c 70 3e 0a 20 20 20 20 20 20 3c 63 6f 64 65 3e /a></h2>........<p>.......<code>
56380 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 <span.class="line"><span.class="
563a0 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 73 70 61 6e 3e 3c tok-kw">opaque</span>.{}</span><
563c0 2f 63 6f 64 65 3e 20 64 65 63 6c 61 72 65 73 20 61 20 6e 65 77 20 74 79 70 65 20 77 69 74 68 20 /code>.declares.a.new.type.with.
563e0 61 6e 20 75 6e 6b 6e 6f 77 6e 20 28 62 75 74 20 6e 6f 6e 2d 7a 65 72 6f 29 20 73 69 7a 65 20 61 an.unknown.(but.non-zero).size.a
56400 6e 64 20 61 6c 69 67 6e 6d 65 6e 74 2e 0a 20 20 20 20 20 20 49 74 20 63 61 6e 20 63 6f 6e 74 61 nd.alignment........It.can.conta
56420 69 6e 20 64 65 63 6c 61 72 61 74 69 6f 6e 73 20 74 68 65 20 73 61 6d 65 20 61 73 20 3c 61 20 68 in.declarations.the.same.as.<a.h
56440 72 65 66 3d 22 23 73 74 72 75 63 74 22 3e 73 74 72 75 63 74 73 3c 2f 61 3e 2c 20 3c 61 20 68 72 ref="#struct">structs</a>,.<a.hr
56460 65 66 3d 22 23 75 6e 69 6f 6e 22 3e 75 6e 69 6f 6e 73 3c 2f 61 3e 2c 0a 20 20 20 20 20 20 61 6e ef="#union">unions</a>,.......an
56480 64 20 3c 61 20 68 72 65 66 3d 22 23 65 6e 75 6d 22 3e 65 6e 75 6d 73 3c 2f 61 3e 2e 0a 20 20 20 d.<a.href="#enum">enums</a>.....
564a0 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 69 73 20 ...</p>.......<p>.......This.is.
564c0 74 79 70 69 63 61 6c 6c 79 20 75 73 65 64 20 66 6f 72 20 74 79 70 65 20 73 61 66 65 74 79 20 77 typically.used.for.type.safety.w
564e0 68 65 6e 20 69 6e 74 65 72 61 63 74 69 6e 67 20 77 69 74 68 20 43 20 63 6f 64 65 20 74 68 61 74 hen.interacting.with.C.code.that
56500 20 64 6f 65 73 20 6e 6f 74 20 65 78 70 6f 73 65 20 73 74 72 75 63 74 20 64 65 74 61 69 6c 73 2e .does.not.expose.struct.details.
56520 0a 20 20 20 20 20 20 45 78 61 6d 70 6c 65 3a 0a 20 20 20 20 20 20 3c 2f 70 3e 0a 20 20 20 20 20 .......Example:.......</p>......
56540 20 3c 66 69 67 75 72 65 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-
56560 63 61 70 22 3e 3c 63 69 74 65 20 63 6c 61 73 73 3d 22 66 69 6c 65 22 3e 74 65 73 74 2e 7a 69 67 cap"><cite.class="file">test.zig
56580 3c 2f 63 69 74 65 3e 3c 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><
565a0 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 span.class="line"><span.class="t
565c0 6f 6b 2d 6b 77 22 3e 63 6f 6e 73 74 3c 2f 73 70 61 6e 3e 20 44 65 72 70 20 3d 20 3c 73 70 61 6e ok-kw">const</span>.Derp.=.<span
565e0 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 6f 70 61 71 75 65 3c 2f 73 70 61 6e 3e 20 7b 7d .class="tok-kw">opaque</span>.{}
56600 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 ;</span>.<span.class="line"><spa
56620 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 63 6f 6e 73 74 3c 2f 73 70 61 6e 3e 20 57 61 n.class="tok-kw">const</span>.Wa
56640 74 20 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 6f 70 61 71 75 65 3c t.=.<span.class="tok-kw">opaque<
56660 2f 73 70 61 6e 3e 20 7b 7d 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c /span>.{};</span>.<span.class="l
56680 69 6e 65 22 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e ine"></span>.<span.class="line">
566a0 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
566c0 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
566e0 3e 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 66 6e 22 3e 62 61 72 3c 2f 73 70 61 6e >.<span.class="tok-fn">bar</span
56700 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 70 >(d:.*Derp).<span.class="tok-typ
56720 65 22 3e 76 6f 69 64 3c 2f 73 70 61 6e 3e 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 e">void</span>;</span>.<span.cla
56740 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 66 ss="line"><span.class="tok-kw">f
56760 6e 3c 2f 73 70 61 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
56780 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 6c 61 73 73 3d 22 74 o</span>(w:.*Wat).<span.class="t
567a0 6f 6b 2d 6b 77 22 3e 63 61 6c 6c 63 6f 6e 76 3c 2f 73 70 61 6e 3e 28 2e 43 29 20 3c 73 70 61 6e ok-kw">callconv</span>(.C).<span
567c0 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 76 6f 69 64 3c 2f 73 70 61 6e 3e 20 7b 3c .class="tok-type">void</span>.{<
567e0 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 62 61 /span>.<span.class="line">....ba
56800 72 28 77 29 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e r(w);</span>.<span.class="line">
56820 7d 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 2f 73 70 }</span>.<span.class="line"></sp
56840 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 an>.<span.class="line"><span.cla
56860 73 73 3d 22 74 6f 6b 2d 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
56880 61 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 ass="tok-str">&quot;call.foo&quo
568a0 74 3b 3c 2f 73 70 61 6e 3e 20 7b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 t;</span>.{</span>.<span.class="
568c0 6c 69 6e 65 22 3e 20 20 20 20 66 6f 6f 28 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e line">....foo(<span.class="tok-n
568e0 75 6c 6c 22 3e 75 6e 64 65 66 69 6e 65 64 3c 2f 73 70 61 6e 3e 29 3b 3c 2f 73 70 61 6e 3e 0a 3c ull">undefined</span>);</span>.<
56900 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 7d 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 span.class="line">}</span></code
56920 3e 3c 2f 70 72 65 3e 3c 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
56940 69 6f 6e 20 63 6c 61 73 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
56960 63 61 70 74 69 6f 6e 3e 3c 70 72 65 3e 3c 73 61 6d 70 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 caption><pre><samp><span.class="
56980 6c 69 6e 65 22 3e 24 20 3c 6b 62 64 3e 7a 69 67 20 74 65 73 74 20 74 65 73 74 2e 7a 69 67 3c 2f line">$.<kbd>zig.test.test.zig</
569a0 6b 62 64 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c kbd></span>.<span.class="line"><
569c0 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 31 5f 30 22 3e 64 6f 63 67 65 6e 5f 74 6d 70 2f 74 65 73 span.class="t1_0">docgen_tmp/tes
569e0 74 2e 7a 69 67 3a 36 3a 39 3a 20 3c 2f 73 70 61 6e 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 t.zig:6:9:.</span><span.class="t
56a00 33 31 5f 31 22 3e 65 72 72 6f 72 3a 20 3c 2f 73 70 61 6e 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 31_1">error:.</span><span.class=
56a20 22 74 31 5f 30 22 3e 65 78 70 65 63 74 65 64 20 74 79 70 65 20 27 2a 74 65 73 74 2e 44 65 72 70 "t1_0">expected.type.'*test.Derp
56a40 27 2c 20 66 6f 75 6e 64 20 27 2a 74 65 73 74 2e 57 61 74 27 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 ',.found.'*test.Wat'</span>.<spa
56a60 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 2f 73 70 61 6e 3e 20 20 20 20 62 61 72 28 77 29 n.class="line"></span>....bar(w)
56a80 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 ;</span>.<span.class="line">....
56aa0 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 33 32 5f 31 22 3e 5e 3c 2f 73 70 61 6e 3e ....<span.class="t32_1">^</span>
56ac0 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 2f 73 70 61 6e 3e 3c 73 70 61 6e .<span.class="line"></span><span
56ae0 20 63 6c 61 73 73 3d 22 74 31 5f 30 22 3e 64 6f 63 67 65 6e 5f 74 6d 70 2f 74 65 73 74 2e 7a 69 .class="t1_0">docgen_tmp/test.zi
56b00 67 3a 36 3a 39 3a 20 3c 2f 73 70 61 6e 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 33 36 5f 31 g:6:9:.</span><span.class="t36_1
56b20 22 3e 6e 6f 74 65 3a 20 3c 2f 73 70 61 6e 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 31 5f 30 ">note:.</span><span.class="t1_0
56b40 22 3e 70 6f 69 6e 74 65 72 20 74 79 70 65 20 63 68 69 6c 64 20 27 74 65 73 74 2e 57 61 74 27 20 ">pointer.type.child.'test.Wat'.
56b60 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 20 63 68 cannot.cast.into.pointer.type.ch
56b80 69 6c 64 20 27 74 65 73 74 2e 44 65 72 70 27 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 ild.'test.Derp'</span>.<span.cla
56ba0 73 73 3d 22 6c 69 6e 65 22 3e 3c 2f 73 70 61 6e 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 31 ss="line"></span><span.class="t1
56bc0 5f 30 22 3e 64 6f 63 67 65 6e 5f 74 6d 70 2f 74 65 73 74 2e 7a 69 67 3a 32 3a 31 33 3a 20 3c 2f _0">docgen_tmp/test.zig:2:13:.</
56be0 73 70 61 6e 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 33 36 5f 31 22 3e 6e 6f 74 65 3a 20 3c span><span.class="t36_1">note:.<
56c00 2f 73 70 61 6e 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 31 5f 30 22 3e 6f 70 61 71 75 65 20 /span><span.class="t1_0">opaque.
56c20 64 65 63 6c 61 72 65 64 20 68 65 72 65 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 declared.here</span>.<span.class
56c40 3d 22 6c 69 6e 65 22 3e 3c 2f 73 70 61 6e 3e 63 6f 6e 73 74 20 57 61 74 20 3d 20 6f 70 61 71 75 ="line"></span>const.Wat.=.opaqu
56c60 65 20 7b 7d 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e e.{};</span>.<span.class="line">
56c80 20 20 20 20 20 20 20 20 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 33 32 5f 31 22 3e ............<span.class="t32_1">
56ca0 5e 7e 7e 7e 7e 7e 7e 7e 7e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 ^~~~~~~~~</span>.<span.class="li
56cc0 6e 65 22 3e 3c 2f 73 70 61 6e 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 31 5f 30 22 3e 64 6f ne"></span><span.class="t1_0">do
56ce0 63 67 65 6e 5f 74 6d 70 2f 74 65 73 74 2e 7a 69 67 3a 31 3a 31 34 3a 20 3c 2f 73 70 61 6e 3e 3c cgen_tmp/test.zig:1:14:.</span><
56d00 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 33 36 5f 31 22 3e 6e 6f 74 65 3a 20 3c 2f 73 70 61 6e 3e span.class="t36_1">note:.</span>
56d20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 31 5f 30 22 3e 6f 70 61 71 75 65 20 64 65 63 6c 61 72 <span.class="t1_0">opaque.declar
56d40 65 64 20 68 65 72 65 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 ed.here</span>.<span.class="line
56d60 22 3e 3c 2f 73 70 61 6e 3e 63 6f 6e 73 74 20 44 65 72 70 20 3d 20 6f 70 61 71 75 65 20 7b 7d 3b "></span>const.Derp.=.opaque.{};
56d80 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 20 </span>.<span.class="line">.....
56da0 20 20 20 20 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 33 32 5f 31 22 3e 5e 7e 7e 7e ........<span.class="t32_1">^~~~
56dc0 7e 7e 7e 7e 7e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e ~~~~~</span>.<span.class="line">
56de0 3c 2f 73 70 61 6e 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 31 5f 30 22 3e 64 6f 63 67 65 6e </span><span.class="t1_0">docgen
56e00 5f 74 6d 70 2f 74 65 73 74 2e 7a 69 67 3a 34 3a 31 38 3a 20 3c 2f 73 70 61 6e 3e 3c 73 70 61 6e _tmp/test.zig:4:18:.</span><span
56e20 20 63 6c 61 73 73 3d 22 74 33 36 5f 31 22 3e 6e 6f 74 65 3a 20 3c 2f 73 70 61 6e 3e 3c 73 70 61 .class="t36_1">note:.</span><spa
56e40 6e 20 63 6c 61 73 73 3d 22 74 31 5f 30 22 3e 70 61 72 61 6d 65 74 65 72 20 74 79 70 65 20 64 65 n.class="t1_0">parameter.type.de
56e60 63 6c 61 72 65 64 20 68 65 72 65 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 clared.here</span>.<span.class="
56e80 6c 69 6e 65 22 3e 3c 2f 73 70 61 6e 3e 65 78 74 65 72 6e 20 66 6e 20 62 61 72 28 64 3a 20 2a 44 line"></span>extern.fn.bar(d:.*D
56ea0 65 72 70 29 20 76 6f 69 64 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c erp).void;</span>.<span.class="l
56ec0 69 6e 65 22 3e 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 ine">.................<span.clas
56ee0 73 3d 22 74 33 32 5f 31 22 3e 5e 7e 7e 7e 7e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 s="t32_1">^~~~~</span>.<span.cla
56f00 73 73 3d 22 6c 69 6e 65 22 3e 3c 2f 73 70 61 6e 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 32 ss="line"></span><span.class="t2
56f20 5f 30 22 3e 72 65 66 65 72 65 6e 63 65 64 20 62 79 3a 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 _0">referenced.by:</span>.<span.
56f40 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 74 65 73 74 2e 63 61 6c 6c 20 66 6f 6f 3a 20 class="line">....test.call.foo:.
56f60 64 6f 63 67 65 6e 5f 74 6d 70 2f 74 65 73 74 2e 7a 69 67 3a 31 30 3a 35 3c 2f 73 70 61 6e 3e 0a docgen_tmp/test.zig:10:5</span>.
56f80 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 72 65 6d 61 69 6e 69 6e 67 <span.class="line">....remaining
56fa0 20 72 65 66 65 72 65 6e 63 65 20 74 72 61 63 65 73 20 68 69 64 64 65 6e 3b 20 75 73 65 20 27 2d .reference.traces.hidden;.use.'-
56fc0 66 72 65 66 65 72 65 6e 63 65 2d 74 72 61 63 65 27 20 74 6f 20 73 65 65 20 61 6c 6c 20 72 65 66 freference-trace'.to.see.all.ref
56fe0 65 72 65 6e 63 65 20 74 72 61 63 65 73 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 erence.traces</span>.<span.class
57000 3d 22 6c 69 6e 65 22 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e ="line"></span>.<span.class="lin
57020 65 22 3e 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 0a 3c 2f 73 61 6d 70 3e 3c 2f 70 72 65 3e 3c e"></span></span>.</samp></pre><
57040 2f 66 69 67 75 72 65 3e 0a 20 20 20 20 20 20 0a 0a 20 20 20 20 20 20 3c 68 32 20 69 64 3d 22 42 /figure>...............<h2.id="B
57060 6c 6f 63 6b 73 22 3e 3c 61 20 68 72 65 66 3d 22 23 74 6f 63 2d 42 6c 6f 63 6b 73 22 3e 42 6c 6f locks"><a.href="#toc-Blocks">Blo
57080 63 6b 73 3c 2f 61 3e 20 3c 61 20 63 6c 61 73 73 3d 22 68 64 72 22 20 68 72 65 66 3d 22 23 42 6c cks</a>.<a.class="hdr".href="#Bl
570a0 6f 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 ocks">..</a></h2>........<p>....
570c0 20 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 ...Blocks.are.used.to.limit.the.
570e0 73 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 scope.of.variable.declarations:.
57100 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
57120 74 69 6f 6e 20 63 6c 61 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
57140 3d 22 66 69 6c 65 22 3e 74 65 73 74 2e 7a 69 67 3c 2f 63 69 74 65 3e 3c 2f 66 69 67 63 61 70 74 ="file">test.zig</cite></figcapt
57160 69 6f 6e 3e 3c 70 72 65 3e 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 ion><pre><code><span.class="line
57180 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 74 65 73 74 3c 2f 73 70 61 "><span.class="tok-kw">test</spa
571a0 6e 3e 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 73 74 72 22 3e 26 71 75 6f 74 3b 61 n>.<span.class="tok-str">&quot;a
571c0 63 63 65 73 73 20 76 61 72 69 61 62 6c 65 20 61 66 74 65 72 20 62 6c 6f 63 6b 20 73 63 6f 70 65 ccess.variable.after.block.scope
571e0 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 20 7b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 &quot;</span>.{</span>.<span.cla
57200 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 7b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 ss="line">....{</span>.<span.cla
57220 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 ss="line">........<span.class="t
57240 6f 6b 2d 6b 77 22 3e 76 61 72 3c 2f 73 70 61 6e 3e 20 78 3a 20 3c 73 70 61 6e 20 63 6c 61 73 73 ok-kw">var</span>.x:.<span.class
57260 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
57280 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 31 3c 2f 73 70 61 6e 3e 3b 3c 2f 73 70 61 lass="tok-number">1</span>;</spa
572a0 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 20 20 20 20 5f 20 n>.<span.class="line">........_.
572c0 3d 20 78 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 =.x;</span>.<span.class="line">.
572e0 20 20 20 7d 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 ...}</span>.<span.class="line">.
57300 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"
57320 3e 31 3c 2f 73 70 61 6e 3e 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c >1</span>;</span>.<span.class="l
57340 69 6e 65 22 3e 7d 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 3c 2f 70 72 65 3e 3c 2f 66 69 67 75 ine">}</span></code></pre></figu
57360 72 65 3e 3c 66 69 67 75 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
57380 65 6c 6c 2d 63 61 70 22 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>
573a0 3c 73 61 6d 70 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 24 20 3c 6b 62 64 3e <samp><span.class="line">$.<kbd>
573c0 7a 69 67 20 74 65 73 74 20 74 65 73 74 2e 7a 69 67 3c 2f 6b 62 64 3e 3c 2f 73 70 61 6e 3e 0a 3c zig.test.test.zig</kbd></span>.<
573e0 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 span.class="line"><span.class="t
57400 31 5f 30 22 3e 64 6f 63 67 65 6e 5f 74 6d 70 2f 74 65 73 74 2e 7a 69 67 3a 36 3a 35 3a 20 3c 2f 1_0">docgen_tmp/test.zig:6:5:.</
57420 73 70 61 6e 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 33 31 5f 31 22 3e 65 72 72 6f 72 3a 20 span><span.class="t31_1">error:.
57440 3c 2f 73 70 61 6e 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 31 5f 30 22 3e 75 73 65 20 6f 66 </span><span.class="t1_0">use.of
57460 20 75 6e 64 65 63 6c 61 72 65 64 20 69 64 65 6e 74 69 66 69 65 72 20 27 78 27 3c 2f 73 70 61 6e .undeclared.identifier.'x'</span
57480 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 2f 73 70 61 6e 3e 20 20 20 20 >.<span.class="line"></span>....
574a0 78 20 2b 3d 20 31 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 x.+=.1;</span>.<span.class="line
574c0 22 3e 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 33 32 5f 31 22 3e 5e 3c 2f 73 70 61 ">....<span.class="t32_1">^</spa
574e0 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 2f 73 70 61 6e 3e 3c 2f 73 n>.<span.class="line"></span></s
57500 70 61 6e 3e 0a 3c 2f 73 61 6d 70 3e 3c 2f 70 72 65 3e 3c 2f 66 69 67 75 72 65 3e 0a 20 20 20 20 pan>.</samp></pre></figure>.....
57520 20 20 3c 70 3e 42 6c 6f 63 6b 73 20 61 72 65 20 65 78 70 72 65 73 73 69 6f 6e 73 2e 20 57 68 65 ..<p>Blocks.are.expressions..Whe
57540 6e 20 6c 61 62 65 6c 65 64 2c 20 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 n.labeled,.<code><span.class="li
57560 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 62 72 65 61 6b 3c 2f ne"><span.class="tok-kw">break</
57580 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 20 63 61 6e 20 62 65 20 75 73 65 64 0a span></span></code>.can.be.used.
575a0 20 20 20 20 20 20 74 6f 20 72 65 74 75 72 6e 20 61 20 76 61 6c 75 65 20 66 72 6f 6d 20 74 68 65 ......to.return.a.value.from.the
575c0 20 62 6c 6f 63 6b 3a 0a 20 20 20 20 20 20 3c 2f 70 3e 0a 20 20 20 20 20 20 3c 66 69 67 75 72 65 .block:.......</p>.......<figure
575e0 3e 3c 66 69 67 63 61 70 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
57600 74 65 20 63 6c 61 73 73 3d 22 66 69 6c 65 22 3e 74 65 73 74 5f 6c 61 62 65 6c 65 64 5f 62 72 65 te.class="file">test_labeled_bre
57620 61 6b 2e 7a 69 67 3c 2f 63 69 74 65 3e 3c 2f 66 69 67 63 61 70 74 69 6f 6e 3e 3c 70 72 65 3e 3c ak.zig</cite></figcaption><pre><
57640 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c code><span.class="line"><span.cl
57660 61 73 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.=.
57680 3c 73 70 61 6e 20 63 6c 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
576a0 74 3c 2f 73 70 61 6e 3e 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">&
576c0 71 75 6f 74 3b 73 74 64 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 29 3b 3c 2f 73 70 61 6e 3e 0a 3c quot;std&quot;</span>);</span>.<
576e0 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 span.class="line"><span.class="t
57700 6f 6b 2d 6b 77 22 3e 63 6f 6e 73 74 3c 2f 73 70 61 6e 3e 20 65 78 70 65 63 74 20 3d 20 73 74 64 ok-kw">const</span>.expect.=.std
57720 2e 74 65 73 74 69 6e 67 2e 65 78 70 65 63 74 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c .testing.expect;</span>.<span.cl
57740 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 ass="line"></span>.<span.class="
57760 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 74 65 73 74 3c line"><span.class="tok-kw">test<
57780 2f 73 70 61 6e 3e 20 3c 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
577a0 6f 74 3b 6c 61 62 65 6c 65 64 20 62 72 65 61 6b 20 66 72 6f 6d 20 6c 61 62 65 6c 65 64 20 62 6c ot;labeled.break.from.labeled.bl
577c0 6f 63 6b 20 65 78 70 72 65 73 73 69 6f 6e 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 20 7b 3c 2f 73 ock.expression&quot;</span>.{</s
577e0 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 3c 73 70 61 pan>.<span.class="line">....<spa
57800 6e 20 63 6c 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:.<
57820 73 70 61 6e 20 63 6c 61 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>
57840 20 3d 20 3c 73 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<
57860 2f 73 70 61 6e 3e 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 /span>;</span>.<span.class="line
57880 22 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 "></span>.<span.class="line">...
578a0 20 3c 73 70 61 6e 20 63 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
578c0 6e 3e 20 78 20 3d 20 62 6c 6b 3a 20 7b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 n>.x.=.blk:.{</span>.<span.class
578e0 3d 22 6c 69 6e 65 22 3e 20 20 20 20 20 20 20 20 79 20 2b 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 ="line">........y.+=.<span.class
57900 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 31 3c 2f 73 70 61 6e 3e 3b 3c 2f 73 70 61 6e 3e 0a 3c ="tok-number">1</span>;</span>.<
57920 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 20 20 20 20 3c 73 70 61 6e 20 span.class="line">........<span.
57940 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
57960 20 79 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 .y;</span>.<span.class="line">..
57980 20 20 7d 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 ..};</span>.<span.class="line">.
579a0 20 20 20 3c 73 70 61 6e 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
579c0 6e 3e 20 65 78 70 65 63 74 28 78 20 3d 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d n>.expect(x.==.<span.class="tok-
579e0 6e 75 6d 62 65 72 22 3e 31 32 34 3c 2f 73 70 61 6e 3e 29 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 number">124</span>);</span>.<spa
57a00 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 n.class="line">....<span.class="
57a20 74 6f 6b 2d 6b 77 22 3e 74 72 79 3c 2f 73 70 61 6e 3e 20 65 78 70 65 63 74 28 79 20 3d 3d 20 3c tok-kw">try</span>.expect(y.==.<
57a40 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 31 32 34 3c 2f 73 70 61 span.class="tok-number">124</spa
57a60 6e 3e 29 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 7d n>);</span>.<span.class="line">}
57a80 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 3c 2f 70 72 65 3e 3c 2f 66 69 67 75 72 65 3e 3c 66 69 </span></code></pre></figure><fi
57aa0 67 75 72 65 3e 3c 66 69 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
57ac0 70 22 3e 53 68 65 6c 6c 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>
57ae0 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 24 20 3c 6b 62 64 3e 7a 69 67 20 74 65 <span.class="line">$.<kbd>zig.te
57b00 73 74 20 74 65 73 74 5f 6c 61 62 65 6c 65 64 5f 62 72 65 61 6b 2e 7a 69 67 3c 2f 6b 62 64 3e 3c st.test_labeled_break.zig</kbd><
57b20 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 31 2f 31 20 74 65 /span>.<span.class="line">1/1.te
57b40 73 74 2e 6c 61 62 65 6c 65 64 20 62 72 65 61 6b 20 66 72 6f 6d 20 6c 61 62 65 6c 65 64 20 62 6c st.labeled.break.from.labeled.bl
57b60 6f 63 6b 20 65 78 70 72 65 73 73 69 6f 6e 2e 2e 2e 20 4f 4b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 ock.expression....OK</span>.<spa
57b80 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 41 6c 6c 20 31 20 74 65 73 74 73 20 70 61 73 73 65 n.class="line">All.1.tests.passe
57ba0 64 2e 3c 2f 73 70 61 6e 3e 0a 3c 2f 73 61 6d 70 3e 3c 2f 70 72 65 3e 3c 2f 66 69 67 75 72 65 3e d.</span>.</samp></pre></figure>
57bc0 0a 20 20 20 20 20 20 3c 70 3e 48 65 72 65 2c 20 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 .......<p>Here,.<code><span.clas
57be0 73 3d 22 6c 69 6e 65 22 3e 62 6c 6b 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 20 63 61 6e 20 62 s="line">blk</span></code>.can.b
57c00 65 20 61 6e 79 20 6e 61 6d 65 2e 3c 2f 70 3e 0a 20 20 20 20 20 20 3c 70 3e 53 65 65 20 61 6c 73 e.any.name.</p>.......<p>See.als
57c20 6f 3a 3c 2f 70 3e 3c 75 6c 3e 0a 3c 6c 69 3e 3c 61 20 68 72 65 66 3d 22 23 4c 61 62 65 6c 65 64 o:</p><ul>.<li><a.href="#Labeled
57c40 2d 77 68 69 6c 65 22 3e 4c 61 62 65 6c 65 64 20 77 68 69 6c 65 3c 2f 61 3e 3c 2f 6c 69 3e 0a 3c -while">Labeled.while</a></li>.<
57c60 6c 69 3e 3c 61 20 68 72 65 66 3d 22 23 4c 61 62 65 6c 65 64 2d 66 6f 72 22 3e 4c 61 62 65 6c 65 li><a.href="#Labeled-for">Labele
57c80 64 20 66 6f 72 3c 2f 61 3e 3c 2f 6c 69 3e 0a 3c 2f 75 6c 3e 0a 0a 0a 20 20 20 20 20 20 3c 68 33 d.for</a></li>.</ul>.........<h3
57ca0 20 69 64 3d 22 53 68 61 64 6f 77 69 6e 67 22 3e 3c 61 20 68 72 65 66 3d 22 23 74 6f 63 2d 53 68 .id="Shadowing"><a.href="#toc-Sh
57cc0 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 73 73 3d adowing">Shadowing</a>.<a.class=
57ce0 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 3e 3c 2f "hdr".href="#Shadowing">..</a></
57d00 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 69 66 69 h3>........<p><a.href="#Identifi
57d20 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 72 20 61 ers">Identifiers</a>.are.never.a
57d40 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 66 69 65 llowed.to."hide".other.identifie
57d60 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 3e 0a 20 rs.by.using.the.same.name:</p>..
57d80 20 20 20 20 20 3c 66 69 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="
57da0 7a 69 67 2d 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
57dc0 2e 7a 69 67 3c 2f 63 69 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
57de0 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 de><span.class="line"><span.clas
57e00 73 3d 22 74 6f 6b 2d 6b 77 22 3e 63 6f 6e 73 74 3c 2f 73 70 61 6e 3e 20 70 69 20 3d 20 3c 73 70 s="tok-kw">const</span>.pi.=.<sp
57e20 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 33 2e 31 34 3c 2f 73 70 61 6e an.class="tok-number">3.14</span
57e40 3e 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 2f 73 >;</span>.<span.class="line"></s
57e60 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c pan>.<span.class="line"><span.cl
57e80 61 73 73 3d 22 74 6f 6b 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
57ea0 6c 61 73 73 3d 22 74 6f 6b 2d 73 74 72 22 3e 26 71 75 6f 74 3b 69 6e 73 69 64 65 20 74 65 73 74 lass="tok-str">&quot;inside.test
57ec0 20 62 6c 6f 63 6b 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 20 7b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 .block&quot;</span>.{</span>.<sp
57ee0 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d an.class="line">....<span.class=
57f00 22 74 6f 6b 2d 63 6f 6d 6d 65 6e 74 22 3e 2f 2f 20 4c 65 74 27 73 20 65 76 65 6e 20 67 6f 20 69 "tok-comment">//.Let's.even.go.i
57f20 6e 73 69 64 65 20 61 6e 6f 74 68 65 72 20 62 6c 6f 63 6b 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e nside.another.block</span></span
57f40 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 7b 3c 2f 73 70 61 6e >.<span.class="line">....{</span
57f60 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 20 20 20 20 3c 73 70 >.<span.class="line">........<sp
57f80 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 76 61 72 3c 2f 73 70 61 6e 3e 20 70 69 3a an.class="tok-kw">var</span>.pi:
57fa0 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
57fc0 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
57fe0 33 34 3c 2f 73 70 61 6e 3e 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 34</span>;</span>.<span.class="l
58000 69 6e 65 22 3e 20 20 20 20 7d 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c ine">....}</span>.<span.class="l
58020 69 6e 65 22 3e 7d 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 3c 2f 70 72 65 3e 3c 2f 66 69 67 75 ine">}</span></code></pre></figu
58040 72 65 3e 3c 66 69 67 75 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
58060 65 6c 6c 2d 63 61 70 22 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>
58080 3c 73 61 6d 70 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 24 20 3c 6b 62 64 3e <samp><span.class="line">$.<kbd>
580a0 7a 69 67 20 74 65 73 74 20 74 65 73 74 2e 7a 69 67 3c 2f 6b 62 64 3e 3c 2f 73 70 61 6e 3e 0a 3c zig.test.test.zig</kbd></span>.<
580c0 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 span.class="line"><span.class="t
580e0 31 5f 30 22 3e 64 6f 63 67 65 6e 5f 74 6d 70 2f 74 65 73 74 2e 7a 69 67 3a 36 3a 31 33 3a 20 3c 1_0">docgen_tmp/test.zig:6:13:.<
58100 2f 73 70 61 6e 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 33 31 5f 31 22 3e 65 72 72 6f 72 3a /span><span.class="t31_1">error:
58120 20 3c 2f 73 70 61 6e 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 31 5f 30 22 3e 6c 6f 63 61 6c .</span><span.class="t1_0">local
58140 20 76 61 72 69 61 62 6c 65 20 73 68 61 64 6f 77 73 20 64 65 63 6c 61 72 61 74 69 6f 6e 20 6f 66 .variable.shadows.declaration.of
58160 20 27 70 69 27 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e .'pi'</span>.<span.class="line">
58180 3c 2f 73 70 61 6e 3e 20 20 20 20 20 20 20 20 76 61 72 20 70 69 3a 20 69 33 32 20 3d 20 31 32 33 </span>........var.pi:.i32.=.123
581a0 34 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 4;</span>.<span.class="line">...
581c0 20 20 20 20 20 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 33 32 5f 31 22 3e 5e 7e 3c .........<span.class="t32_1">^~<
581e0 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 2f 73 70 61 6e /span>.<span.class="line"></span
58200 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 31 5f 30 22 3e 64 6f 63 67 65 6e 5f 74 6d 70 2f 74 ><span.class="t1_0">docgen_tmp/t
58220 65 73 74 2e 7a 69 67 3a 31 3a 31 3a 20 3c 2f 73 70 61 6e 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d est.zig:1:1:.</span><span.class=
58240 22 74 33 36 5f 31 22 3e 6e 6f 74 65 3a 20 3c 2f 73 70 61 6e 3e 3c 73 70 61 6e 20 63 6c 61 73 73 "t36_1">note:.</span><span.class
58260 3d 22 74 31 5f 30 22 3e 64 65 63 6c 61 72 65 64 20 68 65 72 65 3c 2f 73 70 61 6e 3e 0a 3c 73 70 ="t1_0">declared.here</span>.<sp
58280 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 2f 73 70 61 6e 3e 63 6f 6e 73 74 20 70 69 20 an.class="line"></span>const.pi.
582a0 3d 20 33 2e 31 34 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 =.3.14;</span>.<span.class="line
582c0 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 33 32 5f 31 22 3e 5e 7e 7e 7e 7e 7e 7e 7e 7e 7e "><span.class="t32_1">^~~~~~~~~~
582e0 7e 7e 7e 7e 7e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e ~~~~~</span>.<span.class="line">
58300 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 0a 3c 2f 73 61 6d 70 3e 3c 2f 70 72 65 3e 3c 2f 66 69 </span></span>.</samp></pre></fi
58320 67 75 72 65 3e 0a 20 20 20 20 20 20 3c 70 3e 0a 20 20 20 20 20 20 42 65 63 61 75 73 65 20 6f 66 gure>.......<p>.......Because.of
58340 20 74 68 69 73 2c 20 77 68 65 6e 20 79 6f 75 20 72 65 61 64 20 5a 69 67 20 63 6f 64 65 20 79 6f .this,.when.you.read.Zig.code.yo
58360 75 20 63 61 6e 20 61 6c 77 61 79 73 20 72 65 6c 79 20 6f 6e 20 61 6e 20 69 64 65 6e 74 69 66 69 u.can.always.rely.on.an.identifi
58380 65 72 20 74 6f 20 63 6f 6e 73 69 73 74 65 6e 74 6c 79 20 6d 65 61 6e 0a 20 20 20 20 20 20 74 68 er.to.consistently.mean.......th
583a0 65 20 73 61 6d 65 20 74 68 69 6e 67 20 77 69 74 68 69 6e 20 74 68 65 20 73 63 6f 70 65 20 69 74 e.same.thing.within.the.scope.it
583c0 20 69 73 20 64 65 66 69 6e 65 64 2e 20 4e 6f 74 65 20 74 68 61 74 20 79 6f 75 20 63 61 6e 2c 20 .is.defined..Note.that.you.can,.
583e0 68 6f 77 65 76 65 72 2c 20 75 73 65 20 74 68 65 20 73 61 6d 65 20 6e 61 6d 65 20 69 66 0a 20 20 however,.use.the.same.name.if...
58400 20 20 20 20 74 68 65 20 73 63 6f 70 65 73 20 61 72 65 20 73 65 70 61 72 61 74 65 3a 0a 20 20 20 ....the.scopes.are.separate:....
58420 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
58440 6e 20 63 6c 61 73 73 3d 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
58460 69 6c 65 22 3e 74 65 73 74 5f 73 63 6f 70 65 73 2e 7a 69 67 3c 2f 63 69 74 65 3e 3c 2f 66 69 67 ile">test_scopes.zig</cite></fig
58480 63 61 70 74 69 6f 6e 3e 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="
584a0 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 74 65 73 74 3c line"><span.class="tok-kw">test<
584c0 2f 73 70 61 6e 3e 20 3c 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
584e0 6f 74 3b 73 65 70 61 72 61 74 65 20 73 63 6f 70 65 73 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 20 ot;separate.scopes&quot;</span>.
58500 7b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 {</span>.<span.class="line">....
58520 7b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 {</span>.<span.class="line">....
58540 20 20 20 20 3c 73 70 61 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</
58560 73 70 61 6e 3e 20 70 69 20 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 span>.pi.=.<span.class="tok-numb
58580 65 72 22 3e 33 2e 31 34 3c 2f 73 70 61 6e 3e 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c er">3.14</span>;</span>.<span.cl
585a0 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 20 20 20 20 5f 20 3d 20 70 69 3b 3c 2f 73 70 61 6e ass="line">........_.=.pi;</span
585c0 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 7d 3c 2f 73 70 61 6e >.<span.class="line">....}</span
585e0 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 7b 3c 2f 73 70 61 6e >.<span.class="line">....{</span
58600 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 20 20 20 20 3c 73 70 >.<span.class="line">........<sp
58620 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 76 61 72 3c 2f 73 70 61 6e 3e 20 70 69 3a an.class="tok-kw">var</span>.pi:
58640 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
58660 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 74 72 75 an>.=.<span.class="tok-null">tru
58680 65 3c 2f 73 70 61 6e 3e 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 e</span>;</span>.<span.class="li
586a0 6e 65 22 3e 20 20 20 20 20 20 20 20 5f 20 3d 20 70 69 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e ne">........_.=.pi;</span>.<span
586c0 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 7d 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e .class="line">....}</span>.<span
586e0 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 7d 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 3c 2f 70 .class="line">}</span></code></p
58700 72 65 3e 3c 2f 66 69 67 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.
58720 63 6c 61 73 73 3d 22 73 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
58740 69 6f 6e 3e 3c 70 72 65 3e 3c 73 61 6d 70 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 ion><pre><samp><span.class="line
58760 22 3e 24 20 3c 6b 62 64 3e 7a 69 67 20 74 65 73 74 20 74 65 73 74 5f 73 63 6f 70 65 73 2e 7a 69 ">$.<kbd>zig.test.test_scopes.zi
58780 67 3c 2f 6b 62 64 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 g</kbd></span>.<span.class="line
587a0 22 3e 31 2f 31 20 74 65 73 74 2e 73 65 70 61 72 61 74 65 20 73 63 6f 70 65 73 2e 2e 2e 20 4f 4b ">1/1.test.separate.scopes....OK
587c0 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 41 6c 6c 20 31 </span>.<span.class="line">All.1
587e0 20 74 65 73 74 73 20 70 61 73 73 65 64 2e 3c 2f 73 70 61 6e 3e 0a 3c 2f 73 61 6d 70 3e 3c 2f 70 .tests.passed.</span>.</samp></p
58800 72 65 3e 3c 2f 66 69 67 75 72 65 3e 0a 20 20 20 20 20 20 0a 0a 20 20 20 20 20 20 3c 68 33 20 69 re></figure>...............<h3.i
58820 64 3d 22 45 6d 70 74 79 2d 42 6c 6f 63 6b 73 22 3e 3c 61 20 68 72 65 66 3d 22 23 74 6f 63 2d 45 d="Empty-Blocks"><a.href="#toc-E
58840 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 2f 61 3e 20 3c 61 mpty-Blocks">Empty.Blocks</a>.<a
58860 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 42 6c 6f 63 6b 73 .class="hdr".href="#Empty-Blocks
58880 22 3e c2 a7 3c 2f 61 3e 3c 2f 68 33 3e 0a 0a 20 20 20 20 20 20 3c 70 3e 41 6e 20 65 6d 70 74 79 ">..</a></h3>........<p>An.empty
588a0 20 62 6c 6f 63 6b 20 69 73 20 65 71 75 69 76 61 6c 65 6e 74 20 74 6f 20 3c 63 6f 64 65 3e 3c 73 .block.is.equivalent.to.<code><s
588c0 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f pan.class="line"><span.class="to
588e0 6b 2d 74 79 70 65 22 3e 76 6f 69 64 3c 2f 73 70 61 6e 3e 7b 7d 3c 2f 73 70 61 6e 3e 3c 2f 63 6f k-type">void</span>{}</span></co
58900 64 65 3e 3a 3c 2f 70 3e 0a 20 20 20 20 20 20 3c 66 69 67 75 72 65 3e 3c 66 69 67 63 61 70 74 69 de>:</p>.......<figure><figcapti
58920 6f 6e 20 63 6c 61 73 73 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="
58940 66 69 6c 65 22 3e 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 file">empty_block.zig</cite></fi
58960 67 63 61 70 74 69 6f 6e 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=
58980 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 63 6f 6e 73 "line"><span.class="tok-kw">cons
589a0 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-
589c0 62 75 69 6c 74 69 6e 22 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
589e0 61 73 73 3d 22 74 6f 6b 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
58a00 70 61 6e 3e 29 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 pan>);</span>.<span.class="line"
58a20 3e 3c 73 70 61 6e 20 63 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
58a40 6e 3e 20 65 78 70 65 63 74 20 3d 20 73 74 64 2e 74 65 73 74 69 6e 67 2e 65 78 70 65 63 74 3b 3c n>.expect.=.std.testing.expect;<
58a60 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 2f 73 70 61 6e /span>.<span.class="line"></span
58a80 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 >.<span.class="line"><span.class
58aa0 3d 22 74 6f 6b 2d 6b 77 22 3e 74 65 73 74 3c 2f 73 70 61 6e 3e 20 7b 3c 2f 73 70 61 6e 3e 0a 3c ="tok-kw">test</span>.{</span>.<
58ac0 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 span.class="line">....<span.clas
58ae0 73 3d 22 74 6f 6b 2d 6b 77 22 3e 63 6f 6e 73 74 3c 2f 73 70 61 6e 3e 20 61 20 3d 20 7b 7d 3b 3c s="tok-kw">const</span>.a.=.{};<
58b00 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 3c 73 /span>.<span.class="line">....<s
58b20 70 61 6e 20 63 6c 61 73 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>.
58b40 62 20 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 76 6f 69 64 3c b.=.<span.class="tok-type">void<
58b60 2f 73 70 61 6e 3e 7b 7d 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 /span>{};</span>.<span.class="li
58b80 6e 65 22 3e 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 74 72 79 ne">....<span.class="tok-kw">try
58ba0 3c 2f 73 70 61 6e 3e 20 65 78 70 65 63 74 28 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d </span>.expect(<span.class="tok-
58bc0 62 75 69 6c 74 69 6e 22 3e 40 54 79 70 65 4f 66 3c 2f 73 70 61 6e 3e 28 61 29 20 3d 3d 20 3c 73 builtin">@TypeOf</span>(a).==.<s
58be0 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>
58c00 29 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 );</span>.<span.class="line">...
58c20 20 3c 73 70 61 6e 20 63 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>
58c40 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
58c60 22 3e 40 54 79 70 65 4f 66 3c 2f 73 70 61 6e 3e 28 62 29 20 3d 3d 20 3c 73 70 61 6e 20 63 6c 61 ">@TypeOf</span>(b).==.<span.cla
58c80 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 76 6f 69 64 3c 2f 73 70 61 6e 3e 29 3b 3c 2f 73 70 61 ss="tok-type">void</span>);</spa
58ca0 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 3c 73 70 61 6e 20 n>.<span.class="line">....<span.
58cc0 63 6c 61 73 73 3d 22 74 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
58ce0 28 61 20 3d 3d 20 62 29 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 (a.==.b);</span>.<span.class="li
58d00 6e 65 22 3e 7d 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 3c 2f 70 72 65 3e 3c 2f 66 69 67 75 72 ne">}</span></code></pre></figur
58d20 65 3e 3c 66 69 67 75 72 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
58d40 6c 6c 2d 63 61 70 22 3e 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><
58d60 73 61 6d 70 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 24 20 3c 6b 62 64 3e 7a samp><span.class="line">$.<kbd>z
58d80 69 67 20 74 65 73 74 20 65 6d 70 74 79 5f 62 6c 6f 63 6b 2e 7a 69 67 3c 2f 6b 62 64 3e 3c 2f 73 ig.test.empty_block.zig</kbd></s
58da0 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 31 2f 31 20 74 65 73 74 pan>.<span.class="line">1/1.test
58dc0 5f 30 2e 2e 2e 20 4f 4b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e _0....OK</span>.<span.class="lin
58de0 65 22 3e 41 6c 6c 20 31 20 74 65 73 74 73 20 70 61 73 73 65 64 2e 3c 2f 73 70 61 6e 3e 0a 3c 2f e">All.1.tests.passed.</span>.</
58e00 73 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>............
58e20 20 20 0a 0a 20 20 20 20 20 20 3c 68 32 20 69 64 3d 22 73 77 69 74 63 68 22 3e 3c 61 20 68 72 65 ..........<h2.id="switch"><a.hre
58e40 66 3d 22 23 74 6f 63 2d 73 77 69 74 63 68 22 3e 73 77 69 74 63 68 3c 2f 61 3e 20 3c 61 20 63 6c f="#toc-switch">switch</a>.<a.cl
58e60 61 73 73 3d 22 68 64 72 22 20 68 72 65 66 3d 22 23 73 77 69 74 63 68 22 3e c2 a7 3c 2f 61 3e 3c ass="hdr".href="#switch">..</a><
58e80 2f 68 32 3e 0a 0a 20 20 20 20 20 20 3c 66 69 67 75 72 65 3e 3c 66 69 67 63 61 70 74 69 6f 6e 20 /h2>........<figure><figcaption.
58ea0 63 6c 61 73 73 3d 22 7a 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
58ec0 65 22 3e 73 77 69 74 63 68 2e 7a 69 67 3c 2f 63 69 74 65 3e 3c 2f 66 69 67 63 61 70 74 69 6f 6e e">switch.zig</cite></figcaption
58ee0 3e 3c 70 72 65 3e 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c ><pre><code><span.class="line"><
58f00 73 70 61 6e 20 63 6c 61 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>
58f20 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"
58f40 3e 40 69 6d 70 6f 72 74 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
58f60 2d 73 74 72 22 3e 26 71 75 6f 74 3b 73 74 64 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 29 3b 3c 2f -str">&quot;std&quot;</span>);</
58f80 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 span>.<span.class="line"><span.c
58fa0 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 63 6f 6e 73 74 3c 2f 73 70 61 6e 3e 20 62 75 69 6c 74 lass="tok-kw">const</span>.built
58fc0 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 40 in.=.<span.class="tok-builtin">@
58fe0 69 6d 70 6f 72 74 3c 2f 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
59000 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 3b tr">&quot;builtin&quot;</span>);
59020 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e </span>.<span.class="line"><span
59040 20 63 6c 61 73 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
59060 65 63 74 20 3d 20 73 74 64 2e 74 65 73 74 69 6e 67 2e 65 78 70 65 63 74 3b 3c 2f 73 70 61 6e 3e ect.=.std.testing.expect;</span>
59080 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 .<span.class="line"></span>.<spa
590a0 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d n.class="line"><span.class="tok-
590c0 6b 77 22 3e 74 65 73 74 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
590e0 2d 73 74 72 22 3e 26 71 75 6f 74 3b 73 77 69 74 63 68 20 73 69 6d 70 6c 65 26 71 75 6f 74 3b 3c -str">&quot;switch.simple&quot;<
59100 2f 73 70 61 6e 3e 20 7b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e /span>.{</span>.<span.class="lin
59120 65 22 3e 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 63 6f 6e 73 e">....<span.class="tok-kw">cons
59140 74 3c 2f 73 70 61 6e 3e 20 61 3a 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 t</span>.a:.<span.class="tok-typ
59160 65 22 3e 75 36 34 3c 2f 73 70 61 6e 3e 20 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b e">u64</span>.=.<span.class="tok
59180 2d 6e 75 6d 62 65 72 22 3e 31 30 3c 2f 73 70 61 6e 3e 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e -number">10</span>;</span>.<span
591a0 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 .class="line">....<span.class="t
591c0 6f 6b 2d 6b 77 22 3e 63 6f 6e 73 74 3c 2f 73 70 61 6e 3e 20 7a 7a 3a 20 3c 73 70 61 6e 20 63 6c ok-kw">const</span>.zz:.<span.cl
591e0 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 75 36 34 3c 2f 73 70 61 6e 3e 20 3d 20 3c 73 70 61 ass="tok-type">u64</span>.=.<spa
59200 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 31 30 33 3c 2f 73 70 61 6e 3e 3b n.class="tok-number">103</span>;
59220 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 2f 73 70 61 </span>.<span.class="line"></spa
59240 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 3c 73 70 61 6e 20 n>.<span.class="line">....<span.
59260 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 6e 63 class="tok-comment">//.All.branc
59280 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 74 20 hes.of.a.switch.expression.must.
592a0 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 61 6e be.able.to.be.coerced.to.a</span
592c0 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 ></span>.<span.class="line">....
592e0 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 63 6f 6d 6d 65 6e 74 22 3e 2f 2f 20 63 6f 6d <span.class="tok-comment">//.com
59300 6d 6f 6e 20 74 79 70 65 2e 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c mon.type.</span></span>.<span.cl
59320 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d ass="line">....<span.class="tok-
59340 63 6f 6d 6d 65 6e 74 22 3e 2f 2f 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 comment">//</span></span>.<span.
59360 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f class="line">....<span.class="to
59380 6b 2d 63 6f 6d 6d 65 6e 74 22 3e 2f 2f 20 42 72 61 6e 63 68 65 73 20 63 61 6e 6e 6f 74 20 66 61 k-comment">//.Branches.cannot.fa
593a0 6c 6c 74 68 72 6f 75 67 68 2e 20 49 66 20 66 61 6c 6c 74 68 72 6f 75 67 68 20 62 65 68 61 76 69 llthrough..If.fallthrough.behavi
593c0 6f 72 20 69 73 20 64 65 73 69 72 65 64 2c 20 63 6f 6d 62 69 6e 65 3c 2f 73 70 61 6e 3e 3c 2f 73 or.is.desired,.combine</span></s
593e0 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 3c 73 70 61 pan>.<span.class="line">....<spa
59400 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 63 6f 6d 6d 65 6e 74 22 3e 2f 2f 20 74 68 65 20 63 61 73 n.class="tok-comment">//.the.cas
59420 65 73 20 61 6e 64 20 75 73 65 20 61 6e 20 69 66 2e 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 0a es.and.use.an.if.</span></span>.
59440 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 <span.class="line">....<span.cla
59460 73 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
59480 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>.
594a0 28 61 29 20 7b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e (a).{</span>.<span.class="line">
594c0 20 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
594e0 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 20 63 6f 6d 62 69 ">//.Multiple.cases.can.be.combi
59500 6e 65 64 20 76 69 61 20 61 20 27 2c 27 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 ned.via.a.','</span></span>.<spa
59520 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 n.class="line">........<span.cla
59540 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.
59560 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 70 class="tok-number">2</span>,.<sp
59580 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 20 3d an.class="tok-number">3</span>.=
595a0 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 30 3c &gt;.<span.class="tok-number">0<
595c0 2f 73 70 61 6e 3e 2c 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 /span>,</span>.<span.class="line
595e0 22 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 "></span>.<span.class="line">...
59600 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">/
59620 2f 20 52 61 6e 67 65 73 20 63 61 6e 20 62 65 20 73 70 65 63 69 66 69 65 64 20 75 73 69 6e 67 20 /.Ranges.can.be.specified.using.
59640 74 68 65 20 2e 2e 2e 20 73 79 6e 74 61 78 2e 20 54 68 65 73 65 20 61 72 65 20 69 6e 63 6c 75 73 the.....syntax..These.are.inclus
59660 69 76 65 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c ive</span></span>.<span.class="l
59680 69 6e 65 22 3e 20 20 20 20 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 63 6f ine">........<span.class="tok-co
596a0 6d 6d 65 6e 74 22 3e 2f 2f 20 6f 66 20 62 6f 74 68 20 65 6e 64 73 2e 3c 2f 73 70 61 6e 3e 3c 2f mment">//.of.both.ends.</span></
596c0 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 20 20 20 span>.<span.class="line">.......
596e0 20 3c 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
59700 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 22 3e 31 30 n>...<span.class="tok-number">10
59720 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 74 6f 6b 2d 0</span>.=&gt;.<span.class="tok-
59740 6e 75 6d 62 65 72 22 3e 31 3c 2f 73 70 61 6e 3e 2c 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 number">1</span>,</span>.<span.c
59760 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d lass="line"></span>.<span.class=
59780 22 6c 69 6e 65 22 3e 20 20 20 20 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d "line">........<span.class="tok-
597a0 63 6f 6d 6d 65 6e 74 22 3e 2f 2f 20 42 72 61 6e 63 68 65 73 20 63 61 6e 20 62 65 20 61 72 62 69 comment">//.Branches.can.be.arbi
597c0 74 72 61 72 69 6c 79 20 63 6f 6d 70 6c 65 78 2e 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 0a 3c trarily.complex.</span></span>.<
597e0 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 20 20 20 20 3c 73 70 61 6e 20 span.class="line">........<span.
59800 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 31 30 31 3c 2f 73 70 61 6e 3e 20 3d 26 class="tok-number">101</span>.=&
59820 67 74 3b 20 62 6c 6b 3a 20 7b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c gt;.blk:.{</span>.<span.class="l
59840 69 6e 65 22 3e 20 20 20 20 20 20 20 20 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f ine">............<span.class="to
59860 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
59880 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 75 36 34 3c 2f 73 70 61 6e 3e 20 3d 20 3c 73 70 61 6e 20 s="tok-type">u64</span>.=.<span.
598a0 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 35 3c 2f 73 70 61 6e 3e 3b 3c 2f 73 70 class="tok-number">5</span>;</sp
598c0 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 20 20 20 20 20 an>.<span.class="line">.........
598e0 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
59900 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 2d 6e pan>.:blk.c.*.<span.class="tok-n
59920 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 74 umber">2</span>.+.<span.class="t
59940 6f 6b 2d 6e 75 6d 62 65 72 22 3e 31 3c 2f 73 70 61 6e 3e 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 ok-number">1</span>;</span>.<spa
59960 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 20 20 20 20 7d 2c 3c 2f 73 70 61 6e 3e n.class="line">........},</span>
59980 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 .<span.class="line"></span>.<spa
599a0 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 n.class="line">........<span.cla
599c0 73 73 3d 22 74 6f 6b 2d 63 6f 6d 6d 65 6e 74 22 3e 2f 2f 20 53 77 69 74 63 68 69 6e 67 20 6f 6e ss="tok-comment">//.Switching.on
599e0 20 61 72 62 69 74 72 61 72 79 20 65 78 70 72 65 73 73 69 6f 6e 73 20 69 73 20 61 6c 6c 6f 77 65 .arbitrary.expressions.is.allowe
59a00 64 20 61 73 20 6c 6f 6e 67 20 61 73 20 74 68 65 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 0a 3c d.as.long.as.the</span></span>.<
59a20 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 20 20 20 20 3c 73 70 61 6e 20 span.class="line">........<span.
59a40 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 72 65 73 73 69 6f class="tok-comment">//.expressio
59a60 6e 20 69 73 20 6b 6e 6f 77 6e 20 61 74 20 63 6f 6d 70 69 6c 65 2d 74 69 6d 65 2e 3c 2f 73 70 61 n.is.known.at.compile-time.</spa
59a80 6e 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 n></span>.<span.class="line">...
59aa0 20 20 20 20 20 7a 7a 20 3d 26 67 74 3b 20 7a 7a 2c 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 .....zz.=&gt;.zz,</span>.<span.c
59ac0 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 20 20 20 20 62 6c 6b 3a 20 7b 3c 2f 73 70 61 6e lass="line">........blk:.{</span
59ae0 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 20 20 20 20 20 20 20 >.<span.class="line">...........
59b00 20 3c 73 70 61 6e 20 63 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
59b20 6e 3e 20 64 3a 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 75 33 32 n>.d:.<span.class="tok-type">u32
59b40 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
59b60 72 22 3e 35 3c 2f 73 70 61 6e 3e 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d r">5</span>;</span>.<span.class=
59b80 22 6c 69 6e 65 22 3e 20 20 20 20 20 20 20 20 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 "line">............<span.class="
59ba0 74 6f 6b 2d 6b 77 22 3e 63 6f 6e 73 74 3c 2f 73 70 61 6e 3e 20 65 3a 20 3c 73 70 61 6e 20 63 6c tok-kw">const</span>.e:.<span.cl
59bc0 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
59be0 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 31 30 30 3c 2f 73 70 61 6e 3e 3b n.class="tok-number">100</span>;
59c00 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 20 </span>.<span.class="line">.....
59c20 20 20 20 20 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 .......<span.class="tok-kw">brea
59c40 6b 3c 2f 73 70 61 6e 3e 20 3a 62 6c 6b 20 64 20 2b 20 65 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 k</span>.:blk.d.+.e;</span>.<spa
59c60 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 20 20 20 20 7d 20 3d 26 67 74 3b 20 3c n.class="line">........}.=&gt;.<
59c80 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 31 30 37 3c 2f 73 70 61 span.class="tok-number">107</spa
59ca0 6e 3e 2c 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 2f n>,</span>.<span.class="line"></
59cc0 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 20 20 20 span>.<span.class="line">.......
59ce0 20 3c 73 70 61 6e 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
59d00 65 20 65 6c 73 65 20 62 72 61 6e 63 68 20 63 61 74 63 68 65 73 20 65 76 65 72 79 74 68 69 6e 67 e.else.branch.catches.everything
59d20 20 6e 6f 74 20 61 6c 72 65 61 64 79 20 63 61 70 74 75 72 65 64 2e 3c 2f 73 70 61 6e 3e 3c 2f 73 .not.already.captured.</span></s
59d40 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 20 20 20 20 pan>.<span.class="line">........
59d60 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 63 6f 6d 6d 65 6e 74 22 3e 2f 2f 20 45 6c 73 <span.class="tok-comment">//.Els
59d80 65 20 62 72 61 6e 63 68 65 73 20 61 72 65 20 6d 61 6e 64 61 74 6f 72 79 20 75 6e 6c 65 73 73 20 e.branches.are.mandatory.unless.
59da0 74 68 65 20 65 6e 74 69 72 65 20 72 61 6e 67 65 20 6f 66 20 76 61 6c 75 65 73 3c 2f 73 70 61 6e the.entire.range.of.values</span
59dc0 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 ></span>.<span.class="line">....
59de0 20 20 20 20 3c 73 70 61 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">//
59e00 20 69 73 20 68 61 6e 64 6c 65 64 2e 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e .is.handled.</span></span>.<span
59e20 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 .class="line">........<span.clas
59e40 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
59e60 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 3c an.class="tok-number">9</span>,<
59e80 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 7d 3b /span>.<span.class="line">....};
59ea0 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 2f 73 70 61 </span>.<span.class="line"></spa
59ec0 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 3c 73 70 61 6e 20 n>.<span.class="line">....<span.
59ee0 63 6c 61 73 73 3d 22 74 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
59f00 28 62 20 3d 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 31 (b.==.<span.class="tok-number">1
59f20 3c 2f 73 70 61 6e 3e 29 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 </span>);</span>.<span.class="li
59f40 6e 65 22 3e 7d 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e ne">}</span>.<span.class="line">
59f60 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e </span>.<span.class="line"><span
59f80 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 68 20 65 .class="tok-comment">//.Switch.e
59fa0 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 65 20 61 xpressions.can.be.used.outside.a
59fc0 20 66 75 6e 63 74 69 6f 6e 3a 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 .function:</span></span>.<span.c
59fe0 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 lass="line"><span.class="tok-kw"
5a000 3e 63 6f 6e 73 74 3c 2f 73 70 61 6e 3e 20 6f 73 5f 6d 73 67 20 3d 20 3c 73 70 61 6e 20 63 6c 61 >const</span>.os_msg.=.<span.cla
5a020 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 62 75 69 6c 74 ss="tok-kw">switch</span>.(built
5a040 69 6e 2e 74 61 72 67 65 74 2e 6f 73 2e 74 61 67 29 20 7b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e in.target.os.tag).{</span>.<span
5a060 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 2e 6c 69 6e 75 78 20 3d 26 67 74 3b 20 3c .class="line">.....linux.=&gt;.<
5a080 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 73 74 72 22 3e 26 71 75 6f 74 3b 77 65 20 66 6f span.class="tok-str">&quot;we.fo
5a0a0 75 6e 64 20 61 20 6c 69 6e 75 78 20 75 73 65 72 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 2c 3c 2f und.a.linux.user&quot;</span>,</
5a0c0 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 3c 73 70 span>.<span.class="line">....<sp
5a0e0 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 65 6c 73 65 3c 2f 73 70 61 6e 3e 20 3d 26 an.class="tok-kw">else</span>.=&
5a100 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 74 3b gt;.<span.class="tok-str">&quot;
5a120 6e 6f 74 20 61 20 6c 69 6e 75 78 20 75 73 65 72 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 2c 3c 2f not.a.linux.user&quot;</span>,</
5a140 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 7d 3b 3c 2f 73 70 61 span>.<span.class="line">};</spa
5a160 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 n>.<span.class="line"></span>.<s
5a180 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f pan.class="line"><span.class="to
5a1a0 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 6e 63 74 69 6f 6e 2c k-comment">//.Inside.a.function,
5a1c0 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 69 74 6c 79 20 61 72 .switch.statements.implicitly.ar
5a1e0 65 20 63 6f 6d 70 69 6c 65 2d 74 69 6d 65 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 e.compile-time</span></span>.<sp
5a200 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b an.class="line"><span.class="tok
5a220 2d 63 6f 6d 6d 65 6e 74 22 3e 2f 2f 20 65 76 61 6c 75 61 74 65 64 20 69 66 20 74 68 65 20 74 61 -comment">//.evaluated.if.the.ta
5a240 72 67 65 74 20 65 78 70 72 65 73 73 69 6f 6e 20 69 73 20 63 6f 6d 70 69 6c 65 2d 74 69 6d 65 20 rget.expression.is.compile-time.
5a260 6b 6e 6f 77 6e 2e 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 known.</span></span>.<span.class
5a280 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 74 65 73 ="line"><span.class="tok-kw">tes
5a2a0 74 3c 2f 73 70 61 6e 3e 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">&
5a2c0 71 75 6f 74 3b 73 77 69 74 63 68 20 69 6e 73 69 64 65 20 66 75 6e 63 74 69 6f 6e 26 71 75 6f 74 quot;switch.inside.function&quot
5a2e0 3b 3c 2f 73 70 61 6e 3e 20 7b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c ;</span>.{</span>.<span.class="l
5a300 69 6e 65 22 3e 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 73 77 ine">....<span.class="tok-kw">sw
5a320 69 74 63 68 3c 2f 73 70 61 6e 3e 20 28 62 75 69 6c 74 69 6e 2e 74 61 72 67 65 74 2e 6f 73 2e 74 itch</span>.(builtin.target.os.t
5a340 61 67 29 20 7b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e ag).{</span>.<span.class="line">
5a360 20 20 20 20 20 20 20 20 2e 66 75 63 68 73 69 61 20 3d 26 67 74 3b 20 7b 3c 2f 73 70 61 6e 3e 0a .........fuchsia.=&gt;.{</span>.
5a380 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 20 20 20 20 20 20 20 20 3c <span.class="line">............<
5a3a0 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 63 6f 6d 6d 65 6e 74 22 3e 2f 2f 20 4f 6e 20 61 span.class="tok-comment">//.On.a
5a3c0 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 6f 63 6b 20 69 n.OS.other.than.fuchsia,.block.i
5a3e0 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 3c 2f 73 70 61 s.not.even.analyzed,</span></spa
5a400 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 20 20 20 20 20 20 n>.<span.class="line">..........
5a420 20 20 3c 73 70 61 6e 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 ..<span.class="tok-comment">//.s
5a440 6f 20 74 68 69 73 20 63 6f 6d 70 69 6c 65 20 65 72 72 6f 72 20 69 73 20 6e 6f 74 20 74 72 69 67 o.this.compile.error.is.not.trig
5a460 67 65 72 65 64 2e 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 gered.</span></span>.<span.class
5a480 3d 22 6c 69 6e 65 22 3e 20 20 20 20 20 20 20 20 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d ="line">............<span.class=
5a4a0 22 74 6f 6b 2d 63 6f 6d 6d 65 6e 74 22 3e 2f 2f 20 4f 6e 20 66 75 63 68 73 69 61 20 74 68 69 73 "tok-comment">//.On.fuchsia.this
5a4c0 20 63 6f 6d 70 69 6c 65 20 65 72 72 6f 72 20 77 6f 75 6c 64 20 62 65 20 74 72 69 67 67 65 72 65 .compile.error.would.be.triggere
5a4e0 64 2e 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 d.</span></span>.<span.class="li
5a500 6e 65 22 3e 20 20 20 20 20 20 20 20 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b ne">............<span.class="tok
5a520 2d 62 75 69 6c 74 69 6e 22 3e 40 63 6f 6d 70 69 6c 65 45 72 72 6f 72 3c 2f 73 70 61 6e 3e 28 3c -builtin">@compileError</span>(<
5a540 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 73 74 72 22 3e 26 71 75 6f 74 3b 66 75 63 68 73 span.class="tok-str">&quot;fuchs
5a560 69 61 20 6e 6f 74 20 73 75 70 70 6f 72 74 65 64 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 29 3b 3c ia.not.supported&quot;</span>);<
5a580 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 20 20 /span>.<span.class="line">......
5a5a0 20 20 7d 2c 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 ..},</span>.<span.class="line">.
5a5c0 20 20 20 20 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
5a5e0 3c 2f 73 70 61 6e 3e 20 3d 26 67 74 3b 20 7b 7d 2c 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 </span>.=&gt;.{},</span>.<span.c
5a600 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 7d 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 lass="line">....}</span>.<span.c
5a620 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 7d 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 3c 2f 70 72 65 lass="line">}</span></code></pre
5a640 3e 3c 2f 66 69 67 75 72 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
5a660 61 73 73 3d 22 73 68 65 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
5a680 6e 3e 3c 70 72 65 3e 3c 73 61 6d 70 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e n><pre><samp><span.class="line">
5a6a0 24 20 3c 6b 62 64 3e 7a 69 67 20 74 65 73 74 20 73 77 69 74 63 68 2e 7a 69 67 3c 2f 6b 62 64 3e $.<kbd>zig.test.switch.zig</kbd>
5a6c0 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 31 2f 32 20 74 </span>.<span.class="line">1/2.t
5a6e0 65 73 74 2e 73 77 69 74 63 68 20 73 69 6d 70 6c 65 2e 2e 2e 20 4f 4b 3c 2f 73 70 61 6e 3e 0a 3c est.switch.simple....OK</span>.<
5a700 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 32 2f 32 20 74 65 73 74 2e 73 77 69 74 63 span.class="line">2/2.test.switc
5a720 68 20 69 6e 73 69 64 65 20 66 75 6e 63 74 69 6f 6e 2e 2e 2e 20 4f 4b 3c 2f 73 70 61 6e 3e 0a 3c h.inside.function....OK</span>.<
5a740 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 41 6c 6c 20 32 20 74 65 73 74 73 20 70 61 span.class="line">All.2.tests.pa
5a760 73 73 65 64 2e 3c 2f 73 70 61 6e 3e 0a 3c 2f 73 61 6d 70 3e 3c 2f 70 72 65 3e 3c 2f 66 69 67 75 ssed.</span>.</samp></pre></figu
5a780 72 65 3e 0a 20 20 20 20 20 20 3c 70 3e 0a 20 20 20 20 20 20 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 re>.......<p>.......<code><span.
5a7a0 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 class="line"><span.class="tok-kw
5a7c0 22 3e 73 77 69 74 63 68 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 20 63 61 ">switch</span></span></code>.ca
5a7e0 6e 20 62 65 20 75 73 65 64 20 74 6f 20 63 61 70 74 75 72 65 20 74 68 65 20 66 69 65 6c 64 20 76 n.be.used.to.capture.the.field.v
5a800 61 6c 75 65 73 0a 20 20 20 20 20 20 6f 66 20 61 20 3c 61 20 68 72 65 66 3d 22 23 54 61 67 67 65 alues.......of.a.<a.href="#Tagge
5a820 64 2d 75 6e 69 6f 6e 22 3e 54 61 67 67 65 64 20 75 6e 69 6f 6e 3c 2f 61 3e 2e 20 4d 6f 64 69 66 d-union">Tagged.union</a>..Modif
5a840 69 63 61 74 69 6f 6e 73 20 74 6f 20 74 68 65 20 66 69 65 6c 64 20 76 61 6c 75 65 73 20 63 61 6e ications.to.the.field.values.can
5a860 20 62 65 0a 20 20 20 20 20 20 64 6f 6e 65 20 62 79 20 70 6c 61 63 69 6e 67 20 61 20 3c 63 6f 64 .be.......done.by.placing.a.<cod
5a880 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 2a 3c 2f 73 70 61 6e 3e 3c 2f 63 e><span.class="line">*</span></c
5a8a0 6f 64 65 3e 20 62 65 66 6f 72 65 20 74 68 65 20 63 61 70 74 75 72 65 20 76 61 72 69 61 62 6c 65 ode>.before.the.capture.variable
5a8c0 20 6e 61 6d 65 2c 0a 20 20 20 20 20 20 74 75 72 6e 69 6e 67 20 69 74 20 69 6e 74 6f 20 61 20 70 .name,.......turning.it.into.a.p
5a8e0 6f 69 6e 74 65 72 2e 0a 20 20 20 20 20 20 3c 2f 70 3e 0a 20 20 20 20 20 20 3c 66 69 67 75 72 65 ointer........</p>.......<figure
5a900 3e 3c 66 69 67 63 61 70 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
5a920 74 65 20 63 6c 61 73 73 3d 22 66 69 6c 65 22 3e 74 65 73 74 5f 73 77 69 74 63 68 5f 74 61 67 67 te.class="file">test_switch_tagg
5a940 65 64 5f 75 6e 69 6f 6e 2e 7a 69 67 3c 2f 63 69 74 65 3e 3c 2f 66 69 67 63 61 70 74 69 6f 6e 3e ed_union.zig</cite></figcaption>
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 6c 69 6e 65 22 3e 3c 73 <pre><code><span.class="line"><s
5a980 70 61 6e 20 63 6c 61 73 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>.
5a9a0 65 78 70 65 63 74 20 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 62 75 69 6c 74 69 expect.=.<span.class="tok-builti
5a9c0 6e 22 3e 40 69 6d 70 6f 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
5a9e0 6f 6b 2d 73 74 72 22 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>).
5aa00 74 65 73 74 69 6e 67 2e 65 78 70 65 63 74 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 testing.expect;</span>.<span.cla
5aa20 73 73 3d 22 6c 69 6e 65 22 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c ss="line"></span>.<span.class="l
5aa40 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 74 65 73 74 3c 2f ine"><span.class="tok-kw">test</
5aa60 73 70 61 6e 3e 20 3c 73 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
5aa80 74 3b 73 77 69 74 63 68 20 6f 6e 20 74 61 67 67 65 64 20 75 6e 69 6f 6e 26 71 75 6f 74 3b 3c 2f t;switch.on.tagged.union&quot;</
5aaa0 73 70 61 6e 3e 20 7b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 span>.{</span>.<span.class="line
5aac0 22 3e 20 20 20 20 3c 73 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
5aae0 3c 2f 73 70 61 6e 3e 20 50 6f 69 6e 74 20 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b </span>.Point.=.<span.class="tok
5ab00 2d 6b 77 22 3e 73 74 72 75 63 74 3c 2f 73 70 61 6e 3e 20 7b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 -kw">struct</span>.{</span>.<spa
5ab20 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 20 20 20 20 78 3a 20 3c 73 70 61 6e 20 n.class="line">........x:.<span.
5ab40 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 75 38 3c 2f 73 70 61 6e 3e 2c 3c 2f 73 70 61 class="tok-type">u8</span>,</spa
5ab60 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 20 20 20 20 79 3a n>.<span.class="line">........y:
5ab80 20 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
5aba0 3e 2c 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 >,</span>.<span.class="line">...
5abc0 20 7d 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 .};</span>.<span.class="line">..
5abe0 20 20 3c 73 70 61 6e 20 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
5ac00 61 6e 3e 20 49 74 65 6d 20 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e an>.Item.=.<span.class="tok-kw">
5ac20 75 6e 69 6f 6e 3c 2f 73 70 61 6e 3e 28 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 union</span>(<span.class="tok-kw
5ac40 22 3e 65 6e 75 6d 3c 2f 73 70 61 6e 3e 29 20 7b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c ">enum</span>).{</span>.<span.cl
5ac60 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 20 20 20 20 61 3a 20 3c 73 70 61 6e 20 63 6c 61 73 ass="line">........a:.<span.clas
5ac80 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 75 33 32 3c 2f 73 70 61 6e 3e 2c 3c 2f 73 70 61 6e 3e 0a s="tok-type">u32</span>,</span>.
5aca0 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 20 20 20 20 63 3a 20 50 6f <span.class="line">........c:.Po
5acc0 69 6e 74 2c 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 int,</span>.<span.class="line">.
5ace0 20 20 20 20 20 20 20 64 2c 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 .......d,</span>.<span.class="li
5ad00 6e 65 22 3e 20 20 20 20 20 20 20 20 65 3a 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d ne">........e:.<span.class="tok-
5ad20 74 79 70 65 22 3e 75 33 32 3c 2f 73 70 61 6e 3e 2c 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 type">u32</span>,</span>.<span.c
5ad40 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 7d 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 lass="line">....};</span>.<span.
5ad60 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 class="line"></span>.<span.class
5ad80 3d 22 6c 69 6e 65 22 3e 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 ="line">....<span.class="tok-kw"
5ada0 3e 76 61 72 3c 2f 73 70 61 6e 3e 20 61 20 3d 20 49 74 65 6d 7b 20 2e 63 20 3d 20 50 6f 69 6e 74 >var</span>.a.=.Item{..c.=.Point
5adc0 7b 20 2e 78 20 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e {..x.=.<span.class="tok-number">
5ade0 31 3c 2f 73 70 61 6e 3e 2c 20 2e 79 20 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 1</span>,..y.=.<span.class="tok-
5ae00 6e 75 6d 62 65 72 22 3e 32 3c 2f 73 70 61 6e 3e 20 7d 20 7d 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 number">2</span>.}.};</span>.<sp
5ae20 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c an.class="line"></span>.<span.cl
5ae40 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d ass="line">....<span.class="tok-
5ae60 63 6f 6d 6d 65 6e 74 22 3e 2f 2f 20 53 77 69 74 63 68 69 6e 67 20 6f 6e 20 6d 6f 72 65 20 63 6f comment">//.Switching.on.more.co
5ae80 6d 70 6c 65 78 20 65 6e 75 6d 73 20 69 73 20 61 6c 6c 6f 77 65 64 2e 3c 2f 73 70 61 6e 3e 3c 2f mplex.enums.is.allowed.</span></
5aea0 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 3c 73 70 span>.<span.class="line">....<sp
5aec0 61 6e 20 63 6c 61 73 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
5aee0 20 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 73 77 69 74 63 68 3c 2f .=.<span.class="tok-kw">switch</
5af00 73 70 61 6e 3e 20 28 61 29 20 7b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 span>.(a).{</span>.<span.class="
5af20 6c 69 6e 65 22 3e 20 20 20 20 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 63 line">........<span.class="tok-c
5af40 6f 6d 6d 65 6e 74 22 3e 2f 2f 20 41 20 63 61 70 74 75 72 65 20 67 72 6f 75 70 20 69 73 20 61 6c omment">//.A.capture.group.is.al
5af60 6c 6f 77 65 64 20 6f 6e 20 61 20 6d 61 74 63 68 2c 20 61 6e 64 20 77 69 6c 6c 20 72 65 74 75 72 lowed.on.a.match,.and.will.retur
5af80 6e 20 74 68 65 20 65 6e 75 6d 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 n.the.enum</span></span>.<span.c
5afa0 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d lass="line">........<span.class=
5afc0 22 74 6f 6b 2d 63 6f 6d 6d 65 6e 74 22 3e 2f 2f 20 76 61 6c 75 65 20 6d 61 74 63 68 65 64 2e 20 "tok-comment">//.value.matched..
5afe0 49 66 20 74 68 65 20 70 61 79 6c 6f 61 64 20 74 79 70 65 73 20 6f 66 20 62 6f 74 68 20 63 61 73 If.the.payload.types.of.both.cas
5b000 65 73 20 61 72 65 20 74 68 65 20 73 61 6d 65 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 es.are.the.same</span></span>.<s
5b020 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 20 20 20 20 3c 73 70 61 6e 20 63 pan.class="line">........<span.c
5b040 6c 61 73 73 3d 22 74 6f 6b 2d 63 6f 6d 6d 65 6e 74 22 3e 2f 2f 20 74 68 65 79 20 63 61 6e 20 62 lass="tok-comment">//.they.can.b
5b060 65 20 70 75 74 20 69 6e 74 6f 20 74 68 65 20 73 61 6d 65 20 73 77 69 74 63 68 20 70 72 6f 6e 67 e.put.into.the.same.switch.prong
5b080 2e 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e .</span></span>.<span.class="lin
5b0a0 65 22 3e 20 20 20 20 20 20 20 20 49 74 65 6d 2e 61 2c 20 49 74 65 6d 2e 65 20 3d 26 67 74 3b 20 e">........Item.a,.Item.e.=&gt;.
5b0c0 7c 69 74 65 6d 7c 20 69 74 65 6d 2c 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d |item|.item,</span>.<span.class=
5b0e0 22 6c 69 6e 65 22 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 "line"></span>.<span.class="line
5b100 22 3e 20 20 20 20 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 63 6f 6d 6d 65 ">........<span.class="tok-comme
5b120 6e 74 22 3e 2f 2f 20 41 20 72 65 66 65 72 65 6e 63 65 20 74 6f 20 74 68 65 20 6d 61 74 63 68 65 nt">//.A.reference.to.the.matche
5b140 64 20 76 61 6c 75 65 20 63 61 6e 20 62 65 20 6f 62 74 61 69 6e 65 64 20 75 73 69 6e 67 20 60 2a d.value.can.be.obtained.using.`*
5b160 60 20 73 79 6e 74 61 78 2e 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c `.syntax.</span></span>.<span.cl
5b180 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 20 20 20 20 49 74 65 6d 2e 63 20 3d 26 67 74 3b 20 ass="line">........Item.c.=&gt;.
5b1a0 7c 2a 69 74 65 6d 7c 20 62 6c 6b 3a 20 7b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 |*item|.blk:.{</span>.<span.clas
5b1c0 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 20 20 20 20 20 20 20 20 69 74 65 6d 2e 2a 2e 78 20 2b 3d s="line">............item.*.x.+=
5b1e0 20 3c 73 70 61 6e 20 63 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
5b200 6e 3e 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 n>;</span>.<span.class="line">..
5b220 20 20 20 20 20 20 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 62 ..........<span.class="tok-kw">b
5b240 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
5b260 6b 2d 6e 75 6d 62 65 72 22 3e 36 3c 2f 73 70 61 6e 3e 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e k-number">6</span>;</span>.<span
5b280 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 20 20 20 20 7d 2c 3c 2f 73 70 61 6e 3e 0a .class="line">........},</span>.
5b2a0 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e <span.class="line"></span>.<span
5b2c0 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 .class="line">........<span.clas
5b2e0 73 3d 22 74 6f 6b 2d 63 6f 6d 6d 65 6e 74 22 3e 2f 2f 20 4e 6f 20 65 6c 73 65 20 69 73 20 72 65 s="tok-comment">//.No.else.is.re
5b300 71 75 69 72 65 64 20 69 66 20 74 68 65 20 74 79 70 65 73 20 63 61 73 65 73 20 77 61 73 20 65 78 quired.if.the.types.cases.was.ex
5b320 68 61 75 73 74 69 76 65 6c 79 20 68 61 6e 64 6c 65 64 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e haustively.handled</span></span>
5b340 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 20 20 20 20 49 74 65 6d .<span.class="line">........Item
5b360 2e 64 20 3d 26 67 74 3b 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 .d.=&gt;.<span.class="tok-number
5b380 22 3e 38 3c 2f 73 70 61 6e 3e 2c 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 ">8</span>,</span>.<span.class="
5b3a0 6c 69 6e 65 22 3e 20 20 20 20 7d 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d line">....};</span>.<span.class=
5b3c0 22 6c 69 6e 65 22 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 "line"></span>.<span.class="line
5b3e0 22 3e 20 20 20 20 3c 73 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</
5b400 73 70 61 6e 3e 20 65 78 70 65 63 74 28 62 20 3d 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 span>.expect(b.==.<span.class="t
5b420 6f 6b 2d 6e 75 6d 62 65 72 22 3e 36 3c 2f 73 70 61 6e 3e 29 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 ok-number">6</span>);</span>.<sp
5b440 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d an.class="line">....<span.class=
5b460 22 74 6f 6b 2d 6b 77 22 3e 74 72 79 3c 2f 73 70 61 6e 3e 20 65 78 70 65 63 74 28 61 2e 63 2e 78 "tok-kw">try</span>.expect(a.c.x
5b480 20 3d 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 32 3c 2f .==.<span.class="tok-number">2</
5b4a0 73 70 61 6e 3e 29 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 span>);</span>.<span.class="line
5b4c0 22 3e 7d 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 3c 2f 70 72 65 3e 3c 2f 66 69 67 75 72 65 3e ">}</span></code></pre></figure>
5b4e0 3c 66 69 67 75 72 65 3e 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
5b500 2d 63 61 70 22 3e 53 68 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
5b520 6d 70 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 24 20 3c 6b 62 64 3e 7a 69 67 mp><span.class="line">$.<kbd>zig
5b540 20 74 65 73 74 20 74 65 73 74 5f 73 77 69 74 63 68 5f 74 61 67 67 65 64 5f 75 6e 69 6f 6e 2e 7a .test.test_switch_tagged_union.z
5b560 69 67 3c 2f 6b 62 64 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e ig</kbd></span>.<span.class="lin
5b580 65 22 3e 31 2f 31 20 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 e">1/1.test.switch.on.tagged.uni
5b5a0 6f 6e 2e 2e 2e 20 4f 4b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e on....OK</span>.<span.class="lin
5b5c0 65 22 3e 41 6c 6c 20 31 20 74 65 73 74 73 20 70 61 73 73 65 64 2e 3c 2f 73 70 61 6e 3e 0a 3c 2f e">All.1.tests.passed.</span>.</
5b5e0 73 61 6d 70 3e 3c 2f 70 72 65 3e 3c 2f 66 69 67 75 72 65 3e 0a 20 20 20 20 20 20 3c 70 3e 53 65 samp></pre></figure>.......<p>Se
5b600 65 20 61 6c 73 6f 3a 3c 2f 70 3e 3c 75 6c 3e 0a 3c 6c 69 3e 3c 61 20 68 72 65 66 3d 22 23 63 6f e.also:</p><ul>.<li><a.href="#co
5b620 6d 70 74 69 6d 65 22 3e 63 6f 6d 70 74 69 6d 65 3c 2f 61 3e 3c 2f 6c 69 3e 0a 3c 6c 69 3e 3c 61 mptime">comptime</a></li>.<li><a
5b640 20 68 72 65 66 3d 22 23 65 6e 75 6d 22 3e 65 6e 75 6d 3c 2f 61 3e 3c 2f 6c 69 3e 0a 3c 6c 69 3e .href="#enum">enum</a></li>.<li>
5b660 3c 61 20 68 72 65 66 3d 22 23 63 6f 6d 70 69 6c 65 45 72 72 6f 72 22 3e 40 63 6f 6d 70 69 6c 65 <a.href="#compileError">@compile
5b680 45 72 72 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 43 6f 6d Error</a></li>.<li><a.href="#Com
5b6a0 70 69 6c 65 2d 56 61 72 69 61 62 6c 65 73 22 3e 43 6f 6d 70 69 6c 65 20 56 61 72 69 61 62 6c 65 pile-Variables">Compile.Variable
5b6c0 73 3c 2f 61 3e 3c 2f 6c 69 3e 0a 3c 2f 75 6c 3e 0a 0a 0a 20 20 20 20 20 20 3c 68 33 20 69 64 3d s</a></li>.</ul>.........<h3.id=
5b6e0 22 45 78 68 61 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 "Exhaustive-Switching"><a.href="
5b700 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 78 68 61 75 #toc-Exhaustive-Switching">Exhau
5b720 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 3d 22 68 64 stive.Switching</a>.<a.class="hd
5b740 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 6e 67 22 3e r".href="#Exhaustive-Switching">
5b760 c2 a7 3c 2f 61 3e 3c 2f 68 33 3e 0a 0a 20 20 20 20 20 20 3c 70 3e 0a 20 20 20 20 20 20 57 68 65 ..</a></h3>........<p>.......Whe
5b780 6e 20 61 20 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 n.a.<code><span.class="line"><sp
5b7a0 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 73 77 69 74 63 68 3c 2f 73 70 61 6e 3e 3c an.class="tok-kw">switch</span><
5b7c0 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 20 65 78 70 72 65 73 73 69 6f 6e 20 64 6f 65 73 20 6e 6f /span></code>.expression.does.no
5b7e0 74 20 68 61 76 65 20 61 6e 20 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e t.have.an.<code><span.class="lin
5b800 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 65 6c 73 65 3c 2f 73 70 e"><span.class="tok-kw">else</sp
5b820 61 6e 3e 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 20 63 6c 61 75 73 65 2c 0a 20 20 20 20 20 20 an></span></code>.clause,.......
5b840 69 74 20 6d 75 73 74 20 65 78 68 61 75 73 74 69 76 65 6c 79 20 6c 69 73 74 20 61 6c 6c 20 74 68 it.must.exhaustively.list.all.th
5b860 65 20 70 6f 73 73 69 62 6c 65 20 76 61 6c 75 65 73 2e 20 46 61 69 6c 75 72 65 20 74 6f 20 64 6f e.possible.values..Failure.to.do
5b880 20 73 6f 20 69 73 20 61 20 63 6f 6d 70 69 6c 65 20 65 72 72 6f 72 3a 0a 20 20 20 20 20 20 3c 2f .so.is.a.compile.error:.......</
5b8a0 70 3e 0a 20 20 20 20 20 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
5b8c0 73 73 3d 22 7a 69 67 2d 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">
5b8e0 74 65 73 74 2e 7a 69 67 3c 2f 63 69 74 65 3e 3c 2f 66 69 67 63 61 70 74 69 6f 6e 3e 3c 70 72 65 test.zig</cite></figcaption><pre
5b900 3e 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 ><code><span.class="line"><span.
5b920 63 6c 61 73 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 class="tok-kw">const</span>.Colo
5b940 72 20 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 65 6e 75 6d 3c 2f 73 r.=.<span.class="tok-kw">enum</s
5b960 70 61 6e 3e 20 7b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 pan>.{</span>.<span.class="line"
5b980 3e 20 20 20 20 61 75 74 6f 2c 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c >....auto,</span>.<span.class="l
5b9a0 69 6e 65 22 3e 20 20 20 20 6f 66 66 2c 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 ine">....off,</span>.<span.class
5b9c0 3d 22 6c 69 6e 65 22 3e 20 20 20 20 6f 6e 2c 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 ="line">....on,</span>.<span.cla
5b9e0 73 73 3d 22 6c 69 6e 65 22 3e 7d 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d ss="line">};</span>.<span.class=
5ba00 22 6c 69 6e 65 22 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 "line"></span>.<span.class="line
5ba20 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 74 65 73 74 3c 2f 73 70 61 "><span.class="tok-kw">test</spa
5ba40 6e 3e 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 73 74 72 22 3e 26 71 75 6f 74 3b 65 n>.<span.class="tok-str">&quot;e
5ba60 78 68 61 75 73 74 69 76 65 20 73 77 69 74 63 68 69 6e 67 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e xhaustive.switching&quot;</span>
5ba80 20 7b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 .{</span>.<span.class="line">...
5baa0 20 3c 73 70 61 6e 20 63 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
5bac0 6e 3e 20 63 6f 6c 6f 72 20 3d 20 43 6f 6c 6f 72 2e 6f 66 66 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 n>.color.=.Color.off;</span>.<sp
5bae0 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d an.class="line">....<span.class=
5bb00 22 74 6f 6b 2d 6b 77 22 3e 73 77 69 74 63 68 3c 2f 73 70 61 6e 3e 20 28 63 6f 6c 6f 72 29 20 7b "tok-kw">switch</span>.(color).{
5bb20 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 20 </span>.<span.class="line">.....
5bb40 20 20 20 43 6f 6c 6f 72 2e 61 75 74 6f 20 3d 26 67 74 3b 20 7b 7d 2c 3c 2f 73 70 61 6e 3e 0a 3c ...Color.auto.=&gt;.{},</span>.<
5bb60 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 20 20 20 20 43 6f 6c 6f 72 2e span.class="line">........Color.
5bb80 6f 6e 20 3d 26 67 74 3b 20 7b 7d 2c 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d on.=&gt;.{},</span>.<span.class=
5bba0 22 6c 69 6e 65 22 3e 20 20 20 20 7d 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d "line">....}</span>.<span.class=
5bbc0 22 6c 69 6e 65 22 3e 7d 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 3c 2f 70 72 65 3e 3c 2f 66 69 "line">}</span></code></pre></fi
5bbe0 67 75 72 65 3e 3c 66 69 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="
5bc00 73 68 65 6c 6c 2d 63 61 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
5bc20 65 3e 3c 73 61 6d 70 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 24 20 3c 6b 62 e><samp><span.class="line">$.<kb
5bc40 64 3e 7a 69 67 20 74 65 73 74 20 74 65 73 74 2e 7a 69 67 3c 2f 6b 62 64 3e 3c 2f 73 70 61 6e 3e d>zig.test.test.zig</kbd></span>
5bc60 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d .<span.class="line"><span.class=
5bc80 22 74 31 5f 30 22 3e 64 6f 63 67 65 6e 5f 74 6d 70 2f 74 65 73 74 2e 7a 69 67 3a 39 3a 35 3a 20 "t1_0">docgen_tmp/test.zig:9:5:.
5bca0 3c 2f 73 70 61 6e 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 33 31 5f 31 22 3e 65 72 72 6f 72 </span><span.class="t31_1">error
5bcc0 3a 20 3c 2f 73 70 61 6e 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 31 5f 30 22 3e 73 77 69 74 :.</span><span.class="t1_0">swit
5bce0 63 68 20 6d 75 73 74 20 68 61 6e 64 6c 65 20 61 6c 6c 20 70 6f 73 73 69 62 69 6c 69 74 69 65 73 ch.must.handle.all.possibilities
5bd00 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 2f 73 70 61 </span>.<span.class="line"></spa
5bd20 6e 3e 20 20 20 20 73 77 69 74 63 68 20 28 63 6f 6c 6f 72 29 20 7b 3c 2f 73 70 61 6e 3e 0a 3c 73 n>....switch.(color).{</span>.<s
5bd40 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 pan.class="line">....<span.class
5bd60 3d 22 74 33 32 5f 31 22 3e 5e 7e 7e 7e 7e 7e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 ="t32_1">^~~~~~</span>.<span.cla
5bd80 73 73 3d 22 6c 69 6e 65 22 3e 3c 2f 73 70 61 6e 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 31 ss="line"></span><span.class="t1
5bda0 5f 30 22 3e 64 6f 63 67 65 6e 5f 74 6d 70 2f 74 65 73 74 2e 7a 69 67 3a 33 3a 35 3a 20 3c 2f 73 _0">docgen_tmp/test.zig:3:5:.</s
5bdc0 70 61 6e 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 33 36 5f 31 22 3e 6e 6f 74 65 3a 20 3c 2f pan><span.class="t36_1">note:.</
5bde0 73 70 61 6e 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 31 5f 30 22 3e 75 6e 68 61 6e 64 6c 65 span><span.class="t1_0">unhandle
5be00 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 3c 2f 73 70 61 6e d.enumeration.value:.'off'</span
5be20 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 2f 73 70 61 6e 3e 20 20 20 20 >.<span.class="line"></span>....
5be40 6f 66 66 2c 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 off,</span>.<span.class="line">.
5be60 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 33 32 5f 31 22 3e 5e 7e 7e 3c 2f 73 70 61 6e ...<span.class="t32_1">^~~</span
5be80 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 2f 73 70 61 6e 3e 3c 73 70 61 >.<span.class="line"></span><spa
5bea0 6e 20 63 6c 61 73 73 3d 22 74 31 5f 30 22 3e 64 6f 63 67 65 6e 5f 74 6d 70 2f 74 65 73 74 2e 7a n.class="t1_0">docgen_tmp/test.z
5bec0 69 67 3a 31 3a 31 35 3a 20 3c 2f 73 70 61 6e 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 33 36 ig:1:15:.</span><span.class="t36
5bee0 5f 31 22 3e 6e 6f 74 65 3a 20 3c 2f 73 70 61 6e 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 31 _1">note:.</span><span.class="t1
5bf00 5f 30 22 3e 65 6e 75 6d 20 27 74 65 73 74 2e 43 6f 6c 6f 72 27 20 64 65 63 6c 61 72 65 64 20 68 _0">enum.'test.Color'.declared.h
5bf20 65 72 65 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 2f ere</span>.<span.class="line"></
5bf40 73 70 61 6e 3e 63 6f 6e 73 74 20 43 6f 6c 6f 72 20 3d 20 65 6e 75 6d 20 7b 3c 2f 73 70 61 6e 3e span>const.Color.=.enum.{</span>
5bf60 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 20 20 20 20 20 20 20 20 .<span.class="line">............
5bf80 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 33 32 5f 31 22 3e 5e 7e 7e 7e 3c 2f 73 70 61 6e ..<span.class="t32_1">^~~~</span
5bfa0 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 2f 73 70 61 6e 3e 3c 2f 73 70 >.<span.class="line"></span></sp
5bfc0 61 6e 3e 0a 3c 2f 73 61 6d 70 3e 3c 2f 70 72 65 3e 3c 2f 66 69 67 75 72 65 3e 0a 20 20 20 20 20 an>.</samp></pre></figure>......
5bfe0 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 69 74 68 2d .........<h3.id="Switching-with-
5c000 45 6e 75 6d 2d 4c 69 74 65 72 61 6c 73 22 3e 3c 61 20 68 72 65 66 3d 22 23 74 6f 63 2d 53 77 69 Enum-Literals"><a.href="#toc-Swi
5c020 74 63 68 69 6e 67 2d 77 69 74 68 2d 45 6e 75 6d 2d 4c 69 74 65 72 61 6c 73 22 3e 53 77 69 74 63 tching-with-Enum-Literals">Switc
5c040 68 69 6e 67 20 77 69 74 68 20 45 6e 75 6d 20 4c 69 74 65 72 61 6c 73 3c 2f 61 3e 20 3c 61 20 63 hing.with.Enum.Literals</a>.<a.c
5c060 6c 61 73 73 3d 22 68 64 72 22 20 68 72 65 66 3d 22 23 53 77 69 74 63 68 69 6e 67 2d 77 69 74 68 lass="hdr".href="#Switching-with
5c080 2d 45 6e 75 6d 2d 4c 69 74 65 72 61 6c 73 22 3e c2 a7 3c 2f 61 3e 3c 2f 68 33 3e 0a 0a 20 20 20 -Enum-Literals">..</a></h3>.....
5c0a0 20 20 20 3c 70 3e 0a 20 20 20 20 20 20 3c 61 20 68 72 65 66 3d 22 23 45 6e 75 6d 2d 4c 69 74 65 ...<p>.......<a.href="#Enum-Lite
5c0c0 72 61 6c 73 22 3e 45 6e 75 6d 20 4c 69 74 65 72 61 6c 73 3c 2f 61 3e 20 63 61 6e 20 62 65 20 75 rals">Enum.Literals</a>.can.be.u
5c0e0 73 65 66 75 6c 20 74 6f 20 75 73 65 20 77 69 74 68 20 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c seful.to.use.with.<code><span.cl
5c100 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e ass="line"><span.class="tok-kw">
5c120 73 77 69 74 63 68 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 20 74 6f 20 61 switch</span></span></code>.to.a
5c140 76 6f 69 64 0a 20 20 20 20 20 20 72 65 70 65 74 69 74 69 76 65 6c 79 20 73 70 65 63 69 66 79 69 void.......repetitively.specifyi
5c160 6e 67 20 3c 61 20 68 72 65 66 3d 22 23 65 6e 75 6d 22 3e 65 6e 75 6d 3c 2f 61 3e 20 6f 72 20 3c ng.<a.href="#enum">enum</a>.or.<
5c180 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 73 3a a.href="#union">union</a>.types:
5c1a0 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
5c1c0 70 74 69 6f 6e 20 63 6c 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
5c1e0 73 3d 22 66 69 6c 65 22 3e 74 65 73 74 5f 65 78 68 61 75 73 74 69 76 65 5f 73 77 69 74 63 68 2e s="file">test_exhaustive_switch.
5c200 7a 69 67 3c 2f 63 69 74 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
5c220 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 e><span.class="line"><span.class
5c240 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
5c260 61 6e 20 63 6c 61 73 73 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</
5c280 73 70 61 6e 3e 28 3c 73 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
5c2a0 74 3b 73 74 64 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 29 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 t;std&quot;</span>);</span>.<spa
5c2c0 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d n.class="line"><span.class="tok-
5c2e0 6b 77 22 3e 63 6f 6e 73 74 3c 2f 73 70 61 6e 3e 20 65 78 70 65 63 74 20 3d 20 73 74 64 2e 74 65 kw">const</span>.expect.=.std.te
5c300 73 74 69 6e 67 2e 65 78 70 65 63 74 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 sting.expect;</span>.<span.class
5c320 3d 22 6c 69 6e 65 22 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e ="line"></span>.<span.class="lin
5c340 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 63 6f 6e 73 74 3c 2f 73 e"><span.class="tok-kw">const</s
5c360 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
5c380 22 3e 65 6e 75 6d 3c 2f 73 70 61 6e 3e 20 7b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 ">enum</span>.{</span>.<span.cla
5c3a0 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 61 75 74 6f 2c 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e ss="line">....auto,</span>.<span
5c3c0 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 6f 66 66 2c 3c 2f 73 70 61 6e 3e 0a 3c 73 .class="line">....off,</span>.<s
5c3e0 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 6f 6e 2c 3c 2f 73 70 61 6e 3e 0a pan.class="line">....on,</span>.
5c400 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 7d 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 <span.class="line">};</span>.<sp
5c420 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c an.class="line"></span>.<span.cl
5c440 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e ass="line"><span.class="tok-kw">
5c460 74 65 73 74 3c 2f 73 70 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
5c480 22 3e 26 71 75 6f 74 3b 65 6e 75 6d 20 6c 69 74 65 72 61 6c 73 20 77 69 74 68 20 73 77 69 74 63 ">&quot;enum.literals.with.switc
5c4a0 68 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 20 7b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c h&quot;</span>.{</span>.<span.cl
5c4c0 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d ass="line">....<span.class="tok-
5c4e0 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 6f kw">const</span>.color.=.Color.o
5c500 66 66 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 ff;</span>.<span.class="line">..
5c520 20 20 3c 73 70 61 6e 20 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
5c540 61 6e 3e 20 72 65 73 75 6c 74 20 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 an>.result.=.<span.class="tok-kw
5c560 22 3e 73 77 69 74 63 68 3c 2f 73 70 61 6e 3e 20 28 63 6f 6c 6f 72 29 20 7b 3c 2f 73 70 61 6e 3e ">switch</span>.(color).{</span>
5c580 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 20 20 20 20 2e 61 75 74 .<span.class="line">.........aut
5c5a0 6f 20 3d 26 67 74 3b 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6c 6c 22 3e 66 o.=&gt;.<span.class="tok-null">f
5c5c0 61 6c 73 65 3c 2f 73 70 61 6e 3e 2c 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d alse</span>,</span>.<span.class=
5c5e0 22 6c 69 6e 65 22 3e 20 20 20 20 20 20 20 20 2e 6f 6e 20 3d 26 67 74 3b 20 3c 73 70 61 6e 20 63 "line">.........on.=&gt;.<span.c
5c600 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6c 6c 22 3e 66 61 6c 73 65 3c 2f 73 70 61 6e 3e 2c 3c 2f 73 lass="tok-null">false</span>,</s
5c620 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 20 20 20 20 pan>.<span.class="line">........
5c640 2e 6f 66 66 20 3d 26 67 74 3b 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6c 6c .off.=&gt;.<span.class="tok-null
5c660 22 3e 74 72 75 65 3c 2f 73 70 61 6e 3e 2c 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 ">true</span>,</span>.<span.clas
5c680 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 7d 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 s="line">....};</span>.<span.cla
5c6a0 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b ss="line">....<span.class="tok-k
5c6c0 77 22 3e 74 72 79 3c 2f 73 70 61 6e 3e 20 65 78 70 65 63 74 28 72 65 73 75 6c 74 29 3b 3c 2f 73 w">try</span>.expect(result);</s
5c6e0 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 7d 3c 2f 73 70 61 6e 3e pan>.<span.class="line">}</span>
5c700 3c 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
5c720 69 67 63 61 70 74 69 6f 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
5c740 6c 3c 2f 66 69 67 63 61 70 74 69 6f 6e 3e 3c 70 72 65 3e 3c 73 61 6d 70 3e 3c 73 70 61 6e 20 63 l</figcaption><pre><samp><span.c
5c760 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 24 20 3c 6b 62 64 3e 7a 69 67 20 74 65 73 74 20 74 65 73 74 lass="line">$.<kbd>zig.test.test
5c780 5f 65 78 68 61 75 73 74 69 76 65 5f 73 77 69 74 63 68 2e 7a 69 67 3c 2f 6b 62 64 3e 3c 2f 73 70 _exhaustive_switch.zig</kbd></sp
5c7a0 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 31 2f 31 20 74 65 73 74 2e an>.<span.class="line">1/1.test.
5c7c0 65 6e 75 6d 20 6c 69 74 65 72 61 6c 73 20 77 69 74 68 20 73 77 69 74 63 68 2e 2e 2e 20 4f 4b 3c enum.literals.with.switch....OK<
5c7e0 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 41 6c 6c 20 31 20 /span>.<span.class="line">All.1.
5c800 74 65 73 74 73 20 70 61 73 73 65 64 2e 3c 2f 73 70 61 6e 3e 0a 3c 2f 73 61 6d 70 3e 3c 2f 70 72 tests.passed.</span>.</samp></pr
5c820 65 3e 3c 2f 66 69 67 75 72 65 3e 0a 20 20 20 20 20 20 0a 0a 20 20 20 20 20 20 3c 68 33 20 69 64 e></figure>...............<h3.id
5c840 3d 22 49 6e 6c 69 6e 65 2d 73 77 69 74 63 68 22 3e 3c 61 20 68 72 65 66 3d 22 23 74 6f 63 2d 49 ="Inline-switch"><a.href="#toc-I
5c860 6e 6c 69 6e 65 2d 73 77 69 74 63 68 22 3e 49 6e 6c 69 6e 65 20 73 77 69 74 63 68 3c 2f 61 3e 20 nline-switch">Inline.switch</a>.
5c880 3c 61 20 63 6c 61 73 73 3d 22 68 64 72 22 20 68 72 65 66 3d 22 23 49 6e 6c 69 6e 65 2d 73 77 69 <a.class="hdr".href="#Inline-swi
5c8a0 74 63 68 22 3e c2 a7 3c 2f 61 3e 3c 2f 68 33 3e 0a 0a 20 20 20 20 20 20 3c 70 3e 0a 20 20 20 20 tch">..</a></h3>........<p>.....
5c8c0 20 20 53 77 69 74 63 68 20 70 72 6f 6e 67 73 20 63 61 6e 20 62 65 20 6d 61 72 6b 65 64 20 61 73 ..Switch.prongs.can.be.marked.as
5c8e0 20 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 .<code><span.class="line"><span.
5c900 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 69 6e 6c 69 6e 65 3c 2f 73 70 61 6e 3e 3c 2f 73 70 class="tok-kw">inline</span></sp
5c920 61 6e 3e 3c 2f 63 6f 64 65 3e 20 74 6f 20 67 65 6e 65 72 61 74 65 0a 20 20 20 20 20 20 74 68 65 an></code>.to.generate.......the
5c940 20 70 72 6f 6e 67 27 73 20 62 6f 64 79 20 66 6f 72 20 65 61 63 68 20 70 6f 73 73 69 62 6c 65 20 .prong's.body.for.each.possible.
5c960 76 61 6c 75 65 20 69 74 20 63 6f 75 6c 64 20 68 61 76 65 3a 0a 20 20 20 20 20 20 3c 2f 70 3e 0a value.it.could.have:.......</p>.
5c980 20 20 20 20 20 20 3c 66 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=
5c9a0 22 7a 69 67 2d 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
5c9c0 74 5f 69 6e 6c 69 6e 65 5f 73 77 69 74 63 68 2e 7a 69 67 3c 2f 63 69 74 65 3e 3c 2f 66 69 67 63 t_inline_switch.zig</cite></figc
5c9e0 61 70 74 69 6f 6e 3e 3c 70 72 65 3e 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c aption><pre><code><span.class="l
5ca00 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 63 6f 6e 73 74 3c ine"><span.class="tok-kw">const<
5ca20 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
5ca40 69 6c 74 69 6e 22 3e 40 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
5ca60 73 3d 22 74 6f 6b 2d 73 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
5ca80 6e 3e 29 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c n>);</span>.<span.class="line"><
5caa0 73 70 61 6e 20 63 6c 61 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>
5cac0 20 65 78 70 65 63 74 20 3d 20 73 74 64 2e 74 65 73 74 69 6e 67 2e 65 78 70 65 63 74 3b 3c 2f 73 .expect.=.std.testing.expect;</s
5cae0 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c pan>.<span.class="line"><span.cl
5cb00 61 73 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
5cb20 45 72 72 6f 72 20 3d 20 73 74 64 2e 74 65 73 74 69 6e 67 2e 65 78 70 65 63 74 45 72 72 6f 72 3b Error.=.std.testing.expectError;
5cb40 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 2f 73 70 61 </span>.<span.class="line"></spa
5cb60 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 n>.<span.class="line"><span.clas
5cb80 73 3d 22 74 6f 6b 2d 6b 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
5cba0 3d 22 74 6f 6b 2d 66 6e 22 3e 69 73 46 69 65 6c 64 4f 70 74 69 6f 6e 61 6c 3c 2f 73 70 61 6e 3e ="tok-fn">isFieldOptional</span>
5cbc0 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</
5cbe0 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">
5cc00 74 79 70 65 3c 2f 73 70 61 6e 3e 2c 20 66 69 65 6c 64 5f 69 6e 64 65 78 3a 20 3c 73 70 61 6e 20 type</span>,.field_index:.<span.
5cc20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 75 73 69 7a 65 3c 2f 73 70 61 6e 3e 29 20 21 class="tok-type">usize</span>).!
5cc40 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
5cc60 6e 3e 20 7b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 n>.{</span>.<span.class="line">.
5cc80 20 20 20 3c 73 70 61 6e 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
5cca0 70 61 6e 3e 20 66 69 65 6c 64 73 20 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 62 pan>.fields.=.<span.class="tok-b
5ccc0 75 69 6c 74 69 6e 22 3e 40 74 79 70 65 49 6e 66 6f 3c 2f 73 70 61 6e 3e 28 54 29 2e 53 74 72 75 uiltin">@typeInfo</span>(T).Stru
5cce0 63 74 2e 66 69 65 6c 64 73 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c ct.fields;</span>.<span.class="l
5cd00 69 6e 65 22 3e 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 72 65 ine">....<span.class="tok-kw">re
5cd20 74 75 72 6e 3c 2f 73 70 61 6e 3e 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 turn</span>.<span.class="tok-kw"
5cd40 3e 73 77 69 74 63 68 3c 2f 73 70 61 6e 3e 20 28 66 69 65 6c 64 5f 69 6e 64 65 78 29 20 7b 3c 2f >switch</span>.(field_index).{</
5cd60 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 20 20 20 span>.<span.class="line">.......
5cd80 20 3c 73 70 61 6e 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
5cda0 69 73 20 70 72 6f 6e 67 20 69 73 20 61 6e 61 6c 79 7a 65 64 20 60 66 69 65 6c 64 73 2e 6c 65 6e is.prong.is.analyzed.`fields.len
5cdc0 20 2d 20 31 60 20 74 69 6d 65 73 20 77 69 74 68 20 60 69 64 78 60 20 62 65 69 6e 67 20 61 6e 3c .-.1`.times.with.`idx`.being.an<
5cde0 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 /span></span>.<span.class="line"
5ce00 3e 20 20 20 20 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 63 6f 6d 6d 65 6e >........<span.class="tok-commen
5ce20 74 22 3e 2f 2f 20 75 6e 69 71 75 65 20 63 6f 6d 70 74 69 6d 65 20 6b 6e 6f 77 6e 20 76 61 6c 75 t">//.unique.comptime.known.valu
5ce40 65 20 65 61 63 68 20 74 69 6d 65 2e 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e e.each.time.</span></span>.<span
5ce60 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 .class="line">........<span.clas
5ce80 73 3d 22 74 6f 6b 2d 6b 77 22 3e 69 6e 6c 69 6e 65 3c 2f 73 70 61 6e 3e 20 3c 73 70 61 6e 20 63 s="tok-kw">inline</span>.<span.c
5cea0 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 30 3c 2f 73 70 61 6e 3e 2e 2e 2e 66 69 65 lass="tok-number">0</span>...fie
5cec0 6c 64 73 2e 6c 65 6e 20 2d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 lds.len.-.<span.class="tok-numbe
5cee0 72 22 3e 31 3c 2f 73 70 61 6e 3e 20 3d 26 67 74 3b 20 7c 69 64 78 7c 20 3c 73 70 61 6e 20 63 6c r">1</span>.=&gt;.|idx|.<span.cl
5cf00 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
5cf20 6e 3e 28 66 69 65 6c 64 73 5b 69 64 78 5d 2e 66 69 65 6c 64 5f 74 79 70 65 29 20 3d 3d 20 2e 4f n>(fields[idx].field_type).==..O
5cf40 70 74 69 6f 6e 61 6c 2c 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e ptional,</span>.<span.class="lin
5cf60 65 22 3e 20 20 20 20 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e e">........<span.class="tok-kw">
5cf80 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
5cfa0 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
5cfc0 3d 22 74 6f 6b 2d 6b 77 22 3e 65 72 72 6f 72 3c 2f 73 70 61 6e 3e 2e 49 6e 64 65 78 4f 75 74 4f ="tok-kw">error</span>.IndexOutO
5cfe0 66 42 6f 75 6e 64 73 2c 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e fBounds,</span>.<span.class="lin
5d000 65 22 3e 20 20 20 20 7d 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 e">....};</span>.<span.class="li
5d020 6e 65 22 3e 7d 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e ne">}</span>.<span.class="line">
5d040 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e </span>.<span.class="line"><span
5d060 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 63 6f 6e 73 74 3c 2f 73 70 61 6e 3e 20 53 74 72 .class="tok-kw">const</span>.Str
5d080 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 3e 73 74 72 75 uct1.=.<span.class="tok-kw">stru
5d0a0 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 22 74 6f 6b 2d ct</span>.{.a:.<span.class="tok-
5d0c0 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 20 63 6c 61 73 type">u32</span>,.b:.?<span.clas
5d0e0 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 3c 2f 73 70 61 6e s="tok-type">u32</span>.};</span
5d100 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 >.<span.class="line"></span>.<sp
5d120 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b an.class="line"><span.class="tok
5d140 2d 6b 77 22 3e 74 65 73 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
5d160 6b 2d 73 74 72 22 3e 26 71 75 6f 74 3b 75 73 69 6e 67 20 40 74 79 70 65 49 6e 66 6f 20 77 69 74 k-str">&quot;using.@typeInfo.wit
5d180 68 20 72 75 6e 74 69 6d 65 20 76 61 6c 75 65 73 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 20 7b 3c h.runtime.values&quot;</span>.{<
5d1a0 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 3c 73 /span>.<span.class="line">....<s
5d1c0 70 61 6e 20 63 6c 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 pan.class="tok-kw">var</span>.in
5d1e0 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
5d200 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
5d220 65 72 22 3e 30 3c 2f 73 70 61 6e 3e 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 er">0</span>;</span>.<span.class
5d240 3d 22 6c 69 6e 65 22 3e 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 ="line">....<span.class="tok-kw"
5d260 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 73 73 3d >try</span>.expect(!<span.class=
5d280 22 74 6f 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 "tok-kw">try</span>.isFieldOptio
5d2a0 6e 61 6c 28 53 74 72 75 63 74 31 2c 20 69 6e 64 65 78 29 29 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 nal(Struct1,.index));</span>.<sp
5d2c0 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 69 6e 64 65 78 20 2b 3d 20 3c 73 70 an.class="line">....index.+=.<sp
5d2e0 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 31 3c 2f 73 70 61 6e 3e 3b 3c an.class="tok-number">1</span>;<
5d300 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 3c 73 /span>.<span.class="line">....<s
5d320 70 61 6e 20 63 6c 61 73 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
5d340 70 65 63 74 28 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 74 72 79 3c 2f 73 pect(<span.class="tok-kw">try</s
5d360 70 61 6e 3e 20 69 73 46 69 65 6c 64 4f 70 74 69 6f 6e 61 6c 28 53 74 72 75 63 74 31 2c 20 69 6e pan>.isFieldOptional(Struct1,.in
5d380 64 65 78 29 29 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 dex));</span>.<span.class="line"
5d3a0 3e 20 20 20 20 69 6e 64 65 78 20 2b 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e >....index.+=.<span.class="tok-n
5d3c0 75 6d 62 65 72 22 3e 31 3c 2f 73 70 61 6e 3e 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c umber">1</span>;</span>.<span.cl
5d3e0 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d ass="line">....<span.class="tok-
5d400 6b 77 22 3e 74 72 79 3c 2f 73 70 61 6e 3e 20 65 78 70 65 63 74 45 72 72 6f 72 28 3c 73 70 61 6e kw">try</span>.expectError(<span
5d420 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 65 72 72 6f 72 3c 2f 73 70 61 6e 3e 2e 49 6e 64 .class="tok-kw">error</span>.Ind
5d440 65 78 4f 75 74 4f 66 42 6f 75 6e 64 73 2c 20 69 73 46 69 65 6c 64 4f 70 74 69 6f 6e 61 6c 28 53 exOutOfBounds,.isFieldOptional(S
5d460 74 72 75 63 74 31 2c 20 69 6e 64 65 78 29 29 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c truct1,.index));</span>.<span.cl
5d480 61 73 73 3d 22 6c 69 6e 65 22 3e 7d 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d ass="line">}</span>.<span.class=
5d4a0 22 6c 69 6e 65 22 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 "line"></span>.<span.class="line
5d4c0 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 63 6f 6d 6d 65 6e 74 22 3e 2f 2f 20 43 "><span.class="tok-comment">//.C
5d4e0 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 20 6f 6e 20 60 53 74 alls.to.`isFieldOptional`.on.`St
5d500 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 20 65 71 75 69 76 61 ruct1`.get.unrolled.to.an.equiva
5d520 6c 65 6e 74 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 lent</span></span>.<span.class="
5d540 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 63 6f 6d 6d 65 6e 74 22 3e line"><span.class="tok-comment">
5d560 2f 2f 20 6f 66 20 74 68 69 73 20 66 75 6e 63 74 69 6f 6e 3a 20 3c 2f 73 70 61 6e 3e 3c 2f 73 70 //.of.this.function:.</span></sp
5d580 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 an>.<span.class="line"><span.cla
5d5a0 73 73 3d 22 74 6f 6b 2d 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
5d5c0 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 55 6e 72 6f 6c 6c s="tok-fn">isFieldOptionalUnroll
5d5e0 65 64 3c 2f 73 70 61 6e 3e 28 66 69 65 6c 64 5f 69 6e 64 65 78 3a 20 3c 73 70 61 6e 20 63 6c 61 ed</span>(field_index:.<span.cla
5d600 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 75 73 69 7a 65 3c 2f 73 70 61 6e 3e 29 20 21 3c 73 70 ss="tok-type">usize</span>).!<sp
5d620 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>.
5d640 7b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 {</span>.<span.class="line">....
5d660 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
5d680 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 2f n>.<span.class="tok-kw">switch</
5d6a0 73 70 61 6e 3e 20 28 66 69 65 6c 64 5f 69 6e 64 65 78 29 20 7b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 span>.(field_index).{</span>.<sp
5d6c0 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 20 20 20 20 3c 73 70 61 6e 20 63 6c an.class="line">........<span.cl
5d6e0 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 30 3c 2f 73 70 61 6e 3e 20 3d 26 67 74 3b 20 ass="tok-number">0</span>.=&gt;.
5d700 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
5d720 61 6e 3e 2c 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 an>,</span>.<span.class="line">.
5d740 20 20 20 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e .......<span.class="tok-number">
5d760 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 74 6f 6b 2d 1</span>.=&gt;.<span.class="tok-
5d780 6e 75 6c 6c 22 3e 74 72 75 65 3c 2f 73 70 61 6e 3e 2c 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 null">true</span>,</span>.<span.
5d7a0 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 class="line">........<span.class
5d7c0 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
5d7e0 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>.<
5d800 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>
5d820 2e 49 6e 64 65 78 4f 75 74 4f 66 42 6f 75 6e 64 73 2c 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 .IndexOutOfBounds,</span>.<span.
5d840 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 7d 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e class="line">....};</span>.<span
5d860 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 7d 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 3c 2f 70 .class="line">}</span></code></p
5d880 72 65 3e 3c 2f 66 69 67 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.
5d8a0 63 6c 61 73 73 3d 22 73 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
5d8c0 69 6f 6e 3e 3c 70 72 65 3e 3c 73 61 6d 70 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 ion><pre><samp><span.class="line
5d8e0 22 3e 24 20 3c 6b 62 64 3e 7a 69 67 20 74 65 73 74 20 74 65 73 74 5f 69 6e 6c 69 6e 65 5f 73 77 ">$.<kbd>zig.test.test_inline_sw
5d900 69 74 63 68 2e 7a 69 67 3c 2f 6b 62 64 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 itch.zig</kbd></span>.<span.clas
5d920 73 3d 22 6c 69 6e 65 22 3e 31 2f 31 20 74 65 73 74 2e 75 73 69 6e 67 20 40 74 79 70 65 49 6e 66 s="line">1/1.test.using.@typeInf
5d940 6f 20 77 69 74 68 20 72 75 6e 74 69 6d 65 20 76 61 6c 75 65 73 2e 2e 2e 20 4f 4b 3c 2f 73 70 61 o.with.runtime.values....OK</spa
5d960 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 41 6c 6c 20 31 20 74 65 73 74 n>.<span.class="line">All.1.test
5d980 73 20 70 61 73 73 65 64 2e 3c 2f 73 70 61 6e 3e 0a 3c 2f 73 61 6d 70 3e 3c 2f 70 72 65 3e 3c 2f s.passed.</span>.</samp></pre></
5d9a0 66 69 67 75 72 65 3e 0a 20 20 20 20 20 20 3c 70 3e 0a 20 20 20 20 20 20 3c 63 6f 64 65 3e 3c 73 figure>.......<p>.......<code><s
5d9c0 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f pan.class="line"><span.class="to
5d9e0 6b 2d 6b 77 22 3e 69 6e 6c 69 6e 65 3c 2f 73 70 61 6e 3e 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d k-kw">inline</span>.<span.class=
5da00 22 74 6f 6b 2d 6b 77 22 3e 65 6c 73 65 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 "tok-kw">else</span></span></cod
5da20 65 3e 20 70 72 6f 6e 67 73 20 63 61 6e 20 62 65 20 75 73 65 64 20 61 73 20 61 20 74 79 70 65 20 e>.prongs.can.be.used.as.a.type.
5da40 73 61 66 65 0a 20 20 20 20 20 20 61 6c 74 65 72 6e 61 74 69 76 65 20 74 6f 20 3c 63 6f 64 65 3e safe.......alternative.to.<code>
5da60 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 <span.class="line"><span.class="
5da80 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
5daa0 73 3d 22 74 6f 6b 2d 6b 77 22 3e 66 6f 72 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 3c 2f 63 6f s="tok-kw">for</span></span></co
5dac0 64 65 3e 20 6c 6f 6f 70 73 3a 0a 20 20 20 20 20 20 3c 2f 70 3e 0a 20 20 20 20 20 20 3c 66 69 67 de>.loops:.......</p>.......<fig
5dae0 75 72 65 3e 3c 66 69 67 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">
5db00 3c 63 69 74 65 20 63 6c 61 73 73 3d 22 66 69 6c 65 22 3e 74 65 73 74 5f 69 6e 6c 69 6e 65 5f 65 <cite.class="file">test_inline_e
5db20 6c 73 65 2e 7a 69 67 3c 2f 63 69 74 65 3e 3c 2f 66 69 67 63 61 70 74 69 6f 6e 3e 3c 70 72 65 3e lse.zig</cite></figcaption><pre>
5db40 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 <code><span.class="line"><span.c
5db60 6c 61 73 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.=
5db80 20 3c 73 70 61 6e 20 63 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
5dba0 72 74 3c 2f 73 70 61 6e 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">
5dbc0 26 71 75 6f 74 3b 73 74 64 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 29 3b 3c 2f 73 70 61 6e 3e 0a &quot;std&quot;</span>);</span>.
5dbe0 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 <span.class="line"><span.class="
5dc00 74 6f 6b 2d 6b 77 22 3e 63 6f 6e 73 74 3c 2f 73 70 61 6e 3e 20 65 78 70 65 63 74 20 3d 20 73 74 tok-kw">const</span>.expect.=.st
5dc20 64 2e 74 65 73 74 69 6e 67 2e 65 78 70 65 63 74 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 d.testing.expect;</span>.<span.c
5dc40 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d lass="line"></span>.<span.class=
5dc60 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 63 6f 6e 73 "line"><span.class="tok-kw">cons
5dc80 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 73 t</span>.SliceTypeA.=.<span.clas
5dca0 73 3d 22 74 6f 6b 2d 6b 77 22 3e 65 78 74 65 72 6e 3c 2f 73 70 61 6e 3e 20 3c 73 70 61 6e 20 63 s="tok-kw">extern</span>.<span.c
5dcc0 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 73 74 72 75 63 74 3c 2f 73 70 61 6e 3e 20 7b 3c 2f 73 lass="tok-kw">struct</span>.{</s
5dce0 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 6c 65 6e 3a pan>.<span.class="line">....len:
5dd00 20 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
5dd20 70 61 6e 3e 2c 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e pan>,</span>.<span.class="line">
5dd40 20 20 20 20 70 74 72 3a 20 5b 2a 5d 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 ....ptr:.[*]<span.class="tok-typ
5dd60 65 22 3e 75 33 32 3c 2f 73 70 61 6e 3e 2c 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 e">u32</span>,</span>.<span.clas
5dd80 73 3d 22 6c 69 6e 65 22 3e 7d 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 s="line">};</span>.<span.class="
5dda0 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 63 6f 6e 73 74 line"><span.class="tok-kw">const
5ddc0 3c 2f 73 70 61 6e 3e 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 </span>.SliceTypeB.=.<span.class
5dde0 3d 22 74 6f 6b 2d 6b 77 22 3e 65 78 74 65 72 6e 3c 2f 73 70 61 6e 3e 20 3c 73 70 61 6e 20 63 6c ="tok-kw">extern</span>.<span.cl
5de00 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 73 74 72 75 63 74 3c 2f 73 70 61 6e 3e 20 7b 3c 2f 73 70 ass="tok-kw">struct</span>.{</sp
5de20 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 70 74 72 3a 20 an>.<span.class="line">....ptr:.
5de40 5b 2a 5d 53 6c 69 63 65 54 79 70 65 41 2c 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 [*]SliceTypeA,</span>.<span.clas
5de60 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 6c 65 6e 3a 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 s="line">....len:.<span.class="t
5de80 6f 6b 2d 74 79 70 65 22 3e 75 73 69 7a 65 3c 2f 73 70 61 6e 3e 2c 3c 2f 73 70 61 6e 3e 0a 3c 73 ok-type">usize</span>,</span>.<s
5dea0 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 7d 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e pan.class="line">};</span>.<span
5dec0 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b .class="line"><span.class="tok-k
5dee0 77 22 3e 63 6f 6e 73 74 3c 2f 73 70 61 6e 3e 20 41 6e 79 53 6c 69 63 65 20 3d 20 3c 73 70 61 6e w">const</span>.AnySlice.=.<span
5df00 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 70 .class="tok-kw">union</span>(<sp
5df20 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 7b an.class="tok-kw">enum</span>).{
5df40 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 61 </span>.<span.class="line">....a
5df60 3a 20 53 6c 69 63 65 54 79 70 65 41 2c 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 :.SliceTypeA,</span>.<span.class
5df80 3d 22 6c 69 6e 65 22 3e 20 20 20 20 62 3a 20 53 6c 69 63 65 54 79 70 65 42 2c 3c 2f 73 70 61 6e ="line">....b:.SliceTypeB,</span
5dfa0 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 63 3a 20 5b 5d 3c 73 >.<span.class="line">....c:.[]<s
5dfc0 70 61 6e 20 63 6c 61 73 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>.
5dfe0 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>
5e000 2c 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 ,</span>.<span.class="line">....
5e020 64 3a 20 5b 5d 41 6e 79 53 6c 69 63 65 2c 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 d:.[]AnySlice,</span>.<span.clas
5e040 73 3d 22 6c 69 6e 65 22 3e 7d 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 s="line">};</span>.<span.class="
5e060 6c 69 6e 65 22 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 line"></span>.<span.class="line"
5e080 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 66 6e 3c 2f 73 70 61 6e 3e 20 ><span.class="tok-kw">fn</span>.
5e0a0 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 66 6e 22 3e 77 69 74 68 46 6f 72 3c 2f 73 70 <span.class="tok-fn">withFor</sp
5e0c0 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 3d 22 an>(any:.AnySlice).<span.class="
5e0e0 74 6f 6b 2d 74 79 70 65 22 3e 75 73 69 7a 65 3c 2f 73 70 61 6e 3e 20 7b 3c 2f 73 70 61 6e 3e 0a tok-type">usize</span>.{</span>.
5e100 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 <span.class="line">....<span.cla
5e120 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 63 6f 6e 73 74 3c 2f 73 70 61 6e 3e 20 54 61 67 20 3d 20 3c ss="tok-kw">const</span>.Tag.=.<
5e140 73 70 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
5e160 66 6f 3c 2f 73 70 61 6e 3e 28 41 6e 79 53 6c 69 63 65 29 2e 55 6e 69 6f 6e 2e 74 61 67 5f 74 79 fo</span>(AnySlice).Union.tag_ty
5e180 70 65 2e 3f 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e pe.?;</span>.<span.class="line">
5e1a0 20 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<
5e1c0 2f 73 70 61 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<
5e1e0 2f 73 70 61 6e 3e 20 28 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 62 75 69 6c 74 69 6e /span>.(<span.class="tok-builtin
5e200 22 3e 40 74 79 70 65 49 6e 66 6f 3c 2f 73 70 61 6e 3e 28 54 61 67 29 2e 45 6e 75 6d 2e 66 69 65 ">@typeInfo</span>(Tag).Enum.fie
5e220 6c 64 73 29 20 7c 66 69 65 6c 64 7c 20 7b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 lds).|field|.{</span>.<span.clas
5e240 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f s="line">........<span.class="to
5e260 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 66 6f 72 60 20 k-comment">//.With.`inline.for`.
5e280 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 65 64 20 61 73 3c 2f the.function.gets.generated.as</
5e2a0 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e span></span>.<span.class="line">
5e2c0 20 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
5e2e0 22 3e 2f 2f 20 61 20 73 65 72 69 65 73 20 6f 66 20 60 69 66 60 20 73 74 61 74 65 6d 65 6e 74 73 ">//.a.series.of.`if`.statements
5e300 20 72 65 6c 79 69 6e 67 20 6f 6e 20 74 68 65 20 6f 70 74 69 6d 69 7a 65 72 3c 2f 73 70 61 6e 3e .relying.on.the.optimizer</span>
5e320 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 20 </span>.<span.class="line">.....
5e340 20 20 20 3c 73 70 61 6e 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">//.
5e360 74 6f 20 63 6f 6e 76 65 72 74 20 69 74 20 74 6f 20 61 20 73 77 69 74 63 68 2e 3c 2f 73 70 61 6e to.convert.it.to.a.switch.</span
5e380 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 ></span>.<span.class="line">....
5e3a0 20 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
5e3c0 6e 3e 20 28 66 69 65 6c 64 2e 76 61 6c 75 65 20 3d 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 n>.(field.value.==.<span.class="
5e3e0 74 6f 6b 2d 62 75 69 6c 74 69 6e 22 3e 40 65 6e 75 6d 54 6f 49 6e 74 3c 2f 73 70 61 6e 3e 28 61 tok-builtin">@enumToInt</span>(a
5e400 6e 79 29 29 20 7b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 ny)).{</span>.<span.class="line"
5e420 3e 20 20 20 20 20 20 20 20 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 >............<span.class="tok-kw
5e440 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
5e460 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 65 -builtin">@field</span>(any,.fie
5e480 6c 64 2e 6e 61 6d 65 29 2e 6c 65 6e 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 ld.name).len;</span>.<span.class
5e4a0 3d 22 6c 69 6e 65 22 3e 20 20 20 20 20 20 20 20 7d 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 ="line">........}</span>.<span.c
5e4c0 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 7d 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 lass="line">....}</span>.<span.c
5e4e0 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b lass="line">....<span.class="tok
5e500 2d 63 6f 6d 6d 65 6e 74 22 3e 2f 2f 20 57 68 65 6e 20 75 73 69 6e 67 20 60 69 6e 6c 69 6e 65 20 -comment">//.When.using.`inline.
5e520 66 6f 72 60 20 74 68 65 20 63 6f 6d 70 69 6c 65 72 20 64 6f 65 73 6e 27 74 20 6b 6e 6f 77 20 74 for`.the.compiler.doesn't.know.t
5e540 68 61 74 20 65 76 65 72 79 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c hat.every</span></span>.<span.cl
5e560 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d ass="line">....<span.class="tok-
5e580 63 6f 6d 6d 65 6e 74 22 3e 2f 2f 20 70 6f 73 73 69 62 6c 65 20 63 61 73 65 20 68 61 73 20 62 65 comment">//.possible.case.has.be
5e5a0 65 6e 20 68 61 6e 64 6c 65 64 20 72 65 71 75 69 72 69 6e 67 20 61 6e 20 65 78 70 6c 69 63 69 74 en.handled.requiring.an.explicit
5e5c0 20 60 75 6e 72 65 61 63 68 61 62 6c 65 60 2e 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 .`unreachable`.</span></span>.<s
5e5e0 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 pan.class="line">....<span.class
5e600 3d 22 74 6f 6b 2d 6b 77 22 3e 75 6e 72 65 61 63 68 61 62 6c 65 3c 2f 73 70 61 6e 3e 3b 3c 2f 73 ="tok-kw">unreachable</span>;</s
5e620 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 7d 3c 2f 73 70 61 6e 3e pan>.<span.class="line">}</span>
5e640 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 .<span.class="line"></span>.<spa
5e660 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d n.class="line"><span.class="tok-
5e680 6b 77 22 3e 66 6e 3c 2f 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
5e6a0 6e 22 3e 77 69 74 68 53 77 69 74 63 68 3c 2f 73 70 61 6e 3e 28 61 6e 79 3a 20 41 6e 79 53 6c 69 n">withSwitch</span>(any:.AnySli
5e6c0 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 75 73 69 7a 65 ce).<span.class="tok-type">usize
5e6e0 3c 2f 73 70 61 6e 3e 20 7b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 </span>.{</span>.<span.class="li
5e700 6e 65 22 3e 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 72 65 74 ne">....<span.class="tok-kw">ret
5e720 75 72 6e 3c 2f 73 70 61 6e 3e 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e urn</span>.<span.class="tok-kw">
5e740 73 77 69 74 63 68 3c 2f 73 70 61 6e 3e 20 28 61 6e 79 29 20 7b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 switch</span>.(any).{</span>.<sp
5e760 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 20 20 20 20 3c 73 70 61 6e 20 63 6c an.class="line">........<span.cl
5e780 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
5e7a0 65 20 65 6c 73 65 60 20 74 68 65 20 66 75 6e 63 74 69 6f 6e 20 69 73 20 65 78 70 6c 69 63 69 74 e.else`.the.function.is.explicit
5e7c0 6c 79 20 67 65 6e 65 72 61 74 65 64 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e ly.generated</span></span>.<span
5e7e0 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 .class="line">........<span.clas
5e800 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 69 72 65 s="tok-comment">//.as.the.desire
5e820 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 20 63 68 d.switch.and.the.compiler.can.ch
5e840 65 63 6b 20 74 68 61 74 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 eck.that</span></span>.<span.cla
5e860 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 ss="line">........<span.class="t
5e880 6f 6b 2d 63 6f 6d 6d 65 6e 74 22 3e 2f 2f 20 65 76 65 72 79 20 70 6f 73 73 69 62 6c 65 20 63 61 ok-comment">//.every.possible.ca
5e8a0 73 65 20 69 73 20 68 61 6e 64 6c 65 64 2e 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 se.is.handled.</span></span>.<sp
5e8c0 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 20 20 20 20 3c 73 70 61 6e 20 63 6c an.class="line">........<span.cl
5e8e0 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
5e900 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 65 6c 73 65 3c 2f 73 70 61 6e 3e 20 3d 26 67 74 .class="tok-kw">else</span>.=&gt
5e920 3b 20 7c 73 6c 69 63 65 7c 20 73 6c 69 63 65 2e 6c 65 6e 2c 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 ;.|slice|.slice.len,</span>.<spa
5e940 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 7d 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 n.class="line">....};</span>.<sp
5e960 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 7d 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 an.class="line">}</span>.<span.c
5e980 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d lass="line"></span>.<span.class=
5e9a0 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 74 65 73 74 "line"><span.class="tok-kw">test
5e9c0 3c 2f 73 70 61 6e 3e 20 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
5e9e0 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 20 65 6c 73 65 20 73 uot;inline.for.and.inline.else.s
5ea00 69 6d 69 6c 61 72 69 74 79 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 20 7b 3c 2f 73 70 61 6e 3e 0a imilarity&quot;</span>.{</span>.
5ea20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 <span.class="line">....<span.cla
5ea40 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 76 61 72 3c 2f 73 70 61 6e 3e 20 61 6e 79 20 3d 20 41 6e 79 ss="tok-kw">var</span>.any.=.Any
5ea60 53 6c 69 63 65 7b 20 2e 63 20 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 73 74 72 Slice{..c.=.<span.class="tok-str
5ea80 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 20 7d 3b 3c 2f 73 ">&quot;hello&quot;</span>.};</s
5eaa0 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 3c 73 70 61 pan>.<span.class="line">....<spa
5eac0 6e 20 63 6c 61 73 73 3d 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
5eae0 63 74 28 77 69 74 68 46 6f 72 28 61 6e 79 29 20 3d 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 ct(withFor(any).==.<span.class="
5eb00 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 35 3c 2f 73 70 61 6e 3e 29 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 tok-number">5</span>);</span>.<s
5eb20 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 pan.class="line">....<span.class
5eb40 3d 22 74 6f 6b 2d 6b 77 22 3e 74 72 79 3c 2f 73 70 61 6e 3e 20 65 78 70 65 63 74 28 77 69 74 68 ="tok-kw">try</span>.expect(with
5eb60 53 77 69 74 63 68 28 61 6e 79 29 20 3d 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d Switch(any).==.<span.class="tok-
5eb80 6e 75 6d 62 65 72 22 3e 35 3c 2f 73 70 61 6e 3e 29 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 number">5</span>);</span>.<span.
5eba0 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 7d 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 3c 2f 70 72 class="line">}</span></code></pr
5ebc0 65 3e 3c 2f 66 69 67 75 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
5ebe0 6c 61 73 73 3d 22 73 68 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
5ec00 6f 6e 3e 3c 70 72 65 3e 3c 73 61 6d 70 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 on><pre><samp><span.class="line"
5ec20 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 65 6c 73 >$.<kbd>zig.test.test_inline_els
5ec40 65 2e 7a 69 67 3c 2f 6b 62 64 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 e.zig</kbd></span>.<span.class="
5ec60 6c 69 6e 65 22 3e 31 2f 31 20 74 65 73 74 2e 69 6e 6c 69 6e 65 20 66 6f 72 20 61 6e 64 20 69 6e line">1/1.test.inline.for.and.in
5ec80 6c 69 6e 65 20 65 6c 73 65 20 73 69 6d 69 6c 61 72 69 74 79 2e 2e 2e 20 4f 4b 3c 2f 73 70 61 6e line.else.similarity....OK</span
5eca0 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 41 6c 6c 20 31 20 74 65 73 74 73 >.<span.class="line">All.1.tests
5ecc0 20 70 61 73 73 65 64 2e 3c 2f 73 70 61 6e 3e 0a 3c 2f 73 61 6d 70 3e 3c 2f 70 72 65 3e 3c 2f 66 .passed.</span>.</samp></pre></f
5ece0 69 67 75 72 65 3e 0a 20 20 20 20 20 20 3c 70 3e 0a 20 20 20 20 20 20 57 68 65 6e 20 75 73 69 6e igure>.......<p>.......When.usin
5ed00 67 20 61 6e 20 69 6e 6c 69 6e 65 20 70 72 6f 6e 67 20 73 77 69 74 63 68 69 6e 67 20 6f 6e 20 61 g.an.inline.prong.switching.on.a
5ed20 6e 20 75 6e 69 6f 6e 20 61 6e 20 61 64 64 69 74 69 6f 6e 61 6c 0a 20 20 20 20 20 20 63 61 70 74 n.union.an.additional.......capt
5ed40 75 72 65 20 63 61 6e 20 62 65 20 75 73 65 64 20 74 6f 20 6f 62 74 61 69 6e 20 74 68 65 20 75 6e ure.can.be.used.to.obtain.the.un
5ed60 69 6f 6e 27 73 20 65 6e 75 6d 20 74 61 67 20 76 61 6c 75 65 2e 0a 20 20 20 20 20 20 3c 2f 70 3e ion's.enum.tag.value........</p>
5ed80 0a 20 20 20 20 20 20 3c 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
5eda0 3d 22 7a 69 67 2d 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
5edc0 73 74 5f 69 6e 6c 69 6e 65 5f 73 77 69 74 63 68 5f 75 6e 69 6f 6e 5f 74 61 67 2e 7a 69 67 3c 2f st_inline_switch_union_tag.zig</
5ede0 63 69 74 65 3e 3c 2f 66 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
5ee00 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b an.class="line"><span.class="tok
5ee20 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
5ee40 61 73 73 3d 22 74 6f 6b 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>
5ee60 28 3c 73 70 61 6e 20 63 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
5ee80 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 29 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 &quot;</span>);</span>.<span.cla
5eea0 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 63 ss="line"><span.class="tok-kw">c
5eec0 6f 6e 73 74 3c 2f 73 70 61 6e 3e 20 65 78 70 65 63 74 20 3d 20 73 74 64 2e 74 65 73 74 69 6e 67 onst</span>.expect.=.std.testing
5eee0 2e 65 78 70 65 63 74 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e .expect;</span>.<span.class="lin
5ef00 65 22 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 e"></span>.<span.class="line"><s
5ef20 70 61 6e 20 63 6c 61 73 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>.
5ef40 55 20 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 75 6e 69 6f 6e 3c 2f U.=.<span.class="tok-kw">union</
5ef60 73 70 61 6e 3e 28 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 65 6e 75 6d 3c span>(<span.class="tok-kw">enum<
5ef80 2f 73 70 61 6e 3e 29 20 7b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 /span>).{</span>.<span.class="li
5efa0 6e 65 22 3e 20 20 20 20 61 3a 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 ne">....a:.<span.class="tok-type
5efc0 22 3e 75 33 32 3c 2f 73 70 61 6e 3e 2c 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 ">u32</span>,</span>.<span.class
5efe0 3d 22 6c 69 6e 65 22 3e 20 20 20 20 62 3a 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d ="line">....b:.<span.class="tok-
5f000 74 79 70 65 22 3e 66 33 32 3c 2f 73 70 61 6e 3e 2c 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 type">f32</span>,</span>.<span.c
5f020 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 7d 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 lass="line">};</span>.<span.clas
5f040 73 3d 22 6c 69 6e 65 22 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 s="line"></span>.<span.class="li
5f060 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 66 6e 3c 2f 73 70 61 ne"><span.class="tok-kw">fn</spa
5f080 6e 3e 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 66 6e 22 3e 67 65 74 4e 75 6d 3c 2f n>.<span.class="tok-fn">getNum</
5f0a0 73 70 61 6e 3e 28 75 3a 20 55 29 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 span>(u:.U).<span.class="tok-typ
5f0c0 65 22 3e 75 33 32 3c 2f 73 70 61 6e 3e 20 7b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 e">u32</span>.{</span>.<span.cla
5f0e0 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b ss="line">....<span.class="tok-k
5f100 77 22 3e 73 77 69 74 63 68 3c 2f 73 70 61 6e 3e 20 28 75 29 20 7b 3c 2f 73 70 61 6e 3e 0a 3c 73 w">switch</span>.(u).{</span>.<s
5f120 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 20 20 20 20 3c 73 70 61 6e 20 63 pan.class="line">........<span.c
5f140 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`
5f160 20 69 73 20 61 20 72 75 6e 74 69 6d 65 20 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
5f180 73 20 65 69 74 68 65 72 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 s.either</span></span>.<span.cla
5f1a0 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 ss="line">........<span.class="t
5f1c0 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 2e 62 60 20 61 6e ok-comment">//.`u.a`.or.`u.b`.an
5f1e0 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 20 6b 6e 6f 77 6e 20 d.`tag`.is.`u`'s.comptime.known.
5f200 74 61 67 20 76 61 6c 75 65 2e 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 tag.value.</span></span>.<span.c
5f220 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d lass="line">........<span.class=
5f240 22 74 6f 6b 2d 6b 77 22 3e 69 6e 6c 69 6e 65 3c 2f 73 70 61 6e 3e 20 3c 73 70 61 6e 20 63 6c 61 "tok-kw">inline</span>.<span.cla
5f260 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 7c 6e ss="tok-kw">else</span>.=&gt;.|n
5f280 75 6d 2c 20 74 61 67 7c 20 7b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c um,.tag|.{</span>.<span.class="l
5f2a0 69 6e 65 22 3e 20 20 20 20 20 20 20 20 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f ine">............<span.class="to
5f2c0 6b 2d 6b 77 22 3e 69 66 3c 2f 73 70 61 6e 3e 20 28 74 61 67 20 3d 3d 20 2e 62 29 20 7b 3c 2f 73 k-kw">if</span>.(tag.==..b).{</s
5f2e0 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 20 20 20 20 pan>.<span.class="line">........
5f300 20 20 20 20 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 72 65 74 ........<span.class="tok-kw">ret
5f320 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 69 6c urn</span>.<span.class="tok-buil
5f340 74 69 6e 22 3e 40 66 6c 6f 61 74 54 6f 49 6e 74 3c 2f 73 70 61 6e 3e 28 3c 73 70 61 6e 20 63 6c tin">@floatToInt</span>(<span.cl
5f360 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 6e 75 6d 29 3b ass="tok-type">u32</span>,.num);
5f380 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 20 </span>.<span.class="line">.....
5f3a0 20 20 20 20 20 20 20 7d 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e .......}</span>.<span.class="lin
5f3c0 65 22 3e 20 20 20 20 20 20 20 20 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d e">............<span.class="tok-
5f3e0 6b 77 22 3e 72 65 74 75 72 6e 3c 2f 73 70 61 6e 3e 20 6e 75 6d 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 kw">return</span>.num;</span>.<s
5f400 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 20 20 20 20 7d 3c 2f 73 70 61 6e pan.class="line">........}</span
5f420 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 7d 3c 2f 73 70 61 6e >.<span.class="line">....}</span
5f440 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 7d 3c 2f 73 70 61 6e 3e 0a 3c 73 >.<span.class="line">}</span>.<s
5f460 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 pan.class="line"></span>.<span.c
5f480 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 lass="line"><span.class="tok-kw"
5f4a0 3e 74 65 73 74 3c 2f 73 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
5f4c0 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 3c 2f 73 70 r">&quot;test&quot;</span>.{</sp
5f4e0 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 3c 73 70 61 6e an>.<span.class="line">....<span
5f500 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 76 61 72 3c 2f 73 70 61 6e 3e 20 75 20 3d 20 55 .class="tok-kw">var</span>.u.=.U
5f520 7b 20 2e 62 20 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e {..b.=.<span.class="tok-number">
5f540 34 32 3c 2f 73 70 61 6e 3e 20 7d 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 42</span>.};</span>.<span.class=
5f560 22 6c 69 6e 65 22 3e 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e "line">....<span.class="tok-kw">
5f580 74 72 79 3c 2f 73 70 61 6e 3e 20 65 78 70 65 63 74 28 67 65 74 4e 75 6d 28 75 29 20 3d 3d 20 3c try</span>.expect(getNum(u).==.<
5f5a0 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
5f5c0 3e 29 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 7d 3c >);</span>.<span.class="line">}<
5f5e0 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 3c 2f 70 72 65 3e 3c 2f 66 69 67 75 72 65 3e 3c 66 69 67 /span></code></pre></figure><fig
5f600 75 72 65 3e 3c 66 69 67 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
5f620 22 3e 53 68 65 6c 6c 3c 2f 66 69 67 63 61 70 74 69 6f 6e 3e 3c 70 72 65 3e 3c 73 61 6d 70 3e 3c ">Shell</figcaption><pre><samp><
5f640 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 24 20 3c 6b 62 64 3e 7a 69 67 20 74 65 73 span.class="line">$.<kbd>zig.tes
5f660 74 20 74 65 73 74 5f 69 6e 6c 69 6e 65 5f 73 77 69 74 63 68 5f 75 6e 69 6f 6e 5f 74 61 67 2e 7a t.test_inline_switch_union_tag.z
5f680 69 67 3c 2f 6b 62 64 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e ig</kbd></span>.<span.class="lin
5f6a0 65 22 3e 31 2f 31 20 74 65 73 74 2e 74 65 73 74 2e 2e 2e 20 4f 4b 3c 2f 73 70 61 6e 3e 0a 3c 73 e">1/1.test.test....OK</span>.<s
5f6c0 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 41 6c 6c 20 31 20 74 65 73 74 73 20 70 61 73 pan.class="line">All.1.tests.pas
5f6e0 73 65 64 2e 3c 2f 73 70 61 6e 3e 0a 3c 2f 73 61 6d 70 3e 3c 2f 70 72 65 3e 3c 2f 66 69 67 75 72 sed.</span>.</samp></pre></figur
5f700 65 3e 0a 20 20 20 20 20 20 3c 70 3e 53 65 65 20 61 6c 73 6f 3a 3c 2f 70 3e 3c 75 6c 3e 0a 3c 6c e>.......<p>See.also:</p><ul>.<l
5f720 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 65 i><a.href="#inline-while">inline
5f740 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 6e .while</a></li>.<li><a.href="#in
5f760 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 2f line-for">inline.for</a></li>.</
5f780 75 6c 3e 0a 0a 20 20 20 20 20 20 0a 20 20 20 20 20 20 0a 0a 20 20 20 20 20 20 3c 68 32 20 69 64 ul>.......................<h2.id
5f7a0 3d 22 77 68 69 6c 65 22 3e 3c 61 20 68 72 65 66 3d 22 23 74 6f 63 2d 77 68 69 6c 65 22 3e 77 68 ="while"><a.href="#toc-while">wh
5f7c0 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 77 68 ile</a>.<a.class="hdr".href="#wh
5f7e0 69 6c 65 22 3e c2 a7 3c 2f 61 3e 3c 2f 68 32 3e 0a 0a 20 20 20 20 20 20 3c 70 3e 0a 20 20 20 20 ile">..</a></h2>........<p>.....
5f800 20 20 41 20 77 68 69 6c 65 20 6c 6f 6f 70 20 69 73 20 75 73 65 64 20 74 6f 20 72 65 70 65 61 74 ..A.while.loop.is.used.to.repeat
5f820 65 64 6c 79 20 65 78 65 63 75 74 65 20 61 6e 20 65 78 70 72 65 73 73 69 6f 6e 20 75 6e 74 69 6c edly.execute.an.expression.until
5f840 0a 20 20 20 20 20 20 73 6f 6d 65 20 63 6f 6e 64 69 74 69 6f 6e 20 69 73 20 6e 6f 20 6c 6f 6e 67 .......some.condition.is.no.long
5f860 65 72 20 74 72 75 65 2e 0a 20 20 20 20 20 20 3c 2f 70 3e 0a 20 20 20 20 20 20 3c 66 69 67 75 72 er.true........</p>.......<figur
5f880 65 3e 3c 66 69 67 63 61 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
5f8a0 69 74 65 20 63 6c 61 73 73 3d 22 66 69 6c 65 22 3e 77 68 69 6c 65 2e 7a 69 67 3c 2f 63 69 74 65 ite.class="file">while.zig</cite
5f8c0 3e 3c 2f 66 69 67 63 61 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
5f8e0 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 lass="line"><span.class="tok-kw"
5f900 3e 63 6f 6e 73 74 3c 2f 73 70 61 6e 3e 20 65 78 70 65 63 74 20 3d 20 3c 73 70 61 6e 20 63 6c 61 >const</span>.expect.=.<span.cla
5f920 73 73 3d 22 74 6f 6b 2d 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>(
5f940 3c 73 70 61 6e 20 63 6c 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&
5f960 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 29 2e 74 65 73 74 69 6e 67 2e 65 78 70 65 63 74 3b 3c 2f 73 quot;</span>).testing.expect;</s
5f980 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 2f 73 70 61 6e 3e 0a pan>.<span.class="line"></span>.
5f9a0 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 <span.class="line"><span.class="
5f9c0 74 6f 6b 2d 6b 77 22 3e 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=
5f9e0 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 71 75 6f 74 "tok-str">&quot;while.basic&quot
5fa00 3b 3c 2f 73 70 61 6e 3e 20 7b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c ;</span>.{</span>.<span.class="l
5fa20 69 6e 65 22 3e 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 76 61 ine">....<span.class="tok-kw">va
5fa40 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
5fa60 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
5fa80 6f 6b 2d 6e 75 6d 62 65 72 22 3e 30 3c 2f 73 70 61 6e 3e 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 ok-number">0</span>;</span>.<spa
5faa0 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 n.class="line">....<span.class="
5fac0 74 6f 6b 2d 6b 77 22 3e 77 68 69 6c 65 3c 2f 73 70 61 6e 3e 20 28 69 20 26 6c 74 3b 20 3c 73 70 tok-kw">while</span>.(i.&lt;.<sp
5fae0 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>)
5fb00 20 7b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 .{</span>.<span.class="line">...
5fb20 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
5fb40 72 22 3e 31 3c 2f 73 70 61 6e 3e 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d r">1</span>;</span>.<span.class=
5fb60 22 6c 69 6e 65 22 3e 20 20 20 20 7d 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d "line">....}</span>.<span.class=
5fb80 22 6c 69 6e 65 22 3e 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e "line">....<span.class="tok-kw">
5fba0 74 72 79 3c 2f 73 70 61 6e 3e 20 65 78 70 65 63 74 28 69 20 3d 3d 20 3c 73 70 61 6e 20 63 6c 61 try</span>.expect(i.==.<span.cla
5fbc0 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 31 30 3c 2f 73 70 61 6e 3e 29 3b 3c 2f 73 70 61 ss="tok-number">10</span>);</spa
5fbe0 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 7d 3c 2f 73 70 61 6e 3e 3c 2f n>.<span.class="line">}</span></
5fc00 63 6f 64 65 3e 3c 2f 70 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
5fc20 63 61 70 74 69 6f 6e 20 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<
5fc40 2f 66 69 67 63 61 70 74 69 6f 6e 3e 3c 70 72 65 3e 3c 73 61 6d 70 3e 3c 73 70 61 6e 20 63 6c 61 /figcaption><pre><samp><span.cla
5fc60 73 73 3d 22 6c 69 6e 65 22 3e 24 20 3c 6b 62 64 3e 7a 69 67 20 74 65 73 74 20 77 68 69 6c 65 2e ss="line">$.<kbd>zig.test.while.
5fc80 7a 69 67 3c 2f 6b 62 64 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 zig</kbd></span>.<span.class="li
5fca0 6e 65 22 3e 31 2f 31 20 74 65 73 74 2e 77 68 69 6c 65 20 62 61 73 69 63 2e 2e 2e 20 4f 4b 3c 2f ne">1/1.test.while.basic....OK</
5fcc0 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 41 6c 6c 20 31 20 74 span>.<span.class="line">All.1.t
5fce0 65 73 74 73 20 70 61 73 73 65 64 2e 3c 2f 73 70 61 6e 3e 0a 3c 2f 73 61 6d 70 3e 3c 2f 70 72 65 ests.passed.</span>.</samp></pre
5fd00 3e 3c 2f 66 69 67 75 72 65 3e 0a 20 20 20 20 20 20 3c 70 3e 0a 20 20 20 20 20 20 55 73 65 20 3c ></figure>.......<p>.......Use.<
5fd20 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c code><span.class="line"><span.cl
5fd40 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 62 72 65 61 6b 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e ass="tok-kw">break</span></span>
5fd60 3c 2f 63 6f 64 65 3e 20 74 6f 20 65 78 69 74 20 61 20 77 68 69 6c 65 20 6c 6f 6f 70 20 65 61 72 </code>.to.exit.a.while.loop.ear
5fd80 6c 79 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 ly........</p>.......<figure><fi
5fda0 67 63 61 70 74 69 6f 6e 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
5fdc0 6c 61 73 73 3d 22 66 69 6c 65 22 3e 77 68 69 6c 65 2e 7a 69 67 3c 2f 63 69 74 65 3e 3c 2f 66 69 lass="file">while.zig</cite></fi
5fde0 67 63 61 70 74 69 6f 6e 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=
5fe00 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 63 6f 6e 73 "line"><span.class="tok-kw">cons
5fe20 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
5fe40 6f 6b 2d 62 75 69 6c 74 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
5fe60 20 63 6c 61 73 73 3d 22 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;
5fe80 3c 2f 73 70 61 6e 3e 29 2e 74 65 73 74 69 6e 67 2e 65 78 70 65 63 74 3b 3c 2f 73 70 61 6e 3e 0a </span>).testing.expect;</span>.
5fea0 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e <span.class="line"></span>.<span
5fec0 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b .class="line"><span.class="tok-k
5fee0 77 22 3e 74 65 73 74 3c 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-
5ff00 73 74 72 22 3e 26 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 str">&quot;while.break&quot;</sp
5ff20 61 6e 3e 20 7b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e an>.{</span>.<span.class="line">
5ff40 20 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
5ff60 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
5ff80 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
5ffa0 6d 62 65 72 22 3e 30 3c 2f 73 70 61 6e 3e 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 mber">0</span>;</span>.<span.cla
5ffc0 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b ss="line">....<span.class="tok-k
5ffe0 77 22 3e 77 68 69 6c 65 3c 2f 73 70 61 6e 3e 20 28 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f w">while</span>.(<span.class="to
60000 6b 2d 6e 75 6c 6c 22 3e 74 72 75 65 3c 2f 73 70 61 6e 3e 29 20 7b 3c 2f 73 70 61 6e 3e 0a 3c 73 k-null">true</span>).{</span>.<s
60020 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 20 20 20 20 3c 73 70 61 6e 20 63 pan.class="line">........<span.c
60040 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 69 66 3c 2f 73 70 61 6e 3e 20 28 69 20 3d 3d 20 3c 73 lass="tok-kw">if</span>.(i.==.<s
60060 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>
60080 29 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 )</span>.<span.class="line">....
600a0 20 20 20 20 20 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
600c0 61 6b 3c 2f 73 70 61 6e 3e 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c ak</span>;</span>.<span.class="l
600e0 69 6e 65 22 3e 20 20 20 20 20 20 20 20 69 20 2b 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 ine">........i.+=.<span.class="t
60100 6f 6b 2d 6e 75 6d 62 65 72 22 3e 31 3c 2f 73 70 61 6e 3e 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 ok-number">1</span>;</span>.<spa
60120 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 7d 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 n.class="line">....}</span>.<spa
60140 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 n.class="line">....<span.class="
60160 74 6f 6b 2d 6b 77 22 3e 74 72 79 3c 2f 73 70 61 6e 3e 20 65 78 70 65 63 74 28 69 20 3d 3d 20 3c tok-kw">try</span>.expect(i.==.<
60180 73 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
601a0 3e 29 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 7d 3c >);</span>.<span.class="line">}<
601c0 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 3c 2f 70 72 65 3e 3c 2f 66 69 67 75 72 65 3e 3c 66 69 67 /span></code></pre></figure><fig
601e0 75 72 65 3e 3c 66 69 67 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
60200 22 3e 53 68 65 6c 6c 3c 2f 66 69 67 63 61 70 74 69 6f 6e 3e 3c 70 72 65 3e 3c 73 61 6d 70 3e 3c ">Shell</figcaption><pre><samp><
60220 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 24 20 3c 6b 62 64 3e 7a 69 67 20 74 65 73 span.class="line">$.<kbd>zig.tes
60240 74 20 77 68 69 6c 65 2e 7a 69 67 3c 2f 6b 62 64 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 t.while.zig</kbd></span>.<span.c
60260 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 31 2f 31 20 74 65 73 74 2e 77 68 69 6c 65 20 62 72 65 61 6b lass="line">1/1.test.while.break
60280 2e 2e 2e 20 4f 4b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 ....OK</span>.<span.class="line"
602a0 3e 41 6c 6c 20 31 20 74 65 73 74 73 20 70 61 73 73 65 64 2e 3c 2f 73 70 61 6e 3e 0a 3c 2f 73 61 >All.1.tests.passed.</span>.</sa
602c0 6d 70 3e 3c 2f 70 72 65 3e 3c 2f 66 69 67 75 72 65 3e 0a 20 20 20 20 20 20 3c 70 3e 0a 20 20 20 mp></pre></figure>.......<p>....
602e0 20 20 20 55 73 65 20 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e ...Use.<code><span.class="line">
60300 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
60320 70 61 6e 3e 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 20 74 6f 20 6a 75 6d 70 20 62 61 63 6b 20 pan></span></code>.to.jump.back.
60340 74 6f 20 74 68 65 20 62 65 67 69 6e 6e 69 6e 67 20 6f 66 20 74 68 65 20 6c 6f 6f 70 2e 0a 20 20 to.the.beginning.of.the.loop....
60360 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
60380 6f 6e 20 63 6c 61 73 73 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="
603a0 66 69 6c 65 22 3e 77 68 69 6c 65 2e 7a 69 67 3c 2f 63 69 74 65 3e 3c 2f 66 69 67 63 61 70 74 69 file">while.zig</cite></figcapti
603c0 6f 6e 3e 3c 70 72 65 3e 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 on><pre><code><span.class="line"
603e0 3e 3c 73 70 61 6e 20 63 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
60400 6e 3e 20 65 78 70 65 63 74 20 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 62 75 69 n>.expect.=.<span.class="tok-bui
60420 6c 74 69 6e 22 3e 40 69 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
60440 3d 22 74 6f 6b 2d 73 74 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
60460 3e 29 2e 74 65 73 74 69 6e 67 2e 65 78 70 65 63 74 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 >).testing.expect;</span>.<span.
60480 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 class="line"></span>.<span.class
604a0 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 74 65 73 ="line"><span.class="tok-kw">tes
604c0 74 3c 2f 73 70 61 6e 3e 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">&
604e0 71 75 6f 74 3b 77 68 69 6c 65 20 63 6f 6e 74 69 6e 75 65 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e quot;while.continue&quot;</span>
60500 20 7b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 .{</span>.<span.class="line">...
60520 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>
60540 20 69 3a 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 75 73 69 7a 65 .i:.<span.class="tok-type">usize
60560 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
60580 72 22 3e 30 3c 2f 73 70 61 6e 3e 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d r">0</span>;</span>.<span.class=
605a0 22 6c 69 6e 65 22 3e 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e "line">....<span.class="tok-kw">
605c0 77 68 69 6c 65 3c 2f 73 70 61 6e 3e 20 28 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e while</span>.(<span.class="tok-n
605e0 75 6c 6c 22 3e 74 72 75 65 3c 2f 73 70 61 6e 3e 29 20 7b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e ull">true</span>).{</span>.<span
60600 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 20 20 20 20 69 20 2b 3d 20 3c 73 70 61 6e .class="line">........i.+=.<span
60620 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 31 3c 2f 73 70 61 6e 3e 3b 3c 2f 73 .class="tok-number">1</span>;</s
60640 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 20 20 20 20 pan>.<span.class="line">........
60660 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 69 66 3c 2f 73 70 61 6e 3e 20 28 <span.class="tok-kw">if</span>.(
60680 69 20 26 6c 74 3b 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e i.&lt;.<span.class="tok-number">
606a0 31 30 3c 2f 73 70 61 6e 3e 29 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 10</span>)</span>.<span.class="l
606c0 69 6e 65 22 3e 20 20 20 20 20 20 20 20 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f ine">............<span.class="to
606e0 6b 2d 6b 77 22 3e 63 6f 6e 74 69 6e 75 65 3c 2f 73 70 61 6e 3e 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 k-kw">continue</span>;</span>.<s
60700 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 20 20 20 20 3c 73 70 61 6e 20 63 pan.class="line">........<span.c
60720 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 62 72 65 61 6b 3c 2f 73 70 61 6e 3e 3b 3c 2f 73 70 61 lass="tok-kw">break</span>;</spa
60740 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 7d 3c 2f 73 70 61 n>.<span.class="line">....}</spa
60760 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 3c 73 70 61 6e 20 n>.<span.class="line">....<span.
60780 63 6c 61 73 73 3d 22 74 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
607a0 28 69 20 3d 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 31 (i.==.<span.class="tok-number">1
607c0 30 3c 2f 73 70 61 6e 3e 29 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 0</span>);</span>.<span.class="l
607e0 69 6e 65 22 3e 7d 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 3c 2f 70 72 65 3e 3c 2f 66 69 67 75 ine">}</span></code></pre></figu
60800 72 65 3e 3c 66 69 67 75 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
60820 65 6c 6c 2d 63 61 70 22 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>
60840 3c 73 61 6d 70 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 24 20 3c 6b 62 64 3e <samp><span.class="line">$.<kbd>
60860 7a 69 67 20 74 65 73 74 20 77 68 69 6c 65 2e 7a 69 67 3c 2f 6b 62 64 3e 3c 2f 73 70 61 6e 3e 0a zig.test.while.zig</kbd></span>.
60880 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 31 2f 31 20 74 65 73 74 2e 77 68 69 6c <span.class="line">1/1.test.whil
608a0 65 20 63 6f 6e 74 69 6e 75 65 2e 2e 2e 20 4f 4b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c e.continue....OK</span>.<span.cl
608c0 61 73 73 3d 22 6c 69 6e 65 22 3e 41 6c 6c 20 31 20 74 65 73 74 73 20 70 61 73 73 65 64 2e 3c 2f ass="line">All.1.tests.passed.</
608e0 73 70 61 6e 3e 0a 3c 2f 73 61 6d 70 3e 3c 2f 70 72 65 3e 3c 2f 66 69 67 75 72 65 3e 0a 20 20 20 span>.</samp></pre></figure>....
60900 20 20 20 3c 70 3e 0a 20 20 20 20 20 20 57 68 69 6c 65 20 6c 6f 6f 70 73 20 73 75 70 70 6f 72 74 ...<p>.......While.loops.support
60920 20 61 20 63 6f 6e 74 69 6e 75 65 20 65 78 70 72 65 73 73 69 6f 6e 20 77 68 69 63 68 20 69 73 20 .a.continue.expression.which.is.
60940 65 78 65 63 75 74 65 64 20 77 68 65 6e 20 74 68 65 20 6c 6f 6f 70 0a 20 20 20 20 20 20 69 73 20 executed.when.the.loop.......is.
60960 63 6f 6e 74 69 6e 75 65 64 2e 20 54 68 65 20 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 continued..The.<code><span.class
60980 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 63 6f 6e ="line"><span.class="tok-kw">con
609a0 74 69 6e 75 65 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 20 6b 65 79 77 6f tinue</span></span></code>.keywo
609c0 72 64 20 72 65 73 70 65 63 74 73 20 74 68 69 73 20 65 78 70 72 65 73 73 69 6f 6e 2e 0a 20 20 20 rd.respects.this.expression.....
609e0 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
60a00 6e 20 63 6c 61 73 73 3d 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
60a20 69 6c 65 22 3e 77 68 69 6c 65 2e 7a 69 67 3c 2f 63 69 74 65 3e 3c 2f 66 69 67 63 61 70 74 69 6f ile">while.zig</cite></figcaptio
60a40 6e 3e 3c 70 72 65 3e 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e n><pre><code><span.class="line">
60a60 3c 73 70 61 6e 20 63 6c 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
60a80 3e 20 65 78 70 65 63 74 20 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 62 75 69 6c >.expect.=.<span.class="tok-buil
60aa0 74 69 6e 22 3e 40 69 6d 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=
60ac0 22 74 6f 6b 2d 73 74 72 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>
60ae0 29 2e 74 65 73 74 69 6e 67 2e 65 78 70 65 63 74 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 ).testing.expect;</span>.<span.c
60b00 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d lass="line"></span>.<span.class=
60b20 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 74 65 73 74 "line"><span.class="tok-kw">test
60b40 3c 2f 73 70 61 6e 3e 20 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
60b60 75 6f 74 3b 77 68 69 6c 65 20 6c 6f 6f 70 20 63 6f 6e 74 69 6e 75 65 20 65 78 70 72 65 73 73 69 uot;while.loop.continue.expressi
60b80 6f 6e 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 20 7b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 on&quot;</span>.{</span>.<span.c
60ba0 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b lass="line">....<span.class="tok
60bc0 2d 6b 77 22 3e 76 61 72 3c 2f 73 70 61 6e 3e 20 69 3a 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 -kw">var</span>.i:.<span.class="
60be0 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
60c00 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 30 3c 2f 73 70 61 6e 3e 3b 3c 2f 73 70 61 lass="tok-number">0</span>;</spa
60c20 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 3c 73 70 61 6e 20 n>.<span.class="line">....<span.
60c40 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 77 68 69 6c 65 3c 2f 73 70 61 6e 3e 20 28 69 20 26 class="tok-kw">while</span>.(i.&
60c60 6c 74 3b 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 31 30 3c lt;.<span.class="tok-number">10<
60c80 2f 73 70 61 6e 3e 29 20 3a 20 28 69 20 2b 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b /span>).:.(i.+=.<span.class="tok
60ca0 2d 6e 75 6d 62 65 72 22 3e 31 3c 2f 73 70 61 6e 3e 29 20 7b 7d 3c 2f 73 70 61 6e 3e 0a 3c 73 70 -number">1</span>).{}</span>.<sp
60cc0 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d an.class="line">....<span.class=
60ce0 22 74 6f 6b 2d 6b 77 22 3e 74 72 79 3c 2f 73 70 61 6e 3e 20 65 78 70 65 63 74 28 69 20 3d 3d 20 "tok-kw">try</span>.expect(i.==.
60d00 3c 73 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
60d20 6e 3e 29 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 7d n>);</span>.<span.class="line">}
60d40 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 2f 73 70 61 </span>.<span.class="line"></spa
60d60 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 n>.<span.class="line"><span.clas
60d80 73 3d 22 74 6f 6b 2d 6b 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
60da0 73 73 3d 22 74 6f 6b 2d 73 74 72 22 3e 26 71 75 6f 74 3b 77 68 69 6c 65 20 6c 6f 6f 70 20 63 6f ss="tok-str">&quot;while.loop.co
60dc0 6e 74 69 6e 75 65 20 65 78 70 72 65 73 73 69 6f 6e 2c 20 6d 6f 72 65 20 63 6f 6d 70 6c 69 63 61 ntinue.expression,.more.complica
60de0 74 65 64 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 20 7b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 ted&quot;</span>.{</span>.<span.
60e00 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f class="line">....<span.class="to
60e20 6b 2d 6b 77 22 3e 76 61 72 3c 2f 73 70 61 6e 3e 20 69 3a 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d k-kw">var</span>.i:.<span.class=
60e40 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.
60e60 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 31 3c 2f 73 70 61 6e 3e 3b 3c 2f 73 70 class="tok-number">1</span>;</sp
60e80 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 3c 73 70 61 6e an>.<span.class="line">....<span
60ea0 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 76 61 72 3c 2f 73 70 61 6e 3e 20 6a 3a 20 3c 73 .class="tok-kw">var</span>.j:.<s
60ec0 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
60ee0 3e 20 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 31 3c 2f >.=.<span.class="tok-number">1</
60f00 73 70 61 6e 3e 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 span>;</span>.<span.class="line"
60f20 3e 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 77 68 69 6c 65 3c >....<span.class="tok-kw">while<
60f40 2f 73 70 61 6e 3e 20 28 69 20 2a 20 6a 20 26 6c 74 3b 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 /span>.(i.*.j.&lt;.<span.class="
60f60 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 32 30 30 30 3c 2f 73 70 61 6e 3e 29 20 3a 20 28 7b 20 69 20 tok-number">2000</span>).:.({.i.
60f80 2a 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 32 3c 2f 73 *=.<span.class="tok-number">2</s
60fa0 70 61 6e 3e 3b 20 6a 20 2a 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 pan>;.j.*=.<span.class="tok-numb
60fc0 65 72 22 3e 33 3c 2f 73 70 61 6e 3e 3b 20 7d 29 20 7b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 er">3</span>;.}).{</span>.<span.
60fe0 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 class="line">........<span.class
61000 3d 22 74 6f 6b 2d 6b 77 22 3e 63 6f 6e 73 74 3c 2f 73 70 61 6e 3e 20 6d 79 5f 69 6a 20 3d 20 69 ="tok-kw">const</span>.my_ij.=.i
61020 20 2a 20 6a 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e .*.j;</span>.<span.class="line">
61040 20 20 20 20 20 20 20 20 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
61060 3c 2f 73 70 61 6e 3e 20 65 78 70 65 63 74 28 6d 79 5f 69 6a 20 26 6c 74 3b 20 3c 73 70 61 6e 20 </span>.expect(my_ij.&lt;.<span.
61080 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 32 30 30 30 3c 2f 73 70 61 6e 3e 29 3b class="tok-number">2000</span>);
610a0 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 7d </span>.<span.class="line">....}
610c0 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 7d 3c 2f 73 70 </span>.<span.class="line">}</sp
610e0 61 6e 3e 3c 2f 63 6f 64 65 3e 3c 2f 70 72 65 3e 3c 2f 66 69 67 75 72 65 3e 3c 66 69 67 75 72 65 an></code></pre></figure><figure
61100 3e 3c 66 69 67 63 61 70 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
61120 68 65 6c 6c 3c 2f 66 69 67 63 61 70 74 69 6f 6e 3e 3c 70 72 65 3e 3c 73 61 6d 70 3e 3c 73 70 61 hell</figcaption><pre><samp><spa
61140 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 24 20 3c 6b 62 64 3e 7a 69 67 20 74 65 73 74 20 77 n.class="line">$.<kbd>zig.test.w
61160 68 69 6c 65 2e 7a 69 67 3c 2f 6b 62 64 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 hile.zig</kbd></span>.<span.clas
61180 73 3d 22 6c 69 6e 65 22 3e 31 2f 32 20 74 65 73 74 2e 77 68 69 6c 65 20 6c 6f 6f 70 20 63 6f 6e s="line">1/2.test.while.loop.con
611a0 74 69 6e 75 65 20 65 78 70 72 65 73 73 69 6f 6e 2e 2e 2e 20 4f 4b 3c 2f 73 70 61 6e 3e 0a 3c 73 tinue.expression....OK</span>.<s
611c0 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 32 2f 32 20 74 65 73 74 2e 77 68 69 6c 65 20 pan.class="line">2/2.test.while.
611e0 6c 6f 6f 70 20 63 6f 6e 74 69 6e 75 65 20 65 78 70 72 65 73 73 69 6f 6e 2c 20 6d 6f 72 65 20 63 loop.continue.expression,.more.c
61200 6f 6d 70 6c 69 63 61 74 65 64 2e 2e 2e 20 4f 4b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c omplicated....OK</span>.<span.cl
61220 61 73 73 3d 22 6c 69 6e 65 22 3e 41 6c 6c 20 32 20 74 65 73 74 73 20 70 61 73 73 65 64 2e 3c 2f ass="line">All.2.tests.passed.</
61240 73 70 61 6e 3e 0a 3c 2f 73 61 6d 70 3e 3c 2f 70 72 65 3e 3c 2f 66 69 67 75 72 65 3e 0a 20 20 20 span>.</samp></pre></figure>....
61260 20 20 20 3c 70 3e 0a 20 20 20 20 20 20 57 68 69 6c 65 20 6c 6f 6f 70 73 20 61 72 65 20 65 78 70 ...<p>.......While.loops.are.exp
61280 72 65 73 73 69 6f 6e 73 2e 20 54 68 65 20 72 65 73 75 6c 74 20 6f 66 20 74 68 65 20 65 78 70 72 ressions..The.result.of.the.expr
612a0 65 73 73 69 6f 6e 20 69 73 20 74 68 65 0a 20 20 20 20 20 20 72 65 73 75 6c 74 20 6f 66 20 74 68 ession.is.the.......result.of.th
612c0 65 20 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e e.<code><span.class="line"><span
612e0 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 65 6c 73 65 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 .class="tok-kw">else</span></spa
61300 6e 3e 3c 2f 63 6f 64 65 3e 20 63 6c 61 75 73 65 20 6f 66 20 61 20 77 68 69 6c 65 20 6c 6f 6f 70 n></code>.clause.of.a.while.loop
61320 2c 20 77 68 69 63 68 20 69 73 20 65 78 65 63 75 74 65 64 20 77 68 65 6e 0a 20 20 20 20 20 20 74 ,.which.is.executed.when.......t
61340 68 65 20 63 6f 6e 64 69 74 69 6f 6e 20 6f 66 20 74 68 65 20 77 68 69 6c 65 20 6c 6f 6f 70 20 69 he.condition.of.the.while.loop.i
61360 73 20 74 65 73 74 65 64 20 61 73 20 66 61 6c 73 65 2e 0a 20 20 20 20 20 20 3c 2f 70 3e 0a 20 20 s.tested.as.false........</p>...
61380 20 20 20 20 3c 70 3e 0a 20 20 20 20 20 20 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d ....<p>.......<code><span.class=
613a0 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 62 72 65 61 "line"><span.class="tok-kw">brea
613c0 6b 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 2c 20 6c 69 6b 65 20 3c 63 6f k</span></span></code>,.like.<co
613e0 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 de><span.class="line"><span.clas
61400 73 3d 22 74 6f 6b 2d 6b 77 22 3e 72 65 74 75 72 6e 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 3c s="tok-kw">return</span></span><
61420 2f 63 6f 64 65 3e 2c 20 61 63 63 65 70 74 73 20 61 20 76 61 6c 75 65 0a 20 20 20 20 20 20 20 20 /code>,.accepts.a.value.........
61440 20 20 20 20 20 20 70 61 72 61 6d 65 74 65 72 2e 20 54 68 69 73 20 69 73 20 74 68 65 20 72 65 73 ......parameter..This.is.the.res
61460 75 6c 74 20 6f 66 20 74 68 65 20 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 ult.of.the.<code><span.class="li
61480 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 77 68 69 6c 65 3c 2f ne"><span.class="tok-kw">while</
614a0 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 20 65 78 70 72 65 73 73 69 6f 6e 2e 0a span></span></code>.expression..
614c0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 57 68 65 6e 20 79 6f 75 20 3c 63 6f 64 65 ..................When.you.<code
614e0 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d ><span.class="line"><span.class=
61500 22 74 6f 6b 2d 6b 77 22 3e 62 72 65 61 6b 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 3c 2f 63 6f "tok-kw">break</span></span></co
61520 64 65 3e 20 66 72 6f 6d 20 61 20 77 68 69 6c 65 20 6c 6f 6f 70 2c 20 74 68 65 20 3c 63 6f 64 65 de>.from.a.while.loop,.the.<code
61540 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d ><span.class="line"><span.class=
61560 22 74 6f 6b 2d 6b 77 22 3e 65 6c 73 65 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 "tok-kw">else</span></span></cod
61580 65 3e 20 62 72 61 6e 63 68 20 69 73 20 6e 6f 74 0a 20 20 20 20 20 20 65 76 61 6c 75 61 74 65 64 e>.branch.is.not.......evaluated
615a0 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
615c0 61 70 74 69 6f 6e 20 63 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
615e0 73 73 3d 22 66 69 6c 65 22 3e 77 68 69 6c 65 2e 7a 69 67 3c 2f 63 69 74 65 3e 3c 2f 66 69 67 63 ss="file">while.zig</cite></figc
61600 61 70 74 69 6f 6e 3e 3c 70 72 65 3e 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c aption><pre><code><span.class="l
61620 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 63 6f 6e 73 74 3c ine"><span.class="tok-kw">const<
61640 2f 73 70 61 6e 3e 20 65 78 70 65 63 74 20 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b /span>.expect.=.<span.class="tok
61660 2d 62 75 69 6c 74 69 6e 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
61680 6c 61 73 73 3d 22 74 6f 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;</
616a0 73 70 61 6e 3e 29 2e 74 65 73 74 69 6e 67 2e 65 78 70 65 63 74 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 span>).testing.expect;</span>.<s
616c0 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 pan.class="line"></span>.<span.c
616e0 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 lass="line"><span.class="tok-kw"
61700 3e 74 65 73 74 3c 2f 73 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
61720 72 22 3e 26 71 75 6f 74 3b 77 68 69 6c 65 20 65 6c 73 65 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e r">&quot;while.else&quot;</span>
61740 20 7b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 .{</span>.<span.class="line">...
61760 20 3c 73 70 61 6e 20 63 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>
61780 20 65 78 70 65 63 74 28 72 61 6e 67 65 48 61 73 4e 75 6d 62 65 72 28 3c 73 70 61 6e 20 63 6c 61 .expect(rangeHasNumber(<span.cla
617a0 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 30 3c 2f 73 70 61 6e 3e 2c 20 3c 73 70 61 6e 20 ss="tok-number">0</span>,.<span.
617c0 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 73 class="tok-number">10</span>,.<s
617e0 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 35 3c 2f 73 70 61 6e 3e 29 pan.class="tok-number">5</span>)
61800 29 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 );</span>.<span.class="line">...
61820 20 3c 73 70 61 6e 20 63 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>
61840 20 65 78 70 65 63 74 28 21 72 61 6e 67 65 48 61 73 4e 75 6d 62 65 72 28 3c 73 70 61 6e 20 63 6c .expect(!rangeHasNumber(<span.cl
61860 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 30 3c 2f 73 70 61 6e 3e 2c 20 3c 73 70 61 6e ass="tok-number">0</span>,.<span
61880 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>,.<
618a0 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 31 35 3c 2f 73 70 61 6e span.class="tok-number">15</span
618c0 3e 29 29 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 7d >));</span>.<span.class="line">}
618e0 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 2f 73 70 61 </span>.<span.class="line"></spa
61900 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 n>.<span.class="line"><span.clas
61920 73 3d 22 74 6f 6b 2d 6b 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
61940 3d 22 74 6f 6b 2d 66 6e 22 3e 72 61 6e 67 65 48 61 73 4e 75 6d 62 65 72 3c 2f 73 70 61 6e 3e 28 ="tok-fn">rangeHasNumber</span>(
61960 62 65 67 69 6e 3a 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 75 73 begin:.<span.class="tok-type">us
61980 69 7a 65 3c 2f 73 70 61 6e 3e 2c 20 65 6e 64 3a 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f ize</span>,.end:.<span.class="to
619a0 6b 2d 74 79 70 65 22 3e 75 73 69 7a 65 3c 2f 73 70 61 6e 3e 2c 20 6e 75 6d 62 65 72 3a 20 3c 73 k-type">usize</span>,.number:.<s
619c0 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
619e0 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</
61a00 73 70 61 6e 3e 20 7b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 span>.{</span>.<span.class="line
61a20 22 3e 20 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</
61a40 73 70 61 6e 3e 20 69 20 3d 20 62 65 67 69 6e 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c span>.i.=.begin;</span>.<span.cl
61a60 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d ass="line">....<span.class="tok-
61a80 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
61aa0 6f 6b 2d 6b 77 22 3e 77 68 69 6c 65 3c 2f 73 70 61 6e 3e 20 28 69 20 26 6c 74 3b 20 65 6e 64 29 ok-kw">while</span>.(i.&lt;.end)
61ac0 20 3a 20 28 69 20 2b 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 .:.(i.+=.<span.class="tok-number
61ae0 22 3e 31 3c 2f 73 70 61 6e 3e 29 20 7b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 ">1</span>).{</span>.<span.class
61b00 3d 22 6c 69 6e 65 22 3e 20 20 20 20 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b ="line">........<span.class="tok
61b20 2d 6b 77 22 3e 69 66 3c 2f 73 70 61 6e 3e 20 28 69 20 3d 3d 20 6e 75 6d 62 65 72 29 20 7b 3c 2f -kw">if</span>.(i.==.number).{</
61b40 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 20 20 20 span>.<span.class="line">.......
61b60 20 20 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<
61b80 2f 73 70 61 6e 3e 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6c 6c 22 3e 74 72 /span>.<span.class="tok-null">tr
61ba0 75 65 3c 2f 73 70 61 6e 3e 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c ue</span>;</span>.<span.class="l
61bc0 69 6e 65 22 3e 20 20 20 20 20 20 20 20 7d 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 ine">........}</span>.<span.clas
61be0 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 7d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d s="line">....}.<span.class="tok-
61c00 6b 77 22 3e 65 6c 73 65 3c 2f 73 70 61 6e 3e 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b kw">else</span>.<span.class="tok
61c20 2d 6e 75 6c 6c 22 3e 66 61 6c 73 65 3c 2f 73 70 61 6e 3e 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 -null">false</span>;</span>.<spa
61c40 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 7d 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 3c 2f n.class="line">}</span></code></
61c60 70 72 65 3e 3c 2f 66 69 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
61c80 20 63 6c 61 73 73 3d 22 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
61ca0 74 69 6f 6e 3e 3c 70 72 65 3e 3c 73 61 6d 70 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e tion><pre><samp><span.class="lin
61cc0 65 22 3e 24 20 3c 6b 62 64 3e 7a 69 67 20 74 65 73 74 20 77 68 69 6c 65 2e 7a 69 67 3c 2f 6b 62 e">$.<kbd>zig.test.while.zig</kb
61ce0 64 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 31 2f 31 d></span>.<span.class="line">1/1
61d00 20 74 65 73 74 2e 77 68 69 6c 65 20 65 6c 73 65 2e 2e 2e 20 4f 4b 3c 2f 73 70 61 6e 3e 0a 3c 73 .test.while.else....OK</span>.<s
61d20 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 41 6c 6c 20 31 20 74 65 73 74 73 20 70 61 73 pan.class="line">All.1.tests.pas
61d40 73 65 64 2e 3c 2f 73 70 61 6e 3e 0a 3c 2f 73 61 6d 70 3e 3c 2f 70 72 65 3e 3c 2f 66 69 67 75 72 sed.</span>.</samp></pre></figur
61d60 65 3e 0a 20 20 20 20 20 20 3c 68 33 20 69 64 3d 22 4c 61 62 65 6c 65 64 2d 77 68 69 6c 65 22 3e e>.......<h3.id="Labeled-while">
61d80 3c 61 20 68 72 65 66 3d 22 23 74 6f 63 2d 4c 61 62 65 6c 65 64 2d 77 68 69 6c 65 22 3e 4c 61 62 <a.href="#toc-Labeled-while">Lab
61da0 65 6c 65 64 20 77 68 69 6c 65 3c 2f 61 3e 20 3c 61 20 63 6c 61 73 73 3d 22 68 64 72 22 20 68 72 eled.while</a>.<a.class="hdr".hr
61dc0 65 66 3d 22 23 4c 61 62 65 6c 65 64 2d 77 68 69 6c 65 22 3e c2 a7 3c 2f 61 3e 3c 2f 68 33 3e 0a ef="#Labeled-while">..</a></h3>.
61de0 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
61e00 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 77 ss="line"><span.class="tok-kw">w
61e20 68 69 6c 65 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 20 6c 6f 6f 70 20 69 hile</span></span></code>.loop.i
61e40 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 63 65 64 20 s.labeled,.it.can.be.referenced.
61e60 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 6c 69 6e 65 22 3e from.a.<code><span.class="line">
61e80 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 62 72 65 61 6b 3c 2f 73 70 61 6e <span.class="tok-kw">break</span
61ea0 3e 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 6f 72 ></span></code>...............or
61ec0 20 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 .<code><span.class="line"><span.
61ee0 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 2f class="tok-kw">continue</span></
61f00 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
61f20 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
61f40 70 74 69 6f 6e 20 63 6c 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
61f60 73 3d 22 66 69 6c 65 22 3e 74 65 73 74 5f 6e 65 73 74 65 64 5f 62 72 65 61 6b 2e 7a 69 67 3c 2f s="file">test_nested_break.zig</
61f80 63 69 74 65 3e 3c 2f 66 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
61fa0 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b an.class="line"><span.class="tok
61fc0 2d 6b 77 22 3e 74 65 73 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
61fe0 6b 2d 73 74 72 22 3e 26 71 75 6f 74 3b 6e 65 73 74 65 64 20 62 72 65 61 6b 26 71 75 6f 74 3b 3c k-str">&quot;nested.break&quot;<
62000 2f 73 70 61 6e 3e 20 7b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e /span>.{</span>.<span.class="lin
62020 65 22 3e 20 20 20 20 6f 75 74 65 72 3a 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b e">....outer:.<span.class="tok-k
62040 77 22 3e 77 68 69 6c 65 3c 2f 73 70 61 6e 3e 20 28 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f w">while</span>.(<span.class="to
62060 6b 2d 6e 75 6c 6c 22 3e 74 72 75 65 3c 2f 73 70 61 6e 3e 29 20 7b 3c 2f 73 70 61 6e 3e 0a 3c 73 k-null">true</span>).{</span>.<s
62080 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 20 20 20 20 3c 73 70 61 6e 20 63 pan.class="line">........<span.c
620a0 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 77 68 69 6c 65 3c 2f 73 70 61 6e 3e 20 28 3c 73 70 61 lass="tok-kw">while</span>.(<spa
620c0 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6c 6c 22 3e 74 72 75 65 3c 2f 73 70 61 6e 3e 29 20 n.class="tok-null">true</span>).
620e0 7b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 {</span>.<span.class="line">....
62100 20 20 20 20 20 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
62120 61 6b 3c 2f 73 70 61 6e 3e 20 3a 6f 75 74 65 72 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 ak</span>.:outer;</span>.<span.c
62140 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 20 20 20 20 7d 3c 2f 73 70 61 6e 3e 0a 3c 73 70 lass="line">........}</span>.<sp
62160 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 7d 3c 2f 73 70 61 6e 3e 0a 3c 73 70 an.class="line">....}</span>.<sp
62180 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 7d 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 an.class="line">}</span>.<span.c
621a0 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d lass="line"></span>.<span.class=
621c0 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 74 65 73 74 "line"><span.class="tok-kw">test
621e0 3c 2f 73 70 61 6e 3e 20 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
62200 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 61 6e 3e uot;nested.continue&quot;</span>
62220 20 7b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 .{</span>.<span.class="line">...
62240 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>
62260 20 69 3a 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 75 73 69 7a 65 .i:.<span.class="tok-type">usize
62280 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
622a0 72 22 3e 30 3c 2f 73 70 61 6e 3e 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d r">0</span>;</span>.<span.class=
622c0 22 6c 69 6e 65 22 3e 20 20 20 20 6f 75 74 65 72 3a 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 "line">....outer:.<span.class="t
622e0 6f 6b 2d 6b 77 22 3e 77 68 69 6c 65 3c 2f 73 70 61 6e 3e 20 28 69 20 26 6c 74 3b 20 3c 73 70 61 ok-kw">while</span>.(i.&lt;.<spa
62300 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 31 30 3c 2f 73 70 61 6e 3e 29 20 n.class="tok-number">10</span>).
62320 3a 20 28 69 20 2b 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 :.(i.+=.<span.class="tok-number"
62340 3e 31 3c 2f 73 70 61 6e 3e 29 20 7b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d >1</span>).{</span>.<span.class=
62360 22 6c 69 6e 65 22 3e 20 20 20 20 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d "line">........<span.class="tok-
62380 6b 77 22 3e 77 68 69 6c 65 3c 2f 73 70 61 6e 3e 20 28 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 kw">while</span>.(<span.class="t
623a0 6f 6b 2d 6e 75 6c 6c 22 3e 74 72 75 65 3c 2f 73 70 61 6e 3e 29 20 7b 3c 2f 73 70 61 6e 3e 0a 3c ok-null">true</span>).{</span>.<
623c0 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 20 20 20 20 20 20 20 20 3c 73 span.class="line">............<s
623e0 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
62400 6e 3e 20 3a 6f 75 74 65 72 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c n>.:outer;</span>.<span.class="l
62420 69 6e 65 22 3e 20 20 20 20 20 20 20 20 7d 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 ine">........}</span>.<span.clas
62440 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 7d 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 s="line">....}</span>.<span.clas
62460 73 3d 22 6c 69 6e 65 22 3e 7d 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 3c 2f 70 72 65 3e 3c 2f s="line">}</span></code></pre></
62480 66 69 67 75 72 65 3e 3c 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
624a0 3d 22 73 68 65 6c 6c 2d 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><
624c0 70 72 65 3e 3c 73 61 6d 70 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 24 20 3c pre><samp><span.class="line">$.<
624e0 6b 62 64 3e 7a 69 67 20 74 65 73 74 20 74 65 73 74 5f 6e 65 73 74 65 64 5f 62 72 65 61 6b 2e 7a kbd>zig.test.test_nested_break.z
62500 69 67 3c 2f 6b 62 64 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e ig</kbd></span>.<span.class="lin
62520 65 22 3e 31 2f 32 20 74 65 73 74 2e 6e 65 73 74 65 64 20 62 72 65 61 6b 2e 2e 2e 20 4f 4b 3c 2f e">1/2.test.nested.break....OK</
62540 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 32 2f 32 20 74 65 73 span>.<span.class="line">2/2.tes
62560 74 2e 6e 65 73 74 65 64 20 63 6f 6e 74 69 6e 75 65 2e 2e 2e 20 4f 4b 3c 2f 73 70 61 6e 3e 0a 3c t.nested.continue....OK</span>.<
62580 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 41 6c 6c 20 32 20 74 65 73 74 73 20 70 61 span.class="line">All.2.tests.pa
625a0 73 73 65 64 2e 3c 2f 73 70 61 6e 3e 0a 3c 2f 73 61 6d 70 3e 3c 2f 70 72 65 3e 3c 2f 66 69 67 75 ssed.</span>.</samp></pre></figu
625c0 72 65 3e 0a 20 20 20 20 20 20 0a 20 20 20 20 20 20 3c 68 33 20 69 64 3d 22 77 68 69 6c 65 2d 77 re>..............<h3.id="while-w
625e0 69 74 68 2d 4f 70 74 69 6f 6e 61 6c 73 22 3e 3c 61 20 68 72 65 66 3d 22 23 74 6f 63 2d 77 68 69 ith-Optionals"><a.href="#toc-whi
62600 6c 65 2d 77 69 74 68 2d 4f 70 74 69 6f 6e 61 6c 73 22 3e 77 68 69 6c 65 20 77 69 74 68 20 4f 70 le-with-Optionals">while.with.Op
62620 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 72 65 66 3d tionals</a>.<a.class="hdr".href=
62640 22 23 77 68 69 6c 65 2d 77 69 74 68 2d 4f 70 74 69 6f 6e 61 6c 73 22 3e c2 a7 3c 2f 61 3e 3c 2f "#while-with-Optionals">..</a></
62660 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 20 3c h3>........<p>.......Just.like.<
62680 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 73 2c a.href="#if">if</a>.expressions,
626a0 20 77 68 69 6c 65 20 6c 6f 6f 70 73 20 63 61 6e 20 74 61 6b 65 20 61 6e 20 6f 70 74 69 6f 6e 61 .while.loops.can.take.an.optiona
626c0 6c 20 61 73 20 74 68 65 0a 20 20 20 20 20 20 63 6f 6e 64 69 74 69 6f 6e 20 61 6e 64 20 63 61 70 l.as.the.......condition.and.cap
626e0 74 75 72 65 20 74 68 65 20 70 61 79 6c 6f 61 64 2e 20 57 68 65 6e 20 3c 61 20 68 72 65 66 3d 22 ture.the.payload..When.<a.href="
62700 23 6e 75 6c 6c 22 3e 6e 75 6c 6c 3c 2f 61 3e 20 69 73 20 65 6e 63 6f 75 6e 74 65 72 65 64 20 74 #null">null</a>.is.encountered.t
62720 68 65 20 6c 6f 6f 70 0a 20 20 20 20 20 20 65 78 69 74 73 2e 0a 20 20 20 20 20 20 3c 2f 70 3e 0a he.loop.......exits........</p>.
62740 20 20 20 20 20 20 3c 70 3e 0a 20 20 20 20 20 20 57 68 65 6e 20 74 68 65 20 3c 63 6f 64 65 3e 3c ......<p>.......When.the.<code><
62760 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 7c 78 7c 3c 2f 73 70 61 6e 3e 3c 2f 63 6f span.class="line">|x|</span></co
62780 64 65 3e 20 73 79 6e 74 61 78 20 69 73 20 70 72 65 73 65 6e 74 20 6f 6e 20 61 20 3c 63 6f 64 65 de>.syntax.is.present.on.a.<code
627a0 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d ><span.class="line"><span.class=
627c0 22 74 6f 6b 2d 6b 77 22 3e 77 68 69 6c 65 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 3c 2f 63 6f "tok-kw">while</span></span></co
627e0 64 65 3e 20 65 78 70 72 65 73 73 69 6f 6e 2c 0a 20 20 20 20 20 20 74 68 65 20 77 68 69 6c 65 20 de>.expression,.......the.while.
62800 63 6f 6e 64 69 74 69 6f 6e 20 6d 75 73 74 20 68 61 76 65 20 61 6e 20 3c 61 20 68 72 65 66 3d 22 condition.must.have.an.<a.href="
62820 23 4f 70 74 69 6f 6e 61 6c 2d 54 79 70 65 22 3e 4f 70 74 69 6f 6e 61 6c 20 54 79 70 65 3c 2f 61 #Optional-Type">Optional.Type</a
62840 3e 2e 0a 20 20 20 20 20 20 3c 2f 70 3e 0a 20 20 20 20 20 20 3c 70 3e 0a 20 20 20 20 20 20 54 68 >........</p>.......<p>.......Th
62860 65 20 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e e.<code><span.class="line"><span
62880 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 65 6c 73 65 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 .class="tok-kw">else</span></spa
628a0 6e 3e 3c 2f 63 6f 64 65 3e 20 62 72 61 6e 63 68 20 69 73 20 61 6c 6c 6f 77 65 64 20 6f 6e 20 6f n></code>.branch.is.allowed.on.o
628c0 70 74 69 6f 6e 61 6c 20 69 74 65 72 61 74 69 6f 6e 2e 20 49 6e 20 74 68 69 73 20 63 61 73 65 2c ptional.iteration..In.this.case,
628e0 20 69 74 20 77 69 6c 6c 0a 20 20 20 20 20 20 62 65 20 65 78 65 63 75 74 65 64 20 6f 6e 20 74 68 .it.will.......be.executed.on.th
62900 65 20 66 69 72 73 74 20 6e 75 6c 6c 20 76 61 6c 75 65 20 65 6e 63 6f 75 6e 74 65 72 65 64 2e 0a e.first.null.value.encountered..
62920 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
62940 74 69 6f 6e 20 63 6c 61 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
62960 3d 22 66 69 6c 65 22 3e 77 68 69 6c 65 2e 7a 69 67 3c 2f 63 69 74 65 3e 3c 2f 66 69 67 63 61 70 ="file">while.zig</cite></figcap
62980 74 69 6f 6e 3e 3c 70 72 65 3e 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e tion><pre><code><span.class="lin
629a0 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 63 6f 6e 73 74 3c 2f 73 e"><span.class="tok-kw">const</s
629c0 70 61 6e 3e 20 65 78 70 65 63 74 20 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 62 pan>.expect.=.<span.class="tok-b
629e0 75 69 6c 74 69 6e 22 3e 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
62a00 73 73 3d 22 74 6f 6b 2d 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
62a20 61 6e 3e 29 2e 74 65 73 74 69 6e 67 2e 65 78 70 65 63 74 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 an>).testing.expect;</span>.<spa
62a40 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 n.class="line"></span>.<span.cla
62a60 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 74 ss="line"><span.class="tok-kw">t
62a80 65 73 74 3c 2f 73 70 61 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"
62aa0 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 74 3b 3c >&quot;while.null.capture&quot;<
62ac0 2f 73 70 61 6e 3e 20 7b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e /span>.{</span>.<span.class="lin
62ae0 65 22 3e 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 76 61 72 3c e">....<span.class="tok-kw">var<
62b00 2f 73 70 61 6e 3e 20 73 75 6d 31 3a 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 /span>.sum1:.<span.class="tok-ty
62b20 70 65 22 3e 75 33 32 3c 2f 73 70 61 6e 3e 20 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f pe">u32</span>.=.<span.class="to
62b40 6b 2d 6e 75 6d 62 65 72 22 3e 30 3c 2f 73 70 61 6e 3e 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e k-number">0</span>;</span>.<span
62b60 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 6e 75 6d 62 65 72 73 5f 6c 65 66 74 20 3d .class="line">....numbers_left.=
62b80 20 3c 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
62ba0 6e 3e 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 n>;</span>.<span.class="line">..
62bc0 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
62be0 61 6e 3e 20 28 65 76 65 6e 74 75 61 6c 6c 79 4e 75 6c 6c 53 65 71 75 65 6e 63 65 28 29 29 20 7c an>.(eventuallyNullSequence()).|
62c00 76 61 6c 75 65 7c 20 7b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e value|.{</span>.<span.class="lin
62c20 65 22 3e 20 20 20 20 20 20 20 20 73 75 6d 31 20 2b 3d 20 76 61 6c 75 65 3b 3c 2f 73 70 61 6e 3e e">........sum1.+=.value;</span>
62c40 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 7d 3c 2f 73 70 61 6e 3e .<span.class="line">....}</span>
62c60 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 3c 73 70 61 6e 20 63 6c .<span.class="line">....<span.cl
62c80 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 74 72 79 3c 2f 73 70 61 6e 3e 20 65 78 70 65 63 74 28 73 ass="tok-kw">try</span>.expect(s
62ca0 75 6d 31 20 3d 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e um1.==.<span.class="tok-number">
62cc0 33 3c 2f 73 70 61 6e 3e 29 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 3</span>);</span>.<span.class="l
62ce0 69 6e 65 22 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e ine"></span>.<span.class="line">
62d00 20 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
62d20 61 6e 3e 20 73 75 6d 32 3a 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 an>.sum2:.<span.class="tok-type"
62d40 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
62d60 75 6d 62 65 72 22 3e 30 3c 2f 73 70 61 6e 3e 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c umber">0</span>;</span>.<span.cl
62d80 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 6e 75 6d 62 65 72 73 5f 6c 65 66 74 20 3d 20 3c 73 ass="line">....numbers_left.=.<s
62da0 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>;
62dc0 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 3c </span>.<span.class="line">....<
62de0 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>
62e00 20 28 65 76 65 6e 74 75 61 6c 6c 79 4e 75 6c 6c 53 65 71 75 65 6e 63 65 28 29 29 20 7c 76 61 6c .(eventuallyNullSequence()).|val
62e20 75 65 7c 20 7b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e ue|.{</span>.<span.class="line">
62e40 20 20 20 20 20 20 20 20 73 75 6d 32 20 2b 3d 20 76 61 6c 75 65 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 ........sum2.+=.value;</span>.<s
62e60 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 7d 20 3c 73 70 61 6e 20 63 6c 61 pan.class="line">....}.<span.cla
62e80 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 65 6c 73 65 3c 2f 73 70 61 6e 3e 20 7b 3c 2f 73 70 61 6e 3e ss="tok-kw">else</span>.{</span>
62ea0 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 20 20 20 20 3c 73 70 61 .<span.class="line">........<spa
62ec0 6e 20 63 6c 61 73 73 3d 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
62ee0 63 74 28 73 75 6d 32 20 3d 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 ct(sum2.==.<span.class="tok-numb
62f00 65 72 22 3e 33 3c 2f 73 70 61 6e 3e 29 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 er">3</span>);</span>.<span.clas
62f20 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 7d 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 s="line">....}</span>.<span.clas
62f40 73 3d 22 6c 69 6e 65 22 3e 7d 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c s="line">}</span>.<span.class="l
62f60 69 6e 65 22 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e ine"></span>.<span.class="line">
62f80 3c 73 70 61 6e 20 63 6c 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>.
62fa0 6e 75 6d 62 65 72 73 5f 6c 65 66 74 3a 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 numbers_left:.<span.class="tok-t
62fc0 79 70 65 22 3e 75 33 32 3c 2f 73 70 61 6e 3e 20 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 ype">u32</span>.=.<span.class="t
62fe0 6f 6b 2d 6e 75 6c 6c 22 3e 75 6e 64 65 66 69 6e 65 64 3c 2f 73 70 61 6e 3e 3b 3c 2f 73 70 61 6e ok-null">undefined</span>;</span
63000 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 >.<span.class="line"><span.class
63020 3d 22 74 6f 6b 2d 6b 77 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=
63040 22 74 6f 6b 2d 66 6e 22 3e 65 76 65 6e 74 75 61 6c 6c 79 4e 75 6c 6c 53 65 71 75 65 6e 63 65 3c "tok-fn">eventuallyNullSequence<
63060 2f 73 70 61 6e 3e 28 29 20 3f 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 /span>().?<span.class="tok-type"
63080 3e 75 33 32 3c 2f 73 70 61 6e 3e 20 7b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 >u32</span>.{</span>.<span.class
630a0 3d 22 6c 69 6e 65 22 3e 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 ="line">....<span.class="tok-kw"
630c0 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-
630e0 6b 77 22 3e 69 66 3c 2f 73 70 61 6e 3e 20 28 6e 75 6d 62 65 72 73 5f 6c 65 66 74 20 3d 3d 20 3c kw">if</span>.(numbers_left.==.<
63100 73 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>
63120 29 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6c 6c 22 3e 6e 75 6c 6c 3c 2f 73 ).<span.class="tok-null">null</s
63140 70 61 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 pan>.<span.class="tok-kw">else</
63160 73 70 61 6e 3e 20 62 6c 6b 3a 20 7b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d span>.blk:.{</span>.<span.class=
63180 22 6c 69 6e 65 22 3e 20 20 20 20 20 20 20 20 6e 75 6d 62 65 72 73 5f 6c 65 66 74 20 2d 3d 20 3c "line">........numbers_left.-=.<
631a0 73 70 61 6e 20 63 6c 61 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>
631c0 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 ;</span>.<span.class="line">....
631e0 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 62 72 65 61 6b 3c 2f ....<span.class="tok-kw">break</
63200 73 70 61 6e 3e 20 3a 62 6c 6b 20 6e 75 6d 62 65 72 73 5f 6c 65 66 74 3b 3c 2f 73 70 61 6e 3e 0a span>.:blk.numbers_left;</span>.
63220 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 7d 3b 3c 2f 73 70 61 6e 3e <span.class="line">....};</span>
63240 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 7d 3c 2f 73 70 61 6e 3e 3c 2f 63 6f .<span.class="line">}</span></co
63260 64 65 3e 3c 2f 70 72 65 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
63280 70 74 69 6f 6e 20 63 6c 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
632a0 69 67 63 61 70 74 69 6f 6e 3e 3c 70 72 65 3e 3c 73 61 6d 70 3e 3c 73 70 61 6e 20 63 6c 61 73 73 igcaption><pre><samp><span.class
632c0 3d 22 6c 69 6e 65 22 3e 24 20 3c 6b 62 64 3e 7a 69 67 20 74 65 73 74 20 77 68 69 6c 65 2e 7a 69 ="line">$.<kbd>zig.test.while.zi
632e0 67 3c 2f 6b 62 64 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 g</kbd></span>.<span.class="line
63300 22 3e 31 2f 31 20 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 2e ">1/1.test.while.null.capture...
63320 20 4f 4b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 41 6c .OK</span>.<span.class="line">Al
63340 6c 20 31 20 74 65 73 74 73 20 70 61 73 73 65 64 2e 3c 2f 73 70 61 6e 3e 0a 3c 2f 73 61 6d 70 3e l.1.tests.passed.</span>.</samp>
63360 3c 2f 70 72 65 3e 3c 2f 66 69 67 75 72 65 3e 0a 20 20 20 20 20 20 0a 0a 20 20 20 20 20 20 3c 68 </pre></figure>...............<h
63380 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"><
633a0 61 20 68 72 65 66 3d 22 23 74 6f 63 2d 77 68 69 6c 65 2d 77 69 74 68 2d 45 72 72 6f 72 2d 55 6e a.href="#toc-while-with-Error-Un
633c0 69 6f 6e 73 22 3e 77 68 69 6c 65 20 77 69 74 68 20 45 72 72 6f 72 20 55 6e 69 6f 6e 73 3c 2f 61 ions">while.with.Error.Unions</a
633e0 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 2d 77 69 >.<a.class="hdr".href="#while-wi
63400 74 68 2d 45 72 72 6f 72 2d 55 6e 69 6f 6e 73 22 3e c2 a7 3c 2f 61 3e 3c 2f 68 33 3e 0a 0a 20 20 th-Error-Unions">..</a></h3>....
63420 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 65 66 3d ....<p>.......Just.like.<a.href=
63440 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 6c 65 20 "#if">if</a>.expressions,.while.
63460 6c 6f 6f 70 73 20 63 61 6e 20 74 61 6b 65 20 61 6e 20 65 72 72 6f 72 20 75 6e 69 6f 6e 20 61 73 loops.can.take.an.error.union.as
63480 0a 20 20 20 20 20 20 74 68 65 20 63 6f 6e 64 69 74 69 6f 6e 20 61 6e 64 20 63 61 70 74 75 72 65 .......the.condition.and.capture
634a0 20 74 68 65 20 70 61 79 6c 6f 61 64 20 6f 72 20 74 68 65 20 65 72 72 6f 72 20 63 6f 64 65 2e 20 .the.payload.or.the.error.code..
634c0 57 68 65 6e 20 74 68 65 0a 20 20 20 20 20 20 63 6f 6e 64 69 74 69 6f 6e 20 72 65 73 75 6c 74 73 When.the.......condition.results
634e0 20 69 6e 20 61 6e 20 65 72 72 6f 72 20 63 6f 64 65 20 74 68 65 20 65 6c 73 65 20 62 72 61 6e 63 .in.an.error.code.the.else.branc
63500 68 20 69 73 20 65 76 61 6c 75 61 74 65 64 20 61 6e 64 0a 20 20 20 20 20 20 74 68 65 20 6c 6f 6f h.is.evaluated.and.......the.loo
63520 70 20 69 73 20 66 69 6e 69 73 68 65 64 2e 0a 20 20 20 20 20 20 3c 2f 70 3e 0a 20 20 20 20 20 20 p.is.finished........</p>.......
63540 3c 70 3e 0a 20 20 20 20 20 20 57 68 65 6e 20 74 68 65 20 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 <p>.......When.the.<code><span.c
63560 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 lass="line"><span.class="tok-kw"
63580 3e 65 6c 73 65 3c 2f 73 70 61 6e 3e 20 7c 78 7c 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 20 73 >else</span>.|x|</span></code>.s
635a0 79 6e 74 61 78 20 69 73 20 70 72 65 73 65 6e 74 20 6f 6e 20 61 20 3c 63 6f 64 65 3e 3c 73 70 61 yntax.is.present.on.a.<code><spa
635c0 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d n.class="line"><span.class="tok-
635e0 6b 77 22 3e 77 68 69 6c 65 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 20 65 kw">while</span></span></code>.e
63600 78 70 72 65 73 73 69 6f 6e 2c 0a 20 20 20 20 20 20 74 68 65 20 77 68 69 6c 65 20 63 6f 6e 64 69 xpression,.......the.while.condi
63620 74 69 6f 6e 20 6d 75 73 74 20 68 61 76 65 20 61 6e 20 3c 61 20 68 72 65 66 3d 22 23 45 72 72 6f tion.must.have.an.<a.href="#Erro
63640 72 2d 55 6e 69 6f 6e 2d 54 79 70 65 22 3e 45 72 72 6f 72 20 55 6e 69 6f 6e 20 54 79 70 65 3c 2f r-Union-Type">Error.Union.Type</
63660 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 66 69 a>........</p>.......<figure><fi
63680 67 63 61 70 74 69 6f 6e 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
636a0 6c 61 73 73 3d 22 66 69 6c 65 22 3e 77 68 69 6c 65 2e 7a 69 67 3c 2f 63 69 74 65 3e 3c 2f 66 69 lass="file">while.zig</cite></fi
636c0 67 63 61 70 74 69 6f 6e 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=
636e0 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 63 6f 6e 73 "line"><span.class="tok-kw">cons
63700 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
63720 6f 6b 2d 62 75 69 6c 74 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
63740 20 63 6c 61 73 73 3d 22 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;
63760 3c 2f 73 70 61 6e 3e 29 2e 74 65 73 74 69 6e 67 2e 65 78 70 65 63 74 3b 3c 2f 73 70 61 6e 3e 0a </span>).testing.expect;</span>.
63780 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e <span.class="line"></span>.<span
637a0 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b .class="line"><span.class="tok-k
637c0 77 22 3e 74 65 73 74 3c 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-
637e0 73 74 72 22 3e 26 71 75 6f 74 3b 77 68 69 6c 65 20 65 72 72 6f 72 20 75 6e 69 6f 6e 20 63 61 70 str">&quot;while.error.union.cap
63800 74 75 72 65 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 20 7b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e ture&quot;</span>.{</span>.<span
63820 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 .class="line">....<span.class="t
63840 6f 6b 2d 6b 77 22 3e 76 61 72 3c 2f 73 70 61 6e 3e 20 73 75 6d 31 3a 20 3c 73 70 61 6e 20 63 6c ok-kw">var</span>.sum1:.<span.cl
63860 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
63880 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 30 3c 2f 73 70 61 6e 3e 3b 3c 2f n.class="tok-number">0</span>;</
638a0 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 6e 75 6d span>.<span.class="line">....num
638c0 62 65 72 73 5f 6c 65 66 74 20 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d bers_left.=.<span.class="tok-num
638e0 62 65 72 22 3e 33 3c 2f 73 70 61 6e 3e 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 ber">3</span>;</span>.<span.clas
63900 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 s="line">....<span.class="tok-kw
63920 22 3e 77 68 69 6c 65 3c 2f 73 70 61 6e 3e 20 28 65 76 65 6e 74 75 61 6c 6c 79 45 72 72 6f 72 53 ">while</span>.(eventuallyErrorS
63940 65 71 75 65 6e 63 65 28 29 29 20 7c 76 61 6c 75 65 7c 20 7b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 equence()).|value|.{</span>.<spa
63960 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 20 20 20 20 73 75 6d 31 20 2b 3d 20 76 n.class="line">........sum1.+=.v
63980 61 6c 75 65 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e alue;</span>.<span.class="line">
639a0 20 20 20 20 7d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 65 6c 73 65 3c ....}.<span.class="tok-kw">else<
639c0 2f 73 70 61 6e 3e 20 7c 65 72 72 7c 20 7b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 /span>.|err|.{</span>.<span.clas
639e0 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f s="line">........<span.class="to
63a00 6b 2d 6b 77 22 3e 74 72 79 3c 2f 73 70 61 6e 3e 20 65 78 70 65 63 74 28 65 72 72 20 3d 3d 20 3c k-kw">try</span>.expect(err.==.<
63a20 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>
63a40 2e 52 65 61 63 68 65 64 5a 65 72 6f 29 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 .ReachedZero);</span>.<span.clas
63a60 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 7d 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 s="line">....}</span>.<span.clas
63a80 73 3d 22 6c 69 6e 65 22 3e 7d 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c s="line">}</span>.<span.class="l
63aa0 69 6e 65 22 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e ine"></span>.<span.class="line">
63ac0 3c 73 70 61 6e 20 63 6c 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>.
63ae0 6e 75 6d 62 65 72 73 5f 6c 65 66 74 3a 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 numbers_left:.<span.class="tok-t
63b00 79 70 65 22 3e 75 33 32 3c 2f 73 70 61 6e 3e 20 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 ype">u32</span>.=.<span.class="t
63b20 6f 6b 2d 6e 75 6c 6c 22 3e 75 6e 64 65 66 69 6e 65 64 3c 2f 73 70 61 6e 3e 3b 3c 2f 73 70 61 6e ok-null">undefined</span>;</span
63b40 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 >.<span.class="line"></span>.<sp
63b60 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b an.class="line"><span.class="tok
63b80 2d 6b 77 22 3e 66 6e 3c 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-
63ba0 66 6e 22 3e 65 76 65 6e 74 75 61 6c 6c 79 45 72 72 6f 72 53 65 71 75 65 6e 63 65 3c 2f 73 70 61 fn">eventuallyErrorSequence</spa
63bc0 6e 3e 28 29 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 61 6e 79 65 n>().<span.class="tok-type">anye
63be0 72 72 6f 72 3c 2f 73 70 61 6e 3e 21 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 rror</span>!<span.class="tok-typ
63c00 65 22 3e 75 33 32 3c 2f 73 70 61 6e 3e 20 7b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 e">u32</span>.{</span>.<span.cla
63c20 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b ss="line">....<span.class="tok-k
63c40 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
63c60 6b 2d 6b 77 22 3e 69 66 3c 2f 73 70 61 6e 3e 20 28 6e 75 6d 62 65 72 73 5f 6c 65 66 74 20 3d 3d k-kw">if</span>.(numbers_left.==
63c80 20 3c 73 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
63ca0 6e 3e 29 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 65 72 72 6f 72 3c 2f n>).<span.class="tok-kw">error</
63cc0 73 70 61 6e 3e 2e 52 65 61 63 68 65 64 5a 65 72 6f 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 span>.ReachedZero.<span.class="t
63ce0 6f 6b 2d 6b 77 22 3e 65 6c 73 65 3c 2f 73 70 61 6e 3e 20 62 6c 6b 3a 20 7b 3c 2f 73 70 61 6e 3e ok-kw">else</span>.blk:.{</span>
63d00 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 20 20 20 20 6e 75 6d 62 .<span.class="line">........numb
63d20 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 75 6d ers_left.-=.<span.class="tok-num
63d40 62 65 72 22 3e 31 3c 2f 73 70 61 6e 3e 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 ber">1</span>;</span>.<span.clas
63d60 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f s="line">........<span.class="to
63d80 6b 2d 6b 77 22 3e 62 72 65 61 6b 3c 2f 73 70 61 6e 3e 20 3a 62 6c 6b 20 6e 75 6d 62 65 72 73 5f k-kw">break</span>.:blk.numbers_
63da0 6c 65 66 74 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e left;</span>.<span.class="line">
63dc0 20 20 20 20 7d 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 ....};</span>.<span.class="line"
63de0 3e 7d 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 3c 2f 70 72 65 3e 3c 2f 66 69 67 75 72 65 3e 3c >}</span></code></pre></figure><
63e00 66 69 67 75 72 65 3e 3c 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-
63e20 63 61 70 22 3e 53 68 65 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
63e40 70 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 24 20 3c 6b 62 64 3e 7a 69 67 20 p><span.class="line">$.<kbd>zig.
63e60 74 65 73 74 20 77 68 69 6c 65 2e 7a 69 67 3c 2f 6b 62 64 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 test.while.zig</kbd></span>.<spa
63e80 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 31 2f 31 20 74 65 73 74 2e 77 68 69 6c 65 20 65 72 n.class="line">1/1.test.while.er
63ea0 72 6f 72 20 75 6e 69 6f 6e 20 63 61 70 74 75 72 65 2e 2e 2e 20 4f 4b 3c 2f 73 70 61 6e 3e 0a 3c ror.union.capture....OK</span>.<
63ec0 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 41 6c 6c 20 31 20 74 65 73 74 73 20 70 61 span.class="line">All.1.tests.pa
63ee0 73 73 65 64 2e 3c 2f 73 70 61 6e 3e 0a 3c 2f 73 61 6d 70 3e 3c 2f 70 72 65 3e 3c 2f 66 69 67 75 ssed.</span>.</samp></pre></figu
63f00 72 65 3e 0a 20 20 20 20 20 20 0a 0a 20 20 20 20 20 20 3c 68 33 20 69 64 3d 22 69 6e 6c 69 6e 65 re>...............<h3.id="inline
63f20 2d 77 68 69 6c 65 22 3e 3c 61 20 68 72 65 66 3d 22 23 74 6f 63 2d 69 6e 6c 69 6e 65 2d 77 68 69 -while"><a.href="#toc-inline-whi
63f40 6c 65 22 3e 69 6e 6c 69 6e 65 20 77 68 69 6c 65 3c 2f 61 3e 20 3c 61 20 63 6c 61 73 73 3d 22 68 le">inline.while</a>.<a.class="h
63f60 64 72 22 20 68 72 65 66 3d 22 23 69 6e 6c 69 6e 65 2d 77 68 69 6c 65 22 3e c2 a7 3c 2f 61 3e 3c dr".href="#inline-while">..</a><
63f80 2f 68 33 3e 0a 0a 20 20 20 20 20 20 3c 70 3e 0a 20 20 20 20 20 20 57 68 69 6c 65 20 6c 6f 6f 70 /h3>........<p>.......While.loop
63fa0 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
63fc0 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....
63fe0 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
64000 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.
64020 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
64040 20 66 69 72 73 74 20 63 6c 61 73 73 20 76 61 6c 75 65 73 2e 0a 20 20 20 20 20 20 3c 2f 70 3e 0a .first.class.values........</p>.
64060 20 20 20 20 20 20 3c 66 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=
64080 22 7a 69 67 2d 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
640a0 74 5f 69 6e 6c 69 6e 65 5f 77 68 69 6c 65 2e 7a 69 67 3c 2f 63 69 74 65 3e 3c 2f 66 69 67 63 61 t_inline_while.zig</cite></figca
640c0 70 74 69 6f 6e 3e 3c 70 72 65 3e 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 ption><pre><code><span.class="li
640e0 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 63 6f 6e 73 74 3c 2f ne"><span.class="tok-kw">const</
64100 73 70 61 6e 3e 20 65 78 70 65 63 74 20 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d span>.expect.=.<span.class="tok-
64120 62 75 69 6c 74 69 6e 22 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
64140 61 73 73 3d 22 74 6f 6b 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
64160 70 61 6e 3e 29 2e 74 65 73 74 69 6e 67 2e 65 78 70 65 63 74 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 pan>).testing.expect;</span>.<sp
64180 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c an.class="line"></span>.<span.cl
641a0 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e ass="line"><span.class="tok-kw">
641c0 74 65 73 74 3c 2f 73 70 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
641e0 22 3e 26 71 75 6f 74 3b 69 6e 6c 69 6e 65 20 77 68 69 6c 65 20 6c 6f 6f 70 26 71 75 6f 74 3b 3c ">&quot;inline.while.loop&quot;<
64200 2f 73 70 61 6e 3e 20 7b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e /span>.{</span>.<span.class="lin
64220 65 22 3e 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 63 6f 6d 70 e">....<span.class="tok-kw">comp
64240 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"
64260 3e 76 61 72 3c 2f 73 70 61 6e 3e 20 69 20 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b >var</span>.i.=.<span.class="tok
64280 2d 6e 75 6d 62 65 72 22 3e 30 3c 2f 73 70 61 6e 3e 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 -number">0</span>;</span>.<span.
642a0 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f class="line">....<span.class="to
642c0 6b 2d 6b 77 22 3e 76 61 72 3c 2f 73 70 61 6e 3e 20 73 75 6d 3a 20 3c 73 70 61 6e 20 63 6c 61 73 k-kw">var</span>.sum:.<span.clas
642e0 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
64300 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 30 3c 2f 73 70 61 6e 3e 3b 3c 2f n.class="tok-number">0</span>;</
64320 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 3c 73 70 span>.<span.class="line">....<sp
64340 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 69 6e 6c 69 6e 65 3c 2f 73 70 61 6e 3e 20 an.class="tok-kw">inline</span>.
64360 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 77 68 69 6c 65 3c 2f 73 70 61 6e <span.class="tok-kw">while</span
64380 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
643a0 72 22 3e 33 3c 2f 73 70 61 6e 3e 29 20 3a 20 28 69 20 2b 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 r">3</span>).:.(i.+=.<span.class
643c0 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 31 3c 2f 73 70 61 6e 3e 29 20 7b 3c 2f 73 70 61 6e 3e ="tok-number">1</span>).{</span>
643e0 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 20 20 20 20 3c 73 70 61 .<span.class="line">........<spa
64400 6e 20 63 6c 61 73 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 n.class="tok-kw">const</span>.T.
64420 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 73 77 69 74 63 68 3c 2f 73 =.<span.class="tok-kw">switch</s
64440 70 61 6e 3e 20 28 69 29 20 7b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c pan>.(i).{</span>.<span.class="l
64460 69 6e 65 22 3e 20 20 20 20 20 20 20 20 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f ine">............<span.class="to
64480 6b 2d 6e 75 6d 62 65 72 22 3e 30 3c 2f 73 70 61 6e 3e 20 3d 26 67 74 3b 20 3c 73 70 61 6e 20 63 k-number">0</span>.=&gt;.<span.c
644a0 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 66 33 32 3c 2f 73 70 61 6e 3e 2c 3c 2f 73 70 61 lass="tok-type">f32</span>,</spa
644c0 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 20 20 20 20 20 20 n>.<span.class="line">..........
644e0 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 31 3c 2f 73 70 ..<span.class="tok-number">1</sp
64500 61 6e 3e 20 3d 26 67 74 3b 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 an>.=&gt;.<span.class="tok-type"
64520 3e 69 38 3c 2f 73 70 61 6e 3e 2c 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 >i8</span>,</span>.<span.class="
64540 6c 69 6e 65 22 3e 20 20 20 20 20 20 20 20 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 line">............<span.class="t
64560 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 20 ok-number">2</span>.=&gt;.<span.
64580 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 62 6f 6f 6c 3c 2f 73 70 61 6e 3e 2c 3c 2f 73 class="tok-type">bool</span>,</s
645a0 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 20 20 20 20 pan>.<span.class="line">........
645c0 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 65 6c 73 65 3c 2f 73 ....<span.class="tok-kw">else</s
645e0 70 61 6e 3e 20 3d 26 67 74 3b 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e pan>.=&gt;.<span.class="tok-kw">
64600 75 6e 72 65 61 63 68 61 62 6c 65 3c 2f 73 70 61 6e 3e 2c 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e unreachable</span>,</span>.<span
64620 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 20 20 20 20 7d 3b 3c 2f 73 70 61 6e 3e 0a .class="line">........};</span>.
64640 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 20 20 20 20 73 75 6d 20 2b <span.class="line">........sum.+
64660 3d 20 74 79 70 65 4e 61 6d 65 4c 65 6e 67 74 68 28 54 29 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 =.typeNameLength(T);</span>.<spa
64680 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 7d 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 n.class="line">....}</span>.<spa
646a0 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 n.class="line">....<span.class="
646c0 74 6f 6b 2d 6b 77 22 3e 74 72 79 3c 2f 73 70 61 6e 3e 20 65 78 70 65 63 74 28 73 75 6d 20 3d 3d tok-kw">try</span>.expect(sum.==
646e0 20 3c 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
64700 6e 3e 29 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 7d n>);</span>.<span.class="line">}
64720 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 2f 73 70 61 </span>.<span.class="line"></spa
64740 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 n>.<span.class="line"><span.clas
64760 73 3d 22 74 6f 6b 2d 6b 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
64780 3d 22 74 6f 6b 2d 66 6e 22 3e 74 79 70 65 4e 61 6d 65 4c 65 6e 67 74 68 3c 2f 73 70 61 6e 3e 28 ="tok-fn">typeNameLength</span>(
647a0 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
647c0 70 61 6e 3e 20 54 3a 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 74 pan>.T:.<span.class="tok-type">t
647e0 79 70 65 3c 2f 73 70 61 6e 3e 29 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 ype</span>).<span.class="tok-typ
64800 65 22 3e 75 73 69 7a 65 3c 2f 73 70 61 6e 3e 20 7b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 e">usize</span>.{</span>.<span.c
64820 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b lass="line">....<span.class="tok
64840 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="
64860 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 29 tok-builtin">@typeName</span>(T)
64880 2e 6c 65 6e 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e .len;</span>.<span.class="line">
648a0 7d 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 3c 2f 70 72 65 3e 3c 2f 66 69 67 75 72 65 3e 3c 66 }</span></code></pre></figure><f
648c0 69 67 75 72 65 3e 3c 66 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
648e0 61 70 22 3e 53 68 65 6c 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
64900 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 24 20 3c 6b 62 64 3e 7a 69 67 20 74 ><span.class="line">$.<kbd>zig.t
64920 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 2f 6b 62 64 3e 3c est.test_inline_while.zig</kbd><
64940 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 31 2f 31 20 74 65 /span>.<span.class="line">1/1.te
64960 73 74 2e 69 6e 6c 69 6e 65 20 77 68 69 6c 65 20 6c 6f 6f 70 2e 2e 2e 20 4f 4b 3c 2f 73 70 61 6e st.inline.while.loop....OK</span
64980 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 41 6c 6c 20 31 20 74 65 73 74 73 >.<span.class="line">All.1.tests
649a0 20 70 61 73 73 65 64 2e 3c 2f 73 70 61 6e 3e 0a 3c 2f 73 61 6d 70 3e 3c 2f 70 72 65 3e 3c 2f 66 .passed.</span>.</samp></pre></f
649c0 69 67 75 72 65 3e 0a 20 20 20 20 20 20 3c 70 3e 0a 20 20 20 20 20 20 49 74 20 69 73 20 72 65 63 igure>.......<p>.......It.is.rec
649e0 6f 6d 6d 65 6e 64 65 64 20 74 6f 20 75 73 65 20 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 ommended.to.use.<code><span.clas
64a00 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 69 6e s="line"><span.class="tok-kw">in
64a20 6c 69 6e 65 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 20 6c 6f 6f 70 73 20 line</span></span></code>.loops.
64a40 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 3a 0a 20 only.for.one.of.these.reasons:..
64a60 20 20 20 20 20 3c 2f 70 3e 0a 20 20 20 20 20 20 3c 75 6c 3e 0a 20 20 20 20 20 20 20 20 3c 6c 69 .....</p>.......<ul>.........<li
64a80 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 20 61 74 >You.need.the.loop.to.execute.at
64aa0 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
64ac0 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 2f 6c 69 >.for.the.semantics.to.work.</li
64ae0 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 76 65 20 >.........<li>.........You.have.
64b00 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 63 69 62 a.benchmark.to.prove.that.forcib
64b20 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 20 77 61 ly.unrolling.the.loop.in.this.wa
64b40 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 20 20 20 y.is.measurably.faster..........
64b60 3c 2f 6c 69 3e 0a 20 20 20 20 20 20 3c 2f 75 6c 3e 0a 20 20 20 20 20 20 0a 20 20 20 20 20 20 3c </li>.......</ul>..............<
64b80 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=
64ba0 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 3d 22 23 "#if">if</a></li>.<li><a.href="#
64bc0 4f 70 74 69 6f 6e 61 6c 73 22 3e 4f 70 74 69 6f 6e 61 6c 73 3c 2f 61 3e 3c 2f 6c 69 3e 0a 3c 6c Optionals">Optionals</a></li>.<l
64be0 69 3e 3c 61 20 68 72 65 66 3d 22 23 45 72 72 6f 72 73 22 3e 45 72 72 6f 72 73 3c 2f 61 3e 3c 2f i><a.href="#Errors">Errors</a></
64c00 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 70 li>.<li><a.href="#comptime">comp
64c20 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 6e 72 65 time</a></li>.<li><a.href="#unre
64c40 61 63 68 61 62 6c 65 22 3e 75 6e 72 65 61 63 68 61 62 6c 65 3c 2f 61 3e 3c 2f 6c 69 3e 0a 3c 2f achable">unreachable</a></li>.</
64c60 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 22 3e 3c ul>...............<h2.id="for"><
64c80 61 20 68 72 65 66 3d 22 23 74 6f 63 2d 66 6f 72 22 3e 66 6f 72 3c 2f 61 3e 20 3c 61 20 63 6c 61 a.href="#toc-for">for</a>.<a.cla
64ca0 73 73 3d 22 68 64 72 22 20 68 72 65 66 3d 22 23 66 6f 72 22 3e c2 a7 3c 2f 61 3e 3c 2f 68 32 3e ss="hdr".href="#for">..</a></h2>
64cc0 0a 0a 20 20 20 20 20 20 3c 66 69 67 75 72 65 3e 3c 66 69 67 63 61 70 74 69 6f 6e 20 63 6c 61 73 ........<figure><figcaption.clas
64ce0 73 3d 22 7a 69 67 2d 63 61 70 22 3e 3c 63 69 74 65 20 63 6c 61 73 73 3d 22 66 69 6c 65 22 3e 66 s="zig-cap"><cite.class="file">f
64d00 6f 72 2e 7a 69 67 3c 2f 63 69 74 65 3e 3c 2f 66 69 67 63 61 70 74 69 6f 6e 3e 3c 70 72 65 3e 3c or.zig</cite></figcaption><pre><
64d20 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c code><span.class="line"><span.cl
64d40 61 73 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
64d60 20 3d 20 3c 73 70 61 6e 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
64d80 70 6f 72 74 3c 2f 73 70 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
64da0 22 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
64dc0 67 2e 65 78 70 65 63 74 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 g.expect;</span>.<span.class="li
64de0 6e 65 22 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c ne"></span>.<span.class="line"><
64e00 73 70 61 6e 20 63 6c 61 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>.
64e20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 73 74 72 22 3e 26 71 75 6f 74 3b 66 6f 72 20 <span.class="tok-str">&quot;for.
64e40 62 61 73 69 63 73 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 20 7b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 basics&quot;</span>.{</span>.<sp
64e60 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d an.class="line">....<span.class=
64e80 22 74 6f 6b 2d 6b 77 22 3e 63 6f 6e 73 74 3c 2f 73 70 61 6e 3e 20 69 74 65 6d 73 20 3d 20 5b 5f "tok-kw">const</span>.items.=.[_
64ea0 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
64ec0 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 34 3c n>.{.<span.class="tok-number">4<
64ee0 2f 73 70 61 6e 3e 2c 20 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"
64f00 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
64f20 65 72 22 3e 33 3c 2f 73 70 61 6e 3e 2c 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e er">3</span>,.<span.class="tok-n
64f40 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
64f60 6b 2d 6e 75 6d 62 65 72 22 3e 30 3c 2f 73 70 61 6e 3e 20 7d 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 k-number">0</span>.};</span>.<sp
64f80 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d an.class="line">....<span.class=
64fa0 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
64fc0 6c 61 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
64fe0 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 30 3c 2f 73 70 61 6e 3e 3b 3c an.class="tok-number">0</span>;<
65000 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 2f 73 70 61 6e /span>.<span.class="line"></span
65020 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 3c 73 70 61 6e 20 63 >.<span.class="line">....<span.c
65040 6c 61 73 73 3d 22 74 6f 6b 2d 63 6f 6d 6d 65 6e 74 22 3e 2f 2f 20 46 6f 72 20 6c 6f 6f 70 73 20 lass="tok-comment">//.For.loops.
65060 69 74 65 72 61 74 65 20 6f 76 65 72 20 73 6c 69 63 65 73 20 61 6e 64 20 61 72 72 61 79 73 2e 3c iterate.over.slices.and.arrays.<
65080 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 /span></span>.<span.class="line"
650a0 3e 20 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
650c0 70 61 6e 3e 20 28 69 74 65 6d 73 29 20 7c 76 61 6c 75 65 7c 20 7b 3c 2f 73 70 61 6e 3e 0a 3c 73 pan>.(items).|value|.{</span>.<s
650e0 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 20 20 20 20 3c 73 70 61 6e 20 63 pan.class="line">........<span.c
65100 6c 61 73 73 3d 22 74 6f 6b 2d 63 6f 6d 6d 65 6e 74 22 3e 2f 2f 20 42 72 65 61 6b 20 61 6e 64 20 lass="tok-comment">//.Break.and.
65120 63 6f 6e 74 69 6e 75 65 20 61 72 65 20 73 75 70 70 6f 72 74 65 64 2e 3c 2f 73 70 61 6e 3e 3c 2f continue.are.supported.</span></
65140 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 20 20 20 span>.<span.class="line">.......
65160 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>.
65180 28 76 61 6c 75 65 20 3d 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 (value.==.<span.class="tok-numbe
651a0 72 22 3e 30 3c 2f 73 70 61 6e 3e 29 20 7b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 r">0</span>).{</span>.<span.clas
651c0 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 20 20 20 20 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 s="line">............<span.class
651e0 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 3c 2f 73 70 61 6e ="tok-kw">continue</span>;</span
65200 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 20 20 20 20 7d 3c 2f >.<span.class="line">........}</
65220 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 20 20 20 span>.<span.class="line">.......
65240 20 73 75 6d 20 2b 3d 20 76 61 6c 75 65 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 .sum.+=.value;</span>.<span.clas
65260 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 7d 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 s="line">....}</span>.<span.clas
65280 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 s="line">....<span.class="tok-kw
652a0 22 3e 74 72 79 3c 2f 73 70 61 6e 3e 20 65 78 70 65 63 74 28 73 75 6d 20 3d 3d 20 3c 73 70 61 6e ">try</span>.expect(sum.==.<span
652c0 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 31 36 3c 2f 73 70 61 6e 3e 29 3b 3c .class="tok-number">16</span>);<
652e0 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 2f 73 70 61 6e /span>.<span.class="line"></span
65300 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 3c 73 70 61 6e 20 63 >.<span.class="line">....<span.c
65320 6c 61 73 73 3d 22 74 6f 6b 2d 63 6f 6d 6d 65 6e 74 22 3e 2f 2f 20 54 6f 20 69 74 65 72 61 74 65 lass="tok-comment">//.To.iterate
65340 20 6f 76 65 72 20 61 20 70 6f 72 74 69 6f 6e 20 6f 66 20 61 20 73 6c 69 63 65 2c 20 72 65 73 6c .over.a.portion.of.a.slice,.resl
65360 69 63 65 2e 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 ice.</span></span>.<span.class="
65380 6c 69 6e 65 22 3e 20 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 line">....<span.class="tok-kw">f
653a0 6f 72 3c 2f 73 70 61 6e 3e 20 28 69 74 65 6d 73 5b 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f or</span>.(items[<span.class="to
653c0 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 73 3d k-number">0</span>..<span.class=
653e0 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 31 3c 2f 73 70 61 6e 3e 5d 29 20 7c 76 61 6c 75 65 7c 20 "tok-number">1</span>]).|value|.
65400 7b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 {</span>.<span.class="line">....
65420 20 20 20 20 73 75 6d 20 2b 3d 20 76 61 6c 75 65 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 ....sum.+=.value;</span>.<span.c
65440 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 7d 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 lass="line">....}</span>.<span.c
65460 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b lass="line">....<span.class="tok
65480 2d 6b 77 22 3e 74 72 79 3c 2f 73 70 61 6e 3e 20 65 78 70 65 63 74 28 73 75 6d 20 3d 3d 20 3c 73 -kw">try</span>.expect(sum.==.<s
654a0 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>
654c0 29 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 2f 73 );</span>.<span.class="line"></s
654e0 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 3c 73 70 61 pan>.<span.class="line">....<spa
65500 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 63 6f 6d 6d 65 6e 74 22 3e 2f 2f 20 54 6f 20 61 63 63 65 n.class="tok-comment">//.To.acce
65520 73 73 20 74 68 65 20 69 6e 64 65 78 20 6f 66 20 69 74 65 72 61 74 69 6f 6e 2c 20 73 70 65 63 69 ss.the.index.of.iteration,.speci
65540 66 79 20 61 20 73 65 63 6f 6e 64 20 63 61 70 74 75 72 65 20 76 61 6c 75 65 2e 3c 2f 73 70 61 6e fy.a.second.capture.value.</span
65560 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 ></span>.<span.class="line">....
65580 3c 73 70 61 6e 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
655a0 73 20 69 73 20 7a 65 72 6f 2d 69 6e 64 65 78 65 64 2e 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e s.is.zero-indexed.</span></span>
655c0 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 3c 73 70 61 6e 20 63 6c .<span.class="line">....<span.cl
655e0 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 76 61 72 3c 2f 73 70 61 6e 3e 20 73 75 6d 32 3a 20 3c 73 ass="tok-kw">var</span>.sum2:.<s
65600 70 61 6e 20 63 6c 61 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>.
65620 3d 20 3c 73 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
65640 61 6e 3e 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 an>;</span>.<span.class="line">.
65660 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 66 6f 72 3c 2f 73 70 61 ...<span.class="tok-kw">for</spa
65680 6e 3e 20 28 69 74 65 6d 73 29 20 7c 5f 2c 20 69 7c 20 7b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e n>.(items).|_,.i|.{</span>.<span
656a0 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 .class="line">........<span.clas
656c0 73 3d 22 74 6f 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
656e0 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</
65700 73 70 61 6e 3e 28 69 29 20 3d 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 span>(i).==.<span.class="tok-typ
65720 65 22 3e 75 73 69 7a 65 3c 2f 73 70 61 6e 3e 29 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 e">usize</span>);</span>.<span.c
65740 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 20 20 20 20 73 75 6d 32 20 2b 3d 20 3c 73 70 61 lass="line">........sum2.+=.<spa
65760 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</
65780 73 70 61 6e 3e 28 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 69 33 32 span>(<span.class="tok-type">i32
657a0 3c 2f 73 70 61 6e 3e 2c 20 69 29 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d </span>,.i);</span>.<span.class=
657c0 22 6c 69 6e 65 22 3e 20 20 20 20 7d 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d "line">....}</span>.<span.class=
657e0 22 6c 69 6e 65 22 3e 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e "line">....<span.class="tok-kw">
65800 74 72 79 3c 2f 73 70 61 6e 3e 20 65 78 70 65 63 74 28 73 75 6d 32 20 3d 3d 20 3c 73 70 61 6e 20 try</span>.expect(sum2.==.<span.
65820 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 31 30 3c 2f 73 70 61 6e 3e 29 3b 3c 2f class="tok-number">10</span>);</
65840 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 7d 3c 2f 73 70 61 6e span>.<span.class="line">}</span
65860 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 >.<span.class="line"></span>.<sp
65880 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b an.class="line"><span.class="tok
658a0 2d 6b 77 22 3e 74 65 73 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
658c0 6b 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 k-str">&quot;for.reference&quot;
658e0 3c 2f 73 70 61 6e 3e 20 7b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 </span>.{</span>.<span.class="li
65900 6e 65 22 3e 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 76 61 72 ne">....<span.class="tok-kw">var
65920 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 22 </span>.items.=.[_]<span.class="
65940 74 6f 6b 2d 74 79 70 65 22 3e 69 33 32 3c 2f 73 70 61 6e 3e 20 7b 20 3c 73 70 61 6e 20 63 6c 61 tok-type">i32</span>.{.<span.cla
65960 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.
65980 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 34 3c 2f 73 70 61 6e 3e 2c 20 3c 73 70 class="tok-number">4</span>,.<sp
659a0 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>.}
659c0 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 2f 73 70 ;</span>.<span.class="line"></sp
659e0 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 3c 73 70 61 6e an>.<span.class="line">....<span
65a00 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 61 74 65 20 .class="tok-comment">//.Iterate.
65a20 6f 76 65 72 20 74 68 65 20 73 6c 69 63 65 20 62 79 20 72 65 66 65 72 65 6e 63 65 20 62 79 3c 2f over.the.slice.by.reference.by</
65a40 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e span></span>.<span.class="line">
65a60 20 20 20 20 3c 73 70 61 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">//
65a80 20 73 70 65 63 69 66 79 69 6e 67 20 74 68 61 74 20 74 68 65 20 63 61 70 74 75 72 65 20 76 61 6c .specifying.that.the.capture.val
65aa0 75 65 20 69 73 20 61 20 70 6f 69 6e 74 65 72 2e 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 0a 3c ue.is.a.pointer.</span></span>.<
65ac0 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 span.class="line">....<span.clas
65ae0 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 2a s="tok-kw">for</span>.(items).|*
65b00 76 61 6c 75 65 7c 20 7b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e value|.{</span>.<span.class="lin
65b20 65 22 3e 20 20 20 20 20 20 20 20 76 61 6c 75 65 2e 2a 20 2b 3d 20 3c 73 70 61 6e 20 63 6c 61 73 e">........value.*.+=.<span.clas
65b40 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 31 3c 2f 73 70 61 6e 3e 3b 3c 2f 73 70 61 6e 3e 0a s="tok-number">1</span>;</span>.
65b60 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 7d 3c 2f 73 70 61 6e 3e 0a <span.class="line">....}</span>.
65b80 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e <span.class="line"></span>.<span
65ba0 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 .class="line">....<span.class="t
65bc0 6f 6b 2d 6b 77 22 3e 74 72 79 3c 2f 73 70 61 6e 3e 20 65 78 70 65 63 74 28 69 74 65 6d 73 5b 3c ok-kw">try</span>.expect(items[<
65be0 73 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>
65c00 5d 20 3d 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 34 3c ].==.<span.class="tok-number">4<
65c20 2f 73 70 61 6e 3e 29 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e /span>);</span>.<span.class="lin
65c40 65 22 3e 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 74 72 79 3c e">....<span.class="tok-kw">try<
65c60 2f 73 70 61 6e 3e 20 65 78 70 65 63 74 28 69 74 65 6d 73 5b 3c 73 70 61 6e 20 63 6c 61 73 73 3d /span>.expect(items[<span.class=
65c80 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 31 3c 2f 73 70 61 6e 3e 5d 20 3d 3d 20 3c 73 70 61 6e 20 "tok-number">1</span>].==.<span.
65ca0 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 35 3c 2f 73 70 61 6e 3e 29 3b 3c 2f 73 class="tok-number">5</span>);</s
65cc0 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 3c 73 70 61 pan>.<span.class="line">....<spa
65ce0 6e 20 63 6c 61 73 73 3d 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
65d00 63 74 28 69 74 65 6d 73 5b 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 ct(items[<span.class="tok-number
65d20 22 3e 32 3c 2f 73 70 61 6e 3e 5d 20 3d 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d ">2</span>].==.<span.class="tok-
65d40 6e 75 6d 62 65 72 22 3e 33 3c 2f 73 70 61 6e 3e 29 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 number">3</span>);</span>.<span.
65d60 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 7d 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 class="line">}</span>.<span.clas
65d80 73 3d 22 6c 69 6e 65 22 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 s="line"></span>.<span.class="li
65da0 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 74 65 73 74 3c 2f 73 ne"><span.class="tok-kw">test</s
65dc0 70 61 6e 3e 20 3c 73 70 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
65de0 3b 66 6f 72 20 65 6c 73 65 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 20 7b 3c 2f 73 70 61 6e 3e 0a ;for.else&quot;</span>.{</span>.
65e00 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 <span.class="line">....<span.cla
65e20 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 6c 6f 77 73 20 61 ss="tok-comment">//.For.allows.a
65e40 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 20 73 61 6d 65 20 n.else.attached.to.it,.the.same.
65e60 61 73 20 61 20 77 68 69 6c 65 20 6c 6f 6f 70 2e 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 0a 3c as.a.while.loop.</span></span>.<
65e80 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 span.class="line">....<span.clas
65ea0 73 3d 22 74 6f 6b 2d 6b 77 22 3e 76 61 72 3c 2f 73 70 61 6e 3e 20 69 74 65 6d 73 20 3d 20 5b 5f s="tok-kw">var</span>.items.=.[_
65ec0 5d 3f 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 69 33 32 3c 2f 73 70 ]?<span.class="tok-type">i32</sp
65ee0 61 6e 3e 20 7b 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 33 an>.{.<span.class="tok-number">3
65f00 3c 2f 73 70 61 6e 3e 2c 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
65f20 22 3e 34 3c 2f 73 70 61 6e 3e 2c 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6c ">4</span>,.<span.class="tok-nul
65f40 6c 22 3e 6e 75 6c 6c 3c 2f 73 70 61 6e 3e 2c 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b l">null</span>,.<span.class="tok
65f60 2d 6e 75 6d 62 65 72 22 3e 35 3c 2f 73 70 61 6e 3e 20 7d 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 -number">5</span>.};</span>.<spa
65f80 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 n.class="line"></span>.<span.cla
65fa0 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 63 ss="line">....<span.class="tok-c
65fc0 6f 6d 6d 65 6e 74 22 3e 2f 2f 20 46 6f 72 20 6c 6f 6f 70 73 20 63 61 6e 20 61 6c 73 6f 20 62 65 omment">//.For.loops.can.also.be
65fe0 20 75 73 65 64 20 61 73 20 65 78 70 72 65 73 73 69 6f 6e 73 2e 3c 2f 73 70 61 6e 3e 3c 2f 73 70 .used.as.expressions.</span></sp
66000 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 3c 73 70 61 6e an>.<span.class="line">....<span
66020 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 6d 69 6c 61 72 20 .class="tok-comment">//.Similar.
66040 74 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 to.while.loops,.when.you.break.f
66060 72 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 rom.a.for.loop,.the.else.branch.
66080 69 73 20 6e 6f 74 20 65 76 61 6c 75 61 74 65 64 2e 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 0a is.not.evaluated.</span></span>.
660a0 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 <span.class="line">....<span.cla
660c0 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 76 61 72 3c 2f 73 70 61 6e 3e 20 73 75 6d 3a 20 3c 73 70 61 ss="tok-kw">var</span>.sum:.<spa
660e0 6e 20 63 6c 61 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>.=.
66100 3c 73 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
66120 3e 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 >;</span>.<span.class="line">...
66140 20 3c 73 70 61 6e 20 63 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
66160 6e 3e 20 72 65 73 75 6c 74 20 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 n>.result.=.<span.class="tok-kw"
66180 3e 66 6f 72 3c 2f 73 70 61 6e 3e 20 28 69 74 65 6d 73 29 20 7c 76 61 6c 75 65 7c 20 7b 3c 2f 73 >for</span>.(items).|value|.{</s
661a0 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 20 20 20 20 pan>.<span.class="line">........
661c0 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 69 66 3c 2f 73 70 61 6e 3e 20 28 <span.class="tok-kw">if</span>.(
661e0 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 3e value.!=.<span.class="tok-null">
66200 6e 75 6c 6c 3c 2f 73 70 61 6e 3e 29 20 7b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 null</span>).{</span>.<span.clas
66220 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 20 20 20 20 20 20 20 20 73 75 6d 20 2b 3d 20 76 61 6c 75 s="line">............sum.+=.valu
66240 65 2e 3f 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 e.?;</span>.<span.class="line">.
66260 20 20 20 20 20 20 20 7d 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e .......}</span>.<span.class="lin
66280 65 22 3e 20 20 20 20 7d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 65 6c e">....}.<span.class="tok-kw">el
662a0 73 65 3c 2f 73 70 61 6e 3e 20 62 6c 6b 3a 20 7b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c se</span>.blk:.{</span>.<span.cl
662c0 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 ass="line">........<span.class="
662e0 74 6f 6b 2d 6b 77 22 3e 74 72 79 3c 2f 73 70 61 6e 3e 20 65 78 70 65 63 74 28 73 75 6d 20 3d 3d tok-kw">try</span>.expect(sum.==
66300 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 31 32 3c 2f 73 70 .<span.class="tok-number">12</sp
66320 61 6e 3e 29 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e an>);</span>.<span.class="line">
66340 20 20 20 20 20 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
66360 61 6b 3c 2f 73 70 61 6e 3e 20 3a 62 6c 6b 20 73 75 6d 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e ak</span>.:blk.sum;</span>.<span
66380 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 7d 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 .class="line">....};</span>.<spa
663a0 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 n.class="line">....<span.class="
663c0 74 6f 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 tok-kw">try</span>.expect(result
663e0 20 3d 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 31 32 3c .==.<span.class="tok-number">12<
66400 2f 73 70 61 6e 3e 29 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e /span>);</span>.<span.class="lin
66420 65 22 3e 7d 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 3c 2f 70 72 65 3e 3c 2f 66 69 67 75 72 65 e">}</span></code></pre></figure
66440 3e 3c 66 69 67 75 72 65 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
66460 6c 2d 63 61 70 22 3e 53 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
66480 61 6d 70 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 24 20 3c 6b 62 64 3e 7a 69 amp><span.class="line">$.<kbd>zi
664a0 67 20 74 65 73 74 20 66 6f 72 2e 7a 69 67 3c 2f 6b 62 64 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 g.test.for.zig</kbd></span>.<spa
664c0 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 31 2f 33 20 74 65 73 74 2e 66 6f 72 20 62 61 73 69 n.class="line">1/3.test.for.basi
664e0 63 73 2e 2e 2e 20 4f 4b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e cs....OK</span>.<span.class="lin
66500 65 22 3e 32 2f 33 20 74 65 73 74 2e 66 6f 72 20 72 65 66 65 72 65 6e 63 65 2e 2e 2e 20 4f 4b 3c e">2/3.test.for.reference....OK<
66520 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 33 2f 33 20 74 65 /span>.<span.class="line">3/3.te
66540 73 74 2e 66 6f 72 20 65 6c 73 65 2e 2e 2e 20 4f 4b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 st.for.else....OK</span>.<span.c
66560 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 41 6c 6c 20 33 20 74 65 73 74 73 20 70 61 73 73 65 64 2e 3c lass="line">All.3.tests.passed.<
66580 2f 73 70 61 6e 3e 0a 3c 2f 73 61 6d 70 3e 3c 2f 70 72 65 3e 3c 2f 66 69 67 75 72 65 3e 0a 20 20 /span>.</samp></pre></figure>...
665a0 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 68 72 65 66 ....<h3.id="Labeled-for"><a.href
665c0 3d 22 23 74 6f 63 2d 4c 61 62 65 6c 65 64 2d 66 6f 72 22 3e 4c 61 62 65 6c 65 64 20 66 6f 72 3c ="#toc-Labeled-for">Labeled.for<
665e0 2f 61 3e 20 3c 61 20 63 6c 61 73 73 3d 22 68 64 72 22 20 68 72 65 66 3d 22 23 4c 61 62 65 6c 65 /a>.<a.class="hdr".href="#Labele
66600 64 2d 66 6f 72 22 3e c2 a7 3c 2f 61 3e 3c 2f 68 33 3e 0a 0a 20 20 20 20 20 20 3c 70 3e 57 68 65 d-for">..</a></h3>........<p>Whe
66620 6e 20 61 20 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 n.a.<code><span.class="line"><sp
66640 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 66 6f 72 3c 2f 73 70 61 6e 3e 3c 2f 73 70 an.class="tok-kw">for</span></sp
66660 61 6e 3e 3c 2f 63 6f 64 65 3e 20 6c 6f 6f 70 20 69 73 20 6c 61 62 65 6c 65 64 2c 20 69 74 20 63 an></code>.loop.is.labeled,.it.c
66680 61 6e 20 62 65 20 72 65 66 65 72 65 6e 63 65 64 20 66 72 6f 6d 20 61 20 3c 63 6f 64 65 3e 3c 73 an.be.referenced.from.a.<code><s
666a0 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f pan.class="line"><span.class="to
666c0 6b 2d 6b 77 22 3e 62 72 65 61 6b 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e k-kw">break</span></span></code>
666e0 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 6f 72 20 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c ...............or.<code><span.cl
66700 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e ass="line"><span.class="tok-kw">
66720 63 6f 6e 74 69 6e 75 65 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 20 66 72 continue</span></span></code>.fr
66740 6f 6d 20 77 69 74 68 69 6e 20 61 20 6e 65 73 74 65 64 20 6c 6f 6f 70 3a 3c 2f 70 3e 0a 20 20 20 om.within.a.nested.loop:</p>....
66760 20 20 20 3c 66 69 67 75 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
66780 67 2d 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
667a0 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 70 74 69 ested_break.zig</cite></figcapti
667c0 6f 6e 3e 3c 70 72 65 3e 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 on><pre><code><span.class="line"
667e0 3e 3c 73 70 61 6e 20 63 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
66800 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
66820 6e 22 3e 40 69 6d 70 6f 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
66840 6f 6b 2d 73 74 72 22 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>);
66860 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e </span>.<span.class="line"><span
66880 20 63 6c 61 73 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
668a0 65 63 74 20 3d 20 73 74 64 2e 74 65 73 74 69 6e 67 2e 65 78 70 65 63 74 3b 3c 2f 73 70 61 6e 3e ect.=.std.testing.expect;</span>
668c0 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 .<span.class="line"></span>.<spa
668e0 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d n.class="line"><span.class="tok-
66900 6b 77 22 3e 74 65 73 74 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
66920 2d 73 74 72 22 3e 26 71 75 6f 74 3b 6e 65 73 74 65 64 20 62 72 65 61 6b 26 71 75 6f 74 3b 3c 2f -str">&quot;nested.break&quot;</
66940 73 70 61 6e 3e 20 7b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 span>.{</span>.<span.class="line
66960 22 3e 20 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</
66980 73 70 61 6e 3e 20 63 6f 75 6e 74 3a 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 span>.count:.<span.class="tok-ty
669a0 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="
669c0 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 30 3c 2f 73 70 61 6e 3e 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 tok-number">0</span>;</span>.<sp
669e0 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 6f 75 74 65 72 3a 20 3c 73 70 61 6e an.class="line">....outer:.<span
66a00 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 66 6f 72 3c 2f 73 70 61 6e 3e 20 28 5b 5f 5d 3c .class="tok-kw">for</span>.([_]<
66a20 73 70 61 6e 20 63 6c 61 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>
66a40 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
66a60 61 6e 3e 2c 20 3c 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<
66a80 2f 73 70 61 6e 3e 2c 20 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"
66aa0 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
66ac0 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 6e er">4</span>,.<span.class="tok-n
66ae0 75 6d 62 65 72 22 3e 35 3c 2f 73 70 61 6e 3e 20 7d 29 20 7c 5f 7c 20 7b 3c 2f 73 70 61 6e 3e 0a umber">5</span>.}).|_|.{</span>.
66b00 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 20 20 20 20 3c 73 70 61 6e <span.class="line">........<span
66b20 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 66 6f 72 3c 2f 73 70 61 6e 3e 20 28 5b 5f 5d 3c .class="tok-kw">for</span>.([_]<
66b40 73 70 61 6e 20 63 6c 61 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>
66b60 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
66b80 61 6e 3e 2c 20 3c 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<
66ba0 2f 73 70 61 6e 3e 2c 20 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"
66bc0 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
66be0 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 6e er">4</span>,.<span.class="tok-n
66c00 75 6d 62 65 72 22 3e 35 3c 2f 73 70 61 6e 3e 20 7d 29 20 7c 5f 7c 20 7b 3c 2f 73 70 61 6e 3e 0a umber">5</span>.}).|_|.{</span>.
66c20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 20 20 20 20 20 20 20 20 63 <span.class="line">............c
66c40 6f 75 6e 74 20 2b 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 ount.+=.<span.class="tok-number"
66c60 3e 31 3c 2f 73 70 61 6e 3e 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c >1</span>;</span>.<span.class="l
66c80 69 6e 65 22 3e 20 20 20 20 20 20 20 20 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f ine">............<span.class="to
66ca0 6b 2d 6b 77 22 3e 62 72 65 61 6b 3c 2f 73 70 61 6e 3e 20 3a 6f 75 74 65 72 3b 3c 2f 73 70 61 6e k-kw">break</span>.:outer;</span
66cc0 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 20 20 20 20 7d 3c 2f >.<span.class="line">........}</
66ce0 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 7d 3c 2f span>.<span.class="line">....}</
66d00 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 3c 73 70 span>.<span.class="line">....<sp
66d20 61 6e 20 63 6c 61 73 73 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
66d40 65 63 74 28 63 6f 75 6e 74 20 3d 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 ect(count.==.<span.class="tok-nu
66d60 6d 62 65 72 22 3e 31 3c 2f 73 70 61 6e 3e 29 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c mber">1</span>);</span>.<span.cl
66d80 61 73 73 3d 22 6c 69 6e 65 22 3e 7d 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d ass="line">}</span>.<span.class=
66da0 22 6c 69 6e 65 22 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 "line"></span>.<span.class="line
66dc0 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 74 65 73 74 3c 2f 73 70 61 "><span.class="tok-kw">test</spa
66de0 6e 3e 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 73 74 72 22 3e 26 71 75 6f 74 3b 6e n>.<span.class="tok-str">&quot;n
66e00 65 73 74 65 64 20 63 6f 6e 74 69 6e 75 65 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 20 7b 3c 2f 73 ested.continue&quot;</span>.{</s
66e20 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 3c 73 70 61 pan>.<span.class="line">....<spa
66e40 6e 20 63 6c 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 n.class="tok-kw">var</span>.coun
66e60 74 3a 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 75 73 69 7a 65 3c t:.<span.class="tok-type">usize<
66e80 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
66ea0 22 3e 30 3c 2f 73 70 61 6e 3e 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 ">0</span>;</span>.<span.class="
66ec0 6c 69 6e 65 22 3e 20 20 20 20 6f 75 74 65 72 3a 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f line">....outer:.<span.class="to
66ee0 6b 2d 6b 77 22 3e 66 6f 72 3c 2f 73 70 61 6e 3e 20 28 5b 5f 5d 3c 73 70 61 6e 20 63 6c 61 73 73 k-kw">for</span>.([_]<span.class
66f00 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 6c ="tok-type">i32</span>{.<span.cl
66f20 61 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
66f40 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
66f60 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>,
66f80 20 3c 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
66fa0 6e 3e 2c 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 35 3c 2f n>,.<span.class="tok-number">5</
66fc0 73 70 61 6e 3e 2c 20 3c 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">
66fe0 36 3c 2f 73 70 61 6e 3e 2c 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 6</span>,.<span.class="tok-numbe
67000 72 22 3e 37 3c 2f 73 70 61 6e 3e 2c 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 r">7</span>,.<span.class="tok-nu
67020 6d 62 65 72 22 3e 38 3c 2f 73 70 61 6e 3e 20 7d 29 20 7c 5f 7c 20 7b 3c 2f 73 70 61 6e 3e 0a 3c mber">8</span>.}).|_|.{</span>.<
67040 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 20 20 20 20 3c 73 70 61 6e 20 span.class="line">........<span.
67060 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 66 6f 72 3c 2f 73 70 61 6e 3e 20 28 5b 5f 5d 3c 73 class="tok-kw">for</span>.([_]<s
67080 70 61 6e 20 63 6c 61 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>{
670a0 20 3c 73 70 61 6e 20 63 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
670c0 6e 3e 2c 20 3c 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</
670e0 73 70 61 6e 3e 2c 20 3c 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">
67100 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
67120 72 22 3e 34 3c 2f 73 70 61 6e 3e 2c 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 r">4</span>,.<span.class="tok-nu
67140 6d 62 65 72 22 3e 35 3c 2f 73 70 61 6e 3e 20 7d 29 20 7c 5f 7c 20 7b 3c 2f 73 70 61 6e 3e 0a 3c mber">5</span>.}).|_|.{</span>.<
67160 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 20 20 20 20 20 20 20 20 63 6f span.class="line">............co
67180 75 6e 74 20 2b 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e unt.+=.<span.class="tok-number">
671a0 31 3c 2f 73 70 61 6e 3e 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 1</span>;</span>.<span.class="li
671c0 6e 65 22 3e 20 20 20 20 20 20 20 20 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b ne">............<span.class="tok
671e0 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 3c 2f 73 70 -kw">continue</span>.:outer;</sp
67200 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 20 20 20 20 7d an>.<span.class="line">........}
67220 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 7d </span>.<span.class="line">....}
67240 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 2f 73 70 61 </span>.<span.class="line"></spa
67260 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 3c 73 70 61 6e 20 n>.<span.class="line">....<span.
67280 63 6c 61 73 73 3d 22 74 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
672a0 28 63 6f 75 6e 74 20 3d 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 (count.==.<span.class="tok-numbe
672c0 72 22 3e 38 3c 2f 73 70 61 6e 3e 29 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 r">8</span>);</span>.<span.class
672e0 3d 22 6c 69 6e 65 22 3e 7d 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 3c 2f 70 72 65 3e 3c 2f 66 ="line">}</span></code></pre></f
67300 69 67 75 72 65 3e 3c 66 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=
67320 22 73 68 65 6c 6c 2d 63 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
67340 72 65 3e 3c 73 61 6d 70 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 24 20 3c 6b re><samp><span.class="line">$.<k
67360 62 64 3e 7a 69 67 20 74 65 73 74 20 74 65 73 74 5f 6e 65 73 74 65 64 5f 62 72 65 61 6b 2e 7a 69 bd>zig.test.test_nested_break.zi
67380 67 3c 2f 6b 62 64 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 g</kbd></span>.<span.class="line
673a0 22 3e 31 2f 32 20 74 65 73 74 2e 6e 65 73 74 65 64 20 62 72 65 61 6b 2e 2e 2e 20 4f 4b 3c 2f 73 ">1/2.test.nested.break....OK</s
673c0 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 32 2f 32 20 74 65 73 74 pan>.<span.class="line">2/2.test
673e0 2e 6e 65 73 74 65 64 20 63 6f 6e 74 69 6e 75 65 2e 2e 2e 20 4f 4b 3c 2f 73 70 61 6e 3e 0a 3c 73 .nested.continue....OK</span>.<s
67400 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 41 6c 6c 20 32 20 74 65 73 74 73 20 70 61 73 pan.class="line">All.2.tests.pas
67420 73 65 64 2e 3c 2f 73 70 61 6e 3e 0a 3c 2f 73 61 6d 70 3e 3c 2f 70 72 65 3e 3c 2f 66 69 67 75 72 sed.</span>.</samp></pre></figur
67440 65 3e 0a 20 20 20 20 20 20 0a 20 20 20 20 20 20 3c 68 33 20 69 64 3d 22 69 6e 6c 69 6e 65 2d 66 e>..............<h3.id="inline-f
67460 6f 72 22 3e 3c 61 20 68 72 65 66 3d 22 23 74 6f 63 2d 69 6e 6c 69 6e 65 2d 66 6f 72 22 3e 69 6e or"><a.href="#toc-inline-for">in
67480 6c 69 6e 65 20 66 6f 72 3c 2f 61 3e 20 3c 61 20 63 6c 61 73 73 3d 22 68 64 72 22 20 68 72 65 66 line.for</a>.<a.class="hdr".href
674a0 3d 22 23 69 6e 6c 69 6e 65 2d 66 6f 72 22 3e c2 a7 3c 2f 61 3e 3c 2f 68 33 3e 0a 0a 20 20 20 20 ="#inline-for">..</a></h3>......
674c0 20 20 3c 70 3e 0a 20 20 20 20 20 20 46 6f 72 20 6c 6f 6f 70 73 20 63 61 6e 20 62 65 20 69 6e 6c ..<p>.......For.loops.can.be.inl
674e0 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
67500 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
67520 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
67540 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,.......
67560 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
67580 20 76 61 6c 75 65 73 2e 0a 20 20 20 20 20 20 54 68 65 20 63 61 70 74 75 72 65 20 76 61 6c 75 65 .values........The.capture.value
675a0 20 61 6e 64 20 69 74 65 72 61 74 6f 72 20 76 61 6c 75 65 20 6f 66 20 69 6e 6c 69 6e 65 64 20 66 .and.iterator.value.of.inlined.f
675c0 6f 72 20 6c 6f 6f 70 73 20 61 72 65 0a 20 20 20 20 20 20 63 6f 6d 70 69 6c 65 2d 74 69 6d 65 20 or.loops.are.......compile-time.
675e0 6b 6e 6f 77 6e 2e 0a 20 20 20 20 20 20 3c 2f 70 3e 0a 20 20 20 20 20 20 3c 66 69 67 75 72 65 3e known........</p>.......<figure>
67600 3c 66 69 67 63 61 70 74 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
67620 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 6c 6f 6f 70 2e e.class="file">test_inline_loop.
67640 7a 69 67 3c 2f 63 69 74 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
67660 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 e><span.class="line"><span.class
67680 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.=.
676a0 3c 73 70 61 6e 20 63 6c 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
676c0 74 3c 2f 73 70 61 6e 3e 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">&
676e0 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
67700 78 70 65 63 74 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 xpect;</span>.<span.class="line"
67720 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 ></span>.<span.class="line"><spa
67740 6e 20 63 6c 61 73 73 3d 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
67760 61 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 6c 69 6e 65 20 an.class="tok-str">&quot;inline.
67780 66 6f 72 20 6c 6f 6f 70 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 20 7b 3c 2f 73 70 61 6e 3e 0a 3c for.loop&quot;</span>.{</span>.<
677a0 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 span.class="line">....<span.clas
677c0 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 73 20 3d 20 5b s="tok-kw">const</span>.nums.=.[
677e0 5f 5d 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 69 33 32 3c 2f 73 70 _]<span.class="tok-type">i32</sp
67800 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 32 3c 2f an>{<span.class="tok-number">2</
67820 73 70 61 6e 3e 2c 20 3c 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">
67840 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
67860 72 22 3e 36 3c 2f 73 70 61 6e 3e 7d 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 r">6</span>};</span>.<span.class
67880 3d 22 6c 69 6e 65 22 3e 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 ="line">....<span.class="tok-kw"
678a0 3e 76 61 72 3c 2f 73 70 61 6e 3e 20 73 75 6d 3a 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f >var</span>.sum:.<span.class="to
678c0 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
678e0 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 30 3c 2f 73 70 61 6e 3e 3b 3c 2f 73 70 61 6e 3e ss="tok-number">0</span>;</span>
67900 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 3c 73 70 61 6e 20 63 6c .<span.class="line">....<span.cl
67920 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
67940 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 66 6f 72 3c 2f 73 70 61 6e 3e 20 28 6e 75 6d 73 .class="tok-kw">for</span>.(nums
67960 29 20 7c 69 7c 20 7b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 ).|i|.{</span>.<span.class="line
67980 22 3e 20 20 20 20 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 63 ">........<span.class="tok-kw">c
679a0 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 6b onst</span>.T.=.<span.class="tok
679c0 2d 6b 77 22 3e 73 77 69 74 63 68 3c 2f 73 70 61 6e 3e 20 28 69 29 20 7b 3c 2f 73 70 61 6e 3e 0a -kw">switch</span>.(i).{</span>.
679e0 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 20 20 20 20 20 20 20 20 3c <span.class="line">............<
67a00 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>
67a20 20 3d 26 67 74 3b 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 66 33 .=&gt;.<span.class="tok-type">f3
67a40 32 3c 2f 73 70 61 6e 3e 2c 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 2</span>,</span>.<span.class="li
67a60 6e 65 22 3e 20 20 20 20 20 20 20 20 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b ne">............<span.class="tok
67a80 2d 6e 75 6d 62 65 72 22 3e 34 3c 2f 73 70 61 6e 3e 20 3d 26 67 74 3b 20 3c 73 70 61 6e 20 63 6c -number">4</span>.=&gt;.<span.cl
67aa0 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 69 38 3c 2f 73 70 61 6e 3e 2c 3c 2f 73 70 61 6e 3e ass="tok-type">i8</span>,</span>
67ac0 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 20 20 20 20 20 20 20 20 .<span.class="line">............
67ae0 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 36 3c 2f 73 70 61 6e <span.class="tok-number">6</span
67b00 3e 20 3d 26 67 74 3b 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 62 >.=&gt;.<span.class="tok-type">b
67b20 6f 6f 6c 3c 2f 73 70 61 6e 3e 2c 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 ool</span>,</span>.<span.class="
67b40 6c 69 6e 65 22 3e 20 20 20 20 20 20 20 20 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 line">............<span.class="t
67b60 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
67b80 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>
67ba0 2c 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 ,</span>.<span.class="line">....
67bc0 20 20 20 20 7d 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 ....};</span>.<span.class="line"
67be0 3e 20 20 20 20 20 20 20 20 73 75 6d 20 2b 3d 20 74 79 70 65 4e 61 6d 65 4c 65 6e 67 74 68 28 54 >........sum.+=.typeNameLength(T
67c00 29 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 );</span>.<span.class="line">...
67c20 20 7d 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 .}</span>.<span.class="line">...
67c40 20 3c 73 70 61 6e 20 63 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>
67c60 20 65 78 70 65 63 74 28 73 75 6d 20 3d 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d .expect(sum.==.<span.class="tok-
67c80 6e 75 6d 62 65 72 22 3e 39 3c 2f 73 70 61 6e 3e 29 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 number">9</span>);</span>.<span.
67ca0 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 7d 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 class="line">}</span>.<span.clas
67cc0 73 3d 22 6c 69 6e 65 22 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 s="line"></span>.<span.class="li
67ce0 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 66 6e 3c 2f 73 70 61 ne"><span.class="tok-kw">fn</spa
67d00 6e 3e 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 66 6e 22 3e 74 79 70 65 4e 61 6d 65 n>.<span.class="tok-fn">typeName
67d20 4c 65 6e 67 74 68 3c 2f 73 70 61 6e 3e 28 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b Length</span>(<span.class="tok-k
67d40 77 22 3e 63 6f 6d 70 74 69 6d 65 3c 2f 73 70 61 6e 3e 20 54 3a 20 3c 73 70 61 6e 20 63 6c 61 73 w">comptime</span>.T:.<span.clas
67d60 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 74 79 70 65 3c 2f 73 70 61 6e 3e 29 20 3c 73 70 61 6e 20 s="tok-type">type</span>).<span.
67d80 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 75 73 69 7a 65 3c 2f 73 70 61 6e 3e 20 7b 3c class="tok-type">usize</span>.{<
67da0 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 3c 73 /span>.<span.class="line">....<s
67dc0 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>
67de0 20 3c 73 70 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
67e00 4e 61 6d 65 3c 2f 73 70 61 6e 3e 28 54 29 2e 6c 65 6e 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e Name</span>(T).len;</span>.<span
67e20 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 7d 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 3c 2f 70 .class="line">}</span></code></p
67e40 72 65 3e 3c 2f 66 69 67 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.
67e60 63 6c 61 73 73 3d 22 73 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
67e80 69 6f 6e 3e 3c 70 72 65 3e 3c 73 61 6d 70 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 ion><pre><samp><span.class="line
67ea0 22 3e 24 20 3c 6b 62 64 3e 7a 69 67 20 74 65 73 74 20 74 65 73 74 5f 69 6e 6c 69 6e 65 5f 6c 6f ">$.<kbd>zig.test.test_inline_lo
67ec0 6f 70 2e 7a 69 67 3c 2f 6b 62 64 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d op.zig</kbd></span>.<span.class=
67ee0 22 6c 69 6e 65 22 3e 31 2f 31 20 74 65 73 74 2e 69 6e 6c 69 6e 65 20 66 6f 72 20 6c 6f 6f 70 2e "line">1/1.test.inline.for.loop.
67f00 2e 2e 20 4f 4b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e ...OK</span>.<span.class="line">
67f20 41 6c 6c 20 31 20 74 65 73 74 73 20 70 61 73 73 65 64 2e 3c 2f 73 70 61 6e 3e 0a 3c 2f 73 61 6d All.1.tests.passed.</span>.</sam
67f40 70 3e 3c 2f 70 72 65 3e 3c 2f 66 69 67 75 72 65 3e 0a 20 20 20 20 20 20 3c 70 3e 0a 20 20 20 20 p></pre></figure>.......<p>.....
67f60 20 20 49 74 20 69 73 20 72 65 63 6f 6d 6d 65 6e 64 65 64 20 74 6f 20 75 73 65 20 3c 63 6f 64 65 ..It.is.recommended.to.use.<code
67f80 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d ><span.class="line"><span.class=
67fa0 22 74 6f 6b 2d 6b 77 22 3e 69 6e 6c 69 6e 65 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 3c 2f 63 "tok-kw">inline</span></span></c
67fc0 6f 64 65 3e 20 6c 6f 6f 70 73 20 6f 6e 6c 79 20 66 6f 72 20 6f 6e 65 20 6f 66 20 74 68 65 73 65 ode>.loops.only.for.one.of.these
67fe0 20 72 65 61 73 6f 6e 73 3a 0a 20 20 20 20 20 20 3c 2f 70 3e 0a 20 20 20 20 20 20 3c 75 6c 3e 0a .reasons:.......</p>.......<ul>.
68000 20 20 20 20 20 20 20 20 3c 6c 69 3e 59 6f 75 20 6e 65 65 64 20 74 68 65 20 6c 6f 6f 70 20 74 6f ........<li>You.need.the.loop.to
68020 20 65 78 65 63 75 74 65 20 61 74 20 3c 61 20 68 72 65 66 3d 22 23 63 6f 6d 70 74 69 6d 65 22 3e .execute.at.<a.href="#comptime">
68040 63 6f 6d 70 74 69 6d 65 3c 2f 61 3e 20 66 6f 72 20 74 68 65 20 73 65 6d 61 6e 74 69 63 73 20 74 comptime</a>.for.the.semantics.t
68060 6f 20 77 6f 72 6b 2e 3c 2f 6c 69 3e 0a 20 20 20 20 20 20 20 20 3c 6c 69 3e 0a 20 20 20 20 20 20 o.work.</li>.........<li>.......
68080 20 20 59 6f 75 20 68 61 76 65 20 61 20 62 65 6e 63 68 6d 61 72 6b 20 74 6f 20 70 72 6f 76 65 20 ..You.have.a.benchmark.to.prove.
680a0 74 68 61 74 20 66 6f 72 63 69 62 6c 79 20 75 6e 72 6f 6c 6c 69 6e 67 20 74 68 65 20 6c 6f 6f 70 that.forcibly.unrolling.the.loop
680c0 20 69 6e 20 74 68 69 73 20 77 61 79 20 69 73 20 6d 65 61 73 75 72 61 62 6c 79 20 66 61 73 74 65 .in.this.way.is.measurably.faste
680e0 72 2e 0a 20 20 20 20 20 20 20 20 3c 2f 6c 69 3e 0a 20 20 20 20 20 20 3c 2f 75 6c 3e 0a 20 20 20 r..........</li>.......</ul>....
68100 20 20 20 0a 20 20 20 20 20 20 3c 70 3e 53 65 65 20 61 6c 73 6f 3a 3c 2f 70 3e 3c 75 6c 3e 0a 3c ..........<p>See.also:</p><ul>.<
68120 6c 69 3e 3c 61 20 68 72 65 66 3d 22 23 77 68 69 6c 65 22 3e 77 68 69 6c 65 3c 2f 61 3e 3c 2f 6c li><a.href="#while">while</a></l
68140 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 70 74 i>.<li><a.href="#comptime">compt
68160 69 6d 65 3c 2f 61 3e 3c 2f 6c 69 3e 0a 3c 6c 69 3e 3c 61 20 68 72 65 66 3d 22 23 41 72 72 61 79 ime</a></li>.<li><a.href="#Array
68180 73 22 3e 41 72 72 61 79 73 3c 2f 61 3e 3c 2f 6c 69 3e 0a 3c 6c 69 3e 3c 61 20 68 72 65 66 3d 22 s">Arrays</a></li>.<li><a.href="
681a0 23 53 6c 69 63 65 73 22 3e 53 6c 69 63 65 73 3c 2f 61 3e 3c 2f 6c 69 3e 0a 3c 2f 75 6c 3e 0a 0a #Slices">Slices</a></li>.</ul>..
681c0 20 20 20 20 20 20 0a 20 20 20 20 20 20 3c 68 32 20 69 64 3d 22 69 66 22 3e 3c 61 20 68 72 65 66 .............<h2.id="if"><a.href
681e0 3d 22 23 74 6f 63 2d 69 66 22 3e 69 66 3c 2f 61 3e 20 3c 61 20 63 6c 61 73 73 3d 22 68 64 72 22 ="#toc-if">if</a>.<a.class="hdr"
68200 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 20 3c .href="#if">..</a></h2>........<
68220 66 69 67 75 72 65 3e 3c 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
68240 70 22 3e 3c 63 69 74 65 20 63 6c 61 73 73 3d 22 66 69 6c 65 22 3e 69 66 2e 7a 69 67 3c 2f 63 69 p"><cite.class="file">if.zig</ci
68260 74 65 3e 3c 2f 66 69 67 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
68280 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 63 .class="line"><span.class="tok-c
682a0 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 68 61 76 65 20 74 omment">//.If.expressions.have.t
682c0 68 72 65 65 20 75 73 65 73 2c 20 63 6f 72 72 65 73 70 6f 6e 64 69 6e 67 20 74 6f 20 74 68 65 20 hree.uses,.corresponding.to.the.
682e0 74 68 72 65 65 20 74 79 70 65 73 3a 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e three.types:</span></span>.<span
68300 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 63 .class="line"><span.class="tok-c
68320 6f 6d 6d 65 6e 74 22 3e 2f 2f 20 2a 20 62 6f 6f 6c 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 0a omment">//.*.bool</span></span>.
68340 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 <span.class="line"><span.class="
68360 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 3c 2f 73 70 61 tok-comment">//.*.?T</span></spa
68380 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 n>.<span.class="line"><span.clas
683a0 73 3d 22 74 6f 6b 2d 63 6f 6d 6d 65 6e 74 22 3e 2f 2f 20 2a 20 61 6e 79 65 72 72 6f 72 21 54 3c s="tok-comment">//.*.anyerror!T<
683c0 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 /span></span>.<span.class="line"
683e0 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 ></span>.<span.class="line"><spa
68400 6e 20 63 6c 61 73 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
68420 70 65 63 74 20 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 62 75 69 6c 74 69 6e 22 pect.=.<span.class="tok-builtin"
68440 3e 40 69 6d 70 6f 72 74 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
68460 2d 73 74 72 22 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
68480 73 74 69 6e 67 2e 65 78 70 65 63 74 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 sting.expect;</span>.<span.class
684a0 3d 22 6c 69 6e 65 22 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e ="line"></span>.<span.class="lin
684c0 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 74 65 73 74 3c 2f 73 70 e"><span.class="tok-kw">test</sp
684e0 61 6e 3e 20 3c 73 70 61 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;
68500 69 66 20 65 78 70 72 65 73 73 69 6f 6e 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 20 7b 3c 2f 73 70 if.expression&quot;</span>.{</sp
68520 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 3c 73 70 61 6e an>.<span.class="line">....<span
68540 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
68560 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
68580 6e 61 72 79 20 65 78 70 72 65 73 73 69 6f 6e 2e 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 0a 3c nary.expression.</span></span>.<
685a0 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 span.class="line">....<span.clas
685c0 73 3d 22 74 6f 6b 2d 6b 77 22 3e 63 6f 6e 73 74 3c 2f 73 70 61 6e 3e 20 61 3a 20 3c 73 70 61 6e s="tok-kw">const</span>.a:.<span
685e0 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>.=.<
68600 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>
68620 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 ;</span>.<span.class="line">....
68640 3c 73 70 61 6e 20 63 6c 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
68660 3e 20 62 3a 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 75 33 32 3c >.b:.<span.class="tok-type">u32<
68680 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
686a0 22 3e 34 3c 2f 73 70 61 6e 3e 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 ">4</span>;</span>.<span.class="
686c0 6c 69 6e 65 22 3e 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 63 line">....<span.class="tok-kw">c
686e0 6f 6e 73 74 3c 2f 73 70 61 6e 3e 20 72 65 73 75 6c 74 20 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 onst</span>.result.=.<span.class
68700 3d 22 74 6f 6b 2d 6b 77 22 3e 69 66 3c 2f 73 70 61 6e 3e 20 28 61 20 21 3d 20 62 29 20 3c 73 70 ="tok-kw">if</span>.(a.!=.b).<sp
68720 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 34 37 3c 2f 73 70 61 6e 3e 20 an.class="tok-number">47</span>.
68740 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>
68760 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 33 30 38 39 3c 2f .<span.class="tok-number">3089</
68780 73 70 61 6e 3e 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 span>;</span>.<span.class="line"
687a0 3e 20 20 20 20 3c 73 70 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
687c0 70 61 6e 3e 20 65 78 70 65 63 74 28 72 65 73 75 6c 74 20 3d 3d 20 3c 73 70 61 6e 20 63 6c 61 73 pan>.expect(result.==.<span.clas
687e0 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 34 37 3c 2f 73 70 61 6e 3e 29 3b 3c 2f 73 70 61 6e s="tok-number">47</span>);</span
68800 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 7d 3c 2f 73 70 61 6e 3e 0a 3c 73 >.<span.class="line">}</span>.<s
68820 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 pan.class="line"></span>.<span.c
68840 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 lass="line"><span.class="tok-kw"
68860 3e 74 65 73 74 3c 2f 73 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
68880 72 22 3e 26 71 75 6f 74 3b 69 66 20 62 6f 6f 6c 65 61 6e 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e r">&quot;if.boolean&quot;</span>
688a0 20 7b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 .{</span>.<span.class="line">...
688c0 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 63 6f 6d 6d 65 6e 74 22 3e 2f 2f 20 49 66 .<span.class="tok-comment">//.If
688e0 20 65 78 70 72 65 73 73 69 6f 6e 73 20 74 65 73 74 20 62 6f 6f 6c 65 61 6e 20 63 6f 6e 64 69 74 .expressions.test.boolean.condit
68900 69 6f 6e 73 2e 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d ions.</span></span>.<span.class=
68920 22 6c 69 6e 65 22 3e 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e "line">....<span.class="tok-kw">
68940 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
68960 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=
68980 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 35 3c 2f 73 70 61 6e 3e 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 "tok-number">5</span>;</span>.<s
689a0 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 pan.class="line">....<span.class
689c0 3d 22 74 6f 6b 2d 6b 77 22 3e 63 6f 6e 73 74 3c 2f 73 70 61 6e 3e 20 62 3a 20 3c 73 70 61 6e 20 ="tok-kw">const</span>.b:.<span.
689e0 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
68a00 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 3b pan.class="tok-number">4</span>;
68a20 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 3c </span>.<span.class="line">....<
68a40 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 69 66 3c 2f 73 70 61 6e 3e 20 28 61 span.class="tok-kw">if</span>.(a
68a60 20 21 3d 20 62 29 20 7b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e .!=.b).{</span>.<span.class="lin
68a80 65 22 3e 20 20 20 20 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e e">........<span.class="tok-kw">
68aa0 74 72 79 3c 2f 73 70 61 6e 3e 20 65 78 70 65 63 74 28 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 try</span>.expect(<span.class="t
68ac0 6f 6b 2d 6e 75 6c 6c 22 3e 74 72 75 65 3c 2f 73 70 61 6e 3e 29 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 ok-null">true</span>);</span>.<s
68ae0 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 7d 20 3c 73 70 61 6e 20 63 6c 61 pan.class="line">....}.<span.cla
68b00 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 65 6c 73 65 3c 2f 73 70 61 6e 3e 20 3c 73 70 61 6e 20 63 6c ss="tok-kw">else</span>.<span.cl
68b20 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 69 66 3c 2f 73 70 61 6e 3e 20 28 61 20 3d 3d 20 3c 73 70 ass="tok-kw">if</span>.(a.==.<sp
68b40 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 39 3c 2f 73 70 61 6e 3e 29 20 an.class="tok-number">9</span>).
68b60 7b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 {</span>.<span.class="line">....
68b80 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 75 6e 72 65 61 63 68 ....<span.class="tok-kw">unreach
68ba0 61 62 6c 65 3c 2f 73 70 61 6e 3e 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d able</span>;</span>.<span.class=
68bc0 22 6c 69 6e 65 22 3e 20 20 20 20 7d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 "line">....}.<span.class="tok-kw
68be0 22 3e 65 6c 73 65 3c 2f 73 70 61 6e 3e 20 7b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 ">else</span>.{</span>.<span.cla
68c00 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 ss="line">........<span.class="t
68c20 6f 6b 2d 6b 77 22 3e 75 6e 72 65 61 63 68 61 62 6c 65 3c 2f 73 70 61 6e 3e 3b 3c 2f 73 70 61 6e ok-kw">unreachable</span>;</span
68c40 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 7d 3c 2f 73 70 61 6e >.<span.class="line">....}</span
68c60 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 7d 3c 2f 73 70 61 6e 3e 0a 3c 73 >.<span.class="line">}</span>.<s
68c80 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 pan.class="line"></span>.<span.c
68ca0 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 lass="line"><span.class="tok-kw"
68cc0 3e 74 65 73 74 3c 2f 73 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
68ce0 72 22 3e 26 71 75 6f 74 3b 69 66 20 6f 70 74 69 6f 6e 61 6c 26 71 75 6f 74 3b 3c 2f 73 70 61 6e r">&quot;if.optional&quot;</span
68d00 3e 20 7b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 >.{</span>.<span.class="line">..
68d20 20 20 3c 73 70 61 6e 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
68d40 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 70 f.expressions.test.for.null.</sp
68d60 61 6e 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 2f an></span>.<span.class="line"></
68d80 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 3c 73 70 span>.<span.class="line">....<sp
68da0 61 6e 20 63 6c 61 73 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
68dc0 3a 20 3f 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 75 33 32 3c 2f 73 :.?<span.class="tok-type">u32</s
68de0 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">
68e00 30 3c 2f 73 70 61 6e 3e 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 0</span>;</span>.<span.class="li
68e20 6e 65 22 3e 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 69 66 3c ne">....<span.class="tok-kw">if<
68e40 2f 73 70 61 6e 3e 20 28 61 29 20 7c 76 61 6c 75 65 7c 20 7b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 /span>.(a).|value|.{</span>.<spa
68e60 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 n.class="line">........<span.cla
68e80 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 74 72 79 3c 2f 73 70 61 6e 3e 20 65 78 70 65 63 74 28 76 61 ss="tok-kw">try</span>.expect(va
68ea0 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">
68ec0 30 3c 2f 73 70 61 6e 3e 29 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 0</span>);</span>.<span.class="l
68ee0 69 6e 65 22 3e 20 20 20 20 7d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e ine">....}.<span.class="tok-kw">
68f00 65 6c 73 65 3c 2f 73 70 61 6e 3e 20 7b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 else</span>.{</span>.<span.class
68f20 3d 22 6c 69 6e 65 22 3e 20 20 20 20 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b ="line">........<span.class="tok
68f40 2d 6b 77 22 3e 75 6e 72 65 61 63 68 61 62 6c 65 3c 2f 73 70 61 6e 3e 3b 3c 2f 73 70 61 6e 3e 0a -kw">unreachable</span>;</span>.
68f60 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 7d 3c 2f 73 70 61 6e 3e 0a <span.class="line">....}</span>.
68f80 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e <span.class="line"></span>.<span
68fa0 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 .class="line">....<span.class="t
68fc0 6f 6b 2d 6b 77 22 3e 63 6f 6e 73 74 3c 2f 73 70 61 6e 3e 20 62 3a 20 3f 3c 73 70 61 6e 20 63 6c ok-kw">const</span>.b:.?<span.cl
68fe0 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
69000 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6c 6c 22 3e 6e 75 6c 6c 3c 2f 73 70 61 6e 3e 3b 3c n.class="tok-null">null</span>;<
69020 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 3c 73 /span>.<span.class="line">....<s
69040 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)
69060 20 7c 5f 7c 20 7b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 .|_|.{</span>.<span.class="line"
69080 3e 20 20 20 20 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 75 6e >........<span.class="tok-kw">un
690a0 72 65 61 63 68 61 62 6c 65 3c 2f 73 70 61 6e 3e 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 reachable</span>;</span>.<span.c
690c0 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 7d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 lass="line">....}.<span.class="t
690e0 6f 6b 2d 6b 77 22 3e 65 6c 73 65 3c 2f 73 70 61 6e 3e 20 7b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 ok-kw">else</span>.{</span>.<spa
69100 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 n.class="line">........<span.cla
69120 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 74 72 79 3c 2f 73 70 61 6e 3e 20 65 78 70 65 63 74 28 3c 73 ss="tok-kw">try</span>.expect(<s
69140 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>
69160 29 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 );</span>.<span.class="line">...
69180 20 7d 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 2f 73 .}</span>.<span.class="line"></s
691a0 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 3c 73 70 61 pan>.<span.class="line">....<spa
691c0 6e 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 6c 73 n.class="tok-comment">//.The.els
691e0 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 3c 2f 73 70 61 6e 3e e.is.not.required.</span></span>
69200 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 3c 73 70 61 6e 20 63 6c .<span.class="line">....<span.cl
69220 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 69 66 3c 2f 73 70 61 6e 3e 20 28 61 29 20 7c 76 61 6c 75 ass="tok-kw">if</span>.(a).|valu
69240 65 7c 20 7b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 e|.{</span>.<span.class="line">.
69260 20 20 20 20 20 20 20 3c 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<
69280 2f 73 70 61 6e 3e 20 65 78 70 65 63 74 28 76 61 6c 75 65 20 3d 3d 20 3c 73 70 61 6e 20 63 6c 61 /span>.expect(value.==.<span.cla
692a0 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 30 3c 2f 73 70 61 6e 3e 29 3b 3c 2f 73 70 61 6e ss="tok-number">0</span>);</span
692c0 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 7d 3c 2f 73 70 61 6e >.<span.class="line">....}</span
692e0 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 >.<span.class="line"></span>.<sp
69300 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d an.class="line">....<span.class=
69320 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 61 69 6e 73 74 "tok-comment">//.To.test.against
69340 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 65 71 75 61 6c .null.only,.use.the.binary.equal
69360 69 74 79 20 6f 70 65 72 61 74 6f 72 2e 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 ity.operator.</span></span>.<spa
69380 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 n.class="line">....<span.class="
693a0 74 6f 6b 2d 6b 77 22 3e 69 66 3c 2f 73 70 61 6e 3e 20 28 62 20 3d 3d 20 3c 73 70 61 6e 20 63 6c tok-kw">if</span>.(b.==.<span.cl
693c0 61 73 73 3d 22 74 6f 6b 2d 6e 75 6c 6c 22 3e 6e 75 6c 6c 3c 2f 73 70 61 6e 3e 29 20 7b 3c 2f 73 ass="tok-null">null</span>).{</s
693e0 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 20 20 20 20 pan>.<span.class="line">........
69400 3c 73 70 61 6e 20 63 6c 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>.
69420 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 72 expect(<span.class="tok-null">tr
69440 75 65 3c 2f 73 70 61 6e 3e 29 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 ue</span>);</span>.<span.class="
69460 6c 69 6e 65 22 3e 20 20 20 20 7d 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 line">....}</span>.<span.class="
69480 6c 69 6e 65 22 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 line"></span>.<span.class="line"
694a0 3e 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 63 6f 6d 6d 65 6e 74 22 3e 2f >....<span.class="tok-comment">/
694c0 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 63 65 20 /.Access.the.value.by.reference.
694e0 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 6e 3e 3c using.a.pointer.capture.</span><
69500 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 3c 73 /span>.<span.class="line">....<s
69520 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 76 61 72 3c 2f 73 70 61 6e 3e 20 63 3a pan.class="tok-kw">var</span>.c:
69540 20 3f 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 75 33 32 3c 2f 73 70 .?<span.class="tok-type">u32</sp
69560 61 6e 3e 20 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 33 an>.=.<span.class="tok-number">3
69580 3c 2f 73 70 61 6e 3e 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e </span>;</span>.<span.class="lin
695a0 65 22 3e 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 69 66 3c 2f e">....<span.class="tok-kw">if</
695c0 73 70 61 6e 3e 20 28 63 29 20 7c 2a 76 61 6c 75 65 7c 20 7b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 span>.(c).|*value|.{</span>.<spa
695e0 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 20 20 20 20 76 61 6c 75 65 2e 2a 20 3d n.class="line">........value.*.=
69600 20 3c 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
69620 6e 3e 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 n>;</span>.<span.class="line">..
69640 20 20 7d 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 2f ..}</span>.<span.class="line"></
69660 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 3c 73 70 span>.<span.class="line">....<sp
69680 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 69 66 3c 2f 73 70 61 6e 3e 20 28 63 29 20 an.class="tok-kw">if</span>.(c).
696a0 7c 76 61 6c 75 65 7c 20 7b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 |value|.{</span>.<span.class="li
696c0 6e 65 22 3e 20 20 20 20 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 ne">........<span.class="tok-kw"
696e0 3e 74 72 79 3c 2f 73 70 61 6e 3e 20 65 78 70 65 63 74 28 76 61 6c 75 65 20 3d 3d 20 3c 73 70 61 >try</span>.expect(value.==.<spa
69700 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 32 3c 2f 73 70 61 6e 3e 29 3b 3c n.class="tok-number">2</span>);<
69720 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 7d 20 /span>.<span.class="line">....}.
69740 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>
69760 20 7b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 .{</span>.<span.class="line">...
69780 20 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 75 6e 72 65 61 63 .....<span.class="tok-kw">unreac
697a0 68 61 62 6c 65 3c 2f 73 70 61 6e 3e 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 hable</span>;</span>.<span.class
697c0 3d 22 6c 69 6e 65 22 3e 20 20 20 20 7d 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 ="line">....}</span>.<span.class
697e0 3d 22 6c 69 6e 65 22 3e 7d 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 ="line">}</span>.<span.class="li
69800 6e 65 22 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c ne"></span>.<span.class="line"><
69820 73 70 61 6e 20 63 6c 61 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>.
69840 3c 73 70 61 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 <span.class="tok-str">&quot;if.e
69860 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 3c 2f 73 70 61 6e 3e rror.union&quot;</span>.{</span>
69880 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 3c 73 70 61 6e 20 63 6c .<span.class="line">....<span.cl
698a0 61 73 73 3d 22 74 6f 6b 2d 63 6f 6d 6d 65 6e 74 22 3e 2f 2f 20 49 66 20 65 78 70 72 65 73 73 69 ass="tok-comment">//.If.expressi
698c0 6f 6e 73 20 74 65 73 74 20 66 6f 72 20 65 72 72 6f 72 73 2e 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 ons.test.for.errors.</span></spa
698e0 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 3c 73 70 61 6e 20 n>.<span.class="line">....<span.
69900 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 68 65 20 class="tok-comment">//.Note.the.
69920 7c 65 72 72 7c 20 63 61 70 74 75 72 65 20 6f 6e 20 74 68 65 20 65 6c 73 65 2e 3c 2f 73 70 61 6e |err|.capture.on.the.else.</span
69940 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 2f 73 70 ></span>.<span.class="line"></sp
69960 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 3c 73 70 61 6e an>.<span.class="line">....<span
69980 20 63 6c 61 73 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:.
699a0 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<
699c0 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
699e0 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
69a00 65 72 22 3e 30 3c 2f 73 70 61 6e 3e 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 er">0</span>;</span>.<span.class
69a20 3d 22 6c 69 6e 65 22 3e 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 ="line">....<span.class="tok-kw"
69a40 3e 69 66 3c 2f 73 70 61 6e 3e 20 28 61 29 20 7c 76 61 6c 75 65 7c 20 7b 3c 2f 73 70 61 6e 3e 0a >if</span>.(a).|value|.{</span>.
69a60 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 20 20 20 20 3c 73 70 61 6e <span.class="line">........<span
69a80 20 63 6c 61 73 73 3d 22 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
69aa0 74 28 76 61 6c 75 65 20 3d 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 t(value.==.<span.class="tok-numb
69ac0 65 72 22 3e 30 3c 2f 73 70 61 6e 3e 29 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 er">0</span>);</span>.<span.clas
69ae0 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 7d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d s="line">....}.<span.class="tok-
69b00 6b 77 22 3e 65 6c 73 65 3c 2f 73 70 61 6e 3e 20 7c 65 72 72 7c 20 7b 3c 2f 73 70 61 6e 3e 0a 3c kw">else</span>.|err|.{</span>.<
69b20 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 20 20 20 20 5f 20 3d 20 65 72 span.class="line">........_.=.er
69b40 72 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 r;</span>.<span.class="line">...
69b60 20 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 75 6e 72 65 61 63 .....<span.class="tok-kw">unreac
69b80 68 61 62 6c 65 3c 2f 73 70 61 6e 3e 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 hable</span>;</span>.<span.class
69ba0 3d 22 6c 69 6e 65 22 3e 20 20 20 20 7d 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 ="line">....}</span>.<span.class
69bc0 3d 22 6c 69 6e 65 22 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e ="line"></span>.<span.class="lin
69be0 65 22 3e 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 63 6f 6e 73 e">....<span.class="tok-kw">cons
69c00 74 3c 2f 73 70 61 6e 3e 20 62 3a 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 t</span>.b:.<span.class="tok-typ
69c20 65 22 3e 61 6e 79 65 72 72 6f 72 3c 2f 73 70 61 6e 3e 21 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 e">anyerror</span>!<span.class="
69c40 74 6f 6b 2d 74 79 70 65 22 3e 75 33 32 3c 2f 73 70 61 6e 3e 20 3d 20 3c 73 70 61 6e 20 63 6c 61 tok-type">u32</span>.=.<span.cla
69c60 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 65 72 72 6f 72 3c 2f 73 70 61 6e 3e 2e 42 61 64 56 61 6c 75 ss="tok-kw">error</span>.BadValu
69c80 65 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 e;</span>.<span.class="line">...
69ca0 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>.
69cc0 28 62 29 20 7c 76 61 6c 75 65 7c 20 7b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 (b).|value|.{</span>.<span.class
69ce0 3d 22 6c 69 6e 65 22 3e 20 20 20 20 20 20 20 20 5f 20 3d 20 76 61 6c 75 65 3b 3c 2f 73 70 61 6e ="line">........_.=.value;</span
69d00 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 20 20 20 20 3c 73 70 >.<span.class="line">........<sp
69d20 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 75 6e 72 65 61 63 68 61 62 6c 65 3c 2f 73 an.class="tok-kw">unreachable</s
69d40 70 61 6e 3e 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e pan>;</span>.<span.class="line">
69d60 20 20 20 20 7d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 65 6c 73 65 3c ....}.<span.class="tok-kw">else<
69d80 2f 73 70 61 6e 3e 20 7c 65 72 72 7c 20 7b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 /span>.|err|.{</span>.<span.clas
69da0 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f s="line">........<span.class="to
69dc0 6b 2d 6b 77 22 3e 74 72 79 3c 2f 73 70 61 6e 3e 20 65 78 70 65 63 74 28 65 72 72 20 3d 3d 20 3c k-kw">try</span>.expect(err.==.<
69de0 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>
69e00 2e 42 61 64 56 61 6c 75 65 29 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 .BadValue);</span>.<span.class="
69e20 6c 69 6e 65 22 3e 20 20 20 20 7d 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 line">....}</span>.<span.class="
69e40 6c 69 6e 65 22 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 line"></span>.<span.class="line"
69e60 3e 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 63 6f 6d 6d 65 6e 74 22 3e 2f >....<span.class="tok-comment">/
69e80 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 72 65 20 69 73 20 /.The.else.and.|err|.capture.is.
69ea0 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 3c 2f 73 70 61 6e 3e strictly.required.</span></span>
69ec0 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 3c 73 70 61 6e 20 63 6c .<span.class="line">....<span.cl
69ee0 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 69 66 3c 2f 73 70 61 6e 3e 20 28 61 29 20 7c 76 61 6c 75 ass="tok-kw">if</span>.(a).|valu
69f00 65 7c 20 7b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 e|.{</span>.<span.class="line">.
69f20 20 20 20 20 20 20 20 3c 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<
69f40 2f 73 70 61 6e 3e 20 65 78 70 65 63 74 28 76 61 6c 75 65 20 3d 3d 20 3c 73 70 61 6e 20 63 6c 61 /span>.expect(value.==.<span.cla
69f60 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 30 3c 2f 73 70 61 6e 3e 29 3b 3c 2f 73 70 61 6e ss="tok-number">0</span>);</span
69f80 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 7d 20 3c 73 70 61 6e >.<span.class="line">....}.<span
69fa0 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 65 6c 73 65 3c 2f 73 70 61 6e 3e 20 7c 5f 7c 20 .class="tok-kw">else</span>.|_|.
69fc0 7b 7d 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 2f 73 {}</span>.<span.class="line"></s
69fe0 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 3c 73 70 61 pan>.<span.class="line">....<spa
6a000 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 63 6f 6d 6d 65 6e 74 22 3e 2f 2f 20 54 6f 20 63 68 65 63 n.class="tok-comment">//.To.chec
6a020 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 73 65 20 61 6e 20 65 k.only.the.error.value,.use.an.e
6a040 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 70 61 6e 3e 3c 2f 73 mpty.block.expression.</span></s
6a060 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 3c 73 70 61 pan>.<span.class="line">....<spa
6a080 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 7c n.class="tok-kw">if</span>.(b).|
6a0a0 5f 7c 20 7b 7d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 65 6c 73 65 3c _|.{}.<span.class="tok-kw">else<
6a0c0 2f 73 70 61 6e 3e 20 7c 65 72 72 7c 20 7b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 /span>.|err|.{</span>.<span.clas
6a0e0 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f s="line">........<span.class="to
6a100 6b 2d 6b 77 22 3e 74 72 79 3c 2f 73 70 61 6e 3e 20 65 78 70 65 63 74 28 65 72 72 20 3d 3d 20 3c k-kw">try</span>.expect(err.==.<
6a120 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>
6a140 2e 42 61 64 56 61 6c 75 65 29 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 .BadValue);</span>.<span.class="
6a160 6c 69 6e 65 22 3e 20 20 20 20 7d 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 line">....}</span>.<span.class="
6a180 6c 69 6e 65 22 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 line"></span>.<span.class="line"
6a1a0 3e 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 63 6f 6d 6d 65 6e 74 22 3e 2f >....<span.class="tok-comment">/
6a1c0 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 63 65 20 /.Access.the.value.by.reference.
6a1e0 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 6e 3e 3c using.a.pointer.capture.</span><
6a200 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 3c 73 /span>.<span.class="line">....<s
6a220 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 76 61 72 3c 2f 73 70 61 6e 3e 20 63 3a pan.class="tok-kw">var</span>.c:
6a240 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
6a260 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 75 </span>!<span.class="tok-type">u
6a280 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
6a2a0 62 65 72 22 3e 33 3c 2f 73 70 61 6e 3e 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 ber">3</span>;</span>.<span.clas
6a2c0 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 s="line">....<span.class="tok-kw
6a2e0 22 3e 69 66 3c 2f 73 70 61 6e 3e 20 28 63 29 20 7c 2a 76 61 6c 75 65 7c 20 7b 3c 2f 73 70 61 6e ">if</span>.(c).|*value|.{</span
6a300 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 20 20 20 20 76 61 6c >.<span.class="line">........val
6a320 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">
6a340 39 3c 2f 73 70 61 6e 3e 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 9</span>;</span>.<span.class="li
6a360 6e 65 22 3e 20 20 20 20 7d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 65 ne">....}.<span.class="tok-kw">e
6a380 6c 73 65 3c 2f 73 70 61 6e 3e 20 7c 5f 7c 20 7b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c lse</span>.|_|.{</span>.<span.cl
6a3a0 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 ass="line">........<span.class="
6a3c0 74 6f 6b 2d 6b 77 22 3e 75 6e 72 65 61 63 68 61 62 6c 65 3c 2f 73 70 61 6e 3e 3b 3c 2f 73 70 61 tok-kw">unreachable</span>;</spa
6a3e0 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 7d 3c 2f 73 70 61 n>.<span.class="line">....}</spa
6a400 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 n>.<span.class="line"></span>.<s
6a420 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 pan.class="line">....<span.class
6a440 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 76 61 6c 75 65 7c 20 ="tok-kw">if</span>.(c).|value|.
6a460 7b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 {</span>.<span.class="line">....
6a480 20 20 20 20 3c 73 70 61 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
6a4a0 61 6e 3e 20 65 78 70 65 63 74 28 76 61 6c 75 65 20 3d 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d an>.expect(value.==.<span.class=
6a4c0 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 39 3c 2f 73 70 61 6e 3e 29 3b 3c 2f 73 70 61 6e 3e 0a 3c "tok-number">9</span>);</span>.<
6a4e0 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 7d 20 3c 73 70 61 6e 20 63 6c span.class="line">....}.<span.cl
6a500 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 3c 2f ass="tok-kw">else</span>.|_|.{</
6a520 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 20 20 20 span>.<span.class="line">.......
6a540 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
6a560 65 3c 2f 73 70 61 6e 3e 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 e</span>;</span>.<span.class="li
6a580 6e 65 22 3e 20 20 20 20 7d 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 ne">....}</span>.<span.class="li
6a5a0 6e 65 22 3e 7d 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e ne">}</span>.<span.class="line">
6a5c0 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e </span>.<span.class="line"><span
6a5e0 20 63 6c 61 73 73 3d 22 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
6a600 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 72 72 6f 72 n.class="tok-str">&quot;if.error
6a620 20 75 6e 69 6f 6e 20 77 69 74 68 20 6f 70 74 69 6f 6e 61 6c 26 71 75 6f 74 3b 3c 2f 73 70 61 6e .union.with.optional&quot;</span
6a640 3e 20 7b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 >.{</span>.<span.class="line">..
6a660 20 20 3c 73 70 61 6e 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
6a680 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 73 20 62 65 f.expressions.test.for.errors.be
6a6a0 66 6f 72 65 20 75 6e 77 72 61 70 70 69 6e 67 20 6f 70 74 69 6f 6e 61 6c 73 2e 3c 2f 73 70 61 6e fore.unwrapping.optionals.</span
6a6c0 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 ></span>.<span.class="line">....
6a6e0 3c 73 70 61 6e 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
6a700 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 74 79 70 65 .|optional_value|.capture's.type
6a720 20 69 73 20 3f 75 33 32 2e 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c .is.?u32.</span></span>.<span.cl
6a740 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 ass="line"></span>.<span.class="
6a760 6c 69 6e 65 22 3e 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 63 line">....<span.class="tok-kw">c
6a780 6f 6e 73 74 3c 2f 73 70 61 6e 3e 20 61 3a 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d onst</span>.a:.<span.class="tok-
6a7a0 74 79 70 65 22 3e 61 6e 79 65 72 72 6f 72 3c 2f 73 70 61 6e 3e 21 3f 3c 73 70 61 6e 20 63 6c 61 type">anyerror</span>!?<span.cla
6a7c0 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 75 33 32 3c 2f 73 70 61 6e 3e 20 3d 20 3c 73 70 61 6e ss="tok-type">u32</span>.=.<span
6a7e0 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 30 3c 2f 73 70 61 6e 3e 3b 3c 2f 73 .class="tok-number">0</span>;</s
6a800 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 3c 73 70 61 pan>.<span.class="line">....<spa
6a820 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 69 66 3c 2f 73 70 61 6e 3e 20 28 61 29 20 7c n.class="tok-kw">if</span>.(a).|
6a840 6f 70 74 69 6f 6e 61 6c 5f 76 61 6c 75 65 7c 20 7b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 optional_value|.{</span>.<span.c
6a860 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d lass="line">........<span.class=
6a880 22 74 6f 6b 2d 6b 77 22 3e 74 72 79 3c 2f 73 70 61 6e 3e 20 65 78 70 65 63 74 28 6f 70 74 69 6f "tok-kw">try</span>.expect(optio
6a8a0 6e 61 6c 5f 76 61 6c 75 65 2e 3f 20 3d 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d nal_value.?.==.<span.class="tok-
6a8c0 6e 75 6d 62 65 72 22 3e 30 3c 2f 73 70 61 6e 3e 29 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 number">0</span>);</span>.<span.
6a8e0 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 7d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 class="line">....}.<span.class="
6a900 74 6f 6b 2d 6b 77 22 3e 65 6c 73 65 3c 2f 73 70 61 6e 3e 20 7c 65 72 72 7c 20 7b 3c 2f 73 70 61 tok-kw">else</span>.|err|.{</spa
6a920 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 20 20 20 20 5f 20 n>.<span.class="line">........_.
6a940 3d 20 65 72 72 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 =.err;</span>.<span.class="line"
6a960 3e 20 20 20 20 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 75 6e >........<span.class="tok-kw">un
6a980 72 65 61 63 68 61 62 6c 65 3c 2f 73 70 61 6e 3e 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 reachable</span>;</span>.<span.c
6a9a0 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 7d 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 lass="line">....}</span>.<span.c
6a9c0 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d lass="line"></span>.<span.class=
6a9e0 22 6c 69 6e 65 22 3e 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e "line">....<span.class="tok-kw">
6aa00 63 6f 6e 73 74 3c 2f 73 70 61 6e 3e 20 62 3a 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b const</span>.b:.<span.class="tok
6aa20 2d 74 79 70 65 22 3e 61 6e 79 65 72 72 6f 72 3c 2f 73 70 61 6e 3e 21 3f 3c 73 70 61 6e 20 63 6c -type">anyerror</span>!?<span.cl
6aa40 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
6aa60 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6c 6c 22 3e 6e 75 6c 6c 3c 2f 73 70 61 6e 3e 3b 3c n.class="tok-null">null</span>;<
6aa80 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 3c 73 /span>.<span.class="line">....<s
6aaa0 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)
6aac0 20 7c 6f 70 74 69 6f 6e 61 6c 5f 76 61 6c 75 65 7c 20 7b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e .|optional_value|.{</span>.<span
6aae0 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 .class="line">........<span.clas
6ab00 73 3d 22 74 6f 6b 2d 6b 77 22 3e 74 72 79 3c 2f 73 70 61 6e 3e 20 65 78 70 65 63 74 28 6f 70 74 s="tok-kw">try</span>.expect(opt
6ab20 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-
6ab40 6e 75 6c 6c 22 3e 6e 75 6c 6c 3c 2f 73 70 61 6e 3e 29 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e null">null</span>);</span>.<span
6ab60 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 7d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d .class="line">....}.<span.class=
6ab80 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 3c 2f 73 70 61 6e "tok-kw">else</span>.|_|.{</span
6aba0 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 20 20 20 20 3c 73 70 >.<span.class="line">........<sp
6abc0 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 75 6e 72 65 61 63 68 61 62 6c 65 3c 2f 73 an.class="tok-kw">unreachable</s
6abe0 70 61 6e 3e 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e pan>;</span>.<span.class="line">
6ac00 20 20 20 20 7d 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e ....}</span>.<span.class="line">
6ac20 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 3c </span>.<span.class="line">....<
6ac40 73 70 61 6e 20 63 6c 61 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>
6ac60 20 63 3a 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 61 6e 79 65 72 .c:.<span.class="tok-type">anyer
6ac80 72 6f 72 3c 2f 73 70 61 6e 3e 21 3f 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 ror</span>!?<span.class="tok-typ
6aca0 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
6acc0 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 3b 3c 2f 73 70 61 -kw">error</span>.BadValue;</spa
6ace0 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 3c 73 70 61 6e 20 n>.<span.class="line">....<span.
6ad00 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 69 66 3c 2f 73 70 61 6e 3e 20 28 63 29 20 7c 6f 70 class="tok-kw">if</span>.(c).|op
6ad20 74 69 6f 6e 61 6c 5f 76 61 6c 75 65 7c 20 7b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 tional_value|.{</span>.<span.cla
6ad40 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 20 20 20 20 5f 20 3d 20 6f 70 74 69 6f 6e 61 6c 5f 76 ss="line">........_.=.optional_v
6ad60 61 6c 75 65 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e alue;</span>.<span.class="line">
6ad80 20 20 20 20 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 75 6e 72 ........<span.class="tok-kw">unr
6ada0 65 61 63 68 61 62 6c 65 3c 2f 73 70 61 6e 3e 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c eachable</span>;</span>.<span.cl
6adc0 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 7d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f ass="line">....}.<span.class="to
6ade0 6b 2d 6b 77 22 3e 65 6c 73 65 3c 2f 73 70 61 6e 3e 20 7c 65 72 72 7c 20 7b 3c 2f 73 70 61 6e 3e k-kw">else</span>.|err|.{</span>
6ae00 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 20 20 20 20 3c 73 70 61 .<span.class="line">........<spa
6ae20 6e 20 63 6c 61 73 73 3d 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
6ae40 63 74 28 65 72 72 20 3d 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 65 ct(err.==.<span.class="tok-kw">e
6ae60 72 72 6f 72 3c 2f 73 70 61 6e 3e 2e 42 61 64 56 61 6c 75 65 29 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 rror</span>.BadValue);</span>.<s
6ae80 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 7d 3c 2f 73 70 61 6e 3e 0a 3c 73 pan.class="line">....}</span>.<s
6aea0 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 pan.class="line"></span>.<span.c
6aec0 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b lass="line">....<span.class="tok
6aee0 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 20 62 79 -comment">//.Access.the.value.by
6af00 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 20 63 61 .reference.by.using.a.pointer.ca
6af20 70 74 75 72 65 20 65 61 63 68 20 74 69 6d 65 2e 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 0a 3c pture.each.time.</span></span>.<
6af40 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 span.class="line">....<span.clas
6af60 73 3d 22 74 6f 6b 2d 6b 77 22 3e 76 61 72 3c 2f 73 70 61 6e 3e 20 64 3a 20 3c 73 70 61 6e 20 63 s="tok-kw">var</span>.d:.<span.c
6af80 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 61 6e 79 65 72 72 6f 72 3c 2f 73 70 61 6e 3e 21 lass="tok-type">anyerror</span>!
6afa0 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
6afc0 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<
6afe0 2f 73 70 61 6e 3e 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 /span>;</span>.<span.class="line
6b000 22 3e 20 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
6b020 70 61 6e 3e 20 28 64 29 20 7c 2a 6f 70 74 69 6f 6e 61 6c 5f 76 61 6c 75 65 7c 20 7b 3c 2f 73 70 pan>.(d).|*optional_value|.{</sp
6b040 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 20 20 20 20 3c an>.<span.class="line">........<
6b060 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 69 66 3c 2f 73 70 61 6e 3e 20 28 6f span.class="tok-kw">if</span>.(o
6b080 70 74 69 6f 6e 61 6c 5f 76 61 6c 75 65 2e 2a 29 20 7c 2a 76 61 6c 75 65 7c 20 7b 3c 2f 73 70 61 ptional_value.*).|*value|.{</spa
6b0a0 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 20 20 20 20 20 20 n>.<span.class="line">..........
6b0c0 20 20 76 61 6c 75 65 2e 2a 20 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d ..value.*.=.<span.class="tok-num
6b0e0 62 65 72 22 3e 39 3c 2f 73 70 61 6e 3e 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 ber">9</span>;</span>.<span.clas
6b100 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 20 20 20 20 7d 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 s="line">........}</span>.<span.
6b120 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 7d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 class="line">....}.<span.class="
6b140 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 3c 2f 73 70 61 6e 3e tok-kw">else</span>.|_|.{</span>
6b160 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 20 20 20 20 3c 73 70 61 .<span.class="line">........<spa
6b180 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
6b1a0 61 6e 3e 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 an>;</span>.<span.class="line">.
6b1c0 20 20 20 7d 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c ...}</span>.<span.class="line"><
6b1e0 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 3c 73 /span>.<span.class="line">....<s
6b200 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 64 29 pan.class="tok-kw">if</span>.(d)
6b220 20 7c 6f 70 74 69 6f 6e 61 6c 5f 76 61 6c 75 65 7c 20 7b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e .|optional_value|.{</span>.<span
6b240 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 .class="line">........<span.clas
6b260 73 3d 22 74 6f 6b 2d 6b 77 22 3e 74 72 79 3c 2f 73 70 61 6e 3e 20 65 78 70 65 63 74 28 6f 70 74 s="tok-kw">try</span>.expect(opt
6b280 69 6f 6e 61 6c 5f 76 61 6c 75 65 2e 3f 20 3d 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f ional_value.?.==.<span.class="to
6b2a0 6b 2d 6e 75 6d 62 65 72 22 3e 39 3c 2f 73 70 61 6e 3e 29 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 k-number">9</span>);</span>.<spa
6b2c0 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 7d 20 3c 73 70 61 6e 20 63 6c 61 73 73 n.class="line">....}.<span.class
6b2e0 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 3c 2f 73 70 61 ="tok-kw">else</span>.|_|.{</spa
6b300 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 20 20 20 20 3c 73 n>.<span.class="line">........<s
6b320 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</
6b340 73 70 61 6e 3e 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 span>;</span>.<span.class="line"
6b360 3e 20 20 20 20 7d 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 >....}</span>.<span.class="line"
6b380 3e 7d 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 3c 2f 70 72 65 3e 3c 2f 66 69 67 75 72 65 3e 3c >}</span></code></pre></figure><
6b3a0 66 69 67 75 72 65 3e 3c 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-
6b3c0 63 61 70 22 3e 53 68 65 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
6b3e0 70 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 24 20 3c 6b 62 64 3e 7a 69 67 20 p><span.class="line">$.<kbd>zig.
6b400 74 65 73 74 20 69 66 2e 7a 69 67 3c 2f 6b 62 64 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 test.if.zig</kbd></span>.<span.c
6b420 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 31 2f 35 20 74 65 73 74 2e 69 66 20 65 78 70 72 65 73 73 69 lass="line">1/5.test.if.expressi
6b440 6f 6e 2e 2e 2e 20 4f 4b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e on....OK</span>.<span.class="lin
6b460 65 22 3e 32 2f 35 20 74 65 73 74 2e 69 66 20 62 6f 6f 6c 65 61 6e 2e 2e 2e 20 4f 4b 3c 2f 73 70 e">2/5.test.if.boolean....OK</sp
6b480 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 33 2f 35 20 74 65 73 74 2e an>.<span.class="line">3/5.test.
6b4a0 69 66 20 6f 70 74 69 6f 6e 61 6c 2e 2e 2e 20 4f 4b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 if.optional....OK</span>.<span.c
6b4c0 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 34 2f 35 20 74 65 73 74 2e 69 66 20 65 72 72 6f 72 20 75 6e lass="line">4/5.test.if.error.un
6b4e0 69 6f 6e 2e 2e 2e 20 4f 4b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 ion....OK</span>.<span.class="li
6b500 6e 65 22 3e 35 2f 35 20 74 65 73 74 2e 69 66 20 65 72 72 6f 72 20 75 6e 69 6f 6e 20 77 69 74 68 ne">5/5.test.if.error.union.with
6b520 20 6f 70 74 69 6f 6e 61 6c 2e 2e 2e 20 4f 4b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 .optional....OK</span>.<span.cla
6b540 73 73 3d 22 6c 69 6e 65 22 3e 41 6c 6c 20 35 20 74 65 73 74 73 20 70 61 73 73 65 64 2e 3c 2f 73 ss="line">All.5.tests.passed.</s
6b560 70 61 6e 3e 0a 3c 2f 73 61 6d 70 3e 3c 2f 70 72 65 3e 3c 2f 66 69 67 75 72 65 3e 0a 20 20 20 20 pan>.</samp></pre></figure>.....
6b580 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
6b5a0 65 66 3d 22 23 4f 70 74 69 6f 6e 61 6c 73 22 3e 4f 70 74 69 6f 6e 61 6c 73 3c 2f 61 3e 3c 2f 6c ef="#Optionals">Optionals</a></l
6b5c0 69 3e 0a 3c 6c 69 3e 3c 61 20 68 72 65 66 3d 22 23 45 72 72 6f 72 73 22 3e 45 72 72 6f 72 73 3c i>.<li><a.href="#Errors">Errors<
6b5e0 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
6b600 20 69 64 3d 22 64 65 66 65 72 22 3e 3c 61 20 68 72 65 66 3d 22 23 74 6f 63 2d 64 65 66 65 72 22 .id="defer"><a.href="#toc-defer"
6b620 3e 64 65 66 65 72 3c 2f 61 3e 20 3c 61 20 63 6c 61 73 73 3d 22 68 64 72 22 20 68 72 65 66 3d 22 >defer</a>.<a.class="hdr".href="
6b640 23 64 65 66 65 72 22 3e c2 a7 3c 2f 61 3e 3c 2f 68 32 3e 0a 0a 20 20 20 20 20 20 3c 66 69 67 75 #defer">..</a></h2>........<figu
6b660 72 65 3e 3c 66 69 67 63 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"><
6b680 63 69 74 65 20 63 6c 61 73 73 3d 22 66 69 6c 65 22 3e 64 65 66 65 72 2e 7a 69 67 3c 2f 63 69 74 cite.class="file">defer.zig</cit
6b6a0 65 3e 3c 2f 66 69 67 63 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.
6b6c0 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 class="line"><span.class="tok-kw
6b6e0 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
6b700 3d 22 74 6f 6b 2d 62 75 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
6b720 70 61 6e 20 63 6c 61 73 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
6b740 6f 74 3b 3c 2f 73 70 61 6e 3e 29 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d ot;</span>);</span>.<span.class=
6b760 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 63 6f 6e 73 "line"><span.class="tok-kw">cons
6b780 74 3c 2f 73 70 61 6e 3e 20 65 78 70 65 63 74 20 3d 20 73 74 64 2e 74 65 73 74 69 6e 67 2e 65 78 t</span>.expect.=.std.testing.ex
6b7a0 70 65 63 74 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e pect;</span>.<span.class="line">
6b7c0 3c 73 70 61 6e 20 63 6c 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
6b7e0 3e 20 70 72 69 6e 74 20 3d 20 73 74 64 2e 64 65 62 75 67 2e 70 72 69 6e 74 3b 3c 2f 73 70 61 6e >.print.=.std.debug.print;</span
6b800 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 >.<span.class="line"></span>.<sp
6b820 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b an.class="line"><span.class="tok
6b840 2d 63 6f 6d 6d 65 6e 74 22 3e 2f 2f 20 64 65 66 65 72 20 77 69 6c 6c 20 65 78 65 63 75 74 65 20 -comment">//.defer.will.execute.
6b860 61 6e 20 65 78 70 72 65 73 73 69 6f 6e 20 61 74 20 74 68 65 20 65 6e 64 20 6f 66 20 74 68 65 20 an.expression.at.the.end.of.the.
6b880 63 75 72 72 65 6e 74 20 73 63 6f 70 65 2e 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 current.scope.</span></span>.<sp
6b8a0 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b an.class="line"><span.class="tok
6b8c0 2d 6b 77 22 3e 66 6e 3c 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-
6b8e0 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 20 21 3c 73 70 61 6e fn">deferExample</span>().!<span
6b900 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 7b .class="tok-type">usize</span>.{
6b920 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 3c </span>.<span.class="line">....<
6b940 73 70 61 6e 20 63 6c 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
6b960 3a 20 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</
6b980 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"
6b9a0 3e 31 3c 2f 73 70 61 6e 3e 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c >1</span>;</span>.<span.class="l
6b9c0 69 6e 65 22 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e ine"></span>.<span.class="line">
6b9e0 20 20 20 20 7b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e ....{</span>.<span.class="line">
6ba00 20 20 20 20 20 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 ........<span.class="tok-kw">def
6ba20 65 72 3c 2f 73 70 61 6e 3e 20 61 20 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e er</span>.a.=.<span.class="tok-n
6ba40 75 6d 62 65 72 22 3e 32 3c 2f 73 70 61 6e 3e 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c umber">2</span>;</span>.<span.cl
6ba60 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 20 20 20 20 61 20 3d 20 3c 73 70 61 6e 20 63 6c 61 ass="line">........a.=.<span.cla
6ba80 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 31 3c 2f 73 70 61 6e 3e 3b 3c 2f 73 70 61 6e 3e ss="tok-number">1</span>;</span>
6baa0 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 7d 3c 2f 73 70 61 6e 3e .<span.class="line">....}</span>
6bac0 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 3c 73 70 61 6e 20 63 6c .<span.class="line">....<span.cl
6bae0 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 74 72 79 3c 2f 73 70 61 6e 3e 20 65 78 70 65 63 74 28 61 ass="tok-kw">try</span>.expect(a
6bb00 20 3d 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 32 3c 2f .==.<span.class="tok-number">2</
6bb20 73 70 61 6e 3e 29 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 span>);</span>.<span.class="line
6bb40 22 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 "></span>.<span.class="line">...
6bb60 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<
6bb80 2f 73 70 61 6e 3e 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 /span>;</span>.<span.class="line
6bba0 22 3e 20 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
6bbc0 6e 3c 2f 73 70 61 6e 3e 20 61 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 n</span>.a;</span>.<span.class="
6bbe0 6c 69 6e 65 22 3e 7d 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 line">}</span>.<span.class="line
6bc00 22 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 "></span>.<span.class="line"><sp
6bc20 61 6e 20 63 6c 61 73 73 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
6bc40 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 73 74 72 22 3e 26 71 75 6f 74 3b 64 65 66 65 72 20 pan.class="tok-str">&quot;defer.
6bc60 62 61 73 69 63 73 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 20 7b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 basics&quot;</span>.{</span>.<sp
6bc80 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d an.class="line">....<span.class=
6bca0 22 74 6f 6b 2d 6b 77 22 3e 74 72 79 3c 2f 73 70 61 6e 3e 20 65 78 70 65 63 74 28 28 3c 73 70 61 "tok-kw">try</span>.expect((<spa
6bcc0 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 74 72 79 3c 2f 73 70 61 6e 3e 20 64 65 66 65 n.class="tok-kw">try</span>.defe
6bce0 72 45 78 61 6d 70 6c 65 28 29 29 20 3d 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d rExample()).==.<span.class="tok-
6bd00 6e 75 6d 62 65 72 22 3e 35 3c 2f 73 70 61 6e 3e 29 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 number">5</span>);</span>.<span.
6bd20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 7d 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 class="line">}</span>.<span.clas
6bd40 73 3d 22 6c 69 6e 65 22 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 s="line"></span>.<span.class="li
6bd60 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 63 6f 6d 6d 65 6e 74 22 3e 2f 2f ne"><span.class="tok-comment">//
6bd80 20 49 66 20 6d 75 6c 74 69 70 6c 65 20 64 65 66 65 72 20 73 74 61 74 65 6d 65 6e 74 73 20 61 72 .If.multiple.defer.statements.ar
6bda0 65 20 73 70 65 63 69 66 69 65 64 2c 20 74 68 65 79 20 77 69 6c 6c 20 62 65 20 65 78 65 63 75 74 e.specified,.they.will.be.execut
6bdc0 65 64 20 69 6e 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d ed.in</span></span>.<span.class=
6bde0 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 63 6f 6d 6d 65 6e 74 22 "line"><span.class="tok-comment"
6be00 3e 2f 2f 20 74 68 65 20 72 65 76 65 72 73 65 20 6f 72 64 65 72 20 74 68 65 79 20 77 65 72 65 20 >//.the.reverse.order.they.were.
6be20 72 75 6e 2e 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 run.</span></span>.<span.class="
6be40 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 66 6e 3c 2f 73 line"><span.class="tok-kw">fn</s
6be60 70 61 6e 3e 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 66 6e 22 3e 64 65 66 65 72 55 pan>.<span.class="tok-fn">deferU
6be80 6e 77 69 6e 64 45 78 61 6d 70 6c 65 3c 2f 73 70 61 6e 3e 28 29 20 3c 73 70 61 6e 20 63 6c 61 73 nwindExample</span>().<span.clas
6bea0 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 76 6f 69 64 3c 2f 73 70 61 6e 3e 20 7b 3c 2f 73 70 61 6e s="tok-type">void</span>.{</span
6bec0 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 70 72 69 6e 74 28 3c >.<span.class="line">....print(<
6bee0 73 70 61 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 span.class="tok-str">&quot;\n&qu
6bf00 6f 74 3b 3c 2f 73 70 61 6e 3e 2c 20 2e 7b 7d 29 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 ot;</span>,..{});</span>.<span.c
6bf20 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d lass="line"></span>.<span.class=
6bf40 22 6c 69 6e 65 22 3e 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e "line">....<span.class="tok-kw">
6bf60 64 65 66 65 72 3c 2f 73 70 61 6e 3e 20 7b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 defer</span>.{</span>.<span.clas
6bf80 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 20 20 20 20 70 72 69 6e 74 28 3c 73 70 61 6e 20 63 6c 61 s="line">........print(<span.cla
6bfa0 73 73 3d 22 74 6f 6b 2d 73 74 72 22 3e 26 71 75 6f 74 3b 31 20 26 71 75 6f 74 3b 3c 2f 73 70 61 ss="tok-str">&quot;1.&quot;</spa
6bfc0 6e 3e 2c 20 2e 7b 7d 29 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 n>,..{});</span>.<span.class="li
6bfe0 6e 65 22 3e 20 20 20 20 7d 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 ne">....}</span>.<span.class="li
6c000 6e 65 22 3e 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 64 65 66 ne">....<span.class="tok-kw">def
6c020 65 72 3c 2f 73 70 61 6e 3e 20 7b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 er</span>.{</span>.<span.class="
6c040 6c 69 6e 65 22 3e 20 20 20 20 20 20 20 20 70 72 69 6e 74 28 3c 73 70 61 6e 20 63 6c 61 73 73 3d line">........print(<span.class=
6c060 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 3e 2c "tok-str">&quot;2.&quot;</span>,
6c080 20 2e 7b 7d 29 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 ..{});</span>.<span.class="line"
6c0a0 3e 20 20 20 20 7d 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 >....}</span>.<span.class="line"
6c0c0 3e 20 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
6c0e0 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 66 61 6c 73 an>.(<span.class="tok-null">fals
6c100 65 3c 2f 73 70 61 6e 3e 29 20 7b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 e</span>).{</span>.<span.class="
6c120 6c 69 6e 65 22 3e 20 20 20 20 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 63 line">........<span.class="tok-c
6c140 6f 6d 6d 65 6e 74 22 3e 2f 2f 20 64 65 66 65 72 73 20 61 72 65 20 6e 6f 74 20 72 75 6e 20 69 66 omment">//.defers.are.not.run.if
6c160 20 74 68 65 79 20 61 72 65 20 6e 65 76 65 72 20 65 78 65 63 75 74 65 64 2e 3c 2f 73 70 61 6e 3e .they.are.never.executed.</span>
6c180 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 20 </span>.<span.class="line">.....
6c1a0 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 64 65 66 65 72 3c 2f 73 ...<span.class="tok-kw">defer</s
6c1c0 70 61 6e 3e 20 7b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 pan>.{</span>.<span.class="line"
6c1e0 3e 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="
6c200 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>,.
6c220 2e 7b 7d 29 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e .{});</span>.<span.class="line">
6c240 20 20 20 20 20 20 20 20 7d 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 ........}</span>.<span.class="li
6c260 6e 65 22 3e 20 20 20 20 7d 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 ne">....}</span>.<span.class="li
6c280 6e 65 22 3e 7d 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e ne">}</span>.<span.class="line">
6c2a0 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e </span>.<span.class="line"><span
6c2c0 20 63 6c 61 73 73 3d 22 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
6c2e0 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 73 74 72 22 3e 26 71 75 6f 74 3b 64 65 66 65 72 20 75 6e n.class="tok-str">&quot;defer.un
6c300 77 69 6e 64 69 6e 67 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 20 7b 3c 2f 73 70 61 6e 3e 0a 3c 73 winding&quot;</span>.{</span>.<s
6c320 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 64 65 66 65 72 55 6e 77 69 6e 64 pan.class="line">....deferUnwind
6c340 45 78 61 6d 70 6c 65 28 29 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c Example();</span>.<span.class="l
6c360 69 6e 65 22 3e 7d 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 ine">}</span>.<span.class="line"
6c380 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 ></span>.<span.class="line"><spa
6c3a0 6e 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 72 72 n.class="tok-comment">//.The.err
6c3c0 64 65 66 65 72 20 6b 65 79 77 6f 72 64 20 69 73 20 73 69 6d 69 6c 61 72 20 74 6f 20 64 65 66 65 defer.keyword.is.similar.to.defe
6c3e0 72 2c 20 62 75 74 20 77 69 6c 6c 20 6f 6e 6c 79 20 65 78 65 63 75 74 65 20 69 66 20 74 68 65 3c r,.but.will.only.execute.if.the<
6c400 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 /span></span>.<span.class="line"
6c420 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 73 63 ><span.class="tok-comment">//.sc
6c440 6f 70 65 20 72 65 74 75 72 6e 73 20 77 69 74 68 20 61 6e 20 65 72 72 6f 72 2e 3c 2f 73 70 61 6e ope.returns.with.an.error.</span
6c460 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 ></span>.<span.class="line"><spa
6c480 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 3c n.class="tok-comment">//</span><
6c4a0 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 /span>.<span.class="line"><span.
6c4c0 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 20 65 class="tok-comment">//.This.is.e
6c4e0 73 70 65 63 69 61 6c 6c 79 20 75 73 65 66 75 6c 20 69 6e 20 61 6c 6c 6f 77 69 6e 67 20 61 20 66 specially.useful.in.allowing.a.f
6c500 75 6e 63 74 69 6f 6e 20 74 6f 20 63 6c 65 61 6e 20 75 70 20 70 72 6f 70 65 72 6c 79 3c 2f 73 70 unction.to.clean.up.properly</sp
6c520 61 6e 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 an></span>.<span.class="line"><s
6c540 70 61 6e 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 6e 20 65 72 pan.class="tok-comment">//.on.er
6c560 72 6f 72 2c 20 61 6e 64 20 72 65 70 6c 61 63 65 73 20 67 6f 74 6f 20 65 72 72 6f 72 20 68 61 6e ror,.and.replaces.goto.error.han
6c580 64 6c 69 6e 67 20 74 61 63 74 69 63 73 20 61 73 20 73 65 65 6e 20 69 6e 20 63 2e 3c 2f 73 70 61 dling.tactics.as.seen.in.c.</spa
6c5a0 6e 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 n></span>.<span.class="line"><sp
6c5c0 61 6e 20 63 6c 61 73 73 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
6c5e0 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 66 6e 22 3e 64 65 66 65 72 45 72 72 6f 72 45 78 61 6d 70 n.class="tok-fn">deferErrorExamp
6c600 6c 65 3c 2f 73 70 61 6e 3e 28 69 73 5f 65 72 72 6f 72 3a 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d le</span>(is_error:.<span.class=
6c620 22 74 6f 6b 2d 74 79 70 65 22 3e 62 6f 6f 6c 3c 2f 73 70 61 6e 3e 29 20 21 3c 73 70 61 6e 20 63 "tok-type">bool</span>).!<span.c
6c640 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 76 6f 69 64 3c 2f 73 70 61 6e 3e 20 7b 3c 2f 73 lass="tok-type">void</span>.{</s
6c660 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 70 72 69 6e pan>.<span.class="line">....prin
6c680 74 28 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 73 74 72 22 3e 26 71 75 6f 74 3b 5c 6e t(<span.class="tok-str">&quot;\n
6c6a0 73 74 61 72 74 20 6f 66 20 66 75 6e 63 74 69 6f 6e 5c 6e 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e start.of.function\n&quot;</span>
6c6c0 2c 20 2e 7b 7d 29 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 ,..{});</span>.<span.class="line
6c6e0 22 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 "></span>.<span.class="line">...
6c700 20 3c 73 70 61 6e 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
6c720 69 73 20 77 69 6c 6c 20 61 6c 77 61 79 73 20 62 65 20 65 78 65 63 75 74 65 64 20 6f 6e 20 65 78 is.will.always.be.executed.on.ex
6c740 69 74 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 it</span></span>.<span.class="li
6c760 6e 65 22 3e 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 64 65 66 ne">....<span.class="tok-kw">def
6c780 65 72 3c 2f 73 70 61 6e 3e 20 7b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 er</span>.{</span>.<span.class="
6c7a0 6c 69 6e 65 22 3e 20 20 20 20 20 20 20 20 70 72 69 6e 74 28 3c 73 70 61 6e 20 63 6c 61 73 73 3d line">........print(<span.class=
6c7c0 22 74 6f 6b 2d 73 74 72 22 3e 26 71 75 6f 74 3b 65 6e 64 20 6f 66 20 66 75 6e 63 74 69 6f 6e 5c "tok-str">&quot;end.of.function\
6c7e0 6e 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 2c 20 2e 7b 7d 29 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 n&quot;</span>,..{});</span>.<sp
6c800 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 7d 3c 2f 73 70 61 6e 3e 0a 3c 73 70 an.class="line">....}</span>.<sp
6c820 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c an.class="line"></span>.<span.cl
6c840 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d ass="line">....<span.class="tok-
6c860 6b 77 22 3e 65 72 72 64 65 66 65 72 3c 2f 73 70 61 6e 3e 20 7b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 kw">errdefer</span>.{</span>.<sp
6c880 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 20 20 20 20 70 72 69 6e 74 28 3c 73 an.class="line">........print(<s
6c8a0 70 61 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 63 6f 75 6e pan.class="tok-str">&quot;encoun
6c8c0 74 65 72 65 64 20 61 6e 20 65 72 72 6f 72 21 5c 6e 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 2c 20 tered.an.error!\n&quot;</span>,.
6c8e0 2e 7b 7d 29 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e .{});</span>.<span.class="line">
6c900 20 20 20 20 7d 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e ....}</span>.<span.class="line">
6c920 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 3c </span>.<span.class="line">....<
6c940 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 63 6f 6d 6d 65 6e 74 22 3e 2f 2f 20 69 6e 73 69 span.class="tok-comment">//.insi
6c960 64 65 20 61 20 64 65 66 65 72 20 6d 65 74 68 6f 64 20 74 68 65 20 72 65 74 75 72 6e 20 73 74 61 de.a.defer.method.the.return.sta
6c980 74 65 6d 65 6e 74 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 tement</span></span>.<span.class
6c9a0 3d 22 6c 69 6e 65 22 3e 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 63 6f 6d ="line">....<span.class="tok-com
6c9c0 6d 65 6e 74 22 3e 2f 2f 20 69 73 20 6e 6f 74 20 61 6c 6c 6f 77 65 64 2e 3c 2f 73 70 61 6e 3e 3c ment">//.is.not.allowed.</span><
6c9e0 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 3c 73 /span>.<span.class="line">....<s
6ca00 70 61 6e 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 pan.class="tok-comment">//.The.f
6ca20 6f 6c 6c 6f 77 69 6e 67 20 6c 69 6e 65 73 20 70 72 6f 64 75 63 65 20 74 68 65 20 66 6f 6c 6c 6f ollowing.lines.produce.the.follo
6ca40 77 69 6e 67 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 wing</span></span>.<span.class="
6ca60 6c 69 6e 65 22 3e 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 63 6f 6d 6d 65 line">....<span.class="tok-comme
6ca80 6e 74 22 3e 2f 2f 20 65 72 72 6f 72 20 69 66 20 75 6e 63 6f 6d 6d 65 6e 74 3c 2f 73 70 61 6e 3e nt">//.error.if.uncomment</span>
6caa0 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 3c </span>.<span.class="line">....<
6cac0 73 70 61 6e 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 60 60 3c span.class="tok-comment">//.```<
6cae0 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 /span></span>.<span.class="line"
6cb00 3e 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 63 6f 6d 6d 65 6e 74 22 3e 2f >....<span.class="tok-comment">/
6cb20 2f 20 64 65 66 65 72 2e 7a 69 67 3a 37 33 3a 39 3a 20 65 72 72 6f 72 3a 20 63 61 6e 6e 6f 74 20 /.defer.zig:73:9:.error:.cannot.
6cb40 72 65 74 75 72 6e 20 66 72 6f 6d 20 64 65 66 65 72 20 65 78 70 72 65 73 73 69 6f 6e 3c 2f 73 70 return.from.defer.expression</sp
6cb60 61 6e 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 an></span>.<span.class="line">..
6cb80 20 20 3c 73 70 61 6e 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
6cba0 65 74 75 72 6e 20 65 72 72 6f 72 2e 44 65 66 65 72 45 72 72 6f 72 3b 3c 2f 73 70 61 6e 3e 3c 2f eturn.error.DeferError;</span></
6cbc0 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 3c 73 70 span>.<span.class="line">....<sp
6cbe0 61 6e 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 60 60 3c 2f 73 an.class="tok-comment">//.```</s
6cc00 70 61 6e 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 pan></span>.<span.class="line">.
6cc20 20 20 20 3c 73 70 61 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 ...<span.class="tok-comment">//<
6cc40 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 /span></span>.<span.class="line"
6cc60 3e 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 63 6f 6d 6d 65 6e 74 22 3e 2f >....<span.class="tok-comment">/
6cc80 2f 64 65 66 65 72 20 7b 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 /defer.{</span></span>.<span.cla
6cca0 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 63 ss="line">....<span.class="tok-c
6ccc0 6f 6d 6d 65 6e 74 22 3e 2f 2f 20 20 20 20 72 65 74 75 72 6e 20 65 72 72 6f 72 2e 44 65 66 65 72 omment">//....return.error.Defer
6cce0 45 72 72 6f 72 3b 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 Error;</span></span>.<span.class
6cd00 3d 22 6c 69 6e 65 22 3e 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 63 6f 6d ="line">....<span.class="tok-com
6cd20 6d 65 6e 74 22 3e 2f 2f 7d 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c ment">//}</span></span>.<span.cl
6cd40 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 ass="line"></span>.<span.class="
6cd60 6c 69 6e 65 22 3e 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 69 line">....<span.class="tok-kw">i
6cd80 66 3c 2f 73 70 61 6e 3e 20 28 69 73 5f 65 72 72 6f 72 29 20 7b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 f</span>.(is_error).{</span>.<sp
6cda0 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 20 20 20 20 3c 73 70 61 6e 20 63 6c an.class="line">........<span.cl
6cdc0 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
6cde0 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 65 66 .class="tok-kw">error</span>.Def
6ce00 65 72 45 72 72 6f 72 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e erError;</span>.<span.class="lin
6ce20 65 22 3e 20 20 20 20 7d 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e e">....}</span>.<span.class="lin
6ce40 65 22 3e 7d 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c e">}</span>.<span.class="line"><
6ce60 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 /span>.<span.class="line"><span.
6ce80 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 72 72 64 65 class="tok-comment">//.The.errde
6cea0 66 65 72 20 6b 65 79 77 6f 72 64 20 73 75 70 70 6f 72 74 20 61 6c 73 6f 20 61 6e 20 61 6c 74 65 fer.keyword.support.also.an.alte
6cec0 72 6e 61 74 69 76 65 20 73 79 6e 74 61 78 20 74 6f 20 63 61 70 74 75 72 65 20 74 68 65 3c 2f 73 rnative.syntax.to.capture.the</s
6cee0 70 61 6e 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c pan></span>.<span.class="line"><
6cf00 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 63 6f 6d 6d 65 6e 74 22 3e 2f 2f 20 65 72 72 6f span.class="tok-comment">//.erro
6cf20 72 20 67 65 6e 65 72 61 74 65 64 20 69 6e 20 63 61 73 65 20 6f 66 20 6f 6e 65 20 65 72 72 6f 72 r.generated.in.case.of.one.error
6cf40 2e 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e .</span></span>.<span.class="lin
6cf60 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 63 6f 6d 6d 65 6e 74 22 3e 2f 2f 3c e"><span.class="tok-comment">//<
6cf80 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 /span></span>.<span.class="line"
6cfa0 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 63 6f 6d 6d 65 6e 74 22 3e 2f 2f 20 54 68 ><span.class="tok-comment">//.Th
6cfc0 69 73 20 69 73 20 75 73 65 66 75 6c 20 77 68 65 6e 20 64 75 72 69 6e 67 20 74 68 65 20 63 6c 65 is.is.useful.when.during.the.cle
6cfe0 61 6e 20 75 70 20 61 66 74 65 72 20 61 6e 20 65 72 72 6f 72 20 61 64 64 69 74 69 6f 6e 61 6c 3c an.up.after.an.error.additional<
6d000 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 /span></span>.<span.class="line"
6d020 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 63 6f 6d 6d 65 6e 74 22 3e 2f 2f 20 6d 65 ><span.class="tok-comment">//.me
6d040 73 73 61 67 65 20 77 61 6e 74 20 74 6f 20 62 65 20 70 72 69 6e 74 65 64 2e 3c 2f 73 70 61 6e 3e ssage.want.to.be.printed.</span>
6d060 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e </span>.<span.class="line"><span
6d080 20 63 6c 61 73 73 3d 22 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.
6d0a0 63 6c 61 73 73 3d 22 74 6f 6b 2d 66 6e 22 3e 64 65 66 65 72 45 72 72 6f 72 43 61 70 74 75 72 65 class="tok-fn">deferErrorCapture
6d0c0 45 78 61 6d 70 6c 65 3c 2f 73 70 61 6e 3e 28 29 20 21 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 Example</span>().!<span.class="t
6d0e0 6f 6b 2d 74 79 70 65 22 3e 76 6f 69 64 3c 2f 73 70 61 6e 3e 20 7b 3c 2f 73 70 61 6e 3e 0a 3c 73 ok-type">void</span>.{</span>.<s
6d100 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 pan.class="line">....<span.class
6d120 3d 22 74 6f 6b 2d 6b 77 22 3e 65 72 72 64 65 66 65 72 3c 2f 73 70 61 6e 3e 20 7c 65 72 72 7c 20 ="tok-kw">errdefer</span>.|err|.
6d140 7b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 {</span>.<span.class="line">....
6d160 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=
6d180 22 74 6f 6b 2d 73 74 72 22 3e 26 71 75 6f 74 3b 74 68 65 20 65 72 72 6f 72 20 69 73 20 7b 73 7d "tok-str">&quot;the.error.is.{s}
6d1a0 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 22 \n&quot;</span>,..{<span.class="
6d1c0 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 28 65 tok-builtin">@errorName</span>(e
6d1e0 72 72 29 7d 29 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 rr)});</span>.<span.class="line"
6d200 3e 20 20 20 20 7d 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 >....}</span>.<span.class="line"
6d220 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 ></span>.<span.class="line">....
6d240 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
6d260 6e 3e 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 65 72 72 6f 72 3c 2f 73 n>.<span.class="tok-kw">error</s
6d280 70 61 6e 3e 2e 44 65 66 65 72 45 72 72 6f 72 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c pan>.DeferError;</span>.<span.cl
6d2a0 61 73 73 3d 22 6c 69 6e 65 22 3e 7d 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d ass="line">}</span>.<span.class=
6d2c0 22 6c 69 6e 65 22 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 "line"></span>.<span.class="line
6d2e0 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 74 65 73 74 3c 2f 73 70 61 "><span.class="tok-kw">test</spa
6d300 6e 3e 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 73 74 72 22 3e 26 71 75 6f 74 3b 65 n>.<span.class="tok-str">&quot;e
6d320 72 72 64 65 66 65 72 20 75 6e 77 69 6e 64 69 6e 67 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 20 7b rrdefer.unwinding&quot;</span>.{
6d340 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 64 </span>.<span.class="line">....d
6d360 65 66 65 72 45 72 72 6f 72 45 78 61 6d 70 6c 65 28 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f eferErrorExample(<span.class="to
6d380 6b 2d 6e 75 6c 6c 22 3e 66 61 6c 73 65 3c 2f 73 70 61 6e 3e 29 20 3c 73 70 61 6e 20 63 6c 61 73 k-null">false</span>).<span.clas
6d3a0 73 3d 22 74 6f 6b 2d 6b 77 22 3e 63 61 74 63 68 3c 2f 73 70 61 6e 3e 20 7b 7d 3b 3c 2f 73 70 61 s="tok-kw">catch</span>.{};</spa
6d3c0 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 64 65 66 65 72 45 n>.<span.class="line">....deferE
6d3e0 72 72 6f 72 45 78 61 6d 70 6c 65 28 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6c rrorExample(<span.class="tok-nul
6d400 6c 22 3e 74 72 75 65 3c 2f 73 70 61 6e 3e 29 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b l">true</span>).<span.class="tok
6d420 2d 6b 77 22 3e 63 61 74 63 68 3c 2f 73 70 61 6e 3e 20 7b 7d 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 -kw">catch</span>.{};</span>.<sp
6d440 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 64 65 66 65 72 45 72 72 6f 72 43 61 an.class="line">....deferErrorCa
6d460 70 74 75 72 65 45 78 61 6d 70 6c 65 28 29 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d ptureExample().<span.class="tok-
6d480 6b 77 22 3e 63 61 74 63 68 3c 2f 73 70 61 6e 3e 20 7b 7d 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 kw">catch</span>.{};</span>.<spa
6d4a0 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 7d 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 3c 2f n.class="line">}</span></code></
6d4c0 70 72 65 3e 3c 2f 66 69 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
6d4e0 20 63 6c 61 73 73 3d 22 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
6d500 74 69 6f 6e 3e 3c 70 72 65 3e 3c 73 61 6d 70 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e tion><pre><samp><span.class="lin
6d520 65 22 3e 24 20 3c 6b 62 64 3e 7a 69 67 20 74 65 73 74 20 64 65 66 65 72 2e 7a 69 67 3c 2f 6b 62 e">$.<kbd>zig.test.defer.zig</kb
6d540 64 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 31 2f 33 d></span>.<span.class="line">1/3
6d560 20 74 65 73 74 2e 64 65 66 65 72 20 62 61 73 69 63 73 2e 2e 2e 20 4f 4b 3c 2f 73 70 61 6e 3e 0a .test.defer.basics....OK</span>.
6d580 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 32 2f 33 20 74 65 73 74 2e 64 65 66 65 <span.class="line">2/3.test.defe
6d5a0 72 20 75 6e 77 69 6e 64 69 6e 67 2e 2e 2e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 r.unwinding...</span>.<span.clas
6d5c0 73 3d 22 6c 69 6e 65 22 3e 32 20 31 20 4f 4b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 s="line">2.1.OK</span>.<span.cla
6d5e0 73 73 3d 22 6c 69 6e 65 22 3e 33 2f 33 20 74 65 73 74 2e 65 72 72 64 65 66 65 72 20 75 6e 77 69 ss="line">3/3.test.errdefer.unwi
6d600 6e 64 69 6e 67 2e 2e 2e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e nding...</span>.<span.class="lin
6d620 65 22 3e 73 74 61 72 74 20 6f 66 20 66 75 6e 63 74 69 6f 6e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 e">start.of.function</span>.<spa
6d640 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 65 6e 64 20 6f 66 20 66 75 6e 63 74 69 6f 6e 3c 2f n.class="line">end.of.function</
6d660 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 2f 73 70 61 6e 3e span>.<span.class="line"></span>
6d680 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 73 74 61 72 74 20 6f 66 20 66 75 6e .<span.class="line">start.of.fun
6d6a0 63 74 69 6f 6e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e ction</span>.<span.class="line">
6d6c0 65 6e 63 6f 75 6e 74 65 72 65 64 20 61 6e 20 65 72 72 6f 72 21 3c 2f 73 70 61 6e 3e 0a 3c 73 70 encountered.an.error!</span>.<sp
6d6e0 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 65 6e 64 20 6f 66 20 66 75 6e 63 74 69 6f 6e 3c an.class="line">end.of.function<
6d700 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 74 68 65 20 65 72 /span>.<span.class="line">the.er
6d720 72 6f 72 20 69 73 20 44 65 66 65 72 45 72 72 6f 72 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 ror.is.DeferError</span>.<span.c
6d740 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 4f 4b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 lass="line">OK</span>.<span.clas
6d760 73 3d 22 6c 69 6e 65 22 3e 41 6c 6c 20 33 20 74 65 73 74 73 20 70 61 73 73 65 64 2e 3c 2f 73 70 s="line">All.3.tests.passed.</sp
6d780 61 6e 3e 0a 3c 2f 73 61 6d 70 3e 3c 2f 70 72 65 3e 3c 2f 66 69 67 75 72 65 3e 0a 20 20 20 20 20 an>.</samp></pre></figure>......
6d7a0 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
6d7c0 66 3d 22 23 45 72 72 6f 72 73 22 3e 45 72 72 6f 72 73 3c 2f 61 3e 3c 2f 6c 69 3e 0a 3c 2f 75 6c f="#Errors">Errors</a></li>.</ul
6d7e0 3e 0a 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 >...............<h2.id="unreacha
6d800 62 6c 65 22 3e 3c 61 20 68 72 65 66 3d 22 23 74 6f 63 2d 75 6e 72 65 61 63 68 61 62 6c 65 22 3e ble"><a.href="#toc-unreachable">
6d820 75 6e 72 65 61 63 68 61 62 6c 65 3c 2f 61 3e 20 3c 61 20 63 6c 61 73 73 3d 22 68 64 72 22 20 68 unreachable</a>.<a.class="hdr".h
6d840 72 65 66 3d 22 23 75 6e 72 65 61 63 68 61 62 6c 65 22 3e c2 a7 3c 2f 61 3e 3c 2f 68 32 3e 0a 0a ref="#unreachable">..</a></h2>..
6d860 20 20 20 20 20 20 3c 70 3e 0a 20 20 20 20 20 20 49 6e 20 3c 61 20 68 72 65 66 3d 22 23 44 65 62 ......<p>.......In.<a.href="#Deb
6d880 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 65 6c 65 ug">Debug</a>.and.<a.href="#Rele
6d8a0 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 6d 6f 64 65 0a 20 20 aseSafe">ReleaseSafe</a>.mode...
6d8c0 20 20 20 20 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 ....<code><span.class="line"><sp
6d8e0 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 75 6e 72 65 61 63 68 61 62 6c 65 3c 2f 73 an.class="tok-kw">unreachable</s
6d900 70 61 6e 3e 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 20 65 6d 69 74 73 20 61 20 63 61 6c 6c 20 pan></span></code>.emits.a.call.
6d920 74 6f 20 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 70 61 6e 69 to.<code><span.class="line">pani
6d940 63 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 20 77 69 74 68 20 74 68 65 20 6d 65 73 73 61 67 65 c</span></code>.with.the.message
6d960 20 3c 63 6f 64 65 3e 72 65 61 63 68 65 64 20 75 6e 72 65 61 63 68 61 62 6c 65 20 63 6f 64 65 3c .<code>reached.unreachable.code<
6d980 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>....
6d9a0 20 20 20 49 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 ...In.<a.href="#ReleaseFast">Rel
6d9c0 65 61 73 65 46 61 73 74 3c 2f 61 3e 20 61 6e 64 20 3c 61 20 68 72 65 66 3d 22 23 52 65 6c 65 61 easeFast</a>.and.<a.href="#Relea
6d9e0 73 65 53 6d 61 6c 6c 22 3e 52 65 6c 65 61 73 65 53 6d 61 6c 6c 3c 2f 61 3e 20 6d 6f 64 65 2c 20 seSmall">ReleaseSmall</a>.mode,.
6da00 74 68 65 20 6f 70 74 69 6d 69 7a 65 72 20 75 73 65 73 20 74 68 65 20 61 73 73 75 6d 70 74 69 6f the.optimizer.uses.the.assumptio
6da20 6e 20 74 68 61 74 20 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e n.that.<code><span.class="line">
6da40 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
6da60 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 20 63 6f 64 65 0a 20 20 20 20 20 </span></span></code>.code......
6da80 20 77 69 6c 6c 20 6e 65 76 65 72 20 62 65 20 68 69 74 20 74 6f 20 70 65 72 66 6f 72 6d 20 6f 70 .will.never.be.hit.to.perform.op
6daa0 74 69 6d 69 7a 61 74 69 6f 6e 73 2e 0a 20 20 20 20 20 20 3c 2f 70 3e 0a 20 20 20 20 20 20 3c 68 timizations........</p>.......<h
6dac0 33 20 69 64 3d 22 42 61 73 69 63 73 22 3e 3c 61 20 68 72 65 66 3d 22 23 74 6f 63 2d 42 61 73 69 3.id="Basics"><a.href="#toc-Basi
6dae0 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 68 72 cs">Basics</a>.<a.class="hdr".hr
6db00 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 20 20 ef="#Basics">..</a></h3>........
6db20 3c 66 69 67 75 72 65 3e 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
6db40 61 70 22 3e 3c 63 69 74 65 20 63 6c 61 73 73 3d 22 66 69 6c 65 22 3e 74 65 73 74 5f 75 6e 72 65 ap"><cite.class="file">test_unre
6db60 61 63 68 61 62 6c 65 2e 7a 69 67 3c 2f 63 69 74 65 3e 3c 2f 66 69 67 63 61 70 74 69 6f 6e 3e 3c achable.zig</cite></figcaption><
6db80 70 72 65 3e 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 pre><code><span.class="line"><sp
6dba0 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 63 6f 6d 6d 65 6e 74 22 3e 2f 2f 20 75 6e 72 65 61 63 an.class="tok-comment">//.unreac
6dbc0 68 61 62 6c 65 20 69 73 20 75 73 65 64 20 74 6f 20 61 73 73 65 72 74 20 74 68 61 74 20 63 6f 6e hable.is.used.to.assert.that.con
6dbe0 74 72 6f 6c 20 66 6c 6f 77 20 77 69 6c 6c 20 6e 65 76 65 72 20 72 65 61 63 68 20 61 3c 2f 73 70 trol.flow.will.never.reach.a</sp
6dc00 61 6e 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 an></span>.<span.class="line"><s
6dc20 70 61 6e 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 61 72 74 69 pan.class="tok-comment">//.parti
6dc40 63 75 6c 61 72 20 6c 6f 63 61 74 69 6f 6e 3a 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 cular.location:</span></span>.<s
6dc60 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f pan.class="line"><span.class="to
6dc80 6b 2d 6b 77 22 3e 74 65 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
6dca0 6f 6b 2d 73 74 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 ok-str">&quot;basic.math&quot;</
6dcc0 73 70 61 6e 3e 20 7b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 span>.{</span>.<span.class="line
6dce0 22 3e 20 20 20 20 3c 73 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
6dd00 3c 2f 73 70 61 6e 3e 20 78 20 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d </span>.x.=.<span.class="tok-num
6dd20 62 65 72 22 3e 31 3c 2f 73 70 61 6e 3e 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 ber">1</span>;</span>.<span.clas
6dd40 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 s="line">....<span.class="tok-kw
6dd60 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 73 3d 22 ">const</span>.y.=.<span.class="
6dd80 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 32 3c 2f 73 70 61 6e 3e 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 tok-number">2</span>;</span>.<sp
6dda0 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d an.class="line">....<span.class=
6ddc0 22 74 6f 6b 2d 6b 77 22 3e 69 66 3c 2f 73 70 61 6e 3e 20 28 78 20 2b 20 79 20 21 3d 20 3c 73 70 "tok-kw">if</span>.(x.+.y.!=.<sp
6dde0 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>).
6de00 7b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 {</span>.<span.class="line">....
6de20 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 75 6e 72 65 61 63 68 ....<span.class="tok-kw">unreach
6de40 61 62 6c 65 3c 2f 73 70 61 6e 3e 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d able</span>;</span>.<span.class=
6de60 22 6c 69 6e 65 22 3e 20 20 20 20 7d 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d "line">....}</span>.<span.class=
6de80 22 6c 69 6e 65 22 3e 7d 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 3c 2f 70 72 65 3e 3c 2f 66 69 "line">}</span></code></pre></fi
6dea0 67 75 72 65 3e 3c 66 69 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="
6dec0 73 68 65 6c 6c 2d 63 61 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
6dee0 65 3e 3c 73 61 6d 70 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 24 20 3c 6b 62 e><samp><span.class="line">$.<kb
6df00 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 2e 7a 69 67 3c d>zig.test.test_unreachable.zig<
6df20 2f 6b 62 64 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e /kbd></span>.<span.class="line">
6df40 31 2f 31 20 74 65 73 74 2e 62 61 73 69 63 20 6d 61 74 68 2e 2e 2e 20 4f 4b 3c 2f 73 70 61 6e 3e 1/1.test.basic.math....OK</span>
6df60 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 41 6c 6c 20 31 20 74 65 73 74 73 20 .<span.class="line">All.1.tests.
6df80 70 61 73 73 65 64 2e 3c 2f 73 70 61 6e 3e 0a 3c 2f 73 61 6d 70 3e 3c 2f 70 72 65 3e 3c 2f 66 69 passed.</span>.</samp></pre></fi
6dfa0 67 75 72 65 3e 0a 20 20 20 20 20 20 3c 70 3e 49 6e 20 66 61 63 74 2c 20 74 68 69 73 20 69 73 20 gure>.......<p>In.fact,.this.is.
6dfc0 68 6f 77 20 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 73 74 64 how.<code><span.class="line">std
6dfe0 2e 64 65 62 75 67 2e 61 73 73 65 72 74 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 20 69 73 20 69 .debug.assert</span></code>.is.i
6e000 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 66 mplemented:</p>.......<figure><f
6e020 69 67 63 61 70 74 69 6f 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.
6e040 63 6c 61 73 73 3d 22 66 69 6c 65 22 3e 74 65 73 74 2e 7a 69 67 3c 2f 63 69 74 65 3e 3c 2f 66 69 class="file">test.zig</cite></fi
6e060 67 63 61 70 74 69 6f 6e 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=
6e080 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 63 6f 6d 6d 65 6e 74 22 "line"><span.class="tok-comment"
6e0a0 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
6e0c0 20 69 73 20 69 6d 70 6c 65 6d 65 6e 74 65 64 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 .is.implemented</span></span>.<s
6e0e0 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f pan.class="line"><span.class="to
6e100 6b 2d 6b 77 22 3e 66 6e 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
6e120 2d 66 6e 22 3e 61 73 73 65 72 74 3c 2f 73 70 61 6e 3e 28 6f 6b 3a 20 3c 73 70 61 6e 20 63 6c 61 -fn">assert</span>(ok:.<span.cla
6e140 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 62 6f 6f 6c 3c 2f 73 70 61 6e 3e 29 20 3c 73 70 61 6e ss="tok-type">bool</span>).<span
6e160 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 76 6f 69 64 3c 2f 73 70 61 6e 3e 20 7b 3c .class="tok-type">void</span>.{<
6e180 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 3c 73 /span>.<span.class="line">....<s
6e1a0 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 69 66 3c 2f 73 70 61 6e 3e 20 28 21 6f pan.class="tok-kw">if</span>.(!o
6e1c0 6b 29 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 75 6e 72 65 61 63 68 61 k).<span.class="tok-kw">unreacha
6e1e0 62 6c 65 3c 2f 73 70 61 6e 3e 3b 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 63 6f 6d ble</span>;.<span.class="tok-com
6e200 6d 65 6e 74 22 3e 2f 2f 20 61 73 73 65 72 74 69 6f 6e 20 66 61 69 6c 75 72 65 3c 2f 73 70 61 6e ment">//.assertion.failure</span
6e220 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 7d 3c 2f 73 ></span>.<span.class="line">}</s
6e240 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 2f 73 70 61 6e 3e 0a pan>.<span.class="line"></span>.
6e260 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 <span.class="line"><span.class="
6e280 74 6f 6b 2d 63 6f 6d 6d 65 6e 74 22 3e 2f 2f 20 54 68 69 73 20 74 65 73 74 20 77 69 6c 6c 20 66 tok-comment">//.This.test.will.f
6e2a0 61 69 6c 20 62 65 63 61 75 73 65 20 77 65 20 68 69 74 20 75 6e 72 65 61 63 68 61 62 6c 65 2e 3c ail.because.we.hit.unreachable.<
6e2c0 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 /span></span>.<span.class="line"
6e2e0 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
6e300 3e 20 3c 73 70 61 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
6e320 69 73 20 77 69 6c 6c 20 66 61 69 6c 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 20 7b 3c 2f 73 70 61 is.will.fail&quot;</span>.{</spa
6e340 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 61 73 73 65 72 74 n>.<span.class="line">....assert
6e360 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
6e380 70 61 6e 3e 29 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 pan>);</span>.<span.class="line"
6e3a0 3e 7d 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 3c 2f 70 72 65 3e 3c 2f 66 69 67 75 72 65 3e 3c >}</span></code></pre></figure><
6e3c0 66 69 67 75 72 65 3e 3c 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-
6e3e0 63 61 70 22 3e 53 68 65 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
6e400 70 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 24 20 3c 6b 62 64 3e 7a 69 67 20 p><span.class="line">$.<kbd>zig.
6e420 74 65 73 74 20 74 65 73 74 2e 7a 69 67 3c 2f 6b 62 64 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e test.test.zig</kbd></span>.<span
6e440 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 31 2f 31 20 74 65 73 74 2e 74 68 69 73 20 77 69 6c 6c .class="line">1/1.test.this.will
6e460 20 66 61 69 6c 2e 2e 2e 20 74 68 72 65 61 64 20 33 35 37 34 39 34 38 20 70 61 6e 69 63 3a 20 72 .fail....thread.3574948.panic:.r
6e480 65 61 63 68 65 64 20 75 6e 72 65 61 63 68 61 62 6c 65 20 63 6f 64 65 3c 2f 73 70 61 6e 3e 0a 3c eached.unreachable.code</span>.<
6e4a0 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 span.class="line"><span.class="t
6e4c0 31 5f 30 22 3e 64 6f 63 67 65 6e 5f 74 6d 70 2f 74 65 73 74 2e 7a 69 67 3a 33 3a 31 34 3c 2f 73 1_0">docgen_tmp/test.zig:3:14</s
6e4e0 70 61 6e 3e 3a 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 32 5f 30 22 3e 30 78 32 31 31 35 38 pan>:.<span.class="t2_0">0x21158
6e500 63 20 69 6e 20 61 73 73 65 72 74 20 28 74 65 73 74 29 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e c.in.assert.(test)</span></span>
6e520 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 69 66 20 28 21 6f 6b 29 .<span.class="line">....if.(!ok)
6e540 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 75 .unreachable;.//.assertion.failu
6e560 72 65 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 re</span>.<span.class="line">...
6e580 20 20 20 20 20 20 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 33 32 5f 31 22 3e 5e 3c ..........<span.class="t32_1">^<
6e5a0 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 /span></span>.<span.class="line"
6e5c0 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 31 5f 30 22 3e 64 6f 63 67 65 6e 5f 74 6d 70 2f 74 ><span.class="t1_0">docgen_tmp/t
6e5e0 65 73 74 2e 7a 69 67 3a 38 3a 31 31 3c 2f 73 70 61 6e 3e 3a 20 3c 73 70 61 6e 20 63 6c 61 73 73 est.zig:8:11</span>:.<span.class
6e600 3d 22 74 32 5f 30 22 3e 30 78 32 31 31 35 34 61 20 69 6e 20 74 65 73 74 2e 74 68 69 73 20 77 69 ="t2_0">0x21154a.in.test.this.wi
6e620 6c 6c 20 66 61 69 6c 20 28 74 65 73 74 29 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 ll.fail.(test)</span></span>.<sp
6e640 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 61 73 73 65 72 74 28 66 61 6c 73 65 an.class="line">....assert(false
6e660 29 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 );</span>.<span.class="line">...
6e680 20 20 20 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 33 32 5f 31 22 3e 5e 3c 2f 73 70 .......<span.class="t32_1">^</sp
6e6a0 61 6e 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 an></span>.<span.class="line"><s
6e6c0 70 61 6e 20 63 6c 61 73 73 3d 22 74 31 5f 30 22 3e 2f 68 6f 6d 65 2f 63 69 2f 72 65 6c 65 61 73 pan.class="t1_0">/home/ci/releas
6e6e0 65 2d 30 2e 31 30 2e 31 2f 6f 75 74 2f 7a 69 67 2d 78 38 36 5f 36 34 2d 6c 69 6e 75 78 2d 6d 75 e-0.10.1/out/zig-x86_64-linux-mu
6e700 73 6c 2d 62 61 73 65 6c 69 6e 65 2f 6c 69 62 2f 7a 69 67 2f 74 65 73 74 5f 72 75 6e 6e 65 72 2e sl-baseline/lib/zig/test_runner.
6e720 7a 69 67 3a 36 33 3a 32 38 3c 2f 73 70 61 6e 3e 3a 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 zig:63:28</span>:.<span.class="t
6e740 32 5f 30 22 3e 30 78 32 31 32 64 32 33 20 69 6e 20 6d 61 69 6e 20 28 74 65 73 74 29 3c 2f 73 70 2_0">0x212d23.in.main.(test)</sp
6e760 61 6e 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 an></span>.<span.class="line">..
6e780 20 20 20 20 20 20 7d 20 65 6c 73 65 20 74 65 73 74 5f 66 6e 2e 66 75 6e 63 28 29 3b 3c 2f 73 70 ......}.else.test_fn.func();</sp
6e7a0 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 20 20 20 20 20 an>.<span.class="line">.........
6e7c0 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
6e7e0 33 32 5f 31 22 3e 5e 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 32_1">^</span></span>.<span.clas
6e800 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 31 5f 30 22 3e 2f 68 6f 6d s="line"><span.class="t1_0">/hom
6e820 65 2f 63 69 2f 72 65 6c 65 61 73 65 2d 30 2e 31 30 2e 31 2f 6f 75 74 2f 7a 69 67 2d 78 38 36 5f e/ci/release-0.10.1/out/zig-x86_
6e840 36 34 2d 6c 69 6e 75 78 2d 6d 75 73 6c 2d 62 61 73 65 6c 69 6e 65 2f 6c 69 62 2f 7a 69 67 2f 73 64-linux-musl-baseline/lib/zig/s
6e860 74 64 2f 73 74 61 72 74 2e 7a 69 67 3a 36 30 34 3a 32 32 3c 2f 73 70 61 6e 3e 3a 20 3c 73 70 61 td/start.zig:604:22</span>:.<spa
6e880 6e 20 63 6c 61 73 73 3d 22 74 32 5f 30 22 3e 30 78 32 31 31 65 61 63 20 69 6e 20 70 6f 73 69 78 n.class="t2_0">0x211eac.in.posix
6e8a0 43 61 6c 6c 4d 61 69 6e 41 6e 64 45 78 69 74 20 28 74 65 73 74 29 3c 2f 73 70 61 6e 3e 3c 2f 73 CallMainAndExit.(test)</span></s
6e8c0 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 20 20 20 20 pan>.<span.class="line">........
6e8e0 20 20 20 20 72 6f 6f 74 2e 6d 61 69 6e 28 29 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c ....root.main();</span>.<span.cl
6e900 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ass="line">.....................
6e920 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 33 32 5f 31 22 3e 5e 3c 2f 73 70 61 6e 3e 3c 2f 73 70 <span.class="t32_1">^</span></sp
6e940 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 an>.<span.class="line"><span.cla
6e960 73 73 3d 22 74 31 5f 30 22 3e 2f 68 6f 6d 65 2f 63 69 2f 72 65 6c 65 61 73 65 2d 30 2e 31 30 2e ss="t1_0">/home/ci/release-0.10.
6e980 31 2f 6f 75 74 2f 7a 69 67 2d 78 38 36 5f 36 34 2d 6c 69 6e 75 78 2d 6d 75 73 6c 2d 62 61 73 65 1/out/zig-x86_64-linux-musl-base
6e9a0 6c 69 6e 65 2f 6c 69 62 2f 7a 69 67 2f 73 74 64 2f 73 74 61 72 74 2e 7a 69 67 3a 33 37 36 3a 35 line/lib/zig/std/start.zig:376:5
6e9c0 3c 2f 73 70 61 6e 3e 3a 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 32 5f 30 22 3e 30 78 32 31 </span>:.<span.class="t2_0">0x21
6e9e0 31 39 62 31 20 69 6e 20 5f 73 74 61 72 74 20 28 74 65 73 74 29 3c 2f 73 70 61 6e 3e 3c 2f 73 70 19b1.in._start.(test)</span></sp
6ea00 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 40 63 61 6c 6c an>.<span.class="line">....@call
6ea20 28 2e 7b 20 2e 6d 6f 64 69 66 69 65 72 20 3d 20 2e 6e 65 76 65 72 5f 69 6e 6c 69 6e 65 20 7d 2c (.{..modifier.=..never_inline.},
6ea40 20 70 6f 73 69 78 43 61 6c 6c 4d 61 69 6e 41 6e 64 45 78 69 74 2c 20 2e 7b 7d 29 3b 3c 2f 73 70 .posixCallMainAndExit,..{});</sp
6ea60 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 3c 73 70 61 6e an>.<span.class="line">....<span
6ea80 20 63 6c 61 73 73 3d 22 74 33 32 5f 31 22 3e 5e 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 0a 3c .class="t32_1">^</span></span>.<
6eaa0 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 65 72 72 6f 72 3a 20 74 68 65 20 66 6f 6c span.class="line">error:.the.fol
6eac0 6c 6f 77 69 6e 67 20 74 65 73 74 20 63 6f 6d 6d 61 6e 64 20 63 72 61 73 68 65 64 3a 3c 2f 73 70 lowing.test.command.crashed:</sp
6eae0 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 2f 68 6f 6d 65 2f 63 69 2f an>.<span.class="line">/home/ci/
6eb00 72 65 6c 65 61 73 65 2d 30 2e 31 30 2e 31 2f 6f 75 74 2f 7a 69 67 2d 6c 6f 63 61 6c 2d 63 61 63 release-0.10.1/out/zig-local-cac
6eb20 68 65 2f 6f 2f 38 38 36 64 62 64 65 32 63 32 61 32 31 30 37 34 63 36 63 36 64 33 66 66 39 62 38 he/o/886dbde2c2a21074c6c6d3ff9b8
6eb40 33 33 33 36 62 2f 74 65 73 74 3c 2f 73 70 61 6e 3e 0a 3c 2f 73 61 6d 70 3e 3c 2f 70 72 65 3e 3c 3336b/test</span>.</samp></pre><
6eb60 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 41 74 /figure>..............<h3.id="At
6eb80 2d 43 6f 6d 70 69 6c 65 2d 54 69 6d 65 22 3e 3c 61 20 68 72 65 66 3d 22 23 74 6f 63 2d 41 74 2d -Compile-Time"><a.href="#toc-At-
6eba0 43 6f 6d 70 69 6c 65 2d 54 69 6d 65 22 3e 41 74 20 43 6f 6d 70 69 6c 65 2d 54 69 6d 65 3c 2f 61 Compile-Time">At.Compile-Time</a
6ebc0 3e 20 3c 61 20 63 6c 61 73 73 3d 22 68 64 72 22 20 68 72 65 66 3d 22 23 41 74 2d 43 6f 6d 70 69 >.<a.class="hdr".href="#At-Compi
6ebe0 6c 65 2d 54 69 6d 65 22 3e c2 a7 3c 2f 61 3e 3c 2f 68 33 3e 0a 0a 20 20 20 20 20 20 3c 66 69 67 le-Time">..</a></h3>........<fig
6ec00 75 72 65 3e 3c 66 69 67 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">
6ec20 3c 63 69 74 65 20 63 6c 61 73 73 3d 22 66 69 6c 65 22 3e 74 65 73 74 2e 7a 69 67 3c 2f 63 69 74 <cite.class="file">test.zig</cit
6ec40 65 3e 3c 2f 66 69 67 63 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.
6ec60 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 class="line"><span.class="tok-kw
6ec80 22 3e 63 6f 6e 73 74 3c 2f 73 70 61 6e 3e 20 61 73 73 65 72 74 20 3d 20 3c 73 70 61 6e 20 63 6c ">const</span>.assert.=.<span.cl
6eca0 61 73 73 3d 22 74 6f 6b 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>
6ecc0 28 3c 73 70 61 6e 20 63 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
6ece0 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 29 2e 64 65 62 75 67 2e 61 73 73 65 72 74 3b 3c 2f 73 70 &quot;</span>).debug.assert;</sp
6ed00 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 2f 73 70 61 6e 3e 0a 3c an>.<span.class="line"></span>.<
6ed20 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 span.class="line"><span.class="t
6ed40 6f 6b 2d 6b 77 22 3e 74 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="
6ed60 74 6f 6b 2d 73 74 72 22 3e 26 71 75 6f 74 3b 74 79 70 65 20 6f 66 20 75 6e 72 65 61 63 68 61 62 tok-str">&quot;type.of.unreachab
6ed80 6c 65 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 20 7b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 le&quot;</span>.{</span>.<span.c
6eda0 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b lass="line">....<span.class="tok
6edc0 2d 6b 77 22 3e 63 6f 6d 70 74 69 6d 65 3c 2f 73 70 61 6e 3e 20 7b 3c 2f 73 70 61 6e 3e 0a 3c 73 -kw">comptime</span>.{</span>.<s
6ede0 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 20 20 20 20 3c 73 70 61 6e 20 63 pan.class="line">........<span.c
6ee00 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 74 79 70 65 20 6f lass="tok-comment">//.The.type.o
6ee20 66 20 75 6e 72 65 61 63 68 61 62 6c 65 20 69 73 20 6e 6f 72 65 74 75 72 6e 2e 3c 2f 73 70 61 6e f.unreachable.is.noreturn.</span
6ee40 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 2f 73 70 ></span>.<span.class="line"></sp
6ee60 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 20 20 20 20 3c an>.<span.class="line">........<
6ee80 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 63 6f 6d 6d 65 6e 74 22 3e 2f 2f 20 48 6f 77 65 span.class="tok-comment">//.Howe
6eea0 76 65 72 20 74 68 69 73 20 61 73 73 65 72 74 69 6f 6e 20 77 69 6c 6c 20 73 74 69 6c 6c 20 66 61 ver.this.assertion.will.still.fa
6eec0 69 6c 20 74 6f 20 63 6f 6d 70 69 6c 65 20 62 65 63 61 75 73 65 3c 2f 73 70 61 6e 3e 3c 2f 73 70 il.to.compile.because</span></sp
6eee0 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 20 20 20 20 3c an>.<span.class="line">........<
6ef00 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 63 6f 6d 6d 65 6e 74 22 3e 2f 2f 20 75 6e 72 65 span.class="tok-comment">//.unre
6ef20 61 63 68 61 62 6c 65 20 65 78 70 72 65 73 73 69 6f 6e 73 20 61 72 65 20 63 6f 6d 70 69 6c 65 20 achable.expressions.are.compile.
6ef40 65 72 72 6f 72 73 2e 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 errors.</span></span>.<span.clas
6ef60 73 3d 22 6c 69 6e 65 22 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 s="line"></span>.<span.class="li
6ef80 6e 65 22 3e 20 20 20 20 20 20 20 20 61 73 73 65 72 74 28 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 ne">........assert(<span.class="
6efa0 74 6f 6b 2d 62 75 69 6c 74 69 6e 22 3e 40 54 79 70 65 4f 66 3c 2f 73 70 61 6e 3e 28 3c 73 70 61 tok-builtin">@TypeOf</span>(<spa
6efc0 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
6efe0 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 74 79 70 65 22 3e 6e an>).==.<span.class="tok-type">n
6f000 6f 72 65 74 75 72 6e 3c 2f 73 70 61 6e 3e 29 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c oreturn</span>);</span>.<span.cl
6f020 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 7d 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c ass="line">....}</span>.<span.cl
6f040 61 73 73 3d 22 6c 69 6e 65 22 3e 7d 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 3c 2f 70 72 65 3e ass="line">}</span></code></pre>
6f060 3c 2f 66 69 67 75 72 65 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
6f080 73 73 3d 22 73 68 65 6c 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
6f0a0 3e 3c 70 72 65 3e 3c 73 61 6d 70 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 24 ><pre><samp><span.class="line">$
6f0c0 20 3c 6b 62 64 3e 7a 69 67 20 74 65 73 74 20 74 65 73 74 2e 7a 69 67 3c 2f 6b 62 64 3e 3c 2f 73 .<kbd>zig.test.test.zig</kbd></s
6f0e0 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c pan>.<span.class="line"><span.cl
6f100 61 73 73 3d 22 74 31 5f 30 22 3e 64 6f 63 67 65 6e 5f 74 6d 70 2f 74 65 73 74 2e 7a 69 67 3a 31 ass="t1_0">docgen_tmp/test.zig:1
6f120 30 3a 31 36 3a 20 3c 2f 73 70 61 6e 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 33 31 5f 31 22 0:16:.</span><span.class="t31_1"
6f140 3e 65 72 72 6f 72 3a 20 3c 2f 73 70 61 6e 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 31 5f 30 >error:.</span><span.class="t1_0
6f160 22 3e 75 6e 72 65 61 63 68 61 62 6c 65 20 63 6f 64 65 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 ">unreachable.code</span>.<span.
6f180 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 2f 73 70 61 6e 3e 20 20 20 20 20 20 20 20 61 73 73 65 class="line"></span>........asse
6f1a0 72 74 28 40 54 79 70 65 4f 66 28 75 6e 72 65 61 63 68 61 62 6c 65 29 20 3d 3d 20 6e 6f 72 65 74 rt(@TypeOf(unreachable).==.noret
6f1c0 75 72 6e 29 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e urn);</span>.<span.class="line">
6f1e0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 33 32 5f ...............<span.class="t32_
6f200 31 22 3e 5e 7e 7e 7e 7e 7e 7e 7e 7e 7e 7e 7e 7e 7e 7e 7e 7e 7e 7e 7e 3c 2f 73 70 61 6e 3e 0a 3c 1">^~~~~~~~~~~~~~~~~~~~</span>.<
6f220 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 2f 73 70 61 6e 3e 3c 73 70 61 6e 20 63 span.class="line"></span><span.c
6f240 6c 61 73 73 3d 22 74 31 5f 30 22 3e 64 6f 63 67 65 6e 5f 74 6d 70 2f 74 65 73 74 2e 7a 69 67 3a lass="t1_0">docgen_tmp/test.zig:
6f260 31 30 3a 32 34 3a 20 3c 2f 73 70 61 6e 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 33 36 5f 31 10:24:.</span><span.class="t36_1
6f280 22 3e 6e 6f 74 65 3a 20 3c 2f 73 70 61 6e 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 31 5f 30 ">note:.</span><span.class="t1_0
6f2a0 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 3c ">control.flow.is.diverted.here<
6f2c0 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 2f 73 70 61 6e /span>.<span.class="line"></span
6f2e0 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 72 65 61 63 68 61 >........assert(@TypeOf(unreacha
6f300 62 6c 65 29 20 3d 3d 20 6e 6f 72 65 74 75 72 6e 29 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 ble).==.noreturn);</span>.<span.
6f320 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 class="line">...................
6f340 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 33 32 5f 31 22 3e 5e 7e 7e 7e 7e 7e 7e 7e ....<span.class="t32_1">^~~~~~~~
6f360 7e 7e 7e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 2f ~~~</span>.<span.class="line"></
6f380 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 0a 3c 2f 73 61 6d 70 3e 3c 2f 70 72 65 3e 3c 2f 66 69 67 75 span></span>.</samp></pre></figu
6f3a0 72 65 3e 0a 20 20 20 20 20 20 3c 70 3e 53 65 65 20 61 6c 73 6f 3a 3c 2f 70 3e 3c 75 6c 3e 0a 3c re>.......<p>See.also:</p><ul>.<
6f3c0 6c 69 3e 3c 61 20 68 72 65 66 3d 22 23 5a 69 67 2d 54 65 73 74 22 3e 5a 69 67 20 54 65 73 74 3c li><a.href="#Zig-Test">Zig.Test<
6f3e0 2f 61 3e 3c 2f 6c 69 3e 0a 3c 6c 69 3e 3c 61 20 68 72 65 66 3d 22 23 42 75 69 6c 64 2d 4d 6f 64 /a></li>.<li><a.href="#Build-Mod
6f400 65 22 3e 42 75 69 6c 64 20 4d 6f 64 65 3c 2f 61 3e 3c 2f 6c 69 3e 0a 3c 6c 69 3e 3c 61 20 68 72 e">Build.Mode</a></li>.<li><a.hr
6f420 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>
6f440 0a 3c 2f 75 6c 3e 0a 0a 20 20 20 20 20 20 0a 20 20 20 20 20 20 0a 20 20 20 20 20 20 3c 68 32 20 .</ul>......................<h2.
6f460 69 64 3d 22 6e 6f 72 65 74 75 72 6e 22 3e 3c 61 20 68 72 65 66 3d 22 23 74 6f 63 2d 6e 6f 72 65 id="noreturn"><a.href="#toc-nore
6f480 74 75 72 6e 22 3e 6e 6f 72 65 74 75 72 6e 3c 2f 61 3e 20 3c 61 20 63 6c 61 73 73 3d 22 68 64 72 turn">noreturn</a>.<a.class="hdr
6f4a0 22 20 68 72 65 66 3d 22 23 6e 6f 72 65 74 75 72 6e 22 3e c2 a7 3c 2f 61 3e 3c 2f 68 32 3e 0a 0a ".href="#noreturn">..</a></h2>..
6f4c0 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
6f4e0 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e s="line"><span.class="tok-type">
6f500 6e 6f 72 65 74 75 72 6e 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 20 69 73 noreturn</span></span></code>.is
6f520 20 74 68 65 20 74 79 70 65 20 6f 66 3a 0a 20 20 20 20 20 20 3c 2f 70 3e 0a 20 20 20 20 20 20 3c .the.type.of:.......</p>.......<
6f540 75 6c 3e 0a 20 20 20 20 20 20 20 20 20 20 3c 6c 69 3e 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c ul>...........<li><code><span.cl
6f560 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e ass="line"><span.class="tok-kw">
6f580 62 72 65 61 6b 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 3c 2f 6c 69 3e 0a break</span></span></code></li>.
6f5a0 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=
6f5c0 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 63 6f 6e 74 "line"><span.class="tok-kw">cont
6f5e0 69 6e 75 65 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 3c 2f 6c 69 3e 0a 20 inue</span></span></code></li>..
6f600 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="
6f620 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 72 65 74 75 72 line"><span.class="tok-kw">retur
6f640 6e 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 3c 2f 6c 69 3e 0a 20 20 20 20 n</span></span></code></li>.....
6f660 20 20 20 20 20 20 3c 6c 69 3e 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e ......<li><code><span.class="lin
6f680 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 75 6e 72 65 61 63 68 61 e"><span.class="tok-kw">unreacha
6f6a0 62 6c 65 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 3c 2f 6c 69 3e 0a 20 20 ble</span></span></code></li>...
6f6c0 20 20 20 20 20 20 20 20 3c 6c 69 3e 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c ........<li><code><span.class="l
6f6e0 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 77 68 69 6c 65 3c ine"><span.class="tok-kw">while<
6f700 2f 73 70 61 6e 3e 20 28 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6c 6c 22 3e 74 /span>.(<span.class="tok-null">t
6f720 72 75 65 3c 2f 73 70 61 6e 3e 29 20 7b 7d 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 3c 2f 6c 69 rue</span>).{}</span></code></li
6f740 3e 0a 20 20 20 20 20 20 3c 2f 75 6c 3e 0a 20 20 20 20 20 20 3c 70 3e 57 68 65 6e 20 72 65 73 6f >.......</ul>.......<p>When.reso
6f760 6c 76 69 6e 67 20 74 79 70 65 73 20 74 6f 67 65 74 68 65 72 2c 20 73 75 63 68 20 61 73 20 3c 63 lving.types.together,.such.as.<c
6f780 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 ode><span.class="line"><span.cla
6f7a0 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 69 66 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 3c 2f 63 6f ss="tok-kw">if</span></span></co
6f7c0 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 73 de>.clauses.or.<code><span.class
6f7e0 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 73 77 69 ="line"><span.class="tok-kw">swi
6f800 74 63 68 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 20 70 72 6f 6e 67 73 2c tch</span></span></code>.prongs,
6f820 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 74 68 65 20 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 ...............the.<code><span.c
6f840 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 lass="line"><span.class="tok-typ
6f860 65 22 3e 6e 6f 72 65 74 75 72 6e 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e e">noreturn</span></span></code>
6f880 20 74 79 70 65 20 69 73 20 63 6f 6d 70 61 74 69 62 6c 65 20 77 69 74 68 20 65 76 65 72 79 20 6f .type.is.compatible.with.every.o
6f8a0 74 68 65 72 20 74 79 70 65 2e 20 43 6f 6e 73 69 64 65 72 3a 0a 20 20 20 20 20 20 3c 2f 70 3e 0a ther.type..Consider:.......</p>.
6f8c0 20 20 20 20 20 20 3c 66 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=
6f8e0 22 7a 69 67 2d 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
6f900 74 5f 6e 6f 72 65 74 75 72 6e 2e 7a 69 67 3c 2f 63 69 74 65 3e 3c 2f 66 69 67 63 61 70 74 69 6f t_noreturn.zig</cite></figcaptio
6f920 6e 3e 3c 70 72 65 3e 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e n><pre><code><span.class="line">
6f940 3c 73 70 61 6e 20 63 6c 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>.<
6f960 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 63 span.class="tok-fn">foo</span>(c
6f980 6f 6e 64 69 74 69 6f 6e 3a 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 ondition:.<span.class="tok-type"
6f9a0 3e 62 6f 6f 6c 3c 2f 73 70 61 6e 3e 2c 20 62 3a 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f >bool</span>,.b:.<span.class="to
6f9c0 6b 2d 74 79 70 65 22 3e 75 33 32 3c 2f 73 70 61 6e 3e 29 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d k-type">u32</span>).<span.class=
6f9e0 22 74 6f 6b 2d 74 79 70 65 22 3e 76 6f 69 64 3c 2f 73 70 61 6e 3e 20 7b 3c 2f 73 70 61 6e 3e 0a "tok-type">void</span>.{</span>.
6fa00 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 <span.class="line">....<span.cla
6fa20 73 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
6fa40 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
6fa60 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
6fa80 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">
6faa0 72 65 74 75 72 6e 3c 2f 73 70 61 6e 3e 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 return</span>;</span>.<span.clas
6fac0 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 5f 20 3d 20 61 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e s="line">...._.=.a;</span>.<span
6fae0 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 .class="line">....<span.class="t
6fb00 6f 6b 2d 62 75 69 6c 74 69 6e 22 3e 40 70 61 6e 69 63 3c 2f 73 70 61 6e 3e 28 3c 73 70 61 6e 20 ok-builtin">@panic</span>(<span.
6fb20 63 6c 61 73 73 3d 22 74 6f 6b 2d 73 74 72 22 3e 26 71 75 6f 74 3b 64 6f 20 73 6f 6d 65 74 68 69 class="tok-str">&quot;do.somethi
6fb40 6e 67 20 77 69 74 68 20 61 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 29 3b 3c 2f 73 70 61 6e 3e 0a ng.with.a&quot;</span>);</span>.
6fb60 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 7d 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 <span.class="line">}</span>.<spa
6fb80 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d n.class="line"><span.class="tok-
6fba0 6b 77 22 3e 74 65 73 74 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
6fbc0 2d 73 74 72 22 3e 26 71 75 6f 74 3b 6e 6f 72 65 74 75 72 6e 26 71 75 6f 74 3b 3c 2f 73 70 61 6e -str">&quot;noreturn&quot;</span
6fbe0 3e 20 7b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 >.{</span>.<span.class="line">..
6fc00 20 20 66 6f 6f 28 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6c 6c 22 3e 66 61 6c ..foo(<span.class="tok-null">fal
6fc20 73 65 3c 2f 73 70 61 6e 3e 2c 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 se</span>,.<span.class="tok-numb
6fc40 65 72 22 3e 31 3c 2f 73 70 61 6e 3e 29 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 er">1</span>);</span>.<span.clas
6fc60 73 3d 22 6c 69 6e 65 22 3e 7d 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 3c 2f 70 72 65 3e 3c 2f s="line">}</span></code></pre></
6fc80 66 69 67 75 72 65 3e 3c 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
6fca0 3d 22 73 68 65 6c 6c 2d 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><
6fcc0 70 72 65 3e 3c 73 61 6d 70 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 24 20 3c pre><samp><span.class="line">$.<
6fce0 6b 62 64 3e 7a 69 67 20 74 65 73 74 20 74 65 73 74 5f 6e 6f 72 65 74 75 72 6e 2e 7a 69 67 3c 2f kbd>zig.test.test_noreturn.zig</
6fd00 6b 62 64 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 31 kbd></span>.<span.class="line">1
6fd20 2f 31 20 74 65 73 74 2e 6e 6f 72 65 74 75 72 6e 2e 2e 2e 20 4f 4b 3c 2f 73 70 61 6e 3e 0a 3c 73 /1.test.noreturn....OK</span>.<s
6fd40 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 41 6c 6c 20 31 20 74 65 73 74 73 20 70 61 73 pan.class="line">All.1.tests.pas
6fd60 73 65 64 2e 3c 2f 73 70 61 6e 3e 0a 3c 2f 73 61 6d 70 3e 3c 2f 70 72 65 3e 3c 2f 66 69 67 75 72 sed.</span>.</samp></pre></figur
6fd80 65 3e 0a 20 20 20 20 20 20 3c 70 3e 41 6e 6f 74 68 65 72 20 75 73 65 20 63 61 73 65 20 66 6f 72 e>.......<p>Another.use.case.for
6fda0 20 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 .<code><span.class="line"><span.
6fdc0 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>
6fde0 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 20 69 73 20 74 68 65 20 3c 63 6f 64 65 3e 3c 73 70 61 </span></code>.is.the.<code><spa
6fe00 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 65 78 69 74 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 n.class="line">exit</span></code
6fe20 3e 20 66 75 6e 63 74 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 >.function:</p>.......<figure><f
6fe40 69 67 63 61 70 74 69 6f 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.
6fe60 63 6c 61 73 73 3d 22 66 69 6c 65 22 3e 6e 6f 72 65 74 75 72 6e 5f 66 72 6f 6d 5f 65 78 69 74 2e class="file">noreturn_from_exit.
6fe80 7a 69 67 3c 2f 63 69 74 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
6fea0 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 e><span.class="line"><span.class
6fec0 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
6fee0 61 6e 20 63 6c 61 73 73 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</
6ff00 73 70 61 6e 3e 28 3c 73 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
6ff20 74 3b 73 74 64 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 29 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 t;std&quot;</span>);</span>.<spa
6ff40 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d n.class="line"><span.class="tok-
6ff60 6b 77 22 3e 63 6f 6e 73 74 3c 2f 73 70 61 6e 3e 20 62 75 69 6c 74 69 6e 20 3d 20 3c 73 70 61 6e kw">const</span>.builtin.=.<span
6ff80 20 63 6c 61 73 73 3d 22 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
6ffa0 61 6e 3e 28 3c 73 70 61 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;
6ffc0 62 75 69 6c 74 69 6e 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 29 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 builtin&quot;</span>);</span>.<s
6ffe0 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f pan.class="line"><span.class="to
70000 6b 2d 6b 77 22 3e 63 6f 6e 73 74 3c 2f 73 70 61 6e 3e 20 6e 61 74 69 76 65 5f 61 72 63 68 20 3d k-kw">const</span>.native_arch.=
70020 20 62 75 69 6c 74 69 6e 2e 63 70 75 2e 61 72 63 68 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 .builtin.cpu.arch;</span>.<span.
70040 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 class="line"><span.class="tok-kw
70060 22 3e 63 6f 6e 73 74 3c 2f 73 70 61 6e 3e 20 65 78 70 65 63 74 20 3d 20 73 74 64 2e 74 65 73 74 ">const</span>.expect.=.std.test
70080 69 6e 67 2e 65 78 70 65 63 74 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 ing.expect;</span>.<span.class="
700a0 6c 69 6e 65 22 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 line"></span>.<span.class="line"
700c0 3e 3c 73 70 61 6e 20 63 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
700e0 6e 3e 20 57 49 4e 41 50 49 3a 20 73 74 64 2e 62 75 69 6c 74 69 6e 2e 43 61 6c 6c 69 6e 67 43 6f n>.WINAPI:.std.builtin.CallingCo
70100 6e 76 65 6e 74 69 6f 6e 20 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e nvention.=.<span.class="tok-kw">
70120 69 66 3c 2f 73 70 61 6e 3e 20 28 6e 61 74 69 76 65 5f 61 72 63 68 20 3d 3d 20 2e 3c 73 70 61 6e if</span>.(native_arch.==..<span
70140 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 69 33 38 36 3c 2f 73 70 61 6e 3e 29 20 2e .class="tok-type">i386</span>)..
70160 53 74 64 63 61 6c 6c 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 65 6c 73 Stdcall.<span.class="tok-kw">els
70180 65 3c 2f 73 70 61 6e 3e 20 2e 43 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d e</span>..C;</span>.<span.class=
701a0 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 65 78 74 65 "line"><span.class="tok-kw">exte
701c0 72 6e 3c 2f 73 70 61 6e 3e 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 73 74 72 22 3e rn</span>.<span.class="tok-str">
701e0 26 71 75 6f 74 3b 6b 65 72 6e 65 6c 33 32 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 20 3c 73 70 61 &quot;kernel32&quot;</span>.<spa
70200 6e 20 63 6c 61 73 73 3d 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
70220 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 66 6e 22 3e 45 78 69 74 50 72 6f 63 65 73 73 3c 2f 73 70 61 .class="tok-fn">ExitProcess</spa
70240 6e 3e 28 65 78 69 74 5f 63 6f 64 65 3a 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 n>(exit_code:.<span.class="tok-t
70260 79 70 65 22 3e 63 5f 75 69 6e 74 3c 2f 73 70 61 6e 3e 29 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d ype">c_uint</span>).<span.class=
70280 22 74 6f 6b 2d 6b 77 22 3e 63 61 6c 6c 63 6f 6e 76 3c 2f 73 70 61 6e 3e 28 57 49 4e 41 50 49 29 "tok-kw">callconv</span>(WINAPI)
702a0 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
702c0 3c 2f 73 70 61 6e 3e 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e </span>;</span>.<span.class="lin
702e0 65 22 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 e"></span>.<span.class="line"><s
70300 70 61 6e 20 63 6c 61 73 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>.<
70320 73 70 61 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
70340 75 6f 74 3b 3c 2f 73 70 61 6e 3e 20 7b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 uot;</span>.{</span>.<span.class
70360 3d 22 6c 69 6e 65 22 3e 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 ="line">....<span.class="tok-kw"
70380 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 29 20 3c 73 70 61 >const</span>.value.=.bar().<spa
703a0 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 45 78 n.class="tok-kw">catch</span>.Ex
703c0 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 2d 6e 75 6d 62 65 itProcess(<span.class="tok-numbe
703e0 72 22 3e 31 3c 2f 73 70 61 6e 3e 29 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 r">1</span>);</span>.<span.class
70400 3d 22 6c 69 6e 65 22 3e 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 ="line">....<span.class="tok-kw"
70420 3e 74 72 79 3c 2f 73 70 61 6e 3e 20 65 78 70 65 63 74 28 76 61 6c 75 65 20 3d 3d 20 3c 73 70 61 >try</span>.expect(value.==.<spa
70440 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>
70460 29 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 7d 3c 2f );</span>.<span.class="line">}</
70480 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 2f 73 70 61 6e 3e span>.<span.class="line"></span>
704a0 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d .<span.class="line"><span.class=
704c0 22 74 6f 6b 2d 6b 77 22 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="
704e0 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
70500 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 61 ="tok-type">anyerror</span>!<spa
70520 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 3c n.class="tok-type">u32</span>.{<
70540 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 3c 73 /span>.<span.class="line">....<s
70560 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>
70580 20 3c 73 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</
705a0 73 70 61 6e 3e 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 span>;</span>.<span.class="line"
705c0 3e 7d 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 3c 2f 70 72 65 3e 3c 2f 66 69 67 75 72 65 3e 3c >}</span></code></pre></figure><
705e0 66 69 67 75 72 65 3e 3c 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-
70600 63 61 70 22 3e 53 68 65 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
70620 70 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 24 20 3c 6b 62 64 3e 7a 69 67 20 p><span.class="line">$.<kbd>zig.
70640 74 65 73 74 20 6e 6f 72 65 74 75 72 6e 5f 66 72 6f 6d 5f 65 78 69 74 2e 7a 69 67 20 2d 74 61 72 test.noreturn_from_exit.zig.-tar
70660 67 65 74 20 78 38 36 5f 36 34 2d 77 69 6e 64 6f 77 73 20 2d 2d 74 65 73 74 2d 6e 6f 2d 65 78 65 get.x86_64-windows.--test-no-exe
70680 63 3c 2f 6b 62 64 3e 3c 2f 73 70 61 6e 3e 0a 3c 2f 73 61 6d 70 3e 3c 2f 70 72 65 3e 3c 2f 66 69 c</kbd></span>.</samp></pre></fi
706a0 67 75 72 65 3e 0a 20 20 20 20 20 20 0a 0a 20 20 20 20 20 20 3c 68 32 20 69 64 3d 22 46 75 6e 63 gure>...............<h2.id="Func
706c0 74 69 6f 6e 73 22 3e 3c 61 20 68 72 65 66 3d 22 23 74 6f 63 2d 46 75 6e 63 74 69 6f 6e 73 22 3e tions"><a.href="#toc-Functions">
706e0 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
70700 66 3d 22 23 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 f="#Functions">..</a></h2>......
70720 20 20 3c 66 69 67 75 72 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
70740 2d 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 75 6e 63 74 69 6f -cap"><cite.class="file">functio
70760 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><
70780 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c code><span.class="line"><span.cl
707a0 61 73 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.=.
707c0 3c 73 70 61 6e 20 63 6c 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
707e0 74 3c 2f 73 70 61 6e 3e 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">&
70800 71 75 6f 74 3b 73 74 64 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 29 3b 3c 2f 73 70 61 6e 3e 0a 3c quot;std&quot;</span>);</span>.<
70820 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 span.class="line"><span.class="t
70840 6f 6b 2d 6b 77 22 3e 63 6f 6e 73 74 3c 2f 73 70 61 6e 3e 20 62 75 69 6c 74 69 6e 20 3d 20 3c 73 ok-kw">const</span>.builtin.=.<s
70860 70 61 6e 20 63 6c 61 73 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<
70880 2f 73 70 61 6e 3e 28 3c 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
708a0 6f 74 3b 62 75 69 6c 74 69 6e 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 29 3b 3c 2f 73 70 61 6e 3e ot;builtin&quot;</span>);</span>
708c0 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d .<span.class="line"><span.class=
708e0 22 74 6f 6b 2d 6b 77 22 3e 63 6f 6e 73 74 3c 2f 73 70 61 6e 3e 20 6e 61 74 69 76 65 5f 61 72 63 "tok-kw">const</span>.native_arc
70900 68 20 3d 20 62 75 69 6c 74 69 6e 2e 63 70 75 2e 61 72 63 68 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 h.=.builtin.cpu.arch;</span>.<sp
70920 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b an.class="line"><span.class="tok
70940 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
70960 65 73 74 69 6e 67 2e 65 78 70 65 63 74 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 esting.expect;</span>.<span.clas
70980 73 3d 22 6c 69 6e 65 22 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 s="line"></span>.<span.class="li
709a0 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 63 6f 6d 6d 65 6e 74 22 3e 2f 2f ne"><span.class="tok-comment">//
709c0 20 46 75 6e 63 74 69 6f 6e 73 20 61 72 65 20 64 65 63 6c 61 72 65 64 20 6c 69 6b 65 20 74 68 69 .Functions.are.declared.like.thi
709e0 73 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e s</span></span>.<span.class="lin
70a00 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 66 6e 3c 2f 73 70 61 6e e"><span.class="tok-kw">fn</span
70a20 3e 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 66 6e 22 3e 61 64 64 3c 2f 73 70 61 6e >.<span.class="tok-fn">add</span
70a40 3e 28 61 3a 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 69 38 3c 2f >(a:.<span.class="tok-type">i8</
70a60 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"
70a80 3e 69 38 3c 2f 73 70 61 6e 3e 29 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 >i8</span>).<span.class="tok-typ
70aa0 65 22 3e 69 38 3c 2f 73 70 61 6e 3e 20 7b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 e">i8</span>.{</span>.<span.clas
70ac0 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 s="line">....<span.class="tok-kw
70ae0 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 74 ">if</span>.(a.==.<span.class="t
70b00 6f 6b 2d 6e 75 6d 62 65 72 22 3e 30 3c 2f 73 70 61 6e 3e 29 20 7b 3c 2f 73 70 61 6e 3e 0a 3c 73 ok-number">0</span>).{</span>.<s
70b20 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 20 20 20 20 3c 73 70 61 6e 20 63 pan.class="line">........<span.c
70b40 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 62 3b 3c 2f lass="tok-kw">return</span>.b;</
70b60 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 7d 3c 2f span>.<span.class="line">....}</
70b80 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 2f 73 70 61 6e 3e span>.<span.class="line"></span>
70ba0 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 3c 73 70 61 6e 20 63 6c .<span.class="line">....<span.cl
70bc0 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 72 65 74 75 72 6e 3c 2f 73 70 61 6e 3e 20 61 20 2b 20 62 ass="tok-kw">return</span>.a.+.b
70be0 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 7d 3c 2f 73 ;</span>.<span.class="line">}</s
70c00 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 2f 73 70 61 6e 3e 0a pan>.<span.class="line"></span>.
70c20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 <span.class="line"><span.class="
70c40 74 6f 6b 2d 63 6f 6d 6d 65 6e 74 22 3e 2f 2f 20 54 68 65 20 65 78 70 6f 72 74 20 73 70 65 63 69 tok-comment">//.The.export.speci
70c60 66 69 65 72 20 6d 61 6b 65 73 20 61 20 66 75 6e 63 74 69 6f 6e 20 65 78 74 65 72 6e 61 6c 6c 79 fier.makes.a.function.externally
70c80 20 76 69 73 69 62 6c 65 20 69 6e 20 74 68 65 20 67 65 6e 65 72 61 74 65 64 3c 2f 73 70 61 6e 3e .visible.in.the.generated</span>
70ca0 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e </span>.<span.class="line"><span
70cc0 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 6a 65 63 74 20 66 .class="tok-comment">//.object.f
70ce0 69 6c 65 2c 20 61 6e 64 20 6d 61 6b 65 73 20 69 74 20 75 73 65 20 74 68 65 20 43 20 41 42 49 2e ile,.and.makes.it.use.the.C.ABI.
70d00 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 </span></span>.<span.class="line
70d20 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 65 78 70 6f 72 74 3c 2f 73 "><span.class="tok-kw">export</s
70d40 70 61 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
70d60 61 6e 3e 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 66 6e 22 3e 73 75 62 3c 2f 73 70 an>.<span.class="tok-fn">sub</sp
70d80 61 6e 3e 28 61 3a 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 69 38 an>(a:.<span.class="tok-type">i8
70da0 3c 2f 73 70 61 6e 3e 2c 20 62 3a 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 </span>,.b:.<span.class="tok-typ
70dc0 65 22 3e 69 38 3c 2f 73 70 61 6e 3e 29 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 e">i8</span>).<span.class="tok-t
70de0 79 70 65 22 3e 69 38 3c 2f 73 70 61 6e 3e 20 7b 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f ype">i8</span>.{.<span.class="to
70e00 6b 2d 6b 77 22 3e 72 65 74 75 72 6e 3c 2f 73 70 61 6e 3e 20 61 20 2d 20 62 3b 20 7d 3c 2f 73 70 k-kw">return</span>.a.-.b;.}</sp
70e20 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 2f 73 70 61 6e 3e 0a 3c an>.<span.class="line"></span>.<
70e40 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 span.class="line"><span.class="t
70e60 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 20 73 70 65 63 69 66 ok-comment">//.The.extern.specif
70e80 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 66 75 6e 63 74 69 6f ier.is.used.to.declare.a.functio
70ea0 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 73 70 61 6e 3e 3c 2f n.that.will.be.resolved</span></
70ec0 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 span>.<span.class="line"><span.c
70ee0 6c 61 73 73 3d 22 74 6f 6b 2d 63 6f 6d 6d 65 6e 74 22 3e 2f 2f 20 61 74 20 6c 69 6e 6b 20 74 69 lass="tok-comment">//.at.link.ti
70f00 6d 65 2c 20 77 68 65 6e 20 6c 69 6e 6b 69 6e 67 20 73 74 61 74 69 63 61 6c 6c 79 2c 20 6f 72 20 me,.when.linking.statically,.or.
70f20 61 74 20 72 75 6e 74 69 6d 65 2c 20 77 68 65 6e 20 6c 69 6e 6b 69 6e 67 3c 2f 73 70 61 6e 3e 3c at.runtime,.when.linking</span><
70f40 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 /span>.<span.class="line"><span.
70f60 63 6c 61 73 73 3d 22 74 6f 6b 2d 63 6f 6d 6d 65 6e 74 22 3e 2f 2f 20 64 79 6e 61 6d 69 63 61 6c class="tok-comment">//.dynamical
70f80 6c 79 2e 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c ly.</span></span>.<span.class="l
70fa0 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 63 6f 6d 6d 65 6e 74 22 3e 2f ine"><span.class="tok-comment">/
70fc0 2f 20 54 68 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 /.The.callconv.specifier.changes
70fe0 20 74 68 65 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 .the.calling.convention.of.the.f
71000 75 6e 63 74 69 6f 6e 2e 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 unction.</span></span>.<span.cla
71020 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 63 ss="line"><span.class="tok-kw">c
71040 6f 6e 73 74 3c 2f 73 70 61 6e 3e 20 57 49 4e 41 50 49 3a 20 73 74 64 2e 62 75 69 6c 74 69 6e 2e onst</span>.WINAPI:.std.builtin.
71060 43 61 6c 6c 69 6e 67 43 6f 6e 76 65 6e 74 69 6f 6e 20 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d CallingConvention.=.<span.class=
71080 22 74 6f 6b 2d 6b 77 22 3e 69 66 3c 2f 73 70 61 6e 3e 20 28 6e 61 74 69 76 65 5f 61 72 63 68 20 "tok-kw">if</span>.(native_arch.
710a0 3d 3d 20 2e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 69 33 38 36 3c ==..<span.class="tok-type">i386<
710c0 2f 73 70 61 6e 3e 29 20 2e 53 74 64 63 61 6c 6c 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f /span>)..Stdcall.<span.class="to
710e0 6b 2d 6b 77 22 3e 65 6c 73 65 3c 2f 73 70 61 6e 3e 20 2e 43 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 k-kw">else</span>..C;</span>.<sp
71100 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b an.class="line"><span.class="tok
71120 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="
71140 74 6f 6b 2d 73 74 72 22 3e 26 71 75 6f 74 3b 6b 65 72 6e 65 6c 33 32 26 71 75 6f 74 3b 3c 2f 73 tok-str">&quot;kernel32&quot;</s
71160 70 61 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
71180 61 6e 3e 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 66 6e 22 3e 45 78 69 74 50 72 6f an>.<span.class="tok-fn">ExitPro
711a0 63 65 73 73 3c 2f 73 70 61 6e 3e 28 65 78 69 74 5f 63 6f 64 65 3a 20 3c 73 70 61 6e 20 63 6c 61 cess</span>(exit_code:.<span.cla
711c0 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 75 33 32 3c 2f 73 70 61 6e 3e 29 20 3c 73 70 61 6e 20 ss="tok-type">u32</span>).<span.
711e0 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 57 class="tok-kw">callconv</span>(W
71200 49 4e 41 50 49 29 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 6e 6f INAPI).<span.class="tok-type">no
71220 72 65 74 75 72 6e 3c 2f 73 70 61 6e 3e 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 return</span>;</span>.<span.clas
71240 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 65 78 s="line"><span.class="tok-kw">ex
71260 74 65 72 6e 3c 2f 73 70 61 6e 3e 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 73 74 72 tern</span>.<span.class="tok-str
71280 22 3e 26 71 75 6f 74 3b 63 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 20 3c 73 70 61 6e 20 63 6c 61 ">&quot;c&quot;</span>.<span.cla
712a0 73 73 3d 22 74 6f 6b 2d 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
712c0 73 3d 22 74 6f 6b 2d 66 6e 22 3e 61 74 61 6e 32 3c 2f 73 70 61 6e 3e 28 61 3a 20 3c 73 70 61 6e s="tok-fn">atan2</span>(a:.<span
712e0 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 66 36 34 3c 2f 73 70 61 6e 3e 2c 20 62 3a .class="tok-type">f64</span>,.b:
71300 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
71320 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</
71340 73 70 61 6e 3e 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 span>;</span>.<span.class="line"
71360 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 ></span>.<span.class="line"><spa
71380 6e 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 40 73 65 n.class="tok-comment">//.The.@se
713a0 74 43 6f 6c 64 20 62 75 69 6c 74 69 6e 20 74 65 6c 6c 73 20 74 68 65 20 6f 70 74 69 6d 69 7a 65 tCold.builtin.tells.the.optimize
713c0 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
713e0 65 64 2e 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c ed.</span></span>.<span.class="l
71400 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 66 6e 3c 2f 73 70 ine"><span.class="tok-kw">fn</sp
71420 61 6e 3e 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 66 6e 22 3e 61 62 6f 72 74 3c 2f an>.<span.class="tok-fn">abort</
71440 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 6e span>().<span.class="tok-type">n
71460 6f 72 65 74 75 72 6e 3c 2f 73 70 61 6e 3e 20 7b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c oreturn</span>.{</span>.<span.cl
71480 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d ass="line">....<span.class="tok-
714a0 62 75 69 6c 74 69 6e 22 3e 40 73 65 74 43 6f 6c 64 3c 2f 73 70 61 6e 3e 28 3c 73 70 61 6e 20 63 builtin">@setCold</span>(<span.c
714c0 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6c 6c 22 3e 74 72 75 65 3c 2f 73 70 61 6e 3e 29 3b 3c 2f 73 lass="tok-null">true</span>);</s
714e0 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 3c 73 70 61 pan>.<span.class="line">....<spa
71500 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 77 68 69 6c 65 3c 2f 73 70 61 6e 3e 20 28 3c n.class="tok-kw">while</span>.(<
71520 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
71540 3e 29 20 7b 7d 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e >).{}</span>.<span.class="line">
71560 7d 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 2f 73 70 }</span>.<span.class="line"></sp
71580 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 an>.<span.class="line"><span.cla
715a0 73 73 3d 22 74 6f 6b 2d 63 6f 6d 6d 65 6e 74 22 3e 2f 2f 20 54 68 65 20 6e 61 6b 65 64 20 63 61 ss="tok-comment">//.The.naked.ca
715c0 6c 6c 69 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 lling.convention.makes.a.functio
715e0 6e 20 6e 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 n.not.have.any.function.prologue
71600 20 6f 72 20 65 70 69 6c 6f 67 75 65 2e 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 .or.epilogue.</span></span>.<spa
71620 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d n.class="line"><span.class="tok-
71640 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 6c 20 77 comment">//.This.can.be.useful.w
71660 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 2e 3c 2f hen.integrating.with.assembly.</
71680 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e span></span>.<span.class="line">
716a0 3c 73 70 61 6e 20 63 6c 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>.<
716c0 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 66 6e 22 3e 5f 73 74 61 72 74 3c 2f 73 70 61 6e span.class="tok-fn">_start</span
716e0 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 63 61 6c 6c 63 6f 6e >().<span.class="tok-kw">callcon
71700 76 3c 2f 73 70 61 6e 3e 28 2e 4e 61 6b 65 64 29 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f v</span>(.Naked).<span.class="to
71720 6b 2d 74 79 70 65 22 3e 6e 6f 72 65 74 75 72 6e 3c 2f 73 70 61 6e 3e 20 7b 3c 2f 73 70 61 6e 3e k-type">noreturn</span>.{</span>
71740 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 61 62 6f 72 74 28 29 3b .<span.class="line">....abort();
71760 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 7d 3c 2f 73 70 </span>.<span.class="line">}</sp
71780 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 2f 73 70 61 6e 3e 0a 3c an>.<span.class="line"></span>.<
717a0 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 span.class="line"><span.class="t
717c0 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 6e ok-comment">//.The.inline.callin
717e0 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 74 g.convention.forces.a.function.t
71800 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 3c o.be.inlined.at.all.call.sites.<
71820 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 /span></span>.<span.class="line"
71840 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 63 6f 6d 6d 65 6e 74 22 3e 2f 2f 20 49 66 ><span.class="tok-comment">//.If
71860 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 6e 6c 69 6e 65 64 2c .the.function.cannot.be.inlined,
71880 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 6f 72 2e 3c 2f 73 70 .it.is.a.compile-time.error.</sp
718a0 61 6e 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 an></span>.<span.class="line"><s
718c0 70 61 6e 20 63 6c 61 73 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
718e0 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 66 6e 22 3e 73 68 69 66 74 4c 65 66 74 4f 6e 65 3c 2f an.class="tok-fn">shiftLeftOne</
71900 73 70 61 6e 3e 28 61 3a 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e span>(a:.<span.class="tok-type">
71920 75 33 32 3c 2f 73 70 61 6e 3e 29 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 u32</span>).<span.class="tok-kw"
71940 3e 63 61 6c 6c 63 6f 6e 76 3c 2f 73 70 61 6e 3e 28 2e 49 6e 6c 69 6e 65 29 20 3c 73 70 61 6e 20 >callconv</span>(.Inline).<span.
71960 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 75 33 32 3c 2f 73 70 61 6e 3e 20 7b 3c 2f 73 class="tok-type">u32</span>.{</s
71980 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 3c 73 70 61 pan>.<span.class="line">....<spa
719a0 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
719c0 20 26 6c 74 3b 26 6c 74 3b 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 .&lt;&lt;.<span.class="tok-numbe
719e0 72 22 3e 31 3c 2f 73 70 61 6e 3e 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d r">1</span>;</span>.<span.class=
71a00 22 6c 69 6e 65 22 3e 7d 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e "line">}</span>.<span.class="lin
71a20 65 22 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 e"></span>.<span.class="line"><s
71a40 70 61 6e 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 70 pan.class="tok-comment">//.The.p
71a60 75 62 20 73 70 65 63 69 66 69 65 72 20 61 6c 6c 6f 77 73 20 74 68 65 20 66 75 6e 63 74 69 6f 6e ub.specifier.allows.the.function
71a80 20 74 6f 20 62 65 20 76 69 73 69 62 6c 65 20 77 68 65 6e 20 69 6d 70 6f 72 74 69 6e 67 2e 3c 2f .to.be.visible.when.importing.</
71aa0 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e span></span>.<span.class="line">
71ac0 3c 73 70 61 6e 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
71ae0 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
71b00 6c 6c 20 73 75 62 32 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 ll.sub2</span></span>.<span.clas
71b20 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 70 75 s="line"><span.class="tok-kw">pu
71b40 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
71b60 3c 2f 73 70 61 6e 3e 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 66 6e 22 3e 73 75 62 </span>.<span.class="tok-fn">sub
71b80 32 3c 2f 73 70 61 6e 3e 28 61 3a 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 2</span>(a:.<span.class="tok-typ
71ba0 65 22 3e 69 38 3c 2f 73 70 61 6e 3e 2c 20 62 3a 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f e">i8</span>,.b:.<span.class="to
71bc0 6b 2d 74 79 70 65 22 3e 69 38 3c 2f 73 70 61 6e 3e 29 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 k-type">i8</span>).<span.class="
71be0 74 6f 6b 2d 74 79 70 65 22 3e 69 38 3c 2f 73 70 61 6e 3e 20 7b 20 3c 73 70 61 6e 20 63 6c 61 73 tok-type">i8</span>.{.<span.clas
71c00 73 3d 22 74 6f 6b 2d 6b 77 22 3e 72 65 74 75 72 6e 3c 2f 73 70 61 6e 3e 20 61 20 2d 20 62 3b 20 s="tok-kw">return</span>.a.-.b;.
71c20 7d 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 2f 73 70 }</span>.<span.class="line"></sp
71c40 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 an>.<span.class="line"><span.cla
71c60 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 20 70 6f 69 ss="tok-comment">//.Function.poi
71c80 6e 74 65 72 73 20 61 72 65 20 70 72 65 66 69 78 65 64 20 77 69 74 68 20 60 2a 63 6f 6e 73 74 20 nters.are.prefixed.with.`*const.
71ca0 60 2e 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 `.</span></span>.<span.class="li
71cc0 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 63 6f 6e 73 74 3c 2f ne"><span.class="tok-kw">const</
71ce0 73 70 61 6e 3e 20 63 61 6c 6c 32 5f 6f 70 20 3d 20 2a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 span>.call2_op.=.*<span.class="t
71d00 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=
71d20 22 74 6f 6b 2d 6b 77 22 3e 66 6e 3c 2f 73 70 61 6e 3e 20 28 61 3a 20 3c 73 70 61 6e 20 63 6c 61 "tok-kw">fn</span>.(a:.<span.cla
71d40 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 69 38 3c 2f 73 70 61 6e 3e 2c 20 62 3a 20 3c 73 70 61 ss="tok-type">i8</span>,.b:.<spa
71d60 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 69 38 3c 2f 73 70 61 6e 3e 29 20 3c 73 n.class="tok-type">i8</span>).<s
71d80 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 3b 3c pan.class="tok-type">i8</span>;<
71da0 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 /span>.<span.class="line"><span.
71dc0 63 6c 61 73 73 3d 22 74 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
71de0 6c 61 73 73 3d 22 74 6f 6b 2d 66 6e 22 3e 64 6f 5f 6f 70 3c 2f 73 70 61 6e 3e 28 66 6e 5f 63 61 lass="tok-fn">do_op</span>(fn_ca
71e00 6c 6c 3a 20 63 61 6c 6c 32 5f 6f 70 2c 20 6f 70 31 3a 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 ll:.call2_op,.op1:.<span.class="
71e20 74 6f 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 tok-type">i8</span>,.op2:.<span.
71e40 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 69 38 3c 2f 73 70 61 6e 3e 29 20 3c 73 70 61 class="tok-type">i8</span>).<spa
71e60 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 69 38 3c 2f 73 70 61 6e 3e 20 7b 3c 2f n.class="tok-type">i8</span>.{</
71e80 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 3c 73 70 span>.<span.class="line">....<sp
71ea0 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>.
71ec0 66 6e 5f 63 61 6c 6c 28 6f 70 31 2c 20 6f 70 32 29 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 fn_call(op1,.op2);</span>.<span.
71ee0 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 7d 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 class="line">}</span>.<span.clas
71f00 73 3d 22 6c 69 6e 65 22 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 s="line"></span>.<span.class="li
71f20 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 74 65 73 74 3c 2f 73 ne"><span.class="tok-kw">test</s
71f40 70 61 6e 3e 20 3c 73 70 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
71f60 3b 66 75 6e 63 74 69 6f 6e 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 20 7b 3c 2f 73 70 61 6e 3e 0a ;function&quot;</span>.{</span>.
71f80 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 <span.class="line">....<span.cla
71fa0 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 74 72 79 3c 2f 73 70 61 6e 3e 20 65 78 70 65 63 74 28 64 6f ss="tok-kw">try</span>.expect(do
71fc0 5f 6f 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 62 65 72 _op(add,.<span.class="tok-number
71fe0 22 3e 35 3c 2f 73 70 61 6e 3e 2c 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d ">5</span>,.<span.class="tok-num
72000 62 65 72 22 3e 36 3c 2f 73 70 61 6e 3e 29 20 3d 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 ber">6</span>).==.<span.class="t
72020 6f 6b 2d 6e 75 6d 62 65 72 22 3e 31 31 3c 2f 73 70 61 6e 3e 29 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 ok-number">11</span>);</span>.<s
72040 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 pan.class="line">....<span.class
72060 3d 22 74 6f 6b 2d 6b 77 22 3e 74 72 79 3c 2f 73 70 61 6e 3e 20 65 78 70 65 63 74 28 64 6f 5f 6f ="tok-kw">try</span>.expect(do_o
72080 70 28 73 75 62 32 2c 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 p(sub2,.<span.class="tok-number"
720a0 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
720c0 65 72 22 3e 36 3c 2f 73 70 61 6e 3e 29 20 3d 3d 20 2d 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 er">6</span>).==.-<span.class="t
720e0 6f 6b 2d 6e 75 6d 62 65 72 22 3e 31 3c 2f 73 70 61 6e 3e 29 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 ok-number">1</span>);</span>.<sp
72100 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 7d 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 3c an.class="line">}</span></code><
72120 2f 70 72 65 3e 3c 2f 66 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
72140 6e 20 63 6c 61 73 73 3d 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
72160 70 74 69 6f 6e 3e 3c 70 72 65 3e 3c 73 61 6d 70 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 ption><pre><samp><span.class="li
72180 6e 65 22 3e 24 20 3c 6b 62 64 3e 7a 69 67 20 74 65 73 74 20 66 75 6e 63 74 69 6f 6e 73 2e 7a 69 ne">$.<kbd>zig.test.functions.zi
721a0 67 3c 2f 6b 62 64 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 g</kbd></span>.<span.class="line
721c0 22 3e 31 2f 31 20 74 65 73 74 2e 66 75 6e 63 74 69 6f 6e 2e 2e 2e 20 4f 4b 3c 2f 73 70 61 6e 3e ">1/1.test.function....OK</span>
721e0 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 41 6c 6c 20 31 20 74 65 73 74 73 20 .<span.class="line">All.1.tests.
72200 70 61 73 73 65 64 2e 3c 2f 73 70 61 6e 3e 0a 3c 2f 73 61 6d 70 3e 3c 2f 70 72 65 3e 3c 2f 66 69 passed.</span>.</samp></pre></fi
72220 67 75 72 65 3e 0a 20 20 20 20 20 20 3c 70 3e 54 68 65 72 65 20 69 73 20 61 20 64 69 66 66 65 72 gure>.......<p>There.is.a.differ
72240 65 6e 63 65 20 62 65 74 77 65 65 6e 20 61 20 66 75 6e 63 74 69 6f 6e 20 3c 65 6d 3e 62 6f 64 79 ence.between.a.function.<em>body
72260 3c 2f 65 6d 3e 20 61 6e 64 20 61 20 66 75 6e 63 74 69 6f 6e 20 3c 65 6d 3e 70 6f 69 6e 74 65 72 </em>.and.a.function.<em>pointer
72280 3c 2f 65 6d 3e 2e 0a 20 20 20 20 20 20 46 75 6e 63 74 69 6f 6e 20 62 6f 64 69 65 73 20 61 72 65 </em>........Function.bodies.are
722a0 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
722c0 3e 2d 6f 6e 6c 79 20 74 79 70 65 73 20 77 68 69 6c 65 20 66 75 6e 63 74 69 6f 6e 20 3c 61 20 68 >-only.types.while.function.<a.h
722e0 72 65 66 3d 22 23 50 6f 69 6e 74 65 72 73 22 3e 50 6f 69 6e 74 65 72 73 3c 2f 61 3e 20 6d 61 79 ref="#Pointers">Pointers</a>.may
72300 20 62 65 0a 20 20 20 20 20 20 72 75 6e 74 69 6d 65 2d 6b 6e 6f 77 6e 2e 3c 2f 70 3e 0a 20 20 20 .be.......runtime-known.</p>....
72320 20 20 20 3c 68 33 20 69 64 3d 22 50 61 73 73 2d 62 79 2d 76 61 6c 75 65 2d 50 61 72 61 6d 65 74 ...<h3.id="Pass-by-value-Paramet
72340 65 72 73 22 3e 3c 61 20 68 72 65 66 3d 22 23 74 6f 63 2d 50 61 73 73 2d 62 79 2d 76 61 6c 75 65 ers"><a.href="#toc-Pass-by-value
72360 2d 50 61 72 61 6d 65 74 65 72 73 22 3e 50 61 73 73 2d 62 79 2d 76 61 6c 75 65 20 50 61 72 61 6d -Parameters">Pass-by-value.Param
72380 65 74 65 72 73 3c 2f 61 3e 20 3c 61 20 63 6c 61 73 73 3d 22 68 64 72 22 20 68 72 65 66 3d 22 23 eters</a>.<a.class="hdr".href="#
723a0 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 c2 a7 3c 2f 61 3e Pass-by-value-Parameters">..</a>
723c0 3c 2f 68 33 3e 0a 0a 20 20 20 20 20 20 3c 70 3e 0a 20 20 20 20 20 20 50 72 69 6d 69 74 69 76 65 </h3>........<p>.......Primitive
723e0 20 74 79 70 65 73 20 73 75 63 68 20 61 73 20 3c 61 20 68 72 65 66 3d 22 23 49 6e 74 65 67 65 72 .types.such.as.<a.href="#Integer
72400 73 22 3e 49 6e 74 65 67 65 72 73 3c 2f 61 3e 20 61 6e 64 20 3c 61 20 68 72 65 66 3d 22 23 46 6c s">Integers</a>.and.<a.href="#Fl
72420 6f 61 74 73 22 3e 46 6c 6f 61 74 73 3c 2f 61 3e 20 70 61 73 73 65 64 20 61 73 20 70 61 72 61 6d oats">Floats</a>.passed.as.param
72440 65 74 65 72 73 0a 20 20 20 20 20 20 61 72 65 20 63 6f 70 69 65 64 2c 20 61 6e 64 20 74 68 65 6e eters.......are.copied,.and.then
72460 20 74 68 65 20 63 6f 70 79 20 69 73 20 61 76 61 69 6c 61 62 6c 65 20 69 6e 20 74 68 65 20 66 75 .the.copy.is.available.in.the.fu
72480 6e 63 74 69 6f 6e 20 62 6f 64 79 2e 20 54 68 69 73 20 69 73 20 63 61 6c 6c 65 64 20 22 70 61 73 nction.body..This.is.called."pas
724a0 73 69 6e 67 20 62 79 20 76 61 6c 75 65 22 2e 0a 20 20 20 20 20 20 43 6f 70 79 69 6e 67 20 61 20 sing.by.value"........Copying.a.
724c0 70 72 69 6d 69 74 69 76 65 20 74 79 70 65 20 69 73 20 65 73 73 65 6e 74 69 61 6c 6c 79 20 66 72 primitive.type.is.essentially.fr
724e0 65 65 20 61 6e 64 20 74 79 70 69 63 61 6c 6c 79 20 69 6e 76 6f 6c 76 65 73 20 6e 6f 74 68 69 6e ee.and.typically.involves.nothin
72500 67 20 6d 6f 72 65 20 74 68 61 6e 0a 20 20 20 20 20 20 73 65 74 74 69 6e 67 20 61 20 72 65 67 69 g.more.than.......setting.a.regi
72520 73 74 65 72 2e 0a 20 20 20 20 20 20 3c 2f 70 3e 0a 20 20 20 20 20 20 3c 70 3e 0a 20 20 20 20 20 ster........</p>.......<p>......
72540 20 53 74 72 75 63 74 73 2c 20 75 6e 69 6f 6e 73 2c 20 61 6e 64 20 61 72 72 61 79 73 20 63 61 6e .Structs,.unions,.and.arrays.can
72560 20 73 6f 6d 65 74 69 6d 65 73 20 62 65 20 6d 6f 72 65 20 65 66 66 69 63 69 65 6e 74 6c 79 20 70 .sometimes.be.more.efficiently.p
72580 61 73 73 65 64 20 61 73 20 61 20 72 65 66 65 72 65 6e 63 65 2c 20 73 69 6e 63 65 20 61 20 63 6f assed.as.a.reference,.since.a.co
725a0 70 79 0a 20 20 20 20 20 20 63 6f 75 6c 64 20 62 65 20 61 72 62 69 74 72 61 72 69 6c 79 20 65 78 py.......could.be.arbitrarily.ex
725c0 70 65 6e 73 69 76 65 20 64 65 70 65 6e 64 69 6e 67 20 6f 6e 20 74 68 65 20 73 69 7a 65 2e 20 57 pensive.depending.on.the.size..W
725e0 68 65 6e 20 74 68 65 73 65 20 74 79 70 65 73 20 61 72 65 20 70 61 73 73 65 64 0a 20 20 20 20 20 hen.these.types.are.passed......
72600 20 61 73 20 70 61 72 61 6d 65 74 65 72 73 2c 20 5a 69 67 20 6d 61 79 20 63 68 6f 6f 73 65 20 74 .as.parameters,.Zig.may.choose.t
72620 6f 20 63 6f 70 79 20 61 6e 64 20 70 61 73 73 20 62 79 20 76 61 6c 75 65 2c 20 6f 72 20 70 61 73 o.copy.and.pass.by.value,.or.pas
72640 73 20 62 79 20 72 65 66 65 72 65 6e 63 65 2c 20 77 68 69 63 68 65 76 65 72 20 77 61 79 0a 20 20 s.by.reference,.whichever.way...
72660 20 20 20 20 5a 69 67 20 64 65 63 69 64 65 73 20 77 69 6c 6c 20 62 65 20 66 61 73 74 65 72 2e 20 ....Zig.decides.will.be.faster..
72680 54 68 69 73 20 69 73 20 6d 61 64 65 20 70 6f 73 73 69 62 6c 65 2c 20 69 6e 20 70 61 72 74 2c 20 This.is.made.possible,.in.part,.
726a0 62 79 20 74 68 65 20 66 61 63 74 20 74 68 61 74 20 70 61 72 61 6d 65 74 65 72 73 20 61 72 65 20 by.the.fact.that.parameters.are.
726c0 69 6d 6d 75 74 61 62 6c 65 2e 0a 20 20 20 20 20 20 3c 2f 70 3e 0a 20 20 20 20 20 20 3c 66 69 67 immutable........</p>.......<fig
726e0 75 72 65 3e 3c 66 69 67 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">
72700 3c 63 69 74 65 20 63 6c 61 73 73 3d 22 66 69 6c 65 22 3e 70 61 73 73 5f 62 79 5f 72 65 66 65 72 <cite.class="file">pass_by_refer
72720 65 6e 63 65 5f 6f 72 5f 76 61 6c 75 65 2e 7a 69 67 3c 2f 63 69 74 65 3e 3c 2f 66 69 67 63 61 70 ence_or_value.zig</cite></figcap
72740 74 69 6f 6e 3e 3c 70 72 65 3e 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e tion><pre><code><span.class="lin
72760 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 63 6f 6e 73 74 3c 2f 73 e"><span.class="tok-kw">const</s
72780 70 61 6e 3e 20 50 6f 69 6e 74 20 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 pan>.Point.=.<span.class="tok-kw
727a0 22 3e 73 74 72 75 63 74 3c 2f 73 70 61 6e 3e 20 7b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 ">struct</span>.{</span>.<span.c
727c0 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 78 3a 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 lass="line">....x:.<span.class="
727e0 74 6f 6b 2d 74 79 70 65 22 3e 69 33 32 3c 2f 73 70 61 6e 3e 2c 3c 2f 73 70 61 6e 3e 0a 3c 73 70 tok-type">i32</span>,</span>.<sp
72800 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 79 3a 20 3c 73 70 61 6e 20 63 6c 61 an.class="line">....y:.<span.cla
72820 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 69 33 32 3c 2f 73 70 61 6e 3e 2c 3c 2f 73 70 61 6e 3e ss="tok-type">i32</span>,</span>
72840 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 7d 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 .<span.class="line">};</span>.<s
72860 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 pan.class="line"></span>.<span.c
72880 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 lass="line"><span.class="tok-kw"
728a0 3e 66 6e 3c 2f 73 70 61 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">
728c0 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 6e 20 63 foo</span>(point:.Point).<span.c
728e0 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 69 33 32 3c 2f 73 70 61 6e 3e 20 7b 3c 2f 73 70 lass="tok-type">i32</span>.{</sp
72900 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 3c 73 70 61 6e an>.<span.class="line">....<span
72920 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 63 6f 6d 6d 65 6e 74 22 3e 2f 2f 20 48 65 72 65 2c 20 60 70 .class="tok-comment">//.Here,.`p
72940 6f 69 6e 74 60 20 63 6f 75 6c 64 20 62 65 20 61 20 72 65 66 65 72 65 6e 63 65 2c 20 6f 72 20 61 oint`.could.be.a.reference,.or.a
72960 20 63 6f 70 79 2e 20 54 68 65 20 66 75 6e 63 74 69 6f 6e 20 62 6f 64 79 3c 2f 73 70 61 6e 3e 3c .copy..The.function.body</span><
72980 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 3c 73 /span>.<span.class="line">....<s
729a0 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 63 6f 6d 6d 65 6e 74 22 3e 2f 2f 20 63 61 6e 20 69 pan.class="tok-comment">//.can.i
729c0 67 6e 6f 72 65 20 74 68 65 20 64 69 66 66 65 72 65 6e 63 65 20 61 6e 64 20 74 72 65 61 74 20 69 gnore.the.difference.and.treat.i
729e0 74 20 61 73 20 61 20 76 61 6c 75 65 2e 20 42 65 20 76 65 72 79 20 63 61 72 65 66 75 6c 3c 2f 73 t.as.a.value..Be.very.careful</s
72a00 70 61 6e 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 pan></span>.<span.class="line">.
72a20 20 20 20 3c 73 70 61 6e 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">//.
72a40 74 61 6b 69 6e 67 20 74 68 65 20 61 64 64 72 65 73 73 20 6f 66 20 74 68 65 20 70 61 72 61 6d 65 taking.the.address.of.the.parame
72a60 74 65 72 20 2d 20 69 74 20 73 68 6f 75 6c 64 20 62 65 20 74 72 65 61 74 65 64 20 61 73 20 69 66 ter.-.it.should.be.treated.as.if
72a80 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 </span></span>.<span.class="line
72aa0 22 3e 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 63 6f 6d 6d 65 6e 74 22 3e ">....<span.class="tok-comment">
72ac0 2f 2f 20 74 68 65 20 61 64 64 72 65 73 73 20 77 69 6c 6c 20 62 65 63 6f 6d 65 20 69 6e 76 61 6c //.the.address.will.become.inval
72ae0 69 64 20 77 68 65 6e 20 74 68 65 20 66 75 6e 63 74 69 6f 6e 20 72 65 74 75 72 6e 73 2e 3c 2f 73 id.when.the.function.returns.</s
72b00 70 61 6e 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 pan></span>.<span.class="line">.
72b20 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</
72b40 73 70 61 6e 3e 20 70 6f 69 6e 74 2e 78 20 2b 20 70 6f 69 6e 74 2e 79 3b 3c 2f 73 70 61 6e 3e 0a span>.point.x.+.point.y;</span>.
72b60 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 7d 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 <span.class="line">}</span>.<spa
72b80 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 n.class="line"></span>.<span.cla
72ba0 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 63 ss="line"><span.class="tok-kw">c
72bc0 6f 6e 73 74 3c 2f 73 70 61 6e 3e 20 65 78 70 65 63 74 20 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 onst</span>.expect.=.<span.class
72be0 3d 22 74 6f 6b 2d 62 75 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
72c00 70 61 6e 20 63 6c 61 73 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
72c20 6f 74 3b 3c 2f 73 70 61 6e 3e 29 2e 74 65 73 74 69 6e 67 2e 65 78 70 65 63 74 3b 3c 2f 73 70 61 ot;</span>).testing.expect;</spa
72c40 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 n>.<span.class="line"></span>.<s
72c60 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f pan.class="line"><span.class="to
72c80 6b 2d 6b 77 22 3e 74 65 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
72ca0 6f 6b 2d 73 74 72 22 3e 26 71 75 6f 74 3b 70 61 73 73 20 73 74 72 75 63 74 20 74 6f 20 66 75 6e ok-str">&quot;pass.struct.to.fun
72cc0 63 74 69 6f 6e 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 20 7b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 ction&quot;</span>.{</span>.<spa
72ce0 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 n.class="line">....<span.class="
72d00 74 6f 6b 2d 6b 77 22 3e 74 72 79 3c 2f 73 70 61 6e 3e 20 65 78 70 65 63 74 28 66 6f 6f 28 50 6f tok-kw">try</span>.expect(foo(Po
72d20 69 6e 74 7b 20 2e 78 20 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 int{..x.=.<span.class="tok-numbe
72d40 72 22 3e 31 3c 2f 73 70 61 6e 3e 2c 20 2e 79 20 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 r">1</span>,..y.=.<span.class="t
72d60 6f 6b 2d 6e 75 6d 62 65 72 22 3e 32 3c 2f 73 70 61 6e 3e 20 7d 29 20 3d 3d 20 3c 73 70 61 6e 20 ok-number">2</span>.}).==.<span.
72d80 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 33 3c 2f 73 70 61 6e 3e 29 3b 3c 2f 73 class="tok-number">3</span>);</s
72da0 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 7d 3c 2f 73 70 61 6e 3e pan>.<span.class="line">}</span>
72dc0 3c 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
72de0 69 67 63 61 70 74 69 6f 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
72e00 6c 3c 2f 66 69 67 63 61 70 74 69 6f 6e 3e 3c 70 72 65 3e 3c 73 61 6d 70 3e 3c 73 70 61 6e 20 63 l</figcaption><pre><samp><span.c
72e20 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 24 20 3c 6b 62 64 3e 7a 69 67 20 74 65 73 74 20 70 61 73 73 lass="line">$.<kbd>zig.test.pass
72e40 5f 62 79 5f 72 65 66 65 72 65 6e 63 65 5f 6f 72 5f 76 61 6c 75 65 2e 7a 69 67 3c 2f 6b 62 64 3e _by_reference_or_value.zig</kbd>
72e60 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 31 2f 31 20 74 </span>.<span.class="line">1/1.t
72e80 65 73 74 2e 70 61 73 73 20 73 74 72 75 63 74 20 74 6f 20 66 75 6e 63 74 69 6f 6e 2e 2e 2e 20 4f est.pass.struct.to.function....O
72ea0 4b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 41 6c 6c 20 K</span>.<span.class="line">All.
72ec0 31 20 74 65 73 74 73 20 70 61 73 73 65 64 2e 3c 2f 73 70 61 6e 3e 0a 3c 2f 73 61 6d 70 3e 3c 2f 1.tests.passed.</span>.</samp></
72ee0 70 72 65 3e 3c 2f 66 69 67 75 72 65 3e 0a 20 20 20 20 20 20 3c 70 3e 0a 20 20 20 20 20 20 46 6f pre></figure>.......<p>.......Fo
72f00 72 20 65 78 74 65 72 6e 20 66 75 6e 63 74 69 6f 6e 73 2c 20 5a 69 67 20 66 6f 6c 6c 6f 77 73 20 r.extern.functions,.Zig.follows.
72f20 74 68 65 20 43 20 41 42 49 20 66 6f 72 20 70 61 73 73 69 6e 67 20 73 74 72 75 63 74 73 20 61 6e the.C.ABI.for.passing.structs.an
72f40 64 20 75 6e 69 6f 6e 73 20 62 79 20 76 61 6c 75 65 2e 0a 20 20 20 20 20 20 3c 2f 70 3e 0a 20 20 d.unions.by.value........</p>...
72f60 20 20 20 20 0a 20 20 20 20 20 20 3c 68 33 20 69 64 3d 22 46 75 6e 63 74 69 6f 6e 2d 50 61 72 61 ...........<h3.id="Function-Para
72f80 6d 65 74 65 72 2d 54 79 70 65 2d 49 6e 66 65 72 65 6e 63 65 22 3e 3c 61 20 68 72 65 66 3d 22 23 meter-Type-Inference"><a.href="#
72fa0 74 6f 63 2d 46 75 6e 63 74 69 6f 6e 2d 50 61 72 61 6d 65 74 65 72 2d 54 79 70 65 2d 49 6e 66 65 toc-Function-Parameter-Type-Infe
72fc0 72 65 6e 63 65 22 3e 46 75 6e 63 74 69 6f 6e 20 50 61 72 61 6d 65 74 65 72 20 54 79 70 65 20 49 rence">Function.Parameter.Type.I
72fe0 6e 66 65 72 65 6e 63 65 3c 2f 61 3e 20 3c 61 20 63 6c 61 73 73 3d 22 68 64 72 22 20 68 72 65 66 nference</a>.<a.class="hdr".href
73000 3d 22 23 46 75 6e 63 74 69 6f 6e 2d 50 61 72 61 6d 65 74 65 72 2d 54 79 70 65 2d 49 6e 66 65 72 ="#Function-Parameter-Type-Infer
73020 65 6e 63 65 22 3e c2 a7 3c 2f 61 3e 3c 2f 68 33 3e 0a 0a 20 20 20 20 20 20 3c 70 3e 0a 20 20 20 ence">..</a></h3>........<p>....
73040 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 20 62 65 20 64 65 ...Function.parameters.can.be.de
73060 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 61 73 73 3d 22 6c clared.with.<code><span.class="l
73080 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 61 6e 79 74 79 70 ine"><span.class="tok-kw">anytyp
730a0 65 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 20 69 6e 20 70 6c 61 63 65 20 e</span></span></code>.in.place.
730c0 6f 66 20 74 68 65 20 74 79 70 65 2e 0a 20 20 20 20 20 20 49 6e 20 74 68 69 73 20 63 61 73 65 20 of.the.type........In.this.case.
730e0 74 68 65 20 70 61 72 61 6d 65 74 65 72 20 74 79 70 65 73 20 77 69 6c 6c 20 62 65 20 69 6e 66 65 the.parameter.types.will.be.infe
73100 72 72 65 64 20 77 68 65 6e 20 74 68 65 20 66 75 6e 63 74 69 6f 6e 20 69 73 20 63 61 6c 6c 65 64 rred.when.the.function.is.called
73120 2e 0a 20 20 20 20 20 20 55 73 65 20 3c 61 20 68 72 65 66 3d 22 23 54 79 70 65 4f 66 22 3e 40 54 ........Use.<a.href="#TypeOf">@T
73140 79 70 65 4f 66 3c 2f 61 3e 20 61 6e 64 20 3c 61 20 68 72 65 66 3d 22 23 74 79 70 65 49 6e 66 6f ypeOf</a>.and.<a.href="#typeInfo
73160 22 3e 40 74 79 70 65 49 6e 66 6f 3c 2f 61 3e 20 74 6f 20 67 65 74 20 69 6e 66 6f 72 6d 61 74 69 ">@typeInfo</a>.to.get.informati
73180 6f 6e 20 61 62 6f 75 74 20 74 68 65 20 69 6e 66 65 72 72 65 64 20 74 79 70 65 2e 0a 20 20 20 20 on.about.the.inferred.type......
731a0 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
731c0 20 63 6c 61 73 73 3d 22 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
731e0 6c 65 22 3e 74 65 73 74 5f 66 6e 5f 74 79 70 65 5f 69 6e 66 65 72 65 6e 63 65 2e 7a 69 67 3c 2f le">test_fn_type_inference.zig</
73200 63 69 74 65 3e 3c 2f 66 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
73220 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b an.class="line"><span.class="tok
73240 2d 6b 77 22 3e 63 6f 6e 73 74 3c 2f 73 70 61 6e 3e 20 65 78 70 65 63 74 20 3d 20 3c 73 70 61 6e -kw">const</span>.expect.=.<span
73260 20 63 6c 61 73 73 3d 22 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
73280 61 6e 3e 28 3c 73 70 61 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;
732a0 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
732c0 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 2f 73 70 ;</span>.<span.class="line"></sp
732e0 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 an>.<span.class="line"><span.cla
73300 73 73 3d 22 74 6f 6b 2d 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
73320 73 3d 22 74 6f 6b 2d 66 6e 22 3e 61 64 64 46 6f 72 74 79 54 77 6f 3c 2f 73 70 61 6e 3e 28 78 3a s="tok-fn">addFortyTwo</span>(x:
73340 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
73360 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">
73380 40 54 79 70 65 4f 66 3c 2f 73 70 61 6e 3e 28 78 29 20 7b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e @TypeOf</span>(x).{</span>.<span
733a0 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 .class="line">....<span.class="t
733c0 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
733e0 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 34 32 3c 2f 73 70 61 6e 3e 3b 3c 2f 73 70 lass="tok-number">42</span>;</sp
73400 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 7d 3c 2f 73 70 61 6e 3e 0a an>.<span.class="line">}</span>.
73420 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e <span.class="line"></span>.<span
73440 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b .class="line"><span.class="tok-k
73460 77 22 3e 74 65 73 74 3c 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-
73480 73 74 72 22 3e 26 71 75 6f 74 3b 66 6e 20 74 79 70 65 20 69 6e 66 65 72 65 6e 63 65 26 71 75 6f str">&quot;fn.type.inference&quo
734a0 74 3b 3c 2f 73 70 61 6e 3e 20 7b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 t;</span>.{</span>.<span.class="
734c0 6c 69 6e 65 22 3e 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 74 line">....<span.class="tok-kw">t
734e0 72 79 3c 2f 73 70 61 6e 3e 20 65 78 70 65 63 74 28 61 64 64 46 6f 72 74 79 54 77 6f 28 3c 73 70 ry</span>.expect(addFortyTwo(<sp
73500 61 6e 20 63 6c 61 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>).
73520 3d 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 34 33 3c 2f ==.<span.class="tok-number">43</
73540 73 70 61 6e 3e 29 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 span>);</span>.<span.class="line
73560 22 3e 20 20 20 20 3c 73 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</
73580 73 70 61 6e 3e 20 65 78 70 65 63 74 28 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 62 75 span>.expect(<span.class="tok-bu
735a0 69 6c 74 69 6e 22 3e 40 54 79 70 65 4f 66 3c 2f 73 70 61 6e 3e 28 61 64 64 46 6f 72 74 79 54 77 iltin">@TypeOf</span>(addFortyTw
735c0 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 3c 2f 73 70 o(<span.class="tok-number">1</sp
735e0 61 6e 3e 29 29 20 3d 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e an>)).==.<span.class="tok-type">
73600 63 6f 6d 70 74 69 6d 65 5f 69 6e 74 3c 2f 73 70 61 6e 3e 29 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 comptime_int</span>);</span>.<sp
73620 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d an.class="line">....<span.class=
73640 22 74 6f 6b 2d 6b 77 22 3e 76 61 72 3c 2f 73 70 61 6e 3e 20 79 3a 20 3c 73 70 61 6e 20 63 6c 61 "tok-kw">var</span>.y:.<span.cla
73660 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 69 36 34 3c 2f 73 70 61 6e 3e 20 3d 20 3c 73 70 61 6e ss="tok-type">i64</span>.=.<span
73680 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 32 3c 2f 73 70 61 6e 3e 3b 3c 2f 73 .class="tok-number">2</span>;</s
736a0 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 3c 73 70 61 pan>.<span.class="line">....<spa
736c0 6e 20 63 6c 61 73 73 3d 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
736e0 63 74 28 61 64 64 46 6f 72 74 79 54 77 6f 28 79 29 20 3d 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 ct(addFortyTwo(y).==.<span.class
73700 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 34 34 3c 2f 73 70 61 6e 3e 29 3b 3c 2f 73 70 61 6e 3e ="tok-number">44</span>);</span>
73720 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 3c 73 70 61 6e 20 63 6c .<span.class="line">....<span.cl
73740 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 74 72 79 3c 2f 73 70 61 6e 3e 20 65 78 70 65 63 74 28 3c ass="tok-kw">try</span>.expect(<
73760 73 70 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
73780 3c 2f 73 70 61 6e 3e 28 61 64 64 46 6f 72 74 79 54 77 6f 28 79 29 29 20 3d 3d 20 3c 73 70 61 6e </span>(addFortyTwo(y)).==.<span
737a0 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 29 3b 3c 2f .class="tok-type">i64</span>);</
737c0 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 7d 3c 2f 73 70 61 6e span>.<span.class="line">}</span
737e0 3e 3c 2f 63 6f 64 65 3e 3c 2f 70 72 65 3e 3c 2f 66 69 67 75 72 65 3e 3c 66 69 67 75 72 65 3e 3c ></code></pre></figure><figure><
73800 66 69 67 63 61 70 74 69 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
73820 6c 6c 3c 2f 66 69 67 63 61 70 74 69 6f 6e 3e 3c 70 72 65 3e 3c 73 61 6d 70 3e 3c 73 70 61 6e 20 ll</figcaption><pre><samp><span.
73840 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 24 20 3c 6b 62 64 3e 7a 69 67 20 74 65 73 74 20 74 65 73 class="line">$.<kbd>zig.test.tes
73860 74 5f 66 6e 5f 74 79 70 65 5f 69 6e 66 65 72 65 6e 63 65 2e 7a 69 67 3c 2f 6b 62 64 3e 3c 2f 73 t_fn_type_inference.zig</kbd></s
73880 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 31 2f 31 20 74 65 73 74 pan>.<span.class="line">1/1.test
738a0 2e 66 6e 20 74 79 70 65 20 69 6e 66 65 72 65 6e 63 65 2e 2e 2e 20 4f 4b 3c 2f 73 70 61 6e 3e 0a .fn.type.inference....OK</span>.
738c0 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 41 6c 6c 20 31 20 74 65 73 74 73 20 70 <span.class="line">All.1.tests.p
738e0 61 73 73 65 64 2e 3c 2f 73 70 61 6e 3e 0a 3c 2f 73 61 6d 70 3e 3c 2f 70 72 65 3e 3c 2f 66 69 67 assed.</span>.</samp></pre></fig
73900 75 72 65 3e 0a 0a 20 20 20 20 20 20 0a 20 20 20 20 20 20 3c 68 33 20 69 64 3d 22 46 75 6e 63 74 ure>...............<h3.id="Funct
73920 69 6f 6e 2d 52 65 66 6c 65 63 74 69 6f 6e 22 3e 3c 61 20 68 72 65 66 3d 22 23 74 6f 63 2d 46 75 ion-Reflection"><a.href="#toc-Fu
73940 6e 63 74 69 6f 6e 2d 52 65 66 6c 65 63 74 69 6f 6e 22 3e 46 75 6e 63 74 69 6f 6e 20 52 65 66 6c nction-Reflection">Function.Refl
73960 65 63 74 69 6f 6e 3c 2f 61 3e 20 3c 61 20 63 6c 61 73 73 3d 22 68 64 72 22 20 68 72 65 66 3d 22 ection</a>.<a.class="hdr".href="
73980 23 46 75 6e 63 74 69 6f 6e 2d 52 65 66 6c 65 63 74 69 6f 6e 22 3e c2 a7 3c 2f 61 3e 3c 2f 68 33 #Function-Reflection">..</a></h3
739a0 3e 0a 0a 20 20 20 20 20 20 3c 66 69 67 75 72 65 3e 3c 66 69 67 63 61 70 74 69 6f 6e 20 63 6c 61 >........<figure><figcaption.cla
739c0 73 73 3d 22 7a 69 67 2d 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">
739e0 74 65 73 74 5f 66 6e 5f 72 65 66 6c 65 63 74 69 6f 6e 2e 7a 69 67 3c 2f 63 69 74 65 3e 3c 2f 66 test_fn_reflection.zig</cite></f
73a00 69 67 63 61 70 74 69 6f 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
73a20 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 63 6f 6e ="line"><span.class="tok-kw">con
73a40 73 74 3c 2f 73 70 61 6e 3e 20 65 78 70 65 63 74 20 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 st</span>.expect.=.<span.class="
73a60 74 6f 6b 2d 62 75 69 6c 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
73a80 6e 20 63 6c 61 73 73 3d 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
73aa0 3b 3c 2f 73 70 61 6e 3e 29 2e 74 65 73 74 69 6e 67 2e 65 78 70 65 63 74 3b 3c 2f 73 70 61 6e 3e ;</span>).testing.expect;</span>
73ac0 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 .<span.class="line"></span>.<spa
73ae0 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d n.class="line"><span.class="tok-
73b00 6b 77 22 3e 74 65 73 74 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
73b20 2d 73 74 72 22 3e 26 71 75 6f 74 3b 66 6e 20 72 65 66 6c 65 63 74 69 6f 6e 26 71 75 6f 74 3b 3c -str">&quot;fn.reflection&quot;<
73b40 2f 73 70 61 6e 3e 20 7b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e /span>.{</span>.<span.class="lin
73b60 65 22 3e 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 74 72 79 3c e">....<span.class="tok-kw">try<
73b80 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
73ba0 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
73bc0 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
73be0 3e 28 65 78 70 65 63 74 29 29 2e 46 6e 2e 61 72 67 73 5b 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 >(expect)).Fn.args[<span.class="
73c00 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 30 3c 2f 73 70 61 6e 3e 5d 2e 61 72 67 5f 74 79 70 65 2e 3f tok-number">0</span>].arg_type.?
73c20 20 3d 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 62 6f 6f 6c 3c .==.<span.class="tok-type">bool<
73c40 2f 73 70 61 6e 3e 29 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e /span>);</span>.<span.class="lin
73c60 65 22 3e 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 74 72 79 3c e">....<span.class="tok-kw">try<
73c80 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
73ca0 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
73cc0 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
73ce0 3e 28 65 78 70 65 63 74 29 29 2e 46 6e 2e 69 73 5f 76 61 72 5f 61 72 67 73 20 3d 3d 20 3c 73 70 >(expect)).Fn.is_var_args.==.<sp
73d00 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>
73d20 29 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 7d 3c 2f );</span>.<span.class="line">}</
73d40 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
73d60 72 65 3e 3c 66 69 67 63 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"
73d80 3e 53 68 65 6c 6c 3c 2f 66 69 67 63 61 70 74 69 6f 6e 3e 3c 70 72 65 3e 3c 73 61 6d 70 3e 3c 73 >Shell</figcaption><pre><samp><s
73da0 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 24 20 3c 6b 62 64 3e 7a 69 67 20 74 65 73 74 pan.class="line">$.<kbd>zig.test
73dc0 20 74 65 73 74 5f 66 6e 5f 72 65 66 6c 65 63 74 69 6f 6e 2e 7a 69 67 3c 2f 6b 62 64 3e 3c 2f 73 .test_fn_reflection.zig</kbd></s
73de0 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 31 2f 31 20 74 65 73 74 pan>.<span.class="line">1/1.test
73e00 2e 66 6e 20 72 65 66 6c 65 63 74 69 6f 6e 2e 2e 2e 20 4f 4b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 .fn.reflection....OK</span>.<spa
73e20 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 41 6c 6c 20 31 20 74 65 73 74 73 20 70 61 73 73 65 n.class="line">All.1.tests.passe
73e40 64 2e 3c 2f 73 70 61 6e 3e 0a 3c 2f 73 61 6d 70 3e 3c 2f 70 72 65 3e 3c 2f 66 69 67 75 72 65 3e d.</span>.</samp></pre></figure>
73e60 0a 20 20 20 20 20 20 0a 20 20 20 20 20 20 0a 20 20 20 20 20 20 3c 68 32 20 69 64 3d 22 45 72 72 .....................<h2.id="Err
73e80 6f 72 73 22 3e 3c 61 20 68 72 65 66 3d 22 23 74 6f 63 2d 45 72 72 6f 72 73 22 3e 45 72 72 6f 72 ors"><a.href="#toc-Errors">Error
73ea0 73 3c 2f 61 3e 20 3c 61 20 63 6c 61 73 73 3d 22 68 64 72 22 20 68 72 65 66 3d 22 23 45 72 72 6f s</a>.<a.class="hdr".href="#Erro
73ec0 72 73 22 3e c2 a7 3c 2f 61 3e 3c 2f 68 32 3e 0a 0a 20 20 20 20 20 20 3c 68 33 20 69 64 3d 22 45 rs">..</a></h2>........<h3.id="E
73ee0 72 72 6f 72 2d 53 65 74 2d 54 79 70 65 22 3e 3c 61 20 68 72 65 66 3d 22 23 74 6f 63 2d 45 72 72 rror-Set-Type"><a.href="#toc-Err
73f00 6f 72 2d 53 65 74 2d 54 79 70 65 22 3e 45 72 72 6f 72 20 53 65 74 20 54 79 70 65 3c 2f 61 3e 20 or-Set-Type">Error.Set.Type</a>.
73f20 3c 61 20 63 6c 61 73 73 3d 22 68 64 72 22 20 68 72 65 66 3d 22 23 45 72 72 6f 72 2d 53 65 74 2d <a.class="hdr".href="#Error-Set-
73f40 54 79 70 65 22 3e c2 a7 3c 2f 61 3e 3c 2f 68 33 3e 0a 0a 20 20 20 20 20 20 3c 70 3e 0a 20 20 20 Type">..</a></h3>........<p>....
73f60 20 20 20 41 6e 20 65 72 72 6f 72 20 73 65 74 20 69 73 20 6c 69 6b 65 20 61 6e 20 3c 61 20 68 72 ...An.error.set.is.like.an.<a.hr
73f80 65 66 3d 22 23 65 6e 75 6d 22 3e 65 6e 75 6d 3c 2f 61 3e 2e 0a 20 20 20 20 20 20 48 6f 77 65 76 ef="#enum">enum</a>........Howev
73fa0 65 72 2c 20 65 61 63 68 20 65 72 72 6f 72 20 6e 61 6d 65 20 61 63 72 6f 73 73 20 74 68 65 20 65 er,.each.error.name.across.the.e
73fc0 6e 74 69 72 65 20 63 6f 6d 70 69 6c 61 74 69 6f 6e 20 67 65 74 73 20 61 73 73 69 67 6e 65 64 20 ntire.compilation.gets.assigned.
73fe0 61 6e 20 75 6e 73 69 67 6e 65 64 20 69 6e 74 65 67 65 72 0a 20 20 20 20 20 20 67 72 65 61 74 65 an.unsigned.integer.......greate
74000 72 20 74 68 61 6e 20 30 2e 20 59 6f 75 20 61 72 65 20 61 6c 6c 6f 77 65 64 20 74 6f 20 64 65 63 r.than.0..You.are.allowed.to.dec
74020 6c 61 72 65 20 74 68 65 20 73 61 6d 65 20 65 72 72 6f 72 20 6e 61 6d 65 20 6d 6f 72 65 20 74 68 lare.the.same.error.name.more.th
74040 61 6e 20 6f 6e 63 65 2c 20 61 6e 64 20 69 66 20 79 6f 75 20 64 6f 2c 20 69 74 0a 20 20 20 20 20 an.once,.and.if.you.do,.it......
74060 20 67 65 74 73 20 61 73 73 69 67 6e 65 64 20 74 68 65 20 73 61 6d 65 20 69 6e 74 65 67 65 72 20 .gets.assigned.the.same.integer.
74080 76 61 6c 75 65 2e 0a 20 20 20 20 20 20 3c 2f 70 3e 0a 20 20 20 20 20 20 3c 70 3e 0a 20 20 20 20 value........</p>.......<p>.....
740a0 20 20 54 68 65 20 6e 75 6d 62 65 72 20 6f 66 20 75 6e 69 71 75 65 20 65 72 72 6f 72 20 76 61 6c ..The.number.of.unique.error.val
740c0 75 65 73 20 61 63 72 6f 73 73 20 74 68 65 20 65 6e 74 69 72 65 20 63 6f 6d 70 69 6c 61 74 69 6f ues.across.the.entire.compilatio
740e0 6e 20 73 68 6f 75 6c 64 20 64 65 74 65 72 6d 69 6e 65 20 74 68 65 20 73 69 7a 65 20 6f 66 20 74 n.should.determine.the.size.of.t
74100 68 65 20 65 72 72 6f 72 20 73 65 74 20 74 79 70 65 2e 0a 20 20 20 20 20 20 48 6f 77 65 76 65 72 he.error.set.type........However
74120 20 72 69 67 68 74 20 6e 6f 77 20 69 74 20 69 73 20 68 61 72 64 20 63 6f 64 65 64 20 74 6f 20 62 .right.now.it.is.hard.coded.to.b
74140 65 20 61 20 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 e.a.<code><span.class="line"><sp
74160 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 75 31 36 3c 2f 73 70 61 6e 3e 3c 2f an.class="tok-type">u16</span></
74180 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 2e 20 53 65 65 20 3c 61 20 68 72 65 66 3d 22 68 74 74 70 73 span></code>..See.<a.href="https
741a0 3a 2f 2f 67 69 74 68 75 62 2e 63 6f 6d 2f 7a 69 67 6c 61 6e 67 2f 7a 69 67 2f 69 73 73 75 65 73 ://github.com/ziglang/zig/issues
741c0 2f 37 38 36 22 3e 23 37 36 38 3c 2f 61 3e 2e 0a 20 20 20 20 20 20 3c 2f 70 3e 0a 20 20 20 20 20 /786">#768</a>........</p>......
741e0 20 3c 70 3e 0a 20 20 20 20 20 20 59 6f 75 20 63 61 6e 20 3c 61 20 68 72 65 66 3d 22 23 54 79 70 .<p>.......You.can.<a.href="#Typ
74200 65 2d 43 6f 65 72 63 69 6f 6e 22 3e 63 6f 65 72 63 65 3c 2f 61 3e 20 61 6e 20 65 72 72 6f 72 20 e-Coercion">coerce</a>.an.error.
74220 66 72 6f 6d 20 61 20 73 75 62 73 65 74 20 74 6f 20 61 20 73 75 70 65 72 73 65 74 3a 0a 20 20 20 from.a.subset.to.a.superset:....
74240 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
74260 6e 20 63 6c 61 73 73 3d 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
74280 69 6c 65 22 3e 63 6f 65 72 63 69 6e 67 5f 73 75 62 73 65 74 5f 74 6f 5f 73 75 70 65 72 73 65 74 ile">coercing_subset_to_superset
742a0 2e 7a 69 67 3c 2f 63 69 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
742c0 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 de><span.class="line"><span.clas
742e0 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
74300 70 61 6e 20 63 6c 61 73 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<
74320 2f 73 70 61 6e 3e 28 3c 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
74340 6f 74 3b 73 74 64 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 29 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 ot;std&quot;</span>);</span>.<sp
74360 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c an.class="line"></span>.<span.cl
74380 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e ass="line"><span.class="tok-kw">
743a0 63 6f 6e 73 74 3c 2f 73 70 61 6e 3e 20 46 69 6c 65 4f 70 65 6e 45 72 72 6f 72 20 3d 20 3c 73 70 const</span>.FileOpenError.=.<sp
743c0 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 65 72 72 6f 72 3c 2f 73 70 61 6e 3e 20 7b an.class="tok-kw">error</span>.{
743e0 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 41 </span>.<span.class="line">....A
74400 63 63 65 73 73 44 65 6e 69 65 64 2c 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d ccessDenied,</span>.<span.class=
74420 22 6c 69 6e 65 22 3e 20 20 20 20 4f 75 74 4f 66 4d 65 6d 6f 72 79 2c 3c 2f 73 70 61 6e 3e 0a 3c "line">....OutOfMemory,</span>.<
74440 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 46 69 6c 65 4e 6f 74 46 6f 75 span.class="line">....FileNotFou
74460 6e 64 2c 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 7d 3b nd,</span>.<span.class="line">};
74480 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 2f 73 70 61 </span>.<span.class="line"></spa
744a0 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 n>.<span.class="line"><span.clas
744c0 73 3d 22 74 6f 6b 2d 6b 77 22 3e 63 6f 6e 73 74 3c 2f 73 70 61 6e 3e 20 41 6c 6c 6f 63 61 74 69 s="tok-kw">const</span>.Allocati
744e0 6f 6e 45 72 72 6f 72 20 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 65 onError.=.<span.class="tok-kw">e
74500 72 72 6f 72 3c 2f 73 70 61 6e 3e 20 7b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 rror</span>.{</span>.<span.class
74520 3d 22 6c 69 6e 65 22 3e 20 20 20 20 4f 75 74 4f 66 4d 65 6d 6f 72 79 2c 3c 2f 73 70 61 6e 3e 0a ="line">....OutOfMemory,</span>.
74540 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 7d 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 <span.class="line">};</span>.<sp
74560 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c an.class="line"></span>.<span.cl
74580 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e ass="line"><span.class="tok-kw">
745a0 74 65 73 74 3c 2f 73 70 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
745c0 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 70 65 72 73 65 ">&quot;coerce.subset.to.superse
745e0 74 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 20 7b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c t&quot;</span>.{</span>.<span.cl
74600 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d ass="line">....<span.class="tok-
74620 6b 77 22 3e 63 6f 6e 73 74 3c 2f 73 70 61 6e 3e 20 65 72 72 20 3d 20 66 6f 6f 28 41 6c 6c 6f 63 kw">const</span>.err.=.foo(Alloc
74640 61 74 69 6f 6e 45 72 72 6f 72 2e 4f 75 74 4f 66 4d 65 6d 6f 72 79 29 3b 3c 2f 73 70 61 6e 3e 0a ationError.OutOfMemory);</span>.
74660 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 <span.class="line">....<span.cla
74680 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 74 72 79 3c 2f 73 70 61 6e 3e 20 73 74 64 2e 74 65 73 74 69 ss="tok-kw">try</span>.std.testi
746a0 6e 67 2e 65 78 70 65 63 74 28 65 72 72 20 3d 3d 20 46 69 6c 65 4f 70 65 6e 45 72 72 6f 72 2e 4f ng.expect(err.==.FileOpenError.O
746c0 75 74 4f 66 4d 65 6d 6f 72 79 29 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d utOfMemory);</span>.<span.class=
746e0 22 6c 69 6e 65 22 3e 7d 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e "line">}</span>.<span.class="lin
74700 65 22 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 e"></span>.<span.class="line"><s
74720 70 61 6e 20 63 6c 61 73 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
74740 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 66 6e 22 3e 66 6f 6f 3c 2f 73 70 61 6e 3e 28 65 72 72 an.class="tok-fn">foo</span>(err
74760 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 6e 45 72 72 6f 72 :.AllocationError).FileOpenError
74780 20 7b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 .{</span>.<span.class="line">...
747a0 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
747c0 61 6e 3e 20 65 72 72 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e an>.err;</span>.<span.class="lin
747e0 65 22 3e 7d 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 3c 2f 70 72 65 3e 3c 2f 66 69 67 75 72 65 e">}</span></code></pre></figure
74800 3e 3c 66 69 67 75 72 65 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
74820 6c 2d 63 61 70 22 3e 53 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
74840 61 6d 70 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 24 20 3c 6b 62 64 3e 7a 69 amp><span.class="line">$.<kbd>zi
74860 67 20 74 65 73 74 20 63 6f 65 72 63 69 6e 67 5f 73 75 62 73 65 74 5f 74 6f 5f 73 75 70 65 72 73 g.test.coercing_subset_to_supers
74880 65 74 2e 7a 69 67 3c 2f 6b 62 64 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d et.zig</kbd></span>.<span.class=
748a0 22 6c 69 6e 65 22 3e 31 2f 31 20 74 65 73 74 2e 63 6f 65 72 63 65 20 73 75 62 73 65 74 20 74 6f "line">1/1.test.coerce.subset.to
748c0 20 73 75 70 65 72 73 65 74 2e 2e 2e 20 4f 4b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 .superset....OK</span>.<span.cla
748e0 73 73 3d 22 6c 69 6e 65 22 3e 41 6c 6c 20 31 20 74 65 73 74 73 20 70 61 73 73 65 64 2e 3c 2f 73 ss="line">All.1.tests.passed.</s
74900 70 61 6e 3e 0a 3c 2f 73 61 6d 70 3e 3c 2f 70 72 65 3e 3c 2f 66 69 67 75 72 65 3e 0a 20 20 20 20 pan>.</samp></pre></figure>.....
74920 20 20 3c 70 3e 0a 20 20 20 20 20 20 42 75 74 20 79 6f 75 20 63 61 6e 6e 6f 74 20 3c 61 20 68 72 ..<p>.......But.you.cannot.<a.hr
74940 65 66 3d 22 23 54 79 70 65 2d 43 6f 65 72 63 69 6f 6e 22 3e 63 6f 65 72 63 65 3c 2f 61 3e 20 61 ef="#Type-Coercion">coerce</a>.a
74960 6e 20 65 72 72 6f 72 20 66 72 6f 6d 20 61 20 73 75 70 65 72 73 65 74 20 74 6f 20 61 20 73 75 62 n.error.from.a.superset.to.a.sub
74980 73 65 74 3a 0a 20 20 20 20 20 20 3c 2f 70 3e 0a 20 20 20 20 20 20 3c 66 69 67 75 72 65 3e 3c 66 set:.......</p>.......<figure><f
749a0 69 67 63 61 70 74 69 6f 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.
749c0 63 6c 61 73 73 3d 22 66 69 6c 65 22 3e 74 65 73 74 2e 7a 69 67 3c 2f 63 69 74 65 3e 3c 2f 66 69 class="file">test.zig</cite></fi
749e0 67 63 61 70 74 69 6f 6e 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=
74a00 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 63 6f 6e 73 "line"><span.class="tok-kw">cons
74a20 74 3c 2f 73 70 61 6e 3e 20 46 69 6c 65 4f 70 65 6e 45 72 72 6f 72 20 3d 20 3c 73 70 61 6e 20 63 t</span>.FileOpenError.=.<span.c
74a40 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 65 72 72 6f 72 3c 2f 73 70 61 6e 3e 20 7b 3c 2f 73 70 lass="tok-kw">error</span>.{</sp
74a60 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 41 63 63 65 73 an>.<span.class="line">....Acces
74a80 73 44 65 6e 69 65 64 2c 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e sDenied,</span>.<span.class="lin
74aa0 65 22 3e 20 20 20 20 4f 75 74 4f 66 4d 65 6d 6f 72 79 2c 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e e">....OutOfMemory,</span>.<span
74ac0 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 46 69 6c 65 4e 6f 74 46 6f 75 6e 64 2c 3c .class="line">....FileNotFound,<
74ae0 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 7d 3b 3c 2f 73 70 /span>.<span.class="line">};</sp
74b00 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 2f 73 70 61 6e 3e 0a 3c an>.<span.class="line"></span>.<
74b20 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 span.class="line"><span.class="t
74b40 6f 6b 2d 6b 77 22 3e 63 6f 6e 73 74 3c 2f 73 70 61 6e 3e 20 41 6c 6c 6f 63 61 74 69 6f 6e 45 72 ok-kw">const</span>.AllocationEr
74b60 72 6f 72 20 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 65 72 72 6f 72 ror.=.<span.class="tok-kw">error
74b80 3c 2f 73 70 61 6e 3e 20 7b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 </span>.{</span>.<span.class="li
74ba0 6e 65 22 3e 20 20 20 20 4f 75 74 4f 66 4d 65 6d 6f 72 79 2c 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 ne">....OutOfMemory,</span>.<spa
74bc0 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 7d 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 n.class="line">};</span>.<span.c
74be0 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d lass="line"></span>.<span.class=
74c00 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 74 65 73 74 "line"><span.class="tok-kw">test
74c20 3c 2f 73 70 61 6e 3e 20 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
74c40 75 6f 74 3b 63 6f 65 72 63 65 20 73 75 70 65 72 73 65 74 20 74 6f 20 73 75 62 73 65 74 26 71 75 uot;coerce.superset.to.subset&qu
74c60 6f 74 3b 3c 2f 73 70 61 6e 3e 20 7b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d ot;</span>.{</span>.<span.class=
74c80 22 6c 69 6e 65 22 3e 20 20 20 20 66 6f 6f 28 46 69 6c 65 4f 70 65 6e 45 72 72 6f 72 2e 4f 75 74 "line">....foo(FileOpenError.Out
74ca0 4f 66 4d 65 6d 6f 72 79 29 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 63 OfMemory).<span.class="tok-kw">c
74cc0 61 74 63 68 3c 2f 73 70 61 6e 3e 20 7b 7d 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 atch</span>.{};</span>.<span.cla
74ce0 73 73 3d 22 6c 69 6e 65 22 3e 7d 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 ss="line">}</span>.<span.class="
74d00 6c 69 6e 65 22 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 line"></span>.<span.class="line"
74d20 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 66 6e 3c 2f 73 70 61 6e 3e 20 ><span.class="tok-kw">fn</span>.
74d40 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>(
74d60 65 72 72 3a 20 46 69 6c 65 4f 70 65 6e 45 72 72 6f 72 29 20 41 6c 6c 6f 63 61 74 69 6f 6e 45 72 err:.FileOpenError).AllocationEr
74d80 72 6f 72 20 7b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e ror.{</span>.<span.class="line">
74da0 20 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<
74dc0 2f 73 70 61 6e 3e 20 65 72 72 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 /span>.err;</span>.<span.class="
74de0 6c 69 6e 65 22 3e 7d 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 3c 2f 70 72 65 3e 3c 2f 66 69 67 line">}</span></code></pre></fig
74e00 75 72 65 3e 3c 66 69 67 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
74e20 68 65 6c 6c 2d 63 61 70 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
74e40 3e 3c 73 61 6d 70 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 24 20 3c 6b 62 64 ><samp><span.class="line">$.<kbd
74e60 3e 7a 69 67 20 74 65 73 74 20 74 65 73 74 2e 7a 69 67 3c 2f 6b 62 64 3e 3c 2f 73 70 61 6e 3e 0a >zig.test.test.zig</kbd></span>.
74e80 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 <span.class="line"><span.class="
74ea0 74 31 5f 30 22 3e 64 6f 63 67 65 6e 5f 74 6d 70 2f 74 65 73 74 2e 7a 69 67 3a 31 36 3a 31 32 3a t1_0">docgen_tmp/test.zig:16:12:
74ec0 20 3c 2f 73 70 61 6e 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 33 31 5f 31 22 3e 65 72 72 6f .</span><span.class="t31_1">erro
74ee0 72 3a 20 3c 2f 73 70 61 6e 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 31 5f 30 22 3e 65 78 70 r:.</span><span.class="t1_0">exp
74f00 65 63 74 65 64 20 74 79 70 65 20 27 65 72 72 6f 72 7b 4f 75 74 4f 66 4d 65 6d 6f 72 79 7d 27 2c ected.type.'error{OutOfMemory}',
74f20 20 66 6f 75 6e 64 20 27 65 72 72 6f 72 7b 41 63 63 65 73 73 44 65 6e 69 65 64 2c 46 69 6c 65 4e .found.'error{AccessDenied,FileN
74f40 6f 74 46 6f 75 6e 64 2c 4f 75 74 4f 66 4d 65 6d 6f 72 79 7d 27 3c 2f 73 70 61 6e 3e 0a 3c 73 70 otFound,OutOfMemory}'</span>.<sp
74f60 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 2f 73 70 61 6e 3e 20 20 20 20 72 65 74 75 72 an.class="line"></span>....retur
74f80 6e 20 65 72 72 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 n.err;</span>.<span.class="line"
74fa0 3e 20 20 20 20 20 20 20 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 33 32 5f 31 22 3e >...........<span.class="t32_1">
74fc0 5e 7e 7e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 2f ^~~</span>.<span.class="line"></
74fe0 73 70 61 6e 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 31 5f 30 22 3e 64 6f 63 67 65 6e 5f 74 span><span.class="t1_0">docgen_t
75000 6d 70 2f 74 65 73 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 mp/test.zig:16:12:.</span><span.
75020 63 6c 61 73 73 3d 22 74 33 36 5f 31 22 3e 6e 6f 74 65 3a 20 3c 2f 73 70 61 6e 3e 3c 73 70 61 6e class="t36_1">note:.</span><span
75040 20 63 6c 61 73 73 3d 22 74 31 5f 30 22 3e 27 65 72 72 6f 72 2e 41 63 63 65 73 73 44 65 6e 69 65 .class="t1_0">'error.AccessDenie
75060 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 6f 6e 20 65 d'.not.a.member.of.destination.e
75080 72 72 6f 72 20 73 65 74 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e rror.set</span>.<span.class="lin
750a0 65 22 3e 3c 2f 73 70 61 6e 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 31 5f 30 22 3e 64 6f 63 e"></span><span.class="t1_0">doc
750c0 67 65 6e 5f 74 6d 70 2f 74 65 73 74 2e 7a 69 67 3a 31 36 3a 31 32 3a 20 3c 2f 73 70 61 6e 3e 3c gen_tmp/test.zig:16:12:.</span><
750e0 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 33 36 5f 31 22 3e 6e 6f 74 65 3a 20 3c 2f 73 70 61 6e 3e span.class="t36_1">note:.</span>
75100 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 31 5f 30 22 3e 27 65 72 72 6f 72 2e 46 69 6c 65 4e 6f <span.class="t1_0">'error.FileNo
75120 74 46 6f 75 6e 64 27 20 6e 6f 74 20 61 20 6d 65 6d 62 65 72 20 6f 66 20 64 65 73 74 69 6e 61 74 tFound'.not.a.member.of.destinat
75140 69 6f 6e 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 6c 61 73 73 ion.error.set</span>.<span.class
75160 3d 22 6c 69 6e 65 22 3e 3c 2f 73 70 61 6e 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 31 5f 30 ="line"></span><span.class="t1_0
75180 22 3e 64 6f 63 67 65 6e 5f 74 6d 70 2f 74 65 73 74 2e 7a 69 67 3a 31 35 3a 32 38 3a 20 3c 2f 73 ">docgen_tmp/test.zig:15:28:.</s
751a0 70 61 6e 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 33 36 5f 31 22 3e 6e 6f 74 65 3a 20 3c 2f pan><span.class="t36_1">note:.</
751c0 73 70 61 6e 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 31 5f 30 22 3e 66 75 6e 63 74 69 6f 6e span><span.class="t1_0">function
751e0 20 72 65 74 75 72 6e 20 74 79 70 65 20 64 65 63 6c 61 72 65 64 20 68 65 72 65 3c 2f 73 70 61 6e .return.type.declared.here</span
75200 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 2f 73 70 61 6e 3e 66 6e 20 66 >.<span.class="line"></span>fn.f
75220 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 61 74 69 6f oo(err:.FileOpenError).Allocatio
75240 6e 45 72 72 6f 72 20 7b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e nError.{</span>.<span.class="lin
75260 65 22 3e 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 3c 73 e">...........................<s
75280 70 61 6e 20 63 6c 61 73 73 3d 22 74 33 32 5f 31 22 3e 5e 7e 7e 7e 7e 7e 7e 7e 7e 7e 7e 7e 7e 7e pan.class="t32_1">^~~~~~~~~~~~~~
752a0 7e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 2f 73 70 ~</span>.<span.class="line"></sp
752c0 61 6e 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 32 5f 30 22 3e 72 65 66 65 72 65 6e 63 65 64 an><span.class="t2_0">referenced
752e0 20 62 79 3a 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 .by:</span>.<span.class="line">.
75300 20 20 20 74 65 73 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 ...test.coerce.superset.to.subse
75320 74 3a 20 64 6f 63 67 65 6e 5f 74 6d 70 2f 74 65 73 74 2e 7a 69 67 3a 31 32 3a 35 3c 2f 73 70 61 t:.docgen_tmp/test.zig:12:5</spa
75340 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 72 65 6d 61 69 6e n>.<span.class="line">....remain
75360 69 6e 67 20 72 65 66 65 72 65 6e 63 65 20 74 72 61 63 65 73 20 68 69 64 64 65 6e 3b 20 75 73 65 ing.reference.traces.hidden;.use
75380 20 27 2d 66 72 65 66 65 72 65 6e 63 65 2d 74 72 61 63 65 27 20 74 6f 20 73 65 65 20 61 6c 6c 20 .'-freference-trace'.to.see.all.
753a0 72 65 66 65 72 65 6e 63 65 20 74 72 61 63 65 73 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c reference.traces</span>.<span.cl
753c0 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 ass="line"></span>.<span.class="
753e0 6c 69 6e 65 22 3e 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 0a 3c 2f 73 61 6d 70 3e 3c 2f 70 72 line"></span></span>.</samp></pr
75400 65 3e 3c 2f 66 69 67 75 72 65 3e 0a 20 20 20 20 20 20 3c 70 3e 0a 20 20 20 20 20 20 54 68 65 72 e></figure>.......<p>.......Ther
75420 65 20 69 73 20 61 20 73 68 6f 72 74 63 75 74 20 66 6f 72 20 64 65 63 6c 61 72 69 6e 67 20 61 6e e.is.a.shortcut.for.declaring.an
75440 20 65 72 72 6f 72 20 73 65 74 20 77 69 74 68 20 6f 6e 6c 79 20 31 20 76 61 6c 75 65 2c 20 61 6e .error.set.with.only.1.value,.an
75460 64 20 74 68 65 6e 20 67 65 74 74 69 6e 67 20 74 68 61 74 20 76 61 6c 75 65 3a 0a 20 20 20 20 20 d.then.getting.that.value:......
75480 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.
754a0 63 6c 61 73 73 3d 22 7a 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
754c0 65 22 3e 74 65 73 74 2e 7a 69 67 3c 2f 63 69 74 65 3e 3c 2f 66 69 67 63 61 70 74 69 6f 6e 3e 3c e">test.zig</cite></figcaption><
754e0 70 72 65 3e 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 pre><code><span.class="line"><sp
75500 61 6e 20 63 6c 61 73 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
75520 72 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 rr.=.<span.class="tok-kw">error<
75540 2f 73 70 61 6e 3e 2e 46 69 6c 65 4e 6f 74 46 6f 75 6e 64 3b 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 /span>.FileNotFound;</span></cod
75560 65 3e 3c 2f 70 72 65 3e 3c 2f 66 69 67 75 72 65 3e 0a 20 20 20 20 20 20 3c 70 3e 54 68 69 73 20 e></pre></figure>.......<p>This.
75580 69 73 20 65 71 75 69 76 61 6c 65 6e 74 20 74 6f 3a 3c 2f 70 3e 0a 20 20 20 20 20 20 3c 66 69 67 is.equivalent.to:</p>.......<fig
755a0 75 72 65 3e 3c 66 69 67 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">
755c0 3c 63 69 74 65 20 63 6c 61 73 73 3d 22 66 69 6c 65 22 3e 74 65 73 74 2e 7a 69 67 3c 2f 63 69 74 <cite.class="file">test.zig</cit
755e0 65 3e 3c 2f 66 69 67 63 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.
75600 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 class="line"><span.class="tok-kw
75620 22 3e 63 6f 6e 73 74 3c 2f 73 70 61 6e 3e 20 65 72 72 20 3d 20 28 3c 73 70 61 6e 20 63 6c 61 73 ">const</span>.err.=.(<span.clas
75640 73 3d 22 74 6f 6b 2d 6b 77 22 3e 65 72 72 6f 72 3c 2f 73 70 61 6e 3e 20 7b 46 69 6c 65 4e 6f 74 s="tok-kw">error</span>.{FileNot
75660 46 6f 75 6e 64 7d 29 2e 46 69 6c 65 4e 6f 74 46 6f 75 6e 64 3b 3c 2f 73 70 61 6e 3e 3c 2f 63 6f Found}).FileNotFound;</span></co
75680 64 65 3e 3c 2f 70 72 65 3e 3c 2f 66 69 67 75 72 65 3e 0a 20 20 20 20 20 20 3c 70 3e 0a 20 20 20 de></pre></figure>.......<p>....
756a0 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 20 75 73 69 6e ...This.becomes.useful.when.usin
756c0 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 53 65 74 73 22 g.<a.href="#Inferred-Error-Sets"
756e0 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 20 20 20 20 20 >Inferred.Error.Sets</a>........
75700 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 61 6c 2d 45 72 </p>.......<h4.id="The-Global-Er
75720 72 6f 72 2d 53 65 74 22 3e 3c 61 20 68 72 65 66 3d 22 23 74 6f 63 2d 54 68 65 2d 47 6c 6f 62 61 ror-Set"><a.href="#toc-The-Globa
75740 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 53 65 l-Error-Set">The.Global.Error.Se
75760 74 3c 2f 61 3e 20 3c 61 20 63 6c 61 73 73 3d 22 68 64 72 22 20 68 72 65 66 3d 22 23 54 68 65 2d t</a>.<a.class="hdr".href="#The-
75780 47 6c 6f 62 61 6c 2d 45 72 72 6f 72 2d 53 65 74 22 3e c2 a7 3c 2f 61 3e 3c 2f 68 34 3e 0a 0a 20 Global-Error-Set">..</a></h4>...
757a0 20 20 20 20 20 3c 70 3e 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 .....<p><code><span.class="line"
757c0 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 72 6f 72 ><span.class="tok-type">anyerror
757e0 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 20 72 65 66 65 72 73 20 74 6f 20 </span></span></code>.refers.to.
75800 74 68 65 20 67 6c 6f 62 61 6c 20 65 72 72 6f 72 20 73 65 74 2e 0a 20 20 20 20 20 20 54 68 69 73 the.global.error.set........This
75820 20 69 73 20 74 68 65 20 65 72 72 6f 72 20 73 65 74 20 74 68 61 74 20 63 6f 6e 74 61 69 6e 73 20 .is.the.error.set.that.contains.
75840 61 6c 6c 20 65 72 72 6f 72 73 20 69 6e 20 74 68 65 20 65 6e 74 69 72 65 20 63 6f 6d 70 69 6c 61 all.errors.in.the.entire.compila
75860 74 69 6f 6e 20 75 6e 69 74 2e 0a 20 20 20 20 20 20 49 74 20 69 73 20 61 20 73 75 70 65 72 73 65 tion.unit........It.is.a.superse
75880 74 20 6f 66 20 61 6c 6c 20 6f 74 68 65 72 20 65 72 72 6f 72 20 73 65 74 73 20 61 6e 64 20 61 20 t.of.all.other.error.sets.and.a.
758a0 73 75 62 73 65 74 20 6f 66 20 6e 6f 6e 65 20 6f 66 20 74 68 65 6d 2e 0a 20 20 20 20 20 20 3c 2f subset.of.none.of.them........</
758c0 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 72 p>.......<p>.......You.can.<a.hr
758e0 65 66 3d 22 23 54 79 70 65 2d 43 6f 65 72 63 69 6f 6e 22 3e 63 6f 65 72 63 65 3c 2f 61 3e 20 61 ef="#Type-Coercion">coerce</a>.a
75900 6e 79 20 65 72 72 6f 72 20 73 65 74 20 74 6f 20 74 68 65 20 67 6c 6f 62 61 6c 20 6f 6e 65 2c 20 ny.error.set.to.the.global.one,.
75920 61 6e 64 20 79 6f 75 20 63 61 6e 20 65 78 70 6c 69 63 69 74 6c 79 0a 20 20 20 20 20 20 63 61 73 and.you.can.explicitly.......cas
75940 74 20 61 6e 20 65 72 72 6f 72 20 6f 66 20 74 68 65 20 67 6c 6f 62 61 6c 20 65 72 72 6f 72 20 73 t.an.error.of.the.global.error.s
75960 65 74 20 74 6f 20 61 20 6e 6f 6e 2d 67 6c 6f 62 61 6c 20 6f 6e 65 2e 20 54 68 69 73 20 69 6e 73 et.to.a.non-global.one..This.ins
75980 65 72 74 73 20 61 20 6c 61 6e 67 75 61 67 65 2d 6c 65 76 65 6c 0a 20 20 20 20 20 20 61 73 73 65 erts.a.language-level.......asse
759a0 72 74 20 74 6f 20 6d 61 6b 65 20 73 75 72 65 20 74 68 65 20 65 72 72 6f 72 20 76 61 6c 75 65 20 rt.to.make.sure.the.error.value.
759c0 69 73 20 69 6e 20 66 61 63 74 20 69 6e 20 74 68 65 20 64 65 73 74 69 6e 61 74 69 6f 6e 20 65 72 is.in.fact.in.the.destination.er
759e0 72 6f 72 20 73 65 74 2e 0a 20 20 20 20 20 20 3c 2f 70 3e 0a 20 20 20 20 20 20 3c 70 3e 0a 20 20 ror.set........</p>.......<p>...
75a00 20 20 20 20 54 68 65 20 67 6c 6f 62 61 6c 20 65 72 72 6f 72 20 73 65 74 20 73 68 6f 75 6c 64 20 ....The.global.error.set.should.
75a20 67 65 6e 65 72 61 6c 6c 79 20 62 65 20 61 76 6f 69 64 65 64 20 62 65 63 61 75 73 65 20 69 74 20 generally.be.avoided.because.it.
75a40 70 72 65 76 65 6e 74 73 20 74 68 65 0a 20 20 20 20 20 20 63 6f 6d 70 69 6c 65 72 20 66 72 6f 6d prevents.the.......compiler.from
75a60 20 6b 6e 6f 77 69 6e 67 20 77 68 61 74 20 65 72 72 6f 72 73 20 61 72 65 20 70 6f 73 73 69 62 6c .knowing.what.errors.are.possibl
75a80 65 20 61 74 20 63 6f 6d 70 69 6c 65 2d 74 69 6d 65 2e 20 4b 6e 6f 77 69 6e 67 0a 20 20 20 20 20 e.at.compile-time..Knowing......
75aa0 20 74 68 65 20 65 72 72 6f 72 20 73 65 74 20 61 74 20 63 6f 6d 70 69 6c 65 2d 74 69 6d 65 20 69 .the.error.set.at.compile-time.i
75ac0 73 20 62 65 74 74 65 72 20 66 6f 72 20 67 65 6e 65 72 61 74 65 64 20 64 6f 63 75 6d 65 6e 74 61 s.better.for.generated.documenta
75ae0 74 69 6f 6e 20 61 6e 64 0a 20 20 20 20 20 20 68 65 6c 70 66 75 6c 20 65 72 72 6f 72 20 6d 65 73 tion.and.......helpful.error.mes
75b00 73 61 67 65 73 2c 20 73 75 63 68 20 61 73 20 66 6f 72 67 65 74 74 69 6e 67 20 61 20 70 6f 73 73 sages,.such.as.forgetting.a.poss
75b20 69 62 6c 65 20 65 72 72 6f 72 20 76 61 6c 75 65 20 69 6e 20 61 20 3c 61 20 68 72 65 66 3d 22 23 ible.error.value.in.a.<a.href="#
75b40 73 77 69 74 63 68 22 3e 73 77 69 74 63 68 3c 2f 61 3e 2e 0a 20 20 20 20 20 20 3c 2f 70 3e 0a 20 switch">switch</a>........</p>..
75b60 20 20 20 20 20 0a 20 20 20 20 20 20 0a 20 20 20 20 20 20 3c 68 33 20 69 64 3d 22 45 72 72 6f 72 ...................<h3.id="Error
75b80 2d 55 6e 69 6f 6e 2d 54 79 70 65 22 3e 3c 61 20 68 72 65 66 3d 22 23 74 6f 63 2d 45 72 72 6f 72 -Union-Type"><a.href="#toc-Error
75ba0 2d 55 6e 69 6f 6e 2d 54 79 70 65 22 3e 45 72 72 6f 72 20 55 6e 69 6f 6e 20 54 79 70 65 3c 2f 61 -Union-Type">Error.Union.Type</a
75bc0 3e 20 3c 61 20 63 6c 61 73 73 3d 22 68 64 72 22 20 68 72 65 66 3d 22 23 45 72 72 6f 72 2d 55 6e >.<a.class="hdr".href="#Error-Un
75be0 69 6f 6e 2d 54 79 70 65 22 3e c2 a7 3c 2f 61 3e 3c 2f 68 33 3e 0a 0a 20 20 20 20 20 20 3c 70 3e ion-Type">..</a></h3>........<p>
75c00 0a 20 20 20 20 20 20 41 6e 20 65 72 72 6f 72 20 73 65 74 20 74 79 70 65 20 61 6e 64 20 6e 6f 72 .......An.error.set.type.and.nor
75c20 6d 61 6c 20 74 79 70 65 20 63 61 6e 20 62 65 20 63 6f 6d 62 69 6e 65 64 20 77 69 74 68 20 74 68 mal.type.can.be.combined.with.th
75c40 65 20 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 21 3c 2f 73 70 e.<code><span.class="line">!</sp
75c60 61 6e 3e 3c 2f 63 6f 64 65 3e 0a 20 20 20 20 20 20 62 69 6e 61 72 79 20 6f 70 65 72 61 74 6f 72 an></code>.......binary.operator
75c80 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 2e 20 59 6f .to.form.an.error.union.type..Yo
75ca0 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 20 65 72 72 u.are.likely.to.use.an.......err
75cc0 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 6e 20 61 6e or.union.type.more.often.than.an
75ce0 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 20 20 20 20 .error.set.type.by.itself.......
75d00 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 73 20 61 20 .</p>.......<p>.......Here.is.a.
75d20 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 6e 74 6f 20 function.to.parse.a.string.into.
75d40 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 0a 20 20 20 a.64-bit.integer:.......</p>....
75d60 20 20 20 3c 66 69 67 75 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
75d80 67 2d 63 61 70 22 3e 3c 63 69 74 65 20 63 6c 61 73 73 3d 22 66 69 6c 65 22 3e 65 72 72 6f 72 5f g-cap"><cite.class="file">error_
75da0 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 3c 2f 66 69 union_parsing_u64.zig</cite></fi
75dc0 67 63 61 70 74 69 6f 6e 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=
75de0 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 63 6f 6e 73 "line"><span.class="tok-kw">cons
75e00 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-
75e20 62 75 69 6c 74 69 6e 22 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
75e40 61 73 73 3d 22 74 6f 6b 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
75e60 70 61 6e 3e 29 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 pan>);</span>.<span.class="line"
75e80 3e 3c 73 70 61 6e 20 63 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
75ea0 6e 3e 20 6d 61 78 49 6e 74 20 3d 20 73 74 64 2e 6d 61 74 68 2e 6d 61 78 49 6e 74 3b 3c 2f 73 70 n>.maxInt.=.std.math.maxInt;</sp
75ec0 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 2f 73 70 61 6e 3e 0a 3c an>.<span.class="line"></span>.<
75ee0 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 span.class="line"><span.class="t
75f00 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
75f20 6f 6b 2d 6b 77 22 3e 66 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
75f40 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 3c 73 70 k-fn">parseU64</span>(buf:.[]<sp
75f60 61 6e 20 63 6c 61 73 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>.<
75f80 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>,
75fa0 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 22 3e 75 .radix:.<span.class="tok-type">u
75fc0 38 3c 2f 73 70 61 6e 3e 29 20 21 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 8</span>).!<span.class="tok-type
75fe0 22 3e 75 36 34 3c 2f 73 70 61 6e 3e 20 7b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 ">u64</span>.{</span>.<span.clas
76000 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 s="line">....<span.class="tok-kw
76020 22 3e 76 61 72 3c 2f 73 70 61 6e 3e 20 78 3a 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b ">var</span>.x:.<span.class="tok
76040 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 73 3d -type">u64</span>.=.<span.class=
76060 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 30 3c 2f 73 70 61 6e 3e 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 "tok-number">0</span>;</span>.<s
76080 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 pan.class="line"></span>.<span.c
760a0 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b lass="line">....<span.class="tok
760c0 2d 6b 77 22 3e 66 6f 72 3c 2f 73 70 61 6e 3e 20 28 62 75 66 29 20 7c 63 7c 20 7b 3c 2f 73 70 61 -kw">for</span>.(buf).|c|.{</spa
760e0 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 20 20 20 20 3c 73 n>.<span.class="line">........<s
76100 70 61 6e 20 63 6c 61 73 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>.
76120 64 69 67 69 74 20 3d 20 63 68 61 72 54 6f 44 69 67 69 74 28 63 29 3b 3c 2f 73 70 61 6e 3e 0a 3c digit.=.charToDigit(c);</span>.<
76140 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 span.class="line"></span>.<span.
76160 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 class="line">........<span.class
76180 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 74 20 26 67 74 3b 3d ="tok-kw">if</span>.(digit.&gt;=
761a0 20 72 61 64 69 78 29 20 7b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 .radix).{</span>.<span.class="li
761c0 6e 65 22 3e 20 20 20 20 20 20 20 20 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b ne">............<span.class="tok
761e0 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="
76200 74 6f 6b 2d 6b 77 22 3e 65 72 72 6f 72 3c 2f 73 70 61 6e 3e 2e 49 6e 76 61 6c 69 64 43 68 61 72 tok-kw">error</span>.InvalidChar
76220 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 ;</span>.<span.class="line">....
76240 20 20 20 20 7d 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e ....}</span>.<span.class="line">
76260 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 20 </span>.<span.class="line">.....
76280 20 20 20 3c 73 70 61 6e 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">//.
762a0 78 20 2a 3d 20 72 61 64 69 78 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 x.*=.radix</span></span>.<span.c
762c0 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d lass="line">........<span.class=
762e0 22 74 6f 6b 2d 6b 77 22 3e 69 66 3c 2f 73 70 61 6e 3e 20 28 3c 73 70 61 6e 20 63 6c 61 73 73 3d "tok-kw">if</span>.(<span.class=
76300 22 74 6f 6b 2d 62 75 69 6c 74 69 6e 22 3e 40 6d 75 6c 57 69 74 68 4f 76 65 72 66 6c 6f 77 3c 2f "tok-builtin">@mulWithOverflow</
76320 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 36 34 span>(<span.class="tok-type">u64
76340 3c 2f 73 70 61 6e 3e 2c 20 78 2c 20 72 61 64 69 78 2c 20 26 61 6d 70 3b 78 29 29 20 7b 3c 2f 73 </span>,.x,.radix,.&amp;x)).{</s
76360 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 20 20 20 20 pan>.<span.class="line">........
76380 20 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<
763a0 2f 73 70 61 6e 3e 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 65 72 72 6f /span>.<span.class="tok-kw">erro
763c0 72 3c 2f 73 70 61 6e 3e 2e 4f 76 65 72 66 6c 6f 77 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 r</span>.Overflow;</span>.<span.
763e0 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 20 20 20 20 7d 3c 2f 73 70 61 6e 3e 0a 3c 73 class="line">........}</span>.<s
76400 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 pan.class="line"></span>.<span.c
76420 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d lass="line">........<span.class=
76440 22 74 6f 6b 2d 63 6f 6d 6d 65 6e 74 22 3e 2f 2f 20 78 20 2b 3d 20 64 69 67 69 74 3c 2f 73 70 61 "tok-comment">//.x.+=.digit</spa
76460 6e 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 n></span>.<span.class="line">...
76480 20 20 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
764a0 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 40 an>.(<span.class="tok-builtin">@
764c0 61 64 64 57 69 74 68 4f 76 65 72 66 6c 6f 77 3c 2f 73 70 61 6e 3e 28 3c 73 70 61 6e 20 63 6c 61 addWithOverflow</span>(<span.cla
764e0 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 75 36 34 3c 2f 73 70 61 6e 3e 2c 20 78 2c 20 64 69 67 ss="tok-type">u64</span>,.x,.dig
76500 69 74 2c 20 26 61 6d 70 3b 78 29 29 20 7b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 it,.&amp;x)).{</span>.<span.clas
76520 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 20 20 20 20 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 s="line">............<span.class
76540 3d 22 74 6f 6b 2d 6b 77 22 3e 72 65 74 75 72 6e 3c 2f 73 70 61 6e 3e 20 3c 73 70 61 6e 20 63 6c ="tok-kw">return</span>.<span.cl
76560 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
76580 6f 77 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 ow;</span>.<span.class="line">..
765a0 20 20 20 20 20 20 7d 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 ......}</span>.<span.class="line
765c0 22 3e 20 20 20 20 7d 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 ">....}</span>.<span.class="line
765e0 22 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 "></span>.<span.class="line">...
76600 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
76620 61 6e 3e 20 78 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 an>.x;</span>.<span.class="line"
76640 3e 7d 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 2f 73 >}</span>.<span.class="line"></s
76660 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c pan>.<span.class="line"><span.cl
76680 61 73 73 3d 22 74 6f 6b 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
766a0 73 73 3d 22 74 6f 6b 2d 66 6e 22 3e 63 68 61 72 54 6f 44 69 67 69 74 3c 2f 73 70 61 6e 3e 28 63 ss="tok-fn">charToDigit</span>(c
766c0 3a 20 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
766e0 6e 3e 29 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 75 38 3c 2f 73 n>).<span.class="tok-type">u8</s
76700 70 61 6e 3e 20 7b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 pan>.{</span>.<span.class="line"
76720 3e 20 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
76740 3c 2f 73 70 61 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
76760 74 63 68 3c 2f 73 70 61 6e 3e 20 28 63 29 20 7b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c tch</span>.(c).{</span>.<span.cl
76780 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 ass="line">........<span.class="
767a0 74 6f 6b 2d 73 74 72 22 3e 27 30 27 3c 2f 73 70 61 6e 3e 20 2e 2e 2e 20 3c 73 70 61 6e 20 63 6c tok-str">'0'</span>.....<span.cl
767c0 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
767e0 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
76800 61 6e 3e 2c 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 an>,</span>.<span.class="line">.
76820 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 41 27 .......<span.class="tok-str">'A'
76840 3c 2f 73 70 61 6e 3e 20 2e 2e 2e 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 73 74 72 </span>.....<span.class="tok-str
76860 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 20 63 6c 61 ">'Z'</span>.=&gt;.c.-.<span.cla
76880 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 70 61 6e 20 ss="tok-str">'A'</span>.+.<span.
768a0 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 31 30 3c 2f 73 70 61 6e 3e 2c 3c 2f 73 class="tok-number">10</span>,</s
768c0 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 20 20 20 20 pan>.<span.class="line">........
768e0 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 73 74 72 22 3e 27 61 27 3c 2f 73 70 61 6e 3e <span.class="tok-str">'a'</span>
76900 20 2e 2e 2e 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 73 74 72 22 3e 27 7a 27 3c 2f .....<span.class="tok-str">'z'</
76920 73 70 61 6e 3e 20 3d 26 67 74 3b 20 63 20 2d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b span>.=&gt;.c.-.<span.class="tok
76940 2d 73 74 72 22 3e 27 61 27 3c 2f 73 70 61 6e 3e 20 2b 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 -str">'a'</span>.+.<span.class="
76960 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 31 30 3c 2f 73 70 61 6e 3e 2c 3c 2f 73 70 61 6e 3e 0a 3c 73 tok-number">10</span>,</span>.<s
76980 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 20 20 20 20 3c 73 70 61 6e 20 63 pan.class="line">........<span.c
769a0 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 65 6c 73 65 3c 2f 73 70 61 6e 3e 20 3d 26 67 74 3b 20 lass="tok-kw">else</span>.=&gt;.
769c0 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 75 38 maxInt(<span.class="tok-type">u8
769e0 3c 2f 73 70 61 6e 3e 29 2c 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 </span>),</span>.<span.class="li
76a00 6e 65 22 3e 20 20 20 20 7d 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c ne">....};</span>.<span.class="l
76a20 69 6e 65 22 3e 7d 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 ine">}</span>.<span.class="line"
76a40 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 ></span>.<span.class="line"><spa
76a60 6e 20 63 6c 61 73 73 3d 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
76a80 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 73 74 72 22 3e 26 71 75 6f 74 3b 70 61 72 73 65 20 75 an.class="tok-str">&quot;parse.u
76aa0 36 34 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 20 7b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 64&quot;</span>.{</span>.<span.c
76ac0 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b lass="line">....<span.class="tok
76ae0 2d 6b 77 22 3e 63 6f 6e 73 74 3c 2f 73 70 61 6e 3e 20 72 65 73 75 6c 74 20 3d 20 3c 73 70 61 6e -kw">const</span>.result.=.<span
76b00 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 74 72 79 3c 2f 73 70 61 6e 3e 20 70 61 72 73 65 .class="tok-kw">try</span>.parse
76b20 55 36 34 28 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 73 74 72 22 3e 26 71 75 6f 74 3b U64(<span.class="tok-str">&quot;
76b40 31 32 33 34 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 2c 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 1234&quot;</span>,.<span.class="
76b60 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 31 30 3c 2f 73 70 61 6e 3e 29 3b 3c 2f 73 70 61 6e 3e 0a 3c tok-number">10</span>);</span>.<
76b80 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 span.class="line">....<span.clas
76ba0 73 3d 22 74 6f 6b 2d 6b 77 22 3e 74 72 79 3c 2f 73 70 61 6e 3e 20 73 74 64 2e 74 65 73 74 69 6e s="tok-kw">try</span>.std.testin
76bc0 67 2e 65 78 70 65 63 74 28 72 65 73 75 6c 74 20 3d 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 g.expect(result.==.<span.class="
76be0 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 31 32 33 34 3c 2f 73 70 61 6e 3e 29 3b 3c 2f 73 70 61 6e 3e tok-number">1234</span>);</span>
76c00 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 7d 3c 2f 73 70 61 6e 3e 3c 2f 63 6f .<span.class="line">}</span></co
76c20 64 65 3e 3c 2f 70 72 65 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
76c40 70 74 69 6f 6e 20 63 6c 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
76c60 69 67 63 61 70 74 69 6f 6e 3e 3c 70 72 65 3e 3c 73 61 6d 70 3e 3c 73 70 61 6e 20 63 6c 61 73 73 igcaption><pre><samp><span.class
76c80 3d 22 6c 69 6e 65 22 3e 24 20 3c 6b 62 64 3e 7a 69 67 20 74 65 73 74 20 65 72 72 6f 72 5f 75 6e ="line">$.<kbd>zig.test.error_un
76ca0 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 3c 2f 73 70 61 6e 3e ion_parsing_u64.zig</kbd></span>
76cc0 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 31 2f 31 20 74 65 73 74 2e 70 61 72 .<span.class="line">1/1.test.par
76ce0 73 65 20 75 36 34 2e 2e 2e 20 4f 4b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d se.u64....OK</span>.<span.class=
76d00 22 6c 69 6e 65 22 3e 41 6c 6c 20 31 20 74 65 73 74 73 20 70 61 73 73 65 64 2e 3c 2f 73 70 61 6e "line">All.1.tests.passed.</span
76d20 3e 0a 3c 2f 73 61 6d 70 3e 3c 2f 70 72 65 3e 3c 2f 66 69 67 75 72 65 3e 0a 20 20 20 20 20 20 3c >.</samp></pre></figure>.......<
76d40 70 3e 0a 20 20 20 20 20 20 4e 6f 74 69 63 65 20 74 68 65 20 72 65 74 75 72 6e 20 74 79 70 65 20 p>.......Notice.the.return.type.
76d60 69 73 20 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 21 3c 73 70 is.<code><span.class="line">!<sp
76d80 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 3c 2f an.class="tok-type">u64</span></
76da0 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 2e 20 54 68 69 73 20 6d 65 61 6e 73 20 74 68 61 74 20 74 68 span></code>..This.means.that.th
76dc0 65 20 66 75 6e 63 74 69 6f 6e 0a 20 20 20 20 20 20 65 69 74 68 65 72 20 72 65 74 75 72 6e 73 20 e.function.......either.returns.
76de0 61 6e 20 75 6e 73 69 67 6e 65 64 20 36 34 20 62 69 74 20 69 6e 74 65 67 65 72 2c 20 6f 72 20 61 an.unsigned.64.bit.integer,.or.a
76e00 6e 20 65 72 72 6f 72 2e 20 57 65 20 6c 65 66 74 20 6f 66 66 20 74 68 65 20 65 72 72 6f 72 20 73 n.error..We.left.off.the.error.s
76e20 65 74 0a 20 20 20 20 20 20 74 6f 20 74 68 65 20 6c 65 66 74 20 6f 66 20 74 68 65 20 3c 63 6f 64 et.......to.the.left.of.the.<cod
76e40 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 21 3c 2f 73 70 61 6e 3e 3c 2f 63 e><span.class="line">!</span></c
76e60 6f 64 65 3e 2c 20 73 6f 20 74 68 65 20 65 72 72 6f 72 20 73 65 74 20 69 73 20 69 6e 66 65 72 72 ode>,.so.the.error.set.is.inferr
76e80 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 57 ed........</p>.......<p>.......W
76ea0 69 74 68 69 6e 20 74 68 65 20 66 75 6e 63 74 69 6f 6e 20 64 65 66 69 6e 69 74 69 6f 6e 2c 20 79 ithin.the.function.definition,.y
76ec0 6f 75 20 63 61 6e 20 73 65 65 20 73 6f 6d 65 20 72 65 74 75 72 6e 20 73 74 61 74 65 6d 65 6e 74 ou.can.see.some.return.statement
76ee0 73 20 74 68 61 74 20 72 65 74 75 72 6e 0a 20 20 20 20 20 20 61 6e 20 65 72 72 6f 72 2c 20 61 6e s.that.return.......an.error,.an
76f00 64 20 61 74 20 74 68 65 20 62 6f 74 74 6f 6d 20 61 20 72 65 74 75 72 6e 20 73 74 61 74 65 6d 65 d.at.the.bottom.a.return.stateme
76f20 6e 74 20 74 68 61 74 20 72 65 74 75 72 6e 73 20 61 20 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c nt.that.returns.a.<code><span.cl
76f40 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 ass="line"><span.class="tok-type
76f60 22 3e 75 36 34 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 2e 0a 20 20 20 20 ">u64</span></span></code>......
76f80 20 20 20 20 20 20 42 6f 74 68 20 74 79 70 65 73 20 3c 61 20 68 72 65 66 3d 22 23 54 79 70 65 2d ......Both.types.<a.href="#Type-
76fa0 43 6f 65 72 63 69 6f 6e 22 3e 63 6f 65 72 63 65 3c 2f 61 3e 20 74 6f 20 3c 63 6f 64 65 3e 3c 73 Coercion">coerce</a>.to.<code><s
76fc0 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f pan.class="line"><span.class="to
76fe0 6b 2d 74 79 70 65 22 3e 61 6e 79 65 72 72 6f 72 3c 2f 73 70 61 6e 3e 21 3c 73 70 61 6e 20 63 6c k-type">anyerror</span>!<span.cl
77000 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 75 36 34 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e ass="tok-type">u64</span></span>
77020 3c 2f 63 6f 64 65 3e 2e 0a 20 20 20 20 20 20 3c 2f 70 3e 0a 20 20 20 20 20 20 3c 70 3e 0a 20 20 </code>........</p>.......<p>...
77040 20 20 20 20 57 68 61 74 20 69 74 20 6c 6f 6f 6b 73 20 6c 69 6b 65 20 74 6f 20 75 73 65 20 74 68 ....What.it.looks.like.to.use.th
77060 69 73 20 66 75 6e 63 74 69 6f 6e 20 76 61 72 69 65 73 20 64 65 70 65 6e 64 69 6e 67 20 6f 6e 20 is.function.varies.depending.on.
77080 77 68 61 74 20 79 6f 75 27 72 65 0a 20 20 20 20 20 20 74 72 79 69 6e 67 20 74 6f 20 64 6f 2e 20 what.you're.......trying.to.do..
770a0 4f 6e 65 20 6f 66 20 74 68 65 20 66 6f 6c 6c 6f 77 69 6e 67 3a 0a 20 20 20 20 20 20 3c 2f 70 3e One.of.the.following:.......</p>
770c0 0a 20 20 20 20 20 20 3c 75 6c 3e 0a 20 20 20 20 20 20 20 20 3c 6c 69 3e 59 6f 75 20 77 61 6e 74 .......<ul>.........<li>You.want
770e0 20 74 6f 20 70 72 6f 76 69 64 65 20 61 20 64 65 66 61 75 6c 74 20 76 61 6c 75 65 20 69 66 20 69 .to.provide.a.default.value.if.i
77100 74 20 72 65 74 75 72 6e 65 64 20 61 6e 20 65 72 72 6f 72 2e 3c 2f 6c 69 3e 0a 20 20 20 20 20 20 t.returned.an.error.</li>.......
77120 20 20 3c 6c 69 3e 49 66 20 69 74 20 72 65 74 75 72 6e 65 64 20 61 6e 20 65 72 72 6f 72 20 74 68 ..<li>If.it.returned.an.error.th
77140 65 6e 20 79 6f 75 20 77 61 6e 74 20 74 6f 20 72 65 74 75 72 6e 20 74 68 65 20 73 61 6d 65 20 65 en.you.want.to.return.the.same.e
77160 72 72 6f 72 2e 3c 2f 6c 69 3e 0a 20 20 20 20 20 20 20 20 3c 6c 69 3e 59 6f 75 20 6b 6e 6f 77 20 rror.</li>.........<li>You.know.
77180 77 69 74 68 20 63 6f 6d 70 6c 65 74 65 20 63 65 72 74 61 69 6e 74 79 20 69 74 20 77 69 6c 6c 20 with.complete.certainty.it.will.
771a0 6e 6f 74 20 72 65 74 75 72 6e 20 61 6e 20 65 72 72 6f 72 2c 20 73 6f 20 77 61 6e 74 20 74 6f 20 not.return.an.error,.so.want.to.
771c0 75 6e 63 6f 6e 64 69 74 69 6f 6e 61 6c 6c 79 20 75 6e 77 72 61 70 20 69 74 2e 3c 2f 6c 69 3e 0a unconditionally.unwrap.it.</li>.
771e0 20 20 20 20 20 20 20 20 3c 6c 69 3e 59 6f 75 20 77 61 6e 74 20 74 6f 20 74 61 6b 65 20 61 20 64 ........<li>You.want.to.take.a.d
77200 69 66 66 65 72 65 6e 74 20 61 63 74 69 6f 6e 20 66 6f 72 20 65 61 63 68 20 70 6f 73 73 69 62 6c ifferent.action.for.each.possibl
77220 65 20 65 72 72 6f 72 2e 3c 2f 6c 69 3e 0a 20 20 20 20 20 20 3c 2f 75 6c 3e 0a 20 20 20 20 20 20 e.error.</li>.......</ul>.......
77240 3c 68 34 20 69 64 3d 22 63 61 74 63 68 22 3e 3c 61 20 68 72 65 66 3d 22 23 74 6f 63 2d 63 61 74 <h4.id="catch"><a.href="#toc-cat
77260 63 68 22 3e 63 61 74 63 68 3c 2f 61 3e 20 3c 61 20 63 6c 61 73 73 3d 22 68 64 72 22 20 68 72 65 ch">catch</a>.<a.class="hdr".hre
77280 66 3d 22 23 63 61 74 63 68 22 3e c2 a7 3c 2f 61 3e 3c 2f 68 34 3e 0a 0a 20 20 20 20 20 20 3c 70 f="#catch">..</a></h4>........<p
772a0 3e 49 66 20 79 6f 75 20 77 61 6e 74 20 74 6f 20 70 72 6f 76 69 64 65 20 61 20 64 65 66 61 75 6c >If.you.want.to.provide.a.defaul
772c0 74 20 76 61 6c 75 65 2c 20 79 6f 75 20 63 61 6e 20 75 73 65 20 74 68 65 20 3c 63 6f 64 65 3e 3c t.value,.you.can.use.the.<code><
772e0 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 span.class="line"><span.class="t
77300 6f 6b 2d 6b 77 22 3e 63 61 74 63 68 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 ok-kw">catch</span></span></code
77320 3e 20 62 69 6e 61 72 79 20 6f 70 65 72 61 74 6f 72 3a 3c 2f 70 3e 0a 20 20 20 20 20 20 3c 66 69 >.binary.operator:</p>.......<fi
77340 67 75 72 65 3e 3c 66 69 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"
77360 3e 3c 63 69 74 65 20 63 6c 61 73 73 3d 22 66 69 6c 65 22 3e 74 65 73 74 2e 7a 69 67 3c 2f 63 69 ><cite.class="file">test.zig</ci
77380 74 65 3e 3c 2f 66 69 67 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
773a0 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b .class="line"><span.class="tok-k
773c0 77 22 3e 63 6f 6e 73 74 3c 2f 73 70 61 6e 3e 20 70 61 72 73 65 55 36 34 20 3d 20 3c 73 70 61 6e w">const</span>.parseU64.=.<span
773e0 20 63 6c 61 73 73 3d 22 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
77400 61 6e 3e 28 3c 73 70 61 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;
77420 65 72 72 6f 72 5f 75 6e 69 6f 6e 5f 70 61 72 73 69 6e 67 5f 75 36 34 2e 7a 69 67 26 71 75 6f 74 error_union_parsing_u64.zig&quot
77440 3b 3c 2f 73 70 61 6e 3e 29 2e 70 61 72 73 65 55 36 34 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e ;</span>).parseU64;</span>.<span
77460 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 .class="line"></span>.<span.clas
77480 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 66 6e s="line"><span.class="tok-kw">fn
774a0 3c 2f 73 70 61 6e 3e 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 66 6e 22 3e 64 6f 41 </span>.<span.class="tok-fn">doA
774c0 54 68 69 6e 67 3c 2f 73 70 61 6e 3e 28 73 74 72 3a 20 5b 5d 3c 73 70 61 6e 20 63 6c 61 73 73 3d Thing</span>(str:.[]<span.class=
774e0 22 74 6f 6b 2d 74 79 70 65 22 3e 75 38 3c 2f 73 70 61 6e 3e 29 20 3c 73 70 61 6e 20 63 6c 61 73 "tok-type">u8</span>).<span.clas
77500 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 76 6f 69 64 3c 2f 73 70 61 6e 3e 20 7b 3c 2f 73 70 61 6e s="tok-type">void</span>.{</span
77520 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 3c 73 70 61 6e 20 63 >.<span.class="line">....<span.c
77540 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 63 6f 6e 73 74 3c 2f 73 70 61 6e 3e 20 6e 75 6d 62 65 lass="tok-kw">const</span>.numbe
77560 72 20 3d 20 70 61 72 73 65 55 36 34 28 73 74 72 2c 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 r.=.parseU64(str,.<span.class="t
77580 6f 6b 2d 6e 75 6d 62 65 72 22 3e 31 30 3c 2f 73 70 61 6e 3e 29 20 3c 73 70 61 6e 20 63 6c 61 73 ok-number">10</span>).<span.clas
775a0 73 3d 22 74 6f 6b 2d 6b 77 22 3e 63 61 74 63 68 3c 2f 73 70 61 6e 3e 20 3c 73 70 61 6e 20 63 6c s="tok-kw">catch</span>.<span.cl
775c0 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 31 33 3c 2f 73 70 61 6e 3e 3b 3c 2f 73 70 61 ass="tok-number">13</span>;</spa
775e0 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 5f 20 3d 20 6e 75 n>.<span.class="line">...._.=.nu
77600 6d 62 65 72 3b 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 63 6f 6d 6d 65 6e 74 22 3e mber;.<span.class="tok-comment">
77620 2f 2f 20 2e 2e 2e 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 //....</span></span>.<span.class
77640 3d 22 6c 69 6e 65 22 3e 7d 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 3c 2f 70 72 65 3e 3c 2f 66 ="line">}</span></code></pre></f
77660 69 67 75 72 65 3e 0a 20 20 20 20 20 20 3c 70 3e 0a 20 20 20 20 20 20 49 6e 20 74 68 69 73 20 63 igure>.......<p>.......In.this.c
77680 6f 64 65 2c 20 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 6e 75 ode,.<code><span.class="line">nu
776a0 6d 62 65 72 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 20 77 69 6c 6c 20 62 65 20 65 71 75 61 6c mber</span></code>.will.be.equal
776c0 20 74 6f 20 74 68 65 20 73 75 63 63 65 73 73 66 75 6c 6c 79 20 70 61 72 73 65 64 20 73 74 72 69 .to.the.successfully.parsed.stri
776e0 6e 67 2c 20 6f 72 0a 20 20 20 20 20 20 20 20 20 20 61 20 64 65 66 61 75 6c 74 20 76 61 6c 75 65 ng,.or...........a.default.value
77700 20 6f 66 20 31 33 2e 20 54 68 65 20 74 79 70 65 20 6f 66 20 74 68 65 20 72 69 67 68 74 20 68 61 .of.13..The.type.of.the.right.ha
77720 6e 64 20 73 69 64 65 20 6f 66 20 74 68 65 20 62 69 6e 61 72 79 20 3c 63 6f 64 65 3e 3c 73 70 61 nd.side.of.the.binary.<code><spa
77740 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d n.class="line"><span.class="tok-
77760 6b 77 22 3e 63 61 74 63 68 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 20 6f kw">catch</span></span></code>.o
77780 70 65 72 61 74 6f 72 20 6d 75 73 74 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 6d 61 74 63 68 perator.must...............match
777a0 20 74 68 65 20 75 6e 77 72 61 70 70 65 64 20 65 72 72 6f 72 20 75 6e 69 6f 6e 20 74 79 70 65 2c .the.unwrapped.error.union.type,
777c0 20 6f 72 20 62 65 20 6f 66 20 74 79 70 65 20 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 .or.be.of.type.<code><span.class
777e0 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 6e ="line"><span.class="tok-type">n
77800 6f 72 65 74 75 72 6e 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 2e 0a 20 20 oreturn</span></span></code>....
77820 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 74 72 ....</p>..............<h4.id="tr
77840 79 22 3e 3c 61 20 68 72 65 66 3d 22 23 74 6f 63 2d 74 72 79 22 3e 74 72 79 3c 2f 61 3e 20 3c 61 y"><a.href="#toc-try">try</a>.<a
77860 20 63 6c 61 73 73 3d 22 68 64 72 22 20 68 72 65 66 3d 22 23 74 72 79 22 3e c2 a7 3c 2f 61 3e 3c .class="hdr".href="#try">..</a><
77880 2f 68 34 3e 0a 0a 20 20 20 20 20 20 3c 70 3e 4c 65 74 27 73 20 73 61 79 20 79 6f 75 20 77 61 6e /h4>........<p>Let's.say.you.wan
778a0 74 65 64 20 74 6f 20 72 65 74 75 72 6e 20 74 68 65 20 65 72 72 6f 72 20 69 66 20 79 6f 75 20 67 ted.to.return.the.error.if.you.g
778c0 6f 74 20 6f 6e 65 2c 20 6f 74 68 65 72 77 69 73 65 20 63 6f 6e 74 69 6e 75 65 20 77 69 74 68 20 ot.one,.otherwise.continue.with.
778e0 74 68 65 0a 20 20 20 20 20 20 66 75 6e 63 74 69 6f 6e 20 6c 6f 67 69 63 3a 3c 2f 70 3e 0a 20 20 the.......function.logic:</p>...
77900 20 20 20 20 3c 66 69 67 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
77920 69 67 2d 63 61 70 22 3e 3c 63 69 74 65 20 63 6c 61 73 73 3d 22 66 69 6c 65 22 3e 74 65 73 74 2e ig-cap"><cite.class="file">test.
77940 7a 69 67 3c 2f 63 69 74 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
77960 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 e><span.class="line"><span.class
77980 3d 22 74 6f 6b 2d 6b 77 22 3e 63 6f 6e 73 74 3c 2f 73 70 61 6e 3e 20 70 61 72 73 65 55 36 34 20 ="tok-kw">const</span>.parseU64.
779a0 3d 20 3c 73 70 61 6e 20 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
779c0 6f 72 74 3c 2f 73 70 61 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"
779e0 3e 26 71 75 6f 74 3b 65 72 72 6f 72 5f 75 6e 69 6f 6e 5f 70 61 72 73 69 6e 67 5f 75 36 34 2e 7a >&quot;error_union_parsing_u64.z
77a00 69 67 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 29 2e 70 61 72 73 65 55 36 34 3b 3c 2f 73 70 61 6e ig&quot;</span>).parseU64;</span
77a20 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 >.<span.class="line"></span>.<sp
77a40 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b an.class="line"><span.class="tok
77a60 2d 6b 77 22 3e 66 6e 3c 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-
77a80 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
77aa0 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 75 38 3c 2f 73 70 61 6e 3e 29 20 21 3c 73 .class="tok-type">u8</span>).!<s
77ac0 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>
77ae0 20 7b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 .{</span>.<span.class="line">...
77b00 20 3c 73 70 61 6e 20 63 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
77b20 6e 3e 20 6e 75 6d 62 65 72 20 3d 20 70 61 72 73 65 55 36 34 28 73 74 72 2c 20 3c 73 70 61 6e 20 n>.number.=.parseU64(str,.<span.
77b40 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 31 30 3c 2f 73 70 61 6e 3e 29 20 3c 73 class="tok-number">10</span>).<s
77b60 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>.
77b80 7c 65 72 72 7c 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 72 65 74 75 72 |err|.<span.class="tok-kw">retur
77ba0 6e 3c 2f 73 70 61 6e 3e 20 65 72 72 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 n</span>.err;</span>.<span.class
77bc0 3d 22 6c 69 6e 65 22 3e 20 20 20 20 5f 20 3d 20 6e 75 6d 62 65 72 3b 20 3c 73 70 61 6e 20 63 6c ="line">...._.=.number;.<span.cl
77be0 61 73 73 3d 22 74 6f 6b 2d 63 6f 6d 6d 65 6e 74 22 3e 2f 2f 20 2e 2e 2e 3c 2f 73 70 61 6e 3e 3c ass="tok-comment">//....</span><
77c00 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 7d 3c 2f 73 70 61 /span>.<span.class="line">}</spa
77c20 6e 3e 3c 2f 63 6f 64 65 3e 3c 2f 70 72 65 3e 3c 2f 66 69 67 75 72 65 3e 0a 20 20 20 20 20 20 3c n></code></pre></figure>.......<
77c40 70 3e 0a 20 20 20 20 20 20 54 68 65 72 65 20 69 73 20 61 20 73 68 6f 72 74 63 75 74 20 66 6f 72 p>.......There.is.a.shortcut.for
77c60 20 74 68 69 73 2e 20 54 68 65 20 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 .this..The.<code><span.class="li
77c80 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 74 72 79 3c 2f 73 70 ne"><span.class="tok-kw">try</sp
77ca0 61 6e 3e 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 20 65 78 70 72 65 73 73 69 6f 6e 3a 0a 20 20 an></span></code>.expression:...
77cc0 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
77ce0 6f 6e 20 63 6c 61 73 73 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="
77d00 66 69 6c 65 22 3e 74 65 73 74 2e 7a 69 67 3c 2f 63 69 74 65 3e 3c 2f 66 69 67 63 61 70 74 69 6f file">test.zig</cite></figcaptio
77d20 6e 3e 3c 70 72 65 3e 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e n><pre><code><span.class="line">
77d40 3c 73 70 61 6e 20 63 6c 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
77d60 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 75 >.parseU64.=.<span.class="tok-bu
77d80 69 6c 74 69 6e 22 3e 40 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
77da0 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 61 s="tok-str">&quot;error_union_pa
77dc0 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 73 rsing_u64.zig&quot;</span>).pars
77de0 65 55 36 34 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e eU64;</span>.<span.class="line">
77e00 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e </span>.<span.class="line"><span
77e20 20 63 6c 61 73 73 3d 22 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.
77e40 63 6c 61 73 73 3d 22 74 6f 6b 2d 66 6e 22 3e 64 6f 41 54 68 69 6e 67 3c 2f 73 70 61 6e 3e 28 73 class="tok-fn">doAThing</span>(s
77e60 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<
77e80 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">
77ea0 76 6f 69 64 3c 2f 73 70 61 6e 3e 20 7b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 void</span>.{</span>.<span.class
77ec0 3d 22 6c 69 6e 65 22 3e 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 ="line">....<span.class="tok-kw"
77ee0 3e 63 6f 6e 73 74 3c 2f 73 70 61 6e 3e 20 6e 75 6d 62 65 72 20 3d 20 3c 73 70 61 6e 20 63 6c 61 >const</span>.number.=.<span.cla
77f00 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 74 72 79 3c 2f 73 70 61 6e 3e 20 70 61 72 73 65 55 36 34 28 ss="tok-kw">try</span>.parseU64(
77f20 73 74 72 2c 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 31 30 str,.<span.class="tok-number">10
77f40 3c 2f 73 70 61 6e 3e 29 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 </span>);</span>.<span.class="li
77f60 6e 65 22 3e 20 20 20 20 5f 20 3d 20 6e 75 6d 62 65 72 3b 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d ne">...._.=.number;.<span.class=
77f80 22 74 6f 6b 2d 63 6f 6d 6d 65 6e 74 22 3e 2f 2f 20 2e 2e 2e 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 "tok-comment">//....</span></spa
77fa0 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 7d 3c 2f 73 70 61 6e 3e 3c 2f n>.<span.class="line">}</span></
77fc0 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 20 code></pre></figure>.......<p>..
77fe0 20 20 20 20 20 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 .....<code><span.class="line"><s
78000 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 74 72 79 3c 2f 73 70 61 6e 3e 3c 2f 73 pan.class="tok-kw">try</span></s
78020 70 61 6e 3e 3c 2f 63 6f 64 65 3e 20 65 76 61 6c 75 61 74 65 73 20 61 6e 20 65 72 72 6f 72 20 75 pan></code>.evaluates.an.error.u
78040 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 20 65 72 72 nion.expression..If.it.is.an.err
78060 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 65 20 63 75 or,.it.returns.......from.the.cu
78080 72 72 65 6e 74 20 66 75 6e 63 74 69 6f 6e 20 77 69 74 68 20 74 68 65 20 73 61 6d 65 20 65 72 72 rrent.function.with.the.same.err
780a0 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 6e 20 72 65 or..Otherwise,.the.expression.re
780c0 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 20 76 61 6c sults.in.......the.unwrapped.val
780e0 75 65 2e 0a 20 20 20 20 20 20 3c 2f 70 3e 0a 20 20 20 20 20 20 0a 20 20 20 20 20 20 3c 70 3e 0a ue........</p>..............<p>.
78100 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 63 6f 6d 70 ........Maybe.you.know.with.comp
78120 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 73 73 69 6f lete.certainty.that.an.expressio
78140 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 20 20 20 20 n.will.never.be.an.error........
78160 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 69 73 3a 0a ..In.this.case.you.can.do.this:.
78180 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 20 63 6c 61 ......</p>.......<code><span.cla
781a0 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 63 ss="line"><span.class="tok-kw">c
781c0 6f 6e 73 74 3c 2f 73 70 61 6e 3e 20 6e 75 6d 62 65 72 20 3d 20 70 61 72 73 65 55 36 34 28 3c 73 onst</span>.number.=.parseU64(<s
781e0 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 73 74 72 22 3e 26 71 75 6f 74 3b 31 32 33 34 26 71 pan.class="tok-str">&quot;1234&q
78200 75 6f 74 3b 3c 2f 73 70 61 6e 3e 2c 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 uot;</span>,.<span.class="tok-nu
78220 6d 62 65 72 22 3e 31 30 3c 2f 73 70 61 6e 3e 29 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f mber">10</span>).<span.class="to
78240 6b 2d 6b 77 22 3e 63 61 74 63 68 3c 2f 73 70 61 6e 3e 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 k-kw">catch</span>.<span.class="
78260 74 6f 6b 2d 6b 77 22 3e 75 6e 72 65 61 63 68 61 62 6c 65 3c 2f 73 70 61 6e 3e 3b 3c 2f 73 70 61 tok-kw">unreachable</span>;</spa
78280 6e 3e 3c 2f 63 6f 64 65 3e 0a 20 20 20 20 20 20 3c 70 3e 0a 20 20 20 20 20 20 48 65 72 65 20 77 n></code>.......<p>.......Here.w
782a0 65 20 6b 6e 6f 77 20 66 6f 72 20 73 75 72 65 20 74 68 61 74 20 22 31 32 33 34 22 20 77 69 6c 6c e.know.for.sure.that."1234".will
782c0 20 70 61 72 73 65 20 73 75 63 63 65 73 73 66 75 6c 6c 79 2e 20 53 6f 20 77 65 20 70 75 74 20 74 .parse.successfully..So.we.put.t
782e0 68 65 0a 20 20 20 20 20 20 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 he.......<code><span.class="line
78300 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 75 6e 72 65 61 63 68 61 62 "><span.class="tok-kw">unreachab
78320 6c 65 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 20 76 61 6c 75 65 20 6f 6e le</span></span></code>.value.on
78340 20 74 68 65 20 72 69 67 68 74 20 68 61 6e 64 20 73 69 64 65 2e 20 3c 63 6f 64 65 3e 3c 73 70 61 .the.right.hand.side..<code><spa
78360 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d n.class="line"><span.class="tok-
78380 6b 77 22 3e 75 6e 72 65 61 63 68 61 62 6c 65 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 3c 2f 63 kw">unreachable</span></span></c
783a0 6f 64 65 3e 20 67 65 6e 65 72 61 74 65 73 0a 20 20 20 20 20 20 61 20 70 61 6e 69 63 20 69 6e 20 ode>.generates.......a.panic.in.
783c0 44 65 62 75 67 20 61 6e 64 20 52 65 6c 65 61 73 65 53 61 66 65 20 6d 6f 64 65 73 20 61 6e 64 20 Debug.and.ReleaseSafe.modes.and.
783e0 75 6e 64 65 66 69 6e 65 64 20 62 65 68 61 76 69 6f 72 20 69 6e 20 52 65 6c 65 61 73 65 46 61 73 undefined.behavior.in.ReleaseFas
78400 74 20 6d 6f 64 65 2e 20 53 6f 2c 20 77 68 69 6c 65 20 77 65 27 72 65 20 64 65 62 75 67 67 69 6e t.mode..So,.while.we're.debuggin
78420 67 20 74 68 65 0a 20 20 20 20 20 20 61 70 70 6c 69 63 61 74 69 6f 6e 2c 20 69 66 20 74 68 65 72 g.the.......application,.if.ther
78440 65 20 3c 65 6d 3e 77 61 73 3c 2f 65 6d 3e 20 61 20 73 75 72 70 72 69 73 65 20 65 72 72 6f 72 20 e.<em>was</em>.a.surprise.error.
78460 68 65 72 65 2c 20 74 68 65 20 61 70 70 6c 69 63 61 74 69 6f 6e 20 77 6f 75 6c 64 20 63 72 61 73 here,.the.application.would.cras
78480 68 0a 20 20 20 20 20 20 61 70 70 72 6f 70 72 69 61 74 65 6c 79 2e 0a 20 20 20 20 20 20 3c 2f 70 h.......appropriately........</p
784a0 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 6f 75 20 6d >.......<p>.......Finally,.you.m
784c0 61 79 20 77 61 6e 74 20 74 6f 20 74 61 6b 65 20 61 20 64 69 66 66 65 72 65 6e 74 20 61 63 74 69 ay.want.to.take.a.different.acti
784e0 6f 6e 20 66 6f 72 20 65 76 65 72 79 20 73 69 74 75 61 74 69 6f 6e 2e 20 46 6f 72 20 74 68 61 74 on.for.every.situation..For.that
78500 2c 20 77 65 20 63 6f 6d 62 69 6e 65 0a 20 20 20 20 20 20 74 68 65 20 3c 61 20 68 72 65 66 3d 22 ,.we.combine.......the.<a.href="
78520 23 69 66 22 3e 69 66 3c 2f 61 3e 20 61 6e 64 20 3c 61 20 68 72 65 66 3d 22 23 73 77 69 74 63 68 #if">if</a>.and.<a.href="#switch
78540 22 3e 73 77 69 74 63 68 3c 2f 61 3e 20 65 78 70 72 65 73 73 69 6f 6e 3a 0a 20 20 20 20 20 20 3c ">switch</a>.expression:.......<
78560 2f 70 3e 0a 20 20 20 20 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
78580 61 73 73 3d 22 7a 69 67 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"
785a0 3e 68 61 6e 64 6c 65 5f 61 6c 6c 5f 65 72 72 6f 72 5f 73 63 65 6e 61 72 69 6f 73 2e 7a 69 67 3c >handle_all_error_scenarios.zig<
785c0 2f 63 69 74 65 3e 3c 2f 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
785e0 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f pan.class="line"><span.class="to
78600 6b 2d 6b 77 22 3e 66 6e 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
78620 2d 66 6e 22 3e 64 6f 41 54 68 69 6e 67 3c 2f 73 70 61 6e 3e 28 73 74 72 3a 20 5b 5d 3c 73 70 61 -fn">doAThing</span>(str:.[]<spa
78640 6e 20 63 6c 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
78660 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>
78680 20 7b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 .{</span>.<span.class="line">...
786a0 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>.
786c0 28 70 61 72 73 65 55 36 34 28 73 74 72 2c 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d (parseU64(str,.<span.class="tok-
786e0 6e 75 6d 62 65 72 22 3e 31 30 3c 2f 73 70 61 6e 3e 29 29 20 7c 6e 75 6d 62 65 72 7c 20 7b 3c 2f number">10</span>)).|number|.{</
78700 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 20 20 20 span>.<span.class="line">.......
78720 20 64 6f 53 6f 6d 65 74 68 69 6e 67 57 69 74 68 4e 75 6d 62 65 72 28 6e 75 6d 62 65 72 29 3b 3c .doSomethingWithNumber(number);<
78740 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 7d 20 /span>.<span.class="line">....}.
78760 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>
78780 20 7c 65 72 72 7c 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 73 77 69 74 .|err|.<span.class="tok-kw">swit
787a0 63 68 3c 2f 73 70 61 6e 3e 20 28 65 72 72 29 20 7b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 ch</span>.(err).{</span>.<span.c
787c0 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d lass="line">........<span.class=
787e0 22 74 6f 6b 2d 6b 77 22 3e 65 72 72 6f 72 3c 2f 73 70 61 6e 3e 2e 4f 76 65 72 66 6c 6f 77 20 3d "tok-kw">error</span>.Overflow.=
78800 26 67 74 3b 20 7b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 &gt;.{</span>.<span.class="line"
78820 3e 20 20 20 20 20 20 20 20 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 63 6f >............<span.class="tok-co
78840 6d 6d 65 6e 74 22 3e 2f 2f 20 68 61 6e 64 6c 65 20 6f 76 65 72 66 6c 6f 77 2e 2e 2e 3c 2f 73 70 mment">//.handle.overflow...</sp
78860 61 6e 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 an></span>.<span.class="line">..
78880 20 20 20 20 20 20 7d 2c 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e ......},</span>.<span.class="lin
788a0 65 22 3e 20 20 20 20 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 63 6f 6d 6d e">........<span.class="tok-comm
788c0 65 6e 74 22 3e 2f 2f 20 77 65 20 70 72 6f 6d 69 73 65 20 74 68 61 74 20 49 6e 76 61 6c 69 64 43 ent">//.we.promise.that.InvalidC
788e0 68 61 72 20 77 6f 6e 27 74 20 68 61 70 70 65 6e 20 28 6f 72 20 63 72 61 73 68 20 69 6e 20 64 65 har.won't.happen.(or.crash.in.de
78900 62 75 67 20 6d 6f 64 65 20 69 66 20 69 74 20 64 6f 65 73 29 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 bug.mode.if.it.does)</span></spa
78920 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 20 20 20 20 3c 73 n>.<span.class="line">........<s
78940 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>.
78960 49 6e 76 61 6c 69 64 43 68 61 72 20 3d 26 67 74 3b 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 InvalidChar.=&gt;.<span.class="t
78980 6f 6b 2d 6b 77 22 3e 75 6e 72 65 61 63 68 61 62 6c 65 3c 2f 73 70 61 6e 3e 2c 3c 2f 73 70 61 6e ok-kw">unreachable</span>,</span
789a0 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 7d 3c 2f 73 70 61 6e >.<span.class="line">....}</span
789c0 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 7d 3c 2f 73 70 61 6e 3e 3c 2f 63 >.<span.class="line">}</span></c
789e0 6f 64 65 3e 3c 2f 70 72 65 3e 3c 2f 66 69 67 75 72 65 3e 0a 20 20 20 20 20 20 3c 68 34 20 69 64 ode></pre></figure>.......<h4.id
78a00 3d 22 65 72 72 64 65 66 65 72 22 3e 3c 61 20 68 72 65 66 3d 22 23 74 6f 63 2d 65 72 72 64 65 66 ="errdefer"><a.href="#toc-errdef
78a20 65 72 22 3e 65 72 72 64 65 66 65 72 3c 2f 61 3e 20 3c 61 20 63 6c 61 73 73 3d 22 68 64 72 22 20 er">errdefer</a>.<a.class="hdr".
78a40 68 72 65 66 3d 22 23 65 72 72 64 65 66 65 72 22 3e c2 a7 3c 2f 61 3e 3c 2f 68 34 3e 0a 0a 20 20 href="#errdefer">..</a></h4>....
78a60 20 20 20 20 3c 70 3e 0a 20 20 20 20 20 20 54 68 65 20 6f 74 68 65 72 20 63 6f 6d 70 6f 6e 65 6e ....<p>.......The.other.componen
78a80 74 20 74 6f 20 65 72 72 6f 72 20 68 61 6e 64 6c 69 6e 67 20 69 73 20 64 65 66 65 72 20 73 74 61 t.to.error.handling.is.defer.sta
78aa0 74 65 6d 65 6e 74 73 2e 0a 20 20 20 20 20 20 49 6e 20 61 64 64 69 74 69 6f 6e 20 74 6f 20 61 6e tements........In.addition.to.an
78ac0 20 75 6e 63 6f 6e 64 69 74 69 6f 6e 61 6c 20 3c 61 20 68 72 65 66 3d 22 23 64 65 66 65 72 22 3e .unconditional.<a.href="#defer">
78ae0 64 65 66 65 72 3c 2f 61 3e 2c 20 5a 69 67 20 68 61 73 20 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 defer</a>,.Zig.has.<code><span.c
78b00 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 lass="line"><span.class="tok-kw"
78b20 3e 65 72 72 64 65 66 65 72 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 2c 0a >errdefer</span></span></code>,.
78b40 20 20 20 20 20 20 77 68 69 63 68 20 65 76 61 6c 75 61 74 65 73 20 74 68 65 20 64 65 66 65 72 72 ......which.evaluates.the.deferr
78b60 65 64 20 65 78 70 72 65 73 73 69 6f 6e 20 6f 6e 20 62 6c 6f 63 6b 20 65 78 69 74 20 70 61 74 68 ed.expression.on.block.exit.path
78b80 20 69 66 20 61 6e 64 20 6f 6e 6c 79 20 69 66 0a 20 20 20 20 20 20 74 68 65 20 66 75 6e 63 74 69 .if.and.only.if.......the.functi
78ba0 6f 6e 20 72 65 74 75 72 6e 65 64 20 77 69 74 68 20 61 6e 20 65 72 72 6f 72 20 66 72 6f 6d 20 74 on.returned.with.an.error.from.t
78bc0 68 65 20 62 6c 6f 63 6b 2e 0a 20 20 20 20 20 20 3c 2f 70 3e 0a 20 20 20 20 20 20 3c 70 3e 0a 20 he.block........</p>.......<p>..
78be0 20 20 20 20 20 45 78 61 6d 70 6c 65 3a 0a 20 20 20 20 20 20 3c 2f 70 3e 0a 20 20 20 20 20 20 3c .....Example:.......</p>.......<
78c00 66 69 67 75 72 65 3e 3c 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
78c20 70 22 3e 3c 63 69 74 65 20 63 6c 61 73 73 3d 22 66 69 6c 65 22 3e 65 72 72 64 65 66 65 72 5f 65 p"><cite.class="file">errdefer_e
78c40 78 61 6d 70 6c 65 2e 7a 69 67 3c 2f 63 69 74 65 3e 3c 2f 66 69 67 63 61 70 74 69 6f 6e 3e 3c 70 xample.zig</cite></figcaption><p
78c60 72 65 3e 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 re><code><span.class="line"><spa
78c80 6e 20 63 6c 61 73 73 3d 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
78ca0 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 66 6e 22 3e 63 72 65 61 74 65 46 6f 6f 3c 2f 73 70 61 6e 3e .class="tok-fn">createFoo</span>
78cc0 28 70 61 72 61 6d 3a 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 69 (param:.<span.class="tok-type">i
78ce0 33 32 3c 2f 73 70 61 6e 3e 29 20 21 46 6f 6f 20 7b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 32</span>).!Foo.{</span>.<span.c
78d00 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b lass="line">....<span.class="tok
78d20 2d 6b 77 22 3e 63 6f 6e 73 74 3c 2f 73 70 61 6e 3e 20 66 6f 6f 20 3d 20 3c 73 70 61 6e 20 63 6c -kw">const</span>.foo.=.<span.cl
78d40 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 74 72 79 3c 2f 73 70 61 6e 3e 20 74 72 79 54 6f 41 6c 6c ass="tok-kw">try</span>.tryToAll
78d60 6f 63 61 74 65 46 6f 6f 28 29 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 ocateFoo();</span>.<span.class="
78d80 6c 69 6e 65 22 3e 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 63 6f 6d 6d 65 line">....<span.class="tok-comme
78da0 6e 74 22 3e 2f 2f 20 6e 6f 77 20 77 65 20 68 61 76 65 20 61 6c 6c 6f 63 61 74 65 64 20 66 6f 6f nt">//.now.we.have.allocated.foo
78dc0 2e 20 77 65 20 6e 65 65 64 20 74 6f 20 66 72 65 65 20 69 74 20 69 66 20 74 68 65 20 66 75 6e 63 ..we.need.to.free.it.if.the.func
78de0 74 69 6f 6e 20 66 61 69 6c 73 2e 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 tion.fails.</span></span>.<span.
78e00 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f class="line">....<span.class="to
78e20 6b 2d 63 6f 6d 6d 65 6e 74 22 3e 2f 2f 20 62 75 74 20 77 65 20 77 61 6e 74 20 74 6f 20 72 65 74 k-comment">//.but.we.want.to.ret
78e40 75 72 6e 20 69 74 20 69 66 20 74 68 65 20 66 75 6e 63 74 69 6f 6e 20 73 75 63 63 65 65 64 73 2e urn.it.if.the.function.succeeds.
78e60 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 </span></span>.<span.class="line
78e80 22 3e 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 65 72 72 64 65 ">....<span.class="tok-kw">errde
78ea0 66 65 72 3c 2f 73 70 61 6e 3e 20 64 65 61 6c 6c 6f 63 61 74 65 46 6f 6f 28 66 6f 6f 29 3b 3c 2f fer</span>.deallocateFoo(foo);</
78ec0 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 2f 73 70 61 6e 3e span>.<span.class="line"></span>
78ee0 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 3c 73 70 61 6e 20 63 6c .<span.class="line">....<span.cl
78f00 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 63 6f 6e 73 74 3c 2f 73 70 61 6e 3e 20 74 6d 70 5f 62 75 ass="tok-kw">const</span>.tmp_bu
78f20 66 20 3d 20 61 6c 6c 6f 63 61 74 65 54 6d 70 42 75 66 66 65 72 28 29 20 3c 73 70 61 6e 20 63 6c f.=.allocateTmpBuffer().<span.cl
78f40 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 6f 72 65 6c 73 65 3c 2f 73 70 61 6e 3e 20 3c 73 70 61 6e ass="tok-kw">orelse</span>.<span
78f60 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
78f80 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>.
78fa0 4f 75 74 4f 66 4d 65 6d 6f 72 79 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d OutOfMemory;</span>.<span.class=
78fc0 22 6c 69 6e 65 22 3e 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 63 6f 6d 6d "line">....<span.class="tok-comm
78fe0 65 6e 74 22 3e 2f 2f 20 74 6d 70 5f 62 75 66 20 69 73 20 74 72 75 6c 79 20 61 20 74 65 6d 70 6f ent">//.tmp_buf.is.truly.a.tempo
79000 72 61 72 79 20 72 65 73 6f 75 72 63 65 2c 20 61 6e 64 20 77 65 20 66 6f 72 20 73 75 72 65 20 77 rary.resource,.and.we.for.sure.w
79020 61 6e 74 20 74 6f 20 63 6c 65 61 6e 20 69 74 20 75 70 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e ant.to.clean.it.up</span></span>
79040 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 3c 73 70 61 6e 20 63 6c .<span.class="line">....<span.cl
79060 61 73 73 3d 22 74 6f 6b 2d 63 6f 6d 6d 65 6e 74 22 3e 2f 2f 20 62 65 66 6f 72 65 20 74 68 69 73 ass="tok-comment">//.before.this
79080 20 62 6c 6f 63 6b 20 6c 65 61 76 65 73 20 73 63 6f 70 65 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e .block.leaves.scope</span></span
790a0 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 3c 73 70 61 6e 20 63 >.<span.class="line">....<span.c
790c0 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 64 65 66 65 72 3c 2f 73 70 61 6e 3e 20 64 65 61 6c 6c lass="tok-kw">defer</span>.deall
790e0 6f 63 61 74 65 54 6d 70 42 75 66 66 65 72 28 74 6d 70 5f 62 75 66 29 3b 3c 2f 73 70 61 6e 3e 0a ocateTmpBuffer(tmp_buf);</span>.
79100 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e <span.class="line"></span>.<span
79120 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 .class="line">....<span.class="t
79140 6f 6b 2d 6b 77 22 3e 69 66 3c 2f 73 70 61 6e 3e 20 28 70 61 72 61 6d 20 26 67 74 3b 20 3c 73 70 ok-kw">if</span>.(param.&gt;.<sp
79160 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 31 33 33 37 3c 2f 73 70 61 6e an.class="tok-number">1337</span
79180 3e 29 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 72 65 74 75 72 6e 3c 2f >).<span.class="tok-kw">return</
791a0 73 70 61 6e 3e 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 65 72 72 6f 72 span>.<span.class="tok-kw">error
791c0 3c 2f 73 70 61 6e 3e 2e 49 6e 76 61 6c 69 64 50 61 72 61 6d 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 </span>.InvalidParam;</span>.<sp
791e0 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c an.class="line"></span>.<span.cl
79200 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d ass="line">....<span.class="tok-
79220 63 6f 6d 6d 65 6e 74 22 3e 2f 2f 20 68 65 72 65 20 74 68 65 20 65 72 72 64 65 66 65 72 20 77 69 comment">//.here.the.errdefer.wi
79240 6c 6c 20 6e 6f 74 20 72 75 6e 20 73 69 6e 63 65 20 77 65 27 72 65 20 72 65 74 75 72 6e 69 6e 67 ll.not.run.since.we're.returning
79260 20 73 75 63 63 65 73 73 20 66 72 6f 6d 20 74 68 65 20 66 75 6e 63 74 69 6f 6e 2e 3c 2f 73 70 61 .success.from.the.function.</spa
79280 6e 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 n></span>.<span.class="line">...
792a0 20 3c 73 70 61 6e 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 .<span.class="tok-comment">//.bu
792c0 74 20 74 68 65 20 64 65 66 65 72 20 77 69 6c 6c 20 72 75 6e 21 3c 2f 73 70 61 6e 3e 3c 2f 73 70 t.the.defer.will.run!</span></sp
792e0 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 3c 73 70 61 6e an>.<span.class="line">....<span
79300 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
79320 6f 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 7d 3c 2f o;</span>.<span.class="line">}</
79340 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 3c 2f 70 72 65 3e 3c 2f 66 69 67 75 72 65 3e 0a 20 20 20 20 span></code></pre></figure>.....
79360 20 20 3c 70 3e 0a 20 20 20 20 20 20 54 68 65 20 6e 65 61 74 20 74 68 69 6e 67 20 61 62 6f 75 74 ..<p>.......The.neat.thing.about
79380 20 74 68 69 73 20 69 73 20 74 68 61 74 20 79 6f 75 20 67 65 74 20 72 6f 62 75 73 74 20 65 72 72 .this.is.that.you.get.robust.err
793a0 6f 72 20 68 61 6e 64 6c 69 6e 67 20 77 69 74 68 6f 75 74 0a 20 20 20 20 20 20 74 68 65 20 76 65 or.handling.without.......the.ve
793c0 72 62 6f 73 69 74 79 20 61 6e 64 20 63 6f 67 6e 69 74 69 76 65 20 6f 76 65 72 68 65 61 64 20 6f rbosity.and.cognitive.overhead.o
793e0 66 20 74 72 79 69 6e 67 20 74 6f 20 6d 61 6b 65 20 73 75 72 65 20 65 76 65 72 79 20 65 78 69 74 f.trying.to.make.sure.every.exit
79400 20 70 61 74 68 0a 20 20 20 20 20 20 69 73 20 63 6f 76 65 72 65 64 2e 20 54 68 65 20 64 65 61 6c .path.......is.covered..The.deal
79420 6c 6f 63 61 74 69 6f 6e 20 63 6f 64 65 20 69 73 20 61 6c 77 61 79 73 20 64 69 72 65 63 74 6c 79 location.code.is.always.directly
79440 20 66 6f 6c 6c 6f 77 69 6e 67 20 74 68 65 20 61 6c 6c 6f 63 61 74 69 6f 6e 20 63 6f 64 65 2e 0a .following.the.allocation.code..
79460 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="
79480 43 6f 6d 6d 6f 6e 2d 65 72 72 64 65 66 65 72 2d 53 6c 69 70 2d 55 70 73 22 3e 3c 61 20 68 72 65 Common-errdefer-Slip-Ups"><a.hre
794a0 66 3d 22 23 74 6f 63 2d 43 6f 6d 6d 6f 6e 2d 65 72 72 64 65 66 65 72 2d 53 6c 69 70 2d 55 70 73 f="#toc-Common-errdefer-Slip-Ups
794c0 22 3e 43 6f 6d 6d 6f 6e 20 65 72 72 64 65 66 65 72 20 53 6c 69 70 2d 55 70 73 3c 2f 61 3e 20 3c ">Common.errdefer.Slip-Ups</a>.<
794e0 61 20 63 6c 61 73 73 3d 22 68 64 72 22 20 68 72 65 66 3d 22 23 43 6f 6d 6d 6f 6e 2d 65 72 72 64 a.class="hdr".href="#Common-errd
79500 65 66 65 72 2d 53 6c 69 70 2d 55 70 73 22 3e c2 a7 3c 2f 61 3e 3c 2f 68 34 3e 0a 0a 20 20 20 20 efer-Slip-Ups">..</a></h4>......
79520 20 20 3c 70 3e 0a 20 20 20 20 20 20 49 74 20 73 68 6f 75 6c 64 20 62 65 20 6e 6f 74 65 64 20 74 ..<p>.......It.should.be.noted.t
79540 68 61 74 20 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 hat.<code><span.class="line"><sp
79560 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 65 72 72 64 65 66 65 72 3c 2f 73 70 61 6e an.class="tok-kw">errdefer</span
79580 3e 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 20 73 74 61 74 65 6d 65 6e 74 73 20 6f 6e 6c 79 20 ></span></code>.statements.only.
795a0 6c 61 73 74 20 75 6e 74 69 6c 20 74 68 65 20 65 6e 64 20 6f 66 20 74 68 65 20 62 6c 6f 63 6b 0a last.until.the.end.of.the.block.
795c0 20 20 20 20 20 20 74 68 65 79 20 61 72 65 20 77 72 69 74 74 65 6e 20 69 6e 2c 20 61 6e 64 20 74 ......they.are.written.in,.and.t
795e0 68 65 72 65 66 6f 72 65 20 61 72 65 20 6e 6f 74 20 72 75 6e 20 69 66 20 61 6e 20 65 72 72 6f 72 herefore.are.not.run.if.an.error
79600 20 69 73 20 72 65 74 75 72 6e 65 64 20 6f 75 74 73 69 64 65 20 6f 66 20 74 68 61 74 20 62 6c 6f .is.returned.outside.of.that.blo
79620 63 6b 3a 0a 20 20 20 20 20 20 3c 2f 70 3e 0a 20 20 20 20 20 20 3c 66 69 67 75 72 65 3e 3c 66 69 ck:.......</p>.......<figure><fi
79640 67 63 61 70 74 69 6f 6e 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
79660 6c 61 73 73 3d 22 66 69 6c 65 22 3e 74 65 73 74 2e 7a 69 67 3c 2f 63 69 74 65 3e 3c 2f 66 69 67 lass="file">test.zig</cite></fig
79680 63 61 70 74 69 6f 6e 3e 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="
796a0 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 63 6f 6e 73 74 line"><span.class="tok-kw">const
796c0 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
796e0 75 69 6c 74 69 6e 22 3e 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
79700 73 73 3d 22 74 6f 6b 2d 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
79720 61 6e 3e 29 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e an>);</span>.<span.class="line">
79740 3c 73 70 61 6e 20 63 6c 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
79760 3e 20 41 6c 6c 6f 63 61 74 6f 72 20 3d 20 73 74 64 2e 6d 65 6d 2e 41 6c 6c 6f 63 61 74 6f 72 3b >.Allocator.=.std.mem.Allocator;
79780 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 2f 73 70 61 </span>.<span.class="line"></spa
797a0 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 n>.<span.class="line"><span.clas
797c0 73 3d 22 74 6f 6b 2d 6b 77 22 3e 63 6f 6e 73 74 3c 2f 73 70 61 6e 3e 20 46 6f 6f 20 3d 20 3c 73 s="tok-kw">const</span>.Foo.=.<s
797e0 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>
79800 20 7b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 .{</span>.<span.class="line">...
79820 20 64 61 74 61 3a 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 75 33 .data:.<span.class="tok-type">u3
79840 32 3c 2f 73 70 61 6e 3e 2c 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 2</span>,</span>.<span.class="li
79860 6e 65 22 3e 7d 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 ne">};</span>.<span.class="line"
79880 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 ></span>.<span.class="line"><spa
798a0 6e 20 63 6c 61 73 73 3d 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
798c0 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 66 6e 22 3e 74 72 79 54 6f 41 6c 6c 6f 63 61 74 65 46 6f 6f .class="tok-fn">tryToAllocateFoo
798e0 3c 2f 73 70 61 6e 3e 28 61 6c 6c 6f 63 61 74 6f 72 3a 20 41 6c 6c 6f 63 61 74 6f 72 29 20 21 2a </span>(allocator:.Allocator).!*
79900 46 6f 6f 20 7b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e Foo.{</span>.<span.class="line">
79920 20 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<
79940 2f 73 70 61 6e 3e 20 61 6c 6c 6f 63 61 74 6f 72 2e 63 72 65 61 74 65 28 46 6f 6f 29 3b 3c 2f 73 /span>.allocator.create(Foo);</s
79960 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 7d 3c 2f 73 70 61 6e 3e pan>.<span.class="line">}</span>
79980 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 .<span.class="line"></span>.<spa
799a0 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d n.class="line"><span.class="tok-
799c0 6b 77 22 3e 66 6e 3c 2f 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
799e0 6e 22 3e 64 65 61 6c 6c 6f 63 61 74 65 46 6f 6f 3c 2f 73 70 61 6e 3e 28 61 6c 6c 6f 63 61 74 6f n">deallocateFoo</span>(allocato
79a00 72 3a 20 41 6c 6c 6f 63 61 74 6f 72 2c 20 66 6f 6f 3a 20 2a 46 6f 6f 29 20 3c 73 70 61 6e 20 63 r:.Allocator,.foo:.*Foo).<span.c
79a20 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 76 6f 69 64 3c 2f 73 70 61 6e 3e 20 7b 3c 2f 73 lass="tok-type">void</span>.{</s
79a40 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 61 6c 6c 6f pan>.<span.class="line">....allo
79a60 63 61 74 6f 72 2e 64 65 73 74 72 6f 79 28 66 6f 6f 29 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e cator.destroy(foo);</span>.<span
79a80 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 7d 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 .class="line">}</span>.<span.cla
79aa0 73 73 3d 22 6c 69 6e 65 22 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c ss="line"></span>.<span.class="l
79ac0 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 66 6e 3c 2f 73 70 ine"><span.class="tok-kw">fn</sp
79ae0 61 6e 3e 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 66 6e 22 3e 67 65 74 46 6f 6f 44 an>.<span.class="tok-fn">getFooD
79b00 61 74 61 3c 2f 73 70 61 6e 3e 28 29 20 21 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 ata</span>().!<span.class="tok-t
79b20 79 70 65 22 3e 75 33 32 3c 2f 73 70 61 6e 3e 20 7b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 ype">u32</span>.{</span>.<span.c
79b40 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b lass="line">....<span.class="tok
79b60 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="
79b80 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 36 36 36 3c 2f 73 70 61 6e 3e 3b 3c 2f 73 70 61 6e 3e 0a 3c tok-number">666</span>;</span>.<
79ba0 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 7d 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e span.class="line">}</span>.<span
79bc0 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 .class="line"></span>.<span.clas
79be0 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 66 6e s="line"><span.class="tok-kw">fn
79c00 3c 2f 73 70 61 6e 3e 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 66 6e 22 3e 63 72 65 </span>.<span.class="tok-fn">cre
79c20 61 74 65 46 6f 6f 3c 2f 73 70 61 6e 3e 28 61 6c 6c 6f 63 61 74 6f 72 3a 20 41 6c 6c 6f 63 61 74 ateFoo</span>(allocator:.Allocat
79c40 6f 72 2c 20 70 61 72 61 6d 3a 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 or,.param:.<span.class="tok-type
79c60 22 3e 69 33 32 3c 2f 73 70 61 6e 3e 29 20 21 2a 46 6f 6f 20 7b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 ">i32</span>).!*Foo.{</span>.<sp
79c80 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d an.class="line">....<span.class=
79ca0 22 74 6f 6b 2d 6b 77 22 3e 63 6f 6e 73 74 3c 2f 73 70 61 6e 3e 20 66 6f 6f 20 3d 20 67 65 74 46 "tok-kw">const</span>.foo.=.getF
79cc0 6f 6f 3a 20 7b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e oo:.{</span>.<span.class="line">
79ce0 20 20 20 20 20 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
79d00 3c 2f 73 70 61 6e 3e 20 66 6f 6f 20 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b </span>.foo.=.<span.class="tok-k
79d20 77 22 3e 74 72 79 3c 2f 73 70 61 6e 3e 20 74 72 79 54 6f 41 6c 6c 6f 63 61 74 65 46 6f 6f 28 61 w">try</span>.tryToAllocateFoo(a
79d40 6c 6c 6f 63 61 74 6f 72 29 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c llocator);</span>.<span.class="l
79d60 69 6e 65 22 3e 20 20 20 20 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 ine">........<span.class="tok-kw
79d80 22 3e 65 72 72 64 65 66 65 72 3c 2f 73 70 61 6e 3e 20 64 65 61 6c 6c 6f 63 61 74 65 46 6f 6f 28 ">errdefer</span>.deallocateFoo(
79da0 61 6c 6c 6f 63 61 74 6f 72 2c 20 66 6f 6f 29 3b 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f allocator,.foo);.<span.class="to
79dc0 6b 2d 63 6f 6d 6d 65 6e 74 22 3e 2f 2f 20 4f 6e 6c 79 20 6c 61 73 74 73 20 75 6e 74 69 6c 20 74 k-comment">//.Only.lasts.until.t
79de0 68 65 20 65 6e 64 20 6f 66 20 67 65 74 46 6f 6f 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 0a 3c he.end.of.getFoo</span></span>.<
79e00 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 span.class="line"></span>.<span.
79e20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 class="line">........<span.class
79e40 3d 22 74 6f 6b 2d 63 6f 6d 6d 65 6e 74 22 3e 2f 2f 20 43 61 6c 6c 73 20 64 65 61 6c 6c 6f 63 61 ="tok-comment">//.Calls.dealloca
79e60 74 65 46 6f 6f 20 6f 6e 20 65 72 72 6f 72 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 teFoo.on.error</span></span>.<sp
79e80 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 20 20 20 20 66 6f 6f 2e 64 61 74 61 an.class="line">........foo.data
79ea0 20 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 74 72 79 3c 2f 73 70 61 .=.<span.class="tok-kw">try</spa
79ec0 6e 3e 20 67 65 74 46 6f 6f 44 61 74 61 28 29 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c n>.getFooData();</span>.<span.cl
79ee0 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 ass="line"></span>.<span.class="
79f00 6c 69 6e 65 22 3e 20 20 20 20 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b line">........<span.class="tok-k
79f20 77 22 3e 62 72 65 61 6b 3c 2f 73 70 61 6e 3e 20 3a 67 65 74 46 6f 6f 20 66 6f 6f 3b 3c 2f 73 70 w">break</span>.:getFoo.foo;</sp
79f40 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 7d 3b 3c 2f 73 an>.<span.class="line">....};</s
79f60 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 2f 73 70 61 6e 3e 0a pan>.<span.class="line"></span>.
79f80 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 <span.class="line">....<span.cla
79fa0 73 73 3d 22 74 6f 6b 2d 63 6f 6d 6d 65 6e 74 22 3e 2f 2f 20 4f 75 74 73 69 64 65 20 6f 66 20 74 ss="tok-comment">//.Outside.of.t
79fc0 68 65 20 73 63 6f 70 65 20 6f 66 20 74 68 65 20 65 72 72 64 65 66 65 72 2c 20 73 6f 3c 2f 73 70 he.scope.of.the.errdefer,.so</sp
79fe0 61 6e 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 an></span>.<span.class="line">..
7a000 20 20 3c 73 70 61 6e 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
7a020 65 61 6c 6c 6f 63 61 74 65 46 6f 6f 20 77 69 6c 6c 20 6e 6f 74 20 62 65 20 63 61 6c 6c 65 64 20 eallocateFoo.will.not.be.called.
7a040 68 65 72 65 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 here</span></span>.<span.class="
7a060 6c 69 6e 65 22 3e 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 69 line">....<span.class="tok-kw">i
7a080 66 3c 2f 73 70 61 6e 3e 20 28 70 61 72 61 6d 20 26 67 74 3b 20 3c 73 70 61 6e 20 63 6c 61 73 73 f</span>.(param.&gt;.<span.class
7a0a0 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 31 33 33 37 3c 2f 73 70 61 6e 3e 29 20 3c 73 70 61 6e ="tok-number">1337</span>).<span
7a0c0 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
7a0e0 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>.
7a100 49 6e 76 61 6c 69 64 50 61 72 61 6d 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 InvalidParam;</span>.<span.class
7a120 3d 22 6c 69 6e 65 22 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e ="line"></span>.<span.class="lin
7a140 65 22 3e 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 72 65 74 75 e">....<span.class="tok-kw">retu
7a160 72 6e 3c 2f 73 70 61 6e 3e 20 66 6f 6f 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 rn</span>.foo;</span>.<span.clas
7a180 73 3d 22 6c 69 6e 65 22 3e 7d 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c s="line">}</span>.<span.class="l
7a1a0 69 6e 65 22 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e ine"></span>.<span.class="line">
7a1c0 3c 73 70 61 6e 20 63 6c 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>
7a1e0 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 73 74 72 22 3e 26 71 75 6f 74 3b 63 72 65 .<span.class="tok-str">&quot;cre
7a200 61 74 65 46 6f 6f 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 20 7b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 ateFoo&quot;</span>.{</span>.<sp
7a220 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d an.class="line">....<span.class=
7a240 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 2e "tok-kw">try</span>.std.testing.
7a260 65 78 70 65 63 74 45 72 72 6f 72 28 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 expectError(<span.class="tok-kw"
7a280 3e 65 72 72 6f 72 3c 2f 73 70 61 6e 3e 2e 49 6e 76 61 6c 69 64 50 61 72 61 6d 2c 20 63 72 65 61 >error</span>.InvalidParam,.crea
7a2a0 74 65 46 6f 6f 28 73 74 64 2e 74 65 73 74 69 6e 67 2e 61 6c 6c 6f 63 61 74 6f 72 2c 20 3c 73 70 teFoo(std.testing.allocator,.<sp
7a2c0 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 32 34 36 38 3c 2f 73 70 61 6e an.class="tok-number">2468</span
7a2e0 3e 29 29 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 7d >));</span>.<span.class="line">}
7a300 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 3c 2f 70 72 65 3e 3c 2f 66 69 67 75 72 65 3e 3c 66 69 </span></code></pre></figure><fi
7a320 67 75 72 65 3e 3c 66 69 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
7a340 70 22 3e 53 68 65 6c 6c 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>
7a360 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 24 20 3c 6b 62 64 3e 7a 69 67 20 74 65 <span.class="line">$.<kbd>zig.te
7a380 73 74 20 74 65 73 74 2e 7a 69 67 3c 2f 6b 62 64 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 st.test.zig</kbd></span>.<span.c
7a3a0 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 31 2f 31 20 74 65 73 74 2e 63 72 65 61 74 65 46 6f 6f 2e 2e lass="line">1/1.test.createFoo..
7a3c0 2e 20 4f 4b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 5b ..OK</span>.<span.class="line">[
7a3e0 67 70 61 5d 20 28 65 72 72 29 3a 20 6d 65 6d 6f 72 79 20 61 64 64 72 65 73 73 20 30 78 37 66 30 gpa].(err):.memory.address.0x7f0
7a400 63 33 30 63 31 61 30 30 30 20 6c 65 61 6b 65 64 3a 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 c30c1a000.leaked:</span>.<span.c
7a420 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 31 5f 30 22 3e 64 lass="line"><span.class="t1_0">d
7a440 6f 63 67 65 6e 5f 74 6d 70 2f 74 65 73 74 2e 7a 69 67 3a 39 3a 32 38 3c 2f 73 70 61 6e 3e 3a 20 ocgen_tmp/test.zig:9:28</span>:.
7a460 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 32 5f 30 22 3e 30 78 32 31 33 37 34 66 20 69 6e 20 74 <span.class="t2_0">0x21374f.in.t
7a480 72 79 54 6f 41 6c 6c 6f 63 61 74 65 46 6f 6f 20 28 74 65 73 74 29 3c 2f 73 70 61 6e 3e 3c 2f 73 ryToAllocateFoo.(test)</span></s
7a4a0 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 72 65 74 75 pan>.<span.class="line">....retu
7a4c0 72 6e 20 61 6c 6c 6f 63 61 74 6f 72 2e 63 72 65 61 74 65 28 46 6f 6f 29 3b 3c 2f 73 70 61 6e 3e rn.allocator.create(Foo);</span>
7a4e0 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 20 20 20 20 20 20 20 20 .<span.class="line">............
7a500 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 33 32 5f ...............<span.class="t32_
7a520 31 22 3e 5e 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 1">^</span></span>.<span.class="
7a540 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 31 5f 30 22 3e 64 6f 63 67 65 6e 5f line"><span.class="t1_0">docgen_
7a560 74 6d 70 2f 74 65 73 74 2e 7a 69 67 3a 32 32 3a 33 39 3c 2f 73 70 61 6e 3e 3a 20 3c 73 70 61 6e tmp/test.zig:22:39</span>:.<span
7a580 20 63 6c 61 73 73 3d 22 74 32 5f 30 22 3e 30 78 32 31 33 39 61 35 20 69 6e 20 63 72 65 61 74 65 .class="t2_0">0x2139a5.in.create
7a5a0 46 6f 6f 20 28 74 65 73 74 29 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 Foo.(test)</span></span>.<span.c
7a5c0 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 20 20 20 20 76 61 72 20 66 6f 6f 20 3d 20 74 72 lass="line">........var.foo.=.tr
7a5e0 79 20 74 72 79 54 6f 41 6c 6c 6f 63 61 74 65 46 6f 6f 28 61 6c 6c 6f 63 61 74 6f 72 29 3b 3c 2f y.tryToAllocateFoo(allocator);</
7a600 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 20 20 20 span>.<span.class="line">.......
7a620 20 20 20 20 20 20 20 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 ...............................<
7a640 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 33 32 5f 31 22 3e 5e 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 span.class="t32_1">^</span></spa
7a660 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 n>.<span.class="line"><span.clas
7a680 73 3d 22 74 31 5f 30 22 3e 64 6f 63 67 65 6e 5f 74 6d 70 2f 74 65 73 74 2e 7a 69 67 3a 33 39 3a s="t1_0">docgen_tmp/test.zig:39:
7a6a0 37 34 3c 2f 73 70 61 6e 3e 3a 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 32 5f 30 22 3e 30 78 74</span>:.<span.class="t2_0">0x
7a6c0 32 31 33 64 32 64 20 69 6e 20 74 65 73 74 2e 63 72 65 61 74 65 46 6f 6f 20 28 74 65 73 74 29 3c 213d2d.in.test.createFoo.(test)<
7a6e0 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 /span></span>.<span.class="line"
7a700 3e 20 20 20 20 74 72 79 20 73 74 64 2e 74 65 73 74 69 6e 67 2e 65 78 70 65 63 74 45 72 72 6f 72 >....try.std.testing.expectError
7a720 28 65 72 72 6f 72 2e 49 6e 76 61 6c 69 64 50 61 72 61 6d 2c 20 63 72 65 61 74 65 46 6f 6f 28 73 (error.InvalidParam,.createFoo(s
7a740 74 64 2e 74 65 73 74 69 6e 67 2e 61 6c 6c 6f 63 61 74 6f 72 2c 20 32 34 36 38 29 29 3b 3c 2f 73 td.testing.allocator,.2468));</s
7a760 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 20 20 20 20 pan>.<span.class="line">........
7a780 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ................................
7a7a0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ................................
7a7c0 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 33 32 5f 31 22 3e 5e 3c 2f 73 70 61 6e 3e 3c 2f 73 .<span.class="t32_1">^</span></s
7a7e0 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c pan>.<span.class="line"><span.cl
7a800 61 73 73 3d 22 74 31 5f 30 22 3e 2f 68 6f 6d 65 2f 63 69 2f 72 65 6c 65 61 73 65 2d 30 2e 31 30 ass="t1_0">/home/ci/release-0.10
7a820 2e 31 2f 6f 75 74 2f 7a 69 67 2d 78 38 36 5f 36 34 2d 6c 69 6e 75 78 2d 6d 75 73 6c 2d 62 61 73 .1/out/zig-x86_64-linux-musl-bas
7a840 65 6c 69 6e 65 2f 6c 69 62 2f 7a 69 67 2f 74 65 73 74 5f 72 75 6e 6e 65 72 2e 7a 69 67 3a 36 33 eline/lib/zig/test_runner.zig:63
7a860 3a 32 38 3c 2f 73 70 61 6e 3e 3a 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 32 5f 30 22 3e 30 :28</span>:.<span.class="t2_0">0
7a880 78 32 31 62 33 34 33 20 69 6e 20 6d 61 69 6e 20 28 74 65 73 74 29 3c 2f 73 70 61 6e 3e 3c 2f 73 x21b343.in.main.(test)</span></s
7a8a0 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 20 20 20 20 pan>.<span.class="line">........
7a8c0 7d 20 65 6c 73 65 20 74 65 73 74 5f 66 6e 2e 66 75 6e 63 28 29 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 }.else.test_fn.func();</span>.<s
7a8e0 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 pan.class="line">...............
7a900 20 20 20 20 20 20 20 20 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 33 32 5f 31 22 3e ............<span.class="t32_1">
7a920 5e 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e ^</span></span>.<span.class="lin
7a940 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 31 5f 30 22 3e 2f 68 6f 6d 65 2f 63 69 2f 72 e"><span.class="t1_0">/home/ci/r
7a960 65 6c 65 61 73 65 2d 30 2e 31 30 2e 31 2f 6f 75 74 2f 7a 69 67 2d 78 38 36 5f 36 34 2d 6c 69 6e elease-0.10.1/out/zig-x86_64-lin
7a980 75 78 2d 6d 75 73 6c 2d 62 61 73 65 6c 69 6e 65 2f 6c 69 62 2f 7a 69 67 2f 73 74 64 2f 73 74 61 ux-musl-baseline/lib/zig/std/sta
7a9a0 72 74 2e 7a 69 67 3a 36 30 34 3a 32 32 3c 2f 73 70 61 6e 3e 3a 20 3c 73 70 61 6e 20 63 6c 61 73 rt.zig:604:22</span>:.<span.clas
7a9c0 73 3d 22 74 32 5f 30 22 3e 30 78 32 31 34 36 38 63 20 69 6e 20 70 6f 73 69 78 43 61 6c 6c 4d 61 s="t2_0">0x21468c.in.posixCallMa
7a9e0 69 6e 41 6e 64 45 78 69 74 20 28 74 65 73 74 29 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 0a 3c inAndExit.(test)</span></span>.<
7aa00 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 20 20 20 20 20 20 20 20 72 6f span.class="line">............ro
7aa20 6f 74 2e 6d 61 69 6e 28 29 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c ot.main();</span>.<span.class="l
7aa40 69 6e 65 22 3e 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 3c 73 70 61 6e 20 ine">.....................<span.
7aa60 63 6c 61 73 73 3d 22 74 33 32 5f 31 22 3e 5e 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 class="t32_1">^</span></span>.<s
7aa80 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 31 pan.class="line"><span.class="t1
7aaa0 5f 30 22 3e 2f 68 6f 6d 65 2f 63 69 2f 72 65 6c 65 61 73 65 2d 30 2e 31 30 2e 31 2f 6f 75 74 2f _0">/home/ci/release-0.10.1/out/
7aac0 7a 69 67 2d 78 38 36 5f 36 34 2d 6c 69 6e 75 78 2d 6d 75 73 6c 2d 62 61 73 65 6c 69 6e 65 2f 6c zig-x86_64-linux-musl-baseline/l
7aae0 69 62 2f 7a 69 67 2f 73 74 64 2f 73 74 61 72 74 2e 7a 69 67 3a 33 37 36 3a 35 3c 2f 73 70 61 6e ib/zig/std/start.zig:376:5</span
7ab00 3e 3a 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 32 5f 30 22 3e 30 78 32 31 34 31 39 31 20 69 >:.<span.class="t2_0">0x214191.i
7ab20 6e 20 5f 73 74 61 72 74 20 28 74 65 73 74 29 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 n._start.(test)</span></span>.<s
7ab40 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 40 63 61 6c 6c 28 2e 7b 20 2e 6d pan.class="line">....@call(.{..m
7ab60 6f 64 69 66 69 65 72 20 3d 20 2e 6e 65 76 65 72 5f 69 6e 6c 69 6e 65 20 7d 2c 20 70 6f 73 69 78 odifier.=..never_inline.},.posix
7ab80 43 61 6c 6c 4d 61 69 6e 41 6e 64 45 78 69 74 2c 20 2e 7b 7d 29 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 CallMainAndExit,..{});</span>.<s
7aba0 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 pan.class="line">....<span.class
7abc0 3d 22 74 33 32 5f 31 22 3e 5e 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 ="t32_1">^</span></span>.<span.c
7abe0 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d lass="line"></span>.<span.class=
7ac00 22 6c 69 6e 65 22 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 "line"></span>.<span.class="line
7ac20 22 3e 41 6c 6c 20 31 20 74 65 73 74 73 20 70 61 73 73 65 64 2e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 ">All.1.tests.passed.</span>.<sp
7ac40 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 31 20 65 72 72 6f 72 73 20 77 65 72 65 20 6c 6f an.class="line">1.errors.were.lo
7ac60 67 67 65 64 2e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e gged.</span>.<span.class="line">
7ac80 31 20 74 65 73 74 73 20 6c 65 61 6b 65 64 20 6d 65 6d 6f 72 79 2e 3c 2f 73 70 61 6e 3e 0a 3c 73 1.tests.leaked.memory.</span>.<s
7aca0 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 65 72 72 6f 72 3a 20 74 68 65 20 66 6f 6c 6c pan.class="line">error:.the.foll
7acc0 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 69 74 68 20 65 owing.test.command.failed.with.e
7ace0 78 69 74 20 63 6f 64 65 20 31 3a 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 xit.code.1:</span>.<span.class="
7ad00 6c 69 6e 65 22 3e 2f 68 6f 6d 65 2f 63 69 2f 72 65 6c 65 61 73 65 2d 30 2e 31 30 2e 31 2f 6f 75 line">/home/ci/release-0.10.1/ou
7ad20 74 2f 7a 69 67 2d 6c 6f 63 61 6c 2d 63 61 63 68 65 2f 6f 2f 38 38 36 64 62 64 65 32 63 32 61 32 t/zig-local-cache/o/886dbde2c2a2
7ad40 31 30 37 34 63 36 63 36 64 33 66 66 39 62 38 33 33 33 36 62 2f 74 65 73 74 3c 2f 73 70 61 6e 3e 1074c6c6d3ff9b83336b/test</span>
7ad60 0a 3c 2f 73 61 6d 70 3e 3c 2f 70 72 65 3e 3c 2f 66 69 67 75 72 65 3e 0a 20 20 20 20 20 20 3c 70 .</samp></pre></figure>.......<p
7ad80 3e 0a 20 20 20 20 20 20 54 6f 20 65 6e 73 75 72 65 20 74 68 61 74 20 3c 63 6f 64 65 3e 3c 73 70 >.......To.ensure.that.<code><sp
7ada0 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 64 65 61 6c 6c 6f 63 61 74 65 46 6f 6f 3c 2f 73 an.class="line">deallocateFoo</s
7adc0 70 61 6e 3e 3c 2f 63 6f 64 65 3e 20 69 73 20 70 72 6f 70 65 72 6c 79 20 63 61 6c 6c 65 64 0a 20 pan></code>.is.properly.called..
7ade0 20 20 20 20 20 77 68 65 6e 20 72 65 74 75 72 6e 69 6e 67 20 61 6e 20 65 72 72 6f 72 2c 20 79 6f .....when.returning.an.error,.yo
7ae00 75 20 6d 75 73 74 20 61 64 64 20 61 6e 20 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d u.must.add.an.<code><span.class=
7ae20 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 65 72 72 64 "line"><span.class="tok-kw">errd
7ae40 65 66 65 72 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 20 6f 75 74 73 69 64 efer</span></span></code>.outsid
7ae60 65 20 6f 66 20 74 68 65 20 62 6c 6f 63 6b 3a 0a 20 20 20 20 20 20 3c 66 69 67 75 72 65 3e 3c 66 e.of.the.block:.......<figure><f
7ae80 69 67 63 61 70 74 69 6f 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.
7aea0 63 6c 61 73 73 3d 22 66 69 6c 65 22 3e 74 65 73 74 5f 65 72 72 64 65 66 65 72 5f 62 6c 6f 63 6b class="file">test_errdefer_block
7aec0 2e 7a 69 67 3c 2f 63 69 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
7aee0 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 de><span.class="line"><span.clas
7af00 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
7af20 70 61 6e 20 63 6c 61 73 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<
7af40 2f 73 70 61 6e 3e 28 3c 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
7af60 6f 74 3b 73 74 64 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 29 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 ot;std&quot;</span>);</span>.<sp
7af80 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b an.class="line"><span.class="tok
7afa0 2d 6b 77 22 3e 63 6f 6e 73 74 3c 2f 73 70 61 6e 3e 20 41 6c 6c 6f 63 61 74 6f 72 20 3d 20 73 74 -kw">const</span>.Allocator.=.st
7afc0 64 2e 6d 65 6d 2e 41 6c 6c 6f 63 61 74 6f 72 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c d.mem.Allocator;</span>.<span.cl
7afe0 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 ass="line"></span>.<span.class="
7b000 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 63 6f 6e 73 74 line"><span.class="tok-kw">const
7b020 3c 2f 73 70 61 6e 3e 20 46 6f 6f 20 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b </span>.Foo.=.<span.class="tok-k
7b040 77 22 3e 73 74 72 75 63 74 3c 2f 73 70 61 6e 3e 20 7b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 w">struct</span>.{</span>.<span.
7b060 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 64 61 74 61 3a 20 3c 73 70 61 6e 20 63 6c 61 class="line">....data:.<span.cla
7b080 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 75 33 32 3c 2f 73 70 61 6e 3e 2c 3c 2f 73 70 61 6e 3e ss="tok-type">u32</span>,</span>
7b0a0 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 7d 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 .<span.class="line">};</span>.<s
7b0c0 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 pan.class="line"></span>.<span.c
7b0e0 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 lass="line"><span.class="tok-kw"
7b100 3e 66 6e 3c 2f 73 70 61 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">
7b120 74 72 79 54 6f 41 6c 6c 6f 63 61 74 65 46 6f 6f 3c 2f 73 70 61 6e 3e 28 61 6c 6c 6f 63 61 74 6f tryToAllocateFoo</span>(allocato
7b140 72 3a 20 41 6c 6c 6f 63 61 74 6f 72 29 20 21 2a 46 6f 6f 20 7b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 r:.Allocator).!*Foo.{</span>.<sp
7b160 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d an.class="line">....<span.class=
7b180 22 74 6f 6b 2d 6b 77 22 3e 72 65 74 75 72 6e 3c 2f 73 70 61 6e 3e 20 61 6c 6c 6f 63 61 74 6f 72 "tok-kw">return</span>.allocator
7b1a0 2e 63 72 65 61 74 65 28 46 6f 6f 29 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 .create(Foo);</span>.<span.class
7b1c0 3d 22 6c 69 6e 65 22 3e 7d 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 ="line">}</span>.<span.class="li
7b1e0 6e 65 22 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c ne"></span>.<span.class="line"><
7b200 73 70 61 6e 20 63 6c 61 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
7b220 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 66 6e 22 3e 64 65 61 6c 6c 6f 63 61 74 65 46 6f 6f pan.class="tok-fn">deallocateFoo
7b240 3c 2f 73 70 61 6e 3e 28 61 6c 6c 6f 63 61 74 6f 72 3a 20 41 6c 6c 6f 63 61 74 6f 72 2c 20 66 6f </span>(allocator:.Allocator,.fo
7b260 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 65 22 3e o:.*Foo).<span.class="tok-type">
7b280 76 6f 69 64 3c 2f 73 70 61 6e 3e 20 7b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 void</span>.{</span>.<span.class
7b2a0 3d 22 6c 69 6e 65 22 3e 20 20 20 20 61 6c 6c 6f 63 61 74 6f 72 2e 64 65 73 74 72 6f 79 28 66 6f ="line">....allocator.destroy(fo
7b2c0 6f 29 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 7d 3c o);</span>.<span.class="line">}<
7b2e0 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 2f 73 70 61 6e /span>.<span.class="line"></span
7b300 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 >.<span.class="line"><span.class
7b320 3d 22 74 6f 6b 2d 6b 77 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=
7b340 22 74 6f 6b 2d 66 6e 22 3e 67 65 74 46 6f 6f 44 61 74 61 3c 2f 73 70 61 6e 3e 28 29 20 21 3c 73 "tok-fn">getFooData</span>().!<s
7b360 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>.
7b380 7b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 {</span>.<span.class="line">....
7b3a0 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
7b3c0 6e 3e 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 36 36 36 3c n>.<span.class="tok-number">666<
7b3e0 2f 73 70 61 6e 3e 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 /span>;</span>.<span.class="line
7b400 22 3e 7d 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 2f ">}</span>.<span.class="line"></
7b420 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 span>.<span.class="line"><span.c
7b440 6c 61 73 73 3d 22 74 6f 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
7b460 61 73 73 3d 22 74 6f 6b 2d 66 6e 22 3e 63 72 65 61 74 65 46 6f 6f 3c 2f 73 70 61 6e 3e 28 61 6c ass="tok-fn">createFoo</span>(al
7b480 6c 6f 63 61 74 6f 72 3a 20 41 6c 6c 6f 63 61 74 6f 72 2c 20 70 61 72 61 6d 3a 20 3c 73 70 61 6e locator:.Allocator,.param:.<span
7b4a0 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 69 33 32 3c 2f 73 70 61 6e 3e 29 20 21 2a .class="tok-type">i32</span>).!*
7b4c0 46 6f 6f 20 7b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e Foo.{</span>.<span.class="line">
7b4e0 20 20 20 20 3c 73 70 61 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</
7b500 73 70 61 6e 3e 20 66 6f 6f 20 3d 20 67 65 74 46 6f 6f 3a 20 7b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 span>.foo.=.getFoo:.{</span>.<sp
7b520 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 20 20 20 20 3c 73 70 61 6e 20 63 6c an.class="line">........<span.cl
7b540 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 76 61 72 3c 2f 73 70 61 6e 3e 20 66 6f 6f 20 3d 20 3c 73 ass="tok-kw">var</span>.foo.=.<s
7b560 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 74 72 79 3c 2f 73 70 61 6e 3e 20 74 72 pan.class="tok-kw">try</span>.tr
7b580 79 54 6f 41 6c 6c 6f 63 61 74 65 46 6f 6f 28 61 6c 6c 6f 63 61 74 6f 72 29 3b 3c 2f 73 70 61 6e yToAllocateFoo(allocator);</span
7b5a0 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 20 20 20 20 3c 73 70 >.<span.class="line">........<sp
7b5c0 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 65 72 72 64 65 66 65 72 3c 2f 73 70 61 6e an.class="tok-kw">errdefer</span
7b5e0 3e 20 64 65 61 6c 6c 6f 63 61 74 65 46 6f 6f 28 61 6c 6c 6f 63 61 74 6f 72 2c 20 66 6f 6f 29 3b >.deallocateFoo(allocator,.foo);
7b600 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 2f 73 70 61 </span>.<span.class="line"></spa
7b620 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 20 20 20 20 66 6f n>.<span.class="line">........fo
7b640 6f 2e 64 61 74 61 20 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 74 72 o.data.=.<span.class="tok-kw">tr
7b660 79 3c 2f 73 70 61 6e 3e 20 67 65 74 46 6f 6f 44 61 74 61 28 29 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 y</span>.getFooData();</span>.<s
7b680 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 pan.class="line"></span>.<span.c
7b6a0 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d lass="line">........<span.class=
7b6c0 22 74 6f 6b 2d 6b 77 22 3e 62 72 65 61 6b 3c 2f 73 70 61 6e 3e 20 3a 67 65 74 46 6f 6f 20 66 6f "tok-kw">break</span>.:getFoo.fo
7b6e0 6f 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 o;</span>.<span.class="line">...
7b700 20 7d 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 .};</span>.<span.class="line">..
7b720 20 20 3c 73 70 61 6e 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
7b740 68 69 73 20 6c 61 73 74 73 20 66 6f 72 20 74 68 65 20 72 65 73 74 20 6f 66 20 74 68 65 20 66 75 his.lasts.for.the.rest.of.the.fu
7b760 6e 63 74 69 6f 6e 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 nction</span></span>.<span.class
7b780 3d 22 6c 69 6e 65 22 3e 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 ="line">....<span.class="tok-kw"
7b7a0 3e 65 72 72 64 65 66 65 72 3c 2f 73 70 61 6e 3e 20 64 65 61 6c 6c 6f 63 61 74 65 46 6f 6f 28 61 >errdefer</span>.deallocateFoo(a
7b7c0 6c 6c 6f 63 61 74 6f 72 2c 20 66 6f 6f 29 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 llocator,.foo);</span>.<span.cla
7b7e0 73 73 3d 22 6c 69 6e 65 22 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c ss="line"></span>.<span.class="l
7b800 69 6e 65 22 3e 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 63 6f 6d 6d 65 6e ine">....<span.class="tok-commen
7b820 74 22 3e 2f 2f 20 45 72 72 6f 72 20 69 73 20 6e 6f 77 20 70 72 6f 70 65 72 6c 79 20 68 61 6e 64 t">//.Error.is.now.properly.hand
7b840 6c 65 64 20 62 79 20 65 72 72 64 65 66 65 72 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 led.by.errdefer</span></span>.<s
7b860 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 pan.class="line">....<span.class
7b880 3d 22 74 6f 6b 2d 6b 77 22 3e 69 66 3c 2f 73 70 61 6e 3e 20 28 70 61 72 61 6d 20 26 67 74 3b 20 ="tok-kw">if</span>.(param.&gt;.
7b8a0 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 31 33 33 37 3c 2f 73 <span.class="tok-number">1337</s
7b8c0 70 61 6e 3e 29 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 72 65 74 75 72 pan>).<span.class="tok-kw">retur
7b8e0 6e 3c 2f 73 70 61 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
7b900 72 6f 72 3c 2f 73 70 61 6e 3e 2e 49 6e 76 61 6c 69 64 50 61 72 61 6d 3b 3c 2f 73 70 61 6e 3e 0a ror</span>.InvalidParam;</span>.
7b920 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e <span.class="line"></span>.<span
7b940 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 .class="line">....<span.class="t
7b960 6f 6b 2d 6b 77 22 3e 72 65 74 75 72 6e 3c 2f 73 70 61 6e 3e 20 66 6f 6f 3b 3c 2f 73 70 61 6e 3e ok-kw">return</span>.foo;</span>
7b980 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 7d 3c 2f 73 70 61 6e 3e 0a 3c 73 70 .<span.class="line">}</span>.<sp
7b9a0 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c an.class="line"></span>.<span.cl
7b9c0 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e ass="line"><span.class="tok-kw">
7b9e0 74 65 73 74 3c 2f 73 70 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
7ba00 22 3e 26 71 75 6f 74 3b 63 72 65 61 74 65 46 6f 6f 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 20 7b ">&quot;createFoo&quot;</span>.{
7ba20 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 3c </span>.<span.class="line">....<
7ba40 73 70 61 6e 20 63 6c 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
7ba60 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 61 td.testing.expectError(<span.cla
7ba80 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 65 72 72 6f 72 3c 2f 73 70 61 6e 3e 2e 49 6e 76 61 6c 69 64 ss="tok-kw">error</span>.Invalid
7baa0 50 61 72 61 6d 2c 20 63 72 65 61 74 65 46 6f 6f 28 73 74 64 2e 74 65 73 74 69 6e 67 2e 61 6c 6c Param,.createFoo(std.testing.all
7bac0 6f 63 61 74 6f 72 2c 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 ocator,.<span.class="tok-number"
7bae0 3e 32 34 36 38 3c 2f 73 70 61 6e 3e 29 29 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 >2468</span>));</span>.<span.cla
7bb00 73 73 3d 22 6c 69 6e 65 22 3e 7d 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 3c 2f 70 72 65 3e 3c ss="line">}</span></code></pre><
7bb20 2f 66 69 67 75 72 65 3e 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
7bb40 73 3d 22 73 68 65 6c 6c 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>
7bb60 3c 70 72 65 3e 3c 73 61 6d 70 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 24 20 <pre><samp><span.class="line">$.
7bb80 3c 6b 62 64 3e 7a 69 67 20 74 65 73 74 20 74 65 73 74 5f 65 72 72 64 65 66 65 72 5f 62 6c 6f 63 <kbd>zig.test.test_errdefer_bloc
7bba0 6b 2e 7a 69 67 3c 2f 6b 62 64 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 k.zig</kbd></span>.<span.class="
7bbc0 6c 69 6e 65 22 3e 31 2f 31 20 74 65 73 74 2e 63 72 65 61 74 65 46 6f 6f 2e 2e 2e 20 4f 4b 3c 2f line">1/1.test.createFoo....OK</
7bbe0 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 41 6c 6c 20 31 20 74 span>.<span.class="line">All.1.t
7bc00 65 73 74 73 20 70 61 73 73 65 64 2e 3c 2f 73 70 61 6e 3e 0a 3c 2f 73 61 6d 70 3e 3c 2f 70 72 65 ests.passed.</span>.</samp></pre
7bc20 3e 3c 2f 66 69 67 75 72 65 3e 0a 20 20 20 20 20 20 3c 70 3e 0a 20 20 20 20 20 20 54 68 65 20 66 ></figure>.......<p>.......The.f
7bc40 61 63 74 20 74 68 61 74 20 65 72 72 64 65 66 65 72 73 20 6f 6e 6c 79 20 6c 61 73 74 20 66 6f 72 act.that.errdefers.only.last.for
7bc60 20 74 68 65 20 62 6c 6f 63 6b 20 74 68 65 79 20 61 72 65 20 64 65 63 6c 61 72 65 64 20 69 6e 20 .the.block.they.are.declared.in.
7bc80 69 73 0a 20 20 20 20 20 20 65 73 70 65 63 69 61 6c 6c 79 20 69 6d 70 6f 72 74 61 6e 74 20 77 68 is.......especially.important.wh
7bca0 65 6e 20 75 73 69 6e 67 20 6c 6f 6f 70 73 3a 0a 20 20 20 20 20 20 3c 2f 70 3e 0a 20 20 20 20 20 en.using.loops:.......</p>......
7bcc0 20 3c 66 69 67 75 72 65 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-
7bce0 63 61 70 22 3e 3c 63 69 74 65 20 63 6c 61 73 73 3d 22 66 69 6c 65 22 3e 74 65 73 74 2e 7a 69 67 cap"><cite.class="file">test.zig
7bd00 3c 2f 63 69 74 65 3e 3c 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><
7bd20 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 span.class="line"><span.class="t
7bd40 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.
7bd60 63 6c 61 73 73 3d 22 74 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
7bd80 6e 3e 28 3c 73 70 61 6e 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
7bda0 74 64 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 29 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 td&quot;</span>);</span>.<span.c
7bdc0 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 lass="line"><span.class="tok-kw"
7bde0 3e 63 6f 6e 73 74 3c 2f 73 70 61 6e 3e 20 41 6c 6c 6f 63 61 74 6f 72 20 3d 20 73 74 64 2e 6d 65 >const</span>.Allocator.=.std.me
7be00 6d 2e 41 6c 6c 6f 63 61 74 6f 72 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d m.Allocator;</span>.<span.class=
7be20 22 6c 69 6e 65 22 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 "line"></span>.<span.class="line
7be40 22 3e 3c 73 70 61 6e 20 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
7be60 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 73 an>.Foo.=.<span.class="tok-kw">s
7be80 74 72 75 63 74 3c 2f 73 70 61 6e 3e 20 7b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 truct</span>.{</span>.<span.clas
7bea0 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 64 61 74 61 3a 20 2a 3c 73 70 61 6e 20 63 6c 61 73 73 3d s="line">....data:.*<span.class=
7bec0 22 74 6f 6b 2d 74 79 70 65 22 3e 75 33 32 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 "tok-type">u32</span></span>.<sp
7bee0 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 7d 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 an.class="line">};</span>.<span.
7bf00 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 class="line"></span>.<span.class
7bf20 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 66 6e 3c ="line"><span.class="tok-kw">fn<
7bf40 2f 73 70 61 6e 3e 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 66 6e 22 3e 67 65 74 44 /span>.<span.class="tok-fn">getD
7bf60 61 74 61 3c 2f 73 70 61 6e 3e 28 29 20 21 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 ata</span>().!<span.class="tok-t
7bf80 79 70 65 22 3e 75 33 32 3c 2f 73 70 61 6e 3e 20 7b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 ype">u32</span>.{</span>.<span.c
7bfa0 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b lass="line">....<span.class="tok
7bfc0 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="
7bfe0 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 36 36 36 3c 2f 73 70 61 6e 3e 3b 3c 2f 73 70 61 6e 3e 0a 3c tok-number">666</span>;</span>.<
7c000 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 7d 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e span.class="line">}</span>.<span
7c020 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 .class="line"></span>.<span.clas
7c040 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 66 6e s="line"><span.class="tok-kw">fn
7c060 3c 2f 73 70 61 6e 3e 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 66 6e 22 3e 67 65 6e </span>.<span.class="tok-fn">gen
7c080 46 6f 6f 73 3c 2f 73 70 61 6e 3e 28 61 6c 6c 6f 63 61 74 6f 72 3a 20 41 6c 6c 6f 63 61 74 6f 72 Foos</span>(allocator:.Allocator
7c0a0 2c 20 6e 75 6d 3a 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 75 73 ,.num:.<span.class="tok-type">us
7c0c0 69 7a 65 3c 2f 73 70 61 6e 3e 29 20 21 5b 5d 46 6f 6f 20 7b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 ize</span>).![]Foo.{</span>.<spa
7c0e0 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 n.class="line">....<span.class="
7c100 74 6f 6b 2d 6b 77 22 3e 76 61 72 3c 2f 73 70 61 6e 3e 20 66 6f 6f 73 20 3d 20 3c 73 70 61 6e 20 tok-kw">var</span>.foos.=.<span.
7c120 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 74 72 79 3c 2f 73 70 61 6e 3e 20 61 6c 6c 6f 63 61 class="tok-kw">try</span>.alloca
7c140 74 6f 72 2e 61 6c 6c 6f 63 28 46 6f 6f 2c 20 6e 75 6d 29 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 tor.alloc(Foo,.num);</span>.<spa
7c160 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 n.class="line">....<span.class="
7c180 74 6f 6b 2d 6b 77 22 3e 65 72 72 64 65 66 65 72 3c 2f 73 70 61 6e 3e 20 61 6c 6c 6f 63 61 74 6f tok-kw">errdefer</span>.allocato
7c1a0 72 2e 66 72 65 65 28 66 6f 6f 73 29 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 r.free(foos);</span>.<span.class
7c1c0 3d 22 6c 69 6e 65 22 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e ="line"></span>.<span.class="lin
7c1e0 65 22 3e 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 66 6f 72 3c e">....<span.class="tok-kw">for<
7c200 2f 73 70 61 6e 3e 28 66 6f 6f 73 29 20 7c 2a 66 6f 6f 2c 20 69 7c 20 7b 3c 2f 73 70 61 6e 3e 0a /span>(foos).|*foo,.i|.{</span>.
7c220 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 20 20 20 20 66 6f 6f 2e 64 <span.class="line">........foo.d
7c240 61 74 61 20 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 74 72 79 3c 2f ata.=.<span.class="tok-kw">try</
7c260 73 70 61 6e 3e 20 61 6c 6c 6f 63 61 74 6f 72 2e 63 72 65 61 74 65 28 3c 73 70 61 6e 20 63 6c 61 span>.allocator.create(<span.cla
7c280 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 75 33 32 3c 2f 73 70 61 6e 3e 29 3b 3c 2f 73 70 61 6e ss="tok-type">u32</span>);</span
7c2a0 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 20 20 20 20 3c 73 70 >.<span.class="line">........<sp
7c2c0 61 6e 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 65 an.class="tok-comment">//.This.e
7c2e0 72 72 64 65 66 65 72 20 64 6f 65 73 20 6e 6f 74 20 6c 61 73 74 20 62 65 74 77 65 65 6e 20 69 74 rrdefer.does.not.last.between.it
7c300 65 72 61 74 69 6f 6e 73 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 erations</span></span>.<span.cla
7c320 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 ss="line">........<span.class="t
7c340 6f 6b 2d 6b 77 22 3e 65 72 72 64 65 66 65 72 3c 2f 73 70 61 6e 3e 20 61 6c 6c 6f 63 61 74 6f 72 ok-kw">errdefer</span>.allocator
7c360 2e 64 65 73 74 72 6f 79 28 66 6f 6f 2e 64 61 74 61 29 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e .destroy(foo.data);</span>.<span
7c380 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 .class="line"></span>.<span.clas
7c3a0 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f s="line">........<span.class="to
7c3c0 6b 2d 63 6f 6d 6d 65 6e 74 22 3e 2f 2f 20 54 68 65 20 64 61 74 61 20 66 6f 72 20 74 68 65 20 66 k-comment">//.The.data.for.the.f
7c3e0 69 72 73 74 20 33 20 66 6f 6f 73 20 77 69 6c 6c 20 62 65 20 6c 65 61 6b 65 64 3c 2f 73 70 61 6e irst.3.foos.will.be.leaked</span
7c400 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 ></span>.<span.class="line">....
7c420 20 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
7c440 6e 3e 28 69 20 26 67 74 3b 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 n>(i.&gt;=.<span.class="tok-numb
7c460 65 72 22 3e 33 3c 2f 73 70 61 6e 3e 29 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b er">3</span>).<span.class="tok-k
7c480 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
7c4a0 6b 2d 6b 77 22 3e 65 72 72 6f 72 3c 2f 73 70 61 6e 3e 2e 54 6f 6f 4d 61 6e 79 46 6f 6f 73 3b 3c k-kw">error</span>.TooManyFoos;<
7c4c0 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 2f 73 70 61 6e /span>.<span.class="line"></span
7c4e0 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 20 20 20 20 66 6f 6f >.<span.class="line">........foo
7c500 2e 64 61 74 61 2e 2a 20 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 74 .data.*.=.<span.class="tok-kw">t
7c520 72 79 3c 2f 73 70 61 6e 3e 20 67 65 74 44 61 74 61 28 29 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 ry</span>.getData();</span>.<spa
7c540 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 7d 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 n.class="line">....}</span>.<spa
7c560 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 n.class="line"></span>.<span.cla
7c580 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b ss="line">....<span.class="tok-k
7c5a0 77 22 3e 72 65 74 75 72 6e 3c 2f 73 70 61 6e 3e 20 66 6f 6f 73 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 w">return</span>.foos;</span>.<s
7c5c0 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 7d 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 pan.class="line">}</span>.<span.
7c5e0 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 class="line"></span>.<span.class
7c600 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 74 65 73 ="line"><span.class="tok-kw">tes
7c620 74 3c 2f 73 70 61 6e 3e 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">&
7c640 71 75 6f 74 3b 67 65 6e 46 6f 6f 73 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 20 7b 3c 2f 73 70 61 quot;genFoos&quot;</span>.{</spa
7c660 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 3c 73 70 61 6e 20 n>.<span.class="line">....<span.
7c680 63 6c 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
7c6a0 73 74 69 6e 67 2e 65 78 70 65 63 74 45 72 72 6f 72 28 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 sting.expectError(<span.class="t
7c6c0 6f 6b 2d 6b 77 22 3e 65 72 72 6f 72 3c 2f 73 70 61 6e 3e 2e 54 6f 6f 4d 61 6e 79 46 6f 6f 73 2c ok-kw">error</span>.TooManyFoos,
7c6e0 20 67 65 6e 46 6f 6f 73 28 73 74 64 2e 74 65 73 74 69 6e 67 2e 61 6c 6c 6f 63 61 74 6f 72 2c 20 .genFoos(std.testing.allocator,.
7c700 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 35 3c 2f 73 70 61 6e <span.class="tok-number">5</span
7c720 3e 29 29 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 7d >));</span>.<span.class="line">}
7c740 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 3c 2f 70 72 65 3e 3c 2f 66 69 67 75 72 65 3e 3c 66 69 </span></code></pre></figure><fi
7c760 67 75 72 65 3e 3c 66 69 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
7c780 70 22 3e 53 68 65 6c 6c 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>
7c7a0 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 24 20 3c 6b 62 64 3e 7a 69 67 20 74 65 <span.class="line">$.<kbd>zig.te
7c7c0 73 74 20 74 65 73 74 2e 7a 69 67 3c 2f 6b 62 64 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 st.test.zig</kbd></span>.<span.c
7c7e0 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 31 2f 31 20 74 65 73 74 2e 67 65 6e 46 6f 6f 73 2e 2e 2e 20 lass="line">1/1.test.genFoos....
7c800 4f 4b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 5b 67 70 OK</span>.<span.class="line">[gp
7c820 61 5d 20 28 65 72 72 29 3a 20 6d 65 6d 6f 72 79 20 61 64 64 72 65 73 73 20 30 78 37 66 35 62 33 a].(err):.memory.address.0x7f5b3
7c840 37 64 34 39 30 30 30 20 6c 65 61 6b 65 64 3a 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 7d49000.leaked:</span>.<span.cla
7c860 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 31 5f 30 22 3e 64 6f 63 ss="line"><span.class="t1_0">doc
7c880 67 65 6e 5f 74 6d 70 2f 74 65 73 74 2e 7a 69 67 3a 31 37 3a 34 30 3c 2f 73 70 61 6e 3e 3a 20 3c gen_tmp/test.zig:17:40</span>:.<
7c8a0 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 32 5f 30 22 3e 30 78 32 31 33 63 37 36 20 69 6e 20 67 65 span.class="t2_0">0x213c76.in.ge
7c8c0 6e 46 6f 6f 73 20 28 74 65 73 74 29 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e nFoos.(test)</span></span>.<span
7c8e0 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 20 20 20 20 66 6f 6f 2e 64 61 74 61 20 3d .class="line">........foo.data.=
7c900 20 74 72 79 20 61 6c 6c 6f 63 61 74 6f 72 2e 63 72 65 61 74 65 28 75 33 32 29 3b 3c 2f 73 70 61 .try.allocator.create(u32);</spa
7c920 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 20 20 20 20 20 20 n>.<span.class="line">..........
7c940 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 3c 73 70 .............................<sp
7c960 61 6e 20 63 6c 61 73 73 3d 22 74 33 32 5f 31 22 3e 5e 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e an.class="t32_1">^</span></span>
7c980 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d .<span.class="line"><span.class=
7c9a0 22 74 31 5f 30 22 3e 64 6f 63 67 65 6e 5f 74 6d 70 2f 74 65 73 74 2e 7a 69 67 3a 33 31 3a 37 31 "t1_0">docgen_tmp/test.zig:31:71
7c9c0 3c 2f 73 70 61 6e 3e 3a 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 32 5f 30 22 3e 30 78 32 31 </span>:.<span.class="t2_0">0x21
7c9e0 34 36 63 64 20 69 6e 20 74 65 73 74 2e 67 65 6e 46 6f 6f 73 20 28 74 65 73 74 29 3c 2f 73 70 61 46cd.in.test.genFoos.(test)</spa
7ca00 6e 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 n></span>.<span.class="line">...
7ca20 20 74 72 79 20 73 74 64 2e 74 65 73 74 69 6e 67 2e 65 78 70 65 63 74 45 72 72 6f 72 28 65 72 72 .try.std.testing.expectError(err
7ca40 6f 72 2e 54 6f 6f 4d 61 6e 79 46 6f 6f 73 2c 20 67 65 6e 46 6f 6f 73 28 73 74 64 2e 74 65 73 74 or.TooManyFoos,.genFoos(std.test
7ca60 69 6e 67 2e 61 6c 6c 6f 63 61 74 6f 72 2c 20 35 29 29 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e ing.allocator,.5));</span>.<span
7ca80 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 .class="line">..................
7caa0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ................................
7cac0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d ....................<span.class=
7cae0 22 74 33 32 5f 31 22 3e 5e 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c "t32_1">^</span></span>.<span.cl
7cb00 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 31 5f 30 22 3e 2f 68 ass="line"><span.class="t1_0">/h
7cb20 6f 6d 65 2f 63 69 2f 72 65 6c 65 61 73 65 2d 30 2e 31 30 2e 31 2f 6f 75 74 2f 7a 69 67 2d 78 38 ome/ci/release-0.10.1/out/zig-x8
7cb40 36 5f 36 34 2d 6c 69 6e 75 78 2d 6d 75 73 6c 2d 62 61 73 65 6c 69 6e 65 2f 6c 69 62 2f 7a 69 67 6_64-linux-musl-baseline/lib/zig
7cb60 2f 74 65 73 74 5f 72 75 6e 6e 65 72 2e 7a 69 67 3a 36 33 3a 32 38 3c 2f 73 70 61 6e 3e 3a 20 3c /test_runner.zig:63:28</span>:.<
7cb80 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 32 5f 30 22 3e 30 78 32 31 63 32 63 33 20 69 6e 20 6d 61 span.class="t2_0">0x21c2c3.in.ma
7cba0 69 6e 20 28 74 65 73 74 29 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c in.(test)</span></span>.<span.cl
7cbc0 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 20 20 20 20 7d 20 65 6c 73 65 20 74 65 73 74 5f 66 ass="line">........}.else.test_f
7cbe0 6e 2e 66 75 6e 63 28 29 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 n.func();</span>.<span.class="li
7cc00 6e 65 22 3e 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 3c ne">...........................<
7cc20 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 33 32 5f 31 22 3e 5e 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 span.class="t32_1">^</span></spa
7cc40 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 n>.<span.class="line"><span.clas
7cc60 73 3d 22 74 31 5f 30 22 3e 2f 68 6f 6d 65 2f 63 69 2f 72 65 6c 65 61 73 65 2d 30 2e 31 30 2e 31 s="t1_0">/home/ci/release-0.10.1
7cc80 2f 6f 75 74 2f 7a 69 67 2d 78 38 36 5f 36 34 2d 6c 69 6e 75 78 2d 6d 75 73 6c 2d 62 61 73 65 6c /out/zig-x86_64-linux-musl-basel
7cca0 69 6e 65 2f 6c 69 62 2f 7a 69 67 2f 73 74 64 2f 73 74 61 72 74 2e 7a 69 67 3a 36 30 34 3a 32 32 ine/lib/zig/std/start.zig:604:22
7ccc0 3c 2f 73 70 61 6e 3e 3a 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 32 5f 30 22 3e 30 78 32 31 </span>:.<span.class="t2_0">0x21
7cce0 34 66 37 63 20 69 6e 20 70 6f 73 69 78 43 61 6c 6c 4d 61 69 6e 41 6e 64 45 78 69 74 20 28 74 65 4f7c.in.posixCallMainAndExit.(te
7cd00 73 74 29 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c st)</span></span>.<span.class="l
7cd20 69 6e 65 22 3e 20 20 20 20 20 20 20 20 20 20 20 20 72 6f 6f 74 2e 6d 61 69 6e 28 29 3b 3c 2f 73 ine">............root.main();</s
7cd40 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 20 20 20 20 pan>.<span.class="line">........
7cd60 20 20 20 20 20 20 20 20 20 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 33 32 5f 31 22 .............<span.class="t32_1"
7cd80 3e 5e 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 >^</span></span>.<span.class="li
7cda0 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 31 5f 30 22 3e 2f 68 6f 6d 65 2f 63 69 2f ne"><span.class="t1_0">/home/ci/
7cdc0 72 65 6c 65 61 73 65 2d 30 2e 31 30 2e 31 2f 6f 75 74 2f 7a 69 67 2d 78 38 36 5f 36 34 2d 6c 69 release-0.10.1/out/zig-x86_64-li
7cde0 6e 75 78 2d 6d 75 73 6c 2d 62 61 73 65 6c 69 6e 65 2f 6c 69 62 2f 7a 69 67 2f 73 74 64 2f 73 74 nux-musl-baseline/lib/zig/std/st
7ce00 61 72 74 2e 7a 69 67 3a 33 37 36 3a 35 3c 2f 73 70 61 6e 3e 3a 20 3c 73 70 61 6e 20 63 6c 61 73 art.zig:376:5</span>:.<span.clas
7ce20 73 3d 22 74 32 5f 30 22 3e 30 78 32 31 34 61 38 31 20 69 6e 20 5f 73 74 61 72 74 20 28 74 65 73 s="t2_0">0x214a81.in._start.(tes
7ce40 74 29 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 t)</span></span>.<span.class="li
7ce60 6e 65 22 3e 20 20 20 20 40 63 61 6c 6c 28 2e 7b 20 2e 6d 6f 64 69 66 69 65 72 20 3d 20 2e 6e 65 ne">....@call(.{..modifier.=..ne
7ce80 76 65 72 5f 69 6e 6c 69 6e 65 20 7d 2c 20 70 6f 73 69 78 43 61 6c 6c 4d 61 69 6e 41 6e 64 45 78 ver_inline.},.posixCallMainAndEx
7cea0 69 74 2c 20 2e 7b 7d 29 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 it,..{});</span>.<span.class="li
7cec0 6e 65 22 3e 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 33 32 5f 31 22 3e 5e 3c 2f 73 ne">....<span.class="t32_1">^</s
7cee0 70 61 6e 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c pan></span>.<span.class="line"><
7cf00 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 2f 73 70 61 6e /span>.<span.class="line"></span
7cf20 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 5b 67 70 61 5d 20 28 65 72 72 29 >.<span.class="line">[gpa].(err)
7cf40 3a 20 6d 65 6d 6f 72 79 20 61 64 64 72 65 73 73 20 30 78 37 66 35 62 33 37 64 34 39 30 30 34 20 :.memory.address.0x7f5b37d49004.
7cf60 6c 65 61 6b 65 64 3a 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 leaked:</span>.<span.class="line
7cf80 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 31 5f 30 22 3e 64 6f 63 67 65 6e 5f 74 6d 70 2f "><span.class="t1_0">docgen_tmp/
7cfa0 74 65 73 74 2e 7a 69 67 3a 31 37 3a 34 30 3c 2f 73 70 61 6e 3e 3a 20 3c 73 70 61 6e 20 63 6c 61 test.zig:17:40</span>:.<span.cla
7cfc0 73 73 3d 22 74 32 5f 30 22 3e 30 78 32 31 33 63 37 36 20 69 6e 20 67 65 6e 46 6f 6f 73 20 28 74 ss="t2_0">0x213c76.in.genFoos.(t
7cfe0 65 73 74 29 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 est)</span></span>.<span.class="
7d000 6c 69 6e 65 22 3e 20 20 20 20 20 20 20 20 66 6f 6f 2e 64 61 74 61 20 3d 20 74 72 79 20 61 6c 6c line">........foo.data.=.try.all
7d020 6f 63 61 74 6f 72 2e 63 72 65 61 74 65 28 75 33 32 29 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e ocator.create(u32);</span>.<span
7d040 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 .class="line">..................
7d060 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
7d080 3d 22 74 33 32 5f 31 22 3e 5e 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 ="t32_1">^</span></span>.<span.c
7d0a0 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 31 5f 30 22 3e 64 lass="line"><span.class="t1_0">d
7d0c0 6f 63 67 65 6e 5f 74 6d 70 2f 74 65 73 74 2e 7a 69 67 3a 33 31 3a 37 31 3c 2f 73 70 61 6e 3e 3a ocgen_tmp/test.zig:31:71</span>:
7d0e0 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 32 5f 30 22 3e 30 78 32 31 34 36 63 64 20 69 6e 20 .<span.class="t2_0">0x2146cd.in.
7d100 74 65 73 74 2e 67 65 6e 46 6f 6f 73 20 28 74 65 73 74 29 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e test.genFoos.(test)</span></span
7d120 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 74 72 79 20 73 74 64 >.<span.class="line">....try.std
7d140 2e 74 65 73 74 69 6e 67 2e 65 78 70 65 63 74 45 72 72 6f 72 28 65 72 72 6f 72 2e 54 6f 6f 4d 61 .testing.expectError(error.TooMa
7d160 6e 79 46 6f 6f 73 2c 20 67 65 6e 46 6f 6f 73 28 73 74 64 2e 74 65 73 74 69 6e 67 2e 61 6c 6c 6f nyFoos,.genFoos(std.testing.allo
7d180 63 61 74 6f 72 2c 20 35 29 29 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 cator,.5));</span>.<span.class="
7d1a0 6c 69 6e 65 22 3e 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 line">..........................
7d1c0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ................................
7d1e0 20 20 20 20 20 20 20 20 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 33 32 5f 31 22 3e ............<span.class="t32_1">
7d200 5e 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e ^</span></span>.<span.class="lin
7d220 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 31 5f 30 22 3e 2f 68 6f 6d 65 2f 63 69 2f 72 e"><span.class="t1_0">/home/ci/r
7d240 65 6c 65 61 73 65 2d 30 2e 31 30 2e 31 2f 6f 75 74 2f 7a 69 67 2d 78 38 36 5f 36 34 2d 6c 69 6e elease-0.10.1/out/zig-x86_64-lin
7d260 75 78 2d 6d 75 73 6c 2d 62 61 73 65 6c 69 6e 65 2f 6c 69 62 2f 7a 69 67 2f 74 65 73 74 5f 72 75 ux-musl-baseline/lib/zig/test_ru
7d280 6e 6e 65 72 2e 7a 69 67 3a 36 33 3a 32 38 3c 2f 73 70 61 6e 3e 3a 20 3c 73 70 61 6e 20 63 6c 61 nner.zig:63:28</span>:.<span.cla
7d2a0 73 73 3d 22 74 32 5f 30 22 3e 30 78 32 31 63 32 63 33 20 69 6e 20 6d 61 69 6e 20 28 74 65 73 74 ss="t2_0">0x21c2c3.in.main.(test
7d2c0 29 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e )</span></span>.<span.class="lin
7d2e0 65 22 3e 20 20 20 20 20 20 20 20 7d 20 65 6c 73 65 20 74 65 73 74 5f 66 6e 2e 66 75 6e 63 28 29 e">........}.else.test_fn.func()
7d300 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 ;</span>.<span.class="line">....
7d320 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 .......................<span.cla
7d340 73 73 3d 22 74 33 32 5f 31 22 3e 5e 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e ss="t32_1">^</span></span>.<span
7d360 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 31 5f 30 22 .class="line"><span.class="t1_0"
7d380 3e 2f 68 6f 6d 65 2f 63 69 2f 72 65 6c 65 61 73 65 2d 30 2e 31 30 2e 31 2f 6f 75 74 2f 7a 69 67 >/home/ci/release-0.10.1/out/zig
7d3a0 2d 78 38 36 5f 36 34 2d 6c 69 6e 75 78 2d 6d 75 73 6c 2d 62 61 73 65 6c 69 6e 65 2f 6c 69 62 2f -x86_64-linux-musl-baseline/lib/
7d3c0 7a 69 67 2f 73 74 64 2f 73 74 61 72 74 2e 7a 69 67 3a 36 30 34 3a 32 32 3c 2f 73 70 61 6e 3e 3a zig/std/start.zig:604:22</span>:
7d3e0 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 32 5f 30 22 3e 30 78 32 31 34 66 37 63 20 69 6e 20 .<span.class="t2_0">0x214f7c.in.
7d400 70 6f 73 69 78 43 61 6c 6c 4d 61 69 6e 41 6e 64 45 78 69 74 20 28 74 65 73 74 29 3c 2f 73 70 61 posixCallMainAndExit.(test)</spa
7d420 6e 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 n></span>.<span.class="line">...
7d440 20 20 20 20 20 20 20 20 20 72 6f 6f 74 2e 6d 61 69 6e 28 29 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 .........root.main();</span>.<sp
7d460 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 an.class="line">................
7d480 20 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 33 32 5f 31 22 3e 5e 3c 2f 73 70 61 6e .....<span.class="t32_1">^</span
7d4a0 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 ></span>.<span.class="line"><spa
7d4c0 6e 20 63 6c 61 73 73 3d 22 74 31 5f 30 22 3e 2f 68 6f 6d 65 2f 63 69 2f 72 65 6c 65 61 73 65 2d n.class="t1_0">/home/ci/release-
7d4e0 30 2e 31 30 2e 31 2f 6f 75 74 2f 7a 69 67 2d 78 38 36 5f 36 34 2d 6c 69 6e 75 78 2d 6d 75 73 6c 0.10.1/out/zig-x86_64-linux-musl
7d500 2d 62 61 73 65 6c 69 6e 65 2f 6c 69 62 2f 7a 69 67 2f 73 74 64 2f 73 74 61 72 74 2e 7a 69 67 3a -baseline/lib/zig/std/start.zig:
7d520 33 37 36 3a 35 3c 2f 73 70 61 6e 3e 3a 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 32 5f 30 22 376:5</span>:.<span.class="t2_0"
7d540 3e 30 78 32 31 34 61 38 31 20 69 6e 20 5f 73 74 61 72 74 20 28 74 65 73 74 29 3c 2f 73 70 61 6e >0x214a81.in._start.(test)</span
7d560 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 ></span>.<span.class="line">....
7d580 40 63 61 6c 6c 28 2e 7b 20 2e 6d 6f 64 69 66 69 65 72 20 3d 20 2e 6e 65 76 65 72 5f 69 6e 6c 69 @call(.{..modifier.=..never_inli
7d5a0 6e 65 20 7d 2c 20 70 6f 73 69 78 43 61 6c 6c 4d 61 69 6e 41 6e 64 45 78 69 74 2c 20 2e 7b 7d 29 ne.},.posixCallMainAndExit,..{})
7d5c0 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 ;</span>.<span.class="line">....
7d5e0 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 33 32 5f 31 22 3e 5e 3c 2f 73 70 61 6e 3e 3c 2f 73 70 <span.class="t32_1">^</span></sp
7d600 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 2f 73 70 61 6e 3e 0a 3c an>.<span.class="line"></span>.<
7d620 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 span.class="line"></span>.<span.
7d640 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 5b 67 70 61 5d 20 28 65 72 72 29 3a 20 6d 65 6d 6f 72 79 class="line">[gpa].(err):.memory
7d660 20 61 64 64 72 65 73 73 20 30 78 37 66 35 62 33 37 64 34 39 30 30 38 20 6c 65 61 6b 65 64 3a 3c .address.0x7f5b37d49008.leaked:<
7d680 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 /span>.<span.class="line"><span.
7d6a0 63 6c 61 73 73 3d 22 74 31 5f 30 22 3e 64 6f 63 67 65 6e 5f 74 6d 70 2f 74 65 73 74 2e 7a 69 67 class="t1_0">docgen_tmp/test.zig
7d6c0 3a 31 37 3a 34 30 3c 2f 73 70 61 6e 3e 3a 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 32 5f 30 :17:40</span>:.<span.class="t2_0
7d6e0 22 3e 30 78 32 31 33 63 37 36 20 69 6e 20 67 65 6e 46 6f 6f 73 20 28 74 65 73 74 29 3c 2f 73 70 ">0x213c76.in.genFoos.(test)</sp
7d700 61 6e 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 an></span>.<span.class="line">..
7d720 20 20 20 20 20 20 66 6f 6f 2e 64 61 74 61 20 3d 20 74 72 79 20 61 6c 6c 6f 63 61 74 6f 72 2e 63 ......foo.data.=.try.allocator.c
7d740 72 65 61 74 65 28 75 33 32 29 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 reate(u32);</span>.<span.class="
7d760 6c 69 6e 65 22 3e 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 line">..........................
7d780 20 20 20 20 20 20 20 20 20 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 33 32 5f 31 22 .............<span.class="t32_1"
7d7a0 3e 5e 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 >^</span></span>.<span.class="li
7d7c0 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 31 5f 30 22 3e 64 6f 63 67 65 6e 5f 74 6d ne"><span.class="t1_0">docgen_tm
7d7e0 70 2f 74 65 73 74 2e 7a 69 67 3a 33 31 3a 37 31 3c 2f 73 70 61 6e 3e 3a 20 3c 73 70 61 6e 20 63 p/test.zig:31:71</span>:.<span.c
7d800 6c 61 73 73 3d 22 74 32 5f 30 22 3e 30 78 32 31 34 36 63 64 20 69 6e 20 74 65 73 74 2e 67 65 6e lass="t2_0">0x2146cd.in.test.gen
7d820 46 6f 6f 73 20 28 74 65 73 74 29 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 Foos.(test)</span></span>.<span.
7d840 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 74 72 79 20 73 74 64 2e 74 65 73 74 69 6e 67 class="line">....try.std.testing
7d860 2e 65 78 70 65 63 74 45 72 72 6f 72 28 65 72 72 6f 72 2e 54 6f 6f 4d 61 6e 79 46 6f 6f 73 2c 20 .expectError(error.TooManyFoos,.
7d880 67 65 6e 46 6f 6f 73 28 73 74 64 2e 74 65 73 74 69 6e 67 2e 61 6c 6c 6f 63 61 74 6f 72 2c 20 35 genFoos(std.testing.allocator,.5
7d8a0 29 29 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 ));</span>.<span.class="line">..
7d8c0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ................................
7d8e0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ................................
7d900 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 33 32 5f 31 22 3e 5e 3c 2f 73 70 61 6e 3e ....<span.class="t32_1">^</span>
7d920 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e </span>.<span.class="line"><span
7d940 20 63 6c 61 73 73 3d 22 74 31 5f 30 22 3e 2f 68 6f 6d 65 2f 63 69 2f 72 65 6c 65 61 73 65 2d 30 .class="t1_0">/home/ci/release-0
7d960 2e 31 30 2e 31 2f 6f 75 74 2f 7a 69 67 2d 78 38 36 5f 36 34 2d 6c 69 6e 75 78 2d 6d 75 73 6c 2d .10.1/out/zig-x86_64-linux-musl-
7d980 62 61 73 65 6c 69 6e 65 2f 6c 69 62 2f 7a 69 67 2f 74 65 73 74 5f 72 75 6e 6e 65 72 2e 7a 69 67 baseline/lib/zig/test_runner.zig
7d9a0 3a 36 33 3a 32 38 3c 2f 73 70 61 6e 3e 3a 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 32 5f 30 :63:28</span>:.<span.class="t2_0
7d9c0 22 3e 30 78 32 31 63 32 63 33 20 69 6e 20 6d 61 69 6e 20 28 74 65 73 74 29 3c 2f 73 70 61 6e 3e ">0x21c2c3.in.main.(test)</span>
7d9e0 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 20 </span>.<span.class="line">.....
7da00 20 20 20 7d 20 65 6c 73 65 20 74 65 73 74 5f 66 6e 2e 66 75 6e 63 28 29 3b 3c 2f 73 70 61 6e 3e ...}.else.test_fn.func();</span>
7da20 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 20 20 20 20 20 20 20 20 .<span.class="line">............
7da40 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 33 32 5f ...............<span.class="t32_
7da60 31 22 3e 5e 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 1">^</span></span>.<span.class="
7da80 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 31 5f 30 22 3e 2f 68 6f 6d 65 2f 63 line"><span.class="t1_0">/home/c
7daa0 69 2f 72 65 6c 65 61 73 65 2d 30 2e 31 30 2e 31 2f 6f 75 74 2f 7a 69 67 2d 78 38 36 5f 36 34 2d i/release-0.10.1/out/zig-x86_64-
7dac0 6c 69 6e 75 78 2d 6d 75 73 6c 2d 62 61 73 65 6c 69 6e 65 2f 6c 69 62 2f 7a 69 67 2f 73 74 64 2f linux-musl-baseline/lib/zig/std/
7dae0 73 74 61 72 74 2e 7a 69 67 3a 36 30 34 3a 32 32 3c 2f 73 70 61 6e 3e 3a 20 3c 73 70 61 6e 20 63 start.zig:604:22</span>:.<span.c
7db00 6c 61 73 73 3d 22 74 32 5f 30 22 3e 30 78 32 31 34 66 37 63 20 69 6e 20 70 6f 73 69 78 43 61 6c lass="t2_0">0x214f7c.in.posixCal
7db20 6c 4d 61 69 6e 41 6e 64 45 78 69 74 20 28 74 65 73 74 29 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e lMainAndExit.(test)</span></span
7db40 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 20 20 20 20 20 20 20 >.<span.class="line">...........
7db60 20 72 6f 6f 74 2e 6d 61 69 6e 28 29 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 .root.main();</span>.<span.class
7db80 3d 22 6c 69 6e 65 22 3e 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 3c 73 70 ="line">.....................<sp
7dba0 61 6e 20 63 6c 61 73 73 3d 22 74 33 32 5f 31 22 3e 5e 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e an.class="t32_1">^</span></span>
7dbc0 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d .<span.class="line"><span.class=
7dbe0 22 74 31 5f 30 22 3e 2f 68 6f 6d 65 2f 63 69 2f 72 65 6c 65 61 73 65 2d 30 2e 31 30 2e 31 2f 6f "t1_0">/home/ci/release-0.10.1/o
7dc00 75 74 2f 7a 69 67 2d 78 38 36 5f 36 34 2d 6c 69 6e 75 78 2d 6d 75 73 6c 2d 62 61 73 65 6c 69 6e ut/zig-x86_64-linux-musl-baselin
7dc20 65 2f 6c 69 62 2f 7a 69 67 2f 73 74 64 2f 73 74 61 72 74 2e 7a 69 67 3a 33 37 36 3a 35 3c 2f 73 e/lib/zig/std/start.zig:376:5</s
7dc40 70 61 6e 3e 3a 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 32 5f 30 22 3e 30 78 32 31 34 61 38 pan>:.<span.class="t2_0">0x214a8
7dc60 31 20 69 6e 20 5f 73 74 61 72 74 20 28 74 65 73 74 29 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 1.in._start.(test)</span></span>
7dc80 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 40 63 61 6c 6c 28 2e 7b .<span.class="line">....@call(.{
7dca0 20 2e 6d 6f 64 69 66 69 65 72 20 3d 20 2e 6e 65 76 65 72 5f 69 6e 6c 69 6e 65 20 7d 2c 20 70 6f ..modifier.=..never_inline.},.po
7dcc0 73 69 78 43 61 6c 6c 4d 61 69 6e 41 6e 64 45 78 69 74 2c 20 2e 7b 7d 29 3b 3c 2f 73 70 61 6e 3e sixCallMainAndExit,..{});</span>
7dce0 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 3c 73 70 61 6e 20 63 6c .<span.class="line">....<span.cl
7dd00 61 73 73 3d 22 74 33 32 5f 31 22 3e 5e 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 ass="t32_1">^</span></span>.<spa
7dd20 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 n.class="line"></span>.<span.cla
7dd40 73 73 3d 22 6c 69 6e 65 22 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c ss="line"></span>.<span.class="l
7dd60 69 6e 65 22 3e 41 6c 6c 20 31 20 74 65 73 74 73 20 70 61 73 73 65 64 2e 3c 2f 73 70 61 6e 3e 0a ine">All.1.tests.passed.</span>.
7dd80 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 33 20 65 72 72 6f 72 73 20 77 65 72 65 <span.class="line">3.errors.were
7dda0 20 6c 6f 67 67 65 64 2e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e .logged.</span>.<span.class="lin
7ddc0 65 22 3e 31 20 74 65 73 74 73 20 6c 65 61 6b 65 64 20 6d 65 6d 6f 72 79 2e 3c 2f 73 70 61 6e 3e e">1.tests.leaked.memory.</span>
7dde0 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 65 72 72 6f 72 3a 20 74 68 65 20 66 .<span.class="line">error:.the.f
7de00 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 69 74 ollowing.test.command.failed.wit
7de20 68 20 65 78 69 74 20 63 6f 64 65 20 31 3a 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 h.exit.code.1:</span>.<span.clas
7de40 73 3d 22 6c 69 6e 65 22 3e 2f 68 6f 6d 65 2f 63 69 2f 72 65 6c 65 61 73 65 2d 30 2e 31 30 2e 31 s="line">/home/ci/release-0.10.1
7de60 2f 6f 75 74 2f 7a 69 67 2d 6c 6f 63 61 6c 2d 63 61 63 68 65 2f 6f 2f 38 38 36 64 62 64 65 32 63 /out/zig-local-cache/o/886dbde2c
7de80 32 61 32 31 30 37 34 63 36 63 36 64 33 66 66 39 62 38 33 33 33 36 62 2f 74 65 73 74 3c 2f 73 70 2a21074c6c6d3ff9b83336b/test</sp
7dea0 61 6e 3e 0a 3c 2f 73 61 6d 70 3e 3c 2f 70 72 65 3e 3c 2f 66 69 67 75 72 65 3e 0a 20 20 20 20 20 an>.</samp></pre></figure>......
7dec0 20 3c 70 3e 0a 20 20 20 20 20 20 53 70 65 63 69 61 6c 20 63 61 72 65 20 6d 75 73 74 20 62 65 20 .<p>.......Special.care.must.be.
7dee0 74 61 6b 65 6e 20 77 69 74 68 20 63 6f 64 65 20 74 68 61 74 20 61 6c 6c 6f 63 61 74 65 73 20 69 taken.with.code.that.allocates.i
7df00 6e 20 61 20 6c 6f 6f 70 0a 20 20 20 20 20 20 74 6f 20 6d 61 6b 65 20 73 75 72 65 20 74 68 61 74 n.a.loop.......to.make.sure.that
7df20 20 6e 6f 20 6d 65 6d 6f 72 79 20 69 73 20 6c 65 61 6b 65 64 20 77 68 65 6e 20 72 65 74 75 72 6e .no.memory.is.leaked.when.return
7df40 69 6e 67 20 61 6e 20 65 72 72 6f 72 3a 0a 20 20 20 20 20 20 3c 2f 70 3e 0a 20 20 20 20 20 20 3c ing.an.error:.......</p>.......<
7df60 66 69 67 75 72 65 3e 3c 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
7df80 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 64 65 p"><cite.class="file">test_errde
7dfa0 66 65 72 5f 6c 6f 6f 70 2e 7a 69 67 3c 2f 63 69 74 65 3e 3c 2f 66 69 67 63 61 70 74 69 6f 6e 3e fer_loop.zig</cite></figcaption>
7dfc0 3c 70 72 65 3e 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 <pre><code><span.class="line"><s
7dfe0 70 61 6e 20 63 6c 61 73 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>.
7e000 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">
7e020 40 69 6d 70 6f 72 74 3c 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-
7e040 73 74 72 22 3e 26 71 75 6f 74 3b 73 74 64 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 29 3b 3c 2f 73 str">&quot;std&quot;</span>);</s
7e060 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c pan>.<span.class="line"><span.cl
7e080 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 63 6f 6e 73 74 3c 2f 73 70 61 6e 3e 20 41 6c 6c 6f 63 61 ass="tok-kw">const</span>.Alloca
7e0a0 74 6f 72 20 3d 20 73 74 64 2e 6d 65 6d 2e 41 6c 6c 6f 63 61 74 6f 72 3b 3c 2f 73 70 61 6e 3e 0a tor.=.std.mem.Allocator;</span>.
7e0c0 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e <span.class="line"></span>.<span
7e0e0 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b .class="line"><span.class="tok-k
7e100 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 73 w">const</span>.Foo.=.<span.clas
7e120 73 3d 22 74 6f 6b 2d 6b 77 22 3e 73 74 72 75 63 74 3c 2f 73 70 61 6e 3e 20 7b 3c 2f 73 70 61 6e s="tok-kw">struct</span>.{</span
7e140 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 64 61 74 61 3a 20 2a >.<span.class="line">....data:.*
7e160 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
7e180 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 7d 3b 3c 2f ></span>.<span.class="line">};</
7e1a0 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 2f 73 70 61 6e 3e span>.<span.class="line"></span>
7e1c0 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d .<span.class="line"><span.class=
7e1e0 22 74 6f 6b 2d 6b 77 22 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="
7e200 74 6f 6b 2d 66 6e 22 3e 67 65 74 44 61 74 61 3c 2f 73 70 61 6e 3e 28 29 20 21 3c 73 70 61 6e 20 tok-fn">getData</span>().!<span.
7e220 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 75 33 32 3c 2f 73 70 61 6e 3e 20 7b 3c 2f 73 class="tok-type">u32</span>.{</s
7e240 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 3c 73 70 61 pan>.<span.class="line">....<spa
7e260 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>.<
7e280 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 36 36 3c 2f 73 70 61 span.class="tok-number">666</spa
7e2a0 6e 3e 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 7d 3c n>;</span>.<span.class="line">}<
7e2c0 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 2f 73 70 61 6e /span>.<span.class="line"></span
7e2e0 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 >.<span.class="line"><span.class
7e300 3d 22 74 6f 6b 2d 6b 77 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=
7e320 22 74 6f 6b 2d 66 6e 22 3e 67 65 6e 46 6f 6f 73 3c 2f 73 70 61 6e 3e 28 61 6c 6c 6f 63 61 74 6f "tok-fn">genFoos</span>(allocato
7e340 72 3a 20 41 6c 6c 6f 63 61 74 6f 72 2c 20 6e 75 6d 3a 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 r:.Allocator,.num:.<span.class="
7e360 74 6f 6b 2d 74 79 70 65 22 3e 75 73 69 7a 65 3c 2f 73 70 61 6e 3e 29 20 21 5b 5d 46 6f 6f 20 7b tok-type">usize</span>).![]Foo.{
7e380 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 3c </span>.<span.class="line">....<
7e3a0 73 70 61 6e 20 63 6c 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
7e3c0 6f 6f 73 20 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 74 72 79 3c 2f oos.=.<span.class="tok-kw">try</
7e3e0 73 70 61 6e 3e 20 61 6c 6c 6f 63 61 74 6f 72 2e 61 6c 6c 6f 63 28 46 6f 6f 2c 20 6e 75 6d 29 3b span>.allocator.alloc(Foo,.num);
7e400 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 3c </span>.<span.class="line">....<
7e420 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 65 72 72 64 65 66 65 72 3c 2f 73 70 span.class="tok-kw">errdefer</sp
7e440 61 6e 3e 20 61 6c 6c 6f 63 61 74 6f 72 2e 66 72 65 65 28 66 6f 6f 73 29 3b 3c 2f 73 70 61 6e 3e an>.allocator.free(foos);</span>
7e460 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 .<span.class="line"></span>.<spa
7e480 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 n.class="line">....<span.class="
7e4a0 74 6f 6b 2d 63 6f 6d 6d 65 6e 74 22 3e 2f 2f 20 55 73 65 64 20 74 6f 20 74 72 61 63 6b 20 68 6f tok-comment">//.Used.to.track.ho
7e4c0 77 20 6d 61 6e 79 20 66 6f 6f 73 20 68 61 76 65 20 62 65 65 6e 20 69 6e 69 74 69 61 6c 69 7a 65 w.many.foos.have.been.initialize
7e4e0 64 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e d</span></span>.<span.class="lin
7e500 65 22 3e 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 63 6f 6d 6d 65 6e 74 22 e">....<span.class="tok-comment"
7e520 3e 2f 2f 20 28 69 6e 63 6c 75 64 69 6e 67 20 74 68 65 69 72 20 64 61 74 61 20 62 65 69 6e 67 20 >//.(including.their.data.being.
7e540 61 6c 6c 6f 63 61 74 65 64 29 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 allocated)</span></span>.<span.c
7e560 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b lass="line">....<span.class="tok
7e580 2d 6b 77 22 3e 76 61 72 3c 2f 73 70 61 6e 3e 20 6e 75 6d 5f 61 6c 6c 6f 63 61 74 65 64 3a 20 3c -kw">var</span>.num_allocated:.<
7e5a0 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
7e5c0 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<
7e5e0 2f 73 70 61 6e 3e 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 /span>;</span>.<span.class="line
7e600 22 3e 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 65 72 72 64 65 ">....<span.class="tok-kw">errde
7e620 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 6b 77 22 3e fer</span>.<span.class="tok-kw">
7e640 66 6f 72 3c 2f 73 70 61 6e 3e 28 66 6f 6f 73 5b 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b for</span>(foos[<span.class="tok
7e660 2d 6e 75 6d 62 65 72 22 3e 30 3c 2f 73 70 61 6e 3e 2e 2e 6e 75 6d 5f 61 6c 6c 6f 63 61 74 65 64 -number">0</span>..num_allocated
7e680 5d 29 20 7c 66 6f 6f 7c 20 7b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c ]).|foo|.{</span>.<span.class="l
7e6a0 69 6e 65 22 3e 20 20 20 20 20 20 20 20 61 6c 6c 6f 63 61 74 6f 72 2e 64 65 73 74 72 6f 79 28 66 ine">........allocator.destroy(f
7e6c0 6f 6f 2e 64 61 74 61 29 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 oo.data);</span>.<span.class="li
7e6e0 6e 65 22 3e 20 20 20 20 7d 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c ne">....};</span>.<span.class="l
7e700 69 6e 65 22 3e 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 66 6f ine">....<span.class="tok-kw">fo
7e720 72 3c 2f 73 70 61 6e 3e 28 66 6f 6f 73 29 20 7c 2a 66 6f 6f 2c 20 69 7c 20 7b 3c 2f 73 70 61 6e r</span>(foos).|*foo,.i|.{</span
7e740 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 20 20 20 20 66 6f 6f >.<span.class="line">........foo
7e760 2e 64 61 74 61 20 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 74 72 79 .data.=.<span.class="tok-kw">try
7e780 3c 2f 73 70 61 6e 3e 20 61 6c 6c 6f 63 61 74 6f 72 2e 63 72 65 61 74 65 28 3c 73 70 61 6e 20 63 </span>.allocator.create(<span.c
7e7a0 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 75 33 32 3c 2f 73 70 61 6e 3e 29 3b 3c 2f 73 70 lass="tok-type">u32</span>);</sp
7e7c0 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 20 20 20 20 6e an>.<span.class="line">........n
7e7e0 75 6d 5f 61 6c 6c 6f 63 61 74 65 64 20 2b 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b um_allocated.+=.<span.class="tok
7e800 2d 6e 75 6d 62 65 72 22 3e 31 3c 2f 73 70 61 6e 3e 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 -number">1</span>;</span>.<span.
7e820 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 class="line"></span>.<span.class
7e840 3d 22 6c 69 6e 65 22 3e 20 20 20 20 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b ="line">........<span.class="tok
7e860 2d 6b 77 22 3e 69 66 3c 2f 73 70 61 6e 3e 28 69 20 26 67 74 3b 3d 20 3c 73 70 61 6e 20 63 6c 61 -kw">if</span>(i.&gt;=.<span.cla
7e880 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 3c 73 70 61 6e 20 ss="tok-number">3</span>).<span.
7e8a0 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
7e8c0 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 54 an.class="tok-kw">error</span>.T
7e8e0 6f 6f 4d 61 6e 79 46 6f 6f 73 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 ooManyFoos;</span>.<span.class="
7e900 6c 69 6e 65 22 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 line"></span>.<span.class="line"
7e920 3e 20 20 20 20 20 20 20 20 66 6f 6f 2e 64 61 74 61 2e 2a 20 3d 20 3c 73 70 61 6e 20 63 6c 61 73 >........foo.data.*.=.<span.clas
7e940 73 3d 22 74 6f 6b 2d 6b 77 22 3e 74 72 79 3c 2f 73 70 61 6e 3e 20 67 65 74 44 61 74 61 28 29 3b s="tok-kw">try</span>.getData();
7e960 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 7d </span>.<span.class="line">....}
7e980 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 2f 73 70 61 </span>.<span.class="line"></spa
7e9a0 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 3c 73 70 61 6e 20 n>.<span.class="line">....<span.
7e9c0 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 72 65 74 75 72 6e 3c 2f 73 70 61 6e 3e 20 66 6f 6f class="tok-kw">return</span>.foo
7e9e0 73 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 7d 3c 2f s;</span>.<span.class="line">}</
7ea00 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 2f 73 70 61 6e 3e span>.<span.class="line"></span>
7ea20 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d .<span.class="line"><span.class=
7ea40 22 74 6f 6b 2d 6b 77 22 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
7ea60 3d 22 74 6f 6b 2d 73 74 72 22 3e 26 71 75 6f 74 3b 67 65 6e 46 6f 6f 73 26 71 75 6f 74 3b 3c 2f ="tok-str">&quot;genFoos&quot;</
7ea80 73 70 61 6e 3e 20 7b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 span>.{</span>.<span.class="line
7eaa0 22 3e 20 20 20 20 3c 73 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</
7eac0 73 70 61 6e 3e 20 73 74 64 2e 74 65 73 74 69 6e 67 2e 65 78 70 65 63 74 45 72 72 6f 72 28 3c 73 span>.std.testing.expectError(<s
7eae0 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>.
7eb00 54 6f 6f 4d 61 6e 79 46 6f 6f 73 2c 20 67 65 6e 46 6f 6f 73 28 73 74 64 2e 74 65 73 74 69 6e 67 TooManyFoos,.genFoos(std.testing
7eb20 2e 61 6c 6c 6f 63 61 74 6f 72 2c 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d .allocator,.<span.class="tok-num
7eb40 62 65 72 22 3e 35 3c 2f 73 70 61 6e 3e 29 29 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c ber">5</span>));</span>.<span.cl
7eb60 61 73 73 3d 22 6c 69 6e 65 22 3e 7d 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 3c 2f 70 72 65 3e ass="line">}</span></code></pre>
7eb80 3c 2f 66 69 67 75 72 65 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
7eba0 73 73 3d 22 73 68 65 6c 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
7ebc0 3e 3c 70 72 65 3e 3c 73 61 6d 70 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 24 ><pre><samp><span.class="line">$
7ebe0 20 3c 6b 62 64 3e 7a 69 67 20 74 65 73 74 20 74 65 73 74 5f 65 72 72 64 65 66 65 72 5f 6c 6f 6f .<kbd>zig.test.test_errdefer_loo
7ec00 70 2e 7a 69 67 3c 2f 6b 62 64 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 p.zig</kbd></span>.<span.class="
7ec20 6c 69 6e 65 22 3e 31 2f 31 20 74 65 73 74 2e 67 65 6e 46 6f 6f 73 2e 2e 2e 20 4f 4b 3c 2f 73 70 line">1/1.test.genFoos....OK</sp
7ec40 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 41 6c 6c 20 31 20 74 65 73 an>.<span.class="line">All.1.tes
7ec60 74 73 20 70 61 73 73 65 64 2e 3c 2f 73 70 61 6e 3e 0a 3c 2f 73 61 6d 70 3e 3c 2f 70 72 65 3e 3c ts.passed.</span>.</samp></pre><
7ec80 2f 66 69 67 75 72 65 3e 0a 20 20 20 20 20 20 0a 20 20 20 20 20 20 3c 70 3e 0a 20 20 20 20 20 20 /figure>..............<p>.......
7eca0 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 20 A.couple.of.other.tidbits.about.
7ecc0 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 20 error.handling:.......</p>......
7ece0 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 76 .<ul>.........<li>These.primitiv
7ed00 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 68 es.give.enough.expressiveness.th
7ed20 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 20 at.it's.completely.practical....
7ed40 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 63 .........to.have.failing.to.chec
7ed60 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 6f k.for.an.error.be.a.compile.erro
7ed80 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 20 r..If.you.really.want...........
7eda0 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 61 ..to.ignore.the.error,.you.can.a
7edc0 64 64 20 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 dd.<code><span.class="line"><spa
7ede0 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
7ee00 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</
7ee20 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 20 61 6e 64 0a 20 20 20 20 20 20 20 20 span></span></code>.and.........
7ee40 20 20 20 20 67 65 74 20 74 68 65 20 61 64 64 65 64 20 62 65 6e 65 66 69 74 20 6f 66 20 63 72 61 ....get.the.added.benefit.of.cra
7ee60 73 68 69 6e 67 20 69 6e 20 44 65 62 75 67 20 61 6e 64 20 52 65 6c 65 61 73 65 53 61 66 65 20 6d shing.in.Debug.and.ReleaseSafe.m
7ee80 6f 64 65 73 20 69 66 20 79 6f 75 72 20 61 73 73 75 6d 70 74 69 6f 6e 20 77 61 73 20 77 72 6f 6e odes.if.your.assumption.was.wron
7eea0 67 2e 0a 20 20 20 20 20 20 20 20 3c 2f 6c 69 3e 0a 20 20 20 20 20 20 20 20 3c 6c 69 3e 0a 20 20 g..........</li>.........<li>...
7eec0 20 20 20 20 20 20 20 20 53 69 6e 63 65 20 5a 69 67 20 75 6e 64 65 72 73 74 61 6e 64 73 20 65 72 ........Since.Zig.understands.er
7eee0 72 6f 72 20 74 79 70 65 73 2c 20 69 74 20 63 61 6e 20 70 72 65 2d 77 65 69 67 68 74 20 62 72 61 ror.types,.it.can.pre-weight.bra
7ef00 6e 63 68 65 73 20 69 6e 20 66 61 76 6f 72 20 6f 66 0a 20 20 20 20 20 20 20 20 20 20 65 72 72 6f nches.in.favor.of...........erro
7ef20 72 73 20 6e 6f 74 20 6f 63 63 75 72 72 69 6e 67 2e 20 4a 75 73 74 20 61 20 73 6d 61 6c 6c 20 6f rs.not.occurring..Just.a.small.o
7ef40 70 74 69 6d 69 7a 61 74 69 6f 6e 20 62 65 6e 65 66 69 74 20 74 68 61 74 20 69 73 20 6e 6f 74 20 ptimization.benefit.that.is.not.
7ef60 61 76 61 69 6c 61 62 6c 65 0a 20 20 20 20 20 20 20 20 20 20 69 6e 20 6f 74 68 65 72 20 6c 61 6e available...........in.other.lan
7ef80 67 75 61 67 65 73 2e 0a 20 20 20 20 20 20 20 20 3c 2f 6c 69 3e 0a 20 20 20 20 20 20 3c 2f 75 6c guages..........</li>.......</ul
7efa0 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
7efc0 3e 3c 61 20 68 72 65 66 3d 22 23 64 65 66 65 72 22 3e 64 65 66 65 72 3c 2f 61 3e 3c 2f 6c 69 3e ><a.href="#defer">defer</a></li>
7efe0 0a 3c 6c 69 3e 3c 61 20 68 72 65 66 3d 22 23 69 66 22 3e 69 66 3c 2f 61 3e 3c 2f 6c 69 3e 0a 3c .<li><a.href="#if">if</a></li>.<
7f000 6c 69 3e 3c 61 20 68 72 65 66 3d 22 23 73 77 69 74 63 68 22 3e 73 77 69 74 63 68 3c 2f 61 3e 3c li><a.href="#switch">switch</a><
7f020 2f 6c 69 3e 0a 3c 2f 75 6c 3e 0a 0a 0a 20 20 20 20 20 20 3c 70 3e 41 6e 20 65 72 72 6f 72 20 75 /li>.</ul>.........<p>An.error.u
7f040 6e 69 6f 6e 20 69 73 20 63 72 65 61 74 65 64 20 77 69 74 68 20 74 68 65 20 3c 63 6f 64 65 3e 3c nion.is.created.with.the.<code><
7f060 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 21 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 span.class="line">!</span></code
7f080 3e 20 62 69 6e 61 72 79 20 6f 70 65 72 61 74 6f 72 2e 0a 20 20 20 20 20 20 59 6f 75 20 63 61 6e >.binary.operator........You.can
7f0a0 20 75 73 65 20 63 6f 6d 70 69 6c 65 2d 74 69 6d 65 20 72 65 66 6c 65 63 74 69 6f 6e 20 74 6f 20 .use.compile-time.reflection.to.
7f0c0 61 63 63 65 73 73 20 74 68 65 20 63 68 69 6c 64 20 74 79 70 65 20 6f 66 20 61 6e 20 65 72 72 6f access.the.child.type.of.an.erro
7f0e0 72 20 75 6e 69 6f 6e 3a 3c 2f 70 3e 0a 20 20 20 20 20 20 3c 66 69 67 75 72 65 3e 3c 66 69 67 63 r.union:</p>.......<figure><figc
7f100 61 70 74 69 6f 6e 20 63 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
7f120 73 73 3d 22 66 69 6c 65 22 3e 74 65 73 74 5f 65 72 72 6f 72 5f 75 6e 69 6f 6e 2e 7a 69 67 3c 2f ss="file">test_error_union.zig</
7f140 63 69 74 65 3e 3c 2f 66 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
7f160 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b an.class="line"><span.class="tok
7f180 2d 6b 77 22 3e 63 6f 6e 73 74 3c 2f 73 70 61 6e 3e 20 65 78 70 65 63 74 20 3d 20 3c 73 70 61 6e -kw">const</span>.expect.=.<span
7f1a0 20 63 6c 61 73 73 3d 22 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
7f1c0 61 6e 3e 28 3c 73 70 61 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;
7f1e0 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
7f200 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 2f 73 70 ;</span>.<span.class="line"></sp
7f220 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 an>.<span.class="line"><span.cla
7f240 73 73 3d 22 74 6f 6b 2d 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
7f260 61 73 73 3d 22 74 6f 6b 2d 73 74 72 22 3e 26 71 75 6f 74 3b 65 72 72 6f 72 20 75 6e 69 6f 6e 26 ass="tok-str">&quot;error.union&
7f280 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 20 7b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 quot;</span>.{</span>.<span.clas
7f2a0 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 s="line">....<span.class="tok-kw
7f2c0 22 3e 76 61 72 3c 2f 73 70 61 6e 3e 20 66 6f 6f 3a 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 ">var</span>.foo:.<span.class="t
7f2e0 6f 6b 2d 74 79 70 65 22 3e 61 6e 79 65 72 72 6f 72 3c 2f 73 70 61 6e 3e 21 3c 73 70 61 6e 20 63 ok-type">anyerror</span>!<span.c
7f300 6c 61 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
7f320 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
7f340 70 61 6e 3e 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e pan>;</span>.<span.class="line">
7f360 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 3c </span>.<span.class="line">....<
7f380 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 63 6f 6d 6d 65 6e 74 22 3e 2f 2f 20 43 6f 65 72 span.class="tok-comment">//.Coer
7f3a0 63 65 20 66 72 6f 6d 20 63 68 69 6c 64 20 74 79 70 65 20 6f 66 20 61 6e 20 65 72 72 6f 72 20 75 ce.from.child.type.of.an.error.u
7f3c0 6e 69 6f 6e 3a 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d nion:</span></span>.<span.class=
7f3e0 22 6c 69 6e 65 22 3e 20 20 20 20 66 6f 6f 20 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f "line">....foo.=.<span.class="to
7f400 6b 2d 6e 75 6d 62 65 72 22 3e 31 32 33 34 3c 2f 73 70 61 6e 3e 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 k-number">1234</span>;</span>.<s
7f420 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 pan.class="line"></span>.<span.c
7f440 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b lass="line">....<span.class="tok
7f460 2d 63 6f 6d 6d 65 6e 74 22 3e 2f 2f 20 43 6f 65 72 63 65 20 66 72 6f 6d 20 61 6e 20 65 72 72 6f -comment">//.Coerce.from.an.erro
7f480 72 20 73 65 74 3a 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 r.set:</span></span>.<span.class
7f4a0 3d 22 6c 69 6e 65 22 3e 20 20 20 20 66 6f 6f 20 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 ="line">....foo.=.<span.class="t
7f4c0 6f 6b 2d 6b 77 22 3e 65 72 72 6f 72 3c 2f 73 70 61 6e 3e 2e 53 6f 6d 65 45 72 72 6f 72 3b 3c 2f ok-kw">error</span>.SomeError;</
7f4e0 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 2f 73 70 61 6e 3e span>.<span.class="line"></span>
7f500 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 3c 73 70 61 6e 20 63 6c .<span.class="line">....<span.cl
7f520 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 65 ass="tok-comment">//.Use.compile
7f540 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 70 -time.reflection.to.access.the.p
7f560 61 79 6c 6f 61 64 20 74 79 70 65 20 6f 66 20 61 6e 20 65 72 72 6f 72 20 75 6e 69 6f 6e 3a 3c 2f ayload.type.of.an.error.union:</
7f580 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e span></span>.<span.class="line">
7f5a0 20 20 20 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
7f5c0 65 3c 2f 73 70 61 6e 3e 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 74 72 e</span>.<span.class="tok-kw">tr
7f5e0 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
7f600 2d 62 75 69 6c 74 69 6e 22 3e 40 74 79 70 65 49 6e 66 6f 3c 2f 73 70 61 6e 3e 28 3c 73 70 61 6e -builtin">@typeInfo</span>(<span
7f620 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
7f640 61 6e 3e 28 66 6f 6f 29 29 2e 45 72 72 6f 72 55 6e 69 6f 6e 2e 70 61 79 6c 6f 61 64 20 3d 3d 20 an>(foo)).ErrorUnion.payload.==.
7f660 3c 73 70 61 6e 20 63 6c 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
7f680 3e 29 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 2f >);</span>.<span.class="line"></
7f6a0 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 3c 73 70 span>.<span.class="line">....<sp
7f6c0 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 63 6f 6d 6d 65 6e 74 22 3e 2f 2f 20 55 73 65 20 63 6f an.class="tok-comment">//.Use.co
7f6e0 6d 70 69 6c 65 2d 74 69 6d 65 20 72 65 66 6c 65 63 74 69 6f 6e 20 74 6f 20 61 63 63 65 73 73 20 mpile-time.reflection.to.access.
7f700 74 68 65 20 65 72 72 6f 72 20 73 65 74 20 74 79 70 65 20 6f 66 20 61 6e 20 65 72 72 6f 72 20 75 the.error.set.type.of.an.error.u
7f720 6e 69 6f 6e 3a 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d nion:</span></span>.<span.class=
7f740 22 6c 69 6e 65 22 3e 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e "line">....<span.class="tok-kw">
7f760 63 6f 6d 70 74 69 6d 65 3c 2f 73 70 61 6e 3e 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b comptime</span>.<span.class="tok
7f780 2d 6b 77 22 3e 74 72 79 3c 2f 73 70 61 6e 3e 20 65 78 70 65 63 74 28 3c 73 70 61 6e 20 63 6c 61 -kw">try</span>.expect(<span.cla
7f7a0 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
7f7c0 3e 28 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 62 75 69 6c 74 69 6e 22 3e 40 54 79 70 >(<span.class="tok-builtin">@Typ
7f7e0 65 4f 66 3c 2f 73 70 61 6e 3e 28 66 6f 6f 29 29 2e 45 72 72 6f 72 55 6e 69 6f 6e 2e 65 72 72 6f eOf</span>(foo)).ErrorUnion.erro
7f800 72 5f 73 65 74 20 3d 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e r_set.==.<span.class="tok-type">
7f820 61 6e 79 65 72 72 6f 72 3c 2f 73 70 61 6e 3e 29 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 anyerror</span>);</span>.<span.c
7f840 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 7d 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 3c 2f 70 72 65 lass="line">}</span></code></pre
7f860 3e 3c 2f 66 69 67 75 72 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
7f880 61 73 73 3d 22 73 68 65 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
7f8a0 6e 3e 3c 70 72 65 3e 3c 73 61 6d 70 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e n><pre><samp><span.class="line">
7f8c0 24 20 3c 6b 62 64 3e 7a 69 67 20 74 65 73 74 20 74 65 73 74 5f 65 72 72 6f 72 5f 75 6e 69 6f 6e $.<kbd>zig.test.test_error_union
7f8e0 2e 7a 69 67 3c 2f 6b 62 64 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c .zig</kbd></span>.<span.class="l
7f900 69 6e 65 22 3e 31 2f 31 20 74 65 73 74 2e 65 72 72 6f 72 20 75 6e 69 6f 6e 2e 2e 2e 20 4f 4b 3c ine">1/1.test.error.union....OK<
7f920 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 41 6c 6c 20 31 20 /span>.<span.class="line">All.1.
7f940 74 65 73 74 73 20 70 61 73 73 65 64 2e 3c 2f 73 70 61 6e 3e 0a 3c 2f 73 61 6d 70 3e 3c 2f 70 72 tests.passed.</span>.</samp></pr
7f960 65 3e 3c 2f 66 69 67 75 72 65 3e 0a 20 20 20 20 20 20 3c 68 34 20 69 64 3d 22 4d 65 72 67 69 6e e></figure>.......<h4.id="Mergin
7f980 67 2d 45 72 72 6f 72 2d 53 65 74 73 22 3e 3c 61 20 68 72 65 66 3d 22 23 74 6f 63 2d 4d 65 72 67 g-Error-Sets"><a.href="#toc-Merg
7f9a0 69 6e 67 2d 45 72 72 6f 72 2d 53 65 74 73 22 3e 4d 65 72 67 69 6e 67 20 45 72 72 6f 72 20 53 65 ing-Error-Sets">Merging.Error.Se
7f9c0 74 73 3c 2f 61 3e 20 3c 61 20 63 6c 61 73 73 3d 22 68 64 72 22 20 68 72 65 66 3d 22 23 4d 65 72 ts</a>.<a.class="hdr".href="#Mer
7f9e0 67 69 6e 67 2d 45 72 72 6f 72 2d 53 65 74 73 22 3e c2 a7 3c 2f 61 3e 3c 2f 68 34 3e 0a 0a 20 20 ging-Error-Sets">..</a></h4>....
7fa00 20 20 20 20 3c 70 3e 0a 20 20 20 20 20 20 55 73 65 20 74 68 65 20 3c 63 6f 64 65 3e 3c 73 70 61 ....<p>.......Use.the.<code><spa
7fa20 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 7c 7c 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 20 n.class="line">||</span></code>.
7fa40 6f 70 65 72 61 74 6f 72 20 74 6f 20 6d 65 72 67 65 20 74 77 6f 20 65 72 72 6f 72 20 73 65 74 73 operator.to.merge.two.error.sets
7fa60 20 74 6f 67 65 74 68 65 72 2e 20 54 68 65 20 72 65 73 75 6c 74 69 6e 67 0a 20 20 20 20 20 20 65 .together..The.resulting.......e
7fa80 72 72 6f 72 20 73 65 74 20 63 6f 6e 74 61 69 6e 73 20 74 68 65 20 65 72 72 6f 72 73 20 6f 66 20 rror.set.contains.the.errors.of.
7faa0 62 6f 74 68 20 65 72 72 6f 72 20 73 65 74 73 2e 20 44 6f 63 20 63 6f 6d 6d 65 6e 74 73 20 66 72 both.error.sets..Doc.comments.fr
7fac0 6f 6d 20 74 68 65 20 6c 65 66 74 2d 68 61 6e 64 0a 20 20 20 20 20 20 73 69 64 65 20 6f 76 65 72 om.the.left-hand.......side.over
7fae0 72 69 64 65 20 64 6f 63 20 63 6f 6d 6d 65 6e 74 73 20 66 72 6f 6d 20 74 68 65 20 72 69 67 68 74 ride.doc.comments.from.the.right
7fb00 2d 68 61 6e 64 20 73 69 64 65 2e 20 49 6e 20 74 68 69 73 20 65 78 61 6d 70 6c 65 2c 20 74 68 65 -hand.side..In.this.example,.the
7fb20 20 64 6f 63 0a 20 20 20 20 20 20 63 6f 6d 6d 65 6e 74 73 20 66 6f 72 20 3c 63 6f 64 65 3e 3c 73 .doc.......comments.for.<code><s
7fb40 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 43 2e 50 61 74 68 4e 6f 74 46 6f 75 6e 64 3c pan.class="line">C.PathNotFound<
7fb60 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 20 69 73 20 3c 63 6f 64 65 3e 41 20 64 6f 63 20 63 6f 6d /span></code>.is.<code>A.doc.com
7fb80 6d 65 6e 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 ment</code>........</p>.......<p
7fba0 3e 0a 20 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 >.......This.is.especially.usefu
7fbc0 6c 20 66 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 l.for.functions.which.return.dif
7fbe0 66 65 72 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 ferent.error.sets.depending.....
7fc00 20 20 6f 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 ..on.<a.href="#comptime">comptim
7fc20 65 3c 2f 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 e</a>.branches..For.example,.the
7fc40 20 5a 69 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 .Zig.standard.library.uses......
7fc60 20 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 4c 69 6e 75 78 46 .<code><span.class="line">LinuxF
7fc80 69 6c 65 4f 70 65 6e 45 72 72 6f 72 20 7c 7c 20 57 69 6e 64 6f 77 73 46 69 6c 65 4f 70 65 6e 45 ileOpenError.||.WindowsFileOpenE
7fca0 72 72 6f 72 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 20 66 6f 72 20 74 68 65 20 65 72 72 6f 72 rror</span></code>.for.the.error
7fcc0 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 20 20 20 .set.of.opening.......files.....
7fce0 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
7fd00 6e 20 63 6c 61 73 73 3d 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
7fd20 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 7a 69 67 ile">test_merging_error_sets.zig
7fd40 3c 2f 63 69 74 65 3e 3c 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><
7fd60 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 span.class="line"><span.class="t
7fd80 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 20 63 6c ok-kw">const</span>.A.=.<span.cl
7fda0 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 65 72 72 6f 72 3c 2f 73 70 61 6e 3e 7b 3c 2f 73 70 61 6e ass="tok-kw">error</span>{</span
7fdc0 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 4e 6f 74 44 69 72 2c >.<span.class="line">....NotDir,
7fde0 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 2f 73 70 61 </span>.<span.class="line"></spa
7fe00 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 3c 73 70 61 6e 20 n>.<span.class="line">....<span.
7fe20 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 63 6f class="tok-comment">///.A.doc.co
7fe40 6d 6d 65 6e 74 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d mment</span></span>.<span.class=
7fe60 22 6c 69 6e 65 22 3e 20 20 20 20 50 61 74 68 4e 6f 74 46 6f 75 6e 64 2c 3c 2f 73 70 61 6e 3e 0a "line">....PathNotFound,</span>.
7fe80 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 7d 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 <span.class="line">};</span>.<sp
7fea0 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b an.class="line"><span.class="tok
7fec0 2d 6b 77 22 3e 63 6f 6e 73 74 3c 2f 73 70 61 6e 3e 20 42 20 3d 20 3c 73 70 61 6e 20 63 6c 61 73 -kw">const</span>.B.=.<span.clas
7fee0 73 3d 22 74 6f 6b 2d 6b 77 22 3e 65 72 72 6f 72 3c 2f 73 70 61 6e 3e 7b 3c 2f 73 70 61 6e 3e 0a s="tok-kw">error</span>{</span>.
7ff00 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 4f 75 74 4f 66 4d 65 6d 6f <span.class="line">....OutOfMemo
7ff20 72 79 2c 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 2f ry,</span>.<span.class="line"></
7ff40 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 3c 73 70 span>.<span.class="line">....<sp
7ff60 61 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 42 20 64 6f 63 an.class="tok-comment">///.B.doc
7ff80 20 63 6f 6d 6d 65 6e 74 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 .comment</span></span>.<span.cla
7ffa0 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 50 61 74 68 4e 6f 74 46 6f 75 6e 64 2c 3c 2f 73 70 61 ss="line">....PathNotFound,</spa
7ffc0 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 7d 3b 3c 2f 73 70 61 6e 3e 0a n>.<span.class="line">};</span>.
7ffe0 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e <span.class="line"></span>.<span
80000 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b .class="line"><span.class="tok-k
80020 77 22 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 3c 2f 73 70 61 w">const</span>.C.=.A.||.B;</spa
80040 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 n>.<span.class="line"></span>.<s
80060 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f pan.class="line"><span.class="to
80080 6b 2d 6b 77 22 3e 66 6e 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
800a0 2d 66 6e 22 3e 66 6f 6f 3c 2f 73 70 61 6e 3e 28 29 20 43 21 3c 73 70 61 6e 20 63 6c 61 73 73 3d -fn">foo</span>().C!<span.class=
800c0 22 74 6f 6b 2d 74 79 70 65 22 3e 76 6f 69 64 3c 2f 73 70 61 6e 3e 20 7b 3c 2f 73 70 61 6e 3e 0a "tok-type">void</span>.{</span>.
800e0 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 <span.class="line">....<span.cla
80100 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.
80120 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 74 44 class="tok-kw">error</span>.NotD
80140 69 72 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 7d 3c ir;</span>.<span.class="line">}<
80160 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 2f 73 70 61 6e /span>.<span.class="line"></span
80180 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 >.<span.class="line"><span.class
801a0 3d 22 74 6f 6b 2d 6b 77 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
801c0 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 73 65 s="tok-str">&quot;merge.error.se
801e0 74 73 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 20 7b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 ts&quot;</span>.{</span>.<span.c
80200 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b lass="line">....<span.class="tok
80220 2d 6b 77 22 3e 69 66 3c 2f 73 70 61 6e 3e 20 28 66 6f 6f 28 29 29 20 7b 3c 2f 73 70 61 6e 3e 0a -kw">if</span>.(foo()).{</span>.
80240 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 20 20 20 20 3c 73 70 61 6e <span.class="line">........<span
80260 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
80280 6e 3e 28 3c 73 70 61 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
802a0 6e 65 78 70 65 63 74 65 64 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 29 3b 3c 2f 73 70 61 6e 3e 0a nexpected&quot;</span>);</span>.
802c0 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 7d 20 3c 73 70 61 6e 20 63 <span.class="line">....}.<span.c
802e0 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|.
80300 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
80320 6e 3e 20 28 65 72 72 29 20 7b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c n>.(err).{</span>.<span.class="l
80340 69 6e 65 22 3e 20 20 20 20 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 ine">........<span.class="tok-kw
80360 22 3e 65 72 72 6f 72 3c 2f 73 70 61 6e 3e 2e 4f 75 74 4f 66 4d 65 6d 6f 72 79 20 3d 26 67 74 3b ">error</span>.OutOfMemory.=&gt;
80380 20 3c 73 70 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 .<span.class="tok-builtin">@pani
803a0 63 3c 2f 73 70 61 6e 3e 28 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 73 74 72 22 3e 26 c</span>(<span.class="tok-str">&
803c0 71 75 6f 74 3b 75 6e 65 78 70 65 63 74 65 64 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 29 2c 3c 2f quot;unexpected&quot;</span>),</
803e0 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 20 20 20 span>.<span.class="line">.......
80400 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
80420 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
80440 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
80460 70 61 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
80480 63 74 65 64 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 29 2c 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e cted&quot;</span>),</span>.<span
804a0 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 .class="line">........<span.clas
804c0 73 3d 22 74 6f 6b 2d 6b 77 22 3e 65 72 72 6f 72 3c 2f 73 70 61 6e 3e 2e 4e 6f 74 44 69 72 20 3d s="tok-kw">error</span>.NotDir.=
804e0 26 67 74 3b 20 7b 7d 2c 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e &gt;.{},</span>.<span.class="lin
80500 65 22 3e 20 20 20 20 7d 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e e">....}</span>.<span.class="lin
80520 65 22 3e 7d 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 3c 2f 70 72 65 3e 3c 2f 66 69 67 75 72 65 e">}</span></code></pre></figure
80540 3e 3c 66 69 67 75 72 65 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
80560 6c 2d 63 61 70 22 3e 53 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
80580 61 6d 70 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 24 20 3c 6b 62 64 3e 7a 69 amp><span.class="line">$.<kbd>zi
805a0 67 20 74 65 73 74 20 74 65 73 74 5f 6d 65 72 67 69 6e 67 5f 65 72 72 6f 72 5f 73 65 74 73 2e 7a g.test.test_merging_error_sets.z
805c0 69 67 3c 2f 6b 62 64 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e ig</kbd></span>.<span.class="lin
805e0 65 22 3e 31 2f 31 20 74 65 73 74 2e 6d 65 72 67 65 20 65 72 72 6f 72 20 73 65 74 73 2e 2e 2e 20 e">1/1.test.merge.error.sets....
80600 4f 4b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 41 6c 6c OK</span>.<span.class="line">All
80620 20 31 20 74 65 73 74 73 20 70 61 73 73 65 64 2e 3c 2f 73 70 61 6e 3e 0a 3c 2f 73 61 6d 70 3e 3c .1.tests.passed.</span>.</samp><
80640 2f 70 72 65 3e 3c 2f 66 69 67 75 72 65 3e 0a 20 20 20 20 20 20 0a 20 20 20 20 20 20 3c 68 34 20 /pre></figure>..............<h4.
80660 69 64 3d 22 49 6e 66 65 72 72 65 64 2d 45 72 72 6f 72 2d 53 65 74 73 22 3e 3c 61 20 68 72 65 66 id="Inferred-Error-Sets"><a.href
80680 3d 22 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 ="#toc-Inferred-Error-Sets">Infe
806a0 72 72 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 rred.Error.Sets</a>.<a.class="hd
806c0 72 22 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 r".href="#Inferred-Error-Sets">.
806e0 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 42 65 63 61 .</a></h4>........<p>.......Beca
80700 75 73 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 use.many.functions.in.Zig.return
80720 20 61 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 .a.possible.error,.Zig.supports.
80740 69 6e 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 inferring.the.error.set........T
80760 6f 20 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 o.infer.the.error.set.for.a.func
80780 74 69 6f 6e 2c 20 70 72 65 70 65 6e 64 20 74 68 65 20 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c tion,.prepend.the.<code><span.cl
807a0 61 73 73 3d 22 6c 69 6e 65 22 3e 21 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 20 6f 70 65 72 61 ass="line">!</span></code>.opera
807c0 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 72 6e 20 74 tor.to.the.function...s.return.t
807e0 79 70 65 2c 20 6c 69 6b 65 20 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e ype,.like.<code><span.class="lin
80800 65 22 3e 21 54 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 3a 0a 20 20 20 20 20 20 3c 2f 70 3e 0a e">!T</span></code>:.......</p>.
80820 3c 66 69 67 75 72 65 3e 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
80840 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 66 65 72 72 65 64 5f ap"><cite.class="file">inferred_
80860 65 72 72 6f 72 5f 73 65 74 73 2e 7a 69 67 3c 2f 63 69 74 65 3e 3c 2f 66 69 67 63 61 70 74 69 6f error_sets.zig</cite></figcaptio
80880 6e 3e 3c 70 72 65 3e 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e n><pre><code><span.class="line">
808a0 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 63 6f 6d 6d 65 6e 74 22 3e 2f 2f 20 57 69 74 <span.class="tok-comment">//.Wit
808c0 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 3c 2f h.an.inferred.error.set</span></
808e0 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 span>.<span.class="line"><span.c
80900 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
80920 6c 61 73 73 3d 22 74 6f 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
80940 61 73 73 3d 22 74 6f 6b 2d 66 6e 22 3e 61 64 64 5f 69 6e 66 65 72 72 65 64 3c 2f 73 70 61 6e 3e ass="tok-fn">add_inferred</span>
80960 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</
80980 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">
809a0 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 21 54 20 7b 3c 2f 73 type</span>,.a:.T,.b:.T).!T.{</s
809c0 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 3c 73 70 61 pan>.<span.class="line">....<spa
809e0 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 76 61 72 3c 2f 73 70 61 6e 3e 20 61 6e 73 77 n.class="tok-kw">var</span>.answ
80a00 65 72 3a 20 54 20 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6c 6c 22 3e 75 er:.T.=.<span.class="tok-null">u
80a20 6e 64 65 66 69 6e 65 64 3c 2f 73 70 61 6e 3e 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c ndefined</span>;</span>.<span.cl
80a40 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d ass="line">....<span.class="tok-
80a60 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
80a80 6f 6b 2d 6b 77 22 3e 69 66 3c 2f 73 70 61 6e 3e 20 28 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 ok-kw">if</span>.(<span.class="t
80aa0 6f 6b 2d 62 75 69 6c 74 69 6e 22 3e 40 61 64 64 57 69 74 68 4f 76 65 72 66 6c 6f 77 3c 2f 73 70 ok-builtin">@addWithOverflow</sp
80ac0 61 6e 3e 28 54 2c 20 61 2c 20 62 2c 20 26 61 6d 70 3b 61 6e 73 77 65 72 29 29 20 3c 73 70 61 6e an>(T,.a,.b,.&amp;answer)).<span
80ae0 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
80b00 72 66 6c 6f 77 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 65 6c 73 65 3c rflow.<span.class="tok-kw">else<
80b20 2f 73 70 61 6e 3e 20 61 6e 73 77 65 72 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 /span>.answer;</span>.<span.clas
80b40 73 3d 22 6c 69 6e 65 22 3e 7d 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c s="line">}</span>.<span.class="l
80b60 69 6e 65 22 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e ine"></span>.<span.class="line">
80b80 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 63 6f 6d 6d 65 6e 74 22 3e 2f 2f 20 57 69 74 <span.class="tok-comment">//.Wit
80ba0 68 20 61 6e 20 65 78 70 6c 69 63 69 74 20 65 72 72 6f 72 20 73 65 74 3c 2f 73 70 61 6e 3e 3c 2f h.an.explicit.error.set</span></
80bc0 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 span>.<span.class="line"><span.c
80be0 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
80c00 6c 61 73 73 3d 22 74 6f 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
80c20 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>
80c40 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</
80c60 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">
80c80 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
80ca0 20 7b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 .{</span>.<span.class="line">...
80cc0 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>
80ce0 20 61 6e 73 77 65 72 3a 20 54 20 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 .answer:.T.=.<span.class="tok-nu
80d00 6c 6c 22 3e 75 6e 64 65 66 69 6e 65 64 3c 2f 73 70 61 6e 3e 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 ll">undefined</span>;</span>.<sp
80d20 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d an.class="line">....<span.class=
80d40 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
80d60 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 69 66 3c 2f 73 70 61 6e 3e 20 28 3c 73 70 61 6e 20 63 6c 61 ss="tok-kw">if</span>.(<span.cla
80d80 73 73 3d 22 74 6f 6b 2d 62 75 69 6c 74 69 6e 22 3e 40 61 64 64 57 69 74 68 4f 76 65 72 66 6c 6f ss="tok-builtin">@addWithOverflo
80da0 77 3c 2f 73 70 61 6e 3e 28 54 2c 20 61 2c 20 62 2c 20 26 61 6d 70 3b 61 6e 73 77 65 72 29 29 20 w</span>(T,.a,.b,.&amp;answer)).
80dc0 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
80de0 3e 2e 4f 76 65 72 66 6c 6f 77 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e >.Overflow.<span.class="tok-kw">
80e00 65 6c 73 65 3c 2f 73 70 61 6e 3e 20 61 6e 73 77 65 72 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e else</span>.answer;</span>.<span
80e20 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 7d 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 .class="line">}</span>.<span.cla
80e40 73 73 3d 22 6c 69 6e 65 22 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c ss="line"></span>.<span.class="l
80e60 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 63 6f 6e 73 74 3c ine"><span.class="tok-kw">const<
80e80 2f 73 70 61 6e 3e 20 45 72 72 6f 72 20 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d /span>.Error.=.<span.class="tok-
80ea0 6b 77 22 3e 65 72 72 6f 72 3c 2f 73 70 61 6e 3e 20 7b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 kw">error</span>.{</span>.<span.
80ec0 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 4f 76 65 72 66 6c 6f 77 2c 3c 2f 73 70 61 6e class="line">....Overflow,</span
80ee0 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 7d 3b 3c 2f 73 70 61 6e 3e 0a 3c >.<span.class="line">};</span>.<
80f00 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 span.class="line"></span>.<span.
80f20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 class="line"><span.class="tok-kw
80f40 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
80f60 3d 22 74 6f 6b 2d 62 75 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
80f80 70 61 6e 20 63 6c 61 73 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
80fa0 6f 74 3b 3c 2f 73 70 61 6e 3e 29 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d ot;</span>);</span>.<span.class=
80fc0 22 6c 69 6e 65 22 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 "line"></span>.<span.class="line
80fe0 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 74 65 73 74 3c 2f 73 70 61 "><span.class="tok-kw">test</spa
81000 6e 3e 20 3c 73 70 61 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
81020 6e 66 65 72 72 65 64 20 65 72 72 6f 72 20 73 65 74 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 20 7b nferred.error.set&quot;</span>.{
81040 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 3c </span>.<span.class="line">....<
81060 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 69 66 3c 2f 73 70 61 6e 3e 20 28 61 span.class="tok-kw">if</span>.(a
81080 64 64 5f 69 6e 66 65 72 72 65 64 28 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 dd_inferred(<span.class="tok-typ
810a0 65 22 3e 75 38 3c 2f 73 70 61 6e 3e 2c 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e e">u8</span>,.<span.class="tok-n
810c0 75 6d 62 65 72 22 3e 32 35 35 3c 2f 73 70 61 6e 3e 2c 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 umber">255</span>,.<span.class="
810e0 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 31 3c 2f 73 70 61 6e 3e 29 29 20 7c 5f 7c 20 3c 73 70 61 6e tok-number">1</span>)).|_|.<span
81100 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
81120 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
81140 61 6e 3e 20 7c 65 72 72 7c 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 73 an>.|err|.<span.class="tok-kw">s
81160 77 69 74 63 68 3c 2f 73 70 61 6e 3e 20 28 65 72 72 29 20 7b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 witch</span>.(err).{</span>.<spa
81180 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 n.class="line">........<span.cla
811a0 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
811c0 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 6d w.=&gt;.{},.<span.class="tok-com
811e0 6d 65 6e 74 22 3e 2f 2f 20 6f 6b 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 ment">//.ok</span></span>.<span.
81200 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 7d 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 class="line">....}</span>.<span.
81220 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 7d 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 3c 2f 70 72 class="line">}</span></code></pr
81240 65 3e 3c 2f 66 69 67 75 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
81260 6c 61 73 73 3d 22 73 68 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
81280 6f 6e 3e 3c 70 72 65 3e 3c 73 61 6d 70 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 on><pre><samp><span.class="line"
812a0 3e 24 20 3c 6b 62 64 3e 7a 69 67 20 74 65 73 74 20 69 6e 66 65 72 72 65 64 5f 65 72 72 6f 72 5f >$.<kbd>zig.test.inferred_error_
812c0 73 65 74 73 2e 7a 69 67 3c 2f 6b 62 64 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 sets.zig</kbd></span>.<span.clas
812e0 73 3d 22 6c 69 6e 65 22 3e 31 2f 31 20 74 65 73 74 2e 69 6e 66 65 72 72 65 64 20 65 72 72 6f 72 s="line">1/1.test.inferred.error
81300 20 73 65 74 2e 2e 2e 20 4f 4b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c .set....OK</span>.<span.class="l
81320 69 6e 65 22 3e 41 6c 6c 20 31 20 74 65 73 74 73 20 70 61 73 73 65 64 2e 3c 2f 73 70 61 6e 3e 0a ine">All.1.tests.passed.</span>.
81340 3c 2f 73 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>
81360 0a 20 20 20 20 20 20 57 68 65 6e 20 61 20 66 75 6e 63 74 69 6f 6e 20 68 61 73 20 61 6e 20 69 6e .......When.a.function.has.an.in
81380 66 65 72 72 65 64 20 65 72 72 6f 72 20 73 65 74 2c 20 74 68 61 74 20 66 75 6e 63 74 69 6f 6e 20 ferred.error.set,.that.function.
813a0 62 65 63 6f 6d 65 73 20 67 65 6e 65 72 69 63 20 61 6e 64 20 74 68 75 73 20 69 74 20 62 65 63 6f becomes.generic.and.thus.it.beco
813c0 6d 65 73 0a 20 20 20 20 20 20 74 72 69 63 6b 69 65 72 20 74 6f 20 64 6f 20 63 65 72 74 61 69 6e mes.......trickier.to.do.certain
813e0 20 74 68 69 6e 67 73 20 77 69 74 68 20 69 74 2c 20 73 75 63 68 20 61 73 20 6f 62 74 61 69 6e 20 .things.with.it,.such.as.obtain.
81400 61 20 66 75 6e 63 74 69 6f 6e 20 70 6f 69 6e 74 65 72 2c 20 6f 72 20 68 61 76 65 20 61 6e 20 65 a.function.pointer,.or.have.an.e
81420 72 72 6f 72 0a 20 20 20 20 20 20 73 65 74 20 74 68 61 74 20 69 73 20 63 6f 6e 73 69 73 74 65 6e rror.......set.that.is.consisten
81440 74 20 61 63 72 6f 73 73 20 64 69 66 66 65 72 65 6e 74 20 62 75 69 6c 64 20 74 61 72 67 65 74 73 t.across.different.build.targets
81460 2e 20 41 64 64 69 74 69 6f 6e 61 6c 6c 79 2c 20 69 6e 66 65 72 72 65 64 20 65 72 72 6f 72 20 73 ..Additionally,.inferred.error.s
81480 65 74 73 0a 20 20 20 20 20 20 61 72 65 20 69 6e 63 6f 6d 70 61 74 69 62 6c 65 20 77 69 74 68 20 ets.......are.incompatible.with.
814a0 72 65 63 75 72 73 69 6f 6e 2e 0a 20 20 20 20 20 20 3c 2f 70 3e 0a 20 20 20 20 20 20 3c 70 3e 0a recursion........</p>.......<p>.
814c0 20 20 20 20 20 20 49 6e 20 74 68 65 73 65 20 73 69 74 75 61 74 69 6f 6e 73 2c 20 69 74 20 69 73 ......In.these.situations,.it.is
814e0 20 72 65 63 6f 6d 6d 65 6e 64 65 64 20 74 6f 20 75 73 65 20 61 6e 20 65 78 70 6c 69 63 69 74 20 .recommended.to.use.an.explicit.
81500 65 72 72 6f 72 20 73 65 74 2e 20 59 6f 75 20 63 61 6e 20 67 65 6e 65 72 61 6c 6c 79 20 73 74 61 error.set..You.can.generally.sta
81520 72 74 0a 20 20 20 20 20 20 77 69 74 68 20 61 6e 20 65 6d 70 74 79 20 65 72 72 6f 72 20 73 65 74 rt.......with.an.empty.error.set
81540 20 61 6e 64 20 6c 65 74 20 63 6f 6d 70 69 6c 65 20 65 72 72 6f 72 73 20 67 75 69 64 65 20 79 6f .and.let.compile.errors.guide.yo
81560 75 20 74 6f 77 61 72 64 20 63 6f 6d 70 6c 65 74 69 6e 67 20 74 68 65 20 73 65 74 2e 0a 20 20 20 u.toward.completing.the.set.....
81580 20 20 20 3c 2f 70 3e 0a 20 20 20 20 20 20 3c 70 3e 0a 20 20 20 20 20 20 54 68 65 73 65 20 6c 69 ...</p>.......<p>.......These.li
815a0 6d 69 74 61 74 69 6f 6e 73 20 6d 61 79 20 62 65 20 6f 76 65 72 63 6f 6d 65 20 69 6e 20 61 20 66 mitations.may.be.overcome.in.a.f
815c0 75 74 75 72 65 20 76 65 72 73 69 6f 6e 20 6f 66 20 5a 69 67 2e 0a 20 20 20 20 20 20 3c 2f 70 3e uture.version.of.Zig........</p>
815e0 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 45 72 72 .....................<h3.id="Err
81600 6f 72 2d 52 65 74 75 72 6e 2d 54 72 61 63 65 73 22 3e 3c 61 20 68 72 65 66 3d 22 23 74 6f 63 2d or-Return-Traces"><a.href="#toc-
81620 45 72 72 6f 72 2d 52 65 74 75 72 6e 2d 54 72 61 63 65 73 22 3e 45 72 72 6f 72 20 52 65 74 75 72 Error-Return-Traces">Error.Retur
81640 6e 20 54 72 61 63 65 73 3c 2f 61 3e 20 3c 61 20 63 6c 61 73 73 3d 22 68 64 72 22 20 68 72 65 66 n.Traces</a>.<a.class="hdr".href
81660 3d 22 23 45 72 72 6f 72 2d 52 65 74 75 72 6e 2d 54 72 61 63 65 73 22 3e c2 a7 3c 2f 61 3e 3c 2f ="#Error-Return-Traces">..</a></
81680 68 33 3e 0a 0a 20 20 20 20 20 20 3c 70 3e 0a 20 20 20 20 20 20 45 72 72 6f 72 20 52 65 74 75 72 h3>........<p>.......Error.Retur
816a0 6e 20 54 72 61 63 65 73 20 73 68 6f 77 20 61 6c 6c 20 74 68 65 20 70 6f 69 6e 74 73 20 69 6e 20 n.Traces.show.all.the.points.in.
816c0 74 68 65 20 63 6f 64 65 20 74 68 61 74 20 61 6e 20 65 72 72 6f 72 20 77 61 73 20 72 65 74 75 72 the.code.that.an.error.was.retur
816e0 6e 65 64 20 74 6f 20 74 68 65 20 63 61 6c 6c 69 6e 67 20 66 75 6e 63 74 69 6f 6e 2e 20 54 68 69 ned.to.the.calling.function..Thi
81700 73 20 6d 61 6b 65 73 20 69 74 20 70 72 61 63 74 69 63 61 6c 20 74 6f 20 75 73 65 20 3c 61 20 68 s.makes.it.practical.to.use.<a.h
81720 72 65 66 3d 22 23 74 72 79 22 3e 74 72 79 3c 2f 61 3e 20 65 76 65 72 79 77 68 65 72 65 20 61 6e ref="#try">try</a>.everywhere.an
81740 64 20 74 68 65 6e 20 73 74 69 6c 6c 20 62 65 20 61 62 6c 65 20 74 6f 20 6b 6e 6f 77 20 77 68 61 d.then.still.be.able.to.know.wha
81760 74 20 68 61 70 70 65 6e 65 64 20 69 66 20 61 6e 20 65 72 72 6f 72 20 65 6e 64 73 20 75 70 20 62 t.happened.if.an.error.ends.up.b
81780 75 62 62 6c 69 6e 67 20 61 6c 6c 20 74 68 65 20 77 61 79 20 6f 75 74 20 6f 66 20 79 6f 75 72 20 ubbling.all.the.way.out.of.your.
817a0 61 70 70 6c 69 63 61 74 69 6f 6e 2e 0a 20 20 20 20 20 20 3c 2f 70 3e 0a 20 20 20 20 20 20 3c 66 application........</p>.......<f
817c0 69 67 75 72 65 3e 3c 66 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
817e0 22 3e 3c 63 69 74 65 20 63 6c 61 73 73 3d 22 66 69 6c 65 22 3e 74 65 73 74 2e 7a 69 67 3c 2f 63 "><cite.class="file">test.zig</c
81800 69 74 65 3e 3c 2f 66 69 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
81820 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d n.class="line"><span.class="tok-
81840 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-
81860 6b 77 22 3e 66 6e 3c 2f 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
81880 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
818a0 6f 6b 2d 74 79 70 65 22 3e 76 6f 69 64 3c 2f 73 70 61 6e 3e 20 7b 3c 2f 73 70 61 6e 3e 0a 3c 73 ok-type">void</span>.{</span>.<s
818c0 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 pan.class="line">....<span.class
818e0 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
81900 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 31 32 3c 2f 73 70 61 6e 3e 29 3b 3c 2f 73 lass="tok-number">12</span>);</s
81920 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 7d 3c 2f 73 70 61 6e 3e pan>.<span.class="line">}</span>
81940 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 .<span.class="line"></span>.<spa
81960 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d n.class="line"><span.class="tok-
81980 6b 77 22 3e 66 6e 3c 2f 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
819a0 6e 22 3e 66 6f 6f 3c 2f 73 70 61 6e 3e 28 78 3a 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f n">foo</span>(x:.<span.class="to
819c0 6b 2d 74 79 70 65 22 3e 69 33 32 3c 2f 73 70 61 6e 3e 29 20 21 3c 73 70 61 6e 20 63 6c 61 73 73 k-type">i32</span>).!<span.class
819e0 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 76 6f 69 64 3c 2f 73 70 61 6e 3e 20 7b 3c 2f 73 70 61 6e 3e ="tok-type">void</span>.{</span>
81a00 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 3c 73 70 61 6e 20 63 6c .<span.class="line">....<span.cl
81a20 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 69 66 3c 2f 73 70 61 6e 3e 20 28 78 20 26 67 74 3b 3d 20 ass="tok-kw">if</span>.(x.&gt;=.
81a40 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 35 3c 2f 73 70 61 6e <span.class="tok-number">5</span
81a60 3e 29 20 7b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 >).{</span>.<span.class="line">.
81a80 20 20 20 20 20 20 20 3c 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<
81aa0 2f 73 70 61 6e 3e 20 62 61 72 28 29 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 /span>.bar();</span>.<span.class
81ac0 3d 22 6c 69 6e 65 22 3e 20 20 20 20 7d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b ="line">....}.<span.class="tok-k
81ae0 77 22 3e 65 6c 73 65 3c 2f 73 70 61 6e 3e 20 7b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c w">else</span>.{</span>.<span.cl
81b00 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 ass="line">........<span.class="
81b20 74 6f 6b 2d 6b 77 22 3e 74 72 79 3c 2f 73 70 61 6e 3e 20 62 61 6e 67 32 28 29 3b 3c 2f 73 70 61 tok-kw">try</span>.bang2();</spa
81b40 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 7d 3c 2f 73 70 61 n>.<span.class="line">....}</spa
81b60 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 7d 3c 2f 73 70 61 6e 3e 0a 3c n>.<span.class="line">}</span>.<
81b80 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 span.class="line"></span>.<span.
81ba0 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 class="line"><span.class="tok-kw
81bc0 22 3e 66 6e 3c 2f 73 70 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"
81be0 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 6b 2d >bar</span>().!<span.class="tok-
81c00 74 79 70 65 22 3e 76 6f 69 64 3c 2f 73 70 61 6e 3e 20 7b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e type">void</span>.{</span>.<span
81c20 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 .class="line">....<span.class="t
81c40 6f 6b 2d 6b 77 22 3e 69 66 3c 2f 73 70 61 6e 3e 20 28 62 61 7a 28 29 29 20 7b 3c 2f 73 70 61 6e ok-kw">if</span>.(baz()).{</span
81c60 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 20 20 20 20 3c 73 70 >.<span.class="line">........<sp
81c80 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 74 72 79 3c 2f 73 70 61 6e 3e 20 71 75 75 an.class="tok-kw">try</span>.quu
81ca0 78 28 29 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 x();</span>.<span.class="line">.
81cc0 20 20 20 7d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 65 6c 73 65 3c 2f ...}.<span.class="tok-kw">else</
81ce0 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"
81d00 3e 73 77 69 74 63 68 3c 2f 73 70 61 6e 3e 20 28 65 72 72 29 20 7b 3c 2f 73 70 61 6e 3e 0a 3c 73 >switch</span>.(err).{</span>.<s
81d20 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 20 20 20 20 3c 73 70 61 6e 20 63 pan.class="line">........<span.c
81d40 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 65 72 72 6f 72 3c 2f 73 70 61 6e 3e 2e 46 69 6c 65 4e lass="tok-kw">error</span>.FileN
81d60 6f 74 46 6f 75 6e 64 20 3d 26 67 74 3b 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b otFound.=&gt;.<span.class="tok-k
81d80 77 22 3e 74 72 79 3c 2f 73 70 61 6e 3e 20 68 65 6c 6c 6f 28 29 2c 3c 2f 73 70 61 6e 3e 0a 3c 73 w">try</span>.hello(),</span>.<s
81da0 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 7d 3c 2f 73 70 61 6e 3e 0a 3c 73 pan.class="line">....}</span>.<s
81dc0 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 7d 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 pan.class="line">}</span>.<span.
81de0 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 class="line"></span>.<span.class
81e00 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 66 6e 3c ="line"><span.class="tok-kw">fn<
81e20 2f 73 70 61 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 7a 3c /span>.<span.class="tok-fn">baz<
81e40 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"
81e60 3e 76 6f 69 64 3c 2f 73 70 61 6e 3e 20 7b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 >void</span>.{</span>.<span.clas
81e80 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 s="line">....<span.class="tok-kw
81ea0 22 3e 74 72 79 3c 2f 73 70 61 6e 3e 20 62 61 6e 67 31 28 29 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 ">try</span>.bang1();</span>.<sp
81ec0 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 7d 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 an.class="line">}</span>.<span.c
81ee0 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d lass="line"></span>.<span.class=
81f00 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 66 6e 3c 2f "line"><span.class="tok-kw">fn</
81f20 73 70 61 6e 3e 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 66 6e 22 3e 71 75 75 78 3c span>.<span.class="tok-fn">quux<
81f40 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"
81f60 3e 76 6f 69 64 3c 2f 73 70 61 6e 3e 20 7b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 >void</span>.{</span>.<span.clas
81f80 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 s="line">....<span.class="tok-kw
81fa0 22 3e 74 72 79 3c 2f 73 70 61 6e 3e 20 62 61 6e 67 32 28 29 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 ">try</span>.bang2();</span>.<sp
81fc0 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 7d 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 an.class="line">}</span>.<span.c
81fe0 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d lass="line"></span>.<span.class=
82000 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 66 6e 3c 2f "line"><span.class="tok-kw">fn</
82020 73 70 61 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 6c 6f span>.<span.class="tok-fn">hello
82040 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
82060 22 3e 76 6f 69 64 3c 2f 73 70 61 6e 3e 20 7b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 ">void</span>.{</span>.<span.cla
82080 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b ss="line">....<span.class="tok-k
820a0 77 22 3e 74 72 79 3c 2f 73 70 61 6e 3e 20 62 61 6e 67 32 28 29 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 w">try</span>.bang2();</span>.<s
820c0 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 7d 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 pan.class="line">}</span>.<span.
820e0 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 class="line"></span>.<span.class
82100 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 66 6e 3c ="line"><span.class="tok-kw">fn<
82120 2f 73 70 61 6e 3e 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 66 6e 22 3e 62 61 6e 67 /span>.<span.class="tok-fn">bang
82140 31 3c 2f 73 70 61 6e 3e 28 29 20 21 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 1</span>().!<span.class="tok-typ
82160 65 22 3e 76 6f 69 64 3c 2f 73 70 61 6e 3e 20 7b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c e">void</span>.{</span>.<span.cl
82180 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d ass="line">....<span.class="tok-
821a0 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
821c0 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
821e0 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 7d 3c 2f 73 ;</span>.<span.class="line">}</s
82200 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 2f 73 70 61 6e 3e 0a pan>.<span.class="line"></span>.
82220 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 <span.class="line"><span.class="
82240 74 6f 6b 2d 6b 77 22 3e 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
82260 6f 6b 2d 66 6e 22 3e 62 61 6e 67 32 3c 2f 73 70 61 6e 3e 28 29 20 21 3c 73 70 61 6e 20 63 6c 61 ok-fn">bang2</span>().!<span.cla
82280 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 76 6f 69 64 3c 2f 73 70 61 6e 3e 20 7b 3c 2f 73 70 61 ss="tok-type">void</span>.{</spa
822a0 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 3c 73 70 61 6e 20 n>.<span.class="line">....<span.
822c0 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
822e0 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 50 an.class="tok-kw">error</span>.P
82300 65 72 6d 69 73 73 69 6f 6e 44 65 6e 69 65 64 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c ermissionDenied;</span>.<span.cl
82320 61 73 73 3d 22 6c 69 6e 65 22 3e 7d 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 3c 2f 70 72 65 3e ass="line">}</span></code></pre>
82340 3c 2f 66 69 67 75 72 65 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
82360 73 73 3d 22 73 68 65 6c 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
82380 3e 3c 70 72 65 3e 3c 73 61 6d 70 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 24 ><pre><samp><span.class="line">$
823a0 20 3c 6b 62 64 3e 7a 69 67 20 62 75 69 6c 64 2d 65 78 65 20 74 65 73 74 2e 7a 69 67 3c 2f 6b 62 .<kbd>zig.build-exe.test.zig</kb
823c0 64 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 2f 73 d></span>.<span.class="line"></s
823e0 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 24 20 3c 6b 62 64 3e 2e pan>.<span.class="line">$.<kbd>.
82400 2f 74 65 73 74 3c 2f 6b 62 64 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 /test</kbd></span>.<span.class="
82420 6c 69 6e 65 22 3e 65 72 72 6f 72 3a 20 50 65 72 6d 69 73 73 69 6f 6e 44 65 6e 69 65 64 3c 2f 73 line">error:.PermissionDenied</s
82440 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c pan>.<span.class="line"><span.cl
82460 61 73 73 3d 22 74 31 5f 30 22 3e 64 6f 63 67 65 6e 5f 74 6d 70 2f 74 65 73 74 2e 7a 69 67 3a 33 ass="t1_0">docgen_tmp/test.zig:3
82480 34 3a 35 3c 2f 73 70 61 6e 3e 3a 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 32 5f 30 22 3e 30 4:5</span>:.<span.class="t2_0">0
824a0 78 32 30 66 64 39 38 20 69 6e 20 62 61 6e 67 31 20 28 74 65 73 74 29 3c 2f 73 70 61 6e 3e 3c 2f x20fd98.in.bang1.(test)</span></
824c0 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 72 65 74 span>.<span.class="line">....ret
824e0 75 72 6e 20 65 72 72 6f 72 2e 46 69 6c 65 4e 6f 74 46 6f 75 6e 64 3b 3c 2f 73 70 61 6e 3e 0a 3c urn.error.FileNotFound;</span>.<
82500 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 span.class="line">....<span.clas
82520 73 3d 22 74 33 32 5f 31 22 3e 5e 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 s="t32_1">^</span></span>.<span.
82540 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 31 5f 30 22 3e class="line"><span.class="t1_0">
82560 64 6f 63 67 65 6e 5f 74 6d 70 2f 74 65 73 74 2e 7a 69 67 3a 32 32 3a 35 3c 2f 73 70 61 6e 3e 3a docgen_tmp/test.zig:22:5</span>:
82580 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 32 5f 30 22 3e 30 78 32 30 66 65 61 33 20 69 6e 20 .<span.class="t2_0">0x20fea3.in.
825a0 62 61 7a 20 28 74 65 73 74 29 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 baz.(test)</span></span>.<span.c
825c0 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 74 72 79 20 62 61 6e 67 31 28 29 3b 3c 2f 73 70 lass="line">....try.bang1();</sp
825e0 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 3c 73 70 61 6e an>.<span.class="line">....<span
82600 20 63 6c 61 73 73 3d 22 74 33 32 5f 31 22 3e 5e 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 0a 3c .class="t32_1">^</span></span>.<
82620 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 span.class="line"><span.class="t
82640 31 5f 30 22 3e 64 6f 63 67 65 6e 5f 74 6d 70 2f 74 65 73 74 2e 7a 69 67 3a 33 38 3a 35 3c 2f 73 1_0">docgen_tmp/test.zig:38:5</s
82660 70 61 6e 3e 3a 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 32 5f 30 22 3e 30 78 32 30 66 65 63 pan>:.<span.class="t2_0">0x20fec
82680 38 20 69 6e 20 62 61 6e 67 32 20 28 74 65 73 74 29 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 0a 8.in.bang2.(test)</span></span>.
826a0 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 72 65 74 75 72 6e 20 65 72 <span.class="line">....return.er
826c0 72 6f 72 2e 50 65 72 6d 69 73 73 69 6f 6e 44 65 6e 69 65 64 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 ror.PermissionDenied;</span>.<sp
826e0 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d an.class="line">....<span.class=
82700 22 74 33 32 5f 31 22 3e 5e 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c "t32_1">^</span></span>.<span.cl
82720 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 31 5f 30 22 3e 64 6f ass="line"><span.class="t1_0">do
82740 63 67 65 6e 5f 74 6d 70 2f 74 65 73 74 2e 7a 69 67 3a 33 30 3a 35 3c 2f 73 70 61 6e 3e 3a 20 3c cgen_tmp/test.zig:30:5</span>:.<
82760 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 32 5f 30 22 3e 30 78 32 30 66 66 33 33 20 69 6e 20 68 65 span.class="t2_0">0x20ff33.in.he
82780 6c 6c 6f 20 28 74 65 73 74 29 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 llo.(test)</span></span>.<span.c
827a0 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 74 72 79 20 62 61 6e 67 32 28 29 3b 3c 2f 73 70 lass="line">....try.bang2();</sp
827c0 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 3c 73 70 61 6e an>.<span.class="line">....<span
827e0 20 63 6c 61 73 73 3d 22 74 33 32 5f 31 22 3e 5e 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 0a 3c .class="t32_1">^</span></span>.<
82800 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 span.class="line"><span.class="t
82820 31 5f 30 22 3e 64 6f 63 67 65 6e 5f 74 6d 70 2f 74 65 73 74 2e 7a 69 67 3a 31 37 3a 33 31 3c 2f 1_0">docgen_tmp/test.zig:17:31</
82840 73 70 61 6e 3e 3a 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 32 5f 30 22 3e 30 78 32 30 66 66 span>:.<span.class="t2_0">0x20ff
82860 65 39 20 69 6e 20 62 61 72 20 28 74 65 73 74 29 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 0a 3c e9.in.bar.(test)</span></span>.<
82880 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 20 20 20 20 65 72 72 6f 72 2e span.class="line">........error.
828a0 46 69 6c 65 4e 6f 74 46 6f 75 6e 64 20 3d 26 67 74 3b 20 74 72 79 20 68 65 6c 6c 6f 28 29 2c 3c FileNotFound.=&gt;.try.hello(),<
828c0 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 20 20 /span>.<span.class="line">......
828e0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 3c 73 70 61 6e 20 63 6c ........................<span.cl
82900 61 73 73 3d 22 74 33 32 5f 31 22 3e 5e 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 ass="t32_1">^</span></span>.<spa
82920 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 31 5f 30 n.class="line"><span.class="t1_0
82940 22 3e 64 6f 63 67 65 6e 5f 74 6d 70 2f 74 65 73 74 2e 7a 69 67 3a 37 3a 39 3c 2f 73 70 61 6e 3e ">docgen_tmp/test.zig:7:9</span>
82960 3a 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 32 5f 30 22 3e 30 78 32 31 30 30 35 36 20 69 6e :.<span.class="t2_0">0x210056.in
82980 20 66 6f 6f 20 28 74 65 73 74 29 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 .foo.(test)</span></span>.<span.
829a0 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 20 20 20 20 74 72 79 20 62 61 72 28 29 3b 3c class="line">........try.bar();<
829c0 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 20 20 /span>.<span.class="line">......
829e0 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 33 32 5f 31 22 3e 5e 3c 2f 73 70 61 6e 3e 3c 2f ..<span.class="t32_1">^</span></
82a00 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 span>.<span.class="line"><span.c
82a20 6c 61 73 73 3d 22 74 31 5f 30 22 3e 64 6f 63 67 65 6e 5f 74 6d 70 2f 74 65 73 74 2e 7a 69 67 3a lass="t1_0">docgen_tmp/test.zig:
82a40 32 3a 35 3c 2f 73 70 61 6e 3e 3a 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 32 5f 30 22 3e 30 2:5</span>:.<span.class="t2_0">0
82a60 78 32 31 30 30 61 38 20 69 6e 20 6d 61 69 6e 20 28 74 65 73 74 29 3c 2f 73 70 61 6e 3e 3c 2f 73 x2100a8.in.main.(test)</span></s
82a80 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 74 72 79 20 pan>.<span.class="line">....try.
82aa0 66 6f 6f 28 31 32 29 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e foo(12);</span>.<span.class="lin
82ac0 65 22 3e 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 33 32 5f 31 22 3e 5e 3c 2f 73 70 e">....<span.class="t32_1">^</sp
82ae0 61 6e 3e 3c 2f 73 70 61 6e 3e 0a 3c 2f 73 61 6d 70 3e 3c 2f 70 72 65 3e 3c 2f 66 69 67 75 72 65 an></span>.</samp></pre></figure
82b00 3e 0a 20 20 20 20 20 20 3c 70 3e 0a 20 20 20 20 20 20 4c 6f 6f 6b 20 63 6c 6f 73 65 6c 79 20 61 >.......<p>.......Look.closely.a
82b20 74 20 74 68 69 73 20 65 78 61 6d 70 6c 65 2e 20 54 68 69 73 20 69 73 20 6e 6f 20 73 74 61 63 6b t.this.example..This.is.no.stack
82b40 20 74 72 61 63 65 2e 0a 20 20 20 20 20 20 3c 2f 70 3e 0a 20 20 20 20 20 20 3c 70 3e 0a 20 20 20 .trace........</p>.......<p>....
82b60 20 20 20 59 6f 75 20 63 61 6e 20 73 65 65 20 74 68 61 74 20 74 68 65 20 66 69 6e 61 6c 20 65 72 ...You.can.see.that.the.final.er
82b80 72 6f 72 20 62 75 62 62 6c 65 64 20 75 70 20 77 61 73 20 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 ror.bubbled.up.was.<code><span.c
82ba0 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 50 65 72 6d 69 73 73 69 6f 6e 44 65 6e 69 65 64 3c 2f 73 70 lass="line">PermissionDenied</sp
82bc0 61 6e 3e 3c 2f 63 6f 64 65 3e 2c 0a 20 20 20 20 20 20 20 20 20 20 62 75 74 20 74 68 65 20 6f 72 an></code>,...........but.the.or
82be0 69 67 69 6e 61 6c 20 65 72 72 6f 72 20 74 68 61 74 20 73 74 61 72 74 65 64 20 74 68 69 73 20 77 iginal.error.that.started.this.w
82c00 68 6f 6c 65 20 74 68 69 6e 67 20 77 61 73 20 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 hole.thing.was.<code><span.class
82c20 3d 22 6c 69 6e 65 22 3e 46 69 6c 65 4e 6f 74 46 6f 75 6e 64 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 ="line">FileNotFound</span></cod
82c40 65 3e 2e 20 49 6e 20 74 68 65 20 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 e>..In.the.<code><span.class="li
82c60 6e 65 22 3e 62 61 72 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 20 66 75 6e 63 74 69 6f 6e 2c 20 ne">bar</span></code>.function,.
82c80 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
82ca0 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
82cc0 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
82ce0 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
82d00 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
82d20 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:.......
82d40 3c 2f 70 3e 0a 20 20 20 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
82d60 6c 61 73 73 3d 22 7a 69 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
82d80 22 3e 74 65 73 74 2e 7a 69 67 3c 2f 63 69 74 65 3e 3c 2f 66 69 67 63 61 70 74 69 6f 6e 3e 3c 70 ">test.zig</cite></figcaption><p
82da0 72 65 3e 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 re><code><span.class="line"><spa
82dc0 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
82de0 6e 20 63 6c 61 73 73 3d 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
82e00 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
82e20 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>
82e40 20 7b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 .{</span>.<span.class="line">...
82e60 20 66 6f 6f 28 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 31 32 .foo(<span.class="tok-number">12
82e80 3c 2f 73 70 61 6e 3e 29 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 </span>);</span>.<span.class="li
82ea0 6e 65 22 3e 7d 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e ne">}</span>.<span.class="line">
82ec0 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e </span>.<span.class="line"><span
82ee0 20 63 6c 61 73 73 3d 22 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.
82f00 63 6c 61 73 73 3d 22 74 6f 6b 2d 66 6e 22 3e 66 6f 6f 3c 2f 73 70 61 6e 3e 28 78 3a 20 3c 73 70 class="tok-fn">foo</span>(x:.<sp
82f20 61 6e 20 63 6c 61 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>).
82f40 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
82f60 6e 3e 20 7b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 n>.{</span>.<span.class="line">.
82f80 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
82fa0 3e 20 28 78 20 26 67 74 3b 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 >.(x.&gt;=.<span.class="tok-numb
82fc0 65 72 22 3e 35 3c 2f 73 70 61 6e 3e 29 20 7b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 er">5</span>).{</span>.<span.cla
82fe0 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 20 20 20 20 62 61 72 28 29 3b 3c 2f 73 70 61 6e 3e 0a ss="line">........bar();</span>.
83000 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 7d 20 3c 73 70 61 6e 20 63 <span.class="line">....}.<span.c
83020 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 65 6c 73 65 3c 2f 73 70 61 6e 3e 20 7b 3c 2f 73 70 61 lass="tok-kw">else</span>.{</spa
83040 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 20 20 20 20 62 61 n>.<span.class="line">........ba
83060 6e 67 32 28 29 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 ng2();</span>.<span.class="line"
83080 3e 20 20 20 20 7d 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 >....}</span>.<span.class="line"
830a0 3e 7d 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 2f 73 >}</span>.<span.class="line"></s
830c0 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c pan>.<span.class="line"><span.cl
830e0 61 73 73 3d 22 74 6f 6b 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
83100 73 73 3d 22 74 6f 6b 2d 66 6e 22 3e 62 61 72 3c 2f 73 70 61 6e 3e 28 29 20 3c 73 70 61 6e 20 63 ss="tok-fn">bar</span>().<span.c
83120 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 76 6f 69 64 3c 2f 73 70 61 6e 3e 20 7b 3c 2f 73 lass="tok-type">void</span>.{</s
83140 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 3c 73 70 61 pan>.<span.class="line">....<spa
83160 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 69 66 3c 2f 73 70 61 6e 3e 20 28 62 61 7a 28 n.class="tok-kw">if</span>.(baz(
83180 29 29 20 7b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 )).{</span>.<span.class="line">.
831a0 20 20 20 20 20 20 20 71 75 75 78 28 29 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 .......quux();</span>.<span.clas
831c0 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 7d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d s="line">....}.<span.class="tok-
831e0 6b 77 22 3e 65 6c 73 65 3c 2f 73 70 61 6e 3e 20 7b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 kw">else</span>.{</span>.<span.c
83200 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 20 20 20 20 68 65 6c 6c 6f 28 29 3b 3c 2f 73 70 lass="line">........hello();</sp
83220 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 7d 3c 2f 73 70 an>.<span.class="line">....}</sp
83240 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 7d 3c 2f 73 70 61 6e 3e 0a an>.<span.class="line">}</span>.
83260 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e <span.class="line"></span>.<span
83280 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b .class="line"><span.class="tok-k
832a0 77 22 3e 66 6e 3c 2f 73 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
832c0 22 3e 62 61 7a 3c 2f 73 70 61 6e 3e 28 29 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d ">baz</span>().<span.class="tok-
832e0 74 79 70 65 22 3e 62 6f 6f 6c 3c 2f 73 70 61 6e 3e 20 7b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e type">bool</span>.{</span>.<span
83300 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 .class="line">....<span.class="t
83320 6f 6b 2d 6b 77 22 3e 72 65 74 75 72 6e 3c 2f 73 70 61 6e 3e 20 62 61 6e 67 31 28 29 3b 3c 2f 73 ok-kw">return</span>.bang1();</s
83340 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 7d 3c 2f 73 70 61 6e 3e pan>.<span.class="line">}</span>
83360 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 .<span.class="line"></span>.<spa
83380 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d n.class="line"><span.class="tok-
833a0 6b 77 22 3e 66 6e 3c 2f 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
833c0 6e 22 3e 71 75 75 78 3c 2f 73 70 61 6e 3e 28 29 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f n">quux</span>().<span.class="to
833e0 6b 2d 74 79 70 65 22 3e 76 6f 69 64 3c 2f 73 70 61 6e 3e 20 7b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 k-type">void</span>.{</span>.<sp
83400 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 62 61 6e 67 32 28 29 3b 3c 2f 73 70 an.class="line">....bang2();</sp
83420 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 7d 3c 2f 73 70 61 6e 3e 0a an>.<span.class="line">}</span>.
83440 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e <span.class="line"></span>.<span
83460 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b .class="line"><span.class="tok-k
83480 77 22 3e 66 6e 3c 2f 73 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
834a0 22 3e 68 65 6c 6c 6f 3c 2f 73 70 61 6e 3e 28 29 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f ">hello</span>().<span.class="to
834c0 6b 2d 74 79 70 65 22 3e 76 6f 69 64 3c 2f 73 70 61 6e 3e 20 7b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 k-type">void</span>.{</span>.<sp
834e0 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 62 61 6e 67 32 28 29 3b 3c 2f 73 70 an.class="line">....bang2();</sp
83500 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 7d 3c 2f 73 70 61 6e 3e 0a an>.<span.class="line">}</span>.
83520 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e <span.class="line"></span>.<span
83540 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b .class="line"><span.class="tok-k
83560 77 22 3e 66 6e 3c 2f 73 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
83580 22 3e 62 61 6e 67 31 3c 2f 73 70 61 6e 3e 28 29 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f ">bang1</span>().<span.class="to
835a0 6b 2d 74 79 70 65 22 3e 62 6f 6f 6c 3c 2f 73 70 61 6e 3e 20 7b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 k-type">bool</span>.{</span>.<sp
835c0 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d an.class="line">....<span.class=
835e0 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
83600 73 73 3d 22 74 6f 6b 2d 6e 75 6c 6c 22 3e 66 61 6c 73 65 3c 2f 73 70 61 6e 3e 3b 3c 2f 73 70 61 ss="tok-null">false</span>;</spa
83620 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 7d 3c 2f 73 70 61 6e 3e 0a 3c n>.<span.class="line">}</span>.<
83640 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 span.class="line"></span>.<span.
83660 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 class="line"><span.class="tok-kw
83680 22 3e 66 6e 3c 2f 73 70 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"
836a0 3e 62 61 6e 67 32 3c 2f 73 70 61 6e 3e 28 29 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b >bang2</span>().<span.class="tok
836c0 2d 74 79 70 65 22 3e 76 6f 69 64 3c 2f 73 70 61 6e 3e 20 7b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 -type">void</span>.{</span>.<spa
836e0 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 n.class="line">....<span.class="
83700 74 6f 6b 2d 62 75 69 6c 74 69 6e 22 3e 40 70 61 6e 69 63 3c 2f 73 70 61 6e 3e 28 3c 73 70 61 6e tok-builtin">@panic</span>(<span
83720 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 73 74 72 22 3e 26 71 75 6f 74 3b 50 65 72 6d 69 73 73 69 6f .class="tok-str">&quot;Permissio
83740 6e 44 65 6e 69 65 64 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 29 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 nDenied&quot;</span>);</span>.<s
83760 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 7d 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e pan.class="line">}</span></code>
83780 3c 2f 70 72 65 3e 3c 2f 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
837a0 6f 6e 20 63 6c 61 73 73 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
837c0 61 70 74 69 6f 6e 3e 3c 70 72 65 3e 3c 73 61 6d 70 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c aption><pre><samp><span.class="l
837e0 69 6e 65 22 3e 24 20 3c 6b 62 64 3e 7a 69 67 20 62 75 69 6c 64 2d 65 78 65 20 74 65 73 74 2e 7a ine">$.<kbd>zig.build-exe.test.z
83800 69 67 3c 2f 6b 62 64 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e ig</kbd></span>.<span.class="lin
83820 65 22 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 24 20 e"></span>.<span.class="line">$.
83840 3c 6b 62 64 3e 2e 2f 74 65 73 74 3c 2f 6b 62 64 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 <kbd>./test</kbd></span>.<span.c
83860 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 74 68 72 65 61 64 20 33 35 37 38 32 33 35 20 70 61 6e 69 63 lass="line">thread.3578235.panic
83880 3a 20 50 65 72 6d 69 73 73 69 6f 6e 44 65 6e 69 65 64 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 :.PermissionDenied</span>.<span.
838a0 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 31 5f 30 22 3e class="line"><span.class="t1_0">
838c0 64 6f 63 67 65 6e 5f 74 6d 70 2f 74 65 73 74 2e 7a 69 67 3a 33 38 3a 35 3c 2f 73 70 61 6e 3e 3a docgen_tmp/test.zig:38:5</span>:
838e0 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 32 5f 30 22 3e 30 78 32 33 30 39 39 35 20 69 6e 20 .<span.class="t2_0">0x230995.in.
83900 62 61 6e 67 32 20 28 74 65 73 74 29 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e bang2.(test)</span></span>.<span
83920 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 40 70 61 6e 69 63 28 26 71 75 6f 74 3b 50 .class="line">....@panic(&quot;P
83940 65 72 6d 69 73 73 69 6f 6e 44 65 6e 69 65 64 26 71 75 6f 74 3b 29 3b 3c 2f 73 70 61 6e 3e 0a 3c ermissionDenied&quot;);</span>.<
83960 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 span.class="line">....<span.clas
83980 73 3d 22 74 33 32 5f 31 22 3e 5e 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 s="t32_1">^</span></span>.<span.
839a0 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 31 5f 30 22 3e class="line"><span.class="t1_0">
839c0 64 6f 63 67 65 6e 5f 74 6d 70 2f 74 65 73 74 2e 7a 69 67 3a 33 30 3a 31 30 3c 2f 73 70 61 6e 3e docgen_tmp/test.zig:30:10</span>
839e0 3a 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 32 5f 30 22 3e 30 78 32 33 63 38 65 38 20 69 6e :.<span.class="t2_0">0x23c8e8.in
83a00 20 68 65 6c 6c 6f 20 28 74 65 73 74 29 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 .hello.(test)</span></span>.<spa
83a20 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 62 61 6e 67 32 28 29 3b 3c 2f 73 70 61 n.class="line">....bang2();</spa
83a40 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 20 20 20 20 20 3c n>.<span.class="line">.........<
83a60 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 33 32 5f 31 22 3e 5e 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 span.class="t32_1">^</span></spa
83a80 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 n>.<span.class="line"><span.clas
83aa0 73 3d 22 74 31 5f 30 22 3e 64 6f 63 67 65 6e 5f 74 6d 70 2f 74 65 73 74 2e 7a 69 67 3a 31 37 3a s="t1_0">docgen_tmp/test.zig:17:
83ac0 31 34 3c 2f 73 70 61 6e 3e 3a 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 32 5f 30 22 3e 30 78 14</span>:.<span.class="t2_0">0x
83ae0 32 33 30 39 36 61 20 69 6e 20 62 61 72 20 28 74 65 73 74 29 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 23096a.in.bar.(test)</span></spa
83b00 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 20 20 20 20 68 65 n>.<span.class="line">........he
83b20 6c 6c 6f 28 29 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 llo();</span>.<span.class="line"
83b40 3e 20 20 20 20 20 20 20 20 20 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 33 32 5f 31 >.............<span.class="t32_1
83b60 22 3e 5e 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c ">^</span></span>.<span.class="l
83b80 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 31 5f 30 22 3e 64 6f 63 67 65 6e 5f 74 ine"><span.class="t1_0">docgen_t
83ba0 6d 70 2f 74 65 73 74 2e 7a 69 67 3a 37 3a 31 32 3c 2f 73 70 61 6e 3e 3a 20 3c 73 70 61 6e 20 63 mp/test.zig:7:12</span>:.<span.c
83bc0 6c 61 73 73 3d 22 74 32 5f 30 22 3e 30 78 32 31 31 63 63 34 20 69 6e 20 66 6f 6f 20 28 74 65 73 lass="t2_0">0x211cc4.in.foo.(tes
83be0 74 29 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 t)</span></span>.<span.class="li
83c00 6e 65 22 3e 20 20 20 20 20 20 20 20 62 61 72 28 29 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 ne">........bar();</span>.<span.
83c20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 20 20 20 20 20 20 20 3c 73 70 61 6e 20 63 6c class="line">...........<span.cl
83c40 61 73 73 3d 22 74 33 32 5f 31 22 3e 5e 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 ass="t32_1">^</span></span>.<spa
83c60 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 31 5f 30 n.class="line"><span.class="t1_0
83c80 22 3e 64 6f 63 67 65 6e 5f 74 6d 70 2f 74 65 73 74 2e 7a 69 67 3a 32 3a 38 3c 2f 73 70 61 6e 3e ">docgen_tmp/test.zig:2:8</span>
83ca0 3a 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 32 5f 30 22 3e 30 78 32 31 30 31 37 64 20 69 6e :.<span.class="t2_0">0x21017d.in
83cc0 20 6d 61 69 6e 20 28 74 65 73 74 29 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e .main.(test)</span></span>.<span
83ce0 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 66 6f 6f 28 31 32 29 3b 3c 2f 73 70 61 6e .class="line">....foo(12);</span
83d00 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 20 20 20 3c 73 70 61 >.<span.class="line">.......<spa
83d20 6e 20 63 6c 61 73 73 3d 22 74 33 32 5f 31 22 3e 5e 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 0a n.class="t32_1">^</span></span>.
83d40 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 <span.class="line"><span.class="
83d60 74 31 5f 30 22 3e 2f 68 6f 6d 65 2f 63 69 2f 72 65 6c 65 61 73 65 2d 30 2e 31 30 2e 31 2f 6f 75 t1_0">/home/ci/release-0.10.1/ou
83d80 74 2f 7a 69 67 2d 78 38 36 5f 36 34 2d 6c 69 6e 75 78 2d 6d 75 73 6c 2d 62 61 73 65 6c 69 6e 65 t/zig-x86_64-linux-musl-baseline
83da0 2f 6c 69 62 2f 7a 69 67 2f 73 74 64 2f 73 74 61 72 74 2e 7a 69 67 3a 36 30 34 3a 32 32 3c 2f 73 /lib/zig/std/start.zig:604:22</s
83dc0 70 61 6e 3e 3a 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 32 5f 30 22 3e 30 78 32 30 66 37 30 pan>:.<span.class="t2_0">0x20f70
83de0 63 20 69 6e 20 70 6f 73 69 78 43 61 6c 6c 4d 61 69 6e 41 6e 64 45 78 69 74 20 28 74 65 73 74 29 c.in.posixCallMainAndExit.(test)
83e00 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 </span></span>.<span.class="line
83e20 22 3e 20 20 20 20 20 20 20 20 20 20 20 20 72 6f 6f 74 2e 6d 61 69 6e 28 29 3b 3c 2f 73 70 61 6e ">............root.main();</span
83e40 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 20 20 20 20 20 20 20 >.<span.class="line">...........
83e60 20 20 20 20 20 20 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 33 32 5f 31 22 3e 5e 3c ..........<span.class="t32_1">^<
83e80 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 /span></span>.<span.class="line"
83ea0 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 31 5f 30 22 3e 2f 68 6f 6d 65 2f 63 69 2f 72 65 6c ><span.class="t1_0">/home/ci/rel
83ec0 65 61 73 65 2d 30 2e 31 30 2e 31 2f 6f 75 74 2f 7a 69 67 2d 78 38 36 5f 36 34 2d 6c 69 6e 75 78 ease-0.10.1/out/zig-x86_64-linux
83ee0 2d 6d 75 73 6c 2d 62 61 73 65 6c 69 6e 65 2f 6c 69 62 2f 7a 69 67 2f 73 74 64 2f 73 74 61 72 74 -musl-baseline/lib/zig/std/start
83f00 2e 7a 69 67 3a 33 37 36 3a 35 3c 2f 73 70 61 6e 3e 3a 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 .zig:376:5</span>:.<span.class="
83f20 74 32 5f 30 22 3e 30 78 32 30 66 32 31 31 20 69 6e 20 5f 73 74 61 72 74 20 28 74 65 73 74 29 3c t2_0">0x20f211.in._start.(test)<
83f40 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 /span></span>.<span.class="line"
83f60 3e 20 20 20 20 40 63 61 6c 6c 28 2e 7b 20 2e 6d 6f 64 69 66 69 65 72 20 3d 20 2e 6e 65 76 65 72 >....@call(.{..modifier.=..never
83f80 5f 69 6e 6c 69 6e 65 20 7d 2c 20 70 6f 73 69 78 43 61 6c 6c 4d 61 69 6e 41 6e 64 45 78 69 74 2c _inline.},.posixCallMainAndExit,
83fa0 20 2e 7b 7d 29 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 ..{});</span>.<span.class="line"
83fc0 3e 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 33 32 5f 31 22 3e 5e 3c 2f 73 70 61 6e >....<span.class="t32_1">^</span
83fe0 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 28 70 72 6f ></span>.<span.class="line">(pro
84000 63 65 73 73 20 74 65 72 6d 69 6e 61 74 65 64 20 62 79 20 73 69 67 6e 61 6c 29 3c 2f 73 70 61 6e cess.terminated.by.signal)</span
84020 3e 0a 3c 2f 73 61 6d 70 3e 3c 2f 70 72 65 3e 3c 2f 66 69 67 75 72 65 3e 0a 20 20 20 20 20 20 3c >.</samp></pre></figure>.......<
84040 70 3e 0a 20 20 20 20 20 20 48 65 72 65 2c 20 74 68 65 20 73 74 61 63 6b 20 74 72 61 63 65 20 64 p>.......Here,.the.stack.trace.d
84060 6f 65 73 20 6e 6f 74 20 65 78 70 6c 61 69 6e 20 68 6f 77 20 74 68 65 20 63 6f 6e 74 72 6f 6c 0a oes.not.explain.how.the.control.
84080 20 20 20 20 20 20 66 6c 6f 77 20 69 6e 20 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d ......flow.in.<code><span.class=
840a0 22 6c 69 6e 65 22 3e 62 61 72 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 20 67 6f 74 20 74 6f 20 "line">bar</span></code>.got.to.
840c0 74 68 65 20 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 68 65 6c the.<code><span.class="line">hel
840e0 6c 6f 28 29 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 20 63 61 6c 6c 2e 0a 20 20 20 20 20 20 4f lo()</span></code>.call........O
84100 6e 65 20 77 6f 75 6c 64 20 68 61 76 65 20 74 6f 20 6f 70 65 6e 20 61 20 64 65 62 75 67 67 65 72 ne.would.have.to.open.a.debugger
84120 20 6f 72 20 66 75 72 74 68 65 72 20 69 6e 73 74 72 75 6d 65 6e 74 20 74 68 65 20 61 70 70 6c 69 .or.further.instrument.the.appli
84140 63 61 74 69 6f 6e 0a 20 20 20 20 20 20 69 6e 20 6f 72 64 65 72 20 74 6f 20 66 69 6e 64 20 6f 75 cation.......in.order.to.find.ou
84160 74 2e 20 54 68 65 20 65 72 72 6f 72 20 72 65 74 75 72 6e 20 74 72 61 63 65 2c 20 6f 6e 20 74 68 t..The.error.return.trace,.on.th
84180 65 20 6f 74 68 65 72 20 68 61 6e 64 2c 0a 20 20 20 20 20 20 73 68 6f 77 73 20 65 78 61 63 74 6c e.other.hand,.......shows.exactl
841a0 79 20 68 6f 77 20 74 68 65 20 65 72 72 6f 72 20 62 75 62 62 6c 65 64 20 75 70 2e 0a 20 20 20 20 y.how.the.error.bubbled.up......
841c0 20 20 3c 2f 70 3e 0a 20 20 20 20 20 20 3c 70 3e 0a 20 20 20 20 20 20 54 68 69 73 20 64 65 62 75 ..</p>.......<p>.......This.debu
841e0 67 67 69 6e 67 20 66 65 61 74 75 72 65 20 6d 61 6b 65 73 20 69 74 20 65 61 73 69 65 72 20 74 6f gging.feature.makes.it.easier.to
84200 20 69 74 65 72 61 74 65 20 71 75 69 63 6b 6c 79 20 6f 6e 20 63 6f 64 65 20 74 68 61 74 0a 20 20 .iterate.quickly.on.code.that...
84220 20 20 20 20 72 6f 62 75 73 74 6c 79 20 68 61 6e 64 6c 65 73 20 61 6c 6c 20 65 72 72 6f 72 20 63 ....robustly.handles.all.error.c
84240 6f 6e 64 69 74 69 6f 6e 73 2e 20 54 68 69 73 20 6d 65 61 6e 73 20 74 68 61 74 20 5a 69 67 20 64 onditions..This.means.that.Zig.d
84260 65 76 65 6c 6f 70 65 72 73 0a 20 20 20 20 20 20 77 69 6c 6c 20 6e 61 74 75 72 61 6c 6c 79 20 66 evelopers.......will.naturally.f
84280 69 6e 64 20 74 68 65 6d 73 65 6c 76 65 73 20 77 72 69 74 69 6e 67 20 63 6f 72 72 65 63 74 2c 20 ind.themselves.writing.correct,.
842a0 72 6f 62 75 73 74 20 63 6f 64 65 20 69 6e 20 6f 72 64 65 72 0a 20 20 20 20 20 20 74 6f 20 69 6e robust.code.in.order.......to.in
842c0 63 72 65 61 73 65 20 74 68 65 69 72 20 64 65 76 65 6c 6f 70 6d 65 6e 74 20 70 61 63 65 2e 0a 20 crease.their.development.pace...
842e0 20 20 20 20 20 3c 2f 70 3e 0a 20 20 20 20 20 20 3c 70 3e 0a 20 20 20 20 20 20 45 72 72 6f 72 20 .....</p>.......<p>.......Error.
84300 52 65 74 75 72 6e 20 54 72 61 63 65 73 20 61 72 65 20 65 6e 61 62 6c 65 64 20 62 79 20 64 65 66 Return.Traces.are.enabled.by.def
84320 61 75 6c 74 20 69 6e 20 3c 61 20 68 72 65 66 3d 22 23 44 65 62 75 67 22 3e 44 65 62 75 67 3c 2f ault.in.<a.href="#Debug">Debug</
84340 61 3e 20 61 6e 64 20 3c 61 20 68 72 65 66 3d 22 23 52 65 6c 65 61 73 65 53 61 66 65 22 3e 52 65 a>.and.<a.href="#ReleaseSafe">Re
84360 6c 65 61 73 65 53 61 66 65 3c 2f 61 3e 20 62 75 69 6c 64 73 20 61 6e 64 20 64 69 73 61 62 6c 65 leaseSafe</a>.builds.and.disable
84380 64 20 62 79 20 64 65 66 61 75 6c 74 20 69 6e 20 3c 61 20 68 72 65 66 3d 22 23 52 65 6c 65 61 73 d.by.default.in.<a.href="#Releas
843a0 65 46 61 73 74 22 3e 52 65 6c 65 61 73 65 46 61 73 74 3c 2f 61 3e 20 61 6e 64 20 3c 61 20 68 72 eFast">ReleaseFast</a>.and.<a.hr
843c0 65 66 3d 22 23 52 65 6c 65 61 73 65 53 6d 61 6c 6c 22 3e 52 65 6c 65 61 73 65 53 6d 61 6c 6c 3c ef="#ReleaseSmall">ReleaseSmall<
843e0 2f 61 3e 20 62 75 69 6c 64 73 2e 0a 20 20 20 20 20 20 3c 2f 70 3e 0a 20 20 20 20 20 20 3c 70 3e /a>.builds........</p>.......<p>
84400 0a 20 20 20 20 20 20 54 68 65 72 65 20 61 72 65 20 61 20 66 65 77 20 77 61 79 73 20 74 6f 20 61 .......There.are.a.few.ways.to.a
84420 63 74 69 76 61 74 65 20 74 68 69 73 20 65 72 72 6f 72 20 72 65 74 75 72 6e 20 74 72 61 63 69 6e ctivate.this.error.return.tracin
84440 67 20 66 65 61 74 75 72 65 3a 0a 20 20 20 20 20 20 3c 2f 70 3e 0a 20 20 20 20 20 20 3c 75 6c 3e g.feature:.......</p>.......<ul>
84460 0a 20 20 20 20 20 20 20 20 3c 6c 69 3e 52 65 74 75 72 6e 20 61 6e 20 65 72 72 6f 72 20 66 72 6f .........<li>Return.an.error.fro
84480 6d 20 6d 61 69 6e 3c 2f 6c 69 3e 0a 20 20 20 20 20 20 20 20 3c 6c 69 3e 41 6e 20 65 72 72 6f 72 m.main</li>.........<li>An.error
844a0 20 6d 61 6b 65 73 20 69 74 73 20 77 61 79 20 74 6f 20 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c .makes.its.way.to.<code><span.cl
844c0 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e ass="line"><span.class="tok-kw">
844e0 63 61 74 63 68 3c 2f 73 70 61 6e 3e 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 catch</span>.<span.class="tok-kw
84500 22 3e 75 6e 72 65 61 63 68 61 62 6c 65 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 ">unreachable</span></span></cod
84520 65 3e 20 61 6e 64 20 79 6f 75 20 68 61 76 65 20 6e 6f 74 20 6f 76 65 72 72 69 64 64 65 6e 20 74 e>.and.you.have.not.overridden.t
84540 68 65 20 64 65 66 61 75 6c 74 20 70 61 6e 69 63 20 68 61 6e 64 6c 65 72 3c 2f 6c 69 3e 0a 20 20 he.default.panic.handler</li>...
84560 20 20 20 20 20 20 3c 6c 69 3e 55 73 65 20 3c 61 20 68 72 65 66 3d 22 23 65 72 72 6f 72 52 65 74 ......<li>Use.<a.href="#errorRet
84580 75 72 6e 54 72 61 63 65 22 3e 65 72 72 6f 72 52 65 74 75 72 6e 54 72 61 63 65 3c 2f 61 3e 20 74 urnTrace">errorReturnTrace</a>.t
845a0 6f 20 61 63 63 65 73 73 20 74 68 65 20 63 75 72 72 65 6e 74 20 72 65 74 75 72 6e 20 74 72 61 63 o.access.the.current.return.trac
845c0 65 2e 20 59 6f 75 20 63 61 6e 20 75 73 65 20 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 e..You.can.use.<code><span.class
845e0 3d 22 6c 69 6e 65 22 3e 73 74 64 2e 64 65 62 75 67 2e 64 75 6d 70 53 74 61 63 6b 54 72 61 63 65 ="line">std.debug.dumpStackTrace
84600 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 20 74 6f 20 70 72 69 6e 74 20 69 74 2e 20 54 68 69 73 </span></code>.to.print.it..This
84620 20 66 75 6e 63 74 69 6f 6e 20 72 65 74 75 72 6e 73 20 63 6f 6d 70 74 69 6d 65 2d 6b 6e 6f 77 6e .function.returns.comptime-known
84640 20 3c 61 20 68 72 65 66 3d 22 23 6e 75 6c 6c 22 3e 6e 75 6c 6c 3c 2f 61 3e 20 77 68 65 6e 20 62 .<a.href="#null">null</a>.when.b
84660 75 69 6c 64 69 6e 67 20 77 69 74 68 6f 75 74 20 65 72 72 6f 72 20 72 65 74 75 72 6e 20 74 72 61 uilding.without.error.return.tra
84680 63 69 6e 67 20 73 75 70 70 6f 72 74 2e 3c 2f 6c 69 3e 0a 20 20 20 20 20 20 3c 2f 75 6c 3e 0a 20 cing.support.</li>.......</ul>..
846a0 20 20 20 20 20 3c 68 34 20 69 64 3d 22 49 6d 70 6c 65 6d 65 6e 74 61 74 69 6f 6e 2d 44 65 74 61 .....<h4.id="Implementation-Deta
846c0 69 6c 73 22 3e 3c 61 20 68 72 65 66 3d 22 23 74 6f 63 2d 49 6d 70 6c 65 6d 65 6e 74 61 74 69 6f ils"><a.href="#toc-Implementatio
846e0 6e 2d 44 65 74 61 69 6c 73 22 3e 49 6d 70 6c 65 6d 65 6e 74 61 74 69 6f 6e 20 44 65 74 61 69 6c n-Details">Implementation.Detail
84700 73 3c 2f 61 3e 20 3c 61 20 63 6c 61 73 73 3d 22 68 64 72 22 20 68 72 65 66 3d 22 23 49 6d 70 6c s</a>.<a.class="hdr".href="#Impl
84720 65 6d 65 6e 74 61 74 69 6f 6e 2d 44 65 74 61 69 6c 73 22 3e c2 a7 3c 2f 61 3e 3c 2f 68 34 3e 0a ementation-Details">..</a></h4>.
84740 0a 20 20 20 20 20 20 3c 70 3e 0a 20 20 20 20 20 20 54 6f 20 61 6e 61 6c 79 7a 65 20 70 65 72 66 .......<p>.......To.analyze.perf
84760 6f 72 6d 61 6e 63 65 20 63 6f 73 74 2c 20 74 68 65 72 65 20 61 72 65 20 74 77 6f 20 63 61 73 65 ormance.cost,.there.are.two.case
84780 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>........
847a0 20 3c 6c 69 3e 77 68 65 6e 20 6e 6f 20 65 72 72 6f 72 73 20 61 72 65 20 72 65 74 75 72 6e 65 64 .<li>when.no.errors.are.returned
847c0 3c 2f 6c 69 3e 0a 20 20 20 20 20 20 20 20 3c 6c 69 3e 77 68 65 6e 20 72 65 74 75 72 6e 69 6e 67 </li>.........<li>when.returning
847e0 20 65 72 72 6f 72 73 3c 2f 6c 69 3e 0a 20 20 20 20 20 20 3c 2f 75 6c 3e 0a 20 20 20 20 20 20 3c .errors</li>.......</ul>.......<
84800 70 3e 0a 20 20 20 20 20 20 46 6f 72 20 74 68 65 20 63 61 73 65 20 77 68 65 6e 20 6e 6f 20 65 72 p>.......For.the.case.when.no.er
84820 72 6f 72 73 20 61 72 65 20 72 65 74 75 72 6e 65 64 2c 20 74 68 65 20 63 6f 73 74 20 69 73 20 61 rors.are.returned,.the.cost.is.a
84840 20 73 69 6e 67 6c 65 20 6d 65 6d 6f 72 79 20 77 72 69 74 65 20 6f 70 65 72 61 74 69 6f 6e 2c 20 .single.memory.write.operation,.
84860 6f 6e 6c 79 20 69 6e 20 74 68 65 20 66 69 72 73 74 20 6e 6f 6e 2d 66 61 69 6c 61 62 6c 65 20 66 only.in.the.first.non-failable.f
84880 75 6e 63 74 69 6f 6e 20 69 6e 20 74 68 65 20 63 61 6c 6c 20 67 72 61 70 68 20 74 68 61 74 20 63 unction.in.the.call.graph.that.c
848a0 61 6c 6c 73 20 61 20 66 61 69 6c 61 62 6c 65 20 66 75 6e 63 74 69 6f 6e 2c 20 69 2e 65 2e 20 77 alls.a.failable.function,.i.e..w
848c0 68 65 6e 20 61 20 66 75 6e 63 74 69 6f 6e 20 72 65 74 75 72 6e 69 6e 67 20 3c 63 6f 64 65 3e 3c hen.a.function.returning.<code><
848e0 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 span.class="line"><span.class="t
84900 6f 6b 2d 74 79 70 65 22 3e 76 6f 69 64 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 ok-type">void</span></span></cod
84920 65 3e 20 63 61 6c 6c 73 20 61 20 66 75 6e 63 74 69 6f 6e 20 72 65 74 75 72 6e 69 6e 67 20 3c 63 e>.calls.a.function.returning.<c
84940 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 ode><span.class="line"><span.cla
84960 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 65 72 72 6f 72 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 3c ss="tok-kw">error</span></span><
84980 2f 63 6f 64 65 3e 2e 0a 20 20 20 20 20 20 54 68 69 73 20 69 73 20 74 6f 20 69 6e 69 74 69 61 6c /code>........This.is.to.initial
849a0 69 7a 65 20 74 68 69 73 20 73 74 72 75 63 74 20 69 6e 20 74 68 65 20 73 74 61 63 6b 20 6d 65 6d ize.this.struct.in.the.stack.mem
849c0 6f 72 79 3a 0a 20 20 20 20 20 20 3c 2f 70 3e 0a 20 20 20 20 20 20 3c 66 69 67 75 72 65 3e 3c 66 ory:.......</p>.......<figure><f
849e0 69 67 63 61 70 74 69 6f 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.
84a00 63 6c 61 73 73 3d 22 66 69 6c 65 22 3e 73 74 61 63 6b 5f 74 72 61 63 65 5f 73 74 72 75 63 74 2e class="file">stack_trace_struct.
84a20 7a 69 67 3c 2f 63 69 74 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
84a40 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 e><span.class="line"><span.class
84a60 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
84a80 3d 22 74 6f 6b 2d 6b 77 22 3e 63 6f 6e 73 74 3c 2f 73 70 61 6e 3e 20 53 74 61 63 6b 54 72 61 63 ="tok-kw">const</span>.StackTrac
84aa0 65 20 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 73 74 72 75 63 74 3c e.=.<span.class="tok-kw">struct<
84ac0 2f 73 70 61 6e 3e 20 7b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e /span>.{</span>.<span.class="lin
84ae0 65 22 3e 20 20 20 20 69 6e 64 65 78 3a 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 e">....index:.<span.class="tok-t
84b00 79 70 65 22 3e 75 73 69 7a 65 3c 2f 73 70 61 6e 3e 2c 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 ype">usize</span>,</span>.<span.
84b20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 69 6e 73 74 72 75 63 74 69 6f 6e 5f 61 64 64 class="line">....instruction_add
84b40 72 65 73 73 65 73 3a 20 5b 4e 5d 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 resses:.[N]<span.class="tok-type
84b60 22 3e 75 73 69 7a 65 3c 2f 73 70 61 6e 3e 2c 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 ">usize</span>,</span>.<span.cla
84b80 73 73 3d 22 6c 69 6e 65 22 3e 7d 3b 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 3c 2f 70 72 65 3e ss="line">};</span></code></pre>
84ba0 3c 2f 66 69 67 75 72 65 3e 0a 20 20 20 20 20 20 3c 70 3e 0a 20 20 20 20 20 20 48 65 72 65 2c 20 </figure>.......<p>.......Here,.
84bc0 4e 20 69 73 20 74 68 65 20 6d 61 78 69 6d 75 6d 20 66 75 6e 63 74 69 6f 6e 20 63 61 6c 6c 20 64 N.is.the.maximum.function.call.d
84be0 65 70 74 68 20 61 73 20 64 65 74 65 72 6d 69 6e 65 64 20 62 79 20 63 61 6c 6c 20 67 72 61 70 68 epth.as.determined.by.call.graph
84c00 20 61 6e 61 6c 79 73 69 73 2e 20 52 65 63 75 72 73 69 6f 6e 20 69 73 20 69 67 6e 6f 72 65 64 20 .analysis..Recursion.is.ignored.
84c20 61 6e 64 20 63 6f 75 6e 74 73 20 66 6f 72 20 32 2e 0a 20 20 20 20 20 20 3c 2f 70 3e 0a 20 20 20 and.counts.for.2........</p>....
84c40 20 20 20 3c 70 3e 0a 20 20 20 20 20 20 41 20 70 6f 69 6e 74 65 72 20 74 6f 20 3c 63 6f 64 65 3e ...<p>.......A.pointer.to.<code>
84c60 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 53 74 61 63 6b 54 72 61 63 65 3c 2f 73 <span.class="line">StackTrace</s
84c80 70 61 6e 3e 3c 2f 63 6f 64 65 3e 20 69 73 20 70 61 73 73 65 64 20 61 73 20 61 20 73 65 63 72 65 pan></code>.is.passed.as.a.secre
84ca0 74 20 70 61 72 61 6d 65 74 65 72 20 74 6f 20 65 76 65 72 79 20 66 75 6e 63 74 69 6f 6e 20 74 68 t.parameter.to.every.function.th
84cc0 61 74 20 63 61 6e 20 72 65 74 75 72 6e 20 61 6e 20 65 72 72 6f 72 2c 20 62 75 74 20 69 74 27 73 at.can.return.an.error,.but.it's
84ce0 20 61 6c 77 61 79 73 20 74 68 65 20 66 69 72 73 74 20 70 61 72 61 6d 65 74 65 72 2c 20 73 6f 20 .always.the.first.parameter,.so.
84d00 69 74 20 63 61 6e 20 6c 69 6b 65 6c 79 20 73 69 74 20 69 6e 20 61 20 72 65 67 69 73 74 65 72 20 it.can.likely.sit.in.a.register.
84d20 61 6e 64 20 73 74 61 79 20 74 68 65 72 65 2e 0a 20 20 20 20 20 20 3c 2f 70 3e 0a 20 20 20 20 20 and.stay.there........</p>......
84d40 20 3c 70 3e 0a 20 20 20 20 20 20 54 68 61 74 27 73 20 69 74 20 66 6f 72 20 74 68 65 20 70 61 74 .<p>.......That's.it.for.the.pat
84d60 68 20 77 68 65 6e 20 6e 6f 20 65 72 72 6f 72 73 20 6f 63 63 75 72 2e 20 49 74 27 73 20 70 72 61 h.when.no.errors.occur..It's.pra
84d80 63 74 69 63 61 6c 6c 79 20 66 72 65 65 20 69 6e 20 74 65 72 6d 73 20 6f 66 20 70 65 72 66 6f 72 ctically.free.in.terms.of.perfor
84da0 6d 61 6e 63 65 2e 0a 20 20 20 20 20 20 3c 2f 70 3e 0a 20 20 20 20 20 20 3c 70 3e 0a 20 20 20 20 mance........</p>.......<p>.....
84dc0 20 20 57 68 65 6e 20 67 65 6e 65 72 61 74 69 6e 67 20 74 68 65 20 63 6f 64 65 20 66 6f 72 20 61 ..When.generating.the.code.for.a
84de0 20 66 75 6e 63 74 69 6f 6e 20 74 68 61 74 20 72 65 74 75 72 6e 73 20 61 6e 20 65 72 72 6f 72 2c .function.that.returns.an.error,
84e00 20 6a 75 73 74 20 62 65 66 6f 72 65 20 74 68 65 20 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 .just.before.the.<code><span.cla
84e20 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 72 ss="line"><span.class="tok-kw">r
84e40 65 74 75 72 6e 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 20 73 74 61 74 65 eturn</span></span></code>.state
84e60 6d 65 6e 74 20 28 6f 6e 6c 79 20 66 6f 72 20 74 68 65 20 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 ment.(only.for.the.<code><span.c
84e80 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 lass="line"><span.class="tok-kw"
84ea0 3e 72 65 74 75 72 6e 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 20 73 74 61 >return</span></span></code>.sta
84ec0 74 65 6d 65 6e 74 73 20 74 68 61 74 20 72 65 74 75 72 6e 20 65 72 72 6f 72 73 29 2c 20 5a 69 67 tements.that.return.errors),.Zig
84ee0 20 67 65 6e 65 72 61 74 65 73 20 61 20 63 61 6c 6c 20 74 6f 20 74 68 69 73 20 66 75 6e 63 74 69 .generates.a.call.to.this.functi
84f00 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
84f20 67 63 61 70 74 69 6f 6e 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
84f40 6c 61 73 73 3d 22 66 69 6c 65 22 3e 7a 69 67 5f 72 65 74 75 72 6e 5f 65 72 72 6f 72 5f 66 6e 2e lass="file">zig_return_error_fn.
84f60 7a 69 67 3c 2f 63 69 74 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
84f80 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 e><span.class="line"><span.class
84fa0 3d 22 74 6f 6b 2d 63 6f 6d 6d 65 6e 74 22 3e 2f 2f 20 6d 61 72 6b 65 64 20 61 73 20 26 71 75 6f ="tok-comment">//.marked.as.&quo
84fc0 74 3b 6e 6f 2d 69 6e 6c 69 6e 65 26 71 75 6f 74 3b 20 69 6e 20 4c 4c 56 4d 20 49 52 3c 2f 73 70 t;no-inline&quot;.in.LLVM.IR</sp
84fe0 61 6e 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 an></span>.<span.class="line"><s
85000 70 61 6e 20 63 6c 61 73 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
85020 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
85040 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
85060 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
85080 64 3c 2f 73 70 61 6e 3e 20 7b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c d</span>.{</span>.<span.class="l
850a0 69 6e 65 22 3e 20 20 20 20 73 74 61 63 6b 5f 74 72 61 63 65 2e 69 6e 73 74 72 75 63 74 69 6f 6e ine">....stack_trace.instruction
850c0 5f 61 64 64 72 65 73 73 65 73 5b 73 74 61 63 6b 5f 74 72 61 63 65 2e 69 6e 64 65 78 5d 20 3d 20 _addresses[stack_trace.index].=.
850e0 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 62 75 69 6c 74 69 6e 22 3e 40 72 65 74 75 72 <span.class="tok-builtin">@retur
85100 6e 41 64 64 72 65 73 73 3c 2f 73 70 61 6e 3e 28 29 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 nAddress</span>();</span>.<span.
85120 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 73 74 61 63 6b 5f 74 72 61 63 65 2e 69 6e 64 class="line">....stack_trace.ind
85140 65 78 20 3d 20 28 73 74 61 63 6b 5f 74 72 61 63 65 2e 69 6e 64 65 78 20 2b 20 3c 73 70 61 6e 20 ex.=.(stack_trace.index.+.<span.
85160 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 31 3c 2f 73 70 61 6e 3e 29 20 25 20 4e class="tok-number">1</span>).%.N
85180 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 7d 3c 2f 73 ;</span>.<span.class="line">}</s
851a0 70 61 6e 3e 3c 2f 63 6f 64 65 3e 3c 2f 70 72 65 3e 3c 2f 66 69 67 75 72 65 3e 0a 20 20 20 20 20 pan></code></pre></figure>......
851c0 20 3c 70 3e 0a 20 20 20 20 20 20 54 68 65 20 63 6f 73 74 20 69 73 20 32 20 6d 61 74 68 20 6f 70 .<p>.......The.cost.is.2.math.op
851e0 65 72 61 74 69 6f 6e 73 20 70 6c 75 73 20 73 6f 6d 65 20 6d 65 6d 6f 72 79 20 72 65 61 64 73 20 erations.plus.some.memory.reads.
85200 61 6e 64 20 77 72 69 74 65 73 2e 20 54 68 65 20 6d 65 6d 6f 72 79 20 61 63 63 65 73 73 65 64 20 and.writes..The.memory.accessed.
85220 69 73 20 63 6f 6e 73 74 72 61 69 6e 65 64 20 61 6e 64 20 73 68 6f 75 6c 64 20 72 65 6d 61 69 6e is.constrained.and.should.remain
85240 20 63 61 63 68 65 64 20 66 6f 72 20 74 68 65 20 64 75 72 61 74 69 6f 6e 20 6f 66 20 74 68 65 20 .cached.for.the.duration.of.the.
85260 65 72 72 6f 72 20 72 65 74 75 72 6e 20 62 75 62 62 6c 69 6e 67 2e 0a 20 20 20 20 20 20 3c 2f 70 error.return.bubbling........</p
85280 3e 0a 20 20 20 20 20 20 3c 70 3e 0a 20 20 20 20 20 20 41 73 20 66 6f 72 20 63 6f 64 65 20 73 69 >.......<p>.......As.for.code.si
852a0 7a 65 20 63 6f 73 74 2c 20 31 20 66 75 6e 63 74 69 6f 6e 20 63 61 6c 6c 20 62 65 66 6f 72 65 20 ze.cost,.1.function.call.before.
852c0 61 20 72 65 74 75 72 6e 20 73 74 61 74 65 6d 65 6e 74 20 69 73 20 6e 6f 20 62 69 67 20 64 65 61 a.return.statement.is.no.big.dea
852e0 6c 2e 20 45 76 65 6e 20 73 6f 2c 0a 20 20 20 20 20 20 49 20 68 61 76 65 20 3c 61 20 68 72 65 66 l..Even.so,.......I.have.<a.href
85300 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
85320 2f 69 73 73 75 65 73 2f 36 39 30 22 3e 61 20 70 6c 61 6e 3c 2f 61 3e 20 74 6f 20 6d 61 6b 65 20 /issues/690">a.plan</a>.to.make.
85340 74 68 65 20 63 61 6c 6c 20 74 6f 0a 20 20 20 20 20 20 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c the.call.to.......<code><span.cl
85360 61 73 73 3d 22 6c 69 6e 65 22 3e 5f 5f 7a 69 67 5f 72 65 74 75 72 6e 5f 65 72 72 6f 72 3c 2f 73 ass="line">__zig_return_error</s
85380 70 61 6e 3e 3c 2f 63 6f 64 65 3e 20 61 20 74 61 69 6c 20 63 61 6c 6c 2c 20 77 68 69 63 68 20 62 pan></code>.a.tail.call,.which.b
853a0 72 69 6e 67 73 20 74 68 65 20 63 6f 64 65 20 73 69 7a 65 20 63 6f 73 74 20 64 6f 77 6e 20 74 6f rings.the.code.size.cost.down.to
853c0 20 61 63 74 75 61 6c 6c 79 20 7a 65 72 6f 2e 20 57 68 61 74 20 69 73 20 61 20 72 65 74 75 72 6e .actually.zero..What.is.a.return
853e0 20 73 74 61 74 65 6d 65 6e 74 20 69 6e 20 63 6f 64 65 20 77 69 74 68 6f 75 74 20 65 72 72 6f 72 .statement.in.code.without.error
85400 20 72 65 74 75 72 6e 20 74 72 61 63 69 6e 67 20 63 61 6e 20 62 65 63 6f 6d 65 20 61 20 6a 75 6d .return.tracing.can.become.a.jum
85420 70 20 69 6e 73 74 72 75 63 74 69 6f 6e 20 69 6e 20 63 6f 64 65 20 77 69 74 68 20 65 72 72 6f 72 p.instruction.in.code.with.error
85440 20 72 65 74 75 72 6e 20 74 72 61 63 69 6e 67 2e 0a 20 20 20 20 20 20 3c 2f 70 3e 0a 20 20 20 20 .return.tracing........</p>.....
85460 20 20 0a 20 20 20 20 20 20 0a 20 20 20 20 20 20 0a 20 20 20 20 20 20 3c 68 32 20 69 64 3d 22 4f .......................<h2.id="O
85480 70 74 69 6f 6e 61 6c 73 22 3e 3c 61 20 68 72 65 66 3d 22 23 74 6f 63 2d 4f 70 74 69 6f 6e 61 6c ptionals"><a.href="#toc-Optional
854a0 73 22 3e 4f 70 74 69 6f 6e 61 6c 73 3c 2f 61 3e 20 3c 61 20 63 6c 61 73 73 3d 22 68 64 72 22 20 s">Optionals</a>.<a.class="hdr".
854c0 68 72 65 66 3d 22 23 4f 70 74 69 6f 6e 61 6c 73 22 3e c2 a7 3c 2f 61 3e 3c 2f 68 32 3e 0a 0a 20 href="#Optionals">..</a></h2>...
854e0 20 20 20 20 20 3c 70 3e 0a 20 20 20 20 20 20 4f 6e 65 20 61 72 65 61 20 74 68 61 74 20 5a 69 67 .....<p>.......One.area.that.Zig
85500 20 70 72 6f 76 69 64 65 73 20 73 61 66 65 74 79 20 77 69 74 68 6f 75 74 20 63 6f 6d 70 72 6f 6d .provides.safety.without.comprom
85520 69 73 69 6e 67 20 65 66 66 69 63 69 65 6e 63 79 20 6f 72 0a 20 20 20 20 20 20 72 65 61 64 61 62 ising.efficiency.or.......readab
85540 69 6c 69 74 79 20 69 73 20 77 69 74 68 20 74 68 65 20 6f 70 74 69 6f 6e 61 6c 20 74 79 70 65 2e ility.is.with.the.optional.type.
85560 0a 20 20 20 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.
85580 71 75 65 73 74 69 6f 6e 20 6d 61 72 6b 20 73 79 6d 62 6f 6c 69 7a 65 73 20 74 68 65 20 6f 70 74 question.mark.symbolizes.the.opt
855a0 69 6f 6e 61 6c 20 74 79 70 65 2e 20 59 6f 75 20 63 61 6e 20 63 6f 6e 76 65 72 74 20 61 20 74 79 ional.type..You.can.convert.a.ty
855c0 70 65 20 74 6f 20 61 6e 20 6f 70 74 69 6f 6e 61 6c 0a 20 20 20 20 20 20 74 79 70 65 20 62 79 20 pe.to.an.optional.......type.by.
855e0 70 75 74 74 69 6e 67 20 61 20 71 75 65 73 74 69 6f 6e 20 6d 61 72 6b 20 69 6e 20 66 72 6f 6e 74 putting.a.question.mark.in.front
85600 20 6f 66 20 69 74 2c 20 6c 69 6b 65 20 74 68 69 73 3a 0a 20 20 20 20 20 20 3c 2f 70 3e 0a 20 20 .of.it,.like.this:.......</p>...
85620 20 20 20 20 3c 66 69 67 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
85640 69 67 2d 63 61 70 22 3e 3c 63 69 74 65 20 63 6c 61 73 73 3d 22 66 69 6c 65 22 3e 74 65 73 74 2e ig-cap"><cite.class="file">test.
85660 7a 69 67 3c 2f 63 69 74 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
85680 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 e><span.class="line"><span.class
856a0 3d 22 74 6f 6b 2d 63 6f 6d 6d 65 6e 74 22 3e 2f 2f 20 6e 6f 72 6d 61 6c 20 69 6e 74 65 67 65 72 ="tok-comment">//.normal.integer
856c0 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 </span></span>.<span.class="line
856e0 22 3e 3c 73 70 61 6e 20 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
85700 61 6e 3e 20 6e 6f 72 6d 61 6c 5f 69 6e 74 3a 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b an>.normal_int:.<span.class="tok
85720 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=
85740 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 31 32 33 34 3c 2f 73 70 61 6e 3e 3b 3c 2f 73 70 61 6e 3e "tok-number">1234</span>;</span>
85760 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 .<span.class="line"></span>.<spa
85780 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d n.class="line"><span.class="tok-
857a0 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 72 3c 2f 73 70 comment">//.optional.integer</sp
857c0 61 6e 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 an></span>.<span.class="line"><s
857e0 70 61 6e 20 63 6c 61 73 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>.
85800 6f 70 74 69 6f 6e 61 6c 5f 69 6e 74 3a 20 3f 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d optional_int:.?<span.class="tok-
85820 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="
85840 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 35 36 37 38 3c 2f 73 70 61 6e 3e 3b 3c 2f 73 70 61 6e 3e 3c tok-number">5678</span>;</span><
85860 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>.
85880 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 65 3e 3c 73 70 ......Now.the.variable.<code><sp
858a0 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 6f 70 74 69 6f 6e 61 6c 5f 69 6e 74 3c 2f 73 70 an.class="line">optional_int</sp
858c0 61 6e 3e 3c 2f 63 6f 64 65 3e 20 63 6f 75 6c 64 20 62 65 20 61 6e 20 3c 63 6f 64 65 3e 3c 73 70 an></code>.could.be.an.<code><sp
858e0 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b an.class="line"><span.class="tok
85900 2d 74 79 70 65 22 3e 69 33 32 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 2c -type">i32</span></span></code>,
85920 20 6f 72 20 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 .or.<code><span.class="line"><sp
85940 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6c 6c 22 3e 6e 75 6c 6c 3c 2f 73 70 61 6e 3e 3c an.class="tok-null">null</span><
85960 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 2e 0a 20 20 20 20 20 20 3c 2f 70 3e 0a 20 20 20 20 20 20 /span></code>........</p>.......
85980 3c 70 3e 0a 20 20 20 20 20 20 49 6e 73 74 65 61 64 20 6f 66 20 69 6e 74 65 67 65 72 73 2c 20 6c <p>.......Instead.of.integers,.l
859a0 65 74 27 73 20 74 61 6c 6b 20 61 62 6f 75 74 20 70 6f 69 6e 74 65 72 73 2e 20 4e 75 6c 6c 20 72 et's.talk.about.pointers..Null.r
859c0 65 66 65 72 65 6e 63 65 73 20 61 72 65 20 74 68 65 20 73 6f 75 72 63 65 20 6f 66 20 6d 61 6e 79 eferences.are.the.source.of.many
859e0 20 72 75 6e 74 69 6d 65 0a 20 20 20 20 20 20 65 78 63 65 70 74 69 6f 6e 73 2c 20 61 6e 64 20 65 .runtime.......exceptions,.and.e
85a00 76 65 6e 20 73 74 61 6e 64 20 61 63 63 75 73 65 64 20 6f 66 20 62 65 69 6e 67 0a 20 20 20 20 20 ven.stand.accused.of.being......
85a20 20 3c 61 20 68 72 65 66 3d 22 68 74 74 70 73 3a 2f 2f 77 77 77 2e 6c 75 63 69 64 63 68 61 72 74 .<a.href="https://www.lucidchart
85a40 2e 63 6f 6d 2f 74 65 63 68 62 6c 6f 67 2f 32 30 31 35 2f 30 38 2f 33 31 2f 74 68 65 2d 77 6f 72 .com/techblog/2015/08/31/the-wor
85a60 73 74 2d 6d 69 73 74 61 6b 65 2d 6f 66 2d 63 6f 6d 70 75 74 65 72 2d 73 63 69 65 6e 63 65 2f 22 st-mistake-of-computer-science/"
85a80 3e 74 68 65 20 77 6f 72 73 74 20 6d 69 73 74 61 6b 65 20 6f 66 20 63 6f 6d 70 75 74 65 72 20 73 >the.worst.mistake.of.computer.s
85aa0 63 69 65 6e 63 65 3c 2f 61 3e 2e 0a 20 20 20 20 20 20 3c 2f 70 3e 0a 20 20 20 20 20 20 3c 70 3e cience</a>........</p>.......<p>
85ac0 5a 69 67 20 64 6f 65 73 20 6e 6f 74 20 68 61 76 65 20 74 68 65 6d 2e 3c 2f 70 3e 0a 20 20 20 20 Zig.does.not.have.them.</p>.....
85ae0 20 20 3c 70 3e 0a 20 20 20 20 20 20 49 6e 73 74 65 61 64 2c 20 79 6f 75 20 63 61 6e 20 75 73 65 ..<p>.......Instead,.you.can.use
85b00 20 61 6e 20 6f 70 74 69 6f 6e 61 6c 20 70 6f 69 6e 74 65 72 2e 20 54 68 69 73 20 73 65 63 72 65 .an.optional.pointer..This.secre
85b20 74 6c 79 20 63 6f 6d 70 69 6c 65 73 20 64 6f 77 6e 20 74 6f 20 61 20 6e 6f 72 6d 61 6c 20 70 6f tly.compiles.down.to.a.normal.po
85b40 69 6e 74 65 72 2c 0a 20 20 20 20 20 20 73 69 6e 63 65 20 77 65 20 6b 6e 6f 77 20 77 65 20 63 61 inter,.......since.we.know.we.ca
85b60 6e 20 75 73 65 20 30 20 61 73 20 74 68 65 20 6e 75 6c 6c 20 76 61 6c 75 65 20 66 6f 72 20 74 68 n.use.0.as.the.null.value.for.th
85b80 65 20 6f 70 74 69 6f 6e 61 6c 20 74 79 70 65 2e 20 42 75 74 20 74 68 65 20 63 6f 6d 70 69 6c 65 e.optional.type..But.the.compile
85ba0 72 0a 20 20 20 20 20 20 63 61 6e 20 63 68 65 63 6b 20 79 6f 75 72 20 77 6f 72 6b 20 61 6e 64 20 r.......can.check.your.work.and.
85bc0 6d 61 6b 65 20 73 75 72 65 20 79 6f 75 20 64 6f 6e 27 74 20 61 73 73 69 67 6e 20 6e 75 6c 6c 20 make.sure.you.don't.assign.null.
85be0 74 6f 20 73 6f 6d 65 74 68 69 6e 67 20 74 68 61 74 20 63 61 6e 27 74 20 62 65 20 6e 75 6c 6c 2e to.something.that.can't.be.null.
85c00 0a 20 20 20 20 20 20 3c 2f 70 3e 0a 20 20 20 20 20 20 3c 70 3e 0a 20 20 20 20 20 20 54 79 70 69 .......</p>.......<p>.......Typi
85c20 63 61 6c 6c 79 20 74 68 65 20 64 6f 77 6e 73 69 64 65 20 6f 66 20 6e 6f 74 20 68 61 76 69 6e 67 cally.the.downside.of.not.having
85c40 20 6e 75 6c 6c 20 69 73 20 74 68 61 74 20 69 74 20 6d 61 6b 65 73 20 74 68 65 20 63 6f 64 65 20 .null.is.that.it.makes.the.code.
85c60 6d 6f 72 65 20 76 65 72 62 6f 73 65 20 74 6f 0a 20 20 20 20 20 20 77 72 69 74 65 2e 20 42 75 74 more.verbose.to.......write..But
85c80 2c 20 6c 65 74 27 73 20 63 6f 6d 70 61 72 65 20 73 6f 6d 65 20 65 71 75 69 76 61 6c 65 6e 74 20 ,.let's.compare.some.equivalent.
85ca0 43 20 63 6f 64 65 20 61 6e 64 20 5a 69 67 20 63 6f 64 65 2e 0a 20 20 20 20 20 20 3c 2f 70 3e 0a C.code.and.Zig.code........</p>.
85cc0 20 20 20 20 20 20 3c 70 3e 0a 20 20 20 20 20 20 54 61 73 6b 3a 20 63 61 6c 6c 20 6d 61 6c 6c 6f ......<p>.......Task:.call.mallo
85ce0 63 2c 20 69 66 20 74 68 65 20 72 65 73 75 6c 74 20 69 73 20 6e 75 6c 6c 2c 20 72 65 74 75 72 6e c,.if.the.result.is.null,.return
85d00 20 6e 75 6c 6c 2e 0a 20 20 20 20 20 20 3c 2f 70 3e 0a 20 20 20 20 20 20 3c 70 3e 43 20 63 6f 64 .null........</p>.......<p>C.cod
85d20 65 3c 2f 70 3e 0a 20 20 20 20 20 20 3c 66 69 67 75 72 65 3e 3c 66 69 67 63 61 70 74 69 6f 6e 20 e</p>.......<figure><figcaption.
85d40 63 6c 61 73 73 3d 22 63 2d 63 61 70 22 3e 3c 63 69 74 65 20 63 6c 61 73 73 3d 22 66 69 6c 65 22 class="c-cap"><cite.class="file"
85d60 3e 63 61 6c 6c 5f 6d 61 6c 6c 6f 63 5f 69 6e 5f 63 2e 63 3c 2f 63 69 74 65 3e 3c 2f 66 69 67 63 >call_malloc_in_c.c</cite></figc
85d80 61 70 74 69 6f 6e 3e 3c 70 72 65 3e 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c aption><pre><code><span.class="l
85da0 69 6e 65 22 3e 2f 2f 20 6d 61 6c 6c 6f 63 20 70 72 6f 74 6f 74 79 70 65 20 69 6e 63 6c 75 64 65 ine">//.malloc.prototype.include
85dc0 64 20 66 6f 72 20 72 65 66 65 72 65 6e 63 65 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 d.for.reference</span>.<span.cla
85de0 73 73 3d 22 6c 69 6e 65 22 3e 76 6f 69 64 20 2a 6d 61 6c 6c 6f 63 28 73 69 7a 65 5f 74 20 73 69 ss="line">void.*malloc(size_t.si
85e00 7a 65 29 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c ze);</span>.<span.class="line"><
85e20 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 73 74 72 75 63 74 /span>.<span.class="line">struct
85e40 20 46 6f 6f 20 2a 64 6f 5f 61 5f 74 68 69 6e 67 28 76 6f 69 64 29 20 7b 3c 2f 73 70 61 6e 3e 0a .Foo.*do_a_thing(void).{</span>.
85e60 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 63 68 61 72 20 2a 70 74 72 <span.class="line">....char.*ptr
85e80 20 3d 20 6d 61 6c 6c 6f 63 28 31 32 33 34 29 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c .=.malloc(1234);</span>.<span.cl
85ea0 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 69 66 20 28 21 70 74 72 29 20 72 65 74 75 72 6e 20 ass="line">....if.(!ptr).return.
85ec0 4e 55 4c 4c 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e NULL;</span>.<span.class="line">
85ee0 20 20 20 20 2f 2f 20 2e 2e 2e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c ....//....</span>.<span.class="l
85f00 69 6e 65 22 3e 7d 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 3c 2f 70 72 65 3e 3c 2f 66 69 67 75 ine">}</span></code></pre></figu
85f20 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 0a 20 20 20 20 20 20 re>.......<p>Zig.code</p>.......
85f40 3c 66 69 67 75 72 65 3e 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
85f60 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 6c ap"><cite.class="file">call_mall
85f80 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 69 67 63 61 70 74 69 oc_from_zig.zig</cite></figcapti
85fa0 6f 6e 3e 3c 70 72 65 3e 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 on><pre><code><span.class="line"
85fc0 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 63 6f 6d 6d 65 6e 74 22 3e 2f 2f 20 6d 61 ><span.class="tok-comment">//.ma
85fe0 6c 6c 6f 63 20 70 72 6f 74 6f 74 79 70 65 20 69 6e 63 6c 75 64 65 64 20 66 6f 72 20 72 65 66 65 lloc.prototype.included.for.refe
86000 72 65 6e 63 65 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d rence</span></span>.<span.class=
86020 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 65 78 74 65 "line"><span.class="tok-kw">exte
86040 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 66 rn</span>.<span.class="tok-kw">f
86060 6e 3c 2f 73 70 61 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
86080 6c 6c 6f 63 3c 2f 73 70 61 6e 3e 28 73 69 7a 65 3a 20 73 69 7a 65 5f 74 29 20 3f 2a 3c 73 70 61 lloc</span>(size:.size_t).?*<spa
860a0 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 75 38 3c 2f 73 70 61 6e 3e 3b 3c 2f 73 n.class="tok-type">u8</span>;</s
860c0 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 2f 73 70 61 6e 3e 0a pan>.<span.class="line"></span>.
860e0 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 <span.class="line"><span.class="
86100 74 6f 6b 2d 6b 77 22 3e 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
86120 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 46 6f 6f 20 7b ok-fn">doAThing</span>().?*Foo.{
86140 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 3c </span>.<span.class="line">....<
86160 73 70 61 6e 20 63 6c 61 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>
86180 20 70 74 72 20 3d 20 6d 61 6c 6c 6f 63 28 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e .ptr.=.malloc(<span.class="tok-n
861a0 75 6d 62 65 72 22 3e 31 32 33 34 3c 2f 73 70 61 6e 3e 29 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d umber">1234</span>).<span.class=
861c0 22 74 6f 6b 2d 6b 77 22 3e 6f 72 65 6c 73 65 3c 2f 73 70 61 6e 3e 20 3c 73 70 61 6e 20 63 6c 61 "tok-kw">orelse</span>.<span.cla
861e0 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.
86200 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6c 6c 22 3e 6e 75 6c 6c 3c 2f 73 70 61 6e 3e 3b 3c 2f 73 class="tok-null">null</span>;</s
86220 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 5f 20 3d 20 pan>.<span.class="line">...._.=.
86240 70 74 72 3b 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 63 6f 6d 6d 65 6e 74 22 3e 2f ptr;.<span.class="tok-comment">/
86260 2f 20 2e 2e 2e 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d /....</span></span>.<span.class=
86280 22 6c 69 6e 65 22 3e 7d 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 3c 2f 70 72 65 3e 3c 2f 66 69 "line">}</span></code></pre></fi
862a0 67 75 72 65 3e 0a 20 20 20 20 20 20 3c 70 3e 0a 20 20 20 20 20 20 20 20 48 65 72 65 2c 20 5a 69 gure>.......<p>.........Here,.Zi
862c0 67 20 69 73 20 61 74 20 6c 65 61 73 74 20 61 73 20 63 6f 6e 76 65 6e 69 65 6e 74 2c 20 69 66 20 g.is.at.least.as.convenient,.if.
862e0 6e 6f 74 20 6d 6f 72 65 2c 20 74 68 61 6e 20 43 2e 20 41 6e 64 2c 20 74 68 65 20 74 79 70 65 20 not.more,.than.C..And,.the.type.
86300 6f 66 20 22 70 74 72 22 0a 20 20 20 20 20 20 20 20 69 73 20 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 of."ptr".........is.<code><span.
86320 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 2a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 class="line">*<span.class="tok-t
86340 79 70 65 22 3e 75 38 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 20 3c 65 6d ype">u8</span></span></code>.<em
86360 3e 6e 6f 74 3c 2f 65 6d 3e 20 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e >not</em>.<code><span.class="lin
86380 65 22 3e 3f 2a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 75 38 3c 2f e">?*<span.class="tok-type">u8</
863a0 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 2e 20 54 68 65 20 3c 63 6f 64 65 3e 3c span></span></code>..The.<code><
863c0 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 span.class="line"><span.class="t
863e0 6f 6b 2d 6b 77 22 3e 6f 72 65 6c 73 65 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 ok-kw">orelse</span></span></cod
86400 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 20 20 20 20 20 75 e>.keyword.....................u
86420 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 20 61 6e 64 20 74 nwrapped.the.optional.type.and.t
86440 68 65 72 65 66 6f 72 65 20 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 herefore.<code><span.class="line
86460 22 3e 70 74 72 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 20 69 73 20 67 75 61 72 61 6e 74 65 65 ">ptr</span></code>.is.guarantee
86480 64 20 74 6f 20 62 65 20 6e 6f 6e 2d 6e 75 6c 6c 20 65 76 65 72 79 77 68 65 72 65 0a 20 20 20 20 d.to.be.non-null.everywhere.....
864a0 20 20 20 20 69 74 20 69 73 20 75 73 65 64 20 69 6e 20 74 68 65 20 66 75 6e 63 74 69 6f 6e 2e 0a ....it.is.used.in.the.function..
864c0 20 20 20 20 20 20 3c 2f 70 3e 0a 20 20 20 20 20 20 3c 70 3e 0a 20 20 20 20 20 20 20 20 54 68 65 ......</p>.......<p>.........The
864e0 20 6f 74 68 65 72 20 66 6f 72 6d 20 6f 66 20 63 68 65 63 6b 69 6e 67 20 61 67 61 69 6e 73 74 20 .other.form.of.checking.against.
86500 4e 55 4c 4c 20 79 6f 75 20 6d 69 67 68 74 20 73 65 65 20 6c 6f 6f 6b 73 20 6c 69 6b 65 20 74 68 NULL.you.might.see.looks.like.th
86520 69 73 3a 0a 20 20 20 20 20 20 3c 2f 70 3e 0a 20 20 20 20 20 20 3c 66 69 67 75 72 65 3e 3c 66 69 is:.......</p>.......<figure><fi
86540 67 63 61 70 74 69 6f 6e 20 63 6c 61 73 73 3d 22 63 2d 63 61 70 22 3e 3c 63 69 74 65 20 63 6c 61 gcaption.class="c-cap"><cite.cla
86560 73 73 3d 22 66 69 6c 65 22 3e 63 68 65 63 6b 69 6e 67 5f 6e 75 6c 6c 5f 69 6e 5f 63 2e 63 3c 2f ss="file">checking_null_in_c.c</
86580 63 69 74 65 3e 3c 2f 66 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
865a0 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 76 6f 69 64 20 64 6f 5f 61 5f 74 68 69 6e 67 28 an.class="line">void.do_a_thing(
865c0 73 74 72 75 63 74 20 46 6f 6f 20 2a 66 6f 6f 29 20 7b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 struct.Foo.*foo).{</span>.<span.
865e0 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 2f 2f 20 64 6f 20 73 6f 6d 65 20 73 74 75 66 class="line">....//.do.some.stuf
86600 66 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 2f 73 70 f</span>.<span.class="line"></sp
86620 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 69 66 20 28 66 an>.<span.class="line">....if.(f
86640 6f 6f 29 20 7b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e oo).{</span>.<span.class="line">
86660 20 20 20 20 20 20 20 20 64 6f 5f 73 6f 6d 65 74 68 69 6e 67 5f 77 69 74 68 5f 66 6f 6f 28 66 6f ........do_something_with_foo(fo
86680 6f 29 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 o);</span>.<span.class="line">..
866a0 20 20 7d 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 2f ..}</span>.<span.class="line"></
866c0 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 2f 2f 20 span>.<span.class="line">....//.
866e0 64 6f 20 73 6f 6d 65 20 73 74 75 66 66 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 do.some.stuff</span>.<span.class
86700 3d 22 6c 69 6e 65 22 3e 7d 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 3c 2f 70 72 65 3e 3c 2f 66 ="line">}</span></code></pre></f
86720 69 67 75 72 65 3e 0a 20 20 20 20 20 20 3c 70 3e 0a 20 20 20 20 20 20 20 20 49 6e 20 5a 69 67 20 igure>.......<p>.........In.Zig.
86740 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 69 6e you.can.accomplish.the.same.thin
86760 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 69 67 g:.......</p>.......<figure><fig
86780 63 61 70 74 69 6f 6e 20 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
867a0 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 67 2e ass="file">checking_null_in_zig.
867c0 7a 69 67 3c 2f 63 69 74 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
867e0 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 e><span.class="line"><span.class
86800 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
86820 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 73 74 72 75 63 74 3c 2f 73 70 61 6e 3e 7b an.class="tok-kw">struct</span>{
86840 7d 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 };</span>.<span.class="line"><sp
86860 61 6e 20 63 6c 61 73 73 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
86880 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 66 6e 22 3e 64 6f 53 6f 6d 65 74 68 69 6e 67 57 69 74 68 n.class="tok-fn">doSomethingWith
868a0 46 6f 6f 3c 2f 73 70 61 6e 3e 28 66 6f 6f 3a 20 2a 46 6f 6f 29 20 3c 73 70 61 6e 20 63 6c 61 73 Foo</span>(foo:.*Foo).<span.clas
868c0 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 76 6f 69 64 3c 2f 73 70 61 6e 3e 20 7b 20 5f 20 3d 20 66 s="tok-type">void</span>.{._.=.f
868e0 6f 6f 3b 20 7d 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e oo;.}</span>.<span.class="line">
86900 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e </span>.<span.class="line"><span
86920 20 63 6c 61 73 73 3d 22 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.
86940 63 6c 61 73 73 3d 22 74 6f 6b 2d 66 6e 22 3e 64 6f 41 54 68 69 6e 67 3c 2f 73 70 61 6e 3e 28 6f class="tok-fn">doAThing</span>(o
86960 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 63 6c 61 73 73 3d ptional_foo:.?*Foo).<span.class=
86980 22 74 6f 6b 2d 74 79 70 65 22 3e 76 6f 69 64 3c 2f 73 70 61 6e 3e 20 7b 3c 2f 73 70 61 6e 3e 0a "tok-type">void</span>.{</span>.
869a0 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 <span.class="line">....<span.cla
869c0 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 20 73 74 75 66 ss="tok-comment">//.do.some.stuf
869e0 66 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e f</span></span>.<span.class="lin
86a00 65 22 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 e"></span>.<span.class="line">..
86a20 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>
86a40 20 28 6f 70 74 69 6f 6e 61 6c 5f 66 6f 6f 29 20 7c 66 6f 6f 7c 20 7b 3c 2f 73 70 61 6e 3e 0a 3c .(optional_foo).|foo|.{</span>.<
86a60 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 20 20 64 6f 53 6f 6d 65 74 68 span.class="line">......doSometh
86a80 69 6e 67 57 69 74 68 46 6f 6f 28 66 6f 6f 29 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c ingWithFoo(foo);</span>.<span.cl
86aa0 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 7d 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c ass="line">....}</span>.<span.cl
86ac0 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 ass="line"></span>.<span.class="
86ae0 6c 69 6e 65 22 3e 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 63 6f 6d 6d 65 line">....<span.class="tok-comme
86b00 6e 74 22 3e 2f 2f 20 64 6f 20 73 6f 6d 65 20 73 74 75 66 66 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 nt">//.do.some.stuff</span></spa
86b20 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 7d 3c 2f 73 70 61 6e 3e 3c 2f n>.<span.class="line">}</span></
86b40 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 20 code></pre></figure>.......<p>..
86b60 20 20 20 20 20 4f 6e 63 65 20 61 67 61 69 6e 2c 20 74 68 65 20 6e 6f 74 61 62 6c 65 20 74 68 69 .....Once.again,.the.notable.thi
86b80 6e 67 20 68 65 72 65 20 69 73 20 74 68 61 74 20 69 6e 73 69 64 65 20 74 68 65 20 69 66 20 62 6c ng.here.is.that.inside.the.if.bl
86ba0 6f 63 6b 2c 0a 20 20 20 20 20 20 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 ock,.......<code><span.class="li
86bc0 6e 65 22 3e 66 6f 6f 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 20 69 73 20 6e 6f 20 6c 6f 6e 67 ne">foo</span></code>.is.no.long
86be0 65 72 20 61 6e 20 6f 70 74 69 6f 6e 61 6c 20 70 6f 69 6e 74 65 72 2c 20 69 74 20 69 73 20 61 20 er.an.optional.pointer,.it.is.a.
86c00 70 6f 69 6e 74 65 72 2c 20 77 68 69 63 68 0a 20 20 20 20 20 20 63 61 6e 6e 6f 74 20 62 65 20 6e pointer,.which.......cannot.be.n
86c20 75 6c 6c 2e 0a 20 20 20 20 20 20 3c 2f 70 3e 0a 20 20 20 20 20 20 3c 70 3e 0a 20 20 20 20 20 20 ull........</p>.......<p>.......
86c40 4f 6e 65 20 62 65 6e 65 66 69 74 20 74 6f 20 74 68 69 73 20 69 73 20 74 68 61 74 20 66 75 6e 63 One.benefit.to.this.is.that.func
86c60 74 69 6f 6e 73 20 77 68 69 63 68 20 74 61 6b 65 20 70 6f 69 6e 74 65 72 73 20 61 73 20 61 72 67 tions.which.take.pointers.as.arg
86c80 75 6d 65 6e 74 73 20 63 61 6e 0a 20 20 20 20 20 20 62 65 20 61 6e 6e 6f 74 61 74 65 64 20 77 69 uments.can.......be.annotated.wi
86ca0 74 68 20 74 68 65 20 22 6e 6f 6e 6e 75 6c 6c 22 20 61 74 74 72 69 62 75 74 65 20 2d 20 3c 63 6f th.the."nonnull".attribute.-.<co
86cc0 64 65 3e 5f 5f 61 74 74 72 69 62 75 74 65 5f 5f 28 28 6e 6f 6e 6e 75 6c 6c 29 29 3c 2f 63 6f 64 de>__attribute__((nonnull))</cod
86ce0 65 3e 20 69 6e 0a 20 20 20 20 20 20 3c 61 20 68 72 65 66 3d 22 68 74 74 70 73 3a 2f 2f 67 63 63 e>.in.......<a.href="https://gcc
86d00 2e 67 6e 75 2e 6f 72 67 2f 6f 6e 6c 69 6e 65 64 6f 63 73 2f 67 63 63 2d 34 2e 30 2e 30 2f 67 63 .gnu.org/onlinedocs/gcc-4.0.0/gc
86d20 63 2f 46 75 6e 63 74 69 6f 6e 2d 41 74 74 72 69 62 75 74 65 73 2e 68 74 6d 6c 22 3e 47 43 43 3c c/Function-Attributes.html">GCC<
86d40 2f 61 3e 2e 0a 20 20 20 20 20 20 54 68 65 20 6f 70 74 69 6d 69 7a 65 72 20 63 61 6e 20 73 6f 6d /a>........The.optimizer.can.som
86d60 65 74 69 6d 65 73 20 6d 61 6b 65 20 62 65 74 74 65 72 20 64 65 63 69 73 69 6f 6e 73 20 6b 6e 6f etimes.make.better.decisions.kno
86d80 77 69 6e 67 20 74 68 61 74 20 70 6f 69 6e 74 65 72 20 61 72 67 75 6d 65 6e 74 73 0a 20 20 20 20 wing.that.pointer.arguments.....
86da0 20 20 63 61 6e 6e 6f 74 20 62 65 20 6e 75 6c 6c 2e 0a 20 20 20 20 20 20 3c 2f 70 3e 0a 20 20 20 ..cannot.be.null........</p>....
86dc0 20 20 20 3c 68 33 20 69 64 3d 22 4f 70 74 69 6f 6e 61 6c 2d 54 79 70 65 22 3e 3c 61 20 68 72 65 ...<h3.id="Optional-Type"><a.hre
86de0 66 3d 22 23 74 6f 63 2d 4f 70 74 69 6f 6e 61 6c 2d 54 79 70 65 22 3e 4f 70 74 69 6f 6e 61 6c 20 f="#toc-Optional-Type">Optional.
86e00 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 4f Type</a>.<a.class="hdr".href="#O
86e20 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 20 ptional-Type">..</a></h3>.......
86e40 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 75 .<p>An.optional.is.created.by.pu
86e60 74 74 69 6e 67 20 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3f tting.<code><span.class="line">?
86e80 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 20 69 6e 20 66 72 6f 6e 74 20 6f 66 20 61 20 74 79 70 </span></code>.in.front.of.a.typ
86ea0 65 2e 20 59 6f 75 20 63 61 6e 20 75 73 65 20 63 6f 6d 70 69 6c 65 2d 74 69 6d 65 0a 20 20 20 20 e..You.can.use.compile-time.....
86ec0 20 20 72 65 66 6c 65 63 74 69 6f 6e 20 74 6f 20 61 63 63 65 73 73 20 74 68 65 20 63 68 69 6c 64 ..reflection.to.access.the.child
86ee0 20 74 79 70 65 20 6f 66 20 61 6e 20 6f 70 74 69 6f 6e 61 6c 3a 3c 2f 70 3e 0a 20 20 20 20 20 20 .type.of.an.optional:</p>.......
86f00 3c 66 69 67 75 72 65 3e 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
86f20 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 70 74 69 ap"><cite.class="file">test_opti
86f40 6f 6e 61 6c 5f 74 79 70 65 2e 7a 69 67 3c 2f 63 69 74 65 3e 3c 2f 66 69 67 63 61 70 74 69 6f 6e onal_type.zig</cite></figcaption
86f60 3e 3c 70 72 65 3e 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c ><pre><code><span.class="line"><
86f80 73 70 61 6e 20 63 6c 61 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>
86fa0 20 65 78 70 65 63 74 20 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 62 75 69 6c 74 .expect.=.<span.class="tok-built
86fc0 69 6e 22 3e 40 69 6d 70 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="
86fe0 74 6f 6b 2d 73 74 72 22 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>)
87000 2e 74 65 73 74 69 6e 67 2e 65 78 70 65 63 74 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c .testing.expect;</span>.<span.cl
87020 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 ass="line"></span>.<span.class="
87040 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 74 65 73 74 3c line"><span.class="tok-kw">test<
87060 2f 73 70 61 6e 3e 20 3c 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
87080 6f 74 3b 6f 70 74 69 6f 6e 61 6c 20 74 79 70 65 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 20 7b 3c ot;optional.type&quot;</span>.{<
870a0 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 3c 73 /span>.<span.class="line">....<s
870c0 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 63 6f 6d 6d 65 6e 74 22 3e 2f 2f 20 44 65 63 6c 61 pan.class="tok-comment">//.Decla
870e0 72 65 20 61 6e 20 6f 70 74 69 6f 6e 61 6c 20 61 6e 64 20 63 6f 65 72 63 65 20 66 72 6f 6d 20 6e re.an.optional.and.coerce.from.n
87100 75 6c 6c 3a 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 ull:</span></span>.<span.class="
87120 6c 69 6e 65 22 3e 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 76 line">....<span.class="tok-kw">v
87140 61 72 3c 2f 73 70 61 6e 3e 20 66 6f 6f 3a 20 3f 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b ar</span>.foo:.?<span.class="tok
87160 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=
87180 22 74 6f 6b 2d 6e 75 6c 6c 22 3e 6e 75 6c 6c 3c 2f 73 70 61 6e 3e 3b 3c 2f 73 70 61 6e 3e 0a 3c "tok-null">null</span>;</span>.<
871a0 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 span.class="line"></span>.<span.
871c0 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f class="line">....<span.class="to
871e0 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 64 20 k-comment">//.Coerce.from.child.
87200 74 79 70 65 20 6f 66 20 61 6e 20 6f 70 74 69 6f 6e 61 6c 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e type.of.an.optional</span></span
87220 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 66 6f 6f 20 3d 20 3c >.<span.class="line">....foo.=.<
87240 73 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
87260 61 6e 3e 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c an>;</span>.<span.class="line"><
87280 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 3c 73 /span>.<span.class="line">....<s
872a0 70 61 6e 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
872c0 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
872e0 20 74 68 65 20 63 68 69 6c 64 20 74 79 70 65 20 6f 66 20 74 68 65 20 6f 70 74 69 6f 6e 61 6c 3a .the.child.type.of.the.optional:
87300 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 </span></span>.<span.class="line
87320 22 3e 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 63 6f 6d 70 74 ">....<span.class="tok-kw">compt
87340 69 6d 65 3c 2f 73 70 61 6e 3e 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e ime</span>.<span.class="tok-kw">
87360 74 72 79 3c 2f 73 70 61 6e 3e 20 65 78 70 65 63 74 28 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 try</span>.expect(<span.class="t
87380 6f 6b 2d 62 75 69 6c 74 69 6e 22 3e 40 74 79 70 65 49 6e 66 6f 3c 2f 73 70 61 6e 3e 28 3c 73 70 ok-builtin">@typeInfo</span>(<sp
873a0 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</
873c0 73 70 61 6e 3e 28 66 6f 6f 29 29 2e 4f 70 74 69 6f 6e 61 6c 2e 63 68 69 6c 64 20 3d 3d 20 3c 73 span>(foo)).Optional.child.==.<s
873e0 70 61 6e 20 63 6c 61 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>)
87400 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 7d 3c 2f 73 ;</span>.<span.class="line">}</s
87420 70 61 6e 3e 3c 2f 63 6f 64 65 3e 3c 2f 70 72 65 3e 3c 2f 66 69 67 75 72 65 3e 3c 66 69 67 75 72 pan></code></pre></figure><figur
87440 65 3e 3c 66 69 67 63 61 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">
87460 53 68 65 6c 6c 3c 2f 66 69 67 63 61 70 74 69 6f 6e 3e 3c 70 72 65 3e 3c 73 61 6d 70 3e 3c 73 70 Shell</figcaption><pre><samp><sp
87480 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 24 20 3c 6b 62 64 3e 7a 69 67 20 74 65 73 74 20 an.class="line">$.<kbd>zig.test.
874a0 74 65 73 74 5f 6f 70 74 69 6f 6e 61 6c 5f 74 79 70 65 2e 7a 69 67 3c 2f 6b 62 64 3e 3c 2f 73 70 test_optional_type.zig</kbd></sp
874c0 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 31 2f 31 20 74 65 73 74 2e an>.<span.class="line">1/1.test.
874e0 6f 70 74 69 6f 6e 61 6c 20 74 79 70 65 2e 2e 2e 20 4f 4b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e optional.type....OK</span>.<span
87500 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 41 6c 6c 20 31 20 74 65 73 74 73 20 70 61 73 73 65 64 .class="line">All.1.tests.passed
87520 2e 3c 2f 73 70 61 6e 3e 0a 3c 2f 73 61 6d 70 3e 3c 2f 70 72 65 3e 3c 2f 66 69 67 75 72 65 3e 0a .</span>.</samp></pre></figure>.
87540 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 72 .............<h3.id="null"><a.hr
87560 65 66 3d 22 23 74 6f 63 2d 6e 75 6c 6c 22 3e 6e 75 6c 6c 3c 2f 61 3e 20 3c 61 20 63 6c 61 73 73 ef="#toc-null">null</a>.<a.class
87580 3d 22 68 64 72 22 20 68 72 65 66 3d 22 23 6e 75 6c 6c 22 3e c2 a7 3c 2f 61 3e 3c 2f 68 33 3e 0a ="hdr".href="#null">..</a></h3>.
875a0 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
875c0 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 2c 20 3c ef="#undefined">undefined</a>,.<
875e0 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c code><span.class="line"><span.cl
87600 61 73 73 3d 22 74 6f 6b 2d 6e 75 6c 6c 22 3e 6e 75 6c 6c 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e ass="tok-null">null</span></span
87620 3e 3c 2f 63 6f 64 65 3e 20 68 61 73 20 69 74 73 20 6f 77 6e 20 74 79 70 65 2c 20 61 6e 64 20 74 ></code>.has.its.own.type,.and.t
87640 68 65 20 6f 6e 6c 79 20 77 61 79 20 74 6f 20 75 73 65 20 69 74 20 69 73 20 74 6f 0a 20 20 20 20 he.only.way.to.use.it.is.to.....
87660 20 20 63 61 73 74 20 69 74 20 74 6f 20 61 20 64 69 66 66 65 72 65 6e 74 20 74 79 70 65 3a 0a 20 ..cast.it.to.a.different.type:..
87680 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
876a0 69 6f 6e 20 63 6c 61 73 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=
876c0 22 66 69 6c 65 22 3e 74 65 73 74 2e 7a 69 67 3c 2f 63 69 74 65 3e 3c 2f 66 69 67 63 61 70 74 69 "file">test.zig</cite></figcapti
876e0 6f 6e 3e 3c 70 72 65 3e 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 on><pre><code><span.class="line"
87700 3e 3c 73 70 61 6e 20 63 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
87720 6e 3e 20 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 n>.optional_value:.?<span.class=
87740 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
87760 61 73 73 3d 22 74 6f 6b 2d 6e 75 6c 6c 22 3e 6e 75 6c 6c 3c 2f 73 70 61 6e 3e 3b 3c 2f 73 70 61 ass="tok-null">null</span>;</spa
87780 6e 3e 3c 2f 63 6f 64 65 3e 3c 2f 70 72 65 3e 3c 2f 66 69 67 75 72 65 3e 0a 20 20 20 20 20 20 0a n></code></pre></figure>........
877a0 20 20 20 20 20 20 3c 68 33 20 69 64 3d 22 4f 70 74 69 6f 6e 61 6c 2d 50 6f 69 6e 74 65 72 73 22 ......<h3.id="Optional-Pointers"
877c0 3e 3c 61 20 68 72 65 66 3d 22 23 74 6f 63 2d 4f 70 74 69 6f 6e 61 6c 2d 50 6f 69 6e 74 65 72 73 ><a.href="#toc-Optional-Pointers
877e0 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
87800 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"
87820 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
87840 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
87860 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.<
87880 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c code><span.class="line"><span.cl
878a0 61 73 73 3d 22 74 6f 6b 2d 6e 75 6c 6c 22 3e 6e 75 6c 6c 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e ass="tok-null">null</span></span
878c0 3e 3c 2f 63 6f 64 65 3e 20 6f 66 0a 20 20 20 20 20 20 74 68 65 20 6f 70 74 69 6f 6e 61 6c 20 69 ></code>.of.......the.optional.i
878e0 73 20 67 75 61 72 61 6e 74 65 65 64 20 74 6f 20 62 65 20 61 64 64 72 65 73 73 20 30 2e 3c 2f 70 s.guaranteed.to.be.address.0.</p
87900 3e 0a 20 20 20 20 20 20 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
87920 73 3d 22 7a 69 67 2d 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
87940 65 73 74 5f 6f 70 74 69 6f 6e 61 6c 5f 70 6f 69 6e 74 65 72 2e 7a 69 67 3c 2f 63 69 74 65 3e 3c est_optional_pointer.zig</cite><
87960 2f 66 69 67 63 61 70 74 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
87980 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 63 ss="line"><span.class="tok-kw">c
879a0 6f 6e 73 74 3c 2f 73 70 61 6e 3e 20 65 78 70 65 63 74 20 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 onst</span>.expect.=.<span.class
879c0 3d 22 74 6f 6b 2d 62 75 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
879e0 70 61 6e 20 63 6c 61 73 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
87a00 6f 74 3b 3c 2f 73 70 61 6e 3e 29 2e 74 65 73 74 69 6e 67 2e 65 78 70 65 63 74 3b 3c 2f 73 70 61 ot;</span>).testing.expect;</spa
87a20 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 n>.<span.class="line"></span>.<s
87a40 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f pan.class="line"><span.class="to
87a60 6b 2d 6b 77 22 3e 74 65 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
87a80 6f 6b 2d 73 74 72 22 3e 26 71 75 6f 74 3b 6f 70 74 69 6f 6e 61 6c 20 70 6f 69 6e 74 65 72 73 26 ok-str">&quot;optional.pointers&
87aa0 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 20 7b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 quot;</span>.{</span>.<span.clas
87ac0 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 63 6f s="line">....<span.class="tok-co
87ae0 6d 6d 65 6e 74 22 3e 2f 2f 20 50 6f 69 6e 74 65 72 73 20 63 61 6e 6e 6f 74 20 62 65 20 6e 75 6c mment">//.Pointers.cannot.be.nul
87b00 6c 2e 20 49 66 20 79 6f 75 20 77 61 6e 74 20 61 20 6e 75 6c 6c 20 70 6f 69 6e 74 65 72 2c 20 75 l..If.you.want.a.null.pointer,.u
87b20 73 65 20 74 68 65 20 6f 70 74 69 6f 6e 61 6c 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 se.the.optional</span></span>.<s
87b40 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 pan.class="line">....<span.class
87b60 3d 22 74 6f 6b 2d 63 6f 6d 6d 65 6e 74 22 3e 2f 2f 20 70 72 65 66 69 78 20 60 3f 60 20 74 6f 20 ="tok-comment">//.prefix.`?`.to.
87b80 6d 61 6b 65 20 74 68 65 20 70 6f 69 6e 74 65 72 20 74 79 70 65 20 6f 70 74 69 6f 6e 61 6c 2e 3c make.the.pointer.type.optional.<
87ba0 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 /span></span>.<span.class="line"
87bc0 3e 20 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
87be0 70 61 6e 3e 20 70 74 72 3a 20 3f 2a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 pan>.ptr:.?*<span.class="tok-typ
87c00 65 22 3e 69 33 32 3c 2f 73 70 61 6e 3e 20 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b e">i32</span>.=.<span.class="tok
87c20 2d 6e 75 6c 6c 22 3e 6e 75 6c 6c 3c 2f 73 70 61 6e 3e 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e -null">null</span>;</span>.<span
87c40 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 .class="line"></span>.<span.clas
87c60 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 s="line">....<span.class="tok-kw
87c80 22 3e 76 61 72 3c 2f 73 70 61 6e 3e 20 78 3a 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b ">var</span>.x:.<span.class="tok
87ca0 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=
87cc0 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 31 3c 2f 73 70 61 6e 3e 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 "tok-number">1</span>;</span>.<s
87ce0 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 70 74 72 20 3d 20 26 61 6d 70 3b pan.class="line">....ptr.=.&amp;
87d00 78 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 2f 73 x;</span>.<span.class="line"></s
87d20 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 3c 73 70 61 pan>.<span.class="line">....<spa
87d40 6e 20 63 6c 61 73 73 3d 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
87d60 63 74 28 70 74 72 2e 3f 2e 2a 20 3d 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e ct(ptr.?.*.==.<span.class="tok-n
87d80 75 6d 62 65 72 22 3e 31 3c 2f 73 70 61 6e 3e 29 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 umber">1</span>);</span>.<span.c
87da0 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d lass="line"></span>.<span.class=
87dc0 22 6c 69 6e 65 22 3e 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 63 6f 6d 6d "line">....<span.class="tok-comm
87de0 65 6e 74 22 3e 2f 2f 20 4f 70 74 69 6f 6e 61 6c 20 70 6f 69 6e 74 65 72 73 20 61 72 65 20 74 68 ent">//.Optional.pointers.are.th
87e00 65 20 73 61 6d 65 20 73 69 7a 65 20 61 73 20 6e 6f 72 6d 61 6c 20 70 6f 69 6e 74 65 72 73 2c 20 e.same.size.as.normal.pointers,.
87e20 62 65 63 61 75 73 65 20 70 6f 69 6e 74 65 72 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 because.pointer</span></span>.<s
87e40 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 pan.class="line">....<span.class
87e60 3d 22 74 6f 6b 2d 63 6f 6d 6d 65 6e 74 22 3e 2f 2f 20 76 61 6c 75 65 20 30 20 69 73 20 75 73 65 ="tok-comment">//.value.0.is.use
87e80 64 20 61 73 20 74 68 65 20 6e 75 6c 6c 20 76 61 6c 75 65 2e 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 d.as.the.null.value.</span></spa
87ea0 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 3c 73 70 61 6e 20 n>.<span.class="line">....<span.
87ec0 63 6c 61 73 73 3d 22 74 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
87ee0 28 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 62 75 69 6c 74 69 6e 22 3e 40 73 69 7a 65 (<span.class="tok-builtin">@size
87f00 4f 66 3c 2f 73 70 61 6e 3e 28 3f 2a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 Of</span>(?*<span.class="tok-typ
87f20 65 22 3e 69 33 32 3c 2f 73 70 61 6e 3e 29 20 3d 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 e">i32</span>).==.<span.class="t
87f40 6f 6b 2d 62 75 69 6c 74 69 6e 22 3e 40 73 69 7a 65 4f 66 3c 2f 73 70 61 6e 3e 28 2a 3c 73 70 61 ok-builtin">@sizeOf</span>(*<spa
87f60 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 69 33 32 3c 2f 73 70 61 6e 3e 29 29 3b n.class="tok-type">i32</span>));
87f80 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 7d 3c 2f 73 70 </span>.<span.class="line">}</sp
87fa0 61 6e 3e 3c 2f 63 6f 64 65 3e 3c 2f 70 72 65 3e 3c 2f 66 69 67 75 72 65 3e 3c 66 69 67 75 72 65 an></code></pre></figure><figure
87fc0 3e 3c 66 69 67 63 61 70 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
87fe0 68 65 6c 6c 3c 2f 66 69 67 63 61 70 74 69 6f 6e 3e 3c 70 72 65 3e 3c 73 61 6d 70 3e 3c 73 70 61 hell</figcaption><pre><samp><spa
88000 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 24 20 3c 6b 62 64 3e 7a 69 67 20 74 65 73 74 20 74 n.class="line">$.<kbd>zig.test.t
88020 65 73 74 5f 6f 70 74 69 6f 6e 61 6c 5f 70 6f 69 6e 74 65 72 2e 7a 69 67 3c 2f 6b 62 64 3e 3c 2f est_optional_pointer.zig</kbd></
88040 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 31 2f 31 20 74 65 73 span>.<span.class="line">1/1.tes
88060 74 2e 6f 70 74 69 6f 6e 61 6c 20 70 6f 69 6e 74 65 72 73 2e 2e 2e 20 4f 4b 3c 2f 73 70 61 6e 3e t.optional.pointers....OK</span>
88080 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 41 6c 6c 20 31 20 74 65 73 74 73 20 .<span.class="line">All.1.tests.
880a0 70 61 73 73 65 64 2e 3c 2f 73 70 61 6e 3e 0a 3c 2f 73 61 6d 70 3e 3c 2f 70 72 65 3e 3c 2f 66 69 passed.</span>.</samp></pre></fi
880c0 67 75 72 65 3e 0a 20 20 20 20 20 20 0a 20 20 20 20 20 20 0a 20 20 20 20 20 20 3c 68 32 20 69 64 gure>.....................<h2.id
880e0 3d 22 43 61 73 74 69 6e 67 22 3e 3c 61 20 68 72 65 66 3d 22 23 74 6f 63 2d 43 61 73 74 69 6e 67 ="Casting"><a.href="#toc-Casting
88100 22 3e 43 61 73 74 69 6e 67 3c 2f 61 3e 20 3c 61 20 63 6c 61 73 73 3d 22 68 64 72 22 20 68 72 65 ">Casting</a>.<a.class="hdr".hre
88120 66 3d 22 23 43 61 73 74 69 6e 67 22 3e c2 a7 3c 2f 61 3e 3c 2f 68 32 3e 0a 0a 20 20 20 20 20 20 f="#Casting">..</a></h2>........
88140 3c 70 3e 0a 20 20 20 20 20 20 41 20 3c 73 74 72 6f 6e 67 3e 74 79 70 65 20 63 61 73 74 3c 2f 73 <p>.......A.<strong>type.cast</s
88160 74 72 6f 6e 67 3e 20 63 6f 6e 76 65 72 74 73 20 61 20 76 61 6c 75 65 20 6f 66 20 6f 6e 65 20 74 trong>.converts.a.value.of.one.t
88180 79 70 65 20 74 6f 20 61 6e 6f 74 68 65 72 2e 0a 20 20 20 20 20 20 5a 69 67 20 68 61 73 20 3c 61 ype.to.another........Zig.has.<a
881a0 20 68 72 65 66 3d 22 23 54 79 70 65 2d 43 6f 65 72 63 69 6f 6e 22 3e 54 79 70 65 20 43 6f 65 72 .href="#Type-Coercion">Type.Coer
881c0 63 69 6f 6e 3c 2f 61 3e 20 66 6f 72 20 63 6f 6e 76 65 72 73 69 6f 6e 73 20 74 68 61 74 20 61 72 cion</a>.for.conversions.that.ar
881e0 65 20 6b 6e 6f 77 6e 20 74 6f 20 62 65 20 63 6f 6d 70 6c 65 74 65 6c 79 20 73 61 66 65 20 61 6e e.known.to.be.completely.safe.an
88200 64 20 75 6e 61 6d 62 69 67 75 6f 75 73 2c 0a 20 20 20 20 20 20 61 6e 64 20 3c 61 20 68 72 65 66 d.unambiguous,.......and.<a.href
88220 3d 22 23 45 78 70 6c 69 63 69 74 2d 43 61 73 74 73 22 3e 45 78 70 6c 69 63 69 74 20 43 61 73 74 ="#Explicit-Casts">Explicit.Cast
88240 73 3c 2f 61 3e 20 66 6f 72 20 63 6f 6e 76 65 72 73 69 6f 6e 73 20 74 68 61 74 20 6f 6e 65 20 77 s</a>.for.conversions.that.one.w
88260 6f 75 6c 64 20 6e 6f 74 20 77 61 6e 74 20 74 6f 20 68 61 70 70 65 6e 20 6f 6e 20 61 63 63 69 64 ould.not.want.to.happen.on.accid
88280 65 6e 74 2e 0a 20 20 20 20 20 20 54 68 65 72 65 20 69 73 20 61 6c 73 6f 20 61 20 74 68 69 72 64 ent........There.is.also.a.third
882a0 20 6b 69 6e 64 20 6f 66 20 74 79 70 65 20 63 6f 6e 76 65 72 73 69 6f 6e 20 63 61 6c 6c 65 64 20 .kind.of.type.conversion.called.
882c0 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">
882e0 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 0a 20 20 20 Peer.Type.Resolution</a>.for....
88300 20 20 20 74 68 65 20 63 61 73 65 20 77 68 65 6e 20 61 20 72 65 73 75 6c 74 20 74 79 70 65 20 6d ...the.case.when.a.result.type.m
88320 75 73 74 20 62 65 20 64 65 63 69 64 65 64 20 67 69 76 65 6e 20 6d 75 6c 74 69 70 6c 65 20 6f 70 ust.be.decided.given.multiple.op
88340 65 72 61 6e 64 20 74 79 70 65 73 2e 0a 20 20 20 20 20 20 3c 2f 70 3e 0a 20 20 20 20 20 20 3c 68 erand.types........</p>.......<h
88360 33 20 69 64 3d 22 54 79 70 65 2d 43 6f 65 72 63 69 6f 6e 22 3e 3c 61 20 68 72 65 66 3d 22 23 74 3.id="Type-Coercion"><a.href="#t
88380 6f 63 2d 54 79 70 65 2d 43 6f 65 72 63 69 6f 6e 22 3e 54 79 70 65 20 43 6f 65 72 63 69 6f 6e 3c oc-Type-Coercion">Type.Coercion<
883a0 2f 61 3e 20 3c 61 20 63 6c 61 73 73 3d 22 68 64 72 22 20 68 72 65 66 3d 22 23 54 79 70 65 2d 43 /a>.<a.class="hdr".href="#Type-C
883c0 6f 65 72 63 69 6f 6e 22 3e c2 a7 3c 2f 61 3e 3c 2f 68 33 3e 0a 0a 20 20 20 20 20 20 3c 70 3e 0a oercion">..</a></h3>........<p>.
883e0 20 20 20 20 20 20 54 79 70 65 20 63 6f 65 72 63 69 6f 6e 20 6f 63 63 75 72 73 20 77 68 65 6e 20 ......Type.coercion.occurs.when.
88400 6f 6e 65 20 74 79 70 65 20 69 73 20 65 78 70 65 63 74 65 64 2c 20 62 75 74 20 64 69 66 66 65 72 one.type.is.expected,.but.differ
88420 65 6e 74 20 74 79 70 65 20 69 73 20 70 72 6f 76 69 64 65 64 3a 0a 20 20 20 20 20 20 3c 2f 70 3e ent.type.is.provided:.......</p>
88440 0a 20 20 20 20 20 20 3c 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
88460 3d 22 7a 69 67 2d 63 61 70 22 3e 3c 63 69 74 65 20 63 6c 61 73 73 3d 22 66 69 6c 65 22 3e 74 79 ="zig-cap"><cite.class="file">ty
88480 70 65 5f 63 6f 65 72 63 69 6f 6e 2e 7a 69 67 3c 2f 63 69 74 65 3e 3c 2f 66 69 67 63 61 70 74 69 pe_coercion.zig</cite></figcapti
884a0 6f 6e 3e 3c 70 72 65 3e 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 on><pre><code><span.class="line"
884c0 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
884e0 3e 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 73 74 72 22 3e 26 71 75 6f 74 3b 74 79 >.<span.class="tok-str">&quot;ty
88500 70 65 20 63 6f 65 72 63 69 6f 6e 20 2d 20 76 61 72 69 61 62 6c 65 20 64 65 63 6c 61 72 61 74 69 pe.coercion.-.variable.declarati
88520 6f 6e 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 20 7b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 on&quot;</span>.{</span>.<span.c
88540 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b lass="line">....<span.class="tok
88560 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 22 -kw">var</span>.a:.<span.class="
88580 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
885a0 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 31 3c 2f 73 70 61 6e 3e 3b 3c 2f 73 70 61 6e 3e 0a s="tok-number">1</span>;</span>.
885c0 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 <span.class="line">....<span.cla
885e0 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 76 61 72 3c 2f 73 70 61 6e 3e 20 62 3a 20 3c 73 70 61 6e 20 ss="tok-kw">var</span>.b:.<span.
88600 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 75 31 36 3c 2f 73 70 61 6e 3e 20 3d 20 61 3b class="tok-type">u16</span>.=.a;
88620 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 5f </span>.<span.class="line">...._
88640 20 3d 20 62 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e .=.b;</span>.<span.class="line">
88660 7d 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 2f 73 70 }</span>.<span.class="line"></sp
88680 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 an>.<span.class="line"><span.cla
886a0 73 73 3d 22 74 6f 6b 2d 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
886c0 61 73 73 3d 22 74 6f 6b 2d 73 74 72 22 3e 26 71 75 6f 74 3b 74 79 70 65 20 63 6f 65 72 63 69 6f ass="tok-str">&quot;type.coercio
886e0 6e 20 2d 20 66 75 6e 63 74 69 6f 6e 20 63 61 6c 6c 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 20 7b n.-.function.call&quot;</span>.{
88700 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 3c </span>.<span.class="line">....<
88720 73 70 61 6e 20 63 6c 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
88740 3a 20 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
88760 6e 3e 20 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 31 3c n>.=.<span.class="tok-number">1<
88780 2f 73 70 61 6e 3e 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 /span>;</span>.<span.class="line
887a0 22 3e 20 20 20 20 66 6f 6f 28 61 29 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 ">....foo(a);</span>.<span.class
887c0 3d 22 6c 69 6e 65 22 3e 7d 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 ="line">}</span>.<span.class="li
887e0 6e 65 22 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c ne"></span>.<span.class="line"><
88800 73 70 61 6e 20 63 6c 61 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
88820 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 66 6e 22 3e 66 6f 6f 3c 2f 73 70 61 6e 3e 28 62 3a pan.class="tok-fn">foo</span>(b:
88840 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 75 31 36 3c 2f 73 70 61 .<span.class="tok-type">u16</spa
88860 6e 3e 29 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 76 6f 69 64 3c n>).<span.class="tok-type">void<
88880 2f 73 70 61 6e 3e 20 7b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e /span>.{</span>.<span.class="lin
888a0 65 22 3e 20 20 20 20 5f 20 3d 20 62 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 e">...._.=.b;</span>.<span.class
888c0 3d 22 6c 69 6e 65 22 3e 7d 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 ="line">}</span>.<span.class="li
888e0 6e 65 22 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c ne"></span>.<span.class="line"><
88900 73 70 61 6e 20 63 6c 61 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>.
88920 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 73 74 72 22 3e 26 71 75 6f 74 3b 74 79 70 65 <span.class="tok-str">&quot;type
88940 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 3c 2f 73 .coercion.-.@as.builtin&quot;</s
88960 70 61 6e 3e 20 7b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 pan>.{</span>.<span.class="line"
88980 3e 20 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
889a0 70 61 6e 3e 20 61 3a 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 75 pan>.a:.<span.class="tok-type">u
889c0 38 3c 2f 73 70 61 6e 3e 20 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 8</span>.=.<span.class="tok-numb
889e0 65 72 22 3e 31 3c 2f 73 70 61 6e 3e 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 er">1</span>;</span>.<span.class
88a00 3d 22 6c 69 6e 65 22 3e 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 ="line">....<span.class="tok-kw"
88a20 3e 76 61 72 3c 2f 73 70 61 6e 3e 20 62 20 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b >var</span>.b.=.<span.class="tok
88a40 2d 62 75 69 6c 74 69 6e 22 3e 40 61 73 3c 2f 73 70 61 6e 3e 28 3c 73 70 61 6e 20 63 6c 61 73 73 -builtin">@as</span>(<span.class
88a60 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 75 31 36 3c 2f 73 70 61 6e 3e 2c 20 61 29 3b 3c 2f 73 70 61 ="tok-type">u16</span>,.a);</spa
88a80 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 5f 20 3d 20 62 3b n>.<span.class="line">...._.=.b;
88aa0 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 7d 3c 2f 73 70 </span>.<span.class="line">}</sp
88ac0 61 6e 3e 3c 2f 63 6f 64 65 3e 3c 2f 70 72 65 3e 3c 2f 66 69 67 75 72 65 3e 3c 66 69 67 75 72 65 an></code></pre></figure><figure
88ae0 3e 3c 66 69 67 63 61 70 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
88b00 68 65 6c 6c 3c 2f 66 69 67 63 61 70 74 69 6f 6e 3e 3c 70 72 65 3e 3c 73 61 6d 70 3e 3c 73 70 61 hell</figcaption><pre><samp><spa
88b20 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 24 20 3c 6b 62 64 3e 7a 69 67 20 74 65 73 74 20 74 n.class="line">$.<kbd>zig.test.t
88b40 79 70 65 5f 63 6f 65 72 63 69 6f 6e 2e 7a 69 67 3c 2f 6b 62 64 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 ype_coercion.zig</kbd></span>.<s
88b60 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 31 2f 33 20 74 65 73 74 2e 74 79 70 65 20 63 pan.class="line">1/3.test.type.c
88b80 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 6e 2e 2e oercion.-.variable.declaration..
88ba0 2e 20 4f 4b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 32 ..OK</span>.<span.class="line">2
88bc0 2f 33 20 74 65 73 74 2e 74 79 70 65 20 63 6f 65 72 63 69 6f 6e 20 2d 20 66 75 6e 63 74 69 6f 6e /3.test.type.coercion.-.function
88be0 20 63 61 6c 6c 2e 2e 2e 20 4f 4b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 .call....OK</span>.<span.class="
88c00 6c 69 6e 65 22 3e 33 2f 33 20 74 65 73 74 2e 74 79 70 65 20 63 6f 65 72 63 69 6f 6e 20 2d 20 40 line">3/3.test.type.coercion.-.@
88c20 61 73 20 62 75 69 6c 74 69 6e 2e 2e 2e 20 4f 4b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c as.builtin....OK</span>.<span.cl
88c40 61 73 73 3d 22 6c 69 6e 65 22 3e 41 6c 6c 20 33 20 74 65 73 74 73 20 70 61 73 73 65 64 2e 3c 2f ass="line">All.3.tests.passed.</
88c60 73 70 61 6e 3e 0a 3c 2f 73 61 6d 70 3e 3c 2f 70 72 65 3e 3c 2f 66 69 67 75 72 65 3e 0a 20 20 20 span>.</samp></pre></figure>....
88c80 20 20 20 3c 70 3e 0a 20 20 20 20 20 20 54 79 70 65 20 63 6f 65 72 63 69 6f 6e 73 20 61 72 65 20 ...<p>.......Type.coercions.are.
88ca0 6f 6e 6c 79 20 61 6c 6c 6f 77 65 64 20 77 68 65 6e 20 69 74 20 69 73 20 63 6f 6d 70 6c 65 74 65 only.allowed.when.it.is.complete
88cc0 6c 79 20 75 6e 61 6d 62 69 67 75 6f 75 73 20 68 6f 77 20 74 6f 20 67 65 74 20 66 72 6f 6d 20 6f ly.unambiguous.how.to.get.from.o
88ce0 6e 65 20 74 79 70 65 20 74 6f 20 61 6e 6f 74 68 65 72 2c 0a 20 20 20 20 20 20 61 6e 64 20 74 68 ne.type.to.another,.......and.th
88d00 65 20 74 72 61 6e 73 66 6f 72 6d 61 74 69 6f 6e 20 69 73 20 67 75 61 72 61 6e 74 65 65 64 20 74 e.transformation.is.guaranteed.t
88d20 6f 20 62 65 20 73 61 66 65 2e 20 54 68 65 72 65 20 69 73 20 6f 6e 65 20 65 78 63 65 70 74 69 6f o.be.safe..There.is.one.exceptio
88d40 6e 2c 20 77 68 69 63 68 20 69 73 20 3c 61 20 68 72 65 66 3d 22 23 43 2d 50 6f 69 6e 74 65 72 73 n,.which.is.<a.href="#C-Pointers
88d60 22 3e 43 20 50 6f 69 6e 74 65 72 73 3c 2f 61 3e 2e 0a 20 20 20 20 20 20 3c 2f 70 3e 0a 20 20 20 ">C.Pointers</a>........</p>....
88d80 20 20 20 3c 68 34 20 69 64 3d 22 54 79 70 65 2d 43 6f 65 72 63 69 6f 6e 2d 53 74 72 69 63 74 65 ...<h4.id="Type-Coercion-Stricte
88da0 72 2d 51 75 61 6c 69 66 69 63 61 74 69 6f 6e 22 3e 3c 61 20 68 72 65 66 3d 22 23 74 6f 63 2d 54 r-Qualification"><a.href="#toc-T
88dc0 79 70 65 2d 43 6f 65 72 63 69 6f 6e 2d 53 74 72 69 63 74 65 72 2d 51 75 61 6c 69 66 69 63 61 74 ype-Coercion-Stricter-Qualificat
88de0 69 6f 6e 22 3e 54 79 70 65 20 43 6f 65 72 63 69 6f 6e 3a 20 53 74 72 69 63 74 65 72 20 51 75 61 ion">Type.Coercion:.Stricter.Qua
88e00 6c 69 66 69 63 61 74 69 6f 6e 3c 2f 61 3e 20 3c 61 20 63 6c 61 73 73 3d 22 68 64 72 22 20 68 72 lification</a>.<a.class="hdr".hr
88e20 65 66 3d 22 23 54 79 70 65 2d 43 6f 65 72 63 69 6f 6e 2d 53 74 72 69 63 74 65 72 2d 51 75 61 6c ef="#Type-Coercion-Stricter-Qual
88e40 69 66 69 63 61 74 69 6f 6e 22 3e c2 a7 3c 2f 61 3e 3c 2f 68 34 3e 0a 0a 20 20 20 20 20 20 3c 70 ification">..</a></h4>........<p
88e60 3e 0a 20 20 20 20 20 20 56 61 6c 75 65 73 20 77 68 69 63 68 20 68 61 76 65 20 74 68 65 20 73 61 >.......Values.which.have.the.sa
88e80 6d 65 20 72 65 70 72 65 73 65 6e 74 61 74 69 6f 6e 20 61 74 20 72 75 6e 74 69 6d 65 20 63 61 6e me.representation.at.runtime.can
88ea0 20 62 65 20 63 61 73 74 20 74 6f 20 69 6e 63 72 65 61 73 65 20 74 68 65 20 73 74 72 69 63 74 6e .be.cast.to.increase.the.strictn
88ec0 65 73 73 0a 20 20 20 20 20 20 6f 66 20 74 68 65 20 71 75 61 6c 69 66 69 65 72 73 2c 20 6e 6f 20 ess.......of.the.qualifiers,.no.
88ee0 6d 61 74 74 65 72 20 68 6f 77 20 6e 65 73 74 65 64 20 74 68 65 20 71 75 61 6c 69 66 69 65 72 73 matter.how.nested.the.qualifiers
88f00 20 61 72 65 3a 0a 20 20 20 20 20 20 3c 2f 70 3e 0a 20 20 20 20 20 20 3c 75 6c 3e 0a 20 20 20 20 .are:.......</p>.......<ul>.....
88f20 20 20 20 20 20 20 3c 6c 69 3e 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e ......<li><code><span.class="lin
88f40 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 63 6f 6e 73 74 3c 2f 73 e"><span.class="tok-kw">const</s
88f60 70 61 6e 3e 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 20 2d 20 6e 6f 6e 2d 63 6f 6e 73 74 20 74 pan></span></code>.-.non-const.t
88f80 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 20 o.const.is.allowed</li>.........
88fa0 20 20 3c 6c 69 3e 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c ..<li><code><span.class="line"><
88fc0 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 76 6f 6c 61 74 69 6c 65 3c 2f 73 70 span.class="tok-kw">volatile</sp
88fe0 61 6e 3e 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 20 2d 20 6e 6f 6e 2d 76 6f 6c 61 74 69 6c 65 an></span></code>.-.non-volatile
89000 20 74 6f 20 76 6f 6c 61 74 69 6c 65 20 69 73 20 61 6c 6c 6f 77 65 64 3c 2f 6c 69 3e 0a 20 20 20 .to.volatile.is.allowed</li>....
89020 20 20 20 20 20 20 20 3c 6c 69 3e 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 .......<li><code><span.class="li
89040 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 61 6c 69 67 6e 3c 2f ne"><span.class="tok-kw">align</
89060 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 20 2d 20 62 69 67 67 65 72 20 74 6f 20 span></span></code>.-.bigger.to.
89080 73 6d 61 6c 6c 65 72 20 61 6c 69 67 6e 6d 65 6e 74 20 69 73 20 61 6c 6c 6f 77 65 64 20 3c 2f 6c smaller.alignment.is.allowed.</l
890a0 69 3e 0a 20 20 20 20 20 20 20 20 20 20 3c 6c 69 3e 3c 61 20 68 72 65 66 3d 22 23 45 72 72 6f 72 i>...........<li><a.href="#Error
890c0 2d 53 65 74 2d 54 79 70 65 22 3e 65 72 72 6f 72 20 73 65 74 73 3c 2f 61 3e 20 74 6f 20 73 75 70 -Set-Type">error.sets</a>.to.sup
890e0 65 72 73 65 74 73 20 69 73 20 61 6c 6c 6f 77 65 64 3c 2f 6c 69 3e 0a 20 20 20 20 20 20 3c 2f 75 ersets.is.allowed</li>.......</u
89100 6c 3e 0a 20 20 20 20 20 20 3c 70 3e 0a 20 20 20 20 20 20 54 68 65 73 65 20 63 61 73 74 73 20 61 l>.......<p>.......These.casts.a
89120 72 65 20 6e 6f 2d 6f 70 73 20 61 74 20 72 75 6e 74 69 6d 65 20 73 69 6e 63 65 20 74 68 65 20 76 re.no-ops.at.runtime.since.the.v
89140 61 6c 75 65 20 72 65 70 72 65 73 65 6e 74 61 74 69 6f 6e 20 64 6f 65 73 20 6e 6f 74 20 63 68 61 alue.representation.does.not.cha
89160 6e 67 65 2e 0a 20 20 20 20 20 20 3c 2f 70 3e 0a 20 20 20 20 20 20 3c 66 69 67 75 72 65 3e 3c 66 nge........</p>.......<figure><f
89180 69 67 63 61 70 74 69 6f 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.
891a0 63 6c 61 73 73 3d 22 66 69 6c 65 22 3e 6e 6f 5f 6f 70 5f 63 61 73 74 73 2e 7a 69 67 3c 2f 63 69 class="file">no_op_casts.zig</ci
891c0 74 65 3e 3c 2f 66 69 67 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
891e0 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b .class="line"><span.class="tok-k
89200 77 22 3e 74 65 73 74 3c 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-
89220 73 74 72 22 3e 26 71 75 6f 74 3b 74 79 70 65 20 63 6f 65 72 63 69 6f 6e 20 2d 20 63 6f 6e 73 74 str">&quot;type.coercion.-.const
89240 20 71 75 61 6c 69 66 69 63 61 74 69 6f 6e 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 20 7b 3c 2f 73 .qualification&quot;</span>.{</s
89260 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 3c 73 70 61 pan>.<span.class="line">....<spa
89280 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 76 61 72 3c 2f 73 70 61 6e 3e 20 61 3a 20 3c n.class="tok-kw">var</span>.a:.<
892a0 73 70 61 6e 20 63 6c 61 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>
892c0 20 3d 20 3c 73 70 61 6e 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
892e0 70 61 6e 3e 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e pan>;</span>.<span.class="line">
89300 20 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
89320 61 6e 3e 20 62 3a 20 2a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 69 an>.b:.*<span.class="tok-type">i
89340 33 32 3c 2f 73 70 61 6e 3e 20 3d 20 26 61 6d 70 3b 61 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 32</span>.=.&amp;a;</span>.<span
89360 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 66 6f 6f 28 62 29 3b 3c 2f 73 70 61 6e 3e .class="line">....foo(b);</span>
89380 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 7d 3c 2f 73 70 61 6e 3e 0a 3c 73 70 .<span.class="line">}</span>.<sp
893a0 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c an.class="line"></span>.<span.cl
893c0 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e ass="line"><span.class="tok-kw">
893e0 66 6e 3c 2f 73 70 61 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
89400 6f 6f 3c 2f 73 70 61 6e 3e 28 5f 3a 20 2a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b oo</span>(_:.*<span.class="tok-k
89420 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
89440 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="
89460 74 6f 6b 2d 74 79 70 65 22 3e 76 6f 69 64 3c 2f 73 70 61 6e 3e 20 7b 7d 3c 2f 73 70 61 6e 3e 3c tok-type">void</span>.{}</span><
89480 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
894a0 67 63 61 70 74 69 6f 6e 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
894c0 3c 2f 66 69 67 63 61 70 74 69 6f 6e 3e 3c 70 72 65 3e 3c 73 61 6d 70 3e 3c 73 70 61 6e 20 63 6c </figcaption><pre><samp><span.cl
894e0 61 73 73 3d 22 6c 69 6e 65 22 3e 24 20 3c 6b 62 64 3e 7a 69 67 20 74 65 73 74 20 6e 6f 5f 6f 70 ass="line">$.<kbd>zig.test.no_op
89500 5f 63 61 73 74 73 2e 7a 69 67 3c 2f 6b 62 64 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c _casts.zig</kbd></span>.<span.cl
89520 61 73 73 3d 22 6c 69 6e 65 22 3e 31 2f 31 20 74 65 73 74 2e 74 79 70 65 20 63 6f 65 72 63 69 6f ass="line">1/1.test.type.coercio
89540 6e 20 2d 20 63 6f 6e 73 74 20 71 75 61 6c 69 66 69 63 61 74 69 6f 6e 2e 2e 2e 20 4f 4b 3c 2f 73 n.-.const.qualification....OK</s
89560 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 41 6c 6c 20 31 20 74 65 pan>.<span.class="line">All.1.te
89580 73 74 73 20 70 61 73 73 65 64 2e 3c 2f 73 70 61 6e 3e 0a 3c 2f 73 61 6d 70 3e 3c 2f 70 72 65 3e sts.passed.</span>.</samp></pre>
895a0 3c 2f 66 69 67 75 72 65 3e 0a 20 20 20 20 20 20 3c 70 3e 0a 20 20 20 20 20 20 49 6e 20 61 64 64 </figure>.......<p>.......In.add
895c0 69 74 69 6f 6e 2c 20 70 6f 69 6e 74 65 72 73 20 63 6f 65 72 63 65 20 74 6f 20 63 6f 6e 73 74 20 ition,.pointers.coerce.to.const.
895e0 6f 70 74 69 6f 6e 61 6c 20 70 6f 69 6e 74 65 72 73 3a 0a 20 20 20 20 20 20 3c 2f 70 3e 0a 20 20 optional.pointers:.......</p>...
89600 20 20 20 20 3c 66 69 67 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
89620 69 67 2d 63 61 70 22 3e 3c 63 69 74 65 20 63 6c 61 73 73 3d 22 66 69 6c 65 22 3e 70 6f 69 6e 74 ig-cap"><cite.class="file">point
89640 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 63 69 er_coerce_const_optional.zig</ci
89660 74 65 3e 3c 2f 66 69 67 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
89680 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b .class="line"><span.class="tok-k
896a0 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
896c0 73 3d 22 74 6f 6b 2d 62 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>(<
896e0 73 70 61 6e 20 63 6c 61 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
89700 75 6f 74 3b 3c 2f 73 70 61 6e 3e 29 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 uot;</span>);</span>.<span.class
89720 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 63 6f 6e ="line"><span.class="tok-kw">con
89740 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
89760 78 70 65 63 74 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 xpect;</span>.<span.class="line"
89780 3e 3c 73 70 61 6e 20 63 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
897a0 6e 3e 20 6d 65 6d 20 3d 20 73 74 64 2e 6d 65 6d 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 n>.mem.=.std.mem;</span>.<span.c
897c0 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d lass="line"></span>.<span.class=
897e0 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 74 65 73 74 "line"><span.class="tok-kw">test
89800 3c 2f 73 70 61 6e 3e 20 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
89820 75 6f 74 3b 63 61 73 74 20 2a 5b 31 5d 5b 2a 5d 63 6f 6e 73 74 20 75 38 20 74 6f 20 5b 2a 5d 63 uot;cast.*[1][*]const.u8.to.[*]c
89840 6f 6e 73 74 20 3f 5b 2a 5d 63 6f 6e 73 74 20 75 38 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 20 7b onst.?[*]const.u8&quot;</span>.{
89860 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 3c </span>.<span.class="line">....<
89880 73 70 61 6e 20 63 6c 61 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>
898a0 20 77 69 6e 64 6f 77 5f 6e 61 6d 65 20 3d 20 5b 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b .window_name.=.[<span.class="tok
898c0 2d 6e 75 6d 62 65 72 22 3e 31 3c 2f 73 70 61 6e 3e 5d 5b 2a 5d 3c 73 70 61 6e 20 63 6c 61 73 73 -number">1</span>][*]<span.class
898e0 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
89900 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 75 38 3c 2f 73 70 61 6e 3e 7b 3c 73 70 61 6e 20 63 6c ss="tok-type">u8</span>{<span.cl
89920 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 20 6e 61 6d 65 26 ass="tok-str">&quot;window.name&
89940 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 7d 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 quot;</span>};</span>.<span.clas
89960 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 s="line">....<span.class="tok-kw
89980 22 3e 63 6f 6e 73 74 3c 2f 73 70 61 6e 3e 20 78 3a 20 5b 2a 5d 3c 73 70 61 6e 20 63 6c 61 73 73 ">const</span>.x:.[*]<span.class
899a0 3d 22 74 6f 6b 2d 6b 77 22 3e 63 6f 6e 73 74 3c 2f 73 70 61 6e 3e 20 3f 5b 2a 5d 3c 73 70 61 6e ="tok-kw">const</span>.?[*]<span
899c0 20 63 6c 61 73 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
899e0 61 6e 20 63 6c 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>.=.
89a00 26 61 6d 70 3b 77 69 6e 64 6f 77 5f 6e 61 6d 65 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 &amp;window_name;</span>.<span.c
89a20 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b lass="line">....<span.class="tok
89a40 2d 6b 77 22 3e 74 72 79 3c 2f 73 70 61 6e 3e 20 65 78 70 65 63 74 28 6d 65 6d 2e 65 71 6c 28 3c -kw">try</span>.expect(mem.eql(<
89a60 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>,
89a80 20 73 74 64 2e 6d 65 6d 2e 73 6c 69 63 65 54 6f 28 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f .std.mem.sliceTo(<span.class="to
89aa0 6b 2d 62 75 69 6c 74 69 6e 22 3e 40 70 74 72 43 61 73 74 3c 2f 73 70 61 6e 3e 28 5b 2a 3a 3c 73 k-builtin">@ptrCast</span>([*:<s
89ac0 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 30 3c 2f 73 70 61 6e 3e 5d pan.class="tok-number">0</span>]
89ae0 3c 73 70 61 6e 20 63 6c 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
89b00 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
89b20 6e 3e 2c 20 78 5b 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 30 n>,.x[<span.class="tok-number">0
89b40 3c 2f 73 70 61 6e 3e 5d 2e 3f 29 2c 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
89b60 6d 62 65 72 22 3e 30 3c 2f 73 70 61 6e 3e 29 2c 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f mber">0</span>),.<span.class="to
89b80 6b 2d 73 74 72 22 3e 26 71 75 6f 74 3b 77 69 6e 64 6f 77 20 6e 61 6d 65 26 71 75 6f 74 3b 3c 2f k-str">&quot;window.name&quot;</
89ba0 73 70 61 6e 3e 29 29 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e span>));</span>.<span.class="lin
89bc0 65 22 3e 7d 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 3c 2f 70 72 65 3e 3c 2f 66 69 67 75 72 65 e">}</span></code></pre></figure
89be0 3e 3c 66 69 67 75 72 65 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
89c00 6c 2d 63 61 70 22 3e 53 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
89c20 61 6d 70 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 24 20 3c 6b 62 64 3e 7a 69 amp><span.class="line">$.<kbd>zi
89c40 67 20 74 65 73 74 20 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 g.test.pointer_coerce_const_opti
89c60 6f 6e 61 6c 2e 7a 69 67 3c 2f 6b 62 64 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 onal.zig</kbd></span>.<span.clas
89c80 73 3d 22 6c 69 6e 65 22 3e 31 2f 31 20 74 65 73 74 2e 63 61 73 74 20 2a 5b 31 5d 5b 2a 5d 63 6f s="line">1/1.test.cast.*[1][*]co
89ca0 6e 73 74 20 75 38 20 74 6f 20 5b 2a 5d 63 6f 6e 73 74 20 3f 5b 2a 5d 63 6f 6e 73 74 20 75 38 2e nst.u8.to.[*]const.?[*]const.u8.
89cc0 2e 2e 20 4f 4b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e ...OK</span>.<span.class="line">
89ce0 41 6c 6c 20 31 20 74 65 73 74 73 20 70 61 73 73 65 64 2e 3c 2f 73 70 61 6e 3e 0a 3c 2f 73 61 6d All.1.tests.passed.</span>.</sam
89d00 70 3e 3c 2f 70 72 65 3e 3c 2f 66 69 67 75 72 65 3e 0a 20 20 20 20 20 20 0a 20 20 20 20 20 20 3c p></pre></figure>..............<
89d20 68 34 20 69 64 3d 22 54 79 70 65 2d 43 6f 65 72 63 69 6f 6e 2d 49 6e 74 65 67 65 72 2d 61 6e 64 h4.id="Type-Coercion-Integer-and
89d40 2d 46 6c 6f 61 74 2d 57 69 64 65 6e 69 6e 67 22 3e 3c 61 20 68 72 65 66 3d 22 23 74 6f 63 2d 54 -Float-Widening"><a.href="#toc-T
89d60 79 70 65 2d 43 6f 65 72 63 69 6f 6e 2d 49 6e 74 65 67 65 72 2d 61 6e 64 2d 46 6c 6f 61 74 2d 57 ype-Coercion-Integer-and-Float-W
89d80 69 64 65 6e 69 6e 67 22 3e 54 79 70 65 20 43 6f 65 72 63 69 6f 6e 3a 20 49 6e 74 65 67 65 72 20 idening">Type.Coercion:.Integer.
89da0 61 6e 64 20 46 6c 6f 61 74 20 57 69 64 65 6e 69 6e 67 3c 2f 61 3e 20 3c 61 20 63 6c 61 73 73 3d and.Float.Widening</a>.<a.class=
89dc0 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 65 67 "hdr".href="#Type-Coercion-Integ
89de0 65 72 2d 61 6e 64 2d 46 6c 6f 61 74 2d 57 69 64 65 6e 69 6e 67 22 3e c2 a7 3c 2f 61 3e 3c 2f 68 er-and-Float-Widening">..</a></h
89e00 34 3e 0a 0a 20 20 20 20 20 20 3c 70 3e 0a 20 20 20 20 20 20 3c 61 20 68 72 65 66 3d 22 23 49 6e 4>........<p>.......<a.href="#In
89e20 74 65 67 65 72 73 22 3e 49 6e 74 65 67 65 72 73 3c 2f 61 3e 20 63 6f 65 72 63 65 20 74 6f 20 69 tegers">Integers</a>.coerce.to.i
89e40 6e 74 65 67 65 72 20 74 79 70 65 73 20 77 68 69 63 68 20 63 61 6e 20 72 65 70 72 65 73 65 6e 74 nteger.types.which.can.represent
89e60 20 65 76 65 72 79 20 76 61 6c 75 65 20 6f 66 20 74 68 65 20 6f 6c 64 20 74 79 70 65 2c 20 61 6e .every.value.of.the.old.type,.an
89e80 64 20 6c 69 6b 65 77 69 73 65 0a 20 20 20 20 20 20 3c 61 20 68 72 65 66 3d 22 23 46 6c 6f 61 74 d.likewise.......<a.href="#Float
89ea0 73 22 3e 46 6c 6f 61 74 73 3c 2f 61 3e 20 63 6f 65 72 63 65 20 74 6f 20 66 6c 6f 61 74 20 74 79 s">Floats</a>.coerce.to.float.ty
89ec0 70 65 73 20 77 68 69 63 68 20 63 61 6e 20 72 65 70 72 65 73 65 6e 74 20 65 76 65 72 79 20 76 61 pes.which.can.represent.every.va
89ee0 6c 75 65 20 6f 66 20 74 68 65 20 6f 6c 64 20 74 79 70 65 2e 0a 20 20 20 20 20 20 3c 2f 70 3e 0a lue.of.the.old.type........</p>.
89f00 20 20 20 20 20 20 3c 66 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=
89f20 22 7a 69 67 2d 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
89f40 74 5f 69 6e 74 65 67 65 72 5f 77 69 64 65 6e 69 6e 67 2e 7a 69 67 3c 2f 63 69 74 65 3e 3c 2f 66 t_integer_widening.zig</cite></f
89f60 69 67 63 61 70 74 69 6f 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
89f80 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 63 6f 6e ="line"><span.class="tok-kw">con
89fa0 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
89fc0 2d 62 75 69 6c 74 69 6e 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
89fe0 6c 61 73 73 3d 22 74 6f 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;</
8a000 73 70 61 6e 3e 29 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 span>);</span>.<span.class="line
8a020 22 3e 3c 73 70 61 6e 20 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
8a040 61 6e 3e 20 62 75 69 6c 74 69 6e 20 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 62 an>.builtin.=.<span.class="tok-b
8a060 75 69 6c 74 69 6e 22 3e 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
8a080 73 73 3d 22 74 6f 6b 2d 73 74 72 22 3e 26 71 75 6f 74 3b 62 75 69 6c 74 69 6e 26 71 75 6f 74 3b ss="tok-str">&quot;builtin&quot;
8a0a0 3c 2f 73 70 61 6e 3e 29 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 </span>);</span>.<span.class="li
8a0c0 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 63 6f 6e 73 74 3c 2f ne"><span.class="tok-kw">const</
8a0e0 73 70 61 6e 3e 20 65 78 70 65 63 74 20 3d 20 73 74 64 2e 74 65 73 74 69 6e 67 2e 65 78 70 65 63 span>.expect.=.std.testing.expec
8a100 74 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 t;</span>.<span.class="line"><sp
8a120 61 6e 20 63 6c 61 73 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
8a140 65 6d 20 3d 20 73 74 64 2e 6d 65 6d 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 em.=.std.mem;</span>.<span.class
8a160 3d 22 6c 69 6e 65 22 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e ="line"></span>.<span.class="lin
8a180 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 74 65 73 74 3c 2f 73 70 e"><span.class="tok-kw">test</sp
8a1a0 61 6e 3e 20 3c 73 70 61 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;
8a1c0 69 6e 74 65 67 65 72 20 77 69 64 65 6e 69 6e 67 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 20 7b 3c integer.widening&quot;</span>.{<
8a1e0 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 3c 73 /span>.<span.class="line">....<s
8a200 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 76 61 72 3c 2f 73 70 61 6e 3e 20 61 3a pan.class="tok-kw">var</span>.a:
8a220 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 75 38 3c 2f 73 70 61 6e .<span.class="tok-type">u8</span
8a240 3e 20 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 32 35 30 >.=.<span.class="tok-number">250
8a260 3c 2f 73 70 61 6e 3e 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e </span>;</span>.<span.class="lin
8a280 65 22 3e 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 76 61 72 3c e">....<span.class="tok-kw">var<
8a2a0 2f 73 70 61 6e 3e 20 62 3a 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 /span>.b:.<span.class="tok-type"
8a2c0 3e 75 31 36 3c 2f 73 70 61 6e 3e 20 3d 20 61 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c >u16</span>.=.a;</span>.<span.cl
8a2e0 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d ass="line">....<span.class="tok-
8a300 6b 77 22 3e 76 61 72 3c 2f 73 70 61 6e 3e 20 63 3a 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 kw">var</span>.c:.<span.class="t
8a320 6f 6b 2d 74 79 70 65 22 3e 75 33 32 3c 2f 73 70 61 6e 3e 20 3d 20 62 3b 3c 2f 73 70 61 6e 3e 0a ok-type">u32</span>.=.b;</span>.
8a340 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 <span.class="line">....<span.cla
8a360 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 76 61 72 3c 2f 73 70 61 6e 3e 20 64 3a 20 3c 73 70 61 6e 20 ss="tok-kw">var</span>.d:.<span.
8a380 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 63 3b class="tok-type">u64</span>.=.c;
8a3a0 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 3c </span>.<span.class="line">....<
8a3c0 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 76 61 72 3c 2f 73 70 61 6e 3e 20 65 span.class="tok-kw">var</span>.e
8a3e0 3a 20 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 :.<span.class="tok-type">u64</sp
8a400 61 6e 3e 20 3d 20 64 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e an>.=.d;</span>.<span.class="lin
8a420 65 22 3e 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 76 61 72 3c e">....<span.class="tok-kw">var<
8a440 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 2d 74 79 70 65 22 /span>.f:.<span.class="tok-type"
8a460 3e 75 31 32 38 3c 2f 73 70 61 6e 3e 20 3d 20 65 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 >u128</span>.=.e;</span>.<span.c
8a480 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b lass="line">....<span.class="tok
8a4a0 2d 6b 77 22 3e 74 72 79 3c 2f 73 70 61 6e 3e 20 65 78 70 65 63 74 28 66 20 3d 3d 20 61 29 3b 3c -kw">try</span>.expect(f.==.a);<
8a4c0 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 7d 3c 2f 73 70 61 /span>.<span.class="line">}</spa
8a4e0 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 n>.<span.class="line"></span>.<s
8a500 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f pan.class="line"><span.class="to
8a520 6b 2d 6b 77 22 3e 74 65 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
8a540 6f 6b 2d 73 74 72 22 3e 26 71 75 6f 74 3b 69 6d 70 6c 69 63 69 74 20 75 6e 73 69 67 6e 65 64 20 ok-str">&quot;implicit.unsigned.
8a560 69 6e 74 65 67 65 72 20 74 6f 20 73 69 67 6e 65 64 20 69 6e 74 65 67 65 72 26 71 75 6f 74 3b 3c integer.to.signed.integer&quot;<
8a580 2f 73 70 61 6e 3e 20 7b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e /span>.{</span>.<span.class="lin
8a5a0 65 22 3e 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 76 61 72 3c e">....<span.class="tok-kw">var<
8a5c0 2f 73 70 61 6e 3e 20 61 3a 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 /span>.a:.<span.class="tok-type"
8a5e0 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
8a600 6d 62 65 72 22 3e 32 35 30 3c 2f 73 70 61 6e 3e 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 mber">250</span>;</span>.<span.c
8a620 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b lass="line">....<span.class="tok
8a640 2d 6b 77 22 3e 76 61 72 3c 2f 73 70 61 6e 3e 20 62 3a 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 -kw">var</span>.b:.<span.class="
8a660 74 6f 6b 2d 74 79 70 65 22 3e 69 31 36 3c 2f 73 70 61 6e 3e 20 3d 20 61 3b 3c 2f 73 70 61 6e 3e tok-type">i16</span>.=.a;</span>
8a680 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 3c 73 70 61 6e 20 63 6c .<span.class="line">....<span.cl
8a6a0 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 74 72 79 3c 2f 73 70 61 6e 3e 20 65 78 70 65 63 74 28 62 ass="tok-kw">try</span>.expect(b
8a6c0 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 30 .==.<span.class="tok-number">250
8a6e0 3c 2f 73 70 61 6e 3e 29 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 </span>);</span>.<span.class="li
8a700 6e 65 22 3e 7d 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e ne">}</span>.<span.class="line">
8a720 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e </span>.<span.class="line"><span
8a740 20 63 6c 61 73 73 3d 22 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
8a760 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 6c 6f 61 74 20 77 69 n.class="tok-str">&quot;float.wi
8a780 64 65 6e 69 6e 67 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 20 7b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 dening&quot;</span>.{</span>.<sp
8a7a0 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d an.class="line">....<span.class=
8a7c0 22 74 6f 6b 2d 63 6f 6d 6d 65 6e 74 22 3e 2f 2f 20 4e 6f 74 65 3a 20 74 68 65 72 65 20 69 73 20 "tok-comment">//.Note:.there.is.
8a7e0 61 6e 20 6f 70 65 6e 20 69 73 73 75 65 20 70 72 65 76 65 6e 74 69 6e 67 20 74 68 69 73 20 66 72 an.open.issue.preventing.this.fr
8a800 6f 6d 20 77 6f 72 6b 69 6e 67 20 6f 6e 20 61 61 72 63 68 36 34 3a 3c 2f 73 70 61 6e 3e 3c 2f 73 om.working.on.aarch64:</span></s
8a820 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 3c 73 70 61 pan>.<span.class="line">....<spa
8a840 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 63 6f 6d 6d 65 6e 74 22 3e 2f 2f 20 68 74 74 70 73 3a 2f n.class="tok-comment">//.https:/
8a860 2f 67 69 74 68 75 62 2e 63 6f 6d 2f 7a 69 67 6c 61 6e 67 2f 7a 69 67 2f 69 73 73 75 65 73 2f 33 /github.com/ziglang/zig/issues/3
8a880 32 38 32 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 282</span></span>.<span.class="l
8a8a0 69 6e 65 22 3e 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 69 66 ine">....<span.class="tok-kw">if
8a8c0 3c 2f 73 70 61 6e 3e 20 28 62 75 69 6c 74 69 6e 2e 74 61 72 67 65 74 2e 63 70 75 2e 61 72 63 68 </span>.(builtin.target.cpu.arch
8a8e0 20 3d 3d 20 2e 61 61 72 63 68 36 34 29 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b .==..aarch64).<span.class="tok-k
8a900 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
8a920 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 3c k-kw">error</span>.SkipZigTest;<
8a940 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 2f 73 70 61 6e /span>.<span.class="line"></span
8a960 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 3c 73 70 61 6e 20 63 >.<span.class="line">....<span.c
8a980 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 76 61 72 3c 2f 73 70 61 6e 3e 20 61 3a 20 3c 73 70 61 lass="tok-kw">var</span>.a:.<spa
8a9a0 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 66 31 36 3c 2f 73 70 61 6e 3e 20 3d 20 n.class="tok-type">f16</span>.=.
8a9c0 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 31 32 2e 33 34 3c 2f <span.class="tok-number">12.34</
8a9e0 73 70 61 6e 3e 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 span>;</span>.<span.class="line"
8aa00 3e 20 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
8aa20 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 66 pan>.b:.<span.class="tok-type">f
8aa40 33 32 3c 2f 73 70 61 6e 3e 20 3d 20 61 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 32</span>.=.a;</span>.<span.clas
8aa60 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 s="line">....<span.class="tok-kw
8aa80 22 3e 76 61 72 3c 2f 73 70 61 6e 3e 20 63 3a 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b ">var</span>.c:.<span.class="tok
8aaa0 2d 74 79 70 65 22 3e 66 36 34 3c 2f 73 70 61 6e 3e 20 3d 20 62 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 -type">f64</span>.=.b;</span>.<s
8aac0 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 pan.class="line">....<span.class
8aae0 3d 22 74 6f 6b 2d 6b 77 22 3e 76 61 72 3c 2f 73 70 61 6e 3e 20 64 3a 20 3c 73 70 61 6e 20 63 6c ="tok-kw">var</span>.d:.<span.cl
8ab00 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 66 31 32 38 3c 2f 73 70 61 6e 3e 20 3d 20 63 3b 3c ass="tok-type">f128</span>.=.c;<
8ab20 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 3c 73 /span>.<span.class="line">....<s
8ab40 70 61 6e 20 63 6c 61 73 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
8ab60 70 65 63 74 28 64 20 3d 3d 20 61 29 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 pect(d.==.a);</span>.<span.class
8ab80 3d 22 6c 69 6e 65 22 3e 7d 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 3c 2f 70 72 65 3e 3c 2f 66 ="line">}</span></code></pre></f
8aba0 69 67 75 72 65 3e 3c 66 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=
8abc0 22 73 68 65 6c 6c 2d 63 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
8abe0 72 65 3e 3c 73 61 6d 70 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 24 20 3c 6b re><samp><span.class="line">$.<k
8ac00 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 6e 69 6e bd>zig.test.test_integer_widenin
8ac20 67 2e 7a 69 67 3c 2f 6b 62 64 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 g.zig</kbd></span>.<span.class="
8ac40 6c 69 6e 65 22 3e 31 2f 33 20 74 65 73 74 2e 69 6e 74 65 67 65 72 20 77 69 64 65 6e 69 6e 67 2e line">1/3.test.integer.widening.
8ac60 2e 2e 20 4f 4b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e ...OK</span>.<span.class="line">
8ac80 32 2f 33 20 74 65 73 74 2e 69 6d 70 6c 69 63 69 74 20 75 6e 73 69 67 6e 65 64 20 69 6e 74 65 67 2/3.test.implicit.unsigned.integ
8aca0 65 72 20 74 6f 20 73 69 67 6e 65 64 20 69 6e 74 65 67 65 72 2e 2e 2e 20 4f 4b 3c 2f 73 70 61 6e er.to.signed.integer....OK</span
8acc0 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 33 2f 33 20 74 65 73 74 2e 66 6c >.<span.class="line">3/3.test.fl
8ace0 6f 61 74 20 77 69 64 65 6e 69 6e 67 2e 2e 2e 20 4f 4b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 oat.widening....OK</span>.<span.
8ad00 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 41 6c 6c 20 33 20 74 65 73 74 73 20 70 61 73 73 65 64 2e class="line">All.3.tests.passed.
8ad20 3c 2f 73 70 61 6e 3e 0a 3c 2f 73 61 6d 70 3e 3c 2f 70 72 65 3e 3c 2f 66 69 67 75 72 65 3e 0a 20 </span>.</samp></pre></figure>..
8ad40 20 20 20 20 20 0a 20 20 20 20 20 20 3c 68 34 20 69 64 3d 22 54 79 70 65 2d 43 6f 65 72 63 69 6f ............<h4.id="Type-Coercio
8ad60 6e 2d 43 6f 65 72 63 69 6f 6e 2d 46 6c 6f 61 74 2d 74 6f 2d 49 6e 74 22 3e 3c 61 20 68 72 65 66 n-Coercion-Float-to-Int"><a.href
8ad80 3d 22 23 74 6f 63 2d 54 79 70 65 2d 43 6f 65 72 63 69 6f 6e 2d 43 6f 65 72 63 69 6f 6e 2d 46 6c ="#toc-Type-Coercion-Coercion-Fl
8ada0 6f 61 74 2d 74 6f 2d 49 6e 74 22 3e 54 79 70 65 20 43 6f 65 72 63 69 6f 6e 3a 20 43 6f 65 72 63 oat-to-Int">Type.Coercion:.Coerc
8adc0 69 6f 6e 20 46 6c 6f 61 74 20 74 6f 20 49 6e 74 3c 2f 61 3e 20 3c 61 20 63 6c 61 73 73 3d 22 68 ion.Float.to.Int</a>.<a.class="h
8ade0 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 43 6f 65 72 63 69 6f dr".href="#Type-Coercion-Coercio
8ae00 6e 2d 46 6c 6f 61 74 2d 74 6f 2d 49 6e 74 22 3e c2 a7 3c 2f 61 3e 3c 2f 68 34 3e 0a 0a 20 20 20 n-Float-to-Int">..</a></h4>.....
8ae20 20 20 20 3c 70 3e 0a 20 20 20 20 20 20 41 20 63 6f 6d 70 69 6c 65 72 20 65 72 72 6f 72 20 69 73 ...<p>.......A.compiler.error.is
8ae40 20 61 70 70 72 6f 70 72 69 61 74 65 20 62 65 63 61 75 73 65 20 74 68 69 73 20 61 6d 62 69 67 75 .appropriate.because.this.ambigu
8ae60 6f 75 73 20 65 78 70 72 65 73 73 69 6f 6e 20 6c 65 61 76 65 73 20 74 68 65 20 63 6f 6d 70 69 6c ous.expression.leaves.the.compil
8ae80 65 72 0a 20 20 20 20 20 20 74 77 6f 20 63 68 6f 69 63 65 73 20 61 62 6f 75 74 20 74 68 65 20 63 er.......two.choices.about.the.c
8aea0 6f 65 72 63 69 6f 6e 2e 0a 20 20 20 20 20 20 3c 2f 70 3e 0a 20 20 20 20 20 20 3c 75 6c 3e 0a 20 oercion........</p>.......<ul>..
8aec0 20 20 20 20 20 20 20 3c 6c 69 3e 43 61 73 74 20 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 .......<li>Cast.<code><span.clas
8aee0 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 s="line"><span.class="tok-number
8af00 22 3e 35 34 2e 30 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 20 74 6f 20 3c ">54.0</span></span></code>.to.<
8af20 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c code><span.class="line"><span.cl
8af40 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
8af60 6e 3e 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 20 72 65 73 75 6c 74 69 6e 67 20 69 6e 20 3c 63 n></span></code>.resulting.in.<c
8af80 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 ode><span.class="line"><span.cla
8afa0 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
8afc0 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<
8afe0 2f 73 70 61 6e 3e 2c 20 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"
8b000 3e 31 30 3c 2f 73 70 61 6e 3e 29 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 2c 20 77 68 69 63 68 >10</span>)</span></code>,.which
8b020 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=
8b040 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 62 75 69 6c 74 69 6e 22 "line"><span.class="tok-builtin"
8b060 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
8b080 65 22 3e 66 33 32 3c 2f 73 70 61 6e 3e 2c 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d e">f32</span>,.<span.class="tok-
8b0a0 6e 75 6d 62 65 72 22 3e 31 30 3c 2f 73 70 61 6e 3e 29 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e number">10</span>)</span></code>
8b0c0 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 64 65 3e 3c 73 70 </li>.........<li>Cast.<code><sp
8b0e0 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b an.class="line"><span.class="tok
8b100 2d 6e 75 6d 62 65 72 22 3e 35 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 20 -number">5</span></span></code>.
8b120 74 6f 20 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 to.<code><span.class="line"><spa
8b140 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 63 6f 6d 70 74 69 6d 65 5f 66 6c 6f 61 n.class="tok-type">comptime_floa
8b160 74 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 20 72 65 73 75 6c 74 69 6e 67 t</span></span></code>.resulting
8b180 20 69 6e 20 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 .in.<code><span.class="line"><sp
8b1a0 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
8b1c0 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 6d >(<span.class="tok-type">comptim
8b1e0 65 5f 66 6c 6f 61 74 3c 2f 73 70 61 6e 3e 2c 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b e_float</span>,.<span.class="tok
8b200 2d 6e 75 6d 62 65 72 22 3e 31 30 2e 38 3c 2f 73 70 61 6e 3e 29 3c 2f 73 70 61 6e 3e 3c 2f 63 6f -number">10.8</span>)</span></co
8b220 64 65 3e 2c 20 77 68 69 63 68 20 69 73 20 63 61 73 74 65 64 20 74 6f 20 3c 63 6f 64 65 3e 3c 73 de>,.which.is.casted.to.<code><s
8b240 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f pan.class="line"><span.class="to
8b260 6b 2d 62 75 69 6c 74 69 6e 22 3e 40 61 73 3c 2f 73 70 61 6e 3e 28 3c 73 70 61 6e 20 63 6c 61 73 k-builtin">@as</span>(<span.clas
8b280 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 66 33 32 3c 2f 73 70 61 6e 3e 2c 20 3c 73 70 61 6e 20 63 s="tok-type">f32</span>,.<span.c
8b2a0 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 31 30 2e 38 3c 2f 73 70 61 6e 3e 29 3c 2f lass="tok-number">10.8</span>)</
8b2c0 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 3c 2f 6c 69 3e 0a 20 20 20 20 20 20 3c 2f 75 6c 3e 0a 20 20 span></code></li>.......</ul>...
8b2e0 20 20 20 20 3c 66 69 67 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
8b300 69 67 2d 63 61 70 22 3e 3c 63 69 74 65 20 63 6c 61 73 73 3d 22 66 69 6c 65 22 3e 74 65 73 74 2e ig-cap"><cite.class="file">test.
8b320 7a 69 67 3c 2f 63 69 74 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
8b340 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 e><span.class="line"><span.class
8b360 3d 22 74 6f 6b 2d 63 6f 6d 6d 65 6e 74 22 3e 2f 2f 20 43 6f 6d 70 69 6c 65 20 74 69 6d 65 20 63 ="tok-comment">//.Compile.time.c
8b380 6f 65 72 63 69 6f 6e 20 6f 66 20 66 6c 6f 61 74 20 74 6f 20 69 6e 74 3c 2f 73 70 61 6e 3e 3c 2f oercion.of.float.to.int</span></
8b3a0 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 span>.<span.class="line"><span.c
8b3c0 6c 61 73 73 3d 22 74 6f 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.
8b3e0 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 63 class="tok-str">&quot;implicit.c
8b400 61 73 74 20 74 6f 20 63 6f 6d 70 74 69 6d 65 5f 69 6e 74 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e ast.to.comptime_int&quot;</span>
8b420 20 7b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 .{</span>.<span.class="line">...
8b440 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>
8b460 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 2f .f:.<span.class="tok-type">f32</
8b480 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"
8b4a0 3e 35 34 2e 30 3c 2f 73 70 61 6e 3e 20 2f 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d >54.0</span>./.<span.class="tok-
8b4c0 6e 75 6d 62 65 72 22 3e 35 3c 2f 73 70 61 6e 3e 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 number">5</span>;</span>.<span.c
8b4e0 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 5f 20 3d 20 66 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 lass="line">...._.=.f;</span>.<s
8b500 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 7d 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e pan.class="line">}</span></code>
8b520 3c 2f 70 72 65 3e 3c 2f 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
8b540 6f 6e 20 63 6c 61 73 73 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
8b560 61 70 74 69 6f 6e 3e 3c 70 72 65 3e 3c 73 61 6d 70 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c aption><pre><samp><span.class="l
8b580 69 6e 65 22 3e 24 20 3c 6b 62 64 3e 7a 69 67 20 74 65 73 74 20 74 65 73 74 2e 7a 69 67 20 2d 66 ine">$.<kbd>zig.test.test.zig.-f
8b5a0 73 74 61 67 65 31 3c 2f 6b 62 64 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d stage1</kbd></span>.<span.class=
8b5c0 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 30 5f 31 22 3e 2e 2f 64 6f 63 67 "line"><span.class="t0_1">./docg
8b5e0 65 6e 5f 74 6d 70 2f 74 65 73 74 2e 7a 69 67 3a 33 3a 31 38 3a 20 3c 2f 73 70 61 6e 3e 3c 73 70 en_tmp/test.zig:3:18:.</span><sp
8b600 61 6e 20 63 6c 61 73 73 3d 22 74 33 31 5f 31 22 3e 65 72 72 6f 72 3a 20 3c 2f 73 70 61 6e 3e 3c an.class="t31_1">error:.</span><
8b620 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 30 5f 31 22 3e 66 6c 6f 61 74 20 76 61 6c 75 65 20 35 34 span.class="t0_1">float.value.54
8b640 2e 30 30 30 30 30 30 20 63 61 6e 6e 6f 74 20 62 65 20 63 6f 65 72 63 65 64 20 74 6f 20 74 79 70 .000000.cannot.be.coerced.to.typ
8b660 65 20 27 63 6f 6d 70 74 69 6d 65 5f 69 6e 74 27 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 0a 3c e.'comptime_int'</span></span>.<
8b680 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 76 61 72 20 66 3a 20 66 33 32 span.class="line">....var.f:.f32
8b6a0 20 3d 20 35 34 2e 30 20 2f 20 35 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d .=.54.0./.5;</span>.<span.class=
8b6c0 22 6c 69 6e 65 22 3e 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 3c 73 70 61 6e 20 63 6c "line">.................<span.cl
8b6e0 61 73 73 3d 22 74 33 32 5f 31 22 3e 5e 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 0a 3c 2f 73 61 ass="t32_1">^</span></span>.</sa
8b700 6d 70 3e 3c 2f 70 72 65 3e 3c 2f 66 69 67 75 72 65 3e 0a 20 20 20 20 20 20 0a 20 20 20 20 20 20 mp></pre></figure>..............
8b720 3c 68 34 20 69 64 3d 22 54 79 70 65 2d 43 6f 65 72 63 69 6f 6e 2d 53 6c 69 63 65 73 2d 41 72 72 <h4.id="Type-Coercion-Slices-Arr
8b740 61 79 73 2d 61 6e 64 2d 50 6f 69 6e 74 65 72 73 22 3e 3c 61 20 68 72 65 66 3d 22 23 74 6f 63 2d ays-and-Pointers"><a.href="#toc-
8b760 54 79 70 65 2d 43 6f 65 72 63 69 6f 6e 2d 53 6c 69 63 65 73 2d 41 72 72 61 79 73 2d 61 6e 64 2d Type-Coercion-Slices-Arrays-and-
8b780 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 73 2c Pointers">Type.Coercion:.Slices,
8b7a0 20 41 72 72 61 79 73 20 61 6e 64 20 50 6f 69 6e 74 65 72 73 3c 2f 61 3e 20 3c 61 20 63 6c 61 73 .Arrays.and.Pointers</a>.<a.clas
8b7c0 73 3d 22 68 64 72 22 20 68 72 65 66 3d 22 23 54 79 70 65 2d 43 6f 65 72 63 69 6f 6e 2d 53 6c 69 s="hdr".href="#Type-Coercion-Sli
8b7e0 63 65 73 2d 41 72 72 61 79 73 2d 61 6e 64 2d 50 6f 69 6e 74 65 72 73 22 3e c2 a7 3c 2f 61 3e 3c ces-Arrays-and-Pointers">..</a><
8b800 2f 68 34 3e 0a 0a 20 20 20 20 20 20 3c 66 69 67 75 72 65 3e 3c 66 69 67 63 61 70 74 69 6f 6e 20 /h4>........<figure><figcaption.
8b820 63 6c 61 73 73 3d 22 7a 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
8b840 65 22 3e 63 6f 65 72 63 65 5f 5f 73 6c 69 63 65 73 5f 61 72 72 61 79 73 5f 61 6e 64 5f 70 74 72 e">coerce__slices_arrays_and_ptr
8b860 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
8b880 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 ode><span.class="line"><span.cla
8b8a0 73 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.=.<
8b8c0 73 70 61 6e 20 63 6c 61 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
8b8e0 3c 2f 73 70 61 6e 3e 28 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
8b900 75 6f 74 3b 73 74 64 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 29 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 uot;std&quot;</span>);</span>.<s
8b920 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f pan.class="line"><span.class="to
8b940 6b 2d 6b 77 22 3e 63 6f 6e 73 74 3c 2f 73 70 61 6e 3e 20 65 78 70 65 63 74 20 3d 20 73 74 64 2e k-kw">const</span>.expect.=.std.
8b960 74 65 73 74 69 6e 67 2e 65 78 70 65 63 74 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 testing.expect;</span>.<span.cla
8b980 73 73 3d 22 6c 69 6e 65 22 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c ss="line"></span>.<span.class="l
8b9a0 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 63 6f 6d 6d 65 6e 74 22 3e 2f ine"><span.class="tok-comment">/
8b9c0 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 6f 69 6e 74 65 /.You.can.assign.constant.pointe
8b9e0 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 68 3c 2f 73 70 rs.to.arrays.to.a.slice.with</sp
8ba00 61 6e 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 an></span>.<span.class="line"><s
8ba20 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 63 6f 6d 6d 65 6e 74 22 3e 2f 2f 20 63 6f 6e 73 74 pan.class="tok-comment">//.const
8ba40 20 6d 6f 64 69 66 69 65 72 20 6f 6e 20 74 68 65 20 65 6c 65 6d 65 6e 74 20 74 79 70 65 2e 20 55 .modifier.on.the.element.type..U
8ba60 73 65 66 75 6c 20 69 6e 20 70 61 72 74 69 63 75 6c 61 72 20 66 6f 72 3c 2f 73 70 61 6e 3e 3c 2f seful.in.particular.for</span></
8ba80 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 span>.<span.class="line"><span.c
8baa0 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 6c 69 74 lass="tok-comment">//.String.lit
8bac0 65 72 61 6c 73 2e 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 erals.</span></span>.<span.class
8bae0 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 74 65 73 ="line"><span.class="tok-kw">tes
8bb00 74 3c 2f 73 70 61 6e 3e 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">&
8bb20 71 75 6f 74 3b 2a 63 6f 6e 73 74 20 5b 4e 5d 54 20 74 6f 20 5b 5d 63 6f 6e 73 74 20 54 26 71 75 quot;*const.[N]T.to.[]const.T&qu
8bb40 6f 74 3b 3c 2f 73 70 61 6e 3e 20 7b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d ot;</span>.{</span>.<span.class=
8bb60 22 6c 69 6e 65 22 3e 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e "line">....<span.class="tok-kw">
8bb80 76 61 72 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 var</span>.x1:.[]<span.class="to
8bba0 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="
8bbc0 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
8bbe0 73 3d 22 74 6f 6b 2d 73 74 72 22 3e 26 71 75 6f 74 3b 68 65 6c 6c 6f 26 71 75 6f 74 3b 3c 2f 73 s="tok-str">&quot;hello&quot;</s
8bc00 70 61 6e 3e 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e pan>;</span>.<span.class="line">
8bc20 20 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
8bc40 61 6e 3e 20 78 32 3a 20 5b 5d 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 63 an>.x2:.[]<span.class="tok-kw">c
8bc60 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
8bc80 65 22 3e 75 38 3c 2f 73 70 61 6e 3e 20 3d 20 26 61 6d 70 3b 5b 3c 73 70 61 6e 20 63 6c 61 73 73 e">u8</span>.=.&amp;[<span.class
8bca0 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 35 3c 2f 73 70 61 6e 3e 5d 3c 73 70 61 6e 20 63 6c 61 ="tok-number">5</span>]<span.cla
8bcc0 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 75 38 3c 2f 73 70 61 6e 3e 7b 20 3c 73 70 61 6e 20 63 ss="tok-type">u8</span>{.<span.c
8bce0 6c 61 73 73 3d 22 74 6f 6b 2d 73 74 72 22 3e 27 68 27 3c 2f 73 70 61 6e 3e 2c 20 3c 73 70 61 6e lass="tok-str">'h'</span>,.<span
8bd00 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 73 74 72 22 3e 27 65 27 3c 2f 73 70 61 6e 3e 2c 20 3c 73 70 .class="tok-str">'e'</span>,.<sp
8bd20 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>,.<
8bd40 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 73 74 72 22 3e 27 6c 27 3c 2f 73 70 61 6e 3e 2c span.class="tok-str">'l'</span>,
8bd60 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 31 31 31 3c 2f 73 .<span.class="tok-number">111</s
8bd80 70 61 6e 3e 20 7d 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 pan>.};</span>.<span.class="line
8bda0 22 3e 20 20 20 20 3c 73 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</
8bdc0 73 70 61 6e 3e 20 65 78 70 65 63 74 28 73 74 64 2e 6d 65 6d 2e 65 71 6c 28 3c 73 70 61 6e 20 63 span>.expect(std.mem.eql(<span.c
8bde0 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 75 38 3c 2f 73 70 61 6e 3e 2c 20 78 31 2c 20 78 lass="tok-type">u8</span>,.x1,.x
8be00 32 29 29 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 2));</span>.<span.class="line"><
8be20 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 3c 73 /span>.<span.class="line">....<s
8be40 70 61 6e 20 63 6c 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 pan.class="tok-kw">var</span>.y:
8be60 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
8be80 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 66 33 32 3c pan>.<span.class="tok-type">f32<
8bea0 2f 73 70 61 6e 3e 20 3d 20 26 61 6d 70 3b 5b 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d /span>.=.&amp;[<span.class="tok-
8bec0 6e 75 6d 62 65 72 22 3e 32 3c 2f 73 70 61 6e 3e 5d 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f number">2</span>]<span.class="to
8bee0 6b 2d 74 79 70 65 22 3e 66 33 32 3c 2f 73 70 61 6e 3e 7b 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d k-type">f32</span>{.<span.class=
8bf00 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 31 2e 32 3c 2f 73 70 61 6e 3e 2c 20 3c 73 70 61 6e 20 63 "tok-number">1.2</span>,.<span.c
8bf20 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 33 2e 34 3c 2f 73 70 61 6e 3e 20 7d 3b 3c lass="tok-number">3.4</span>.};<
8bf40 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 3c 73 /span>.<span.class="line">....<s
8bf60 70 61 6e 20 63 6c 61 73 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
8bf80 70 65 63 74 28 79 5b 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e pect(y[<span.class="tok-number">
8bfa0 30 3c 2f 73 70 61 6e 3e 5d 20 3d 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 0</span>].==.<span.class="tok-nu
8bfc0 6d 62 65 72 22 3e 31 2e 32 3c 2f 73 70 61 6e 3e 29 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 mber">1.2</span>);</span>.<span.
8bfe0 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 7d 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 class="line">}</span>.<span.clas
8c000 73 3d 22 6c 69 6e 65 22 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 s="line"></span>.<span.class="li
8c020 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 63 6f 6d 6d 65 6e 74 22 3e 2f 2f ne"><span.class="tok-comment">//
8c040 20 4c 69 6b 65 77 69 73 65 2c 20 69 74 20 77 6f 72 6b 73 20 77 68 65 6e 20 74 68 65 20 64 65 73 .Likewise,.it.works.when.the.des
8c060 74 69 6e 61 74 69 6f 6e 20 74 79 70 65 20 69 73 20 61 6e 20 65 72 72 6f 72 20 75 6e 69 6f 6e 2e tination.type.is.an.error.union.
8c080 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 </span></span>.<span.class="line
8c0a0 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 74 65 73 74 3c 2f 73 70 61 "><span.class="tok-kw">test</spa
8c0c0 6e 3e 20 3c 73 70 61 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 n>.<span.class="tok-str">&quot;*
8c0e0 63 6f 6e 73 74 20 5b 4e 5d 54 20 74 6f 20 45 21 5b 5d 63 6f 6e 73 74 20 54 26 71 75 6f 74 3b 3c const.[N]T.to.E![]const.T&quot;<
8c100 2f 73 70 61 6e 3e 20 7b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e /span>.{</span>.<span.class="lin
8c120 65 22 3e 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 76 61 72 3c e">....<span.class="tok-kw">var<
8c140 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 65 /span>.x1:.<span.class="tok-type
8c160 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 3d ">anyerror</span>![]<span.class=
8c180 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
8c1a0 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 75 38 3c 2f 73 70 61 6e 3e 20 3d 20 3c 73 70 61 6e 20 63 s="tok-type">u8</span>.=.<span.c
8c1c0 6c 61 73 73 3d 22 74 6f 6b 2d 73 74 72 22 3e 26 71 75 6f 74 3b 68 65 6c 6c 6f 26 71 75 6f 74 3b lass="tok-str">&quot;hello&quot;
8c1e0 3c 2f 73 70 61 6e 3e 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e </span>;</span>.<span.class="lin
8c200 65 22 3e 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 76 61 72 3c e">....<span.class="tok-kw">var<
8c220 2f 73 70 61 6e 3e 20 78 32 3a 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 /span>.x2:.<span.class="tok-type
8c240 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 3d ">anyerror</span>![]<span.class=
8c260 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
8c280 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 75 38 3c 2f 73 70 61 6e 3e 20 3d 20 26 61 6d 70 3b 5b 3c s="tok-type">u8</span>.=.&amp;[<
8c2a0 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>
8c2c0 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
8c2e0 3e 7b 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 73 74 72 22 3e 27 68 27 3c 2f 73 70 >{.<span.class="tok-str">'h'</sp
8c300 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'</
8c320 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'
8c340 3c 2f 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">'
8c360 6c 27 3c 2f 73 70 61 6e 3e 2c 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 l'</span>,.<span.class="tok-numb
8c380 65 72 22 3e 31 31 31 3c 2f 73 70 61 6e 3e 20 7d 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 er">111</span>.};</span>.<span.c
8c3a0 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b lass="line">....<span.class="tok
8c3c0 2d 6b 77 22 3e 74 72 79 3c 2f 73 70 61 6e 3e 20 65 78 70 65 63 74 28 73 74 64 2e 6d 65 6d 2e 65 -kw">try</span>.expect(std.mem.e
8c3e0 71 6c 28 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 75 38 3c 2f 73 70 ql(<span.class="tok-type">u8</sp
8c400 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 74 72 79 3c 2f 73 an>,.<span.class="tok-kw">try</s
8c420 70 61 6e 3e 20 78 31 2c 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 74 72 pan>.x1,.<span.class="tok-kw">tr
8c440 79 3c 2f 73 70 61 6e 3e 20 78 32 29 29 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 y</span>.x2));</span>.<span.clas
8c460 73 3d 22 6c 69 6e 65 22 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 s="line"></span>.<span.class="li
8c480 6e 65 22 3e 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 76 61 72 ne">....<span.class="tok-kw">var
8c4a0 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
8c4c0 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 3d ">anyerror</span>![]<span.class=
8c4e0 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
8c500 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 5b s="tok-type">f32</span>.=.&amp;[
8c520 3c 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
8c540 3e 5d 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 66 33 32 3c 2f 73 70 >]<span.class="tok-type">f32</sp
8c560 61 6e 3e 7b 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 31 2e an>{.<span.class="tok-number">1.
8c580 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
8c5a0 72 22 3e 33 2e 34 3c 2f 73 70 61 6e 3e 20 7d 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c r">3.4</span>.};</span>.<span.cl
8c5c0 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d ass="line">....<span.class="tok-
8c5e0 6b 77 22 3e 74 72 79 3c 2f 73 70 61 6e 3e 20 65 78 70 65 63 74 28 28 3c 73 70 61 6e 20 63 6c 61 kw">try</span>.expect((<span.cla
8c600 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 74 72 79 3c 2f 73 70 61 6e 3e 20 79 29 5b 3c 73 70 61 6e 20 ss="tok-kw">try</span>.y)[<span.
8c620 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 30 3c 2f 73 70 61 6e 3e 5d 20 3d 3d 20 class="tok-number">0</span>].==.
8c640 3c 73 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 <span.class="tok-number">1.2</sp
8c660 61 6e 3e 29 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e an>);</span>.<span.class="line">
8c680 7d 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 2f 73 70 }</span>.<span.class="line"></sp
8c6a0 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 an>.<span.class="line"><span.cla
8c6c0 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
8c6e0 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
8c700 20 69 73 20 61 6e 20 6f 70 74 69 6f 6e 61 6c 2e 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 0a 3c .is.an.optional.</span></span>.<
8c720 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 span.class="line"><span.class="t
8c740 6f 6b 2d 6b 77 22 3e 74 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="
8c760 74 6f 6b 2d 73 74 72 22 3e 26 71 75 6f 74 3b 2a 63 6f 6e 73 74 20 5b 4e 5d 54 20 74 6f 20 3f 5b tok-str">&quot;*const.[N]T.to.?[
8c780 5d 63 6f 6e 73 74 20 54 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 20 7b 3c 2f 73 70 61 6e 3e 0a 3c ]const.T&quot;</span>.{</span>.<
8c7a0 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 span.class="line">....<span.clas
8c7c0 73 3d 22 74 6f 6b 2d 6b 77 22 3e 76 61 72 3c 2f 73 70 61 6e 3e 20 78 31 3a 20 3f 5b 5d 3c 73 70 s="tok-kw">var</span>.x1:.?[]<sp
8c7e0 61 6e 20 63 6c 61 73 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>.<
8c800 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>.
8c820 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
8c840 6c 6c 6f 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 llo&quot;</span>;</span>.<span.c
8c860 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b lass="line">....<span.class="tok
8c880 2d 6b 77 22 3e 76 61 72 3c 2f 73 70 61 6e 3e 20 78 32 3a 20 3f 5b 5d 3c 73 70 61 6e 20 63 6c 61 -kw">var</span>.x2:.?[]<span.cla
8c8a0 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 63 6f 6e 73 74 3c 2f 73 70 61 6e 3e 20 3c 73 70 61 6e 20 63 ss="tok-kw">const</span>.<span.c
8c8c0 6c 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 lass="tok-type">u8</span>.=.&amp
8c8e0 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 35 3c 2f 73 70 ;[<span.class="tok-number">5</sp
8c900 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
8c920 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 68 27 3c pan>{.<span.class="tok-str">'h'<
8c940 2f 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 65 /span>,.<span.class="tok-str">'e
8c960 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">
8c980 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 73 74 72 'l'</span>,.<span.class="tok-str
8c9a0 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 6e ">'l'</span>,.<span.class="tok-n
8c9c0 75 6d 62 65 72 22 3e 31 31 31 3c 2f 73 70 61 6e 3e 20 7d 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 umber">111</span>.};</span>.<spa
8c9e0 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 n.class="line">....<span.class="
8ca00 74 6f 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
8ca20 6d 2e 65 71 6c 28 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 75 38 3c m.eql(<span.class="tok-type">u8<
8ca40 2f 73 70 61 6e 3e 2c 20 78 31 2e 3f 2c 20 78 32 2e 3f 29 29 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 /span>,.x1.?,.x2.?));</span>.<sp
8ca60 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c an.class="line"></span>.<span.cl
8ca80 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d ass="line">....<span.class="tok-
8caa0 6b 77 22 3e 76 61 72 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 kw">var</span>.y:.?[]<span.class
8cac0 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
8cae0 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;
8cb00 5b 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 32 3c 2f 73 70 61 [<span.class="tok-number">2</spa
8cb20 6e 3e 5d 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 66 33 32 3c 2f 73 n>]<span.class="tok-type">f32</s
8cb40 70 61 6e 3e 7b 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 31 pan>{.<span.class="tok-number">1
8cb60 2e 32 3c 2f 73 70 61 6e 3e 2c 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 .2</span>,.<span.class="tok-numb
8cb80 65 72 22 3e 33 2e 34 3c 2f 73 70 61 6e 3e 20 7d 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 er">3.4</span>.};</span>.<span.c
8cba0 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b lass="line">....<span.class="tok
8cbc0 2d 6b 77 22 3e 74 72 79 3c 2f 73 70 61 6e 3e 20 65 78 70 65 63 74 28 79 2e 3f 5b 3c 73 70 61 6e -kw">try</span>.expect(y.?[<span
8cbe0 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>].==
8cc00 20 3c 73 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 .<span.class="tok-number">1.2</s
8cc20 70 61 6e 3e 29 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 pan>);</span>.<span.class="line"
8cc40 3e 7d 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 2f 73 >}</span>.<span.class="line"></s
8cc60 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c pan>.<span.class="line"><span.cl
8cc80 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 63 61 73 ass="tok-comment">//.In.this.cas
8cca0 74 2c 20 74 68 65 20 61 72 72 61 79 20 6c 65 6e 67 74 68 20 62 65 63 6f 6d 65 73 20 74 68 65 20 t,.the.array.length.becomes.the.
8ccc0 73 6c 69 63 65 20 6c 65 6e 67 74 68 2e 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 slice.length.</span></span>.<spa
8cce0 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d n.class="line"><span.class="tok-
8cd00 6b 77 22 3e 74 65 73 74 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
8cd20 2d 73 74 72 22 3e 26 71 75 6f 74 3b 2a 5b 4e 5d 54 20 74 6f 20 5b 5d 54 26 71 75 6f 74 3b 3c 2f -str">&quot;*[N]T.to.[]T&quot;</
8cd40 73 70 61 6e 3e 20 7b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 span>.{</span>.<span.class="line
8cd60 22 3e 20 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</
8cd80 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 6e 75 6d span>.buf:.[<span.class="tok-num
8cda0 62 65 72 22 3e 35 3c 2f 73 70 61 6e 3e 5d 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 ber">5</span>]<span.class="tok-t
8cdc0 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
8cde0 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 2e k-str">&quot;hello&quot;</span>.
8ce00 2a 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 *;</span>.<span.class="line">...
8ce20 20 3c 73 70 61 6e 20 63 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
8ce40 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 74 79 70 65 22 3e 75 n>.x:.[]<span.class="tok-type">u
8ce60 38 3c 2f 73 70 61 6e 3e 20 3d 20 26 61 6d 70 3b 62 75 66 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 8</span>.=.&amp;buf;</span>.<spa
8ce80 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 n.class="line">....<span.class="
8cea0 74 6f 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
8cec0 6d 2e 65 71 6c 28 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 75 38 3c m.eql(<span.class="tok-type">u8<
8cee0 2f 73 70 61 6e 3e 2c 20 78 2c 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 73 74 72 22 /span>,.x,.<span.class="tok-str"
8cf00 3e 26 71 75 6f 74 3b 68 65 6c 6c 6f 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 29 29 3b 3c 2f 73 70 >&quot;hello&quot;</span>));</sp
8cf20 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 2f 73 70 61 6e 3e 0a 3c an>.<span.class="line"></span>.<
8cf40 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 span.class="line">....<span.clas
8cf60 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 32 20 3d 20 5b s="tok-kw">const</span>.buf2.=.[
8cf80 3c 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
8cfa0 3e 5d 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 66 33 32 3c 2f 73 70 >]<span.class="tok-type">f32</sp
8cfc0 61 6e 3e 7b 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 31 2e an>{.<span.class="tok-number">1.
8cfe0 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
8d000 72 22 3e 33 2e 34 3c 2f 73 70 61 6e 3e 20 7d 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c r">3.4</span>.};</span>.<span.cl
8d020 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d ass="line">....<span.class="tok-
8d040 6b 77 22 3e 63 6f 6e 73 74 3c 2f 73 70 61 6e 3e 20 78 32 3a 20 5b 5d 3c 73 70 61 6e 20 63 6c 61 kw">const</span>.x2:.[]<span.cla
8d060 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 63 6f 6e 73 74 3c 2f 73 70 61 6e 3e 20 3c 73 70 61 6e 20 63 ss="tok-kw">const</span>.<span.c
8d080 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 66 33 32 3c 2f 73 70 61 6e 3e 20 3d 20 26 61 6d lass="tok-type">f32</span>.=.&am
8d0a0 70 3b 62 75 66 32 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 p;buf2;</span>.<span.class="line
8d0c0 22 3e 20 20 20 20 3c 73 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</
8d0e0 73 70 61 6e 3e 20 65 78 70 65 63 74 28 73 74 64 2e 6d 65 6d 2e 65 71 6c 28 3c 73 70 61 6e 20 63 span>.expect(std.mem.eql(<span.c
8d100 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 78 32 2c 20 lass="tok-type">f32</span>,.x2,.
8d120 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 32 &amp;[<span.class="tok-number">2
8d140 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 66 </span>]<span.class="tok-type">f
8d160 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
8d180 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 6b er">1.2</span>,.<span.class="tok
8d1a0 2d 6e 75 6d 62 65 72 22 3e 33 2e 34 3c 2f 73 70 61 6e 3e 20 7d 29 29 3b 3c 2f 73 70 61 6e 3e 0a -number">3.4</span>.}));</span>.
8d1c0 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 7d 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 <span.class="line">}</span>.<spa
8d1e0 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 n.class="line"></span>.<span.cla
8d200 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 63 6f 6d 6d 65 ss="line"><span.class="tok-comme
8d220 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 72 73 20 74 6f 20 61 nt">//.Single-item.pointers.to.a
8d240 72 72 61 79 73 20 63 61 6e 20 62 65 20 63 6f 65 72 63 65 64 20 74 6f 20 6d 61 6e 79 2d 69 74 65 rrays.can.be.coerced.to.many-ite
8d260 6d 20 70 6f 69 6e 74 65 72 73 2e 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 m.pointers.</span></span>.<span.
8d280 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 class="line"><span.class="tok-kw
8d2a0 22 3e 74 65 73 74 3c 2f 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
8d2c0 74 72 22 3e 26 71 75 6f 74 3b 2a 5b 4e 5d 54 20 74 6f 20 5b 2a 5d 54 26 71 75 6f 74 3b 3c 2f 73 tr">&quot;*[N]T.to.[*]T&quot;</s
8d2e0 70 61 6e 3e 20 7b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 pan>.{</span>.<span.class="line"
8d300 3e 20 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
8d320 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
8d340 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
8d360 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
8d380 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>.*
8d3a0 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 ;</span>.<span.class="line">....
8d3c0 3c 73 70 61 6e 20 63 6c 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
8d3e0 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 79 70 65 22 3e 75 >.x:.[*]<span.class="tok-type">u
8d400 38 3c 2f 73 70 61 6e 3e 20 3d 20 26 61 6d 70 3b 62 75 66 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 8</span>.=.&amp;buf;</span>.<spa
8d420 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 n.class="line">....<span.class="
8d440 74 6f 6b 2d 6b 77 22 3e 74 72 79 3c 2f 73 70 61 6e 3e 20 65 78 70 65 63 74 28 78 5b 3c 73 70 61 tok-kw">try</span>.expect(x[<spa
8d460 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 34 3c 2f 73 70 61 6e 3e 5d 20 3d n.class="tok-number">4</span>].=
8d480 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 73 74 72 22 3e 27 6f 27 3c 2f 73 70 61 =.<span.class="tok-str">'o'</spa
8d4a0 6e 3e 29 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 n>);</span>.<span.class="line">.
8d4c0 20 20 20 3c 73 70 61 6e 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">//.
8d4e0 78 5b 35 5d 20 77 6f 75 6c 64 20 62 65 20 61 6e 20 75 6e 63 61 75 67 68 74 20 6f 75 74 20 6f 66 x[5].would.be.an.uncaught.out.of
8d500 20 62 6f 75 6e 64 73 20 70 6f 69 6e 74 65 72 20 64 65 72 65 66 65 72 65 6e 63 65 21 3c 2f 73 70 .bounds.pointer.dereference!</sp
8d520 61 6e 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 7d 3c an></span>.<span.class="line">}<
8d540 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 2f 73 70 61 6e /span>.<span.class="line"></span
8d560 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 >.<span.class="line"><span.class
8d580 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 20 77 ="tok-comment">//.Likewise,.it.w
8d5a0 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 20 69 orks.when.the.destination.type.i
8d5c0 73 20 61 6e 20 6f 70 74 69 6f 6e 61 6c 2e 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 s.an.optional.</span></span>.<sp
8d5e0 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b an.class="line"><span.class="tok
8d600 2d 6b 77 22 3e 74 65 73 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
8d620 6b 2d 73 74 72 22 3e 26 71 75 6f 74 3b 2a 5b 4e 5d 54 20 74 6f 20 3f 5b 2a 5d 54 26 71 75 6f 74 k-str">&quot;*[N]T.to.?[*]T&quot
8d640 3b 3c 2f 73 70 61 6e 3e 20 7b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c ;</span>.{</span>.<span.class="l
8d660 69 6e 65 22 3e 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 76 61 ine">....<span.class="tok-kw">va
8d680 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-
8d6a0 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
8d6c0 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=
8d6e0 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
8d700 6e 3e 2e 2a 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e n>.*;</span>.<span.class="line">
8d720 20 20 20 20 3c 73 70 61 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</
8d740 73 70 61 6e 3e 20 78 3a 20 3f 5b 2a 5d 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 span>.x:.?[*]<span.class="tok-ty
8d760 70 65 22 3e 75 38 3c 2f 73 70 61 6e 3e 20 3d 20 26 61 6d 70 3b 62 75 66 3b 3c 2f 73 70 61 6e 3e pe">u8</span>.=.&amp;buf;</span>
8d780 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 3c 73 70 61 6e 20 63 6c .<span.class="line">....<span.cl
8d7a0 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 74 72 79 3c 2f 73 70 61 6e 3e 20 65 78 70 65 63 74 28 78 ass="tok-kw">try</span>.expect(x
8d7c0 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 34 3c 2f 73 .?[<span.class="tok-number">4</s
8d7e0 70 61 6e 3e 5d 20 3d 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 73 74 72 22 3e 27 pan>].==.<span.class="tok-str">'
8d800 6f 27 3c 2f 73 70 61 6e 3e 29 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 o'</span>);</span>.<span.class="
8d820 6c 69 6e 65 22 3e 7d 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 line">}</span>.<span.class="line
8d840 22 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 "></span>.<span.class="line"><sp
8d860 61 6e 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 65 an.class="tok-comment">//.Single
8d880 2d 69 74 65 6d 20 70 6f 69 6e 74 65 72 73 20 63 61 6e 20 62 65 20 63 61 73 74 20 74 6f 20 6c 65 -item.pointers.can.be.cast.to.le
8d8a0 6e 2d 31 20 73 69 6e 67 6c 65 2d 69 74 65 6d 20 61 72 72 61 79 73 2e 3c 2f 73 70 61 6e 3e 3c 2f n-1.single-item.arrays.</span></
8d8c0 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 span>.<span.class="line"><span.c
8d8e0 6c 61 73 73 3d 22 74 6f 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.
8d900 63 6c 61 73 73 3d 22 74 6f 6b 2d 73 74 72 22 3e 26 71 75 6f 74 3b 2a 54 20 74 6f 20 2a 5b 31 5d class="tok-str">&quot;*T.to.*[1]
8d920 54 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 20 7b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c T&quot;</span>.{</span>.<span.cl
8d940 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d ass="line">....<span.class="tok-
8d960 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
8d980 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
8d9a0 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 31 32 33 34 3c 2f 73 70 61 6e 3e 3b 3c 2f 73 70 61 s="tok-number">1234</span>;</spa
8d9c0 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 3c 73 70 61 6e 20 n>.<span.class="line">....<span.
8d9e0 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 63 6f 6e 73 74 3c 2f 73 70 61 6e 3e 20 79 3a 20 2a class="tok-kw">const</span>.y:.*
8da00 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
8da20 6e 3e 5d 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 69 33 32 3c 2f 73 n>]<span.class="tok-type">i32</s
8da40 70 61 6e 3e 20 3d 20 26 61 6d 70 3b 78 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 pan>.=.&amp;x;</span>.<span.clas
8da60 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 s="line">....<span.class="tok-kw
8da80 22 3e 63 6f 6e 73 74 3c 2f 73 70 61 6e 3e 20 7a 3a 20 5b 2a 5d 3c 73 70 61 6e 20 63 6c 61 73 73 ">const</span>.z:.[*]<span.class
8daa0 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 79 3b 3c 2f 73 70 61 ="tok-type">i32</span>.=.y;</spa
8dac0 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 3c 73 70 61 6e 20 n>.<span.class="line">....<span.
8dae0 63 6c 61 73 73 3d 22 74 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
8db00 28 7a 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 (z[<span.class="tok-number">0</s
8db20 70 61 6e 3e 5d 20 3d 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 pan>].==.<span.class="tok-number
8db40 22 3e 31 32 33 34 3c 2f 73 70 61 6e 3e 29 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 ">1234</span>);</span>.<span.cla
8db60 73 73 3d 22 6c 69 6e 65 22 3e 7d 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 3c 2f 70 72 65 3e 3c ss="line">}</span></code></pre><
8db80 2f 66 69 67 75 72 65 3e 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
8dba0 73 3d 22 73 68 65 6c 6c 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>
8dbc0 3c 70 72 65 3e 3c 73 61 6d 70 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 24 20 <pre><samp><span.class="line">$.
8dbe0 3c 6b 62 64 3e 7a 69 67 20 74 65 73 74 20 63 6f 65 72 63 65 5f 5f 73 6c 69 63 65 73 5f 61 72 72 <kbd>zig.test.coerce__slices_arr
8dc00 61 79 73 5f 61 6e 64 5f 70 74 72 73 2e 7a 69 67 3c 2f 6b 62 64 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 ays_and_ptrs.zig</kbd></span>.<s
8dc20 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 31 2f 37 20 74 65 73 74 2e 2a 63 6f 6e 73 74 pan.class="line">1/7.test.*const
8dc40 20 5b 4e 5d 54 20 74 6f 20 5b 5d 63 6f 6e 73 74 20 54 2e 2e 2e 20 4f 4b 3c 2f 73 70 61 6e 3e 0a .[N]T.to.[]const.T....OK</span>.
8dc60 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 32 2f 37 20 74 65 73 74 2e 2a 63 6f 6e <span.class="line">2/7.test.*con
8dc80 73 74 20 5b 4e 5d 54 20 74 6f 20 45 21 5b 5d 63 6f 6e 73 74 20 54 2e 2e 2e 20 4f 4b 3c 2f 73 70 st.[N]T.to.E![]const.T....OK</sp
8dca0 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 33 2f 37 20 74 65 73 74 2e an>.<span.class="line">3/7.test.
8dcc0 2a 63 6f 6e 73 74 20 5b 4e 5d 54 20 74 6f 20 3f 5b 5d 63 6f 6e 73 74 20 54 2e 2e 2e 20 4f 4b 3c *const.[N]T.to.?[]const.T....OK<
8dce0 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 34 2f 37 20 74 65 /span>.<span.class="line">4/7.te
8dd00 73 74 2e 2a 5b 4e 5d 54 20 74 6f 20 5b 5d 54 2e 2e 2e 20 4f 4b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 st.*[N]T.to.[]T....OK</span>.<sp
8dd20 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 35 2f 37 20 74 65 73 74 2e 2a 5b 4e 5d 54 20 74 an.class="line">5/7.test.*[N]T.t
8dd40 6f 20 5b 2a 5d 54 2e 2e 2e 20 4f 4b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d o.[*]T....OK</span>.<span.class=
8dd60 22 6c 69 6e 65 22 3e 36 2f 37 20 74 65 73 74 2e 2a 5b 4e 5d 54 20 74 6f 20 3f 5b 2a 5d 54 2e 2e "line">6/7.test.*[N]T.to.?[*]T..
8dd80 2e 20 4f 4b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 37 ..OK</span>.<span.class="line">7
8dda0 2f 37 20 74 65 73 74 2e 2a 54 20 74 6f 20 2a 5b 31 5d 54 2e 2e 2e 20 4f 4b 3c 2f 73 70 61 6e 3e /7.test.*T.to.*[1]T....OK</span>
8ddc0 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 41 6c 6c 20 37 20 74 65 73 74 73 20 .<span.class="line">All.7.tests.
8dde0 70 61 73 73 65 64 2e 3c 2f 73 70 61 6e 3e 0a 3c 2f 73 61 6d 70 3e 3c 2f 70 72 65 3e 3c 2f 66 69 passed.</span>.</samp></pre></fi
8de00 67 75 72 65 3e 0a 20 20 20 20 20 20 3c 70 3e 53 65 65 20 61 6c 73 6f 3a 3c 2f 70 3e 3c 75 6c 3e gure>.......<p>See.also:</p><ul>
8de20 0a 3c 6c 69 3e 3c 61 20 68 72 65 66 3d 22 23 43 2d 50 6f 69 6e 74 65 72 73 22 3e 43 20 50 6f 69 .<li><a.href="#C-Pointers">C.Poi
8de40 6e 74 65 72 73 3c 2f 61 3e 3c 2f 6c 69 3e 0a 3c 2f 75 6c 3e 0a 0a 20 20 20 20 20 20 0a 20 20 20 nters</a></li>.</ul>............
8de60 20 20 20 3c 68 34 20 69 64 3d 22 54 79 70 65 2d 43 6f 65 72 63 69 6f 6e 2d 4f 70 74 69 6f 6e 61 ...<h4.id="Type-Coercion-Optiona
8de80 6c 73 22 3e 3c 61 20 68 72 65 66 3d 22 23 74 6f 63 2d 54 79 70 65 2d 43 6f 65 72 63 69 6f 6e 2d ls"><a.href="#toc-Type-Coercion-
8dea0 4f 70 74 69 6f 6e 61 6c 73 22 3e 54 79 70 65 20 43 6f 65 72 63 69 6f 6e 3a 20 4f 70 74 69 6f 6e Optionals">Type.Coercion:.Option
8dec0 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 54 79 als</a>.<a.class="hdr".href="#Ty
8dee0 70 65 2d 43 6f 65 72 63 69 6f 6e 2d 4f 70 74 69 6f 6e 61 6c 73 22 3e c2 a7 3c 2f 61 3e 3c 2f 68 pe-Coercion-Optionals">..</a></h
8df00 34 3e 0a 0a 20 20 20 20 20 20 3c 70 3e 0a 20 20 20 20 20 20 54 68 65 20 70 61 79 6c 6f 61 64 20 4>........<p>.......The.payload.
8df20 74 79 70 65 20 6f 66 20 3c 61 20 68 72 65 66 3d 22 23 4f 70 74 69 6f 6e 61 6c 73 22 3e 4f 70 74 type.of.<a.href="#Optionals">Opt
8df40 69 6f 6e 61 6c 73 3c 2f 61 3e 2c 20 61 73 20 77 65 6c 6c 20 61 73 20 3c 61 20 68 72 65 66 3d 22 ionals</a>,.as.well.as.<a.href="
8df60 23 6e 75 6c 6c 22 3e 6e 75 6c 6c 3c 2f 61 3e 2c 20 63 6f 65 72 63 65 20 74 6f 20 74 68 65 20 6f #null">null</a>,.coerce.to.the.o
8df80 70 74 69 6f 6e 61 6c 20 74 79 70 65 2e 0a 20 20 20 20 20 20 3c 2f 70 3e 0a 20 20 20 20 20 20 3c ptional.type........</p>.......<
8dfa0 66 69 67 75 72 65 3e 3c 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
8dfc0 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
8dfe0 65 5f 6f 70 74 69 6f 6e 61 6c 73 2e 7a 69 67 3c 2f 63 69 74 65 3e 3c 2f 66 69 67 63 61 70 74 69 e_optionals.zig</cite></figcapti
8e000 6f 6e 3e 3c 70 72 65 3e 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 on><pre><code><span.class="line"
8e020 3e 3c 73 70 61 6e 20 63 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
8e040 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
8e060 6e 22 3e 40 69 6d 70 6f 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
8e080 6f 6b 2d 73 74 72 22 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>);
8e0a0 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e </span>.<span.class="line"><span
8e0c0 20 63 6c 61 73 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
8e0e0 65 63 74 20 3d 20 73 74 64 2e 74 65 73 74 69 6e 67 2e 65 78 70 65 63 74 3b 3c 2f 73 70 61 6e 3e ect.=.std.testing.expect;</span>
8e100 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 .<span.class="line"></span>.<spa
8e120 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d n.class="line"><span.class="tok-
8e140 6b 77 22 3e 74 65 73 74 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
8e160 2d 73 74 72 22 3e 26 71 75 6f 74 3b 63 6f 65 72 63 65 20 74 6f 20 6f 70 74 69 6f 6e 61 6c 73 26 -str">&quot;coerce.to.optionals&
8e180 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 20 7b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 quot;</span>.{</span>.<span.clas
8e1a0 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 s="line">....<span.class="tok-kw
8e1c0 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 73 73 3d 22 ">const</span>.x:.?<span.class="
8e1e0 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
8e200 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 31 32 33 34 3c 2f 73 70 61 6e 3e 3b 3c 2f 73 70 ss="tok-number">1234</span>;</sp
8e220 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 3c 73 70 61 6e an>.<span.class="line">....<span
8e240 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 63 6f 6e 73 74 3c 2f 73 70 61 6e 3e 20 79 3a 20 .class="tok-kw">const</span>.y:.
8e260 3f 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 69 33 32 3c 2f 73 70 61 ?<span.class="tok-type">i32</spa
8e280 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
8e2a0 3c 2f 73 70 61 6e 3e 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e </span>;</span>.<span.class="lin
8e2c0 65 22 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 e"></span>.<span.class="line">..
8e2e0 20 20 3c 73 70 61 6e 20 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
8e300 3e 20 65 78 70 65 63 74 28 78 2e 3f 20 3d 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b >.expect(x.?.==.<span.class="tok
8e320 2d 6e 75 6d 62 65 72 22 3e 31 32 33 34 3c 2f 73 70 61 6e 3e 29 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 -number">1234</span>);</span>.<s
8e340 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 pan.class="line">....<span.class
8e360 3d 22 74 6f 6b 2d 6b 77 22 3e 74 72 79 3c 2f 73 70 61 6e 3e 20 65 78 70 65 63 74 28 79 20 3d 3d ="tok-kw">try</span>.expect(y.==
8e380 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6c 6c 22 3e 6e 75 6c 6c 3c 2f 73 70 .<span.class="tok-null">null</sp
8e3a0 61 6e 3e 29 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e an>);</span>.<span.class="line">
8e3c0 7d 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 3c 2f 70 72 65 3e 3c 2f 66 69 67 75 72 65 3e 3c 66 }</span></code></pre></figure><f
8e3e0 69 67 75 72 65 3e 3c 66 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
8e400 61 70 22 3e 53 68 65 6c 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
8e420 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 24 20 3c 6b 62 64 3e 7a 69 67 20 74 ><span.class="line">$.<kbd>zig.t
8e440 65 73 74 20 74 65 73 74 5f 63 6f 65 72 63 65 5f 6f 70 74 69 6f 6e 61 6c 73 2e 7a 69 67 3c 2f 6b est.test_coerce_optionals.zig</k
8e460 62 64 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 31 2f bd></span>.<span.class="line">1/
8e480 31 20 74 65 73 74 2e 63 6f 65 72 63 65 20 74 6f 20 6f 70 74 69 6f 6e 61 6c 73 2e 2e 2e 20 4f 4b 1.test.coerce.to.optionals....OK
8e4a0 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 41 6c 6c 20 31 </span>.<span.class="line">All.1
8e4c0 20 74 65 73 74 73 20 70 61 73 73 65 64 2e 3c 2f 73 70 61 6e 3e 0a 3c 2f 73 61 6d 70 3e 3c 2f 70 .tests.passed.</span>.</samp></p
8e4e0 72 65 3e 3c 2f 66 69 67 75 72 65 3e 0a 20 20 20 20 20 20 3c 70 3e 49 74 20 77 6f 72 6b 73 20 6e re></figure>.......<p>It.works.n
8e500 65 73 74 65 64 20 69 6e 73 69 64 65 20 74 68 65 20 3c 61 20 68 72 65 66 3d 22 23 45 72 72 6f 72 ested.inside.the.<a.href="#Error
8e520 2d 55 6e 69 6f 6e 2d 54 79 70 65 22 3e 45 72 72 6f 72 20 55 6e 69 6f 6e 20 54 79 70 65 3c 2f 61 -Union-Type">Error.Union.Type</a
8e540 3e 2c 20 74 6f 6f 3a 3c 2f 70 3e 0a 20 20 20 20 20 20 3c 66 69 67 75 72 65 3e 3c 66 69 67 63 61 >,.too:</p>.......<figure><figca
8e560 70 74 69 6f 6e 20 63 6c 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
8e580 73 3d 22 66 69 6c 65 22 3e 74 65 73 74 5f 63 6f 65 72 63 65 5f 6f 70 74 69 6f 6e 61 6c 5f 77 72 s="file">test_coerce_optional_wr
8e5a0 61 70 70 65 64 5f 65 72 72 6f 72 5f 75 6e 69 6f 6e 2e 7a 69 67 3c 2f 63 69 74 65 3e 3c 2f 66 69 apped_error_union.zig</cite></fi
8e5c0 67 63 61 70 74 69 6f 6e 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=
8e5e0 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 63 6f 6e 73 "line"><span.class="tok-kw">cons
8e600 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-
8e620 62 75 69 6c 74 69 6e 22 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
8e640 61 73 73 3d 22 74 6f 6b 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
8e660 70 61 6e 3e 29 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 pan>);</span>.<span.class="line"
8e680 3e 3c 73 70 61 6e 20 63 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
8e6a0 6e 3e 20 65 78 70 65 63 74 20 3d 20 73 74 64 2e 74 65 73 74 69 6e 67 2e 65 78 70 65 63 74 3b 3c n>.expect.=.std.testing.expect;<
8e6c0 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 2f 73 70 61 6e /span>.<span.class="line"></span
8e6e0 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 >.<span.class="line"><span.class
8e700 3d 22 74 6f 6b 2d 6b 77 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
8e720 73 3d 22 74 6f 6b 2d 73 74 72 22 3e 26 71 75 6f 74 3b 63 6f 65 72 63 65 20 74 6f 20 6f 70 74 69 s="tok-str">&quot;coerce.to.opti
8e740 6f 6e 61 6c 73 20 77 72 61 70 70 65 64 20 69 6e 20 65 72 72 6f 72 20 75 6e 69 6f 6e 26 71 75 6f onals.wrapped.in.error.union&quo
8e760 74 3b 3c 2f 73 70 61 6e 3e 20 7b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 t;</span>.{</span>.<span.class="
8e780 6c 69 6e 65 22 3e 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 63 line">....<span.class="tok-kw">c
8e7a0 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-
8e7c0 74 79 70 65 22 3e 61 6e 79 65 72 72 6f 72 3c 2f 73 70 61 6e 3e 21 3f 3c 73 70 61 6e 20 63 6c 61 type">anyerror</span>!?<span.cla
8e7e0 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
8e800 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>;
8e820 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 3c </span>.<span.class="line">....<
8e840 73 70 61 6e 20 63 6c 61 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>
8e860 20 79 3a 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 61 6e 79 65 72 .y:.<span.class="tok-type">anyer
8e880 72 6f 72 3c 2f 73 70 61 6e 3e 21 3f 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 ror</span>!?<span.class="tok-typ
8e8a0 65 22 3e 69 33 32 3c 2f 73 70 61 6e 3e 20 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b e">i32</span>.=.<span.class="tok
8e8c0 2d 6e 75 6c 6c 22 3e 6e 75 6c 6c 3c 2f 73 70 61 6e 3e 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e -null">null</span>;</span>.<span
8e8e0 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 .class="line"></span>.<span.clas
8e900 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 s="line">....<span.class="tok-kw
8e920 22 3e 74 72 79 3c 2f 73 70 61 6e 3e 20 65 78 70 65 63 74 28 28 3c 73 70 61 6e 20 63 6c 61 73 73 ">try</span>.expect((<span.class
8e940 3d 22 74 6f 6b 2d 6b 77 22 3e 74 72 79 3c 2f 73 70 61 6e 3e 20 78 29 2e 3f 20 3d 3d 20 3c 73 70 ="tok-kw">try</span>.x).?.==.<sp
8e960 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
8e980 3e 29 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 >);</span>.<span.class="line">..
8e9a0 20 20 3c 73 70 61 6e 20 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
8e9c0 3e 20 65 78 70 65 63 74 28 28 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 74 >.expect((<span.class="tok-kw">t
8e9e0 72 79 3c 2f 73 70 61 6e 3e 20 79 29 20 3d 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b ry</span>.y).==.<span.class="tok
8ea00 2d 6e 75 6c 6c 22 3e 6e 75 6c 6c 3c 2f 73 70 61 6e 3e 29 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 -null">null</span>);</span>.<spa
8ea20 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 7d 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 3c 2f n.class="line">}</span></code></
8ea40 70 72 65 3e 3c 2f 66 69 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
8ea60 20 63 6c 61 73 73 3d 22 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
8ea80 74 69 6f 6e 3e 3c 70 72 65 3e 3c 73 61 6d 70 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e tion><pre><samp><span.class="lin
8eaa0 65 22 3e 24 20 3c 6b 62 64 3e 7a 69 67 20 74 65 73 74 20 74 65 73 74 5f 63 6f 65 72 63 65 5f 6f e">$.<kbd>zig.test.test_coerce_o
8eac0 70 74 69 6f 6e 61 6c 5f 77 72 61 70 70 65 64 5f 65 72 72 6f 72 5f 75 6e 69 6f 6e 2e 7a 69 67 3c ptional_wrapped_error_union.zig<
8eae0 2f 6b 62 64 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e /kbd></span>.<span.class="line">
8eb00 31 2f 31 20 74 65 73 74 2e 63 6f 65 72 63 65 20 74 6f 20 6f 70 74 69 6f 6e 61 6c 73 20 77 72 61 1/1.test.coerce.to.optionals.wra
8eb20 70 70 65 64 20 69 6e 20 65 72 72 6f 72 20 75 6e 69 6f 6e 2e 2e 2e 20 4f 4b 3c 2f 73 70 61 6e 3e pped.in.error.union....OK</span>
8eb40 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 41 6c 6c 20 31 20 74 65 73 74 73 20 .<span.class="line">All.1.tests.
8eb60 70 61 73 73 65 64 2e 3c 2f 73 70 61 6e 3e 0a 3c 2f 73 61 6d 70 3e 3c 2f 70 72 65 3e 3c 2f 66 69 passed.</span>.</samp></pre></fi
8eb80 67 75 72 65 3e 0a 20 20 20 20 20 20 0a 20 20 20 20 20 20 3c 68 34 20 69 64 3d 22 54 79 70 65 2d gure>..............<h4.id="Type-
8eba0 43 6f 65 72 63 69 6f 6e 2d 45 72 72 6f 72 2d 55 6e 69 6f 6e 73 22 3e 3c 61 20 68 72 65 66 3d 22 Coercion-Error-Unions"><a.href="
8ebc0 23 74 6f 63 2d 54 79 70 65 2d 43 6f 65 72 63 69 6f 6e 2d 45 72 72 6f 72 2d 55 6e 69 6f 6e 73 22 #toc-Type-Coercion-Error-Unions"
8ebe0 3e 54 79 70 65 20 43 6f 65 72 63 69 6f 6e 3a 20 45 72 72 6f 72 20 55 6e 69 6f 6e 73 3c 2f 61 3e >Type.Coercion:.Error.Unions</a>
8ec00 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
8ec20 63 69 6f 6e 2d 45 72 72 6f 72 2d 55 6e 69 6f 6e 73 22 3e c2 a7 3c 2f 61 3e 3c 2f 68 34 3e 0a 0a cion-Error-Unions">..</a></h4>..
8ec40 20 20 20 20 20 20 3c 70 3e 54 68 65 20 70 61 79 6c 6f 61 64 20 74 79 70 65 20 6f 66 20 61 6e 20 ......<p>The.payload.type.of.an.
8ec60 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
8ec80 72 20 55 6e 69 6f 6e 20 54 79 70 65 3c 2f 61 3e 20 61 73 20 77 65 6c 6c 20 61 73 20 74 68 65 20 r.Union.Type</a>.as.well.as.the.
8eca0 3c 61 20 68 72 65 66 3d 22 23 45 72 72 6f 72 2d 53 65 74 2d 54 79 70 65 22 3e 45 72 72 6f 72 20 <a.href="#Error-Set-Type">Error.
8ecc0 53 65 74 20 54 79 70 65 3c 2f 61 3e 0a 20 20 20 20 20 20 63 6f 65 72 63 65 20 74 6f 20 74 68 65 Set.Type</a>.......coerce.to.the
8ece0 20 65 72 72 6f 72 20 75 6e 69 6f 6e 20 74 79 70 65 3a 0a 20 20 20 20 20 20 3c 2f 70 3e 0a 20 20 .error.union.type:.......</p>...
8ed00 20 20 20 20 3c 66 69 67 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
8ed20 69 67 2d 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_
8ed40 63 6f 65 72 63 65 5f 74 6f 5f 65 72 72 6f 72 5f 75 6e 69 6f 6e 2e 7a 69 67 3c 2f 63 69 74 65 3e coerce_to_error_union.zig</cite>
8ed60 3c 2f 66 69 67 63 61 70 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
8ed80 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e ass="line"><span.class="tok-kw">
8eda0 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="
8edc0 74 6f 6b 2d 62 75 69 6c 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
8ede0 6e 20 63 6c 61 73 73 3d 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
8ee00 3b 3c 2f 73 70 61 6e 3e 29 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c ;</span>);</span>.<span.class="l
8ee20 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 63 6f 6e 73 74 3c ine"><span.class="tok-kw">const<
8ee40 2f 73 70 61 6e 3e 20 65 78 70 65 63 74 20 3d 20 73 74 64 2e 74 65 73 74 69 6e 67 2e 65 78 70 65 /span>.expect.=.std.testing.expe
8ee60 63 74 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 2f ct;</span>.<span.class="line"></
8ee80 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 span>.<span.class="line"><span.c
8eea0 6c 61 73 73 3d 22 74 6f 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.
8eec0 63 6c 61 73 73 3d 22 74 6f 6b 2d 73 74 72 22 3e 26 71 75 6f 74 3b 63 6f 65 72 63 69 6f 6e 20 74 class="tok-str">&quot;coercion.t
8eee0 6f 20 65 72 72 6f 72 20 75 6e 69 6f 6e 73 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 20 7b 3c 2f 73 o.error.unions&quot;</span>.{</s
8ef00 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 3c 73 70 61 pan>.<span.class="line">....<spa
8ef20 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 63 6f 6e 73 74 3c 2f 73 70 61 6e 3e 20 78 3a n.class="tok-kw">const</span>.x:
8ef40 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
8ef60 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 69 </span>!<span.class="tok-type">i
8ef80 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
8efa0 62 65 72 22 3e 31 32 33 34 3c 2f 73 70 61 6e 3e 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 ber">1234</span>;</span>.<span.c
8efc0 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b lass="line">....<span.class="tok
8efe0 2d 6b 77 22 3e 63 6f 6e 73 74 3c 2f 73 70 61 6e 3e 20 79 3a 20 3c 73 70 61 6e 20 63 6c 61 73 73 -kw">const</span>.y:.<span.class
8f000 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 61 ="tok-type">anyerror</span>!<spa
8f020 6e 20 63 6c 61 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>.=.
8f040 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
8f060 3e 2e 46 61 69 6c 75 72 65 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c >.Failure;</span>.<span.class="l
8f080 69 6e 65 22 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e ine"></span>.<span.class="line">
8f0a0 20 20 20 20 3c 73 70 61 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
8f0c0 61 6e 3e 20 65 78 70 65 63 74 28 28 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 an>.expect((<span.class="tok-kw"
8f0e0 3e 74 72 79 3c 2f 73 70 61 6e 3e 20 78 29 20 3d 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 >try</span>.x).==.<span.class="t
8f100 6f 6b 2d 6e 75 6d 62 65 72 22 3e 31 32 33 34 3c 2f 73 70 61 6e 3e 29 3b 3c 2f 73 70 61 6e 3e 0a ok-number">1234</span>);</span>.
8f120 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 <span.class="line">....<span.cla
8f140 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 74 72 79 3c 2f 73 70 61 6e 3e 20 73 74 64 2e 74 65 73 74 69 ss="tok-kw">try</span>.std.testi
8f160 6e 67 2e 65 78 70 65 63 74 45 72 72 6f 72 28 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d ng.expectError(<span.class="tok-
8f180 6b 77 22 3e 65 72 72 6f 72 3c 2f 73 70 61 6e 3e 2e 46 61 69 6c 75 72 65 2c 20 79 29 3b 3c 2f 73 kw">error</span>.Failure,.y);</s
8f1a0 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 7d 3c 2f 73 70 61 6e 3e pan>.<span.class="line">}</span>
8f1c0 3c 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
8f1e0 69 67 63 61 70 74 69 6f 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
8f200 6c 3c 2f 66 69 67 63 61 70 74 69 6f 6e 3e 3c 70 72 65 3e 3c 73 61 6d 70 3e 3c 73 70 61 6e 20 63 l</figcaption><pre><samp><span.c
8f220 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 24 20 3c 6b 62 64 3e 7a 69 67 20 74 65 73 74 20 74 65 73 74 lass="line">$.<kbd>zig.test.test
8f240 5f 63 6f 65 72 63 65 5f 74 6f 5f 65 72 72 6f 72 5f 75 6e 69 6f 6e 2e 7a 69 67 3c 2f 6b 62 64 3e _coerce_to_error_union.zig</kbd>
8f260 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 31 2f 31 20 74 </span>.<span.class="line">1/1.t
8f280 65 73 74 2e 63 6f 65 72 63 69 6f 6e 20 74 6f 20 65 72 72 6f 72 20 75 6e 69 6f 6e 73 2e 2e 2e 20 est.coercion.to.error.unions....
8f2a0 4f 4b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 41 6c 6c OK</span>.<span.class="line">All
8f2c0 20 31 20 74 65 73 74 73 20 70 61 73 73 65 64 2e 3c 2f 73 70 61 6e 3e 0a 3c 2f 73 61 6d 70 3e 3c .1.tests.passed.</span>.</samp><
8f2e0 2f 70 72 65 3e 3c 2f 66 69 67 75 72 65 3e 0a 20 20 20 20 20 20 0a 20 20 20 20 20 20 3c 68 34 20 /pre></figure>..............<h4.
8f300 69 64 3d 22 54 79 70 65 2d 43 6f 65 72 63 69 6f 6e 2d 43 6f 6d 70 69 6c 65 2d 54 69 6d 65 2d 4b id="Type-Coercion-Compile-Time-K
8f320 6e 6f 77 6e 2d 4e 75 6d 62 65 72 73 22 3e 3c 61 20 68 72 65 66 3d 22 23 74 6f 63 2d 54 79 70 65 nown-Numbers"><a.href="#toc-Type
8f340 2d 43 6f 65 72 63 69 6f 6e 2d 43 6f 6d 70 69 6c 65 2d 54 69 6d 65 2d 4b 6e 6f 77 6e 2d 4e 75 6d -Coercion-Compile-Time-Known-Num
8f360 62 65 72 73 22 3e 54 79 70 65 20 43 6f 65 72 63 69 6f 6e 3a 20 43 6f 6d 70 69 6c 65 2d 54 69 6d bers">Type.Coercion:.Compile-Tim
8f380 65 20 4b 6e 6f 77 6e 20 4e 75 6d 62 65 72 73 3c 2f 61 3e 20 3c 61 20 63 6c 61 73 73 3d 22 68 64 e.Known.Numbers</a>.<a.class="hd
8f3a0 72 22 20 68 72 65 66 3d 22 23 54 79 70 65 2d 43 6f 65 72 63 69 6f 6e 2d 43 6f 6d 70 69 6c 65 2d r".href="#Type-Coercion-Compile-
8f3c0 54 69 6d 65 2d 4b 6e 6f 77 6e 2d 4e 75 6d 62 65 72 73 22 3e c2 a7 3c 2f 61 3e 3c 2f 68 34 3e 0a Time-Known-Numbers">..</a></h4>.
8f3e0 0a 20 20 20 20 20 20 3c 70 3e 57 68 65 6e 20 61 20 6e 75 6d 62 65 72 20 69 73 20 3c 61 20 68 72 .......<p>When.a.number.is.<a.hr
8f400 65 66 3d 22 23 63 6f 6d 70 74 69 6d 65 22 3e 63 6f 6d 70 74 69 6d 65 3c 2f 61 3e 2d 6b 6e 6f 77 ef="#comptime">comptime</a>-know
8f420 6e 20 74 6f 20 62 65 20 72 65 70 72 65 73 65 6e 74 61 62 6c 65 20 69 6e 20 74 68 65 20 64 65 73 n.to.be.representable.in.the.des
8f440 74 69 6e 61 74 69 6f 6e 20 74 79 70 65 2c 0a 20 20 20 20 20 20 69 74 20 6d 61 79 20 62 65 20 63 tination.type,.......it.may.be.c
8f460 6f 65 72 63 65 64 3a 0a 20 20 20 20 20 20 3c 2f 70 3e 0a 20 20 20 20 20 20 3c 66 69 67 75 72 65 oerced:.......</p>.......<figure
8f480 3e 3c 66 69 67 63 61 70 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
8f4a0 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 6c 61 72 67 te.class="file">test_coerce_larg
8f4c0 65 5f 74 6f 5f 73 6d 61 6c 6c 2e 7a 69 67 3c 2f 63 69 74 65 3e 3c 2f 66 69 67 63 61 70 74 69 6f e_to_small.zig</cite></figcaptio
8f4e0 6e 3e 3c 70 72 65 3e 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e n><pre><code><span.class="line">
8f500 3c 73 70 61 6e 20 63 6c 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
8f520 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
8f540 22 3e 40 69 6d 70 6f 72 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
8f560 6b 2d 73 74 72 22 3e 26 71 75 6f 74 3b 73 74 64 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 29 3b 3c k-str">&quot;std&quot;</span>);<
8f580 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 /span>.<span.class="line"><span.
8f5a0 63 6c 61 73 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
8f5c0 63 74 20 3d 20 73 74 64 2e 74 65 73 74 69 6e 67 2e 65 78 70 65 63 74 3b 3c 2f 73 70 61 6e 3e 0a ct.=.std.testing.expect;</span>.
8f5e0 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e <span.class="line"></span>.<span
8f600 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b .class="line"><span.class="tok-k
8f620 77 22 3e 74 65 73 74 3c 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-
8f640 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 20 69 6e 74 65 67 65 str">&quot;coercing.large.intege
8f660 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 6e 20 76 61 6c 75 65 r.type.to.smaller.one.when.value
8f680 20 69 73 20 63 6f 6d 70 74 69 6d 65 20 6b 6e 6f 77 6e 20 74 6f 20 66 69 74 26 71 75 6f 74 3b 3c .is.comptime.known.to.fit&quot;<
8f6a0 2f 73 70 61 6e 3e 20 7b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e /span>.{</span>.<span.class="lin
8f6c0 65 22 3e 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 63 6f 6e 73 e">....<span.class="tok-kw">cons
8f6e0 74 3c 2f 73 70 61 6e 3e 20 78 3a 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 t</span>.x:.<span.class="tok-typ
8f700 65 22 3e 75 36 34 3c 2f 73 70 61 6e 3e 20 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b e">u64</span>.=.<span.class="tok
8f720 2d 6e 75 6d 62 65 72 22 3e 32 35 35 3c 2f 73 70 61 6e 3e 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 -number">255</span>;</span>.<spa
8f740 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 n.class="line">....<span.class="
8f760 74 6f 6b 2d 6b 77 22 3e 63 6f 6e 73 74 3c 2f 73 70 61 6e 3e 20 79 3a 20 3c 73 70 61 6e 20 63 6c tok-kw">const</span>.y:.<span.cl
8f780 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 78 3b 3c 2f 73 ass="tok-type">u8</span>.=.x;</s
8f7a0 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 3c 73 70 61 pan>.<span.class="line">....<spa
8f7c0 6e 20 63 6c 61 73 73 3d 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
8f7e0 63 74 28 79 20 3d 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 ct(y.==.<span.class="tok-number"
8f800 3e 32 35 35 3c 2f 73 70 61 6e 3e 29 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 >255</span>);</span>.<span.class
8f820 3d 22 6c 69 6e 65 22 3e 7d 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 3c 2f 70 72 65 3e 3c 2f 66 ="line">}</span></code></pre></f
8f840 69 67 75 72 65 3e 3c 66 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=
8f860 22 73 68 65 6c 6c 2d 63 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
8f880 72 65 3e 3c 73 61 6d 70 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 24 20 3c 6b re><samp><span.class="line">$.<k
8f8a0 62 64 3e 7a 69 67 20 74 65 73 74 20 74 65 73 74 5f 63 6f 65 72 63 65 5f 6c 61 72 67 65 5f 74 6f bd>zig.test.test_coerce_large_to
8f8c0 5f 73 6d 61 6c 6c 2e 7a 69 67 3c 2f 6b 62 64 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c _small.zig</kbd></span>.<span.cl
8f8e0 61 73 73 3d 22 6c 69 6e 65 22 3e 31 2f 31 20 74 65 73 74 2e 63 6f 65 72 63 69 6e 67 20 6c 61 72 ass="line">1/1.test.coercing.lar
8f900 67 65 20 69 6e 74 65 67 65 72 20 74 79 70 65 20 74 6f 20 73 6d 61 6c 6c 65 72 20 6f 6e 65 20 77 ge.integer.type.to.smaller.one.w
8f920 68 65 6e 20 76 61 6c 75 65 20 69 73 20 63 6f 6d 70 74 69 6d 65 20 6b 6e 6f 77 6e 20 74 6f 20 66 hen.value.is.comptime.known.to.f
8f940 69 74 2e 2e 2e 20 4f 4b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e it....OK</span>.<span.class="lin
8f960 65 22 3e 41 6c 6c 20 31 20 74 65 73 74 73 20 70 61 73 73 65 64 2e 3c 2f 73 70 61 6e 3e 0a 3c 2f e">All.1.tests.passed.</span>.</
8f980 73 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>............
8f9a0 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 69 6f 6e 73 2d 61 ..<h4.id="Type-Coercion-unions-a
8f9c0 6e 64 2d 65 6e 75 6d 73 22 3e 3c 61 20 68 72 65 66 3d 22 23 74 6f 63 2d 54 79 70 65 2d 43 6f 65 nd-enums"><a.href="#toc-Type-Coe
8f9e0 72 63 69 6f 6e 2d 75 6e 69 6f 6e 73 2d 61 6e 64 2d 65 6e 75 6d 73 22 3e 54 79 70 65 20 43 6f 65 rcion-unions-and-enums">Type.Coe
8fa00 72 63 69 6f 6e 3a 20 75 6e 69 6f 6e 73 20 61 6e 64 20 65 6e 75 6d 73 3c 2f 61 3e 20 3c 61 20 63 rcion:.unions.and.enums</a>.<a.c
8fa20 6c 61 73 73 3d 22 68 64 72 22 20 68 72 65 66 3d 22 23 54 79 70 65 2d 43 6f 65 72 63 69 6f 6e 2d lass="hdr".href="#Type-Coercion-
8fa40 75 6e 69 6f 6e 73 2d 61 6e 64 2d 65 6e 75 6d 73 22 3e c2 a7 3c 2f 61 3e 3c 2f 68 34 3e 0a 0a 20 unions-and-enums">..</a></h4>...
8fa60 20 20 20 20 20 3c 70 3e 54 61 67 67 65 64 20 75 6e 69 6f 6e 73 20 63 61 6e 20 62 65 20 63 6f 65 .....<p>Tagged.unions.can.be.coe
8fa80 72 63 65 64 20 74 6f 20 65 6e 75 6d 73 2c 20 61 6e 64 20 65 6e 75 6d 73 20 63 61 6e 20 62 65 20 rced.to.enums,.and.enums.can.be.
8faa0 63 6f 65 72 63 65 64 20 74 6f 20 74 61 67 67 65 64 20 75 6e 69 6f 6e 73 0a 20 20 20 20 20 20 77 coerced.to.tagged.unions.......w
8fac0 68 65 6e 20 74 68 65 79 20 61 72 65 20 3c 61 20 68 72 65 66 3d 22 23 63 6f 6d 70 74 69 6d 65 22 hen.they.are.<a.href="#comptime"
8fae0 3e 63 6f 6d 70 74 69 6d 65 3c 2f 61 3e 2d 6b 6e 6f 77 6e 20 74 6f 20 62 65 20 61 20 66 69 65 6c >comptime</a>-known.to.be.a.fiel
8fb00 64 20 6f 66 20 74 68 65 20 75 6e 69 6f 6e 20 74 68 61 74 20 68 61 73 20 6f 6e 6c 79 20 6f 6e 65 d.of.the.union.that.has.only.one
8fb20 20 70 6f 73 73 69 62 6c 65 20 76 61 6c 75 65 2c 20 73 75 63 68 20 61 73 0a 20 20 20 20 20 20 3c .possible.value,.such.as.......<
8fb40 61 20 68 72 65 66 3d 22 23 76 6f 69 64 22 3e 76 6f 69 64 3c 2f 61 3e 3a 0a 20 20 20 20 20 20 3c a.href="#void">void</a>:.......<
8fb60 2f 70 3e 0a 20 20 20 20 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
8fb80 61 73 73 3d 22 7a 69 67 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"
8fba0 3e 74 65 73 74 5f 63 6f 65 72 63 65 5f 75 6e 69 6f 6e 73 5f 65 6e 75 6d 73 2e 7a 69 67 3c 2f 63 >test_coerce_unions_enums.zig</c
8fbc0 69 74 65 3e 3c 2f 66 69 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
8fbe0 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d n.class="line"><span.class="tok-
8fc00 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
8fc20 73 73 3d 22 74 6f 6b 2d 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>(
8fc40 3c 73 70 61 6e 20 63 6c 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&
8fc60 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 29 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 quot;</span>);</span>.<span.clas
8fc80 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 63 6f s="line"><span.class="tok-kw">co
8fca0 6e 73 74 3c 2f 73 70 61 6e 3e 20 65 78 70 65 63 74 20 3d 20 73 74 64 2e 74 65 73 74 69 6e 67 2e nst</span>.expect.=.std.testing.
8fcc0 65 78 70 65 63 74 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 expect;</span>.<span.class="line
8fce0 22 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 "></span>.<span.class="line"><sp
8fd00 61 6e 20 63 6c 61 73 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 an.class="tok-kw">const</span>.E
8fd20 20 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 65 6e 75 6d 3c 2f 73 70 .=.<span.class="tok-kw">enum</sp
8fd40 61 6e 3e 20 7b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e an>.{</span>.<span.class="line">
8fd60 20 20 20 20 6f 6e 65 2c 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e ....one,</span>.<span.class="lin
8fd80 65 22 3e 20 20 20 20 74 77 6f 2c 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 e">....two,</span>.<span.class="
8fda0 6c 69 6e 65 22 3e 20 20 20 20 74 68 72 65 65 2c 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c line">....three,</span>.<span.cl
8fdc0 61 73 73 3d 22 6c 69 6e 65 22 3e 7d 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 ass="line">};</span>.<span.class
8fde0 3d 22 6c 69 6e 65 22 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e ="line"></span>.<span.class="lin
8fe00 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 63 6f 6e 73 74 3c 2f 73 e"><span.class="tok-kw">const</s
8fe20 70 61 6e 3e 20 55 20 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 75 6e pan>.U.=.<span.class="tok-kw">un
8fe40 69 6f 6e 3c 2f 73 70 61 6e 3e 28 45 29 20 7b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 ion</span>(E).{</span>.<span.cla
8fe60 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 6f 6e 65 3a 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 ss="line">....one:.<span.class="
8fe80 74 6f 6b 2d 74 79 70 65 22 3e 69 33 32 3c 2f 73 70 61 6e 3e 2c 3c 2f 73 70 61 6e 3e 0a 3c 73 70 tok-type">i32</span>,</span>.<sp
8fea0 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 74 77 6f 3a 20 3c 73 70 61 6e 20 63 an.class="line">....two:.<span.c
8fec0 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 66 33 32 3c 2f 73 70 61 6e 3e 2c 3c 2f 73 70 61 lass="tok-type">f32</span>,</spa
8fee0 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 74 68 72 65 65 2c n>.<span.class="line">....three,
8ff00 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 7d 3b 3c 2f 73 </span>.<span.class="line">};</s
8ff20 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 2f 73 70 61 6e 3e 0a pan>.<span.class="line"></span>.
8ff40 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 <span.class="line"><span.class="
8ff60 74 6f 6b 2d 6b 77 22 3e 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=
8ff80 22 74 6f 6b 2d 73 74 72 22 3e 26 71 75 6f 74 3b 63 6f 65 72 63 69 6f 6e 20 62 65 74 77 65 65 6e "tok-str">&quot;coercion.between
8ffa0 20 75 6e 69 6f 6e 73 20 61 6e 64 20 65 6e 75 6d 73 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 20 7b .unions.and.enums&quot;</span>.{
8ffc0 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 3c </span>.<span.class="line">....<
8ffe0 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 76 61 72 3c 2f 73 70 61 6e 3e 20 75 span.class="tok-kw">var</span>.u
90000 20 3d 20 55 7b 20 2e 74 77 6f 20 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 .=.U{..two.=.<span.class="tok-nu
90020 6d 62 65 72 22 3e 31 32 2e 33 34 3c 2f 73 70 61 6e 3e 20 7d 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 mber">12.34</span>.};</span>.<sp
90040 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d an.class="line">....<span.class=
90060 22 74 6f 6b 2d 6b 77 22 3e 76 61 72 3c 2f 73 70 61 6e 3e 20 65 3a 20 45 20 3d 20 75 3b 3c 2f 73 "tok-kw">var</span>.e:.E.=.u;</s
90080 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 3c 73 70 61 pan>.<span.class="line">....<spa
900a0 6e 20 63 6c 61 73 73 3d 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
900c0 63 74 28 65 20 3d 3d 20 45 2e 74 77 6f 29 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 ct(e.==.E.two);</span>.<span.cla
900e0 73 73 3d 22 6c 69 6e 65 22 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c ss="line"></span>.<span.class="l
90100 69 6e 65 22 3e 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 63 6f ine">....<span.class="tok-kw">co
90120 6e 73 74 3c 2f 73 70 61 6e 3e 20 74 68 72 65 65 20 3d 20 45 2e 74 68 72 65 65 3b 3c 2f 73 70 61 nst</span>.three.=.E.three;</spa
90140 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 3c 73 70 61 6e 20 n>.<span.class="line">....<span.
90160 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 76 61 72 3c 2f 73 70 61 6e 3e 20 61 6e 6f 74 68 65 class="tok-kw">var</span>.anothe
90180 72 5f 75 3a 20 55 20 3d 20 74 68 72 65 65 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 r_u:.U.=.three;</span>.<span.cla
901a0 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b ss="line">....<span.class="tok-k
901c0 77 22 3e 74 72 79 3c 2f 73 70 61 6e 3e 20 65 78 70 65 63 74 28 61 6e 6f 74 68 65 72 5f 75 20 3d w">try</span>.expect(another_u.=
901e0 3d 20 45 2e 74 68 72 65 65 29 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 =.E.three);</span>.<span.class="
90200 6c 69 6e 65 22 3e 7d 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 3c 2f 70 72 65 3e 3c 2f 66 69 67 line">}</span></code></pre></fig
90220 75 72 65 3e 3c 66 69 67 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
90240 68 65 6c 6c 2d 63 61 70 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
90260 3e 3c 73 61 6d 70 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 24 20 3c 6b 62 64 ><samp><span.class="line">$.<kbd
90280 3e 7a 69 67 20 74 65 73 74 20 74 65 73 74 5f 63 6f 65 72 63 65 5f 75 6e 69 6f 6e 73 5f 65 6e 75 >zig.test.test_coerce_unions_enu
902a0 6d 73 2e 7a 69 67 3c 2f 6b 62 64 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d ms.zig</kbd></span>.<span.class=
902c0 22 6c 69 6e 65 22 3e 31 2f 31 20 74 65 73 74 2e 63 6f 65 72 63 69 6f 6e 20 62 65 74 77 65 65 6e "line">1/1.test.coercion.between
902e0 20 75 6e 69 6f 6e 73 20 61 6e 64 20 65 6e 75 6d 73 2e 2e 2e 20 4f 4b 3c 2f 73 70 61 6e 3e 0a 3c .unions.and.enums....OK</span>.<
90300 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 41 6c 6c 20 31 20 74 65 73 74 73 20 70 61 span.class="line">All.1.tests.pa
90320 73 73 65 64 2e 3c 2f 73 70 61 6e 3e 0a 3c 2f 73 61 6d 70 3e 3c 2f 70 72 65 3e 3c 2f 66 69 67 75 ssed.</span>.</samp></pre></figu
90340 72 65 3e 0a 20 20 20 20 20 20 3c 70 3e 53 65 65 20 61 6c 73 6f 3a 3c 2f 70 3e 3c 75 6c 3e 0a 3c re>.......<p>See.also:</p><ul>.<
90360 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
90380 69 3e 0a 3c 6c 69 3e 3c 61 20 68 72 65 66 3d 22 23 65 6e 75 6d 22 3e 65 6e 75 6d 3c 2f 61 3e 3c i>.<li><a.href="#enum">enum</a><
903a0 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 34 20 69 64 3d /li>.</ul>...............<h4.id=
903c0 22 54 79 70 65 2d 43 6f 65 72 63 69 6f 6e 2d 75 6e 64 65 66 69 6e 65 64 22 3e 3c 61 20 68 72 65 "Type-Coercion-undefined"><a.hre
903e0 66 3d 22 23 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 f="#toc-Type-Coercion-undefined"
90400 3e 54 79 70 65 20 43 6f 65 72 63 69 6f 6e 3a 20 75 6e 64 65 66 69 6e 65 64 3c 2f 61 3e 20 3c 61 >Type.Coercion:.undefined</a>.<a
90420 20 63 6c 61 73 73 3d 22 68 64 72 22 20 68 72 65 66 3d 22 23 54 79 70 65 2d 43 6f 65 72 63 69 6f .class="hdr".href="#Type-Coercio
90440 6e 2d 75 6e 64 65 66 69 6e 65 64 22 3e c2 a7 3c 2f 61 3e 3c 2f 68 34 3e 0a 0a 20 20 20 20 20 20 n-undefined">..</a></h4>........
90460 3c 70 3e 3c 61 20 68 72 65 66 3d 22 23 75 6e 64 65 66 69 6e 65 64 22 3e 75 6e 64 65 66 69 6e 65 <p><a.href="#undefined">undefine
90480 64 3c 2f 61 3e 20 63 61 6e 20 62 65 20 63 61 73 74 20 74 6f 20 61 6e 79 20 74 79 70 65 2e 3c 2f d</a>.can.be.cast.to.any.type.</
904a0 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 22 p>......................<h3.id="
904c0 45 78 70 6c 69 63 69 74 2d 43 61 73 74 73 22 3e 3c 61 20 68 72 65 66 3d 22 23 74 6f 63 2d 45 78 Explicit-Casts"><a.href="#toc-Ex
904e0 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>
90500 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-
90520 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 0a 20 20 Casts">..</a></h3>........<p>...
90540 20 20 20 20 45 78 70 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 ....Explicit.casts.are.performed
90560 20 76 69 61 20 3c 61 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 .via.<a.href="#Builtin-Functions
90580 22 3e 42 75 69 6c 74 69 6e 20 46 75 6e 63 74 69 6f 6e 73 3c 2f 61 3e 2e 0a 20 20 20 20 20 20 53 ">Builtin.Functions</a>........S
905a0 6f 6d 65 20 65 78 70 6c 69 63 69 74 20 63 61 73 74 73 20 61 72 65 20 73 61 66 65 3b 20 73 6f 6d ome.explicit.casts.are.safe;.som
905c0 65 20 61 72 65 20 6e 6f 74 2e 0a 20 20 20 20 20 20 53 6f 6d 65 20 65 78 70 6c 69 63 69 74 20 63 e.are.not........Some.explicit.c
905e0 61 73 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 asts.perform.language-level.asse
90600 72 74 69 6f 6e 73 3b 20 73 6f 6d 65 20 64 6f 20 6e 6f 74 2e 0a 20 20 20 20 20 20 53 6f 6d 65 20 rtions;.some.do.not........Some.
90620 65 78 70 6c 69 63 69 74 20 63 61 73 74 73 20 61 72 65 20 6e 6f 2d 6f 70 73 20 61 74 20 72 75 6e explicit.casts.are.no-ops.at.run
90640 74 69 6d 65 3b 20 73 6f 6d 65 20 61 72 65 20 6e 6f 74 2e 0a 20 20 20 20 20 20 3c 2f 70 3e 0a 20 time;.some.are.not........</p>..
90660 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=
90680 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 6e 67 65 "#bitCast">@bitCast</a>.-.change
906a0 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 65 6e 74 .type.but.maintain.bit.represent
906c0 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 72 65 66 ation</li>...........<li><a.href
906e0 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 2d 20 6d ="#alignCast">@alignCast</a>.-.m
90700 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 6d 65 6e ake.a.pointer.have.more.alignmen
90720 74 3c 2f 6c 69 3e 0a 20 20 20 20 20 20 20 20 20 20 3c 6c 69 3e 3c 61 20 68 72 65 66 3d 22 23 62 t</li>...........<li><a.href="#b
90740 6f 6f 6c 54 6f 49 6e 74 22 3e 40 62 6f 6f 6c 54 6f 49 6e 74 3c 2f 61 3e 20 2d 20 63 6f 6e 76 65 oolToInt">@boolToInt</a>.-.conve
90760 72 74 20 74 72 75 65 20 74 6f 20 31 20 61 6e 64 20 66 61 6c 73 65 20 74 6f 20 30 3c 2f 6c 69 3e rt.true.to.1.and.false.to.0</li>
90780 0a 20 20 20 20 20 20 20 20 20 20 3c 6c 69 3e 3c 61 20 68 72 65 66 3d 22 23 65 6e 75 6d 54 6f 49 ...........<li><a.href="#enumToI
907a0 6e 74 22 3e 40 65 6e 75 6d 54 6f 49 6e 74 3c 2f 61 3e 20 2d 20 6f 62 74 61 69 6e 20 74 68 65 20 nt">@enumToInt</a>.-.obtain.the.
907c0 69 6e 74 65 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 integer.tag.value.of.an.enum.or.
907e0 74 61 67 67 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 tagged.union</li>...........<li>
90800 3c 61 20 68 72 65 66 3d 22 23 65 72 72 53 65 74 43 61 73 74 22 3e 40 65 72 72 53 65 74 43 61 73 <a.href="#errSetCast">@errSetCas
90820 74 3c 2f 61 3e 20 2d 20 63 6f 6e 76 65 72 74 20 74 6f 20 61 20 73 6d 61 6c 6c 65 72 20 65 72 72 t</a>.-.convert.to.a.smaller.err
90840 6f 72 20 73 65 74 3c 2f 6c 69 3e 0a 20 20 20 20 20 20 20 20 20 20 3c 6c 69 3e 3c 61 20 68 72 65 or.set</li>...........<li><a.hre
90860 66 3d 22 23 65 72 72 6f 72 54 6f 49 6e 74 22 3e 40 65 72 72 6f 72 54 6f 49 6e 74 3c 2f 61 3e 20 f="#errorToInt">@errorToInt</a>.
90880 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 20 6f 66 20 61 6e -.obtain.the.integer.value.of.an
908a0 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 20 3c 6c 69 3e 3c .error.code</li>...........<li><
908c0 61 20 68 72 65 66 3d 22 23 66 6c 6f 61 74 43 61 73 74 22 3e 40 66 6c 6f 61 74 43 61 73 74 3c 2f a.href="#floatCast">@floatCast</
908e0 61 3e 20 2d 20 63 6f 6e 76 65 72 74 20 61 20 6c 61 72 67 65 72 20 66 6c 6f 61 74 20 74 6f 20 61 a>.-.convert.a.larger.float.to.a
90900 20 73 6d 61 6c 6c 65 72 20 66 6c 6f 61 74 3c 2f 6c 69 3e 0a 20 20 20 20 20 20 20 20 20 20 3c 6c .smaller.float</li>...........<l
90920 69 3e 3c 61 20 68 72 65 66 3d 22 23 66 6c 6f 61 74 54 6f 49 6e 74 22 3e 40 66 6c 6f 61 74 54 6f i><a.href="#floatToInt">@floatTo
90940 49 6e 74 3c 2f 61 3e 20 2d 20 6f 62 74 61 69 6e 20 74 68 65 20 69 6e 74 65 67 65 72 20 70 61 72 Int</a>.-.obtain.the.integer.par
90960 74 20 6f 66 20 61 20 66 6c 6f 61 74 20 76 61 6c 75 65 3c 2f 6c 69 3e 0a 20 20 20 20 20 20 20 20 t.of.a.float.value</li>.........
90980 20 20 3c 6c 69 3e 3c 61 20 68 72 65 66 3d 22 23 69 6e 74 43 61 73 74 22 3e 40 69 6e 74 43 61 73 ..<li><a.href="#intCast">@intCas
909a0 74 3c 2f 61 3e 20 2d 20 63 6f 6e 76 65 72 74 20 62 65 74 77 65 65 6e 20 69 6e 74 65 67 65 72 20 t</a>.-.convert.between.integer.
909c0 74 79 70 65 73 3c 2f 6c 69 3e 0a 20 20 20 20 20 20 20 20 20 20 3c 6c 69 3e 3c 61 20 68 72 65 66 types</li>...........<li><a.href
909e0 3d 22 23 69 6e 74 54 6f 45 6e 75 6d 22 3e 40 69 6e 74 54 6f 45 6e 75 6d 3c 2f 61 3e 20 2d 20 6f ="#intToEnum">@intToEnum</a>.-.o
90a00 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 69 74 73 btain.an.enum.value.based.on.its
90a20 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 20 20 20 .integer.tag.value</li>.........
90a40 20 20 3c 6c 69 3e 3c 61 20 68 72 65 66 3d 22 23 69 6e 74 54 6f 45 72 72 6f 72 22 3e 40 69 6e 74 ..<li><a.href="#intToError">@int
90a60 54 6f 45 72 72 6f 72 3c 2f 61 3e 20 2d 20 6f 62 74 61 69 6e 20 61 6e 20 65 72 72 6f 72 20 63 6f ToError</a>.-.obtain.an.error.co
90a80 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 61 6c 75 65 3c 2f 6c de.based.on.its.integer.value</l
90aa0 69 3e 0a 20 20 20 20 20 20 20 20 20 20 3c 6c 69 3e 3c 61 20 68 72 65 66 3d 22 23 69 6e 74 54 6f i>...........<li><a.href="#intTo
90ac0 46 6c 6f 61 74 22 3e 40 69 6e 74 54 6f 46 6c 6f 61 74 3c 2f 61 3e 20 2d 20 63 6f 6e 76 65 72 74 Float">@intToFloat</a>.-.convert
90ae0 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 75 65 3c 2f 6c 69 .an.integer.to.a.float.value</li
90b00 3e 0a 20 20 20 20 20 20 20 20 20 20 3c 6c 69 3e 3c 61 20 68 72 65 66 3d 22 23 69 6e 74 54 6f 50 >...........<li><a.href="#intToP
90b20 74 72 22 3e 40 69 6e 74 54 6f 50 74 72 3c 2f 61 3e 20 2d 20 63 6f 6e 76 65 72 74 20 61 6e 20 61 tr">@intToPtr</a>.-.convert.an.a
90b40 64 64 72 65 73 73 20 74 6f 20 61 20 70 6f 69 6e 74 65 72 3c 2f 6c 69 3e 0a 20 20 20 20 20 20 20 ddress.to.a.pointer</li>........
90b60 20 20 20 3c 6c 69 3e 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 ...<li><a.href="#ptrCast">@ptrCa
90b80 73 74 3c 2f 61 3e 20 2d 20 63 6f 6e 76 65 72 74 20 62 65 74 77 65 65 6e 20 70 6f 69 6e 74 65 72 st</a>.-.convert.between.pointer
90ba0 20 74 79 70 65 73 3c 2f 6c 69 3e 0a 20 20 20 20 20 20 20 20 20 20 3c 6c 69 3e 3c 61 20 68 72 65 .types</li>...........<li><a.hre
90bc0 66 3d 22 23 70 74 72 54 6f 49 6e 74 22 3e 40 70 74 72 54 6f 49 6e 74 3c 2f 61 3e 20 2d 20 6f 62 f="#ptrToInt">@ptrToInt</a>.-.ob
90be0 74 61 69 6e 20 74 68 65 20 61 64 64 72 65 73 73 20 6f 66 20 61 20 70 6f 69 6e 74 65 72 3c 2f 6c tain.the.address.of.a.pointer</l
90c00 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 74 72 75 6e 63 i>...........<li><a.href="#trunc
90c20 61 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 ate">@truncate</a>.-.convert.bet
90c40 77 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 ween.integer.types,.chopping.off
90c60 20 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 .bits</li>.......</ul>..........
90c80 20 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 .....<h3.id="Peer-Type-Resolutio
90ca0 6e 22 3e 3c 61 20 68 72 65 66 3d 22 23 74 6f 63 2d 50 65 65 72 2d 54 79 70 65 2d 52 65 73 6f 6c n"><a.href="#toc-Peer-Type-Resol
90cc0 75 74 69 6f 6e 22 3e 50 65 65 72 20 54 79 70 65 20 52 65 73 6f 6c 75 74 69 6f 6e 3c 2f 61 3e 20 ution">Peer.Type.Resolution</a>.
90ce0 3c 61 20 63 6c 61 73 73 3d 22 68 64 72 22 20 68 72 65 66 3d 22 23 50 65 65 72 2d 54 79 70 65 2d <a.class="hdr".href="#Peer-Type-
90d00 52 65 73 6f 6c 75 74 69 6f 6e 22 3e c2 a7 3c 2f 61 3e 3c 2f 68 33 3e 0a 0a 20 20 20 20 20 20 3c Resolution">..</a></h3>........<
90d20 70 3e 50 65 65 72 20 54 79 70 65 20 52 65 73 6f 6c 75 74 69 6f 6e 20 6f 63 63 75 72 73 20 69 6e p>Peer.Type.Resolution.occurs.in
90d40 20 74 68 65 73 65 20 70 6c 61 63 65 73 3a 3c 2f 70 3e 0a 20 20 20 20 20 20 3c 75 6c 3e 0a 20 20 .these.places:</p>.......<ul>...
90d60 20 20 20 20 20 20 3c 6c 69 3e 3c 61 20 68 72 65 66 3d 22 23 73 77 69 74 63 68 22 3e 73 77 69 74 ......<li><a.href="#switch">swit
90d80 63 68 3c 2f 61 3e 20 65 78 70 72 65 73 73 69 6f 6e 73 3c 2f 6c 69 3e 0a 20 20 20 20 20 20 20 20 ch</a>.expressions</li>.........
90da0 3c 6c 69 3e 3c 61 20 68 72 65 66 3d 22 23 69 66 22 3e 69 66 3c 2f 61 3e 20 65 78 70 72 65 73 73 <li><a.href="#if">if</a>.express
90dc0 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="#
90de0 77 68 69 6c 65 22 3e 77 68 69 6c 65 3c 2f 61 3e 20 65 78 70 72 65 73 73 69 6f 6e 73 3c 2f 6c 69 while">while</a>.expressions</li
90e00 3e 0a 20 20 20 20 20 20 20 20 3c 6c 69 3e 3c 61 20 68 72 65 66 3d 22 23 66 6f 72 22 3e 66 6f 72 >.........<li><a.href="#for">for
90e20 3c 2f 61 3e 20 65 78 70 72 65 73 73 69 6f 6e 73 3c 2f 6c 69 3e 0a 20 20 20 20 20 20 20 20 3c 6c </a>.expressions</li>.........<l
90e40 69 3e 4d 75 6c 74 69 70 6c 65 20 62 72 65 61 6b 20 73 74 61 74 65 6d 65 6e 74 73 20 69 6e 20 61 i>Multiple.break.statements.in.a
90e60 20 62 6c 6f 63 6b 3c 2f 6c 69 3e 0a 20 20 20 20 20 20 20 20 3c 6c 69 3e 53 6f 6d 65 20 3c 61 20 .block</li>.........<li>Some.<a.
90e80 68 72 65 66 3d 22 23 54 61 62 6c 65 2d 6f 66 2d 4f 70 65 72 61 74 6f 72 73 22 3e 62 69 6e 61 72 href="#Table-of-Operators">binar
90ea0 79 20 6f 70 65 72 61 74 69 6f 6e 73 3c 2f 61 3e 3c 2f 6c 69 3e 0a 20 20 20 20 20 20 3c 2f 75 6c y.operations</a></li>.......</ul
90ec0 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 6e 64 20 6f 66 20 74 >.......<p>.......This.kind.of.t
90ee0 79 70 65 20 72 65 73 6f 6c 75 74 69 6f 6e 20 63 68 6f 6f 73 65 73 20 61 20 74 79 70 65 20 74 68 ype.resolution.chooses.a.type.th
90f00 61 74 20 61 6c 6c 20 70 65 65 72 20 74 79 70 65 73 20 63 61 6e 20 63 6f 65 72 63 65 20 69 6e 74 at.all.peer.types.can.coerce.int
90f20 6f 2e 20 48 65 72 65 20 61 72 65 0a 20 20 20 20 20 20 73 6f 6d 65 20 65 78 61 6d 70 6c 65 73 3a o..Here.are.......some.examples:
90f40 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
90f60 70 74 69 6f 6e 20 63 6c 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
90f80 73 3d 22 66 69 6c 65 22 3e 70 65 65 72 5f 74 79 70 65 5f 72 65 73 6f 6c 75 74 69 6f 6e 2e 7a 69 s="file">peer_type_resolution.zi
90fa0 67 3c 2f 63 69 74 65 3e 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>
90fc0 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 <span.class="line"><span.class="
90fe0 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
91000 20 63 6c 61 73 73 3d 22 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
91020 61 6e 3e 28 3c 73 70 61 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;
91040 73 74 64 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 29 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 std&quot;</span>);</span>.<span.
91060 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 class="line"><span.class="tok-kw
91080 22 3e 63 6f 6e 73 74 3c 2f 73 70 61 6e 3e 20 65 78 70 65 63 74 20 3d 20 73 74 64 2e 74 65 73 74 ">const</span>.expect.=.std.test
910a0 69 6e 67 2e 65 78 70 65 63 74 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 ing.expect;</span>.<span.class="
910c0 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 63 6f 6e 73 74 line"><span.class="tok-kw">const
910e0 3c 2f 73 70 61 6e 3e 20 6d 65 6d 20 3d 20 73 74 64 2e 6d 65 6d 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 </span>.mem.=.std.mem;</span>.<s
91100 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 pan.class="line"></span>.<span.c
91120 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 lass="line"><span.class="tok-kw"
91140 3e 74 65 73 74 3c 2f 73 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
91160 72 22 3e 26 71 75 6f 74 3b 70 65 65 72 20 72 65 73 6f 6c 76 65 20 69 6e 74 20 77 69 64 65 6e 69 r">&quot;peer.resolve.int.wideni
91180 6e 67 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 20 7b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 ng&quot;</span>.{</span>.<span.c
911a0 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b lass="line">....<span.class="tok
911c0 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 22 -kw">var</span>.a:.<span.class="
911e0 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 20 63 6c 61 73 tok-type">i8</span>.=.<span.clas
91200 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 3c 2f 73 70 61 6e 3e s="tok-number">12</span>;</span>
91220 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 3c 73 70 61 6e 20 63 6c .<span.class="line">....<span.cl
91240 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 76 61 72 3c 2f 73 70 61 6e 3e 20 62 3a 20 3c 73 70 61 6e ass="tok-kw">var</span>.b:.<span
91260 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 69 31 36 3c 2f 73 70 61 6e 3e 20 3d 20 3c .class="tok-type">i16</span>.=.<
91280 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 33 34 3c 2f 73 70 61 6e span.class="tok-number">34</span
912a0 3e 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 >;</span>.<span.class="line">...
912c0 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>
912e0 20 63 20 3d 20 61 20 2b 20 62 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 .c.=.a.+.b;</span>.<span.class="
91300 6c 69 6e 65 22 3e 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 74 line">....<span.class="tok-kw">t
91320 72 79 3c 2f 73 70 61 6e 3e 20 65 78 70 65 63 74 28 63 20 3d 3d 20 3c 73 70 61 6e 20 63 6c 61 73 ry</span>.expect(c.==.<span.clas
91340 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 34 36 3c 2f 73 70 61 6e 3e 29 3b 3c 2f 73 70 61 6e s="tok-number">46</span>);</span
91360 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 3c 73 70 61 6e 20 63 >.<span.class="line">....<span.c
91380 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 74 72 79 3c 2f 73 70 61 6e 3e 20 65 78 70 65 63 74 28 lass="tok-kw">try</span>.expect(
913a0 3c 73 70 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
913c0 66 3c 2f 73 70 61 6e 3e 28 63 29 20 3d 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d f</span>(c).==.<span.class="tok-
913e0 74 79 70 65 22 3e 69 31 36 3c 2f 73 70 61 6e 3e 29 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 type">i16</span>);</span>.<span.
91400 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 7d 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 class="line">}</span>.<span.clas
91420 73 3d 22 6c 69 6e 65 22 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 s="line"></span>.<span.class="li
91440 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 74 65 73 74 3c 2f 73 ne"><span.class="tok-kw">test</s
91460 70 61 6e 3e 20 3c 73 70 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
91480 3b 70 65 65 72 20 72 65 73 6f 6c 76 65 20 61 72 72 61 79 73 20 6f 66 20 64 69 66 66 65 72 65 6e ;peer.resolve.arrays.of.differen
914a0 74 20 73 69 7a 65 20 74 6f 20 63 6f 6e 73 74 20 73 6c 69 63 65 26 71 75 6f 74 3b 3c 2f 73 70 61 t.size.to.const.slice&quot;</spa
914c0 6e 3e 20 7b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 n>.{</span>.<span.class="line">.
914e0 20 20 20 3c 73 70 61 6e 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
91500 6e 3e 20 65 78 70 65 63 74 28 6d 65 6d 2e 65 71 6c 28 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 n>.expect(mem.eql(<span.class="t
91520 6f 6b 2d 74 79 70 65 22 3e 75 38 3c 2f 73 70 61 6e 3e 2c 20 62 6f 6f 6c 54 6f 53 74 72 28 3c 73 ok-type">u8</span>,.boolToStr(<s
91540 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>
91560 29 2c 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 73 74 72 22 3e 26 71 75 6f 74 3b 74 ),.<span.class="tok-str">&quot;t
91580 72 75 65 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 29 29 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e rue&quot;</span>));</span>.<span
915a0 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 .class="line">....<span.class="t
915c0 6f 6b 2d 6b 77 22 3e 74 72 79 3c 2f 73 70 61 6e 3e 20 65 78 70 65 63 74 28 6d 65 6d 2e 65 71 6c ok-kw">try</span>.expect(mem.eql
915e0 28 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 75 38 3c 2f 73 70 61 6e (<span.class="tok-type">u8</span
91600 3e 2c 20 62 6f 6f 6c 54 6f 53 74 72 28 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 >,.boolToStr(<span.class="tok-nu
91620 6c 6c 22 3e 66 61 6c 73 65 3c 2f 73 70 61 6e 3e 29 2c 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 ll">false</span>),.<span.class="
91640 74 6f 6b 2d 73 74 72 22 3e 26 71 75 6f 74 3b 66 61 6c 73 65 26 71 75 6f 74 3b 3c 2f 73 70 61 6e tok-str">&quot;false&quot;</span
91660 3e 29 29 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 >));</span>.<span.class="line">.
91680 20 20 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
916a0 3c 2f 73 70 61 6e 3e 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 74 72 79 </span>.<span.class="tok-kw">try
916c0 3c 2f 73 70 61 6e 3e 20 65 78 70 65 63 74 28 6d 65 6d 2e 65 71 6c 28 3c 73 70 61 6e 20 63 6c 61 </span>.expect(mem.eql(<span.cla
916e0 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 75 38 3c 2f 73 70 61 6e 3e 2c 20 62 6f 6f 6c 54 6f 53 ss="tok-type">u8</span>,.boolToS
91700 74 72 28 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6c 6c 22 3e 74 72 75 65 3c 2f tr(<span.class="tok-null">true</
91720 73 70 61 6e 3e 29 2c 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 73 74 72 22 3e 26 71 span>),.<span.class="tok-str">&q
91740 75 6f 74 3b 74 72 75 65 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 29 29 3b 3c 2f 73 70 61 6e 3e 0a uot;true&quot;</span>));</span>.
91760 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 <span.class="line">....<span.cla
91780 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 63 6f 6d 70 74 69 6d 65 3c 2f 73 70 61 6e 3e 20 3c 73 70 61 ss="tok-kw">comptime</span>.<spa
917a0 6e 20 63 6c 61 73 73 3d 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
917c0 63 74 28 6d 65 6d 2e 65 71 6c 28 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 ct(mem.eql(<span.class="tok-type
917e0 22 3e 75 38 3c 2f 73 70 61 6e 3e 2c 20 62 6f 6f 6c 54 6f 53 74 72 28 3c 73 70 61 6e 20 63 6c 61 ">u8</span>,.boolToStr(<span.cla
91800 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 2c 20 3c 73 70 ss="tok-null">false</span>),.<sp
91820 61 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 26 71 an.class="tok-str">&quot;false&q
91840 75 6f 74 3b 3c 2f 73 70 61 6e 3e 29 29 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 uot;</span>));</span>.<span.clas
91860 73 3d 22 6c 69 6e 65 22 3e 7d 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c s="line">}</span>.<span.class="l
91880 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 66 6e 3c 2f 73 70 ine"><span.class="tok-kw">fn</sp
918a0 61 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 6f 6f 6c 54 6f 53 an>.<span.class="tok-fn">boolToS
918c0 74 72 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 tr</span>(b:.<span.class="tok-ty
918e0 70 65 22 3e 62 6f 6f 6c 3c 2f 73 70 61 6e 3e 29 20 5b 5d 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 pe">bool</span>).[]<span.class="
91900 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
91920 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 75 38 3c 2f 73 70 61 6e 3e 20 7b 3c 2f 73 70 61 6e 3e 0a 3c ="tok-type">u8</span>.{</span>.<
91940 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 span.class="line">....<span.clas
91960 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
91980 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 69 66 3c 2f 73 70 61 6e 3e 20 28 62 29 20 3c 73 70 61 lass="tok-kw">if</span>.(b).<spa
919a0 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 73 74 72 22 3e 26 71 75 6f 74 3b 74 72 75 65 26 71 75 6f n.class="tok-str">&quot;true&quo
919c0 74 3b 3c 2f 73 70 61 6e 3e 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 65 t;</span>.<span.class="tok-kw">e
919e0 6c 73 65 3c 2f 73 70 61 6e 3e 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 73 74 72 22 lse</span>.<span.class="tok-str"
91a00 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 3c 2f 73 70 61 6e >&quot;false&quot;</span>;</span
91a20 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 7d 3c 2f 73 70 61 6e 3e 0a 3c 73 >.<span.class="line">}</span>.<s
91a40 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 pan.class="line"></span>.<span.c
91a60 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 lass="line"><span.class="tok-kw"
91a80 3e 74 65 73 74 3c 2f 73 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
91aa0 72 22 3e 26 71 75 6f 74 3b 70 65 65 72 20 72 65 73 6f 6c 76 65 20 61 72 72 61 79 20 61 6e 64 20 r">&quot;peer.resolve.array.and.
91ac0 63 6f 6e 73 74 20 73 6c 69 63 65 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 20 7b 3c 2f 73 70 61 6e const.slice&quot;</span>.{</span
91ae0 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 3c 73 70 61 6e 20 63 >.<span.class="line">....<span.c
91b00 6c 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 50 65 65 lass="tok-kw">try</span>.testPee
91b20 72 52 65 73 6f 6c 76 65 41 72 72 61 79 43 6f 6e 73 74 53 6c 69 63 65 28 3c 73 70 61 6e 20 63 6c rResolveArrayConstSlice(<span.cl
91b40 61 73 73 3d 22 74 6f 6b 2d 6e 75 6c 6c 22 3e 74 72 75 65 3c 2f 73 70 61 6e 3e 29 3b 3c 2f 73 70 ass="tok-null">true</span>);</sp
91b60 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 3c 73 70 61 6e an>.<span.class="line">....<span
91b80 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>.
91ba0 3c 73 70 61 6e 20 63 6c 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>.
91bc0 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 3c testPeerResolveArrayConstSlice(<
91be0 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
91c00 3e 29 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 7d 3c >);</span>.<span.class="line">}<
91c20 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 /span>.<span.class="line"><span.
91c40 63 6c 61 73 73 3d 22 74 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
91c60 6c 61 73 73 3d 22 74 6f 6b 2d 66 6e 22 3e 74 65 73 74 50 65 65 72 52 65 73 6f 6c 76 65 41 72 72 lass="tok-fn">testPeerResolveArr
91c80 61 79 43 6f 6e 73 74 53 6c 69 63 65 3c 2f 73 70 61 6e 3e 28 62 3a 20 3c 73 70 61 6e 20 63 6c 61 ayConstSlice</span>(b:.<span.cla
91ca0 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 62 6f 6f 6c 3c 2f 73 70 61 6e 3e 29 20 21 3c 73 70 61 ss="tok-type">bool</span>).!<spa
91cc0 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>.{
91ce0 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 3c </span>.<span.class="line">....<
91d00 73 70 61 6e 20 63 6c 61 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>
91d20 20 76 61 6c 75 65 31 20 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 69 .value1.=.<span.class="tok-kw">i
91d40 66 3c 2f 73 70 61 6e 3e 20 28 62 29 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 73 74 f</span>.(b).<span.class="tok-st
91d60 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 20 3c 73 70 61 6e r">&quot;aoeu&quot;</span>.<span
91d80 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
91da0 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>
91dc0 28 5b 5d 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 63 6f 6e 73 74 3c 2f 73 ([]<span.class="tok-kw">const</s
91de0 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</
91e00 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
91e20 6f 74 3b 7a 7a 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 29 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 ot;zz&quot;</span>);</span>.<spa
91e40 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 n.class="line">....<span.class="
91e60 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 32 20 3d 20 3c 73 tok-kw">const</span>.value2.=.<s
91e80 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)
91ea0 20 3c 73 70 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</
91ec0 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 63 6f 6e span>([]<span.class="tok-kw">con
91ee0 73 74 3c 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"
91f00 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 73 74 72 >u8</span>,.<span.class="tok-str
91f20 22 3e 26 71 75 6f 74 3b 7a 7a 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 29 20 3c 73 70 61 6e 20 63 ">&quot;zz&quot;</span>).<span.c
91f40 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 65 6c 73 65 3c 2f 73 70 61 6e 3e 20 3c 73 70 61 6e 20 lass="tok-kw">else</span>.<span.
91f60 63 6c 61 73 73 3d 22 74 6f 6b 2d 73 74 72 22 3e 26 71 75 6f 74 3b 61 6f 65 75 26 71 75 6f 74 3b class="tok-str">&quot;aoeu&quot;
91f80 3c 2f 73 70 61 6e 3e 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e </span>;</span>.<span.class="lin
91fa0 65 22 3e 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 74 72 79 3c e">....<span.class="tok-kw">try<
91fc0 2f 73 70 61 6e 3e 20 65 78 70 65 63 74 28 6d 65 6d 2e 65 71 6c 28 3c 73 70 61 6e 20 63 6c 61 73 /span>.expect(mem.eql(<span.clas
91fe0 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 75 38 3c 2f 73 70 61 6e 3e 2c 20 76 61 6c 75 65 31 2c 20 s="tok-type">u8</span>,.value1,.
92000 3c 73 70 61 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
92020 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 29 29 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c &quot;</span>));</span>.<span.cl
92040 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d ass="line">....<span.class="tok-
92060 6b 77 22 3e 74 72 79 3c 2f 73 70 61 6e 3e 20 65 78 70 65 63 74 28 6d 65 6d 2e 65 71 6c 28 3c 73 kw">try</span>.expect(mem.eql(<s
92080 70 61 6e 20 63 6c 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>,.
920a0 76 61 6c 75 65 32 2c 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 73 74 72 22 3e 26 71 value2,.<span.class="tok-str">&q
920c0 75 6f 74 3b 7a 7a 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 29 29 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 uot;zz&quot;</span>));</span>.<s
920e0 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 7d 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 pan.class="line">}</span>.<span.
92100 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 class="line"></span>.<span.class
92120 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 74 65 73 ="line"><span.class="tok-kw">tes
92140 74 3c 2f 73 70 61 6e 3e 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">&
92160 71 75 6f 74 3b 70 65 65 72 20 74 79 70 65 20 72 65 73 6f 6c 75 74 69 6f 6e 3a 20 3f 54 20 61 6e quot;peer.type.resolution:.?T.an
92180 64 20 54 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 20 7b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 d.T&quot;</span>.{</span>.<span.
921a0 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f class="line">....<span.class="to
921c0 6b 2d 6b 77 22 3e 74 72 79 3c 2f 73 70 61 6e 3e 20 65 78 70 65 63 74 28 70 65 65 72 54 79 70 65 k-kw">try</span>.expect(peerType
921e0 54 41 6e 64 4f 70 74 69 6f 6e 61 6c 54 28 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e TAndOptionalT(<span.class="tok-n
92200 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 74 ull">true</span>,.<span.class="t
92220 6f 6b 2d 6e 75 6c 6c 22 3e 66 61 6c 73 65 3c 2f 73 70 61 6e 3e 29 2e 3f 20 3d 3d 20 3c 73 70 61 ok-null">false</span>).?.==.<spa
92240 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 30 3c 2f 73 70 61 6e 3e 29 3b 3c n.class="tok-number">0</span>);<
92260 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 3c 73 /span>.<span.class="line">....<s
92280 70 61 6e 20 63 6c 61 73 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
922a0 70 65 63 74 28 70 65 65 72 54 79 70 65 54 41 6e 64 4f 70 74 69 6f 6e 61 6c 54 28 3c 73 70 61 6e pect(peerTypeTAndOptionalT(<span
922c0 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6c 6c 22 3e 66 61 6c 73 65 3c 2f 73 70 61 6e 3e 2c 20 .class="tok-null">false</span>,.
922e0 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
92300 61 6e 3e 29 2e 3f 20 3d 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 an>).?.==.<span.class="tok-numbe
92320 72 22 3e 33 3c 2f 73 70 61 6e 3e 29 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 r">3</span>);</span>.<span.class
92340 3d 22 6c 69 6e 65 22 3e 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 ="line">....<span.class="tok-kw"
92360 3e 63 6f 6d 70 74 69 6d 65 3c 2f 73 70 61 6e 3e 20 7b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 >comptime</span>.{</span>.<span.
92380 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 class="line">........<span.class
923a0 3d 22 74 6f 6b 2d 6b 77 22 3e 74 72 79 3c 2f 73 70 61 6e 3e 20 65 78 70 65 63 74 28 70 65 65 72 ="tok-kw">try</span>.expect(peer
923c0 54 79 70 65 54 41 6e 64 4f 70 74 69 6f 6e 61 6c 54 28 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 TypeTAndOptionalT(<span.class="t
923e0 6f 6b 2d 6e 75 6c 6c 22 3e 74 72 75 65 3c 2f 73 70 61 6e 3e 2c 20 3c 73 70 61 6e 20 63 6c 61 73 ok-null">true</span>,.<span.clas
92400 73 3d 22 74 6f 6b 2d 6e 75 6c 6c 22 3e 66 61 6c 73 65 3c 2f 73 70 61 6e 3e 29 2e 3f 20 3d 3d 20 s="tok-null">false</span>).?.==.
92420 3c 73 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
92440 3e 29 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 >);</span>.<span.class="line">..
92460 20 20 20 20 20 20 3c 73 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</
92480 73 70 61 6e 3e 20 65 78 70 65 63 74 28 70 65 65 72 54 79 70 65 54 41 6e 64 4f 70 74 69 6f 6e 61 span>.expect(peerTypeTAndOptiona
924a0 6c 54 28 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6c 6c 22 3e 66 61 6c 73 65 3c lT(<span.class="tok-null">false<
924c0 2f 73 70 61 6e 3e 2c 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6c 6c 22 3e 66 /span>,.<span.class="tok-null">f
924e0 61 6c 73 65 3c 2f 73 70 61 6e 3e 29 2e 3f 20 3d 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 alse</span>).?.==.<span.class="t
92500 6f 6b 2d 6e 75 6d 62 65 72 22 3e 33 3c 2f 73 70 61 6e 3e 29 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 ok-number">3</span>);</span>.<sp
92520 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 7d 3c 2f 73 70 61 6e 3e 0a 3c 73 70 an.class="line">....}</span>.<sp
92540 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 7d 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 an.class="line">}</span>.<span.c
92560 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 lass="line"><span.class="tok-kw"
92580 3e 66 6e 3c 2f 73 70 61 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">
925a0 70 65 65 72 54 79 70 65 54 41 6e 64 4f 70 74 69 6f 6e 61 6c 54 3c 2f 73 70 61 6e 3e 28 63 3a 20 peerTypeTAndOptionalT</span>(c:.
925c0 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
925e0 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 6f n>,.b:.<span.class="tok-type">bo
92600 6f 6c 3c 2f 73 70 61 6e 3e 29 20 3f 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 ol</span>).?<span.class="tok-typ
92620 65 22 3e 75 73 69 7a 65 3c 2f 73 70 61 6e 3e 20 7b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 e">usize</span>.{</span>.<span.c
92640 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b lass="line">....<span.class="tok
92660 2d 6b 77 22 3e 69 66 3c 2f 73 70 61 6e 3e 20 28 63 29 20 7b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 -kw">if</span>.(c).{</span>.<spa
92680 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 n.class="line">........<span.cla
926a0 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.
926c0 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 69 66 3c 2f 73 70 61 6e 3e 20 28 62 29 20 3c 73 70 class="tok-kw">if</span>.(b).<sp
926e0 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 20 an.class="tok-null">null</span>.
92700 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>
92720 20 3c 73 70 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</
92740 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 69 span>(<span.class="tok-type">usi
92760 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 62 ze</span>,.<span.class="tok-numb
92780 65 72 22 3e 30 3c 2f 73 70 61 6e 3e 29 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 er">0</span>);</span>.<span.clas
927a0 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 7d 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 s="line">....}</span>.<span.clas
927c0 73 3d 22 6c 69 6e 65 22 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 s="line"></span>.<span.class="li
927e0 6e 65 22 3e 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 72 65 74 ne">....<span.class="tok-kw">ret
92800 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 69 6c urn</span>.<span.class="tok-buil
92820 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
92840 2d 74 79 70 65 22 3e 75 73 69 7a 65 3c 2f 73 70 61 6e 3e 2c 20 3c 73 70 61 6e 20 63 6c 61 73 73 -type">usize</span>,.<span.class
92860 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 33 3c 2f 73 70 61 6e 3e 29 3b 3c 2f 73 70 61 6e 3e 0a ="tok-number">3</span>);</span>.
92880 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 7d 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 <span.class="line">}</span>.<spa
928a0 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 n.class="line"></span>.<span.cla
928c0 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 74 ss="line"><span.class="tok-kw">t
928e0 65 73 74 3c 2f 73 70 61 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"
92900 3e 26 71 75 6f 74 3b 70 65 65 72 20 74 79 70 65 20 72 65 73 6f 6c 75 74 69 6f 6e 3a 20 2a 5b 30 >&quot;peer.type.resolution:.*[0
92920 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 70 61 6e 3e 20 ]u8.and.[]const.u8&quot;</span>.
92940 7b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 {</span>.<span.class="line">....
92960 3c 73 70 61 6e 20 63 6c 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>.
92980 65 78 70 65 63 74 28 70 65 65 72 54 79 70 65 45 6d 70 74 79 41 72 72 61 79 41 6e 64 53 6c 69 63 expect(peerTypeEmptyArrayAndSlic
929a0 65 28 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6c 6c 22 3e 74 72 75 65 3c 2f 73 e(<span.class="tok-null">true</s
929c0 70 61 6e 3e 2c 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 73 74 72 22 3e 26 71 75 6f pan>,.<span.class="tok-str">&quo
929e0 74 3b 68 69 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 29 2e 6c 65 6e 20 3d 3d 20 3c 73 70 61 6e 20 t;hi&quot;</span>).len.==.<span.
92a00 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 30 3c 2f 73 70 61 6e 3e 29 3b 3c 2f 73 class="tok-number">0</span>);</s
92a20 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 3c 73 70 61 pan>.<span.class="line">....<spa
92a40 6e 20 63 6c 61 73 73 3d 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
92a60 63 74 28 70 65 65 72 54 79 70 65 45 6d 70 74 79 41 72 72 61 79 41 6e 64 53 6c 69 63 65 28 3c 73 ct(peerTypeEmptyArrayAndSlice(<s
92a80 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
92aa0 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
92ac0 69 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 29 2e 6c 65 6e 20 3d 3d 20 3c 73 70 61 6e 20 63 6c 61 i&quot;</span>).len.==.<span.cla
92ae0 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 31 3c 2f 73 70 61 6e 3e 29 3b 3c 2f 73 70 61 6e ss="tok-number">1</span>);</span
92b00 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 3c 73 70 61 6e 20 63 >.<span.class="line">....<span.c
92b20 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 63 6f 6d 70 74 69 6d 65 3c 2f 73 70 61 6e 3e 20 7b 3c lass="tok-kw">comptime</span>.{<
92b40 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 20 20 /span>.<span.class="line">......
92b60 20 20 3c 73 70 61 6e 20 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
92b80 3e 20 65 78 70 65 63 74 28 70 65 65 72 54 79 70 65 45 6d 70 74 79 41 72 72 61 79 41 6e 64 53 6c >.expect(peerTypeEmptyArrayAndSl
92ba0 69 63 65 28 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6c 6c 22 3e 74 72 75 65 3c ice(<span.class="tok-null">true<
92bc0 2f 73 70 61 6e 3e 2c 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 73 74 72 22 3e 26 71 /span>,.<span.class="tok-str">&q
92be0 75 6f 74 3b 68 69 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 29 2e 6c 65 6e 20 3d 3d 20 3c 73 70 61 uot;hi&quot;</span>).len.==.<spa
92c00 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 30 3c 2f 73 70 61 6e 3e 29 3b 3c n.class="tok-number">0</span>);<
92c20 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 20 20 /span>.<span.class="line">......
92c40 20 20 3c 73 70 61 6e 20 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
92c60 3e 20 65 78 70 65 63 74 28 70 65 65 72 54 79 70 65 45 6d 70 74 79 41 72 72 61 79 41 6e 64 53 6c >.expect(peerTypeEmptyArrayAndSl
92c80 69 63 65 28 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6c 6c 22 3e 66 61 6c 73 65 ice(<span.class="tok-null">false
92ca0 3c 2f 73 70 61 6e 3e 2c 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 73 74 72 22 3e 26 </span>,.<span.class="tok-str">&
92cc0 71 75 6f 74 3b 68 69 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 29 2e 6c 65 6e 20 3d 3d 20 3c 73 70 quot;hi&quot;</span>).len.==.<sp
92ce0 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 31 3c 2f 73 70 61 6e 3e 29 3b an.class="tok-number">1</span>);
92d00 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 7d </span>.<span.class="line">....}
92d20 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 7d 3c 2f 73 70 </span>.<span.class="line">}</sp
92d40 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 an>.<span.class="line"><span.cla
92d60 73 73 3d 22 74 6f 6b 2d 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
92d80 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 64 s="tok-fn">peerTypeEmptyArrayAnd
92da0 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 6b Slice</span>(a:.<span.class="tok
92dc0 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 70 -type">bool</span>,.slice:.[]<sp
92de0 61 6e 20 63 6c 61 73 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>.<
92e00 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>)
92e20 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
92e40 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</
92e60 73 70 61 6e 3e 20 7b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 span>.{</span>.<span.class="line
92e80 22 3e 20 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
92ea0 70 61 6e 3e 20 28 61 29 20 7b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c pan>.(a).{</span>.<span.class="l
92ec0 69 6e 65 22 3e 20 20 20 20 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 ine">........<span.class="tok-kw
92ee0 22 3e 72 65 74 75 72 6e 3c 2f 73 70 61 6e 3e 20 26 61 6d 70 3b 5b 5f 5d 3c 73 70 61 6e 20 63 6c ">return</span>.&amp;[_]<span.cl
92f00 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 75 38 3c 2f 73 70 61 6e 3e 7b 7d 3b 3c 2f 73 70 61 ass="tok-type">u8</span>{};</spa
92f20 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 7d 3c 2f 73 70 61 n>.<span.class="line">....}</spa
92f40 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 n>.<span.class="line"></span>.<s
92f60 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 pan.class="line">....<span.class
92f80 3d 22 74 6f 6b 2d 6b 77 22 3e 72 65 74 75 72 6e 3c 2f 73 70 61 6e 3e 20 73 6c 69 63 65 5b 3c 73 ="tok-kw">return</span>.slice[<s
92fa0 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>.
92fc0 2e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 31 3c 2f 73 70 61 .<span.class="tok-number">1</spa
92fe0 6e 3e 5d 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 7d n>];</span>.<span.class="line">}
93000 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e </span>.<span.class="line"><span
93020 20 63 6c 61 73 73 3d 22 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
93040 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 73 74 72 22 3e 26 71 75 6f 74 3b 70 65 65 72 20 74 79 70 n.class="tok-str">&quot;peer.typ
93060 65 20 72 65 73 6f 6c 75 74 69 6f 6e 3a 20 2a 5b 30 5d 75 38 2c 20 5b 5d 63 6f 6e 73 74 20 75 38 e.resolution:.*[0]u8,.[]const.u8
93080 2c 20 61 6e 64 20 61 6e 79 65 72 72 6f 72 21 5b 5d 75 38 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e ,.and.anyerror![]u8&quot;</span>
930a0 20 7b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 .{</span>.<span.class="line">...
930c0 20 7b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 .{</span>.<span.class="line">...
930e0 20 20 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
93100 70 61 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 pan>.data.=.<span.class="tok-str
93120 22 3e 26 71 75 6f 74 3b 68 69 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 2e 2a 3b 3c 2f 73 70 61 6e ">&quot;hi&quot;</span>.*;</span
93140 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 20 20 20 20 3c 73 70 >.<span.class="line">........<sp
93160 61 6e 20 63 6c 61 73 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
93180 6c 69 63 65 20 3d 20 64 61 74 61 5b 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d lice.=.data[<span.class="tok-num
931a0 62 65 72 22 3e 30 3c 2f 73 70 61 6e 3e 2e 2e 5d 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 ber">0</span>..];</span>.<span.c
931c0 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d lass="line">........<span.class=
931e0 22 74 6f 6b 2d 6b 77 22 3e 74 72 79 3c 2f 73 70 61 6e 3e 20 65 78 70 65 63 74 28 28 3c 73 70 61 "tok-kw">try</span>.expect((<spa
93200 6e 20 63 6c 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 n.class="tok-kw">try</span>.peer
93220 54 79 70 65 45 6d 70 74 79 41 72 72 61 79 41 6e 64 53 6c 69 63 65 41 6e 64 45 72 72 6f 72 28 3c TypeEmptyArrayAndSliceAndError(<
93240 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
93260 3e 2c 20 73 6c 69 63 65 29 29 2e 6c 65 6e 20 3d 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 >,.slice)).len.==.<span.class="t
93280 6f 6b 2d 6e 75 6d 62 65 72 22 3e 30 3c 2f 73 70 61 6e 3e 29 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 ok-number">0</span>);</span>.<sp
932a0 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 20 20 20 20 3c 73 70 61 6e 20 63 6c an.class="line">........<span.cl
932c0 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 74 72 79 3c 2f 73 70 61 6e 3e 20 65 78 70 65 63 74 28 28 ass="tok-kw">try</span>.expect((
932e0 3c 73 70 61 6e 20 63 6c 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>.
93300 70 65 65 72 54 79 70 65 45 6d 70 74 79 41 72 72 61 79 41 6e 64 53 6c 69 63 65 41 6e 64 45 72 72 peerTypeEmptyArrayAndSliceAndErr
93320 6f 72 28 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6c 6c 22 3e 66 61 6c 73 65 3c or(<span.class="tok-null">false<
93340 2f 73 70 61 6e 3e 2c 20 73 6c 69 63 65 29 29 2e 6c 65 6e 20 3d 3d 20 3c 73 70 61 6e 20 63 6c 61 /span>,.slice)).len.==.<span.cla
93360 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 31 3c 2f 73 70 61 6e 3e 29 3b 3c 2f 73 70 61 6e ss="tok-number">1</span>);</span
93380 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 7d 3c 2f 73 70 61 6e >.<span.class="line">....}</span
933a0 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 3c 73 70 61 6e 20 63 >.<span.class="line">....<span.c
933c0 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 63 6f 6d 70 74 69 6d 65 3c 2f 73 70 61 6e 3e 20 7b 3c lass="tok-kw">comptime</span>.{<
933e0 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 20 20 /span>.<span.class="line">......
93400 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
93420 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 26 >.data.=.<span.class="tok-str">&
93440 71 75 6f 74 3b 68 69 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 2e 2a 3b 3c 2f 73 70 61 6e 3e 0a 3c quot;hi&quot;</span>.*;</span>.<
93460 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 20 20 20 20 3c 73 70 61 6e 20 span.class="line">........<span.
93480 63 6c 61 73 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
934a0 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
934c0 22 3e 30 3c 2f 73 70 61 6e 3e 2e 2e 5d 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 ">0</span>..];</span>.<span.clas
934e0 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f s="line">........<span.class="to
93500 6b 2d 6b 77 22 3e 74 72 79 3c 2f 73 70 61 6e 3e 20 65 78 70 65 63 74 28 28 3c 73 70 61 6e 20 63 k-kw">try</span>.expect((<span.c
93520 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 74 72 79 3c 2f 73 70 61 6e 3e 20 70 65 65 72 54 79 70 lass="tok-kw">try</span>.peerTyp
93540 65 45 6d 70 74 79 41 72 72 61 79 41 6e 64 53 6c 69 63 65 41 6e 64 45 72 72 6f 72 28 3c 73 70 61 eEmptyArrayAndSliceAndError(<spa
93560 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6c 6c 22 3e 74 72 75 65 3c 2f 73 70 61 6e 3e 2c 20 n.class="tok-null">true</span>,.
93580 73 6c 69 63 65 29 29 2e 6c 65 6e 20 3d 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d slice)).len.==.<span.class="tok-
935a0 6e 75 6d 62 65 72 22 3e 30 3c 2f 73 70 61 6e 3e 29 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 number">0</span>);</span>.<span.
935c0 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 class="line">........<span.class
935e0 3d 22 74 6f 6b 2d 6b 77 22 3e 74 72 79 3c 2f 73 70 61 6e 3e 20 65 78 70 65 63 74 28 28 3c 73 70 ="tok-kw">try</span>.expect((<sp
93600 61 6e 20 63 6c 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 an.class="tok-kw">try</span>.pee
93620 72 54 79 70 65 45 6d 70 74 79 41 72 72 61 79 41 6e 64 53 6c 69 63 65 41 6e 64 45 72 72 6f 72 28 rTypeEmptyArrayAndSliceAndError(
93640 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
93660 61 6e 3e 2c 20 73 6c 69 63 65 29 29 2e 6c 65 6e 20 3d 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d an>,.slice)).len.==.<span.class=
93680 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 31 3c 2f 73 70 61 6e 3e 29 3b 3c 2f 73 70 61 6e 3e 0a 3c "tok-number">1</span>);</span>.<
936a0 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 7d 3c 2f 73 70 61 6e 3e 0a 3c span.class="line">....}</span>.<
936c0 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 7d 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e span.class="line">}</span>.<span
936e0 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b .class="line"><span.class="tok-k
93700 77 22 3e 66 6e 3c 2f 73 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
93720 22 3e 70 65 65 72 54 79 70 65 45 6d 70 74 79 41 72 72 61 79 41 6e 64 53 6c 69 63 65 41 6e 64 45 ">peerTypeEmptyArrayAndSliceAndE
93740 72 72 6f 72 3c 2f 73 70 61 6e 3e 28 61 3a 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d rror</span>(a:.<span.class="tok-
93760 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 70 61 type">bool</span>,.slice:.[]<spa
93780 6e 20 63 6c 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
937a0 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
937c0 70 61 6e 3e 21 5b 5d 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 75 38 pan>![]<span.class="tok-type">u8
937e0 3c 2f 73 70 61 6e 3e 20 7b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 </span>.{</span>.<span.class="li
93800 6e 65 22 3e 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 69 66 3c ne">....<span.class="tok-kw">if<
93820 2f 73 70 61 6e 3e 20 28 61 29 20 7b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d /span>.(a).{</span>.<span.class=
93840 22 6c 69 6e 65 22 3e 20 20 20 20 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d "line">........<span.class="tok-
93860 6b 77 22 3e 72 65 74 75 72 6e 3c 2f 73 70 61 6e 3e 20 26 61 6d 70 3b 5b 5f 5d 3c 73 70 61 6e 20 kw">return</span>.&amp;[_]<span.
93880 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 75 38 3c 2f 73 70 61 6e 3e 7b 7d 3b 3c 2f 73 class="tok-type">u8</span>{};</s
938a0 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 7d 3c 2f 73 pan>.<span.class="line">....}</s
938c0 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 2f 73 70 61 6e 3e 0a pan>.<span.class="line"></span>.
938e0 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 <span.class="line">....<span.cla
93900 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 72 65 74 75 72 6e 3c 2f 73 70 61 6e 3e 20 73 6c 69 63 65 5b ss="tok-kw">return</span>.slice[
93920 3c 73 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
93940 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 73 >..<span.class="tok-number">1</s
93960 70 61 6e 3e 5d 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 pan>];</span>.<span.class="line"
93980 3e 7d 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 2f 73 >}</span>.<span.class="line"></s
939a0 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c pan>.<span.class="line"><span.cl
939c0 61 73 73 3d 22 74 6f 6b 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
939e0 6c 61 73 73 3d 22 74 6f 6b 2d 73 74 72 22 3e 26 71 75 6f 74 3b 70 65 65 72 20 74 79 70 65 20 72 lass="tok-str">&quot;peer.type.r
93a00 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 26 71 75 6f 74 esolution:.*const.T.and.?*T&quot
93a20 3b 3c 2f 73 70 61 6e 3e 20 7b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c ;</span>.{</span>.<span.class="l
93a40 69 6e 65 22 3e 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 63 6f ine">....<span.class="tok-kw">co
93a60 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 6f 6b 2d nst</span>.a.=.<span.class="tok-
93a80 62 75 69 6c 74 69 6e 22 3e 40 69 6e 74 54 6f 50 74 72 3c 2f 73 70 61 6e 3e 28 2a 3c 73 70 61 6e builtin">@intToPtr</span>(*<span
93aa0 20 63 6c 61 73 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
93ac0 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>
93ae0 2c 20 3c 73 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
93b00 34 35 36 37 38 30 3c 2f 73 70 61 6e 3e 29 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 456780</span>);</span>.<span.cla
93b20 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b ss="line">....<span.class="tok-k
93b40 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 3d w">const</span>.b.=.<span.class=
93b60 22 74 6f 6b 2d 62 75 69 6c 74 69 6e 22 3e 40 69 6e 74 54 6f 50 74 72 3c 2f 73 70 61 6e 3e 28 3f "tok-builtin">@intToPtr</span>(?
93b80 2a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 75 73 69 7a 65 3c 2f 73 *<span.class="tok-type">usize</s
93ba0 70 61 6e 3e 2c 20 3c 73 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
93bc0 78 31 32 33 34 35 36 37 38 30 3c 2f 73 70 61 6e 3e 29 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e x123456780</span>);</span>.<span
93be0 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 .class="line">....<span.class="t
93c00 6f 6b 2d 6b 77 22 3e 74 72 79 3c 2f 73 70 61 6e 3e 20 65 78 70 65 63 74 28 61 20 3d 3d 20 62 29 ok-kw">try</span>.expect(a.==.b)
93c20 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 ;</span>.<span.class="line">....
93c40 3c 73 70 61 6e 20 63 6c 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>.
93c60 65 78 70 65 63 74 28 62 20 3d 3d 20 61 29 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 expect(b.==.a);</span>.<span.cla
93c80 73 73 3d 22 6c 69 6e 65 22 3e 7d 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 3c 2f 70 72 65 3e 3c ss="line">}</span></code></pre><
93ca0 2f 66 69 67 75 72 65 3e 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
93cc0 73 3d 22 73 68 65 6c 6c 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>
93ce0 3c 70 72 65 3e 3c 73 61 6d 70 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 24 20 <pre><samp><span.class="line">$.
93d00 3c 6b 62 64 3e 7a 69 67 20 74 65 73 74 20 70 65 65 72 5f 74 79 70 65 5f 72 65 73 6f 6c 75 74 69 <kbd>zig.test.peer_type_resoluti
93d20 6f 6e 2e 7a 69 67 3c 2f 6b 62 64 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d on.zig</kbd></span>.<span.class=
93d40 22 6c 69 6e 65 22 3e 31 2f 37 20 74 65 73 74 2e 70 65 65 72 20 72 65 73 6f 6c 76 65 20 69 6e 74 "line">1/7.test.peer.resolve.int
93d60 20 77 69 64 65 6e 69 6e 67 2e 2e 2e 20 4f 4b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 .widening....OK</span>.<span.cla
93d80 73 73 3d 22 6c 69 6e 65 22 3e 32 2f 37 20 74 65 73 74 2e 70 65 65 72 20 72 65 73 6f 6c 76 65 20 ss="line">2/7.test.peer.resolve.
93da0 61 72 72 61 79 73 20 6f 66 20 64 69 66 66 65 72 65 6e 74 20 73 69 7a 65 20 74 6f 20 63 6f 6e 73 arrays.of.different.size.to.cons
93dc0 74 20 73 6c 69 63 65 2e 2e 2e 20 4f 4b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 t.slice....OK</span>.<span.class
93de0 3d 22 6c 69 6e 65 22 3e 33 2f 37 20 74 65 73 74 2e 70 65 65 72 20 72 65 73 6f 6c 76 65 20 61 72 ="line">3/7.test.peer.resolve.ar
93e00 72 61 79 20 61 6e 64 20 63 6f 6e 73 74 20 73 6c 69 63 65 2e 2e 2e 20 4f 4b 3c 2f 73 70 61 6e 3e ray.and.const.slice....OK</span>
93e20 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 34 2f 37 20 74 65 73 74 2e 70 65 65 .<span.class="line">4/7.test.pee
93e40 72 20 74 79 70 65 20 72 65 73 6f 6c 75 74 69 6f 6e 3a 20 3f 54 20 61 6e 64 20 54 2e 2e 2e 20 4f r.type.resolution:.?T.and.T....O
93e60 4b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 35 2f 37 20 K</span>.<span.class="line">5/7.
93e80 74 65 73 74 2e 70 65 65 72 20 74 79 70 65 20 72 65 73 6f 6c 75 74 69 6f 6e 3a 20 2a 5b 30 5d 75 test.peer.type.resolution:.*[0]u
93ea0 38 20 61 6e 64 20 5b 5d 63 6f 6e 73 74 20 75 38 2e 2e 2e 20 4f 4b 3c 2f 73 70 61 6e 3e 0a 3c 73 8.and.[]const.u8....OK</span>.<s
93ec0 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 36 2f 37 20 74 65 73 74 2e 70 65 65 72 20 74 pan.class="line">6/7.test.peer.t
93ee0 79 70 65 20 72 65 73 6f 6c 75 74 69 6f 6e 3a 20 2a 5b 30 5d 75 38 2c 20 5b 5d 63 6f 6e 73 74 20 ype.resolution:.*[0]u8,.[]const.
93f00 75 38 2c 20 61 6e 64 20 61 6e 79 65 72 72 6f 72 21 5b 5d 75 38 2e 2e 2e 20 4f 4b 3c 2f 73 70 61 u8,.and.anyerror![]u8....OK</spa
93f20 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 37 2f 37 20 74 65 73 74 2e 70 n>.<span.class="line">7/7.test.p
93f40 65 65 72 20 74 79 70 65 20 72 65 73 6f 6c 75 74 69 6f 6e 3a 20 2a 63 6f 6e 73 74 20 54 20 61 6e eer.type.resolution:.*const.T.an
93f60 64 20 3f 2a 54 2e 2e 2e 20 4f 4b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 d.?*T....OK</span>.<span.class="
93f80 6c 69 6e 65 22 3e 41 6c 6c 20 37 20 74 65 73 74 73 20 70 61 73 73 65 64 2e 3c 2f 73 70 61 6e 3e line">All.7.tests.passed.</span>
93fa0 0a 3c 2f 73 61 6d 70 3e 3c 2f 70 72 65 3e 3c 2f 66 69 67 75 72 65 3e 0a 20 20 20 20 20 20 0a 20 .</samp></pre></figure>.........
93fc0 20 20 20 20 20 0a 0a 20 20 20 20 20 20 3c 68 32 20 69 64 3d 22 5a 65 72 6f 2d 42 69 74 2d 54 79 .............<h2.id="Zero-Bit-Ty
93fe0 70 65 73 22 3e 3c 61 20 68 72 65 66 3d 22 23 74 6f 63 2d 5a 65 72 6f 2d 42 69 74 2d 54 79 70 65 pes"><a.href="#toc-Zero-Bit-Type
94000 73 22 3e 5a 65 72 6f 20 42 69 74 20 54 79 70 65 73 3c 2f 61 3e 20 3c 61 20 63 6c 61 73 73 3d 22 s">Zero.Bit.Types</a>.<a.class="
94020 68 64 72 22 20 68 72 65 66 3d 22 23 5a 65 72 6f 2d 42 69 74 2d 54 79 70 65 73 22 3e c2 a7 3c 2f hdr".href="#Zero-Bit-Types">..</
94040 61 3e 3c 2f 68 32 3e 0a 0a 20 20 20 20 20 20 3c 70 3e 46 6f 72 20 73 6f 6d 65 20 74 79 70 65 73 a></h2>........<p>For.some.types
94060 2c 20 3c 61 20 68 72 65 66 3d 22 23 73 69 7a 65 4f 66 22 3e 40 73 69 7a 65 4f 66 3c 2f 61 3e 20 ,.<a.href="#sizeOf">@sizeOf</a>.
94080 69 73 20 30 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 is.0:</p>.......<ul>...........<
940a0 6c 69 3e 3c 61 20 68 72 65 66 3d 22 23 76 6f 69 64 22 3e 76 6f 69 64 3c 2f 61 3e 3c 2f 6c 69 3e li><a.href="#void">void</a></li>
940c0 0a 20 20 20 20 20 20 20 20 20 20 3c 6c 69 3e 54 68 65 20 3c 61 20 68 72 65 66 3d 22 23 49 6e 74 ...........<li>The.<a.href="#Int
940e0 65 67 65 72 73 22 3e 49 6e 74 65 67 65 72 73 3c 2f 61 3e 20 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 egers">Integers</a>.<code><span.
94100 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 class="line"><span.class="tok-ty
94120 70 65 22 3e 75 30 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 20 61 6e 64 20 pe">u0</span></span></code>.and.
94140 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 <code><span.class="line"><span.c
94160 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 69 30 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e lass="tok-type">i0</span></span>
94180 3c 2f 63 6f 64 65 3e 2e 3c 2f 6c 69 3e 0a 20 20 20 20 20 20 20 20 20 20 3c 6c 69 3e 3c 61 20 68 </code>.</li>...........<li><a.h
941a0 72 65 66 3d 22 23 41 72 72 61 79 73 22 3e 41 72 72 61 79 73 3c 2f 61 3e 20 61 6e 64 20 3c 61 20 ref="#Arrays">Arrays</a>.and.<a.
941c0 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 77 69 74 68 href="#Vectors">Vectors</a>.with
941e0 20 6c 65 6e 20 30 2c 20 6f 72 20 77 69 74 68 20 61 6e 20 65 6c 65 6d 65 6e 74 20 74 79 70 65 20 .len.0,.or.with.an.element.type.
94200 74 68 61 74 20 69 73 20 61 20 7a 65 72 6f 20 62 69 74 20 74 79 70 65 2e 3c 2f 6c 69 3e 0a 20 20 that.is.a.zero.bit.type.</li>...
94220 20 20 20 20 20 20 20 20 3c 6c 69 3e 41 6e 20 3c 61 20 68 72 65 66 3d 22 23 65 6e 75 6d 22 3e 65 ........<li>An.<a.href="#enum">e
94240 6e 75 6d 3c 2f 61 3e 20 77 69 74 68 20 6f 6e 6c 79 20 31 20 74 61 67 2e 3c 2f 6c 69 3e 0a 20 20 num</a>.with.only.1.tag.</li>...
94260 20 20 20 20 20 20 20 20 3c 6c 69 3e 41 20 3c 61 20 68 72 65 66 3d 22 23 73 74 72 75 63 74 22 3e ........<li>A.<a.href="#struct">
94280 73 74 72 75 63 74 3c 2f 61 3e 20 77 69 74 68 20 61 6c 6c 20 66 69 65 6c 64 73 20 62 65 69 6e 67 struct</a>.with.all.fields.being
942a0 20 7a 65 72 6f 20 62 69 74 20 74 79 70 65 73 2e 3c 2f 6c 69 3e 0a 20 20 20 20 20 20 20 20 20 20 .zero.bit.types.</li>...........
942c0 3c 6c 69 3e 41 20 3c 61 20 68 72 65 66 3d 22 23 75 6e 69 6f 6e 22 3e 75 6e 69 6f 6e 3c 2f 61 3e <li>A.<a.href="#union">union</a>
942e0 20 77 69 74 68 20 6f 6e 6c 79 20 31 20 66 69 65 6c 64 20 77 68 69 63 68 20 69 73 20 61 20 7a 65 .with.only.1.field.which.is.a.ze
94300 72 6f 20 62 69 74 20 74 79 70 65 2e 3c 2f 6c 69 3e 0a 20 20 20 20 20 20 3c 2f 75 6c 3e 0a 20 20 ro.bit.type.</li>.......</ul>...
94320 20 20 20 20 3c 70 3e 0a 20 20 20 20 20 20 54 68 65 73 65 20 74 79 70 65 73 20 63 61 6e 20 6f 6e ....<p>.......These.types.can.on
94340 6c 79 20 65 76 65 72 20 68 61 76 65 20 6f 6e 65 20 70 6f 73 73 69 62 6c 65 20 76 61 6c 75 65 2c ly.ever.have.one.possible.value,
94360 20 61 6e 64 20 74 68 75 73 0a 20 20 20 20 20 20 72 65 71 75 69 72 65 20 30 20 62 69 74 73 20 74 .and.thus.......require.0.bits.t
94380 6f 20 72 65 70 72 65 73 65 6e 74 2e 20 43 6f 64 65 20 74 68 61 74 20 6d 61 6b 65 73 20 75 73 65 o.represent..Code.that.makes.use
943a0 20 6f 66 20 74 68 65 73 65 20 74 79 70 65 73 20 69 73 0a 20 20 20 20 20 20 6e 6f 74 20 69 6e 63 .of.these.types.is.......not.inc
943c0 6c 75 64 65 64 20 69 6e 20 74 68 65 20 66 69 6e 61 6c 20 67 65 6e 65 72 61 74 65 64 20 63 6f 64 luded.in.the.final.generated.cod
943e0 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
94400 63 61 70 74 69 6f 6e 20 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
94420 61 73 73 3d 22 66 69 6c 65 22 3e 74 65 73 74 2e 7a 69 67 3c 2f 63 69 74 65 3e 3c 2f 66 69 67 63 ass="file">test.zig</cite></figc
94440 61 70 74 69 6f 6e 3e 3c 70 72 65 3e 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c aption><pre><code><span.class="l
94460 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 65 78 70 6f 72 74 ine"><span.class="tok-kw">export
94480 3c 2f 73 70 61 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<
944a0 2f 73 70 61 6e 3e 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 66 6e 22 3e 65 6e 74 72 /span>.<span.class="tok-fn">entr
944c0 79 3c 2f 73 70 61 6e 3e 28 29 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 y</span>().<span.class="tok-type
944e0 22 3e 76 6f 69 64 3c 2f 73 70 61 6e 3e 20 7b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 ">void</span>.{</span>.<span.cla
94500 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b ss="line">....<span.class="tok-k
94520 77 22 3e 76 61 72 3c 2f 73 70 61 6e 3e 20 78 3a 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f w">var</span>.x:.<span.class="to
94540 6b 2d 74 79 70 65 22 3e 76 6f 69 64 3c 2f 73 70 61 6e 3e 20 3d 20 7b 7d 3b 3c 2f 73 70 61 6e 3e k-type">void</span>.=.{};</span>
94560 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 3c 73 70 61 6e 20 63 6c .<span.class="line">....<span.cl
94580 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 76 61 72 3c 2f 73 70 61 6e 3e 20 79 3a 20 3c 73 70 61 6e ass="tok-kw">var</span>.y:.<span
945a0 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 76 6f 69 64 3c 2f 73 70 61 6e 3e 20 3d 20 .class="tok-type">void</span>.=.
945c0 7b 7d 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 {};</span>.<span.class="line">..
945e0 20 20 78 20 3d 20 79 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e ..x.=.y;</span>.<span.class="lin
94600 65 22 3e 7d 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 3c 2f 70 72 65 3e 3c 2f 66 69 67 75 72 65 e">}</span></code></pre></figure
94620 3e 0a 20 20 20 20 20 20 3c 70 3e 57 68 65 6e 20 74 68 69 73 20 74 75 72 6e 73 20 69 6e 74 6f 20 >.......<p>When.this.turns.into.
94640 6d 61 63 68 69 6e 65 20 63 6f 64 65 2c 20 74 68 65 72 65 20 69 73 20 6e 6f 20 63 6f 64 65 20 67 machine.code,.there.is.no.code.g
94660 65 6e 65 72 61 74 65 64 20 69 6e 20 74 68 65 0a 20 20 20 20 20 20 62 6f 64 79 20 6f 66 20 3c 63 enerated.in.the.......body.of.<c
94680 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 65 6e 74 72 79 3c 2f 73 70 ode><span.class="line">entry</sp
946a0 61 6e 3e 3c 2f 63 6f 64 65 3e 2c 20 65 76 65 6e 20 69 6e 20 3c 61 20 68 72 65 66 3d 22 23 44 65 an></code>,.even.in.<a.href="#De
946c0 62 75 67 22 3e 44 65 62 75 67 3c 2f 61 3e 20 6d 6f 64 65 2e 20 46 6f 72 20 65 78 61 6d 70 6c 65 bug">Debug</a>.mode..For.example
946e0 2c 20 6f 6e 20 78 38 36 5f 36 34 3a 3c 2f 70 3e 0a 20 20 20 20 20 20 3c 70 72 65 3e 3c 63 6f 64 ,.on.x86_64:</p>.......<pre><cod
94700 65 3e 30 30 30 30 30 30 30 30 30 30 30 30 30 30 31 30 20 26 6c 74 3b 65 6e 74 72 79 26 67 74 3b e>0000000000000010.&lt;entry&gt;
94720 3a 0a 20 20 31 30 3a 09 35 35 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 09 70 75 :...10:.55....................pu
94740 73 68 20 20 20 25 72 62 70 0a 20 20 31 31 3a 09 34 38 20 38 39 20 65 35 20 20 20 20 20 20 20 20 sh...%rbp...11:.48.89.e5........
94760 20 20 20 20 20 09 6d 6f 76 20 20 20 20 25 72 73 70 2c 25 72 62 70 0a 20 20 31 34 3a 09 35 64 20 ......mov....%rsp,%rbp...14:.5d.
94780 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 09 70 6f 70 20 20 20 20 25 72 62 70 0a 20 ...................pop....%rbp..
947a0 20 31 35 3a 09 63 33 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 09 72 65 74 71 20 .15:.c3....................retq.
947c0 20 20 3c 2f 63 6f 64 65 3e 3c 2f 70 72 65 3e 0a 20 20 20 20 20 20 3c 70 3e 54 68 65 73 65 20 61 ..</code></pre>.......<p>These.a
947e0 73 73 65 6d 62 6c 79 20 69 6e 73 74 72 75 63 74 69 6f 6e 73 20 64 6f 20 6e 6f 74 20 68 61 76 65 ssembly.instructions.do.not.have
94800 20 61 6e 79 20 63 6f 64 65 20 61 73 73 6f 63 69 61 74 65 64 20 77 69 74 68 20 74 68 65 20 76 6f .any.code.associated.with.the.vo
94820 69 64 20 76 61 6c 75 65 73 20 2d 0a 20 20 20 20 20 20 74 68 65 79 20 6f 6e 6c 79 20 70 65 72 66 id.values.-.......they.only.perf
94840 6f 72 6d 20 74 68 65 20 66 75 6e 63 74 69 6f 6e 20 63 61 6c 6c 20 70 72 6f 6c 6f 67 75 65 20 61 orm.the.function.call.prologue.a
94860 6e 64 20 65 70 69 6c 6f 67 75 65 2e 3c 2f 70 3e 0a 0a 20 20 20 20 20 20 3c 68 33 20 69 64 3d 22 nd.epilogue.</p>........<h3.id="
94880 76 6f 69 64 22 3e 3c 61 20 68 72 65 66 3d 22 23 74 6f 63 2d 76 6f 69 64 22 3e 76 6f 69 64 3c 2f void"><a.href="#toc-void">void</
948a0 61 3e 20 3c 61 20 63 6c 61 73 73 3d 22 68 64 72 22 20 68 72 65 66 3d 22 23 76 6f 69 64 22 3e c2 a>.<a.class="hdr".href="#void">.
948c0 a7 3c 2f 61 3e 3c 2f 68 33 3e 0a 0a 20 20 20 20 20 20 3c 70 3e 0a 20 20 20 20 20 20 3c 63 6f 64 .</a></h3>........<p>.......<cod
948e0 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 e><span.class="line"><span.class
94900 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 76 6f 69 64 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 3c 2f ="tok-type">void</span></span></
94920 63 6f 64 65 3e 20 63 61 6e 20 62 65 20 75 73 65 66 75 6c 20 66 6f 72 20 69 6e 73 74 61 6e 74 69 code>.can.be.useful.for.instanti
94940 61 74 69 6e 67 20 67 65 6e 65 72 69 63 20 74 79 70 65 73 2e 20 46 6f 72 20 65 78 61 6d 70 6c 65 ating.generic.types..For.example
94960 2c 20 67 69 76 65 6e 20 61 0a 20 20 20 20 20 20 20 20 20 20 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 ,.given.a...........<code><span.
94980 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 4d 61 70 28 4b 65 79 2c 20 56 61 6c 75 65 29 3c 2f 73 70 class="line">Map(Key,.Value)</sp
949a0 61 6e 3e 3c 2f 63 6f 64 65 3e 2c 20 6f 6e 65 20 63 61 6e 20 70 61 73 73 20 3c 63 6f 64 65 3e 3c an></code>,.one.can.pass.<code><
949c0 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 span.class="line"><span.class="t
949e0 6f 6b 2d 74 79 70 65 22 3e 76 6f 69 64 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 ok-type">void</span></span></cod
94a00 65 3e 20 66 6f 72 20 74 68 65 20 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 e>.for.the.<code><span.class="li
94a20 6e 65 22 3e 56 61 6c 75 65 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 0a 20 20 20 20 20 20 20 20 ne">Value</span></code>.........
94a40 20 20 20 20 20 20 20 20 20 20 20 20 20 20 74 79 70 65 20 74 6f 20 6d 61 6b 65 20 69 74 20 69 6e ..............type.to.make.it.in
94a60 74 6f 20 61 20 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 53 65 to.a.<code><span.class="line">Se
94a80 74 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 3a 0a 20 20 20 20 20 20 3c 2f 70 3e 0a 20 20 20 20 t</span></code>:.......</p>.....
94aa0 20 20 3c 66 69 67 75 72 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
94ac0 2d 63 61 70 22 3e 3c 63 69 74 65 20 63 6c 61 73 73 3d 22 66 69 6c 65 22 3e 76 6f 69 64 5f 69 6e -cap"><cite.class="file">void_in
94ae0 5f 68 61 73 68 6d 61 70 2e 7a 69 67 3c 2f 63 69 74 65 3e 3c 2f 66 69 67 63 61 70 74 69 6f 6e 3e _hashmap.zig</cite></figcaption>
94b00 3c 70 72 65 3e 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 <pre><code><span.class="line"><s
94b20 70 61 6e 20 63 6c 61 73 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>.
94b40 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">
94b60 40 69 6d 70 6f 72 74 3c 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-
94b80 73 74 72 22 3e 26 71 75 6f 74 3b 73 74 64 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 29 3b 3c 2f 73 str">&quot;std&quot;</span>);</s
94ba0 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c pan>.<span.class="line"><span.cl
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 65 78 70 65 63 74 ass="tok-kw">const</span>.expect
94be0 20 3d 20 73 74 64 2e 74 65 73 74 69 6e 67 2e 65 78 70 65 63 74 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 .=.std.testing.expect;</span>.<s
94c00 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 pan.class="line"></span>.<span.c
94c20 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 lass="line"><span.class="tok-kw"
94c40 3e 74 65 73 74 3c 2f 73 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
94c60 72 22 3e 26 71 75 6f 74 3b 74 75 72 6e 20 48 61 73 68 4d 61 70 20 69 6e 74 6f 20 61 20 73 65 74 r">&quot;turn.HashMap.into.a.set
94c80 20 77 69 74 68 20 76 6f 69 64 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 20 7b 3c 2f 73 70 61 6e 3e .with.void&quot;</span>.{</span>
94ca0 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 3c 73 70 61 6e 20 63 6c .<span.class="line">....<span.cl
94cc0 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 76 61 72 3c 2f 73 70 61 6e 3e 20 6d 61 70 20 3d 20 73 74 ass="tok-kw">var</span>.map.=.st
94ce0 64 2e 41 75 74 6f 48 61 73 68 4d 61 70 28 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 d.AutoHashMap(<span.class="tok-t
94d00 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
94d20 6b 2d 74 79 70 65 22 3e 76 6f 69 64 3c 2f 73 70 61 6e 3e 29 2e 69 6e 69 74 28 73 74 64 2e 74 65 k-type">void</span>).init(std.te
94d40 73 74 69 6e 67 2e 61 6c 6c 6f 63 61 74 6f 72 29 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 sting.allocator);</span>.<span.c
94d60 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b lass="line">....<span.class="tok
94d80 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 3c -kw">defer</span>.map.deinit();<
94da0 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 2f 73 70 61 6e /span>.<span.class="line"></span
94dc0 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 3c 73 70 61 6e 20 63 >.<span.class="line">....<span.c
94de0 6c 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 74 lass="tok-kw">try</span>.map.put
94e00 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
94e20 6e 3e 2c 20 7b 7d 29 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e n>,.{});</span>.<span.class="lin
94e40 65 22 3e 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 74 72 79 3c e">....<span.class="tok-kw">try<
94e60 2f 73 70 61 6e 3e 20 6d 61 70 2e 70 75 74 28 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d /span>.map.put(<span.class="tok-
94e80 6e 75 6d 62 65 72 22 3e 32 3c 2f 73 70 61 6e 3e 2c 20 7b 7d 29 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 number">2</span>,.{});</span>.<s
94ea0 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 pan.class="line"></span>.<span.c
94ec0 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b lass="line">....<span.class="tok
94ee0 2d 6b 77 22 3e 74 72 79 3c 2f 73 70 61 6e 3e 20 65 78 70 65 63 74 28 6d 61 70 2e 63 6f 6e 74 61 -kw">try</span>.expect(map.conta
94f00 69 6e 73 28 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 32 3c 2f ins(<span.class="tok-number">2</
94f20 73 70 61 6e 3e 29 29 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e span>));</span>.<span.class="lin
94f40 65 22 3e 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 74 72 79 3c e">....<span.class="tok-kw">try<
94f60 2f 73 70 61 6e 3e 20 65 78 70 65 63 74 28 21 6d 61 70 2e 63 6f 6e 74 61 69 6e 73 28 3c 73 70 61 /span>.expect(!map.contains(<spa
94f80 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 29 3b n.class="tok-number">3</span>));
94fa0 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 2f 73 70 61 </span>.<span.class="line"></spa
94fc0 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 5f 20 3d 20 6d 61 n>.<span.class="line">...._.=.ma
94fe0 70 2e 72 65 6d 6f 76 65 28 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 p.remove(<span.class="tok-number
95000 22 3e 32 3c 2f 73 70 61 6e 3e 29 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d ">2</span>);</span>.<span.class=
95020 22 6c 69 6e 65 22 3e 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e "line">....<span.class="tok-kw">
95040 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 28 try</span>.expect(!map.contains(
95060 3c 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
95080 3e 29 29 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 7d >));</span>.<span.class="line">}
950a0 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 3c 2f 70 72 65 3e 3c 2f 66 69 67 75 72 65 3e 3c 66 69 </span></code></pre></figure><fi
950c0 67 75 72 65 3e 3c 66 69 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
950e0 70 22 3e 53 68 65 6c 6c 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>
95100 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 24 20 3c 6b 62 64 3e 7a 69 67 20 74 65 <span.class="line">$.<kbd>zig.te
95120 73 74 20 76 6f 69 64 5f 69 6e 5f 68 61 73 68 6d 61 70 2e 7a 69 67 3c 2f 6b 62 64 3e 3c 2f 73 70 st.void_in_hashmap.zig</kbd></sp
95140 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 31 2f 31 20 74 65 73 74 2e an>.<span.class="line">1/1.test.
95160 74 75 72 6e 20 48 61 73 68 4d 61 70 20 69 6e 74 6f 20 61 20 73 65 74 20 77 69 74 68 20 76 6f 69 turn.HashMap.into.a.set.with.voi
95180 64 2e 2e 2e 20 4f 4b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 d....OK</span>.<span.class="line
951a0 22 3e 41 6c 6c 20 31 20 74 65 73 74 73 20 70 61 73 73 65 64 2e 3c 2f 73 70 61 6e 3e 0a 3c 2f 73 ">All.1.tests.passed.</span>.</s
951c0 61 6d 70 3e 3c 2f 70 72 65 3e 3c 2f 66 69 67 75 72 65 3e 0a 20 20 20 20 20 20 3c 70 3e 4e 6f 74 amp></pre></figure>.......<p>Not
951e0 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 75 73 e.that.this.is.different.from.us
95200 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 20 6d ing.a.dummy.value.for.the.hash.m
95220 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 3e 3c ap.value........By.using.<code><
95240 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 span.class="line"><span.class="t
95260 6f 6b 2d 74 79 70 65 22 3e 76 6f 69 64 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 ok-type">void</span></span></cod
95280 65 3e 20 61 73 20 74 68 65 20 74 79 70 65 20 6f 66 20 74 68 65 20 76 61 6c 75 65 2c 20 74 68 65 e>.as.the.type.of.the.value,.the
952a0 20 68 61 73 68 20 6d 61 70 20 65 6e 74 72 79 20 74 79 70 65 20 68 61 73 20 6e 6f 20 76 61 6c 75 .hash.map.entry.type.has.no.valu
952c0 65 20 66 69 65 6c 64 2c 20 61 6e 64 0a 20 20 20 20 20 20 74 68 75 73 20 74 68 65 20 68 61 73 68 e.field,.and.......thus.the.hash
952e0 20 6d 61 70 20 74 61 6b 65 73 20 75 70 20 6c 65 73 73 20 73 70 61 63 65 2e 20 46 75 72 74 68 65 .map.takes.up.less.space..Furthe
95300 72 2c 20 61 6c 6c 20 74 68 65 20 63 6f 64 65 20 74 68 61 74 20 64 65 61 6c 73 20 77 69 74 68 20 r,.all.the.code.that.deals.with.
95320 73 74 6f 72 69 6e 67 20 61 6e 64 20 6c 6f 61 64 69 6e 67 20 74 68 65 0a 20 20 20 20 20 20 76 61 storing.and.loading.the.......va
95340 6c 75 65 20 69 73 20 64 65 6c 65 74 65 64 2c 20 61 73 20 73 65 65 6e 20 61 62 6f 76 65 2e 0a 20 lue.is.deleted,.as.seen.above...
95360 20 20 20 20 20 3c 2f 70 3e 0a 20 20 20 20 20 20 3c 70 3e 0a 20 20 20 20 20 20 3c 63 6f 64 65 3e .....</p>.......<p>.......<code>
95380 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 <span.class="line"><span.class="
953a0 74 6f 6b 2d 74 79 70 65 22 3e 76 6f 69 64 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 3c 2f 63 6f tok-type">void</span></span></co
953c0 64 65 3e 20 69 73 20 64 69 73 74 69 6e 63 74 20 66 72 6f 6d 20 3c 63 6f 64 65 3e 3c 73 70 61 6e de>.is.distinct.from.<code><span
953e0 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 .class="line"><span.class="tok-t
95400 79 70 65 22 3e 61 6e 79 6f 70 61 71 75 65 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 3c 2f 63 6f ype">anyopaque</span></span></co
95420 64 65 3e 2e 0a 20 20 20 20 20 20 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 de>........<code><span.class="li
95440 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 76 6f 69 64 3c ne"><span.class="tok-type">void<
95460 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 20 68 61 73 20 61 20 6b 6e 6f 77 6e /span></span></code>.has.a.known
95480 20 73 69 7a 65 20 6f 66 20 30 20 62 79 74 65 73 2c 20 61 6e 64 20 3c 63 6f 64 65 3e 3c 73 70 61 .size.of.0.bytes,.and.<code><spa
954a0 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d n.class="line"><span.class="tok-
954c0 74 79 70 65 22 3e 61 6e 79 6f 70 61 71 75 65 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 3c 2f 63 type">anyopaque</span></span></c
954e0 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
95500 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>...
95520 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
95540 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f pan.class="line"><span.class="to
95560 6b 2d 74 79 70 65 22 3e 76 6f 69 64 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 k-type">void</span></span></code
95580 3e 20 61 72 65 20 74 68 65 20 6f 6e 6c 79 20 6f 6e 65 73 20 77 68 6f 73 65 20 76 61 6c 75 65 20 >.are.the.only.ones.whose.value.
955a0 63 61 6e 20 62 65 20 69 67 6e 6f 72 65 64 2e 20 46 6f 72 20 65 78 61 6d 70 6c 65 3a 0a 20 20 20 can.be.ignored..For.example:....
955c0 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
955e0 6e 20 63 6c 61 73 73 3d 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
95600 69 6c 65 22 3e 74 65 73 74 2e 7a 69 67 3c 2f 63 69 74 65 3e 3c 2f 66 69 67 63 61 70 74 69 6f 6e ile">test.zig</cite></figcaption
95620 3e 3c 70 72 65 3e 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c ><pre><code><span.class="line"><
95640 73 70 61 6e 20 63 6c 61 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>.
95660 3c 73 70 61 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 67 6e 6f <span.class="tok-str">&quot;igno
95680 72 69 6e 67 20 65 78 70 72 65 73 73 69 6f 6e 20 76 61 6c 75 65 26 71 75 6f 74 3b 3c 2f 73 70 61 ring.expression.value&quot;</spa
956a0 6e 3e 20 7b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 n>.{</span>.<span.class="line">.
956c0 20 20 20 66 6f 6f 28 29 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 ...foo();</span>.<span.class="li
956e0 6e 65 22 3e 7d 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e ne">}</span>.<span.class="line">
95700 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e </span>.<span.class="line"><span
95720 20 63 6c 61 73 73 3d 22 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.
95740 63 6c 61 73 73 3d 22 74 6f 6b 2d 66 6e 22 3e 66 6f 6f 3c 2f 73 70 61 6e 3e 28 29 20 3c 73 70 61 class="tok-fn">foo</span>().<spa
95760 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 69 33 32 3c 2f 73 70 61 6e 3e 20 7b 3c n.class="tok-type">i32</span>.{<
95780 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 3c 73 /span>.<span.class="line">....<s
957a0 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>
957c0 20 3c 73 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</
957e0 73 70 61 6e 3e 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 span>;</span>.<span.class="line"
95800 3e 7d 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 3c 2f 70 72 65 3e 3c 2f 66 69 67 75 72 65 3e 3c >}</span></code></pre></figure><
95820 66 69 67 75 72 65 3e 3c 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-
95840 63 61 70 22 3e 53 68 65 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
95860 70 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 24 20 3c 6b 62 64 3e 7a 69 67 20 p><span.class="line">$.<kbd>zig.
95880 74 65 73 74 20 74 65 73 74 2e 7a 69 67 3c 2f 6b 62 64 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e test.test.zig</kbd></span>.<span
958a0 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 31 5f 30 22 .class="line"><span.class="t1_0"
958c0 3e 64 6f 63 67 65 6e 5f 74 6d 70 2f 74 65 73 74 2e 7a 69 67 3a 32 3a 38 3a 20 3c 2f 73 70 61 6e >docgen_tmp/test.zig:2:8:.</span
958e0 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 33 31 5f 31 22 3e 65 72 72 6f 72 3a 20 3c 2f 73 70 ><span.class="t31_1">error:.</sp
95900 61 6e 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 31 5f 30 22 3e 76 61 6c 75 65 20 6f 66 20 74 an><span.class="t1_0">value.of.t
95920 79 70 65 20 27 69 33 32 27 20 69 67 6e 6f 72 65 64 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 ype.'i32'.ignored</span>.<span.c
95940 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 2f 73 70 61 6e 3e 20 20 20 20 66 6f 6f 28 29 3b 3c 2f 73 lass="line"></span>....foo();</s
95960 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 3c 73 70 61 pan>.<span.class="line">....<spa
95980 6e 20 63 6c 61 73 73 3d 22 74 33 32 5f 31 22 3e 7e 7e 7e 5e 7e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 n.class="t32_1">~~~^~</span>.<sp
959a0 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 2f 73 70 61 6e 3e 3c 73 70 61 6e 20 63 6c 61 an.class="line"></span><span.cla
959c0 73 73 3d 22 74 31 5f 30 22 3e 64 6f 63 67 65 6e 5f 74 6d 70 2f 74 65 73 74 2e 7a 69 67 3a 32 3a ss="t1_0">docgen_tmp/test.zig:2:
959e0 38 3a 20 3c 2f 73 70 61 6e 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 33 36 5f 31 22 3e 6e 6f 8:.</span><span.class="t36_1">no
95a00 74 65 3a 20 3c 2f 73 70 61 6e 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 31 5f 30 22 3e 61 6c te:.</span><span.class="t1_0">al
95a20 6c 20 6e 6f 6e 2d 76 6f 69 64 20 76 61 6c 75 65 73 20 6d 75 73 74 20 62 65 20 75 73 65 64 3c 2f l.non-void.values.must.be.used</
95a40 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 2f 73 70 61 6e 3e span>.<span.class="line"></span>
95a60 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 31 5f 30 22 3e 64 6f 63 67 65 6e 5f 74 6d 70 2f 74 65 <span.class="t1_0">docgen_tmp/te
95a80 73 74 2e 7a 69 67 3a 32 3a 38 3a 20 3c 2f 73 70 61 6e 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 st.zig:2:8:.</span><span.class="
95aa0 74 33 36 5f 31 22 3e 6e 6f 74 65 3a 20 3c 2f 73 70 61 6e 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d t36_1">note:.</span><span.class=
95ac0 22 74 31 5f 30 22 3e 74 68 69 73 20 65 72 72 6f 72 20 63 61 6e 20 62 65 20 73 75 70 70 72 65 73 "t1_0">this.error.can.be.suppres
95ae0 73 65 64 20 62 79 20 61 73 73 69 67 6e 69 6e 67 20 74 68 65 20 76 61 6c 75 65 20 74 6f 20 27 5f sed.by.assigning.the.value.to.'_
95b00 27 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 2f 73 70 '</span>.<span.class="line"></sp
95b20 61 6e 3e 3c 2f 73 70 61 6e 3e 0a 3c 2f 73 61 6d 70 3e 3c 2f 70 72 65 3e 3c 2f 66 69 67 75 72 65 an></span>.</samp></pre></figure
95b40 3e 0a 20 20 20 20 20 20 3c 70 3e 48 6f 77 65 76 65 72 2c 20 69 66 20 74 68 65 20 65 78 70 72 65 >.......<p>However,.if.the.expre
95b60 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 73 ssion.has.type.<code><span.class
95b80 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 76 ="line"><span.class="tok-type">v
95ba0 6f 69 64 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 2c 20 74 68 65 72 65 20 oid</span></span></code>,.there.
95bc0 77 69 6c 6c 20 62 65 20 6e 6f 20 65 72 72 6f 72 2e 20 46 75 6e 63 74 69 6f 6e 20 72 65 74 75 72 will.be.no.error..Function.retur
95be0 6e 20 76 61 6c 75 65 73 20 63 61 6e 20 61 6c 73 6f 20 62 65 20 65 78 70 6c 69 63 69 74 6c 79 20 n.values.can.also.be.explicitly.
95c00 69 67 6e 6f 72 65 64 20 62 79 20 61 73 73 69 67 6e 69 6e 67 20 74 68 65 6d 20 74 6f 20 3c 63 6f ignored.by.assigning.them.to.<co
95c20 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 5f 3c 2f 73 70 61 6e 3e 3c 2f de><span.class="line">_</span></
95c40 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 69 67 63 61 code>..</p>.......<figure><figca
95c60 70 74 69 6f 6e 20 63 6c 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
95c80 73 3d 22 66 69 6c 65 22 3e 76 6f 69 64 5f 69 67 6e 6f 72 65 64 2e 7a 69 67 3c 2f 63 69 74 65 3e s="file">void_ignored.zig</cite>
95ca0 3c 2f 66 69 67 63 61 70 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
95cc0 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e ass="line"><span.class="tok-kw">
95ce0 74 65 73 74 3c 2f 73 70 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
95d00 22 3e 26 71 75 6f 74 3b 76 6f 69 64 20 69 73 20 69 67 6e 6f 72 65 64 26 71 75 6f 74 3b 3c 2f 73 ">&quot;void.is.ignored&quot;</s
95d20 70 61 6e 3e 20 7b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 pan>.{</span>.<span.class="line"
95d40 3e 20 20 20 20 72 65 74 75 72 6e 73 56 6f 69 64 28 29 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e >....returnsVoid();</span>.<span
95d60 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 7d 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 .class="line">}</span>.<span.cla
95d80 73 73 3d 22 6c 69 6e 65 22 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c ss="line"></span>.<span.class="l
95da0 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 74 65 73 74 3c 2f ine"><span.class="tok-kw">test</
95dc0 73 70 61 6e 3e 20 3c 73 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
95de0 74 3b 65 78 70 6c 69 63 69 74 6c 79 20 69 67 6e 6f 72 69 6e 67 20 65 78 70 72 65 73 73 69 6f 6e t;explicitly.ignoring.expression
95e00 20 76 61 6c 75 65 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 20 7b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 .value&quot;</span>.{</span>.<sp
95e20 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 5f 20 3d 20 66 6f 6f 28 29 3b 3c 2f an.class="line">...._.=.foo();</
95e40 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 7d 3c 2f 73 70 61 6e span>.<span.class="line">}</span
95e60 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 >.<span.class="line"></span>.<sp
95e80 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b an.class="line"><span.class="tok
95ea0 2d 6b 77 22 3e 66 6e 3c 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-
95ec0 66 6e 22 3e 72 65 74 75 72 6e 73 56 6f 69 64 3c 2f 73 70 61 6e 3e 28 29 20 3c 73 70 61 6e 20 63 fn">returnsVoid</span>().<span.c
95ee0 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 76 6f 69 64 3c 2f 73 70 61 6e 3e 20 7b 7d 3c 2f lass="tok-type">void</span>.{}</
95f00 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 2f 73 70 61 6e 3e span>.<span.class="line"></span>
95f20 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d .<span.class="line"><span.class=
95f40 22 74 6f 6b 2d 6b 77 22 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="
95f60 74 6f 6b 2d 66 6e 22 3e 66 6f 6f 3c 2f 73 70 61 6e 3e 28 29 20 3c 73 70 61 6e 20 63 6c 61 73 73 tok-fn">foo</span>().<span.class
95f80 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 69 33 32 3c 2f 73 70 61 6e 3e 20 7b 3c 2f 73 70 61 6e 3e 0a ="tok-type">i32</span>.{</span>.
95fa0 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 <span.class="line">....<span.cla
95fc0 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.
95fe0 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 31 32 33 34 3c 2f 73 70 61 6e 3e 3b 3c class="tok-number">1234</span>;<
96000 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 7d 3c 2f 73 70 61 /span>.<span.class="line">}</spa
96020 6e 3e 3c 2f 63 6f 64 65 3e 3c 2f 70 72 65 3e 3c 2f 66 69 67 75 72 65 3e 3c 66 69 67 75 72 65 3e n></code></pre></figure><figure>
96040 3c 66 69 67 63 61 70 74 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
96060 65 6c 6c 3c 2f 66 69 67 63 61 70 74 69 6f 6e 3e 3c 70 72 65 3e 3c 73 61 6d 70 3e 3c 73 70 61 6e ell</figcaption><pre><samp><span
96080 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 24 20 3c 6b 62 64 3e 7a 69 67 20 74 65 73 74 20 76 6f .class="line">$.<kbd>zig.test.vo
960a0 69 64 5f 69 67 6e 6f 72 65 64 2e 7a 69 67 3c 2f 6b 62 64 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 id_ignored.zig</kbd></span>.<spa
960c0 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 31 2f 32 20 74 65 73 74 2e 76 6f 69 64 20 69 73 20 n.class="line">1/2.test.void.is.
960e0 69 67 6e 6f 72 65 64 2e 2e 2e 20 4f 4b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 ignored....OK</span>.<span.class
96100 3d 22 6c 69 6e 65 22 3e 32 2f 32 20 74 65 73 74 2e 65 78 70 6c 69 63 69 74 6c 79 20 69 67 6e 6f ="line">2/2.test.explicitly.igno
96120 72 69 6e 67 20 65 78 70 72 65 73 73 69 6f 6e 20 76 61 6c 75 65 2e 2e 2e 20 4f 4b 3c 2f 73 70 61 ring.expression.value....OK</spa
96140 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 41 6c 6c 20 32 20 74 65 73 74 n>.<span.class="line">All.2.test
96160 73 20 70 61 73 73 65 64 2e 3c 2f 73 70 61 6e 3e 0a 3c 2f 73 61 6d 70 3e 3c 2f 70 72 65 3e 3c 2f s.passed.</span>.</samp></pre></
96180 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 32 figure>......................<h2
961a0 20 69 64 3d 22 52 65 73 75 6c 74 2d 4c 6f 63 61 74 69 6f 6e 2d 53 65 6d 61 6e 74 69 63 73 22 3e .id="Result-Location-Semantics">
961c0 3c 61 20 68 72 65 66 3d 22 23 74 6f 63 2d 52 65 73 75 6c 74 2d 4c 6f 63 61 74 69 6f 6e 2d 53 65 <a.href="#toc-Result-Location-Se
961e0 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
96200 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
96220 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></
96240 68 32 3e 0a 0a 20 20 20 20 20 20 3c 70 3e 0a 20 20 20 20 20 20 3c 61 20 68 72 65 66 3d 22 68 74 h2>........<p>.......<a.href="ht
96260 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
96280 75 65 73 2f 32 38 30 39 22 3e 54 4f 44 4f 20 61 64 64 20 64 6f 63 75 6d 65 6e 74 61 74 69 6f 6e ues/2809">TODO.add.documentation
962a0 20 66 6f 72 20 74 68 69 73 3c 2f 61 3e 0a 20 20 20 20 20 20 3c 2f 70 3e 0a 20 20 20 20 20 20 0a .for.this</a>.......</p>........
962c0 0a 20 20 20 20 20 20 3c 68 32 20 69 64 3d 22 75 73 69 6e 67 6e 61 6d 65 73 70 61 63 65 22 3e 3c .......<h2.id="usingnamespace"><
962e0 61 20 68 72 65 66 3d 22 23 74 6f 63 2d 75 73 69 6e 67 6e 61 6d 65 73 70 61 63 65 22 3e 75 73 69 a.href="#toc-usingnamespace">usi
96300 6e 67 6e 61 6d 65 73 70 61 63 65 3c 2f 61 3e 20 3c 61 20 63 6c 61 73 73 3d 22 68 64 72 22 20 68 ngnamespace</a>.<a.class="hdr".h
96320 72 65 66 3d 22 23 75 73 69 6e 67 6e 61 6d 65 73 70 61 63 65 22 3e c2 a7 3c 2f 61 3e 3c 2f 68 32 ref="#usingnamespace">..</a></h2
96340 3e 0a 0a 20 20 20 20 20 20 3c 70 3e 0a 20 20 20 20 20 20 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 >........<p>.......<code><span.c
96360 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 lass="line"><span.class="tok-kw"
96380 3e 75 73 69 6e 67 6e 61 6d 65 73 70 61 63 65 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 3c 2f 63 >usingnamespace</span></span></c
963a0 6f 64 65 3e 20 69 73 20 61 20 64 65 63 6c 61 72 61 74 69 6f 6e 20 74 68 61 74 20 6d 69 78 65 73 ode>.is.a.declaration.that.mixes
963c0 20 61 6c 6c 20 74 68 65 20 70 75 62 6c 69 63 0a 20 20 20 20 20 20 64 65 63 6c 61 72 61 74 69 6f .all.the.public.......declaratio
963e0 6e 73 20 6f 66 20 74 68 65 20 6f 70 65 72 61 6e 64 2c 20 77 68 69 63 68 20 6d 75 73 74 20 62 65 ns.of.the.operand,.which.must.be
96400 20 61 20 3c 61 20 68 72 65 66 3d 22 23 73 74 72 75 63 74 22 3e 73 74 72 75 63 74 3c 2f 61 3e 2c .a.<a.href="#struct">struct</a>,
96420 20 3c 61 20 68 72 65 66 3d 22 23 75 6e 69 6f 6e 22 3e 75 6e 69 6f 6e 3c 2f 61 3e 2c 20 3c 61 20 .<a.href="#union">union</a>,.<a.
96440 68 72 65 66 3d 22 23 65 6e 75 6d 22 3e 65 6e 75 6d 3c 2f 61 3e 2c 0a 20 20 20 20 20 20 6f 72 20 href="#enum">enum</a>,.......or.
96460 3c 61 20 68 72 65 66 3d 22 23 6f 70 61 71 75 65 22 3e 6f 70 61 71 75 65 3c 2f 61 3e 2c 20 69 6e <a.href="#opaque">opaque</a>,.in
96480 74 6f 20 74 68 65 20 6e 61 6d 65 73 70 61 63 65 3a 0a 20 20 20 20 20 20 3c 2f 70 3e 0a 20 20 20 to.the.namespace:.......</p>....
964a0 20 20 20 3c 66 69 67 75 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
964c0 67 2d 63 61 70 22 3e 3c 63 69 74 65 20 63 6c 61 73 73 3d 22 66 69 6c 65 22 3e 75 73 69 6e 67 6e g-cap"><cite.class="file">usingn
964e0 61 6d 65 73 70 61 63 65 2e 7a 69 67 3c 2f 63 69 74 65 3e 3c 2f 66 69 67 63 61 70 74 69 6f 6e 3e amespace.zig</cite></figcaption>
96500 3c 70 72 65 3e 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 <pre><code><span.class="line"><s
96520 70 61 6e 20 63 6c 61 73 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>.<
96540 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 73 74 72 22 3e 26 71 75 6f 74 3b 75 73 69 6e 67 span.class="tok-str">&quot;using
96560 20 73 74 64 20 6e 61 6d 65 73 70 61 63 65 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 20 7b 3c 2f 73 .std.namespace&quot;</span>.{</s
96580 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 3c 73 70 61 pan>.<span.class="line">....<spa
965a0 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 63 6f 6e 73 74 3c 2f 73 70 61 6e 3e 20 53 20 n.class="tok-kw">const</span>.S.
965c0 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
965e0 70 61 6e 3e 20 7b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 pan>.{</span>.<span.class="line"
96600 3e 20 20 20 20 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 75 73 >........<span.class="tok-kw">us
96620 69 6e 67 6e 61 6d 65 73 70 61 63 65 3c 2f 73 70 61 6e 3e 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d ingnamespace</span>.<span.class=
96640 22 74 6f 6b 2d 62 75 69 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
96660 61 6e 20 63 6c 61 73 73 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
96680 74 3b 3c 2f 73 70 61 6e 3e 29 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 t;</span>);</span>.<span.class="
966a0 6c 69 6e 65 22 3e 20 20 20 20 7d 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d line">....};</span>.<span.class=
966c0 22 6c 69 6e 65 22 3e 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e "line">....<span.class="tok-kw">
966e0 74 72 79 3c 2f 73 70 61 6e 3e 20 53 2e 74 65 73 74 69 6e 67 2e 65 78 70 65 63 74 28 3c 73 70 61 try</span>.S.testing.expect(<spa
96700 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 3b n.class="tok-null">true</span>);
96720 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 7d 3c 2f 73 70 </span>.<span.class="line">}</sp
96740 61 6e 3e 3c 2f 63 6f 64 65 3e 3c 2f 70 72 65 3e 3c 2f 66 69 67 75 72 65 3e 3c 66 69 67 75 72 65 an></code></pre></figure><figure
96760 3e 3c 66 69 67 63 61 70 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
96780 68 65 6c 6c 3c 2f 66 69 67 63 61 70 74 69 6f 6e 3e 3c 70 72 65 3e 3c 73 61 6d 70 3e 3c 73 70 61 hell</figcaption><pre><samp><spa
967a0 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 24 20 3c 6b 62 64 3e 7a 69 67 20 74 65 73 74 20 75 n.class="line">$.<kbd>zig.test.u
967c0 73 69 6e 67 6e 61 6d 65 73 70 61 63 65 2e 7a 69 67 3c 2f 6b 62 64 3e 3c 2f 73 70 61 6e 3e 0a 3c singnamespace.zig</kbd></span>.<
967e0 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 31 2f 31 20 74 65 73 74 2e 75 73 69 6e 67 span.class="line">1/1.test.using
96800 20 73 74 64 20 6e 61 6d 65 73 70 61 63 65 2e 2e 2e 20 4f 4b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 .std.namespace....OK</span>.<spa
96820 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 41 6c 6c 20 31 20 74 65 73 74 73 20 70 61 73 73 65 n.class="line">All.1.tests.passe
96840 64 2e 3c 2f 73 70 61 6e 3e 0a 3c 2f 73 61 6d 70 3e 3c 2f 70 72 65 3e 3c 2f 66 69 67 75 72 65 3e d.</span>.</samp></pre></figure>
96860 0a 20 20 20 20 20 20 3c 70 3e 0a 20 20 20 20 20 20 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 .......<p>.......<code><span.cla
96880 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 75 ss="line"><span.class="tok-kw">u
968a0 73 69 6e 67 6e 61 6d 65 73 70 61 63 65 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 singnamespace</span></span></cod
968c0 65 3e 20 68 61 73 20 61 6e 20 69 6d 70 6f 72 74 61 6e 74 20 75 73 65 20 63 61 73 65 20 77 68 65 e>.has.an.important.use.case.whe
968e0 6e 20 6f 72 67 61 6e 69 7a 69 6e 67 20 74 68 65 20 70 75 62 6c 69 63 0a 20 20 20 20 20 20 41 50 n.organizing.the.public.......AP
96900 49 20 6f 66 20 61 20 66 69 6c 65 20 6f 72 20 70 61 63 6b 61 67 65 2e 20 46 6f 72 20 65 78 61 6d I.of.a.file.or.package..For.exam
96920 70 6c 65 2c 20 6f 6e 65 20 6d 69 67 68 74 20 68 61 76 65 20 3c 63 6f 64 65 20 63 6c 61 73 73 3d ple,.one.might.have.<code.class=
96940 22 66 69 6c 65 22 3e 63 2e 7a 69 67 3c 2f 63 6f 64 65 3e 20 77 69 74 68 20 61 6c 6c 20 6f 66 20 "file">c.zig</code>.with.all.of.
96960 74 68 65 0a 20 20 20 20 20 20 3c 61 20 68 72 65 66 3d 22 23 49 6d 70 6f 72 74 2d 66 72 6f 6d 2d the.......<a.href="#Import-from-
96980 43 2d 48 65 61 64 65 72 2d 46 69 6c 65 22 3e 43 20 69 6d 70 6f 72 74 73 3c 2f 61 3e 3a 0a 20 20 C-Header-File">C.imports</a>:...
969a0 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
969c0 6f 6e 20 63 6c 61 73 73 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="
969e0 66 69 6c 65 22 3e 63 2e 7a 69 67 3c 2f 63 69 74 65 3e 3c 2f 66 69 67 63 61 70 74 69 6f 6e 3e 3c file">c.zig</cite></figcaption><
96a00 70 72 65 3e 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 pre><code><span.class="line"><sp
96a20 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
96a40 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 75 73 69 6e 67 6e 61 6d 65 73 70 61 63 65 an.class="tok-kw">usingnamespace
96a60 3c 2f 73 70 61 6e 3e 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 62 75 69 6c 74 69 6e </span>.<span.class="tok-builtin
96a80 22 3e 40 63 49 6d 70 6f 72 74 3c 2f 73 70 61 6e 3e 28 7b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e ">@cImport</span>({</span>.<span
96aa0 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 .class="line">....<span.class="t
96ac0 6f 6b 2d 62 75 69 6c 74 69 6e 22 3e 40 63 49 6e 63 6c 75 64 65 3c 2f 73 70 61 6e 3e 28 3c 73 70 ok-builtin">@cInclude</span>(<sp
96ae0 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 73 74 72 22 3e 26 71 75 6f 74 3b 65 70 6f 78 79 2f 67 an.class="tok-str">&quot;epoxy/g
96b00 6c 2e 68 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 29 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 l.h&quot;</span>);</span>.<span.
96b20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f class="line">....<span.class="to
96b40 6b 2d 62 75 69 6c 74 69 6e 22 3e 40 63 49 6e 63 6c 75 64 65 3c 2f 73 70 61 6e 3e 28 3c 73 70 61 k-builtin">@cInclude</span>(<spa
96b60 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 73 74 72 22 3e 26 71 75 6f 74 3b 47 4c 46 57 2f 67 6c 66 n.class="tok-str">&quot;GLFW/glf
96b80 77 33 2e 68 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 29 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e w3.h&quot;</span>);</span>.<span
96ba0 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 .class="line">....<span.class="t
96bc0 6f 6b 2d 62 75 69 6c 74 69 6e 22 3e 40 63 44 65 66 69 6e 65 3c 2f 73 70 61 6e 3e 28 3c 73 70 61 ok-builtin">@cDefine</span>(<spa
96be0 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 73 74 72 22 3e 26 71 75 6f 74 3b 53 54 42 49 5f 4f 4e 4c n.class="tok-str">&quot;STBI_ONL
96c00 59 5f 50 4e 47 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 2c 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d Y_PNG&quot;</span>,.<span.class=
96c20 22 74 6f 6b 2d 73 74 72 22 3e 26 71 75 6f 74 3b 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 29 3b 3c "tok-str">&quot;&quot;</span>);<
96c40 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 3c 73 /span>.<span.class="line">....<s
96c60 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 62 75 69 6c 74 69 6e 22 3e 40 63 44 65 66 69 6e 65 pan.class="tok-builtin">@cDefine
96c80 3c 2f 73 70 61 6e 3e 28 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
96ca0 75 6f 74 3b 53 54 42 49 5f 4e 4f 5f 53 54 44 49 4f 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 2c 20 uot;STBI_NO_STDIO&quot;</span>,.
96cc0 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 73 74 72 22 3e 26 71 75 6f 74 3b 26 71 75 6f <span.class="tok-str">&quot;&quo
96ce0 74 3b 3c 2f 73 70 61 6e 3e 29 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 t;</span>);</span>.<span.class="
96d00 6c 69 6e 65 22 3e 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 62 75 69 6c 74 line">....<span.class="tok-built
96d20 69 6e 22 3e 40 63 49 6e 63 6c 75 64 65 3c 2f 73 70 61 6e 3e 28 3c 73 70 61 6e 20 63 6c 61 73 73 in">@cInclude</span>(<span.class
96d40 3d 22 74 6f 6b 2d 73 74 72 22 3e 26 71 75 6f 74 3b 73 74 62 5f 69 6d 61 67 65 2e 68 26 71 75 6f ="tok-str">&quot;stb_image.h&quo
96d60 74 3b 3c 2f 73 70 61 6e 3e 29 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 t;</span>);</span>.<span.class="
96d80 6c 69 6e 65 22 3e 7d 29 3b 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 3c 2f 70 72 65 3e 3c 2f 66 line">});</span></code></pre></f
96da0 69 67 75 72 65 3e 0a 20 20 20 20 20 20 3c 70 3e 0a 20 20 20 20 20 20 54 68 65 20 61 62 6f 76 65 igure>.......<p>.......The.above
96dc0 20 65 78 61 6d 70 6c 65 20 64 65 6d 6f 6e 73 74 72 61 74 65 73 20 75 73 69 6e 67 20 3c 63 6f 64 .example.demonstrates.using.<cod
96de0 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 e><span.class="line"><span.class
96e00 3d 22 74 6f 6b 2d 6b 77 22 3e 70 75 62 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 ="tok-kw">pub</span></span></cod
96e20 65 3e 20 74 6f 20 71 75 61 6c 69 66 79 20 74 68 65 0a 20 20 20 20 20 20 3c 63 6f 64 65 3e 3c 73 e>.to.qualify.the.......<code><s
96e40 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f pan.class="line"><span.class="to
96e60 6b 2d 6b 77 22 3e 75 73 69 6e 67 6e 61 6d 65 73 70 61 63 65 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 k-kw">usingnamespace</span></spa
96e80 6e 3e 3c 2f 63 6f 64 65 3e 20 61 64 64 69 74 69 6f 6e 61 6c 6c 79 20 6d 61 6b 65 73 20 74 68 65 n></code>.additionally.makes.the
96ea0 20 69 6d 70 6f 72 74 65 64 20 64 65 63 6c 61 72 61 74 69 6f 6e 73 0a 20 20 20 20 20 20 3c 63 6f .imported.declarations.......<co
96ec0 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 de><span.class="line"><span.clas
96ee0 73 3d 22 74 6f 6b 2d 6b 77 22 3e 70 75 62 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 3c 2f 63 6f s="tok-kw">pub</span></span></co
96f00 64 65 3e 2e 20 54 68 69 73 20 63 61 6e 20 62 65 20 75 73 65 64 20 74 6f 20 66 6f 72 77 61 72 64 de>..This.can.be.used.to.forward
96f20 20 64 65 63 6c 61 72 61 74 69 6f 6e 73 2c 20 67 69 76 69 6e 67 20 70 72 65 63 69 73 65 20 63 6f .declarations,.giving.precise.co
96f40 6e 74 72 6f 6c 0a 20 20 20 20 20 20 6f 76 65 72 20 77 68 61 74 20 64 65 63 6c 61 72 61 74 69 6f ntrol.......over.what.declaratio
96f60 6e 73 20 61 20 67 69 76 65 6e 20 66 69 6c 65 20 65 78 70 6f 73 65 73 2e 0a 20 20 20 20 20 20 3c ns.a.given.file.exposes........<
96f80 2f 70 3e 0a 20 20 20 20 20 20 0a 0a 0a 20 20 20 20 20 20 3c 68 32 20 69 64 3d 22 63 6f 6d 70 74 /p>................<h2.id="compt
96fa0 69 6d 65 22 3e 3c 61 20 68 72 65 66 3d 22 23 74 6f 63 2d 63 6f 6d 70 74 69 6d 65 22 3e 63 6f 6d ime"><a.href="#toc-comptime">com
96fc0 70 74 69 6d 65 3c 2f 61 3e 20 3c 61 20 63 6c 61 73 73 3d 22 68 64 72 22 20 68 72 65 66 3d 22 23 ptime</a>.<a.class="hdr".href="#
96fe0 63 6f 6d 70 74 69 6d 65 22 3e c2 a7 3c 2f 61 3e 3c 2f 68 32 3e 0a 0a 20 20 20 20 20 20 3c 70 3e comptime">..</a></h2>........<p>
97000 0a 20 20 20 20 20 20 5a 69 67 20 70 6c 61 63 65 73 20 69 6d 70 6f 72 74 61 6e 63 65 20 6f 6e 20 .......Zig.places.importance.on.
97020 74 68 65 20 63 6f 6e 63 65 70 74 20 6f 66 20 77 68 65 74 68 65 72 20 61 6e 20 65 78 70 72 65 73 the.concept.of.whether.an.expres
97040 73 69 6f 6e 20 69 73 20 6b 6e 6f 77 6e 20 61 74 20 63 6f 6d 70 69 6c 65 2d 74 69 6d 65 2e 0a 20 sion.is.known.at.compile-time...
97060 20 20 20 20 20 54 68 65 72 65 20 61 72 65 20 61 20 66 65 77 20 64 69 66 66 65 72 65 6e 74 20 70 .....There.are.a.few.different.p
97080 6c 61 63 65 73 20 74 68 69 73 20 63 6f 6e 63 65 70 74 20 69 73 20 75 73 65 64 2c 20 61 6e 64 20 laces.this.concept.is.used,.and.
970a0 74 68 65 73 65 20 62 75 69 6c 64 69 6e 67 20 62 6c 6f 63 6b 73 20 61 72 65 20 75 73 65 64 0a 20 these.building.blocks.are.used..
970c0 20 20 20 20 20 74 6f 20 6b 65 65 70 20 74 68 65 20 6c 61 6e 67 75 61 67 65 20 73 6d 61 6c 6c 2c .....to.keep.the.language.small,
970e0 20 72 65 61 64 61 62 6c 65 2c 20 61 6e 64 20 70 6f 77 65 72 66 75 6c 2e 0a 20 20 20 20 20 20 3c .readable,.and.powerful........<
97100 2f 70 3e 0a 20 20 20 20 20 20 3c 68 33 20 69 64 3d 22 49 6e 74 72 6f 64 75 63 69 6e 67 2d 74 68 /p>.......<h3.id="Introducing-th
97120 65 2d 43 6f 6d 70 69 6c 65 2d 54 69 6d 65 2d 43 6f 6e 63 65 70 74 22 3e 3c 61 20 68 72 65 66 3d e-Compile-Time-Concept"><a.href=
97140 22 23 74 6f 63 2d 49 6e 74 72 6f 64 75 63 69 6e 67 2d 74 68 65 2d 43 6f 6d 70 69 6c 65 2d 54 69 "#toc-Introducing-the-Compile-Ti
97160 6d 65 2d 43 6f 6e 63 65 70 74 22 3e 49 6e 74 72 6f 64 75 63 69 6e 67 20 74 68 65 20 43 6f 6d 70 me-Concept">Introducing.the.Comp
97180 69 6c 65 2d 54 69 6d 65 20 43 6f 6e 63 65 70 74 3c 2f 61 3e 20 3c 61 20 63 6c 61 73 73 3d 22 68 ile-Time.Concept</a>.<a.class="h
971a0 64 72 22 20 68 72 65 66 3d 22 23 49 6e 74 72 6f 64 75 63 69 6e 67 2d 74 68 65 2d 43 6f 6d 70 69 dr".href="#Introducing-the-Compi
971c0 6c 65 2d 54 69 6d 65 2d 43 6f 6e 63 65 70 74 22 3e c2 a7 3c 2f 61 3e 3c 2f 68 33 3e 0a 0a 20 20 le-Time-Concept">..</a></h3>....
971e0 20 20 20 20 3c 68 34 20 69 64 3d 22 43 6f 6d 70 69 6c 65 2d 54 69 6d 65 2d 50 61 72 61 6d 65 74 ....<h4.id="Compile-Time-Paramet
97200 65 72 73 22 3e 3c 61 20 68 72 65 66 3d 22 23 74 6f 63 2d 43 6f 6d 70 69 6c 65 2d 54 69 6d 65 2d ers"><a.href="#toc-Compile-Time-
97220 50 61 72 61 6d 65 74 65 72 73 22 3e 43 6f 6d 70 69 6c 65 2d 54 69 6d 65 20 50 61 72 61 6d 65 74 Parameters">Compile-Time.Paramet
97240 65 72 73 3c 2f 61 3e 20 3c 61 20 63 6c 61 73 73 3d 22 68 64 72 22 20 68 72 65 66 3d 22 23 43 6f ers</a>.<a.class="hdr".href="#Co
97260 6d 70 69 6c 65 2d 54 69 6d 65 2d 50 61 72 61 6d 65 74 65 72 73 22 3e c2 a7 3c 2f 61 3e 3c 2f 68 mpile-Time-Parameters">..</a></h
97280 34 3e 0a 0a 20 20 20 20 20 20 3c 70 3e 0a 20 20 20 20 20 20 43 6f 6d 70 69 6c 65 2d 74 69 6d 65 4>........<p>.......Compile-time
972a0 20 70 61 72 61 6d 65 74 65 72 73 20 69 73 20 68 6f 77 20 5a 69 67 20 69 6d 70 6c 65 6d 65 6e 74 .parameters.is.how.Zig.implement
972c0 73 20 67 65 6e 65 72 69 63 73 2e 20 49 74 20 69 73 20 63 6f 6d 70 69 6c 65 2d 74 69 6d 65 20 64 s.generics..It.is.compile-time.d
972e0 75 63 6b 20 74 79 70 69 6e 67 2e 0a 20 20 20 20 20 20 3c 2f 70 3e 0a 20 20 20 20 20 20 3c 66 69 uck.typing........</p>.......<fi
97300 67 75 72 65 3e 3c 66 69 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"
97320 3e 3c 63 69 74 65 20 63 6c 61 73 73 3d 22 66 69 6c 65 22 3e 74 65 73 74 2e 7a 69 67 3c 2f 63 69 ><cite.class="file">test.zig</ci
97340 74 65 3e 3c 2f 66 69 67 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
97360 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b .class="line"><span.class="tok-k
97380 77 22 3e 66 6e 3c 2f 73 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
973a0 22 3e 6d 61 78 3c 2f 73 70 61 6e 3e 28 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 ">max</span>(<span.class="tok-kw
973c0 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
973e0 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 74 79 70 65 3c 2f 73 70 61 6e 3e 2c 20 61 3a 20 54 2c 20 62 ="tok-type">type</span>,.a:.T,.b
97400 3a 20 54 29 20 54 20 7b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e :.T).T.{</span>.<span.class="lin
97420 65 22 3e 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 72 65 74 75 e">....<span.class="tok-kw">retu
97440 72 6e 3c 2f 73 70 61 6e 3e 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 69 rn</span>.<span.class="tok-kw">i
97460 66 3c 2f 73 70 61 6e 3e 20 28 61 20 26 67 74 3b 20 62 29 20 61 20 3c 73 70 61 6e 20 63 6c 61 73 f</span>.(a.&gt;.b).a.<span.clas
97480 73 3d 22 74 6f 6b 2d 6b 77 22 3e 65 6c 73 65 3c 2f 73 70 61 6e 3e 20 62 3b 3c 2f 73 70 61 6e 3e s="tok-kw">else</span>.b;</span>
974a0 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 7d 3c 2f 73 70 61 6e 3e 0a 3c 73 70 .<span.class="line">}</span>.<sp
974c0 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b an.class="line"><span.class="tok
974e0 2d 6b 77 22 3e 66 6e 3c 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-
97500 66 6e 22 3e 67 69 6d 6d 65 54 68 65 42 69 67 67 65 72 46 6c 6f 61 74 3c 2f 73 70 61 6e 3e 28 61 fn">gimmeTheBiggerFloat</span>(a
97520 3a 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
97540 61 6e 3e 2c 20 62 3a 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 66 an>,.b:.<span.class="tok-type">f
97560 33 32 3c 2f 73 70 61 6e 3e 29 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 32</span>).<span.class="tok-type
97580 22 3e 66 33 32 3c 2f 73 70 61 6e 3e 20 7b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 ">f32</span>.{</span>.<span.clas
975a0 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 s="line">....<span.class="tok-kw
975c0 22 3e 72 65 74 75 72 6e 3c 2f 73 70 61 6e 3e 20 6d 61 78 28 3c 73 70 61 6e 20 63 6c 61 73 73 3d ">return</span>.max(<span.class=
975e0 22 74 6f 6b 2d 74 79 70 65 22 3e 66 33 32 3c 2f 73 70 61 6e 3e 2c 20 61 2c 20 62 29 3b 3c 2f 73 "tok-type">f32</span>,.a,.b);</s
97600 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 7d 3c 2f 73 70 61 6e 3e pan>.<span.class="line">}</span>
97620 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d .<span.class="line"><span.class=
97640 22 74 6f 6b 2d 6b 77 22 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="
97660 74 6f 6b 2d 66 6e 22 3e 67 69 6d 6d 65 54 68 65 42 69 67 67 65 72 49 6e 74 65 67 65 72 3c 2f 73 tok-fn">gimmeTheBiggerInteger</s
97680 70 61 6e 3e 28 61 3a 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 75 pan>(a:.<span.class="tok-type">u
976a0 36 34 3c 2f 73 70 61 6e 3e 2c 20 62 3a 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 64</span>,.b:.<span.class="tok-t
976c0 79 70 65 22 3e 75 36 34 3c 2f 73 70 61 6e 3e 29 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f ype">u64</span>).<span.class="to
976e0 6b 2d 74 79 70 65 22 3e 75 36 34 3c 2f 73 70 61 6e 3e 20 7b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 k-type">u64</span>.{</span>.<spa
97700 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 n.class="line">....<span.class="
97720 74 6f 6b 2d 6b 77 22 3e 72 65 74 75 72 6e 3c 2f 73 70 61 6e 3e 20 6d 61 78 28 3c 73 70 61 6e 20 tok-kw">return</span>.max(<span.
97740 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 75 36 34 3c 2f 73 70 61 6e 3e 2c 20 61 2c 20 class="tok-type">u64</span>,.a,.
97760 62 29 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 7d 3c b);</span>.<span.class="line">}<
97780 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 3c 2f 70 72 65 3e 3c 2f 66 69 67 75 72 65 3e 0a 20 20 20 /span></code></pre></figure>....
977a0 20 20 20 3c 70 3e 0a 20 20 20 20 20 20 49 6e 20 5a 69 67 2c 20 74 79 70 65 73 20 61 72 65 20 66 ...<p>.......In.Zig,.types.are.f
977c0 69 72 73 74 2d 63 6c 61 73 73 20 63 69 74 69 7a 65 6e 73 2e 20 54 68 65 79 20 63 61 6e 20 62 65 irst-class.citizens..They.can.be
977e0 20 61 73 73 69 67 6e 65 64 20 74 6f 20 76 61 72 69 61 62 6c 65 73 2c 20 70 61 73 73 65 64 20 61 .assigned.to.variables,.passed.a
97800 73 20 70 61 72 61 6d 65 74 65 72 73 20 74 6f 20 66 75 6e 63 74 69 6f 6e 73 2c 0a 20 20 20 20 20 s.parameters.to.functions,......
97820 20 61 6e 64 20 72 65 74 75 72 6e 65 64 20 66 72 6f 6d 20 66 75 6e 63 74 69 6f 6e 73 2e 20 48 6f .and.returned.from.functions..Ho
97840 77 65 76 65 72 2c 20 74 68 65 79 20 63 61 6e 20 6f 6e 6c 79 20 62 65 20 75 73 65 64 20 69 6e 20 wever,.they.can.only.be.used.in.
97860 65 78 70 72 65 73 73 69 6f 6e 73 20 77 68 69 63 68 20 61 72 65 20 6b 6e 6f 77 6e 20 61 74 20 3c expressions.which.are.known.at.<
97880 65 6d 3e 63 6f 6d 70 69 6c 65 2d 74 69 6d 65 3c 2f 65 6d 3e 2c 0a 20 20 20 20 20 20 77 68 69 63 em>compile-time</em>,.......whic
978a0 68 20 69 73 20 77 68 79 20 74 68 65 20 70 61 72 61 6d 65 74 65 72 20 3c 63 6f 64 65 3e 3c 73 70 h.is.why.the.parameter.<code><sp
978c0 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 54 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 20 an.class="line">T</span></code>.
978e0 69 6e 20 74 68 65 20 61 62 6f 76 65 20 73 6e 69 70 70 65 74 20 6d 75 73 74 20 62 65 20 6d 61 72 in.the.above.snippet.must.be.mar
97900 6b 65 64 20 77 69 74 68 20 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 ked.with.<code><span.class="line
97920 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 63 6f 6d 70 74 69 6d 65 3c "><span.class="tok-kw">comptime<
97940 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 2e 0a 20 20 20 20 20 20 3c 2f 70 3e /span></span></code>........</p>
97960 0a 20 20 20 20 20 20 3c 70 3e 0a 20 20 20 20 20 20 41 20 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 .......<p>.......A.<code><span.c
97980 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 lass="line"><span.class="tok-kw"
979a0 3e 63 6f 6d 70 74 69 6d 65 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 20 70 >comptime</span></span></code>.p
979c0 61 72 61 6d 65 74 65 72 20 6d 65 61 6e 73 20 74 68 61 74 3a 0a 20 20 20 20 20 20 3c 2f 70 3e 0a arameter.means.that:.......</p>.
979e0 20 20 20 20 20 20 3c 75 6c 3e 0a 20 20 20 20 20 20 20 20 3c 6c 69 3e 41 74 20 74 68 65 20 63 61 ......<ul>.........<li>At.the.ca
97a00 6c 6c 73 69 74 65 2c 20 74 68 65 20 76 61 6c 75 65 20 6d 75 73 74 20 62 65 20 6b 6e 6f 77 6e 20 llsite,.the.value.must.be.known.
97a20 61 74 20 63 6f 6d 70 69 6c 65 2d 74 69 6d 65 2c 20 6f 72 20 69 74 20 69 73 20 61 20 63 6f 6d 70 at.compile-time,.or.it.is.a.comp
97a40 69 6c 65 20 65 72 72 6f 72 2e 3c 2f 6c 69 3e 0a 20 20 20 20 20 20 20 20 3c 6c 69 3e 49 6e 20 74 ile.error.</li>.........<li>In.t
97a60 68 65 20 66 75 6e 63 74 69 6f 6e 20 64 65 66 69 6e 69 74 69 6f 6e 2c 20 74 68 65 20 76 61 6c 75 he.function.definition,.the.valu
97a80 65 20 69 73 20 6b 6e 6f 77 6e 20 61 74 20 63 6f 6d 70 69 6c 65 2d 74 69 6d 65 2e 3c 2f 6c 69 3e e.is.known.at.compile-time.</li>
97aa0 0a 20 20 20 20 20 20 3c 2f 75 6c 3e 0a 20 20 20 20 20 20 3c 70 3e 0a 20 20 20 20 20 20 46 6f 72 .......</ul>.......<p>.......For
97ac0 20 65 78 61 6d 70 6c 65 2c 20 69 66 20 77 65 20 77 65 72 65 20 74 6f 20 69 6e 74 72 6f 64 75 63 .example,.if.we.were.to.introduc
97ae0 65 20 61 6e 6f 74 68 65 72 20 66 75 6e 63 74 69 6f 6e 20 74 6f 20 74 68 65 20 61 62 6f 76 65 20 e.another.function.to.the.above.
97b00 73 6e 69 70 70 65 74 3a 0a 20 20 20 20 20 20 3c 2f 70 3e 0a 20 20 20 20 20 20 3c 66 69 67 75 72 snippet:.......</p>.......<figur
97b20 65 3e 3c 66 69 67 63 61 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
97b40 69 74 65 20 63 6c 61 73 73 3d 22 66 69 6c 65 22 3e 74 65 73 74 2e 7a 69 67 3c 2f 63 69 74 65 3e ite.class="file">test.zig</cite>
97b60 3c 2f 66 69 67 63 61 70 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
97b80 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e ass="line"><span.class="tok-kw">
97ba0 66 6e 3c 2f 73 70 61 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
97bc0 61 78 3c 2f 73 70 61 6e 3e 28 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 63 ax</span>(<span.class="tok-kw">c
97be0 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
97c00 6f 6b 2d 74 79 70 65 22 3e 74 79 70 65 3c 2f 73 70 61 6e 3e 2c 20 61 3a 20 54 2c 20 62 3a 20 54 ok-type">type</span>,.a:.T,.b:.T
97c20 29 20 54 20 7b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e ).T.{</span>.<span.class="line">
97c40 20 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<
97c60 2f 73 70 61 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</
97c80 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="
97ca0 74 6f 6b 2d 6b 77 22 3e 65 6c 73 65 3c 2f 73 70 61 6e 3e 20 62 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 tok-kw">else</span>.b;</span>.<s
97cc0 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 7d 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 pan.class="line">}</span>.<span.
97ce0 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 class="line"><span.class="tok-kw
97d00 22 3e 74 65 73 74 3c 2f 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
97d20 74 72 22 3e 26 71 75 6f 74 3b 74 72 79 20 74 6f 20 70 61 73 73 20 61 20 72 75 6e 74 69 6d 65 20 tr">&quot;try.to.pass.a.runtime.
97d40 74 79 70 65 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 20 7b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e type&quot;</span>.{</span>.<span
97d60 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 66 6f 6f 28 3c 73 70 61 6e 20 63 6c 61 73 .class="line">....foo(<span.clas
97d80 73 3d 22 74 6f 6b 2d 6e 75 6c 6c 22 3e 66 61 6c 73 65 3c 2f 73 70 61 6e 3e 29 3b 3c 2f 73 70 61 s="tok-null">false</span>);</spa
97da0 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 7d 3c 2f 73 70 61 6e 3e 0a 3c n>.<span.class="line">}</span>.<
97dc0 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 span.class="line"><span.class="t
97de0 6f 6b 2d 6b 77 22 3e 66 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
97e00 6b 2d 66 6e 22 3e 66 6f 6f 3c 2f 73 70 61 6e 3e 28 63 6f 6e 64 69 74 69 6f 6e 3a 20 3c 73 70 61 k-fn">foo</span>(condition:.<spa
97e20 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>).
97e40 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
97e60 6e 3e 20 7b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 n>.{</span>.<span.class="line">.
97e80 20 20 20 3c 73 70 61 6e 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
97ea0 70 61 6e 3e 20 72 65 73 75 6c 74 20 3d 20 6d 61 78 28 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 pan>.result.=.max(</span>.<span.
97ec0 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 class="line">........<span.class
97ee0 3d 22 74 6f 6b 2d 6b 77 22 3e 69 66 3c 2f 73 70 61 6e 3e 20 28 63 6f 6e 64 69 74 69 6f 6e 29 20 ="tok-kw">if</span>.(condition).
97f00 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
97f20 3e 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 65 6c 73 65 3c 2f 73 70 61 >.<span.class="tok-kw">else</spa
97f40 6e 3e 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 75 36 34 3c 2f 73 n>.<span.class="tok-type">u64</s
97f60 70 61 6e 3e 2c 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e pan>,</span>.<span.class="line">
97f80 20 20 20 20 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 ........<span.class="tok-number"
97fa0 3e 31 32 33 34 3c 2f 73 70 61 6e 3e 2c 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 >1234</span>,</span>.<span.class
97fc0 3d 22 6c 69 6e 65 22 3e 20 20 20 20 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b ="line">........<span.class="tok
97fe0 2d 6e 75 6d 62 65 72 22 3e 35 36 37 38 3c 2f 73 70 61 6e 3e 29 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 -number">5678</span>);</span>.<s
98000 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 5f 20 3d 20 72 65 73 75 6c 74 3b pan.class="line">...._.=.result;
98020 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 7d 3c 2f 73 70 </span>.<span.class="line">}</sp
98040 61 6e 3e 3c 2f 63 6f 64 65 3e 3c 2f 70 72 65 3e 3c 2f 66 69 67 75 72 65 3e 3c 66 69 67 75 72 65 an></code></pre></figure><figure
98060 3e 3c 66 69 67 63 61 70 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
98080 68 65 6c 6c 3c 2f 66 69 67 63 61 70 74 69 6f 6e 3e 3c 70 72 65 3e 3c 73 61 6d 70 3e 3c 73 70 61 hell</figcaption><pre><samp><spa
980a0 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 24 20 3c 6b 62 64 3e 7a 69 67 20 74 65 73 74 20 74 n.class="line">$.<kbd>zig.test.t
980c0 65 73 74 2e 7a 69 67 3c 2f 6b 62 64 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 est.zig</kbd></span>.<span.class
980e0 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 31 5f 30 22 3e 64 6f 63 67 65 ="line"><span.class="t1_0">docge
98100 6e 5f 74 6d 70 2f 74 65 73 74 2e 7a 69 67 3a 39 3a 31 33 3a 20 3c 2f 73 70 61 6e 3e 3c 73 70 61 n_tmp/test.zig:9:13:.</span><spa
98120 6e 20 63 6c 61 73 73 3d 22 74 33 31 5f 31 22 3e 65 72 72 6f 72 3a 20 3c 2f 73 70 61 6e 3e 3c 73 n.class="t31_1">error:.</span><s
98140 70 61 6e 20 63 6c 61 73 73 3d 22 74 31 5f 30 22 3e 75 6e 61 62 6c 65 20 74 6f 20 72 65 73 6f 6c pan.class="t1_0">unable.to.resol
98160 76 65 20 63 6f 6d 70 74 69 6d 65 20 76 61 6c 75 65 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 ve.comptime.value</span>.<span.c
98180 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 2f 73 70 61 6e 3e 20 20 20 20 20 20 20 20 69 66 20 28 63 lass="line"></span>........if.(c
981a0 6f 6e 64 69 74 69 6f 6e 29 20 66 33 32 20 65 6c 73 65 20 75 36 34 2c 3c 2f 73 70 61 6e 3e 0a 3c ondition).f32.else.u64,</span>.<
981c0 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 20 20 20 20 20 20 20 20 3c 73 span.class="line">............<s
981e0 70 61 6e 20 63 6c 61 73 73 3d 22 74 33 32 5f 31 22 3e 5e 7e 7e 7e 7e 7e 7e 7e 7e 3c 2f 73 70 61 pan.class="t32_1">^~~~~~~~~</spa
98200 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 2f 73 70 61 6e 3e 3c 73 70 n>.<span.class="line"></span><sp
98220 61 6e 20 63 6c 61 73 73 3d 22 74 31 5f 30 22 3e 64 6f 63 67 65 6e 5f 74 6d 70 2f 74 65 73 74 2e an.class="t1_0">docgen_tmp/test.
98240 7a 69 67 3a 39 3a 31 33 3a 20 3c 2f 73 70 61 6e 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 33 zig:9:13:.</span><span.class="t3
98260 36 5f 31 22 3e 6e 6f 74 65 3a 20 3c 2f 73 70 61 6e 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6_1">note:.</span><span.class="t
98280 31 5f 30 22 3e 63 6f 6e 64 69 74 69 6f 6e 20 69 6e 20 63 6f 6d 70 74 69 6d 65 20 62 72 61 6e 63 1_0">condition.in.comptime.branc
982a0 68 20 6d 75 73 74 20 62 65 20 63 6f 6d 70 74 69 6d 65 2d 6b 6e 6f 77 6e 3c 2f 73 70 61 6e 3e 0a h.must.be.comptime-known</span>.
982c0 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 2f 73 70 61 6e 3e 3c 73 70 61 6e 20 <span.class="line"></span><span.
982e0 63 6c 61 73 73 3d 22 74 32 5f 30 22 3e 72 65 66 65 72 65 6e 63 65 64 20 62 79 3a 3c 2f 73 70 61 class="t2_0">referenced.by:</spa
98300 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 74 65 73 74 2e 74 n>.<span.class="line">....test.t
98320 72 79 20 74 6f 20 70 61 73 73 20 61 20 72 75 6e 74 69 6d 65 20 74 79 70 65 3a 20 64 6f 63 67 65 ry.to.pass.a.runtime.type:.docge
98340 6e 5f 74 6d 70 2f 74 65 73 74 2e 7a 69 67 3a 35 3a 35 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 n_tmp/test.zig:5:5</span>.<span.
98360 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 72 65 6d 61 69 6e 69 6e 67 20 72 65 66 65 72 class="line">....remaining.refer
98380 65 6e 63 65 20 74 72 61 63 65 73 20 68 69 64 64 65 6e 3b 20 75 73 65 20 27 2d 66 72 65 66 65 72 ence.traces.hidden;.use.'-frefer
983a0 65 6e 63 65 2d 74 72 61 63 65 27 20 74 6f 20 73 65 65 20 61 6c 6c 20 72 65 66 65 72 65 6e 63 65 ence-trace'.to.see.all.reference
983c0 20 74 72 61 63 65 73 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 .traces</span>.<span.class="line
983e0 22 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 2f 73 "></span>.<span.class="line"></s
98400 70 61 6e 3e 3c 2f 73 70 61 6e 3e 0a 3c 2f 73 61 6d 70 3e 3c 2f 70 72 65 3e 3c 2f 66 69 67 75 72 pan></span>.</samp></pre></figur
98420 65 3e 0a 20 20 20 20 20 20 3c 70 3e 0a 20 20 20 20 20 20 54 68 69 73 20 69 73 20 61 6e 20 65 72 e>.......<p>.......This.is.an.er
98440 72 6f 72 20 62 65 63 61 75 73 65 20 74 68 65 20 70 72 6f 67 72 61 6d 6d 65 72 20 61 74 74 65 6d ror.because.the.programmer.attem
98460 70 74 65 64 20 74 6f 20 70 61 73 73 20 61 20 76 61 6c 75 65 20 6f 6e 6c 79 20 6b 6e 6f 77 6e 20 pted.to.pass.a.value.only.known.
98480 61 74 20 72 75 6e 2d 74 69 6d 65 0a 20 20 20 20 20 20 74 6f 20 61 20 66 75 6e 63 74 69 6f 6e 20 at.run-time.......to.a.function.
984a0 77 68 69 63 68 20 65 78 70 65 63 74 73 20 61 20 76 61 6c 75 65 20 6b 6e 6f 77 6e 20 61 74 20 63 which.expects.a.value.known.at.c
984c0 6f 6d 70 69 6c 65 2d 74 69 6d 65 2e 0a 20 20 20 20 20 20 3c 2f 70 3e 0a 20 20 20 20 20 20 3c 70 ompile-time........</p>.......<p
984e0 3e 0a 20 20 20 20 20 20 41 6e 6f 74 68 65 72 20 77 61 79 20 74 6f 20 67 65 74 20 61 6e 20 65 72 >.......Another.way.to.get.an.er
98500 72 6f 72 20 69 73 20 69 66 20 77 65 20 70 61 73 73 20 61 20 74 79 70 65 20 74 68 61 74 20 76 69 ror.is.if.we.pass.a.type.that.vi
98520 6f 6c 61 74 65 73 20 74 68 65 20 74 79 70 65 20 63 68 65 63 6b 65 72 20 77 68 65 6e 20 74 68 65 olates.the.type.checker.when.the
98540 0a 20 20 20 20 20 20 66 75 6e 63 74 69 6f 6e 20 69 73 20 61 6e 61 6c 79 7a 65 64 2e 20 54 68 69 .......function.is.analyzed..Thi
98560 73 20 69 73 20 77 68 61 74 20 69 74 20 6d 65 61 6e 73 20 74 6f 20 68 61 76 65 20 3c 65 6d 3e 63 s.is.what.it.means.to.have.<em>c
98580 6f 6d 70 69 6c 65 2d 74 69 6d 65 20 64 75 63 6b 20 74 79 70 69 6e 67 3c 2f 65 6d 3e 2e 0a 20 20 ompile-time.duck.typing</em>....
985a0 20 20 20 20 3c 2f 70 3e 0a 20 20 20 20 20 20 3c 70 3e 0a 20 20 20 20 20 20 46 6f 72 20 65 78 61 ....</p>.......<p>.......For.exa
985c0 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 3c mple:.......</p>.......<figure><
985e0 66 69 67 63 61 70 74 69 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
98600 20 63 6c 61 73 73 3d 22 66 69 6c 65 22 3e 74 65 73 74 2e 7a 69 67 3c 2f 63 69 74 65 3e 3c 2f 66 .class="file">test.zig</cite></f
98620 69 67 63 61 70 74 69 6f 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
98640 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 66 6e 3c ="line"><span.class="tok-kw">fn<
98660 2f 73 70 61 6e 3e 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 66 6e 22 3e 6d 61 78 3c /span>.<span.class="tok-fn">max<
98680 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
986a0 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-
986c0 74 79 70 65 22 3e 74 79 70 65 3c 2f 73 70 61 6e 3e 2c 20 61 3a 20 54 2c 20 62 3a 20 54 29 20 54 type">type</span>,.a:.T,.b:.T).T
986e0 20 7b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 .{</span>.<span.class="line">...
98700 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
98720 61 6e 3e 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 69 66 3c 2f 73 70 61 an>.<span.class="tok-kw">if</spa
98740 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 74 6f 6b n>.(a.&gt;.b).a.<span.class="tok
98760 2d 6b 77 22 3e 65 6c 73 65 3c 2f 73 70 61 6e 3e 20 62 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e -kw">else</span>.b;</span>.<span
98780 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 7d 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 .class="line">}</span>.<span.cla
987a0 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 74 ss="line"><span.class="tok-kw">t
987c0 65 73 74 3c 2f 73 70 61 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"
987e0 3e 26 71 75 6f 74 3b 74 72 79 20 74 6f 20 63 6f 6d 70 61 72 65 20 62 6f 6f 6c 73 26 71 75 6f 74 >&quot;try.to.compare.bools&quot
98800 3b 3c 2f 73 70 61 6e 3e 20 7b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c ;</span>.{</span>.<span.class="l
98820 69 6e 65 22 3e 20 20 20 20 5f 20 3d 20 6d 61 78 28 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f ine">...._.=.max(<span.class="to
98840 6b 2d 74 79 70 65 22 3e 62 6f 6f 6c 3c 2f 73 70 61 6e 3e 2c 20 3c 73 70 61 6e 20 63 6c 61 73 73 k-type">bool</span>,.<span.class
98860 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
98880 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6c 6c 22 3e 66 61 6c 73 65 3c 2f 73 70 61 6e 3e 29 3b 3c 2f lass="tok-null">false</span>);</
988a0 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 7d 3c 2f 73 70 61 6e span>.<span.class="line">}</span
988c0 3e 3c 2f 63 6f 64 65 3e 3c 2f 70 72 65 3e 3c 2f 66 69 67 75 72 65 3e 3c 66 69 67 75 72 65 3e 3c ></code></pre></figure><figure><
988e0 66 69 67 63 61 70 74 69 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
98900 6c 6c 3c 2f 66 69 67 63 61 70 74 69 6f 6e 3e 3c 70 72 65 3e 3c 73 61 6d 70 3e 3c 73 70 61 6e 20 ll</figcaption><pre><samp><span.
98920 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 24 20 3c 6b 62 64 3e 7a 69 67 20 74 65 73 74 20 74 65 73 class="line">$.<kbd>zig.test.tes
98940 74 2e 7a 69 67 3c 2f 6b 62 64 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 t.zig</kbd></span>.<span.class="
98960 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 31 5f 30 22 3e 64 6f 63 67 65 6e 5f line"><span.class="t1_0">docgen_
98980 74 6d 70 2f 74 65 73 74 2e 7a 69 67 3a 32 3a 31 38 3a 20 3c 2f 73 70 61 6e 3e 3c 73 70 61 6e 20 tmp/test.zig:2:18:.</span><span.
989a0 63 6c 61 73 73 3d 22 74 33 31 5f 31 22 3e 65 72 72 6f 72 3a 20 3c 2f 73 70 61 6e 3e 3c 73 70 61 class="t31_1">error:.</span><spa
989c0 6e 20 63 6c 61 73 73 3d 22 74 31 5f 30 22 3e 6f 70 65 72 61 74 6f 72 20 26 67 74 3b 20 6e 6f 74 n.class="t1_0">operator.&gt;.not
989e0 20 61 6c 6c 6f 77 65 64 20 66 6f 72 20 74 79 70 65 20 27 62 6f 6f 6c 27 3c 2f 73 70 61 6e 3e 0a .allowed.for.type.'bool'</span>.
98a00 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 2f 73 70 61 6e 3e 20 20 20 20 72 65 <span.class="line"></span>....re
98a20 74 75 72 6e 20 69 66 20 28 61 20 26 67 74 3b 20 62 29 20 61 20 65 6c 73 65 20 62 3b 3c 2f 73 70 turn.if.(a.&gt;.b).a.else.b;</sp
98a40 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 20 20 20 20 20 an>.<span.class="line">.........
98a60 20 20 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 33 32 5f 31 22 3e 7e 7e 5e 7e 7e 3c ......<span.class="t32_1">~~^~~<
98a80 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 2f 73 70 61 6e /span>.<span.class="line"></span
98aa0 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 32 5f 30 22 3e 72 65 66 65 72 65 6e 63 65 64 20 62 ><span.class="t2_0">referenced.b
98ac0 79 3a 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 y:</span>.<span.class="line">...
98ae0 20 74 65 73 74 2e 74 72 79 20 74 6f 20 63 6f 6d 70 61 72 65 20 62 6f 6f 6c 73 3a 20 64 6f 63 67 .test.try.to.compare.bools:.docg
98b00 65 6e 5f 74 6d 70 2f 74 65 73 74 2e 7a 69 67 3a 35 3a 39 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e en_tmp/test.zig:5:9</span>.<span
98b20 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 72 65 6d 61 69 6e 69 6e 67 20 72 65 66 65 .class="line">....remaining.refe
98b40 72 65 6e 63 65 20 74 72 61 63 65 73 20 68 69 64 64 65 6e 3b 20 75 73 65 20 27 2d 66 72 65 66 65 rence.traces.hidden;.use.'-frefe
98b60 72 65 6e 63 65 2d 74 72 61 63 65 27 20 74 6f 20 73 65 65 20 61 6c 6c 20 72 65 66 65 72 65 6e 63 rence-trace'.to.see.all.referenc
98b80 65 20 74 72 61 63 65 73 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e e.traces</span>.<span.class="lin
98ba0 65 22 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 2f e"></span>.<span.class="line"></
98bc0 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 0a 3c 2f 73 61 6d 70 3e 3c 2f 70 72 65 3e 3c 2f 66 69 67 75 span></span>.</samp></pre></figu
98be0 72 65 3e 0a 20 20 20 20 20 20 3c 70 3e 0a 20 20 20 20 20 20 4f 6e 20 74 68 65 20 66 6c 69 70 20 re>.......<p>.......On.the.flip.
98c00 73 69 64 65 2c 20 69 6e 73 69 64 65 20 74 68 65 20 66 75 6e 63 74 69 6f 6e 20 64 65 66 69 6e 69 side,.inside.the.function.defini
98c20 74 69 6f 6e 20 77 69 74 68 20 74 68 65 20 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d tion.with.the.<code><span.class=
98c40 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 63 6f 6d 70 "line"><span.class="tok-kw">comp
98c60 74 69 6d 65 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 20 70 61 72 61 6d 65 time</span></span></code>.parame
98c80 74 65 72 2c 20 74 68 65 0a 20 20 20 20 20 20 76 61 6c 75 65 20 69 73 20 6b 6e 6f 77 6e 20 61 74 ter,.the.......value.is.known.at
98ca0 20 63 6f 6d 70 69 6c 65 2d 74 69 6d 65 2e 20 54 68 69 73 20 6d 65 61 6e 73 20 74 68 61 74 20 77 .compile-time..This.means.that.w
98cc0 65 20 61 63 74 75 61 6c 6c 79 20 63 6f 75 6c 64 20 6d 61 6b 65 20 74 68 69 73 20 77 6f 72 6b 20 e.actually.could.make.this.work.
98ce0 66 6f 72 20 74 68 65 20 62 6f 6f 6c 20 74 79 70 65 0a 20 20 20 20 20 20 69 66 20 77 65 20 77 61 for.the.bool.type.......if.we.wa
98d00 6e 74 65 64 20 74 6f 3a 0a 20 20 20 20 20 20 3c 2f 70 3e 0a 20 20 20 20 20 20 3c 66 69 67 75 72 nted.to:.......</p>.......<figur
98d20 65 3e 3c 66 69 67 63 61 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
98d40 69 74 65 20 63 6c 61 73 73 3d 22 66 69 6c 65 22 3e 63 6f 6d 70 74 69 6d 65 5f 6d 61 78 5f 77 69 ite.class="file">comptime_max_wi
98d60 74 68 5f 62 6f 6f 6c 2e 7a 69 67 3c 2f 63 69 74 65 3e 3c 2f 66 69 67 63 61 70 74 69 6f 6e 3e 3c th_bool.zig</cite></figcaption><
98d80 70 72 65 3e 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 pre><code><span.class="line"><sp
98da0 61 6e 20 63 6c 61 73 73 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
98dc0 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 66 6e 22 3e 6d 61 78 3c 2f 73 70 61 6e 3e 28 3c 73 70 61 n.class="tok-fn">max</span>(<spa
98de0 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>
98e00 20 54 3a 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 74 79 70 65 3c .T:.<span.class="tok-type">type<
98e20 2f 73 70 61 6e 3e 2c 20 61 3a 20 54 2c 20 62 3a 20 54 29 20 54 20 7b 3c 2f 73 70 61 6e 3e 0a 3c /span>,.a:.T,.b:.T).T.{</span>.<
98e40 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 span.class="line">....<span.clas
98e60 73 3d 22 74 6f 6b 2d 6b 77 22 3e 69 66 3c 2f 73 70 61 6e 3e 20 28 54 20 3d 3d 20 3c 73 70 61 6e s="tok-kw">if</span>.(T.==.<span
98e80 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 7b .class="tok-type">bool</span>).{
98ea0 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 20 </span>.<span.class="line">.....
98ec0 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</
98ee0 73 70 61 6e 3e 20 61 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 6f 72 3c span>.a.<span.class="tok-kw">or<
98f00 2f 73 70 61 6e 3e 20 62 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 /span>.b;</span>.<span.class="li
98f20 6e 65 22 3e 20 20 20 20 7d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 65 ne">....}.<span.class="tok-kw">e
98f40 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">
98f60 69 66 3c 2f 73 70 61 6e 3e 20 28 61 20 26 67 74 3b 20 62 29 20 7b 3c 2f 73 70 61 6e 3e 0a 3c 73 if</span>.(a.&gt;.b).{</span>.<s
98f80 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 20 20 20 20 3c 73 70 61 6e 20 63 pan.class="line">........<span.c
98fa0 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 3b 3c 2f lass="tok-kw">return</span>.a;</
98fc0 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 7d 20 3c span>.<span.class="line">....}.<
98fe0 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>.
99000 7b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 {</span>.<span.class="line">....
99020 20 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<
99040 2f 73 70 61 6e 3e 20 62 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 /span>.b;</span>.<span.class="li
99060 6e 65 22 3e 20 20 20 20 7d 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 ne">....}</span>.<span.class="li
99080 6e 65 22 3e 7d 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e ne">}</span>.<span.class="line">
990a0 3c 73 70 61 6e 20 63 6c 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>
990c0 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 73 74 72 22 3e 26 71 75 6f 74 3b 74 72 79 .<span.class="tok-str">&quot;try
990e0 20 74 6f 20 63 6f 6d 70 61 72 65 20 62 6f 6f 6c 73 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 20 7b .to.compare.bools&quot;</span>.{
99100 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 3c </span>.<span.class="line">....<
99120 73 70 61 6e 20 63 6c 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 span.class="tok-kw">try</span>.<
99140 73 70 61 6e 20 63 6c 61 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
99160 3c 2f 73 70 61 6e 3e 28 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
99180 75 6f 74 3b 73 74 64 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 29 2e 74 65 73 74 69 6e 67 2e 65 78 uot;std&quot;</span>).testing.ex
991a0 70 65 63 74 28 6d 61 78 28 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e pect(max(<span.class="tok-type">
991c0 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 6b 2d 6e 75 bool</span>,.<span.class="tok-nu
991e0 6c 6c 22 3e 66 61 6c 73 65 3c 2f 73 70 61 6e 3e 2c 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 ll">false</span>,.<span.class="t
99200 6f 6b 2d 6e 75 6c 6c 22 3e 74 72 75 65 3c 2f 73 70 61 6e 3e 29 20 3d 3d 20 3c 73 70 61 6e 20 63 ok-null">true</span>).==.<span.c
99220 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6c 6c 22 3e 74 72 75 65 3c 2f 73 70 61 6e 3e 29 3b 3c 2f 73 lass="tok-null">true</span>);</s
99240 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 7d 3c 2f 73 70 61 6e 3e pan>.<span.class="line">}</span>
99260 3c 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
99280 69 67 63 61 70 74 69 6f 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
992a0 6c 3c 2f 66 69 67 63 61 70 74 69 6f 6e 3e 3c 70 72 65 3e 3c 73 61 6d 70 3e 3c 73 70 61 6e 20 63 l</figcaption><pre><samp><span.c
992c0 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 24 20 3c 6b 62 64 3e 7a 69 67 20 74 65 73 74 20 63 6f 6d 70 lass="line">$.<kbd>zig.test.comp
992e0 74 69 6d 65 5f 6d 61 78 5f 77 69 74 68 5f 62 6f 6f 6c 2e 7a 69 67 3c 2f 6b 62 64 3e 3c 2f 73 70 time_max_with_bool.zig</kbd></sp
99300 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 31 2f 31 20 74 65 73 74 2e an>.<span.class="line">1/1.test.
99320 74 72 79 20 74 6f 20 63 6f 6d 70 61 72 65 20 62 6f 6f 6c 73 2e 2e 2e 20 4f 4b 3c 2f 73 70 61 6e try.to.compare.bools....OK</span
99340 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 41 6c 6c 20 31 20 74 65 73 74 73 >.<span.class="line">All.1.tests
99360 20 70 61 73 73 65 64 2e 3c 2f 73 70 61 6e 3e 0a 3c 2f 73 61 6d 70 3e 3c 2f 70 72 65 3e 3c 2f 66 .passed.</span>.</samp></pre></f
99380 69 67 75 72 65 3e 0a 20 20 20 20 20 20 3c 70 3e 0a 20 20 20 20 20 20 54 68 69 73 20 77 6f 72 6b igure>.......<p>.......This.work
993a0 73 20 62 65 63 61 75 73 65 20 5a 69 67 20 69 6d 70 6c 69 63 69 74 6c 79 20 69 6e 6c 69 6e 65 73 s.because.Zig.implicitly.inlines
993c0 20 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 .<code><span.class="line"><span.
993e0 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 69 66 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 3c class="tok-kw">if</span></span><
99400 2f 63 6f 64 65 3e 20 65 78 70 72 65 73 73 69 6f 6e 73 20 77 68 65 6e 20 74 68 65 20 63 6f 6e 64 /code>.expressions.when.the.cond
99420 69 74 69 6f 6e 0a 20 20 20 20 20 20 69 73 20 6b 6e 6f 77 6e 20 61 74 20 63 6f 6d 70 69 6c 65 2d ition.......is.known.at.compile-
99440 74 69 6d 65 2c 20 61 6e 64 20 74 68 65 20 63 6f 6d 70 69 6c 65 72 20 67 75 61 72 61 6e 74 65 65 time,.and.the.compiler.guarantee
99460 73 20 74 68 61 74 20 69 74 20 77 69 6c 6c 20 73 6b 69 70 20 61 6e 61 6c 79 73 69 73 20 6f 66 0a s.that.it.will.skip.analysis.of.
99480 20 20 20 20 20 20 74 68 65 20 62 72 61 6e 63 68 20 6e 6f 74 20 74 61 6b 65 6e 2e 0a 20 20 20 20 ......the.branch.not.taken......
994a0 20 20 3c 2f 70 3e 0a 20 20 20 20 20 20 3c 70 3e 0a 20 20 20 20 20 20 54 68 69 73 20 6d 65 61 6e ..</p>.......<p>.......This.mean
994c0 73 20 74 68 61 74 20 74 68 65 20 61 63 74 75 61 6c 20 66 75 6e 63 74 69 6f 6e 20 67 65 6e 65 72 s.that.the.actual.function.gener
994e0 61 74 65 64 20 66 6f 72 20 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 ated.for.<code><span.class="line
99500 22 3e 6d 61 78 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 20 69 6e 20 74 68 69 73 20 73 69 74 75 ">max</span></code>.in.this.situ
99520 61 74 69 6f 6e 20 6c 6f 6f 6b 73 20 6c 69 6b 65 0a 20 20 20 20 20 20 74 68 69 73 3a 0a 20 20 20 ation.looks.like.......this:....
99540 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
99560 6e 20 63 6c 61 73 73 3d 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
99580 69 6c 65 22 3e 74 65 73 74 2e 7a 69 67 3c 2f 63 69 74 65 3e 3c 2f 66 69 67 63 61 70 74 69 6f 6e ile">test.zig</cite></figcaption
995a0 3e 3c 70 72 65 3e 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c ><pre><code><span.class="line"><
995c0 73 70 61 6e 20 63 6c 61 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
995e0 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:
99600 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
99620 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
99640 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
99660 65 22 3e 62 6f 6f 6c 3c 2f 73 70 61 6e 3e 20 7b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c e">bool</span>.{</span>.<span.cl
99680 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d ass="line">....<span.class="tok-
996a0 6b 77 22 3e 72 65 74 75 72 6e 3c 2f 73 70 61 6e 3e 20 61 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d kw">return</span>.a.<span.class=
996c0 22 74 6f 6b 2d 6b 77 22 3e 6f 72 3c 2f 73 70 61 6e 3e 20 62 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 "tok-kw">or</span>.b;</span>.<sp
996e0 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 7d 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 3c an.class="line">}</span></code><
99700 2f 70 72 65 3e 3c 2f 66 69 67 75 72 65 3e 0a 20 20 20 20 20 20 3c 70 3e 0a 20 20 20 20 20 20 41 /pre></figure>.......<p>.......A
99720 6c 6c 20 74 68 65 20 63 6f 64 65 20 74 68 61 74 20 64 65 61 6c 74 20 77 69 74 68 20 63 6f 6d 70 ll.the.code.that.dealt.with.comp
99740 69 6c 65 2d 74 69 6d 65 20 6b 6e 6f 77 6e 20 76 61 6c 75 65 73 20 69 73 20 65 6c 69 6d 69 6e 61 ile-time.known.values.is.elimina
99760 74 65 64 20 61 6e 64 20 77 65 20 61 72 65 20 6c 65 66 74 20 77 69 74 68 20 6f 6e 6c 79 0a 20 20 ted.and.we.are.left.with.only...
99780 20 20 20 20 74 68 65 20 6e 65 63 65 73 73 61 72 79 20 72 75 6e 2d 74 69 6d 65 20 63 6f 64 65 20 ....the.necessary.run-time.code.
997a0 74 6f 20 61 63 63 6f 6d 70 6c 69 73 68 20 74 68 65 20 74 61 73 6b 2e 0a 20 20 20 20 20 20 3c 2f to.accomplish.the.task........</
997c0 70 3e 0a 20 20 20 20 20 20 3c 70 3e 0a 20 20 20 20 20 20 54 68 69 73 20 77 6f 72 6b 73 20 74 68 p>.......<p>.......This.works.th
997e0 65 20 73 61 6d 65 20 77 61 79 20 66 6f 72 20 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 e.same.way.for.<code><span.class
99800 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 73 77 69 ="line"><span.class="tok-kw">swi
99820 74 63 68 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 20 65 78 70 72 65 73 73 tch</span></span></code>.express
99840 69 6f 6e 73 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 ions.-.they.are.implicitly.inlin
99860 65 64 0a 20 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 ed.......when.the.target.express
99880 69 6f 6e 20 69 73 20 63 6f 6d 70 69 6c 65 2d 74 69 6d 65 20 6b 6e 6f 77 6e 2e 0a 20 20 20 20 20 ion.is.compile-time.known.......
998a0 20 3c 2f 70 3e 0a 20 20 20 20 20 20 0a 20 20 20 20 20 20 3c 68 34 20 69 64 3d 22 43 6f 6d 70 69 .</p>..............<h4.id="Compi
998c0 6c 65 2d 54 69 6d 65 2d 56 61 72 69 61 62 6c 65 73 22 3e 3c 61 20 68 72 65 66 3d 22 23 74 6f 63 le-Time-Variables"><a.href="#toc
998e0 2d 43 6f 6d 70 69 6c 65 2d 54 69 6d 65 2d 56 61 72 69 61 62 6c 65 73 22 3e 43 6f 6d 70 69 6c 65 -Compile-Time-Variables">Compile
99900 2d 54 69 6d 65 20 56 61 72 69 61 62 6c 65 73 3c 2f 61 3e 20 3c 61 20 63 6c 61 73 73 3d 22 68 64 -Time.Variables</a>.<a.class="hd
99920 72 22 20 68 72 65 66 3d 22 23 43 6f 6d 70 69 6c 65 2d 54 69 6d 65 2d 56 61 72 69 61 62 6c 65 73 r".href="#Compile-Time-Variables
99940 22 3e c2 a7 3c 2f 61 3e 3c 2f 68 34 3e 0a 0a 20 20 20 20 20 20 3c 70 3e 0a 20 20 20 20 20 20 49 ">..</a></h4>........<p>.......I
99960 6e 20 5a 69 67 2c 20 74 68 65 20 70 72 6f 67 72 61 6d 6d 65 72 20 63 61 6e 20 6c 61 62 65 6c 20 n.Zig,.the.programmer.can.label.
99980 76 61 72 69 61 62 6c 65 73 20 61 73 20 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 variables.as.<code><span.class="
999a0 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 63 6f 6d 70 74 line"><span.class="tok-kw">compt
999c0 69 6d 65 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 2e 20 54 68 69 73 20 67 ime</span></span></code>..This.g
999e0 75 61 72 61 6e 74 65 65 73 20 74 6f 20 74 68 65 20 63 6f 6d 70 69 6c 65 72 0a 20 20 20 20 20 20 uarantees.to.the.compiler.......
99a00 74 68 61 74 20 65 76 65 72 79 20 6c 6f 61 64 20 61 6e 64 20 73 74 6f 72 65 20 6f 66 20 74 68 65 that.every.load.and.store.of.the
99a20 20 76 61 72 69 61 62 6c 65 20 69 73 20 70 65 72 66 6f 72 6d 65 64 20 61 74 20 63 6f 6d 70 69 6c .variable.is.performed.at.compil
99a40 65 2d 74 69 6d 65 2e 20 41 6e 79 20 76 69 6f 6c 61 74 69 6f 6e 20 6f 66 20 74 68 69 73 20 72 65 e-time..Any.violation.of.this.re
99a60 73 75 6c 74 73 20 69 6e 20 61 0a 20 20 20 20 20 20 63 6f 6d 70 69 6c 65 20 65 72 72 6f 72 2e 0a sults.in.a.......compile.error..
99a80 20 20 20 20 20 20 3c 2f 70 3e 0a 20 20 20 20 20 20 3c 70 3e 0a 20 20 20 20 20 20 54 68 69 73 20 ......</p>.......<p>.......This.
99aa0 63 6f 6d 62 69 6e 65 64 20 77 69 74 68 20 74 68 65 20 66 61 63 74 20 74 68 61 74 20 77 65 20 63 combined.with.the.fact.that.we.c
99ac0 61 6e 20 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 an.<code><span.class="line"><spa
99ae0 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 69 6e 6c 69 6e 65 3c 2f 73 70 61 6e 3e 3c 2f n.class="tok-kw">inline</span></
99b00 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 20 6c 6f 6f 70 73 20 61 6c 6c 6f 77 73 20 75 73 20 74 6f 20 span></code>.loops.allows.us.to.
99b20 77 72 69 74 65 0a 20 20 20 20 20 20 61 20 66 75 6e 63 74 69 6f 6e 20 77 68 69 63 68 20 69 73 20 write.......a.function.which.is.
99b40 70 61 72 74 69 61 6c 6c 79 20 65 76 61 6c 75 61 74 65 64 20 61 74 20 63 6f 6d 70 69 6c 65 2d 74 partially.evaluated.at.compile-t
99b60 69 6d 65 20 61 6e 64 20 70 61 72 74 69 61 6c 6c 79 20 61 74 20 72 75 6e 2d 74 69 6d 65 2e 0a 20 ime.and.partially.at.run-time...
99b80 20 20 20 20 20 3c 2f 70 3e 0a 20 20 20 20 20 20 3c 70 3e 0a 20 20 20 20 20 20 46 6f 72 20 65 78 .....</p>.......<p>.......For.ex
99ba0 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>
99bc0 3c 66 69 67 63 61 70 74 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
99be0 65 20 63 6c 61 73 73 3d 22 66 69 6c 65 22 3e 63 6f 6d 70 74 69 6d 65 5f 76 61 72 73 2e 7a 69 67 e.class="file">comptime_vars.zig
99c00 3c 2f 63 69 74 65 3e 3c 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><
99c20 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 span.class="line"><span.class="t
99c40 6f 6b 2d 6b 77 22 3e 63 6f 6e 73 74 3c 2f 73 70 61 6e 3e 20 65 78 70 65 63 74 20 3d 20 3c 73 70 ok-kw">const</span>.expect.=.<sp
99c60 61 6e 20 63 6c 61 73 73 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</
99c80 73 70 61 6e 3e 28 3c 73 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
99ca0 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
99cc0 63 74 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 2f ct;</span>.<span.class="line"></
99ce0 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 span>.<span.class="line"><span.c
99d00 6c 61 73 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 lass="tok-kw">const</span>.CmdFn
99d20 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</
99d40 73 70 61 6e 3e 20 7b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 span>.{</span>.<span.class="line
99d60 22 3e 20 20 20 20 6e 61 6d 65 3a 20 5b 5d 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b ">....name:.[]<span.class="tok-k
99d80 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
99da0 2d 74 79 70 65 22 3e 75 38 3c 2f 73 70 61 6e 3e 2c 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 -type">u8</span>,</span>.<span.c
99dc0 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 66 75 6e 63 3a 20 3c 73 70 61 6e 20 63 6c 61 73 lass="line">....func:.<span.clas
99de0 73 3d 22 74 6f 6b 2d 6b 77 22 3e 66 6e 3c 2f 73 70 61 6e 3e 28 3c 73 70 61 6e 20 63 6c 61 73 73 s="tok-kw">fn</span>(<span.class
99e00 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
99e20 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 69 33 32 3c 2f 73 70 61 6e 3e 2c 3c 2f 73 70 61 6e ass="tok-type">i32</span>,</span
99e40 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 7d 3b 3c 2f 73 70 61 6e 3e 0a 3c >.<span.class="line">};</span>.<
99e60 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 span.class="line"></span>.<span.
99e80 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 class="line"><span.class="tok-kw
99ea0 22 3e 63 6f 6e 73 74 3c 2f 73 70 61 6e 3e 20 63 6d 64 5f 66 6e 73 20 3d 20 5b 5f 5d 43 6d 64 46 ">const</span>.cmd_fns.=.[_]CmdF
99ec0 6e 7b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 n{</span>.<span.class="line">...
99ee0 20 43 6d 64 46 6e 20 7b 2e 6e 61 6d 65 20 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b .CmdFn.{.name.=.<span.class="tok
99f00 2d 73 74 72 22 3e 26 71 75 6f 74 3b 6f 6e 65 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 2c 20 2e 66 -str">&quot;one&quot;</span>,..f
99f20 75 6e 63 20 3d 20 6f 6e 65 7d 2c 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 unc.=.one},</span>.<span.class="
99f40 6c 69 6e 65 22 3e 20 20 20 20 43 6d 64 46 6e 20 7b 2e 6e 61 6d 65 20 3d 20 3c 73 70 61 6e 20 63 line">....CmdFn.{.name.=.<span.c
99f60 6c 61 73 73 3d 22 74 6f 6b 2d 73 74 72 22 3e 26 71 75 6f 74 3b 74 77 6f 26 71 75 6f 74 3b 3c 2f lass="tok-str">&quot;two&quot;</
99f80 73 70 61 6e 3e 2c 20 2e 66 75 6e 63 20 3d 20 74 77 6f 7d 2c 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 span>,..func.=.two},</span>.<spa
99fa0 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 43 6d 64 46 6e 20 7b 2e 6e 61 6d 65 20 n.class="line">....CmdFn.{.name.
99fc0 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 74 68 =.<span.class="tok-str">&quot;th
99fe0 72 65 65 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 2c 20 2e 66 75 6e 63 20 3d 20 74 68 72 65 65 7d ree&quot;</span>,..func.=.three}
9a000 2c 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 7d 3b 3c 2f ,</span>.<span.class="line">};</
9a020 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 span>.<span.class="line"><span.c
9a040 6c 61 73 73 3d 22 74 6f 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
9a060 61 73 73 3d 22 74 6f 6b 2d 66 6e 22 3e 6f 6e 65 3c 2f 73 70 61 6e 3e 28 76 61 6c 75 65 3a 20 3c ass="tok-fn">one</span>(value:.<
9a080 73 70 61 6e 20 63 6c 61 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>
9a0a0 29 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
9a0c0 61 6e 3e 20 7b 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 72 65 74 75 72 an>.{.<span.class="tok-kw">retur
9a0e0 6e 3c 2f 73 70 61 6e 3e 20 76 61 6c 75 65 20 2b 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f n</span>.value.+.<span.class="to
9a100 6b 2d 6e 75 6d 62 65 72 22 3e 31 3c 2f 73 70 61 6e 3e 3b 20 7d 3c 2f 73 70 61 6e 3e 0a 3c 73 70 k-number">1</span>;.}</span>.<sp
9a120 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b an.class="line"><span.class="tok
9a140 2d 6b 77 22 3e 66 6e 3c 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-
9a160 66 6e 22 3e 74 77 6f 3c 2f 73 70 61 6e 3e 28 76 61 6c 75 65 3a 20 3c 73 70 61 6e 20 63 6c 61 73 fn">two</span>(value:.<span.clas
9a180 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 69 33 32 3c 2f 73 70 61 6e 3e 29 20 3c 73 70 61 6e 20 63 s="tok-type">i32</span>).<span.c
9a1a0 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 69 33 32 3c 2f 73 70 61 6e 3e 20 7b 20 3c 73 70 lass="tok-type">i32</span>.{.<sp
9a1c0 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>.
9a1e0 76 61 6c 75 65 20 2b 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 value.+.<span.class="tok-number"
9a200 3e 32 3c 2f 73 70 61 6e 3e 3b 20 7d 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d >2</span>;.}</span>.<span.class=
9a220 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 66 6e 3c 2f "line"><span.class="tok-kw">fn</
9a240 73 70 61 6e 3e 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 66 6e 22 3e 74 68 72 65 65 span>.<span.class="tok-fn">three
9a260 3c 2f 73 70 61 6e 3e 28 76 61 6c 75 65 3a 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d </span>(value:.<span.class="tok-
9a280 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
9a2a0 6f 6b 2d 74 79 70 65 22 3e 69 33 32 3c 2f 73 70 61 6e 3e 20 7b 20 3c 73 70 61 6e 20 63 6c 61 73 ok-type">i32</span>.{.<span.clas
9a2c0 73 3d 22 74 6f 6b 2d 6b 77 22 3e 72 65 74 75 72 6e 3c 2f 73 70 61 6e 3e 20 76 61 6c 75 65 20 2b s="tok-kw">return</span>.value.+
9a2e0 20 3c 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
9a300 6e 3e 3b 20 7d 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e n>;.}</span>.<span.class="line">
9a320 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e </span>.<span.class="line"><span
9a340 20 63 6c 61 73 73 3d 22 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.
9a360 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 6e 3e 28 class="tok-fn">performFn</span>(
9a380 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
9a3a0 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 3d 22 74 pan>.prefix_char:.<span.class="t
9a3c0 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 75 65 3a ok-type">u8</span>,.start_value:
9a3e0 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
9a400 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</
9a420 73 70 61 6e 3e 20 7b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 span>.{</span>.<span.class="line
9a440 22 3e 20 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</
9a460 73 70 61 6e 3e 20 72 65 73 75 6c 74 3a 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 span>.result:.<span.class="tok-t
9a480 79 70 65 22 3e 69 33 32 3c 2f 73 70 61 6e 3e 20 3d 20 73 74 61 72 74 5f 76 61 6c 75 65 3b 3c 2f ype">i32</span>.=.start_value;</
9a4a0 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 3c 73 70 span>.<span.class="line">....<sp
9a4c0 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
9a4e0 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
9a500 3e 20 69 20 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 30 >.i.=.<span.class="tok-number">0
9a520 3c 2f 73 70 61 6e 3e 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e </span>;</span>.<span.class="lin
9a540 65 22 3e 20 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 e">....<span.class="tok-kw">inli
9a560 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 77 ne</span>.<span.class="tok-kw">w
9a580 68 69 6c 65 3c 2f 73 70 61 6e 3e 20 28 69 20 26 6c 74 3b 20 63 6d 64 5f 66 6e 73 2e 6c 65 6e 29 hile</span>.(i.&lt;.cmd_fns.len)
9a5a0 20 3a 20 28 69 20 2b 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 .:.(i.+=.<span.class="tok-number
9a5c0 22 3e 31 3c 2f 73 70 61 6e 3e 29 20 7b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 ">1</span>).{</span>.<span.class
9a5e0 3d 22 6c 69 6e 65 22 3e 20 20 20 20 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b ="line">........<span.class="tok
9a600 2d 6b 77 22 3e 69 66 3c 2f 73 70 61 6e 3e 20 28 63 6d 64 5f 66 6e 73 5b 69 5d 2e 6e 61 6d 65 5b -kw">if</span>.(cmd_fns[i].name[
9a620 3c 73 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
9a640 3e 5d 20 3d 3d 20 70 72 65 66 69 78 5f 63 68 61 72 29 20 7b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 >].==.prefix_char).{</span>.<spa
9a660 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 20 20 20 20 20 20 20 20 72 65 73 75 6c n.class="line">............resul
9a680 74 20 3d 20 63 6d 64 5f 66 6e 73 5b 69 5d 2e 66 75 6e 63 28 72 65 73 75 6c 74 29 3b 3c 2f 73 70 t.=.cmd_fns[i].func(result);</sp
9a6a0 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 20 20 20 20 7d an>.<span.class="line">........}
9a6c0 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 7d </span>.<span.class="line">....}
9a6e0 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 3c </span>.<span.class="line">....<
9a700 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
9a720 3e 20 72 65 73 75 6c 74 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 >.result;</span>.<span.class="li
9a740 6e 65 22 3e 7d 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e ne">}</span>.<span.class="line">
9a760 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e </span>.<span.class="line"><span
9a780 20 63 6c 61 73 73 3d 22 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
9a7a0 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 73 74 72 22 3e 26 71 75 6f 74 3b 70 65 72 66 6f 72 6d 20 n.class="tok-str">&quot;perform.
9a7c0 66 6e 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 20 7b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 fn&quot;</span>.{</span>.<span.c
9a7e0 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b lass="line">....<span.class="tok
9a800 2d 6b 77 22 3e 74 72 79 3c 2f 73 70 61 6e 3e 20 65 78 70 65 63 74 28 70 65 72 66 6f 72 6d 46 6e -kw">try</span>.expect(performFn
9a820 28 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 73 74 72 22 3e 27 74 27 3c 2f 73 70 61 6e (<span.class="tok-str">'t'</span
9a840 3e 2c 20 3c 73 70 61 6e 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
9a860 70 61 6e 3e 29 20 3d 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 pan>).==.<span.class="tok-number
9a880 22 3e 36 3c 2f 73 70 61 6e 3e 29 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d ">6</span>);</span>.<span.class=
9a8a0 22 6c 69 6e 65 22 3e 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e "line">....<span.class="tok-kw">
9a8c0 74 72 79 3c 2f 73 70 61 6e 3e 20 65 78 70 65 63 74 28 70 65 72 66 6f 72 6d 46 6e 28 3c 73 70 61 try</span>.expect(performFn(<spa
9a8e0 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 73 74 72 22 3e 27 6f 27 3c 2f 73 70 61 6e 3e 2c 20 3c 73 n.class="tok-str">'o'</span>,.<s
9a900 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 30 3c 2f 73 70 61 6e 3e 29 pan.class="tok-number">0</span>)
9a920 20 3d 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 31 3c 2f .==.<span.class="tok-number">1</
9a940 73 70 61 6e 3e 29 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 span>);</span>.<span.class="line
9a960 22 3e 20 20 20 20 3c 73 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</
9a980 73 70 61 6e 3e 20 65 78 70 65 63 74 28 70 65 72 66 6f 72 6d 46 6e 28 3c 73 70 61 6e 20 63 6c 61 span>.expect(performFn(<span.cla
9a9a0 73 73 3d 22 74 6f 6b 2d 73 74 72 22 3e 27 77 27 3c 2f 73 70 61 6e 3e 2c 20 3c 73 70 61 6e 20 63 ss="tok-str">'w'</span>,.<span.c
9a9c0 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 39 39 3c 2f 73 70 61 6e 3e 29 20 3d 3d 20 lass="tok-number">99</span>).==.
9a9e0 3c 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 <span.class="tok-number">99</spa
9aa00 6e 3e 29 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 7d n>);</span>.<span.class="line">}
9aa20 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 3c 2f 70 72 65 3e 3c 2f 66 69 67 75 72 65 3e 3c 66 69 </span></code></pre></figure><fi
9aa40 67 75 72 65 3e 3c 66 69 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
9aa60 70 22 3e 53 68 65 6c 6c 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>
9aa80 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 24 20 3c 6b 62 64 3e 7a 69 67 20 74 65 <span.class="line">$.<kbd>zig.te
9aaa0 73 74 20 63 6f 6d 70 74 69 6d 65 5f 76 61 72 73 2e 7a 69 67 3c 2f 6b 62 64 3e 3c 2f 73 70 61 6e st.comptime_vars.zig</kbd></span
9aac0 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 31 2f 31 20 74 65 73 74 2e 70 65 >.<span.class="line">1/1.test.pe
9aae0 72 66 6f 72 6d 20 66 6e 2e 2e 2e 20 4f 4b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 rform.fn....OK</span>.<span.clas
9ab00 73 3d 22 6c 69 6e 65 22 3e 41 6c 6c 20 31 20 74 65 73 74 73 20 70 61 73 73 65 64 2e 3c 2f 73 70 s="line">All.1.tests.passed.</sp
9ab20 61 6e 3e 0a 3c 2f 73 61 6d 70 3e 3c 2f 70 72 65 3e 3c 2f 66 69 67 75 72 65 3e 0a 20 20 20 20 20 an>.</samp></pre></figure>......
9ab40 20 3c 70 3e 0a 20 20 20 20 20 20 54 68 69 73 20 65 78 61 6d 70 6c 65 20 69 73 20 61 20 62 69 74 .<p>.......This.example.is.a.bit
9ab60 20 63 6f 6e 74 72 69 76 65 64 2c 20 62 65 63 61 75 73 65 20 74 68 65 20 63 6f 6d 70 69 6c 65 2d .contrived,.because.the.compile-
9ab80 74 69 6d 65 20 65 76 61 6c 75 61 74 69 6f 6e 20 63 6f 6d 70 6f 6e 65 6e 74 20 69 73 20 75 6e 6e time.evaluation.component.is.unn
9aba0 65 63 65 73 73 61 72 79 3b 0a 20 20 20 20 20 20 74 68 69 73 20 63 6f 64 65 20 77 6f 75 6c 64 20 ecessary;.......this.code.would.
9abc0 77 6f 72 6b 20 66 69 6e 65 20 69 66 20 69 74 20 77 61 73 20 61 6c 6c 20 64 6f 6e 65 20 61 74 20 work.fine.if.it.was.all.done.at.
9abe0 72 75 6e 2d 74 69 6d 65 2e 20 42 75 74 20 69 74 20 64 6f 65 73 20 65 6e 64 20 75 70 20 67 65 6e run-time..But.it.does.end.up.gen
9ac00 65 72 61 74 69 6e 67 0a 20 20 20 20 20 20 64 69 66 66 65 72 65 6e 74 20 63 6f 64 65 2e 20 49 6e erating.......different.code..In
9ac20 20 74 68 69 73 20 65 78 61 6d 70 6c 65 2c 20 74 68 65 20 66 75 6e 63 74 69 6f 6e 20 3c 63 6f 64 .this.example,.the.function.<cod
9ac40 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 70 65 72 66 6f 72 6d 46 6e 3c 2f e><span.class="line">performFn</
9ac60 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 20 69 73 20 67 65 6e 65 72 61 74 65 64 20 74 68 72 65 65 20 span></code>.is.generated.three.
9ac80 64 69 66 66 65 72 65 6e 74 20 74 69 6d 65 73 2c 0a 20 20 20 20 20 20 20 20 20 20 66 6f 72 20 74 different.times,...........for.t
9aca0 68 65 20 64 69 66 66 65 72 65 6e 74 20 76 61 6c 75 65 73 20 6f 66 20 3c 63 6f 64 65 3e 3c 73 70 he.different.values.of.<code><sp
9acc0 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 70 72 65 66 69 78 5f 63 68 61 72 3c 2f 73 70 61 an.class="line">prefix_char</spa
9ace0 6e 3e 3c 2f 63 6f 64 65 3e 20 70 72 6f 76 69 64 65 64 3a 0a 20 20 20 20 20 20 3c 2f 70 3e 0a 20 n></code>.provided:.......</p>..
9ad00 20 20 20 20 20 3c 66 69 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="
9ad20 7a 69 67 2d 63 61 70 22 3e 3c 63 69 74 65 20 63 6c 61 73 73 3d 22 66 69 6c 65 22 3e 70 65 72 66 zig-cap"><cite.class="file">perf
9ad40 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 3e ormFn_1</cite></figcaption><pre>
9ad60 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 <code><span.class="line"><span.c
9ad80 6c 61 73 73 3d 22 74 6f 6b 2d 63 6f 6d 6d 65 6e 74 22 3e 2f 2f 20 46 72 6f 6d 20 74 68 65 20 6c lass="tok-comment">//.From.the.l
9ada0 69 6e 65 3a 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 ine:</span></span>.<span.class="
9adc0 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 63 6f 6d 6d 65 6e 74 22 3e line"><span.class="tok-comment">
9ade0 2f 2f 20 65 78 70 65 63 74 28 70 65 72 66 6f 72 6d 46 6e 28 27 74 27 2c 20 31 29 20 3d 3d 20 36 //.expect(performFn('t',.1).==.6
9ae00 29 3b 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 );</span></span>.<span.class="li
9ae20 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 66 6e 3c 2f 73 70 61 ne"><span.class="tok-kw">fn</spa
9ae40 6e 3e 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 66 6e 22 3e 70 65 72 66 6f 72 6d 46 n>.<span.class="tok-fn">performF
9ae60 6e 3c 2f 73 70 61 6e 3e 28 73 74 61 72 74 5f 76 61 6c 75 65 3a 20 3c 73 70 61 6e 20 63 6c 61 73 n</span>(start_value:.<span.clas
9ae80 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 69 33 32 3c 2f 73 70 61 6e 3e 29 20 3c 73 70 61 6e 20 63 s="tok-type">i32</span>).<span.c
9aea0 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 69 33 32 3c 2f 73 70 61 6e 3e 20 7b 3c 2f 73 70 lass="tok-type">i32</span>.{</sp
9aec0 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 3c 73 70 61 6e an>.<span.class="line">....<span
9aee0 20 63 6c 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
9af00 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
9af20 70 61 6e 3e 20 3d 20 73 74 61 72 74 5f 76 61 6c 75 65 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e pan>.=.start_value;</span>.<span
9af40 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 72 65 73 75 6c 74 20 3d 20 74 77 6f 28 72 .class="line">....result.=.two(r
9af60 65 73 75 6c 74 29 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 esult);</span>.<span.class="line
9af80 22 3e 20 20 20 20 72 65 73 75 6c 74 20 3d 20 74 68 72 65 65 28 72 65 73 75 6c 74 29 3b 3c 2f 73 ">....result.=.three(result);</s
9afa0 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 3c 73 70 61 pan>.<span.class="line">....<spa
9afc0 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 72 65 74 75 72 6e 3c 2f 73 70 61 6e 3e 20 72 n.class="tok-kw">return</span>.r
9afe0 65 73 75 6c 74 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 esult;</span>.<span.class="line"
9b000 3e 7d 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 3c 2f 70 72 65 3e 3c 2f 66 69 67 75 72 65 3e 0a >}</span></code></pre></figure>.
9b020 20 20 20 20 20 20 3c 66 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=
9b040 22 7a 69 67 2d 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
9b060 66 6f 72 6d 46 6e 5f 32 3c 2f 63 69 74 65 3e 3c 2f 66 69 67 63 61 70 74 69 6f 6e 3e 3c 70 72 65 formFn_2</cite></figcaption><pre
9b080 3e 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 ><code><span.class="line"><span.
9b0a0 63 6c 61 73 73 3d 22 74 6f 6b 2d 63 6f 6d 6d 65 6e 74 22 3e 2f 2f 20 46 72 6f 6d 20 74 68 65 20 class="tok-comment">//.From.the.
9b0c0 6c 69 6e 65 3a 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d line:</span></span>.<span.class=
9b0e0 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 63 6f 6d 6d 65 6e 74 22 "line"><span.class="tok-comment"
9b100 3e 2f 2f 20 65 78 70 65 63 74 28 70 65 72 66 6f 72 6d 46 6e 28 27 6f 27 2c 20 30 29 20 3d 3d 20 >//.expect(performFn('o',.0).==.
9b120 31 29 3b 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 1);</span></span>.<span.class="l
9b140 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 66 6e 3c 2f 73 70 ine"><span.class="tok-kw">fn</sp
9b160 61 6e 3e 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 66 6e 22 3e 70 65 72 66 6f 72 6d an>.<span.class="tok-fn">perform
9b180 46 6e 3c 2f 73 70 61 6e 3e 28 73 74 61 72 74 5f 76 61 6c 75 65 3a 20 3c 73 70 61 6e 20 63 6c 61 Fn</span>(start_value:.<span.cla
9b1a0 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.
9b1c0 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 69 33 32 3c 2f 73 70 61 6e 3e 20 7b 3c 2f 73 class="tok-type">i32</span>.{</s
9b1e0 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 3c 73 70 61 pan>.<span.class="line">....<spa
9b200 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 76 61 72 3c 2f 73 70 61 6e 3e 20 72 65 73 75 n.class="tok-kw">var</span>.resu
9b220 6c 74 3a 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 69 33 32 3c 2f lt:.<span.class="tok-type">i32</
9b240 73 70 61 6e 3e 20 3d 20 73 74 61 72 74 5f 76 61 6c 75 65 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 span>.=.start_value;</span>.<spa
9b260 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 72 65 73 75 6c 74 20 3d 20 6f 6e 65 28 n.class="line">....result.=.one(
9b280 72 65 73 75 6c 74 29 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e result);</span>.<span.class="lin
9b2a0 65 22 3e 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 72 65 74 75 e">....<span.class="tok-kw">retu
9b2c0 72 6e 3c 2f 73 70 61 6e 3e 20 72 65 73 75 6c 74 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 rn</span>.result;</span>.<span.c
9b2e0 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 7d 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 3c 2f 70 72 65 lass="line">}</span></code></pre
9b300 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
9b320 74 69 6f 6e 20 63 6c 61 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
9b340 3d 22 66 69 6c 65 22 3e 70 65 72 66 6f 72 6d 46 6e 5f 33 3c 2f 63 69 74 65 3e 3c 2f 66 69 67 63 ="file">performFn_3</cite></figc
9b360 61 70 74 69 6f 6e 3e 3c 70 72 65 3e 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c aption><pre><code><span.class="l
9b380 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 63 6f 6d 6d 65 6e 74 22 3e 2f ine"><span.class="tok-comment">/
9b3a0 2f 20 46 72 6f 6d 20 74 68 65 20 6c 69 6e 65 3a 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 0a 3c /.From.the.line:</span></span>.<
9b3c0 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 span.class="line"><span.class="t
9b3e0 6f 6b 2d 63 6f 6d 6d 65 6e 74 22 3e 2f 2f 20 65 78 70 65 63 74 28 70 65 72 66 6f 72 6d 46 6e 28 ok-comment">//.expect(performFn(
9b400 27 77 27 2c 20 39 39 29 20 3d 3d 20 39 39 29 3b 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 0a 3c 'w',.99).==.99);</span></span>.<
9b420 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 span.class="line"><span.class="t
9b440 6f 6b 2d 6b 77 22 3e 66 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
9b460 6b 2d 66 6e 22 3e 70 65 72 66 6f 72 6d 46 6e 3c 2f 73 70 61 6e 3e 28 73 74 61 72 74 5f 76 61 6c k-fn">performFn</span>(start_val
9b480 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</
9b4a0 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
9b4c0 32 3c 2f 73 70 61 6e 3e 20 7b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 2</span>.{</span>.<span.class="l
9b4e0 69 6e 65 22 3e 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 76 61 ine">....<span.class="tok-kw">va
9b500 72 3c 2f 73 70 61 6e 3e 20 72 65 73 75 6c 74 3a 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f r</span>.result:.<span.class="to
9b520 6b 2d 74 79 70 65 22 3e 69 33 32 3c 2f 73 70 61 6e 3e 20 3d 20 73 74 61 72 74 5f 76 61 6c 75 65 k-type">i32</span>.=.start_value
9b540 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 ;</span>.<span.class="line">....
9b560 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
9b580 6e 3e 20 72 65 73 75 6c 74 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c n>.result;</span>.<span.class="l
9b5a0 69 6e 65 22 3e 7d 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 3c 2f 70 72 65 3e 3c 2f 66 69 67 75 ine">}</span></code></pre></figu
9b5c0 72 65 3e 0a 20 20 20 20 20 20 3c 70 3e 0a 20 20 20 20 20 20 4e 6f 74 65 20 74 68 61 74 20 74 68 re>.......<p>.......Note.that.th
9b5e0 69 73 20 68 61 70 70 65 6e 73 20 65 76 65 6e 20 69 6e 20 61 20 64 65 62 75 67 20 62 75 69 6c 64 is.happens.even.in.a.debug.build
9b600 3b 20 69 6e 20 61 20 72 65 6c 65 61 73 65 20 62 75 69 6c 64 20 74 68 65 73 65 20 67 65 6e 65 72 ;.in.a.release.build.these.gener
9b620 61 74 65 64 20 66 75 6e 63 74 69 6f 6e 73 20 73 74 69 6c 6c 0a 20 20 20 20 20 20 70 61 73 73 20 ated.functions.still.......pass.
9b640 74 68 72 6f 75 67 68 20 72 69 67 6f 72 6f 75 73 20 4c 4c 56 4d 20 6f 70 74 69 6d 69 7a 61 74 69 through.rigorous.LLVM.optimizati
9b660 6f 6e 73 2e 20 54 68 65 20 69 6d 70 6f 72 74 61 6e 74 20 74 68 69 6e 67 20 74 6f 20 6e 6f 74 65 ons..The.important.thing.to.note
9b680 2c 20 68 6f 77 65 76 65 72 2c 20 69 73 20 6e 6f 74 20 74 68 61 74 20 74 68 69 73 0a 20 20 20 20 ,.however,.is.not.that.this.....
9b6a0 20 20 69 73 20 61 20 77 61 79 20 74 6f 20 77 72 69 74 65 20 6d 6f 72 65 20 6f 70 74 69 6d 69 7a ..is.a.way.to.write.more.optimiz
9b6c0 65 64 20 63 6f 64 65 2c 20 62 75 74 20 74 68 61 74 20 69 74 20 69 73 20 61 20 77 61 79 20 74 6f ed.code,.but.that.it.is.a.way.to
9b6e0 20 6d 61 6b 65 20 73 75 72 65 20 74 68 61 74 20 77 68 61 74 20 3c 65 6d 3e 73 68 6f 75 6c 64 3c .make.sure.that.what.<em>should<
9b700 2f 65 6d 3e 20 68 61 70 70 65 6e 0a 20 20 20 20 20 20 61 74 20 63 6f 6d 70 69 6c 65 2d 74 69 6d /em>.happen.......at.compile-tim
9b720 65 2c 20 3c 65 6d 3e 64 6f 65 73 3c 2f 65 6d 3e 20 68 61 70 70 65 6e 20 61 74 20 63 6f 6d 70 69 e,.<em>does</em>.happen.at.compi
9b740 6c 65 2d 74 69 6d 65 2e 20 54 68 69 73 20 63 61 74 63 68 65 73 20 6d 6f 72 65 20 65 72 72 6f 72 le-time..This.catches.more.error
9b760 73 20 61 6e 64 20 61 73 20 64 65 6d 6f 6e 73 74 72 61 74 65 64 0a 20 20 20 20 20 20 6c 61 74 65 s.and.as.demonstrated.......late
9b780 72 20 69 6e 20 74 68 69 73 20 61 72 74 69 63 6c 65 2c 20 61 6c 6c 6f 77 73 20 65 78 70 72 65 73 r.in.this.article,.allows.expres
9b7a0 73 69 76 65 6e 65 73 73 20 74 68 61 74 20 69 6e 20 6f 74 68 65 72 20 6c 61 6e 67 75 61 67 65 73 siveness.that.in.other.languages
9b7c0 20 72 65 71 75 69 72 65 73 20 75 73 69 6e 67 20 6d 61 63 72 6f 73 2c 0a 20 20 20 20 20 20 67 65 .requires.using.macros,.......ge
9b7e0 6e 65 72 61 74 65 64 20 63 6f 64 65 2c 20 6f 72 20 61 20 70 72 65 70 72 6f 63 65 73 73 6f 72 20 nerated.code,.or.a.preprocessor.
9b800 74 6f 20 61 63 63 6f 6d 70 6c 69 73 68 2e 0a 20 20 20 20 20 20 3c 2f 70 3e 0a 20 20 20 20 20 20 to.accomplish........</p>.......
9b820 0a 20 20 20 20 20 20 3c 68 34 20 69 64 3d 22 43 6f 6d 70 69 6c 65 2d 54 69 6d 65 2d 45 78 70 72 .......<h4.id="Compile-Time-Expr
9b840 65 73 73 69 6f 6e 73 22 3e 3c 61 20 68 72 65 66 3d 22 23 74 6f 63 2d 43 6f 6d 70 69 6c 65 2d 54 essions"><a.href="#toc-Compile-T
9b860 69 6d 65 2d 45 78 70 72 65 73 73 69 6f 6e 73 22 3e 43 6f 6d 70 69 6c 65 2d 54 69 6d 65 20 45 78 ime-Expressions">Compile-Time.Ex
9b880 70 72 65 73 73 69 6f 6e 73 3c 2f 61 3e 20 3c 61 20 63 6c 61 73 73 3d 22 68 64 72 22 20 68 72 65 pressions</a>.<a.class="hdr".hre
9b8a0 66 3d 22 23 43 6f 6d 70 69 6c 65 2d 54 69 6d 65 2d 45 78 70 72 65 73 73 69 6f 6e 73 22 3e c2 a7 f="#Compile-Time-Expressions">..
9b8c0 3c 2f 61 3e 3c 2f 68 34 3e 0a 0a 20 20 20 20 20 20 3c 70 3e 0a 20 20 20 20 20 20 49 6e 20 5a 69 </a></h4>........<p>.......In.Zi
9b8e0 67 2c 20 69 74 20 6d 61 74 74 65 72 73 20 77 68 65 74 68 65 72 20 61 20 67 69 76 65 6e 20 65 78 g,.it.matters.whether.a.given.ex
9b900 70 72 65 73 73 69 6f 6e 20 69 73 20 6b 6e 6f 77 6e 20 61 74 20 63 6f 6d 70 69 6c 65 2d 74 69 6d pression.is.known.at.compile-tim
9b920 65 20 6f 72 20 72 75 6e 2d 74 69 6d 65 2e 20 41 20 70 72 6f 67 72 61 6d 6d 65 72 20 63 61 6e 0a e.or.run-time..A.programmer.can.
9b940 20 20 20 20 20 20 75 73 65 20 61 20 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c ......use.a.<code><span.class="l
9b960 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 63 6f 6d 70 74 69 ine"><span.class="tok-kw">compti
9b980 6d 65 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 20 65 78 70 72 65 73 73 69 me</span></span></code>.expressi
9b9a0 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
9b9c0 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
9b9e0 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
9ba00 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
9ba20 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:......
9ba40 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.
9ba60 63 6c 61 73 73 3d 22 7a 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
9ba80 65 22 3e 74 65 73 74 2e 7a 69 67 3c 2f 63 69 74 65 3e 3c 2f 66 69 67 63 61 70 74 69 6f 6e 3e 3c e">test.zig</cite></figcaption><
9baa0 70 72 65 3e 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 pre><code><span.class="line"><sp
9bac0 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 65 78 74 65 72 6e 3c 2f 73 70 61 6e 3e 20 an.class="tok-kw">extern</span>.
9bae0 3c 73 70 61 6e 20 63 6c 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>.<
9bb00 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 66 6e 22 3e 65 78 69 74 3c 2f 73 70 61 6e 3e 28 span.class="tok-fn">exit</span>(
9bb20 29 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
9bb40 6e 3c 2f 73 70 61 6e 3e 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 n</span>;</span>.<span.class="li
9bb60 6e 65 22 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c ne"></span>.<span.class="line"><
9bb80 73 70 61 6e 20 63 6c 61 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>.
9bba0 3c 73 70 61 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 <span.class="tok-str">&quot;foo&
9bbc0 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 20 7b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 quot;</span>.{</span>.<span.clas
9bbe0 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 s="line">....<span.class="tok-kw
9bc00 22 3e 63 6f 6d 70 74 69 6d 65 3c 2f 73 70 61 6e 3e 20 7b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e ">comptime</span>.{</span>.<span
9bc20 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 20 20 20 20 65 78 69 74 28 29 3b 3c 2f 73 .class="line">........exit();</s
9bc40 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 7d 3c 2f 73 pan>.<span.class="line">....}</s
9bc60 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 7d 3c 2f 73 70 61 6e 3e pan>.<span.class="line">}</span>
9bc80 3c 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
9bca0 69 67 63 61 70 74 69 6f 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
9bcc0 6c 3c 2f 66 69 67 63 61 70 74 69 6f 6e 3e 3c 70 72 65 3e 3c 73 61 6d 70 3e 3c 73 70 61 6e 20 63 l</figcaption><pre><samp><span.c
9bce0 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 24 20 3c 6b 62 64 3e 7a 69 67 20 74 65 73 74 20 74 65 73 74 lass="line">$.<kbd>zig.test.test
9bd00 2e 7a 69 67 3c 2f 6b 62 64 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c .zig</kbd></span>.<span.class="l
9bd20 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 31 5f 30 22 3e 64 6f 63 67 65 6e 5f 74 ine"><span.class="t1_0">docgen_t
9bd40 6d 70 2f 74 65 73 74 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 mp/test.zig:5:13:.</span><span.c
9bd60 6c 61 73 73 3d 22 74 33 31 5f 31 22 3e 65 72 72 6f 72 3a 20 3c 2f 73 70 61 6e 3e 3c 73 70 61 6e lass="t31_1">error:.</span><span
9bd80 20 63 6c 61 73 73 3d 22 74 31 5f 30 22 3e 63 6f 6d 70 74 69 6d 65 20 63 61 6c 6c 20 6f 66 20 65 .class="t1_0">comptime.call.of.e
9bda0 78 74 65 72 6e 20 66 75 6e 63 74 69 6f 6e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 xtern.function</span>.<span.clas
9bdc0 73 3d 22 6c 69 6e 65 22 3e 3c 2f 73 70 61 6e 3e 20 20 20 20 20 20 20 20 65 78 69 74 28 29 3b 3c s="line"></span>........exit();<
9bde0 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 20 20 /span>.<span.class="line">......
9be00 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 33 32 5f 31 22 3e 7e 7e 7e 7e 5e 7e 3c 2f 73 70 ..<span.class="t32_1">~~~~^~</sp
9be20 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 2f 73 70 61 6e 3e 3c 2f an>.<span.class="line"></span></
9be40 73 70 61 6e 3e 0a 3c 2f 73 61 6d 70 3e 3c 2f 70 72 65 3e 3c 2f 66 69 67 75 72 65 3e 0a 20 20 20 span>.</samp></pre></figure>....
9be60 20 20 20 3c 70 3e 0a 20 20 20 20 20 20 49 74 20 64 6f 65 73 6e 27 74 20 6d 61 6b 65 20 73 65 6e ...<p>.......It.doesn't.make.sen
9be80 73 65 20 74 68 61 74 20 61 20 70 72 6f 67 72 61 6d 20 63 6f 75 6c 64 20 63 61 6c 6c 20 3c 63 6f se.that.a.program.could.call.<co
9bea0 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 65 78 69 74 28 29 3c 2f 73 70 de><span.class="line">exit()</sp
9bec0 61 6e 3e 3c 2f 63 6f 64 65 3e 20 28 6f 72 20 61 6e 79 20 6f 74 68 65 72 20 65 78 74 65 72 6e 61 an></code>.(or.any.other.externa
9bee0 6c 20 66 75 6e 63 74 69 6f 6e 29 0a 20 20 20 20 20 20 20 20 20 20 61 74 20 63 6f 6d 70 69 6c 65 l.function)...........at.compile
9bf00 2d 74 69 6d 65 2c 20 73 6f 20 74 68 69 73 20 69 73 20 61 20 63 6f 6d 70 69 6c 65 20 65 72 72 6f -time,.so.this.is.a.compile.erro
9bf20 72 2e 20 48 6f 77 65 76 65 72 2c 20 61 20 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d r..However,.a.<code><span.class=
9bf40 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 63 6f 6d 70 "line"><span.class="tok-kw">comp
9bf60 74 69 6d 65 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 20 65 78 70 72 65 73 time</span></span></code>.expres
9bf80 73 69 6f 6e 20 64 6f 65 73 20 6d 75 63 68 0a 20 20 20 20 20 20 6d 6f 72 65 20 74 68 61 6e 20 73 sion.does.much.......more.than.s
9bfa0 6f 6d 65 74 69 6d 65 73 20 63 61 75 73 65 20 61 20 63 6f 6d 70 69 6c 65 20 65 72 72 6f 72 2e 0a ometimes.cause.a.compile.error..
9bfc0 20 20 20 20 20 20 3c 2f 70 3e 0a 20 20 20 20 20 20 3c 70 3e 0a 20 20 20 20 20 20 57 69 74 68 69 ......</p>.......<p>.......Withi
9bfe0 6e 20 61 20 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 n.a.<code><span.class="line"><sp
9c000 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
9c020 3e 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 20 65 78 70 72 65 73 73 69 6f 6e 3a 0a 20 20 20 20 ></span></code>.expression:.....
9c040 20 20 3c 2f 70 3e 0a 20 20 20 20 20 20 3c 75 6c 3e 0a 20 20 20 20 20 20 20 20 20 20 3c 6c 69 3e ..</p>.......<ul>...........<li>
9c060 41 6c 6c 20 76 61 72 69 61 62 6c 65 73 20 61 72 65 20 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c All.variables.are.<code><span.cl
9c080 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e ass="line"><span.class="tok-kw">
9c0a0 63 6f 6d 70 74 69 6d 65 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 20 76 61 comptime</span></span></code>.va
9c0c0 72 69 61 62 6c 65 73 2e 3c 2f 6c 69 3e 0a 20 20 20 20 20 20 20 20 20 20 3c 6c 69 3e 41 6c 6c 20 riables.</li>...........<li>All.
9c0e0 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 <code><span.class="line"><span.c
9c100 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 69 66 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 3c 2f lass="tok-kw">if</span></span></
9c120 63 6f 64 65 3e 2c 20 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e code>,.<code><span.class="line">
9c140 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 77 68 69 6c 65 3c 2f 73 70 61 6e <span.class="tok-kw">while</span
9c160 3e 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 2c 20 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 ></span></code>,.<code><span.cla
9c180 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 66 ss="line"><span.class="tok-kw">f
9c1a0 6f 72 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 2c 20 61 6e 64 20 3c 63 6f or</span></span></code>,.and.<co
9c1c0 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 de><span.class="line"><span.clas
9c1e0 73 3d 22 74 6f 6b 2d 6b 77 22 3e 73 77 69 74 63 68 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 3c s="tok-kw">switch</span></span><
9c200 2f 63 6f 64 65 3e 0a 20 20 20 20 20 20 20 20 20 20 65 78 70 72 65 73 73 69 6f 6e 73 20 61 72 65 /code>...........expressions.are
9c220 20 65 76 61 6c 75 61 74 65 64 20 61 74 20 63 6f 6d 70 69 6c 65 2d 74 69 6d 65 2c 20 6f 72 20 65 .evaluated.at.compile-time,.or.e
9c240 6d 69 74 20 61 20 63 6f 6d 70 69 6c 65 20 65 72 72 6f 72 20 69 66 20 74 68 69 73 20 69 73 20 6e mit.a.compile.error.if.this.is.n
9c260 6f 74 20 70 6f 73 73 69 62 6c 65 2e 3c 2f 6c 69 3e 0a 20 20 20 20 20 20 20 20 3c 6c 69 3e 41 6c ot.possible.</li>.........<li>Al
9c280 6c 20 66 75 6e 63 74 69 6f 6e 20 63 61 6c 6c 73 20 63 61 75 73 65 20 74 68 65 20 63 6f 6d 70 69 l.function.calls.cause.the.compi
9c2a0 6c 65 72 20 74 6f 20 69 6e 74 65 72 70 72 65 74 20 74 68 65 20 66 75 6e 63 74 69 6f 6e 20 61 74 ler.to.interpret.the.function.at
9c2c0 20 63 6f 6d 70 69 6c 65 2d 74 69 6d 65 2c 20 65 6d 69 74 74 69 6e 67 20 61 0a 20 20 20 20 20 20 .compile-time,.emitting.a.......
9c2e0 20 20 20 20 63 6f 6d 70 69 6c 65 20 65 72 72 6f 72 20 69 66 20 74 68 65 20 66 75 6e 63 74 69 6f ....compile.error.if.the.functio
9c300 6e 20 74 72 69 65 73 20 74 6f 20 64 6f 20 73 6f 6d 65 74 68 69 6e 67 20 74 68 61 74 20 68 61 73 n.tries.to.do.something.that.has
9c320 20 67 6c 6f 62 61 6c 20 72 75 6e 2d 74 69 6d 65 20 73 69 64 65 20 65 66 66 65 63 74 73 2e 3c 2f .global.run-time.side.effects.</
9c340 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>.......
9c360 54 68 69 73 20 6d 65 61 6e 73 20 74 68 61 74 20 61 20 70 72 6f 67 72 61 6d 6d 65 72 20 63 61 6e This.means.that.a.programmer.can
9c380 20 63 72 65 61 74 65 20 61 20 66 75 6e 63 74 69 6f 6e 20 77 68 69 63 68 20 69 73 20 63 61 6c 6c .create.a.function.which.is.call
9c3a0 65 64 20 62 6f 74 68 20 61 74 20 63 6f 6d 70 69 6c 65 2d 74 69 6d 65 20 61 6e 64 20 72 75 6e 2d ed.both.at.compile-time.and.run-
9c3c0 74 69 6d 65 2c 20 77 69 74 68 0a 20 20 20 20 20 20 6e 6f 20 6d 6f 64 69 66 69 63 61 74 69 6f 6e time,.with.......no.modification
9c3e0 20 74 6f 20 74 68 65 20 66 75 6e 63 74 69 6f 6e 20 72 65 71 75 69 72 65 64 2e 0a 20 20 20 20 20 .to.the.function.required.......
9c400 20 3c 2f 70 3e 0a 20 20 20 20 20 20 3c 70 3e 0a 20 20 20 20 20 20 4c 65 74 27 73 20 6c 6f 6f 6b .</p>.......<p>.......Let's.look
9c420 20 61 74 20 61 6e 20 65 78 61 6d 70 6c 65 3a 0a 20 20 20 20 20 20 3c 2f 70 3e 0a 20 20 20 20 20 .at.an.example:.......</p>......
9c440 20 3c 66 69 67 75 72 65 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-
9c460 63 61 70 22 3e 3c 63 69 74 65 20 63 6c 61 73 73 3d 22 66 69 6c 65 22 3e 66 69 62 6f 6e 61 63 63 cap"><cite.class="file">fibonacc
9c480 69 5f 72 65 63 75 72 73 69 6f 6e 2e 7a 69 67 3c 2f 63 69 74 65 3e 3c 2f 66 69 67 63 61 70 74 69 i_recursion.zig</cite></figcapti
9c4a0 6f 6e 3e 3c 70 72 65 3e 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 on><pre><code><span.class="line"
9c4c0 3e 3c 73 70 61 6e 20 63 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
9c4e0 6e 3e 20 65 78 70 65 63 74 20 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 62 75 69 n>.expect.=.<span.class="tok-bui
9c500 6c 74 69 6e 22 3e 40 69 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
9c520 3d 22 74 6f 6b 2d 73 74 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
9c540 3e 29 2e 74 65 73 74 69 6e 67 2e 65 78 70 65 63 74 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 >).testing.expect;</span>.<span.
9c560 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 class="line"></span>.<span.class
9c580 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 66 6e 3c ="line"><span.class="tok-kw">fn<
9c5a0 2f 73 70 61 6e 3e 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 66 6e 22 3e 66 69 62 6f /span>.<span.class="tok-fn">fibo
9c5c0 6e 61 63 63 69 3c 2f 73 70 61 6e 3e 28 69 6e 64 65 78 3a 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d nacci</span>(index:.<span.class=
9c5e0 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
9c600 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 75 33 32 3c 2f 73 70 61 6e 3e 20 7b 3c 2f 73 70 61 6e ss="tok-type">u32</span>.{</span
9c620 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 3c 73 70 61 6e 20 63 >.<span.class="line">....<span.c
9c640 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 69 66 3c 2f 73 70 61 6e 3e 20 28 69 6e 64 65 78 20 26 lass="tok-kw">if</span>.(index.&
9c660 6c 74 3b 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 32 3c 2f lt;.<span.class="tok-number">2</
9c680 73 70 61 6e 3e 29 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 72 65 74 75 span>).<span.class="tok-kw">retu
9c6a0 72 6e 3c 2f 73 70 61 6e 3e 20 69 6e 64 65 78 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c rn</span>.index;</span>.<span.cl
9c6c0 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d ass="line">....<span.class="tok-
9c6e0 6b 77 22 3e 72 65 74 75 72 6e 3c 2f 73 70 61 6e 3e 20 66 69 62 6f 6e 61 63 63 69 28 69 6e 64 65 kw">return</span>.fibonacci(inde
9c700 78 20 2d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 31 3c 2f x.-.<span.class="tok-number">1</
9c720 73 70 61 6e 3e 29 20 2b 20 66 69 62 6f 6e 61 63 63 69 28 69 6e 64 65 78 20 2d 20 3c 73 70 61 6e span>).+.fibonacci(index.-.<span
9c740 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 32 3c 2f 73 70 61 6e 3e 29 3b 3c 2f .class="tok-number">2</span>);</
9c760 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 7d 3c 2f 73 70 61 6e span>.<span.class="line">}</span
9c780 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 >.<span.class="line"></span>.<sp
9c7a0 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b an.class="line"><span.class="tok
9c7c0 2d 6b 77 22 3e 74 65 73 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
9c7e0 6b 2d 73 74 72 22 3e 26 71 75 6f 74 3b 66 69 62 6f 6e 61 63 63 69 26 71 75 6f 74 3b 3c 2f 73 70 k-str">&quot;fibonacci&quot;</sp
9c800 61 6e 3e 20 7b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e an>.{</span>.<span.class="line">
9c820 20 20 20 20 3c 73 70 61 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">//
9c840 20 74 65 73 74 20 66 69 62 6f 6e 61 63 63 69 20 61 74 20 72 75 6e 2d 74 69 6d 65 3c 2f 73 70 61 .test.fibonacci.at.run-time</spa
9c860 6e 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 n></span>.<span.class="line">...
9c880 20 3c 73 70 61 6e 20 63 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>
9c8a0 20 65 78 70 65 63 74 28 66 69 62 6f 6e 61 63 63 69 28 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 .expect(fibonacci(<span.class="t
9c8c0 6f 6b 2d 6e 75 6d 62 65 72 22 3e 37 3c 2f 73 70 61 6e 3e 29 20 3d 3d 20 3c 73 70 61 6e 20 63 6c ok-number">7</span>).==.<span.cl
9c8e0 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 31 33 3c 2f 73 70 61 6e 3e 29 3b 3c 2f 73 70 ass="tok-number">13</span>);</sp
9c900 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 2f 73 70 61 6e 3e 0a 3c an>.<span.class="line"></span>.<
9c920 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 span.class="line">....<span.clas
9c940 73 3d 22 74 6f 6b 2d 63 6f 6d 6d 65 6e 74 22 3e 2f 2f 20 74 65 73 74 20 66 69 62 6f 6e 61 63 63 s="tok-comment">//.test.fibonacc
9c960 69 20 61 74 20 63 6f 6d 70 69 6c 65 2d 74 69 6d 65 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 0a i.at.compile-time</span></span>.
9c980 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 <span.class="line">....<span.cla
9c9a0 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 63 6f 6d 70 74 69 6d 65 3c 2f 73 70 61 6e 3e 20 7b 3c 2f 73 ss="tok-kw">comptime</span>.{</s
9c9c0 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 20 20 20 20 pan>.<span.class="line">........
9c9e0 3c 73 70 61 6e 20 63 6c 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>.
9ca00 65 78 70 65 63 74 28 66 69 62 6f 6e 61 63 63 69 28 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f expect(fibonacci(<span.class="to
9ca20 6b 2d 6e 75 6d 62 65 72 22 3e 37 3c 2f 73 70 61 6e 3e 29 20 3d 3d 20 3c 73 70 61 6e 20 63 6c 61 k-number">7</span>).==.<span.cla
9ca40 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 31 33 3c 2f 73 70 61 6e 3e 29 3b 3c 2f 73 70 61 ss="tok-number">13</span>);</spa
9ca60 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 7d 3c 2f 73 70 61 n>.<span.class="line">....}</spa
9ca80 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 7d 3c 2f 73 70 61 6e 3e 3c 2f n>.<span.class="line">}</span></
9caa0 63 6f 64 65 3e 3c 2f 70 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
9cac0 63 61 70 74 69 6f 6e 20 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<
9cae0 2f 66 69 67 63 61 70 74 69 6f 6e 3e 3c 70 72 65 3e 3c 73 61 6d 70 3e 3c 73 70 61 6e 20 63 6c 61 /figcaption><pre><samp><span.cla
9cb00 73 73 3d 22 6c 69 6e 65 22 3e 24 20 3c 6b 62 64 3e 7a 69 67 20 74 65 73 74 20 66 69 62 6f 6e 61 ss="line">$.<kbd>zig.test.fibona
9cb20 63 63 69 5f 72 65 63 75 72 73 69 6f 6e 2e 7a 69 67 3c 2f 6b 62 64 3e 3c 2f 73 70 61 6e 3e 0a 3c cci_recursion.zig</kbd></span>.<
9cb40 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 31 2f 31 20 74 65 73 74 2e 66 69 62 6f 6e span.class="line">1/1.test.fibon
9cb60 61 63 63 69 2e 2e 2e 20 4f 4b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c acci....OK</span>.<span.class="l
9cb80 69 6e 65 22 3e 41 6c 6c 20 31 20 74 65 73 74 73 20 70 61 73 73 65 64 2e 3c 2f 73 70 61 6e 3e 0a ine">All.1.tests.passed.</span>.
9cba0 3c 2f 73 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>
9cbc0 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
9cbe0 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
9cc00 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.
9cc20 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>
9cc40 3c 66 69 67 63 61 70 74 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
9cc60 65 20 63 6c 61 73 73 3d 22 66 69 6c 65 22 3e 74 65 73 74 2e 7a 69 67 3c 2f 63 69 74 65 3e 3c 2f e.class="file">test.zig</cite></
9cc80 66 69 67 63 61 70 74 69 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
9cca0 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 63 6f s="line"><span.class="tok-kw">co
9ccc0 6e 73 74 3c 2f 73 70 61 6e 3e 20 65 78 70 65 63 74 20 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d nst</span>.expect.=.<span.class=
9cce0 22 74 6f 6b 2d 62 75 69 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
9cd00 61 6e 20 63 6c 61 73 73 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
9cd20 74 3b 3c 2f 73 70 61 6e 3e 29 2e 74 65 73 74 69 6e 67 2e 65 78 70 65 63 74 3b 3c 2f 73 70 61 6e t;</span>).testing.expect;</span
9cd40 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 >.<span.class="line"></span>.<sp
9cd60 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b an.class="line"><span.class="tok
9cd80 2d 6b 77 22 3e 66 6e 3c 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-
9cda0 66 6e 22 3e 66 69 62 6f 6e 61 63 63 69 3c 2f 73 70 61 6e 3e 28 69 6e 64 65 78 3a 20 3c 73 70 61 fn">fibonacci</span>(index:.<spa
9cdc0 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 75 33 32 3c 2f 73 70 61 6e 3e 29 20 3c n.class="tok-type">u32</span>).<
9cde0 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>
9ce00 20 7b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 .{</span>.<span.class="line">...
9ce20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 63 6f 6d 6d 65 6e 74 22 3e 2f 2f 69 66 20 .<span.class="tok-comment">//if.
9ce40 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 3b 3c 2f 73 70 (index.&lt;.2).return.index;</sp
9ce60 61 6e 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 an></span>.<span.class="line">..
9ce80 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
9cea0 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 70 61 6e 20 63 6c 61 pan>.fibonacci(index.-.<span.cla
9cec0 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 2b 20 66 69 62 6f ss="tok-number">1</span>).+.fibo
9cee0 6e 61 63 63 69 28 69 6e 64 65 78 20 2d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e nacci(index.-.<span.class="tok-n
9cf00 75 6d 62 65 72 22 3e 32 3c 2f 73 70 61 6e 3e 29 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 umber">2</span>);</span>.<span.c
9cf20 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 7d 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 lass="line">}</span>.<span.class
9cf40 3d 22 6c 69 6e 65 22 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e ="line"></span>.<span.class="lin
9cf60 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 74 65 73 74 3c 2f 73 70 e"><span.class="tok-kw">test</sp
9cf80 61 6e 3e 20 3c 73 70 61 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;
9cfa0 66 69 62 6f 6e 61 63 63 69 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 20 7b 3c 2f 73 70 61 6e 3e 0a fibonacci&quot;</span>.{</span>.
9cfc0 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 <span.class="line">....<span.cla
9cfe0 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 63 6f 6d 70 74 69 6d 65 3c 2f 73 70 61 6e 3e 20 7b 3c 2f 73 ss="tok-kw">comptime</span>.{</s
9d000 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 20 20 20 20 pan>.<span.class="line">........
9d020 3c 73 70 61 6e 20 63 6c 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>.
9d040 65 78 70 65 63 74 28 66 69 62 6f 6e 61 63 63 69 28 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f expect(fibonacci(<span.class="to
9d060 6b 2d 6e 75 6d 62 65 72 22 3e 37 3c 2f 73 70 61 6e 3e 29 20 3d 3d 20 3c 73 70 61 6e 20 63 6c 61 k-number">7</span>).==.<span.cla
9d080 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 31 33 3c 2f 73 70 61 6e 3e 29 3b 3c 2f 73 70 61 ss="tok-number">13</span>);</spa
9d0a0 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 7d 3c 2f 73 70 61 n>.<span.class="line">....}</spa
9d0c0 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 7d 3c 2f 73 70 61 6e 3e 3c 2f n>.<span.class="line">}</span></
9d0e0 63 6f 64 65 3e 3c 2f 70 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
9d100 63 61 70 74 69 6f 6e 20 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<
9d120 2f 66 69 67 63 61 70 74 69 6f 6e 3e 3c 70 72 65 3e 3c 73 61 6d 70 3e 3c 73 70 61 6e 20 63 6c 61 /figcaption><pre><samp><span.cla
9d140 73 73 3d 22 6c 69 6e 65 22 3e 24 20 3c 6b 62 64 3e 7a 69 67 20 74 65 73 74 20 74 65 73 74 2e 7a ss="line">$.<kbd>zig.test.test.z
9d160 69 67 3c 2f 6b 62 64 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e ig</kbd></span>.<span.class="lin
9d180 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 31 5f 30 22 3e 64 6f 63 67 65 6e 5f 74 6d 70 e"><span.class="t1_0">docgen_tmp
9d1a0 2f 74 65 73 74 2e 7a 69 67 3a 35 3a 32 38 3a 20 3c 2f 73 70 61 6e 3e 3c 73 70 61 6e 20 63 6c 61 /test.zig:5:28:.</span><span.cla
9d1c0 73 73 3d 22 74 33 31 5f 31 22 3e 65 72 72 6f 72 3a 20 3c 2f 73 70 61 6e 3e 3c 73 70 61 6e 20 63 ss="t31_1">error:.</span><span.c
9d1e0 6c 61 73 73 3d 22 74 31 5f 30 22 3e 6f 76 65 72 66 6c 6f 77 20 6f 66 20 69 6e 74 65 67 65 72 20 lass="t1_0">overflow.of.integer.
9d200 74 79 70 65 20 27 75 33 32 27 20 77 69 74 68 20 76 61 6c 75 65 20 27 2d 31 27 3c 2f 73 70 61 6e type.'u32'.with.value.'-1'</span
9d220 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 2f 73 70 61 6e 3e 20 20 20 20 >.<span.class="line"></span>....
9d240 72 65 74 75 72 6e 20 66 69 62 6f 6e 61 63 63 69 28 69 6e 64 65 78 20 2d 20 31 29 20 2b 20 66 69 return.fibonacci(index.-.1).+.fi
9d260 62 6f 6e 61 63 63 69 28 69 6e 64 65 78 20 2d 20 32 29 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e bonacci(index.-.2);</span>.<span
9d280 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 .class="line">..................
9d2a0 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 33 32 5f 31 22 3e 7e 7e 7e 7e 7e 7e 5e 7e 7e ...<span.class="t32_1">~~~~~~^~~
9d2c0 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 2f 73 70 61 </span>.<span.class="line"></spa
9d2e0 6e 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 31 5f 30 22 3e 64 6f 63 67 65 6e 5f 74 6d 70 2f n><span.class="t1_0">docgen_tmp/
9d300 74 65 73 74 2e 7a 69 67 3a 35 3a 32 31 3a 20 3c 2f 73 70 61 6e 3e 3c 73 70 61 6e 20 63 6c 61 73 test.zig:5:21:.</span><span.clas
9d320 73 3d 22 74 33 36 5f 31 22 3e 6e 6f 74 65 3a 20 3c 2f 73 70 61 6e 3e 3c 73 70 61 6e 20 63 6c 61 s="t36_1">note:.</span><span.cla
9d340 73 73 3d 22 74 31 5f 30 22 3e 63 61 6c 6c 65 64 20 66 72 6f 6d 20 68 65 72 65 3c 2f 73 70 61 6e ss="t1_0">called.from.here</span
9d360 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 32 5f 30 22 3e 20 28 37 20 74 69 6d 65 73 29 3c 2f ><span.class="t2_0">.(7.times)</
9d380 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 2f 73 70 61 6e 3e span>.<span.class="line"></span>
9d3a0 20 20 20 20 72 65 74 75 72 6e 20 66 69 62 6f 6e 61 63 63 69 28 69 6e 64 65 78 20 2d 20 31 29 20 ....return.fibonacci(index.-.1).
9d3c0 2b 20 66 69 62 6f 6e 61 63 63 69 28 69 6e 64 65 78 20 2d 20 32 29 3b 3c 2f 73 70 61 6e 3e 0a 3c +.fibonacci(index.-.2);</span>.<
9d3e0 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 20 20 20 20 20 20 20 3c 73 70 span.class="line">...........<sp
9d400 61 6e 20 63 6c 61 73 73 3d 22 74 33 32 5f 31 22 3e 7e 7e 7e 7e 7e 7e 7e 7e 7e 5e 7e 7e 7e 7e 7e an.class="t32_1">~~~~~~~~~^~~~~~
9d420 7e 7e 7e 7e 7e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e ~~~~~</span>.<span.class="line">
9d440 3c 2f 73 70 61 6e 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 31 5f 30 22 3e 64 6f 63 67 65 6e </span><span.class="t1_0">docgen
9d460 5f 74 6d 70 2f 74 65 73 74 2e 7a 69 67 3a 31 30 3a 32 39 3a 20 3c 2f 73 70 61 6e 3e 3c 73 70 61 _tmp/test.zig:10:29:.</span><spa
9d480 6e 20 63 6c 61 73 73 3d 22 74 33 36 5f 31 22 3e 6e 6f 74 65 3a 20 3c 2f 73 70 61 6e 3e 3c 73 70 n.class="t36_1">note:.</span><sp
9d4a0 61 6e 20 63 6c 61 73 73 3d 22 74 31 5f 30 22 3e 63 61 6c 6c 65 64 20 66 72 6f 6d 20 68 65 72 65 an.class="t1_0">called.from.here
9d4c0 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 2f 73 70 61 </span>.<span.class="line"></spa
9d4e0 6e 3e 20 20 20 20 20 20 20 20 74 72 79 20 65 78 70 65 63 74 28 66 69 62 6f 6e 61 63 63 69 28 37 n>........try.expect(fibonacci(7
9d500 29 20 3d 3d 20 31 33 29 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 ).==.13);</span>.<span.class="li
9d520 6e 65 22 3e 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 ne">...................<span.cla
9d540 73 73 3d 22 74 33 32 5f 31 22 3e 7e 7e 7e 7e 7e 7e 7e 7e 7e 5e 7e 7e 3c 2f 73 70 61 6e 3e 0a 3c ss="t32_1">~~~~~~~~~^~~</span>.<
9d560 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e span.class="line"></span></span>
9d580 0a 3c 2f 73 61 6d 70 3e 3c 2f 70 72 65 3e 3c 2f 66 69 67 75 72 65 3e 0a 20 20 20 20 20 20 3c 70 .</samp></pre></figure>.......<p
9d5a0 3e 0a 20 20 20 20 20 20 54 68 65 20 63 6f 6d 70 69 6c 65 72 20 70 72 6f 64 75 63 65 73 20 61 6e >.......The.compiler.produces.an
9d5c0 20 65 72 72 6f 72 20 77 68 69 63 68 20 69 73 20 61 20 73 74 61 63 6b 20 74 72 61 63 65 20 66 72 .error.which.is.a.stack.trace.fr
9d5e0 6f 6d 20 74 72 79 69 6e 67 20 74 6f 20 65 76 61 6c 75 61 74 65 20 74 68 65 0a 20 20 20 20 20 20 om.trying.to.evaluate.the.......
9d600 66 75 6e 63 74 69 6f 6e 20 61 74 20 63 6f 6d 70 69 6c 65 2d 74 69 6d 65 2e 0a 20 20 20 20 20 20 function.at.compile-time........
9d620 3c 2f 70 3e 0a 20 20 20 20 20 20 3c 70 3e 0a 20 20 20 20 20 20 4c 75 63 6b 69 6c 79 2c 20 77 65 </p>.......<p>.......Luckily,.we
9d640 20 75 73 65 64 20 61 6e 20 75 6e 73 69 67 6e 65 64 20 69 6e 74 65 67 65 72 2c 20 61 6e 64 20 73 .used.an.unsigned.integer,.and.s
9d660 6f 20 77 68 65 6e 20 77 65 20 74 72 69 65 64 20 74 6f 20 73 75 62 74 72 61 63 74 20 31 20 66 72 o.when.we.tried.to.subtract.1.fr
9d680 6f 6d 20 30 2c 20 69 74 20 74 72 69 67 67 65 72 65 64 0a 20 20 20 20 20 20 75 6e 64 65 66 69 6e om.0,.it.triggered.......undefin
9d6a0 65 64 20 62 65 68 61 76 69 6f 72 2c 20 77 68 69 63 68 20 69 73 20 61 6c 77 61 79 73 20 61 20 63 ed.behavior,.which.is.always.a.c
9d6c0 6f 6d 70 69 6c 65 20 65 72 72 6f 72 20 69 66 20 74 68 65 20 63 6f 6d 70 69 6c 65 72 20 6b 6e 6f ompile.error.if.the.compiler.kno
9d6e0 77 73 20 69 74 20 68 61 70 70 65 6e 65 64 2e 0a 20 20 20 20 20 20 42 75 74 20 77 68 61 74 20 77 ws.it.happened........But.what.w
9d700 6f 75 6c 64 20 68 61 76 65 20 68 61 70 70 65 6e 65 64 20 69 66 20 77 65 20 75 73 65 64 20 61 20 ould.have.happened.if.we.used.a.
9d720 73 69 67 6e 65 64 20 69 6e 74 65 67 65 72 3f 0a 20 20 20 20 20 20 3c 2f 70 3e 0a 20 20 20 20 20 signed.integer?.......</p>......
9d740 20 3c 66 69 67 75 72 65 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-
9d760 63 61 70 22 3e 3c 63 69 74 65 20 63 6c 61 73 73 3d 22 66 69 6c 65 22 3e 74 65 73 74 2e 7a 69 67 cap"><cite.class="file">test.zig
9d780 3c 2f 63 69 74 65 3e 3c 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><
9d7a0 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 span.class="line"><span.class="t
9d7c0 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
9d7e0 61 6e 20 63 6c 61 73 73 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</
9d800 73 70 61 6e 3e 28 3c 73 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
9d820 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
9d840 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 2f 73 70 ;</span>.<span.class="line"></sp
9d860 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 an>.<span.class="line"><span.cla
9d880 73 73 3d 22 74 6f 6b 2d 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
9d8a0 73 3d 22 74 6f 6b 2d 66 6e 22 3e 66 69 62 6f 6e 61 63 63 69 3c 2f 73 70 61 6e 3e 28 69 6e 64 65 s="tok-fn">fibonacci</span>(inde
9d8c0 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
9d8e0 70 61 6e 3e 29 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 69 33 32 pan>).<span.class="tok-type">i32
9d900 3c 2f 73 70 61 6e 3e 20 7b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 </span>.{</span>.<span.class="li
9d920 6e 65 22 3e 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 63 6f 6d 6d 65 6e 74 ne">....<span.class="tok-comment
9d940 22 3e 2f 2f 69 66 20 28 69 6e 64 65 78 20 26 6c 74 3b 20 32 29 20 72 65 74 75 72 6e 20 69 6e 64 ">//if.(index.&lt;.2).return.ind
9d960 65 78 3b 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c ex;</span></span>.<span.class="l
9d980 69 6e 65 22 3e 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 72 65 ine">....<span.class="tok-kw">re
9d9a0 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
9d9c0 70 61 6e 20 63 6c 61 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>)
9d9e0 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
9da00 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 32 3c 2f 73 70 61 6e 3e 29 3b 3c 2f 73 70 61 6e 3e 0a ="tok-number">2</span>);</span>.
9da20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 7d 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 <span.class="line">}</span>.<spa
9da40 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 n.class="line"></span>.<span.cla
9da60 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 74 ss="line"><span.class="tok-kw">t
9da80 65 73 74 3c 2f 73 70 61 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"
9daa0 3e 26 71 75 6f 74 3b 66 69 62 6f 6e 61 63 63 69 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 20 7b 3c >&quot;fibonacci&quot;</span>.{<
9dac0 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 3c 73 /span>.<span.class="line">....<s
9dae0 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
9db00 6e 3e 20 7b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 n>.{</span>.<span.class="line">.
9db20 20 20 20 20 20 20 20 3c 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<
9db40 2f 73 70 61 6e 3e 20 61 73 73 65 72 74 28 66 69 62 6f 6e 61 63 63 69 28 3c 73 70 61 6e 20 63 6c /span>.assert(fibonacci(<span.cl
9db60 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 37 3c 2f 73 70 61 6e 3e 29 20 3d 3d 20 3c 73 ass="tok-number">7</span>).==.<s
9db80 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 31 33 3c 2f 73 70 61 6e 3e pan.class="tok-number">13</span>
9dba0 29 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 );</span>.<span.class="line">...
9dbc0 20 7d 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 7d 3c 2f .}</span>.<span.class="line">}</
9dbe0 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 3c 2f 70 72 65 3e 3c 2f 66 69 67 75 72 65 3e 0a 20 20 20 20 span></code></pre></figure>.....
9dc00 20 20 3c 70 3e 0a 20 20 20 20 20 20 54 68 65 20 63 6f 6d 70 69 6c 65 72 20 69 73 20 73 75 70 70 ..<p>.......The.compiler.is.supp
9dc20 6f 73 65 64 20 74 6f 20 6e 6f 74 69 63 65 20 74 68 61 74 20 65 76 61 6c 75 61 74 69 6e 67 20 74 osed.to.notice.that.evaluating.t
9dc40 68 69 73 20 66 75 6e 63 74 69 6f 6e 20 61 74 0a 20 20 20 20 20 20 63 6f 6d 70 69 6c 65 2d 74 69 his.function.at.......compile-ti
9dc60 6d 65 20 74 6f 6f 6b 20 6d 6f 72 65 20 74 68 61 6e 20 31 30 30 30 20 62 72 61 6e 63 68 65 73 2c me.took.more.than.1000.branches,
9dc80 20 61 6e 64 20 74 68 75 73 20 65 6d 69 74 73 20 61 6e 20 65 72 72 6f 72 20 61 6e 64 0a 20 20 20 .and.thus.emits.an.error.and....
9dca0 20 20 20 67 69 76 65 73 20 75 70 2e 20 49 66 20 74 68 65 20 70 72 6f 67 72 61 6d 6d 65 72 20 77 ...gives.up..If.the.programmer.w
9dcc0 61 6e 74 73 20 74 6f 20 69 6e 63 72 65 61 73 65 20 74 68 65 20 62 75 64 67 65 74 20 66 6f 72 20 ants.to.increase.the.budget.for.
9dce0 63 6f 6d 70 69 6c 65 2d 74 69 6d 65 0a 20 20 20 20 20 20 63 6f 6d 70 75 74 61 74 69 6f 6e 2c 20 compile-time.......computation,.
9dd00 74 68 65 79 20 63 61 6e 20 75 73 65 20 61 20 62 75 69 6c 74 2d 69 6e 20 66 75 6e 63 74 69 6f 6e they.can.use.a.built-in.function
9dd20 20 63 61 6c 6c 65 64 0a 20 20 20 20 20 20 3c 61 20 68 72 65 66 3d 22 23 73 65 74 45 76 61 6c 42 .called.......<a.href="#setEvalB
9dd40 72 61 6e 63 68 51 75 6f 74 61 22 3e 40 73 65 74 45 76 61 6c 42 72 61 6e 63 68 51 75 6f 74 61 3c ranchQuota">@setEvalBranchQuota<
9dd60 2f 61 3e 20 74 6f 20 63 68 61 6e 67 65 20 74 68 65 20 64 65 66 61 75 6c 74 20 6e 75 6d 62 65 72 /a>.to.change.the.default.number
9dd80 20 31 30 30 30 20 74 6f 0a 20 20 20 20 20 20 73 6f 6d 65 74 68 69 6e 67 20 65 6c 73 65 2e 0a 20 .1000.to.......something.else...
9dda0 20 20 20 20 20 3c 2f 70 3e 0a 20 20 20 20 20 20 3c 70 3e 0a 20 20 20 20 20 20 48 6f 77 65 76 65 .....</p>.......<p>.......Howeve
9ddc0 72 2c 20 74 68 65 72 65 20 69 73 20 61 20 3c 61 20 68 72 65 66 3d 22 68 74 74 70 73 3a 2f 2f 67 r,.there.is.a.<a.href="https://g
9dde0 69 74 68 75 62 2e 63 6f 6d 2f 7a 69 67 6c 61 6e 67 2f 7a 69 67 2f 69 73 73 75 65 73 2f 31 33 37 ithub.com/ziglang/zig/issues/137
9de00 32 34 22 3e 64 65 73 69 67 6e 0a 20 20 20 20 20 20 66 6c 61 77 20 69 6e 20 74 68 65 20 63 6f 6d 24">design.......flaw.in.the.com
9de20 70 69 6c 65 72 3c 2f 61 3e 20 63 61 75 73 69 6e 67 20 69 74 20 74 6f 20 73 74 61 63 6b 20 6f 76 piler</a>.causing.it.to.stack.ov
9de40 65 72 66 6c 6f 77 20 69 6e 73 74 65 61 64 20 6f 66 20 68 61 76 69 6e 67 20 74 68 65 20 70 72 6f erflow.instead.of.having.the.pro
9de60 70 65 72 0a 20 20 20 20 20 20 62 65 68 61 76 69 6f 72 20 68 65 72 65 2e 20 49 27 6d 20 74 65 72 per.......behavior.here..I'm.ter
9de80 72 69 62 6c 79 20 73 6f 72 72 79 20 61 62 6f 75 74 20 74 68 61 74 2e 20 49 20 68 6f 70 65 20 74 ribly.sorry.about.that..I.hope.t
9dea0 6f 20 67 65 74 20 74 68 69 73 20 72 65 73 6f 6c 76 65 64 0a 20 20 20 20 20 20 62 65 66 6f 72 65 o.get.this.resolved.......before
9dec0 20 74 68 65 20 6e 65 78 74 20 72 65 6c 65 61 73 65 2e 0a 20 20 20 20 20 20 3c 2f 70 3e 0a 20 20 .the.next.release........</p>...
9dee0 20 20 20 20 3c 70 3e 0a 20 20 20 20 20 20 57 68 61 74 20 69 66 20 77 65 20 66 69 78 20 74 68 65 ....<p>.......What.if.we.fix.the
9df00 20 62 61 73 65 20 63 61 73 65 2c 20 62 75 74 20 70 75 74 20 74 68 65 20 77 72 6f 6e 67 20 76 61 .base.case,.but.put.the.wrong.va
9df20 6c 75 65 20 69 6e 20 74 68 65 0a 20 20 20 20 20 20 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 lue.in.the.......<code><span.cla
9df40 73 73 3d 22 6c 69 6e 65 22 3e 65 78 70 65 63 74 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 20 6c ss="line">expect</span></code>.l
9df60 69 6e 65 3f 0a 20 20 20 20 20 20 3c 2f 70 3e 0a 20 20 20 20 20 20 3c 66 69 67 75 72 65 3e 3c 66 ine?.......</p>.......<figure><f
9df80 69 67 63 61 70 74 69 6f 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.
9dfa0 63 6c 61 73 73 3d 22 66 69 6c 65 22 3e 74 65 73 74 2e 7a 69 67 3c 2f 63 69 74 65 3e 3c 2f 66 69 class="file">test.zig</cite></fi
9dfc0 67 63 61 70 74 69 6f 6e 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=
9dfe0 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 63 6f 6e 73 "line"><span.class="tok-kw">cons
9e000 74 3c 2f 73 70 61 6e 3e 20 61 73 73 65 72 74 20 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 t</span>.assert.=.<span.class="t
9e020 6f 6b 2d 62 75 69 6c 74 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
9e040 20 63 6c 61 73 73 3d 22 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;
9e060 3c 2f 73 70 61 6e 3e 29 2e 64 65 62 75 67 2e 61 73 73 65 72 74 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 </span>).debug.assert;</span>.<s
9e080 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 pan.class="line"></span>.<span.c
9e0a0 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 lass="line"><span.class="tok-kw"
9e0c0 3e 66 6e 3c 2f 73 70 61 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">
9e0e0 66 69 62 6f 6e 61 63 63 69 3c 2f 73 70 61 6e 3e 28 69 6e 64 65 78 3a 20 3c 73 70 61 6e 20 63 6c fibonacci</span>(index:.<span.cl
9e100 61 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
9e120 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 69 33 32 3c 2f 73 70 61 6e 3e 20 7b 3c 2f .class="tok-type">i32</span>.{</
9e140 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 3c 73 70 span>.<span.class="line">....<sp
9e160 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 69 66 3c 2f 73 70 61 6e 3e 20 28 69 6e 64 an.class="tok-kw">if</span>.(ind
9e180 65 78 20 26 6c 74 3b 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 ex.&lt;.<span.class="tok-number"
9e1a0 3e 32 3c 2f 73 70 61 6e 3e 29 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e >2</span>).<span.class="tok-kw">
9e1c0 72 65 74 75 72 6e 3c 2f 73 70 61 6e 3e 20 69 6e 64 65 78 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 return</span>.index;</span>.<spa
9e1e0 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 n.class="line">....<span.class="
9e200 74 6f 6b 2d 6b 77 22 3e 72 65 74 75 72 6e 3c 2f 73 70 61 6e 3e 20 66 69 62 6f 6e 61 63 63 69 28 tok-kw">return</span>.fibonacci(
9e220 69 6e 64 65 78 20 2d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 index.-.<span.class="tok-number"
9e240 3e 31 3c 2f 73 70 61 6e 3e 29 20 2b 20 66 69 62 6f 6e 61 63 63 69 28 69 6e 64 65 78 20 2d 20 3c >1</span>).+.fibonacci(index.-.<
9e260 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>
9e280 29 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 7d 3c 2f );</span>.<span.class="line">}</
9e2a0 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 2f 73 70 61 6e 3e span>.<span.class="line"></span>
9e2c0 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d .<span.class="line"><span.class=
9e2e0 22 74 6f 6b 2d 6b 77 22 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
9e300 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;
9e320 3c 2f 73 70 61 6e 3e 20 7b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 </span>.{</span>.<span.class="li
9e340 6e 65 22 3e 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 63 6f 6d ne">....<span.class="tok-kw">com
9e360 70 74 69 6d 65 3c 2f 73 70 61 6e 3e 20 7b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 ptime</span>.{</span>.<span.clas
9e380 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f s="line">........<span.class="to
9e3a0 6b 2d 6b 77 22 3e 74 72 79 3c 2f 73 70 61 6e 3e 20 61 73 73 65 72 74 28 66 69 62 6f 6e 61 63 63 k-kw">try</span>.assert(fibonacc
9e3c0 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 73 70 i(<span.class="tok-number">7</sp
9e3e0 61 6e 3e 29 20 3d 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 an>).==.<span.class="tok-number"
9e400 3e 39 39 39 39 39 3c 2f 73 70 61 6e 3e 29 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 >99999</span>);</span>.<span.cla
9e420 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 7d 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 ss="line">....}</span>.<span.cla
9e440 73 73 3d 22 6c 69 6e 65 22 3e 7d 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 3c 2f 70 72 65 3e 3c ss="line">}</span></code></pre><
9e460 2f 66 69 67 75 72 65 3e 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
9e480 73 3d 22 73 68 65 6c 6c 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>
9e4a0 3c 70 72 65 3e 3c 73 61 6d 70 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 24 20 <pre><samp><span.class="line">$.
9e4c0 3c 6b 62 64 3e 7a 69 67 20 74 65 73 74 20 74 65 73 74 2e 7a 69 67 3c 2f 6b 62 64 3e 3c 2f 73 70 <kbd>zig.test.test.zig</kbd></sp
9e4e0 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 an>.<span.class="line"><span.cla
9e500 73 73 3d 22 74 31 5f 30 22 3e 2f 68 6f 6d 65 2f 63 69 2f 72 65 6c 65 61 73 65 2d 30 2e 31 30 2e ss="t1_0">/home/ci/release-0.10.
9e520 31 2f 6f 75 74 2f 7a 69 67 2d 78 38 36 5f 36 34 2d 6c 69 6e 75 78 2d 6d 75 73 6c 2d 62 61 73 65 1/out/zig-x86_64-linux-musl-base
9e540 6c 69 6e 65 2f 6c 69 62 2f 7a 69 67 2f 73 74 64 2f 64 65 62 75 67 2e 7a 69 67 3a 32 37 38 3a 31 line/lib/zig/std/debug.zig:278:1
9e560 34 3a 20 3c 2f 73 70 61 6e 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 33 31 5f 31 22 3e 65 72 4:.</span><span.class="t31_1">er
9e580 72 6f 72 3a 20 3c 2f 73 70 61 6e 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 31 5f 30 22 3e 72 ror:.</span><span.class="t1_0">r
9e5a0 65 61 63 68 65 64 20 75 6e 72 65 61 63 68 61 62 6c 65 20 63 6f 64 65 3c 2f 73 70 61 6e 3e 0a 3c eached.unreachable.code</span>.<
9e5c0 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 2f 73 70 61 6e 3e 20 20 20 20 69 66 20 span.class="line"></span>....if.
9e5e0 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.
9e600 66 61 69 6c 75 72 65 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 failure</span>.<span.class="line
9e620 22 3e 20 20 20 20 20 20 20 20 20 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 33 32 5f ">.............<span.class="t32_
9e640 31 22 3e 5e 7e 7e 7e 7e 7e 7e 7e 7e 7e 7e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 1">^~~~~~~~~~~</span>.<span.clas
9e660 73 3d 22 6c 69 6e 65 22 3e 3c 2f 73 70 61 6e 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 31 5f s="line"></span><span.class="t1_
9e680 30 22 3e 64 6f 63 67 65 6e 5f 74 6d 70 2f 74 65 73 74 2e 7a 69 67 3a 31 30 3a 31 39 3a 20 3c 2f 0">docgen_tmp/test.zig:10:19:.</
9e6a0 73 70 61 6e 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 33 36 5f 31 22 3e 6e 6f 74 65 3a 20 3c span><span.class="t36_1">note:.<
9e6c0 2f 73 70 61 6e 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 31 5f 30 22 3e 63 61 6c 6c 65 64 20 /span><span.class="t1_0">called.
9e6e0 66 72 6f 6d 20 68 65 72 65 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 from.here</span>.<span.class="li
9e700 6e 65 22 3e 3c 2f 73 70 61 6e 3e 20 20 20 20 20 20 20 20 74 72 79 20 61 73 73 65 72 74 28 66 69 ne"></span>........try.assert(fi
9e720 62 6f 6e 61 63 63 69 28 37 29 20 3d 3d 20 39 39 39 39 39 29 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 bonacci(7).==.99999);</span>.<sp
9e740 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 20 20 20 20 20 20 20 20 3c 73 70 61 an.class="line">............<spa
9e760 6e 20 63 6c 61 73 73 3d 22 74 33 32 5f 31 22 3e 7e 7e 7e 7e 7e 7e 5e 7e 7e 7e 7e 7e 7e 7e 7e 7e n.class="t32_1">~~~~~~^~~~~~~~~~
9e780 7e 7e 7e 7e 7e 7e 7e 7e 7e 7e 7e 7e 7e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 ~~~~~~~~~~~~~</span>.<span.class
9e7a0 3d 22 6c 69 6e 65 22 3e 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 0a 3c 2f 73 61 6d 70 3e 3c 2f ="line"></span></span>.</samp></
9e7c0 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 41 pre></figure>........<p>.......A
9e7e0 74 20 3c 61 20 68 72 65 66 3d 22 23 43 6f 6e 74 61 69 6e 65 72 73 22 3e 63 6f 6e 74 61 69 6e 65 t.<a.href="#Containers">containe
9e800 72 3c 2f 61 3e 20 6c 65 76 65 6c 20 28 6f 75 74 73 69 64 65 20 6f 66 20 61 6e 79 20 66 75 6e 63 r</a>.level.(outside.of.any.func
9e820 74 69 6f 6e 29 2c 20 61 6c 6c 20 65 78 70 72 65 73 73 69 6f 6e 73 20 61 72 65 20 69 6d 70 6c 69 tion),.all.expressions.are.impli
9e840 63 69 74 6c 79 0a 20 20 20 20 20 20 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c citly.......<code><span.class="l
9e860 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 63 6f 6d 70 74 69 ine"><span.class="tok-kw">compti
9e880 6d 65 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 20 65 78 70 72 65 73 73 69 me</span></span></code>.expressi
9e8a0 6f 6e 73 2e 20 54 68 69 73 20 6d 65 61 6e 73 20 74 68 61 74 20 77 65 20 63 61 6e 20 75 73 65 20 ons..This.means.that.we.can.use.
9e8c0 66 75 6e 63 74 69 6f 6e 73 20 74 6f 0a 20 20 20 20 20 20 69 6e 69 74 69 61 6c 69 7a 65 20 63 6f functions.to.......initialize.co
9e8e0 6d 70 6c 65 78 20 73 74 61 74 69 63 20 64 61 74 61 2e 20 46 6f 72 20 65 78 61 6d 70 6c 65 3a 0a mplex.static.data..For.example:.
9e900 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
9e920 74 69 6f 6e 20 63 6c 61 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
9e940 3d 22 66 69 6c 65 22 3e 4e 5f 70 72 69 6d 65 73 2e 7a 69 67 3c 2f 63 69 74 65 3e 3c 2f 66 69 67 ="file">N_primes.zig</cite></fig
9e960 63 61 70 74 69 6f 6e 3e 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="
9e980 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 63 6f 6e 73 74 line"><span.class="tok-kw">const
9e9a0 3c 2f 73 70 61 6e 3e 20 66 69 72 73 74 5f 32 35 5f 70 72 69 6d 65 73 20 3d 20 66 69 72 73 74 4e </span>.first_25_primes.=.firstN
9e9c0 50 72 69 6d 65 73 28 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e Primes(<span.class="tok-number">
9e9e0 32 35 3c 2f 73 70 61 6e 3e 29 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 25</span>);</span>.<span.class="
9ea00 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 63 6f 6e 73 74 line"><span.class="tok-kw">const
9ea20 3c 2f 73 70 61 6e 3e 20 73 75 6d 5f 6f 66 5f 66 69 72 73 74 5f 32 35 5f 70 72 69 6d 65 73 20 3d </span>.sum_of_first_25_primes.=
9ea40 20 73 75 6d 28 26 61 6d 70 3b 66 69 72 73 74 5f 32 35 5f 70 72 69 6d 65 73 29 3b 3c 2f 73 70 61 .sum(&amp;first_25_primes);</spa
9ea60 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 n>.<span.class="line"></span>.<s
9ea80 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f pan.class="line"><span.class="to
9eaa0 6b 2d 6b 77 22 3e 66 6e 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
9eac0 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 63 -fn">firstNPrimes</span>(<span.c
9eae0 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 3a lass="tok-kw">comptime</span>.n:
9eb00 20 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
9eb20 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 3e pan>).[n]<span.class="tok-type">
9eb40 69 33 32 3c 2f 73 70 61 6e 3e 20 7b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d i32</span>.{</span>.<span.class=
9eb60 22 6c 69 6e 65 22 3e 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e "line">....<span.class="tok-kw">
9eb80 76 61 72 3c 2f 73 70 61 6e 3e 20 70 72 69 6d 65 5f 6c 69 73 74 3a 20 5b 6e 5d 3c 73 70 61 6e 20 var</span>.prime_list:.[n]<span.
9eba0 63 6c 61 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
9ebc0 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6c 6c 22 3e 75 6e 64 65 66 69 6e 65 64 3c 2f pan.class="tok-null">undefined</
9ebe0 73 70 61 6e 3e 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 span>;</span>.<span.class="line"
9ec00 3e 20 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
9ec20 70 61 6e 3e 20 6e 65 78 74 5f 69 6e 64 65 78 3a 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f pan>.next_index:.<span.class="to
9ec40 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
9ec60 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 30 3c 2f 73 70 61 6e 3e 3b 3c 2f 73 70 61 6e 3e ss="tok-number">0</span>;</span>
9ec80 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 3c 73 70 61 6e 20 63 6c .<span.class="line">....<span.cl
9eca0 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 76 61 72 3c 2f 73 70 61 6e 3e 20 74 65 73 74 5f 6e 75 6d ass="tok-kw">var</span>.test_num
9ecc0 62 65 72 3a 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 69 33 32 3c ber:.<span.class="tok-type">i32<
9ece0 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
9ed00 22 3e 32 3c 2f 73 70 61 6e 3e 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 ">2</span>;</span>.<span.class="
9ed20 6c 69 6e 65 22 3e 20 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 line">....<span.class="tok-kw">w
9ed40 68 69 6c 65 3c 2f 73 70 61 6e 3e 20 28 6e 65 78 74 5f 69 6e 64 65 78 20 26 6c 74 3b 20 70 72 69 hile</span>.(next_index.&lt;.pri
9ed60 6d 65 5f 6c 69 73 74 2e 6c 65 6e 29 20 3a 20 28 74 65 73 74 5f 6e 75 6d 62 65 72 20 2b 3d 20 3c me_list.len).:.(test_number.+=.<
9ed80 73 70 61 6e 20 63 6c 61 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>
9eda0 29 20 7b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 ).{</span>.<span.class="line">..
9edc0 20 20 20 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</
9ede0 73 70 61 6e 3e 20 74 65 73 74 5f 70 72 69 6d 65 5f 69 6e 64 65 78 3a 20 3c 73 70 61 6e 20 63 6c span>.test_prime_index:.<span.cl
9ee00 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
9ee20 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>;
9ee40 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 20 </span>.<span.class="line">.....
9ee60 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
9ee80 6e 3e 20 69 73 5f 70 72 69 6d 65 20 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e n>.is_prime.=.<span.class="tok-n
9eea0 75 6c 6c 22 3e 74 72 75 65 3c 2f 73 70 61 6e 3e 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 ull">true</span>;</span>.<span.c
9eec0 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d lass="line">........<span.class=
9eee0 22 74 6f 6b 2d 6b 77 22 3e 77 68 69 6c 65 3c 2f 73 70 61 6e 3e 20 28 74 65 73 74 5f 70 72 69 6d "tok-kw">while</span>.(test_prim
9ef00 65 5f 69 6e 64 65 78 20 26 6c 74 3b 20 6e 65 78 74 5f 69 6e 64 65 78 29 20 3a 20 28 74 65 73 74 e_index.&lt;.next_index).:.(test
9ef20 5f 70 72 69 6d 65 5f 69 6e 64 65 78 20 2b 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b _prime_index.+=.<span.class="tok
9ef40 2d 6e 75 6d 62 65 72 22 3e 31 3c 2f 73 70 61 6e 3e 29 20 7b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 -number">1</span>).{</span>.<spa
9ef60 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 20 20 20 20 20 20 20 20 3c 73 70 61 6e n.class="line">............<span
9ef80 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 69 66 3c 2f 73 70 61 6e 3e 20 28 74 65 73 74 5f .class="tok-kw">if</span>.(test_
9efa0 6e 75 6d 62 65 72 20 25 20 70 72 69 6d 65 5f 6c 69 73 74 5b 74 65 73 74 5f 70 72 69 6d 65 5f 69 number.%.prime_list[test_prime_i
9efc0 6e 64 65 78 5d 20 3d 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 ndex].==.<span.class="tok-number
9efe0 22 3e 30 3c 2f 73 70 61 6e 3e 29 20 7b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 ">0</span>).{</span>.<span.class
9f000 3d 22 6c 69 6e 65 22 3e 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 69 73 5f 70 72 69 6d 65 ="line">................is_prime
9f020 20 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6c 6c 22 3e 66 61 6c 73 65 3c .=.<span.class="tok-null">false<
9f040 2f 73 70 61 6e 3e 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 /span>;</span>.<span.class="line
9f060 22 3e 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 ">................<span.class="t
9f080 6f 6b 2d 6b 77 22 3e 62 72 65 61 6b 3c 2f 73 70 61 6e 3e 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 ok-kw">break</span>;</span>.<spa
9f0a0 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 20 20 20 20 20 20 20 20 7d 3c 2f 73 70 n.class="line">............}</sp
9f0c0 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 20 20 20 20 7d an>.<span.class="line">........}
9f0e0 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 20 </span>.<span.class="line">.....
9f100 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
9f120 3e 20 28 69 73 5f 70 72 69 6d 65 29 20 7b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 >.(is_prime).{</span>.<span.clas
9f140 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 20 20 20 20 20 20 20 20 70 72 69 6d 65 5f 6c 69 73 74 5b s="line">............prime_list[
9f160 6e 65 78 74 5f 69 6e 64 65 78 5d 20 3d 20 74 65 73 74 5f 6e 75 6d 62 65 72 3b 3c 2f 73 70 61 6e next_index].=.test_number;</span
9f180 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 20 20 20 20 20 20 20 >.<span.class="line">...........
9f1a0 20 6e 65 78 74 5f 69 6e 64 65 78 20 2b 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d .next_index.+=.<span.class="tok-
9f1c0 6e 75 6d 62 65 72 22 3e 31 3c 2f 73 70 61 6e 3e 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 number">1</span>;</span>.<span.c
9f1e0 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 20 20 20 20 7d 3c 2f 73 70 61 6e 3e 0a 3c 73 70 lass="line">........}</span>.<sp
9f200 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 7d 3c 2f 73 70 61 6e 3e 0a 3c 73 70 an.class="line">....}</span>.<sp
9f220 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d an.class="line">....<span.class=
9f240 22 74 6f 6b 2d 6b 77 22 3e 72 65 74 75 72 6e 3c 2f 73 70 61 6e 3e 20 70 72 69 6d 65 5f 6c 69 73 "tok-kw">return</span>.prime_lis
9f260 74 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 7d 3c 2f t;</span>.<span.class="line">}</
9f280 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 2f 73 70 61 6e 3e span>.<span.class="line"></span>
9f2a0 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d .<span.class="line"><span.class=
9f2c0 22 74 6f 6b 2d 6b 77 22 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="
9f2e0 74 6f 6b 2d 66 6e 22 3e 73 75 6d 3c 2f 73 70 61 6e 3e 28 6e 75 6d 62 65 72 73 3a 20 5b 5d 3c 73 tok-fn">sum</span>(numbers:.[]<s
9f300 70 61 6e 20 63 6c 61 73 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>.
9f320 3c 73 70 61 6e 20 63 6c 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
9f340 3e 29 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 69 33 32 3c 2f 73 >).<span.class="tok-type">i32</s
9f360 70 61 6e 3e 20 7b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 pan>.{</span>.<span.class="line"
9f380 3e 20 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
9f3a0 70 61 6e 3e 20 72 65 73 75 6c 74 3a 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 pan>.result:.<span.class="tok-ty
9f3c0 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
9f3e0 6b 2d 6e 75 6d 62 65 72 22 3e 30 3c 2f 73 70 61 6e 3e 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e k-number">0</span>;</span>.<span
9f400 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 .class="line">....<span.class="t
9f420 6f 6b 2d 6b 77 22 3e 66 6f 72 3c 2f 73 70 61 6e 3e 20 28 6e 75 6d 62 65 72 73 29 20 7c 78 7c 20 ok-kw">for</span>.(numbers).|x|.
9f440 7b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 {</span>.<span.class="line">....
9f460 20 20 20 20 72 65 73 75 6c 74 20 2b 3d 20 78 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c ....result.+=.x;</span>.<span.cl
9f480 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 7d 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c ass="line">....}</span>.<span.cl
9f4a0 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d ass="line">....<span.class="tok-
9f4c0 6b 77 22 3e 72 65 74 75 72 6e 3c 2f 73 70 61 6e 3e 20 72 65 73 75 6c 74 3b 3c 2f 73 70 61 6e 3e kw">return</span>.result;</span>
9f4e0 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 7d 3c 2f 73 70 61 6e 3e 0a 3c 73 70 .<span.class="line">}</span>.<sp
9f500 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c an.class="line"></span>.<span.cl
9f520 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e ass="line"><span.class="tok-kw">
9f540 74 65 73 74 3c 2f 73 70 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
9f560 22 3e 26 71 75 6f 74 3b 76 61 72 69 61 62 6c 65 20 76 61 6c 75 65 73 26 71 75 6f 74 3b 3c 2f 73 ">&quot;variable.values&quot;</s
9f580 70 61 6e 3e 20 7b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 pan>.{</span>.<span.class="line"
9f5a0 3e 20 20 20 20 3c 73 70 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
9f5c0 70 61 6e 3e 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 62 75 69 6c 74 69 6e 22 3e 40 pan>.<span.class="tok-builtin">@
9f5e0 69 6d 70 6f 72 74 3c 2f 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
9f600 74 72 22 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
9f620 69 6e 67 2e 65 78 70 65 63 74 28 73 75 6d 5f 6f 66 5f 66 69 72 73 74 5f 32 35 5f 70 72 69 6d 65 ing.expect(sum_of_first_25_prime
9f640 73 20 3d 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 31 30 s.==.<span.class="tok-number">10
9f660 36 30 3c 2f 73 70 61 6e 3e 29 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 60</span>);</span>.<span.class="
9f680 6c 69 6e 65 22 3e 7d 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 3c 2f 70 72 65 3e 3c 2f 66 69 67 line">}</span></code></pre></fig
9f6a0 75 72 65 3e 3c 66 69 67 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
9f6c0 68 65 6c 6c 2d 63 61 70 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
9f6e0 3e 3c 73 61 6d 70 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 24 20 3c 6b 62 64 ><samp><span.class="line">$.<kbd
9f700 3e 7a 69 67 20 74 65 73 74 20 4e 5f 70 72 69 6d 65 73 2e 7a 69 67 3c 2f 6b 62 64 3e 3c 2f 73 70 >zig.test.N_primes.zig</kbd></sp
9f720 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 31 2f 31 20 74 65 73 74 2e an>.<span.class="line">1/1.test.
9f740 76 61 72 69 61 62 6c 65 20 76 61 6c 75 65 73 2e 2e 2e 20 4f 4b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 variable.values....OK</span>.<sp
9f760 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 41 6c 6c 20 31 20 74 65 73 74 73 20 70 61 73 73 an.class="line">All.1.tests.pass
9f780 65 64 2e 3c 2f 73 70 61 6e 3e 0a 3c 2f 73 61 6d 70 3e 3c 2f 70 72 65 3e 3c 2f 66 69 67 75 72 65 ed.</span>.</samp></pre></figure
9f7a0 3e 0a 20 20 20 20 20 20 3c 70 3e 0a 20 20 20 20 20 20 57 68 65 6e 20 77 65 20 63 6f 6d 70 69 6c >.......<p>.......When.we.compil
9f7c0 65 20 74 68 69 73 20 70 72 6f 67 72 61 6d 2c 20 5a 69 67 20 67 65 6e 65 72 61 74 65 73 20 74 68 e.this.program,.Zig.generates.th
9f7e0 65 20 63 6f 6e 73 74 61 6e 74 73 0a 20 20 20 20 20 20 77 69 74 68 20 74 68 65 20 61 6e 73 77 65 e.constants.......with.the.answe
9f800 72 20 70 72 65 2d 63 6f 6d 70 75 74 65 64 2e 20 48 65 72 65 20 61 72 65 20 74 68 65 20 6c 69 6e r.pre-computed..Here.are.the.lin
9f820 65 73 20 66 72 6f 6d 20 74 68 65 20 67 65 6e 65 72 61 74 65 64 20 4c 4c 56 4d 20 49 52 3a 0a 20 es.from.the.generated.LLVM.IR:..
9f840 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 20 63 6c 61 73 73 .....</p>.......<pre><code.class
9f860 3d 22 6c 6c 76 6d 22 3e 40 30 20 3d 20 69 6e 74 65 72 6e 61 6c 20 75 6e 6e 61 6d 65 64 5f 61 64 ="llvm">@0.=.internal.unnamed_ad
9f880 64 72 20 63 6f 6e 73 74 61 6e 74 20 5b 32 35 20 78 20 69 33 32 5d 20 5b 69 33 32 20 32 2c 20 69 dr.constant.[25.x.i32].[i32.2,.i
9f8a0 33 32 20 33 2c 20 69 33 32 20 35 2c 20 69 33 32 20 37 2c 20 69 33 32 20 31 31 2c 20 69 33 32 20 32.3,.i32.5,.i32.7,.i32.11,.i32.
9f8c0 31 33 2c 20 69 33 32 20 31 37 2c 20 69 33 32 20 31 39 2c 20 69 33 32 20 32 33 2c 20 69 33 32 20 13,.i32.17,.i32.19,.i32.23,.i32.
9f8e0 32 39 2c 20 69 33 32 20 33 31 2c 20 69 33 32 20 33 37 2c 20 69 33 32 20 34 31 2c 20 69 33 32 20 29,.i32.31,.i32.37,.i32.41,.i32.
9f900 34 33 2c 20 69 33 32 20 34 37 2c 20 69 33 32 20 35 33 2c 20 69 33 32 20 35 39 2c 20 69 33 32 20 43,.i32.47,.i32.53,.i32.59,.i32.
9f920 36 31 2c 20 69 33 32 20 36 37 2c 20 69 33 32 20 37 31 2c 20 69 33 32 20 37 33 2c 20 69 33 32 20 61,.i32.67,.i32.71,.i32.73,.i32.
9f940 37 39 2c 20 69 33 32 20 38 33 2c 20 69 33 32 20 38 39 2c 20 69 33 32 20 39 37 5d 0a 40 31 20 3d 79,.i32.83,.i32.89,.i32.97].@1.=
9f960 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.
9f980 69 33 32 20 31 30 36 30 3c 2f 63 6f 64 65 3e 3c 2f 70 72 65 3e 0a 20 20 20 20 20 20 3c 70 3e 0a i32.1060</code></pre>.......<p>.
9f9a0 20 20 20 20 20 20 4e 6f 74 65 20 74 68 61 74 20 77 65 20 64 69 64 20 6e 6f 74 20 68 61 76 65 20 ......Note.that.we.did.not.have.
9f9c0 74 6f 20 64 6f 20 61 6e 79 74 68 69 6e 67 20 73 70 65 63 69 61 6c 20 77 69 74 68 20 74 68 65 20 to.do.anything.special.with.the.
9f9e0 73 79 6e 74 61 78 20 6f 66 20 74 68 65 73 65 20 66 75 6e 63 74 69 6f 6e 73 2e 20 46 6f 72 20 65 syntax.of.these.functions..For.e
9fa00 78 61 6d 70 6c 65 2c 0a 20 20 20 20 20 20 77 65 20 63 6f 75 6c 64 20 63 61 6c 6c 20 74 68 65 20 xample,.......we.could.call.the.
9fa20 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 73 75 6d 3c 2f 73 70 <code><span.class="line">sum</sp
9fa40 61 6e 3e 3c 2f 63 6f 64 65 3e 20 66 75 6e 63 74 69 6f 6e 20 61 73 20 69 73 20 77 69 74 68 20 61 an></code>.function.as.is.with.a
9fa60 20 73 6c 69 63 65 20 6f 66 20 6e 75 6d 62 65 72 73 20 77 68 6f 73 65 20 6c 65 6e 67 74 68 20 61 .slice.of.numbers.whose.length.a
9fa80 6e 64 20 76 61 6c 75 65 73 20 77 65 72 65 0a 20 20 20 20 20 20 6f 6e 6c 79 20 6b 6e 6f 77 6e 20 nd.values.were.......only.known.
9faa0 61 74 20 72 75 6e 2d 74 69 6d 65 2e 0a 20 20 20 20 20 20 3c 2f 70 3e 0a 20 20 20 20 20 20 0a 20 at.run-time........</p>.........
9fac0 20 20 20 20 20 0a 20 20 20 20 20 20 3c 68 33 20 69 64 3d 22 47 65 6e 65 72 69 63 2d 44 61 74 61 ............<h3.id="Generic-Data
9fae0 2d 53 74 72 75 63 74 75 72 65 73 22 3e 3c 61 20 68 72 65 66 3d 22 23 74 6f 63 2d 47 65 6e 65 72 -Structures"><a.href="#toc-Gener
9fb00 69 63 2d 44 61 74 61 2d 53 74 72 75 63 74 75 72 65 73 22 3e 47 65 6e 65 72 69 63 20 44 61 74 61 ic-Data-Structures">Generic.Data
9fb20 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 22 20 68 .Structures</a>.<a.class="hdr".h
9fb40 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 22 3e c2 ref="#Generic-Data-Structures">.
9fb60 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 69 67 20 .</a></h3>........<p>.......Zig.
9fb80 75 73 65 73 20 74 68 65 73 65 20 63 61 70 61 62 69 6c 69 74 69 65 73 20 74 6f 20 69 6d 70 6c 65 uses.these.capabilities.to.imple
9fba0 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 65 73 20 77 69 74 ment.generic.data.structures.wit
9fbc0 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 20 73 70 65 63 69 hout.introducing.any.......speci
9fbe0 61 6c 2d 63 61 73 65 20 73 79 6e 74 61 78 2e 20 49 66 20 79 6f 75 20 66 6f 6c 6c 6f 77 65 64 20 al-case.syntax..If.you.followed.
9fc00 61 6c 6f 6e 67 20 73 6f 20 66 61 72 2c 20 79 6f 75 20 6d 61 79 20 61 6c 72 65 61 64 79 20 6b 6e along.so.far,.you.may.already.kn
9fc20 6f 77 20 68 6f 77 20 74 6f 20 63 72 65 61 74 65 20 61 0a 20 20 20 20 20 20 67 65 6e 65 72 69 63 ow.how.to.create.a.......generic
9fc40 20 64 61 74 61 20 73 74 72 75 63 74 75 72 65 2e 0a 20 20 20 20 20 20 3c 2f 70 3e 0a 20 20 20 20 .data.structure........</p>.....
9fc60 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 20 6f 66 20 61 ..<p>....Here.is.an.example.of.a
9fc80 20 67 65 6e 65 72 69 63 20 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 .generic.<code><span.class="line
9fca0 22 3e 4c 69 73 74 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 20 64 61 74 61 20 73 74 72 75 63 74 ">List</span></code>.data.struct
9fcc0 75 72 65 2e 0a 20 20 20 20 20 20 3c 2f 70 3e 0a 20 20 20 20 20 20 3c 66 69 67 75 72 65 3e 3c 66 ure........</p>.......<figure><f
9fce0 69 67 63 61 70 74 69 6f 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.
9fd00 63 6c 61 73 73 3d 22 66 69 6c 65 22 3e 74 65 73 74 2e 7a 69 67 3c 2f 63 69 74 65 3e 3c 2f 66 69 class="file">test.zig</cite></fi
9fd20 67 63 61 70 74 69 6f 6e 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=
9fd40 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 66 6e 3c 2f "line"><span.class="tok-kw">fn</
9fd60 73 70 61 6e 3e 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 66 6e 22 3e 4c 69 73 74 3c span>.<span.class="tok-fn">List<
9fd80 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
9fda0 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-
9fdc0 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="
9fde0 74 6f 6b 2d 74 79 70 65 22 3e 74 79 70 65 3c 2f 73 70 61 6e 3e 20 7b 3c 2f 73 70 61 6e 3e 0a 3c tok-type">type</span>.{</span>.<
9fe00 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 span.class="line">....<span.clas
9fe20 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
9fe40 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 73 74 72 75 63 74 3c 2f 73 70 61 6e 3e 20 7b 3c 2f 73 lass="tok-kw">struct</span>.{</s
9fe60 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 20 20 20 20 pan>.<span.class="line">........
9fe80 69 74 65 6d 73 3a 20 5b 5d 54 2c 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 items:.[]T,</span>.<span.class="
9fea0 6c 69 6e 65 22 3e 20 20 20 20 20 20 20 20 6c 65 6e 3a 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 line">........len:.<span.class="
9fec0 74 6f 6b 2d 74 79 70 65 22 3e 75 73 69 7a 65 3c 2f 73 70 61 6e 3e 2c 3c 2f 73 70 61 6e 3e 0a 3c tok-type">usize</span>,</span>.<
9fee0 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 7d 3b 3c 2f 73 70 61 6e 3e 0a span.class="line">....};</span>.
9ff00 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 7d 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 <span.class="line">}</span>.<spa
9ff20 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 n.class="line"></span>.<span.cla
9ff40 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 63 6f 6d 6d 65 ss="line"><span.class="tok-comme
9ff60 6e 74 22 3e 2f 2f 20 54 68 65 20 67 65 6e 65 72 69 63 20 4c 69 73 74 20 64 61 74 61 20 73 74 72 nt">//.The.generic.List.data.str
9ff80 75 63 74 75 72 65 20 63 61 6e 20 62 65 20 69 6e 73 74 61 6e 74 69 61 74 65 64 20 62 79 20 70 61 ucture.can.be.instantiated.by.pa
9ffa0 73 73 69 6e 67 20 69 6e 20 61 20 74 79 70 65 3a 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 0a 3c ssing.in.a.type:</span></span>.<
9ffc0 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 span.class="line"><span.class="t
9ffe0 6f 6b 2d 6b 77 22 3e 76 61 72 3c 2f 73 70 61 6e 3e 20 62 75 66 66 65 72 3a 20 5b 3c 73 70 61 6e ok-kw">var</span>.buffer:.[<span
a0000 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
a0020 70 61 6e 20 63 6c 61 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>.
a0040 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6c 6c 22 3e 75 6e 64 65 66 69 6e =.<span.class="tok-null">undefin
a0060 65 64 3c 2f 73 70 61 6e 3e 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c ed</span>;</span>.<span.class="l
a0080 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 76 61 72 3c 2f 73 ine"><span.class="tok-kw">var</s
a00a0 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
a00c0 6b 2d 74 79 70 65 22 3e 69 33 32 3c 2f 73 70 61 6e 3e 29 7b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 k-type">i32</span>){</span>.<spa
a00e0 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 2e 69 74 65 6d 73 20 3d 20 26 61 6d 70 n.class="line">.....items.=.&amp
a0100 3b 62 75 66 66 65 72 2c 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e ;buffer,</span>.<span.class="lin
a0120 65 22 3e 20 20 20 20 2e 6c 65 6e 20 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e e">.....len.=.<span.class="tok-n
a0140 75 6d 62 65 72 22 3e 30 3c 2f 73 70 61 6e 3e 2c 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c umber">0</span>,</span>.<span.cl
a0160 61 73 73 3d 22 6c 69 6e 65 22 3e 7d 3b 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 3c 2f 70 72 65 ass="line">};</span></code></pre
a0180 3e 3c 2f 66 69 67 75 72 65 3e 0a 20 20 20 20 20 20 3c 70 3e 0a 20 20 20 20 20 20 54 68 61 74 27 ></figure>.......<p>.......That'
a01a0 73 20 69 74 2e 20 49 74 27 73 20 61 20 66 75 6e 63 74 69 6f 6e 20 74 68 61 74 20 72 65 74 75 72 s.it..It's.a.function.that.retur
a01c0 6e 73 20 61 6e 20 61 6e 6f 6e 79 6d 6f 75 73 20 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 ns.an.anonymous.<code><span.clas
a01e0 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 73 74 s="line"><span.class="tok-kw">st
a0200 72 75 63 74 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 2e 0a 20 20 20 20 20 ruct</span></span></code>.......
a0220 20 54 6f 20 6b 65 65 70 20 74 68 65 20 6c 61 6e 67 75 61 67 65 20 73 6d 61 6c 6c 20 61 6e 64 20 .To.keep.the.language.small.and.
a0240 75 6e 69 66 6f 72 6d 2c 20 61 6c 6c 20 61 67 67 72 65 67 61 74 65 20 74 79 70 65 73 20 69 6e 20 uniform,.all.aggregate.types.in.
a0260 5a 69 67 20 61 72 65 20 61 6e 6f 6e 79 6d 6f 75 73 2e 0a 20 20 20 20 20 20 46 6f 72 20 74 68 65 Zig.are.anonymous........For.the
a0280 20 70 75 72 70 6f 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 .purposes.of.error.messages.and.
a02a0 64 65 62 75 67 67 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 debugging,.Zig.infers.the.name..
a02c0 20 20 20 20 20 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 .....<code><span.class="line"><s
a02e0 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 73 74 72 22 3e 26 71 75 6f 74 3b 4c 69 73 74 28 69 pan.class="tok-str">&quot;List(i
a0300 33 32 29 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 20 66 32)&quot;</span></span></code>.f
a0320 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
a0340 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......
a0360 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
a0380 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.
a03a0 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
a03c0 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>......
a03e0 20 3c 66 69 67 75 72 65 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-
a0400 63 61 70 22 3e 3c 63 69 74 65 20 63 6c 61 73 73 3d 22 66 69 6c 65 22 3e 74 65 73 74 2e 7a 69 67 cap"><cite.class="file">test.zig
a0420 3c 2f 63 69 74 65 3e 3c 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><
a0440 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 span.class="line"><span.class="t
a0460 6f 6b 2d 6b 77 22 3e 63 6f 6e 73 74 3c 2f 73 70 61 6e 3e 20 4e 6f 64 65 20 3d 20 3c 73 70 61 6e ok-kw">const</span>.Node.=.<span
a0480 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 73 74 72 75 63 74 3c 2f 73 70 61 6e 3e 20 7b 3c .class="tok-kw">struct</span>.{<
a04a0 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 6e 65 /span>.<span.class="line">....ne
a04c0 78 74 3a 20 3f 2a 4e 6f 64 65 2c 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 xt:.?*Node,</span>.<span.class="
a04e0 6c 69 6e 65 22 3e 20 20 20 20 6e 61 6d 65 3a 20 5b 5d 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 line">....name:.[]<span.class="t
a0500 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=
a0520 22 74 6f 6b 2d 74 79 70 65 22 3e 75 38 3c 2f 73 70 61 6e 3e 2c 3c 2f 73 70 61 6e 3e 0a 3c 73 70 "tok-type">u8</span>,</span>.<sp
a0540 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 7d 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 an.class="line">};</span>.<span.
a0560 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 class="line"></span>.<span.class
a0580 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 76 61 72 ="line"><span.class="tok-kw">var
a05a0 3c 2f 73 70 61 6e 3e 20 6e 6f 64 65 5f 61 20 3d 20 4e 6f 64 65 7b 3c 2f 73 70 61 6e 3e 0a 3c 73 </span>.node_a.=.Node{</span>.<s
a05c0 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 2e 6e 65 78 74 20 3d 20 3c 73 70 pan.class="line">.....next.=.<sp
a05e0 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 2c an.class="tok-null">null</span>,
a0600 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 2e </span>.<span.class="line">.....
a0620 6e 61 6d 65 20 3d 20 26 61 6d 70 3b 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 73 74 72 name.=.&amp;<span.class="tok-str
a0640 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 3c 2f 73 70 ">&quot;Node.A&quot;</span>,</sp
a0660 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 7d 3b 3c 2f 73 70 61 6e 3e an>.<span.class="line">};</span>
a0680 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 .<span.class="line"></span>.<spa
a06a0 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d n.class="line"><span.class="tok-
a06c0 6b 77 22 3e 76 61 72 3c 2f 73 70 61 6e 3e 20 6e 6f 64 65 5f 62 20 3d 20 4e 6f 64 65 7b 3c 2f 73 kw">var</span>.node_b.=.Node{</s
a06e0 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 2e 6e 65 78 pan>.<span.class="line">.....nex
a0700 74 20 3d 20 26 61 6d 70 3b 6e 6f 64 65 5f 61 2c 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c t.=.&amp;node_a,</span>.<span.cl
a0720 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 2e 6e 61 6d 65 20 3d 20 26 61 6d 70 3b 3c 73 70 61 ass="line">.....name.=.&amp;<spa
a0740 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 73 74 72 22 3e 26 71 75 6f 74 3b 4e 6f 64 65 20 42 26 71 n.class="tok-str">&quot;Node.B&q
a0760 75 6f 74 3b 3c 2f 73 70 61 6e 3e 2c 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d uot;</span>,</span>.<span.class=
a0780 22 6c 69 6e 65 22 3e 7d 3b 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 3c 2f 70 72 65 3e 3c 2f 66 "line">};</span></code></pre></f
a07a0 69 67 75 72 65 3e 0a 20 20 20 20 20 20 3c 70 3e 0a 20 20 20 20 20 20 49 6e 20 74 68 69 73 20 65 igure>.......<p>.......In.this.e
a07c0 78 61 6d 70 6c 65 2c 20 74 68 65 20 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c xample,.the.<code><span.class="l
a07e0 69 6e 65 22 3e 4e 6f 64 65 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 20 73 74 72 75 63 74 20 72 ine">Node</span></code>.struct.r
a0800 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 72 6b efers.to.itself........This.work
a0820 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 61 74 s.because.all.top.level.declarat
a0840 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 20 20 ions.are.order-independent......
a0860 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 64 65 ..As.long.as.the.compiler.can.de
a0880 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 2c 20 termine.the.size.of.the.struct,.
a08a0 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 0a 20 it.is.free.to.refer.to.itself...
a08c0 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 3c 73 70 61 6e 20 63 .....In.this.case,.<code><span.c
a08e0 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 4e 6f 64 65 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 20 72 lass="line">Node</span></code>.r
a0900 65 66 65 72 73 20 74 6f 20 69 74 73 65 6c 66 20 61 73 20 61 20 70 6f 69 6e 74 65 72 2c 20 77 68 efers.to.itself.as.a.pointer,.wh
a0920 69 63 68 20 68 61 73 20 61 0a 20 20 20 20 20 20 77 65 6c 6c 2d 64 65 66 69 6e 65 64 20 73 69 7a ich.has.a.......well-defined.siz
a0940 65 20 61 74 20 63 6f 6d 70 69 6c 65 20 74 69 6d 65 2c 20 73 6f 20 69 74 20 77 6f 72 6b 73 20 66 e.at.compile.time,.so.it.works.f
a0960 69 6e 65 2e 0a 20 20 20 20 20 20 3c 2f 70 3e 0a 20 20 20 20 20 20 0a 20 20 20 20 20 20 3c 68 33 ine........</p>..............<h3
a0980 20 69 64 3d 22 43 61 73 65 2d 53 74 75 64 79 2d 70 72 69 6e 74 2d 69 6e 2d 5a 69 67 22 3e 3c 61 .id="Case-Study-print-in-Zig"><a
a09a0 20 68 72 65 66 3d 22 23 74 6f 63 2d 43 61 73 65 2d 53 74 75 64 79 2d 70 72 69 6e 74 2d 69 6e 2d .href="#toc-Case-Study-print-in-
a09c0 5a 69 67 22 3e 43 61 73 65 20 53 74 75 64 79 3a 20 70 72 69 6e 74 20 69 6e 20 5a 69 67 3c 2f 61 Zig">Case.Study:.print.in.Zig</a
a09e0 3e 20 3c 61 20 63 6c 61 73 73 3d 22 68 64 72 22 20 68 72 65 66 3d 22 23 43 61 73 65 2d 53 74 75 >.<a.class="hdr".href="#Case-Stu
a0a00 64 79 2d 70 72 69 6e 74 2d 69 6e 2d 5a 69 67 22 3e c2 a7 3c 2f 61 3e 3c 2f 68 33 3e 0a 0a 20 20 dy-print-in-Zig">..</a></h3>....
a0a20 20 20 20 20 3c 70 3e 0a 20 20 20 20 20 20 50 75 74 74 69 6e 67 20 61 6c 6c 20 6f 66 20 74 68 69 ....<p>.......Putting.all.of.thi
a0a40 73 20 74 6f 67 65 74 68 65 72 2c 20 6c 65 74 27 73 20 73 65 65 20 68 6f 77 20 3c 63 6f 64 65 3e s.together,.let's.see.how.<code>
a0a60 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 70 72 69 6e 74 3c 2f 73 70 61 6e 3e 3c <span.class="line">print</span><
a0a80 2f 63 6f 64 65 3e 20 77 6f 72 6b 73 20 69 6e 20 5a 69 67 2e 0a 20 20 20 20 20 20 3c 2f 70 3e 0a /code>.works.in.Zig........</p>.
a0aa0 20 20 20 20 20 20 3c 66 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=
a0ac0 22 7a 69 67 2d 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 "zig-cap"><cite.class="file">pri
a0ae0 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><
a0b00 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c code><span.class="line"><span.cl
a0b20 61 73 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.
a0b40 3d 20 3c 73 70 61 6e 20 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
a0b60 6f 72 74 3c 2f 73 70 61 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"
a0b80 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
a0ba0 72 69 6e 74 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e rint;</span>.<span.class="line">
a0bc0 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e </span>.<span.class="line"><span
a0be0 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 63 6f 6e 73 74 3c 2f 73 70 61 6e 3e 20 61 5f 6e .class="tok-kw">const</span>.a_n
a0c00 75 6d 62 65 72 3a 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 69 33 umber:.<span.class="tok-type">i3
a0c20 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
a0c40 65 72 22 3e 31 32 33 34 3c 2f 73 70 61 6e 3e 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c er">1234</span>;</span>.<span.cl
a0c60 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e ass="line"><span.class="tok-kw">
a0c80 63 6f 6e 73 74 3c 2f 73 70 61 6e 3e 20 61 5f 73 74 72 69 6e 67 20 3d 20 3c 73 70 61 6e 20 63 6c const</span>.a_string.=.<span.cl
a0ca0 61 73 73 3d 22 74 6f 6b 2d 73 74 72 22 3e 26 71 75 6f 74 3b 66 6f 6f 62 61 72 26 71 75 6f 74 3b ass="tok-str">&quot;foobar&quot;
a0cc0 3c 2f 73 70 61 6e 3e 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e </span>;</span>.<span.class="lin
a0ce0 65 22 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 e"></span>.<span.class="line"><s
a0d00 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
a0d20 70 61 6e 20 63 6c 61 73 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
a0d40 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>().
a0d60 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
a0d80 6e 3e 20 7b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 n>.{</span>.<span.class="line">.
a0da0 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">&
a0dc0 71 75 6f 74 3b 68 65 72 65 20 69 73 20 61 20 73 74 72 69 6e 67 3a 20 27 7b 73 7d 27 20 68 65 72 quot;here.is.a.string:.'{s}'.her
a0de0 65 20 69 73 20 61 20 6e 75 6d 62 65 72 3a 20 7b 7d 5c 6e 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e e.is.a.number:.{}\n&quot;</span>
a0e00 2c 20 2e 7b 61 5f 73 74 72 69 6e 67 2c 20 61 5f 6e 75 6d 62 65 72 7d 29 3b 3c 2f 73 70 61 6e 3e ,..{a_string,.a_number});</span>
a0e20 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 7d 3c 2f 73 70 61 6e 3e 3c 2f 63 6f .<span.class="line">}</span></co
a0e40 64 65 3e 3c 2f 70 72 65 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
a0e60 70 74 69 6f 6e 20 63 6c 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
a0e80 69 67 63 61 70 74 69 6f 6e 3e 3c 70 72 65 3e 3c 73 61 6d 70 3e 3c 73 70 61 6e 20 63 6c 61 73 73 igcaption><pre><samp><span.class
a0ea0 3d 22 6c 69 6e 65 22 3e 24 20 3c 6b 62 64 3e 7a 69 67 20 62 75 69 6c 64 2d 65 78 65 20 70 72 69 ="line">$.<kbd>zig.build-exe.pri
a0ec0 6e 74 2e 7a 69 67 3c 2f 6b 62 64 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d nt.zig</kbd></span>.<span.class=
a0ee0 22 6c 69 6e 65 22 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 "line"></span>.<span.class="line
a0f00 22 3e 24 20 3c 6b 62 64 3e 2e 2f 70 72 69 6e 74 3c 2f 6b 62 64 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 ">$.<kbd>./print</kbd></span>.<s
a0f20 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 68 65 72 65 20 69 73 20 61 20 73 74 72 69 6e pan.class="line">here.is.a.strin
a0f40 67 3a 20 27 66 6f 6f 62 61 72 27 20 68 65 72 65 20 69 73 20 61 20 6e 75 6d 62 65 72 3a 20 31 32 g:.'foobar'.here.is.a.number:.12
a0f60 33 34 3c 2f 73 70 61 6e 3e 0a 3c 2f 73 61 6d 70 3e 3c 2f 70 72 65 3e 3c 2f 66 69 67 75 72 65 3e 34</span>.</samp></pre></figure>
a0f80 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 70 ........<p>.......Let's.crack.op
a0fa0 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 6e en.the.implementation.of.this.an
a0fc0 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 0a d.see.how.it.works:.......</p>..
a0fe0 20 20 20 20 20 20 3c 66 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=
a1000 22 7a 69 67 2d 63 61 70 22 3e 3c 63 69 74 65 20 63 6c 61 73 73 3d 22 66 69 6c 65 22 3e 70 6f 63 "zig-cap"><cite.class="file">poc
a1020 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 6e _print_fn.zig</cite></figcaption
a1040 3e 3c 70 72 65 3e 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c ><pre><code><span.class="line"><
a1060 73 70 61 6e 20 63 6c 61 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>
a1080 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
a10a0 74 72 75 63 74 3c 2f 73 70 61 6e 3e 20 7b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 truct</span>.{</span>.<span.clas
a10c0 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 63 6f s="line">....<span.class="tok-co
a10e0 6d 6d 65 6e 74 22 3e 2f 2f 2f 20 43 61 6c 6c 73 20 70 72 69 6e 74 20 61 6e 64 20 74 68 65 6e 20 mment">///.Calls.print.and.then.
a1100 66 6c 75 73 68 65 73 20 74 68 65 20 62 75 66 66 65 72 2e 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e flushes.the.buffer.</span></span
a1120 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 3c 73 70 61 6e 20 63 >.<span.class="line">....<span.c
a1140 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
a1160 6c 61 73 73 3d 22 74 6f 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
a1180 61 73 73 3d 22 74 6f 6b 2d 66 6e 22 3e 70 72 69 6e 74 3c 2f 73 70 61 6e 3e 28 73 65 6c 66 3a 20 ass="tok-fn">print</span>(self:.
a11a0 2a 57 72 69 74 65 72 2c 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 63 6f *Writer,.<span.class="tok-kw">co
a11c0 6d 70 74 69 6d 65 3c 2f 73 70 61 6e 3e 20 66 6f 72 6d 61 74 3a 20 5b 5d 3c 73 70 61 6e 20 63 6c mptime</span>.format:.[]<span.cl
a11e0 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 63 6f 6e 73 74 3c 2f 73 70 61 6e 3e 20 3c 73 70 61 6e 20 ass="tok-kw">const</span>.<span.
a1200 63 6c 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 72 67 73 class="tok-type">u8</span>,.args
a1220 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</
a1240 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 61 6e span>).<span.class="tok-type">an
a1260 79 65 72 72 6f 72 3c 2f 73 70 61 6e 3e 21 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 yerror</span>!<span.class="tok-t
a1280 79 70 65 22 3e 76 6f 69 64 3c 2f 73 70 61 6e 3e 20 7b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 ype">void</span>.{</span>.<span.
a12a0 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 class="line">........<span.class
a12c0 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.=.<
a12e0 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>.
a1300 7b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 {</span>.<span.class="line">....
a1320 20 20 20 20 20 20 20 20 73 74 61 72 74 2c 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 ........start,</span>.<span.clas
a1340 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 20 20 20 20 20 20 20 20 6f 70 65 6e 5f 62 72 61 63 65 2c s="line">............open_brace,
a1360 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 20 </span>.<span.class="line">.....
a1380 20 20 20 20 20 20 20 63 6c 6f 73 65 5f 62 72 61 63 65 2c 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e .......close_brace,</span>.<span
a13a0 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 20 20 20 20 7d 3b 3c 2f 73 70 61 6e 3e 0a .class="line">........};</span>.
a13c0 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e <span.class="line"></span>.<span
a13e0 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 .class="line">........<span.clas
a1400 73 3d 22 74 6f 6b 2d 6b 77 22 3e 63 6f 6d 70 74 69 6d 65 3c 2f 73 70 61 6e 3e 20 3c 73 70 61 6e s="tok-kw">comptime</span>.<span
a1420 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 76 61 72 3c 2f 73 70 61 6e 3e 20 73 74 61 72 74 .class="tok-kw">var</span>.start
a1440 5f 69 6e 64 65 78 3a 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 75 _index:.<span.class="tok-type">u
a1460 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
a1480 75 6d 62 65 72 22 3e 30 3c 2f 73 70 61 6e 3e 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c umber">0</span>;</span>.<span.cl
a14a0 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 ass="line">........<span.class="
a14c0 74 6f 6b 2d 6b 77 22 3e 63 6f 6d 70 74 69 6d 65 3c 2f 73 70 61 6e 3e 20 3c 73 70 61 6e 20 63 6c tok-kw">comptime</span>.<span.cl
a14e0 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 76 61 72 3c 2f 73 70 61 6e 3e 20 73 74 61 74 65 20 3d 20 ass="tok-kw">var</span>.state.=.
a1500 53 74 61 74 65 2e 73 74 61 72 74 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d State.start;</span>.<span.class=
a1520 22 6c 69 6e 65 22 3e 20 20 20 20 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d "line">........<span.class="tok-
a1540 6b 77 22 3e 63 6f 6d 70 74 69 6d 65 3c 2f 73 70 61 6e 3e 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d kw">comptime</span>.<span.class=
a1560 22 74 6f 6b 2d 6b 77 22 3e 76 61 72 3c 2f 73 70 61 6e 3e 20 6e 65 78 74 5f 61 72 67 3a 20 3c 73 "tok-kw">var</span>.next_arg:.<s
a1580 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
a15a0 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</
a15c0 73 70 61 6e 3e 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 span>;</span>.<span.class="line"
a15e0 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 ></span>.<span.class="line">....
a1600 20 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<
a1620 2f 73 70 61 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<
a1640 2f 73 70 61 6e 3e 20 28 66 6f 72 6d 61 74 29 20 7c 63 2c 20 69 7c 20 7b 3c 2f 73 70 61 6e 3e 0a /span>.(format).|c,.i|.{</span>.
a1660 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 20 20 20 20 20 20 20 20 3c <span.class="line">............<
a1680 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
a16a0 3e 20 28 73 74 61 74 65 29 20 7b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 >.(state).{</span>.<span.class="
a16c0 6c 69 6e 65 22 3e 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 53 74 61 74 65 2e 73 74 61 72 line">................State.star
a16e0 74 20 3d 26 67 74 3b 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 73 77 69 t.=&gt;.<span.class="tok-kw">swi
a1700 74 63 68 3c 2f 73 70 61 6e 3e 20 28 63 29 20 7b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c tch</span>.(c).{</span>.<span.cl
a1720 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 3c ass="line">....................<
a1740 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 3e 20 span.class="tok-str">'{'</span>.
a1760 3d 26 67 74 3b 20 7b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 =&gt;.{</span>.<span.class="line
a1780 22 3e 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 3c 73 70 61 6e 20 ">........................<span.
a17a0 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 69 66 3c 2f 73 70 61 6e 3e 20 28 73 74 61 72 74 5f class="tok-kw">if</span>.(start_
a17c0 69 6e 64 65 78 20 26 6c 74 3b 20 69 29 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b index.&lt;.i).<span.class="tok-k
a17e0 77 22 3e 74 72 79 3c 2f 73 70 61 6e 3e 20 73 65 6c 66 2e 77 72 69 74 65 28 66 6f 72 6d 61 74 5b w">try</span>.self.write(format[
a1800 73 74 61 72 74 5f 69 6e 64 65 78 2e 2e 69 5d 29 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 start_index..i]);</span>.<span.c
a1820 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 lass="line">....................
a1840 20 20 20 20 73 74 61 74 65 20 3d 20 53 74 61 74 65 2e 6f 70 65 6e 5f 62 72 61 63 65 3b 3c 2f 73 ....state.=.State.open_brace;</s
a1860 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 20 20 20 20 pan>.<span.class="line">........
a1880 20 20 20 20 20 20 20 20 20 20 20 20 7d 2c 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 ............},</span>.<span.clas
a18a0 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 3c 73 70 s="line">....................<sp
a18c0 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 73 74 72 22 3e 27 7d 27 3c 2f 73 70 61 6e 3e 20 3d 26 an.class="tok-str">'}'</span>.=&
a18e0 67 74 3b 20 7b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e gt;.{</span>.<span.class="line">
a1900 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 3c 73 70 61 6e 20 63 6c ........................<span.cl
a1920 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 69 66 3c 2f 73 70 61 6e 3e 20 28 73 74 61 72 74 5f 69 6e ass="tok-kw">if</span>.(start_in
a1940 64 65 78 20 26 6c 74 3b 20 69 29 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 dex.&lt;.i).<span.class="tok-kw"
a1960 3e 74 72 79 3c 2f 73 70 61 6e 3e 20 73 65 6c 66 2e 77 72 69 74 65 28 66 6f 72 6d 61 74 5b 73 74 >try</span>.self.write(format[st
a1980 61 72 74 5f 69 6e 64 65 78 2e 2e 69 5d 29 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 art_index..i]);</span>.<span.cla
a19a0 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ss="line">......................
a19c0 20 20 73 74 61 74 65 20 3d 20 53 74 61 74 65 2e 63 6c 6f 73 65 5f 62 72 61 63 65 3b 3c 2f 73 70 ..state.=.State.close_brace;</sp
a19e0 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 20 20 20 20 20 an>.<span.class="line">.........
a1a00 20 20 20 20 20 20 20 20 20 20 20 7d 2c 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 ...........},</span>.<span.class
a1a20 3d 22 6c 69 6e 65 22 3e 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 3c 73 70 61 ="line">....................<spa
a1a40 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 65 6c 73 65 3c 2f 73 70 61 6e 3e 20 3d 26 67 n.class="tok-kw">else</span>.=&g
a1a60 74 3b 20 7b 7d 2c 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 t;.{},</span>.<span.class="line"
a1a80 3e 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 7d 2c 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e >................},</span>.<span
a1aa0 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 53 74 .class="line">................St
a1ac0 61 74 65 2e 6f 70 65 6e 5f 62 72 61 63 65 20 3d 26 67 74 3b 20 3c 73 70 61 6e 20 63 6c 61 73 73 ate.open_brace.=&gt;.<span.class
a1ae0 3d 22 74 6f 6b 2d 6b 77 22 3e 73 77 69 74 63 68 3c 2f 73 70 61 6e 3e 20 28 63 29 20 7b 3c 2f 73 ="tok-kw">switch</span>.(c).{</s
a1b00 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 20 20 20 20 pan>.<span.class="line">........
a1b20 20 20 20 20 20 20 20 20 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 73 74 72 ............<span.class="tok-str
a1b40 22 3e 27 7b 27 3c 2f 73 70 61 6e 3e 20 3d 26 67 74 3b 20 7b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 ">'{'</span>.=&gt;.{</span>.<spa
a1b60 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 n.class="line">.................
a1b80 20 20 20 20 20 20 20 73 74 61 74 65 20 3d 20 53 74 61 74 65 2e 73 74 61 72 74 3b 3c 2f 73 70 61 .......state.=.State.start;</spa
a1ba0 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 20 20 20 20 20 20 n>.<span.class="line">..........
a1bc0 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 3c 2f ..............start_index.=.i;</
a1be0 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 20 20 20 span>.<span.class="line">.......
a1c00 20 20 20 20 20 20 20 20 20 20 20 20 20 7d 2c 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 .............},</span>.<span.cla
a1c20 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 3c 73 ss="line">....................<s
a1c40 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 73 74 72 22 3e 27 7d 27 3c 2f 73 70 61 6e 3e 20 3d pan.class="tok-str">'}'</span>.=
a1c60 26 67 74 3b 20 7b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 &gt;.{</span>.<span.class="line"
a1c80 3e 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 3c 73 70 61 6e 20 63 >........................<span.c
a1ca0 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 74 72 79 3c 2f 73 70 61 6e 3e 20 73 65 6c 66 2e 70 72 lass="tok-kw">try</span>.self.pr
a1cc0 69 6e 74 56 61 6c 75 65 28 61 72 67 73 5b 6e 65 78 74 5f 61 72 67 5d 29 3b 3c 2f 73 70 61 6e 3e intValue(args[next_arg]);</span>
a1ce0 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 20 20 20 20 20 20 20 20 .<span.class="line">............
a1d00 20 20 20 20 20 20 20 20 20 20 20 20 6e 65 78 74 5f 61 72 67 20 2b 3d 20 3c 73 70 61 6e 20 63 6c ............next_arg.+=.<span.cl
a1d20 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 31 3c 2f 73 70 61 6e 3e 3b 3c 2f 73 70 61 6e ass="tok-number">1</span>;</span
a1d40 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 20 20 20 20 20 20 20 >.<span.class="line">...........
a1d60 20 20 20 20 20 20 20 20 20 20 20 20 20 73 74 61 74 65 20 3d 20 53 74 61 74 65 2e 73 74 61 72 74 .............state.=.State.start
a1d80 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 ;</span>.<span.class="line">....
a1da0 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 65 78 20 ....................start_index.
a1dc0 3d 20 69 20 2b 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 31 =.i.+.<span.class="tok-number">1
a1de0 3c 2f 73 70 61 6e 3e 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e </span>;</span>.<span.class="lin
a1e00 65 22 3e 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 7d 2c 3c 2f 73 70 61 6e 3e e">....................},</span>
a1e20 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 20 20 20 20 20 20 20 20 .<span.class="line">............
a1e40 20 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 73 ........<span.class="tok-str">'s
a1e60 27 3c 2f 73 70 61 6e 3e 20 3d 26 67 74 3b 20 7b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c '</span>.=&gt;.{</span>.<span.cl
a1e80 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ass="line">.....................
a1ea0 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 63 6f 6e 74 69 6e 75 65 ...<span.class="tok-kw">continue
a1ec0 3c 2f 73 70 61 6e 3e 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e </span>;</span>.<span.class="lin
a1ee0 65 22 3e 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 7d 2c 3c 2f 73 70 61 6e 3e e">....................},</span>
a1f00 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 20 20 20 20 20 20 20 20 .<span.class="line">............
a1f20 20 20 20 20 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 65 6c 73 ........<span.class="tok-kw">els
a1f40 65 3c 2f 73 70 61 6e 3e 20 3d 26 67 74 3b 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d e</span>.=&gt;.<span.class="tok-
a1f60 62 75 69 6c 74 69 6e 22 3e 40 63 6f 6d 70 69 6c 65 45 72 72 6f 72 3c 2f 73 70 61 6e 3e 28 3c 73 builtin">@compileError</span>(<s
a1f80 70 61 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 6e 6f 77 pan.class="tok-str">&quot;Unknow
a1fa0 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 70 61 6e n.format.character:.&quot;</span
a1fc0 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 22 3e 31 >.++.[<span.class="tok-number">1
a1fe0 3c 2f 73 70 61 6e 3e 5d 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 75 </span>]<span.class="tok-type">u
a2000 38 3c 2f 73 70 61 6e 3e 7b 63 7d 29 2c 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 8</span>{c}),</span>.<span.class
a2020 3d 22 6c 69 6e 65 22 3e 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 7d 2c 3c 2f 73 70 61 6e ="line">................},</span
a2040 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 20 20 20 20 20 20 20 >.<span.class="line">...........
a2060 20 20 20 20 20 53 74 61 74 65 2e 63 6c 6f 73 65 5f 62 72 61 63 65 20 3d 26 67 74 3b 20 3c 73 70 .....State.close_brace.=&gt;.<sp
a2080 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>.
a20a0 28 63 29 20 7b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e (c).{</span>.<span.class="line">
a20c0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d ....................<span.class=
a20e0 22 74 6f 6b 2d 73 74 72 22 3e 27 7d 27 3c 2f 73 70 61 6e 3e 20 3d 26 67 74 3b 20 7b 3c 2f 73 70 "tok-str">'}'</span>.=&gt;.{</sp
a2100 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 20 20 20 20 20 an>.<span.class="line">.........
a2120 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 73 74 61 74 65 20 3d 20 53 74 61 74 65 2e 73 74 61 ...............state.=.State.sta
a2140 72 74 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 rt;</span>.<span.class="line">..
a2160 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 65 ......................start_inde
a2180 78 20 3d 20 69 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 x.=.i;</span>.<span.class="line"
a21a0 3e 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 7d 2c 3c 2f 73 70 61 6e 3e 0a 3c >....................},</span>.<
a21c0 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 20 20 20 20 20 20 20 20 20 20 span.class="line">..............
a21e0 20 20 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 65 6c 73 65 3c ......<span.class="tok-kw">else<
a2200 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 62 75 /span>.=&gt;.<span.class="tok-bu
a2220 69 6c 74 69 6e 22 3e 40 63 6f 6d 70 69 6c 65 45 72 72 6f 72 3c 2f 73 70 61 6e 3e 28 3c 73 70 61 iltin">@compileError</span>(<spa
a2240 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 73 74 72 22 3e 26 71 75 6f 74 3b 53 69 6e 67 6c 65 20 27 n.class="tok-str">&quot;Single.'
a2260 7d 27 20 65 6e 63 6f 75 6e 74 65 72 65 64 20 69 6e 20 66 6f 72 6d 61 74 20 73 74 72 69 6e 67 26 }'.encountered.in.format.string&
a2280 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 29 2c 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 quot;</span>),</span>.<span.clas
a22a0 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 7d 2c 3c 2f 73 70 61 s="line">................},</spa
a22c0 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 20 20 20 20 20 20 n>.<span.class="line">..........
a22e0 20 20 7d 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 ..}</span>.<span.class="line">..
a2300 20 20 20 20 20 20 7d 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 ......}</span>.<span.class="line
a2320 22 3e 20 20 20 20 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 63 ">........<span.class="tok-kw">c
a2340 6f 6d 70 74 69 6d 65 3c 2f 73 70 61 6e 3e 20 7b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c omptime</span>.{</span>.<span.cl
a2360 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 20 20 20 20 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 ass="line">............<span.cla
a2380 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 69 66 3c 2f 73 70 61 6e 3e 20 28 61 72 67 73 2e 6c 65 6e 20 ss="tok-kw">if</span>.(args.len.
a23a0 21 3d 20 6e 65 78 74 5f 61 72 67 29 20 7b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 !=.next_arg).{</span>.<span.clas
a23c0 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 3c 73 70 61 6e 20 63 s="line">................<span.c
a23e0 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 72 lass="tok-builtin">@compileError
a2400 3c 2f 73 70 61 6e 3e 28 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
a2420 75 6f 74 3b 55 6e 75 73 65 64 20 61 72 67 75 6d 65 6e 74 73 26 71 75 6f 74 3b 3c 2f 73 70 61 6e uot;Unused.arguments&quot;</span
a2440 3e 29 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 >);</span>.<span.class="line">..
a2460 20 20 20 20 20 20 20 20 20 20 7d 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 ..........}</span>.<span.class="
a2480 6c 69 6e 65 22 3e 20 20 20 20 20 20 20 20 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 line">............<span.class="t
a24a0 6f 6b 2d 6b 77 22 3e 69 66 3c 2f 73 70 61 6e 3e 20 28 73 74 61 74 65 20 21 3d 20 53 74 61 74 65 ok-kw">if</span>.(state.!=.State
a24c0 2e 73 74 61 72 74 29 20 7b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 .start).{</span>.<span.class="li
a24e0 6e 65 22 3e 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d ne">................<span.class=
a2500 22 74 6f 6b 2d 62 75 69 6c 74 69 6e 22 3e 40 63 6f 6d 70 69 6c 65 45 72 72 6f 72 3c 2f 73 70 61 "tok-builtin">@compileError</spa
a2520 6e 3e 28 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 73 74 72 22 3e 26 71 75 6f 74 3b 49 n>(<span.class="tok-str">&quot;I
a2540 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 74 3b 3c ncomplete.format.string:.&quot;<
a2560 2f 73 70 61 6e 3e 20 2b 2b 20 66 6f 72 6d 61 74 29 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 /span>.++.format);</span>.<span.
a2580 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 20 20 20 20 20 20 20 20 7d 3c 2f 73 70 61 6e class="line">............}</span
a25a0 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 20 20 20 20 7d 3c 2f >.<span.class="line">........}</
a25c0 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 20 20 20 span>.<span.class="line">.......
a25e0 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>.
a2600 28 73 74 61 72 74 5f 69 6e 64 65 78 20 26 6c 74 3b 20 66 6f 72 6d 61 74 2e 6c 65 6e 29 20 7b 3c (start_index.&lt;.format.len).{<
a2620 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 20 20 /span>.<span.class="line">......
a2640 20 20 20 20 20 20 3c 73 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</
a2660 73 70 61 6e 3e 20 73 65 6c 66 2e 77 72 69 74 65 28 66 6f 72 6d 61 74 5b 73 74 61 72 74 5f 69 6e span>.self.write(format[start_in
a2680 64 65 78 2e 2e 66 6f 72 6d 61 74 2e 6c 65 6e 5d 29 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 dex..format.len]);</span>.<span.
a26a0 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 20 20 20 20 7d 3c 2f 73 70 61 6e 3e 0a 3c 73 class="line">........}</span>.<s
a26c0 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 20 20 20 20 3c 73 70 61 6e 20 63 pan.class="line">........<span.c
a26e0 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 74 72 79 3c 2f 73 70 61 6e 3e 20 73 65 6c 66 2e 66 6c lass="tok-kw">try</span>.self.fl
a2700 75 73 68 28 29 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 ush();</span>.<span.class="line"
a2720 3e 20 20 20 20 7d 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 >....}</span>.<span.class="line"
a2740 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 ></span>.<span.class="line">....
a2760 3c 73 70 61 6e 20 63 6c 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>.<
a2780 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 66 6e 22 3e 77 72 69 74 65 3c 2f 73 70 61 6e 3e span.class="tok-fn">write</span>
a27a0 28 73 65 6c 66 3a 20 2a 57 72 69 74 65 72 2c 20 76 61 6c 75 65 3a 20 5b 5d 3c 73 70 61 6e 20 63 (self:.*Writer,.value:.[]<span.c
a27c0 6c 61 73 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
a27e0 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 75 38 3c 2f 73 70 61 6e 3e 29 20 21 3c 73 .class="tok-type">u8</span>).!<s
a2800 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>
a2820 20 7b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 .{</span>.<span.class="line">...
a2840 20 20 20 20 20 5f 20 3d 20 73 65 6c 66 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 ....._.=.self;</span>.<span.clas
a2860 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 20 20 20 20 5f 20 3d 20 76 61 6c 75 65 3b 3c 2f 73 70 61 s="line">........_.=.value;</spa
a2880 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 7d 3c 2f 73 70 61 n>.<span.class="line">....}</spa
a28a0 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 3c 73 70 61 6e 20 n>.<span.class="line">....<span.
a28c0 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.
a28e0 63 6c 61 73 73 3d 22 74 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
a2900 6c 61 73 73 3d 22 74 6f 6b 2d 66 6e 22 3e 70 72 69 6e 74 56 61 6c 75 65 3c 2f 73 70 61 6e 3e 28 lass="tok-fn">printValue</span>(
a2920 73 65 6c 66 3a 20 2a 57 72 69 74 65 72 2c 20 76 61 6c 75 65 3a 20 3c 73 70 61 6e 20 63 6c 61 73 self:.*Writer,.value:.<span.clas
a2940 73 3d 22 74 6f 6b 2d 6b 77 22 3e 61 6e 79 74 79 70 65 3c 2f 73 70 61 6e 3e 29 20 21 3c 73 70 61 s="tok-kw">anytype</span>).!<spa
a2960 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>.{
a2980 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 20 </span>.<span.class="line">.....
a29a0 20 20 20 5f 20 3d 20 73 65 6c 66 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d ..._.=.self;</span>.<span.class=
a29c0 22 6c 69 6e 65 22 3e 20 20 20 20 20 20 20 20 5f 20 3d 20 76 61 6c 75 65 3b 3c 2f 73 70 61 6e 3e "line">........_.=.value;</span>
a29e0 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 7d 3c 2f 73 70 61 6e 3e .<span.class="line">....}</span>
a2a00 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 3c 73 70 61 6e 20 63 6c .<span.class="line">....<span.cl
a2a20 61 73 73 3d 22 74 6f 6b 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
a2a40 73 73 3d 22 74 6f 6b 2d 66 6e 22 3e 66 6c 75 73 68 3c 2f 73 70 61 6e 3e 28 73 65 6c 66 3a 20 2a ss="tok-fn">flush</span>(self:.*
a2a60 57 72 69 74 65 72 29 20 21 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e Writer).!<span.class="tok-type">
a2a80 76 6f 69 64 3c 2f 73 70 61 6e 3e 20 7b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 void</span>.{</span>.<span.class
a2aa0 3d 22 6c 69 6e 65 22 3e 20 20 20 20 20 20 20 20 5f 20 3d 20 73 65 6c 66 3b 3c 2f 73 70 61 6e 3e ="line">........_.=.self;</span>
a2ac0 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 7d 3c 2f 73 70 61 6e 3e .<span.class="line">....}</span>
a2ae0 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 7d 3b 3c 2f 73 70 61 6e 3e 3c 2f 63 .<span.class="line">};</span></c
a2b00 6f 64 65 3e 3c 2f 70 72 65 3e 3c 2f 66 69 67 75 72 65 3e 0a 20 20 20 20 20 20 3c 70 3e 0a 20 20 ode></pre></figure>.......<p>...
a2b20 20 20 20 20 54 68 69 73 20 69 73 20 61 20 70 72 6f 6f 66 20 6f 66 20 63 6f 6e 63 65 70 74 20 69 ....This.is.a.proof.of.concept.i
a2b40 6d 70 6c 65 6d 65 6e 74 61 74 69 6f 6e 3b 20 74 68 65 20 61 63 74 75 61 6c 20 66 75 6e 63 74 69 mplementation;.the.actual.functi
a2b60 6f 6e 20 69 6e 20 74 68 65 20 73 74 61 6e 64 61 72 64 20 6c 69 62 72 61 72 79 20 68 61 73 20 6d on.in.the.standard.library.has.m
a2b80 6f 72 65 0a 20 20 20 20 20 20 66 6f 72 6d 61 74 74 69 6e 67 20 63 61 70 61 62 69 6c 69 74 69 65 ore.......formatting.capabilitie
a2ba0 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 4e 6f s........</p>.......<p>.......No
a2bc0 74 65 20 74 68 61 74 20 74 68 69 73 20 69 73 20 6e 6f 74 20 68 61 72 64 2d 63 6f 64 65 64 20 69 te.that.this.is.not.hard-coded.i
a2be0 6e 74 6f 20 74 68 65 20 5a 69 67 20 63 6f 6d 70 69 6c 65 72 3b 20 74 68 69 73 20 69 73 20 75 73 nto.the.Zig.compiler;.this.is.us
a2c00 65 72 6c 61 6e 64 20 63 6f 64 65 20 69 6e 20 74 68 65 20 73 74 61 6e 64 61 72 64 20 6c 69 62 72 erland.code.in.the.standard.libr
a2c20 61 72 79 2e 0a 20 20 20 20 20 20 3c 2f 70 3e 0a 20 20 20 20 20 20 3c 70 3e 0a 20 20 20 20 20 20 ary........</p>.......<p>.......
a2c40 57 68 65 6e 20 74 68 69 73 20 66 75 6e 63 74 69 6f 6e 20 69 73 20 61 6e 61 6c 79 7a 65 64 20 66 When.this.function.is.analyzed.f
a2c60 72 6f 6d 20 6f 75 72 20 65 78 61 6d 70 6c 65 20 63 6f 64 65 20 61 62 6f 76 65 2c 20 5a 69 67 20 rom.our.example.code.above,.Zig.
a2c80 70 61 72 74 69 61 6c 6c 79 20 65 76 61 6c 75 61 74 65 73 20 74 68 65 20 66 75 6e 63 74 69 6f 6e partially.evaluates.the.function
a2ca0 0a 20 20 20 20 20 20 61 6e 64 20 65 6d 69 74 73 20 61 20 66 75 6e 63 74 69 6f 6e 20 74 68 61 74 .......and.emits.a.function.that
a2cc0 20 61 63 74 75 61 6c 6c 79 20 6c 6f 6f 6b 73 20 6c 69 6b 65 20 74 68 69 73 3a 0a 20 20 20 20 20 .actually.looks.like.this:......
a2ce0 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.
a2d00 63 6c 61 73 73 3d 22 7a 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
a2d20 65 22 3e 45 6d 69 74 74 65 64 20 70 72 69 6e 74 20 46 75 6e 63 74 69 6f 6e 3c 2f 63 69 74 65 3e e">Emitted.print.Function</cite>
a2d40 3c 2f 66 69 67 63 61 70 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
a2d60 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e ass="line"><span.class="tok-kw">
a2d80 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">
a2da0 66 6e 3c 2f 73 70 61 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
a2dc0 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 30 3a rint</span>(self:.*Writer,.arg0:
a2de0 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
a2e00 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</
a2e20 73 70 61 6e 3e 2c 20 61 72 67 31 3a 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 span>,.arg1:.<span.class="tok-ty
a2e40 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 74 6f pe">i32</span>).!<span.class="to
a2e60 6b 2d 74 79 70 65 22 3e 76 6f 69 64 3c 2f 73 70 61 6e 3e 20 7b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 k-type">void</span>.{</span>.<sp
a2e80 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d an.class="line">....<span.class=
a2ea0 22 74 6f 6b 2d 6b 77 22 3e 74 72 79 3c 2f 73 70 61 6e 3e 20 73 65 6c 66 2e 77 72 69 74 65 28 3c "tok-kw">try</span>.self.write(<
a2ec0 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 73 74 72 22 3e 26 71 75 6f 74 3b 68 65 72 65 20 span.class="tok-str">&quot;here.
a2ee0 69 73 20 61 20 73 74 72 69 6e 67 3a 20 27 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 29 3b 3c 2f 73 is.a.string:.'&quot;</span>);</s
a2f00 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 3c 73 70 61 pan>.<span.class="line">....<spa
a2f20 6e 20 63 6c 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
a2f40 2e 70 72 69 6e 74 56 61 6c 75 65 28 61 72 67 30 29 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 .printValue(arg0);</span>.<span.
a2f60 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f class="line">....<span.class="to
a2f80 6b 2d 6b 77 22 3e 74 72 79 3c 2f 73 70 61 6e 3e 20 73 65 6c 66 2e 77 72 69 74 65 28 3c 73 70 61 k-kw">try</span>.self.write(<spa
a2fa0 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 73 74 72 22 3e 26 71 75 6f 74 3b 27 20 68 65 72 65 20 69 n.class="tok-str">&quot;'.here.i
a2fc0 73 20 61 20 6e 75 6d 62 65 72 3a 20 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 29 3b 3c 2f 73 70 61 s.a.number:.&quot;</span>);</spa
a2fe0 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 3c 73 70 61 6e 20 n>.<span.class="line">....<span.
a3000 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 74 72 79 3c 2f 73 70 61 6e 3e 20 73 65 6c 66 2e 70 class="tok-kw">try</span>.self.p
a3020 72 69 6e 74 56 61 6c 75 65 28 61 72 67 31 29 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c rintValue(arg1);</span>.<span.cl
a3040 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d ass="line">....<span.class="tok-
a3060 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.
a3080 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;</
a30a0 73 70 61 6e 3e 29 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 span>);</span>.<span.class="line
a30c0 22 3e 20 20 20 20 3c 73 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</
a30e0 73 70 61 6e 3e 20 73 65 6c 66 2e 66 6c 75 73 68 28 29 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e span>.self.flush();</span>.<span
a3100 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 7d 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 3c 2f 70 .class="line">}</span></code></p
a3120 72 65 3e 3c 2f 66 69 67 75 72 65 3e 0a 20 20 20 20 20 20 3c 70 3e 0a 20 20 20 20 20 20 3c 63 6f re></figure>.......<p>.......<co
a3140 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 70 72 69 6e 74 56 61 6c 75 65 de><span.class="line">printValue
a3160 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 20 69 73 20 61 20 66 75 6e 63 74 69 6f 6e 20 74 68 61 </span></code>.is.a.function.tha
a3180 74 20 74 61 6b 65 73 20 61 20 70 61 72 61 6d 65 74 65 72 20 6f 66 20 61 6e 79 20 74 79 70 65 2c t.takes.a.parameter.of.any.type,
a31a0 20 61 6e 64 20 64 6f 65 73 20 64 69 66 66 65 72 65 6e 74 20 74 68 69 6e 67 73 20 64 65 70 65 6e .and.does.different.things.depen
a31c0 64 69 6e 67 0a 20 20 20 20 20 20 6f 6e 20 74 68 65 20 74 79 70 65 3a 0a 20 20 20 20 20 20 3c 2f ding.......on.the.type:.......</
a31e0 70 3e 0a 20 20 20 20 20 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
a3200 73 73 3d 22 7a 69 67 2d 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">
a3220 70 6f 63 5f 70 72 69 6e 74 56 61 6c 75 65 5f 66 6e 2e 7a 69 67 3c 2f 63 69 74 65 3e 3c 2f 66 69 poc_printValue_fn.zig</cite></fi
a3240 67 63 61 70 74 69 6f 6e 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=
a3260 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 63 6f 6e 73 "line"><span.class="tok-kw">cons
a3280 74 3c 2f 73 70 61 6e 3e 20 57 72 69 74 65 72 20 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 t</span>.Writer.=.<span.class="t
a32a0 6f 6b 2d 6b 77 22 3e 73 74 72 75 63 74 3c 2f 73 70 61 6e 3e 20 7b 3c 2f 73 70 61 6e 3e 0a 3c 73 ok-kw">struct</span>.{</span>.<s
a32c0 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 pan.class="line">....<span.class
a32e0 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
a3300 3d 22 74 6f 6b 2d 6b 77 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=
a3320 22 74 6f 6b 2d 66 6e 22 3e 70 72 69 6e 74 56 61 6c 75 65 3c 2f 73 70 61 6e 3e 28 73 65 6c 66 3a "tok-fn">printValue</span>(self:
a3340 20 2a 57 72 69 74 65 72 2c 20 76 61 6c 75 65 3a 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f .*Writer,.value:.<span.class="to
a3360 6b 2d 6b 77 22 3e 61 6e 79 74 79 70 65 3c 2f 73 70 61 6e 3e 29 20 21 3c 73 70 61 6e 20 63 6c 61 k-kw">anytype</span>).!<span.cla
a3380 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 76 6f 69 64 3c 2f 73 70 61 6e 3e 20 7b 3c 2f 73 70 61 ss="tok-type">void</span>.{</spa
a33a0 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 20 20 20 20 3c 73 n>.<span.class="line">........<s
a33c0 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 73 77 69 74 63 68 3c 2f 73 70 61 6e 3e pan.class="tok-kw">switch</span>
a33e0 20 28 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 62 75 69 6c 74 69 6e 22 3e 40 74 79 70 .(<span.class="tok-builtin">@typ
a3400 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
a3420 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 29 20 7b iltin">@TypeOf</span>(value))).{
a3440 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 20 </span>.<span.class="line">.....
a3460 20 20 20 20 20 20 20 2e 49 6e 74 20 3d 26 67 74 3b 20 7b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e ........Int.=&gt;.{</span>.<span
a3480 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 3c 73 .class="line">................<s
a34a0 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>
a34c0 20 73 65 6c 66 2e 77 72 69 74 65 49 6e 74 28 76 61 6c 75 65 29 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 .self.writeInt(value);</span>.<s
a34e0 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 20 20 20 20 20 20 20 20 7d 2c 3c pan.class="line">............},<
a3500 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 20 20 /span>.<span.class="line">......
a3520 20 20 20 20 20 20 2e 46 6c 6f 61 74 20 3d 26 67 74 3b 20 7b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 .......Float.=&gt;.{</span>.<spa
a3540 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 3c n.class="line">................<
a3560 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
a3580 3e 20 73 65 6c 66 2e 77 72 69 74 65 46 6c 6f 61 74 28 76 61 6c 75 65 29 3b 3c 2f 73 70 61 6e 3e >.self.writeFloat(value);</span>
a35a0 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 20 20 20 20 20 20 20 20 .<span.class="line">............
a35c0 7d 2c 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 },</span>.<span.class="line">...
a35e0 20 20 20 20 20 20 20 20 20 2e 50 6f 69 6e 74 65 72 20 3d 26 67 74 3b 20 7b 3c 2f 73 70 61 6e 3e ..........Pointer.=&gt;.{</span>
a3600 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 20 20 20 20 20 20 20 20 .<span.class="line">............
a3620 20 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<
a3640 2f 73 70 61 6e 3e 20 73 65 6c 66 2e 77 72 69 74 65 28 76 61 6c 75 65 29 3b 3c 2f 73 70 61 6e 3e /span>.self.write(value);</span>
a3660 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 20 20 20 20 20 20 20 20 .<span.class="line">............
a3680 7d 2c 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 },</span>.<span.class="line">...
a36a0 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
a36c0 73 65 3c 2f 73 70 61 6e 3e 20 3d 26 67 74 3b 20 7b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 se</span>.=&gt;.{</span>.<span.c
a36e0 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 3c 73 70 61 lass="line">................<spa
a3700 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 62 75 69 6c 74 69 6e 22 3e 40 63 6f 6d 70 69 6c 65 45 72 n.class="tok-builtin">@compileEr
a3720 72 6f 72 3c 2f 73 70 61 6e 3e 28 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 73 74 72 22 ror</span>(<span.class="tok-str"
a3740 3e 26 71 75 6f 74 3b 55 6e 61 62 6c 65 20 74 6f 20 70 72 69 6e 74 20 74 79 70 65 20 27 26 71 75 >&quot;Unable.to.print.type.'&qu
a3760 6f 74 3b 3c 2f 73 70 61 6e 3e 20 2b 2b 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 62 ot;</span>.++.<span.class="tok-b
a3780 75 69 6c 74 69 6e 22 3e 40 74 79 70 65 4e 61 6d 65 3c 2f 73 70 61 6e 3e 28 3c 73 70 61 6e 20 63 uiltin">@typeName</span>(<span.c
a37a0 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
a37c0 3e 28 76 61 6c 75 65 29 29 20 2b 2b 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 73 74 >(value)).++.<span.class="tok-st
a37e0 72 22 3e 26 71 75 6f 74 3b 27 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 29 3b 3c 2f 73 70 61 6e 3e r">&quot;'&quot;</span>);</span>
a3800 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 20 20 20 20 20 20 20 20 .<span.class="line">............
a3820 7d 2c 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 },</span>.<span.class="line">...
a3840 20 20 20 20 20 7d 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 .....}</span>.<span.class="line"
a3860 3e 20 20 20 20 7d 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 >....}</span>.<span.class="line"
a3880 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 ></span>.<span.class="line">....
a38a0 3c 73 70 61 6e 20 63 6c 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>.<
a38c0 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 66 6e 22 3e 77 72 69 74 65 3c 2f 73 70 61 6e 3e span.class="tok-fn">write</span>
a38e0 28 73 65 6c 66 3a 20 2a 57 72 69 74 65 72 2c 20 76 61 6c 75 65 3a 20 5b 5d 3c 73 70 61 6e 20 63 (self:.*Writer,.value:.[]<span.c
a3900 6c 61 73 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
a3920 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 75 38 3c 2f 73 70 61 6e 3e 29 20 21 3c 73 .class="tok-type">u8</span>).!<s
a3940 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>
a3960 20 7b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 .{</span>.<span.class="line">...
a3980 20 20 20 20 20 5f 20 3d 20 73 65 6c 66 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 ....._.=.self;</span>.<span.clas
a39a0 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 20 20 20 20 5f 20 3d 20 76 61 6c 75 65 3b 3c 2f 73 70 61 s="line">........_.=.value;</spa
a39c0 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 7d 3c 2f 73 70 61 n>.<span.class="line">....}</spa
a39e0 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 3c 73 70 61 6e 20 n>.<span.class="line">....<span.
a3a00 63 6c 61 73 73 3d 22 74 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
a3a20 6c 61 73 73 3d 22 74 6f 6b 2d 66 6e 22 3e 77 72 69 74 65 49 6e 74 3c 2f 73 70 61 6e 3e 28 73 65 lass="tok-fn">writeInt</span>(se
a3a40 6c 66 3a 20 2a 57 72 69 74 65 72 2c 20 76 61 6c 75 65 3a 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d lf:.*Writer,.value:.<span.class=
a3a60 22 74 6f 6b 2d 6b 77 22 3e 61 6e 79 74 79 70 65 3c 2f 73 70 61 6e 3e 29 20 21 3c 73 70 61 6e 20 "tok-kw">anytype</span>).!<span.
a3a80 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 76 6f 69 64 3c 2f 73 70 61 6e 3e 20 7b 3c 2f class="tok-type">void</span>.{</
a3aa0 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 20 20 20 span>.<span.class="line">.......
a3ac0 20 5f 20 3d 20 73 65 6c 66 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c ._.=.self;</span>.<span.class="l
a3ae0 69 6e 65 22 3e 20 20 20 20 20 20 20 20 5f 20 3d 20 76 61 6c 75 65 3b 3c 2f 73 70 61 6e 3e 0a 3c ine">........_.=.value;</span>.<
a3b00 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 7d 3c 2f 73 70 61 6e 3e 0a 3c span.class="line">....}</span>.<
a3b20 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 span.class="line">....<span.clas
a3b40 73 3d 22 74 6f 6b 2d 6b 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
a3b60 3d 22 74 6f 6b 2d 66 6e 22 3e 77 72 69 74 65 46 6c 6f 61 74 3c 2f 73 70 61 6e 3e 28 73 65 6c 66 ="tok-fn">writeFloat</span>(self
a3b80 3a 20 2a 57 72 69 74 65 72 2c 20 76 61 6c 75 65 3a 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 :.*Writer,.value:.<span.class="t
a3ba0 6f 6b 2d 6b 77 22 3e 61 6e 79 74 79 70 65 3c 2f 73 70 61 6e 3e 29 20 21 3c 73 70 61 6e 20 63 6c ok-kw">anytype</span>).!<span.cl
a3bc0 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 76 6f 69 64 3c 2f 73 70 61 6e 3e 20 7b 3c 2f 73 70 ass="tok-type">void</span>.{</sp
a3be0 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 20 20 20 20 5f an>.<span.class="line">........_
a3c00 20 3d 20 73 65 6c 66 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e .=.self;</span>.<span.class="lin
a3c20 65 22 3e 20 20 20 20 20 20 20 20 5f 20 3d 20 76 61 6c 75 65 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 e">........_.=.value;</span>.<sp
a3c40 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 7d 3c 2f 73 70 61 6e 3e 0a 3c 73 70 an.class="line">....}</span>.<sp
a3c60 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 7d 3b 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e an.class="line">};</span></code>
a3c80 3c 2f 70 72 65 3e 3c 2f 66 69 67 75 72 65 3e 0a 20 20 20 20 20 20 3c 70 3e 0a 20 20 20 20 20 20 </pre></figure>.......<p>.......
a3ca0 41 6e 64 20 6e 6f 77 2c 20 77 68 61 74 20 68 61 70 70 65 6e 73 20 69 66 20 77 65 20 67 69 76 65 And.now,.what.happens.if.we.give
a3cc0 20 74 6f 6f 20 6d 61 6e 79 20 61 72 67 75 6d 65 6e 74 73 20 74 6f 20 3c 63 6f 64 65 3e 3c 73 70 .too.many.arguments.to.<code><sp
a3ce0 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 70 72 69 6e 74 3c 2f 73 70 61 6e 3e 3c 2f 63 6f an.class="line">print</span></co
a3d00 64 65 3e 3f 0a 20 20 20 20 20 20 3c 2f 70 3e 0a 20 20 20 20 20 20 3c 66 69 67 75 72 65 3e 3c 66 de>?.......</p>.......<figure><f
a3d20 69 67 63 61 70 74 69 6f 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.
a3d40 63 6c 61 73 73 3d 22 66 69 6c 65 22 3e 74 65 73 74 2e 7a 69 67 3c 2f 63 69 74 65 3e 3c 2f 66 69 class="file">test.zig</cite></fi
a3d60 67 63 61 70 74 69 6f 6e 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=
a3d80 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 63 6f 6e 73 "line"><span.class="tok-kw">cons
a3da0 74 3c 2f 73 70 61 6e 3e 20 70 72 69 6e 74 20 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f t</span>.print.=.<span.class="to
a3dc0 6b 2d 62 75 69 6c 74 69 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.
a3de0 63 6c 61 73 73 3d 22 74 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;<
a3e00 2f 73 70 61 6e 3e 29 2e 64 65 62 75 67 2e 70 72 69 6e 74 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 /span>).debug.print;</span>.<spa
a3e20 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 n.class="line"></span>.<span.cla
a3e40 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 63 ss="line"><span.class="tok-kw">c
a3e60 6f 6e 73 74 3c 2f 73 70 61 6e 3e 20 61 5f 6e 75 6d 62 65 72 3a 20 3c 73 70 61 6e 20 63 6c 61 73 onst</span>.a_number:.<span.clas
a3e80 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.
a3ea0 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 31 32 33 34 3c 2f 73 70 61 6e 3e 3b 3c class="tok-number">1234</span>;<
a3ec0 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 /span>.<span.class="line"><span.
a3ee0 63 6c 61 73 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 class="tok-kw">const</span>.a_st
a3f00 72 69 6e 67 20 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 73 74 72 22 3e 26 71 75 ring.=.<span.class="tok-str">&qu
a3f20 6f 74 3b 66 6f 6f 62 61 72 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 3b 3c 2f 73 70 61 6e 3e 0a 3c ot;foobar&quot;</span>;</span>.<
a3f40 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 span.class="line"></span>.<span.
a3f60 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 class="line"><span.class="tok-kw
a3f80 22 3e 74 65 73 74 3c 2f 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
a3fa0 74 72 22 3e 26 71 75 6f 74 3b 70 72 69 6e 74 20 74 6f 6f 20 6d 61 6e 79 20 61 72 67 75 6d 65 6e tr">&quot;print.too.many.argumen
a3fc0 74 73 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 20 7b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 ts&quot;</span>.{</span>.<span.c
a3fe0 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 70 72 69 6e 74 28 3c 73 70 61 6e 20 63 6c 61 73 lass="line">....print(<span.clas
a4000 73 3d 22 74 6f 6b 2d 73 74 72 22 3e 26 71 75 6f 74 3b 68 65 72 65 20 69 73 20 61 20 73 74 72 69 s="tok-str">&quot;here.is.a.stri
a4020 6e 67 3a 20 27 7b 73 7d 27 20 68 65 72 65 20 69 73 20 61 20 6e 75 6d 62 65 72 3a 20 7b 7d 5c 6e ng:.'{s}'.here.is.a.number:.{}\n
a4040 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 2c 20 2e 7b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 &quot;</span>,..{</span>.<span.c
a4060 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 20 20 20 20 61 5f 73 74 72 69 6e 67 2c 3c 2f 73 lass="line">........a_string,</s
a4080 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 20 20 20 20 pan>.<span.class="line">........
a40a0 61 5f 6e 75 6d 62 65 72 2c 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 a_number,</span>.<span.class="li
a40c0 6e 65 22 3e 20 20 20 20 20 20 20 20 61 5f 6e 75 6d 62 65 72 2c 3c 2f 73 70 61 6e 3e 0a 3c 73 70 ne">........a_number,</span>.<sp
a40e0 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 7d 29 3b 3c 2f 73 70 61 6e 3e 0a 3c an.class="line">....});</span>.<
a4100 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 7d 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 span.class="line">}</span></code
a4120 3e 3c 2f 70 72 65 3e 3c 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
a4140 69 6f 6e 20 63 6c 61 73 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
a4160 63 61 70 74 69 6f 6e 3e 3c 70 72 65 3e 3c 73 61 6d 70 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 caption><pre><samp><span.class="
a4180 6c 69 6e 65 22 3e 24 20 3c 6b 62 64 3e 7a 69 67 20 74 65 73 74 20 74 65 73 74 2e 7a 69 67 3c 2f line">$.<kbd>zig.test.test.zig</
a41a0 6b 62 64 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c kbd></span>.<span.class="line"><
a41c0 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 31 5f 30 22 3e 2f 68 6f 6d 65 2f 63 69 2f 72 65 6c 65 61 span.class="t1_0">/home/ci/relea
a41e0 73 65 2d 30 2e 31 30 2e 31 2f 6f 75 74 2f 7a 69 67 2d 78 38 36 5f 36 34 2d 6c 69 6e 75 78 2d 6d se-0.10.1/out/zig-x86_64-linux-m
a4200 75 73 6c 2d 62 61 73 65 6c 69 6e 65 2f 6c 69 62 2f 7a 69 67 2f 73 74 64 2f 66 6d 74 2e 7a 69 67 usl-baseline/lib/zig/std/fmt.zig
a4220 3a 32 30 31 3a 31 38 3a 20 3c 2f 73 70 61 6e 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 33 31 :201:18:.</span><span.class="t31
a4240 5f 31 22 3e 65 72 72 6f 72 3a 20 3c 2f 73 70 61 6e 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 _1">error:.</span><span.class="t
a4260 31 5f 30 22 3e 75 6e 75 73 65 64 20 61 72 67 75 6d 65 6e 74 20 69 6e 20 27 68 65 72 65 20 69 73 1_0">unused.argument.in.'here.is
a4280 20 61 20 73 74 72 69 6e 67 3a 20 27 7b 73 7d 27 20 68 65 72 65 20 69 73 20 61 20 6e 75 6d 62 65 .a.string:.'{s}'.here.is.a.numbe
a42a0 72 3a 20 7b 7d 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e r:.{}</span>.<span.class="line">
a42c0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ................................
a42e0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ................................
a4300 20 20 20 20 20 20 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 3c ..............................'<
a4320 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 2f 73 70 61 6e /span>.<span.class="line"></span
a4340 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 72 >............1.=&gt;.@compileErr
a4360 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 75 or(&quot;unused.argument.in.'&qu
a4380 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 3c 2f 73 ot;.++.fmt.++.&quot;'&quot;),</s
a43a0 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 20 20 20 20 pan>.<span.class="line">........
a43c0 20 20 20 20 20 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 33 32 5f 31 22 3e 5e 7e 7e .........<span.class="t32_1">^~~
a43e0 7e 7e 7e 7e 7e 7e 7e 7e 7e 7e 7e 7e 7e 7e 7e 7e 7e 7e 7e 7e 7e 7e 7e 7e 7e 7e 7e 7e 7e 7e 7e 7e ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
a4400 7e 7e 7e 7e 7e 7e 7e 7e 7e 7e 7e 7e 7e 7e 7e 7e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c ~~~~~~~~~~~~~~~~</span>.<span.cl
a4420 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 2f 73 70 61 6e 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 ass="line"></span><span.class="t
a4440 32 5f 30 22 3e 72 65 66 65 72 65 6e 63 65 64 20 62 79 3a 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 2_0">referenced.by:</span>.<span
a4460 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 70 72 69 6e 74 5f 5f 61 6e 6f 6e 5f 32 37 .class="line">....print__anon_27
a4480 37 35 3a 20 2f 68 6f 6d 65 2f 63 69 2f 72 65 6c 65 61 73 65 2d 30 2e 31 30 2e 31 2f 6f 75 74 2f 75:./home/ci/release-0.10.1/out/
a44a0 7a 69 67 2d 78 38 36 5f 36 34 2d 6c 69 6e 75 78 2d 6d 75 73 6c 2d 62 61 73 65 6c 69 6e 65 2f 6c zig-x86_64-linux-musl-baseline/l
a44c0 69 62 2f 7a 69 67 2f 73 74 64 2f 69 6f 2f 77 72 69 74 65 72 2e 7a 69 67 3a 32 38 3a 32 37 3c 2f ib/zig/std/io/writer.zig:28:27</
a44e0 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 70 72 69 span>.<span.class="line">....pri
a4500 6e 74 5f 5f 61 6e 6f 6e 5f 31 30 38 30 3a 20 2f 68 6f 6d 65 2f 63 69 2f 72 65 6c 65 61 73 65 2d nt__anon_1080:./home/ci/release-
a4520 30 2e 31 30 2e 31 2f 6f 75 74 2f 7a 69 67 2d 78 38 36 5f 36 34 2d 6c 69 6e 75 78 2d 6d 75 73 6c 0.10.1/out/zig-x86_64-linux-musl
a4540 2d 62 61 73 65 6c 69 6e 65 2f 6c 69 62 2f 7a 69 67 2f 73 74 64 2f 64 65 62 75 67 2e 7a 69 67 3a -baseline/lib/zig/std/debug.zig:
a4560 39 33 3a 32 31 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 93:21</span>.<span.class="line">
a4580 20 20 20 20 72 65 6d 61 69 6e 69 6e 67 20 72 65 66 65 72 65 6e 63 65 20 74 72 61 63 65 73 20 68 ....remaining.reference.traces.h
a45a0 69 64 64 65 6e 3b 20 75 73 65 20 27 2d 66 72 65 66 65 72 65 6e 63 65 2d 74 72 61 63 65 27 20 74 idden;.use.'-freference-trace'.t
a45c0 6f 20 73 65 65 20 61 6c 6c 20 72 65 66 65 72 65 6e 63 65 20 74 72 61 63 65 73 3c 2f 73 70 61 6e o.see.all.reference.traces</span
a45e0 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 >.<span.class="line"></span>.<sp
a4600 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 0a 3c an.class="line"></span></span>.<
a4620 2f 73 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>.
a4640 20 20 20 20 20 20 5a 69 67 20 67 69 76 65 73 20 70 72 6f 67 72 61 6d 6d 65 72 73 20 74 68 65 20 ......Zig.gives.programmers.the.
a4660 74 6f 6f 6c 73 20 6e 65 65 64 65 64 20 74 6f 20 70 72 6f 74 65 63 74 20 74 68 65 6d 73 65 6c 76 tools.needed.to.protect.themselv
a4680 65 73 20 61 67 61 69 6e 73 74 20 74 68 65 69 72 20 6f 77 6e 20 6d 69 73 74 61 6b 65 73 2e 0a 20 es.against.their.own.mistakes...
a46a0 20 20 20 20 20 3c 2f 70 3e 0a 20 20 20 20 20 20 3c 70 3e 0a 20 20 20 20 20 20 5a 69 67 20 64 6f .....</p>.......<p>.......Zig.do
a46c0 65 73 6e 27 74 20 63 61 72 65 20 77 68 65 74 68 65 72 20 74 68 65 20 66 6f 72 6d 61 74 20 61 72 esn't.care.whether.the.format.ar
a46e0 67 75 6d 65 6e 74 20 69 73 20 61 20 73 74 72 69 6e 67 20 6c 69 74 65 72 61 6c 2c 0a 20 20 20 20 gument.is.a.string.literal,.....
a4700 20 20 6f 6e 6c 79 20 74 68 61 74 20 69 74 20 69 73 20 61 20 63 6f 6d 70 69 6c 65 2d 74 69 6d 65 ..only.that.it.is.a.compile-time
a4720 20 6b 6e 6f 77 6e 20 76 61 6c 75 65 20 74 68 61 74 20 63 61 6e 20 62 65 20 63 6f 65 72 63 65 64 .known.value.that.can.be.coerced
a4740 20 74 6f 20 61 20 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 5b .to.a.<code><span.class="line">[
a4760 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
a4780 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
a47a0 61 6e 3e 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 3a 0a 20 20 20 20 20 20 3c 2f 70 3e 0a 20 20 an></span></code>:.......</p>...
a47c0 20 20 20 20 3c 66 69 67 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
a47e0 69 67 2d 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 ig-cap"><cite.class="file">print
a4800 2e 7a 69 67 3c 2f 63 69 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
a4820 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 de><span.class="line"><span.clas
a4840 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.=.
a4860 3c 73 70 61 6e 20 63 6c 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
a4880 74 3c 2f 73 70 61 6e 3e 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">&
a48a0 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
a48c0 6e 74 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 2f nt;</span>.<span.class="line"></
a48e0 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 span>.<span.class="line"><span.c
a4900 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 63 6f 6e 73 74 3c 2f 73 70 61 6e 3e 20 61 5f 6e 75 6d lass="tok-kw">const</span>.a_num
a4920 62 65 72 3a 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 69 33 32 3c ber:.<span.class="tok-type">i32<
a4940 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
a4960 22 3e 31 32 33 34 3c 2f 73 70 61 6e 3e 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 ">1234</span>;</span>.<span.clas
a4980 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 63 6f s="line"><span.class="tok-kw">co
a49a0 6e 73 74 3c 2f 73 70 61 6e 3e 20 61 5f 73 74 72 69 6e 67 20 3d 20 3c 73 70 61 6e 20 63 6c 61 73 nst</span>.a_string.=.<span.clas
a49c0 73 3d 22 74 6f 6b 2d 73 74 72 22 3e 26 71 75 6f 74 3b 66 6f 6f 62 61 72 26 71 75 6f 74 3b 3c 2f s="tok-str">&quot;foobar&quot;</
a49e0 73 70 61 6e 3e 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 span>;</span>.<span.class="line"
a4a00 3e 3c 73 70 61 6e 20 63 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
a4a20 6e 3e 20 66 6d 74 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 n>.fmt.=.<span.class="tok-str">&
a4a40 71 75 6f 74 3b 68 65 72 65 20 69 73 20 61 20 73 74 72 69 6e 67 3a 20 27 7b 73 7d 27 20 68 65 72 quot;here.is.a.string:.'{s}'.her
a4a60 65 20 69 73 20 61 20 6e 75 6d 62 65 72 3a 20 7b 7d 5c 6e 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e e.is.a.number:.{}\n&quot;</span>
a4a80 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 2f 73 70 ;</span>.<span.class="line"></sp
a4aa0 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 an>.<span.class="line"><span.cla
a4ac0 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
a4ae0 73 73 3d 22 74 6f 6b 2d 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
a4b00 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
a4b20 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 76 6f 69 64 3c 2f 73 70 61 6e 3e 20 7b 3c 2f 73 lass="tok-type">void</span>.{</s
a4b40 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 70 72 69 6e pan>.<span.class="line">....prin
a4b60 74 28 66 6d 74 2c 20 2e 7b 61 5f 73 74 72 69 6e 67 2c 20 61 5f 6e 75 6d 62 65 72 7d 29 3b 3c 2f t(fmt,..{a_string,.a_number});</
a4b80 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 7d 3c 2f 73 70 61 6e span>.<span.class="line">}</span
a4ba0 3e 3c 2f 63 6f 64 65 3e 3c 2f 70 72 65 3e 3c 2f 66 69 67 75 72 65 3e 3c 66 69 67 75 72 65 3e 3c ></code></pre></figure><figure><
a4bc0 66 69 67 63 61 70 74 69 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
a4be0 6c 6c 3c 2f 66 69 67 63 61 70 74 69 6f 6e 3e 3c 70 72 65 3e 3c 73 61 6d 70 3e 3c 73 70 61 6e 20 ll</figcaption><pre><samp><span.
a4c00 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 24 20 3c 6b 62 64 3e 7a 69 67 20 62 75 69 6c 64 2d 65 78 class="line">$.<kbd>zig.build-ex
a4c20 65 20 70 72 69 6e 74 2e 7a 69 67 3c 2f 6b 62 64 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 e.print.zig</kbd></span>.<span.c
a4c40 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d lass="line"></span>.<span.class=
a4c60 22 6c 69 6e 65 22 3e 24 20 3c 6b 62 64 3e 2e 2f 70 72 69 6e 74 3c 2f 6b 62 64 3e 3c 2f 73 70 61 "line">$.<kbd>./print</kbd></spa
a4c80 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 68 65 72 65 20 69 73 20 61 20 n>.<span.class="line">here.is.a.
a4ca0 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 62 65 string:.'foobar'.here.is.a.numbe
a4cc0 72 3a 20 31 32 33 34 3c 2f 73 70 61 6e 3e 0a 3c 2f 73 61 6d 70 3e 3c 2f 70 72 65 3e 3c 2f 66 69 r:.1234</span>.</samp></pre></fi
a4ce0 67 75 72 65 3e 0a 20 20 20 20 20 20 3c 70 3e 0a 20 20 20 20 20 20 54 68 69 73 20 77 6f 72 6b 73 gure>.......<p>.......This.works
a4d00 20 66 69 6e 65 2e 0a 20 20 20 20 20 20 3c 2f 70 3e 0a 20 20 20 20 20 20 3c 70 3e 0a 20 20 20 20 .fine........</p>.......<p>.....
a4d20 20 20 5a 69 67 20 64 6f 65 73 20 6e 6f 74 20 73 70 65 63 69 61 6c 20 63 61 73 65 20 73 74 72 69 ..Zig.does.not.special.case.stri
a4d40 6e 67 20 66 6f 72 6d 61 74 74 69 6e 67 20 69 6e 20 74 68 65 20 63 6f 6d 70 69 6c 65 72 20 61 6e ng.formatting.in.the.compiler.an
a4d60 64 20 69 6e 73 74 65 61 64 20 65 78 70 6f 73 65 73 20 65 6e 6f 75 67 68 20 70 6f 77 65 72 20 74 d.instead.exposes.enough.power.t
a4d80 6f 20 61 63 63 6f 6d 70 6c 69 73 68 20 74 68 69 73 0a 20 20 20 20 20 20 74 61 73 6b 20 69 6e 20 o.accomplish.this.......task.in.
a4da0 75 73 65 72 6c 61 6e 64 2e 20 49 74 20 64 6f 65 73 20 73 6f 20 77 69 74 68 6f 75 74 20 69 6e 74 userland..It.does.so.without.int
a4dc0 72 6f 64 75 63 69 6e 67 20 61 6e 6f 74 68 65 72 20 6c 61 6e 67 75 61 67 65 20 6f 6e 20 74 6f 70 roducing.another.language.on.top
a4de0 20 6f 66 20 5a 69 67 2c 20 73 75 63 68 20 61 73 0a 20 20 20 20 20 20 61 20 6d 61 63 72 6f 20 6c .of.Zig,.such.as.......a.macro.l
a4e00 61 6e 67 75 61 67 65 20 6f 72 20 61 20 70 72 65 70 72 6f 63 65 73 73 6f 72 20 6c 61 6e 67 75 61 anguage.or.a.preprocessor.langua
a4e20 67 65 2e 20 49 74 27 73 20 5a 69 67 20 61 6c 6c 20 74 68 65 20 77 61 79 20 64 6f 77 6e 2e 0a 20 ge..It's.Zig.all.the.way.down...
a4e40 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 53 65 65 20 61 6c .....</p>..............<p>See.al
a4e60 73 6f 3a 3c 2f 70 3e 3c 75 6c 3e 0a 3c 6c 69 3e 3c 61 20 68 72 65 66 3d 22 23 69 6e 6c 69 6e 65 so:</p><ul>.<li><a.href="#inline
a4e80 2d 77 68 69 6c 65 22 3e 69 6e 6c 69 6e 65 20 77 68 69 6c 65 3c 2f 61 3e 3c 2f 6c 69 3e 0a 3c 6c -while">inline.while</a></li>.<l
a4ea0 69 3e 3c 61 20 68 72 65 66 3d 22 23 69 6e 6c 69 6e 65 2d 66 6f 72 22 3e 69 6e 6c 69 6e 65 20 66 i><a.href="#inline-for">inline.f
a4ec0 6f 72 3c 2f 61 3e 3c 2f 6c 69 3e 0a 3c 2f 75 6c 3e 0a 0a 20 20 20 20 20 20 0a 20 20 20 20 20 20 or</a></li>.</ul>...............
a4ee0 3c 68 32 20 69 64 3d 22 41 73 73 65 6d 62 6c 79 22 3e 3c 61 20 68 72 65 66 3d 22 23 74 6f 63 2d <h2.id="Assembly"><a.href="#toc-
a4f00 41 73 73 65 6d 62 6c 79 22 3e 41 73 73 65 6d 62 6c 79 3c 2f 61 3e 20 3c 61 20 63 6c 61 73 73 3d Assembly">Assembly</a>.<a.class=
a4f20 22 68 64 72 22 20 68 72 65 66 3d 22 23 41 73 73 65 6d 62 6c 79 22 3e c2 a7 3c 2f 61 3e 3c 2f 68 "hdr".href="#Assembly">..</a></h
a4f40 32 3e 0a 0a 20 20 20 20 20 20 3c 70 3e 0a 20 20 20 20 20 20 46 6f 72 20 73 6f 6d 65 20 75 73 65 2>........<p>.......For.some.use
a4f60 20 63 61 73 65 73 2c 20 69 74 20 6d 61 79 20 62 65 20 6e 65 63 65 73 73 61 72 79 20 74 6f 20 64 .cases,.it.may.be.necessary.to.d
a4f80 69 72 65 63 74 6c 79 20 63 6f 6e 74 72 6f 6c 20 74 68 65 20 6d 61 63 68 69 6e 65 20 63 6f 64 65 irectly.control.the.machine.code
a4fa0 20 67 65 6e 65 72 61 74 65 64 0a 20 20 20 20 20 20 62 79 20 5a 69 67 20 70 72 6f 67 72 61 6d 73 .generated.......by.Zig.programs
a4fc0 2c 20 72 61 74 68 65 72 20 74 68 61 6e 20 72 65 6c 79 69 6e 67 20 6f 6e 20 5a 69 67 27 73 20 63 ,.rather.than.relying.on.Zig's.c
a4fe0 6f 64 65 20 67 65 6e 65 72 61 74 69 6f 6e 2e 20 46 6f 72 20 74 68 65 73 65 20 63 61 73 65 73 2c ode.generation..For.these.cases,
a5000 20 6f 6e 65 0a 20 20 20 20 20 20 63 61 6e 20 75 73 65 20 69 6e 6c 69 6e 65 20 61 73 73 65 6d 62 .one.......can.use.inline.assemb
a5020 6c 79 2e 20 48 65 72 65 20 69 73 20 61 6e 20 65 78 61 6d 70 6c 65 20 6f 66 20 69 6d 70 6c 65 6d ly..Here.is.an.example.of.implem
a5040 65 6e 74 69 6e 67 20 48 65 6c 6c 6f 2c 20 57 6f 72 6c 64 20 6f 6e 20 78 38 36 5f 36 34 20 4c 69 enting.Hello,.World.on.x86_64.Li
a5060 6e 75 78 0a 20 20 20 20 20 20 75 73 69 6e 67 20 69 6e 6c 69 6e 65 20 61 73 73 65 6d 62 6c 79 3a nux.......using.inline.assembly:
a5080 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
a50a0 70 74 69 6f 6e 20 63 6c 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
a50c0 73 3d 22 66 69 6c 65 22 3e 74 65 73 74 2e 7a 69 67 3c 2f 63 69 74 65 3e 3c 2f 66 69 67 63 61 70 s="file">test.zig</cite></figcap
a50e0 74 69 6f 6e 3e 3c 70 72 65 3e 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e tion><pre><code><span.class="lin
a5100 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 70 75 62 3c 2f 73 70 61 e"><span.class="tok-kw">pub</spa
a5120 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
a5140 3e 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 66 6e 22 3e 6d 61 69 6e 3c 2f 73 70 61 >.<span.class="tok-fn">main</spa
a5160 6e 3e 28 29 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 6e 6f 72 65 n>().<span.class="tok-type">nore
a5180 74 75 72 6e 3c 2f 73 70 61 6e 3e 20 7b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 turn</span>.{</span>.<span.class
a51a0 3d 22 6c 69 6e 65 22 3e 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 ="line">....<span.class="tok-kw"
a51c0 3e 63 6f 6e 73 74 3c 2f 73 70 61 6e 3e 20 6d 73 67 20 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d >const</span>.msg.=.<span.class=
a51e0 22 74 6f 6b 2d 73 74 72 22 3e 26 71 75 6f 74 3b 68 65 6c 6c 6f 20 77 6f 72 6c 64 5c 6e 26 71 75 "tok-str">&quot;hello.world\n&qu
a5200 6f 74 3b 3c 2f 73 70 61 6e 3e 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 ot;</span>;</span>.<span.class="
a5220 6c 69 6e 65 22 3e 20 20 20 20 5f 20 3d 20 73 79 73 63 61 6c 6c 33 28 53 59 53 5f 77 72 69 74 65 line">...._.=.syscall3(SYS_write
a5240 2c 20 53 54 44 4f 55 54 5f 46 49 4c 45 4e 4f 2c 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f ,.STDOUT_FILENO,.<span.class="to
a5260 6b 2d 62 75 69 6c 74 69 6e 22 3e 40 70 74 72 54 6f 49 6e 74 3c 2f 73 70 61 6e 3e 28 6d 73 67 29 k-builtin">@ptrToInt</span>(msg)
a5280 2c 20 6d 73 67 2e 6c 65 6e 29 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 ,.msg.len);</span>.<span.class="
a52a0 6c 69 6e 65 22 3e 20 20 20 20 5f 20 3d 20 73 79 73 63 61 6c 6c 31 28 53 59 53 5f 65 78 69 74 2c line">...._.=.syscall1(SYS_exit,
a52c0 20 3c 73 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
a52e0 6e 3e 29 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 n>);</span>.<span.class="line">.
a5300 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 75 6e 72 65 61 63 68 61 ...<span.class="tok-kw">unreacha
a5320 62 6c 65 3c 2f 73 70 61 6e 3e 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 ble</span>;</span>.<span.class="
a5340 6c 69 6e 65 22 3e 7d 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 line">}</span>.<span.class="line
a5360 22 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 "></span>.<span.class="line"><sp
a5380 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
a53a0 61 6e 20 63 6c 61 73 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
a53c0 59 53 5f 77 72 69 74 65 20 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 YS_write.=.<span.class="tok-numb
a53e0 65 72 22 3e 31 3c 2f 73 70 61 6e 3e 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 er">1</span>;</span>.<span.class
a5400 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 70 75 62 ="line"><span.class="tok-kw">pub
a5420 3c 2f 73 70 61 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
a5440 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 6c 61 73 73 st</span>.SYS_exit.=.<span.class
a5460 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 36 30 3c 2f 73 70 61 6e 3e 3b 3c 2f 73 70 61 6e 3e 0a ="tok-number">60</span>;</span>.
a5480 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e <span.class="line"></span>.<span
a54a0 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b .class="line"><span.class="tok-k
a54c0 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
a54e0 77 22 3e 63 6f 6e 73 74 3c 2f 73 70 61 6e 3e 20 53 54 44 4f 55 54 5f 46 49 4c 45 4e 4f 20 3d 20 w">const</span>.STDOUT_FILENO.=.
a5500 3c 73 70 61 6e 20 63 6c 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
a5520 3e 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 2f 73 >;</span>.<span.class="line"></s
a5540 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c pan>.<span.class="line"><span.cl
a5560 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
a5580 61 73 73 3d 22 74 6f 6b 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
a55a0 73 73 3d 22 74 6f 6b 2d 66 6e 22 3e 73 79 73 63 61 6c 6c 31 3c 2f 73 70 61 6e 3e 28 6e 75 6d 62 ss="tok-fn">syscall1</span>(numb
a55c0 65 72 3a 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 75 73 69 7a 65 er:.<span.class="tok-type">usize
a55e0 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-
a5600 74 79 70 65 22 3e 75 73 69 7a 65 3c 2f 73 70 61 6e 3e 29 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d type">usize</span>).<span.class=
a5620 22 74 6f 6b 2d 74 79 70 65 22 3e 75 73 69 7a 65 3c 2f 73 70 61 6e 3e 20 7b 3c 2f 73 70 61 6e 3e "tok-type">usize</span>.{</span>
a5640 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 3c 73 70 61 6e 20 63 6c .<span.class="line">....<span.cl
a5660 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
a5680 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 61 73 6d 3c 2f 73 70 61 6e 3e 20 3c 73 70 61 6e .class="tok-kw">asm</span>.<span
a56a0 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 76 6f 6c 61 74 69 6c 65 3c 2f 73 70 61 6e 3e 20 .class="tok-kw">volatile</span>.
a56c0 28 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 73 74 72 22 3e 26 71 75 6f 74 3b 73 79 73 (<span.class="tok-str">&quot;sys
a56e0 63 61 6c 6c 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 call&quot;</span></span>.<span.c
a5700 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 20 20 20 20 3a 20 5b 72 65 74 5d 20 3c 73 70 61 lass="line">........:.[ret].<spa
a5720 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 73 74 72 22 3e 26 71 75 6f 74 3b 3d 7b 72 61 78 7d 26 71 n.class="tok-str">&quot;={rax}&q
a5740 75 6f 74 3b 3c 2f 73 70 61 6e 3e 20 28 2d 26 67 74 3b 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 uot;</span>.(-&gt;.<span.class="
a5760 74 6f 6b 2d 74 79 70 65 22 3e 75 73 69 7a 65 3c 2f 73 70 61 6e 3e 29 3c 2f 73 70 61 6e 3e 0a 3c tok-type">usize</span>)</span>.<
a5780 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 20 20 20 20 3a 20 5b 6e 75 6d span.class="line">........:.[num
a57a0 62 65 72 5d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 73 74 72 22 3e 26 71 75 6f 74 ber].<span.class="tok-str">&quot
a57c0 3b 7b 72 61 78 7d 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 20 28 6e 75 6d 62 65 72 29 2c 3c 2f 73 ;{rax}&quot;</span>.(number),</s
a57e0 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 20 20 20 20 pan>.<span.class="line">........
a5800 20 20 5b 61 72 67 31 5d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 73 74 72 22 3e 26 ..[arg1].<span.class="tok-str">&
a5820 71 75 6f 74 3b 7b 72 64 69 7d 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 20 28 61 72 67 31 29 3c 2f quot;{rdi}&quot;</span>.(arg1)</
a5840 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 20 20 20 span>.<span.class="line">.......
a5860 20 3a 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 73 74 72 22 3e 26 71 75 6f 74 3b 72 .:.<span.class="tok-str">&quot;r
a5880 63 78 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 2c 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f cx&quot;</span>,.<span.class="to
a58a0 6b 2d 73 74 72 22 3e 26 71 75 6f 74 3b 72 31 31 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 3c 2f 73 k-str">&quot;r11&quot;</span></s
a58c0 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 29 3b 3c 2f pan>.<span.class="line">....);</
a58e0 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 7d 3c 2f 73 70 61 6e span>.<span.class="line">}</span
a5900 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 >.<span.class="line"></span>.<sp
a5920 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b an.class="line"><span.class="tok
a5940 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
a5960 2d 6b 77 22 3e 66 6e 3c 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-
a5980 66 6e 22 3e 73 79 73 63 61 6c 6c 33 3c 2f 73 70 61 6e 3e 28 6e 75 6d 62 65 72 3a 20 3c 73 70 61 fn">syscall3</span>(number:.<spa
a59a0 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 75 73 69 7a 65 3c 2f 73 70 61 6e 3e 2c n.class="tok-type">usize</span>,
a59c0 20 61 72 67 31 3a 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 75 73 .arg1:.<span.class="tok-type">us
a59e0 69 7a 65 3c 2f 73 70 61 6e 3e 2c 20 61 72 67 32 3a 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 ize</span>,.arg2:.<span.class="t
a5a00 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 33 3a 20 3c 73 70 ok-type">usize</span>,.arg3:.<sp
a5a20 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>
a5a40 29 20 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</
a5a60 73 70 61 6e 3e 20 7b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 span>.{</span>.<span.class="line
a5a80 22 3e 20 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
a5aa0 6e 3c 2f 73 70 61 6e 3e 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 61 73 n</span>.<span.class="tok-kw">as
a5ac0 6d 3c 2f 73 70 61 6e 3e 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 76 6f m</span>.<span.class="tok-kw">vo
a5ae0 6c 61 74 69 6c 65 3c 2f 73 70 61 6e 3e 20 28 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d latile</span>.(<span.class="tok-
a5b00 73 74 72 22 3e 26 71 75 6f 74 3b 73 79 73 63 61 6c 6c 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 3c str">&quot;syscall&quot;</span><
a5b20 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 20 20 /span>.<span.class="line">......
a5b40 20 20 3a 20 5b 72 65 74 5d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 73 74 72 22 3e ..:.[ret].<span.class="tok-str">
a5b60 26 71 75 6f 74 3b 3d 7b 72 61 78 7d 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 20 28 2d 26 67 74 3b &quot;={rax}&quot;</span>.(-&gt;
a5b80 20 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
a5ba0 70 61 6e 3e 29 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e pan>)</span>.<span.class="line">
a5bc0 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 22 ........:.[number].<span.class="
a5be0 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 6e tok-str">&quot;{rax}&quot;</span
a5c00 3e 20 28 6e 75 6d 62 65 72 29 2c 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 >.(number),</span>.<span.class="
a5c20 6c 69 6e 65 22 3e 20 20 20 20 20 20 20 20 20 20 5b 61 72 67 31 5d 20 3c 73 70 61 6e 20 63 6c 61 line">..........[arg1].<span.cla
a5c40 73 73 3d 22 74 6f 6b 2d 73 74 72 22 3e 26 71 75 6f 74 3b 7b 72 64 69 7d 26 71 75 6f 74 3b 3c 2f ss="tok-str">&quot;{rdi}&quot;</
a5c60 73 70 61 6e 3e 20 28 61 72 67 31 29 2c 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 span>.(arg1),</span>.<span.class
a5c80 3d 22 6c 69 6e 65 22 3e 20 20 20 20 20 20 20 20 20 20 5b 61 72 67 32 5d 20 3c 73 70 61 6e 20 63 ="line">..........[arg2].<span.c
a5ca0 6c 61 73 73 3d 22 74 6f 6b 2d 73 74 72 22 3e 26 71 75 6f 74 3b 7b 72 73 69 7d 26 71 75 6f 74 3b lass="tok-str">&quot;{rsi}&quot;
a5cc0 3c 2f 73 70 61 6e 3e 20 28 61 72 67 32 29 2c 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 </span>.(arg2),</span>.<span.cla
a5ce0 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 20 20 20 20 20 20 5b 61 72 67 33 5d 20 3c 73 70 61 6e ss="line">..........[arg3].<span
a5d00 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 78 7d 26 71 75 6f .class="tok-str">&quot;{rdx}&quo
a5d20 74 3b 3c 2f 73 70 61 6e 3e 20 28 61 72 67 33 29 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c t;</span>.(arg3)</span>.<span.cl
a5d40 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 20 20 20 20 3a 20 3c 73 70 61 6e 20 63 6c 61 73 73 ass="line">........:.<span.class
a5d60 3d 22 74 6f 6b 2d 73 74 72 22 3e 26 71 75 6f 74 3b 72 63 78 26 71 75 6f 74 3b 3c 2f 73 70 61 6e ="tok-str">&quot;rcx&quot;</span
a5d80 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 72 >,.<span.class="tok-str">&quot;r
a5da0 31 31 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 11&quot;</span></span>.<span.cla
a5dc0 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 29 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c ss="line">....);</span>.<span.cl
a5de0 61 73 73 3d 22 6c 69 6e 65 22 3e 7d 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 3c 2f 70 72 65 3e ass="line">}</span></code></pre>
a5e00 3c 2f 66 69 67 75 72 65 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
a5e20 73 73 3d 22 73 68 65 6c 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
a5e40 3e 3c 70 72 65 3e 3c 73 61 6d 70 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 24 ><pre><samp><span.class="line">$
a5e60 20 3c 6b 62 64 3e 7a 69 67 20 62 75 69 6c 64 2d 65 78 65 20 74 65 73 74 2e 7a 69 67 20 2d 66 73 .<kbd>zig.build-exe.test.zig.-fs
a5e80 74 61 67 65 31 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 3c tage1-target.x86_64-linux</kbd><
a5ea0 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 2f 73 70 61 6e /span>.<span.class="line"></span
a5ec0 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 24 20 3c 6b 62 64 3e 2e 2f 74 65 >.<span.class="line">$.<kbd>./te
a5ee0 73 74 3c 2f 6b 62 64 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e st</kbd></span>.<span.class="lin
a5f00 65 22 3e 68 65 6c 6c 6f 20 77 6f 72 6c 64 3c 2f 73 70 61 6e 3e 0a 3c 2f 73 61 6d 70 3e 3c 2f 70 e">hello.world</span>.</samp></p
a5f20 72 65 3e 3c 2f 66 69 67 75 72 65 3e 0a 20 20 20 20 20 20 3c 70 3e 0a 20 20 20 20 20 20 44 69 73 re></figure>.......<p>.......Dis
a5f40 73 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 secting.the.syntax:.......</p>..
a5f60 20 20 20 20 20 3c 66 69 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="
a5f80 7a 69 67 2d 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 zig-cap"><cite.class="file">Asse
a5fa0 6d 62 6c 79 20 53 79 6e 74 61 78 20 45 78 70 6c 61 69 6e 65 64 3c 2f 63 69 74 65 3e 3c 2f 66 69 mbly.Syntax.Explained</cite></fi
a5fc0 67 63 61 70 74 69 6f 6e 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=
a5fe0 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 63 6f 6d 6d 65 6e 74 22 "line"><span.class="tok-comment"
a6000 3e 2f 2f 20 49 6e 6c 69 6e 65 20 61 73 73 65 6d 62 6c 79 20 69 73 20 61 6e 20 65 78 70 72 65 73 >//.Inline.assembly.is.an.expres
a6020 73 69 6f 6e 20 77 68 69 63 68 20 72 65 74 75 72 6e 73 20 61 20 76 61 6c 75 65 2e 3c 2f 73 70 61 sion.which.returns.a.value.</spa
a6040 6e 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 n></span>.<span.class="line"><sp
a6060 61 6e 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
a6080 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
a60a0 6e 2e 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 n.</span></span>.<span.class="li
a60c0 6e 65 22 3e 5f 20 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 61 73 6d ne">_.=.<span.class="tok-kw">asm
a60e0 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 </span></span>.<span.class="line
a6100 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 63 6f 6d 6d 65 6e 74 22 3e 2f 2f 20 60 "><span.class="tok-comment">//.`
a6120 76 6f 6c 61 74 69 6c 65 60 20 69 73 20 61 6e 20 6f 70 74 69 6f 6e 61 6c 20 6d 6f 64 69 66 69 65 volatile`.is.an.optional.modifie
a6140 72 20 74 68 61 74 20 74 65 6c 6c 73 20 5a 69 67 20 74 68 69 73 3c 2f 73 70 61 6e 3e 3c 2f 73 70 r.that.tells.Zig.this</span></sp
a6160 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 an>.<span.class="line"><span.cla
a6180 73 73 3d 22 74 6f 6b 2d 63 6f 6d 6d 65 6e 74 22 3e 2f 2f 20 69 6e 6c 69 6e 65 20 61 73 73 65 6d ss="tok-comment">//.inline.assem
a61a0 62 6c 79 20 65 78 70 72 65 73 73 69 6f 6e 20 68 61 73 20 73 69 64 65 2d 65 66 66 65 63 74 73 2e bly.expression.has.side-effects.
a61c0 20 57 69 74 68 6f 75 74 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 .Without</span></span>.<span.cla
a61e0 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 63 6f 6d 6d 65 ss="line"><span.class="tok-comme
a6200 6e 74 22 3e 2f 2f 20 60 76 6f 6c 61 74 69 6c 65 60 2c 20 5a 69 67 20 69 73 20 61 6c 6c 6f 77 65 nt">//.`volatile`,.Zig.is.allowe
a6220 64 20 74 6f 20 64 65 6c 65 74 65 20 74 68 65 20 69 6e 6c 69 6e 65 20 61 73 73 65 6d 62 6c 79 3c d.to.delete.the.inline.assembly<
a6240 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 /span></span>.<span.class="line"
a6260 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 63 6f ><span.class="tok-comment">//.co
a6280 64 65 20 69 66 20 74 68 65 20 72 65 73 75 6c 74 20 69 73 20 75 6e 75 73 65 64 2e 3c 2f 73 70 61 de.if.the.result.is.unused.</spa
a62a0 6e 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 n></span>.<span.class="line"><sp
a62c0 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
a62e0 3e 20 28 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 >.(</span>.<span.class="line"><s
a6300 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 63 6f 6d 6d 65 6e 74 22 3e 2f 2f 20 4e 65 78 74 20 pan.class="tok-comment">//.Next.
a6320 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 69 73 20 74 68 is.a.comptime.string.which.is.th
a6340 65 20 61 73 73 65 6d 62 6c 79 20 63 6f 64 65 2e 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 0a 3c e.assembly.code.</span></span>.<
a6360 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 span.class="line"><span.class="t
a6380 6f 6b 2d 63 6f 6d 6d 65 6e 74 22 3e 2f 2f 20 49 6e 73 69 64 65 20 74 68 69 73 20 73 74 72 69 6e ok-comment">//.Inside.this.strin
a63a0 67 20 6f 6e 65 20 6d 61 79 20 75 73 65 20 60 25 5b 72 65 74 5d 60 2c 20 60 25 5b 6e 75 6d 62 65 g.one.may.use.`%[ret]`,.`%[numbe
a63c0 72 5d 60 2c 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 r]`,</span></span>.<span.class="
a63e0 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 63 6f 6d 6d 65 6e 74 22 3e line"><span.class="tok-comment">
a6400 2f 2f 20 6f 72 20 60 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 //.or.`%[arg1]`.where.a.register
a6420 20 69 73 20 65 78 70 65 63 74 65 64 2c 20 74 6f 20 73 70 65 63 69 66 79 3c 2f 73 70 61 6e 3e 3c .is.expected,.to.specify</span><
a6440 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 /span>.<span.class="line"><span.
a6460 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 67 69 73 class="tok-comment">//.the.regis
a6480 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 75 6d 65 ter.that.Zig.uses.for.the.argume
a64a0 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 3c 2f 73 70 61 6e nt.or.return.value,</span></span
a64c0 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 >.<span.class="line"><span.class
a64e0 3d 22 74 6f 6b 2d 63 6f 6d 6d 65 6e 74 22 3e 2f 2f 20 69 66 20 74 68 65 20 72 65 67 69 73 74 65 ="tok-comment">//.if.the.registe
a6500 72 20 63 6f 6e 73 74 72 61 69 6e 74 20 73 74 72 69 6e 67 73 20 61 72 65 20 75 73 65 64 2e 20 48 r.constraint.strings.are.used..H
a6520 6f 77 65 76 65 72 20 69 6e 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c owever.in</span></span>.<span.cl
a6540 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 63 6f 6d 6d ass="line"><span.class="tok-comm
a6560 65 6e 74 22 3e 2f 2f 20 74 68 65 20 62 65 6c 6f 77 20 63 6f 64 65 2c 20 74 68 69 73 20 69 73 20 ent">//.the.below.code,.this.is.
a6580 6e 6f 74 20 75 73 65 64 2e 20 41 20 6c 69 74 65 72 61 6c 20 60 25 60 20 63 61 6e 20 62 65 3c 2f not.used..A.literal.`%`.can.be</
a65a0 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e span></span>.<span.class="line">
a65c0 3c 73 70 61 6e 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 74 <span.class="tok-comment">//.obt
a65e0 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 62 ained.by.escaping.it.with.a.doub
a6600 6c 65 20 70 65 72 63 65 6e 74 3a 20 60 25 25 60 2e 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 0a le.percent:.`%%`.</span></span>.
a6620 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 <span.class="line"><span.class="
a6640 74 6f 6b 2d 63 6f 6d 6d 65 6e 74 22 3e 2f 2f 20 4f 66 74 65 6e 20 6d 75 6c 74 69 6c 69 6e 65 20 tok-comment">//.Often.multiline.
a6660 73 74 72 69 6e 67 20 73 79 6e 74 61 78 20 63 6f 6d 65 73 20 69 6e 20 68 61 6e 64 79 20 68 65 72 string.syntax.comes.in.handy.her
a6680 65 2e 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 e.</span></span>.<span.class="li
a66a0 6e 65 22 3e 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 73 74 72 22 3e 5c 5c ne">....<span.class="tok-str">\\
a66c0 73 79 73 63 61 6c 6c 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 syscall</span></span>.<span.clas
a66e0 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 63 6f 6d 6d 65 6e s="line"><span.class="tok-commen
a6700 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 69 73 20 t">//.Next.is.the.output..It.is.
a6720 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 6c 6c 3c possible.in.the.future.Zig.will<
a6740 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 /span></span>.<span.class="line"
a6760 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 73 75 ><span.class="tok-comment">//.su
a6780 70 70 6f 72 74 20 6d 75 6c 74 69 70 6c 65 20 6f 75 74 70 75 74 73 2c 20 64 65 70 65 6e 64 69 6e pport.multiple.outputs,.dependin
a67a0 67 20 6f 6e 20 68 6f 77 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 g.on.how</span></span>.<span.cla
a67c0 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 63 6f 6d 6d 65 ss="line"><span.class="tok-comme
a67e0 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 69 67 6c 61 6e nt">//.https://github.com/ziglan
a6800 67 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 g/zig/issues/215.is.resolved.</s
a6820 70 61 6e 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c pan></span>.<span.class="line"><
a6840 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 63 6f 6d 6d 65 6e 74 22 3e 2f 2f 20 49 74 20 69 span.class="tok-comment">//.It.i
a6860 73 20 61 6c 6c 6f 77 65 64 20 66 6f 72 20 74 68 65 72 65 20 74 6f 20 62 65 20 6e 6f 20 6f 75 74 s.allowed.for.there.to.be.no.out
a6880 70 75 74 73 2c 20 69 6e 20 77 68 69 63 68 20 63 61 73 65 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e puts,.in.which.case</span></span
a68a0 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 >.<span.class="line"><span.class
a68c0 3d 22 74 6f 6b 2d 63 6f 6d 6d 65 6e 74 22 3e 2f 2f 20 74 68 69 73 20 63 6f 6c 6f 6e 20 77 6f 75 ="tok-comment">//.this.colon.wou
a68e0 6c 64 20 62 65 20 64 69 72 65 63 74 6c 79 20 66 6f 6c 6c 6f 77 65 64 20 62 79 20 74 68 65 20 63 ld.be.directly.followed.by.the.c
a6900 6f 6c 6f 6e 20 66 6f 72 20 74 68 65 20 69 6e 70 75 74 73 2e 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 olon.for.the.inputs.</span></spa
a6920 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 3a 3c 2f 73 70 61 n>.<span.class="line">....:</spa
a6940 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 n>.<span.class="line"><span.clas
a6960 73 3d 22 74 6f 6b 2d 63 6f 6d 6d 65 6e 74 22 3e 2f 2f 20 54 68 69 73 20 73 70 65 63 69 66 69 65 s="tok-comment">//.This.specifie
a6980 73 20 74 68 65 20 6e 61 6d 65 20 74 6f 20 62 65 20 75 73 65 64 20 69 6e 20 60 25 5b 72 65 74 5d s.the.name.to.be.used.in.`%[ret]
a69a0 60 20 73 79 6e 74 61 78 20 69 6e 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 `.syntax.in</span></span>.<span.
a69c0 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 63 6f class="line"><span.class="tok-co
a69e0 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 72 mment">//.the.above.assembly.str
a6a00 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 69 ing..This.example.does.not.use.i
a6a20 74 2c 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 t,</span></span>.<span.class="li
a6a40 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 63 6f 6d 6d 65 6e 74 22 3e 2f 2f ne"><span.class="tok-comment">//
a6a60 20 62 75 74 20 74 68 65 20 73 79 6e 74 61 78 20 69 73 20 6d 61 6e 64 61 74 6f 72 79 2e 3c 2f 73 .but.the.syntax.is.mandatory.</s
a6a80 70 61 6e 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 pan></span>.<span.class="line">.
a6aa0 20 20 20 5b 72 65 74 5d 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e ...[ret]</span>.<span.class="lin
a6ac0 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 63 6f 6d 6d 65 6e 74 22 3e 2f 2f 20 e"><span.class="tok-comment">//.
a6ae0 4e 65 78 74 20 69 73 20 74 68 65 20 6f 75 74 70 75 74 20 63 6f 6e 73 74 72 61 69 6e 74 20 73 74 Next.is.the.output.constraint.st
a6b00 72 69 6e 67 2e 20 54 68 69 73 20 66 65 61 74 75 72 65 20 69 73 20 73 74 69 6c 6c 3c 2f 73 70 61 ring..This.feature.is.still</spa
a6b20 6e 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 n></span>.<span.class="line"><sp
a6b40 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 63 6f 6d 6d 65 6e 74 22 3e 2f 2f 20 63 6f 6e 73 69 64 an.class="tok-comment">//.consid
a6b60 65 72 65 64 20 75 6e 73 74 61 62 6c 65 20 69 6e 20 5a 69 67 2c 20 61 6e 64 20 73 6f 20 4c 4c 56 ered.unstable.in.Zig,.and.so.LLV
a6b80 4d 2f 47 43 43 20 64 6f 63 75 6d 65 6e 74 61 74 69 6f 6e 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e M/GCC.documentation</span></span
a6ba0 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 >.<span.class="line"><span.class
a6bc0 3d 22 74 6f 6b 2d 63 6f 6d 6d 65 6e 74 22 3e 2f 2f 20 6d 75 73 74 20 62 65 20 75 73 65 64 20 74 ="tok-comment">//.must.be.used.t
a6be0 6f 20 75 6e 64 65 72 73 74 61 6e 64 20 74 68 65 20 73 65 6d 61 6e 74 69 63 73 2e 3c 2f 73 70 61 o.understand.the.semantics.</spa
a6c00 6e 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 n></span>.<span.class="line"><sp
a6c20 61 6e 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 3a 2f an.class="tok-comment">//.http:/
a6c40 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
a6c60 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
a6c80 74 2d 73 74 72 69 6e 67 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 t-string</span></span>.<span.cla
a6ca0 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 63 6f 6d 6d 65 ss="line"><span.class="tok-comme
a6cc0 6e 74 22 3e 2f 2f 20 68 74 74 70 73 3a 2f 2f 67 63 63 2e 67 6e 75 2e 6f 72 67 2f 6f 6e 6c 69 6e nt">//.https://gcc.gnu.org/onlin
a6ce0 65 64 6f 63 73 2f 67 63 63 2f 45 78 74 65 6e 64 65 64 2d 41 73 6d 2e 68 74 6d 6c 3c 2f 73 70 61 edocs/gcc/Extended-Asm.html</spa
a6d00 6e 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 n></span>.<span.class="line"><sp
a6d20 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 63 6f 6d 6d 65 6e 74 22 3e 2f 2f 20 49 6e 20 74 68 69 an.class="tok-comment">//.In.thi
a6d40 73 20 65 78 61 6d 70 6c 65 2c 20 74 68 65 20 63 6f 6e 73 74 72 61 69 6e 74 20 73 74 72 69 6e 67 s.example,.the.constraint.string
a6d60 20 6d 65 61 6e 73 20 26 71 75 6f 74 3b 74 68 65 20 72 65 73 75 6c 74 20 76 61 6c 75 65 20 6f 66 .means.&quot;the.result.value.of
a6d80 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 </span></span>.<span.class="line
a6da0 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 63 6f 6d 6d 65 6e 74 22 3e 2f 2f 20 74 "><span.class="tok-comment">//.t
a6dc0 68 69 73 20 69 6e 6c 69 6e 65 20 61 73 73 65 6d 62 6c 79 20 69 6e 73 74 72 75 63 74 69 6f 6e 20 his.inline.assembly.instruction.
a6de0 69 73 20 77 68 61 74 65 76 65 72 20 69 73 20 69 6e 20 24 72 61 78 26 71 75 6f 74 3b 2e 3c 2f 73 is.whatever.is.in.$rax&quot;.</s
a6e00 70 61 6e 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 pan></span>.<span.class="line">.
a6e20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 73 74 72 22 3e 26 71 75 6f 74 3b 3d ...<span.class="tok-str">&quot;=
a6e40 7b 72 61 78 7d 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 {rax}&quot;</span></span>.<span.
a6e60 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 63 6f class="line"><span.class="tok-co
a6e80 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 61 20 76 61 6c 75 65 mment">//.Next.is.either.a.value
a6ea0 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 74 68 65 6e 20 61 20 .binding,.or.`-&gt;`.and.then.a.
a6ec0 74 79 70 65 2e 20 54 68 65 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c type..The</span></span>.<span.cl
a6ee0 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 63 6f 6d 6d ass="line"><span.class="tok-comm
a6f00 65 6e 74 22 3e 2f 2f 20 74 79 70 65 20 69 73 20 74 68 65 20 72 65 73 75 6c 74 20 74 79 70 65 20 ent">//.type.is.the.result.type.
a6f20 6f 66 20 74 68 65 20 69 6e 6c 69 6e 65 20 61 73 73 65 6d 62 6c 79 20 65 78 70 72 65 73 73 69 6f of.the.inline.assembly.expressio
a6f40 6e 2e 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 n.</span></span>.<span.class="li
a6f60 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 63 6f 6d 6d 65 6e 74 22 3e 2f 2f ne"><span.class="tok-comment">//
a6f80 20 49 66 20 69 74 20 69 73 20 61 20 76 61 6c 75 65 20 62 69 6e 64 69 6e 67 2c 20 74 68 65 6e 20 .If.it.is.a.value.binding,.then.
a6fa0 60 25 5b 72 65 74 5d 60 20 73 79 6e 74 61 78 20 77 6f 75 6c 64 20 62 65 20 75 73 65 64 3c 2f 73 `%[ret]`.syntax.would.be.used</s
a6fc0 70 61 6e 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c pan></span>.<span.class="line"><
a6fe0 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 63 6f 6d 6d 65 6e 74 22 3e 2f 2f 20 74 6f 20 72 span.class="tok-comment">//.to.r
a7000 65 66 65 72 20 74 6f 20 74 68 65 20 72 65 67 69 73 74 65 72 20 62 6f 75 6e 64 20 74 6f 20 74 68 efer.to.the.register.bound.to.th
a7020 65 20 76 61 6c 75 65 2e 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 e.value.</span></span>.<span.cla
a7040 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 28 2d 26 67 74 3b 20 3c 73 70 61 6e 20 63 6c 61 73 73 ss="line">....(-&gt;.<span.class
a7060 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 75 73 69 7a 65 3c 2f 73 70 61 6e 3e 29 3c 2f 73 70 61 6e 3e ="tok-type">usize</span>)</span>
a7080 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d .<span.class="line"><span.class=
a70a0 22 74 6f 6b 2d 63 6f 6d 6d 65 6e 74 22 3e 2f 2f 20 4e 65 78 74 20 69 73 20 74 68 65 20 6c 69 73 "tok-comment">//.Next.is.the.lis
a70c0 74 20 6f 66 20 69 6e 70 75 74 73 2e 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e t.of.inputs.</span></span>.<span
a70e0 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 63 .class="line"><span.class="tok-c
a7100 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 72 20 74 68 omment">//.The.constraint.for.th
a7120 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 20 74 68 65 ese.inputs.means,.&quot;when.the
a7140 20 61 73 73 65 6d 62 6c 79 20 63 6f 64 65 20 69 73 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 0a .assembly.code.is</span></span>.
a7160 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 <span.class="line"><span.class="
a7180 74 6f 6b 2d 63 6f 6d 6d 65 6e 74 22 3e 2f 2f 20 65 78 65 63 75 74 65 64 2c 20 24 72 61 78 20 73 tok-comment">//.executed,.$rax.s
a71a0 68 61 6c 6c 20 68 61 76 65 20 74 68 65 20 76 61 6c 75 65 20 6f 66 20 60 6e 75 6d 62 65 72 60 20 hall.have.the.value.of.`number`.
a71c0 61 6e 64 20 24 72 64 69 20 73 68 61 6c 6c 20 68 61 76 65 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e and.$rdi.shall.have</span></span
a71e0 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 >.<span.class="line"><span.class
a7200 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 6f 66 20 60 ="tok-comment">//.the.value.of.`
a7220 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 6e 70 75 74 arg1`&quot;..Any.number.of.input
a7240 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 6e 3e 3c 2f .parameters.is.allowed,</span></
a7260 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 span>.<span.class="line"><span.c
a7280 6c 61 73 73 3d 22 74 6f 6b 2d 63 6f 6d 6d 65 6e 74 22 3e 2f 2f 20 69 6e 63 6c 75 64 69 6e 67 20 lass="tok-comment">//.including.
a72a0 6e 6f 6e 65 2e 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d none.</span></span>.<span.class=
a72c0 22 6c 69 6e 65 22 3e 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 "line">....:.[number].<span.clas
a72e0 73 3d 22 74 6f 6b 2d 73 74 72 22 3e 26 71 75 6f 74 3b 7b 72 61 78 7d 26 71 75 6f 74 3b 3c 2f 73 s="tok-str">&quot;{rax}&quot;</s
a7300 70 61 6e 3e 20 28 6e 75 6d 62 65 72 29 2c 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 pan>.(number),</span>.<span.clas
a7320 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 20 20 20 20 5b 61 72 67 31 5d 20 3c 73 70 61 6e 20 63 6c s="line">........[arg1].<span.cl
a7340 61 73 73 3d 22 74 6f 6b 2d 73 74 72 22 3e 26 71 75 6f 74 3b 7b 72 64 69 7d 26 71 75 6f 74 3b 3c ass="tok-str">&quot;{rdi}&quot;<
a7360 2f 73 70 61 6e 3e 20 28 61 72 67 31 29 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 /span>.(arg1)</span>.<span.class
a7380 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 63 6f 6d 6d 65 6e 74 ="line"><span.class="tok-comment
a73a0 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 63 6c 6f 62 62 65 72 ">//.Next.is.the.list.of.clobber
a73c0 73 2e 20 54 68 65 73 65 20 64 65 63 6c 61 72 65 20 61 20 73 65 74 20 6f 66 20 72 65 67 69 73 74 s..These.declare.a.set.of.regist
a73e0 65 72 73 20 77 68 6f 73 65 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c ers.whose</span></span>.<span.cl
a7400 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 63 6f 6d 6d ass="line"><span.class="tok-comm
a7420 65 6e 74 22 3e 2f 2f 20 76 61 6c 75 65 73 20 77 69 6c 6c 20 6e 6f 74 20 62 65 20 70 72 65 73 65 ent">//.values.will.not.be.prese
a7440 72 76 65 64 20 62 79 20 74 68 65 20 65 78 65 63 75 74 69 6f 6e 20 6f 66 20 74 68 69 73 20 61 73 rved.by.the.execution.of.this.as
a7460 73 65 6d 62 6c 79 20 63 6f 64 65 2e 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e sembly.code.</span></span>.<span
a7480 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 63 .class="line"><span.class="tok-c
a74a0 6f 6d 6d 65 6e 74 22 3e 2f 2f 20 54 68 65 73 65 20 64 6f 20 6e 6f 74 20 69 6e 63 6c 75 64 65 20 omment">//.These.do.not.include.
a74c0 6f 75 74 70 75 74 20 6f 72 20 69 6e 70 75 74 20 72 65 67 69 73 74 65 72 73 2e 20 54 68 65 20 73 output.or.input.registers..The.s
a74e0 70 65 63 69 61 6c 20 63 6c 6f 62 62 65 72 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 pecial.clobber</span></span>.<sp
a7500 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b an.class="line"><span.class="tok
a7520 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 6f 74 3b 6d 65 6d 6f -comment">//.value.of.&quot;memo
a7540 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 73 73 65 6d 62 6c 79 ry&quot;.means.that.the.assembly
a7560 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 63 6c 61 72 65 64 3c .writes.to.arbitrary.undeclared<
a7580 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 /span></span>.<span.class="line"
a75a0 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 63 6f 6d 6d 65 6e 74 22 3e 2f 2f 20 6d 65 ><span.class="tok-comment">//.me
a75c0 6d 6f 72 79 20 6c 6f 63 61 74 69 6f 6e 73 20 2d 20 6e 6f 74 20 6f 6e 6c 79 20 74 68 65 20 6d 65 mory.locations.-.not.only.the.me
a75e0 6d 6f 72 79 20 70 6f 69 6e 74 65 64 20 74 6f 20 62 79 20 61 20 64 65 63 6c 61 72 65 64 20 69 6e mory.pointed.to.by.a.declared.in
a7600 64 69 72 65 63 74 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 direct</span></span>.<span.class
a7620 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 63 6f 6d 6d 65 6e 74 ="line"><span.class="tok-comment
a7640 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 70 6c 65 20 77 65 20 ">//.output..In.this.example.we.
a7660 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 65 20 69 74 20 69 73 list.$rcx.and.$r11.because.it.is
a7680 20 6b 6e 6f 77 6e 20 74 68 65 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 .known.the</span></span>.<span.c
a76a0 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 63 6f 6d lass="line"><span.class="tok-com
a76c0 6d 65 6e 74 22 3e 2f 2f 20 6b 65 72 6e 65 6c 20 73 79 73 63 61 6c 6c 20 64 6f 65 73 20 6e 6f 74 ment">//.kernel.syscall.does.not
a76e0 20 70 72 65 73 65 72 76 65 20 74 68 65 73 65 20 72 65 67 69 73 74 65 72 73 2e 3c 2f 73 70 61 6e .preserve.these.registers.</span
a7700 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 ></span>.<span.class="line">....
a7720 3a 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 73 74 72 22 3e 26 71 75 6f 74 3b 72 63 :.<span.class="tok-str">&quot;rc
a7740 78 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 2c 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b x&quot;</span>,.<span.class="tok
a7760 2d 73 74 72 22 3e 26 71 75 6f 74 3b 72 31 31 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 3c 2f 73 70 -str">&quot;r11&quot;</span></sp
a7780 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 29 3b 3c 2f 73 70 61 6e 3e an>.<span.class="line">);</span>
a77a0 3c 2f 63 6f 64 65 3e 3c 2f 70 72 65 3e 3c 2f 66 69 67 75 72 65 3e 0a 20 20 20 20 20 20 3c 70 3e </code></pre></figure>.......<p>
a77c0 0a 20 20 20 20 20 20 46 6f 72 20 69 33 38 36 20 61 6e 64 20 78 38 36 5f 36 34 20 74 61 72 67 65 .......For.i386.and.x86_64.targe
a77e0 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
a7800 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
a7820 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.
a7840 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
a7860 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.
a7880 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
a78a0 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
a78c0 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
a78e0 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
a7900 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
a7920 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
a7940 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.
a7960 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
a7980 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.....
a79a0 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
a79c0 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
a79e0 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
a7a00 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
a7a20 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
a7a40 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 23 ="Output-Constraints"><a.href="#
a7a60 74 6f 63 2d 4f 75 74 70 75 74 2d 43 6f 6e 73 74 72 61 69 6e 74 73 22 3e 4f 75 74 70 75 74 20 43 toc-Output-Constraints">Output.C
a7a80 6f 6e 73 74 72 61 69 6e 74 73 3c 2f 61 3e 20 3c 61 20 63 6c 61 73 73 3d 22 68 64 72 22 20 68 72 onstraints</a>.<a.class="hdr".hr
a7aa0 65 66 3d 22 23 4f 75 74 70 75 74 2d 43 6f 6e 73 74 72 61 69 6e 74 73 22 3e c2 a7 3c 2f 61 3e 3c ef="#Output-Constraints">..</a><
a7ac0 2f 68 33 3e 0a 0a 20 20 20 20 20 20 3c 70 3e 0a 20 20 20 20 20 20 4f 75 74 70 75 74 20 63 6f 6e /h3>........<p>.......Output.con
a7ae0 73 74 72 61 69 6e 74 73 20 61 72 65 20 73 74 69 6c 6c 20 63 6f 6e 73 69 64 65 72 65 64 20 74 6f straints.are.still.considered.to
a7b00 20 62 65 20 75 6e 73 74 61 62 6c 65 20 69 6e 20 5a 69 67 2c 20 61 6e 64 0a 20 20 20 20 20 20 73 .be.unstable.in.Zig,.and.......s
a7b20 6f 0a 20 20 20 20 20 20 3c 61 20 68 72 65 66 3d 22 68 74 74 70 3a 2f 2f 72 65 6c 65 61 73 65 73 o.......<a.href="http://releases
a7b40 2e 6c 6c 76 6d 2e 6f 72 67 2f 31 30 2e 30 2e 30 2f 64 6f 63 73 2f 4c 61 6e 67 52 65 66 2e 68 74 .llvm.org/10.0.0/docs/LangRef.ht
a7b60 6d 6c 23 69 6e 6c 69 6e 65 2d 61 73 6d 2d 63 6f 6e 73 74 72 61 69 6e 74 2d 73 74 72 69 6e 67 22 ml#inline-asm-constraint-string"
a7b80 3e 4c 4c 56 4d 20 64 6f 63 75 6d 65 6e 74 61 74 69 6f 6e 3c 2f 61 3e 0a 20 20 20 20 20 20 61 6e >LLVM.documentation</a>.......an
a7ba0 64 0a 20 20 20 20 20 20 3c 61 20 68 72 65 66 3d 22 68 74 74 70 73 3a 2f 2f 67 63 63 2e 67 6e 75 d.......<a.href="https://gcc.gnu
a7bc0 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 6d .org/onlinedocs/gcc/Extended-Asm
a7be0 2e 68 74 6d 6c 22 3e 47 43 43 20 64 6f 63 75 6d 65 6e 74 61 74 69 6f 6e 3c 2f 61 3e 0a 20 20 20 .html">GCC.documentation</a>....
a7c00 20 20 20 6d 75 73 74 20 62 65 20 75 73 65 64 20 74 6f 20 75 6e 64 65 72 73 74 61 6e 64 20 74 68 ...must.be.used.to.understand.th
a7c20 65 20 73 65 6d 61 6e 74 69 63 73 2e 0a 20 20 20 20 20 20 3c 2f 70 3e 0a 20 20 20 20 20 20 3c 70 e.semantics........</p>.......<p
a7c40 3e 0a 20 20 20 20 20 20 4e 6f 74 65 20 74 68 61 74 20 73 6f 6d 65 20 62 72 65 61 6b 69 6e 67 20 >.......Note.that.some.breaking.
a7c60 63 68 61 6e 67 65 73 20 74 6f 20 6f 75 74 70 75 74 20 63 6f 6e 73 74 72 61 69 6e 74 73 20 61 72 changes.to.output.constraints.ar
a7c80 65 20 70 6c 61 6e 6e 65 64 20 77 69 74 68 0a 20 20 20 20 20 20 3c 61 20 68 72 65 66 3d 22 68 74 e.planned.with.......<a.href="ht
a7ca0 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
a7cc0 75 65 73 2f 32 31 35 22 3e 69 73 73 75 65 20 23 32 31 35 3c 2f 61 3e 2e 0a 20 20 20 20 20 20 3c ues/215">issue.#215</a>........<
a7ce0 2f 70 3e 0a 20 20 20 20 20 20 0a 0a 20 20 20 20 20 20 3c 68 33 20 69 64 3d 22 49 6e 70 75 74 2d /p>...............<h3.id="Input-
a7d00 43 6f 6e 73 74 72 61 69 6e 74 73 22 3e 3c 61 20 68 72 65 66 3d 22 23 74 6f 63 2d 49 6e 70 75 74 Constraints"><a.href="#toc-Input
a7d20 2d 43 6f 6e 73 74 72 61 69 6e 74 73 22 3e 49 6e 70 75 74 20 43 6f 6e 73 74 72 61 69 6e 74 73 3c -Constraints">Input.Constraints<
a7d40 2f 61 3e 20 3c 61 20 63 6c 61 73 73 3d 22 68 64 72 22 20 68 72 65 66 3d 22 23 49 6e 70 75 74 2d /a>.<a.class="hdr".href="#Input-
a7d60 43 6f 6e 73 74 72 61 69 6e 74 73 22 3e c2 a7 3c 2f 61 3e 3c 2f 68 33 3e 0a 0a 20 20 20 20 20 20 Constraints">..</a></h3>........
a7d80 3c 70 3e 0a 20 20 20 20 20 20 49 6e 70 75 74 20 63 6f 6e 73 74 72 61 69 6e 74 73 20 61 72 65 20 <p>.......Input.constraints.are.
a7da0 73 74 69 6c 6c 20 63 6f 6e 73 69 64 65 72 65 64 20 74 6f 20 62 65 20 75 6e 73 74 61 62 6c 65 20 still.considered.to.be.unstable.
a7dc0 69 6e 20 5a 69 67 2c 20 61 6e 64 0a 20 20 20 20 20 20 73 6f 0a 20 20 20 20 20 20 3c 61 20 68 72 in.Zig,.and.......so.......<a.hr
a7de0 65 66 3d 22 68 74 74 70 3a 2f 2f 72 65 6c 65 61 73 65 73 2e 6c 6c 76 6d 2e 6f 72 67 2f 31 30 2e ef="http://releases.llvm.org/10.
a7e00 30 2e 30 2f 64 6f 63 73 2f 4c 61 6e 67 52 65 66 2e 68 74 6d 6c 23 69 6e 6c 69 6e 65 2d 61 73 6d 0.0/docs/LangRef.html#inline-asm
a7e20 2d 63 6f 6e 73 74 72 61 69 6e 74 2d 73 74 72 69 6e 67 22 3e 4c 4c 56 4d 20 64 6f 63 75 6d 65 6e -constraint-string">LLVM.documen
a7e40 74 61 74 69 6f 6e 3c 2f 61 3e 0a 20 20 20 20 20 20 61 6e 64 0a 20 20 20 20 20 20 3c 61 20 68 72 tation</a>.......and.......<a.hr
a7e60 65 66 3d 22 68 74 74 70 73 3a 2f 2f 67 63 63 2e 67 6e 75 2e 6f 72 67 2f 6f 6e 6c 69 6e 65 64 6f ef="https://gcc.gnu.org/onlinedo
a7e80 63 73 2f 67 63 63 2f 45 78 74 65 6e 64 65 64 2d 41 73 6d 2e 68 74 6d 6c 22 3e 47 43 43 20 64 6f cs/gcc/Extended-Asm.html">GCC.do
a7ea0 63 75 6d 65 6e 74 61 74 69 6f 6e 3c 2f 61 3e 0a 20 20 20 20 20 20 6d 75 73 74 20 62 65 20 75 73 cumentation</a>.......must.be.us
a7ec0 65 64 20 74 6f 20 75 6e 64 65 72 73 74 61 6e 64 20 74 68 65 20 73 65 6d 61 6e 74 69 63 73 2e 0a ed.to.understand.the.semantics..
a7ee0 20 20 20 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.
a7f00 74 68 61 74 20 73 6f 6d 65 20 62 72 65 61 6b 69 6e 67 20 63 68 61 6e 67 65 73 20 74 6f 20 69 6e that.some.breaking.changes.to.in
a7f20 70 75 74 20 63 6f 6e 73 74 72 61 69 6e 74 73 20 61 72 65 20 70 6c 61 6e 6e 65 64 20 77 69 74 68 put.constraints.are.planned.with
a7f40 0a 20 20 20 20 20 20 3c 61 20 68 72 65 66 3d 22 68 74 74 70 73 3a 2f 2f 67 69 74 68 75 62 2e 63 .......<a.href="https://github.c
a7f60 6f 6d 2f 7a 69 67 6c 61 6e 67 2f 7a 69 67 2f 69 73 73 75 65 73 2f 32 31 35 22 3e 69 73 73 75 65 om/ziglang/zig/issues/215">issue
a7f80 20 23 32 31 35 3c 2f 61 3e 2e 0a 20 20 20 20 20 20 3c 2f 70 3e 0a 20 20 20 20 20 20 0a 0a 20 20 .#215</a>........</p>...........
a7fa0 20 20 20 20 3c 68 33 20 69 64 3d 22 43 6c 6f 62 62 65 72 73 22 3e 3c 61 20 68 72 65 66 3d 22 23 ....<h3.id="Clobbers"><a.href="#
a7fc0 74 6f 63 2d 43 6c 6f 62 62 65 72 73 22 3e 43 6c 6f 62 62 65 72 73 3c 2f 61 3e 20 3c 61 20 63 6c toc-Clobbers">Clobbers</a>.<a.cl
a7fe0 61 73 73 3d 22 68 64 72 22 20 68 72 65 66 3d 22 23 43 6c 6f 62 62 65 72 73 22 3e c2 a7 3c 2f 61 ass="hdr".href="#Clobbers">..</a
a8000 3e 3c 2f 68 33 3e 0a 0a 20 20 20 20 20 20 3c 70 3e 0a 20 20 20 20 20 20 43 6c 6f 62 62 65 72 73 ></h3>........<p>.......Clobbers
a8020 20 61 72 65 20 74 68 65 20 73 65 74 20 6f 66 20 72 65 67 69 73 74 65 72 73 20 77 68 6f 73 65 20 .are.the.set.of.registers.whose.
a8040 76 61 6c 75 65 73 20 77 69 6c 6c 20 6e 6f 74 20 62 65 20 70 72 65 73 65 72 76 65 64 20 62 79 20 values.will.not.be.preserved.by.
a8060 74 68 65 20 65 78 65 63 75 74 69 6f 6e 20 6f 66 0a 20 20 20 20 20 20 74 68 65 20 61 73 73 65 6d the.execution.of.......the.assem
a8080 62 6c 79 20 63 6f 64 65 2e 20 54 68 65 73 65 20 64 6f 20 6e 6f 74 20 69 6e 63 6c 75 64 65 20 6f bly.code..These.do.not.include.o
a80a0 75 74 70 75 74 20 6f 72 20 69 6e 70 75 74 20 72 65 67 69 73 74 65 72 73 2e 20 54 68 65 20 73 70 utput.or.input.registers..The.sp
a80c0 65 63 69 61 6c 20 63 6c 6f 62 62 65 72 0a 20 20 20 20 20 20 76 61 6c 75 65 20 6f 66 20 3c 63 6f ecial.clobber.......value.of.<co
a80e0 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 de><span.class="line"><span.clas
a8100 73 3d 22 74 6f 6b 2d 73 74 72 22 3e 26 71 75 6f 74 3b 6d 65 6d 6f 72 79 26 71 75 6f 74 3b 3c 2f s="tok-str">&quot;memory&quot;</
a8120 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 20 6d 65 61 6e 73 20 74 68 61 74 20 74 span></span></code>.means.that.t
a8140 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 20 he.assembly.causes.writes.to....
a8160 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 6c ...arbitrary.undeclared.memory.l
a8180 6f 63 61 74 69 6f 6e 73 20 2d 20 6e 6f 74 20 6f 6e 6c 79 20 74 68 65 20 6d 65 6d 6f 72 79 20 70 ocations.-.not.only.the.memory.p
a81a0 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 6e ointed.to.by.a.declared.......in
a81c0 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 20 direct.output........</p>.......
a81e0 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 65 <p>.......Failure.to.declare.the
a8200 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 65 .full.set.of.clobbers.for.a.give
a8220 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 69 n.inline.assembly.......expressi
a8240 6f 6e 20 69 73 20 75 6e 63 68 65 63 6b 65 64 20 3c 61 20 68 72 65 66 3d 22 23 55 6e 64 65 66 69 on.is.unchecked.<a.href="#Undefi
a8260 6e 65 64 2d 42 65 68 61 76 69 6f 72 22 3e 55 6e 64 65 66 69 6e 65 64 20 42 65 68 61 76 69 6f 72 ned-Behavior">Undefined.Behavior
a8280 3c 2f 61 3e 2e 0a 20 20 20 20 20 20 3c 2f 70 3e 0a 20 20 20 20 20 20 0a 0a 20 20 20 20 20 20 3c </a>........</p>...............<
a82a0 68 33 20 69 64 3d 22 47 6c 6f 62 61 6c 2d 41 73 73 65 6d 62 6c 79 22 3e 3c 61 20 68 72 65 66 3d h3.id="Global-Assembly"><a.href=
a82c0 22 23 74 6f 63 2d 47 6c 6f 62 61 6c 2d 41 73 73 65 6d 62 6c 79 22 3e 47 6c 6f 62 61 6c 20 41 73 "#toc-Global-Assembly">Global.As
a82e0 73 65 6d 62 6c 79 3c 2f 61 3e 20 3c 61 20 63 6c 61 73 73 3d 22 68 64 72 22 20 68 72 65 66 3d 22 sembly</a>.<a.class="hdr".href="
a8300 23 47 6c 6f 62 61 6c 2d 41 73 73 65 6d 62 6c 79 22 3e c2 a7 3c 2f 61 3e 3c 2f 68 33 3e 0a 0a 20 #Global-Assembly">..</a></h3>...
a8320 20 20 20 20 20 3c 70 3e 0a 20 20 20 20 20 20 57 68 65 6e 20 61 6e 20 61 73 73 65 6d 62 6c 79 20 .....<p>.......When.an.assembly.
a8340 65 78 70 72 65 73 73 69 6f 6e 20 6f 63 63 75 72 73 20 69 6e 20 61 20 3c 61 20 68 72 65 66 3d 22 expression.occurs.in.a.<a.href="
a8360 23 43 6f 6e 74 61 69 6e 65 72 73 22 3e 63 6f 6e 74 61 69 6e 65 72 3c 2f 61 3e 20 6c 65 76 65 6c #Containers">container</a>.level
a8380 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
a83a0 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 6f 6e 67 3e 67 >.block,.this.is.......<strong>g
a83c0 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 20 20 20 20 3c lobal.assembly</strong>........<
a83e0 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 6e 64 20 6f 66 /p>.......<p>.......This.kind.of
a8400 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 65 73 20 74 68 .assembly.has.different.rules.th
a8420 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 3c 63 6f 64 65 an.inline.assembly..First,.<code
a8440 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d ><span.class="line"><span.class=
a8460 22 74 6f 6b 2d 6b 77 22 3e 76 6f 6c 61 74 69 6c 65 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 3c "tok-kw">volatile</span></span><
a8480 2f 63 6f 64 65 3e 0a 20 20 20 20 20 20 69 73 20 6e 6f 74 20 76 61 6c 69 64 20 62 65 63 61 75 73 /code>.......is.not.valid.becaus
a84a0 65 20 61 6c 6c 20 67 6c 6f 62 61 6c 20 61 73 73 65 6d 62 6c 79 20 69 73 20 75 6e 63 6f 6e 64 69 e.all.global.assembly.is.uncondi
a84c0 74 69 6f 6e 61 6c 6c 79 20 69 6e 63 6c 75 64 65 64 2e 0a 20 20 20 20 20 20 53 65 63 6f 6e 64 2c tionally.included........Second,
a84e0 20 74 68 65 72 65 20 61 72 65 20 6e 6f 20 69 6e 70 75 74 73 2c 20 6f 75 74 70 75 74 73 2c 20 6f .there.are.no.inputs,.outputs,.o
a8500 72 20 63 6c 6f 62 62 65 72 73 2e 20 41 6c 6c 20 67 6c 6f 62 61 6c 20 61 73 73 65 6d 62 6c 79 20 r.clobbers..All.global.assembly.
a8520 69 73 20 63 6f 6e 63 61 74 65 6e 61 74 65 64 0a 20 20 20 20 20 20 76 65 72 62 61 74 69 6d 20 69 is.concatenated.......verbatim.i
a8540 6e 74 6f 20 6f 6e 65 20 6c 6f 6e 67 20 73 74 72 69 6e 67 20 61 6e 64 20 61 73 73 65 6d 62 6c 65 nto.one.long.string.and.assemble
a8560 64 20 74 6f 67 65 74 68 65 72 2e 20 54 68 65 72 65 20 61 72 65 20 6e 6f 20 74 65 6d 70 6c 61 74 d.together..There.are.no.templat
a8580 65 20 73 75 62 73 74 69 74 75 74 69 6f 6e 20 72 75 6c 65 73 20 72 65 67 61 72 64 69 6e 67 0a 20 e.substitution.rules.regarding..
a85a0 20 20 20 20 20 3c 63 6f 64 65 3e 25 3c 2f 63 6f 64 65 3e 20 61 73 20 74 68 65 72 65 20 61 72 65 .....<code>%</code>.as.there.are
a85c0 20 69 6e 20 69 6e 6c 69 6e 65 20 61 73 73 65 6d 62 6c 79 20 65 78 70 72 65 73 73 69 6f 6e 73 2e .in.inline.assembly.expressions.
a85e0 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
a8600 70 74 69 6f 6e 20 63 6c 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
a8620 73 3d 22 66 69 6c 65 22 3e 67 6c 6f 62 61 6c 2d 61 73 6d 2e 7a 69 67 3c 2f 63 69 74 65 3e 3c 2f s="file">global-asm.zig</cite></
a8640 66 69 67 63 61 70 74 69 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
a8660 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 63 6f s="line"><span.class="tok-kw">co
a8680 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
a86a0 6b 2d 62 75 69 6c 74 69 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.
a86c0 63 6c 61 73 73 3d 22 74 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;<
a86e0 2f 73 70 61 6e 3e 29 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e /span>);</span>.<span.class="lin
a8700 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 63 6f 6e 73 74 3c 2f 73 e"><span.class="tok-kw">const</s
a8720 70 61 6e 3e 20 65 78 70 65 63 74 20 3d 20 73 74 64 2e 74 65 73 74 69 6e 67 2e 65 78 70 65 63 74 pan>.expect.=.std.testing.expect
a8740 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 2f 73 70 ;</span>.<span.class="line"></sp
a8760 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 an>.<span.class="line"><span.cla
a8780 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 63 6f 6d 70 74 69 6d 65 3c 2f 73 70 61 6e 3e 20 7b 3c 2f 73 ss="tok-kw">comptime</span>.{</s
a87a0 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 3c 73 70 61 pan>.<span.class="line">....<spa
a87c0 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 28 3c 2f 73 n.class="tok-kw">asm</span>.(</s
a87e0 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 20 20 20 20 pan>.<span.class="line">........
a8800 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 73 74 72 22 3e 5c 5c 2e 67 6c 6f 62 61 6c 20 <span.class="tok-str">\\.global.
a8820 6d 79 5f 66 75 6e 63 3b 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 my_func;</span></span>.<span.cla
a8840 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 ss="line">........<span.class="t
a8860 6f 6b 2d 73 74 72 22 3e 5c 5c 2e 74 79 70 65 20 6d 79 5f 66 75 6e 63 2c 20 40 66 75 6e 63 74 69 ok-str">\\.type.my_func,.@functi
a8880 6f 6e 3b 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c on;</span></span>.<span.class="l
a88a0 69 6e 65 22 3e 20 20 20 20 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 73 74 ine">........<span.class="tok-st
a88c0 72 22 3e 5c 5c 6d 79 5f 66 75 6e 63 3a 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 r">\\my_func:</span></span>.<spa
a88e0 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 n.class="line">........<span.cla
a8900 73 73 3d 22 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 ss="tok-str">\\..lea.(%rdi,%rsi,
a8920 31 29 2c 25 65 61 78 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 1),%eax</span></span>.<span.clas
a8940 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f s="line">........<span.class="to
a8960 6b 2d 73 74 72 22 3e 5c 5c 20 20 72 65 74 71 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 k-str">\\..retq</span></span>.<s
a8980 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 29 3b 3c 2f 73 70 61 6e 3e 0a 3c pan.class="line">....);</span>.<
a89a0 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 7d 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e span.class="line">}</span>.<span
a89c0 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 .class="line"></span>.<span.clas
a89e0 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 65 78 s="line"><span.class="tok-kw">ex
a8a00 74 65 72 6e 3c 2f 73 70 61 6e 3e 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 tern</span>.<span.class="tok-kw"
a8a20 3e 66 6e 3c 2f 73 70 61 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">
a8a40 6d 79 5f 66 75 6e 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 my_func</span>(a:.<span.class="t
a8a60 6f 6b 2d 74 79 70 65 22 3e 69 33 32 3c 2f 73 70 61 6e 3e 2c 20 62 3a 20 3c 73 70 61 6e 20 63 6c ok-type">i32</span>,.b:.<span.cl
a8a80 61 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
a8aa0 20 63 6c 61 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 3c 2f 73 .class="tok-type">i32</span>;</s
a8ac0 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 2f 73 70 61 6e 3e 0a pan>.<span.class="line"></span>.
a8ae0 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 <span.class="line"><span.class="
a8b00 74 6f 6b 2d 6b 77 22 3e 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=
a8b20 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 65 6d 62 6c 79 26 "tok-str">&quot;global.assembly&
a8b40 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 20 7b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 quot;</span>.{</span>.<span.clas
a8b60 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 s="line">....<span.class="tok-kw
a8b80 22 3e 74 72 79 3c 2f 73 70 61 6e 3e 20 65 78 70 65 63 74 28 6d 79 5f 66 75 6e 63 28 3c 73 70 61 ">try</span>.expect(my_func(<spa
a8ba0 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 20 n.class="tok-number">12</span>,.
a8bc0 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 33 34 3c 2f 73 70 61 <span.class="tok-number">34</spa
a8be0 6e 3e 29 20 3d 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e n>).==.<span.class="tok-number">
a8c00 34 36 3c 2f 73 70 61 6e 3e 29 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 46</span>);</span>.<span.class="
a8c20 6c 69 6e 65 22 3e 7d 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 3c 2f 70 72 65 3e 3c 2f 66 69 67 line">}</span></code></pre></fig
a8c40 75 72 65 3e 3c 66 69 67 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
a8c60 68 65 6c 6c 2d 63 61 70 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
a8c80 3e 3c 73 61 6d 70 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 24 20 3c 6b 62 64 ><samp><span.class="line">$.<kbd
a8ca0 3e 7a 69 67 20 74 65 73 74 20 67 6c 6f 62 61 6c 2d 61 73 6d 2e 7a 69 67 20 2d 74 61 72 67 65 74 >zig.test.global-asm.zig.-target
a8cc0 20 78 38 36 5f 36 34 2d 6c 69 6e 75 78 3c 2f 6b 62 64 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e .x86_64-linux</kbd></span>.<span
a8ce0 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 31 2f 31 20 74 65 73 74 2e 67 6c 6f 62 61 6c 20 61 73 .class="line">1/1.test.global.as
a8d00 73 65 6d 62 6c 79 2e 2e 2e 20 4f 4b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d sembly....OK</span>.<span.class=
a8d20 22 6c 69 6e 65 22 3e 41 6c 6c 20 31 20 74 65 73 74 73 20 70 61 73 73 65 64 2e 3c 2f 73 70 61 6e "line">All.1.tests.passed.</span
a8d40 3e 0a 3c 2f 73 61 6d 70 3e 3c 2f 70 72 65 3e 3c 2f 66 69 67 75 72 65 3e 0a 20 20 20 20 20 20 0a >.</samp></pre></figure>........
a8d60 20 20 20 20 20 20 0a 0a 20 20 20 20 20 20 3c 68 32 20 69 64 3d 22 41 74 6f 6d 69 63 73 22 3e 3c ..............<h2.id="Atomics"><
a8d80 61 20 68 72 65 66 3d 22 23 74 6f 63 2d 41 74 6f 6d 69 63 73 22 3e 41 74 6f 6d 69 63 73 3c 2f 61 a.href="#toc-Atomics">Atomics</a
a8da0 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 6f 6d 69 63 73 22 >.<a.class="hdr".href="#Atomics"
a8dc0 3e c2 a7 3c 2f 61 3e 3c 2f 68 32 3e 0a 0a 20 20 20 20 20 20 3c 70 3e 54 4f 44 4f 3a 20 40 66 65 >..</a></h2>........<p>TODO:.@fe
a8de0 6e 63 65 28 29 3c 2f 70 3e 0a 20 20 20 20 20 20 3c 70 3e 54 4f 44 4f 3a 20 40 61 74 6f 6d 69 63 nce()</p>.......<p>TODO:.@atomic
a8e00 20 72 6d 77 3c 2f 70 3e 0a 20 20 20 20 20 20 3c 70 3e 54 4f 44 4f 3a 20 62 75 69 6c 74 69 6e 20 .rmw</p>.......<p>TODO:.builtin.
a8e20 61 74 6f 6d 69 63 20 6d 65 6d 6f 72 79 20 6f 72 64 65 72 69 6e 67 20 65 6e 75 6d 3c 2f 70 3e 0a atomic.memory.ordering.enum</p>.
a8e40 20 20 20 20 20 20 0a 20 20 20 20 20 20 3c 68 32 20 69 64 3d 22 41 73 79 6e 63 2d 46 75 6e 63 74 .............<h2.id="Async-Funct
a8e60 69 6f 6e 73 22 3e 3c 61 20 68 72 65 66 3d 22 23 74 6f 63 2d 41 73 79 6e 63 2d 46 75 6e 63 74 69 ions"><a.href="#toc-Async-Functi
a8e80 6f 6e 73 22 3e 41 73 79 6e 63 20 46 75 6e 63 74 69 6f 6e 73 3c 2f 61 3e 20 3c 61 20 63 6c 61 73 ons">Async.Functions</a>.<a.clas
a8ea0 73 3d 22 68 64 72 22 20 68 72 65 66 3d 22 23 41 73 79 6e 63 2d 46 75 6e 63 74 69 6f 6e 73 22 3e s="hdr".href="#Async-Functions">
a8ec0 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 57 68 65 ..</a></h2>........<p>.......Whe
a8ee0 6e 20 61 20 66 75 6e 63 74 69 6f 6e 20 69 73 20 63 61 6c 6c 65 64 2c 20 61 20 66 72 61 6d 65 20 n.a.function.is.called,.a.frame.
a8f00 69 73 20 70 75 73 68 65 64 20 74 6f 20 74 68 65 20 73 74 61 63 6b 2c 0a 20 20 20 20 20 20 74 68 is.pushed.to.the.stack,.......th
a8f20 65 20 66 75 6e 63 74 69 6f 6e 20 72 75 6e 73 20 75 6e 74 69 6c 20 69 74 20 72 65 61 63 68 65 73 e.function.runs.until.it.reaches
a8f40 20 61 20 72 65 74 75 72 6e 20 73 74 61 74 65 6d 65 6e 74 2c 20 61 6e 64 20 74 68 65 6e 20 74 68 .a.return.statement,.and.then.th
a8f60 65 20 66 72 61 6d 65 20 69 73 20 70 6f 70 70 65 64 20 66 72 6f 6d 20 74 68 65 20 73 74 61 63 6b e.frame.is.popped.from.the.stack
a8f80 2e 0a 20 20 20 20 20 20 54 68 65 20 63 6f 64 65 20 66 6f 6c 6c 6f 77 69 6e 67 20 74 68 65 20 63 ........The.code.following.the.c
a8fa0 61 6c 6c 73 69 74 65 20 64 6f 65 73 20 6e 6f 74 20 72 75 6e 20 75 6e 74 69 6c 20 74 68 65 20 66 allsite.does.not.run.until.the.f
a8fc0 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 70 3e 0a 20 20 20 20 unction.returns........</p>.....
a8fe0 20 20 3c 70 3e 0a 20 20 20 20 20 20 41 6e 20 61 73 79 6e 63 20 66 75 6e 63 74 69 6f 6e 20 69 73 ..<p>.......An.async.function.is
a9000 20 61 20 66 75 6e 63 74 69 6f 6e 20 77 68 6f 73 65 20 65 78 65 63 75 74 69 6f 6e 20 69 73 20 73 .a.function.whose.execution.is.s
a9020 70 6c 69 74 20 69 6e 74 6f 20 61 6e 20 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 plit.into.an.<code><span.class="
a9040 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 61 73 79 6e 63 line"><span.class="tok-kw">async
a9060 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 20 69 6e 69 74 69 61 74 69 6f 6e </span></span></code>.initiation
a9080 2c 0a 20 20 20 20 20 20 66 6f 6c 6c 6f 77 65 64 20 62 79 20 61 6e 20 3c 63 6f 64 65 3e 3c 73 70 ,.......followed.by.an.<code><sp
a90a0 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b an.class="line"><span.class="tok
a90c0 2d 6b 77 22 3e 61 77 61 69 74 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 20 -kw">await</span></span></code>.
a90e0 63 6f 6d 70 6c 65 74 69 6f 6e 2e 20 49 74 73 20 66 72 61 6d 65 20 69 73 0a 20 20 20 20 20 20 70 completion..Its.frame.is.......p
a9100 72 6f 76 69 64 65 64 20 65 78 70 6c 69 63 69 74 6c 79 20 62 79 20 74 68 65 20 63 61 6c 6c 65 72 rovided.explicitly.by.the.caller
a9120 2c 20 61 6e 64 20 69 74 20 63 61 6e 20 62 65 20 73 75 73 70 65 6e 64 65 64 20 61 6e 64 20 72 65 ,.and.it.can.be.suspended.and.re
a9140 73 75 6d 65 64 20 61 6e 79 20 6e 75 6d 62 65 72 20 6f 66 20 74 69 6d 65 73 2e 0a 20 20 20 20 20 sumed.any.number.of.times.......
a9160 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 66 .</p>.......<p>.......The.code.f
a9180 6f 6c 6c 6f 77 69 6e 67 20 74 68 65 20 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 ollowing.the.<code><span.class="
a91a0 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 61 73 79 6e 63 line"><span.class="tok-kw">async
a91c0 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 20 63 61 6c 6c 73 69 74 65 20 72 </span></span></code>.callsite.r
a91e0 75 6e 73 20 69 6d 6d 65 64 69 61 74 65 6c 79 20 61 66 74 65 72 20 74 68 65 20 61 73 79 6e 63 0a uns.immediately.after.the.async.
a9200 20 20 20 20 20 20 66 75 6e 63 74 69 6f 6e 20 66 69 72 73 74 20 73 75 73 70 65 6e 64 73 2e 20 57 ......function.first.suspends..W
a9220 68 65 6e 20 74 68 65 20 72 65 74 75 72 6e 20 76 61 6c 75 65 20 6f 66 20 74 68 65 20 61 73 79 6e hen.the.return.value.of.the.asyn
a9240 63 20 66 75 6e 63 74 69 6f 6e 20 69 73 20 6e 65 65 64 65 64 2c 0a 20 20 20 20 20 20 74 68 65 20 c.function.is.needed,.......the.
a9260 63 61 6c 6c 69 6e 67 20 63 6f 64 65 20 63 61 6e 20 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 calling.code.can.<code><span.cla
a9280 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 61 ss="line"><span.class="tok-kw">a
a92a0 77 61 69 74 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 20 6f 6e 20 74 68 65 wait</span></span></code>.on.the
a92c0 20 61 73 79 6e 63 20 66 75 6e 63 74 69 6f 6e 20 66 72 61 6d 65 2e 0a 20 20 20 20 20 20 54 68 69 .async.function.frame........Thi
a92e0 73 20 77 69 6c 6c 20 73 75 73 70 65 6e 64 20 74 68 65 20 63 61 6c 6c 69 6e 67 20 63 6f 64 65 20 s.will.suspend.the.calling.code.
a9300 75 6e 74 69 6c 20 74 68 65 20 61 73 79 6e 63 20 66 75 6e 63 74 69 6f 6e 20 63 6f 6d 70 6c 65 74 until.the.async.function.complet
a9320 65 73 2c 20 61 74 20 77 68 69 63 68 20 70 6f 69 6e 74 0a 20 20 20 20 20 20 65 78 65 63 75 74 69 es,.at.which.point.......executi
a9340 6f 6e 20 72 65 73 75 6d 65 73 20 6a 75 73 74 20 61 66 74 65 72 20 74 68 65 20 3c 63 6f 64 65 3e on.resumes.just.after.the.<code>
a9360 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 <span.class="line"><span.class="
a9380 74 6f 6b 2d 6b 77 22 3e 61 77 61 69 74 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 tok-kw">await</span></span></cod
a93a0 65 3e 20 63 61 6c 6c 73 69 74 65 2e 0a 20 20 20 20 20 20 3c 2f 70 3e 0a 20 20 20 20 20 20 3c 70 e>.callsite........</p>.......<p
a93c0 3e 0a 20 20 20 20 20 20 5a 69 67 20 69 6e 66 65 72 73 20 74 68 61 74 20 61 20 66 75 6e 63 74 69 >.......Zig.infers.that.a.functi
a93e0 6f 6e 20 69 73 20 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c on.is.<code><span.class="line"><
a9400 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 61 73 79 6e 63 3c 2f 73 70 61 6e 3e span.class="tok-kw">async</span>
a9420 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 20 77 68 65 6e 20 69 74 20 6f 62 73 65 72 76 65 73 20 </span></code>.when.it.observes.
a9440 74 68 61 74 20 74 68 65 20 66 75 6e 63 74 69 6f 6e 20 63 6f 6e 74 61 69 6e 73 0a 20 20 20 20 20 that.the.function.contains......
a9460 20 61 20 3c 73 74 72 6f 6e 67 3e 73 75 73 70 65 6e 73 69 6f 6e 20 70 6f 69 6e 74 3c 2f 73 74 72 .a.<strong>suspension.point</str
a9480 6f 6e 67 3e 2e 20 41 73 79 6e 63 20 66 75 6e 63 74 69 6f 6e 73 20 63 61 6e 20 62 65 20 63 61 6c ong>..Async.functions.can.be.cal
a94a0 6c 65 64 20 74 68 65 20 73 61 6d 65 20 61 73 20 6e 6f 72 6d 61 6c 20 66 75 6e 63 74 69 6f 6e 73 led.the.same.as.normal.functions
a94c0 2e 20 41 0a 20 20 20 20 20 20 66 75 6e 63 74 69 6f 6e 20 63 61 6c 6c 20 6f 66 20 61 6e 20 61 73 ..A.......function.call.of.an.as
a94e0 79 6e 63 20 66 75 6e 63 74 69 6f 6e 20 69 73 20 61 20 73 75 73 70 65 6e 64 20 70 6f 69 6e 74 2e ync.function.is.a.suspend.point.
a9500 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 53 75 73 70 65 6e .......</p>.......<h3.id="Suspen
a9520 64 2d 61 6e 64 2d 52 65 73 75 6d 65 22 3e 3c 61 20 68 72 65 66 3d 22 23 74 6f 63 2d 53 75 73 70 d-and-Resume"><a.href="#toc-Susp
a9540 65 6e 64 2d 61 6e 64 2d 52 65 73 75 6d 65 22 3e 53 75 73 70 65 6e 64 20 61 6e 64 20 52 65 73 75 end-and-Resume">Suspend.and.Resu
a9560 6d 65 3c 2f 61 3e 20 3c 61 20 63 6c 61 73 73 3d 22 68 64 72 22 20 68 72 65 66 3d 22 23 53 75 73 me</a>.<a.class="hdr".href="#Sus
a9580 70 65 6e 64 2d 61 6e 64 2d 52 65 73 75 6d 65 22 3e c2 a7 3c 2f 61 3e 3c 2f 68 33 3e 0a 0a 20 20 pend-and-Resume">..</a></h3>....
a95a0 20 20 20 20 3c 70 3e 0a 20 20 20 20 20 20 41 74 20 61 6e 79 20 70 6f 69 6e 74 2c 20 61 20 66 75 ....<p>.......At.any.point,.a.fu
a95c0 6e 63 74 69 6f 6e 20 6d 61 79 20 73 75 73 70 65 6e 64 20 69 74 73 65 6c 66 2e 20 54 68 69 73 20 nction.may.suspend.itself..This.
a95e0 63 61 75 73 65 73 20 63 6f 6e 74 72 6f 6c 20 66 6c 6f 77 20 74 6f 0a 20 20 20 20 20 20 72 65 74 causes.control.flow.to.......ret
a9600 75 72 6e 20 74 6f 20 74 68 65 20 63 61 6c 6c 73 69 74 65 20 28 69 6e 20 74 68 65 20 63 61 73 65 urn.to.the.callsite.(in.the.case
a9620 20 6f 66 20 74 68 65 20 66 69 72 73 74 20 73 75 73 70 65 6e 73 69 6f 6e 29 2c 0a 20 20 20 20 20 .of.the.first.suspension),......
a9640 20 6f 72 20 72 65 73 75 6d 65 72 20 28 69 6e 20 74 68 65 20 63 61 73 65 20 6f 66 20 73 75 62 73 .or.resumer.(in.the.case.of.subs
a9660 65 71 75 65 6e 74 20 73 75 73 70 65 6e 73 69 6f 6e 73 29 2e 0a 20 20 20 20 20 20 3c 2f 70 3e 0a equent.suspensions)........</p>.
a9680 20 20 20 20 20 20 3c 66 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=
a96a0 22 7a 69 67 2d 63 61 70 22 3e 3c 63 69 74 65 20 63 6c 61 73 73 3d 22 66 69 6c 65 22 3e 73 75 73 "zig-cap"><cite.class="file">sus
a96c0 70 65 6e 64 5f 6e 6f 5f 72 65 73 75 6d 65 2e 7a 69 67 3c 2f 63 69 74 65 3e 3c 2f 66 69 67 63 61 pend_no_resume.zig</cite></figca
a96e0 70 74 69 6f 6e 3e 3c 70 72 65 3e 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 ption><pre><code><span.class="li
a9700 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 63 6f 6e 73 74 3c 2f ne"><span.class="tok-kw">const</
a9720 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
a9740 6c 74 69 6e 22 3e 40 69 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
a9760 3d 22 74 6f 6b 2d 73 74 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
a9780 3e 29 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 >);</span>.<span.class="line"><s
a97a0 70 61 6e 20 63 6c 61 73 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>.
a97c0 65 78 70 65 63 74 20 3d 20 73 74 64 2e 74 65 73 74 69 6e 67 2e 65 78 70 65 63 74 3b 3c 2f 73 70 expect.=.std.testing.expect;</sp
a97e0 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 2f 73 70 61 6e 3e 0a 3c an>.<span.class="line"></span>.<
a9800 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 span.class="line"><span.class="t
a9820 6f 6b 2d 6b 77 22 3e 76 61 72 3c 2f 73 70 61 6e 3e 20 78 3a 20 3c 73 70 61 6e 20 63 6c 61 73 73 ok-kw">var</span>.x:.<span.class
a9840 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
a9860 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 31 3c 2f 73 70 61 6e 3e 3b 3c 2f 73 70 61 lass="tok-number">1</span>;</spa
a9880 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 n>.<span.class="line"></span>.<s
a98a0 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f pan.class="line"><span.class="to
a98c0 6b 2d 6b 77 22 3e 74 65 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
a98e0 6f 6b 2d 73 74 72 22 3e 26 71 75 6f 74 3b 73 75 73 70 65 6e 64 20 77 69 74 68 20 6e 6f 20 72 65 ok-str">&quot;suspend.with.no.re
a9900 73 75 6d 65 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 20 7b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e sume&quot;</span>.{</span>.<span
a9920 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 .class="line">....<span.class="t
a9940 6f 6b 2d 6b 77 22 3e 76 61 72 3c 2f 73 70 61 6e 3e 20 66 72 61 6d 65 20 3d 20 3c 73 70 61 6e 20 ok-kw">var</span>.frame.=.<span.
a9960 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 61 73 79 6e 63 3c 2f 73 70 61 6e 3e 20 66 75 6e 63 class="tok-kw">async</span>.func
a9980 28 29 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 ();</span>.<span.class="line">..
a99a0 20 20 3c 73 70 61 6e 20 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
a99c0 3e 20 65 78 70 65 63 74 28 78 20 3d 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e >.expect(x.==.<span.class="tok-n
a99e0 75 6d 62 65 72 22 3e 32 3c 2f 73 70 61 6e 3e 29 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 umber">2</span>);</span>.<span.c
a9a00 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 5f 20 3d 20 66 72 61 6d 65 3b 3c 2f 73 70 61 6e lass="line">...._.=.frame;</span
a9a20 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 7d 3c 2f 73 70 61 6e 3e 0a 3c 73 >.<span.class="line">}</span>.<s
a9a40 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 pan.class="line"></span>.<span.c
a9a60 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 lass="line"><span.class="tok-kw"
a9a80 3e 66 6e 3c 2f 73 70 61 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">
a9aa0 66 75 6e 63 3c 2f 73 70 61 6e 3e 28 29 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 func</span>().<span.class="tok-t
a9ac0 79 70 65 22 3e 76 6f 69 64 3c 2f 73 70 61 6e 3e 20 7b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 ype">void</span>.{</span>.<span.
a9ae0 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 78 20 2b 3d 20 3c 73 70 61 6e 20 63 6c 61 73 class="line">....x.+=.<span.clas
a9b00 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 31 3c 2f 73 70 61 6e 3e 3b 3c 2f 73 70 61 6e 3e 0a s="tok-number">1</span>;</span>.
a9b20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 <span.class="line">....<span.cla
a9b40 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 73 75 73 70 65 6e 64 3c 2f 73 70 61 6e 3e 20 7b 7d 3c 2f 73 ss="tok-kw">suspend</span>.{}</s
a9b60 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 3c 73 70 61 pan>.<span.class="line">....<spa
a9b80 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 63 6f 6d 6d 65 6e 74 22 3e 2f 2f 20 54 68 69 73 20 6c 69 n.class="tok-comment">//.This.li
a9ba0 6e 65 20 69 73 20 6e 65 76 65 72 20 72 65 61 63 68 65 64 20 62 65 63 61 75 73 65 20 74 68 65 20 ne.is.never.reached.because.the.
a9bc0 73 75 73 70 65 6e 64 20 68 61 73 20 6e 6f 20 6d 61 74 63 68 69 6e 67 20 72 65 73 75 6d 65 2e 3c suspend.has.no.matching.resume.<
a9be0 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 /span></span>.<span.class="line"
a9c00 3e 20 20 20 20 78 20 2b 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 >....x.+=.<span.class="tok-numbe
a9c20 72 22 3e 31 3c 2f 73 70 61 6e 3e 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d r">1</span>;</span>.<span.class=
a9c40 22 6c 69 6e 65 22 3e 7d 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 3c 2f 70 72 65 3e 3c 2f 66 69 "line">}</span></code></pre></fi
a9c60 67 75 72 65 3e 3c 66 69 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="
a9c80 73 68 65 6c 6c 2d 63 61 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
a9ca0 65 3e 3c 73 61 6d 70 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 24 20 3c 6b 62 e><samp><span.class="line">$.<kb
a9cc0 64 3e 7a 69 67 20 74 65 73 74 20 73 75 73 70 65 6e 64 5f 6e 6f 5f 72 65 73 75 6d 65 2e 7a 69 67 d>zig.test.suspend_no_resume.zig
a9ce0 20 2d 66 73 74 61 67 65 31 3c 2f 6b 62 64 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 .-fstage1</kbd></span>.<span.cla
a9d00 73 73 3d 22 6c 69 6e 65 22 3e 31 2f 31 20 74 65 73 74 20 26 71 75 6f 74 3b 73 75 73 70 65 6e 64 ss="line">1/1.test.&quot;suspend
a9d20 20 77 69 74 68 20 6e 6f 20 72 65 73 75 6d 65 26 71 75 6f 74 3b 2e 2e 2e 20 4f 4b 3c 2f 73 70 61 .with.no.resume&quot;....OK</spa
a9d40 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 41 6c 6c 20 31 20 74 65 73 74 n>.<span.class="line">All.1.test
a9d60 73 20 70 61 73 73 65 64 2e 3c 2f 73 70 61 6e 3e 0a 3c 2f 73 61 6d 70 3e 3c 2f 70 72 65 3e 3c 2f s.passed.</span>.</samp></pre></
a9d80 66 69 67 75 72 65 3e 0a 20 20 20 20 20 20 3c 70 3e 0a 20 20 20 20 20 20 49 6e 20 74 68 65 20 73 figure>.......<p>.......In.the.s
a9da0 61 6d 65 20 77 61 79 20 74 68 61 74 20 65 61 63 68 20 61 6c 6c 6f 63 61 74 69 6f 6e 20 73 68 6f ame.way.that.each.allocation.sho
a9dc0 75 6c 64 20 68 61 76 65 20 61 20 63 6f 72 72 65 73 70 6f 6e 64 69 6e 67 20 66 72 65 65 2c 0a 20 uld.have.a.corresponding.free,..
a9de0 20 20 20 20 20 45 61 63 68 20 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e .....Each.<code><span.class="lin
a9e00 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 73 75 73 70 65 6e 64 3c e"><span.class="tok-kw">suspend<
a9e20 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 20 73 68 6f 75 6c 64 20 68 61 76 65 /span></span></code>.should.have
a9e40 20 61 20 63 6f 72 72 65 73 70 6f 6e 64 69 6e 67 20 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 .a.corresponding.<code><span.cla
a9e60 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 72 ss="line"><span.class="tok-kw">r
a9e80 65 73 75 6d 65 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 2e 0a 20 20 20 20 esume</span></span></code>......
a9ea0 20 20 41 20 3c 73 74 72 6f 6e 67 3e 73 75 73 70 65 6e 64 20 62 6c 6f 63 6b 3c 2f 73 74 72 6f 6e ..A.<strong>suspend.block</stron
a9ec0 67 3e 20 61 6c 6c 6f 77 73 20 61 20 66 75 6e 63 74 69 6f 6e 20 74 6f 20 70 75 74 20 61 20 70 6f g>.allows.a.function.to.put.a.po
a9ee0 69 6e 74 65 72 20 74 6f 20 69 74 73 20 6f 77 6e 0a 20 20 20 20 20 20 66 72 61 6d 65 20 73 6f 6d inter.to.its.own.......frame.som
a9f00 65 77 68 65 72 65 2c 20 66 6f 72 20 65 78 61 6d 70 6c 65 20 69 6e 74 6f 20 61 6e 20 65 76 65 6e ewhere,.for.example.into.an.even
a9f20 74 20 6c 6f 6f 70 2c 20 65 76 65 6e 20 69 66 20 74 68 61 74 20 61 63 74 69 6f 6e 20 77 69 6c 6c t.loop,.even.if.that.action.will
a9f40 20 70 65 72 66 6f 72 6d 20 61 0a 20 20 20 20 20 20 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 .perform.a.......<code><span.cla
a9f60 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 72 ss="line"><span.class="tok-kw">r
a9f80 65 73 75 6d 65 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 20 6f 70 65 72 61 esume</span></span></code>.opera
a9fa0 74 69 6f 6e 20 6f 6e 20 61 20 64 69 66 66 65 72 65 6e 74 20 74 68 72 65 61 64 2e 0a 20 20 20 20 tion.on.a.different.thread......
a9fc0 20 20 3c 61 20 68 72 65 66 3d 22 23 66 72 61 6d 65 22 3e 40 66 72 61 6d 65 3c 2f 61 3e 20 70 72 ..<a.href="#frame">@frame</a>.pr
a9fe0 6f 76 69 64 65 73 20 61 63 63 65 73 73 20 74 6f 20 74 68 65 20 61 73 79 6e 63 20 66 75 6e 63 74 ovides.access.to.the.async.funct
aa000 69 6f 6e 20 66 72 61 6d 65 20 70 6f 69 6e 74 65 72 2e 0a 20 20 20 20 20 20 3c 2f 70 3e 0a 20 20 ion.frame.pointer........</p>...
aa020 20 20 20 20 3c 66 69 67 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
aa040 69 67 2d 63 61 70 22 3e 3c 63 69 74 65 20 63 6c 61 73 73 3d 22 66 69 6c 65 22 3e 61 73 79 6e 63 ig-cap"><cite.class="file">async
aa060 5f 73 75 73 70 65 6e 64 5f 62 6c 6f 63 6b 2e 7a 69 67 3c 2f 63 69 74 65 3e 3c 2f 66 69 67 63 61 _suspend_block.zig</cite></figca
aa080 70 74 69 6f 6e 3e 3c 70 72 65 3e 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 ption><pre><code><span.class="li
aa0a0 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 63 6f 6e 73 74 3c 2f ne"><span.class="tok-kw">const</
aa0c0 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
aa0e0 6c 74 69 6e 22 3e 40 69 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
aa100 3d 22 74 6f 6b 2d 73 74 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
aa120 3e 29 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 >);</span>.<span.class="line"><s
aa140 70 61 6e 20 63 6c 61 73 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>.
aa160 65 78 70 65 63 74 20 3d 20 73 74 64 2e 74 65 73 74 69 6e 67 2e 65 78 70 65 63 74 3b 3c 2f 73 70 expect.=.std.testing.expect;</sp
aa180 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 2f 73 70 61 6e 3e 0a 3c an>.<span.class="line"></span>.<
aa1a0 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 span.class="line"><span.class="t
aa1c0 6f 6b 2d 6b 77 22 3e 76 61 72 3c 2f 73 70 61 6e 3e 20 74 68 65 5f 66 72 61 6d 65 3a 20 3c 73 70 ok-kw">var</span>.the_frame:.<sp
aa1e0 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 61 6e 79 66 72 61 6d 65 3c 2f 73 70 61 6e an.class="tok-kw">anyframe</span
aa200 3e 20 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6c 6c 22 3e 75 6e 64 65 66 >.=.<span.class="tok-null">undef
aa220 69 6e 65 64 3c 2f 73 70 61 6e 3e 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d ined</span>;</span>.<span.class=
aa240 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 76 61 72 3c "line"><span.class="tok-kw">var<
aa260 2f 73 70 61 6e 3e 20 72 65 73 75 6c 74 20 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b /span>.result.=.<span.class="tok
aa280 2d 6e 75 6c 6c 22 3e 66 61 6c 73 65 3c 2f 73 70 61 6e 3e 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 -null">false</span>;</span>.<spa
aa2a0 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 n.class="line"></span>.<span.cla
aa2c0 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 74 ss="line"><span.class="tok-kw">t
aa2e0 65 73 74 3c 2f 73 70 61 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"
aa300 3e 26 71 75 6f 74 3b 61 73 79 6e 63 20 66 75 6e 63 74 69 6f 6e 20 73 75 73 70 65 6e 64 20 77 69 >&quot;async.function.suspend.wi
aa320 74 68 20 62 6c 6f 63 6b 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 20 7b 3c 2f 73 70 61 6e 3e 0a 3c th.block&quot;</span>.{</span>.<
aa340 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 5f 20 3d 20 3c 73 70 61 6e 20 span.class="line">...._.=.<span.
aa360 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 61 73 79 6e 63 3c 2f 73 70 61 6e 3e 20 74 65 73 74 class="tok-kw">async</span>.test
aa380 53 75 73 70 65 6e 64 42 6c 6f 63 6b 28 29 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 SuspendBlock();</span>.<span.cla
aa3a0 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b ss="line">....<span.class="tok-k
aa3c0 77 22 3e 74 72 79 3c 2f 73 70 61 6e 3e 20 65 78 70 65 63 74 28 21 72 65 73 75 6c 74 29 3b 3c 2f w">try</span>.expect(!result);</
aa3e0 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 3c 73 70 span>.<span.class="line">....<sp
aa400 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 72 65 73 75 6d 65 3c 2f 73 70 61 6e 3e 20 an.class="tok-kw">resume</span>.
aa420 74 68 65 5f 66 72 61 6d 65 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c the_frame;</span>.<span.class="l
aa440 69 6e 65 22 3e 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 74 72 ine">....<span.class="tok-kw">tr
aa460 79 3c 2f 73 70 61 6e 3e 20 65 78 70 65 63 74 28 72 65 73 75 6c 74 29 3b 3c 2f 73 70 61 6e 3e 0a y</span>.expect(result);</span>.
aa480 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 7d 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 <span.class="line">}</span>.<spa
aa4a0 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 n.class="line"></span>.<span.cla
aa4c0 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 66 ss="line"><span.class="tok-kw">f
aa4e0 6e 3c 2f 73 70 61 6e 3e 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 66 6e 22 3e 74 65 n</span>.<span.class="tok-fn">te
aa500 73 74 53 75 73 70 65 6e 64 42 6c 6f 63 6b 3c 2f 73 70 61 6e 3e 28 29 20 3c 73 70 61 6e 20 63 6c stSuspendBlock</span>().<span.cl
aa520 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 76 6f 69 64 3c 2f 73 70 61 6e 3e 20 7b 3c 2f 73 70 ass="tok-type">void</span>.{</sp
aa540 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 3c 73 70 61 6e an>.<span.class="line">....<span
aa560 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 73 75 73 70 65 6e 64 3c 2f 73 70 61 6e 3e 20 7b .class="tok-kw">suspend</span>.{
aa580 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 20 </span>.<span.class="line">.....
aa5a0 20 20 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
aa5c0 3c 2f 73 70 61 6e 3e 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 74 72 79 </span>.<span.class="tok-kw">try
aa5e0 3c 2f 73 70 61 6e 3e 20 65 78 70 65 63 74 28 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d </span>.expect(<span.class="tok-
aa600 62 75 69 6c 74 69 6e 22 3e 40 54 79 70 65 4f 66 3c 2f 73 70 61 6e 3e 28 3c 73 70 61 6e 20 63 6c builtin">@TypeOf</span>(<span.cl
aa620 61 73 73 3d 22 74 6f 6b 2d 62 75 69 6c 74 69 6e 22 3e 40 66 72 61 6d 65 3c 2f 73 70 61 6e 3e 28 ass="tok-builtin">@frame</span>(
aa640 29 29 20 3d 3d 20 2a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 62 75 69 6c 74 69 6e 22 )).==.*<span.class="tok-builtin"
aa660 3e 40 46 72 61 6d 65 3c 2f 73 70 61 6e 3e 28 74 65 73 74 53 75 73 70 65 6e 64 42 6c 6f 63 6b 29 >@Frame</span>(testSuspendBlock)
aa680 29 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 );</span>.<span.class="line">...
aa6a0 20 20 20 20 20 74 68 65 5f 66 72 61 6d 65 20 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f .....the_frame.=.<span.class="to
aa6c0 6b 2d 62 75 69 6c 74 69 6e 22 3e 40 66 72 61 6d 65 3c 2f 73 70 61 6e 3e 28 29 3b 3c 2f 73 70 61 k-builtin">@frame</span>();</spa
aa6e0 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 7d 3c 2f 73 70 61 n>.<span.class="line">....}</spa
aa700 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 72 65 73 75 6c 74 n>.<span.class="line">....result
aa720 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</
aa740 73 70 61 6e 3e 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 span>;</span>.<span.class="line"
aa760 3e 7d 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 3c 2f 70 72 65 3e 3c 2f 66 69 67 75 72 65 3e 3c >}</span></code></pre></figure><
aa780 66 69 67 75 72 65 3e 3c 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-
aa7a0 63 61 70 22 3e 53 68 65 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
aa7c0 70 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 24 20 3c 6b 62 64 3e 7a 69 67 20 p><span.class="line">$.<kbd>zig.
aa7e0 74 65 73 74 20 61 73 79 6e 63 5f 73 75 73 70 65 6e 64 5f 62 6c 6f 63 6b 2e 7a 69 67 20 2d 66 73 test.async_suspend_block.zig.-fs
aa800 74 61 67 65 31 3c 2f 6b 62 64 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 tage1</kbd></span>.<span.class="
aa820 6c 69 6e 65 22 3e 31 2f 31 20 74 65 73 74 20 26 71 75 6f 74 3b 61 73 79 6e 63 20 66 75 6e 63 74 line">1/1.test.&quot;async.funct
aa840 69 6f 6e 20 73 75 73 70 65 6e 64 20 77 69 74 68 20 62 6c 6f 63 6b 26 71 75 6f 74 3b 2e 2e 2e 20 ion.suspend.with.block&quot;....
aa860 4f 4b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 41 6c 6c OK</span>.<span.class="line">All
aa880 20 31 20 74 65 73 74 73 20 70 61 73 73 65 64 2e 3c 2f 73 70 61 6e 3e 0a 3c 2f 73 61 6d 70 3e 3c .1.tests.passed.</span>.</samp><
aa8a0 2f 70 72 65 3e 3c 2f 66 69 67 75 72 65 3e 0a 20 20 20 20 20 20 3c 70 3e 0a 20 20 20 20 20 20 3c /pre></figure>.......<p>.......<
aa8c0 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c code><span.class="line"><span.cl
aa8e0 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 73 75 73 70 65 6e 64 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 ass="tok-kw">suspend</span></spa
aa900 6e 3e 3c 2f 63 6f 64 65 3e 20 63 61 75 73 65 73 20 61 20 66 75 6e 63 74 69 6f 6e 20 74 6f 20 62 n></code>.causes.a.function.to.b
aa920 65 20 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e e.<code><span.class="line"><span
aa940 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 61 73 79 6e 63 3c 2f 73 70 61 6e 3e 3c 2f 73 70 .class="tok-kw">async</span></sp
aa960 61 6e 3e 3c 2f 63 6f 64 65 3e 2e 0a 20 20 20 20 20 20 3c 2f 70 3e 0a 0a 20 20 20 20 20 20 3c 68 an></code>........</p>........<h
aa980 34 20 69 64 3d 22 52 65 73 75 6d 69 6e 67 2d 66 72 6f 6d 2d 53 75 73 70 65 6e 64 2d 42 6c 6f 63 4.id="Resuming-from-Suspend-Bloc
aa9a0 6b 73 22 3e 3c 61 20 68 72 65 66 3d 22 23 74 6f 63 2d 52 65 73 75 6d 69 6e 67 2d 66 72 6f 6d 2d ks"><a.href="#toc-Resuming-from-
aa9c0 53 75 73 70 65 6e 64 2d 42 6c 6f 63 6b 73 22 3e 52 65 73 75 6d 69 6e 67 20 66 72 6f 6d 20 53 75 Suspend-Blocks">Resuming.from.Su
aa9e0 73 70 65 6e 64 20 42 6c 6f 63 6b 73 3c 2f 61 3e 20 3c 61 20 63 6c 61 73 73 3d 22 68 64 72 22 20 spend.Blocks</a>.<a.class="hdr".
aaa00 68 72 65 66 3d 22 23 52 65 73 75 6d 69 6e 67 2d 66 72 6f 6d 2d 53 75 73 70 65 6e 64 2d 42 6c 6f href="#Resuming-from-Suspend-Blo
aaa20 63 6b 73 22 3e c2 a7 3c 2f 61 3e 3c 2f 68 34 3e 0a 0a 20 20 20 20 20 20 3c 70 3e 0a 20 20 20 20 cks">..</a></h4>........<p>.....
aaa40 20 20 55 70 6f 6e 20 65 6e 74 65 72 69 6e 67 20 61 20 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c ..Upon.entering.a.<code><span.cl
aaa60 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e ass="line"><span.class="tok-kw">
aaa80 73 75 73 70 65 6e 64 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 20 62 6c 6f suspend</span></span></code>.blo
aaaa0 63 6b 2c 20 74 68 65 20 61 73 79 6e 63 20 66 75 6e 63 74 69 6f 6e 20 69 73 20 61 6c 72 65 61 64 ck,.the.async.function.is.alread
aaac0 79 20 63 6f 6e 73 69 64 65 72 65 64 0a 20 20 20 20 20 20 73 75 73 70 65 6e 64 65 64 2c 20 61 6e y.considered.......suspended,.an
aaae0 64 20 63 61 6e 20 62 65 20 72 65 73 75 6d 65 64 2e 20 46 6f 72 20 65 78 61 6d 70 6c 65 2c 20 69 d.can.be.resumed..For.example,.i
aab00 66 20 79 6f 75 20 73 74 61 72 74 65 64 20 61 6e 6f 74 68 65 72 20 6b 65 72 6e 65 6c 20 74 68 72 f.you.started.another.kernel.thr
aab20 65 61 64 2c 0a 20 20 20 20 20 20 61 6e 64 20 68 61 64 20 74 68 61 74 20 74 68 72 65 61 64 20 63 ead,.......and.had.that.thread.c
aab40 61 6c 6c 20 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 all.<code><span.class="line"><sp
aab60 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 72 65 73 75 6d 65 3c 2f 73 70 61 6e 3e 3c an.class="tok-kw">resume</span><
aab80 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 20 6f 6e 20 74 68 65 20 66 72 61 6d 65 20 70 6f 69 6e 74 /span></code>.on.the.frame.point
aaba0 65 72 20 70 72 6f 76 69 64 65 64 20 62 79 20 74 68 65 0a 20 20 20 20 20 20 3c 61 20 68 72 65 66 er.provided.by.the.......<a.href
aabc0 3d 22 23 66 72 61 6d 65 22 3e 40 66 72 61 6d 65 3c 2f 61 3e 2c 20 74 68 65 20 6e 65 77 20 74 68 ="#frame">@frame</a>,.the.new.th
aabe0 72 65 61 64 20 77 6f 75 6c 64 20 62 65 67 69 6e 20 65 78 65 63 75 74 69 6e 67 20 61 66 74 65 72 read.would.begin.executing.after
aac00 20 74 68 65 20 73 75 73 70 65 6e 64 0a 20 20 20 20 20 20 62 6c 6f 63 6b 2c 20 77 68 69 6c 65 20 .the.suspend.......block,.while.
aac20 74 68 65 20 6f 6c 64 20 74 68 72 65 61 64 20 63 6f 6e 74 69 6e 75 65 64 20 65 78 65 63 75 74 69 the.old.thread.continued.executi
aac40 6e 67 20 74 68 65 20 73 75 73 70 65 6e 64 20 62 6c 6f 63 6b 2e 0a 20 20 20 20 20 20 3c 2f 70 3e ng.the.suspend.block........</p>
aac60 0a 20 20 20 20 20 20 3c 70 3e 0a 20 20 20 20 20 20 48 6f 77 65 76 65 72 2c 20 74 68 65 20 61 73 .......<p>.......However,.the.as
aac80 79 6e 63 20 66 75 6e 63 74 69 6f 6e 20 63 61 6e 20 62 65 20 64 69 72 65 63 74 6c 79 20 72 65 73 ync.function.can.be.directly.res
aaca0 75 6d 65 64 20 66 72 6f 6d 20 74 68 65 20 73 75 73 70 65 6e 64 20 62 6c 6f 63 6b 2c 20 69 6e 20 umed.from.the.suspend.block,.in.
aacc0 77 68 69 63 68 20 63 61 73 65 20 69 74 0a 20 20 20 20 20 20 6e 65 76 65 72 20 72 65 74 75 72 6e which.case.it.......never.return
aace0 73 20 74 6f 20 69 74 73 20 72 65 73 75 6d 65 72 20 61 6e 64 20 63 6f 6e 74 69 6e 75 65 73 20 65 s.to.its.resumer.and.continues.e
aad00 78 65 63 75 74 69 6e 67 2e 0a 20 20 20 20 20 20 3c 2f 70 3e 0a 20 20 20 20 20 20 3c 66 69 67 75 xecuting........</p>.......<figu
aad20 72 65 3e 3c 66 69 67 63 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"><
aad40 63 69 74 65 20 63 6c 61 73 73 3d 22 66 69 6c 65 22 3e 72 65 73 75 6d 65 5f 66 72 6f 6d 5f 73 75 cite.class="file">resume_from_su
aad60 73 70 65 6e 64 2e 7a 69 67 3c 2f 63 69 74 65 3e 3c 2f 66 69 67 63 61 70 74 69 6f 6e 3e 3c 70 72 spend.zig</cite></figcaption><pr
aad80 65 3e 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e e><code><span.class="line"><span
aada0 20 63 6c 61 73 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
aadc0 20 3d 20 3c 73 70 61 6e 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
aade0 70 6f 72 74 3c 2f 73 70 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
aae00 22 3e 26 71 75 6f 74 3b 73 74 64 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 29 3b 3c 2f 73 70 61 6e ">&quot;std&quot;</span>);</span
aae20 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 >.<span.class="line"><span.class
aae40 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.=.
aae60 73 74 64 2e 74 65 73 74 69 6e 67 2e 65 78 70 65 63 74 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e std.testing.expect;</span>.<span
aae80 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 .class="line"></span>.<span.clas
aaea0 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 74 65 s="line"><span.class="tok-kw">te
aaec0 73 74 3c 2f 73 70 61 6e 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">
aaee0 26 71 75 6f 74 3b 72 65 73 75 6d 65 20 66 72 6f 6d 20 73 75 73 70 65 6e 64 26 71 75 6f 74 3b 3c &quot;resume.from.suspend&quot;<
aaf00 2f 73 70 61 6e 3e 20 7b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e /span>.{</span>.<span.class="lin
aaf20 65 22 3e 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 76 61 72 3c e">....<span.class="tok-kw">var<
aaf40 2f 73 70 61 6e 3e 20 6d 79 5f 72 65 73 75 6c 74 3a 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 /span>.my_result:.<span.class="t
aaf60 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
aaf80 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 31 3c 2f 73 70 61 6e 3e 3b 3c 2f 73 70 61 6e 3e 0a s="tok-number">1</span>;</span>.
aafa0 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 5f 20 3d 20 3c 73 70 61 6e <span.class="line">...._.=.<span
aafc0 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 61 73 79 6e 63 3c 2f 73 70 61 6e 3e 20 74 65 73 .class="tok-kw">async</span>.tes
aafe0 74 52 65 73 75 6d 65 46 72 6f 6d 53 75 73 70 65 6e 64 28 26 61 6d 70 3b 6d 79 5f 72 65 73 75 6c tResumeFromSuspend(&amp;my_resul
ab000 74 29 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 t);</span>.<span.class="line">..
ab020 20 20 3c 73 70 61 6e 20 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
ab040 3e 20 73 74 64 2e 74 65 73 74 69 6e 67 2e 65 78 70 65 63 74 28 6d 79 5f 72 65 73 75 6c 74 20 3d >.std.testing.expect(my_result.=
ab060 3d 20 3c 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
ab080 61 6e 3e 29 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e an>);</span>.<span.class="line">
ab0a0 7d 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 }</span>.<span.class="line"><spa
ab0c0 6e 20 63 6c 61 73 73 3d 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
ab0e0 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 66 6e 22 3e 74 65 73 74 52 65 73 75 6d 65 46 72 6f 6d 53 75 .class="tok-fn">testResumeFromSu
ab100 73 70 65 6e 64 3c 2f 73 70 61 6e 3e 28 6d 79 5f 72 65 73 75 6c 74 3a 20 2a 3c 73 70 61 6e 20 63 spend</span>(my_result:.*<span.c
ab120 6c 61 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
ab140 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>.{
ab160 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 3c </span>.<span.class="line">....<
ab180 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 73 75 73 70 65 6e 64 3c 2f 73 70 61 span.class="tok-kw">suspend</spa
ab1a0 6e 3e 20 7b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 n>.{</span>.<span.class="line">.
ab1c0 20 20 20 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 72 65 73 75 .......<span.class="tok-kw">resu
ab1e0 6d 65 3c 2f 73 70 61 6e 3e 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 62 75 69 6c 74 me</span>.<span.class="tok-built
ab200 69 6e 22 3e 40 66 72 61 6d 65 3c 2f 73 70 61 6e 3e 28 29 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 in">@frame</span>();</span>.<spa
ab220 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 7d 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 n.class="line">....}</span>.<spa
ab240 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 6d 79 5f 72 65 73 75 6c 74 2e 2a 20 2b n.class="line">....my_result.*.+
ab260 3d 20 3c 73 70 61 6e 20 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
ab280 61 6e 3e 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 an>;</span>.<span.class="line">.
ab2a0 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 73 75 73 70 65 6e 64 3c ...<span.class="tok-kw">suspend<
ab2c0 2f 73 70 61 6e 3e 20 7b 7d 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 /span>.{}</span>.<span.class="li
ab2e0 6e 65 22 3e 20 20 20 20 6d 79 5f 72 65 73 75 6c 74 2e 2a 20 2b 3d 20 3c 73 70 61 6e 20 63 6c 61 ne">....my_result.*.+=.<span.cla
ab300 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 31 3c 2f 73 70 61 6e 3e 3b 3c 2f 73 70 61 6e 3e ss="tok-number">1</span>;</span>
ab320 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 7d 3c 2f 73 70 61 6e 3e 3c 2f 63 6f .<span.class="line">}</span></co
ab340 64 65 3e 3c 2f 70 72 65 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
ab360 70 74 69 6f 6e 20 63 6c 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
ab380 69 67 63 61 70 74 69 6f 6e 3e 3c 70 72 65 3e 3c 73 61 6d 70 3e 3c 73 70 61 6e 20 63 6c 61 73 73 igcaption><pre><samp><span.class
ab3a0 3d 22 6c 69 6e 65 22 3e 24 20 3c 6b 62 64 3e 7a 69 67 20 74 65 73 74 20 72 65 73 75 6d 65 5f 66 ="line">$.<kbd>zig.test.resume_f
ab3c0 72 6f 6d 5f 73 75 73 70 65 6e 64 2e 7a 69 67 20 2d 66 73 74 61 67 65 31 3c 2f 6b 62 64 3e 3c 2f rom_suspend.zig.-fstage1</kbd></
ab3e0 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 31 2f 31 20 74 65 73 span>.<span.class="line">1/1.tes
ab400 74 20 26 71 75 6f 74 3b 72 65 73 75 6d 65 20 66 72 6f 6d 20 73 75 73 70 65 6e 64 26 71 75 6f 74 t.&quot;resume.from.suspend&quot
ab420 3b 2e 2e 2e 20 4f 4b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 ;....OK</span>.<span.class="line
ab440 22 3e 41 6c 6c 20 31 20 74 65 73 74 73 20 70 61 73 73 65 64 2e 3c 2f 73 70 61 6e 3e 0a 3c 2f 73 ">All.1.tests.passed.</span>.</s
ab460 61 6d 70 3e 3c 2f 70 72 65 3e 3c 2f 66 69 67 75 72 65 3e 0a 20 20 20 20 20 20 3c 70 3e 0a 20 20 amp></pre></figure>.......<p>...
ab480 20 20 20 20 54 68 69 73 20 69 73 20 67 75 61 72 61 6e 74 65 65 64 20 74 6f 20 74 61 69 6c 20 63 ....This.is.guaranteed.to.tail.c
ab4a0 61 6c 6c 2c 20 61 6e 64 20 74 68 65 72 65 66 6f 72 65 20 77 69 6c 6c 20 6e 6f 74 20 63 61 75 73 all,.and.therefore.will.not.caus
ab4c0 65 20 61 20 6e 65 77 20 73 74 61 63 6b 20 66 72 61 6d 65 2e 0a 20 20 20 20 20 20 3c 2f 70 3e 0a e.a.new.stack.frame........</p>.
ab4e0 20 20 20 20 20 20 0a 20 20 20 20 20 20 0a 0a 20 20 20 20 20 20 3c 68 33 20 69 64 3d 22 41 73 79 .....................<h3.id="Asy
ab500 6e 63 2d 61 6e 64 2d 41 77 61 69 74 22 3e 3c 61 20 68 72 65 66 3d 22 23 74 6f 63 2d 41 73 79 6e nc-and-Await"><a.href="#toc-Asyn
ab520 63 2d 61 6e 64 2d 41 77 61 69 74 22 3e 41 73 79 6e 63 20 61 6e 64 20 41 77 61 69 74 3c 2f 61 3e c-and-Await">Async.and.Await</a>
ab540 20 3c 61 20 63 6c 61 73 73 3d 22 68 64 72 22 20 68 72 65 66 3d 22 23 41 73 79 6e 63 2d 61 6e 64 .<a.class="hdr".href="#Async-and
ab560 2d 41 77 61 69 74 22 3e c2 a7 3c 2f 61 3e 3c 2f 68 33 3e 0a 0a 20 20 20 20 20 20 3c 70 3e 0a 20 -Await">..</a></h3>........<p>..
ab580 20 20 20 20 20 49 6e 20 74 68 65 20 73 61 6d 65 20 77 61 79 20 74 68 61 74 20 65 76 65 72 79 20 .....In.the.same.way.that.every.
ab5a0 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 <code><span.class="line"><span.c
ab5c0 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 73 75 73 70 65 6e 64 3c 2f 73 70 61 6e 3e 3c 2f 73 70 lass="tok-kw">suspend</span></sp
ab5e0 61 6e 3e 3c 2f 63 6f 64 65 3e 20 68 61 73 20 61 20 6d 61 74 63 68 69 6e 67 0a 20 20 20 20 20 20 an></code>.has.a.matching.......
ab600 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 <code><span.class="line"><span.c
ab620 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 72 65 73 75 6d 65 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 lass="tok-kw">resume</span></spa
ab640 6e 3e 3c 2f 63 6f 64 65 3e 2c 20 65 76 65 72 79 20 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 n></code>,.every.<code><span.cla
ab660 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 61 ss="line"><span.class="tok-kw">a
ab680 73 79 6e 63 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 20 68 61 73 20 61 20 sync</span></span></code>.has.a.
ab6a0 6d 61 74 63 68 69 6e 67 20 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 matching.<code><span.class="line
ab6c0 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 61 77 61 69 74 3c 2f 73 70 "><span.class="tok-kw">await</sp
ab6e0 61 6e 3e 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 0a 20 20 20 20 20 20 69 6e 20 73 74 61 6e 64 an></span></code>.......in.stand
ab700 61 72 64 20 63 6f 64 65 2e 0a 20 20 20 20 20 20 3c 2f 70 3e 0a 20 20 20 20 20 20 3c 70 3e 0a 20 ard.code........</p>.......<p>..
ab720 20 20 20 20 20 48 6f 77 65 76 65 72 2c 20 69 74 20 69 73 20 70 6f 73 73 69 62 6c 65 20 74 6f 20 .....However,.it.is.possible.to.
ab740 68 61 76 65 20 61 6e 20 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 have.an.<code><span.class="line"
ab760 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 61 73 79 6e 63 3c 2f 73 70 61 ><span.class="tok-kw">async</spa
ab780 6e 3e 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 20 63 61 6c 6c 0a 20 20 20 20 20 20 77 69 74 68 n></span></code>.call.......with
ab7a0 6f 75 74 20 61 20 6d 61 74 63 68 69 6e 67 20 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 out.a.matching.<code><span.class
ab7c0 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 61 77 61 ="line"><span.class="tok-kw">awa
ab7e0 69 74 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 2e 20 55 70 6f 6e 20 63 6f it</span></span></code>..Upon.co
ab800 6d 70 6c 65 74 69 6f 6e 20 6f 66 20 74 68 65 20 61 73 79 6e 63 20 66 75 6e 63 74 69 6f 6e 2c 0a mpletion.of.the.async.function,.
ab820 20 20 20 20 20 20 65 78 65 63 75 74 69 6f 6e 20 77 6f 75 6c 64 20 63 6f 6e 74 69 6e 75 65 20 61 ......execution.would.continue.a
ab840 74 20 74 68 65 20 6d 6f 73 74 20 72 65 63 65 6e 74 20 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c t.the.most.recent.<code><span.cl
ab860 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e ass="line"><span.class="tok-kw">
ab880 61 73 79 6e 63 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 20 63 61 6c 6c 73 async</span></span></code>.calls
ab8a0 69 74 65 20 6f 72 20 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e ite.or.<code><span.class="line">
ab8c0 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 72 65 73 75 6d 65 3c 2f 73 70 61 <span.class="tok-kw">resume</spa
ab8e0 6e 3e 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 20 63 61 6c 6c 73 69 74 65 2c 0a 20 20 20 20 20 n></span></code>.callsite,......
ab900 20 61 6e 64 20 74 68 65 20 72 65 74 75 72 6e 20 76 61 6c 75 65 20 6f 66 20 74 68 65 20 61 73 79 .and.the.return.value.of.the.asy
ab920 6e 63 20 66 75 6e 63 74 69 6f 6e 20 77 6f 75 6c 64 20 62 65 20 6c 6f 73 74 2e 0a 20 20 20 20 20 nc.function.would.be.lost.......
ab940 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.
ab960 63 6c 61 73 73 3d 22 7a 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
ab980 65 22 3e 61 73 79 6e 63 5f 61 77 61 69 74 2e 7a 69 67 3c 2f 63 69 74 65 3e 3c 2f 66 69 67 63 61 e">async_await.zig</cite></figca
ab9a0 70 74 69 6f 6e 3e 3c 70 72 65 3e 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 ption><pre><code><span.class="li
ab9c0 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 63 6f 6e 73 74 3c 2f ne"><span.class="tok-kw">const</
ab9e0 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
aba00 6c 74 69 6e 22 3e 40 69 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
aba20 3d 22 74 6f 6b 2d 73 74 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
aba40 3e 29 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 >);</span>.<span.class="line"><s
aba60 70 61 6e 20 63 6c 61 73 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>.
aba80 65 78 70 65 63 74 20 3d 20 73 74 64 2e 74 65 73 74 69 6e 67 2e 65 78 70 65 63 74 3b 3c 2f 73 70 expect.=.std.testing.expect;</sp
abaa0 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 2f 73 70 61 6e 3e 0a 3c an>.<span.class="line"></span>.<
abac0 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 span.class="line"><span.class="t
abae0 6f 6b 2d 6b 77 22 3e 74 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="
abb00 74 6f 6b 2d 73 74 72 22 3e 26 71 75 6f 74 3b 61 73 79 6e 63 20 61 6e 64 20 61 77 61 69 74 26 71 tok-str">&quot;async.and.await&q
abb20 75 6f 74 3b 3c 2f 73 70 61 6e 3e 20 7b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 uot;</span>.{</span>.<span.class
abb40 3d 22 6c 69 6e 65 22 3e 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 63 6f 6d ="line">....<span.class="tok-com
abb60 6d 65 6e 74 22 3e 2f 2f 20 54 68 65 20 74 65 73 74 20 62 6c 6f 63 6b 20 69 73 20 6e 6f 74 20 61 ment">//.The.test.block.is.not.a
abb80 73 79 6e 63 20 61 6e 64 20 73 6f 20 63 61 6e 6e 6f 74 20 68 61 76 65 20 61 20 73 75 73 70 65 6e sync.and.so.cannot.have.a.suspen
abba0 64 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e d</span></span>.<span.class="lin
abbc0 65 22 3e 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 63 6f 6d 6d 65 6e 74 22 e">....<span.class="tok-comment"
abbe0 3e 2f 2f 20 70 6f 69 6e 74 20 69 6e 20 69 74 2e 20 42 79 20 75 73 69 6e 67 20 74 68 65 20 6e 6f >//.point.in.it..By.using.the.no
abc00 73 75 73 70 65 6e 64 20 6b 65 79 77 6f 72 64 2c 20 77 65 20 70 72 6f 6d 69 73 65 20 74 68 61 74 suspend.keyword,.we.promise.that
abc20 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 </span></span>.<span.class="line
abc40 22 3e 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 63 6f 6d 6d 65 6e 74 22 3e ">....<span.class="tok-comment">
abc60 2f 2f 20 74 68 65 20 63 6f 64 65 20 69 6e 20 61 6d 61 69 6e 20 77 69 6c 6c 20 66 69 6e 69 73 68 //.the.code.in.amain.will.finish
abc80 20 65 78 65 63 75 74 69 6e 67 20 77 69 74 68 6f 75 74 20 73 75 73 70 65 6e 64 69 6e 67 3c 2f 73 .executing.without.suspending</s
abca0 70 61 6e 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 pan></span>.<span.class="line">.
abcc0 20 20 20 3c 73 70 61 6e 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">//.
abce0 62 61 63 6b 20 74 6f 20 74 68 65 20 74 65 73 74 20 62 6c 6f 63 6b 2e 3c 2f 73 70 61 6e 3e 3c 2f back.to.the.test.block.</span></
abd00 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 3c 73 70 span>.<span.class="line">....<sp
abd20 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 70 61 an.class="tok-kw">nosuspend</spa
abd40 6e 3e 20 61 6d 61 69 6e 28 29 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 n>.amain();</span>.<span.class="
abd60 6c 69 6e 65 22 3e 7d 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 line">}</span>.<span.class="line
abd80 22 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 "></span>.<span.class="line"><sp
abda0 61 6e 20 63 6c 61 73 73 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
abdc0 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 66 6e 22 3e 61 6d 61 69 6e 3c 2f 73 70 61 6e 3e 28 29 20 n.class="tok-fn">amain</span>().
abde0 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
abe00 6e 3e 20 7b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 n>.{</span>.<span.class="line">.
abe20 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
abe40 6e 3e 20 66 72 61 6d 65 20 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e n>.frame.=.<span.class="tok-kw">
abe60 61 73 79 6e 63 3c 2f 73 70 61 6e 3e 20 66 75 6e 63 28 29 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 async</span>.func();</span>.<spa
abe80 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 n.class="line">....<span.class="
abea0 74 6f 6b 2d 6b 77 22 3e 63 6f 6d 70 74 69 6d 65 3c 2f 73 70 61 6e 3e 20 3c 73 70 61 6e 20 63 6c tok-kw">comptime</span>.<span.cl
abec0 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 74 72 79 3c 2f 73 70 61 6e 3e 20 65 78 70 65 63 74 28 3c ass="tok-kw">try</span>.expect(<
abee0 73 70 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
abf00 3c 2f 73 70 61 6e 3e 28 66 72 61 6d 65 29 20 3d 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 </span>(frame).==.<span.class="t
abf20 6f 6b 2d 62 75 69 6c 74 69 6e 22 3e 40 46 72 61 6d 65 3c 2f 73 70 61 6e 3e 28 66 75 6e 63 29 29 ok-builtin">@Frame</span>(func))
abf40 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 2f 73 70 ;</span>.<span.class="line"></sp
abf60 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 3c 73 70 61 6e an>.<span.class="line">....<span
abf80 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 63 6f 6e 73 74 3c 2f 73 70 61 6e 3e 20 70 74 72 .class="tok-kw">const</span>.ptr
abfa0 3a 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 61 6e 79 66 72 61 6d 65 3c :.<span.class="tok-kw">anyframe<
abfc0 2f 73 70 61 6e 3e 2d 26 67 74 3b 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 /span>-&gt;<span.class="tok-type
abfe0 22 3e 76 6f 69 64 3c 2f 73 70 61 6e 3e 20 3d 20 26 61 6d 70 3b 66 72 61 6d 65 3b 3c 2f 73 70 61 ">void</span>.=.&amp;frame;</spa
ac000 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 3c 73 70 61 6e 20 n>.<span.class="line">....<span.
ac020 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 63 6f 6e 73 74 3c 2f 73 70 61 6e 3e 20 61 6e 79 5f class="tok-kw">const</span>.any_
ac040 70 74 72 3a 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 61 6e 79 66 72 61 ptr:.<span.class="tok-kw">anyfra
ac060 6d 65 3c 2f 73 70 61 6e 3e 20 3d 20 70 74 72 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c me</span>.=.ptr;</span>.<span.cl
ac080 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 ass="line"></span>.<span.class="
ac0a0 6c 69 6e 65 22 3e 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 72 line">....<span.class="tok-kw">r
ac0c0 65 73 75 6d 65 3c 2f 73 70 61 6e 3e 20 61 6e 79 5f 70 74 72 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 esume</span>.any_ptr;</span>.<sp
ac0e0 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d an.class="line">....<span.class=
ac100 22 74 6f 6b 2d 6b 77 22 3e 61 77 61 69 74 3c 2f 73 70 61 6e 3e 20 70 74 72 3b 3c 2f 73 70 61 6e "tok-kw">await</span>.ptr;</span
ac120 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 7d 3c 2f 73 70 61 6e 3e 0a 3c 73 >.<span.class="line">}</span>.<s
ac140 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 pan.class="line"></span>.<span.c
ac160 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 lass="line"><span.class="tok-kw"
ac180 3e 66 6e 3c 2f 73 70 61 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">
ac1a0 66 75 6e 63 3c 2f 73 70 61 6e 3e 28 29 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 func</span>().<span.class="tok-t
ac1c0 79 70 65 22 3e 76 6f 69 64 3c 2f 73 70 61 6e 3e 20 7b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 ype">void</span>.{</span>.<span.
ac1e0 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f class="line">....<span.class="to
ac200 6b 2d 6b 77 22 3e 73 75 73 70 65 6e 64 3c 2f 73 70 61 6e 3e 20 7b 7d 3c 2f 73 70 61 6e 3e 0a 3c k-kw">suspend</span>.{}</span>.<
ac220 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 7d 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 span.class="line">}</span></code
ac240 3e 3c 2f 70 72 65 3e 3c 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
ac260 69 6f 6e 20 63 6c 61 73 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
ac280 63 61 70 74 69 6f 6e 3e 3c 70 72 65 3e 3c 73 61 6d 70 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 caption><pre><samp><span.class="
ac2a0 6c 69 6e 65 22 3e 24 20 3c 6b 62 64 3e 7a 69 67 20 74 65 73 74 20 61 73 79 6e 63 5f 61 77 61 69 line">$.<kbd>zig.test.async_awai
ac2c0 74 2e 7a 69 67 20 2d 66 73 74 61 67 65 31 3c 2f 6b 62 64 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 t.zig.-fstage1</kbd></span>.<spa
ac2e0 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 31 2f 31 20 74 65 73 74 20 26 71 75 6f 74 3b 61 73 n.class="line">1/1.test.&quot;as
ac300 79 6e 63 20 61 6e 64 20 61 77 61 69 74 26 71 75 6f 74 3b 2e 2e 2e 20 4f 4b 3c 2f 73 70 61 6e 3e ync.and.await&quot;....OK</span>
ac320 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 41 6c 6c 20 31 20 74 65 73 74 73 20 .<span.class="line">All.1.tests.
ac340 70 61 73 73 65 64 2e 3c 2f 73 70 61 6e 3e 0a 3c 2f 73 61 6d 70 3e 3c 2f 70 72 65 3e 3c 2f 66 69 passed.</span>.</samp></pre></fi
ac360 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 3c 63 6f 64 65 3e gure>.......<p>.......The.<code>
ac380 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 <span.class="line"><span.class="
ac3a0 74 6f 6b 2d 6b 77 22 3e 61 77 61 69 74 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 tok-kw">await</span></span></cod
ac3c0 65 3e 20 6b 65 79 77 6f 72 64 20 69 73 20 75 73 65 64 20 74 6f 20 63 6f 6f 72 64 69 6e 61 74 65 e>.keyword.is.used.to.coordinate
ac3e0 20 77 69 74 68 20 61 6e 20 61 73 79 6e 63 20 66 75 6e 63 74 69 6f 6e 27 73 0a 20 20 20 20 20 20 .with.an.async.function's.......
ac400 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 <code><span.class="line"><span.c
ac420 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 72 65 74 75 72 6e 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 lass="tok-kw">return</span></spa
ac440 6e 3e 3c 2f 63 6f 64 65 3e 20 73 74 61 74 65 6d 65 6e 74 2e 0a 20 20 20 20 20 20 3c 2f 70 3e 0a n></code>.statement........</p>.
ac460 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
ac480 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 61 77 s="line"><span.class="tok-kw">aw
ac4a0 61 69 74 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 20 69 73 20 61 20 73 75 ait</span></span></code>.is.a.su
ac4c0 73 70 65 6e 64 20 70 6f 69 6e 74 2c 20 61 6e 64 20 74 61 6b 65 73 20 61 73 20 61 6e 20 6f 70 65 spend.point,.and.takes.as.an.ope
ac4e0 72 61 6e 64 20 61 6e 79 74 68 69 6e 67 20 74 68 61 74 0a 20 20 20 20 20 20 63 6f 65 72 63 65 73 rand.anything.that.......coerces
ac500 20 74 6f 20 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 .to.<code><span.class="line"><sp
ac520 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 61 6e 79 66 72 61 6d 65 3c 2f 73 70 61 6e an.class="tok-kw">anyframe</span
ac540 3e 2d 26 67 74 3b 54 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 2e 20 43 61 6c 6c 69 6e 67 20 3c >-&gt;T</span></code>..Calling.<
ac560 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c code><span.class="line"><span.cl
ac580 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 61 77 61 69 74 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e ass="tok-kw">await</span></span>
ac5a0 3c 2f 63 6f 64 65 3e 20 6f 6e 0a 20 20 20 20 20 20 74 68 65 20 66 72 61 6d 65 20 6f 66 20 61 6e </code>.on.......the.frame.of.an
ac5c0 20 61 73 79 6e 63 20 66 75 6e 63 74 69 6f 6e 20 77 69 6c 6c 20 63 61 75 73 65 20 65 78 65 63 75 .async.function.will.cause.execu
ac5e0 74 69 6f 6e 20 74 6f 20 63 6f 6e 74 69 6e 75 65 20 61 74 20 74 68 65 0a 20 20 20 20 20 20 3c 63 tion.to.continue.at.the.......<c
ac600 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 ode><span.class="line"><span.cla
ac620 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 61 77 61 69 74 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 3c ss="tok-kw">await</span></span><
ac640 2f 63 6f 64 65 3e 20 63 61 6c 6c 73 69 74 65 20 6f 6e 63 65 20 74 68 65 20 74 61 72 67 65 74 20 /code>.callsite.once.the.target.
ac660 66 75 6e 63 74 69 6f 6e 20 63 6f 6d 70 6c 65 74 65 73 2e 0a 20 20 20 20 20 20 3c 2f 70 3e 0a 20 function.completes........</p>..
ac680 20 20 20 20 20 3c 70 3e 0a 20 20 20 20 20 20 54 68 65 72 65 20 69 73 20 61 20 63 6f 6d 6d 6f 6e .....<p>.......There.is.a.common
ac6a0 20 6d 69 73 63 6f 6e 63 65 70 74 69 6f 6e 20 74 68 61 74 20 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 .misconception.that.<code><span.
ac6c0 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 class="line"><span.class="tok-kw
ac6e0 22 3e 61 77 61 69 74 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 20 72 65 73 ">await</span></span></code>.res
ac700 75 6d 65 73 20 74 68 65 20 74 61 72 67 65 74 20 66 75 6e 63 74 69 6f 6e 2e 0a 20 20 20 20 20 20 umes.the.target.function........
ac720 49 74 20 69 73 20 74 68 65 20 6f 74 68 65 72 20 77 61 79 20 61 72 6f 75 6e 64 3a 20 69 74 20 73 It.is.the.other.way.around:.it.s
ac740 75 73 70 65 6e 64 73 20 75 6e 74 69 6c 20 74 68 65 20 74 61 72 67 65 74 20 66 75 6e 63 74 69 6f uspends.until.the.target.functio
ac760 6e 20 63 6f 6d 70 6c 65 74 65 73 2e 0a 20 20 20 20 20 20 49 6e 20 74 68 65 20 65 76 65 6e 74 20 n.completes........In.the.event.
ac780 74 68 61 74 20 74 68 65 20 74 61 72 67 65 74 20 66 75 6e 63 74 69 6f 6e 20 68 61 73 20 61 6c 72 that.the.target.function.has.alr
ac7a0 65 61 64 79 20 63 6f 6d 70 6c 65 74 65 64 2c 20 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 eady.completed,.<code><span.clas
ac7c0 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 61 77 s="line"><span.class="tok-kw">aw
ac7e0 61 69 74 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 0a 20 20 20 20 20 20 64 ait</span></span></code>.......d
ac800 6f 65 73 20 6e 6f 74 20 73 75 73 70 65 6e 64 3b 20 69 6e 73 74 65 61 64 20 69 74 20 63 6f 70 69 oes.not.suspend;.instead.it.copi
ac820 65 73 20 74 68 65 0a 20 20 20 20 20 20 72 65 74 75 72 6e 20 76 61 6c 75 65 20 64 69 72 65 63 74 es.the.......return.value.direct
ac840 6c 79 20 66 72 6f 6d 20 74 68 65 20 74 61 72 67 65 74 20 66 75 6e 63 74 69 6f 6e 27 73 20 66 72 ly.from.the.target.function's.fr
ac860 61 6d 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 ame........</p>.......<figure><f
ac880 69 67 63 61 70 74 69 6f 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.
ac8a0 63 6c 61 73 73 3d 22 66 69 6c 65 22 3e 61 73 79 6e 63 5f 61 77 61 69 74 5f 73 65 71 75 65 6e 63 class="file">async_await_sequenc
ac8c0 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
ac8e0 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 ode><span.class="line"><span.cla
ac900 73 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.=.<
ac920 73 70 61 6e 20 63 6c 61 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
ac940 3c 2f 73 70 61 6e 3e 28 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
ac960 75 6f 74 3b 73 74 64 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 29 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 uot;std&quot;</span>);</span>.<s
ac980 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f pan.class="line"><span.class="to
ac9a0 6b 2d 6b 77 22 3e 63 6f 6e 73 74 3c 2f 73 70 61 6e 3e 20 65 78 70 65 63 74 20 3d 20 73 74 64 2e k-kw">const</span>.expect.=.std.
ac9c0 74 65 73 74 69 6e 67 2e 65 78 70 65 63 74 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 testing.expect;</span>.<span.cla
ac9e0 73 73 3d 22 6c 69 6e 65 22 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c ss="line"></span>.<span.class="l
aca00 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 76 61 72 3c 2f 73 ine"><span.class="tok-kw">var</s
aca20 70 61 6e 3e 20 74 68 65 5f 66 72 61 6d 65 3a 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b pan>.the_frame:.<span.class="tok
aca40 2d 6b 77 22 3e 61 6e 79 66 72 61 6d 65 3c 2f 73 70 61 6e 3e 20 3d 20 3c 73 70 61 6e 20 63 6c 61 -kw">anyframe</span>.=.<span.cla
aca60 73 73 3d 22 74 6f 6b 2d 6e 75 6c 6c 22 3e 75 6e 64 65 66 69 6e 65 64 3c 2f 73 70 61 6e 3e 3b 3c ss="tok-null">undefined</span>;<
aca80 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 /span>.<span.class="line"><span.
acaa0 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 76 61 72 3c 2f 73 70 61 6e 3e 20 66 69 6e 61 6c 5f class="tok-kw">var</span>.final_
acac0 72 65 73 75 6c 74 3a 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 69 result:.<span.class="tok-type">i
acae0 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
acb00 62 65 72 22 3e 30 3c 2f 73 70 61 6e 3e 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 ber">0</span>;</span>.<span.clas
acb20 73 3d 22 6c 69 6e 65 22 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 s="line"></span>.<span.class="li
acb40 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 74 65 73 74 3c 2f 73 ne"><span.class="tok-kw">test</s
acb60 70 61 6e 3e 20 3c 73 70 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
acb80 3b 61 73 79 6e 63 20 66 75 6e 63 74 69 6f 6e 20 61 77 61 69 74 26 71 75 6f 74 3b 3c 2f 73 70 61 ;async.function.await&quot;</spa
acba0 6e 3e 20 7b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 n>.{</span>.<span.class="line">.
acbc0 20 20 20 73 65 71 28 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 73 74 72 22 3e 27 61 27 ...seq(<span.class="tok-str">'a'
acbe0 3c 2f 73 70 61 6e 3e 29 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 </span>);</span>.<span.class="li
acc00 6e 65 22 3e 20 20 20 20 5f 20 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 ne">...._.=.<span.class="tok-kw"
acc20 3e 61 73 79 6e 63 3c 2f 73 70 61 6e 3e 20 61 6d 61 69 6e 28 29 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 >async</span>.amain();</span>.<s
acc40 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 73 65 71 28 3c 73 70 61 6e 20 63 pan.class="line">....seq(<span.c
acc60 6c 61 73 73 3d 22 74 6f 6b 2d 73 74 72 22 3e 27 66 27 3c 2f 73 70 61 6e 3e 29 3b 3c 2f 73 70 61 lass="tok-str">'f'</span>);</spa
acc80 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 3c 73 70 61 6e 20 n>.<span.class="line">....<span.
acca0 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 72 65 73 75 6d 65 3c 2f 73 70 61 6e 3e 20 74 68 65 class="tok-kw">resume</span>.the
accc0 5f 66 72 61 6d 65 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 _frame;</span>.<span.class="line
acce0 22 3e 20 20 20 20 73 65 71 28 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 73 74 72 22 3e ">....seq(<span.class="tok-str">
acd00 27 69 27 3c 2f 73 70 61 6e 3e 29 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 'i'</span>);</span>.<span.class=
acd20 22 6c 69 6e 65 22 3e 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e "line">....<span.class="tok-kw">
acd40 74 72 79 3c 2f 73 70 61 6e 3e 20 65 78 70 65 63 74 28 66 69 6e 61 6c 5f 72 65 73 75 6c 74 20 3d try</span>.expect(final_result.=
acd60 3d 20 3c 73 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<
acd80 2f 73 70 61 6e 3e 29 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e /span>);</span>.<span.class="lin
acda0 65 22 3e 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 74 72 79 3c e">....<span.class="tok-kw">try<
acdc0 2f 73 70 61 6e 3e 20 65 78 70 65 63 74 28 73 74 64 2e 6d 65 6d 2e 65 71 6c 28 3c 73 70 61 6e 20 /span>.expect(std.mem.eql(<span.
acde0 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 75 38 3c 2f 73 70 61 6e 3e 2c 20 26 61 6d 70 class="tok-type">u8</span>,.&amp
ace00 3b 73 65 71 5f 70 6f 69 6e 74 73 2c 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 73 74 ;seq_points,.<span.class="tok-st
ace20 72 22 3e 26 71 75 6f 74 3b 61 62 63 64 65 66 67 68 69 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 29 r">&quot;abcdefghi&quot;</span>)
ace40 29 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 7d 3c 2f );</span>.<span.class="line">}</
ace60 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 span>.<span.class="line"><span.c
ace80 6c 61 73 73 3d 22 74 6f 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
acea0 61 73 73 3d 22 74 6f 6b 2d 66 6e 22 3e 61 6d 61 69 6e 3c 2f 73 70 61 6e 3e 28 29 20 3c 73 70 61 ass="tok-fn">amain</span>().<spa
acec0 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>.{
acee0 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 73 </span>.<span.class="line">....s
acf00 65 71 28 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 73 74 72 22 3e 27 62 27 3c 2f 73 70 eq(<span.class="tok-str">'b'</sp
acf20 61 6e 3e 29 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e an>);</span>.<span.class="line">
acf40 20 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
acf60 61 6e 3e 20 66 20 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 61 73 79 an>.f.=.<span.class="tok-kw">asy
acf80 6e 63 3c 2f 73 70 61 6e 3e 20 61 6e 6f 74 68 65 72 28 29 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 nc</span>.another();</span>.<spa
acfa0 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 73 65 71 28 3c 73 70 61 6e 20 63 6c 61 n.class="line">....seq(<span.cla
acfc0 73 73 3d 22 74 6f 6b 2d 73 74 72 22 3e 27 65 27 3c 2f 73 70 61 6e 3e 29 3b 3c 2f 73 70 61 6e 3e ss="tok-str">'e'</span>);</span>
acfe0 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 66 69 6e 61 6c 5f 72 65 .<span.class="line">....final_re
ad000 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 61 77 61 69 sult.=.<span.class="tok-kw">awai
ad020 74 3c 2f 73 70 61 6e 3e 20 66 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 t</span>.f;</span>.<span.class="
ad040 6c 69 6e 65 22 3e 20 20 20 20 73 65 71 28 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 73 line">....seq(<span.class="tok-s
ad060 74 72 22 3e 27 68 27 3c 2f 73 70 61 6e 3e 29 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c tr">'h'</span>);</span>.<span.cl
ad080 61 73 73 3d 22 6c 69 6e 65 22 3e 7d 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d ass="line">}</span>.<span.class=
ad0a0 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 66 6e 3c 2f "line"><span.class="tok-kw">fn</
ad0c0 73 70 61 6e 3e 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 66 6e 22 3e 61 6e 6f 74 68 span>.<span.class="tok-fn">anoth
ad0e0 65 72 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 er</span>().<span.class="tok-typ
ad100 65 22 3e 69 33 32 3c 2f 73 70 61 6e 3e 20 7b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 e">i32</span>.{</span>.<span.cla
ad120 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 73 65 71 28 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 ss="line">....seq(<span.class="t
ad140 6f 6b 2d 73 74 72 22 3e 27 63 27 3c 2f 73 70 61 6e 3e 29 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 ok-str">'c'</span>);</span>.<spa
ad160 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 n.class="line">....<span.class="
ad180 74 6f 6b 2d 6b 77 22 3e 73 75 73 70 65 6e 64 3c 2f 73 70 61 6e 3e 20 7b 3c 2f 73 70 61 6e 3e 0a tok-kw">suspend</span>.{</span>.
ad1a0 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 20 20 20 20 73 65 71 28 3c <span.class="line">........seq(<
ad1c0 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 73 74 72 22 3e 27 64 27 3c 2f 73 70 61 6e 3e 29 span.class="tok-str">'d'</span>)
ad1e0 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 ;</span>.<span.class="line">....
ad200 20 20 20 20 74 68 65 5f 66 72 61 6d 65 20 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b ....the_frame.=.<span.class="tok
ad220 2d 62 75 69 6c 74 69 6e 22 3e 40 66 72 61 6d 65 3c 2f 73 70 61 6e 3e 28 29 3b 3c 2f 73 70 61 6e -builtin">@frame</span>();</span
ad240 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 7d 3c 2f 73 70 61 6e >.<span.class="line">....}</span
ad260 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 73 65 71 28 3c 73 70 >.<span.class="line">....seq(<sp
ad280 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 73 74 72 22 3e 27 67 27 3c 2f 73 70 61 6e 3e 29 3b 3c an.class="tok-str">'g'</span>);<
ad2a0 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 3c 73 /span>.<span.class="line">....<s
ad2c0 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>
ad2e0 20 3c 73 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</
ad300 73 70 61 6e 3e 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 span>;</span>.<span.class="line"
ad320 3e 7d 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 2f 73 >}</span>.<span.class="line"></s
ad340 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c pan>.<span.class="line"><span.cl
ad360 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 76 61 72 3c 2f 73 70 61 6e 3e 20 73 65 71 5f 70 6f 69 6e ass="tok-kw">var</span>.seq_poin
ad380 74 73 20 3d 20 5b 5f 5d 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 75 ts.=.[_]<span.class="tok-type">u
ad3a0 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 6e 75 6d 62 65 72 8</span>{<span.class="tok-number
ad3c0 22 3e 30 3c 2f 73 70 61 6e 3e 7d 20 2a 2a 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d ">0</span>}.**.<span.class="tok-
ad3e0 73 74 72 22 3e 26 71 75 6f 74 3b 61 62 63 64 65 66 67 68 69 26 71 75 6f 74 3b 3c 2f 73 70 61 6e str">&quot;abcdefghi&quot;</span
ad400 3e 2e 6c 65 6e 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 >.len;</span>.<span.class="line"
ad420 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 3e ><span.class="tok-kw">var</span>
ad440 20 73 65 71 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 .seq_index:.<span.class="tok-typ
ad460 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
ad480 6f 6b 2d 6e 75 6d 62 65 72 22 3e 30 3c 2f 73 70 61 6e 3e 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 ok-number">0</span>;</span>.<spa
ad4a0 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 n.class="line"></span>.<span.cla
ad4c0 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 66 ss="line"><span.class="tok-kw">f
ad4e0 6e 3c 2f 73 70 61 6e 3e 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 66 6e 22 3e 73 65 n</span>.<span.class="tok-fn">se
ad500 71 3c 2f 73 70 61 6e 3e 28 63 3a 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 q</span>(c:.<span.class="tok-typ
ad520 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
ad540 79 70 65 22 3e 76 6f 69 64 3c 2f 73 70 61 6e 3e 20 7b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 ype">void</span>.{</span>.<span.
ad560 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 73 65 71 5f 70 6f 69 6e 74 73 5b 73 65 71 5f class="line">....seq_points[seq_
ad580 69 6e 64 65 78 5d 20 3d 20 63 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 index].=.c;</span>.<span.class="
ad5a0 6c 69 6e 65 22 3e 20 20 20 20 73 65 71 5f 69 6e 64 65 78 20 2b 3d 20 3c 73 70 61 6e 20 63 6c 61 line">....seq_index.+=.<span.cla
ad5c0 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 31 3c 2f 73 70 61 6e 3e 3b 3c 2f 73 70 61 6e 3e ss="tok-number">1</span>;</span>
ad5e0 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 7d 3c 2f 73 70 61 6e 3e 3c 2f 63 6f .<span.class="line">}</span></co
ad600 64 65 3e 3c 2f 70 72 65 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
ad620 70 74 69 6f 6e 20 63 6c 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
ad640 69 67 63 61 70 74 69 6f 6e 3e 3c 70 72 65 3e 3c 73 61 6d 70 3e 3c 73 70 61 6e 20 63 6c 61 73 73 igcaption><pre><samp><span.class
ad660 3d 22 6c 69 6e 65 22 3e 24 20 3c 6b 62 64 3e 7a 69 67 20 74 65 73 74 20 61 73 79 6e 63 5f 61 77 ="line">$.<kbd>zig.test.async_aw
ad680 61 69 74 5f 73 65 71 75 65 6e 63 65 2e 7a 69 67 20 2d 66 73 74 61 67 65 31 3c 2f 6b 62 64 3e 3c ait_sequence.zig.-fstage1</kbd><
ad6a0 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 31 2f 31 20 74 65 /span>.<span.class="line">1/1.te
ad6c0 73 74 20 26 71 75 6f 74 3b 61 73 79 6e 63 20 66 75 6e 63 74 69 6f 6e 20 61 77 61 69 74 26 71 75 st.&quot;async.function.await&qu
ad6e0 6f 74 3b 2e 2e 2e 20 4f 4b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 ot;....OK</span>.<span.class="li
ad700 6e 65 22 3e 41 6c 6c 20 31 20 74 65 73 74 73 20 70 61 73 73 65 64 2e 3c 2f 73 70 61 6e 3e 0a 3c ne">All.1.tests.passed.</span>.<
ad720 2f 73 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>.
ad740 20 20 20 20 20 20 49 6e 20 67 65 6e 65 72 61 6c 2c 20 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c ......In.general,.<code><span.cl
ad760 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e ass="line"><span.class="tok-kw">
ad780 73 75 73 70 65 6e 64 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 20 69 73 20 suspend</span></span></code>.is.
ad7a0 6c 6f 77 65 72 20 6c 65 76 65 6c 20 74 68 61 6e 20 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 lower.level.than.<code><span.cla
ad7c0 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 61 ss="line"><span.class="tok-kw">a
ad7e0 77 61 69 74 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 2e 20 4d 6f 73 74 20 wait</span></span></code>..Most.
ad800 61 70 70 6c 69 63 61 74 69 6f 6e 0a 20 20 20 20 20 20 63 6f 64 65 20 77 69 6c 6c 20 75 73 65 20 application.......code.will.use.
ad820 6f 6e 6c 79 20 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 only.<code><span.class="line"><s
ad840 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 61 73 79 6e 63 3c 2f 73 70 61 6e 3e 3c pan.class="tok-kw">async</span><
ad860 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 20 61 6e 64 20 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c /span></code>.and.<code><span.cl
ad880 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e ass="line"><span.class="tok-kw">
ad8a0 61 77 61 69 74 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 2c 20 62 75 74 20 await</span></span></code>,.but.
ad8c0 65 76 65 6e 74 20 6c 6f 6f 70 0a 20 20 20 20 20 20 69 6d 70 6c 65 6d 65 6e 74 61 74 69 6f 6e 73 event.loop.......implementations
ad8e0 20 77 69 6c 6c 20 6d 61 6b 65 20 75 73 65 20 6f 66 20 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c .will.make.use.of.<code><span.cl
ad900 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e ass="line"><span.class="tok-kw">
ad920 73 75 73 70 65 6e 64 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 20 69 6e 74 suspend</span></span></code>.int
ad940 65 72 6e 61 6c 6c 79 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 ernally........</p>.............
ad960 20 20 3c 68 33 20 69 64 3d 22 41 73 79 6e 63 2d 46 75 6e 63 74 69 6f 6e 2d 45 78 61 6d 70 6c 65 ..<h3.id="Async-Function-Example
ad980 22 3e 3c 61 20 68 72 65 66 3d 22 23 74 6f 63 2d 41 73 79 6e 63 2d 46 75 6e 63 74 69 6f 6e 2d 45 "><a.href="#toc-Async-Function-E
ad9a0 78 61 6d 70 6c 65 22 3e 41 73 79 6e 63 20 46 75 6e 63 74 69 6f 6e 20 45 78 61 6d 70 6c 65 3c 2f xample">Async.Function.Example</
ad9c0 61 3e 20 3c 61 20 63 6c 61 73 73 3d 22 68 64 72 22 20 68 72 65 66 3d 22 23 41 73 79 6e 63 2d 46 a>.<a.class="hdr".href="#Async-F
ad9e0 75 6e 63 74 69 6f 6e 2d 45 78 61 6d 70 6c 65 22 3e c2 a7 3c 2f 61 3e 3c 2f 68 33 3e 0a 0a 20 20 unction-Example">..</a></h3>....
ada00 20 20 20 20 3c 70 3e 0a 20 20 20 20 20 20 50 75 74 74 69 6e 67 20 61 6c 6c 20 6f 66 20 74 68 69 ....<p>.......Putting.all.of.thi
ada20 73 20 74 6f 67 65 74 68 65 72 2c 20 68 65 72 65 20 69 73 20 61 6e 20 65 78 61 6d 70 6c 65 20 6f s.together,.here.is.an.example.o
ada40 66 20 74 79 70 69 63 61 6c 0a 20 20 20 20 20 20 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 f.typical.......<code><span.clas
ada60 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 61 73 s="line"><span.class="tok-kw">as
ada80 79 6e 63 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 2f 3c 63 6f 64 65 3e 3c ync</span></span></code>/<code><
adaa0 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 span.class="line"><span.class="t
adac0 6f 6b 2d 6b 77 22 3e 61 77 61 69 74 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 ok-kw">await</span></span></code
adae0 3e 20 75 73 61 67 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 >.usage:.......</p>.......<figur
adb00 65 3e 3c 66 69 67 63 61 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
adb20 69 74 65 20 63 6c 61 73 73 3d 22 66 69 6c 65 22 3e 61 73 79 6e 63 2e 7a 69 67 3c 2f 63 69 74 65 ite.class="file">async.zig</cite
adb40 3e 3c 2f 66 69 67 63 61 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
adb60 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 lass="line"><span.class="tok-kw"
adb80 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=
adba0 22 74 6f 6b 2d 62 75 69 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
adbc0 61 6e 20 63 6c 61 73 73 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
adbe0 74 3b 3c 2f 73 70 61 6e 3e 29 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 t;</span>);</span>.<span.class="
adc00 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 63 6f 6e 73 74 line"><span.class="tok-kw">const
adc20 3c 2f 73 70 61 6e 3e 20 41 6c 6c 6f 63 61 74 6f 72 20 3d 20 73 74 64 2e 6d 65 6d 2e 41 6c 6c 6f </span>.Allocator.=.std.mem.Allo
adc40 63 61 74 6f 72 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 cator;</span>.<span.class="line"
adc60 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 ></span>.<span.class="line"><spa
adc80 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
adca0 6e 20 63 6c 61 73 73 3d 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
adcc0 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
adce0 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>
add00 20 7b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 .{</span>.<span.class="line">...
add20 20 5f 20 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 61 73 79 6e 63 3c ._.=.<span.class="tok-kw">async<
add40 2f 73 70 61 6e 3e 20 61 6d 61 69 6e 57 72 61 70 28 29 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e /span>.amainWrap();</span>.<span
add60 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 .class="line"></span>.<span.clas
add80 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 63 6f s="line">....<span.class="tok-co
adda0 6d 6d 65 6e 74 22 3e 2f 2f 20 54 79 70 69 63 61 6c 6c 79 20 77 65 20 77 6f 75 6c 64 20 75 73 65 mment">//.Typically.we.would.use
addc0 20 61 6e 20 65 76 65 6e 74 20 6c 6f 6f 70 20 74 6f 20 6d 61 6e 61 67 65 20 72 65 73 75 6d 69 6e .an.event.loop.to.manage.resumin
adde0 67 20 61 73 79 6e 63 20 66 75 6e 63 74 69 6f 6e 73 2c 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e g.async.functions,</span></span>
ade00 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 3c 73 70 61 6e 20 63 6c .<span.class="line">....<span.cl
ade20 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 69 6e 20 74 68 69 73 ass="tok-comment">//.but.in.this
ade40 20 65 78 61 6d 70 6c 65 20 77 65 20 68 61 72 64 20 63 6f 64 65 20 77 68 61 74 20 74 68 65 20 65 .example.we.hard.code.what.the.e
ade60 76 65 6e 74 20 6c 6f 6f 70 20 77 6f 75 6c 64 20 64 6f 2c 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e vent.loop.would.do,</span></span
ade80 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 3c 73 70 61 6e 20 63 >.<span.class="line">....<span.c
adea0 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 6d 61 6b 65 20 74 68 lass="tok-comment">//.to.make.th
adec0 69 6e 67 73 20 64 65 74 65 72 6d 69 6e 69 73 74 69 63 2e 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e ings.deterministic.</span></span
adee0 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 3c 73 70 61 6e 20 63 >.<span.class="line">....<span.c
adf00 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 72 65 73 75 6d 65 3c 2f 73 70 61 6e 3e 20 67 6c 6f 62 lass="tok-kw">resume</span>.glob
adf20 61 6c 5f 66 69 6c 65 5f 66 72 61 6d 65 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 al_file_frame;</span>.<span.clas
adf40 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 s="line">....<span.class="tok-kw
adf60 22 3e 72 65 73 75 6d 65 3c 2f 73 70 61 6e 3e 20 67 6c 6f 62 61 6c 5f 64 6f 77 6e 6c 6f 61 64 5f ">resume</span>.global_download_
adf80 66 72 61 6d 65 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 frame;</span>.<span.class="line"
adfa0 3e 7d 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 2f 73 >}</span>.<span.class="line"></s
adfc0 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c pan>.<span.class="line"><span.cl
adfe0 61 73 73 3d 22 74 6f 6b 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
ae000 73 73 3d 22 74 6f 6b 2d 66 6e 22 3e 61 6d 61 69 6e 57 72 61 70 3c 2f 73 70 61 6e 3e 28 29 20 3c ss="tok-fn">amainWrap</span>().<
ae020 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
ae040 3e 20 7b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 >.{</span>.<span.class="line">..
ae060 20 20 61 6d 61 69 6e 28 29 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 63 ..amain().<span.class="tok-kw">c
ae080 61 74 63 68 3c 2f 73 70 61 6e 3e 20 7c 65 7c 20 7b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 atch</span>.|e|.{</span>.<span.c
ae0a0 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 20 20 20 20 73 74 64 2e 64 65 62 75 67 2e 70 72 lass="line">........std.debug.pr
ae0c0 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;
ae0e0 7b 7d 5c 6e 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 2c 20 2e 7b 65 7d 29 3b 3c 2f 73 70 61 6e 3e {}\n&quot;</span>,..{e});</span>
ae100 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 20 20 20 20 3c 73 70 61 .<span.class="line">........<spa
ae120 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 69 66 3c 2f 73 70 61 6e 3e 20 28 3c 73 70 61 n.class="tok-kw">if</span>.(<spa
ae140 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 62 75 69 6c 74 69 6e 22 3e 40 65 72 72 6f 72 52 65 74 75 n.class="tok-builtin">@errorRetu
ae160 72 6e 54 72 61 63 65 3c 2f 73 70 61 6e 3e 28 29 29 20 7c 74 72 61 63 65 7c 20 7b 3c 2f 73 70 61 rnTrace</span>()).|trace|.{</spa
ae180 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 20 20 20 20 20 20 n>.<span.class="line">..........
ae1a0 20 20 73 74 64 2e 64 65 62 75 67 2e 64 75 6d 70 53 74 61 63 6b 54 72 61 63 65 28 74 72 61 63 65 ..std.debug.dumpStackTrace(trace
ae1c0 2e 2a 29 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 .*);</span>.<span.class="line">.
ae1e0 20 20 20 20 20 20 20 7d 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e .......}</span>.<span.class="lin
ae200 65 22 3e 20 20 20 20 20 20 20 20 73 74 64 2e 70 72 6f 63 65 73 73 2e 65 78 69 74 28 3c 73 70 61 e">........std.process.exit(<spa
ae220 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 31 3c 2f 73 70 61 6e 3e 29 3b 3c n.class="tok-number">1</span>);<
ae240 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 7d 3b /span>.<span.class="line">....};
ae260 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 7d 3c 2f 73 70 </span>.<span.class="line">}</sp
ae280 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 2f 73 70 61 6e 3e 0a 3c an>.<span.class="line"></span>.<
ae2a0 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 span.class="line"><span.class="t
ae2c0 6f 6b 2d 6b 77 22 3e 66 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
ae2e0 6b 2d 66 6e 22 3e 61 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 k-fn">amain</span>().!<span.clas
ae300 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 76 6f 69 64 3c 2f 73 70 61 6e 3e 20 7b 3c 2f 73 70 61 6e s="tok-type">void</span>.{</span
ae320 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 3c 73 70 61 6e 20 63 >.<span.class="line">....<span.c
ae340 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 63 6f 6e 73 74 3c 2f 73 70 61 6e 3e 20 61 6c 6c 6f 63 lass="tok-kw">const</span>.alloc
ae360 61 74 6f 72 20 3d 20 73 74 64 2e 68 65 61 70 2e 70 61 67 65 5f 61 6c 6c 6f 63 61 74 6f 72 3b 3c ator.=.std.heap.page_allocator;<
ae380 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 3c 73 /span>.<span.class="line">....<s
ae3a0 70 61 6e 20 63 6c 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 6f pan.class="tok-kw">var</span>.do
ae3c0 77 6e 6c 6f 61 64 5f 66 72 61 6d 65 20 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d wnload_frame.=.<span.class="tok-
ae3e0 6b 77 22 3e 61 73 79 6e 63 3c 2f 73 70 61 6e 3e 20 66 65 74 63 68 55 72 6c 28 61 6c 6c 6f 63 61 kw">async</span>.fetchUrl(alloca
ae400 74 6f 72 2c 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 73 74 72 22 3e 26 71 75 6f 74 tor,.<span.class="tok-str">&quot
ae420 3b 68 74 74 70 73 3a 2f 2f 65 78 61 6d 70 6c 65 2e 63 6f 6d 2f 26 71 75 6f 74 3b 3c 2f 73 70 61 ;https://example.com/&quot;</spa
ae440 6e 3e 29 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 n>);</span>.<span.class="line">.
ae460 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
ae480 6e 3e 20 61 77 61 69 74 65 64 5f 64 6f 77 6e 6c 6f 61 64 5f 66 72 61 6d 65 20 3d 20 3c 73 70 61 n>.awaited_download_frame.=.<spa
ae4a0 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>;
ae4c0 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 3c </span>.<span.class="line">....<
ae4e0 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 65 72 72 64 65 66 65 72 3c 2f 73 70 span.class="tok-kw">errdefer</sp
ae500 61 6e 3e 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 69 66 3c 2f 73 70 61 an>.<span.class="tok-kw">if</spa
ae520 6e 3e 20 28 21 61 77 61 69 74 65 64 5f 64 6f 77 6e 6c 6f 61 64 5f 66 72 61 6d 65 29 20 7b 3c 2f n>.(!awaited_download_frame).{</
ae540 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 20 20 20 span>.<span.class="line">.......
ae560 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>.
ae580 28 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 61 77 61 69 74 3c 2f 73 70 61 (<span.class="tok-kw">await</spa
ae5a0 6e 3e 20 64 6f 77 6e 6c 6f 61 64 5f 66 72 61 6d 65 29 20 7c 72 7c 20 61 6c 6c 6f 63 61 74 6f 72 n>.download_frame).|r|.allocator
ae5c0 2e 66 72 65 65 28 72 29 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 65 6c .free(r).<span.class="tok-kw">el
ae5e0 73 65 3c 2f 73 70 61 6e 3e 20 7c 5f 7c 20 7b 7d 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c se</span>.|_|.{}</span>.<span.cl
ae600 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 7d 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 ass="line">....};</span>.<span.c
ae620 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d lass="line"></span>.<span.class=
ae640 22 6c 69 6e 65 22 3e 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e "line">....<span.class="tok-kw">
ae660 76 61 72 3c 2f 73 70 61 6e 3e 20 66 69 6c 65 5f 66 72 61 6d 65 20 3d 20 3c 73 70 61 6e 20 63 6c var</span>.file_frame.=.<span.cl
ae680 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 61 73 79 6e 63 3c 2f 73 70 61 6e 3e 20 72 65 61 64 46 69 ass="tok-kw">async</span>.readFi
ae6a0 6c 65 28 61 6c 6c 6f 63 61 74 6f 72 2c 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 73 le(allocator,.<span.class="tok-s
ae6c0 74 72 22 3e 26 71 75 6f 74 3b 73 6f 6d 65 74 68 69 6e 67 2e 74 78 74 26 71 75 6f 74 3b 3c 2f 73 tr">&quot;something.txt&quot;</s
ae6e0 70 61 6e 3e 29 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 pan>);</span>.<span.class="line"
ae700 3e 20 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
ae720 70 61 6e 3e 20 61 77 61 69 74 65 64 5f 66 69 6c 65 5f 66 72 61 6d 65 20 3d 20 3c 73 70 61 6e 20 pan>.awaited_file_frame.=.<span.
ae740 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6c 6c 22 3e 66 61 6c 73 65 3c 2f 73 70 61 6e 3e 3b 3c 2f class="tok-null">false</span>;</
ae760 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 3c 73 70 span>.<span.class="line">....<sp
ae780 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 65 72 72 64 65 66 65 72 3c 2f 73 70 61 6e an.class="tok-kw">errdefer</span
ae7a0 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>
ae7c0 20 28 21 61 77 61 69 74 65 64 5f 66 69 6c 65 5f 66 72 61 6d 65 29 20 7b 3c 2f 73 70 61 6e 3e 0a .(!awaited_file_frame).{</span>.
ae7e0 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 20 20 20 20 3c 73 70 61 6e <span.class="line">........<span
ae800 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 69 66 3c 2f 73 70 61 6e 3e 20 28 3c 73 70 61 6e .class="tok-kw">if</span>.(<span
ae820 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 61 77 61 69 74 3c 2f 73 70 61 6e 3e 20 66 69 6c .class="tok-kw">await</span>.fil
ae840 65 5f 66 72 61 6d 65 29 20 7c 72 7c 20 61 6c 6c 6f 63 61 74 6f 72 2e 66 72 65 65 28 72 29 20 3c e_frame).|r|.allocator.free(r).<
ae860 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>.
ae880 7c 5f 7c 20 7b 7d 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 |_|.{}</span>.<span.class="line"
ae8a0 3e 20 20 20 20 7d 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 >....};</span>.<span.class="line
ae8c0 22 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 "></span>.<span.class="line">...
ae8e0 20 61 77 61 69 74 65 64 5f 66 69 6c 65 5f 66 72 61 6d 65 20 3d 20 3c 73 70 61 6e 20 63 6c 61 73 .awaited_file_frame.=.<span.clas
ae900 73 3d 22 74 6f 6b 2d 6e 75 6c 6c 22 3e 74 72 75 65 3c 2f 73 70 61 6e 3e 3b 3c 2f 73 70 61 6e 3e s="tok-null">true</span>;</span>
ae920 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 3c 73 70 61 6e 20 63 6c .<span.class="line">....<span.cl
ae940 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 63 6f 6e 73 74 3c 2f 73 70 61 6e 3e 20 66 69 6c 65 5f 74 ass="tok-kw">const</span>.file_t
ae960 65 78 74 20 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 74 72 79 3c 2f ext.=.<span.class="tok-kw">try</
ae980 73 70 61 6e 3e 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 61 77 61 69 74 span>.<span.class="tok-kw">await
ae9a0 3c 2f 73 70 61 6e 3e 20 66 69 6c 65 5f 66 72 61 6d 65 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e </span>.file_frame;</span>.<span
ae9c0 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 .class="line">....<span.class="t
ae9e0 6f 6b 2d 6b 77 22 3e 64 65 66 65 72 3c 2f 73 70 61 6e 3e 20 61 6c 6c 6f 63 61 74 6f 72 2e 66 72 ok-kw">defer</span>.allocator.fr
aea00 65 65 28 66 69 6c 65 5f 74 65 78 74 29 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 ee(file_text);</span>.<span.clas
aea20 73 3d 22 6c 69 6e 65 22 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 s="line"></span>.<span.class="li
aea40 6e 65 22 3e 20 20 20 20 61 77 61 69 74 65 64 5f 64 6f 77 6e 6c 6f 61 64 5f 66 72 61 6d 65 20 3d ne">....awaited_download_frame.=
aea60 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
aea80 61 6e 3e 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 an>;</span>.<span.class="line">.
aeaa0 20 20 20 3c 73 70 61 6e 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
aeac0 70 61 6e 3e 20 64 6f 77 6e 6c 6f 61 64 5f 74 65 78 74 20 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 pan>.download_text.=.<span.class
aeae0 3d 22 74 6f 6b 2d 6b 77 22 3e 74 72 79 3c 2f 73 70 61 6e 3e 20 3c 73 70 61 6e 20 63 6c 61 73 73 ="tok-kw">try</span>.<span.class
aeb00 3d 22 74 6f 6b 2d 6b 77 22 3e 61 77 61 69 74 3c 2f 73 70 61 6e 3e 20 64 6f 77 6e 6c 6f 61 64 5f ="tok-kw">await</span>.download_
aeb20 66 72 61 6d 65 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 frame;</span>.<span.class="line"
aeb40 3e 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 64 65 66 65 72 3c >....<span.class="tok-kw">defer<
aeb60 2f 73 70 61 6e 3e 20 61 6c 6c 6f 63 61 74 6f 72 2e 66 72 65 65 28 64 6f 77 6e 6c 6f 61 64 5f 74 /span>.allocator.free(download_t
aeb80 65 78 74 29 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e ext);</span>.<span.class="line">
aeba0 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 73 </span>.<span.class="line">....s
aebc0 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-
aebe0 73 74 72 22 3e 26 71 75 6f 74 3b 64 6f 77 6e 6c 6f 61 64 5f 74 65 78 74 3a 20 7b 73 7d 5c 6e 26 str">&quot;download_text:.{s}\n&
aec00 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 2c 20 2e 7b 64 6f 77 6e 6c 6f 61 64 5f 74 65 78 74 7d 29 3b quot;</span>,..{download_text});
aec20 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 73 </span>.<span.class="line">....s
aec40 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-
aec60 73 74 72 22 3e 26 71 75 6f 74 3b 66 69 6c 65 5f 74 65 78 74 3a 20 7b 73 7d 5c 6e 26 71 75 6f 74 str">&quot;file_text:.{s}\n&quot
aec80 3b 3c 2f 73 70 61 6e 3e 2c 20 2e 7b 66 69 6c 65 5f 74 65 78 74 7d 29 3b 3c 2f 73 70 61 6e 3e 0a ;</span>,..{file_text});</span>.
aeca0 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 7d 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 <span.class="line">}</span>.<spa
aecc0 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 n.class="line"></span>.<span.cla
aece0 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 76 ss="line"><span.class="tok-kw">v
aed00 61 72 3c 2f 73 70 61 6e 3e 20 67 6c 6f 62 61 6c 5f 64 6f 77 6e 6c 6f 61 64 5f 66 72 61 6d 65 3a ar</span>.global_download_frame:
aed20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 61 6e 79 66 72 61 6d 65 3c 2f .<span.class="tok-kw">anyframe</
aed40 73 70 61 6e 3e 20 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6c 6c 22 3e 75 span>.=.<span.class="tok-null">u
aed60 6e 64 65 66 69 6e 65 64 3c 2f 73 70 61 6e 3e 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c ndefined</span>;</span>.<span.cl
aed80 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e ass="line"><span.class="tok-kw">
aeda0 66 6e 3c 2f 73 70 61 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
aedc0 65 74 63 68 55 72 6c 3c 2f 73 70 61 6e 3e 28 61 6c 6c 6f 63 61 74 6f 72 3a 20 41 6c 6c 6f 63 61 etchUrl</span>(allocator:.Alloca
aede0 74 6f 72 2c 20 75 72 6c 3a 20 5b 5d 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 tor,.url:.[]<span.class="tok-kw"
aee00 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
aee20 79 70 65 22 3e 75 38 3c 2f 73 70 61 6e 3e 29 20 21 5b 5d 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 ype">u8</span>).![]<span.class="
aee40 74 6f 6b 2d 74 79 70 65 22 3e 75 38 3c 2f 73 70 61 6e 3e 20 7b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 tok-type">u8</span>.{</span>.<sp
aee60 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 5f 20 3d 20 75 72 6c 3b 20 3c 73 70 an.class="line">...._.=.url;.<sp
aee80 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 63 6f 6d 6d 65 6e 74 22 3e 2f 2f 20 74 68 69 73 20 69 an.class="tok-comment">//.this.i
aeea0 73 20 6a 75 73 74 20 61 6e 20 65 78 61 6d 70 6c 65 2c 20 77 65 20 64 6f 6e 27 74 20 61 63 74 75 s.just.an.example,.we.don't.actu
aeec0 61 6c 6c 79 20 64 6f 20 69 74 21 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 ally.do.it!</span></span>.<span.
aeee0 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f class="line">....<span.class="to
aef00 6b 2d 6b 77 22 3e 63 6f 6e 73 74 3c 2f 73 70 61 6e 3e 20 72 65 73 75 6c 74 20 3d 20 3c 73 70 61 k-kw">const</span>.result.=.<spa
aef20 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 74 72 79 3c 2f 73 70 61 6e 3e 20 61 6c 6c 6f n.class="tok-kw">try</span>.allo
aef40 63 61 74 6f 72 2e 64 75 70 65 28 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 cator.dupe(<span.class="tok-type
aef60 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 73 74 ">u8</span>,.<span.class="tok-st
aef80 72 22 3e 26 71 75 6f 74 3b 74 68 69 73 20 69 73 20 74 68 65 20 64 6f 77 6e 6c 6f 61 64 65 64 20 r">&quot;this.is.the.downloaded.
aefa0 75 72 6c 20 63 6f 6e 74 65 6e 74 73 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 29 3b 3c 2f 73 70 61 url.contents&quot;</span>);</spa
aefc0 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 3c 73 70 61 6e 20 n>.<span.class="line">....<span.
aefe0 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 65 72 72 64 65 66 65 72 3c 2f 73 70 61 6e 3e 20 61 class="tok-kw">errdefer</span>.a
af000 6c 6c 6f 63 61 74 6f 72 2e 66 72 65 65 28 72 65 73 75 6c 74 29 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 llocator.free(result);</span>.<s
af020 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 pan.class="line">....<span.class
af040 3d 22 74 6f 6b 2d 6b 77 22 3e 73 75 73 70 65 6e 64 3c 2f 73 70 61 6e 3e 20 7b 3c 2f 73 70 61 6e ="tok-kw">suspend</span>.{</span
af060 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 20 20 20 20 67 6c 6f >.<span.class="line">........glo
af080 62 61 6c 5f 64 6f 77 6e 6c 6f 61 64 5f 66 72 61 6d 65 20 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 bal_download_frame.=.<span.class
af0a0 3d 22 74 6f 6b 2d 62 75 69 6c 74 69 6e 22 3e 40 66 72 61 6d 65 3c 2f 73 70 61 6e 3e 28 29 3b 3c ="tok-builtin">@frame</span>();<
af0c0 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 7d 3c /span>.<span.class="line">....}<
af0e0 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 73 74 /span>.<span.class="line">....st
af100 64 2e 64 65 62 75 67 2e 70 72 69 6e 74 28 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 73 d.debug.print(<span.class="tok-s
af120 74 72 22 3e 26 71 75 6f 74 3b 66 65 74 63 68 55 72 6c 20 72 65 74 75 72 6e 69 6e 67 5c 6e 26 71 tr">&quot;fetchUrl.returning\n&q
af140 75 6f 74 3b 3c 2f 73 70 61 6e 3e 2c 20 2e 7b 7d 29 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 uot;</span>,..{});</span>.<span.
af160 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f class="line">....<span.class="to
af180 6b 2d 6b 77 22 3e 72 65 74 75 72 6e 3c 2f 73 70 61 6e 3e 20 72 65 73 75 6c 74 3b 3c 2f 73 70 61 k-kw">return</span>.result;</spa
af1a0 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 7d 3c 2f 73 70 61 6e 3e 0a 3c n>.<span.class="line">}</span>.<
af1c0 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 span.class="line"></span>.<span.
af1e0 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 class="line"><span.class="tok-kw
af200 22 3e 76 61 72 3c 2f 73 70 61 6e 3e 20 67 6c 6f 62 61 6c 5f 66 69 6c 65 5f 66 72 61 6d 65 3a 20 ">var</span>.global_file_frame:.
af220 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 61 6e 79 66 72 61 6d 65 3c 2f 73 <span.class="tok-kw">anyframe</s
af240 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
af260 64 65 66 69 6e 65 64 3c 2f 73 70 61 6e 3e 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 defined</span>;</span>.<span.cla
af280 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 66 ss="line"><span.class="tok-kw">f
af2a0 6e 3c 2f 73 70 61 6e 3e 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 66 6e 22 3e 72 65 n</span>.<span.class="tok-fn">re
af2c0 61 64 46 69 6c 65 3c 2f 73 70 61 6e 3e 28 61 6c 6c 6f 63 61 74 6f 72 3a 20 41 6c 6c 6f 63 61 74 adFile</span>(allocator:.Allocat
af2e0 6f 72 2c 20 66 69 6c 65 6e 61 6d 65 3a 20 5b 5d 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b or,.filename:.[]<span.class="tok
af300 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
af320 6f 6b 2d 74 79 70 65 22 3e 75 38 3c 2f 73 70 61 6e 3e 29 20 21 5b 5d 3c 73 70 61 6e 20 63 6c 61 ok-type">u8</span>).![]<span.cla
af340 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 75 38 3c 2f 73 70 61 6e 3e 20 7b 3c 2f 73 70 61 6e 3e ss="tok-type">u8</span>.{</span>
af360 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 5f 20 3d 20 66 69 6c 65 .<span.class="line">...._.=.file
af380 6e 61 6d 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 name;.<span.class="tok-comment">
af3a0 2f 2f 20 74 68 69 73 20 69 73 20 6a 75 73 74 20 61 6e 20 65 78 61 6d 70 6c 65 2c 20 77 65 20 64 //.this.is.just.an.example,.we.d
af3c0 6f 6e 27 74 20 61 63 74 75 61 6c 6c 79 20 64 6f 20 69 74 21 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 on't.actually.do.it!</span></spa
af3e0 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 3c 73 70 61 6e 20 n>.<span.class="line">....<span.
af400 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 63 6f 6e 73 74 3c 2f 73 70 61 6e 3e 20 72 65 73 75 class="tok-kw">const</span>.resu
af420 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 2f 73 lt.=.<span.class="tok-kw">try</s
af440 70 61 6e 3e 20 61 6c 6c 6f 63 61 74 6f 72 2e 64 75 70 65 28 3c 73 70 61 6e 20 63 6c 61 73 73 3d pan>.allocator.dupe(<span.class=
af460 22 74 6f 6b 2d 74 79 70 65 22 3e 75 38 3c 2f 73 70 61 6e 3e 2c 20 3c 73 70 61 6e 20 63 6c 61 73 "tok-type">u8</span>,.<span.clas
af480 73 3d 22 74 6f 6b 2d 73 74 72 22 3e 26 71 75 6f 74 3b 74 68 69 73 20 69 73 20 74 68 65 20 66 69 s="tok-str">&quot;this.is.the.fi
af4a0 6c 65 20 63 6f 6e 74 65 6e 74 73 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 29 3b 3c 2f 73 70 61 6e le.contents&quot;</span>);</span
af4c0 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 3c 73 70 61 6e 20 63 >.<span.class="line">....<span.c
af4e0 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 65 72 72 64 65 66 65 72 3c 2f 73 70 61 6e 3e 20 61 6c lass="tok-kw">errdefer</span>.al
af500 6c 6f 63 61 74 6f 72 2e 66 72 65 65 28 72 65 73 75 6c 74 29 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 locator.free(result);</span>.<sp
af520 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d an.class="line">....<span.class=
af540 22 74 6f 6b 2d 6b 77 22 3e 73 75 73 70 65 6e 64 3c 2f 73 70 61 6e 3e 20 7b 3c 2f 73 70 61 6e 3e "tok-kw">suspend</span>.{</span>
af560 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 20 20 20 20 67 6c 6f 62 .<span.class="line">........glob
af580 61 6c 5f 66 69 6c 65 5f 66 72 61 6d 65 20 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b al_file_frame.=.<span.class="tok
af5a0 2d 62 75 69 6c 74 69 6e 22 3e 40 66 72 61 6d 65 3c 2f 73 70 61 6e 3e 28 29 3b 3c 2f 73 70 61 6e -builtin">@frame</span>();</span
af5c0 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 7d 3c 2f 73 70 61 6e >.<span.class="line">....}</span
af5e0 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 73 74 64 2e 64 65 62 >.<span.class="line">....std.deb
af600 75 67 2e 70 72 69 6e 74 28 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 73 74 72 22 3e 26 ug.print(<span.class="tok-str">&
af620 71 75 6f 74 3b 72 65 61 64 46 69 6c 65 20 72 65 74 75 72 6e 69 6e 67 5c 6e 26 71 75 6f 74 3b 3c quot;readFile.returning\n&quot;<
af640 2f 73 70 61 6e 3e 2c 20 2e 7b 7d 29 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 /span>,..{});</span>.<span.class
af660 3d 22 6c 69 6e 65 22 3e 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 ="line">....<span.class="tok-kw"
af680 3e 72 65 74 75 72 6e 3c 2f 73 70 61 6e 3e 20 72 65 73 75 6c 74 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 >return</span>.result;</span>.<s
af6a0 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 7d 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e pan.class="line">}</span></code>
af6c0 3c 2f 70 72 65 3e 3c 2f 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
af6e0 6f 6e 20 63 6c 61 73 73 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
af700 61 70 74 69 6f 6e 3e 3c 70 72 65 3e 3c 73 61 6d 70 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c aption><pre><samp><span.class="l
af720 69 6e 65 22 3e 24 20 3c 6b 62 64 3e 7a 69 67 20 62 75 69 6c 64 2d 65 78 65 20 61 73 79 6e 63 2e ine">$.<kbd>zig.build-exe.async.
af740 7a 69 67 20 2d 66 73 74 61 67 65 31 3c 2f 6b 62 64 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 zig.-fstage1</kbd></span>.<span.
af760 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 class="line"></span>.<span.class
af780 3d 22 6c 69 6e 65 22 3e 24 20 3c 6b 62 64 3e 2e 2f 61 73 79 6e 63 3c 2f 6b 62 64 3e 3c 2f 73 70 ="line">$.<kbd>./async</kbd></sp
af7a0 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 72 65 61 64 46 69 6c 65 20 an>.<span.class="line">readFile.
af7c0 72 65 74 75 72 6e 69 6e 67 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 returning</span>.<span.class="li
af7e0 6e 65 22 3e 66 65 74 63 68 55 72 6c 20 72 65 74 75 72 6e 69 6e 67 3c 2f 73 70 61 6e 3e 0a 3c 73 ne">fetchUrl.returning</span>.<s
af800 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 64 6f 77 6e 6c 6f 61 64 5f 74 65 78 74 3a 20 pan.class="line">download_text:.
af820 74 68 69 73 20 69 73 20 74 68 65 20 64 6f 77 6e 6c 6f 61 64 65 64 20 75 72 6c 20 63 6f 6e 74 65 this.is.the.downloaded.url.conte
af840 6e 74 73 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 66 69 nts</span>.<span.class="line">fi
af860 6c 65 5f 74 65 78 74 3a 20 74 68 69 73 20 69 73 20 74 68 65 20 66 69 6c 65 20 63 6f 6e 74 65 6e le_text:.this.is.the.file.conten
af880 74 73 3c 2f 73 70 61 6e 3e 0a 3c 2f 73 61 6d 70 3e 3c 2f 70 72 65 3e 3c 2f 66 69 67 75 72 65 3e ts</span>.</samp></pre></figure>
af8a0 0a 20 20 20 20 20 20 3c 70 3e 0a 20 20 20 20 20 20 4e 6f 77 20 77 65 20 72 65 6d 6f 76 65 20 74 .......<p>.......Now.we.remove.t
af8c0 68 65 20 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 he.<code><span.class="line"><spa
af8e0 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 73 75 73 70 65 6e 64 3c 2f 73 70 61 6e 3e 3c n.class="tok-kw">suspend</span><
af900 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 20 61 6e 64 20 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c /span></code>.and.<code><span.cl
af920 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e ass="line"><span.class="tok-kw">
af940 72 65 73 75 6d 65 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 20 63 6f 64 65 resume</span></span></code>.code
af960 2c 20 61 6e 64 0a 20 20 20 20 20 20 6f 62 73 65 72 76 65 20 74 68 65 20 73 61 6d 65 20 62 65 68 ,.and.......observe.the.same.beh
af980 61 76 69 6f 72 2c 20 77 69 74 68 20 6f 6e 65 20 74 69 6e 79 20 64 69 66 66 65 72 65 6e 63 65 3a avior,.with.one.tiny.difference:
af9a0 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
af9c0 70 74 69 6f 6e 20 63 6c 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
af9e0 73 3d 22 66 69 6c 65 22 3e 62 6c 6f 63 6b 69 6e 67 2e 7a 69 67 3c 2f 63 69 74 65 3e 3c 2f 66 69 s="file">blocking.zig</cite></fi
afa00 67 63 61 70 74 69 6f 6e 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=
afa20 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 63 6f 6e 73 "line"><span.class="tok-kw">cons
afa40 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-
afa60 62 75 69 6c 74 69 6e 22 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
afa80 61 73 73 3d 22 74 6f 6b 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
afaa0 70 61 6e 3e 29 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 pan>);</span>.<span.class="line"
afac0 3e 3c 73 70 61 6e 20 63 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
afae0 6e 3e 20 41 6c 6c 6f 63 61 74 6f 72 20 3d 20 73 74 64 2e 6d 65 6d 2e 41 6c 6c 6f 63 61 74 6f 72 n>.Allocator.=.std.mem.Allocator
afb00 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 2f 73 70 ;</span>.<span.class="line"></sp
afb20 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 an>.<span.class="line"><span.cla
afb40 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
afb60 73 73 3d 22 74 6f 6b 2d 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
afb80 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
afba0 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 76 6f 69 64 3c 2f 73 70 61 6e 3e 20 7b 3c 2f 73 lass="tok-type">void</span>.{</s
afbc0 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 5f 20 3d 20 pan>.<span.class="line">...._.=.
afbe0 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 61 73 79 6e 63 3c 2f 73 70 61 6e <span.class="tok-kw">async</span
afc00 3e 20 61 6d 61 69 6e 57 72 61 70 28 29 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 >.amainWrap();</span>.<span.clas
afc20 73 3d 22 6c 69 6e 65 22 3e 7d 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c s="line">}</span>.<span.class="l
afc40 69 6e 65 22 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e ine"></span>.<span.class="line">
afc60 3c 73 70 61 6e 20 63 6c 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>.<
afc80 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 66 6e 22 3e 61 6d 61 69 6e 57 72 61 70 3c 2f 73 span.class="tok-fn">amainWrap</s
afca0 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
afcc0 69 64 3c 2f 73 70 61 6e 3e 20 7b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 id</span>.{</span>.<span.class="
afce0 6c 69 6e 65 22 3e 20 20 20 20 61 6d 61 69 6e 28 29 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 line">....amain().<span.class="t
afd00 6f 6b 2d 6b 77 22 3e 63 61 74 63 68 3c 2f 73 70 61 6e 3e 20 7c 65 7c 20 7b 3c 2f 73 70 61 6e 3e ok-kw">catch</span>.|e|.{</span>
afd20 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 20 20 20 20 73 74 64 2e .<span.class="line">........std.
afd40 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
afd60 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 65 7d 29 ">&quot;{}\n&quot;</span>,..{e})
afd80 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 ;</span>.<span.class="line">....
afda0 20 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
afdc0 6e 3e 20 28 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 62 75 69 6c 74 69 6e 22 3e 40 65 n>.(<span.class="tok-builtin">@e
afde0 72 72 6f 72 52 65 74 75 72 6e 54 72 61 63 65 3c 2f 73 70 61 6e 3e 28 29 29 20 7c 74 72 61 63 65 rrorReturnTrace</span>()).|trace
afe00 7c 20 7b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 |.{</span>.<span.class="line">..
afe20 20 20 20 20 20 20 20 20 20 20 73 74 64 2e 64 65 62 75 67 2e 64 75 6d 70 53 74 61 63 6b 54 72 61 ..........std.debug.dumpStackTra
afe40 63 65 28 74 72 61 63 65 2e 2a 29 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d ce(trace.*);</span>.<span.class=
afe60 22 6c 69 6e 65 22 3e 20 20 20 20 20 20 20 20 7d 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c "line">........}</span>.<span.cl
afe80 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 20 20 20 20 73 74 64 2e 70 72 6f 63 65 73 73 2e 65 ass="line">........std.process.e
afea0 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 22 3e 31 3c 2f xit(<span.class="tok-number">1</
afec0 73 70 61 6e 3e 29 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 span>);</span>.<span.class="line
afee0 22 3e 20 20 20 20 7d 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e ">....};</span>.<span.class="lin
aff00 65 22 3e 7d 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c e">}</span>.<span.class="line"><
aff20 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 /span>.<span.class="line"><span.
aff40 63 6c 61 73 73 3d 22 74 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
aff60 6c 61 73 73 3d 22 74 6f 6b 2d 66 6e 22 3e 61 6d 61 69 6e 3c 2f 73 70 61 6e 3e 28 29 20 21 3c 73 lass="tok-fn">amain</span>().!<s
aff80 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>
affa0 20 7b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 .{</span>.<span.class="line">...
affc0 20 3c 73 70 61 6e 20 63 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
affe0 6e 3e 20 61 6c 6c 6f 63 61 74 6f 72 20 3d 20 73 74 64 2e 68 65 61 70 2e 70 61 67 65 5f 61 6c 6c n>.allocator.=.std.heap.page_all
b0000 6f 63 61 74 6f 72 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 ocator;</span>.<span.class="line
b0020 22 3e 20 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</
b0040 73 70 61 6e 3e 20 64 6f 77 6e 6c 6f 61 64 5f 66 72 61 6d 65 20 3d 20 3c 73 70 61 6e 20 63 6c 61 span>.download_frame.=.<span.cla
b0060 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 61 73 79 6e 63 3c 2f 73 70 61 6e 3e 20 66 65 74 63 68 55 72 ss="tok-kw">async</span>.fetchUr
b0080 6c 28 61 6c 6c 6f 63 61 74 6f 72 2c 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 73 74 l(allocator,.<span.class="tok-st
b00a0 72 22 3e 26 71 75 6f 74 3b 68 74 74 70 73 3a 2f 2f 65 78 61 6d 70 6c 65 2e 63 6f 6d 2f 26 71 75 r">&quot;https://example.com/&qu
b00c0 6f 74 3b 3c 2f 73 70 61 6e 3e 29 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d ot;</span>);</span>.<span.class=
b00e0 22 6c 69 6e 65 22 3e 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e "line">....<span.class="tok-kw">
b0100 76 61 72 3c 2f 73 70 61 6e 3e 20 61 77 61 69 74 65 64 5f 64 6f 77 6e 6c 6f 61 64 5f 66 72 61 6d var</span>.awaited_download_fram
b0120 65 20 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6c 6c 22 3e 66 61 6c 73 65 e.=.<span.class="tok-null">false
b0140 3c 2f 73 70 61 6e 3e 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e </span>;</span>.<span.class="lin
b0160 65 22 3e 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 65 72 72 64 e">....<span.class="tok-kw">errd
b0180 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 6b 77 22 efer</span>.<span.class="tok-kw"
b01a0 3e 69 66 3c 2f 73 70 61 6e 3e 20 28 21 61 77 61 69 74 65 64 5f 64 6f 77 6e 6c 6f 61 64 5f 66 72 >if</span>.(!awaited_download_fr
b01c0 61 6d 65 29 20 7b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 ame).{</span>.<span.class="line"
b01e0 3e 20 20 20 20 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 69 66 >........<span.class="tok-kw">if
b0200 3c 2f 73 70 61 6e 3e 20 28 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 61 77 </span>.(<span.class="tok-kw">aw
b0220 61 69 74 3c 2f 73 70 61 6e 3e 20 64 6f 77 6e 6c 6f 61 64 5f 66 72 61 6d 65 29 20 7c 72 7c 20 61 ait</span>.download_frame).|r|.a
b0240 6c 6c 6f 63 61 74 6f 72 2e 66 72 65 65 28 72 29 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f llocator.free(r).<span.class="to
b0260 6b 2d 6b 77 22 3e 65 6c 73 65 3c 2f 73 70 61 6e 3e 20 7c 5f 7c 20 7b 7d 3c 2f 73 70 61 6e 3e 0a k-kw">else</span>.|_|.{}</span>.
b0280 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 7d 3b 3c 2f 73 70 61 6e 3e <span.class="line">....};</span>
b02a0 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 .<span.class="line"></span>.<spa
b02c0 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 n.class="line">....<span.class="
b02e0 74 6f 6b 2d 6b 77 22 3e 76 61 72 3c 2f 73 70 61 6e 3e 20 66 69 6c 65 5f 66 72 61 6d 65 20 3d 20 tok-kw">var</span>.file_frame.=.
b0300 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 61 73 79 6e 63 3c 2f 73 70 61 6e <span.class="tok-kw">async</span
b0320 3e 20 72 65 61 64 46 69 6c 65 28 61 6c 6c 6f 63 61 74 6f 72 2c 20 3c 73 70 61 6e 20 63 6c 61 73 >.readFile(allocator,.<span.clas
b0340 73 3d 22 74 6f 6b 2d 73 74 72 22 3e 26 71 75 6f 74 3b 73 6f 6d 65 74 68 69 6e 67 2e 74 78 74 26 s="tok-str">&quot;something.txt&
b0360 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 29 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 quot;</span>);</span>.<span.clas
b0380 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 s="line">....<span.class="tok-kw
b03a0 22 3e 76 61 72 3c 2f 73 70 61 6e 3e 20 61 77 61 69 74 65 64 5f 66 69 6c 65 5f 66 72 61 6d 65 20 ">var</span>.awaited_file_frame.
b03c0 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</
b03e0 73 70 61 6e 3e 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 span>;</span>.<span.class="line"
b0400 3e 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 65 72 72 64 65 66 >....<span.class="tok-kw">errdef
b0420 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 6b 77 22 3e 69 er</span>.<span.class="tok-kw">i
b0440 66 3c 2f 73 70 61 6e 3e 20 28 21 61 77 61 69 74 65 64 5f 66 69 6c 65 5f 66 72 61 6d 65 29 20 7b f</span>.(!awaited_file_frame).{
b0460 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 20 </span>.<span.class="line">.....
b0480 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
b04a0 3e 20 28 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 61 77 61 69 74 3c 2f 73 >.(<span.class="tok-kw">await</s
b04c0 70 61 6e 3e 20 66 69 6c 65 5f 66 72 61 6d 65 29 20 7c 72 7c 20 61 6c 6c 6f 63 61 74 6f 72 2e 66 pan>.file_frame).|r|.allocator.f
b04e0 72 65 65 28 72 29 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 65 6c 73 65 ree(r).<span.class="tok-kw">else
b0500 3c 2f 73 70 61 6e 3e 20 7c 5f 7c 20 7b 7d 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 </span>.|_|.{}</span>.<span.clas
b0520 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 7d 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 s="line">....};</span>.<span.cla
b0540 73 73 3d 22 6c 69 6e 65 22 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c ss="line"></span>.<span.class="l
b0560 69 6e 65 22 3e 20 20 20 20 61 77 61 69 74 65 64 5f 66 69 6c 65 5f 66 72 61 6d 65 20 3d 20 3c 73 ine">....awaited_file_frame.=.<s
b0580 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>
b05a0 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 ;</span>.<span.class="line">....
b05c0 3c 73 70 61 6e 20 63 6c 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
b05e0 3e 20 66 69 6c 65 5f 74 65 78 74 20 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b >.file_text.=.<span.class="tok-k
b0600 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
b0620 77 22 3e 61 77 61 69 74 3c 2f 73 70 61 6e 3e 20 66 69 6c 65 5f 66 72 61 6d 65 3b 3c 2f 73 70 61 w">await</span>.file_frame;</spa
b0640 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 3c 73 70 61 6e 20 n>.<span.class="line">....<span.
b0660 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 61 6c 6c 6f class="tok-kw">defer</span>.allo
b0680 63 61 74 6f 72 2e 66 72 65 65 28 66 69 6c 65 5f 74 65 78 74 29 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 cator.free(file_text);</span>.<s
b06a0 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 pan.class="line"></span>.<span.c
b06c0 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 61 77 61 69 74 65 64 5f 64 6f 77 6e 6c 6f 61 64 lass="line">....awaited_download
b06e0 5f 66 72 61 6d 65 20 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6c 6c 22 3e _frame.=.<span.class="tok-null">
b0700 74 72 75 65 3c 2f 73 70 61 6e 3e 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d true</span>;</span>.<span.class=
b0720 22 6c 69 6e 65 22 3e 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e "line">....<span.class="tok-kw">
b0740 63 6f 6e 73 74 3c 2f 73 70 61 6e 3e 20 64 6f 77 6e 6c 6f 61 64 5f 74 65 78 74 20 3d 20 3c 73 70 const</span>.download_text.=.<sp
b0760 61 6e 20 63 6c 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
b0780 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 61 77 61 69 74 3c 2f 73 70 61 6e 3e 20 64 an.class="tok-kw">await</span>.d
b07a0 6f 77 6e 6c 6f 61 64 5f 66 72 61 6d 65 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 ownload_frame;</span>.<span.clas
b07c0 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 s="line">....<span.class="tok-kw
b07e0 22 3e 64 65 66 65 72 3c 2f 73 70 61 6e 3e 20 61 6c 6c 6f 63 61 74 6f 72 2e 66 72 65 65 28 64 6f ">defer</span>.allocator.free(do
b0800 77 6e 6c 6f 61 64 5f 74 65 78 74 29 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 wnload_text);</span>.<span.class
b0820 3d 22 6c 69 6e 65 22 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e ="line"></span>.<span.class="lin
b0840 65 22 3e 20 20 20 20 73 74 64 2e 64 65 62 75 67 2e 70 72 69 6e 74 28 3c 73 70 61 6e 20 63 6c 61 e">....std.debug.print(<span.cla
b0860 73 73 3d 22 74 6f 6b 2d 73 74 72 22 3e 26 71 75 6f 74 3b 64 6f 77 6e 6c 6f 61 64 5f 74 65 78 74 ss="tok-str">&quot;download_text
b0880 3a 20 7b 73 7d 5c 6e 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 2c 20 2e 7b 64 6f 77 6e 6c 6f 61 64 :.{s}\n&quot;</span>,..{download
b08a0 5f 74 65 78 74 7d 29 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e _text});</span>.<span.class="lin
b08c0 65 22 3e 20 20 20 20 73 74 64 2e 64 65 62 75 67 2e 70 72 69 6e 74 28 3c 73 70 61 6e 20 63 6c 61 e">....std.debug.print(<span.cla
b08e0 73 73 3d 22 74 6f 6b 2d 73 74 72 22 3e 26 71 75 6f 74 3b 66 69 6c 65 5f 74 65 78 74 3a 20 7b 73 ss="tok-str">&quot;file_text:.{s
b0900 7d 5c 6e 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 2c 20 2e 7b 66 69 6c 65 5f 74 65 78 74 7d 29 3b }\n&quot;</span>,..{file_text});
b0920 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 7d 3c 2f 73 70 </span>.<span.class="line">}</sp
b0940 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 2f 73 70 61 6e 3e 0a 3c an>.<span.class="line"></span>.<
b0960 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 span.class="line"><span.class="t
b0980 6f 6b 2d 6b 77 22 3e 66 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
b09a0 6b 2d 66 6e 22 3e 66 65 74 63 68 55 72 6c 3c 2f 73 70 61 6e 3e 28 61 6c 6c 6f 63 61 74 6f 72 3a k-fn">fetchUrl</span>(allocator:
b09c0 20 41 6c 6c 6f 63 61 74 6f 72 2c 20 75 72 6c 3a 20 5b 5d 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 .Allocator,.url:.[]<span.class="
b09e0 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
b0a00 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 75 38 3c 2f 73 70 61 6e 3e 29 20 21 5b 5d 3c 73 70 61 6e 20 ="tok-type">u8</span>).![]<span.
b0a20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 75 38 3c 2f 73 70 61 6e 3e 20 7b 3c 2f 73 70 class="tok-type">u8</span>.{</sp
b0a40 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 5f 20 3d 20 75 an>.<span.class="line">...._.=.u
b0a60 72 6c 3b 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 63 6f 6d 6d 65 6e 74 22 3e 2f 2f rl;.<span.class="tok-comment">//
b0a80 20 74 68 69 73 20 69 73 20 6a 75 73 74 20 61 6e 20 65 78 61 6d 70 6c 65 2c 20 77 65 20 64 6f 6e .this.is.just.an.example,.we.don
b0aa0 27 74 20 61 63 74 75 61 6c 6c 79 20 64 6f 20 69 74 21 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 't.actually.do.it!</span></span>
b0ac0 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 3c 73 70 61 6e 20 63 6c .<span.class="line">....<span.cl
b0ae0 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 63 6f 6e 73 74 3c 2f 73 70 61 6e 3e 20 72 65 73 75 6c 74 ass="tok-kw">const</span>.result
b0b00 20 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 74 72 79 3c 2f 73 70 61 .=.<span.class="tok-kw">try</spa
b0b20 6e 3e 20 61 6c 6c 6f 63 61 74 6f 72 2e 64 75 70 65 28 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 n>.allocator.dupe(<span.class="t
b0b40 6f 6b 2d 74 79 70 65 22 3e 75 38 3c 2f 73 70 61 6e 3e 2c 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d ok-type">u8</span>,.<span.class=
b0b60 22 74 6f 6b 2d 73 74 72 22 3e 26 71 75 6f 74 3b 74 68 69 73 20 69 73 20 74 68 65 20 64 6f 77 6e "tok-str">&quot;this.is.the.down
b0b80 6c 6f 61 64 65 64 20 75 72 6c 20 63 6f 6e 74 65 6e 74 73 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e loaded.url.contents&quot;</span>
b0ba0 29 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 );</span>.<span.class="line">...
b0bc0 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 65 72 72 64 65 66 65 72 3c 2f .<span.class="tok-kw">errdefer</
b0be0 73 70 61 6e 3e 20 61 6c 6c 6f 63 61 74 6f 72 2e 66 72 65 65 28 72 65 73 75 6c 74 29 3b 3c 2f 73 span>.allocator.free(result);</s
b0c00 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 73 74 64 2e pan>.<span.class="line">....std.
b0c20 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
b0c40 22 3e 26 71 75 6f 74 3b 66 65 74 63 68 55 72 6c 20 72 65 74 75 72 6e 69 6e 67 5c 6e 26 71 75 6f ">&quot;fetchUrl.returning\n&quo
b0c60 74 3b 3c 2f 73 70 61 6e 3e 2c 20 2e 7b 7d 29 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c t;</span>,..{});</span>.<span.cl
b0c80 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d ass="line">....<span.class="tok-
b0ca0 6b 77 22 3e 72 65 74 75 72 6e 3c 2f 73 70 61 6e 3e 20 72 65 73 75 6c 74 3b 3c 2f 73 70 61 6e 3e kw">return</span>.result;</span>
b0cc0 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 7d 3c 2f 73 70 61 6e 3e 0a 3c 73 70 .<span.class="line">}</span>.<sp
b0ce0 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c an.class="line"></span>.<span.cl
b0d00 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e ass="line"><span.class="tok-kw">
b0d20 66 6e 3c 2f 73 70 61 6e 3e 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 66 6e 22 3e 72 fn</span>.<span.class="tok-fn">r
b0d40 65 61 64 46 69 6c 65 3c 2f 73 70 61 6e 3e 28 61 6c 6c 6f 63 61 74 6f 72 3a 20 41 6c 6c 6f 63 61 eadFile</span>(allocator:.Alloca
b0d60 74 6f 72 2c 20 66 69 6c 65 6e 61 6d 65 3a 20 5b 5d 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f tor,.filename:.[]<span.class="to
b0d80 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="
b0da0 74 6f 6b 2d 74 79 70 65 22 3e 75 38 3c 2f 73 70 61 6e 3e 29 20 21 5b 5d 3c 73 70 61 6e 20 63 6c tok-type">u8</span>).![]<span.cl
b0dc0 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 75 38 3c 2f 73 70 61 6e 3e 20 7b 3c 2f 73 70 61 6e ass="tok-type">u8</span>.{</span
b0de0 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 5f 20 3d 20 66 69 6c >.<span.class="line">...._.=.fil
b0e00 65 6e 61 6d 65 3b 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 63 6f 6d 6d 65 6e 74 22 ename;.<span.class="tok-comment"
b0e20 3e 2f 2f 20 74 68 69 73 20 69 73 20 6a 75 73 74 20 61 6e 20 65 78 61 6d 70 6c 65 2c 20 77 65 20 >//.this.is.just.an.example,.we.
b0e40 64 6f 6e 27 74 20 61 63 74 75 61 6c 6c 79 20 64 6f 20 69 74 21 3c 2f 73 70 61 6e 3e 3c 2f 73 70 don't.actually.do.it!</span></sp
b0e60 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 3c 73 70 61 6e an>.<span.class="line">....<span
b0e80 20 63 6c 61 73 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
b0ea0 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 2f ult.=.<span.class="tok-kw">try</
b0ec0 73 70 61 6e 3e 20 61 6c 6c 6f 63 61 74 6f 72 2e 64 75 70 65 28 3c 73 70 61 6e 20 63 6c 61 73 73 span>.allocator.dupe(<span.class
b0ee0 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 61 ="tok-type">u8</span>,.<span.cla
b0f00 73 73 3d 22 74 6f 6b 2d 73 74 72 22 3e 26 71 75 6f 74 3b 74 68 69 73 20 69 73 20 74 68 65 20 66 ss="tok-str">&quot;this.is.the.f
b0f20 69 6c 65 20 63 6f 6e 74 65 6e 74 73 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 29 3b 3c 2f 73 70 61 ile.contents&quot;</span>);</spa
b0f40 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 3c 73 70 61 6e 20 n>.<span.class="line">....<span.
b0f60 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 65 72 72 64 65 66 65 72 3c 2f 73 70 61 6e 3e 20 61 class="tok-kw">errdefer</span>.a
b0f80 6c 6c 6f 63 61 74 6f 72 2e 66 72 65 65 28 72 65 73 75 6c 74 29 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 llocator.free(result);</span>.<s
b0fa0 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 73 74 64 2e 64 65 62 75 67 2e 70 pan.class="line">....std.debug.p
b0fc0 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
b0fe0 3b 72 65 61 64 46 69 6c 65 20 72 65 74 75 72 6e 69 6e 67 5c 6e 26 71 75 6f 74 3b 3c 2f 73 70 61 ;readFile.returning\n&quot;</spa
b1000 6e 3e 2c 20 2e 7b 7d 29 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 n>,..{});</span>.<span.class="li
b1020 6e 65 22 3e 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 72 65 74 ne">....<span.class="tok-kw">ret
b1040 75 72 6e 3c 2f 73 70 61 6e 3e 20 72 65 73 75 6c 74 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 urn</span>.result;</span>.<span.
b1060 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 7d 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 3c 2f 70 72 class="line">}</span></code></pr
b1080 65 3e 3c 2f 66 69 67 75 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
b10a0 6c 61 73 73 3d 22 73 68 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
b10c0 6f 6e 3e 3c 70 72 65 3e 3c 73 61 6d 70 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 on><pre><samp><span.class="line"
b10e0 3e 24 20 3c 6b 62 64 3e 7a 69 67 20 62 75 69 6c 64 2d 65 78 65 20 62 6c 6f 63 6b 69 6e 67 2e 7a >$.<kbd>zig.build-exe.blocking.z
b1100 69 67 20 2d 66 73 74 61 67 65 31 3c 2f 6b 62 64 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 ig.-fstage1</kbd></span>.<span.c
b1120 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d lass="line"></span>.<span.class=
b1140 22 6c 69 6e 65 22 3e 24 20 3c 6b 62 64 3e 2e 2f 62 6c 6f 63 6b 69 6e 67 3c 2f 6b 62 64 3e 3c 2f "line">$.<kbd>./blocking</kbd></
b1160 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 66 65 74 63 68 55 72 span>.<span.class="line">fetchUr
b1180 6c 20 72 65 74 75 72 6e 69 6e 67 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 l.returning</span>.<span.class="
b11a0 6c 69 6e 65 22 3e 72 65 61 64 46 69 6c 65 20 72 65 74 75 72 6e 69 6e 67 3c 2f 73 70 61 6e 3e 0a line">readFile.returning</span>.
b11c0 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 64 6f 77 6e 6c 6f 61 64 5f 74 65 78 74 <span.class="line">download_text
b11e0 3a 20 74 68 69 73 20 69 73 20 74 68 65 20 64 6f 77 6e 6c 6f 61 64 65 64 20 75 72 6c 20 63 6f 6e :.this.is.the.downloaded.url.con
b1200 74 65 6e 74 73 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e tents</span>.<span.class="line">
b1220 66 69 6c 65 5f 74 65 78 74 3a 20 74 68 69 73 20 69 73 20 74 68 65 20 66 69 6c 65 20 63 6f 6e 74 file_text:.this.is.the.file.cont
b1240 65 6e 74 73 3c 2f 73 70 61 6e 3e 0a 3c 2f 73 61 6d 70 3e 3c 2f 70 72 65 3e 3c 2f 66 69 67 75 72 ents</span>.</samp></pre></figur
b1260 65 3e 0a 20 20 20 20 20 20 3c 70 3e 0a 20 20 20 20 20 20 50 72 65 76 69 6f 75 73 6c 79 2c 20 74 e>.......<p>.......Previously,.t
b1280 68 65 20 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 66 65 74 63 he.<code><span.class="line">fetc
b12a0 68 55 72 6c 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 20 61 6e 64 20 3c 63 6f 64 65 3e 3c 73 70 hUrl</span></code>.and.<code><sp
b12c0 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 72 65 61 64 46 69 6c 65 3c 2f 73 70 61 6e 3e 3c an.class="line">readFile</span><
b12e0 2f 63 6f 64 65 3e 20 66 75 6e 63 74 69 6f 6e 73 20 73 75 73 70 65 6e 64 65 64 2c 0a 20 20 20 20 /code>.functions.suspended,.....
b1300 20 20 61 6e 64 20 77 65 72 65 20 72 65 73 75 6d 65 64 20 69 6e 20 61 6e 20 6f 72 64 65 72 20 64 ..and.were.resumed.in.an.order.d
b1320 65 74 65 72 6d 69 6e 65 64 20 62 79 20 74 68 65 20 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 etermined.by.the.<code><span.cla
b1340 73 73 3d 22 6c 69 6e 65 22 3e 6d 61 69 6e 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 20 66 75 6e ss="line">main</span></code>.fun
b1360 63 74 69 6f 6e 2e 20 4e 6f 77 2c 0a 20 20 20 20 20 20 73 69 6e 63 65 20 74 68 65 72 65 20 61 72 ction..Now,.......since.there.ar
b1380 65 20 6e 6f 20 73 75 73 70 65 6e 64 20 70 6f 69 6e 74 73 2c 20 74 68 65 20 6f 72 64 65 72 20 6f e.no.suspend.points,.the.order.o
b13a0 66 20 74 68 65 20 70 72 69 6e 74 65 64 20 22 2e 2e 2e 20 72 65 74 75 72 6e 69 6e 67 22 20 6d 65 f.the.printed."....returning".me
b13c0 73 73 61 67 65 73 0a 20 20 20 20 20 20 69 73 20 64 65 74 65 72 6d 69 6e 65 64 20 62 79 20 74 68 ssages.......is.determined.by.th
b13e0 65 20 6f 72 64 65 72 20 6f 66 20 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 e.order.of.<code><span.class="li
b1400 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 61 73 79 6e 63 3c 2f ne"><span.class="tok-kw">async</
b1420 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 20 63 61 6c 6c 73 69 74 65 73 2e 0a 20 span></span></code>.callsites...
b1440 20 20 20 20 20 3c 2f 70 3e 0a 20 20 20 20 20 20 0a 0a 20 20 20 20 20 20 0a 20 20 20 20 20 20 20 .....</p>.......................
b1460 20 3c 68 32 20 69 64 3d 22 42 75 69 6c 74 69 6e 2d 46 75 6e 63 74 69 6f 6e 73 22 3e 3c 61 20 68 .<h2.id="Builtin-Functions"><a.h
b1480 72 65 66 3d 22 23 74 6f 63 2d 42 75 69 6c 74 69 6e 2d 46 75 6e 63 74 69 6f 6e 73 22 3e 42 75 69 ref="#toc-Builtin-Functions">Bui
b14a0 6c 74 69 6e 20 46 75 6e 63 74 69 6f 6e 73 3c 2f 61 3e 20 3c 61 20 63 6c 61 73 73 3d 22 68 64 72 ltin.Functions</a>.<a.class="hdr
b14c0 22 20 68 72 65 66 3d 22 23 42 75 69 6c 74 69 6e 2d 46 75 6e 63 74 69 6f 6e 73 22 3e c2 a7 3c 2f ".href="#Builtin-Functions">..</
b14e0 61 3e 3c 2f 68 32 3e 0a 0a 20 20 20 20 20 20 3c 70 3e 0a 20 20 20 20 20 20 42 75 69 6c 74 69 6e a></h2>........<p>.......Builtin
b1500 20 66 75 6e 63 74 69 6f 6e 73 20 61 72 65 20 70 72 6f 76 69 64 65 64 20 62 79 20 74 68 65 20 63 .functions.are.provided.by.the.c
b1520 6f 6d 70 69 6c 65 72 20 61 6e 64 20 61 72 65 20 70 72 65 66 69 78 65 64 20 77 69 74 68 20 3c 63 ompiler.and.are.prefixed.with.<c
b1540 6f 64 65 3e 40 3c 2f 63 6f 64 65 3e 2e 0a 20 20 20 20 20 20 54 68 65 20 3c 63 6f 64 65 3e 3c 73 ode>@</code>........The.<code><s
b1560 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f pan.class="line"><span.class="to
b1580 6b 2d 6b 77 22 3e 63 6f 6d 70 74 69 6d 65 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 3c 2f 63 6f k-kw">comptime</span></span></co
b15a0 64 65 3e 20 6b 65 79 77 6f 72 64 20 6f 6e 20 61 20 70 61 72 61 6d 65 74 65 72 20 6d 65 61 6e 73 de>.keyword.on.a.parameter.means
b15c0 20 74 68 61 74 20 74 68 65 20 70 61 72 61 6d 65 74 65 72 20 6d 75 73 74 20 62 65 20 6b 6e 6f 77 .that.the.parameter.must.be.know
b15e0 6e 0a 20 20 20 20 20 20 61 74 20 63 6f 6d 70 69 6c 65 20 74 69 6d 65 2e 0a 20 20 20 20 20 20 3c n.......at.compile.time........<
b1600 2f 70 3e 0a 20 20 20 20 20 20 3c 68 33 20 69 64 3d 22 61 64 64 72 53 70 61 63 65 43 61 73 74 22 /p>.......<h3.id="addrSpaceCast"
b1620 3e 3c 61 20 68 72 65 66 3d 22 23 74 6f 63 2d 61 64 64 72 53 70 61 63 65 43 61 73 74 22 3e 40 61 ><a.href="#toc-addrSpaceCast">@a
b1640 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 20 ddrSpaceCast</a>.<a.class="hdr".
b1660 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 33 href="#addrSpaceCast">..</a></h3
b1680 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=
b16a0 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 62 75 69 6c 74 69 6e 22 "line"><span.class="tok-builtin"
b16c0 3e 40 61 64 64 72 53 70 61 63 65 43 61 73 74 3c 2f 73 70 61 6e 3e 28 3c 73 70 61 6e 20 63 6c 61 >@addrSpaceCast</span>(<span.cla
b16e0 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 63 6f 6d 70 74 69 6d 65 3c 2f 73 70 61 6e 3e 20 3c 73 70 61 ss="tok-kw">comptime</span>.<spa
b1700 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 61 64 64 72 73 70 61 63 65 3c 2f 73 70 61 6e n.class="tok-kw">addrspace</span
b1720 3e 3a 20 73 74 64 2e 62 75 69 6c 74 69 6e 2e 41 64 64 72 65 73 73 53 70 61 63 65 2c 20 70 74 72 >:.std.builtin.AddressSpace,.ptr
b1740 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</
b1760 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
b1780 79 70 65 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 3c 2f 70 72 65 3e 0a 20 ype</span></span></code></pre>..
b17a0 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 65 .....<p>.......Converts.a.pointe
b17c0 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 74 r.from.one.address.space.to.anot
b17e0 68 65 72 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 her..Depending.on.the.current.ta
b1800 72 67 65 74 20 61 6e 64 0a 20 20 20 20 20 20 61 64 64 72 65 73 73 20 73 70 61 63 65 73 2c 20 74 rget.and.......address.spaces,.t
b1820 68 69 73 20 63 61 73 74 20 6d 61 79 20 62 65 20 61 20 6e 6f 2d 6f 70 2c 20 61 20 63 6f 6d 70 6c his.cast.may.be.a.no-op,.a.compl
b1840 65 78 20 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 ex.operation,.or.illegal..If.the
b1860 20 63 61 73 74 20 69 73 0a 20 20 20 20 20 20 6c 65 67 61 6c 2c 20 74 68 65 6e 20 74 68 65 20 72 .cast.is.......legal,.then.the.r
b1880 65 73 75 6c 74 69 6e 67 20 70 6f 69 6e 74 65 72 20 70 6f 69 6e 74 73 20 74 6f 20 74 68 65 20 73 esulting.pointer.points.to.the.s
b18a0 61 6d 65 20 6d 65 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 ame.memory.location.as.the.point
b18c0 65 72 20 6f 70 65 72 61 6e 64 2e 0a 20 20 20 20 20 20 49 74 20 69 73 20 61 6c 77 61 79 73 20 76 er.operand........It.is.always.v
b18e0 61 6c 69 64 20 74 6f 20 63 61 73 74 20 61 20 70 6f 69 6e 74 65 72 20 62 65 74 77 65 65 6e 20 74 alid.to.cast.a.pointer.between.t
b1900 68 65 20 73 61 6d 65 20 61 64 64 72 65 73 73 20 73 70 61 63 65 73 2e 0a 20 20 20 20 20 20 3c 2f he.same.address.spaces........</
b1920 70 3e 0a 20 20 20 20 20 20 0a 20 20 20 20 20 20 3c 68 33 20 69 64 3d 22 61 64 64 57 69 74 68 4f p>..............<h3.id="addWithO
b1940 76 65 72 66 6c 6f 77 22 3e 3c 61 20 68 72 65 66 3d 22 23 74 6f 63 2d 61 64 64 57 69 74 68 4f 76 verflow"><a.href="#toc-addWithOv
b1960 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.
b1980 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
b19a0 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
b19c0 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 e><span.class="line"><span.class
b19e0 3d 22 74 6f 6b 2d 62 75 69 6c 74 69 6e 22 3e 40 61 64 64 57 69 74 68 4f 76 65 72 66 6c 6f 77 3c ="tok-builtin">@addWithOverflow<
b1a00 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
b1a20 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-
b1a40 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 2c 20 72 type">type</span>,.a:.T,.b:.T,.r
b1a60 65 73 75 6c 74 3a 20 2a 54 29 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 esult:.*T).<span.class="tok-type
b1a80 22 3e 62 6f 6f 6c 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 3c 2f 70 72 65 ">bool</span></span></code></pre
b1aa0 3e 0a 20 20 20 20 20 20 3c 70 3e 0a 20 20 20 20 20 20 50 65 72 66 6f 72 6d 73 20 3c 63 6f 64 65 >.......<p>.......Performs.<code
b1ac0 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 72 65 73 75 6c 74 2e 2a 20 3d 20 61 ><span.class="line">result.*.=.a
b1ae0 20 2b 20 62 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 2e 20 49 66 20 6f 76 65 72 66 6c 6f 77 20 .+.b</span></code>..If.overflow.
b1b00 6f 72 20 75 6e 64 65 72 66 6c 6f 77 20 6f 63 63 75 72 73 2c 0a 20 20 20 20 20 20 20 20 20 20 73 or.underflow.occurs,...........s
b1b20 74 6f 72 65 73 20 74 68 65 20 6f 76 65 72 66 6c 6f 77 65 64 20 62 69 74 73 20 69 6e 20 3c 63 6f tores.the.overflowed.bits.in.<co
b1b40 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 72 65 73 75 6c 74 3c 2f 73 70 de><span.class="line">result</sp
b1b60 61 6e 3e 3c 2f 63 6f 64 65 3e 20 61 6e 64 20 72 65 74 75 72 6e 73 20 3c 63 6f 64 65 3e 3c 73 70 an></code>.and.returns.<code><sp
b1b80 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b an.class="line"><span.class="tok
b1ba0 2d 6e 75 6c 6c 22 3e 74 72 75 65 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e -null">true</span></span></code>
b1bc0 2e 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 49 66 20 6e 6f 20 6f 76 65 72 66 6c ....................If.no.overfl
b1be0 6f 77 20 6f 72 20 75 6e 64 65 72 66 6c 6f 77 20 6f 63 63 75 72 73 2c 20 72 65 74 75 72 6e 73 20 ow.or.underflow.occurs,.returns.
b1c00 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 <code><span.class="line"><span.c
b1c20 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6c 6c 22 3e 66 61 6c 73 65 3c 2f 73 70 61 6e 3e 3c 2f 73 70 lass="tok-null">false</span></sp
b1c40 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 20 20 an></code>........</p>..........
b1c60 20 20 20 20 3c 68 33 20 69 64 3d 22 61 6c 69 67 6e 43 61 73 74 22 3e 3c 61 20 68 72 65 66 3d 22 ....<h3.id="alignCast"><a.href="
b1c80 23 74 6f 63 2d 61 6c 69 67 6e 43 61 73 74 22 3e 40 61 6c 69 67 6e 43 61 73 74 3c 2f 61 3e 20 3c #toc-alignCast">@alignCast</a>.<
b1ca0 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 43 61 73 74 22 3e a.class="hdr".href="#alignCast">
b1cc0 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
b1ce0 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f pan.class="line"><span.class="to
b1d00 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 3c 73 70 k-builtin">@alignCast</span>(<sp
b1d20 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
b1d40 3e 20 61 6c 69 67 6e 6d 65 6e 74 3a 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 >.alignment:.<span.class="tok-ty
b1d60 70 65 22 3e 75 32 39 3c 2f 73 70 61 6e 3e 2c 20 70 74 72 3a 20 3c 73 70 61 6e 20 63 6c 61 73 73 pe">u29</span>,.ptr:.<span.class
b1d80 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.
b1da0 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 73 class="tok-kw">anytype</span></s
b1dc0 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>.....
b1de0 20 20 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 70 74 72 3c 2f ..<code><span.class="line">ptr</
b1e00 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 20 63 61 6e 20 62 65 20 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 span></code>.can.be.<code><span.
b1e20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 2a 54 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 2c 20 3c class="line">*T</span></code>,.<
b1e40 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3f 2a 54 3c 2f 73 70 61 code><span.class="line">?*T</spa
b1e60 6e 3e 3c 2f 63 6f 64 65 3e 2c 20 6f 72 20 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d n></code>,.or.<code><span.class=
b1e80 22 6c 69 6e 65 22 3e 5b 5d 54 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 2e 0a 20 20 20 20 20 20 "line">[]T</span></code>........
b1ea0 49 74 20 72 65 74 75 72 6e 73 20 74 68 65 20 73 61 6d 65 20 74 79 70 65 20 61 73 20 3c 63 6f 64 It.returns.the.same.type.as.<cod
b1ec0 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 70 74 72 3c 2f 73 70 61 6e 3e 3c e><span.class="line">ptr</span><
b1ee0 2f 63 6f 64 65 3e 20 65 78 63 65 70 74 20 77 69 74 68 20 74 68 65 20 61 6c 69 67 6e 6d 65 6e 74 /code>.except.with.the.alignment
b1f00 20 61 64 6a 75 73 74 65 64 20 74 6f 20 74 68 65 20 6e 65 77 20 76 61 6c 75 65 2e 0a 20 20 20 20 .adjusted.to.the.new.value......
b1f20 20 20 3c 2f 70 3e 0a 20 20 20 20 20 20 3c 70 3e 41 20 3c 61 20 68 72 65 66 3d 22 23 49 6e 63 6f ..</p>.......<p>A.<a.href="#Inco
b1f40 72 72 65 63 74 2d 50 6f 69 6e 74 65 72 2d 41 6c 69 67 6e 6d 65 6e 74 22 3e 70 6f 69 6e 74 65 72 rrect-Pointer-Alignment">pointer
b1f60 20 61 6c 69 67 6e 6d 65 6e 74 20 73 61 66 65 74 79 20 63 68 65 63 6b 3c 2f 61 3e 20 69 73 20 61 .alignment.safety.check</a>.is.a
b1f80 64 64 65 64 0a 20 20 20 20 20 20 74 6f 20 74 68 65 20 67 65 6e 65 72 61 74 65 64 20 63 6f 64 65 dded.......to.the.generated.code
b1fa0 20 74 6f 20 6d 61 6b 65 20 73 75 72 65 20 74 68 65 20 70 6f 69 6e 74 65 72 20 69 73 20 61 6c 69 .to.make.sure.the.pointer.is.ali
b1fc0 67 6e 65 64 20 61 73 20 70 72 6f 6d 69 73 65 64 2e 3c 2f 70 3e 0a 0a 20 20 20 20 20 20 0a 20 20 gned.as.promised.</p>...........
b1fe0 20 20 20 20 3c 68 33 20 69 64 3d 22 61 6c 69 67 6e 4f 66 22 3e 3c 61 20 68 72 65 66 3d 22 23 74 ....<h3.id="alignOf"><a.href="#t
b2000 6f 63 2d 61 6c 69 67 6e 4f 66 22 3e 40 61 6c 69 67 6e 4f 66 3c 2f 61 3e 20 3c 61 20 63 6c 61 73 oc-alignOf">@alignOf</a>.<a.clas
b2020 73 3d 22 68 64 72 22 20 68 72 65 66 3d 22 23 61 6c 69 67 6e 4f 66 22 3e c2 a7 3c 2f 61 3e 3c 2f s="hdr".href="#alignOf">..</a></
b2040 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
b2060 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 62 75 69 6c 74 69 s="line"><span.class="tok-builti
b2080 6e 22 3e 40 61 6c 69 67 6e 4f 66 3c 2f 73 70 61 6e 3e 28 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 n">@alignOf</span>(<span.class="
b20a0 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
b20c0 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 74 79 70 65 3c 2f 73 70 61 6e 3e 29 20 3c .class="tok-type">type</span>).<
b20e0 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 63 6f 6d 70 74 69 6d 65 5f 69 span.class="tok-type">comptime_i
b2100 6e 74 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 3c 2f 70 72 65 3e 0a 20 20 nt</span></span></code></pre>...
b2120 20 20 20 20 3c 70 3e 0a 20 20 20 20 20 20 54 68 69 73 20 66 75 6e 63 74 69 6f 6e 20 72 65 74 75 ....<p>.......This.function.retu
b2140 72 6e 73 20 74 68 65 20 6e 75 6d 62 65 72 20 6f 66 20 62 79 74 65 73 20 74 68 61 74 20 74 68 69 rns.the.number.of.bytes.that.thi
b2160 73 20 74 79 70 65 20 73 68 6f 75 6c 64 20 62 65 20 61 6c 69 67 6e 65 64 20 74 6f 0a 20 20 20 20 s.type.should.be.aligned.to.....
b2180 20 20 66 6f 72 20 74 68 65 20 63 75 72 72 65 6e 74 20 74 61 72 67 65 74 20 74 6f 20 6d 61 74 63 ..for.the.current.target.to.matc
b21a0 68 20 74 68 65 20 43 20 41 42 49 2e 20 57 68 65 6e 20 74 68 65 20 63 68 69 6c 64 20 74 79 70 65 h.the.C.ABI..When.the.child.type
b21c0 20 6f 66 20 61 20 70 6f 69 6e 74 65 72 20 68 61 73 0a 20 20 20 20 20 20 74 68 69 73 20 61 6c 69 .of.a.pointer.has.......this.ali
b21e0 67 6e 6d 65 6e 74 2c 20 74 68 65 20 61 6c 69 67 6e 6d 65 6e 74 20 63 61 6e 20 62 65 20 6f 6d 69 gnment,.the.alignment.can.be.omi
b2200 74 74 65 64 20 66 72 6f 6d 20 74 68 65 20 74 79 70 65 2e 0a 20 20 20 20 20 20 3c 2f 70 3e 0a 20 tted.from.the.type........</p>..
b2220 20 20 20 20 20 3c 70 72 65 3e 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e .....<pre><code><span.class="lin
b2240 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 63 6f 6e 73 74 3c 2f 73 e"><span.class="tok-kw">const</s
b2260 70 61 6e 3e 20 61 73 73 65 72 74 20 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 62 pan>.assert.=.<span.class="tok-b
b2280 75 69 6c 74 69 6e 22 3e 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
b22a0 73 73 3d 22 74 6f 6b 2d 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
b22c0 61 6e 3e 29 2e 64 65 62 75 67 2e 61 73 73 65 72 74 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 an>).debug.assert;</span>.<span.
b22e0 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 class="line"><span.class="tok-kw
b2300 22 3e 63 6f 6d 70 74 69 6d 65 3c 2f 73 70 61 6e 3e 20 7b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e ">comptime</span>.{</span>.<span
b2320 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 61 73 73 65 72 74 28 2a 3c 73 70 61 6e 20 .class="line">....assert(*<span.
b2340 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 75 33 32 3c 2f 73 70 61 6e 3e 20 3d 3d 20 2a class="tok-type">u32</span>.==.*
b2360 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
b2380 3e 28 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 62 75 69 6c 74 69 6e 22 3e 40 61 6c 69 >(<span.class="tok-builtin">@ali
b23a0 67 6e 4f 66 3c 2f 73 70 61 6e 3e 28 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 gnOf</span>(<span.class="tok-typ
b23c0 65 22 3e 75 33 32 3c 2f 73 70 61 6e 3e 29 29 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b e">u32</span>)).<span.class="tok
b23e0 2d 74 79 70 65 22 3e 75 33 32 3c 2f 73 70 61 6e 3e 29 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e -type">u32</span>);</span>.<span
b2400 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 7d 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 3c 2f 70 .class="line">}</span></code></p
b2420 72 65 3e 0a 20 20 20 20 20 20 3c 70 3e 0a 20 20 20 20 20 20 54 68 65 20 72 65 73 75 6c 74 20 69 re>.......<p>.......The.result.i
b2440 73 20 61 20 74 61 72 67 65 74 2d 73 70 65 63 69 66 69 63 20 63 6f 6d 70 69 6c 65 20 74 69 6d 65 s.a.target-specific.compile.time
b2460 20 63 6f 6e 73 74 61 6e 74 2e 20 49 74 20 69 73 20 67 75 61 72 61 6e 74 65 65 64 20 74 6f 20 62 .constant..It.is.guaranteed.to.b
b2480 65 0a 20 20 20 20 20 20 6c 65 73 73 20 74 68 61 6e 20 6f 72 20 65 71 75 61 6c 20 74 6f 20 3c 61 e.......less.than.or.equal.to.<a
b24a0 20 68 72 65 66 3d 22 23 73 69 7a 65 4f 66 22 3e 40 73 69 7a 65 4f 66 28 54 29 3c 2f 61 3e 2e 0a .href="#sizeOf">@sizeOf(T)</a>..
b24c0 20 20 20 20 20 20 3c 2f 70 3e 0a 20 20 20 20 20 20 3c 70 3e 53 65 65 20 61 6c 73 6f 3a 3c 2f 70 ......</p>.......<p>See.also:</p
b24e0 3e 3c 75 6c 3e 0a 3c 6c 69 3e 3c 61 20 68 72 65 66 3d 22 23 41 6c 69 67 6e 6d 65 6e 74 22 3e 41 ><ul>.<li><a.href="#Alignment">A
b2500 6c 69 67 6e 6d 65 6e 74 3c 2f 61 3e 3c 2f 6c 69 3e 0a 3c 2f 75 6c 3e 0a 0a 20 20 20 20 20 20 0a lignment</a></li>.</ul>.........
b2520 0a 20 20 20 20 20 20 3c 68 33 20 69 64 3d 22 61 73 22 3e 3c 61 20 68 72 65 66 3d 22 23 74 6f 63 .......<h3.id="as"><a.href="#toc
b2540 2d 61 73 22 3e 40 61 73 3c 2f 61 3e 20 3c 61 20 63 6c 61 73 73 3d 22 68 64 72 22 20 68 72 65 66 -as">@as</a>.<a.class="hdr".href
b2560 3d 22 23 61 73 22 3e c2 a7 3c 2f 61 3e 3c 2f 68 33 3e 0a 0a 20 20 20 20 20 20 3c 70 72 65 3e 3c ="#as">..</a></h3>........<pre><
b2580 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c code><span.class="line"><span.cl
b25a0 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
b25c0 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
b25e0 3e 20 54 3a 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 74 79 70 65 >.T:.<span.class="tok-type">type
b2600 3c 2f 73 70 61 6e 3e 2c 20 65 78 70 72 65 73 73 69 6f 6e 29 20 54 3c 2f 73 70 61 6e 3e 3c 2f 63 </span>,.expression).T</span></c
b2620 6f 64 65 3e 3c 2f 70 72 65 3e 0a 20 20 20 20 20 20 3c 70 3e 0a 20 20 20 20 20 20 50 65 72 66 6f ode></pre>.......<p>.......Perfo
b2640 72 6d 73 20 3c 61 20 68 72 65 66 3d 22 23 54 79 70 65 2d 43 6f 65 72 63 69 6f 6e 22 3e 54 79 70 rms.<a.href="#Type-Coercion">Typ
b2660 65 20 43 6f 65 72 63 69 6f 6e 3c 2f 61 3e 2e 20 54 68 69 73 20 63 61 73 74 20 69 73 20 61 6c 6c e.Coercion</a>..This.cast.is.all
b2680 6f 77 65 64 20 77 68 65 6e 20 74 68 65 20 63 6f 6e 76 65 72 73 69 6f 6e 20 69 73 20 75 6e 61 6d owed.when.the.conversion.is.unam
b26a0 62 69 67 75 6f 75 73 20 61 6e 64 20 73 61 66 65 2c 0a 20 20 20 20 20 20 61 6e 64 20 69 73 20 74 biguous.and.safe,.......and.is.t
b26c0 68 65 20 70 72 65 66 65 72 72 65 64 20 77 61 79 20 74 6f 20 63 6f 6e 76 65 72 74 20 62 65 74 77 he.preferred.way.to.convert.betw
b26e0 65 65 6e 20 74 79 70 65 73 2c 20 77 68 65 6e 65 76 65 72 20 70 6f 73 73 69 62 6c 65 2e 0a 20 20 een.types,.whenever.possible....
b2700 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 61 ....</p>...............<h3.id="a
b2720 73 79 6e 63 43 61 6c 6c 22 3e 3c 61 20 68 72 65 66 3d 22 23 74 6f 63 2d 61 73 79 6e 63 43 61 6c syncCall"><a.href="#toc-asyncCal
b2740 6c 22 3e 40 61 73 79 6e 63 43 61 6c 6c 3c 2f 61 3e 20 3c 61 20 63 6c 61 73 73 3d 22 68 64 72 22 l">@asyncCall</a>.<a.class="hdr"
b2760 20 68 72 65 66 3d 22 23 61 73 79 6e 63 43 61 6c 6c 22 3e c2 a7 3c 2f 61 3e 3c 2f 68 33 3e 0a 0a .href="#asyncCall">..</a></h3>..
b2780 20 20 20 20 20 20 3c 70 72 65 3e 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 ......<pre><code><span.class="li
b27a0 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 62 75 69 6c 74 69 6e 22 3e 40 61 ne"><span.class="tok-builtin">@a
b27c0 73 79 6e 63 43 61 6c 6c 3c 2f 73 70 61 6e 3e 28 66 72 61 6d 65 5f 62 75 66 66 65 72 3a 20 5b 5d syncCall</span>(frame_buffer:.[]
b27e0 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
b2800 3e 28 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 62 75 69 6c 74 69 6e 22 3e 40 61 6c 69 >(<span.class="tok-builtin">@ali
b2820 67 6e 4f 66 3c 2f 73 70 61 6e 3e 28 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 62 75 69 gnOf</span>(<span.class="tok-bui
b2840 6c 74 69 6e 22 3e 40 46 72 61 6d 65 3c 2f 73 70 61 6e 3e 28 61 6e 79 41 73 79 6e 63 46 75 6e 63 ltin">@Frame</span>(anyAsyncFunc
b2860 74 69 6f 6e 29 29 29 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 75 tion))).<span.class="tok-type">u
b2880 38 3c 2f 73 70 61 6e 3e 2c 20 72 65 73 75 6c 74 5f 70 74 72 2c 20 66 75 6e 63 74 69 6f 6e 5f 70 8</span>,.result_ptr,.function_p
b28a0 74 72 2c 20 61 72 67 73 3a 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 61 tr,.args:.<span.class="tok-kw">a
b28c0 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-
b28e0 6b 77 22 3e 61 6e 79 66 72 61 6d 65 3c 2f 73 70 61 6e 3e 2d 26 67 74 3b 54 3c 2f 73 70 61 6e 3e kw">anyframe</span>-&gt;T</span>
b2900 3c 2f 63 6f 64 65 3e 3c 2f 70 72 65 3e 0a 20 20 20 20 20 20 3c 70 3e 0a 20 20 20 20 20 20 3c 63 </code></pre>.......<p>.......<c
b2920 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 ode><span.class="line"><span.cla
b2940 73 73 3d 22 74 6f 6b 2d 62 75 69 6c 74 69 6e 22 3e 40 61 73 79 6e 63 43 61 6c 6c 3c 2f 73 70 61 ss="tok-builtin">@asyncCall</spa
b2960 6e 3e 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 20 70 65 72 66 6f 72 6d 73 20 61 6e 20 3c 63 6f n></span></code>.performs.an.<co
b2980 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 de><span.class="line"><span.clas
b29a0 73 3d 22 74 6f 6b 2d 6b 77 22 3e 61 73 79 6e 63 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 3c 2f s="tok-kw">async</span></span></
b29c0 63 6f 64 65 3e 20 63 61 6c 6c 20 6f 6e 20 61 20 66 75 6e 63 74 69 6f 6e 20 70 6f 69 6e 74 65 72 code>.call.on.a.function.pointer
b29e0 2c 0a 20 20 20 20 20 20 77 68 69 63 68 20 6d 61 79 20 6f 72 20 6d 61 79 20 6e 6f 74 20 62 65 20 ,.......which.may.or.may.not.be.
b2a00 61 6e 20 3c 61 20 68 72 65 66 3d 22 23 41 73 79 6e 63 2d 46 75 6e 63 74 69 6f 6e 73 22 3e 61 73 an.<a.href="#Async-Functions">as
b2a20 79 6e 63 20 66 75 6e 63 74 69 6f 6e 3c 2f 61 3e 2e 0a 20 20 20 20 20 20 3c 2f 70 3e 0a 20 20 20 ync.function</a>........</p>....
b2a40 20 20 20 3c 70 3e 0a 20 20 20 20 20 20 54 68 65 20 70 72 6f 76 69 64 65 64 20 3c 63 6f 64 65 3e ...<p>.......The.provided.<code>
b2a60 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 66 72 61 6d 65 5f 62 75 66 66 65 72 3c <span.class="line">frame_buffer<
b2a80 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 20 6d 75 73 74 20 62 65 20 6c 61 72 67 65 20 65 6e 6f 75 /span></code>.must.be.large.enou
b2aa0 67 68 20 74 6f 20 66 69 74 20 74 68 65 20 65 6e 74 69 72 65 20 66 75 6e 63 74 69 6f 6e 20 66 72 gh.to.fit.the.entire.function.fr
b2ac0 61 6d 65 2e 0a 20 20 20 20 20 20 54 68 69 73 20 73 69 7a 65 20 63 61 6e 20 62 65 20 64 65 74 65 ame........This.size.can.be.dete
b2ae0 72 6d 69 6e 65 64 20 77 69 74 68 20 3c 61 20 68 72 65 66 3d 22 23 66 72 61 6d 65 53 69 7a 65 22 rmined.with.<a.href="#frameSize"
b2b00 3e 40 66 72 61 6d 65 53 69 7a 65 3c 2f 61 3e 2e 20 54 6f 20 70 72 6f 76 69 64 65 20 61 20 74 6f >@frameSize</a>..To.provide.a.to
b2b20 6f 2d 73 6d 61 6c 6c 20 62 75 66 66 65 72 0a 20 20 20 20 20 20 69 6e 76 6f 6b 65 73 20 73 61 66 o-small.buffer.......invokes.saf
b2b40 65 74 79 2d 63 68 65 63 6b 65 64 20 3c 61 20 68 72 65 66 3d 22 23 55 6e 64 65 66 69 6e 65 64 2d ety-checked.<a.href="#Undefined-
b2b60 42 65 68 61 76 69 6f 72 22 3e 55 6e 64 65 66 69 6e 65 64 20 42 65 68 61 76 69 6f 72 3c 2f 61 3e Behavior">Undefined.Behavior</a>
b2b80 2e 0a 20 20 20 20 20 20 3c 2f 70 3e 0a 20 20 20 20 20 20 3c 70 3e 0a 20 20 20 20 20 20 3c 63 6f ........</p>.......<p>.......<co
b2ba0 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 72 65 73 75 6c 74 5f 70 74 72 de><span.class="line">result_ptr
b2bc0 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 20 69 73 20 6f 70 74 69 6f 6e 61 6c 20 28 3c 61 20 68 </span></code>.is.optional.(<a.h
b2be0 72 65 66 3d 22 23 6e 75 6c 6c 22 3e 6e 75 6c 6c 3c 2f 61 3e 20 6d 61 79 20 62 65 20 70 72 6f 76 ref="#null">null</a>.may.be.prov
b2c00 69 64 65 64 29 2e 20 49 66 20 70 72 6f 76 69 64 65 64 2c 0a 20 20 20 20 20 20 74 68 65 20 66 75 ided)..If.provided,.......the.fu
b2c20 6e 63 74 69 6f 6e 20 63 61 6c 6c 20 77 69 6c 6c 20 77 72 69 74 65 20 69 74 73 20 72 65 73 75 6c nction.call.will.write.its.resul
b2c40 74 20 64 69 72 65 63 74 6c 79 20 74 6f 20 74 68 65 20 72 65 73 75 6c 74 20 70 6f 69 6e 74 65 72 t.directly.to.the.result.pointer
b2c60 2c 20 77 68 69 63 68 20 77 69 6c 6c 20 62 65 20 61 76 61 69 6c 61 62 6c 65 20 74 6f 0a 20 20 20 ,.which.will.be.available.to....
b2c80 20 20 20 72 65 61 64 20 61 66 74 65 72 20 3c 61 20 68 72 65 66 3d 22 23 41 73 79 6e 63 2d 61 6e ...read.after.<a.href="#Async-an
b2ca0 64 2d 41 77 61 69 74 22 3e 61 77 61 69 74 3c 2f 61 3e 20 63 6f 6d 70 6c 65 74 65 73 2e 20 41 6e d-Await">await</a>.completes..An
b2cc0 79 20 72 65 73 75 6c 74 20 6c 6f 63 61 74 69 6f 6e 20 70 72 6f 76 69 64 65 64 20 74 6f 0a 20 20 y.result.location.provided.to...
b2ce0 20 20 20 20 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 ....<code><span.class="line"><sp
b2d00 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 61 77 61 69 74 3c 2f 73 70 61 6e 3e 3c 2f an.class="tok-kw">await</span></
b2d20 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 20 77 69 6c 6c 20 63 6f 70 79 20 74 68 65 20 72 65 73 75 6c span></code>.will.copy.the.resul
b2d40 74 20 66 72 6f 6d 20 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e t.from.<code><span.class="line">
b2d60 72 65 73 75 6c 74 5f 70 74 72 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 2e 0a 20 20 20 20 20 20 result_ptr</span></code>........
b2d80 3c 2f 70 3e 0a 20 20 20 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
b2da0 6c 61 73 73 3d 22 7a 69 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
b2dc0 22 3e 61 73 79 6e 63 5f 73 74 72 75 63 74 5f 66 69 65 6c 64 5f 66 6e 5f 70 6f 69 6e 74 65 72 2e ">async_struct_field_fn_pointer.
b2de0 7a 69 67 3c 2f 63 69 74 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
b2e00 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 e><span.class="line"><span.class
b2e20 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
b2e40 61 6e 20 63 6c 61 73 73 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</
b2e60 73 70 61 6e 3e 28 3c 73 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
b2e80 74 3b 73 74 64 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 29 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 t;std&quot;</span>);</span>.<spa
b2ea0 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d n.class="line"><span.class="tok-
b2ec0 6b 77 22 3e 63 6f 6e 73 74 3c 2f 73 70 61 6e 3e 20 65 78 70 65 63 74 20 3d 20 73 74 64 2e 74 65 kw">const</span>.expect.=.std.te
b2ee0 73 74 69 6e 67 2e 65 78 70 65 63 74 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 sting.expect;</span>.<span.class
b2f00 3d 22 6c 69 6e 65 22 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e ="line"></span>.<span.class="lin
b2f20 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 74 65 73 74 3c 2f 73 70 e"><span.class="tok-kw">test</sp
b2f40 61 6e 3e 20 3c 73 70 61 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;
b2f60 61 73 79 6e 63 20 66 6e 20 70 6f 69 6e 74 65 72 20 69 6e 20 61 20 73 74 72 75 63 74 20 66 69 65 async.fn.pointer.in.a.struct.fie
b2f80 6c 64 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 20 7b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 ld&quot;</span>.{</span>.<span.c
b2fa0 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b lass="line">....<span.class="tok
b2fc0 2d 6b 77 22 3e 76 61 72 3c 2f 73 70 61 6e 3e 20 64 61 74 61 3a 20 3c 73 70 61 6e 20 63 6c 61 73 -kw">var</span>.data:.<span.clas
b2fe0 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.
b3000 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 31 3c 2f 73 70 61 6e 3e 3b 3c 2f 73 70 class="tok-number">1</span>;</sp
b3020 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 3c 73 70 61 6e an>.<span.class="line">....<span
b3040 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 63 6f 6e 73 74 3c 2f 73 70 61 6e 3e 20 46 6f 6f .class="tok-kw">const</span>.Foo
b3060 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</
b3080 73 70 61 6e 3e 20 7b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 span>.{</span>.<span.class="line
b30a0 22 3e 20 20 20 20 20 20 20 20 62 61 72 3a 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d ">........bar:.<span.class="tok-
b30c0 6b 77 22 3e 66 6e 3c 2f 73 70 61 6e 3e 20 28 2a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b kw">fn</span>.(*<span.class="tok
b30e0 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="
b3100 74 6f 6b 2d 6b 77 22 3e 63 61 6c 6c 63 6f 6e 76 3c 2f 73 70 61 6e 3e 28 2e 41 73 79 6e 63 29 20 tok-kw">callconv</span>(.Async).
b3120 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
b3140 6e 3e 2c 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 n>,</span>.<span.class="line">..
b3160 20 20 7d 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 ..};</span>.<span.class="line">.
b3180 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
b31a0 6e 3e 20 66 6f 6f 20 3d 20 46 6f 6f 7b 20 2e 62 61 72 20 3d 20 66 75 6e 63 20 7d 3b 3c 2f 73 70 n>.foo.=.Foo{..bar.=.func.};</sp
b31c0 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 3c 73 70 61 6e an>.<span.class="line">....<span
b31e0 20 63 6c 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 73 .class="tok-kw">var</span>.bytes
b3200 3a 20 5b 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 36 34 3c 2f :.[<span.class="tok-number">64</
b3220 73 70 61 6e 3e 5d 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 75 38 3c span>]<span.class="tok-type">u8<
b3240 2f 73 70 61 6e 3e 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 61 6c 69 67 /span>.<span.class="tok-kw">alig
b3260 6e 3c 2f 73 70 61 6e 3e 28 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 62 75 69 6c 74 69 n</span>(<span.class="tok-builti
b3280 6e 22 3e 40 61 6c 69 67 6e 4f 66 3c 2f 73 70 61 6e 3e 28 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 n">@alignOf</span>(<span.class="
b32a0 74 6f 6b 2d 62 75 69 6c 74 69 6e 22 3e 40 46 72 61 6d 65 3c 2f 73 70 61 6e 3e 28 66 75 6e 63 29 tok-builtin">@Frame</span>(func)
b32c0 29 29 20 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6c 6c 22 3e 75 6e 64 65 )).=.<span.class="tok-null">unde
b32e0 66 69 6e 65 64 3c 2f 73 70 61 6e 3e 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 fined</span>;</span>.<span.class
b3300 3d 22 6c 69 6e 65 22 3e 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 ="line">....<span.class="tok-kw"
b3320 3e 63 6f 6e 73 74 3c 2f 73 70 61 6e 3e 20 66 20 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 >const</span>.f.=.<span.class="t
b3340 6f 6b 2d 62 75 69 6c 74 69 6e 22 3e 40 61 73 79 6e 63 43 61 6c 6c 3c 2f 73 70 61 6e 3e 28 26 61 ok-builtin">@asyncCall</span>(&a
b3360 6d 70 3b 62 79 74 65 73 2c 20 7b 7d 2c 20 66 6f 6f 2e 62 61 72 2c 20 2e 7b 26 61 6d 70 3b 64 61 mp;bytes,.{},.foo.bar,..{&amp;da
b3380 74 61 7d 29 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e ta});</span>.<span.class="line">
b33a0 20 20 20 20 3c 73 70 61 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
b33c0 61 6e 3e 20 65 78 70 65 63 74 28 64 61 74 61 20 3d 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 an>.expect(data.==.<span.class="
b33e0 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 32 3c 2f 73 70 61 6e 3e 29 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 tok-number">2</span>);</span>.<s
b3400 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 pan.class="line">....<span.class
b3420 3d 22 74 6f 6b 2d 6b 77 22 3e 72 65 73 75 6d 65 3c 2f 73 70 61 6e 3e 20 66 3b 3c 2f 73 70 61 6e ="tok-kw">resume</span>.f;</span
b3440 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 3c 73 70 61 6e 20 63 >.<span.class="line">....<span.c
b3460 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 74 72 79 3c 2f 73 70 61 6e 3e 20 65 78 70 65 63 74 28 lass="tok-kw">try</span>.expect(
b3480 64 61 74 61 20 3d 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 data.==.<span.class="tok-number"
b34a0 3e 34 3c 2f 73 70 61 6e 3e 29 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 >4</span>);</span>.<span.class="
b34c0 6c 69 6e 65 22 3e 7d 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 line">}</span>.<span.class="line
b34e0 22 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 "></span>.<span.class="line"><sp
b3500 61 6e 20 63 6c 61 73 73 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
b3520 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 66 6e 22 3e 66 75 6e 63 3c 2f 73 70 61 6e 3e 28 79 3a 20 n.class="tok-fn">func</span>(y:.
b3540 2a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 69 33 32 3c 2f 73 70 61 *<span.class="tok-type">i32</spa
b3560 6e 3e 29 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 76 6f 69 64 3c n>).<span.class="tok-type">void<
b3580 2f 73 70 61 6e 3e 20 7b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e /span>.{</span>.<span.class="lin
b35a0 65 22 3e 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 64 65 66 65 e">....<span.class="tok-kw">defe
b35c0 72 3c 2f 73 70 61 6e 3e 20 79 2e 2a 20 2b 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b r</span>.y.*.+=.<span.class="tok
b35e0 2d 6e 75 6d 62 65 72 22 3e 32 3c 2f 73 70 61 6e 3e 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 -number">2</span>;</span>.<span.
b3600 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 79 2e 2a 20 2b 3d 20 3c 73 70 61 6e 20 63 6c class="line">....y.*.+=.<span.cl
b3620 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 31 3c 2f 73 70 61 6e 3e 3b 3c 2f 73 70 61 6e ass="tok-number">1</span>;</span
b3640 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 3c 73 70 61 6e 20 63 >.<span.class="line">....<span.c
b3660 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 73 75 73 70 65 6e 64 3c 2f 73 70 61 6e 3e 20 7b 7d 3c lass="tok-kw">suspend</span>.{}<
b3680 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 7d 3c 2f 73 70 61 /span>.<span.class="line">}</spa
b36a0 6e 3e 3c 2f 63 6f 64 65 3e 3c 2f 70 72 65 3e 3c 2f 66 69 67 75 72 65 3e 3c 66 69 67 75 72 65 3e n></code></pre></figure><figure>
b36c0 3c 66 69 67 63 61 70 74 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
b36e0 65 6c 6c 3c 2f 66 69 67 63 61 70 74 69 6f 6e 3e 3c 70 72 65 3e 3c 73 61 6d 70 3e 3c 73 70 61 6e ell</figcaption><pre><samp><span
b3700 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 24 20 3c 6b 62 64 3e 7a 69 67 20 74 65 73 74 20 61 73 .class="line">$.<kbd>zig.test.as
b3720 79 6e 63 5f 73 74 72 75 63 74 5f 66 69 65 6c 64 5f 66 6e 5f 70 6f 69 6e 74 65 72 2e 7a 69 67 20 ync_struct_field_fn_pointer.zig.
b3740 2d 66 73 74 61 67 65 31 3c 2f 6b 62 64 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 -fstage1</kbd></span>.<span.clas
b3760 73 3d 22 6c 69 6e 65 22 3e 31 2f 31 20 74 65 73 74 20 26 71 75 6f 74 3b 61 73 79 6e 63 20 66 6e s="line">1/1.test.&quot;async.fn
b3780 20 70 6f 69 6e 74 65 72 20 69 6e 20 61 20 73 74 72 75 63 74 20 66 69 65 6c 64 26 71 75 6f 74 3b .pointer.in.a.struct.field&quot;
b37a0 2e 2e 2e 20 4f 4b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 ....OK</span>.<span.class="line"
b37c0 3e 41 6c 6c 20 31 20 74 65 73 74 73 20 70 61 73 73 65 64 2e 3c 2f 73 70 61 6e 3e 0a 3c 2f 73 61 >All.1.tests.passed.</span>.</sa
b37e0 6d 70 3e 3c 2f 70 72 65 3e 3c 2f 66 69 67 75 72 65 3e 0a 20 20 20 20 20 20 0a 0a 20 20 20 20 20 mp></pre></figure>..............
b3800 20 3c 68 33 20 69 64 3d 22 61 74 6f 6d 69 63 4c 6f 61 64 22 3e 3c 61 20 68 72 65 66 3d 22 23 74 .<h3.id="atomicLoad"><a.href="#t
b3820 6f 63 2d 61 74 6f 6d 69 63 4c 6f 61 64 22 3e 40 61 74 6f 6d 69 63 4c 6f 61 64 3c 2f 61 3e 20 3c oc-atomicLoad">@atomicLoad</a>.<
b3840 61 20 63 6c 61 73 73 3d 22 68 64 72 22 20 68 72 65 66 3d 22 23 61 74 6f 6d 69 63 4c 6f 61 64 22 a.class="hdr".href="#atomicLoad"
b3860 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><
b3880 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 span.class="line"><span.class="t
b38a0 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>(<
b38c0 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
b38e0 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
b3900 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
b3920 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
b3940 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
b3960 69 6e 67 3a 20 62 75 69 6c 74 69 6e 2e 41 74 6f 6d 69 63 4f 72 64 65 72 29 20 54 3c 2f 73 70 61 ing:.builtin.AtomicOrder).T</spa
b3980 6e 3e 3c 2f 63 6f 64 65 3e 3c 2f 70 72 65 3e 0a 20 20 20 20 20 20 3c 70 3e 0a 20 20 20 20 20 20 n></code></pre>.......<p>.......
b39a0 54 68 69 73 20 62 75 69 6c 74 69 6e 20 66 75 6e 63 74 69 6f 6e 20 61 74 6f 6d 69 63 61 6c 6c 79 This.builtin.function.atomically
b39c0 20 64 65 72 65 66 65 72 65 6e 63 65 73 20 61 20 70 6f 69 6e 74 65 72 20 61 6e 64 20 72 65 74 75 .dereferences.a.pointer.and.retu
b39e0 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 20 20 20 20 20 rns.the.value........</p>.......
b3a00 3c 70 3e 0a 20 20 20 20 20 20 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e <p>.......<code><span.class="lin
b3a20 65 22 3e 54 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 20 6d 75 73 74 20 62 65 20 61 20 70 6f 69 e">T</span></code>.must.be.a.poi
b3a40 6e 74 65 72 2c 20 61 20 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 nter,.a.<code><span.class="line"
b3a60 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 62 6f 6f 6c 3c 2f 73 70 ><span.class="tok-type">bool</sp
b3a80 61 6e 3e 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 2c 20 61 20 66 6c 6f 61 74 2c 0a 20 20 20 20 an></span></code>,.a.float,.....
b3aa0 20 20 61 6e 20 69 6e 74 65 67 65 72 20 6f 72 20 61 6e 20 65 6e 75 6d 2e 0a 20 20 20 20 20 20 3c ..an.integer.or.an.enum........<
b3ac0 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>.<
b3ae0 6c 69 3e 3c 61 20 68 72 65 66 3d 22 23 61 74 6f 6d 69 63 53 74 6f 72 65 22 3e 40 61 74 6f 6d 69 li><a.href="#atomicStore">@atomi
b3b00 63 53 74 6f 72 65 3c 2f 61 3e 3c 2f 6c 69 3e 0a 3c 6c 69 3e 3c 61 20 68 72 65 66 3d 22 23 61 74 cStore</a></li>.<li><a.href="#at
b3b20 6f 6d 69 63 52 6d 77 22 3e 40 61 74 6f 6d 69 63 52 6d 77 3c 2f 61 3e 3c 2f 6c 69 3e 0a 3c 6c 69 omicRmw">@atomicRmw</a></li>.<li
b3b40 3e 3c 61 20 68 72 65 66 3d 22 23 66 65 6e 63 65 22 3e 40 66 65 6e 63 65 3c 2f 61 3e 3c 2f 6c 69 ><a.href="#fence">@fence</a></li
b3b60 3e 0a 3c 6c 69 3e 3c 61 20 68 72 65 66 3d 22 23 63 6d 70 78 63 68 67 57 65 61 6b 22 3e 40 63 6d >.<li><a.href="#cmpxchgWeak">@cm
b3b80 70 78 63 68 67 57 65 61 6b 3c 2f 61 3e 3c 2f 6c 69 3e 0a 3c 6c 69 3e 3c 61 20 68 72 65 66 3d 22 pxchgWeak</a></li>.<li><a.href="
b3ba0 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</
b3bc0 61 3e 3c 2f 6c 69 3e 0a 3c 2f 75 6c 3e 0a 0a 20 20 20 20 20 20 0a 0a 20 20 20 20 20 20 3c 68 33 a></li>.</ul>................<h3
b3be0 20 69 64 3d 22 61 74 6f 6d 69 63 52 6d 77 22 3e 3c 61 20 68 72 65 66 3d 22 23 74 6f 63 2d 61 74 .id="atomicRmw"><a.href="#toc-at
b3c00 6f 6d 69 63 52 6d 77 22 3e 40 61 74 6f 6d 69 63 52 6d 77 3c 2f 61 3e 20 3c 61 20 63 6c 61 73 73 omicRmw">@atomicRmw</a>.<a.class
b3c20 3d 22 68 64 72 22 20 68 72 65 66 3d 22 23 61 74 6f 6d 69 63 52 6d 77 22 3e c2 a7 3c 2f 61 3e 3c ="hdr".href="#atomicRmw">..</a><
b3c40 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
b3c60 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 62 75 69 6c 74 ss="line"><span.class="tok-built
b3c80 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 61 73 in">@atomicRmw</span>(<span.clas
b3ca0 73 3d 22 74 6f 6b 2d 6b 77 22 3e 63 6f 6d 70 74 69 6d 65 3c 2f 73 70 61 6e 3e 20 54 3a 20 3c 73 s="tok-kw">comptime</span>.T:.<s
b3cc0 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>
b3ce0 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 22 3e ,.ptr:.*T,.<span.class="tok-kw">
b3d00 63 6f 6d 70 74 69 6d 65 3c 2f 73 70 61 6e 3e 20 6f 70 3a 20 62 75 69 6c 74 69 6e 2e 41 74 6f 6d comptime</span>.op:.builtin.Atom
b3d20 69 63 52 6d 77 4f 70 2c 20 6f 70 65 72 61 6e 64 3a 20 54 2c 20 3c 73 70 61 6e 20 63 6c 61 73 73 icRmwOp,.operand:.T,.<span.class
b3d40 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 69 ="tok-kw">comptime</span>.orderi
b3d60 6e 67 3a 20 62 75 69 6c 74 69 6e 2e 41 74 6f 6d 69 63 4f 72 64 65 72 29 20 54 3c 2f 73 70 61 6e ng:.builtin.AtomicOrder).T</span
b3d80 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
b3da0 68 69 73 20 62 75 69 6c 74 69 6e 20 66 75 6e 63 74 69 6f 6e 20 61 74 6f 6d 69 63 61 6c 6c 79 20 his.builtin.function.atomically.
b3dc0 6d 6f 64 69 66 69 65 73 20 6d 65 6d 6f 72 79 20 61 6e 64 20 74 68 65 6e 20 72 65 74 75 72 6e 73 modifies.memory.and.then.returns
b3de0 20 74 68 65 20 70 72 65 76 69 6f 75 73 20 76 61 6c 75 65 2e 0a 20 20 20 20 20 20 3c 2f 70 3e 0a .the.previous.value........</p>.
b3e00 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
b3e20 73 3d 22 6c 69 6e 65 22 3e 54 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 20 6d 75 73 74 20 62 65 s="line">T</span></code>.must.be
b3e40 20 61 20 70 6f 69 6e 74 65 72 2c 20 61 20 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d .a.pointer,.a.<code><span.class=
b3e60 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 62 6f "line"><span.class="tok-type">bo
b3e80 6f 6c 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 2c 20 61 20 66 6c 6f 61 74 ol</span></span></code>,.a.float
b3ea0 2c 0a 20 20 20 20 20 20 61 6e 20 69 6e 74 65 67 65 72 20 6f 72 20 61 6e 20 65 6e 75 6d 2e 0a 20 ,.......an.integer.or.an.enum...
b3ec0 20 20 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
b3ee0 74 65 64 20 6f 70 65 72 61 74 69 6f 6e 73 3a 0a 20 20 20 20 20 20 3c 2f 70 3e 0a 20 20 20 20 20 ted.operations:.......</p>......
b3f00 20 3c 75 6c 3e 0a 20 20 20 20 20 20 20 20 3c 6c 69 3e 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c .<ul>.........<li><code><span.cl
b3f20 61 73 73 3d 22 6c 69 6e 65 22 3e 2e 58 63 68 67 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 20 2d ass="line">.Xchg</span></code>.-
b3f40 20 73 74 6f 72 65 73 20 74 68 65 20 6f 70 65 72 61 6e 64 20 75 6e 6d 6f 64 69 66 69 65 64 2e 20 .stores.the.operand.unmodified..
b3f60 53 75 70 70 6f 72 74 73 20 65 6e 75 6d 73 2c 20 69 6e 74 65 67 65 72 73 20 61 6e 64 20 66 6c 6f Supports.enums,.integers.and.flo
b3f80 61 74 73 2e 3c 2f 6c 69 3e 0a 20 20 20 20 20 20 20 20 3c 6c 69 3e 3c 63 6f 64 65 3e 3c 73 70 61 ats.</li>.........<li><code><spa
b3fa0 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 2e 41 64 64 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 n.class="line">.Add</span></code
b3fc0 3e 20 2d 20 66 6f 72 20 69 6e 74 65 67 65 72 73 2c 20 74 77 6f 73 20 63 6f 6d 70 6c 65 6d 65 6e >.-.for.integers,.twos.complemen
b3fe0 74 20 77 72 61 70 61 72 6f 75 6e 64 20 61 64 64 69 74 69 6f 6e 2e 0a 20 20 20 20 20 20 20 20 20 t.wraparound.addition...........
b4000 20 20 20 41 6c 73 6f 20 73 75 70 70 6f 72 74 73 20 3c 61 20 68 72 65 66 3d 22 23 46 6c 6f 61 74 ...Also.supports.<a.href="#Float
b4020 73 22 3e 46 6c 6f 61 74 73 3c 2f 61 3e 2e 3c 2f 6c 69 3e 0a 20 20 20 20 20 20 20 20 3c 6c 69 3e s">Floats</a>.</li>.........<li>
b4040 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 2e 53 75 62 3c 2f 73 <code><span.class="line">.Sub</s
b4060 70 61 6e 3e 3c 2f 63 6f 64 65 3e 20 2d 20 66 6f 72 20 69 6e 74 65 67 65 72 73 2c 20 74 77 6f 73 pan></code>.-.for.integers,.twos
b4080 20 63 6f 6d 70 6c 65 6d 65 6e 74 20 77 72 61 70 61 72 6f 75 6e 64 20 73 75 62 74 72 61 63 74 69 .complement.wraparound.subtracti
b40a0 6f 6e 2e 0a 20 20 20 20 20 20 20 20 20 20 20 20 41 6c 73 6f 20 73 75 70 70 6f 72 74 73 20 3c 61 on..............Also.supports.<a
b40c0 20 68 72 65 66 3d 22 23 46 6c 6f 61 74 73 22 3e 46 6c 6f 61 74 73 3c 2f 61 3e 2e 3c 2f 6c 69 3e .href="#Floats">Floats</a>.</li>
b40e0 0a 20 20 20 20 20 20 20 20 3c 6c 69 3e 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 .........<li><code><span.class="
b4100 6c 69 6e 65 22 3e 2e 41 6e 64 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 20 2d 20 62 69 74 77 69 line">.And</span></code>.-.bitwi
b4120 73 65 20 61 6e 64 3c 2f 6c 69 3e 0a 20 20 20 20 20 20 20 20 3c 6c 69 3e 3c 63 6f 64 65 3e 3c 73 se.and</li>.........<li><code><s
b4140 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 2e 4e 61 6e 64 3c 2f 73 70 61 6e 3e 3c 2f 63 pan.class="line">.Nand</span></c
b4160 6f 64 65 3e 20 2d 20 62 69 74 77 69 73 65 20 6e 61 6e 64 3c 2f 6c 69 3e 0a 20 20 20 20 20 20 20 ode>.-.bitwise.nand</li>........
b4180 20 3c 6c 69 3e 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 2e 4f .<li><code><span.class="line">.O
b41a0 72 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 20 2d 20 62 69 74 77 69 73 65 20 6f 72 3c 2f 6c 69 r</span></code>.-.bitwise.or</li
b41c0 3e 0a 20 20 20 20 20 20 20 20 3c 6c 69 3e 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d >.........<li><code><span.class=
b41e0 22 6c 69 6e 65 22 3e 2e 58 6f 72 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 20 2d 20 62 69 74 77 "line">.Xor</span></code>.-.bitw
b4200 69 73 65 20 78 6f 72 3c 2f 6c 69 3e 0a 20 20 20 20 20 20 20 20 3c 6c 69 3e 3c 63 6f 64 65 3e 3c ise.xor</li>.........<li><code><
b4220 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 2e 4d 61 78 3c 2f 73 70 61 6e 3e 3c 2f 63 span.class="line">.Max</span></c
b4240 6f 64 65 3e 20 2d 20 73 74 6f 72 65 73 20 74 68 65 20 6f 70 65 72 61 6e 64 20 69 66 20 69 74 20 ode>.-.stores.the.operand.if.it.
b4260 69 73 20 6c 61 72 67 65 72 2e 20 53 75 70 70 6f 72 74 73 20 69 6e 74 65 67 65 72 73 20 61 6e 64 is.larger..Supports.integers.and
b4280 20 66 6c 6f 61 74 73 2e 3c 2f 6c 69 3e 0a 20 20 20 20 20 20 20 20 3c 6c 69 3e 3c 63 6f 64 65 3e .floats.</li>.........<li><code>
b42a0 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 2e 4d 69 6e 3c 2f 73 70 61 6e 3e 3c 2f <span.class="line">.Min</span></
b42c0 63 6f 64 65 3e 20 2d 20 73 74 6f 72 65 73 20 74 68 65 20 6f 70 65 72 61 6e 64 20 69 66 20 69 74 code>.-.stores.the.operand.if.it
b42e0 20 69 73 20 73 6d 61 6c 6c 65 72 2e 20 53 75 70 70 6f 72 74 73 20 69 6e 74 65 67 65 72 73 20 61 .is.smaller..Supports.integers.a
b4300 6e 64 20 66 6c 6f 61 74 73 2e 3c 2f 6c 69 3e 0a 20 20 20 20 20 20 3c 2f 75 6c 3e 0a 20 20 20 20 nd.floats.</li>.......</ul>.....
b4320 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
b4340 65 66 3d 22 23 61 74 6f 6d 69 63 53 74 6f 72 65 22 3e 40 61 74 6f 6d 69 63 53 74 6f 72 65 3c 2f ef="#atomicStore">@atomicStore</
b4360 61 3e 3c 2f 6c 69 3e 0a 3c 6c 69 3e 3c 61 20 68 72 65 66 3d 22 23 61 74 6f 6d 69 63 4c 6f 61 64 a></li>.<li><a.href="#atomicLoad
b4380 22 3e 40 61 74 6f 6d 69 63 4c 6f 61 64 3c 2f 61 3e 3c 2f 6c 69 3e 0a 3c 6c 69 3e 3c 61 20 68 72 ">@atomicLoad</a></li>.<li><a.hr
b43a0 65 66 3d 22 23 66 65 6e 63 65 22 3e 40 66 65 6e 63 65 3c 2f 61 3e 3c 2f 6c 69 3e 0a 3c 6c 69 3e ef="#fence">@fence</a></li>.<li>
b43c0 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
b43e0 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
b4400 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
b4420 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 61 >.</ul>................<h3.id="a
b4440 74 6f 6d 69 63 53 74 6f 72 65 22 3e 3c 61 20 68 72 65 66 3d 22 23 74 6f 63 2d 61 74 6f 6d 69 63 tomicStore"><a.href="#toc-atomic
b4460 53 74 6f 72 65 22 3e 40 61 74 6f 6d 69 63 53 74 6f 72 65 3c 2f 61 3e 20 3c 61 20 63 6c 61 73 73 Store">@atomicStore</a>.<a.class
b4480 3d 22 68 64 72 22 20 68 72 65 66 3d 22 23 61 74 6f 6d 69 63 53 74 6f 72 65 22 3e c2 a7 3c 2f 61 ="hdr".href="#atomicStore">..</a
b44a0 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
b44c0 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 62 75 69 lass="line"><span.class="tok-bui
b44e0 6c 74 69 6e 22 3e 40 61 74 6f 6d 69 63 53 74 6f 72 65 3c 2f 73 70 61 6e 3e 28 3c 73 70 61 6e 20 ltin">@atomicStore</span>(<span.
b4500 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 63 6f 6d 70 74 69 6d 65 3c 2f 73 70 61 6e 3e 20 54 class="tok-kw">comptime</span>.T
b4520 3a 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 74 79 70 65 3c 2f 73 :.<span.class="tok-type">type</s
b4540 70 61 6e 3e 2c 20 70 74 72 3a 20 2a 54 2c 20 76 61 6c 75 65 3a 20 54 2c 20 3c 73 70 61 6e 20 63 pan>,.ptr:.*T,.value:.T,.<span.c
b4560 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 72 lass="tok-kw">comptime</span>.or
b4580 64 65 72 69 6e 67 3a 20 62 75 69 6c 74 69 6e 2e 41 74 6f 6d 69 63 4f 72 64 65 72 29 20 3c 73 70 dering:.builtin.AtomicOrder).<sp
b45a0 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 76 6f 69 64 3c 2f 73 70 61 6e 3e 3c an.class="tok-type">void</span><
b45c0 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>...
b45e0 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 61 74 6f 6d 69 63 ....This.builtin.function.atomic
b4600 61 6c 6c 79 20 73 74 6f 72 65 73 20 61 20 76 61 6c 75 65 2e 0a 20 20 20 20 20 20 3c 2f 70 3e 0a ally.stores.a.value........</p>.
b4620 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
b4640 73 3d 22 6c 69 6e 65 22 3e 54 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 20 6d 75 73 74 20 62 65 s="line">T</span></code>.must.be
b4660 20 61 20 70 6f 69 6e 74 65 72 2c 20 61 20 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d .a.pointer,.a.<code><span.class=
b4680 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 62 6f "line"><span.class="tok-type">bo
b46a0 6f 6c 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 2c 20 61 20 66 6c 6f 61 74 ol</span></span></code>,.a.float
b46c0 2c 0a 20 20 20 20 20 20 61 6e 20 69 6e 74 65 67 65 72 20 6f 72 20 61 6e 20 65 6e 75 6d 2e 0a 20 ,.......an.integer.or.an.enum...
b46e0 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>
b4700 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 4c 6f 61 64 22 3e 40 <ul>.<li><a.href="#atomicLoad">@
b4720 61 74 6f 6d 69 63 4c 6f 61 64 3c 2f 61 3e 3c 2f 6c 69 3e 0a 3c 6c 69 3e 3c 61 20 68 72 65 66 3d atomicLoad</a></li>.<li><a.href=
b4740 22 23 61 74 6f 6d 69 63 52 6d 77 22 3e 40 61 74 6f 6d 69 63 52 6d 77 3c 2f 61 3e 3c 2f 6c 69 3e "#atomicRmw">@atomicRmw</a></li>
b4760 0a 3c 6c 69 3e 3c 61 20 68 72 65 66 3d 22 23 66 65 6e 63 65 22 3e 40 66 65 6e 63 65 3c 2f 61 3e .<li><a.href="#fence">@fence</a>
b4780 3c 2f 6c 69 3e 0a 3c 6c 69 3e 3c 61 20 68 72 65 66 3d 22 23 63 6d 70 78 63 68 67 57 65 61 6b 22 </li>.<li><a.href="#cmpxchgWeak"
b47a0 3e 40 63 6d 70 78 63 68 67 57 65 61 6b 3c 2f 61 3e 3c 2f 6c 69 3e 0a 3c 6c 69 3e 3c 61 20 68 72 >@cmpxchgWeak</a></li>.<li><a.hr
b47c0 65 66 3d 22 23 63 6d 70 78 63 68 67 53 74 72 6f 6e 67 22 3e 40 63 6d 70 78 63 68 67 53 74 72 6f ef="#cmpxchgStrong">@cmpxchgStro
b47e0 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 0a 20 20 20 20 20 ng</a></li>.</ul>...............
b4800 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 22 23 74 6f 63 2d .<h3.id="bitCast"><a.href="#toc-
b4820 62 69 74 43 61 73 74 22 3e 40 62 69 74 43 61 73 74 3c 2f 61 3e 20 3c 61 20 63 6c 61 73 73 3d 22 bitCast">@bitCast</a>.<a.class="
b4840 68 64 72 22 20 68 72 65 66 3d 22 23 62 69 74 43 61 73 74 22 3e c2 a7 3c 2f 61 3e 3c 2f 68 33 3e hdr".href="#bitCast">..</a></h3>
b4860 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="
b4880 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 62 75 69 6c 74 69 6e 22 3e line"><span.class="tok-builtin">
b48a0 40 62 69 74 43 61 73 74 3c 2f 73 70 61 6e 3e 28 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b @bitCast</span>(<span.class="tok
b48c0 2d 6b 77 22 3e 63 6f 6d 70 74 69 6d 65 3c 2f 73 70 61 6e 3e 20 44 65 73 74 54 79 70 65 3a 20 3c -kw">comptime</span>.DestType:.<
b48e0 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
b4900 3e 2c 20 76 61 6c 75 65 3a 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 61 >,.value:.<span.class="tok-kw">a
b4920 6e 79 74 79 70 65 3c 2f 73 70 61 6e 3e 29 20 44 65 73 74 54 79 70 65 3c 2f 73 70 61 6e 3e 3c 2f nytype</span>).DestType</span></
b4940 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
b4960 65 72 74 73 20 61 20 76 61 6c 75 65 20 6f 66 20 6f 6e 65 20 74 79 70 65 20 74 6f 20 61 6e 6f 74 erts.a.value.of.one.type.to.anot
b4980 68 65 72 20 74 79 70 65 2e 0a 20 20 20 20 20 20 3c 2f 70 3e 0a 20 20 20 20 20 20 3c 70 3e 0a 20 her.type........</p>.......<p>..
b49a0 20 20 20 20 20 41 73 73 65 72 74 73 20 74 68 61 74 20 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c .....Asserts.that.<code><span.cl
b49c0 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 62 75 69 6c ass="line"><span.class="tok-buil
b49e0 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=
b4a00 22 74 6f 6b 2d 62 75 69 6c 74 69 6e 22 3e 40 54 79 70 65 4f 66 3c 2f 73 70 61 6e 3e 28 76 61 6c "tok-builtin">@TypeOf</span>(val
b4a20 75 65 29 29 20 3d 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 62 75 69 6c 74 69 6e ue)).==.<span.class="tok-builtin
b4a40 22 3e 40 73 69 7a 65 4f 66 3c 2f 73 70 61 6e 3e 28 44 65 73 74 54 79 70 65 29 3c 2f 73 70 61 6e ">@sizeOf</span>(DestType)</span
b4a60 3e 3c 2f 63 6f 64 65 3e 2e 0a 20 20 20 20 20 20 3c 2f 70 3e 0a 20 20 20 20 20 20 3c 70 3e 0a 20 ></code>........</p>.......<p>..
b4a80 20 20 20 20 20 41 73 73 65 72 74 73 20 74 68 61 74 20 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c .....Asserts.that.<code><span.cl
b4aa0 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 62 75 69 6c ass="line"><span.class="tok-buil
b4ac0 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).
b4ae0 21 3d 20 2e 50 6f 69 6e 74 65 72 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 2e 20 55 73 65 20 3c !=..Pointer</span></code>..Use.<
b4b00 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c code><span.class="line"><span.cl
b4b20 61 73 73 3d 22 74 6f 6b 2d 62 75 69 6c 74 69 6e 22 3e 40 70 74 72 43 61 73 74 3c 2f 73 70 61 6e ass="tok-builtin">@ptrCast</span
b4b40 3e 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 20 6f 72 20 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 ></span></code>.or.<code><span.c
b4b60 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 62 75 69 lass="line"><span.class="tok-bui
b4b80 6c 74 69 6e 22 3e 40 69 6e 74 54 6f 50 74 72 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 3c 2f 63 ltin">@intToPtr</span></span></c
b4ba0 6f 64 65 3e 20 69 66 20 79 6f 75 20 6e 65 65 64 20 74 68 69 73 2e 0a 20 20 20 20 20 20 3c 2f 70 ode>.if.you.need.this........</p
b4bc0 3e 0a 20 20 20 20 20 20 3c 70 3e 0a 20 20 20 20 20 20 43 61 6e 20 62 65 20 75 73 65 64 20 66 6f >.......<p>.......Can.be.used.fo
b4be0 72 20 74 68 65 73 65 20 74 68 69 6e 67 73 20 66 6f 72 20 65 78 61 6d 70 6c 65 3a 0a 20 20 20 20 r.these.things.for.example:.....
b4c00 20 20 3c 2f 70 3e 0a 20 20 20 20 20 20 3c 75 6c 3e 0a 20 20 20 20 20 20 20 20 20 20 3c 6c 69 3e ..</p>.......<ul>...........<li>
b4c20 43 6f 6e 76 65 72 74 20 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 Convert.<code><span.class="line"
b4c40 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 66 33 32 3c 2f 73 70 61 ><span.class="tok-type">f32</spa
b4c60 6e 3e 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 20 74 6f 20 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 n></span></code>.to.<code><span.
b4c80 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 class="line"><span.class="tok-ty
b4ca0 70 65 22 3e 75 33 32 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 20 62 69 74 pe">u32</span></span></code>.bit
b4cc0 73 3c 2f 6c 69 3e 0a 20 20 20 20 20 20 20 20 20 20 3c 6c 69 3e 43 6f 6e 76 65 72 74 20 3c 63 6f s</li>...........<li>Convert.<co
b4ce0 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 de><span.class="line"><span.clas
b4d00 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 69 33 32 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 3c 2f s="tok-type">i32</span></span></
b4d20 63 6f 64 65 3e 20 74 6f 20 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 code>.to.<code><span.class="line
b4d40 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 75 33 32 3c 2f 73 70 "><span.class="tok-type">u32</sp
b4d60 61 6e 3e 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 an></span></code>.preserving.two
b4d80 73 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 s.complement</li>.......</ul>...
b4da0 20 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 ....<p>.......Works.at.compile-t
b4dc0 69 6d 65 20 69 66 20 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e ime.if.<code><span.class="line">
b4de0 76 61 6c 75 65 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 20 69 73 20 6b 6e 6f 77 6e 20 61 74 20 value</span></code>.is.known.at.
b4e00 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 65 20 65 72 72 compile.time..It's.a.compile.err
b4e20 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 64 65 66 69 6e or.to.bitcast.a.value.of.undefin
b4e40 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 20 62 65 73 69 ed.layout;.this.means.that,.besi
b4e60 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 70 65 73 20 77 des.the.restriction.from.types.w
b4e80 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 69 6e 67 20 62 hich.possess.dedicated.casting.b
b4ea0 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 72 72 6f 72 20 uiltins.(enums,.pointers,.error.
b4ec0 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 75 6e 69 6f 6e sets),.bare.structs,.error.union
b4ee0 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 6e 79 20 6f 74 s,.slices,.optionals,.and.any.ot
b4f00 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 69 6e 65 64 20 her.type.without.a.well-defined.
b4f20 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 62 65 20 75 73 memory.layout,.also.cannot.be.us
b4f40 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 20 3c 2f 70 3e ed.in.this.operation........</p>
b4f60 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 66 66 73 65 74 ...............<h3.id="bitOffset
b4f80 4f 66 22 3e 3c 61 20 68 72 65 66 3d 22 23 74 6f 63 2d 62 69 74 4f 66 66 73 65 74 4f 66 22 3e 40 Of"><a.href="#toc-bitOffsetOf">@
b4fa0 62 69 74 4f 66 66 73 65 74 4f 66 3c 2f 61 3e 20 3c 61 20 63 6c 61 73 73 3d 22 68 64 72 22 20 68 bitOffsetOf</a>.<a.class="hdr".h
b4fc0 72 65 66 3d 22 23 62 69 74 4f 66 66 73 65 74 4f 66 22 3e c2 a7 3c 2f 61 3e 3c 2f 68 33 3e 0a 0a ref="#bitOffsetOf">..</a></h3>..
b4fe0 20 20 20 20 20 20 3c 70 72 65 3e 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 ......<pre><code><span.class="li
b5000 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 62 75 69 6c 74 69 6e 22 3e 40 62 ne"><span.class="tok-builtin">@b
b5020 69 74 4f 66 66 73 65 74 4f 66 3c 2f 73 70 61 6e 3e 28 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 itOffsetOf</span>(<span.class="t
b5040 6f 6b 2d 6b 77 22 3e 63 6f 6d 70 74 69 6d 65 3c 2f 73 70 61 6e 3e 20 54 3a 20 3c 73 70 61 6e 20 ok-kw">comptime</span>.T:.<span.
b5060 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 74 79 70 65 3c 2f 73 70 61 6e 3e 2c 20 3c 73 class="tok-type">type</span>,.<s
b5080 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
b50a0 6e 3e 20 66 69 65 6c 64 5f 6e 61 6d 65 3a 20 5b 5d 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f n>.field_name:.[]<span.class="to
b50c0 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="
b50e0 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
b5100 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 63 6f 6d 70 74 69 6d 65 5f 69 6e 74 3c 2f 73 70 61 6e 3e 3c ="tok-type">comptime_int</span><
b5120 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>...
b5140 20 20 20 20 52 65 74 75 72 6e 73 20 74 68 65 20 62 69 74 20 6f 66 66 73 65 74 20 6f 66 20 61 20 ....Returns.the.bit.offset.of.a.
b5160 66 69 65 6c 64 20 72 65 6c 61 74 69 76 65 20 74 6f 20 69 74 73 20 63 6f 6e 74 61 69 6e 69 6e 67 field.relative.to.its.containing
b5180 20 73 74 72 75 63 74 2e 0a 20 20 20 20 20 20 3c 2f 70 3e 0a 20 20 20 20 20 20 3c 70 3e 0a 20 20 .struct........</p>.......<p>...
b51a0 20 20 20 20 46 6f 72 20 6e 6f 6e 20 3c 61 20 68 72 65 66 3d 22 23 70 61 63 6b 65 64 2d 73 74 72 ....For.non.<a.href="#packed-str
b51c0 75 63 74 22 3e 70 61 63 6b 65 64 20 73 74 72 75 63 74 73 3c 2f 61 3e 2c 20 74 68 69 73 20 77 69 uct">packed.structs</a>,.this.wi
b51e0 6c 6c 20 61 6c 77 61 79 73 20 62 65 20 64 69 76 69 73 69 62 6c 65 20 62 79 20 3c 63 6f 64 65 3e ll.always.be.divisible.by.<code>
b5200 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 <span.class="line"><span.class="
b5220 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 38 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 tok-number">8</span></span></cod
b5240 65 3e 2e 0a 20 20 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 e>........For.packed.structs,.no
b5260 6e 2d 62 79 74 65 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 n-byte-aligned.fields.will.share
b5280 20 61 20 62 79 74 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 .a.byte.offset,.but.they.will.ha
b52a0 76 65 20 64 69 66 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 ve.different.......bit.offsets..
b52c0 20 20 20 20 20 20 3c 2f 70 3e 0a 20 20 20 20 20 20 3c 70 3e 53 65 65 20 61 6c 73 6f 3a 3c 2f 70 ......</p>.......<p>See.also:</p
b52e0 3e 3c 75 6c 3e 0a 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 ><ul>.<li><a.href="#offsetOf">@o
b5300 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 0a 0a ffsetOf</a></li>.</ul>..........
b5320 20 20 20 20 20 20 3c 68 33 20 69 64 3d 22 62 6f 6f 6c 54 6f 49 6e 74 22 3e 3c 61 20 68 72 65 66 ......<h3.id="boolToInt"><a.href
b5340 3d 22 23 74 6f 63 2d 62 6f 6f 6c 54 6f 49 6e 74 22 3e 40 62 6f 6f 6c 54 6f 49 6e 74 3c 2f 61 3e ="#toc-boolToInt">@boolToInt</a>
b5360 20 3c 61 20 63 6c 61 73 73 3d 22 68 64 72 22 20 68 72 65 66 3d 22 23 62 6f 6f 6c 54 6f 49 6e 74 .<a.class="hdr".href="#boolToInt
b5380 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>
b53a0 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 <span.class="line"><span.class="
b53c0 74 6f 6b 2d 62 75 69 6c 74 69 6e 22 3e 40 62 6f 6f 6c 54 6f 49 6e 74 3c 2f 73 70 61 6e 3e 28 76 tok-builtin">@boolToInt</span>(v
b53e0 61 6c 75 65 3a 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 62 6f 6f alue:.<span.class="tok-type">boo
b5400 6c 3c 2f 73 70 61 6e 3e 29 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 l</span>).<span.class="tok-type"
b5420 3e 75 31 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 3c 2f 70 72 65 3e 0a 20 >u1</span></span></code></pre>..
b5440 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 73 .....<p>.......Converts.<code><s
b5460 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f pan.class="line"><span.class="to
b5480 6b 2d 6e 75 6c 6c 22 3e 74 72 75 65 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 k-null">true</span></span></code
b54a0 3e 20 74 6f 20 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 >.to.<code><span.class="line"><s
b54c0 70 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
b54e0 6e 3e 28 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 75 31 3c 2f 73 70 n>(<span.class="tok-type">u1</sp
b5500 61 6e 3e 2c 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 31 3c an>,.<span.class="tok-number">1<
b5520 2f 73 70 61 6e 3e 29 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 20 61 6e 64 20 3c 63 6f 64 65 3e /span>)</span></code>.and.<code>
b5540 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 <span.class="line"><span.class="
b5560 74 6f 6b 2d 6e 75 6c 6c 22 3e 66 61 6c 73 65 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 3c 2f 63 tok-null">false</span></span></c
b5580 6f 64 65 3e 20 74 6f 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 3c 63 6f 64 65 3e ode>.to...................<code>
b55a0 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 <span.class="line"><span.class="
b55c0 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
b55e0 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.
b5600 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 30 3c 2f 73 70 61 6e 3e 29 3c 2f 73 70 class="tok-number">0</span>)</sp
b5620 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>
b5640 0a 20 20 20 20 20 20 49 66 20 74 68 65 20 76 61 6c 75 65 20 69 73 20 6b 6e 6f 77 6e 20 61 74 20 .......If.the.value.is.known.at.
b5660 63 6f 6d 70 69 6c 65 2d 74 69 6d 65 2c 20 74 68 65 20 72 65 74 75 72 6e 20 74 79 70 65 20 69 73 compile-time,.the.return.type.is
b5680 20 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 .<code><span.class="line"><span.
b56a0 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 63 6f 6d 70 74 69 6d 65 5f 69 6e 74 3c 2f 73 class="tok-type">comptime_int</s
b56c0 70 61 6e 3e 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 0a 20 20 20 20 20 20 20 20 20 20 69 6e 73 pan></span></code>...........ins
b56e0 74 65 61 64 20 6f 66 20 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 tead.of.<code><span.class="line"
b5700 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 75 31 3c 2f 73 70 61 6e ><span.class="tok-type">u1</span
b5720 3e 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 2e 0a 20 20 20 20 20 20 3c 2f 70 3e 0a 20 20 20 20 ></span></code>........</p>.....
b5740 20 20 0a 0a 20 20 20 20 20 20 3c 68 33 20 69 64 3d 22 62 69 74 53 69 7a 65 4f 66 22 3e 3c 61 20 ..........<h3.id="bitSizeOf"><a.
b5760 68 72 65 66 3d 22 23 74 6f 63 2d 62 69 74 53 69 7a 65 4f 66 22 3e 40 62 69 74 53 69 7a 65 4f 66 href="#toc-bitSizeOf">@bitSizeOf
b5780 3c 2f 61 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 </a>.<a.class="hdr".href="#bitSi
b57a0 7a 65 4f 66 22 3e c2 a7 3c 2f 61 3e 3c 2f 68 33 3e 0a 0a 20 20 20 20 20 20 3c 70 72 65 3e 3c 63 zeOf">..</a></h3>........<pre><c
b57c0 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 ode><span.class="line"><span.cla
b57e0 73 73 3d 22 74 6f 6b 2d 62 75 69 6c 74 69 6e 22 3e 40 62 69 74 53 69 7a 65 4f 66 3c 2f 73 70 61 ss="tok-builtin">@bitSizeOf</spa
b5800 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
b5820 3c 2f 73 70 61 6e 3e 20 54 3a 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 </span>.T:.<span.class="tok-type
b5840 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-
b5860 74 79 70 65 22 3e 63 6f 6d 70 74 69 6d 65 5f 69 6e 74 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e type">comptime_int</span></span>
b5880 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
b58a0 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 62 65 72 20 6f is.function.returns.the.number.o
b58c0 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 6f 64 65 3e 3c f.bits.it.takes.to.store.<code><
b58e0 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 54 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 span.class="line">T</span></code
b5900 3e 20 69 6e 20 6d 65 6d 6f 72 79 20 69 66 20 74 68 65 20 74 79 70 65 0a 20 20 20 20 20 20 77 65 >.in.memory.if.the.type.......we
b5920 72 65 20 61 20 66 69 65 6c 64 20 69 6e 20 61 20 70 61 63 6b 65 64 20 73 74 72 75 63 74 2f 75 6e re.a.field.in.a.packed.struct/un
b5940 69 6f 6e 2e 0a 20 20 20 20 20 20 54 68 65 20 72 65 73 75 6c 74 20 69 73 20 61 20 74 61 72 67 65 ion........The.result.is.a.targe
b5960 74 2d 73 70 65 63 69 66 69 63 20 63 6f 6d 70 69 6c 65 20 74 69 6d 65 20 63 6f 6e 73 74 61 6e 74 t-specific.compile.time.constant
b5980 2e 0a 20 20 20 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
b59a0 73 20 66 75 6e 63 74 69 6f 6e 20 6d 65 61 73 75 72 65 73 20 74 68 65 20 73 69 7a 65 20 61 74 20 s.function.measures.the.size.at.
b59c0 72 75 6e 74 69 6d 65 2e 20 46 6f 72 20 74 79 70 65 73 20 74 68 61 74 20 61 72 65 20 64 69 73 61 runtime..For.types.that.are.disa
b59e0 6c 6c 6f 77 65 64 20 61 74 20 72 75 6e 74 69 6d 65 2c 20 73 75 63 68 20 61 73 0a 20 20 20 20 20 llowed.at.runtime,.such.as......
b5a00 20 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 .<code><span.class="line"><span.
b5a20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 63 6f 6d 70 74 69 6d 65 5f 69 6e 74 3c 2f 73 class="tok-type">comptime_int</s
b5a40 70 61 6e 3e 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 20 61 6e 64 20 3c 63 6f 64 65 3e 3c 73 70 pan></span></code>.and.<code><sp
b5a60 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b an.class="line"><span.class="tok
b5a80 2d 74 79 70 65 22 3e 74 79 70 65 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e -type">type</span></span></code>
b5aa0 2c 20 74 68 65 20 72 65 73 75 6c 74 20 69 73 20 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 ,.the.result.is.<code><span.clas
b5ac0 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 s="line"><span.class="tok-number
b5ae0 22 3e 30 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 2e 0a 20 20 20 20 20 20 ">0</span></span></code>........
b5b00 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>.
b5b20 3c 6c 69 3e 3c 61 20 68 72 65 66 3d 22 23 73 69 7a 65 4f 66 22 3e 40 73 69 7a 65 4f 66 3c 2f 61 <li><a.href="#sizeOf">@sizeOf</a
b5b40 3e 3c 2f 6c 69 3e 0a 3c 6c 69 3e 3c 61 20 68 72 65 66 3d 22 23 74 79 70 65 49 6e 66 6f 22 3e 40 ></li>.<li><a.href="#typeInfo">@
b5b60 74 79 70 65 49 6e 66 6f 3c 2f 61 3e 3c 2f 6c 69 3e 0a 3c 2f 75 6c 3e 0a 0a 20 20 20 20 20 20 0a typeInfo</a></li>.</ul>.........
b5b80 0a 20 20 20 20 20 20 3c 68 33 20 69 64 3d 22 62 72 65 61 6b 70 6f 69 6e 74 22 3e 3c 61 20 68 72 .......<h3.id="breakpoint"><a.hr
b5ba0 65 66 3d 22 23 74 6f 63 2d 62 72 65 61 6b 70 6f 69 6e 74 22 3e 40 62 72 65 61 6b 70 6f 69 6e 74 ef="#toc-breakpoint">@breakpoint
b5bc0 3c 2f 61 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 72 65 61 6b </a>.<a.class="hdr".href="#break
b5be0 70 6f 69 6e 74 22 3e c2 a7 3c 2f 61 3e 3c 2f 68 33 3e 0a 0a 20 20 20 20 20 20 3c 70 72 65 3e 3c point">..</a></h3>........<pre><
b5c00 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c code><span.class="line"><span.cl
b5c20 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 3c 2f 73 ass="tok-builtin">@breakpoint</s
b5c40 70 61 6e 3e 28 29 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 3c 2f 70 72 65 3e 0a 20 20 20 20 20 pan>()</span></code></pre>......
b5c60 20 3c 70 3e 0a 20 20 20 20 20 20 54 68 69 73 20 66 75 6e 63 74 69 6f 6e 20 69 6e 73 65 72 74 73 .<p>.......This.function.inserts
b5c80 20 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 .a.platform-specific.debug.trap.
b5ca0 69 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 instruction.which.causes.......d
b5cc0 65 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 3c ebuggers.to.break.there........<
b5ce0 2f 70 3e 0a 20 20 20 20 20 20 3c 70 3e 0a 20 20 20 20 20 20 54 68 69 73 20 66 75 6e 63 74 69 6f /p>.......<p>.......This.functio
b5d00 6e 20 69 73 20 6f 6e 6c 79 20 76 61 6c 69 64 20 77 69 74 68 69 6e 20 66 75 6e 63 74 69 6f 6e 20 n.is.only.valid.within.function.
b5d20 73 63 6f 70 65 2e 0a 20 20 20 20 20 20 3c 2f 70 3e 0a 0a 20 20 20 20 20 20 0a 20 20 20 20 20 20 scope........</p>...............
b5d40 3c 68 33 20 69 64 3d 22 6d 75 6c 41 64 64 22 3e 3c 61 20 68 72 65 66 3d 22 23 74 6f 63 2d 6d 75 <h3.id="mulAdd"><a.href="#toc-mu
b5d60 6c 41 64 64 22 3e 40 6d 75 6c 41 64 64 3c 2f 61 3e 20 3c 61 20 63 6c 61 73 73 3d 22 68 64 72 22 lAdd">@mulAdd</a>.<a.class="hdr"
b5d80 20 68 72 65 66 3d 22 23 6d 75 6c 41 64 64 22 3e c2 a7 3c 2f 61 3e 3c 2f 68 33 3e 0a 0a 20 20 20 .href="#mulAdd">..</a></h3>.....
b5da0 20 20 20 3c 70 72 65 3e 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 ...<pre><code><span.class="line"
b5dc0 3e 3c 73 70 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 41 ><span.class="tok-builtin">@mulA
b5de0 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 6b 77 22 3e 63 dd</span>(<span.class="tok-kw">c
b5e00 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
b5e20 6f 6b 2d 74 79 70 65 22 3e 74 79 70 65 3c 2f 73 70 61 6e 3e 2c 20 61 3a 20 54 2c 20 62 3a 20 54 ok-type">type</span>,.a:.T,.b:.T
b5e40 2c 20 63 3a 20 54 29 20 54 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 3c 2f 70 72 65 3e 0a 20 20 ,.c:.T).T</span></code></pre>...
b5e60 20 20 20 20 3c 70 3e 0a 20 20 20 20 20 20 46 75 73 65 64 20 6d 75 6c 74 69 70 6c 79 2d 61 64 64 ....<p>.......Fused.multiply-add
b5e80 2c 20 73 69 6d 69 6c 61 72 20 74 6f 20 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 ,.similar.to.<code><span.class="
b5ea0 6c 69 6e 65 22 3e 28 61 20 2a 20 62 29 20 2b 20 63 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 2c line">(a.*.b).+.c</span></code>,
b5ec0 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 63 65 2c 20 .except.......only.rounds.once,.
b5ee0 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 20 20 20 20 and.is.thus.more.accurate.......
b5f00 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.<
b5f20 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.
b5f40 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
b5f60 66 20 66 6c 6f 61 74 73 2e 0a 20 20 20 20 20 20 3c 2f 70 3e 0a 20 20 20 20 20 20 0a 0a 20 20 20 f.floats........</p>............
b5f80 20 20 20 3c 68 33 20 69 64 3d 22 62 79 74 65 53 77 61 70 22 3e 3c 61 20 68 72 65 66 3d 22 23 74 ...<h3.id="byteSwap"><a.href="#t
b5fa0 6f 63 2d 62 79 74 65 53 77 61 70 22 3e 40 62 79 74 65 53 77 61 70 3c 2f 61 3e 20 3c 61 20 63 6c oc-byteSwap">@byteSwap</a>.<a.cl
b5fc0 61 73 73 3d 22 68 64 72 22 20 68 72 65 66 3d 22 23 62 79 74 65 53 77 61 70 22 3e c2 a7 3c 2f 61 ass="hdr".href="#byteSwap">..</a
b5fe0 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
b6000 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 62 75 69 lass="line"><span.class="tok-bui
b6020 6c 74 69 6e 22 3e 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 ltin">@byteSwap</span>(operand:.
b6040 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
b6060 61 6e 3e 29 20 54 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 3c 2f 70 72 65 3e 0a 20 20 20 20 20 an>).T</span></code></pre>......
b6080 20 3c 70 3e 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 .<p><code><span.class="line"><sp
b60a0 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</
b60c0 73 70 61 6e 3e 28 6f 70 65 72 61 6e 64 29 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 20 6d 75 73 span>(operand)</span></code>.mus
b60e0 74 20 62 65 20 61 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 t.be.an.integer.type.or.an.integ
b6100 65 72 20 76 65 63 74 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 er.vector.type.with.bit.count.ev
b6120 65 6e 6c 79 20 64 69 76 69 73 69 62 6c 65 20 62 79 20 38 2e 3c 2f 70 3e 0a 20 20 20 20 20 20 3c enly.divisible.by.8.</p>.......<
b6140 70 3e 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 6f 70 65 72 61 p><code><span.class="line">opera
b6160 6e 64 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 20 6d 61 79 20 62 65 20 61 6e 20 3c 61 20 68 72 nd</span></code>.may.be.an.<a.hr
b6180 65 66 3d 22 23 49 6e 74 65 67 65 72 73 22 3e 69 6e 74 65 67 65 72 3c 2f 61 3e 20 6f 72 20 3c 61 ef="#Integers">integer</a>.or.<a
b61a0 20 68 72 65 66 3d 22 23 56 65 63 74 6f 72 73 22 3e 76 65 63 74 6f 72 3c 2f 61 3e 2e 3c 2f 70 3e .href="#Vectors">vector</a>.</p>
b61c0 0a 20 20 20 20 20 20 3c 70 3e 0a 20 20 20 20 20 20 53 77 61 70 73 20 74 68 65 20 62 79 74 65 20 .......<p>.......Swaps.the.byte.
b61e0 6f 72 64 65 72 20 6f 66 20 74 68 65 20 69 6e 74 65 67 65 72 2e 20 54 68 69 73 20 63 6f 6e 76 65 order.of.the.integer..This.conve
b6200 72 74 73 20 61 20 62 69 67 20 65 6e 64 69 61 6e 20 69 6e 74 65 67 65 72 20 74 6f 20 61 20 6c 69 rts.a.big.endian.integer.to.a.li
b6220 74 74 6c 65 20 65 6e 64 69 61 6e 20 69 6e 74 65 67 65 72 2c 0a 20 20 20 20 20 20 61 6e 64 20 63 ttle.endian.integer,.......and.c
b6240 6f 6e 76 65 72 74 73 20 61 20 6c 69 74 74 6c 65 20 65 6e 64 69 61 6e 20 69 6e 74 65 67 65 72 20 onverts.a.little.endian.integer.
b6260 74 6f 20 61 20 62 69 67 20 65 6e 64 69 61 6e 20 69 6e 74 65 67 65 72 2e 0a 20 20 20 20 20 20 3c to.a.big.endian.integer........<
b6280 2f 70 3e 0a 20 20 20 20 20 20 3c 70 3e 0a 20 20 20 20 20 20 4e 6f 74 65 20 74 68 61 74 20 66 6f /p>.......<p>.......Note.that.fo
b62a0 72 20 74 68 65 20 70 75 72 70 6f 73 65 73 20 6f 66 20 6d 65 6d 6f 72 79 20 6c 61 79 6f 75 74 20 r.the.purposes.of.memory.layout.
b62c0 77 69 74 68 20 72 65 73 70 65 63 74 20 74 6f 20 65 6e 64 69 61 6e 6e 65 73 73 2c 20 74 68 65 20 with.respect.to.endianness,.the.
b62e0 69 6e 74 65 67 65 72 20 74 79 70 65 20 73 68 6f 75 6c 64 20 62 65 0a 20 20 20 20 20 20 72 65 6c integer.type.should.be.......rel
b6300 61 74 65 64 20 74 6f 20 74 68 65 20 6e 75 6d 62 65 72 20 6f 66 20 62 79 74 65 73 20 72 65 70 6f ated.to.the.number.of.bytes.repo
b6320 72 74 65 64 20 62 79 20 3c 61 20 68 72 65 66 3d 22 23 73 69 7a 65 4f 66 22 3e 40 73 69 7a 65 4f rted.by.<a.href="#sizeOf">@sizeO
b6340 66 3c 2f 61 3e 20 62 79 74 65 73 2e 20 54 68 69 73 20 69 73 20 64 65 6d 6f 6e 73 74 72 61 74 65 f</a>.bytes..This.is.demonstrate
b6360 64 20 77 69 74 68 0a 20 20 20 20 20 20 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 d.with.......<code><span.class="
b6380 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 75 32 34 line"><span.class="tok-type">u24
b63a0 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 2e 20 3c 63 6f 64 65 3e 3c 73 70 </span></span></code>..<code><sp
b63c0 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b an.class="line"><span.class="tok
b63e0 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 63 -builtin">@sizeOf</span>(<span.c
b6400 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 75 32 34 3c 2f 73 70 61 6e 3e 29 20 3d 3d 20 3c lass="tok-type">u24</span>).==.<
b6420 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>
b6440 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 2c 20 77 68 69 63 68 20 6d 65 61 6e 73 20 74 68 61 74 </span></code>,.which.means.that
b6460 20 61 0a 20 20 20 20 20 20 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 .a.......<code><span.class="line
b6480 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 75 32 34 3c 2f 73 70 "><span.class="tok-type">u24</sp
b64a0 61 6e 3e 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 20 73 74 6f 72 65 64 20 69 6e 20 6d 65 6d 6f an></span></code>.stored.in.memo
b64c0 72 79 20 74 61 6b 65 73 20 34 20 62 79 74 65 73 2c 20 61 6e 64 20 74 68 6f 73 65 20 34 20 62 79 ry.takes.4.bytes,.and.those.4.by
b64e0 74 65 73 20 61 72 65 20 77 68 61 74 20 61 72 65 20 73 77 61 70 70 65 64 20 6f 6e 0a 20 20 20 20 tes.are.what.are.swapped.on.....
b6500 20 20 61 20 6c 69 74 74 6c 65 20 76 73 20 62 69 67 20 65 6e 64 69 61 6e 20 73 79 73 74 65 6d 2e ..a.little.vs.big.endian.system.
b6520 20 4f 6e 20 74 68 65 20 6f 74 68 65 72 20 68 61 6e 64 2c 20 69 66 20 3c 63 6f 64 65 3e 3c 73 70 .On.the.other.hand,.if.<code><sp
b6540 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 54 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 20 an.class="line">T</span></code>.
b6560 69 73 20 73 70 65 63 69 66 69 65 64 20 74 6f 0a 20 20 20 20 20 20 62 65 20 3c 63 6f 64 65 3e 3c is.specified.to.......be.<code><
b6580 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 span.class="line"><span.class="t
b65a0 6f 6b 2d 74 79 70 65 22 3e 75 32 34 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 ok-type">u24</span></span></code
b65c0 3e 2c 20 74 68 65 6e 20 6f 6e 6c 79 20 33 20 62 79 74 65 73 20 61 72 65 20 72 65 76 65 72 73 65 >,.then.only.3.bytes.are.reverse
b65e0 64 2e 0a 20 20 20 20 20 20 3c 2f 70 3e 0a 20 20 20 20 20 20 0a 0a 20 20 20 20 20 20 3c 68 33 20 d........</p>...............<h3.
b6600 69 64 3d 22 62 69 74 52 65 76 65 72 73 65 22 3e 3c 61 20 68 72 65 66 3d 22 23 74 6f 63 2d 62 69 id="bitReverse"><a.href="#toc-bi
b6620 74 52 65 76 65 72 73 65 22 3e 40 62 69 74 52 65 76 65 72 73 65 3c 2f 61 3e 20 3c 61 20 63 6c 61 tReverse">@bitReverse</a>.<a.cla
b6640 73 73 3d 22 68 64 72 22 20 68 72 65 66 3d 22 23 62 69 74 52 65 76 65 72 73 65 22 3e c2 a7 3c 2f ss="hdr".href="#bitReverse">..</
b6660 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.
b6680 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 62 75 class="line"><span.class="tok-bu
b66a0 69 6c 74 69 6e 22 3e 40 62 69 74 52 65 76 65 72 73 65 3c 2f 73 70 61 6e 3e 28 69 6e 74 65 67 65 iltin">@bitReverse</span>(intege
b66c0 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<
b66e0 2f 73 70 61 6e 3e 29 20 54 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 3c 2f 70 72 65 3e 0a 20 20 /span>).T</span></code></pre>...
b6700 20 20 20 20 3c 70 3e 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e ....<p><code><span.class="line">
b6720 3c 73 70 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
b6740 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 61 6e f</span>(<span.class="tok-kw">an
b6760 79 74 79 70 65 3c 2f 73 70 61 6e 3e 29 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 20 61 63 63 65 ytype</span>)</span></code>.acce
b6780 70 74 73 20 61 6e 79 20 69 6e 74 65 67 65 72 20 74 79 70 65 20 6f 72 20 69 6e 74 65 67 65 72 20 pts.any.integer.type.or.integer.
b67a0 76 65 63 74 6f 72 20 74 79 70 65 2e 3c 2f 70 3e 0a 20 20 20 20 20 20 3c 70 3e 0a 20 20 20 20 20 vector.type.</p>.......<p>......
b67c0 20 52 65 76 65 72 73 65 73 20 74 68 65 20 62 69 74 70 61 74 74 65 72 6e 20 6f 66 20 61 6e 20 69 .Reverses.the.bitpattern.of.an.i
b67e0 6e 74 65 67 65 72 20 76 61 6c 75 65 2c 20 69 6e 63 6c 75 64 69 6e 67 20 74 68 65 20 73 69 67 6e nteger.value,.including.the.sign
b6800 20 62 69 74 20 69 66 20 61 70 70 6c 69 63 61 62 6c 65 2e 0a 20 20 20 20 20 20 3c 2f 70 3e 0a 20 .bit.if.applicable........</p>..
b6820 20 20 20 20 20 3c 70 3e 0a 20 20 20 20 20 20 46 6f 72 20 65 78 61 6d 70 6c 65 20 30 62 31 30 31 .....<p>.......For.example.0b101
b6840 31 30 31 31 30 20 28 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 10110.(<code><span.class="line">
b6860 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>
b6880 20 3d 20 3c 73 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 .=.<span.class="tok-number">182<
b68a0 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 2c 20 3c 63 6f 64 65 3e 3c 73 70 61 /span></span></code>,.<code><spa
b68c0 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d n.class="line"><span.class="tok-
b68e0 74 79 70 65 22 3e 69 38 3c 2f 73 70 61 6e 3e 20 3d 20 2d 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 type">i8</span>.=.-<span.class="
b6900 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 37 34 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 3c 2f 63 6f tok-number">74</span></span></co
b6920 64 65 3e 29 0a 20 20 20 20 20 20 62 65 63 6f 6d 65 73 20 30 62 30 31 31 30 31 31 30 31 20 28 3c de>).......becomes.0b01101101.(<
b6940 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c code><span.class="line"><span.cl
b6960 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 75 38 3c 2f 73 70 61 6e 3e 20 3d 20 3c 73 70 61 6e ass="tok-type">u8</span>.=.<span
b6980 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></
b69a0 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=
b69c0 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 69 38 "line"><span.class="tok-type">i8
b69e0 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
b6a00 72 22 3e 31 30 39 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 29 2e 0a 20 20 r">109</span></span></code>)....
b6a20 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 6f ....</p>...............<h3.id="o
b6a40 66 66 73 65 74 4f 66 22 3e 3c 61 20 68 72 65 66 3d 22 23 74 6f 63 2d 6f 66 66 73 65 74 4f 66 22 ffsetOf"><a.href="#toc-offsetOf"
b6a60 3e 40 6f 66 66 73 65 74 4f 66 3c 2f 61 3e 20 3c 61 20 63 6c 61 73 73 3d 22 68 64 72 22 20 68 72 >@offsetOf</a>.<a.class="hdr".hr
b6a80 65 66 3d 22 23 6f 66 66 73 65 74 4f 66 22 3e c2 a7 3c 2f 61 3e 3c 2f 68 33 3e 0a 0a 20 20 20 20 ef="#offsetOf">..</a></h3>......
b6aa0 20 20 3c 70 72 65 3e 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e ..<pre><code><span.class="line">
b6ac0 3c 73 70 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
b6ae0 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">
b6b00 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="
b6b20 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
b6b40 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
b6b60 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
b6b80 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
b6ba0 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
b6bc0 79 70 65 22 3e 63 6f 6d 70 74 69 6d 65 5f 69 6e 74 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 3c ype">comptime_int</span></span><
b6be0 2f 63 6f 64 65 3e 3c 2f 70 72 65 3e 0a 20 20 20 20 20 20 3c 70 3e 0a 20 20 20 20 20 20 52 65 74 /code></pre>.......<p>.......Ret
b6c00 75 72 6e 73 20 74 68 65 20 62 79 74 65 20 6f 66 66 73 65 74 20 6f 66 20 61 20 66 69 65 6c 64 20 urns.the.byte.offset.of.a.field.
b6c20 72 65 6c 61 74 69 76 65 20 74 6f 20 69 74 73 20 63 6f 6e 74 61 69 6e 69 6e 67 20 73 74 72 75 63 relative.to.its.containing.struc
b6c40 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 6f 3a t........</p>.......<p>See.also:
b6c60 3c 2f 70 3e 3c 75 6c 3e 0a 3c 6c 69 3e 3c 61 20 68 72 65 66 3d 22 23 62 69 74 4f 66 66 73 65 74 </p><ul>.<li><a.href="#bitOffset
b6c80 4f 66 22 3e 40 62 69 74 4f 66 66 73 65 74 4f 66 3c 2f 61 3e 3c 2f 6c 69 3e 0a 3c 2f 75 6c 3e 0a Of">@bitOffsetOf</a></li>.</ul>.
b6ca0 0a 20 20 20 20 20 20 0a 0a 20 20 20 20 20 20 3c 68 33 20 69 64 3d 22 63 61 6c 6c 22 3e 3c 61 20 ...............<h3.id="call"><a.
b6cc0 68 72 65 66 3d 22 23 74 6f 63 2d 63 61 6c 6c 22 3e 40 63 61 6c 6c 3c 2f 61 3e 20 3c 61 20 63 6c href="#toc-call">@call</a>.<a.cl
b6ce0 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 2f 68 ass="hdr".href="#call">..</a></h
b6d00 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
b6d20 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 62 75 69 6c 74 69 6e ="line"><span.class="tok-builtin
b6d40 22 3e 40 63 61 6c 6c 3c 2f 73 70 61 6e 3e 28 6f 70 74 69 6f 6e 73 3a 20 73 74 64 2e 62 75 69 6c ">@call</span>(options:.std.buil
b6d60 74 69 6e 2e 43 61 6c 6c 4f 70 74 69 6f 6e 73 2c 20 66 75 6e 63 74 69 6f 6e 3a 20 3c 73 70 61 6e tin.CallOptions,.function:.<span
b6d80 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 2c 20 .class="tok-kw">anytype</span>,.
b6da0 61 72 67 73 3a 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 61 6e 79 74 79 args:.<span.class="tok-kw">anyty
b6dc0 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">
b6de0 61 6e 79 74 79 70 65 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 3c 2f 70 72 anytype</span></span></code></pr
b6e00 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 61 20 66 75 6e 63 74 e>.......<p>.......Calls.a.funct
b6e20 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 20 69 6e 76 6f 6b 69 ion,.in.the.same.way.that.invoki
b6e40 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 65 6e 74 68 65 73 65 ng.an.expression.with.parenthese
b6e60 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 3c 66 69 67 75 72 65 s.does:.......</p>.......<figure
b6e80 3e 3c 66 69 67 63 61 70 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
b6ea0 74 65 20 63 6c 61 73 73 3d 22 66 69 6c 65 22 3e 63 61 6c 6c 2e 7a 69 67 3c 2f 63 69 74 65 3e 3c te.class="file">call.zig</cite><
b6ec0 2f 66 69 67 63 61 70 74 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
b6ee0 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 63 ss="line"><span.class="tok-kw">c
b6f00 6f 6e 73 74 3c 2f 73 70 61 6e 3e 20 65 78 70 65 63 74 20 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 onst</span>.expect.=.<span.class
b6f20 3d 22 74 6f 6b 2d 62 75 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
b6f40 70 61 6e 20 63 6c 61 73 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
b6f60 6f 74 3b 3c 2f 73 70 61 6e 3e 29 2e 74 65 73 74 69 6e 67 2e 65 78 70 65 63 74 3b 3c 2f 73 70 61 ot;</span>).testing.expect;</spa
b6f80 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 n>.<span.class="line"></span>.<s
b6fa0 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f pan.class="line"><span.class="to
b6fc0 6b 2d 6b 77 22 3e 74 65 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
b6fe0 6f 6b 2d 73 74 72 22 3e 26 71 75 6f 74 3b 6e 6f 69 6e 6c 69 6e 65 20 66 75 6e 63 74 69 6f 6e 20 ok-str">&quot;noinline.function.
b7000 63 61 6c 6c 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 20 7b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e call&quot;</span>.{</span>.<span
b7020 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 .class="line">....<span.class="t
b7040 6f 6b 2d 6b 77 22 3e 74 72 79 3c 2f 73 70 61 6e 3e 20 65 78 70 65 63 74 28 3c 73 70 61 6e 20 63 ok-kw">try</span>.expect(<span.c
b7060 6c 61 73 73 3d 22 74 6f 6b 2d 62 75 69 6c 74 69 6e 22 3e 40 63 61 6c 6c 3c 2f 73 70 61 6e 3e 28 lass="tok-builtin">@call</span>(
b7080 2e 7b 7d 2c 20 61 64 64 2c 20 2e 7b 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d .{},.add,..{<span.class="tok-num
b70a0 62 65 72 22 3e 33 3c 2f 73 70 61 6e 3e 2c 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d ber">3</span>,.<span.class="tok-
b70c0 6e 75 6d 62 65 72 22 3e 39 3c 2f 73 70 61 6e 3e 7d 29 20 3d 3d 20 3c 73 70 61 6e 20 63 6c 61 73 number">9</span>}).==.<span.clas
b70e0 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 31 32 3c 2f 73 70 61 6e 3e 29 3b 3c 2f 73 70 61 6e s="tok-number">12</span>);</span
b7100 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 7d 3c 2f 73 70 61 6e 3e 0a 3c 73 >.<span.class="line">}</span>.<s
b7120 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 pan.class="line"></span>.<span.c
b7140 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 lass="line"><span.class="tok-kw"
b7160 3e 66 6e 3c 2f 73 70 61 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">
b7180 61 64 64 3c 2f 73 70 61 6e 3e 28 61 3a 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 add</span>(a:.<span.class="tok-t
b71a0 79 70 65 22 3e 69 33 32 3c 2f 73 70 61 6e 3e 2c 20 62 3a 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d ype">i32</span>,.b:.<span.class=
b71c0 22 74 6f 6b 2d 74 79 70 65 22 3e 69 33 32 3c 2f 73 70 61 6e 3e 29 20 3c 73 70 61 6e 20 63 6c 61 "tok-type">i32</span>).<span.cla
b71e0 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 69 33 32 3c 2f 73 70 61 6e 3e 20 7b 3c 2f 73 70 61 6e ss="tok-type">i32</span>.{</span
b7200 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 3c 73 70 61 6e 20 63 >.<span.class="line">....<span.c
b7220 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 72 65 74 75 72 6e 3c 2f 73 70 61 6e 3e 20 61 20 2b 20 lass="tok-kw">return</span>.a.+.
b7240 62 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 7d 3c 2f b;</span>.<span.class="line">}</
b7260 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
b7280 72 65 3e 3c 66 69 67 63 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"
b72a0 3e 53 68 65 6c 6c 3c 2f 66 69 67 63 61 70 74 69 6f 6e 3e 3c 70 72 65 3e 3c 73 61 6d 70 3e 3c 73 >Shell</figcaption><pre><samp><s
b72c0 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 24 20 3c 6b 62 64 3e 7a 69 67 20 74 65 73 74 pan.class="line">$.<kbd>zig.test
b72e0 20 63 61 6c 6c 2e 7a 69 67 3c 2f 6b 62 64 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 .call.zig</kbd></span>.<span.cla
b7300 73 73 3d 22 6c 69 6e 65 22 3e 31 2f 31 20 74 65 73 74 2e 6e 6f 69 6e 6c 69 6e 65 20 66 75 6e 63 ss="line">1/1.test.noinline.func
b7320 74 69 6f 6e 20 63 61 6c 6c 2e 2e 2e 20 4f 4b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 tion.call....OK</span>.<span.cla
b7340 73 73 3d 22 6c 69 6e 65 22 3e 41 6c 6c 20 31 20 74 65 73 74 73 20 70 61 73 73 65 64 2e 3c 2f 73 ss="line">All.1.tests.passed.</s
b7360 70 61 6e 3e 0a 3c 2f 73 61 6d 70 3e 3c 2f 70 72 65 3e 3c 2f 66 69 67 75 72 65 3e 0a 20 20 20 20 pan>.</samp></pre></figure>.....
b7380 20 20 3c 70 3e 0a 20 20 20 20 20 20 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c ..<p>.......<code><span.class="l
b73a0 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 62 75 69 6c 74 69 6e 22 3e 40 ine"><span.class="tok-builtin">@
b73c0 63 61 6c 6c 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 20 61 6c 6c 6f 77 73 call</span></span></code>.allows
b73e0 20 6d 6f 72 65 20 66 6c 65 78 69 62 69 6c 69 74 79 20 74 68 61 6e 20 6e 6f 72 6d 61 6c 20 66 75 .more.flexibility.than.normal.fu
b7400 6e 63 74 69 6f 6e 20 63 61 6c 6c 20 73 79 6e 74 61 78 20 64 6f 65 73 2e 20 54 68 65 0a 20 20 20 nction.call.syntax.does..The....
b7420 20 20 20 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 43 61 6c 6c ...<code><span.class="line">Call
b7440 4f 70 74 69 6f 6e 73 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 20 73 74 72 75 63 74 20 69 73 20 Options</span></code>.struct.is.
b7460 72 65 70 72 6f 64 75 63 65 64 20 68 65 72 65 3a 0a 20 20 20 20 20 20 3c 2f 70 3e 0a 20 20 20 20 reproduced.here:.......</p>.....
b7480 20 20 3c 66 69 67 75 72 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
b74a0 2d 63 61 70 22 3e 3c 63 69 74 65 20 63 6c 61 73 73 3d 22 66 69 6c 65 22 3e 62 75 69 6c 74 69 6e -cap"><cite.class="file">builtin
b74c0 2e 43 61 6c 6c 4f 70 74 69 6f 6e 73 20 73 74 72 75 63 74 3c 2f 63 69 74 65 3e 3c 2f 66 69 67 63 .CallOptions.struct</cite></figc
b74e0 61 70 74 69 6f 6e 3e 3c 70 72 65 3e 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c aption><pre><code><span.class="l
b7500 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 70 75 62 3c 2f 73 ine"><span.class="tok-kw">pub</s
b7520 70 61 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<
b7540 2f 73 70 61 6e 3e 20 43 61 6c 6c 4f 70 74 69 6f 6e 73 20 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 /span>.CallOptions.=.<span.class
b7560 3d 22 74 6f 6b 2d 6b 77 22 3e 73 74 72 75 63 74 3c 2f 73 70 61 6e 3e 20 7b 3c 2f 73 70 61 6e 3e ="tok-kw">struct</span>.{</span>
b7580 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 6d 6f 64 69 66 69 65 72 .<span.class="line">....modifier
b75a0 3a 20 4d 6f 64 69 66 69 65 72 20 3d 20 2e 61 75 74 6f 2c 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e :.Modifier.=..auto,</span>.<span
b75c0 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 .class="line"></span>.<span.clas
b75e0 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 63 6f s="line">....<span.class="tok-co
b7600 6d 6d 65 6e 74 22 3e 2f 2f 2f 20 4f 6e 6c 79 20 76 61 6c 69 64 20 77 68 65 6e 20 60 4d 6f 64 69 mment">///.Only.valid.when.`Modi
b7620 66 69 65 72 60 20 69 73 20 60 4d 6f 64 69 66 69 65 72 2e 61 73 79 6e 63 5f 6b 77 60 2e 3c 2f 73 fier`.is.`Modifier.async_kw`.</s
b7640 70 61 6e 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 pan></span>.<span.class="line">.
b7660 20 20 20 73 74 61 63 6b 3a 20 3f 5b 5d 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 ...stack:.?[]<span.class="tok-kw
b7680 22 3e 61 6c 69 67 6e 3c 2f 73 70 61 6e 3e 28 73 74 64 2e 54 61 72 67 65 74 2e 73 74 61 63 6b 5f ">align</span>(std.Target.stack_
b76a0 61 6c 69 67 6e 29 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 75 38 align).<span.class="tok-type">u8
b76c0 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"
b76e0 3e 6e 75 6c 6c 3c 2f 73 70 61 6e 3e 2c 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 >null</span>,</span>.<span.class
b7700 3d 22 6c 69 6e 65 22 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e ="line"></span>.<span.class="lin
b7720 65 22 3e 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 70 75 62 3c e">....<span.class="tok-kw">pub<
b7740 2f 73 70 61 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
b7760 74 3c 2f 73 70 61 6e 3e 20 4d 6f 64 69 66 69 65 72 20 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d t</span>.Modifier.=.<span.class=
b7780 22 74 6f 6b 2d 6b 77 22 3e 65 6e 75 6d 3c 2f 73 70 61 6e 3e 20 7b 3c 2f 73 70 61 6e 3e 0a 3c 73 "tok-kw">enum</span>.{</span>.<s
b77a0 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 20 20 20 20 3c 73 70 61 6e 20 63 pan.class="line">........<span.c
b77c0 6c 61 73 73 3d 22 74 6f 6b 2d 63 6f 6d 6d 65 6e 74 22 3e 2f 2f 2f 20 45 71 75 69 76 61 6c 65 6e lass="tok-comment">///.Equivalen
b77e0 74 20 74 6f 20 66 75 6e 63 74 69 6f 6e 20 63 61 6c 6c 20 73 79 6e 74 61 78 2e 3c 2f 73 70 61 6e t.to.function.call.syntax.</span
b7800 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 ></span>.<span.class="line">....
b7820 20 20 20 20 61 75 74 6f 2c 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 ....auto,</span>.<span.class="li
b7840 6e 65 22 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 ne"></span>.<span.class="line">.
b7860 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"
b7880 3e 2f 2f 2f 20 45 71 75 69 76 61 6c 65 6e 74 20 74 6f 20 61 73 79 6e 63 20 6b 65 79 77 6f 72 64 >///.Equivalent.to.async.keyword
b78a0 20 75 73 65 64 20 77 69 74 68 20 66 75 6e 63 74 69 6f 6e 20 63 61 6c 6c 20 73 79 6e 74 61 78 2e .used.with.function.call.syntax.
b78c0 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 </span></span>.<span.class="line
b78e0 22 3e 20 20 20 20 20 20 20 20 61 73 79 6e 63 5f 6b 77 2c 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e ">........async_kw,</span>.<span
b7900 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 .class="line"></span>.<span.clas
b7920 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f s="line">........<span.class="to
b7940 6b 2d 63 6f 6d 6d 65 6e 74 22 3e 2f 2f 2f 20 50 72 65 76 65 6e 74 73 20 74 61 69 6c 20 63 61 6c k-comment">///.Prevents.tail.cal
b7960 6c 20 6f 70 74 69 6d 69 7a 61 74 69 6f 6e 2e 20 54 68 69 73 20 67 75 61 72 61 6e 74 65 65 73 20 l.optimization..This.guarantees.
b7980 74 68 61 74 20 74 68 65 20 72 65 74 75 72 6e 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 that.the.return</span></span>.<s
b79a0 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 20 20 20 20 3c 73 70 61 6e 20 63 pan.class="line">........<span.c
b79c0 6c 61 73 73 3d 22 74 6f 6b 2d 63 6f 6d 6d 65 6e 74 22 3e 2f 2f 2f 20 61 64 64 72 65 73 73 20 77 lass="tok-comment">///.address.w
b79e0 69 6c 6c 20 70 6f 69 6e 74 20 74 6f 20 74 68 65 20 63 61 6c 6c 73 69 74 65 2c 20 61 73 20 6f 70 ill.point.to.the.callsite,.as.op
b7a00 70 6f 73 65 64 20 74 6f 20 74 68 65 20 63 61 6c 6c 73 69 74 65 27 73 3c 2f 73 70 61 6e 3e 3c 2f posed.to.the.callsite's</span></
b7a20 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 20 20 20 span>.<span.class="line">.......
b7a40 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 63 6f 6d 6d 65 6e 74 22 3e 2f 2f 2f 20 63 .<span.class="tok-comment">///.c
b7a60 61 6c 6c 73 69 74 65 2e 20 49 66 20 74 68 65 20 63 61 6c 6c 20 69 73 20 6f 74 68 65 72 77 69 73 allsite..If.the.call.is.otherwis
b7a80 65 20 72 65 71 75 69 72 65 64 20 74 6f 20 62 65 20 74 61 69 6c 2d 63 61 6c 6c 65 64 3c 2f 73 70 e.required.to.be.tail-called</sp
b7aa0 61 6e 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 an></span>.<span.class="line">..
b7ac0 20 20 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 63 6f 6d 6d 65 6e 74 22 3e ......<span.class="tok-comment">
b7ae0 2f 2f 2f 20 6f 72 20 69 6e 6c 69 6e 65 64 2c 20 61 20 63 6f 6d 70 69 6c 65 20 65 72 72 6f 72 20 ///.or.inlined,.a.compile.error.
b7b00 69 73 20 65 6d 69 74 74 65 64 20 69 6e 73 74 65 61 64 2e 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e is.emitted.instead.</span></span
b7b20 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 20 20 20 20 6e 65 76 >.<span.class="line">........nev
b7b40 65 72 5f 74 61 69 6c 2c 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e er_tail,</span>.<span.class="lin
b7b60 65 22 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 e"></span>.<span.class="line">..
b7b80 20 20 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 63 6f 6d 6d 65 6e 74 22 3e ......<span.class="tok-comment">
b7ba0 2f 2f 2f 20 47 75 61 72 61 6e 74 65 65 73 20 74 68 61 74 20 74 68 65 20 63 61 6c 6c 20 77 69 6c ///.Guarantees.that.the.call.wil
b7bc0 6c 20 6e 6f 74 20 62 65 20 69 6e 6c 69 6e 65 64 2e 20 49 66 20 74 68 65 20 63 61 6c 6c 20 69 73 l.not.be.inlined..If.the.call.is
b7be0 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 </span></span>.<span.class="line
b7c00 22 3e 20 20 20 20 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 63 6f 6d 6d 65 ">........<span.class="tok-comme
b7c20 6e 74 22 3e 2f 2f 2f 20 6f 74 68 65 72 77 69 73 65 20 72 65 71 75 69 72 65 64 20 74 6f 20 62 65 nt">///.otherwise.required.to.be
b7c40 20 69 6e 6c 69 6e 65 64 2c 20 61 20 63 6f 6d 70 69 6c 65 20 65 72 72 6f 72 20 69 73 20 65 6d 69 .inlined,.a.compile.error.is.emi
b7c60 74 74 65 64 20 69 6e 73 74 65 61 64 2e 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 tted.instead.</span></span>.<spa
b7c80 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 20 20 20 20 6e 65 76 65 72 5f 69 6e 6c n.class="line">........never_inl
b7ca0 69 6e 65 2c 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c ine,</span>.<span.class="line"><
b7cc0 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 20 20 /span>.<span.class="line">......
b7ce0 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 63 6f 6d 6d 65 6e 74 22 3e 2f 2f 2f 20 ..<span.class="tok-comment">///.
b7d00 41 73 73 65 72 74 73 20 74 68 61 74 20 74 68 65 20 66 75 6e 63 74 69 6f 6e 20 63 61 6c 6c 20 77 Asserts.that.the.function.call.w
b7d20 69 6c 6c 20 6e 6f 74 20 73 75 73 70 65 6e 64 2e 20 54 68 69 73 20 61 6c 6c 6f 77 73 20 61 3c 2f ill.not.suspend..This.allows.a</
b7d40 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e span></span>.<span.class="line">
b7d60 20 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
b7d80 22 3e 2f 2f 2f 20 6e 6f 6e 2d 61 73 79 6e 63 20 66 75 6e 63 74 69 6f 6e 20 74 6f 20 63 61 6c 6c ">///.non-async.function.to.call
b7da0 20 61 6e 20 61 73 79 6e 63 20 66 75 6e 63 74 69 6f 6e 2e 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e .an.async.function.</span></span
b7dc0 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 20 20 20 20 6e 6f 5f >.<span.class="line">........no_
b7de0 61 73 79 6e 63 2c 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 async,</span>.<span.class="line"
b7e00 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 ></span>.<span.class="line">....
b7e20 20 20 20 20 3c 73 70 61 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">//
b7e40 2f 20 47 75 61 72 61 6e 74 65 65 73 20 74 68 61 74 20 74 68 65 20 63 61 6c 6c 20 77 69 6c 6c 20 /.Guarantees.that.the.call.will.
b7e60 62 65 20 67 65 6e 65 72 61 74 65 64 20 77 69 74 68 20 74 61 69 6c 20 63 61 6c 6c 20 6f 70 74 69 be.generated.with.tail.call.opti
b7e80 6d 69 7a 61 74 69 6f 6e 2e 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c mization.</span></span>.<span.cl
b7ea0 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 ass="line">........<span.class="
b7ec0 74 6f 6b 2d 63 6f 6d 6d 65 6e 74 22 3e 2f 2f 2f 20 49 66 20 74 68 69 73 20 69 73 20 6e 6f 74 20 tok-comment">///.If.this.is.not.
b7ee0 70 6f 73 73 69 62 6c 65 2c 20 61 20 63 6f 6d 70 69 6c 65 20 65 72 72 6f 72 20 69 73 20 65 6d 69 possible,.a.compile.error.is.emi
b7f00 74 74 65 64 20 69 6e 73 74 65 61 64 2e 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 tted.instead.</span></span>.<spa
b7f20 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 20 20 20 20 61 6c 77 61 79 73 5f 74 61 n.class="line">........always_ta
b7f40 69 6c 2c 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 2f il,</span>.<span.class="line"></
b7f60 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 20 20 20 span>.<span.class="line">.......
b7f80 20 3c 73 70 61 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
b7fa0 75 61 72 61 6e 74 65 65 73 20 74 68 61 74 20 74 68 65 20 63 61 6c 6c 20 77 69 6c 6c 20 69 6e 6c uarantees.that.the.call.will.inl
b7fc0 69 6e 65 64 20 61 74 20 74 68 65 20 63 61 6c 6c 73 69 74 65 2e 3c 2f 73 70 61 6e 3e 3c 2f 73 70 ined.at.the.callsite.</span></sp
b7fe0 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 20 20 20 20 3c an>.<span.class="line">........<
b8000 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 63 6f 6d 6d 65 6e 74 22 3e 2f 2f 2f 20 49 66 20 span.class="tok-comment">///.If.
b8020 74 68 69 73 20 69 73 20 6e 6f 74 20 70 6f 73 73 69 62 6c 65 2c 20 61 20 63 6f 6d 70 69 6c 65 20 this.is.not.possible,.a.compile.
b8040 65 72 72 6f 72 20 69 73 20 65 6d 69 74 74 65 64 20 69 6e 73 74 65 61 64 2e 3c 2f 73 70 61 6e 3e error.is.emitted.instead.</span>
b8060 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 20 </span>.<span.class="line">.....
b8080 20 20 20 61 6c 77 61 79 73 5f 69 6e 6c 69 6e 65 2c 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 ...always_inline,</span>.<span.c
b80a0 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d lass="line"></span>.<span.class=
b80c0 22 6c 69 6e 65 22 3e 20 20 20 20 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d "line">........<span.class="tok-
b80e0 63 6f 6d 6d 65 6e 74 22 3e 2f 2f 2f 20 45 76 61 6c 75 61 74 65 73 20 74 68 65 20 63 61 6c 6c 20 comment">///.Evaluates.the.call.
b8100 61 74 20 63 6f 6d 70 69 6c 65 2d 74 69 6d 65 2e 20 49 66 20 74 68 65 20 63 61 6c 6c 20 63 61 6e at.compile-time..If.the.call.can
b8120 6e 6f 74 20 62 65 20 63 6f 6d 70 6c 65 74 65 64 20 61 74 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e not.be.completed.at</span></span
b8140 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 20 20 20 20 3c 73 70 >.<span.class="line">........<sp
b8160 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 63 6f 6d 6d 65 6e 74 22 3e 2f 2f 2f 20 63 6f 6d 70 69 an.class="tok-comment">///.compi
b8180 6c 65 2d 74 69 6d 65 2c 20 61 20 63 6f 6d 70 69 6c 65 20 65 72 72 6f 72 20 69 73 20 65 6d 69 74 le-time,.a.compile.error.is.emit
b81a0 74 65 64 20 69 6e 73 74 65 61 64 2e 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e ted.instead.</span></span>.<span
b81c0 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 20 20 20 20 63 6f 6d 70 69 6c 65 5f 74 69 .class="line">........compile_ti
b81e0 6d 65 2c 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 me,</span>.<span.class="line">..
b8200 20 20 7d 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 7d ..};</span>.<span.class="line">}
b8220 3b 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 3c 2f 70 72 65 3e 3c 2f 66 69 67 75 72 65 3e 0a 20 ;</span></code></pre></figure>..
b8240 20 20 20 20 20 0a 0a 20 20 20 20 20 20 3c 68 33 20 69 64 3d 22 63 44 65 66 69 6e 65 22 3e 3c 61 .............<h3.id="cDefine"><a
b8260 20 68 72 65 66 3d 22 23 74 6f 63 2d 63 44 65 66 69 6e 65 22 3e 40 63 44 65 66 69 6e 65 3c 2f 61 .href="#toc-cDefine">@cDefine</a
b8280 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 44 65 66 69 6e 65 22 >.<a.class="hdr".href="#cDefine"
b82a0 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><
b82c0 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 span.class="line"><span.class="t
b82e0 6f 6b 2d 62 75 69 6c 74 69 6e 22 3e 40 63 44 65 66 69 6e 65 3c 2f 73 70 61 6e 3e 28 3c 73 70 61 ok-builtin">@cDefine</span>(<spa
b8300 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>
b8320 20 6e 61 6d 65 3a 20 5b 5d 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e .name:.[]<span.class="tok-type">
b8340 75 38 3c 2f 73 70 61 6e 3e 2c 20 76 61 6c 75 65 29 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 3c u8</span>,.value)</span></code><
b8360 2f 70 72 65 3e 0a 20 20 20 20 20 20 3c 70 3e 0a 20 20 20 20 20 20 54 68 69 73 20 66 75 6e 63 74 /pre>.......<p>.......This.funct
b8380 69 6f 6e 20 63 61 6e 20 6f 6e 6c 79 20 6f 63 63 75 72 20 69 6e 73 69 64 65 20 3c 63 6f 64 65 3e ion.can.only.occur.inside.<code>
b83a0 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 <span.class="line"><span.class="
b83c0 74 6f 6b 2d 62 75 69 6c 74 69 6e 22 3e 40 63 49 6d 70 6f 72 74 3c 2f 73 70 61 6e 3e 3c 2f 73 70 tok-builtin">@cImport</span></sp
b83e0 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>
b8400 0a 20 20 20 20 20 20 54 68 69 73 20 61 70 70 65 6e 64 73 20 3c 63 6f 64 65 3e 23 64 65 66 69 6e .......This.appends.<code>#defin
b8420 65 20 24 6e 61 6d 65 20 24 76 61 6c 75 65 3c 2f 63 6f 64 65 3e 20 74 6f 20 74 68 65 20 3c 63 6f e.$name.$value</code>.to.the.<co
b8440 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 de><span.class="line"><span.clas
b8460 73 3d 22 74 6f 6b 2d 62 75 69 6c 74 69 6e 22 3e 40 63 49 6d 70 6f 72 74 3c 2f 73 70 61 6e 3e 3c s="tok-builtin">@cImport</span><
b8480 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 0a 20 20 20 20 20 20 74 65 6d 70 6f 72 61 72 79 20 62 75 /span></code>.......temporary.bu
b84a0 66 66 65 72 2e 0a 20 20 20 20 20 20 3c 2f 70 3e 0a 20 20 20 20 20 20 3c 70 3e 0a 20 20 20 20 20 ffer........</p>.......<p>......
b84c0 20 54 6f 20 64 65 66 69 6e 65 20 77 69 74 68 6f 75 74 20 61 20 76 61 6c 75 65 2c 20 6c 69 6b 65 .To.define.without.a.value,.like
b84e0 20 74 68 69 73 3a 0a 20 20 20 20 20 20 3c 2f 70 3e 0a 20 20 20 20 20 20 3c 70 72 65 3e 3c 63 6f .this:.......</p>.......<pre><co
b8500 64 65 20 63 6c 61 73 73 3d 22 63 22 3e 23 64 65 66 69 6e 65 20 5f 47 4e 55 5f 53 4f 55 52 43 45 de.class="c">#define._GNU_SOURCE
b8520 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 55 73 </code></pre>.......<p>.......Us
b8540 65 20 74 68 65 20 76 6f 69 64 20 76 61 6c 75 65 2c 20 6c 69 6b 65 20 74 68 69 73 3a 0a 20 20 20 e.the.void.value,.like.this:....
b8560 20 20 20 3c 2f 70 3e 0a 20 20 20 20 20 20 3c 70 72 65 3e 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 ...</p>.......<pre><code><span.c
b8580 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 62 75 69 lass="line"><span.class="tok-bui
b85a0 6c 74 69 6e 22 3e 40 63 44 65 66 69 6e 65 3c 2f 73 70 61 6e 3e 28 3c 73 70 61 6e 20 63 6c 61 73 ltin">@cDefine</span>(<span.clas
b85c0 73 3d 22 74 6f 6b 2d 73 74 72 22 3e 26 71 75 6f 74 3b 5f 47 4e 55 5f 53 4f 55 52 43 45 26 71 75 s="tok-str">&quot;_GNU_SOURCE&qu
b85e0 6f 74 3b 3c 2f 73 70 61 6e 3e 2c 20 7b 7d 29 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 3c 2f 70 ot;</span>,.{})</span></code></p
b8600 72 65 3e 0a 20 20 20 20 20 20 3c 70 3e 53 65 65 20 61 6c 73 6f 3a 3c 2f 70 3e 3c 75 6c 3e 0a 3c re>.......<p>See.also:</p><ul>.<
b8620 6c 69 3e 3c 61 20 68 72 65 66 3d 22 23 49 6d 70 6f 72 74 2d 66 72 6f 6d 2d 43 2d 48 65 61 64 65 li><a.href="#Import-from-C-Heade
b8640 72 2d 46 69 6c 65 22 3e 49 6d 70 6f 72 74 20 66 72 6f 6d 20 43 20 48 65 61 64 65 72 20 46 69 6c r-File">Import.from.C.Header.Fil
b8660 65 3c 2f 61 3e 3c 2f 6c 69 3e 0a 3c 6c 69 3e 3c 61 20 68 72 65 66 3d 22 23 63 49 6e 63 6c 75 64 e</a></li>.<li><a.href="#cInclud
b8680 65 22 3e 40 63 49 6e 63 6c 75 64 65 3c 2f 61 3e 3c 2f 6c 69 3e 0a 3c 6c 69 3e 3c 61 20 68 72 65 e">@cInclude</a></li>.<li><a.hre
b86a0 66 3d 22 23 63 49 6d 70 6f 72 74 22 3e 40 63 49 6d 70 6f 72 74 3c 2f 61 3e 3c 2f 6c 69 3e 0a 3c f="#cImport">@cImport</a></li>.<
b86c0 6c 69 3e 3c 61 20 68 72 65 66 3d 22 23 63 55 6e 64 65 66 22 3e 40 63 55 6e 64 65 66 3c 2f 61 3e li><a.href="#cUndef">@cUndef</a>
b86e0 3c 2f 6c 69 3e 0a 3c 6c 69 3e 3c 61 20 68 72 65 66 3d 22 23 76 6f 69 64 22 3e 76 6f 69 64 3c 2f </li>.<li><a.href="#void">void</
b8700 61 3e 3c 2f 6c 69 3e 0a 3c 2f 75 6c 3e 0a 0a 20 20 20 20 20 20 0a 20 20 20 20 20 20 3c 68 33 20 a></li>.</ul>...............<h3.
b8720 69 64 3d 22 63 49 6d 70 6f 72 74 22 3e 3c 61 20 68 72 65 66 3d 22 23 74 6f 63 2d 63 49 6d 70 6f id="cImport"><a.href="#toc-cImpo
b8740 72 74 22 3e 40 63 49 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 rt">@cImport</a>.<a.class="hdr".
b8760 68 72 65 66 3d 22 23 63 49 6d 70 6f 72 74 22 3e c2 a7 3c 2f 61 3e 3c 2f 68 33 3e 0a 0a 20 20 20 href="#cImport">..</a></h3>.....
b8780 20 20 20 3c 70 72 65 3e 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 ...<pre><code><span.class="line"
b87a0 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 62 75 69 6c 74 69 6e 22 3e 40 63 49 6d 70 ><span.class="tok-builtin">@cImp
b87c0 6f 72 74 3c 2f 73 70 61 6e 3e 28 65 78 70 72 65 73 73 69 6f 6e 29 20 3c 73 70 61 6e 20 63 6c 61 ort</span>(expression).<span.cla
b87e0 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 74 79 70 65 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e ss="tok-type">type</span></span>
b8800 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
b8820 69 73 20 66 75 6e 63 74 69 6f 6e 20 70 61 72 73 65 73 20 43 20 63 6f 64 65 20 61 6e 64 20 69 6d is.function.parses.C.code.and.im
b8840 70 6f 72 74 73 20 74 68 65 20 66 75 6e 63 74 69 6f 6e 73 2c 20 74 79 70 65 73 2c 20 76 61 72 69 ports.the.functions,.types,.vari
b8860 61 62 6c 65 73 2c 0a 20 20 20 20 20 20 61 6e 64 20 63 6f 6d 70 61 74 69 62 6c 65 20 6d 61 63 72 ables,.......and.compatible.macr
b8880 6f 20 64 65 66 69 6e 69 74 69 6f 6e 73 20 69 6e 74 6f 20 61 20 6e 65 77 20 65 6d 70 74 79 20 73 o.definitions.into.a.new.empty.s
b88a0 74 72 75 63 74 20 74 79 70 65 2c 20 61 6e 64 20 74 68 65 6e 0a 20 20 20 20 20 20 72 65 74 75 72 truct.type,.and.then.......retur
b88c0 6e 73 20 74 68 61 74 20 74 79 70 65 2e 0a 20 20 20 20 20 20 3c 2f 70 3e 0a 20 20 20 20 20 20 3c ns.that.type........</p>.......<
b88e0 70 3e 0a 20 20 20 20 20 20 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 p>.......<code><span.class="line
b8900 22 3e 65 78 70 72 65 73 73 69 6f 6e 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 20 69 73 20 69 6e ">expression</span></code>.is.in
b8920 74 65 72 70 72 65 74 65 64 20 61 74 20 63 6f 6d 70 69 6c 65 20 74 69 6d 65 2e 20 54 68 65 20 62 terpreted.at.compile.time..The.b
b8940 75 69 6c 74 69 6e 20 66 75 6e 63 74 69 6f 6e 73 0a 20 20 20 20 20 20 20 20 20 20 3c 63 6f 64 65 uiltin.functions...........<code
b8960 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d ><span.class="line"><span.class=
b8980 22 74 6f 6b 2d 62 75 69 6c 74 69 6e 22 3e 40 63 49 6e 63 6c 75 64 65 3c 2f 73 70 61 6e 3e 3c 2f "tok-builtin">@cInclude</span></
b89a0 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=
b89c0 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 62 75 69 6c 74 69 6e 22 "line"><span.class="tok-builtin"
b89e0 3e 40 63 44 65 66 69 6e 65 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 2c 20 >@cDefine</span></span></code>,.
b8a00 61 6e 64 20 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 and.<code><span.class="line"><sp
b8a20 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 62 75 69 6c 74 69 6e 22 3e 40 63 55 6e 64 65 66 3c 2f an.class="tok-builtin">@cUndef</
b8a40 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 20 77 6f 72 6b 0a 20 20 20 20 20 20 77 span></span></code>.work.......w
b8a60 69 74 68 69 6e 20 74 68 69 73 20 65 78 70 72 65 73 73 69 6f 6e 2c 20 61 70 70 65 6e 64 69 6e 67 ithin.this.expression,.appending
b8a80 20 74 6f 20 61 20 74 65 6d 70 6f 72 61 72 79 20 62 75 66 66 65 72 20 77 68 69 63 68 20 69 73 20 .to.a.temporary.buffer.which.is.
b8aa0 74 68 65 6e 20 70 61 72 73 65 64 20 61 73 20 43 20 63 6f 64 65 2e 0a 20 20 20 20 20 20 3c 2f 70 then.parsed.as.C.code........</p
b8ac0 3e 0a 20 20 20 20 20 20 3c 70 3e 0a 20 20 20 20 20 20 55 73 75 61 6c 6c 79 20 79 6f 75 20 73 68 >.......<p>.......Usually.you.sh
b8ae0 6f 75 6c 64 20 6f 6e 6c 79 20 68 61 76 65 20 6f 6e 65 20 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 ould.only.have.one.<code><span.c
b8b00 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 62 75 69 lass="line"><span.class="tok-bui
b8b20 6c 74 69 6e 22 3e 40 63 49 6d 70 6f 72 74 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 3c 2f 63 6f ltin">@cImport</span></span></co
b8b40 64 65 3e 20 69 6e 20 79 6f 75 72 20 65 6e 74 69 72 65 20 61 70 70 6c 69 63 61 74 69 6f 6e 2c 20 de>.in.your.entire.application,.
b8b60 62 65 63 61 75 73 65 20 69 74 20 73 61 76 65 73 20 74 68 65 20 63 6f 6d 70 69 6c 65 72 0a 20 20 because.it.saves.the.compiler...
b8b80 20 20 20 20 66 72 6f 6d 20 69 6e 76 6f 6b 69 6e 67 20 63 6c 61 6e 67 20 6d 75 6c 74 69 70 6c 65 ....from.invoking.clang.multiple
b8ba0 20 74 69 6d 65 73 2c 20 61 6e 64 20 70 72 65 76 65 6e 74 73 20 69 6e 6c 69 6e 65 20 66 75 6e 63 .times,.and.prevents.inline.func
b8bc0 74 69 6f 6e 73 20 66 72 6f 6d 20 62 65 69 6e 67 20 64 75 70 6c 69 63 61 74 65 64 2e 0a 20 20 20 tions.from.being.duplicated.....
b8be0 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 61 73 6f 6e 73 20 ...</p>.......<p>.......Reasons.
b8c00 66 6f 72 20 68 61 76 69 6e 67 20 6d 75 6c 74 69 70 6c 65 20 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 for.having.multiple.<code><span.
b8c20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 62 75 class="line"><span.class="tok-bu
b8c40 69 6c 74 69 6e 22 3e 40 63 49 6d 70 6f 72 74 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 3c 2f 63 iltin">@cImport</span></span></c
b8c60 6f 64 65 3e 20 65 78 70 72 65 73 73 69 6f 6e 73 20 77 6f 75 6c 64 20 62 65 3a 0a 20 20 20 20 20 ode>.expressions.would.be:......
b8c80 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 54 .</p>.......<ul>...........<li>T
b8ca0 6f 20 61 76 6f 69 64 20 61 20 73 79 6d 62 6f 6c 20 63 6f 6c 6c 69 73 69 6f 6e 2c 20 66 6f 72 20 o.avoid.a.symbol.collision,.for.
b8cc0 65 78 61 6d 70 6c 65 20 69 66 20 66 6f 6f 2e 68 20 61 6e 64 20 62 61 72 2e 68 20 62 6f 74 68 20 example.if.foo.h.and.bar.h.both.
b8ce0 3c 63 6f 64 65 3e 23 64 65 66 69 6e 65 20 43 4f 4e 4e 45 43 54 49 4f 4e 5f 43 4f 55 4e 54 3c 2f <code>#define.CONNECTION_COUNT</
b8d00 63 6f 64 65 3e 3c 2f 6c 69 3e 0a 20 20 20 20 20 20 20 20 3c 6c 69 3e 54 6f 20 61 6e 61 6c 79 7a code></li>.........<li>To.analyz
b8d20 65 20 74 68 65 20 43 20 63 6f 64 65 20 77 69 74 68 20 64 69 66 66 65 72 65 6e 74 20 70 72 65 70 e.the.C.code.with.different.prep
b8d40 72 6f 63 65 73 73 6f 72 20 64 65 66 69 6e 65 73 3c 2f 6c 69 3e 0a 20 20 20 20 20 20 3c 2f 75 6c rocessor.defines</li>.......</ul
b8d60 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
b8d80 3e 3c 61 20 68 72 65 66 3d 22 23 49 6d 70 6f 72 74 2d 66 72 6f 6d 2d 43 2d 48 65 61 64 65 72 2d ><a.href="#Import-from-C-Header-
b8da0 46 69 6c 65 22 3e 49 6d 70 6f 72 74 20 66 72 6f 6d 20 43 20 48 65 61 64 65 72 20 46 69 6c 65 3c File">Import.from.C.Header.File<
b8dc0 2f 61 3e 3c 2f 6c 69 3e 0a 3c 6c 69 3e 3c 61 20 68 72 65 66 3d 22 23 63 49 6e 63 6c 75 64 65 22 /a></li>.<li><a.href="#cInclude"
b8de0 3e 40 63 49 6e 63 6c 75 64 65 3c 2f 61 3e 3c 2f 6c 69 3e 0a 3c 6c 69 3e 3c 61 20 68 72 65 66 3d >@cInclude</a></li>.<li><a.href=
b8e00 22 23 63 44 65 66 69 6e 65 22 3e 40 63 44 65 66 69 6e 65 3c 2f 61 3e 3c 2f 6c 69 3e 0a 3c 6c 69 "#cDefine">@cDefine</a></li>.<li
b8e20 3e 3c 61 20 68 72 65 66 3d 22 23 63 55 6e 64 65 66 22 3e 40 63 55 6e 64 65 66 3c 2f 61 3e 3c 2f ><a.href="#cUndef">@cUndef</a></
b8e40 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 22 li>.</ul>...............<h3.id="
b8e60 63 49 6e 63 6c 75 64 65 22 3e 3c 61 20 68 72 65 66 3d 22 23 74 6f 63 2d 63 49 6e 63 6c 75 64 65 cInclude"><a.href="#toc-cInclude
b8e80 22 3e 40 63 49 6e 63 6c 75 64 65 3c 2f 61 3e 20 3c 61 20 63 6c 61 73 73 3d 22 68 64 72 22 20 68 ">@cInclude</a>.<a.class="hdr".h
b8ea0 72 65 66 3d 22 23 63 49 6e 63 6c 75 64 65 22 3e c2 a7 3c 2f 61 3e 3c 2f 68 33 3e 0a 0a 20 20 20 ref="#cInclude">..</a></h3>.....
b8ec0 20 20 20 3c 70 72 65 3e 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 ...<pre><code><span.class="line"
b8ee0 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 62 75 69 6c 74 69 6e 22 3e 40 63 49 6e 63 ><span.class="tok-builtin">@cInc
b8f00 6c 75 64 65 3c 2f 73 70 61 6e 3e 28 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 lude</span>(<span.class="tok-kw"
b8f20 3e 63 6f 6d 70 74 69 6d 65 3c 2f 73 70 61 6e 3e 20 70 61 74 68 3a 20 5b 5d 3c 73 70 61 6e 20 63 >comptime</span>.path:.[]<span.c
b8f40 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 75 38 3c 2f 73 70 61 6e 3e 29 3c 2f 73 70 61 6e lass="tok-type">u8</span>)</span
b8f60 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
b8f80 68 69 73 20 66 75 6e 63 74 69 6f 6e 20 63 61 6e 20 6f 6e 6c 79 20 6f 63 63 75 72 20 69 6e 73 69 his.function.can.only.occur.insi
b8fa0 64 65 20 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 de.<code><span.class="line"><spa
b8fc0 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 62 75 69 6c 74 69 6e 22 3e 40 63 49 6d 70 6f 72 74 3c 2f n.class="tok-builtin">@cImport</
b8fe0 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 2e 0a 20 20 20 20 20 20 3c 2f 70 3e 0a span></span></code>........</p>.
b9000 20 20 20 20 20 20 3c 70 3e 0a 20 20 20 20 20 20 54 68 69 73 20 61 70 70 65 6e 64 73 20 3c 63 6f ......<p>.......This.appends.<co
b9020 64 65 3e 23 69 6e 63 6c 75 64 65 20 26 6c 74 3b 24 70 61 74 68 26 67 74 3b 5c 6e 3c 2f 63 6f 64 de>#include.&lt;$path&gt;\n</cod
b9040 65 3e 20 74 6f 20 74 68 65 20 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e e>.to.the.<code><span.class="lin
b9060 65 22 3e 63 5f 69 6d 70 6f 72 74 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 0a 20 20 20 20 20 20 e">c_import</span></code>.......
b9080 74 65 6d 70 6f 72 61 72 79 20 62 75 66 66 65 72 2e 0a 20 20 20 20 20 20 3c 2f 70 3e 0a 20 20 20 temporary.buffer........</p>....
b90a0 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
b90c0 72 65 66 3d 22 23 49 6d 70 6f 72 74 2d 66 72 6f 6d 2d 43 2d 48 65 61 64 65 72 2d 46 69 6c 65 22 ref="#Import-from-C-Header-File"
b90e0 3e 49 6d 70 6f 72 74 20 66 72 6f 6d 20 43 20 48 65 61 64 65 72 20 46 69 6c 65 3c 2f 61 3e 3c 2f >Import.from.C.Header.File</a></
b9100 6c 69 3e 0a 3c 6c 69 3e 3c 61 20 68 72 65 66 3d 22 23 63 49 6d 70 6f 72 74 22 3e 40 63 49 6d 70 li>.<li><a.href="#cImport">@cImp
b9120 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 63 44 65 66 69 ort</a></li>.<li><a.href="#cDefi
b9140 6e 65 22 3e 40 63 44 65 66 69 6e 65 3c 2f 61 3e 3c 2f 6c 69 3e 0a 3c 6c 69 3e 3c 61 20 68 72 65 ne">@cDefine</a></li>.<li><a.hre
b9160 66 3d 22 23 63 55 6e 64 65 66 22 3e 40 63 55 6e 64 65 66 3c 2f 61 3e 3c 2f 6c 69 3e 0a 3c 2f 75 f="#cUndef">@cUndef</a></li>.</u
b9180 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 6c 7a 22 3e 3c l>................<h3.id="clz"><
b91a0 61 20 68 72 65 66 3d 22 23 74 6f 63 2d 63 6c 7a 22 3e 40 63 6c 7a 3c 2f 61 3e 20 3c 61 20 63 6c a.href="#toc-clz">@clz</a>.<a.cl
b91c0 61 73 73 3d 22 68 64 72 22 20 68 72 65 66 3d 22 23 63 6c 7a 22 3e c2 a7 3c 2f 61 3e 3c 2f 68 33 ass="hdr".href="#clz">..</a></h3
b91e0 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=
b9200 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 62 75 69 6c 74 69 6e 22 "line"><span.class="tok-builtin"
b9220 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 6c 61 73 >@clz</span>(operand:.<span.clas
b9240 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 3c 2f 73 70 61 6e s="tok-kw">anytype</span>)</span
b9260 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
b9280 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f pan.class="line"><span.class="to
b92a0 6b 2d 62 75 69 6c 74 69 6e 22 3e 40 54 79 70 65 4f 66 3c 2f 73 70 61 6e 3e 28 6f 70 65 72 61 6e k-builtin">@TypeOf</span>(operan
b92c0 64 29 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 20 6d 75 73 74 20 62 65 20 61 6e 20 69 6e 74 65 d)</span></code>.must.be.an.inte
b92e0 67 65 72 20 74 79 70 65 20 6f 72 20 61 6e 20 69 6e 74 65 67 65 72 20 76 65 63 74 6f 72 20 74 79 ger.type.or.an.integer.vector.ty
b9300 70 65 2e 3c 2f 70 3e 0a 20 20 20 20 20 20 3c 70 3e 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 pe.</p>.......<p><code><span.cla
b9320 73 73 3d 22 6c 69 6e 65 22 3e 6f 70 65 72 61 6e 64 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 20 ss="line">operand</span></code>.
b9340 6d 61 79 20 62 65 20 61 6e 20 3c 61 20 68 72 65 66 3d 22 23 49 6e 74 65 67 65 72 73 22 3e 69 6e may.be.an.<a.href="#Integers">in
b9360 74 65 67 65 72 3c 2f 61 3e 20 6f 72 20 3c 61 20 68 72 65 66 3d 22 23 56 65 63 74 6f 72 73 22 3e teger</a>.or.<a.href="#Vectors">
b9380 76 65 63 74 6f 72 3c 2f 61 3e 2e 3c 2f 70 3e 0a 20 20 20 20 20 20 3c 70 3e 0a 20 20 20 20 20 20 vector</a>.</p>.......<p>.......
b93a0 54 68 69 73 20 66 75 6e 63 74 69 6f 6e 20 63 6f 75 6e 74 73 20 74 68 65 20 6e 75 6d 62 65 72 20 This.function.counts.the.number.
b93c0 6f 66 20 6d 6f 73 74 2d 73 69 67 6e 69 66 69 63 61 6e 74 20 28 6c 65 61 64 69 6e 67 20 69 6e 20 of.most-significant.(leading.in.
b93e0 61 20 62 69 67 2d 45 6e 64 69 61 6e 20 73 65 6e 73 65 29 20 7a 65 72 6f 65 73 20 69 6e 20 61 6e a.big-Endian.sense).zeroes.in.an
b9400 20 69 6e 74 65 67 65 72 2e 0a 20 20 20 20 20 20 3c 2f 70 3e 0a 20 20 20 20 20 20 3c 70 3e 0a 20 .integer........</p>.......<p>..
b9420 20 20 20 20 20 49 66 20 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 .....If.<code><span.class="line"
b9440 3e 6f 70 65 72 61 6e 64 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 20 69 73 20 61 20 3c 61 20 68 >operand</span></code>.is.a.<a.h
b9460 72 65 66 3d 22 23 63 6f 6d 70 74 69 6d 65 22 3e 63 6f 6d 70 74 69 6d 65 3c 2f 61 3e 2d 6b 6e 6f ref="#comptime">comptime</a>-kno
b9480 77 6e 20 69 6e 74 65 67 65 72 2c 0a 20 20 20 20 20 20 74 68 65 20 72 65 74 75 72 6e 20 74 79 70 wn.integer,.......the.return.typ
b94a0 65 20 69 73 20 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 e.is.<code><span.class="line"><s
b94c0 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
b94e0 74 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 2e 0a 20 20 20 20 20 20 4f 74 t</span></span></code>........Ot
b9500 68 65 72 77 69 73 65 2c 20 74 68 65 20 72 65 74 75 72 6e 20 74 79 70 65 20 69 73 20 61 6e 20 75 herwise,.the.return.type.is.an.u
b9520 6e 73 69 67 6e 65 64 20 69 6e 74 65 67 65 72 20 6f 72 20 76 65 63 74 6f 72 20 6f 66 20 75 6e 73 nsigned.integer.or.vector.of.uns
b9540 69 67 6e 65 64 20 69 6e 74 65 67 65 72 73 20 77 69 74 68 20 74 68 65 20 6d 69 6e 69 6d 75 6d 20 igned.integers.with.the.minimum.
b9560 6e 75 6d 62 65 72 0a 20 20 20 20 20 20 6f 66 20 62 69 74 73 20 74 68 61 74 20 63 61 6e 20 72 65 number.......of.bits.that.can.re
b9580 70 72 65 73 65 6e 74 20 74 68 65 20 62 69 74 20 63 6f 75 6e 74 20 6f 66 20 74 68 65 20 69 6e 74 present.the.bit.count.of.the.int
b95a0 65 67 65 72 20 74 79 70 65 2e 0a 20 20 20 20 20 20 3c 2f 70 3e 0a 20 20 20 20 20 20 3c 70 3e 0a eger.type........</p>.......<p>.
b95c0 20 20 20 20 20 20 49 66 20 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 ......If.<code><span.class="line
b95e0 22 3e 6f 70 65 72 61 6e 64 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 20 69 73 20 7a 65 72 6f 2c ">operand</span></code>.is.zero,
b9600 20 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 .<code><span.class="line"><span.
b9620 63 6c 61 73 73 3d 22 74 6f 6b 2d 62 75 69 6c 74 69 6e 22 3e 40 63 6c 7a 3c 2f 73 70 61 6e 3e 3c class="tok-builtin">@clz</span><
b9640 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 20 72 65 74 75 72 6e 73 20 74 68 65 20 62 69 74 20 77 69 /span></code>.returns.the.bit.wi
b9660 64 74 68 0a 20 20 20 20 20 20 6f 66 20 69 6e 74 65 67 65 72 20 74 79 70 65 20 3c 63 6f 64 65 3e dth.......of.integer.type.<code>
b9680 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 54 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 <span.class="line">T</span></cod
b96a0 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
b96c0 3a 3c 2f 70 3e 3c 75 6c 3e 0a 3c 6c 69 3e 3c 61 20 68 72 65 66 3d 22 23 63 74 7a 22 3e 40 63 74 :</p><ul>.<li><a.href="#ctz">@ct
b96e0 7a 3c 2f 61 3e 3c 2f 6c 69 3e 0a 3c 6c 69 3e 3c 61 20 68 72 65 66 3d 22 23 70 6f 70 43 6f 75 6e z</a></li>.<li><a.href="#popCoun
b9700 74 22 3e 40 70 6f 70 43 6f 75 6e 74 3c 2f 61 3e 3c 2f 6c 69 3e 0a 3c 2f 75 6c 3e 0a 0a 20 20 20 t">@popCount</a></li>.</ul>.....
b9720 20 20 20 0a 0a 20 20 20 20 20 20 3c 68 33 20 69 64 3d 22 63 6d 70 78 63 68 67 53 74 72 6f 6e 67 ...........<h3.id="cmpxchgStrong
b9740 22 3e 3c 61 20 68 72 65 66 3d 22 23 74 6f 63 2d 63 6d 70 78 63 68 67 53 74 72 6f 6e 67 22 3e 40 "><a.href="#toc-cmpxchgStrong">@
b9760 63 6d 70 78 63 68 67 53 74 72 6f 6e 67 3c 2f 61 3e 20 3c 61 20 63 6c 61 73 73 3d 22 68 64 72 22 cmpxchgStrong</a>.<a.class="hdr"
b9780 20 68 72 65 66 3d 22 23 63 6d 70 78 63 68 67 53 74 72 6f 6e 67 22 3e c2 a7 3c 2f 61 3e 3c 2f 68 .href="#cmpxchgStrong">..</a></h
b97a0 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
b97c0 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 62 75 69 6c 74 69 6e ="line"><span.class="tok-builtin
b97e0 22 3e 40 63 6d 70 78 63 68 67 53 74 72 6f 6e 67 3c 2f 73 70 61 6e 3e 28 3c 73 70 61 6e 20 63 6c ">@cmpxchgStrong</span>(<span.cl
b9800 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:.
b9820 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
b9840 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,.
b9860 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
b9880 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
b98a0 72 29 20 3f 54 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 3c 2f 70 72 65 3e 0a 20 20 20 20 20 20 r).?T</span></code></pre>.......
b98c0 3c 70 3e 0a 20 20 20 20 20 20 54 68 69 73 20 66 75 6e 63 74 69 6f 6e 20 70 65 72 66 6f 72 6d 73 <p>.......This.function.performs
b98e0 20 61 20 73 74 72 6f 6e 67 20 61 74 6f 6d 69 63 20 63 6f 6d 70 61 72 65 20 65 78 63 68 61 6e 67 .a.strong.atomic.compare.exchang
b9900 65 20 6f 70 65 72 61 74 69 6f 6e 2e 20 49 74 27 73 20 74 68 65 20 65 71 75 69 76 61 6c 65 6e 74 e.operation..It's.the.equivalent
b9920 20 6f 66 20 74 68 69 73 20 63 6f 64 65 2c 0a 20 20 20 20 20 20 65 78 63 65 70 74 20 61 74 6f 6d .of.this.code,.......except.atom
b9940 69 63 3a 0a 20 20 20 20 20 20 3c 2f 70 3e 0a 20 20 20 20 20 20 3c 66 69 67 75 72 65 3e 3c 66 69 ic:.......</p>.......<figure><fi
b9960 67 63 61 70 74 69 6f 6e 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
b9980 6c 61 73 73 3d 22 66 69 6c 65 22 3e 74 65 73 74 2e 7a 69 67 3c 2f 63 69 74 65 3e 3c 2f 66 69 67 lass="file">test.zig</cite></fig
b99a0 63 61 70 74 69 6f 6e 3e 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="
b99c0 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 66 6e 3c 2f 73 line"><span.class="tok-kw">fn</s
b99e0 70 61 6e 3e 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 66 6e 22 3e 63 6d 70 78 63 68 pan>.<span.class="tok-fn">cmpxch
b9a00 67 53 74 72 6f 6e 67 42 75 74 4e 6f 74 41 74 6f 6d 69 63 3c 2f 73 70 61 6e 3e 28 3c 73 70 61 6e gStrongButNotAtomic</span>(<span
b9a20 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>.
b9a40 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</
b9a60 73 70 61 6e 3e 2c 20 70 74 72 3a 20 2a 54 2c 20 65 78 70 65 63 74 65 64 5f 76 61 6c 75 65 3a 20 span>,.ptr:.*T,.expected_value:.
b9a80 54 2c 20 6e 65 77 5f 76 61 6c 75 65 3a 20 54 29 20 3f 54 20 7b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 T,.new_value:.T).?T.{</span>.<sp
b9aa0 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d an.class="line">....<span.class=
b9ac0 22 74 6f 6b 2d 6b 77 22 3e 63 6f 6e 73 74 3c 2f 73 70 61 6e 3e 20 6f 6c 64 5f 76 61 6c 75 65 20 "tok-kw">const</span>.old_value.
b9ae0 3d 20 70 74 72 2e 2a 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e =.ptr.*;</span>.<span.class="lin
b9b00 65 22 3e 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 69 66 3c 2f e">....<span.class="tok-kw">if</
b9b20 73 70 61 6e 3e 20 28 6f 6c 64 5f 76 61 6c 75 65 20 3d 3d 20 65 78 70 65 63 74 65 64 5f 76 61 6c span>.(old_value.==.expected_val
b9b40 75 65 29 20 7b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e ue).{</span>.<span.class="line">
b9b60 20 20 20 20 20 20 20 20 70 74 72 2e 2a 20 3d 20 6e 65 77 5f 76 61 6c 75 65 3b 3c 2f 73 70 61 6e ........ptr.*.=.new_value;</span
b9b80 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 20 20 20 20 3c 73 70 >.<span.class="line">........<sp
b9ba0 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>.
b9bc0 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
b9be0 6e 3e 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 n>;</span>.<span.class="line">..
b9c00 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
b9c20 70 61 6e 3e 20 7b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 pan>.{</span>.<span.class="line"
b9c40 3e 20 20 20 20 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 72 65 >........<span.class="tok-kw">re
b9c60 74 75 72 6e 3c 2f 73 70 61 6e 3e 20 6f 6c 64 5f 76 61 6c 75 65 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 turn</span>.old_value;</span>.<s
b9c80 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 7d 3c 2f 73 70 61 6e 3e 0a 3c 73 pan.class="line">....}</span>.<s
b9ca0 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 7d 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e pan.class="line">}</span></code>
b9cc0 3c 2f 70 72 65 3e 3c 2f 66 69 67 75 72 65 3e 0a 20 20 20 20 20 20 3c 70 3e 0a 20 20 20 20 20 20 </pre></figure>.......<p>.......
b9ce0 49 66 20 79 6f 75 20 61 72 65 20 75 73 69 6e 67 20 63 6d 70 78 63 68 67 20 69 6e 20 61 20 6c 6f If.you.are.using.cmpxchg.in.a.lo
b9d00 6f 70 2c 20 3c 61 20 68 72 65 66 3d 22 23 63 6d 70 78 63 68 67 57 65 61 6b 22 3e 40 63 6d 70 78 op,.<a.href="#cmpxchgWeak">@cmpx
b9d20 63 68 67 57 65 61 6b 3c 2f 61 3e 20 69 73 20 74 68 65 20 62 65 74 74 65 72 20 63 68 6f 69 63 65 chgWeak</a>.is.the.better.choice
b9d40 2c 20 62 65 63 61 75 73 65 20 69 74 20 63 61 6e 20 62 65 20 69 6d 70 6c 65 6d 65 6e 74 65 64 0a ,.because.it.can.be.implemented.
b9d60 20 20 20 20 20 20 6d 6f 72 65 20 65 66 66 69 63 69 65 6e 74 6c 79 20 69 6e 20 6d 61 63 68 69 6e ......more.efficiently.in.machin
b9d80 65 20 69 6e 73 74 72 75 63 74 69 6f 6e 73 2e 0a 20 20 20 20 20 20 3c 2f 70 3e 0a 20 20 20 20 20 e.instructions........</p>......
b9da0 20 3c 70 3e 0a 20 20 20 20 20 20 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 .<p>.......<code><span.class="li
b9dc0 6e 65 22 3e 54 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 20 6d 75 73 74 20 62 65 20 61 20 70 6f ne">T</span></code>.must.be.a.po
b9de0 69 6e 74 65 72 2c 20 61 20 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 inter,.a.<code><span.class="line
b9e00 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 62 6f 6f 6c 3c 2f 73 "><span.class="tok-type">bool</s
b9e20 70 61 6e 3e 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 2c 20 61 20 66 6c 6f 61 74 2c 0a 20 20 20 pan></span></code>,.a.float,....
b9e40 20 20 20 61 6e 20 69 6e 74 65 67 65 72 20 6f 72 20 61 6e 20 65 6e 75 6d 2e 0a 20 20 20 20 20 20 ...an.integer.or.an.enum........
b9e60 3c 2f 70 3e 0a 20 20 20 20 20 20 3c 70 3e 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d </p>.......<p><code><span.class=
b9e80 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 62 75 69 6c 74 69 6e 22 "line"><span.class="tok-builtin"
b9ea0 3e 40 74 79 70 65 49 6e 66 6f 3c 2f 73 70 61 6e 3e 28 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 >@typeInfo</span>(<span.class="t
b9ec0 6f 6b 2d 62 75 69 6c 74 69 6e 22 3e 40 54 79 70 65 4f 66 3c 2f 73 70 61 6e 3e 28 70 74 72 29 29 ok-builtin">@TypeOf</span>(ptr))
b9ee0 2e 50 6f 69 6e 74 65 72 2e 61 6c 69 67 6e 6d 65 6e 74 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e .Pointer.alignment</span></code>
b9f00 20 6d 75 73 74 20 62 65 20 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 .must.be.<code><span.class="line
b9f20 22 3e 26 67 74 3b 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 62 75 69 6c 74 69 6e ">&gt;=.<span.class="tok-builtin
b9f40 22 3e 40 73 69 7a 65 4f 66 3c 2f 73 70 61 6e 3e 28 54 29 2e 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 ">@sizeOf</span>(T).</span></cod
b9f60 65 3e 3c 2f 70 3e 0a 20 20 20 20 20 20 3c 70 3e 53 65 65 20 61 6c 73 6f 3a 3c 2f 70 3e 3c 75 6c e></p>.......<p>See.also:</p><ul
b9f80 3e 0a 3c 6c 69 3e 3c 61 20 68 72 65 66 3d 22 23 61 74 6f 6d 69 63 53 74 6f 72 65 22 3e 40 61 74 >.<li><a.href="#atomicStore">@at
b9fa0 6f 6d 69 63 53 74 6f 72 65 3c 2f 61 3e 3c 2f 6c 69 3e 0a 3c 6c 69 3e 3c 61 20 68 72 65 66 3d 22 omicStore</a></li>.<li><a.href="
b9fc0 23 61 74 6f 6d 69 63 4c 6f 61 64 22 3e 40 61 74 6f 6d 69 63 4c 6f 61 64 3c 2f 61 3e 3c 2f 6c 69 #atomicLoad">@atomicLoad</a></li
b9fe0 3e 0a 3c 6c 69 3e 3c 61 20 68 72 65 66 3d 22 23 61 74 6f 6d 69 63 52 6d 77 22 3e 40 61 74 6f 6d >.<li><a.href="#atomicRmw">@atom
ba000 69 63 52 6d 77 3c 2f 61 3e 3c 2f 6c 69 3e 0a 3c 6c 69 3e 3c 61 20 68 72 65 66 3d 22 23 66 65 6e icRmw</a></li>.<li><a.href="#fen
ba020 63 65 22 3e 40 66 65 6e 63 65 3c 2f 61 3e 3c 2f 6c 69 3e 0a 3c 6c 69 3e 3c 61 20 68 72 65 66 3d ce">@fence</a></li>.<li><a.href=
ba040 22 23 63 6d 70 78 63 68 67 57 65 61 6b 22 3e 40 63 6d 70 78 63 68 67 57 65 61 6b 3c 2f 61 3e 3c "#cmpxchgWeak">@cmpxchgWeak</a><
ba060 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
ba080 3d 22 63 6d 70 78 63 68 67 57 65 61 6b 22 3e 3c 61 20 68 72 65 66 3d 22 23 74 6f 63 2d 63 6d 70 ="cmpxchgWeak"><a.href="#toc-cmp
ba0a0 78 63 68 67 57 65 61 6b 22 3e 40 63 6d 70 78 63 68 67 57 65 61 6b 3c 2f 61 3e 20 3c 61 20 63 6c xchgWeak">@cmpxchgWeak</a>.<a.cl
ba0c0 61 73 73 3d 22 68 64 72 22 20 68 72 65 66 3d 22 23 63 6d 70 78 63 68 67 57 65 61 6b 22 3e c2 a7 ass="hdr".href="#cmpxchgWeak">..
ba0e0 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
ba100 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d n.class="line"><span.class="tok-
ba120 62 75 69 6c 74 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 builtin">@cmpxchgWeak</span>(<sp
ba140 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
ba160 3e 20 54 3a 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 74 79 70 65 >.T:.<span.class="tok-type">type
ba180 3c 2f 73 70 61 6e 3e 2c 20 70 74 72 3a 20 2a 54 2c 20 65 78 70 65 63 74 65 64 5f 76 61 6c 75 65 </span>,.ptr:.*T,.expected_value
ba1a0 3a 20 54 2c 20 6e 65 77 5f 76 61 6c 75 65 3a 20 54 2c 20 73 75 63 63 65 73 73 5f 6f 72 64 65 72 :.T,.new_value:.T,.success_order
ba1c0 3a 20 41 74 6f 6d 69 63 4f 72 64 65 72 2c 20 66 61 69 6c 5f 6f 72 64 65 72 3a 20 41 74 6f 6d 69 :.AtomicOrder,.fail_order:.Atomi
ba1e0 63 4f 72 64 65 72 29 20 3f 54 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 3c 2f 70 72 65 3e 0a 20 cOrder).?T</span></code></pre>..
ba200 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 70 65 72 .....<p>.......This.function.per
ba220 66 6f 72 6d 73 20 61 20 77 65 61 6b 20 61 74 6f 6d 69 63 20 63 6f 6d 70 61 72 65 20 65 78 63 68 forms.a.weak.atomic.compare.exch
ba240 61 6e 67 65 20 6f 70 65 72 61 74 69 6f 6e 2e 20 49 74 27 73 20 74 68 65 20 65 71 75 69 76 61 6c ange.operation..It's.the.equival
ba260 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 78 63 65 70 74 20 61 ent.of.this.code,.......except.a
ba280 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 66 69 67 75 72 65 3e tomic:.......</p>.......<figure>
ba2a0 3c 66 69 67 63 61 70 74 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
ba2c0 65 20 63 6c 61 73 73 3d 22 66 69 6c 65 22 3e 63 6d 70 78 63 68 67 57 65 61 6b 42 75 74 4e 6f 74 e.class="file">cmpxchgWeakButNot
ba2e0 41 74 6f 6d 69 63 3c 2f 63 69 74 65 3e 3c 2f 66 69 67 63 61 70 74 69 6f 6e 3e 3c 70 72 65 3e 3c Atomic</cite></figcaption><pre><
ba300 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c code><span.class="line"><span.cl
ba320 61 73 73 3d 22 74 6f 6b 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
ba340 73 73 3d 22 74 6f 6b 2d 66 6e 22 3e 63 6d 70 78 63 68 67 57 65 61 6b 42 75 74 4e 6f 74 41 74 6f ss="tok-fn">cmpxchgWeakButNotAto
ba360 6d 69 63 3c 2f 73 70 61 6e 3e 28 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e mic</span>(<span.class="tok-kw">
ba380 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="
ba3a0 74 6f 6b 2d 74 79 70 65 22 3e 74 79 70 65 3c 2f 73 70 61 6e 3e 2c 20 70 74 72 3a 20 2a 54 2c 20 tok-type">type</span>,.ptr:.*T,.
ba3c0 65 78 70 65 63 74 65 64 5f 76 61 6c 75 65 3a 20 54 2c 20 6e 65 77 5f 76 61 6c 75 65 3a 20 54 29 expected_value:.T,.new_value:.T)
ba3e0 20 3f 54 20 7b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e .?T.{</span>.<span.class="line">
ba400 20 20 20 20 3c 73 70 61 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</
ba420 73 70 61 6e 3e 20 6f 6c 64 5f 76 61 6c 75 65 20 3d 20 70 74 72 2e 2a 3b 3c 2f 73 70 61 6e 3e 0a span>.old_value.=.ptr.*;</span>.
ba440 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 <span.class="line">....<span.cla
ba460 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 6c 75 65 ss="tok-kw">if</span>.(old_value
ba480 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 73 3d 22 .==.expected_value.<span.class="
ba4a0 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 65 42 75 tok-kw">and</span>.usuallyTrueBu
ba4c0 74 53 6f 6d 65 74 69 6d 65 73 46 61 6c 73 65 28 29 29 20 7b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 tSometimesFalse()).{</span>.<spa
ba4e0 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 20 20 20 20 70 74 72 2e 2a 20 3d 20 6e n.class="line">........ptr.*.=.n
ba500 65 77 5f 76 61 6c 75 65 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 ew_value;</span>.<span.class="li
ba520 6e 65 22 3e 20 20 20 20 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 ne">........<span.class="tok-kw"
ba540 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-
ba560 6e 75 6c 6c 22 3e 6e 75 6c 6c 3c 2f 73 70 61 6e 3e 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 null">null</span>;</span>.<span.
ba580 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 7d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 class="line">....}.<span.class="
ba5a0 74 6f 6b 2d 6b 77 22 3e 65 6c 73 65 3c 2f 73 70 61 6e 3e 20 7b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 tok-kw">else</span>.{</span>.<sp
ba5c0 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 20 20 20 20 3c 73 70 61 6e 20 63 6c an.class="line">........<span.cl
ba5e0 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
ba600 61 6c 75 65 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e alue;</span>.<span.class="line">
ba620 20 20 20 20 7d 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e ....}</span>.<span.class="line">
ba640 7d 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 3c 2f 70 72 65 3e 3c 2f 66 69 67 75 72 65 3e 0a 20 }</span></code></pre></figure>..
ba660 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.
ba680 63 6d 70 78 63 68 67 20 69 6e 20 61 20 6c 6f 6f 70 2c 20 74 68 65 20 73 70 6f 72 61 64 69 63 20 cmpxchg.in.a.loop,.the.sporadic.
ba6a0 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 2c 20 61 6e 64 20 failure.will.be.no.problem,.and.
ba6c0 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 63 6d 70 78 63 68 67 <code><span.class="line">cmpxchg
ba6e0 57 65 61 6b 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 0a 20 20 20 20 20 20 69 73 20 74 68 65 20 Weak</span></code>.......is.the.
ba700 62 65 74 74 65 72 20 63 68 6f 69 63 65 2c 20 62 65 63 61 75 73 65 20 69 74 20 63 61 6e 20 62 65 better.choice,.because.it.can.be
ba720 20 69 6d 70 6c 65 6d 65 6e 74 65 64 20 6d 6f 72 65 20 65 66 66 69 63 69 65 6e 74 6c 79 20 69 6e .implemented.more.efficiently.in
ba740 20 6d 61 63 68 69 6e 65 20 69 6e 73 74 72 75 63 74 69 6f 6e 73 2e 0a 20 20 20 20 20 20 48 6f 77 .machine.instructions........How
ba760 65 76 65 72 20 69 66 20 79 6f 75 20 6e 65 65 64 20 61 20 73 74 72 6f 6e 67 65 72 20 67 75 61 72 ever.if.you.need.a.stronger.guar
ba780 61 6e 74 65 65 2c 20 75 73 65 20 3c 61 20 68 72 65 66 3d 22 23 63 6d 70 78 63 68 67 53 74 72 6f antee,.use.<a.href="#cmpxchgStro
ba7a0 6e 67 22 3e 40 63 6d 70 78 63 68 67 53 74 72 6f 6e 67 3c 2f 61 3e 2e 0a 20 20 20 20 20 20 3c 2f ng">@cmpxchgStrong</a>........</
ba7c0 70 3e 0a 20 20 20 20 20 20 3c 70 3e 0a 20 20 20 20 20 20 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 p>.......<p>.......<code><span.c
ba7e0 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 54 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 20 6d 75 73 74 lass="line">T</span></code>.must
ba800 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 61 .be.a.pointer,.a.<code><span.cla
ba820 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 ss="line"><span.class="tok-type"
ba840 3e 62 6f 6f 6c 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 2c 20 61 20 66 6c >bool</span></span></code>,.a.fl
ba860 6f 61 74 2c 0a 20 20 20 20 20 20 61 6e 20 69 6e 74 65 67 65 72 20 6f 72 20 61 6e 20 65 6e 75 6d oat,.......an.integer.or.an.enum
ba880 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 61 ........</p>.......<p><code><spa
ba8a0 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d n.class="line"><span.class="tok-
ba8c0 62 75 69 6c 74 69 6e 22 3e 40 74 79 70 65 49 6e 66 6f 3c 2f 73 70 61 6e 3e 28 3c 73 70 61 6e 20 builtin">@typeInfo</span>(<span.
ba8e0 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
ba900 6e 3e 28 70 74 72 29 29 2e 50 6f 69 6e 74 65 72 2e 61 6c 69 67 6e 6d 65 6e 74 3c 2f 73 70 61 6e n>(ptr)).Pointer.alignment</span
ba920 3e 3c 2f 63 6f 64 65 3e 20 6d 75 73 74 20 62 65 20 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 ></code>.must.be.<code><span.cla
ba940 73 73 3d 22 6c 69 6e 65 22 3e 26 67 74 3b 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b ss="line">&gt;=.<span.class="tok
ba960 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 2e 3c 2f 73 70 -builtin">@sizeOf</span>(T).</sp
ba980 61 6e 3e 3c 2f 63 6f 64 65 3e 3c 2f 70 3e 0a 20 20 20 20 20 20 3c 70 3e 53 65 65 20 61 6c 73 6f an></code></p>.......<p>See.also
ba9a0 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 53 74 :</p><ul>.<li><a.href="#atomicSt
ba9c0 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 3e 3c ore">@atomicStore</a></li>.<li><
ba9e0 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 61 64 a.href="#atomicLoad">@atomicLoad
baa00 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 52 6d </a></li>.<li><a.href="#atomicRm
baa20 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 68 72 w">@atomicRmw</a></li>.<li><a.hr
baa40 65 66 3d 22 23 66 65 6e 63 65 22 3e 40 66 65 6e 63 65 3c 2f 61 3e 3c 2f 6c 69 3e 0a 3c 6c 69 3e ef="#fence">@fence</a></li>.<li>
baa60 3c 61 20 68 72 65 66 3d 22 23 63 6d 70 78 63 68 67 53 74 72 6f 6e 67 22 3e 40 63 6d 70 78 63 68 <a.href="#cmpxchgStrong">@cmpxch
baa80 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 0a gStrong</a></li>.</ul>..........
baaa0 20 20 20 20 20 20 3c 68 33 20 69 64 3d 22 63 6f 6d 70 69 6c 65 45 72 72 6f 72 22 3e 3c 61 20 68 ......<h3.id="compileError"><a.h
baac0 72 65 66 3d 22 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 ref="#toc-compileError">@compile
baae0 45 72 72 6f 72 3c 2f 61 3e 20 3c 61 20 63 6c 61 73 73 3d 22 68 64 72 22 20 68 72 65 66 3d 22 23 Error</a>.<a.class="hdr".href="#
bab00 63 6f 6d 70 69 6c 65 45 72 72 6f 72 22 3e c2 a7 3c 2f 61 3e 3c 2f 68 33 3e 0a 0a 20 20 20 20 20 compileError">..</a></h3>.......
bab20 20 3c 70 72 65 3e 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c .<pre><code><span.class="line"><
bab40 73 70 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
bab60 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 6b eError</span>(<span.class="tok-k
bab80 77 22 3e 63 6f 6d 70 74 69 6d 65 3c 2f 73 70 61 6e 3e 20 6d 73 67 3a 20 5b 5d 3c 73 70 61 6e 20 w">comptime</span>.msg:.[]<span.
baba0 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 75 38 3c 2f 73 70 61 6e 3e 29 3c 2f 73 70 61 class="tok-type">u8</span>)</spa
babc0 6e 3e 3c 2f 63 6f 64 65 3e 3c 2f 70 72 65 3e 0a 20 20 20 20 20 20 3c 70 3e 0a 20 20 20 20 20 20 n></code></pre>.......<p>.......
babe0 54 68 69 73 20 66 75 6e 63 74 69 6f 6e 2c 20 77 68 65 6e 20 73 65 6d 61 6e 74 69 63 61 6c 6c 79 This.function,.when.semantically
bac00 20 61 6e 61 6c 79 7a 65 64 2c 20 63 61 75 73 65 73 20 61 20 63 6f 6d 70 69 6c 65 20 65 72 72 6f .analyzed,.causes.a.compile.erro
bac20 72 20 77 69 74 68 20 74 68 65 0a 20 20 20 20 20 20 6d 65 73 73 61 67 65 20 3c 63 6f 64 65 3e 3c r.with.the.......message.<code><
bac40 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 6d 73 67 3c 2f 73 70 61 6e 3e 3c 2f 63 6f span.class="line">msg</span></co
bac60 64 65 3e 2e 0a 20 20 20 20 20 20 3c 2f 70 3e 0a 20 20 20 20 20 20 3c 70 3e 0a 20 20 20 20 20 20 de>........</p>.......<p>.......
bac80 54 68 65 72 65 20 61 72 65 20 73 65 76 65 72 61 6c 20 77 61 79 73 20 74 68 61 74 20 63 6f 64 65 There.are.several.ways.that.code
baca0 20 61 76 6f 69 64 73 20 62 65 69 6e 67 20 73 65 6d 61 6e 74 69 63 61 6c 6c 79 20 63 68 65 63 6b .avoids.being.semantically.check
bacc0 65 64 2c 20 73 75 63 68 20 61 73 0a 20 20 20 20 20 20 75 73 69 6e 67 20 3c 63 6f 64 65 3e 3c 73 ed,.such.as.......using.<code><s
bace0 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f pan.class="line"><span.class="to
bad00 6b 2d 6b 77 22 3e 69 66 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 20 6f 72 k-kw">if</span></span></code>.or
bad20 20 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 .<code><span.class="line"><span.
bad40 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 73 77 69 74 63 68 3c 2f 73 70 61 6e 3e 3c 2f 73 70 class="tok-kw">switch</span></sp
bad60 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
bad80 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>
bada0 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 <span.class="line"><span.class="
badc0 74 6f 6b 2d 6b 77 22 3e 63 6f 6d 70 74 69 6d 65 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 3c 2f tok-kw">comptime</span></span></
bade0 63 6f 64 65 3e 20 66 75 6e 63 74 69 6f 6e 73 2e 0a 20 20 20 20 20 20 3c 2f 70 3e 0a 20 20 20 20 code>.functions........</p>.....
bae00 20 20 0a 0a 20 20 20 20 20 20 3c 68 33 20 69 64 3d 22 63 6f 6d 70 69 6c 65 4c 6f 67 22 3e 3c 61 ..........<h3.id="compileLog"><a
bae20 20 68 72 65 66 3d 22 23 74 6f 63 2d 63 6f 6d 70 69 6c 65 4c 6f 67 22 3e 40 63 6f 6d 70 69 6c 65 .href="#toc-compileLog">@compile
bae40 4c 6f 67 3c 2f 61 3e 20 3c 61 20 63 6c 61 73 73 3d 22 68 64 72 22 20 68 72 65 66 3d 22 23 63 6f Log</a>.<a.class="hdr".href="#co
bae60 6d 70 69 6c 65 4c 6f 67 22 3e c2 a7 3c 2f 61 3e 3c 2f 68 33 3e 0a 0a 20 20 20 20 20 20 3c 70 72 mpileLog">..</a></h3>........<pr
bae80 65 3e 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e e><code><span.class="line"><span
baea0 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 4c 6f 67 .class="tok-builtin">@compileLog
baec0 3c 2f 73 70 61 6e 3e 28 61 72 67 73 3a 20 2e 2e 2e 29 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e </span>(args:....)</span></code>
baee0 3c 2f 70 72 65 3e 0a 20 20 20 20 20 20 3c 70 3e 0a 20 20 20 20 20 20 54 68 69 73 20 66 75 6e 63 </pre>.......<p>.......This.func
baf00 74 69 6f 6e 20 70 72 69 6e 74 73 20 74 68 65 20 61 72 67 75 6d 65 6e 74 73 20 70 61 73 73 65 64 tion.prints.the.arguments.passed
baf20 20 74 6f 20 69 74 20 61 74 20 63 6f 6d 70 69 6c 65 2d 74 69 6d 65 2e 0a 20 20 20 20 20 20 3c 2f .to.it.at.compile-time........</
baf40 70 3e 0a 20 20 20 20 20 20 3c 70 3e 0a 20 20 20 20 20 20 54 6f 20 70 72 65 76 65 6e 74 20 61 63 p>.......<p>.......To.prevent.ac
baf60 63 69 64 65 6e 74 61 6c 6c 79 20 6c 65 61 76 69 6e 67 20 63 6f 6d 70 69 6c 65 20 6c 6f 67 20 73 cidentally.leaving.compile.log.s
baf80 74 61 74 65 6d 65 6e 74 73 20 69 6e 20 61 20 63 6f 64 65 62 61 73 65 2c 0a 20 20 20 20 20 20 61 tatements.in.a.codebase,.......a
bafa0 20 63 6f 6d 70 69 6c 61 74 69 6f 6e 20 65 72 72 6f 72 20 69 73 20 61 64 64 65 64 20 74 6f 20 74 .compilation.error.is.added.to.t
bafc0 68 65 20 62 75 69 6c 64 2c 20 70 6f 69 6e 74 69 6e 67 20 74 6f 20 74 68 65 20 63 6f 6d 70 69 6c he.build,.pointing.to.the.compil
bafe0 65 0a 20 20 20 20 20 20 6c 6f 67 20 73 74 61 74 65 6d 65 6e 74 2e 20 54 68 69 73 20 65 72 72 6f e.......log.statement..This.erro
bb000 72 20 70 72 65 76 65 6e 74 73 20 63 6f 64 65 20 66 72 6f 6d 20 62 65 69 6e 67 20 67 65 6e 65 72 r.prevents.code.from.being.gener
bb020 61 74 65 64 2c 20 62 75 74 0a 20 20 20 20 20 20 64 6f 65 73 20 6e 6f 74 20 6f 74 68 65 72 77 69 ated,.but.......does.not.otherwi
bb040 73 65 20 69 6e 74 65 72 66 65 72 65 20 77 69 74 68 20 61 6e 61 6c 79 73 69 73 2e 0a 20 20 20 20 se.interfere.with.analysis......
bb060 20 20 3c 2f 70 3e 0a 20 20 20 20 20 20 3c 70 3e 0a 20 20 20 20 20 20 54 68 69 73 20 66 75 6e 63 ..</p>.......<p>.......This.func
bb080 74 69 6f 6e 20 63 61 6e 20 62 65 20 75 73 65 64 20 74 6f 20 64 6f 20 22 70 72 69 6e 74 66 20 64 tion.can.be.used.to.do."printf.d
bb0a0 65 62 75 67 67 69 6e 67 22 20 6f 6e 0a 20 20 20 20 20 20 63 6f 6d 70 69 6c 65 2d 74 69 6d 65 20 ebugging".on.......compile-time.
bb0c0 65 78 65 63 75 74 69 6e 67 20 63 6f 64 65 2e 0a 20 20 20 20 20 20 3c 2f 70 3e 0a 20 20 20 20 20 executing.code........</p>......
bb0e0 20 3c 66 69 67 75 72 65 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-
bb100 63 61 70 22 3e 3c 63 69 74 65 20 63 6c 61 73 73 3d 22 66 69 6c 65 22 3e 74 65 73 74 2e 7a 69 67 cap"><cite.class="file">test.zig
bb120 3c 2f 63 69 74 65 3e 3c 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><
bb140 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 span.class="line"><span.class="t
bb160 6f 6b 2d 6b 77 22 3e 63 6f 6e 73 74 3c 2f 73 70 61 6e 3e 20 70 72 69 6e 74 20 3d 20 3c 73 70 61 ok-kw">const</span>.print.=.<spa
bb180 6e 20 63 6c 61 73 73 3d 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
bb1a0 70 61 6e 3e 28 3c 73 70 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
bb1c0 3b 73 74 64 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 29 2e 64 65 62 75 67 2e 70 72 69 6e 74 3b 3c ;std&quot;</span>).debug.print;<
bb1e0 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 2f 73 70 61 6e /span>.<span.class="line"></span
bb200 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 >.<span.class="line"><span.class
bb220 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 31 20 3d 20 62 6c ="tok-kw">const</span>.num1.=.bl
bb240 6b 3a 20 7b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 k:.{</span>.<span.class="line">.
bb260 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
bb280 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 70 65 22 3e n>.val1:.<span.class="tok-type">
bb2a0 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
bb2c0 6d 62 65 72 22 3e 39 39 3c 2f 73 70 61 6e 3e 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c mber">99</span>;</span>.<span.cl
bb2e0 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d ass="line">....<span.class="tok-
bb300 62 75 69 6c 74 69 6e 22 3e 40 63 6f 6d 70 69 6c 65 4c 6f 67 3c 2f 73 70 61 6e 3e 28 3c 73 70 61 builtin">@compileLog</span>(<spa
bb320 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
bb340 20 76 61 6c 31 20 3d 20 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 2c 20 76 61 6c 31 29 3b 3c 2f 73 .val1.=.&quot;</span>,.val1);</s
bb360 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 76 61 6c 31 pan>.<span.class="line">....val1
bb380 20 3d 20 76 61 6c 31 20 2b 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 .=.val1.+.<span.class="tok-numbe
bb3a0 72 22 3e 31 3c 2f 73 70 61 6e 3e 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d r">1</span>;</span>.<span.class=
bb3c0 22 6c 69 6e 65 22 3e 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e "line">....<span.class="tok-kw">
bb3e0 62 72 65 61 6b 3c 2f 73 70 61 6e 3e 20 3a 62 6c 6b 20 76 61 6c 31 3b 3c 2f 73 70 61 6e 3e 0a 3c break</span>.:blk.val1;</span>.<
bb400 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 7d 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 span.class="line">};</span>.<spa
bb420 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 n.class="line"></span>.<span.cla
bb440 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 74 ss="line"><span.class="tok-kw">t
bb460 65 73 74 3c 2f 73 70 61 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"
bb480 3e 26 71 75 6f 74 3b 6d 61 69 6e 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 20 7b 3c 2f 73 70 61 6e >&quot;main&quot;</span>.{</span
bb4a0 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 3c 73 70 61 6e 20 63 >.<span.class="line">....<span.c
bb4c0 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</
bb4e0 73 70 61 6e 3e 28 3c 73 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
bb500 74 3b 63 6f 6d 70 74 69 6d 65 20 69 6e 20 6d 61 69 6e 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 29 t;comptime.in.main&quot;</span>)
bb520 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 2f 73 70 ;</span>.<span.class="line"></sp
bb540 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 70 72 69 6e 74 an>.<span.class="line">....print
bb560 28 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 73 74 72 22 3e 26 71 75 6f 74 3b 52 75 6e (<span.class="tok-str">&quot;Run
bb580 74 69 6d 65 20 69 6e 20 6d 61 69 6e 2c 20 6e 75 6d 31 20 3d 20 7b 7d 2e 5c 6e 26 71 75 6f 74 3b time.in.main,.num1.=.{}.\n&quot;
bb5a0 3c 2f 73 70 61 6e 3e 2c 20 2e 7b 6e 75 6d 31 7d 29 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 </span>,..{num1});</span>.<span.
bb5c0 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 7d 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 3c 2f 70 72 class="line">}</span></code></pr
bb5e0 65 3e 3c 2f 66 69 67 75 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
bb600 6c 61 73 73 3d 22 73 68 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
bb620 6f 6e 3e 3c 70 72 65 3e 3c 73 61 6d 70 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 on><pre><samp><span.class="line"
bb640 3e 24 20 3c 6b 62 64 3e 7a 69 67 20 74 65 73 74 20 74 65 73 74 2e 7a 69 67 3c 2f 6b 62 64 3e 3c >$.<kbd>zig.test.test.zig</kbd><
bb660 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 /span>.<span.class="line"><span.
bb680 63 6c 61 73 73 3d 22 74 31 5f 30 22 3e 64 6f 63 67 65 6e 5f 74 6d 70 2f 74 65 73 74 2e 7a 69 67 class="t1_0">docgen_tmp/test.zig
bb6a0 3a 31 31 3a 35 3a 20 3c 2f 73 70 61 6e 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 33 31 5f 31 :11:5:.</span><span.class="t31_1
bb6c0 22 3e 65 72 72 6f 72 3a 20 3c 2f 73 70 61 6e 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 31 5f ">error:.</span><span.class="t1_
bb6e0 30 22 3e 66 6f 75 6e 64 20 63 6f 6d 70 69 6c 65 20 6c 6f 67 20 73 74 61 74 65 6d 65 6e 74 3c 2f 0">found.compile.log.statement</
bb700 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 2f 73 70 61 6e 3e span>.<span.class="line"></span>
bb720 20 20 20 20 40 63 6f 6d 70 69 6c 65 4c 6f 67 28 26 71 75 6f 74 3b 63 6f 6d 70 74 69 6d 65 20 69 ....@compileLog(&quot;comptime.i
bb740 6e 20 6d 61 69 6e 26 71 75 6f 74 3b 29 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 n.main&quot;);</span>.<span.clas
bb760 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 33 32 5f 31 22 s="line">....<span.class="t32_1"
bb780 3e 5e 7e 7e 7e 7e 7e 7e 7e 7e 7e 7e 7e 7e 7e 7e 7e 7e 7e 7e 7e 7e 7e 7e 7e 7e 7e 7e 7e 7e 7e 7e >^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
bb7a0 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 2f 73 70 61 </span>.<span.class="line"></spa
bb7c0 6e 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 31 5f 30 22 3e 64 6f 63 67 65 6e 5f 74 6d 70 2f n><span.class="t1_0">docgen_tmp/
bb7e0 74 65 73 74 2e 7a 69 67 3a 35 3a 35 3a 20 3c 2f 73 70 61 6e 3e 3c 73 70 61 6e 20 63 6c 61 73 73 test.zig:5:5:.</span><span.class
bb800 3d 22 74 33 36 5f 31 22 3e 6e 6f 74 65 3a 20 3c 2f 73 70 61 6e 3e 3c 73 70 61 6e 20 63 6c 61 73 ="t36_1">note:.</span><span.clas
bb820 73 3d 22 74 31 5f 30 22 3e 61 6c 73 6f 20 68 65 72 65 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 s="t1_0">also.here</span>.<span.
bb840 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 2f 73 70 61 6e 3e 20 20 20 20 40 63 6f 6d 70 69 6c 65 class="line"></span>....@compile
bb860 4c 6f 67 28 26 71 75 6f 74 3b 63 6f 6d 70 74 69 6d 65 20 76 61 6c 31 20 3d 20 26 71 75 6f 74 3b Log(&quot;comptime.val1.=.&quot;
bb880 2c 20 76 61 6c 31 29 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e ,.val1);</span>.<span.class="lin
bb8a0 65 22 3e 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 33 32 5f 31 22 3e 5e 7e 7e 7e 7e e">....<span.class="t32_1">^~~~~
bb8c0 7e 7e 7e 7e 7e 7e 7e 7e 7e 7e 7e 7e 7e 7e 7e 7e 7e 7e 7e 7e 7e 7e 7e 7e 7e 7e 7e 7e 7e 7e 7e 7e ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
bb8e0 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 2f 73 70 61 </span>.<span.class="line"></spa
bb900 6e 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 43 6f 6d n></span>.<span.class="line">Com
bb920 70 69 6c 65 20 4c 6f 67 20 4f 75 74 70 75 74 3a 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c pile.Log.Output:</span>.<span.cl
bb940 61 73 73 3d 22 6c 69 6e 65 22 3e 40 61 73 28 2a 63 6f 6e 73 74 20 5b 31 36 3a 30 5d 75 38 2c 20 ass="line">@as(*const.[16:0]u8,.
bb960 26 71 75 6f 74 3b 63 6f 6d 70 74 69 6d 65 20 69 6e 20 6d 61 69 6e 26 71 75 6f 74 3b 29 3c 2f 73 &quot;comptime.in.main&quot;)</s
bb980 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 40 61 73 28 2a 63 6f 6e pan>.<span.class="line">@as(*con
bb9a0 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 6c 31 st.[16:0]u8,.&quot;comptime.val1
bb9c0 20 3d 20 26 71 75 6f 74 3b 29 2c 20 40 61 73 28 69 33 32 2c 20 39 39 29 3c 2f 73 70 61 6e 3e 0a .=.&quot;),.@as(i32,.99)</span>.
bb9e0 3c 2f 73 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>
bba00 0a 20 20 20 20 20 20 49 66 20 61 6c 6c 20 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d .......If.all.<code><span.class=
bba20 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 62 75 69 6c 74 69 6e 22 "line"><span.class="tok-builtin"
bba40 3e 40 63 6f 6d 70 69 6c 65 4c 6f 67 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 >@compileLog</span></span></code
bba60 3e 20 63 61 6c 6c 73 20 61 72 65 20 72 65 6d 6f 76 65 64 20 6f 72 0a 20 20 20 20 20 20 6e 6f 74 >.calls.are.removed.or.......not
bba80 20 65 6e 63 6f 75 6e 74 65 72 65 64 20 62 79 20 61 6e 61 6c 79 73 69 73 2c 20 74 68 65 0a 20 20 .encountered.by.analysis,.the...
bbaa0 20 20 20 20 70 72 6f 67 72 61 6d 20 63 6f 6d 70 69 6c 65 73 20 73 75 63 63 65 73 73 66 75 6c 6c ....program.compiles.successfull
bbac0 79 20 61 6e 64 20 74 68 65 20 67 65 6e 65 72 61 74 65 64 20 65 78 65 63 75 74 61 62 6c 65 20 70 y.and.the.generated.executable.p
bbae0 72 69 6e 74 73 3a 0a 20 20 20 20 20 20 3c 2f 70 3e 0a 20 20 20 20 20 20 3c 66 69 67 75 72 65 3e rints:.......</p>.......<figure>
bbb00 3c 66 69 67 63 61 70 74 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
bbb20 65 20 63 6c 61 73 73 3d 22 66 69 6c 65 22 3e 77 69 74 68 6f 75 74 5f 63 6f 6d 70 69 6c 65 4c 6f e.class="file">without_compileLo
bbb40 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
bbb60 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 ode><span.class="line"><span.cla
bbb80 73 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.=
bbba0 20 3c 73 70 61 6e 20 63 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
bbbc0 72 74 3c 2f 73 70 61 6e 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">
bbbe0 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
bbc00 69 6e 74 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c int;</span>.<span.class="line"><
bbc20 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 /span>.<span.class="line"><span.
bbc40 63 6c 61 73 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 31 class="tok-kw">const</span>.num1
bbc60 20 3d 20 62 6c 6b 3a 20 7b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 .=.blk:.{</span>.<span.class="li
bbc80 6e 65 22 3e 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 76 61 72 ne">....<span.class="tok-kw">var
bbca0 3c 2f 73 70 61 6e 3e 20 76 61 6c 31 3a 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 </span>.val1:.<span.class="tok-t
bbcc0 79 70 65 22 3e 69 33 32 3c 2f 73 70 61 6e 3e 20 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 ype">i32</span>.=.<span.class="t
bbce0 6f 6b 2d 6e 75 6d 62 65 72 22 3e 39 39 3c 2f 73 70 61 6e 3e 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 ok-number">99</span>;</span>.<sp
bbd00 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 76 61 6c 31 20 3d 20 76 61 6c 31 20 an.class="line">....val1.=.val1.
bbd20 2b 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 31 3c 2f 73 70 +.<span.class="tok-number">1</sp
bbd40 61 6e 3e 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 an>;</span>.<span.class="line">.
bbd60 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
bbd80 70 61 6e 3e 20 3a 62 6c 6b 20 76 61 6c 31 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 pan>.:blk.val1;</span>.<span.cla
bbda0 73 73 3d 22 6c 69 6e 65 22 3e 7d 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d ss="line">};</span>.<span.class=
bbdc0 22 6c 69 6e 65 22 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 "line"></span>.<span.class="line
bbde0 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 74 65 73 74 3c 2f 73 70 61 "><span.class="tok-kw">test</spa
bbe00 6e 3e 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 73 74 72 22 3e 26 71 75 6f 74 3b 6d n>.<span.class="tok-str">&quot;m
bbe20 61 69 6e 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 20 7b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 ain&quot;</span>.{</span>.<span.
bbe40 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 70 72 69 6e 74 28 3c 73 70 61 6e 20 63 6c 61 class="line">....print(<span.cla
bbe60 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 6e 20 6d 61 ss="tok-str">&quot;Runtime.in.ma
bbe80 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 3e 2c 20 2e in,.num1.=.{}.\n&quot;</span>,..
bbea0 7b 6e 75 6d 31 7d 29 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e {num1});</span>.<span.class="lin
bbec0 65 22 3e 7d 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 3c 2f 70 72 65 3e 3c 2f 66 69 67 75 72 65 e">}</span></code></pre></figure
bbee0 3e 3c 66 69 67 75 72 65 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
bbf00 6c 2d 63 61 70 22 3e 53 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
bbf20 61 6d 70 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 24 20 3c 6b 62 64 3e 7a 69 amp><span.class="line">$.<kbd>zi
bbf40 67 20 74 65 73 74 20 77 69 74 68 6f 75 74 5f 63 6f 6d 70 69 6c 65 4c 6f 67 2e 7a 69 67 3c 2f 6b g.test.without_compileLog.zig</k
bbf60 62 64 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 31 2f bd></span>.<span.class="line">1/
bbf80 31 20 74 65 73 74 2e 6d 61 69 6e 2e 2e 2e 20 52 75 6e 74 69 6d 65 20 69 6e 20 6d 61 69 6e 2c 20 1.test.main....Runtime.in.main,.
bbfa0 6e 75 6d 31 20 3d 20 31 30 30 2e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 num1.=.100.</span>.<span.class="
bbfc0 6c 69 6e 65 22 3e 4f 4b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e line">OK</span>.<span.class="lin
bbfe0 65 22 3e 41 6c 6c 20 31 20 74 65 73 74 73 20 70 61 73 73 65 64 2e 3c 2f 73 70 61 6e 3e 0a 3c 2f e">All.1.tests.passed.</span>.</
bc000 73 61 6d 70 3e 3c 2f 70 72 65 3e 3c 2f 66 69 67 75 72 65 3e 0a 20 20 20 20 20 20 0a 0a 20 20 20 samp></pre></figure>............
bc020 20 20 20 3c 68 33 20 69 64 3d 22 63 74 7a 22 3e 3c 61 20 68 72 65 66 3d 22 23 74 6f 63 2d 63 74 ...<h3.id="ctz"><a.href="#toc-ct
bc040 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 72 65 66 3d z">@ctz</a>.<a.class="hdr".href=
bc060 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 72 65 3e 3c "#ctz">..</a></h3>........<pre><
bc080 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c code><span.class="line"><span.cl
bc0a0 61 73 73 3d 22 74 6f 6b 2d 62 75 69 6c 74 69 6e 22 3e 40 63 74 7a 3c 2f 73 70 61 6e 3e 28 6f 70 ass="tok-builtin">@ctz</span>(op
bc0c0 65 72 61 6e 64 3a 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 61 6e 79 74 erand:.<span.class="tok-kw">anyt
bc0e0 79 70 65 3c 2f 73 70 61 6e 3e 29 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 3c 2f 70 72 65 3e 0a ype</span>)</span></code></pre>.
bc100 20 20 20 20 20 20 3c 70 3e 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 ......<p><code><span.class="line
bc120 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 62 75 69 6c 74 69 6e 22 3e 40 54 79 70 "><span.class="tok-builtin">@Typ
bc140 65 4f 66 3c 2f 73 70 61 6e 3e 28 6f 70 65 72 61 6e 64 29 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 eOf</span>(operand)</span></code
bc160 3e 20 6d 75 73 74 20 62 65 20 61 6e 20 69 6e 74 65 67 65 72 20 74 79 70 65 20 6f 72 20 61 6e 20 >.must.be.an.integer.type.or.an.
bc180 69 6e 74 65 67 65 72 20 76 65 63 74 6f 72 20 74 79 70 65 2e 3c 2f 70 3e 0a 20 20 20 20 20 20 3c integer.vector.type.</p>.......<
bc1a0 70 3e 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 6f 70 65 72 61 p><code><span.class="line">opera
bc1c0 6e 64 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 20 6d 61 79 20 62 65 20 61 6e 20 3c 61 20 68 72 nd</span></code>.may.be.an.<a.hr
bc1e0 65 66 3d 22 23 49 6e 74 65 67 65 72 73 22 3e 69 6e 74 65 67 65 72 3c 2f 61 3e 20 6f 72 20 3c 61 ef="#Integers">integer</a>.or.<a
bc200 20 68 72 65 66 3d 22 23 56 65 63 74 6f 72 73 22 3e 76 65 63 74 6f 72 3c 2f 61 3e 2e 3c 2f 70 3e .href="#Vectors">vector</a>.</p>
bc220 0a 20 20 20 20 20 20 3c 70 3e 0a 20 20 20 20 20 20 54 68 69 73 20 66 75 6e 63 74 69 6f 6e 20 63 .......<p>.......This.function.c
bc240 6f 75 6e 74 73 20 74 68 65 20 6e 75 6d 62 65 72 20 6f 66 20 6c 65 61 73 74 2d 73 69 67 6e 69 66 ounts.the.number.of.least-signif
bc260 69 63 61 6e 74 20 28 74 72 61 69 6c 69 6e 67 20 69 6e 20 61 20 62 69 67 2d 45 6e 64 69 61 6e 20 icant.(trailing.in.a.big-Endian.
bc280 73 65 6e 73 65 29 20 7a 65 72 6f 65 73 20 69 6e 20 61 6e 20 69 6e 74 65 67 65 72 2e 0a 20 20 20 sense).zeroes.in.an.integer.....
bc2a0 20 20 20 3c 2f 70 3e 0a 20 20 20 20 20 20 3c 70 3e 0a 20 20 20 20 20 20 49 66 20 3c 63 6f 64 65 ...</p>.......<p>.......If.<code
bc2c0 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 6f 70 65 72 61 6e 64 3c 2f 73 70 61 ><span.class="line">operand</spa
bc2e0 6e 3e 3c 2f 63 6f 64 65 3e 20 69 73 20 61 20 3c 61 20 68 72 65 66 3d 22 23 63 6f 6d 70 74 69 6d n></code>.is.a.<a.href="#comptim
bc300 65 22 3e 63 6f 6d 70 74 69 6d 65 3c 2f 61 3e 2d 6b 6e 6f 77 6e 20 69 6e 74 65 67 65 72 2c 0a 20 e">comptime</a>-known.integer,..
bc320 20 20 20 20 20 74 68 65 20 72 65 74 75 72 6e 20 74 79 70 65 20 69 73 20 3c 63 6f 64 65 3e 3c 73 .....the.return.type.is.<code><s
bc340 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f pan.class="line"><span.class="to
bc360 6b 2d 74 79 70 65 22 3e 63 6f 6d 70 74 69 6d 65 5f 69 6e 74 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 k-type">comptime_int</span></spa
bc380 6e 3e 3c 2f 63 6f 64 65 3e 2e 0a 20 20 20 20 20 20 4f 74 68 65 72 77 69 73 65 2c 20 74 68 65 20 n></code>........Otherwise,.the.
bc3a0 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
bc3c0 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
bc3e0 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.......
bc400 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
bc420 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....
bc440 20 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
bc460 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 6f 70 65 72 61 6e 64 3c 2f 73 70 e><span.class="line">operand</sp
bc480 61 6e 3e 3c 2f 63 6f 64 65 3e 20 69 73 20 7a 65 72 6f 2c 20 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 an></code>.is.zero,.<code><span.
bc4a0 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 62 75 class="line"><span.class="tok-bu
bc4c0 69 6c 74 69 6e 22 3e 40 63 74 7a 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e iltin">@ctz</span></span></code>
bc4e0 20 72 65 74 75 72 6e 73 0a 20 20 20 20 20 20 74 68 65 20 62 69 74 20 77 69 64 74 68 20 6f 66 20 .returns.......the.bit.width.of.
bc500 69 6e 74 65 67 65 72 20 74 79 70 65 20 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 integer.type.<code><span.class="
bc520 6c 69 6e 65 22 3e 54 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 2e 0a 20 20 20 20 20 20 3c 2f 70 line">T</span></code>........</p
bc540 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
bc560 3e 3c 61 20 68 72 65 66 3d 22 23 63 6c 7a 22 3e 40 63 6c 7a 3c 2f 61 3e 3c 2f 6c 69 3e 0a 3c 6c ><a.href="#clz">@clz</a></li>.<l
bc580 69 3e 3c 61 20 68 72 65 66 3d 22 23 70 6f 70 43 6f 75 6e 74 22 3e 40 70 6f 70 43 6f 75 6e 74 3c i><a.href="#popCount">@popCount<
bc5a0 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
bc5c0 33 20 69 64 3d 22 63 55 6e 64 65 66 22 3e 3c 61 20 68 72 65 66 3d 22 23 74 6f 63 2d 63 55 6e 64 3.id="cUndef"><a.href="#toc-cUnd
bc5e0 65 66 22 3e 40 63 55 6e 64 65 66 3c 2f 61 3e 20 3c 61 20 63 6c 61 73 73 3d 22 68 64 72 22 20 68 ef">@cUndef</a>.<a.class="hdr".h
bc600 72 65 66 3d 22 23 63 55 6e 64 65 66 22 3e c2 a7 3c 2f 61 3e 3c 2f 68 33 3e 0a 0a 20 20 20 20 20 ref="#cUndef">..</a></h3>.......
bc620 20 3c 70 72 65 3e 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c .<pre><code><span.class="line"><
bc640 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 62 75 69 6c 74 69 6e 22 3e 40 63 55 6e 64 65 66 span.class="tok-builtin">@cUndef
bc660 3c 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
bc680 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 63 6c 61 73 73 ptime</span>.name:.[]<span.class
bc6a0 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 75 38 3c 2f 73 70 61 6e 3e 29 3c 2f 73 70 61 6e 3e 3c 2f 63 ="tok-type">u8</span>)</span></c
bc6c0 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.
bc6e0 66 75 6e 63 74 69 6f 6e 20 63 61 6e 20 6f 6e 6c 79 20 6f 63 63 75 72 20 69 6e 73 69 64 65 20 3c function.can.only.occur.inside.<
bc700 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c code><span.class="line"><span.cl
bc720 61 73 73 3d 22 74 6f 6b 2d 62 75 69 6c 74 69 6e 22 3e 40 63 49 6d 70 6f 72 74 3c 2f 73 70 61 6e ass="tok-builtin">@cImport</span
bc740 3e 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 2e 0a 20 20 20 20 20 20 3c 2f 70 3e 0a 20 20 20 20 ></span></code>........</p>.....
bc760 20 20 3c 70 3e 0a 20 20 20 20 20 20 54 68 69 73 20 61 70 70 65 6e 64 73 20 3c 63 6f 64 65 3e 23 ..<p>.......This.appends.<code>#
bc780 75 6e 64 65 66 20 24 6e 61 6d 65 3c 2f 63 6f 64 65 3e 20 74 6f 20 74 68 65 20 3c 63 6f 64 65 3e undef.$name</code>.to.the.<code>
bc7a0 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 <span.class="line"><span.class="
bc7c0 74 6f 6b 2d 62 75 69 6c 74 69 6e 22 3e 40 63 49 6d 70 6f 72 74 3c 2f 73 70 61 6e 3e 3c 2f 73 70 tok-builtin">@cImport</span></sp
bc7e0 61 6e 3e 3c 2f 63 6f 64 65 3e 0a 20 20 20 20 20 20 74 65 6d 70 6f 72 61 72 79 20 62 75 66 66 65 an></code>.......temporary.buffe
bc800 72 2e 0a 20 20 20 20 20 20 3c 2f 70 3e 0a 20 20 20 20 20 20 3c 70 3e 53 65 65 20 61 6c 73 6f 3a r........</p>.......<p>See.also:
bc820 3c 2f 70 3e 3c 75 6c 3e 0a 3c 6c 69 3e 3c 61 20 68 72 65 66 3d 22 23 49 6d 70 6f 72 74 2d 66 72 </p><ul>.<li><a.href="#Import-fr
bc840 6f 6d 2d 43 2d 48 65 61 64 65 72 2d 46 69 6c 65 22 3e 49 6d 70 6f 72 74 20 66 72 6f 6d 20 43 20 om-C-Header-File">Import.from.C.
bc860 48 65 61 64 65 72 20 46 69 6c 65 3c 2f 61 3e 3c 2f 6c 69 3e 0a 3c 6c 69 3e 3c 61 20 68 72 65 66 Header.File</a></li>.<li><a.href
bc880 3d 22 23 63 49 6d 70 6f 72 74 22 3e 40 63 49 6d 70 6f 72 74 3c 2f 61 3e 3c 2f 6c 69 3e 0a 3c 6c ="#cImport">@cImport</a></li>.<l
bc8a0 69 3e 3c 61 20 68 72 65 66 3d 22 23 63 44 65 66 69 6e 65 22 3e 40 63 44 65 66 69 6e 65 3c 2f 61 i><a.href="#cDefine">@cDefine</a
bc8c0 3e 3c 2f 6c 69 3e 0a 3c 6c 69 3e 3c 61 20 68 72 65 66 3d 22 23 63 49 6e 63 6c 75 64 65 22 3e 40 ></li>.<li><a.href="#cInclude">@
bc8e0 63 49 6e 63 6c 75 64 65 3c 2f 61 3e 3c 2f 6c 69 3e 0a 3c 2f 75 6c 3e 0a 0a 20 20 20 20 20 20 0a cInclude</a></li>.</ul>.........
bc900 0a 20 20 20 20 20 20 3c 68 33 20 69 64 3d 22 64 69 76 45 78 61 63 74 22 3e 3c 61 20 68 72 65 66 .......<h3.id="divExact"><a.href
bc920 3d 22 23 74 6f 63 2d 64 69 76 45 78 61 63 74 22 3e 40 64 69 76 45 78 61 63 74 3c 2f 61 3e 20 3c ="#toc-divExact">@divExact</a>.<
bc940 61 20 63 6c 61 73 73 3d 22 68 64 72 22 20 68 72 65 66 3d 22 23 64 69 76 45 78 61 63 74 22 3e c2 a.class="hdr".href="#divExact">.
bc960 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
bc980 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b an.class="line"><span.class="tok
bc9a0 2d 62 75 69 6c 74 69 6e 22 3e 40 64 69 76 45 78 61 63 74 3c 2f 73 70 61 6e 3e 28 6e 75 6d 65 72 -builtin">@divExact</span>(numer
bc9c0 61 74 6f 72 3a 20 54 2c 20 64 65 6e 6f 6d 69 6e 61 74 6f 72 3a 20 54 29 20 54 3c 2f 73 70 61 6e ator:.T,.denominator:.T).T</span
bc9e0 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 45 ></code></pre>.......<p>.......E
bca00 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 65 73 xact.division..Caller.guarantees
bca20 20 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 64 65 6e 6f 6d 69 .<code><span.class="line">denomi
bca40 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 62 65 72 nator.!=.<span.class="tok-number
bca60 22 3e 30 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 20 61 6e 64 0a 20 20 20 ">0</span></span></code>.and....
bca80 20 20 20 20 20 20 20 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e .......<code><span.class="line">
bcaa0 3c 73 70 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 <span.class="tok-builtin">@divTr
bcac0 75 6e 63 3c 2f 73 70 61 6e 3e 28 6e 75 6d 65 72 61 74 6f 72 2c 20 64 65 6e 6f 6d 69 6e 61 74 6f unc</span>(numerator,.denominato
bcae0 72 29 20 2a 20 64 65 6e 6f 6d 69 6e 61 74 6f 72 20 3d 3d 20 6e 75 6d 65 72 61 74 6f 72 3c 2f 73 r).*.denominator.==.numerator</s
bcb00 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 75 pan></code>........</p>.......<u
bcb20 6c 3e 0a 20 20 20 20 20 20 20 20 20 20 3c 6c 69 3e 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 l>...........<li><code><span.cla
bcb40 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 62 75 69 6c 74 ss="line"><span.class="tok-built
bcb60 69 6e 22 3e 40 64 69 76 45 78 61 63 74 3c 2f 73 70 61 6e 3e 28 3c 73 70 61 6e 20 63 6c 61 73 73 in">@divExact</span>(<span.class
bcb80 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
bcba0 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 33 3c 2f 73 70 61 6e 3e 29 20 3d 3d 20 3c 73 ass="tok-number">3</span>).==.<s
bcbc0 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><
bcbe0 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
bcc00 3e 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 ><code><span.class="line"><span.
bcc20 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 73 class="tok-builtin">@divExact</s
bcc40 70 61 6e 3e 28 61 2c 20 62 29 20 2a 20 62 20 3d 3d 20 61 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 pan>(a,.b).*.b.==.a</span></code
bcc60 3e 3c 2f 6c 69 3e 0a 20 20 20 20 20 20 3c 2f 75 6c 3e 0a 20 20 20 20 20 20 3c 70 3e 46 6f 72 20 ></li>.......</ul>.......<p>For.
bcc80 61 20 66 75 6e 63 74 69 6f 6e 20 74 68 61 74 20 72 65 74 75 72 6e 73 20 61 20 70 6f 73 73 69 62 a.function.that.returns.a.possib
bcca0 6c 65 20 65 72 72 6f 72 20 63 6f 64 65 2c 20 75 73 65 20 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 le.error.code,.use.<code><span.c
bccc0 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 62 75 69 lass="line"><span.class="tok-bui
bcce0 6c 74 69 6e 22 3e 40 69 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
bcd00 3d 22 74 6f 6b 2d 73 74 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
bcd20 3e 29 2e 6d 61 74 68 2e 64 69 76 45 78 61 63 74 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 2e 3c >).math.divExact</span></code>.<
bcd40 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>.<
bcd60 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
bcd80 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
bcda0 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>......
bcdc0 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
bcde0 65 66 3d 22 23 74 6f 63 2d 64 69 76 46 6c 6f 6f 72 22 3e 40 64 69 76 46 6c 6f 6f 72 3c 2f 61 3e ef="#toc-divFloor">@divFloor</a>
bce00 20 3c 61 20 63 6c 61 73 73 3d 22 68 64 72 22 20 68 72 65 66 3d 22 23 64 69 76 46 6c 6f 6f 72 22 .<a.class="hdr".href="#divFloor"
bce20 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><
bce40 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 span.class="line"><span.class="t
bce60 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 6e 75 6d ok-builtin">@divFloor</span>(num
bce80 65 72 61 74 6f 72 3a 20 54 2c 20 64 65 6e 6f 6d 69 6e 61 74 6f 72 3a 20 54 29 20 54 3c 2f 73 70 erator:.T,.denominator:.T).T</sp
bcea0 61 6e 3e 3c 2f 63 6f 64 65 3e 3c 2f 70 72 65 3e 0a 20 20 20 20 20 20 3c 70 3e 0a 20 20 20 20 20 an></code></pre>.......<p>......
bcec0 20 46 6c 6f 6f 72 65 64 20 64 69 76 69 73 69 6f 6e 2e 20 52 6f 75 6e 64 73 20 74 6f 77 61 72 64 .Floored.division..Rounds.toward
bcee0 20 6e 65 67 61 74 69 76 65 20 69 6e 66 69 6e 69 74 79 2e 20 46 6f 72 20 75 6e 73 69 67 6e 65 64 .negative.infinity..For.unsigned
bcf00 20 69 6e 74 65 67 65 72 73 20 69 74 20 69 73 0a 20 20 20 20 20 20 74 68 65 20 73 61 6d 65 20 61 .integers.it.is.......the.same.a
bcf20 73 20 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 6e 75 6d 65 72 s.<code><span.class="line">numer
bcf40 61 74 6f 72 20 2f 20 64 65 6e 6f 6d 69 6e 61 74 6f 72 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e ator./.denominator</span></code>
bcf60 2e 20 43 61 6c 6c 65 72 20 67 75 61 72 61 6e 74 65 65 73 20 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 ..Caller.guarantees.<code><span.
bcf80 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 64 65 6e 6f 6d 69 6e 61 74 6f 72 20 21 3d 20 3c 73 70 61 class="line">denominator.!=.<spa
bcfa0 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 30 3c 2f 73 70 61 6e 3e 3c 2f 73 n.class="tok-number">0</span></s
bcfc0 70 61 6e 3e 3c 2f 63 6f 64 65 3e 20 61 6e 64 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 3c 63 pan></code>.and...............<c
bcfe0 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 21 28 3c 73 70 61 6e 20 63 ode><span.class="line">!(<span.c
bd000 6c 61 73 73 3d 22 74 6f 6b 2d 62 75 69 6c 74 69 6e 22 3e 40 74 79 70 65 49 6e 66 6f 3c 2f 73 70 lass="tok-builtin">@typeInfo</sp
bd020 61 6e 3e 28 54 29 20 3d 3d 20 2e 49 6e 74 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d an>(T).==..Int.<span.class="tok-
bd040 6b 77 22 3e 61 6e 64 3c 2f 73 70 61 6e 3e 20 54 2e 69 73 5f 73 69 67 6e 65 64 20 3c 73 70 61 6e kw">and</span>.T.is_signed.<span
bd060 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 6e 75 6d 65 72 .class="tok-kw">and</span>.numer
bd080 61 74 6f 72 20 3d 3d 20 73 74 64 2e 6d 61 74 68 2e 6d 69 6e 49 6e 74 28 54 29 20 3c 73 70 61 6e ator.==.std.math.minInt(T).<span
bd0a0 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 64 65 6e 6f 6d .class="tok-kw">and</span>.denom
bd0c0 69 6e 61 74 6f 72 20 3d 3d 20 2d 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 inator.==.-<span.class="tok-numb
bd0e0 65 72 22 3e 31 3c 2f 73 70 61 6e 3e 29 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 2e 0a 20 20 20 er">1</span>)</span></code>.....
bd100 20 20 20 3c 2f 70 3e 0a 20 20 20 20 20 20 3c 75 6c 3e 0a 20 20 20 20 20 20 20 20 20 20 3c 6c 69 ...</p>.......<ul>...........<li
bd120 3e 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 ><code><span.class="line"><span.
bd140 63 6c 61 73 73 3d 22 74 6f 6b 2d 62 75 69 6c 74 69 6e 22 3e 40 64 69 76 46 6c 6f 6f 72 3c 2f 73 class="tok-builtin">@divFloor</s
bd160 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 3e 35 pan>(-<span.class="tok-number">5
bd180 3c 2f 73 70 61 6e 3e 2c 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
bd1a0 22 3e 33 3c 2f 73 70 61 6e 3e 29 20 3d 3d 20 2d 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b ">3</span>).==.-<span.class="tok
bd1c0 2d 6e 75 6d 62 65 72 22 3e 32 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 3c -number">2</span></span></code><
bd1e0 2f 6c 69 3e 0a 20 20 20 20 20 20 20 20 20 20 3c 6c 69 3e 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 /li>...........<li><code><span.c
bd200 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 28 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 62 75 lass="line">(<span.class="tok-bu
bd220 69 6c 74 69 6e 22 3e 40 64 69 76 46 6c 6f 6f 72 3c 2f 73 70 61 6e 3e 28 61 2c 20 62 29 20 2a 20 iltin">@divFloor</span>(a,.b).*.
bd240 62 29 20 2b 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 62 75 69 6c 74 69 6e 22 3e 40 b).+.<span.class="tok-builtin">@
bd260 6d 6f 64 3c 2f 73 70 61 6e 3e 28 61 2c 20 62 29 20 3d 3d 20 61 3c 2f 73 70 61 6e 3e 3c 2f 63 6f mod</span>(a,.b).==.a</span></co
bd280 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
bd2a0 72 20 61 20 66 75 6e 63 74 69 6f 6e 20 74 68 61 74 20 72 65 74 75 72 6e 73 20 61 20 70 6f 73 73 r.a.function.that.returns.a.poss
bd2c0 69 62 6c 65 20 65 72 72 6f 72 20 63 6f 64 65 2c 20 75 73 65 20 3c 63 6f 64 65 3e 3c 73 70 61 6e ible.error.code,.use.<code><span
bd2e0 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 62 .class="line"><span.class="tok-b
bd300 75 69 6c 74 69 6e 22 3e 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
bd320 73 73 3d 22 74 6f 6b 2d 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
bd340 61 6e 3e 29 2e 6d 61 74 68 2e 64 69 76 46 6c 6f 6f 72 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e an>).math.divFloor</span></code>
bd360 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>
bd380 0a 3c 6c 69 3e 3c 61 20 68 72 65 66 3d 22 23 64 69 76 54 72 75 6e 63 22 3e 40 64 69 76 54 72 75 .<li><a.href="#divTrunc">@divTru
bd3a0 6e 63 3c 2f 61 3e 3c 2f 6c 69 3e 0a 3c 6c 69 3e 3c 61 20 68 72 65 66 3d 22 23 64 69 76 45 78 61 nc</a></li>.<li><a.href="#divExa
bd3c0 63 74 22 3e 40 64 69 76 45 78 61 63 74 3c 2f 61 3e 3c 2f 6c 69 3e 0a 3c 2f 75 6c 3e 0a 0a 20 20 ct">@divExact</a></li>.</ul>....
bd3e0 20 20 20 20 0a 20 20 20 20 20 20 3c 68 33 20 69 64 3d 22 64 69 76 54 72 75 6e 63 22 3e 3c 61 20 ...........<h3.id="divTrunc"><a.
bd400 68 72 65 66 3d 22 23 74 6f 63 2d 64 69 76 54 72 75 6e 63 22 3e 40 64 69 76 54 72 75 6e 63 3c 2f href="#toc-divTrunc">@divTrunc</
bd420 61 3e 20 3c 61 20 63 6c 61 73 73 3d 22 68 64 72 22 20 68 72 65 66 3d 22 23 64 69 76 54 72 75 6e a>.<a.class="hdr".href="#divTrun
bd440 63 22 3e c2 a7 3c 2f 61 3e 3c 2f 68 33 3e 0a 0a 20 20 20 20 20 20 3c 70 72 65 3e 3c 63 6f 64 65 c">..</a></h3>........<pre><code
bd460 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d ><span.class="line"><span.class=
bd480 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 6e "tok-builtin">@divTrunc</span>(n
bd4a0 75 6d 65 72 61 74 6f 72 3a 20 54 2c 20 64 65 6e 6f 6d 69 6e 61 74 6f 72 3a 20 54 29 20 54 3c 2f umerator:.T,.denominator:.T).T</
bd4c0 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>....
bd4e0 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 74 6f ...Truncated.division..Rounds.to
bd500 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 72 73 ward.zero..For.unsigned.integers
bd520 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 3e 3c .it.is.......the.same.as.<code><
bd540 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 6e 75 6d 65 72 61 74 6f 72 20 2f 20 64 65 span.class="line">numerator./.de
bd560 6e 6f 6d 69 6e 61 74 6f 72 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 2e 20 43 61 6c 6c 65 72 20 nominator</span></code>..Caller.
bd580 67 75 61 72 61 6e 74 65 65 73 20 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 guarantees.<code><span.class="li
bd5a0 6e 65 22 3e 64 65 6e 6f 6d 69 6e 61 74 6f 72 20 21 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 ne">denominator.!=.<span.class="
bd5c0 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 30 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 tok-number">0</span></span></cod
bd5e0 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 3c 73 70 61 6e e>.and...............<code><span
bd600 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 21 28 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b .class="line">!(<span.class="tok
bd620 2d 62 75 69 6c 74 69 6e 22 3e 40 74 79 70 65 49 6e 66 6f 3c 2f 73 70 61 6e 3e 28 54 29 20 3d 3d -builtin">@typeInfo</span>(T).==
bd640 20 2e 49 6e 74 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 61 6e 64 3c 2f ..Int.<span.class="tok-kw">and</
bd660 73 70 61 6e 3e 20 54 2e 69 73 5f 73 69 67 6e 65 64 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 span>.T.is_signed.<span.class="t
bd680 6f 6b 2d 6b 77 22 3e 61 6e 64 3c 2f 73 70 61 6e 3e 20 6e 75 6d 65 72 61 74 6f 72 20 3d 3d 20 73 ok-kw">and</span>.numerator.==.s
bd6a0 74 64 2e 6d 61 74 68 2e 6d 69 6e 49 6e 74 28 54 29 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 td.math.minInt(T).<span.class="t
bd6c0 6f 6b 2d 6b 77 22 3e 61 6e 64 3c 2f 73 70 61 6e 3e 20 64 65 6e 6f 6d 69 6e 61 74 6f 72 20 3d 3d ok-kw">and</span>.denominator.==
bd6e0 20 2d 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 31 3c 2f 73 70 .-<span.class="tok-number">1</sp
bd700 61 6e 3e 29 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 2e 0a 20 20 20 20 20 20 3c 2f 70 3e 0a 20 an>)</span></code>........</p>..
bd720 20 20 20 20 20 3c 75 6c 3e 0a 20 20 20 20 20 20 20 20 20 20 3c 6c 69 3e 3c 63 6f 64 65 3e 3c 73 .....<ul>...........<li><code><s
bd740 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f pan.class="line"><span.class="to
bd760 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 70 k-builtin">@divTrunc</span>(-<sp
bd780 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>,.
bd7a0 3c 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
bd7c0 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">
bd7e0 31 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 3c 2f 6c 69 3e 0a 20 20 20 20 1</span></span></code></li>.....
bd800 20 20 20 20 20 20 3c 6c 69 3e 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e ......<li><code><span.class="lin
bd820 65 22 3e 28 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 62 75 69 6c 74 69 6e 22 3e 40 64 e">(<span.class="tok-builtin">@d
bd840 69 76 54 72 75 6e 63 3c 2f 73 70 61 6e 3e 28 61 2c 20 62 29 20 2a 20 62 29 20 2b 20 3c 73 70 61 ivTrunc</span>(a,.b).*.b).+.<spa
bd860 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
bd880 3e 28 61 2c 20 62 29 20 3d 3d 20 61 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 3c 2f 6c 69 3e 0a >(a,.b).==.a</span></code></li>.
bd8a0 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
bd8c0 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
bd8e0 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 6c r.code,.use.<code><span.class="l
bd900 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 62 75 69 6c 74 69 6e 22 3e 40 ine"><span.class="tok-builtin">@
bd920 69 6d 70 6f 72 74 3c 2f 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
bd940 74 72 22 3e 26 71 75 6f 74 3b 73 74 64 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 29 2e 6d 61 74 68 tr">&quot;std&quot;</span>).math
bd960 2e 64 69 76 54 72 75 6e 63 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 2e 3c 2f 70 3e 0a 20 20 20 .divTrunc</span></code>.</p>....
bd980 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
bd9a0 72 65 66 3d 22 23 64 69 76 46 6c 6f 6f 72 22 3e 40 64 69 76 46 6c 6f 6f 72 3c 2f 61 3e 3c 2f 6c ref="#divFloor">@divFloor</a></l
bd9c0 69 3e 0a 3c 6c 69 3e 3c 61 20 68 72 65 66 3d 22 23 64 69 76 45 78 61 63 74 22 3e 40 64 69 76 45 i>.<li><a.href="#divExact">@divE
bd9e0 78 61 63 74 3c 2f 61 3e 3c 2f 6c 69 3e 0a 3c 2f 75 6c 3e 0a 0a 20 20 20 20 20 20 0a 20 20 20 20 xact</a></li>.</ul>.............
bda00 20 20 3c 68 33 20 69 64 3d 22 65 6d 62 65 64 46 69 6c 65 22 3e 3c 61 20 68 72 65 66 3d 22 23 74 ..<h3.id="embedFile"><a.href="#t
bda20 6f 63 2d 65 6d 62 65 64 46 69 6c 65 22 3e 40 65 6d 62 65 64 46 69 6c 65 3c 2f 61 3e 20 3c 61 20 oc-embedFile">@embedFile</a>.<a.
bda40 63 6c 61 73 73 3d 22 68 64 72 22 20 68 72 65 66 3d 22 23 65 6d 62 65 64 46 69 6c 65 22 3e c2 a7 class="hdr".href="#embedFile">..
bda60 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
bda80 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d n.class="line"><span.class="tok-
bdaa0 62 75 69 6c 74 69 6e 22 3e 40 65 6d 62 65 64 46 69 6c 65 3c 2f 73 70 61 6e 3e 28 3c 73 70 61 6e builtin">@embedFile</span>(<span
bdac0 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>.
bdae0 70 61 74 68 3a 20 5b 5d 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 63 6f 6e path:.[]<span.class="tok-kw">con
bdb00 73 74 3c 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"
bdb20 3e 75 38 3c 2f 73 70 61 6e 3e 29 20 2a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 >u8</span>).*<span.class="tok-kw
bdb40 22 3e 63 6f 6e 73 74 3c 2f 73 70 61 6e 3e 20 5b 4e 3a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 ">const</span>.[N:<span.class="t
bdb60 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=
bdb80 22 74 6f 6b 2d 74 79 70 65 22 3e 75 38 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 "tok-type">u8</span></span></cod
bdba0 65 3e 3c 2f 70 72 65 3e 0a 20 20 20 20 20 20 3c 70 3e 0a 20 20 20 20 20 20 54 68 69 73 20 66 75 e></pre>.......<p>.......This.fu
bdbc0 6e 63 74 69 6f 6e 20 72 65 74 75 72 6e 73 20 61 20 63 6f 6d 70 69 6c 65 20 74 69 6d 65 20 63 6f nction.returns.a.compile.time.co
bdbe0 6e 73 74 61 6e 74 20 70 6f 69 6e 74 65 72 20 74 6f 20 6e 75 6c 6c 2d 74 65 72 6d 69 6e 61 74 65 nstant.pointer.to.null-terminate
bdc00 64 2c 0a 20 20 20 20 20 20 66 69 78 65 64 2d 73 69 7a 65 20 61 72 72 61 79 20 77 69 74 68 20 6c d,.......fixed-size.array.with.l
bdc20 65 6e 67 74 68 20 65 71 75 61 6c 20 74 6f 20 74 68 65 20 62 79 74 65 20 63 6f 75 6e 74 20 6f 66 ength.equal.to.the.byte.count.of
bdc40 20 74 68 65 20 66 69 6c 65 20 67 69 76 65 6e 20 62 79 0a 20 20 20 20 20 20 3c 63 6f 64 65 3e 3c .the.file.given.by.......<code><
bdc60 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 70 61 74 68 3c 2f 73 70 61 6e 3e 3c 2f 63 span.class="line">path</span></c
bdc80 6f 64 65 3e 2e 20 54 68 65 20 63 6f 6e 74 65 6e 74 73 20 6f 66 20 74 68 65 20 61 72 72 61 79 20 ode>..The.contents.of.the.array.
bdca0 61 72 65 20 74 68 65 20 63 6f 6e 74 65 6e 74 73 20 6f 66 20 74 68 65 20 66 69 6c 65 2e 0a 20 20 are.the.contents.of.the.file....
bdcc0 20 20 20 20 54 68 69 73 20 69 73 20 65 71 75 69 76 61 6c 65 6e 74 20 74 6f 20 61 20 3c 61 20 68 ....This.is.equivalent.to.a.<a.h
bdce0 72 65 66 3d 22 23 53 74 72 69 6e 67 2d 4c 69 74 65 72 61 6c 73 2d 61 6e 64 2d 55 6e 69 63 6f 64 ref="#String-Literals-and-Unicod
bdd00 65 2d 43 6f 64 65 2d 50 6f 69 6e 74 2d 4c 69 74 65 72 61 6c 73 22 3e 73 74 72 69 6e 67 20 6c 69 e-Code-Point-Literals">string.li
bdd20 74 65 72 61 6c 3c 2f 61 3e 0a 20 20 20 20 20 20 77 69 74 68 20 74 68 65 20 66 69 6c 65 20 63 6f teral</a>.......with.the.file.co
bdd40 6e 74 65 6e 74 73 2e 0a 20 20 20 20 20 20 3c 2f 70 3e 0a 20 20 20 20 20 20 3c 70 3e 0a 20 20 20 ntents........</p>.......<p>....
bdd60 20 20 20 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 70 61 74 68 ...<code><span.class="line">path
bdd80 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 20 69 73 20 61 62 73 6f 6c 75 74 65 20 6f 72 20 72 65 </span></code>.is.absolute.or.re
bdda0 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 73 74 lative.to.the.current.file,.just
bddc0 20 6c 69 6b 65 20 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c .like.<code><span.class="line"><
bdde0 73 70 61 6e 20 63 6c 61 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
bde00 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 2e 0a 20 20 20 20 20 20 3c 2f 70 </span></span></code>........</p
bde20 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
bde40 3e 3c 61 20 68 72 65 66 3d 22 23 69 6d 70 6f 72 74 22 3e 40 69 6d 70 6f 72 74 3c 2f 61 3e 3c 2f ><a.href="#import">@import</a></
bde60 6c 69 3e 0a 3c 2f 75 6c 3e 0a 0a 20 20 20 20 20 20 0a 0a 20 20 20 20 20 20 3c 68 33 20 69 64 3d li>.</ul>................<h3.id=
bde80 22 65 6e 75 6d 54 6f 49 6e 74 22 3e 3c 61 20 68 72 65 66 3d 22 23 74 6f 63 2d 65 6e 75 6d 54 6f "enumToInt"><a.href="#toc-enumTo
bdea0 49 6e 74 22 3e 40 65 6e 75 6d 54 6f 49 6e 74 3c 2f 61 3e 20 3c 61 20 63 6c 61 73 73 3d 22 68 64 Int">@enumToInt</a>.<a.class="hd
bdec0 72 22 20 68 72 65 66 3d 22 23 65 6e 75 6d 54 6f 49 6e 74 22 3e c2 a7 3c 2f 61 3e 3c 2f 68 33 3e r".href="#enumToInt">..</a></h3>
bdee0 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="
bdf00 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 62 75 69 6c 74 69 6e 22 3e line"><span.class="tok-builtin">
bdf20 40 65 6e 75 6d 54 6f 49 6e 74 3c 2f 73 70 61 6e 3e 28 65 6e 75 6d 5f 6f 72 5f 74 61 67 67 65 64 @enumToInt</span>(enum_or_tagged
bdf40 5f 75 6e 69 6f 6e 3a 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 61 6e 79 _union:.<span.class="tok-kw">any
bdf60 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
bdf80 22 3e 61 6e 79 74 79 70 65 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 3c 2f ">anytype</span></span></code></
bdfa0 70 72 65 3e 0a 20 20 20 20 20 20 3c 70 3e 0a 20 20 20 20 20 20 43 6f 6e 76 65 72 74 73 20 61 6e pre>.......<p>.......Converts.an
bdfc0 20 65 6e 75 6d 65 72 61 74 69 6f 6e 20 76 61 6c 75 65 20 69 6e 74 6f 20 69 74 73 20 69 6e 74 65 .enumeration.value.into.its.inte
bdfe0 67 65 72 20 74 61 67 20 74 79 70 65 2e 20 57 68 65 6e 20 61 20 74 61 67 67 65 64 20 75 6e 69 6f ger.tag.type..When.a.tagged.unio
be000 6e 20 69 73 20 70 61 73 73 65 64 2c 0a 20 20 20 20 20 20 74 68 65 20 74 61 67 20 76 61 6c 75 65 n.is.passed,.......the.tag.value
be020 20 69 73 20 75 73 65 64 20 61 73 20 74 68 65 20 65 6e 75 6d 65 72 61 74 69 6f 6e 20 76 61 6c 75 .is.used.as.the.enumeration.valu
be040 65 2e 0a 20 20 20 20 20 20 3c 2f 70 3e 0a 20 20 20 20 20 20 3c 70 3e 0a 20 20 20 20 20 20 49 66 e........</p>.......<p>.......If
be060 20 74 68 65 72 65 20 69 73 20 6f 6e 6c 79 20 6f 6e 65 20 70 6f 73 73 69 62 6c 65 20 65 6e 75 6d .there.is.only.one.possible.enum
be080 20 76 61 6c 75 65 2c 20 74 68 65 20 72 65 73 75 6c 74 20 69 73 20 61 20 3c 63 6f 64 65 3e 3c 73 .value,.the.result.is.a.<code><s
be0a0 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f pan.class="line"><span.class="to
be0c0 6b 2d 74 79 70 65 22 3e 63 6f 6d 70 74 69 6d 65 5f 69 6e 74 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 k-type">comptime_int</span></spa
be0e0 6e 3e 3c 2f 63 6f 64 65 3e 0a 20 20 20 20 20 20 6b 6e 6f 77 6e 20 61 74 20 3c 61 20 68 72 65 66 n></code>.......known.at.<a.href
be100 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>.......
be120 20 3c 2f 70 3e 0a 20 20 20 20 20 20 3c 70 3e 53 65 65 20 61 6c 73 6f 3a 3c 2f 70 3e 3c 75 6c 3e .</p>.......<p>See.also:</p><ul>
be140 0a 3c 6c 69 3e 3c 61 20 68 72 65 66 3d 22 23 69 6e 74 54 6f 45 6e 75 6d 22 3e 40 69 6e 74 54 6f .<li><a.href="#intToEnum">@intTo
be160 45 6e 75 6d 3c 2f 61 3e 3c 2f 6c 69 3e 0a 3c 2f 75 6c 3e 0a 0a 20 20 20 20 20 20 0a 0a 20 20 20 Enum</a></li>.</ul>.............
be180 20 20 20 3c 68 33 20 69 64 3d 22 65 72 72 6f 72 4e 61 6d 65 22 3e 3c 61 20 68 72 65 66 3d 22 23 ...<h3.id="errorName"><a.href="#
be1a0 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 61 3e 20 3c 61 toc-errorName">@errorName</a>.<a
be1c0 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 6d 65 22 3e c2 .class="hdr".href="#errorName">.
be1e0 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
be200 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b an.class="line"><span.class="tok
be220 2d 62 75 69 6c 74 69 6e 22 3e 40 65 72 72 6f 72 4e 61 6d 65 3c 2f 73 70 61 6e 3e 28 65 72 72 3a -builtin">@errorName</span>(err:
be240 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
be260 3c 2f 73 70 61 6e 3e 29 20 5b 3a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 </span>).[:<span.class="tok-numb
be280 65 72 22 3e 30 3c 2f 73 70 61 6e 3e 5d 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 er">0</span>]<span.class="tok-kw
be2a0 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-
be2c0 74 79 70 65 22 3e 75 38 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 3c 2f 70 type">u8</span></span></code></p
be2e0 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
be300 6e 20 72 65 74 75 72 6e 73 20 74 68 65 20 73 74 72 69 6e 67 20 72 65 70 72 65 73 65 6e 74 61 74 n.returns.the.string.representat
be320 69 6f 6e 20 6f 66 20 61 6e 20 65 72 72 6f 72 2e 20 54 68 65 20 73 74 72 69 6e 67 20 72 65 70 72 ion.of.an.error..The.string.repr
be340 65 73 65 6e 74 61 74 69 6f 6e 0a 20 20 20 20 20 20 6f 66 20 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 esentation.......of.<code><span.
be360 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 class="line"><span.class="tok-kw
be380 22 3e 65 72 72 6f 72 3c 2f 73 70 61 6e 3e 2e 4f 75 74 4f 66 4d 65 6d 3c 2f 73 70 61 6e 3e 3c 2f ">error</span>.OutOfMem</span></
be3a0 63 6f 64 65 3e 20 69 73 20 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 code>.is.<code><span.class="line
be3c0 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 73 74 72 22 3e 26 71 75 6f 74 3b 4f 75 "><span.class="tok-str">&quot;Ou
be3e0 74 4f 66 4d 65 6d 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 tOfMem&quot;</span></span></code
be400 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 49 66 >........</p>.......<p>.......If
be420 20 74 68 65 72 65 20 61 72 65 20 6e 6f 20 63 61 6c 6c 73 20 74 6f 20 3c 63 6f 64 65 3e 3c 73 70 .there.are.no.calls.to.<code><sp
be440 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b an.class="line"><span.class="tok
be460 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 2f 73 70 61 -builtin">@errorName</span></spa
be480 6e 3e 3c 2f 63 6f 64 65 3e 20 69 6e 20 61 6e 20 65 6e 74 69 72 65 20 61 70 70 6c 69 63 61 74 69 n></code>.in.an.entire.applicati
be4a0 6f 6e 2c 0a 20 20 20 20 20 20 6f 72 20 61 6c 6c 20 63 61 6c 6c 73 20 68 61 76 65 20 61 20 63 6f on,.......or.all.calls.have.a.co
be4c0 6d 70 69 6c 65 2d 74 69 6d 65 20 6b 6e 6f 77 6e 20 76 61 6c 75 65 20 66 6f 72 20 3c 63 6f 64 65 mpile-time.known.value.for.<code
be4e0 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 65 72 72 3c 2f 73 70 61 6e 3e 3c 2f ><span.class="line">err</span></
be500 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 6d 65 20 code>,.then.no.......error.name.
be520 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 20 20 3c table.will.be.generated........<
be540 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 6f 72 52 /p>...............<h3.id="errorR
be560 65 74 75 72 6e 54 72 61 63 65 22 3e 3c 61 20 68 72 65 66 3d 22 23 74 6f 63 2d 65 72 72 6f 72 52 eturnTrace"><a.href="#toc-errorR
be580 65 74 75 72 6e 54 72 61 63 65 22 3e 40 65 72 72 6f 72 52 65 74 75 72 6e 54 72 61 63 65 3c 2f 61 eturnTrace">@errorReturnTrace</a
be5a0 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 52 65 74 >.<a.class="hdr".href="#errorRet
be5c0 75 72 6e 54 72 61 63 65 22 3e c2 a7 3c 2f 61 3e 3c 2f 68 33 3e 0a 0a 20 20 20 20 20 20 3c 70 72 urnTrace">..</a></h3>........<pr
be5e0 65 3e 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e e><code><span.class="line"><span
be600 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 62 75 69 6c 74 69 6e 22 3e 40 65 72 72 6f 72 52 65 74 75 72 .class="tok-builtin">@errorRetur
be620 6e 54 72 61 63 65 3c 2f 73 70 61 6e 3e 28 29 20 3f 2a 62 75 69 6c 74 69 6e 2e 53 74 61 63 6b 54 nTrace</span>().?*builtin.StackT
be640 72 61 63 65 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 3c 2f 70 72 65 3e 0a 20 20 20 20 20 20 3c race</span></code></pre>.......<
be660 70 3e 0a 20 20 20 20 20 20 49 66 20 74 68 65 20 62 69 6e 61 72 79 20 69 73 20 62 75 69 6c 74 20 p>.......If.the.binary.is.built.
be680 77 69 74 68 20 65 72 72 6f 72 20 72 65 74 75 72 6e 20 74 72 61 63 69 6e 67 2c 20 61 6e 64 20 74 with.error.return.tracing,.and.t
be6a0 68 69 73 20 66 75 6e 63 74 69 6f 6e 20 69 73 20 69 6e 76 6f 6b 65 64 20 69 6e 20 61 0a 20 20 20 his.function.is.invoked.in.a....
be6c0 20 20 20 66 75 6e 63 74 69 6f 6e 20 74 68 61 74 20 63 61 6c 6c 73 20 61 20 66 75 6e 63 74 69 6f ...function.that.calls.a.functio
be6e0 6e 20 77 69 74 68 20 61 6e 20 65 72 72 6f 72 20 6f 72 20 65 72 72 6f 72 20 75 6e 69 6f 6e 20 72 n.with.an.error.or.error.union.r
be700 65 74 75 72 6e 20 74 79 70 65 2c 20 72 65 74 75 72 6e 73 20 61 0a 20 20 20 20 20 20 73 74 61 63 eturn.type,.returns.a.......stac
be720 6b 20 74 72 61 63 65 20 6f 62 6a 65 63 74 2e 20 4f 74 68 65 72 77 69 73 65 20 72 65 74 75 72 6e k.trace.object..Otherwise.return
be740 73 20 3c 61 20 68 72 65 66 3d 22 23 6e 75 6c 6c 22 3e 6e 75 6c 6c 3c 2f 61 3e 2e 0a 20 20 20 20 s.<a.href="#null">null</a>......
be760 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
be780 6f 72 54 6f 49 6e 74 22 3e 3c 61 20 68 72 65 66 3d 22 23 74 6f 63 2d 65 72 72 6f 72 54 6f 49 6e orToInt"><a.href="#toc-errorToIn
be7a0 74 22 3e 40 65 72 72 6f 72 54 6f 49 6e 74 3c 2f 61 3e 20 3c 61 20 63 6c 61 73 73 3d 22 68 64 72 t">@errorToInt</a>.<a.class="hdr
be7c0 22 20 68 72 65 66 3d 22 23 65 72 72 6f 72 54 6f 49 6e 74 22 3e c2 a7 3c 2f 61 3e 3c 2f 68 33 3e ".href="#errorToInt">..</a></h3>
be7e0 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="
be800 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 62 75 69 6c 74 69 6e 22 3e line"><span.class="tok-builtin">
be820 40 65 72 72 6f 72 54 6f 49 6e 74 3c 2f 73 70 61 6e 3e 28 65 72 72 3a 20 3c 73 70 61 6e 20 63 6c @errorToInt</span>(err:.<span.cl
be840 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 73 74 64 ass="tok-kw">anytype</span>).std
be860 2e 6d 65 74 61 2e 49 6e 74 28 2e 75 6e 73 69 67 6e 65 64 2c 20 3c 73 70 61 6e 20 63 6c 61 73 73 .meta.Int(.unsigned,.<span.class
be880 3d 22 74 6f 6b 2d 62 75 69 6c 74 69 6e 22 3e 40 73 69 7a 65 4f 66 3c 2f 73 70 61 6e 3e 28 3c 73 ="tok-builtin">@sizeOf</span>(<s
be8a0 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
be8c0 70 61 6e 3e 29 20 2a 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 pan>).*.<span.class="tok-number"
be8e0 3e 38 3c 2f 73 70 61 6e 3e 29 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 3c 2f 70 72 65 3e 0a 20 >8</span>)</span></code></pre>..
be900 20 20 20 20 20 3c 70 3e 0a 20 20 20 20 20 20 53 75 70 70 6f 72 74 73 20 74 68 65 20 66 6f 6c 6c .....<p>.......Supports.the.foll
be920 6f 77 69 6e 67 20 74 79 70 65 73 3a 0a 20 20 20 20 20 20 3c 2f 70 3e 0a 20 20 20 20 20 20 3c 75 owing.types:.......</p>.......<u
be940 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 54 68 65 2d 47 l>...........<li><a.href="#The-G
be960 6c 6f 62 61 6c 2d 45 72 72 6f 72 2d 53 65 74 22 3e 54 68 65 20 47 6c 6f 62 61 6c 20 45 72 72 6f lobal-Error-Set">The.Global.Erro
be980 72 20 53 65 74 3c 2f 61 3e 3c 2f 6c 69 3e 0a 20 20 20 20 20 20 20 20 20 20 3c 6c 69 3e 3c 61 20 r.Set</a></li>...........<li><a.
be9a0 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 65 74 href="#Error-Set-Type">Error.Set
be9c0 20 54 79 70 65 3c 2f 61 3e 3c 2f 6c 69 3e 0a 20 20 20 20 20 20 20 20 20 20 3c 6c 69 3e 3c 61 20 .Type</a></li>...........<li><a.
be9e0 68 72 65 66 3d 22 23 45 72 72 6f 72 2d 55 6e 69 6f 6e 2d 54 79 70 65 22 3e 45 72 72 6f 72 20 55 href="#Error-Union-Type">Error.U
bea00 6e 69 6f 6e 20 54 79 70 65 3c 2f 61 3e 3c 2f 6c 69 3e 0a 20 20 20 20 20 20 3c 2f 75 6c 3e 0a 20 nion.Type</a></li>.......</ul>..
bea20 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 72 72 6f 72 .....<p>.......Converts.an.error
bea40 20 74 6f 20 74 68 65 20 69 6e 74 65 67 65 72 20 72 65 70 72 65 73 65 6e 74 61 74 69 6f 6e 20 6f .to.the.integer.representation.o
bea60 66 20 61 6e 20 65 72 72 6f 72 2e 0a 20 20 20 20 20 20 3c 2f 70 3e 0a 20 20 20 20 20 20 3c 70 3e f.an.error........</p>.......<p>
bea80 0a 20 20 20 20 20 20 49 74 20 69 73 20 67 65 6e 65 72 61 6c 6c 79 20 72 65 63 6f 6d 6d 65 6e 64 .......It.is.generally.recommend
beaa0 65 64 20 74 6f 20 61 76 6f 69 64 20 74 68 69 73 0a 20 20 20 20 20 20 63 61 73 74 2c 20 61 73 20 ed.to.avoid.this.......cast,.as.
beac0 74 68 65 20 69 6e 74 65 67 65 72 20 72 65 70 72 65 73 65 6e 74 61 74 69 6f 6e 20 6f 66 20 61 6e the.integer.representation.of.an
beae0 20 65 72 72 6f 72 20 69 73 20 6e 6f 74 20 73 74 61 62 6c 65 20 61 63 72 6f 73 73 20 73 6f 75 72 .error.is.not.stable.across.sour
beb00 63 65 20 63 6f 64 65 20 63 68 61 6e 67 65 73 2e 0a 20 20 20 20 20 20 3c 2f 70 3e 0a 20 20 20 20 ce.code.changes........</p>.....
beb20 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
beb40 65 66 3d 22 23 69 6e 74 54 6f 45 72 72 6f 72 22 3e 40 69 6e 74 54 6f 45 72 72 6f 72 3c 2f 61 3e ef="#intToError">@intToError</a>
beb60 3c 2f 6c 69 3e 0a 3c 2f 75 6c 3e 0a 0a 20 20 20 20 20 20 0a 0a 20 20 20 20 20 20 3c 68 33 20 69 </li>.</ul>................<h3.i
beb80 64 3d 22 65 72 72 53 65 74 43 61 73 74 22 3e 3c 61 20 68 72 65 66 3d 22 23 74 6f 63 2d 65 72 72 d="errSetCast"><a.href="#toc-err
beba0 53 65 74 43 61 73 74 22 3e 40 65 72 72 53 65 74 43 61 73 74 3c 2f 61 3e 20 3c 61 20 63 6c 61 73 SetCast">@errSetCast</a>.<a.clas
bebc0 73 3d 22 68 64 72 22 20 68 72 65 66 3d 22 23 65 72 72 53 65 74 43 61 73 74 22 3e c2 a7 3c 2f 61 s="hdr".href="#errSetCast">..</a
bebe0 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
bec00 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 62 75 69 lass="line"><span.class="tok-bui
bec20 6c 74 69 6e 22 3e 40 65 72 72 53 65 74 43 61 73 74 3c 2f 73 70 61 6e 3e 28 3c 73 70 61 6e 20 63 ltin">@errSetCast</span>(<span.c
bec40 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:
bec60 20 44 65 73 74 54 79 70 65 2c 20 76 61 6c 75 65 3a 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 .DestType,.value:.<span.class="t
bec80 6f 6b 2d 6b 77 22 3e 61 6e 79 74 79 70 65 3c 2f 73 70 61 6e 3e 29 20 44 65 73 74 54 79 70 65 3c ok-kw">anytype</span>).DestType<
beca0 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>...
becc0 20 20 20 20 43 6f 6e 76 65 72 74 73 20 61 6e 20 65 72 72 6f 72 20 76 61 6c 75 65 20 66 72 6f 6d ....Converts.an.error.value.from
bece0 20 6f 6e 65 20 65 72 72 6f 72 20 73 65 74 20 74 6f 20 61 6e 6f 74 68 65 72 20 65 72 72 6f 72 20 .one.error.set.to.another.error.
bed00 73 65 74 2e 20 41 74 74 65 6d 70 74 69 6e 67 20 74 6f 20 63 6f 6e 76 65 72 74 20 61 6e 20 65 72 set..Attempting.to.convert.an.er
bed20 72 6f 72 0a 20 20 20 20 20 20 77 68 69 63 68 20 69 73 20 6e 6f 74 20 69 6e 20 74 68 65 20 64 65 ror.......which.is.not.in.the.de
bed40 73 74 69 6e 61 74 69 6f 6e 20 65 72 72 6f 72 20 73 65 74 20 72 65 73 75 6c 74 73 20 69 6e 20 73 stination.error.set.results.in.s
bed60 61 66 65 74 79 2d 70 72 6f 74 65 63 74 65 64 20 3c 61 20 68 72 65 66 3d 22 23 55 6e 64 65 66 69 afety-protected.<a.href="#Undefi
bed80 6e 65 64 2d 42 65 68 61 76 69 6f 72 22 3e 55 6e 64 65 66 69 6e 65 64 20 42 65 68 61 76 69 6f 72 ned-Behavior">Undefined.Behavior
beda0 3c 2f 61 3e 2e 0a 20 20 20 20 20 20 3c 2f 70 3e 0a 20 20 20 20 20 20 0a 0a 20 20 20 20 20 20 3c </a>........</p>...............<
bedc0 68 33 20 69 64 3d 22 65 78 70 6f 72 74 22 3e 3c 61 20 68 72 65 66 3d 22 23 74 6f 63 2d 65 78 70 h3.id="export"><a.href="#toc-exp
bede0 6f 72 74 22 3e 40 65 78 70 6f 72 74 3c 2f 61 3e 20 3c 61 20 63 6c 61 73 73 3d 22 68 64 72 22 20 ort">@export</a>.<a.class="hdr".
bee00 68 72 65 66 3d 22 23 65 78 70 6f 72 74 22 3e c2 a7 3c 2f 61 3e 3c 2f 68 33 3e 0a 0a 20 20 20 20 href="#export">..</a></h3>......
bee20 20 20 3c 70 72 65 3e 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e ..<pre><code><span.class="line">
bee40 3c 73 70 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 6f 72 <span.class="tok-builtin">@expor
bee60 74 3c 2f 73 70 61 6e 3e 28 64 65 63 6c 61 72 61 74 69 6f 6e 2c 20 3c 73 70 61 6e 20 63 6c 61 73 t</span>(declaration,.<span.clas
bee80 73 3d 22 74 6f 6b 2d 6b 77 22 3e 63 6f 6d 70 74 69 6d 65 3c 2f 73 70 61 6e 3e 20 6f 70 74 69 6f s="tok-kw">comptime</span>.optio
beea0 6e 73 3a 20 73 74 64 2e 62 75 69 6c 74 69 6e 2e 45 78 70 6f 72 74 4f 70 74 69 6f 6e 73 29 20 3c ns:.std.builtin.ExportOptions).<
beec0 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
beee0 3e 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 3c 2f 70 72 65 3e 0a 20 20 20 20 20 20 3c 70 3e 0a ></span></code></pre>.......<p>.
bef00 20 20 20 20 20 20 43 72 65 61 74 65 73 20 61 20 73 79 6d 62 6f 6c 20 69 6e 20 74 68 65 20 6f 75 ......Creates.a.symbol.in.the.ou
bef20 74 70 75 74 20 6f 62 6a 65 63 74 20 66 69 6c 65 2e 0a 20 20 20 20 20 20 3c 2f 70 3e 0a 20 20 20 tput.object.file........</p>....
bef40 20 20 20 3c 70 3e 0a 20 20 20 20 20 20 3c 63 6f 64 65 3e 64 65 63 6c 61 72 61 74 69 6f 6e 3c 2f ...<p>.......<code>declaration</
bef60 63 6f 64 65 3e 20 6d 75 73 74 20 62 65 20 6f 6e 65 20 6f 66 20 74 77 6f 20 74 68 69 6e 67 73 3a code>.must.be.one.of.two.things:
bef80 0a 20 20 20 20 20 20 3c 2f 70 3e 0a 20 20 20 20 20 20 3c 75 6c 3e 0a 20 20 20 20 20 20 20 20 3c .......</p>.......<ul>.........<
befa0 6c 69 3e 41 6e 20 69 64 65 6e 74 69 66 69 65 72 20 28 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c li>An.identifier.(<code><span.cl
befc0 61 73 73 3d 22 6c 69 6e 65 22 3e 78 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 29 20 69 64 65 6e ass="line">x</span></code>).iden
befe0 74 69 66 79 69 6e 67 20 61 20 3c 61 20 68 72 65 66 3d 22 23 46 75 6e 63 74 69 6f 6e 73 22 3e 66 tifying.a.<a.href="#Functions">f
bf000 75 6e 63 74 69 6f 6e 3c 2f 61 3e 20 6f 72 20 61 0a 20 20 20 20 20 20 20 20 20 20 3c 61 20 68 72 unction</a>.or.a...........<a.hr
bf020 65 66 3d 22 23 43 6f 6e 74 61 69 6e 65 72 2d 4c 65 76 65 6c 2d 56 61 72 69 61 62 6c 65 73 22 3e ef="#Container-Level-Variables">
bf040 76 61 72 69 61 62 6c 65 3c 2f 61 3e 2e 3c 2f 6c 69 3e 0a 20 20 20 20 20 20 20 20 3c 6c 69 3e 46 variable</a>.</li>.........<li>F
bf060 69 65 6c 64 20 61 63 63 65 73 73 20 28 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 ield.access.(<code><span.class="
bf080 6c 69 6e 65 22 3e 78 2e 79 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 29 20 6c 6f 6f 6b 69 6e 67 line">x.y</span></code>).looking
bf0a0 20 75 70 20 61 20 3c 61 20 68 72 65 66 3d 22 23 46 75 6e 63 74 69 6f 6e 73 22 3e 66 75 6e 63 74 .up.a.<a.href="#Functions">funct
bf0c0 69 6f 6e 3c 2f 61 3e 20 6f 72 20 61 0a 20 20 20 20 20 20 20 20 20 20 3c 61 20 68 72 65 66 3d 22 ion</a>.or.a...........<a.href="
bf0e0 23 43 6f 6e 74 61 69 6e 65 72 2d 4c 65 76 65 6c 2d 56 61 72 69 61 62 6c 65 73 22 3e 76 61 72 69 #Container-Level-Variables">vari
bf100 61 62 6c 65 3c 2f 61 3e 2e 3c 2f 6c 69 3e 0a 20 20 20 20 20 20 3c 2f 75 6c 3e 0a 20 20 20 20 20 able</a>.</li>.......</ul>......
bf120 20 3c 70 3e 0a 20 20 20 20 20 20 54 68 69 73 20 62 75 69 6c 74 69 6e 20 63 61 6e 20 62 65 20 63 .<p>.......This.builtin.can.be.c
bf140 61 6c 6c 65 64 20 66 72 6f 6d 20 61 20 3c 61 20 68 72 65 66 3d 22 23 63 6f 6d 70 74 69 6d 65 22 alled.from.a.<a.href="#comptime"
bf160 3e 63 6f 6d 70 74 69 6d 65 3c 2f 61 3e 20 62 6c 6f 63 6b 20 74 6f 20 63 6f 6e 64 69 74 69 6f 6e >comptime</a>.block.to.condition
bf180 61 6c 6c 79 20 65 78 70 6f 72 74 20 73 79 6d 62 6f 6c 73 2e 0a 20 20 20 20 20 20 57 68 65 6e 20 ally.export.symbols........When.
bf1a0 3c 63 6f 64 65 3e 64 65 63 6c 61 72 61 74 69 6f 6e 3c 2f 63 6f 64 65 3e 20 69 73 20 61 20 66 75 <code>declaration</code>.is.a.fu
bf1c0 6e 63 74 69 6f 6e 20 77 69 74 68 20 74 68 65 20 43 20 63 61 6c 6c 69 6e 67 20 63 6f 6e 76 65 6e nction.with.the.C.calling.conven
bf1e0 74 69 6f 6e 20 61 6e 64 0a 20 20 20 20 20 20 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 tion.and.......<code><span.class
bf200 3d 22 6c 69 6e 65 22 3e 6f 70 74 69 6f 6e 73 2e 6c 69 6e 6b 61 67 65 3c 2f 73 70 61 6e 3e 3c 2f ="line">options.linkage</span></
bf220 63 6f 64 65 3e 20 69 73 20 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 code>.is.<code><span.class="line
bf240 22 3e 53 74 72 6f 6e 67 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 2c 20 74 68 69 73 20 69 73 20 ">Strong</span></code>,.this.is.
bf260 65 71 75 69 76 61 6c 65 6e 74 20 74 6f 0a 20 20 20 20 20 20 74 68 65 20 3c 63 6f 64 65 3e 3c 73 equivalent.to.......the.<code><s
bf280 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f pan.class="line"><span.class="to
bf2a0 6b 2d 6b 77 22 3e 65 78 70 6f 72 74 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 k-kw">export</span></span></code
bf2c0 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:...
bf2e0 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
bf300 6f 6e 20 63 6c 61 73 73 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="
bf320 66 69 6c 65 22 3e 74 65 73 74 2e 7a 69 67 3c 2f 63 69 74 65 3e 3c 2f 66 69 67 63 61 70 74 69 6f file">test.zig</cite></figcaptio
bf340 6e 3e 3c 70 72 65 3e 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e n><pre><code><span.class="line">
bf360 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
bf380 70 61 6e 3e 20 7b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 pan>.{</span>.<span.class="line"
bf3a0 3e 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 62 75 69 6c 74 69 6e 22 3e 40 >....<span.class="tok-builtin">@
bf3c0 65 78 70 6f 72 74 3c 2f 73 70 61 6e 3e 28 69 6e 74 65 72 6e 61 6c 4e 61 6d 65 2c 20 2e 7b 20 2e export</span>(internalName,..{..
bf3e0 6e 61 6d 65 20 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 73 74 72 22 3e 26 71 75 name.=.<span.class="tok-str">&qu
bf400 6f 74 3b 66 6f 6f 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 2c 20 2e 6c 69 6e 6b 61 67 65 20 3d 20 ot;foo&quot;</span>,..linkage.=.
bf420 2e 53 74 72 6f 6e 67 20 7d 29 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 .Strong.});</span>.<span.class="
bf440 6c 69 6e 65 22 3e 7d 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 line">}</span>.<span.class="line
bf460 22 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 "></span>.<span.class="line"><sp
bf480 61 6e 20 63 6c 61 73 73 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
bf4a0 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 66 6e 22 3e 69 6e 74 65 72 6e 61 6c 4e 61 6d 65 3c 2f 73 n.class="tok-fn">internalName</s
bf4c0 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 63 61 6c 6c pan>().<span.class="tok-kw">call
bf4e0 63 6f 6e 76 3c 2f 73 70 61 6e 3e 28 2e 43 29 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b conv</span>(.C).<span.class="tok
bf500 2d 74 79 70 65 22 3e 76 6f 69 64 3c 2f 73 70 61 6e 3e 20 7b 7d 3c 2f 73 70 61 6e 3e 3c 2f 63 6f -type">void</span>.{}</span></co
bf520 64 65 3e 3c 2f 70 72 65 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
bf540 70 74 69 6f 6e 20 63 6c 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
bf560 69 67 63 61 70 74 69 6f 6e 3e 3c 70 72 65 3e 3c 73 61 6d 70 3e 3c 73 70 61 6e 20 63 6c 61 73 73 igcaption><pre><samp><span.class
bf580 3d 22 6c 69 6e 65 22 3e 24 20 3c 6b 62 64 3e 7a 69 67 20 62 75 69 6c 64 2d 6f 62 6a 20 74 65 73 ="line">$.<kbd>zig.build-obj.tes
bf5a0 74 2e 7a 69 67 3c 2f 6b 62 64 3e 3c 2f 73 70 61 6e 3e 0a 3c 2f 73 61 6d 70 3e 3c 2f 70 72 65 3e t.zig</kbd></span>.</samp></pre>
bf5c0 3c 2f 66 69 67 75 72 65 3e 0a 20 20 20 20 20 20 3c 70 3e 54 68 69 73 20 69 73 20 65 71 75 69 76 </figure>.......<p>This.is.equiv
bf5e0 61 6c 65 6e 74 20 74 6f 3a 3c 2f 70 3e 0a 20 20 20 20 20 20 3c 66 69 67 75 72 65 3e 3c 66 69 67 alent.to:</p>.......<figure><fig
bf600 63 61 70 74 69 6f 6e 20 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
bf620 61 73 73 3d 22 66 69 6c 65 22 3e 74 65 73 74 2e 7a 69 67 3c 2f 63 69 74 65 3e 3c 2f 66 69 67 63 ass="file">test.zig</cite></figc
bf640 61 70 74 69 6f 6e 3e 3c 70 72 65 3e 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c aption><pre><code><span.class="l
bf660 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 65 78 70 6f 72 74 ine"><span.class="tok-kw">export
bf680 3c 2f 73 70 61 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<
bf6a0 2f 73 70 61 6e 3e 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 66 6e 22 3e 66 6f 6f 3c /span>.<span.class="tok-fn">foo<
bf6c0 2f 73 70 61 6e 3e 28 29 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e /span>().<span.class="tok-type">
bf6e0 76 6f 69 64 3c 2f 73 70 61 6e 3e 20 7b 7d 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 3c 2f 70 72 void</span>.{}</span></code></pr
bf700 65 3e 3c 2f 66 69 67 75 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
bf720 6c 61 73 73 3d 22 73 68 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
bf740 6f 6e 3e 3c 70 72 65 3e 3c 73 61 6d 70 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 on><pre><samp><span.class="line"
bf760 3e 24 20 3c 6b 62 64 3e 7a 69 67 20 62 75 69 6c 64 2d 6f 62 6a 20 74 65 73 74 2e 7a 69 67 3c 2f >$.<kbd>zig.build-obj.test.zig</
bf780 6b 62 64 3e 3c 2f 73 70 61 6e 3e 0a 3c 2f 73 61 6d 70 3e 3c 2f 70 72 65 3e 3c 2f 66 69 67 75 72 kbd></span>.</samp></pre></figur
bf7a0 65 3e 0a 20 20 20 20 20 20 3c 70 3e 4e 6f 74 65 20 74 68 61 74 20 65 76 65 6e 20 77 68 65 6e 20 e>.......<p>Note.that.even.when.
bf7c0 75 73 69 6e 67 20 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c using.<code><span.class="line"><
bf7e0 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
bf800 3e 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 2c 20 74 68 65 20 3c 63 6f 64 65 3e 3c 73 70 61 6e ></span></code>,.the.<code><span
bf820 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 40 26 71 75 6f 74 3b 66 6f 6f 26 71 75 6f 74 3b 3c 2f .class="line">@&quot;foo&quot;</
bf840 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 20 73 79 6e 74 61 78 20 66 6f 72 0a 20 20 20 20 20 20 3c 61 span></code>.syntax.for.......<a
bf860 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 66 69 65 72 73 .href="#Identifiers">identifiers
bf880 3c 2f 61 3e 20 63 61 6e 20 62 65 20 75 73 65 64 20 74 6f 20 63 68 6f 6f 73 65 20 61 6e 79 20 73 </a>.can.be.used.to.choose.any.s
bf8a0 74 72 69 6e 67 20 66 6f 72 20 74 68 65 20 73 79 6d 62 6f 6c 20 6e 61 6d 65 3a 3c 2f 70 3e 0a 20 tring.for.the.symbol.name:</p>..
bf8c0 20 20 20 20 20 3c 66 69 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="
bf8e0 7a 69 67 2d 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
bf900 2e 7a 69 67 3c 2f 63 69 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
bf920 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 de><span.class="line"><span.clas
bf940 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
bf960 6c 61 73 73 3d 22 74 6f 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
bf980 61 73 73 3d 22 74 6f 6b 2d 66 6e 22 3e 40 26 71 75 6f 74 3b 41 20 66 75 6e 63 74 69 6f 6e 20 6e ass="tok-fn">@&quot;A.function.n
bf9a0 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.
bf9c0 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 28 29 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b &quot;</span>().<span.class="tok
bf9e0 2d 74 79 70 65 22 3e 76 6f 69 64 3c 2f 73 70 61 6e 3e 20 7b 7d 3c 2f 73 70 61 6e 3e 3c 2f 63 6f -type">void</span>.{}</span></co
bfa00 64 65 3e 3c 2f 70 72 65 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
bfa20 70 74 69 6f 6e 20 63 6c 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
bfa40 69 67 63 61 70 74 69 6f 6e 3e 3c 70 72 65 3e 3c 73 61 6d 70 3e 3c 73 70 61 6e 20 63 6c 61 73 73 igcaption><pre><samp><span.class
bfa60 3d 22 6c 69 6e 65 22 3e 24 20 3c 6b 62 64 3e 7a 69 67 20 62 75 69 6c 64 2d 6f 62 6a 20 74 65 73 ="line">$.<kbd>zig.build-obj.tes
bfa80 74 2e 7a 69 67 3c 2f 6b 62 64 3e 3c 2f 73 70 61 6e 3e 0a 3c 2f 73 61 6d 70 3e 3c 2f 70 72 65 3e t.zig</kbd></span>.</samp></pre>
bfaa0 3c 2f 66 69 67 75 72 65 3e 0a 20 20 20 20 20 20 3c 70 3e 0a 20 20 20 20 20 20 57 68 65 6e 20 6c </figure>.......<p>.......When.l
bfac0 6f 6f 6b 69 6e 67 20 61 74 20 74 68 65 20 72 65 73 75 6c 74 69 6e 67 20 6f 62 6a 65 63 74 2c 20 ooking.at.the.resulting.object,.
bfae0 79 6f 75 20 63 61 6e 20 73 65 65 20 74 68 65 20 73 79 6d 62 6f 6c 20 69 73 20 75 73 65 64 20 76 you.can.see.the.symbol.is.used.v
bfb00 65 72 62 61 74 69 6d 3a 0a 20 20 20 20 20 20 3c 2f 70 3e 0a 20 20 20 20 20 20 3c 70 72 65 3e 3c erbatim:.......</p>.......<pre><
bfb20 63 6f 64 65 3e 30 30 30 30 30 30 30 30 30 30 30 30 30 31 66 30 20 54 20 41 20 66 75 6e 63 74 69 code>00000000000001f0.T.A.functi
bfb40 6f 6e 20 6e 61 6d 65 20 74 68 61 74 20 69 73 20 61 20 63 6f 6d 70 6c 65 74 65 20 73 65 6e 74 65 on.name.that.is.a.complete.sente
bfb60 6e 63 65 2e 3c 2f 63 6f 64 65 3e 3c 2f 70 72 65 3e 0a 20 20 20 20 20 20 3c 70 3e 53 65 65 20 61 nce.</code></pre>.......<p>See.a
bfb80 6c 73 6f 3a 3c 2f 70 3e 3c 75 6c 3e 0a 3c 6c 69 3e 3c 61 20 68 72 65 66 3d 22 23 45 78 70 6f 72 lso:</p><ul>.<li><a.href="#Expor
bfba0 74 69 6e 67 2d 61 2d 43 2d 4c 69 62 72 61 72 79 22 3e 45 78 70 6f 72 74 69 6e 67 20 61 20 43 20 ting-a-C-Library">Exporting.a.C.
bfbc0 4c 69 62 72 61 72 79 3c 2f 61 3e 3c 2f 6c 69 3e 0a 3c 2f 75 6c 3e 0a 0a 20 20 20 20 20 20 0a 0a Library</a></li>.</ul>..........
bfbe0 20 20 20 20 20 20 3c 68 33 20 69 64 3d 22 65 78 74 65 72 6e 22 3e 3c 61 20 68 72 65 66 3d 22 23 ......<h3.id="extern"><a.href="#
bfc00 74 6f 63 2d 65 78 74 65 72 6e 22 3e 40 65 78 74 65 72 6e 3c 2f 61 3e 20 3c 61 20 63 6c 61 73 73 toc-extern">@extern</a>.<a.class
bfc20 3d 22 68 64 72 22 20 68 72 65 66 3d 22 23 65 78 74 65 72 6e 22 3e c2 a7 3c 2f 61 3e 3c 2f 68 33 ="hdr".href="#extern">..</a></h3
bfc40 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=
bfc60 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 62 75 69 6c 74 69 6e 22 "line"><span.class="tok-builtin"
bfc80 3e 40 65 78 74 65 72 6e 3c 2f 73 70 61 6e 3e 28 54 3a 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 >@extern</span>(T:.<span.class="
bfca0 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
bfcc0 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 63 6f 6d 70 74 69 6d 65 3c 2f 73 70 61 6e 3e 20 6f 70 74 69 ss="tok-kw">comptime</span>.opti
bfce0 6f 6e 73 3a 20 73 74 64 2e 62 75 69 6c 74 69 6e 2e 45 78 74 65 72 6e 4f 70 74 69 6f 6e 73 29 20 ons:.std.builtin.ExternOptions).
bfd00 2a 54 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 3c 2f 70 72 65 3e 0a 20 20 20 20 20 20 3c 70 3e *T</span></code></pre>.......<p>
bfd20 0a 20 20 20 20 20 20 43 72 65 61 74 65 73 20 61 20 72 65 66 65 72 65 6e 63 65 20 74 6f 20 61 6e .......Creates.a.reference.to.an
bfd40 20 65 78 74 65 72 6e 61 6c 20 73 79 6d 62 6f 6c 20 69 6e 20 74 68 65 20 6f 75 74 70 75 74 20 6f .external.symbol.in.the.output.o
bfd60 62 6a 65 63 74 20 66 69 6c 65 2e 0a 20 20 20 20 20 20 3c 2f 70 3e 0a 20 20 20 20 20 20 3c 70 3e bject.file........</p>.......<p>
bfd80 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="#
bfda0 65 78 70 6f 72 74 22 3e 40 65 78 70 6f 72 74 3c 2f 61 3e 3c 2f 6c 69 3e 0a 3c 2f 75 6c 3e 0a 0a export">@export</a></li>.</ul>..
bfdc0 20 20 20 20 20 20 0a 0a 20 20 20 20 20 20 3c 68 33 20 69 64 3d 22 66 65 6e 63 65 22 3e 3c 61 20 ..............<h3.id="fence"><a.
bfde0 68 72 65 66 3d 22 23 74 6f 63 2d 66 65 6e 63 65 22 3e 40 66 65 6e 63 65 3c 2f 61 3e 20 3c 61 20 href="#toc-fence">@fence</a>.<a.
bfe00 63 6c 61 73 73 3d 22 68 64 72 22 20 68 72 65 66 3d 22 23 66 65 6e 63 65 22 3e c2 a7 3c 2f 61 3e class="hdr".href="#fence">..</a>
bfe20 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
bfe40 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 62 75 69 6c ass="line"><span.class="tok-buil
bfe60 74 69 6e 22 3e 40 66 65 6e 63 65 3c 2f 73 70 61 6e 3e 28 6f 72 64 65 72 3a 20 41 74 6f 6d 69 63 tin">@fence</span>(order:.Atomic
bfe80 4f 72 64 65 72 29 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 3c 2f 70 72 65 3e 0a 20 20 20 20 20 Order)</span></code></pre>......
bfea0 20 3c 70 3e 0a 20 20 20 20 20 20 54 68 65 20 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 .<p>.......The.<code><span.class
bfec0 3d 22 6c 69 6e 65 22 3e 66 65 6e 63 65 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 20 66 75 6e 63 ="line">fence</span></code>.func
bfee0 74 69 6f 6e 20 69 73 20 75 73 65 64 20 74 6f 20 69 6e 74 72 6f 64 75 63 65 20 68 61 70 70 65 6e tion.is.used.to.introduce.happen
bff00 73 2d 62 65 66 6f 72 65 20 65 64 67 65 73 20 62 65 74 77 65 65 6e 20 6f 70 65 72 61 74 69 6f 6e s-before.edges.between.operation
bff20 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 63 s........</p>.......<p>.......<c
bff40 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 41 74 6f 6d 69 63 4f 72 64 ode><span.class="line">AtomicOrd
bff60 65 72 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 20 63 61 6e 20 62 65 20 66 6f 75 6e 64 20 77 69 er</span></code>.can.be.found.wi
bff80 74 68 20 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 th.<code><span.class="line"><spa
bffa0 6e 20 63 6c 61 73 73 3d 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
bffc0 70 61 6e 3e 28 3c 73 70 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
bffe0 3b 73 74 64 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 29 2e 62 75 69 6c 74 69 6e 2e 41 74 6f 6d 69 ;std&quot;</span>).builtin.Atomi
c0000 63 4f 72 64 65 72 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 2e 0a 20 20 20 20 20 20 3c 2f 70 3e cOrder</span></code>........</p>
c0020 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>
c0040 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 74 <a.href="#atomicStore">@atomicSt
c0060 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 69 ore</a></li>.<li><a.href="#atomi
c0080 63 4c 6f 61 64 22 3e 40 61 74 6f 6d 69 63 4c 6f 61 64 3c 2f 61 3e 3c 2f 6c 69 3e 0a 3c 6c 69 3e cLoad">@atomicLoad</a></li>.<li>
c00a0 3c 61 20 68 72 65 66 3d 22 23 61 74 6f 6d 69 63 52 6d 77 22 3e 40 61 74 6f 6d 69 63 52 6d 77 3c <a.href="#atomicRmw">@atomicRmw<
c00c0 2f 61 3e 3c 2f 6c 69 3e 0a 3c 6c 69 3e 3c 61 20 68 72 65 66 3d 22 23 63 6d 70 78 63 68 67 57 65 /a></li>.<li><a.href="#cmpxchgWe
c00e0 61 6b 22 3e 40 63 6d 70 78 63 68 67 57 65 61 6b 3c 2f 61 3e 3c 2f 6c 69 3e 0a 3c 6c 69 3e 3c 61 ak">@cmpxchgWeak</a></li>.<li><a
c0100 20 68 72 65 66 3d 22 23 63 6d 70 78 63 68 67 53 74 72 6f 6e 67 22 3e 40 63 6d 70 78 63 68 67 53 .href="#cmpxchgStrong">@cmpxchgS
c0120 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 0a 20 20 trong</a></li>.</ul>............
c0140 20 20 20 20 3c 68 33 20 69 64 3d 22 66 69 65 6c 64 22 3e 3c 61 20 68 72 65 66 3d 22 23 74 6f 63 ....<h3.id="field"><a.href="#toc
c0160 2d 66 69 65 6c 64 22 3e 40 66 69 65 6c 64 3c 2f 61 3e 20 3c 61 20 63 6c 61 73 73 3d 22 68 64 72 -field">@field</a>.<a.class="hdr
c0180 22 20 68 72 65 66 3d 22 23 66 69 65 6c 64 22 3e c2 a7 3c 2f 61 3e 3c 2f 68 33 3e 0a 0a 20 20 20 ".href="#field">..</a></h3>.....
c01a0 20 20 20 3c 70 72 65 3e 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 ...<pre><code><span.class="line"
c01c0 3e 3c 73 70 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
c01e0 64 3c 2f 73 70 61 6e 3e 28 6c 68 73 3a 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b d</span>(lhs:.<span.class="tok-k
c0200 77 22 3e 61 6e 79 74 79 70 65 3c 2f 73 70 61 6e 3e 2c 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 w">anytype</span>,.<span.class="
c0220 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 6e 61 tok-kw">comptime</span>.field_na
c0240 6d 65 3a 20 5b 5d 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 63 6f 6e 73 74 me:.[]<span.class="tok-kw">const
c0260 3c 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
c0280 38 3c 2f 73 70 61 6e 3e 29 20 28 66 69 65 6c 64 29 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 3c 8</span>).(field)</span></code><
c02a0 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
c02c0 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
c02e0 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
c0300 69 6f 6e 73 2e 0a 20 20 20 20 20 20 3c 2f 70 3e 0a 20 20 20 20 20 20 20 3c 66 69 67 75 72 65 3e ions........</p>........<figure>
c0320 3c 66 69 67 63 61 70 74 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
c0340 65 20 63 6c 61 73 73 3d 22 66 69 6c 65 22 3e 66 69 65 6c 64 5f 64 65 63 6c 5f 61 63 63 65 73 73 e.class="file">field_decl_access
c0360 5f 62 79 5f 73 74 72 69 6e 67 2e 7a 69 67 3c 2f 63 69 74 65 3e 3c 2f 66 69 67 63 61 70 74 69 6f _by_string.zig</cite></figcaptio
c0380 6e 3e 3c 70 72 65 3e 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e n><pre><code><span.class="line">
c03a0 3c 73 70 61 6e 20 63 6c 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
c03c0 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
c03e0 22 3e 40 69 6d 70 6f 72 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
c0400 6b 2d 73 74 72 22 3e 26 71 75 6f 74 3b 73 74 64 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 29 3b 3c k-str">&quot;std&quot;</span>);<
c0420 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 2f 73 70 61 6e /span>.<span.class="line"></span
c0440 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 >.<span.class="line"><span.class
c0460 3d 22 74 6f 6b 2d 6b 77 22 3e 63 6f 6e 73 74 3c 2f 73 70 61 6e 3e 20 50 6f 69 6e 74 20 3d 20 3c ="tok-kw">const</span>.Point.=.<
c0480 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
c04a0 3e 20 7b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 >.{</span>.<span.class="line">..
c04c0 20 20 78 3a 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 75 33 32 3c ..x:.<span.class="tok-type">u32<
c04e0 2f 73 70 61 6e 3e 2c 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 /span>,</span>.<span.class="line
c0500 22 3e 20 20 20 20 79 3a 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e ">....y:.<span.class="tok-type">
c0520 75 33 32 3c 2f 73 70 61 6e 3e 2c 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 u32</span>,</span>.<span.class="
c0540 6c 69 6e 65 22 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 line"></span>.<span.class="line"
c0560 3e 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 70 75 62 3c 2f 73 >....<span.class="tok-kw">pub</s
c0580 70 61 6e 3e 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 76 61 72 3c 2f 73 pan>.<span.class="tok-kw">var</s
c05a0 70 61 6e 3e 20 7a 3a 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 75 pan>.z:.<span.class="tok-type">u
c05c0 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
c05e0 62 65 72 22 3e 31 3c 2f 73 70 61 6e 3e 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 ber">1</span>;</span>.<span.clas
c0600 73 3d 22 6c 69 6e 65 22 3e 7d 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 s="line">};</span>.<span.class="
c0620 6c 69 6e 65 22 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 line"></span>.<span.class="line"
c0640 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
c0660 3e 20 3c 73 70 61 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
c0680 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 61 6e eld.access.by.string&quot;</span
c06a0 3e 20 7b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 >.{</span>.<span.class="line">..
c06c0 20 20 3c 73 70 61 6e 20 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
c06e0 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;
c0700 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 3c </span>.<span.class="line">....<
c0720 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 76 61 72 3c 2f 73 70 61 6e 3e 20 70 span.class="tok-kw">var</span>.p
c0740 20 3d 20 50 6f 69 6e 74 7b 20 2e 78 20 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d .=.Point{..x.=.<span.class="tok-
c0760 6e 75 6d 62 65 72 22 3e 30 3c 2f 73 70 61 6e 3e 2c 20 2e 79 20 3d 20 3c 73 70 61 6e 20 63 6c 61 number">0</span>,..y.=.<span.cla
c0780 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 30 3c 2f 73 70 61 6e 3e 20 7d 3b 3c 2f 73 70 61 ss="tok-number">0</span>.};</spa
c07a0 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 n>.<span.class="line"></span>.<s
c07c0 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 pan.class="line">....<span.class
c07e0 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,.
c0800 3c 73 70 61 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
c0820 6f 74 3b 3c 2f 73 70 61 6e 3e 29 20 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e ot;</span>).=.<span.class="tok-n
c0840 75 6d 62 65 72 22 3e 34 3c 2f 73 70 61 6e 3e 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c umber">4</span>;</span>.<span.cl
c0860 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d ass="line">....<span.class="tok-
c0880 62 75 69 6c 74 69 6e 22 3e 40 66 69 65 6c 64 3c 2f 73 70 61 6e 3e 28 70 2c 20 3c 73 70 61 6e 20 builtin">@field</span>(p,.<span.
c08a0 63 6c 61 73 73 3d 22 74 6f 6b 2d 73 74 72 22 3e 26 71 75 6f 74 3b 79 26 71 75 6f 74 3b 3c 2f 73 class="tok-str">&quot;y&quot;</s
c08c0 70 61 6e 3e 29 20 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 62 75 69 6c 74 69 6e pan>).=.<span.class="tok-builtin
c08e0 22 3e 40 66 69 65 6c 64 3c 2f 73 70 61 6e 3e 28 70 2c 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 ">@field</span>(p,.<span.class="
c0900 74 6f 6b 2d 73 74 72 22 3e 26 71 75 6f 74 3b 78 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 29 20 2b tok-str">&quot;x&quot;</span>).+
c0920 20 3c 73 70 61 6e 20 63 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
c0940 6e 3e 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 2f n>;</span>.<span.class="line"></
c0960 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 3c 73 70 span>.<span.class="line">....<sp
c0980 61 6e 20 63 6c 61 73 73 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
c09a0 65 63 74 28 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 62 75 69 6c 74 69 6e 22 3e 40 66 ect(<span.class="tok-builtin">@f
c09c0 69 65 6c 64 3c 2f 73 70 61 6e 3e 28 70 2c 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d ield</span>(p,.<span.class="tok-
c09e0 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 3d 3d 20 3c 73 str">&quot;x&quot;</span>).==.<s
c0a00 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 34 3c 2f 73 70 61 6e 3e 29 pan.class="tok-number">4</span>)
c0a20 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 ;</span>.<span.class="line">....
c0a40 3c 73 70 61 6e 20 63 6c 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>.
c0a60 65 78 70 65 63 74 28 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 62 75 69 6c 74 69 6e 22 expect(<span.class="tok-builtin"
c0a80 3e 40 66 69 65 6c 64 3c 2f 73 70 61 6e 3e 28 70 2c 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 >@field</span>(p,.<span.class="t
c0aa0 6f 6b 2d 73 74 72 22 3e 26 71 75 6f 74 3b 79 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 29 20 3d 3d ok-str">&quot;y&quot;</span>).==
c0ac0 20 3c 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
c0ae0 6e 3e 29 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 7d n>);</span>.<span.class="line">}
c0b00 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 2f 73 70 61 </span>.<span.class="line"></spa
c0b20 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 n>.<span.class="line"><span.clas
c0b40 73 3d 22 74 6f 6b 2d 6b 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
c0b60 73 73 3d 22 74 6f 6b 2d 73 74 72 22 3e 26 71 75 6f 74 3b 64 65 63 6c 20 61 63 63 65 73 73 20 62 ss="tok-str">&quot;decl.access.b
c0b80 79 20 73 74 72 69 6e 67 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 20 7b 3c 2f 73 70 61 6e 3e 0a 3c y.string&quot;</span>.{</span>.<
c0ba0 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 span.class="line">....<span.clas
c0bc0 73 3d 22 74 6f 6b 2d 6b 77 22 3e 63 6f 6e 73 74 3c 2f 73 70 61 6e 3e 20 65 78 70 65 63 74 20 3d s="tok-kw">const</span>.expect.=
c0be0 20 73 74 64 2e 74 65 73 74 69 6e 67 2e 65 78 70 65 63 74 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 .std.testing.expect;</span>.<spa
c0c00 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 n.class="line"></span>.<span.cla
c0c20 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b ss="line">....<span.class="tok-k
c0c40 77 22 3e 74 72 79 3c 2f 73 70 61 6e 3e 20 65 78 70 65 63 74 28 3c 73 70 61 6e 20 63 6c 61 73 73 w">try</span>.expect(<span.class
c0c60 3d 22 74 6f 6b 2d 62 75 69 6c 74 69 6e 22 3e 40 66 69 65 6c 64 3c 2f 73 70 61 6e 3e 28 50 6f 69 ="tok-builtin">@field</span>(Poi
c0c80 6e 74 2c 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 73 74 72 22 3e 26 71 75 6f 74 3b nt,.<span.class="tok-str">&quot;
c0ca0 7a 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 29 20 3d 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 z&quot;</span>).==.<span.class="
c0cc0 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 31 3c 2f 73 70 61 6e 3e 29 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 tok-number">1</span>);</span>.<s
c0ce0 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 pan.class="line"></span>.<span.c
c0d00 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b lass="line">....<span.class="tok
c0d20 2d 62 75 69 6c 74 69 6e 22 3e 40 66 69 65 6c 64 3c 2f 73 70 61 6e 3e 28 50 6f 69 6e 74 2c 20 3c -builtin">@field</span>(Point,.<
c0d40 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 73 74 72 22 3e 26 71 75 6f 74 3b 7a 26 71 75 6f span.class="tok-str">&quot;z&quo
c0d60 74 3b 3c 2f 73 70 61 6e 3e 29 20 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 t;</span>).=.<span.class="tok-nu
c0d80 6d 62 65 72 22 3e 32 3c 2f 73 70 61 6e 3e 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 mber">2</span>;</span>.<span.cla
c0da0 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b ss="line">....<span.class="tok-k
c0dc0 77 22 3e 74 72 79 3c 2f 73 70 61 6e 3e 20 65 78 70 65 63 74 28 3c 73 70 61 6e 20 63 6c 61 73 73 w">try</span>.expect(<span.class
c0de0 3d 22 74 6f 6b 2d 62 75 69 6c 74 69 6e 22 3e 40 66 69 65 6c 64 3c 2f 73 70 61 6e 3e 28 50 6f 69 ="tok-builtin">@field</span>(Poi
c0e00 6e 74 2c 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 73 74 72 22 3e 26 71 75 6f 74 3b nt,.<span.class="tok-str">&quot;
c0e20 7a 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 29 20 3d 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 z&quot;</span>).==.<span.class="
c0e40 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 32 3c 2f 73 70 61 6e 3e 29 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 tok-number">2</span>);</span>.<s
c0e60 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 7d 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e pan.class="line">}</span></code>
c0e80 3c 2f 70 72 65 3e 3c 2f 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
c0ea0 6f 6e 20 63 6c 61 73 73 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
c0ec0 61 70 74 69 6f 6e 3e 3c 70 72 65 3e 3c 73 61 6d 70 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c aption><pre><samp><span.class="l
c0ee0 69 6e 65 22 3e 24 20 3c 6b 62 64 3e 7a 69 67 20 74 65 73 74 20 66 69 65 6c 64 5f 64 65 63 6c 5f ine">$.<kbd>zig.test.field_decl_
c0f00 61 63 63 65 73 73 5f 62 79 5f 73 74 72 69 6e 67 2e 7a 69 67 3c 2f 6b 62 64 3e 3c 2f 73 70 61 6e access_by_string.zig</kbd></span
c0f20 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 31 2f 32 20 74 65 73 74 2e 66 69 >.<span.class="line">1/2.test.fi
c0f40 65 6c 64 20 61 63 63 65 73 73 20 62 79 20 73 74 72 69 6e 67 2e 2e 2e 20 4f 4b 3c 2f 73 70 61 6e eld.access.by.string....OK</span
c0f60 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 32 2f 32 20 74 65 73 74 2e 64 65 >.<span.class="line">2/2.test.de
c0f80 63 6c 20 61 63 63 65 73 73 20 62 79 20 73 74 72 69 6e 67 2e 2e 2e 20 4f 4b 3c 2f 73 70 61 6e 3e cl.access.by.string....OK</span>
c0fa0 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 41 6c 6c 20 32 20 74 65 73 74 73 20 .<span.class="line">All.2.tests.
c0fc0 70 61 73 73 65 64 2e 3c 2f 73 70 61 6e 3e 0a 3c 2f 73 61 6d 70 3e 3c 2f 70 72 65 3e 3c 2f 66 69 passed.</span>.</samp></pre></fi
c0fe0 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 66 69 65 gure>................<h3.id="fie
c1000 6c 64 50 61 72 65 6e 74 50 74 72 22 3e 3c 61 20 68 72 65 66 3d 22 23 74 6f 63 2d 66 69 65 6c 64 ldParentPtr"><a.href="#toc-field
c1020 50 61 72 65 6e 74 50 74 72 22 3e 40 66 69 65 6c 64 50 61 72 65 6e 74 50 74 72 3c 2f 61 3e 20 3c ParentPtr">@fieldParentPtr</a>.<
c1040 61 20 63 6c 61 73 73 3d 22 68 64 72 22 20 68 72 65 66 3d 22 23 66 69 65 6c 64 50 61 72 65 6e 74 a.class="hdr".href="#fieldParent
c1060 50 74 72 22 3e c2 a7 3c 2f 61 3e 3c 2f 68 33 3e 0a 0a 20 20 20 20 20 20 3c 70 72 65 3e 3c 63 6f Ptr">..</a></h3>........<pre><co
c1080 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 de><span.class="line"><span.clas
c10a0 73 3d 22 74 6f 6b 2d 62 75 69 6c 74 69 6e 22 3e 40 66 69 65 6c 64 50 61 72 65 6e 74 50 74 72 3c s="tok-builtin">@fieldParentPtr<
c10c0 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
c10e0 74 69 6d 65 3c 2f 73 70 61 6e 3e 20 50 61 72 65 6e 74 54 79 70 65 3a 20 3c 73 70 61 6e 20 63 6c time</span>.ParentType:.<span.cl
c1100 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 74 79 70 65 3c 2f 73 70 61 6e 3e 2c 20 3c 73 70 61 ass="tok-type">type</span>,.<spa
c1120 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>
c1140 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 2d .field_name:.[]<span.class="tok-
c1160 6b 77 22 3e 63 6f 6e 73 74 3c 2f 73 70 61 6e 3e 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f kw">const</span>.<span.class="to
c1180 6b 2d 74 79 70 65 22 3e 75 38 3c 2f 73 70 61 6e 3e 2c 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 k-type">u8</span>,</span>.<span.
c11a0 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 66 69 65 6c 64 5f 70 74 72 3a 20 2a 54 29 20 class="line">....field_ptr:.*T).
c11c0 2a 50 61 72 65 6e 74 54 79 70 65 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 3c 2f 70 72 65 3e 0a *ParentType</span></code></pre>.
c11e0 20 20 20 20 20 20 3c 70 3e 0a 20 20 20 20 20 20 47 69 76 65 6e 20 61 20 70 6f 69 6e 74 65 72 20 ......<p>.......Given.a.pointer.
c1200 74 6f 20 61 20 66 69 65 6c 64 2c 20 72 65 74 75 72 6e 73 20 74 68 65 20 62 61 73 65 20 70 6f 69 to.a.field,.returns.the.base.poi
c1220 6e 74 65 72 20 6f 66 20 61 20 73 74 72 75 63 74 2e 0a 20 20 20 20 20 20 3c 2f 70 3e 0a 20 20 20 nter.of.a.struct........</p>....
c1240 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 74 22 3e 3c 61 ...........<h3.id="floatCast"><a
c1260 20 68 72 65 66 3d 22 23 74 6f 63 2d 66 6c 6f 61 74 43 61 73 74 22 3e 40 66 6c 6f 61 74 43 61 73 .href="#toc-floatCast">@floatCas
c1280 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 66 6c 6f 61 t</a>.<a.class="hdr".href="#floa
c12a0 74 43 61 73 74 22 3e c2 a7 3c 2f 61 3e 3c 2f 68 33 3e 0a 0a 20 20 20 20 20 20 3c 70 72 65 3e 3c tCast">..</a></h3>........<pre><
c12c0 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c code><span.class="line"><span.cl
c12e0 61 73 73 3d 22 74 6f 6b 2d 62 75 69 6c 74 69 6e 22 3e 40 66 6c 6f 61 74 43 61 73 74 3c 2f 73 70 ass="tok-builtin">@floatCast</sp
c1300 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
c1320 65 3c 2f 73 70 61 6e 3e 20 44 65 73 74 54 79 70 65 3a 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 e</span>.DestType:.<span.class="
c1340 74 6f 6b 2d 74 79 70 65 22 3e 74 79 70 65 3c 2f 73 70 61 6e 3e 2c 20 76 61 6c 75 65 3a 20 3c 73 tok-type">type</span>,.value:.<s
c1360 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
c1380 3e 29 20 44 65 73 74 54 79 70 65 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 3c 2f 70 72 65 3e 0a >).DestType</span></code></pre>.
c13a0 20 20 20 20 20 20 3c 70 3e 0a 20 20 20 20 20 20 43 6f 6e 76 65 72 74 20 66 72 6f 6d 20 6f 6e 65 ......<p>.......Convert.from.one
c13c0 20 66 6c 6f 61 74 20 74 79 70 65 20 74 6f 20 61 6e 6f 74 68 65 72 2e 20 54 68 69 73 20 63 61 73 .float.type.to.another..This.cas
c13e0 74 20 69 73 20 73 61 66 65 2c 20 62 75 74 20 6d 61 79 20 63 61 75 73 65 20 74 68 65 0a 20 20 20 t.is.safe,.but.may.cause.the....
c1400 20 20 20 6e 75 6d 65 72 69 63 20 76 61 6c 75 65 20 74 6f 20 6c 6f 73 65 20 70 72 65 63 69 73 69 ...numeric.value.to.lose.precisi
c1420 6f 6e 2e 0a 20 20 20 20 20 20 3c 2f 70 3e 0a 20 20 20 20 20 20 0a 0a 20 20 20 20 20 20 3c 68 33 on........</p>...............<h3
c1440 20 69 64 3d 22 66 6c 6f 61 74 54 6f 49 6e 74 22 3e 3c 61 20 68 72 65 66 3d 22 23 74 6f 63 2d 66 .id="floatToInt"><a.href="#toc-f
c1460 6c 6f 61 74 54 6f 49 6e 74 22 3e 40 66 6c 6f 61 74 54 6f 49 6e 74 3c 2f 61 3e 20 3c 61 20 63 6c loatToInt">@floatToInt</a>.<a.cl
c1480 61 73 73 3d 22 68 64 72 22 20 68 72 65 66 3d 22 23 66 6c 6f 61 74 54 6f 49 6e 74 22 3e c2 a7 3c ass="hdr".href="#floatToInt">..<
c14a0 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
c14c0 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 62 .class="line"><span.class="tok-b
c14e0 75 69 6c 74 69 6e 22 3e 40 66 6c 6f 61 74 54 6f 49 6e 74 3c 2f 73 70 61 6e 3e 28 3c 73 70 61 6e uiltin">@floatToInt</span>(<span
c1500 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>.
c1520 44 65 73 74 54 79 70 65 3a 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 DestType:.<span.class="tok-type"
c1540 3e 74 79 70 65 3c 2f 73 70 61 6e 3e 2c 20 66 6c 6f 61 74 3a 20 3c 73 70 61 6e 20 63 6c 61 73 73 >type</span>,.float:.<span.class
c1560 3d 22 74 6f 6b 2d 6b 77 22 3e 61 6e 79 74 79 70 65 3c 2f 73 70 61 6e 3e 29 20 44 65 73 74 54 79 ="tok-kw">anytype</span>).DestTy
c1580 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>
c15a0 0a 20 20 20 20 20 20 43 6f 6e 76 65 72 74 73 20 74 68 65 20 69 6e 74 65 67 65 72 20 70 61 72 74 .......Converts.the.integer.part
c15c0 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 20 74 6f 20 74 .of.a.floating.point.number.to.t
c15e0 68 65 20 64 65 73 74 69 6e 61 74 69 6f 6e 20 74 79 70 65 2e 0a 20 20 20 20 20 20 3c 2f 70 3e 0a he.destination.type........</p>.
c1600 20 20 20 20 20 20 3c 70 3e 0a 20 20 20 20 20 20 49 66 20 74 68 65 20 69 6e 74 65 67 65 72 20 70 ......<p>.......If.the.integer.p
c1620 61 72 74 20 6f 66 20 74 68 65 20 66 6c 6f 61 74 69 6e 67 20 70 6f 69 6e 74 20 6e 75 6d 62 65 72 art.of.the.floating.point.number
c1640 20 63 61 6e 6e 6f 74 20 66 69 74 20 69 6e 20 74 68 65 20 64 65 73 74 69 6e 61 74 69 6f 6e 20 74 .cannot.fit.in.the.destination.t
c1660 79 70 65 2c 0a 20 20 20 20 20 20 69 74 20 69 6e 76 6f 6b 65 73 20 73 61 66 65 74 79 2d 63 68 65 ype,.......it.invokes.safety-che
c1680 63 6b 65 64 20 3c 61 20 68 72 65 66 3d 22 23 55 6e 64 65 66 69 6e 65 64 2d 42 65 68 61 76 69 6f cked.<a.href="#Undefined-Behavio
c16a0 72 22 3e 55 6e 64 65 66 69 6e 65 64 20 42 65 68 61 76 69 6f 72 3c 2f 61 3e 2e 0a 20 20 20 20 20 r">Undefined.Behavior</a>.......
c16c0 20 3c 2f 70 3e 0a 20 20 20 20 20 20 3c 70 3e 53 65 65 20 61 6c 73 6f 3a 3c 2f 70 3e 3c 75 6c 3e .</p>.......<p>See.also:</p><ul>
c16e0 0a 3c 6c 69 3e 3c 61 20 68 72 65 66 3d 22 23 69 6e 74 54 6f 46 6c 6f 61 74 22 3e 40 69 6e 74 54 .<li><a.href="#intToFloat">@intT
c1700 6f 46 6c 6f 61 74 3c 2f 61 3e 3c 2f 6c 69 3e 0a 3c 2f 75 6c 3e 0a 0a 20 20 20 20 20 20 0a 0a 20 oFloat</a></li>.</ul>...........
c1720 20 20 20 20 20 3c 68 33 20 69 64 3d 22 66 72 61 6d 65 22 3e 3c 61 20 68 72 65 66 3d 22 23 74 6f .....<h3.id="frame"><a.href="#to
c1740 63 2d 66 72 61 6d 65 22 3e 40 66 72 61 6d 65 3c 2f 61 3e 20 3c 61 20 63 6c 61 73 73 3d 22 68 64 c-frame">@frame</a>.<a.class="hd
c1760 72 22 20 68 72 65 66 3d 22 23 66 72 61 6d 65 22 3e c2 a7 3c 2f 61 3e 3c 2f 68 33 3e 0a 0a 20 20 r".href="#frame">..</a></h3>....
c1780 20 20 20 20 3c 70 72 65 3e 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 ....<pre><code><span.class="line
c17a0 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 62 75 69 6c 74 69 6e 22 3e 40 66 72 61 "><span.class="tok-builtin">@fra
c17c0 6d 65 3c 2f 73 70 61 6e 3e 28 29 20 2a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 62 75 me</span>().*<span.class="tok-bu
c17e0 69 6c 74 69 6e 22 3e 40 46 72 61 6d 65 3c 2f 73 70 61 6e 3e 28 66 75 6e 63 29 3c 2f 73 70 61 6e iltin">@Frame</span>(func)</span
c1800 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
c1820 68 69 73 20 66 75 6e 63 74 69 6f 6e 20 72 65 74 75 72 6e 73 20 61 20 70 6f 69 6e 74 65 72 20 74 his.function.returns.a.pointer.t
c1840 6f 20 74 68 65 20 66 72 61 6d 65 20 66 6f 72 20 61 20 67 69 76 65 6e 20 66 75 6e 63 74 69 6f 6e o.the.frame.for.a.given.function
c1860 2e 20 54 68 69 73 20 74 79 70 65 0a 20 20 20 20 20 20 63 61 6e 20 62 65 20 3c 61 20 68 72 65 66 ..This.type.......can.be.<a.href
c1880 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 20 74 6f ="#Type-Coercion">coerced</a>.to
c18a0 20 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 .<code><span.class="line"><span.
c18c0 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 61 6e 79 66 72 61 6d 65 3c 2f 73 70 61 6e 3e 2d 26 class="tok-kw">anyframe</span>-&
c18e0 67 74 3b 54 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 20 61 6e 64 0a 20 20 20 20 20 20 74 6f 20 gt;T</span></code>.and.......to.
c1900 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 <code><span.class="line"><span.c
c1920 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 61 6e 79 66 72 61 6d 65 3c 2f 73 70 61 6e 3e 3c 2f 73 lass="tok-kw">anyframe</span></s
c1940 70 61 6e 3e 3c 2f 63 6f 64 65 3e 2c 20 77 68 65 72 65 20 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 pan></code>,.where.<code><span.c
c1960 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 54 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 20 69 73 20 74 lass="line">T</span></code>.is.t
c1980 68 65 20 72 65 74 75 72 6e 20 74 79 70 65 0a 20 20 20 20 20 20 6f 66 20 74 68 65 20 66 75 6e 63 he.return.type.......of.the.func
c19a0 74 69 6f 6e 20 69 6e 20 73 63 6f 70 65 2e 0a 20 20 20 20 20 20 3c 2f 70 3e 0a 20 20 20 20 20 20 tion.in.scope........</p>.......
c19c0 3c 70 3e 0a 20 20 20 20 20 20 54 68 69 73 20 66 75 6e 63 74 69 6f 6e 20 64 6f 65 73 20 6e 6f 74 <p>.......This.function.does.not
c19e0 20 6d 61 72 6b 20 61 20 73 75 73 70 65 6e 73 69 6f 6e 20 70 6f 69 6e 74 2c 20 62 75 74 20 69 74 .mark.a.suspension.point,.but.it
c1a00 20 64 6f 65 73 20 63 61 75 73 65 20 74 68 65 20 66 75 6e 63 74 69 6f 6e 20 69 6e 20 73 63 6f 70 .does.cause.the.function.in.scop
c1a20 65 0a 20 20 20 20 20 20 74 6f 20 62 65 63 6f 6d 65 20 61 6e 20 3c 61 20 68 72 65 66 3d 22 23 41 e.......to.become.an.<a.href="#A
c1a40 73 79 6e 63 2d 46 75 6e 63 74 69 6f 6e 73 22 3e 61 73 79 6e 63 20 66 75 6e 63 74 69 6f 6e 3c 2f sync-Functions">async.function</
c1a60 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
c1a80 20 69 64 3d 22 46 72 61 6d 65 22 3e 3c 61 20 68 72 65 66 3d 22 23 74 6f 63 2d 46 72 61 6d 65 22 .id="Frame"><a.href="#toc-Frame"
c1aa0 3e 40 46 72 61 6d 65 3c 2f 61 3e 20 3c 61 20 63 6c 61 73 73 3d 22 68 64 72 22 20 68 72 65 66 3d >@Frame</a>.<a.class="hdr".href=
c1ac0 22 23 46 72 61 6d 65 22 3e c2 a7 3c 2f 61 3e 3c 2f 68 33 3e 0a 0a 20 20 20 20 20 20 3c 70 72 65 "#Frame">..</a></h3>........<pre
c1ae0 3e 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 ><code><span.class="line"><span.
c1b00 63 6c 61 73 73 3d 22 74 6f 6b 2d 62 75 69 6c 74 69 6e 22 3e 40 46 72 61 6d 65 3c 2f 73 70 61 6e class="tok-builtin">@Frame</span
c1b20 3e 28 66 75 6e 63 3a 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 61 6e 79 >(func:.<span.class="tok-kw">any
c1b40 74 79 70 65 3c 2f 73 70 61 6e 3e 29 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 type</span>).<span.class="tok-ty
c1b60 70 65 22 3e 74 79 70 65 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 3c 2f 70 pe">type</span></span></code></p
c1b80 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
c1ba0 6e 20 72 65 74 75 72 6e 73 20 74 68 65 20 66 72 61 6d 65 20 74 79 70 65 20 6f 66 20 61 20 66 75 n.returns.the.frame.type.of.a.fu
c1bc0 6e 63 74 69 6f 6e 2e 20 54 68 69 73 20 77 6f 72 6b 73 20 66 6f 72 20 3c 61 20 68 72 65 66 3d 22 nction..This.works.for.<a.href="
c1be0 23 41 73 79 6e 63 2d 46 75 6e 63 74 69 6f 6e 73 22 3e 41 73 79 6e 63 20 46 75 6e 63 74 69 6f 6e #Async-Functions">Async.Function
c1c00 73 3c 2f 61 3e 0a 20 20 20 20 20 20 61 73 20 77 65 6c 6c 20 61 73 20 61 6e 79 20 66 75 6e 63 74 s</a>.......as.well.as.any.funct
c1c20 69 6f 6e 20 77 69 74 68 6f 75 74 20 61 20 73 70 65 63 69 66 69 63 20 63 61 6c 6c 69 6e 67 20 63 ion.without.a.specific.calling.c
c1c40 6f 6e 76 65 6e 74 69 6f 6e 2e 0a 20 20 20 20 20 20 3c 2f 70 3e 0a 20 20 20 20 20 20 3c 70 3e 0a onvention........</p>.......<p>.
c1c60 20 20 20 20 20 20 54 68 69 73 20 74 79 70 65 20 69 73 20 73 75 69 74 61 62 6c 65 20 74 6f 20 62 ......This.type.is.suitable.to.b
c1c80 65 20 75 73 65 64 20 61 73 20 74 68 65 20 72 65 74 75 72 6e 20 74 79 70 65 20 6f 66 20 3c 61 20 e.used.as.the.return.type.of.<a.
c1ca0 68 72 65 66 3d 22 23 41 73 79 6e 63 2d 61 6e 64 2d 41 77 61 69 74 22 3e 61 73 79 6e 63 3c 2f 61 href="#Async-and-Await">async</a
c1cc0 3e 20 77 68 69 63 68 0a 20 20 20 20 20 20 61 6c 6c 6f 77 73 20 6f 6e 65 20 74 6f 2c 20 66 6f 72 >.which.......allows.one.to,.for
c1ce0 20 65 78 61 6d 70 6c 65 2c 20 68 65 61 70 2d 61 6c 6c 6f 63 61 74 65 20 61 6e 20 61 73 79 6e 63 .example,.heap-allocate.an.async
c1d00 20 66 75 6e 63 74 69 6f 6e 20 66 72 61 6d 65 3a 0a 20 20 20 20 20 20 3c 2f 70 3e 0a 20 20 20 20 .function.frame:.......</p>.....
c1d20 20 20 3c 66 69 67 75 72 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
c1d40 2d 63 61 70 22 3e 3c 63 69 74 65 20 63 6c 61 73 73 3d 22 66 69 6c 65 22 3e 68 65 61 70 5f 61 6c -cap"><cite.class="file">heap_al
c1d60 6c 6f 63 61 74 65 64 5f 66 72 61 6d 65 2e 7a 69 67 3c 2f 63 69 74 65 3e 3c 2f 66 69 67 63 61 70 located_frame.zig</cite></figcap
c1d80 74 69 6f 6e 3e 3c 70 72 65 3e 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e tion><pre><code><span.class="lin
c1da0 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 63 6f 6e 73 74 3c 2f 73 e"><span.class="tok-kw">const</s
c1dc0 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
c1de0 74 69 6e 22 3e 40 69 6d 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=
c1e00 22 74 6f 6b 2d 73 74 72 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>
c1e20 29 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 2f 73 );</span>.<span.class="line"></s
c1e40 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c pan>.<span.class="line"><span.cl
c1e60 61 73 73 3d 22 74 6f 6b 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
c1e80 6c 61 73 73 3d 22 74 6f 6b 2d 73 74 72 22 3e 26 71 75 6f 74 3b 68 65 61 70 20 61 6c 6c 6f 63 61 lass="tok-str">&quot;heap.alloca
c1ea0 74 65 64 20 66 72 61 6d 65 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 20 7b 3c 2f 73 70 61 6e 3e 0a ted.frame&quot;</span>.{</span>.
c1ec0 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 <span.class="line">....<span.cla
c1ee0 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 63 6f 6e 73 74 3c 2f 73 70 61 6e 3e 20 66 72 61 6d 65 20 3d ss="tok-kw">const</span>.frame.=
c1f00 20 3c 73 70 61 6e 20 63 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>
c1f20 20 73 74 64 2e 68 65 61 70 2e 70 61 67 65 5f 61 6c 6c 6f 63 61 74 6f 72 2e 63 72 65 61 74 65 28 .std.heap.page_allocator.create(
c1f40 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 62 75 69 6c 74 69 6e 22 3e 40 46 72 61 6d 65 <span.class="tok-builtin">@Frame
c1f60 3c 2f 73 70 61 6e 3e 28 66 75 6e 63 29 29 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 </span>(func));</span>.<span.cla
c1f80 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 66 72 61 6d 65 2e 2a 20 3d 20 3c 73 70 61 6e 20 63 6c ss="line">....frame.*.=.<span.cl
c1fa0 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 61 73 79 6e 63 3c 2f 73 70 61 6e 3e 20 66 75 6e 63 28 29 ass="tok-kw">async</span>.func()
c1fc0 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 7d 3c 2f 73 ;</span>.<span.class="line">}</s
c1fe0 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 2f 73 70 61 6e 3e 0a pan>.<span.class="line"></span>.
c2000 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 <span.class="line"><span.class="
c2020 74 6f 6b 2d 6b 77 22 3e 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
c2040 6f 6b 2d 66 6e 22 3e 66 75 6e 63 3c 2f 73 70 61 6e 3e 28 29 20 3c 73 70 61 6e 20 63 6c 61 73 73 ok-fn">func</span>().<span.class
c2060 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 76 6f 69 64 3c 2f 73 70 61 6e 3e 20 7b 3c 2f 73 70 61 6e 3e ="tok-type">void</span>.{</span>
c2080 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 3c 73 70 61 6e 20 63 6c .<span.class="line">....<span.cl
c20a0 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 73 75 73 70 65 6e 64 3c 2f 73 70 61 6e 3e 20 7b 7d 3c 2f ass="tok-kw">suspend</span>.{}</
c20c0 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 7d 3c 2f 73 70 61 6e span>.<span.class="line">}</span
c20e0 3e 3c 2f 63 6f 64 65 3e 3c 2f 70 72 65 3e 3c 2f 66 69 67 75 72 65 3e 3c 66 69 67 75 72 65 3e 3c ></code></pre></figure><figure><
c2100 66 69 67 63 61 70 74 69 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
c2120 6c 6c 3c 2f 66 69 67 63 61 70 74 69 6f 6e 3e 3c 70 72 65 3e 3c 73 61 6d 70 3e 3c 73 70 61 6e 20 ll</figcaption><pre><samp><span.
c2140 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 24 20 3c 6b 62 64 3e 7a 69 67 20 74 65 73 74 20 68 65 61 class="line">$.<kbd>zig.test.hea
c2160 70 5f 61 6c 6c 6f 63 61 74 65 64 5f 66 72 61 6d 65 2e 7a 69 67 20 2d 66 73 74 61 67 65 31 3c 2f p_allocated_frame.zig.-fstage1</
c2180 6b 62 64 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 31 kbd></span>.<span.class="line">1
c21a0 2f 31 20 74 65 73 74 20 26 71 75 6f 74 3b 68 65 61 70 20 61 6c 6c 6f 63 61 74 65 64 20 66 72 61 /1.test.&quot;heap.allocated.fra
c21c0 6d 65 26 71 75 6f 74 3b 2e 2e 2e 20 4f 4b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 me&quot;....OK</span>.<span.clas
c21e0 73 3d 22 6c 69 6e 65 22 3e 41 6c 6c 20 31 20 74 65 73 74 73 20 70 61 73 73 65 64 2e 3c 2f 73 70 s="line">All.1.tests.passed.</sp
c2200 61 6e 3e 0a 3c 2f 73 61 6d 70 3e 3c 2f 70 72 65 3e 3c 2f 66 69 67 75 72 65 3e 0a 20 20 20 20 20 an>.</samp></pre></figure>......
c2220 20 0a 0a 20 20 20 20 20 20 3c 68 33 20 69 64 3d 22 66 72 61 6d 65 41 64 64 72 65 73 73 22 3e 3c .........<h3.id="frameAddress"><
c2240 61 20 68 72 65 66 3d 22 23 74 6f 63 2d 66 72 61 6d 65 41 64 64 72 65 73 73 22 3e 40 66 72 61 6d a.href="#toc-frameAddress">@fram
c2260 65 41 64 64 72 65 73 73 3c 2f 61 3e 20 3c 61 20 63 6c 61 73 73 3d 22 68 64 72 22 20 68 72 65 66 eAddress</a>.<a.class="hdr".href
c2280 3d 22 23 66 72 61 6d 65 41 64 64 72 65 73 73 22 3e c2 a7 3c 2f 61 3e 3c 2f 68 33 3e 0a 0a 20 20 ="#frameAddress">..</a></h3>....
c22a0 20 20 20 20 3c 70 72 65 3e 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 ....<pre><code><span.class="line
c22c0 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 62 75 69 6c 74 69 6e 22 3e 40 66 72 61 "><span.class="tok-builtin">@fra
c22e0 6d 65 41 64 64 72 65 73 73 3c 2f 73 70 61 6e 3e 28 29 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 meAddress</span>().<span.class="
c2300 74 6f 6b 2d 74 79 70 65 22 3e 75 73 69 7a 65 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 3c 2f 63 tok-type">usize</span></span></c
c2320 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.
c2340 66 75 6e 63 74 69 6f 6e 20 72 65 74 75 72 6e 73 20 74 68 65 20 62 61 73 65 20 70 6f 69 6e 74 65 function.returns.the.base.pointe
c2360 72 20 6f 66 20 74 68 65 20 63 75 72 72 65 6e 74 20 73 74 61 63 6b 20 66 72 61 6d 65 2e 0a 20 20 r.of.the.current.stack.frame....
c2380 20 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 ....</p>.......<p>.......The.imp
c23a0 6c 69 63 61 74 69 6f 6e 73 20 6f 66 20 74 68 69 73 20 61 72 65 20 74 61 72 67 65 74 2d 73 70 65 lications.of.this.are.target-spe
c23c0 63 69 66 69 63 20 61 6e 64 20 6e 6f 74 20 63 6f 6e 73 69 73 74 65 6e 74 20 61 63 72 6f 73 73 20 cific.and.not.consistent.across.
c23e0 61 6c 6c 0a 20 20 20 20 20 20 70 6c 61 74 66 6f 72 6d 73 2e 20 54 68 65 20 66 72 61 6d 65 20 61 all.......platforms..The.frame.a
c2400 64 64 72 65 73 73 20 6d 61 79 20 6e 6f 74 20 62 65 20 61 76 61 69 6c 61 62 6c 65 20 69 6e 20 72 ddress.may.not.be.available.in.r
c2420 65 6c 65 61 73 65 20 6d 6f 64 65 20 64 75 65 20 74 6f 0a 20 20 20 20 20 20 61 67 67 72 65 73 73 elease.mode.due.to.......aggress
c2440 69 76 65 20 6f 70 74 69 6d 69 7a 61 74 69 6f 6e 73 2e 0a 20 20 20 20 20 20 3c 2f 70 3e 0a 20 20 ive.optimizations........</p>...
c2460 20 20 20 20 3c 70 3e 0a 20 20 20 20 20 20 54 68 69 73 20 66 75 6e 63 74 69 6f 6e 20 69 73 20 6f ....<p>.......This.function.is.o
c2480 6e 6c 79 20 76 61 6c 69 64 20 77 69 74 68 69 6e 20 66 75 6e 63 74 69 6f 6e 20 73 63 6f 70 65 2e nly.valid.within.function.scope.
c24a0 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
c24c0 3d 22 66 72 61 6d 65 53 69 7a 65 22 3e 3c 61 20 68 72 65 66 3d 22 23 74 6f 63 2d 66 72 61 6d 65 ="frameSize"><a.href="#toc-frame
c24e0 53 69 7a 65 22 3e 40 66 72 61 6d 65 53 69 7a 65 3c 2f 61 3e 20 3c 61 20 63 6c 61 73 73 3d 22 68 Size">@frameSize</a>.<a.class="h
c2500 64 72 22 20 68 72 65 66 3d 22 23 66 72 61 6d 65 53 69 7a 65 22 3e c2 a7 3c 2f 61 3e 3c 2f 68 33 dr".href="#frameSize">..</a></h3
c2520 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=
c2540 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 62 75 69 6c 74 69 6e 22 "line"><span.class="tok-builtin"
c2560 3e 40 66 72 61 6d 65 53 69 7a 65 3c 2f 73 70 61 6e 3e 28 66 75 6e 63 3a 20 3c 73 70 61 6e 20 63 >@frameSize</span>(func:.<span.c
c2580 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
c25a0 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
c25c0 3e 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 3c 2f 70 72 65 3e 0a 20 20 20 20 20 20 3c 70 3e 0a ></span></code></pre>.......<p>.
c25e0 20 20 20 20 20 20 54 68 69 73 20 69 73 20 74 68 65 20 73 61 6d 65 20 61 73 20 3c 63 6f 64 65 3e ......This.is.the.same.as.<code>
c2600 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 <span.class="line"><span.class="
c2620 74 6f 6b 2d 62 75 69 6c 74 69 6e 22 3e 40 73 69 7a 65 4f 66 3c 2f 73 70 61 6e 3e 28 3c 73 70 61 tok-builtin">@sizeOf</span>(<spa
c2640 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 62 75 69 6c 74 69 6e 22 3e 40 46 72 61 6d 65 3c 2f 73 70 n.class="tok-builtin">@Frame</sp
c2660 61 6e 3e 28 66 75 6e 63 29 29 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 2c 20 77 68 65 72 65 20 an>(func))</span></code>,.where.
c2680 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 66 75 6e 63 3c 2f 73 <code><span.class="line">func</s
c26a0 70 61 6e 3e 3c 2f 63 6f 64 65 3e 0a 20 20 20 20 20 20 6d 61 79 20 62 65 20 72 75 6e 74 69 6d 65 pan></code>.......may.be.runtime
c26c0 2d 6b 6e 6f 77 6e 2e 0a 20 20 20 20 20 20 3c 2f 70 3e 0a 20 20 20 20 20 20 3c 70 3e 0a 20 20 20 -known........</p>.......<p>....
c26e0 20 20 20 54 68 69 73 20 66 75 6e 63 74 69 6f 6e 20 69 73 20 74 79 70 69 63 61 6c 6c 79 20 75 73 ...This.function.is.typically.us
c2700 65 64 20 69 6e 20 63 6f 6e 6a 75 6e 63 74 69 6f 6e 20 77 69 74 68 20 3c 61 20 68 72 65 66 3d 22 ed.in.conjunction.with.<a.href="
c2720 23 61 73 79 6e 63 43 61 6c 6c 22 3e 40 61 73 79 6e 63 43 61 6c 6c 3c 2f 61 3e 2e 0a 20 20 20 20 #asyncCall">@asyncCall</a>......
c2740 20 20 3c 2f 70 3e 0a 20 20 20 20 20 20 0a 0a 20 20 20 20 20 20 3c 68 33 20 69 64 3d 22 68 61 73 ..</p>...............<h3.id="has
c2760 44 65 63 6c 22 3e 3c 61 20 68 72 65 66 3d 22 23 74 6f 63 2d 68 61 73 44 65 63 6c 22 3e 40 68 61 Decl"><a.href="#toc-hasDecl">@ha
c2780 73 44 65 63 6c 3c 2f 61 3e 20 3c 61 20 63 6c 61 73 73 3d 22 68 64 72 22 20 68 72 65 66 3d 22 23 sDecl</a>.<a.class="hdr".href="#
c27a0 68 61 73 44 65 63 6c 22 3e c2 a7 3c 2f 61 3e 3c 2f 68 33 3e 0a 0a 20 20 20 20 20 20 3c 70 72 65 hasDecl">..</a></h3>........<pre
c27c0 3e 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 ><code><span.class="line"><span.
c27e0 63 6c 61 73 73 3d 22 74 6f 6b 2d 62 75 69 6c 74 69 6e 22 3e 40 68 61 73 44 65 63 6c 3c 2f 73 70 class="tok-builtin">@hasDecl</sp
c2800 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
c2820 65 3c 2f 73 70 61 6e 3e 20 43 6f 6e 74 61 69 6e 65 72 3a 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d e</span>.Container:.<span.class=
c2840 22 74 6f 6b 2d 74 79 70 65 22 3e 74 79 70 65 3c 2f 73 70 61 6e 3e 2c 20 3c 73 70 61 6e 20 63 6c "tok-type">type</span>,.<span.cl
c2860 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 61 6d ass="tok-kw">comptime</span>.nam
c2880 65 3a 20 5b 5d 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 63 6f 6e 73 74 3c e:.[]<span.class="tok-kw">const<
c28a0 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
c28c0 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">
c28e0 62 6f 6f 6c 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 3c 2f 70 72 65 3e 0a bool</span></span></code></pre>.
c2900 20 20 20 20 20 20 3c 70 3e 0a 20 20 20 20 20 20 52 65 74 75 72 6e 73 20 77 68 65 74 68 65 72 20 ......<p>.......Returns.whether.
c2920 6f 72 20 6e 6f 74 20 61 20 3c 61 20 68 72 65 66 3d 22 23 43 6f 6e 74 61 69 6e 65 72 73 22 3e 63 or.not.a.<a.href="#Containers">c
c2940 6f 6e 74 61 69 6e 65 72 3c 2f 61 3e 20 68 61 73 20 61 20 64 65 63 6c 61 72 61 74 69 6f 6e 0a 20 ontainer</a>.has.a.declaration..
c2960 20 20 20 20 20 6d 61 74 63 68 69 6e 67 20 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d .....matching.<code><span.class=
c2980 22 6c 69 6e 65 22 3e 6e 61 6d 65 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 2e 0a 20 20 20 20 20 "line">name</span></code>.......
c29a0 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.
c29c0 63 6c 61 73 73 3d 22 7a 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
c29e0 65 22 3e 68 61 73 44 65 63 6c 2e 7a 69 67 3c 2f 63 69 74 65 3e 3c 2f 66 69 67 63 61 70 74 69 6f e">hasDecl.zig</cite></figcaptio
c2a00 6e 3e 3c 70 72 65 3e 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e n><pre><code><span.class="line">
c2a20 3c 73 70 61 6e 20 63 6c 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
c2a40 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
c2a60 22 3e 40 69 6d 70 6f 72 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
c2a80 6b 2d 73 74 72 22 3e 26 71 75 6f 74 3b 73 74 64 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 29 3b 3c k-str">&quot;std&quot;</span>);<
c2aa0 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 /span>.<span.class="line"><span.
c2ac0 63 6c 61 73 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
c2ae0 63 74 20 3d 20 73 74 64 2e 74 65 73 74 69 6e 67 2e 65 78 70 65 63 74 3b 3c 2f 73 70 61 6e 3e 0a ct.=.std.testing.expect;</span>.
c2b00 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e <span.class="line"></span>.<span
c2b20 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b .class="line"><span.class="tok-k
c2b40 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 73 w">const</span>.Foo.=.<span.clas
c2b60 73 3d 22 74 6f 6b 2d 6b 77 22 3e 73 74 72 75 63 74 3c 2f 73 70 61 6e 3e 20 7b 3c 2f 73 70 61 6e s="tok-kw">struct</span>.{</span
c2b80 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 6e 6f 70 65 3a 20 3c >.<span.class="line">....nope:.<
c2ba0 73 70 61 6e 20 63 6c 61 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>
c2bc0 2c 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 2f 73 70 ,</span>.<span.class="line"></sp
c2be0 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 3c 73 70 61 6e an>.<span.class="line">....<span
c2c00 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
c2c20 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 76 61 72 3c 2f 73 70 61 6e 3e 20 62 6c 61 68 20 .class="tok-kw">var</span>.blah.
c2c40 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 78 78 =.<span.class="tok-str">&quot;xx
c2c60 78 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 x&quot;</span>;</span>.<span.cla
c2c80 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b ss="line">....<span.class="tok-k
c2ca0 77 22 3e 63 6f 6e 73 74 3c 2f 73 70 61 6e 3e 20 68 69 20 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 w">const</span>.hi.=.<span.class
c2cc0 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 31 3c 2f 73 70 61 6e 3e 3b 3c 2f 73 70 61 6e 3e 0a 3c ="tok-number">1</span>;</span>.<
c2ce0 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 7d 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 span.class="line">};</span>.<spa
c2d00 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 n.class="line"></span>.<span.cla
c2d20 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 74 ss="line"><span.class="tok-kw">t
c2d40 65 73 74 3c 2f 73 70 61 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"
c2d60 3e 26 71 75 6f 74 3b 40 68 61 73 44 65 63 6c 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 20 7b 3c 2f >&quot;@hasDecl&quot;</span>.{</
c2d80 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 3c 73 70 span>.<span.class="line">....<sp
c2da0 61 6e 20 63 6c 61 73 73 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
c2dc0 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
c2de0 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="
c2e00 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>
c2e20 29 29 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 2f ));</span>.<span.class="line"></
c2e40 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 3c 73 70 span>.<span.class="line">....<sp
c2e60 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 63 6f 6d 6d 65 6e 74 22 3e 2f 2f 20 45 76 65 6e 20 74 an.class="tok-comment">//.Even.t
c2e80 68 6f 75 67 68 20 60 68 69 60 20 69 73 20 70 72 69 76 61 74 65 2c 20 40 68 61 73 44 65 63 6c 20 hough.`hi`.is.private,.@hasDecl.
c2ea0 72 65 74 75 72 6e 73 20 74 72 75 65 20 62 65 63 61 75 73 65 20 74 68 69 73 20 74 65 73 74 20 69 returns.true.because.this.test.i
c2ec0 73 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e s</span></span>.<span.class="lin
c2ee0 65 22 3e 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 63 6f 6d 6d 65 6e 74 22 e">....<span.class="tok-comment"
c2f00 3e 2f 2f 20 69 6e 20 74 68 65 20 73 61 6d 65 20 66 69 6c 65 20 73 63 6f 70 65 20 61 73 20 46 6f >//.in.the.same.file.scope.as.Fo
c2f20 6f 2e 20 49 74 20 77 6f 75 6c 64 20 72 65 74 75 72 6e 20 66 61 6c 73 65 20 69 66 20 46 6f 6f 20 o..It.would.return.false.if.Foo.
c2f40 77 61 73 20 64 65 63 6c 61 72 65 64 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e was.declared</span></span>.<span
c2f60 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 .class="line">....<span.class="t
c2f80 6f 6b 2d 63 6f 6d 6d 65 6e 74 22 3e 2f 2f 20 69 6e 20 61 20 64 69 66 66 65 72 65 6e 74 20 66 69 ok-comment">//.in.a.different.fi
c2fa0 6c 65 2e 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c le.</span></span>.<span.class="l
c2fc0 69 6e 65 22 3e 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 74 72 ine">....<span.class="tok-kw">tr
c2fe0 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
c3000 2d 62 75 69 6c 74 69 6e 22 3e 40 68 61 73 44 65 63 6c 3c 2f 73 70 61 6e 3e 28 46 6f 6f 2c 20 3c -builtin">@hasDecl</span>(Foo,.<
c3020 73 70 61 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
c3040 6f 74 3b 3c 2f 73 70 61 6e 3e 29 29 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 ot;</span>));</span>.<span.class
c3060 3d 22 6c 69 6e 65 22 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e ="line"></span>.<span.class="lin
c3080 65 22 3e 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 63 6f 6d 6d 65 6e 74 22 e">....<span.class="tok-comment"
c30a0 3e 2f 2f 20 40 68 61 73 44 65 63 6c 20 69 73 20 66 6f 72 20 64 65 63 6c 61 72 61 74 69 6f 6e 73 >//.@hasDecl.is.for.declarations
c30c0 3b 20 6e 6f 74 20 66 69 65 6c 64 73 2e 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 ;.not.fields.</span></span>.<spa
c30e0 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 n.class="line">....<span.class="
c3100 74 6f 6b 2d 6b 77 22 3e 74 72 79 3c 2f 73 70 61 6e 3e 20 65 78 70 65 63 74 28 21 3c 73 70 61 6e tok-kw">try</span>.expect(!<span
c3120 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 62 75 69 6c 74 69 6e 22 3e 40 68 61 73 44 65 63 6c 3c 2f 73 .class="tok-builtin">@hasDecl</s
c3140 70 61 6e 3e 28 46 6f 6f 2c 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 73 74 72 22 3e pan>(Foo,.<span.class="tok-str">
c3160 26 71 75 6f 74 3b 6e 6f 70 65 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 29 29 3b 3c 2f 73 70 61 6e &quot;nope&quot;</span>));</span
c3180 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 3c 73 70 61 6e 20 63 >.<span.class="line">....<span.c
c31a0 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 74 72 79 3c 2f 73 70 61 6e 3e 20 65 78 70 65 63 74 28 lass="tok-kw">try</span>.expect(
c31c0 21 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 62 75 69 6c 74 69 6e 22 3e 40 68 61 73 44 !<span.class="tok-builtin">@hasD
c31e0 65 63 6c 3c 2f 73 70 61 6e 3e 28 46 6f 6f 2c 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b ecl</span>(Foo,.<span.class="tok
c3200 2d 73 74 72 22 3e 26 71 75 6f 74 3b 6e 6f 70 65 31 32 33 34 26 71 75 6f 74 3b 3c 2f 73 70 61 6e -str">&quot;nope1234&quot;</span
c3220 3e 29 29 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 7d >));</span>.<span.class="line">}
c3240 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 3c 2f 70 72 65 3e 3c 2f 66 69 67 75 72 65 3e 3c 66 69 </span></code></pre></figure><fi
c3260 67 75 72 65 3e 3c 66 69 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
c3280 70 22 3e 53 68 65 6c 6c 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>
c32a0 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 24 20 3c 6b 62 64 3e 7a 69 67 20 74 65 <span.class="line">$.<kbd>zig.te
c32c0 73 74 20 68 61 73 44 65 63 6c 2e 7a 69 67 3c 2f 6b 62 64 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 st.hasDecl.zig</kbd></span>.<spa
c32e0 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 31 2f 31 20 74 65 73 74 2e 40 68 61 73 44 65 63 6c n.class="line">1/1.test.@hasDecl
c3300 2e 2e 2e 20 4f 4b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 ....OK</span>.<span.class="line"
c3320 3e 41 6c 6c 20 31 20 74 65 73 74 73 20 70 61 73 73 65 64 2e 3c 2f 73 70 61 6e 3e 0a 3c 2f 73 61 >All.1.tests.passed.</span>.</sa
c3340 6d 70 3e 3c 2f 70 72 65 3e 3c 2f 66 69 67 75 72 65 3e 0a 20 20 20 20 20 20 3c 70 3e 53 65 65 20 mp></pre></figure>.......<p>See.
c3360 61 6c 73 6f 3a 3c 2f 70 3e 3c 75 6c 3e 0a 3c 6c 69 3e 3c 61 20 68 72 65 66 3d 22 23 68 61 73 46 also:</p><ul>.<li><a.href="#hasF
c3380 69 65 6c 64 22 3e 40 68 61 73 46 69 65 6c 64 3c 2f 61 3e 3c 2f 6c 69 3e 0a 3c 2f 75 6c 3e 0a 0a ield">@hasField</a></li>.</ul>..
c33a0 20 20 20 20 20 20 0a 0a 20 20 20 20 20 20 3c 68 33 20 69 64 3d 22 68 61 73 46 69 65 6c 64 22 3e ..............<h3.id="hasField">
c33c0 3c 61 20 68 72 65 66 3d 22 23 74 6f 63 2d 68 61 73 46 69 65 6c 64 22 3e 40 68 61 73 46 69 65 6c <a.href="#toc-hasField">@hasFiel
c33e0 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 68 61 73 46 d</a>.<a.class="hdr".href="#hasF
c3400 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 65 3e 3c 63 ield">..</a></h3>........<pre><c
c3420 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 ode><span.class="line"><span.cla
c3440 73 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 ss="tok-builtin">@hasField</span
c3460 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<
c3480 2f 73 70 61 6e 3e 20 43 6f 6e 74 61 69 6e 65 72 3a 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 /span>.Container:.<span.class="t
c34a0 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
c34c0 73 3d 22 74 6f 6b 2d 6b 77 22 3e 63 6f 6d 70 74 69 6d 65 3c 2f 73 70 61 6e 3e 20 6e 61 6d 65 3a s="tok-kw">comptime</span>.name:
c34e0 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
c3500 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</
c3520 73 70 61 6e 3e 29 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 62 6f span>).<span.class="tok-type">bo
c3540 6f 6c 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 3c 2f 70 72 65 3e 0a 20 20 ol</span></span></code></pre>...
c3560 20 20 20 20 3c 70 3e 52 65 74 75 72 6e 73 20 77 68 65 74 68 65 72 20 74 68 65 20 66 69 65 6c 64 ....<p>Returns.whether.the.field
c3580 20 6e 61 6d 65 20 6f 66 20 61 20 73 74 72 75 63 74 2c 20 75 6e 69 6f 6e 2c 20 6f 72 20 65 6e 75 .name.of.a.struct,.union,.or.enu
c35a0 6d 20 65 78 69 73 74 73 2e 3c 2f 70 3e 0a 20 20 20 20 20 20 3c 70 3e 0a 20 20 20 20 20 20 54 68 m.exists.</p>.......<p>.......Th
c35c0 65 20 72 65 73 75 6c 74 20 69 73 20 61 20 63 6f 6d 70 69 6c 65 20 74 69 6d 65 20 63 6f 6e 73 74 e.result.is.a.compile.time.const
c35e0 61 6e 74 2e 0a 20 20 20 20 20 20 3c 2f 70 3e 0a 20 20 20 20 20 20 3c 70 3e 0a 20 20 20 20 20 20 ant........</p>.......<p>.......
c3600 49 74 20 64 6f 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 It.does.not.include.functions,.v
c3620 61 72 69 61 62 6c 65 73 2c 20 6f 72 20 63 6f 6e 73 74 61 6e 74 73 2e 0a 20 20 20 20 20 20 3c 2f ariables,.or.constants........</
c3640 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
c3660 69 3e 3c 61 20 68 72 65 66 3d 22 23 68 61 73 44 65 63 6c 22 3e 40 68 61 73 44 65 63 6c 3c 2f 61 i><a.href="#hasDecl">@hasDecl</a
c3680 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.
c36a0 69 64 3d 22 69 6d 70 6f 72 74 22 3e 3c 61 20 68 72 65 66 3d 22 23 74 6f 63 2d 69 6d 70 6f 72 74 id="import"><a.href="#toc-import
c36c0 22 3e 40 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 ">@import</a>.<a.class="hdr".hre
c36e0 66 3d 22 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 f="#import">..</a></h3>........<
c3700 70 72 65 3e 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 pre><code><span.class="line"><sp
c3720 61 6e 20 63 6c 61 73 73 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</
c3740 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
c3760 69 6d 65 3c 2f 73 70 61 6e 3e 20 70 61 74 68 3a 20 5b 5d 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 ime</span>.path:.[]<span.class="
c3780 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
c37a0 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 74 79 70 65 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 3c 2f ="tok-type">type</span></span></
c37c0 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
c37e0 20 66 75 6e 63 74 69 6f 6e 20 66 69 6e 64 73 20 61 20 7a 69 67 20 66 69 6c 65 20 63 6f 72 72 65 .function.finds.a.zig.file.corre
c3800 73 70 6f 6e 64 69 6e 67 20 74 6f 20 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c sponding.to.<code><span.class="l
c3820 69 6e 65 22 3e 70 61 74 68 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 20 61 6e 64 20 61 64 64 73 ine">path</span></code>.and.adds
c3840 20 69 74 20 74 6f 20 74 68 65 20 62 75 69 6c 64 2c 0a 20 20 20 20 20 20 69 66 20 69 74 20 69 73 .it.to.the.build,.......if.it.is
c3860 20 6e 6f 74 20 61 6c 72 65 61 64 79 20 61 64 64 65 64 2e 0a 20 20 20 20 20 20 3c 2f 70 3e 0a 20 .not.already.added........</p>..
c3880 20 20 20 20 20 3c 70 3e 0a 20 20 20 20 20 20 5a 69 67 20 73 6f 75 72 63 65 20 66 69 6c 65 73 20 .....<p>.......Zig.source.files.
c38a0 61 72 65 20 69 6d 70 6c 69 63 69 74 6c 79 20 73 74 72 75 63 74 73 2c 20 77 69 74 68 20 61 20 6e are.implicitly.structs,.with.a.n
c38c0 61 6d 65 20 65 71 75 61 6c 20 74 6f 20 74 68 65 20 66 69 6c 65 27 73 20 62 61 73 65 6e 61 6d 65 ame.equal.to.the.file's.basename
c38e0 20 77 69 74 68 20 74 68 65 20 65 78 74 65 6e 73 69 6f 6e 0a 20 20 20 20 20 20 74 72 75 6e 63 61 .with.the.extension.......trunca
c3900 74 65 64 2e 20 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 ted..<code><span.class="line"><s
c3920 70 61 6e 20 63 6c 61 73 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<
c3940 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 20 72 65 74 75 72 6e 73 20 74 68 65 /span></span></code>.returns.the
c3960 20 73 74 72 75 63 74 20 74 79 70 65 20 63 6f 72 72 65 73 70 6f 6e 64 69 6e 67 20 74 6f 20 74 68 .struct.type.corresponding.to.th
c3980 65 20 66 69 6c 65 2e 0a 20 20 20 20 20 20 3c 2f 70 3e 0a 20 20 20 20 20 20 3c 70 3e 0a 20 20 20 e.file........</p>.......<p>....
c39a0 20 20 20 44 65 63 6c 61 72 61 74 69 6f 6e 73 20 77 68 69 63 68 20 68 61 76 65 20 74 68 65 20 3c ...Declarations.which.have.the.<
c39c0 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c code><span.class="line"><span.cl
c39e0 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 70 75 62 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 3c 2f ass="tok-kw">pub</span></span></
c3a00 63 6f 64 65 3e 20 6b 65 79 77 6f 72 64 20 6d 61 79 20 62 65 20 72 65 66 65 72 65 6e 63 65 64 20 code>.keyword.may.be.referenced.
c3a20 66 72 6f 6d 20 61 20 64 69 66 66 65 72 65 6e 74 0a 20 20 20 20 20 20 73 6f 75 72 63 65 20 66 69 from.a.different.......source.fi
c3a40 6c 65 20 74 68 61 6e 20 74 68 65 20 6f 6e 65 20 74 68 65 79 20 61 72 65 20 64 65 63 6c 61 72 65 le.than.the.one.they.are.declare
c3a60 64 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 20 20 20 d.in........</p>.......<p>......
c3a80 20 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 70 61 74 68 3c 2f .<code><span.class="line">path</
c3aa0 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 20 63 61 6e 20 62 65 20 61 20 72 65 6c 61 74 69 76 65 20 70 span></code>.can.be.a.relative.p
c3ac0 61 74 68 20 6f 72 20 69 74 20 63 61 6e 20 62 65 20 74 68 65 20 6e 61 6d 65 20 6f 66 20 61 20 70 ath.or.it.can.be.the.name.of.a.p
c3ae0 61 63 6b 61 67 65 2e 0a 20 20 20 20 20 20 49 66 20 69 74 20 69 73 20 61 20 72 65 6c 61 74 69 76 ackage........If.it.is.a.relativ
c3b00 65 20 70 61 74 68 2c 20 69 74 20 69 73 20 72 65 6c 61 74 69 76 65 20 74 6f 20 74 68 65 20 66 69 e.path,.it.is.relative.to.the.fi
c3b20 6c 65 20 74 68 61 74 20 63 6f 6e 74 61 69 6e 73 20 74 68 65 20 3c 63 6f 64 65 3e 3c 73 70 61 6e le.that.contains.the.<code><span
c3b40 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 62 .class="line"><span.class="tok-b
c3b60 75 69 6c 74 69 6e 22 3e 40 69 6d 70 6f 72 74 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 3c 2f 63 uiltin">@import</span></span></c
c3b80 6f 64 65 3e 0a 20 20 20 20 20 20 66 75 6e 63 74 69 6f 6e 20 63 61 6c 6c 2e 0a 20 20 20 20 20 20 ode>.......function.call........
c3ba0 3c 2f 70 3e 0a 20 20 20 20 20 20 3c 70 3e 0a 20 20 20 20 20 20 54 68 65 20 66 6f 6c 6c 6f 77 69 </p>.......<p>.......The.followi
c3bc0 6e 67 20 70 61 63 6b 61 67 65 73 20 61 72 65 20 61 6c 77 61 79 73 20 61 76 61 69 6c 61 62 6c 65 ng.packages.are.always.available
c3be0 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>.........
c3c00 20 20 3c 6c 69 3e 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c ..<li><code><span.class="line"><
c3c20 73 70 61 6e 20 63 6c 61 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
c3c40 3c 2f 73 70 61 6e 3e 28 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
c3c60 75 6f 74 3b 73 74 64 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 29 3c 2f 73 70 61 6e 3e 3c 2f 63 6f uot;std&quot;</span>)</span></co
c3c80 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>.
c3ca0 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=
c3cc0 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 62 75 69 6c 74 69 6e 22 "line"><span.class="tok-builtin"
c3ce0 3e 40 69 6d 70 6f 72 74 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
c3d00 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>
c3d20 29 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 20 2d 20 54 61 72 67 65 74 2d 73 70 65 63 69 66 69 )</span></code>.-.Target-specifi
c3d40 63 20 69 6e 66 6f 72 6d 61 74 69 6f 6e 2e 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 54 68 65 c.information................The
c3d60 20 63 6f 6d 6d 61 6e 64 20 3c 63 6f 64 65 3e 7a 69 67 20 62 75 69 6c 64 2d 65 78 65 20 2d 2d 73 .command.<code>zig.build-exe.--s
c3d80 68 6f 77 2d 62 75 69 6c 74 69 6e 3c 2f 63 6f 64 65 3e 20 6f 75 74 70 75 74 73 20 74 68 65 20 73 how-builtin</code>.outputs.the.s
c3da0 6f 75 72 63 65 20 74 6f 20 73 74 64 6f 75 74 20 66 6f 72 20 72 65 66 65 72 65 6e 63 65 2e 0a 20 ource.to.stdout.for.reference...
c3dc0 20 20 20 20 20 20 20 20 20 3c 2f 6c 69 3e 0a 20 20 20 20 20 20 20 20 20 20 3c 6c 69 3e 3c 63 6f .........</li>...........<li><co
c3de0 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 de><span.class="line"><span.clas
c3e00 73 3d 22 74 6f 6b 2d 62 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>(<
c3e20 73 70 61 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 6f 6f 74 26 span.class="tok-str">&quot;root&
c3e40 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 29 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 20 2d 20 50 6f quot;</span>)</span></code>.-.Po
c3e60 69 6e 74 73 20 74 6f 20 74 68 65 20 72 6f 6f 74 20 73 6f 75 72 63 65 20 66 69 6c 65 2e 0a 20 20 ints.to.the.root.source.file....
c3e80 20 20 20 20 20 20 20 20 20 20 20 20 54 68 69 73 20 69 73 20 75 73 75 61 6c 6c 79 20 3c 63 6f 64 ............This.is.usually.<cod
c3ea0 65 3e 73 72 63 2f 6d 61 69 6e 2e 7a 69 67 3c 2f 63 6f 64 65 3e 20 62 75 74 20 69 74 20 64 65 70 e>src/main.zig</code>.but.it.dep
c3ec0 65 6e 64 73 20 6f 6e 20 77 68 61 74 20 66 69 6c 65 20 69 73 20 63 68 6f 73 65 6e 20 74 6f 20 62 ends.on.what.file.is.chosen.to.b
c3ee0 65 20 62 75 69 6c 74 2e 0a 20 20 20 20 20 20 20 20 20 20 3c 2f 6c 69 3e 0a 20 20 20 20 20 20 3c e.built............</li>.......<
c3f00 2f 75 6c 3e 0a 20 20 20 20 20 20 3c 70 3e 53 65 65 20 61 6c 73 6f 3a 3c 2f 70 3e 3c 75 6c 3e 0a /ul>.......<p>See.also:</p><ul>.
c3f20 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"
c3f40 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>
c3f60 3c 61 20 68 72 65 66 3d 22 23 65 6d 62 65 64 46 69 6c 65 22 3e 40 65 6d 62 65 64 46 69 6c 65 3c <a.href="#embedFile">@embedFile<
c3f80 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
c3fa0 33 20 69 64 3d 22 69 6e 74 43 61 73 74 22 3e 3c 61 20 68 72 65 66 3d 22 23 74 6f 63 2d 69 6e 74 3.id="intCast"><a.href="#toc-int
c3fc0 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 72 Cast">@intCast</a>.<a.class="hdr
c3fe0 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 20 ".href="#intCast">..</a></h3>...
c4000 20 20 20 20 20 3c 70 72 65 3e 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e .....<pre><code><span.class="lin
c4020 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 62 75 69 6c 74 69 6e 22 3e 40 69 6e e"><span.class="tok-builtin">@in
c4040 74 43 61 73 74 3c 2f 73 70 61 6e 3e 28 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 tCast</span>(<span.class="tok-kw
c4060 22 3e 63 6f 6d 70 74 69 6d 65 3c 2f 73 70 61 6e 3e 20 44 65 73 74 54 79 70 65 3a 20 3c 73 70 61 ">comptime</span>.DestType:.<spa
c4080 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 74 79 70 65 3c 2f 73 70 61 6e 3e 2c 20 n.class="tok-type">type</span>,.
c40a0 69 6e 74 3a 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 61 6e 79 74 79 70 int:.<span.class="tok-kw">anytyp
c40c0 65 3c 2f 73 70 61 6e 3e 29 20 44 65 73 74 54 79 70 65 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e e</span>).DestType</span></code>
c40e0 3c 2f 70 72 65 3e 0a 20 20 20 20 20 20 3c 70 3e 0a 20 20 20 20 20 20 43 6f 6e 76 65 72 74 73 20 </pre>.......<p>.......Converts.
c4100 61 6e 20 69 6e 74 65 67 65 72 20 74 6f 20 61 6e 6f 74 68 65 72 20 69 6e 74 65 67 65 72 20 77 68 an.integer.to.another.integer.wh
c4120 69 6c 65 20 6b 65 65 70 69 6e 67 20 74 68 65 20 73 61 6d 65 20 6e 75 6d 65 72 69 63 61 6c 20 76 ile.keeping.the.same.numerical.v
c4140 61 6c 75 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 alue........Attempting.to.conver
c4160 74 20 61 20 6e 75 6d 62 65 72 20 77 68 69 63 68 20 69 73 20 6f 75 74 20 6f 66 20 72 61 6e 67 65 t.a.number.which.is.out.of.range
c4180 20 6f 66 20 74 68 65 20 64 65 73 74 69 6e 61 74 69 6f 6e 20 74 79 70 65 20 72 65 73 75 6c 74 73 .of.the.destination.type.results
c41a0 20 69 6e 0a 20 20 20 20 20 20 73 61 66 65 74 79 2d 70 72 6f 74 65 63 74 65 64 20 3c 61 20 68 72 .in.......safety-protected.<a.hr
c41c0 65 66 3d 22 23 55 6e 64 65 66 69 6e 65 64 2d 42 65 68 61 76 69 6f 72 22 3e 55 6e 64 65 66 69 6e ef="#Undefined-Behavior">Undefin
c41e0 65 64 20 42 65 68 61 76 69 6f 72 3c 2f 61 3e 2e 0a 20 20 20 20 20 20 3c 2f 70 3e 0a 20 20 20 20 ed.Behavior</a>........</p>.....
c4200 20 20 3c 66 69 67 75 72 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
c4220 2d 63 61 70 22 3e 3c 63 69 74 65 20 63 6c 61 73 73 3d 22 66 69 6c 65 22 3e 74 65 73 74 2e 7a 69 -cap"><cite.class="file">test.zi
c4240 67 3c 2f 63 69 74 65 3e 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>
c4260 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 <span.class="line"><span.class="
c4280 74 6f 6b 2d 6b 77 22 3e 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=
c42a0 22 74 6f 6b 2d 73 74 72 22 3e 26 71 75 6f 74 3b 69 6e 74 65 67 65 72 20 63 61 73 74 20 70 61 6e "tok-str">&quot;integer.cast.pan
c42c0 69 63 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 20 7b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 ic&quot;</span>.{</span>.<span.c
c42e0 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b lass="line">....<span.class="tok
c4300 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 22 -kw">var</span>.a:.<span.class="
c4320 74 6f 6b 2d 74 79 70 65 22 3e 75 31 36 3c 2f 73 70 61 6e 3e 20 3d 20 3c 73 70 61 6e 20 63 6c 61 tok-type">u16</span>.=.<span.cla
c4340 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 30 78 61 62 63 64 3c 2f 73 70 61 6e 3e 3b 3c 2f ss="tok-number">0xabcd</span>;</
c4360 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 3c 73 70 span>.<span.class="line">....<sp
c4380 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 76 61 72 3c 2f 73 70 61 6e 3e 20 62 3a 20 an.class="tok-kw">var</span>.b:.
c43a0 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>
c43c0 20 3d 20 3c 73 70 61 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
c43e0 74 43 61 73 74 3c 2f 73 70 61 6e 3e 28 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 tCast</span>(<span.class="tok-ty
c4400 70 65 22 3e 75 38 3c 2f 73 70 61 6e 3e 2c 20 61 29 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 pe">u8</span>,.a);</span>.<span.
c4420 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 5f 20 3d 20 62 3b 3c 2f 73 70 61 6e 3e 0a 3c class="line">...._.=.b;</span>.<
c4440 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 7d 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 span.class="line">}</span></code
c4460 3e 3c 2f 70 72 65 3e 3c 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
c4480 69 6f 6e 20 63 6c 61 73 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
c44a0 63 61 70 74 69 6f 6e 3e 3c 70 72 65 3e 3c 73 61 6d 70 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 caption><pre><samp><span.class="
c44c0 6c 69 6e 65 22 3e 24 20 3c 6b 62 64 3e 7a 69 67 20 74 65 73 74 20 74 65 73 74 2e 7a 69 67 3c 2f line">$.<kbd>zig.test.test.zig</
c44e0 6b 62 64 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 31 kbd></span>.<span.class="line">1
c4500 2f 31 20 74 65 73 74 2e 69 6e 74 65 67 65 72 20 63 61 73 74 20 70 61 6e 69 63 2e 2e 2e 20 74 68 /1.test.integer.cast.panic....th
c4520 72 65 61 64 20 33 35 38 33 33 36 33 20 70 61 6e 69 63 3a 20 69 6e 74 65 67 65 72 20 63 61 73 74 read.3583363.panic:.integer.cast
c4540 20 74 72 75 6e 63 61 74 65 64 20 62 69 74 73 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 .truncated.bits</span>.<span.cla
c4560 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 31 5f 30 22 3e 64 6f 63 ss="line"><span.class="t1_0">doc
c4580 67 65 6e 5f 74 6d 70 2f 74 65 73 74 2e 7a 69 67 3a 33 3a 31 37 3c 2f 73 70 61 6e 3e 3a 20 3c 73 gen_tmp/test.zig:3:17</span>:.<s
c45a0 70 61 6e 20 63 6c 61 73 73 3d 22 74 32 5f 30 22 3e 30 78 32 31 31 35 38 36 20 69 6e 20 74 65 73 pan.class="t2_0">0x211586.in.tes
c45c0 74 2e 69 6e 74 65 67 65 72 20 63 61 73 74 20 70 61 6e 69 63 20 28 74 65 73 74 29 3c 2f 73 70 61 t.integer.cast.panic.(test)</spa
c45e0 6e 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 n></span>.<span.class="line">...
c4600 20 76 61 72 20 62 3a 20 75 38 20 3d 20 40 69 6e 74 43 61 73 74 28 75 38 2c 20 61 29 3b 3c 2f 73 .var.b:.u8.=.@intCast(u8,.a);</s
c4620 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 20 20 20 20 pan>.<span.class="line">........
c4640 20 20 20 20 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 33 32 5f 31 22 3e 5e 3c 2f 73 ........<span.class="t32_1">^</s
c4660 70 61 6e 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c pan></span>.<span.class="line"><
c4680 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 31 5f 30 22 3e 2f 68 6f 6d 65 2f 63 69 2f 72 65 6c 65 61 span.class="t1_0">/home/ci/relea
c46a0 73 65 2d 30 2e 31 30 2e 31 2f 6f 75 74 2f 7a 69 67 2d 78 38 36 5f 36 34 2d 6c 69 6e 75 78 2d 6d se-0.10.1/out/zig-x86_64-linux-m
c46c0 75 73 6c 2d 62 61 73 65 6c 69 6e 65 2f 6c 69 62 2f 7a 69 67 2f 74 65 73 74 5f 72 75 6e 6e 65 72 usl-baseline/lib/zig/test_runner
c46e0 2e 7a 69 67 3a 36 33 3a 32 38 3c 2f 73 70 61 6e 3e 3a 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 .zig:63:28</span>:.<span.class="
c4700 74 32 5f 30 22 3e 30 78 32 31 32 64 32 33 20 69 6e 20 6d 61 69 6e 20 28 74 65 73 74 29 3c 2f 73 t2_0">0x212d23.in.main.(test)</s
c4720 70 61 6e 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 pan></span>.<span.class="line">.
c4740 20 20 20 20 20 20 20 7d 20 65 6c 73 65 20 74 65 73 74 5f 66 6e 2e 66 75 6e 63 28 29 3b 3c 2f 73 .......}.else.test_fn.func();</s
c4760 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 20 20 20 20 pan>.<span.class="line">........
c4780 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="
c47a0 74 33 32 5f 31 22 3e 5e 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 t32_1">^</span></span>.<span.cla
c47c0 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 31 5f 30 22 3e 2f 68 6f ss="line"><span.class="t1_0">/ho
c47e0 6d 65 2f 63 69 2f 72 65 6c 65 61 73 65 2d 30 2e 31 30 2e 31 2f 6f 75 74 2f 7a 69 67 2d 78 38 36 me/ci/release-0.10.1/out/zig-x86
c4800 5f 36 34 2d 6c 69 6e 75 78 2d 6d 75 73 6c 2d 62 61 73 65 6c 69 6e 65 2f 6c 69 62 2f 7a 69 67 2f _64-linux-musl-baseline/lib/zig/
c4820 73 74 64 2f 73 74 61 72 74 2e 7a 69 67 3a 36 30 34 3a 32 32 3c 2f 73 70 61 6e 3e 3a 20 3c 73 70 std/start.zig:604:22</span>:.<sp
c4840 61 6e 20 63 6c 61 73 73 3d 22 74 32 5f 30 22 3e 30 78 32 31 31 65 61 63 20 69 6e 20 70 6f 73 69 an.class="t2_0">0x211eac.in.posi
c4860 78 43 61 6c 6c 4d 61 69 6e 41 6e 64 45 78 69 74 20 28 74 65 73 74 29 3c 2f 73 70 61 6e 3e 3c 2f xCallMainAndExit.(test)</span></
c4880 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 20 20 20 span>.<span.class="line">.......
c48a0 20 20 20 20 20 72 6f 6f 74 2e 6d 61 69 6e 28 29 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 .....root.main();</span>.<span.c
c48c0 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 lass="line">....................
c48e0 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 33 32 5f 31 22 3e 5e 3c 2f 73 70 61 6e 3e 3c 2f 73 .<span.class="t32_1">^</span></s
c4900 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c pan>.<span.class="line"><span.cl
c4920 61 73 73 3d 22 74 31 5f 30 22 3e 2f 68 6f 6d 65 2f 63 69 2f 72 65 6c 65 61 73 65 2d 30 2e 31 30 ass="t1_0">/home/ci/release-0.10
c4940 2e 31 2f 6f 75 74 2f 7a 69 67 2d 78 38 36 5f 36 34 2d 6c 69 6e 75 78 2d 6d 75 73 6c 2d 62 61 73 .1/out/zig-x86_64-linux-musl-bas
c4960 65 6c 69 6e 65 2f 6c 69 62 2f 7a 69 67 2f 73 74 64 2f 73 74 61 72 74 2e 7a 69 67 3a 33 37 36 3a eline/lib/zig/std/start.zig:376:
c4980 35 3c 2f 73 70 61 6e 3e 3a 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 32 5f 30 22 3e 30 78 32 5</span>:.<span.class="t2_0">0x2
c49a0 31 31 39 62 31 20 69 6e 20 5f 73 74 61 72 74 20 28 74 65 73 74 29 3c 2f 73 70 61 6e 3e 3c 2f 73 119b1.in._start.(test)</span></s
c49c0 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 40 63 61 6c pan>.<span.class="line">....@cal
c49e0 6c 28 2e 7b 20 2e 6d 6f 64 69 66 69 65 72 20 3d 20 2e 6e 65 76 65 72 5f 69 6e 6c 69 6e 65 20 7d l(.{..modifier.=..never_inline.}
c4a00 2c 20 70 6f 73 69 78 43 61 6c 6c 4d 61 69 6e 41 6e 64 45 78 69 74 2c 20 2e 7b 7d 29 3b 3c 2f 73 ,.posixCallMainAndExit,..{});</s
c4a20 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 3c 73 70 61 pan>.<span.class="line">....<spa
c4a40 6e 20 63 6c 61 73 73 3d 22 74 33 32 5f 31 22 3e 5e 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 0a n.class="t32_1">^</span></span>.
c4a60 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 65 72 72 6f 72 3a 20 74 68 65 20 66 6f <span.class="line">error:.the.fo
c4a80 6c 6c 6f 77 69 6e 67 20 74 65 73 74 20 63 6f 6d 6d 61 6e 64 20 63 72 61 73 68 65 64 3a 3c 2f 73 llowing.test.command.crashed:</s
c4aa0 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 2f 68 6f 6d 65 2f 63 69 pan>.<span.class="line">/home/ci
c4ac0 2f 72 65 6c 65 61 73 65 2d 30 2e 31 30 2e 31 2f 6f 75 74 2f 7a 69 67 2d 6c 6f 63 61 6c 2d 63 61 /release-0.10.1/out/zig-local-ca
c4ae0 63 68 65 2f 6f 2f 38 38 36 64 62 64 65 32 63 32 61 32 31 30 37 34 63 36 63 36 64 33 66 66 39 62 che/o/886dbde2c2a21074c6c6d3ff9b
c4b00 38 33 33 33 36 62 2f 74 65 73 74 3c 2f 73 70 61 6e 3e 0a 3c 2f 73 61 6d 70 3e 3c 2f 70 72 65 3e 83336b/test</span>.</samp></pre>
c4b20 3c 2f 66 69 67 75 72 65 3e 0a 20 20 20 20 20 20 3c 70 3e 0a 20 20 20 20 20 20 54 6f 20 74 72 75 </figure>.......<p>.......To.tru
c4b40 6e 63 61 74 65 20 74 68 65 20 73 69 67 6e 69 66 69 63 61 6e 74 20 62 69 74 73 20 6f 66 20 61 20 ncate.the.significant.bits.of.a.
c4b60 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
c4b80 6e 61 74 69 6f 6e 20 74 79 70 65 2c 20 75 73 65 20 3c 61 20 68 72 65 66 3d 22 23 74 72 75 6e 63 nation.type,.use.<a.href="#trunc
c4ba0 61 74 65 22 3e 40 74 72 75 6e 63 61 74 65 3c 2f 61 3e 2e 0a 20 20 20 20 20 20 3c 2f 70 3e 0a 20 ate">@truncate</a>........</p>..
c4bc0 20 20 20 20 20 3c 70 3e 0a 20 20 20 20 20 20 49 66 20 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c .....<p>.......If.<code><span.cl
c4be0 61 73 73 3d 22 6c 69 6e 65 22 3e 54 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 20 69 73 20 3c 63 ass="line">T</span></code>.is.<c
c4c00 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 ode><span.class="line"><span.cla
c4c20 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 63 6f 6d 70 74 69 6d 65 5f 69 6e 74 3c 2f 73 70 61 6e ss="tok-type">comptime_int</span
c4c40 3e 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 2c 0a 20 20 20 20 20 20 74 68 65 6e 20 74 68 69 73 ></span></code>,.......then.this
c4c60 20 69 73 20 73 65 6d 61 6e 74 69 63 61 6c 6c 79 20 65 71 75 69 76 61 6c 65 6e 74 20 74 6f 20 3c .is.semantically.equivalent.to.<
c4c80 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 43 6f 65 a.href="#Type-Coercion">Type.Coe
c4ca0 72 63 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 0a 0a 20 20 rcion</a>........</p>...........
c4cc0 20 20 20 20 3c 68 33 20 69 64 3d 22 69 6e 74 54 6f 45 6e 75 6d 22 3e 3c 61 20 68 72 65 66 3d 22 ....<h3.id="intToEnum"><a.href="
c4ce0 23 74 6f 63 2d 69 6e 74 54 6f 45 6e 75 6d 22 3e 40 69 6e 74 54 6f 45 6e 75 6d 3c 2f 61 3e 20 3c #toc-intToEnum">@intToEnum</a>.<
c4d00 61 20 63 6c 61 73 73 3d 22 68 64 72 22 20 68 72 65 66 3d 22 23 69 6e 74 54 6f 45 6e 75 6d 22 3e a.class="hdr".href="#intToEnum">
c4d20 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
c4d40 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f pan.class="line"><span.class="to
c4d60 6b 2d 62 75 69 6c 74 69 6e 22 3e 40 69 6e 74 54 6f 45 6e 75 6d 3c 2f 73 70 61 6e 3e 28 3c 73 70 k-builtin">@intToEnum</span>(<sp
c4d80 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
c4da0 3e 20 44 65 73 74 54 79 70 65 3a 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 >.DestType:.<span.class="tok-typ
c4dc0 65 22 3e 74 79 70 65 3c 2f 73 70 61 6e 3e 2c 20 69 6e 74 65 67 65 72 3a 20 3c 73 70 61 6e 20 63 e">type</span>,.integer:.<span.c
c4de0 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 61 6e 79 74 79 70 65 3c 2f 73 70 61 6e 3e 29 20 44 65 lass="tok-kw">anytype</span>).De
c4e00 73 74 54 79 70 65 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 3c 2f 70 72 65 3e 0a 20 20 20 20 20 stType</span></code></pre>......
c4e20 20 3c 70 3e 0a 20 20 20 20 20 20 43 6f 6e 76 65 72 74 73 20 61 6e 20 69 6e 74 65 67 65 72 20 69 .<p>.......Converts.an.integer.i
c4e40 6e 74 6f 20 61 6e 20 3c 61 20 68 72 65 66 3d 22 23 65 6e 75 6d 22 3e 65 6e 75 6d 3c 2f 61 3e 20 nto.an.<a.href="#enum">enum</a>.
c4e60 76 61 6c 75 65 2e 0a 20 20 20 20 20 20 3c 2f 70 3e 0a 20 20 20 20 20 20 3c 70 3e 0a 20 20 20 20 value........</p>.......<p>.....
c4e80 20 20 41 74 74 65 6d 70 74 69 6e 67 20 74 6f 20 63 6f 6e 76 65 72 74 20 61 6e 20 69 6e 74 65 67 ..Attempting.to.convert.an.integ
c4ea0 65 72 20 77 68 69 63 68 20 72 65 70 72 65 73 65 6e 74 73 20 6e 6f 20 76 61 6c 75 65 20 69 6e 20 er.which.represents.no.value.in.
c4ec0 74 68 65 20 63 68 6f 73 65 6e 20 65 6e 75 6d 20 74 79 70 65 20 69 6e 76 6f 6b 65 73 0a 20 20 20 the.chosen.enum.type.invokes....
c4ee0 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 55 6e 64 65 ...safety-checked.<a.href="#Unde
c4f00 66 69 6e 65 64 2d 42 65 68 61 76 69 6f 72 22 3e 55 6e 64 65 66 69 6e 65 64 20 42 65 68 61 76 69 fined-Behavior">Undefined.Behavi
c4f20 6f 72 3c 2f 61 3e 2e 0a 20 20 20 20 20 20 3c 2f 70 3e 0a 20 20 20 20 20 20 3c 70 3e 53 65 65 20 or</a>........</p>.......<p>See.
c4f40 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 6e 75 6d also:</p><ul>.<li><a.href="#enum
c4f60 54 6f 49 6e 74 22 3e 40 65 6e 75 6d 54 6f 49 6e 74 3c 2f 61 3e 3c 2f 6c 69 3e 0a 3c 2f 75 6c 3e ToInt">@enumToInt</a></li>.</ul>
c4f80 0a 0a 20 20 20 20 20 20 0a 0a 20 20 20 20 20 20 3c 68 33 20 69 64 3d 22 69 6e 74 54 6f 45 72 72 ................<h3.id="intToErr
c4fa0 6f 72 22 3e 3c 61 20 68 72 65 66 3d 22 23 74 6f 63 2d 69 6e 74 54 6f 45 72 72 6f 72 22 3e 40 69 or"><a.href="#toc-intToError">@i
c4fc0 6e 74 54 6f 45 72 72 6f 72 3c 2f 61 3e 20 3c 61 20 63 6c 61 73 73 3d 22 68 64 72 22 20 68 72 65 ntToError</a>.<a.class="hdr".hre
c4fe0 66 3d 22 23 69 6e 74 54 6f 45 72 72 6f 72 22 3e c2 a7 3c 2f 61 3e 3c 2f 68 33 3e 0a 0a 20 20 20 f="#intToError">..</a></h3>.....
c5000 20 20 20 3c 70 72 65 3e 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 ...<pre><code><span.class="line"
c5020 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 62 75 69 6c 74 69 6e 22 3e 40 69 6e 74 54 ><span.class="tok-builtin">@intT
c5040 6f 45 72 72 6f 72 3c 2f 73 70 61 6e 3e 28 76 61 6c 75 65 3a 20 73 74 64 2e 6d 65 74 61 2e 49 6e oError</span>(value:.std.meta.In
c5060 74 28 2e 75 6e 73 69 67 6e 65 64 2c 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 62 75 t(.unsigned,.<span.class="tok-bu
c5080 69 6c 74 69 6e 22 3e 40 73 69 7a 65 4f 66 3c 2f 73 70 61 6e 3e 28 3c 73 70 61 6e 20 63 6c 61 73 iltin">@sizeOf</span>(<span.clas
c50a0 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 61 6e 79 65 72 72 6f 72 3c 2f 73 70 61 6e 3e 29 20 2a 20 s="tok-type">anyerror</span>).*.
c50c0 3c 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
c50e0 3e 29 29 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 61 6e 79 65 72 >)).<span.class="tok-type">anyer
c5100 72 6f 72 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 3c 2f 70 72 65 3e 0a 20 ror</span></span></code></pre>..
c5120 20 20 20 20 20 3c 70 3e 0a 20 20 20 20 20 20 43 6f 6e 76 65 72 74 73 20 66 72 6f 6d 20 74 68 65 .....<p>.......Converts.from.the
c5140 20 69 6e 74 65 67 65 72 20 72 65 70 72 65 73 65 6e 74 61 74 69 6f 6e 20 6f 66 20 61 6e 20 65 72 .integer.representation.of.an.er
c5160 72 6f 72 20 69 6e 74 6f 20 3c 61 20 68 72 65 66 3d 22 23 54 68 65 2d 47 6c 6f 62 61 6c 2d 45 72 ror.into.<a.href="#The-Global-Er
c5180 72 6f 72 2d 53 65 74 22 3e 54 68 65 20 47 6c 6f 62 61 6c 20 45 72 72 6f 72 20 53 65 74 3c 2f 61 ror-Set">The.Global.Error.Set</a
c51a0 3e 20 74 79 70 65 2e 0a 20 20 20 20 20 20 3c 2f 70 3e 0a 20 20 20 20 20 20 3c 70 3e 0a 20 20 20 >.type........</p>.......<p>....
c51c0 20 20 20 49 74 20 69 73 20 67 65 6e 65 72 61 6c 6c 79 20 72 65 63 6f 6d 6d 65 6e 64 65 64 20 74 ...It.is.generally.recommended.t
c51e0 6f 20 61 76 6f 69 64 20 74 68 69 73 0a 20 20 20 20 20 20 63 61 73 74 2c 20 61 73 20 74 68 65 20 o.avoid.this.......cast,.as.the.
c5200 69 6e 74 65 67 65 72 20 72 65 70 72 65 73 65 6e 74 61 74 69 6f 6e 20 6f 66 20 61 6e 20 65 72 72 integer.representation.of.an.err
c5220 6f 72 20 69 73 20 6e 6f 74 20 73 74 61 62 6c 65 20 61 63 72 6f 73 73 20 73 6f 75 72 63 65 20 63 or.is.not.stable.across.source.c
c5240 6f 64 65 20 63 68 61 6e 67 65 73 2e 0a 20 20 20 20 20 20 3c 2f 70 3e 0a 20 20 20 20 20 20 3c 70 ode.changes........</p>.......<p
c5260 3e 0a 20 20 20 20 20 20 41 74 74 65 6d 70 74 69 6e 67 20 74 6f 20 63 6f 6e 76 65 72 74 20 61 6e >.......Attempting.to.convert.an
c5280 20 69 6e 74 65 67 65 72 20 74 68 61 74 20 64 6f 65 73 20 6e 6f 74 20 63 6f 72 72 65 73 70 6f 6e .integer.that.does.not.correspon
c52a0 64 20 74 6f 20 61 6e 79 20 65 72 72 6f 72 20 72 65 73 75 6c 74 73 20 69 6e 0a 20 20 20 20 20 20 d.to.any.error.results.in.......
c52c0 73 61 66 65 74 79 2d 70 72 6f 74 65 63 74 65 64 20 3c 61 20 68 72 65 66 3d 22 23 55 6e 64 65 66 safety-protected.<a.href="#Undef
c52e0 69 6e 65 64 2d 42 65 68 61 76 69 6f 72 22 3e 55 6e 64 65 66 69 6e 65 64 20 42 65 68 61 76 69 6f ined-Behavior">Undefined.Behavio
c5300 72 3c 2f 61 3e 2e 0a 20 20 20 20 20 20 3c 2f 70 3e 0a 20 20 20 20 20 20 3c 70 3e 53 65 65 20 61 r</a>........</p>.......<p>See.a
c5320 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 72 72 6f 72 lso:</p><ul>.<li><a.href="#error
c5340 54 6f 49 6e 74 22 3e 40 65 72 72 6f 72 54 6f 49 6e 74 3c 2f 61 3e 3c 2f 6c 69 3e 0a 3c 2f 75 6c ToInt">@errorToInt</a></li>.</ul
c5360 3e 0a 0a 20 20 20 20 20 20 0a 0a 20 20 20 20 20 20 3c 68 33 20 69 64 3d 22 69 6e 74 54 6f 46 6c >................<h3.id="intToFl
c5380 6f 61 74 22 3e 3c 61 20 68 72 65 66 3d 22 23 74 6f 63 2d 69 6e 74 54 6f 46 6c 6f 61 74 22 3e 40 oat"><a.href="#toc-intToFloat">@
c53a0 69 6e 74 54 6f 46 6c 6f 61 74 3c 2f 61 3e 20 3c 61 20 63 6c 61 73 73 3d 22 68 64 72 22 20 68 72 intToFloat</a>.<a.class="hdr".hr
c53c0 65 66 3d 22 23 69 6e 74 54 6f 46 6c 6f 61 74 22 3e c2 a7 3c 2f 61 3e 3c 2f 68 33 3e 0a 0a 20 20 ef="#intToFloat">..</a></h3>....
c53e0 20 20 20 20 3c 70 72 65 3e 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 ....<pre><code><span.class="line
c5400 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 62 75 69 6c 74 69 6e 22 3e 40 69 6e 74 "><span.class="tok-builtin">@int
c5420 54 6f 46 6c 6f 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 ToFloat</span>(<span.class="tok-
c5440 6b 77 22 3e 63 6f 6d 70 74 69 6d 65 3c 2f 73 70 61 6e 3e 20 44 65 73 74 54 79 70 65 3a 20 3c 73 kw">comptime</span>.DestType:.<s
c5460 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>
c5480 2c 20 69 6e 74 3a 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 61 6e 79 74 ,.int:.<span.class="tok-kw">anyt
c54a0 79 70 65 3c 2f 73 70 61 6e 3e 29 20 44 65 73 74 54 79 70 65 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 ype</span>).DestType</span></cod
c54c0 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
c54e0 73 20 61 6e 20 69 6e 74 65 67 65 72 20 74 6f 20 74 68 65 20 63 6c 6f 73 65 73 74 20 66 6c 6f 61 s.an.integer.to.the.closest.floa
c5500 74 69 6e 67 20 70 6f 69 6e 74 20 72 65 70 72 65 73 65 6e 74 61 74 69 6f 6e 2e 20 54 6f 20 63 6f ting.point.representation..To.co
c5520 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 66 nvert.the.other.way,.use.<a.href
c5540 3d 22 23 66 6c 6f 61 74 54 6f 49 6e 74 22 3e 40 66 6c 6f 61 74 54 6f 49 6e 74 3c 2f 61 3e 2e 20 ="#floatToInt">@floatToInt</a>..
c5560 54 68 69 73 20 63 61 73 74 20 69 73 20 61 6c 77 61 79 73 20 73 61 66 65 2e 0a 20 20 20 20 20 20 This.cast.is.always.safe........
c5580 3c 2f 70 3e 0a 20 20 20 20 20 20 0a 0a 20 20 20 20 20 20 3c 68 33 20 69 64 3d 22 69 6e 74 54 6f </p>...............<h3.id="intTo
c55a0 50 74 72 22 3e 3c 61 20 68 72 65 66 3d 22 23 74 6f 63 2d 69 6e 74 54 6f 50 74 72 22 3e 40 69 6e Ptr"><a.href="#toc-intToPtr">@in
c55c0 74 54 6f 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 tToPtr</a>.<a.class="hdr".href="
c55e0 23 69 6e 74 54 6f 50 74 72 22 3e c2 a7 3c 2f 61 3e 3c 2f 68 33 3e 0a 0a 20 20 20 20 20 20 3c 70 #intToPtr">..</a></h3>........<p
c5600 72 65 3e 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 re><code><span.class="line"><spa
c5620 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 62 75 69 6c 74 69 6e 22 3e 40 69 6e 74 54 6f 50 74 72 3c n.class="tok-builtin">@intToPtr<
c5640 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
c5660 74 69 6d 65 3c 2f 73 70 61 6e 3e 20 44 65 73 74 54 79 70 65 3a 20 3c 73 70 61 6e 20 63 6c 61 73 time</span>.DestType:.<span.clas
c5680 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 64 64 72 65 73 s="tok-type">type</span>,.addres
c56a0 73 3a 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 75 73 69 7a 65 3c s:.<span.class="tok-type">usize<
c56c0 2f 73 70 61 6e 3e 29 20 44 65 73 74 54 79 70 65 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 3c 2f /span>).DestType</span></code></
c56e0 70 72 65 3e 0a 20 20 20 20 20 20 3c 70 3e 0a 20 20 20 20 20 20 43 6f 6e 76 65 72 74 73 20 61 6e pre>.......<p>.......Converts.an
c5700 20 69 6e 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 .integer.to.a.<a.href="#Pointers
c5720 22 3e 70 6f 69 6e 74 65 72 3c 2f 61 3e 2e 20 54 6f 20 63 6f 6e 76 65 72 74 20 74 68 65 20 6f 74 ">pointer</a>..To.convert.the.ot
c5740 68 65 72 20 77 61 79 2c 20 75 73 65 20 3c 61 20 68 72 65 66 3d 22 23 70 74 72 54 6f 49 6e 74 22 her.way,.use.<a.href="#ptrToInt"
c5760 3e 40 70 74 72 54 6f 49 6e 74 3c 2f 61 3e 2e 20 43 61 73 74 69 6e 67 20 61 6e 20 61 64 64 72 65 >@ptrToInt</a>..Casting.an.addre
c5780 73 73 20 6f 66 20 30 20 74 6f 20 61 20 64 65 73 74 69 6e 61 74 69 6f 6e 20 74 79 70 65 0a 20 20 ss.of.0.to.a.destination.type...
c57a0 20 20 20 20 77 68 69 63 68 20 69 6e 20 6e 6f 74 20 3c 61 20 68 72 65 66 3d 22 23 4f 70 74 69 6f ....which.in.not.<a.href="#Optio
c57c0 6e 61 6c 2d 50 6f 69 6e 74 65 72 73 22 3e 6f 70 74 69 6f 6e 61 6c 3c 2f 61 3e 20 61 6e 64 20 64 nal-Pointers">optional</a>.and.d
c57e0 6f 65 73 20 6e 6f 74 20 68 61 76 65 20 74 68 65 20 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 oes.not.have.the.<code><span.cla
c5800 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 61 ss="line"><span.class="tok-kw">a
c5820 6c 6c 6f 77 7a 65 72 6f 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 20 61 74 llowzero</span></span></code>.at
c5840 74 72 69 62 75 74 65 20 77 69 6c 6c 20 72 65 73 75 6c 74 20 69 6e 20 61 0a 20 20 20 20 20 20 3c tribute.will.result.in.a.......<
c5860 61 20 68 72 65 66 3d 22 23 50 6f 69 6e 74 65 72 2d 43 61 73 74 2d 49 6e 76 61 6c 69 64 2d 4e 75 a.href="#Pointer-Cast-Invalid-Nu
c5880 6c 6c 22 3e 50 6f 69 6e 74 65 72 20 43 61 73 74 20 49 6e 76 61 6c 69 64 20 4e 75 6c 6c 3c 2f 61 ll">Pointer.Cast.Invalid.Null</a
c58a0 3e 20 70 61 6e 69 63 20 77 68 65 6e 20 72 75 6e 74 69 6d 65 20 73 61 66 65 74 79 20 63 68 65 63 >.panic.when.runtime.safety.chec
c58c0 6b 73 20 61 72 65 20 65 6e 61 62 6c 65 64 2e 0a 20 20 20 20 20 20 3c 2f 70 3e 0a 20 20 20 20 20 ks.are.enabled........</p>......
c58e0 20 3c 70 3e 0a 20 20 20 20 20 20 49 66 20 74 68 65 20 64 65 73 74 69 6e 61 74 69 6f 6e 20 70 6f .<p>.......If.the.destination.po
c5900 69 6e 74 65 72 20 74 79 70 65 20 64 6f 65 73 20 6e 6f 74 20 61 6c 6c 6f 77 20 61 64 64 72 65 73 inter.type.does.not.allow.addres
c5920 73 20 7a 65 72 6f 20 61 6e 64 20 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 s.zero.and.<code><span.class="li
c5940 6e 65 22 3e 61 64 64 72 65 73 73 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 0a 20 20 20 20 20 20 ne">address</span></code>.......
c5960 69 73 20 7a 65 72 6f 2c 20 74 68 69 73 20 69 6e 76 6f 6b 65 73 20 73 61 66 65 74 79 2d 63 68 65 is.zero,.this.invokes.safety-che
c5980 63 6b 65 64 20 3c 61 20 68 72 65 66 3d 22 23 55 6e 64 65 66 69 6e 65 64 2d 42 65 68 61 76 69 6f cked.<a.href="#Undefined-Behavio
c59a0 72 22 3e 55 6e 64 65 66 69 6e 65 64 20 42 65 68 61 76 69 6f 72 3c 2f 61 3e 2e 0a 20 20 20 20 20 r">Undefined.Behavior</a>.......
c59c0 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 6d 61 78 22 .</p>...............<h3.id="max"
c59e0 3e 3c 61 20 68 72 65 66 3d 22 23 74 6f 63 2d 6d 61 78 22 3e 40 6d 61 78 3c 2f 61 3e 20 3c 61 20 ><a.href="#toc-max">@max</a>.<a.
c5a00 63 6c 61 73 73 3d 22 68 64 72 22 20 68 72 65 66 3d 22 23 6d 61 78 22 3e c2 a7 3c 2f 61 3e 3c 2f class="hdr".href="#max">..</a></
c5a20 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
c5a40 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 62 75 69 6c 74 69 s="line"><span.class="tok-builti
c5a60 6e 22 3e 40 6d 61 78 3c 2f 73 70 61 6e 3e 28 61 3a 20 54 2c 20 62 3a 20 54 29 20 54 3c 2f 73 70 n">@max</span>(a:.T,.b:.T).T</sp
c5a80 61 6e 3e 3c 2f 63 6f 64 65 3e 3c 2f 70 72 65 3e 0a 20 20 20 20 20 20 3c 70 3e 0a 20 20 20 20 20 an></code></pre>.......<p>......
c5aa0 20 52 65 74 75 72 6e 73 20 74 68 65 20 6d 61 78 69 6d 75 6d 20 76 61 6c 75 65 20 6f 66 20 3c 63 .Returns.the.maximum.value.of.<c
c5ac0 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 61 3c 2f 73 70 61 6e 3e 3c ode><span.class="line">a</span><
c5ae0 2f 63 6f 64 65 3e 20 61 6e 64 20 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 /code>.and.<code><span.class="li
c5b00 6e 65 22 3e 62 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 2e 20 54 68 69 73 20 62 75 69 6c 74 69 ne">b</span></code>..This.builti
c5b20 6e 20 61 63 63 65 70 74 73 20 69 6e 74 65 67 65 72 73 2c 20 66 6c 6f 61 74 73 2c 20 61 6e 64 20 n.accepts.integers,.floats,.and.
c5b40 76 65 63 74 6f 72 73 20 6f 66 20 65 69 74 68 65 72 2e 20 49 6e 20 74 68 65 20 6c 61 74 74 65 72 vectors.of.either..In.the.latter
c5b60 20 63 61 73 65 2c 20 74 68 65 20 6f 70 65 72 61 74 69 6f 6e 20 69 73 20 70 65 72 66 6f 72 6d 65 .case,.the.operation.is.performe
c5b80 64 20 65 6c 65 6d 65 6e 74 20 77 69 73 65 2e 0a 20 20 20 20 20 20 3c 2f 70 3e 0a 20 20 20 20 20 d.element.wise........</p>......
c5ba0 20 3c 70 3e 0a 20 20 20 20 20 20 4e 61 4e 73 20 61 72 65 20 68 61 6e 64 6c 65 64 20 61 73 20 66 .<p>.......NaNs.are.handled.as.f
c5bc0 6f 6c 6c 6f 77 73 3a 20 69 66 20 6f 6e 65 20 6f 66 20 74 68 65 20 6f 70 65 72 61 6e 64 73 20 6f ollows:.if.one.of.the.operands.o
c5be0 66 20 61 20 28 70 61 69 72 77 69 73 65 29 20 6f 70 65 72 61 74 69 6f 6e 20 69 73 20 4e 61 4e 2c f.a.(pairwise).operation.is.NaN,
c5c00 20 74 68 65 20 6f 74 68 65 72 20 6f 70 65 72 61 6e 64 20 69 73 20 72 65 74 75 72 6e 65 64 2e 20 .the.other.operand.is.returned..
c5c20 49 66 20 62 6f 74 68 20 6f 70 65 72 61 6e 64 73 20 61 72 65 20 4e 61 4e 2c 20 4e 61 4e 20 69 73 If.both.operands.are.NaN,.NaN.is
c5c40 20 72 65 74 75 72 6e 65 64 2e 0a 20 20 20 20 20 20 3c 2f 70 3e 0a 20 20 20 20 20 20 3c 70 3e 53 .returned........</p>.......<p>S
c5c60 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
c5c80 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="#
c5ca0 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>.
c5cc0 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"><
c5ce0 61 20 68 72 65 66 3d 22 23 74 6f 63 2d 6d 65 6d 63 70 79 22 3e 40 6d 65 6d 63 70 79 3c 2f 61 3e a.href="#toc-memcpy">@memcpy</a>
c5d00 20 3c 61 20 63 6c 61 73 73 3d 22 68 64 72 22 20 68 72 65 66 3d 22 23 6d 65 6d 63 70 79 22 3e c2 .<a.class="hdr".href="#memcpy">.
c5d20 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
c5d40 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b an.class="line"><span.class="tok
c5d60 2d 62 75 69 6c 74 69 6e 22 3e 40 6d 65 6d 63 70 79 3c 2f 73 70 61 6e 3e 28 3c 73 70 61 6e 20 63 -builtin">@memcpy</span>(<span.c
c5d80 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 64 65 73 lass="tok-kw">noalias</span>.des
c5da0 74 3a 20 5b 2a 5d 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 75 38 3c t:.[*]<span.class="tok-type">u8<
c5dc0 2f 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 6e 6f 61 /span>,.<span.class="tok-kw">noa
c5de0 6c 69 61 73 3c 2f 73 70 61 6e 3e 20 73 6f 75 72 63 65 3a 20 5b 2a 5d 3c 73 70 61 6e 20 63 6c 61 lias</span>.source:.[*]<span.cla
c5e00 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 63 6f 6e 73 74 3c 2f 73 70 61 6e 3e 20 3c 73 70 61 6e 20 63 ss="tok-kw">const</span>.<span.c
c5e20 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 75 38 3c 2f 73 70 61 6e 3e 2c 20 62 79 74 65 5f lass="tok-type">u8</span>,.byte_
c5e40 63 6f 75 6e 74 3a 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 75 73 count:.<span.class="tok-type">us
c5e60 69 7a 65 3c 2f 73 70 61 6e 3e 29 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 3c 2f 70 72 65 3e 0a ize</span>)</span></code></pre>.
c5e80 20 20 20 20 20 20 3c 70 3e 0a 20 20 20 20 20 20 54 68 69 73 20 66 75 6e 63 74 69 6f 6e 20 63 6f ......<p>.......This.function.co
c5ea0 70 69 65 73 20 62 79 74 65 73 20 66 72 6f 6d 20 6f 6e 65 20 72 65 67 69 6f 6e 20 6f 66 20 6d 65 pies.bytes.from.one.region.of.me
c5ec0 6d 6f 72 79 20 74 6f 20 61 6e 6f 74 68 65 72 2e 20 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 mory.to.another..<code><span.cla
c5ee0 73 73 3d 22 6c 69 6e 65 22 3e 64 65 73 74 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 20 61 6e 64 ss="line">dest</span></code>.and
c5f00 0a 20 20 20 20 20 20 20 20 20 20 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 ...........<code><span.class="li
c5f20 6e 65 22 3e 73 6f 75 72 63 65 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 20 61 72 65 20 62 6f 74 ne">source</span></code>.are.bot
c5f40 68 20 70 6f 69 6e 74 65 72 73 20 61 6e 64 20 6d 75 73 74 20 6e 6f 74 20 6f 76 65 72 6c 61 70 2e h.pointers.and.must.not.overlap.
c5f60 0a 20 20 20 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
c5f80 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
c5fa0 69 63 20 77 69 74 68 20 6e 6f 20 73 61 66 65 74 79 20 6d 65 63 68 61 6e 69 73 6d 73 2e 20 4d 6f ic.with.no.safety.mechanisms..Mo
c5fc0 73 74 20 63 6f 64 65 0a 20 20 20 20 20 20 73 68 6f 75 6c 64 20 6e 6f 74 20 75 73 65 20 74 68 69 st.code.......should.not.use.thi
c5fe0 73 20 66 75 6e 63 74 69 6f 6e 2c 20 69 6e 73 74 65 61 64 20 75 73 69 6e 67 20 73 6f 6d 65 74 68 s.function,.instead.using.someth
c6000 69 6e 67 20 6c 69 6b 65 20 74 68 69 73 3a 0a 20 20 20 20 20 20 3c 2f 70 3e 0a 20 20 20 20 20 20 ing.like.this:.......</p>.......
c6020 3c 70 72 65 3e 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 <pre><code><span.class="line"><s
c6040 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 66 6f 72 3c 2f 73 70 61 6e 3e 20 28 73 pan.class="tok-kw">for</span>.(s
c6060 6f 75 72 63 65 5b 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 30 ource[<span.class="tok-number">0
c6080 3c 2f 73 70 61 6e 3e 2e 2e 62 79 74 65 5f 63 6f 75 6e 74 5d 29 20 7c 62 2c 20 69 7c 20 64 65 73 </span>..byte_count]).|b,.i|.des
c60a0 74 5b 69 5d 20 3d 20 62 3b 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 3c 2f 70 72 65 3e 0a 20 20 t[i].=.b;</span></code></pre>...
c60c0 20 20 20 20 3c 70 3e 0a 20 20 20 20 20 20 54 68 65 20 6f 70 74 69 6d 69 7a 65 72 20 69 73 20 69 ....<p>.......The.optimizer.is.i
c60e0 6e 74 65 6c 6c 69 67 65 6e 74 20 65 6e 6f 75 67 68 20 74 6f 20 74 75 72 6e 20 74 68 65 20 61 62 ntelligent.enough.to.turn.the.ab
c6100 6f 76 65 20 73 6e 69 70 70 65 74 20 69 6e 74 6f 20 61 20 6d 65 6d 63 70 79 2e 0a 20 20 20 20 20 ove.snippet.into.a.memcpy.......
c6120 20 3c 2f 70 3e 0a 20 20 20 20 20 20 3c 70 3e 54 68 65 72 65 20 69 73 20 61 6c 73 6f 20 61 20 73 .</p>.......<p>There.is.also.a.s
c6140 74 61 6e 64 61 72 64 20 6c 69 62 72 61 72 79 20 66 75 6e 63 74 69 6f 6e 20 66 6f 72 20 74 68 69 tandard.library.function.for.thi
c6160 73 3a 3c 2f 70 3e 0a 20 20 20 20 20 20 3c 70 72 65 3e 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c s:</p>.......<pre><code><span.cl
c6180 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e ass="line"><span.class="tok-kw">
c61a0 63 6f 6e 73 74 3c 2f 73 70 61 6e 3e 20 6d 65 6d 20 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 const</span>.mem.=.<span.class="
c61c0 74 6f 6b 2d 62 75 69 6c 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
c61e0 6e 20 63 6c 61 73 73 3d 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
c6200 3b 3c 2f 73 70 61 6e 3e 29 2e 6d 65 6d 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 ;</span>).mem;</span>.<span.clas
c6220 73 3d 22 6c 69 6e 65 22 3e 6d 65 6d 2e 63 6f 70 79 28 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 s="line">mem.copy(<span.class="t
c6240 6f 6b 2d 74 79 70 65 22 3e 75 38 3c 2f 73 70 61 6e 3e 2c 20 64 65 73 74 5b 3c 73 70 61 6e 20 63 ok-type">u8</span>,.dest[<span.c
c6260 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 62 79 74 65 lass="tok-number">0</span>..byte
c6280 5f 63 6f 75 6e 74 5d 2c 20 73 6f 75 72 63 65 5b 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b _count],.source[<span.class="tok
c62a0 2d 6e 75 6d 62 65 72 22 3e 30 3c 2f 73 70 61 6e 3e 2e 2e 62 79 74 65 5f 63 6f 75 6e 74 5d 29 3b -number">0</span>..byte_count]);
c62c0 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 3c 2f 70 72 65 3e 0a 20 20 20 20 20 20 0a 0a 20 20 20 </span></code></pre>............
c62e0 20 20 20 3c 68 33 20 69 64 3d 22 6d 65 6d 73 65 74 22 3e 3c 61 20 68 72 65 66 3d 22 23 74 6f 63 ...<h3.id="memset"><a.href="#toc
c6300 2d 6d 65 6d 73 65 74 22 3e 40 6d 65 6d 73 65 74 3c 2f 61 3e 20 3c 61 20 63 6c 61 73 73 3d 22 68 -memset">@memset</a>.<a.class="h
c6320 64 72 22 20 68 72 65 66 3d 22 23 6d 65 6d 73 65 74 22 3e c2 a7 3c 2f 61 3e 3c 2f 68 33 3e 0a 0a dr".href="#memset">..</a></h3>..
c6340 20 20 20 20 20 20 3c 70 72 65 3e 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 ......<pre><code><span.class="li
c6360 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 62 75 69 6c 74 69 6e 22 3e 40 6d ne"><span.class="tok-builtin">@m
c6380 65 6d 73 65 74 3c 2f 73 70 61 6e 3e 28 64 65 73 74 3a 20 5b 2a 5d 3c 73 70 61 6e 20 63 6c 61 73 emset</span>(dest:.[*]<span.clas
c63a0 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 75 38 3c 2f 73 70 61 6e 3e 2c 20 63 3a 20 3c 73 70 61 6e s="tok-type">u8</span>,.c:.<span
c63c0 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 75 38 3c 2f 73 70 61 6e 3e 2c 20 62 79 74 .class="tok-type">u8</span>,.byt
c63e0 65 5f 63 6f 75 6e 74 3a 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e e_count:.<span.class="tok-type">
c6400 75 73 69 7a 65 3c 2f 73 70 61 6e 3e 29 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 3c 2f 70 72 65 usize</span>)</span></code></pre
c6420 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.
c6440 73 65 74 73 20 61 20 72 65 67 69 6f 6e 20 6f 66 20 6d 65 6d 6f 72 79 20 74 6f 20 3c 63 6f 64 65 sets.a.region.of.memory.to.<code
c6460 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 63 3c 2f 73 70 61 6e 3e 3c 2f 63 6f ><span.class="line">c</span></co
c6480 64 65 3e 2e 20 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 64 65 de>..<code><span.class="line">de
c64a0 73 74 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 20 69 73 20 61 20 70 6f 69 6e 74 65 72 2e 0a 20 st</span></code>.is.a.pointer...
c64c0 20 20 20 20 20 3c 2f 70 3e 0a 20 20 20 20 20 20 3c 70 3e 0a 20 20 20 20 20 20 54 68 69 73 20 66 .....</p>.......<p>.......This.f
c64e0 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 69 63 unction.is.a.low.level.intrinsic
c6500 20 77 69 74 68 20 6e 6f 20 73 61 66 65 74 79 20 6d 65 63 68 61 6e 69 73 6d 73 2e 20 4d 6f 73 74 .with.no.safety.mechanisms..Most
c6520 0a 20 20 20 20 20 20 63 6f 64 65 20 73 68 6f 75 6c 64 20 6e 6f 74 20 75 73 65 20 74 68 69 73 20 .......code.should.not.use.this.
c6540 66 75 6e 63 74 69 6f 6e 2c 20 69 6e 73 74 65 61 64 20 75 73 69 6e 67 20 73 6f 6d 65 74 68 69 6e function,.instead.using.somethin
c6560 67 20 6c 69 6b 65 20 74 68 69 73 3a 0a 20 20 20 20 20 20 3c 2f 70 3e 0a 20 20 20 20 20 20 3c 70 g.like.this:.......</p>.......<p
c6580 72 65 3e 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 re><code><span.class="line"><spa
c65a0 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 64 65 73 n.class="tok-kw">for</span>.(des
c65c0 74 5b 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 30 3c 2f 73 70 t[<span.class="tok-number">0</sp
c65e0 61 6e 3e 2e 2e 62 79 74 65 5f 63 6f 75 6e 74 5d 29 20 7c 2a 62 7c 20 62 2e 2a 20 3d 20 63 3b 3c an>..byte_count]).|*b|.b.*.=.c;<
c6600 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>...
c6620 20 20 20 20 54 68 65 20 6f 70 74 69 6d 69 7a 65 72 20 69 73 20 69 6e 74 65 6c 6c 69 67 65 6e 74 ....The.optimizer.is.intelligent
c6640 20 65 6e 6f 75 67 68 20 74 6f 20 74 75 72 6e 20 74 68 65 20 61 62 6f 76 65 20 73 6e 69 70 70 65 .enough.to.turn.the.above.snippe
c6660 74 20 69 6e 74 6f 20 61 20 6d 65 6d 73 65 74 2e 0a 20 20 20 20 20 20 3c 2f 70 3e 0a 20 20 20 20 t.into.a.memset........</p>.....
c6680 20 20 3c 70 3e 54 68 65 72 65 20 69 73 20 61 6c 73 6f 20 61 20 73 74 61 6e 64 61 72 64 20 6c 69 ..<p>There.is.also.a.standard.li
c66a0 62 72 61 72 79 20 66 75 6e 63 74 69 6f 6e 20 66 6f 72 20 74 68 69 73 3a 3c 2f 70 3e 0a 20 20 20 brary.function.for.this:</p>....
c66c0 20 20 20 3c 70 72 65 3e 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 ...<pre><code><span.class="line"
c66e0 3e 3c 73 70 61 6e 20 63 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
c6700 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
c6720 6e 22 3e 40 69 6d 70 6f 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
c6740 6f 6b 2d 73 74 72 22 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>).
c6760 6d 65 6d 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 6d mem;</span>.<span.class="line">m
c6780 65 6d 2e 73 65 74 28 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 75 38 em.set(<span.class="tok-type">u8
c67a0 3c 2f 73 70 61 6e 3e 2c 20 64 65 73 74 2c 20 63 29 3b 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e </span>,.dest,.c);</span></code>
c67c0 3c 2f 70 72 65 3e 0a 20 20 20 20 20 20 0a 0a 20 20 20 20 20 20 3c 68 33 20 69 64 3d 22 6d 69 6e </pre>...............<h3.id="min
c67e0 22 3e 3c 61 20 68 72 65 66 3d 22 23 74 6f 63 2d 6d 69 6e 22 3e 40 6d 69 6e 3c 2f 61 3e 20 3c 61 "><a.href="#toc-min">@min</a>.<a
c6800 20 63 6c 61 73 73 3d 22 68 64 72 22 20 68 72 65 66 3d 22 23 6d 69 6e 22 3e c2 a7 3c 2f 61 3e 3c .class="hdr".href="#min">..</a><
c6820 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
c6840 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 62 75 69 6c 74 ss="line"><span.class="tok-built
c6860 69 6e 22 3e 40 6d 69 6e 3c 2f 73 70 61 6e 3e 28 61 3a 20 54 2c 20 62 3a 20 54 29 20 54 3c 2f 73 in">@min</span>(a:.T,.b:.T).T</s
c6880 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>.....
c68a0 20 20 52 65 74 75 72 6e 73 20 74 68 65 20 6d 69 6e 69 6d 75 6d 20 76 61 6c 75 65 20 6f 66 20 3c ..Returns.the.minimum.value.of.<
c68c0 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 61 3c 2f 73 70 61 6e 3e code><span.class="line">a</span>
c68e0 3c 2f 63 6f 64 65 3e 20 61 6e 64 20 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c </code>.and.<code><span.class="l
c6900 69 6e 65 22 3e 62 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 2e 20 54 68 69 73 20 62 75 69 6c 74 ine">b</span></code>..This.built
c6920 69 6e 20 61 63 63 65 70 74 73 20 69 6e 74 65 67 65 72 73 2c 20 66 6c 6f 61 74 73 2c 20 61 6e 64 in.accepts.integers,.floats,.and
c6940 20 76 65 63 74 6f 72 73 20 6f 66 20 65 69 74 68 65 72 2e 20 49 6e 20 74 68 65 20 6c 61 74 74 65 .vectors.of.either..In.the.latte
c6960 72 20 63 61 73 65 2c 20 74 68 65 20 6f 70 65 72 61 74 69 6f 6e 20 69 73 20 70 65 72 66 6f 72 6d r.case,.the.operation.is.perform
c6980 65 64 20 65 6c 65 6d 65 6e 74 20 77 69 73 65 2e 0a 20 20 20 20 20 20 3c 2f 70 3e 0a 20 20 20 20 ed.element.wise........</p>.....
c69a0 20 20 3c 70 3e 0a 20 20 20 20 20 20 4e 61 4e 73 20 61 72 65 20 68 61 6e 64 6c 65 64 20 61 73 20 ..<p>.......NaNs.are.handled.as.
c69c0 66 6f 6c 6c 6f 77 73 3a 20 69 66 20 6f 6e 65 20 6f 66 20 74 68 65 20 6f 70 65 72 61 6e 64 73 20 follows:.if.one.of.the.operands.
c69e0 6f 66 20 61 20 28 70 61 69 72 77 69 73 65 29 20 6f 70 65 72 61 74 69 6f 6e 20 69 73 20 4e 61 4e of.a.(pairwise).operation.is.NaN
c6a00 2c 20 74 68 65 20 6f 74 68 65 72 20 6f 70 65 72 61 6e 64 20 69 73 20 72 65 74 75 72 6e 65 64 2e ,.the.other.operand.is.returned.
c6a20 20 49 66 20 62 6f 74 68 20 6f 70 65 72 61 6e 64 73 20 61 72 65 20 4e 61 4e 2c 20 4e 61 4e 20 69 .If.both.operands.are.NaN,.NaN.i
c6a40 73 20 72 65 74 75 72 6e 65 64 2e 0a 20 20 20 20 20 20 3c 2f 70 3e 0a 20 20 20 20 20 20 3c 70 3e s.returned........</p>.......<p>
c6a60 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="#
c6a80 6d 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 max">@max</a></li>.<li><a.href="
c6aa0 23 56 65 63 74 6f 72 73 22 3e 56 65 63 74 6f 72 73 3c 2f 61 3e 3c 2f 6c 69 3e 0a 3c 2f 75 6c 3e #Vectors">Vectors</a></li>.</ul>
c6ac0 0a 0a 20 20 20 20 20 20 0a 0a 20 20 20 20 20 20 3c 68 33 20 69 64 3d 22 77 61 73 6d 4d 65 6d 6f ................<h3.id="wasmMemo
c6ae0 72 79 53 69 7a 65 22 3e 3c 61 20 68 72 65 66 3d 22 23 74 6f 63 2d 77 61 73 6d 4d 65 6d 6f 72 79 rySize"><a.href="#toc-wasmMemory
c6b00 53 69 7a 65 22 3e 40 77 61 73 6d 4d 65 6d 6f 72 79 53 69 7a 65 3c 2f 61 3e 20 3c 61 20 63 6c 61 Size">@wasmMemorySize</a>.<a.cla
c6b20 73 73 3d 22 68 64 72 22 20 68 72 65 66 3d 22 23 77 61 73 6d 4d 65 6d 6f 72 79 53 69 7a 65 22 3e ss="hdr".href="#wasmMemorySize">
c6b40 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
c6b60 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f pan.class="line"><span.class="to
c6b80 6b 2d 62 75 69 6c 74 69 6e 22 3e 40 77 61 73 6d 4d 65 6d 6f 72 79 53 69 7a 65 3c 2f 73 70 61 6e k-builtin">@wasmMemorySize</span
c6ba0 3e 28 69 6e 64 65 78 3a 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e >(index:.<span.class="tok-type">
c6bc0 75 33 32 3c 2f 73 70 61 6e 3e 29 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 u32</span>).<span.class="tok-typ
c6be0 65 22 3e 75 33 32 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 3c 2f 70 72 65 e">u32</span></span></code></pre
c6c00 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.
c6c20 72 65 74 75 72 6e 73 20 74 68 65 20 73 69 7a 65 20 6f 66 20 74 68 65 20 57 61 73 6d 20 6d 65 6d returns.the.size.of.the.Wasm.mem
c6c40 6f 72 79 20 69 64 65 6e 74 69 66 69 65 64 20 62 79 20 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c ory.identified.by.<code><span.cl
c6c60 61 73 73 3d 22 6c 69 6e 65 22 3e 69 6e 64 65 78 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 20 61 ass="line">index</span></code>.a
c6c80 73 0a 20 20 20 20 20 20 61 6e 20 75 6e 73 69 67 6e 65 64 20 76 61 6c 75 65 20 69 6e 20 75 6e 69 s.......an.unsigned.value.in.uni
c6ca0 74 73 20 6f 66 20 57 61 73 6d 20 70 61 67 65 73 2e 20 4e 6f 74 65 20 74 68 61 74 20 65 61 63 68 ts.of.Wasm.pages..Note.that.each
c6cc0 20 57 61 73 6d 20 70 61 67 65 20 69 73 20 36 34 4b 42 20 69 6e 20 73 69 7a 65 2e 0a 20 20 20 20 .Wasm.page.is.64KB.in.size......
c6ce0 20 20 3c 2f 70 3e 0a 20 20 20 20 20 20 3c 70 3e 0a 20 20 20 20 20 20 54 68 69 73 20 66 75 6e 63 ..</p>.......<p>.......This.func
c6d00 74 69 6f 6e 20 69 73 20 61 20 6c 6f 77 20 6c 65 76 65 6c 20 69 6e 74 72 69 6e 73 69 63 20 77 69 tion.is.a.low.level.intrinsic.wi
c6d20 74 68 20 6e 6f 20 73 61 66 65 74 79 20 6d 65 63 68 61 6e 69 73 6d 73 20 75 73 75 61 6c 6c 79 20 th.no.safety.mechanisms.usually.
c6d40 75 73 65 66 75 6c 20 66 6f 72 20 61 6c 6c 6f 63 61 74 6f 72 0a 20 20 20 20 20 20 64 65 73 69 67 useful.for.allocator.......desig
c6d60 6e 65 72 73 20 74 61 72 67 65 74 69 6e 67 20 57 61 73 6d 2e 20 53 6f 20 75 6e 6c 65 73 73 20 79 ners.targeting.Wasm..So.unless.y
c6d80 6f 75 20 61 72 65 20 77 72 69 74 69 6e 67 20 61 20 6e 65 77 20 61 6c 6c 6f 63 61 74 6f 72 20 66 ou.are.writing.a.new.allocator.f
c6da0 72 6f 6d 20 73 63 72 61 74 63 68 2c 20 79 6f 75 20 73 68 6f 75 6c 64 20 75 73 65 0a 20 20 20 20 rom.scratch,.you.should.use.....
c6dc0 20 20 73 6f 6d 65 74 68 69 6e 67 20 6c 69 6b 65 20 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 ..something.like.<code><span.cla
c6de0 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 62 75 69 6c 74 ss="line"><span.class="tok-built
c6e00 69 6e 22 3e 40 69 6d 70 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="
c6e20 74 6f 6b 2d 73 74 72 22 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>)
c6e40 2e 68 65 61 70 2e 57 61 73 6d 50 61 67 65 41 6c 6c 6f 63 61 74 6f 72 3c 2f 73 70 61 6e 3e 3c 2f .heap.WasmPageAllocator</span></
c6e60 63 6f 64 65 3e 2e 0a 20 20 20 20 20 20 3c 2f 70 3e 0a 20 20 20 20 20 20 3c 70 3e 53 65 65 20 61 code>........</p>.......<p>See.a
c6e80 6c 73 6f 3a 3c 2f 70 3e 3c 75 6c 3e 0a 3c 6c 69 3e 3c 61 20 68 72 65 66 3d 22 23 77 61 73 6d 4d lso:</p><ul>.<li><a.href="#wasmM
c6ea0 65 6d 6f 72 79 47 72 6f 77 22 3e 40 77 61 73 6d 4d 65 6d 6f 72 79 47 72 6f 77 3c 2f 61 3e 3c 2f emoryGrow">@wasmMemoryGrow</a></
c6ec0 6c 69 3e 0a 3c 2f 75 6c 3e 0a 0a 20 20 20 20 20 20 0a 0a 20 20 20 20 20 20 3c 68 33 20 69 64 3d li>.</ul>................<h3.id=
c6ee0 22 77 61 73 6d 4d 65 6d 6f 72 79 47 72 6f 77 22 3e 3c 61 20 68 72 65 66 3d 22 23 74 6f 63 2d 77 "wasmMemoryGrow"><a.href="#toc-w
c6f00 61 73 6d 4d 65 6d 6f 72 79 47 72 6f 77 22 3e 40 77 61 73 6d 4d 65 6d 6f 72 79 47 72 6f 77 3c 2f asmMemoryGrow">@wasmMemoryGrow</
c6f20 61 3e 20 3c 61 20 63 6c 61 73 73 3d 22 68 64 72 22 20 68 72 65 66 3d 22 23 77 61 73 6d 4d 65 6d a>.<a.class="hdr".href="#wasmMem
c6f40 6f 72 79 47 72 6f 77 22 3e c2 a7 3c 2f 61 3e 3c 2f 68 33 3e 0a 0a 20 20 20 20 20 20 3c 70 72 65 oryGrow">..</a></h3>........<pre
c6f60 3e 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 ><code><span.class="line"><span.
c6f80 63 6c 61 73 73 3d 22 74 6f 6b 2d 62 75 69 6c 74 69 6e 22 3e 40 77 61 73 6d 4d 65 6d 6f 72 79 47 class="tok-builtin">@wasmMemoryG
c6fa0 72 6f 77 3c 2f 73 70 61 6e 3e 28 69 6e 64 65 78 3a 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 row</span>(index:.<span.class="t
c6fc0 6f 6b 2d 74 79 70 65 22 3e 75 33 32 3c 2f 73 70 61 6e 3e 2c 20 64 65 6c 74 61 3a 20 3c 73 70 61 ok-type">u32</span>,.delta:.<spa
c6fe0 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 75 33 32 3c 2f 73 70 61 6e 3e 29 20 3c n.class="tok-type">u32</span>).<
c7000 73 70 61 6e 20 63 6c 61 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>
c7020 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 3c 2f 70 72 65 3e 0a 20 20 20 20 20 20 3c 70 3e 0a 20 </span></code></pre>.......<p>..
c7040 20 20 20 20 20 54 68 69 73 20 66 75 6e 63 74 69 6f 6e 20 69 6e 63 72 65 61 73 65 73 20 74 68 65 .....This.function.increases.the
c7060 20 73 69 7a 65 20 6f 66 20 74 68 65 20 57 61 73 6d 20 6d 65 6d 6f 72 79 20 69 64 65 6e 74 69 66 .size.of.the.Wasm.memory.identif
c7080 69 65 64 20 62 79 20 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e ied.by.<code><span.class="line">
c70a0 69 6e 64 65 78 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 20 62 79 0a 20 20 20 20 20 20 3c 63 6f index</span></code>.by.......<co
c70c0 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 64 65 6c 74 61 3c 2f 73 70 61 de><span.class="line">delta</spa
c70e0 6e 3e 3c 2f 63 6f 64 65 3e 20 69 6e 20 75 6e 69 74 73 20 6f 66 20 75 6e 73 69 67 6e 65 64 20 6e n></code>.in.units.of.unsigned.n
c7100 75 6d 62 65 72 20 6f 66 20 57 61 73 6d 20 70 61 67 65 73 2e 20 4e 6f 74 65 20 74 68 61 74 20 65 umber.of.Wasm.pages..Note.that.e
c7120 61 63 68 20 57 61 73 6d 20 70 61 67 65 0a 20 20 20 20 20 20 69 73 20 36 34 4b 42 20 69 6e 20 73 ach.Wasm.page.......is.64KB.in.s
c7140 69 7a 65 2e 20 4f 6e 20 73 75 63 63 65 73 73 2c 20 72 65 74 75 72 6e 73 20 70 72 65 76 69 6f 75 ize..On.success,.returns.previou
c7160 73 20 6d 65 6d 6f 72 79 20 73 69 7a 65 3b 20 6f 6e 20 66 61 69 6c 75 72 65 2c 20 69 66 20 74 68 s.memory.size;.on.failure,.if.th
c7180 65 20 61 6c 6c 6f 63 61 74 69 6f 6e 20 66 61 69 6c 73 2c 0a 20 20 20 20 20 20 72 65 74 75 72 6e e.allocation.fails,.......return
c71a0 73 20 2d 31 2e 0a 20 20 20 20 20 20 3c 2f 70 3e 0a 20 20 20 20 20 20 3c 70 3e 0a 20 20 20 20 20 s.-1........</p>.......<p>......
c71c0 20 54 68 69 73 20 66 75 6e 63 74 69 6f 6e 20 69 73 20 61 20 6c 6f 77 20 6c 65 76 65 6c 20 69 6e .This.function.is.a.low.level.in
c71e0 74 72 69 6e 73 69 63 20 77 69 74 68 20 6e 6f 20 73 61 66 65 74 79 20 6d 65 63 68 61 6e 69 73 6d trinsic.with.no.safety.mechanism
c7200 73 20 75 73 75 61 6c 6c 79 20 75 73 65 66 75 6c 20 66 6f 72 20 61 6c 6c 6f 63 61 74 6f 72 0a 20 s.usually.useful.for.allocator..
c7220 20 20 20 20 20 64 65 73 69 67 6e 65 72 73 20 74 61 72 67 65 74 69 6e 67 20 57 61 73 6d 2e 20 53 .....designers.targeting.Wasm..S
c7240 6f 20 75 6e 6c 65 73 73 20 79 6f 75 20 61 72 65 20 77 72 69 74 69 6e 67 20 61 20 6e 65 77 20 61 o.unless.you.are.writing.a.new.a
c7260 6c 6c 6f 63 61 74 6f 72 20 66 72 6f 6d 20 73 63 72 61 74 63 68 2c 20 79 6f 75 20 73 68 6f 75 6c llocator.from.scratch,.you.shoul
c7280 64 20 75 73 65 0a 20 20 20 20 20 20 73 6f 6d 65 74 68 69 6e 67 20 6c 69 6b 65 20 3c 63 6f 64 65 d.use.......something.like.<code
c72a0 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d ><span.class="line"><span.class=
c72c0 22 74 6f 6b 2d 62 75 69 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
c72e0 61 6e 20 63 6c 61 73 73 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
c7300 74 3b 3c 2f 73 70 61 6e 3e 29 2e 68 65 61 70 2e 57 61 73 6d 50 61 67 65 41 6c 6c 6f 63 61 74 6f t;</span>).heap.WasmPageAllocato
c7320 72 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 2e 0a 20 20 20 20 20 20 3c 2f 70 3e 0a 20 20 20 20 r</span></code>........</p>.....
c7340 20 20 3c 66 69 67 75 72 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
c7360 2d 63 61 70 22 3e 3c 63 69 74 65 20 63 6c 61 73 73 3d 22 66 69 6c 65 22 3e 77 61 73 6d 4d 65 6d -cap"><cite.class="file">wasmMem
c7380 6f 72 79 47 72 6f 77 2e 7a 69 67 3c 2f 63 69 74 65 3e 3c 2f 66 69 67 63 61 70 74 69 6f 6e 3e 3c oryGrow.zig</cite></figcaption><
c73a0 70 72 65 3e 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 pre><code><span.class="line"><sp
c73c0 61 6e 20 63 6c 61 73 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
c73e0 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">@
c7400 69 6d 70 6f 72 74 3c 2f 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
c7420 74 72 22 3e 26 71 75 6f 74 3b 73 74 64 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 29 3b 3c 2f 73 70 tr">&quot;std&quot;</span>);</sp
c7440 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 an>.<span.class="line"><span.cla
c7460 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 63 6f 6e 73 74 3c 2f 73 70 61 6e 3e 20 6e 61 74 69 76 65 5f ss="tok-kw">const</span>.native_
c7480 61 72 63 68 20 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 62 75 69 6c 74 69 6e 22 arch.=.<span.class="tok-builtin"
c74a0 3e 40 69 6d 70 6f 72 74 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
c74c0 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>
c74e0 29 2e 74 61 72 67 65 74 2e 63 70 75 2e 61 72 63 68 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 ).target.cpu.arch;</span>.<span.
c7500 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 class="line"><span.class="tok-kw
c7520 22 3e 63 6f 6e 73 74 3c 2f 73 70 61 6e 3e 20 65 78 70 65 63 74 20 3d 20 73 74 64 2e 74 65 73 74 ">const</span>.expect.=.std.test
c7540 69 6e 67 2e 65 78 70 65 63 74 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 ing.expect;</span>.<span.class="
c7560 6c 69 6e 65 22 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 line"></span>.<span.class="line"
c7580 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
c75a0 3e 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 73 74 72 22 3e 26 71 75 6f 74 3b 40 77 >.<span.class="tok-str">&quot;@w
c75c0 61 73 6d 4d 65 6d 6f 72 79 47 72 6f 77 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 20 7b 3c 2f 73 70 asmMemoryGrow&quot;</span>.{</sp
c75e0 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 3c 73 70 61 6e an>.<span.class="line">....<span
c7600 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 69 66 3c 2f 73 70 61 6e 3e 20 28 6e 61 74 69 76 .class="tok-kw">if</span>.(nativ
c7620 65 5f 61 72 63 68 20 21 3d 20 2e 77 61 73 6d 33 32 29 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 e_arch.!=..wasm32).<span.class="
c7640 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
c7660 73 3d 22 74 6f 6b 2d 6b 77 22 3e 65 72 72 6f 72 3c 2f 73 70 61 6e 3e 2e 53 6b 69 70 5a 69 67 54 s="tok-kw">error</span>.SkipZigT
c7680 65 73 74 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c est;</span>.<span.class="line"><
c76a0 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 3c 73 /span>.<span.class="line">....<s
c76c0 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 76 61 72 3c 2f 73 70 61 6e 3e 20 70 72 pan.class="tok-kw">var</span>.pr
c76e0 65 76 20 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 62 75 69 6c 74 69 6e 22 3e 40 ev.=.<span.class="tok-builtin">@
c7700 77 61 73 6d 4d 65 6d 6f 72 79 53 69 7a 65 3c 2f 73 70 61 6e 3e 28 3c 73 70 61 6e 20 63 6c 61 73 wasmMemorySize</span>(<span.clas
c7720 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 30 3c 2f 73 70 61 6e 3e 29 3b 3c 2f 73 70 61 6e 3e s="tok-number">0</span>);</span>
c7740 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 3c 73 70 61 6e 20 63 6c .<span.class="line">....<span.cl
c7760 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 74 72 79 3c 2f 73 70 61 6e 3e 20 65 78 70 65 63 74 28 70 ass="tok-kw">try</span>.expect(p
c7780 72 65 76 20 3d 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 62 75 69 6c 74 69 6e 22 rev.==.<span.class="tok-builtin"
c77a0 3e 40 77 61 73 6d 4d 65 6d 6f 72 79 47 72 6f 77 3c 2f 73 70 61 6e 3e 28 3c 73 70 61 6e 20 63 6c >@wasmMemoryGrow</span>(<span.cl
c77c0 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 30 3c 2f 73 70 61 6e 3e 2c 20 3c 73 70 61 6e ass="tok-number">0</span>,.<span
c77e0 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 31 3c 2f 73 70 61 6e 3e 29 29 3b 3c .class="tok-number">1</span>));<
c7800 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 3c 73 /span>.<span.class="line">....<s
c7820 70 61 6e 20 63 6c 61 73 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
c7840 70 65 63 74 28 70 72 65 76 20 2b 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d pect(prev.+.<span.class="tok-num
c7860 62 65 72 22 3e 31 3c 2f 73 70 61 6e 3e 20 3d 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f ber">1</span>.==.<span.class="to
c7880 6b 2d 62 75 69 6c 74 69 6e 22 3e 40 77 61 73 6d 4d 65 6d 6f 72 79 53 69 7a 65 3c 2f 73 70 61 6e k-builtin">@wasmMemorySize</span
c78a0 3e 28 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 30 3c 2f 73 70 >(<span.class="tok-number">0</sp
c78c0 61 6e 3e 29 29 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 an>));</span>.<span.class="line"
c78e0 3e 7d 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 3c 2f 70 72 65 3e 3c 2f 66 69 67 75 72 65 3e 3c >}</span></code></pre></figure><
c7900 66 69 67 75 72 65 3e 3c 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-
c7920 63 61 70 22 3e 53 68 65 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
c7940 70 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 24 20 3c 6b 62 64 3e 7a 69 67 20 p><span.class="line">$.<kbd>zig.
c7960 74 65 73 74 20 77 61 73 6d 4d 65 6d 6f 72 79 47 72 6f 77 2e 7a 69 67 3c 2f 6b 62 64 3e 3c 2f 73 test.wasmMemoryGrow.zig</kbd></s
c7980 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 31 2f 31 20 74 65 73 74 pan>.<span.class="line">1/1.test
c79a0 2e 40 77 61 73 6d 4d 65 6d 6f 72 79 47 72 6f 77 2e 2e 2e 20 53 4b 49 50 3c 2f 73 70 61 6e 3e 0a .@wasmMemoryGrow....SKIP</span>.
c79c0 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 30 20 70 61 73 73 65 64 3b 20 31 20 73 <span.class="line">0.passed;.1.s
c79e0 6b 69 70 70 65 64 3b 20 30 20 66 61 69 6c 65 64 2e 3c 2f 73 70 61 6e 3e 0a 3c 2f 73 61 6d 70 3e kipped;.0.failed.</span>.</samp>
c7a00 3c 2f 70 72 65 3e 3c 2f 66 69 67 75 72 65 3e 0a 20 20 20 20 20 20 3c 70 3e 53 65 65 20 61 6c 73 </pre></figure>.......<p>See.als
c7a20 6f 3a 3c 2f 70 3e 3c 75 6c 3e 0a 3c 6c 69 3e 3c 61 20 68 72 65 66 3d 22 23 77 61 73 6d 4d 65 6d o:</p><ul>.<li><a.href="#wasmMem
c7a40 6f 72 79 53 69 7a 65 22 3e 40 77 61 73 6d 4d 65 6d 6f 72 79 53 69 7a 65 3c 2f 61 3e 3c 2f 6c 69 orySize">@wasmMemorySize</a></li
c7a60 3e 0a 3c 2f 75 6c 3e 0a 0a 20 20 20 20 20 20 0a 0a 20 20 20 20 20 20 3c 68 33 20 69 64 3d 22 6d >.</ul>................<h3.id="m
c7a80 6f 64 22 3e 3c 61 20 68 72 65 66 3d 22 23 74 6f 63 2d 6d 6f 64 22 3e 40 6d 6f 64 3c 2f 61 3e 20 od"><a.href="#toc-mod">@mod</a>.
c7aa0 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 3e c2 a7 3c 2f 61 <a.class="hdr".href="#mod">..</a
c7ac0 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
c7ae0 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 62 75 69 lass="line"><span.class="tok-bui
c7b00 6c 74 69 6e 22 3e 40 6d 6f 64 3c 2f 73 70 61 6e 3e 28 6e 75 6d 65 72 61 74 6f 72 3a 20 54 2c 20 ltin">@mod</span>(numerator:.T,.
c7b20 64 65 6e 6f 6d 69 6e 61 74 6f 72 3a 20 54 29 20 54 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 3c denominator:.T).T</span></code><
c7b40 2f 70 72 65 3e 0a 20 20 20 20 20 20 3c 70 3e 0a 20 20 20 20 20 20 4d 6f 64 75 6c 75 73 20 64 69 /pre>.......<p>.......Modulus.di
c7b60 76 69 73 69 6f 6e 2e 20 46 6f 72 20 75 6e 73 69 67 6e 65 64 20 69 6e 74 65 67 65 72 73 20 74 68 vision..For.unsigned.integers.th
c7b80 69 73 20 69 73 20 74 68 65 20 73 61 6d 65 20 61 73 0a 20 20 20 20 20 20 3c 63 6f 64 65 3e 3c 73 is.is.the.same.as.......<code><s
c7ba0 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 6e 75 6d 65 72 61 74 6f 72 20 25 20 64 65 6e pan.class="line">numerator.%.den
c7bc0 6f 6d 69 6e 61 74 6f 72 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 2e 20 43 61 6c 6c 65 72 20 67 ominator</span></code>..Caller.g
c7be0 75 61 72 61 6e 74 65 65 73 20 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e uarantees.<code><span.class="lin
c7c00 65 22 3e 64 65 6e 6f 6d 69 6e 61 74 6f 72 20 26 67 74 3b 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d e">denominator.&gt;.<span.class=
c7c20 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 30 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 3c 2f 63 6f "tok-number">0</span></span></co
c7c40 64 65 3e 2c 20 6f 74 68 65 72 77 69 73 65 20 74 68 65 0a 20 20 20 20 20 20 6f 70 65 72 61 74 69 de>,.otherwise.the.......operati
c7c60 6f 6e 20 77 69 6c 6c 20 72 65 73 75 6c 74 20 69 6e 20 61 20 3c 61 20 68 72 65 66 3d 22 23 52 65 on.will.result.in.a.<a.href="#Re
c7c80 6d 61 69 6e 64 65 72 2d 44 69 76 69 73 69 6f 6e 2d 62 79 2d 5a 65 72 6f 22 3e 52 65 6d 61 69 6e mainder-Division-by-Zero">Remain
c7ca0 64 65 72 20 44 69 76 69 73 69 6f 6e 20 62 79 20 5a 65 72 6f 3c 2f 61 3e 20 77 68 65 6e 20 72 75 der.Division.by.Zero</a>.when.ru
c7cc0 6e 74 69 6d 65 20 73 61 66 65 74 79 20 63 68 65 63 6b 73 20 61 72 65 20 65 6e 61 62 6c 65 64 2e ntime.safety.checks.are.enabled.
c7ce0 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>..........
c7d00 20 3c 6c 69 3e 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 .<li><code><span.class="line"><s
c7d20 70 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 70 pan.class="tok-builtin">@mod</sp
c7d40 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 3e 35 3c an>(-<span.class="tok-number">5<
c7d60 2f 73 70 61 6e 3e 2c 20 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"
c7d80 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 6b 2d 6e >3</span>).==.<span.class="tok-n
c7da0 75 6d 62 65 72 22 3e 31 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 3c 2f 6c umber">1</span></span></code></l
c7dc0 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
c7de0 73 73 3d 22 6c 69 6e 65 22 3e 28 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 62 75 69 6c ss="line">(<span.class="tok-buil
c7e00 74 69 6e 22 3e 40 64 69 76 46 6c 6f 6f 72 3c 2f 73 70 61 6e 3e 28 61 2c 20 62 29 20 2a 20 62 29 tin">@divFloor</span>(a,.b).*.b)
c7e20 20 2b 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 62 75 69 6c 74 69 6e 22 3e 40 6d 6f .+.<span.class="tok-builtin">@mo
c7e40 64 3c 2f 73 70 61 6e 3e 28 61 2c 20 62 29 20 3d 3d 20 61 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 d</span>(a,.b).==.a</span></code
c7e60 3e 3c 2f 6c 69 3e 0a 20 20 20 20 20 20 3c 2f 75 6c 3e 0a 20 20 20 20 20 20 3c 70 3e 46 6f 72 20 ></li>.......</ul>.......<p>For.
c7e80 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
c7ea0 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 6c 69 .code,.see.<code><span.class="li
c7ec0 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 62 75 69 6c 74 69 6e 22 3e 40 69 ne"><span.class="tok-builtin">@i
c7ee0 6d 70 6f 72 74 3c 2f 73 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
c7f00 72 22 3e 26 71 75 6f 74 3b 73 74 64 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 29 2e 6d 61 74 68 2e r">&quot;std&quot;</span>).math.
c7f20 6d 6f 64 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 2e 3c 2f 70 3e 0a 20 20 20 20 20 20 3c 70 3e mod</span></code>.</p>.......<p>
c7f40 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="#
c7f60 72 65 6d 22 3e 40 72 65 6d 3c 2f 61 3e 3c 2f 6c 69 3e 0a 3c 2f 75 6c 3e 0a 0a 20 20 20 20 20 20 rem">@rem</a></li>.</ul>........
c7f80 0a 0a 20 20 20 20 20 20 3c 68 33 20 69 64 3d 22 6d 75 6c 57 69 74 68 4f 76 65 72 66 6c 6f 77 22 ........<h3.id="mulWithOverflow"
c7fa0 3e 3c 61 20 68 72 65 66 3d 22 23 74 6f 63 2d 6d 75 6c 57 69 74 68 4f 76 65 72 66 6c 6f 77 22 3e ><a.href="#toc-mulWithOverflow">
c7fc0 40 6d 75 6c 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 @mulWithOverflow</a>.<a.class="h
c7fe0 64 72 22 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 c2 a7 3c 2f dr".href="#mulWithOverflow">..</
c8000 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.
c8020 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 62 75 class="line"><span.class="tok-bu
c8040 69 6c 74 69 6e 22 3e 40 6d 75 6c 57 69 74 68 4f 76 65 72 66 6c 6f 77 3c 2f 73 70 61 6e 3e 28 3c iltin">@mulWithOverflow</span>(<
c8060 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
c8080 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
c80a0 70 65 3c 2f 73 70 61 6e 3e 2c 20 61 3a 20 54 2c 20 62 3a 20 54 2c 20 72 65 73 75 6c 74 3a 20 2a pe</span>,.a:.T,.b:.T,.result:.*
c80c0 54 29 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 62 6f 6f 6c 3c 2f T).<span.class="tok-type">bool</
c80e0 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 3c 2f 70 72 65 3e 0a 20 20 20 20 20 20 span></span></code></pre>.......
c8100 3c 70 3e 0a 20 20 20 20 20 20 50 65 72 66 6f 72 6d 73 20 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 <p>.......Performs.<code><span.c
c8120 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 72 65 73 75 6c 74 2e 2a 20 3d 20 61 20 2a 20 62 3c 2f 73 70 lass="line">result.*.=.a.*.b</sp
c8140 61 6e 3e 3c 2f 63 6f 64 65 3e 2e 20 49 66 20 6f 76 65 72 66 6c 6f 77 20 6f 72 20 75 6e 64 65 72 an></code>..If.overflow.or.under
c8160 66 6c 6f 77 20 6f 63 63 75 72 73 2c 0a 20 20 20 20 20 20 20 20 20 20 73 74 6f 72 65 73 20 74 68 flow.occurs,...........stores.th
c8180 65 20 6f 76 65 72 66 6c 6f 77 65 64 20 62 69 74 73 20 69 6e 20 3c 63 6f 64 65 3e 3c 73 70 61 6e e.overflowed.bits.in.<code><span
c81a0 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 72 65 73 75 6c 74 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 .class="line">result</span></cod
c81c0 65 3e 20 61 6e 64 20 72 65 74 75 72 6e 73 20 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 e>.and.returns.<code><span.class
c81e0 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6c 6c 22 3e 74 ="line"><span.class="tok-null">t
c8200 72 75 65 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 2e 0a 20 20 20 20 20 20 rue</span></span></code>........
c8220 20 20 20 20 20 20 20 20 20 20 20 20 49 66 20 6e 6f 20 6f 76 65 72 66 6c 6f 77 20 6f 72 20 75 6e ............If.no.overflow.or.un
c8240 64 65 72 66 6c 6f 77 20 6f 63 63 75 72 73 2c 20 72 65 74 75 72 6e 73 20 3c 63 6f 64 65 3e 3c 73 derflow.occurs,.returns.<code><s
c8260 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f pan.class="line"><span.class="to
c8280 6b 2d 6e 75 6c 6c 22 3e 66 61 6c 73 65 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 k-null">false</span></span></cod
c82a0 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 33 e>........</p>...............<h3
c82c0 20 69 64 3d 22 70 61 6e 69 63 22 3e 3c 61 20 68 72 65 66 3d 22 23 74 6f 63 2d 70 61 6e 69 63 22 .id="panic"><a.href="#toc-panic"
c82e0 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 72 65 66 3d >@panic</a>.<a.class="hdr".href=
c8300 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 3c 70 72 65 "#panic">..</a></h3>........<pre
c8320 3e 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 ><code><span.class="line"><span.
c8340 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
c8360 3e 28 6d 65 73 73 61 67 65 3a 20 5b 5d 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 >(message:.[]<span.class="tok-kw
c8380 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-
c83a0 74 79 70 65 22 3e 75 38 3c 2f 73 70 61 6e 3e 29 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f type">u8</span>).<span.class="to
c83c0 6b 2d 74 79 70 65 22 3e 6e 6f 72 65 74 75 72 6e 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 3c 2f k-type">noreturn</span></span></
c83e0 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 6e 76 6f code></pre>.......<p>.......Invo
c8400 6b 65 73 20 74 68 65 20 70 61 6e 69 63 20 68 61 6e 64 6c 65 72 20 66 75 6e 63 74 69 6f 6e 2e 20 kes.the.panic.handler.function..
c8420 42 79 20 64 65 66 61 75 6c 74 20 74 68 65 20 70 61 6e 69 63 20 68 61 6e 64 6c 65 72 20 66 75 6e By.default.the.panic.handler.fun
c8440 63 74 69 6f 6e 0a 20 20 20 20 20 20 63 61 6c 6c 73 20 74 68 65 20 70 75 62 6c 69 63 20 3c 63 6f ction.......calls.the.public.<co
c8460 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 70 61 6e 69 63 3c 2f 73 70 61 de><span.class="line">panic</spa
c8480 6e 3e 3c 2f 63 6f 64 65 3e 20 66 75 6e 63 74 69 6f 6e 20 65 78 70 6f 73 65 64 20 69 6e 20 74 68 n></code>.function.exposed.in.th
c84a0 65 20 72 6f 6f 74 20 73 6f 75 72 63 65 20 66 69 6c 65 2c 20 6f 72 0a 20 20 20 20 20 20 69 66 20 e.root.source.file,.or.......if.
c84c0 74 68 65 72 65 20 69 73 20 6e 6f 74 20 6f 6e 65 20 73 70 65 63 69 66 69 65 64 2c 20 74 68 65 20 there.is.not.one.specified,.the.
c84e0 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 73 74 64 2e 62 75 69 <code><span.class="line">std.bui
c8500 6c 74 69 6e 2e 64 65 66 61 75 6c 74 5f 70 61 6e 69 63 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e ltin.default_panic</span></code>
c8520 0a 20 20 20 20 20 20 66 75 6e 63 74 69 6f 6e 20 66 72 6f 6d 20 3c 63 6f 64 65 3e 3c 73 70 61 6e .......function.from.<code><span
c8540 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 73 74 64 2f 62 75 69 6c 74 69 6e 2e 7a 69 67 3c 2f 73 .class="line">std/builtin.zig</s
c8560 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
c8580 3e 47 65 6e 65 72 61 6c 6c 79 20 69 74 20 69 73 20 62 65 74 74 65 72 20 74 6f 20 75 73 65 20 3c >Generally.it.is.better.to.use.<
c85a0 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c code><span.class="line"><span.cl
c85c0 61 73 73 3d 22 74 6f 6b 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>
c85e0 28 3c 73 70 61 6e 20 63 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
c8600 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 73 70 61 6e &quot;</span>).debug.panic</span
c8620 3e 3c 2f 63 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 ></code>............However,.<co
c8640 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 de><span.class="line"><span.clas
c8660 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 3c 2f 73 s="tok-builtin">@panic</span></s
c8680 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 32 20 pan></code>.can.be.useful.for.2.
c86a0 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 6c 3e scenarios:.......</p>.......<ul>
c86c0 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 2c 20 .........<li>From.library.code,.
c86e0 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 20 66 calling.the.programmer's.panic.f
c8700 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 20 74 unction.if.they.exposed.one.in.t
c8720 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 20 20 he.root.source.file.</li>.......
c8740 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 64 65 ..<li>When.mixing.C.and.Zig.code
c8760 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 69 6d ,.calling.the.canonical.panic.im
c8780 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 6f 20 plementation.across.multiple..o.
c87a0 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 3c 70 files.</li>.......</ul>.......<p
c87c0 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="
c87e0 23 52 6f 6f 74 2d 53 6f 75 72 63 65 2d 46 69 6c 65 22 3e 52 6f 6f 74 20 53 6f 75 72 63 65 20 46 #Root-Source-File">Root.Source.F
c8800 69 6c 65 3c 2f 61 3e 3c 2f 6c 69 3e 0a 3c 2f 75 6c 3e 0a 0a 20 20 20 20 20 20 0a 0a 20 20 20 20 ile</a></li>.</ul>..............
c8820 20 20 3c 68 33 20 69 64 3d 22 70 6f 70 43 6f 75 6e 74 22 3e 3c 61 20 68 72 65 66 3d 22 23 74 6f ..<h3.id="popCount"><a.href="#to
c8840 63 2d 70 6f 70 43 6f 75 6e 74 22 3e 40 70 6f 70 43 6f 75 6e 74 3c 2f 61 3e 20 3c 61 20 63 6c 61 c-popCount">@popCount</a>.<a.cla
c8860 73 73 3d 22 68 64 72 22 20 68 72 65 66 3d 22 23 70 6f 70 43 6f 75 6e 74 22 3e c2 a7 3c 2f 61 3e ss="hdr".href="#popCount">..</a>
c8880 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
c88a0 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 62 75 69 6c ass="line"><span.class="tok-buil
c88c0 74 69 6e 22 3e 40 70 6f 70 43 6f 75 6e 74 3c 2f 73 70 61 6e 3e 28 6f 70 65 72 61 6e 64 3a 20 3c tin">@popCount</span>(operand:.<
c88e0 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
c8900 6e 3e 29 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 3c 2f 70 72 65 3e 0a 20 20 20 20 20 20 3c 70 n>)</span></code></pre>.......<p
c8920 3e 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 ><code><span.class="line"><span.
c8940 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
c8960 6e 3e 28 6f 70 65 72 61 6e 64 29 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 20 6d 75 73 74 20 62 n>(operand)</span></code>.must.b
c8980 65 20 61 6e 20 69 6e 74 65 67 65 72 20 74 79 70 65 2e 3c 2f 70 3e 0a 20 20 20 20 20 20 3c 70 3e e.an.integer.type.</p>.......<p>
c89a0 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 6f 70 65 72 61 6e 64 <code><span.class="line">operand
c89c0 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 20 6d 61 79 20 62 65 20 61 6e 20 3c 61 20 68 72 65 66 </span></code>.may.be.an.<a.href
c89e0 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 68 ="#Integers">integer</a>.or.<a.h
c8a00 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 20 ref="#Vectors">vector</a>.</p>..
c8a20 20 20 20 20 20 3c 70 3e 43 6f 75 6e 74 73 20 74 68 65 20 6e 75 6d 62 65 72 20 6f 66 20 62 69 74 .....<p>Counts.the.number.of.bit
c8a40 73 20 73 65 74 20 69 6e 20 61 6e 20 69 6e 74 65 67 65 72 2e 3c 2f 70 3e 0a 20 20 20 20 20 20 3c s.set.in.an.integer.</p>.......<
c8a60 70 3e 0a 20 20 20 20 20 20 49 66 20 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c p>.......If.<code><span.class="l
c8a80 69 6e 65 22 3e 6f 70 65 72 61 6e 64 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 20 69 73 20 61 20 ine">operand</span></code>.is.a.
c8aa0 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>
c8ac0 2d 6b 6e 6f 77 6e 20 69 6e 74 65 67 65 72 2c 0a 20 20 20 20 20 20 74 68 65 20 72 65 74 75 72 6e -known.integer,.......the.return
c8ae0 20 74 79 70 65 20 69 73 20 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 .type.is.<code><span.class="line
c8b00 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 63 6f 6d 70 74 69 6d "><span.class="tok-type">comptim
c8b20 65 5f 69 6e 74 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 2e 0a 20 20 20 20 e_int</span></span></code>......
c8b40 20 20 4f 74 68 65 72 77 69 73 65 2c 20 74 68 65 20 72 65 74 75 72 6e 20 74 79 70 65 20 69 73 20 ..Otherwise,.the.return.type.is.
c8b60 61 6e 20 75 6e 73 69 67 6e 65 64 20 69 6e 74 65 67 65 72 20 6f 72 20 76 65 63 74 6f 72 20 6f 66 an.unsigned.integer.or.vector.of
c8b80 20 75 6e 73 69 67 6e 65 64 20 69 6e 74 65 67 65 72 73 20 77 69 74 68 20 74 68 65 20 6d 69 6e 69 .unsigned.integers.with.the.mini
c8ba0 6d 75 6d 20 6e 75 6d 62 65 72 0a 20 20 20 20 20 20 6f 66 20 62 69 74 73 20 74 68 61 74 20 63 61 mum.number.......of.bits.that.ca
c8bc0 6e 20 72 65 70 72 65 73 65 6e 74 20 74 68 65 20 62 69 74 20 63 6f 75 6e 74 20 6f 66 20 74 68 65 n.represent.the.bit.count.of.the
c8be0 20 69 6e 74 65 67 65 72 20 74 79 70 65 2e 0a 20 20 20 20 20 20 3c 2f 70 3e 0a 20 20 20 20 20 20 .integer.type........</p>.......
c8c00 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
c8c20 3d 22 23 63 74 7a 22 3e 40 63 74 7a 3c 2f 61 3e 3c 2f 6c 69 3e 0a 3c 6c 69 3e 3c 61 20 68 72 65 ="#ctz">@ctz</a></li>.<li><a.hre
c8c40 66 3d 22 23 63 6c 7a 22 3e 40 63 6c 7a 3c 2f 61 3e 3c 2f 6c 69 3e 0a 3c 2f 75 6c 3e 0a 0a 20 20 f="#clz">@clz</a></li>.</ul>....
c8c60 20 20 20 20 0a 0a 20 20 20 20 20 20 3c 68 33 20 69 64 3d 22 70 72 65 66 65 74 63 68 22 3e 3c 61 ............<h3.id="prefetch"><a
c8c80 20 68 72 65 66 3d 22 23 74 6f 63 2d 70 72 65 66 65 74 63 68 22 3e 40 70 72 65 66 65 74 63 68 3c .href="#toc-prefetch">@prefetch<
c8ca0 2f 61 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 66 65 74 /a>.<a.class="hdr".href="#prefet
c8cc0 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 63 6f 64 ch">..</a></h3>........<pre><cod
c8ce0 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 e><span.class="line"><span.class
c8d00 3d 22 74 6f 6b 2d 62 75 69 6c 74 69 6e 22 3e 40 70 72 65 66 65 74 63 68 3c 2f 73 70 61 6e 3e 28 ="tok-builtin">@prefetch</span>(
c8d20 70 74 72 3a 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 61 6e 79 74 79 70 ptr:.<span.class="tok-kw">anytyp
c8d40 65 3c 2f 73 70 61 6e 3e 2c 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 63 e</span>,.<span.class="tok-kw">c
c8d60 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 2e 62 75 69 6c omptime</span>.options:.std.buil
c8d80 74 69 6e 2e 50 72 65 66 65 74 63 68 4f 70 74 69 6f 6e 73 29 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 tin.PrefetchOptions)</span></cod
c8da0 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
c8dc0 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
c8de0 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
c8e00 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
c8e20 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
c8e40 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
c8e60 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-
c8e80 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.
c8ea0 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,.
c8ec0 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
c8ee0 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>.......
c8f00 3c 70 3e 0a 20 20 20 20 20 20 54 68 65 20 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d <p>.......The.<code><span.class=
c8f20 22 6c 69 6e 65 22 3e 70 74 72 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 20 61 72 67 75 6d 65 6e "line">ptr</span></code>.argumen
c8f40 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 61 6e 64 20 64 65 t.may.be.any.pointer.type.and.de
c8f60 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 61 64 64 72 65 73 termines.the.memory.......addres
c8f80 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 6f 6e 20 64 6f 65 s.to.prefetch..This.function.doe
c8fa0 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 74 65 72 2c 20 69 s.not.dereference.the.pointer,.i
c8fc0 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 20 74 6f 20 70 61 t.is.perfectly.legal.......to.pa
c8fe0 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 6d 6f 72 79 20 74 ss.a.pointer.to.invalid.memory.t
c9000 6f 20 74 68 69 73 20 66 75 6e 63 74 69 6f 6e 20 61 6e 64 20 6e 6f 20 69 6c 6c 65 67 61 6c 20 62 o.this.function.and.no.illegal.b
c9020 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 20 3c 2f 70 3e 0a ehavior.will.result........</p>.
c9040 20 20 20 20 20 20 3c 70 3e 0a 20 20 20 20 20 20 54 68 65 20 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 ......<p>.......The.<code><span.
c9060 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 6f 70 74 69 6f 6e 73 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 class="line">options</span></cod
c9080 65 3e 20 61 72 67 75 6d 65 6e 74 20 69 73 20 74 68 65 20 66 6f 6c 6c 6f 77 69 6e 67 20 73 74 72 e>.argument.is.the.following.str
c90a0 75 63 74 3a 0a 20 20 20 20 20 20 3c 2f 70 3e 0a 20 20 20 20 20 20 3c 66 69 67 75 72 65 3e 3c 66 uct:.......</p>.......<figure><f
c90c0 69 67 63 61 70 74 69 6f 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.
c90e0 63 6c 61 73 73 3d 22 66 69 6c 65 22 3e 62 75 69 6c 74 69 6e 2e 7a 69 67 3c 2f 63 69 74 65 3e 3c class="file">builtin.zig</cite><
c9100 2f 66 69 67 63 61 70 74 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
c9120 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 63 6f 6d 6d 65 ss="line"><span.class="tok-comme
c9140 6e 74 22 3e 2f 2f 2f 20 54 68 69 73 20 64 61 74 61 20 73 74 72 75 63 74 75 72 65 20 69 73 20 75 nt">///.This.data.structure.is.u
c9160 73 65 64 20 62 79 20 74 68 65 20 5a 69 67 20 6c 61 6e 67 75 61 67 65 20 63 6f 64 65 20 67 65 6e sed.by.the.Zig.language.code.gen
c9180 65 72 61 74 69 6f 6e 20 61 6e 64 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 eration.and</span></span>.<span.
c91a0 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 63 6f class="line"><span.class="tok-co
c91c0 6d 6d 65 6e 74 22 3e 2f 2f 2f 20 74 68 65 72 65 66 6f 72 65 20 6d 75 73 74 20 62 65 20 6b 65 70 mment">///.therefore.must.be.kep
c91e0 74 20 69 6e 20 73 79 6e 63 20 77 69 74 68 20 74 68 65 20 63 6f 6d 70 69 6c 65 72 20 69 6d 70 6c t.in.sync.with.the.compiler.impl
c9200 65 6d 65 6e 74 61 74 69 6f 6e 2e 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 ementation.</span></span>.<span.
c9220 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 class="line"><span.class="tok-kw
c9240 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
c9260 22 3e 63 6f 6e 73 74 3c 2f 73 70 61 6e 3e 20 50 72 65 66 65 74 63 68 4f 70 74 69 6f 6e 73 20 3d ">const</span>.PrefetchOptions.=
c9280 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
c92a0 61 6e 3e 20 7b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e an>.{</span>.<span.class="line">
c92c0 20 20 20 20 3c 73 70 61 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">//
c92e0 2f 20 57 68 65 74 68 65 72 20 74 68 65 20 70 72 65 66 65 74 63 68 20 73 68 6f 75 6c 64 20 70 72 /.Whether.the.prefetch.should.pr
c9300 65 70 61 72 65 20 66 6f 72 20 61 20 72 65 61 64 20 6f 72 20 61 20 77 72 69 74 65 2e 3c 2f 73 70 epare.for.a.read.or.a.write.</sp
c9320 61 6e 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 an></span>.<span.class="line">..
c9340 20 20 72 77 3a 20 52 77 20 3d 20 2e 72 65 61 64 2c 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 ..rw:.Rw.=..read,</span>.<span.c
c9360 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b lass="line">....<span.class="tok
c9380 2d 63 6f 6d 6d 65 6e 74 22 3e 2f 2f 2f 20 30 20 6d 65 61 6e 73 20 6e 6f 20 74 65 6d 70 6f 72 61 -comment">///.0.means.no.tempora
c93a0 6c 20 6c 6f 63 61 6c 69 74 79 2e 20 54 68 61 74 20 69 73 2c 20 74 68 65 20 64 61 74 61 20 63 61 l.locality..That.is,.the.data.ca
c93c0 6e 20 62 65 20 69 6d 6d 65 64 69 61 74 65 6c 79 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 0a 3c n.be.immediately</span></span>.<
c93e0 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 span.class="line">....<span.clas
c9400 73 3d 22 74 6f 6b 2d 63 6f 6d 6d 65 6e 74 22 3e 2f 2f 2f 20 64 72 6f 70 70 65 64 20 66 72 6f 6d s="tok-comment">///.dropped.from
c9420 20 74 68 65 20 63 61 63 68 65 20 61 66 74 65 72 20 69 74 20 69 73 20 61 63 63 65 73 73 65 64 2e .the.cache.after.it.is.accessed.
c9440 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 </span></span>.<span.class="line
c9460 22 3e 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 63 6f 6d 6d 65 6e 74 22 3e ">....<span.class="tok-comment">
c9480 2f 2f 2f 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c ///</span></span>.<span.class="l
c94a0 69 6e 65 22 3e 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 63 6f 6d 6d 65 6e ine">....<span.class="tok-commen
c94c0 74 22 3e 2f 2f 2f 20 33 20 6d 65 61 6e 73 20 68 69 67 68 20 74 65 6d 70 6f 72 61 6c 20 6c 6f 63 t">///.3.means.high.temporal.loc
c94e0 61 6c 69 74 79 2e 20 54 68 61 74 20 69 73 2c 20 74 68 65 20 64 61 74 61 20 73 68 6f 75 6c 64 20 ality..That.is,.the.data.should.
c9500 62 65 20 6b 65 70 74 20 69 6e 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 be.kept.in</span></span>.<span.c
c9520 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b lass="line">....<span.class="tok
c9540 2d 63 6f 6d 6d 65 6e 74 22 3e 2f 2f 2f 20 74 68 65 20 63 61 63 68 65 20 61 73 20 69 74 20 69 73 -comment">///.the.cache.as.it.is
c9560 20 6c 69 6b 65 6c 79 20 74 6f 20 62 65 20 61 63 63 65 73 73 65 64 20 61 67 61 69 6e 20 73 6f 6f .likely.to.be.accessed.again.soo
c9580 6e 2e 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 n.</span></span>.<span.class="li
c95a0 6e 65 22 3e 20 20 20 20 6c 6f 63 61 6c 69 74 79 3a 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 ne">....locality:.<span.class="t
c95c0 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 73 73 ok-type">u2</span>.=.<span.class
c95e0 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 33 3c 2f 73 70 61 6e 3e 2c 3c 2f 73 70 61 6e 3e 0a 3c ="tok-number">3</span>,</span>.<
c9600 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 span.class="line">....<span.clas
c9620 73 3d 22 74 6f 6b 2d 63 6f 6d 6d 65 6e 74 22 3e 2f 2f 2f 20 54 68 65 20 63 61 63 68 65 20 74 68 s="tok-comment">///.The.cache.th
c9640 61 74 20 74 68 65 20 70 72 65 66 65 74 63 68 20 73 68 6f 75 6c 64 20 62 65 20 70 72 65 66 6f 72 at.the.prefetch.should.be.prefor
c9660 6d 65 64 20 6f 6e 2e 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 med.on.</span></span>.<span.clas
c9680 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 63 61 63 68 65 3a 20 43 61 63 68 65 20 3d 20 2e 64 61 74 s="line">....cache:.Cache.=..dat
c96a0 61 2c 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 2f 73 a,</span>.<span.class="line"></s
c96c0 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 3c 73 70 61 pan>.<span.class="line">....<spa
c96e0 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
c9700 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 63 6f 6e 73 74 3c 2f 73 70 61 6e 3e 20 52 77 n.class="tok-kw">const</span>.Rw
c9720 20 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 65 6e 75 6d 3c 2f 73 70 .=.<span.class="tok-kw">enum</sp
c9740 61 6e 3e 20 7b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e an>.{</span>.<span.class="line">
c9760 20 20 20 20 20 20 20 20 72 65 61 64 2c 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 ........read,</span>.<span.class
c9780 3d 22 6c 69 6e 65 22 3e 20 20 20 20 20 20 20 20 77 72 69 74 65 2c 3c 2f 73 70 61 6e 3e 0a 3c 73 ="line">........write,</span>.<s
c97a0 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 7d 3b 3c 2f 73 70 61 6e 3e 0a 3c pan.class="line">....};</span>.<
c97c0 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 span.class="line"></span>.<span.
c97e0 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f class="line">....<span.class="to
c9800 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
c9820 6b 2d 6b 77 22 3e 63 6f 6e 73 74 3c 2f 73 70 61 6e 3e 20 43 61 63 68 65 20 3d 20 3c 73 70 61 6e k-kw">const</span>.Cache.=.<span
c9840 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 65 6e 75 6d 3c 2f 73 70 61 6e 3e 20 7b 3c 2f 73 .class="tok-kw">enum</span>.{</s
c9860 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 20 20 20 20 pan>.<span.class="line">........
c9880 69 6e 73 74 72 75 63 74 69 6f 6e 2c 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d instruction,</span>.<span.class=
c98a0 22 6c 69 6e 65 22 3e 20 20 20 20 20 20 20 20 64 61 74 61 2c 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 "line">........data,</span>.<spa
c98c0 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 7d 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 n.class="line">....};</span>.<sp
c98e0 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 7d 3b 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e an.class="line">};</span></code>
c9900 3c 2f 70 72 65 3e 3c 2f 66 69 67 75 72 65 3e 0a 20 20 20 20 20 20 0a 0a 20 20 20 20 20 20 3c 68 </pre></figure>...............<h
c9920 33 20 69 64 3d 22 70 74 72 43 61 73 74 22 3e 3c 61 20 68 72 65 66 3d 22 23 74 6f 63 2d 70 74 72 3.id="ptrCast"><a.href="#toc-ptr
c9940 43 61 73 74 22 3e 40 70 74 72 43 61 73 74 3c 2f 61 3e 20 3c 61 20 63 6c 61 73 73 3d 22 68 64 72 Cast">@ptrCast</a>.<a.class="hdr
c9960 22 20 68 72 65 66 3d 22 23 70 74 72 43 61 73 74 22 3e c2 a7 3c 2f 61 3e 3c 2f 68 33 3e 0a 0a 20 ".href="#ptrCast">..</a></h3>...
c9980 20 20 20 20 20 3c 70 72 65 3e 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e .....<pre><code><span.class="lin
c99a0 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 62 75 69 6c 74 69 6e 22 3e 40 70 74 e"><span.class="tok-builtin">@pt
c99c0 72 43 61 73 74 3c 2f 73 70 61 6e 3e 28 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 rCast</span>(<span.class="tok-kw
c99e0 22 3e 63 6f 6d 70 74 69 6d 65 3c 2f 73 70 61 6e 3e 20 44 65 73 74 54 79 70 65 3a 20 3c 73 70 61 ">comptime</span>.DestType:.<spa
c9a00 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 74 79 70 65 3c 2f 73 70 61 6e 3e 2c 20 n.class="tok-type">type</span>,.
c9a20 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
c9a40 79 70 65 3c 2f 73 70 61 6e 3e 29 20 44 65 73 74 54 79 70 65 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 ype</span>).DestType</span></cod
c9a60 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
c9a80 73 20 61 20 70 6f 69 6e 74 65 72 20 6f 66 20 6f 6e 65 20 74 79 70 65 20 74 6f 20 61 20 70 6f 69 s.a.pointer.of.one.type.to.a.poi
c9aa0 6e 74 65 72 20 6f 66 20 61 6e 6f 74 68 65 72 20 74 79 70 65 2e 0a 20 20 20 20 20 20 3c 2f 70 3e nter.of.another.type........</p>
c9ac0 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 4f 70 74 69 6f .......<p>.......<a.href="#Optio
c9ae0 6e 61 6c 2d 50 6f 69 6e 74 65 72 73 22 3e 4f 70 74 69 6f 6e 61 6c 20 50 6f 69 6e 74 65 72 73 3c nal-Pointers">Optional.Pointers<
c9b00 2f 61 3e 20 61 72 65 20 61 6c 6c 6f 77 65 64 2e 20 43 61 73 74 69 6e 67 20 61 6e 20 6f 70 74 69 /a>.are.allowed..Casting.an.opti
c9b20 6f 6e 61 6c 20 70 6f 69 6e 74 65 72 20 77 68 69 63 68 20 69 73 20 3c 61 20 68 72 65 66 3d 22 23 onal.pointer.which.is.<a.href="#
c9b40 6e 75 6c 6c 22 3e 6e 75 6c 6c 3c 2f 61 3e 0a 20 20 20 20 20 20 74 6f 20 61 20 6e 6f 6e 2d 6f 70 null">null</a>.......to.a.non-op
c9b60 74 69 6f 6e 61 6c 20 70 6f 69 6e 74 65 72 20 69 6e 76 6f 6b 65 73 20 73 61 66 65 74 79 2d 63 68 tional.pointer.invokes.safety-ch
c9b80 65 63 6b 65 64 20 3c 61 20 68 72 65 66 3d 22 23 55 6e 64 65 66 69 6e 65 64 2d 42 65 68 61 76 69 ecked.<a.href="#Undefined-Behavi
c9ba0 6f 72 22 3e 55 6e 64 65 66 69 6e 65 64 20 42 65 68 61 76 69 6f 72 3c 2f 61 3e 2e 0a 20 20 20 20 or">Undefined.Behavior</a>......
c9bc0 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 70 74 72 ..</p>...............<h3.id="ptr
c9be0 54 6f 49 6e 74 22 3e 3c 61 20 68 72 65 66 3d 22 23 74 6f 63 2d 70 74 72 54 6f 49 6e 74 22 3e 40 ToInt"><a.href="#toc-ptrToInt">@
c9c00 70 74 72 54 6f 49 6e 74 3c 2f 61 3e 20 3c 61 20 63 6c 61 73 73 3d 22 68 64 72 22 20 68 72 65 66 ptrToInt</a>.<a.class="hdr".href
c9c20 3d 22 23 70 74 72 54 6f 49 6e 74 22 3e c2 a7 3c 2f 61 3e 3c 2f 68 33 3e 0a 0a 20 20 20 20 20 20 ="#ptrToInt">..</a></h3>........
c9c40 3c 70 72 65 3e 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 <pre><code><span.class="line"><s
c9c60 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 62 75 69 6c 74 69 6e 22 3e 40 70 74 72 54 6f 49 6e pan.class="tok-builtin">@ptrToIn
c9c80 74 3c 2f 73 70 61 6e 3e 28 76 61 6c 75 65 3a 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b t</span>(value:.<span.class="tok
c9ca0 2d 6b 77 22 3e 61 6e 79 74 79 70 65 3c 2f 73 70 61 6e 3e 29 20 3c 73 70 61 6e 20 63 6c 61 73 73 -kw">anytype</span>).<span.class
c9cc0 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 75 73 69 7a 65 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 3c ="tok-type">usize</span></span><
c9ce0 2f 63 6f 64 65 3e 3c 2f 70 72 65 3e 0a 20 20 20 20 20 20 3c 70 3e 0a 20 20 20 20 20 20 43 6f 6e /code></pre>.......<p>.......Con
c9d00 76 65 72 74 73 20 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 76 verts.<code><span.class="line">v
c9d20 61 6c 75 65 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 20 74 6f 20 61 20 3c 63 6f 64 65 3e 3c 73 alue</span></code>.to.a.<code><s
c9d40 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f pan.class="line"><span.class="to
c9d60 6b 2d 74 79 70 65 22 3e 75 73 69 7a 65 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 k-type">usize</span></span></cod
c9d80 65 3e 20 77 68 69 63 68 20 69 73 20 74 68 65 20 61 64 64 72 65 73 73 20 6f 66 20 74 68 65 20 70 e>.which.is.the.address.of.the.p
c9da0 6f 69 6e 74 65 72 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 ointer........<code><span.class=
c9dc0 22 6c 69 6e 65 22 3e 76 61 6c 75 65 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 20 63 61 6e 20 62 "line">value</span></code>.can.b
c9de0 65 20 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 2a 54 3c 2f 73 e.<code><span.class="line">*T</s
c9e00 70 61 6e 3e 3c 2f 63 6f 64 65 3e 20 6f 72 20 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 pan></code>.or.<code><span.class
c9e20 3d 22 6c 69 6e 65 22 3e 3f 2a 54 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 2e 0a 20 20 20 20 20 ="line">?*T</span></code>.......
c9e40 20 3c 2f 70 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 .</p>.......<p>To.convert.the.ot
c9e60 68 65 72 20 77 61 79 2c 20 75 73 65 20 3c 61 20 68 72 65 66 3d 22 23 69 6e 74 54 6f 50 74 72 22 her.way,.use.<a.href="#intToPtr"
c9e80 3e 40 69 6e 74 54 6f 50 74 72 3c 2f 61 3e 3c 2f 70 3e 0a 0a 20 20 20 20 20 20 0a 0a 20 20 20 20 >@intToPtr</a></p>..............
c9ea0 20 20 3c 68 33 20 69 64 3d 22 72 65 6d 22 3e 3c 61 20 68 72 65 66 3d 22 23 74 6f 63 2d 72 65 6d ..<h3.id="rem"><a.href="#toc-rem
c9ec0 22 3e 40 72 65 6d 3c 2f 61 3e 20 3c 61 20 63 6c 61 73 73 3d 22 68 64 72 22 20 68 72 65 66 3d 22 ">@rem</a>.<a.class="hdr".href="
c9ee0 23 72 65 6d 22 3e c2 a7 3c 2f 61 3e 3c 2f 68 33 3e 0a 0a 20 20 20 20 20 20 3c 70 72 65 3e 3c 63 #rem">..</a></h3>........<pre><c
c9f00 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 ode><span.class="line"><span.cla
c9f20 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 6d ss="tok-builtin">@rem</span>(num
c9f40 65 72 61 74 6f 72 3a 20 54 2c 20 64 65 6e 6f 6d 69 6e 61 74 6f 72 3a 20 54 29 20 54 3c 2f 73 70 erator:.T,.denominator:.T).T</sp
c9f60 61 6e 3e 3c 2f 63 6f 64 65 3e 3c 2f 70 72 65 3e 0a 20 20 20 20 20 20 3c 70 3e 0a 20 20 20 20 20 an></code></pre>.......<p>......
c9f80 20 52 65 6d 61 69 6e 64 65 72 20 64 69 76 69 73 69 6f 6e 2e 20 46 6f 72 20 75 6e 73 69 67 6e 65 .Remainder.division..For.unsigne
c9fa0 64 20 69 6e 74 65 67 65 72 73 20 74 68 69 73 20 69 73 20 74 68 65 20 73 61 6d 65 20 61 73 0a 20 d.integers.this.is.the.same.as..
c9fc0 20 20 20 20 20 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 6e 75 .....<code><span.class="line">nu
c9fe0 6d 65 72 61 74 6f 72 20 25 20 64 65 6e 6f 6d 69 6e 61 74 6f 72 3c 2f 73 70 61 6e 3e 3c 2f 63 6f merator.%.denominator</span></co
ca000 64 65 3e 2e 20 43 61 6c 6c 65 72 20 67 75 61 72 61 6e 74 65 65 73 20 3c 63 6f 64 65 3e 3c 73 70 de>..Caller.guarantees.<code><sp
ca020 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 64 65 6e 6f 6d 69 6e 61 74 6f 72 20 26 67 74 3b an.class="line">denominator.&gt;
ca040 20 3c 73 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
ca060 6e 3e 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 2c 20 6f 74 68 65 72 77 69 73 65 20 74 68 65 0a n></span></code>,.otherwise.the.
ca080 20 20 20 20 20 20 6f 70 65 72 61 74 69 6f 6e 20 77 69 6c 6c 20 72 65 73 75 6c 74 20 69 6e 20 61 ......operation.will.result.in.a
ca0a0 20 3c 61 20 68 72 65 66 3d 22 23 52 65 6d 61 69 6e 64 65 72 2d 44 69 76 69 73 69 6f 6e 2d 62 79 .<a.href="#Remainder-Division-by
ca0c0 2d 5a 65 72 6f 22 3e 52 65 6d 61 69 6e 64 65 72 20 44 69 76 69 73 69 6f 6e 20 62 79 20 5a 65 72 -Zero">Remainder.Division.by.Zer
ca0e0 6f 3c 2f 61 3e 20 77 68 65 6e 20 72 75 6e 74 69 6d 65 20 73 61 66 65 74 79 20 63 68 65 63 6b 73 o</a>.when.runtime.safety.checks
ca100 20 61 72 65 20 65 6e 61 62 6c 65 64 2e 0a 20 20 20 20 20 20 3c 2f 70 3e 0a 20 20 20 20 20 20 3c .are.enabled........</p>.......<
ca120 75 6c 3e 0a 20 20 20 20 20 20 20 20 20 20 3c 6c 69 3e 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c ul>...........<li><code><span.cl
ca140 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 62 75 69 6c ass="line"><span.class="tok-buil
ca160 74 69 6e 22 3e 40 72 65 6d 3c 2f 73 70 61 6e 3e 28 2d 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 tin">@rem</span>(-<span.class="t
ca180 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
ca1a0 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 70 61 ="tok-number">3</span>).==.-<spa
ca1c0 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 32 3c 2f 73 70 61 6e 3e 3c 2f 73 n.class="tok-number">2</span></s
ca1e0 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><
ca200 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 28 3c 73 70 61 6e 20 63 code><span.class="line">(<span.c
ca220 6c 61 73 73 3d 22 74 6f 6b 2d 62 75 69 6c 74 69 6e 22 3e 40 64 69 76 54 72 75 6e 63 3c 2f 73 70 lass="tok-builtin">@divTrunc</sp
ca240 61 6e 3e 28 61 2c 20 62 29 20 2a 20 62 29 20 2b 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f an>(a,.b).*.b).+.<span.class="to
ca260 6b 2d 62 75 69 6c 74 69 6e 22 3e 40 72 65 6d 3c 2f 73 70 61 6e 3e 28 61 2c 20 62 29 20 3d 3d 20 k-builtin">@rem</span>(a,.b).==.
ca280 61 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 3c 2f 6c 69 3e 0a 20 20 20 20 20 20 3c 2f 75 6c 3e a</span></code></li>.......</ul>
ca2a0 0a 20 20 20 20 20 20 3c 70 3e 46 6f 72 20 61 20 66 75 6e 63 74 69 6f 6e 20 74 68 61 74 20 72 65 .......<p>For.a.function.that.re
ca2c0 74 75 72 6e 73 20 61 6e 20 65 72 72 6f 72 20 63 6f 64 65 2c 20 73 65 65 20 3c 63 6f 64 65 3e 3c turns.an.error.code,.see.<code><
ca2e0 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 span.class="line"><span.class="t
ca300 6f 6b 2d 62 75 69 6c 74 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
ca320 20 63 6c 61 73 73 3d 22 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;
ca340 3c 2f 73 70 61 6e 3e 29 2e 6d 61 74 68 2e 72 65 6d 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 2e </span>).math.rem</span></code>.
ca360 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>.
ca380 3c 6c 69 3e 3c 61 20 68 72 65 66 3d 22 23 6d 6f 64 22 3e 40 6d 6f 64 3c 2f 61 3e 3c 2f 6c 69 3e <li><a.href="#mod">@mod</a></li>
ca3a0 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 72 65 .</ul>................<h3.id="re
ca3c0 74 75 72 6e 41 64 64 72 65 73 73 22 3e 3c 61 20 68 72 65 66 3d 22 23 74 6f 63 2d 72 65 74 75 72 turnAddress"><a.href="#toc-retur
ca3e0 6e 41 64 64 72 65 73 73 22 3e 40 72 65 74 75 72 6e 41 64 64 72 65 73 73 3c 2f 61 3e 20 3c 61 20 nAddress">@returnAddress</a>.<a.
ca400 63 6c 61 73 73 3d 22 68 64 72 22 20 68 72 65 66 3d 22 23 72 65 74 75 72 6e 41 64 64 72 65 73 73 class="hdr".href="#returnAddress
ca420 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>
ca440 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 <span.class="line"><span.class="
ca460 74 6f 6b 2d 62 75 69 6c 74 69 6e 22 3e 40 72 65 74 75 72 6e 41 64 64 72 65 73 73 3c 2f 73 70 61 tok-builtin">@returnAddress</spa
ca480 6e 3e 28 29 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 75 73 69 7a n>().<span.class="tok-type">usiz
ca4a0 65 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 3c 2f 70 72 65 3e 0a 20 20 20 e</span></span></code></pre>....
ca4c0 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
ca4e0 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 6d 61 63 68 69 ns.the.address.of.the.next.machi
ca500 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 6c 6c 20 62 65 ne.code.instruction.that.will.be
ca520 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 72 72 65 6e 74 .executed.......when.the.current
ca540 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 70 3e 0a 20 20 .function.returns........</p>...
ca560 20 20 20 20 3c 70 3e 0a 20 20 20 20 20 20 54 68 65 20 69 6d 70 6c 69 63 61 74 69 6f 6e 73 20 6f ....<p>.......The.implications.o
ca580 66 20 74 68 69 73 20 61 72 65 20 74 61 72 67 65 74 2d 73 70 65 63 69 66 69 63 20 61 6e 64 20 6e f.this.are.target-specific.and.n
ca5a0 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 61 6c 6c 20 70 ot.consistent.across.......all.p
ca5c0 6c 61 74 66 6f 72 6d 73 2e 0a 20 20 20 20 20 20 3c 2f 70 3e 0a 20 20 20 20 20 20 3c 70 3e 0a 20 latforms........</p>.......<p>..
ca5e0 20 20 20 20 20 54 68 69 73 20 66 75 6e 63 74 69 6f 6e 20 69 73 20 6f 6e 6c 79 20 76 61 6c 69 64 .....This.function.is.only.valid
ca600 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 74 68 65 20 66 .within.function.scope..If.the.f
ca620 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 20 20 20 20 20 unction.gets.inlined.into.......
ca640 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 75 72 6e 65 64 a.calling.function,.the.returned
ca660 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 63 61 6c 6c 69 .address.will.apply.to.the.calli
ca680 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 20 20 20 0a 0a ng.function........</p>.........
ca6a0 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 65 66 3d 22 23 ......<h3.id="select"><a.href="#
ca6c0 74 6f 63 2d 73 65 6c 65 63 74 22 3e 40 73 65 6c 65 63 74 3c 2f 61 3e 20 3c 61 20 63 6c 61 73 73 toc-select">@select</a>.<a.class
ca6e0 3d 22 68 64 72 22 20 68 72 65 66 3d 22 23 73 65 6c 65 63 74 22 3e c2 a7 3c 2f 61 3e 3c 2f 68 33 ="hdr".href="#select">..</a></h3
ca700 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=
ca720 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 62 75 69 6c 74 69 6e 22 "line"><span.class="tok-builtin"
ca740 3e 40 73 65 6c 65 63 74 3c 2f 73 70 61 6e 3e 28 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b >@select</span>(<span.class="tok
ca760 2d 6b 77 22 3e 63 6f 6d 70 74 69 6d 65 3c 2f 73 70 61 6e 3e 20 54 3a 20 3c 73 70 61 6e 20 63 6c -kw">comptime</span>.T:.<span.cl
ca780 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 72 65 64 ass="tok-type">type</span>,.pred
ca7a0 3a 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 62 75 69 6c 74 69 6e 22 3e 40 56 65 63 :.<span.class="tok-builtin">@Vec
ca7c0 74 6f 72 3c 2f 73 70 61 6e 3e 28 6c 65 6e 2c 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b tor</span>(len,.<span.class="tok
ca7e0 2d 74 79 70 65 22 3e 62 6f 6f 6c 3c 2f 73 70 61 6e 3e 29 2c 20 61 3a 20 3c 73 70 61 6e 20 63 6c -type">bool</span>),.a:.<span.cl
ca800 61 73 73 3d 22 74 6f 6b 2d 62 75 69 6c 74 69 6e 22 3e 40 56 65 63 74 6f 72 3c 2f 73 70 61 6e 3e ass="tok-builtin">@Vector</span>
ca820 28 6c 65 6e 2c 20 54 29 2c 20 62 3a 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 62 75 (len,.T),.b:.<span.class="tok-bu
ca840 69 6c 74 69 6e 22 3e 40 56 65 63 74 6f 72 3c 2f 73 70 61 6e 3e 28 6c 65 6e 2c 20 54 29 29 20 3c iltin">@Vector</span>(len,.T)).<
ca860 73 70 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
ca880 3c 2f 73 70 61 6e 3e 28 6c 65 6e 2c 20 54 29 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 3c 2f 70 </span>(len,.T)</span></code></p
ca8a0 72 65 3e 0a 20 20 20 20 20 20 3c 70 3e 0a 20 20 20 20 20 20 53 65 6c 65 63 74 73 20 76 61 6c 75 re>.......<p>.......Selects.valu
ca8c0 65 73 20 65 6c 65 6d 65 6e 74 2d 77 69 73 65 20 66 72 6f 6d 20 3c 63 6f 64 65 3e 3c 73 70 61 6e es.element-wise.from.<code><span
ca8e0 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 61 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 20 6f 72 .class="line">a</span></code>.or
ca900 20 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 62 3c 2f 73 70 61 .<code><span.class="line">b</spa
ca920 6e 3e 3c 2f 63 6f 64 65 3e 20 62 61 73 65 64 20 6f 6e 20 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 n></code>.based.on.<code><span.c
ca940 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 70 72 65 64 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 2e 20 lass="line">pred</span></code>..
ca960 49 66 20 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 70 72 65 64 If.<code><span.class="line">pred
ca980 5b 69 5d 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 20 69 73 20 3c 63 6f 64 65 3e 3c 73 70 61 6e [i]</span></code>.is.<code><span
ca9a0 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e .class="line"><span.class="tok-n
ca9c0 75 6c 6c 22 3e 74 72 75 65 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 2c 20 ull">true</span></span></code>,.
ca9e0 74 68 65 20 63 6f 72 72 65 73 70 6f 6e 64 69 6e 67 20 65 6c 65 6d 65 6e 74 20 69 6e 20 74 68 65 the.corresponding.element.in.the
caa00 20 72 65 73 75 6c 74 20 77 69 6c 6c 20 62 65 20 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 .result.will.be.<code><span.clas
caa20 73 3d 22 6c 69 6e 65 22 3e 61 5b 69 5d 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 20 61 6e 64 20 s="line">a[i]</span></code>.and.
caa40 6f 74 68 65 72 77 69 73 65 20 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e otherwise.<code><span.class="lin
caa60 65 22 3e 62 5b 69 5d 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 2e 0a 20 20 20 20 20 20 3c 2f 70 e">b[i]</span></code>........</p
caa80 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
caaa0 3e 3c 61 20 68 72 65 66 3d 22 23 56 65 63 74 6f 72 73 22 3e 56 65 63 74 6f 72 73 3c 2f 61 3e 3c ><a.href="#Vectors">Vectors</a><
caac0 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
caae0 3d 22 73 65 74 41 6c 69 67 6e 53 74 61 63 6b 22 3e 3c 61 20 68 72 65 66 3d 22 23 74 6f 63 2d 73 ="setAlignStack"><a.href="#toc-s
cab00 65 74 41 6c 69 67 6e 53 74 61 63 6b 22 3e 40 73 65 74 41 6c 69 67 6e 53 74 61 63 6b 3c 2f 61 3e etAlignStack">@setAlignStack</a>
cab20 20 3c 61 20 63 6c 61 73 73 3d 22 68 64 72 22 20 68 72 65 66 3d 22 23 73 65 74 41 6c 69 67 6e 53 .<a.class="hdr".href="#setAlignS
cab40 74 61 63 6b 22 3e c2 a7 3c 2f 61 3e 3c 2f 68 33 3e 0a 0a 20 20 20 20 20 20 3c 70 72 65 3e 3c 63 tack">..</a></h3>........<pre><c
cab60 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 ode><span.class="line"><span.cla
cab80 73 73 3d 22 74 6f 6b 2d 62 75 69 6c 74 69 6e 22 3e 40 73 65 74 41 6c 69 67 6e 53 74 61 63 6b 3c ss="tok-builtin">@setAlignStack<
caba0 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
cabc0 74 69 6d 65 3c 2f 73 70 61 6e 3e 20 61 6c 69 67 6e 6d 65 6e 74 3a 20 3c 73 70 61 6e 20 63 6c 61 time</span>.alignment:.<span.cla
cabe0 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 75 32 39 3c 2f 73 70 61 6e 3e 29 3c 2f 73 70 61 6e 3e ss="tok-type">u29</span>)</span>
cac00 3c 2f 63 6f 64 65 3e 3c 2f 70 72 65 3e 0a 20 20 20 20 20 20 3c 70 3e 0a 20 20 20 20 20 20 45 6e </code></pre>.......<p>.......En
cac20 73 75 72 65 73 20 74 68 61 74 20 61 20 66 75 6e 63 74 69 6f 6e 20 77 69 6c 6c 20 68 61 76 65 20 sures.that.a.function.will.have.
cac40 61 20 73 74 61 63 6b 20 61 6c 69 67 6e 6d 65 6e 74 20 6f 66 20 61 74 20 6c 65 61 73 74 20 3c 63 a.stack.alignment.of.at.least.<c
cac60 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 61 6c 69 67 6e 6d 65 6e 74 ode><span.class="line">alignment
cac80 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 20 62 79 74 65 73 2e 0a 20 20 20 20 20 20 3c 2f 70 3e </span></code>.bytes........</p>
caca0 0a 20 20 20 20 20 20 0a 0a 20 20 20 20 20 20 3c 68 33 20 69 64 3d 22 73 65 74 43 6f 6c 64 22 3e ...............<h3.id="setCold">
cacc0 3c 61 20 68 72 65 66 3d 22 23 74 6f 63 2d 73 65 74 43 6f 6c 64 22 3e 40 73 65 74 43 6f 6c 64 3c <a.href="#toc-setCold">@setCold<
cace0 2f 61 3e 20 3c 61 20 63 6c 61 73 73 3d 22 68 64 72 22 20 68 72 65 66 3d 22 23 73 65 74 43 6f 6c /a>.<a.class="hdr".href="#setCol
cad00 64 22 3e c2 a7 3c 2f 61 3e 3c 2f 68 33 3e 0a 0a 20 20 20 20 20 20 3c 70 72 65 3e 3c 63 6f 64 65 d">..</a></h3>........<pre><code
cad20 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d ><span.class="line"><span.class=
cad40 22 74 6f 6b 2d 62 75 69 6c 74 69 6e 22 3e 40 73 65 74 43 6f 6c 64 3c 2f 73 70 61 6e 3e 28 3c 73 "tok-builtin">@setCold</span>(<s
cad60 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
cad80 6e 3e 20 69 73 5f 63 6f 6c 64 3a 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 n>.is_cold:.<span.class="tok-typ
cada0 65 22 3e 62 6f 6f 6c 3c 2f 73 70 61 6e 3e 29 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 3c 2f 70 e">bool</span>)</span></code></p
cadc0 72 65 3e 0a 20 20 20 20 20 20 3c 70 3e 0a 20 20 20 20 20 20 54 65 6c 6c 73 20 74 68 65 20 6f 70 re>.......<p>.......Tells.the.op
cade0 74 69 6d 69 7a 65 72 20 74 68 61 74 20 61 20 66 75 6e 63 74 69 6f 6e 20 69 73 20 72 61 72 65 6c timizer.that.a.function.is.rarel
cae00 79 20 63 61 6c 6c 65 64 2e 0a 20 20 20 20 20 20 3c 2f 70 3e 0a 20 20 20 20 20 20 0a 0a 20 20 20 y.called........</p>............
cae20 20 20 20 3c 68 33 20 69 64 3d 22 73 65 74 45 76 61 6c 42 72 61 6e 63 68 51 75 6f 74 61 22 3e 3c ...<h3.id="setEvalBranchQuota"><
cae40 61 20 68 72 65 66 3d 22 23 74 6f 63 2d 73 65 74 45 76 61 6c 42 72 61 6e 63 68 51 75 6f 74 61 22 a.href="#toc-setEvalBranchQuota"
cae60 3e 40 73 65 74 45 76 61 6c 42 72 61 6e 63 68 51 75 6f 74 61 3c 2f 61 3e 20 3c 61 20 63 6c 61 73 >@setEvalBranchQuota</a>.<a.clas
cae80 73 3d 22 68 64 72 22 20 68 72 65 66 3d 22 23 73 65 74 45 76 61 6c 42 72 61 6e 63 68 51 75 6f 74 s="hdr".href="#setEvalBranchQuot
caea0 61 22 3e c2 a7 3c 2f 61 3e 3c 2f 68 33 3e 0a 0a 20 20 20 20 20 20 3c 70 72 65 3e 3c 63 6f 64 65 a">..</a></h3>........<pre><code
caec0 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d ><span.class="line"><span.class=
caee0 22 74 6f 6b 2d 62 75 69 6c 74 69 6e 22 3e 40 73 65 74 45 76 61 6c 42 72 61 6e 63 68 51 75 6f 74 "tok-builtin">@setEvalBranchQuot
caf00 61 3c 2f 73 70 61 6e 3e 28 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 63 6f a</span>(<span.class="tok-kw">co
caf20 6d 70 74 69 6d 65 3c 2f 73 70 61 6e 3e 20 6e 65 77 5f 71 75 6f 74 61 3a 20 3c 73 70 61 6e 20 63 mptime</span>.new_quota:.<span.c
caf40 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 75 33 32 3c 2f 73 70 61 6e 3e 29 3c 2f 73 70 61 lass="tok-type">u32</span>)</spa
caf60 6e 3e 3c 2f 63 6f 64 65 3e 3c 2f 70 72 65 3e 0a 20 20 20 20 20 20 3c 70 3e 0a 20 20 20 20 20 20 n></code></pre>.......<p>.......
caf80 43 68 61 6e 67 65 73 20 74 68 65 20 6d 61 78 69 6d 75 6d 20 6e 75 6d 62 65 72 20 6f 66 20 62 61 Changes.the.maximum.number.of.ba
cafa0 63 6b 77 61 72 64 73 20 62 72 61 6e 63 68 65 73 20 74 68 61 74 20 63 6f 6d 70 69 6c 65 2d 74 69 ckwards.branches.that.compile-ti
cafc0 6d 65 20 63 6f 64 65 0a 20 20 20 20 20 20 65 78 65 63 75 74 69 6f 6e 20 63 61 6e 20 75 73 65 20 me.code.......execution.can.use.
cafe0 62 65 66 6f 72 65 20 67 69 76 69 6e 67 20 75 70 20 61 6e 64 20 6d 61 6b 69 6e 67 20 61 20 63 6f before.giving.up.and.making.a.co
cb000 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 70 mpile.error........</p>.......<p
cb020 3e 0a 20 20 20 20 20 20 49 66 20 74 68 65 20 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 >.......If.the.<code><span.class
cb040 3d 22 6c 69 6e 65 22 3e 6e 65 77 5f 71 75 6f 74 61 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 20 ="line">new_quota</span></code>.
cb060 69 73 20 73 6d 61 6c 6c 65 72 20 74 68 61 6e 20 74 68 65 20 64 65 66 61 75 6c 74 20 71 75 6f 74 is.smaller.than.the.default.quot
cb080 61 20 28 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 a.(<code><span.class="line"><spa
cb0a0 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 31 30 30 30 3c 2f 73 70 61 6e 3e n.class="tok-number">1000</span>
cb0c0 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 29 20 6f 72 0a 20 20 20 20 20 20 61 20 70 72 65 76 69 </span></code>).or.......a.previ
cb0e0 6f 75 73 6c 79 20 65 78 70 6c 69 63 69 74 6c 79 20 73 65 74 20 71 75 6f 74 61 2c 20 69 74 20 69 ously.explicitly.set.quota,.it.i
cb100 73 20 69 67 6e 6f 72 65 64 2e 0a 20 20 20 20 20 20 3c 2f 70 3e 0a 20 20 20 20 20 20 3c 70 3e 0a s.ignored........</p>.......<p>.
cb120 20 20 20 20 20 20 45 78 61 6d 70 6c 65 3a 0a 20 20 20 20 20 20 3c 2f 70 3e 0a 20 20 20 20 20 20 ......Example:.......</p>.......
cb140 3c 66 69 67 75 72 65 3e 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
cb160 61 70 22 3e 3c 63 69 74 65 20 63 6c 61 73 73 3d 22 66 69 6c 65 22 3e 74 65 73 74 2e 7a 69 67 3c ap"><cite.class="file">test.zig<
cb180 2f 63 69 74 65 3e 3c 2f 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
cb1a0 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f pan.class="line"><span.class="to
cb1c0 6b 2d 6b 77 22 3e 74 65 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
cb1e0 6f 6b 2d 73 74 72 22 3e 26 71 75 6f 74 3b 66 6f 6f 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 20 7b ok-str">&quot;foo&quot;</span>.{
cb200 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 3c </span>.<span.class="line">....<
cb220 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
cb240 61 6e 3e 20 7b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e an>.{</span>.<span.class="line">
cb260 20 20 20 20 20 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
cb280 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 6d </span>.i.=.<span.class="tok-num
cb2a0 62 65 72 22 3e 30 3c 2f 73 70 61 6e 3e 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 ber">0</span>;</span>.<span.clas
cb2c0 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f s="line">........<span.class="to
cb2e0 6b 2d 6b 77 22 3e 77 68 69 6c 65 3c 2f 73 70 61 6e 3e 20 28 69 20 26 6c 74 3b 20 3c 73 70 61 6e k-kw">while</span>.(i.&lt;.<span
cb300 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>)
cb320 20 3a 20 28 69 20 2b 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 .:.(i.+=.<span.class="tok-number
cb340 22 3e 31 3c 2f 73 70 61 6e 3e 29 20 7b 7d 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 ">1</span>).{}</span>.<span.clas
cb360 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 7d 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 s="line">....}</span>.<span.clas
cb380 73 3d 22 6c 69 6e 65 22 3e 7d 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 3c 2f 70 72 65 3e 3c 2f s="line">}</span></code></pre></
cb3a0 66 69 67 75 72 65 3e 3c 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
cb3c0 3d 22 73 68 65 6c 6c 2d 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><
cb3e0 70 72 65 3e 3c 73 61 6d 70 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 24 20 3c pre><samp><span.class="line">$.<
cb400 6b 62 64 3e 7a 69 67 20 74 65 73 74 20 74 65 73 74 2e 7a 69 67 3c 2f 6b 62 64 3e 3c 2f 73 70 61 kbd>zig.test.test.zig</kbd></spa
cb420 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 n>.<span.class="line"><span.clas
cb440 73 3d 22 74 31 5f 30 22 3e 64 6f 63 67 65 6e 5f 74 6d 70 2f 74 65 73 74 2e 7a 69 67 3a 34 3a 39 s="t1_0">docgen_tmp/test.zig:4:9
cb460 3a 20 3c 2f 73 70 61 6e 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 33 31 5f 31 22 3e 65 72 72 :.</span><span.class="t31_1">err
cb480 6f 72 3a 20 3c 2f 73 70 61 6e 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 31 5f 30 22 3e 65 76 or:.</span><span.class="t1_0">ev
cb4a0 61 6c 75 61 74 69 6f 6e 20 65 78 63 65 65 64 65 64 20 31 30 30 30 20 62 61 63 6b 77 61 72 64 73 aluation.exceeded.1000.backwards
cb4c0 20 62 72 61 6e 63 68 65 73 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 .branches</span>.<span.class="li
cb4e0 6e 65 22 3e 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 3b ne"></span>........while.(i.&lt;
cb500 20 31 30 30 31 29 20 3a 20 28 69 20 2b 3d 20 31 29 20 7b 7d 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 .1001).:.(i.+=.1).{}</span>.<spa
cb520 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 n.class="line">........<span.cla
cb540 73 73 3d 22 74 33 32 5f 31 22 3e 5e 7e 7e 7e 7e 7e 7e 7e 7e 7e 7e 7e 7e 7e 7e 7e 7e 7e 7e 7e 7e ss="t32_1">^~~~~~~~~~~~~~~~~~~~~
cb560 7e 7e 7e 7e 7e 7e 7e 7e 7e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 ~~~~~~~~~</span>.<span.class="li
cb580 6e 65 22 3e 3c 2f 73 70 61 6e 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 31 5f 30 22 3e 64 6f ne"></span><span.class="t1_0">do
cb5a0 63 67 65 6e 5f 74 6d 70 2f 74 65 73 74 2e 7a 69 67 3a 34 3a 39 3a 20 3c 2f 73 70 61 6e 3e 3c 73 cgen_tmp/test.zig:4:9:.</span><s
cb5c0 70 61 6e 20 63 6c 61 73 73 3d 22 74 33 36 5f 31 22 3e 6e 6f 74 65 3a 20 3c 2f 73 70 61 6e 3e 3c pan.class="t36_1">note:.</span><
cb5e0 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 31 5f 30 22 3e 75 73 65 20 40 73 65 74 45 76 61 6c 42 72 span.class="t1_0">use.@setEvalBr
cb600 61 6e 63 68 51 75 6f 74 61 28 29 20 74 6f 20 72 61 69 73 65 20 74 68 65 20 62 72 61 6e 63 68 20 anchQuota().to.raise.the.branch.
cb620 6c 69 6d 69 74 20 66 72 6f 6d 20 31 30 30 30 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 limit.from.1000</span>.<span.cla
cb640 73 73 3d 22 6c 69 6e 65 22 3e 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 0a 3c 2f 73 61 6d 70 3e ss="line"></span></span>.</samp>
cb660 3c 2f 70 72 65 3e 3c 2f 66 69 67 75 72 65 3e 0a 20 20 20 20 20 20 3c 70 3e 4e 6f 77 20 77 65 20 </pre></figure>.......<p>Now.we.
cb680 75 73 65 20 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 use.<code><span.class="line"><sp
cb6a0 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 62 75 69 6c 74 69 6e 22 3e 40 73 65 74 45 76 61 6c 42 an.class="tok-builtin">@setEvalB
cb6c0 72 61 6e 63 68 51 75 6f 74 61 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 3a ranchQuota</span></span></code>:
cb6e0 3c 2f 70 3e 0a 20 20 20 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
cb700 6c 61 73 73 3d 22 7a 69 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
cb720 22 3e 73 65 74 45 76 61 6c 42 72 61 6e 63 68 51 75 6f 74 61 2e 7a 69 67 3c 2f 63 69 74 65 3e 3c ">setEvalBranchQuota.zig</cite><
cb740 2f 66 69 67 63 61 70 74 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
cb760 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 74 ss="line"><span.class="tok-kw">t
cb780 65 73 74 3c 2f 73 70 61 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"
cb7a0 3e 26 71 75 6f 74 3b 66 6f 6f 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 20 7b 3c 2f 73 70 61 6e 3e >&quot;foo&quot;</span>.{</span>
cb7c0 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 3c 73 70 61 6e 20 63 6c .<span.class="line">....<span.cl
cb7e0 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 63 6f 6d 70 74 69 6d 65 3c 2f 73 70 61 6e 3e 20 7b 3c 2f ass="tok-kw">comptime</span>.{</
cb800 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 20 20 20 span>.<span.class="line">.......
cb820 20 3c 73 70 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 .<span.class="tok-builtin">@setE
cb840 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 20 63 6c 61 73 valBranchQuota</span>(<span.clas
cb860 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 3b 3c 2f 73 70 s="tok-number">1001</span>);</sp
cb880 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 20 20 20 20 3c an>.<span.class="line">........<
cb8a0 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 76 61 72 3c 2f 73 70 61 6e 3e 20 69 span.class="tok-kw">var</span>.i
cb8c0 20 3d 20 3c 73 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
cb8e0 70 61 6e 3e 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e pan>;</span>.<span.class="line">
cb900 20 20 20 20 20 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 ........<span.class="tok-kw">whi
cb920 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 74 le</span>.(i.&lt;.<span.class="t
cb940 6f 6b 2d 6e 75 6d 62 65 72 22 3e 31 30 30 31 3c 2f 73 70 61 6e 3e 29 20 3a 20 28 69 20 2b 3d 20 ok-number">1001</span>).:.(i.+=.
cb960 3c 73 70 61 6e 20 63 6c 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
cb980 3e 29 20 7b 7d 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e >).{}</span>.<span.class="line">
cb9a0 20 20 20 20 7d 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e ....}</span>.<span.class="line">
cb9c0 7d 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 3c 2f 70 72 65 3e 3c 2f 66 69 67 75 72 65 3e 3c 66 }</span></code></pre></figure><f
cb9e0 69 67 75 72 65 3e 3c 66 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
cba00 61 70 22 3e 53 68 65 6c 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
cba20 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 24 20 3c 6b 62 64 3e 7a 69 67 20 74 ><span.class="line">$.<kbd>zig.t
cba40 65 73 74 20 73 65 74 45 76 61 6c 42 72 61 6e 63 68 51 75 6f 74 61 2e 7a 69 67 3c 2f 6b 62 64 3e est.setEvalBranchQuota.zig</kbd>
cba60 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 31 2f 31 20 74 </span>.<span.class="line">1/1.t
cba80 65 73 74 2e 66 6f 6f 2e 2e 2e 20 4f 4b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 est.foo....OK</span>.<span.class
cbaa0 3d 22 6c 69 6e 65 22 3e 41 6c 6c 20 31 20 74 65 73 74 73 20 70 61 73 73 65 64 2e 3c 2f 73 70 61 ="line">All.1.tests.passed.</spa
cbac0 6e 3e 0a 3c 2f 73 61 6d 70 3e 3c 2f 70 72 65 3e 3c 2f 66 69 67 75 72 65 3e 0a 0a 20 20 20 20 20 n>.</samp></pre></figure>.......
cbae0 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
cbb00 66 3d 22 23 63 6f 6d 70 74 69 6d 65 22 3e 63 6f 6d 70 74 69 6d 65 3c 2f 61 3e 3c 2f 6c 69 3e 0a f="#comptime">comptime</a></li>.
cbb20 3c 2f 75 6c 3e 0a 0a 20 20 20 20 20 20 0a 0a 20 20 20 20 20 20 3c 68 33 20 69 64 3d 22 73 65 74 </ul>................<h3.id="set
cbb40 46 6c 6f 61 74 4d 6f 64 65 22 3e 3c 61 20 68 72 65 66 3d 22 23 74 6f 63 2d 73 65 74 46 6c 6f 61 FloatMode"><a.href="#toc-setFloa
cbb60 74 4d 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 tMode">@setFloatMode</a>.<a.clas
cbb80 73 3d 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 s="hdr".href="#setFloatMode">..<
cbba0 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
cbbc0 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 62 .class="line"><span.class="tok-b
cbbe0 75 69 6c 74 69 6e 22 3e 40 73 65 74 46 6c 6f 61 74 4d 6f 64 65 3c 2f 73 70 61 6e 3e 28 3c 73 70 uiltin">@setFloatMode</span>(<sp
cbc00 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
cbc20 3e 20 6d 6f 64 65 3a 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 62 75 69 6c 74 69 6e >.mode:.<span.class="tok-builtin
cbc40 22 3e 40 69 6d 70 6f 72 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
cbc60 6b 2d 73 74 72 22 3e 26 71 75 6f 74 3b 73 74 64 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 29 2e 62 k-str">&quot;std&quot;</span>).b
cbc80 75 69 6c 74 69 6e 2e 46 6c 6f 61 74 4d 6f 64 65 29 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 3c uiltin.FloatMode)</span></code><
cbca0 2f 70 72 65 3e 0a 20 20 20 20 20 20 3c 70 3e 0a 20 20 20 20 20 20 53 65 74 73 20 74 68 65 20 66 /pre>.......<p>.......Sets.the.f
cbcc0 6c 6f 61 74 69 6e 67 20 70 6f 69 6e 74 20 6d 6f 64 65 20 6f 66 20 74 68 65 20 63 75 72 72 65 6e loating.point.mode.of.the.curren
cbce0 74 20 73 63 6f 70 65 2e 20 50 6f 73 73 69 62 6c 65 20 76 61 6c 75 65 73 20 61 72 65 3a 0a 20 20 t.scope..Possible.values.are:...
cbd00 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
cbd20 6f 6e 20 63 6c 61 73 73 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="
cbd40 66 69 6c 65 22 3e 74 65 73 74 2e 7a 69 67 3c 2f 63 69 74 65 3e 3c 2f 66 69 67 63 61 70 74 69 6f file">test.zig</cite></figcaptio
cbd60 6e 3e 3c 70 72 65 3e 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e n><pre><code><span.class="line">
cbd80 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>.
cbda0 3c 73 70 61 6e 20 63 6c 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
cbdc0 3e 20 46 6c 6f 61 74 4d 6f 64 65 20 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b >.FloatMode.=.<span.class="tok-k
cbde0 77 22 3e 65 6e 75 6d 3c 2f 73 70 61 6e 3e 20 7b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c w">enum</span>.{</span>.<span.cl
cbe00 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 53 74 72 69 63 74 2c 3c 2f 73 70 61 6e 3e 0a 3c 73 ass="line">....Strict,</span>.<s
cbe20 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 4f 70 74 69 6d 69 7a 65 64 2c 3c pan.class="line">....Optimized,<
cbe40 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 7d 3b 3c 2f 73 70 /span>.<span.class="line">};</sp
cbe60 61 6e 3e 3c 2f 63 6f 64 65 3e 3c 2f 70 72 65 3e 3c 2f 66 69 67 75 72 65 3e 0a 20 20 20 20 20 20 an></code></pre></figure>.......
cbe80 3c 75 6c 3e 0a 20 20 20 20 20 20 20 20 3c 6c 69 3e 0a 20 20 20 20 20 20 20 20 20 20 20 20 3c 63 <ul>.........<li>.............<c
cbea0 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 53 74 72 69 63 74 3c 2f 73 ode><span.class="line">Strict</s
cbec0 70 61 6e 3e 3c 2f 63 6f 64 65 3e 20 28 64 65 66 61 75 6c 74 29 20 2d 20 46 6c 6f 61 74 69 6e 67 pan></code>.(default).-.Floating
cbee0 20 70 6f 69 6e 74 20 6f 70 65 72 61 74 69 6f 6e 73 20 66 6f 6c 6c 6f 77 20 73 74 72 69 63 74 20 .point.operations.follow.strict.
cbf00 49 45 45 45 20 63 6f 6d 70 6c 69 61 6e 63 65 2e 0a 20 20 20 20 20 20 20 20 3c 2f 6c 69 3e 0a 20 IEEE.compliance..........</li>..
cbf20 20 20 20 20 20 20 20 3c 6c 69 3e 0a 20 20 20 20 20 20 20 20 20 20 20 20 3c 63 6f 64 65 3e 3c 73 .......<li>.............<code><s
cbf40 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 4f 70 74 69 6d 69 7a 65 64 3c 2f 73 70 61 6e pan.class="line">Optimized</span
cbf60 3e 3c 2f 63 6f 64 65 3e 20 2d 20 46 6c 6f 61 74 69 6e 67 20 70 6f 69 6e 74 20 6f 70 65 72 61 74 ></code>.-.Floating.point.operat
cbf80 69 6f 6e 73 20 6d 61 79 20 64 6f 20 61 6c 6c 20 6f 66 20 74 68 65 20 66 6f 6c 6c 6f 77 69 6e 67 ions.may.do.all.of.the.following
cbfa0 3a 0a 20 20 20 20 20 20 20 20 20 20 3c 75 6c 3e 0a 20 20 20 20 20 20 20 20 20 20 20 20 3c 6c 69 :...........<ul>.............<li
cbfc0 3e 41 73 73 75 6d 65 20 74 68 65 20 61 72 67 75 6d 65 6e 74 73 20 61 6e 64 20 72 65 73 75 6c 74 >Assume.the.arguments.and.result
cbfe0 20 61 72 65 20 6e 6f 74 20 4e 61 4e 2e 20 4f 70 74 69 6d 69 7a 61 74 69 6f 6e 73 20 61 72 65 20 .are.not.NaN..Optimizations.are.
cc000 72 65 71 75 69 72 65 64 20 74 6f 20 72 65 74 61 69 6e 20 64 65 66 69 6e 65 64 20 62 65 68 61 76 required.to.retain.defined.behav
cc020 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.
cc040 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>...
cc060 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
cc080 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
cc0a0 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
cc0c0 69 6e 20 64 65 66 69 6e 65 64 20 62 65 68 61 76 69 6f 72 20 6f 76 65 72 20 2b 2f 2d 49 6e 66 2c in.defined.behavior.over.+/-Inf,
cc0e0 20 62 75 74 20 74 68 65 20 76 61 6c 75 65 20 6f 66 20 74 68 65 20 72 65 73 75 6c 74 20 69 73 20 .but.the.value.of.the.result.is.
cc100 75 6e 64 65 66 69 6e 65 64 2e 3c 2f 6c 69 3e 0a 20 20 20 20 20 20 20 20 20 20 20 20 3c 6c 69 3e undefined.</li>.............<li>
cc120 54 72 65 61 74 20 74 68 65 20 73 69 67 6e 20 6f 66 20 61 20 7a 65 72 6f 20 61 72 67 75 6d 65 6e Treat.the.sign.of.a.zero.argumen
cc140 74 20 6f 72 20 72 65 73 75 6c 74 20 61 73 20 69 6e 73 69 67 6e 69 66 69 63 61 6e 74 2e 3c 2f 6c t.or.result.as.insignificant.</l
cc160 69 3e 0a 20 20 20 20 20 20 20 20 20 20 20 20 3c 6c 69 3e 55 73 65 20 74 68 65 20 72 65 63 69 70 i>.............<li>Use.the.recip
cc180 72 6f 63 61 6c 20 6f 66 20 61 6e 20 61 72 67 75 6d 65 6e 74 20 72 61 74 68 65 72 20 74 68 61 6e rocal.of.an.argument.rather.than
cc1a0 20 70 65 72 66 6f 72 6d 20 64 69 76 69 73 69 6f 6e 2e 3c 2f 6c 69 3e 0a 20 20 20 20 20 20 20 20 .perform.division.</li>.........
cc1c0 20 20 20 20 3c 6c 69 3e 50 65 72 66 6f 72 6d 20 66 6c 6f 61 74 69 6e 67 2d 70 6f 69 6e 74 20 63 ....<li>Perform.floating-point.c
cc1e0 6f 6e 74 72 61 63 74 69 6f 6e 20 28 65 2e 67 2e 20 66 75 73 69 6e 67 20 61 20 6d 75 6c 74 69 70 ontraction.(e.g..fusing.a.multip
cc200 6c 79 20 66 6f 6c 6c 6f 77 65 64 20 62 79 20 61 6e 20 61 64 64 69 74 69 6f 6e 20 69 6e 74 6f 20 ly.followed.by.an.addition.into.
cc220 61 20 66 75 73 65 64 20 6d 75 6c 74 69 70 6c 79 2d 61 64 64 29 2e 3c 2f 6c 69 3e 0a 20 20 20 20 a.fused.multiply-add).</li>.....
cc240 20 20 20 20 20 20 20 20 3c 6c 69 3e 50 65 72 66 6f 72 6d 20 61 6c 67 65 62 72 61 69 63 61 6c 6c ........<li>Perform.algebraicall
cc260 79 20 65 71 75 69 76 61 6c 65 6e 74 20 74 72 61 6e 73 66 6f 72 6d 61 74 69 6f 6e 73 20 74 68 61 y.equivalent.transformations.tha
cc280 74 20 6d 61 79 20 63 68 61 6e 67 65 20 72 65 73 75 6c 74 73 20 69 6e 20 66 6c 6f 61 74 69 6e 67 t.may.change.results.in.floating
cc2a0 20 70 6f 69 6e 74 20 28 65 2e 67 2e 20 72 65 61 73 73 6f 63 69 61 74 65 29 2e 3c 2f 6c 69 3e 0a .point.(e.g..reassociate).</li>.
cc2c0 20 20 20 20 20 20 20 20 20 20 3c 2f 75 6c 3e 0a 20 20 20 20 20 20 20 20 20 20 54 68 69 73 20 69 ..........</ul>...........This.i
cc2e0 73 20 65 71 75 69 76 61 6c 65 6e 74 20 74 6f 20 3c 63 6f 64 65 3e 2d 66 66 61 73 74 2d 6d 61 74 s.equivalent.to.<code>-ffast-mat
cc300 68 3c 2f 63 6f 64 65 3e 20 69 6e 20 47 43 43 2e 0a 20 20 20 20 20 20 20 20 3c 2f 6c 69 3e 0a 20 h</code>.in.GCC..........</li>..
cc320 20 20 20 20 20 3c 2f 75 6c 3e 0a 20 20 20 20 20 20 3c 70 3e 0a 20 20 20 20 20 20 54 68 65 20 66 .....</ul>.......<p>.......The.f
cc340 6c 6f 61 74 69 6e 67 20 70 6f 69 6e 74 20 6d 6f 64 65 20 69 73 20 69 6e 68 65 72 69 74 65 64 20 loating.point.mode.is.inherited.
cc360 62 79 20 63 68 69 6c 64 20 73 63 6f 70 65 73 2c 20 61 6e 64 20 63 61 6e 20 62 65 20 6f 76 65 72 by.child.scopes,.and.can.be.over
cc380 72 69 64 64 65 6e 20 69 6e 20 61 6e 79 20 73 63 6f 70 65 2e 0a 20 20 20 20 20 20 59 6f 75 20 63 ridden.in.any.scope........You.c
cc3a0 61 6e 20 73 65 74 20 74 68 65 20 66 6c 6f 61 74 69 6e 67 20 70 6f 69 6e 74 20 6d 6f 64 65 20 69 an.set.the.floating.point.mode.i
cc3c0 6e 20 61 20 73 74 72 75 63 74 20 6f 72 20 6d 6f 64 75 6c 65 20 73 63 6f 70 65 20 62 79 20 75 73 n.a.struct.or.module.scope.by.us
cc3e0 69 6e 67 20 61 20 63 6f 6d 70 74 69 6d 65 20 62 6c 6f 63 6b 2e 0a 20 20 20 20 20 20 3c 2f 70 3e ing.a.comptime.block........</p>
cc400 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>
cc420 3c 61 20 68 72 65 66 3d 22 23 46 6c 6f 61 74 69 6e 67 2d 50 6f 69 6e 74 2d 4f 70 65 72 61 74 69 <a.href="#Floating-Point-Operati
cc440 6f 6e 73 22 3e 46 6c 6f 61 74 69 6e 67 20 50 6f 69 6e 74 20 4f 70 65 72 61 74 69 6f 6e 73 3c 2f ons">Floating.Point.Operations</
cc460 61 3e 3c 2f 6c 69 3e 0a 3c 2f 75 6c 3e 0a 0a 20 20 20 20 20 20 0a 0a 20 20 20 20 20 20 3c 68 33 a></li>.</ul>................<h3
cc480 20 69 64 3d 22 73 65 74 52 75 6e 74 69 6d 65 53 61 66 65 74 79 22 3e 3c 61 20 68 72 65 66 3d 22 .id="setRuntimeSafety"><a.href="
cc4a0 23 74 6f 63 2d 73 65 74 52 75 6e 74 69 6d 65 53 61 66 65 74 79 22 3e 40 73 65 74 52 75 6e 74 69 #toc-setRuntimeSafety">@setRunti
cc4c0 6d 65 53 61 66 65 74 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 meSafety</a>.<a.class="hdr".href
cc4e0 3d 22 23 73 65 74 52 75 6e 74 69 6d 65 53 61 66 65 74 79 22 3e c2 a7 3c 2f 61 3e 3c 2f 68 33 3e ="#setRuntimeSafety">..</a></h3>
cc500 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="
cc520 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 62 75 69 6c 74 69 6e 22 3e line"><span.class="tok-builtin">
cc540 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 63 @setRuntimeSafety</span>(<span.c
cc560 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 73 61 lass="tok-kw">comptime</span>.sa
cc580 66 65 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 fety_on:.<span.class="tok-type">
cc5a0 62 6f 6f 6c 3c 2f 73 70 61 6e 3e 29 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 bool</span>).<span.class="tok-ty
cc5c0 70 65 22 3e 76 6f 69 64 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 3c 2f 70 pe">void</span></span></code></p
cc5e0 72 65 3e 0a 20 20 20 20 20 20 3c 70 3e 0a 20 20 20 20 20 20 53 65 74 73 20 77 68 65 74 68 65 72 re>.......<p>.......Sets.whether
cc600 20 72 75 6e 74 69 6d 65 20 73 61 66 65 74 79 20 63 68 65 63 6b 73 20 61 72 65 20 65 6e 61 62 6c .runtime.safety.checks.are.enabl
cc620 65 64 20 66 6f 72 20 74 68 65 20 73 63 6f 70 65 20 74 68 61 74 20 63 6f 6e 74 61 69 6e 73 20 74 ed.for.the.scope.that.contains.t
cc640 68 65 20 66 75 6e 63 74 69 6f 6e 20 63 61 6c 6c 2e 0a 20 20 20 20 20 20 3c 2f 70 3e 0a 20 20 20 he.function.call........</p>....
cc660 20 20 20 3c 66 69 67 75 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
cc680 67 2d 63 61 70 22 3e 3c 63 69 74 65 20 63 6c 61 73 73 3d 22 66 69 6c 65 22 3e 74 65 73 74 2e 7a g-cap"><cite.class="file">test.z
cc6a0 69 67 3c 2f 63 69 74 65 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
cc6c0 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d ><span.class="line"><span.class=
cc6e0 22 74 6f 6b 2d 6b 77 22 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
cc700 3d 22 74 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 ="tok-str">&quot;@setRuntimeSafe
cc720 74 79 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 20 7b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 ty&quot;</span>.{</span>.<span.c
cc740 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b lass="line">....<span.class="tok
cc760 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 69 65 73 -comment">//.The.builtin.applies
cc780 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 65 64 20 .to.the.scope.that.it.is.called.
cc7a0 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 3c 2f 73 in..So.here,.integer.overflow</s
cc7c0 70 61 6e 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 pan></span>.<span.class="line">.
cc7e0 20 20 20 3c 73 70 61 6e 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">//.
cc800 77 69 6c 6c 20 6e 6f 74 20 62 65 20 63 61 75 67 68 74 20 69 6e 20 52 65 6c 65 61 73 65 46 61 73 will.not.be.caught.in.ReleaseFas
cc820 74 20 61 6e 64 20 52 65 6c 65 61 73 65 53 6d 61 6c 6c 20 6d 6f 64 65 73 3a 3c 2f 73 70 61 6e 3e t.and.ReleaseSmall.modes:</span>
cc840 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 3c </span>.<span.class="line">....<
cc860 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 63 6f 6d 6d 65 6e 74 22 3e 2f 2f 20 76 61 72 20 span.class="tok-comment">//.var.
cc880 78 3a 20 75 38 20 3d 20 32 35 35 3b 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e x:.u8.=.255;</span></span>.<span
cc8a0 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 .class="line">....<span.class="t
cc8c0 6f 6b 2d 63 6f 6d 6d 65 6e 74 22 3e 2f 2f 20 78 20 2b 3d 20 31 3b 20 2f 2f 20 75 6e 64 65 66 69 ok-comment">//.x.+=.1;.//.undefi
cc8e0 6e 65 64 20 62 65 68 61 76 69 6f 72 20 69 6e 20 52 65 6c 65 61 73 65 46 61 73 74 2f 52 65 6c 65 ned.behavior.in.ReleaseFast/Rele
cc900 61 73 65 53 6d 61 6c 6c 20 6d 6f 64 65 73 2e 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 aseSmall.modes.</span></span>.<s
cc920 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 7b 3c 2f 73 70 61 6e 3e 0a 3c 73 pan.class="line">....{</span>.<s
cc940 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 20 20 20 20 3c 73 70 61 6e 20 63 pan.class="line">........<span.c
cc960 6c 61 73 73 3d 22 74 6f 6b 2d 63 6f 6d 6d 65 6e 74 22 3e 2f 2f 20 48 6f 77 65 76 65 72 20 74 68 lass="tok-comment">//.However.th
cc980 69 73 20 62 6c 6f 63 6b 20 68 61 73 20 73 61 66 65 74 79 20 65 6e 61 62 6c 65 64 2c 20 73 6f 20 is.block.has.safety.enabled,.so.
cc9a0 73 61 66 65 74 79 20 63 68 65 63 6b 73 20 68 61 70 70 65 6e 20 68 65 72 65 2c 3c 2f 73 70 61 6e safety.checks.happen.here,</span
cc9c0 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 ></span>.<span.class="line">....
cc9e0 20 20 20 20 3c 73 70 61 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">//
cca00 20 65 76 65 6e 20 69 6e 20 52 65 6c 65 61 73 65 46 61 73 74 20 61 6e 64 20 52 65 6c 65 61 73 65 .even.in.ReleaseFast.and.Release
cca20 53 6d 61 6c 6c 20 6d 6f 64 65 73 2e 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e Small.modes.</span></span>.<span
cca40 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 .class="line">........<span.clas
cca60 73 3d 22 74 6f 6b 2d 62 75 69 6c 74 69 6e 22 3e 40 73 65 74 52 75 6e 74 69 6d 65 53 61 66 65 74 s="tok-builtin">@setRuntimeSafet
cca80 79 3c 2f 73 70 61 6e 3e 28 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6c 6c 22 3e y</span>(<span.class="tok-null">
ccaa0 74 72 75 65 3c 2f 73 70 61 6e 3e 29 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 true</span>);</span>.<span.class
ccac0 3d 22 6c 69 6e 65 22 3e 20 20 20 20 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b ="line">........<span.class="tok
ccae0 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="
ccb00 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
ccb20 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 3c 2f 73 70 61 6e s="tok-number">255</span>;</span
ccb40 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 20 20 20 20 78 20 2b >.<span.class="line">........x.+
ccb60 3d 20 3c 73 70 61 6e 20 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
ccb80 61 6e 3e 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c an>;</span>.<span.class="line"><
ccba0 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 20 20 /span>.<span.class="line">......
ccbc0 20 20 7b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 ..{</span>.<span.class="line">..
ccbe0 20 20 20 20 20 20 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 63 6f 6d 6d 65 ..........<span.class="tok-comme
ccc00 6e 74 22 3e 2f 2f 20 54 68 65 20 76 61 6c 75 65 20 63 61 6e 20 62 65 20 6f 76 65 72 72 69 64 64 nt">//.The.value.can.be.overridd
ccc20 65 6e 20 61 74 20 61 6e 79 20 73 63 6f 70 65 2e 20 53 6f 20 68 65 72 65 20 69 6e 74 65 67 65 72 en.at.any.scope..So.here.integer
ccc40 20 6f 76 65 72 66 6c 6f 77 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c .overflow</span></span>.<span.cl
ccc60 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 20 20 20 20 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 ass="line">............<span.cla
ccc80 73 73 3d 22 74 6f 6b 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 ss="tok-comment">//.would.not.be
ccca0 20 63 61 75 67 68 74 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 .caught.in.any.build.mode.</span
cccc0 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 ></span>.<span.class="line">....
ccce0 20 20 20 20 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 62 75 69 6c 74 69 6e ........<span.class="tok-builtin
ccd00 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 70 61 6e ">@setRuntimeSafety</span>(<span
ccd20 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6c 6c 22 3e 66 61 6c 73 65 3c 2f 73 70 61 6e 3e 29 3b .class="tok-null">false</span>);
ccd40 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 20 </span>.<span.class="line">.....
ccd60 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"
ccd80 3e 2f 2f 20 76 61 72 20 78 3a 20 75 38 20 3d 20 32 35 35 3b 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 >//.var.x:.u8.=.255;</span></spa
ccda0 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 20 20 20 20 20 20 n>.<span.class="line">..........
ccdc0 20 20 3c 73 70 61 6e 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
ccde0 20 2b 3d 20 31 3b 20 2f 2f 20 75 6e 64 65 66 69 6e 65 64 20 62 65 68 61 76 69 6f 72 20 69 6e 20 .+=.1;.//.undefined.behavior.in.
cce00 61 6c 6c 20 62 75 69 6c 64 20 6d 6f 64 65 73 2e 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 0a 3c all.build.modes.</span></span>.<
cce20 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 20 20 20 20 7d 3c 2f 73 70 61 span.class="line">........}</spa
cce40 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 7d 3c 2f 73 70 61 n>.<span.class="line">....}</spa
cce60 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 7d 3c 2f 73 70 61 6e 3e 3c 2f n>.<span.class="line">}</span></
cce80 63 6f 64 65 3e 3c 2f 70 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
ccea0 63 61 70 74 69 6f 6e 20 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<
ccec0 2f 66 69 67 63 61 70 74 69 6f 6e 3e 3c 70 72 65 3e 3c 73 61 6d 70 3e 3c 73 70 61 6e 20 63 6c 61 /figcaption><pre><samp><span.cla
ccee0 73 73 3d 22 6c 69 6e 65 22 3e 24 20 3c 6b 62 64 3e 7a 69 67 20 74 65 73 74 20 74 65 73 74 2e 7a ss="line">$.<kbd>zig.test.test.z
ccf00 69 67 20 2d 4f 52 65 6c 65 61 73 65 46 61 73 74 3c 2f 6b 62 64 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 ig.-OReleaseFast</kbd></span>.<s
ccf20 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 31 2f 31 20 74 65 73 74 2e 40 73 65 74 52 75 pan.class="line">1/1.test.@setRu
ccf40 6e 74 69 6d 65 53 61 66 65 74 79 2e 2e 2e 20 74 68 72 65 61 64 20 33 35 38 33 38 39 32 20 70 61 ntimeSafety....thread.3583892.pa
ccf60 6e 69 63 3a 20 69 6e 74 65 67 65 72 20 6f 76 65 72 66 6c 6f 77 3c 2f 73 70 61 6e 3e 0a 3c 73 70 nic:.integer.overflow</span>.<sp
ccf80 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 65 72 72 6f 72 3a 20 74 68 65 20 66 6f 6c 6c 6f an.class="line">error:.the.follo
ccfa0 77 69 6e 67 20 74 65 73 74 20 63 6f 6d 6d 61 6e 64 20 63 72 61 73 68 65 64 3a 3c 2f 73 70 61 6e wing.test.command.crashed:</span
ccfc0 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 2f 68 6f 6d 65 2f 63 69 2f 72 65 >.<span.class="line">/home/ci/re
ccfe0 6c 65 61 73 65 2d 30 2e 31 30 2e 31 2f 6f 75 74 2f 7a 69 67 2d 6c 6f 63 61 6c 2d 63 61 63 68 65 lease-0.10.1/out/zig-local-cache
cd000 2f 6f 2f 36 62 63 33 30 37 63 65 65 30 34 31 33 65 62 34 37 39 34 34 38 66 62 64 64 35 35 38 39 /o/6bc307cee0413eb479448fbdd5589
cd020 61 32 62 2f 74 65 73 74 3c 2f 73 70 61 6e 3e 0a 3c 2f 73 61 6d 70 3e 3c 2f 70 72 65 3e 3c 2f 66 a2b/test</span>.</samp></pre></f
cd040 69 67 75 72 65 3e 0a 20 20 20 20 20 20 3c 70 3e 4e 6f 74 65 3a 20 69 74 20 69 73 20 3c 61 20 68 igure>.......<p>Note:.it.is.<a.h
cd060 72 65 66 3d 22 68 74 74 70 73 3a 2f 2f 67 69 74 68 75 62 2e 63 6f 6d 2f 7a 69 67 6c 61 6e 67 2f ref="https://github.com/ziglang/
cd080 7a 69 67 2f 69 73 73 75 65 73 2f 39 37 38 22 3e 70 6c 61 6e 6e 65 64 3c 2f 61 3e 20 74 6f 20 72 zig/issues/978">planned</a>.to.r
cd0a0 65 70 6c 61 63 65 0a 20 20 20 20 20 20 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 eplace.......<code><span.class="
cd0c0 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 62 75 69 6c 74 69 6e 22 3e line"><span.class="tok-builtin">
cd0e0 40 73 65 74 52 75 6e 74 69 6d 65 53 61 66 65 74 79 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 3c @setRuntimeSafety</span></span><
cd100 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 72 3c 2f /code>.with.<code>@optimizeFor</
cd120 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 69 64 3d code></p>................<h3.id=
cd140 22 73 68 6c 45 78 61 63 74 22 3e 3c 61 20 68 72 65 66 3d 22 23 74 6f 63 2d 73 68 6c 45 78 61 63 "shlExact"><a.href="#toc-shlExac
cd160 74 22 3e 40 73 68 6c 45 78 61 63 74 3c 2f 61 3e 20 3c 61 20 63 6c 61 73 73 3d 22 68 64 72 22 20 t">@shlExact</a>.<a.class="hdr".
cd180 68 72 65 66 3d 22 23 73 68 6c 45 78 61 63 74 22 3e c2 a7 3c 2f 61 3e 3c 2f 68 33 3e 0a 0a 20 20 href="#shlExact">..</a></h3>....
cd1a0 20 20 20 20 3c 70 72 65 3e 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 ....<pre><code><span.class="line
cd1c0 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 62 75 69 6c 74 69 6e 22 3e 40 73 68 6c "><span.class="tok-builtin">@shl
cd1e0 45 78 61 63 74 3c 2f 73 70 61 6e 3e 28 76 61 6c 75 65 3a 20 54 2c 20 73 68 69 66 74 5f 61 6d 74 Exact</span>(value:.T,.shift_amt
cd200 3a 20 4c 6f 67 32 54 29 20 54 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 3c 2f 70 72 65 3e 0a 20 :.Log2T).T</span></code></pre>..
cd220 20 20 20 20 20 3c 70 3e 0a 20 20 20 20 20 20 50 65 72 66 6f 72 6d 73 20 74 68 65 20 6c 65 66 74 .....<p>.......Performs.the.left
cd240 20 73 68 69 66 74 20 6f 70 65 72 61 74 69 6f 6e 20 28 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c .shift.operation.(<code><span.cl
cd260 61 73 73 3d 22 6c 69 6e 65 22 3e 26 6c 74 3b 26 6c 74 3b 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 ass="line">&lt;&lt;</span></code
cd280 3e 29 2e 0a 20 20 20 20 20 20 46 6f 72 20 75 6e 73 69 67 6e 65 64 20 69 6e 74 65 67 65 72 73 2c >)........For.unsigned.integers,
cd2a0 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 66 69 6e .the.result.is.<a.href="#undefin
cd2c0 65 64 22 3e 75 6e 64 65 66 69 6e 65 64 3c 2f 61 3e 20 69 66 20 61 6e 79 20 31 20 62 69 74 73 0a ed">undefined</a>.if.any.1.bits.
cd2e0 20 20 20 20 20 20 61 72 65 20 73 68 69 66 74 65 64 20 6f 75 74 2e 20 46 6f 72 20 73 69 67 6e 65 ......are.shifted.out..For.signe
cd300 64 20 69 6e 74 65 67 65 72 73 2c 20 74 68 65 20 72 65 73 75 6c 74 20 69 73 20 3c 61 20 68 72 65 d.integers,.the.result.is.<a.hre
cd320 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 20 69 66 0a f="#undefined">undefined</a>.if.
cd340 20 20 20 20 20 20 61 6e 79 20 62 69 74 73 20 74 68 61 74 20 64 69 73 61 67 72 65 65 20 77 69 74 ......any.bits.that.disagree.wit
cd360 68 20 74 68 65 20 72 65 73 75 6c 74 61 6e 74 20 73 69 67 6e 20 62 69 74 20 61 72 65 20 73 68 69 h.the.resultant.sign.bit.are.shi
cd380 66 74 65 64 20 6f 75 74 2e 0a 20 20 20 20 20 20 3c 2f 70 3e 0a 20 20 20 20 20 20 3c 70 3e 0a 20 fted.out........</p>.......<p>..
cd3a0 20 20 20 20 20 54 68 65 20 74 79 70 65 20 6f 66 20 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 .....The.type.of.<code><span.cla
cd3c0 73 73 3d 22 6c 69 6e 65 22 3e 73 68 69 66 74 5f 61 6d 74 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 ss="line">shift_amt</span></code
cd3e0 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 63 >.is.an.unsigned.integer.with.<c
cd400 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 6c 6f 67 32 28 3c 73 70 61 ode><span.class="line">log2(<spa
cd420 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<
cd440 2f 73 70 61 6e 3e 28 54 29 2e 49 6e 74 2e 62 69 74 73 29 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 /span>(T).Int.bits)</span></code
cd460 3e 20 62 69 74 73 2e 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 54 68 69 73 20 69 73 20 62 65 >.bits................This.is.be
cd480 63 61 75 73 65 20 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 73 cause.<code><span.class="line">s
cd4a0 68 69 66 74 5f 61 6d 74 20 26 67 74 3b 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d hift_amt.&gt;=.<span.class="tok-
cd4c0 62 75 69 6c 74 69 6e 22 3e 40 74 79 70 65 49 6e 66 6f 3c 2f 73 70 61 6e 3e 28 54 29 2e 49 6e 74 builtin">@typeInfo</span>(T).Int
cd4e0 2e 62 69 74 73 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 20 69 73 20 75 6e 64 65 66 69 6e 65 64 .bits</span></code>.is.undefined
cd500 20 62 65 68 61 76 69 6f 72 2e 0a 20 20 20 20 20 20 3c 2f 70 3e 0a 20 20 20 20 20 20 3c 70 3e 53 .behavior........</p>.......<p>S
cd520 65 65 20 61 6c 73 6f 3a 3c 2f 70 3e 3c 75 6c 3e 0a 3c 6c 69 3e 3c 61 20 68 72 65 66 3d 22 23 73 ee.also:</p><ul>.<li><a.href="#s
cd540 68 72 45 78 61 63 74 22 3e 40 73 68 72 45 78 61 63 74 3c 2f 61 3e 3c 2f 6c 69 3e 0a 3c 6c 69 3e hrExact">@shrExact</a></li>.<li>
cd560 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 6c 57 <a.href="#shlWithOverflow">@shlW
cd580 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 20 20 ithOverflow</a></li>.</ul>......
cd5a0 20 20 0a 0a 20 20 20 20 20 20 3c 68 33 20 69 64 3d 22 73 68 6c 57 69 74 68 4f 76 65 72 66 6c 6f ..........<h3.id="shlWithOverflo
cd5c0 77 22 3e 3c 61 20 68 72 65 66 3d 22 23 74 6f 63 2d 73 68 6c 57 69 74 68 4f 76 65 72 66 6c 6f 77 w"><a.href="#toc-shlWithOverflow
cd5e0 22 3e 40 73 68 6c 57 69 74 68 4f 76 65 72 66 6c 6f 77 3c 2f 61 3e 20 3c 61 20 63 6c 61 73 73 3d ">@shlWithOverflow</a>.<a.class=
cd600 22 68 64 72 22 20 68 72 65 66 3d 22 23 73 68 6c 57 69 74 68 4f 76 65 72 66 6c 6f 77 22 3e c2 a7 "hdr".href="#shlWithOverflow">..
cd620 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
cd640 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d n.class="line"><span.class="tok-
cd660 62 75 69 6c 74 69 6e 22 3e 40 73 68 6c 57 69 74 68 4f 76 65 72 66 6c 6f 77 3c 2f 73 70 61 6e 3e builtin">@shlWithOverflow</span>
cd680 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</
cd6a0 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">
cd6c0 74 79 70 65 3c 2f 73 70 61 6e 3e 2c 20 61 3a 20 54 2c 20 73 68 69 66 74 5f 61 6d 74 3a 20 4c 6f type</span>,.a:.T,.shift_amt:.Lo
cd6e0 67 32 54 2c 20 72 65 73 75 6c 74 3a 20 2a 54 29 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f g2T,.result:.*T).<span.class="to
cd700 6b 2d 74 79 70 65 22 3e 62 6f 6f 6c 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 k-type">bool</span></span></code
cd720 3e 3c 2f 70 72 65 3e 0a 20 20 20 20 20 20 3c 70 3e 0a 20 20 20 20 20 20 50 65 72 66 6f 72 6d 73 ></pre>.......<p>.......Performs
cd740 20 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 72 65 73 75 6c 74 .<code><span.class="line">result
cd760 2e 2a 20 3d 20 61 20 26 6c 74 3b 26 6c 74 3b 20 62 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 2e .*.=.a.&lt;&lt;.b</span></code>.
cd780 20 49 66 20 6f 76 65 72 66 6c 6f 77 20 6f 72 20 75 6e 64 65 72 66 6c 6f 77 20 6f 63 63 75 72 73 .If.overflow.or.underflow.occurs
cd7a0 2c 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 73 74 6f 72 65 73 20 74 68 65 20 6f 76 ,..................stores.the.ov
cd7c0 65 72 66 6c 6f 77 65 64 20 62 69 74 73 20 69 6e 20 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 erflowed.bits.in.<code><span.cla
cd7e0 73 73 3d 22 6c 69 6e 65 22 3e 72 65 73 75 6c 74 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 20 61 ss="line">result</span></code>.a
cd800 6e 64 20 72 65 74 75 72 6e 73 20 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 nd.returns.<code><span.class="li
cd820 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6c 6c 22 3e 74 72 75 65 3c ne"><span.class="tok-null">true<
cd840 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 2e 0a 20 20 20 20 20 20 20 20 20 20 /span></span></code>............
cd860 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 49 66 20 6e 6f 20 6f 76 65 72 66 6c 6f 77 20 6f 72 ...............If.no.overflow.or
cd880 20 75 6e 64 65 72 66 6c 6f 77 20 6f 63 63 75 72 73 2c 20 72 65 74 75 72 6e 73 20 3c 63 6f 64 65 .underflow.occurs,.returns.<code
cd8a0 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d ><span.class="line"><span.class=
cd8c0 22 74 6f 6b 2d 6e 75 6c 6c 22 3e 66 61 6c 73 65 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 3c 2f "tok-null">false</span></span></
cd8e0 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>.....
cd900 20 20 54 68 65 20 74 79 70 65 20 6f 66 20 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d ..The.type.of.<code><span.class=
cd920 22 6c 69 6e 65 22 3e 73 68 69 66 74 5f 61 6d 74 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 20 69 "line">shift_amt</span></code>.i
cd940 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 65 s.an.unsigned.integer.with.<code
cd960 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 6c 6f 67 32 28 3c 73 70 61 6e 20 63 ><span.class="line">log2(<span.c
cd980 6c 61 73 73 3d 22 74 6f 6b 2d 62 75 69 6c 74 69 6e 22 3e 40 74 79 70 65 49 6e 66 6f 3c 2f 73 70 lass="tok-builtin">@typeInfo</sp
cd9a0 61 6e 3e 28 54 29 2e 49 6e 74 2e 62 69 74 73 29 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 20 62 an>(T).Int.bits)</span></code>.b
cd9c0 69 74 73 2e 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 54 68 69 73 20 69 73 20 62 65 63 61 75 its................This.is.becau
cd9e0 73 65 20 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 73 68 69 66 se.<code><span.class="line">shif
cda00 74 5f 61 6d 74 20 26 67 74 3b 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 62 75 69 t_amt.&gt;=.<span.class="tok-bui
cda20 6c 74 69 6e 22 3e 40 74 79 70 65 49 6e 66 6f 3c 2f 73 70 61 6e 3e 28 54 29 2e 49 6e 74 2e 62 69 ltin">@typeInfo</span>(T).Int.bi
cda40 74 73 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 20 69 73 20 75 6e 64 65 66 69 6e 65 64 20 62 65 ts</span></code>.is.undefined.be
cda60 68 61 76 69 6f 72 2e 0a 20 20 20 20 20 20 3c 2f 70 3e 0a 20 20 20 20 20 20 3c 70 3e 53 65 65 20 havior........</p>.......<p>See.
cda80 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 6c 45 also:</p><ul>.<li><a.href="#shlE
cdaa0 78 61 63 74 22 3e 40 73 68 6c 45 78 61 63 74 3c 2f 61 3e 3c 2f 6c 69 3e 0a 3c 6c 69 3e 3c 61 20 xact">@shlExact</a></li>.<li><a.
cdac0 68 72 65 66 3d 22 23 73 68 72 45 78 61 63 74 22 3e 40 73 68 72 45 78 61 63 74 3c 2f 61 3e 3c 2f href="#shrExact">@shrExact</a></
cdae0 6c 69 3e 0a 3c 2f 75 6c 3e 0a 0a 20 20 20 20 20 20 0a 0a 20 20 20 20 20 20 3c 68 33 20 69 64 3d li>.</ul>................<h3.id=
cdb00 22 73 68 72 45 78 61 63 74 22 3e 3c 61 20 68 72 65 66 3d 22 23 74 6f 63 2d 73 68 72 45 78 61 63 "shrExact"><a.href="#toc-shrExac
cdb20 74 22 3e 40 73 68 72 45 78 61 63 74 3c 2f 61 3e 20 3c 61 20 63 6c 61 73 73 3d 22 68 64 72 22 20 t">@shrExact</a>.<a.class="hdr".
cdb40 68 72 65 66 3d 22 23 73 68 72 45 78 61 63 74 22 3e c2 a7 3c 2f 61 3e 3c 2f 68 33 3e 0a 0a 20 20 href="#shrExact">..</a></h3>....
cdb60 20 20 20 20 3c 70 72 65 3e 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 ....<pre><code><span.class="line
cdb80 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 62 75 69 6c 74 69 6e 22 3e 40 73 68 72 "><span.class="tok-builtin">@shr
cdba0 45 78 61 63 74 3c 2f 73 70 61 6e 3e 28 76 61 6c 75 65 3a 20 54 2c 20 73 68 69 66 74 5f 61 6d 74 Exact</span>(value:.T,.shift_amt
cdbc0 3a 20 4c 6f 67 32 54 29 20 54 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 3c 2f 70 72 65 3e 0a 20 :.Log2T).T</span></code></pre>..
cdbe0 20 20 20 20 20 3c 70 3e 0a 20 20 20 20 20 20 50 65 72 66 6f 72 6d 73 20 74 68 65 20 72 69 67 68 .....<p>.......Performs.the.righ
cdc00 74 20 73 68 69 66 74 20 6f 70 65 72 61 74 69 6f 6e 20 28 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 t.shift.operation.(<code><span.c
cdc20 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 26 67 74 3b 26 67 74 3b 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 lass="line">&gt;&gt;</span></cod
cdc40 65 3e 29 2e 20 43 61 6c 6c 65 72 20 67 75 61 72 61 6e 74 65 65 73 0a 20 20 20 20 20 20 74 68 61 e>)..Caller.guarantees.......tha
cdc60 74 20 74 68 65 20 73 68 69 66 74 20 77 69 6c 6c 20 6e 6f 74 20 73 68 69 66 74 20 61 6e 79 20 31 t.the.shift.will.not.shift.any.1
cdc80 20 62 69 74 73 20 6f 75 74 2e 0a 20 20 20 20 20 20 3c 2f 70 3e 0a 20 20 20 20 20 20 3c 70 3e 0a .bits.out........</p>.......<p>.
cdca0 20 20 20 20 20 20 54 68 65 20 74 79 70 65 20 6f 66 20 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c ......The.type.of.<code><span.cl
cdcc0 61 73 73 3d 22 6c 69 6e 65 22 3e 73 68 69 66 74 5f 61 6d 74 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 ass="line">shift_amt</span></cod
cdce0 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.<
cdd00 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 6c 6f 67 32 28 3c 73 70 code><span.class="line">log2(<sp
cdd20 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
cdd40 3c 2f 73 70 61 6e 3e 28 54 29 2e 49 6e 74 2e 62 69 74 73 29 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 </span>(T).Int.bits)</span></cod
cdd60 65 3e 20 62 69 74 73 2e 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 54 68 69 73 20 69 73 20 62 e>.bits................This.is.b
cdd80 65 63 61 75 73 65 20 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e ecause.<code><span.class="line">
cdda0 73 68 69 66 74 5f 61 6d 74 20 26 67 74 3b 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b shift_amt.&gt;=.<span.class="tok
cddc0 2d 62 75 69 6c 74 69 6e 22 3e 40 74 79 70 65 49 6e 66 6f 3c 2f 73 70 61 6e 3e 28 54 29 2e 49 6e -builtin">@typeInfo</span>(T).In
cdde0 74 2e 62 69 74 73 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 20 69 73 20 75 6e 64 65 66 69 6e 65 t.bits</span></code>.is.undefine
cde00 64 20 62 65 68 61 76 69 6f 72 2e 0a 20 20 20 20 20 20 3c 2f 70 3e 0a 20 20 20 20 20 20 3c 70 3e d.behavior........</p>.......<p>
cde20 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="#
cde40 73 68 6c 45 78 61 63 74 22 3e 40 73 68 6c 45 78 61 63 74 3c 2f 61 3e 3c 2f 6c 69 3e 0a 3c 6c 69 shlExact">@shlExact</a></li>.<li
cde60 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 6c ><a.href="#shlWithOverflow">@shl
cde80 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 20 WithOverflow</a></li>.</ul>.....
cdea0 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 68 ...........<h3.id="shuffle"><a.h
cdec0 72 65 66 3d 22 23 74 6f 63 2d 73 68 75 66 66 6c 65 22 3e 40 73 68 75 66 66 6c 65 3c 2f 61 3e 20 ref="#toc-shuffle">@shuffle</a>.
cdee0 3c 61 20 63 6c 61 73 73 3d 22 68 64 72 22 20 68 72 65 66 3d 22 23 73 68 75 66 66 6c 65 22 3e c2 <a.class="hdr".href="#shuffle">.
cdf00 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
cdf20 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b an.class="line"><span.class="tok
cdf40 2d 62 75 69 6c 74 69 6e 22 3e 40 73 68 75 66 66 6c 65 3c 2f 73 70 61 6e 3e 28 3c 73 70 61 6e 20 -builtin">@shuffle</span>(<span.
cdf60 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 45 class="tok-kw">comptime</span>.E
cdf80 3a 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 74 79 70 65 3c 2f 73 :.<span.class="tok-type">type</s
cdfa0 70 61 6e 3e 2c 20 61 3a 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 62 75 69 6c 74 69 pan>,.a:.<span.class="tok-builti
cdfc0 6e 22 3e 40 56 65 63 74 6f 72 3c 2f 73 70 61 6e 3e 28 61 5f 6c 65 6e 2c 20 45 29 2c 20 62 3a 20 n">@Vector</span>(a_len,.E),.b:.
cdfe0 3c 73 70 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
ce000 72 3c 2f 73 70 61 6e 3e 28 62 5f 6c 65 6e 2c 20 45 29 2c 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d r</span>(b_len,.E),.<span.class=
ce020 22 74 6f 6b 2d 6b 77 22 3e 63 6f 6d 70 74 69 6d 65 3c 2f 73 70 61 6e 3e 20 6d 61 73 6b 3a 20 3c "tok-kw">comptime</span>.mask:.<
ce040 73 70 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
ce060 3c 2f 73 70 61 6e 3e 28 6d 61 73 6b 5f 6c 65 6e 2c 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 </span>(mask_len,.<span.class="t
ce080 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
ce0a0 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
ce0c0 61 73 6b 5f 6c 65 6e 2c 20 45 29 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 3c 2f 70 72 65 3e 0a ask_len,.E)</span></code></pre>.
ce0e0 20 20 20 20 20 20 3c 70 3e 0a 20 20 20 20 20 20 43 6f 6e 73 74 72 75 63 74 73 20 61 20 6e 65 77 ......<p>.......Constructs.a.new
ce100 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 62 .<a.href="#Vectors">vector</a>.b
ce120 79 20 73 65 6c 65 63 74 69 6e 67 20 65 6c 65 6d 65 6e 74 73 20 66 72 6f 6d 20 3c 63 6f 64 65 3e y.selecting.elements.from.<code>
ce140 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 61 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 <span.class="line">a</span></cod
ce160 65 3e 20 61 6e 64 0a 20 20 20 20 20 20 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 e>.and.......<code><span.class="
ce180 6c 69 6e 65 22 3e 62 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 20 62 61 73 65 64 20 6f 6e 20 3c line">b</span></code>.based.on.<
ce1a0 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 6d 61 73 6b 3c 2f 73 70 code><span.class="line">mask</sp
ce1c0 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>
ce1e0 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 3c 73 70 .......Each.element.in.<code><sp
ce200 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 6d 61 73 6b 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 an.class="line">mask</span></cod
ce220 65 3e 20 73 65 6c 65 63 74 73 20 61 6e 20 65 6c 65 6d 65 6e 74 20 66 72 6f 6d 20 65 69 74 68 65 e>.selects.an.element.from.eithe
ce240 72 20 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 61 3c 2f 73 70 r.<code><span.class="line">a</sp
ce260 61 6e 3e 3c 2f 63 6f 64 65 3e 20 6f 72 0a 20 20 20 20 20 20 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 an></code>.or.......<code><span.
ce280 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 62 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 2e 20 50 6f class="line">b</span></code>..Po
ce2a0 73 69 74 69 76 65 20 6e 75 6d 62 65 72 73 20 73 65 6c 65 63 74 20 66 72 6f 6d 20 3c 63 6f 64 65 sitive.numbers.select.from.<code
ce2c0 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 61 3c 2f 73 70 61 6e 3e 3c 2f 63 6f ><span.class="line">a</span></co
ce2e0 64 65 3e 20 73 74 61 72 74 69 6e 67 20 61 74 20 30 2e 0a 20 20 20 20 20 20 4e 65 67 61 74 69 76 de>.starting.at.0........Negativ
ce300 65 20 76 61 6c 75 65 73 20 73 65 6c 65 63 74 20 66 72 6f 6d 20 3c 63 6f 64 65 3e 3c 73 70 61 6e e.values.select.from.<code><span
ce320 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 62 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 2c 20 73 .class="line">b</span></code>,.s
ce340 74 61 72 74 69 6e 67 20 61 74 20 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 tarting.at.<code><span.class="li
ce360 6e 65 22 3e 2d 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 31 3c ne">-<span.class="tok-number">1<
ce380 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 20 61 6e 64 20 67 6f 69 6e 67 20 64 /span></span></code>.and.going.d
ce3a0 6f 77 6e 2e 0a 20 20 20 20 20 20 49 74 20 69 73 20 72 65 63 6f 6d 6d 65 6e 64 65 64 20 74 6f 20 own........It.is.recommended.to.
ce3c0 75 73 65 20 74 68 65 20 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 use.the.<code><span.class="line"
ce3e0 3e 7e 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 20 6f 70 65 72 61 74 6f 72 20 66 6f 72 20 69 6e >~</span></code>.operator.for.in
ce400 64 65 78 65 73 20 66 72 6f 6d 20 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 dexes.from.<code><span.class="li
ce420 6e 65 22 3e 62 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 0a 20 20 20 20 20 20 73 6f 20 74 68 61 ne">b</span></code>.......so.tha
ce440 74 20 62 6f 74 68 20 69 6e 64 65 78 65 73 20 63 61 6e 20 73 74 61 72 74 20 66 72 6f 6d 20 3c 63 t.both.indexes.can.start.from.<c
ce460 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 ode><span.class="line"><span.cla
ce480 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 30 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 3c ss="tok-number">0</span></span><
ce4a0 2f 63 6f 64 65 3e 20 28 69 2e 65 2e 20 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 /code>.(i.e..<code><span.class="
ce4c0 6c 69 6e 65 22 3e 7e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 62 75 69 6c 74 69 6e 22 line">~<span.class="tok-builtin"
ce4e0 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
ce500 65 22 3e 69 33 32 3c 2f 73 70 61 6e 3e 2c 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d e">i32</span>,.<span.class="tok-
ce520 6e 75 6d 62 65 72 22 3e 30 3c 2f 73 70 61 6e 3e 29 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 20 number">0</span>)</span></code>.
ce540 69 73 0a 20 20 20 20 20 20 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 is.......<code><span.class="line
ce560 22 3e 2d 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 31 3c 2f 73 ">-<span.class="tok-number">1</s
ce580 70 61 6e 3e 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 29 2e 0a 20 20 20 20 20 20 3c 2f 70 3e 0a pan></span></code>)........</p>.
ce5a0 20 20 20 20 20 20 3c 70 3e 0a 20 20 20 20 20 20 46 6f 72 20 65 61 63 68 20 65 6c 65 6d 65 6e 74 ......<p>.......For.each.element
ce5c0 20 6f 66 20 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 6d 61 73 .of.<code><span.class="line">mas
ce5e0 6b 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 2c 20 69 66 20 69 74 20 6f 72 20 74 68 65 20 73 65 k</span></code>,.if.it.or.the.se
ce600 6c 65 63 74 65 64 20 76 61 6c 75 65 20 66 72 6f 6d 0a 20 20 20 20 20 20 3c 63 6f 64 65 3e 3c 73 lected.value.from.......<code><s
ce620 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 61 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e pan.class="line">a</span></code>
ce640 20 6f 72 20 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 62 3c 2f .or.<code><span.class="line">b</
ce660 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 20 69 73 20 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 span></code>.is.<code><span.clas
ce680 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6c 6c 22 3e s="line"><span.class="tok-null">
ce6a0 75 6e 64 65 66 69 6e 65 64 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 2c 0a undefined</span></span></code>,.
ce6c0 20 20 20 20 20 20 74 68 65 6e 20 74 68 65 20 72 65 73 75 6c 74 69 6e 67 20 65 6c 65 6d 65 6e 74 ......then.the.resulting.element
ce6e0 20 69 73 20 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 .is.<code><span.class="line"><sp
ce700 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
ce720 70 61 6e 3e 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 2e 0a 20 20 20 20 20 20 3c 2f 70 3e 0a 20 pan></span></code>........</p>..
ce740 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
ce760 3d 22 6c 69 6e 65 22 3e 61 5f 6c 65 6e 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 20 61 6e 64 20 ="line">a_len</span></code>.and.
ce780 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 62 5f 6c 65 6e 3c 2f <code><span.class="line">b_len</
ce7a0 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 20 6d 61 79 20 64 69 66 66 65 72 20 69 6e 20 6c 65 6e 67 74 span></code>.may.differ.in.lengt
ce7c0 68 2e 20 4f 75 74 2d 6f 66 2d 62 6f 75 6e 64 73 20 65 6c 65 6d 65 6e 74 0a 20 20 20 20 20 20 69 h..Out-of-bounds.element.......i
ce7e0 6e 64 65 78 65 73 20 69 6e 20 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e ndexes.in.<code><span.class="lin
ce800 65 22 3e 6d 61 73 6b 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 20 72 65 73 75 6c 74 20 69 6e 20 e">mask</span></code>.result.in.
ce820 63 6f 6d 70 69 6c 65 20 65 72 72 6f 72 73 2e 0a 20 20 20 20 20 20 3c 2f 70 3e 0a 20 20 20 20 20 compile.errors........</p>......
ce840 20 3c 70 3e 0a 20 20 20 20 20 20 49 66 20 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d .<p>.......If.<code><span.class=
ce860 22 6c 69 6e 65 22 3e 61 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 20 6f 72 20 3c 63 6f 64 65 3e "line">a</span></code>.or.<code>
ce880 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 62 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 <span.class="line">b</span></cod
ce8a0 65 3e 20 69 73 20 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c e>.is.<code><span.class="line"><
ce8c0 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6c 6c 22 3e 75 6e 64 65 66 69 6e 65 64 3c span.class="tok-null">undefined<
ce8e0 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 2c 20 69 74 0a 20 20 20 20 20 20 69 /span></span></code>,.it.......i
ce900 73 20 65 71 75 69 76 61 6c 65 6e 74 20 74 6f 20 61 20 76 65 63 74 6f 72 20 6f 66 20 61 6c 6c 20 s.equivalent.to.a.vector.of.all.
ce920 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 <code><span.class="line"><span.c
ce940 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>
ce960 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 20 77 69 74 68 20 74 68 65 20 73 61 6d 65 20 6c 65 6e </span></code>.with.the.same.len
ce980 67 74 68 20 61 73 20 74 68 65 20 6f 74 68 65 72 20 76 65 63 74 6f 72 2e 0a 20 20 20 20 20 20 49 gth.as.the.other.vector........I
ce9a0 66 20 62 6f 74 68 20 76 65 63 74 6f 72 73 20 61 72 65 20 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 f.both.vectors.are.<code><span.c
ce9c0 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6c lass="line"><span.class="tok-nul
ce9e0 6c 22 3e 75 6e 64 65 66 69 6e 65 64 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 l">undefined</span></span></code
cea00 3e 2c 20 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 >,.<code><span.class="line"><spa
cea20 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 62 75 69 6c 74 69 6e 22 3e 40 73 68 75 66 66 6c 65 3c 2f n.class="tok-builtin">@shuffle</
cea40 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 20 72 65 74 75 72 6e 73 0a 20 20 20 20 span></span></code>.returns.....
cea60 20 20 61 20 76 65 63 74 6f 72 20 77 69 74 68 20 61 6c 6c 20 65 6c 65 6d 65 6e 74 73 20 3c 63 6f ..a.vector.with.all.elements.<co
cea80 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 de><span.class="line"><span.clas
ceaa0 73 3d 22 74 6f 6b 2d 6e 75 6c 6c 22 3e 75 6e 64 65 66 69 6e 65 64 3c 2f 73 70 61 6e 3e 3c 2f 73 s="tok-null">undefined</span></s
ceac0 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
ceae0 3e 0a 20 20 20 20 20 20 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 >.......<code><span.class="line"
ceb00 3e 45 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 20 6d 75 73 74 20 62 65 20 61 6e 20 3c 61 20 68 >E</span></code>.must.be.an.<a.h
ceb20 72 65 66 3d 22 23 49 6e 74 65 67 65 72 73 22 3e 69 6e 74 65 67 65 72 3c 2f 61 3e 2c 20 3c 61 20 ref="#Integers">integer</a>,.<a.
ceb40 68 72 65 66 3d 22 23 46 6c 6f 61 74 73 22 3e 66 6c 6f 61 74 3c 2f 61 3e 2c 0a 20 20 20 20 20 20 href="#Floats">float</a>,.......
ceb60 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 2c <a.href="#Pointers">pointer</a>,
ceb80 20 6f 72 20 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 .or.<code><span.class="line"><sp
ceba0 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 62 6f 6f 6c 3c 2f 73 70 61 6e 3e 3c an.class="tok-type">bool</span><
cebc0 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 2e 20 54 68 65 20 6d 61 73 6b 20 6d 61 79 20 62 65 20 61 /span></code>..The.mask.may.be.a
cebe0 6e 79 20 76 65 63 74 6f 72 20 6c 65 6e 67 74 68 2c 20 61 6e 64 20 69 74 73 0a 20 20 20 20 20 20 ny.vector.length,.and.its.......
cec00 6c 65 6e 67 74 68 20 64 65 74 65 72 6d 69 6e 65 73 20 74 68 65 20 72 65 73 75 6c 74 20 6c 65 6e length.determines.the.result.len
cec20 67 74 68 2e 0a 20 20 20 20 20 20 3c 2f 70 3e 0a 20 20 20 20 20 20 3c 66 69 67 75 72 65 3e 3c 66 gth........</p>.......<figure><f
cec40 69 67 63 61 70 74 69 6f 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.
cec60 63 6c 61 73 73 3d 22 66 69 6c 65 22 3e 76 65 63 74 6f 72 5f 73 68 75 66 66 6c 65 2e 7a 69 67 3c class="file">vector_shuffle.zig<
cec80 2f 63 69 74 65 3e 3c 2f 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
ceca0 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f pan.class="line"><span.class="to
cecc0 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
cece0 6c 61 73 73 3d 22 74 6f 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
ced00 3e 28 3c 73 70 61 6e 20 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
ced20 64 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 29 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c d&quot;</span>);</span>.<span.cl
ced40 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e ass="line"><span.class="tok-kw">
ced60 63 6f 6e 73 74 3c 2f 73 70 61 6e 3e 20 65 78 70 65 63 74 20 3d 20 73 74 64 2e 74 65 73 74 69 6e const</span>.expect.=.std.testin
ced80 67 2e 65 78 70 65 63 74 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 g.expect;</span>.<span.class="li
ceda0 6e 65 22 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c ne"></span>.<span.class="line"><
cedc0 73 70 61 6e 20 63 6c 61 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>.
cede0 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 73 74 72 22 3e 26 71 75 6f 74 3b 76 65 63 74 <span.class="tok-str">&quot;vect
cee00 6f 72 20 40 73 68 75 66 66 6c 65 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 20 7b 3c 2f 73 70 61 6e or.@shuffle&quot;</span>.{</span
cee20 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 3c 73 70 61 6e 20 63 >.<span.class="line">....<span.c
cee40 6c 61 73 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 lass="tok-kw">const</span>.a.=.<
cee60 73 70 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
cee80 3c 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"
ceea0 3e 37 3c 2f 73 70 61 6e 3e 2c 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 >7</span>,.<span.class="tok-type
ceec0 22 3e 75 38 3c 2f 73 70 61 6e 3e 29 7b 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 73 ">u8</span>){.<span.class="tok-s
ceee0 74 72 22 3e 27 6f 27 3c 2f 73 70 61 6e 3e 2c 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b tr">'o'</span>,.<span.class="tok
cef00 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
cef20 6f 6b 2d 73 74 72 22 3e 27 68 27 3c 2f 73 70 61 6e 3e 2c 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d ok-str">'h'</span>,.<span.class=
cef40 22 74 6f 6b 2d 73 74 72 22 3e 27 65 27 3c 2f 73 70 61 6e 3e 2c 20 3c 73 70 61 6e 20 63 6c 61 73 "tok-str">'e'</span>,.<span.clas
cef60 73 3d 22 74 6f 6b 2d 73 74 72 22 3e 27 72 27 3c 2f 73 70 61 6e 3e 2c 20 3c 73 70 61 6e 20 63 6c s="tok-str">'r'</span>,.<span.cl
cef80 61 73 73 3d 22 74 6f 6b 2d 73 74 72 22 3e 27 7a 27 3c 2f 73 70 61 6e 3e 2c 20 3c 73 70 61 6e 20 ass="tok-str">'z'</span>,.<span.
cefa0 63 6c 61 73 73 3d 22 74 6f 6b 2d 73 74 72 22 3e 27 77 27 3c 2f 73 70 61 6e 3e 20 7d 3b 3c 2f 73 class="tok-str">'w'</span>.};</s
cefc0 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 3c 73 70 61 pan>.<span.class="line">....<spa
cefe0 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 63 6f 6e 73 74 3c 2f 73 70 61 6e 3e 20 62 20 n.class="tok-kw">const</span>.b.
cf000 3d 20 3c 73 70 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
cf020 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
cf040 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
cf060 79 70 65 22 3e 75 38 3c 2f 73 70 61 6e 3e 29 7b 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f ype">u8</span>){.<span.class="to
cf080 6b 2d 73 74 72 22 3e 27 77 27 3c 2f 73 70 61 6e 3e 2c 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 k-str">'w'</span>,.<span.class="
cf0a0 74 6f 6b 2d 73 74 72 22 3e 27 64 27 3c 2f 73 70 61 6e 3e 2c 20 3c 73 70 61 6e 20 63 6c 61 73 73 tok-str">'d'</span>,.<span.class
cf0c0 3d 22 74 6f 6b 2d 73 74 72 22 3e 27 21 27 3c 2f 73 70 61 6e 3e 2c 20 3c 73 70 61 6e 20 63 6c 61 ="tok-str">'!'</span>,.<span.cla
cf0e0 73 73 3d 22 74 6f 6b 2d 73 74 72 22 3e 27 78 27 3c 2f 73 70 61 6e 3e 20 7d 3b 3c 2f 73 70 61 6e ss="tok-str">'x'</span>.};</span
cf100 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 >.<span.class="line"></span>.<sp
cf120 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d an.class="line">....<span.class=
cf140 22 74 6f 6b 2d 63 6f 6d 6d 65 6e 74 22 3e 2f 2f 20 54 6f 20 73 68 75 66 66 6c 65 20 77 69 74 68 "tok-comment">//.To.shuffle.with
cf160 69 6e 20 61 20 73 69 6e 67 6c 65 20 76 65 63 74 6f 72 2c 20 70 61 73 73 20 75 6e 64 65 66 69 6e in.a.single.vector,.pass.undefin
cf180 65 64 20 61 73 20 74 68 65 20 73 65 63 6f 6e 64 20 61 72 67 75 6d 65 6e 74 2e 3c 2f 73 70 61 6e ed.as.the.second.argument.</span
cf1a0 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 ></span>.<span.class="line">....
cf1c0 3c 73 70 61 6e 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 <span.class="tok-comment">//.Not
cf1e0 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 75 70 6c 69 63 ice.that.we.can.re-order,.duplic
cf200 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 65 20 69 6e 70 ate,.or.omit.elements.of.the.inp
cf220 75 74 20 76 65 63 74 6f 72 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c ut.vector</span></span>.<span.cl
cf240 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d ass="line">....<span.class="tok-
cf260 6b 77 22 3e 63 6f 6e 73 74 3c 2f 73 70 61 6e 3e 20 6d 61 73 6b 31 20 3d 20 3c 73 70 61 6e 20 63 kw">const</span>.mask1.=.<span.c
cf280 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
cf2a0 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 35 3c 2f 73 70 >(<span.class="tok-number">5</sp
cf2c0 61 6e 3e 2c 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 69 33 32 3c an>,.<span.class="tok-type">i32<
cf2e0 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 72 /span>){.<span.class="tok-number
cf300 22 3e 32 3c 2f 73 70 61 6e 3e 2c 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d ">2</span>,.<span.class="tok-num
cf320 62 65 72 22 3e 33 3c 2f 73 70 61 6e 3e 2c 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d ber">3</span>,.<span.class="tok-
cf340 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
cf360 6f 6b 2d 6e 75 6d 62 65 72 22 3e 31 3c 2f 73 70 61 6e 3e 2c 20 3c 73 70 61 6e 20 63 6c 61 73 73 ok-number">1</span>,.<span.class
cf380 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 30 3c 2f 73 70 61 6e 3e 20 7d 3b 3c 2f 73 70 61 6e 3e ="tok-number">0</span>.};</span>
cf3a0 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 3c 73 70 61 6e 20 63 6c .<span.class="line">....<span.cl
cf3c0 61 73 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 31 3a 20 ass="tok-kw">const</span>.res1:.
cf3e0 3c 73 70 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
cf400 72 3c 2f 73 70 61 6e 3e 28 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 r</span>(<span.class="tok-number
cf420 22 3e 35 3c 2f 73 70 61 6e 3e 2c 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 ">5</span>,.<span.class="tok-typ
cf440 65 22 3e 75 38 3c 2f 73 70 61 6e 3e 29 20 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b e">u8</span>).=.<span.class="tok
cf460 2d 62 75 69 6c 74 69 6e 22 3e 40 73 68 75 66 66 6c 65 3c 2f 73 70 61 6e 3e 28 3c 73 70 61 6e 20 -builtin">@shuffle</span>(<span.
cf480 63 6c 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 3c class="tok-type">u8</span>,.a,.<
cf4a0 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6c 6c 22 3e 75 6e 64 65 66 69 6e 65 64 3c span.class="tok-null">undefined<
cf4c0 2f 73 70 61 6e 3e 2c 20 6d 61 73 6b 31 29 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 /span>,.mask1);</span>.<span.cla
cf4e0 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b ss="line">....<span.class="tok-k
cf500 77 22 3e 74 72 79 3c 2f 73 70 61 6e 3e 20 65 78 70 65 63 74 28 73 74 64 2e 6d 65 6d 2e 65 71 6c w">try</span>.expect(std.mem.eql
cf520 28 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 75 38 3c 2f 73 70 61 6e (<span.class="tok-type">u8</span
cf540 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 69 6c 74 69 6e >,.&amp;<span.class="tok-builtin
cf560 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 74 6f 6b 2d 6e ">@as</span>([<span.class="tok-n
cf580 75 6d 62 65 72 22 3e 35 3c 2f 73 70 61 6e 3e 5d 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b umber">5</span>]<span.class="tok
cf5a0 2d 74 79 70 65 22 3e 75 38 3c 2f 73 70 61 6e 3e 2c 20 72 65 73 31 29 2c 20 3c 73 70 61 6e 20 63 -type">u8</span>,.res1),.<span.c
cf5c0 6c 61 73 73 3d 22 74 6f 6b 2d 73 74 72 22 3e 26 71 75 6f 74 3b 68 65 6c 6c 6f 26 71 75 6f 74 3b lass="tok-str">&quot;hello&quot;
cf5e0 3c 2f 73 70 61 6e 3e 29 29 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c </span>));</span>.<span.class="l
cf600 69 6e 65 22 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e ine"></span>.<span.class="line">
cf620 20 20 20 20 3c 73 70 61 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">//
cf640 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 3c 2f 73 .Combining.two.vectors</span></s
cf660 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 3c 73 70 61 pan>.<span.class="line">....<spa
cf680 6e 20 63 6c 61 73 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 n.class="tok-kw">const</span>.ma
cf6a0 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 6c 74 69 6e 22 3e sk2.=.<span.class="tok-builtin">
cf6c0 40 56 65 63 74 6f 72 3c 2f 73 70 61 6e 3e 28 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d @Vector</span>(<span.class="tok-
cf6e0 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 74 number">6</span>,.<span.class="t
cf700 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 61 6e 20 63 6c 61 ok-type">i32</span>){.-<span.cla
cf720 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.
cf740 63 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
cf760 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>,.
cf780 3c 73 70 61 6e 20 63 6c 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
cf7a0 3e 2c 20 2d 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 32 3c 2f >,.-<span.class="tok-number">2</
cf7c0 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 72 22 span>,.-<span.class="tok-number"
cf7e0 3e 33 3c 2f 73 70 61 6e 3e 20 7d 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d >3</span>.};</span>.<span.class=
cf800 22 6c 69 6e 65 22 3e 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e "line">....<span.class="tok-kw">
cf820 63 6f 6e 73 74 3c 2f 73 70 61 6e 3e 20 72 65 73 32 3a 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 const</span>.res2:.<span.class="
cf840 74 6f 6b 2d 62 75 69 6c 74 69 6e 22 3e 40 56 65 63 74 6f 72 3c 2f 73 70 61 6e 3e 28 3c 73 70 61 tok-builtin">@Vector</span>(<spa
cf860 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 36 3c 2f 73 70 61 6e 3e 2c 20 3c n.class="tok-number">6</span>,.<
cf880 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>)
cf8a0 20 3d 20 3c 73 70 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 .=.<span.class="tok-builtin">@sh
cf8c0 75 66 66 6c 65 3c 2f 73 70 61 6e 3e 28 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 uffle</span>(<span.class="tok-ty
cf8e0 70 65 22 3e 75 38 3c 2f 73 70 61 6e 3e 2c 20 61 2c 20 62 2c 20 6d 61 73 6b 32 29 3b 3c 2f 73 70 pe">u8</span>,.a,.b,.mask2);</sp
cf900 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 3c 73 70 61 6e an>.<span.class="line">....<span
cf920 20 63 6c 61 73 73 3d 22 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
cf940 74 28 73 74 64 2e 6d 65 6d 2e 65 71 6c 28 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 t(std.mem.eql(<span.class="tok-t
cf960 79 70 65 22 3e 75 38 3c 2f 73 70 61 6e 3e 2c 20 26 61 6d 70 3b 3c 73 70 61 6e 20 63 6c 61 73 73 ype">u8</span>,.&amp;<span.class
cf980 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 6e ="tok-builtin">@as</span>([<span
cf9a0 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 70 .class="tok-number">6</span>]<sp
cf9c0 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 75 38 3c 2f 73 70 61 6e 3e 2c 20 72 an.class="tok-type">u8</span>,.r
cf9e0 65 73 32 29 2c 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 73 74 72 22 3e 26 71 75 6f es2),.<span.class="tok-str">&quo
cfa00 74 3b 77 6f 72 6c 64 21 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 29 29 3b 3c 2f 73 70 61 6e 3e 0a t;world!&quot;</span>));</span>.
cfa20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 7d 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 <span.class="line">}</span></cod
cfa40 65 3e 3c 2f 70 72 65 3e 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
cfa60 74 69 6f 6e 20 63 6c 61 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
cfa80 67 63 61 70 74 69 6f 6e 3e 3c 70 72 65 3e 3c 73 61 6d 70 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d gcaption><pre><samp><span.class=
cfaa0 22 6c 69 6e 65 22 3e 24 20 3c 6b 62 64 3e 7a 69 67 20 74 65 73 74 20 76 65 63 74 6f 72 5f 73 68 "line">$.<kbd>zig.test.vector_sh
cfac0 75 66 66 6c 65 2e 7a 69 67 3c 2f 6b 62 64 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 uffle.zig</kbd></span>.<span.cla
cfae0 73 73 3d 22 6c 69 6e 65 22 3e 31 2f 31 20 74 65 73 74 2e 76 65 63 74 6f 72 20 40 73 68 75 66 66 ss="line">1/1.test.vector.@shuff
cfb00 6c 65 2e 2e 2e 20 4f 4b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e le....OK</span>.<span.class="lin
cfb20 65 22 3e 41 6c 6c 20 31 20 74 65 73 74 73 20 70 61 73 73 65 64 2e 3c 2f 73 70 61 6e 3e 0a 3c 2f e">All.1.tests.passed.</span>.</
cfb40 73 61 6d 70 3e 3c 2f 70 72 65 3e 3c 2f 66 69 67 75 72 65 3e 0a 20 20 20 20 20 20 3c 70 3e 53 65 samp></pre></figure>.......<p>Se
cfb60 65 20 61 6c 73 6f 3a 3c 2f 70 3e 3c 75 6c 3e 0a 3c 6c 69 3e 3c 61 20 68 72 65 66 3d 22 23 56 65 e.also:</p><ul>.<li><a.href="#Ve
cfb80 63 74 6f 72 73 22 3e 56 65 63 74 6f 72 73 3c 2f 61 3e 3c 2f 6c 69 3e 0a 3c 2f 75 6c 3e 0a 0a 20 ctors">Vectors</a></li>.</ul>...
cfba0 20 20 20 20 20 0a 0a 20 20 20 20 20 20 3c 68 33 20 69 64 3d 22 73 69 7a 65 4f 66 22 3e 3c 61 20 .............<h3.id="sizeOf"><a.
cfbc0 68 72 65 66 3d 22 23 74 6f 63 2d 73 69 7a 65 4f 66 22 3e 40 73 69 7a 65 4f 66 3c 2f 61 3e 20 3c href="#toc-sizeOf">@sizeOf</a>.<
cfbe0 61 20 63 6c 61 73 73 3d 22 68 64 72 22 20 68 72 65 66 3d 22 23 73 69 7a 65 4f 66 22 3e c2 a7 3c a.class="hdr".href="#sizeOf">..<
cfc00 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
cfc20 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 62 .class="line"><span.class="tok-b
cfc40 75 69 6c 74 69 6e 22 3e 40 73 69 7a 65 4f 66 3c 2f 73 70 61 6e 3e 28 3c 73 70 61 6e 20 63 6c 61 uiltin">@sizeOf</span>(<span.cla
cfc60 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:.<
cfc80 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
cfca0 3e 29 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 63 6f 6d 70 74 69 >).<span.class="tok-type">compti
cfcc0 6d 65 5f 69 6e 74 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 3c 2f 70 72 65 me_int</span></span></code></pre
cfce0 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.
cfd00 72 65 74 75 72 6e 73 20 74 68 65 20 6e 75 6d 62 65 72 20 6f 66 20 62 79 74 65 73 20 69 74 20 74 returns.the.number.of.bytes.it.t
cfd20 61 6b 65 73 20 74 6f 20 73 74 6f 72 65 20 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d akes.to.store.<code><span.class=
cfd40 22 6c 69 6e 65 22 3e 54 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 20 69 6e 20 6d 65 6d 6f 72 79 "line">T</span></code>.in.memory
cfd60 2e 0a 20 20 20 20 20 20 54 68 65 20 72 65 73 75 6c 74 20 69 73 20 61 20 74 61 72 67 65 74 2d 73 ........The.result.is.a.target-s
cfd80 70 65 63 69 66 69 63 20 63 6f 6d 70 69 6c 65 20 74 69 6d 65 20 63 6f 6e 73 74 61 6e 74 2e 0a 20 pecific.compile.time.constant...
cfda0 20 20 20 20 20 3c 2f 70 3e 0a 20 20 20 20 20 20 3c 70 3e 0a 20 20 20 20 20 20 54 68 69 73 20 73 .....</p>.......<p>.......This.s
cfdc0 69 7a 65 20 6d 61 79 20 63 6f 6e 74 61 69 6e 20 70 61 64 64 69 6e 67 20 62 79 74 65 73 2e 20 49 ize.may.contain.padding.bytes..I
cfde0 66 20 74 68 65 72 65 20 77 65 72 65 20 74 77 6f 20 63 6f 6e 73 65 63 75 74 69 76 65 20 54 20 69 f.there.were.two.consecutive.T.i
cfe00 6e 20 6d 65 6d 6f 72 79 2c 20 74 68 69 73 20 77 6f 75 6c 64 20 62 65 20 74 68 65 20 6f 66 66 73 n.memory,.this.would.be.the.offs
cfe20 65 74 0a 20 20 20 20 20 20 69 6e 20 62 79 74 65 73 20 62 65 74 77 65 65 6e 20 65 6c 65 6d 65 6e et.......in.bytes.between.elemen
cfe40 74 20 61 74 20 69 6e 64 65 78 20 30 20 61 6e 64 20 74 68 65 20 65 6c 65 6d 65 6e 74 20 61 74 20 t.at.index.0.and.the.element.at.
cfe60 69 6e 64 65 78 20 31 2e 20 46 6f 72 20 3c 61 20 68 72 65 66 3d 22 23 49 6e 74 65 67 65 72 73 22 index.1..For.<a.href="#Integers"
cfe80 3e 69 6e 74 65 67 65 72 3c 2f 61 3e 2c 0a 20 20 20 20 20 20 63 6f 6e 73 69 64 65 72 20 77 68 65 >integer</a>,.......consider.whe
cfea0 74 68 65 72 20 79 6f 75 20 77 61 6e 74 20 74 6f 20 75 73 65 20 3c 63 6f 64 65 3e 3c 73 70 61 6e ther.you.want.to.use.<code><span
cfec0 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 62 .class="line"><span.class="tok-b
cfee0 75 69 6c 74 69 6e 22 3e 40 73 69 7a 65 4f 66 3c 2f 73 70 61 6e 3e 28 54 29 3c 2f 73 70 61 6e 3e uiltin">@sizeOf</span>(T)</span>
cff00 3c 2f 63 6f 64 65 3e 20 6f 72 0a 20 20 20 20 20 20 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 </code>.or.......<code><span.cla
cff20 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 62 75 69 6c 74 ss="line"><span.class="tok-built
cff40 69 6e 22 3e 40 74 79 70 65 49 6e 66 6f 3c 2f 73 70 61 6e 3e 28 54 29 2e 49 6e 74 2e 62 69 74 73 in">@typeInfo</span>(T).Int.bits
cff60 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 2e 0a 20 20 20 20 20 20 3c 2f 70 3e 0a 20 20 20 20 20 </span></code>........</p>......
cff80 20 3c 70 3e 0a 20 20 20 20 20 20 54 68 69 73 20 66 75 6e 63 74 69 6f 6e 20 6d 65 61 73 75 72 65 .<p>.......This.function.measure
cffa0 73 20 74 68 65 20 73 69 7a 65 20 61 74 20 72 75 6e 74 69 6d 65 2e 20 46 6f 72 20 74 79 70 65 73 s.the.size.at.runtime..For.types
cffc0 20 74 68 61 74 20 61 72 65 20 64 69 73 61 6c 6c 6f 77 65 64 20 61 74 20 72 75 6e 74 69 6d 65 2c .that.are.disallowed.at.runtime,
cffe0 20 73 75 63 68 20 61 73 0a 20 20 20 20 20 20 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 .such.as.......<code><span.class
d0000 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 63 ="line"><span.class="tok-type">c
d0020 6f 6d 70 74 69 6d 65 5f 69 6e 74 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e omptime_int</span></span></code>
d0040 20 61 6e 64 20 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 .and.<code><span.class="line"><s
d0060 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>
d0080 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 2c 20 74 68 65 20 72 65 73 75 6c 74 20 69 73 20 3c 63 </span></code>,.the.result.is.<c
d00a0 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 ode><span.class="line"><span.cla
d00c0 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 30 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 3c ss="tok-number">0</span></span><
d00e0 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.
d0100 61 6c 73 6f 3a 3c 2f 70 3e 3c 75 6c 3e 0a 3c 6c 69 3e 3c 61 20 68 72 65 66 3d 22 23 62 69 74 53 also:</p><ul>.<li><a.href="#bitS
d0120 69 7a 65 4f 66 22 3e 40 62 69 74 53 69 7a 65 4f 66 3c 2f 61 3e 3c 2f 6c 69 3e 0a 3c 6c 69 3e 3c izeOf">@bitSizeOf</a></li>.<li><
d0140 61 20 68 72 65 66 3d 22 23 74 79 70 65 49 6e 66 6f 22 3e 40 74 79 70 65 49 6e 66 6f 3c 2f 61 3e a.href="#typeInfo">@typeInfo</a>
d0160 3c 2f 6c 69 3e 0a 3c 2f 75 6c 3e 0a 0a 20 20 20 20 20 20 0a 0a 20 20 20 20 20 20 3c 68 33 20 69 </li>.</ul>................<h3.i
d0180 64 3d 22 73 70 6c 61 74 22 3e 3c 61 20 68 72 65 66 3d 22 23 74 6f 63 2d 73 70 6c 61 74 22 3e 40 d="splat"><a.href="#toc-splat">@
d01a0 73 70 6c 61 74 3c 2f 61 3e 20 3c 61 20 63 6c 61 73 73 3d 22 68 64 72 22 20 68 72 65 66 3d 22 23 splat</a>.<a.class="hdr".href="#
d01c0 73 70 6c 61 74 22 3e c2 a7 3c 2f 61 3e 3c 2f 68 33 3e 0a 0a 20 20 20 20 20 20 3c 70 72 65 3e 3c splat">..</a></h3>........<pre><
d01e0 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c code><span.class="line"><span.cl
d0200 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 28 ass="tok-builtin">@splat</span>(
d0220 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
d0240 70 61 6e 3e 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 pan>.len:.<span.class="tok-type"
d0260 3e 75 33 32 3c 2f 73 70 61 6e 3e 2c 20 73 63 61 6c 61 72 3a 20 3c 73 70 61 6e 20 63 6c 61 73 73 >u32</span>,.scalar:.<span.class
d0280 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.
d02a0 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
d02c0 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 62 75 69 6c 74 69 6e n>(len,.<span.class="tok-builtin
d02e0 22 3e 40 54 79 70 65 4f 66 3c 2f 73 70 61 6e 3e 28 73 63 61 6c 61 72 29 29 3c 2f 73 70 61 6e 3e ">@TypeOf</span>(scalar))</span>
d0300 3c 2f 63 6f 64 65 3e 3c 2f 70 72 65 3e 0a 20 20 20 20 20 20 3c 70 3e 0a 20 20 20 20 20 20 50 72 </code></pre>.......<p>.......Pr
d0320 6f 64 75 63 65 73 20 61 20 76 65 63 74 6f 72 20 6f 66 20 6c 65 6e 67 74 68 20 3c 63 6f 64 65 3e oduces.a.vector.of.length.<code>
d0340 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 6c 65 6e 3c 2f 73 70 61 6e 3e 3c 2f 63 <span.class="line">len</span></c
d0360 6f 64 65 3e 20 77 68 65 72 65 20 65 61 63 68 20 65 6c 65 6d 65 6e 74 20 69 73 20 74 68 65 20 76 ode>.where.each.element.is.the.v
d0380 61 6c 75 65 0a 20 20 20 20 20 20 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 alue.......<code><span.class="li
d03a0 6e 65 22 3e 73 63 61 6c 61 72 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 3a 0a 20 20 20 20 20 20 ne">scalar</span></code>:.......
d03c0 3c 2f 70 3e 0a 20 20 20 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
d03e0 6c 61 73 73 3d 22 7a 69 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
d0400 22 3e 76 65 63 74 6f 72 5f 73 70 6c 61 74 2e 7a 69 67 3c 2f 63 69 74 65 3e 3c 2f 66 69 67 63 61 ">vector_splat.zig</cite></figca
d0420 70 74 69 6f 6e 3e 3c 70 72 65 3e 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 ption><pre><code><span.class="li
d0440 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 63 6f 6e 73 74 3c 2f ne"><span.class="tok-kw">const</
d0460 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
d0480 6c 74 69 6e 22 3e 40 69 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
d04a0 3d 22 74 6f 6b 2d 73 74 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
d04c0 3e 29 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 >);</span>.<span.class="line"><s
d04e0 70 61 6e 20 63 6c 61 73 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>.
d0500 65 78 70 65 63 74 20 3d 20 73 74 64 2e 74 65 73 74 69 6e 67 2e 65 78 70 65 63 74 3b 3c 2f 73 70 expect.=.std.testing.expect;</sp
d0520 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 2f 73 70 61 6e 3e 0a 3c an>.<span.class="line"></span>.<
d0540 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 span.class="line"><span.class="t
d0560 6f 6b 2d 6b 77 22 3e 74 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="
d0580 74 6f 6b 2d 73 74 72 22 3e 26 71 75 6f 74 3b 76 65 63 74 6f 72 20 40 73 70 6c 61 74 26 71 75 6f tok-str">&quot;vector.@splat&quo
d05a0 74 3b 3c 2f 73 70 61 6e 3e 20 7b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 t;</span>.{</span>.<span.class="
d05c0 6c 69 6e 65 22 3e 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 63 line">....<span.class="tok-kw">c
d05e0 6f 6e 73 74 3c 2f 73 70 61 6e 3e 20 73 63 61 6c 61 72 3a 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d onst</span>.scalar:.<span.class=
d0600 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
d0620 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 35 3c 2f 73 70 61 6e 3e 3b 3c 2f 73 70 61 6e ass="tok-number">5</span>;</span
d0640 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 3c 73 70 61 6e 20 63 >.<span.class="line">....<span.c
d0660 6c 61 73 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
d0680 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 73 t.=.<span.class="tok-builtin">@s
d06a0 70 6c 61 74 3c 2f 73 70 61 6e 3e 28 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d plat</span>(<span.class="tok-num
d06c0 62 65 72 22 3e 34 3c 2f 73 70 61 6e 3e 2c 20 73 63 61 6c 61 72 29 3b 3c 2f 73 70 61 6e 3e 0a 3c ber">4</span>,.scalar);</span>.<
d06e0 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 span.class="line">....<span.clas
d0700 73 3d 22 74 6f 6b 2d 6b 77 22 3e 63 6f 6d 70 74 69 6d 65 3c 2f 73 70 61 6e 3e 20 3c 73 70 61 6e s="tok-kw">comptime</span>.<span
d0720 20 63 6c 61 73 73 3d 22 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
d0740 74 28 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 62 75 69 6c 74 69 6e 22 3e 40 54 79 70 t(<span.class="tok-builtin">@Typ
d0760 65 4f 66 3c 2f 73 70 61 6e 3e 28 72 65 73 75 6c 74 29 20 3d 3d 20 3c 73 70 61 6e 20 63 6c 61 73 eOf</span>(result).==.<span.clas
d0780 73 3d 22 74 6f 6b 2d 62 75 69 6c 74 69 6e 22 3e 40 56 65 63 74 6f 72 3c 2f 73 70 61 6e 3e 28 3c s="tok-builtin">@Vector</span>(<
d07a0 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>
d07c0 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 2f 73 70 ,.<span.class="tok-type">u32</sp
d07e0 61 6e 3e 29 29 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 an>));</span>.<span.class="line"
d0800 3e 20 20 20 20 3c 73 70 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
d0820 70 61 6e 3e 20 65 78 70 65 63 74 28 73 74 64 2e 6d 65 6d 2e 65 71 6c 28 3c 73 70 61 6e 20 63 6c pan>.expect(std.mem.eql(<span.cl
d0840 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 75 33 32 3c 2f 73 70 61 6e 3e 2c 20 26 61 6d 70 3b ass="tok-type">u32</span>,.&amp;
d0860 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 62 75 69 6c 74 69 6e 22 3e 40 61 73 3c 2f 73 <span.class="tok-builtin">@as</s
d0880 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 34 pan>([<span.class="tok-number">4
d08a0 3c 2f 73 70 61 6e 3e 5d 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 75 </span>]<span.class="tok-type">u
d08c0 33 32 3c 2f 73 70 61 6e 3e 2c 20 72 65 73 75 6c 74 29 2c 20 26 61 6d 70 3b 5b 5f 5d 3c 73 70 61 32</span>,.result),.&amp;[_]<spa
d08e0 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 75 33 32 3c 2f 73 70 61 6e 3e 7b 20 3c n.class="tok-type">u32</span>{.<
d0900 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>
d0920 2c 20 3c 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
d0940 61 6e 3e 2c 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 35 3c an>,.<span.class="tok-number">5<
d0960 2f 73 70 61 6e 3e 2c 20 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"
d0980 3e 35 3c 2f 73 70 61 6e 3e 20 7d 29 29 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 >5</span>.}));</span>.<span.clas
d09a0 73 3d 22 6c 69 6e 65 22 3e 7d 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 3c 2f 70 72 65 3e 3c 2f s="line">}</span></code></pre></
d09c0 66 69 67 75 72 65 3e 3c 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
d09e0 3d 22 73 68 65 6c 6c 2d 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><
d0a00 70 72 65 3e 3c 73 61 6d 70 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 24 20 3c pre><samp><span.class="line">$.<
d0a20 6b 62 64 3e 7a 69 67 20 74 65 73 74 20 76 65 63 74 6f 72 5f 73 70 6c 61 74 2e 7a 69 67 3c 2f 6b kbd>zig.test.vector_splat.zig</k
d0a40 62 64 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 31 2f bd></span>.<span.class="line">1/
d0a60 31 20 74 65 73 74 2e 76 65 63 74 6f 72 20 40 73 70 6c 61 74 2e 2e 2e 20 4f 4b 3c 2f 73 70 61 6e 1.test.vector.@splat....OK</span
d0a80 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 41 6c 6c 20 31 20 74 65 73 74 73 >.<span.class="line">All.1.tests
d0aa0 20 70 61 73 73 65 64 2e 3c 2f 73 70 61 6e 3e 0a 3c 2f 73 61 6d 70 3e 3c 2f 70 72 65 3e 3c 2f 66 .passed.</span>.</samp></pre></f
d0ac0 69 67 75 72 65 3e 0a 20 20 20 20 20 20 3c 70 3e 0a 20 20 20 20 20 20 3c 63 6f 64 65 3e 3c 73 70 igure>.......<p>.......<code><sp
d0ae0 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 73 63 61 6c 61 72 3c 2f 73 70 61 6e 3e 3c 2f 63 an.class="line">scalar</span></c
d0b00 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 6e 74 65 67 65 ode>.must.be.an.<a.href="#Intege
d0b20 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 50 72 69 6d 69 rs">integer</a>,.<a.href="#Primi
d0b40 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 20 3c 61 20 68 tive-Types">bool</a>,.......<a.h
d0b60 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 20 3c 61 20 68 ref="#Floats">float</a>,.or.<a.h
d0b80 72 65 66 3d 22 23 50 6f 69 6e 74 65 72 73 22 3e 70 6f 69 6e 74 65 72 3c 2f 61 3e 2e 0a 20 20 20 ref="#Pointers">pointer</a>.....
d0ba0 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
d0bc0 6c 3e 0a 3c 6c 69 3e 3c 61 20 68 72 65 66 3d 22 23 56 65 63 74 6f 72 73 22 3e 56 65 63 74 6f 72 l>.<li><a.href="#Vectors">Vector
d0be0 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 75 66 66 6c 65 s</a></li>.<li><a.href="#shuffle
d0c00 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 20 20 20 20 20 ">@shuffle</a></li>.</ul>.......
d0c20 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 20 68 72 65 66 .........<h3.id="reduce"><a.href
d0c40 3d 22 23 74 6f 63 2d 72 65 64 75 63 65 22 3e 40 72 65 64 75 63 65 3c 2f 61 3e 20 3c 61 20 63 6c ="#toc-reduce">@reduce</a>.<a.cl
d0c60 61 73 73 3d 22 68 64 72 22 20 68 72 65 66 3d 22 23 72 65 64 75 63 65 22 3e c2 a7 3c 2f 61 3e 3c ass="hdr".href="#reduce">..</a><
d0c80 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
d0ca0 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 62 75 69 6c 74 ss="line"><span.class="tok-built
d0cc0 69 6e 22 3e 40 72 65 64 75 63 65 3c 2f 73 70 61 6e 3e 28 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 in">@reduce</span>(<span.class="
d0ce0 74 6f 6b 2d 6b 77 22 3e 63 6f 6d 70 74 69 6d 65 3c 2f 73 70 61 6e 3e 20 6f 70 3a 20 73 74 64 2e tok-kw">comptime</span>.op:.std.
d0d00 62 75 69 6c 74 69 6e 2e 52 65 64 75 63 65 4f 70 2c 20 76 61 6c 75 65 3a 20 3c 73 70 61 6e 20 63 builtin.ReduceOp,.value:.<span.c
d0d20 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 45 3c lass="tok-kw">anytype</span>).E<
d0d40 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>...
d0d60 20 20 20 20 54 72 61 6e 73 66 6f 72 6d 73 20 61 20 3c 61 20 68 72 65 66 3d 22 23 56 65 63 74 6f ....Transforms.a.<a.href="#Vecto
d0d80 72 73 22 3e 76 65 63 74 6f 72 3c 2f 61 3e 20 69 6e 74 6f 20 61 20 73 63 61 6c 61 72 20 76 61 6c rs">vector</a>.into.a.scalar.val
d0da0 75 65 20 28 6f 66 20 74 79 70 65 20 3c 63 6f 64 65 3e 45 3c 2f 63 6f 64 65 3e 29 0a 20 20 20 20 ue.(of.type.<code>E</code>).....
d0dc0 20 20 62 79 20 70 65 72 66 6f 72 6d 69 6e 67 20 61 20 73 65 71 75 65 6e 74 69 61 6c 20 68 6f 72 ..by.performing.a.sequential.hor
d0de0 69 7a 6f 6e 74 61 6c 20 72 65 64 75 63 74 69 6f 6e 20 6f 66 20 69 74 73 20 65 6c 65 6d 65 6e 74 izontal.reduction.of.its.element
d0e00 73 20 75 73 69 6e 67 20 74 68 65 0a 20 20 20 20 20 20 73 70 65 63 69 66 69 65 64 20 6f 70 65 72 s.using.the.......specified.oper
d0e20 61 74 6f 72 20 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 6f 70 ator.<code><span.class="line">op
d0e40 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 2e 0a 20 20 20 20 20 20 3c 2f 70 3e 0a 20 20 20 20 20 </span></code>........</p>......
d0e60 20 3c 70 3e 0a 20 20 20 20 20 20 4e 6f 74 20 65 76 65 72 79 20 6f 70 65 72 61 74 6f 72 20 69 73 .<p>.......Not.every.operator.is
d0e80 20 61 76 61 69 6c 61 62 6c 65 20 66 6f 72 20 65 76 65 72 79 20 76 65 63 74 6f 72 20 65 6c 65 6d .available.for.every.vector.elem
d0ea0 65 6e 74 20 74 79 70 65 3a 0a 20 20 20 20 20 20 3c 2f 70 3e 0a 20 20 20 20 20 20 3c 75 6c 3e 0a ent.type:.......</p>.......<ul>.
d0ec0 20 20 20 20 20 20 20 20 20 20 3c 6c 69 3e 45 76 65 72 79 20 6f 70 65 72 61 74 6f 72 20 69 73 20 ..........<li>Every.operator.is.
d0ee0 61 76 61 69 6c 61 62 6c 65 20 66 6f 72 20 3c 61 20 68 72 65 66 3d 22 23 49 6e 74 65 67 65 72 73 available.for.<a.href="#Integers
d0f00 22 3e 69 6e 74 65 67 65 72 3c 2f 61 3e 20 76 65 63 74 6f 72 73 2e 3c 2f 6c 69 3e 0a 20 20 20 20 ">integer</a>.vectors.</li>.....
d0f20 20 20 20 20 20 20 3c 6c 69 3e 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e ......<li><code><span.class="lin
d0f40 65 22 3e 2e 41 6e 64 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 2c 20 3c 63 6f 64 65 3e 3c 73 70 e">.And</span></code>,.<code><sp
d0f60 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 2e 4f 72 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 an.class="line">.Or</span></code
d0f80 3e 2c 0a 20 20 20 20 20 20 20 20 20 20 20 20 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 >,.............<code><span.class
d0fa0 3d 22 6c 69 6e 65 22 3e 2e 58 6f 72 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 20 61 72 65 20 61 ="line">.Xor</span></code>.are.a
d0fc0 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 0a 20 20 20 20 20 20 dditionally.available.for.......
d0fe0 20 20 20 20 20 20 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c ......<code><span.class="line"><
d1000 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
d1020 3e 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 20 76 65 63 74 6f 72 73 2c 3c 2f 6c 69 3e 0a 20 20 ></span></code>.vectors,</li>...
d1040 20 20 20 20 20 20 20 20 3c 6c 69 3e 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c ........<li><code><span.class="l
d1060 69 6e 65 22 3e 2e 4d 69 6e 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 2c 20 3c 63 6f 64 65 3e 3c ine">.Min</span></code>,.<code><
d1080 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 2e 4d 61 78 3c 2f 73 70 61 6e 3e 3c 2f 63 span.class="line">.Max</span></c
d10a0 6f 64 65 3e 2c 0a 20 20 20 20 20 20 20 20 20 20 20 20 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c ode>,.............<code><span.cl
d10c0 61 73 73 3d 22 6c 69 6e 65 22 3e 2e 41 64 64 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 2c 20 3c ass="line">.Add</span></code>,.<
d10e0 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 2e 4d 75 6c 3c 2f 73 70 code><span.class="line">.Mul</sp
d1100 61 6e 3e 3c 2f 63 6f 64 65 3e 20 61 72 65 0a 20 20 20 20 20 20 20 20 20 20 20 20 61 64 64 69 74 an></code>.are.............addit
d1120 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 68 72 65 66 3d 22 23 ionally.available.for.<a.href="#
d1140 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 3e 20 76 65 63 74 6f Floats">floating.point</a>.vecto
d1160 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 20 20 3c 70 3e 0a 20 rs,</li>.......</ul>.......<p>..
d1180 20 20 20 20 20 4e 6f 74 65 20 74 68 61 74 20 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 .....Note.that.<code><span.class
d11a0 3d 22 6c 69 6e 65 22 3e 2e 41 64 64 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 20 61 6e 64 20 3c ="line">.Add</span></code>.and.<
d11c0 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 2e 4d 75 6c 3c 2f 73 70 code><span.class="line">.Mul</sp
d11e0 61 6e 3e 3c 2f 63 6f 64 65 3e 0a 20 20 20 20 20 20 72 65 64 75 63 74 69 6f 6e 73 20 6f 6e 20 69 an></code>.......reductions.on.i
d1200 6e 74 65 67 72 61 6c 20 74 79 70 65 73 20 61 72 65 20 77 72 61 70 70 69 6e 67 3b 20 77 68 65 6e ntegral.types.are.wrapping;.when
d1220 20 61 70 70 6c 69 65 64 20 6f 6e 20 66 6c 6f 61 74 69 6e 67 20 70 6f 69 6e 74 0a 20 20 20 20 20 .applied.on.floating.point......
d1240 20 74 79 70 65 73 20 74 68 65 20 6f 70 65 72 61 74 69 6f 6e 20 61 73 73 6f 63 69 61 74 69 76 69 .types.the.operation.associativi
d1260 74 79 20 69 73 20 70 72 65 73 65 72 76 65 64 2c 20 75 6e 6c 65 73 73 20 74 68 65 20 66 6c 6f 61 ty.is.preserved,.unless.the.floa
d1280 74 20 6d 6f 64 65 20 69 73 0a 20 20 20 20 20 20 73 65 74 20 74 6f 20 3c 63 6f 64 65 3e 3c 73 70 t.mode.is.......set.to.<code><sp
d12a0 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 4f 70 74 69 6d 69 7a 65 64 3c 2f 73 70 61 6e 3e an.class="line">Optimized</span>
d12c0 3c 2f 63 6f 64 65 3e 2e 0a 20 20 20 20 20 20 3c 2f 70 3e 0a 20 20 20 20 20 20 3c 66 69 67 75 72 </code>........</p>.......<figur
d12e0 65 3e 3c 66 69 67 63 61 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
d1300 69 74 65 20 63 6c 61 73 73 3d 22 66 69 6c 65 22 3e 76 65 63 74 6f 72 5f 72 65 64 75 63 65 2e 7a ite.class="file">vector_reduce.z
d1320 69 67 3c 2f 63 69 74 65 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
d1340 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d ><span.class="line"><span.class=
d1360 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
d1380 6e 20 63 6c 61 73 73 3d 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
d13a0 70 61 6e 3e 28 3c 73 70 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
d13c0 3b 73 74 64 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 29 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e ;std&quot;</span>);</span>.<span
d13e0 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b .class="line"><span.class="tok-k
d1400 77 22 3e 63 6f 6e 73 74 3c 2f 73 70 61 6e 3e 20 65 78 70 65 63 74 20 3d 20 73 74 64 2e 74 65 73 w">const</span>.expect.=.std.tes
d1420 74 69 6e 67 2e 65 78 70 65 63 74 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d ting.expect;</span>.<span.class=
d1440 22 6c 69 6e 65 22 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 "line"></span>.<span.class="line
d1460 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 74 65 73 74 3c 2f 73 70 61 "><span.class="tok-kw">test</spa
d1480 6e 3e 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 73 74 72 22 3e 26 71 75 6f 74 3b 76 n>.<span.class="tok-str">&quot;v
d14a0 65 63 74 6f 72 20 40 72 65 64 75 63 65 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 20 7b 3c 2f 73 70 ector.@reduce&quot;</span>.{</sp
d14c0 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 3c 73 70 61 6e an>.<span.class="line">....<span
d14e0 20 63 6c 61 73 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
d1500 75 65 20 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 62 75 69 6c 74 69 6e 22 3e 40 ue.=.<span.class="tok-builtin">@
d1520 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
d1540 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
d1560 6b 2d 74 79 70 65 22 3e 69 33 32 3c 2f 73 70 61 6e 3e 29 7b 20 3c 73 70 61 6e 20 63 6c 61 73 73 k-type">i32</span>){.<span.class
d1580 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 31 3c 2f 73 70 61 6e 3e 2c 20 2d 3c 73 70 61 6e 20 63 ="tok-number">1</span>,.-<span.c
d15a0 6c 61 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
d15c0 6e 20 63 6c 61 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 n.class="tok-number">1</span>,.-
d15e0 3c 73 70 61 6e 20 63 6c 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
d1600 3e 20 7d 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 >.};</span>.<span.class="line">.
d1620 20 20 20 3c 73 70 61 6e 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
d1640 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 20 63 pan>.result.=.value.&gt;.<span.c
d1660 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>
d1680 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
d16a0 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 61 n>,.<span.class="tok-builtin">@a
d16c0 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">
d16e0 69 33 32 3c 2f 73 70 61 6e 3e 2c 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d i32</span>,.<span.class="tok-num
d1700 62 65 72 22 3e 30 3c 2f 73 70 61 6e 3e 29 29 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c ber">0</span>));</span>.<span.cl
d1720 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d ass="line">....<span.class="tok-
d1740 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 65 2c 20 66 61 comment">//.result.is.{.true,.fa
d1760 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 3c 2f 73 70 61 6e lse,.true,.false.};</span></span
d1780 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 3c 73 70 61 6e 20 63 >.<span.class="line">....<span.c
d17a0 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
d17c0 70 61 6e 20 63 6c 61 73 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
d17e0 70 65 63 74 28 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 62 75 69 6c 74 69 6e 22 3e 40 pect(<span.class="tok-builtin">@
d1800 54 79 70 65 4f 66 3c 2f 73 70 61 6e 3e 28 72 65 73 75 6c 74 29 20 3d 3d 20 3c 73 70 61 6e 20 63 TypeOf</span>(result).==.<span.c
d1820 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
d1840 3e 28 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 34 3c 2f 73 70 >(<span.class="tok-number">4</sp
d1860 61 6e 3e 2c 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 62 6f 6f 6c an>,.<span.class="tok-type">bool
d1880 3c 2f 73 70 61 6e 3e 29 29 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c </span>));</span>.<span.class="l
d18a0 69 6e 65 22 3e 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 63 6f ine">....<span.class="tok-kw">co
d18c0 6e 73 74 3c 2f 73 70 61 6e 3e 20 69 73 5f 61 6c 6c 5f 74 72 75 65 20 3d 20 3c 73 70 61 6e 20 63 nst</span>.is_all_true.=.<span.c
d18e0 6c 61 73 73 3d 22 74 6f 6b 2d 62 75 69 6c 74 69 6e 22 3e 40 72 65 64 75 63 65 3c 2f 73 70 61 6e lass="tok-builtin">@reduce</span
d1900 3e 28 2e 41 6e 64 2c 20 72 65 73 75 6c 74 29 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c >(.And,.result);</span>.<span.cl
d1920 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d ass="line">....<span.class="tok-
d1940 6b 77 22 3e 63 6f 6d 70 74 69 6d 65 3c 2f 73 70 61 6e 3e 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d kw">comptime</span>.<span.class=
d1960 22 74 6f 6b 2d 6b 77 22 3e 74 72 79 3c 2f 73 70 61 6e 3e 20 65 78 70 65 63 74 28 3c 73 70 61 6e "tok-kw">try</span>.expect(<span
d1980 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
d19a0 61 6e 3e 28 69 73 5f 61 6c 6c 5f 74 72 75 65 29 20 3d 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d an>(is_all_true).==.<span.class=
d19c0 22 74 6f 6b 2d 74 79 70 65 22 3e 62 6f 6f 6c 3c 2f 73 70 61 6e 3e 29 3b 3c 2f 73 70 61 6e 3e 0a "tok-type">bool</span>);</span>.
d19e0 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 <span.class="line">....<span.cla
d1a00 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 74 72 79 3c 2f 73 70 61 6e 3e 20 65 78 70 65 63 74 28 69 73 ss="tok-kw">try</span>.expect(is
d1a20 5f 61 6c 6c 5f 74 72 75 65 20 3d 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 _all_true.==.<span.class="tok-nu
d1a40 6c 6c 22 3e 66 61 6c 73 65 3c 2f 73 70 61 6e 3e 29 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 ll">false</span>);</span>.<span.
d1a60 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 7d 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 3c 2f 70 72 class="line">}</span></code></pr
d1a80 65 3e 3c 2f 66 69 67 75 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
d1aa0 6c 61 73 73 3d 22 73 68 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
d1ac0 6f 6e 3e 3c 70 72 65 3e 3c 73 61 6d 70 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 on><pre><samp><span.class="line"
d1ae0 3e 24 20 3c 6b 62 64 3e 7a 69 67 20 74 65 73 74 20 76 65 63 74 6f 72 5f 72 65 64 75 63 65 2e 7a >$.<kbd>zig.test.vector_reduce.z
d1b00 69 67 3c 2f 6b 62 64 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e ig</kbd></span>.<span.class="lin
d1b20 65 22 3e 31 2f 31 20 74 65 73 74 2e 76 65 63 74 6f 72 20 40 72 65 64 75 63 65 2e 2e 2e 20 4f 4b e">1/1.test.vector.@reduce....OK
d1b40 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 41 6c 6c 20 31 </span>.<span.class="line">All.1
d1b60 20 74 65 73 74 73 20 70 61 73 73 65 64 2e 3c 2f 73 70 61 6e 3e 0a 3c 2f 73 61 6d 70 3e 3c 2f 70 .tests.passed.</span>.</samp></p
d1b80 72 65 3e 3c 2f 66 69 67 75 72 65 3e 0a 20 20 20 20 20 20 3c 70 3e 53 65 65 20 61 6c 73 6f 3a 3c re></figure>.......<p>See.also:<
d1ba0 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
d1bc0 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 65 ectors</a></li>.<li><a.href="#se
d1be0 74 46 6c 6f 61 74 4d 6f 64 65 22 3e 40 73 65 74 46 6c 6f 61 74 4d 6f 64 65 3c 2f 61 3e 3c 2f 6c tFloatMode">@setFloatMode</a></l
d1c00 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="
d1c20 73 72 63 22 3e 3c 61 20 68 72 65 66 3d 22 23 74 6f 63 2d 73 72 63 22 3e 40 73 72 63 3c 2f 61 3e src"><a.href="#toc-src">@src</a>
d1c40 20 3c 61 20 63 6c 61 73 73 3d 22 68 64 72 22 20 68 72 65 66 3d 22 23 73 72 63 22 3e c2 a7 3c 2f .<a.class="hdr".href="#src">..</
d1c60 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.
d1c80 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 62 75 class="line"><span.class="tok-bu
d1ca0 69 6c 74 69 6e 22 3e 40 73 72 63 3c 2f 73 70 61 6e 3e 28 29 20 73 74 64 2e 62 75 69 6c 74 69 6e iltin">@src</span>().std.builtin
d1cc0 2e 53 6f 75 72 63 65 4c 6f 63 61 74 69 6f 6e 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 3c 2f 70 .SourceLocation</span></code></p
d1ce0 72 65 3e 0a 20 20 20 20 20 20 3c 70 3e 0a 20 20 20 20 20 20 52 65 74 75 72 6e 73 20 61 20 3c 63 re>.......<p>.......Returns.a.<c
d1d00 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 53 6f 75 72 63 65 4c 6f 63 ode><span.class="line">SourceLoc
d1d20 61 74 69 6f 6e 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 20 73 74 72 75 63 74 20 72 65 70 72 65 ation</span></code>.struct.repre
d1d40 73 65 6e 74 69 6e 67 20 74 68 65 20 66 75 6e 63 74 69 6f 6e 27 73 20 6e 61 6d 65 20 61 6e 64 20 senting.the.function's.name.and.
d1d60 6c 6f 63 61 74 69 6f 6e 20 69 6e 20 74 68 65 20 73 6f 75 72 63 65 20 63 6f 64 65 2e 20 54 68 69 location.in.the.source.code..Thi
d1d80 73 20 6d 75 73 74 20 62 65 20 63 61 6c 6c 65 64 20 69 6e 20 61 20 66 75 6e 63 74 69 6f 6e 2e 0a s.must.be.called.in.a.function..
d1da0 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
d1dc0 74 69 6f 6e 20 63 6c 61 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
d1de0 3d 22 66 69 6c 65 22 3e 73 6f 75 72 63 65 5f 6c 6f 63 61 74 69 6f 6e 2e 7a 69 67 3c 2f 63 69 74 ="file">source_location.zig</cit
d1e00 65 3e 3c 2f 66 69 67 63 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.
d1e20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 class="line"><span.class="tok-kw
d1e40 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
d1e60 3d 22 74 6f 6b 2d 62 75 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
d1e80 70 61 6e 20 63 6c 61 73 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
d1ea0 6f 74 3b 3c 2f 73 70 61 6e 3e 29 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d ot;</span>);</span>.<span.class=
d1ec0 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 63 6f 6e 73 "line"><span.class="tok-kw">cons
d1ee0 74 3c 2f 73 70 61 6e 3e 20 65 78 70 65 63 74 20 3d 20 73 74 64 2e 74 65 73 74 69 6e 67 2e 65 78 t</span>.expect.=.std.testing.ex
d1f00 70 65 63 74 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e pect;</span>.<span.class="line">
d1f20 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e </span>.<span.class="line"><span
d1f40 20 63 6c 61 73 73 3d 22 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
d1f60 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 73 74 72 22 3e 26 71 75 6f 74 3b 40 73 72 63 26 71 75 6f n.class="tok-str">&quot;@src&quo
d1f80 74 3b 3c 2f 73 70 61 6e 3e 20 7b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 t;</span>.{</span>.<span.class="
d1fa0 6c 69 6e 65 22 3e 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 74 line">....<span.class="tok-kw">t
d1fc0 72 79 3c 2f 73 70 61 6e 3e 20 64 6f 54 68 65 54 65 73 74 28 29 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 ry</span>.doTheTest();</span>.<s
d1fe0 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 7d 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 pan.class="line">}</span>.<span.
d2000 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 class="line"></span>.<span.class
d2020 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 66 6e 3c ="line"><span.class="tok-kw">fn<
d2040 2f 73 70 61 6e 3e 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 66 6e 22 3e 64 6f 54 68 /span>.<span.class="tok-fn">doTh
d2060 65 54 65 73 74 3c 2f 73 70 61 6e 3e 28 29 20 21 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b eTest</span>().!<span.class="tok
d2080 2d 74 79 70 65 22 3e 76 6f 69 64 3c 2f 73 70 61 6e 3e 20 7b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 -type">void</span>.{</span>.<spa
d20a0 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 n.class="line">....<span.class="
d20c0 74 6f 6b 2d 6b 77 22 3e 63 6f 6e 73 74 3c 2f 73 70 61 6e 3e 20 73 72 63 20 3d 20 3c 73 70 61 6e tok-kw">const</span>.src.=.<span
d20e0 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 62 75 69 6c 74 69 6e 22 3e 40 73 72 63 3c 2f 73 70 61 6e 3e .class="tok-builtin">@src</span>
d2100 28 29 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 2f ();</span>.<span.class="line"></
d2120 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 3c 73 70 span>.<span.class="line">....<sp
d2140 61 6e 20 63 6c 61 73 73 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
d2160 65 63 74 28 73 72 63 2e 6c 69 6e 65 20 3d 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b ect(src.line.==.<span.class="tok
d2180 2d 6e 75 6d 62 65 72 22 3e 39 3c 2f 73 70 61 6e 3e 29 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e -number">9</span>);</span>.<span
d21a0 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 .class="line">....<span.class="t
d21c0 6f 6b 2d 6b 77 22 3e 74 72 79 3c 2f 73 70 61 6e 3e 20 65 78 70 65 63 74 28 73 72 63 2e 63 6f 6c ok-kw">try</span>.expect(src.col
d21e0 75 6d 6e 20 3d 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e umn.==.<span.class="tok-number">
d2200 31 37 3c 2f 73 70 61 6e 3e 29 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 17</span>);</span>.<span.class="
d2220 6c 69 6e 65 22 3e 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 74 line">....<span.class="tok-kw">t
d2240 72 79 3c 2f 73 70 61 6e 3e 20 65 78 70 65 63 74 28 73 74 64 2e 6d 65 6d 2e 65 6e 64 73 57 69 74 ry</span>.expect(std.mem.endsWit
d2260 68 28 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 75 38 3c 2f 73 70 61 h(<span.class="tok-type">u8</spa
d2280 6e 3e 2c 20 73 72 63 2e 66 6e 5f 6e 61 6d 65 2c 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f n>,.src.fn_name,.<span.class="to
d22a0 6b 2d 73 74 72 22 3e 26 71 75 6f 74 3b 64 6f 54 68 65 54 65 73 74 26 71 75 6f 74 3b 3c 2f 73 70 k-str">&quot;doTheTest&quot;</sp
d22c0 61 6e 3e 29 29 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 an>));</span>.<span.class="line"
d22e0 3e 20 20 20 20 3c 73 70 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
d2300 70 61 6e 3e 20 65 78 70 65 63 74 28 73 74 64 2e 6d 65 6d 2e 65 6e 64 73 57 69 74 68 28 3c 73 70 pan>.expect(std.mem.endsWith(<sp
d2320 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 75 38 3c 2f 73 70 61 6e 3e 2c 20 73 an.class="tok-type">u8</span>,.s
d2340 72 63 2e 66 69 6c 65 2c 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 73 74 72 22 3e 26 rc.file,.<span.class="tok-str">&
d2360 71 75 6f 74 3b 73 6f 75 72 63 65 5f 6c 6f 63 61 74 69 6f 6e 2e 7a 69 67 26 71 75 6f 74 3b 3c 2f quot;source_location.zig&quot;</
d2380 73 70 61 6e 3e 29 29 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e span>));</span>.<span.class="lin
d23a0 65 22 3e 7d 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 3c 2f 70 72 65 3e 3c 2f 66 69 67 75 72 65 e">}</span></code></pre></figure
d23c0 3e 3c 66 69 67 75 72 65 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
d23e0 6c 2d 63 61 70 22 3e 53 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
d2400 61 6d 70 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 24 20 3c 6b 62 64 3e 7a 69 amp><span.class="line">$.<kbd>zi
d2420 67 20 74 65 73 74 20 73 6f 75 72 63 65 5f 6c 6f 63 61 74 69 6f 6e 2e 7a 69 67 3c 2f 6b 62 64 3e g.test.source_location.zig</kbd>
d2440 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 31 2f 31 20 74 </span>.<span.class="line">1/1.t
d2460 65 73 74 2e 40 73 72 63 2e 2e 2e 20 4f 4b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 est.@src....OK</span>.<span.clas
d2480 73 3d 22 6c 69 6e 65 22 3e 41 6c 6c 20 31 20 74 65 73 74 73 20 70 61 73 73 65 64 2e 3c 2f 73 70 s="line">All.1.tests.passed.</sp
d24a0 61 6e 3e 0a 3c 2f 73 61 6d 70 3e 3c 2f 70 72 65 3e 3c 2f 66 69 67 75 72 65 3e 0a 20 20 20 20 20 an>.</samp></pre></figure>......
d24c0 20 0a 20 20 20 20 20 20 3c 68 33 20 69 64 3d 22 73 71 72 74 22 3e 3c 61 20 68 72 65 66 3d 22 23 ........<h3.id="sqrt"><a.href="#
d24e0 74 6f 63 2d 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 toc-sqrt">@sqrt</a>.<a.class="hd
d2500 72 22 20 68 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 r".href="#sqrt">..</a></h3>.....
d2520 20 20 20 3c 70 72 65 3e 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 ...<pre><code><span.class="line"
d2540 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 62 75 69 6c 74 69 6e 22 3e 40 73 71 72 74 ><span.class="tok-builtin">@sqrt
d2560 3c 2f 73 70 61 6e 3e 28 76 61 6c 75 65 3a 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d </span>(value:.<span.class="tok-
d2580 6b 77 22 3e 61 6e 79 74 79 70 65 3c 2f 73 70 61 6e 3e 29 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d kw">anytype</span>).<span.class=
d25a0 22 74 6f 6b 2d 62 75 69 6c 74 69 6e 22 3e 40 54 79 70 65 4f 66 3c 2f 73 70 61 6e 3e 28 76 61 6c "tok-builtin">@TypeOf</span>(val
d25c0 75 65 29 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 3c 2f 70 72 65 3e 0a 20 20 20 20 20 20 3c 70 ue)</span></code></pre>.......<p
d25e0 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 6f 74 >.......Performs.the.square.root
d2600 20 6f 66 20 61 20 66 6c 6f 61 74 69 6e 67 20 70 6f 69 6e 74 20 6e 75 6d 62 65 72 2e 20 55 73 65 .of.a.floating.point.number..Use
d2620 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
d2640 6f 6e 0a 20 20 20 20 20 20 77 68 65 6e 20 61 76 61 69 6c 61 62 6c 65 2e 0a 20 20 20 20 20 20 3c on.......when.available........<
d2660 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.
d2680 68 72 65 66 3d 22 23 46 6c 6f 61 74 73 22 3e 46 6c 6f 61 74 73 3c 2f 61 3e 20 61 6e 64 20 3c 61 href="#Floats">Floats</a>.and.<a
d26a0 20 68 72 65 66 3d 22 23 56 65 63 74 6f 72 73 22 3e 56 65 63 74 6f 72 73 3c 2f 61 3e 20 6f 66 20 .href="#Vectors">Vectors</a>.of.
d26c0 66 6c 6f 61 74 73 2c 20 77 69 74 68 20 74 68 65 20 63 61 76 65 61 74 20 74 68 61 74 0a 20 20 20 floats,.with.the.caveat.that....
d26e0 20 20 20 3c 61 20 68 72 65 66 3d 22 68 74 74 70 73 3a 2f 2f 67 69 74 68 75 62 2e 63 6f 6d 2f 7a ...<a.href="https://github.com/z
d2700 69 67 6c 61 6e 67 2f 7a 69 67 2f 69 73 73 75 65 73 2f 34 30 32 36 22 3e 73 6f 6d 65 20 66 6c 6f iglang/zig/issues/4026">some.flo
d2720 61 74 20 6f 70 65 72 61 74 69 6f 6e 73 20 61 72 65 20 6e 6f 74 20 79 65 74 20 69 6d 70 6c 65 6d at.operations.are.not.yet.implem
d2740 65 6e 74 65 64 20 66 6f 72 20 61 6c 6c 20 66 6c 6f 61 74 20 74 79 70 65 73 3c 2f 61 3e 2e 0a 20 ented.for.all.float.types</a>...
d2760 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 73 .....</p>..............<h3.id="s
d2780 69 6e 22 3e 3c 61 20 68 72 65 66 3d 22 23 74 6f 63 2d 73 69 6e 22 3e 40 73 69 6e 3c 2f 61 3e 20 in"><a.href="#toc-sin">@sin</a>.
d27a0 3c 61 20 63 6c 61 73 73 3d 22 68 64 72 22 20 68 72 65 66 3d 22 23 73 69 6e 22 3e c2 a7 3c 2f 61 <a.class="hdr".href="#sin">..</a
d27c0 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
d27e0 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 62 75 69 lass="line"><span.class="tok-bui
d2800 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 63 ltin">@sin</span>(value:.<span.c
d2820 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
d2840 70 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<
d2860 2f 73 70 61 6e 3e 28 76 61 6c 75 65 29 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 3c 2f 70 72 65 /span>(value)</span></code></pre
d2880 3e 0a 20 20 20 20 20 20 3c 70 3e 0a 20 20 20 20 20 20 53 69 6e 65 20 74 72 69 67 6f 6e 6f 6d 65 >.......<p>.......Sine.trigonome
d28a0 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 6e tric.function.on.a.floating.poin
d28c0 74 20 6e 75 6d 62 65 72 2e 20 55 73 65 73 20 61 20 64 65 64 69 63 61 74 65 64 20 68 61 72 64 77 t.number..Uses.a.dedicated.hardw
d28e0 61 72 65 20 69 6e 73 74 72 75 63 74 69 6f 6e 0a 20 20 20 20 20 20 77 68 65 6e 20 61 76 61 69 6c are.instruction.......when.avail
d2900 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>......
d2920 20 53 75 70 70 6f 72 74 73 20 3c 61 20 68 72 65 66 3d 22 23 46 6c 6f 61 74 73 22 3e 46 6c 6f 61 .Supports.<a.href="#Floats">Floa
d2940 74 73 3c 2f 61 3e 20 61 6e 64 20 3c 61 20 68 72 65 66 3d 22 23 56 65 63 74 6f 72 73 22 3e 56 65 ts</a>.and.<a.href="#Vectors">Ve
d2960 63 74 6f 72 73 3c 2f 61 3e 20 6f 66 20 66 6c 6f 61 74 73 2c 20 77 69 74 68 20 74 68 65 20 63 61 ctors</a>.of.floats,.with.the.ca
d2980 76 65 61 74 20 74 68 61 74 0a 20 20 20 20 20 20 3c 61 20 68 72 65 66 3d 22 68 74 74 70 73 3a 2f veat.that.......<a.href="https:/
d29a0 2f 67 69 74 68 75 62 2e 63 6f 6d 2f 7a 69 67 6c 61 6e 67 2f 7a 69 67 2f 69 73 73 75 65 73 2f 34 /github.com/ziglang/zig/issues/4
d29c0 30 32 36 22 3e 73 6f 6d 65 20 66 6c 6f 61 74 20 6f 70 65 72 61 74 69 6f 6e 73 20 61 72 65 20 6e 026">some.float.operations.are.n
d29e0 6f 74 20 79 65 74 20 69 6d 70 6c 65 6d 65 6e 74 65 64 20 66 6f 72 20 61 6c 6c 20 66 6c 6f 61 74 ot.yet.implemented.for.all.float
d2a00 20 74 79 70 65 73 3c 2f 61 3e 2e 0a 20 20 20 20 20 20 3c 2f 70 3e 0a 20 20 20 20 20 20 0a 0a 20 .types</a>........</p>..........
d2a20 20 20 20 20 20 3c 68 33 20 69 64 3d 22 63 6f 73 22 3e 3c 61 20 68 72 65 66 3d 22 23 74 6f 63 2d .....<h3.id="cos"><a.href="#toc-
d2a40 63 6f 73 22 3e 40 63 6f 73 3c 2f 61 3e 20 3c 61 20 63 6c 61 73 73 3d 22 68 64 72 22 20 68 72 65 cos">@cos</a>.<a.class="hdr".hre
d2a60 66 3d 22 23 63 6f 73 22 3e c2 a7 3c 2f 61 3e 3c 2f 68 33 3e 0a 0a 20 20 20 20 20 20 3c 70 72 65 f="#cos">..</a></h3>........<pre
d2a80 3e 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 ><code><span.class="line"><span.
d2aa0 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 61 6e 3e 28 class="tok-builtin">@cos</span>(
d2ac0 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
d2ae0 79 70 65 3c 2f 73 70 61 6e 3e 29 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 62 75 69 ype</span>).<span.class="tok-bui
d2b00 6c 74 69 6e 22 3e 40 54 79 70 65 4f 66 3c 2f 73 70 61 6e 3e 28 76 61 6c 75 65 29 3c 2f 73 70 61 ltin">@TypeOf</span>(value)</spa
d2b20 6e 3e 3c 2f 63 6f 64 65 3e 3c 2f 70 72 65 3e 0a 20 20 20 20 20 20 3c 70 3e 0a 20 20 20 20 20 20 n></code></pre>.......<p>.......
d2b40 43 6f 73 69 6e 65 20 74 72 69 67 6f 6e 6f 6d 65 74 72 69 63 20 66 75 6e 63 74 69 6f 6e 20 6f 6e Cosine.trigonometric.function.on
d2b60 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 20 61 .a.floating.point.number..Uses.a
d2b80 20 64 65 64 69 63 61 74 65 64 20 68 61 72 64 77 61 72 65 20 69 6e 73 74 72 75 63 74 69 6f 6e 0a .dedicated.hardware.instruction.
d2ba0 20 20 20 20 20 20 77 68 65 6e 20 61 76 61 69 6c 61 62 6c 65 2e 0a 20 20 20 20 20 20 3c 2f 70 3e ......when.available........</p>
d2bc0 0a 20 20 20 20 20 20 3c 70 3e 0a 20 20 20 20 20 20 53 75 70 70 6f 72 74 73 20 3c 61 20 68 72 65 .......<p>.......Supports.<a.hre
d2be0 66 3d 22 23 46 6c 6f 61 74 73 22 3e 46 6c 6f 61 74 73 3c 2f 61 3e 20 61 6e 64 20 3c 61 20 68 72 f="#Floats">Floats</a>.and.<a.hr
d2c00 65 66 3d 22 23 56 65 63 74 6f 72 73 22 3e 56 65 63 74 6f 72 73 3c 2f 61 3e 20 6f 66 20 66 6c 6f ef="#Vectors">Vectors</a>.of.flo
d2c20 61 74 73 2c 20 77 69 74 68 20 74 68 65 20 63 61 76 65 61 74 20 74 68 61 74 0a 20 20 20 20 20 20 ats,.with.the.caveat.that.......
d2c40 3c 61 20 68 72 65 66 3d 22 68 74 74 70 73 3a 2f 2f 67 69 74 68 75 62 2e 63 6f 6d 2f 7a 69 67 6c <a.href="https://github.com/zigl
d2c60 61 6e 67 2f 7a 69 67 2f 69 73 73 75 65 73 2f 34 30 32 36 22 3e 73 6f 6d 65 20 66 6c 6f 61 74 20 ang/zig/issues/4026">some.float.
d2c80 6f 70 65 72 61 74 69 6f 6e 73 20 61 72 65 20 6e 6f 74 20 79 65 74 20 69 6d 70 6c 65 6d 65 6e 74 operations.are.not.yet.implement
d2ca0 65 64 20 66 6f 72 20 61 6c 6c 20 66 6c 6f 61 74 20 74 79 70 65 73 3c 2f 61 3e 2e 0a 20 20 20 20 ed.for.all.float.types</a>......
d2cc0 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 61 6e ..</p>...............<h3.id="tan
d2ce0 22 3e 3c 61 20 68 72 65 66 3d 22 23 74 6f 63 2d 74 61 6e 22 3e 40 74 61 6e 3c 2f 61 3e 20 3c 61 "><a.href="#toc-tan">@tan</a>.<a
d2d00 20 63 6c 61 73 73 3d 22 68 64 72 22 20 68 72 65 66 3d 22 23 74 61 6e 22 3e c2 a7 3c 2f 61 3e 3c .class="hdr".href="#tan">..</a><
d2d20 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
d2d40 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 62 75 69 6c 74 ss="line"><span.class="tok-built
d2d60 69 6e 22 3e 40 74 61 6e 3c 2f 73 70 61 6e 3e 28 76 61 6c 75 65 3a 20 3c 73 70 61 6e 20 63 6c 61 in">@tan</span>(value:.<span.cla
d2d80 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 61 ss="tok-kw">anytype</span>).<spa
d2da0 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
d2dc0 70 61 6e 3e 28 76 61 6c 75 65 29 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 3c 2f 70 72 65 3e 0a pan>(value)</span></code></pre>.
d2de0 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
d2e00 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
d2e20 6e 74 20 6e 75 6d 62 65 72 2e 0a 20 20 20 20 20 20 55 73 65 73 20 61 20 64 65 64 69 63 61 74 65 nt.number........Uses.a.dedicate
d2e40 64 20 68 61 72 64 77 61 72 65 20 69 6e 73 74 72 75 63 74 69 6f 6e 20 77 68 65 6e 20 61 76 61 69 d.hardware.instruction.when.avai
d2e60 6c 61 62 6c 65 2e 0a 20 20 20 20 20 20 3c 2f 70 3e 0a 20 20 20 20 20 20 3c 70 3e 0a 20 20 20 20 lable........</p>.......<p>.....
d2e80 20 20 53 75 70 70 6f 72 74 73 20 3c 61 20 68 72 65 66 3d 22 23 46 6c 6f 61 74 73 22 3e 46 6c 6f ..Supports.<a.href="#Floats">Flo
d2ea0 61 74 73 3c 2f 61 3e 20 61 6e 64 20 3c 61 20 68 72 65 66 3d 22 23 56 65 63 74 6f 72 73 22 3e 56 ats</a>.and.<a.href="#Vectors">V
d2ec0 65 63 74 6f 72 73 3c 2f 61 3e 20 6f 66 20 66 6c 6f 61 74 73 2c 20 77 69 74 68 20 74 68 65 20 63 ectors</a>.of.floats,.with.the.c
d2ee0 61 76 65 61 74 20 74 68 61 74 0a 20 20 20 20 20 20 3c 61 20 68 72 65 66 3d 22 68 74 74 70 73 3a aveat.that.......<a.href="https:
d2f00 2f 2f 67 69 74 68 75 62 2e 63 6f 6d 2f 7a 69 67 6c 61 6e 67 2f 7a 69 67 2f 69 73 73 75 65 73 2f //github.com/ziglang/zig/issues/
d2f20 34 30 32 36 22 3e 73 6f 6d 65 20 66 6c 6f 61 74 20 6f 70 65 72 61 74 69 6f 6e 73 20 61 72 65 20 4026">some.float.operations.are.
d2f40 6e 6f 74 20 79 65 74 20 69 6d 70 6c 65 6d 65 6e 74 65 64 20 66 6f 72 20 61 6c 6c 20 66 6c 6f 61 not.yet.implemented.for.all.floa
d2f60 74 20 74 79 70 65 73 3c 2f 61 3e 2e 0a 20 20 20 20 20 20 3c 2f 70 3e 0a 20 20 20 20 20 20 0a 0a t.types</a>........</p>.........
d2f80 20 20 20 20 20 20 3c 68 33 20 69 64 3d 22 65 78 70 22 3e 3c 61 20 68 72 65 66 3d 22 23 74 6f 63 ......<h3.id="exp"><a.href="#toc
d2fa0 2d 65 78 70 22 3e 40 65 78 70 3c 2f 61 3e 20 3c 61 20 63 6c 61 73 73 3d 22 68 64 72 22 20 68 72 -exp">@exp</a>.<a.class="hdr".hr
d2fc0 65 66 3d 22 23 65 78 70 22 3e c2 a7 3c 2f 61 3e 3c 2f 68 33 3e 0a 0a 20 20 20 20 20 20 3c 70 72 ef="#exp">..</a></h3>........<pr
d2fe0 65 3e 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e e><code><span.class="line"><span
d3000 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 62 75 69 6c 74 69 6e 22 3e 40 65 78 70 3c 2f 73 70 61 6e 3e .class="tok-builtin">@exp</span>
d3020 28 76 61 6c 75 65 3a 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 61 6e 79 (value:.<span.class="tok-kw">any
d3040 74 79 70 65 3c 2f 73 70 61 6e 3e 29 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 62 75 type</span>).<span.class="tok-bu
d3060 69 6c 74 69 6e 22 3e 40 54 79 70 65 4f 66 3c 2f 73 70 61 6e 3e 28 76 61 6c 75 65 29 3c 2f 73 70 iltin">@TypeOf</span>(value)</sp
d3080 61 6e 3e 3c 2f 63 6f 64 65 3e 3c 2f 70 72 65 3e 0a 20 20 20 20 20 20 3c 70 3e 0a 20 20 20 20 20 an></code></pre>.......<p>......
d30a0 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 6f 6e 20 .Base-e.exponential.function.on.
d30c0 61 20 66 6c 6f 61 74 69 6e 67 20 70 6f 69 6e 74 20 6e 75 6d 62 65 72 2e 20 55 73 65 73 20 61 20 a.floating.point.number..Uses.a.
d30e0 64 65 64 69 63 61 74 65 64 20 68 61 72 64 77 61 72 65 20 69 6e 73 74 72 75 63 74 69 6f 6e 0a 20 dedicated.hardware.instruction..
d3100 20 20 20 20 20 77 68 65 6e 20 61 76 61 69 6c 61 62 6c 65 2e 0a 20 20 20 20 20 20 3c 2f 70 3e 0a .....when.available........</p>.
d3120 20 20 20 20 20 20 3c 70 3e 0a 20 20 20 20 20 20 53 75 70 70 6f 72 74 73 20 3c 61 20 68 72 65 66 ......<p>.......Supports.<a.href
d3140 3d 22 23 46 6c 6f 61 74 73 22 3e 46 6c 6f 61 74 73 3c 2f 61 3e 20 61 6e 64 20 3c 61 20 68 72 65 ="#Floats">Floats</a>.and.<a.hre
d3160 66 3d 22 23 56 65 63 74 6f 72 73 22 3e 56 65 63 74 6f 72 73 3c 2f 61 3e 20 6f 66 20 66 6c 6f 61 f="#Vectors">Vectors</a>.of.floa
d3180 74 73 2c 20 77 69 74 68 20 74 68 65 20 63 61 76 65 61 74 20 74 68 61 74 0a 20 20 20 20 20 20 3c ts,.with.the.caveat.that.......<
d31a0 61 20 68 72 65 66 3d 22 68 74 74 70 73 3a 2f 2f 67 69 74 68 75 62 2e 63 6f 6d 2f 7a 69 67 6c 61 a.href="https://github.com/zigla
d31c0 6e 67 2f 7a 69 67 2f 69 73 73 75 65 73 2f 34 30 32 36 22 3e 73 6f 6d 65 20 66 6c 6f 61 74 20 6f ng/zig/issues/4026">some.float.o
d31e0 70 65 72 61 74 69 6f 6e 73 20 61 72 65 20 6e 6f 74 20 79 65 74 20 69 6d 70 6c 65 6d 65 6e 74 65 perations.are.not.yet.implemente
d3200 64 20 66 6f 72 20 61 6c 6c 20 66 6c 6f 61 74 20 74 79 70 65 73 3c 2f 61 3e 2e 0a 20 20 20 20 20 d.for.all.float.types</a>.......
d3220 20 3c 2f 70 3e 0a 20 20 20 20 20 20 0a 20 20 20 20 20 20 3c 68 33 20 69 64 3d 22 65 78 70 32 22 .</p>..............<h3.id="exp2"
d3240 3e 3c 61 20 68 72 65 66 3d 22 23 74 6f 63 2d 65 78 70 32 22 3e 40 65 78 70 32 3c 2f 61 3e 20 3c ><a.href="#toc-exp2">@exp2</a>.<
d3260 61 20 63 6c 61 73 73 3d 22 68 64 72 22 20 68 72 65 66 3d 22 23 65 78 70 32 22 3e c2 a7 3c 2f 61 a.class="hdr".href="#exp2">..</a
d3280 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
d32a0 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 62 75 69 lass="line"><span.class="tok-bui
d32c0 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 6e 20 ltin">@exp2</span>(value:.<span.
d32e0 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>).<
d3300 73 70 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
d3320 3c 2f 73 70 61 6e 3e 28 76 61 6c 75 65 29 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 3c 2f 70 72 </span>(value)</span></code></pr
d3340 65 3e 0a 20 20 20 20 20 20 3c 70 3e 0a 20 20 20 20 20 20 42 61 73 65 2d 32 20 65 78 70 6f 6e 65 e>.......<p>.......Base-2.expone
d3360 6e 74 69 61 6c 20 66 75 6e 63 74 69 6f 6e 20 6f 6e 20 61 20 66 6c 6f 61 74 69 6e 67 20 70 6f 69 ntial.function.on.a.floating.poi
d3380 6e 74 20 6e 75 6d 62 65 72 2e 20 55 73 65 73 20 61 20 64 65 64 69 63 61 74 65 64 20 68 61 72 64 nt.number..Uses.a.dedicated.hard
d33a0 77 61 72 65 20 69 6e 73 74 72 75 63 74 69 6f 6e 0a 20 20 20 20 20 20 77 68 65 6e 20 61 76 61 69 ware.instruction.......when.avai
d33c0 6c 61 62 6c 65 2e 0a 20 20 20 20 20 20 3c 2f 70 3e 0a 20 20 20 20 20 20 3c 70 3e 0a 20 20 20 20 lable........</p>.......<p>.....
d33e0 20 20 53 75 70 70 6f 72 74 73 20 3c 61 20 68 72 65 66 3d 22 23 46 6c 6f 61 74 73 22 3e 46 6c 6f ..Supports.<a.href="#Floats">Flo
d3400 61 74 73 3c 2f 61 3e 20 61 6e 64 20 3c 61 20 68 72 65 66 3d 22 23 56 65 63 74 6f 72 73 22 3e 56 ats</a>.and.<a.href="#Vectors">V
d3420 65 63 74 6f 72 73 3c 2f 61 3e 20 6f 66 20 66 6c 6f 61 74 73 2c 20 77 69 74 68 20 74 68 65 20 63 ectors</a>.of.floats,.with.the.c
d3440 61 76 65 61 74 20 74 68 61 74 0a 20 20 20 20 20 20 3c 61 20 68 72 65 66 3d 22 68 74 74 70 73 3a aveat.that.......<a.href="https:
d3460 2f 2f 67 69 74 68 75 62 2e 63 6f 6d 2f 7a 69 67 6c 61 6e 67 2f 7a 69 67 2f 69 73 73 75 65 73 2f //github.com/ziglang/zig/issues/
d3480 34 30 32 36 22 3e 73 6f 6d 65 20 66 6c 6f 61 74 20 6f 70 65 72 61 74 69 6f 6e 73 20 61 72 65 20 4026">some.float.operations.are.
d34a0 6e 6f 74 20 79 65 74 20 69 6d 70 6c 65 6d 65 6e 74 65 64 20 66 6f 72 20 61 6c 6c 20 66 6c 6f 61 not.yet.implemented.for.all.floa
d34c0 74 20 74 79 70 65 73 3c 2f 61 3e 2e 0a 20 20 20 20 20 20 3c 2f 70 3e 0a 20 20 20 20 20 20 0a 20 t.types</a>........</p>.........
d34e0 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 23 74 6f 63 2d .....<h3.id="log"><a.href="#toc-
d3500 6c 6f 67 22 3e 40 6c 6f 67 3c 2f 61 3e 20 3c 61 20 63 6c 61 73 73 3d 22 68 64 72 22 20 68 72 65 log">@log</a>.<a.class="hdr".hre
d3520 66 3d 22 23 6c 6f 67 22 3e c2 a7 3c 2f 61 3e 3c 2f 68 33 3e 0a 0a 20 20 20 20 20 20 3c 70 72 65 f="#log">..</a></h3>........<pre
d3540 3e 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 ><code><span.class="line"><span.
d3560 63 6c 61 73 73 3d 22 74 6f 6b 2d 62 75 69 6c 74 69 6e 22 3e 40 6c 6f 67 3c 2f 73 70 61 6e 3e 28 class="tok-builtin">@log</span>(
d3580 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
d35a0 79 70 65 3c 2f 73 70 61 6e 3e 29 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 62 75 69 ype</span>).<span.class="tok-bui
d35c0 6c 74 69 6e 22 3e 40 54 79 70 65 4f 66 3c 2f 73 70 61 6e 3e 28 76 61 6c 75 65 29 3c 2f 73 70 61 ltin">@TypeOf</span>(value)</spa
d35e0 6e 3e 3c 2f 63 6f 64 65 3e 3c 2f 70 72 65 3e 0a 20 20 20 20 20 20 3c 70 3e 0a 20 20 20 20 20 20 n></code></pre>.......<p>.......
d3600 52 65 74 75 72 6e 73 20 74 68 65 20 6e 61 74 75 72 61 6c 20 6c 6f 67 61 72 69 74 68 6d 20 6f 66 Returns.the.natural.logarithm.of
d3620 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 20 61 .a.floating.point.number..Uses.a
d3640 20 64 65 64 69 63 61 74 65 64 20 68 61 72 64 77 61 72 65 20 69 6e 73 74 72 75 63 74 69 6f 6e 0a .dedicated.hardware.instruction.
d3660 20 20 20 20 20 20 77 68 65 6e 20 61 76 61 69 6c 61 62 6c 65 2e 0a 20 20 20 20 20 20 3c 2f 70 3e ......when.available........</p>
d3680 0a 20 20 20 20 20 20 3c 70 3e 0a 20 20 20 20 20 20 53 75 70 70 6f 72 74 73 20 3c 61 20 68 72 65 .......<p>.......Supports.<a.hre
d36a0 66 3d 22 23 46 6c 6f 61 74 73 22 3e 46 6c 6f 61 74 73 3c 2f 61 3e 20 61 6e 64 20 3c 61 20 68 72 f="#Floats">Floats</a>.and.<a.hr
d36c0 65 66 3d 22 23 56 65 63 74 6f 72 73 22 3e 56 65 63 74 6f 72 73 3c 2f 61 3e 20 6f 66 20 66 6c 6f ef="#Vectors">Vectors</a>.of.flo
d36e0 61 74 73 2c 20 77 69 74 68 20 74 68 65 20 63 61 76 65 61 74 20 74 68 61 74 0a 20 20 20 20 20 20 ats,.with.the.caveat.that.......
d3700 3c 61 20 68 72 65 66 3d 22 68 74 74 70 73 3a 2f 2f 67 69 74 68 75 62 2e 63 6f 6d 2f 7a 69 67 6c <a.href="https://github.com/zigl
d3720 61 6e 67 2f 7a 69 67 2f 69 73 73 75 65 73 2f 34 30 32 36 22 3e 73 6f 6d 65 20 66 6c 6f 61 74 20 ang/zig/issues/4026">some.float.
d3740 6f 70 65 72 61 74 69 6f 6e 73 20 61 72 65 20 6e 6f 74 20 79 65 74 20 69 6d 70 6c 65 6d 65 6e 74 operations.are.not.yet.implement
d3760 65 64 20 66 6f 72 20 61 6c 6c 20 66 6c 6f 61 74 20 74 79 70 65 73 3c 2f 61 3e 2e 0a 20 20 20 20 ed.for.all.float.types</a>......
d3780 20 20 3c 2f 70 3e 0a 20 20 20 20 20 20 0a 20 20 20 20 20 20 3c 68 33 20 69 64 3d 22 6c 6f 67 32 ..</p>..............<h3.id="log2
d37a0 22 3e 3c 61 20 68 72 65 66 3d 22 23 74 6f 63 2d 6c 6f 67 32 22 3e 40 6c 6f 67 32 3c 2f 61 3e 20 "><a.href="#toc-log2">@log2</a>.
d37c0 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 3e c2 a7 3c 2f <a.class="hdr".href="#log2">..</
d37e0 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.
d3800 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 62 75 class="line"><span.class="tok-bu
d3820 69 6c 74 69 6e 22 3e 40 6c 6f 67 32 3c 2f 73 70 61 6e 3e 28 76 61 6c 75 65 3a 20 3c 73 70 61 6e iltin">@log2</span>(value:.<span
d3840 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>).
d3860 3c 73 70 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
d3880 66 3c 2f 73 70 61 6e 3e 28 76 61 6c 75 65 29 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 3c 2f 70 f</span>(value)</span></code></p
d38a0 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 20 re>.......<p>.......Returns.the.
d38c0 6c 6f 67 61 72 69 74 68 6d 20 74 6f 20 74 68 65 20 62 61 73 65 20 32 20 6f 66 20 61 20 66 6c 6f logarithm.to.the.base.2.of.a.flo
d38e0 61 74 69 6e 67 20 70 6f 69 6e 74 20 6e 75 6d 62 65 72 2e 20 55 73 65 73 20 61 20 64 65 64 69 63 ating.point.number..Uses.a.dedic
d3900 61 74 65 64 20 68 61 72 64 77 61 72 65 20 69 6e 73 74 72 75 63 74 69 6f 6e 0a 20 20 20 20 20 20 ated.hardware.instruction.......
d3920 77 68 65 6e 20 61 76 61 69 6c 61 62 6c 65 2e 0a 20 20 20 20 20 20 3c 2f 70 3e 0a 20 20 20 20 20 when.available........</p>......
d3940 20 3c 70 3e 0a 20 20 20 20 20 20 53 75 70 70 6f 72 74 73 20 3c 61 20 68 72 65 66 3d 22 23 46 6c .<p>.......Supports.<a.href="#Fl
d3960 6f 61 74 73 22 3e 46 6c 6f 61 74 73 3c 2f 61 3e 20 61 6e 64 20 3c 61 20 68 72 65 66 3d 22 23 56 oats">Floats</a>.and.<a.href="#V
d3980 65 63 74 6f 72 73 22 3e 56 65 63 74 6f 72 73 3c 2f 61 3e 20 6f 66 20 66 6c 6f 61 74 73 2c 20 77 ectors">Vectors</a>.of.floats,.w
d39a0 69 74 68 20 74 68 65 20 63 61 76 65 61 74 20 74 68 61 74 0a 20 20 20 20 20 20 3c 61 20 68 72 65 ith.the.caveat.that.......<a.hre
d39c0 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
d39e0 67 2f 69 73 73 75 65 73 2f 34 30 32 36 22 3e 73 6f 6d 65 20 66 6c 6f 61 74 20 6f 70 65 72 61 74 g/issues/4026">some.float.operat
d3a00 69 6f 6e 73 20 61 72 65 20 6e 6f 74 20 79 65 74 20 69 6d 70 6c 65 6d 65 6e 74 65 64 20 66 6f 72 ions.are.not.yet.implemented.for
d3a20 20 61 6c 6c 20 66 6c 6f 61 74 20 74 79 70 65 73 3c 2f 61 3e 2e 0a 20 20 20 20 20 20 3c 2f 70 3e .all.float.types</a>........</p>
d3a40 0a 20 20 20 20 20 20 0a 20 20 20 20 20 20 3c 68 33 20 69 64 3d 22 6c 6f 67 31 30 22 3e 3c 61 20 ..............<h3.id="log10"><a.
d3a60 68 72 65 66 3d 22 23 74 6f 63 2d 6c 6f 67 31 30 22 3e 40 6c 6f 67 31 30 3c 2f 61 3e 20 3c 61 20 href="#toc-log10">@log10</a>.<a.
d3a80 63 6c 61 73 73 3d 22 68 64 72 22 20 68 72 65 66 3d 22 23 6c 6f 67 31 30 22 3e c2 a7 3c 2f 61 3e class="hdr".href="#log10">..</a>
d3aa0 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
d3ac0 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 62 75 69 6c ass="line"><span.class="tok-buil
d3ae0 74 69 6e 22 3e 40 6c 6f 67 31 30 3c 2f 73 70 61 6e 3e 28 76 61 6c 75 65 3a 20 3c 73 70 61 6e 20 tin">@log10</span>(value:.<span.
d3b00 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>).<
d3b20 73 70 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
d3b40 3c 2f 73 70 61 6e 3e 28 76 61 6c 75 65 29 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 3c 2f 70 72 </span>(value)</span></code></pr
d3b60 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 6c e>.......<p>.......Returns.the.l
d3b80 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 66 6c 6f ogarithm.to.the.base.10.of.a.flo
d3ba0 61 74 69 6e 67 20 70 6f 69 6e 74 20 6e 75 6d 62 65 72 2e 20 55 73 65 73 20 61 20 64 65 64 69 63 ating.point.number..Uses.a.dedic
d3bc0 61 74 65 64 20 68 61 72 64 77 61 72 65 20 69 6e 73 74 72 75 63 74 69 6f 6e 0a 20 20 20 20 20 20 ated.hardware.instruction.......
d3be0 77 68 65 6e 20 61 76 61 69 6c 61 62 6c 65 2e 0a 20 20 20 20 20 20 3c 2f 70 3e 0a 20 20 20 20 20 when.available........</p>......
d3c00 20 3c 70 3e 0a 20 20 20 20 20 20 53 75 70 70 6f 72 74 73 20 3c 61 20 68 72 65 66 3d 22 23 46 6c .<p>.......Supports.<a.href="#Fl
d3c20 6f 61 74 73 22 3e 46 6c 6f 61 74 73 3c 2f 61 3e 20 61 6e 64 20 3c 61 20 68 72 65 66 3d 22 23 56 oats">Floats</a>.and.<a.href="#V
d3c40 65 63 74 6f 72 73 22 3e 56 65 63 74 6f 72 73 3c 2f 61 3e 20 6f 66 20 66 6c 6f 61 74 73 2c 20 77 ectors">Vectors</a>.of.floats,.w
d3c60 69 74 68 20 74 68 65 20 63 61 76 65 61 74 20 74 68 61 74 0a 20 20 20 20 20 20 3c 61 20 68 72 65 ith.the.caveat.that.......<a.hre
d3c80 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
d3ca0 67 2f 69 73 73 75 65 73 2f 34 30 32 36 22 3e 73 6f 6d 65 20 66 6c 6f 61 74 20 6f 70 65 72 61 74 g/issues/4026">some.float.operat
d3cc0 69 6f 6e 73 20 61 72 65 20 6e 6f 74 20 79 65 74 20 69 6d 70 6c 65 6d 65 6e 74 65 64 20 66 6f 72 ions.are.not.yet.implemented.for
d3ce0 20 61 6c 6c 20 66 6c 6f 61 74 20 74 79 70 65 73 3c 2f 61 3e 2e 0a 20 20 20 20 20 20 3c 2f 70 3e .all.float.types</a>........</p>
d3d00 0a 20 20 20 20 20 20 0a 20 20 20 20 20 20 3c 68 33 20 69 64 3d 22 66 61 62 73 22 3e 3c 61 20 68 ..............<h3.id="fabs"><a.h
d3d20 72 65 66 3d 22 23 74 6f 63 2d 66 61 62 73 22 3e 40 66 61 62 73 3c 2f 61 3e 20 3c 61 20 63 6c 61 ref="#toc-fabs">@fabs</a>.<a.cla
d3d40 73 73 3d 22 68 64 72 22 20 68 72 65 66 3d 22 23 66 61 62 73 22 3e c2 a7 3c 2f 61 3e 3c 2f 68 33 ss="hdr".href="#fabs">..</a></h3
d3d60 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=
d3d80 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 62 75 69 6c 74 69 6e 22 "line"><span.class="tok-builtin"
d3da0 3e 40 66 61 62 73 3c 2f 73 70 61 6e 3e 28 76 61 6c 75 65 3a 20 3c 73 70 61 6e 20 63 6c 61 73 73 >@fabs</span>(value:.<span.class
d3dc0 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.
d3de0 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
d3e00 6e 3e 28 76 61 6c 75 65 29 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 3c 2f 70 72 65 3e 0a 20 20 n>(value)</span></code></pre>...
d3e20 20 20 20 20 3c 70 3e 0a 20 20 20 20 20 20 52 65 74 75 72 6e 73 20 74 68 65 20 61 62 73 6f 6c 75 ....<p>.......Returns.the.absolu
d3e40 74 65 20 76 61 6c 75 65 20 6f 66 20 61 20 66 6c 6f 61 74 69 6e 67 20 70 6f 69 6e 74 20 6e 75 6d te.value.of.a.floating.point.num
d3e60 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 69 ber..Uses.a.dedicated.hardware.i
d3e80 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 2e nstruction.......when.available.
d3ea0 0a 20 20 20 20 20 20 3c 2f 70 3e 0a 20 20 20 20 20 20 3c 70 3e 0a 20 20 20 20 20 20 53 75 70 70 .......</p>.......<p>.......Supp
d3ec0 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 61 orts.<a.href="#Floats">Floats</a
d3ee0 3e 20 61 6e 64 20 3c 61 20 68 72 65 66 3d 22 23 56 65 63 74 6f 72 73 22 3e 56 65 63 74 6f 72 73 >.and.<a.href="#Vectors">Vectors
d3f00 3c 2f 61 3e 20 6f 66 20 66 6c 6f 61 74 73 2c 20 77 69 74 68 20 74 68 65 20 63 61 76 65 61 74 20 </a>.of.floats,.with.the.caveat.
d3f20 74 68 61 74 0a 20 20 20 20 20 20 3c 61 20 68 72 65 66 3d 22 68 74 74 70 73 3a 2f 2f 67 69 74 68 that.......<a.href="https://gith
d3f40 75 62 2e 63 6f 6d 2f 7a 69 67 6c 61 6e 67 2f 7a 69 67 2f 69 73 73 75 65 73 2f 34 30 32 36 22 3e ub.com/ziglang/zig/issues/4026">
d3f60 73 6f 6d 65 20 66 6c 6f 61 74 20 6f 70 65 72 61 74 69 6f 6e 73 20 61 72 65 20 6e 6f 74 20 79 65 some.float.operations.are.not.ye
d3f80 74 20 69 6d 70 6c 65 6d 65 6e 74 65 64 20 66 6f 72 20 61 6c 6c 20 66 6c 6f 61 74 20 74 79 70 65 t.implemented.for.all.float.type
d3fa0 73 3c 2f 61 3e 2e 0a 20 20 20 20 20 20 3c 2f 70 3e 0a 20 20 20 20 20 20 0a 20 20 20 20 20 20 3c s</a>........</p>..............<
d3fc0 68 33 20 69 64 3d 22 66 6c 6f 6f 72 22 3e 3c 61 20 68 72 65 66 3d 22 23 74 6f 63 2d 66 6c 6f 6f h3.id="floor"><a.href="#toc-floo
d3fe0 72 22 3e 40 66 6c 6f 6f 72 3c 2f 61 3e 20 3c 61 20 63 6c 61 73 73 3d 22 68 64 72 22 20 68 72 65 r">@floor</a>.<a.class="hdr".hre
d4000 66 3d 22 23 66 6c 6f 6f 72 22 3e c2 a7 3c 2f 61 3e 3c 2f 68 33 3e 0a 0a 20 20 20 20 20 20 3c 70 f="#floor">..</a></h3>........<p
d4020 72 65 3e 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 re><code><span.class="line"><spa
d4040 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 62 75 69 6c 74 69 6e 22 3e 40 66 6c 6f 6f 72 3c 2f 73 70 n.class="tok-builtin">@floor</sp
d4060 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">
d4080 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
d40a0 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)<
d40c0 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>...
d40e0 20 20 20 20 52 65 74 75 72 6e 73 20 74 68 65 20 6c 61 72 67 65 73 74 20 69 6e 74 65 67 72 61 6c ....Returns.the.largest.integral
d4100 20 76 61 6c 75 65 20 6e 6f 74 20 67 72 65 61 74 65 72 20 74 68 61 6e 20 74 68 65 20 67 69 76 65 .value.not.greater.than.the.give
d4120 6e 20 66 6c 6f 61 74 69 6e 67 20 70 6f 69 6e 74 20 6e 75 6d 62 65 72 2e 0a 20 20 20 20 20 20 55 n.floating.point.number........U
d4140 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
d4160 74 69 6f 6e 20 77 68 65 6e 20 61 76 61 69 6c 61 62 6c 65 2e 0a 20 20 20 20 20 20 3c 2f 70 3e 0a tion.when.available........</p>.
d4180 20 20 20 20 20 20 3c 70 3e 0a 20 20 20 20 20 20 53 75 70 70 6f 72 74 73 20 3c 61 20 68 72 65 66 ......<p>.......Supports.<a.href
d41a0 3d 22 23 46 6c 6f 61 74 73 22 3e 46 6c 6f 61 74 73 3c 2f 61 3e 20 61 6e 64 20 3c 61 20 68 72 65 ="#Floats">Floats</a>.and.<a.hre
d41c0 66 3d 22 23 56 65 63 74 6f 72 73 22 3e 56 65 63 74 6f 72 73 3c 2f 61 3e 20 6f 66 20 66 6c 6f 61 f="#Vectors">Vectors</a>.of.floa
d41e0 74 73 2c 20 77 69 74 68 20 74 68 65 20 63 61 76 65 61 74 20 74 68 61 74 0a 20 20 20 20 20 20 3c ts,.with.the.caveat.that.......<
d4200 61 20 68 72 65 66 3d 22 68 74 74 70 73 3a 2f 2f 67 69 74 68 75 62 2e 63 6f 6d 2f 7a 69 67 6c 61 a.href="https://github.com/zigla
d4220 6e 67 2f 7a 69 67 2f 69 73 73 75 65 73 2f 34 30 32 36 22 3e 73 6f 6d 65 20 66 6c 6f 61 74 20 6f ng/zig/issues/4026">some.float.o
d4240 70 65 72 61 74 69 6f 6e 73 20 61 72 65 20 6e 6f 74 20 79 65 74 20 69 6d 70 6c 65 6d 65 6e 74 65 perations.are.not.yet.implemente
d4260 64 20 66 6f 72 20 61 6c 6c 20 66 6c 6f 61 74 20 74 79 70 65 73 3c 2f 61 3e 2e 0a 20 20 20 20 20 d.for.all.float.types</a>.......
d4280 20 3c 2f 70 3e 0a 20 20 20 20 20 20 0a 20 20 20 20 20 20 3c 68 33 20 69 64 3d 22 63 65 69 6c 22 .</p>..............<h3.id="ceil"
d42a0 3e 3c 61 20 68 72 65 66 3d 22 23 74 6f 63 2d 63 65 69 6c 22 3e 40 63 65 69 6c 3c 2f 61 3e 20 3c ><a.href="#toc-ceil">@ceil</a>.<
d42c0 61 20 63 6c 61 73 73 3d 22 68 64 72 22 20 68 72 65 66 3d 22 23 63 65 69 6c 22 3e c2 a7 3c 2f 61 a.class="hdr".href="#ceil">..</a
d42e0 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
d4300 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 62 75 69 lass="line"><span.class="tok-bui
d4320 6c 74 69 6e 22 3e 40 63 65 69 6c 3c 2f 73 70 61 6e 3e 28 76 61 6c 75 65 3a 20 3c 73 70 61 6e 20 ltin">@ceil</span>(value:.<span.
d4340 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>).<
d4360 73 70 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
d4380 3c 2f 73 70 61 6e 3e 28 76 61 6c 75 65 29 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 3c 2f 70 72 </span>(value)</span></code></pr
d43a0 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 73 e>.......<p>.......Returns.the.s
d43c0 6d 61 6c 6c 65 73 74 20 69 6e 74 65 67 72 61 6c 20 76 61 6c 75 65 20 6e 6f 74 20 6c 65 73 73 20 mallest.integral.value.not.less.
d43e0 74 68 61 6e 20 74 68 65 20 67 69 76 65 6e 20 66 6c 6f 61 74 69 6e 67 20 70 6f 69 6e 74 20 6e 75 than.the.given.floating.point.nu
d4400 6d 62 65 72 2e 0a 20 20 20 20 20 20 55 73 65 73 20 61 20 64 65 64 69 63 61 74 65 64 20 68 61 72 mber........Uses.a.dedicated.har
d4420 64 77 61 72 65 20 69 6e 73 74 72 75 63 74 69 6f 6e 20 77 68 65 6e 20 61 76 61 69 6c 61 62 6c 65 dware.instruction.when.available
d4440 2e 0a 20 20 20 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
d4460 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</
d4480 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
d44a0 73 3c 2f 61 3e 20 6f 66 20 66 6c 6f 61 74 73 2c 20 77 69 74 68 20 74 68 65 20 63 61 76 65 61 74 s</a>.of.floats,.with.the.caveat
d44c0 20 74 68 61 74 0a 20 20 20 20 20 20 3c 61 20 68 72 65 66 3d 22 68 74 74 70 73 3a 2f 2f 67 69 74 .that.......<a.href="https://git
d44e0 68 75 62 2e 63 6f 6d 2f 7a 69 67 6c 61 6e 67 2f 7a 69 67 2f 69 73 73 75 65 73 2f 34 30 32 36 22 hub.com/ziglang/zig/issues/4026"
d4500 3e 73 6f 6d 65 20 66 6c 6f 61 74 20 6f 70 65 72 61 74 69 6f 6e 73 20 61 72 65 20 6e 6f 74 20 79 >some.float.operations.are.not.y
d4520 65 74 20 69 6d 70 6c 65 6d 65 6e 74 65 64 20 66 6f 72 20 61 6c 6c 20 66 6c 6f 61 74 20 74 79 70 et.implemented.for.all.float.typ
d4540 65 73 3c 2f 61 3e 2e 0a 20 20 20 20 20 20 3c 2f 70 3e 0a 20 20 20 20 20 20 0a 20 20 20 20 20 20 es</a>........</p>..............
d4560 3c 68 33 20 69 64 3d 22 74 72 75 6e 63 22 3e 3c 61 20 68 72 65 66 3d 22 23 74 6f 63 2d 74 72 75 <h3.id="trunc"><a.href="#toc-tru
d4580 6e 63 22 3e 40 74 72 75 6e 63 3c 2f 61 3e 20 3c 61 20 63 6c 61 73 73 3d 22 68 64 72 22 20 68 72 nc">@trunc</a>.<a.class="hdr".hr
d45a0 65 66 3d 22 23 74 72 75 6e 63 22 3e c2 a7 3c 2f 61 3e 3c 2f 68 33 3e 0a 0a 20 20 20 20 20 20 3c ef="#trunc">..</a></h3>........<
d45c0 70 72 65 3e 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 pre><code><span.class="line"><sp
d45e0 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 62 75 69 6c 74 69 6e 22 3e 40 74 72 75 6e 63 3c 2f 73 an.class="tok-builtin">@trunc</s
d4600 70 61 6e 3e 28 76 61 6c 75 65 3a 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 pan>(value:.<span.class="tok-kw"
d4620 3e 61 6e 79 74 79 70 65 3c 2f 73 70 61 6e 3e 29 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f >anytype</span>).<span.class="to
d4640 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)
d4660 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 3c 2f 70 72 65 3e 0a 20 20 20 20 20 20 3c 70 3e 0a 20 </span></code></pre>.......<p>..
d4680 20 20 20 20 20 52 6f 75 6e 64 73 20 74 68 65 20 67 69 76 65 6e 20 66 6c 6f 61 74 69 6e 67 20 70 .....Rounds.the.given.floating.p
d46a0 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 77 61 72 oint.number.to.an.integer,.towar
d46c0 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 65 64 20 ds.zero........Uses.a.dedicated.
d46e0 68 61 72 64 77 61 72 65 20 69 6e 73 74 72 75 63 74 69 6f 6e 20 77 68 65 6e 20 61 76 61 69 6c 61 hardware.instruction.when.availa
d4700 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 20 ble........</p>.......<p>.......
d4720 53 75 70 70 6f 72 74 73 20 3c 61 20 68 72 65 66 3d 22 23 46 6c 6f 61 74 73 22 3e 46 6c 6f 61 74 Supports.<a.href="#Floats">Float
d4740 73 3c 2f 61 3e 20 61 6e 64 20 3c 61 20 68 72 65 66 3d 22 23 56 65 63 74 6f 72 73 22 3e 56 65 63 s</a>.and.<a.href="#Vectors">Vec
d4760 74 6f 72 73 3c 2f 61 3e 20 6f 66 20 66 6c 6f 61 74 73 2c 20 77 69 74 68 20 74 68 65 20 63 61 76 tors</a>.of.floats,.with.the.cav
d4780 65 61 74 20 74 68 61 74 0a 20 20 20 20 20 20 3c 61 20 68 72 65 66 3d 22 68 74 74 70 73 3a 2f 2f eat.that.......<a.href="https://
d47a0 67 69 74 68 75 62 2e 63 6f 6d 2f 7a 69 67 6c 61 6e 67 2f 7a 69 67 2f 69 73 73 75 65 73 2f 34 30 github.com/ziglang/zig/issues/40
d47c0 32 36 22 3e 73 6f 6d 65 20 66 6c 6f 61 74 20 6f 70 65 72 61 74 69 6f 6e 73 20 61 72 65 20 6e 6f 26">some.float.operations.are.no
d47e0 74 20 79 65 74 20 69 6d 70 6c 65 6d 65 6e 74 65 64 20 66 6f 72 20 61 6c 6c 20 66 6c 6f 61 74 20 t.yet.implemented.for.all.float.
d4800 74 79 70 65 73 3c 2f 61 3e 2e 0a 20 20 20 20 20 20 3c 2f 70 3e 0a 20 20 20 20 20 20 0a 20 20 20 types</a>........</p>...........
d4820 20 20 20 3c 68 33 20 69 64 3d 22 72 6f 75 6e 64 22 3e 3c 61 20 68 72 65 66 3d 22 23 74 6f 63 2d ...<h3.id="round"><a.href="#toc-
d4840 72 6f 75 6e 64 22 3e 40 72 6f 75 6e 64 3c 2f 61 3e 20 3c 61 20 63 6c 61 73 73 3d 22 68 64 72 22 round">@round</a>.<a.class="hdr"
d4860 20 68 72 65 66 3d 22 23 72 6f 75 6e 64 22 3e c2 a7 3c 2f 61 3e 3c 2f 68 33 3e 0a 0a 20 20 20 20 .href="#round">..</a></h3>......
d4880 20 20 3c 70 72 65 3e 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e ..<pre><code><span.class="line">
d48a0 3c 73 70 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 64 <span.class="tok-builtin">@round
d48c0 3c 2f 73 70 61 6e 3e 28 76 61 6c 75 65 3a 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d </span>(value:.<span.class="tok-
d48e0 6b 77 22 3e 61 6e 79 74 79 70 65 3c 2f 73 70 61 6e 3e 29 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d kw">anytype</span>).<span.class=
d4900 22 74 6f 6b 2d 62 75 69 6c 74 69 6e 22 3e 40 54 79 70 65 4f 66 3c 2f 73 70 61 6e 3e 28 76 61 6c "tok-builtin">@TypeOf</span>(val
d4920 75 65 29 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 3c 2f 70 72 65 3e 0a 20 20 20 20 20 20 3c 70 ue)</span></code></pre>.......<p
d4940 3e 0a 20 20 20 20 20 20 52 6f 75 6e 64 73 20 74 68 65 20 67 69 76 65 6e 20 66 6c 6f 61 74 69 6e >.......Rounds.the.given.floatin
d4960 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 61 77 g.point.number.to.an.integer,.aw
d4980 61 79 20 66 72 6f 6d 20 7a 65 72 6f 2e 20 55 73 65 73 20 61 20 64 65 64 69 63 61 74 65 64 20 68 ay.from.zero..Uses.a.dedicated.h
d49a0 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 61 ardware.instruction.......when.a
d49c0 76 61 69 6c 61 62 6c 65 2e 0a 20 20 20 20 20 20 3c 2f 70 3e 0a 20 20 20 20 20 20 3c 70 3e 0a 20 vailable........</p>.......<p>..
d49e0 20 20 20 20 20 53 75 70 70 6f 72 74 73 20 3c 61 20 68 72 65 66 3d 22 23 46 6c 6f 61 74 73 22 3e .....Supports.<a.href="#Floats">
d4a00 46 6c 6f 61 74 73 3c 2f 61 3e 20 61 6e 64 20 3c 61 20 68 72 65 66 3d 22 23 56 65 63 74 6f 72 73 Floats</a>.and.<a.href="#Vectors
d4a20 22 3e 56 65 63 74 6f 72 73 3c 2f 61 3e 20 6f 66 20 66 6c 6f 61 74 73 2c 20 77 69 74 68 20 74 68 ">Vectors</a>.of.floats,.with.th
d4a40 65 20 63 61 76 65 61 74 20 74 68 61 74 0a 20 20 20 20 20 20 3c 61 20 68 72 65 66 3d 22 68 74 74 e.caveat.that.......<a.href="htt
d4a60 70 73 3a 2f 2f 67 69 74 68 75 62 2e 63 6f 6d 2f 7a 69 67 6c 61 6e 67 2f 7a 69 67 2f 69 73 73 75 ps://github.com/ziglang/zig/issu
d4a80 65 73 2f 34 30 32 36 22 3e 73 6f 6d 65 20 66 6c 6f 61 74 20 6f 70 65 72 61 74 69 6f 6e 73 20 61 es/4026">some.float.operations.a
d4aa0 72 65 20 6e 6f 74 20 79 65 74 20 69 6d 70 6c 65 6d 65 6e 74 65 64 20 66 6f 72 20 61 6c 6c 20 66 re.not.yet.implemented.for.all.f
d4ac0 6c 6f 61 74 20 74 79 70 65 73 3c 2f 61 3e 2e 0a 20 20 20 20 20 20 3c 2f 70 3e 0a 20 20 20 20 20 loat.types</a>........</p>......
d4ae0 20 0a 0a 20 20 20 20 20 20 3c 68 33 20 69 64 3d 22 73 75 62 57 69 74 68 4f 76 65 72 66 6c 6f 77 .........<h3.id="subWithOverflow
d4b00 22 3e 3c 61 20 68 72 65 66 3d 22 23 74 6f 63 2d 73 75 62 57 69 74 68 4f 76 65 72 66 6c 6f 77 22 "><a.href="#toc-subWithOverflow"
d4b20 3e 40 73 75 62 57 69 74 68 4f 76 65 72 66 6c 6f 77 3c 2f 61 3e 20 3c 61 20 63 6c 61 73 73 3d 22 >@subWithOverflow</a>.<a.class="
d4b40 68 64 72 22 20 68 72 65 66 3d 22 23 73 75 62 57 69 74 68 4f 76 65 72 66 6c 6f 77 22 3e c2 a7 3c hdr".href="#subWithOverflow">..<
d4b60 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
d4b80 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 62 .class="line"><span.class="tok-b
d4ba0 75 69 6c 74 69 6e 22 3e 40 73 75 62 57 69 74 68 4f 76 65 72 66 6c 6f 77 3c 2f 73 70 61 6e 3e 28 uiltin">@subWithOverflow</span>(
d4bc0 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
d4be0 70 61 6e 3e 20 54 3a 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 74 pan>.T:.<span.class="tok-type">t
d4c00 79 70 65 3c 2f 73 70 61 6e 3e 2c 20 61 3a 20 54 2c 20 62 3a 20 54 2c 20 72 65 73 75 6c 74 3a 20 ype</span>,.a:.T,.b:.T,.result:.
d4c20 2a 54 29 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 62 6f 6f 6c 3c *T).<span.class="tok-type">bool<
d4c40 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 3c 2f 70 72 65 3e 0a 20 20 20 20 20 /span></span></code></pre>......
d4c60 20 3c 70 3e 0a 20 20 20 20 20 20 50 65 72 66 6f 72 6d 73 20 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 .<p>.......Performs.<code><span.
d4c80 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 72 65 73 75 6c 74 2e 2a 20 3d 20 61 20 2d 20 62 3c 2f 73 class="line">result.*.=.a.-.b</s
d4ca0 70 61 6e 3e 3c 2f 63 6f 64 65 3e 2e 20 49 66 20 6f 76 65 72 66 6c 6f 77 20 6f 72 20 75 6e 64 65 pan></code>..If.overflow.or.unde
d4cc0 72 66 6c 6f 77 20 6f 63 63 75 72 73 2c 0a 20 20 20 20 20 20 20 20 20 20 73 74 6f 72 65 73 20 74 rflow.occurs,...........stores.t
d4ce0 68 65 20 6f 76 65 72 66 6c 6f 77 65 64 20 62 69 74 73 20 69 6e 20 3c 63 6f 64 65 3e 3c 73 70 61 he.overflowed.bits.in.<code><spa
d4d00 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 72 65 73 75 6c 74 3c 2f 73 70 61 6e 3e 3c 2f 63 6f n.class="line">result</span></co
d4d20 64 65 3e 20 61 6e 64 20 72 65 74 75 72 6e 73 20 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 de>.and.returns.<code><span.clas
d4d40 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6c 6c 22 3e s="line"><span.class="tok-null">
d4d60 74 72 75 65 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 2e 0a 20 20 20 20 20 true</span></span></code>.......
d4d80 20 20 20 20 20 20 20 20 20 20 20 20 20 49 66 20 6e 6f 20 6f 76 65 72 66 6c 6f 77 20 6f 72 20 75 .............If.no.overflow.or.u
d4da0 6e 64 65 72 66 6c 6f 77 20 6f 63 63 75 72 73 2c 20 72 65 74 75 72 6e 73 20 3c 63 6f 64 65 3e 3c nderflow.occurs,.returns.<code><
d4dc0 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 span.class="line"><span.class="t
d4de0 6f 6b 2d 6e 75 6c 6c 22 3e 66 61 6c 73 65 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 3c 2f 63 6f ok-null">false</span></span></co
d4e00 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
d4e20 33 20 69 64 3d 22 74 61 67 4e 61 6d 65 22 3e 3c 61 20 68 72 65 66 3d 22 23 74 6f 63 2d 74 61 67 3.id="tagName"><a.href="#toc-tag
d4e40 4e 61 6d 65 22 3e 40 74 61 67 4e 61 6d 65 3c 2f 61 3e 20 3c 61 20 63 6c 61 73 73 3d 22 68 64 72 Name">@tagName</a>.<a.class="hdr
d4e60 22 20 68 72 65 66 3d 22 23 74 61 67 4e 61 6d 65 22 3e c2 a7 3c 2f 61 3e 3c 2f 68 33 3e 0a 0a 20 ".href="#tagName">..</a></h3>...
d4e80 20 20 20 20 20 3c 70 72 65 3e 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e .....<pre><code><span.class="lin
d4ea0 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 62 75 69 6c 74 69 6e 22 3e 40 74 61 e"><span.class="tok-builtin">@ta
d4ec0 67 4e 61 6d 65 3c 2f 73 70 61 6e 3e 28 76 61 6c 75 65 3a 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d gName</span>(value:.<span.class=
d4ee0 22 74 6f 6b 2d 6b 77 22 3e 61 6e 79 74 79 70 65 3c 2f 73 70 61 6e 3e 29 20 5b 3a 3c 73 70 61 6e "tok-kw">anytype</span>).[:<span
d4f00 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 30 3c 2f 73 70 61 6e 3e 5d 3c 73 70 .class="tok-number">0</span>]<sp
d4f20 61 6e 20 63 6c 61 73 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>.<
d4f40 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 75 38 3c 2f 73 70 61 6e 3e 3c span.class="tok-type">u8</span><
d4f60 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>...
d4f80 20 20 20 20 43 6f 6e 76 65 72 74 73 20 61 6e 20 65 6e 75 6d 20 76 61 6c 75 65 20 6f 72 20 75 6e ....Converts.an.enum.value.or.un
d4fa0 69 6f 6e 20 76 61 6c 75 65 20 74 6f 20 61 20 73 74 72 69 6e 67 20 6c 69 74 65 72 61 6c 20 72 65 ion.value.to.a.string.literal.re
d4fc0 70 72 65 73 65 6e 74 69 6e 67 20 74 68 65 20 6e 61 6d 65 2e 3c 2f 70 3e 3c 70 3e 49 66 20 74 68 presenting.the.name.</p><p>If.th
d4fe0 65 20 65 6e 75 6d 20 69 73 20 6e 6f 6e 2d 65 78 68 61 75 73 74 69 76 65 20 61 6e 64 20 74 68 65 e.enum.is.non-exhaustive.and.the
d5000 20 74 61 67 20 76 61 6c 75 65 20 64 6f 65 73 20 6e 6f 74 20 6d 61 70 20 74 6f 20 61 20 6e 61 6d .tag.value.does.not.map.to.a.nam
d5020 65 2c 20 69 74 20 69 6e 76 6f 6b 65 73 20 73 61 66 65 74 79 2d 63 68 65 63 6b 65 64 20 3c 61 20 e,.it.invokes.safety-checked.<a.
d5040 68 72 65 66 3d 22 23 55 6e 64 65 66 69 6e 65 64 2d 42 65 68 61 76 69 6f 72 22 3e 55 6e 64 65 66 href="#Undefined-Behavior">Undef
d5060 69 6e 65 64 20 42 65 68 61 76 69 6f 72 3c 2f 61 3e 2e 0a 20 20 20 20 20 20 3c 2f 70 3e 0a 20 20 ined.Behavior</a>........</p>...
d5080 20 20 20 20 0a 0a 20 20 20 20 20 20 3c 68 33 20 69 64 3d 22 54 68 69 73 22 3e 3c 61 20 68 72 65 ............<h3.id="This"><a.hre
d50a0 66 3d 22 23 74 6f 63 2d 54 68 69 73 22 3e 40 54 68 69 73 3c 2f 61 3e 20 3c 61 20 63 6c 61 73 73 f="#toc-This">@This</a>.<a.class
d50c0 3d 22 68 64 72 22 20 68 72 65 66 3d 22 23 54 68 69 73 22 3e c2 a7 3c 2f 61 3e 3c 2f 68 33 3e 0a ="hdr".href="#This">..</a></h3>.
d50e0 0a 20 20 20 20 20 20 3c 70 72 65 3e 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c .......<pre><code><span.class="l
d5100 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 62 75 69 6c 74 69 6e 22 3e 40 ine"><span.class="tok-builtin">@
d5120 54 68 69 73 3c 2f 73 70 61 6e 3e 28 29 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 This</span>().<span.class="tok-t
d5140 79 70 65 22 3e 74 79 70 65 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 3c 2f ype">type</span></span></code></
d5160 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
d5180 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
d51a0 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
d51c0 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
d51e0 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
d5200 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>.
d5220 20 20 20 20 20 20 3c 66 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=
d5240 22 7a 69 67 2d 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 68 69 "zig-cap"><cite.class="file">thi
d5260 73 5f 69 6e 6e 65 72 6d 6f 73 74 2e 7a 69 67 3c 2f 63 69 74 65 3e 3c 2f 66 69 67 63 61 70 74 69 s_innermost.zig</cite></figcapti
d5280 6f 6e 3e 3c 70 72 65 3e 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 on><pre><code><span.class="line"
d52a0 3e 3c 73 70 61 6e 20 63 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
d52c0 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
d52e0 6e 22 3e 40 69 6d 70 6f 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
d5300 6f 6b 2d 73 74 72 22 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>);
d5320 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e </span>.<span.class="line"><span
d5340 20 63 6c 61 73 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
d5360 65 63 74 20 3d 20 73 74 64 2e 74 65 73 74 69 6e 67 2e 65 78 70 65 63 74 3b 3c 2f 73 70 61 6e 3e ect.=.std.testing.expect;</span>
d5380 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 .<span.class="line"></span>.<spa
d53a0 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d n.class="line"><span.class="tok-
d53c0 6b 77 22 3e 74 65 73 74 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
d53e0 2d 73 74 72 22 3e 26 71 75 6f 74 3b 40 54 68 69 73 28 29 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e -str">&quot;@This()&quot;</span>
d5400 20 7b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 .{</span>.<span.class="line">...
d5420 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>
d5440 20 69 74 65 6d 73 20 3d 20 5b 5f 5d 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 .items.=.[_]<span.class="tok-typ
d5460 65 22 3e 69 33 32 3c 2f 73 70 61 6e 3e 7b 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d e">i32</span>{.<span.class="tok-
d5480 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
d54a0 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
d54c0 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
d54e0 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 3c 2f 73 70 ass="tok-number">4</span>.};</sp
d5500 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 3c 73 70 61 6e an>.<span.class="line">....<span
d5520 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 63 6f 6e 73 74 3c 2f 73 70 61 6e 3e 20 6c 69 73 .class="tok-kw">const</span>.lis
d5540 74 20 3d 20 4c 69 73 74 28 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e t.=.List(<span.class="tok-type">
d5560 69 33 32 3c 2f 73 70 61 6e 3e 29 7b 20 2e 69 74 65 6d 73 20 3d 20 69 74 65 6d 73 5b 3c 73 70 61 i32</span>){..items.=.items[<spa
d5580 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 30 3c 2f 73 70 61 6e 3e 2e 2e 5d n.class="tok-number">0</span>..]
d55a0 20 7d 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 .};</span>.<span.class="line">..
d55c0 20 20 3c 73 70 61 6e 20 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
d55e0 3e 20 65 78 70 65 63 74 28 6c 69 73 74 2e 6c 65 6e 67 74 68 28 29 20 3d 3d 20 3c 73 70 61 6e 20 >.expect(list.length().==.<span.
d5600 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 34 3c 2f 73 70 61 6e 3e 29 3b 3c 2f 73 class="tok-number">4</span>);</s
d5620 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 7d 3c 2f 73 70 61 6e 3e pan>.<span.class="line">}</span>
d5640 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 .<span.class="line"></span>.<spa
d5660 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d n.class="line"><span.class="tok-
d5680 6b 77 22 3e 66 6e 3c 2f 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
d56a0 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 6b 2d n">List</span>(<span.class="tok-
d56c0 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
d56e0 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
d5700 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 74 79 70 65 3c 2f 73 70 61 6e 3e 20 7b 3c .class="tok-type">type</span>.{<
d5720 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 3c 73 /span>.<span.class="line">....<s
d5740 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>
d5760 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
d5780 61 6e 3e 20 7b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e an>.{</span>.<span.class="line">
d57a0 20 20 20 20 20 20 20 20 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
d57c0 73 74 3c 2f 73 70 61 6e 3e 20 53 65 6c 66 20 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f st</span>.Self.=.<span.class="to
d57e0 6b 2d 62 75 69 6c 74 69 6e 22 3e 40 54 68 69 73 3c 2f 73 70 61 6e 3e 28 29 3b 3c 2f 73 70 61 6e k-builtin">@This</span>();</span
d5800 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 >.<span.class="line"></span>.<sp
d5820 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 20 20 20 20 69 74 65 6d 73 3a 20 5b an.class="line">........items:.[
d5840 5d 54 2c 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 2f ]T,</span>.<span.class="line"></
d5860 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 20 20 20 span>.<span.class="line">.......
d5880 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>.
d58a0 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 66 6e 22 3e 6c 65 6e 67 74 68 3c 2f 73 70 61 <span.class="tok-fn">length</spa
d58c0 6e 3e 28 73 65 6c 66 3a 20 53 65 6c 66 29 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d n>(self:.Self).<span.class="tok-
d58e0 74 79 70 65 22 3e 75 73 69 7a 65 3c 2f 73 70 61 6e 3e 20 7b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 type">usize</span>.{</span>.<spa
d5900 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 20 20 20 20 20 20 20 20 3c 73 70 61 6e n.class="line">............<span
d5920 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 72 65 74 75 72 6e 3c 2f 73 70 61 6e 3e 20 73 65 .class="tok-kw">return</span>.se
d5940 6c 66 2e 69 74 65 6d 73 2e 6c 65 6e 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 lf.items.len;</span>.<span.class
d5960 3d 22 6c 69 6e 65 22 3e 20 20 20 20 20 20 20 20 7d 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 ="line">........}</span>.<span.c
d5980 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 7d 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 lass="line">....};</span>.<span.
d59a0 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 7d 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 3c 2f 70 72 class="line">}</span></code></pr
d59c0 65 3e 3c 2f 66 69 67 75 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
d59e0 6c 61 73 73 3d 22 73 68 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
d5a00 6f 6e 3e 3c 70 72 65 3e 3c 73 61 6d 70 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 on><pre><samp><span.class="line"
d5a20 3e 24 20 3c 6b 62 64 3e 7a 69 67 20 74 65 73 74 20 74 68 69 73 5f 69 6e 6e 65 72 6d 6f 73 74 2e >$.<kbd>zig.test.this_innermost.
d5a40 7a 69 67 3c 2f 6b 62 64 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 zig</kbd></span>.<span.class="li
d5a60 6e 65 22 3e 31 2f 31 20 74 65 73 74 2e 40 54 68 69 73 28 29 2e 2e 2e 20 4f 4b 3c 2f 73 70 61 6e ne">1/1.test.@This()....OK</span
d5a80 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 41 6c 6c 20 31 20 74 65 73 74 73 >.<span.class="line">All.1.tests
d5aa0 20 70 61 73 73 65 64 2e 3c 2f 73 70 61 6e 3e 0a 3c 2f 73 61 6d 70 3e 3c 2f 70 72 65 3e 3c 2f 66 .passed.</span>.</samp></pre></f
d5ac0 69 67 75 72 65 3e 0a 20 20 20 20 20 20 3c 70 3e 0a 20 20 20 20 20 20 57 68 65 6e 20 3c 63 6f 64 igure>.......<p>.......When.<cod
d5ae0 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 e><span.class="line"><span.class
d5b00 3d 22 74 6f 6b 2d 62 75 69 6c 74 69 6e 22 3e 40 54 68 69 73 3c 2f 73 70 61 6e 3e 28 29 3c 2f 73 ="tok-builtin">@This</span>()</s
d5b20 70 61 6e 3e 3c 2f 63 6f 64 65 3e 20 69 73 20 75 73 65 64 20 61 74 20 66 69 6c 65 20 73 63 6f 70 pan></code>.is.used.at.file.scop
d5b40 65 2c 20 69 74 20 72 65 74 75 72 6e 73 20 61 20 72 65 66 65 72 65 6e 63 65 20 74 6f 20 74 68 65 e,.it.returns.a.reference.to.the
d5b60 0a 20 20 20 20 20 20 73 74 72 75 63 74 20 74 68 61 74 20 63 6f 72 72 65 73 70 6f 6e 64 73 20 74 .......struct.that.corresponds.t
d5b80 6f 20 74 68 65 20 63 75 72 72 65 6e 74 20 66 69 6c 65 2e 0a 20 20 20 20 20 20 3c 2f 70 3e 0a 20 o.the.current.file........</p>..
d5ba0 20 20 20 20 20 0a 0a 20 20 20 20 20 20 3c 68 33 20 69 64 3d 22 74 72 75 6e 63 61 74 65 22 3e 3c .............<h3.id="truncate"><
d5bc0 61 20 68 72 65 66 3d 22 23 74 6f 63 2d 74 72 75 6e 63 61 74 65 22 3e 40 74 72 75 6e 63 61 74 65 a.href="#toc-truncate">@truncate
d5be0 3c 2f 61 3e 20 3c 61 20 63 6c 61 73 73 3d 22 68 64 72 22 20 68 72 65 66 3d 22 23 74 72 75 6e 63 </a>.<a.class="hdr".href="#trunc
d5c00 61 74 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 ate">..</a></h3>........<pre><co
d5c20 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 de><span.class="line"><span.clas
d5c40 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 3e s="tok-builtin">@truncate</span>
d5c60 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</
d5c80 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">
d5ca0 74 79 70 65 3c 2f 73 70 61 6e 3e 2c 20 69 6e 74 65 67 65 72 3a 20 3c 73 70 61 6e 20 63 6c 61 73 type</span>,.integer:.<span.clas
d5cc0 73 3d 22 74 6f 6b 2d 6b 77 22 3e 61 6e 79 74 79 70 65 3c 2f 73 70 61 6e 3e 29 20 54 3c 2f 73 70 s="tok-kw">anytype</span>).T</sp
d5ce0 61 6e 3e 3c 2f 63 6f 64 65 3e 3c 2f 70 72 65 3e 0a 20 20 20 20 20 20 3c 70 3e 0a 20 20 20 20 20 an></code></pre>.......<p>......
d5d00 20 54 68 69 73 20 66 75 6e 63 74 69 6f 6e 20 74 72 75 6e 63 61 74 65 73 20 62 69 74 73 20 66 72 .This.function.truncates.bits.fr
d5d20 6f 6d 20 61 6e 20 69 6e 74 65 67 65 72 20 74 79 70 65 2c 20 72 65 73 75 6c 74 69 6e 67 20 69 6e om.an.integer.type,.resulting.in
d5d40 20 61 20 73 6d 61 6c 6c 65 72 0a 20 20 20 20 20 20 6f 72 20 73 61 6d 65 2d 73 69 7a 65 64 20 69 .a.smaller.......or.same-sized.i
d5d60 6e 74 65 67 65 72 20 74 79 70 65 2e 0a 20 20 20 20 20 20 3c 2f 70 3e 0a 20 20 20 20 20 20 3c 70 nteger.type........</p>.......<p
d5d80 3e 0a 20 20 20 20 20 20 54 68 69 73 20 66 75 6e 63 74 69 6f 6e 20 61 6c 77 61 79 73 20 74 72 75 >.......This.function.always.tru
d5da0 6e 63 61 74 65 73 20 74 68 65 20 73 69 67 6e 69 66 69 63 61 6e 74 20 62 69 74 73 20 6f 66 20 74 ncates.the.significant.bits.of.t
d5dc0 68 65 20 69 6e 74 65 67 65 72 2c 20 72 65 67 61 72 64 6c 65 73 73 0a 20 20 20 20 20 20 6f 66 20 he.integer,.regardless.......of.
d5de0 65 6e 64 69 61 6e 6e 65 73 73 20 6f 6e 20 74 68 65 20 74 61 72 67 65 74 20 70 6c 61 74 66 6f 72 endianness.on.the.target.platfor
d5e00 6d 2e 0a 20 20 20 20 20 20 3c 2f 70 3e 0a 20 20 20 20 20 20 3c 70 3e 0a 20 20 20 20 20 20 43 61 m........</p>.......<p>.......Ca
d5e20 6c 6c 69 6e 67 20 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c lling.<code><span.class="line"><
d5e40 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 62 75 69 6c 74 69 6e 22 3e 40 74 72 75 6e 63 61 span.class="tok-builtin">@trunca
d5e60 74 65 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 20 6f 6e 20 61 20 6e 75 6d te</span></span></code>.on.a.num
d5e80 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 74 ber.out.of.range.of.the.destinat
d5ea0 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 77 6f 72 ion.type.is.well.defined.and.wor
d5ec0 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 66 69 67 king.code:.......</p>.......<fig
d5ee0 75 72 65 3e 3c 66 69 67 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">
d5f00 3c 63 69 74 65 20 63 6c 61 73 73 3d 22 66 69 6c 65 22 3e 74 72 75 6e 63 61 74 65 2e 7a 69 67 3c <cite.class="file">truncate.zig<
d5f20 2f 63 69 74 65 3e 3c 2f 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
d5f40 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f pan.class="line"><span.class="to
d5f60 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
d5f80 6c 61 73 73 3d 22 74 6f 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
d5fa0 3e 28 3c 73 70 61 6e 20 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
d5fc0 64 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 29 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c d&quot;</span>);</span>.<span.cl
d5fe0 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e ass="line"><span.class="tok-kw">
d6000 63 6f 6e 73 74 3c 2f 73 70 61 6e 3e 20 65 78 70 65 63 74 20 3d 20 73 74 64 2e 74 65 73 74 69 6e const</span>.expect.=.std.testin
d6020 67 2e 65 78 70 65 63 74 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 g.expect;</span>.<span.class="li
d6040 6e 65 22 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c ne"></span>.<span.class="line"><
d6060 73 70 61 6e 20 63 6c 61 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>.
d6080 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 73 74 72 22 3e 26 71 75 6f 74 3b 69 6e 74 65 <span.class="tok-str">&quot;inte
d60a0 67 65 72 20 74 72 75 6e 63 61 74 69 6f 6e 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 20 7b 3c 2f 73 ger.truncation&quot;</span>.{</s
d60c0 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 3c 73 70 61 pan>.<span.class="line">....<spa
d60e0 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 76 61 72 3c 2f 73 70 61 6e 3e 20 61 3a 20 3c n.class="tok-kw">var</span>.a:.<
d6100 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>
d6120 20 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 30 78 61 62 .=.<span.class="tok-number">0xab
d6140 63 64 3c 2f 73 70 61 6e 3e 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c cd</span>;</span>.<span.class="l
d6160 69 6e 65 22 3e 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 76 61 ine">....<span.class="tok-kw">va
d6180 72 3c 2f 73 70 61 6e 3e 20 62 3a 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 r</span>.b:.<span.class="tok-typ
d61a0 65 22 3e 75 38 3c 2f 73 70 61 6e 3e 20 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d e">u8</span>.=.<span.class="tok-
d61c0 62 75 69 6c 74 69 6e 22 3e 40 74 72 75 6e 63 61 74 65 3c 2f 73 70 61 6e 3e 28 3c 73 70 61 6e 20 builtin">@truncate</span>(<span.
d61e0 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 75 38 3c 2f 73 70 61 6e 3e 2c 20 61 29 3b 3c class="tok-type">u8</span>,.a);<
d6200 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 3c 73 /span>.<span.class="line">....<s
d6220 70 61 6e 20 63 6c 61 73 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
d6240 70 65 63 74 28 62 20 3d 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 pect(b.==.<span.class="tok-numbe
d6260 72 22 3e 30 78 63 64 3c 2f 73 70 61 6e 3e 29 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c r">0xcd</span>);</span>.<span.cl
d6280 61 73 73 3d 22 6c 69 6e 65 22 3e 7d 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 3c 2f 70 72 65 3e ass="line">}</span></code></pre>
d62a0 3c 2f 66 69 67 75 72 65 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
d62c0 73 73 3d 22 73 68 65 6c 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
d62e0 3e 3c 70 72 65 3e 3c 73 61 6d 70 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 24 ><pre><samp><span.class="line">$
d6300 20 3c 6b 62 64 3e 7a 69 67 20 74 65 73 74 20 74 72 75 6e 63 61 74 65 2e 7a 69 67 3c 2f 6b 62 64 .<kbd>zig.test.truncate.zig</kbd
d6320 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 31 2f 31 20 ></span>.<span.class="line">1/1.
d6340 74 65 73 74 2e 69 6e 74 65 67 65 72 20 74 72 75 6e 63 61 74 69 6f 6e 2e 2e 2e 20 4f 4b 3c 2f 73 test.integer.truncation....OK</s
d6360 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 41 6c 6c 20 31 20 74 65 pan>.<span.class="line">All.1.te
d6380 73 74 73 20 70 61 73 73 65 64 2e 3c 2f 73 70 61 6e 3e 0a 3c 2f 73 61 6d 70 3e 3c 2f 70 72 65 3e sts.passed.</span>.</samp></pre>
d63a0 3c 2f 66 69 67 75 72 65 3e 0a 20 20 20 20 20 20 3c 70 3e 0a 20 20 20 20 20 20 55 73 65 20 3c 61 </figure>.......<p>.......Use.<a
d63c0 20 68 72 65 66 3d 22 23 69 6e 74 43 61 73 74 22 3e 40 69 6e 74 43 61 73 74 3c 2f 61 3e 20 74 6f .href="#intCast">@intCast</a>.to
d63e0 20 63 6f 6e 76 65 72 74 20 6e 75 6d 62 65 72 73 20 67 75 61 72 61 6e 74 65 65 64 20 74 6f 20 66 .convert.numbers.guaranteed.to.f
d6400 69 74 20 74 68 65 20 64 65 73 74 69 6e 61 74 69 6f 6e 20 74 79 70 65 2e 0a 20 20 20 20 20 20 3c it.the.destination.type........<
d6420 2f 70 3e 0a 20 20 20 20 20 20 0a 0a 20 20 20 20 20 20 3c 68 33 20 69 64 3d 22 54 79 70 65 22 3e /p>...............<h3.id="Type">
d6440 3c 61 20 68 72 65 66 3d 22 23 74 6f 63 2d 54 79 70 65 22 3e 40 54 79 70 65 3c 2f 61 3e 20 3c 61 <a.href="#toc-Type">@Type</a>.<a
d6460 20 63 6c 61 73 73 3d 22 68 64 72 22 20 68 72 65 66 3d 22 23 54 79 70 65 22 3e c2 a7 3c 2f 61 3e .class="hdr".href="#Type">..</a>
d6480 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
d64a0 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 62 75 69 6c ass="line"><span.class="tok-buil
d64c0 74 69 6e 22 3e 40 54 79 70 65 3c 2f 73 70 61 6e 3e 28 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 tin">@Type</span>(<span.class="t
d64e0 6f 6b 2d 6b 77 22 3e 63 6f 6d 70 74 69 6d 65 3c 2f 73 70 61 6e 3e 20 69 6e 66 6f 3a 20 73 74 64 ok-kw">comptime</span>.info:.std
d6500 2e 62 75 69 6c 74 69 6e 2e 54 79 70 65 29 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d .builtin.Type).<span.class="tok-
d6520 74 79 70 65 22 3e 74 79 70 65 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 3c type">type</span></span></code><
d6540 2f 70 72 65 3e 0a 20 20 20 20 20 20 3c 70 3e 0a 20 20 20 20 20 20 54 68 69 73 20 66 75 6e 63 74 /pre>.......<p>.......This.funct
d6560 69 6f 6e 20 69 73 20 74 68 65 20 69 6e 76 65 72 73 65 20 6f 66 20 3c 61 20 68 72 65 66 3d 22 23 ion.is.the.inverse.of.<a.href="#
d6580 74 79 70 65 49 6e 66 6f 22 3e 40 74 79 70 65 49 6e 66 6f 3c 2f 61 3e 2e 20 49 74 20 72 65 69 66 typeInfo">@typeInfo</a>..It.reif
d65a0 69 65 73 20 74 79 70 65 20 69 6e 66 6f 72 6d 61 74 69 6f 6e 0a 20 20 20 20 20 20 69 6e 74 6f 20 ies.type.information.......into.
d65c0 61 20 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e a.<code><span.class="line"><span
d65e0 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 74 79 70 65 3c 2f 73 70 61 6e 3e 3c 2f 73 .class="tok-type">type</span></s
d6600 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
d6620 3e 0a 20 20 20 20 20 20 49 74 20 69 73 20 61 76 61 69 6c 61 62 6c 65 20 66 6f 72 20 74 68 65 20 >.......It.is.available.for.the.
d6640 66 6f 6c 6c 6f 77 69 6e 67 20 74 79 70 65 73 3a 0a 20 20 20 20 20 20 3c 2f 70 3e 0a 20 20 20 20 following.types:.......</p>.....
d6660 20 20 3c 75 6c 3e 0a 20 20 20 20 20 20 20 20 20 20 3c 6c 69 3e 3c 63 6f 64 65 3e 3c 73 70 61 6e ..<ul>...........<li><code><span
d6680 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 .class="line"><span.class="tok-t
d66a0 79 70 65 22 3e 74 79 70 65 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 3c 2f ype">type</span></span></code></
d66c0 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
d66e0 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 ass="line"><span.class="tok-type
d6700 22 3e 6e 6f 72 65 74 75 72 6e 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 3c ">noreturn</span></span></code><
d6720 2f 6c 69 3e 0a 20 20 20 20 20 20 20 20 20 20 3c 6c 69 3e 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 /li>...........<li><code><span.c
d6740 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 lass="line"><span.class="tok-typ
d6760 65 22 3e 76 6f 69 64 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 3c 2f 6c 69 e">void</span></span></code></li
d6780 3e 0a 20 20 20 20 20 20 20 20 20 20 3c 6c 69 3e 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 >...........<li><code><span.clas
d67a0 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e s="line"><span.class="tok-type">
d67c0 62 6f 6f 6c 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 3c 2f 6c 69 3e 0a 20 bool</span></span></code></li>..
d67e0 20 20 20 20 20 20 20 20 20 3c 6c 69 3e 3c 61 20 68 72 65 66 3d 22 23 49 6e 74 65 67 65 72 73 22 .........<li><a.href="#Integers"
d6800 3e 49 6e 74 65 67 65 72 73 3c 2f 61 3e 20 2d 20 54 68 65 20 6d 61 78 69 6d 75 6d 20 62 69 74 20 >Integers</a>.-.The.maximum.bit.
d6820 63 6f 75 6e 74 20 66 6f 72 20 61 6e 20 69 6e 74 65 67 65 72 20 74 79 70 65 20 69 73 20 3c 63 6f count.for.an.integer.type.is.<co
d6840 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 de><span.class="line"><span.clas
d6860 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 36 35 35 33 35 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 s="tok-number">65535</span></spa
d6880 6e 3e 3c 2f 63 6f 64 65 3e 2e 3c 2f 6c 69 3e 0a 20 20 20 20 20 20 20 20 20 20 3c 6c 69 3e 3c 61 n></code>.</li>...........<li><a
d68a0 20 68 72 65 66 3d 22 23 46 6c 6f 61 74 73 22 3e 46 6c 6f 61 74 73 3c 2f 61 3e 3c 2f 6c 69 3e 0a .href="#Floats">Floats</a></li>.
d68c0 20 20 20 20 20 20 20 20 20 20 3c 6c 69 3e 3c 61 20 68 72 65 66 3d 22 23 50 6f 69 6e 74 65 72 73 ..........<li><a.href="#Pointers
d68e0 22 3e 50 6f 69 6e 74 65 72 73 3c 2f 61 3e 3c 2f 6c 69 3e 0a 20 20 20 20 20 20 20 20 20 20 3c 6c ">Pointers</a></li>...........<l
d6900 69 3e 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e i><code><span.class="line"><span
d6920 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</
d6940 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 3c 2f 6c 69 3e 0a 20 20 20 20 20 20 20 span></span></code></li>........
d6960 20 20 20 3c 6c 69 3e 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e ...<li><code><span.class="line">
d6980 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 63 6f 6d 70 74 69 6d 65 5f <span.class="tok-type">comptime_
d69a0 66 6c 6f 61 74 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 3c 2f 6c 69 3e 0a float</span></span></code></li>.
d69c0 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=
d69e0 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 62 75 69 6c 74 69 6e 22 "line"><span.class="tok-builtin"
d6a00 3e 40 54 79 70 65 4f 66 3c 2f 73 70 61 6e 3e 28 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b >@TypeOf</span>(<span.class="tok
d6a20 2d 6e 75 6c 6c 22 3e 75 6e 64 65 66 69 6e 65 64 3c 2f 73 70 61 6e 3e 29 3c 2f 73 70 61 6e 3e 3c -null">undefined</span>)</span><
d6a40 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>
d6a60 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 <span.class="line"><span.class="
d6a80 74 6f 6b 2d 62 75 69 6c 74 69 6e 22 3e 40 54 79 70 65 4f 66 3c 2f 73 70 61 6e 3e 28 3c 73 70 61 tok-builtin">@TypeOf</span>(<spa
d6aa0 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6c 6c 22 3e 6e 75 6c 6c 3c 2f 73 70 61 6e 3e 29 3c n.class="tok-null">null</span>)<
d6ac0 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
d6ae0 3e 3c 61 20 68 72 65 66 3d 22 23 41 72 72 61 79 73 22 3e 41 72 72 61 79 73 3c 2f 61 3e 3c 2f 6c ><a.href="#Arrays">Arrays</a></l
d6b00 69 3e 0a 20 20 20 20 20 20 20 20 20 20 3c 6c 69 3e 3c 61 20 68 72 65 66 3d 22 23 4f 70 74 69 6f i>...........<li><a.href="#Optio
d6b20 6e 61 6c 73 22 3e 4f 70 74 69 6f 6e 61 6c 73 3c 2f 61 3e 3c 2f 6c 69 3e 0a 20 20 20 20 20 20 20 nals">Optionals</a></li>........
d6b40 20 20 20 3c 6c 69 3e 3c 61 20 68 72 65 66 3d 22 23 45 72 72 6f 72 2d 53 65 74 2d 54 79 70 65 22 ...<li><a.href="#Error-Set-Type"
d6b60 3e 45 72 72 6f 72 20 53 65 74 20 54 79 70 65 3c 2f 61 3e 3c 2f 6c 69 3e 0a 20 20 20 20 20 20 20 >Error.Set.Type</a></li>........
d6b80 20 20 20 3c 6c 69 3e 3c 61 20 68 72 65 66 3d 22 23 45 72 72 6f 72 2d 55 6e 69 6f 6e 2d 54 79 70 ...<li><a.href="#Error-Union-Typ
d6ba0 65 22 3e 45 72 72 6f 72 20 55 6e 69 6f 6e 20 54 79 70 65 3c 2f 61 3e 3c 2f 6c 69 3e 0a 20 20 20 e">Error.Union.Type</a></li>....
d6bc0 20 20 20 20 20 20 20 3c 6c 69 3e 3c 61 20 68 72 65 66 3d 22 23 56 65 63 74 6f 72 73 22 3e 56 65 .......<li><a.href="#Vectors">Ve
d6be0 63 74 6f 72 73 3c 2f 61 3e 3c 2f 6c 69 3e 0a 20 20 20 20 20 20 20 20 20 20 3c 6c 69 3e 3c 61 20 ctors</a></li>...........<li><a.
d6c00 68 72 65 66 3d 22 23 6f 70 61 71 75 65 22 3e 6f 70 61 71 75 65 3c 2f 61 3e 3c 2f 6c 69 3e 0a 20 href="#opaque">opaque</a></li>..
d6c20 20 20 20 20 20 20 20 20 20 3c 6c 69 3e 3c 61 20 68 72 65 66 3d 22 23 46 72 61 6d 65 22 3e 40 46 .........<li><a.href="#Frame">@F
d6c40 72 61 6d 65 3c 2f 61 3e 3c 2f 6c 69 3e 0a 20 20 20 20 20 20 20 20 20 20 3c 6c 69 3e 3c 63 6f 64 rame</a></li>...........<li><cod
d6c60 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 e><span.class="line"><span.class
d6c80 3d 22 74 6f 6b 2d 6b 77 22 3e 61 6e 79 66 72 61 6d 65 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e ="tok-kw">anyframe</span></span>
d6ca0 3c 2f 63 6f 64 65 3e 3c 2f 6c 69 3e 0a 20 20 20 20 20 20 20 20 20 20 3c 6c 69 3e 3c 61 20 68 72 </code></li>...........<li><a.hr
d6cc0 65 66 3d 22 23 73 74 72 75 63 74 22 3e 73 74 72 75 63 74 3c 2f 61 3e 3c 2f 6c 69 3e 0a 20 20 20 ef="#struct">struct</a></li>....
d6ce0 20 20 20 20 20 20 20 3c 6c 69 3e 3c 61 20 68 72 65 66 3d 22 23 65 6e 75 6d 22 3e 65 6e 75 6d 3c .......<li><a.href="#enum">enum<
d6d00 2f 61 3e 3c 2f 6c 69 3e 0a 20 20 20 20 20 20 20 20 20 20 3c 6c 69 3e 3c 61 20 68 72 65 66 3d 22 /a></li>...........<li><a.href="
d6d20 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
d6d40 3e 3c 2f 6c 69 3e 0a 20 20 20 20 20 20 20 20 20 20 3c 6c 69 3e 3c 61 20 68 72 65 66 3d 22 23 75 ></li>...........<li><a.href="#u
d6d60 6e 69 6f 6e 22 3e 75 6e 69 6f 6e 3c 2f 61 3e 3c 2f 6c 69 3e 0a 20 20 20 20 20 20 3c 2f 75 6c 3e nion">union</a></li>.......</ul>
d6d80 0a 20 20 20 20 20 20 3c 70 3e 0a 20 20 20 20 20 20 46 6f 72 20 74 68 65 73 65 20 74 79 70 65 73 .......<p>.......For.these.types
d6da0 2c 20 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e ,.<code><span.class="line"><span
d6dc0 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 62 75 69 6c 74 69 6e 22 3e 40 54 79 70 65 3c 2f 73 70 61 6e .class="tok-builtin">@Type</span
d6de0 3e 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 20 69 73 20 6e 6f 74 20 61 76 61 69 6c 61 62 6c 65 ></span></code>.is.not.available
d6e00 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>.........
d6e20 20 20 3c 6c 69 3e 3c 61 20 68 72 65 66 3d 22 23 46 75 6e 63 74 69 6f 6e 73 22 3e 46 75 6e 63 74 ..<li><a.href="#Functions">Funct
d6e40 69 6f 6e 73 3c 2f 61 3e 3c 2f 6c 69 3e 0a 20 20 20 20 20 20 20 20 20 20 3c 6c 69 3e 42 6f 75 6e ions</a></li>...........<li>Boun
d6e60 64 46 6e 3c 2f 6c 69 3e 0a 20 20 20 20 20 20 3c 2f 75 6c 3e 0a 20 20 20 20 20 20 0a 20 20 20 20 dFn</li>.......</ul>............
d6e80 20 20 3c 68 33 20 69 64 3d 22 74 79 70 65 49 6e 66 6f 22 3e 3c 61 20 68 72 65 66 3d 22 23 74 6f ..<h3.id="typeInfo"><a.href="#to
d6ea0 63 2d 74 79 70 65 49 6e 66 6f 22 3e 40 74 79 70 65 49 6e 66 6f 3c 2f 61 3e 20 3c 61 20 63 6c 61 c-typeInfo">@typeInfo</a>.<a.cla
d6ec0 73 73 3d 22 68 64 72 22 20 68 72 65 66 3d 22 23 74 79 70 65 49 6e 66 6f 22 3e c2 a7 3c 2f 61 3e ss="hdr".href="#typeInfo">..</a>
d6ee0 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
d6f00 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 62 75 69 6c ass="line"><span.class="tok-buil
d6f20 74 69 6e 22 3e 40 74 79 70 65 49 6e 66 6f 3c 2f 73 70 61 6e 3e 28 3c 73 70 61 6e 20 63 6c 61 73 tin">@typeInfo</span>(<span.clas
d6f40 73 3d 22 74 6f 6b 2d 6b 77 22 3e 63 6f 6d 70 74 69 6d 65 3c 2f 73 70 61 6e 3e 20 54 3a 20 3c 73 s="tok-kw">comptime</span>.T:.<s
d6f60 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>
d6f80 29 20 73 74 64 2e 62 75 69 6c 74 69 6e 2e 54 79 70 65 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e ).std.builtin.Type</span></code>
d6fa0 3c 2f 70 72 65 3e 0a 20 20 20 20 20 20 3c 70 3e 0a 20 20 20 20 20 20 50 72 6f 76 69 64 65 73 20 </pre>.......<p>.......Provides.
d6fc0 74 79 70 65 20 72 65 66 6c 65 63 74 69 6f 6e 2e 0a 20 20 20 20 20 20 3c 2f 70 3e 0a 20 20 20 20 type.reflection........</p>.....
d6fe0 20 20 3c 70 3e 0a 20 20 20 20 20 20 54 79 70 65 20 69 6e 66 6f 72 6d 61 74 69 6f 6e 20 6f 66 20 ..<p>.......Type.information.of.
d7000 3c 61 20 68 72 65 66 3d 22 23 73 74 72 75 63 74 22 3e 73 74 72 75 63 74 73 3c 2f 61 3e 2c 20 3c <a.href="#struct">structs</a>,.<
d7020 61 20 68 72 65 66 3d 22 23 75 6e 69 6f 6e 22 3e 75 6e 69 6f 6e 73 3c 2f 61 3e 2c 20 3c 61 20 68 a.href="#union">unions</a>,.<a.h
d7040 72 65 66 3d 22 23 65 6e 75 6d 22 3e 65 6e 75 6d 73 3c 2f 61 3e 2c 20 61 6e 64 0a 20 20 20 20 20 ref="#enum">enums</a>,.and......
d7060 20 3c 61 20 68 72 65 66 3d 22 23 45 72 72 6f 72 2d 53 65 74 2d 54 79 70 65 22 3e 65 72 72 6f 72 .<a.href="#Error-Set-Type">error
d7080 20 73 65 74 73 3c 2f 61 3e 20 68 61 73 20 66 69 65 6c 64 73 20 77 68 69 63 68 20 61 72 65 20 67 .sets</a>.has.fields.which.are.g
d70a0 75 61 72 61 6e 74 65 65 64 20 74 6f 20 62 65 20 69 6e 20 74 68 65 20 73 61 6d 65 0a 20 20 20 20 uaranteed.to.be.in.the.same.....
d70c0 20 20 6f 72 64 65 72 20 61 73 20 61 70 70 65 61 72 61 6e 63 65 20 69 6e 20 74 68 65 20 73 6f 75 ..order.as.appearance.in.the.sou
d70e0 72 63 65 20 66 69 6c 65 2e 0a 20 20 20 20 20 20 3c 2f 70 3e 0a 20 20 20 20 20 20 3c 70 3e 0a 20 rce.file........</p>.......<p>..
d7100 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
d7120 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=
d7140 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
d7160 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
d7180 66 3d 22 23 6f 70 61 71 75 65 22 3e 6f 70 61 71 75 65 73 3c 2f 61 3e 20 68 61 73 20 64 65 63 6c f="#opaque">opaques</a>.has.decl
d71a0 61 72 61 74 69 6f 6e 73 2c 20 77 68 69 63 68 20 61 72 65 20 61 6c 73 6f 20 67 75 61 72 61 6e 74 arations,.which.are.also.guarant
d71c0 65 65 64 20 74 6f 20 62 65 20 69 6e 20 74 68 65 20 73 61 6d 65 0a 20 20 20 20 20 20 6f 72 64 65 eed.to.be.in.the.same.......orde
d71e0 72 20 61 73 20 61 70 70 65 61 72 61 6e 63 65 20 69 6e 20 74 68 65 20 73 6f 75 72 63 65 20 66 69 r.as.appearance.in.the.source.fi
d7200 6c 65 2e 0a 20 20 20 20 20 20 3c 2f 70 3e 0a 20 20 20 20 20 20 0a 0a 20 20 20 20 20 20 3c 68 33 le........</p>...............<h3
d7220 20 69 64 3d 22 74 79 70 65 4e 61 6d 65 22 3e 3c 61 20 68 72 65 66 3d 22 23 74 6f 63 2d 74 79 70 .id="typeName"><a.href="#toc-typ
d7240 65 4e 61 6d 65 22 3e 40 74 79 70 65 4e 61 6d 65 3c 2f 61 3e 20 3c 61 20 63 6c 61 73 73 3d 22 68 eName">@typeName</a>.<a.class="h
d7260 64 72 22 20 68 72 65 66 3d 22 23 74 79 70 65 4e 61 6d 65 22 3e c2 a7 3c 2f 61 3e 3c 2f 68 33 3e dr".href="#typeName">..</a></h3>
d7280 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="
d72a0 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 62 75 69 6c 74 69 6e 22 3e line"><span.class="tok-builtin">
d72c0 40 74 79 70 65 4e 61 6d 65 3c 2f 73 70 61 6e 3e 28 54 3a 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d @typeName</span>(T:.<span.class=
d72e0 22 74 6f 6b 2d 74 79 70 65 22 3e 74 79 70 65 3c 2f 73 70 61 6e 3e 29 20 2a 3c 73 70 61 6e 20 63 "tok-type">type</span>).*<span.c
d7300 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 63 6f 6e 73 74 3c 2f 73 70 61 6e 3e 20 5b 4e 3a 3c 73 lass="tok-kw">const</span>.[N:<s
d7320 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 30 3c 2f 73 70 61 6e 3e 5d pan.class="tok-number">0</span>]
d7340 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>
d7360 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 3c 2f 70 72 65 3e 0a 20 20 20 20 20 20 3c 70 3e 0a 20 </span></code></pre>.......<p>..
d7380 20 20 20 20 20 54 68 69 73 20 66 75 6e 63 74 69 6f 6e 20 72 65 74 75 72 6e 73 20 74 68 65 20 73 .....This.function.returns.the.s
d73a0 74 72 69 6e 67 20 72 65 70 72 65 73 65 6e 74 61 74 69 6f 6e 20 6f 66 20 61 20 74 79 70 65 2c 20 tring.representation.of.a.type,.
d73c0 61 73 0a 20 20 20 20 20 20 61 6e 20 61 72 72 61 79 2e 20 49 74 20 69 73 20 65 71 75 69 76 61 6c as.......an.array..It.is.equival
d73e0 65 6e 74 20 74 6f 20 61 20 73 74 72 69 6e 67 20 6c 69 74 65 72 61 6c 20 6f 66 20 74 68 65 20 74 ent.to.a.string.literal.of.the.t
d7400 79 70 65 20 6e 61 6d 65 2e 0a 20 20 20 20 20 20 54 68 65 20 72 65 74 75 72 6e 65 64 20 74 79 70 ype.name........The.returned.typ
d7420 65 20 6e 61 6d 65 20 69 73 20 66 75 6c 6c 79 20 71 75 61 6c 69 66 69 65 64 20 77 69 74 68 20 74 e.name.is.fully.qualified.with.t
d7440 68 65 20 70 61 72 65 6e 74 20 6e 61 6d 65 73 70 61 63 65 20 69 6e 63 6c 75 64 65 64 0a 20 20 20 he.parent.namespace.included....
d7460 20 20 20 61 73 20 70 61 72 74 20 6f 66 20 74 68 65 20 74 79 70 65 20 6e 61 6d 65 20 77 69 74 68 ...as.part.of.the.type.name.with
d7480 20 61 20 73 65 72 69 65 73 20 6f 66 20 64 6f 74 73 2e 0a 20 20 20 20 20 20 3c 2f 70 3e 0a 20 20 .a.series.of.dots........</p>...
d74a0 20 20 20 20 0a 0a 20 20 20 20 20 20 3c 68 33 20 69 64 3d 22 54 79 70 65 4f 66 22 3e 3c 61 20 68 ............<h3.id="TypeOf"><a.h
d74c0 72 65 66 3d 22 23 74 6f 63 2d 54 79 70 65 4f 66 22 3e 40 54 79 70 65 4f 66 3c 2f 61 3e 20 3c 61 ref="#toc-TypeOf">@TypeOf</a>.<a
d74e0 20 63 6c 61 73 73 3d 22 68 64 72 22 20 68 72 65 66 3d 22 23 54 79 70 65 4f 66 22 3e c2 a7 3c 2f .class="hdr".href="#TypeOf">..</
d7500 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.
d7520 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 62 75 class="line"><span.class="tok-bu
d7540 69 6c 74 69 6e 22 3e 40 54 79 70 65 4f 66 3c 2f 73 70 61 6e 3e 28 2e 2e 2e 29 20 3c 73 70 61 6e iltin">@TypeOf</span>(...).<span
d7560 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 74 79 70 65 3c 2f 73 70 61 6e 3e 3c 2f 73 .class="tok-type">type</span></s
d7580 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>.....
d75a0 20 20 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e ..<code><span.class="line"><span
d75c0 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
d75e0 61 6e 3e 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 20 69 73 20 61 20 73 70 65 63 69 61 6c 20 62 an></span></code>.is.a.special.b
d7600 75 69 6c 74 69 6e 20 66 75 6e 63 74 69 6f 6e 20 74 68 61 74 20 74 61 6b 65 73 20 61 6e 79 20 28 uiltin.function.that.takes.any.(
d7620 6e 6f 6e 7a 65 72 6f 29 20 6e 75 6d 62 65 72 20 6f 66 20 65 78 70 72 65 73 73 69 6f 6e 73 0a 20 nonzero).number.of.expressions..
d7640 20 20 20 20 20 61 73 20 70 61 72 61 6d 65 74 65 72 73 20 61 6e 64 20 72 65 74 75 72 6e 73 20 74 .....as.parameters.and.returns.t
d7660 68 65 20 74 79 70 65 20 6f 66 20 74 68 65 20 72 65 73 75 6c 74 2c 20 75 73 69 6e 67 20 3c 61 20 he.type.of.the.result,.using.<a.
d7680 68 72 65 66 3d 22 23 50 65 65 72 2d 54 79 70 65 2d 52 65 73 6f 6c 75 74 69 6f 6e 22 3e 50 65 65 href="#Peer-Type-Resolution">Pee
d76a0 72 20 54 79 70 65 20 52 65 73 6f 6c 75 74 69 6f 6e 3c 2f 61 3e 2e 0a 20 20 20 20 20 20 3c 2f 70 r.Type.Resolution</a>........</p
d76c0 3e 0a 20 20 20 20 20 20 3c 70 3e 0a 20 20 20 20 20 20 54 68 65 20 65 78 70 72 65 73 73 69 6f 6e >.......<p>.......The.expression
d76e0 73 20 61 72 65 20 65 76 61 6c 75 61 74 65 64 2c 20 68 6f 77 65 76 65 72 20 74 68 65 79 20 61 72 s.are.evaluated,.however.they.ar
d7700 65 20 67 75 61 72 61 6e 74 65 65 64 20 74 6f 20 68 61 76 65 20 6e 6f 20 3c 65 6d 3e 72 75 6e 74 e.guaranteed.to.have.no.<em>runt
d7720 69 6d 65 3c 2f 65 6d 3e 20 73 69 64 65 2d 65 66 66 65 63 74 73 3a 0a 20 20 20 20 20 20 3c 2f 70 ime</em>.side-effects:.......</p
d7740 3e 0a 20 20 20 20 20 20 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
d7760 73 3d 22 7a 69 67 2d 63 61 70 22 3e 3c 63 69 74 65 20 63 6c 61 73 73 3d 22 66 69 6c 65 22 3e 6e s="zig-cap"><cite.class="file">n
d7780 6f 5f 72 75 6e 74 69 6d 65 5f 73 69 64 65 5f 65 66 66 65 63 74 73 2e 7a 69 67 3c 2f 63 69 74 65 o_runtime_side_effects.zig</cite
d77a0 3e 3c 2f 66 69 67 63 61 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
d77c0 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 lass="line"><span.class="tok-kw"
d77e0 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=
d7800 22 74 6f 6b 2d 62 75 69 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
d7820 61 6e 20 63 6c 61 73 73 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
d7840 74 3b 3c 2f 73 70 61 6e 3e 29 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 t;</span>);</span>.<span.class="
d7860 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 63 6f 6e 73 74 line"><span.class="tok-kw">const
d7880 3c 2f 73 70 61 6e 3e 20 65 78 70 65 63 74 20 3d 20 73 74 64 2e 74 65 73 74 69 6e 67 2e 65 78 70 </span>.expect.=.std.testing.exp
d78a0 65 63 74 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c ect;</span>.<span.class="line"><
d78c0 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 /span>.<span.class="line"><span.
d78e0 63 6c 61 73 73 3d 22 74 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
d7900 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 73 74 72 22 3e 26 71 75 6f 74 3b 6e 6f 20 72 75 6e 74 69 6d .class="tok-str">&quot;no.runtim
d7920 65 20 73 69 64 65 20 65 66 66 65 63 74 73 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 20 7b 3c 2f 73 e.side.effects&quot;</span>.{</s
d7940 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 3c 73 70 61 pan>.<span.class="line">....<spa
d7960 6e 20 63 6c 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
d7980 3a 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
d79a0 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
d79c0 3c 2f 73 70 61 6e 3e 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e </span>;</span>.<span.class="lin
d79e0 65 22 3e 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 63 6f 6e 73 e">....<span.class="tok-kw">cons
d7a00 74 3c 2f 73 70 61 6e 3e 20 54 20 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 62 75 t</span>.T.=.<span.class="tok-bu
d7a20 69 6c 74 69 6e 22 3e 40 54 79 70 65 4f 66 3c 2f 73 70 61 6e 3e 28 66 6f 6f 28 3c 73 70 61 6e 20 iltin">@TypeOf</span>(foo(<span.
d7a40 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 69 33 32 3c 2f 73 70 61 6e 3e 2c 20 26 61 6d class="tok-type">i32</span>,.&am
d7a60 70 3b 64 61 74 61 29 29 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 p;data));</span>.<span.class="li
d7a80 6e 65 22 3e 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 63 6f 6d ne">....<span.class="tok-kw">com
d7aa0 70 74 69 6d 65 3c 2f 73 70 61 6e 3e 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 ptime</span>.<span.class="tok-kw
d7ac0 22 3e 74 72 79 3c 2f 73 70 61 6e 3e 20 65 78 70 65 63 74 28 54 20 3d 3d 20 3c 73 70 61 6e 20 63 ">try</span>.expect(T.==.<span.c
d7ae0 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 69 33 32 3c 2f 73 70 61 6e 3e 29 3b 3c 2f 73 70 lass="tok-type">i32</span>);</sp
d7b00 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 3c 73 70 61 6e an>.<span.class="line">....<span
d7b20 20 63 6c 61 73 73 3d 22 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
d7b40 74 28 64 61 74 61 20 3d 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 t(data.==.<span.class="tok-numbe
d7b60 72 22 3e 30 3c 2f 73 70 61 6e 3e 29 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 r">0</span>);</span>.<span.class
d7b80 3d 22 6c 69 6e 65 22 3e 7d 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 ="line">}</span>.<span.class="li
d7ba0 6e 65 22 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c ne"></span>.<span.class="line"><
d7bc0 73 70 61 6e 20 63 6c 61 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
d7be0 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 66 6e 22 3e 66 6f 6f 3c 2f 73 70 61 6e 3e 28 3c 73 pan.class="tok-fn">foo</span>(<s
d7c00 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
d7c20 6e 3e 20 54 3a 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 74 79 70 n>.T:.<span.class="tok-type">typ
d7c40 65 3c 2f 73 70 61 6e 3e 2c 20 70 74 72 3a 20 2a 54 29 20 54 20 7b 3c 2f 73 70 61 6e 3e 0a 3c 73 e</span>,.ptr:.*T).T.{</span>.<s
d7c60 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 70 74 72 2e 2a 20 2b 3d 20 3c 73 pan.class="line">....ptr.*.+=.<s
d7c80 70 61 6e 20 63 6c 61 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>;
d7ca0 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 3c </span>.<span.class="line">....<
d7cc0 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
d7ce0 3e 20 70 74 72 2e 2a 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e >.ptr.*;</span>.<span.class="lin
d7d00 65 22 3e 7d 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 3c 2f 70 72 65 3e 3c 2f 66 69 67 75 72 65 e">}</span></code></pre></figure
d7d20 3e 3c 66 69 67 75 72 65 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
d7d40 6c 2d 63 61 70 22 3e 53 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
d7d60 61 6d 70 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 24 20 3c 6b 62 64 3e 7a 69 amp><span.class="line">$.<kbd>zi
d7d80 67 20 74 65 73 74 20 6e 6f 5f 72 75 6e 74 69 6d 65 5f 73 69 64 65 5f 65 66 66 65 63 74 73 2e 7a g.test.no_runtime_side_effects.z
d7da0 69 67 3c 2f 6b 62 64 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e ig</kbd></span>.<span.class="lin
d7dc0 65 22 3e 31 2f 31 20 74 65 73 74 2e 6e 6f 20 72 75 6e 74 69 6d 65 20 73 69 64 65 20 65 66 66 65 e">1/1.test.no.runtime.side.effe
d7de0 63 74 73 2e 2e 2e 20 4f 4b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 cts....OK</span>.<span.class="li
d7e00 6e 65 22 3e 41 6c 6c 20 31 20 74 65 73 74 73 20 70 61 73 73 65 64 2e 3c 2f 73 70 61 6e 3e 0a 3c ne">All.1.tests.passed.</span>.<
d7e20 2f 73 61 6d 70 3e 3c 2f 70 72 65 3e 3c 2f 66 69 67 75 72 65 3e 0a 20 20 20 20 20 20 0a 0a 20 20 /samp></pre></figure>...........
d7e40 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="
d7e60 23 74 6f 63 2d 75 6e 69 6f 6e 49 6e 69 74 22 3e 40 75 6e 69 6f 6e 49 6e 69 74 3c 2f 61 3e 20 3c #toc-unionInit">@unionInit</a>.<
d7e80 61 20 63 6c 61 73 73 3d 22 68 64 72 22 20 68 72 65 66 3d 22 23 75 6e 69 6f 6e 49 6e 69 74 22 3e a.class="hdr".href="#unionInit">
d7ea0 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
d7ec0 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f pan.class="line"><span.class="to
d7ee0 6b 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 28 3c 73 70 k-builtin">@unionInit</span>(<sp
d7f00 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
d7f20 3e 20 55 6e 69 6f 6e 3a 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e >.Union:.<span.class="tok-type">
d7f40 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
d7f60 22 3e 63 6f 6d 70 74 69 6d 65 3c 2f 73 70 61 6e 3e 20 61 63 74 69 76 65 5f 66 69 65 6c 64 5f 6e ">comptime</span>.active_field_n
d7f80 61 6d 65 3a 20 5b 5d 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 63 6f 6e 73 ame:.[]<span.class="tok-kw">cons
d7fa0 74 3c 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">
d7fc0 75 38 3c 2f 73 70 61 6e 3e 2c 20 69 6e 69 74 5f 65 78 70 72 29 20 55 6e 69 6f 6e 3c 2f 73 70 61 u8</span>,.init_expr).Union</spa
d7fe0 6e 3e 3c 2f 63 6f 64 65 3e 3c 2f 70 72 65 3e 0a 20 20 20 20 20 20 3c 70 3e 0a 20 20 20 20 20 20 n></code></pre>.......<p>.......
d8000 54 68 69 73 20 69 73 20 74 68 65 20 73 61 6d 65 20 74 68 69 6e 67 20 61 73 20 3c 61 20 68 72 65 This.is.the.same.thing.as.<a.hre
d8020 66 3d 22 23 75 6e 69 6f 6e 22 3e 75 6e 69 6f 6e 3c 2f 61 3e 20 69 6e 69 74 69 61 6c 69 7a 61 74 f="#union">union</a>.initializat
d8040 69 6f 6e 20 73 79 6e 74 61 78 2c 20 65 78 63 65 70 74 20 74 68 61 74 20 74 68 65 20 66 69 65 6c ion.syntax,.except.that.the.fiel
d8060 64 20 6e 61 6d 65 20 69 73 20 61 0a 20 20 20 20 20 20 3c 61 20 68 72 65 66 3d 22 23 63 6f 6d 70 d.name.is.a.......<a.href="#comp
d8080 74 69 6d 65 22 3e 63 6f 6d 70 74 69 6d 65 3c 2f 61 3e 2d 6b 6e 6f 77 6e 20 76 61 6c 75 65 20 72 time">comptime</a>-known.value.r
d80a0 61 74 68 65 72 20 74 68 61 6e 20 61 6e 20 69 64 65 6e 74 69 66 69 65 72 20 74 6f 6b 65 6e 2e 0a ather.than.an.identifier.token..
d80c0 20 20 20 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
d80e0 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d ><span.class="line"><span.class=
d8100 22 74 6f 6b 2d 62 75 69 6c 74 69 6e 22 3e 40 75 6e 69 6f 6e 49 6e 69 74 3c 2f 73 70 61 6e 3e 3c "tok-builtin">@unionInit</span><
d8120 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 20 66 6f 72 77 61 72 64 73 20 69 74 73 20 3c 61 20 68 72 /span></code>.forwards.its.<a.hr
d8140 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">
d8160 72 65 73 75 6c 74 20 6c 6f 63 61 74 69 6f 6e 3c 2f 61 3e 20 74 6f 20 3c 63 6f 64 65 3e 3c 73 70 result.location</a>.to.<code><sp
d8180 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 69 6e 69 74 5f 65 78 70 72 3c 2f 73 70 61 6e 3e an.class="line">init_expr</span>
d81a0 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 0a 20 20 20 </code>........</p>.............
d81c0 20 20 20 3c 68 33 20 69 64 3d 22 56 65 63 74 6f 72 22 3e 3c 61 20 68 72 65 66 3d 22 23 74 6f 63 ...<h3.id="Vector"><a.href="#toc
d81e0 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 73 3d 22 68 -Vector">@Vector</a>.<a.class="h
d8200 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 33 3e 0a 0a dr".href="#Vector">..</a></h3>..
d8220 20 20 20 20 20 20 3c 70 72 65 3e 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 ......<pre><code><span.class="li
d8240 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 62 75 69 6c 74 69 6e 22 3e 40 56 ne"><span.class="tok-builtin">@V
d8260 65 63 74 6f 72 3c 2f 73 70 61 6e 3e 28 6c 65 6e 3a 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 ector</span>(len:.<span.class="t
d8280 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 45 6c ok-type">comptime_int</span>,.El
d82a0 65 6d 65 6e 74 3a 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 74 79 ement:.<span.class="tok-type">ty
d82c0 70 65 3c 2f 73 70 61 6e 3e 29 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 pe</span>).<span.class="tok-type
d82e0 22 3e 74 79 70 65 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 3c 2f 70 72 65 ">type</span></span></code></pre
d8300 3e 0a 20 20 20 20 20 20 3c 70 3e 43 72 65 61 74 65 73 20 3c 61 20 68 72 65 66 3d 22 23 56 65 63 >.......<p>Creates.<a.href="#Vec
d8320 74 6f 72 73 22 3e 56 65 63 74 6f 72 73 3c 2f 61 3e 2e 3c 2f 70 3e 0a 20 20 20 20 20 20 0a 20 20 tors">Vectors</a>.</p>..........
d8340 20 20 20 20 0a 0a 20 20 20 20 20 20 3c 68 32 20 69 64 3d 22 42 75 69 6c 64 2d 4d 6f 64 65 22 3e ............<h2.id="Build-Mode">
d8360 3c 61 20 68 72 65 66 3d 22 23 74 6f 63 2d 42 75 69 6c 64 2d 4d 6f 64 65 22 3e 42 75 69 6c 64 20 <a.href="#toc-Build-Mode">Build.
d8380 4d 6f 64 65 3c 2f 61 3e 20 3c 61 20 63 6c 61 73 73 3d 22 68 64 72 22 20 68 72 65 66 3d 22 23 42 Mode</a>.<a.class="hdr".href="#B
d83a0 75 69 6c 64 2d 4d 6f 64 65 22 3e c2 a7 3c 2f 61 3e 3c 2f 68 32 3e 0a 0a 20 20 20 20 20 20 3c 70 uild-Mode">..</a></h2>........<p
d83c0 3e 0a 20 20 20 20 20 20 5a 69 67 20 68 61 73 20 66 6f 75 72 20 62 75 69 6c 64 20 6d 6f 64 65 73 >.......Zig.has.four.build.modes
d83e0 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>.........
d8400 3c 6c 69 3e 3c 61 20 68 72 65 66 3d 22 23 44 65 62 75 67 22 3e 44 65 62 75 67 3c 2f 61 3e 20 28 <li><a.href="#Debug">Debug</a>.(
d8420 64 65 66 61 75 6c 74 29 3c 2f 6c 69 3e 0a 20 20 20 20 20 20 20 20 3c 6c 69 3e 3c 61 20 68 72 65 default)</li>.........<li><a.hre
d8440 66 3d 22 23 52 65 6c 65 61 73 65 46 61 73 74 22 3e 52 65 6c 65 61 73 65 46 61 73 74 3c 2f 61 3e f="#ReleaseFast">ReleaseFast</a>
d8460 3c 2f 6c 69 3e 0a 20 20 20 20 20 20 20 20 3c 6c 69 3e 3c 61 20 68 72 65 66 3d 22 23 52 65 6c 65 </li>.........<li><a.href="#Rele
d8480 61 73 65 53 61 66 65 22 3e 52 65 6c 65 61 73 65 53 61 66 65 3c 2f 61 3e 3c 2f 6c 69 3e 0a 20 20 aseSafe">ReleaseSafe</a></li>...
d84a0 20 20 20 20 20 20 3c 6c 69 3e 3c 61 20 68 72 65 66 3d 22 23 52 65 6c 65 61 73 65 53 6d 61 6c 6c ......<li><a.href="#ReleaseSmall
d84c0 22 3e 52 65 6c 65 61 73 65 53 6d 61 6c 6c 3c 2f 61 3e 3c 2f 6c 69 3e 0a 20 20 20 20 20 20 3c 2f ">ReleaseSmall</a></li>.......</
d84e0 75 6c 3e 0a 20 20 20 20 20 20 3c 70 3e 0a 20 20 20 20 20 20 54 6f 20 61 64 64 20 73 74 61 6e 64 ul>.......<p>.......To.add.stand
d8500 61 72 64 20 62 75 69 6c 64 20 6f 70 74 69 6f 6e 73 20 74 6f 20 61 20 3c 63 6f 64 65 20 63 6c 61 ard.build.options.to.a.<code.cla
d8520 73 73 3d 22 66 69 6c 65 22 3e 62 75 69 6c 64 2e 7a 69 67 3c 2f 63 6f 64 65 3e 20 66 69 6c 65 3a ss="file">build.zig</code>.file:
d8540 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
d8560 70 74 69 6f 6e 20 63 6c 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
d8580 73 3d 22 66 69 6c 65 22 3e 62 75 69 6c 64 2e 7a 69 67 3c 2f 63 69 74 65 3e 3c 2f 66 69 67 63 61 s="file">build.zig</cite></figca
d85a0 70 74 69 6f 6e 3e 3c 70 72 65 3e 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 ption><pre><code><span.class="li
d85c0 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 63 6f 6e 73 74 3c 2f ne"><span.class="tok-kw">const</
d85e0 73 70 61 6e 3e 20 42 75 69 6c 64 65 72 20 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b span>.Builder.=.<span.class="tok
d8600 2d 62 75 69 6c 74 69 6e 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
d8620 6c 61 73 73 3d 22 74 6f 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;</
d8640 73 70 61 6e 3e 29 2e 62 75 69 6c 64 2e 42 75 69 6c 64 65 72 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 span>).build.Builder;</span>.<sp
d8660 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c an.class="line"></span>.<span.cl
d8680 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e ass="line"><span.class="tok-kw">
d86a0 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">
d86c0 66 6e 3c 2f 73 70 61 6e 3e 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 66 6e 22 3e 62 fn</span>.<span.class="tok-fn">b
d86e0 75 69 6c 64 3c 2f 73 70 61 6e 3e 28 62 3a 20 2a 42 75 69 6c 64 65 72 29 20 3c 73 70 61 6e 20 63 uild</span>(b:.*Builder).<span.c
d8700 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 76 6f 69 64 3c 2f 73 70 61 6e 3e 20 7b 3c 2f 73 lass="tok-type">void</span>.{</s
d8720 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 3c 73 70 61 pan>.<span.class="line">....<spa
d8740 6e 20 63 6c 61 73 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
d8760 65 20 3d 20 62 2e 61 64 64 45 78 65 63 75 74 61 62 6c 65 28 3c 73 70 61 6e 20 63 6c 61 73 73 3d e.=.b.addExecutable(<span.class=
d8780 22 74 6f 6b 2d 73 74 72 22 3e 26 71 75 6f 74 3b 65 78 61 6d 70 6c 65 26 71 75 6f 74 3b 3c 2f 73 "tok-str">&quot;example&quot;</s
d87a0 70 61 6e 3e 2c 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 73 74 72 22 3e 26 71 75 6f pan>,.<span.class="tok-str">&quo
d87c0 74 3b 65 78 61 6d 70 6c 65 2e 7a 69 67 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 29 3b 3c 2f 73 70 t;example.zig&quot;</span>);</sp
d87e0 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 65 78 65 2e 73 an>.<span.class="line">....exe.s
d8800 65 74 42 75 69 6c 64 4d 6f 64 65 28 62 2e 73 74 61 6e 64 61 72 64 52 65 6c 65 61 73 65 4f 70 74 etBuildMode(b.standardReleaseOpt
d8820 69 6f 6e 73 28 29 29 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e ions());</span>.<span.class="lin
d8840 65 22 3e 20 20 20 20 62 2e 64 65 66 61 75 6c 74 5f 73 74 65 70 2e 64 65 70 65 6e 64 4f 6e 28 26 e">....b.default_step.dependOn(&
d8860 61 6d 70 3b 65 78 65 2e 73 74 65 70 29 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 amp;exe.step);</span>.<span.clas
d8880 73 3d 22 6c 69 6e 65 22 3e 7d 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 3c 2f 70 72 65 3e 3c 2f s="line">}</span></code></pre></
d88a0 66 69 67 75 72 65 3e 0a 20 20 20 20 20 20 3c 70 3e 0a 20 20 20 20 20 20 54 68 69 73 20 63 61 75 figure>.......<p>.......This.cau
d88c0 73 65 73 20 74 68 65 73 65 20 6f 70 74 69 6f 6e 73 20 74 6f 20 62 65 20 61 76 61 69 6c 61 62 6c ses.these.options.to.be.availabl
d88e0 65 3a 0a 20 20 20 20 20 20 3c 2f 70 3e 0a 20 20 20 20 20 20 3c 64 6c 3e 0a 20 20 20 20 20 20 20 e:.......</p>.......<dl>........
d8900 20 3c 64 74 3e 3c 6b 62 64 3e 2d 44 72 65 6c 65 61 73 65 2d 73 61 66 65 3d 5b 62 6f 6f 6c 5d 3c .<dt><kbd>-Drelease-safe=[bool]<
d8920 2f 6b 62 64 3e 3c 2f 64 74 3e 3c 64 64 3e 4f 70 74 69 6d 69 7a 61 74 69 6f 6e 73 20 6f 6e 20 61 /kbd></dt><dd>Optimizations.on.a
d8940 6e 64 20 73 61 66 65 74 79 20 6f 6e 3c 2f 64 64 3e 0a 20 20 20 20 20 20 20 20 3c 64 74 3e 3c 6b nd.safety.on</dd>.........<dt><k
d8960 62 64 3e 2d 44 72 65 6c 65 61 73 65 2d 66 61 73 74 3d 5b 62 6f 6f 6c 5d 3c 2f 6b 62 64 3e 3c 2f bd>-Drelease-fast=[bool]</kbd></
d8980 64 74 3e 3c 64 64 3e 4f 70 74 69 6d 69 7a 61 74 69 6f 6e 73 20 6f 6e 20 61 6e 64 20 73 61 66 65 dt><dd>Optimizations.on.and.safe
d89a0 74 79 20 6f 66 66 3c 2f 64 64 3e 0a 20 20 20 20 20 20 20 20 3c 64 74 3e 3c 6b 62 64 3e 2d 44 72 ty.off</dd>.........<dt><kbd>-Dr
d89c0 65 6c 65 61 73 65 2d 73 6d 61 6c 6c 3d 5b 62 6f 6f 6c 5d 3c 2f 6b 62 64 3e 3c 2f 64 74 3e 3c 64 elease-small=[bool]</kbd></dt><d
d89e0 64 3e 53 69 7a 65 20 6f 70 74 69 6d 69 7a 61 74 69 6f 6e 73 20 6f 6e 20 61 6e 64 20 73 61 66 65 d>Size.optimizations.on.and.safe
d8a00 74 79 20 6f 66 66 3c 2f 64 64 3e 0a 20 20 20 20 20 20 3c 2f 64 6c 3e 0a 20 20 20 20 20 20 3c 68 ty.off</dd>.......</dl>.......<h
d8a20 33 20 69 64 3d 22 44 65 62 75 67 22 3e 3c 61 20 68 72 65 66 3d 22 23 74 6f 63 2d 44 65 62 75 67 3.id="Debug"><a.href="#toc-Debug
d8a40 22 3e 44 65 62 75 67 3c 2f 61 3e 20 3c 61 20 63 6c 61 73 73 3d 22 68 64 72 22 20 68 72 65 66 3d ">Debug</a>.<a.class="hdr".href=
d8a60 22 23 44 65 62 75 67 22 3e c2 a7 3c 2f 61 3e 3c 2f 68 33 3e 0a 0a 20 20 20 20 20 20 3c 66 69 67 "#Debug">..</a></h3>........<fig
d8a80 75 72 65 3e 3c 66 69 67 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
d8aa0 22 3e 53 68 65 6c 6c 3c 2f 66 69 67 63 61 70 74 69 6f 6e 3e 3c 70 72 65 3e 3c 73 61 6d 70 3e 3c ">Shell</figcaption><pre><samp><
d8ac0 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 24 20 3c 6b 62 64 3e 7a 69 67 20 62 75 69 span.class="line">$.<kbd>zig.bui
d8ae0 6c 64 2d 65 78 65 20 65 78 61 6d 70 6c 65 2e 7a 69 67 3c 2f 6b 62 64 3e 3c 2f 73 70 61 6e 3e 0a ld-exe.example.zig</kbd></span>.
d8b00 3c 2f 73 61 6d 70 3e 3c 2f 70 72 65 3e 3c 2f 66 69 67 75 72 65 3e 0a 20 20 20 20 20 20 3c 75 6c </samp></pre></figure>.......<ul
d8b20 3e 0a 20 20 20 20 20 20 20 20 3c 6c 69 3e 46 61 73 74 20 63 6f 6d 70 69 6c 61 74 69 6f 6e 20 73 >.........<li>Fast.compilation.s
d8b40 70 65 65 64 3c 2f 6c 69 3e 0a 20 20 20 20 20 20 20 20 3c 6c 69 3e 53 61 66 65 74 79 20 63 68 65 peed</li>.........<li>Safety.che
d8b60 63 6b 73 20 65 6e 61 62 6c 65 64 3c 2f 6c 69 3e 0a 20 20 20 20 20 20 20 20 3c 6c 69 3e 53 6c 6f cks.enabled</li>.........<li>Slo
d8b80 77 20 72 75 6e 74 69 6d 65 20 70 65 72 66 6f 72 6d 61 6e 63 65 3c 2f 6c 69 3e 0a 20 20 20 20 20 w.runtime.performance</li>......
d8ba0 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>...
d8bc0 20 20 20 20 20 20 3c 6c 69 3e 4e 6f 20 72 65 70 72 6f 64 75 63 69 62 6c 65 20 62 75 69 6c 64 20 ......<li>No.reproducible.build.
d8be0 72 65 71 75 69 72 65 6d 65 6e 74 3c 2f 6c 69 3e 0a 20 20 20 20 20 20 3c 2f 75 6c 3e 0a 20 20 20 requirement</li>.......</ul>....
d8c00 20 20 20 0a 20 20 20 20 20 20 3c 68 33 20 69 64 3d 22 52 65 6c 65 61 73 65 46 61 73 74 22 3e 3c ..........<h3.id="ReleaseFast"><
d8c20 61 20 68 72 65 66 3d 22 23 74 6f 63 2d 52 65 6c 65 61 73 65 46 61 73 74 22 3e 52 65 6c 65 61 73 a.href="#toc-ReleaseFast">Releas
d8c40 65 46 61 73 74 3c 2f 61 3e 20 3c 61 20 63 6c 61 73 73 3d 22 68 64 72 22 20 68 72 65 66 3d 22 23 eFast</a>.<a.class="hdr".href="#
d8c60 52 65 6c 65 61 73 65 46 61 73 74 22 3e c2 a7 3c 2f 61 3e 3c 2f 68 33 3e 0a 0a 20 20 20 20 20 20 ReleaseFast">..</a></h3>........
d8c80 3c 66 69 67 75 72 65 3e 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
d8ca0 2d 63 61 70 22 3e 53 68 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
d8cc0 6d 70 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 24 20 3c 6b 62 64 3e 7a 69 67 mp><span.class="line">$.<kbd>zig
d8ce0 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
d8d00 65 46 61 73 74 3c 2f 6b 62 64 3e 3c 2f 73 70 61 6e 3e 0a 3c 2f 73 61 6d 70 3e 3c 2f 70 72 65 3e eFast</kbd></span>.</samp></pre>
d8d20 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
d8d40 3e 46 61 73 74 20 72 75 6e 74 69 6d 65 20 70 65 72 66 6f 72 6d 61 6e 63 65 3c 2f 6c 69 3e 0a 20 >Fast.runtime.performance</li>..
d8d60 20 20 20 20 20 20 20 3c 6c 69 3e 53 61 66 65 74 79 20 63 68 65 63 6b 73 20 64 69 73 61 62 6c 65 .......<li>Safety.checks.disable
d8d80 64 3c 2f 6c 69 3e 0a 20 20 20 20 20 20 20 20 3c 6c 69 3e 53 6c 6f 77 20 63 6f 6d 70 69 6c 61 74 d</li>.........<li>Slow.compilat
d8da0 69 6f 6e 20 73 70 65 65 64 3c 2f 6c 69 3e 0a 20 20 20 20 20 20 20 20 3c 6c 69 3e 4c 61 72 67 65 ion.speed</li>.........<li>Large
d8dc0 20 62 69 6e 61 72 79 20 73 69 7a 65 3c 2f 6c 69 3e 0a 20 20 20 20 20 20 20 20 3c 6c 69 3e 52 65 .binary.size</li>.........<li>Re
d8de0 70 72 6f 64 75 63 69 62 6c 65 20 62 75 69 6c 64 3c 2f 6c 69 3e 0a 20 20 20 20 20 20 3c 2f 75 6c producible.build</li>.......</ul
d8e00 3e 0a 20 20 20 20 20 20 0a 20 20 20 20 20 20 3c 68 33 20 69 64 3d 22 52 65 6c 65 61 73 65 53 61 >..............<h3.id="ReleaseSa
d8e20 66 65 22 3e 3c 61 20 68 72 65 66 3d 22 23 74 6f 63 2d 52 65 6c 65 61 73 65 53 61 66 65 22 3e 52 fe"><a.href="#toc-ReleaseSafe">R
d8e40 65 6c 65 61 73 65 53 61 66 65 3c 2f 61 3e 20 3c 61 20 63 6c 61 73 73 3d 22 68 64 72 22 20 68 72 eleaseSafe</a>.<a.class="hdr".hr
d8e60 65 66 3d 22 23 52 65 6c 65 61 73 65 53 61 66 65 22 3e c2 a7 3c 2f 61 3e 3c 2f 68 33 3e 0a 0a 20 ef="#ReleaseSafe">..</a></h3>...
d8e80 20 20 20 20 20 3c 66 69 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="
d8ea0 73 68 65 6c 6c 2d 63 61 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
d8ec0 65 3e 3c 73 61 6d 70 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 24 20 3c 6b 62 e><samp><span.class="line">$.<kb
d8ee0 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 20 52 d>zig.build-exe.example.zig.-O.R
d8f00 65 6c 65 61 73 65 53 61 66 65 3c 2f 6b 62 64 3e 3c 2f 73 70 61 6e 3e 0a 3c 2f 73 61 6d 70 3e 3c eleaseSafe</kbd></span>.</samp><
d8f20 2f 70 72 65 3e 3c 2f 66 69 67 75 72 65 3e 0a 20 20 20 20 20 20 3c 75 6c 3e 0a 20 20 20 20 20 20 /pre></figure>.......<ul>.......
d8f40 20 20 3c 6c 69 3e 4d 65 64 69 75 6d 20 72 75 6e 74 69 6d 65 20 70 65 72 66 6f 72 6d 61 6e 63 65 ..<li>Medium.runtime.performance
d8f60 3c 2f 6c 69 3e 0a 20 20 20 20 20 20 20 20 3c 6c 69 3e 53 61 66 65 74 79 20 63 68 65 63 6b 73 20 </li>.........<li>Safety.checks.
d8f80 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 63 6f enabled</li>.........<li>Slow.co
d8fa0 6d 70 69 6c 61 74 69 6f 6e 20 73 70 65 65 64 3c 2f 6c 69 3e 0a 20 20 20 20 20 20 20 20 3c 6c 69 mpilation.speed</li>.........<li
d8fc0 3e 4c 61 72 67 65 20 62 69 6e 61 72 79 20 73 69 7a 65 3c 2f 6c 69 3e 0a 20 20 20 20 20 20 20 20 >Large.binary.size</li>.........
d8fe0 3c 6c 69 3e 52 65 70 72 6f 64 75 63 69 62 6c 65 20 62 75 69 6c 64 3c 2f 6c 69 3e 0a 20 20 20 20 <li>Reproducible.build</li>.....
d9000 20 20 3c 2f 75 6c 3e 0a 20 20 20 20 20 20 0a 20 20 20 20 20 20 3c 68 33 20 69 64 3d 22 52 65 6c ..</ul>..............<h3.id="Rel
d9020 65 61 73 65 53 6d 61 6c 6c 22 3e 3c 61 20 68 72 65 66 3d 22 23 74 6f 63 2d 52 65 6c 65 61 73 65 easeSmall"><a.href="#toc-Release
d9040 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 6c 61 73 73 Small">ReleaseSmall</a>.<a.class
d9060 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 c2 a7 3c 2f ="hdr".href="#ReleaseSmall">..</
d9080 61 3e 3c 2f 68 33 3e 0a 0a 20 20 20 20 20 20 3c 66 69 67 75 72 65 3e 3c 66 69 67 63 61 70 74 69 a></h3>........<figure><figcapti
d90a0 6f 6e 20 63 6c 61 73 73 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
d90c0 61 70 74 69 6f 6e 3e 3c 70 72 65 3e 3c 73 61 6d 70 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c aption><pre><samp><span.class="l
d90e0 69 6e 65 22 3e 24 20 3c 6b 62 64 3e 7a 69 67 20 62 75 69 6c 64 2d 65 78 65 20 65 78 61 6d 70 6c ine">$.<kbd>zig.build-exe.exampl
d9100 65 2e 7a 69 67 20 2d 4f 20 52 65 6c 65 61 73 65 53 6d 61 6c 6c 3c 2f 6b 62 64 3e 3c 2f 73 70 61 e.zig.-O.ReleaseSmall</kbd></spa
d9120 6e 3e 0a 3c 2f 73 61 6d 70 3e 3c 2f 70 72 65 3e 3c 2f 66 69 67 75 72 65 3e 0a 20 20 20 20 20 20 n>.</samp></pre></figure>.......
d9140 3c 75 6c 3e 0a 20 20 20 20 20 20 20 20 3c 6c 69 3e 4d 65 64 69 75 6d 20 72 75 6e 74 69 6d 65 20 <ul>.........<li>Medium.runtime.
d9160 70 65 72 66 6f 72 6d 61 6e 63 65 3c 2f 6c 69 3e 0a 20 20 20 20 20 20 20 20 3c 6c 69 3e 53 61 66 performance</li>.........<li>Saf
d9180 65 74 79 20 63 68 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 ety.checks.disabled</li>........
d91a0 20 3c 6c 69 3e 53 6c 6f 77 20 63 6f 6d 70 69 6c 61 74 69 6f 6e 20 73 70 65 65 64 3c 2f 6c 69 3e .<li>Slow.compilation.speed</li>
d91c0 0a 20 20 20 20 20 20 20 20 3c 6c 69 3e 53 6d 61 6c 6c 20 62 69 6e 61 72 79 20 73 69 7a 65 3c 2f .........<li>Small.binary.size</
d91e0 6c 69 3e 0a 20 20 20 20 20 20 20 20 3c 6c 69 3e 52 65 70 72 6f 64 75 63 69 62 6c 65 20 62 75 69 li>.........<li>Reproducible.bui
d9200 6c 64 3c 2f 6c 69 3e 0a 20 20 20 20 20 20 3c 2f 75 6c 3e 0a 20 20 20 20 20 20 0a 20 20 20 20 20 ld</li>.......</ul>.............
d9220 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
d9240 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 6c 65 20 56 f="#Compile-Variables">Compile.V
d9260 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 66 3d 22 23 ariables</a></li>.<li><a.href="#
d9280 5a 69 67 2d 42 75 69 6c 64 2d 53 79 73 74 65 6d 22 3e 5a 69 67 20 42 75 69 6c 64 20 53 79 73 74 Zig-Build-System">Zig.Build.Syst
d92a0 65 6d 3c 2f 61 3e 3c 2f 6c 69 3e 0a 3c 6c 69 3e 3c 61 20 68 72 65 66 3d 22 23 55 6e 64 65 66 69 em</a></li>.<li><a.href="#Undefi
d92c0 6e 65 64 2d 42 65 68 61 76 69 6f 72 22 3e 55 6e 64 65 66 69 6e 65 64 20 42 65 68 61 76 69 6f 72 ned-Behavior">Undefined.Behavior
d92e0 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>................<
d9300 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 6c 64 73 22 3e 3c h2.id="Single-Threaded-Builds"><
d9320 61 20 68 72 65 66 3d 22 23 74 6f 63 2d 53 69 6e 67 6c 65 2d 54 68 72 65 61 64 65 64 2d 42 75 69 a.href="#toc-Single-Threaded-Bui
d9340 6c 64 73 22 3e 53 69 6e 67 6c 65 20 54 68 72 65 61 64 65 64 20 42 75 69 6c 64 73 3c 2f 61 3e 20 lds">Single.Threaded.Builds</a>.
d9360 3c 61 20 63 6c 61 73 73 3d 22 68 64 72 22 20 68 72 65 66 3d 22 23 53 69 6e 67 6c 65 2d 54 68 72 <a.class="hdr".href="#Single-Thr
d9380 65 61 64 65 64 2d 42 75 69 6c 64 73 22 3e c2 a7 3c 2f 61 3e 3c 2f 68 32 3e 0a 0a 20 20 20 20 20 eaded-Builds">..</a></h2>.......
d93a0 20 3c 70 3e 5a 69 67 20 68 61 73 20 61 20 63 6f 6d 70 69 6c 65 20 6f 70 74 69 6f 6e 20 3c 6b 62 .<p>Zig.has.a.compile.option.<kb
d93c0 64 3e 2d 2d 73 69 6e 67 6c 65 2d 74 68 72 65 61 64 65 64 3c 2f 6b 62 64 3e 20 77 68 69 63 68 20 d>--single-threaded</kbd>.which.
d93e0 68 61 73 20 74 68 65 20 66 6f 6c 6c 6f 77 69 6e 67 20 65 66 66 65 63 74 73 3a 3c 2f 70 3e 0a 20 has.the.following.effects:</p>..
d9400 20 20 20 20 20 3c 75 6c 3e 0a 20 20 20 20 20 20 20 20 3c 6c 69 3e 41 6c 6c 20 3c 61 20 68 72 65 .....<ul>.........<li>All.<a.hre
d9420 66 3d 22 23 54 68 72 65 61 64 2d 4c 6f 63 61 6c 2d 56 61 72 69 61 62 6c 65 73 22 3e 54 68 72 65 f="#Thread-Local-Variables">Thre
d9440 61 64 20 4c 6f 63 61 6c 20 56 61 72 69 61 62 6c 65 73 3c 2f 61 3e 20 61 72 65 20 74 72 65 61 74 ad.Local.Variables</a>.are.treat
d9460 65 64 20 61 73 20 72 65 67 75 6c 61 72 20 3c 61 20 68 72 65 66 3d 22 23 43 6f 6e 74 61 69 6e 65 ed.as.regular.<a.href="#Containe
d9480 72 2d 4c 65 76 65 6c 2d 56 61 72 69 61 62 6c 65 73 22 3e 43 6f 6e 74 61 69 6e 65 72 20 4c 65 76 r-Level-Variables">Container.Lev
d94a0 65 6c 20 56 61 72 69 61 62 6c 65 73 3c 2f 61 3e 2e 3c 2f 6c 69 3e 0a 20 20 20 20 20 20 20 20 3c el.Variables</a>.</li>.........<
d94c0 6c 69 3e 54 68 65 20 6f 76 65 72 68 65 61 64 20 6f 66 20 3c 61 20 68 72 65 66 3d 22 23 41 73 79 li>The.overhead.of.<a.href="#Asy
d94e0 6e 63 2d 46 75 6e 63 74 69 6f 6e 73 22 3e 41 73 79 6e 63 20 46 75 6e 63 74 69 6f 6e 73 3c 2f 61 nc-Functions">Async.Functions</a
d9500 3e 20 62 65 63 6f 6d 65 73 20 65 71 75 69 76 61 6c 65 6e 74 20 74 6f 20 66 75 6e 63 74 69 6f 6e >.becomes.equivalent.to.function
d9520 20 63 61 6c 6c 20 6f 76 65 72 68 65 61 64 2e 3c 2f 6c 69 3e 0a 20 20 20 20 20 20 20 20 3c 6c 69 .call.overhead.</li>.........<li
d9540 3e 54 68 65 20 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 >The.<code><span.class="line"><s
d9560 70 61 6e 20 63 6c 61 73 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<
d9580 2f 73 70 61 6e 3e 28 3c 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
d95a0 6f 74 3b 62 75 69 6c 74 69 6e 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 29 2e 73 69 6e 67 6c 65 5f ot;builtin&quot;</span>).single_
d95c0 74 68 72 65 61 64 65 64 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 20 62 65 63 6f 6d 65 73 20 3c threaded</span></code>.becomes.<
d95e0 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c code><span.class="line"><span.cl
d9600 61 73 73 3d 22 74 6f 6b 2d 6e 75 6c 6c 22 3e 74 72 75 65 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e ass="tok-null">true</span></span
d9620 3e 3c 2f 63 6f 64 65 3e 0a 20 20 20 20 20 20 20 20 20 20 61 6e 64 20 74 68 65 72 65 66 6f 72 65 ></code>...........and.therefore
d9640 20 76 61 72 69 6f 75 73 20 75 73 65 72 6c 61 6e 64 20 41 50 49 73 20 77 68 69 63 68 20 72 65 61 .various.userland.APIs.which.rea
d9660 64 20 74 68 69 73 20 76 61 72 69 61 62 6c 65 20 62 65 63 6f 6d 65 20 6d 6f 72 65 20 65 66 66 69 d.this.variable.become.more.effi
d9680 63 69 65 6e 74 2e 0a 20 20 20 20 20 20 20 20 20 20 46 6f 72 20 65 78 61 6d 70 6c 65 20 3c 63 6f cient............For.example.<co
d96a0 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 73 74 64 2e 4d 75 74 65 78 3c de><span.class="line">std.Mutex<
d96c0 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 20 62 65 63 6f 6d 65 73 0a 20 20 20 20 20 20 20 20 20 20 /span></code>.becomes...........
d96e0 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 20 an.empty.data.structure.and.all.
d9700 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 3c of.its.functions.become.no-ops.<
d9720 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 3c /li>.......</ul>...............<
d9740 68 32 20 69 64 3d 22 55 6e 64 65 66 69 6e 65 64 2d 42 65 68 61 76 69 6f 72 22 3e 3c 61 20 68 72 h2.id="Undefined-Behavior"><a.hr
d9760 65 66 3d 22 23 74 6f 63 2d 55 6e 64 65 66 69 6e 65 64 2d 42 65 68 61 76 69 6f 72 22 3e 55 6e 64 ef="#toc-Undefined-Behavior">Und
d9780 65 66 69 6e 65 64 20 42 65 68 61 76 69 6f 72 3c 2f 61 3e 20 3c 61 20 63 6c 61 73 73 3d 22 68 64 efined.Behavior</a>.<a.class="hd
d97a0 72 22 20 68 72 65 66 3d 22 23 55 6e 64 65 66 69 6e 65 64 2d 42 65 68 61 76 69 6f 72 22 3e c2 a7 r".href="#Undefined-Behavior">..
d97c0 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
d97e0 61 73 20 6d 61 6e 79 20 69 6e 73 74 61 6e 63 65 73 20 6f 66 20 75 6e 64 65 66 69 6e 65 64 20 62 as.many.instances.of.undefined.b
d9800 65 68 61 76 69 6f 72 2e 20 49 66 20 75 6e 64 65 66 69 6e 65 64 20 62 65 68 61 76 69 6f 72 20 69 ehavior..If.undefined.behavior.i
d9820 73 0a 20 20 20 20 20 20 64 65 74 65 63 74 65 64 20 61 74 20 63 6f 6d 70 69 6c 65 2d 74 69 6d 65 s.......detected.at.compile-time
d9840 2c 20 5a 69 67 20 65 6d 69 74 73 20 61 20 63 6f 6d 70 69 6c 65 20 65 72 72 6f 72 20 61 6e 64 20 ,.Zig.emits.a.compile.error.and.
d9860 72 65 66 75 73 65 73 20 74 6f 20 63 6f 6e 74 69 6e 75 65 2e 0a 20 20 20 20 20 20 4d 6f 73 74 20 refuses.to.continue........Most.
d9880 75 6e 64 65 66 69 6e 65 64 20 62 65 68 61 76 69 6f 72 20 74 68 61 74 20 63 61 6e 6e 6f 74 20 62 undefined.behavior.that.cannot.b
d98a0 65 20 64 65 74 65 63 74 65 64 20 61 74 20 63 6f 6d 70 69 6c 65 2d 74 69 6d 65 20 63 61 6e 20 62 e.detected.at.compile-time.can.b
d98c0 65 20 64 65 74 65 63 74 65 64 0a 20 20 20 20 20 20 61 74 20 72 75 6e 74 69 6d 65 2e 20 49 6e 20 e.detected.......at.runtime..In.
d98e0 74 68 65 73 65 20 63 61 73 65 73 2c 20 5a 69 67 20 68 61 73 20 73 61 66 65 74 79 20 63 68 65 63 these.cases,.Zig.has.safety.chec
d9900 6b 73 2e 20 53 61 66 65 74 79 20 63 68 65 63 6b 73 20 63 61 6e 20 62 65 20 64 69 73 61 62 6c 65 ks..Safety.checks.can.be.disable
d9920 64 0a 20 20 20 20 20 20 6f 6e 20 61 20 70 65 72 2d 62 6c 6f 63 6b 20 62 61 73 69 73 20 77 69 74 d.......on.a.per-block.basis.wit
d9940 68 20 3c 61 20 68 72 65 66 3d 22 23 73 65 74 52 75 6e 74 69 6d 65 53 61 66 65 74 79 22 3e 40 73 h.<a.href="#setRuntimeSafety">@s
d9960 65 74 52 75 6e 74 69 6d 65 53 61 66 65 74 79 3c 2f 61 3e 2e 20 54 68 65 20 3c 61 20 68 72 65 66 etRuntimeSafety</a>..The.<a.href
d9980 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 0a ="#ReleaseFast">ReleaseFast</a>.
d99a0 20 20 20 20 20 20 61 6e 64 20 3c 61 20 68 72 65 66 3d 22 23 52 65 6c 65 61 73 65 53 6d 61 6c 6c ......and.<a.href="#ReleaseSmall
d99c0 22 3e 52 65 6c 65 61 73 65 53 6d 61 6c 6c 3c 2f 61 3e 20 62 75 69 6c 64 20 6d 6f 64 65 73 20 64 ">ReleaseSmall</a>.build.modes.d
d99e0 69 73 61 62 6c 65 20 61 6c 6c 20 73 61 66 65 74 79 20 63 68 65 63 6b 73 20 28 65 78 63 65 70 74 isable.all.safety.checks.(except
d9a00 20 77 68 65 72 65 20 6f 76 65 72 72 69 64 64 65 6e 0a 20 20 20 20 20 20 62 79 20 3c 61 20 68 72 .where.overridden.......by.<a.hr
d9a20 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 69 ef="#setRuntimeSafety">@setRunti
d9a40 6d 65 53 61 66 65 74 79 3c 2f 61 3e 29 20 69 6e 20 6f 72 64 65 72 20 74 6f 20 66 61 63 69 6c 69 meSafety</a>).in.order.to.facili
d9a60 74 61 74 65 20 6f 70 74 69 6d 69 7a 61 74 69 6f 6e 73 2e 0a 20 20 20 20 20 20 3c 2f 70 3e 0a 20 tate.optimizations........</p>..
d9a80 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 20 63 68 65 .....<p>.......When.a.safety.che
d9aa0 63 6b 20 66 61 69 6c 73 2c 20 5a 69 67 20 63 72 61 73 68 65 73 20 77 69 74 68 20 61 20 73 74 61 ck.fails,.Zig.crashes.with.a.sta
d9ac0 63 6b 20 74 72 61 63 65 2c 20 6c 69 6b 65 20 74 68 69 73 3a 0a 20 20 20 20 20 20 3c 2f 70 3e 0a ck.trace,.like.this:.......</p>.
d9ae0 20 20 20 20 20 20 3c 66 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=
d9b00 22 7a 69 67 2d 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
d9b20 74 2e 7a 69 67 3c 2f 63 69 74 65 3e 3c 2f 66 69 67 63 61 70 74 69 6f 6e 3e 3c 70 72 65 3e 3c 63 t.zig</cite></figcaption><pre><c
d9b40 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 ode><span.class="line"><span.cla
d9b60 73 73 3d 22 74 6f 6b 2d 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
d9b80 61 73 73 3d 22 74 6f 6b 2d 73 74 72 22 3e 26 71 75 6f 74 3b 73 61 66 65 74 79 20 63 68 65 63 6b ass="tok-str">&quot;safety.check
d9ba0 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 20 7b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 &quot;</span>.{</span>.<span.cla
d9bc0 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b ss="line">....<span.class="tok-k
d9be0 77 22 3e 75 6e 72 65 61 63 68 61 62 6c 65 3c 2f 73 70 61 6e 3e 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 w">unreachable</span>;</span>.<s
d9c00 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 7d 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e pan.class="line">}</span></code>
d9c20 3c 2f 70 72 65 3e 3c 2f 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
d9c40 6f 6e 20 63 6c 61 73 73 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
d9c60 61 70 74 69 6f 6e 3e 3c 70 72 65 3e 3c 73 61 6d 70 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c aption><pre><samp><span.class="l
d9c80 69 6e 65 22 3e 24 20 3c 6b 62 64 3e 7a 69 67 20 74 65 73 74 20 74 65 73 74 2e 7a 69 67 3c 2f 6b ine">$.<kbd>zig.test.test.zig</k
d9ca0 62 64 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 31 2f bd></span>.<span.class="line">1/
d9cc0 31 20 74 65 73 74 2e 73 61 66 65 74 79 20 63 68 65 63 6b 2e 2e 2e 20 74 68 72 65 61 64 20 33 35 1.test.safety.check....thread.35
d9ce0 38 34 35 32 39 20 70 61 6e 69 63 3a 20 72 65 61 63 68 65 64 20 75 6e 72 65 61 63 68 61 62 6c 65 84529.panic:.reached.unreachable
d9d00 20 63 6f 64 65 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e .code</span>.<span.class="line">
d9d20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 31 5f 30 22 3e 64 6f 63 67 65 6e 5f 74 6d 70 2f 74 65 <span.class="t1_0">docgen_tmp/te
d9d40 73 74 2e 7a 69 67 3a 32 3a 35 3c 2f 73 70 61 6e 3e 3a 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 st.zig:2:5</span>:.<span.class="
d9d60 74 32 5f 30 22 3e 30 78 32 31 31 35 36 35 20 69 6e 20 74 65 73 74 2e 73 61 66 65 74 79 20 63 68 t2_0">0x211565.in.test.safety.ch
d9d80 65 63 6b 20 28 74 65 73 74 29 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 eck.(test)</span></span>.<span.c
d9da0 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 75 6e 72 65 61 63 68 61 62 6c 65 3b 3c 2f 73 70 lass="line">....unreachable;</sp
d9dc0 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 3c 73 70 61 6e an>.<span.class="line">....<span
d9de0 20 63 6c 61 73 73 3d 22 74 33 32 5f 31 22 3e 5e 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 0a 3c .class="t32_1">^</span></span>.<
d9e00 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 span.class="line"><span.class="t
d9e20 31 5f 30 22 3e 2f 68 6f 6d 65 2f 63 69 2f 72 65 6c 65 61 73 65 2d 30 2e 31 30 2e 31 2f 6f 75 74 1_0">/home/ci/release-0.10.1/out
d9e40 2f 7a 69 67 2d 78 38 36 5f 36 34 2d 6c 69 6e 75 78 2d 6d 75 73 6c 2d 62 61 73 65 6c 69 6e 65 2f /zig-x86_64-linux-musl-baseline/
d9e60 6c 69 62 2f 7a 69 67 2f 74 65 73 74 5f 72 75 6e 6e 65 72 2e 7a 69 67 3a 36 33 3a 32 38 3c 2f 73 lib/zig/test_runner.zig:63:28</s
d9e80 70 61 6e 3e 3a 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 32 5f 30 22 3e 30 78 32 31 32 63 66 pan>:.<span.class="t2_0">0x212cf
d9ea0 33 20 69 6e 20 6d 61 69 6e 20 28 74 65 73 74 29 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 0a 3c 3.in.main.(test)</span></span>.<
d9ec0 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 20 20 20 20 7d 20 65 6c 73 65 span.class="line">........}.else
d9ee0 20 74 65 73 74 5f 66 6e 2e 66 75 6e 63 28 29 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c .test_fn.func();</span>.<span.cl
d9f00 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ass="line">.....................
d9f20 20 20 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 33 32 5f 31 22 3e 5e 3c 2f 73 70 61 ......<span.class="t32_1">^</spa
d9f40 6e 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 n></span>.<span.class="line"><sp
d9f60 61 6e 20 63 6c 61 73 73 3d 22 74 31 5f 30 22 3e 2f 68 6f 6d 65 2f 63 69 2f 72 65 6c 65 61 73 65 an.class="t1_0">/home/ci/release
d9f80 2d 30 2e 31 30 2e 31 2f 6f 75 74 2f 7a 69 67 2d 78 38 36 5f 36 34 2d 6c 69 6e 75 78 2d 6d 75 73 -0.10.1/out/zig-x86_64-linux-mus
d9fa0 6c 2d 62 61 73 65 6c 69 6e 65 2f 6c 69 62 2f 7a 69 67 2f 73 74 64 2f 73 74 61 72 74 2e 7a 69 67 l-baseline/lib/zig/std/start.zig
d9fc0 3a 36 30 34 3a 32 32 3c 2f 73 70 61 6e 3e 3a 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 32 5f :604:22</span>:.<span.class="t2_
d9fe0 30 22 3e 30 78 32 31 31 65 37 63 20 69 6e 20 70 6f 73 69 78 43 61 6c 6c 4d 61 69 6e 41 6e 64 45 0">0x211e7c.in.posixCallMainAndE
da000 78 69 74 20 28 74 65 73 74 29 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 xit.(test)</span></span>.<span.c
da020 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 20 20 20 20 20 20 20 20 72 6f 6f 74 2e 6d 61 69 lass="line">............root.mai
da040 6e 28 29 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 n();</span>.<span.class="line">.
da060 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d ....................<span.class=
da080 22 74 33 32 5f 31 22 3e 5e 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c "t32_1">^</span></span>.<span.cl
da0a0 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 31 5f 30 22 3e 2f 68 ass="line"><span.class="t1_0">/h
da0c0 6f 6d 65 2f 63 69 2f 72 65 6c 65 61 73 65 2d 30 2e 31 30 2e 31 2f 6f 75 74 2f 7a 69 67 2d 78 38 ome/ci/release-0.10.1/out/zig-x8
da0e0 36 5f 36 34 2d 6c 69 6e 75 78 2d 6d 75 73 6c 2d 62 61 73 65 6c 69 6e 65 2f 6c 69 62 2f 7a 69 67 6_64-linux-musl-baseline/lib/zig
da100 2f 73 74 64 2f 73 74 61 72 74 2e 7a 69 67 3a 33 37 36 3a 35 3c 2f 73 70 61 6e 3e 3a 20 3c 73 70 /std/start.zig:376:5</span>:.<sp
da120 61 6e 20 63 6c 61 73 73 3d 22 74 32 5f 30 22 3e 30 78 32 31 31 39 38 31 20 69 6e 20 5f 73 74 61 an.class="t2_0">0x211981.in._sta
da140 72 74 20 28 74 65 73 74 29 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c rt.(test)</span></span>.<span.cl
da160 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 40 63 61 6c 6c 28 2e 7b 20 2e 6d 6f 64 69 66 69 65 ass="line">....@call(.{..modifie
da180 72 20 3d 20 2e 6e 65 76 65 72 5f 69 6e 6c 69 6e 65 20 7d 2c 20 70 6f 73 69 78 43 61 6c 6c 4d 61 r.=..never_inline.},.posixCallMa
da1a0 69 6e 41 6e 64 45 78 69 74 2c 20 2e 7b 7d 29 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c inAndExit,..{});</span>.<span.cl
da1c0 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 33 32 5f ass="line">....<span.class="t32_
da1e0 31 22 3e 5e 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 1">^</span></span>.<span.class="
da200 6c 69 6e 65 22 3e 65 72 72 6f 72 3a 20 74 68 65 20 66 6f 6c 6c 6f 77 69 6e 67 20 74 65 73 74 20 line">error:.the.following.test.
da220 63 6f 6d 6d 61 6e 64 20 63 72 61 73 68 65 64 3a 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c command.crashed:</span>.<span.cl
da240 61 73 73 3d 22 6c 69 6e 65 22 3e 2f 68 6f 6d 65 2f 63 69 2f 72 65 6c 65 61 73 65 2d 30 2e 31 30 ass="line">/home/ci/release-0.10
da260 2e 31 2f 6f 75 74 2f 7a 69 67 2d 6c 6f 63 61 6c 2d 63 61 63 68 65 2f 6f 2f 38 38 36 64 62 64 65 .1/out/zig-local-cache/o/886dbde
da280 32 63 32 61 32 31 30 37 34 63 36 63 36 64 33 66 66 39 62 38 33 33 33 36 62 2f 74 65 73 74 3c 2f 2c2a21074c6c6d3ff9b83336b/test</
da2a0 73 70 61 6e 3e 0a 3c 2f 73 61 6d 70 3e 3c 2f 70 72 65 3e 3c 2f 66 69 67 75 72 65 3e 0a 20 20 20 span>.</samp></pre></figure>....
da2c0 20 20 20 3c 68 33 20 69 64 3d 22 52 65 61 63 68 69 6e 67 2d 55 6e 72 65 61 63 68 61 62 6c 65 2d ...<h3.id="Reaching-Unreachable-
da2e0 43 6f 64 65 22 3e 3c 61 20 68 72 65 66 3d 22 23 74 6f 63 2d 52 65 61 63 68 69 6e 67 2d 55 6e 72 Code"><a.href="#toc-Reaching-Unr
da300 65 61 63 68 61 62 6c 65 2d 43 6f 64 65 22 3e 52 65 61 63 68 69 6e 67 20 55 6e 72 65 61 63 68 61 eachable-Code">Reaching.Unreacha
da320 62 6c 65 20 43 6f 64 65 3c 2f 61 3e 20 3c 61 20 63 6c 61 73 73 3d 22 68 64 72 22 20 68 72 65 66 ble.Code</a>.<a.class="hdr".href
da340 3d 22 23 52 65 61 63 68 69 6e 67 2d 55 6e 72 65 61 63 68 61 62 6c 65 2d 43 6f 64 65 22 3e c2 a7 ="#Reaching-Unreachable-Code">..
da360 3c 2f 61 3e 3c 2f 68 33 3e 0a 0a 20 20 20 20 20 20 3c 70 3e 41 74 20 63 6f 6d 70 69 6c 65 2d 74 </a></h3>........<p>At.compile-t
da380 69 6d 65 3a 3c 2f 70 3e 0a 20 20 20 20 20 20 3c 66 69 67 75 72 65 3e 3c 66 69 67 63 61 70 74 69 ime:</p>.......<figure><figcapti
da3a0 6f 6e 20 63 6c 61 73 73 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="
da3c0 66 69 6c 65 22 3e 74 65 73 74 2e 7a 69 67 3c 2f 63 69 74 65 3e 3c 2f 66 69 67 63 61 70 74 69 6f file">test.zig</cite></figcaptio
da3e0 6e 3e 3c 70 72 65 3e 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e n><pre><code><span.class="line">
da400 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
da420 70 61 6e 3e 20 7b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 pan>.{</span>.<span.class="line"
da440 3e 20 20 20 20 61 73 73 65 72 74 28 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6c >....assert(<span.class="tok-nul
da460 6c 22 3e 66 61 6c 73 65 3c 2f 73 70 61 6e 3e 29 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 l">false</span>);</span>.<span.c
da480 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 7d 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 lass="line">}</span>.<span.class
da4a0 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 66 6e 3c ="line"><span.class="tok-kw">fn<
da4c0 2f 73 70 61 6e 3e 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 66 6e 22 3e 61 73 73 65 /span>.<span.class="tok-fn">asse
da4e0 72 74 3c 2f 73 70 61 6e 3e 28 6f 6b 3a 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 rt</span>(ok:.<span.class="tok-t
da500 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
da520 6f 6b 2d 74 79 70 65 22 3e 76 6f 69 64 3c 2f 73 70 61 6e 3e 20 7b 3c 2f 73 70 61 6e 3e 0a 3c 73 ok-type">void</span>.{</span>.<s
da540 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 pan.class="line">....<span.class
da560 3d 22 74 6f 6b 2d 6b 77 22 3e 69 66 3c 2f 73 70 61 6e 3e 20 28 21 6f 6b 29 20 3c 73 70 61 6e 20 ="tok-kw">if</span>.(!ok).<span.
da580 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
da5a0 3e 3b 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 63 6f 6d 6d 65 6e 74 22 3e 2f 2f 20 >;.<span.class="tok-comment">//.
da5c0 61 73 73 65 72 74 69 6f 6e 20 66 61 69 6c 75 72 65 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 0a assertion.failure</span></span>.
da5e0 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 7d 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 <span.class="line">}</span></cod
da600 65 3e 3c 2f 70 72 65 3e 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
da620 74 69 6f 6e 20 63 6c 61 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
da640 67 63 61 70 74 69 6f 6e 3e 3c 70 72 65 3e 3c 73 61 6d 70 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d gcaption><pre><samp><span.class=
da660 22 6c 69 6e 65 22 3e 24 20 3c 6b 62 64 3e 7a 69 67 20 74 65 73 74 20 74 65 73 74 2e 7a 69 67 3c "line">$.<kbd>zig.test.test.zig<
da680 2f 6b 62 64 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e /kbd></span>.<span.class="line">
da6a0 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 31 5f 30 22 3e 64 6f 63 67 65 6e 5f 74 6d 70 2f 74 65 <span.class="t1_0">docgen_tmp/te
da6c0 73 74 2e 7a 69 67 3a 35 3a 31 34 3a 20 3c 2f 73 70 61 6e 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d st.zig:5:14:.</span><span.class=
da6e0 22 74 33 31 5f 31 22 3e 65 72 72 6f 72 3a 20 3c 2f 73 70 61 6e 3e 3c 73 70 61 6e 20 63 6c 61 73 "t31_1">error:.</span><span.clas
da700 73 3d 22 74 31 5f 30 22 3e 72 65 61 63 68 65 64 20 75 6e 72 65 61 63 68 61 62 6c 65 20 63 6f 64 s="t1_0">reached.unreachable.cod
da720 65 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 2f 73 70 e</span>.<span.class="line"></sp
da740 61 6e 3e 20 20 20 20 69 66 20 28 21 6f 6b 29 20 75 6e 72 65 61 63 68 61 62 6c 65 3b 20 2f 2f 20 an>....if.(!ok).unreachable;.//.
da760 61 73 73 65 72 74 69 6f 6e 20 66 61 69 6c 75 72 65 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 assertion.failure</span>.<span.c
da780 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 20 20 20 20 20 20 20 20 20 3c 73 70 61 6e 20 63 lass="line">.............<span.c
da7a0 6c 61 73 73 3d 22 74 33 32 5f 31 22 3e 5e 7e 7e 7e 7e 7e 7e 7e 7e 7e 7e 3c 2f 73 70 61 6e 3e 0a lass="t32_1">^~~~~~~~~~~</span>.
da7c0 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 2f 73 70 61 6e 3e 3c 73 70 61 6e 20 <span.class="line"></span><span.
da7e0 63 6c 61 73 73 3d 22 74 31 5f 30 22 3e 64 6f 63 67 65 6e 5f 74 6d 70 2f 74 65 73 74 2e 7a 69 67 class="t1_0">docgen_tmp/test.zig
da800 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 74 33 36 5f 31 :2:11:.</span><span.class="t36_1
da820 22 3e 6e 6f 74 65 3a 20 3c 2f 73 70 61 6e 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 31 5f 30 ">note:.</span><span.class="t1_0
da840 22 3e 63 61 6c 6c 65 64 20 66 72 6f 6d 20 68 65 72 65 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 ">called.from.here</span>.<span.
da860 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 2f 73 70 61 6e 3e 20 20 20 20 61 73 73 65 72 74 28 66 class="line"></span>....assert(f
da880 61 6c 73 65 29 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 alse);</span>.<span.class="line"
da8a0 3e 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 33 32 5f 31 22 3e 7e 7e 7e 7e 7e 7e 5e >....<span.class="t32_1">~~~~~~^
da8c0 7e 7e 7e 7e 7e 7e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 ~~~~~~</span>.<span.class="line"
da8e0 3e 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 0a 3c 2f 73 61 6d 70 3e 3c 2f 70 72 65 3e 3c 2f 66 ></span></span>.</samp></pre></f
da900 69 67 75 72 65 3e 0a 20 20 20 20 20 20 3c 70 3e 41 74 20 72 75 6e 74 69 6d 65 3a 3c 2f 70 3e 0a igure>.......<p>At.runtime:</p>.
da920 20 20 20 20 20 20 3c 66 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=
da940 22 7a 69 67 2d 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
da960 74 2e 7a 69 67 3c 2f 63 69 74 65 3e 3c 2f 66 69 67 63 61 70 74 69 6f 6e 3e 3c 70 72 65 3e 3c 63 t.zig</cite></figcaption><pre><c
da980 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 ode><span.class="line"><span.cla
da9a0 73 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.=.<
da9c0 73 70 61 6e 20 63 6c 61 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
da9e0 3c 2f 73 70 61 6e 3e 28 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
daa00 75 6f 74 3b 73 74 64 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 29 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 uot;std&quot;</span>);</span>.<s
daa20 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 pan.class="line"></span>.<span.c
daa40 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 lass="line"><span.class="tok-kw"
daa60 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"
daa80 3e 66 6e 3c 2f 73 70 61 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">
daaa0 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
daac0 79 70 65 22 3e 76 6f 69 64 3c 2f 73 70 61 6e 3e 20 7b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 ype">void</span>.{</span>.<span.
daae0 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 73 74 64 2e 64 65 62 75 67 2e 61 73 73 65 72 class="line">....std.debug.asser
dab00 74 28 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6c 6c 22 3e 66 61 6c 73 65 3c 2f t(<span.class="tok-null">false</
dab20 73 70 61 6e 3e 29 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 span>);</span>.<span.class="line
dab40 22 3e 7d 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 3c 2f 70 72 65 3e 3c 2f 66 69 67 75 72 65 3e ">}</span></code></pre></figure>
dab60 3c 66 69 67 75 72 65 3e 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
dab80 2d 63 61 70 22 3e 53 68 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
daba0 6d 70 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 24 20 3c 6b 62 64 3e 7a 69 67 mp><span.class="line">$.<kbd>zig
dabc0 20 62 75 69 6c 64 2d 65 78 65 20 74 65 73 74 2e 7a 69 67 3c 2f 6b 62 64 3e 3c 2f 73 70 61 6e 3e .build-exe.test.zig</kbd></span>
dabe0 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 .<span.class="line"></span>.<spa
dac00 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 24 20 3c 6b 62 64 3e 2e 2f 74 65 73 74 3c 2f 6b 62 n.class="line">$.<kbd>./test</kb
dac20 64 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 74 68 72 d></span>.<span.class="line">thr
dac40 65 61 64 20 33 35 38 34 36 32 35 20 70 61 6e 69 63 3a 20 72 65 61 63 68 65 64 20 75 6e 72 65 61 ead.3584625.panic:.reached.unrea
dac60 63 68 61 62 6c 65 20 63 6f 64 65 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 chable.code</span>.<span.class="
dac80 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 31 5f 30 22 3e 2f 68 6f 6d 65 2f 63 line"><span.class="t1_0">/home/c
daca0 69 2f 72 65 6c 65 61 73 65 2d 30 2e 31 30 2e 31 2f 6f 75 74 2f 7a 69 67 2d 78 38 36 5f 36 34 2d i/release-0.10.1/out/zig-x86_64-
dacc0 6c 69 6e 75 78 2d 6d 75 73 6c 2d 62 61 73 65 6c 69 6e 65 2f 6c 69 62 2f 7a 69 67 2f 73 74 64 2f linux-musl-baseline/lib/zig/std/
dace0 64 65 62 75 67 2e 7a 69 67 3a 32 37 38 3a 31 34 3c 2f 73 70 61 6e 3e 3a 20 3c 73 70 61 6e 20 63 debug.zig:278:14</span>:.<span.c
dad00 6c 61 73 73 3d 22 74 32 5f 30 22 3e 30 78 32 31 31 61 30 63 20 69 6e 20 61 73 73 65 72 74 20 28 lass="t2_0">0x211a0c.in.assert.(
dad20 74 65 73 74 29 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d test)</span></span>.<span.class=
dad40 22 6c 69 6e 65 22 3e 20 20 20 20 69 66 20 28 21 6f 6b 29 20 75 6e 72 65 61 63 68 61 62 6c 65 3b "line">....if.(!ok).unreachable;
dad60 20 2f 2f 20 61 73 73 65 72 74 69 6f 6e 20 66 61 69 6c 75 72 65 3c 2f 73 70 61 6e 3e 0a 3c 73 70 .//.assertion.failure</span>.<sp
dad80 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 20 20 20 20 20 20 20 20 20 3c 73 70 an.class="line">.............<sp
dada0 61 6e 20 63 6c 61 73 73 3d 22 74 33 32 5f 31 22 3e 5e 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e an.class="t32_1">^</span></span>
dadc0 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d .<span.class="line"><span.class=
dade0 22 74 31 5f 30 22 3e 64 6f 63 67 65 6e 5f 74 6d 70 2f 74 65 73 74 2e 7a 69 67 3a 34 3a 32 31 3c "t1_0">docgen_tmp/test.zig:4:21<
dae00 2f 73 70 61 6e 3e 3a 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 32 5f 30 22 3e 30 78 32 31 30 /span>:.<span.class="t2_0">0x210
dae20 31 35 61 20 69 6e 20 6d 61 69 6e 20 28 74 65 73 74 29 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 15a.in.main.(test)</span></span>
dae40 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 73 74 64 2e 64 65 62 75 .<span.class="line">....std.debu
dae60 67 2e 61 73 73 65 72 74 28 66 61 6c 73 65 29 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c g.assert(false);</span>.<span.cl
dae80 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 3c ass="line">....................<
daea0 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 33 32 5f 31 22 3e 5e 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 span.class="t32_1">^</span></spa
daec0 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 n>.<span.class="line"><span.clas
daee0 73 3d 22 74 31 5f 30 22 3e 2f 68 6f 6d 65 2f 63 69 2f 72 65 6c 65 61 73 65 2d 30 2e 31 30 2e 31 s="t1_0">/home/ci/release-0.10.1
daf00 2f 6f 75 74 2f 7a 69 67 2d 78 38 36 5f 36 34 2d 6c 69 6e 75 78 2d 6d 75 73 6c 2d 62 61 73 65 6c /out/zig-x86_64-linux-musl-basel
daf20 69 6e 65 2f 6c 69 62 2f 7a 69 67 2f 73 74 64 2f 73 74 61 72 74 2e 7a 69 67 3a 36 30 34 3a 32 32 ine/lib/zig/std/start.zig:604:22
daf40 3c 2f 73 70 61 6e 3e 3a 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 32 5f 30 22 3e 30 78 32 30 </span>:.<span.class="t2_0">0x20
daf60 66 36 65 63 20 69 6e 20 70 6f 73 69 78 43 61 6c 6c 4d 61 69 6e 41 6e 64 45 78 69 74 20 28 74 65 f6ec.in.posixCallMainAndExit.(te
daf80 73 74 29 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c st)</span></span>.<span.class="l
dafa0 69 6e 65 22 3e 20 20 20 20 20 20 20 20 20 20 20 20 72 6f 6f 74 2e 6d 61 69 6e 28 29 3b 3c 2f 73 ine">............root.main();</s
dafc0 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 20 20 20 20 pan>.<span.class="line">........
dafe0 20 20 20 20 20 20 20 20 20 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 33 32 5f 31 22 .............<span.class="t32_1"
db000 3e 5e 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 >^</span></span>.<span.class="li
db020 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 31 5f 30 22 3e 2f 68 6f 6d 65 2f 63 69 2f ne"><span.class="t1_0">/home/ci/
db040 72 65 6c 65 61 73 65 2d 30 2e 31 30 2e 31 2f 6f 75 74 2f 7a 69 67 2d 78 38 36 5f 36 34 2d 6c 69 release-0.10.1/out/zig-x86_64-li
db060 6e 75 78 2d 6d 75 73 6c 2d 62 61 73 65 6c 69 6e 65 2f 6c 69 62 2f 7a 69 67 2f 73 74 64 2f 73 74 nux-musl-baseline/lib/zig/std/st
db080 61 72 74 2e 7a 69 67 3a 33 37 36 3a 35 3c 2f 73 70 61 6e 3e 3a 20 3c 73 70 61 6e 20 63 6c 61 73 art.zig:376:5</span>:.<span.clas
db0a0 73 3d 22 74 32 5f 30 22 3e 30 78 32 30 66 31 66 31 20 69 6e 20 5f 73 74 61 72 74 20 28 74 65 73 s="t2_0">0x20f1f1.in._start.(tes
db0c0 74 29 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 t)</span></span>.<span.class="li
db0e0 6e 65 22 3e 20 20 20 20 40 63 61 6c 6c 28 2e 7b 20 2e 6d 6f 64 69 66 69 65 72 20 3d 20 2e 6e 65 ne">....@call(.{..modifier.=..ne
db100 76 65 72 5f 69 6e 6c 69 6e 65 20 7d 2c 20 70 6f 73 69 78 43 61 6c 6c 4d 61 69 6e 41 6e 64 45 78 ver_inline.},.posixCallMainAndEx
db120 69 74 2c 20 2e 7b 7d 29 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 it,..{});</span>.<span.class="li
db140 6e 65 22 3e 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 33 32 5f 31 22 3e 5e 3c 2f 73 ne">....<span.class="t32_1">^</s
db160 70 61 6e 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 28 pan></span>.<span.class="line">(
db180 70 72 6f 63 65 73 73 20 74 65 72 6d 69 6e 61 74 65 64 20 62 79 20 73 69 67 6e 61 6c 29 3c 2f 73 process.terminated.by.signal)</s
db1a0 70 61 6e 3e 0a 3c 2f 73 61 6d 70 3e 3c 2f 70 72 65 3e 3c 2f 66 69 67 75 72 65 3e 0a 20 20 20 20 pan>.</samp></pre></figure>.....
db1c0 20 20 0a 20 20 20 20 20 20 3c 68 33 20 69 64 3d 22 49 6e 64 65 78 2d 6f 75 74 2d 6f 66 2d 42 6f .........<h3.id="Index-out-of-Bo
db1e0 75 6e 64 73 22 3e 3c 61 20 68 72 65 66 3d 22 23 74 6f 63 2d 49 6e 64 65 78 2d 6f 75 74 2d 6f 66 unds"><a.href="#toc-Index-out-of
db200 2d 42 6f 75 6e 64 73 22 3e 49 6e 64 65 78 20 6f 75 74 20 6f 66 20 42 6f 75 6e 64 73 3c 2f 61 3e -Bounds">Index.out.of.Bounds</a>
db220 20 3c 61 20 63 6c 61 73 73 3d 22 68 64 72 22 20 68 72 65 66 3d 22 23 49 6e 64 65 78 2d 6f 75 74 .<a.class="hdr".href="#Index-out
db240 2d 6f 66 2d 42 6f 75 6e 64 73 22 3e c2 a7 3c 2f 61 3e 3c 2f 68 33 3e 0a 0a 20 20 20 20 20 20 3c -of-Bounds">..</a></h3>........<
db260 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
db280 67 75 72 65 3e 3c 66 69 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"
db2a0 3e 3c 63 69 74 65 20 63 6c 61 73 73 3d 22 66 69 6c 65 22 3e 74 65 73 74 2e 7a 69 67 3c 2f 63 69 ><cite.class="file">test.zig</ci
db2c0 74 65 3e 3c 2f 66 69 67 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
db2e0 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b .class="line"><span.class="tok-k
db300 77 22 3e 63 6f 6d 70 74 69 6d 65 3c 2f 73 70 61 6e 3e 20 7b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 w">comptime</span>.{</span>.<spa
db320 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 n.class="line">....<span.class="
db340 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 5b 3c 73 70 tok-kw">const</span>.array:.[<sp
db360 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 35 3c 2f 73 70 61 6e 3e 5d 3c an.class="tok-number">5</span>]<
db380 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>.
db3a0 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
db3c0 6c 6c 6f 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 2e 2a 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e llo&quot;</span>.*;</span>.<span
db3e0 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 .class="line">....<span.class="t
db400 6f 6b 2d 6b 77 22 3e 63 6f 6e 73 74 3c 2f 73 70 61 6e 3e 20 67 61 72 62 61 67 65 20 3d 20 61 72 ok-kw">const</span>.garbage.=.ar
db420 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 35 3c 2f ray[<span.class="tok-number">5</
db440 73 70 61 6e 3e 5d 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 span>];</span>.<span.class="line
db460 22 3e 20 20 20 20 5f 20 3d 20 67 61 72 62 61 67 65 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 ">...._.=.garbage;</span>.<span.
db480 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 7d 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 3c 2f 70 72 class="line">}</span></code></pr
db4a0 65 3e 3c 2f 66 69 67 75 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
db4c0 6c 61 73 73 3d 22 73 68 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
db4e0 6f 6e 3e 3c 70 72 65 3e 3c 73 61 6d 70 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 on><pre><samp><span.class="line"
db500 3e 24 20 3c 6b 62 64 3e 7a 69 67 20 74 65 73 74 20 74 65 73 74 2e 7a 69 67 3c 2f 6b 62 64 3e 3c >$.<kbd>zig.test.test.zig</kbd><
db520 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 /span>.<span.class="line"><span.
db540 63 6c 61 73 73 3d 22 74 31 5f 30 22 3e 64 6f 63 67 65 6e 5f 74 6d 70 2f 74 65 73 74 2e 7a 69 67 class="t1_0">docgen_tmp/test.zig
db560 3a 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 74 33 31 5f 31 :3:27:.</span><span.class="t31_1
db580 22 3e 65 72 72 6f 72 3a 20 3c 2f 73 70 61 6e 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 31 5f ">error:.</span><span.class="t1_
db5a0 30 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 65 6e 67 0">index.5.outside.array.of.leng
db5c0 74 68 20 35 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c th.5</span>.<span.class="line"><
db5e0 2f 73 70 61 6e 3e 20 20 20 20 63 6f 6e 73 74 20 67 61 72 62 61 67 65 20 3d 20 61 72 72 61 79 5b /span>....const.garbage.=.array[
db600 35 5d 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 5];</span>.<span.class="line">..
db620 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 3c 73 70 61 6e 20 63 6c ........................<span.cl
db640 61 73 73 3d 22 74 33 32 5f 31 22 3e 5e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 ass="t32_1">^</span>.<span.class
db660 3d 22 6c 69 6e 65 22 3e 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 0a 3c 2f 73 61 6d 70 3e 3c 2f ="line"></span></span>.</samp></
db680 70 72 65 3e 3c 2f 66 69 67 75 72 65 3e 0a 20 20 20 20 20 20 3c 70 3e 41 74 20 72 75 6e 74 69 6d pre></figure>.......<p>At.runtim
db6a0 65 3a 3c 2f 70 3e 0a 20 20 20 20 20 20 3c 66 69 67 75 72 65 3e 3c 66 69 67 63 61 70 74 69 6f 6e e:</p>.......<figure><figcaption
db6c0 20 63 6c 61 73 73 3d 22 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
db6e0 6c 65 22 3e 74 65 73 74 2e 7a 69 67 3c 2f 63 69 74 65 3e 3c 2f 66 69 67 63 61 70 74 69 6f 6e 3e le">test.zig</cite></figcaption>
db700 3c 70 72 65 3e 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 <pre><code><span.class="line"><s
db720 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
db740 70 61 6e 20 63 6c 61 73 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
db760 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>().
db780 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
db7a0 6e 3e 20 7b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 n>.{</span>.<span.class="line">.
db7c0 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
db7e0 6e 3e 20 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 n>.x.=.foo(<span.class="tok-str"
db800 3e 26 71 75 6f 74 3b 68 65 6c 6c 6f 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 29 3b 3c 2f 73 70 61 >&quot;hello&quot;</span>);</spa
db820 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 5f 20 3d 20 78 3b n>.<span.class="line">...._.=.x;
db840 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 7d 3c 2f 73 70 </span>.<span.class="line">}</sp
db860 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 2f 73 70 61 6e 3e 0a 3c an>.<span.class="line"></span>.<
db880 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 span.class="line"><span.class="t
db8a0 6f 6b 2d 6b 77 22 3e 66 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
db8c0 6b 2d 66 6e 22 3e 66 6f 6f 3c 2f 73 70 61 6e 3e 28 78 3a 20 5b 5d 3c 73 70 61 6e 20 63 6c 61 73 k-fn">foo</span>(x:.[]<span.clas
db8e0 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
db900 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.
db920 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 75 38 3c 2f 73 70 61 6e 3e 20 7b 3c 2f 73 70 class="tok-type">u8</span>.{</sp
db940 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 3c 73 70 61 6e an>.<span.class="line">....<span
db960 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 78 5b .class="tok-kw">return</span>.x[
db980 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 35 3c 2f 73 70 61 6e <span.class="tok-number">5</span
db9a0 3e 5d 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 7d 3c >];</span>.<span.class="line">}<
db9c0 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 3c 2f 70 72 65 3e 3c 2f 66 69 67 75 72 65 3e 3c 66 69 67 /span></code></pre></figure><fig
db9e0 75 72 65 3e 3c 66 69 67 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
dba00 22 3e 53 68 65 6c 6c 3c 2f 66 69 67 63 61 70 74 69 6f 6e 3e 3c 70 72 65 3e 3c 73 61 6d 70 3e 3c ">Shell</figcaption><pre><samp><
dba20 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 24 20 3c 6b 62 64 3e 7a 69 67 20 62 75 69 span.class="line">$.<kbd>zig.bui
dba40 6c 64 2d 65 78 65 20 74 65 73 74 2e 7a 69 67 3c 2f 6b 62 64 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 ld-exe.test.zig</kbd></span>.<sp
dba60 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c an.class="line"></span>.<span.cl
dba80 61 73 73 3d 22 6c 69 6e 65 22 3e 24 20 3c 6b 62 64 3e 2e 2f 74 65 73 74 3c 2f 6b 62 64 3e 3c 2f ass="line">$.<kbd>./test</kbd></
dbaa0 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 74 68 72 65 61 64 20 span>.<span.class="line">thread.
dbac0 33 35 38 34 37 33 35 20 70 61 6e 69 63 3a 20 69 6e 64 65 78 20 6f 75 74 20 6f 66 20 62 6f 75 6e 3584735.panic:.index.out.of.boun
dbae0 64 73 3a 20 69 6e 64 65 78 20 35 2c 20 6c 65 6e 20 35 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 ds:.index.5,.len.5</span>.<span.
dbb00 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 31 5f 30 22 3e class="line"><span.class="t1_0">
dbb20 64 6f 63 67 65 6e 5f 74 6d 70 2f 74 65 73 74 2e 7a 69 67 3a 37 3a 31 33 3c 2f 73 70 61 6e 3e 3a docgen_tmp/test.zig:7:13</span>:
dbb40 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 32 5f 30 22 3e 30 78 32 31 31 63 65 61 20 69 6e 20 .<span.class="t2_0">0x211cea.in.
dbb60 66 6f 6f 20 28 74 65 73 74 29 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 foo.(test)</span></span>.<span.c
dbb80 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 72 65 74 75 72 6e 20 78 5b 35 5d 3b 3c 2f 73 70 lass="line">....return.x[5];</sp
dbba0 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 20 20 20 20 20 an>.<span.class="line">.........
dbbc0 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 33 32 5f 31 22 3e 5e 3c 2f 73 70 61 6e 3e 3c ...<span.class="t32_1">^</span><
dbbe0 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 /span>.<span.class="line"><span.
dbc00 63 6c 61 73 73 3d 22 74 31 5f 30 22 3e 64 6f 63 67 65 6e 5f 74 6d 70 2f 74 65 73 74 2e 7a 69 67 class="t1_0">docgen_tmp/test.zig
dbc20 3a 32 3a 31 36 3c 2f 73 70 61 6e 3e 3a 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 32 5f 30 22 :2:16</span>:.<span.class="t2_0"
dbc40 3e 30 78 32 31 30 31 36 62 20 69 6e 20 6d 61 69 6e 20 28 74 65 73 74 29 3c 2f 73 70 61 6e 3e 3c >0x21016b.in.main.(test)</span><
dbc60 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 76 61 /span>.<span.class="line">....va
dbc80 72 20 78 20 3d 20 66 6f 6f 28 26 71 75 6f 74 3b 68 65 6c 6c 6f 26 71 75 6f 74 3b 29 3b 3c 2f 73 r.x.=.foo(&quot;hello&quot;);</s
dbca0 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 20 20 20 20 pan>.<span.class="line">........
dbcc0 20 20 20 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 33 32 5f 31 22 3e 5e 3c 2f 73 70 .......<span.class="t32_1">^</sp
dbce0 61 6e 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 an></span>.<span.class="line"><s
dbd00 70 61 6e 20 63 6c 61 73 73 3d 22 74 31 5f 30 22 3e 2f 68 6f 6d 65 2f 63 69 2f 72 65 6c 65 61 73 pan.class="t1_0">/home/ci/releas
dbd20 65 2d 30 2e 31 30 2e 31 2f 6f 75 74 2f 7a 69 67 2d 78 38 36 5f 36 34 2d 6c 69 6e 75 78 2d 6d 75 e-0.10.1/out/zig-x86_64-linux-mu
dbd40 73 6c 2d 62 61 73 65 6c 69 6e 65 2f 6c 69 62 2f 7a 69 67 2f 73 74 64 2f 73 74 61 72 74 2e 7a 69 sl-baseline/lib/zig/std/start.zi
dbd60 67 3a 36 30 34 3a 32 32 3c 2f 73 70 61 6e 3e 3a 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 32 g:604:22</span>:.<span.class="t2
dbd80 5f 30 22 3e 30 78 32 30 66 36 65 63 20 69 6e 20 70 6f 73 69 78 43 61 6c 6c 4d 61 69 6e 41 6e 64 _0">0x20f6ec.in.posixCallMainAnd
dbda0 45 78 69 74 20 28 74 65 73 74 29 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 Exit.(test)</span></span>.<span.
dbdc0 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 20 20 20 20 20 20 20 20 72 6f 6f 74 2e 6d 61 class="line">............root.ma
dbde0 69 6e 28 29 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e in();</span>.<span.class="line">
dbe00 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
dbe20 3d 22 74 33 32 5f 31 22 3e 5e 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 ="t32_1">^</span></span>.<span.c
dbe40 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 31 5f 30 22 3e 2f lass="line"><span.class="t1_0">/
dbe60 68 6f 6d 65 2f 63 69 2f 72 65 6c 65 61 73 65 2d 30 2e 31 30 2e 31 2f 6f 75 74 2f 7a 69 67 2d 78 home/ci/release-0.10.1/out/zig-x
dbe80 38 36 5f 36 34 2d 6c 69 6e 75 78 2d 6d 75 73 6c 2d 62 61 73 65 6c 69 6e 65 2f 6c 69 62 2f 7a 69 86_64-linux-musl-baseline/lib/zi
dbea0 67 2f 73 74 64 2f 73 74 61 72 74 2e 7a 69 67 3a 33 37 36 3a 35 3c 2f 73 70 61 6e 3e 3a 20 3c 73 g/std/start.zig:376:5</span>:.<s
dbec0 70 61 6e 20 63 6c 61 73 73 3d 22 74 32 5f 30 22 3e 30 78 32 30 66 31 66 31 20 69 6e 20 5f 73 74 pan.class="t2_0">0x20f1f1.in._st
dbee0 61 72 74 20 28 74 65 73 74 29 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 art.(test)</span></span>.<span.c
dbf00 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 40 63 61 6c 6c 28 2e 7b 20 2e 6d 6f 64 69 66 69 lass="line">....@call(.{..modifi
dbf20 65 72 20 3d 20 2e 6e 65 76 65 72 5f 69 6e 6c 69 6e 65 20 7d 2c 20 70 6f 73 69 78 43 61 6c 6c 4d er.=..never_inline.},.posixCallM
dbf40 61 69 6e 41 6e 64 45 78 69 74 2c 20 2e 7b 7d 29 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 ainAndExit,..{});</span>.<span.c
dbf60 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 33 32 lass="line">....<span.class="t32
dbf80 5f 31 22 3e 5e 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d _1">^</span></span>.<span.class=
dbfa0 22 6c 69 6e 65 22 3e 28 70 72 6f 63 65 73 73 20 74 65 72 6d 69 6e 61 74 65 64 20 62 79 20 73 69 "line">(process.terminated.by.si
dbfc0 67 6e 61 6c 29 3c 2f 73 70 61 6e 3e 0a 3c 2f 73 61 6d 70 3e 3c 2f 70 72 65 3e 3c 2f 66 69 67 75 gnal)</span>.</samp></pre></figu
dbfe0 72 65 3e 0a 20 20 20 20 20 20 0a 20 20 20 20 20 20 3c 68 33 20 69 64 3d 22 43 61 73 74 2d 4e 65 re>..............<h3.id="Cast-Ne
dc000 67 61 74 69 76 65 2d 4e 75 6d 62 65 72 2d 74 6f 2d 55 6e 73 69 67 6e 65 64 2d 49 6e 74 65 67 65 gative-Number-to-Unsigned-Intege
dc020 72 22 3e 3c 61 20 68 72 65 66 3d 22 23 74 6f 63 2d 43 61 73 74 2d 4e 65 67 61 74 69 76 65 2d 4e r"><a.href="#toc-Cast-Negative-N
dc040 75 6d 62 65 72 2d 74 6f 2d 55 6e 73 69 67 6e 65 64 2d 49 6e 74 65 67 65 72 22 3e 43 61 73 74 20 umber-to-Unsigned-Integer">Cast.
dc060 4e 65 67 61 74 69 76 65 20 4e 75 6d 62 65 72 20 74 6f 20 55 6e 73 69 67 6e 65 64 20 49 6e 74 65 Negative.Number.to.Unsigned.Inte
dc080 67 65 72 3c 2f 61 3e 20 3c 61 20 63 6c 61 73 73 3d 22 68 64 72 22 20 68 72 65 66 3d 22 23 43 61 ger</a>.<a.class="hdr".href="#Ca
dc0a0 73 74 2d 4e 65 67 61 74 69 76 65 2d 4e 75 6d 62 65 72 2d 74 6f 2d 55 6e 73 69 67 6e 65 64 2d 49 st-Negative-Number-to-Unsigned-I
dc0c0 6e 74 65 67 65 72 22 3e c2 a7 3c 2f 61 3e 3c 2f 68 33 3e 0a 0a 20 20 20 20 20 20 3c 70 3e 41 74 nteger">..</a></h3>........<p>At
dc0e0 20 63 6f 6d 70 69 6c 65 2d 74 69 6d 65 3a 3c 2f 70 3e 0a 20 20 20 20 20 20 3c 66 69 67 75 72 65 .compile-time:</p>.......<figure
dc100 3e 3c 66 69 67 63 61 70 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
dc120 74 65 20 63 6c 61 73 73 3d 22 66 69 6c 65 22 3e 74 65 73 74 2e 7a 69 67 3c 2f 63 69 74 65 3e 3c te.class="file">test.zig</cite><
dc140 2f 66 69 67 63 61 70 74 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
dc160 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 63 ss="line"><span.class="tok-kw">c
dc180 6f 6d 70 74 69 6d 65 3c 2f 73 70 61 6e 3e 20 7b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c omptime</span>.{</span>.<span.cl
dc1a0 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d ass="line">....<span.class="tok-
dc1c0 6b 77 22 3e 76 61 72 3c 2f 73 70 61 6e 3e 20 76 61 6c 75 65 3a 20 3c 73 70 61 6e 20 63 6c 61 73 kw">var</span>.value:.<span.clas
dc1e0 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 69 33 32 3c 2f 73 70 61 6e 3e 20 3d 20 2d 3c 73 70 61 6e s="tok-type">i32</span>.=.-<span
dc200 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 31 3c 2f 73 70 61 6e 3e 3b 3c 2f 73 .class="tok-number">1</span>;</s
dc220 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 3c 73 70 61 pan>.<span.class="line">....<spa
dc240 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 63 6f 6e 73 74 3c 2f 73 70 61 6e 3e 20 75 6e n.class="tok-kw">const</span>.un
dc260 73 69 67 6e 65 64 20 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 62 75 69 6c 74 69 signed.=.<span.class="tok-builti
dc280 6e 22 3e 40 69 6e 74 43 61 73 74 3c 2f 73 70 61 6e 3e 28 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 n">@intCast</span>(<span.class="
dc2a0 74 6f 6b 2d 74 79 70 65 22 3e 75 33 32 3c 2f 73 70 61 6e 3e 2c 20 76 61 6c 75 65 29 3b 3c 2f 73 tok-type">u32</span>,.value);</s
dc2c0 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 5f 20 3d 20 pan>.<span.class="line">...._.=.
dc2e0 75 6e 73 69 67 6e 65 64 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 unsigned;</span>.<span.class="li
dc300 6e 65 22 3e 7d 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 3c 2f 70 72 65 3e 3c 2f 66 69 67 75 72 ne">}</span></code></pre></figur
dc320 65 3e 3c 66 69 67 75 72 65 3e 3c 66 69 67 63 61 70 74 69 6f 6e 20 63 6c 61 73 73 3d 22 73 68 65 e><figure><figcaption.class="she
dc340 6c 6c 2d 63 61 70 22 3e 53 68 65 6c 6c 3c 2f 66 69 67 63 61 70 74 69 6f 6e 3e 3c 70 72 65 3e 3c ll-cap">Shell</figcaption><pre><
dc360 73 61 6d 70 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 24 20 3c 6b 62 64 3e 7a samp><span.class="line">$.<kbd>z
dc380 69 67 20 74 65 73 74 20 74 65 73 74 2e 7a 69 67 3c 2f 6b 62 64 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 ig.test.test.zig</kbd></span>.<s
dc3a0 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 31 pan.class="line"><span.class="t1
dc3c0 5f 30 22 3e 64 6f 63 67 65 6e 5f 74 6d 70 2f 74 65 73 74 2e 7a 69 67 3a 33 3a 33 36 3a 20 3c 2f _0">docgen_tmp/test.zig:3:36:.</
dc3e0 73 70 61 6e 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 33 31 5f 31 22 3e 65 72 72 6f 72 3a 20 span><span.class="t31_1">error:.
dc400 3c 2f 73 70 61 6e 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 31 5f 30 22 3e 74 79 70 65 20 27 </span><span.class="t1_0">type.'
dc420 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
dc440 6c 75 65 20 27 2d 31 27 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e lue.'-1'</span>.<span.class="lin
dc460 65 22 3e 3c 2f 73 70 61 6e 3e 20 20 20 20 63 6f 6e 73 74 20 75 6e 73 69 67 6e 65 64 20 3d 20 40 e"></span>....const.unsigned.=.@
dc480 69 6e 74 43 61 73 74 28 75 33 32 2c 20 76 61 6c 75 65 29 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 intCast(u32,.value);</span>.<spa
dc4a0 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 n.class="line">.................
dc4c0 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
dc4e0 33 32 5f 31 22 3e 5e 7e 7e 7e 7e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 32_1">^~~~~</span>.<span.class="
dc500 6c 69 6e 65 22 3e 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 0a 3c 2f 73 61 6d 70 3e 3c 2f 70 72 line"></span></span>.</samp></pr
dc520 65 3e 3c 2f 66 69 67 75 72 65 3e 0a 20 20 20 20 20 20 3c 70 3e 41 74 20 72 75 6e 74 69 6d 65 3a e></figure>.......<p>At.runtime:
dc540 3c 2f 70 3e 0a 20 20 20 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
dc560 6c 61 73 73 3d 22 7a 69 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
dc580 22 3e 74 65 73 74 2e 7a 69 67 3c 2f 63 69 74 65 3e 3c 2f 66 69 67 63 61 70 74 69 6f 6e 3e 3c 70 ">test.zig</cite></figcaption><p
dc5a0 72 65 3e 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 re><code><span.class="line"><spa
dc5c0 6e 20 63 6c 61 73 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
dc5e0 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
dc600 6d 70 6f 72 74 3c 2f 73 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
dc620 72 22 3e 26 71 75 6f 74 3b 73 74 64 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 29 3b 3c 2f 73 70 61 r">&quot;std&quot;</span>);</spa
dc640 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 n>.<span.class="line"></span>.<s
dc660 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f pan.class="line"><span.class="to
dc680 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
dc6a0 6b 2d 6b 77 22 3e 66 6e 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
dc6c0 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="
dc6e0 74 6f 6b 2d 74 79 70 65 22 3e 76 6f 69 64 3c 2f 73 70 61 6e 3e 20 7b 3c 2f 73 70 61 6e 3e 0a 3c tok-type">void</span>.{</span>.<
dc700 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 span.class="line">....<span.clas
dc720 73 3d 22 74 6f 6b 2d 6b 77 22 3e 76 61 72 3c 2f 73 70 61 6e 3e 20 76 61 6c 75 65 3a 20 3c 73 70 s="tok-kw">var</span>.value:.<sp
dc740 61 6e 20 63 6c 61 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>.=
dc760 20 2d 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 31 3c 2f 73 70 .-<span.class="tok-number">1</sp
dc780 61 6e 3e 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 an>;</span>.<span.class="line">.
dc7a0 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
dc7c0 6e 3e 20 75 6e 73 69 67 6e 65 64 20 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 62 n>.unsigned.=.<span.class="tok-b
dc7e0 75 69 6c 74 69 6e 22 3e 40 69 6e 74 43 61 73 74 3c 2f 73 70 61 6e 3e 28 3c 73 70 61 6e 20 63 6c uiltin">@intCast</span>(<span.cl
dc800 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 75 33 32 3c 2f 73 70 61 6e 3e 2c 20 76 61 6c 75 65 ass="tok-type">u32</span>,.value
dc820 29 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 );</span>.<span.class="line">...
dc840 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
dc860 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;</
dc880 73 70 61 6e 3e 2c 20 2e 7b 75 6e 73 69 67 6e 65 64 7d 29 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 span>,..{unsigned});</span>.<spa
dc8a0 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 7d 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 3c 2f n.class="line">}</span></code></
dc8c0 70 72 65 3e 3c 2f 66 69 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
dc8e0 20 63 6c 61 73 73 3d 22 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
dc900 74 69 6f 6e 3e 3c 70 72 65 3e 3c 73 61 6d 70 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e tion><pre><samp><span.class="lin
dc920 65 22 3e 24 20 3c 6b 62 64 3e 7a 69 67 20 62 75 69 6c 64 2d 65 78 65 20 74 65 73 74 2e 7a 69 67 e">$.<kbd>zig.build-exe.test.zig
dc940 3c 2f 6b 62 64 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 </kbd></span>.<span.class="line"
dc960 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 24 20 3c 6b ></span>.<span.class="line">$.<k
dc980 62 64 3e 2e 2f 74 65 73 74 3c 2f 6b 62 64 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 bd>./test</kbd></span>.<span.cla
dc9a0 73 73 3d 22 6c 69 6e 65 22 3e 74 68 72 65 61 64 20 33 35 38 34 38 35 39 20 70 61 6e 69 63 3a 20 ss="line">thread.3584859.panic:.
dc9c0 61 74 74 65 6d 70 74 20 74 6f 20 63 61 73 74 20 6e 65 67 61 74 69 76 65 20 76 61 6c 75 65 20 74 attempt.to.cast.negative.value.t
dc9e0 6f 20 75 6e 73 69 67 6e 65 64 20 69 6e 74 65 67 65 72 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 o.unsigned.integer</span>.<span.
dca00 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 31 5f 30 22 3e class="line"><span.class="t1_0">
dca20 64 6f 63 67 65 6e 5f 74 6d 70 2f 74 65 73 74 2e 7a 69 67 3a 35 3a 32 30 3c 2f 73 70 61 6e 3e 3a docgen_tmp/test.zig:5:20</span>:
dca40 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 32 5f 30 22 3e 30 78 32 31 30 33 36 64 20 69 6e 20 .<span.class="t2_0">0x21036d.in.
dca60 6d 61 69 6e 20 28 74 65 73 74 29 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 main.(test)</span></span>.<span.
dca80 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 76 61 72 20 75 6e 73 69 67 6e 65 64 20 3d 20 class="line">....var.unsigned.=.
dcaa0 40 69 6e 74 43 61 73 74 28 75 33 32 2c 20 76 61 6c 75 65 29 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 @intCast(u32,.value);</span>.<sp
dcac0 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 an.class="line">................
dcae0 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 33 32 5f 31 22 3e 5e 3c 2f 73 70 61 6e 3e 3c ...<span.class="t32_1">^</span><
dcb00 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 /span>.<span.class="line"><span.
dcb20 63 6c 61 73 73 3d 22 74 31 5f 30 22 3e 2f 68 6f 6d 65 2f 63 69 2f 72 65 6c 65 61 73 65 2d 30 2e class="t1_0">/home/ci/release-0.
dcb40 31 30 2e 31 2f 6f 75 74 2f 7a 69 67 2d 78 38 36 5f 36 34 2d 6c 69 6e 75 78 2d 6d 75 73 6c 2d 62 10.1/out/zig-x86_64-linux-musl-b
dcb60 61 73 65 6c 69 6e 65 2f 6c 69 62 2f 7a 69 67 2f 73 74 64 2f 73 74 61 72 74 2e 7a 69 67 3a 36 30 aseline/lib/zig/std/start.zig:60
dcb80 34 3a 32 32 3c 2f 73 70 61 6e 3e 3a 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 32 5f 30 22 3e 4:22</span>:.<span.class="t2_0">
dcba0 30 78 32 30 66 38 63 63 20 69 6e 20 70 6f 73 69 78 43 61 6c 6c 4d 61 69 6e 41 6e 64 45 78 69 74 0x20f8cc.in.posixCallMainAndExit
dcbc0 20 28 74 65 73 74 29 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 .(test)</span></span>.<span.clas
dcbe0 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 20 20 20 20 20 20 20 20 72 6f 6f 74 2e 6d 61 69 6e 28 29 s="line">............root.main()
dcc00 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 ;</span>.<span.class="line">....
dcc20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 33 .................<span.class="t3
dcc40 32 5f 31 22 3e 5e 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 2_1">^</span></span>.<span.class
dcc60 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 31 5f 30 22 3e 2f 68 6f 6d 65 ="line"><span.class="t1_0">/home
dcc80 2f 63 69 2f 72 65 6c 65 61 73 65 2d 30 2e 31 30 2e 31 2f 6f 75 74 2f 7a 69 67 2d 78 38 36 5f 36 /ci/release-0.10.1/out/zig-x86_6
dcca0 34 2d 6c 69 6e 75 78 2d 6d 75 73 6c 2d 62 61 73 65 6c 69 6e 65 2f 6c 69 62 2f 7a 69 67 2f 73 74 4-linux-musl-baseline/lib/zig/st
dccc0 64 2f 73 74 61 72 74 2e 7a 69 67 3a 33 37 36 3a 35 3c 2f 73 70 61 6e 3e 3a 20 3c 73 70 61 6e 20 d/start.zig:376:5</span>:.<span.
dcce0 63 6c 61 73 73 3d 22 74 32 5f 30 22 3e 30 78 32 30 66 33 64 31 20 69 6e 20 5f 73 74 61 72 74 20 class="t2_0">0x20f3d1.in._start.
dcd00 28 74 65 73 74 29 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 (test)</span></span>.<span.class
dcd20 3d 22 6c 69 6e 65 22 3e 20 20 20 20 40 63 61 6c 6c 28 2e 7b 20 2e 6d 6f 64 69 66 69 65 72 20 3d ="line">....@call(.{..modifier.=
dcd40 20 2e 6e 65 76 65 72 5f 69 6e 6c 69 6e 65 20 7d 2c 20 70 6f 73 69 78 43 61 6c 6c 4d 61 69 6e 41 ..never_inline.},.posixCallMainA
dcd60 6e 64 45 78 69 74 2c 20 2e 7b 7d 29 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 ndExit,..{});</span>.<span.class
dcd80 3d 22 6c 69 6e 65 22 3e 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 33 32 5f 31 22 3e ="line">....<span.class="t32_1">
dcda0 5e 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e ^</span></span>.<span.class="lin
dcdc0 65 22 3e 28 70 72 6f 63 65 73 73 20 74 65 72 6d 69 6e 61 74 65 64 20 62 79 20 73 69 67 6e 61 6c e">(process.terminated.by.signal
dcde0 29 3c 2f 73 70 61 6e 3e 0a 3c 2f 73 61 6d 70 3e 3c 2f 70 72 65 3e 3c 2f 66 69 67 75 72 65 3e 0a )</span>.</samp></pre></figure>.
dce00 20 20 20 20 20 20 3c 70 3e 0a 20 20 20 20 20 20 54 6f 20 6f 62 74 61 69 6e 20 74 68 65 20 6d 61 ......<p>.......To.obtain.the.ma
dce20 78 69 6d 75 6d 20 76 61 6c 75 65 20 6f 66 20 61 6e 20 75 6e 73 69 67 6e 65 64 20 69 6e 74 65 67 ximum.value.of.an.unsigned.integ
dce40 65 72 2c 20 75 73 65 20 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 er,.use.<code><span.class="line"
dce60 3e 73 74 64 2e 6d 61 74 68 2e 6d 61 78 49 6e 74 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 2e 0a >std.math.maxInt</span></code>..
dce80 20 20 20 20 20 20 3c 2f 70 3e 0a 20 20 20 20 20 20 0a 20 20 20 20 20 20 3c 68 33 20 69 64 3d 22 ......</p>..............<h3.id="
dcea0 43 61 73 74 2d 54 72 75 6e 63 61 74 65 73 2d 44 61 74 61 22 3e 3c 61 20 68 72 65 66 3d 22 23 74 Cast-Truncates-Data"><a.href="#t
dcec0 6f 63 2d 43 61 73 74 2d 54 72 75 6e 63 61 74 65 73 2d 44 61 74 61 22 3e 43 61 73 74 20 54 72 75 oc-Cast-Truncates-Data">Cast.Tru
dcee0 6e 63 61 74 65 73 20 44 61 74 61 3c 2f 61 3e 20 3c 61 20 63 6c 61 73 73 3d 22 68 64 72 22 20 68 ncates.Data</a>.<a.class="hdr".h
dcf00 72 65 66 3d 22 23 43 61 73 74 2d 54 72 75 6e 63 61 74 65 73 2d 44 61 74 61 22 3e c2 a7 3c 2f 61 ref="#Cast-Truncates-Data">..</a
dcf20 3e 3c 2f 68 33 3e 0a 0a 20 20 20 20 20 20 3c 70 3e 41 74 20 63 6f 6d 70 69 6c 65 2d 74 69 6d 65 ></h3>........<p>At.compile-time
dcf40 3a 3c 2f 70 3e 0a 20 20 20 20 20 20 3c 66 69 67 75 72 65 3e 3c 66 69 67 63 61 70 74 69 6f 6e 20 :</p>.......<figure><figcaption.
dcf60 63 6c 61 73 73 3d 22 7a 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
dcf80 65 22 3e 74 65 73 74 2e 7a 69 67 3c 2f 63 69 74 65 3e 3c 2f 66 69 67 63 61 70 74 69 6f 6e 3e 3c e">test.zig</cite></figcaption><
dcfa0 70 72 65 3e 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 pre><code><span.class="line"><sp
dcfc0 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
dcfe0 3e 20 7b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 >.{</span>.<span.class="line">..
dd000 20 20 3c 73 70 61 6e 20 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
dd020 61 6e 3e 20 73 70 61 72 74 61 6e 5f 63 6f 75 6e 74 3a 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 an>.spartan_count:.<span.class="
dd040 74 6f 6b 2d 74 79 70 65 22 3e 75 31 36 3c 2f 73 70 61 6e 3e 20 3d 20 3c 73 70 61 6e 20 63 6c 61 tok-type">u16</span>.=.<span.cla
dd060 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 33 30 30 3c 2f 73 70 61 6e 3e 3b 3c 2f 73 70 61 ss="tok-number">300</span>;</spa
dd080 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 3c 73 70 61 6e 20 n>.<span.class="line">....<span.
dd0a0 63 6c 61 73 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
dd0c0 20 3d 20 3c 73 70 61 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
dd0e0 74 43 61 73 74 3c 2f 73 70 61 6e 3e 28 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 tCast</span>(<span.class="tok-ty
dd100 70 65 22 3e 75 38 3c 2f 73 70 61 6e 3e 2c 20 73 70 61 72 74 61 6e 5f 63 6f 75 6e 74 29 3b 3c 2f pe">u8</span>,.spartan_count);</
dd120 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 5f 20 3d span>.<span.class="line">...._.=
dd140 20 62 79 74 65 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 .byte;</span>.<span.class="line"
dd160 3e 7d 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 3c 2f 70 72 65 3e 3c 2f 66 69 67 75 72 65 3e 3c >}</span></code></pre></figure><
dd180 66 69 67 75 72 65 3e 3c 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-
dd1a0 63 61 70 22 3e 53 68 65 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
dd1c0 70 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 24 20 3c 6b 62 64 3e 7a 69 67 20 p><span.class="line">$.<kbd>zig.
dd1e0 74 65 73 74 20 74 65 73 74 2e 7a 69 67 3c 2f 6b 62 64 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e test.test.zig</kbd></span>.<span
dd200 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 31 5f 30 22 .class="line"><span.class="t1_0"
dd220 3e 64 6f 63 67 65 6e 5f 74 6d 70 2f 74 65 73 74 2e 7a 69 67 3a 33 3a 33 31 3a 20 3c 2f 73 70 61 >docgen_tmp/test.zig:3:31:.</spa
dd240 6e 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 33 31 5f 31 22 3e 65 72 72 6f 72 3a 20 3c 2f 73 n><span.class="t31_1">error:.</s
dd260 70 61 6e 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 31 5f 30 22 3e 74 79 70 65 20 27 75 38 27 pan><span.class="t1_0">type.'u8'
dd280 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 6c 75 65 20 .cannot.represent.integer.value.
dd2a0 27 33 30 30 27 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e '300'</span>.<span.class="line">
dd2c0 3c 2f 73 70 61 6e 3e 20 20 20 20 63 6f 6e 73 74 20 62 79 74 65 20 3d 20 40 69 6e 74 43 61 73 74 </span>....const.byte.=.@intCast
dd2e0 28 75 38 2c 20 73 70 61 72 74 61 6e 5f 63 6f 75 6e 74 29 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 (u8,.spartan_count);</span>.<spa
dd300 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 n.class="line">.................
dd320 20 20 20 20 20 20 20 20 20 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 33 32 5f 31 22 .............<span.class="t32_1"
dd340 3e 5e 7e 7e 7e 7e 7e 7e 7e 7e 7e 7e 7e 7e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 >^~~~~~~~~~~~~</span>.<span.clas
dd360 73 3d 22 6c 69 6e 65 22 3e 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 0a 3c 2f 73 61 6d 70 3e 3c s="line"></span></span>.</samp><
dd380 2f 70 72 65 3e 3c 2f 66 69 67 75 72 65 3e 0a 20 20 20 20 20 20 3c 70 3e 41 74 20 72 75 6e 74 69 /pre></figure>.......<p>At.runti
dd3a0 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
dd3c0 6e 20 63 6c 61 73 73 3d 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
dd3e0 69 6c 65 22 3e 74 65 73 74 2e 7a 69 67 3c 2f 63 69 74 65 3e 3c 2f 66 69 67 63 61 70 74 69 6f 6e ile">test.zig</cite></figcaption
dd400 3e 3c 70 72 65 3e 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c ><pre><code><span.class="line"><
dd420 73 70 61 6e 20 63 6c 61 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>
dd440 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"
dd460 3e 40 69 6d 70 6f 72 74 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
dd480 2d 73 74 72 22 3e 26 71 75 6f 74 3b 73 74 64 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 29 3b 3c 2f -str">&quot;std&quot;</span>);</
dd4a0 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 2f 73 70 61 6e 3e span>.<span.class="line"></span>
dd4c0 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d .<span.class="line"><span.class=
dd4e0 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=
dd500 22 74 6f 6b 2d 6b 77 22 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="
dd520 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
dd540 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 76 6f 69 64 3c 2f 73 70 61 6e 3e 20 7b 3c 2f 73 70 61 6e s="tok-type">void</span>.{</span
dd560 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 3c 73 70 61 6e 20 63 >.<span.class="line">....<span.c
dd580 6c 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 74 61 6e lass="tok-kw">var</span>.spartan
dd5a0 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 22 3e 75 _count:.<span.class="tok-type">u
dd5c0 31 36 3c 2f 73 70 61 6e 3e 20 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 16</span>.=.<span.class="tok-num
dd5e0 62 65 72 22 3e 33 30 30 3c 2f 73 70 61 6e 3e 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c ber">300</span>;</span>.<span.cl
dd600 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d ass="line">....<span.class="tok-
dd620 6b 77 22 3e 63 6f 6e 73 74 3c 2f 73 70 61 6e 3e 20 62 79 74 65 20 3d 20 3c 73 70 61 6e 20 63 6c kw">const</span>.byte.=.<span.cl
dd640 61 73 73 3d 22 74 6f 6b 2d 62 75 69 6c 74 69 6e 22 3e 40 69 6e 74 43 61 73 74 3c 2f 73 70 61 6e ass="tok-builtin">@intCast</span
dd660 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
dd680 6e 3e 2c 20 73 70 61 72 74 61 6e 5f 63 6f 75 6e 74 29 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e n>,.spartan_count);</span>.<span
dd6a0 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 73 74 64 2e 64 65 62 75 67 2e 70 72 69 6e .class="line">....std.debug.prin
dd6c0 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
dd6e0 6c 75 65 3a 20 7b 7d 5c 6e 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 2c 20 2e 7b 62 79 74 65 7d 29 lue:.{}\n&quot;</span>,..{byte})
dd700 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 7d 3c 2f 73 ;</span>.<span.class="line">}</s
dd720 70 61 6e 3e 3c 2f 63 6f 64 65 3e 3c 2f 70 72 65 3e 3c 2f 66 69 67 75 72 65 3e 3c 66 69 67 75 72 pan></code></pre></figure><figur
dd740 65 3e 3c 66 69 67 63 61 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">
dd760 53 68 65 6c 6c 3c 2f 66 69 67 63 61 70 74 69 6f 6e 3e 3c 70 72 65 3e 3c 73 61 6d 70 3e 3c 73 70 Shell</figcaption><pre><samp><sp
dd780 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 24 20 3c 6b 62 64 3e 7a 69 67 20 62 75 69 6c 64 an.class="line">$.<kbd>zig.build
dd7a0 2d 65 78 65 20 74 65 73 74 2e 7a 69 67 3c 2f 6b 62 64 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e -exe.test.zig</kbd></span>.<span
dd7c0 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 .class="line"></span>.<span.clas
dd7e0 73 3d 22 6c 69 6e 65 22 3e 24 20 3c 6b 62 64 3e 2e 2f 74 65 73 74 3c 2f 6b 62 64 3e 3c 2f 73 70 s="line">$.<kbd>./test</kbd></sp
dd800 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 74 68 72 65 61 64 20 33 35 an>.<span.class="line">thread.35
dd820 38 34 39 38 34 20 70 61 6e 69 63 3a 20 69 6e 74 65 67 65 72 20 63 61 73 74 20 74 72 75 6e 63 61 84984.panic:.integer.cast.trunca
dd840 74 65 64 20 62 69 74 73 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e ted.bits</span>.<span.class="lin
dd860 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 31 5f 30 22 3e 64 6f 63 67 65 6e 5f 74 6d 70 e"><span.class="t1_0">docgen_tmp
dd880 2f 74 65 73 74 2e 7a 69 67 3a 35 3a 31 38 3c 2f 73 70 61 6e 3e 3a 20 3c 73 70 61 6e 20 63 6c 61 /test.zig:5:18</span>:.<span.cla
dd8a0 73 73 3d 22 74 32 5f 30 22 3e 30 78 32 31 30 33 32 36 20 69 6e 20 6d 61 69 6e 20 28 74 65 73 74 ss="t2_0">0x210326.in.main.(test
dd8c0 29 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e )</span></span>.<span.class="lin
dd8e0 65 22 3e 20 20 20 20 63 6f 6e 73 74 20 62 79 74 65 20 3d 20 40 69 6e 74 43 61 73 74 28 75 38 2c e">....const.byte.=.@intCast(u8,
dd900 20 73 70 61 72 74 61 6e 5f 63 6f 75 6e 74 29 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c .spartan_count);</span>.<span.cl
dd920 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 3c 73 70 61 ass="line">.................<spa
dd940 6e 20 63 6c 61 73 73 3d 22 74 33 32 5f 31 22 3e 5e 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 0a n.class="t32_1">^</span></span>.
dd960 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 <span.class="line"><span.class="
dd980 74 31 5f 30 22 3e 2f 68 6f 6d 65 2f 63 69 2f 72 65 6c 65 61 73 65 2d 30 2e 31 30 2e 31 2f 6f 75 t1_0">/home/ci/release-0.10.1/ou
dd9a0 74 2f 7a 69 67 2d 78 38 36 5f 36 34 2d 6c 69 6e 75 78 2d 6d 75 73 6c 2d 62 61 73 65 6c 69 6e 65 t/zig-x86_64-linux-musl-baseline
dd9c0 2f 6c 69 62 2f 7a 69 67 2f 73 74 64 2f 73 74 61 72 74 2e 7a 69 67 3a 36 30 34 3a 32 32 3c 2f 73 /lib/zig/std/start.zig:604:22</s
dd9e0 70 61 6e 3e 3a 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 32 5f 30 22 3e 30 78 32 30 66 38 37 pan>:.<span.class="t2_0">0x20f87
dda00 63 20 69 6e 20 70 6f 73 69 78 43 61 6c 6c 4d 61 69 6e 41 6e 64 45 78 69 74 20 28 74 65 73 74 29 c.in.posixCallMainAndExit.(test)
dda20 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 </span></span>.<span.class="line
dda40 22 3e 20 20 20 20 20 20 20 20 20 20 20 20 72 6f 6f 74 2e 6d 61 69 6e 28 29 3b 3c 2f 73 70 61 6e ">............root.main();</span
dda60 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 20 20 20 20 20 20 20 >.<span.class="line">...........
dda80 20 20 20 20 20 20 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 33 32 5f 31 22 3e 5e 3c ..........<span.class="t32_1">^<
ddaa0 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 /span></span>.<span.class="line"
ddac0 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 31 5f 30 22 3e 2f 68 6f 6d 65 2f 63 69 2f 72 65 6c ><span.class="t1_0">/home/ci/rel
ddae0 65 61 73 65 2d 30 2e 31 30 2e 31 2f 6f 75 74 2f 7a 69 67 2d 78 38 36 5f 36 34 2d 6c 69 6e 75 78 ease-0.10.1/out/zig-x86_64-linux
ddb00 2d 6d 75 73 6c 2d 62 61 73 65 6c 69 6e 65 2f 6c 69 62 2f 7a 69 67 2f 73 74 64 2f 73 74 61 72 74 -musl-baseline/lib/zig/std/start
ddb20 2e 7a 69 67 3a 33 37 36 3a 35 3c 2f 73 70 61 6e 3e 3a 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 .zig:376:5</span>:.<span.class="
ddb40 74 32 5f 30 22 3e 30 78 32 30 66 33 38 31 20 69 6e 20 5f 73 74 61 72 74 20 28 74 65 73 74 29 3c t2_0">0x20f381.in._start.(test)<
ddb60 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 /span></span>.<span.class="line"
ddb80 3e 20 20 20 20 40 63 61 6c 6c 28 2e 7b 20 2e 6d 6f 64 69 66 69 65 72 20 3d 20 2e 6e 65 76 65 72 >....@call(.{..modifier.=..never
ddba0 5f 69 6e 6c 69 6e 65 20 7d 2c 20 70 6f 73 69 78 43 61 6c 6c 4d 61 69 6e 41 6e 64 45 78 69 74 2c _inline.},.posixCallMainAndExit,
ddbc0 20 2e 7b 7d 29 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 ..{});</span>.<span.class="line"
ddbe0 3e 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 33 32 5f 31 22 3e 5e 3c 2f 73 70 61 6e >....<span.class="t32_1">^</span
ddc00 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 28 70 72 6f ></span>.<span.class="line">(pro
ddc20 63 65 73 73 20 74 65 72 6d 69 6e 61 74 65 64 20 62 79 20 73 69 67 6e 61 6c 29 3c 2f 73 70 61 6e cess.terminated.by.signal)</span
ddc40 3e 0a 3c 2f 73 61 6d 70 3e 3c 2f 70 72 65 3e 3c 2f 66 69 67 75 72 65 3e 0a 20 20 20 20 20 20 3c >.</samp></pre></figure>.......<
ddc60 70 3e 0a 20 20 20 20 20 20 54 6f 20 74 72 75 6e 63 61 74 65 20 62 69 74 73 2c 20 75 73 65 20 3c p>.......To.truncate.bits,.use.<
ddc80 61 20 68 72 65 66 3d 22 23 74 72 75 6e 63 61 74 65 22 3e 40 74 72 75 6e 63 61 74 65 3c 2f 61 3e a.href="#truncate">@truncate</a>
ddca0 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
ddcc0 3d 22 49 6e 74 65 67 65 72 2d 4f 76 65 72 66 6c 6f 77 22 3e 3c 61 20 68 72 65 66 3d 22 23 74 6f ="Integer-Overflow"><a.href="#to
ddce0 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 4f 76 65 72 c-Integer-Overflow">Integer.Over
ddd00 66 6c 6f 77 3c 2f 61 3e 20 3c 61 20 63 6c 61 73 73 3d 22 68 64 72 22 20 68 72 65 66 3d 22 23 49 flow</a>.<a.class="hdr".href="#I
ddd20 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 0a 0a 20 20 nteger-Overflow">..</a></h3>....
ddd40 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 6e 73 22 3e ....<h4.id="Default-Operations">
ddd60 3c 61 20 68 72 65 66 3d 22 23 74 6f 63 2d 44 65 66 61 75 6c 74 2d 4f 70 65 72 61 74 69 6f 6e 73 <a.href="#toc-Default-Operations
ddd80 22 3e 44 65 66 61 75 6c 74 20 4f 70 65 72 61 74 69 6f 6e 73 3c 2f 61 3e 20 3c 61 20 63 6c 61 73 ">Default.Operations</a>.<a.clas
ddda0 73 3d 22 68 64 72 22 20 68 72 65 66 3d 22 23 44 65 66 61 75 6c 74 2d 4f 70 65 72 61 74 69 6f 6e s="hdr".href="#Default-Operation
dddc0 73 22 3e c2 a7 3c 2f 61 3e 3c 2f 68 34 3e 0a 0a 20 20 20 20 20 20 3c 70 3e 54 68 65 20 66 6f 6c s">..</a></h4>........<p>The.fol
ddde0 6c 6f 77 69 6e 67 20 6f 70 65 72 61 74 6f 72 73 20 63 61 6e 20 63 61 75 73 65 20 69 6e 74 65 67 lowing.operators.can.cause.integ
dde00 65 72 20 6f 76 65 72 66 6c 6f 77 3a 3c 2f 70 3e 0a 20 20 20 20 20 20 3c 75 6c 3e 0a 20 20 20 20 er.overflow:</p>.......<ul>.....
dde20 20 20 20 20 20 20 3c 6c 69 3e 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e ......<li><code><span.class="lin
dde40 65 22 3e 2b 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 20 28 61 64 64 69 74 69 6f 6e 29 3c 2f 6c e">+</span></code>.(addition)</l
dde60 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
dde80 73 73 3d 22 6c 69 6e 65 22 3e 2d 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 20 28 73 75 62 74 72 ss="line">-</span></code>.(subtr
ddea0 61 63 74 69 6f 6e 29 3c 2f 6c 69 3e 0a 20 20 20 20 20 20 20 20 20 20 3c 6c 69 3e 3c 63 6f 64 65 action)</li>...........<li><code
ddec0 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 2d 3c 2f 73 70 61 6e 3e 3c 2f 63 6f ><span.class="line">-</span></co
ddee0 64 65 3e 20 28 6e 65 67 61 74 69 6f 6e 29 3c 2f 6c 69 3e 0a 20 20 20 20 20 20 20 20 20 20 3c 6c de>.(negation)</li>...........<l
ddf00 69 3e 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 2a 3c 2f 73 70 i><code><span.class="line">*</sp
ddf20 61 6e 3e 3c 2f 63 6f 64 65 3e 20 28 6d 75 6c 74 69 70 6c 69 63 61 74 69 6f 6e 29 3c 2f 6c 69 3e an></code>.(multiplication)</li>
ddf40 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
ddf60 3d 22 6c 69 6e 65 22 3e 2f 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 20 28 64 69 76 69 73 69 6f ="line">/</span></code>.(divisio
ddf80 6e 29 3c 2f 6c 69 3e 0a 20 20 20 20 20 20 20 20 3c 6c 69 3e 3c 61 20 68 72 65 66 3d 22 23 64 69 n)</li>.........<li><a.href="#di
ddfa0 76 54 72 75 6e 63 22 3e 40 64 69 76 54 72 75 6e 63 3c 2f 61 3e 20 28 64 69 76 69 73 69 6f 6e 29 vTrunc">@divTrunc</a>.(division)
ddfc0 3c 2f 6c 69 3e 0a 20 20 20 20 20 20 20 20 3c 6c 69 3e 3c 61 20 68 72 65 66 3d 22 23 64 69 76 46 </li>.........<li><a.href="#divF
ddfe0 6c 6f 6f 72 22 3e 40 64 69 76 46 6c 6f 6f 72 3c 2f 61 3e 20 28 64 69 76 69 73 69 6f 6e 29 3c 2f loor">@divFloor</a>.(division)</
de000 6c 69 3e 0a 20 20 20 20 20 20 20 20 3c 6c 69 3e 3c 61 20 68 72 65 66 3d 22 23 64 69 76 45 78 61 li>.........<li><a.href="#divExa
de020 63 74 22 3e 40 64 69 76 45 78 61 63 74 3c 2f 61 3e 20 28 64 69 76 69 73 69 6f 6e 29 3c 2f 6c 69 ct">@divExact</a>.(division)</li
de040 3e 0a 20 20 20 20 20 20 3c 2f 75 6c 3e 0a 20 20 20 20 20 20 3c 70 3e 45 78 61 6d 70 6c 65 20 77 >.......</ul>.......<p>Example.w
de060 69 74 68 20 61 64 64 69 74 69 6f 6e 20 61 74 20 63 6f 6d 70 69 6c 65 2d 74 69 6d 65 3a 3c 2f 70 ith.addition.at.compile-time:</p
de080 3e 0a 20 20 20 20 20 20 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
de0a0 73 3d 22 7a 69 67 2d 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
de0c0 65 73 74 2e 7a 69 67 3c 2f 63 69 74 65 3e 3c 2f 66 69 67 63 61 70 74 69 6f 6e 3e 3c 70 72 65 3e est.zig</cite></figcaption><pre>
de0e0 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 <code><span.class="line"><span.c
de100 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 63 6f 6d 70 74 69 6d 65 3c 2f 73 70 61 6e 3e 20 7b 3c lass="tok-kw">comptime</span>.{<
de120 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 3c 73 /span>.<span.class="line">....<s
de140 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 76 61 72 3c 2f 73 70 61 6e 3e 20 62 79 pan.class="tok-kw">var</span>.by
de160 74 65 3a 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 75 38 3c 2f 73 te:.<span.class="tok-type">u8</s
de180 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">
de1a0 32 35 35 3c 2f 73 70 61 6e 3e 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 255</span>;</span>.<span.class="
de1c0 6c 69 6e 65 22 3e 20 20 20 20 62 79 74 65 20 2b 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 line">....byte.+=.<span.class="t
de1e0 6f 6b 2d 6e 75 6d 62 65 72 22 3e 31 3c 2f 73 70 61 6e 3e 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 ok-number">1</span>;</span>.<spa
de200 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 7d 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 3c 2f n.class="line">}</span></code></
de220 70 72 65 3e 3c 2f 66 69 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
de240 20 63 6c 61 73 73 3d 22 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
de260 74 69 6f 6e 3e 3c 70 72 65 3e 3c 73 61 6d 70 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e tion><pre><samp><span.class="lin
de280 65 22 3e 24 20 3c 6b 62 64 3e 7a 69 67 20 74 65 73 74 20 74 65 73 74 2e 7a 69 67 3c 2f 6b 62 64 e">$.<kbd>zig.test.test.zig</kbd
de2a0 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 ></span>.<span.class="line"><spa
de2c0 6e 20 63 6c 61 73 73 3d 22 74 31 5f 30 22 3e 64 6f 63 67 65 6e 5f 74 6d 70 2f 74 65 73 74 2e 7a n.class="t1_0">docgen_tmp/test.z
de2e0 69 67 3a 33 3a 31 30 3a 20 3c 2f 73 70 61 6e 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 33 31 ig:3:10:.</span><span.class="t31
de300 5f 31 22 3e 65 72 72 6f 72 3a 20 3c 2f 73 70 61 6e 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 _1">error:.</span><span.class="t
de320 31 5f 30 22 3e 6f 76 65 72 66 6c 6f 77 20 6f 66 20 69 6e 74 65 67 65 72 20 74 79 70 65 20 27 75 1_0">overflow.of.integer.type.'u
de340 38 27 20 77 69 74 68 20 76 61 6c 75 65 20 27 32 35 36 27 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 8'.with.value.'256'</span>.<span
de360 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 2f 73 70 61 6e 3e 20 20 20 20 62 79 74 65 20 2b 3d .class="line"></span>....byte.+=
de380 20 31 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 .1;</span>.<span.class="line">..
de3a0 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 33 32 5f 31 22 3e 7e 7e 7e 7e 7e 5e 7e 7e 7e 3c ..<span.class="t32_1">~~~~~^~~~<
de3c0 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 2f 73 70 61 6e /span>.<span.class="line"></span
de3e0 3e 3c 2f 73 70 61 6e 3e 0a 3c 2f 73 61 6d 70 3e 3c 2f 70 72 65 3e 3c 2f 66 69 67 75 72 65 3e 0a ></span>.</samp></pre></figure>.
de400 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>.......<
de420 66 69 67 75 72 65 3e 3c 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
de440 70 22 3e 3c 63 69 74 65 20 63 6c 61 73 73 3d 22 66 69 6c 65 22 3e 74 65 73 74 2e 7a 69 67 3c 2f p"><cite.class="file">test.zig</
de460 63 69 74 65 3e 3c 2f 66 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
de480 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b an.class="line"><span.class="tok
de4a0 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
de4c0 61 73 73 3d 22 74 6f 6b 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>
de4e0 28 3c 73 70 61 6e 20 63 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
de500 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 29 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 &quot;</span>);</span>.<span.cla
de520 73 73 3d 22 6c 69 6e 65 22 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c ss="line"></span>.<span.class="l
de540 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 70 75 62 3c 2f 73 ine"><span.class="tok-kw">pub</s
de560 70 61 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
de580 61 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
de5a0 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
de5c0 69 64 3c 2f 73 70 61 6e 3e 20 7b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 id</span>.{</span>.<span.class="
de5e0 6c 69 6e 65 22 3e 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 76 line">....<span.class="tok-kw">v
de600 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 22 74 6f 6b ar</span>.byte:.<span.class="tok
de620 2d 74 79 70 65 22 3e 75 38 3c 2f 73 70 61 6e 3e 20 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 -type">u8</span>.=.<span.class="
de640 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 32 35 35 3c 2f 73 70 61 6e 3e 3b 3c 2f 73 70 61 6e 3e 0a 3c tok-number">255</span>;</span>.<
de660 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 62 79 74 65 20 2b 3d 20 3c 73 span.class="line">....byte.+=.<s
de680 70 61 6e 20 63 6c 61 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>;
de6a0 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 73 </span>.<span.class="line">....s
de6c0 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-
de6e0 73 74 72 22 3e 26 71 75 6f 74 3b 76 61 6c 75 65 3a 20 7b 7d 5c 6e 26 71 75 6f 74 3b 3c 2f 73 70 str">&quot;value:.{}\n&quot;</sp
de700 61 6e 3e 2c 20 2e 7b 62 79 74 65 7d 29 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 an>,..{byte});</span>.<span.clas
de720 73 3d 22 6c 69 6e 65 22 3e 7d 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 3c 2f 70 72 65 3e 3c 2f s="line">}</span></code></pre></
de740 66 69 67 75 72 65 3e 3c 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
de760 3d 22 73 68 65 6c 6c 2d 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><
de780 70 72 65 3e 3c 73 61 6d 70 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 24 20 3c pre><samp><span.class="line">$.<
de7a0 6b 62 64 3e 7a 69 67 20 62 75 69 6c 64 2d 65 78 65 20 74 65 73 74 2e 7a 69 67 3c 2f 6b 62 64 3e kbd>zig.build-exe.test.zig</kbd>
de7c0 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 2f 73 70 61 </span>.<span.class="line"></spa
de7e0 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 24 20 3c 6b 62 64 3e 2e 2f 74 n>.<span.class="line">$.<kbd>./t
de800 65 73 74 3c 2f 6b 62 64 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 est</kbd></span>.<span.class="li
de820 6e 65 22 3e 74 68 72 65 61 64 20 33 35 38 35 30 33 38 20 70 61 6e 69 63 3a 20 69 6e 74 65 67 65 ne">thread.3585038.panic:.intege
de840 72 20 6f 76 65 72 66 6c 6f 77 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c r.overflow</span>.<span.class="l
de860 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 31 5f 30 22 3e 64 6f 63 67 65 6e 5f 74 ine"><span.class="t1_0">docgen_t
de880 6d 70 2f 74 65 73 74 2e 7a 69 67 3a 35 3a 31 30 3c 2f 73 70 61 6e 3e 3a 20 3c 73 70 61 6e 20 63 mp/test.zig:5:10</span>:.<span.c
de8a0 6c 61 73 73 3d 22 74 32 5f 30 22 3e 30 78 32 31 30 33 31 34 20 69 6e 20 6d 61 69 6e 20 28 74 65 lass="t2_0">0x210314.in.main.(te
de8c0 73 74 29 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c st)</span></span>.<span.class="l
de8e0 69 6e 65 22 3e 20 20 20 20 62 79 74 65 20 2b 3d 20 31 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e ine">....byte.+=.1;</span>.<span
de900 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 20 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 .class="line">.........<span.cla
de920 73 73 3d 22 74 33 32 5f 31 22 3e 5e 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e ss="t32_1">^</span></span>.<span
de940 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 31 5f 30 22 .class="line"><span.class="t1_0"
de960 3e 2f 68 6f 6d 65 2f 63 69 2f 72 65 6c 65 61 73 65 2d 30 2e 31 30 2e 31 2f 6f 75 74 2f 7a 69 67 >/home/ci/release-0.10.1/out/zig
de980 2d 78 38 36 5f 36 34 2d 6c 69 6e 75 78 2d 6d 75 73 6c 2d 62 61 73 65 6c 69 6e 65 2f 6c 69 62 2f -x86_64-linux-musl-baseline/lib/
de9a0 7a 69 67 2f 73 74 64 2f 73 74 61 72 74 2e 7a 69 67 3a 36 30 34 3a 32 32 3c 2f 73 70 61 6e 3e 3a zig/std/start.zig:604:22</span>:
de9c0 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 32 5f 30 22 3e 30 78 32 30 66 38 36 63 20 69 6e 20 .<span.class="t2_0">0x20f86c.in.
de9e0 70 6f 73 69 78 43 61 6c 6c 4d 61 69 6e 41 6e 64 45 78 69 74 20 28 74 65 73 74 29 3c 2f 73 70 61 posixCallMainAndExit.(test)</spa
dea00 6e 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 n></span>.<span.class="line">...
dea20 20 20 20 20 20 20 20 20 20 72 6f 6f 74 2e 6d 61 69 6e 28 29 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 .........root.main();</span>.<sp
dea40 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 an.class="line">................
dea60 20 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 33 32 5f 31 22 3e 5e 3c 2f 73 70 61 6e .....<span.class="t32_1">^</span
dea80 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 ></span>.<span.class="line"><spa
deaa0 6e 20 63 6c 61 73 73 3d 22 74 31 5f 30 22 3e 2f 68 6f 6d 65 2f 63 69 2f 72 65 6c 65 61 73 65 2d n.class="t1_0">/home/ci/release-
deac0 30 2e 31 30 2e 31 2f 6f 75 74 2f 7a 69 67 2d 78 38 36 5f 36 34 2d 6c 69 6e 75 78 2d 6d 75 73 6c 0.10.1/out/zig-x86_64-linux-musl
deae0 2d 62 61 73 65 6c 69 6e 65 2f 6c 69 62 2f 7a 69 67 2f 73 74 64 2f 73 74 61 72 74 2e 7a 69 67 3a -baseline/lib/zig/std/start.zig:
deb00 33 37 36 3a 35 3c 2f 73 70 61 6e 3e 3a 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 32 5f 30 22 376:5</span>:.<span.class="t2_0"
deb20 3e 30 78 32 30 66 33 37 31 20 69 6e 20 5f 73 74 61 72 74 20 28 74 65 73 74 29 3c 2f 73 70 61 6e >0x20f371.in._start.(test)</span
deb40 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 ></span>.<span.class="line">....
deb60 40 63 61 6c 6c 28 2e 7b 20 2e 6d 6f 64 69 66 69 65 72 20 3d 20 2e 6e 65 76 65 72 5f 69 6e 6c 69 @call(.{..modifier.=..never_inli
deb80 6e 65 20 7d 2c 20 70 6f 73 69 78 43 61 6c 6c 4d 61 69 6e 41 6e 64 45 78 69 74 2c 20 2e 7b 7d 29 ne.},.posixCallMainAndExit,..{})
deba0 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 ;</span>.<span.class="line">....
debc0 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 33 32 5f 31 22 3e 5e 3c 2f 73 70 61 6e 3e 3c 2f 73 70 <span.class="t32_1">^</span></sp
debe0 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 28 70 72 6f 63 65 73 73 20 an>.<span.class="line">(process.
dec00 74 65 72 6d 69 6e 61 74 65 64 20 62 79 20 73 69 67 6e 61 6c 29 3c 2f 73 70 61 6e 3e 0a 3c 2f 73 terminated.by.signal)</span>.</s
dec20 61 6d 70 3e 3c 2f 70 72 65 3e 3c 2f 66 69 67 75 72 65 3e 0a 20 20 20 20 20 20 0a 20 20 20 20 20 amp></pre></figure>.............
dec40 20 3c 68 34 20 69 64 3d 22 53 74 61 6e 64 61 72 64 2d 4c 69 62 72 61 72 79 2d 4d 61 74 68 2d 46 .<h4.id="Standard-Library-Math-F
dec60 75 6e 63 74 69 6f 6e 73 22 3e 3c 61 20 68 72 65 66 3d 22 23 74 6f 63 2d 53 74 61 6e 64 61 72 64 unctions"><a.href="#toc-Standard
dec80 2d 4c 69 62 72 61 72 79 2d 4d 61 74 68 2d 46 75 6e 63 74 69 6f 6e 73 22 3e 53 74 61 6e 64 61 72 -Library-Math-Functions">Standar
deca0 64 20 4c 69 62 72 61 72 79 20 4d 61 74 68 20 46 75 6e 63 74 69 6f 6e 73 3c 2f 61 3e 20 3c 61 20 d.Library.Math.Functions</a>.<a.
decc0 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 69 62 72 class="hdr".href="#Standard-Libr
dece0 61 72 79 2d 4d 61 74 68 2d 46 75 6e 63 74 69 6f 6e 73 22 3e c2 a7 3c 2f 61 3e 3c 2f 68 34 3e 0a ary-Math-Functions">..</a></h4>.
ded00 0a 20 20 20 20 20 20 3c 70 3e 54 68 65 73 65 20 66 75 6e 63 74 69 6f 6e 73 20 70 72 6f 76 69 64 .......<p>These.functions.provid
ded20 65 64 20 62 79 20 74 68 65 20 73 74 61 6e 64 61 72 64 20 6c 69 62 72 61 72 79 20 72 65 74 75 72 ed.by.the.standard.library.retur
ded40 6e 20 70 6f 73 73 69 62 6c 65 20 65 72 72 6f 72 73 2e 3c 2f 70 3e 0a 20 20 20 20 20 20 3c 75 6c n.possible.errors.</p>.......<ul
ded60 3e 0a 20 20 20 20 20 20 20 20 20 20 3c 6c 69 3e 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 >...........<li><code><span.clas
ded80 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 62 75 69 6c 74 69 s="line"><span.class="tok-builti
deda0 6e 22 3e 40 69 6d 70 6f 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
dedc0 6f 6b 2d 73 74 72 22 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>).
dede0 6d 61 74 68 2e 61 64 64 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 3c 2f 6c 69 3e 0a 20 20 20 20 math.add</span></code></li>.....
dee00 20 20 20 20 20 20 3c 6c 69 3e 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e ......<li><code><span.class="lin
dee20 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 62 75 69 6c 74 69 6e 22 3e 40 69 6d e"><span.class="tok-builtin">@im
dee40 70 6f 72 74 3c 2f 73 70 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
dee60 22 3e 26 71 75 6f 74 3b 73 74 64 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 29 2e 6d 61 74 68 2e 73 ">&quot;std&quot;</span>).math.s
dee80 75 62 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 3c 2f 6c 69 3e 0a 20 20 20 20 20 20 20 20 20 20 ub</span></code></li>...........
deea0 3c 6c 69 3e 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 <li><code><span.class="line"><sp
deec0 61 6e 20 63 6c 61 73 73 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</
deee0 73 70 61 6e 3e 28 3c 73 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
def00 74 3b 73 74 64 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 29 2e 6d 61 74 68 2e 6d 75 6c 3c 2f 73 70 t;std&quot;</span>).math.mul</sp
def20 61 6e 3e 3c 2f 63 6f 64 65 3e 3c 2f 6c 69 3e 0a 20 20 20 20 20 20 20 20 20 20 3c 6c 69 3e 3c 63 an></code></li>...........<li><c
def40 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 ode><span.class="line"><span.cla
def60 73 73 3d 22 74 6f 6b 2d 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>(
def80 3c 73 70 61 6e 20 63 6c 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&
defa0 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 29 2e 6d 61 74 68 2e 64 69 76 54 72 75 6e 63 3c 2f 73 70 61 quot;</span>).math.divTrunc</spa
defc0 6e 3e 3c 2f 63 6f 64 65 3e 3c 2f 6c 69 3e 0a 20 20 20 20 20 20 20 20 20 20 3c 6c 69 3e 3c 63 6f n></code></li>...........<li><co
defe0 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 de><span.class="line"><span.clas
df000 73 3d 22 74 6f 6b 2d 62 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>(<
df020 73 70 61 6e 20 63 6c 61 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
df040 75 6f 74 3b 3c 2f 73 70 61 6e 3e 29 2e 6d 61 74 68 2e 64 69 76 46 6c 6f 6f 72 3c 2f 73 70 61 6e uot;</span>).math.divFloor</span
df060 3e 3c 2f 63 6f 64 65 3e 3c 2f 6c 69 3e 0a 20 20 20 20 20 20 20 20 20 20 3c 6c 69 3e 3c 63 6f 64 ></code></li>...........<li><cod
df080 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 e><span.class="line"><span.class
df0a0 3d 22 74 6f 6b 2d 62 75 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
df0c0 70 61 6e 20 63 6c 61 73 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
df0e0 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 73 70 61 6e 3e ot;</span>).math.divExact</span>
df100 3c 2f 63 6f 64 65 3e 3c 2f 6c 69 3e 0a 20 20 20 20 20 20 20 20 20 20 3c 6c 69 3e 3c 63 6f 64 65 </code></li>...........<li><code
df120 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d ><span.class="line"><span.class=
df140 22 74 6f 6b 2d 62 75 69 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
df160 61 6e 20 63 6c 61 73 73 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
df180 74 3b 3c 2f 73 70 61 6e 3e 29 2e 6d 61 74 68 2e 73 68 6c 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 t;</span>).math.shl</span></code
df1a0 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 45 78 61 6d ></li>.......</ul>.......<p>Exam
df1c0 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 66 6f 72 20 ple.of.catching.an.overflow.for.
df1e0 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 3c 66 69 67 addition:</p>.......<figure><fig
df200 63 61 70 74 69 6f 6e 20 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
df220 61 73 73 3d 22 66 69 6c 65 22 3e 74 65 73 74 2e 7a 69 67 3c 2f 63 69 74 65 3e 3c 2f 66 69 67 63 ass="file">test.zig</cite></figc
df240 61 70 74 69 6f 6e 3e 3c 70 72 65 3e 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c aption><pre><code><span.class="l
df260 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 63 6f 6e 73 74 3c ine"><span.class="tok-kw">const<
df280 2f 73 70 61 6e 3e 20 6d 61 74 68 20 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 62 /span>.math.=.<span.class="tok-b
df2a0 75 69 6c 74 69 6e 22 3e 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
df2c0 73 73 3d 22 74 6f 6b 2d 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
df2e0 61 6e 3e 29 2e 6d 61 74 68 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c an>).math;</span>.<span.class="l
df300 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 63 6f 6e 73 74 3c ine"><span.class="tok-kw">const<
df320 2f 73 70 61 6e 3e 20 70 72 69 6e 74 20 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d /span>.print.=.<span.class="tok-
df340 62 75 69 6c 74 69 6e 22 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
df360 61 73 73 3d 22 74 6f 6b 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
df380 70 61 6e 3e 29 2e 64 65 62 75 67 2e 70 72 69 6e 74 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 pan>).debug.print;</span>.<span.
df3a0 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 class="line"><span.class="tok-kw
df3c0 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
df3e0 22 3e 66 6e 3c 2f 73 70 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"
df400 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 6b >main</span>().!<span.class="tok
df420 2d 74 79 70 65 22 3e 76 6f 69 64 3c 2f 73 70 61 6e 3e 20 7b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 -type">void</span>.{</span>.<spa
df440 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 n.class="line">....<span.class="
df460 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 6e 20 63 tok-kw">var</span>.byte:.<span.c
df480 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 75 38 3c 2f 73 70 61 6e 3e 20 3d 20 3c 73 70 61 lass="tok-type">u8</span>.=.<spa
df4a0 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 32 35 35 3c 2f 73 70 61 6e 3e 3b n.class="tok-number">255</span>;
df4c0 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 2f 73 70 61 </span>.<span.class="line"></spa
df4e0 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 62 79 74 65 20 3d n>.<span.class="line">....byte.=
df500 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>.
df520 28 6d 61 74 68 2e 61 64 64 28 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 (math.add(<span.class="tok-type"
df540 3e 75 38 3c 2f 73 70 61 6e 3e 2c 20 62 79 74 65 2c 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 >u8</span>,.byte,.<span.class="t
df560 6f 6b 2d 6e 75 6d 62 65 72 22 3e 31 3c 2f 73 70 61 6e 3e 29 29 20 7c 72 65 73 75 6c 74 7c 20 72 ok-number">1</span>)).|result|.r
df580 65 73 75 6c 74 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 65 6c 73 65 3c esult.<span.class="tok-kw">else<
df5a0 2f 73 70 61 6e 3e 20 7c 65 72 72 7c 20 7b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 /span>.|err|.{</span>.<span.clas
df5c0 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 20 20 20 20 70 72 69 6e 74 28 3c 73 70 61 6e 20 63 6c 61 s="line">........print(<span.cla
df5e0 73 73 3d 22 74 6f 6b 2d 73 74 72 22 3e 26 71 75 6f 74 3b 75 6e 61 62 6c 65 20 74 6f 20 61 64 64 ss="tok-str">&quot;unable.to.add
df600 20 6f 6e 65 3a 20 7b 73 7d 5c 6e 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 2c 20 2e 7b 3c 73 70 61 .one:.{s}\n&quot;</span>,..{<spa
df620 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 62 75 69 6c 74 69 6e 22 3e 40 65 72 72 6f 72 4e 61 6d 65 n.class="tok-builtin">@errorName
df640 3c 2f 73 70 61 6e 3e 28 65 72 72 29 7d 29 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 </span>(err)});</span>.<span.cla
df660 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 ss="line">........<span.class="t
df680 6f 6b 2d 6b 77 22 3e 72 65 74 75 72 6e 3c 2f 73 70 61 6e 3e 20 65 72 72 3b 3c 2f 73 70 61 6e 3e ok-kw">return</span>.err;</span>
df6a0 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 7d 3b 3c 2f 73 70 61 6e .<span.class="line">....};</span
df6c0 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 >.<span.class="line"></span>.<sp
df6e0 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 70 72 69 6e 74 28 3c 73 70 61 6e 20 an.class="line">....print(<span.
df700 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 3a 20 7b 7d class="tok-str">&quot;result:.{}
df720 5c 6e 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 2c 20 2e 7b 62 79 74 65 7d 29 3b 3c 2f 73 70 61 6e \n&quot;</span>,..{byte});</span
df740 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 7d 3c 2f 73 70 61 6e 3e 3c 2f 63 >.<span.class="line">}</span></c
df760 6f 64 65 3e 3c 2f 70 72 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
df780 61 70 74 69 6f 6e 20 63 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</
df7a0 66 69 67 63 61 70 74 69 6f 6e 3e 3c 70 72 65 3e 3c 73 61 6d 70 3e 3c 73 70 61 6e 20 63 6c 61 73 figcaption><pre><samp><span.clas
df7c0 73 3d 22 6c 69 6e 65 22 3e 24 20 3c 6b 62 64 3e 7a 69 67 20 62 75 69 6c 64 2d 65 78 65 20 74 65 s="line">$.<kbd>zig.build-exe.te
df7e0 73 74 2e 7a 69 67 3c 2f 6b 62 64 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d st.zig</kbd></span>.<span.class=
df800 22 6c 69 6e 65 22 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 "line"></span>.<span.class="line
df820 22 3e 24 20 3c 6b 62 64 3e 2e 2f 74 65 73 74 3c 2f 6b 62 64 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 ">$.<kbd>./test</kbd></span>.<sp
df840 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 75 6e 61 62 6c 65 20 74 6f 20 61 64 64 20 6f 6e an.class="line">unable.to.add.on
df860 65 3a 20 4f 76 65 72 66 6c 6f 77 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 e:.Overflow</span>.<span.class="
df880 6c 69 6e 65 22 3e 65 72 72 6f 72 3a 20 4f 76 65 72 66 6c 6f 77 3c 2f 73 70 61 6e 3e 0a 3c 73 70 line">error:.Overflow</span>.<sp
df8a0 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 31 5f an.class="line"><span.class="t1_
df8c0 30 22 3e 2f 68 6f 6d 65 2f 63 69 2f 72 65 6c 65 61 73 65 2d 30 2e 31 30 2e 31 2f 6f 75 74 2f 7a 0">/home/ci/release-0.10.1/out/z
df8e0 69 67 2d 78 38 36 5f 36 34 2d 6c 69 6e 75 78 2d 6d 75 73 6c 2d 62 61 73 65 6c 69 6e 65 2f 6c 69 ig-x86_64-linux-musl-baseline/li
df900 62 2f 7a 69 67 2f 73 74 64 2f 6d 61 74 68 2e 7a 69 67 3a 34 38 34 3a 35 3c 2f 73 70 61 6e 3e 3a b/zig/std/math.zig:484:5</span>:
df920 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 32 5f 30 22 3e 30 78 32 31 30 31 33 31 20 69 6e 20 .<span.class="t2_0">0x210131.in.
df940 61 64 64 5f 5f 61 6e 6f 6e 5f 32 39 30 35 20 28 74 65 73 74 29 3c 2f 73 70 61 6e 3e 3c 2f 73 70 add__anon_2905.(test)</span></sp
df960 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 72 65 74 75 72 an>.<span.class="line">....retur
df980 6e 20 69 66 20 28 40 61 64 64 57 69 74 68 4f 76 65 72 66 6c 6f 77 28 54 2c 20 61 2c 20 62 2c 20 n.if.(@addWithOverflow(T,.a,.b,.
df9a0 26 61 6d 70 3b 61 6e 73 77 65 72 29 29 20 65 72 72 6f 72 2e 4f 76 65 72 66 6c 6f 77 20 65 6c 73 &amp;answer)).error.Overflow.els
df9c0 65 20 61 6e 73 77 65 72 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 e.answer;</span>.<span.class="li
df9e0 6e 65 22 3e 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 33 32 5f 31 22 3e 5e 3c 2f 73 ne">....<span.class="t32_1">^</s
dfa00 70 61 6e 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c pan></span>.<span.class="line"><
dfa20 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 31 5f 30 22 3e 64 6f 63 67 65 6e 5f 74 6d 70 2f 74 65 73 span.class="t1_0">docgen_tmp/tes
dfa40 74 2e 7a 69 67 3a 38 3a 39 3c 2f 73 70 61 6e 3e 3a 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 t.zig:8:9</span>:.<span.class="t
dfa60 32 5f 30 22 3e 30 78 32 31 30 30 32 34 20 69 6e 20 6d 61 69 6e 20 28 74 65 73 74 29 3c 2f 73 70 2_0">0x210024.in.main.(test)</sp
dfa80 61 6e 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 an></span>.<span.class="line">..
dfaa0 20 20 20 20 20 20 72 65 74 75 72 6e 20 65 72 72 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 ......return.err;</span>.<span.c
dfac0 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d lass="line">........<span.class=
dfae0 22 74 33 32 5f 31 22 3e 5e 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 0a 3c 2f 73 61 6d 70 3e 3c "t32_1">^</span></span>.</samp><
dfb00 2f 70 72 65 3e 3c 2f 66 69 67 75 72 65 3e 0a 20 20 20 20 20 20 0a 20 20 20 20 20 20 3c 68 34 20 /pre></figure>..............<h4.
dfb20 69 64 3d 22 42 75 69 6c 74 69 6e 2d 4f 76 65 72 66 6c 6f 77 2d 46 75 6e 63 74 69 6f 6e 73 22 3e id="Builtin-Overflow-Functions">
dfb40 3c 61 20 68 72 65 66 3d 22 23 74 6f 63 2d 42 75 69 6c 74 69 6e 2d 4f 76 65 72 66 6c 6f 77 2d 46 <a.href="#toc-Builtin-Overflow-F
dfb60 75 6e 63 74 69 6f 6e 73 22 3e 42 75 69 6c 74 69 6e 20 4f 76 65 72 66 6c 6f 77 20 46 75 6e 63 74 unctions">Builtin.Overflow.Funct
dfb80 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 42 ions</a>.<a.class="hdr".href="#B
dfba0 75 69 6c 74 69 6e 2d 4f 76 65 72 66 6c 6f 77 2d 46 75 6e 63 74 69 6f 6e 73 22 3e c2 a7 3c 2f 61 uiltin-Overflow-Functions">..</a
dfbc0 3e 3c 2f 68 34 3e 0a 0a 20 20 20 20 20 20 3c 70 3e 0a 20 20 20 20 20 20 54 68 65 73 65 20 62 75 ></h4>........<p>.......These.bu
dfbe0 69 6c 74 69 6e 73 20 72 65 74 75 72 6e 20 61 20 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 iltins.return.a.<code><span.clas
dfc00 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e s="line"><span.class="tok-type">
dfc20 62 6f 6f 6c 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 20 6f 66 20 77 68 65 bool</span></span></code>.of.whe
dfc40 74 68 65 72 20 6f 72 20 6e 6f 74 20 6f 76 65 72 66 6c 6f 77 0a 20 20 20 20 20 20 6f 63 63 75 72 ther.or.not.overflow.......occur
dfc60 72 65 64 2c 20 61 73 20 77 65 6c 6c 20 61 73 20 72 65 74 75 72 6e 69 6e 67 20 74 68 65 20 6f 76 red,.as.well.as.returning.the.ov
dfc80 65 72 66 6c 6f 77 65 64 20 62 69 74 73 3a 0a 20 20 20 20 20 20 3c 2f 70 3e 0a 20 20 20 20 20 20 erflowed.bits:.......</p>.......
dfca0 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 61 64 64 <ul>...........<li><a.href="#add
dfcc0 57 69 74 68 4f 76 65 72 66 6c 6f 77 22 3e 40 61 64 64 57 69 74 68 4f 76 65 72 66 6c 6f 77 3c 2f WithOverflow">@addWithOverflow</
dfce0 61 3e 3c 2f 6c 69 3e 0a 20 20 20 20 20 20 20 20 20 20 3c 6c 69 3e 3c 61 20 68 72 65 66 3d 22 23 a></li>...........<li><a.href="#
dfd00 73 75 62 57 69 74 68 4f 76 65 72 66 6c 6f 77 22 3e 40 73 75 62 57 69 74 68 4f 76 65 72 66 6c 6f subWithOverflow">@subWithOverflo
dfd20 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 61 20 68 72 65 66 w</a></li>...........<li><a.href
dfd40 3d 22 23 6d 75 6c 57 69 74 68 4f 76 65 72 66 6c 6f 77 22 3e 40 6d 75 6c 57 69 74 68 4f 76 65 72 ="#mulWithOverflow">@mulWithOver
dfd60 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 61 20 68 flow</a></li>...........<li><a.h
dfd80 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 68 4f ref="#shlWithOverflow">@shlWithO
dfda0 76 65 72 66 6c 6f 77 3c 2f 61 3e 3c 2f 6c 69 3e 0a 20 20 20 20 20 20 3c 2f 75 6c 3e 0a 20 20 20 verflow</a></li>.......</ul>....
dfdc0 20 20 20 3c 70 3e 0a 20 20 20 20 20 20 45 78 61 6d 70 6c 65 20 6f 66 20 3c 61 20 68 72 65 66 3d ...<p>.......Example.of.<a.href=
dfde0 22 23 61 64 64 57 69 74 68 4f 76 65 72 66 6c 6f 77 22 3e 40 61 64 64 57 69 74 68 4f 76 65 72 66 "#addWithOverflow">@addWithOverf
dfe00 6c 6f 77 3c 2f 61 3e 3a 0a 20 20 20 20 20 20 3c 2f 70 3e 0a 20 20 20 20 20 20 3c 66 69 67 75 72 low</a>:.......</p>.......<figur
dfe20 65 3e 3c 66 69 67 63 61 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
dfe40 69 74 65 20 63 6c 61 73 73 3d 22 66 69 6c 65 22 3e 74 65 73 74 2e 7a 69 67 3c 2f 63 69 74 65 3e ite.class="file">test.zig</cite>
dfe60 3c 2f 66 69 67 63 61 70 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
dfe80 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e ass="line"><span.class="tok-kw">
dfea0 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
dfec0 3d 22 74 6f 6b 2d 62 75 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
dfee0 70 61 6e 20 63 6c 61 73 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
dff00 6f 74 3b 3c 2f 73 70 61 6e 3e 29 2e 64 65 62 75 67 2e 70 72 69 6e 74 3b 3c 2f 73 70 61 6e 3e 0a ot;</span>).debug.print;</span>.
dff20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 <span.class="line"><span.class="
dff40 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="
dff60 74 6f 6b 2d 6b 77 22 3e 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
dff80 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
dffa0 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 76 6f 69 64 3c 2f 73 70 61 6e 3e 20 7b 3c 2f 73 70 61 6e 3e ="tok-type">void</span>.{</span>
dffc0 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 3c 73 70 61 6e 20 63 6c .<span.class="line">....<span.cl
dffe0 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 76 61 72 3c 2f 73 70 61 6e 3e 20 62 79 74 65 3a 20 3c 73 ass="tok-kw">var</span>.byte:.<s
e0000 70 61 6e 20 63 6c 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>.=
e0020 20 3c 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
e0040 70 61 6e 3e 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e pan>;</span>.<span.class="line">
e0060 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 3c </span>.<span.class="line">....<
e0080 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 76 61 72 3c 2f 73 70 61 6e 3e 20 72 span.class="tok-kw">var</span>.r
e00a0 65 73 75 6c 74 3a 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 75 38 esult:.<span.class="tok-type">u8
e00c0 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"
e00e0 3e 75 6e 64 65 66 69 6e 65 64 3c 2f 73 70 61 6e 3e 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 >undefined</span>;</span>.<span.
e0100 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f class="line">....<span.class="to
e0120 6b 2d 6b 77 22 3e 69 66 3c 2f 73 70 61 6e 3e 20 28 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f k-kw">if</span>.(<span.class="to
e0140 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
e0160 6e 3e 28 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 75 38 3c 2f 73 70 n>(<span.class="tok-type">u8</sp
e0180 61 6e 3e 2c 20 62 79 74 65 2c 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 an>,.byte,.<span.class="tok-numb
e01a0 65 72 22 3e 31 30 3c 2f 73 70 61 6e 3e 2c 20 26 61 6d 70 3b 72 65 73 75 6c 74 29 29 20 7b 3c 2f er">10</span>,.&amp;result)).{</
e01c0 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 20 20 20 span>.<span.class="line">.......
e01e0 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
e0200 6f 74 3b 6f 76 65 72 66 6c 6f 77 65 64 20 72 65 73 75 6c 74 3a 20 7b 7d 5c 6e 26 71 75 6f 74 3b ot;overflowed.result:.{}\n&quot;
e0220 3c 2f 73 70 61 6e 3e 2c 20 2e 7b 72 65 73 75 6c 74 7d 29 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 </span>,..{result});</span>.<spa
e0240 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 7d 20 3c 73 70 61 6e 20 63 6c 61 73 73 n.class="line">....}.<span.class
e0260 3d 22 74 6f 6b 2d 6b 77 22 3e 65 6c 73 65 3c 2f 73 70 61 6e 3e 20 7b 3c 2f 73 70 61 6e 3e 0a 3c ="tok-kw">else</span>.{</span>.<
e0280 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 20 20 20 20 70 72 69 6e 74 28 span.class="line">........print(
e02a0 3c 73 70 61 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 <span.class="tok-str">&quot;resu
e02c0 6c 74 3a 20 7b 7d 5c 6e 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 2c 20 2e 7b 72 65 73 75 6c 74 7d lt:.{}\n&quot;</span>,..{result}
e02e0 29 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 );</span>.<span.class="line">...
e0300 20 7d 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 7d 3c 2f .}</span>.<span.class="line">}</
e0320 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
e0340 72 65 3e 3c 66 69 67 63 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"
e0360 3e 53 68 65 6c 6c 3c 2f 66 69 67 63 61 70 74 69 6f 6e 3e 3c 70 72 65 3e 3c 73 61 6d 70 3e 3c 73 >Shell</figcaption><pre><samp><s
e0380 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 24 20 3c 6b 62 64 3e 7a 69 67 20 62 75 69 6c pan.class="line">$.<kbd>zig.buil
e03a0 64 2d 65 78 65 20 74 65 73 74 2e 7a 69 67 3c 2f 6b 62 64 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 d-exe.test.zig</kbd></span>.<spa
e03c0 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 n.class="line"></span>.<span.cla
e03e0 73 73 3d 22 6c 69 6e 65 22 3e 24 20 3c 6b 62 64 3e 2e 2f 74 65 73 74 3c 2f 6b 62 64 3e 3c 2f 73 ss="line">$.<kbd>./test</kbd></s
e0400 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 6f 76 65 72 66 6c 6f 77 pan>.<span.class="line">overflow
e0420 65 64 20 72 65 73 75 6c 74 3a 20 39 3c 2f 73 70 61 6e 3e 0a 3c 2f 73 61 6d 70 3e 3c 2f 70 72 65 ed.result:.9</span>.</samp></pre
e0440 3e 3c 2f 66 69 67 75 72 65 3e 0a 20 20 20 20 20 20 0a 20 20 20 20 20 20 3c 68 34 20 69 64 3d 22 ></figure>..............<h4.id="
e0460 57 72 61 70 70 69 6e 67 2d 4f 70 65 72 61 74 69 6f 6e 73 22 3e 3c 61 20 68 72 65 66 3d 22 23 74 Wrapping-Operations"><a.href="#t
e0480 6f 63 2d 57 72 61 70 70 69 6e 67 2d 4f 70 65 72 61 74 69 6f 6e 73 22 3e 57 72 61 70 70 69 6e 67 oc-Wrapping-Operations">Wrapping
e04a0 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
e04c0 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 c2 a7 3c 2f 61 ref="#Wrapping-Operations">..</a
e04e0 3e 3c 2f 68 34 3e 0a 0a 20 20 20 20 20 20 3c 70 3e 0a 20 20 20 20 20 20 54 68 65 73 65 20 6f 70 ></h4>........<p>.......These.op
e0500 65 72 61 74 69 6f 6e 73 20 68 61 76 65 20 67 75 61 72 61 6e 74 65 65 64 20 77 72 61 70 61 72 6f erations.have.guaranteed.wraparo
e0520 75 6e 64 20 73 65 6d 61 6e 74 69 63 73 2e 0a 20 20 20 20 20 20 3c 2f 70 3e 0a 20 20 20 20 20 20 und.semantics........</p>.......
e0540 3c 75 6c 3e 0a 20 20 20 20 20 20 20 20 20 20 3c 6c 69 3e 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 <ul>...........<li><code><span.c
e0560 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 2b 25 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 20 28 77 72 lass="line">+%</span></code>.(wr
e0580 61 70 61 72 6f 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 aparound.addition)</li>.........
e05a0 20 20 3c 6c 69 3e 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 2d ..<li><code><span.class="line">-
e05c0 25 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 20 28 77 72 61 70 61 72 6f 75 6e 64 20 73 75 62 74 %</span></code>.(wraparound.subt
e05e0 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 64 raction)</li>...........<li><cod
e0600 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 2d 25 3c 2f 73 70 61 6e 3e 3c 2f e><span.class="line">-%</span></
e0620 63 6f 64 65 3e 20 28 77 72 61 70 61 72 6f 75 6e 64 20 6e 65 67 61 74 69 6f 6e 29 3c 2f 6c 69 3e code>.(wraparound.negation)</li>
e0640 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
e0660 3d 22 6c 69 6e 65 22 3e 2a 25 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 20 28 77 72 61 70 61 72 ="line">*%</span></code>.(wrapar
e0680 6f 75 6e 64 20 6d 75 6c 74 69 70 6c 69 63 61 74 69 6f 6e 29 3c 2f 6c 69 3e 0a 20 20 20 20 20 20 ound.multiplication)</li>.......
e06a0 3c 2f 75 6c 3e 0a 20 20 20 20 20 20 3c 66 69 67 75 72 65 3e 3c 66 69 67 63 61 70 74 69 6f 6e 20 </ul>.......<figure><figcaption.
e06c0 63 6c 61 73 73 3d 22 7a 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
e06e0 65 22 3e 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 63 69 74 e">wraparound_semantics.zig</cit
e0700 65 3e 3c 2f 66 69 67 63 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.
e0720 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 class="line"><span.class="tok-kw
e0740 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
e0760 3d 22 74 6f 6b 2d 62 75 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
e0780 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 73 74 72 22 3e 26 71 75 6f 74 3b 73 74 64 26 71 75 pan.class="tok-str">&quot;std&qu
e07a0 6f 74 3b 3c 2f 73 70 61 6e 3e 29 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d ot;</span>);</span>.<span.class=
e07c0 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 63 6f 6e 73 "line"><span.class="tok-kw">cons
e07e0 74 3c 2f 73 70 61 6e 3e 20 65 78 70 65 63 74 20 3d 20 73 74 64 2e 74 65 73 74 69 6e 67 2e 65 78 t</span>.expect.=.std.testing.ex
e0800 70 65 63 74 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e pect;</span>.<span.class="line">
e0820 3c 73 70 61 6e 20 63 6c 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
e0840 3e 20 6d 69 6e 49 6e 74 20 3d 20 73 74 64 2e 6d 61 74 68 2e 6d 69 6e 49 6e 74 3b 3c 2f 73 70 61 >.minInt.=.std.math.minInt;</spa
e0860 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 n>.<span.class="line"><span.clas
e0880 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 20 3d s="tok-kw">const</span>.maxInt.=
e08a0 20 73 74 64 2e 6d 61 74 68 2e 6d 61 78 49 6e 74 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 .std.math.maxInt;</span>.<span.c
e08c0 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d lass="line"></span>.<span.class=
e08e0 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 74 65 73 74 "line"><span.class="tok-kw">test
e0900 3c 2f 73 70 61 6e 3e 20 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
e0920 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 6e 64 20 73 75 62 74 uot;wraparound.addition.and.subt
e0940 72 61 63 74 69 6f 6e 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 20 7b 3c 2f 73 70 61 6e 3e 0a 3c 73 raction&quot;</span>.{</span>.<s
e0960 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 pan.class="line">....<span.class
e0980 3d 22 74 6f 6b 2d 6b 77 22 3e 63 6f 6e 73 74 3c 2f 73 70 61 6e 3e 20 78 3a 20 3c 73 70 61 6e 20 ="tok-kw">const</span>.x:.<span.
e09a0 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 69 33 32 3c 2f 73 70 61 6e 3e 20 3d 20 6d 61 class="tok-type">i32</span>.=.ma
e09c0 78 49 6e 74 28 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 69 33 32 3c xInt(<span.class="tok-type">i32<
e09e0 2f 73 70 61 6e 3e 29 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e /span>);</span>.<span.class="lin
e0a00 65 22 3e 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 63 6f 6e 73 e">....<span.class="tok-kw">cons
e0a20 74 3c 2f 73 70 61 6e 3e 20 6d 69 6e 5f 76 61 6c 20 3d 20 78 20 2b 25 20 3c 73 70 61 6e 20 63 6c t</span>.min_val.=.x.+%.<span.cl
e0a40 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 31 3c 2f 73 70 61 6e 3e 3b 3c 2f 73 70 61 6e ass="tok-number">1</span>;</span
e0a60 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 3c 73 70 61 6e 20 63 >.<span.class="line">....<span.c
e0a80 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 74 72 79 3c 2f 73 70 61 6e 3e 20 65 78 70 65 63 74 28 lass="tok-kw">try</span>.expect(
e0aa0 6d 69 6e 5f 76 61 6c 20 3d 3d 20 6d 69 6e 49 6e 74 28 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 min_val.==.minInt(<span.class="t
e0ac0 6f 6b 2d 74 79 70 65 22 3e 69 33 32 3c 2f 73 70 61 6e 3e 29 29 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 ok-type">i32</span>));</span>.<s
e0ae0 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 pan.class="line">....<span.class
e0b00 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 20 3d ="tok-kw">const</span>.max_val.=
e0b20 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 75 6d .min_val.-%.<span.class="tok-num
e0b40 62 65 72 22 3e 31 3c 2f 73 70 61 6e 3e 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 ber">1</span>;</span>.<span.clas
e0b60 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 s="line">....<span.class="tok-kw
e0b80 22 3e 74 72 79 3c 2f 73 70 61 6e 3e 20 65 78 70 65 63 74 28 6d 61 78 5f 76 61 6c 20 3d 3d 20 6d ">try</span>.expect(max_val.==.m
e0ba0 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 33 32 axInt(<span.class="tok-type">i32
e0bc0 3c 2f 73 70 61 6e 3e 29 29 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c </span>));</span>.<span.class="l
e0be0 69 6e 65 22 3e 7d 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 3c 2f 70 72 65 3e 3c 2f 66 69 67 75 ine">}</span></code></pre></figu
e0c00 72 65 3e 3c 66 69 67 75 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
e0c20 65 6c 6c 2d 63 61 70 22 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>
e0c40 3c 73 61 6d 70 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 24 20 3c 6b 62 64 3e <samp><span.class="line">$.<kbd>
e0c60 7a 69 67 20 74 65 73 74 20 77 72 61 70 61 72 6f 75 6e 64 5f 73 65 6d 61 6e 74 69 63 73 2e 7a 69 zig.test.wraparound_semantics.zi
e0c80 67 3c 2f 6b 62 64 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 g</kbd></span>.<span.class="line
e0ca0 22 3e 31 2f 31 20 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 ">1/1.test.wraparound.addition.a
e0cc0 6e 64 20 73 75 62 74 72 61 63 74 69 6f 6e 2e 2e 2e 20 4f 4b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 nd.subtraction....OK</span>.<spa
e0ce0 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 41 6c 6c 20 31 20 74 65 73 74 73 20 70 61 73 73 65 n.class="line">All.1.tests.passe
e0d00 64 2e 3c 2f 73 70 61 6e 3e 0a 3c 2f 73 61 6d 70 3e 3c 2f 70 72 65 3e 3c 2f 66 69 67 75 72 65 3e d.</span>.</samp></pre></figure>
e0d20 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 45 78 61 .....................<h3.id="Exa
e0d40 63 74 2d 4c 65 66 74 2d 53 68 69 66 74 2d 4f 76 65 72 66 6c 6f 77 22 3e 3c 61 20 68 72 65 66 3d ct-Left-Shift-Overflow"><a.href=
e0d60 22 23 74 6f 63 2d 45 78 61 63 74 2d 4c 65 66 74 2d 53 68 69 66 74 2d 4f 76 65 72 66 6c 6f 77 22 "#toc-Exact-Left-Shift-Overflow"
e0d80 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 61 3e 20 3c >Exact.Left.Shift.Overflow</a>.<
e0da0 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 65 66 74 2d a.class="hdr".href="#Exact-Left-
e0dc0 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 20 20 20 Shift-Overflow">..</a></h3>.....
e0de0 20 20 20 3c 70 3e 41 74 20 63 6f 6d 70 69 6c 65 2d 74 69 6d 65 3a 3c 2f 70 3e 0a 20 20 20 20 20 ...<p>At.compile-time:</p>......
e0e00 20 3c 66 69 67 75 72 65 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-
e0e20 63 61 70 22 3e 3c 63 69 74 65 20 63 6c 61 73 73 3d 22 66 69 6c 65 22 3e 74 65 73 74 2e 7a 69 67 cap"><cite.class="file">test.zig
e0e40 3c 2f 63 69 74 65 3e 3c 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><
e0e60 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 span.class="line"><span.class="t
e0e80 6f 6b 2d 6b 77 22 3e 63 6f 6d 70 74 69 6d 65 3c 2f 73 70 61 6e 3e 20 7b 3c 2f 73 70 61 6e 3e 0a ok-kw">comptime</span>.{</span>.
e0ea0 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 <span.class="line">....<span.cla
e0ec0 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 63 6f 6e 73 74 3c 2f 73 70 61 6e 3e 20 78 20 3d 20 3c 73 70 ss="tok-kw">const</span>.x.=.<sp
e0ee0 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 62 75 69 6c 74 69 6e 22 3e 40 73 68 6c 45 78 61 63 74 an.class="tok-builtin">@shlExact
e0f00 3c 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
e0f20 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
e0f40 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-
e0f60 6e 75 6d 62 65 72 22 3e 30 62 30 31 30 31 30 31 30 31 3c 2f 73 70 61 6e 3e 29 2c 20 3c 73 70 61 number">0b01010101</span>),.<spa
e0f80 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 32 3c 2f 73 70 61 6e 3e 29 3b 3c n.class="tok-number">2</span>);<
e0fa0 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 5f 20 /span>.<span.class="line">...._.
e0fc0 3d 20 78 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 7d =.x;</span>.<span.class="line">}
e0fe0 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 3c 2f 70 72 65 3e 3c 2f 66 69 67 75 72 65 3e 3c 66 69 </span></code></pre></figure><fi
e1000 67 75 72 65 3e 3c 66 69 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
e1020 70 22 3e 53 68 65 6c 6c 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>
e1040 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 24 20 3c 6b 62 64 3e 7a 69 67 20 74 65 <span.class="line">$.<kbd>zig.te
e1060 73 74 20 74 65 73 74 2e 7a 69 67 20 2d 66 73 74 61 67 65 31 3c 2f 6b 62 64 3e 3c 2f 73 70 61 6e st.test.zig.-fstage1</kbd></span
e1080 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 >.<span.class="line"><span.class
e10a0 3d 22 74 30 5f 31 22 3e 2e 2f 64 6f 63 67 65 6e 5f 74 6d 70 2f 74 65 73 74 2e 7a 69 67 3a 32 3a ="t0_1">./docgen_tmp/test.zig:2:
e10c0 31 35 3a 20 3c 2f 73 70 61 6e 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 33 31 5f 31 22 3e 65 15:.</span><span.class="t31_1">e
e10e0 72 72 6f 72 3a 20 3c 2f 73 70 61 6e 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 30 5f 31 22 3e rror:.</span><span.class="t0_1">
e1100 6f 70 65 72 61 74 69 6f 6e 20 63 61 75 73 65 64 20 6f 76 65 72 66 6c 6f 77 3c 2f 73 70 61 6e 3e operation.caused.overflow</span>
e1120 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 63 </span>.<span.class="line">....c
e1140 6f 6e 73 74 20 78 20 3d 20 40 73 68 6c 45 78 61 63 74 28 40 61 73 28 75 38 2c 20 30 62 30 31 30 onst.x.=.@shlExact(@as(u8,.0b010
e1160 31 30 31 30 31 29 2c 20 32 29 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 10101),.2);</span>.<span.class="
e1180 6c 69 6e 65 22 3e 20 20 20 20 20 20 20 20 20 20 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d line">..............<span.class=
e11a0 22 74 33 32 5f 31 22 3e 5e 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 0a 3c 2f 73 61 6d 70 3e 3c "t32_1">^</span></span>.</samp><
e11c0 2f 70 72 65 3e 3c 2f 66 69 67 75 72 65 3e 0a 20 20 20 20 20 20 3c 70 3e 41 74 20 72 75 6e 74 69 /pre></figure>.......<p>At.runti
e11e0 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
e1200 6e 20 63 6c 61 73 73 3d 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
e1220 69 6c 65 22 3e 74 65 73 74 2e 7a 69 67 3c 2f 63 69 74 65 3e 3c 2f 66 69 67 63 61 70 74 69 6f 6e ile">test.zig</cite></figcaption
e1240 3e 3c 70 72 65 3e 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c ><pre><code><span.class="line"><
e1260 73 70 61 6e 20 63 6c 61 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>
e1280 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"
e12a0 3e 40 69 6d 70 6f 72 74 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
e12c0 2d 73 74 72 22 3e 26 71 75 6f 74 3b 73 74 64 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 29 3b 3c 2f -str">&quot;std&quot;</span>);</
e12e0 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 2f 73 70 61 6e 3e span>.<span.class="line"></span>
e1300 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d .<span.class="line"><span.class=
e1320 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=
e1340 22 74 6f 6b 2d 6b 77 22 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="
e1360 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
e1380 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 76 6f 69 64 3c 2f 73 70 61 6e 3e 20 7b 3c 2f 73 70 61 6e s="tok-type">void</span>.{</span
e13a0 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 3c 73 70 61 6e 20 63 >.<span.class="line">....<span.c
e13c0 6c 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
e13e0 6e 20 63 6c 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>.=.<
e1400 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 30 62 30 31 30 31 30 31 span.class="tok-number">0b010101
e1420 30 31 3c 2f 73 70 61 6e 3e 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 01</span>;</span>.<span.class="l
e1440 69 6e 65 22 3e 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 76 61 ine">....<span.class="tok-kw">va
e1460 72 3c 2f 73 70 61 6e 3e 20 79 20 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 62 75 r</span>.y.=.<span.class="tok-bu
e1480 69 6c 74 69 6e 22 3e 40 73 68 6c 45 78 61 63 74 3c 2f 73 70 61 6e 3e 28 78 2c 20 3c 73 70 61 6e iltin">@shlExact</span>(x,.<span
e14a0 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 32 3c 2f 73 70 61 6e 3e 29 3b 3c 2f .class="tok-number">2</span>);</
e14c0 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 73 74 64 span>.<span.class="line">....std
e14e0 2e 64 65 62 75 67 2e 70 72 69 6e 74 28 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 73 74 .debug.print(<span.class="tok-st
e1500 72 22 3e 26 71 75 6f 74 3b 76 61 6c 75 65 3a 20 7b 7d 5c 6e 26 71 75 6f 74 3b 3c 2f 73 70 61 6e r">&quot;value:.{}\n&quot;</span
e1520 3e 2c 20 2e 7b 79 7d 29 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 >,..{y});</span>.<span.class="li
e1540 6e 65 22 3e 7d 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 3c 2f 70 72 65 3e 3c 2f 66 69 67 75 72 ne">}</span></code></pre></figur
e1560 65 3e 3c 66 69 67 75 72 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
e1580 6c 6c 2d 63 61 70 22 3e 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><
e15a0 73 61 6d 70 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 24 20 3c 6b 62 64 3e 7a samp><span.class="line">$.<kbd>z
e15c0 69 67 20 62 75 69 6c 64 2d 65 78 65 20 74 65 73 74 2e 7a 69 67 3c 2f 6b 62 64 3e 3c 2f 73 70 61 ig.build-exe.test.zig</kbd></spa
e15e0 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 n>.<span.class="line"></span>.<s
e1600 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 24 20 3c 6b 62 64 3e 2e 2f 74 65 73 74 3c 2f pan.class="line">$.<kbd>./test</
e1620 6b 62 64 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 74 kbd></span>.<span.class="line">t
e1640 68 72 65 61 64 20 33 35 38 35 33 35 35 20 70 61 6e 69 63 3a 20 6c 65 66 74 20 73 68 69 66 74 20 hread.3585355.panic:.left.shift.
e1660 6f 76 65 72 66 6c 6f 77 65 64 20 62 69 74 73 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 overflowed.bits</span>.<span.cla
e1680 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 31 5f 30 22 3e 64 6f 63 ss="line"><span.class="t1_0">doc
e16a0 67 65 6e 5f 74 6d 70 2f 74 65 73 74 2e 7a 69 67 3a 35 3a 31 33 3c 2f 73 70 61 6e 3e 3a 20 3c 73 gen_tmp/test.zig:5:13</span>:.<s
e16c0 70 61 6e 20 63 6c 61 73 73 3d 22 74 32 5f 30 22 3e 30 78 32 31 30 33 32 61 20 69 6e 20 6d 61 69 pan.class="t2_0">0x21032a.in.mai
e16e0 6e 20 28 74 65 73 74 29 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 n.(test)</span></span>.<span.cla
e1700 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 76 61 72 20 79 20 3d 20 40 73 68 6c 45 78 61 63 74 28 ss="line">....var.y.=.@shlExact(
e1720 78 2c 20 32 29 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 x,.2);</span>.<span.class="line"
e1740 3e 20 20 20 20 20 20 20 20 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 33 32 5f 31 22 >............<span.class="t32_1"
e1760 3e 5e 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 >^</span></span>.<span.class="li
e1780 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 31 5f 30 22 3e 2f 68 6f 6d 65 2f 63 69 2f ne"><span.class="t1_0">/home/ci/
e17a0 72 65 6c 65 61 73 65 2d 30 2e 31 30 2e 31 2f 6f 75 74 2f 7a 69 67 2d 78 38 36 5f 36 34 2d 6c 69 release-0.10.1/out/zig-x86_64-li
e17c0 6e 75 78 2d 6d 75 73 6c 2d 62 61 73 65 6c 69 6e 65 2f 6c 69 62 2f 7a 69 67 2f 73 74 64 2f 73 74 nux-musl-baseline/lib/zig/std/st
e17e0 61 72 74 2e 7a 69 67 3a 36 30 34 3a 32 32 3c 2f 73 70 61 6e 3e 3a 20 3c 73 70 61 6e 20 63 6c 61 art.zig:604:22</span>:.<span.cla
e1800 73 73 3d 22 74 32 5f 30 22 3e 30 78 32 30 66 38 37 63 20 69 6e 20 70 6f 73 69 78 43 61 6c 6c 4d ss="t2_0">0x20f87c.in.posixCallM
e1820 61 69 6e 41 6e 64 45 78 69 74 20 28 74 65 73 74 29 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 0a ainAndExit.(test)</span></span>.
e1840 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 20 20 20 20 20 20 20 20 72 <span.class="line">............r
e1860 6f 6f 74 2e 6d 61 69 6e 28 29 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 oot.main();</span>.<span.class="
e1880 6c 69 6e 65 22 3e 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 3c 73 70 61 6e line">.....................<span
e18a0 20 63 6c 61 73 73 3d 22 74 33 32 5f 31 22 3e 5e 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 0a 3c .class="t32_1">^</span></span>.<
e18c0 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 span.class="line"><span.class="t
e18e0 31 5f 30 22 3e 2f 68 6f 6d 65 2f 63 69 2f 72 65 6c 65 61 73 65 2d 30 2e 31 30 2e 31 2f 6f 75 74 1_0">/home/ci/release-0.10.1/out
e1900 2f 7a 69 67 2d 78 38 36 5f 36 34 2d 6c 69 6e 75 78 2d 6d 75 73 6c 2d 62 61 73 65 6c 69 6e 65 2f /zig-x86_64-linux-musl-baseline/
e1920 6c 69 62 2f 7a 69 67 2f 73 74 64 2f 73 74 61 72 74 2e 7a 69 67 3a 33 37 36 3a 35 3c 2f 73 70 61 lib/zig/std/start.zig:376:5</spa
e1940 6e 3e 3a 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 32 5f 30 22 3e 30 78 32 30 66 33 38 31 20 n>:.<span.class="t2_0">0x20f381.
e1960 69 6e 20 5f 73 74 61 72 74 20 28 74 65 73 74 29 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 0a 3c in._start.(test)</span></span>.<
e1980 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 40 63 61 6c 6c 28 2e 7b 20 2e span.class="line">....@call(.{..
e19a0 6d 6f 64 69 66 69 65 72 20 3d 20 2e 6e 65 76 65 72 5f 69 6e 6c 69 6e 65 20 7d 2c 20 70 6f 73 69 modifier.=..never_inline.},.posi
e19c0 78 43 61 6c 6c 4d 61 69 6e 41 6e 64 45 78 69 74 2c 20 2e 7b 7d 29 3b 3c 2f 73 70 61 6e 3e 0a 3c xCallMainAndExit,..{});</span>.<
e19e0 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 span.class="line">....<span.clas
e1a00 73 3d 22 74 33 32 5f 31 22 3e 5e 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 s="t32_1">^</span></span>.<span.
e1a20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 28 70 72 6f 63 65 73 73 20 74 65 72 6d 69 6e 61 74 65 64 class="line">(process.terminated
e1a40 20 62 79 20 73 69 67 6e 61 6c 29 3c 2f 73 70 61 6e 3e 0a 3c 2f 73 61 6d 70 3e 3c 2f 70 72 65 3e .by.signal)</span>.</samp></pre>
e1a60 3c 2f 66 69 67 75 72 65 3e 0a 20 20 20 20 20 20 0a 20 20 20 20 20 20 3c 68 33 20 69 64 3d 22 45 </figure>..............<h3.id="E
e1a80 78 61 63 74 2d 52 69 67 68 74 2d 53 68 69 66 74 2d 4f 76 65 72 66 6c 6f 77 22 3e 3c 61 20 68 72 xact-Right-Shift-Overflow"><a.hr
e1aa0 65 66 3d 22 23 74 6f 63 2d 45 78 61 63 74 2d 52 69 67 68 74 2d 53 68 69 66 74 2d 4f 76 65 72 66 ef="#toc-Exact-Right-Shift-Overf
e1ac0 6c 6f 77 22 3e 45 78 61 63 74 20 52 69 67 68 74 20 53 68 69 66 74 20 4f 76 65 72 66 6c 6f 77 3c low">Exact.Right.Shift.Overflow<
e1ae0 2f 61 3e 20 3c 61 20 63 6c 61 73 73 3d 22 68 64 72 22 20 68 72 65 66 3d 22 23 45 78 61 63 74 2d /a>.<a.class="hdr".href="#Exact-
e1b00 52 69 67 68 74 2d 53 68 69 66 74 2d 4f 76 65 72 66 6c 6f 77 22 3e c2 a7 3c 2f 61 3e 3c 2f 68 33 Right-Shift-Overflow">..</a></h3
e1b20 3e 0a 0a 20 20 20 20 20 20 3c 70 3e 41 74 20 63 6f 6d 70 69 6c 65 2d 74 69 6d 65 3a 3c 2f 70 3e >........<p>At.compile-time:</p>
e1b40 0a 20 20 20 20 20 20 3c 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
e1b60 3d 22 7a 69 67 2d 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
e1b80 73 74 2e 7a 69 67 3c 2f 63 69 74 65 3e 3c 2f 66 69 67 63 61 70 74 69 6f 6e 3e 3c 70 72 65 3e 3c st.zig</cite></figcaption><pre><
e1ba0 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c code><span.class="line"><span.cl
e1bc0 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 63 6f 6d 70 74 69 6d 65 3c 2f 73 70 61 6e 3e 20 7b 3c 2f ass="tok-kw">comptime</span>.{</
e1be0 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 3c 73 70 span>.<span.class="line">....<sp
e1c00 61 6e 20 63 6c 61 73 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
e1c20 20 3d 20 3c 73 70 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 .=.<span.class="tok-builtin">@sh
e1c40 72 45 78 61 63 74 3c 2f 73 70 61 6e 3e 28 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 62 rExact</span>(<span.class="tok-b
e1c60 75 69 6c 74 69 6e 22 3e 40 61 73 3c 2f 73 70 61 6e 3e 28 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 uiltin">@as</span>(<span.class="
e1c80 74 6f 6b 2d 74 79 70 65 22 3e 75 38 3c 2f 73 70 61 6e 3e 2c 20 3c 73 70 61 6e 20 63 6c 61 73 73 tok-type">u8</span>,.<span.class
e1ca0 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 30 62 31 30 31 30 31 30 31 30 3c 2f 73 70 61 6e 3e 29 ="tok-number">0b10101010</span>)
e1cc0 2c 20 3c 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
e1ce0 61 6e 3e 29 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e an>);</span>.<span.class="line">
e1d00 20 20 20 20 5f 20 3d 20 78 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c ...._.=.x;</span>.<span.class="l
e1d20 69 6e 65 22 3e 7d 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 3c 2f 70 72 65 3e 3c 2f 66 69 67 75 ine">}</span></code></pre></figu
e1d40 72 65 3e 3c 66 69 67 75 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
e1d60 65 6c 6c 2d 63 61 70 22 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>
e1d80 3c 73 61 6d 70 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 24 20 3c 6b 62 64 3e <samp><span.class="line">$.<kbd>
e1da0 7a 69 67 20 74 65 73 74 20 74 65 73 74 2e 7a 69 67 20 2d 66 73 74 61 67 65 31 3c 2f 6b 62 64 3e zig.test.test.zig.-fstage1</kbd>
e1dc0 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e </span>.<span.class="line"><span
e1de0 20 63 6c 61 73 73 3d 22 74 30 5f 31 22 3e 2e 2f 64 6f 63 67 65 6e 5f 74 6d 70 2f 74 65 73 74 2e .class="t0_1">./docgen_tmp/test.
e1e00 7a 69 67 3a 32 3a 31 35 3a 20 3c 2f 73 70 61 6e 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 33 zig:2:15:.</span><span.class="t3
e1e20 31 5f 31 22 3e 65 72 72 6f 72 3a 20 3c 2f 73 70 61 6e 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 1_1">error:.</span><span.class="
e1e40 74 30 5f 31 22 3e 65 78 61 63 74 20 73 68 69 66 74 20 73 68 69 66 74 65 64 20 6f 75 74 20 31 20 t0_1">exact.shift.shifted.out.1.
e1e60 62 69 74 73 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 bits</span></span>.<span.class="
e1e80 6c 69 6e 65 22 3e 20 20 20 20 63 6f 6e 73 74 20 78 20 3d 20 40 73 68 72 45 78 61 63 74 28 40 61 line">....const.x.=.@shrExact(@a
e1ea0 73 28 75 38 2c 20 30 62 31 30 31 30 31 30 31 30 29 2c 20 32 29 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 s(u8,.0b10101010),.2);</span>.<s
e1ec0 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 20 20 20 20 20 20 20 20 20 20 3c pan.class="line">..............<
e1ee0 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 33 32 5f 31 22 3e 5e 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 span.class="t32_1">^</span></spa
e1f00 6e 3e 0a 3c 2f 73 61 6d 70 3e 3c 2f 70 72 65 3e 3c 2f 66 69 67 75 72 65 3e 0a 20 20 20 20 20 20 n>.</samp></pre></figure>.......
e1f20 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
e1f40 3e 3c 66 69 67 63 61 70 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
e1f60 74 65 20 63 6c 61 73 73 3d 22 66 69 6c 65 22 3e 74 65 73 74 2e 7a 69 67 3c 2f 63 69 74 65 3e 3c te.class="file">test.zig</cite><
e1f80 2f 66 69 67 63 61 70 74 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
e1fa0 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 63 ss="line"><span.class="tok-kw">c
e1fc0 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
e1fe0 6f 6b 2d 62 75 69 6c 74 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
e2000 20 63 6c 61 73 73 3d 22 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;
e2020 3c 2f 73 70 61 6e 3e 29 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 </span>);</span>.<span.class="li
e2040 6e 65 22 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c ne"></span>.<span.class="line"><
e2060 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>.<
e2080 73 70 61 6e 20 63 6c 61 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
e20a0 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 66 6e 22 3e 6d 61 69 6e 3c 2f 73 70 61 6e 3e 28 29 pan.class="tok-fn">main</span>()
e20c0 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
e20e0 61 6e 3e 20 7b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e an>.{</span>.<span.class="line">
e2100 20 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
e2120 61 6e 3e 20 78 3a 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 75 38 an>.x:.<span.class="tok-type">u8
e2140 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
e2160 72 22 3e 30 62 31 30 31 30 31 30 31 30 3c 2f 73 70 61 6e 3e 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 r">0b10101010</span>;</span>.<sp
e2180 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d an.class="line">....<span.class=
e21a0 22 74 6f 6b 2d 6b 77 22 3e 76 61 72 3c 2f 73 70 61 6e 3e 20 79 20 3d 20 3c 73 70 61 6e 20 63 6c "tok-kw">var</span>.y.=.<span.cl
e21c0 61 73 73 3d 22 74 6f 6b 2d 62 75 69 6c 74 69 6e 22 3e 40 73 68 72 45 78 61 63 74 3c 2f 73 70 61 ass="tok-builtin">@shrExact</spa
e21e0 6e 3e 28 78 2c 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 32 n>(x,.<span.class="tok-number">2
e2200 3c 2f 73 70 61 6e 3e 29 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 </span>);</span>.<span.class="li
e2220 6e 65 22 3e 20 20 20 20 73 74 64 2e 64 65 62 75 67 2e 70 72 69 6e 74 28 3c 73 70 61 6e 20 63 6c ne">....std.debug.print(<span.cl
e2240 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&
e2260 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 2c 20 2e 7b 79 7d 29 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 quot;</span>,..{y});</span>.<spa
e2280 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 7d 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 3c 2f n.class="line">}</span></code></
e22a0 70 72 65 3e 3c 2f 66 69 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
e22c0 20 63 6c 61 73 73 3d 22 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
e22e0 74 69 6f 6e 3e 3c 70 72 65 3e 3c 73 61 6d 70 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e tion><pre><samp><span.class="lin
e2300 65 22 3e 24 20 3c 6b 62 64 3e 7a 69 67 20 62 75 69 6c 64 2d 65 78 65 20 74 65 73 74 2e 7a 69 67 e">$.<kbd>zig.build-exe.test.zig
e2320 3c 2f 6b 62 64 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 </kbd></span>.<span.class="line"
e2340 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 24 20 3c 6b ></span>.<span.class="line">$.<k
e2360 62 64 3e 2e 2f 74 65 73 74 3c 2f 6b 62 64 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 bd>./test</kbd></span>.<span.cla
e2380 73 73 3d 22 6c 69 6e 65 22 3e 74 68 72 65 61 64 20 33 35 38 35 34 39 34 20 70 61 6e 69 63 3a 20 ss="line">thread.3585494.panic:.
e23a0 72 69 67 68 74 20 73 68 69 66 74 20 6f 76 65 72 66 6c 6f 77 65 64 20 62 69 74 73 3c 2f 73 70 61 right.shift.overflowed.bits</spa
e23c0 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 n>.<span.class="line"><span.clas
e23e0 73 3d 22 74 31 5f 30 22 3e 64 6f 63 67 65 6e 5f 74 6d 70 2f 74 65 73 74 2e 7a 69 67 3a 35 3a 31 s="t1_0">docgen_tmp/test.zig:5:1
e2400 33 3c 2f 73 70 61 6e 3e 3a 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 32 5f 30 22 3e 30 78 32 3</span>:.<span.class="t2_0">0x2
e2420 31 30 33 32 31 20 69 6e 20 6d 61 69 6e 20 28 74 65 73 74 29 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 10321.in.main.(test)</span></spa
e2440 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 76 61 72 20 79 20 n>.<span.class="line">....var.y.
e2460 3d 20 40 73 68 72 45 78 61 63 74 28 78 2c 20 32 29 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 =.@shrExact(x,.2);</span>.<span.
e2480 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 20 20 20 20 20 20 20 20 3c 73 70 61 6e 20 63 class="line">............<span.c
e24a0 6c 61 73 73 3d 22 74 33 32 5f 31 22 3e 5e 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 lass="t32_1">^</span></span>.<sp
e24c0 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 31 5f an.class="line"><span.class="t1_
e24e0 30 22 3e 2f 68 6f 6d 65 2f 63 69 2f 72 65 6c 65 61 73 65 2d 30 2e 31 30 2e 31 2f 6f 75 74 2f 7a 0">/home/ci/release-0.10.1/out/z
e2500 69 67 2d 78 38 36 5f 36 34 2d 6c 69 6e 75 78 2d 6d 75 73 6c 2d 62 61 73 65 6c 69 6e 65 2f 6c 69 ig-x86_64-linux-musl-baseline/li
e2520 62 2f 7a 69 67 2f 73 74 64 2f 73 74 61 72 74 2e 7a 69 67 3a 36 30 34 3a 32 32 3c 2f 73 70 61 6e b/zig/std/start.zig:604:22</span
e2540 3e 3a 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 32 5f 30 22 3e 30 78 32 30 66 38 37 63 20 69 >:.<span.class="t2_0">0x20f87c.i
e2560 6e 20 70 6f 73 69 78 43 61 6c 6c 4d 61 69 6e 41 6e 64 45 78 69 74 20 28 74 65 73 74 29 3c 2f 73 n.posixCallMainAndExit.(test)</s
e2580 70 61 6e 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 pan></span>.<span.class="line">.
e25a0 20 20 20 20 20 20 20 20 20 20 20 72 6f 6f 74 2e 6d 61 69 6e 28 29 3b 3c 2f 73 70 61 6e 3e 0a 3c ...........root.main();</span>.<
e25c0 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 20 20 20 20 20 20 20 20 20 20 span.class="line">..............
e25e0 20 20 20 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 33 32 5f 31 22 3e 5e 3c 2f 73 70 .......<span.class="t32_1">^</sp
e2600 61 6e 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 an></span>.<span.class="line"><s
e2620 70 61 6e 20 63 6c 61 73 73 3d 22 74 31 5f 30 22 3e 2f 68 6f 6d 65 2f 63 69 2f 72 65 6c 65 61 73 pan.class="t1_0">/home/ci/releas
e2640 65 2d 30 2e 31 30 2e 31 2f 6f 75 74 2f 7a 69 67 2d 78 38 36 5f 36 34 2d 6c 69 6e 75 78 2d 6d 75 e-0.10.1/out/zig-x86_64-linux-mu
e2660 73 6c 2d 62 61 73 65 6c 69 6e 65 2f 6c 69 62 2f 7a 69 67 2f 73 74 64 2f 73 74 61 72 74 2e 7a 69 sl-baseline/lib/zig/std/start.zi
e2680 67 3a 33 37 36 3a 35 3c 2f 73 70 61 6e 3e 3a 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 32 5f g:376:5</span>:.<span.class="t2_
e26a0 30 22 3e 30 78 32 30 66 33 38 31 20 69 6e 20 5f 73 74 61 72 74 20 28 74 65 73 74 29 3c 2f 73 70 0">0x20f381.in._start.(test)</sp
e26c0 61 6e 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 an></span>.<span.class="line">..
e26e0 20 20 40 63 61 6c 6c 28 2e 7b 20 2e 6d 6f 64 69 66 69 65 72 20 3d 20 2e 6e 65 76 65 72 5f 69 6e ..@call(.{..modifier.=..never_in
e2700 6c 69 6e 65 20 7d 2c 20 70 6f 73 69 78 43 61 6c 6c 4d 61 69 6e 41 6e 64 45 78 69 74 2c 20 2e 7b line.},.posixCallMainAndExit,..{
e2720 7d 29 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 });</span>.<span.class="line">..
e2740 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 33 32 5f 31 22 3e 5e 3c 2f 73 70 61 6e 3e 3c 2f ..<span.class="t32_1">^</span></
e2760 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 28 70 72 6f 63 65 73 span>.<span.class="line">(proces
e2780 73 20 74 65 72 6d 69 6e 61 74 65 64 20 62 79 20 73 69 67 6e 61 6c 29 3c 2f 73 70 61 6e 3e 0a 3c s.terminated.by.signal)</span>.<
e27a0 2f 73 61 6d 70 3e 3c 2f 70 72 65 3e 3c 2f 66 69 67 75 72 65 3e 0a 20 20 20 20 20 20 0a 20 20 20 /samp></pre></figure>...........
e27c0 20 20 20 3c 68 33 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 ...<h3.id="Division-by-Zero"><a.
e27e0 68 72 65 66 3d 22 23 74 6f 63 2d 44 69 76 69 73 69 6f 6e 2d 62 79 2d 5a 65 72 6f 22 3e 44 69 76 href="#toc-Division-by-Zero">Div
e2800 69 73 69 6f 6e 20 62 79 20 5a 65 72 6f 3c 2f 61 3e 20 3c 61 20 63 6c 61 73 73 3d 22 68 64 72 22 ision.by.Zero</a>.<a.class="hdr"
e2820 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 2f 61 3e .href="#Division-by-Zero">..</a>
e2840 3c 2f 68 33 3e 0a 0a 20 20 20 20 20 20 3c 70 3e 41 74 20 63 6f 6d 70 69 6c 65 2d 74 69 6d 65 3a </h3>........<p>At.compile-time:
e2860 3c 2f 70 3e 0a 20 20 20 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
e2880 6c 61 73 73 3d 22 7a 69 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
e28a0 22 3e 74 65 73 74 2e 7a 69 67 3c 2f 63 69 74 65 3e 3c 2f 66 69 67 63 61 70 74 69 6f 6e 3e 3c 70 ">test.zig</cite></figcaption><p
e28c0 72 65 3e 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 re><code><span.class="line"><spa
e28e0 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>
e2900 20 7b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 .{</span>.<span.class="line">...
e2920 20 3c 73 70 61 6e 20 63 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
e2940 6e 3e 20 61 3a 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 69 33 32 n>.a:.<span.class="tok-type">i32
e2960 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
e2980 72 22 3e 31 3c 2f 73 70 61 6e 3e 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d r">1</span>;</span>.<span.class=
e29a0 22 6c 69 6e 65 22 3e 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e "line">....<span.class="tok-kw">
e29c0 63 6f 6e 73 74 3c 2f 73 70 61 6e 3e 20 62 3a 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b const</span>.b:.<span.class="tok
e29e0 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=
e2a00 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 30 3c 2f 73 70 61 6e 3e 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 "tok-number">0</span>;</span>.<s
e2a20 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 pan.class="line">....<span.class
e2a40 3d 22 74 6f 6b 2d 6b 77 22 3e 63 6f 6e 73 74 3c 2f 73 70 61 6e 3e 20 63 20 3d 20 61 20 2f 20 62 ="tok-kw">const</span>.c.=.a./.b
e2a60 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 ;</span>.<span.class="line">....
e2a80 5f 20 3d 20 63 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 _.=.c;</span>.<span.class="line"
e2aa0 3e 7d 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 3c 2f 70 72 65 3e 3c 2f 66 69 67 75 72 65 3e 3c >}</span></code></pre></figure><
e2ac0 66 69 67 75 72 65 3e 3c 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-
e2ae0 63 61 70 22 3e 53 68 65 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
e2b00 70 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 24 20 3c 6b 62 64 3e 7a 69 67 20 p><span.class="line">$.<kbd>zig.
e2b20 74 65 73 74 20 74 65 73 74 2e 7a 69 67 3c 2f 6b 62 64 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e test.test.zig</kbd></span>.<span
e2b40 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 31 5f 30 22 .class="line"><span.class="t1_0"
e2b60 3e 64 6f 63 67 65 6e 5f 74 6d 70 2f 74 65 73 74 2e 7a 69 67 3a 34 3a 31 39 3a 20 3c 2f 73 70 61 >docgen_tmp/test.zig:4:19:.</spa
e2b80 6e 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 33 31 5f 31 22 3e 65 72 72 6f 72 3a 20 3c 2f 73 n><span.class="t31_1">error:.</s
e2ba0 70 61 6e 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 31 5f 30 22 3e 64 69 76 69 73 69 6f 6e 20 pan><span.class="t1_0">division.
e2bc0 62 79 20 7a 65 72 6f 20 68 65 72 65 20 63 61 75 73 65 73 20 75 6e 64 65 66 69 6e 65 64 20 62 65 by.zero.here.causes.undefined.be
e2be0 68 61 76 69 6f 72 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 havior</span>.<span.class="line"
e2c00 3e 3c 2f 73 70 61 6e 3e 20 20 20 20 63 6f 6e 73 74 20 63 20 3d 20 61 20 2f 20 62 3b 3c 2f 73 70 ></span>....const.c.=.a./.b;</sp
e2c20 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 20 20 20 20 20 an>.<span.class="line">.........
e2c40 20 20 20 20 20 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 33 32 5f 31 22 3e 5e 3c 2f .........<span.class="t32_1">^</
e2c60 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 2f 73 70 61 6e 3e span>.<span.class="line"></span>
e2c80 3c 2f 73 70 61 6e 3e 0a 3c 2f 73 61 6d 70 3e 3c 2f 70 72 65 3e 3c 2f 66 69 67 75 72 65 3e 0a 20 </span>.</samp></pre></figure>..
e2ca0 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
e2cc0 69 67 75 72 65 3e 3c 66 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
e2ce0 22 3e 3c 63 69 74 65 20 63 6c 61 73 73 3d 22 66 69 6c 65 22 3e 74 65 73 74 2e 7a 69 67 3c 2f 63 "><cite.class="file">test.zig</c
e2d00 69 74 65 3e 3c 2f 66 69 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
e2d20 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d n.class="line"><span.class="tok-
e2d40 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
e2d60 73 73 3d 22 74 6f 6b 2d 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>(
e2d80 3c 73 70 61 6e 20 63 6c 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&
e2da0 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 29 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 quot;</span>);</span>.<span.clas
e2dc0 73 3d 22 6c 69 6e 65 22 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 s="line"></span>.<span.class="li
e2de0 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 70 75 62 3c 2f 73 70 ne"><span.class="tok-kw">pub</sp
e2e00 61 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
e2e20 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
e2e40 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
e2e60 64 3c 2f 73 70 61 6e 3e 20 7b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c d</span>.{</span>.<span.class="l
e2e80 69 6e 65 22 3e 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 76 61 ine">....<span.class="tok-kw">va
e2ea0 72 3c 2f 73 70 61 6e 3e 20 61 3a 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 r</span>.a:.<span.class="tok-typ
e2ec0 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
e2ee0 2d 6e 75 6d 62 65 72 22 3e 31 3c 2f 73 70 61 6e 3e 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 -number">1</span>;</span>.<span.
e2f00 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f class="line">....<span.class="to
e2f20 6b 2d 6b 77 22 3e 76 61 72 3c 2f 73 70 61 6e 3e 20 62 3a 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d k-kw">var</span>.b:.<span.class=
e2f40 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
e2f60 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 30 3c 2f 73 70 61 6e 3e 3b 3c 2f 73 70 61 6e ass="tok-number">0</span>;</span
e2f80 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 3c 73 70 61 6e 20 63 >.<span.class="line">....<span.c
e2fa0 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 76 61 72 3c 2f 73 70 61 6e 3e 20 63 20 3d 20 61 20 2f lass="tok-kw">var</span>.c.=.a./
e2fc0 20 62 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 .b;</span>.<span.class="line">..
e2fe0 20 20 73 74 64 2e 64 65 62 75 67 2e 70 72 69 6e 74 28 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 ..std.debug.print(<span.class="t
e3000 6f 6b 2d 73 74 72 22 3e 26 71 75 6f 74 3b 76 61 6c 75 65 3a 20 7b 7d 5c 6e 26 71 75 6f 74 3b 3c ok-str">&quot;value:.{}\n&quot;<
e3020 2f 73 70 61 6e 3e 2c 20 2e 7b 63 7d 29 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 /span>,..{c});</span>.<span.clas
e3040 73 3d 22 6c 69 6e 65 22 3e 7d 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 3c 2f 70 72 65 3e 3c 2f s="line">}</span></code></pre></
e3060 66 69 67 75 72 65 3e 3c 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
e3080 3d 22 73 68 65 6c 6c 2d 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><
e30a0 70 72 65 3e 3c 73 61 6d 70 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 24 20 3c pre><samp><span.class="line">$.<
e30c0 6b 62 64 3e 7a 69 67 20 62 75 69 6c 64 2d 65 78 65 20 74 65 73 74 2e 7a 69 67 3c 2f 6b 62 64 3e kbd>zig.build-exe.test.zig</kbd>
e30e0 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 2f 73 70 61 </span>.<span.class="line"></spa
e3100 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 24 20 3c 6b 62 64 3e 2e 2f 74 n>.<span.class="line">$.<kbd>./t
e3120 65 73 74 3c 2f 6b 62 64 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 est</kbd></span>.<span.class="li
e3140 6e 65 22 3e 74 68 72 65 61 64 20 33 35 38 35 36 30 34 20 70 61 6e 69 63 3a 20 64 69 76 69 73 69 ne">thread.3585604.panic:.divisi
e3160 6f 6e 20 62 79 20 7a 65 72 6f 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c on.by.zero</span>.<span.class="l
e3180 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 31 5f 30 22 3e 64 6f 63 67 65 6e 5f 74 ine"><span.class="t1_0">docgen_t
e31a0 6d 70 2f 74 65 73 74 2e 7a 69 67 3a 36 3a 31 35 3c 2f 73 70 61 6e 3e 3a 20 3c 73 70 61 6e 20 63 mp/test.zig:6:15</span>:.<span.c
e31c0 6c 61 73 73 3d 22 74 32 5f 30 22 3e 30 78 32 31 30 33 34 61 20 69 6e 20 6d 61 69 6e 20 28 74 65 lass="t2_0">0x21034a.in.main.(te
e31e0 73 74 29 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c st)</span></span>.<span.class="l
e3200 69 6e 65 22 3e 20 20 20 20 76 61 72 20 63 20 3d 20 61 20 2f 20 62 3b 3c 2f 73 70 61 6e 3e 0a 3c ine">....var.c.=.a./.b;</span>.<
e3220 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 20 20 20 20 20 20 20 20 20 20 span.class="line">..............
e3240 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 33 32 5f 31 22 3e 5e 3c 2f 73 70 61 6e 3e 3c 2f 73 70 <span.class="t32_1">^</span></sp
e3260 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 an>.<span.class="line"><span.cla
e3280 73 73 3d 22 74 31 5f 30 22 3e 2f 68 6f 6d 65 2f 63 69 2f 72 65 6c 65 61 73 65 2d 30 2e 31 30 2e ss="t1_0">/home/ci/release-0.10.
e32a0 31 2f 6f 75 74 2f 7a 69 67 2d 78 38 36 5f 36 34 2d 6c 69 6e 75 78 2d 6d 75 73 6c 2d 62 61 73 65 1/out/zig-x86_64-linux-musl-base
e32c0 6c 69 6e 65 2f 6c 69 62 2f 7a 69 67 2f 73 74 64 2f 73 74 61 72 74 2e 7a 69 67 3a 36 30 34 3a 32 line/lib/zig/std/start.zig:604:2
e32e0 32 3c 2f 73 70 61 6e 3e 3a 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 32 5f 30 22 3e 30 78 32 2</span>:.<span.class="t2_0">0x2
e3300 30 66 38 39 63 20 69 6e 20 70 6f 73 69 78 43 61 6c 6c 4d 61 69 6e 41 6e 64 45 78 69 74 20 28 74 0f89c.in.posixCallMainAndExit.(t
e3320 65 73 74 29 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 est)</span></span>.<span.class="
e3340 6c 69 6e 65 22 3e 20 20 20 20 20 20 20 20 20 20 20 20 72 6f 6f 74 2e 6d 61 69 6e 28 29 3b 3c 2f line">............root.main();</
e3360 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 20 20 20 span>.<span.class="line">.......
e3380 20 20 20 20 20 20 20 20 20 20 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 33 32 5f 31 ..............<span.class="t32_1
e33a0 22 3e 5e 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c ">^</span></span>.<span.class="l
e33c0 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 31 5f 30 22 3e 2f 68 6f 6d 65 2f 63 69 ine"><span.class="t1_0">/home/ci
e33e0 2f 72 65 6c 65 61 73 65 2d 30 2e 31 30 2e 31 2f 6f 75 74 2f 7a 69 67 2d 78 38 36 5f 36 34 2d 6c /release-0.10.1/out/zig-x86_64-l
e3400 69 6e 75 78 2d 6d 75 73 6c 2d 62 61 73 65 6c 69 6e 65 2f 6c 69 62 2f 7a 69 67 2f 73 74 64 2f 73 inux-musl-baseline/lib/zig/std/s
e3420 74 61 72 74 2e 7a 69 67 3a 33 37 36 3a 35 3c 2f 73 70 61 6e 3e 3a 20 3c 73 70 61 6e 20 63 6c 61 tart.zig:376:5</span>:.<span.cla
e3440 73 73 3d 22 74 32 5f 30 22 3e 30 78 32 30 66 33 61 31 20 69 6e 20 5f 73 74 61 72 74 20 28 74 65 ss="t2_0">0x20f3a1.in._start.(te
e3460 73 74 29 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c st)</span></span>.<span.class="l
e3480 69 6e 65 22 3e 20 20 20 20 40 63 61 6c 6c 28 2e 7b 20 2e 6d 6f 64 69 66 69 65 72 20 3d 20 2e 6e ine">....@call(.{..modifier.=..n
e34a0 65 76 65 72 5f 69 6e 6c 69 6e 65 20 7d 2c 20 70 6f 73 69 78 43 61 6c 6c 4d 61 69 6e 41 6e 64 45 ever_inline.},.posixCallMainAndE
e34c0 78 69 74 2c 20 2e 7b 7d 29 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c xit,..{});</span>.<span.class="l
e34e0 69 6e 65 22 3e 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 33 32 5f 31 22 3e 5e 3c 2f ine">....<span.class="t32_1">^</
e3500 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e span></span>.<span.class="line">
e3520 28 70 72 6f 63 65 73 73 20 74 65 72 6d 69 6e 61 74 65 64 20 62 79 20 73 69 67 6e 61 6c 29 3c 2f (process.terminated.by.signal)</
e3540 73 70 61 6e 3e 0a 3c 2f 73 61 6d 70 3e 3c 2f 70 72 65 3e 3c 2f 66 69 67 75 72 65 3e 0a 20 20 20 span>.</samp></pre></figure>....
e3560 20 20 20 0a 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 ..........<h3.id="Remainder-Divi
e3580 73 69 6f 6e 2d 62 79 2d 5a 65 72 6f 22 3e 3c 61 20 68 72 65 66 3d 22 23 74 6f 63 2d 52 65 6d 61 sion-by-Zero"><a.href="#toc-Rema
e35a0 69 6e 64 65 72 2d 44 69 76 69 73 69 6f 6e 2d 62 79 2d 5a 65 72 6f 22 3e 52 65 6d 61 69 6e 64 65 inder-Division-by-Zero">Remainde
e35c0 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 6c 61 73 73 3d r.Division.by.Zero</a>.<a.class=
e35e0 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 73 69 6f 6e 2d "hdr".href="#Remainder-Division-
e3600 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 20 3c 70 3e 41 by-Zero">..</a></h3>........<p>A
e3620 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
e3640 65 3e 3c 66 69 67 63 61 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
e3660 69 74 65 20 63 6c 61 73 73 3d 22 66 69 6c 65 22 3e 74 65 73 74 2e 7a 69 67 3c 2f 63 69 74 65 3e ite.class="file">test.zig</cite>
e3680 3c 2f 66 69 67 63 61 70 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
e36a0 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e ass="line"><span.class="tok-kw">
e36c0 63 6f 6d 70 74 69 6d 65 3c 2f 73 70 61 6e 3e 20 7b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 comptime</span>.{</span>.<span.c
e36e0 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b lass="line">....<span.class="tok
e3700 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
e3720 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
e3740 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 31 30 3c 2f 73 70 61 6e 3e 3b 3c 2f 73 70 lass="tok-number">10</span>;</sp
e3760 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 3c 73 70 61 6e an>.<span.class="line">....<span
e3780 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 63 6f 6e 73 74 3c 2f 73 70 61 6e 3e 20 62 3a 20 .class="tok-kw">const</span>.b:.
e37a0 3c 73 70 61 6e 20 63 6c 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
e37c0 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</
e37e0 73 70 61 6e 3e 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 span>;</span>.<span.class="line"
e3800 3e 20 20 20 20 3c 73 70 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<
e3820 2f 73 70 61 6e 3e 20 63 20 3d 20 61 20 25 20 62 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 /span>.c.=.a.%.b;</span>.<span.c
e3840 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 5f 20 3d 20 63 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 lass="line">...._.=.c;</span>.<s
e3860 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 7d 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e pan.class="line">}</span></code>
e3880 3c 2f 70 72 65 3e 3c 2f 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
e38a0 6f 6e 20 63 6c 61 73 73 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
e38c0 61 70 74 69 6f 6e 3e 3c 70 72 65 3e 3c 73 61 6d 70 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c aption><pre><samp><span.class="l
e38e0 69 6e 65 22 3e 24 20 3c 6b 62 64 3e 7a 69 67 20 74 65 73 74 20 74 65 73 74 2e 7a 69 67 3c 2f 6b ine">$.<kbd>zig.test.test.zig</k
e3900 62 64 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 bd></span>.<span.class="line"><s
e3920 70 61 6e 20 63 6c 61 73 73 3d 22 74 31 5f 30 22 3e 64 6f 63 67 65 6e 5f 74 6d 70 2f 74 65 73 74 pan.class="t1_0">docgen_tmp/test
e3940 2e 7a 69 67 3a 34 3a 31 39 3a 20 3c 2f 73 70 61 6e 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 .zig:4:19:.</span><span.class="t
e3960 33 31 5f 31 22 3e 65 72 72 6f 72 3a 20 3c 2f 73 70 61 6e 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 31_1">error:.</span><span.class=
e3980 22 74 31 5f 30 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 "t1_0">division.by.zero.here.cau
e39a0 73 65 73 20 75 6e 64 65 66 69 6e 65 64 20 62 65 68 61 76 69 6f 72 3c 2f 73 70 61 6e 3e 0a 3c 73 ses.undefined.behavior</span>.<s
e39c0 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 2f 73 70 61 6e 3e 20 20 20 20 63 6f 6e 73 pan.class="line"></span>....cons
e39e0 74 20 63 20 3d 20 61 20 25 20 62 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d t.c.=.a.%.b;</span>.<span.class=
e3a00 22 6c 69 6e 65 22 3e 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 3c 73 70 61 6e 20 63 "line">..................<span.c
e3a20 6c 61 73 73 3d 22 74 33 32 5f 31 22 3e 5e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 lass="t32_1">^</span>.<span.clas
e3a40 73 3d 22 6c 69 6e 65 22 3e 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 0a 3c 2f 73 61 6d 70 3e 3c s="line"></span></span>.</samp><
e3a60 2f 70 72 65 3e 3c 2f 66 69 67 75 72 65 3e 0a 20 20 20 20 20 20 3c 70 3e 41 74 20 72 75 6e 74 69 /pre></figure>.......<p>At.runti
e3a80 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
e3aa0 6e 20 63 6c 61 73 73 3d 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
e3ac0 69 6c 65 22 3e 74 65 73 74 2e 7a 69 67 3c 2f 63 69 74 65 3e 3c 2f 66 69 67 63 61 70 74 69 6f 6e ile">test.zig</cite></figcaption
e3ae0 3e 3c 70 72 65 3e 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c ><pre><code><span.class="line"><
e3b00 73 70 61 6e 20 63 6c 61 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>
e3b20 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"
e3b40 3e 40 69 6d 70 6f 72 74 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
e3b60 2d 73 74 72 22 3e 26 71 75 6f 74 3b 73 74 64 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 29 3b 3c 2f -str">&quot;std&quot;</span>);</
e3b80 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 2f 73 70 61 6e 3e span>.<span.class="line"></span>
e3ba0 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d .<span.class="line"><span.class=
e3bc0 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=
e3be0 22 74 6f 6b 2d 6b 77 22 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="
e3c00 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
e3c20 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 76 6f 69 64 3c 2f 73 70 61 6e 3e 20 7b 3c 2f 73 70 61 6e s="tok-type">void</span>.{</span
e3c40 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 3c 73 70 61 6e 20 63 >.<span.class="line">....<span.c
e3c60 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 76 61 72 3c 2f 73 70 61 6e 3e 20 61 3a 20 3c 73 70 61 lass="tok-kw">var</span>.a:.<spa
e3c80 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>.=.
e3ca0 3c 73 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
e3cc0 6e 3e 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 n>;</span>.<span.class="line">..
e3ce0 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
e3d00 3e 20 62 3a 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 75 33 32 3c >.b:.<span.class="tok-type">u32<
e3d20 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
e3d40 22 3e 30 3c 2f 73 70 61 6e 3e 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 ">0</span>;</span>.<span.class="
e3d60 6c 69 6e 65 22 3e 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 76 line">....<span.class="tok-kw">v
e3d80 61 72 3c 2f 73 70 61 6e 3e 20 63 20 3d 20 61 20 25 20 62 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 ar</span>.c.=.a.%.b;</span>.<spa
e3da0 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 73 74 64 2e 64 65 62 75 67 2e 70 72 69 n.class="line">....std.debug.pri
e3dc0 6e 74 28 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 73 74 72 22 3e 26 71 75 6f 74 3b 76 nt(<span.class="tok-str">&quot;v
e3de0 61 6c 75 65 3a 20 7b 7d 5c 6e 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 2c 20 2e 7b 63 7d 29 3b 3c alue:.{}\n&quot;</span>,..{c});<
e3e00 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 7d 3c 2f 73 70 61 /span>.<span.class="line">}</spa
e3e20 6e 3e 3c 2f 63 6f 64 65 3e 3c 2f 70 72 65 3e 3c 2f 66 69 67 75 72 65 3e 3c 66 69 67 75 72 65 3e n></code></pre></figure><figure>
e3e40 3c 66 69 67 63 61 70 74 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
e3e60 65 6c 6c 3c 2f 66 69 67 63 61 70 74 69 6f 6e 3e 3c 70 72 65 3e 3c 73 61 6d 70 3e 3c 73 70 61 6e ell</figcaption><pre><samp><span
e3e80 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 24 20 3c 6b 62 64 3e 7a 69 67 20 62 75 69 6c 64 2d 65 .class="line">$.<kbd>zig.build-e
e3ea0 78 65 20 74 65 73 74 2e 7a 69 67 3c 2f 6b 62 64 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 xe.test.zig</kbd></span>.<span.c
e3ec0 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d lass="line"></span>.<span.class=
e3ee0 22 6c 69 6e 65 22 3e 24 20 3c 6b 62 64 3e 2e 2f 74 65 73 74 3c 2f 6b 62 64 3e 3c 2f 73 70 61 6e "line">$.<kbd>./test</kbd></span
e3f00 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 74 68 72 65 61 64 20 33 35 38 35 >.<span.class="line">thread.3585
e3f20 36 37 32 20 70 61 6e 69 63 3a 20 64 69 76 69 73 69 6f 6e 20 62 79 20 7a 65 72 6f 3c 2f 73 70 61 672.panic:.division.by.zero</spa
e3f40 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 n>.<span.class="line"><span.clas
e3f60 73 3d 22 74 31 5f 30 22 3e 64 6f 63 67 65 6e 5f 74 6d 70 2f 74 65 73 74 2e 7a 69 67 3a 36 3a 31 s="t1_0">docgen_tmp/test.zig:6:1
e3f80 35 3c 2f 73 70 61 6e 3e 3a 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 32 5f 30 22 3e 30 78 32 5</span>:.<span.class="t2_0">0x2
e3fa0 31 30 33 34 61 20 69 6e 20 6d 61 69 6e 20 28 74 65 73 74 29 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 1034a.in.main.(test)</span></spa
e3fc0 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 76 61 72 20 63 20 n>.<span.class="line">....var.c.
e3fe0 3d 20 61 20 25 20 62 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e =.a.%.b;</span>.<span.class="lin
e4000 65 22 3e 20 20 20 20 20 20 20 20 20 20 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 33 e">..............<span.class="t3
e4020 32 5f 31 22 3e 5e 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 2_1">^</span></span>.<span.class
e4040 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 31 5f 30 22 3e 2f 68 6f 6d 65 ="line"><span.class="t1_0">/home
e4060 2f 63 69 2f 72 65 6c 65 61 73 65 2d 30 2e 31 30 2e 31 2f 6f 75 74 2f 7a 69 67 2d 78 38 36 5f 36 /ci/release-0.10.1/out/zig-x86_6
e4080 34 2d 6c 69 6e 75 78 2d 6d 75 73 6c 2d 62 61 73 65 6c 69 6e 65 2f 6c 69 62 2f 7a 69 67 2f 73 74 4-linux-musl-baseline/lib/zig/st
e40a0 64 2f 73 74 61 72 74 2e 7a 69 67 3a 36 30 34 3a 32 32 3c 2f 73 70 61 6e 3e 3a 20 3c 73 70 61 6e d/start.zig:604:22</span>:.<span
e40c0 20 63 6c 61 73 73 3d 22 74 32 5f 30 22 3e 30 78 32 30 66 38 39 63 20 69 6e 20 70 6f 73 69 78 43 .class="t2_0">0x20f89c.in.posixC
e40e0 61 6c 6c 4d 61 69 6e 41 6e 64 45 78 69 74 20 28 74 65 73 74 29 3c 2f 73 70 61 6e 3e 3c 2f 73 70 allMainAndExit.(test)</span></sp
e4100 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 20 20 20 20 20 an>.<span.class="line">.........
e4120 20 20 20 72 6f 6f 74 2e 6d 61 69 6e 28 29 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 ...root.main();</span>.<span.cla
e4140 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 3c ss="line">.....................<
e4160 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 33 32 5f 31 22 3e 5e 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 span.class="t32_1">^</span></spa
e4180 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 n>.<span.class="line"><span.clas
e41a0 73 3d 22 74 31 5f 30 22 3e 2f 68 6f 6d 65 2f 63 69 2f 72 65 6c 65 61 73 65 2d 30 2e 31 30 2e 31 s="t1_0">/home/ci/release-0.10.1
e41c0 2f 6f 75 74 2f 7a 69 67 2d 78 38 36 5f 36 34 2d 6c 69 6e 75 78 2d 6d 75 73 6c 2d 62 61 73 65 6c /out/zig-x86_64-linux-musl-basel
e41e0 69 6e 65 2f 6c 69 62 2f 7a 69 67 2f 73 74 64 2f 73 74 61 72 74 2e 7a 69 67 3a 33 37 36 3a 35 3c ine/lib/zig/std/start.zig:376:5<
e4200 2f 73 70 61 6e 3e 3a 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 32 5f 30 22 3e 30 78 32 30 66 /span>:.<span.class="t2_0">0x20f
e4220 33 61 31 20 69 6e 20 5f 73 74 61 72 74 20 28 74 65 73 74 29 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 3a1.in._start.(test)</span></spa
e4240 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 40 63 61 6c 6c 28 n>.<span.class="line">....@call(
e4260 2e 7b 20 2e 6d 6f 64 69 66 69 65 72 20 3d 20 2e 6e 65 76 65 72 5f 69 6e 6c 69 6e 65 20 7d 2c 20 .{..modifier.=..never_inline.},.
e4280 70 6f 73 69 78 43 61 6c 6c 4d 61 69 6e 41 6e 64 45 78 69 74 2c 20 2e 7b 7d 29 3b 3c 2f 73 70 61 posixCallMainAndExit,..{});</spa
e42a0 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 3c 73 70 61 6e 20 n>.<span.class="line">....<span.
e42c0 63 6c 61 73 73 3d 22 74 33 32 5f 31 22 3e 5e 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 class="t32_1">^</span></span>.<s
e42e0 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 28 70 72 6f 63 65 73 73 20 74 65 72 6d 69 6e pan.class="line">(process.termin
e4300 61 74 65 64 20 62 79 20 73 69 67 6e 61 6c 29 3c 2f 73 70 61 6e 3e 0a 3c 2f 73 61 6d 70 3e 3c 2f ated.by.signal)</span>.</samp></
e4320 70 72 65 3e 3c 2f 66 69 67 75 72 65 3e 0a 20 20 20 20 20 20 0a 20 20 20 20 20 20 3c 68 33 20 69 pre></figure>..............<h3.i
e4340 64 3d 22 45 78 61 63 74 2d 44 69 76 69 73 69 6f 6e 2d 52 65 6d 61 69 6e 64 65 72 22 3e 3c 61 20 d="Exact-Division-Remainder"><a.
e4360 68 72 65 66 3d 22 23 74 6f 63 2d 45 78 61 63 74 2d 44 69 76 69 73 69 6f 6e 2d 52 65 6d 61 69 6e href="#toc-Exact-Division-Remain
e4380 64 65 72 22 3e 45 78 61 63 74 20 44 69 76 69 73 69 6f 6e 20 52 65 6d 61 69 6e 64 65 72 3c 2f 61 der">Exact.Division.Remainder</a
e43a0 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 44 69 >.<a.class="hdr".href="#Exact-Di
e43c0 76 69 73 69 6f 6e 2d 52 65 6d 61 69 6e 64 65 72 22 3e c2 a7 3c 2f 61 3e 3c 2f 68 33 3e 0a 0a 20 vision-Remainder">..</a></h3>...
e43e0 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>....
e4400 20 20 20 3c 66 69 67 75 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
e4420 67 2d 63 61 70 22 3e 3c 63 69 74 65 20 63 6c 61 73 73 3d 22 66 69 6c 65 22 3e 74 65 73 74 2e 7a g-cap"><cite.class="file">test.z
e4440 69 67 3c 2f 63 69 74 65 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
e4460 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d ><span.class="line"><span.class=
e4480 22 74 6f 6b 2d 6b 77 22 3e 63 6f 6d 70 74 69 6d 65 3c 2f 73 70 61 6e 3e 20 7b 3c 2f 73 70 61 6e "tok-kw">comptime</span>.{</span
e44a0 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 3c 73 70 61 6e 20 63 >.<span.class="line">....<span.c
e44c0 6c 61 73 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
e44e0 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>.
e4500 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 31 30 3c 2f 73 =.<span.class="tok-number">10</s
e4520 70 61 6e 3e 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e pan>;</span>.<span.class="line">
e4540 20 20 20 20 3c 73 70 61 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</
e4560 73 70 61 6e 3e 20 62 3a 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e span>.b:.<span.class="tok-type">
e4580 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
e45a0 6d 62 65 72 22 3e 33 3c 2f 73 70 61 6e 3e 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 mber">3</span>;</span>.<span.cla
e45c0 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b ss="line">....<span.class="tok-k
e45e0 77 22 3e 63 6f 6e 73 74 3c 2f 73 70 61 6e 3e 20 63 20 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d w">const</span>.c.=.<span.class=
e4600 22 74 6f 6b 2d 62 75 69 6c 74 69 6e 22 3e 40 64 69 76 45 78 61 63 74 3c 2f 73 70 61 6e 3e 28 61 "tok-builtin">@divExact</span>(a
e4620 2c 20 62 29 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e ,.b);</span>.<span.class="line">
e4640 20 20 20 20 5f 20 3d 20 63 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c ...._.=.c;</span>.<span.class="l
e4660 69 6e 65 22 3e 7d 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 3c 2f 70 72 65 3e 3c 2f 66 69 67 75 ine">}</span></code></pre></figu
e4680 72 65 3e 3c 66 69 67 75 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
e46a0 65 6c 6c 2d 63 61 70 22 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>
e46c0 3c 73 61 6d 70 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 24 20 3c 6b 62 64 3e <samp><span.class="line">$.<kbd>
e46e0 7a 69 67 20 74 65 73 74 20 74 65 73 74 2e 7a 69 67 20 2d 66 73 74 61 67 65 31 3c 2f 6b 62 64 3e zig.test.test.zig.-fstage1</kbd>
e4700 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e </span>.<span.class="line"><span
e4720 20 63 6c 61 73 73 3d 22 74 30 5f 31 22 3e 2e 2f 64 6f 63 67 65 6e 5f 74 6d 70 2f 74 65 73 74 2e .class="t0_1">./docgen_tmp/test.
e4740 7a 69 67 3a 34 3a 31 35 3a 20 3c 2f 73 70 61 6e 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 33 zig:4:15:.</span><span.class="t3
e4760 31 5f 31 22 3e 65 72 72 6f 72 3a 20 3c 2f 73 70 61 6e 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 1_1">error:.</span><span.class="
e4780 74 30 5f 31 22 3e 65 78 61 63 74 20 64 69 76 69 73 69 6f 6e 20 68 61 64 20 61 20 72 65 6d 61 69 t0_1">exact.division.had.a.remai
e47a0 6e 64 65 72 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 nder</span></span>.<span.class="
e47c0 6c 69 6e 65 22 3e 20 20 20 20 63 6f 6e 73 74 20 63 20 3d 20 40 64 69 76 45 78 61 63 74 28 61 2c line">....const.c.=.@divExact(a,
e47e0 20 62 29 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 .b);</span>.<span.class="line">.
e4800 20 20 20 20 20 20 20 20 20 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 33 32 5f 31 22 .............<span.class="t32_1"
e4820 3e 5e 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 0a 3c 2f 73 61 6d 70 3e 3c 2f 70 72 65 3e 3c 2f >^</span></span>.</samp></pre></
e4840 66 69 67 75 72 65 3e 0a 20 20 20 20 20 20 3c 70 3e 41 74 20 72 75 6e 74 69 6d 65 3a 3c 2f 70 3e figure>.......<p>At.runtime:</p>
e4860 0a 20 20 20 20 20 20 3c 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
e4880 3d 22 7a 69 67 2d 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
e48a0 73 74 2e 7a 69 67 3c 2f 63 69 74 65 3e 3c 2f 66 69 67 63 61 70 74 69 6f 6e 3e 3c 70 72 65 3e 3c st.zig</cite></figcaption><pre><
e48c0 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c code><span.class="line"><span.cl
e48e0 61 73 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.=.
e4900 3c 73 70 61 6e 20 63 6c 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
e4920 74 3c 2f 73 70 61 6e 3e 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">&
e4940 71 75 6f 74 3b 73 74 64 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 29 3b 3c 2f 73 70 61 6e 3e 0a 3c quot;std&quot;</span>);</span>.<
e4960 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 span.class="line"></span>.<span.
e4980 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 class="line"><span.class="tok-kw
e49a0 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
e49c0 22 3e 66 6e 3c 2f 73 70 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"
e49e0 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-
e4a00 74 79 70 65 22 3e 76 6f 69 64 3c 2f 73 70 61 6e 3e 20 7b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e type">void</span>.{</span>.<span
e4a20 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 .class="line">....<span.class="t
e4a40 6f 6b 2d 6b 77 22 3e 76 61 72 3c 2f 73 70 61 6e 3e 20 61 3a 20 3c 73 70 61 6e 20 63 6c 61 73 73 ok-kw">var</span>.a:.<span.class
e4a60 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
e4a80 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 31 30 3c 2f 73 70 61 6e 3e 3b 3c 2f 73 70 lass="tok-number">10</span>;</sp
e4aa0 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 3c 73 70 61 6e an>.<span.class="line">....<span
e4ac0 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 76 61 72 3c 2f 73 70 61 6e 3e 20 62 3a 20 3c 73 .class="tok-kw">var</span>.b:.<s
e4ae0 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>.
e4b00 3d 20 3c 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
e4b20 61 6e 3e 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 an>;</span>.<span.class="line">.
e4b40 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
e4b60 6e 3e 20 63 20 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 62 75 69 6c 74 69 6e 22 n>.c.=.<span.class="tok-builtin"
e4b80 3e 40 64 69 76 45 78 61 63 74 3c 2f 73 70 61 6e 3e 28 61 2c 20 62 29 3b 3c 2f 73 70 61 6e 3e 0a >@divExact</span>(a,.b);</span>.
e4ba0 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 73 74 64 2e 64 65 62 75 67 <span.class="line">....std.debug
e4bc0 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
e4be0 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 63 ot;value:.{}\n&quot;</span>,..{c
e4c00 7d 29 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 7d 3c });</span>.<span.class="line">}<
e4c20 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 3c 2f 70 72 65 3e 3c 2f 66 69 67 75 72 65 3e 3c 66 69 67 /span></code></pre></figure><fig
e4c40 75 72 65 3e 3c 66 69 67 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
e4c60 22 3e 53 68 65 6c 6c 3c 2f 66 69 67 63 61 70 74 69 6f 6e 3e 3c 70 72 65 3e 3c 73 61 6d 70 3e 3c ">Shell</figcaption><pre><samp><
e4c80 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 24 20 3c 6b 62 64 3e 7a 69 67 20 62 75 69 span.class="line">$.<kbd>zig.bui
e4ca0 6c 64 2d 65 78 65 20 74 65 73 74 2e 7a 69 67 3c 2f 6b 62 64 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 ld-exe.test.zig</kbd></span>.<sp
e4cc0 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c an.class="line"></span>.<span.cl
e4ce0 61 73 73 3d 22 6c 69 6e 65 22 3e 24 20 3c 6b 62 64 3e 2e 2f 74 65 73 74 3c 2f 6b 62 64 3e 3c 2f ass="line">$.<kbd>./test</kbd></
e4d00 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 74 68 72 65 61 64 20 span>.<span.class="line">thread.
e4d20 33 35 38 35 37 36 38 20 70 61 6e 69 63 3a 20 65 78 61 63 74 20 64 69 76 69 73 69 6f 6e 20 70 72 3585768.panic:.exact.division.pr
e4d40 6f 64 75 63 65 64 20 72 65 6d 61 69 6e 64 65 72 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c oduced.remainder</span>.<span.cl
e4d60 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 31 5f 30 22 3e 64 6f ass="line"><span.class="t1_0">do
e4d80 63 67 65 6e 5f 74 6d 70 2f 74 65 73 74 2e 7a 69 67 3a 36 3a 31 33 3c 2f 73 70 61 6e 3e 3a 20 3c cgen_tmp/test.zig:6:13</span>:.<
e4da0 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 32 5f 30 22 3e 30 78 32 31 30 33 62 39 20 69 6e 20 6d 61 span.class="t2_0">0x2103b9.in.ma
e4dc0 69 6e 20 28 74 65 73 74 29 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c in.(test)</span></span>.<span.cl
e4de0 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 76 61 72 20 63 20 3d 20 40 64 69 76 45 78 61 63 74 ass="line">....var.c.=.@divExact
e4e00 28 61 2c 20 62 29 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 (a,.b);</span>.<span.class="line
e4e20 22 3e 20 20 20 20 20 20 20 20 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 33 32 5f 31 ">............<span.class="t32_1
e4e40 22 3e 5e 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c ">^</span></span>.<span.class="l
e4e60 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 31 5f 30 22 3e 2f 68 6f 6d 65 2f 63 69 ine"><span.class="t1_0">/home/ci
e4e80 2f 72 65 6c 65 61 73 65 2d 30 2e 31 30 2e 31 2f 6f 75 74 2f 7a 69 67 2d 78 38 36 5f 36 34 2d 6c /release-0.10.1/out/zig-x86_64-l
e4ea0 69 6e 75 78 2d 6d 75 73 6c 2d 62 61 73 65 6c 69 6e 65 2f 6c 69 62 2f 7a 69 67 2f 73 74 64 2f 73 inux-musl-baseline/lib/zig/std/s
e4ec0 74 61 72 74 2e 7a 69 67 3a 36 30 34 3a 32 32 3c 2f 73 70 61 6e 3e 3a 20 3c 73 70 61 6e 20 63 6c tart.zig:604:22</span>:.<span.cl
e4ee0 61 73 73 3d 22 74 32 5f 30 22 3e 30 78 32 30 66 38 63 63 20 69 6e 20 70 6f 73 69 78 43 61 6c 6c ass="t2_0">0x20f8cc.in.posixCall
e4f00 4d 61 69 6e 41 6e 64 45 78 69 74 20 28 74 65 73 74 29 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e MainAndExit.(test)</span></span>
e4f20 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 20 20 20 20 20 20 20 20 .<span.class="line">............
e4f40 72 6f 6f 74 2e 6d 61 69 6e 28 29 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d root.main();</span>.<span.class=
e4f60 22 6c 69 6e 65 22 3e 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 3c 73 70 61 "line">.....................<spa
e4f80 6e 20 63 6c 61 73 73 3d 22 74 33 32 5f 31 22 3e 5e 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 0a n.class="t32_1">^</span></span>.
e4fa0 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 <span.class="line"><span.class="
e4fc0 74 31 5f 30 22 3e 2f 68 6f 6d 65 2f 63 69 2f 72 65 6c 65 61 73 65 2d 30 2e 31 30 2e 31 2f 6f 75 t1_0">/home/ci/release-0.10.1/ou
e4fe0 74 2f 7a 69 67 2d 78 38 36 5f 36 34 2d 6c 69 6e 75 78 2d 6d 75 73 6c 2d 62 61 73 65 6c 69 6e 65 t/zig-x86_64-linux-musl-baseline
e5000 2f 6c 69 62 2f 7a 69 67 2f 73 74 64 2f 73 74 61 72 74 2e 7a 69 67 3a 33 37 36 3a 35 3c 2f 73 70 /lib/zig/std/start.zig:376:5</sp
e5020 61 6e 3e 3a 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 32 5f 30 22 3e 30 78 32 30 66 33 64 31 an>:.<span.class="t2_0">0x20f3d1
e5040 20 69 6e 20 5f 73 74 61 72 74 20 28 74 65 73 74 29 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 0a .in._start.(test)</span></span>.
e5060 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 40 63 61 6c 6c 28 2e 7b 20 <span.class="line">....@call(.{.
e5080 2e 6d 6f 64 69 66 69 65 72 20 3d 20 2e 6e 65 76 65 72 5f 69 6e 6c 69 6e 65 20 7d 2c 20 70 6f 73 .modifier.=..never_inline.},.pos
e50a0 69 78 43 61 6c 6c 4d 61 69 6e 41 6e 64 45 78 69 74 2c 20 2e 7b 7d 29 3b 3c 2f 73 70 61 6e 3e 0a ixCallMainAndExit,..{});</span>.
e50c0 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 <span.class="line">....<span.cla
e50e0 73 73 3d 22 74 33 32 5f 31 22 3e 5e 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e ss="t32_1">^</span></span>.<span
e5100 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 28 70 72 6f 63 65 73 73 20 74 65 72 6d 69 6e 61 74 65 .class="line">(process.terminate
e5120 64 20 62 79 20 73 69 67 6e 61 6c 29 3c 2f 73 70 61 6e 3e 0a 3c 2f 73 61 6d 70 3e 3c 2f 70 72 65 d.by.signal)</span>.</samp></pre
e5140 3e 3c 2f 66 69 67 75 72 65 3e 0a 20 20 20 20 20 20 0a 20 20 20 20 20 20 3c 68 33 20 69 64 3d 22 ></figure>..............<h3.id="
e5160 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 65 66 3d Attempt-to-Unwrap-Null"><a.href=
e5180 22 23 74 6f 63 2d 41 74 74 65 6d 70 74 2d 74 6f 2d 55 6e 77 72 61 70 2d 4e 75 6c 6c 22 3e 41 74 "#toc-Attempt-to-Unwrap-Null">At
e51a0 74 65 6d 70 74 20 74 6f 20 55 6e 77 72 61 70 20 4e 75 6c 6c 3c 2f 61 3e 20 3c 61 20 63 6c 61 73 tempt.to.Unwrap.Null</a>.<a.clas
e51c0 73 3d 22 68 64 72 22 20 68 72 65 66 3d 22 23 41 74 74 65 6d 70 74 2d 74 6f 2d 55 6e 77 72 61 70 s="hdr".href="#Attempt-to-Unwrap
e51e0 2d 4e 75 6c 6c 22 3e c2 a7 3c 2f 61 3e 3c 2f 68 33 3e 0a 0a 20 20 20 20 20 20 3c 70 3e 41 74 20 -Null">..</a></h3>........<p>At.
e5200 63 6f 6d 70 69 6c 65 2d 74 69 6d 65 3a 3c 2f 70 3e 0a 20 20 20 20 20 20 3c 66 69 67 75 72 65 3e compile-time:</p>.......<figure>
e5220 3c 66 69 67 63 61 70 74 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
e5240 65 20 63 6c 61 73 73 3d 22 66 69 6c 65 22 3e 74 65 73 74 2e 7a 69 67 3c 2f 63 69 74 65 3e 3c 2f e.class="file">test.zig</cite></
e5260 66 69 67 63 61 70 74 69 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
e5280 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 63 6f s="line"><span.class="tok-kw">co
e52a0 6d 70 74 69 6d 65 3c 2f 73 70 61 6e 3e 20 7b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 mptime</span>.{</span>.<span.cla
e52c0 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b ss="line">....<span.class="tok-k
e52e0 77 22 3e 63 6f 6e 73 74 3c 2f 73 70 61 6e 3e 20 6f 70 74 69 6f 6e 61 6c 5f 6e 75 6d 62 65 72 3a w">const</span>.optional_number:
e5300 20 3f 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 69 33 32 3c 2f 73 70 .?<span.class="tok-type">i32</sp
e5320 61 6e 3e 20 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6c 6c 22 3e 6e 75 6c an>.=.<span.class="tok-null">nul
e5340 6c 3c 2f 73 70 61 6e 3e 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 l</span>;</span>.<span.class="li
e5360 6e 65 22 3e 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 63 6f 6e ne">....<span.class="tok-kw">con
e5380 73 74 3c 2f 73 70 61 6e 3e 20 6e 75 6d 62 65 72 20 3d 20 6f 70 74 69 6f 6e 61 6c 5f 6e 75 6d 62 st</span>.number.=.optional_numb
e53a0 65 72 2e 3f 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e er.?;</span>.<span.class="line">
e53c0 20 20 20 20 5f 20 3d 20 6e 75 6d 62 65 72 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 ...._.=.number;</span>.<span.cla
e53e0 73 73 3d 22 6c 69 6e 65 22 3e 7d 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 3c 2f 70 72 65 3e 3c ss="line">}</span></code></pre><
e5400 2f 66 69 67 75 72 65 3e 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
e5420 73 3d 22 73 68 65 6c 6c 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>
e5440 3c 70 72 65 3e 3c 73 61 6d 70 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 24 20 <pre><samp><span.class="line">$.
e5460 3c 6b 62 64 3e 7a 69 67 20 74 65 73 74 20 74 65 73 74 2e 7a 69 67 3c 2f 6b 62 64 3e 3c 2f 73 70 <kbd>zig.test.test.zig</kbd></sp
e5480 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 an>.<span.class="line"><span.cla
e54a0 73 73 3d 22 74 31 5f 30 22 3e 64 6f 63 67 65 6e 5f 74 6d 70 2f 74 65 73 74 2e 7a 69 67 3a 33 3a ss="t1_0">docgen_tmp/test.zig:3:
e54c0 33 35 3a 20 3c 2f 73 70 61 6e 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 33 31 5f 31 22 3e 65 35:.</span><span.class="t31_1">e
e54e0 72 72 6f 72 3a 20 3c 2f 73 70 61 6e 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 31 5f 30 22 3e rror:.</span><span.class="t1_0">
e5500 75 6e 61 62 6c 65 20 74 6f 20 75 6e 77 72 61 70 20 6e 75 6c 6c 3c 2f 73 70 61 6e 3e 0a 3c 73 70 unable.to.unwrap.null</span>.<sp
e5520 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 2f 73 70 61 6e 3e 20 20 20 20 63 6f 6e 73 74 an.class="line"></span>....const
e5540 20 6e 75 6d 62 65 72 20 3d 20 6f 70 74 69 6f 6e 61 6c 5f 6e 75 6d 62 65 72 2e 3f 3b 3c 2f 73 70 .number.=.optional_number.?;</sp
e5560 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 20 20 20 20 20 an>.<span.class="line">.........
e5580 20 20 20 20 20 20 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 33 32 5f 31 22 3e 7e 7e ..........<span.class="t32_1">~~
e55a0 7e 7e 7e 7e 7e 7e 7e 7e 7e 7e 7e 7e 7e 5e 7e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 ~~~~~~~~~~~~~^~</span>.<span.cla
e55c0 73 73 3d 22 6c 69 6e 65 22 3e 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 0a 3c 2f 73 61 6d 70 3e ss="line"></span></span>.</samp>
e55e0 3c 2f 70 72 65 3e 3c 2f 66 69 67 75 72 65 3e 0a 20 20 20 20 20 20 3c 70 3e 41 74 20 72 75 6e 74 </pre></figure>.......<p>At.runt
e5600 69 6d 65 3a 3c 2f 70 3e 0a 20 20 20 20 20 20 3c 66 69 67 75 72 65 3e 3c 66 69 67 63 61 70 74 69 ime:</p>.......<figure><figcapti
e5620 6f 6e 20 63 6c 61 73 73 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="
e5640 66 69 6c 65 22 3e 74 65 73 74 2e 7a 69 67 3c 2f 63 69 74 65 3e 3c 2f 66 69 67 63 61 70 74 69 6f file">test.zig</cite></figcaptio
e5660 6e 3e 3c 70 72 65 3e 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e n><pre><code><span.class="line">
e5680 3c 73 70 61 6e 20 63 6c 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
e56a0 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
e56c0 22 3e 40 69 6d 70 6f 72 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
e56e0 6b 2d 73 74 72 22 3e 26 71 75 6f 74 3b 73 74 64 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 29 3b 3c k-str">&quot;std&quot;</span>);<
e5700 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 2f 73 70 61 6e /span>.<span.class="line"></span
e5720 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 >.<span.class="line"><span.class
e5740 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
e5760 3d 22 74 6f 6b 2d 6b 77 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=
e5780 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
e57a0 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 76 6f 69 64 3c 2f 73 70 61 6e 3e 20 7b 3c 2f 73 70 61 ss="tok-type">void</span>.{</spa
e57c0 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 3c 73 70 61 6e 20 n>.<span.class="line">....<span.
e57e0 63 6c 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 class="tok-kw">var</span>.option
e5800 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 74 79 70 al_number:.?<span.class="tok-typ
e5820 65 22 3e 69 33 32 3c 2f 73 70 61 6e 3e 20 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b e">i32</span>.=.<span.class="tok
e5840 2d 6e 75 6c 6c 22 3e 6e 75 6c 6c 3c 2f 73 70 61 6e 3e 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e -null">null</span>;</span>.<span
e5860 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 .class="line">....<span.class="t
e5880 6f 6b 2d 6b 77 22 3e 76 61 72 3c 2f 73 70 61 6e 3e 20 6e 75 6d 62 65 72 20 3d 20 6f 70 74 69 6f ok-kw">var</span>.number.=.optio
e58a0 6e 61 6c 5f 6e 75 6d 62 65 72 2e 3f 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 nal_number.?;</span>.<span.class
e58c0 3d 22 6c 69 6e 65 22 3e 20 20 20 20 73 74 64 2e 64 65 62 75 67 2e 70 72 69 6e 74 28 3c 73 70 61 ="line">....std.debug.print(<spa
e58e0 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:.{
e5900 7d 5c 6e 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 2c 20 2e 7b 6e 75 6d 62 65 72 7d 29 3b 3c 2f 73 }\n&quot;</span>,..{number});</s
e5920 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 7d 3c 2f 73 70 61 6e 3e pan>.<span.class="line">}</span>
e5940 3c 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
e5960 69 67 63 61 70 74 69 6f 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
e5980 6c 3c 2f 66 69 67 63 61 70 74 69 6f 6e 3e 3c 70 72 65 3e 3c 73 61 6d 70 3e 3c 73 70 61 6e 20 63 l</figcaption><pre><samp><span.c
e59a0 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 24 20 3c 6b 62 64 3e 7a 69 67 20 62 75 69 6c 64 2d 65 78 65 lass="line">$.<kbd>zig.build-exe
e59c0 20 74 65 73 74 2e 7a 69 67 3c 2f 6b 62 64 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 .test.zig</kbd></span>.<span.cla
e59e0 73 73 3d 22 6c 69 6e 65 22 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c ss="line"></span>.<span.class="l
e5a00 69 6e 65 22 3e 24 20 3c 6b 62 64 3e 2e 2f 74 65 73 74 3c 2f 6b 62 64 3e 3c 2f 73 70 61 6e 3e 0a ine">$.<kbd>./test</kbd></span>.
e5a20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 74 68 72 65 61 64 20 33 35 38 35 38 37 <span.class="line">thread.358587
e5a40 32 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 6c 20 76 61 6c 2.panic:.attempt.to.use.null.val
e5a60 75 65 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 ue</span>.<span.class="line"><sp
e5a80 61 6e 20 63 6c 61 73 73 3d 22 74 31 5f 30 22 3e 64 6f 63 67 65 6e 5f 74 6d 70 2f 74 65 73 74 2e an.class="t1_0">docgen_tmp/test.
e5aa0 7a 69 67 3a 35 3a 33 33 3c 2f 73 70 61 6e 3e 3a 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 32 zig:5:33</span>:.<span.class="t2
e5ac0 5f 30 22 3e 30 78 32 31 30 34 30 35 20 69 6e 20 6d 61 69 6e 20 28 74 65 73 74 29 3c 2f 73 70 61 _0">0x210405.in.main.(test)</spa
e5ae0 6e 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 n></span>.<span.class="line">...
e5b00 20 76 61 72 20 6e 75 6d 62 65 72 20 3d 20 6f 70 74 69 6f 6e 61 6c 5f 6e 75 6d 62 65 72 2e 3f 3b .var.number.=.optional_number.?;
e5b20 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 20 </span>.<span.class="line">.....
e5b40 20 20 20 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
e5b60 20 63 6c 61 73 73 3d 22 74 33 32 5f 31 22 3e 5e 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 0a 3c .class="t32_1">^</span></span>.<
e5b80 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 span.class="line"><span.class="t
e5ba0 31 5f 30 22 3e 2f 68 6f 6d 65 2f 63 69 2f 72 65 6c 65 61 73 65 2d 30 2e 31 30 2e 31 2f 6f 75 74 1_0">/home/ci/release-0.10.1/out
e5bc0 2f 7a 69 67 2d 78 38 36 5f 36 34 2d 6c 69 6e 75 78 2d 6d 75 73 6c 2d 62 61 73 65 6c 69 6e 65 2f /zig-x86_64-linux-musl-baseline/
e5be0 6c 69 62 2f 7a 69 67 2f 73 74 64 2f 73 74 61 72 74 2e 7a 69 67 3a 36 30 34 3a 32 32 3c 2f 73 70 lib/zig/std/start.zig:604:22</sp
e5c00 61 6e 3e 3a 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 32 5f 30 22 3e 30 78 32 30 66 39 35 63 an>:.<span.class="t2_0">0x20f95c
e5c20 20 69 6e 20 70 6f 73 69 78 43 61 6c 6c 4d 61 69 6e 41 6e 64 45 78 69 74 20 28 74 65 73 74 29 3c .in.posixCallMainAndExit.(test)<
e5c40 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 /span></span>.<span.class="line"
e5c60 3e 20 20 20 20 20 20 20 20 20 20 20 20 72 6f 6f 74 2e 6d 61 69 6e 28 29 3b 3c 2f 73 70 61 6e 3e >............root.main();</span>
e5c80 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 20 20 20 20 20 20 20 20 .<span.class="line">............
e5ca0 20 20 20 20 20 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 33 32 5f 31 22 3e 5e 3c 2f .........<span.class="t32_1">^</
e5cc0 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e span></span>.<span.class="line">
e5ce0 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 31 5f 30 22 3e 2f 68 6f 6d 65 2f 63 69 2f 72 65 6c 65 <span.class="t1_0">/home/ci/rele
e5d00 61 73 65 2d 30 2e 31 30 2e 31 2f 6f 75 74 2f 7a 69 67 2d 78 38 36 5f 36 34 2d 6c 69 6e 75 78 2d ase-0.10.1/out/zig-x86_64-linux-
e5d20 6d 75 73 6c 2d 62 61 73 65 6c 69 6e 65 2f 6c 69 62 2f 7a 69 67 2f 73 74 64 2f 73 74 61 72 74 2e musl-baseline/lib/zig/std/start.
e5d40 7a 69 67 3a 33 37 36 3a 35 3c 2f 73 70 61 6e 3e 3a 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 zig:376:5</span>:.<span.class="t
e5d60 32 5f 30 22 3e 30 78 32 30 66 34 36 31 20 69 6e 20 5f 73 74 61 72 74 20 28 74 65 73 74 29 3c 2f 2_0">0x20f461.in._start.(test)</
e5d80 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e span></span>.<span.class="line">
e5da0 20 20 20 20 40 63 61 6c 6c 28 2e 7b 20 2e 6d 6f 64 69 66 69 65 72 20 3d 20 2e 6e 65 76 65 72 5f ....@call(.{..modifier.=..never_
e5dc0 69 6e 6c 69 6e 65 20 7d 2c 20 70 6f 73 69 78 43 61 6c 6c 4d 61 69 6e 41 6e 64 45 78 69 74 2c 20 inline.},.posixCallMainAndExit,.
e5de0 2e 7b 7d 29 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e .{});</span>.<span.class="line">
e5e00 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 33 32 5f 31 22 3e 5e 3c 2f 73 70 61 6e 3e ....<span.class="t32_1">^</span>
e5e20 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 28 70 72 6f 63 </span>.<span.class="line">(proc
e5e40 65 73 73 20 74 65 72 6d 69 6e 61 74 65 64 20 62 79 20 73 69 67 6e 61 6c 29 3c 2f 73 70 61 6e 3e ess.terminated.by.signal)</span>
e5e60 0a 3c 2f 73 61 6d 70 3e 3c 2f 70 72 65 3e 3c 2f 66 69 67 75 72 65 3e 0a 20 20 20 20 20 20 3c 70 .</samp></pre></figure>.......<p
e5e80 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 69 73 20 >One.way.to.avoid.this.crash.is.
e5ea0 74 6f 20 74 65 73 74 20 66 6f 72 20 6e 75 6c 6c 20 69 6e 73 74 65 61 64 20 6f 66 20 61 73 73 75 to.test.for.null.instead.of.assu
e5ec0 6d 69 6e 67 20 6e 6f 6e 2d 6e 75 6c 6c 2c 20 77 69 74 68 0a 20 20 20 20 20 20 74 68 65 20 3c 63 ming.non-null,.with.......the.<c
e5ee0 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 ode><span.class="line"><span.cla
e5f00 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 69 66 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 3c 2f 63 6f ss="tok-kw">if</span></span></co
e5f20 64 65 3e 20 65 78 70 72 65 73 73 69 6f 6e 3a 3c 2f 70 3e 0a 20 20 20 20 20 20 3c 66 69 67 75 72 de>.expression:</p>.......<figur
e5f40 65 3e 3c 66 69 67 63 61 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
e5f60 69 74 65 20 63 6c 61 73 73 3d 22 66 69 6c 65 22 3e 74 65 73 74 2e 7a 69 67 3c 2f 63 69 74 65 3e ite.class="file">test.zig</cite>
e5f80 3c 2f 66 69 67 63 61 70 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
e5fa0 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e ass="line"><span.class="tok-kw">
e5fc0 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
e5fe0 3d 22 74 6f 6b 2d 62 75 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
e6000 70 61 6e 20 63 6c 61 73 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
e6020 6f 74 3b 3c 2f 73 70 61 6e 3e 29 2e 64 65 62 75 67 2e 70 72 69 6e 74 3b 3c 2f 73 70 61 6e 3e 0a ot;</span>).debug.print;</span>.
e6040 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 <span.class="line"><span.class="
e6060 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="
e6080 74 6f 6b 2d 6b 77 22 3e 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
e60a0 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
e60c0 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 76 6f 69 64 3c 2f 73 70 61 6e 3e 20 7b 3c 2f 73 70 61 6e 3e ="tok-type">void</span>.{</span>
e60e0 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 3c 73 70 61 6e 20 63 6c .<span.class="line">....<span.cl
e6100 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 63 6f 6e 73 74 3c 2f 73 70 61 6e 3e 20 6f 70 74 69 6f 6e ass="tok-kw">const</span>.option
e6120 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 74 79 70 al_number:.?<span.class="tok-typ
e6140 65 22 3e 69 33 32 3c 2f 73 70 61 6e 3e 20 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b e">i32</span>.=.<span.class="tok
e6160 2d 6e 75 6c 6c 22 3e 6e 75 6c 6c 3c 2f 73 70 61 6e 3e 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e -null">null</span>;</span>.<span
e6180 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 .class="line"></span>.<span.clas
e61a0 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 s="line">....<span.class="tok-kw
e61c0 22 3e 69 66 3c 2f 73 70 61 6e 3e 20 28 6f 70 74 69 6f 6e 61 6c 5f 6e 75 6d 62 65 72 29 20 7c 6e ">if</span>.(optional_number).|n
e61e0 75 6d 62 65 72 7c 20 7b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e umber|.{</span>.<span.class="lin
e6200 65 22 3e 20 20 20 20 20 20 20 20 70 72 69 6e 74 28 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f e">........print(<span.class="to
e6220 6b 2d 73 74 72 22 3e 26 71 75 6f 74 3b 67 6f 74 20 6e 75 6d 62 65 72 3a 20 7b 7d 5c 6e 26 71 75 k-str">&quot;got.number:.{}\n&qu
e6240 6f 74 3b 3c 2f 73 70 61 6e 3e 2c 20 2e 7b 6e 75 6d 62 65 72 7d 29 3b 3c 2f 73 70 61 6e 3e 0a 3c ot;</span>,..{number});</span>.<
e6260 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 7d 20 3c 73 70 61 6e 20 63 6c span.class="line">....}.<span.cl
e6280 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 65 6c 73 65 3c 2f 73 70 61 6e 3e 20 7b 3c 2f 73 70 61 6e ass="tok-kw">else</span>.{</span
e62a0 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 20 20 20 20 70 72 69 >.<span.class="line">........pri
e62c0 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 69 nt(<span.class="tok-str">&quot;i
e62e0 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 3c 2f t's.null\n&quot;</span>,..{});</
e6300 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 7d 3c 2f span>.<span.class="line">....}</
e6320 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 7d 3c 2f 73 70 61 6e span>.<span.class="line">}</span
e6340 3e 3c 2f 63 6f 64 65 3e 3c 2f 70 72 65 3e 3c 2f 66 69 67 75 72 65 3e 3c 66 69 67 75 72 65 3e 3c ></code></pre></figure><figure><
e6360 66 69 67 63 61 70 74 69 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
e6380 6c 6c 3c 2f 66 69 67 63 61 70 74 69 6f 6e 3e 3c 70 72 65 3e 3c 73 61 6d 70 3e 3c 73 70 61 6e 20 ll</figcaption><pre><samp><span.
e63a0 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 24 20 3c 6b 62 64 3e 7a 69 67 20 62 75 69 6c 64 2d 65 78 class="line">$.<kbd>zig.build-ex
e63c0 65 20 74 65 73 74 2e 7a 69 67 3c 2f 6b 62 64 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c e.test.zig</kbd></span>.<span.cl
e63e0 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 ass="line"></span>.<span.class="
e6400 6c 69 6e 65 22 3e 24 20 3c 6b 62 64 3e 2e 2f 74 65 73 74 3c 2f 6b 62 64 3e 3c 2f 73 70 61 6e 3e line">$.<kbd>./test</kbd></span>
e6420 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 69 74 27 73 20 6e 75 6c 6c 3c 2f 73 .<span.class="line">it's.null</s
e6440 70 61 6e 3e 0a 3c 2f 73 61 6d 70 3e 3c 2f 70 72 65 3e 3c 2f 66 69 67 75 72 65 3e 0a 20 20 20 20 pan>.</samp></pre></figure>.....
e6460 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
e6480 65 66 3d 22 23 4f 70 74 69 6f 6e 61 6c 73 22 3e 4f 70 74 69 6f 6e 61 6c 73 3c 2f 61 3e 3c 2f 6c ef="#Optionals">Optionals</a></l
e64a0 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 41 i>.</ul>...............<h3.id="A
e64c0 74 74 65 6d 70 74 2d 74 6f 2d 55 6e 77 72 61 70 2d 45 72 72 6f 72 22 3e 3c 61 20 68 72 65 66 3d ttempt-to-Unwrap-Error"><a.href=
e64e0 22 23 74 6f 63 2d 41 74 74 65 6d 70 74 2d 74 6f 2d 55 6e 77 72 61 70 2d 45 72 72 6f 72 22 3e 41 "#toc-Attempt-to-Unwrap-Error">A
e6500 74 74 65 6d 70 74 20 74 6f 20 55 6e 77 72 61 70 20 45 72 72 6f 72 3c 2f 61 3e 20 3c 61 20 63 6c ttempt.to.Unwrap.Error</a>.<a.cl
e6520 61 73 73 3d 22 68 64 72 22 20 68 72 65 66 3d 22 23 41 74 74 65 6d 70 74 2d 74 6f 2d 55 6e 77 72 ass="hdr".href="#Attempt-to-Unwr
e6540 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 20 20 20 20 3c 70 3e ap-Error">..</a></h3>........<p>
e6560 41 74 20 63 6f 6d 70 69 6c 65 2d 74 69 6d 65 3a 3c 2f 70 3e 0a 20 20 20 20 20 20 3c 66 69 67 75 At.compile-time:</p>.......<figu
e6580 72 65 3e 3c 66 69 67 63 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"><
e65a0 63 69 74 65 20 63 6c 61 73 73 3d 22 66 69 6c 65 22 3e 74 65 73 74 2e 7a 69 67 3c 2f 63 69 74 65 cite.class="file">test.zig</cite
e65c0 3e 3c 2f 66 69 67 63 61 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
e65e0 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 lass="line"><span.class="tok-kw"
e6600 3e 63 6f 6d 70 74 69 6d 65 3c 2f 73 70 61 6e 3e 20 7b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 >comptime</span>.{</span>.<span.
e6620 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f class="line">....<span.class="to
e6640 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 67 65 74 4e k-kw">const</span>.number.=.getN
e6660 75 6d 62 65 72 4f 72 46 61 69 6c 28 29 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b umberOrFail().<span.class="tok-k
e6680 77 22 3e 63 61 74 63 68 3c 2f 73 70 61 6e 3e 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b w">catch</span>.<span.class="tok
e66a0 2d 6b 77 22 3e 75 6e 72 65 61 63 68 61 62 6c 65 3c 2f 73 70 61 6e 3e 3b 3c 2f 73 70 61 6e 3e 0a -kw">unreachable</span>;</span>.
e66c0 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 5f 20 3d 20 6e 75 6d 62 65 <span.class="line">...._.=.numbe
e66e0 72 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 7d 3c 2f r;</span>.<span.class="line">}</
e6700 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 2f 73 70 61 6e 3e span>.<span.class="line"></span>
e6720 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d .<span.class="line"><span.class=
e6740 22 74 6f 6b 2d 6b 77 22 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="
e6760 74 6f 6b 2d 66 6e 22 3e 67 65 74 4e 75 6d 62 65 72 4f 72 46 61 69 6c 3c 2f 73 70 61 6e 3e 28 29 tok-fn">getNumberOrFail</span>()
e6780 20 21 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 69 33 32 3c 2f 73 70 .!<span.class="tok-type">i32</sp
e67a0 61 6e 3e 20 7b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e an>.{</span>.<span.class="line">
e67c0 20 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<
e67e0 2f 73 70 61 6e 3e 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 65 72 72 6f /span>.<span.class="tok-kw">erro
e6800 72 3c 2f 73 70 61 6e 3e 2e 55 6e 61 62 6c 65 54 6f 52 65 74 75 72 6e 4e 75 6d 62 65 72 3b 3c 2f r</span>.UnableToReturnNumber;</
e6820 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 7d 3c 2f 73 70 61 6e span>.<span.class="line">}</span
e6840 3e 3c 2f 63 6f 64 65 3e 3c 2f 70 72 65 3e 3c 2f 66 69 67 75 72 65 3e 3c 66 69 67 75 72 65 3e 3c ></code></pre></figure><figure><
e6860 66 69 67 63 61 70 74 69 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
e6880 6c 6c 3c 2f 66 69 67 63 61 70 74 69 6f 6e 3e 3c 70 72 65 3e 3c 73 61 6d 70 3e 3c 73 70 61 6e 20 ll</figcaption><pre><samp><span.
e68a0 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 24 20 3c 6b 62 64 3e 7a 69 67 20 74 65 73 74 20 74 65 73 class="line">$.<kbd>zig.test.tes
e68c0 74 2e 7a 69 67 3c 2f 6b 62 64 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 t.zig</kbd></span>.<span.class="
e68e0 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 31 5f 30 22 3e 64 6f 63 67 65 6e 5f line"><span.class="t1_0">docgen_
e6900 74 6d 70 2f 74 65 73 74 2e 7a 69 67 3a 32 3a 34 34 3a 20 3c 2f 73 70 61 6e 3e 3c 73 70 61 6e 20 tmp/test.zig:2:44:.</span><span.
e6920 63 6c 61 73 73 3d 22 74 33 31 5f 31 22 3e 65 72 72 6f 72 3a 20 3c 2f 73 70 61 6e 3e 3c 73 70 61 class="t31_1">error:.</span><spa
e6940 6e 20 63 6c 61 73 73 3d 22 74 31 5f 30 22 3e 63 61 75 67 68 74 20 75 6e 65 78 70 65 63 74 65 64 n.class="t1_0">caught.unexpected
e6960 20 65 72 72 6f 72 20 27 55 6e 61 62 6c 65 54 6f 52 65 74 75 72 6e 4e 75 6d 62 65 72 27 3c 2f 73 .error.'UnableToReturnNumber'</s
e6980 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 2f 73 70 61 6e 3e 20 pan>.<span.class="line"></span>.
e69a0 20 20 20 63 6f 6e 73 74 20 6e 75 6d 62 65 72 20 3d 20 67 65 74 4e 75 6d 62 65 72 4f 72 46 61 69 ...const.number.=.getNumberOrFai
e69c0 6c 28 29 20 63 61 74 63 68 20 75 6e 72 65 61 63 68 61 62 6c 65 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 l().catch.unreachable;</span>.<s
e69e0 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 pan.class="line">...............
e6a00 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 3c 73 70 61 ............................<spa
e6a20 6e 20 63 6c 61 73 73 3d 22 74 33 32 5f 31 22 3e 5e 7e 7e 7e 7e 7e 7e 7e 7e 7e 7e 3c 2f 73 70 61 n.class="t32_1">^~~~~~~~~~~</spa
e6a40 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 2f 73 70 61 6e 3e 3c 2f 73 n>.<span.class="line"></span></s
e6a60 70 61 6e 3e 0a 3c 2f 73 61 6d 70 3e 3c 2f 70 72 65 3e 3c 2f 66 69 67 75 72 65 3e 0a 20 20 20 20 pan>.</samp></pre></figure>.....
e6a80 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
e6aa0 72 65 3e 3c 66 69 67 63 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"><
e6ac0 63 69 74 65 20 63 6c 61 73 73 3d 22 66 69 6c 65 22 3e 74 65 73 74 2e 7a 69 67 3c 2f 63 69 74 65 cite.class="file">test.zig</cite
e6ae0 3e 3c 2f 66 69 67 63 61 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
e6b00 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 lass="line"><span.class="tok-kw"
e6b20 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=
e6b40 22 74 6f 6b 2d 62 75 69 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
e6b60 61 6e 20 63 6c 61 73 73 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
e6b80 74 3b 3c 2f 73 70 61 6e 3e 29 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 t;</span>);</span>.<span.class="
e6ba0 6c 69 6e 65 22 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 line"></span>.<span.class="line"
e6bc0 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 70 75 62 3c 2f 73 70 61 6e 3e ><span.class="tok-kw">pub</span>
e6be0 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>.
e6c00 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>
e6c20 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</
e6c40 73 70 61 6e 3e 20 7b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 span>.{</span>.<span.class="line
e6c60 22 3e 20 20 20 20 3c 73 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
e6c80 3c 2f 73 70 61 6e 3e 20 6e 75 6d 62 65 72 20 3d 20 67 65 74 4e 75 6d 62 65 72 4f 72 46 61 69 6c </span>.number.=.getNumberOrFail
e6ca0 28 29 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 63 61 74 63 68 3c 2f 73 ().<span.class="tok-kw">catch</s
e6cc0 70 61 6e 3e 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 75 6e 72 65 61 63 pan>.<span.class="tok-kw">unreac
e6ce0 68 61 62 6c 65 3c 2f 73 70 61 6e 3e 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 hable</span>;</span>.<span.class
e6d00 3d 22 6c 69 6e 65 22 3e 20 20 20 20 73 74 64 2e 64 65 62 75 67 2e 70 72 69 6e 74 28 3c 73 70 61 ="line">....std.debug.print(<spa
e6d20 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:.{
e6d40 7d 5c 6e 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 2c 20 2e 7b 6e 75 6d 62 65 72 7d 29 3b 3c 2f 73 }\n&quot;</span>,..{number});</s
e6d60 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 7d 3c 2f 73 70 61 6e 3e pan>.<span.class="line">}</span>
e6d80 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 .<span.class="line"></span>.<spa
e6da0 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d n.class="line"><span.class="tok-
e6dc0 6b 77 22 3e 66 6e 3c 2f 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
e6de0 6e 22 3e 67 65 74 4e 75 6d 62 65 72 4f 72 46 61 69 6c 3c 2f 73 70 61 6e 3e 28 29 20 21 3c 73 70 n">getNumberOrFail</span>().!<sp
e6e00 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 69 33 32 3c 2f 73 70 61 6e 3e 20 7b an.class="tok-type">i32</span>.{
e6e20 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 3c </span>.<span.class="line">....<
e6e40 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
e6e60 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
e6e80 61 6e 3e 2e 55 6e 61 62 6c 65 54 6f 52 65 74 75 72 6e 4e 75 6d 62 65 72 3b 3c 2f 73 70 61 6e 3e an>.UnableToReturnNumber;</span>
e6ea0 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 7d 3c 2f 73 70 61 6e 3e 3c 2f 63 6f .<span.class="line">}</span></co
e6ec0 64 65 3e 3c 2f 70 72 65 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
e6ee0 70 74 69 6f 6e 20 63 6c 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
e6f00 69 67 63 61 70 74 69 6f 6e 3e 3c 70 72 65 3e 3c 73 61 6d 70 3e 3c 73 70 61 6e 20 63 6c 61 73 73 igcaption><pre><samp><span.class
e6f20 3d 22 6c 69 6e 65 22 3e 24 20 3c 6b 62 64 3e 7a 69 67 20 62 75 69 6c 64 2d 65 78 65 20 74 65 73 ="line">$.<kbd>zig.build-exe.tes
e6f40 74 2e 7a 69 67 3c 2f 6b 62 64 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 t.zig</kbd></span>.<span.class="
e6f60 6c 69 6e 65 22 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 line"></span>.<span.class="line"
e6f80 3e 24 20 3c 6b 62 64 3e 2e 2f 74 65 73 74 3c 2f 6b 62 64 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 >$.<kbd>./test</kbd></span>.<spa
e6fa0 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 74 68 72 65 61 64 20 33 35 38 36 30 32 33 20 70 61 n.class="line">thread.3586023.pa
e6fc0 6e 69 63 3a 20 61 74 74 65 6d 70 74 20 74 6f 20 75 6e 77 72 61 70 20 65 72 72 6f 72 3a 20 55 6e nic:.attempt.to.unwrap.error:.Un
e6fe0 61 62 6c 65 54 6f 52 65 74 75 72 6e 4e 75 6d 62 65 72 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 ableToReturnNumber</span>.<span.
e7000 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 31 5f 30 22 3e class="line"><span.class="t1_0">
e7020 64 6f 63 67 65 6e 5f 74 6d 70 2f 74 65 73 74 2e 7a 69 67 3a 39 3a 35 3c 2f 73 70 61 6e 3e 3a 20 docgen_tmp/test.zig:9:5</span>:.
e7040 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 32 5f 30 22 3e 30 78 32 31 31 66 37 66 20 69 6e 20 67 <span.class="t2_0">0x211f7f.in.g
e7060 65 74 4e 75 6d 62 65 72 4f 72 46 61 69 6c 20 28 74 65 73 74 29 3c 2f 73 70 61 6e 3e 3c 2f 73 70 etNumberOrFail.(test)</span></sp
e7080 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 72 65 74 75 72 an>.<span.class="line">....retur
e70a0 6e 20 65 72 72 6f 72 2e 55 6e 61 62 6c 65 54 6f 52 65 74 75 72 6e 4e 75 6d 62 65 72 3b 3c 2f 73 n.error.UnableToReturnNumber;</s
e70c0 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 3c 73 70 61 pan>.<span.class="line">....<spa
e70e0 6e 20 63 6c 61 73 73 3d 22 74 33 32 5f 31 22 3e 5e 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 0a n.class="t32_1">^</span></span>.
e7100 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 <span.class="line"><span.class="
e7120 74 31 5f 30 22 3e 64 6f 63 67 65 6e 5f 74 6d 70 2f 74 65 73 74 2e 7a 69 67 3a 34 3a 34 34 3c 2f t1_0">docgen_tmp/test.zig:4:44</
e7140 73 70 61 6e 3e 3a 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 32 5f 30 22 3e 30 78 32 31 30 34 span>:.<span.class="t2_0">0x2104
e7160 31 31 20 69 6e 20 6d 61 69 6e 20 28 74 65 73 74 29 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 0a 11.in.main.(test)</span></span>.
e7180 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 63 6f 6e 73 74 20 6e 75 6d <span.class="line">....const.num
e71a0 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 63 68 20 75 6e ber.=.getNumberOrFail().catch.un
e71c0 72 65 61 63 68 61 62 6c 65 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c reachable;</span>.<span.class="l
e71e0 69 6e 65 22 3e 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ine">...........................
e7200 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 33 32 ................<span.class="t32
e7220 5f 31 22 3e 5e 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d _1">^</span></span>.<span.class=
e7240 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 31 5f 30 22 3e 2f 68 6f 6d 65 2f "line"><span.class="t1_0">/home/
e7260 63 69 2f 72 65 6c 65 61 73 65 2d 30 2e 31 30 2e 31 2f 6f 75 74 2f 7a 69 67 2d 78 38 36 5f 36 34 ci/release-0.10.1/out/zig-x86_64
e7280 2d 6c 69 6e 75 78 2d 6d 75 73 6c 2d 62 61 73 65 6c 69 6e 65 2f 6c 69 62 2f 7a 69 67 2f 73 74 64 -linux-musl-baseline/lib/zig/std
e72a0 2f 73 74 61 72 74 2e 7a 69 67 3a 36 30 34 3a 32 32 3c 2f 73 70 61 6e 3e 3a 20 3c 73 70 61 6e 20 /start.zig:604:22</span>:.<span.
e72c0 63 6c 61 73 73 3d 22 74 32 5f 30 22 3e 30 78 32 30 66 39 35 63 20 69 6e 20 70 6f 73 69 78 43 61 class="t2_0">0x20f95c.in.posixCa
e72e0 6c 6c 4d 61 69 6e 41 6e 64 45 78 69 74 20 28 74 65 73 74 29 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 llMainAndExit.(test)</span></spa
e7300 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 20 20 20 20 20 20 n>.<span.class="line">..........
e7320 20 20 72 6f 6f 74 2e 6d 61 69 6e 28 29 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 ..root.main();</span>.<span.clas
e7340 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 3c 73 s="line">.....................<s
e7360 70 61 6e 20 63 6c 61 73 73 3d 22 74 33 32 5f 31 22 3e 5e 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e pan.class="t32_1">^</span></span
e7380 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 >.<span.class="line"><span.class
e73a0 3d 22 74 31 5f 30 22 3e 2f 68 6f 6d 65 2f 63 69 2f 72 65 6c 65 61 73 65 2d 30 2e 31 30 2e 31 2f ="t1_0">/home/ci/release-0.10.1/
e73c0 6f 75 74 2f 7a 69 67 2d 78 38 36 5f 36 34 2d 6c 69 6e 75 78 2d 6d 75 73 6c 2d 62 61 73 65 6c 69 out/zig-x86_64-linux-musl-baseli
e73e0 6e 65 2f 6c 69 62 2f 7a 69 67 2f 73 74 64 2f 73 74 61 72 74 2e 7a 69 67 3a 33 37 36 3a 35 3c 2f ne/lib/zig/std/start.zig:376:5</
e7400 73 70 61 6e 3e 3a 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 32 5f 30 22 3e 30 78 32 30 66 34 span>:.<span.class="t2_0">0x20f4
e7420 36 31 20 69 6e 20 5f 73 74 61 72 74 20 28 74 65 73 74 29 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 61.in._start.(test)</span></span
e7440 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 40 63 61 6c 6c 28 2e >.<span.class="line">....@call(.
e7460 7b 20 2e 6d 6f 64 69 66 69 65 72 20 3d 20 2e 6e 65 76 65 72 5f 69 6e 6c 69 6e 65 20 7d 2c 20 70 {..modifier.=..never_inline.},.p
e7480 6f 73 69 78 43 61 6c 6c 4d 61 69 6e 41 6e 64 45 78 69 74 2c 20 2e 7b 7d 29 3b 3c 2f 73 70 61 6e osixCallMainAndExit,..{});</span
e74a0 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 3c 73 70 61 6e 20 63 >.<span.class="line">....<span.c
e74c0 6c 61 73 73 3d 22 74 33 32 5f 31 22 3e 5e 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 lass="t32_1">^</span></span>.<sp
e74e0 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 28 70 72 6f 63 65 73 73 20 74 65 72 6d 69 6e 61 an.class="line">(process.termina
e7500 74 65 64 20 62 79 20 73 69 67 6e 61 6c 29 3c 2f 73 70 61 6e 3e 0a 3c 2f 73 61 6d 70 3e 3c 2f 70 ted.by.signal)</span>.</samp></p
e7520 72 65 3e 3c 2f 66 69 67 75 72 65 3e 0a 20 20 20 20 20 20 3c 70 3e 4f 6e 65 20 77 61 79 20 74 6f re></figure>.......<p>One.way.to
e7540 20 61 76 6f 69 64 20 74 68 69 73 20 63 72 61 73 68 20 69 73 20 74 6f 20 74 65 73 74 20 66 6f 72 .avoid.this.crash.is.to.test.for
e7560 20 61 6e 20 65 72 72 6f 72 20 69 6e 73 74 65 61 64 20 6f 66 20 61 73 73 75 6d 69 6e 67 20 61 20 .an.error.instead.of.assuming.a.
e7580 73 75 63 63 65 73 73 66 75 6c 20 72 65 73 75 6c 74 2c 20 77 69 74 68 0a 20 20 20 20 20 20 74 68 successful.result,.with.......th
e75a0 65 20 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e e.<code><span.class="line"><span
e75c0 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 69 66 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e .class="tok-kw">if</span></span>
e75e0 3c 2f 63 6f 64 65 3e 20 65 78 70 72 65 73 73 69 6f 6e 3a 3c 2f 70 3e 0a 20 20 20 20 20 20 3c 66 </code>.expression:</p>.......<f
e7600 69 67 75 72 65 3e 3c 66 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
e7620 22 3e 3c 63 69 74 65 20 63 6c 61 73 73 3d 22 66 69 6c 65 22 3e 74 65 73 74 2e 7a 69 67 3c 2f 63 "><cite.class="file">test.zig</c
e7640 69 74 65 3e 3c 2f 66 69 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
e7660 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d n.class="line"><span.class="tok-
e7680 6b 77 22 3e 63 6f 6e 73 74 3c 2f 73 70 61 6e 3e 20 70 72 69 6e 74 20 3d 20 3c 73 70 61 6e 20 63 kw">const</span>.print.=.<span.c
e76a0 6c 61 73 73 3d 22 74 6f 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
e76c0 3e 28 3c 73 70 61 6e 20 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
e76e0 64 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 29 2e 64 65 62 75 67 2e 70 72 69 6e 74 3b 3c 2f 73 70 d&quot;</span>).debug.print;</sp
e7700 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 2f 73 70 61 6e 3e 0a 3c an>.<span.class="line"></span>.<
e7720 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 span.class="line"><span.class="t
e7740 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
e7760 6f 6b 2d 6b 77 22 3e 66 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
e7780 6b 2d 66 6e 22 3e 6d 61 69 6e 3c 2f 73 70 61 6e 3e 28 29 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d k-fn">main</span>().<span.class=
e77a0 22 74 6f 6b 2d 74 79 70 65 22 3e 76 6f 69 64 3c 2f 73 70 61 6e 3e 20 7b 3c 2f 73 70 61 6e 3e 0a "tok-type">void</span>.{</span>.
e77c0 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 <span.class="line">....<span.cla
e77e0 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 63 6f 6e 73 74 3c 2f 73 70 61 6e 3e 20 72 65 73 75 6c 74 20 ss="tok-kw">const</span>.result.
e7800 3d 20 67 65 74 4e 75 6d 62 65 72 4f 72 46 61 69 6c 28 29 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 =.getNumberOrFail();</span>.<spa
e7820 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 n.class="line"></span>.<span.cla
e7840 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b ss="line">....<span.class="tok-k
e7860 77 22 3e 69 66 3c 2f 73 70 61 6e 3e 20 28 72 65 73 75 6c 74 29 20 7c 6e 75 6d 62 65 72 7c 20 7b w">if</span>.(result).|number|.{
e7880 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 20 </span>.<span.class="line">.....
e78a0 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">&
e78c0 71 75 6f 74 3b 67 6f 74 20 6e 75 6d 62 65 72 3a 20 7b 7d 5c 6e 26 71 75 6f 74 3b 3c 2f 73 70 61 quot;got.number:.{}\n&quot;</spa
e78e0 6e 3e 2c 20 2e 7b 6e 75 6d 62 65 72 7d 29 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 n>,..{number});</span>.<span.cla
e7900 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 7d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b ss="line">....}.<span.class="tok
e7920 2d 6b 77 22 3e 65 6c 73 65 3c 2f 73 70 61 6e 3e 20 7c 65 72 72 7c 20 7b 3c 2f 73 70 61 6e 3e 0a -kw">else</span>.|err|.{</span>.
e7940 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 20 20 20 20 70 72 69 6e 74 <span.class="line">........print
e7960 28 3c 73 70 61 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 (<span.class="tok-str">&quot;got
e7980 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 3c 73 .error:.{s}\n&quot;</span>,..{<s
e79a0 70 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 4e 61 pan.class="tok-builtin">@errorNa
e79c0 6d 65 3c 2f 73 70 61 6e 3e 28 65 72 72 29 7d 29 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 me</span>(err)});</span>.<span.c
e79e0 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 7d 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 lass="line">....}</span>.<span.c
e7a00 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 7d 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 lass="line">}</span>.<span.class
e7a20 3d 22 6c 69 6e 65 22 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e ="line"></span>.<span.class="lin
e7a40 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 66 6e 3c 2f 73 70 61 6e e"><span.class="tok-kw">fn</span
e7a60 3e 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 66 6e 22 3e 67 65 74 4e 75 6d 62 65 72 >.<span.class="tok-fn">getNumber
e7a80 4f 72 46 61 69 6c 3c 2f 73 70 61 6e 3e 28 29 20 21 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f OrFail</span>().!<span.class="to
e7aa0 6b 2d 74 79 70 65 22 3e 69 33 32 3c 2f 73 70 61 6e 3e 20 7b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 k-type">i32</span>.{</span>.<spa
e7ac0 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 n.class="line">....<span.class="
e7ae0 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
e7b00 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
e7b20 52 65 74 75 72 6e 4e 75 6d 62 65 72 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 ReturnNumber;</span>.<span.class
e7b40 3d 22 6c 69 6e 65 22 3e 7d 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 3c 2f 70 72 65 3e 3c 2f 66 ="line">}</span></code></pre></f
e7b60 69 67 75 72 65 3e 3c 66 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=
e7b80 22 73 68 65 6c 6c 2d 63 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
e7ba0 72 65 3e 3c 73 61 6d 70 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 24 20 3c 6b re><samp><span.class="line">$.<k
e7bc0 62 64 3e 7a 69 67 20 62 75 69 6c 64 2d 65 78 65 20 74 65 73 74 2e 7a 69 67 3c 2f 6b 62 64 3e 3c bd>zig.build-exe.test.zig</kbd><
e7be0 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 2f 73 70 61 6e /span>.<span.class="line"></span
e7c00 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 24 20 3c 6b 62 64 3e 2e 2f 74 65 >.<span.class="line">$.<kbd>./te
e7c20 73 74 3c 2f 6b 62 64 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e st</kbd></span>.<span.class="lin
e7c40 65 22 3e 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 e">got.error:.UnableToReturnNumb
e7c60 65 72 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 er</span>.</samp></pre></figure>
e7c80 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>
e7ca0 3c 61 20 68 72 65 66 3d 22 23 45 72 72 6f 72 73 22 3e 45 72 72 6f 72 73 3c 2f 61 3e 3c 2f 6c 69 <a.href="#Errors">Errors</a></li
e7cc0 3e 0a 3c 2f 75 6c 3e 0a 0a 20 20 20 20 20 20 0a 20 20 20 20 20 20 3c 68 33 20 69 64 3d 22 49 6e >.</ul>...............<h3.id="In
e7ce0 76 61 6c 69 64 2d 45 72 72 6f 72 2d 43 6f 64 65 22 3e 3c 61 20 68 72 65 66 3d 22 23 74 6f 63 2d valid-Error-Code"><a.href="#toc-
e7d00 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 72 6f Invalid-Error-Code">Invalid.Erro
e7d20 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 3d 22 r.Code</a>.<a.class="hdr".href="
e7d40 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 33 3e #Invalid-Error-Code">..</a></h3>
e7d60 0a 0a 20 20 20 20 20 20 3c 70 3e 41 74 20 63 6f 6d 70 69 6c 65 2d 74 69 6d 65 3a 3c 2f 70 3e 0a ........<p>At.compile-time:</p>.
e7d80 20 20 20 20 20 20 3c 66 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=
e7da0 22 7a 69 67 2d 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
e7dc0 74 2e 7a 69 67 3c 2f 63 69 74 65 3e 3c 2f 66 69 67 63 61 70 74 69 6f 6e 3e 3c 70 72 65 3e 3c 63 t.zig</cite></figcaption><pre><c
e7de0 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 ode><span.class="line"><span.cla
e7e00 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 63 6f 6d 70 74 69 6d 65 3c 2f 73 70 61 6e 3e 20 7b 3c 2f 73 ss="tok-kw">comptime</span>.{</s
e7e20 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 3c 73 70 61 pan>.<span.class="line">....<spa
e7e40 6e 20 63 6c 61 73 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 n.class="tok-kw">const</span>.er
e7e60 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</
e7e80 73 70 61 6e 3e 2e 41 6e 45 72 72 6f 72 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 span>.AnError;</span>.<span.clas
e7ea0 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 s="line">....<span.class="tok-kw
e7ec0 22 3e 63 6f 6e 73 74 3c 2f 73 70 61 6e 3e 20 6e 75 6d 62 65 72 20 3d 20 3c 73 70 61 6e 20 63 6c ">const</span>.number.=.<span.cl
e7ee0 61 73 73 3d 22 74 6f 6b 2d 62 75 69 6c 74 69 6e 22 3e 40 65 72 72 6f 72 54 6f 49 6e 74 3c 2f 73 ass="tok-builtin">@errorToInt</s
e7f00 70 61 6e 3e 28 65 72 72 29 20 2b 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d pan>(err).+.<span.class="tok-num
e7f20 62 65 72 22 3e 31 30 3c 2f 73 70 61 6e 3e 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 ber">10</span>;</span>.<span.cla
e7f40 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b ss="line">....<span.class="tok-k
e7f60 77 22 3e 63 6f 6e 73 74 3c 2f 73 70 61 6e 3e 20 69 6e 76 61 6c 69 64 5f 65 72 72 20 3d 20 3c 73 w">const</span>.invalid_err.=.<s
e7f80 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 62 75 69 6c 74 69 6e 22 3e 40 69 6e 74 54 6f 45 72 pan.class="tok-builtin">@intToEr
e7fa0 72 6f 72 3c 2f 73 70 61 6e 3e 28 6e 75 6d 62 65 72 29 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e ror</span>(number);</span>.<span
e7fc0 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 5f 20 3d 20 69 6e 76 61 6c 69 64 5f 65 72 .class="line">...._.=.invalid_er
e7fe0 72 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 7d 3c 2f r;</span>.<span.class="line">}</
e8000 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
e8020 72 65 3e 3c 66 69 67 63 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"
e8040 3e 53 68 65 6c 6c 3c 2f 66 69 67 63 61 70 74 69 6f 6e 3e 3c 70 72 65 3e 3c 73 61 6d 70 3e 3c 73 >Shell</figcaption><pre><samp><s
e8060 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 24 20 3c 6b 62 64 3e 7a 69 67 20 74 65 73 74 pan.class="line">$.<kbd>zig.test
e8080 20 74 65 73 74 2e 7a 69 67 3c 2f 6b 62 64 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 .test.zig</kbd></span>.<span.cla
e80a0 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 31 5f 30 22 3e 64 6f 63 ss="line"><span.class="t1_0">doc
e80c0 67 65 6e 5f 74 6d 70 2f 74 65 73 74 2e 7a 69 67 3a 34 3a 33 37 3a 20 3c 2f 73 70 61 6e 3e 3c 73 gen_tmp/test.zig:4:37:.</span><s
e80e0 70 61 6e 20 63 6c 61 73 73 3d 22 74 33 31 5f 31 22 3e 65 72 72 6f 72 3a 20 3c 2f 73 70 61 6e 3e pan.class="t31_1">error:.</span>
e8100 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 31 5f 30 22 3e 69 6e 74 65 67 65 72 20 76 61 6c 75 65 <span.class="t1_0">integer.value
e8120 20 27 31 31 27 20 72 65 70 72 65 73 65 6e 74 73 20 6e 6f 20 65 72 72 6f 72 3c 2f 73 70 61 6e 3e .'11'.represents.no.error</span>
e8140 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 2f 73 70 61 6e 3e 20 20 20 20 63 .<span.class="line"></span>....c
e8160 6f 6e 73 74 20 69 6e 76 61 6c 69 64 5f 65 72 72 20 3d 20 40 69 6e 74 54 6f 45 72 72 6f 72 28 6e onst.invalid_err.=.@intToError(n
e8180 75 6d 62 65 72 29 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 umber);</span>.<span.class="line
e81a0 22 3e 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ">..............................
e81c0 20 20 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 33 32 5f 31 22 3e 5e 7e 7e 7e 7e 7e ......<span.class="t32_1">^~~~~~
e81e0 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 2f 73 70 61 </span>.<span.class="line"></spa
e8200 6e 3e 3c 2f 73 70 61 6e 3e 0a 3c 2f 73 61 6d 70 3e 3c 2f 70 72 65 3e 3c 2f 66 69 67 75 72 65 3e n></span>.</samp></pre></figure>
e8220 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>.......
e8240 3c 66 69 67 75 72 65 3e 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
e8260 61 70 22 3e 3c 63 69 74 65 20 63 6c 61 73 73 3d 22 66 69 6c 65 22 3e 74 65 73 74 2e 7a 69 67 3c ap"><cite.class="file">test.zig<
e8280 2f 63 69 74 65 3e 3c 2f 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
e82a0 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f pan.class="line"><span.class="to
e82c0 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
e82e0 6c 61 73 73 3d 22 74 6f 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
e8300 3e 28 3c 73 70 61 6e 20 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
e8320 64 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 29 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c d&quot;</span>);</span>.<span.cl
e8340 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 ass="line"></span>.<span.class="
e8360 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 70 75 62 3c 2f line"><span.class="tok-kw">pub</
e8380 73 70 61 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
e83a0 70 61 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</
e83c0 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
e83e0 6f 69 64 3c 2f 73 70 61 6e 3e 20 7b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d oid</span>.{</span>.<span.class=
e8400 22 6c 69 6e 65 22 3e 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e "line">....<span.class="tok-kw">
e8420 76 61 72 3c 2f 73 70 61 6e 3e 20 65 72 72 20 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f var</span>.err.=.<span.class="to
e8440 6b 2d 6b 77 22 3e 65 72 72 6f 72 3c 2f 73 70 61 6e 3e 2e 41 6e 45 72 72 6f 72 3b 3c 2f 73 70 61 k-kw">error</span>.AnError;</spa
e8460 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 3c 73 70 61 6e 20 n>.<span.class="line">....<span.
e8480 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 76 61 72 3c 2f 73 70 61 6e 3e 20 6e 75 6d 62 65 72 class="tok-kw">var</span>.number
e84a0 20 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 62 75 69 6c 74 69 6e 22 3e 40 65 72 .=.<span.class="tok-builtin">@er
e84c0 72 6f 72 54 6f 49 6e 74 3c 2f 73 70 61 6e 3e 28 65 72 72 29 20 2b 20 3c 73 70 61 6e 20 63 6c 61 rorToInt</span>(err).+.<span.cla
e84e0 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 35 30 30 3c 2f 73 70 61 6e 3e 3b 3c 2f 73 70 61 ss="tok-number">500</span>;</spa
e8500 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 3c 73 70 61 6e 20 n>.<span.class="line">....<span.
e8520 63 6c 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 76 61 6c 69 class="tok-kw">var</span>.invali
e8540 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 69 6c 74 69 6e d_err.=.<span.class="tok-builtin
e8560 22 3e 40 69 6e 74 54 6f 45 72 72 6f 72 3c 2f 73 70 61 6e 3e 28 6e 75 6d 62 65 72 29 3b 3c 2f 73 ">@intToError</span>(number);</s
e8580 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 73 74 64 2e pan>.<span.class="line">....std.
e85a0 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
e85c0 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>
e85e0 2c 20 2e 7b 69 6e 76 61 6c 69 64 5f 65 72 72 7d 29 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 ,..{invalid_err});</span>.<span.
e8600 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 7d 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 3c 2f 70 72 class="line">}</span></code></pr
e8620 65 3e 3c 2f 66 69 67 75 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
e8640 6c 61 73 73 3d 22 73 68 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
e8660 6f 6e 3e 3c 70 72 65 3e 3c 73 61 6d 70 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 on><pre><samp><span.class="line"
e8680 3e 24 20 3c 6b 62 64 3e 7a 69 67 20 62 75 69 6c 64 2d 65 78 65 20 74 65 73 74 2e 7a 69 67 3c 2f >$.<kbd>zig.build-exe.test.zig</
e86a0 6b 62 64 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c kbd></span>.<span.class="line"><
e86c0 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 24 20 3c 6b 62 64 /span>.<span.class="line">$.<kbd
e86e0 3e 2e 2f 74 65 73 74 3c 2f 6b 62 64 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 >./test</kbd></span>.<span.class
e8700 3d 22 6c 69 6e 65 22 3e 74 68 72 65 61 64 20 33 35 38 36 31 31 38 20 70 61 6e 69 63 3a 20 69 6e ="line">thread.3586118.panic:.in
e8720 76 61 6c 69 64 20 65 72 72 6f 72 20 63 6f 64 65 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c valid.error.code</span>.<span.cl
e8740 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 31 5f 30 22 3e 64 6f ass="line"><span.class="t1_0">do
e8760 63 67 65 6e 5f 74 6d 70 2f 74 65 73 74 2e 7a 69 67 3a 36 3a 35 3c 2f 73 70 61 6e 3e 3a 20 3c 73 cgen_tmp/test.zig:6:5</span>:.<s
e8780 70 61 6e 20 63 6c 61 73 73 3d 22 74 32 5f 30 22 3e 30 78 32 31 30 32 63 61 20 69 6e 20 6d 61 69 pan.class="t2_0">0x2102ca.in.mai
e87a0 6e 20 28 74 65 73 74 29 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 n.(test)</span></span>.<span.cla
e87c0 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 76 61 72 20 69 6e 76 61 6c 69 64 5f 65 72 72 20 3d 20 ss="line">....var.invalid_err.=.
e87e0 40 69 6e 74 54 6f 45 72 72 6f 72 28 6e 75 6d 62 65 72 29 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 @intToError(number);</span>.<spa
e8800 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 n.class="line">....<span.class="
e8820 74 33 32 5f 31 22 3e 5e 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 t32_1">^</span></span>.<span.cla
e8840 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 31 5f 30 22 3e 2f 68 6f ss="line"><span.class="t1_0">/ho
e8860 6d 65 2f 63 69 2f 72 65 6c 65 61 73 65 2d 30 2e 31 30 2e 31 2f 6f 75 74 2f 7a 69 67 2d 78 38 36 me/ci/release-0.10.1/out/zig-x86
e8880 5f 36 34 2d 6c 69 6e 75 78 2d 6d 75 73 6c 2d 62 61 73 65 6c 69 6e 65 2f 6c 69 62 2f 7a 69 67 2f _64-linux-musl-baseline/lib/zig/
e88a0 73 74 64 2f 73 74 61 72 74 2e 7a 69 67 3a 36 30 34 3a 32 32 3c 2f 73 70 61 6e 3e 3a 20 3c 73 70 std/start.zig:604:22</span>:.<sp
e88c0 61 6e 20 63 6c 61 73 73 3d 22 74 32 5f 30 22 3e 30 78 32 30 66 38 30 63 20 69 6e 20 70 6f 73 69 an.class="t2_0">0x20f80c.in.posi
e88e0 78 43 61 6c 6c 4d 61 69 6e 41 6e 64 45 78 69 74 20 28 74 65 73 74 29 3c 2f 73 70 61 6e 3e 3c 2f xCallMainAndExit.(test)</span></
e8900 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 20 20 20 span>.<span.class="line">.......
e8920 20 20 20 20 20 72 6f 6f 74 2e 6d 61 69 6e 28 29 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 .....root.main();</span>.<span.c
e8940 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 lass="line">....................
e8960 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 33 32 5f 31 22 3e 5e 3c 2f 73 70 61 6e 3e 3c 2f 73 .<span.class="t32_1">^</span></s
e8980 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c pan>.<span.class="line"><span.cl
e89a0 61 73 73 3d 22 74 31 5f 30 22 3e 2f 68 6f 6d 65 2f 63 69 2f 72 65 6c 65 61 73 65 2d 30 2e 31 30 ass="t1_0">/home/ci/release-0.10
e89c0 2e 31 2f 6f 75 74 2f 7a 69 67 2d 78 38 36 5f 36 34 2d 6c 69 6e 75 78 2d 6d 75 73 6c 2d 62 61 73 .1/out/zig-x86_64-linux-musl-bas
e89e0 65 6c 69 6e 65 2f 6c 69 62 2f 7a 69 67 2f 73 74 64 2f 73 74 61 72 74 2e 7a 69 67 3a 33 37 36 3a eline/lib/zig/std/start.zig:376:
e8a00 35 3c 2f 73 70 61 6e 3e 3a 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 32 5f 30 22 3e 30 78 32 5</span>:.<span.class="t2_0">0x2
e8a20 30 66 33 31 31 20 69 6e 20 5f 73 74 61 72 74 20 28 74 65 73 74 29 3c 2f 73 70 61 6e 3e 3c 2f 73 0f311.in._start.(test)</span></s
e8a40 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 40 63 61 6c pan>.<span.class="line">....@cal
e8a60 6c 28 2e 7b 20 2e 6d 6f 64 69 66 69 65 72 20 3d 20 2e 6e 65 76 65 72 5f 69 6e 6c 69 6e 65 20 7d l(.{..modifier.=..never_inline.}
e8a80 2c 20 70 6f 73 69 78 43 61 6c 6c 4d 61 69 6e 41 6e 64 45 78 69 74 2c 20 2e 7b 7d 29 3b 3c 2f 73 ,.posixCallMainAndExit,..{});</s
e8aa0 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 3c 73 70 61 pan>.<span.class="line">....<spa
e8ac0 6e 20 63 6c 61 73 73 3d 22 74 33 32 5f 31 22 3e 5e 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 0a n.class="t32_1">^</span></span>.
e8ae0 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 28 70 72 6f 63 65 73 73 20 74 65 72 6d <span.class="line">(process.term
e8b00 69 6e 61 74 65 64 20 62 79 20 73 69 67 6e 61 6c 29 3c 2f 73 70 61 6e 3e 0a 3c 2f 73 61 6d 70 3e inated.by.signal)</span>.</samp>
e8b20 3c 2f 70 72 65 3e 3c 2f 66 69 67 75 72 65 3e 0a 20 20 20 20 20 20 0a 20 20 20 20 20 20 3c 68 33 </pre></figure>..............<h3
e8b40 20 69 64 3d 22 49 6e 76 61 6c 69 64 2d 45 6e 75 6d 2d 43 61 73 74 22 3e 3c 61 20 68 72 65 66 3d .id="Invalid-Enum-Cast"><a.href=
e8b60 22 23 74 6f 63 2d 49 6e 76 61 6c 69 64 2d 45 6e 75 6d 2d 43 61 73 74 22 3e 49 6e 76 61 6c 69 64 "#toc-Invalid-Enum-Cast">Invalid
e8b80 20 45 6e 75 6d 20 43 61 73 74 3c 2f 61 3e 20 3c 61 20 63 6c 61 73 73 3d 22 68 64 72 22 20 68 72 .Enum.Cast</a>.<a.class="hdr".hr
e8ba0 65 66 3d 22 23 49 6e 76 61 6c 69 64 2d 45 6e 75 6d 2d 43 61 73 74 22 3e c2 a7 3c 2f 61 3e 3c 2f ef="#Invalid-Enum-Cast">..</a></
e8bc0 68 33 3e 0a 0a 20 20 20 20 20 20 3c 70 3e 41 74 20 63 6f 6d 70 69 6c 65 2d 74 69 6d 65 3a 3c 2f h3>........<p>At.compile-time:</
e8be0 70 3e 0a 20 20 20 20 20 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
e8c00 73 73 3d 22 7a 69 67 2d 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">
e8c20 74 65 73 74 2e 7a 69 67 3c 2f 63 69 74 65 3e 3c 2f 66 69 67 63 61 70 74 69 6f 6e 3e 3c 70 72 65 test.zig</cite></figcaption><pre
e8c40 3e 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 ><code><span.class="line"><span.
e8c60 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 63 6f 6e 73 74 3c 2f 73 70 61 6e 3e 20 46 6f 6f 20 class="tok-kw">const</span>.Foo.
e8c80 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
e8ca0 6e 3e 20 7b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 n>.{</span>.<span.class="line">.
e8cc0 20 20 20 61 2c 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e ...a,</span>.<span.class="line">
e8ce0 20 20 20 20 62 2c 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 ....b,</span>.<span.class="line"
e8d00 3e 20 20 20 20 63 2c 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 >....c,</span>.<span.class="line
e8d20 22 3e 7d 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c ">};</span>.<span.class="line"><
e8d40 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
e8d60 61 6e 3e 20 7b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e an>.{</span>.<span.class="line">
e8d80 20 20 20 20 3c 73 70 61 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</
e8da0 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">
e8dc0 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 74 6f 6b 2d 6e 75 6d u2</span>.=.<span.class="tok-num
e8de0 62 65 72 22 3e 33 3c 2f 73 70 61 6e 3e 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 ber">3</span>;</span>.<span.clas
e8e00 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 s="line">....<span.class="tok-kw
e8e20 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 3d 22 ">const</span>.b.=.<span.class="
e8e40 74 6f 6b 2d 62 75 69 6c 74 69 6e 22 3e 40 69 6e 74 54 6f 45 6e 75 6d 3c 2f 73 70 61 6e 3e 28 46 tok-builtin">@intToEnum</span>(F
e8e60 6f 6f 2c 20 61 29 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 oo,.a);</span>.<span.class="line
e8e80 22 3e 20 20 20 20 5f 20 3d 20 62 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d ">...._.=.b;</span>.<span.class=
e8ea0 22 6c 69 6e 65 22 3e 7d 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 3c 2f 70 72 65 3e 3c 2f 66 69 "line">}</span></code></pre></fi
e8ec0 67 75 72 65 3e 3c 66 69 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="
e8ee0 73 68 65 6c 6c 2d 63 61 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
e8f00 65 3e 3c 73 61 6d 70 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 24 20 3c 6b 62 e><samp><span.class="line">$.<kb
e8f20 64 3e 7a 69 67 20 74 65 73 74 20 74 65 73 74 2e 7a 69 67 3c 2f 6b 62 64 3e 3c 2f 73 70 61 6e 3e d>zig.test.test.zig</kbd></span>
e8f40 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d .<span.class="line"><span.class=
e8f60 22 74 31 5f 30 22 3e 64 6f 63 67 65 6e 5f 74 6d 70 2f 74 65 73 74 2e 7a 69 67 3a 38 3a 31 35 3a "t1_0">docgen_tmp/test.zig:8:15:
e8f80 20 3c 2f 73 70 61 6e 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 33 31 5f 31 22 3e 65 72 72 6f .</span><span.class="t31_1">erro
e8fa0 72 3a 20 3c 2f 73 70 61 6e 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 31 5f 30 22 3e 65 6e 75 r:.</span><span.class="t1_0">enu
e8fc0 6d 20 27 74 65 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 m.'test.Foo'.has.no.tag.with.val
e8fe0 75 65 20 27 33 27 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 ue.'3'</span>.<span.class="line"
e9000 3e 3c 2f 73 70 61 6e 3e 20 20 20 20 63 6f 6e 73 74 20 62 20 3d 20 40 69 6e 74 54 6f 45 6e 75 6d ></span>....const.b.=.@intToEnum
e9020 28 46 6f 6f 2c 20 61 29 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 (Foo,.a);</span>.<span.class="li
e9040 6e 65 22 3e 20 20 20 20 20 20 20 20 20 20 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 ne">..............<span.class="t
e9060 33 32 5f 31 22 3e 5e 7e 7e 7e 7e 7e 7e 7e 7e 7e 7e 7e 7e 7e 7e 7e 7e 7e 3c 2f 73 70 61 6e 3e 0a 32_1">^~~~~~~~~~~~~~~~~~</span>.
e9080 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 2f 73 70 61 6e 3e 3c 73 70 61 6e 20 <span.class="line"></span><span.
e90a0 63 6c 61 73 73 3d 22 74 31 5f 30 22 3e 64 6f 63 67 65 6e 5f 74 6d 70 2f 74 65 73 74 2e 7a 69 67 class="t1_0">docgen_tmp/test.zig
e90c0 3a 31 3a 31 33 3a 20 3c 2f 73 70 61 6e 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 33 36 5f 31 :1:13:.</span><span.class="t36_1
e90e0 22 3e 6e 6f 74 65 3a 20 3c 2f 73 70 61 6e 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 31 5f 30 ">note:.</span><span.class="t1_0
e9100 22 3e 65 6e 75 6d 20 64 65 63 6c 61 72 65 64 20 68 65 72 65 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 ">enum.declared.here</span>.<spa
e9120 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 2f 73 70 61 6e 3e 63 6f 6e 73 74 20 46 6f 6f 20 n.class="line"></span>const.Foo.
e9140 3d 20 65 6e 75 6d 20 7b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e =.enum.{</span>.<span.class="lin
e9160 65 22 3e 20 20 20 20 20 20 20 20 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 33 32 5f e">............<span.class="t32_
e9180 31 22 3e 5e 7e 7e 7e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 1">^~~~</span>.<span.class="line
e91a0 22 3e 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 0a 3c 2f 73 61 6d 70 3e 3c 2f 70 72 65 3e 3c 2f "></span></span>.</samp></pre></
e91c0 66 69 67 75 72 65 3e 0a 20 20 20 20 20 20 3c 70 3e 41 74 20 72 75 6e 74 69 6d 65 3a 3c 2f 70 3e figure>.......<p>At.runtime:</p>
e91e0 0a 20 20 20 20 20 20 3c 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
e9200 3d 22 7a 69 67 2d 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
e9220 73 74 2e 7a 69 67 3c 2f 63 69 74 65 3e 3c 2f 66 69 67 63 61 70 74 69 6f 6e 3e 3c 70 72 65 3e 3c st.zig</cite></figcaption><pre><
e9240 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c code><span.class="line"><span.cl
e9260 61 73 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.=.
e9280 3c 73 70 61 6e 20 63 6c 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
e92a0 74 3c 2f 73 70 61 6e 3e 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">&
e92c0 71 75 6f 74 3b 73 74 64 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 29 3b 3c 2f 73 70 61 6e 3e 0a 3c quot;std&quot;</span>);</span>.<
e92e0 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 span.class="line"></span>.<span.
e9300 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 class="line"><span.class="tok-kw
e9320 22 3e 63 6f 6e 73 74 3c 2f 73 70 61 6e 3e 20 46 6f 6f 20 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 ">const</span>.Foo.=.<span.class
e9340 3d 22 74 6f 6b 2d 6b 77 22 3e 65 6e 75 6d 3c 2f 73 70 61 6e 3e 20 7b 3c 2f 73 70 61 6e 3e 0a 3c ="tok-kw">enum</span>.{</span>.<
e9360 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 61 2c 3c 2f 73 70 61 6e 3e 0a span.class="line">....a,</span>.
e9380 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 62 2c 3c 2f 73 70 61 6e 3e <span.class="line">....b,</span>
e93a0 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 63 2c 3c 2f 73 70 61 6e .<span.class="line">....c,</span
e93c0 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 7d 3b 3c 2f 73 70 61 6e 3e 0a 3c >.<span.class="line">};</span>.<
e93e0 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 span.class="line"></span>.<span.
e9400 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 class="line"><span.class="tok-kw
e9420 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
e9440 22 3e 66 6e 3c 2f 73 70 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"
e9460 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-
e9480 74 79 70 65 22 3e 76 6f 69 64 3c 2f 73 70 61 6e 3e 20 7b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e type">void</span>.{</span>.<span
e94a0 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 .class="line">....<span.class="t
e94c0 6f 6b 2d 6b 77 22 3e 76 61 72 3c 2f 73 70 61 6e 3e 20 61 3a 20 3c 73 70 61 6e 20 63 6c 61 73 73 ok-kw">var</span>.a:.<span.class
e94e0 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 75 32 3c 2f 73 70 61 6e 3e 20 3d 20 3c 73 70 61 6e 20 63 6c ="tok-type">u2</span>.=.<span.cl
e9500 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 33 3c 2f 73 70 61 6e 3e 3b 3c 2f 73 70 61 6e ass="tok-number">3</span>;</span
e9520 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 3c 73 70 61 6e 20 63 >.<span.class="line">....<span.c
e9540 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 76 61 72 3c 2f 73 70 61 6e 3e 20 62 20 3d 20 3c 73 70 lass="tok-kw">var</span>.b.=.<sp
e9560 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 62 75 69 6c 74 69 6e 22 3e 40 69 6e 74 54 6f 45 6e 75 an.class="tok-builtin">@intToEnu
e9580 6d 3c 2f 73 70 61 6e 3e 28 46 6f 6f 2c 20 61 29 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 m</span>(Foo,.a);</span>.<span.c
e95a0 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 73 74 64 2e 64 65 62 75 67 2e 70 72 69 6e 74 28 lass="line">....std.debug.print(
e95c0 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 73 74 72 22 3e 26 71 75 6f 74 3b 76 61 6c 75 <span.class="tok-str">&quot;valu
e95e0 65 3a 20 7b 73 7d 5c 6e 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 2c 20 2e 7b 3c 73 70 61 6e 20 63 e:.{s}\n&quot;</span>,..{<span.c
e9600 6c 61 73 73 3d 22 74 6f 6b 2d 62 75 69 6c 74 69 6e 22 3e 40 74 61 67 4e 61 6d 65 3c 2f 73 70 61 lass="tok-builtin">@tagName</spa
e9620 6e 3e 28 62 29 7d 29 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e n>(b)});</span>.<span.class="lin
e9640 65 22 3e 7d 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 3c 2f 70 72 65 3e 3c 2f 66 69 67 75 72 65 e">}</span></code></pre></figure
e9660 3e 3c 66 69 67 75 72 65 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
e9680 6c 2d 63 61 70 22 3e 53 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
e96a0 61 6d 70 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 24 20 3c 6b 62 64 3e 7a 69 amp><span.class="line">$.<kbd>zi
e96c0 67 20 62 75 69 6c 64 2d 65 78 65 20 74 65 73 74 2e 7a 69 67 3c 2f 6b 62 64 3e 3c 2f 73 70 61 6e g.build-exe.test.zig</kbd></span
e96e0 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 >.<span.class="line"></span>.<sp
e9700 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 24 20 3c 6b 62 64 3e 2e 2f 74 65 73 74 3c 2f 6b an.class="line">$.<kbd>./test</k
e9720 62 64 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 74 68 bd></span>.<span.class="line">th
e9740 72 65 61 64 20 33 35 38 36 32 32 38 20 70 61 6e 69 63 3a 20 69 6e 76 61 6c 69 64 20 65 6e 75 6d read.3586228.panic:.invalid.enum
e9760 20 76 61 6c 75 65 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 .value</span>.<span.class="line"
e9780 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 31 5f 30 22 3e 64 6f 63 67 65 6e 5f 74 6d 70 2f 74 ><span.class="t1_0">docgen_tmp/t
e97a0 65 73 74 2e 7a 69 67 3a 31 31 3a 31 33 3c 2f 73 70 61 6e 3e 3a 20 3c 73 70 61 6e 20 63 6c 61 73 est.zig:11:13</span>:.<span.clas
e97c0 73 3d 22 74 32 5f 30 22 3e 30 78 32 31 30 33 30 33 20 69 6e 20 6d 61 69 6e 20 28 74 65 73 74 29 s="t2_0">0x210303.in.main.(test)
e97e0 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 </span></span>.<span.class="line
e9800 22 3e 20 20 20 20 76 61 72 20 62 20 3d 20 40 69 6e 74 54 6f 45 6e 75 6d 28 46 6f 6f 2c 20 61 29 ">....var.b.=.@intToEnum(Foo,.a)
e9820 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 ;</span>.<span.class="line">....
e9840 20 20 20 20 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 33 32 5f 31 22 3e 5e 3c 2f 73 ........<span.class="t32_1">^</s
e9860 70 61 6e 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c pan></span>.<span.class="line"><
e9880 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 31 5f 30 22 3e 2f 68 6f 6d 65 2f 63 69 2f 72 65 6c 65 61 span.class="t1_0">/home/ci/relea
e98a0 73 65 2d 30 2e 31 30 2e 31 2f 6f 75 74 2f 7a 69 67 2d 78 38 36 5f 36 34 2d 6c 69 6e 75 78 2d 6d se-0.10.1/out/zig-x86_64-linux-m
e98c0 75 73 6c 2d 62 61 73 65 6c 69 6e 65 2f 6c 69 62 2f 7a 69 67 2f 73 74 64 2f 73 74 61 72 74 2e 7a usl-baseline/lib/zig/std/start.z
e98e0 69 67 3a 36 30 34 3a 32 32 3c 2f 73 70 61 6e 3e 3a 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 ig:604:22</span>:.<span.class="t
e9900 32 5f 30 22 3e 30 78 32 30 66 38 35 63 20 69 6e 20 70 6f 73 69 78 43 61 6c 6c 4d 61 69 6e 41 6e 2_0">0x20f85c.in.posixCallMainAn
e9920 64 45 78 69 74 20 28 74 65 73 74 29 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e dExit.(test)</span></span>.<span
e9940 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 20 20 20 20 20 20 20 20 72 6f 6f 74 2e 6d .class="line">............root.m
e9960 61 69 6e 28 29 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 ain();</span>.<span.class="line"
e9980 3e 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 >.....................<span.clas
e99a0 73 3d 22 74 33 32 5f 31 22 3e 5e 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 s="t32_1">^</span></span>.<span.
e99c0 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 31 5f 30 22 3e class="line"><span.class="t1_0">
e99e0 2f 68 6f 6d 65 2f 63 69 2f 72 65 6c 65 61 73 65 2d 30 2e 31 30 2e 31 2f 6f 75 74 2f 7a 69 67 2d /home/ci/release-0.10.1/out/zig-
e9a00 78 38 36 5f 36 34 2d 6c 69 6e 75 78 2d 6d 75 73 6c 2d 62 61 73 65 6c 69 6e 65 2f 6c 69 62 2f 7a x86_64-linux-musl-baseline/lib/z
e9a20 69 67 2f 73 74 64 2f 73 74 61 72 74 2e 7a 69 67 3a 33 37 36 3a 35 3c 2f 73 70 61 6e 3e 3a 20 3c ig/std/start.zig:376:5</span>:.<
e9a40 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 32 5f 30 22 3e 30 78 32 30 66 33 36 31 20 69 6e 20 5f 73 span.class="t2_0">0x20f361.in._s
e9a60 74 61 72 74 20 28 74 65 73 74 29 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 tart.(test)</span></span>.<span.
e9a80 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 40 63 61 6c 6c 28 2e 7b 20 2e 6d 6f 64 69 66 class="line">....@call(.{..modif
e9aa0 69 65 72 20 3d 20 2e 6e 65 76 65 72 5f 69 6e 6c 69 6e 65 20 7d 2c 20 70 6f 73 69 78 43 61 6c 6c ier.=..never_inline.},.posixCall
e9ac0 4d 61 69 6e 41 6e 64 45 78 69 74 2c 20 2e 7b 7d 29 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 MainAndExit,..{});</span>.<span.
e9ae0 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 33 class="line">....<span.class="t3
e9b00 32 5f 31 22 3e 5e 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 2_1">^</span></span>.<span.class
e9b20 3d 22 6c 69 6e 65 22 3e 28 70 72 6f 63 65 73 73 20 74 65 72 6d 69 6e 61 74 65 64 20 62 79 20 73 ="line">(process.terminated.by.s
e9b40 69 67 6e 61 6c 29 3c 2f 73 70 61 6e 3e 0a 3c 2f 73 61 6d 70 3e 3c 2f 70 72 65 3e 3c 2f 66 69 67 ignal)</span>.</samp></pre></fig
e9b60 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 49 6e 76 61 6c ure>...............<h3.id="Inval
e9b80 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 66 3d 22 23 74 6f 63 id-Error-Set-Cast"><a.href="#toc
e9ba0 2d 49 6e 76 61 6c 69 64 2d 45 72 72 6f 72 2d 53 65 74 2d 43 61 73 74 22 3e 49 6e 76 61 6c 69 64 -Invalid-Error-Set-Cast">Invalid
e9bc0 20 45 72 72 6f 72 20 53 65 74 20 43 61 73 74 3c 2f 61 3e 20 3c 61 20 63 6c 61 73 73 3d 22 68 64 .Error.Set.Cast</a>.<a.class="hd
e9be0 72 22 20 68 72 65 66 3d 22 23 49 6e 76 61 6c 69 64 2d 45 72 72 6f 72 2d 53 65 74 2d 43 61 73 74 r".href="#Invalid-Error-Set-Cast
e9c00 22 3e c2 a7 3c 2f 61 3e 3c 2f 68 33 3e 0a 0a 20 20 20 20 20 20 3c 70 3e 41 74 20 63 6f 6d 70 69 ">..</a></h3>........<p>At.compi
e9c20 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
e9c40 61 70 74 69 6f 6e 20 63 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
e9c60 73 73 3d 22 66 69 6c 65 22 3e 74 65 73 74 2e 7a 69 67 3c 2f 63 69 74 65 3e 3c 2f 66 69 67 63 61 ss="file">test.zig</cite></figca
e9c80 70 74 69 6f 6e 3e 3c 70 72 65 3e 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 ption><pre><code><span.class="li
e9ca0 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 63 6f 6e 73 74 3c 2f ne"><span.class="tok-kw">const</
e9cc0 73 70 61 6e 3e 20 53 65 74 31 20 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 span>.Set1.=.<span.class="tok-kw
e9ce0 22 3e 65 72 72 6f 72 3c 2f 73 70 61 6e 3e 7b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 ">error</span>{</span>.<span.cla
e9d00 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 41 2c 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c ss="line">....A,</span>.<span.cl
e9d20 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 42 2c 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 ass="line">....B,</span>.<span.c
e9d40 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 7d 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 lass="line">};</span>.<span.clas
e9d60 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 63 6f s="line"><span.class="tok-kw">co
e9d80 6e 73 74 3c 2f 73 70 61 6e 3e 20 53 65 74 32 20 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 nst</span>.Set2.=.<span.class="t
e9da0 6f 6b 2d 6b 77 22 3e 65 72 72 6f 72 3c 2f 73 70 61 6e 3e 7b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 ok-kw">error</span>{</span>.<spa
e9dc0 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 41 2c 3c 2f 73 70 61 6e 3e 0a 3c 73 70 n.class="line">....A,</span>.<sp
e9de0 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 43 2c 3c 2f 73 70 61 6e 3e 0a 3c 73 an.class="line">....C,</span>.<s
e9e00 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 7d 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e pan.class="line">};</span>.<span
e9e20 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b .class="line"><span.class="tok-k
e9e40 77 22 3e 63 6f 6d 70 74 69 6d 65 3c 2f 73 70 61 6e 3e 20 7b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 w">comptime</span>.{</span>.<spa
e9e60 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 5f 20 3d 20 3c 73 70 61 6e 20 63 6c 61 n.class="line">...._.=.<span.cla
e9e80 73 73 3d 22 74 6f 6b 2d 62 75 69 6c 74 69 6e 22 3e 40 65 72 72 53 65 74 43 61 73 74 3c 2f 73 70 ss="tok-builtin">@errSetCast</sp
e9ea0 61 6e 3e 28 53 65 74 32 2c 20 53 65 74 31 2e 42 29 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 an>(Set2,.Set1.B);</span>.<span.
e9ec0 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 7d 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 3c 2f 70 72 class="line">}</span></code></pr
e9ee0 65 3e 3c 2f 66 69 67 75 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
e9f00 6c 61 73 73 3d 22 73 68 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
e9f20 6f 6e 3e 3c 70 72 65 3e 3c 73 61 6d 70 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 on><pre><samp><span.class="line"
e9f40 3e 24 20 3c 6b 62 64 3e 7a 69 67 20 74 65 73 74 20 74 65 73 74 2e 7a 69 67 3c 2f 6b 62 64 3e 3c >$.<kbd>zig.test.test.zig</kbd><
e9f60 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 /span>.<span.class="line"><span.
e9f80 63 6c 61 73 73 3d 22 74 31 5f 30 22 3e 64 6f 63 67 65 6e 5f 74 6d 70 2f 74 65 73 74 2e 7a 69 67 class="t1_0">docgen_tmp/test.zig
e9fa0 3a 31 30 3a 39 3a 20 3c 2f 73 70 61 6e 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 33 31 5f 31 :10:9:.</span><span.class="t31_1
e9fc0 22 3e 65 72 72 6f 72 3a 20 3c 2f 73 70 61 6e 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 31 5f ">error:.</span><span.class="t1_
e9fe0 30 22 3e 27 65 72 72 6f 72 2e 42 27 20 6e 6f 74 20 61 20 6d 65 6d 62 65 72 20 6f 66 20 65 72 72 0">'error.B'.not.a.member.of.err
ea000 6f 72 20 73 65 74 20 27 65 72 72 6f 72 7b 41 2c 43 7d 27 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e or.set.'error{A,C}'</span>.<span
ea020 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 2f 73 70 61 6e 3e 20 20 20 20 5f 20 3d 20 40 65 72 .class="line"></span>...._.=.@er
ea040 72 53 65 74 43 61 73 74 28 53 65 74 32 2c 20 53 65 74 31 2e 42 29 3b 3c 2f 73 70 61 6e 3e 0a 3c rSetCast(Set2,.Set1.B);</span>.<
ea060 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 20 20 20 20 3c 73 70 61 6e 20 span.class="line">........<span.
ea080 63 6c 61 73 73 3d 22 74 33 32 5f 31 22 3e 5e 7e 7e 7e 7e 7e 7e 7e 7e 7e 7e 7e 7e 7e 7e 7e 7e 7e class="t32_1">^~~~~~~~~~~~~~~~~~
ea0a0 7e 7e 7e 7e 7e 7e 7e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 ~~~~~~~</span>.<span.class="line
ea0c0 22 3e 3c 2f 73 70 61 6e 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 31 5f 30 22 3e 64 6f 63 67 "></span><span.class="t1_0">docg
ea0e0 65 6e 5f 74 6d 70 2f 74 65 73 74 2e 7a 69 67 3a 35 3a 31 34 3a 20 3c 2f 73 70 61 6e 3e 3c 73 70 en_tmp/test.zig:5:14:.</span><sp
ea100 61 6e 20 63 6c 61 73 73 3d 22 74 33 36 5f 31 22 3e 6e 6f 74 65 3a 20 3c 2f 73 70 61 6e 3e 3c 73 an.class="t36_1">note:.</span><s
ea120 70 61 6e 20 63 6c 61 73 73 3d 22 74 31 5f 30 22 3e 65 72 72 6f 72 20 73 65 74 20 64 65 63 6c 61 pan.class="t1_0">error.set.decla
ea140 72 65 64 20 68 65 72 65 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e red.here</span>.<span.class="lin
ea160 65 22 3e 3c 2f 73 70 61 6e 3e 63 6f 6e 73 74 20 53 65 74 32 20 3d 20 65 72 72 6f 72 7b 3c 2f 73 e"></span>const.Set2.=.error{</s
ea180 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 20 20 20 20 pan>.<span.class="line">........
ea1a0 20 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 33 32 5f 31 22 3e 5e 7e 7e 7e 7e 3c 2f .....<span.class="t32_1">^~~~~</
ea1c0 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 2f 73 70 61 6e 3e span>.<span.class="line"></span>
ea1e0 3c 2f 73 70 61 6e 3e 0a 3c 2f 73 61 6d 70 3e 3c 2f 70 72 65 3e 3c 2f 66 69 67 75 72 65 3e 0a 20 </span>.</samp></pre></figure>..
ea200 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
ea220 69 67 75 72 65 3e 3c 66 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
ea240 22 3e 3c 63 69 74 65 20 63 6c 61 73 73 3d 22 66 69 6c 65 22 3e 74 65 73 74 2e 7a 69 67 3c 2f 63 "><cite.class="file">test.zig</c
ea260 69 74 65 3e 3c 2f 66 69 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
ea280 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d n.class="line"><span.class="tok-
ea2a0 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
ea2c0 73 73 3d 22 74 6f 6b 2d 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>(
ea2e0 3c 73 70 61 6e 20 63 6c 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&
ea300 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 29 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 quot;</span>);</span>.<span.clas
ea320 73 3d 22 6c 69 6e 65 22 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 s="line"></span>.<span.class="li
ea340 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 63 6f 6e 73 74 3c 2f ne"><span.class="tok-kw">const</
ea360 73 70 61 6e 3e 20 53 65 74 31 20 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 span>.Set1.=.<span.class="tok-kw
ea380 22 3e 65 72 72 6f 72 3c 2f 73 70 61 6e 3e 7b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 ">error</span>{</span>.<span.cla
ea3a0 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 41 2c 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c ss="line">....A,</span>.<span.cl
ea3c0 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 42 2c 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 ass="line">....B,</span>.<span.c
ea3e0 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 7d 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 lass="line">};</span>.<span.clas
ea400 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 63 6f s="line"><span.class="tok-kw">co
ea420 6e 73 74 3c 2f 73 70 61 6e 3e 20 53 65 74 32 20 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 nst</span>.Set2.=.<span.class="t
ea440 6f 6b 2d 6b 77 22 3e 65 72 72 6f 72 3c 2f 73 70 61 6e 3e 7b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 ok-kw">error</span>{</span>.<spa
ea460 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 41 2c 3c 2f 73 70 61 6e 3e 0a 3c 73 70 n.class="line">....A,</span>.<sp
ea480 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 43 2c 3c 2f 73 70 61 6e 3e 0a 3c 73 an.class="line">....C,</span>.<s
ea4a0 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 7d 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e pan.class="line">};</span>.<span
ea4c0 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b .class="line"><span.class="tok-k
ea4e0 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
ea500 77 22 3e 66 6e 3c 2f 73 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
ea520 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
ea540 2d 74 79 70 65 22 3e 76 6f 69 64 3c 2f 73 70 61 6e 3e 20 7b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 -type">void</span>.{</span>.<spa
ea560 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 66 6f 6f 28 53 65 74 31 2e 42 29 3b 3c n.class="line">....foo(Set1.B);<
ea580 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 7d 3c 2f 73 70 61 /span>.<span.class="line">}</spa
ea5a0 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 n>.<span.class="line"><span.clas
ea5c0 73 3d 22 74 6f 6b 2d 6b 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
ea5e0 3d 22 74 6f 6b 2d 66 6e 22 3e 66 6f 6f 3c 2f 73 70 61 6e 3e 28 73 65 74 31 3a 20 53 65 74 31 29 ="tok-fn">foo</span>(set1:.Set1)
ea600 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
ea620 61 6e 3e 20 7b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e an>.{</span>.<span.class="line">
ea640 20 20 20 20 3c 73 70 61 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</
ea660 73 70 61 6e 3e 20 78 20 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 62 75 69 6c 74 span>.x.=.<span.class="tok-built
ea680 69 6e 22 3e 40 65 72 72 53 65 74 43 61 73 74 3c 2f 73 70 61 6e 3e 28 53 65 74 32 2c 20 73 65 74 in">@errSetCast</span>(Set2,.set
ea6a0 31 29 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 1);</span>.<span.class="line">..
ea6c0 20 20 73 74 64 2e 64 65 62 75 67 2e 70 72 69 6e 74 28 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 ..std.debug.print(<span.class="t
ea6e0 6f 6b 2d 73 74 72 22 3e 26 71 75 6f 74 3b 76 61 6c 75 65 3a 20 7b 7d 5c 6e 26 71 75 6f 74 3b 3c ok-str">&quot;value:.{}\n&quot;<
ea700 2f 73 70 61 6e 3e 2c 20 2e 7b 78 7d 29 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 /span>,..{x});</span>.<span.clas
ea720 73 3d 22 6c 69 6e 65 22 3e 7d 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 3c 2f 70 72 65 3e 3c 2f s="line">}</span></code></pre></
ea740 66 69 67 75 72 65 3e 3c 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
ea760 3d 22 73 68 65 6c 6c 2d 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><
ea780 70 72 65 3e 3c 73 61 6d 70 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 24 20 3c pre><samp><span.class="line">$.<
ea7a0 6b 62 64 3e 7a 69 67 20 62 75 69 6c 64 2d 65 78 65 20 74 65 73 74 2e 7a 69 67 3c 2f 6b 62 64 3e kbd>zig.build-exe.test.zig</kbd>
ea7c0 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 2f 73 70 61 </span>.<span.class="line"></spa
ea7e0 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 24 20 3c 6b 62 64 3e 2e 2f 74 n>.<span.class="line">$.<kbd>./t
ea800 65 73 74 3c 2f 6b 62 64 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 est</kbd></span>.<span.class="li
ea820 6e 65 22 3e 74 68 72 65 61 64 20 33 35 38 36 33 32 35 20 70 61 6e 69 63 3a 20 69 6e 76 61 6c 69 ne">thread.3586325.panic:.invali
ea840 64 20 65 72 72 6f 72 20 63 6f 64 65 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d d.error.code</span>.<span.class=
ea860 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 31 5f 30 22 3e 64 6f 63 67 65 6e "line"><span.class="t1_0">docgen
ea880 5f 74 6d 70 2f 74 65 73 74 2e 7a 69 67 3a 31 35 3a 31 35 3c 2f 73 70 61 6e 3e 3a 20 3c 73 70 61 _tmp/test.zig:15:15</span>:.<spa
ea8a0 6e 20 63 6c 61 73 73 3d 22 74 32 5f 30 22 3e 30 78 32 31 31 65 33 31 20 69 6e 20 66 6f 6f 20 28 n.class="t2_0">0x211e31.in.foo.(
ea8c0 74 65 73 74 29 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d test)</span></span>.<span.class=
ea8e0 22 6c 69 6e 65 22 3e 20 20 20 20 63 6f 6e 73 74 20 78 20 3d 20 40 65 72 72 53 65 74 43 61 73 74 "line">....const.x.=.@errSetCast
ea900 28 53 65 74 32 2c 20 73 65 74 31 29 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 (Set2,.set1);</span>.<span.class
ea920 3d 22 6c 69 6e 65 22 3e 20 20 20 20 20 20 20 20 20 20 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 ="line">..............<span.clas
ea940 73 3d 22 74 33 32 5f 31 22 3e 5e 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 s="t32_1">^</span></span>.<span.
ea960 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 31 5f 30 22 3e class="line"><span.class="t1_0">
ea980 64 6f 63 67 65 6e 5f 74 6d 70 2f 74 65 73 74 2e 7a 69 67 3a 31 32 3a 31 33 3c 2f 73 70 61 6e 3e docgen_tmp/test.zig:12:13</span>
ea9a0 3a 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 32 5f 30 22 3e 30 78 32 31 30 32 39 64 20 69 6e :.<span.class="t2_0">0x21029d.in
ea9c0 20 6d 61 69 6e 20 28 74 65 73 74 29 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e .main.(test)</span></span>.<span
ea9e0 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 66 6f 6f 28 53 65 74 31 2e 42 29 3b 3c 2f .class="line">....foo(Set1.B);</
eaa00 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 20 20 20 span>.<span.class="line">.......
eaa20 20 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 33 32 5f 31 22 3e 5e 3c 2f 73 70 61 6e .....<span.class="t32_1">^</span
eaa40 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 ></span>.<span.class="line"><spa
eaa60 6e 20 63 6c 61 73 73 3d 22 74 31 5f 30 22 3e 2f 68 6f 6d 65 2f 63 69 2f 72 65 6c 65 61 73 65 2d n.class="t1_0">/home/ci/release-
eaa80 30 2e 31 30 2e 31 2f 6f 75 74 2f 7a 69 67 2d 78 38 36 5f 36 34 2d 6c 69 6e 75 78 2d 6d 75 73 6c 0.10.1/out/zig-x86_64-linux-musl
eaaa0 2d 62 61 73 65 6c 69 6e 65 2f 6c 69 62 2f 7a 69 67 2f 73 74 64 2f 73 74 61 72 74 2e 7a 69 67 3a -baseline/lib/zig/std/start.zig:
eaac0 36 30 34 3a 32 32 3c 2f 73 70 61 6e 3e 3a 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 32 5f 30 604:22</span>:.<span.class="t2_0
eaae0 22 3e 30 78 32 30 66 38 32 63 20 69 6e 20 70 6f 73 69 78 43 61 6c 6c 4d 61 69 6e 41 6e 64 45 78 ">0x20f82c.in.posixCallMainAndEx
eab00 69 74 20 28 74 65 73 74 29 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c it.(test)</span></span>.<span.cl
eab20 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 20 20 20 20 20 20 20 20 72 6f 6f 74 2e 6d 61 69 6e ass="line">............root.main
eab40 28 29 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 ();</span>.<span.class="line">..
eab60 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="
eab80 74 33 32 5f 31 22 3e 5e 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 t32_1">^</span></span>.<span.cla
eaba0 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 31 5f 30 22 3e 2f 68 6f ss="line"><span.class="t1_0">/ho
eabc0 6d 65 2f 63 69 2f 72 65 6c 65 61 73 65 2d 30 2e 31 30 2e 31 2f 6f 75 74 2f 7a 69 67 2d 78 38 36 me/ci/release-0.10.1/out/zig-x86
eabe0 5f 36 34 2d 6c 69 6e 75 78 2d 6d 75 73 6c 2d 62 61 73 65 6c 69 6e 65 2f 6c 69 62 2f 7a 69 67 2f _64-linux-musl-baseline/lib/zig/
eac00 73 74 64 2f 73 74 61 72 74 2e 7a 69 67 3a 33 37 36 3a 35 3c 2f 73 70 61 6e 3e 3a 20 3c 73 70 61 std/start.zig:376:5</span>:.<spa
eac20 6e 20 63 6c 61 73 73 3d 22 74 32 5f 30 22 3e 30 78 32 30 66 33 33 31 20 69 6e 20 5f 73 74 61 72 n.class="t2_0">0x20f331.in._star
eac40 74 20 28 74 65 73 74 29 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 t.(test)</span></span>.<span.cla
eac60 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 40 63 61 6c 6c 28 2e 7b 20 2e 6d 6f 64 69 66 69 65 72 ss="line">....@call(.{..modifier
eac80 20 3d 20 2e 6e 65 76 65 72 5f 69 6e 6c 69 6e 65 20 7d 2c 20 70 6f 73 69 78 43 61 6c 6c 4d 61 69 .=..never_inline.},.posixCallMai
eaca0 6e 41 6e 64 45 78 69 74 2c 20 2e 7b 7d 29 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 nAndExit,..{});</span>.<span.cla
eacc0 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 33 32 5f 31 ss="line">....<span.class="t32_1
eace0 22 3e 5e 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c ">^</span></span>.<span.class="l
ead00 69 6e 65 22 3e 28 70 72 6f 63 65 73 73 20 74 65 72 6d 69 6e 61 74 65 64 20 62 79 20 73 69 67 6e ine">(process.terminated.by.sign
ead20 61 6c 29 3c 2f 73 70 61 6e 3e 0a 3c 2f 73 61 6d 70 3e 3c 2f 70 72 65 3e 3c 2f 66 69 67 75 72 65 al)</span>.</samp></pre></figure
ead40 3e 0a 20 20 20 20 20 20 0a 0a 20 20 20 20 20 20 3c 68 33 20 69 64 3d 22 49 6e 63 6f 72 72 65 63 >...............<h3.id="Incorrec
ead60 74 2d 50 6f 69 6e 74 65 72 2d 41 6c 69 67 6e 6d 65 6e 74 22 3e 3c 61 20 68 72 65 66 3d 22 23 74 t-Pointer-Alignment"><a.href="#t
ead80 6f 63 2d 49 6e 63 6f 72 72 65 63 74 2d 50 6f 69 6e 74 65 72 2d 41 6c 69 67 6e 6d 65 6e 74 22 3e oc-Incorrect-Pointer-Alignment">
eada0 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 74 3c 2f 61 3e 20 Incorrect.Pointer.Alignment</a>.
eadc0 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 72 72 65 63 74 2d <a.class="hdr".href="#Incorrect-
eade0 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 2f 68 33 3e 0a 0a Pointer-Alignment">..</a></h3>..
eae00 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>...
eae20 20 20 20 20 3c 66 69 67 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
eae40 69 67 2d 63 61 70 22 3e 3c 63 69 74 65 20 63 6c 61 73 73 3d 22 66 69 6c 65 22 3e 74 65 73 74 2e ig-cap"><cite.class="file">test.
eae60 7a 69 67 3c 2f 63 69 74 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
eae80 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 e><span.class="line"><span.class
eaea0 3d 22 74 6f 6b 2d 6b 77 22 3e 63 6f 6d 70 74 69 6d 65 3c 2f 73 70 61 6e 3e 20 7b 3c 2f 73 70 61 ="tok-kw">comptime</span>.{</spa
eaec0 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 3c 73 70 61 6e 20 n>.<span.class="line">....<span.
eaee0 63 6c 61 73 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 class="tok-kw">const</span>.ptr.
eaf00 3d 20 3c 73 70 61 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
eaf20 54 6f 50 74 72 3c 2f 73 70 61 6e 3e 28 2a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b ToPtr</span>(*<span.class="tok-k
eaf40 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
eaf60 2d 6e 75 6d 62 65 72 22 3e 31 3c 2f 73 70 61 6e 3e 29 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 -number">1</span>).<span.class="
eaf80 74 6f 6b 2d 74 79 70 65 22 3e 69 33 32 3c 2f 73 70 61 6e 3e 2c 20 3c 73 70 61 6e 20 63 6c 61 73 tok-type">i32</span>,.<span.clas
eafa0 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 30 78 31 3c 2f 73 70 61 6e 3e 29 3b 3c 2f 73 70 61 s="tok-number">0x1</span>);</spa
eafc0 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 3c 73 70 61 6e 20 n>.<span.class="line">....<span.
eafe0 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 63 6f 6e 73 74 3c 2f 73 70 61 6e 3e 20 61 6c 69 67 class="tok-kw">const</span>.alig
eb000 6e 65 64 20 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 62 75 69 6c 74 69 6e 22 3e ned.=.<span.class="tok-builtin">
eb020 40 61 6c 69 67 6e 43 61 73 74 3c 2f 73 70 61 6e 3e 28 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 @alignCast</span>(<span.class="t
eb040 6f 6b 2d 6e 75 6d 62 65 72 22 3e 34 3c 2f 73 70 61 6e 3e 2c 20 70 74 72 29 3b 3c 2f 73 70 61 6e ok-number">4</span>,.ptr);</span
eb060 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 5f 20 3d 20 61 6c 69 >.<span.class="line">...._.=.ali
eb080 67 6e 65 64 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e gned;</span>.<span.class="line">
eb0a0 7d 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 3c 2f 70 72 65 3e 3c 2f 66 69 67 75 72 65 3e 3c 66 }</span></code></pre></figure><f
eb0c0 69 67 75 72 65 3e 3c 66 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
eb0e0 61 70 22 3e 53 68 65 6c 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
eb100 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 24 20 3c 6b 62 64 3e 7a 69 67 20 74 ><span.class="line">$.<kbd>zig.t
eb120 65 73 74 20 74 65 73 74 2e 7a 69 67 3c 2f 6b 62 64 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 est.test.zig</kbd></span>.<span.
eb140 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 31 5f 30 22 3e class="line"><span.class="t1_0">
eb160 64 6f 63 67 65 6e 5f 74 6d 70 2f 74 65 73 74 2e 7a 69 67 3a 33 3a 33 35 3a 20 3c 2f 73 70 61 6e docgen_tmp/test.zig:3:35:.</span
eb180 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 33 31 5f 31 22 3e 65 72 72 6f 72 3a 20 3c 2f 73 70 ><span.class="t31_1">error:.</sp
eb1a0 61 6e 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 31 5f 30 22 3e 70 6f 69 6e 74 65 72 20 61 64 an><span.class="t1_0">pointer.ad
eb1c0 64 72 65 73 73 20 30 78 31 20 69 73 20 6e 6f 74 20 61 6c 69 67 6e 65 64 20 74 6f 20 34 20 62 79 dress.0x1.is.not.aligned.to.4.by
eb1e0 74 65 73 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 2f tes</span>.<span.class="line"></
eb200 73 70 61 6e 3e 20 20 20 20 63 6f 6e 73 74 20 61 6c 69 67 6e 65 64 20 3d 20 40 61 6c 69 67 6e 43 span>....const.aligned.=.@alignC
eb220 61 73 74 28 34 2c 20 70 74 72 29 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d ast(4,.ptr);</span>.<span.class=
eb240 22 6c 69 6e 65 22 3e 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 "line">.........................
eb260 20 20 20 20 20 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 33 32 5f 31 22 3e 5e 7e 7e .........<span.class="t32_1">^~~
eb280 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 2f 73 70 61 </span>.<span.class="line"></spa
eb2a0 6e 3e 3c 2f 73 70 61 6e 3e 0a 3c 2f 73 61 6d 70 3e 3c 2f 70 72 65 3e 3c 2f 66 69 67 75 72 65 3e n></span>.</samp></pre></figure>
eb2c0 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>.......
eb2e0 3c 66 69 67 75 72 65 3e 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
eb300 61 70 22 3e 3c 63 69 74 65 20 63 6c 61 73 73 3d 22 66 69 6c 65 22 3e 74 65 73 74 2e 7a 69 67 3c ap"><cite.class="file">test.zig<
eb320 2f 63 69 74 65 3e 3c 2f 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
eb340 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f pan.class="line"><span.class="to
eb360 6b 2d 6b 77 22 3e 63 6f 6e 73 74 3c 2f 73 70 61 6e 3e 20 6d 65 6d 20 3d 20 3c 73 70 61 6e 20 63 k-kw">const</span>.mem.=.<span.c
eb380 6c 61 73 73 3d 22 74 6f 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
eb3a0 3e 28 3c 73 70 61 6e 20 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
eb3c0 64 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 29 2e 6d 65 6d 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 d&quot;</span>).mem;</span>.<spa
eb3e0 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d n.class="line"><span.class="tok-
eb400 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-
eb420 6b 77 22 3e 66 6e 3c 2f 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
eb440 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
eb460 6f 6b 2d 74 79 70 65 22 3e 76 6f 69 64 3c 2f 73 70 61 6e 3e 20 7b 3c 2f 73 70 61 6e 3e 0a 3c 73 ok-type">void</span>.{</span>.<s
eb480 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 pan.class="line">....<span.class
eb4a0 3d 22 74 6f 6b 2d 6b 77 22 3e 76 61 72 3c 2f 73 70 61 6e 3e 20 61 72 72 61 79 20 3c 73 70 61 6e ="tok-kw">var</span>.array.<span
eb4c0 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 61 6c 69 67 6e 3c 2f 73 70 61 6e 3e 28 3c 73 70 .class="tok-kw">align</span>(<sp
eb4e0 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 34 3c 2f 73 70 61 6e 3e 29 20 an.class="tok-number">4</span>).
eb500 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<
eb520 2f 73 70 61 6e 3e 7b 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 /span>{.<span.class="tok-number"
eb540 3e 30 78 31 31 31 31 31 31 31 31 3c 2f 73 70 61 6e 3e 2c 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d >0x11111111</span>,.<span.class=
eb560 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 30 78 31 31 31 31 31 31 31 31 3c 2f 73 70 61 6e 3e 20 7d "tok-number">0x11111111</span>.}
eb580 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 ;</span>.<span.class="line">....
eb5a0 3c 73 70 61 6e 20 63 6c 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
eb5c0 3e 20 62 79 74 65 73 20 3d 20 6d 65 6d 2e 73 6c 69 63 65 41 73 42 79 74 65 73 28 61 72 72 61 79 >.bytes.=.mem.sliceAsBytes(array
eb5e0 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
eb600 6e 3e 2e 2e 5d 29 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 n>..]);</span>.<span.class="line
eb620 22 3e 20 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
eb640 70 61 6e 3e 20 28 66 6f 6f 28 62 79 74 65 73 29 20 21 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d pan>.(foo(bytes).!=.<span.class=
eb660 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 30 78 31 31 31 31 31 31 31 31 3c 2f 73 70 61 6e 3e 29 20 "tok-number">0x11111111</span>).
eb680 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
eb6a0 6e 3e 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 65 72 72 6f 72 3c 2f 73 n>.<span.class="tok-kw">error</s
eb6c0 70 61 6e 3e 2e 57 72 6f 6e 67 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 pan>.Wrong;</span>.<span.class="
eb6e0 6c 69 6e 65 22 3e 7d 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 line">}</span>.<span.class="line
eb700 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 66 6e 3c 2f 73 70 61 6e 3e "><span.class="tok-kw">fn</span>
eb720 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 66 6e 22 3e 66 6f 6f 3c 2f 73 70 61 6e 3e .<span.class="tok-fn">foo</span>
eb740 28 62 79 74 65 73 3a 20 5b 5d 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 (bytes:.[]<span.class="tok-type"
eb760 3e 75 38 3c 2f 73 70 61 6e 3e 29 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 >u8</span>).<span.class="tok-typ
eb780 65 22 3e 75 33 32 3c 2f 73 70 61 6e 3e 20 7b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 e">u32</span>.{</span>.<span.cla
eb7a0 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b ss="line">....<span.class="tok-k
eb7c0 77 22 3e 63 6f 6e 73 74 3c 2f 73 70 61 6e 3e 20 73 6c 69 63 65 34 20 3d 20 62 79 74 65 73 5b 3c w">const</span>.slice4.=.bytes[<
eb7e0 73 70 61 6e 20 63 6c 61 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>
eb800 2e 2e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 35 3c 2f 73 70 ..<span.class="tok-number">5</sp
eb820 61 6e 3e 5d 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e an>];</span>.<span.class="line">
eb840 20 20 20 20 3c 73 70 61 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</
eb860 73 70 61 6e 3e 20 69 6e 74 5f 73 6c 69 63 65 20 3d 20 6d 65 6d 2e 62 79 74 65 73 41 73 53 6c 69 span>.int_slice.=.mem.bytesAsSli
eb880 63 65 28 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 75 33 32 3c 2f 73 ce(<span.class="tok-type">u32</s
eb8a0 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">
eb8c0 40 61 6c 69 67 6e 43 61 73 74 3c 2f 73 70 61 6e 3e 28 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 @alignCast</span>(<span.class="t
eb8e0 6f 6b 2d 6e 75 6d 62 65 72 22 3e 34 3c 2f 73 70 61 6e 3e 2c 20 73 6c 69 63 65 34 29 29 3b 3c 2f ok-number">4</span>,.slice4));</
eb900 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 3c 73 70 span>.<span.class="line">....<sp
eb920 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>.
eb940 69 6e 74 5f 73 6c 69 63 65 5b 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 int_slice[<span.class="tok-numbe
eb960 72 22 3e 30 3c 2f 73 70 61 6e 3e 5d 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 r">0</span>];</span>.<span.class
eb980 3d 22 6c 69 6e 65 22 3e 7d 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 3c 2f 70 72 65 3e 3c 2f 66 ="line">}</span></code></pre></f
eb9a0 69 67 75 72 65 3e 3c 66 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=
eb9c0 22 73 68 65 6c 6c 2d 63 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
eb9e0 72 65 3e 3c 73 61 6d 70 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 24 20 3c 6b re><samp><span.class="line">$.<k
eba00 62 64 3e 7a 69 67 20 62 75 69 6c 64 2d 65 78 65 20 74 65 73 74 2e 7a 69 67 3c 2f 6b 62 64 3e 3c bd>zig.build-exe.test.zig</kbd><
eba20 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 2f 73 70 61 6e /span>.<span.class="line"></span
eba40 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 24 20 3c 6b 62 64 3e 2e 2f 74 65 >.<span.class="line">$.<kbd>./te
eba60 73 74 3c 2f 6b 62 64 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e st</kbd></span>.<span.class="lin
eba80 65 22 3e 74 68 72 65 61 64 20 33 35 38 36 33 36 35 20 70 61 6e 69 63 3a 20 69 6e 63 6f 72 72 65 e">thread.3586365.panic:.incorre
ebaa0 63 74 20 61 6c 69 67 6e 6d 65 6e 74 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d ct.alignment</span>.<span.class=
ebac0 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 31 5f 30 22 3e 64 6f 63 67 65 6e "line"><span.class="t1_0">docgen
ebae0 5f 74 6d 70 2f 74 65 73 74 2e 7a 69 67 3a 39 3a 33 39 3c 2f 73 70 61 6e 3e 3a 20 3c 73 70 61 6e _tmp/test.zig:9:39</span>:.<span
ebb00 20 63 6c 61 73 73 3d 22 74 32 5f 30 22 3e 30 78 32 30 66 65 63 62 20 69 6e 20 66 6f 6f 20 28 74 .class="t2_0">0x20fecb.in.foo.(t
ebb20 65 73 74 29 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 est)</span></span>.<span.class="
ebb40 6c 69 6e 65 22 3e 20 20 20 20 63 6f 6e 73 74 20 69 6e 74 5f 73 6c 69 63 65 20 3d 20 6d 65 6d 2e line">....const.int_slice.=.mem.
ebb60 62 79 74 65 73 41 73 53 6c 69 63 65 28 75 33 32 2c 20 40 61 6c 69 67 6e 43 61 73 74 28 34 2c 20 bytesAsSlice(u32,.@alignCast(4,.
ebb80 73 6c 69 63 65 34 29 29 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 slice4));</span>.<span.class="li
ebba0 6e 65 22 3e 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ne">............................
ebbc0 20 20 20 20 20 20 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 33 32 5f 31 22 3e 5e 3c ..........<span.class="t32_1">^<
ebbe0 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 /span></span>.<span.class="line"
ebc00 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 31 5f 30 22 3e 64 6f 63 67 65 6e 5f 74 6d 70 2f 74 ><span.class="t1_0">docgen_tmp/t
ebc20 65 73 74 2e 7a 69 67 3a 35 3a 31 32 3c 2f 73 70 61 6e 3e 3a 20 3c 73 70 61 6e 20 63 6c 61 73 73 est.zig:5:12</span>:.<span.class
ebc40 3d 22 74 32 5f 30 22 3e 30 78 32 30 66 64 66 66 20 69 6e 20 6d 61 69 6e 20 28 74 65 73 74 29 3c ="t2_0">0x20fdff.in.main.(test)<
ebc60 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 /span></span>.<span.class="line"
ebc80 3e 20 20 20 20 69 66 20 28 66 6f 6f 28 62 79 74 65 73 29 20 21 3d 20 30 78 31 31 31 31 31 31 31 >....if.(foo(bytes).!=.0x1111111
ebca0 31 29 20 72 65 74 75 72 6e 20 65 72 72 6f 72 2e 57 72 6f 6e 67 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 1).return.error.Wrong;</span>.<s
ebcc0 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 20 20 20 20 20 20 20 3c 73 70 61 pan.class="line">...........<spa
ebce0 6e 20 63 6c 61 73 73 3d 22 74 33 32 5f 31 22 3e 5e 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 0a n.class="t32_1">^</span></span>.
ebd00 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 <span.class="line"><span.class="
ebd20 74 31 5f 30 22 3e 2f 68 6f 6d 65 2f 63 69 2f 72 65 6c 65 61 73 65 2d 30 2e 31 30 2e 31 2f 6f 75 t1_0">/home/ci/release-0.10.1/ou
ebd40 74 2f 7a 69 67 2d 78 38 36 5f 36 34 2d 6c 69 6e 75 78 2d 6d 75 73 6c 2d 62 61 73 65 6c 69 6e 65 t/zig-x86_64-linux-musl-baseline
ebd60 2f 6c 69 62 2f 7a 69 67 2f 73 74 64 2f 73 74 61 72 74 2e 7a 69 67 3a 36 31 34 3a 33 37 3c 2f 73 /lib/zig/std/start.zig:614:37</s
ebd80 70 61 6e 3e 3a 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 32 5f 30 22 3e 30 78 32 30 66 38 37 pan>:.<span.class="t2_0">0x20f87
ebda0 35 20 69 6e 20 70 6f 73 69 78 43 61 6c 6c 4d 61 69 6e 41 6e 64 45 78 69 74 20 28 74 65 73 74 29 5.in.posixCallMainAndExit.(test)
ebdc0 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 </span></span>.<span.class="line
ebde0 22 3e 20 20 20 20 20 20 20 20 20 20 20 20 63 6f 6e 73 74 20 72 65 73 75 6c 74 20 3d 20 72 6f 6f ">............const.result.=.roo
ebe00 74 2e 6d 61 69 6e 28 29 20 63 61 74 63 68 20 7c 65 72 72 7c 20 7b 3c 2f 73 70 61 6e 3e 0a 3c 73 t.main().catch.|err|.{</span>.<s
ebe20 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 pan.class="line">...............
ebe40 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
ebe60 3d 22 74 33 32 5f 31 22 3e 5e 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 ="t32_1">^</span></span>.<span.c
ebe80 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 31 5f 30 22 3e 2f lass="line"><span.class="t1_0">/
ebea0 68 6f 6d 65 2f 63 69 2f 72 65 6c 65 61 73 65 2d 30 2e 31 30 2e 31 2f 6f 75 74 2f 7a 69 67 2d 78 home/ci/release-0.10.1/out/zig-x
ebec0 38 36 5f 36 34 2d 6c 69 6e 75 78 2d 6d 75 73 6c 2d 62 61 73 65 6c 69 6e 65 2f 6c 69 62 2f 7a 69 86_64-linux-musl-baseline/lib/zi
ebee0 67 2f 73 74 64 2f 73 74 61 72 74 2e 7a 69 67 3a 33 37 36 3a 35 3c 2f 73 70 61 6e 3e 3a 20 3c 73 g/std/start.zig:376:5</span>:.<s
ebf00 70 61 6e 20 63 6c 61 73 73 3d 22 74 32 5f 30 22 3e 30 78 32 30 66 33 33 31 20 69 6e 20 5f 73 74 pan.class="t2_0">0x20f331.in._st
ebf20 61 72 74 20 28 74 65 73 74 29 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 art.(test)</span></span>.<span.c
ebf40 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 40 63 61 6c 6c 28 2e 7b 20 2e 6d 6f 64 69 66 69 lass="line">....@call(.{..modifi
ebf60 65 72 20 3d 20 2e 6e 65 76 65 72 5f 69 6e 6c 69 6e 65 20 7d 2c 20 70 6f 73 69 78 43 61 6c 6c 4d er.=..never_inline.},.posixCallM
ebf80 61 69 6e 41 6e 64 45 78 69 74 2c 20 2e 7b 7d 29 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 ainAndExit,..{});</span>.<span.c
ebfa0 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 33 32 lass="line">....<span.class="t32
ebfc0 5f 31 22 3e 5e 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d _1">^</span></span>.<span.class=
ebfe0 22 6c 69 6e 65 22 3e 28 70 72 6f 63 65 73 73 20 74 65 72 6d 69 6e 61 74 65 64 20 62 79 20 73 69 "line">(process.terminated.by.si
ec000 67 6e 61 6c 29 3c 2f 73 70 61 6e 3e 0a 3c 2f 73 61 6d 70 3e 3c 2f 70 72 65 3e 3c 2f 66 69 67 75 gnal)</span>.</samp></pre></figu
ec020 72 65 3e 0a 20 20 20 20 20 20 0a 20 20 20 20 20 20 3c 68 33 20 69 64 3d 22 57 72 6f 6e 67 2d 55 re>..............<h3.id="Wrong-U
ec040 6e 69 6f 6e 2d 46 69 65 6c 64 2d 41 63 63 65 73 73 22 3e 3c 61 20 68 72 65 66 3d 22 23 74 6f 63 nion-Field-Access"><a.href="#toc
ec060 2d 57 72 6f 6e 67 2d 55 6e 69 6f 6e 2d 46 69 65 6c 64 2d 41 63 63 65 73 73 22 3e 57 72 6f 6e 67 -Wrong-Union-Field-Access">Wrong
ec080 20 55 6e 69 6f 6e 20 46 69 65 6c 64 20 41 63 63 65 73 73 3c 2f 61 3e 20 3c 61 20 63 6c 61 73 73 .Union.Field.Access</a>.<a.class
ec0a0 3d 22 68 64 72 22 20 68 72 65 66 3d 22 23 57 72 6f 6e 67 2d 55 6e 69 6f 6e 2d 46 69 65 6c 64 2d ="hdr".href="#Wrong-Union-Field-
ec0c0 41 63 63 65 73 73 22 3e c2 a7 3c 2f 61 3e 3c 2f 68 33 3e 0a 0a 20 20 20 20 20 20 3c 70 3e 41 74 Access">..</a></h3>........<p>At
ec0e0 20 63 6f 6d 70 69 6c 65 2d 74 69 6d 65 3a 3c 2f 70 3e 0a 20 20 20 20 20 20 3c 66 69 67 75 72 65 .compile-time:</p>.......<figure
ec100 3e 3c 66 69 67 63 61 70 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
ec120 74 65 20 63 6c 61 73 73 3d 22 66 69 6c 65 22 3e 74 65 73 74 2e 7a 69 67 3c 2f 63 69 74 65 3e 3c te.class="file">test.zig</cite><
ec140 2f 66 69 67 63 61 70 74 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
ec160 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 63 ss="line"><span.class="tok-kw">c
ec180 6f 6d 70 74 69 6d 65 3c 2f 73 70 61 6e 3e 20 7b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c omptime</span>.{</span>.<span.cl
ec1a0 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d ass="line">....<span.class="tok-
ec1c0 6b 77 22 3e 76 61 72 3c 2f 73 70 61 6e 3e 20 66 20 3d 20 46 6f 6f 7b 20 2e 69 6e 74 20 3d 20 3c kw">var</span>.f.=.Foo{..int.=.<
ec1e0 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
ec200 3e 20 7d 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 >.};</span>.<span.class="line">.
ec220 20 20 20 66 2e 66 6c 6f 61 74 20 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 ...f.float.=.<span.class="tok-nu
ec240 6d 62 65 72 22 3e 31 32 2e 33 34 3c 2f 73 70 61 6e 3e 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e mber">12.34</span>;</span>.<span
ec260 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 7d 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 .class="line">}</span>.<span.cla
ec280 73 73 3d 22 6c 69 6e 65 22 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c ss="line"></span>.<span.class="l
ec2a0 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 63 6f 6e 73 74 3c ine"><span.class="tok-kw">const<
ec2c0 2f 73 70 61 6e 3e 20 46 6f 6f 20 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 /span>.Foo.=.<span.class="tok-kw
ec2e0 22 3e 75 6e 69 6f 6e 3c 2f 73 70 61 6e 3e 20 7b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c ">union</span>.{</span>.<span.cl
ec300 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 66 6c 6f 61 74 3a 20 3c 73 70 61 6e 20 63 6c 61 73 ass="line">....float:.<span.clas
ec320 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 66 33 32 3c 2f 73 70 61 6e 3e 2c 3c 2f 73 70 61 6e 3e 0a s="tok-type">f32</span>,</span>.
ec340 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 69 6e 74 3a 20 3c 73 70 61 <span.class="line">....int:.<spa
ec360 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 75 33 32 3c 2f 73 70 61 6e 3e 2c 3c 2f n.class="tok-type">u32</span>,</
ec380 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 7d 3b 3c 2f 73 70 61 span>.<span.class="line">};</spa
ec3a0 6e 3e 3c 2f 63 6f 64 65 3e 3c 2f 70 72 65 3e 3c 2f 66 69 67 75 72 65 3e 3c 66 69 67 75 72 65 3e n></code></pre></figure><figure>
ec3c0 3c 66 69 67 63 61 70 74 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
ec3e0 65 6c 6c 3c 2f 66 69 67 63 61 70 74 69 6f 6e 3e 3c 70 72 65 3e 3c 73 61 6d 70 3e 3c 73 70 61 6e ell</figcaption><pre><samp><span
ec400 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 24 20 3c 6b 62 64 3e 7a 69 67 20 74 65 73 74 20 74 65 .class="line">$.<kbd>zig.test.te
ec420 73 74 2e 7a 69 67 3c 2f 6b 62 64 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d st.zig</kbd></span>.<span.class=
ec440 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 31 5f 30 22 3e 64 6f 63 67 65 6e "line"><span.class="t1_0">docgen
ec460 5f 74 6d 70 2f 74 65 73 74 2e 7a 69 67 3a 33 3a 36 3a 20 3c 2f 73 70 61 6e 3e 3c 73 70 61 6e 20 _tmp/test.zig:3:6:.</span><span.
ec480 63 6c 61 73 73 3d 22 74 33 31 5f 31 22 3e 65 72 72 6f 72 3a 20 3c 2f 73 70 61 6e 3e 3c 73 70 61 class="t31_1">error:.</span><spa
ec4a0 6e 20 63 6c 61 73 73 3d 22 74 31 5f 30 22 3e 61 63 63 65 73 73 20 6f 66 20 75 6e 69 6f 6e 20 66 n.class="t1_0">access.of.union.f
ec4c0 69 65 6c 64 20 27 66 6c 6f 61 74 27 20 77 68 69 6c 65 20 66 69 65 6c 64 20 27 69 6e 74 27 20 69 ield.'float'.while.field.'int'.i
ec4e0 73 20 61 63 74 69 76 65 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e s.active</span>.<span.class="lin
ec500 65 22 3e 3c 2f 73 70 61 6e 3e 20 20 20 20 66 2e 66 6c 6f 61 74 20 3d 20 31 32 2e 33 34 3b 3c 2f e"></span>....f.float.=.12.34;</
ec520 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 3c 73 70 span>.<span.class="line">....<sp
ec540 61 6e 20 63 6c 61 73 73 3d 22 74 33 32 5f 31 22 3e 7e 5e 7e 7e 7e 7e 7e 3c 2f 73 70 61 6e 3e 0a an.class="t32_1">~^~~~~~</span>.
ec560 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 2f 73 70 61 6e 3e 3c 73 70 61 6e 20 <span.class="line"></span><span.
ec580 63 6c 61 73 73 3d 22 74 31 5f 30 22 3e 64 6f 63 67 65 6e 5f 74 6d 70 2f 74 65 73 74 2e 7a 69 67 class="t1_0">docgen_tmp/test.zig
ec5a0 3a 36 3a 31 33 3a 20 3c 2f 73 70 61 6e 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 33 36 5f 31 :6:13:.</span><span.class="t36_1
ec5c0 22 3e 6e 6f 74 65 3a 20 3c 2f 73 70 61 6e 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 31 5f 30 ">note:.</span><span.class="t1_0
ec5e0 22 3e 75 6e 69 6f 6e 20 64 65 63 6c 61 72 65 64 20 68 65 72 65 3c 2f 73 70 61 6e 3e 0a 3c 73 70 ">union.declared.here</span>.<sp
ec600 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 2f 73 70 61 6e 3e 63 6f 6e 73 74 20 46 6f 6f an.class="line"></span>const.Foo
ec620 20 3d 20 75 6e 69 6f 6e 20 7b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c .=.union.{</span>.<span.class="l
ec640 69 6e 65 22 3e 20 20 20 20 20 20 20 20 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 33 ine">............<span.class="t3
ec660 32 5f 31 22 3e 5e 7e 7e 7e 7e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 2_1">^~~~~</span>.<span.class="l
ec680 69 6e 65 22 3e 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 0a 3c 2f 73 61 6d 70 3e 3c 2f 70 72 65 ine"></span></span>.</samp></pre
ec6a0 3e 3c 2f 66 69 67 75 72 65 3e 0a 20 20 20 20 20 20 3c 70 3e 41 74 20 72 75 6e 74 69 6d 65 3a 3c ></figure>.......<p>At.runtime:<
ec6c0 2f 70 3e 0a 20 20 20 20 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
ec6e0 61 73 73 3d 22 7a 69 67 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"
ec700 3e 74 65 73 74 2e 7a 69 67 3c 2f 63 69 74 65 3e 3c 2f 66 69 67 63 61 70 74 69 6f 6e 3e 3c 70 72 >test.zig</cite></figcaption><pr
ec720 65 3e 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e e><code><span.class="line"><span
ec740 20 63 6c 61 73 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
ec760 20 3d 20 3c 73 70 61 6e 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
ec780 70 6f 72 74 3c 2f 73 70 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
ec7a0 22 3e 26 71 75 6f 74 3b 73 74 64 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 29 3b 3c 2f 73 70 61 6e ">&quot;std&quot;</span>);</span
ec7c0 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 >.<span.class="line"></span>.<sp
ec7e0 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b an.class="line"><span.class="tok
ec800 2d 6b 77 22 3e 63 6f 6e 73 74 3c 2f 73 70 61 6e 3e 20 46 6f 6f 20 3d 20 3c 73 70 61 6e 20 63 6c -kw">const</span>.Foo.=.<span.cl
ec820 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 75 6e 69 6f 6e 3c 2f 73 70 61 6e 3e 20 7b 3c 2f 73 70 61 ass="tok-kw">union</span>.{</spa
ec840 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 66 6c 6f 61 74 3a n>.<span.class="line">....float:
ec860 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 66 33 32 3c 2f 73 70 61 .<span.class="tok-type">f32</spa
ec880 6e 3e 2c 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 n>,</span>.<span.class="line">..
ec8a0 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
ec8c0 32 3c 2f 73 70 61 6e 3e 2c 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 2</span>,</span>.<span.class="li
ec8e0 6e 65 22 3e 7d 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 ne">};</span>.<span.class="line"
ec900 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 ></span>.<span.class="line"><spa
ec920 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
ec940 6e 20 63 6c 61 73 73 3d 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
ec960 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
ec980 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>
ec9a0 20 7b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 .{</span>.<span.class="line">...
ec9c0 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>
ec9e0 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
eca00 6b 2d 6e 75 6d 62 65 72 22 3e 34 32 3c 2f 73 70 61 6e 3e 20 7d 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 k-number">42</span>.};</span>.<s
eca20 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 62 61 72 28 26 61 6d 70 3b 66 29 pan.class="line">....bar(&amp;f)
eca40 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 7d 3c 2f 73 ;</span>.<span.class="line">}</s
eca60 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 2f 73 70 61 6e 3e 0a pan>.<span.class="line"></span>.
eca80 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 <span.class="line"><span.class="
ecaa0 74 6f 6b 2d 6b 77 22 3e 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
ecac0 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
ecae0 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 76 6f 69 64 3c 2f 73 70 61 6e 3e 20 7b 3c .class="tok-type">void</span>.{<
ecb00 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 66 2e /span>.<span.class="line">....f.
ecb20 66 6c 6f 61 74 20 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 float.=.<span.class="tok-number"
ecb40 3e 31 32 2e 33 34 3c 2f 73 70 61 6e 3e 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 >12.34</span>;</span>.<span.clas
ecb60 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 73 74 64 2e 64 65 62 75 67 2e 70 72 69 6e 74 28 3c 73 70 s="line">....std.debug.print(<sp
ecb80 61 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 an.class="tok-str">&quot;value:.
ecba0 7b 7d 5c 6e 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 2c 20 2e 7b 66 2e 66 6c 6f 61 74 7d 29 3b 3c {}\n&quot;</span>,..{f.float});<
ecbc0 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 7d 3c 2f 73 70 61 /span>.<span.class="line">}</spa
ecbe0 6e 3e 3c 2f 63 6f 64 65 3e 3c 2f 70 72 65 3e 3c 2f 66 69 67 75 72 65 3e 3c 66 69 67 75 72 65 3e n></code></pre></figure><figure>
ecc00 3c 66 69 67 63 61 70 74 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
ecc20 65 6c 6c 3c 2f 66 69 67 63 61 70 74 69 6f 6e 3e 3c 70 72 65 3e 3c 73 61 6d 70 3e 3c 73 70 61 6e ell</figcaption><pre><samp><span
ecc40 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 24 20 3c 6b 62 64 3e 7a 69 67 20 62 75 69 6c 64 2d 65 .class="line">$.<kbd>zig.build-e
ecc60 78 65 20 74 65 73 74 2e 7a 69 67 3c 2f 6b 62 64 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 xe.test.zig</kbd></span>.<span.c
ecc80 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d lass="line"></span>.<span.class=
ecca0 22 6c 69 6e 65 22 3e 24 20 3c 6b 62 64 3e 2e 2f 74 65 73 74 3c 2f 6b 62 64 3e 3c 2f 73 70 61 6e "line">$.<kbd>./test</kbd></span
eccc0 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 74 68 72 65 61 64 20 33 35 38 36 >.<span.class="line">thread.3586
ecce0 34 36 31 20 70 61 6e 69 63 3a 20 61 63 63 65 73 73 20 6f 66 20 69 6e 61 63 74 69 76 65 20 75 6e 461.panic:.access.of.inactive.un
ecd00 69 6f 6e 20 66 69 65 6c 64 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 ion.field</span>.<span.class="li
ecd20 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 31 5f 30 22 3e 64 6f 63 67 65 6e 5f 74 6d ne"><span.class="t1_0">docgen_tm
ecd40 70 2f 74 65 73 74 2e 7a 69 67 3a 31 34 3a 36 3c 2f 73 70 61 6e 3e 3a 20 3c 73 70 61 6e 20 63 6c p/test.zig:14:6</span>:.<span.cl
ecd60 61 73 73 3d 22 74 32 5f 30 22 3e 30 78 32 32 37 61 33 38 20 69 6e 20 62 61 72 20 28 74 65 73 74 ass="t2_0">0x227a38.in.bar.(test
ecd80 29 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e )</span></span>.<span.class="lin
ecda0 65 22 3e 20 20 20 20 66 2e 66 6c 6f 61 74 20 3d 20 31 32 2e 33 34 3b 3c 2f 73 70 61 6e 3e 0a 3c e">....f.float.=.12.34;</span>.<
ecdc0 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 span.class="line">.....<span.cla
ecde0 73 73 3d 22 74 33 32 5f 31 22 3e 5e 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e ss="t32_1">^</span></span>.<span
ece00 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 31 5f 30 22 .class="line"><span.class="t1_0"
ece20 3e 64 6f 63 67 65 6e 5f 74 6d 70 2f 74 65 73 74 2e 7a 69 67 3a 31 30 3a 38 3c 2f 73 70 61 6e 3e >docgen_tmp/test.zig:10:8</span>
ece40 3a 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 32 5f 30 22 3e 30 78 32 32 35 65 61 63 20 69 6e :.<span.class="t2_0">0x225eac.in
ece60 20 6d 61 69 6e 20 28 74 65 73 74 29 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e .main.(test)</span></span>.<span
ece80 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 62 61 72 28 26 61 6d 70 3b 66 29 3b 3c 2f .class="line">....bar(&amp;f);</
ecea0 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 20 20 20 span>.<span.class="line">.......
ecec0 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 33 32 5f 31 22 3e 5e 3c 2f 73 70 61 6e 3e 3c 2f 73 70 <span.class="t32_1">^</span></sp
ecee0 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 an>.<span.class="line"><span.cla
ecf00 73 73 3d 22 74 31 5f 30 22 3e 2f 68 6f 6d 65 2f 63 69 2f 72 65 6c 65 61 73 65 2d 30 2e 31 30 2e ss="t1_0">/home/ci/release-0.10.
ecf20 31 2f 6f 75 74 2f 7a 69 67 2d 78 38 36 5f 36 34 2d 6c 69 6e 75 78 2d 6d 75 73 6c 2d 62 61 73 65 1/out/zig-x86_64-linux-musl-base
ecf40 6c 69 6e 65 2f 6c 69 62 2f 7a 69 67 2f 73 74 64 2f 73 74 61 72 74 2e 7a 69 67 3a 36 30 34 3a 32 line/lib/zig/std/start.zig:604:2
ecf60 32 3c 2f 73 70 61 6e 3e 3a 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 32 5f 30 22 3e 30 78 32 2</span>:.<span.class="t2_0">0x2
ecf80 32 35 34 32 63 20 69 6e 20 70 6f 73 69 78 43 61 6c 6c 4d 61 69 6e 41 6e 64 45 78 69 74 20 28 74 2542c.in.posixCallMainAndExit.(t
ecfa0 65 73 74 29 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 est)</span></span>.<span.class="
ecfc0 6c 69 6e 65 22 3e 20 20 20 20 20 20 20 20 20 20 20 20 72 6f 6f 74 2e 6d 61 69 6e 28 29 3b 3c 2f line">............root.main();</
ecfe0 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 20 20 20 span>.<span.class="line">.......
ed000 20 20 20 20 20 20 20 20 20 20 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 33 32 5f 31 ..............<span.class="t32_1
ed020 22 3e 5e 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c ">^</span></span>.<span.class="l
ed040 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 31 5f 30 22 3e 2f 68 6f 6d 65 2f 63 69 ine"><span.class="t1_0">/home/ci
ed060 2f 72 65 6c 65 61 73 65 2d 30 2e 31 30 2e 31 2f 6f 75 74 2f 7a 69 67 2d 78 38 36 5f 36 34 2d 6c /release-0.10.1/out/zig-x86_64-l
ed080 69 6e 75 78 2d 6d 75 73 6c 2d 62 61 73 65 6c 69 6e 65 2f 6c 69 62 2f 7a 69 67 2f 73 74 64 2f 73 inux-musl-baseline/lib/zig/std/s
ed0a0 74 61 72 74 2e 7a 69 67 3a 33 37 36 3a 35 3c 2f 73 70 61 6e 3e 3a 20 3c 73 70 61 6e 20 63 6c 61 tart.zig:376:5</span>:.<span.cla
ed0c0 73 73 3d 22 74 32 5f 30 22 3e 30 78 32 32 34 66 33 31 20 69 6e 20 5f 73 74 61 72 74 20 28 74 65 ss="t2_0">0x224f31.in._start.(te
ed0e0 73 74 29 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c st)</span></span>.<span.class="l
ed100 69 6e 65 22 3e 20 20 20 20 40 63 61 6c 6c 28 2e 7b 20 2e 6d 6f 64 69 66 69 65 72 20 3d 20 2e 6e ine">....@call(.{..modifier.=..n
ed120 65 76 65 72 5f 69 6e 6c 69 6e 65 20 7d 2c 20 70 6f 73 69 78 43 61 6c 6c 4d 61 69 6e 41 6e 64 45 ever_inline.},.posixCallMainAndE
ed140 78 69 74 2c 20 2e 7b 7d 29 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c xit,..{});</span>.<span.class="l
ed160 69 6e 65 22 3e 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 33 32 5f 31 22 3e 5e 3c 2f ine">....<span.class="t32_1">^</
ed180 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e span></span>.<span.class="line">
ed1a0 28 70 72 6f 63 65 73 73 20 74 65 72 6d 69 6e 61 74 65 64 20 62 79 20 73 69 67 6e 61 6c 29 3c 2f (process.terminated.by.signal)</
ed1c0 73 70 61 6e 3e 0a 3c 2f 73 61 6d 70 3e 3c 2f 70 72 65 3e 3c 2f 66 69 67 75 72 65 3e 0a 20 20 20 span>.</samp></pre></figure>....
ed1e0 20 20 20 3c 70 3e 0a 20 20 20 20 20 20 54 68 69 73 20 73 61 66 65 74 79 20 69 73 20 6e 6f 74 20 ...<p>.......This.safety.is.not.
ed200 61 76 61 69 6c 61 62 6c 65 20 66 6f 72 20 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d available.for.<code><span.class=
ed220 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 65 78 74 65 "line"><span.class="tok-kw">exte
ed240 72 6e 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 20 6f 72 20 3c 63 6f 64 65 rn</span></span></code>.or.<code
ed260 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d ><span.class="line"><span.class=
ed280 22 74 6f 6b 2d 6b 77 22 3e 70 61 63 6b 65 64 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 3c 2f 63 "tok-kw">packed</span></span></c
ed2a0 6f 64 65 3e 20 75 6e 69 6f 6e 73 2e 0a 20 20 20 20 20 20 3c 2f 70 3e 0a 20 20 20 20 20 20 3c 70 ode>.unions........</p>.......<p
ed2c0 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 65 >.......To.change.the.active.fie
ed2e0 6c 64 20 6f 66 20 61 20 75 6e 69 6f 6e 2c 20 61 73 73 69 67 6e 20 74 68 65 20 65 6e 74 69 72 65 ld.of.a.union,.assign.the.entire
ed300 20 75 6e 69 6f 6e 2c 20 6c 69 6b 65 20 74 68 69 73 3a 0a 20 20 20 20 20 20 3c 2f 70 3e 0a 20 20 .union,.like.this:.......</p>...
ed320 20 20 20 20 3c 66 69 67 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
ed340 69 67 2d 63 61 70 22 3e 3c 63 69 74 65 20 63 6c 61 73 73 3d 22 66 69 6c 65 22 3e 74 65 73 74 2e ig-cap"><cite.class="file">test.
ed360 7a 69 67 3c 2f 63 69 74 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
ed380 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 e><span.class="line"><span.class
ed3a0 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
ed3c0 61 6e 20 63 6c 61 73 73 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</
ed3e0 73 70 61 6e 3e 28 3c 73 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
ed400 74 3b 73 74 64 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 29 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 t;std&quot;</span>);</span>.<spa
ed420 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 n.class="line"></span>.<span.cla
ed440 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 63 ss="line"><span.class="tok-kw">c
ed460 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
ed480 6f 6b 2d 6b 77 22 3e 75 6e 69 6f 6e 3c 2f 73 70 61 6e 3e 20 7b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 ok-kw">union</span>.{</span>.<sp
ed4a0 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 66 6c 6f 61 74 3a 20 3c 73 70 61 6e an.class="line">....float:.<span
ed4c0 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 66 33 32 3c 2f 73 70 61 6e 3e 2c 3c 2f 73 .class="tok-type">f32</span>,</s
ed4e0 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 69 6e 74 3a pan>.<span.class="line">....int:
ed500 20 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
ed520 6e 3e 2c 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 7d 3b n>,</span>.<span.class="line">};
ed540 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 2f 73 70 61 </span>.<span.class="line"></spa
ed560 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 n>.<span.class="line"><span.clas
ed580 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
ed5a0 73 3d 22 74 6f 6b 2d 6b 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
ed5c0 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
ed5e0 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 76 6f 69 64 3c 2f 73 70 61 6e 3e 20 7b 3c 2f 73 70 ass="tok-type">void</span>.{</sp
ed600 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 3c 73 70 61 6e an>.<span.class="line">....<span
ed620 20 63 6c 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 .class="tok-kw">var</span>.f.=.F
ed640 6f 6f 7b 20 2e 69 6e 74 20 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 oo{..int.=.<span.class="tok-numb
ed660 65 72 22 3e 34 32 3c 2f 73 70 61 6e 3e 20 7d 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c er">42</span>.};</span>.<span.cl
ed680 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 62 61 72 28 26 61 6d 70 3b 66 29 3b 3c 2f 73 70 61 ass="line">....bar(&amp;f);</spa
ed6a0 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 7d 3c 2f 73 70 61 6e 3e 0a 3c n>.<span.class="line">}</span>.<
ed6c0 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 span.class="line"></span>.<span.
ed6e0 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 class="line"><span.class="tok-kw
ed700 22 3e 66 6e 3c 2f 73 70 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"
ed720 3e 62 61 72 3c 2f 73 70 61 6e 3e 28 66 3a 20 2a 46 6f 6f 29 20 3c 73 70 61 6e 20 63 6c 61 73 73 >bar</span>(f:.*Foo).<span.class
ed740 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 76 6f 69 64 3c 2f 73 70 61 6e 3e 20 7b 3c 2f 73 70 61 6e 3e ="tok-type">void</span>.{</span>
ed760 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 66 2e 2a 20 3d 20 46 6f .<span.class="line">....f.*.=.Fo
ed780 6f 7b 20 2e 66 6c 6f 61 74 20 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d o{..float.=.<span.class="tok-num
ed7a0 62 65 72 22 3e 31 32 2e 33 34 3c 2f 73 70 61 6e 3e 20 7d 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 ber">12.34</span>.};</span>.<spa
ed7c0 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 73 74 64 2e 64 65 62 75 67 2e 70 72 69 n.class="line">....std.debug.pri
ed7e0 6e 74 28 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 73 74 72 22 3e 26 71 75 6f 74 3b 76 nt(<span.class="tok-str">&quot;v
ed800 61 6c 75 65 3a 20 7b 7d 5c 6e 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 2c 20 2e 7b 66 2e 66 6c 6f alue:.{}\n&quot;</span>,..{f.flo
ed820 61 74 7d 29 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e at});</span>.<span.class="line">
ed840 7d 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 3c 2f 70 72 65 3e 3c 2f 66 69 67 75 72 65 3e 3c 66 }</span></code></pre></figure><f
ed860 69 67 75 72 65 3e 3c 66 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
ed880 61 70 22 3e 53 68 65 6c 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
ed8a0 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 24 20 3c 6b 62 64 3e 7a 69 67 20 62 ><span.class="line">$.<kbd>zig.b
ed8c0 75 69 6c 64 2d 65 78 65 20 74 65 73 74 2e 7a 69 67 3c 2f 6b 62 64 3e 3c 2f 73 70 61 6e 3e 0a 3c uild-exe.test.zig</kbd></span>.<
ed8e0 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 span.class="line"></span>.<span.
ed900 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 24 20 3c 6b 62 64 3e 2e 2f 74 65 73 74 3c 2f 6b 62 64 3e class="line">$.<kbd>./test</kbd>
ed920 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 76 61 6c 75 65 </span>.<span.class="line">value
ed940 3a 20 31 2e 32 33 34 30 30 30 30 31 65 2b 30 31 3c 2f 73 70 61 6e 3e 0a 3c 2f 73 61 6d 70 3e 3c :.1.23400001e+01</span>.</samp><
ed960 2f 70 72 65 3e 3c 2f 66 69 67 75 72 65 3e 0a 20 20 20 20 20 20 3c 70 3e 0a 20 20 20 20 20 20 54 /pre></figure>.......<p>.......T
ed980 6f 20 63 68 61 6e 67 65 20 74 68 65 20 61 63 74 69 76 65 20 66 69 65 6c 64 20 6f 66 20 61 20 75 o.change.the.active.field.of.a.u
ed9a0 6e 69 6f 6e 20 77 68 65 6e 20 61 20 6d 65 61 6e 69 6e 67 66 75 6c 20 76 61 6c 75 65 20 66 6f 72 nion.when.a.meaningful.value.for
ed9c0 20 74 68 65 20 66 69 65 6c 64 20 69 73 20 6e 6f 74 20 6b 6e 6f 77 6e 2c 0a 20 20 20 20 20 20 75 .the.field.is.not.known,.......u
ed9e0 73 65 20 3c 61 20 68 72 65 66 3d 22 23 75 6e 64 65 66 69 6e 65 64 22 3e 75 6e 64 65 66 69 6e 65 se.<a.href="#undefined">undefine
eda00 64 3c 2f 61 3e 2c 20 6c 69 6b 65 20 74 68 69 73 3a 0a 20 20 20 20 20 20 3c 2f 70 3e 0a 20 20 20 d</a>,.like.this:.......</p>....
eda20 20 20 20 3c 66 69 67 75 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
eda40 67 2d 63 61 70 22 3e 3c 63 69 74 65 20 63 6c 61 73 73 3d 22 66 69 6c 65 22 3e 74 65 73 74 2e 7a g-cap"><cite.class="file">test.z
eda60 69 67 3c 2f 63 69 74 65 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
eda80 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d ><span.class="line"><span.class=
edaa0 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
edac0 6e 20 63 6c 61 73 73 3d 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
edae0 70 61 6e 3e 28 3c 73 70 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
edb00 3b 73 74 64 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 29 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e ;std&quot;</span>);</span>.<span
edb20 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 .class="line"></span>.<span.clas
edb40 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 63 6f s="line"><span.class="tok-kw">co
edb60 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
edb80 6b 2d 6b 77 22 3e 75 6e 69 6f 6e 3c 2f 73 70 61 6e 3e 20 7b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 k-kw">union</span>.{</span>.<spa
edba0 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 66 6c 6f 61 74 3a 20 3c 73 70 61 6e 20 n.class="line">....float:.<span.
edbc0 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 66 33 32 3c 2f 73 70 61 6e 3e 2c 3c 2f 73 70 class="tok-type">f32</span>,</sp
edbe0 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 69 6e 74 3a 20 an>.<span.class="line">....int:.
edc00 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
edc20 3e 2c 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 7d 3b 3c >,</span>.<span.class="line">};<
edc40 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 2f 73 70 61 6e /span>.<span.class="line"></span
edc60 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 >.<span.class="line"><span.class
edc80 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
edca0 3d 22 74 6f 6b 2d 6b 77 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=
edcc0 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
edce0 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 76 6f 69 64 3c 2f 73 70 61 6e 3e 20 7b 3c 2f 73 70 61 ss="tok-type">void</span>.{</spa
edd00 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 3c 73 70 61 6e 20 n>.<span.class="line">....<span.
edd20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 76 61 72 3c 2f 73 70 61 6e 3e 20 66 20 3d 20 46 6f class="tok-kw">var</span>.f.=.Fo
edd40 6f 7b 20 2e 69 6e 74 20 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 o{..int.=.<span.class="tok-numbe
edd60 72 22 3e 34 32 3c 2f 73 70 61 6e 3e 20 7d 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 r">42</span>.};</span>.<span.cla
edd80 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 66 20 3d 20 46 6f 6f 7b 20 2e 66 6c 6f 61 74 20 3d 20 ss="line">....f.=.Foo{..float.=.
edda0 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
eddc0 3c 2f 73 70 61 6e 3e 20 7d 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c </span>.};</span>.<span.class="l
edde0 69 6e 65 22 3e 20 20 20 20 62 61 72 28 26 61 6d 70 3b 66 29 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 ine">....bar(&amp;f);</span>.<sp
ede00 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 73 74 64 2e 64 65 62 75 67 2e 70 72 an.class="line">....std.debug.pr
ede20 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;
ede40 76 61 6c 75 65 3a 20 7b 7d 5c 6e 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 2c 20 2e 7b 66 2e 66 6c value:.{}\n&quot;</span>,..{f.fl
ede60 6f 61 74 7d 29 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 oat});</span>.<span.class="line"
ede80 3e 7d 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 2f 73 >}</span>.<span.class="line"></s
edea0 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c pan>.<span.class="line"><span.cl
edec0 61 73 73 3d 22 74 6f 6b 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
edee0 73 73 3d 22 74 6f 6b 2d 66 6e 22 3e 62 61 72 3c 2f 73 70 61 6e 3e 28 66 3a 20 2a 46 6f 6f 29 20 ss="tok-fn">bar</span>(f:.*Foo).
edf00 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
edf20 6e 3e 20 7b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 n>.{</span>.<span.class="line">.
edf40 20 20 20 66 2e 66 6c 6f 61 74 20 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 ...f.float.=.<span.class="tok-nu
edf60 6d 62 65 72 22 3e 31 32 2e 33 34 3c 2f 73 70 61 6e 3e 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e mber">12.34</span>;</span>.<span
edf80 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 7d 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 3c 2f 70 .class="line">}</span></code></p
edfa0 72 65 3e 3c 2f 66 69 67 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.
edfc0 63 6c 61 73 73 3d 22 73 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
edfe0 69 6f 6e 3e 3c 70 72 65 3e 3c 73 61 6d 70 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 ion><pre><samp><span.class="line
ee000 22 3e 24 20 3c 6b 62 64 3e 7a 69 67 20 62 75 69 6c 64 2d 65 78 65 20 74 65 73 74 2e 7a 69 67 3c ">$.<kbd>zig.build-exe.test.zig<
ee020 2f 6b 62 64 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e /kbd></span>.<span.class="line">
ee040 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 24 20 3c 6b 62 </span>.<span.class="line">$.<kb
ee060 64 3e 2e 2f 74 65 73 74 3c 2f 6b 62 64 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 d>./test</kbd></span>.<span.clas
ee080 73 3d 22 6c 69 6e 65 22 3e 76 61 6c 75 65 3a 20 31 2e 32 33 34 30 30 30 30 31 65 2b 30 31 3c 2f s="line">value:.1.23400001e+01</
ee0a0 73 70 61 6e 3e 0a 3c 2f 73 61 6d 70 3e 3c 2f 70 72 65 3e 3c 2f 66 69 67 75 72 65 3e 0a 20 20 20 span>.</samp></pre></figure>....
ee0c0 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
ee0e0 72 65 66 3d 22 23 75 6e 69 6f 6e 22 3e 75 6e 69 6f 6e 3c 2f 61 3e 3c 2f 6c 69 3e 0a 3c 6c 69 3e ref="#union">union</a></li>.<li>
ee100 3c 61 20 68 72 65 66 3d 22 23 65 78 74 65 72 6e 2d 75 6e 69 6f 6e 22 3e 65 78 74 65 72 6e 20 75 <a.href="#extern-union">extern.u
ee120 6e 69 6f 6e 3c 2f 61 3e 3c 2f 6c 69 3e 0a 3c 2f 75 6c 3e 0a 0a 20 20 20 20 20 20 0a 0a 20 20 20 nion</a></li>.</ul>.............
ee140 20 20 20 3c 68 33 20 69 64 3d 22 4f 75 74 2d 6f 66 2d 42 6f 75 6e 64 73 2d 46 6c 6f 61 74 2d 74 ...<h3.id="Out-of-Bounds-Float-t
ee160 6f 2d 49 6e 74 65 67 65 72 2d 43 61 73 74 22 3e 3c 61 20 68 72 65 66 3d 22 23 74 6f 63 2d 4f 75 o-Integer-Cast"><a.href="#toc-Ou
ee180 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 73 t-of-Bounds-Float-to-Integer-Cas
ee1a0 74 22 3e 4f 75 74 20 6f 66 20 42 6f 75 6e 64 73 20 46 6c 6f 61 74 20 74 6f 20 49 6e 74 65 67 65 t">Out.of.Bounds.Float.to.Intege
ee1c0 72 20 43 61 73 74 3c 2f 61 3e 20 3c 61 20 63 6c 61 73 73 3d 22 68 64 72 22 20 68 72 65 66 3d 22 r.Cast</a>.<a.class="hdr".href="
ee1e0 23 4f 75 74 2d 6f 66 2d 42 6f 75 6e 64 73 2d 46 6c 6f 61 74 2d 74 6f 2d 49 6e 74 65 67 65 72 2d #Out-of-Bounds-Float-to-Integer-
ee200 43 61 73 74 22 3e c2 a7 3c 2f 61 3e 3c 2f 68 33 3e 0a 0a 20 20 20 20 20 20 3c 70 3e 54 4f 44 4f Cast">..</a></h3>........<p>TODO
ee220 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 50 6f 69 6e 74 </p>...............<h3.id="Point
ee240 65 72 2d 43 61 73 74 2d 49 6e 76 61 6c 69 64 2d 4e 75 6c 6c 22 3e 3c 61 20 68 72 65 66 3d 22 23 er-Cast-Invalid-Null"><a.href="#
ee260 74 6f 63 2d 50 6f 69 6e 74 65 72 2d 43 61 73 74 2d 49 6e 76 61 6c 69 64 2d 4e 75 6c 6c 22 3e 50 toc-Pointer-Cast-Invalid-Null">P
ee280 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 3c 61 20 ointer.Cast.Invalid.Null</a>.<a.
ee2a0 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 73 74 2d class="hdr".href="#Pointer-Cast-
ee2c0 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 20 20 20 Invalid-Null">..</a></h3>.......
ee2e0 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 63 61 73 .<p>.......This.happens.when.cas
ee300 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 73 73 20 ting.a.pointer.with.the.address.
ee320 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 68 61 76 0.to.a.pointer.which.may.not.hav
ee340 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 61 6d 70 e.the.address.0........For.examp
ee360 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 6f 69 6e le,.<a.href="#C-Pointers">C.Poin
ee380 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 50 6f 69 ters</a>,.<a.href="#Optional-Poi
ee3a0 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 20 61 6e nters">Optional.Pointers</a>,.an
ee3c0 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 65 72 6f d.<a.href="#allowzero">allowzero
ee3e0 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 72 65 73 </a>.pointers.......allow.addres
ee400 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 50 6f 69 s.zero,.but.normal.<a.href="#Poi
ee420 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 20 20 20 nters">Pointers</a>.do.not......
ee440 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 6d 65 3a ..</p>.......<p>At.compile-time:
ee460 3c 2f 70 3e 0a 20 20 20 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
ee480 6c 61 73 73 3d 22 7a 69 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
ee4a0 22 3e 74 65 73 74 2e 7a 69 67 3c 2f 63 69 74 65 3e 3c 2f 66 69 67 63 61 70 74 69 6f 6e 3e 3c 70 ">test.zig</cite></figcaption><p
ee4c0 72 65 3e 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 re><code><span.class="line"><spa
ee4e0 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>
ee500 20 7b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 .{</span>.<span.class="line">...
ee520 20 3c 73 70 61 6e 20 63 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
ee540 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 74 n>.opt_ptr:.?*<span.class="tok-t
ee560 79 70 65 22 3e 69 33 32 3c 2f 73 70 61 6e 3e 20 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 ype">i32</span>.=.<span.class="t
ee580 6f 6b 2d 6e 75 6c 6c 22 3e 6e 75 6c 6c 3c 2f 73 70 61 6e 3e 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 ok-null">null</span>;</span>.<sp
ee5a0 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d an.class="line">....<span.class=
ee5c0 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 70 61 "tok-kw">const</span>.ptr.=.<spa
ee5e0 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 62 75 69 6c 74 69 6e 22 3e 40 70 74 72 43 61 73 74 3c 2f n.class="tok-builtin">@ptrCast</
ee600 73 70 61 6e 3e 28 2a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 69 33 span>(*<span.class="tok-type">i3
ee620 32 3c 2f 73 70 61 6e 3e 2c 20 6f 70 74 5f 70 74 72 29 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 2</span>,.opt_ptr);</span>.<span
ee640 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 5f 20 3d 20 70 74 72 3b 3c 2f 73 70 61 6e .class="line">...._.=.ptr;</span
ee660 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 7d 3c 2f 73 70 61 6e 3e 3c 2f 63 >.<span.class="line">}</span></c
ee680 6f 64 65 3e 3c 2f 70 72 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
ee6a0 61 70 74 69 6f 6e 20 63 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</
ee6c0 66 69 67 63 61 70 74 69 6f 6e 3e 3c 70 72 65 3e 3c 73 61 6d 70 3e 3c 73 70 61 6e 20 63 6c 61 73 figcaption><pre><samp><span.clas
ee6e0 73 3d 22 6c 69 6e 65 22 3e 24 20 3c 6b 62 64 3e 7a 69 67 20 74 65 73 74 20 74 65 73 74 2e 7a 69 s="line">$.<kbd>zig.test.test.zi
ee700 67 20 2d 66 73 74 61 67 65 31 3c 2f 6b 62 64 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c g.-fstage1</kbd></span>.<span.cl
ee720 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 30 5f 31 22 3e 2e 2f ass="line"><span.class="t0_1">./
ee740 64 6f 63 67 65 6e 5f 74 6d 70 2f 74 65 73 74 2e 7a 69 67 3a 33 3a 31 37 3a 20 3c 2f 73 70 61 6e docgen_tmp/test.zig:3:17:.</span
ee760 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 33 31 5f 31 22 3e 65 72 72 6f 72 3a 20 3c 2f 73 70 ><span.class="t31_1">error:.</sp
ee780 61 6e 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 30 5f 31 22 3e 6e 75 6c 6c 20 70 6f 69 6e 74 an><span.class="t0_1">null.point
ee7a0 65 72 20 63 61 73 74 65 64 20 74 6f 20 74 79 70 65 20 27 2a 69 33 32 27 3c 2f 73 70 61 6e 3e 3c er.casted.to.type.'*i32'</span><
ee7c0 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 63 6f /span>.<span.class="line">....co
ee7e0 6e 73 74 20 70 74 72 20 3d 20 40 70 74 72 43 61 73 74 28 2a 69 33 32 2c 20 6f 70 74 5f 70 74 72 nst.ptr.=.@ptrCast(*i32,.opt_ptr
ee800 29 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 );</span>.<span.class="line">...
ee820 20 20 20 20 20 20 20 20 20 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 33 32 5f 31 22 .............<span.class="t32_1"
ee840 3e 5e 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 0a 3c 2f 73 61 6d 70 3e 3c 2f 70 72 65 3e 3c 2f >^</span></span>.</samp></pre></
ee860 66 69 67 75 72 65 3e 0a 20 20 20 20 20 20 3c 70 3e 41 74 20 72 75 6e 74 69 6d 65 3a 3c 2f 70 3e figure>.......<p>At.runtime:</p>
ee880 0a 20 20 20 20 20 20 3c 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
ee8a0 3d 22 7a 69 67 2d 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
ee8c0 73 74 2e 7a 69 67 3c 2f 63 69 74 65 3e 3c 2f 66 69 67 63 61 70 74 69 6f 6e 3e 3c 70 72 65 3e 3c st.zig</cite></figcaption><pre><
ee8e0 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c code><span.class="line"><span.cl
ee900 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
ee920 61 73 73 3d 22 74 6f 6b 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
ee940 73 73 3d 22 74 6f 6b 2d 66 6e 22 3e 6d 61 69 6e 3c 2f 73 70 61 6e 3e 28 29 20 3c 73 70 61 6e 20 ss="tok-fn">main</span>().<span.
ee960 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 76 6f 69 64 3c 2f 73 70 61 6e 3e 20 7b 3c 2f class="tok-type">void</span>.{</
ee980 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 3c 73 70 span>.<span.class="line">....<sp
ee9a0 61 6e 20 63 6c 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 an.class="tok-kw">var</span>.opt
ee9c0 5f 70 74 72 3a 20 3f 2a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 69 _ptr:.?*<span.class="tok-type">i
ee9e0 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
eea00 6c 22 3e 6e 75 6c 6c 3c 2f 73 70 61 6e 3e 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 l">null</span>;</span>.<span.cla
eea20 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b ss="line">....<span.class="tok-k
eea40 77 22 3e 76 61 72 3c 2f 73 70 61 6e 3e 20 70 74 72 20 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d w">var</span>.ptr.=.<span.class=
eea60 22 74 6f 6b 2d 62 75 69 6c 74 69 6e 22 3e 40 70 74 72 43 61 73 74 3c 2f 73 70 61 6e 3e 28 2a 3c "tok-builtin">@ptrCast</span>(*<
eea80 73 70 61 6e 20 63 6c 61 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>
eeaa0 2c 20 6f 70 74 5f 70 74 72 29 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 ,.opt_ptr);</span>.<span.class="
eeac0 6c 69 6e 65 22 3e 20 20 20 20 5f 20 3d 20 70 74 72 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 line">...._.=.ptr;</span>.<span.
eeae0 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 7d 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 3c 2f 70 72 class="line">}</span></code></pr
eeb00 65 3e 3c 2f 66 69 67 75 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
eeb20 6c 61 73 73 3d 22 73 68 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
eeb40 6f 6e 3e 3c 70 72 65 3e 3c 73 61 6d 70 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 on><pre><samp><span.class="line"
eeb60 3e 24 20 3c 6b 62 64 3e 7a 69 67 20 62 75 69 6c 64 2d 65 78 65 20 74 65 73 74 2e 7a 69 67 3c 2f >$.<kbd>zig.build-exe.test.zig</
eeb80 6b 62 64 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c kbd></span>.<span.class="line"><
eeba0 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 24 20 3c 6b 62 64 /span>.<span.class="line">$.<kbd
eebc0 3e 2e 2f 74 65 73 74 3c 2f 6b 62 64 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 >./test</kbd></span>.<span.class
eebe0 3d 22 6c 69 6e 65 22 3e 74 68 72 65 61 64 20 33 35 38 36 36 39 35 20 70 61 6e 69 63 3a 20 63 61 ="line">thread.3586695.panic:.ca
eec00 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 3c 2f 73 70 st.causes.pointer.to.be.null</sp
eec20 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 an>.<span.class="line"><span.cla
eec40 73 73 3d 22 74 31 5f 30 22 3e 64 6f 63 67 65 6e 5f 74 6d 70 2f 74 65 73 74 2e 7a 69 67 3a 33 3a ss="t1_0">docgen_tmp/test.zig:3:
eec60 31 35 3c 2f 73 70 61 6e 3e 3a 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 32 5f 30 22 3e 30 78 15</span>:.<span.class="t2_0">0x
eec80 32 31 30 31 63 31 20 69 6e 20 6d 61 69 6e 20 28 74 65 73 74 29 3c 2f 73 70 61 6e 3e 3c 2f 73 70 2101c1.in.main.(test)</span></sp
eeca0 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 76 61 72 20 70 an>.<span.class="line">....var.p
eecc0 74 72 20 3d 20 40 70 74 72 43 61 73 74 28 2a 69 33 32 2c 20 6f 70 74 5f 70 74 72 29 3b 3c 2f 73 tr.=.@ptrCast(*i32,.opt_ptr);</s
eece0 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 20 20 20 20 pan>.<span.class="line">........
eed00 20 20 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 33 32 5f 31 22 3e 5e 3c 2f 73 70 61 ......<span.class="t32_1">^</spa
eed20 6e 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 n></span>.<span.class="line"><sp
eed40 61 6e 20 63 6c 61 73 73 3d 22 74 31 5f 30 22 3e 2f 68 6f 6d 65 2f 63 69 2f 72 65 6c 65 61 73 65 an.class="t1_0">/home/ci/release
eed60 2d 30 2e 31 30 2e 31 2f 6f 75 74 2f 7a 69 67 2d 78 38 36 5f 36 34 2d 6c 69 6e 75 78 2d 6d 75 73 -0.10.1/out/zig-x86_64-linux-mus
eed80 6c 2d 62 61 73 65 6c 69 6e 65 2f 6c 69 62 2f 7a 69 67 2f 73 74 64 2f 73 74 61 72 74 2e 7a 69 67 l-baseline/lib/zig/std/start.zig
eeda0 3a 36 30 34 3a 32 32 3c 2f 73 70 61 6e 3e 3a 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 32 5f :604:22</span>:.<span.class="t2_
eedc0 30 22 3e 30 78 32 30 66 37 31 63 20 69 6e 20 70 6f 73 69 78 43 61 6c 6c 4d 61 69 6e 41 6e 64 45 0">0x20f71c.in.posixCallMainAndE
eede0 78 69 74 20 28 74 65 73 74 29 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 xit.(test)</span></span>.<span.c
eee00 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 20 20 20 20 20 20 20 20 72 6f 6f 74 2e 6d 61 69 lass="line">............root.mai
eee20 6e 28 29 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 n();</span>.<span.class="line">.
eee40 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d ....................<span.class=
eee60 22 74 33 32 5f 31 22 3e 5e 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c "t32_1">^</span></span>.<span.cl
eee80 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 31 5f 30 22 3e 2f 68 ass="line"><span.class="t1_0">/h
eeea0 6f 6d 65 2f 63 69 2f 72 65 6c 65 61 73 65 2d 30 2e 31 30 2e 31 2f 6f 75 74 2f 7a 69 67 2d 78 38 ome/ci/release-0.10.1/out/zig-x8
eeec0 36 5f 36 34 2d 6c 69 6e 75 78 2d 6d 75 73 6c 2d 62 61 73 65 6c 69 6e 65 2f 6c 69 62 2f 7a 69 67 6_64-linux-musl-baseline/lib/zig
eeee0 2f 73 74 64 2f 73 74 61 72 74 2e 7a 69 67 3a 33 37 36 3a 35 3c 2f 73 70 61 6e 3e 3a 20 3c 73 70 /std/start.zig:376:5</span>:.<sp
eef00 61 6e 20 63 6c 61 73 73 3d 22 74 32 5f 30 22 3e 30 78 32 30 66 32 32 31 20 69 6e 20 5f 73 74 61 an.class="t2_0">0x20f221.in._sta
eef20 72 74 20 28 74 65 73 74 29 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c rt.(test)</span></span>.<span.cl
eef40 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 40 63 61 6c 6c 28 2e 7b 20 2e 6d 6f 64 69 66 69 65 ass="line">....@call(.{..modifie
eef60 72 20 3d 20 2e 6e 65 76 65 72 5f 69 6e 6c 69 6e 65 20 7d 2c 20 70 6f 73 69 78 43 61 6c 6c 4d 61 r.=..never_inline.},.posixCallMa
eef80 69 6e 41 6e 64 45 78 69 74 2c 20 2e 7b 7d 29 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c inAndExit,..{});</span>.<span.cl
eefa0 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 33 32 5f ass="line">....<span.class="t32_
eefc0 31 22 3e 5e 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 1">^</span></span>.<span.class="
eefe0 6c 69 6e 65 22 3e 28 70 72 6f 63 65 73 73 20 74 65 72 6d 69 6e 61 74 65 64 20 62 79 20 73 69 67 line">(process.terminated.by.sig
ef000 6e 61 6c 29 3c 2f 73 70 61 6e 3e 0a 3c 2f 73 61 6d 70 3e 3c 2f 70 72 65 3e 3c 2f 66 69 67 75 72 nal)</span>.</samp></pre></figur
ef020 65 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 e>......................<h2.id="
ef040 4d 65 6d 6f 72 79 22 3e 3c 61 20 68 72 65 66 3d 22 23 74 6f 63 2d 4d 65 6d 6f 72 79 22 3e 4d 65 Memory"><a.href="#toc-Memory">Me
ef060 6d 6f 72 79 3c 2f 61 3e 20 3c 61 20 63 6c 61 73 73 3d 22 68 64 72 22 20 68 72 65 66 3d 22 23 4d mory</a>.<a.class="hdr".href="#M
ef080 65 6d 6f 72 79 22 3e c2 a7 3c 2f 61 3e 3c 2f 68 32 3e 0a 0a 20 20 20 20 20 20 3c 70 3e 0a 20 20 emory">..</a></h2>........<p>...
ef0a0 20 20 20 20 54 68 65 20 5a 69 67 20 6c 61 6e 67 75 61 67 65 20 70 65 72 66 6f 72 6d 73 20 6e 6f ....The.Zig.language.performs.no
ef0c0 20 6d 65 6d 6f 72 79 20 6d 61 6e 61 67 65 6d 65 6e 74 20 6f 6e 20 62 65 68 61 6c 66 20 6f 66 20 .memory.management.on.behalf.of.
ef0e0 74 68 65 20 70 72 6f 67 72 61 6d 6d 65 72 2e 20 54 68 69 73 20 69 73 0a 20 20 20 20 20 20 77 68 the.programmer..This.is.......wh
ef100 79 20 5a 69 67 20 68 61 73 20 6e 6f 20 72 75 6e 74 69 6d 65 2c 20 61 6e 64 20 77 68 79 20 5a 69 y.Zig.has.no.runtime,.and.why.Zi
ef120 67 20 63 6f 64 65 20 77 6f 72 6b 73 20 73 65 61 6d 6c 65 73 73 6c 79 20 69 6e 20 73 6f 20 6d 61 g.code.works.seamlessly.in.so.ma
ef140 6e 79 20 65 6e 76 69 72 6f 6e 6d 65 6e 74 73 2c 0a 20 20 20 20 20 20 69 6e 63 6c 75 64 69 6e 67 ny.environments,.......including
ef160 20 72 65 61 6c 2d 74 69 6d 65 20 73 6f 66 74 77 61 72 65 2c 20 6f 70 65 72 61 74 69 6e 67 20 73 .real-time.software,.operating.s
ef180 79 73 74 65 6d 20 6b 65 72 6e 65 6c 73 2c 20 65 6d 62 65 64 64 65 64 20 64 65 76 69 63 65 73 2c ystem.kernels,.embedded.devices,
ef1a0 20 61 6e 64 0a 20 20 20 20 20 20 6c 6f 77 20 6c 61 74 65 6e 63 79 20 73 65 72 76 65 72 73 2e 20 .and.......low.latency.servers..
ef1c0 41 73 20 61 20 63 6f 6e 73 65 71 75 65 6e 63 65 2c 20 5a 69 67 20 70 72 6f 67 72 61 6d 6d 65 72 As.a.consequence,.Zig.programmer
ef1e0 73 20 6d 75 73 74 20 61 6c 77 61 79 73 20 62 65 20 61 62 6c 65 20 74 6f 20 61 6e 73 77 65 72 0a s.must.always.be.able.to.answer.
ef200 20 20 20 20 20 20 74 68 65 20 71 75 65 73 74 69 6f 6e 3a 0a 20 20 20 20 20 20 3c 2f 70 3e 0a 20 ......the.question:.......</p>..
ef220 20 20 20 20 20 3c 70 3e 3c 61 20 68 72 65 66 3d 22 23 57 68 65 72 65 2d 61 72 65 2d 74 68 65 2d .....<p><a.href="#Where-are-the-
ef240 62 79 74 65 73 22 3e 57 68 65 72 65 20 61 72 65 20 74 68 65 20 62 79 74 65 73 3f 3c 2f 61 3e 3c bytes">Where.are.the.bytes?</a><
ef260 2f 70 3e 0a 20 20 20 20 20 20 3c 70 3e 0a 20 20 20 20 20 20 4c 69 6b 65 20 5a 69 67 2c 20 74 68 /p>.......<p>.......Like.Zig,.th
ef280 65 20 43 20 70 72 6f 67 72 61 6d 6d 69 6e 67 20 6c 61 6e 67 75 61 67 65 20 68 61 73 20 6d 61 6e e.C.programming.language.has.man
ef2a0 75 61 6c 20 6d 65 6d 6f 72 79 20 6d 61 6e 61 67 65 6d 65 6e 74 2e 20 48 6f 77 65 76 65 72 2c 20 ual.memory.management..However,.
ef2c0 75 6e 6c 69 6b 65 20 5a 69 67 2c 0a 20 20 20 20 20 20 43 20 68 61 73 20 61 20 64 65 66 61 75 6c unlike.Zig,.......C.has.a.defaul
ef2e0 74 20 61 6c 6c 6f 63 61 74 6f 72 20 2d 20 3c 63 6f 64 65 3e 6d 61 6c 6c 6f 63 3c 2f 63 6f 64 65 t.allocator.-.<code>malloc</code
ef300 3e 2c 20 3c 63 6f 64 65 3e 72 65 61 6c 6c 6f 63 3c 2f 63 6f 64 65 3e 2c 20 61 6e 64 20 3c 63 6f >,.<code>realloc</code>,.and.<co
ef320 64 65 3e 66 72 65 65 3c 2f 63 6f 64 65 3e 2e 0a 20 20 20 20 20 20 57 68 65 6e 20 6c 69 6e 6b 69 de>free</code>........When.linki
ef340 6e 67 20 61 67 61 69 6e 73 74 20 6c 69 62 63 2c 20 5a 69 67 20 65 78 70 6f 73 65 73 20 74 68 69 ng.against.libc,.Zig.exposes.thi
ef360 73 20 61 6c 6c 6f 63 61 74 6f 72 20 77 69 74 68 20 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 s.allocator.with.<code><span.cla
ef380 73 73 3d 22 6c 69 6e 65 22 3e 73 74 64 2e 68 65 61 70 2e 63 5f 61 6c 6c 6f 63 61 74 6f 72 3c 2f ss="line">std.heap.c_allocator</
ef3a0 73 70 61 6e 3e 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 20 span></code>........However,.by.
ef3c0 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 20 convention,.there.is.no.default.
ef3e0 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 74 allocator.in.Zig..Instead,.funct
ef400 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 74 ions.which.need.to.......allocat
ef420 65 20 61 63 63 65 70 74 20 61 6e 20 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c e.accept.an.<code><span.class="l
ef440 69 6e 65 22 3e 41 6c 6c 6f 63 61 74 6f 72 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 20 70 61 72 ine">Allocator</span></code>.par
ef460 61 6d 65 74 65 72 2e 20 4c 69 6b 65 77 69 73 65 2c 20 64 61 74 61 20 73 74 72 75 63 74 75 72 65 ameter..Likewise,.data.structure
ef480 73 20 73 75 63 68 20 61 73 0a 20 20 20 20 20 20 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 s.such.as.......<code><span.clas
ef4a0 73 3d 22 6c 69 6e 65 22 3e 73 74 64 2e 41 72 72 61 79 4c 69 73 74 3c 2f 73 70 61 6e 3e 3c 2f 63 s="line">std.ArrayList</span></c
ef4c0 6f 64 65 3e 20 61 63 63 65 70 74 20 61 6e 20 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 ode>.accept.an.<code><span.class
ef4e0 3d 22 6c 69 6e 65 22 3e 41 6c 6c 6f 63 61 74 6f 72 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 20 ="line">Allocator</span></code>.
ef500 70 61 72 61 6d 65 74 65 72 20 69 6e 0a 20 20 20 20 20 20 74 68 65 69 72 20 69 6e 69 74 69 61 6c parameter.in.......their.initial
ef520 69 7a 61 74 69 6f 6e 20 66 75 6e 63 74 69 6f 6e 73 3a 0a 20 20 20 20 20 20 3c 2f 70 3e 0a 20 20 ization.functions:.......</p>...
ef540 20 20 20 20 3c 66 69 67 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
ef560 69 67 2d 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 6c 6c 6f 63 ig-cap"><cite.class="file">alloc
ef580 61 74 6f 72 2e 7a 69 67 3c 2f 63 69 74 65 3e 3c 2f 66 69 67 63 61 70 74 69 6f 6e 3e 3c 70 72 65 ator.zig</cite></figcaption><pre
ef5a0 3e 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 ><code><span.class="line"><span.
ef5c0 63 6c 61 73 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.
ef5e0 3d 20 3c 73 70 61 6e 20 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
ef600 6f 72 74 3c 2f 73 70 61 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"
ef620 3e 26 71 75 6f 74 3b 73 74 64 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 29 3b 3c 2f 73 70 61 6e 3e >&quot;std&quot;</span>);</span>
ef640 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d .<span.class="line"><span.class=
ef660 22 74 6f 6b 2d 6b 77 22 3e 63 6f 6e 73 74 3c 2f 73 70 61 6e 3e 20 41 6c 6c 6f 63 61 74 6f 72 20 "tok-kw">const</span>.Allocator.
ef680 3d 20 73 74 64 2e 6d 65 6d 2e 41 6c 6c 6f 63 61 74 6f 72 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 =.std.mem.Allocator;</span>.<spa
ef6a0 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d n.class="line"><span.class="tok-
ef6c0 6b 77 22 3e 63 6f 6e 73 74 3c 2f 73 70 61 6e 3e 20 65 78 70 65 63 74 20 3d 20 73 74 64 2e 74 65 kw">const</span>.expect.=.std.te
ef6e0 73 74 69 6e 67 2e 65 78 70 65 63 74 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 sting.expect;</span>.<span.class
ef700 3d 22 6c 69 6e 65 22 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e ="line"></span>.<span.class="lin
ef720 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 74 65 73 74 3c 2f 73 70 e"><span.class="tok-kw">test</sp
ef740 61 6e 3e 20 3c 73 70 61 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;
ef760 75 73 69 6e 67 20 61 6e 20 61 6c 6c 6f 63 61 74 6f 72 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 20 using.an.allocator&quot;</span>.
ef780 7b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 {</span>.<span.class="line">....
ef7a0 3c 73 70 61 6e 20 63 6c 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>.
ef7c0 62 75 66 66 65 72 3a 20 5b 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 buffer:.[<span.class="tok-number
ef7e0 22 3e 31 30 30 3c 2f 73 70 61 6e 3e 5d 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 ">100</span>]<span.class="tok-ty
ef800 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
ef820 2d 6e 75 6c 6c 22 3e 75 6e 64 65 66 69 6e 65 64 3c 2f 73 70 61 6e 3e 3b 3c 2f 73 70 61 6e 3e 0a -null">undefined</span>;</span>.
ef840 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 <span.class="line">....<span.cla
ef860 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 76 61 72 3c 2f 73 70 61 6e 3e 20 66 62 61 20 3d 20 73 74 64 ss="tok-kw">var</span>.fba.=.std
ef880 2e 68 65 61 70 2e 46 69 78 65 64 42 75 66 66 65 72 41 6c 6c 6f 63 61 74 6f 72 2e 69 6e 69 74 28 .heap.FixedBufferAllocator.init(
ef8a0 26 61 6d 70 3b 62 75 66 66 65 72 29 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 &amp;buffer);</span>.<span.class
ef8c0 3d 22 6c 69 6e 65 22 3e 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 ="line">....<span.class="tok-kw"
ef8e0 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 2e 61 6c >const</span>.allocator.=.fba.al
ef900 6c 6f 63 61 74 6f 72 28 29 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c locator();</span>.<span.class="l
ef920 69 6e 65 22 3e 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 63 6f ine">....<span.class="tok-kw">co
ef940 6e 73 74 3c 2f 73 70 61 6e 3e 20 72 65 73 75 6c 74 20 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d nst</span>.result.=.<span.class=
ef960 22 74 6f 6b 2d 6b 77 22 3e 74 72 79 3c 2f 73 70 61 6e 3e 20 63 6f 6e 63 61 74 28 61 6c 6c 6f 63 "tok-kw">try</span>.concat(alloc
ef980 61 74 6f 72 2c 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 73 74 72 22 3e 26 71 75 6f ator,.<span.class="tok-str">&quo
ef9a0 74 3b 66 6f 6f 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 2c 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d t;foo&quot;</span>,.<span.class=
ef9c0 22 74 6f 6b 2d 73 74 72 22 3e 26 71 75 6f 74 3b 62 61 72 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e "tok-str">&quot;bar&quot;</span>
ef9e0 29 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 );</span>.<span.class="line">...
efa00 20 3c 73 70 61 6e 20 63 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>
efa20 20 65 78 70 65 63 74 28 73 74 64 2e 6d 65 6d 2e 65 71 6c 28 3c 73 70 61 6e 20 63 6c 61 73 73 3d .expect(std.mem.eql(<span.class=
efa40 22 74 6f 6b 2d 74 79 70 65 22 3e 75 38 3c 2f 73 70 61 6e 3e 2c 20 3c 73 70 61 6e 20 63 6c 61 73 "tok-type">u8</span>,.<span.clas
efa60 73 3d 22 74 6f 6b 2d 73 74 72 22 3e 26 71 75 6f 74 3b 66 6f 6f 62 61 72 26 71 75 6f 74 3b 3c 2f s="tok-str">&quot;foobar&quot;</
efa80 73 70 61 6e 3e 2c 20 72 65 73 75 6c 74 29 29 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c span>,.result));</span>.<span.cl
efaa0 61 73 73 3d 22 6c 69 6e 65 22 3e 7d 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d ass="line">}</span>.<span.class=
efac0 22 6c 69 6e 65 22 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 "line"></span>.<span.class="line
efae0 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 66 6e 3c 2f 73 70 61 6e 3e "><span.class="tok-kw">fn</span>
efb00 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 66 6e 22 3e 63 6f 6e 63 61 74 3c 2f 73 70 .<span.class="tok-fn">concat</sp
efb20 61 6e 3e 28 61 6c 6c 6f 63 61 74 6f 72 3a 20 41 6c 6c 6f 63 61 74 6f 72 2c 20 61 3a 20 5b 5d 3c an>(allocator:.Allocator,.a:.[]<
efb40 73 70 61 6e 20 63 6c 61 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>
efb60 20 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
efb80 3e 2c 20 62 3a 20 5b 5d 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 63 6f 6e >,.b:.[]<span.class="tok-kw">con
efba0 73 74 3c 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"
efbc0 3e 75 38 3c 2f 73 70 61 6e 3e 29 20 21 5b 5d 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d >u8</span>).![]<span.class="tok-
efbe0 74 79 70 65 22 3e 75 38 3c 2f 73 70 61 6e 3e 20 7b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 type">u8</span>.{</span>.<span.c
efc00 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b lass="line">....<span.class="tok
efc20 2d 6b 77 22 3e 63 6f 6e 73 74 3c 2f 73 70 61 6e 3e 20 72 65 73 75 6c 74 20 3d 20 3c 73 70 61 6e -kw">const</span>.result.=.<span
efc40 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 74 72 79 3c 2f 73 70 61 6e 3e 20 61 6c 6c 6f 63 .class="tok-kw">try</span>.alloc
efc60 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 74 79 70 65 ator.alloc(<span.class="tok-type
efc80 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 3c 2f 73 70 ">u8</span>,.a.len.+.b.len);</sp
efca0 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 73 74 64 2e 6d an>.<span.class="line">....std.m
efcc0 65 6d 2e 63 6f 70 79 28 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 75 em.copy(<span.class="tok-type">u
efce0 38 3c 2f 73 70 61 6e 3e 2c 20 72 65 73 75 6c 74 2c 20 61 29 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 8</span>,.result,.a);</span>.<sp
efd00 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 73 74 64 2e 6d 65 6d 2e 63 6f 70 79 an.class="line">....std.mem.copy
efd20 28 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 75 38 3c 2f 73 70 61 6e (<span.class="tok-type">u8</span
efd40 3e 2c 20 72 65 73 75 6c 74 5b 61 2e 6c 65 6e 2e 2e 5d 2c 20 62 29 3b 3c 2f 73 70 61 6e 3e 0a 3c >,.result[a.len..],.b);</span>.<
efd60 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 span.class="line">....<span.clas
efd80 73 3d 22 74 6f 6b 2d 6b 77 22 3e 72 65 74 75 72 6e 3c 2f 73 70 61 6e 3e 20 72 65 73 75 6c 74 3b s="tok-kw">return</span>.result;
efda0 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 7d 3c 2f 73 70 </span>.<span.class="line">}</sp
efdc0 61 6e 3e 3c 2f 63 6f 64 65 3e 3c 2f 70 72 65 3e 3c 2f 66 69 67 75 72 65 3e 3c 66 69 67 75 72 65 an></code></pre></figure><figure
efde0 3e 3c 66 69 67 63 61 70 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
efe00 68 65 6c 6c 3c 2f 66 69 67 63 61 70 74 69 6f 6e 3e 3c 70 72 65 3e 3c 73 61 6d 70 3e 3c 73 70 61 hell</figcaption><pre><samp><spa
efe20 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 24 20 3c 6b 62 64 3e 7a 69 67 20 74 65 73 74 20 61 n.class="line">$.<kbd>zig.test.a
efe40 6c 6c 6f 63 61 74 6f 72 2e 7a 69 67 3c 2f 6b 62 64 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 llocator.zig</kbd></span>.<span.
efe60 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 31 2f 31 20 74 65 73 74 2e 75 73 69 6e 67 20 61 6e 20 61 class="line">1/1.test.using.an.a
efe80 6c 6c 6f 63 61 74 6f 72 2e 2e 2e 20 4f 4b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 llocator....OK</span>.<span.clas
efea0 73 3d 22 6c 69 6e 65 22 3e 41 6c 6c 20 31 20 74 65 73 74 73 20 70 61 73 73 65 64 2e 3c 2f 73 70 s="line">All.1.tests.passed.</sp
efec0 61 6e 3e 0a 3c 2f 73 61 6d 70 3e 3c 2f 70 72 65 3e 3c 2f 66 69 67 75 72 65 3e 0a 20 20 20 20 20 an>.</samp></pre></figure>......
efee0 20 3c 70 3e 0a 20 20 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 .<p>.......In.the.above.example,
eff00 20 31 30 30 20 62 79 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 .100.bytes.of.stack.memory.are.u
eff20 73 65 64 20 74 6f 20 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 sed.to.initialize.a.......<code>
eff40 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 46 69 78 65 64 42 75 66 66 65 72 41 6c <span.class="line">FixedBufferAl
eff60 6c 6f 63 61 74 6f 72 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 2c 20 77 68 69 63 68 20 69 73 20 locator</span></code>,.which.is.
eff80 74 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 then.passed.to.a.function.......
effa0 20 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 .As.a.convenience.there.is.a.glo
effc0 62 61 6c 20 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 46 69 78 bal.<code><span.class="line">Fix
effe0 65 64 42 75 66 66 65 72 41 6c 6c 6f 63 61 74 6f 72 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 0a edBufferAllocator</span></code>.
f0000 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 65 73 74 73 20 ......available.for.quick.tests.
f0020 61 74 20 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 73 74 64 2e at.<code><span.class="line">std.
f0040 74 65 73 74 69 6e 67 2e 61 6c 6c 6f 63 61 74 6f 72 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 2c testing.allocator</span></code>,
f0060 0a 20 20 20 20 20 20 77 68 69 63 68 20 77 69 6c 6c 20 61 6c 73 6f 20 70 65 72 66 6f 72 6d 20 62 .......which.will.also.perform.b
f0080 61 73 69 63 20 6c 65 61 6b 20 64 65 74 65 63 74 69 6f 6e 2e 0a 20 20 20 20 20 20 3c 2f 70 3e 0a asic.leak.detection........</p>.
f00a0 20 20 20 20 20 20 3c 70 3e 0a 20 20 20 20 20 20 5a 69 67 20 68 61 73 20 61 20 67 65 6e 65 72 61 ......<p>.......Zig.has.a.genera
f00c0 6c 20 70 75 72 70 6f 73 65 20 61 6c 6c 6f 63 61 74 6f 72 20 61 76 61 69 6c 61 62 6c 65 20 74 6f l.purpose.allocator.available.to
f00e0 20 62 65 20 69 6d 70 6f 72 74 65 64 0a 20 20 20 20 20 20 77 69 74 68 20 3c 63 6f 64 65 3e 3c 73 .be.imported.......with.<code><s
f0100 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 73 74 64 2e 68 65 61 70 2e 47 65 6e 65 72 61 pan.class="line">std.heap.Genera
f0120 6c 50 75 72 70 6f 73 65 41 6c 6c 6f 63 61 74 6f 72 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 2e lPurposeAllocator</span></code>.
f0140 20 48 6f 77 65 76 65 72 2c 20 69 74 20 69 73 20 73 74 69 6c 6c 20 72 65 63 6f 6d 6d 65 6e 64 65 .However,.it.is.still.recommende
f0160 64 20 74 6f 0a 20 20 20 20 20 20 66 6f 6c 6c 6f 77 20 74 68 65 20 3c 61 20 68 72 65 66 3d 22 23 d.to.......follow.the.<a.href="#
f0180 43 68 6f 6f 73 69 6e 67 2d 61 6e 2d 41 6c 6c 6f 63 61 74 6f 72 22 3e 43 68 6f 6f 73 69 6e 67 20 Choosing-an-Allocator">Choosing.
f01a0 61 6e 20 41 6c 6c 6f 63 61 74 6f 72 3c 2f 61 3e 20 67 75 69 64 65 2e 0a 20 20 20 20 20 20 3c 2f an.Allocator</a>.guide........</
f01c0 70 3e 0a 0a 20 20 20 20 20 20 3c 68 33 20 69 64 3d 22 43 68 6f 6f 73 69 6e 67 2d 61 6e 2d 41 6c p>........<h3.id="Choosing-an-Al
f01e0 6c 6f 63 61 74 6f 72 22 3e 3c 61 20 68 72 65 66 3d 22 23 74 6f 63 2d 43 68 6f 6f 73 69 6e 67 2d locator"><a.href="#toc-Choosing-
f0200 61 6e 2d 41 6c 6c 6f 63 61 74 6f 72 22 3e 43 68 6f 6f 73 69 6e 67 20 61 6e 20 41 6c 6c 6f 63 61 an-Allocator">Choosing.an.Alloca
f0220 74 6f 72 3c 2f 61 3e 20 3c 61 20 63 6c 61 73 73 3d 22 68 64 72 22 20 68 72 65 66 3d 22 23 43 68 tor</a>.<a.class="hdr".href="#Ch
f0240 6f 6f 73 69 6e 67 2d 61 6e 2d 41 6c 6c 6f 63 61 74 6f 72 22 3e c2 a7 3c 2f 61 3e 3c 2f 68 33 3e oosing-an-Allocator">..</a></h3>
f0260 0a 0a 20 20 20 20 20 20 3c 70 3e 57 68 61 74 20 61 6c 6c 6f 63 61 74 6f 72 20 74 6f 20 75 73 65 ........<p>What.allocator.to.use
f0280 20 64 65 70 65 6e 64 73 20 6f 6e 20 61 20 6e 75 6d 62 65 72 20 6f 66 20 66 61 63 74 6f 72 73 2e .depends.on.a.number.of.factors.
f02a0 20 48 65 72 65 20 69 73 20 61 20 66 6c 6f 77 20 63 68 61 72 74 20 74 6f 20 68 65 6c 70 20 79 6f .Here.is.a.flow.chart.to.help.yo
f02c0 75 20 64 65 63 69 64 65 3a 0a 20 20 20 20 20 20 3c 2f 70 3e 0a 20 20 20 20 20 20 3c 6f 6c 3e 0a u.decide:.......</p>.......<ol>.
f02e0 20 20 20 20 20 20 20 20 20 20 3c 6c 69 3e 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 41 72 65 ..........<li>...............Are
f0300 20 79 6f 75 20 6d 61 6b 69 6e 67 20 61 20 6c 69 62 72 61 72 79 3f 20 49 6e 20 74 68 69 73 20 63 .you.making.a.library?.In.this.c
f0320 61 73 65 2c 20 62 65 73 74 20 74 6f 20 61 63 63 65 70 74 20 61 6e 20 3c 63 6f 64 65 3e 3c 73 70 ase,.best.to.accept.an.<code><sp
f0340 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 41 6c 6c 6f 63 61 74 6f 72 3c 2f 73 70 61 6e 3e an.class="line">Allocator</span>
f0360 3c 2f 63 6f 64 65 3e 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 61 73 20 61 20 70 61 72 61 6d </code>...............as.a.param
f0380 65 74 65 72 20 61 6e 64 20 61 6c 6c 6f 77 20 79 6f 75 72 20 6c 69 62 72 61 72 79 27 73 20 75 73 eter.and.allow.your.library's.us
f03a0 65 72 73 20 74 6f 20 64 65 63 69 64 65 20 77 68 61 74 20 61 6c 6c 6f 63 61 74 6f 72 20 74 6f 20 ers.to.decide.what.allocator.to.
f03c0 75 73 65 2e 0a 20 20 20 20 20 20 20 20 20 20 3c 2f 6c 69 3e 0a 20 20 20 20 20 20 20 20 20 20 3c use............</li>...........<
f03e0 6c 69 3e 41 72 65 20 79 6f 75 20 6c 69 6e 6b 69 6e 67 20 6c 69 62 63 3f 20 49 6e 20 74 68 69 73 li>Are.you.linking.libc?.In.this
f0400 20 63 61 73 65 2c 20 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e .case,.<code><span.class="line">
f0420 73 74 64 2e 68 65 61 70 2e 63 5f 61 6c 6c 6f 63 61 74 6f 72 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 std.heap.c_allocator</span></cod
f0440 65 3e 20 69 73 20 6c 69 6b 65 6c 79 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 74 68 65 20 72 e>.is.likely...............the.r
f0460 69 67 68 74 20 63 68 6f 69 63 65 2c 20 61 74 20 6c 65 61 73 74 20 66 6f 72 20 79 6f 75 72 20 6d ight.choice,.at.least.for.your.m
f0480 61 69 6e 20 61 6c 6c 6f 63 61 74 6f 72 2e 3c 2f 6c 69 3e 0a 20 20 20 20 20 20 20 20 20 20 3c 6c ain.allocator.</li>...........<l
f04a0 69 3e 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 49 73 20 74 68 65 20 6d 61 78 69 6d 75 6d 20 i>...............Is.the.maximum.
f04c0 6e 75 6d 62 65 72 20 6f 66 20 62 79 74 65 73 20 74 68 61 74 20 79 6f 75 20 77 69 6c 6c 20 6e 65 number.of.bytes.that.you.will.ne
f04e0 65 64 20 62 6f 75 6e 64 65 64 20 62 79 20 61 20 6e 75 6d 62 65 72 20 6b 6e 6f 77 6e 20 61 74 0a ed.bounded.by.a.number.known.at.
f0500 20 20 20 20 20 20 20 20 20 20 20 20 20 20 3c 61 20 68 72 65 66 3d 22 23 63 6f 6d 70 74 69 6d 65 ..............<a.href="#comptime
f0520 22 3e 63 6f 6d 70 74 69 6d 65 3c 2f 61 3e 3f 20 49 6e 20 74 68 69 73 20 63 61 73 65 2c 20 75 73 ">comptime</a>?.In.this.case,.us
f0540 65 20 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 73 74 64 2e 68 e.<code><span.class="line">std.h
f0560 65 61 70 2e 46 69 78 65 64 42 75 66 66 65 72 41 6c 6c 6f 63 61 74 6f 72 3c 2f 73 70 61 6e 3e 3c eap.FixedBufferAllocator</span><
f0580 2f 63 6f 64 65 3e 20 6f 72 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 3c 63 6f 64 65 3e 3c 73 /code>.or...............<code><s
f05a0 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 73 74 64 2e 68 65 61 70 2e 54 68 72 65 61 64 pan.class="line">std.heap.Thread
f05c0 53 61 66 65 46 69 78 65 64 42 75 66 66 65 72 41 6c 6c 6f 63 61 74 6f 72 3c 2f 73 70 61 6e 3e 3c SafeFixedBufferAllocator</span><
f05e0 2f 63 6f 64 65 3e 20 64 65 70 65 6e 64 69 6e 67 20 6f 6e 20 77 68 65 74 68 65 72 20 79 6f 75 20 /code>.depending.on.whether.you.
f0600 6e 65 65 64 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 74 68 72 65 61 64 2d 73 61 66 65 74 79 need...............thread-safety
f0620 20 6f 72 20 6e 6f 74 2e 0a 20 20 20 20 20 20 20 20 20 20 3c 2f 6c 69 3e 0a 20 20 20 20 20 20 20 .or.not............</li>........
f0640 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 70 72 ...<li>...............Is.your.pr
f0660 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 6f 6e ogram.a.command.line.application
f0680 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 77 69 .which.runs.from.start.to.end.wi
f06a0 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 20 20 thout.any.fundamental...........
f06c0 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 61 20 ....cyclical.pattern.(such.as.a.
f06e0 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 20 73 video.game.main.loop,.or.a.web.s
f0700 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 20 20 erver.request.handler),.........
f0720 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 73 65 ......such.that.it.would.make.se
f0740 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 20 61 nse.to.free.everything.at.once.a
f0760 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 69 73 t.the.end?...............In.this
f0780 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 6c 6c .case,.it.is.recommended.to.foll
f07a0 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 20 3c ow.this.pattern:...............<
f07c0 66 69 67 75 72 65 3e 3c 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
f07e0 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 63 61 p"><cite.class="file">cli_alloca
f0800 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 65 tion.zig</cite></figcaption><pre
f0820 3e 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 ><code><span.class="line"><span.
f0840 63 6c 61 73 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.
f0860 3d 20 3c 73 70 61 6e 20 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
f0880 6f 72 74 3c 2f 73 70 61 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"
f08a0 3e 26 71 75 6f 74 3b 73 74 64 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 29 3b 3c 2f 73 70 61 6e 3e >&quot;std&quot;</span>);</span>
f08c0 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 .<span.class="line"></span>.<spa
f08e0 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d n.class="line"><span.class="tok-
f0900 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-
f0920 6b 77 22 3e 66 6e 3c 2f 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
f0940 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
f0960 6f 6b 2d 74 79 70 65 22 3e 76 6f 69 64 3c 2f 73 70 61 6e 3e 20 7b 3c 2f 73 70 61 6e 3e 0a 3c 73 ok-type">void</span>.{</span>.<s
f0980 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 pan.class="line">....<span.class
f09a0 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 64 ="tok-kw">var</span>.arena.=.std
f09c0 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 65 .heap.ArenaAllocator.init(std.he
f09e0 61 70 2e 70 61 67 65 5f 61 6c 6c 6f 63 61 74 6f 72 29 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e ap.page_allocator);</span>.<span
f0a00 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 .class="line">....<span.class="t
f0a20 6f 6b 2d 6b 77 22 3e 64 65 66 65 72 3c 2f 73 70 61 6e 3e 20 61 72 65 6e 61 2e 64 65 69 6e 69 74 ok-kw">defer</span>.arena.deinit
f0a40 28 29 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 2f ();</span>.<span.class="line"></
f0a60 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 3c 73 70 span>.<span.class="line">....<sp
f0a80 61 6e 20 63 6c 61 73 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
f0aa0 6c 6c 6f 63 61 74 6f 72 20 3d 20 61 72 65 6e 61 2e 61 6c 6c 6f 63 61 74 6f 72 28 29 3b 3c 2f 73 llocator.=.arena.allocator();</s
f0ac0 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 2f 73 70 61 6e 3e 0a pan>.<span.class="line"></span>.
f0ae0 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 <span.class="line">....<span.cla
f0b00 73 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 ss="tok-kw">const</span>.ptr.=.<
f0b20 73 70 61 6e 20 63 6c 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
f0b40 6c 6c 6f 63 61 74 6f 72 2e 63 72 65 61 74 65 28 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b llocator.create(<span.class="tok
f0b60 2d 74 79 70 65 22 3e 69 33 32 3c 2f 73 70 61 6e 3e 29 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e -type">i32</span>);</span>.<span
f0b80 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 73 74 64 2e 64 65 62 75 67 2e 70 72 69 6e .class="line">....std.debug.prin
f0ba0 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 70 74 t(<span.class="tok-str">&quot;pt
f0bc0 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 7d 29 3b 3c 2f r={*}\n&quot;</span>,..{ptr});</
f0be0 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 7d 3c 2f 73 70 61 6e span>.<span.class="line">}</span
f0c00 3e 3c 2f 63 6f 64 65 3e 3c 2f 70 72 65 3e 3c 2f 66 69 67 75 72 65 3e 3c 66 69 67 75 72 65 3e 3c ></code></pre></figure><figure><
f0c20 66 69 67 63 61 70 74 69 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
f0c40 6c 6c 3c 2f 66 69 67 63 61 70 74 69 6f 6e 3e 3c 70 72 65 3e 3c 73 61 6d 70 3e 3c 73 70 61 6e 20 ll</figcaption><pre><samp><span.
f0c60 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 24 20 3c 6b 62 64 3e 7a 69 67 20 62 75 69 6c 64 2d 65 78 class="line">$.<kbd>zig.build-ex
f0c80 65 20 63 6c 69 5f 61 6c 6c 6f 63 61 74 69 6f 6e 2e 7a 69 67 3c 2f 6b 62 64 3e 3c 2f 73 70 61 6e e.cli_allocation.zig</kbd></span
f0ca0 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 >.<span.class="line"></span>.<sp
f0cc0 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 24 20 3c 6b 62 64 3e 2e 2f 63 6c 69 5f 61 6c 6c an.class="line">$.<kbd>./cli_all
f0ce0 6f 63 61 74 69 6f 6e 3c 2f 6b 62 64 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 ocation</kbd></span>.<span.class
f0d00 3d 22 6c 69 6e 65 22 3e 70 74 72 3d 69 33 32 40 37 66 39 35 63 65 33 32 65 30 31 38 3c 2f 73 70 ="line">ptr=i32@7f95ce32e018</sp
f0d20 61 6e 3e 0a 3c 2f 73 61 6d 70 3e 3c 2f 70 72 65 3e 3c 2f 66 69 67 75 72 65 3e 0a 20 20 20 20 20 an>.</samp></pre></figure>......
f0d40 20 20 20 20 20 20 20 20 20 57 68 65 6e 20 75 73 69 6e 67 20 74 68 69 73 20 6b 69 6e 64 20 6f 66 .........When.using.this.kind.of
f0d60 20 61 6c 6c 6f 63 61 74 6f 72 2c 20 74 68 65 72 65 20 69 73 20 6e 6f 20 6e 65 65 64 20 74 6f 20 .allocator,.there.is.no.need.to.
f0d80 66 72 65 65 20 61 6e 79 74 68 69 6e 67 20 6d 61 6e 75 61 6c 6c 79 2e 20 45 76 65 72 79 74 68 69 free.anything.manually..Everythi
f0da0 6e 67 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 67 65 74 73 20 66 72 65 65 64 20 61 74 20 6f ng...............gets.freed.at.o
f0dc0 6e 63 65 20 77 69 74 68 20 74 68 65 20 63 61 6c 6c 20 74 6f 20 3c 63 6f 64 65 3e 3c 73 70 61 6e nce.with.the.call.to.<code><span
f0de0 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 61 72 65 6e 61 2e 64 65 69 6e 69 74 28 29 3c 2f 73 70 .class="line">arena.deinit()</sp
f0e00 61 6e 3e 3c 2f 63 6f 64 65 3e 2e 0a 20 20 20 20 20 20 20 20 20 20 3c 2f 6c 69 3e 0a 20 20 20 20 an></code>............</li>.....
f0e20 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 68 65 ......<li>...............Are.the
f0e40 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 6c 20 .allocations.part.of.a.cyclical.
f0e60 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 61 69 pattern.such.as.a.video.game.mai
f0e80 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 20 73 n.loop,.or.a.web...............s
f0ea0 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 61 6c erver.request.handler?.If.the.al
f0ec0 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 6f 6e locations.can.all.be.freed.at.on
f0ee0 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 20 20 ce,.at.the.end.of.the.cycle,....
f0f00 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 65 20 ...........for.example.once.the.
f0f20 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 79 20 video.game.frame.has.been.fully.
f0f40 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 71 75 rendered,.or.the.web.server.requ
f0f60 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 76 65 est.has...............been.serve
f0f80 64 2c 20 74 68 65 6e 20 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 d,.then.<code><span.class="line"
f0fa0 3e 73 74 64 2e 68 65 61 70 2e 41 72 65 6e 61 41 6c 6c 6f 63 61 74 6f 72 3c 2f 73 70 61 6e 3e 3c >std.heap.ArenaAllocator</span><
f0fc0 2f 63 6f 64 65 3e 20 69 73 20 61 20 67 72 65 61 74 20 63 61 6e 64 69 64 61 74 65 2e 20 41 73 0a /code>.is.a.great.candidate..As.
f0fe0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 64 65 6d 6f 6e 73 74 72 61 74 65 64 20 69 6e 20 74 68 ..............demonstrated.in.th
f1000 65 20 70 72 65 76 69 6f 75 73 20 62 75 6c 6c 65 74 20 70 6f 69 6e 74 2c 20 74 68 69 73 20 61 6c e.previous.bullet.point,.this.al
f1020 6c 6f 77 73 20 79 6f 75 20 74 6f 20 66 72 65 65 20 65 6e 74 69 72 65 20 61 72 65 6e 61 73 20 61 lows.you.to.free.entire.arenas.a
f1040 74 20 6f 6e 63 65 2e 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 4e 6f 74 65 20 61 6c 73 6f 20 t.once................Note.also.
f1060 74 68 61 74 20 69 66 20 61 6e 20 75 70 70 65 72 20 62 6f 75 6e 64 20 6f 66 20 6d 65 6d 6f 72 79 that.if.an.upper.bound.of.memory
f1080 20 63 61 6e 20 62 65 20 65 73 74 61 62 6c 69 73 68 65 64 2c 20 74 68 65 6e 0a 20 20 20 20 20 20 .can.be.established,.then.......
f10a0 20 20 20 20 20 20 20 20 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 ........<code><span.class="line"
f10c0 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 6f 72 3c 2f >std.heap.FixedBufferAllocator</
f10e0 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 20 61 20 66 75 span></code>.can.be.used.as.a.fu
f1100 72 74 68 65 72 20 6f 70 74 69 6d 69 7a 61 74 69 6f 6e 2e 0a 20 20 20 20 20 20 20 20 20 20 3c 2f rther.optimization............</
f1120 6c 69 3e 0a 20 20 20 20 20 20 20 20 20 20 3c 6c 69 3e 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 li>...........<li>..............
f1140 20 41 72 65 20 79 6f 75 20 77 72 69 74 69 6e 67 20 61 20 74 65 73 74 2c 20 61 6e 64 20 79 6f 75 .Are.you.writing.a.test,.and.you
f1160 20 77 61 6e 74 20 74 6f 20 6d 61 6b 65 20 73 75 72 65 20 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 .want.to.make.sure.<code><span.c
f1180 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 lass="line"><span.class="tok-kw"
f11a0 3e 65 72 72 6f 72 3c 2f 73 70 61 6e 3e 2e 4f 75 74 4f 66 4d 65 6d 6f 72 79 3c 2f 73 70 61 6e 3e >error</span>.OutOfMemory</span>
f11c0 3c 2f 63 6f 64 65 3e 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 69 73 20 68 61 6e 64 6c 65 64 </code>...............is.handled
f11e0 20 63 6f 72 72 65 63 74 6c 79 3f 20 49 6e 20 74 68 69 73 20 63 61 73 65 2c 20 75 73 65 20 3c 63 .correctly?.In.this.case,.use.<c
f1200 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 73 74 64 2e 74 65 73 74 69 ode><span.class="line">std.testi
f1220 6e 67 2e 46 61 69 6c 69 6e 67 41 6c 6c 6f 63 61 74 6f 72 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 ng.FailingAllocator</span></code
f1240 3e 2e 0a 20 20 20 20 20 20 20 20 20 20 3c 2f 6c 69 3e 0a 20 20 20 20 20 20 20 20 20 20 3c 6c 69 >............</li>...........<li
f1260 3e 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 41 72 65 20 79 6f 75 20 77 72 69 74 69 6e 67 20 >...............Are.you.writing.
f1280 61 20 74 65 73 74 3f 20 49 6e 20 74 68 69 73 20 63 61 73 65 2c 20 75 73 65 20 3c 63 6f 64 65 3e a.test?.In.this.case,.use.<code>
f12a0 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 73 74 64 2e 74 65 73 74 69 6e 67 2e 61 <span.class="line">std.testing.a
f12c0 6c 6c 6f 63 61 74 6f 72 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 2e 0a 20 20 20 20 20 20 20 20 llocator</span></code>..........
f12e0 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>..........
f1300 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
f1320 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
f1340 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 5a 69 pose.allocator................Zi
f1360 67 27 73 20 67 65 6e 65 72 61 6c 20 70 75 72 70 6f 73 65 20 61 6c 6c 6f 63 61 74 6f 72 20 69 73 g's.general.purpose.allocator.is
f1380 20 61 76 61 69 6c 61 62 6c 65 20 61 73 20 61 20 66 75 6e 63 74 69 6f 6e 20 74 68 61 74 20 74 61 .available.as.a.function.that.ta
f13a0 6b 65 73 20 61 20 3c 61 20 68 72 65 66 3d 22 23 63 6f 6d 70 74 69 6d 65 22 3e 63 6f 6d 70 74 69 kes.a.<a.href="#comptime">compti
f13c0 6d 65 3c 2f 61 3e 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 3c 61 20 68 72 65 66 3d 22 23 73 me</a>...............<a.href="#s
f13e0 74 72 75 63 74 22 3e 73 74 72 75 63 74 3c 2f 61 3e 20 6f 66 20 63 6f 6e 66 69 67 75 72 61 74 69 truct">struct</a>.of.configurati
f1400 6f 6e 20 6f 70 74 69 6f 6e 73 20 61 6e 64 20 72 65 74 75 72 6e 73 20 61 20 74 79 70 65 2e 0a 20 on.options.and.returns.a.type...
f1420 20 20 20 20 20 20 20 20 20 20 20 20 20 47 65 6e 65 72 61 6c 6c 79 2c 20 79 6f 75 20 77 69 6c 6c .............Generally,.you.will
f1440 20 73 65 74 20 75 70 20 6f 6e 65 20 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c .set.up.one.<code><span.class="l
f1460 69 6e 65 22 3e 73 74 64 2e 68 65 61 70 2e 47 65 6e 65 72 61 6c 50 75 72 70 6f 73 65 41 6c 6c 6f ine">std.heap.GeneralPurposeAllo
f1480 63 61 74 6f 72 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 20 69 6e 0a 20 20 20 20 20 20 20 20 20 cator</span></code>.in..........
f14a0 20 20 20 20 20 79 6f 75 72 20 6d 61 69 6e 20 66 75 6e 63 74 69 6f 6e 2c 20 61 6e 64 20 74 68 65 .....your.main.function,.and.the
f14c0 6e 20 70 61 73 73 20 69 74 20 6f 72 20 73 75 62 2d 61 6c 6c 6f 63 61 74 6f 72 73 20 61 72 6f 75 n.pass.it.or.sub-allocators.arou
f14e0 6e 64 20 74 6f 20 76 61 72 69 6f 75 73 20 70 61 72 74 73 20 6f 66 20 79 6f 75 72 0a 20 20 20 20 nd.to.various.parts.of.your.....
f1500 20 20 20 20 20 20 20 20 20 20 61 70 70 6c 69 63 61 74 69 6f 6e 2e 0a 20 20 20 20 20 20 20 20 20 ..........application...........
f1520 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 20 .</li>...........<li>...........
f1540 20 20 20 20 59 6f 75 20 63 61 6e 20 61 6c 73 6f 20 63 6f 6e 73 69 64 65 72 20 3c 61 20 68 72 65 ....You.can.also.consider.<a.hre
f1560 66 3d 22 23 49 6d 70 6c 65 6d 65 6e 74 69 6e 67 2d 61 6e 2d 41 6c 6c 6f 63 61 74 6f 72 22 3e 49 f="#Implementing-an-Allocator">I
f1580 6d 70 6c 65 6d 65 6e 74 69 6e 67 20 61 6e 20 41 6c 6c 6f 63 61 74 6f 72 3c 2f 61 3e 2e 0a 20 20 mplementing.an.Allocator</a>....
f15a0 20 20 20 20 20 20 20 20 3c 2f 6c 69 3e 0a 20 20 20 20 20 20 3c 2f 6f 6c 3e 0a 20 20 20 20 20 20 ........</li>.......</ol>.......
f15c0 0a 0a 20 20 20 20 20 20 3c 68 33 20 69 64 3d 22 57 68 65 72 65 2d 61 72 65 2d 74 68 65 2d 62 79 ........<h3.id="Where-are-the-by
f15e0 74 65 73 22 3e 3c 61 20 68 72 65 66 3d 22 23 74 6f 63 2d 57 68 65 72 65 2d 61 72 65 2d 74 68 65 tes"><a.href="#toc-Where-are-the
f1600 2d 62 79 74 65 73 22 3e 57 68 65 72 65 20 61 72 65 20 74 68 65 20 62 79 74 65 73 3f 3c 2f 61 3e -bytes">Where.are.the.bytes?</a>
f1620 20 3c 61 20 63 6c 61 73 73 3d 22 68 64 72 22 20 68 72 65 66 3d 22 23 57 68 65 72 65 2d 61 72 65 .<a.class="hdr".href="#Where-are
f1640 2d 74 68 65 2d 62 79 74 65 73 22 3e c2 a7 3c 2f 61 3e 3c 2f 68 33 3e 0a 0a 20 20 20 20 20 20 3c -the-bytes">..</a></h3>........<
f1660 70 3e 53 74 72 69 6e 67 20 6c 69 74 65 72 61 6c 73 20 73 75 63 68 20 61 73 20 3c 63 6f 64 65 3e p>String.literals.such.as.<code>
f1680 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 <span.class="line"><span.class="
f16a0 74 6f 6b 2d 73 74 72 22 3e 26 71 75 6f 74 3b 66 6f 6f 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 3c tok-str">&quot;foo&quot;</span><
f16c0 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 61 6c 20 /span></code>.are.in.the.global.
f16e0 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 54 68 69 constant.data.section........Thi
f1700 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 73 73 20 s.is.why.it.is.an.error.to.pass.
f1720 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 20 73 6c a.string.literal.to.a.mutable.sl
f1740 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 20 20 20 ice,.like.this:.......</p>......
f1760 20 3c 66 69 67 75 72 65 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-
f1780 63 61 70 22 3e 3c 63 69 74 65 20 63 6c 61 73 73 3d 22 66 69 6c 65 22 3e 74 65 73 74 2e 7a 69 67 cap"><cite.class="file">test.zig
f17a0 3c 2f 63 69 74 65 3e 3c 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><
f17c0 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 span.class="line"><span.class="t
f17e0 6f 6b 2d 6b 77 22 3e 66 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
f1800 6b 2d 66 6e 22 3e 66 6f 6f 3c 2f 73 70 61 6e 3e 28 73 3a 20 5b 5d 3c 73 70 61 6e 20 63 6c 61 73 k-fn">foo</span>(s:.[]<span.clas
f1820 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
f1840 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 76 6f 69 64 3c 2f 73 70 61 6e 3e 20 7b 3c 2f 73 70 ass="tok-type">void</span>.{</sp
f1860 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 5f 20 3d 20 73 an>.<span.class="line">...._.=.s
f1880 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 7d 3c 2f 73 ;</span>.<span.class="line">}</s
f18a0 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 2f 73 70 61 6e 3e 0a pan>.<span.class="line"></span>.
f18c0 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 <span.class="line"><span.class="
f18e0 74 6f 6b 2d 6b 77 22 3e 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=
f1900 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
f1920 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 3c 2f o.mutable.slice&quot;</span>.{</
f1940 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 66 6f 6f span>.<span.class="line">....foo
f1960 28 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 73 74 72 22 3e 26 71 75 6f 74 3b 68 65 6c (<span.class="tok-str">&quot;hel
f1980 6c 6f 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 29 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 lo&quot;</span>);</span>.<span.c
f19a0 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 7d 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 3c 2f 70 72 65 lass="line">}</span></code></pre
f19c0 3e 3c 2f 66 69 67 75 72 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
f19e0 61 73 73 3d 22 73 68 65 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
f1a00 6e 3e 3c 70 72 65 3e 3c 73 61 6d 70 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e n><pre><samp><span.class="line">
f1a20 24 20 3c 6b 62 64 3e 7a 69 67 20 74 65 73 74 20 74 65 73 74 2e 7a 69 67 3c 2f 6b 62 64 3e 3c 2f $.<kbd>zig.test.test.zig</kbd></
f1a40 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 span>.<span.class="line"><span.c
f1a60 6c 61 73 73 3d 22 74 31 5f 30 22 3e 64 6f 63 67 65 6e 5f 74 6d 70 2f 74 65 73 74 2e 7a 69 67 3a lass="t1_0">docgen_tmp/test.zig:
f1a80 36 3a 39 3a 20 3c 2f 73 70 61 6e 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 33 31 5f 31 22 3e 6:9:.</span><span.class="t31_1">
f1aa0 65 72 72 6f 72 3a 20 3c 2f 73 70 61 6e 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 31 5f 30 22 error:.</span><span.class="t1_0"
f1ac0 3e 65 78 70 65 63 74 65 64 20 74 79 70 65 20 27 5b 5d 75 38 27 2c 20 66 6f 75 6e 64 20 27 2a 63 >expected.type.'[]u8',.found.'*c
f1ae0 6f 6e 73 74 20 5b 35 3a 30 5d 75 38 27 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 onst.[5:0]u8'</span>.<span.class
f1b00 3d 22 6c 69 6e 65 22 3e 3c 2f 73 70 61 6e 3e 20 20 20 20 66 6f 6f 28 26 71 75 6f 74 3b 68 65 6c ="line"></span>....foo(&quot;hel
f1b20 6c 6f 26 71 75 6f 74 3b 29 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c lo&quot;);</span>.<span.class="l
f1b40 69 6e 65 22 3e 20 20 20 20 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 33 32 5f 31 22 ine">........<span.class="t32_1"
f1b60 3e 5e 7e 7e 7e 7e 7e 7e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e >^~~~~~~</span>.<span.class="lin
f1b80 65 22 3e 3c 2f 73 70 61 6e 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 31 5f 30 22 3e 64 6f 63 e"></span><span.class="t1_0">doc
f1ba0 67 65 6e 5f 74 6d 70 2f 74 65 73 74 2e 7a 69 67 3a 36 3a 39 3a 20 3c 2f 73 70 61 6e 3e 3c 73 70 gen_tmp/test.zig:6:9:.</span><sp
f1bc0 61 6e 20 63 6c 61 73 73 3d 22 74 33 36 5f 31 22 3e 6e 6f 74 65 3a 20 3c 2f 73 70 61 6e 3e 3c 73 an.class="t36_1">note:.</span><s
f1be0 70 61 6e 20 63 6c 61 73 73 3d 22 74 31 5f 30 22 3e 63 61 73 74 20 64 69 73 63 61 72 64 73 20 63 pan.class="t1_0">cast.discards.c
f1c00 6f 6e 73 74 20 71 75 61 6c 69 66 69 65 72 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 onst.qualifier</span>.<span.clas
f1c20 73 3d 22 6c 69 6e 65 22 3e 3c 2f 73 70 61 6e 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 31 5f s="line"></span><span.class="t1_
f1c40 30 22 3e 64 6f 63 67 65 6e 5f 74 6d 70 2f 74 65 73 74 2e 7a 69 67 3a 31 3a 31 31 3a 20 3c 2f 73 0">docgen_tmp/test.zig:1:11:.</s
f1c60 70 61 6e 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 33 36 5f 31 22 3e 6e 6f 74 65 3a 20 3c 2f pan><span.class="t36_1">note:.</
f1c80 73 70 61 6e 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 31 5f 30 22 3e 70 61 72 61 6d 65 74 65 span><span.class="t1_0">paramete
f1ca0 72 20 74 79 70 65 20 64 65 63 6c 61 72 65 64 20 68 65 72 65 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 r.type.declared.here</span>.<spa
f1cc0 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 2f 73 70 61 6e 3e 66 6e 20 66 6f 6f 28 73 3a 20 n.class="line"></span>fn.foo(s:.
f1ce0 5b 5d 75 38 29 20 76 6f 69 64 20 7b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d []u8).void.{</span>.<span.class=
f1d00 22 6c 69 6e 65 22 3e 20 20 20 20 20 20 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 33 "line">..........<span.class="t3
f1d20 32 5f 31 22 3e 5e 7e 7e 7e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 2_1">^~~~</span>.<span.class="li
f1d40 6e 65 22 3e 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 0a 3c 2f 73 61 6d 70 3e 3c 2f 70 72 65 3e ne"></span></span>.</samp></pre>
f1d60 3c 2f 66 69 67 75 72 65 3e 0a 20 20 20 20 20 20 3c 70 3e 48 6f 77 65 76 65 72 20 69 66 20 79 6f </figure>.......<p>However.if.yo
f1d80 75 20 6d 61 6b 65 20 74 68 65 20 73 6c 69 63 65 20 63 6f 6e 73 74 61 6e 74 2c 20 74 68 65 6e 20 u.make.the.slice.constant,.then.
f1da0 69 74 20 77 6f 72 6b 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 it.works:</p>.......<figure><fig
f1dc0 63 61 70 74 69 6f 6e 20 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
f1de0 61 73 73 3d 22 66 69 6c 65 22 3e 73 74 72 6c 69 74 2e 7a 69 67 3c 2f 63 69 74 65 3e 3c 2f 66 69 ass="file">strlit.zig</cite></fi
f1e00 67 63 61 70 74 69 6f 6e 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=
f1e20 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 66 6e 3c 2f "line"><span.class="tok-kw">fn</
f1e40 73 70 61 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</
f1e60 73 70 61 6e 3e 28 73 3a 20 5b 5d 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e span>(s:.[]<span.class="tok-kw">
f1e80 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
f1ea0 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-
f1ec0 74 79 70 65 22 3e 76 6f 69 64 3c 2f 73 70 61 6e 3e 20 7b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e type">void</span>.{</span>.<span
f1ee0 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 5f 20 3d 20 73 3b 3c 2f 73 70 61 6e 3e 0a .class="line">...._.=.s;</span>.
f1f00 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 7d 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 <span.class="line">}</span>.<spa
f1f20 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 n.class="line"></span>.<span.cla
f1f40 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 74 ss="line"><span.class="tok-kw">t
f1f60 65 73 74 3c 2f 73 70 61 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"
f1f80 3e 26 71 75 6f 74 3b 73 74 72 69 6e 67 20 6c 69 74 65 72 61 6c 20 74 6f 20 63 6f 6e 73 74 61 6e >&quot;string.literal.to.constan
f1fa0 74 20 73 6c 69 63 65 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 20 7b 3c 2f 73 70 61 6e 3e 0a 3c 73 t.slice&quot;</span>.{</span>.<s
f1fc0 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 66 6f 6f 28 3c 73 70 61 6e 20 63 pan.class="line">....foo(<span.c
f1fe0 6c 61 73 73 3d 22 74 6f 6b 2d 73 74 72 22 3e 26 71 75 6f 74 3b 68 65 6c 6c 6f 26 71 75 6f 74 3b lass="tok-str">&quot;hello&quot;
f2000 3c 2f 73 70 61 6e 3e 29 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 </span>);</span>.<span.class="li
f2020 6e 65 22 3e 7d 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 3c 2f 70 72 65 3e 3c 2f 66 69 67 75 72 ne">}</span></code></pre></figur
f2040 65 3e 3c 66 69 67 75 72 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
f2060 6c 6c 2d 63 61 70 22 3e 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><
f2080 73 61 6d 70 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 24 20 3c 6b 62 64 3e 7a samp><span.class="line">$.<kbd>z
f20a0 69 67 20 74 65 73 74 20 73 74 72 6c 69 74 2e 7a 69 67 3c 2f 6b 62 64 3e 3c 2f 73 70 61 6e 3e 0a ig.test.strlit.zig</kbd></span>.
f20c0 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 31 2f 31 20 74 65 73 74 2e 73 74 72 69 <span.class="line">1/1.test.stri
f20e0 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 2e 2e 2e 20 ng.literal.to.constant.slice....
f2100 4f 4b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 41 6c 6c OK</span>.<span.class="line">All
f2120 20 31 20 74 65 73 74 73 20 70 61 73 73 65 64 2e 3c 2f 73 70 61 6e 3e 0a 3c 2f 73 61 6d 70 3e 3c .1.tests.passed.</span>.</samp><
f2140 2f 70 72 65 3e 3c 2f 66 69 67 75 72 65 3e 0a 20 20 20 20 20 20 3c 70 3e 0a 20 20 20 20 20 20 4a /pre></figure>.......<p>.......J
f2160 75 73 74 20 6c 69 6b 65 20 73 74 72 69 6e 67 20 6c 69 74 65 72 61 6c 73 2c 20 3c 63 6f 64 65 3e ust.like.string.literals,.<code>
f2180 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 <span.class="line"><span.class="
f21a0 74 6f 6b 2d 6b 77 22 3e 63 6f 6e 73 74 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 tok-kw">const</span></span></cod
f21c0 65 3e 20 64 65 63 6c 61 72 61 74 69 6f 6e 73 2c 20 77 68 65 6e 20 74 68 65 20 76 61 6c 75 65 20 e>.declarations,.when.the.value.
f21e0 69 73 20 6b 6e 6f 77 6e 20 61 74 20 3c 61 20 68 72 65 66 3d 22 23 63 6f 6d 70 74 69 6d 65 22 3e is.known.at.<a.href="#comptime">
f2200 63 6f 6d 70 74 69 6d 65 3c 2f 61 3e 2c 0a 20 20 20 20 20 20 61 72 65 20 73 74 6f 72 65 64 20 69 comptime</a>,.......are.stored.i
f2220 6e 20 74 68 65 20 67 6c 6f 62 61 6c 20 63 6f 6e 73 74 61 6e 74 20 64 61 74 61 20 73 65 63 74 69 n.the.global.constant.data.secti
f2240 6f 6e 2e 20 41 6c 73 6f 20 3c 61 20 68 72 65 66 3d 22 23 43 6f 6d 70 69 6c 65 2d 54 69 6d 65 2d on..Also.<a.href="#Compile-Time-
f2260 56 61 72 69 61 62 6c 65 73 22 3e 43 6f 6d 70 69 6c 65 20 54 69 6d 65 20 56 61 72 69 61 62 6c 65 Variables">Compile.Time.Variable
f2280 73 3c 2f 61 3e 20 61 72 65 20 73 74 6f 72 65 64 0a 20 20 20 20 20 20 69 6e 20 74 68 65 20 67 6c s</a>.are.stored.......in.the.gl
f22a0 6f 62 61 6c 20 63 6f 6e 73 74 61 6e 74 20 64 61 74 61 20 73 65 63 74 69 6f 6e 2e 0a 20 20 20 20 obal.constant.data.section......
f22c0 20 20 3c 2f 70 3e 0a 20 20 20 20 20 20 3c 70 3e 0a 20 20 20 20 20 20 3c 63 6f 64 65 3e 3c 73 70 ..</p>.......<p>.......<code><sp
f22e0 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b an.class="line"><span.class="tok
f2300 2d 6b 77 22 3e 76 61 72 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 20 64 65 -kw">var</span></span></code>.de
f2320 63 6c 61 72 61 74 69 6f 6e 73 20 69 6e 73 69 64 65 20 66 75 6e 63 74 69 6f 6e 73 20 61 72 65 20 clarations.inside.functions.are.
f2340 73 74 6f 72 65 64 20 69 6e 20 74 68 65 20 66 75 6e 63 74 69 6f 6e 27 73 20 73 74 61 63 6b 20 66 stored.in.the.function's.stack.f
f2360 72 61 6d 65 2e 20 4f 6e 63 65 20 61 20 66 75 6e 63 74 69 6f 6e 20 72 65 74 75 72 6e 73 2c 0a 20 rame..Once.a.function.returns,..
f2380 20 20 20 20 20 61 6e 79 20 3c 61 20 68 72 65 66 3d 22 23 50 6f 69 6e 74 65 72 73 22 3e 50 6f 69 .....any.<a.href="#Pointers">Poi
f23a0 6e 74 65 72 73 3c 2f 61 3e 20 74 6f 20 76 61 72 69 61 62 6c 65 73 20 69 6e 20 74 68 65 20 66 75 nters</a>.to.variables.in.the.fu
f23c0 6e 63 74 69 6f 6e 27 73 20 73 74 61 63 6b 20 66 72 61 6d 65 20 62 65 63 6f 6d 65 20 69 6e 76 61 nction's.stack.frame.become.inva
f23e0 6c 69 64 20 72 65 66 65 72 65 6e 63 65 73 2c 20 61 6e 64 0a 20 20 20 20 20 20 64 65 72 65 66 65 lid.references,.and.......derefe
f2400 72 65 6e 63 69 6e 67 20 74 68 65 6d 20 62 65 63 6f 6d 65 73 20 75 6e 63 68 65 63 6b 65 64 20 3c rencing.them.becomes.unchecked.<
f2420 61 20 68 72 65 66 3d 22 23 55 6e 64 65 66 69 6e 65 64 2d 42 65 68 61 76 69 6f 72 22 3e 55 6e 64 a.href="#Undefined-Behavior">Und
f2440 65 66 69 6e 65 64 20 42 65 68 61 76 69 6f 72 3c 2f 61 3e 2e 0a 20 20 20 20 20 20 3c 2f 70 3e 0a efined.Behavior</a>........</p>.
f2460 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
f2480 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 76 61 s="line"><span.class="tok-kw">va
f24a0 72 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 20 64 65 63 6c 61 72 61 74 69 r</span></span></code>.declarati
f24c0 6f 6e 73 20 61 74 20 74 68 65 20 74 6f 70 20 6c 65 76 65 6c 20 6f 72 20 69 6e 20 3c 61 20 68 72 ons.at.the.top.level.or.in.<a.hr
f24e0 65 66 3d 22 23 73 74 72 75 63 74 22 3e 73 74 72 75 63 74 3c 2f 61 3e 20 64 65 63 6c 61 72 61 74 ef="#struct">struct</a>.declarat
f2500 69 6f 6e 73 20 61 72 65 20 73 74 6f 72 65 64 20 69 6e 20 74 68 65 20 67 6c 6f 62 61 6c 0a 20 20 ions.are.stored.in.the.global...
f2520 20 20 20 20 64 61 74 61 20 73 65 63 74 69 6f 6e 2e 0a 20 20 20 20 20 20 3c 2f 70 3e 0a 20 20 20 ....data.section........</p>....
f2540 20 20 20 3c 70 3e 0a 20 20 20 20 20 20 54 68 65 20 6c 6f 63 61 74 69 6f 6e 20 6f 66 20 6d 65 6d ...<p>.......The.location.of.mem
f2560 6f 72 79 20 61 6c 6c 6f 63 61 74 65 64 20 77 69 74 68 20 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 ory.allocated.with.<code><span.c
f2580 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 61 6c 6c 6f 63 61 74 6f 72 2e 61 6c 6c 6f 63 3c 2f 73 70 61 lass="line">allocator.alloc</spa
f25a0 6e 3e 3c 2f 63 6f 64 65 3e 20 6f 72 0a 20 20 20 20 20 20 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 n></code>.or.......<code><span.c
f25c0 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 61 6c 6c 6f 63 61 74 6f 72 2e 63 72 65 61 74 65 3c 2f 73 70 lass="line">allocator.create</sp
f25e0 61 6e 3e 3c 2f 63 6f 64 65 3e 20 69 73 20 64 65 74 65 72 6d 69 6e 65 64 20 62 79 20 74 68 65 20 an></code>.is.determined.by.the.
f2600 61 6c 6c 6f 63 61 74 6f 72 27 73 20 69 6d 70 6c 65 6d 65 6e 74 61 74 69 6f 6e 2e 0a 20 20 20 20 allocator's.implementation......
f2620 20 20 3c 2f 70 3e 0a 20 20 20 20 20 20 3c 70 3e 54 4f 44 4f 3a 20 74 68 72 65 61 64 20 6c 6f 63 ..</p>.......<p>TODO:.thread.loc
f2640 61 6c 20 76 61 72 69 61 62 6c 65 73 3c 2f 70 3e 0a 20 20 20 20 20 20 0a 0a 20 20 20 20 20 20 3c al.variables</p>...............<
f2660 68 33 20 69 64 3d 22 49 6d 70 6c 65 6d 65 6e 74 69 6e 67 2d 61 6e 2d 41 6c 6c 6f 63 61 74 6f 72 h3.id="Implementing-an-Allocator
f2680 22 3e 3c 61 20 68 72 65 66 3d 22 23 74 6f 63 2d 49 6d 70 6c 65 6d 65 6e 74 69 6e 67 2d 61 6e 2d "><a.href="#toc-Implementing-an-
f26a0 41 6c 6c 6f 63 61 74 6f 72 22 3e 49 6d 70 6c 65 6d 65 6e 74 69 6e 67 20 61 6e 20 41 6c 6c 6f 63 Allocator">Implementing.an.Alloc
f26c0 61 74 6f 72 3c 2f 61 3e 20 3c 61 20 63 6c 61 73 73 3d 22 68 64 72 22 20 68 72 65 66 3d 22 23 49 ator</a>.<a.class="hdr".href="#I
f26e0 6d 70 6c 65 6d 65 6e 74 69 6e 67 2d 61 6e 2d 41 6c 6c 6f 63 61 74 6f 72 22 3e c2 a7 3c 2f 61 3e mplementing-an-Allocator">..</a>
f2700 3c 2f 68 33 3e 0a 0a 20 20 20 20 20 20 3c 70 3e 5a 69 67 20 70 72 6f 67 72 61 6d 6d 65 72 73 20 </h3>........<p>Zig.programmers.
f2720 63 61 6e 20 69 6d 70 6c 65 6d 65 6e 74 20 74 68 65 69 72 20 6f 77 6e 20 61 6c 6c 6f 63 61 74 6f can.implement.their.own.allocato
f2740 72 73 20 62 79 20 66 75 6c 66 69 6c 6c 69 6e 67 20 74 68 65 20 41 6c 6c 6f 63 61 74 6f 72 20 69 rs.by.fulfilling.the.Allocator.i
f2760 6e 74 65 72 66 61 63 65 2e 0a 20 20 20 20 20 20 49 6e 20 6f 72 64 65 72 20 74 6f 20 64 6f 20 74 nterface........In.order.to.do.t
f2780 68 69 73 20 6f 6e 65 20 6d 75 73 74 20 72 65 61 64 20 63 61 72 65 66 75 6c 6c 79 20 74 68 65 20 his.one.must.read.carefully.the.
f27a0 64 6f 63 75 6d 65 6e 74 61 74 69 6f 6e 20 63 6f 6d 6d 65 6e 74 73 20 69 6e 20 73 74 64 2f 6d 65 documentation.comments.in.std/me
f27c0 6d 2e 7a 69 67 20 61 6e 64 0a 20 20 20 20 20 20 74 68 65 6e 20 73 75 70 70 6c 79 20 61 20 3c 63 m.zig.and.......then.supply.a.<c
f27e0 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 61 6c 6c 6f 63 46 6e 3c 2f ode><span.class="line">allocFn</
f2800 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 20 61 6e 64 20 61 20 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 span></code>.and.a.<code><span.c
f2820 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 72 65 73 69 7a 65 46 6e 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 lass="line">resizeFn</span></cod
f2840 65 3e 2e 0a 20 20 20 20 20 20 3c 2f 70 3e 0a 20 20 20 20 20 20 3c 70 3e 0a 20 20 20 20 20 20 54 e>........</p>.......<p>.......T
f2860 68 65 72 65 20 61 72 65 20 6d 61 6e 79 20 65 78 61 6d 70 6c 65 20 61 6c 6c 6f 63 61 74 6f 72 73 here.are.many.example.allocators
f2880 20 74 6f 20 6c 6f 6f 6b 20 61 74 20 66 6f 72 20 69 6e 73 70 69 72 61 74 69 6f 6e 2e 20 4c 6f 6f .to.look.at.for.inspiration..Loo
f28a0 6b 20 61 74 20 73 74 64 2f 68 65 61 70 2e 7a 69 67 20 61 6e 64 0a 20 20 20 20 20 20 3c 63 6f 64 k.at.std/heap.zig.and.......<cod
f28c0 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 73 74 64 2e 68 65 61 70 2e 47 65 e><span.class="line">std.heap.Ge
f28e0 6e 65 72 61 6c 50 75 72 70 6f 73 65 41 6c 6c 6f 63 61 74 6f 72 3c 2f 73 70 61 6e 3e 3c 2f 63 6f neralPurposeAllocator</span></co
f2900 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
f2920 33 20 69 64 3d 22 48 65 61 70 2d 41 6c 6c 6f 63 61 74 69 6f 6e 2d 46 61 69 6c 75 72 65 22 3e 3c 3.id="Heap-Allocation-Failure"><
f2940 61 20 68 72 65 66 3d 22 23 74 6f 63 2d 48 65 61 70 2d 41 6c 6c 6f 63 61 74 69 6f 6e 2d 46 61 69 a.href="#toc-Heap-Allocation-Fai
f2960 6c 75 72 65 22 3e 48 65 61 70 20 41 6c 6c 6f 63 61 74 69 6f 6e 20 46 61 69 6c 75 72 65 3c 2f 61 lure">Heap.Allocation.Failure</a
f2980 3e 20 3c 61 20 63 6c 61 73 73 3d 22 68 64 72 22 20 68 72 65 66 3d 22 23 48 65 61 70 2d 41 6c 6c >.<a.class="hdr".href="#Heap-All
f29a0 6f 63 61 74 69 6f 6e 2d 46 61 69 6c 75 72 65 22 3e c2 a7 3c 2f 61 3e 3c 2f 68 33 3e 0a 0a 20 20 ocation-Failure">..</a></h3>....
f29c0 20 20 20 20 3c 70 3e 0a 20 20 20 20 20 20 4d 61 6e 79 20 70 72 6f 67 72 61 6d 6d 69 6e 67 20 6c ....<p>.......Many.programming.l
f29e0 61 6e 67 75 61 67 65 73 20 63 68 6f 6f 73 65 20 74 6f 20 68 61 6e 64 6c 65 20 74 68 65 20 70 6f anguages.choose.to.handle.the.po
f2a00 73 73 69 62 69 6c 69 74 79 20 6f 66 20 68 65 61 70 20 61 6c 6c 6f 63 61 74 69 6f 6e 20 66 61 69 ssibility.of.heap.allocation.fai
f2a20 6c 75 72 65 20 62 79 0a 20 20 20 20 20 20 75 6e 63 6f 6e 64 69 74 69 6f 6e 61 6c 6c 79 20 63 72 lure.by.......unconditionally.cr
f2a40 61 73 68 69 6e 67 2e 20 42 79 20 63 6f 6e 76 65 6e 74 69 6f 6e 2c 20 5a 69 67 20 70 72 6f 67 72 ashing..By.convention,.Zig.progr
f2a60 61 6d 6d 65 72 73 20 64 6f 20 6e 6f 74 20 63 6f 6e 73 69 64 65 72 20 74 68 69 73 20 74 6f 20 62 ammers.do.not.consider.this.to.b
f2a80 65 20 61 0a 20 20 20 20 20 20 73 61 74 69 73 66 61 63 74 6f 72 79 20 73 6f 6c 75 74 69 6f 6e 2e e.a.......satisfactory.solution.
f2aa0 20 49 6e 73 74 65 61 64 2c 20 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e .Instead,.<code><span.class="lin
f2ac0 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 65 72 72 6f 72 3c 2f 73 e"><span.class="tok-kw">error</s
f2ae0 70 61 6e 3e 2e 4f 75 74 4f 66 4d 65 6d 6f 72 79 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 20 72 pan>.OutOfMemory</span></code>.r
f2b00 65 70 72 65 73 65 6e 74 73 0a 20 20 20 20 20 20 68 65 61 70 20 61 6c 6c 6f 63 61 74 69 6f 6e 20 epresents.......heap.allocation.
f2b20 66 61 69 6c 75 72 65 2c 20 61 6e 64 20 5a 69 67 20 6c 69 62 72 61 72 69 65 73 20 72 65 74 75 72 failure,.and.Zig.libraries.retur
f2b40 6e 20 74 68 69 73 20 65 72 72 6f 72 20 63 6f 64 65 20 77 68 65 6e 65 76 65 72 20 68 65 61 70 20 n.this.error.code.whenever.heap.
f2b60 61 6c 6c 6f 63 61 74 69 6f 6e 0a 20 20 20 20 20 20 66 61 69 6c 75 72 65 20 70 72 65 76 65 6e 74 allocation.......failure.prevent
f2b80 65 64 20 61 6e 20 6f 70 65 72 61 74 69 6f 6e 20 66 72 6f 6d 20 63 6f 6d 70 6c 65 74 69 6e 67 20 ed.an.operation.from.completing.
f2ba0 73 75 63 63 65 73 73 66 75 6c 6c 79 2e 0a 20 20 20 20 20 20 3c 2f 70 3e 0a 20 20 20 20 20 20 3c successfully........</p>.......<
f2bc0 70 3e 0a 20 20 20 20 20 20 53 6f 6d 65 20 68 61 76 65 20 61 72 67 75 65 64 20 74 68 61 74 20 62 p>.......Some.have.argued.that.b
f2be0 65 63 61 75 73 65 20 73 6f 6d 65 20 6f 70 65 72 61 74 69 6e 67 20 73 79 73 74 65 6d 73 20 73 75 ecause.some.operating.systems.su
f2c00 63 68 20 61 73 20 4c 69 6e 75 78 20 68 61 76 65 20 6d 65 6d 6f 72 79 20 6f 76 65 72 63 6f 6d 6d ch.as.Linux.have.memory.overcomm
f2c20 69 74 20 65 6e 61 62 6c 65 64 20 62 79 0a 20 20 20 20 20 20 64 65 66 61 75 6c 74 2c 20 69 74 20 it.enabled.by.......default,.it.
f2c40 69 73 20 70 6f 69 6e 74 6c 65 73 73 20 74 6f 20 68 61 6e 64 6c 65 20 68 65 61 70 20 61 6c 6c 6f is.pointless.to.handle.heap.allo
f2c60 63 61 74 69 6f 6e 20 66 61 69 6c 75 72 65 2e 20 54 68 65 72 65 20 61 72 65 20 6d 61 6e 79 20 70 cation.failure..There.are.many.p
f2c80 72 6f 62 6c 65 6d 73 20 77 69 74 68 20 74 68 69 73 20 72 65 61 73 6f 6e 69 6e 67 3a 0a 20 20 20 roblems.with.this.reasoning:....
f2ca0 20 20 20 3c 2f 70 3e 0a 20 20 20 20 20 20 3c 75 6c 3e 0a 20 20 20 20 20 20 20 20 20 20 3c 6c 69 ...</p>.......<ul>...........<li
f2cc0 3e 4f 6e 6c 79 20 73 6f 6d 65 20 6f 70 65 72 61 74 69 6e 67 20 73 79 73 74 65 6d 73 20 68 61 76 >Only.some.operating.systems.hav
f2ce0 65 20 61 6e 20 6f 76 65 72 63 6f 6d 6d 69 74 20 66 65 61 74 75 72 65 2e 0a 20 20 20 20 20 20 20 e.an.overcommit.feature.........
f2d00 20 20 20 20 20 20 20 3c 75 6c 3e 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 3c 6c .......<ul>...................<l
f2d20 69 3e 4c 69 6e 75 78 20 68 61 73 20 69 74 20 65 6e 61 62 6c 65 64 20 62 79 20 64 65 66 61 75 6c i>Linux.has.it.enabled.by.defaul
f2d40 74 2c 20 62 75 74 20 69 74 20 69 73 20 63 6f 6e 66 69 67 75 72 61 62 6c 65 2e 3c 2f 6c 69 3e 0a t,.but.it.is.configurable.</li>.
f2d60 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 3c 6c 69 3e 57 69 6e 64 6f 77 73 20 64 6f ..................<li>Windows.do
f2d80 65 73 20 6e 6f 74 20 6f 76 65 72 63 6f 6d 6d 69 74 2e 3c 2f 6c 69 3e 0a 20 20 20 20 20 20 20 20 es.not.overcommit.</li>.........
f2da0 20 20 20 20 20 20 20 20 20 20 3c 6c 69 3e 45 6d 62 65 64 64 65 64 20 73 79 73 74 65 6d 73 20 64 ..........<li>Embedded.systems.d
f2dc0 6f 20 6e 6f 74 20 68 61 76 65 20 6f 76 65 72 63 6f 6d 6d 69 74 2e 3c 2f 6c 69 3e 0a 20 20 20 20 o.not.have.overcommit.</li>.....
f2de0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 3c 6c 69 3e 48 6f 62 62 79 20 6f 70 65 72 61 74 69 6e ..............<li>Hobby.operatin
f2e00 67 20 73 79 73 74 65 6d 73 20 6d 61 79 20 6f 72 20 6d 61 79 20 6e 6f 74 20 68 61 76 65 20 6f 76 g.systems.may.or.may.not.have.ov
f2e20 65 72 63 6f 6d 6d 69 74 2e 3c 2f 6c 69 3e 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 3c 2f 75 ercommit.</li>...............</u
f2e40 6c 3e 0a 20 20 20 20 20 20 20 20 20 20 3c 2f 6c 69 3e 0a 20 20 20 20 20 20 20 20 20 20 3c 6c 69 l>...........</li>...........<li
f2e60 3e 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 46 6f 72 20 72 65 61 6c 2d 74 69 6d 65 20 73 79 >...............For.real-time.sy
f2e80 73 74 65 6d 73 2c 20 6e 6f 74 20 6f 6e 6c 79 20 69 73 20 74 68 65 72 65 20 6e 6f 20 6f 76 65 72 stems,.not.only.is.there.no.over
f2ea0 63 6f 6d 6d 69 74 2c 20 62 75 74 20 74 79 70 69 63 61 6c 6c 79 20 74 68 65 20 6d 61 78 69 6d 75 commit,.but.typically.the.maximu
f2ec0 6d 20 61 6d 6f 75 6e 74 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 6f 66 20 6d 65 6d 6f 72 79 m.amount...............of.memory
f2ee0 20 70 65 72 20 61 70 70 6c 69 63 61 74 69 6f 6e 20 69 73 20 64 65 74 65 72 6d 69 6e 65 64 20 61 .per.application.is.determined.a
f2f00 68 65 61 64 20 6f 66 20 74 69 6d 65 2e 0a 20 20 20 20 20 20 20 20 20 20 3c 2f 6c 69 3e 0a 20 20 head.of.time............</li>...
f2f20 20 20 20 20 20 20 20 20 3c 6c 69 3e 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 57 68 65 6e 20 ........<li>...............When.
f2f40 77 72 69 74 69 6e 67 20 61 20 6c 69 62 72 61 72 79 2c 20 6f 6e 65 20 6f 66 20 74 68 65 20 6d 61 writing.a.library,.one.of.the.ma
f2f60 69 6e 20 67 6f 61 6c 73 20 69 73 20 63 6f 64 65 20 72 65 75 73 65 2e 20 42 79 20 6d 61 6b 69 6e in.goals.is.code.reuse..By.makin
f2f80 67 20 63 6f 64 65 20 68 61 6e 64 6c 65 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 61 6c 6c 6f g.code.handle...............allo
f2fa0 63 61 74 69 6f 6e 20 66 61 69 6c 75 72 65 20 63 6f 72 72 65 63 74 6c 79 2c 20 61 20 6c 69 62 72 cation.failure.correctly,.a.libr
f2fc0 61 72 79 20 62 65 63 6f 6d 65 73 20 65 6c 69 67 69 62 6c 65 20 74 6f 20 62 65 20 72 65 75 73 65 ary.becomes.eligible.to.be.reuse
f2fe0 64 20 69 6e 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 6d 6f 72 65 20 63 6f 6e 74 65 78 74 73 d.in...............more.contexts
f3000 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>
f3020 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 41 6c 74 68 6f 75 67 68 20 73 6f 6d 65 20 73 6f 66 ...............Although.some.sof
f3040 74 77 61 72 65 20 68 61 73 20 67 72 6f 77 6e 20 74 6f 20 64 65 70 65 6e 64 20 6f 6e 20 6f 76 65 tware.has.grown.to.depend.on.ove
f3060 72 63 6f 6d 6d 69 74 20 62 65 69 6e 67 20 65 6e 61 62 6c 65 64 2c 20 69 74 73 20 65 78 69 73 74 rcommit.being.enabled,.its.exist
f3080 65 6e 63 65 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 69 73 20 74 68 65 20 73 6f 75 72 63 65 ence...............is.the.source
f30a0 20 6f 66 20 63 6f 75 6e 74 6c 65 73 73 20 75 73 65 72 20 65 78 70 65 72 69 65 6e 63 65 20 64 69 .of.countless.user.experience.di
f30c0 73 61 73 74 65 72 73 2e 20 57 68 65 6e 20 61 20 73 79 73 74 65 6d 20 77 69 74 68 20 6f 76 65 72 sasters..When.a.system.with.over
f30e0 63 6f 6d 6d 69 74 20 65 6e 61 62 6c 65 64 2c 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 73 75 commit.enabled,...............su
f3100 63 68 20 61 73 20 4c 69 6e 75 78 20 6f 6e 20 64 65 66 61 75 6c 74 20 73 65 74 74 69 6e 67 73 2c ch.as.Linux.on.default.settings,
f3120 20 63 6f 6d 65 73 20 63 6c 6f 73 65 20 74 6f 20 6d 65 6d 6f 72 79 20 65 78 68 61 75 73 74 69 6f .comes.close.to.memory.exhaustio
f3140 6e 2c 20 74 68 65 20 73 79 73 74 65 6d 20 6c 6f 63 6b 73 20 75 70 0a 20 20 20 20 20 20 20 20 20 n,.the.system.locks.up..........
f3160 20 20 20 20 20 61 6e 64 20 62 65 63 6f 6d 65 73 20 75 6e 75 73 61 62 6c 65 2e 20 41 74 20 74 68 .....and.becomes.unusable..At.th
f3180 69 73 20 70 6f 69 6e 74 2c 20 74 68 65 20 4f 4f 4d 20 4b 69 6c 6c 65 72 20 73 65 6c 65 63 74 73 is.point,.the.OOM.Killer.selects
f31a0 20 61 6e 20 61 70 70 6c 69 63 61 74 69 6f 6e 20 74 6f 20 6b 69 6c 6c 0a 20 20 20 20 20 20 20 20 .an.application.to.kill.........
f31c0 20 20 20 20 20 20 62 61 73 65 64 20 6f 6e 20 68 65 75 72 69 73 74 69 63 73 2e 20 54 68 69 73 20 ......based.on.heuristics..This.
f31e0 6e 6f 6e 2d 64 65 74 65 72 6d 69 6e 69 73 74 69 63 20 64 65 63 69 73 69 6f 6e 20 6f 66 74 65 6e non-deterministic.decision.often
f3200 20 72 65 73 75 6c 74 73 20 69 6e 20 61 6e 20 69 6d 70 6f 72 74 61 6e 74 20 70 72 6f 63 65 73 73 .results.in.an.important.process
f3220 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 62 65 69 6e 67 20 6b 69 6c 6c 65 64 2c 20 61 6e 64 ...............being.killed,.and
f3240 20 6f 66 74 65 6e 20 66 61 69 6c 73 20 74 6f 20 72 65 74 75 72 6e 20 74 68 65 20 73 79 73 74 65 .often.fails.to.return.the.syste
f3260 6d 20 62 61 63 6b 20 74 6f 20 77 6f 72 6b 69 6e 67 20 6f 72 64 65 72 2e 0a 20 20 20 20 20 20 20 m.back.to.working.order.........
f3280 20 20 20 3c 2f 6c 69 3e 0a 20 20 20 20 20 20 3c 2f 75 6c 3e 0a 20 20 20 20 20 20 0a 0a 20 20 20 ...</li>.......</ul>............
f32a0 20 20 20 3c 68 33 20 69 64 3d 22 52 65 63 75 72 73 69 6f 6e 22 3e 3c 61 20 68 72 65 66 3d 22 23 ...<h3.id="Recursion"><a.href="#
f32c0 74 6f 63 2d 52 65 63 75 72 73 69 6f 6e 22 3e 52 65 63 75 72 73 69 6f 6e 3c 2f 61 3e 20 3c 61 20 toc-Recursion">Recursion</a>.<a.
f32e0 63 6c 61 73 73 3d 22 68 64 72 22 20 68 72 65 66 3d 22 23 52 65 63 75 72 73 69 6f 6e 22 3e c2 a7 class="hdr".href="#Recursion">..
f3300 3c 2f 61 3e 3c 2f 68 33 3e 0a 0a 20 20 20 20 20 20 3c 70 3e 0a 20 20 20 20 20 20 52 65 63 75 72 </a></h3>........<p>.......Recur
f3320 73 69 6f 6e 20 69 73 20 61 20 66 75 6e 64 61 6d 65 6e 74 61 6c 20 74 6f 6f 6c 20 69 6e 20 6d 6f sion.is.a.fundamental.tool.in.mo
f3340 64 65 6c 69 6e 67 20 73 6f 66 74 77 61 72 65 2e 20 48 6f 77 65 76 65 72 20 69 74 20 68 61 73 20 deling.software..However.it.has.
f3360 61 6e 20 6f 66 74 65 6e 2d 6f 76 65 72 6c 6f 6f 6b 65 64 20 70 72 6f 62 6c 65 6d 3a 0a 20 20 20 an.often-overlooked.problem:....
f3380 20 20 20 75 6e 62 6f 75 6e 64 65 64 20 6d 65 6d 6f 72 79 20 61 6c 6c 6f 63 61 74 69 6f 6e 2e 0a ...unbounded.memory.allocation..
f33a0 20 20 20 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 ......</p>.......<p>.......Recur
f33c0 73 69 6f 6e 20 69 73 20 61 6e 20 61 72 65 61 20 6f 66 20 61 63 74 69 76 65 20 65 78 70 65 72 69 sion.is.an.area.of.active.experi
f33e0 6d 65 6e 74 61 74 69 6f 6e 20 69 6e 20 5a 69 67 20 61 6e 64 20 73 6f 20 74 68 65 20 64 6f 63 75 mentation.in.Zig.and.so.the.docu
f3400 6d 65 6e 74 61 74 69 6f 6e 20 68 65 72 65 20 69 73 20 6e 6f 74 20 66 69 6e 61 6c 2e 0a 20 20 20 mentation.here.is.not.final.....
f3420 20 20 20 59 6f 75 20 63 61 6e 20 72 65 61 64 20 61 0a 20 20 20 20 20 20 3c 61 20 68 72 65 66 3d ...You.can.read.a.......<a.href=
f3440 22 68 74 74 70 73 3a 2f 2f 7a 69 67 6c 61 6e 67 2e 6f 72 67 2f 64 6f 77 6e 6c 6f 61 64 2f 30 2e "https://ziglang.org/download/0.
f3460 33 2e 30 2f 72 65 6c 65 61 73 65 2d 6e 6f 74 65 73 2e 68 74 6d 6c 23 72 65 63 75 72 73 69 6f 6e 3.0/release-notes.html#recursion
f3480 22 3e 73 75 6d 6d 61 72 79 20 6f 66 20 72 65 63 75 72 73 69 6f 6e 20 73 74 61 74 75 73 20 69 6e ">summary.of.recursion.status.in
f34a0 20 74 68 65 20 30 2e 33 2e 30 20 72 65 6c 65 61 73 65 20 6e 6f 74 65 73 3c 2f 61 3e 2e 0a 20 20 .the.0.3.0.release.notes</a>....
f34c0 20 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 ....</p>.......<p>.......The.sho
f34e0 72 74 20 73 75 6d 6d 61 72 79 20 69 73 20 74 68 61 74 20 63 75 72 72 65 6e 74 6c 79 20 72 65 63 rt.summary.is.that.currently.rec
f3500 75 72 73 69 6f 6e 20 77 6f 72 6b 73 20 6e 6f 72 6d 61 6c 6c 79 20 61 73 20 79 6f 75 20 77 6f 75 ursion.works.normally.as.you.wou
f3520 6c 64 20 65 78 70 65 63 74 2e 20 41 6c 74 68 6f 75 67 68 20 5a 69 67 20 63 6f 64 65 0a 20 20 20 ld.expect..Although.Zig.code....
f3540 20 20 20 69 73 20 6e 6f 74 20 79 65 74 20 70 72 6f 74 65 63 74 65 64 20 66 72 6f 6d 20 73 74 61 ...is.not.yet.protected.from.sta
f3560 63 6b 20 6f 76 65 72 66 6c 6f 77 2c 20 69 74 20 69 73 20 70 6c 61 6e 6e 65 64 20 74 68 61 74 20 ck.overflow,.it.is.planned.that.
f3580 61 20 66 75 74 75 72 65 20 76 65 72 73 69 6f 6e 20 6f 66 20 5a 69 67 20 77 69 6c 6c 20 70 72 6f a.future.version.of.Zig.will.pro
f35a0 76 69 64 65 0a 20 20 20 20 20 20 73 75 63 68 20 70 72 6f 74 65 63 74 69 6f 6e 2c 20 77 69 74 68 vide.......such.protection,.with
f35c0 20 73 6f 6d 65 20 64 65 67 72 65 65 20 6f 66 20 63 6f 6f 70 65 72 61 74 69 6f 6e 20 66 72 6f 6d .some.degree.of.cooperation.from
f35e0 20 5a 69 67 20 63 6f 64 65 20 72 65 71 75 69 72 65 64 2e 0a 20 20 20 20 20 20 3c 2f 70 3e 0a 20 .Zig.code.required........</p>..
f3600 20 20 20 20 20 0a 0a 20 20 20 20 20 20 3c 68 33 20 69 64 3d 22 4c 69 66 65 74 69 6d 65 2d 61 6e .............<h3.id="Lifetime-an
f3620 64 2d 4f 77 6e 65 72 73 68 69 70 22 3e 3c 61 20 68 72 65 66 3d 22 23 74 6f 63 2d 4c 69 66 65 74 d-Ownership"><a.href="#toc-Lifet
f3640 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 20 ime-and-Ownership">Lifetime.and.
f3660 4f 77 6e 65 72 73 68 69 70 3c 2f 61 3e 20 3c 61 20 63 6c 61 73 73 3d 22 68 64 72 22 20 68 72 65 Ownership</a>.<a.class="hdr".hre
f3680 66 3d 22 23 4c 69 66 65 74 69 6d 65 2d 61 6e 64 2d 4f 77 6e 65 72 73 68 69 70 22 3e c2 a7 3c 2f f="#Lifetime-and-Ownership">..</
f36a0 61 3e 3c 2f 68 33 3e 0a 0a 20 20 20 20 20 20 3c 70 3e 0a 20 20 20 20 20 20 49 74 20 69 73 20 74 a></h3>........<p>.......It.is.t
f36c0 68 65 20 5a 69 67 20 70 72 6f 67 72 61 6d 6d 65 72 27 73 20 72 65 73 70 6f 6e 73 69 62 69 6c 69 he.Zig.programmer's.responsibili
f36e0 74 79 20 74 6f 20 65 6e 73 75 72 65 20 74 68 61 74 20 61 20 3c 61 20 68 72 65 66 3d 22 23 50 6f ty.to.ensure.that.a.<a.href="#Po
f3700 69 6e 74 65 72 73 22 3e 70 6f 69 6e 74 65 72 3c 2f 61 3e 20 69 73 20 6e 6f 74 0a 20 20 20 20 20 inters">pointer</a>.is.not......
f3720 20 61 63 63 65 73 73 65 64 20 77 68 65 6e 20 74 68 65 20 6d 65 6d 6f 72 79 20 70 6f 69 6e 74 65 .accessed.when.the.memory.pointe
f3740 64 20 74 6f 20 69 73 20 6e 6f 20 6c 6f 6e 67 65 72 20 61 76 61 69 6c 61 62 6c 65 2e 20 4e 6f 74 d.to.is.no.longer.available..Not
f3760 65 20 74 68 61 74 20 61 20 3c 61 20 68 72 65 66 3d 22 23 53 6c 69 63 65 73 22 3e 73 6c 69 63 65 e.that.a.<a.href="#Slices">slice
f3780 3c 2f 61 3e 0a 20 20 20 20 20 20 69 73 20 61 20 66 6f 72 6d 20 6f 66 20 70 6f 69 6e 74 65 72 2c </a>.......is.a.form.of.pointer,
f37a0 20 69 6e 20 74 68 61 74 20 69 74 20 72 65 66 65 72 65 6e 63 65 73 20 6f 74 68 65 72 20 6d 65 6d .in.that.it.references.other.mem
f37c0 6f 72 79 2e 0a 20 20 20 20 20 20 3c 2f 70 3e 0a 20 20 20 20 20 20 3c 70 3e 0a 20 20 20 20 20 20 ory........</p>.......<p>.......
f37e0 49 6e 20 6f 72 64 65 72 20 74 6f 20 70 72 65 76 65 6e 74 20 62 75 67 73 2c 20 74 68 65 72 65 20 In.order.to.prevent.bugs,.there.
f3800 61 72 65 20 73 6f 6d 65 20 68 65 6c 70 66 75 6c 20 63 6f 6e 76 65 6e 74 69 6f 6e 73 20 74 6f 20 are.some.helpful.conventions.to.
f3820 66 6f 6c 6c 6f 77 20 77 68 65 6e 20 64 65 61 6c 69 6e 67 20 77 69 74 68 20 70 6f 69 6e 74 65 72 follow.when.dealing.with.pointer
f3840 73 2e 0a 20 20 20 20 20 20 49 6e 20 67 65 6e 65 72 61 6c 2c 20 77 68 65 6e 20 61 20 66 75 6e 63 s........In.general,.when.a.func
f3860 74 69 6f 6e 20 72 65 74 75 72 6e 73 20 61 20 70 6f 69 6e 74 65 72 2c 20 74 68 65 20 64 6f 63 75 tion.returns.a.pointer,.the.docu
f3880 6d 65 6e 74 61 74 69 6f 6e 20 66 6f 72 20 74 68 65 20 66 75 6e 63 74 69 6f 6e 20 73 68 6f 75 6c mentation.for.the.function.shoul
f38a0 64 20 65 78 70 6c 61 69 6e 0a 20 20 20 20 20 20 77 68 6f 20 22 6f 77 6e 73 22 20 74 68 65 20 70 d.explain.......who."owns".the.p
f38c0 6f 69 6e 74 65 72 2e 20 54 68 69 73 20 63 6f 6e 63 65 70 74 20 68 65 6c 70 73 20 74 68 65 20 70 ointer..This.concept.helps.the.p
f38e0 72 6f 67 72 61 6d 6d 65 72 20 64 65 63 69 64 65 20 77 68 65 6e 20 69 74 20 69 73 20 61 70 70 72 rogrammer.decide.when.it.is.appr
f3900 6f 70 72 69 61 74 65 2c 20 69 66 20 65 76 65 72 2c 0a 20 20 20 20 20 20 74 6f 20 66 72 65 65 20 opriate,.if.ever,.......to.free.
f3920 74 68 65 20 70 6f 69 6e 74 65 72 2e 0a 20 20 20 20 20 20 3c 2f 70 3e 0a 20 20 20 20 20 20 3c 70 the.pointer........</p>.......<p
f3940 3e 0a 20 20 20 20 20 20 46 6f 72 20 65 78 61 6d 70 6c 65 2c 20 74 68 65 20 66 75 6e 63 74 69 6f >.......For.example,.the.functio
f3960 6e 27 73 20 64 6f 63 75 6d 65 6e 74 61 74 69 6f 6e 20 6d 61 79 20 73 61 79 20 22 63 61 6c 6c 65 n's.documentation.may.say."calle
f3980 72 20 6f 77 6e 73 20 74 68 65 20 72 65 74 75 72 6e 65 64 20 6d 65 6d 6f 72 79 22 2c 20 69 6e 20 r.owns.the.returned.memory",.in.
f39a0 77 68 69 63 68 20 63 61 73 65 0a 20 20 20 20 20 20 74 68 65 20 63 6f 64 65 20 74 68 61 74 20 63 which.case.......the.code.that.c
f39c0 61 6c 6c 73 20 74 68 65 20 66 75 6e 63 74 69 6f 6e 20 6d 75 73 74 20 68 61 76 65 20 61 20 70 6c alls.the.function.must.have.a.pl
f39e0 61 6e 20 66 6f 72 20 77 68 65 6e 20 74 6f 20 66 72 65 65 20 74 68 61 74 20 6d 65 6d 6f 72 79 2e an.for.when.to.free.that.memory.
f3a00 20 50 72 6f 62 61 62 6c 79 20 69 6e 20 74 68 69 73 20 73 69 74 75 61 74 69 6f 6e 2c 0a 20 20 20 .Probably.in.this.situation,....
f3a20 20 20 20 74 68 65 20 66 75 6e 63 74 69 6f 6e 20 77 69 6c 6c 20 61 63 63 65 70 74 20 61 6e 20 3c ...the.function.will.accept.an.<
f3a40 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 41 6c 6c 6f 63 61 74 6f code><span.class="line">Allocato
f3a60 72 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 20 70 61 72 61 6d 65 74 65 72 2e 0a 20 20 20 20 20 r</span></code>.parameter.......
f3a80 20 3c 2f 70 3e 0a 20 20 20 20 20 20 3c 70 3e 0a 20 20 20 20 20 20 53 6f 6d 65 74 69 6d 65 73 20 .</p>.......<p>.......Sometimes.
f3aa0 74 68 65 20 6c 69 66 65 74 69 6d 65 20 6f 66 20 61 20 70 6f 69 6e 74 65 72 20 6d 61 79 20 62 65 the.lifetime.of.a.pointer.may.be
f3ac0 20 6d 6f 72 65 20 63 6f 6d 70 6c 69 63 61 74 65 64 2e 20 46 6f 72 20 65 78 61 6d 70 6c 65 2c 20 .more.complicated..For.example,.
f3ae0 74 68 65 0a 20 20 20 20 20 20 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e the.......<code><span.class="lin
f3b00 65 22 3e 73 74 64 2e 41 72 72 61 79 4c 69 73 74 28 54 29 2e 69 74 65 6d 73 3c 2f 73 70 61 6e 3e e">std.ArrayList(T).items</span>
f3b20 3c 2f 63 6f 64 65 3e 20 73 6c 69 63 65 20 68 61 73 20 61 20 6c 69 66 65 74 69 6d 65 20 74 68 61 </code>.slice.has.a.lifetime.tha
f3b40 74 20 72 65 6d 61 69 6e 73 0a 20 20 20 20 20 20 76 61 6c 69 64 20 75 6e 74 69 6c 20 74 68 65 20 t.remains.......valid.until.the.
f3b60 6e 65 78 74 20 74 69 6d 65 20 74 68 65 20 6c 69 73 74 20 69 73 20 72 65 73 69 7a 65 64 2c 20 73 next.time.the.list.is.resized,.s
f3b80 75 63 68 20 61 73 20 62 79 20 61 70 70 65 6e 64 69 6e 67 20 6e 65 77 20 65 6c 65 6d 65 6e 74 73 uch.as.by.appending.new.elements
f3ba0 2e 0a 20 20 20 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
f3bc0 20 41 50 49 20 64 6f 63 75 6d 65 6e 74 61 74 69 6f 6e 20 66 6f 72 20 66 75 6e 63 74 69 6f 6e 73 .API.documentation.for.functions
f3be0 20 61 6e 64 20 64 61 74 61 20 73 74 72 75 63 74 75 72 65 73 20 73 68 6f 75 6c 64 20 74 61 6b 65 .and.data.structures.should.take
f3c00 20 67 72 65 61 74 20 63 61 72 65 20 74 6f 20 65 78 70 6c 61 69 6e 0a 20 20 20 20 20 20 74 68 65 .great.care.to.explain.......the
f3c20 20 6f 77 6e 65 72 73 68 69 70 20 61 6e 64 20 6c 69 66 65 74 69 6d 65 20 73 65 6d 61 6e 74 69 63 .ownership.and.lifetime.semantic
f3c40 73 20 6f 66 20 70 6f 69 6e 74 65 72 73 2e 20 4f 77 6e 65 72 73 68 69 70 20 64 65 74 65 72 6d 69 s.of.pointers..Ownership.determi
f3c60 6e 65 73 20 77 68 6f 73 65 20 72 65 73 70 6f 6e 73 69 62 69 6c 69 74 79 20 69 74 0a 20 20 20 20 nes.whose.responsibility.it.....
f3c80 20 20 69 73 20 74 6f 20 66 72 65 65 20 74 68 65 20 6d 65 6d 6f 72 79 20 72 65 66 65 72 65 6e 63 ..is.to.free.the.memory.referenc
f3ca0 65 64 20 62 79 20 74 68 65 20 70 6f 69 6e 74 65 72 2c 20 61 6e 64 20 6c 69 66 65 74 69 6d 65 20 ed.by.the.pointer,.and.lifetime.
f3cc0 64 65 74 65 72 6d 69 6e 65 73 20 74 68 65 20 70 6f 69 6e 74 20 61 74 20 77 68 69 63 68 0a 20 20 determines.the.point.at.which...
f3ce0 20 20 20 20 74 68 65 20 6d 65 6d 6f 72 79 20 62 65 63 6f 6d 65 73 20 69 6e 61 63 63 65 73 73 69 ....the.memory.becomes.inaccessi
f3d00 62 6c 65 20 28 6c 65 73 74 20 3c 61 20 68 72 65 66 3d 22 23 55 6e 64 65 66 69 6e 65 64 2d 42 65 ble.(lest.<a.href="#Undefined-Be
f3d20 68 61 76 69 6f 72 22 3e 55 6e 64 65 66 69 6e 65 64 20 42 65 68 61 76 69 6f 72 3c 2f 61 3e 20 6f havior">Undefined.Behavior</a>.o
f3d40 63 63 75 72 29 2e 0a 20 20 20 20 20 20 3c 2f 70 3e 0a 20 20 20 20 20 20 0a 0a 20 20 20 20 20 20 ccur)........</p>...............
f3d60 0a 20 20 20 20 20 20 3c 68 32 20 69 64 3d 22 43 6f 6d 70 69 6c 65 2d 56 61 72 69 61 62 6c 65 73 .......<h2.id="Compile-Variables
f3d80 22 3e 3c 61 20 68 72 65 66 3d 22 23 74 6f 63 2d 43 6f 6d 70 69 6c 65 2d 56 61 72 69 61 62 6c 65 "><a.href="#toc-Compile-Variable
f3da0 73 22 3e 43 6f 6d 70 69 6c 65 20 56 61 72 69 61 62 6c 65 73 3c 2f 61 3e 20 3c 61 20 63 6c 61 73 s">Compile.Variables</a>.<a.clas
f3dc0 73 3d 22 68 64 72 22 20 68 72 65 66 3d 22 23 43 6f 6d 70 69 6c 65 2d 56 61 72 69 61 62 6c 65 73 s="hdr".href="#Compile-Variables
f3de0 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 43 ">..</a></h2>........<p>.......C
f3e00 6f 6d 70 69 6c 65 20 76 61 72 69 61 62 6c 65 73 20 61 72 65 20 61 63 63 65 73 73 69 62 6c 65 20 ompile.variables.are.accessible.
f3e20 62 79 20 69 6d 70 6f 72 74 69 6e 67 20 74 68 65 20 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 by.importing.the.<code><span.cla
f3e40 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 73 74 72 22 3e ss="line"><span.class="tok-str">
f3e60 26 71 75 6f 74 3b 62 75 69 6c 74 69 6e 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e &quot;builtin&quot;</span></span
f3e80 3e 3c 2f 63 6f 64 65 3e 20 70 61 63 6b 61 67 65 2c 0a 20 20 20 20 20 20 77 68 69 63 68 20 74 68 ></code>.package,.......which.th
f3ea0 65 20 63 6f 6d 70 69 6c 65 72 20 6d 61 6b 65 73 20 61 76 61 69 6c 61 62 6c 65 20 74 6f 20 65 76 e.compiler.makes.available.to.ev
f3ec0 65 72 79 20 5a 69 67 20 73 6f 75 72 63 65 20 66 69 6c 65 2e 20 49 74 20 63 6f 6e 74 61 69 6e 73 ery.Zig.source.file..It.contains
f3ee0 0a 20 20 20 20 20 20 63 6f 6d 70 69 6c 65 2d 74 69 6d 65 20 63 6f 6e 73 74 61 6e 74 73 20 73 75 .......compile-time.constants.su
f3f00 63 68 20 61 73 20 74 68 65 20 63 75 72 72 65 6e 74 20 74 61 72 67 65 74 2c 20 65 6e 64 69 61 6e ch.as.the.current.target,.endian
f3f20 6e 65 73 73 2c 20 61 6e 64 20 72 65 6c 65 61 73 65 20 6d 6f 64 65 2e 0a 20 20 20 20 20 20 3c 2f ness,.and.release.mode........</
f3f40 70 3e 0a 20 20 20 20 20 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
f3f60 73 73 3d 22 7a 69 67 2d 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">
f3f80 74 65 73 74 2e 7a 69 67 3c 2f 63 69 74 65 3e 3c 2f 66 69 67 63 61 70 74 69 6f 6e 3e 3c 70 72 65 test.zig</cite></figcaption><pre
f3fa0 3e 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 ><code><span.class="line"><span.
f3fc0 63 6c 61 73 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
f3fe0 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">
f4000 40 69 6d 70 6f 72 74 3c 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-
f4020 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>)
f4040 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 ;</span>.<span.class="line"><spa
f4060 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 63 6f 6e 73 74 3c 2f 73 70 61 6e 3e 20 73 65 n.class="tok-kw">const</span>.se
f4080 70 61 72 61 74 6f 72 20 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 69 parator.=.<span.class="tok-kw">i
f40a0 66 3c 2f 73 70 61 6e 3e 20 28 62 75 69 6c 74 69 6e 2e 6f 73 2e 74 61 67 20 3d 3d 20 2e 77 69 6e f</span>.(builtin.os.tag.==..win
f40c0 64 6f 77 73 29 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 73 74 72 22 3e 27 5c 5c 27 dows).<span.class="tok-str">'\\'
f40e0 3c 2f 73 70 61 6e 3e 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 65 6c 73 </span>.<span.class="tok-kw">els
f4100 65 3c 2f 73 70 61 6e 3e 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 73 74 72 22 3e 27 e</span>.<span.class="tok-str">'
f4120 2f 27 3c 2f 73 70 61 6e 3e 3b 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 3c 2f 70 72 65 3e 3c 2f /'</span>;</span></code></pre></
f4140 66 69 67 75 72 65 3e 0a 20 20 20 20 20 20 3c 70 3e 0a 20 20 20 20 20 20 45 78 61 6d 70 6c 65 20 figure>.......<p>.......Example.
f4160 6f 66 20 77 68 61 74 20 69 73 20 69 6d 70 6f 72 74 65 64 20 77 69 74 68 20 3c 63 6f 64 65 3e 3c of.what.is.imported.with.<code><
f4180 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 span.class="line"><span.class="t
f41a0 6f 6b 2d 62 75 69 6c 74 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
f41c0 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
f41e0 75 6f 74 3b 3c 2f 73 70 61 6e 3e 29 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 3a 0a 20 20 20 20 uot;</span>)</span></code>:.....
f4200 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
f4220 20 63 6c 61 73 73 3d 22 7a 69 67 2d 63 61 70 22 3e 3c 63 69 74 65 3e 40 69 6d 70 6f 72 74 28 22 .class="zig-cap"><cite>@import("
f4240 62 75 69 6c 74 69 6e 22 29 3c 2f 63 69 74 65 3e 3c 2f 66 69 67 63 61 70 74 69 6f 6e 3e 3c 70 72 builtin")</cite></figcaption><pr
f4260 65 3e 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e e><code><span.class="line"><span
f4280 20 63 6c 61 73 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
f42a0 20 3d 20 3c 73 70 61 6e 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
f42c0 70 6f 72 74 3c 2f 73 70 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
f42e0 22 3e 26 71 75 6f 74 3b 73 74 64 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 29 3b 3c 2f 73 70 61 6e ">&quot;std&quot;</span>);</span
f4300 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 >.<span.class="line"><span.class
f4320 3d 22 74 6f 6b 2d 63 6f 6d 6d 65 6e 74 22 3e 2f 2f 2f 20 5a 69 67 20 76 65 72 73 69 6f 6e 2e 20 ="tok-comment">///.Zig.version..
f4340 57 68 65 6e 20 77 72 69 74 69 6e 67 20 63 6f 64 65 20 74 68 61 74 20 73 75 70 70 6f 72 74 73 20 When.writing.code.that.supports.
f4360 6d 75 6c 74 69 70 6c 65 20 76 65 72 73 69 6f 6e 73 20 6f 66 20 5a 69 67 2c 20 70 72 65 66 65 72 multiple.versions.of.Zig,.prefer
f4380 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 </span></span>.<span.class="line
f43a0 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 63 6f 6d 6d 65 6e 74 22 3e 2f 2f 2f 20 "><span.class="tok-comment">///.
f43c0 66 65 61 74 75 72 65 20 64 65 74 65 63 74 69 6f 6e 20 28 69 2e 65 2e 20 77 69 74 68 20 60 40 68 feature.detection.(i.e..with.`@h
f43e0 61 73 44 65 63 6c 60 20 6f 72 20 60 40 68 61 73 46 69 65 6c 64 60 29 20 6f 76 65 72 20 76 65 72 asDecl`.or.`@hasField`).over.ver
f4400 73 69 6f 6e 20 63 68 65 63 6b 73 2e 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e sion.checks.</span></span>.<span
f4420 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b .class="line"><span.class="tok-k
f4440 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
f4460 77 22 3e 63 6f 6e 73 74 3c 2f 73 70 61 6e 3e 20 7a 69 67 5f 76 65 72 73 69 6f 6e 20 3d 20 73 74 w">const</span>.zig_version.=.st
f4480 64 2e 53 65 6d 61 6e 74 69 63 56 65 72 73 69 6f 6e 2e 70 61 72 73 65 28 3c 73 70 61 6e 20 63 6c d.SemanticVersion.parse(<span.cl
f44a0 61 73 73 3d 22 74 6f 6b 2d 73 74 72 22 3e 26 71 75 6f 74 3b 30 2e 31 30 2e 31 26 71 75 6f 74 3b ass="tok-str">&quot;0.10.1&quot;
f44c0 3c 2f 73 70 61 6e 3e 29 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 63 61 </span>).<span.class="tok-kw">ca
f44e0 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 3e tch</span>.<span.class="tok-kw">
f4500 75 6e 72 65 61 63 68 61 62 6c 65 3c 2f 73 70 61 6e 3e 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e unreachable</span>;</span>.<span
f4520 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b .class="line"><span.class="tok-k
f4540 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
f4560 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 74 w">const</span>.zig_backend.=.st
f4580 64 2e 62 75 69 6c 74 69 6e 2e 43 6f 6d 70 69 6c 65 72 42 61 63 6b 65 6e 64 2e 73 74 61 67 65 32 d.builtin.CompilerBackend.stage2
f45a0 5f 78 38 36 5f 36 34 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e _x86_64;</span>.<span.class="lin
f45c0 65 22 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 e"></span>.<span.class="line"><s
f45e0 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
f4600 70 61 6e 20 63 6c 61 73 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>.
f4620 6f 75 74 70 75 74 5f 6d 6f 64 65 20 3d 20 73 74 64 2e 62 75 69 6c 74 69 6e 2e 4f 75 74 70 75 74 output_mode.=.std.builtin.Output
f4640 4d 6f 64 65 2e 4f 62 6a 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 Mode.Obj;</span>.<span.class="li
f4660 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 70 75 62 3c 2f 73 70 ne"><span.class="tok-kw">pub</sp
f4680 61 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</
f46a0 73 70 61 6e 3e 20 6c 69 6e 6b 5f 6d 6f 64 65 20 3d 20 73 74 64 2e 62 75 69 6c 74 69 6e 2e 4c 69 span>.link_mode.=.std.builtin.Li
f46c0 6e 6b 4d 6f 64 65 2e 53 74 61 74 69 63 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 nkMode.Static;</span>.<span.clas
f46e0 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 70 75 s="line"><span.class="tok-kw">pu
f4700 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
f4720 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 63 6c 61 73 73 nst</span>.is_test.=.<span.class
f4740 3d 22 74 6f 6b 2d 6e 75 6c 6c 22 3e 66 61 6c 73 65 3c 2f 73 70 61 6e 3e 3b 3c 2f 73 70 61 6e 3e ="tok-null">false</span>;</span>
f4760 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d .<span.class="line"><span.class=
f4780 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=
f47a0 22 74 6f 6b 2d 6b 77 22 3e 63 6f 6e 73 74 3c 2f 73 70 61 6e 3e 20 73 69 6e 67 6c 65 5f 74 68 72 "tok-kw">const</span>.single_thr
f47c0 65 61 64 65 64 20 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6c 6c 22 3e 66 eaded.=.<span.class="tok-null">f
f47e0 61 6c 73 65 3c 2f 73 70 61 6e 3e 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d alse</span>;</span>.<span.class=
f4800 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 70 75 62 3c "line"><span.class="tok-kw">pub<
f4820 2f 73 70 61 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
f4840 74 3c 2f 73 70 61 6e 3e 20 61 62 69 20 3d 20 73 74 64 2e 54 61 72 67 65 74 2e 41 62 69 2e 67 6e t</span>.abi.=.std.Target.Abi.gn
f4860 75 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 u;</span>.<span.class="line"><sp
f4880 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
f48a0 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 63 6f 6e 73 74 3c 2f 73 70 61 6e 3e 20 63 an.class="tok-kw">const</span>.c
f48c0 70 75 3a 20 73 74 64 2e 54 61 72 67 65 74 2e 43 70 75 20 3d 20 2e 7b 3c 2f 73 70 61 6e 3e 0a 3c pu:.std.Target.Cpu.=..{</span>.<
f48e0 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 2e 61 72 63 68 20 3d 20 2e 78 span.class="line">.....arch.=..x
f4900 38 36 5f 36 34 2c 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 86_64,</span>.<span.class="line"
f4920 3e 20 20 20 20 2e 6d 6f 64 65 6c 20 3d 20 26 61 6d 70 3b 73 74 64 2e 54 61 72 67 65 74 2e 78 38 >.....model.=.&amp;std.Target.x8
f4940 36 2e 63 70 75 2e 7a 6e 76 65 72 32 2c 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 6.cpu.znver2,</span>.<span.class
f4960 3d 22 6c 69 6e 65 22 3e 20 20 20 20 2e 66 65 61 74 75 72 65 73 20 3d 20 73 74 64 2e 54 61 72 67 ="line">.....features.=.std.Targ
f4980 65 74 2e 78 38 36 2e 66 65 61 74 75 72 65 53 65 74 28 26 61 6d 70 3b 5b 5f 5d 73 74 64 2e 54 61 et.x86.featureSet(&amp;[_]std.Ta
f49a0 72 67 65 74 2e 78 38 36 2e 46 65 61 74 75 72 65 7b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 rget.x86.Feature{</span>.<span.c
f49c0 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 20 20 20 20 2e 40 26 71 75 6f 74 3b 36 34 62 69 lass="line">.........@&quot;64bi
f49e0 74 26 71 75 6f 74 3b 2c 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e t&quot;,</span>.<span.class="lin
f4a00 65 22 3e 20 20 20 20 20 20 20 20 2e 61 64 78 2c 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c e">.........adx,</span>.<span.cl
f4a20 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 20 20 20 20 2e 61 65 73 2c 3c 2f 73 70 61 6e 3e 0a ass="line">.........aes,</span>.
f4a40 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 20 20 20 20 2e 61 76 78 2c <span.class="line">.........avx,
f4a60 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 20 </span>.<span.class="line">.....
f4a80 20 20 20 2e 61 76 78 32 2c 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 ....avx2,</span>.<span.class="li
f4aa0 6e 65 22 3e 20 20 20 20 20 20 20 20 2e 62 6d 69 2c 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 ne">.........bmi,</span>.<span.c
f4ac0 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 20 20 20 20 2e 62 6d 69 32 2c 3c 2f 73 70 61 6e lass="line">.........bmi2,</span
f4ae0 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 20 20 20 20 2e 62 72 >.<span.class="line">.........br
f4b00 61 6e 63 68 66 75 73 69 6f 6e 2c 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 anchfusion,</span>.<span.class="
f4b20 6c 69 6e 65 22 3e 20 20 20 20 20 20 20 20 2e 63 6c 66 6c 75 73 68 6f 70 74 2c 3c 2f 73 70 61 6e line">.........clflushopt,</span
f4b40 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 20 20 20 20 2e 63 6c >.<span.class="line">.........cl
f4b60 77 62 2c 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 wb,</span>.<span.class="line">..
f4b80 20 20 20 20 20 20 2e 63 6c 7a 65 72 6f 2c 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 .......clzero,</span>.<span.clas
f4ba0 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 20 20 20 20 2e 63 6d 6f 76 2c 3c 2f 73 70 61 6e 3e 0a 3c s="line">.........cmov,</span>.<
f4bc0 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 20 20 20 20 2e 63 72 63 33 32 span.class="line">.........crc32
f4be0 2c 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 ,</span>.<span.class="line">....
f4c00 20 20 20 20 2e 63 78 31 36 2c 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c .....cx16,</span>.<span.class="l
f4c20 69 6e 65 22 3e 20 20 20 20 20 20 20 20 2e 63 78 38 2c 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 ine">.........cx8,</span>.<span.
f4c40 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 20 20 20 20 2e 66 31 36 63 2c 3c 2f 73 70 61 class="line">.........f16c,</spa
f4c60 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 20 20 20 20 2e 66 n>.<span.class="line">.........f
f4c80 61 73 74 5f 31 35 62 79 74 65 6e 6f 70 2c 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 ast_15bytenop,</span>.<span.clas
f4ca0 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 20 20 20 20 2e 66 61 73 74 5f 62 65 78 74 72 2c 3c 2f 73 s="line">.........fast_bextr,</s
f4cc0 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 20 20 20 20 pan>.<span.class="line">........
f4ce0 2e 66 61 73 74 5f 6c 7a 63 6e 74 2c 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d .fast_lzcnt,</span>.<span.class=
f4d00 22 6c 69 6e 65 22 3e 20 20 20 20 20 20 20 20 2e 66 61 73 74 5f 6d 6f 76 62 65 2c 3c 2f 73 70 61 "line">.........fast_movbe,</spa
f4d20 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 20 20 20 20 2e 66 n>.<span.class="line">.........f
f4d40 61 73 74 5f 73 63 61 6c 61 72 5f 66 73 71 72 74 2c 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 ast_scalar_fsqrt,</span>.<span.c
f4d60 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 20 20 20 20 2e 66 61 73 74 5f 73 63 61 6c 61 72 lass="line">.........fast_scalar
f4d80 5f 73 68 69 66 74 5f 6d 61 73 6b 73 2c 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 _shift_masks,</span>.<span.class
f4da0 3d 22 6c 69 6e 65 22 3e 20 20 20 20 20 20 20 20 2e 66 61 73 74 5f 76 61 72 69 61 62 6c 65 5f 70 ="line">.........fast_variable_p
f4dc0 65 72 6c 61 6e 65 5f 73 68 75 66 66 6c 65 2c 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 erlane_shuffle,</span>.<span.cla
f4de0 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 20 20 20 20 2e 66 61 73 74 5f 76 65 63 74 6f 72 5f 66 ss="line">.........fast_vector_f
f4e00 73 71 72 74 2c 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e sqrt,</span>.<span.class="line">
f4e20 20 20 20 20 20 20 20 20 2e 66 6d 61 2c 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 .........fma,</span>.<span.class
f4e40 3d 22 6c 69 6e 65 22 3e 20 20 20 20 20 20 20 20 2e 66 73 67 73 62 61 73 65 2c 3c 2f 73 70 61 6e ="line">.........fsgsbase,</span
f4e60 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 20 20 20 20 2e 66 78 >.<span.class="line">.........fx
f4e80 73 72 2c 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 sr,</span>.<span.class="line">..
f4ea0 20 20 20 20 20 20 2e 6c 7a 63 6e 74 2c 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 .......lzcnt,</span>.<span.class
f4ec0 3d 22 6c 69 6e 65 22 3e 20 20 20 20 20 20 20 20 2e 6d 6d 78 2c 3c 2f 73 70 61 6e 3e 0a 3c 73 70 ="line">.........mmx,</span>.<sp
f4ee0 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 20 20 20 20 2e 6d 6f 76 62 65 2c 3c an.class="line">.........movbe,<
f4f00 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 20 20 /span>.<span.class="line">......
f4f20 20 20 2e 6d 77 61 69 74 78 2c 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c ...mwaitx,</span>.<span.class="l
f4f40 69 6e 65 22 3e 20 20 20 20 20 20 20 20 2e 6e 6f 70 6c 2c 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e ine">.........nopl,</span>.<span
f4f60 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 20 20 20 20 2e 70 63 6c 6d 75 6c 2c 3c 2f .class="line">.........pclmul,</
f4f80 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 20 20 20 span>.<span.class="line">.......
f4fa0 20 2e 70 6f 70 63 6e 74 2c 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 ..popcnt,</span>.<span.class="li
f4fc0 6e 65 22 3e 20 20 20 20 20 20 20 20 2e 70 72 66 63 68 77 2c 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 ne">.........prfchw,</span>.<spa
f4fe0 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 20 20 20 20 2e 72 64 70 69 64 2c 3c 2f n.class="line">.........rdpid,</
f5000 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 20 20 20 span>.<span.class="line">.......
f5020 20 2e 72 64 70 72 75 2c 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e ..rdpru,</span>.<span.class="lin
f5040 65 22 3e 20 20 20 20 20 20 20 20 2e 72 64 72 6e 64 2c 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 e">.........rdrnd,</span>.<span.
f5060 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 20 20 20 20 2e 72 64 73 65 65 64 2c 3c 2f 73 class="line">.........rdseed,</s
f5080 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 20 20 20 20 pan>.<span.class="line">........
f50a0 2e 73 61 68 66 2c 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 .sahf,</span>.<span.class="line"
f50c0 3e 20 20 20 20 20 20 20 20 2e 73 62 62 5f 64 65 70 5f 62 72 65 61 6b 69 6e 67 2c 3c 2f 73 70 61 >.........sbb_dep_breaking,</spa
f50e0 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 20 20 20 20 2e 73 n>.<span.class="line">.........s
f5100 68 61 2c 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 ha,</span>.<span.class="line">..
f5120 20 20 20 20 20 20 2e 73 6c 6f 77 5f 73 68 6c 64 2c 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 .......slow_shld,</span>.<span.c
f5140 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 20 20 20 20 2e 73 73 65 2c 3c 2f 73 70 61 6e 3e lass="line">.........sse,</span>
f5160 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 20 20 20 20 2e 73 73 65 .<span.class="line">.........sse
f5180 32 2c 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 2,</span>.<span.class="line">...
f51a0 20 20 20 20 20 2e 73 73 65 33 2c 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 ......sse3,</span>.<span.class="
f51c0 6c 69 6e 65 22 3e 20 20 20 20 20 20 20 20 2e 73 73 65 34 5f 31 2c 3c 2f 73 70 61 6e 3e 0a 3c 73 line">.........sse4_1,</span>.<s
f51e0 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 20 20 20 20 2e 73 73 65 34 5f 32 pan.class="line">.........sse4_2
f5200 2c 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 ,</span>.<span.class="line">....
f5220 20 20 20 20 2e 73 73 65 34 61 2c 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 .....sse4a,</span>.<span.class="
f5240 6c 69 6e 65 22 3e 20 20 20 20 20 20 20 20 2e 73 73 73 65 33 2c 3c 2f 73 70 61 6e 3e 0a 3c 73 70 line">.........ssse3,</span>.<sp
f5260 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 20 20 20 20 2e 76 7a 65 72 6f 75 70 an.class="line">.........vzeroup
f5280 70 65 72 2c 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 per,</span>.<span.class="line">.
f52a0 20 20 20 20 20 20 20 2e 77 62 6e 6f 69 6e 76 64 2c 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 ........wbnoinvd,</span>.<span.c
f52c0 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 20 20 20 20 2e 78 38 37 2c 3c 2f 73 70 61 6e 3e lass="line">.........x87,</span>
f52e0 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 20 20 20 20 2e 78 73 61 .<span.class="line">.........xsa
f5300 76 65 2c 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 ve,</span>.<span.class="line">..
f5320 20 20 20 20 20 20 2e 78 73 61 76 65 63 2c 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 .......xsavec,</span>.<span.clas
f5340 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 20 20 20 20 2e 78 73 61 76 65 6f 70 74 2c 3c 2f 73 70 61 s="line">.........xsaveopt,</spa
f5360 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 20 20 20 20 2e 78 n>.<span.class="line">.........x
f5380 73 61 76 65 73 2c 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 saves,</span>.<span.class="line"
f53a0 3e 20 20 20 20 7d 29 2c 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e >....}),</span>.<span.class="lin
f53c0 65 22 3e 7d 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e e">};</span>.<span.class="line">
f53e0 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>.
f5400 3c 73 70 61 6e 20 63 6c 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
f5420 3e 20 6f 73 20 3d 20 73 74 64 2e 54 61 72 67 65 74 2e 4f 73 7b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 >.os.=.std.Target.Os{</span>.<sp
f5440 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 2e 74 61 67 20 3d 20 2e 6c 69 6e 75 an.class="line">.....tag.=..linu
f5460 78 2c 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 x,</span>.<span.class="line">...
f5480 20 2e 76 65 72 73 69 6f 6e 5f 72 61 6e 67 65 20 3d 20 2e 7b 20 2e 6c 69 6e 75 78 20 3d 20 2e 7b ..version_range.=..{..linux.=..{
f54a0 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 20 </span>.<span.class="line">.....
f54c0 20 20 20 2e 72 61 6e 67 65 20 3d 20 2e 7b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 ....range.=..{</span>.<span.clas
f54e0 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 20 20 20 20 20 20 20 20 2e 6d 69 6e 20 3d 20 2e 7b 3c 2f s="line">.............min.=..{</
f5500 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 20 20 20 span>.<span.class="line">.......
f5520 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 73 73 3d 22 74 ..........major.=.<span.class="t
f5540 6f 6b 2d 6e 75 6d 62 65 72 22 3e 35 3c 2f 73 70 61 6e 3e 2c 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 ok-number">5</span>,</span>.<spa
f5560 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 2e n.class="line">.................
f5580 6d 69 6e 6f 72 20 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 minor.=.<span.class="tok-number"
f55a0 3e 31 30 3c 2f 73 70 61 6e 3e 2c 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 >10</span>,</span>.<span.class="
f55c0 6c 69 6e 65 22 3e 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 2e 70 61 74 63 68 20 3d 20 3c line">.................patch.=.<
f55e0 73 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>
f5600 2c 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 ,</span>.<span.class="line">....
f5620 20 20 20 20 20 20 20 20 7d 2c 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c ........},</span>.<span.class="l
f5640 69 6e 65 22 3e 20 20 20 20 20 20 20 20 20 20 20 20 2e 6d 61 78 20 3d 20 2e 7b 3c 2f 73 70 61 6e ine">.............max.=..{</span
f5660 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 20 20 20 20 20 20 20 >.<span.class="line">...........
f5680 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
f56a0 75 6d 62 65 72 22 3e 35 3c 2f 73 70 61 6e 3e 2c 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c umber">5</span>,</span>.<span.cl
f56c0 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 2e 6d 69 6e 6f ass="line">.................mino
f56e0 72 20 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 31 30 3c r.=.<span.class="tok-number">10<
f5700 2f 73 70 61 6e 3e 2c 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 /span>,</span>.<span.class="line
f5720 22 3e 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 2e 70 61 74 63 68 20 3d 20 3c 73 70 61 6e ">.................patch.=.<span
f5740 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 30 3c 2f 73 70 61 6e 3e 2c 3c 2f 73 .class="tok-number">0</span>,</s
f5760 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 20 20 20 20 pan>.<span.class="line">........
f5780 20 20 20 20 7d 2c 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 ....},</span>.<span.class="line"
f57a0 3e 20 20 20 20 20 20 20 20 7d 2c 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 >........},</span>.<span.class="
f57c0 6c 69 6e 65 22 3e 20 20 20 20 20 20 20 20 2e 67 6c 69 62 63 20 3d 20 2e 7b 3c 2f 73 70 61 6e 3e line">.........glibc.=..{</span>
f57e0 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 20 20 20 20 20 20 20 20 .<span.class="line">............
f5800 2e 6d 61 6a 6f 72 20 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 .major.=.<span.class="tok-number
f5820 22 3e 32 3c 2f 73 70 61 6e 3e 2c 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 ">2</span>,</span>.<span.class="
f5840 6c 69 6e 65 22 3e 20 20 20 20 20 20 20 20 20 20 20 20 2e 6d 69 6e 6f 72 20 3d 20 3c 73 70 61 6e line">.............minor.=.<span
f5860 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 33 31 3c 2f 73 70 61 6e 3e 2c 3c 2f .class="tok-number">31</span>,</
f5880 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 20 20 20 span>.<span.class="line">.......
f58a0 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 6e ......patch.=.<span.class="tok-n
f58c0 75 6d 62 65 72 22 3e 30 3c 2f 73 70 61 6e 3e 2c 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c umber">0</span>,</span>.<span.cl
f58e0 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 20 20 20 20 7d 2c 3c 2f 73 70 61 6e 3e 0a 3c 73 70 ass="line">........},</span>.<sp
f5900 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 7d 7d 2c 3c 2f 73 70 61 6e 3e 0a 3c an.class="line">....}},</span>.<
f5920 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 7d 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 span.class="line">};</span>.<spa
f5940 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d n.class="line"><span.class="tok-
f5960 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-
f5980 6b 77 22 3e 63 6f 6e 73 74 3c 2f 73 70 61 6e 3e 20 74 61 72 67 65 74 20 3d 20 73 74 64 2e 54 61 kw">const</span>.target.=.std.Ta
f59a0 72 67 65 74 7b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e rget{</span>.<span.class="line">
f59c0 20 20 20 20 2e 63 70 75 20 3d 20 63 70 75 2c 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 .....cpu.=.cpu,</span>.<span.cla
f59e0 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 2e 6f 73 20 3d 20 6f 73 2c 3c 2f 73 70 61 6e 3e 0a 3c ss="line">.....os.=.os,</span>.<
f5a00 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 2e 61 62 69 20 3d 20 61 62 69 span.class="line">.....abi.=.abi
f5a20 2c 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 ,</span>.<span.class="line">....
f5a40 2e 6f 66 6d 74 20 3d 20 6f 62 6a 65 63 74 5f 66 6f 72 6d 61 74 2c 3c 2f 73 70 61 6e 3e 0a 3c 73 .ofmt.=.object_format,</span>.<s
f5a60 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 7d 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e pan.class="line">};</span>.<span
f5a80 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b .class="line"><span.class="tok-k
f5aa0 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
f5ac0 77 22 3e 63 6f 6e 73 74 3c 2f 73 70 61 6e 3e 20 6f 62 6a 65 63 74 5f 66 6f 72 6d 61 74 20 3d 20 w">const</span>.object_format.=.
f5ae0 73 74 64 2e 54 61 72 67 65 74 2e 4f 62 6a 65 63 74 46 6f 72 6d 61 74 2e 65 6c 66 3b 3c 2f 73 70 std.Target.ObjectFormat.elf;</sp
f5b00 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 an>.<span.class="line"><span.cla
f5b20 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
f5b40 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 63 6f 6e 73 74 3c 2f 73 70 61 6e 3e 20 6d 6f 64 65 20 3d 20 ss="tok-kw">const</span>.mode.=.
f5b60 73 74 64 2e 62 75 69 6c 74 69 6e 2e 4d 6f 64 65 2e 44 65 62 75 67 3b 3c 2f 73 70 61 6e 3e 0a 3c std.builtin.Mode.Debug;</span>.<
f5b80 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 span.class="line"><span.class="t
f5ba0 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
f5bc0 6f 6b 2d 6b 77 22 3e 63 6f 6e 73 74 3c 2f 73 70 61 6e 3e 20 6c 69 6e 6b 5f 6c 69 62 63 20 3d 20 ok-kw">const</span>.link_libc.=.
f5be0 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
f5c00 61 6e 3e 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c an>;</span>.<span.class="line"><
f5c20 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>.<
f5c40 73 70 61 6e 20 63 6c 61 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>
f5c60 20 6c 69 6e 6b 5f 6c 69 62 63 70 70 20 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d .link_libcpp.=.<span.class="tok-
f5c80 6e 75 6c 6c 22 3e 66 61 6c 73 65 3c 2f 73 70 61 6e 3e 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e null">false</span>;</span>.<span
f5ca0 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b .class="line"><span.class="tok-k
f5cc0 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
f5ce0 77 22 3e 63 6f 6e 73 74 3c 2f 73 70 61 6e 3e 20 68 61 76 65 5f 65 72 72 6f 72 5f 72 65 74 75 72 w">const</span>.have_error_retur
f5d00 6e 5f 74 72 61 63 69 6e 67 20 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6c n_tracing.=.<span.class="tok-nul
f5d20 6c 22 3e 74 72 75 65 3c 2f 73 70 61 6e 3e 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 l">true</span>;</span>.<span.cla
f5d40 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 70 ss="line"><span.class="tok-kw">p
f5d60 75 62 3c 2f 73 70 61 6e 3e 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 63 ub</span>.<span.class="tok-kw">c
f5d80 6f 6e 73 74 3c 2f 73 70 61 6e 3e 20 76 61 6c 67 72 69 6e 64 5f 73 75 70 70 6f 72 74 20 3d 20 3c onst</span>.valgrind_support.=.<
f5da0 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
f5dc0 3e 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 >;</span>.<span.class="line"><sp
f5de0 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
f5e00 61 6e 20 63 6c 61 73 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
f5e20 61 6e 69 74 69 7a 65 5f 74 68 72 65 61 64 20 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f anitize_thread.=.<span.class="to
f5e40 6b 2d 6e 75 6c 6c 22 3e 66 61 6c 73 65 3c 2f 73 70 61 6e 3e 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 k-null">false</span>;</span>.<sp
f5e60 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b an.class="line"><span.class="tok
f5e80 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
f5ea0 2d 6b 77 22 3e 63 6f 6e 73 74 3c 2f 73 70 61 6e 3e 20 70 6f 73 69 74 69 6f 6e 5f 69 6e 64 65 70 -kw">const</span>.position_indep
f5ec0 65 6e 64 65 6e 74 5f 63 6f 64 65 20 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e endent_code.=.<span.class="tok-n
f5ee0 75 6c 6c 22 3e 66 61 6c 73 65 3c 2f 73 70 61 6e 3e 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 ull">false</span>;</span>.<span.
f5f00 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 class="line"><span.class="tok-kw
f5f20 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
f5f40 22 3e 63 6f 6e 73 74 3c 2f 73 70 61 6e 3e 20 70 6f 73 69 74 69 6f 6e 5f 69 6e 64 65 70 65 6e 64 ">const</span>.position_independ
f5f60 65 6e 74 5f 65 78 65 63 75 74 61 62 6c 65 20 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f ent_executable.=.<span.class="to
f5f80 6b 2d 6e 75 6c 6c 22 3e 66 61 6c 73 65 3c 2f 73 70 61 6e 3e 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 k-null">false</span>;</span>.<sp
f5fa0 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b an.class="line"><span.class="tok
f5fc0 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
f5fe0 2d 6b 77 22 3e 63 6f 6e 73 74 3c 2f 73 70 61 6e 3e 20 73 74 72 69 70 5f 64 65 62 75 67 5f 69 6e -kw">const</span>.strip_debug_in
f6000 66 6f 20 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6c 6c 22 3e 66 61 6c 73 fo.=.<span.class="tok-null">fals
f6020 65 3c 2f 73 70 61 6e 3e 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 e</span>;</span>.<span.class="li
f6040 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 70 75 62 3c 2f 73 70 ne"><span.class="tok-kw">pub</sp
f6060 61 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</
f6080 73 70 61 6e 3e 20 63 6f 64 65 5f 6d 6f 64 65 6c 20 3d 20 73 74 64 2e 62 75 69 6c 74 69 6e 2e 43 span>.code_model.=.std.builtin.C
f60a0 6f 64 65 4d 6f 64 65 6c 2e 64 65 66 61 75 6c 74 3b 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 3c odeModel.default;</span></code><
f60c0 2f 70 72 65 3e 3c 2f 66 69 67 75 72 65 3e 0a 20 20 20 20 20 20 3c 70 3e 53 65 65 20 61 6c 73 6f /pre></figure>.......<p>See.also
f60e0 3a 3c 2f 70 3e 3c 75 6c 3e 0a 3c 6c 69 3e 3c 61 20 68 72 65 66 3d 22 23 42 75 69 6c 64 2d 4d 6f :</p><ul>.<li><a.href="#Build-Mo
f6100 64 65 22 3e 42 75 69 6c 64 20 4d 6f 64 65 3c 2f 61 3e 3c 2f 6c 69 3e 0a 3c 2f 75 6c 3e 0a 0a 20 de">Build.Mode</a></li>.</ul>...
f6120 20 20 20 20 20 0a 20 20 20 20 20 20 3c 68 32 20 69 64 3d 22 52 6f 6f 74 2d 53 6f 75 72 63 65 2d ............<h2.id="Root-Source-
f6140 46 69 6c 65 22 3e 3c 61 20 68 72 65 66 3d 22 23 74 6f 63 2d 52 6f 6f 74 2d 53 6f 75 72 63 65 2d File"><a.href="#toc-Root-Source-
f6160 46 69 6c 65 22 3e 52 6f 6f 74 20 53 6f 75 72 63 65 20 46 69 6c 65 3c 2f 61 3e 20 3c 61 20 63 6c File">Root.Source.File</a>.<a.cl
f6180 61 73 73 3d 22 68 64 72 22 20 68 72 65 66 3d 22 23 52 6f 6f 74 2d 53 6f 75 72 63 65 2d 46 69 6c ass="hdr".href="#Root-Source-Fil
f61a0 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 54 4f 44 4f 3a 20 65 e">..</a></h2>........<p>TODO:.e
f61c0 78 70 6c 61 69 6e 20 68 6f 77 20 72 6f 6f 74 20 73 6f 75 72 63 65 20 66 69 6c 65 20 66 69 6e 64 xplain.how.root.source.file.find
f61e0 73 20 6f 74 68 65 72 20 66 69 6c 65 73 3c 2f 70 3e 0a 20 20 20 20 20 20 3c 70 3e 54 4f 44 4f 3a s.other.files</p>.......<p>TODO:
f6200 20 70 75 62 20 66 6e 20 6d 61 69 6e 3c 2f 70 3e 0a 20 20 20 20 20 20 3c 70 3e 54 4f 44 4f 3a 20 .pub.fn.main</p>.......<p>TODO:.
f6220 70 75 62 20 66 6e 20 70 61 6e 69 63 3c 2f 70 3e 0a 20 20 20 20 20 20 3c 70 3e 54 4f 44 4f 3a 20 pub.fn.panic</p>.......<p>TODO:.
f6240 69 66 20 6c 69 6e 6b 69 6e 67 20 77 69 74 68 20 6c 69 62 63 20 79 6f 75 20 63 61 6e 20 75 73 65 if.linking.with.libc.you.can.use
f6260 20 65 78 70 6f 72 74 20 66 6e 20 6d 61 69 6e 3c 2f 70 3e 0a 20 20 20 20 20 20 3c 70 3e 54 4f 44 .export.fn.main</p>.......<p>TOD
f6280 4f 3a 20 6f 72 64 65 72 20 69 6e 64 65 70 65 6e 64 65 6e 74 20 74 6f 70 20 6c 65 76 65 6c 20 64 O:.order.independent.top.level.d
f62a0 65 63 6c 61 72 61 74 69 6f 6e 73 3c 2f 70 3e 0a 20 20 20 20 20 20 3c 70 3e 54 4f 44 4f 3a 20 6c eclarations</p>.......<p>TODO:.l
f62c0 61 7a 79 20 61 6e 61 6c 79 73 69 73 3c 2f 70 3e 0a 20 20 20 20 20 20 3c 70 3e 54 4f 44 4f 3a 20 azy.analysis</p>.......<p>TODO:.
f62e0 75 73 69 6e 67 20 63 6f 6d 70 74 69 6d 65 20 7b 20 5f 20 3d 20 40 69 6d 70 6f 72 74 28 29 20 7d using.comptime.{._.=.@import().}
f6300 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 5a 69 67 2d 42 75 </p>..............<h2.id="Zig-Bu
f6320 69 6c 64 2d 53 79 73 74 65 6d 22 3e 3c 61 20 68 72 65 66 3d 22 23 74 6f 63 2d 5a 69 67 2d 42 75 ild-System"><a.href="#toc-Zig-Bu
f6340 69 6c 64 2d 53 79 73 74 65 6d 22 3e 5a 69 67 20 42 75 69 6c 64 20 53 79 73 74 65 6d 3c 2f 61 3e ild-System">Zig.Build.System</a>
f6360 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 42 75 69 6c 64 .<a.class="hdr".href="#Zig-Build
f6380 2d 53 79 73 74 65 6d 22 3e c2 a7 3c 2f 61 3e 3c 2f 68 32 3e 0a 0a 20 20 20 20 20 20 3c 70 3e 0a -System">..</a></h2>........<p>.
f63a0 20 20 20 20 20 20 54 68 65 20 5a 69 67 20 42 75 69 6c 64 20 53 79 73 74 65 6d 20 70 72 6f 76 69 ......The.Zig.Build.System.provi
f63c0 64 65 73 20 61 20 63 72 6f 73 73 2d 70 6c 61 74 66 6f 72 6d 2c 20 64 65 70 65 6e 64 65 6e 63 79 des.a.cross-platform,.dependency
f63e0 2d 66 72 65 65 20 77 61 79 20 74 6f 20 64 65 63 6c 61 72 65 0a 20 20 20 20 20 20 74 68 65 20 6c -free.way.to.declare.......the.l
f6400 6f 67 69 63 20 72 65 71 75 69 72 65 64 20 74 6f 20 62 75 69 6c 64 20 61 20 70 72 6f 6a 65 63 74 ogic.required.to.build.a.project
f6420 2e 20 57 69 74 68 20 74 68 69 73 20 73 79 73 74 65 6d 2c 20 74 68 65 20 6c 6f 67 69 63 20 74 6f ..With.this.system,.the.logic.to
f6440 20 62 75 69 6c 64 0a 20 20 20 20 20 20 61 20 70 72 6f 6a 65 63 74 20 69 73 20 77 72 69 74 74 65 .build.......a.project.is.writte
f6460 6e 20 69 6e 20 61 20 62 75 69 6c 64 2e 7a 69 67 20 66 69 6c 65 2c 20 75 73 69 6e 67 20 74 68 65 n.in.a.build.zig.file,.using.the
f6480 20 5a 69 67 20 42 75 69 6c 64 20 53 79 73 74 65 6d 20 41 50 49 20 74 6f 0a 20 20 20 20 20 20 64 .Zig.Build.System.API.to.......d
f64a0 65 63 6c 61 72 65 20 61 6e 64 20 63 6f 6e 66 69 67 75 72 65 20 62 75 69 6c 64 20 61 72 74 69 66 eclare.and.configure.build.artif
f64c0 61 63 74 73 20 61 6e 64 20 6f 74 68 65 72 20 74 61 73 6b 73 2e 0a 20 20 20 20 20 20 3c 2f 70 3e acts.and.other.tasks........</p>
f64e0 0a 20 20 20 20 20 20 3c 70 3e 0a 20 20 20 20 20 20 53 6f 6d 65 20 65 78 61 6d 70 6c 65 73 20 6f .......<p>.......Some.examples.o
f6500 66 20 74 61 73 6b 73 20 74 68 65 20 62 75 69 6c 64 20 73 79 73 74 65 6d 20 63 61 6e 20 68 65 6c f.tasks.the.build.system.can.hel
f6520 70 20 77 69 74 68 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 p.with:.......</p>.......<ul>...
f6540 20 20 20 20 20 20 3c 6c 69 3e 43 72 65 61 74 69 6e 67 20 62 75 69 6c 64 20 61 72 74 69 66 61 63 ......<li>Creating.build.artifac
f6560 74 73 20 62 79 20 65 78 65 63 75 74 69 6e 67 20 74 68 65 20 5a 69 67 20 63 6f 6d 70 69 6c 65 72 ts.by.executing.the.Zig.compiler
f6580 2e 20 54 68 69 73 20 69 6e 63 6c 75 64 65 73 0a 20 20 20 20 20 20 20 20 20 20 62 75 69 6c 64 69 ..This.includes...........buildi
f65a0 6e 67 20 5a 69 67 20 73 6f 75 72 63 65 20 63 6f 64 65 20 61 73 20 77 65 6c 6c 20 61 73 20 43 20 ng.Zig.source.code.as.well.as.C.
f65c0 61 6e 64 20 43 2b 2b 20 73 6f 75 72 63 65 20 63 6f 64 65 2e 3c 2f 6c 69 3e 0a 20 20 20 20 20 20 and.C++.source.code.</li>.......
f65e0 20 20 3c 6c 69 3e 43 61 70 74 75 72 69 6e 67 20 75 73 65 72 2d 63 6f 6e 66 69 67 75 72 65 64 20 ..<li>Capturing.user-configured.
f6600 6f 70 74 69 6f 6e 73 20 61 6e 64 20 75 73 69 6e 67 20 74 68 6f 73 65 20 6f 70 74 69 6f 6e 73 20 options.and.using.those.options.
f6620 74 6f 20 63 6f 6e 66 69 67 75 72 65 0a 20 20 20 20 20 20 20 20 20 20 74 68 65 20 62 75 69 6c 64 to.configure...........the.build
f6640 2e 3c 2f 6c 69 3e 0a 20 20 20 20 20 20 20 20 3c 6c 69 3e 53 75 72 66 61 63 69 6e 67 20 62 75 69 .</li>.........<li>Surfacing.bui
f6660 6c 64 20 63 6f 6e 66 69 67 75 72 61 74 69 6f 6e 20 61 73 20 3c 61 20 68 72 65 66 3d 22 23 63 6f ld.configuration.as.<a.href="#co
f6680 6d 70 74 69 6d 65 22 3e 63 6f 6d 70 74 69 6d 65 3c 2f 61 3e 20 76 61 6c 75 65 73 20 62 79 20 70 mptime">comptime</a>.values.by.p
f66a0 72 6f 76 69 64 69 6e 67 20 61 0a 20 20 20 20 20 20 20 20 20 20 66 69 6c 65 20 74 68 61 74 20 63 roviding.a...........file.that.c
f66c0 61 6e 20 62 65 20 3c 61 20 68 72 65 66 3d 22 23 69 6d 70 6f 72 74 22 3e 69 6d 70 6f 72 74 65 64 an.be.<a.href="#import">imported
f66e0 3c 2f 61 3e 20 62 79 20 5a 69 67 20 63 6f 64 65 2e 3c 2f 6c 69 3e 0a 20 20 20 20 20 20 20 20 3c </a>.by.Zig.code.</li>.........<
f6700 6c 69 3e 43 61 63 68 69 6e 67 20 62 75 69 6c 64 20 61 72 74 69 66 61 63 74 73 20 74 6f 20 61 76 li>Caching.build.artifacts.to.av
f6720 6f 69 64 20 75 6e 6e 65 63 65 73 73 61 72 69 6c 79 20 72 65 70 65 61 74 69 6e 67 20 73 74 65 70 oid.unnecessarily.repeating.step
f6740 73 2e 3c 2f 6c 69 3e 0a 20 20 20 20 20 20 20 20 3c 6c 69 3e 45 78 65 63 75 74 69 6e 67 20 62 75 s.</li>.........<li>Executing.bu
f6760 69 6c 64 20 61 72 74 69 66 61 63 74 73 20 6f 72 20 73 79 73 74 65 6d 2d 69 6e 73 74 61 6c 6c 65 ild.artifacts.or.system-installe
f6780 64 20 74 6f 6f 6c 73 2e 3c 2f 6c 69 3e 0a 20 20 20 20 20 20 20 20 3c 6c 69 3e 52 75 6e 6e 69 6e d.tools.</li>.........<li>Runnin
f67a0 67 20 74 65 73 74 73 20 61 6e 64 20 76 65 72 69 66 79 69 6e 67 20 74 68 65 20 6f 75 74 70 75 74 g.tests.and.verifying.the.output
f67c0 20 6f 66 20 65 78 65 63 75 74 69 6e 67 20 61 20 62 75 69 6c 64 20 61 72 74 69 66 61 63 74 20 6d .of.executing.a.build.artifact.m
f67e0 61 74 63 68 65 73 0a 20 20 20 20 20 20 20 20 74 68 65 20 65 78 70 65 63 74 65 64 20 76 61 6c 75 atches.........the.expected.valu
f6800 65 2e 3c 2f 6c 69 3e 0a 20 20 20 20 20 20 20 20 3c 6c 69 3e 52 75 6e 6e 69 6e 67 20 3c 63 6f 64 e.</li>.........<li>Running.<cod
f6820 65 3e 7a 69 67 20 66 6d 74 3c 2f 63 6f 64 65 3e 20 6f 6e 20 61 20 63 6f 64 65 62 61 73 65 20 6f e>zig.fmt</code>.on.a.codebase.o
f6840 72 20 61 20 73 75 62 73 65 74 20 6f 66 20 69 74 2e 3c 2f 6c 69 3e 0a 20 20 20 20 20 20 20 20 3c r.a.subset.of.it.</li>.........<
f6860 6c 69 3e 43 75 73 74 6f 6d 20 74 61 73 6b 73 2e 3c 2f 6c 69 3e 0a 20 20 20 20 20 20 3c 2f 75 6c li>Custom.tasks.</li>.......</ul
f6880 3e 0a 20 20 20 20 20 20 3c 70 3e 0a 20 20 20 20 20 20 54 6f 20 75 73 65 20 74 68 65 20 62 75 69 >.......<p>.......To.use.the.bui
f68a0 6c 64 20 73 79 73 74 65 6d 2c 20 72 75 6e 20 3c 6b 62 64 3e 7a 69 67 20 62 75 69 6c 64 20 2d 2d ld.system,.run.<kbd>zig.build.--
f68c0 68 65 6c 70 3c 2f 6b 62 64 3e 0a 20 20 20 20 20 20 74 6f 20 73 65 65 20 61 20 63 6f 6d 6d 61 6e help</kbd>.......to.see.a.comman
f68e0 64 2d 6c 69 6e 65 20 75 73 61 67 65 20 68 65 6c 70 20 6d 65 6e 75 2e 20 54 68 69 73 20 77 69 6c d-line.usage.help.menu..This.wil
f6900 6c 20 69 6e 63 6c 75 64 65 20 70 72 6f 6a 65 63 74 2d 73 70 65 63 69 66 69 63 0a 20 20 20 20 20 l.include.project-specific......
f6920 20 6f 70 74 69 6f 6e 73 20 74 68 61 74 20 77 65 72 65 20 64 65 63 6c 61 72 65 64 20 69 6e 20 74 .options.that.were.declared.in.t
f6940 68 65 20 62 75 69 6c 64 2e 7a 69 67 20 73 63 72 69 70 74 2e 0a 20 20 20 20 20 20 3c 2f 70 3e 0a he.build.zig.script........</p>.
f6960 0a 20 20 20 20 20 20 3c 68 33 20 69 64 3d 22 42 75 69 6c 64 69 6e 67 2d 61 6e 2d 45 78 65 63 75 .......<h3.id="Building-an-Execu
f6980 74 61 62 6c 65 22 3e 3c 61 20 68 72 65 66 3d 22 23 74 6f 63 2d 42 75 69 6c 64 69 6e 67 2d 61 6e table"><a.href="#toc-Building-an
f69a0 2d 45 78 65 63 75 74 61 62 6c 65 22 3e 42 75 69 6c 64 69 6e 67 20 61 6e 20 45 78 65 63 75 74 61 -Executable">Building.an.Executa
f69c0 62 6c 65 3c 2f 61 3e 20 3c 61 20 63 6c 61 73 73 3d 22 68 64 72 22 20 68 72 65 66 3d 22 23 42 75 ble</a>.<a.class="hdr".href="#Bu
f69e0 69 6c 64 69 6e 67 2d 61 6e 2d 45 78 65 63 75 74 61 62 6c 65 22 3e c2 a7 3c 2f 61 3e 3c 2f 68 33 ilding-an-Executable">..</a></h3
f6a00 3e 0a 0a 20 20 20 20 20 20 3c 70 3e 54 68 69 73 20 3c 63 6f 64 65 20 63 6c 61 73 73 3d 22 66 69 >........<p>This.<code.class="fi
f6a20 6c 65 22 3e 62 75 69 6c 64 2e 7a 69 67 3c 2f 63 6f 64 65 3e 20 66 69 6c 65 20 69 73 20 61 75 74 le">build.zig</code>.file.is.aut
f6a40 6f 6d 61 74 69 63 61 6c 6c 79 20 67 65 6e 65 72 61 74 65 64 0a 20 20 20 20 20 20 20 20 62 79 20 omatically.generated.........by.
f6a60 3c 6b 62 64 3e 7a 69 67 20 69 6e 69 74 2d 65 78 65 3c 2f 6b 62 64 3e 2e 3c 2f 70 3e 0a 20 20 20 <kbd>zig.init-exe</kbd>.</p>....
f6a80 20 20 20 3c 66 69 67 75 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
f6aa0 67 2d 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 2e g-cap"><cite.class="file">build.
f6ac0 7a 69 67 3c 2f 63 69 74 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
f6ae0 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 e><span.class="line"><span.class
f6b00 3d 22 74 6f 6b 2d 6b 77 22 3e 63 6f 6e 73 74 3c 2f 73 70 61 6e 3e 20 42 75 69 6c 64 65 72 20 3d ="tok-kw">const</span>.Builder.=
f6b20 20 3c 73 70 61 6e 20 63 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
f6b40 72 74 3c 2f 73 70 61 6e 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">
f6b60 26 71 75 6f 74 3b 73 74 64 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 29 2e 62 75 69 6c 64 2e 42 75 &quot;std&quot;</span>).build.Bu
f6b80 69 6c 64 65 72 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 ilder;</span>.<span.class="line"
f6ba0 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 ></span>.<span.class="line"><spa
f6bc0 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
f6be0 6e 20 63 6c 61 73 73 3d 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
f6c00 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:.
f6c20 2a 42 75 69 6c 64 65 72 29 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 *Builder).<span.class="tok-type"
f6c40 3e 76 6f 69 64 3c 2f 73 70 61 6e 3e 20 7b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 >void</span>.{</span>.<span.clas
f6c60 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 63 6f s="line">....<span.class="tok-co
f6c80 6d 6d 65 6e 74 22 3e 2f 2f 20 53 74 61 6e 64 61 72 64 20 74 61 72 67 65 74 20 6f 70 74 69 6f 6e mment">//.Standard.target.option
f6ca0 73 20 61 6c 6c 6f 77 73 20 74 68 65 20 70 65 72 73 6f 6e 20 72 75 6e 6e 69 6e 67 20 60 7a 69 67 s.allows.the.person.running.`zig
f6cc0 20 62 75 69 6c 64 60 20 74 6f 20 63 68 6f 6f 73 65 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 0a .build`.to.choose</span></span>.
f6ce0 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 <span.class="line">....<span.cla
f6d00 73 73 3d 22 74 6f 6b 2d 63 6f 6d 6d 65 6e 74 22 3e 2f 2f 20 77 68 61 74 20 74 61 72 67 65 74 20 ss="tok-comment">//.what.target.
f6d20 74 6f 20 62 75 69 6c 64 20 66 6f 72 2e 20 48 65 72 65 20 77 65 20 64 6f 20 6e 6f 74 20 6f 76 65 to.build.for..Here.we.do.not.ove
f6d40 72 72 69 64 65 20 74 68 65 20 64 65 66 61 75 6c 74 73 2c 20 77 68 69 63 68 3c 2f 73 70 61 6e 3e rride.the.defaults,.which</span>
f6d60 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 3c </span>.<span.class="line">....<
f6d80 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 63 6f 6d 6d 65 6e 74 22 3e 2f 2f 20 6d 65 61 6e span.class="tok-comment">//.mean
f6da0 73 20 61 6e 79 20 74 61 72 67 65 74 20 69 73 20 61 6c 6c 6f 77 65 64 2c 20 61 6e 64 20 74 68 65 s.any.target.is.allowed,.and.the
f6dc0 20 64 65 66 61 75 6c 74 20 69 73 20 6e 61 74 69 76 65 2e 20 4f 74 68 65 72 20 6f 70 74 69 6f 6e .default.is.native..Other.option
f6de0 73 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e s</span></span>.<span.class="lin
f6e00 65 22 3e 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 63 6f 6d 6d 65 6e 74 22 e">....<span.class="tok-comment"
f6e20 3e 2f 2f 20 66 6f 72 20 72 65 73 74 72 69 63 74 69 6e 67 20 73 75 70 70 6f 72 74 65 64 20 74 61 >//.for.restricting.supported.ta
f6e40 72 67 65 74 20 73 65 74 20 61 72 65 20 61 76 61 69 6c 61 62 6c 65 2e 3c 2f 73 70 61 6e 3e 3c 2f rget.set.are.available.</span></
f6e60 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 3c 73 70 span>.<span.class="line">....<sp
f6e80 61 6e 20 63 6c 61 73 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
f6ea0 61 72 67 65 74 20 3d 20 62 2e 73 74 61 6e 64 61 72 64 54 61 72 67 65 74 4f 70 74 69 6f 6e 73 28 arget.=.b.standardTargetOptions(
f6ec0 2e 7b 7d 29 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e .{});</span>.<span.class="line">
f6ee0 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 3c </span>.<span.class="line">....<
f6f00 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 63 6f 6d 6d 65 6e 74 22 3e 2f 2f 20 53 74 61 6e span.class="tok-comment">//.Stan
f6f20 64 61 72 64 20 72 65 6c 65 61 73 65 20 6f 70 74 69 6f 6e 73 20 61 6c 6c 6f 77 20 74 68 65 20 70 dard.release.options.allow.the.p
f6f40 65 72 73 6f 6e 20 72 75 6e 6e 69 6e 67 20 60 7a 69 67 20 62 75 69 6c 64 60 20 74 6f 20 73 65 6c erson.running.`zig.build`.to.sel
f6f60 65 63 74 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c ect</span></span>.<span.class="l
f6f80 69 6e 65 22 3e 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 63 6f 6d 6d 65 6e ine">....<span.class="tok-commen
f6fa0 74 22 3e 2f 2f 20 62 65 74 77 65 65 6e 20 44 65 62 75 67 2c 20 52 65 6c 65 61 73 65 53 61 66 65 t">//.between.Debug,.ReleaseSafe
f6fc0 2c 20 52 65 6c 65 61 73 65 46 61 73 74 2c 20 61 6e 64 20 52 65 6c 65 61 73 65 53 6d 61 6c 6c 2e ,.ReleaseFast,.and.ReleaseSmall.
f6fe0 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 </span></span>.<span.class="line
f7000 22 3e 20 20 20 20 3c 73 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
f7020 3c 2f 73 70 61 6e 3e 20 6d 6f 64 65 20 3d 20 62 2e 73 74 61 6e 64 61 72 64 52 65 6c 65 61 73 65 </span>.mode.=.b.standardRelease
f7040 4f 70 74 69 6f 6e 73 28 29 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c Options();</span>.<span.class="l
f7060 69 6e 65 22 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e ine"></span>.<span.class="line">
f7080 20 20 20 20 3c 73 70 61 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</
f70a0 73 70 61 6e 3e 20 65 78 65 20 3d 20 62 2e 61 64 64 45 78 65 63 75 74 61 62 6c 65 28 3c 73 70 61 span>.exe.=.b.addExecutable(<spa
f70c0 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 73 74 72 22 3e 26 71 75 6f 74 3b 65 78 61 6d 70 6c 65 26 n.class="tok-str">&quot;example&
f70e0 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 2c 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 73 quot;</span>,.<span.class="tok-s
f7100 74 72 22 3e 26 71 75 6f 74 3b 73 72 63 2f 6d 61 69 6e 2e 7a 69 67 26 71 75 6f 74 3b 3c 2f 73 70 tr">&quot;src/main.zig&quot;</sp
f7120 61 6e 3e 29 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e an>);</span>.<span.class="line">
f7140 20 20 20 20 65 78 65 2e 73 65 74 54 61 72 67 65 74 28 74 61 72 67 65 74 29 3b 3c 2f 73 70 61 6e ....exe.setTarget(target);</span
f7160 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 65 78 65 2e 73 65 74 >.<span.class="line">....exe.set
f7180 42 75 69 6c 64 4d 6f 64 65 28 6d 6f 64 65 29 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c BuildMode(mode);</span>.<span.cl
f71a0 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 65 78 65 2e 69 6e 73 74 61 6c 6c 28 29 3b 3c 2f 73 ass="line">....exe.install();</s
f71c0 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 2f 73 70 61 6e 3e 0a pan>.<span.class="line"></span>.
f71e0 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 <span.class="line">....<span.cla
f7200 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 63 6f 6e 73 74 3c 2f 73 70 61 6e 3e 20 72 75 6e 5f 63 6d 64 ss="tok-kw">const</span>.run_cmd
f7220 20 3d 20 65 78 65 2e 72 75 6e 28 29 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 .=.exe.run();</span>.<span.class
f7240 3d 22 6c 69 6e 65 22 3e 20 20 20 20 72 75 6e 5f 63 6d 64 2e 73 74 65 70 2e 64 65 70 65 6e 64 4f ="line">....run_cmd.step.dependO
f7260 6e 28 62 2e 67 65 74 49 6e 73 74 61 6c 6c 53 74 65 70 28 29 29 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 n(b.getInstallStep());</span>.<s
f7280 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 pan.class="line">....<span.class
f72a0 3d 22 74 6f 6b 2d 6b 77 22 3e 69 66 3c 2f 73 70 61 6e 3e 20 28 62 2e 61 72 67 73 29 20 7c 61 72 ="tok-kw">if</span>.(b.args).|ar
f72c0 67 73 7c 20 7b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e gs|.{</span>.<span.class="line">
f72e0 20 20 20 20 20 20 20 20 72 75 6e 5f 63 6d 64 2e 61 64 64 41 72 67 73 28 61 72 67 73 29 3b 3c 2f ........run_cmd.addArgs(args);</
f7300 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 7d 3c 2f span>.<span.class="line">....}</
f7320 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 2f 73 70 61 6e 3e span>.<span.class="line"></span>
f7340 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 3c 73 70 61 6e 20 63 6c .<span.class="line">....<span.cl
f7360 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 63 6f 6e 73 74 3c 2f 73 70 61 6e 3e 20 72 75 6e 5f 73 74 ass="tok-kw">const</span>.run_st
f7380 65 70 20 3d 20 62 2e 73 74 65 70 28 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 73 74 72 ep.=.b.step(<span.class="tok-str
f73a0 22 3e 26 71 75 6f 74 3b 72 75 6e 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 2c 20 3c 73 70 61 6e 20 ">&quot;run&quot;</span>,.<span.
f73c0 63 6c 61 73 73 3d 22 74 6f 6b 2d 73 74 72 22 3e 26 71 75 6f 74 3b 52 75 6e 20 74 68 65 20 61 70 class="tok-str">&quot;Run.the.ap
f73e0 70 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 29 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c p&quot;</span>);</span>.<span.cl
f7400 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 72 75 6e 5f 73 74 65 70 2e 64 65 70 65 6e 64 4f 6e ass="line">....run_step.dependOn
f7420 28 26 61 6d 70 3b 72 75 6e 5f 63 6d 64 2e 73 74 65 70 29 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 (&amp;run_cmd.step);</span>.<spa
f7440 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 7d 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 3c 2f n.class="line">}</span></code></
f7460 70 72 65 3e 3c 2f 66 69 67 75 72 65 3e 0a 20 20 20 20 20 20 0a 0a 20 20 20 20 20 20 3c 68 33 20 pre></figure>...............<h3.
f7480 69 64 3d 22 42 75 69 6c 64 69 6e 67 2d 61 2d 4c 69 62 72 61 72 79 22 3e 3c 61 20 68 72 65 66 3d id="Building-a-Library"><a.href=
f74a0 22 23 74 6f 63 2d 42 75 69 6c 64 69 6e 67 2d 61 2d 4c 69 62 72 61 72 79 22 3e 42 75 69 6c 64 69 "#toc-Building-a-Library">Buildi
f74c0 6e 67 20 61 20 4c 69 62 72 61 72 79 3c 2f 61 3e 20 3c 61 20 63 6c 61 73 73 3d 22 68 64 72 22 20 ng.a.Library</a>.<a.class="hdr".
f74e0 68 72 65 66 3d 22 23 42 75 69 6c 64 69 6e 67 2d 61 2d 4c 69 62 72 61 72 79 22 3e c2 a7 3c 2f 61 href="#Building-a-Library">..</a
f7500 3e 3c 2f 68 33 3e 0a 0a 20 20 20 20 20 20 3c 70 3e 54 68 69 73 20 3c 63 6f 64 65 20 63 6c 61 73 ></h3>........<p>This.<code.clas
f7520 73 3d 22 66 69 6c 65 22 3e 62 75 69 6c 64 2e 7a 69 67 3c 2f 63 6f 64 65 3e 20 66 69 6c 65 20 69 s="file">build.zig</code>.file.i
f7540 73 20 61 75 74 6f 6d 61 74 69 63 61 6c 6c 79 20 67 65 6e 65 72 61 74 65 64 0a 20 20 20 20 20 20 s.automatically.generated.......
f7560 20 20 62 79 20 3c 6b 62 64 3e 7a 69 67 20 69 6e 69 74 2d 6c 69 62 3c 2f 6b 62 64 3e 2e 3c 2f 70 ..by.<kbd>zig.init-lib</kbd>.</p
f7580 3e 0a 20 20 20 20 20 20 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
f75a0 73 3d 22 7a 69 67 2d 63 61 70 22 3e 3c 63 69 74 65 20 63 6c 61 73 73 3d 22 66 69 6c 65 22 3e 62 s="zig-cap"><cite.class="file">b
f75c0 75 69 6c 64 2e 7a 69 67 3c 2f 63 69 74 65 3e 3c 2f 66 69 67 63 61 70 74 69 6f 6e 3e 3c 70 72 65 uild.zig</cite></figcaption><pre
f75e0 3e 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 ><code><span.class="line"><span.
f7600 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 63 6f 6e 73 74 3c 2f 73 70 61 6e 3e 20 42 75 69 6c class="tok-kw">const</span>.Buil
f7620 64 65 72 20 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 62 75 69 6c 74 69 6e 22 3e der.=.<span.class="tok-builtin">
f7640 40 69 6d 70 6f 72 74 3c 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-
f7660 73 74 72 22 3e 26 71 75 6f 74 3b 73 74 64 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 29 2e 62 75 69 str">&quot;std&quot;</span>).bui
f7680 6c 64 2e 42 75 69 6c 64 65 72 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 ld.Builder;</span>.<span.class="
f76a0 6c 69 6e 65 22 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 line"></span>.<span.class="line"
f76c0 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 70 75 62 3c 2f 73 70 61 6e 3e ><span.class="tok-kw">pub</span>
f76e0 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>.
f7700 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 66 6e 22 3e 62 75 69 6c 64 3c 2f 73 70 61 6e <span.class="tok-fn">build</span
f7720 3e 28 62 3a 20 2a 42 75 69 6c 64 65 72 29 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d >(b:.*Builder).<span.class="tok-
f7740 74 79 70 65 22 3e 76 6f 69 64 3c 2f 73 70 61 6e 3e 20 7b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e type">void</span>.{</span>.<span
f7760 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 .class="line">....<span.class="t
f7780 6f 6b 2d 6b 77 22 3e 63 6f 6e 73 74 3c 2f 73 70 61 6e 3e 20 6d 6f 64 65 20 3d 20 62 2e 73 74 61 ok-kw">const</span>.mode.=.b.sta
f77a0 6e 64 61 72 64 52 65 6c 65 61 73 65 4f 70 74 69 6f 6e 73 28 29 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 ndardReleaseOptions();</span>.<s
f77c0 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 pan.class="line">....<span.class
f77e0 3d 22 74 6f 6b 2d 6b 77 22 3e 63 6f 6e 73 74 3c 2f 73 70 61 6e 3e 20 6c 69 62 20 3d 20 62 2e 61 ="tok-kw">const</span>.lib.=.b.a
f7800 64 64 53 74 61 74 69 63 4c 69 62 72 61 72 79 28 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b ddStaticLibrary(<span.class="tok
f7820 2d 73 74 72 22 3e 26 71 75 6f 74 3b 65 78 61 6d 70 6c 65 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e -str">&quot;example&quot;</span>
f7840 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 73 72 ,.<span.class="tok-str">&quot;sr
f7860 63 2f 6d 61 69 6e 2e 7a 69 67 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 29 3b 3c 2f 73 70 61 6e 3e c/main.zig&quot;</span>);</span>
f7880 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 6c 69 62 2e 73 65 74 42 .<span.class="line">....lib.setB
f78a0 75 69 6c 64 4d 6f 64 65 28 6d 6f 64 65 29 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 uildMode(mode);</span>.<span.cla
f78c0 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 6c 69 62 2e 69 6e 73 74 61 6c 6c 28 29 3b 3c 2f 73 70 ss="line">....lib.install();</sp
f78e0 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 2f 73 70 61 6e 3e 0a 3c an>.<span.class="line"></span>.<
f7900 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 span.class="line">....<span.clas
f7920 73 3d 22 74 6f 6b 2d 6b 77 22 3e 76 61 72 3c 2f 73 70 61 6e 3e 20 6d 61 69 6e 5f 74 65 73 74 73 s="tok-kw">var</span>.main_tests
f7940 20 3d 20 62 2e 61 64 64 54 65 73 74 28 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 73 74 .=.b.addTest(<span.class="tok-st
f7960 72 22 3e 26 71 75 6f 74 3b 73 72 63 2f 6d 61 69 6e 2e 7a 69 67 26 71 75 6f 74 3b 3c 2f 73 70 61 r">&quot;src/main.zig&quot;</spa
f7980 6e 3e 29 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 n>);</span>.<span.class="line">.
f79a0 20 20 20 6d 61 69 6e 5f 74 65 73 74 73 2e 73 65 74 42 75 69 6c 64 4d 6f 64 65 28 6d 6f 64 65 29 ...main_tests.setBuildMode(mode)
f79c0 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 2f 73 70 ;</span>.<span.class="line"></sp
f79e0 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 3c 73 70 61 6e an>.<span.class="line">....<span
f7a00 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 63 6f 6e 73 74 3c 2f 73 70 61 6e 3e 20 74 65 73 .class="tok-kw">const</span>.tes
f7a20 74 5f 73 74 65 70 20 3d 20 62 2e 73 74 65 70 28 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b t_step.=.b.step(<span.class="tok
f7a40 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 70 61 6e 3e 2c 20 3c -str">&quot;test&quot;</span>,.<
f7a60 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 73 74 72 22 3e 26 71 75 6f 74 3b 52 75 6e 20 6c span.class="tok-str">&quot;Run.l
f7a80 69 62 72 61 72 79 20 74 65 73 74 73 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 29 3b 3c 2f 73 70 61 ibrary.tests&quot;</span>);</spa
f7aa0 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 74 65 73 74 5f 73 n>.<span.class="line">....test_s
f7ac0 74 65 70 2e 64 65 70 65 6e 64 4f 6e 28 26 61 6d 70 3b 6d 61 69 6e 5f 74 65 73 74 73 2e 73 74 65 tep.dependOn(&amp;main_tests.ste
f7ae0 70 29 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 7d 3c p);</span>.<span.class="line">}<
f7b00 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 3c 2f 70 72 65 3e 3c 2f 66 69 67 75 72 65 3e 0a 20 20 20 /span></code></pre></figure>....
f7b20 20 20 20 0a 0a 20 20 20 20 20 20 3c 68 33 20 69 64 3d 22 43 6f 6d 70 69 6c 69 6e 67 2d 43 2d 53 ...........<h3.id="Compiling-C-S
f7b40 6f 75 72 63 65 2d 43 6f 64 65 22 3e 3c 61 20 68 72 65 66 3d 22 23 74 6f 63 2d 43 6f 6d 70 69 6c ource-Code"><a.href="#toc-Compil
f7b60 69 6e 67 2d 43 2d 53 6f 75 72 63 65 2d 43 6f 64 65 22 3e 43 6f 6d 70 69 6c 69 6e 67 20 43 20 53 ing-C-Source-Code">Compiling.C.S
f7b80 6f 75 72 63 65 20 43 6f 64 65 3c 2f 61 3e 20 3c 61 20 63 6c 61 73 73 3d 22 68 64 72 22 20 68 72 ource.Code</a>.<a.class="hdr".hr
f7ba0 65 66 3d 22 23 43 6f 6d 70 69 6c 69 6e 67 2d 43 2d 53 6f 75 72 63 65 2d 43 6f 64 65 22 3e c2 a7 ef="#Compiling-C-Source-Code">..
f7bc0 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
f7be0 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 6c 69 62 2e 61 64 64 43 53 6f 75 72 63 65 46 69 6c n.class="line">lib.addCSourceFil
f7c00 65 28 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 73 74 72 22 3e 26 71 75 6f 74 3b 73 72 e(<span.class="tok-str">&quot;sr
f7c20 63 2f 6c 69 62 2e 63 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 2c 20 26 61 6d 70 3b 5b 5f 5d 5b 5d c/lib.c&quot;</span>,.&amp;[_][]
f7c40 3c 73 70 61 6e 20 63 6c 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
f7c60 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
f7c80 6e 3e 7b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 n>{</span>.<span.class="line">..
f7ca0 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 73 74 72 22 3e 26 71 75 6f 74 3b 2d 57 ..<span.class="tok-str">&quot;-W
f7cc0 61 6c 6c 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 2c 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 all&quot;</span>,</span>.<span.c
f7ce0 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b lass="line">....<span.class="tok
f7d00 2d 73 74 72 22 3e 26 71 75 6f 74 3b 2d 57 65 78 74 72 61 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e -str">&quot;-Wextra&quot;</span>
f7d20 2c 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 ,</span>.<span.class="line">....
f7d40 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 73 74 72 22 3e 26 71 75 6f 74 3b 2d 57 65 72 <span.class="tok-str">&quot;-Wer
f7d60 72 6f 72 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 2c 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 ror&quot;</span>,</span>.<span.c
f7d80 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 7d 29 3b 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 3c 2f 70 lass="line">});</span></code></p
f7da0 72 65 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 re>......................<h2.id=
f7dc0 22 43 22 3e 3c 61 20 68 72 65 66 3d 22 23 74 6f 63 2d 43 22 3e 43 3c 2f 61 3e 20 3c 61 20 63 6c "C"><a.href="#toc-C">C</a>.<a.cl
f7de0 61 73 73 3d 22 68 64 72 22 20 68 72 65 66 3d 22 23 43 22 3e c2 a7 3c 2f 61 3e 3c 2f 68 32 3e 0a ass="hdr".href="#C">..</a></h2>.
f7e00 0a 20 20 20 20 20 20 3c 70 3e 0a 20 20 20 20 20 20 41 6c 74 68 6f 75 67 68 20 5a 69 67 20 69 73 .......<p>.......Although.Zig.is
f7e20 20 69 6e 64 65 70 65 6e 64 65 6e 74 20 6f 66 20 43 2c 20 61 6e 64 2c 20 75 6e 6c 69 6b 65 20 6d .independent.of.C,.and,.unlike.m
f7e40 6f 73 74 20 6f 74 68 65 72 20 6c 61 6e 67 75 61 67 65 73 2c 20 64 6f 65 73 20 6e 6f 74 20 64 65 ost.other.languages,.does.not.de
f7e60 70 65 6e 64 20 6f 6e 20 6c 69 62 63 2c 0a 20 20 20 20 20 20 5a 69 67 20 61 63 6b 6e 6f 77 6c 65 pend.on.libc,.......Zig.acknowle
f7e80 64 67 65 73 20 74 68 65 20 69 6d 70 6f 72 74 61 6e 63 65 20 6f 66 20 69 6e 74 65 72 61 63 74 69 dges.the.importance.of.interacti
f7ea0 6e 67 20 77 69 74 68 20 65 78 69 73 74 69 6e 67 20 43 20 63 6f 64 65 2e 0a 20 20 20 20 20 20 3c ng.with.existing.C.code........<
f7ec0 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 61 20 /p>.......<p>.......There.are.a.
f7ee0 66 65 77 20 77 61 79 73 20 74 68 61 74 20 5a 69 67 20 66 61 63 69 6c 69 74 61 74 65 73 20 43 20 few.ways.that.Zig.facilitates.C.
f7f00 69 6e 74 65 72 6f 70 2e 0a 20 20 20 20 20 20 3c 2f 70 3e 0a 20 20 20 20 20 20 3c 68 33 20 69 64 interop........</p>.......<h3.id
f7f20 3d 22 43 2d 54 79 70 65 2d 50 72 69 6d 69 74 69 76 65 73 22 3e 3c 61 20 68 72 65 66 3d 22 23 74 ="C-Type-Primitives"><a.href="#t
f7f40 6f 63 2d 43 2d 54 79 70 65 2d 50 72 69 6d 69 74 69 76 65 73 22 3e 43 20 54 79 70 65 20 50 72 69 oc-C-Type-Primitives">C.Type.Pri
f7f60 6d 69 74 69 76 65 73 3c 2f 61 3e 20 3c 61 20 63 6c 61 73 73 3d 22 68 64 72 22 20 68 72 65 66 3d mitives</a>.<a.class="hdr".href=
f7f80 22 23 43 2d 54 79 70 65 2d 50 72 69 6d 69 74 69 76 65 73 22 3e c2 a7 3c 2f 61 3e 3c 2f 68 33 3e "#C-Type-Primitives">..</a></h3>
f7fa0 0a 0a 20 20 20 20 20 20 3c 70 3e 0a 20 20 20 20 20 20 54 68 65 73 65 20 68 61 76 65 20 67 75 61 ........<p>.......These.have.gua
f7fc0 72 61 6e 74 65 65 64 20 43 20 41 42 49 20 63 6f 6d 70 61 74 69 62 69 6c 69 74 79 20 61 6e 64 20 ranteed.C.ABI.compatibility.and.
f7fe0 63 61 6e 20 62 65 20 75 73 65 64 20 6c 69 6b 65 20 61 6e 79 20 6f 74 68 65 72 20 74 79 70 65 2e can.be.used.like.any.other.type.
f8000 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>..........
f8020 20 3c 6c 69 3e 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 .<li><code><span.class="line"><s
f8040 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 63 5f 73 68 6f 72 74 3c 2f 73 70 pan.class="tok-type">c_short</sp
f8060 61 6e 3e 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 3c 2f 6c 69 3e 0a 20 20 20 20 20 20 20 20 20 an></span></code></li>..........
f8080 20 3c 6c 69 3e 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 .<li><code><span.class="line"><s
f80a0 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 63 5f 75 73 68 6f 72 74 3c 2f 73 pan.class="tok-type">c_ushort</s
f80c0 70 61 6e 3e 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 3c 2f 6c 69 3e 0a 20 20 20 20 20 20 20 20 pan></span></code></li>.........
f80e0 20 20 3c 6c 69 3e 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c ..<li><code><span.class="line"><
f8100 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
f8120 6e 3e 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 3c 2f 6c 69 3e 0a 20 20 20 20 20 20 20 20 20 20 n></span></code></li>...........
f8140 3c 6c 69 3e 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 <li><code><span.class="line"><sp
f8160 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 63 5f 75 69 6e 74 3c 2f 73 70 61 6e an.class="tok-type">c_uint</span
f8180 3e 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 3c 2f 6c 69 3e 0a 20 20 20 20 20 20 20 20 20 20 3c ></span></code></li>...........<
f81a0 6c 69 3e 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 li><code><span.class="line"><spa
f81c0 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 63 5f 6c 6f 6e 67 3c 2f 73 70 61 6e 3e n.class="tok-type">c_long</span>
f81e0 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 3c 2f 6c 69 3e 0a 20 20 20 20 20 20 20 20 20 20 3c 6c </span></code></li>...........<l
f8200 69 3e 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e i><code><span.class="line"><span
f8220 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 63 5f 75 6c 6f 6e 67 3c 2f 73 70 61 6e 3e .class="tok-type">c_ulong</span>
f8240 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 3c 2f 6c 69 3e 0a 20 20 20 20 20 20 20 20 20 20 3c 6c </span></code></li>...........<l
f8260 69 3e 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e i><code><span.class="line"><span
f8280 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 67 3c 2f 73 70 .class="tok-type">c_longlong</sp
f82a0 61 6e 3e 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 3c 2f 6c 69 3e 0a 20 20 20 20 20 20 20 20 20 an></span></code></li>..........
f82c0 20 3c 6c 69 3e 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 .<li><code><span.class="line"><s
f82e0 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 63 5f 75 6c 6f 6e 67 6c 6f 6e 67 pan.class="tok-type">c_ulonglong
f8300 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 3c 2f 6c 69 3e 0a 20 20 20 20 20 </span></span></code></li>......
f8320 20 20 20 20 20 3c 6c 69 3e 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 .....<li><code><span.class="line
f8340 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 63 5f 6c 6f 6e 67 64 "><span.class="tok-type">c_longd
f8360 6f 75 62 6c 65 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 3c 2f 6c 69 3e 0a ouble</span></span></code></li>.
f8380 20 20 20 20 20 20 3c 2f 75 6c 3e 0a 20 20 20 20 20 20 3c 70 3e 0a 20 20 20 20 20 20 54 6f 20 69 ......</ul>.......<p>.......To.i
f83a0 6e 74 65 72 6f 70 20 77 69 74 68 20 74 68 65 20 43 20 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c nterop.with.the.C.<code><span.cl
f83c0 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 ass="line"><span.class="tok-type
f83e0 22 3e 76 6f 69 64 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 20 74 79 70 65 ">void</span></span></code>.type
f8400 2c 20 75 73 65 20 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c ,.use.<code><span.class="line"><
f8420 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 61 6e 79 6f 70 61 71 75 65 3c span.class="tok-type">anyopaque<
f8440 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 2e 0a 20 20 20 20 20 20 3c 2f 70 3e /span></span></code>........</p>
f8460 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>
f8480 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 50 72 69 6d 69 <a.href="#Primitive-Types">Primi
f84a0 74 69 76 65 20 54 79 70 65 73 3c 2f 61 3e 3c 2f 6c 69 3e 0a 3c 2f 75 6c 3e 0a 0a 20 20 20 20 20 tive.Types</a></li>.</ul>.......
f84c0 20 0a 20 20 20 20 20 20 3c 68 33 20 69 64 3d 22 49 6d 70 6f 72 74 2d 66 72 6f 6d 2d 43 2d 48 65 ........<h3.id="Import-from-C-He
f84e0 61 64 65 72 2d 46 69 6c 65 22 3e 3c 61 20 68 72 65 66 3d 22 23 74 6f 63 2d 49 6d 70 6f 72 74 2d ader-File"><a.href="#toc-Import-
f8500 66 72 6f 6d 2d 43 2d 48 65 61 64 65 72 2d 46 69 6c 65 22 3e 49 6d 70 6f 72 74 20 66 72 6f 6d 20 from-C-Header-File">Import.from.
f8520 43 20 48 65 61 64 65 72 20 46 69 6c 65 3c 2f 61 3e 20 3c 61 20 63 6c 61 73 73 3d 22 68 64 72 22 C.Header.File</a>.<a.class="hdr"
f8540 20 68 72 65 66 3d 22 23 49 6d 70 6f 72 74 2d 66 72 6f 6d 2d 43 2d 48 65 61 64 65 72 2d 46 69 6c .href="#Import-from-C-Header-Fil
f8560 65 22 3e c2 a7 3c 2f 61 3e 3c 2f 68 33 3e 0a 0a 20 20 20 20 20 20 3c 70 3e 0a 20 20 20 20 20 20 e">..</a></h3>........<p>.......
f8580 54 68 65 20 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 The.<code><span.class="line"><sp
f85a0 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 62 75 69 6c 74 69 6e 22 3e 40 63 49 6d 70 6f 72 74 3c an.class="tok-builtin">@cImport<
f85c0 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 20 62 75 69 6c 74 69 6e 20 66 75 6e /span></span></code>.builtin.fun
f85e0 63 74 69 6f 6e 20 63 61 6e 20 62 65 20 75 73 65 64 0a 20 20 20 20 20 20 74 6f 20 64 69 72 65 63 ction.can.be.used.......to.direc
f8600 74 6c 79 20 69 6d 70 6f 72 74 20 73 79 6d 62 6f 6c 73 20 66 72 6f 6d 20 3c 63 6f 64 65 20 63 6c tly.import.symbols.from.<code.cl
f8620 61 73 73 3d 22 66 69 6c 65 22 3e 2e 68 3c 2f 63 6f 64 65 3e 20 66 69 6c 65 73 3a 0a 20 20 20 20 ass="file">.h</code>.files:.....
f8640 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
f8660 20 63 6c 61 73 73 3d 22 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
f8680 6c 65 22 3e 74 65 73 74 2e 7a 69 67 3c 2f 63 69 74 65 3e 3c 2f 66 69 67 63 61 70 74 69 6f 6e 3e le">test.zig</cite></figcaption>
f86a0 3c 70 72 65 3e 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 <pre><code><span.class="line"><s
f86c0 70 61 6e 20 63 6c 61 73 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>.
f86e0 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 63 c.=.<span.class="tok-builtin">@c
f8700 49 6d 70 6f 72 74 3c 2f 73 70 61 6e 3e 28 7b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 Import</span>({</span>.<span.cla
f8720 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 63 ss="line">....<span.class="tok-c
f8740 6f 6d 6d 65 6e 74 22 3e 2f 2f 20 53 65 65 20 68 74 74 70 73 3a 2f 2f 67 69 74 68 75 62 2e 63 6f omment">//.See.https://github.co
f8760 6d 2f 7a 69 67 6c 61 6e 67 2f 7a 69 67 2f 69 73 73 75 65 73 2f 35 31 35 3c 2f 73 70 61 6e 3e 3c m/ziglang/zig/issues/515</span><
f8780 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 3c 73 /span>.<span.class="line">....<s
f87a0 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 62 75 69 6c 74 69 6e 22 3e 40 63 44 65 66 69 6e 65 pan.class="tok-builtin">@cDefine
f87c0 3c 2f 73 70 61 6e 3e 28 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
f87e0 75 6f 74 3b 5f 4e 4f 5f 43 52 54 5f 53 54 44 49 4f 5f 49 4e 4c 49 4e 45 26 71 75 6f 74 3b 3c 2f uot;_NO_CRT_STDIO_INLINE&quot;</
f8800 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
f8820 6f 74 3b 31 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 29 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e ot;1&quot;</span>);</span>.<span
f8840 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 .class="line">....<span.class="t
f8860 6f 6b 2d 62 75 69 6c 74 69 6e 22 3e 40 63 49 6e 63 6c 75 64 65 3c 2f 73 70 61 6e 3e 28 3c 73 70 ok-builtin">@cInclude</span>(<sp
f8880 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 73 74 72 22 3e 26 71 75 6f 74 3b 73 74 64 69 6f 2e 68 an.class="tok-str">&quot;stdio.h
f88a0 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 29 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 &quot;</span>);</span>.<span.cla
f88c0 73 73 3d 22 6c 69 6e 65 22 3e 7d 29 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 ss="line">});</span>.<span.class
f88e0 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 70 75 62 ="line"><span.class="tok-kw">pub
f8900 3c 2f 73 70 61 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<
f8920 2f 73 70 61 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
f8940 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"
f8960 3e 76 6f 69 64 3c 2f 73 70 61 6e 3e 20 7b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 >void</span>.{</span>.<span.clas
f8980 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 5f 20 3d 20 63 2e 70 72 69 6e 74 66 28 3c 73 70 61 6e 20 s="line">...._.=.c.printf(<span.
f89a0 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 5c 6e 26 71 75 class="tok-str">&quot;hello\n&qu
f89c0 6f 74 3b 3c 2f 73 70 61 6e 3e 29 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d ot;</span>);</span>.<span.class=
f89e0 22 6c 69 6e 65 22 3e 7d 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 3c 2f 70 72 65 3e 3c 2f 66 69 "line">}</span></code></pre></fi
f8a00 67 75 72 65 3e 3c 66 69 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="
f8a20 73 68 65 6c 6c 2d 63 61 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
f8a40 65 3e 3c 73 61 6d 70 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 24 20 3c 6b 62 e><samp><span.class="line">$.<kb
f8a60 64 3e 7a 69 67 20 62 75 69 6c 64 2d 65 78 65 20 74 65 73 74 2e 7a 69 67 20 2d 6c 63 3c 2f 6b 62 d>zig.build-exe.test.zig.-lc</kb
f8a80 64 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 2f 73 d></span>.<span.class="line"></s
f8aa0 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 24 20 3c 6b 62 64 3e 2e pan>.<span.class="line">$.<kbd>.
f8ac0 2f 74 65 73 74 3c 2f 6b 62 64 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 /test</kbd></span>.<span.class="
f8ae0 6c 69 6e 65 22 3e 68 65 6c 6c 6f 3c 2f 73 70 61 6e 3e 0a 3c 2f 73 61 6d 70 3e 3c 2f 70 72 65 3e line">hello</span>.</samp></pre>
f8b00 3c 2f 66 69 67 75 72 65 3e 0a 20 20 20 20 20 20 3c 70 3e 0a 20 20 20 20 20 20 54 68 65 20 3c 63 </figure>.......<p>.......The.<c
f8b20 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 ode><span.class="line"><span.cla
f8b40 73 73 3d 22 74 6f 6b 2d 62 75 69 6c 74 69 6e 22 3e 40 63 49 6d 70 6f 72 74 3c 2f 73 70 61 6e 3e ss="tok-builtin">@cImport</span>
f8b60 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 20 66 75 6e 63 74 69 6f 6e 20 74 61 6b 65 73 20 61 6e </span></code>.function.takes.an
f8b80 20 65 78 70 72 65 73 73 69 6f 6e 20 61 73 20 61 20 70 61 72 61 6d 65 74 65 72 2e 0a 20 20 20 20 .expression.as.a.parameter......
f8ba0 20 20 54 68 69 73 20 65 78 70 72 65 73 73 69 6f 6e 20 69 73 20 65 76 61 6c 75 61 74 65 64 20 61 ..This.expression.is.evaluated.a
f8bc0 74 20 63 6f 6d 70 69 6c 65 2d 74 69 6d 65 20 61 6e 64 20 69 73 20 75 73 65 64 20 74 6f 20 63 6f t.compile-time.and.is.used.to.co
f8be0 6e 74 72 6f 6c 0a 20 20 20 20 20 20 70 72 65 70 72 6f 63 65 73 73 6f 72 20 64 69 72 65 63 74 69 ntrol.......preprocessor.directi
f8c00 76 65 73 20 61 6e 64 20 69 6e 63 6c 75 64 65 20 6d 75 6c 74 69 70 6c 65 20 3c 63 6f 64 65 20 63 ves.and.include.multiple.<code.c
f8c20 6c 61 73 73 3d 22 66 69 6c 65 22 3e 2e 68 3c 2f 63 6f 64 65 3e 20 66 69 6c 65 73 3a 0a 20 20 20 lass="file">.h</code>.files:....
f8c40 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
f8c60 6e 20 63 6c 61 73 73 3d 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
f8c80 69 6c 65 22 3e 40 63 49 6d 70 6f 72 74 20 45 78 70 72 65 73 73 69 6f 6e 3c 2f 63 69 74 65 3e 3c ile">@cImport.Expression</cite><
f8ca0 2f 66 69 67 63 61 70 74 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
f8cc0 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 63 ss="line"><span.class="tok-kw">c
f8ce0 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
f8d00 73 3d 22 74 6f 6b 2d 62 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>(<
f8d20 73 70 61 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
f8d40 69 6e 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 29 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 in&quot;</span>);</span>.<span.c
f8d60 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d lass="line"></span>.<span.class=
f8d80 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 63 6f 6e 73 "line"><span.class="tok-kw">cons
f8da0 74 3c 2f 73 70 61 6e 3e 20 63 20 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 62 75 t</span>.c.=.<span.class="tok-bu
f8dc0 69 6c 74 69 6e 22 3e 40 63 49 6d 70 6f 72 74 3c 2f 73 70 61 6e 3e 28 7b 3c 2f 73 70 61 6e 3e 0a iltin">@cImport</span>({</span>.
f8de0 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 <span.class="line">....<span.cla
f8e00 73 73 3d 22 74 6f 6b 2d 62 75 69 6c 74 69 6e 22 3e 40 63 44 65 66 69 6e 65 3c 2f 73 70 61 6e 3e ss="tok-builtin">@cDefine</span>
f8e20 28 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 73 74 72 22 3e 26 71 75 6f 74 3b 4e 44 45 (<span.class="tok-str">&quot;NDE
f8e40 42 55 47 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 2c 20 62 75 69 6c 74 69 6e 2e 6d 6f 64 65 20 3d BUG&quot;</span>,.builtin.mode.=
f8e60 3d 20 2e 52 65 6c 65 61 73 65 46 61 73 74 29 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c =..ReleaseFast);</span>.<span.cl
f8e80 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d ass="line">....<span.class="tok-
f8ea0 6b 77 22 3e 69 66 3c 2f 73 70 61 6e 3e 20 28 73 6f 6d 65 74 68 69 6e 67 29 20 7b 3c 2f 73 70 61 kw">if</span>.(something).{</spa
f8ec0 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 20 20 20 20 3c 73 n>.<span.class="line">........<s
f8ee0 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 62 75 69 6c 74 69 6e 22 3e 40 63 44 65 66 69 6e 65 pan.class="tok-builtin">@cDefine
f8f00 3c 2f 73 70 61 6e 3e 28 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
f8f20 75 6f 74 3b 5f 47 4e 55 5f 53 4f 55 52 43 45 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 2c 20 7b 7d uot;_GNU_SOURCE&quot;</span>,.{}
f8f40 29 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 );</span>.<span.class="line">...
f8f60 20 7d 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 .}</span>.<span.class="line">...
f8f80 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 62 75 69 6c 74 69 6e 22 3e 40 63 49 6e 63 .<span.class="tok-builtin">@cInc
f8fa0 6c 75 64 65 3c 2f 73 70 61 6e 3e 28 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 73 74 72 lude</span>(<span.class="tok-str
f8fc0 22 3e 26 71 75 6f 74 3b 73 74 64 6c 69 62 2e 68 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 29 3b 3c ">&quot;stdlib.h&quot;</span>);<
f8fe0 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 3c 73 /span>.<span.class="line">....<s
f9000 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 69 66 3c 2f 73 70 61 6e 3e 20 28 73 6f pan.class="tok-kw">if</span>.(so
f9020 6d 65 74 68 69 6e 67 29 20 7b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c mething).{</span>.<span.class="l
f9040 69 6e 65 22 3e 20 20 20 20 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 62 75 ine">........<span.class="tok-bu
f9060 69 6c 74 69 6e 22 3e 40 63 55 6e 64 65 66 3c 2f 73 70 61 6e 3e 28 3c 73 70 61 6e 20 63 6c 61 73 iltin">@cUndef</span>(<span.clas
f9080 73 3d 22 74 6f 6b 2d 73 74 72 22 3e 26 71 75 6f 74 3b 5f 47 4e 55 5f 53 4f 55 52 43 45 26 71 75 s="tok-str">&quot;_GNU_SOURCE&qu
f90a0 6f 74 3b 3c 2f 73 70 61 6e 3e 29 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d ot;</span>);</span>.<span.class=
f90c0 22 6c 69 6e 65 22 3e 20 20 20 20 7d 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d "line">....}</span>.<span.class=
f90e0 22 6c 69 6e 65 22 3e 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 62 75 69 6c "line">....<span.class="tok-buil
f9100 74 69 6e 22 3e 40 63 49 6e 63 6c 75 64 65 3c 2f 73 70 61 6e 3e 28 3c 73 70 61 6e 20 63 6c 61 73 tin">@cInclude</span>(<span.clas
f9120 73 3d 22 74 6f 6b 2d 73 74 72 22 3e 26 71 75 6f 74 3b 73 6f 75 6e 64 69 6f 2e 68 26 71 75 6f 74 s="tok-str">&quot;soundio.h&quot
f9140 3b 3c 2f 73 70 61 6e 3e 29 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c ;</span>);</span>.<span.class="l
f9160 69 6e 65 22 3e 7d 29 3b 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 3c 2f 70 72 65 3e 3c 2f 66 69 ine">});</span></code></pre></fi
f9180 67 75 72 65 3e 0a 20 20 20 20 20 20 3c 70 3e 53 65 65 20 61 6c 73 6f 3a 3c 2f 70 3e 3c 75 6c 3e gure>.......<p>See.also:</p><ul>
f91a0 0a 3c 6c 69 3e 3c 61 20 68 72 65 66 3d 22 23 63 49 6d 70 6f 72 74 22 3e 40 63 49 6d 70 6f 72 74 .<li><a.href="#cImport">@cImport
f91c0 3c 2f 61 3e 3c 2f 6c 69 3e 0a 3c 6c 69 3e 3c 61 20 68 72 65 66 3d 22 23 63 49 6e 63 6c 75 64 65 </a></li>.<li><a.href="#cInclude
f91e0 22 3e 40 63 49 6e 63 6c 75 64 65 3c 2f 61 3e 3c 2f 6c 69 3e 0a 3c 6c 69 3e 3c 61 20 68 72 65 66 ">@cInclude</a></li>.<li><a.href
f9200 3d 22 23 63 44 65 66 69 6e 65 22 3e 40 63 44 65 66 69 6e 65 3c 2f 61 3e 3c 2f 6c 69 3e 0a 3c 6c ="#cDefine">@cDefine</a></li>.<l
f9220 69 3e 3c 61 20 68 72 65 66 3d 22 23 63 55 6e 64 65 66 22 3e 40 63 55 6e 64 65 66 3c 2f 61 3e 3c i><a.href="#cUndef">@cUndef</a><
f9240 2f 6c 69 3e 0a 3c 6c 69 3e 3c 61 20 68 72 65 66 3d 22 23 69 6d 70 6f 72 74 22 3e 40 69 6d 70 6f /li>.<li><a.href="#import">@impo
f9260 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>...............
f9280 20 3c 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 .<h3.id="C-Translation-CLI"><a.h
f92a0 72 65 66 3d 22 23 74 6f 63 2d 43 2d 54 72 61 6e 73 6c 61 74 69 6f 6e 2d 43 4c 49 22 3e 43 20 54 ref="#toc-C-Translation-CLI">C.T
f92c0 72 61 6e 73 6c 61 74 69 6f 6e 20 43 4c 49 3c 2f 61 3e 20 3c 61 20 63 6c 61 73 73 3d 22 68 64 72 ranslation.CLI</a>.<a.class="hdr
f92e0 22 20 68 72 65 66 3d 22 23 43 2d 54 72 61 6e 73 6c 61 74 69 6f 6e 2d 43 4c 49 22 3e c2 a7 3c 2f ".href="#C-Translation-CLI">..</
f9300 61 3e 3c 2f 68 33 3e 0a 0a 20 20 20 20 20 20 5a 69 67 27 73 20 43 20 74 72 61 6e 73 6c 61 74 69 a></h3>........Zig's.C.translati
f9320 6f 6e 20 63 61 70 61 62 69 6c 69 74 79 20 69 73 20 61 76 61 69 6c 61 62 6c 65 20 61 73 20 61 20 on.capability.is.available.as.a.
f9340 43 4c 49 20 74 6f 6f 6c 20 76 69 61 20 3c 6b 62 64 3e 7a 69 67 20 74 72 61 6e 73 6c 61 74 65 2d CLI.tool.via.<kbd>zig.translate-
f9360 63 3c 2f 6b 62 64 3e 2e 0a 20 20 20 20 20 20 49 74 20 72 65 71 75 69 72 65 73 20 61 20 73 69 6e c</kbd>........It.requires.a.sin
f9380 67 6c 65 20 66 69 6c 65 6e 61 6d 65 20 61 73 20 61 6e 20 61 72 67 75 6d 65 6e 74 2e 20 49 74 20 gle.filename.as.an.argument..It.
f93a0 6d 61 79 20 61 6c 73 6f 20 74 61 6b 65 20 61 20 73 65 74 20 6f 66 20 6f 70 74 69 6f 6e 61 6c 20 may.also.take.a.set.of.optional.
f93c0 66 6c 61 67 73 20 74 68 61 74 20 61 72 65 0a 20 20 20 20 20 20 66 6f 72 77 61 72 64 65 64 20 74 flags.that.are.......forwarded.t
f93e0 6f 20 63 6c 61 6e 67 2e 20 49 74 20 77 72 69 74 65 73 20 74 68 65 20 74 72 61 6e 73 6c 61 74 65 o.clang..It.writes.the.translate
f9400 64 20 66 69 6c 65 20 74 6f 20 73 74 64 6f 75 74 2e 0a 20 20 20 20 20 20 3c 68 34 20 69 64 3d 22 d.file.to.stdout........<h4.id="
f9420 43 6f 6d 6d 61 6e 64 2d 6c 69 6e 65 2d 66 6c 61 67 73 22 3e 3c 61 20 68 72 65 66 3d 22 23 74 6f Command-line-flags"><a.href="#to
f9440 63 2d 43 6f 6d 6d 61 6e 64 2d 6c 69 6e 65 2d 66 6c 61 67 73 22 3e 43 6f 6d 6d 61 6e 64 20 6c 69 c-Command-line-flags">Command.li
f9460 6e 65 20 66 6c 61 67 73 3c 2f 61 3e 20 3c 61 20 63 6c 61 73 73 3d 22 68 64 72 22 20 68 72 65 66 ne.flags</a>.<a.class="hdr".href
f9480 3d 22 23 43 6f 6d 6d 61 6e 64 2d 6c 69 6e 65 2d 66 6c 61 67 73 22 3e c2 a7 3c 2f 61 3e 3c 2f 68 ="#Command-line-flags">..</a></h
f94a0 34 3e 0a 0a 20 20 20 20 20 20 3c 75 6c 3e 0a 20 20 20 20 20 20 20 20 3c 6c 69 3e 0a 20 20 20 20 4>........<ul>.........<li>.....
f94c0 20 20 20 20 20 20 3c 6b 62 64 3e 2d 49 3c 2f 6b 62 64 3e 3a 0a 20 20 20 20 20 20 20 20 20 20 53 ......<kbd>-I</kbd>:...........S
f94e0 70 65 63 69 66 79 20 61 20 73 65 61 72 63 68 20 64 69 72 65 63 74 6f 72 79 20 66 6f 72 20 69 6e pecify.a.search.directory.for.in
f9500 63 6c 75 64 65 20 66 69 6c 65 73 2e 20 4d 61 79 20 62 65 20 75 73 65 64 20 6d 75 6c 74 69 70 6c clude.files..May.be.used.multipl
f9520 65 20 74 69 6d 65 73 2e 20 45 71 75 69 76 61 6c 65 6e 74 20 74 6f 0a 20 20 20 20 20 20 20 20 20 e.times..Equivalent.to..........
f9540 20 3c 61 20 68 72 65 66 3d 22 68 74 74 70 73 3a 2f 2f 72 65 6c 65 61 73 65 73 2e 6c 6c 76 6d 2e .<a.href="https://releases.llvm.
f9560 6f 72 67 2f 31 32 2e 30 2e 30 2f 74 6f 6f 6c 73 2f 63 6c 61 6e 67 2f 64 6f 63 73 2f 43 6c 61 6e org/12.0.0/tools/clang/docs/Clan
f9580 67 43 6f 6d 6d 61 6e 64 4c 69 6e 65 52 65 66 65 72 65 6e 63 65 2e 68 74 6d 6c 23 63 6d 64 6f 70 gCommandLineReference.html#cmdop
f95a0 74 69 6f 6e 2d 63 6c 61 6e 67 2d 69 2d 64 69 72 22 3e 0a 20 20 20 20 20 20 20 20 20 20 63 6c 61 tion-clang-i-dir">...........cla
f95c0 6e 67 27 73 20 3c 6b 62 64 3e 2d 49 3c 2f 6b 62 64 3e 20 66 6c 61 67 3c 2f 61 3e 2e 20 54 68 65 ng's.<kbd>-I</kbd>.flag</a>..The
f95e0 20 63 75 72 72 65 6e 74 20 64 69 72 65 63 74 6f 72 79 20 69 73 20 3c 65 6d 3e 6e 6f 74 3c 2f 65 .current.directory.is.<em>not</e
f9600 6d 3e 20 69 6e 63 6c 75 64 65 64 20 62 79 20 64 65 66 61 75 6c 74 3b 0a 20 20 20 20 20 20 20 20 m>.included.by.default;.........
f9620 20 20 75 73 65 20 3c 6b 62 64 3e 2d 49 2e 3c 2f 6b 62 64 3e 20 74 6f 20 69 6e 63 6c 75 64 65 20 ..use.<kbd>-I.</kbd>.to.include.
f9640 69 74 2e 0a 20 20 20 20 20 20 20 20 3c 2f 6c 69 3e 0a 20 20 20 20 20 20 20 20 3c 6c 69 3e 0a 20 it..........</li>.........<li>..
f9660 20 20 20 20 20 20 20 20 20 3c 6b 62 64 3e 2d 44 3c 2f 6b 62 64 3e 3a 20 44 65 66 69 6e 65 20 61 .........<kbd>-D</kbd>:.Define.a
f9680 20 70 72 65 70 72 6f 63 65 73 73 6f 72 20 6d 61 63 72 6f 2e 20 45 71 75 69 76 61 6c 65 6e 74 20 .preprocessor.macro..Equivalent.
f96a0 74 6f 0a 20 20 20 20 20 20 20 20 20 20 3c 61 20 68 72 65 66 3d 22 68 74 74 70 73 3a 2f 2f 72 65 to...........<a.href="https://re
f96c0 6c 65 61 73 65 73 2e 6c 6c 76 6d 2e 6f 72 67 2f 31 32 2e 30 2e 30 2f 74 6f 6f 6c 73 2f 63 6c 61 leases.llvm.org/12.0.0/tools/cla
f96e0 6e 67 2f 64 6f 63 73 2f 43 6c 61 6e 67 43 6f 6d 6d 61 6e 64 4c 69 6e 65 52 65 66 65 72 65 6e 63 ng/docs/ClangCommandLineReferenc
f9700 65 2e 68 74 6d 6c 23 63 6d 64 6f 70 74 69 6f 6e 2d 63 6c 61 6e 67 2d 64 2d 6d 61 63 72 6f 22 3e e.html#cmdoption-clang-d-macro">
f9720 0a 20 20 20 20 20 20 20 20 20 20 63 6c 61 6e 67 27 73 20 3c 6b 62 64 3e 2d 44 3c 2f 6b 62 64 3e ...........clang's.<kbd>-D</kbd>
f9740 20 66 6c 61 67 3c 2f 61 3e 2e 0a 20 20 20 20 20 20 20 20 3c 2f 6c 69 3e 0a 20 20 20 20 20 20 20 .flag</a>..........</li>........
f9760 20 3c 6c 69 3e 0a 20 20 20 20 20 20 20 20 20 20 3c 6b 62 64 3e 2d 63 66 6c 61 67 73 20 5b 66 6c .<li>...........<kbd>-cflags.[fl
f9780 61 67 73 5d 20 2d 2d 3c 2f 6b 62 64 3e 3a 20 50 61 73 73 20 61 72 62 69 74 72 61 72 79 20 61 64 ags].--</kbd>:.Pass.arbitrary.ad
f97a0 64 69 74 69 6f 6e 61 6c 0a 20 20 20 20 20 20 20 20 20 20 3c 61 20 68 72 65 66 3d 22 68 74 74 70 ditional...........<a.href="http
f97c0 73 3a 2f 2f 72 65 6c 65 61 73 65 73 2e 6c 6c 76 6d 2e 6f 72 67 2f 31 32 2e 30 2e 30 2f 74 6f 6f s://releases.llvm.org/12.0.0/too
f97e0 6c 73 2f 63 6c 61 6e 67 2f 64 6f 63 73 2f 43 6c 61 6e 67 43 6f 6d 6d 61 6e 64 4c 69 6e 65 52 65 ls/clang/docs/ClangCommandLineRe
f9800 66 65 72 65 6e 63 65 2e 68 74 6d 6c 22 3e 63 6f 6d 6d 61 6e 64 20 6c 69 6e 65 0a 20 20 20 20 20 ference.html">command.line......
f9820 20 20 20 20 20 66 6c 61 67 73 3c 2f 61 3e 20 74 6f 20 63 6c 61 6e 67 2e 20 4e 6f 74 65 3a 20 74 .....flags</a>.to.clang..Note:.t
f9840 68 65 20 6c 69 73 74 20 6f 66 20 66 6c 61 67 73 20 6d 75 73 74 20 65 6e 64 20 77 69 74 68 20 3c he.list.of.flags.must.end.with.<
f9860 6b 62 64 3e 2d 2d 3c 2f 6b 62 64 3e 0a 20 20 20 20 20 20 20 20 3c 2f 6c 69 3e 0a 20 20 20 20 20 kbd>--</kbd>.........</li>......
f9880 20 20 20 3c 6c 69 3e 0a 20 20 20 20 20 20 20 20 20 20 3c 6b 62 64 3e 2d 74 61 72 67 65 74 3c 2f ...<li>...........<kbd>-target</
f98a0 6b 62 64 3e 3a 20 54 68 65 20 3c 61 20 68 72 65 66 3d 22 23 54 61 72 67 65 74 73 22 3e 74 61 72 kbd>:.The.<a.href="#Targets">tar
f98c0 67 65 74 20 74 72 69 70 6c 65 3c 2f 61 3e 20 66 6f 72 20 74 68 65 20 74 72 61 6e 73 6c 61 74 65 get.triple</a>.for.the.translate
f98e0 64 20 5a 69 67 20 63 6f 64 65 2e 0a 20 20 20 20 20 20 20 20 20 20 49 66 20 6e 6f 20 74 61 72 67 d.Zig.code............If.no.targ
f9900 65 74 20 69 73 20 73 70 65 63 69 66 69 65 64 2c 20 74 68 65 20 63 75 72 72 65 6e 74 20 68 6f 73 et.is.specified,.the.current.hos
f9920 74 20 74 61 72 67 65 74 20 77 69 6c 6c 20 62 65 20 75 73 65 64 2e 0a 20 20 20 20 20 20 20 20 3c t.target.will.be.used..........<
f9940 2f 6c 69 3e 0a 20 20 20 20 20 20 3c 2f 75 6c 3e 0a 20 20 20 20 20 20 0a 20 20 20 20 20 20 3c 68 /li>.......</ul>..............<h
f9960 34 20 69 64 3d 22 55 73 69 6e 67 2d 2d 74 61 72 67 65 74 2d 61 6e 64 2d 2d 63 66 6c 61 67 73 22 4.id="Using--target-and--cflags"
f9980 3e 3c 61 20 68 72 65 66 3d 22 23 74 6f 63 2d 55 73 69 6e 67 2d 2d 74 61 72 67 65 74 2d 61 6e 64 ><a.href="#toc-Using--target-and
f99a0 2d 2d 63 66 6c 61 67 73 22 3e 55 73 69 6e 67 20 2d 74 61 72 67 65 74 20 61 6e 64 20 2d 63 66 6c --cflags">Using.-target.and.-cfl
f99c0 61 67 73 3c 2f 61 3e 20 3c 61 20 63 6c 61 73 73 3d 22 68 64 72 22 20 68 72 65 66 3d 22 23 55 73 ags</a>.<a.class="hdr".href="#Us
f99e0 69 6e 67 2d 2d 74 61 72 67 65 74 2d 61 6e 64 2d 2d 63 66 6c 61 67 73 22 3e c2 a7 3c 2f 61 3e 3c ing--target-and--cflags">..</a><
f9a00 2f 68 34 3e 0a 0a 20 20 20 20 20 20 3c 70 3e 0a 20 20 20 20 20 20 20 20 3c 73 74 72 6f 6e 67 3e /h4>........<p>.........<strong>
f9a20 49 6d 70 6f 72 74 61 6e 74 21 3c 2f 73 74 72 6f 6e 67 3e 20 57 68 65 6e 20 74 72 61 6e 73 6c 61 Important!</strong>.When.transla
f9a40 74 69 6e 67 20 43 20 63 6f 64 65 20 77 69 74 68 20 3c 6b 62 64 3e 7a 69 67 20 74 72 61 6e 73 6c ting.C.code.with.<kbd>zig.transl
f9a60 61 74 65 2d 63 3c 2f 6b 62 64 3e 2c 0a 20 20 20 20 20 20 20 20 79 6f 75 20 3c 73 74 72 6f 6e 67 ate-c</kbd>,.........you.<strong
f9a80 3e 6d 75 73 74 3c 2f 73 74 72 6f 6e 67 3e 20 75 73 65 20 74 68 65 20 73 61 6d 65 20 3c 6b 62 64 >must</strong>.use.the.same.<kbd
f9aa0 3e 2d 74 61 72 67 65 74 3c 2f 6b 62 64 3e 20 74 72 69 70 6c 65 20 74 68 61 74 20 79 6f 75 20 77 >-target</kbd>.triple.that.you.w
f9ac0 69 6c 6c 20 75 73 65 20 77 68 65 6e 20 63 6f 6d 70 69 6c 69 6e 67 0a 20 20 20 20 20 20 20 20 74 ill.use.when.compiling.........t
f9ae0 68 65 20 74 72 61 6e 73 6c 61 74 65 64 20 63 6f 64 65 2e 20 49 6e 20 61 64 64 69 74 69 6f 6e 2c he.translated.code..In.addition,
f9b00 20 79 6f 75 20 3c 73 74 72 6f 6e 67 3e 6d 75 73 74 3c 2f 73 74 72 6f 6e 67 3e 20 65 6e 73 75 72 .you.<strong>must</strong>.ensur
f9b20 65 20 74 68 61 74 20 74 68 65 20 3c 6b 62 64 3e 2d 63 66 6c 61 67 73 3c 2f 6b 62 64 3e 20 75 73 e.that.the.<kbd>-cflags</kbd>.us
f9b40 65 64 2c 0a 20 20 20 20 20 20 20 20 69 66 20 61 6e 79 2c 20 6d 61 74 63 68 20 74 68 65 20 63 66 ed,.........if.any,.match.the.cf
f9b60 6c 61 67 73 20 75 73 65 64 20 62 79 20 63 6f 64 65 20 6f 6e 20 74 68 65 20 74 61 72 67 65 74 20 lags.used.by.code.on.the.target.
f9b80 73 79 73 74 65 6d 2e 20 55 73 69 6e 67 20 74 68 65 20 69 6e 63 6f 72 72 65 63 74 20 3c 6b 62 64 system..Using.the.incorrect.<kbd
f9ba0 3e 2d 74 61 72 67 65 74 3c 2f 6b 62 64 3e 0a 20 20 20 20 20 20 20 20 6f 72 20 3c 6b 62 64 3e 2d >-target</kbd>.........or.<kbd>-
f9bc0 63 66 6c 61 67 73 3c 2f 6b 62 64 3e 20 63 6f 75 6c 64 20 72 65 73 75 6c 74 20 69 6e 20 63 6c 61 cflags</kbd>.could.result.in.cla
f9be0 6e 67 20 6f 72 20 5a 69 67 20 70 61 72 73 65 20 66 61 69 6c 75 72 65 73 2c 20 6f 72 20 73 75 62 ng.or.Zig.parse.failures,.or.sub
f9c00 74 6c 65 20 41 42 49 20 69 6e 63 6f 6d 70 61 74 69 62 69 6c 69 74 69 65 73 0a 20 20 20 20 20 20 tle.ABI.incompatibilities.......
f9c20 20 20 77 68 65 6e 20 6c 69 6e 6b 69 6e 67 20 77 69 74 68 20 43 20 63 6f 64 65 2e 0a 20 20 20 20 ..when.linking.with.C.code......
f9c40 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
f9c60 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 6c 65 .class="c-cap"><cite.class="file
f9c80 22 3e 76 61 72 79 74 61 72 67 65 74 2e 68 3c 2f 63 69 74 65 3e 3c 2f 66 69 67 63 61 70 74 69 6f ">varytarget.h</cite></figcaptio
f9ca0 6e 3e 3c 70 72 65 3e 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e n><pre><code><span.class="line">
f9cc0 6c 6f 6e 67 20 46 4f 4f 20 3d 20 5f 5f 4c 4f 4e 47 5f 4d 41 58 5f 5f 3b 3c 2f 73 70 61 6e 3e 3c long.FOO.=.__LONG_MAX__;</span><
f9ce0 2f 63 6f 64 65 3e 3c 2f 70 72 65 3e 3c 2f 66 69 67 75 72 65 3e 0a 20 20 20 20 20 20 3c 66 69 67 /code></pre></figure>.......<fig
f9d00 75 72 65 3e 3c 66 69 67 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
f9d20 22 3e 53 68 65 6c 6c 3c 2f 66 69 67 63 61 70 74 69 6f 6e 3e 3c 70 72 65 3e 3c 73 61 6d 70 3e 3c ">Shell</figcaption><pre><samp><
f9d40 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 24 20 3c 6b 62 64 3e 7a 69 67 20 74 72 61 span.class="line">$.<kbd>zig.tra
f9d60 6e 73 6c 61 74 65 2d 63 20 2d 74 61 72 67 65 74 20 26 6c 74 3b 65 6d 26 67 74 3b 74 68 75 6d 62 nslate-c.-target.&lt;em&gt;thumb
f9d80 2d 66 72 65 65 73 74 61 6e 64 69 6e 67 2d 67 6e 75 65 61 62 69 68 66 26 6c 74 3b 2f 65 6d 26 67 -freestanding-gnueabihf&lt;/em&g
f9da0 74 3b 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 3c 2f t;.varytarget.h|grep.FOO</kbd></
f9dc0 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 70 75 62 20 65 78 70 span>.<span.class="line">pub.exp
f9de0 6f 72 74 20 76 61 72 20 46 4f 4f 3a 20 63 5f 6c 6f 6e 67 20 3d 20 26 6c 74 3b 65 6d 26 67 74 3b ort.var.FOO:.c_long.=.&lt;em&gt;
f9e00 32 31 34 37 34 38 33 36 34 37 26 6c 74 3b 2f 65 6d 26 67 74 3b 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 2147483647&lt;/em&gt;;</span>.<s
f9e20 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 24 20 3c 6b 62 64 3e 7a 69 67 20 74 72 61 6e pan.class="line">$.<kbd>zig.tran
f9e40 73 6c 61 74 65 2d 63 20 2d 74 61 72 67 65 74 20 26 6c 74 3b 65 6d 26 67 74 3b 78 38 36 5f 36 34 slate-c.-target.&lt;em&gt;x86_64
f9e60 2d 6d 61 63 6f 73 2d 67 6e 75 26 6c 74 3b 2f 65 6d 26 67 74 3b 20 76 61 72 79 74 61 72 67 65 74 -macos-gnu&lt;/em&gt;.varytarget
f9e80 2e 68 7c 67 72 65 70 20 46 4f 4f 3c 2f 6b 62 64 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 .h|grep.FOO</kbd></span>.<span.c
f9ea0 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 70 75 62 20 65 78 70 6f 72 74 20 76 61 72 20 46 4f 4f 3a 20 lass="line">pub.export.var.FOO:.
f9ec0 63 5f 6c 6f 6e 67 20 3d 20 26 6c 74 3b 65 6d 26 67 74 3b 39 32 32 33 33 37 32 30 33 36 38 35 34 c_long.=.&lt;em&gt;9223372036854
f9ee0 37 37 35 38 30 37 26 6c 74 3b 2f 65 6d 26 67 74 3b 3b 3c 2f 73 70 61 6e 3e 0a 3c 2f 73 61 6d 70 775807&lt;/em&gt;;</span>.</samp
f9f00 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><
f9f20 66 69 67 63 61 70 74 69 6f 6e 20 63 6c 61 73 73 3d 22 63 2d 63 61 70 22 3e 3c 63 69 74 65 20 63 figcaption.class="c-cap"><cite.c
f9f40 6c 61 73 73 3d 22 66 69 6c 65 22 3e 76 61 72 79 63 66 6c 61 67 73 2e 68 3c 2f 63 69 74 65 3e 3c lass="file">varycflags.h</cite><
f9f60 2f 66 69 67 63 61 70 74 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
f9f80 73 73 3d 22 6c 69 6e 65 22 3e 65 6e 75 6d 20 46 4f 4f 20 7b 20 42 41 52 20 7d 3b 3c 2f 73 70 61 ss="line">enum.FOO.{.BAR.};</spa
f9fa0 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 69 6e 74 20 64 6f 5f 73 6f 6d n>.<span.class="line">int.do_som
f9fc0 65 74 68 69 6e 67 28 65 6e 75 6d 20 46 4f 4f 20 66 6f 6f 29 3b 3c 2f 73 70 61 6e 3e 3c 2f 63 6f ething(enum.FOO.foo);</span></co
f9fe0 64 65 3e 3c 2f 70 72 65 3e 3c 2f 66 69 67 75 72 65 3e 0a 20 20 20 20 20 20 3c 66 69 67 75 72 65 de></pre></figure>.......<figure
fa000 3e 3c 66 69 67 63 61 70 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
fa020 68 65 6c 6c 3c 2f 66 69 67 63 61 70 74 69 6f 6e 3e 3c 70 72 65 3e 3c 73 61 6d 70 3e 3c 73 70 61 hell</figcaption><pre><samp><spa
fa040 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 24 20 3c 6b 62 64 3e 7a 69 67 20 74 72 61 6e 73 6c n.class="line">$.<kbd>zig.transl
fa060 61 74 65 2d 63 20 76 61 72 79 63 66 6c 61 67 73 2e 68 7c 67 72 65 70 20 2d 42 31 20 64 6f 5f 73 ate-c.varycflags.h|grep.-B1.do_s
fa080 6f 6d 65 74 68 69 6e 67 3c 2f 6b 62 64 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 omething</kbd></span>.<span.clas
fa0a0 73 3d 22 6c 69 6e 65 22 3e 70 75 62 20 63 6f 6e 73 74 20 65 6e 75 6d 5f 46 4f 4f 20 3d 20 26 6c s="line">pub.const.enum_FOO.=.&l
fa0c0 74 3b 65 6d 26 67 74 3b 63 5f 75 69 6e 74 26 6c 74 3b 2f 65 6d 26 67 74 3b 3b 3c 2f 73 70 61 6e t;em&gt;c_uint&lt;/em&gt;;</span
fa0e0 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 70 75 62 20 65 78 74 65 72 6e 20 >.<span.class="line">pub.extern.
fa100 66 6e 20 64 6f 5f 73 6f 6d 65 74 68 69 6e 67 28 66 6f 6f 3a 20 65 6e 75 6d 5f 46 4f 4f 29 20 63 fn.do_something(foo:.enum_FOO).c
fa120 5f 69 6e 74 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e _int;</span>.<span.class="line">
fa140 24 20 3c 6b 62 64 3e 7a 69 67 20 74 72 61 6e 73 6c 61 74 65 2d 63 20 26 6c 74 3b 65 6d 26 67 74 $.<kbd>zig.translate-c.&lt;em&gt
fa160 3b 2d 63 66 6c 61 67 73 20 2d 66 73 68 6f 72 74 2d 65 6e 75 6d 73 20 2d 2d 26 6c 74 3b 2f 65 6d ;-cflags.-fshort-enums.--&lt;/em
fa180 26 67 74 3b 20 76 61 72 79 63 66 6c 61 67 73 2e 68 7c 67 72 65 70 20 2d 42 31 20 64 6f 5f 73 6f &gt;.varycflags.h|grep.-B1.do_so
fa1a0 6d 65 74 68 69 6e 67 3c 2f 6b 62 64 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 mething</kbd></span>.<span.class
fa1c0 3d 22 6c 69 6e 65 22 3e 70 75 62 20 63 6f 6e 73 74 20 65 6e 75 6d 5f 46 4f 4f 20 3d 20 26 6c 74 ="line">pub.const.enum_FOO.=.&lt
fa1e0 3b 65 6d 26 67 74 3b 75 38 26 6c 74 3b 2f 65 6d 26 67 74 3b 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 ;em&gt;u8&lt;/em&gt;;</span>.<sp
fa200 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 70 75 62 20 65 78 74 65 72 6e 20 66 6e 20 64 6f an.class="line">pub.extern.fn.do
fa220 5f 73 6f 6d 65 74 68 69 6e 67 28 66 6f 6f 3a 20 65 6e 75 6d 5f 46 4f 4f 29 20 63 5f 69 6e 74 3b _something(foo:.enum_FOO).c_int;
fa240 3c 2f 73 70 61 6e 3e 0a 3c 2f 73 61 6d 70 3e 3c 2f 70 72 65 3e 3c 2f 66 69 67 75 72 65 3e 0a 20 </span>.</samp></pre></figure>..
fa260 20 20 20 20 20 0a 20 20 20 20 20 20 3c 68 34 20 69 64 3d 22 63 49 6d 70 6f 72 74 2d 76 73 2d 74 ............<h4.id="cImport-vs-t
fa280 72 61 6e 73 6c 61 74 65 2d 63 22 3e 3c 61 20 68 72 65 66 3d 22 23 74 6f 63 2d 63 49 6d 70 6f 72 ranslate-c"><a.href="#toc-cImpor
fa2a0 74 2d 76 73 2d 74 72 61 6e 73 6c 61 74 65 2d 63 22 3e 40 63 49 6d 70 6f 72 74 20 76 73 20 74 72 t-vs-translate-c">@cImport.vs.tr
fa2c0 61 6e 73 6c 61 74 65 2d 63 3c 2f 61 3e 20 3c 61 20 63 6c 61 73 73 3d 22 68 64 72 22 20 68 72 65 anslate-c</a>.<a.class="hdr".hre
fa2e0 66 3d 22 23 63 49 6d 70 6f 72 74 2d 76 73 2d 74 72 61 6e 73 6c 61 74 65 2d 63 22 3e c2 a7 3c 2f f="#cImport-vs-translate-c">..</
fa300 61 3e 3c 2f 68 34 3e 0a 0a 20 20 20 20 20 20 3c 70 3e 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c a></h4>........<p><code><span.cl
fa320 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 62 75 69 6c ass="line"><span.class="tok-buil
fa340 74 69 6e 22 3e 40 63 49 6d 70 6f 72 74 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 tin">@cImport</span></span></cod
fa360 65 3e 20 61 6e 64 20 3c 6b 62 64 3e 7a 69 67 20 74 72 61 6e 73 6c 61 74 65 2d 63 3c 2f 6b 62 64 e>.and.<kbd>zig.translate-c</kbd
fa380 3e 20 75 73 65 20 74 68 65 20 73 61 6d 65 20 75 6e 64 65 72 6c 79 69 6e 67 0a 20 20 20 20 20 20 >.use.the.same.underlying.......
fa3a0 43 20 74 72 61 6e 73 6c 61 74 69 6f 6e 20 66 75 6e 63 74 69 6f 6e 61 6c 69 74 79 2c 20 73 6f 20 C.translation.functionality,.so.
fa3c0 6f 6e 20 61 20 74 65 63 68 6e 69 63 61 6c 20 6c 65 76 65 6c 20 74 68 65 79 20 61 72 65 20 65 71 on.a.technical.level.they.are.eq
fa3e0 75 69 76 61 6c 65 6e 74 2e 20 49 6e 20 70 72 61 63 74 69 63 65 2c 0a 20 20 20 20 20 20 3c 63 6f uivalent..In.practice,.......<co
fa400 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 de><span.class="line"><span.clas
fa420 73 3d 22 74 6f 6b 2d 62 75 69 6c 74 69 6e 22 3e 40 63 49 6d 70 6f 72 74 3c 2f 73 70 61 6e 3e 3c s="tok-builtin">@cImport</span><
fa440 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 20 69 73 20 75 73 65 66 75 6c 20 61 73 20 61 20 77 61 79 /span></code>.is.useful.as.a.way
fa460 20 74 6f 20 71 75 69 63 6b 6c 79 20 61 6e 64 20 65 61 73 69 6c 79 20 61 63 63 65 73 73 20 6e 75 .to.quickly.and.easily.access.nu
fa480 6d 65 72 69 63 20 63 6f 6e 73 74 61 6e 74 73 2c 20 74 79 70 65 64 65 66 73 2c 0a 20 20 20 20 20 meric.constants,.typedefs,......
fa4a0 20 61 6e 64 20 72 65 63 6f 72 64 20 74 79 70 65 73 20 77 69 74 68 6f 75 74 20 6e 65 65 64 69 6e .and.record.types.without.needin
fa4c0 67 20 61 6e 79 20 65 78 74 72 61 20 73 65 74 75 70 2e 20 49 66 20 79 6f 75 20 6e 65 65 64 20 74 g.any.extra.setup..If.you.need.t
fa4e0 6f 20 70 61 73 73 20 3c 61 20 68 72 65 66 3d 22 23 55 73 69 6e 67 2d 2d 74 61 72 67 65 74 2d 61 o.pass.<a.href="#Using--target-a
fa500 6e 64 2d 2d 63 66 6c 61 67 73 22 3e 63 66 6c 61 67 73 3c 2f 61 3e 0a 20 20 20 20 20 20 74 6f 20 nd--cflags">cflags</a>.......to.
fa520 63 6c 61 6e 67 2c 20 6f 72 20 69 66 20 79 6f 75 20 77 6f 75 6c 64 20 6c 69 6b 65 20 74 6f 20 65 clang,.or.if.you.would.like.to.e
fa540 64 69 74 20 74 68 65 20 74 72 61 6e 73 6c 61 74 65 64 20 63 6f 64 65 2c 20 69 74 20 69 73 20 72 dit.the.translated.code,.it.is.r
fa560 65 63 6f 6d 6d 65 6e 64 65 64 20 74 6f 20 75 73 65 0a 20 20 20 20 20 20 3c 6b 62 64 3e 7a 69 67 ecommended.to.use.......<kbd>zig
fa580 20 74 72 61 6e 73 6c 61 74 65 2d 63 3c 2f 6b 62 64 3e 20 61 6e 64 20 73 61 76 65 20 74 68 65 20 .translate-c</kbd>.and.save.the.
fa5a0 72 65 73 75 6c 74 73 20 74 6f 20 61 20 66 69 6c 65 2e 20 43 6f 6d 6d 6f 6e 20 72 65 61 73 6f 6e results.to.a.file..Common.reason
fa5c0 73 20 66 6f 72 20 65 64 69 74 69 6e 67 0a 20 20 20 20 20 20 74 68 65 20 67 65 6e 65 72 61 74 65 s.for.editing.......the.generate
fa5e0 64 20 63 6f 64 65 20 69 6e 63 6c 75 64 65 3a 20 63 68 61 6e 67 69 6e 67 20 3c 63 6f 64 65 3e 3c d.code.include:.changing.<code><
fa600 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 span.class="line"><span.class="t
fa620 6f 6b 2d 6b 77 22 3e 61 6e 79 74 79 70 65 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 3c 2f 63 6f ok-kw">anytype</span></span></co
fa640 64 65 3e 20 70 61 72 61 6d 65 74 65 72 73 20 69 6e 20 66 75 6e 63 74 69 6f 6e 2d 6c 69 6b 65 20 de>.parameters.in.function-like.
fa660 6d 61 63 72 6f 73 20 74 6f 20 6d 6f 72 65 0a 20 20 20 20 20 20 73 70 65 63 69 66 69 63 20 74 79 macros.to.more.......specific.ty
fa680 70 65 73 3b 20 63 68 61 6e 67 69 6e 67 20 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d pes;.changing.<code><span.class=
fa6a0 22 6c 69 6e 65 22 3e 5b 2a 63 5d 54 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 20 70 6f 69 6e 74 "line">[*c]T</span></code>.point
fa6c0 65 72 73 20 74 6f 20 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e ers.to.<code><span.class="line">
fa6e0 5b 2a 5d 54 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 6f 64 [*]T</span></code>.or.......<cod
fa700 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 2a 54 3c 2f 73 70 61 6e 3e 3c 2f e><span.class="line">*T</span></
fa720 63 6f 64 65 3e 20 70 6f 69 6e 74 65 72 73 20 66 6f 72 20 69 6d 70 72 6f 76 65 64 20 74 79 70 65 code>.pointers.for.improved.type
fa740 20 73 61 66 65 74 79 3b 20 61 6e 64 0a 20 20 20 20 20 20 3c 61 20 68 72 65 66 3d 22 23 73 65 74 .safety;.and.......<a.href="#set
fa760 52 75 6e 74 69 6d 65 53 61 66 65 74 79 22 3e 65 6e 61 62 6c 69 6e 67 20 6f 72 20 64 69 73 61 62 RuntimeSafety">enabling.or.disab
fa780 6c 69 6e 67 20 72 75 6e 74 69 6d 65 20 73 61 66 65 74 79 3c 2f 61 3e 20 77 69 74 68 69 6e 20 73 ling.runtime.safety</a>.within.s
fa7a0 70 65 63 69 66 69 63 20 66 75 6e 63 74 69 6f 6e 73 2e 0a 20 20 20 20 20 20 3c 2f 70 3e 0a 20 20 pecific.functions........</p>...
fa7c0 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>.
fa7e0 3c 6c 69 3e 3c 61 20 68 72 65 66 3d 22 23 54 61 72 67 65 74 73 22 3e 54 61 72 67 65 74 73 3c 2f <li><a.href="#Targets">Targets</
fa800 61 3e 3c 2f 6c 69 3e 0a 3c 6c 69 3e 3c 61 20 68 72 65 66 3d 22 23 43 2d 54 79 70 65 2d 50 72 69 a></li>.<li><a.href="#C-Type-Pri
fa820 6d 69 74 69 76 65 73 22 3e 43 20 54 79 70 65 20 50 72 69 6d 69 74 69 76 65 73 3c 2f 61 3e 3c 2f mitives">C.Type.Primitives</a></
fa840 6c 69 3e 0a 3c 6c 69 3e 3c 61 20 68 72 65 66 3d 22 23 50 6f 69 6e 74 65 72 73 22 3e 50 6f 69 6e li>.<li><a.href="#Pointers">Poin
fa860 74 65 72 73 3c 2f 61 3e 3c 2f 6c 69 3e 0a 3c 6c 69 3e 3c 61 20 68 72 65 66 3d 22 23 43 2d 50 6f ters</a></li>.<li><a.href="#C-Po
fa880 69 6e 74 65 72 73 22 3e 43 20 50 6f 69 6e 74 65 72 73 3c 2f 61 3e 3c 2f 6c 69 3e 0a 3c 6c 69 3e inters">C.Pointers</a></li>.<li>
fa8a0 3c 61 20 68 72 65 66 3d 22 23 49 6d 70 6f 72 74 2d 66 72 6f 6d 2d 43 2d 48 65 61 64 65 72 2d 46 <a.href="#Import-from-C-Header-F
fa8c0 69 6c 65 22 3e 49 6d 70 6f 72 74 20 66 72 6f 6d 20 43 20 48 65 61 64 65 72 20 46 69 6c 65 3c 2f ile">Import.from.C.Header.File</
fa8e0 61 3e 3c 2f 6c 69 3e 0a 3c 6c 69 3e 3c 61 20 68 72 65 66 3d 22 23 63 49 6e 63 6c 75 64 65 22 3e a></li>.<li><a.href="#cInclude">
fa900 40 63 49 6e 63 6c 75 64 65 3c 2f 61 3e 3c 2f 6c 69 3e 0a 3c 6c 69 3e 3c 61 20 68 72 65 66 3d 22 @cInclude</a></li>.<li><a.href="
fa920 23 63 49 6d 70 6f 72 74 22 3e 40 63 49 6d 70 6f 72 74 3c 2f 61 3e 3c 2f 6c 69 3e 0a 3c 6c 69 3e #cImport">@cImport</a></li>.<li>
fa940 3c 61 20 68 72 65 66 3d 22 23 73 65 74 52 75 6e 74 69 6d 65 53 61 66 65 74 79 22 3e 40 73 65 74 <a.href="#setRuntimeSafety">@set
fa960 52 75 6e 74 69 6d 65 53 61 66 65 74 79 3c 2f 61 3e 3c 2f 6c 69 3e 0a 3c 2f 75 6c 3e 0a 0a 20 20 RuntimeSafety</a></li>.</ul>....
fa980 20 20 20 20 0a 20 20 20 20 20 20 3c 68 33 20 69 64 3d 22 43 2d 54 72 61 6e 73 6c 61 74 69 6f 6e ...........<h3.id="C-Translation
fa9a0 2d 43 61 63 68 69 6e 67 22 3e 3c 61 20 68 72 65 66 3d 22 23 74 6f 63 2d 43 2d 54 72 61 6e 73 6c -Caching"><a.href="#toc-C-Transl
fa9c0 61 74 69 6f 6e 2d 43 61 63 68 69 6e 67 22 3e 43 20 54 72 61 6e 73 6c 61 74 69 6f 6e 20 43 61 63 ation-Caching">C.Translation.Cac
fa9e0 68 69 6e 67 3c 2f 61 3e 20 3c 61 20 63 6c 61 73 73 3d 22 68 64 72 22 20 68 72 65 66 3d 22 23 43 hing</a>.<a.class="hdr".href="#C
faa00 2d 54 72 61 6e 73 6c 61 74 69 6f 6e 2d 43 61 63 68 69 6e 67 22 3e c2 a7 3c 2f 61 3e 3c 2f 68 33 -Translation-Caching">..</a></h3
faa20 3e 0a 0a 20 20 20 20 20 20 3c 70 3e 0a 20 20 20 20 20 20 20 20 54 68 65 20 43 20 74 72 61 6e 73 >........<p>.........The.C.trans
faa40 6c 61 74 69 6f 6e 20 66 65 61 74 75 72 65 20 28 77 68 65 74 68 65 72 20 75 73 65 64 20 76 69 61 lation.feature.(whether.used.via
faa60 20 3c 6b 62 64 3e 7a 69 67 20 74 72 61 6e 73 6c 61 74 65 2d 63 3c 2f 6b 62 64 3e 20 6f 72 0a 20 .<kbd>zig.translate-c</kbd>.or..
faa80 20 20 20 20 20 20 20 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e .......<code><span.class="line">
faaa0 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 62 75 69 6c 74 69 6e 22 3e 40 63 49 6d 70 6f <span.class="tok-builtin">@cImpo
faac0 72 74 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 29 20 69 6e 74 65 67 72 61 rt</span></span></code>).integra
faae0 74 65 73 20 77 69 74 68 20 74 68 65 20 5a 69 67 20 63 61 63 68 69 6e 67 20 73 79 73 74 65 6d 2e tes.with.the.Zig.caching.system.
fab00 20 53 75 62 73 65 71 75 65 6e 74 20 72 75 6e 73 20 77 69 74 68 0a 20 20 20 20 20 20 20 20 74 68 .Subsequent.runs.with.........th
fab20 65 20 73 61 6d 65 20 73 6f 75 72 63 65 20 66 69 6c 65 2c 20 74 61 72 67 65 74 2c 20 61 6e 64 20 e.same.source.file,.target,.and.
fab40 63 66 6c 61 67 73 20 77 69 6c 6c 20 75 73 65 20 74 68 65 20 63 61 63 68 65 20 69 6e 73 74 65 61 cflags.will.use.the.cache.instea
fab60 64 20 6f 66 20 72 65 70 65 61 74 65 64 6c 79 20 74 72 61 6e 73 6c 61 74 69 6e 67 0a 20 20 20 20 d.of.repeatedly.translating.....
fab80 20 20 20 20 74 68 65 20 73 61 6d 65 20 63 6f 64 65 2e 0a 20 20 20 20 20 20 3c 2f 70 3e 0a 20 20 ....the.same.code........</p>...
faba0 20 20 20 20 3c 70 3e 0a 20 20 20 20 20 20 20 20 54 6f 20 73 65 65 20 77 68 65 72 65 20 74 68 65 ....<p>.........To.see.where.the
fabc0 20 63 61 63 68 65 64 20 66 69 6c 65 73 20 61 72 65 20 73 74 6f 72 65 64 20 77 68 65 6e 20 63 6f .cached.files.are.stored.when.co
fabe0 6d 70 69 6c 69 6e 67 20 63 6f 64 65 20 74 68 61 74 20 75 73 65 73 20 3c 63 6f 64 65 3e 3c 73 70 mpiling.code.that.uses.<code><sp
fac00 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b an.class="line"><span.class="tok
fac20 2d 62 75 69 6c 74 69 6e 22 3e 40 63 49 6d 70 6f 72 74 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e -builtin">@cImport</span></span>
fac40 3c 2f 63 6f 64 65 3e 2c 0a 20 20 20 20 20 20 20 20 75 73 65 20 74 68 65 20 3c 6b 62 64 3e 2d 2d </code>,.........use.the.<kbd>--
fac60 76 65 72 62 6f 73 65 2d 63 69 6d 70 6f 72 74 3c 2f 6b 62 64 3e 20 66 6c 61 67 3a 0a 20 20 20 20 verbose-cimport</kbd>.flag:.....
fac80 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
faca0 20 63 6c 61 73 73 3d 22 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
facc0 6c 65 22 3e 76 65 72 62 6f 73 65 2e 7a 69 67 3c 2f 63 69 74 65 3e 3c 2f 66 69 67 63 61 70 74 69 le">verbose.zig</cite></figcapti
face0 6f 6e 3e 3c 70 72 65 3e 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 on><pre><code><span.class="line"
fad00 3e 3c 73 70 61 6e 20 63 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
fad20 6e 3e 20 63 20 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 62 75 69 6c 74 69 6e 22 n>.c.=.<span.class="tok-builtin"
fad40 3e 40 63 49 6d 70 6f 72 74 3c 2f 73 70 61 6e 3e 28 7b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 >@cImport</span>({</span>.<span.
fad60 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f class="line">....<span.class="to
fad80 6b 2d 62 75 69 6c 74 69 6e 22 3e 40 63 44 65 66 69 6e 65 3c 2f 73 70 61 6e 3e 28 3c 73 70 61 6e k-builtin">@cDefine</span>(<span
fada0 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 73 74 72 22 3e 26 71 75 6f 74 3b 5f 4e 4f 5f 43 52 54 5f 53 .class="tok-str">&quot;_NO_CRT_S
fadc0 54 44 49 4f 5f 49 4e 4c 49 4e 45 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 2c 20 3c 73 70 61 6e 20 TDIO_INLINE&quot;</span>,.<span.
fade0 63 6c 61 73 73 3d 22 74 6f 6b 2d 73 74 72 22 3e 26 71 75 6f 74 3b 31 26 71 75 6f 74 3b 3c 2f 73 class="tok-str">&quot;1&quot;</s
fae00 70 61 6e 3e 29 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 pan>);</span>.<span.class="line"
fae20 3e 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 62 75 69 6c 74 69 6e 22 3e 40 >....<span.class="tok-builtin">@
fae40 63 49 6e 63 6c 75 64 65 3c 2f 73 70 61 6e 3e 28 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b cInclude</span>(<span.class="tok
fae60 2d 73 74 72 22 3e 26 71 75 6f 74 3b 73 74 64 69 6f 2e 68 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e -str">&quot;stdio.h&quot;</span>
fae80 29 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 7d 29 3b );</span>.<span.class="line">});
faea0 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e </span>.<span.class="line"><span
faec0 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
faee0 20 63 6c 61 73 73 3d 22 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.
faf00 63 6c 61 73 73 3d 22 74 6f 6b 2d 66 6e 22 3e 6d 61 69 6e 3c 2f 73 70 61 6e 3e 28 29 20 3c 73 70 class="tok-fn">main</span>().<sp
faf20 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>.
faf40 7b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 {</span>.<span.class="line">....
faf60 5f 20 3d 20 63 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 _.=.c;</span>.<span.class="line"
faf80 3e 7d 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 3c 2f 70 72 65 3e 3c 2f 66 69 67 75 72 65 3e 3c >}</span></code></pre></figure><
fafa0 66 69 67 75 72 65 3e 3c 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-
fafc0 63 61 70 22 3e 53 68 65 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
fafe0 70 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 24 20 3c 6b 62 64 3e 7a 69 67 20 p><span.class="line">$.<kbd>zig.
fb000 62 75 69 6c 64 2d 65 78 65 20 76 65 72 62 6f 73 65 2e 7a 69 67 20 2d 6c 63 20 2d 2d 76 65 72 62 build-exe.verbose.zig.-lc.--verb
fb020 6f 73 65 2d 63 69 6d 70 6f 72 74 3c 2f 6b 62 64 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 ose-cimport</kbd></span>.<span.c
fb040 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 69 6e 66 6f 28 63 6f 6d 70 69 6c 61 74 69 6f 6e 29 3a 20 43 lass="line">info(compilation):.C
fb060 20 69 6d 70 6f 72 74 20 73 6f 75 72 63 65 3a 20 2f 68 6f 6d 65 2f 63 69 2f 72 65 6c 65 61 73 65 .import.source:./home/ci/release
fb080 2d 30 2e 31 30 2e 31 2f 6f 75 74 2f 7a 69 67 2d 6c 6f 63 61 6c 2d 63 61 63 68 65 2f 6f 2f 30 35 -0.10.1/out/zig-local-cache/o/05
fb0a0 34 37 37 34 33 62 38 31 62 64 65 66 66 35 31 61 34 39 65 35 32 61 35 65 39 33 31 30 32 63 2f 63 47743b81bdeff51a49e52a5e93102c/c
fb0c0 69 6d 70 6f 72 74 2e 68 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e import.h</span>.<span.class="lin
fb0e0 65 22 3e 69 6e 66 6f 28 63 6f 6d 70 69 6c 61 74 69 6f 6e 29 3a 20 43 20 69 6d 70 6f 72 74 20 2e e">info(compilation):.C.import..
fb100 64 20 66 69 6c 65 3a 20 2f 68 6f 6d 65 2f 63 69 2f 72 65 6c 65 61 73 65 2d 30 2e 31 30 2e 31 2f d.file:./home/ci/release-0.10.1/
fb120 6f 75 74 2f 7a 69 67 2d 6c 6f 63 61 6c 2d 63 61 63 68 65 2f 6f 2f 30 35 34 37 37 34 33 62 38 31 out/zig-local-cache/o/0547743b81
fb140 62 64 65 66 66 35 31 61 34 39 65 35 32 61 35 65 39 33 31 30 32 63 2f 63 69 6d 70 6f 72 74 2e 68 bdeff51a49e52a5e93102c/cimport.h
fb160 2e 64 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 69 6e 66 .d</span>.<span.class="line">inf
fb180 6f 28 63 6f 6d 70 69 6c 61 74 69 6f 6e 29 3a 20 43 20 69 6d 70 6f 72 74 20 6f 75 74 70 75 74 3a o(compilation):.C.import.output:
fb1a0 20 2f 68 6f 6d 65 2f 63 69 2f 72 65 6c 65 61 73 65 2d 30 2e 31 30 2e 31 2f 6f 75 74 2f 7a 69 67 ./home/ci/release-0.10.1/out/zig
fb1c0 2d 6c 6f 63 61 6c 2d 63 61 63 68 65 2f 6f 2f 37 30 64 62 64 66 65 61 30 64 62 37 37 32 39 35 37 -local-cache/o/70dbdfea0db772957
fb1e0 37 32 35 39 36 30 33 37 32 30 34 65 61 31 39 2f 63 69 6d 70 6f 72 74 2e 7a 69 67 3c 2f 73 70 61 72596037204ea19/cimport.zig</spa
fb200 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 n>.<span.class="line"></span>.<s
fb220 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 24 20 3c 6b 62 64 3e 2e 2f 76 65 72 62 6f 73 pan.class="line">$.<kbd>./verbos
fb240 65 3c 2f 6b 62 64 3e 3c 2f 73 70 61 6e 3e 0a 3c 2f 73 61 6d 70 3e 3c 2f 70 72 65 3e 3c 2f 66 69 e</kbd></span>.</samp></pre></fi
fb260 67 75 72 65 3e 0a 20 20 20 20 20 20 3c 70 3e 0a 20 20 20 20 20 20 20 20 3c 63 6f 64 65 20 63 6c gure>.......<p>.........<code.cl
fb280 61 73 73 3d 22 66 69 6c 65 22 3e 63 69 6d 70 6f 72 74 2e 68 3c 2f 63 6f 64 65 3e 20 63 6f 6e 74 ass="file">cimport.h</code>.cont
fb2a0 61 69 6e 73 20 74 68 65 20 66 69 6c 65 20 74 6f 20 74 72 61 6e 73 6c 61 74 65 20 28 63 6f 6e 73 ains.the.file.to.translate.(cons
fb2c0 74 72 75 63 74 65 64 20 66 72 6f 6d 20 63 61 6c 6c 73 20 74 6f 0a 20 20 20 20 20 20 20 20 3c 63 tructed.from.calls.to.........<c
fb2e0 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 ode><span.class="line"><span.cla
fb300 73 73 3d 22 74 6f 6b 2d 62 75 69 6c 74 69 6e 22 3e 40 63 49 6e 63 6c 75 64 65 3c 2f 73 70 61 6e ss="tok-builtin">@cInclude</span
fb320 3e 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 2c 20 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 ></span></code>,.<code><span.cla
fb340 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 62 75 69 6c 74 ss="line"><span.class="tok-built
fb360 69 6e 22 3e 40 63 44 65 66 69 6e 65 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 in">@cDefine</span></span></code
fb380 3e 2c 20 61 6e 64 20 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e >,.and.<code><span.class="line">
fb3a0 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 62 75 69 6c 74 69 6e 22 3e 40 63 55 6e 64 65 <span.class="tok-builtin">@cUnde
fb3c0 66 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 29 2c 0a 20 20 20 20 20 20 20 f</span></span></code>),........
fb3e0 20 3c 63 6f 64 65 20 63 6c 61 73 73 3d 22 66 69 6c 65 22 3e 63 69 6d 70 6f 72 74 2e 68 2e 64 3c .<code.class="file">cimport.h.d<
fb400 2f 63 6f 64 65 3e 20 69 73 20 74 68 65 20 6c 69 73 74 20 6f 66 20 66 69 6c 65 20 64 65 70 65 6e /code>.is.the.list.of.file.depen
fb420 64 65 6e 63 69 65 73 2c 20 61 6e 64 0a 20 20 20 20 20 20 20 20 3c 63 6f 64 65 20 63 6c 61 73 73 dencies,.and.........<code.class
fb440 3d 22 66 69 6c 65 22 3e 63 69 6d 70 6f 72 74 2e 7a 69 67 3c 2f 63 6f 64 65 3e 20 63 6f 6e 74 61 ="file">cimport.zig</code>.conta
fb460 69 6e 73 20 74 68 65 20 74 72 61 6e 73 6c 61 74 65 64 20 6f 75 74 70 75 74 2e 0a 20 20 20 20 20 ins.the.translated.output.......
fb480 20 3c 2f 70 3e 0a 20 20 20 20 20 20 3c 70 3e 53 65 65 20 61 6c 73 6f 3a 3c 2f 70 3e 3c 75 6c 3e .</p>.......<p>See.also:</p><ul>
fb4a0 0a 3c 6c 69 3e 3c 61 20 68 72 65 66 3d 22 23 49 6d 70 6f 72 74 2d 66 72 6f 6d 2d 43 2d 48 65 61 .<li><a.href="#Import-from-C-Hea
fb4c0 64 65 72 2d 46 69 6c 65 22 3e 49 6d 70 6f 72 74 20 66 72 6f 6d 20 43 20 48 65 61 64 65 72 20 46 der-File">Import.from.C.Header.F
fb4e0 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 43 2d 54 72 61 ile</a></li>.<li><a.href="#C-Tra
fb500 6e 73 6c 61 74 69 6f 6e 2d 43 4c 49 22 3e 43 20 54 72 61 6e 73 6c 61 74 69 6f 6e 20 43 4c 49 3c nslation-CLI">C.Translation.CLI<
fb520 2f 61 3e 3c 2f 6c 69 3e 0a 3c 6c 69 3e 3c 61 20 68 72 65 66 3d 22 23 63 49 6e 63 6c 75 64 65 22 /a></li>.<li><a.href="#cInclude"
fb540 3e 40 63 49 6e 63 6c 75 64 65 3c 2f 61 3e 3c 2f 6c 69 3e 0a 3c 6c 69 3e 3c 61 20 68 72 65 66 3d >@cInclude</a></li>.<li><a.href=
fb560 22 23 63 49 6d 70 6f 72 74 22 3e 40 63 49 6d 70 6f 72 74 3c 2f 61 3e 3c 2f 6c 69 3e 0a 3c 2f 75 "#cImport">@cImport</a></li>.</u
fb580 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 54 72 61 6e 73 6c 61 l>...............<h3.id="Transla
fb5a0 74 69 6f 6e 2d 66 61 69 6c 75 72 65 73 22 3e 3c 61 20 68 72 65 66 3d 22 23 74 6f 63 2d 54 72 61 tion-failures"><a.href="#toc-Tra
fb5c0 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 20 66 nslation-failures">Translation.f
fb5e0 61 69 6c 75 72 65 73 3c 2f 61 3e 20 3c 61 20 63 6c 61 73 73 3d 22 68 64 72 22 20 68 72 65 66 3d ailures</a>.<a.class="hdr".href=
fb600 22 23 54 72 61 6e 73 6c 61 74 69 6f 6e 2d 66 61 69 6c 75 72 65 73 22 3e c2 a7 3c 2f 61 3e 3c 2f "#Translation-failures">..</a></
fb620 68 33 3e 0a 0a 20 20 20 20 20 20 3c 70 3e 0a 20 20 20 20 20 20 20 20 53 6f 6d 65 20 43 20 63 6f h3>........<p>.........Some.C.co
fb640 6e 73 74 72 75 63 74 73 20 63 61 6e 6e 6f 74 20 62 65 20 74 72 61 6e 73 6c 61 74 65 64 20 74 6f nstructs.cannot.be.translated.to
fb660 20 5a 69 67 20 2d 20 66 6f 72 20 65 78 61 6d 70 6c 65 2c 20 3c 65 6d 3e 67 6f 74 6f 3c 2f 65 6d .Zig.-.for.example,.<em>goto</em
fb680 3e 2c 0a 20 20 20 20 20 20 20 20 73 74 72 75 63 74 73 20 77 69 74 68 20 62 69 74 66 69 65 6c 64 >,.........structs.with.bitfield
fb6a0 73 2c 20 61 6e 64 20 74 6f 6b 65 6e 2d 70 61 73 74 69 6e 67 20 6d 61 63 72 6f 73 2e 20 5a 69 67 s,.and.token-pasting.macros..Zig
fb6c0 20 65 6d 70 6c 6f 79 73 20 3c 65 6d 3e 64 65 6d 6f 74 69 6f 6e 3c 2f 65 6d 3e 20 74 6f 20 61 6c .employs.<em>demotion</em>.to.al
fb6e0 6c 6f 77 20 74 72 61 6e 73 6c 61 74 69 6f 6e 0a 20 20 20 20 20 20 20 20 74 6f 20 63 6f 6e 74 69 low.translation.........to.conti
fb700 6e 75 65 20 69 6e 20 74 68 65 20 66 61 63 65 20 6f 66 20 6e 6f 6e 2d 74 72 61 6e 73 6c 61 74 61 nue.in.the.face.of.non-translata
fb720 62 6c 65 20 65 6e 74 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 ble.entities........</p>.......<
fb740 70 3e 0a 20 20 20 20 20 20 20 20 44 65 6d 6f 74 69 6f 6e 20 63 6f 6d 65 73 20 69 6e 20 74 68 72 p>.........Demotion.comes.in.thr
fb760 65 65 20 76 61 72 69 65 74 69 65 73 20 2d 20 3c 61 20 68 72 65 66 3d 22 23 6f 70 61 71 75 65 22 ee.varieties.-.<a.href="#opaque"
fb780 3e 6f 70 61 71 75 65 3c 2f 61 3e 2c 20 3c 65 6d 3e 65 78 74 65 72 6e 3c 2f 65 6d 3e 2c 20 61 6e >opaque</a>,.<em>extern</em>,.an
fb7a0 64 0a 20 20 20 20 20 20 20 20 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e d.........<code><span.class="lin
fb7c0 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 62 75 69 6c 74 69 6e 22 3e 40 63 6f e"><span.class="tok-builtin">@co
fb7e0 6d 70 69 6c 65 45 72 72 6f 72 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 2e mpileError</span></span></code>.
fb800 0a 0a 20 20 20 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 ..........C.structs.and.unions.t
fb820 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 63 6f 72 72 65 63 74 hat.cannot.be.translated.correct
fb840 6c 79 20 77 69 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 ly.will.be.translated.as.<code><
fb860 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 span.class="line"><span.class="t
fb880 6f 6b 2d 6b 77 22 3e 6f 70 61 71 75 65 3c 2f 73 70 61 6e 3e 7b 7d 3c 2f 73 70 61 6e 3e 3c 2f 63 ok-kw">opaque</span>{}</span></c
fb8a0 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 6e ode>..........Functions.that.con
fb8c0 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 72 tain.opaque.types.or.code.constr
fb8e0 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 77 ucts.that.cannot.be.translated.w
fb900 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 3e ill.be.demoted.........to.<code>
fb920 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 <span.class="line"><span.class="
fb940 74 6f 6b 2d 6b 77 22 3e 65 78 74 65 72 6e 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 3c 2f 63 6f tok-kw">extern</span></span></co
fb960 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 20 20 54 68 75 73 2c de>.declarations...........Thus,
fb980 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 61 6e 20 73 74 69 6c .non-translatable.types.can.stil
fb9a0 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 64 20 6e 6f 6e 2d 74 l.be.used.as.pointers,.and.non-t
fb9c0 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 20 20 20 20 20 63 61 ranslatable.functions.........ca
fb9e0 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 65 20 6c 69 6e 6b 65 n.be.called.so.long.as.the.linke
fba00 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 64 20 66 75 6e 63 74 r.is.aware.of.the.compiled.funct
fba20 69 6f 6e 2e 0a 20 20 20 20 20 20 3c 2f 70 3e 0a 20 20 20 20 20 20 3c 70 3e 0a 20 20 20 20 20 20 ion........</p>.......<p>.......
fba40 20 20 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e ..<code><span.class="line"><span
fba60 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
fba80 6f 72 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 20 69 73 20 75 73 65 64 20 or</span></span></code>.is.used.
fbaa0 77 68 65 6e 20 74 6f 70 2d 6c 65 76 65 6c 20 64 65 66 69 6e 69 74 69 6f 6e 73 20 28 67 6c 6f 62 when.top-level.definitions.(glob
fbac0 61 6c 20 76 61 72 69 61 62 6c 65 73 2c 0a 20 20 20 20 20 20 20 20 66 75 6e 63 74 69 6f 6e 20 70 al.variables,.........function.p
fbae0 72 6f 74 6f 74 79 70 65 73 2c 20 6d 61 63 72 6f 73 29 20 63 61 6e 6e 6f 74 20 62 65 20 74 72 61 rototypes,.macros).cannot.be.tra
fbb00 6e 73 6c 61 74 65 64 20 6f 72 20 64 65 6d 6f 74 65 64 2e 20 53 69 6e 63 65 20 5a 69 67 20 75 73 nslated.or.demoted..Since.Zig.us
fbb20 65 73 20 6c 61 7a 79 20 61 6e 61 6c 79 73 69 73 20 66 6f 72 0a 20 20 20 20 20 20 20 20 74 6f 70 es.lazy.analysis.for.........top
fbb40 2d 6c 65 76 65 6c 20 64 65 63 6c 61 72 61 74 69 6f 6e 73 2c 20 75 6e 74 72 61 6e 73 6c 61 74 61 -level.declarations,.untranslata
fbb60 62 6c 65 20 65 6e 74 69 74 69 65 73 20 77 69 6c 6c 20 6e 6f 74 20 63 61 75 73 65 20 61 20 63 6f ble.entities.will.not.cause.a.co
fbb80 6d 70 69 6c 65 20 65 72 72 6f 72 20 69 6e 20 79 6f 75 72 20 63 6f 64 65 20 75 6e 6c 65 73 73 0a mpile.error.in.your.code.unless.
fbba0 20 20 20 20 20 20 20 20 79 6f 75 20 61 63 74 75 61 6c 6c 79 20 75 73 65 20 74 68 65 6d 2e 0a 20 ........you.actually.use.them...
fbbc0 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>
fbbe0 3c 75 6c 3e 0a 3c 6c 69 3e 3c 61 20 68 72 65 66 3d 22 23 6f 70 61 71 75 65 22 3e 6f 70 61 71 75 <ul>.<li><a.href="#opaque">opaqu
fbc00 65 3c 2f 61 3e 3c 2f 6c 69 3e 0a 3c 6c 69 3e 3c 61 20 68 72 65 66 3d 22 23 65 78 74 65 72 6e 22 e</a></li>.<li><a.href="#extern"
fbc20 3e 65 78 74 65 72 6e 3c 2f 61 3e 3c 2f 6c 69 3e 0a 3c 6c 69 3e 3c 61 20 68 72 65 66 3d 22 23 63 >extern</a></li>.<li><a.href="#c
fbc40 6f 6d 70 69 6c 65 45 72 72 6f 72 22 3e 40 63 6f 6d 70 69 6c 65 45 72 72 6f 72 3c 2f 61 3e 3c 2f ompileError">@compileError</a></
fbc60 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 22 li>.</ul>...............<h3.id="
fbc80 43 2d 4d 61 63 72 6f 73 22 3e 3c 61 20 68 72 65 66 3d 22 23 74 6f 63 2d 43 2d 4d 61 63 72 6f 73 C-Macros"><a.href="#toc-C-Macros
fbca0 22 3e 43 20 4d 61 63 72 6f 73 3c 2f 61 3e 20 3c 61 20 63 6c 61 73 73 3d 22 68 64 72 22 20 68 72 ">C.Macros</a>.<a.class="hdr".hr
fbcc0 65 66 3d 22 23 43 2d 4d 61 63 72 6f 73 22 3e c2 a7 3c 2f 61 3e 3c 2f 68 33 3e 0a 0a 20 20 20 20 ef="#C-Macros">..</a></h3>......
fbce0 20 20 3c 70 3e 0a 20 20 20 20 20 20 20 20 43 20 54 72 61 6e 73 6c 61 74 69 6f 6e 20 6d 61 6b 65 ..<p>.........C.Translation.make
fbd00 73 20 61 20 62 65 73 74 2d 65 66 66 6f 72 74 20 61 74 74 65 6d 70 74 20 74 6f 20 74 72 61 6e 73 s.a.best-effort.attempt.to.trans
fbd20 6c 61 74 65 20 66 75 6e 63 74 69 6f 6e 2d 6c 69 6b 65 20 6d 61 63 72 6f 73 20 69 6e 74 6f 20 65 late.function-like.macros.into.e
fbd40 71 75 69 76 61 6c 65 6e 74 0a 20 20 20 20 20 20 20 20 5a 69 67 20 66 75 6e 63 74 69 6f 6e 73 2e quivalent.........Zig.functions.
fbd60 20 53 69 6e 63 65 20 43 20 6d 61 63 72 6f 73 20 6f 70 65 72 61 74 65 20 61 74 20 74 68 65 20 6c .Since.C.macros.operate.at.the.l
fbd80 65 76 65 6c 20 6f 66 20 6c 65 78 69 63 61 6c 20 74 6f 6b 65 6e 73 2c 20 6e 6f 74 20 61 6c 6c 20 evel.of.lexical.tokens,.not.all.
fbda0 43 20 6d 61 63 72 6f 73 0a 20 20 20 20 20 20 20 20 63 61 6e 20 62 65 20 74 72 61 6e 73 6c 61 74 C.macros.........can.be.translat
fbdc0 65 64 20 74 6f 20 5a 69 67 2e 20 4d 61 63 72 6f 73 20 74 68 61 74 20 63 61 6e 6e 6f 74 20 62 65 ed.to.Zig..Macros.that.cannot.be
fbde0 20 74 72 61 6e 73 6c 61 74 65 64 20 77 69 6c 6c 20 62 65 20 64 65 6d 6f 74 65 64 20 74 6f 0a 20 .translated.will.be.demoted.to..
fbe00 20 20 20 20 20 20 20 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e .......<code><span.class="line">
fbe20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 62 75 69 6c 74 69 6e 22 3e 40 63 6f 6d 70 69 <span.class="tok-builtin">@compi
fbe40 6c 65 45 72 72 6f 72 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 2e 20 4e 6f leError</span></span></code>..No
fbe60 74 65 20 74 68 61 74 20 43 20 63 6f 64 65 20 77 68 69 63 68 20 3c 65 6d 3e 75 73 65 73 3c 2f 65 te.that.C.code.which.<em>uses</e
fbe80 6d 3e 20 6d 61 63 72 6f 73 20 77 69 6c 6c 20 62 65 0a 20 20 20 20 20 20 20 20 74 72 61 6e 73 6c m>.macros.will.be.........transl
fbea0 61 74 65 64 20 77 69 74 68 6f 75 74 20 61 6e 79 20 61 64 64 69 74 69 6f 6e 61 6c 20 69 73 73 75 ated.without.any.additional.issu
fbec0 65 73 20 28 73 69 6e 63 65 20 5a 69 67 20 6f 70 65 72 61 74 65 73 20 6f 6e 20 74 68 65 20 70 72 es.(since.Zig.operates.on.the.pr
fbee0 65 2d 70 72 6f 63 65 73 73 65 64 20 73 6f 75 72 63 65 0a 20 20 20 20 20 20 20 20 77 69 74 68 20 e-processed.source.........with.
fbf00 6d 61 63 72 6f 73 20 65 78 70 61 6e 64 65 64 29 2e 20 49 74 20 69 73 20 6d 65 72 65 6c 79 20 74 macros.expanded)..It.is.merely.t
fbf20 68 65 20 6d 61 63 72 6f 73 20 74 68 65 6d 73 65 6c 76 65 73 20 77 68 69 63 68 20 6d 61 79 20 6e he.macros.themselves.which.may.n
fbf40 6f 74 20 62 65 20 74 72 61 6e 73 6c 61 74 61 62 6c 65 20 74 6f 0a 20 20 20 20 20 20 20 20 5a 69 ot.be.translatable.to.........Zi
fbf60 67 2e 0a 20 20 20 20 20 20 3c 2f 70 3e 0a 20 20 20 20 20 20 3c 70 3e 43 6f 6e 73 69 64 65 72 20 g........</p>.......<p>Consider.
fbf80 74 68 65 20 66 6f 6c 6c 6f 77 69 6e 67 20 65 78 61 6d 70 6c 65 3a 3c 2f 70 3e 0a 20 20 20 20 20 the.following.example:</p>......
fbfa0 20 3c 66 69 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
fbfc0 70 22 3e 3c 63 69 74 65 20 63 6c 61 73 73 3d 22 66 69 6c 65 22 3e 6d 61 63 72 6f 2e 63 3c 2f 63 p"><cite.class="file">macro.c</c
fbfe0 69 74 65 3e 3c 2f 66 69 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
fc000 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 23 64 65 66 69 6e 65 20 4d 41 4b 45 4c 4f 43 41 4c n.class="line">#define.MAKELOCAL
fc020 28 4e 41 4d 45 2c 20 49 4e 49 54 29 20 69 6e 74 20 4e 41 4d 45 20 3d 20 49 4e 49 54 3c 2f 73 70 (NAME,.INIT).int.NAME.=.INIT</sp
fc040 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 69 6e 74 20 66 6f 6f 28 76 an>.<span.class="line">int.foo(v
fc060 6f 69 64 29 20 7b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 oid).{</span>.<span.class="line"
fc080 3e 20 20 20 4d 41 4b 45 4c 4f 43 41 4c 28 61 2c 20 31 29 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 >...MAKELOCAL(a,.1);</span>.<spa
fc0a0 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 4d 41 4b 45 4c 4f 43 41 4c 28 62 2c 20 32 n.class="line">...MAKELOCAL(b,.2
fc0c0 29 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 );</span>.<span.class="line">...
fc0e0 72 65 74 75 72 6e 20 61 20 2b 20 62 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 return.a.+.b;</span>.<span.class
fc100 3d 22 6c 69 6e 65 22 3e 7d 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 3c 2f 70 72 65 3e 3c 2f 66 ="line">}</span></code></pre></f
fc120 69 67 75 72 65 3e 0a 20 20 20 20 20 20 3c 66 69 67 75 72 65 3e 3c 66 69 67 63 61 70 74 69 6f 6e igure>.......<figure><figcaption
fc140 20 63 6c 61 73 73 3d 22 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
fc160 74 69 6f 6e 3e 3c 70 72 65 3e 3c 73 61 6d 70 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e tion><pre><samp><span.class="lin
fc180 65 22 3e 24 20 3c 6b 62 64 3e 7a 69 67 20 74 72 61 6e 73 6c 61 74 65 2d 63 20 6d 61 63 72 6f 2e e">$.<kbd>zig.translate-c.macro.
fc1a0 63 20 26 67 74 3b 20 6d 61 63 72 6f 2e 7a 69 67 3c 2f 6b 62 64 3e 3c 2f 73 70 61 6e 3e 0a 3c 2f c.&gt;.macro.zig</kbd></span>.</
fc1c0 73 61 6d 70 3e 3c 2f 70 72 65 3e 3c 2f 66 69 67 75 72 65 3e 0a 20 20 20 20 20 20 3c 66 69 67 75 samp></pre></figure>.......<figu
fc1e0 72 65 3e 3c 66 69 67 63 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"><
fc200 63 69 74 65 20 63 6c 61 73 73 3d 22 66 69 6c 65 22 3e 6d 61 63 72 6f 2e 7a 69 67 3c 2f 63 69 74 cite.class="file">macro.zig</cit
fc220 65 3e 3c 2f 66 69 67 63 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.
fc240 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 class="line"><span.class="tok-kw
fc260 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
fc280 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
fc2a0 2d 6b 77 22 3e 66 6e 3c 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-
fc2c0 66 6e 22 3e 66 6f 6f 3c 2f 73 70 61 6e 3e 28 29 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f fn">foo</span>().<span.class="to
fc2e0 6b 2d 74 79 70 65 22 3e 63 5f 69 6e 74 3c 2f 73 70 61 6e 3e 20 7b 3c 2f 73 70 61 6e 3e 0a 3c 73 k-type">c_int</span>.{</span>.<s
fc300 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 pan.class="line">....<span.class
fc320 3d 22 74 6f 6b 2d 6b 77 22 3e 76 61 72 3c 2f 73 70 61 6e 3e 20 61 3a 20 3c 73 70 61 6e 20 63 6c ="tok-kw">var</span>.a:.<span.cl
fc340 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 63 5f 69 6e 74 3c 2f 73 70 61 6e 3e 20 3d 20 3c 73 ass="tok-type">c_int</span>.=.<s
fc360 70 61 6e 20 63 6c 61 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>;
fc380 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 3c </span>.<span.class="line">....<
fc3a0 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 76 61 72 3c 2f 73 70 61 6e 3e 20 62 span.class="tok-kw">var</span>.b
fc3c0 3a 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 63 5f 69 6e 74 3c 2f :.<span.class="tok-type">c_int</
fc3e0 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"
fc400 3e 32 3c 2f 73 70 61 6e 3e 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c >2</span>;</span>.<span.class="l
fc420 69 6e 65 22 3e 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 72 65 ine">....<span.class="tok-kw">re
fc440 74 75 72 6e 3c 2f 73 70 61 6e 3e 20 61 20 2b 20 62 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 turn</span>.a.+.b;</span>.<span.
fc460 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 7d 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 class="line">}</span>.<span.clas
fc480 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 70 75 s="line"><span.class="tok-kw">pu
fc4a0 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
fc4c0 6e 73 74 3c 2f 73 70 61 6e 3e 20 4d 41 4b 45 4c 4f 43 41 4c 20 3d 20 3c 73 70 61 6e 20 63 6c 61 nst</span>.MAKELOCAL.=.<span.cla
fc4e0 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</
fc500 73 70 61 6e 3e 28 3c 73 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
fc520 74 3b 75 6e 61 62 6c 65 20 74 6f 20 74 72 61 6e 73 6c 61 74 65 20 43 20 65 78 70 72 3a 20 75 6e t;unable.to.translate.C.expr:.un
fc540 65 78 70 65 63 74 65 64 20 74 6f 6b 65 6e 20 2e 45 71 75 61 6c 26 71 75 6f 74 3b 3c 2f 73 70 61 expected.token..Equal&quot;</spa
fc560 6e 3e 29 3b 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 63 6f 6d 6d 65 6e 74 22 3e 2f n>);.<span.class="tok-comment">/
fc580 2f 20 6d 61 63 72 6f 2e 63 3a 31 3a 39 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 /.macro.c:1:9</span></span></cod
fc5a0 65 3e 3c 2f 70 72 65 3e 3c 2f 66 69 67 75 72 65 3e 0a 20 20 20 20 20 20 3c 70 3e 4e 6f 74 65 20 e></pre></figure>.......<p>Note.
fc5c0 74 68 61 74 20 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 66 6f that.<code><span.class="line">fo
fc5e0 6f 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 20 77 61 73 20 74 72 61 6e 73 6c 61 74 65 64 20 63 o</span></code>.was.translated.c
fc600 6f 72 72 65 63 74 6c 79 20 64 65 73 70 69 74 65 20 75 73 69 6e 67 20 61 20 6e 6f 6e 2d 74 72 61 orrectly.despite.using.a.non-tra
fc620 6e 73 6c 61 74 61 62 6c 65 0a 20 20 20 20 20 20 20 20 6d 61 63 72 6f 2e 20 3c 63 6f 64 65 3e 3c nslatable.........macro..<code><
fc640 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 4d 41 4b 45 4c 4f 43 41 4c 3c 2f 73 70 61 span.class="line">MAKELOCAL</spa
fc660 6e 3e 3c 2f 63 6f 64 65 3e 20 77 61 73 20 64 65 6d 6f 74 65 64 20 74 6f 20 3c 63 6f 64 65 3e 3c n></code>.was.demoted.to.<code><
fc680 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 span.class="line"><span.class="t
fc6a0 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>
fc6c0 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 20 73 69 6e 63 65 0a 20 20 20 20 20 20 20 20 69 74 20 </span></code>.since.........it.
fc6e0 63 61 6e 6e 6f 74 20 62 65 20 65 78 70 72 65 73 73 65 64 20 61 73 20 61 20 5a 69 67 20 66 75 6e cannot.be.expressed.as.a.Zig.fun
fc700 63 74 69 6f 6e 3b 20 74 68 69 73 20 73 69 6d 70 6c 79 20 6d 65 61 6e 73 20 74 68 61 74 20 79 6f ction;.this.simply.means.that.yo
fc720 75 20 63 61 6e 6e 6f 74 20 64 69 72 65 63 74 6c 79 20 75 73 65 0a 20 20 20 20 20 20 20 20 3c 63 u.cannot.directly.use.........<c
fc740 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 4d 41 4b 45 4c 4f 43 41 4c ode><span.class="line">MAKELOCAL
fc760 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 20 66 72 6f 6d 20 5a 69 67 2e 0a 20 20 20 20 20 20 3c </span></code>.from.Zig........<
fc780 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>.<
fc7a0 6c 69 3e 3c 61 20 68 72 65 66 3d 22 23 63 6f 6d 70 69 6c 65 45 72 72 6f 72 22 3e 40 63 6f 6d 70 li><a.href="#compileError">@comp
fc7c0 69 6c 65 45 72 72 6f 72 3c 2f 61 3e 3c 2f 6c 69 3e 0a 3c 2f 75 6c 3e 0a 0a 20 20 20 20 20 20 0a ileError</a></li>.</ul>.........
fc7e0 0a 20 20 20 20 20 20 3c 68 33 20 69 64 3d 22 43 2d 50 6f 69 6e 74 65 72 73 22 3e 3c 61 20 68 72 .......<h3.id="C-Pointers"><a.hr
fc800 65 66 3d 22 23 74 6f 63 2d 43 2d 50 6f 69 6e 74 65 72 73 22 3e 43 20 50 6f 69 6e 74 65 72 73 3c ef="#toc-C-Pointers">C.Pointers<
fc820 2f 61 3e 20 3c 61 20 63 6c 61 73 73 3d 22 68 64 72 22 20 68 72 65 66 3d 22 23 43 2d 50 6f 69 6e /a>.<a.class="hdr".href="#C-Poin
fc840 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 20 ters">..</a></h3>........<p>....
fc860 20 20 20 54 68 69 73 20 74 79 70 65 20 69 73 20 74 6f 20 62 65 20 61 76 6f 69 64 65 64 20 77 68 ...This.type.is.to.be.avoided.wh
fc880 65 6e 65 76 65 72 20 70 6f 73 73 69 62 6c 65 2e 20 54 68 65 20 6f 6e 6c 79 20 76 61 6c 69 64 20 enever.possible..The.only.valid.
fc8a0 72 65 61 73 6f 6e 20 66 6f 72 20 75 73 69 6e 67 20 61 20 43 20 70 6f 69 6e 74 65 72 20 69 73 20 reason.for.using.a.C.pointer.is.
fc8c0 69 6e 0a 20 20 20 20 20 20 61 75 74 6f 2d 67 65 6e 65 72 61 74 65 64 20 63 6f 64 65 20 66 72 6f in.......auto-generated.code.fro
fc8e0 6d 20 74 72 61 6e 73 6c 61 74 69 6e 67 20 43 20 63 6f 64 65 2e 0a 20 20 20 20 20 20 3c 2f 70 3e m.translating.C.code........</p>
fc900 0a 20 20 20 20 20 20 3c 70 3e 0a 20 20 20 20 20 20 57 68 65 6e 20 69 6d 70 6f 72 74 69 6e 67 20 .......<p>.......When.importing.
fc920 43 20 68 65 61 64 65 72 20 66 69 6c 65 73 2c 20 69 74 20 69 73 20 61 6d 62 69 67 75 6f 75 73 20 C.header.files,.it.is.ambiguous.
fc940 77 68 65 74 68 65 72 20 70 6f 69 6e 74 65 72 73 20 73 68 6f 75 6c 64 20 62 65 20 74 72 61 6e 73 whether.pointers.should.be.trans
fc960 6c 61 74 65 64 20 61 73 0a 20 20 20 20 20 20 73 69 6e 67 6c 65 2d 69 74 65 6d 20 70 6f 69 6e 74 lated.as.......single-item.point
fc980 65 72 73 20 28 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 2a 54 ers.(<code><span.class="line">*T
fc9a0 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 29 20 6f 72 20 6d 61 6e 79 2d 69 74 65 6d 20 70 6f 69 </span></code>).or.many-item.poi
fc9c0 6e 74 65 72 73 20 28 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e nters.(<code><span.class="line">
fc9e0 5b 2a 5d 54 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 29 2e 0a 20 20 20 20 20 20 43 20 70 6f 69 [*]T</span></code>)........C.poi
fca00 6e 74 65 72 73 20 61 72 65 20 61 20 63 6f 6d 70 72 6f 6d 69 73 65 20 73 6f 20 74 68 61 74 20 5a nters.are.a.compromise.so.that.Z
fca20 69 67 20 63 6f 64 65 20 63 61 6e 20 75 74 69 6c 69 7a 65 20 74 72 61 6e 73 6c 61 74 65 64 20 68 ig.code.can.utilize.translated.h
fca40 65 61 64 65 72 20 66 69 6c 65 73 20 64 69 72 65 63 74 6c 79 2e 0a 20 20 20 20 20 20 3c 2f 70 3e eader.files.directly........</p>
fca60 0a 20 20 20 20 20 20 3c 70 3e 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e .......<p><code><span.class="lin
fca80 65 22 3e 5b 2a 63 5d 54 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 20 2d 20 43 20 70 6f 69 6e 74 e">[*c]T</span></code>.-.C.point
fcaa0 65 72 2e 3c 2f 70 3e 0a 20 20 20 20 20 20 3c 75 6c 3e 0a 20 20 20 20 20 20 20 20 3c 6c 69 3e 53 er.</p>.......<ul>.........<li>S
fcac0 75 70 70 6f 72 74 73 20 61 6c 6c 20 74 68 65 20 73 79 6e 74 61 78 20 6f 66 20 74 68 65 20 6f 74 upports.all.the.syntax.of.the.ot
fcae0 68 65 72 20 74 77 6f 20 70 6f 69 6e 74 65 72 20 74 79 70 65 73 2e 3c 2f 6c 69 3e 0a 20 20 20 20 her.two.pointer.types.</li>.....
fcb00 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 6e 74 65 72 ....<li>Coerces.to.other.pointer
fcb20 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 23 4f 70 74 .types,.as.well.as.<a.href="#Opt
fcb40 69 6f 6e 61 6c 2d 50 6f 69 6e 74 65 72 73 22 3e 4f 70 74 69 6f 6e 61 6c 20 50 6f 69 6e 74 65 72 ional-Pointers">Optional.Pointer
fcb60 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 70 6f 69 6e s</a>..............When.a.C.poin
fcb80 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 6f 6e 61 6c ter.is.coerced.to.a.non-optional
fcba0 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 20 20 20 20 .pointer,.safety-checked........
fcbc0 20 20 20 20 20 3c 61 20 68 72 65 66 3d 22 23 55 6e 64 65 66 69 6e 65 64 2d 42 65 68 61 76 69 6f .....<a.href="#Undefined-Behavio
fcbe0 72 22 3e 55 6e 64 65 66 69 6e 65 64 20 42 65 68 61 76 69 6f 72 3c 2f 61 3e 20 6f 63 63 75 72 73 r">Undefined.Behavior</a>.occurs
fcc00 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..........</
fcc20 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
fcc40 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
fcc60 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
fcc80 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 55 -checked.............<a.href="#U
fcca0 6e 64 65 66 69 6e 65 64 2d 42 65 68 61 76 69 6f 72 22 3e 55 6e 64 65 66 69 6e 65 64 20 42 65 68 ndefined-Behavior">Undefined.Beh
fccc0 61 76 69 6f 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 avior</a>..Optional.C.pointers.i
fcce0 6e 74 72 6f 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 ntroduce.another.bit.to.keep.tra
fcd00 63 6b 20 6f 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 ck.of.............null,.just.lik
fcd20 65 20 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3f 3c 73 70 61 e.<code><span.class="line">?<spa
fcd40 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><
fcd60 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 69 6e /span></code>..Note.that.creatin
fcd80 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 20 20 g.an.optional.C.pointer.........
fcda0 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 75 73 ....is.unnecessary.as.one.can.us
fcdc0 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 69 6e e.normal.<a.href="#Optional-Poin
fcde0 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 20 20 ters">Optional.Pointers</a>.....
fce00 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 73 20 .....</li>.........<li>Supports.
fce20 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 43 6f <a.href="#Type-Coercion">Type.Co
fce40 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 73 2e ercion</a>.to.and.from.integers.
fce60 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 70 61 </li>.........<li>Supports.compa
fce80 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 20 20 rison.with.integers.</li>.......
fcea0 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 79 20 ..<li>Does.not.support.Zig-only.
fcec0 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 67 6e pointer.attributes.such.as.align
fcee0 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 6e 74 ment..Use.normal.<a.href="#Point
fcf00 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 73 65 ers">Pointers</a>.........please
fcf20 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 65 6e !</li>.......</ul>.......<p>When
fcf40 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 73 69 .a.C.pointer.is.pointing.to.a.si
fcf60 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 72 65 ngle.struct.(not.an.array),.dere
fcf80 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 20 20 ference.the.C.pointer.to........
fcfa0 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 20 6d .access.the.struct's.fields.or.m
fcfc0 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 6c 69 ember.data..That.syntax.looks.li
fcfe0 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 3c 70 ke.........this:.</p>.........<p
fd000 3e 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 70 74 72 5f 74 6f ><code><span.class="line">ptr_to
fd020 5f 73 74 72 75 63 74 2e 2a 2e 73 74 72 75 63 74 5f 6d 65 6d 62 65 72 3c 2f 73 70 61 6e 3e 3c 2f _struct.*.struct_member</span></
fd040 63 6f 64 65 3e 3c 2f 70 3e 0a 20 20 20 20 20 20 20 20 3c 70 3e 54 68 69 73 20 69 73 20 63 6f 6d code></p>.........<p>This.is.com
fd060 70 61 72 61 62 6c 65 20 74 6f 20 64 6f 69 6e 67 20 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 parable.to.doing.<code><span.cla
fd080 73 73 3d 22 6c 69 6e 65 22 3e 2d 26 67 74 3b 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 20 69 6e ss="line">-&gt;</span></code>.in
fd0a0 20 43 2e 3c 2f 70 3e 0a 20 20 20 20 20 20 20 20 3c 70 3e 20 57 68 65 6e 20 61 20 43 20 70 6f 69 .C.</p>.........<p>.When.a.C.poi
fd0c0 6e 74 65 72 20 69 73 20 70 6f 69 6e 74 69 6e 67 20 74 6f 20 61 6e 20 61 72 72 61 79 20 6f 66 20 nter.is.pointing.to.an.array.of.
fd0e0 73 74 72 75 63 74 73 2c 20 74 68 65 20 73 79 6e 74 61 78 20 72 65 76 65 72 74 73 20 74 6f 20 74 structs,.the.syntax.reverts.to.t
fd100 68 69 73 3a 3c 2f 70 3e 0a 20 20 20 20 20 20 20 20 3c 70 3e 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 his:</p>.........<p><code><span.
fd120 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 70 74 72 5f 74 6f 5f 73 74 72 75 63 74 5f 61 72 72 61 79 class="line">ptr_to_struct_array
fd140 5b 69 6e 64 65 78 5d 2e 73 74 72 75 63 74 5f 6d 65 6d 62 65 72 3c 2f 73 70 61 6e 3e 3c 2f 63 6f [index].struct_member</span></co
fd160 64 65 3e 3c 2f 70 3e 0a 20 20 20 20 20 20 0a 0a 20 20 20 20 20 20 3c 68 33 20 69 64 3d 22 45 78 de></p>...............<h3.id="Ex
fd180 70 6f 72 74 69 6e 67 2d 61 2d 43 2d 4c 69 62 72 61 72 79 22 3e 3c 61 20 68 72 65 66 3d 22 23 74 porting-a-C-Library"><a.href="#t
fd1a0 6f 63 2d 45 78 70 6f 72 74 69 6e 67 2d 61 2d 43 2d 4c 69 62 72 61 72 79 22 3e 45 78 70 6f 72 74 oc-Exporting-a-C-Library">Export
fd1c0 69 6e 67 20 61 20 43 20 4c 69 62 72 61 72 79 3c 2f 61 3e 20 3c 61 20 63 6c 61 73 73 3d 22 68 64 ing.a.C.Library</a>.<a.class="hd
fd1e0 72 22 20 68 72 65 66 3d 22 23 45 78 70 6f 72 74 69 6e 67 2d 61 2d 43 2d 4c 69 62 72 61 72 79 22 r".href="#Exporting-a-C-Library"
fd200 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 6e >..</a></h3>........<p>.......On
fd220 65 20 6f 66 20 74 68 65 20 70 72 69 6d 61 72 79 20 75 73 65 20 63 61 73 65 73 20 66 6f 72 20 5a e.of.the.primary.use.cases.for.Z
fd240 69 67 20 69 73 20 65 78 70 6f 72 74 69 6e 67 20 61 20 6c 69 62 72 61 72 79 20 77 69 74 68 20 74 ig.is.exporting.a.library.with.t
fd260 68 65 20 43 20 41 42 49 20 66 6f 72 20 6f 74 68 65 72 20 70 72 6f 67 72 61 6d 6d 69 6e 67 20 6c he.C.ABI.for.other.programming.l
fd280 61 6e 67 75 61 67 65 73 0a 20 20 20 20 20 20 74 6f 20 63 61 6c 6c 20 69 6e 74 6f 2e 20 54 68 65 anguages.......to.call.into..The
fd2a0 20 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 .<code><span.class="line"><span.
fd2c0 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 65 78 70 6f 72 74 3c 2f 73 70 61 6e 3e 3c 2f 73 70 class="tok-kw">export</span></sp
fd2e0 61 6e 3e 3c 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 an></code>.keyword.in.front.of.f
fd300 75 6e 63 74 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 unctions,.variables,.and.types.c
fd320 61 75 73 65 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 auses.them.to.......be.part.of.t
fd340 68 65 20 6c 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 he.library.API:.......</p>......
fd360 20 3c 66 69 67 75 72 65 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-
fd380 63 61 70 22 3e 3c 63 69 74 65 20 63 6c 61 73 73 3d 22 66 69 6c 65 22 3e 6d 61 74 68 74 65 73 74 cap"><cite.class="file">mathtest
fd3a0 2e 7a 69 67 3c 2f 63 69 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
fd3c0 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 de><span.class="line"><span.clas
fd3e0 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
fd400 6c 61 73 73 3d 22 74 6f 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
fd420 61 73 73 3d 22 74 6f 6b 2d 66 6e 22 3e 61 64 64 3c 2f 73 70 61 6e 3e 28 61 3a 20 3c 73 70 61 6e ass="tok-fn">add</span>(a:.<span
fd440 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 69 33 32 3c 2f 73 70 61 6e 3e 2c 20 62 3a .class="tok-type">i32</span>,.b:
fd460 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
fd480 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</
fd4a0 73 70 61 6e 3e 20 7b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 span>.{</span>.<span.class="line
fd4c0 22 3e 20 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
fd4e0 6e 3c 2f 73 70 61 6e 3e 20 61 20 2b 20 62 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 n</span>.a.+.b;</span>.<span.cla
fd500 73 73 3d 22 6c 69 6e 65 22 3e 7d 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 3c 2f 70 72 65 3e 3c ss="line">}</span></code></pre><
fd520 2f 66 69 67 75 72 65 3e 0a 20 20 20 20 20 20 3c 70 3e 54 6f 20 6d 61 6b 65 20 61 20 73 74 61 74 /figure>.......<p>To.make.a.stat
fd540 69 63 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 ic.library:</p>.......<figure><f
fd560 69 67 63 61 70 74 69 6f 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
fd580 6c 3c 2f 66 69 67 63 61 70 74 69 6f 6e 3e 3c 70 72 65 3e 3c 73 61 6d 70 3e 3c 73 70 61 6e 20 63 l</figcaption><pre><samp><span.c
fd5a0 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 24 20 3c 6b 62 64 3e 7a 69 67 20 62 75 69 6c 64 2d 6c 69 62 lass="line">$.<kbd>zig.build-lib
fd5c0 20 6d 61 74 68 74 65 73 74 2e 7a 69 67 3c 2f 6b 62 64 3e 3c 2f 73 70 61 6e 3e 0a 3c 2f 73 61 6d .mathtest.zig</kbd></span>.</sam
fd5e0 70 3e 3c 2f 70 72 65 3e 3c 2f 66 69 67 75 72 65 3e 0a 20 20 20 20 20 20 3c 70 3e 54 6f 20 6d 61 p></pre></figure>.......<p>To.ma
fd600 6b 65 20 61 20 73 68 61 72 65 64 20 6c 69 62 72 61 72 79 3a 3c 2f 70 3e 0a 20 20 20 20 20 20 3c ke.a.shared.library:</p>.......<
fd620 66 69 67 75 72 65 3e 3c 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-
fd640 63 61 70 22 3e 53 68 65 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
fd660 70 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 24 20 3c 6b 62 64 3e 7a 69 67 20 p><span.class="line">$.<kbd>zig.
fd680 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 63 3c build-lib.mathtest.zig.-dynamic<
fd6a0 2f 6b 62 64 3e 3c 2f 73 70 61 6e 3e 0a 3c 2f 73 61 6d 70 3e 3c 2f 70 72 65 3e 3c 2f 66 69 67 75 /kbd></span>.</samp></pre></figu
fd6c0 72 65 3e 0a 20 20 20 20 20 20 3c 70 3e 48 65 72 65 20 69 73 20 61 6e 20 65 78 61 6d 70 6c 65 20 re>.......<p>Here.is.an.example.
fd6e0 77 69 74 68 20 74 68 65 20 3c 61 20 68 72 65 66 3d 22 23 5a 69 67 2d 42 75 69 6c 64 2d 53 79 73 with.the.<a.href="#Zig-Build-Sys
fd700 74 65 6d 22 3e 5a 69 67 20 42 75 69 6c 64 20 53 79 73 74 65 6d 3c 2f 61 3e 3a 3c 2f 70 3e 0a 20 tem">Zig.Build.System</a>:</p>..
fd720 20 20 20 20 20 3c 66 69 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="
fd740 63 2d 63 61 70 22 3e 3c 63 69 74 65 20 63 6c 61 73 73 3d 22 66 69 6c 65 22 3e 74 65 73 74 2e 63 c-cap"><cite.class="file">test.c
fd760 3c 2f 63 69 74 65 3e 3c 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><
fd780 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 2f 2f 20 54 68 69 73 20 68 65 61 64 65 72 span.class="line">//.This.header
fd7a0 20 69 73 20 67 65 6e 65 72 61 74 65 64 20 62 79 20 7a 69 67 20 66 72 6f 6d 20 6d 61 74 68 74 65 .is.generated.by.zig.from.mathte
fd7c0 73 74 2e 7a 69 67 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 st.zig</span>.<span.class="line"
fd7e0 3e 23 69 6e 63 6c 75 64 65 20 26 71 75 6f 74 3b 6d 61 74 68 74 65 73 74 2e 68 26 71 75 6f 74 3b >#include.&quot;mathtest.h&quot;
fd800 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 23 69 6e 63 6c </span>.<span.class="line">#incl
fd820 75 64 65 20 26 6c 74 3b 73 74 64 69 6f 2e 68 26 67 74 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e ude.&lt;stdio.h&gt;</span>.<span
fd840 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 .class="line"></span>.<span.clas
fd860 73 3d 22 6c 69 6e 65 22 3e 69 6e 74 20 6d 61 69 6e 28 69 6e 74 20 61 72 67 63 2c 20 63 68 61 72 s="line">int.main(int.argc,.char
fd880 20 2a 2a 61 72 67 76 29 20 7b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c .**argv).{</span>.<span.class="l
fd8a0 69 6e 65 22 3e 20 20 20 20 69 6e 74 33 32 5f 74 20 72 65 73 75 6c 74 20 3d 20 61 64 64 28 34 32 ine">....int32_t.result.=.add(42
fd8c0 2c 20 31 33 33 37 29 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e ,.1337);</span>.<span.class="lin
fd8e0 65 22 3e 20 20 20 20 70 72 69 6e 74 66 28 26 71 75 6f 74 3b 25 64 5c 6e 26 71 75 6f 74 3b 2c 20 e">....printf(&quot;%d\n&quot;,.
fd900 72 65 73 75 6c 74 29 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e result);</span>.<span.class="lin
fd920 65 22 3e 20 20 20 20 72 65 74 75 72 6e 20 30 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c e">....return.0;</span>.<span.cl
fd940 61 73 73 3d 22 6c 69 6e 65 22 3e 7d 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 3c 2f 70 72 65 3e ass="line">}</span></code></pre>
fd960 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
fd980 69 6f 6e 20 63 6c 61 73 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=
fd9a0 22 66 69 6c 65 22 3e 62 75 69 6c 64 2e 7a 69 67 3c 2f 63 69 74 65 3e 3c 2f 66 69 67 63 61 70 74 "file">build.zig</cite></figcapt
fd9c0 69 6f 6e 3e 3c 70 72 65 3e 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 ion><pre><code><span.class="line
fd9e0 22 3e 3c 73 70 61 6e 20 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
fda00 61 6e 3e 20 42 75 69 6c 64 65 72 20 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 62 an>.Builder.=.<span.class="tok-b
fda20 75 69 6c 74 69 6e 22 3e 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
fda40 73 73 3d 22 74 6f 6b 2d 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
fda60 61 6e 3e 29 2e 62 75 69 6c 64 2e 42 75 69 6c 64 65 72 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e an>).build.Builder;</span>.<span
fda80 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 .class="line"></span>.<span.clas
fdaa0 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 70 75 s="line"><span.class="tok-kw">pu
fdac0 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
fdae0 3c 2f 73 70 61 6e 3e 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 66 6e 22 3e 62 75 69 </span>.<span.class="tok-fn">bui
fdb00 6c 64 3c 2f 73 70 61 6e 3e 28 62 3a 20 2a 42 75 69 6c 64 65 72 29 20 3c 73 70 61 6e 20 63 6c 61 ld</span>(b:.*Builder).<span.cla
fdb20 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 76 6f 69 64 3c 2f 73 70 61 6e 3e 20 7b 3c 2f 73 70 61 ss="tok-type">void</span>.{</spa
fdb40 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 3c 73 70 61 6e 20 n>.<span.class="line">....<span.
fdb60 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 63 6f 6e 73 74 3c 2f 73 70 61 6e 3e 20 6c 69 62 20 class="tok-kw">const</span>.lib.
fdb80 3d 20 62 2e 61 64 64 53 68 61 72 65 64 4c 69 62 72 61 72 79 28 3c 73 70 61 6e 20 63 6c 61 73 73 =.b.addSharedLibrary(<span.class
fdba0 3d 22 74 6f 6b 2d 73 74 72 22 3e 26 71 75 6f 74 3b 6d 61 74 68 74 65 73 74 26 71 75 6f 74 3b 3c ="tok-str">&quot;mathtest&quot;<
fdbc0 2f 73 70 61 6e 3e 2c 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 73 74 72 22 3e 26 71 /span>,.<span.class="tok-str">&q
fdbe0 75 6f 74 3b 6d 61 74 68 74 65 73 74 2e 7a 69 67 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 2c 20 62 uot;mathtest.zig&quot;</span>,.b
fdc00 2e 76 65 72 73 69 6f 6e 28 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 .version(<span.class="tok-number
fdc20 22 3e 31 3c 2f 73 70 61 6e 3e 2c 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d ">1</span>,.<span.class="tok-num
fdc40 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-
fdc60 6e 75 6d 62 65 72 22 3e 30 3c 2f 73 70 61 6e 3e 29 29 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e number">0</span>));</span>.<span
fdc80 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 .class="line"></span>.<span.clas
fdca0 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 s="line">....<span.class="tok-kw
fdcc0 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 63 75 74 ">const</span>.exe.=.b.addExecut
fdce0 61 62 6c 65 28 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 73 74 72 22 3e 26 71 75 6f 74 able(<span.class="tok-str">&quot
fdd00 3b 74 65 73 74 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 2c 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d ;test&quot;</span>,.<span.class=
fdd20 22 74 6f 6b 2d 6e 75 6c 6c 22 3e 6e 75 6c 6c 3c 2f 73 70 61 6e 3e 29 3b 3c 2f 73 70 61 6e 3e 0a "tok-null">null</span>);</span>.
fdd40 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 65 78 65 2e 61 64 64 43 53 <span.class="line">....exe.addCS
fdd60 6f 75 72 63 65 46 69 6c 65 28 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 73 74 72 22 3e ourceFile(<span.class="tok-str">
fdd80 26 71 75 6f 74 3b 74 65 73 74 2e 63 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 2c 20 26 61 6d 70 3b &quot;test.c&quot;</span>,.&amp;
fdda0 5b 5f 5d 5b 5d 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 63 6f 6e 73 74 3c [_][]<span.class="tok-kw">const<
fddc0 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
fdde0 3c 2f 73 70 61 6e 3e 7b 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 73 74 72 22 3e 26 71 </span>{<span.class="tok-str">&q
fde00 75 6f 74 3b 2d 73 74 64 3d 63 39 39 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 7d 29 3b 3c 2f 73 70 uot;-std=c99&quot;</span>});</sp
fde20 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 65 78 65 2e 6c an>.<span.class="line">....exe.l
fde40 69 6e 6b 4c 69 62 72 61 72 79 28 6c 69 62 29 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c inkLibrary(lib);</span>.<span.cl
fde60 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 65 78 65 2e 6c 69 6e 6b 53 79 73 74 65 6d 4c 69 62 ass="line">....exe.linkSystemLib
fde80 72 61 72 79 28 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 73 74 72 22 3e 26 71 75 6f 74 rary(<span.class="tok-str">&quot
fdea0 3b 63 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 29 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 ;c&quot;</span>);</span>.<span.c
fdec0 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d lass="line"></span>.<span.class=
fdee0 22 6c 69 6e 65 22 3e 20 20 20 20 62 2e 64 65 66 61 75 6c 74 5f 73 74 65 70 2e 64 65 70 65 6e 64 "line">....b.default_step.depend
fdf00 4f 6e 28 26 61 6d 70 3b 65 78 65 2e 73 74 65 70 29 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 On(&amp;exe.step);</span>.<span.
fdf20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 class="line"></span>.<span.class
fdf40 3d 22 6c 69 6e 65 22 3e 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 ="line">....<span.class="tok-kw"
fdf60 3e 63 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 >const</span>.run_cmd.=.exe.run(
fdf80 29 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 2f 73 );</span>.<span.class="line"></s
fdfa0 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 3c 73 70 61 pan>.<span.class="line">....<spa
fdfc0 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 63 6f 6e 73 74 3c 2f 73 70 61 6e 3e 20 74 65 n.class="tok-kw">const</span>.te
fdfe0 73 74 5f 73 74 65 70 20 3d 20 62 2e 73 74 65 70 28 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f st_step.=.b.step(<span.class="to
fe000 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 70 61 6e 3e 2c 20 k-str">&quot;test&quot;</span>,.
fe020 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 73 74 72 22 3e 26 71 75 6f 74 3b 54 65 73 74 <span.class="tok-str">&quot;Test
fe040 20 74 68 65 20 70 72 6f 67 72 61 6d 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 29 3b 3c 2f 73 70 61 .the.program&quot;</span>);</spa
fe060 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 74 65 73 74 5f 73 n>.<span.class="line">....test_s
fe080 74 65 70 2e 64 65 70 65 6e 64 4f 6e 28 26 61 6d 70 3b 72 75 6e 5f 63 6d 64 2e 73 74 65 70 29 3b tep.dependOn(&amp;run_cmd.step);
fe0a0 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 7d 3c 2f 73 70 </span>.<span.class="line">}</sp
fe0c0 61 6e 3e 3c 2f 63 6f 64 65 3e 3c 2f 70 72 65 3e 3c 2f 66 69 67 75 72 65 3e 0a 20 20 20 20 20 20 an></code></pre></figure>.......
fe0e0 3c 66 69 67 75 72 65 3e 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
fe100 2d 63 61 70 22 3e 53 68 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
fe120 6d 70 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 24 20 3c 6b 62 64 3e 7a 69 67 mp><span.class="line">$.<kbd>zig
fe140 20 62 75 69 6c 64 20 74 65 73 74 3c 2f 6b 62 64 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 .build.test</kbd></span>.<span.c
fe160 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 31 33 37 39 3c 2f 73 70 61 6e 3e 0a 3c 2f 73 61 6d 70 3e 3c lass="line">1379</span>.</samp><
fe180 2f 70 72 65 3e 3c 2f 66 69 67 75 72 65 3e 0a 20 20 20 20 20 20 3c 70 3e 53 65 65 20 61 6c 73 6f /pre></figure>.......<p>See.also
fe1a0 3a 3c 2f 70 3e 3c 75 6c 3e 0a 3c 6c 69 3e 3c 61 20 68 72 65 66 3d 22 23 65 78 70 6f 72 74 22 3e :</p><ul>.<li><a.href="#export">
fe1c0 65 78 70 6f 72 74 3c 2f 61 3e 3c 2f 6c 69 3e 0a 3c 2f 75 6c 3e 0a 0a 20 20 20 20 20 20 0a 20 20 export</a></li>.</ul>...........
fe1e0 20 20 20 20 3c 68 33 20 69 64 3d 22 4d 69 78 69 6e 67 2d 4f 62 6a 65 63 74 2d 46 69 6c 65 73 22 ....<h3.id="Mixing-Object-Files"
fe200 3e 3c 61 20 68 72 65 66 3d 22 23 74 6f 63 2d 4d 69 78 69 6e 67 2d 4f 62 6a 65 63 74 2d 46 69 6c ><a.href="#toc-Mixing-Object-Fil
fe220 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 20 3c 61 20 63 es">Mixing.Object.Files</a>.<a.c
fe240 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 6a 65 63 74 2d lass="hdr".href="#Mixing-Object-
fe260 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 70 3e 0a 20 20 Files">..</a></h3>........<p>...
fe280 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 66 69 6c 65 73 ....You.can.mix.Zig.object.files
fe2a0 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 73 20 74 68 61 .with.any.other.object.files.tha
fe2c0 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 65 3a 0a 20 20 t.respect.the.C.ABI..Example:...
fe2e0 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
fe300 6f 6e 20 63 6c 61 73 73 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="
fe320 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 67 63 61 70 74 file">base64.zig</cite></figcapt
fe340 69 6f 6e 3e 3c 70 72 65 3e 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 ion><pre><code><span.class="line
fe360 22 3e 3c 73 70 61 6e 20 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
fe380 61 6e 3e 20 62 61 73 65 36 34 20 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 62 75 an>.base64.=.<span.class="tok-bu
fe3a0 69 6c 74 69 6e 22 3e 40 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
fe3c0 73 3d 22 74 6f 6b 2d 73 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
fe3e0 6e 3e 29 2e 62 61 73 65 36 34 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 n>).base64;</span>.<span.class="
fe400 6c 69 6e 65 22 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 line"></span>.<span.class="line"
fe420 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 65 78 70 6f 72 74 3c 2f 73 70 ><span.class="tok-kw">export</sp
fe440 61 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
fe460 6e 3e 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 66 6e 22 3e 64 65 63 6f 64 65 5f 62 n>.<span.class="tok-fn">decode_b
fe480 61 73 65 5f 36 34 3c 2f 73 70 61 6e 3e 28 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 ase_64</span>(</span>.<span.clas
fe4a0 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 64 65 73 74 5f 70 74 72 3a 20 5b 2a 5d 3c 73 70 61 6e 20 s="line">....dest_ptr:.[*]<span.
fe4c0 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 75 38 3c 2f 73 70 61 6e 3e 2c 3c 2f 73 70 61 class="tok-type">u8</span>,</spa
fe4e0 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 64 65 73 74 5f 6c n>.<span.class="line">....dest_l
fe500 65 6e 3a 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 75 73 69 7a 65 en:.<span.class="tok-type">usize
fe520 3c 2f 73 70 61 6e 3e 2c 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e </span>,</span>.<span.class="lin
fe540 65 22 3e 20 20 20 20 73 6f 75 72 63 65 5f 70 74 72 3a 20 5b 2a 5d 3c 73 70 61 6e 20 63 6c 61 73 e">....source_ptr:.[*]<span.clas
fe560 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
fe580 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 75 38 3c 2f 73 70 61 6e 3e 2c 3c 2f 73 70 61 6e 3e ass="tok-type">u8</span>,</span>
fe5a0 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 73 6f 75 72 63 65 5f 6c .<span.class="line">....source_l
fe5c0 65 6e 3a 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 75 73 69 7a 65 en:.<span.class="tok-type">usize
fe5e0 3c 2f 73 70 61 6e 3e 2c 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e </span>,</span>.<span.class="lin
fe600 65 22 3e 29 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 75 73 69 7a e">).<span.class="tok-type">usiz
fe620 65 3c 2f 73 70 61 6e 3e 20 7b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c e</span>.{</span>.<span.class="l
fe640 69 6e 65 22 3e 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 63 6f ine">....<span.class="tok-kw">co
fe660 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 70 61 nst</span>.src.=.source_ptr[<spa
fe680 6e 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 73 n.class="tok-number">0</span>..s
fe6a0 6f 75 72 63 65 5f 6c 65 6e 5d 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 ource_len];</span>.<span.class="
fe6c0 6c 69 6e 65 22 3e 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 63 line">....<span.class="tok-kw">c
fe6e0 6f 6e 73 74 3c 2f 73 70 61 6e 3e 20 64 65 73 74 20 3d 20 64 65 73 74 5f 70 74 72 5b 3c 73 70 61 onst</span>.dest.=.dest_ptr[<spa
fe700 6e 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 64 n.class="tok-number">0</span>..d
fe720 65 73 74 5f 6c 65 6e 5d 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 est_len];</span>.<span.class="li
fe740 6e 65 22 3e 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 63 6f 6e ne">....<span.class="tok-kw">con
fe760 73 74 3c 2f 73 70 61 6e 3e 20 62 61 73 65 36 34 5f 64 65 63 6f 64 65 72 20 3d 20 62 61 73 65 36 st</span>.base64_decoder.=.base6
fe780 34 2e 73 74 61 6e 64 61 72 64 2e 44 65 63 6f 64 65 72 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 4.standard.Decoder;</span>.<span
fe7a0 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 .class="line">....<span.class="t
fe7c0 6f 6b 2d 6b 77 22 3e 63 6f 6e 73 74 3c 2f 73 70 61 6e 3e 20 64 65 63 6f 64 65 64 5f 73 69 7a 65 ok-kw">const</span>.decoded_size
fe7e0 20 3d 20 62 61 73 65 36 34 5f 64 65 63 6f 64 65 72 2e 63 61 6c 63 53 69 7a 65 46 6f 72 53 6c 69 .=.base64_decoder.calcSizeForSli
fe800 63 65 28 73 72 63 29 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 63 61 74 ce(src).<span.class="tok-kw">cat
fe820 63 68 3c 2f 73 70 61 6e 3e 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 75 ch</span>.<span.class="tok-kw">u
fe840 6e 72 65 61 63 68 61 62 6c 65 3c 2f 73 70 61 6e 3e 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 nreachable</span>;</span>.<span.
fe860 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 62 61 73 65 36 34 5f 64 65 63 6f 64 65 72 2e class="line">....base64_decoder.
fe880 64 65 63 6f 64 65 28 64 65 73 74 5b 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d decode(dest[<span.class="tok-num
fe8a0 62 65 72 22 3e 30 3c 2f 73 70 61 6e 3e 2e 2e 64 65 63 6f 64 65 64 5f 73 69 7a 65 5d 2c 20 73 72 ber">0</span>..decoded_size],.sr
fe8c0 63 29 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 63 61 74 63 68 3c 2f 73 c).<span.class="tok-kw">catch</s
fe8e0 70 61 6e 3e 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 75 6e 72 65 61 63 pan>.<span.class="tok-kw">unreac
fe900 68 61 62 6c 65 3c 2f 73 70 61 6e 3e 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 hable</span>;</span>.<span.class
fe920 3d 22 6c 69 6e 65 22 3e 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 ="line">....<span.class="tok-kw"
fe940 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 3c 2f 73 70 >return</span>.decoded_size;</sp
fe960 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 7d 3c 2f 73 70 61 6e 3e 3c an>.<span.class="line">}</span><
fe980 2f 63 6f 64 65 3e 3c 2f 70 72 65 3e 3c 2f 66 69 67 75 72 65 3e 0a 20 20 20 20 20 20 3c 66 69 67 /code></pre></figure>.......<fig
fe9a0 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
fe9c0 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></
fe9e0 66 69 67 63 61 70 74 69 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
fea00 73 3d 22 6c 69 6e 65 22 3e 2f 2f 20 54 68 69 73 20 68 65 61 64 65 72 20 69 73 20 67 65 6e 65 72 s="line">//.This.header.is.gener
fea20 61 74 65 64 20 62 79 20 7a 69 67 20 66 72 6f 6d 20 62 61 73 65 36 34 2e 7a 69 67 3c 2f 73 70 61 ated.by.zig.from.base64.zig</spa
fea40 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 23 69 6e 63 6c 75 64 65 20 26 n>.<span.class="line">#include.&
fea60 71 75 6f 74 3b 62 61 73 65 36 34 2e 68 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e quot;base64.h&quot;</span>.<span
fea80 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 .class="line"></span>.<span.clas
feaa0 73 3d 22 6c 69 6e 65 22 3e 23 69 6e 63 6c 75 64 65 20 26 6c 74 3b 73 74 72 69 6e 67 2e 68 26 67 s="line">#include.&lt;string.h&g
feac0 74 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 23 69 6e t;</span>.<span.class="line">#in
feae0 63 6c 75 64 65 20 26 6c 74 3b 73 74 64 69 6f 2e 68 26 67 74 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 clude.&lt;stdio.h&gt;</span>.<sp
feb00 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c an.class="line"></span>.<span.cl
feb20 61 73 73 3d 22 6c 69 6e 65 22 3e 69 6e 74 20 6d 61 69 6e 28 69 6e 74 20 61 72 67 63 2c 20 63 68 ass="line">int.main(int.argc,.ch
feb40 61 72 20 2a 2a 61 72 67 76 29 20 7b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d ar.**argv).{</span>.<span.class=
feb60 22 6c 69 6e 65 22 3e 20 20 20 20 63 6f 6e 73 74 20 63 68 61 72 20 2a 65 6e 63 6f 64 65 64 20 3d "line">....const.char.*encoded.=
feb80 20 26 71 75 6f 74 3b 59 57 78 73 49 48 6c 76 64 58 49 67 59 6d 46 7a 5a 53 42 68 63 6d 55 67 59 .&quot;YWxsIHlvdXIgYmFzZSBhcmUgY
feba0 6d 56 73 62 32 35 6e 49 48 52 76 49 48 56 7a 26 71 75 6f 74 3b 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 mVsb25nIHRvIHVz&quot;;</span>.<s
febc0 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 63 68 61 72 20 62 75 66 5b 32 30 pan.class="line">....char.buf[20
febe0 30 5d 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 2f 0];</span>.<span.class="line"></
fec00 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 73 69 7a span>.<span.class="line">....siz
fec20 65 5f 74 20 6c 65 6e 20 3d 20 64 65 63 6f 64 65 5f 62 61 73 65 5f 36 34 28 62 75 66 2c 20 32 30 e_t.len.=.decode_base_64(buf,.20
fec40 30 2c 20 65 6e 63 6f 64 65 64 2c 20 73 74 72 6c 65 6e 28 65 6e 63 6f 64 65 64 29 29 3b 3c 2f 73 0,.encoded,.strlen(encoded));</s
fec60 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 62 75 66 5b pan>.<span.class="line">....buf[
fec80 6c 65 6e 5d 20 3d 20 30 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 len].=.0;</span>.<span.class="li
feca0 6e 65 22 3e 20 20 20 20 70 75 74 73 28 62 75 66 29 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 ne">....puts(buf);</span>.<span.
fecc0 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 class="line"></span>.<span.class
fece0 3d 22 6c 69 6e 65 22 3e 20 20 20 20 72 65 74 75 72 6e 20 30 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 ="line">....return.0;</span>.<sp
fed00 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 7d 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 3c an.class="line">}</span></code><
fed20 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
fed40 67 63 61 70 74 69 6f 6e 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
fed60 6c 61 73 73 3d 22 66 69 6c 65 22 3e 62 75 69 6c 64 2e 7a 69 67 3c 2f 63 69 74 65 3e 3c 2f 66 69 lass="file">build.zig</cite></fi
fed80 67 63 61 70 74 69 6f 6e 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=
feda0 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 63 6f 6e 73 "line"><span.class="tok-kw">cons
fedc0 74 3c 2f 73 70 61 6e 3e 20 42 75 69 6c 64 65 72 20 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 t</span>.Builder.=.<span.class="
fede0 74 6f 6b 2d 62 75 69 6c 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
fee00 6e 20 63 6c 61 73 73 3d 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
fee20 3b 3c 2f 73 70 61 6e 3e 29 2e 62 75 69 6c 64 2e 42 75 69 6c 64 65 72 3b 3c 2f 73 70 61 6e 3e 0a ;</span>).build.Builder;</span>.
fee40 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e <span.class="line"></span>.<span
fee60 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b .class="line"><span.class="tok-k
fee80 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
feea0 77 22 3e 66 6e 3c 2f 73 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
feec0 22 3e 62 75 69 6c 64 3c 2f 73 70 61 6e 3e 28 62 3a 20 2a 42 75 69 6c 64 65 72 29 20 3c 73 70 61 ">build</span>(b:.*Builder).<spa
feee0 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>.{
fef00 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 3c </span>.<span.class="line">....<
fef20 73 70 61 6e 20 63 6c 61 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>
fef40 20 6f 62 6a 20 3d 20 62 2e 61 64 64 4f 62 6a 65 63 74 28 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 .obj.=.b.addObject(<span.class="
fef60 74 6f 6b 2d 73 74 72 22 3e 26 71 75 6f 74 3b 62 61 73 65 36 34 26 71 75 6f 74 3b 3c 2f 73 70 61 tok-str">&quot;base64&quot;</spa
fef80 6e 3e 2c 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 73 74 72 22 3e 26 71 75 6f 74 3b n>,.<span.class="tok-str">&quot;
fefa0 62 61 73 65 36 34 2e 7a 69 67 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 29 3b 3c 2f 73 70 61 6e 3e base64.zig&quot;</span>);</span>
fefc0 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 .<span.class="line"></span>.<spa
fefe0 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 n.class="line">....<span.class="
ff000 74 6f 6b 2d 6b 77 22 3e 63 6f 6e 73 74 3c 2f 73 70 61 6e 3e 20 65 78 65 20 3d 20 62 2e 61 64 64 tok-kw">const</span>.exe.=.b.add
ff020 45 78 65 63 75 74 61 62 6c 65 28 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 73 74 72 22 Executable(<span.class="tok-str"
ff040 3e 26 71 75 6f 74 3b 74 65 73 74 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 2c 20 3c 73 70 61 6e 20 >&quot;test&quot;</span>,.<span.
ff060 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6c 6c 22 3e 6e 75 6c 6c 3c 2f 73 70 61 6e 3e 29 3b 3c 2f class="tok-null">null</span>);</
ff080 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 65 78 65 span>.<span.class="line">....exe
ff0a0 2e 61 64 64 43 53 6f 75 72 63 65 46 69 6c 65 28 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b .addCSourceFile(<span.class="tok
ff0c0 2d 73 74 72 22 3e 26 71 75 6f 74 3b 74 65 73 74 2e 63 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 2c -str">&quot;test.c&quot;</span>,
ff0e0 20 26 61 6d 70 3b 5b 5f 5d 5b 5d 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e .&amp;[_][]<span.class="tok-kw">
ff100 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
ff120 70 65 22 3e 75 38 3c 2f 73 70 61 6e 3e 7b 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 73 pe">u8</span>{<span.class="tok-s
ff140 74 72 22 3e 26 71 75 6f 74 3b 2d 73 74 64 3d 63 39 39 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 7d tr">&quot;-std=c99&quot;</span>}
ff160 29 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 );</span>.<span.class="line">...
ff180 20 65 78 65 2e 61 64 64 4f 62 6a 65 63 74 28 6f 62 6a 29 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 .exe.addObject(obj);</span>.<spa
ff1a0 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 65 78 65 2e 6c 69 6e 6b 53 79 73 74 65 n.class="line">....exe.linkSyste
ff1c0 6d 4c 69 62 72 61 72 79 28 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 73 74 72 22 3e 26 mLibrary(<span.class="tok-str">&
ff1e0 71 75 6f 74 3b 63 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 29 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 quot;c&quot;</span>);</span>.<sp
ff200 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 65 78 65 2e 69 6e 73 74 61 6c 6c 28 an.class="line">....exe.install(
ff220 29 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 7d 3c 2f );</span>.<span.class="line">}</
ff240 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 3c 2f 70 72 65 3e 3c 2f 66 69 67 75 72 65 3e 0a 20 20 20 20 span></code></pre></figure>.....
ff260 20 20 3c 66 69 67 75 72 65 3e 3c 66 69 67 63 61 70 74 69 6f 6e 20 63 6c 61 73 73 3d 22 73 68 65 ..<figure><figcaption.class="she
ff280 6c 6c 2d 63 61 70 22 3e 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><
ff2a0 73 61 6d 70 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 24 20 3c 6b 62 64 3e 7a samp><span.class="line">$.<kbd>z
ff2c0 69 67 20 62 75 69 6c 64 3c 2f 6b 62 64 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 ig.build</kbd></span>.<span.clas
ff2e0 73 3d 22 6c 69 6e 65 22 3e 24 20 3c 6b 62 64 3e 2e 2f 7a 69 67 2d 6f 75 74 2f 62 69 6e 2f 74 65 s="line">$.<kbd>./zig-out/bin/te
ff300 73 74 3c 2f 6b 62 64 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e st</kbd></span>.<span.class="lin
ff320 65 22 3e 61 6c 6c 20 79 6f 75 72 20 62 61 73 65 20 61 72 65 20 62 65 6c 6f 6e 67 20 74 6f 20 75 e">all.your.base.are.belong.to.u
ff340 73 3c 2f 73 70 61 6e 3e 0a 3c 2f 73 61 6d 70 3e 3c 2f 70 72 65 3e 3c 2f 66 69 67 75 72 65 3e 0a s</span>.</samp></pre></figure>.
ff360 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><
ff380 61 20 68 72 65 66 3d 22 23 54 61 72 67 65 74 73 22 3e 54 61 72 67 65 74 73 3c 2f 61 3e 3c 2f 6c a.href="#Targets">Targets</a></l
ff3a0 69 3e 0a 3c 6c 69 3e 3c 61 20 68 72 65 66 3d 22 23 5a 69 67 2d 42 75 69 6c 64 2d 53 79 73 74 65 i>.<li><a.href="#Zig-Build-Syste
ff3c0 6d 22 3e 5a 69 67 20 42 75 69 6c 64 20 53 79 73 74 65 6d 3c 2f 61 3e 3c 2f 6c 69 3e 0a 3c 2f 75 m">Zig.Build.System</a></li>.</u
ff3e0 6c 3e 0a 0a 20 20 20 20 20 20 0a 20 20 20 20 20 20 0a 20 20 20 20 20 20 3c 68 32 20 69 64 3d 22 l>......................<h2.id="
ff400 57 65 62 41 73 73 65 6d 62 6c 79 22 3e 3c 61 20 68 72 65 66 3d 22 23 74 6f 63 2d 57 65 62 41 73 WebAssembly"><a.href="#toc-WebAs
ff420 73 65 6d 62 6c 79 22 3e 57 65 62 41 73 73 65 6d 62 6c 79 3c 2f 61 3e 20 3c 61 20 63 6c 61 73 73 sembly">WebAssembly</a>.<a.class
ff440 3d 22 68 64 72 22 20 68 72 65 66 3d 22 23 57 65 62 41 73 73 65 6d 62 6c 79 22 3e c2 a7 3c 2f 61 ="hdr".href="#WebAssembly">..</a
ff460 3e 3c 2f 68 32 3e 0a 0a 20 20 20 20 20 20 3c 70 3e 5a 69 67 20 73 75 70 70 6f 72 74 73 20 62 75 ></h2>........<p>Zig.supports.bu
ff480 69 6c 64 69 6e 67 20 66 6f 72 20 57 65 62 41 73 73 65 6d 62 6c 79 20 6f 75 74 20 6f 66 20 74 68 ilding.for.WebAssembly.out.of.th
ff4a0 65 20 62 6f 78 2e 3c 2f 70 3e 0a 20 20 20 20 20 20 3c 68 33 20 69 64 3d 22 46 72 65 65 73 74 61 e.box.</p>.......<h3.id="Freesta
ff4c0 6e 64 69 6e 67 22 3e 3c 61 20 68 72 65 66 3d 22 23 74 6f 63 2d 46 72 65 65 73 74 61 6e 64 69 6e nding"><a.href="#toc-Freestandin
ff4e0 67 22 3e 46 72 65 65 73 74 61 6e 64 69 6e 67 3c 2f 61 3e 20 3c 61 20 63 6c 61 73 73 3d 22 68 64 g">Freestanding</a>.<a.class="hd
ff500 72 22 20 68 72 65 66 3d 22 23 46 72 65 65 73 74 61 6e 64 69 6e 67 22 3e c2 a7 3c 2f 61 3e 3c 2f r".href="#Freestanding">..</a></
ff520 68 33 3e 0a 0a 20 20 20 20 20 20 3c 70 3e 46 6f 72 20 68 6f 73 74 20 65 6e 76 69 72 6f 6e 6d 65 h3>........<p>For.host.environme
ff540 6e 74 73 20 6c 69 6b 65 20 74 68 65 20 77 65 62 20 62 72 6f 77 73 65 72 20 61 6e 64 20 6e 6f 64 nts.like.the.web.browser.and.nod
ff560 65 6a 73 2c 20 62 75 69 6c 64 20 61 73 20 61 20 64 79 6e 61 6d 69 63 20 6c 69 62 72 61 72 79 20 ejs,.build.as.a.dynamic.library.
ff580 75 73 69 6e 67 20 74 68 65 20 66 72 65 65 73 74 61 6e 64 69 6e 67 0a 20 20 20 20 20 20 4f 53 20 using.the.freestanding.......OS.
ff5a0 74 61 72 67 65 74 2e 20 48 65 72 65 27 73 20 61 6e 20 65 78 61 6d 70 6c 65 20 6f 66 20 72 75 6e target..Here's.an.example.of.run
ff5c0 6e 69 6e 67 20 5a 69 67 20 63 6f 64 65 20 63 6f 6d 70 69 6c 65 64 20 74 6f 20 57 65 62 41 73 73 ning.Zig.code.compiled.to.WebAss
ff5e0 65 6d 62 6c 79 20 77 69 74 68 20 6e 6f 64 65 6a 73 2e 3c 2f 70 3e 0a 20 20 20 20 20 20 3c 66 69 embly.with.nodejs.</p>.......<fi
ff600 67 75 72 65 3e 3c 66 69 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"
ff620 3e 3c 63 69 74 65 20 63 6c 61 73 73 3d 22 66 69 6c 65 22 3e 6d 61 74 68 2e 7a 69 67 3c 2f 63 69 ><cite.class="file">math.zig</ci
ff640 74 65 3e 3c 2f 66 69 67 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
ff660 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b .class="line"><span.class="tok-k
ff680 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
ff6a0 6b 2d 6b 77 22 3e 66 6e 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
ff6c0 2d 66 6e 22 3e 70 72 69 6e 74 3c 2f 73 70 61 6e 3e 28 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 -fn">print</span>(<span.class="t
ff6e0 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
ff700 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 76 6f 69 64 3c 2f 73 70 61 6e 3e 3b 3c 2f 73 70 61 6e 3e 0a ="tok-type">void</span>;</span>.
ff720 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e <span.class="line"></span>.<span
ff740 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b .class="line"><span.class="tok-k
ff760 77 22 3e 65 78 70 6f 72 74 3c 2f 73 70 61 6e 3e 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f w">export</span>.<span.class="to
ff780 6b 2d 6b 77 22 3e 66 6e 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
ff7a0 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="
ff7c0 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
ff7e0 6c 61 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
ff800 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>.{
ff820 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 70 </span>.<span.class="line">....p
ff840 72 69 6e 74 28 61 20 2b 20 62 29 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d rint(a.+.b);</span>.<span.class=
ff860 22 6c 69 6e 65 22 3e 7d 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 3c 2f 70 72 65 3e 3c 2f 66 69 "line">}</span></code></pre></fi
ff880 67 75 72 65 3e 3c 66 69 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="
ff8a0 73 68 65 6c 6c 2d 63 61 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
ff8c0 65 3e 3c 73 61 6d 70 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 24 20 3c 6b 62 e><samp><span.class="line">$.<kb
ff8e0 64 3e 7a 69 67 20 62 75 69 6c 64 2d 6c 69 62 20 6d 61 74 68 2e 7a 69 67 20 2d 74 61 72 67 65 74 d>zig.build-lib.math.zig.-target
ff900 20 77 61 73 6d 33 32 2d 66 72 65 65 73 74 61 6e 64 69 6e 67 20 2d 64 79 6e 61 6d 69 63 3c 2f 6b .wasm32-freestanding.-dynamic</k
ff920 62 64 3e 3c 2f 73 70 61 6e 3e 0a 3c 2f 73 61 6d 70 3e 3c 2f 70 72 65 3e 3c 2f 66 69 67 75 72 65 bd></span>.</samp></pre></figure
ff940 3e 0a 20 20 20 20 20 20 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
ff960 73 3d 22 6a 61 76 61 73 63 72 69 70 74 2d 63 61 70 22 3e 3c 63 69 74 65 20 63 6c 61 73 73 3d 22 s="javascript-cap"><cite.class="
ff980 66 69 6c 65 22 3e 74 65 73 74 2e 6a 73 3c 2f 63 69 74 65 3e 3c 2f 66 69 67 63 61 70 74 69 6f 6e file">test.js</cite></figcaption
ff9a0 3e 3c 70 72 65 3e 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 63 ><pre><code><span.class="line">c
ff9c0 6f 6e 73 74 20 66 73 20 3d 20 72 65 71 75 69 72 65 28 27 66 73 27 29 3b 3c 2f 73 70 61 6e 3e 0a onst.fs.=.require('fs');</span>.
ff9e0 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 63 6f 6e 73 74 20 73 6f 75 72 63 65 20 <span.class="line">const.source.
ffa00 3d 20 66 73 2e 72 65 61 64 46 69 6c 65 53 79 6e 63 28 26 71 75 6f 74 3b 2e 2f 6d 61 74 68 2e 77 =.fs.readFileSync(&quot;./math.w
ffa20 61 73 6d 26 71 75 6f 74 3b 29 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 asm&quot;);</span>.<span.class="
ffa40 6c 69 6e 65 22 3e 63 6f 6e 73 74 20 74 79 70 65 64 41 72 72 61 79 20 3d 20 6e 65 77 20 55 69 6e line">const.typedArray.=.new.Uin
ffa60 74 38 41 72 72 61 79 28 73 6f 75 72 63 65 29 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c t8Array(source);</span>.<span.cl
ffa80 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 ass="line"></span>.<span.class="
ffaa0 6c 69 6e 65 22 3e 57 65 62 41 73 73 65 6d 62 6c 79 2e 69 6e 73 74 61 6e 74 69 61 74 65 28 74 79 line">WebAssembly.instantiate(ty
ffac0 70 65 64 41 72 72 61 79 2c 20 7b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 pedArray,.{</span>.<span.class="
ffae0 6c 69 6e 65 22 3e 20 20 65 6e 76 3a 20 7b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 line">..env:.{</span>.<span.clas
ffb00 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 70 72 69 6e 74 3a 20 28 72 65 73 75 6c 74 29 20 3d 26 67 s="line">....print:.(result).=&g
ffb20 74 3b 20 7b 20 63 6f 6e 73 6f 6c 65 2e 6c 6f 67 28 60 54 68 65 20 72 65 73 75 6c 74 20 69 73 20 t;.{.console.log(`The.result.is.
ffb40 24 7b 72 65 73 75 6c 74 7d 60 29 3b 20 7d 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 ${result}`);.}</span>.<span.clas
ffb60 73 3d 22 6c 69 6e 65 22 3e 20 20 7d 7d 29 2e 74 68 65 6e 28 72 65 73 75 6c 74 20 3d 26 67 74 3b s="line">..}}).then(result.=&gt;
ffb80 20 7b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 63 .{</span>.<span.class="line">..c
ffba0 6f 6e 73 74 20 61 64 64 20 3d 20 72 65 73 75 6c 74 2e 69 6e 73 74 61 6e 63 65 2e 65 78 70 6f 72 onst.add.=.result.instance.expor
ffbc0 74 73 2e 61 64 64 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 ts.add;</span>.<span.class="line
ffbe0 22 3e 20 20 61 64 64 28 31 2c 20 32 29 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 ">..add(1,.2);</span>.<span.clas
ffc00 73 3d 22 6c 69 6e 65 22 3e 7d 29 3b 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 3c 2f 70 72 65 3e s="line">});</span></code></pre>
ffc20 3c 2f 66 69 67 75 72 65 3e 0a 20 20 20 20 3c 66 69 67 75 72 65 3e 3c 66 69 67 63 61 70 74 69 6f </figure>.....<figure><figcaptio
ffc40 6e 20 63 6c 61 73 73 3d 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
ffc60 70 74 69 6f 6e 3e 3c 70 72 65 3e 3c 73 61 6d 70 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 ption><pre><samp><span.class="li
ffc80 6e 65 22 3e 24 20 3c 6b 62 64 3e 6e 6f 64 65 20 74 65 73 74 2e 6a 73 3c 2f 6b 62 64 3e 3c 2f 73 ne">$.<kbd>node.test.js</kbd></s
ffca0 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 54 68 65 20 72 65 73 75 pan>.<span.class="line">The.resu
ffcc0 6c 74 20 69 73 20 33 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 lt.is.3</span>.</samp></pre></fi
ffce0 67 75 72 65 3e 0a 20 20 20 20 20 20 0a 20 20 20 20 20 20 3c 68 33 20 69 64 3d 22 57 41 53 49 22 gure>..............<h3.id="WASI"
ffd00 3e 3c 61 20 68 72 65 66 3d 22 23 74 6f 63 2d 57 41 53 49 22 3e 57 41 53 49 3c 2f 61 3e 20 3c 61 ><a.href="#toc-WASI">WASI</a>.<a
ffd20 20 63 6c 61 73 73 3d 22 68 64 72 22 20 68 72 65 66 3d 22 23 57 41 53 49 22 3e c2 a7 3c 2f 61 3e .class="hdr".href="#WASI">..</a>
ffd40 3c 2f 68 33 3e 0a 0a 20 20 20 20 20 20 3c 70 3e 5a 69 67 27 73 20 73 75 70 70 6f 72 74 20 66 6f </h3>........<p>Zig's.support.fo
ffd60 72 20 57 65 62 41 73 73 65 6d 62 6c 79 20 53 79 73 74 65 6d 20 49 6e 74 65 72 66 61 63 65 20 28 r.WebAssembly.System.Interface.(
ffd80 57 41 53 49 29 20 69 73 20 75 6e 64 65 72 20 61 63 74 69 76 65 20 64 65 76 65 6c 6f 70 6d 65 6e WASI).is.under.active.developmen
ffda0 74 2e 0a 20 20 20 20 20 20 45 78 61 6d 70 6c 65 20 6f 66 20 75 73 69 6e 67 20 74 68 65 20 73 74 t........Example.of.using.the.st
ffdc0 61 6e 64 61 72 64 20 6c 69 62 72 61 72 79 20 61 6e 64 20 72 65 61 64 69 6e 67 20 63 6f 6d 6d 61 andard.library.and.reading.comma
ffde0 6e 64 20 6c 69 6e 65 20 61 72 67 75 6d 65 6e 74 73 3a 3c 2f 70 3e 0a 20 20 20 20 20 20 3c 66 69 nd.line.arguments:</p>.......<fi
ffe00 67 75 72 65 3e 3c 66 69 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"
ffe20 3e 3c 63 69 74 65 20 63 6c 61 73 73 3d 22 66 69 6c 65 22 3e 61 72 67 73 2e 7a 69 67 3c 2f 63 69 ><cite.class="file">args.zig</ci
ffe40 74 65 3e 3c 2f 66 69 67 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
ffe60 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b .class="line"><span.class="tok-k
ffe80 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
ffea0 73 3d 22 74 6f 6b 2d 62 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>(<
ffec0 73 70 61 6e 20 63 6c 61 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
ffee0 75 6f 74 3b 3c 2f 73 70 61 6e 3e 29 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 uot;</span>);</span>.<span.class
fff00 3d 22 6c 69 6e 65 22 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e ="line"></span>.<span.class="lin
fff20 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 70 75 62 3c 2f 73 70 61 e"><span.class="tok-kw">pub</spa
fff40 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
fff60 3e 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 66 6e 22 3e 6d 61 69 6e 3c 2f 73 70 61 >.<span.class="tok-fn">main</spa
fff80 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
fffa0 64 3c 2f 73 70 61 6e 3e 20 7b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c d</span>.{</span>.<span.class="l
fffc0 69 6e 65 22 3e 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 76 61 ine">....<span.class="tok-kw">va
fffe0 72 3c 2f 73 70 61 6e 3e 20 67 65 6e 65 72 61 6c 5f 70 75 72 70 6f 73 65 5f 61 6c 6c 6f 63 61 74 r</span>.general_purpose_allocat
100000 6f 72 20 3d 20 73 74 64 2e 68 65 61 70 2e 47 65 6e 65 72 61 6c 50 75 72 70 6f 73 65 41 6c 6c 6f or.=.std.heap.GeneralPurposeAllo
100020 63 61 74 6f 72 28 2e 7b 7d 29 7b 7d 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 cator(.{}){};</span>.<span.class
100040 3d 22 6c 69 6e 65 22 3e 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 ="line">....<span.class="tok-kw"
100060 3e 63 6f 6e 73 74 3c 2f 73 70 61 6e 3e 20 67 70 61 20 3d 20 67 65 6e 65 72 61 6c 5f 70 75 72 70 >const</span>.gpa.=.general_purp
100080 6f 73 65 5f 61 6c 6c 6f 63 61 74 6f 72 2e 61 6c 6c 6f 63 61 74 6f 72 28 29 3b 3c 2f 73 70 61 6e ose_allocator.allocator();</span
1000a0 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 3c 73 70 61 6e 20 63 >.<span.class="line">....<span.c
1000c0 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 63 6f 6e 73 74 3c 2f 73 70 61 6e 3e 20 61 72 67 73 20 lass="tok-kw">const</span>.args.
1000e0 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 74 72 79 3c 2f 73 70 61 6e =.<span.class="tok-kw">try</span
100100 3e 20 73 74 64 2e 70 72 6f 63 65 73 73 2e 61 72 67 73 41 6c 6c 6f 63 28 67 70 61 29 3b 3c 2f 73 >.std.process.argsAlloc(gpa);</s
100120 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 3c 73 70 61 pan>.<span.class="line">....<spa
100140 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 73 74 n.class="tok-kw">defer</span>.st
100160 64 2e 70 72 6f 63 65 73 73 2e 61 72 67 73 46 72 65 65 28 67 70 61 2c 20 61 72 67 73 29 3b 3c 2f d.process.argsFree(gpa,.args);</
100180 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 2f 73 70 61 6e 3e span>.<span.class="line"></span>
1001a0 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 3c 73 70 61 6e 20 63 6c .<span.class="line">....<span.cl
1001c0 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 66 6f 72 3c 2f 73 70 61 6e 3e 20 28 61 72 67 73 29 20 7c ass="tok-kw">for</span>.(args).|
1001e0 61 72 67 2c 20 69 7c 20 7b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 arg,.i|.{</span>.<span.class="li
100200 6e 65 22 3e 20 20 20 20 20 20 20 20 73 74 64 2e 64 65 62 75 67 2e 70 72 69 6e 74 28 3c 73 70 61 ne">........std.debug.print(<spa
100220 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 73 74 72 22 3e 26 71 75 6f 74 3b 7b 7d 3a 20 7b 73 7d 5c n.class="tok-str">&quot;{}:.{s}\
100240 6e 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 2c 20 2e 7b 20 69 2c 20 61 72 67 20 7d 29 3b 3c 2f 73 n&quot;</span>,..{.i,.arg.});</s
100260 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 7d 3c 2f 73 pan>.<span.class="line">....}</s
100280 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 7d 3c 2f 73 70 61 6e 3e pan>.<span.class="line">}</span>
1002a0 3c 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
1002c0 69 67 63 61 70 74 69 6f 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
1002e0 6c 3c 2f 66 69 67 63 61 70 74 69 6f 6e 3e 3c 70 72 65 3e 3c 73 61 6d 70 3e 3c 73 70 61 6e 20 63 l</figcaption><pre><samp><span.c
100300 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 24 20 3c 6b 62 64 3e 7a 69 67 20 62 75 69 6c 64 2d 65 78 65 lass="line">$.<kbd>zig.build-exe
100320 20 61 72 67 73 2e 7a 69 67 20 2d 74 61 72 67 65 74 20 77 61 73 6d 33 32 2d 77 61 73 69 3c 2f 6b .args.zig.-target.wasm32-wasi</k
100340 62 64 3e 3c 2f 73 70 61 6e 3e 0a 3c 2f 73 61 6d 70 3e 3c 2f 70 72 65 3e 3c 2f 66 69 67 75 72 65 bd></span>.</samp></pre></figure
100360 3e 0a 20 20 20 20 20 20 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
100380 73 3d 22 73 68 65 6c 6c 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>
1003a0 3c 70 72 65 3e 3c 73 61 6d 70 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 24 20 <pre><samp><span.class="line">$.
1003c0 3c 6b 62 64 3e 77 61 73 6d 74 69 6d 65 20 61 72 67 73 2e 77 61 73 6d 20 31 32 33 20 68 65 6c 6c <kbd>wasmtime.args.wasm.123.hell
1003e0 6f 3c 2f 6b 62 64 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 o</kbd></span>.<span.class="line
100400 22 3e 30 3a 20 61 72 67 73 2e 77 61 73 6d 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 ">0:.args.wasm</span>.<span.clas
100420 73 3d 22 6c 69 6e 65 22 3e 31 3a 20 31 32 33 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 s="line">1:.123</span>.<span.cla
100440 73 73 3d 22 6c 69 6e 65 22 3e 32 3a 20 68 65 6c 6c 6f 3c 2f 73 70 61 6e 3e 0a 3c 2f 73 61 6d 70 ss="line">2:.hello</span>.</samp
100460 3e 3c 2f 70 72 65 3e 3c 2f 66 69 67 75 72 65 3e 0a 20 20 20 20 20 20 3c 70 3e 41 20 6d 6f 72 65 ></pre></figure>.......<p>A.more
100480 20 69 6e 74 65 72 65 73 74 69 6e 67 20 65 78 61 6d 70 6c 65 20 77 6f 75 6c 64 20 62 65 20 65 78 .interesting.example.would.be.ex
1004a0 74 72 61 63 74 69 6e 67 20 74 68 65 20 6c 69 73 74 20 6f 66 20 70 72 65 6f 70 65 6e 73 20 66 72 tracting.the.list.of.preopens.fr
1004c0 6f 6d 20 74 68 65 20 72 75 6e 74 69 6d 65 2e 0a 20 20 20 20 20 20 54 68 69 73 20 69 73 20 6e 6f om.the.runtime........This.is.no
1004e0 77 20 73 75 70 70 6f 72 74 65 64 20 69 6e 20 74 68 65 20 73 74 61 6e 64 61 72 64 20 6c 69 62 72 w.supported.in.the.standard.libr
100500 61 72 79 20 76 69 61 20 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 ary.via.<code><span.class="line"
100520 3e 73 74 64 2e 66 73 2e 77 61 73 69 2e 50 72 65 6f 70 65 6e 4c 69 73 74 3c 2f 73 70 61 6e 3e 3c >std.fs.wasi.PreopenList</span><
100540 2f 63 6f 64 65 3e 3a 3c 2f 70 3e 0a 20 20 20 20 20 20 3c 66 69 67 75 72 65 3e 3c 66 69 67 63 61 /code>:</p>.......<figure><figca
100560 70 74 69 6f 6e 20 63 6c 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
100580 73 3d 22 66 69 6c 65 22 3e 70 72 65 6f 70 65 6e 73 2e 7a 69 67 3c 2f 63 69 74 65 3e 3c 2f 66 69 s="file">preopens.zig</cite></fi
1005a0 67 63 61 70 74 69 6f 6e 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=
1005c0 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 63 6f 6e 73 "line"><span.class="tok-kw">cons
1005e0 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-
100600 62 75 69 6c 74 69 6e 22 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
100620 61 73 73 3d 22 74 6f 6b 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
100640 70 61 6e 3e 29 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 pan>);</span>.<span.class="line"
100660 3e 3c 73 70 61 6e 20 63 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
100680 6e 3e 20 50 72 65 6f 70 65 6e 4c 69 73 74 20 3d 20 73 74 64 2e 66 73 2e 77 61 73 69 2e 50 72 65 n>.PreopenList.=.std.fs.wasi.Pre
1006a0 6f 70 65 6e 4c 69 73 74 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 openList;</span>.<span.class="li
1006c0 6e 65 22 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c ne"></span>.<span.class="line"><
1006e0 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>.<
100700 73 70 61 6e 20 63 6c 61 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
100720 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 66 6e 22 3e 6d 61 69 6e 3c 2f 73 70 61 6e 3e 28 29 pan.class="tok-fn">main</span>()
100740 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
100760 70 61 6e 3e 20 7b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 pan>.{</span>.<span.class="line"
100780 3e 20 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
1007a0 70 61 6e 3e 20 67 65 6e 65 72 61 6c 5f 70 75 72 70 6f 73 65 5f 61 6c 6c 6f 63 61 74 6f 72 20 3d pan>.general_purpose_allocator.=
1007c0 20 73 74 64 2e 68 65 61 70 2e 47 65 6e 65 72 61 6c 50 75 72 70 6f 73 65 41 6c 6c 6f 63 61 74 6f .std.heap.GeneralPurposeAllocato
1007e0 72 28 2e 7b 7d 29 7b 7d 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 r(.{}){};</span>.<span.class="li
100800 6e 65 22 3e 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 63 6f 6e ne">....<span.class="tok-kw">con
100820 73 74 3c 2f 73 70 61 6e 3e 20 67 70 61 20 3d 20 67 65 6e 65 72 61 6c 5f 70 75 72 70 6f 73 65 5f st</span>.gpa.=.general_purpose_
100840 61 6c 6c 6f 63 61 74 6f 72 2e 61 6c 6c 6f 63 61 74 6f 72 28 29 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 allocator.allocator();</span>.<s
100860 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 pan.class="line"></span>.<span.c
100880 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b lass="line">....<span.class="tok
1008a0 2d 6b 77 22 3e 76 61 72 3c 2f 73 70 61 6e 3e 20 70 72 65 6f 70 65 6e 73 20 3d 20 50 72 65 6f 70 -kw">var</span>.preopens.=.Preop
1008c0 65 6e 4c 69 73 74 2e 69 6e 69 74 28 67 70 61 29 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 enList.init(gpa);</span>.<span.c
1008e0 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b lass="line">....<span.class="tok
100900 2d 6b 77 22 3e 64 65 66 65 72 3c 2f 73 70 61 6e 3e 20 70 72 65 6f 70 65 6e 73 2e 64 65 69 6e 69 -kw">defer</span>.preopens.deini
100920 74 28 29 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c t();</span>.<span.class="line"><
100940 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 3c 73 /span>.<span.class="line">....<s
100960 70 61 6e 20 63 6c 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 72 pan.class="tok-kw">try</span>.pr
100980 65 6f 70 65 6e 73 2e 70 6f 70 75 6c 61 74 65 28 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b eopens.populate(<span.class="tok
1009a0 2d 6e 75 6c 6c 22 3e 6e 75 6c 6c 3c 2f 73 70 61 6e 3e 29 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 -null">null</span>);</span>.<spa
1009c0 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 n.class="line"></span>.<span.cla
1009e0 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b ss="line">....<span.class="tok-k
100a00 77 22 3e 66 6f 72 3c 2f 73 70 61 6e 3e 20 28 70 72 65 6f 70 65 6e 73 2e 61 73 53 6c 69 63 65 28 w">for</span>.(preopens.asSlice(
100a20 29 29 20 7c 70 72 65 6f 70 65 6e 2c 20 69 7c 20 7b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 )).|preopen,.i|.{</span>.<span.c
100a40 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 20 20 20 20 73 74 64 2e 64 65 62 75 67 2e 70 72 lass="line">........std.debug.pr
100a60 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;
100a80 7b 7d 3a 20 7b 7d 5c 6e 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 2c 20 2e 7b 20 69 2c 20 70 72 65 {}:.{}\n&quot;</span>,..{.i,.pre
100aa0 6f 70 65 6e 20 7d 29 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e open.});</span>.<span.class="lin
100ac0 65 22 3e 20 20 20 20 7d 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e e">....}</span>.<span.class="lin
100ae0 65 22 3e 7d 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 3c 2f 70 72 65 3e 3c 2f 66 69 67 75 72 65 e">}</span></code></pre></figure
100b00 3e 3c 66 69 67 75 72 65 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
100b20 6c 2d 63 61 70 22 3e 53 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
100b40 61 6d 70 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 24 20 3c 6b 62 64 3e 7a 69 amp><span.class="line">$.<kbd>zi
100b60 67 20 62 75 69 6c 64 2d 65 78 65 20 70 72 65 6f 70 65 6e 73 2e 7a 69 67 20 2d 74 61 72 67 65 74 g.build-exe.preopens.zig.-target
100b80 20 77 61 73 6d 33 32 2d 77 61 73 69 3c 2f 6b 62 64 3e 3c 2f 73 70 61 6e 3e 0a 3c 2f 73 61 6d 70 .wasm32-wasi</kbd></span>.</samp
100ba0 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><
100bc0 66 69 67 63 61 70 74 69 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
100be0 6c 6c 3c 2f 66 69 67 63 61 70 74 69 6f 6e 3e 3c 70 72 65 3e 3c 73 61 6d 70 3e 3c 73 70 61 6e 20 ll</figcaption><pre><samp><span.
100c00 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 24 20 3c 6b 62 64 3e 77 61 73 6d 74 69 6d 65 20 2d 2d 64 class="line">$.<kbd>wasmtime.--d
100c20 69 72 3d 2e 20 70 72 65 6f 70 65 6e 73 2e 77 61 73 6d 3c 2f 6b 62 64 3e 3c 2f 73 70 61 6e 3e 0a ir=..preopens.wasm</kbd></span>.
100c40 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 30 3a 20 50 72 65 6f 70 65 6e 7b 20 2e <span.class="line">0:.Preopen{..
100c60 66 64 20 3d 20 33 2c 20 2e 74 79 70 65 20 3d 20 50 72 65 6f 70 65 6e 54 79 70 65 7b 20 2e 44 69 fd.=.3,..type.=.PreopenType{..Di
100c80 72 20 3d 20 27 2e 27 20 7d 20 7d 3c 2f 73 70 61 6e 3e 0a 3c 2f 73 61 6d 70 3e 3c 2f 70 72 65 3e r.=.'.'.}.}</span>.</samp></pre>
100ca0 3c 2f 66 69 67 75 72 65 3e 0a 20 20 20 20 20 20 0a 20 20 20 20 20 20 0a 20 20 20 20 20 20 3c 68 </figure>.....................<h
100cc0 32 20 69 64 3d 22 54 61 72 67 65 74 73 22 3e 3c 61 20 68 72 65 66 3d 22 23 74 6f 63 2d 54 61 72 2.id="Targets"><a.href="#toc-Tar
100ce0 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"
100d00 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>....
100d20 20 20 20 20 3c 70 3e 0a 20 20 20 20 20 20 5a 69 67 20 73 75 70 70 6f 72 74 73 20 67 65 6e 65 72 ....<p>.......Zig.supports.gener
100d40 61 74 69 6e 67 20 63 6f 64 65 20 66 6f 72 20 61 6c 6c 20 74 61 72 67 65 74 73 20 74 68 61 74 20 ating.code.for.all.targets.that.
100d60 4c 4c 56 4d 20 73 75 70 70 6f 72 74 73 2e 20 48 65 72 65 20 69 73 0a 20 20 20 20 20 20 77 68 61 LLVM.supports..Here.is.......wha
100d80 74 20 69 74 20 6c 6f 6f 6b 73 20 6c 69 6b 65 20 74 6f 20 65 78 65 63 75 74 65 20 3c 63 6f 64 65 t.it.looks.like.to.execute.<code
100da0 3e 7a 69 67 20 74 61 72 67 65 74 73 3c 2f 63 6f 64 65 3e 20 6f 6e 20 61 20 4c 69 6e 75 78 20 78 >zig.targets</code>.on.a.Linux.x
100dc0 38 36 5f 36 34 0a 20 20 20 20 20 20 63 6f 6d 70 75 74 65 72 3a 0a 20 20 20 20 20 20 3c 2f 70 3e 86_64.......computer:.......</p>
100de0 0a 20 20 20 20 20 20 3c 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
100e00 3d 22 73 68 65 6c 6c 2d 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><
100e20 70 72 65 3e 3c 73 61 6d 70 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 24 20 3c pre><samp><span.class="line">$.<
100e40 6b 62 64 3e 7a 69 67 20 74 61 72 67 65 74 73 3c 2f 6b 62 64 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 kbd>zig.targets</kbd></span>.<sp
100e60 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 41 72 63 68 69 74 65 63 74 75 72 65 73 3a 3c 2f an.class="line">Architectures:</
100e80 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 61 72 6d 3c 2f span>.<span.class="line">..arm</
100ea0 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 76 38 5f span>.<span.class="line">....v8_
100ec0 34 61 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 4a</span>.<span.class="line">...
100ee0 20 76 38 5f 33 61 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 .v8_3a</span>.<span.class="line"
100f00 3e 20 20 20 20 76 38 5f 32 61 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c >....v8_2a</span>.<span.class="l
100f20 69 6e 65 22 3e 20 20 20 20 76 38 5f 31 61 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 ine">....v8_1a</span>.<span.clas
100f40 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 76 38 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 s="line">....v8</span>.<span.cla
100f60 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 76 38 72 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 ss="line">....v8r</span>.<span.c
100f80 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 76 38 6d 5f 62 61 73 65 6c 69 6e 65 3c 2f 73 70 lass="line">....v8m_baseline</sp
100fa0 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 76 38 6d 5f 6d an>.<span.class="line">....v8m_m
100fc0 61 69 6e 6c 69 6e 65 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 ainline</span>.<span.class="line
100fe0 22 3e 20 20 20 20 76 37 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e ">....v7</span>.<span.class="lin
101000 65 22 3e 20 20 20 20 76 37 65 6d 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 e">....v7em</span>.<span.class="
101020 6c 69 6e 65 22 3e 20 20 20 20 76 37 6d 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 line">....v7m</span>.<span.class
101040 3d 22 6c 69 6e 65 22 3e 20 20 20 20 76 37 73 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 ="line">....v7s</span>.<span.cla
101060 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 76 37 6b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 ss="line">....v7k</span>.<span.c
101080 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 76 37 76 65 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 lass="line">....v7ve</span>.<spa
1010a0 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 76 36 3c 2f 73 70 61 6e 3e 0a 3c 73 70 n.class="line">....v6</span>.<sp
1010c0 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 76 36 6d 3c 2f 73 70 61 6e 3e 0a 3c an.class="line">....v6m</span>.<
1010e0 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 76 36 6b 3c 2f 73 70 61 6e 3e span.class="line">....v6k</span>
101100 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 76 36 74 32 3c 2f 73 70 .<span.class="line">....v6t2</sp
101120 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 76 35 3c 2f 73 an>.<span.class="line">....v5</s
101140 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 76 35 74 65 pan>.<span.class="line">....v5te
101160 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 76 </span>.<span.class="line">....v
101180 34 74 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 61 4t</span>.<span.class="line">..a
1011a0 72 6d 65 62 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 rmeb</span>.<span.class="line">.
1011c0 20 20 20 76 38 5f 34 61 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e ...v8_4a</span>.<span.class="lin
1011e0 65 22 3e 20 20 20 20 76 38 5f 33 61 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d e">....v8_3a</span>.<span.class=
101200 22 6c 69 6e 65 22 3e 20 20 20 20 76 38 5f 32 61 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c "line">....v8_2a</span>.<span.cl
101220 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 76 38 5f 31 61 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 ass="line">....v8_1a</span>.<spa
101240 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 76 38 3c 2f 73 70 61 6e 3e 0a 3c 73 70 n.class="line">....v8</span>.<sp
101260 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 76 38 72 3c 2f 73 70 61 6e 3e 0a 3c an.class="line">....v8r</span>.<
101280 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 76 38 6d 5f 62 61 73 65 6c 69 span.class="line">....v8m_baseli
1012a0 6e 65 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 ne</span>.<span.class="line">...
1012c0 20 76 38 6d 5f 6d 61 69 6e 6c 69 6e 65 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 .v8m_mainline</span>.<span.class
1012e0 3d 22 6c 69 6e 65 22 3e 20 20 20 20 76 37 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 ="line">....v7</span>.<span.clas
101300 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 76 37 65 6d 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 s="line">....v7em</span>.<span.c
101320 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 76 37 6d 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e lass="line">....v7m</span>.<span
101340 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 76 37 73 3c 2f 73 70 61 6e 3e 0a 3c 73 70 .class="line">....v7s</span>.<sp
101360 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 76 37 6b 3c 2f 73 70 61 6e 3e 0a 3c an.class="line">....v7k</span>.<
101380 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 76 37 76 65 3c 2f 73 70 61 6e span.class="line">....v7ve</span
1013a0 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 76 36 3c 2f 73 70 61 >.<span.class="line">....v6</spa
1013c0 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 76 36 6d 3c 2f 73 n>.<span.class="line">....v6m</s
1013e0 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 76 36 6b 3c pan>.<span.class="line">....v6k<
101400 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 76 36 /span>.<span.class="line">....v6
101420 74 32 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 t2</span>.<span.class="line">...
101440 20 76 35 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 .v5</span>.<span.class="line">..
101460 20 20 76 35 74 65 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 ..v5te</span>.<span.class="line"
101480 3e 20 20 20 20 76 34 74 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e >....v4t</span>.<span.class="lin
1014a0 65 22 3e 20 20 61 61 72 63 68 36 34 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d e">..aarch64</span>.<span.class=
1014c0 22 6c 69 6e 65 22 3e 20 20 20 20 76 38 5f 34 61 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c "line">....v8_4a</span>.<span.cl
1014e0 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 76 38 5f 33 61 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 ass="line">....v8_3a</span>.<spa
101500 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 76 38 5f 32 61 3c 2f 73 70 61 6e 3e 0a n.class="line">....v8_2a</span>.
101520 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 76 38 5f 31 61 3c 2f 73 70 <span.class="line">....v8_1a</sp
101540 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 76 38 3c 2f 73 an>.<span.class="line">....v8</s
101560 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 76 38 72 3c pan>.<span.class="line">....v8r<
101580 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 76 38 /span>.<span.class="line">....v8
1015a0 6d 5f 62 61 73 65 6c 69 6e 65 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c m_baseline</span>.<span.class="l
1015c0 69 6e 65 22 3e 20 20 20 20 76 38 6d 5f 6d 61 69 6e 6c 69 6e 65 3c 2f 73 70 61 6e 3e 0a 3c 73 70 ine">....v8m_mainline</span>.<sp
1015e0 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 61 61 72 63 68 36 34 5f 62 65 3c 2f 73 70 an.class="line">..aarch64_be</sp
101600 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 76 38 5f 34 61 an>.<span.class="line">....v8_4a
101620 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 76 </span>.<span.class="line">....v
101640 38 5f 33 61 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 8_3a</span>.<span.class="line">.
101660 20 20 20 76 38 5f 32 61 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e ...v8_2a</span>.<span.class="lin
101680 65 22 3e 20 20 20 20 76 38 5f 31 61 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d e">....v8_1a</span>.<span.class=
1016a0 22 6c 69 6e 65 22 3e 20 20 20 20 76 38 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 "line">....v8</span>.<span.class
1016c0 3d 22 6c 69 6e 65 22 3e 20 20 20 20 76 38 72 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 ="line">....v8r</span>.<span.cla
1016e0 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 76 38 6d 5f 62 61 73 65 6c 69 6e 65 3c 2f 73 70 61 6e ss="line">....v8m_baseline</span
101700 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 76 38 6d 5f 6d 61 69 >.<span.class="line">....v8m_mai
101720 6e 6c 69 6e 65 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e nline</span>.<span.class="line">
101740 20 20 61 76 72 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e ..avr</span>.<span.class="line">
101760 20 20 62 70 66 65 6c 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 ..bpfel</span>.<span.class="line
101780 22 3e 20 20 62 70 66 65 62 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 ">..bpfeb</span>.<span.class="li
1017a0 6e 65 22 3e 20 20 68 65 78 61 67 6f 6e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 ne">..hexagon</span>.<span.class
1017c0 3d 22 6c 69 6e 65 22 3e 20 20 6d 69 70 73 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 ="line">..mips</span>.<span.clas
1017e0 73 3d 22 6c 69 6e 65 22 3e 20 20 6d 69 70 73 65 6c 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 s="line">..mipsel</span>.<span.c
101800 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 6d 69 70 73 36 34 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 lass="line">..mips64</span>.<spa
101820 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 6d 69 70 73 36 34 65 6c 3c 2f 73 70 61 6e 3e n.class="line">..mips64el</span>
101840 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 6d 73 70 34 33 30 3c 2f 73 70 .<span.class="line">..msp430</sp
101860 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 70 6f 77 65 72 70 63 an>.<span.class="line">..powerpc
101880 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 70 6f 77 </span>.<span.class="line">..pow
1018a0 65 72 70 63 36 34 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 erpc64</span>.<span.class="line"
1018c0 3e 20 20 70 6f 77 65 72 70 63 36 34 6c 65 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 >..powerpc64le</span>.<span.clas
1018e0 73 3d 22 6c 69 6e 65 22 3e 20 20 72 36 30 30 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 s="line">..r600</span>.<span.cla
101900 73 73 3d 22 6c 69 6e 65 22 3e 20 20 61 6d 64 67 63 6e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 ss="line">..amdgcn</span>.<span.
101920 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 72 69 73 63 76 33 32 3c 2f 73 70 61 6e 3e 0a 3c 73 class="line">..riscv32</span>.<s
101940 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 72 69 73 63 76 36 34 3c 2f 73 70 61 6e pan.class="line">..riscv64</span
101960 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 73 70 61 72 63 3c 2f 73 70 >.<span.class="line">..sparc</sp
101980 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 73 70 61 72 63 36 34 an>.<span.class="line">..sparc64
1019a0 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 73 70 61 </span>.<span.class="line">..spa
1019c0 72 63 65 6c 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 rcel</span>.<span.class="line">.
1019e0 20 73 33 39 30 78 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 .s390x</span>.<span.class="line"
101a00 3e 20 20 74 68 75 6d 62 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e >..thumb</span>.<span.class="lin
101a20 65 22 3e 20 20 20 20 76 38 5f 34 61 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d e">....v8_4a</span>.<span.class=
101a40 22 6c 69 6e 65 22 3e 20 20 20 20 76 38 5f 33 61 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c "line">....v8_3a</span>.<span.cl
101a60 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 76 38 5f 32 61 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 ass="line">....v8_2a</span>.<spa
101a80 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 76 38 5f 31 61 3c 2f 73 70 61 6e 3e 0a n.class="line">....v8_1a</span>.
101aa0 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 76 38 3c 2f 73 70 61 6e 3e <span.class="line">....v8</span>
101ac0 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 76 38 72 3c 2f 73 70 61 .<span.class="line">....v8r</spa
101ae0 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 76 38 6d 5f 62 61 n>.<span.class="line">....v8m_ba
101b00 73 65 6c 69 6e 65 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 seline</span>.<span.class="line"
101b20 3e 20 20 20 20 76 38 6d 5f 6d 61 69 6e 6c 69 6e 65 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 >....v8m_mainline</span>.<span.c
101b40 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 76 37 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 lass="line">....v7</span>.<span.
101b60 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 76 37 65 6d 3c 2f 73 70 61 6e 3e 0a 3c 73 70 class="line">....v7em</span>.<sp
101b80 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 76 37 6d 3c 2f 73 70 61 6e 3e 0a 3c an.class="line">....v7m</span>.<
101ba0 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 76 37 73 3c 2f 73 70 61 6e 3e span.class="line">....v7s</span>
101bc0 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 76 37 6b 3c 2f 73 70 61 .<span.class="line">....v7k</spa
101be0 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 76 37 76 65 3c 2f n>.<span.class="line">....v7ve</
101c00 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 76 36 3c span>.<span.class="line">....v6<
101c20 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 76 36 /span>.<span.class="line">....v6
101c40 6d 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 m</span>.<span.class="line">....
101c60 76 36 6b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 v6k</span>.<span.class="line">..
101c80 20 20 76 36 74 32 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 ..v6t2</span>.<span.class="line"
101ca0 3e 20 20 20 20 76 35 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 >....v5</span>.<span.class="line
101cc0 22 3e 20 20 20 20 76 35 74 65 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c ">....v5te</span>.<span.class="l
101ce0 69 6e 65 22 3e 20 20 20 20 76 34 74 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d ine">....v4t</span>.<span.class=
101d00 22 6c 69 6e 65 22 3e 20 20 74 68 75 6d 62 65 62 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c "line">..thumbeb</span>.<span.cl
101d20 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 76 38 5f 34 61 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 ass="line">....v8_4a</span>.<spa
101d40 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 76 38 5f 33 61 3c 2f 73 70 61 6e 3e 0a n.class="line">....v8_3a</span>.
101d60 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 76 38 5f 32 61 3c 2f 73 70 <span.class="line">....v8_2a</sp
101d80 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 76 38 5f 31 61 an>.<span.class="line">....v8_1a
101da0 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 76 </span>.<span.class="line">....v
101dc0 38 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 8</span>.<span.class="line">....
101de0 76 38 72 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 v8r</span>.<span.class="line">..
101e00 20 20 76 38 6d 5f 62 61 73 65 6c 69 6e 65 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 ..v8m_baseline</span>.<span.clas
101e20 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 76 38 6d 5f 6d 61 69 6e 6c 69 6e 65 3c 2f 73 70 61 6e 3e s="line">....v8m_mainline</span>
101e40 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 76 37 3c 2f 73 70 61 6e .<span.class="line">....v7</span
101e60 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 76 37 65 6d 3c 2f 73 >.<span.class="line">....v7em</s
101e80 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 76 37 6d 3c pan>.<span.class="line">....v7m<
101ea0 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 76 37 /span>.<span.class="line">....v7
101ec0 73 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 s</span>.<span.class="line">....
101ee0 76 37 6b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 v7k</span>.<span.class="line">..
101f00 20 20 76 37 76 65 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 ..v7ve</span>.<span.class="line"
101f20 3e 20 20 20 20 76 36 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 >....v6</span>.<span.class="line
101f40 22 3e 20 20 20 20 76 36 6d 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 ">....v6m</span>.<span.class="li
101f60 6e 65 22 3e 20 20 20 20 76 36 6b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 ne">....v6k</span>.<span.class="
101f80 6c 69 6e 65 22 3e 20 20 20 20 76 36 74 32 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 line">....v6t2</span>.<span.clas
101fa0 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 76 35 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 s="line">....v5</span>.<span.cla
101fc0 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 76 35 74 65 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 ss="line">....v5te</span>.<span.
101fe0 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 76 34 74 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 class="line">....v4t</span>.<spa
102000 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 69 33 38 36 3c 2f 73 70 61 6e 3e 0a 3c 73 70 n.class="line">..i386</span>.<sp
102020 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 78 38 36 5f 36 34 20 28 6e 61 74 69 76 65 an.class="line">..x86_64.(native
102040 29 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 78 63 )</span>.<span.class="line">..xc
102060 6f 72 65 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 ore</span>.<span.class="line">..
102080 6e 76 70 74 78 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e nvptx</span>.<span.class="line">
1020a0 20 20 6e 76 70 74 78 36 34 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 ..nvptx64</span>.<span.class="li
1020c0 6e 65 22 3e 20 20 6c 61 6e 61 69 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 ne">..lanai</span>.<span.class="
1020e0 6c 69 6e 65 22 3e 20 20 77 61 73 6d 33 32 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 line">..wasm32</span>.<span.clas
102100 73 3d 22 6c 69 6e 65 22 3e 20 20 77 61 73 6d 36 34 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 s="line">..wasm64</span>.<span.c
102120 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d lass="line"></span>.<span.class=
102140 22 6c 69 6e 65 22 3e 4f 70 65 72 61 74 69 6e 67 20 53 79 73 74 65 6d 73 3a 3c 2f 73 70 61 6e 3e "line">Operating.Systems:</span>
102160 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 66 72 65 65 73 74 61 6e 64 69 .<span.class="line">..freestandi
102180 6e 67 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 61 ng</span>.<span.class="line">..a
1021a0 6e 61 6e 61 73 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e nanas</span>.<span.class="line">
1021c0 20 20 63 6c 6f 75 64 61 62 69 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c ..cloudabi</span>.<span.class="l
1021e0 69 6e 65 22 3e 20 20 64 72 61 67 6f 6e 66 6c 79 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c ine">..dragonfly</span>.<span.cl
102200 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 66 72 65 65 62 73 64 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 ass="line">..freebsd</span>.<spa
102220 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 66 75 63 68 73 69 61 3c 2f 73 70 61 6e 3e 0a n.class="line">..fuchsia</span>.
102240 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 69 6f 73 3c 2f 73 70 61 6e 3e 0a <span.class="line">..ios</span>.
102260 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 6b 66 72 65 65 62 73 64 3c 2f 73 <span.class="line">..kfreebsd</s
102280 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 6c 69 6e 75 78 20 pan>.<span.class="line">..linux.
1022a0 28 6e 61 74 69 76 65 29 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e (native)</span>.<span.class="lin
1022c0 65 22 3e 20 20 6c 76 32 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e e">..lv2</span>.<span.class="lin
1022e0 65 22 3e 20 20 6d 61 63 6f 73 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c e">..macos</span>.<span.class="l
102300 69 6e 65 22 3e 20 20 6e 65 74 62 73 64 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 ine">..netbsd</span>.<span.class
102320 3d 22 6c 69 6e 65 22 3e 20 20 6f 70 65 6e 62 73 64 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 ="line">..openbsd</span>.<span.c
102340 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 73 6f 6c 61 72 69 73 3c 2f 73 70 61 6e 3e 0a 3c 73 70 lass="line">..solaris</span>.<sp
102360 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 77 69 6e 64 6f 77 73 3c 2f 73 70 61 6e 3e an.class="line">..windows</span>
102380 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 68 61 69 6b 75 3c 2f 73 70 61 .<span.class="line">..haiku</spa
1023a0 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 6d 69 6e 69 78 3c 2f 73 n>.<span.class="line">..minix</s
1023c0 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 72 74 65 6d 73 3c pan>.<span.class="line">..rtems<
1023e0 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 6e 61 63 6c /span>.<span.class="line">..nacl
102400 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 63 6e 6b </span>.<span.class="line">..cnk
102420 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 61 69 78 </span>.<span.class="line">..aix
102440 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 63 75 64 </span>.<span.class="line">..cud
102460 61 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 6e 76 a</span>.<span.class="line">..nv
102480 63 6c 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 61 cl</span>.<span.class="line">..a
1024a0 6d 64 68 73 61 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e mdhsa</span>.<span.class="line">
1024c0 20 20 70 73 34 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e ..ps4</span>.<span.class="line">
1024e0 20 20 65 6c 66 69 61 6d 63 75 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c ..elfiamcu</span>.<span.class="l
102500 69 6e 65 22 3e 20 20 74 76 6f 73 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 ine">..tvos</span>.<span.class="
102520 6c 69 6e 65 22 3e 20 20 77 61 73 69 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d line">..wasi</span>.<span.class=
102540 22 6c 69 6e 65 22 3e 20 20 77 61 74 63 68 6f 73 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c "line">..watchos</span>.<span.cl
102560 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 6d 65 73 61 33 64 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e ass="line">..mesa3d</span>.<span
102580 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 63 6f 6e 74 69 6b 69 3c 2f 73 70 61 6e 3e 0a 3c .class="line">..contiki</span>.<
1025a0 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 61 6d 64 70 61 6c 3c 2f 73 70 61 6e span.class="line">..amdpal</span
1025c0 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 7a 65 6e 3c 2f 73 70 61 6e >.<span.class="line">..zen</span
1025e0 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 75 65 66 69 3c 2f 73 70 61 >.<span.class="line">..uefi</spa
102600 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 n>.<span.class="line"></span>.<s
102620 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 43 20 41 42 49 73 3a 3c 2f 73 70 61 6e 3e 0a pan.class="line">C.ABIs:</span>.
102640 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 6e 6f 6e 65 3c 2f 73 70 61 6e 3e <span.class="line">..none</span>
102660 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 67 6e 75 20 28 6e 61 74 69 76 .<span.class="line">..gnu.(nativ
102680 65 29 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 67 e)</span>.<span.class="line">..g
1026a0 6e 75 61 62 69 6e 33 32 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e nuabin32</span>.<span.class="lin
1026c0 65 22 3e 20 20 67 6e 75 61 62 69 36 34 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 e">..gnuabi64</span>.<span.class
1026e0 3d 22 6c 69 6e 65 22 3e 20 20 67 6e 75 65 61 62 69 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 ="line">..gnueabi</span>.<span.c
102700 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 67 6e 75 65 61 62 69 68 66 3c 2f 73 70 61 6e 3e 0a 3c lass="line">..gnueabihf</span>.<
102720 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 67 6e 75 78 33 32 3c 2f 73 70 61 6e span.class="line">..gnux32</span
102740 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 63 6f 64 65 31 36 3c 2f 73 >.<span.class="line">..code16</s
102760 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 65 61 62 69 3c 2f pan>.<span.class="line">..eabi</
102780 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 65 61 62 69 68 span>.<span.class="line">..eabih
1027a0 66 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 61 6e f</span>.<span.class="line">..an
1027c0 64 72 6f 69 64 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e droid</span>.<span.class="line">
1027e0 20 20 6d 75 73 6c 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 ..musl</span>.<span.class="line"
102800 3e 20 20 6d 75 73 6c 65 61 62 69 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 >..musleabi</span>.<span.class="
102820 6c 69 6e 65 22 3e 20 20 6d 75 73 6c 65 61 62 69 68 66 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 line">..musleabihf</span>.<span.
102840 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 6d 73 76 63 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e class="line">..msvc</span>.<span
102860 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 69 74 61 6e 69 75 6d 3c 2f 73 70 61 6e 3e 0a 3c .class="line">..itanium</span>.<
102880 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 63 79 67 6e 75 73 3c 2f 73 70 61 6e span.class="line">..cygnus</span
1028a0 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 63 6f 72 65 63 6c 72 3c 2f >.<span.class="line">..coreclr</
1028c0 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 73 69 6d 75 6c span>.<span.class="line">..simul
1028e0 61 74 6f 72 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c ator</span>.<span.class="line"><
102900 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 41 76 61 69 6c 61 /span>.<span.class="line">Availa
102920 62 6c 65 20 6c 69 62 63 73 3a 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c ble.libcs:</span>.<span.class="l
102940 69 6e 65 22 3e 20 20 61 61 72 63 68 36 34 5f 62 65 2d 6c 69 6e 75 78 2d 67 6e 75 3c 2f 73 70 61 ine">..aarch64_be-linux-gnu</spa
102960 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 61 61 72 63 68 36 34 5f n>.<span.class="line">..aarch64_
102980 62 65 2d 6c 69 6e 75 78 2d 6d 75 73 6c 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 be-linux-musl</span>.<span.class
1029a0 3d 22 6c 69 6e 65 22 3e 20 20 61 61 72 63 68 36 34 2d 6c 69 6e 75 78 2d 67 6e 75 3c 2f 73 70 61 ="line">..aarch64-linux-gnu</spa
1029c0 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 61 61 72 63 68 36 34 2d n>.<span.class="line">..aarch64-
1029e0 6c 69 6e 75 78 2d 6d 75 73 6c 65 61 62 69 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 linux-musleabi</span>.<span.clas
102a00 73 3d 22 6c 69 6e 65 22 3e 20 20 61 72 6d 65 62 2d 6c 69 6e 75 78 2d 67 6e 75 65 61 62 69 3c 2f s="line">..armeb-linux-gnueabi</
102a20 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 61 72 6d 65 62 span>.<span.class="line">..armeb
102a40 2d 6c 69 6e 75 78 2d 67 6e 75 65 61 62 69 68 66 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c -linux-gnueabihf</span>.<span.cl
102a60 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 61 72 6d 65 62 2d 6c 69 6e 75 78 2d 6d 75 73 6c 65 61 62 ass="line">..armeb-linux-musleab
102a80 69 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 61 72 i</span>.<span.class="line">..ar
102aa0 6d 65 62 2d 6c 69 6e 75 78 2d 6d 75 73 6c 65 61 62 69 68 66 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 meb-linux-musleabihf</span>.<spa
102ac0 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 61 72 6d 2d 6c 69 6e 75 78 2d 67 6e 75 65 61 n.class="line">..arm-linux-gnuea
102ae0 62 69 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 61 bi</span>.<span.class="line">..a
102b00 72 6d 2d 6c 69 6e 75 78 2d 67 6e 75 65 61 62 69 68 66 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 rm-linux-gnueabihf</span>.<span.
102b20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 61 72 6d 2d 6c 69 6e 75 78 2d 6d 75 73 6c 65 61 62 class="line">..arm-linux-musleab
102b40 69 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 61 72 i</span>.<span.class="line">..ar
102b60 6d 2d 6c 69 6e 75 78 2d 6d 75 73 6c 65 61 62 69 68 66 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 m-linux-musleabihf</span>.<span.
102b80 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 69 33 38 36 2d 6c 69 6e 75 78 2d 67 6e 75 3c 2f 73 class="line">..i386-linux-gnu</s
102ba0 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 69 33 38 36 2d 6c pan>.<span.class="line">..i386-l
102bc0 69 6e 75 78 2d 6d 75 73 6c 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 inux-musl</span>.<span.class="li
102be0 6e 65 22 3e 20 20 6d 69 70 73 36 34 65 6c 2d 6c 69 6e 75 78 2d 67 6e 75 61 62 69 36 34 3c 2f 73 ne">..mips64el-linux-gnuabi64</s
102c00 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 6d 69 70 73 36 34 pan>.<span.class="line">..mips64
102c20 65 6c 2d 6c 69 6e 75 78 2d 67 6e 75 61 62 69 6e 33 32 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 el-linux-gnuabin32</span>.<span.
102c40 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 6d 69 70 73 36 34 65 6c 2d 6c 69 6e 75 78 2d 6d 75 class="line">..mips64el-linux-mu
102c60 73 6c 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 6d sl</span>.<span.class="line">..m
102c80 69 70 73 36 34 2d 6c 69 6e 75 78 2d 67 6e 75 61 62 69 36 34 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 ips64-linux-gnuabi64</span>.<spa
102ca0 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 6d 69 70 73 36 34 2d 6c 69 6e 75 78 2d 67 6e n.class="line">..mips64-linux-gn
102cc0 75 61 62 69 6e 33 32 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 uabin32</span>.<span.class="line
102ce0 22 3e 20 20 6d 69 70 73 36 34 2d 6c 69 6e 75 78 2d 6d 75 73 6c 3c 2f 73 70 61 6e 3e 0a 3c 73 70 ">..mips64-linux-musl</span>.<sp
102d00 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 6d 69 70 73 65 6c 2d 6c 69 6e 75 78 2d 67 an.class="line">..mipsel-linux-g
102d20 6e 75 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 6d nu</span>.<span.class="line">..m
102d40 69 70 73 65 6c 2d 6c 69 6e 75 78 2d 6d 75 73 6c 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c ipsel-linux-musl</span>.<span.cl
102d60 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 6d 69 70 73 2d 6c 69 6e 75 78 2d 67 6e 75 3c 2f 73 70 61 ass="line">..mips-linux-gnu</spa
102d80 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 6d 69 70 73 2d 6c 69 6e n>.<span.class="line">..mips-lin
102da0 75 78 2d 6d 75 73 6c 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 ux-musl</span>.<span.class="line
102dc0 22 3e 20 20 6e 69 6f 73 32 2d 6c 69 6e 75 78 2d 67 6e 75 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e ">..nios2-linux-gnu</span>.<span
102de0 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 70 6f 77 65 72 70 63 36 34 6c 65 2d 6c 69 6e 75 .class="line">..powerpc64le-linu
102e00 78 2d 67 6e 75 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e x-gnu</span>.<span.class="line">
102e20 20 20 70 6f 77 65 72 70 63 36 34 6c 65 2d 6c 69 6e 75 78 2d 6d 75 73 6c 3c 2f 73 70 61 6e 3e 0a ..powerpc64le-linux-musl</span>.
102e40 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 70 6f 77 65 72 70 63 36 34 2d 6c <span.class="line">..powerpc64-l
102e60 69 6e 75 78 2d 67 6e 75 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e inux-gnu</span>.<span.class="lin
102e80 65 22 3e 20 20 70 6f 77 65 72 70 63 36 34 2d 6c 69 6e 75 78 2d 6d 75 73 6c 3c 2f 73 70 61 6e 3e e">..powerpc64-linux-musl</span>
102ea0 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 70 6f 77 65 72 70 63 2d 6c 69 .<span.class="line">..powerpc-li
102ec0 6e 75 78 2d 67 6e 75 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 nux-gnu</span>.<span.class="line
102ee0 22 3e 20 20 70 6f 77 65 72 70 63 2d 6c 69 6e 75 78 2d 6d 75 73 6c 3c 2f 73 70 61 6e 3e 0a 3c 73 ">..powerpc-linux-musl</span>.<s
102f00 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 72 69 73 63 76 33 32 2d 6c 69 6e 75 78 pan.class="line">..riscv32-linux
102f20 2d 6d 75 73 6c 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e -musl</span>.<span.class="line">
102f40 20 20 72 69 73 63 76 36 34 2d 6c 69 6e 75 78 2d 67 6e 75 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e ..riscv64-linux-gnu</span>.<span
102f60 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 72 69 73 63 76 36 34 2d 6c 69 6e 75 78 2d 6d 75 .class="line">..riscv64-linux-mu
102f80 73 6c 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 73 sl</span>.<span.class="line">..s
102fa0 33 39 30 78 2d 6c 69 6e 75 78 2d 67 6e 75 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 390x-linux-gnu</span>.<span.clas
102fc0 73 3d 22 6c 69 6e 65 22 3e 20 20 73 33 39 30 78 2d 6c 69 6e 75 78 2d 6d 75 73 6c 3c 2f 73 70 61 s="line">..s390x-linux-musl</spa
102fe0 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 73 70 61 72 63 2d 6c 69 n>.<span.class="line">..sparc-li
103000 6e 75 78 2d 67 6e 75 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 nux-gnu</span>.<span.class="line
103020 22 3e 20 20 73 70 61 72 63 36 34 2d 6c 69 6e 75 78 2d 67 6e 75 3c 2f 73 70 61 6e 3e 0a 3c 73 70 ">..sparc64-linux-gnu</span>.<sp
103040 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 77 61 73 6d 33 32 2d 66 72 65 65 73 74 61 an.class="line">..wasm32-freesta
103060 6e 64 69 6e 67 2d 6d 75 73 6c 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c nding-musl</span>.<span.class="l
103080 69 6e 65 22 3e 20 20 77 61 73 6d 33 32 2d 77 61 73 69 2d 6d 75 73 6c 3c 2f 73 70 61 6e 3e 0a 3c ine">..wasm32-wasi-musl</span>.<
1030a0 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 78 38 36 5f 36 34 2d 6c 69 6e 75 78 span.class="line">..x86_64-linux
1030c0 2d 67 6e 75 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 -gnu</span>.<span.class="line">.
1030e0 20 78 38 36 5f 36 34 2d 6c 69 6e 75 78 2d 67 6e 75 78 33 32 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 .x86_64-linux-gnux32</span>.<spa
103100 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 78 38 36 5f 36 34 2d 6c 69 6e 75 78 2d 6d 75 n.class="line">..x86_64-linux-mu
103120 73 6c 3c 2f 73 70 61 6e 3e 0a 3c 2f 73 61 6d 70 3e 3c 2f 70 72 65 3e 3c 2f 66 69 67 75 72 65 3e sl</span>.</samp></pre></figure>
103140 0a 20 20 20 20 20 20 3c 70 3e 0a 20 20 20 20 20 20 54 68 65 20 5a 69 67 20 53 74 61 6e 64 61 72 .......<p>.......The.Zig.Standar
103160 64 20 4c 69 62 72 61 72 79 20 28 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 d.Library.(<code><span.class="li
103180 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 62 75 69 6c 74 69 6e 22 3e 40 69 ne"><span.class="tok-builtin">@i
1031a0 6d 70 6f 72 74 3c 2f 73 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
1031c0 72 22 3e 26 71 75 6f 74 3b 73 74 64 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 29 3c 2f 73 70 61 6e r">&quot;std&quot;</span>)</span
1031e0 3e 3c 2f 63 6f 64 65 3e 29 20 68 61 73 20 61 72 63 68 69 74 65 63 74 75 72 65 2c 20 65 6e 76 69 ></code>).has.architecture,.envi
103200 72 6f 6e 6d 65 6e 74 2c 20 61 6e 64 20 6f 70 65 72 61 74 69 6e 67 20 73 79 73 74 65 6d 0a 20 20 ronment,.and.operating.system...
103220 20 20 20 20 61 62 73 74 72 61 63 74 69 6f 6e 73 2c 20 61 6e 64 20 74 68 75 73 20 74 61 6b 65 73 ....abstractions,.and.thus.takes
103240 20 61 64 64 69 74 69 6f 6e 61 6c 20 77 6f 72 6b 20 74 6f 20 73 75 70 70 6f 72 74 20 6d 6f 72 65 .additional.work.to.support.more
103260 20 70 6c 61 74 66 6f 72 6d 73 2e 0a 20 20 20 20 20 20 4e 6f 74 20 61 6c 6c 20 73 74 61 6e 64 61 .platforms........Not.all.standa
103280 72 64 20 6c 69 62 72 61 72 79 20 63 6f 64 65 20 72 65 71 75 69 72 65 73 20 6f 70 65 72 61 74 69 rd.library.code.requires.operati
1032a0 6e 67 20 73 79 73 74 65 6d 20 61 62 73 74 72 61 63 74 69 6f 6e 73 2c 20 68 6f 77 65 76 65 72 2c ng.system.abstractions,.however,
1032c0 0a 20 20 20 20 20 20 73 6f 20 74 68 69 6e 67 73 20 73 75 63 68 20 61 73 20 67 65 6e 65 72 69 63 .......so.things.such.as.generic
1032e0 20 64 61 74 61 20 73 74 72 75 63 74 75 72 65 73 20 77 6f 72 6b 20 6f 6e 20 61 6c 6c 20 61 62 6f .data.structures.work.on.all.abo
103300 76 65 20 70 6c 61 74 66 6f 72 6d 73 2e 0a 20 20 20 20 20 20 3c 2f 70 3e 0a 20 20 20 20 20 20 3c ve.platforms........</p>.......<
103320 70 3e 54 68 65 20 63 75 72 72 65 6e 74 20 6c 69 73 74 20 6f 66 20 74 61 72 67 65 74 73 20 73 75 p>The.current.list.of.targets.su
103340 70 70 6f 72 74 65 64 20 62 79 20 74 68 65 20 5a 69 67 20 53 74 61 6e 64 61 72 64 20 4c 69 62 72 pported.by.the.Zig.Standard.Libr
103360 61 72 79 20 69 73 3a 3c 2f 70 3e 0a 20 20 20 20 20 20 3c 75 6c 3e 0a 20 20 20 20 20 20 3c 6c 69 ary.is:</p>.......<ul>.......<li
103380 3e 4c 69 6e 75 78 20 78 38 36 5f 36 34 3c 2f 6c 69 3e 0a 20 20 20 20 20 20 3c 6c 69 3e 57 69 6e >Linux.x86_64</li>.......<li>Win
1033a0 64 6f 77 73 20 78 38 36 5f 36 34 3c 2f 6c 69 3e 0a 20 20 20 20 20 20 3c 6c 69 3e 6d 61 63 4f 53 dows.x86_64</li>.......<li>macOS
1033c0 20 78 38 36 5f 36 34 3c 2f 6c 69 3e 0a 20 20 20 20 20 20 3c 2f 75 6c 3e 0a 20 20 20 20 20 20 0a .x86_64</li>.......</ul>........
1033e0 20 20 20 20 20 20 3c 68 32 20 69 64 3d 22 53 74 79 6c 65 2d 47 75 69 64 65 22 3e 3c 61 20 68 72 ......<h2.id="Style-Guide"><a.hr
103400 65 66 3d 22 23 74 6f 63 2d 53 74 79 6c 65 2d 47 75 69 64 65 22 3e 53 74 79 6c 65 20 47 75 69 64 ef="#toc-Style-Guide">Style.Guid
103420 65 3c 2f 61 3e 20 3c 61 20 63 6c 61 73 73 3d 22 68 64 72 22 20 68 72 65 66 3d 22 23 53 74 79 6c e</a>.<a.class="hdr".href="#Styl
103440 65 2d 47 75 69 64 65 22 3e c2 a7 3c 2f 61 3e 3c 2f 68 32 3e 0a 0a 20 20 20 20 20 20 3c 70 3e 0a e-Guide">..</a></h2>........<p>.
103460 54 68 65 73 65 20 63 6f 64 69 6e 67 20 63 6f 6e 76 65 6e 74 69 6f 6e 73 20 61 72 65 20 6e 6f 74 These.coding.conventions.are.not
103480 20 65 6e 66 6f 72 63 65 64 20 62 79 20 74 68 65 20 63 6f 6d 70 69 6c 65 72 2c 20 62 75 74 20 74 .enforced.by.the.compiler,.but.t
1034a0 68 65 79 20 61 72 65 20 73 68 69 70 70 65 64 20 69 6e 0a 74 68 69 73 20 64 6f 63 75 6d 65 6e 74 hey.are.shipped.in.this.document
1034c0 61 74 69 6f 6e 20 61 6c 6f 6e 67 20 77 69 74 68 20 74 68 65 20 63 6f 6d 70 69 6c 65 72 20 69 6e ation.along.with.the.compiler.in
1034e0 20 6f 72 64 65 72 20 74 6f 20 70 72 6f 76 69 64 65 20 61 20 70 6f 69 6e 74 20 6f 66 0a 72 65 66 .order.to.provide.a.point.of.ref
103500 65 72 65 6e 63 65 2c 20 73 68 6f 75 6c 64 20 61 6e 79 6f 6e 65 20 77 69 73 68 20 74 6f 20 70 6f erence,.should.anyone.wish.to.po
103520 69 6e 74 20 74 6f 20 61 6e 20 61 75 74 68 6f 72 69 74 79 20 6f 6e 20 61 67 72 65 65 64 20 75 70 int.to.an.authority.on.agreed.up
103540 6f 6e 20 5a 69 67 0a 63 6f 64 69 6e 67 20 73 74 79 6c 65 2e 0a 20 20 20 20 20 20 3c 2f 70 3e 0a on.Zig.coding.style........</p>.
103560 20 20 20 20 20 20 3c 68 33 20 69 64 3d 22 57 68 69 74 65 73 70 61 63 65 22 3e 3c 61 20 68 72 65 ......<h3.id="Whitespace"><a.hre
103580 66 3d 22 23 74 6f 63 2d 57 68 69 74 65 73 70 61 63 65 22 3e 57 68 69 74 65 73 70 61 63 65 3c 2f f="#toc-Whitespace">Whitespace</
1035a0 61 3e 20 3c 61 20 63 6c 61 73 73 3d 22 68 64 72 22 20 68 72 65 66 3d 22 23 57 68 69 74 65 73 70 a>.<a.class="hdr".href="#Whitesp
1035c0 61 63 65 22 3e c2 a7 3c 2f 61 3e 3c 2f 68 33 3e 0a 0a 20 20 20 20 20 20 3c 75 6c 3e 0a 20 20 20 ace">..</a></h3>........<ul>....
1035e0 20 20 20 20 20 3c 6c 69 3e 0a 20 20 20 20 20 20 20 20 20 20 34 20 73 70 61 63 65 20 69 6e 64 65 .....<li>...........4.space.inde
103600 6e 74 61 74 69 6f 6e 0a 20 20 20 20 20 20 20 20 3c 2f 6c 69 3e 0a 20 20 20 20 20 20 20 20 3c 6c ntation.........</li>.........<l
103620 69 3e 0a 20 20 20 20 20 20 20 20 20 20 4f 70 65 6e 20 62 72 61 63 65 73 20 6f 6e 20 73 61 6d 65 i>...........Open.braces.on.same
103640 20 6c 69 6e 65 2c 20 75 6e 6c 65 73 73 20 79 6f 75 20 6e 65 65 64 20 74 6f 20 77 72 61 70 2e 0a .line,.unless.you.need.to.wrap..
103660 20 20 20 20 20 20 20 20 3c 2f 6c 69 3e 0a 20 20 20 20 20 20 20 20 3c 6c 69 3e 49 66 20 61 20 6c ........</li>.........<li>If.a.l
103680 69 73 74 20 6f 66 20 74 68 69 6e 67 73 20 69 73 20 6c 6f 6e 67 65 72 20 74 68 61 6e 20 32 2c 20 ist.of.things.is.longer.than.2,.
1036a0 70 75 74 20 65 61 63 68 20 69 74 65 6d 20 6f 6e 20 69 74 73 20 6f 77 6e 20 6c 69 6e 65 20 61 6e put.each.item.on.its.own.line.an
1036c0 64 0a 20 20 20 20 20 20 20 20 20 20 65 78 65 72 63 69 73 65 20 74 68 65 20 61 62 69 6c 69 74 79 d...........exercise.the.ability
1036e0 20 74 6f 20 70 75 74 20 61 6e 20 65 78 74 72 61 20 63 6f 6d 6d 61 20 61 74 20 74 68 65 20 65 6e .to.put.an.extra.comma.at.the.en
103700 64 2e 0a 20 20 20 20 20 20 20 20 3c 2f 6c 69 3e 0a 20 20 20 20 20 20 20 20 3c 6c 69 3e 0a 20 20 d..........</li>.........<li>...
103720 20 20 20 20 20 20 20 20 4c 69 6e 65 20 6c 65 6e 67 74 68 3a 20 61 69 6d 20 66 6f 72 20 31 30 30 ........Line.length:.aim.for.100
103740 3b 20 75 73 65 20 63 6f 6d 6d 6f 6e 20 73 65 6e 73 65 2e 0a 20 20 20 20 20 20 20 20 3c 2f 6c 69 ;.use.common.sense..........</li
103760 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
103780 64 3d 22 4e 61 6d 65 73 22 3e 3c 61 20 68 72 65 66 3d 22 23 74 6f 63 2d 4e 61 6d 65 73 22 3e 4e d="Names"><a.href="#toc-Names">N
1037a0 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 23 4e ames</a>.<a.class="hdr".href="#N
1037c0 61 6d 65 73 22 3e c2 a7 3c 2f 61 3e 3c 2f 68 33 3e 0a 0a 20 20 20 20 20 20 3c 70 3e 0a 20 20 20 ames">..</a></h3>........<p>....
1037e0 20 20 20 52 6f 75 67 68 6c 79 20 73 70 65 61 6b 69 6e 67 3a 20 3c 63 6f 64 65 3e 3c 73 70 61 6e ...Roughly.speaking:.<code><span
103800 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 63 61 6d 65 6c 43 61 73 65 46 75 6e 63 74 69 6f 6e 4e .class="line">camelCaseFunctionN
103820 61 6d 65 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 2c 20 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 ame</span></code>,.<code><span.c
103840 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 54 69 74 6c 65 43 61 73 65 54 79 70 65 4e 61 6d 65 3c 2f 73 lass="line">TitleCaseTypeName</s
103860 70 61 6e 3e 3c 2f 63 6f 64 65 3e 2c 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 3c 63 6f 64 65 pan></code>,...............<code
103880 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 73 6e 61 6b 65 5f 63 61 73 65 5f 76 ><span.class="line">snake_case_v
1038a0 61 72 69 61 62 6c 65 5f 6e 61 6d 65 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 2e 20 4d 6f 72 65 ariable_name</span></code>..More
1038c0 20 70 72 65 63 69 73 65 6c 79 3a 0a 20 20 20 20 20 20 3c 2f 70 3e 0a 20 20 20 20 20 20 3c 75 6c .precisely:.......</p>.......<ul
1038e0 3e 0a 20 20 20 20 20 20 20 20 3c 6c 69 3e 0a 20 20 20 20 20 20 20 20 20 20 20 20 49 66 20 3c 63 >.........<li>.............If.<c
103900 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 78 3c 2f 73 70 61 6e 3e 3c ode><span.class="line">x</span><
103920 2f 63 6f 64 65 3e 20 69 73 20 61 20 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c /code>.is.a.<code><span.class="l
103940 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 74 79 70 65 ine"><span.class="tok-type">type
103960 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 0a 20 20 20 20 20 20 20 20 20 20 </span></span></code>...........
103980 20 20 74 68 65 6e 20 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e ..then.<code><span.class="line">
1039a0 78 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 20 73 68 6f 75 6c 64 20 62 65 20 3c 63 6f 64 65 3e x</span></code>.should.be.<code>
1039c0 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 54 69 74 6c 65 43 61 73 65 3c 2f 73 70 <span.class="line">TitleCase</sp
1039e0 61 6e 3e 3c 2f 63 6f 64 65 3e 2c 20 75 6e 6c 65 73 73 20 69 74 0a 20 20 20 20 20 20 20 20 20 20 an></code>,.unless.it...........
103a00 20 20 69 73 20 61 20 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e ..is.a.<code><span.class="line">
103a20 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
103a40 6e 3e 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 n></span></code>.with.0.fields.a
103a60 6e 64 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 nd.is.never.meant.to.be.instanti
103a80 61 74 65 64 2c 0a 20 20 20 20 20 20 20 20 20 20 20 20 69 6e 20 77 68 69 63 68 20 63 61 73 65 20 ated,.............in.which.case.
103aa0 69 74 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 it.is.considered.to.be.a."namesp
103ac0 61 63 65 22 20 61 6e 64 20 75 73 65 73 20 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d ace".and.uses.<code><span.class=
103ae0 22 6c 69 6e 65 22 3e 73 6e 61 6b 65 5f 63 61 73 65 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 2e "line">snake_case</span></code>.
103b00 0a 20 20 20 20 20 20 20 20 3c 2f 6c 69 3e 0a 20 20 20 20 20 20 20 20 3c 6c 69 3e 0a 20 20 20 20 .........</li>.........<li>.....
103b20 20 20 20 20 20 20 20 20 49 66 20 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 ........If.<code><span.class="li
103b40 6e 65 22 3e 78 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 20 69 73 20 63 61 6c 6c 61 62 6c 65 2c ne">x</span></code>.is.callable,
103b60 20 61 6e 64 20 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 78 3c .and.<code><span.class="line">x<
103b80 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 27 73 20 72 65 74 75 72 6e 20 74 79 70 65 20 69 73 0a 20 /span></code>'s.return.type.is..
103ba0 20 20 20 20 20 20 20 20 20 20 20 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 ...........<code><span.class="li
103bc0 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 74 79 70 65 3c ne"><span.class="tok-type">type<
103be0 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 2c 20 74 68 65 6e 20 3c 63 6f 64 65 /span></span></code>,.then.<code
103c00 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 78 3c 2f 73 70 61 6e 3e 3c 2f 63 6f ><span.class="line">x</span></co
103c20 64 65 3e 20 73 68 6f 75 6c 64 20 62 65 20 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d de>.should.be.<code><span.class=
103c40 22 6c 69 6e 65 22 3e 54 69 74 6c 65 43 61 73 65 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 2e 0a "line">TitleCase</span></code>..
103c60 20 20 20 20 20 20 20 20 3c 2f 6c 69 3e 0a 20 20 20 20 20 20 20 20 3c 6c 69 3e 0a 20 20 20 20 20 ........</li>.........<li>......
103c80 20 20 20 20 20 20 20 49 66 20 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e .......If.<code><span.class="lin
103ca0 65 22 3e 78 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 20 69 73 20 6f 74 68 65 72 77 69 73 65 20 e">x</span></code>.is.otherwise.
103cc0 63 61 6c 6c 61 62 6c 65 2c 20 74 68 65 6e 20 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 callable,.then.<code><span.class
103ce0 3d 22 6c 69 6e 65 22 3e 78 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 20 73 68 6f 75 6c 64 0a 20 ="line">x</span></code>.should..
103d00 20 20 20 20 20 20 20 20 20 20 20 62 65 20 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d ...........be.<code><span.class=
103d20 22 6c 69 6e 65 22 3e 63 61 6d 65 6c 43 61 73 65 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 2e 0a "line">camelCase</span></code>..
103d40 20 20 20 20 20 20 20 20 3c 2f 6c 69 3e 0a 20 20 20 20 20 20 20 20 3c 6c 69 3e 0a 20 20 20 20 20 ........</li>.........<li>......
103d60 20 20 20 20 20 20 20 4f 74 68 65 72 77 69 73 65 2c 20 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c .......Otherwise,.<code><span.cl
103d80 61 73 73 3d 22 6c 69 6e 65 22 3e 78 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 20 73 68 6f 75 6c ass="line">x</span></code>.shoul
103da0 64 20 62 65 20 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 73 6e d.be.<code><span.class="line">sn
103dc0 61 6b 65 5f 63 61 73 65 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 2e 0a 20 20 20 20 20 20 20 20 ake_case</span></code>..........
103de0 3c 2f 6c 69 3e 0a 20 20 20 20 20 20 3c 2f 75 6c 3e 0a 20 20 20 20 20 20 3c 70 3e 0a 20 20 20 20 </li>.......</ul>.......<p>.....
103e00 20 20 41 63 72 6f 6e 79 6d 73 2c 20 69 6e 69 74 69 61 6c 69 73 6d 73 2c 20 70 72 6f 70 65 72 20 ..Acronyms,.initialisms,.proper.
103e20 6e 6f 75 6e 73 2c 20 6f 72 20 61 6e 79 20 6f 74 68 65 72 20 77 6f 72 64 20 74 68 61 74 20 68 61 nouns,.or.any.other.word.that.ha
103e40 73 20 63 61 70 69 74 61 6c 69 7a 61 74 69 6f 6e 0a 20 20 20 20 20 20 72 75 6c 65 73 20 69 6e 20 s.capitalization.......rules.in.
103e60 77 72 69 74 74 65 6e 20 45 6e 67 6c 69 73 68 20 61 72 65 20 73 75 62 6a 65 63 74 20 74 6f 20 6e written.English.are.subject.to.n
103e80 61 6d 69 6e 67 20 63 6f 6e 76 65 6e 74 69 6f 6e 73 20 6a 75 73 74 20 6c 69 6b 65 20 61 6e 79 20 aming.conventions.just.like.any.
103ea0 6f 74 68 65 72 0a 20 20 20 20 20 20 77 6f 72 64 2e 20 45 76 65 6e 20 61 63 72 6f 6e 79 6d 73 20 other.......word..Even.acronyms.
103ec0 74 68 61 74 20 61 72 65 20 6f 6e 6c 79 20 32 20 6c 65 74 74 65 72 73 20 6c 6f 6e 67 20 61 72 65 that.are.only.2.letters.long.are
103ee0 20 73 75 62 6a 65 63 74 20 74 6f 20 74 68 65 73 65 0a 20 20 20 20 20 20 63 6f 6e 76 65 6e 74 69 .subject.to.these.......conventi
103f00 6f 6e 73 2e 0a 20 20 20 20 20 20 3c 2f 70 3e 0a 20 20 20 20 20 20 3c 70 3e 0a 20 20 20 20 20 20 ons........</p>.......<p>.......
103f20 46 69 6c 65 20 6e 61 6d 65 73 20 66 61 6c 6c 20 69 6e 74 6f 20 74 77 6f 20 63 61 74 65 67 6f 72 File.names.fall.into.two.categor
103f40 69 65 73 3a 20 74 79 70 65 73 20 61 6e 64 20 6e 61 6d 65 73 70 61 63 65 73 2e 20 49 66 20 74 68 ies:.types.and.namespaces..If.th
103f60 65 20 66 69 6c 65 0a 20 20 20 20 20 20 28 69 6d 70 6c 69 63 69 74 6c 79 20 61 20 73 74 72 75 63 e.file.......(implicitly.a.struc
103f80 74 29 20 68 61 73 20 74 6f 70 20 6c 65 76 65 6c 20 66 69 65 6c 64 73 2c 20 69 74 20 73 68 6f 75 t).has.top.level.fields,.it.shou
103fa0 6c 64 20 62 65 20 6e 61 6d 65 64 20 6c 69 6b 65 20 61 6e 79 0a 20 20 20 20 20 20 6f 74 68 65 72 ld.be.named.like.any.......other
103fc0 20 73 74 72 75 63 74 20 77 69 74 68 20 66 69 65 6c 64 73 20 75 73 69 6e 67 20 3c 63 6f 64 65 20 .struct.with.fields.using.<code.
103fe0 63 6c 61 73 73 3d 22 66 69 6c 65 22 3e 54 69 74 6c 65 43 61 73 65 3c 2f 63 6f 64 65 3e 2e 20 4f class="file">TitleCase</code>..O
104000 74 68 65 72 77 69 73 65 2c 0a 20 20 20 20 20 20 69 74 20 73 68 6f 75 6c 64 20 75 73 65 20 3c 63 therwise,.......it.should.use.<c
104020 6f 64 65 20 63 6c 61 73 73 3d 22 66 69 6c 65 22 3e 73 6e 61 6b 65 5f 63 61 73 65 3c 2f 63 6f 64 ode.class="file">snake_case</cod
104040 65 3e 2e 20 44 69 72 65 63 74 6f 72 79 20 6e 61 6d 65 73 20 73 68 6f 75 6c 64 20 62 65 0a 20 20 e>..Directory.names.should.be...
104060 20 20 20 20 3c 63 6f 64 65 20 63 6c 61 73 73 3d 22 66 69 6c 65 22 3e 73 6e 61 6b 65 5f 63 61 73 ....<code.class="file">snake_cas
104080 65 3c 2f 63 6f 64 65 3e 2e 0a 20 20 20 20 20 20 3c 2f 70 3e 0a 20 20 20 20 20 20 3c 70 3e 0a 20 e</code>........</p>.......<p>..
1040a0 20 20 20 20 20 54 68 65 73 65 20 61 72 65 20 67 65 6e 65 72 61 6c 20 72 75 6c 65 73 20 6f 66 20 .....These.are.general.rules.of.
1040c0 74 68 75 6d 62 3b 20 69 66 20 69 74 20 6d 61 6b 65 73 20 73 65 6e 73 65 20 74 6f 20 64 6f 20 73 thumb;.if.it.makes.sense.to.do.s
1040e0 6f 6d 65 74 68 69 6e 67 20 64 69 66 66 65 72 65 6e 74 2c 0a 20 20 20 20 20 20 64 6f 20 77 68 61 omething.different,.......do.wha
104100 74 20 6d 61 6b 65 73 20 73 65 6e 73 65 2e 20 46 6f 72 20 65 78 61 6d 70 6c 65 2c 20 69 66 20 74 t.makes.sense..For.example,.if.t
104120 68 65 72 65 20 69 73 20 61 6e 20 65 73 74 61 62 6c 69 73 68 65 64 20 63 6f 6e 76 65 6e 74 69 6f here.is.an.established.conventio
104140 6e 20 73 75 63 68 20 61 73 0a 20 20 20 20 20 20 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 n.such.as.......<code><span.clas
104160 73 3d 22 6c 69 6e 65 22 3e 45 4e 4f 45 4e 54 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 2c 20 66 s="line">ENOENT</span></code>,.f
104180 6f 6c 6c 6f 77 20 74 68 65 20 65 73 74 61 62 6c 69 73 68 65 64 20 63 6f 6e 76 65 6e 74 69 6f 6e ollow.the.established.convention
1041a0 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
1041c0 3d 22 45 78 61 6d 70 6c 65 73 22 3e 3c 61 20 68 72 65 66 3d 22 23 74 6f 63 2d 45 78 61 6d 70 6c ="Examples"><a.href="#toc-Exampl
1041e0 65 73 22 3e 45 78 61 6d 70 6c 65 73 3c 2f 61 3e 20 3c 61 20 63 6c 61 73 73 3d 22 68 64 72 22 20 es">Examples</a>.<a.class="hdr".
104200 68 72 65 66 3d 22 23 45 78 61 6d 70 6c 65 73 22 3e c2 a7 3c 2f 61 3e 3c 2f 68 33 3e 0a 0a 20 20 href="#Examples">..</a></h3>....
104220 20 20 20 20 3c 66 69 67 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
104240 69 67 2d 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 79 6c 65 ig-cap"><cite.class="file">style
104260 5f 65 78 61 6d 70 6c 65 2e 7a 69 67 3c 2f 63 69 74 65 3e 3c 2f 66 69 67 63 61 70 74 69 6f 6e 3e _example.zig</cite></figcaption>
104280 3c 70 72 65 3e 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 <pre><code><span.class="line"><s
1042a0 70 61 6e 20 63 6c 61 73 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>.
1042c0 6e 61 6d 65 73 70 61 63 65 5f 6e 61 6d 65 20 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f namespace_name.=.<span.class="to
1042e0 6b 2d 62 75 69 6c 74 69 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.
104300 63 6c 61 73 73 3d 22 74 6f 6b 2d 73 74 72 22 3e 26 71 75 6f 74 3b 64 69 72 5f 6e 61 6d 65 2f 66 class="tok-str">&quot;dir_name/f
104320 69 6c 65 5f 6e 61 6d 65 2e 7a 69 67 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 29 3b 3c 2f 73 70 61 ile_name.zig&quot;</span>);</spa
104340 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 n>.<span.class="line"><span.clas
104360 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 4e 61 6d 65 s="tok-kw">const</span>.TypeName
104380 20 3d 20 3c 73 70 61 6e 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
1043a0 70 6f 72 74 3c 2f 73 70 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
1043c0 22 3e 26 71 75 6f 74 3b 64 69 72 5f 6e 61 6d 65 2f 54 79 70 65 4e 61 6d 65 2e 7a 69 67 26 71 75 ">&quot;dir_name/TypeName.zig&qu
1043e0 6f 74 3b 3c 2f 73 70 61 6e 3e 29 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d ot;</span>);</span>.<span.class=
104400 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 76 61 72 3c "line"><span.class="tok-kw">var<
104420 2f 73 70 61 6e 3e 20 67 6c 6f 62 61 6c 5f 76 61 72 3a 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 /span>.global_var:.<span.class="
104440 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
104460 73 73 3d 22 74 6f 6b 2d 6e 75 6c 6c 22 3e 75 6e 64 65 66 69 6e 65 64 3c 2f 73 70 61 6e 3e 3b 3c ss="tok-null">undefined</span>;<
104480 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 /span>.<span.class="line"><span.
1044a0 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 63 6f 6e 73 74 3c 2f 73 70 61 6e 3e 20 63 6f 6e 73 class="tok-kw">const</span>.cons
1044c0 74 5f 6e 61 6d 65 20 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 t_name.=.<span.class="tok-number
1044e0 22 3e 34 32 3c 2f 73 70 61 6e 3e 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d ">42</span>;</span>.<span.class=
104500 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 63 6f 6e 73 "line"><span.class="tok-kw">cons
104520 74 3c 2f 73 70 61 6e 3e 20 70 72 69 6d 69 74 69 76 65 5f 74 79 70 65 5f 61 6c 69 61 73 20 3d 20 t</span>.primitive_type_alias.=.
104540 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
104560 3e 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 >;</span>.<span.class="line"><sp
104580 61 6e 20 63 6c 61 73 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
1045a0 74 72 69 6e 67 5f 61 6c 69 61 73 20 3d 20 5b 5d 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b tring_alias.=.[]<span.class="tok
1045c0 2d 74 79 70 65 22 3e 75 38 3c 2f 73 70 61 6e 3e 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 -type">u8</span>;</span>.<span.c
1045e0 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d lass="line"></span>.<span.class=
104600 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 63 6f 6e 73 "line"><span.class="tok-kw">cons
104620 74 3c 2f 73 70 61 6e 3e 20 53 74 72 75 63 74 4e 61 6d 65 20 3d 20 3c 73 70 61 6e 20 63 6c 61 73 t</span>.StructName.=.<span.clas
104640 73 3d 22 74 6f 6b 2d 6b 77 22 3e 73 74 72 75 63 74 3c 2f 73 70 61 6e 3e 20 7b 3c 2f 73 70 61 6e s="tok-kw">struct</span>.{</span
104660 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 66 69 65 6c 64 3a 20 >.<span.class="line">....field:.
104680 3c 73 70 61 6e 20 63 6c 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
1046a0 3e 2c 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 7d 3b 3c >,</span>.<span.class="line">};<
1046c0 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 /span>.<span.class="line"><span.
1046e0 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 63 6f 6e 73 74 3c 2f 73 70 61 6e 3e 20 53 74 72 75 class="tok-kw">const</span>.Stru
104700 63 74 41 6c 69 61 73 20 3d 20 53 74 72 75 63 74 4e 61 6d 65 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 ctAlias.=.StructName;</span>.<sp
104720 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c an.class="line"></span>.<span.cl
104740 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e ass="line"><span.class="tok-kw">
104760 66 6e 3c 2f 73 70 61 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
104780 75 6e 63 74 69 6f 6e 4e 61 6d 65 3c 2f 73 70 61 6e 3e 28 70 61 72 61 6d 5f 6e 61 6d 65 3a 20 54 unctionName</span>(param_name:.T
1047a0 79 70 65 4e 61 6d 65 29 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e ypeName).<span.class="tok-type">
1047c0 76 6f 69 64 3c 2f 73 70 61 6e 3e 20 7b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 void</span>.{</span>.<span.class
1047e0 3d 22 6c 69 6e 65 22 3e 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 ="line">....<span.class="tok-kw"
104800 3e 76 61 72 3c 2f 73 70 61 6e 3e 20 66 75 6e 63 74 69 6f 6e 50 6f 69 6e 74 65 72 20 3d 20 66 75 >var</span>.functionPointer.=.fu
104820 6e 63 74 69 6f 6e 4e 61 6d 65 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 nctionName;</span>.<span.class="
104840 6c 69 6e 65 22 3e 20 20 20 20 66 75 6e 63 74 69 6f 6e 50 6f 69 6e 74 65 72 28 29 3b 3c 2f 73 70 line">....functionPointer();</sp
104860 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 66 75 6e 63 74 an>.<span.class="line">....funct
104880 69 6f 6e 50 6f 69 6e 74 65 72 20 3d 20 6f 74 68 65 72 46 75 6e 63 74 69 6f 6e 3b 3c 2f 73 70 61 ionPointer.=.otherFunction;</spa
1048a0 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 66 75 6e 63 74 69 n>.<span.class="line">....functi
1048c0 6f 6e 50 6f 69 6e 74 65 72 28 29 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d onPointer();</span>.<span.class=
1048e0 22 6c 69 6e 65 22 3e 7d 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e "line">}</span>.<span.class="lin
104900 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 63 6f 6e 73 74 3c 2f 73 e"><span.class="tok-kw">const</s
104920 70 61 6e 3e 20 66 75 6e 63 74 69 6f 6e 41 6c 69 61 73 20 3d 20 66 75 6e 63 74 69 6f 6e 4e 61 6d pan>.functionAlias.=.functionNam
104940 65 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 2f 73 e;</span>.<span.class="line"></s
104960 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c pan>.<span.class="line"><span.cl
104980 61 73 73 3d 22 74 6f 6b 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
1049a0 73 73 3d 22 74 6f 6b 2d 66 6e 22 3e 4c 69 73 74 54 65 6d 70 6c 61 74 65 46 75 6e 63 74 69 6f 6e ss="tok-fn">ListTemplateFunction
1049c0 3c 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
1049e0 70 74 69 6d 65 3c 2f 73 70 61 6e 3e 20 43 68 69 6c 64 54 79 70 65 3a 20 3c 73 70 61 6e 20 63 6c ptime</span>.ChildType:.<span.cl
104a00 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 74 79 70 65 3c 2f 73 70 61 6e 3e 2c 20 3c 73 70 61 ass="tok-type">type</span>,.<spa
104a20 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>
104a40 20 66 69 78 65 64 5f 73 69 7a 65 3a 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 .fixed_size:.<span.class="tok-ty
104a60 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 74 pe">usize</span>).<span.class="t
104a80 6f 6b 2d 74 79 70 65 22 3e 74 79 70 65 3c 2f 73 70 61 6e 3e 20 7b 3c 2f 73 70 61 6e 3e 0a 3c 73 ok-type">type</span>.{</span>.<s
104aa0 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 pan.class="line">....<span.class
104ac0 3d 22 74 6f 6b 2d 6b 77 22 3e 72 65 74 75 72 6e 3c 2f 73 70 61 6e 3e 20 4c 69 73 74 28 43 68 69 ="tok-kw">return</span>.List(Chi
104ae0 6c 64 54 79 70 65 2c 20 66 69 78 65 64 5f 73 69 7a 65 29 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 ldType,.fixed_size);</span>.<spa
104b00 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 7d 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c n.class="line">}</span>.<span.cl
104b20 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 ass="line"></span>.<span.class="
104b40 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 66 6e 3c 2f 73 line"><span.class="tok-kw">fn</s
104b60 70 61 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 pan>.<span.class="tok-fn">ShortL
104b80 69 73 74 3c 2f 73 70 61 6e 3e 28 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e ist</span>(<span.class="tok-kw">
104ba0 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="
104bc0 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
104be0 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 3a 20 3c ss="tok-kw">comptime</span>.n:.<
104c00 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
104c20 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 70 65 3c n>).<span.class="tok-type">type<
104c40 2f 73 70 61 6e 3e 20 7b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e /span>.{</span>.<span.class="lin
104c60 65 22 3e 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 72 65 74 75 e">....<span.class="tok-kw">retu
104c80 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
104ca0 74 72 75 63 74 3c 2f 73 70 61 6e 3e 20 7b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 truct</span>.{</span>.<span.clas
104cc0 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 20 20 20 20 66 69 65 6c 64 5f 6e 61 6d 65 3a 20 5b 6e 5d s="line">........field_name:.[n]
104ce0 54 2c 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 T,</span>.<span.class="line">...
104d00 20 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 66 6e 3c 2f 73 70 .....<span.class="tok-kw">fn</sp
104d20 61 6e 3e 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 66 6e 22 3e 6d 65 74 68 6f 64 4e an>.<span.class="tok-fn">methodN
104d40 61 6d 65 3c 2f 73 70 61 6e 3e 28 29 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 ame</span>().<span.class="tok-ty
104d60 70 65 22 3e 76 6f 69 64 3c 2f 73 70 61 6e 3e 20 7b 7d 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 pe">void</span>.{}</span>.<span.
104d80 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 7d 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e class="line">....};</span>.<span
104da0 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 7d 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 .class="line">}</span>.<span.cla
104dc0 73 73 3d 22 6c 69 6e 65 22 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c ss="line"></span>.<span.class="l
104de0 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 63 6f 6d 6d 65 6e 74 22 3e 2f ine"><span.class="tok-comment">/
104e00 2f 20 54 68 65 20 77 6f 72 64 20 58 4d 4c 20 6c 6f 73 65 73 20 69 74 73 20 63 61 73 69 6e 67 20 /.The.word.XML.loses.its.casing.
104e20 77 68 65 6e 20 75 73 65 64 20 69 6e 20 5a 69 67 20 69 64 65 6e 74 69 66 69 65 72 73 2e 3c 2f 73 when.used.in.Zig.identifiers.</s
104e40 70 61 6e 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c pan></span>.<span.class="line"><
104e60 73 70 61 6e 20 63 6c 61 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>
104e80 20 78 6d 6c 5f 64 6f 63 75 6d 65 6e 74 20 3d 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 .xml_document.=</span>.<span.cla
104ea0 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 73 ss="line">....<span.class="tok-s
104ec0 74 72 22 3e 5c 5c 26 6c 74 3b 3f 78 6d 6c 20 76 65 72 73 69 6f 6e 3d 26 71 75 6f 74 3b 31 2e 30 tr">\\&lt;?xml.version=&quot;1.0
104ee0 26 71 75 6f 74 3b 20 65 6e 63 6f 64 69 6e 67 3d 26 71 75 6f 74 3b 55 54 46 2d 38 26 71 75 6f 74 &quot;.encoding=&quot;UTF-8&quot
104f00 3b 3f 26 67 74 3b 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 ;?&gt;</span></span>.<span.class
104f20 3d 22 6c 69 6e 65 22 3e 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 73 74 72 ="line">....<span.class="tok-str
104f40 22 3e 5c 5c 26 6c 74 3b 64 6f 63 75 6d 65 6e 74 26 67 74 3b 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 ">\\&lt;document&gt;</span></spa
104f60 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 3c 73 70 61 6e 20 n>.<span.class="line">....<span.
104f80 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 26 class="tok-str">\\&lt;/document&
104fa0 67 74 3b 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c gt;</span></span>.<span.class="l
104fc0 69 6e 65 22 3e 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 ine">;</span>.<span.class="line"
104fe0 3e 3c 73 70 61 6e 20 63 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
105000 6e 3e 20 58 6d 6c 50 61 72 73 65 72 20 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d n>.XmlParser.=.<span.class="tok-
105020 6b 77 22 3e 73 74 72 75 63 74 3c 2f 73 70 61 6e 3e 20 7b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e kw">struct</span>.{</span>.<span
105040 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 66 69 65 6c 64 3a 20 3c 73 70 61 6e 20 63 .class="line">....field:.<span.c
105060 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 69 33 32 3c 2f 73 70 61 6e 3e 2c 3c 2f 73 70 61 lass="tok-type">i32</span>,</spa
105080 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 7d 3b 3c 2f 73 70 61 6e 3e 0a n>.<span.class="line">};</span>.
1050a0 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e <span.class="line"></span>.<span
1050c0 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 63 .class="line"><span.class="tok-c
1050e0 6f 6d 6d 65 6e 74 22 3e 2f 2f 20 54 68 65 20 69 6e 69 74 69 61 6c 73 20 42 45 20 28 42 69 67 20 omment">//.The.initials.BE.(Big.
105100 45 6e 64 69 61 6e 29 20 61 72 65 20 6a 75 73 74 20 61 6e 6f 74 68 65 72 20 77 6f 72 64 20 69 6e Endian).are.just.another.word.in
105120 20 5a 69 67 20 69 64 65 6e 74 69 66 69 65 72 20 6e 61 6d 65 73 2e 3c 2f 73 70 61 6e 3e 3c 2f 73 .Zig.identifier.names.</span></s
105140 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c pan>.<span.class="line"><span.cl
105160 61 73 73 3d 22 74 6f 6b 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
105180 73 73 3d 22 74 6f 6b 2d 66 6e 22 3e 72 65 61 64 55 33 32 42 65 3c 2f 73 70 61 6e 3e 28 29 20 3c ss="tok-fn">readU32Be</span>().<
1051a0 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>
1051c0 20 7b 7d 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 3c 2f 70 72 65 3e 3c 2f 66 69 67 75 72 65 3e .{}</span></code></pre></figure>
1051e0 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 68 72 65 66 .......<p>.......See.the.<a.href
105200 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 61 ="#Zig-Standard-Library">Zig.Sta
105220 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 78 61 6d 70 ndard.Library</a>.for.more.examp
105240 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 20 3c 68 33 les........</p>..............<h3
105260 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 61 20 68 72 .id="Doc-Comment-Guidance"><a.hr
105280 65 66 3d 22 23 74 6f 63 2d 44 6f 63 2d 43 6f 6d 6d 65 6e 74 2d 47 75 69 64 61 6e 63 65 22 3e 44 ef="#toc-Doc-Comment-Guidance">D
1052a0 6f 63 20 43 6f 6d 6d 65 6e 74 20 47 75 69 64 61 6e 63 65 3c 2f 61 3e 20 3c 61 20 63 6c 61 73 73 oc.Comment.Guidance</a>.<a.class
1052c0 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 2d 47 75 69 64 61 6e ="hdr".href="#Doc-Comment-Guidan
1052e0 63 65 22 3e c2 a7 3c 2f 61 3e 3c 2f 68 33 3e 0a 0a 20 20 20 20 20 20 3c 75 6c 3e 0a 20 20 20 20 ce">..</a></h3>........<ul>.....
105300 20 20 20 20 3c 6c 69 3e 4f 6d 69 74 20 61 6e 79 20 69 6e 66 6f 72 6d 61 74 69 6f 6e 20 74 68 61 ....<li>Omit.any.information.tha
105320 74 20 69 73 20 72 65 64 75 6e 64 61 6e 74 20 62 61 73 65 64 20 6f 6e 20 74 68 65 20 6e 61 6d 65 t.is.redundant.based.on.the.name
105340 20 6f 66 20 74 68 65 20 74 68 69 6e 67 20 62 65 69 6e 67 20 64 6f 63 75 6d 65 6e 74 65 64 2e 3c .of.the.thing.being.documented.<
105360 2f 6c 69 3e 0a 20 20 20 20 20 20 20 20 3c 6c 69 3e 44 75 70 6c 69 63 61 74 69 6e 67 20 69 6e 66 /li>.........<li>Duplicating.inf
105380 6f 72 6d 61 74 69 6f 6e 20 6f 6e 74 6f 20 6d 75 6c 74 69 70 6c 65 20 73 69 6d 69 6c 61 72 20 66 ormation.onto.multiple.similar.f
1053a0 75 6e 63 74 69 6f 6e 73 20 69 73 20 65 6e 63 6f 75 72 61 67 65 64 20 62 65 63 61 75 73 65 20 69 unctions.is.encouraged.because.i
1053c0 74 20 68 65 6c 70 73 20 49 44 45 73 20 61 6e 64 20 6f 74 68 65 72 20 74 6f 6f 6c 73 20 70 72 6f t.helps.IDEs.and.other.tools.pro
1053e0 76 69 64 65 20 62 65 74 74 65 72 20 68 65 6c 70 20 74 65 78 74 2e 3c 2f 6c 69 3e 0a 20 20 20 20 vide.better.help.text.</li>.....
105400 20 20 20 20 3c 6c 69 3e 55 73 65 20 74 68 65 20 77 6f 72 64 20 3c 73 74 72 6f 6e 67 3e 61 73 73 ....<li>Use.the.word.<strong>ass
105420 75 6d 65 3c 2f 73 74 72 6f 6e 67 3e 20 74 6f 20 69 6e 64 69 63 61 74 65 20 69 6e 76 61 72 69 61 ume</strong>.to.indicate.invaria
105440 6e 74 73 20 74 68 61 74 20 63 61 75 73 65 20 3c 61 20 68 72 65 66 3d 22 23 55 6e 64 65 66 69 6e nts.that.cause.<a.href="#Undefin
105460 65 64 2d 42 65 68 61 76 69 6f 72 22 3e 55 6e 64 65 66 69 6e 65 64 20 42 65 68 61 76 69 6f 72 3c ed-Behavior">Undefined.Behavior<
105480 2f 61 3e 20 77 68 65 6e 20 76 69 6f 6c 61 74 65 64 2e 3c 2f 6c 69 3e 0a 20 20 20 20 20 20 20 20 /a>.when.violated.</li>.........
1054a0 3c 6c 69 3e 55 73 65 20 74 68 65 20 77 6f 72 64 20 3c 73 74 72 6f 6e 67 3e 61 73 73 65 72 74 3c <li>Use.the.word.<strong>assert<
1054c0 2f 73 74 72 6f 6e 67 3e 20 74 6f 20 69 6e 64 69 63 61 74 65 20 69 6e 76 61 72 69 61 6e 74 73 20 /strong>.to.indicate.invariants.
1054e0 74 68 61 74 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 that.cause.<em>safety-checked</e
105500 6d 3e 20 3c 61 20 68 72 65 66 3d 22 23 55 6e 64 65 66 69 6e 65 64 2d 42 65 68 61 76 69 6f 72 22 m>.<a.href="#Undefined-Behavior"
105520 3e 55 6e 64 65 66 69 6e 65 64 20 42 65 68 61 76 69 6f 72 3c 2f 61 3e 20 77 68 65 6e 20 76 69 6f >Undefined.Behavior</a>.when.vio
105540 6c 61 74 65 64 2e 3c 2f 6c 69 3e 0a 20 20 20 20 20 20 3c 2f 75 6c 3e 0a 20 20 20 20 20 20 0a 20 lated.</li>.......</ul>.........
105560 20 20 20 20 20 0a 20 20 20 20 20 20 3c 68 32 20 69 64 3d 22 53 6f 75 72 63 65 2d 45 6e 63 6f 64 ............<h2.id="Source-Encod
105580 69 6e 67 22 3e 3c 61 20 68 72 65 66 3d 22 23 74 6f 63 2d 53 6f 75 72 63 65 2d 45 6e 63 6f 64 69 ing"><a.href="#toc-Source-Encodi
1055a0 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 73 ng">Source.Encoding</a>.<a.class
1055c0 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 c2 ="hdr".href="#Source-Encoding">.
1055e0 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 20 .</a></h2>........<p>Zig.source.
105600 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 76 code.is.encoded.in.UTF-8..An.inv
105620 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 73 alid.UTF-8.byte.sequence.results
105640 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 3c .in.a.compile.error.</p>.......<
105660 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 65 p>Throughout.all.zig.source.code
105680 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 63 .(including.in.comments),.some.c
1056a0 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 70 ode.points.are.never.allowed:</p
1056c0 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 63 >.......<ul>.........<li>Ascii.c
1056e0 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 2b ontrol.characters,.except.for.U+
105700 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 30 000a.(LF),.U+000d.(CR),.and.U+00
105720 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 62 09.(HT):.U+0000.-.U+0008,.U+000b
105740 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 30 .-.U+000c,.U+000e.-.U+0001f,.U+0
105760 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 20 07f.</li>.........<li>Non-Ascii.
105780 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 45 Unicode.line.endings:.U+0085.(NE
1057a0 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 6c L),.U+2028.(LS),.U+2029.(PS).</l
1057c0 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 4c i>.......</ul>.......<p>.......L
1057e0 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 55 F.(byte.value.0x0a,.code.point.U
105800 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 6c 69 6e 65 22 3e +000a,.<code><span.class="line">
105820 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 73 74 72 22 3e 27 5c 6e 27 3c 2f 73 70 61 6e <span.class="tok-str">'\n'</span
105840 3e 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 29 20 69 73 20 74 68 65 20 6c 69 6e 65 20 74 65 72 ></span></code>).is.the.line.ter
105860 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 65 2e 0a 20 20 20 20 minator.in.Zig.source.code......
105880 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 74 65 73 20 65 76 65 ..This.byte.value.terminates.eve
1058a0 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 65 20 65 78 63 65 70 ry.line.of.zig.source.code.excep
1058c0 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 6c 65 2e 0a 20 20 20 t.the.last.line.of.the.file.....
1058e0 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 20 6e 6f 6e 2d 65 6d ...It.is.recommended.that.non-em
105900 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 20 61 6e 20 65 6d 70 pty.source.files.end.with.an.emp
105920 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 6c 61 73 74 20 62 79 ty.line,.which.means.the.last.by
105940 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 20 20 20 20 3c 2f 70 te.would.be.0x0a.(LF)........</p
105960 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 20 6d 61 79 20 62 65 >.......<p>.......Each.LF.may.be
105980 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 61 20 73 69 6e 67 6c .immediately.preceded.by.a.singl
1059a0 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 64 65 20 70 6f 69 6e e.CR.(byte.value.0x0d,.code.poin
1059c0 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 73 73 3d 22 6c 69 6e t.U+000d,.<code><span.class="lin
1059e0 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 73 74 72 22 3e 27 5c 72 27 3c 2f 73 e"><span.class="tok-str">'\r'</s
105a00 70 61 6e 3e 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 29 0a 20 20 20 20 20 20 74 6f 20 66 6f 72 pan></span></code>).......to.for
105a20 6d 20 61 20 57 69 6e 64 6f 77 73 20 73 74 79 6c 65 20 6c 69 6e 65 20 65 6e 64 69 6e 67 2c 20 62 m.a.Windows.style.line.ending,.b
105a40 75 74 20 74 68 69 73 20 69 73 20 64 69 73 63 6f 75 72 61 67 65 64 2e 0a 20 20 20 20 20 20 41 20 ut.this.is.discouraged........A.
105a60 43 52 20 69 6e 20 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 CR.in.any.other.context.is.not.a
105a80 6c 6c 6f 77 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 llowed........</p>.......<p>....
105aa0 20 20 20 48 54 20 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 ...HT.hard.tabs.(byte.value.0x09
105ac0 2c 20 63 6f 64 65 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 ,.code.point.U+0009,.<code><span
105ae0 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 73 .class="line"><span.class="tok-s
105b00 74 72 22 3e 27 5c 74 27 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 29 20 61 tr">'\t'</span></span></code>).a
105b20 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
105b40 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
105b60 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="
105b80 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 73 74 72 22 3e 27 20 27 3c line"><span.class="tok-str">'.'<
105ba0 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 29 20 61 73 20 61 20 74 6f 6b 65 6e /span></span></code>).as.a.token
105bc0 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 6f 66 20 68 61 72 .separator,.......but.use.of.har
105be0 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 20 3c 61 20 68 72 d.tabs.is.discouraged..See.<a.hr
105c00 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 0a 20 20 20 20 20 ef="#Grammar">Grammar</a>.......
105c20 20 3c 2f 70 3e 0a 20 20 20 20 20 20 3c 70 3e 0a 20 20 20 20 20 20 4e 6f 74 65 20 74 68 61 74 20 .</p>.......<p>.......Note.that.
105c40 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 20 running.<kbd>zig.fmt</kbd>.on.a.
105c60 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 72 source.file.will.implement.all.r
105c80 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 20 ecommendations.mentioned.here...
105ca0 20 20 20 20 20 4e 6f 74 65 20 61 6c 73 6f 20 74 68 61 74 20 74 68 65 20 73 74 61 67 65 31 20 63 .....Note.also.that.the.stage1.c
105cc0 6f 6d 70 69 6c 65 72 20 64 6f 65 73 20 3c 61 20 68 72 65 66 3d 22 68 74 74 70 73 3a 2f 2f 67 69 ompiler.does.<a.href="https://gi
105ce0 74 68 75 62 2e 63 6f 6d 2f 7a 69 67 6c 61 6e 67 2f 7a 69 67 2f 77 69 6b 69 2f 46 41 51 23 77 68 thub.com/ziglang/zig/wiki/FAQ#wh
105d00 79 2d 64 6f 65 73 2d 7a 69 67 2d 66 6f 72 63 65 2d 6d 65 2d 74 6f 2d 75 73 65 2d 73 70 61 63 65 y-does-zig-force-me-to-use-space
105d20 73 2d 69 6e 73 74 65 61 64 2d 6f 66 2d 74 61 62 73 22 3e 6e 6f 74 20 79 65 74 20 73 75 70 70 6f s-instead-of-tabs">not.yet.suppo
105d40 72 74 20 43 52 20 6f 72 20 48 54 3c 2f 61 3e 20 63 6f 6e 74 72 6f 6c 20 63 68 61 72 61 63 74 65 rt.CR.or.HT</a>.control.characte
105d60 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 4e rs........</p>.......<p>.......N
105d80 6f 74 65 20 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 ote.that.a.tool.reading.Zig.sour
105da0 63 65 20 63 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 ce.code.can.make.assumptions.if.
105dc0 74 68 65 20 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 the.source.code.is.assumed.to.be
105de0 20 63 6f 72 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 .correct.Zig.code........For.exa
105e00 6d 70 6c 65 2c 20 77 68 65 6e 20 69 64 65 6e 74 69 66 79 69 6e 67 20 74 68 65 20 65 6e 64 73 20 mple,.when.identifying.the.ends.
105e20 6f 66 20 6c 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 of.lines,.a.tool.can.use.a.naive
105e40 20 73 65 61 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 .search.such.as.<code>/\n/</code
105e60 3e 2c 0a 20 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 >,.......or.an.<a.href="https://
105e80 6d 73 64 6e 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 msdn.microsoft.com/en-us/library
105ea0 2f 64 64 34 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 /dd409797.aspx">advanced</a>....
105ec0 20 20 20 73 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 ...search.such.as.<code>/\r\n?|[
105ee0 5c 6e 5c 75 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 \n\u0085\u2028\u2029]/</code>,.a
105f00 6e 64 20 69 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 nd.in.either.case.line.endings.w
105f20 69 6c 6c 20 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 ill.be.correctly.identified.....
105f40 20 20 20 46 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 ...For.another.example,.when.ide
105f60 6e 74 69 66 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 ntifying.the.whitespace.before.t
105f80 68 65 20 66 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 he.first.token.on.a.line,.......
105fa0 61 20 74 6f 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 a.tool.can.either.use.a.naive.se
105fc0 61 72 63 68 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 arch.such.as.<code>/[.\t]/</code
105fe0 3e 2c 0a 20 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 >,.......or.an.<a.href="https://
106000 74 63 33 39 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 tc39.es/ecma262/#sec-charactercl
106020 61 73 73 65 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 assescape">advanced</a>.search.s
106040 75 63 68 20 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 uch.as.<code>/\s/</code>,.......
106060 61 6e 64 20 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 and.in.either.case.whitespace.wi
106080 6c 6c 20 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 ll.be.correctly.identified......
1060a0 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 4b 65 79 ..</p>...............<h2.id="Key
1060c0 77 6f 72 64 2d 52 65 66 65 72 65 6e 63 65 22 3e 3c 61 20 68 72 65 66 3d 22 23 74 6f 63 2d 4b 65 word-Reference"><a.href="#toc-Ke
1060e0 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
106100 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 4b 65 79 ce</a>.<a.class="hdr".href="#Key
106120 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 0a 0a 20 20 20 word-Reference">..</a></h2>.....
106140 20 20 20 3c 64 69 76 20 63 6c 61 73 73 3d 22 74 61 62 6c 65 2d 77 72 61 70 70 65 72 22 3e 0a 20 ...<div.class="table-wrapper">..
106160 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 4b 65 .....<table>.........<caption>Ke
106180 79 77 6f 72 64 73 3c 2f 63 61 70 74 69 6f 6e 3e 0a 20 20 20 20 20 20 20 20 3c 74 68 65 61 64 3e ywords</caption>.........<thead>
1061a0 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
1061c0 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 3c e="col">Keyword</th>...........<
1061e0 74 68 20 73 63 6f 70 65 3d 22 63 6f 6c 22 3e 44 65 73 63 72 69 70 74 69 6f 6e 3c 2f 74 68 3e 0a th.scope="col">Description</th>.
106200 20 20 20 20 20 20 20 20 3c 2f 74 72 3e 0a 20 20 20 20 20 20 20 20 3c 2f 74 68 65 61 64 3e 0a 20 ........</tr>.........</thead>..
106220 20 20 20 20 20 20 20 3c 74 62 6f 64 79 3e 0a 20 20 20 20 20 20 20 20 3c 74 72 3e 0a 20 20 20 20 .......<tbody>.........<tr>.....
106240 20 20 20 20 20 20 3c 74 68 20 73 63 6f 70 65 3d 22 72 6f 77 22 3e 0a 20 20 20 20 20 20 20 20 20 ......<th.scope="row">..........
106260 20 20 20 3c 70 72 65 3e 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 ...<pre><code><span.class="line"
106280 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 61 6c 69 67 6e 3c 2f 73 70 61 ><span.class="tok-kw">align</spa
1062a0 6e 3e 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 3c 2f 70 72 65 3e 0a 20 20 20 20 20 20 20 20 20 n></span></code></pre>..........
1062c0 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>...........
1062e0 20 20 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e ..<code><span.class="line"><span
106300 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 61 6c 69 67 6e 3c 2f 73 70 61 6e 3e 3c 2f 73 70 .class="tok-kw">align</span></sp
106320 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
106340 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 74 65 72 2e 0a 20 20 y.the.alignment.of.a.pointer....
106360 20 20 20 20 20 20 20 20 20 20 49 74 20 63 61 6e 20 61 6c 73 6f 20 62 65 20 75 73 65 64 20 61 66 ..........It.can.also.be.used.af
106380 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 6e 20 64 65 63 6c 61 ter.a.variable.or.function.decla
1063a0 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 67 6e 6d 65 6e 74 20 ration.to.specify.the.alignment.
1063c0 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 62 6c 65 20 6f 72 20 of.pointers.to.that.variable.or.
1063e0 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 3e 0a 20 20 20 20 20 function..............<ul>......
106400 20 20 20 20 20 20 20 20 20 3c 6c 69 3e 53 65 65 20 61 6c 73 6f 20 3c 61 20 68 72 65 66 3d 22 23 .........<li>See.also.<a.href="#
106420 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 20 Alignment">Alignment</a></li>...
106440 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>.
106460 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>......
106480 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">...........
1064a0 20 20 3c 70 72 65 3e 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e ..<pre><code><span.class="line">
1064c0 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</
1064e0 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 3c 2f 70 72 65 3e 0a 20 20 20 20 20 20 span></span></code></pre>.......
106500 20 20 20 20 3c 2f 74 68 3e 0a 20 20 20 20 20 20 20 20 20 20 3c 74 64 3e 0a 20 20 20 20 20 20 20 ....</th>...........<td>........
106520 20 20 20 20 20 54 68 65 20 70 6f 69 6e 74 65 72 20 61 74 74 72 69 62 75 74 65 20 3c 63 6f 64 65 .....The.pointer.attribute.<code
106540 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d ><span.class="line"><span.class=
106560 22 74 6f 6b 2d 6b 77 22 3e 61 6c 6c 6f 77 7a 65 72 6f 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e "tok-kw">allowzero</span></span>
106580 3c 2f 63 6f 64 65 3e 20 61 6c 6c 6f 77 73 20 61 20 70 6f 69 6e 74 65 72 20 74 6f 20 68 61 76 65 </code>.allows.a.pointer.to.have
1065a0 20 61 64 64 72 65 73 73 20 7a 65 72 6f 2e 0a 20 20 20 20 20 20 20 20 20 20 20 20 3c 75 6c 3e 0a .address.zero..............<ul>.
1065c0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 3c 6c 69 3e 53 65 65 20 61 6c 73 6f 20 3c 61 20 68 72 ..............<li>See.also.<a.hr
1065e0 65 66 3d 22 23 61 6c 6c 6f 77 7a 65 72 6f 22 3e 61 6c 6c 6f 77 7a 65 72 6f 3c 2f 61 3e 3c 2f 6c ef="#allowzero">allowzero</a></l
106600 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>...........<
106620 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>.
106640 20 20 20 20 20 20 20 20 20 20 3c 74 68 20 73 63 6f 70 65 3d 22 72 6f 77 22 3e 0a 20 20 20 20 20 ..........<th.scope="row">......
106660 20 20 20 20 20 20 20 3c 70 72 65 3e 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c .......<pre><code><span.class="l
106680 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 61 6e 64 3c 2f 73 ine"><span.class="tok-kw">and</s
1066a0 70 61 6e 3e 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 3c 2f 70 72 65 3e 0a 20 20 20 20 20 20 20 pan></span></code></pre>........
1066c0 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>.........
1066e0 20 20 20 20 54 68 65 20 62 6f 6f 6c 65 61 6e 20 6f 70 65 72 61 74 6f 72 20 3c 63 6f 64 65 3e 3c ....The.boolean.operator.<code><
106700 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 span.class="line"><span.class="t
106720 6f 6b 2d 6b 77 22 3e 61 6e 64 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 2e ok-kw">and</span></span></code>.
106740 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>...............
106760 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 65 72 61 74 6f 72 73 <li>See.also.<a.href="#Operators
106780 22 3e 4f 70 65 72 61 74 6f 72 73 3c 2f 61 3e 3c 2f 6c 69 3e 0a 20 20 20 20 20 20 20 20 20 20 20 ">Operators</a></li>............
1067a0 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>.........<
1067c0 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.
1067e0 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
106800 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 ode><span.class="line"><span.cla
106820 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 61 6e 79 66 72 61 6d 65 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 ss="tok-kw">anyframe</span></spa
106840 6e 3e 3c 2f 63 6f 64 65 3e 3c 2f 70 72 65 3e 0a 20 20 20 20 20 20 20 20 20 20 3c 2f 74 68 3e 0a n></code></pre>...........</th>.
106860 20 20 20 20 20 20 20 20 20 20 3c 74 64 3e 0a 20 20 20 20 20 20 20 20 20 20 20 20 3c 63 6f 64 65 ..........<td>.............<code
106880 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d ><span.class="line"><span.class=
1068a0 22 74 6f 6b 2d 6b 77 22 3e 61 6e 79 66 72 61 6d 65 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 3c "tok-kw">anyframe</span></span><
1068c0 2f 63 6f 64 65 3e 20 63 61 6e 20 62 65 20 75 73 65 64 20 61 73 20 61 20 74 79 70 65 20 66 6f 72 /code>.can.be.used.as.a.type.for
1068e0 20 76 61 72 69 61 62 6c 65 73 20 77 68 69 63 68 20 68 6f 6c 64 20 70 6f 69 6e 74 65 72 73 20 74 .variables.which.hold.pointers.t
106900 6f 20 66 75 6e 63 74 69 6f 6e 20 66 72 61 6d 65 73 2e 0a 20 20 20 20 20 20 20 20 20 20 20 20 3c o.function.frames..............<
106920 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.<
106940 61 20 68 72 65 66 3d 22 23 41 73 79 6e 63 2d 46 75 6e 63 74 69 6f 6e 73 22 3e 41 73 79 6e 63 20 a.href="#Async-Functions">Async.
106960 46 75 6e 63 74 69 6f 6e 73 3c 2f 61 3e 3c 2f 6c 69 3e 0a 20 20 20 20 20 20 20 20 20 20 20 20 3c Functions</a></li>.............<
106980 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
1069a0 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
1069c0 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
1069e0 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 e><span.class="line"><span.class
106a00 3d 22 74 6f 6b 2d 6b 77 22 3e 61 6e 79 74 79 70 65 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 3c ="tok-kw">anytype</span></span><
106a20 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>....
106a40 20 20 20 20 20 20 20 3c 74 64 3e 0a 20 20 20 20 20 20 20 20 20 20 20 20 46 75 6e 63 74 69 6f 6e .......<td>.............Function
106a60 20 70 61 72 61 6d 65 74 65 72 73 20 63 61 6e 20 62 65 20 64 65 63 6c 61 72 65 64 20 77 69 74 68 .parameters.can.be.declared.with
106a80 20 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 .<code><span.class="line"><span.
106aa0 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 73 class="tok-kw">anytype</span></s
106ac0 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 70 65 pan></code>.in.place.of.the.type
106ae0 2e 0a 20 20 20 20 20 20 20 20 20 20 20 20 54 68 65 20 74 79 70 65 20 77 69 6c 6c 20 62 65 20 69 ..............The.type.will.be.i
106b00 6e 66 65 72 72 65 64 20 77 68 65 72 65 20 74 68 65 20 66 75 6e 63 74 69 6f 6e 20 69 73 20 63 61 nferred.where.the.function.is.ca
106b20 6c 6c 65 64 2e 0a 20 20 20 20 20 20 20 20 20 20 20 20 3c 75 6c 3e 0a 20 20 20 20 20 20 20 20 20 lled..............<ul>..........
106b40 20 20 20 20 20 3c 6c 69 3e 53 65 65 20 61 6c 73 6f 20 3c 61 20 68 72 65 66 3d 22 23 46 75 6e 63 .....<li>See.also.<a.href="#Func
106b60 74 69 6f 6e 2d 50 61 72 61 6d 65 74 65 72 2d 54 79 70 65 2d 49 6e 66 65 72 65 6e 63 65 22 3e 46 tion-Parameter-Type-Inference">F
106b80 75 6e 63 74 69 6f 6e 20 50 61 72 61 6d 65 74 65 72 20 54 79 70 65 20 49 6e 66 65 72 65 6e 63 65 unction.Parameter.Type.Inference
106ba0 3c 2f 61 3e 3c 2f 6c 69 3e 0a 20 20 20 20 20 20 20 20 20 20 20 20 3c 2f 75 6c 3e 0a 20 20 20 20 </a></li>.............</ul>.....
106bc0 20 20 20 20 20 20 3c 2f 74 64 3e 0a 20 20 20 20 20 20 20 20 3c 2f 74 72 3e 0a 20 20 20 20 20 20 ......</td>.........</tr>.......
106be0 20 20 3c 74 72 3e 0a 20 20 20 20 20 20 20 20 20 20 3c 74 68 20 73 63 6f 70 65 3d 22 72 6f 77 22 ..<tr>...........<th.scope="row"
106c00 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
106c20 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 lass="line"><span.class="tok-kw"
106c40 3e 61 73 6d 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 3c 2f 70 72 65 3e 0a >asm</span></span></code></pre>.
106c60 20 20 20 20 20 20 20 20 20 20 3c 2f 74 68 3e 0a 20 20 20 20 20 20 20 20 20 20 3c 74 64 3e 0a 20 ..........</th>...........<td>..
106c80 20 20 20 20 20 20 20 20 20 20 20 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 ...........<code><span.class="li
106ca0 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 61 73 6d 3c 2f 73 70 ne"><span.class="tok-kw">asm</sp
106cc0 61 6e 3e 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 20 62 65 67 69 6e 73 20 61 6e 20 69 6e 6c 69 an></span></code>.begins.an.inli
106ce0 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 61 6c 6c ne.assembly.expression..This.all
106d00 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 74 68 65 ows.for.directly.controlling.the
106d20 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 6d 70 69 .machine.code.generated.on.compi
106d40 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 20 20 20 lation..............<ul>........
106d60 20 20 20 20 20 20 20 3c 6c 69 3e 53 65 65 20 61 6c 73 6f 20 3c 61 20 68 72 65 66 3d 22 23 41 73 .......<li>See.also.<a.href="#As
106d80 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 20 sembly">Assembly</a></li>.......
106da0 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>.....
106dc0 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>..........
106de0 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
106e00 72 65 3e 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 re><code><span.class="line"><spa
106e20 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 61 73 79 6e 63 3c 2f 73 70 61 6e 3e 3c 2f 73 n.class="tok-kw">async</span></s
106e40 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
106e60 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
106e80 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 de><span.class="line"><span.clas
106ea0 73 3d 22 74 6f 6b 2d 6b 77 22 3e 61 73 79 6e 63 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 3c 2f s="tok-kw">async</span></span></
106ec0 63 6f 64 65 3e 20 63 61 6e 20 62 65 20 75 73 65 64 20 62 65 66 6f 72 65 20 61 20 66 75 6e 63 74 code>.can.be.used.before.a.funct
106ee0 69 6f 6e 20 63 61 6c 6c 20 74 6f 20 67 65 74 20 61 20 70 6f 69 6e 74 65 72 20 74 6f 20 74 68 65 ion.call.to.get.a.pointer.to.the
106f00 20 66 75 6e 63 74 69 6f 6e 27 73 20 66 72 61 6d 65 20 77 68 65 6e 20 69 74 20 73 75 73 70 65 6e .function's.frame.when.it.suspen
106f20 64 73 2e 0a 20 20 20 20 20 20 20 20 20 20 20 20 3c 75 6c 3e 0a 20 20 20 20 20 20 20 20 20 20 20 ds..............<ul>............
106f40 20 20 20 3c 6c 69 3e 53 65 65 20 61 6c 73 6f 20 3c 61 20 68 72 65 66 3d 22 23 41 73 79 6e 63 2d ...<li>See.also.<a.href="#Async-
106f60 46 75 6e 63 74 69 6f 6e 73 22 3e 41 73 79 6e 63 20 46 75 6e 63 74 69 6f 6e 73 3c 2f 61 3e 3c 2f Functions">Async.Functions</a></
106f80 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>...........
106fa0 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>
106fc0 0a 20 20 20 20 20 20 20 20 20 20 3c 74 68 20 73 63 6f 70 65 3d 22 72 6f 77 22 3e 0a 20 20 20 20 ...........<th.scope="row">.....
106fe0 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="
107000 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 61 77 61 69 74 line"><span.class="tok-kw">await
107020 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 3c 2f 70 72 65 3e 0a 20 20 20 20 </span></span></code></pre>.....
107040 20 20 20 20 20 20 3c 2f 74 68 3e 0a 20 20 20 20 20 20 20 20 20 20 3c 74 64 3e 0a 20 20 20 20 20 ......</th>...........<td>......
107060 20 20 20 20 20 20 20 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e .......<code><span.class="line">
107080 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 61 77 61 69 74 3c 2f 73 70 61 6e <span.class="tok-kw">await</span
1070a0 3e 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 20 63 61 6e 20 62 65 20 75 73 65 64 20 74 6f 20 73 ></span></code>.can.be.used.to.s
1070c0 75 73 70 65 6e 64 20 74 68 65 20 63 75 72 72 65 6e 74 20 66 75 6e 63 74 69 6f 6e 20 75 6e 74 69 uspend.the.current.function.unti
1070e0 6c 20 74 68 65 20 66 72 61 6d 65 20 70 72 6f 76 69 64 65 64 20 61 66 74 65 72 20 74 68 65 20 3c l.the.frame.provided.after.the.<
107100 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c code><span.class="line"><span.cl
107120 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 61 77 61 69 74 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e ass="tok-kw">await</span></span>
107140 3c 2f 63 6f 64 65 3e 20 63 6f 6d 70 6c 65 74 65 73 2e 0a 20 20 20 20 20 20 20 20 20 20 20 20 3c </code>.completes..............<
107160 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c code><span.class="line"><span.cl
107180 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 61 77 61 69 74 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e ass="tok-kw">await</span></span>
1071a0 3c 2f 63 6f 64 65 3e 20 63 6f 70 69 65 73 20 74 68 65 20 76 61 6c 75 65 20 72 65 74 75 72 6e 65 </code>.copies.the.value.returne
1071c0 64 20 66 72 6f 6d 20 74 68 65 20 74 61 72 67 65 74 20 66 75 6e 63 74 69 6f 6e 27 73 20 66 72 61 d.from.the.target.function's.fra
1071e0 6d 65 20 74 6f 20 74 68 65 20 63 61 6c 6c 65 72 2e 0a 20 20 20 20 20 20 20 20 20 20 20 20 3c 75 me.to.the.caller..............<u
107200 6c 3e 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 3c 6c 69 3e 53 65 65 20 61 6c 73 6f 20 3c 61 l>...............<li>See.also.<a
107220 20 68 72 65 66 3d 22 23 41 73 79 6e 63 2d 46 75 6e 63 74 69 6f 6e 73 22 3e 41 73 79 6e 63 20 46 .href="#Async-Functions">Async.F
107240 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>.............</
107260 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
107280 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
1072a0 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
1072c0 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d ><span.class="line"><span.class=
1072e0 22 74 6f 6b 2d 6b 77 22 3e 62 72 65 61 6b 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 3c 2f 63 6f "tok-kw">break</span></span></co
107300 64 65 3e 3c 2f 70 72 65 3e 0a 20 20 20 20 20 20 20 20 20 20 3c 2f 74 68 3e 0a 20 20 20 20 20 20 de></pre>...........</th>.......
107320 20 20 20 20 3c 74 64 3e 0a 20 20 20 20 20 20 20 20 20 20 20 20 3c 63 6f 64 65 3e 3c 73 70 61 6e ....<td>.............<code><span
107340 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b .class="line"><span.class="tok-k
107360 77 22 3e 62 72 65 61 6b 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 20 63 61 w">break</span></span></code>.ca
107380 6e 20 62 65 20 75 73 65 64 20 77 69 74 68 20 61 20 62 6c 6f 63 6b 20 6c 61 62 65 6c 20 74 6f 20 n.be.used.with.a.block.label.to.
1073a0 72 65 74 75 72 6e 20 61 20 76 61 6c 75 65 20 66 72 6f 6d 20 74 68 65 20 62 6c 6f 63 6b 2e 0a 20 return.a.value.from.the.block...
1073c0 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 20 74 ...........It.can.also.be.used.t
1073e0 6f 20 65 78 69 74 20 61 20 6c 6f 6f 70 20 62 65 66 6f 72 65 20 69 74 65 72 61 74 69 6f 6e 20 63 o.exit.a.loop.before.iteration.c
107400 6f 6d 70 6c 65 74 65 73 20 6e 61 74 75 72 61 6c 6c 79 2e 0a 20 20 20 20 20 20 20 20 20 20 20 20 ompletes.naturally..............
107420 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.
107440 3c 61 20 68 72 65 66 3d 22 23 42 6c 6f 63 6b 73 22 3e 42 6c 6f 63 6b 73 3c 2f 61 3e 2c 20 3c 61 <a.href="#Blocks">Blocks</a>,.<a
107460 20 68 72 65 66 3d 22 23 77 68 69 6c 65 22 3e 77 68 69 6c 65 3c 2f 61 3e 2c 20 3c 61 20 68 72 65 .href="#while">while</a>,.<a.hre
107480 66 3d 22 23 66 6f 72 22 3e 66 6f 72 3c 2f 61 3e 3c 2f 6c 69 3e 0a 20 20 20 20 20 20 20 20 20 20 f="#for">for</a></li>...........
1074a0 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>.........
1074c0 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
1074e0 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><
107500 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c code><span.class="line"><span.cl
107520 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 63 61 74 63 68 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e ass="tok-kw">catch</span></span>
107540 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>...
107560 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><
107580 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 span.class="line"><span.class="t
1075a0 6f 6b 2d 6b 77 22 3e 63 61 74 63 68 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 ok-kw">catch</span></span></code
1075c0 3e 20 63 61 6e 20 62 65 20 75 73 65 64 20 74 6f 20 65 76 61 6c 75 61 74 65 20 61 6e 20 65 78 70 >.can.be.used.to.evaluate.an.exp
1075e0 72 65 73 73 69 6f 6e 20 69 66 20 74 68 65 20 65 78 70 72 65 73 73 69 6f 6e 20 62 65 66 6f 72 65 ression.if.the.expression.before
107600 20 69 74 20 65 76 61 6c 75 61 74 65 73 20 74 6f 20 61 6e 20 65 72 72 6f 72 2e 0a 20 20 20 20 20 .it.evaluates.to.an.error.......
107620 20 20 20 20 20 20 20 54 68 65 20 65 78 70 72 65 73 73 69 6f 6e 20 61 66 74 65 72 20 74 68 65 20 .......The.expression.after.the.
107640 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 <code><span.class="line"><span.c
107660 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 73 70 61 6e lass="tok-kw">catch</span></span
107680 3e 3c 2f 63 6f 64 65 3e 20 63 61 6e 20 6f 70 74 69 6f 6e 61 6c 6c 79 20 63 61 70 74 75 72 65 20 ></code>.can.optionally.capture.
1076a0 74 68 65 20 65 72 72 6f 72 20 76 61 6c 75 65 2e 0a 20 20 20 20 20 20 20 20 20 20 20 20 3c 75 6c the.error.value..............<ul
1076c0 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.
1076e0 68 72 65 66 3d 22 23 63 61 74 63 68 22 3e 63 61 74 63 68 3c 2f 61 3e 2c 20 3c 61 20 68 72 65 66 href="#catch">catch</a>,.<a.href
107700 3d 22 23 4f 70 65 72 61 74 6f 72 73 22 3e 4f 70 65 72 61 74 6f 72 73 3c 2f 61 3e 3c 2f 6c 69 3e ="#Operators">Operators</a></li>
107720 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
107740 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>...
107760 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">........
107780 20 20 20 20 20 3c 70 72 65 3e 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e .....<pre><code><span.class="lin
1077a0 65 22 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 e"><span.class="tok-kw">comptime
1077c0 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 3c 2f 70 72 65 3e 0a 20 20 20 20 </span></span></code></pre>.....
1077e0 20 20 20 20 20 20 3c 2f 74 68 3e 0a 20 20 20 20 20 20 20 20 20 20 3c 74 64 3e 0a 20 20 20 20 20 ......</th>...........<td>......
107800 20 20 20 20 20 20 20 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e .......<code><span.class="line">
107820 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
107840 70 61 6e 3e 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 20 62 65 66 6f 72 65 20 61 20 64 65 63 6c pan></span></code>.before.a.decl
107860 61 72 61 74 69 6f 6e 20 63 61 6e 20 62 65 20 75 73 65 64 20 74 6f 20 6c 61 62 65 6c 20 76 61 72 aration.can.be.used.to.label.var
107880 69 61 62 6c 65 73 20 6f 72 20 66 75 6e 63 74 69 6f 6e 20 70 61 72 61 6d 65 74 65 72 73 20 61 73 iables.or.function.parameters.as
1078a0 20 6b 6e 6f 77 6e 20 61 74 20 63 6f 6d 70 69 6c 65 20 74 69 6d 65 2e 0a 20 20 20 20 20 20 20 20 .known.at.compile.time..........
1078c0 20 20 20 20 49 74 20 63 61 6e 20 61 6c 73 6f 20 62 65 20 75 73 65 64 20 74 6f 20 67 75 61 72 61 ....It.can.also.be.used.to.guara
1078e0 6e 74 65 65 20 61 6e 20 65 78 70 72 65 73 73 69 6f 6e 20 69 73 20 72 75 6e 20 61 74 20 63 6f 6d ntee.an.expression.is.run.at.com
107900 70 69 6c 65 20 74 69 6d 65 2e 0a 20 20 20 20 20 20 20 20 20 20 20 20 3c 75 6c 3e 0a 20 20 20 20 pile.time..............<ul>.....
107920 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="
107940 23 63 6f 6d 70 74 69 6d 65 22 3e 63 6f 6d 70 74 69 6d 65 3c 2f 61 3e 3c 2f 6c 69 3e 0a 20 20 20 #comptime">comptime</a></li>....
107960 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>..
107980 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>.......
1079a0 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">............
1079c0 20 3c 70 72 65 3e 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c .<pre><code><span.class="line"><
1079e0 73 70 61 6e 20 63 6c 61 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>
107a00 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>...........<
107a20 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>.............
107a40 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 <code><span.class="line"><span.c
107a60 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 63 6f 6e 73 74 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e lass="tok-kw">const</span></span
107a80 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
107aa0 74 20 63 61 6e 20 6e 6f 74 20 62 65 20 6d 6f 64 69 66 69 65 64 2e 0a 20 20 20 20 20 20 20 20 20 t.can.not.be.modified...........
107ac0 20 20 20 55 73 65 64 20 61 73 20 61 20 70 6f 69 6e 74 65 72 20 61 74 74 72 69 62 75 74 65 2c 20 ...Used.as.a.pointer.attribute,.
107ae0 69 74 20 64 65 6e 6f 74 65 73 20 74 68 65 20 76 61 6c 75 65 20 72 65 66 65 72 65 6e 63 65 64 20 it.denotes.the.value.referenced.
107b00 62 79 20 74 68 65 20 70 6f 69 6e 74 65 72 20 63 61 6e 6e 6f 74 20 62 65 20 6d 6f 64 69 66 69 65 by.the.pointer.cannot.be.modifie
107b20 64 2e 0a 20 20 20 20 20 20 20 20 20 20 20 20 3c 75 6c 3e 0a 20 20 20 20 20 20 20 20 20 20 20 20 d..............<ul>.............
107b40 20 20 3c 6c 69 3e 53 65 65 20 61 6c 73 6f 20 3c 61 20 68 72 65 66 3d 22 23 56 61 72 69 61 62 6c ..<li>See.also.<a.href="#Variabl
107b60 65 73 22 3e 56 61 72 69 61 62 6c 65 73 3c 2f 61 3e 3c 2f 6c 69 3e 0a 20 20 20 20 20 20 20 20 20 es">Variables</a></li>..........
107b80 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>........
107ba0 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
107bc0 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>
107be0 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 <code><span.class="line"><span.c
107c00 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 2f 73 lass="tok-kw">continue</span></s
107c20 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
107c40 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
107c60 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 de><span.class="line"><span.clas
107c80 73 3d 22 74 6f 6b 2d 6b 77 22 3e 63 6f 6e 74 69 6e 75 65 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e s="tok-kw">continue</span></span
107ca0 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 74 ></code>.can.be.used.in.a.loop.t
107cc0 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 20 o.jump.back.to.the.beginning.of.
107ce0 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 20 the.loop..............<ul>......
107d00 20 20 20 20 20 20 20 20 20 3c 6c 69 3e 53 65 65 20 61 6c 73 6f 20 3c 61 20 68 72 65 66 3d 22 23 .........<li>See.also.<a.href="#
107d20 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 22 while">while</a>,.<a.href="#for"
107d40 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 0a >for</a></li>.............</ul>.
107d60 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>...
107d80 20 20 20 20 20 20 3c 74 72 3e 0a 20 20 20 20 20 20 20 20 20 20 3c 74 68 20 73 63 6f 70 65 3d 22 ......<tr>...........<th.scope="
107da0 72 6f 77 22 3e 0a 20 20 20 20 20 20 20 20 20 20 20 20 3c 70 72 65 3e 3c 63 6f 64 65 3e 3c 73 70 row">.............<pre><code><sp
107dc0 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b an.class="line"><span.class="tok
107de0 2d 6b 77 22 3e 64 65 66 65 72 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 3c -kw">defer</span></span></code><
107e00 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>...........
107e20 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
107e40 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 64 ss="line"><span.class="tok-kw">d
107e60 65 66 65 72 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 20 77 69 6c 6c 20 65 efer</span></span></code>.will.e
107e80 78 65 63 75 74 65 20 61 6e 20 65 78 70 72 65 73 73 69 6f 6e 20 77 68 65 6e 20 63 6f 6e 74 72 6f xecute.an.expression.when.contro
107ea0 6c 20 66 6c 6f 77 20 6c 65 61 76 65 73 20 74 68 65 20 63 75 72 72 65 6e 74 20 62 6c 6f 63 6b 2e l.flow.leaves.the.current.block.
107ec0 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>...............
107ee0 3c 6c 69 3e 53 65 65 20 61 6c 73 6f 20 3c 61 20 68 72 65 66 3d 22 23 64 65 66 65 72 22 3e 64 65 <li>See.also.<a.href="#defer">de
107f00 66 65 72 3c 2f 61 3e 3c 2f 6c 69 3e 0a 20 20 20 20 20 20 20 20 20 20 20 20 3c 2f 75 6c 3e 0a 20 fer</a></li>.............</ul>..
107f20 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>....
107f40 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
107f60 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
107f80 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d n.class="line"><span.class="tok-
107fa0 6b 77 22 3e 65 6c 73 65 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 3c 2f 70 kw">else</span></span></code></p
107fc0 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
107fe0 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
108000 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 65 6c 73 ="line"><span.class="tok-kw">els
108020 65 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 20 63 61 6e 20 62 65 20 75 73 e</span></span></code>.can.be.us
108040 65 64 20 74 6f 20 70 72 6f 76 69 64 65 20 61 6e 20 61 6c 74 65 72 6e 61 74 65 20 62 72 61 6e 63 ed.to.provide.an.alternate.branc
108060 68 20 66 6f 72 20 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c h.for.<code><span.class="line"><
108080 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 73 span.class="tok-kw">if</span></s
1080a0 70 61 6e 3e 3c 2f 63 6f 64 65 3e 2c 20 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 pan></code>,.<code><span.class="
1080c0 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 73 77 69 74 63 line"><span.class="tok-kw">switc
1080e0 68 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 2c 0a 20 20 20 20 20 20 20 20 h</span></span></code>,.........
108100 20 20 20 20 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 ....<code><span.class="line"><sp
108120 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 77 68 69 6c 65 3c 2f 73 70 61 6e 3e 3c 2f an.class="tok-kw">while</span></
108140 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 2c 20 61 6e 64 20 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c span></code>,.and.<code><span.cl
108160 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e ass="line"><span.class="tok-kw">
108180 66 6f 72 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 20 65 78 70 72 65 73 73 for</span></span></code>.express
1081a0 69 6f 6e 73 2e 0a 20 20 20 20 20 20 20 20 20 20 20 20 3c 75 6c 3e 0a 20 20 20 20 20 20 20 20 20 ions..............<ul>..........
1081c0 20 20 20 20 20 3c 6c 69 3e 49 66 20 75 73 65 64 20 61 66 74 65 72 20 61 6e 20 69 66 20 65 78 70 .....<li>If.used.after.an.if.exp
1081e0 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 65 ression,.the.else.branch.will.be
108200 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 72 65 74 75 .executed.if.the.test.value.retu
108220 72 6e 73 20 66 61 6c 73 65 2c 20 6e 75 6c 6c 2c 20 6f 72 20 61 6e 20 65 72 72 6f 72 2e 3c 2f 6c rns.false,.null,.or.an.error.</l
108240 69 3e 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 3c 6c 69 3e 49 66 20 75 73 65 64 20 77 69 74 i>...............<li>If.used.wit
108260 68 69 6e 20 61 20 73 77 69 74 63 68 20 65 78 70 72 65 73 73 69 6f 6e 2c 20 74 68 65 20 65 6c 73 hin.a.switch.expression,.the.els
108280 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 65 e.branch.will.be.executed.if.the
1082a0 20 74 65 73 74 20 76 61 6c 75 65 20 6d 61 74 63 68 65 73 20 6e 6f 20 6f 74 68 65 72 20 63 61 73 .test.value.matches.no.other.cas
1082c0 65 73 2e 3c 2f 6c 69 3e 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 3c 6c 69 3e 49 66 20 75 73 es.</li>...............<li>If.us
1082e0 65 64 20 61 66 74 65 72 20 61 20 6c 6f 6f 70 20 65 78 70 72 65 73 73 69 6f 6e 2c 20 74 68 65 20 ed.after.a.loop.expression,.the.
108300 65 6c 73 65 20 62 72 61 6e 63 68 20 77 69 6c 6c 20 62 65 20 65 78 65 63 75 74 65 64 20 69 66 20 else.branch.will.be.executed.if.
108320 74 68 65 20 6c 6f 6f 70 20 66 69 6e 69 73 68 65 73 20 77 69 74 68 6f 75 74 20 62 72 65 61 6b 69 the.loop.finishes.without.breaki
108340 6e 67 2e 3c 2f 6c 69 3e 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 3c 6c 69 3e 53 65 65 20 61 ng.</li>...............<li>See.a
108360 6c 73 6f 20 3c 61 20 68 72 65 66 3d 22 23 69 66 22 3e 69 66 3c 2f 61 3e 2c 20 3c 61 20 68 72 65 lso.<a.href="#if">if</a>,.<a.hre
108380 66 3d 22 23 73 77 69 74 63 68 22 3e 73 77 69 74 63 68 3c 2f 61 3e 2c 20 3c 61 20 68 72 65 66 3d f="#switch">switch</a>,.<a.href=
1083a0 22 23 77 68 69 6c 65 22 3e 77 68 69 6c 65 3c 2f 61 3e 2c 20 3c 61 20 68 72 65 66 3d 22 23 66 6f "#while">while</a>,.<a.href="#fo
1083c0 72 22 3e 66 6f 72 3c 2f 61 3e 3c 2f 6c 69 3e 0a 20 20 20 20 20 20 20 20 20 20 20 20 3c 2f 75 6c r">for</a></li>.............</ul
1083e0 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>.
108400 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
108420 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><
108440 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 span.class="line"><span.class="t
108460 6f 6b 2d 6b 77 22 3e 65 6e 75 6d 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e ok-kw">enum</span></span></code>
108480 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>..........
1084a0 20 3c 74 64 3e 0a 20 20 20 20 20 20 20 20 20 20 20 20 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c .<td>.............<code><span.cl
1084c0 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e ass="line"><span.class="tok-kw">
1084e0 65 6e 75 6d 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 20 64 65 66 69 6e 65 enum</span></span></code>.define
108500 73 20 61 6e 20 65 6e 75 6d 20 74 79 70 65 2e 0a 20 20 20 20 20 20 20 20 20 20 20 20 3c 75 6c 3e s.an.enum.type..............<ul>
108520 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 3c 6c 69 3e 53 65 65 20 61 6c 73 6f 20 3c 61 20 68 ...............<li>See.also.<a.h
108540 72 65 66 3d 22 23 65 6e 75 6d 22 3e 65 6e 75 6d 3c 2f 61 3e 3c 2f 6c 69 3e 0a 20 20 20 20 20 20 ref="#enum">enum</a></li>.......
108560 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>.....
108580 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>..........
1085a0 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
1085c0 72 65 3e 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 re><code><span.class="line"><spa
1085e0 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 65 72 72 64 65 66 65 72 3c 2f 73 70 61 6e 3e n.class="tok-kw">errdefer</span>
108600 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>...........<
108620 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>.............
108640 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 <code><span.class="line"><span.c
108660 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 65 72 72 64 65 66 65 72 3c 2f 73 70 61 6e 3e 3c 2f 73 lass="tok-kw">errdefer</span></s
108680 70 61 6e 3e 3c 2f 63 6f 64 65 3e 20 77 69 6c 6c 20 65 78 65 63 75 74 65 20 61 6e 20 65 78 70 72 pan></code>.will.execute.an.expr
1086a0 65 73 73 69 6f 6e 20 77 68 65 6e 20 63 6f 6e 74 72 6f 6c 20 66 6c 6f 77 20 6c 65 61 76 65 73 20 ession.when.control.flow.leaves.
1086c0 74 68 65 20 63 75 72 72 65 6e 74 20 62 6c 6f 63 6b 20 69 66 20 74 68 65 20 66 75 6e 63 74 69 6f the.current.block.if.the.functio
1086e0 6e 20 72 65 74 75 72 6e 73 20 61 6e 20 65 72 72 6f 72 2c 20 74 68 65 20 65 72 72 64 65 66 65 72 n.returns.an.error,.the.errdefer
108700 20 65 78 70 72 65 73 73 69 6f 6e 20 63 61 6e 20 63 61 70 74 75 72 65 20 74 68 65 20 75 6e 77 72 .expression.can.capture.the.unwr
108720 61 70 70 65 64 20 76 61 6c 75 65 2e 0a 20 20 20 20 20 20 20 20 20 20 20 20 3c 75 6c 3e 0a 20 20 apped.value..............<ul>...
108740 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
108760 3d 22 23 65 72 72 64 65 66 65 72 22 3e 65 72 72 64 65 66 65 72 3c 2f 61 3e 3c 2f 6c 69 3e 0a 20 ="#errdefer">errdefer</a></li>..
108780 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>
1087a0 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>.....
1087c0 20 20 20 20 20 20 3c 74 68 20 73 63 6f 70 65 3d 22 72 6f 77 22 3e 0a 20 20 20 20 20 20 20 20 20 ......<th.scope="row">..........
1087e0 20 20 20 3c 70 72 65 3e 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 ...<pre><code><span.class="line"
108800 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
108820 6e 3e 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 3c 2f 70 72 65 3e 0a 20 20 20 20 20 20 20 20 20 n></span></code></pre>..........
108840 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>...........
108860 20 20 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e ..<code><span.class="line"><span
108880 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 65 72 72 6f 72 3c 2f 73 70 61 6e 3e 3c 2f 73 70 .class="tok-kw">error</span></sp
1088a0 61 6e 3e 3c 2f 63 6f 64 65 3e 20 64 65 66 69 6e 65 73 20 61 6e 20 65 72 72 6f 72 20 74 79 70 65 an></code>.defines.an.error.type
1088c0 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>..............
1088e0 20 3c 6c 69 3e 53 65 65 20 61 6c 73 6f 20 3c 61 20 68 72 65 66 3d 22 23 45 72 72 6f 72 73 22 3e .<li>See.also.<a.href="#Errors">
108900 45 72 72 6f 72 73 3c 2f 61 3e 3c 2f 6c 69 3e 0a 20 20 20 20 20 20 20 20 20 20 20 20 3c 2f 75 6c Errors</a></li>.............</ul
108920 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>.
108940 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
108960 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><
108980 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 span.class="line"><span.class="t
1089a0 6f 6b 2d 6b 77 22 3e 65 78 70 6f 72 74 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 ok-kw">export</span></span></cod
1089c0 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>........
1089e0 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.
108a00 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 class="line"><span.class="tok-kw
108a20 22 3e 65 78 70 6f 72 74 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 20 6d 61 ">export</span></span></code>.ma
108a40 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 72 kes.a.function.or.variable.exter
108a60 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 6f nally.visible.in.the.generated.o
108a80 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 64 bject.file..............Exported
108aa0 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 6c .functions.default.to.the.C.call
108ac0 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 3e ing.convention..............<ul>
108ae0 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 3c 6c 69 3e 53 65 65 20 61 6c 73 6f 20 3c 61 20 68 ...............<li>See.also.<a.h
108b00 72 65 66 3d 22 23 46 75 6e 63 74 69 6f 6e 73 22 3e 46 75 6e 63 74 69 6f 6e 73 3c 2f 61 3e 3c 2f ref="#Functions">Functions</a></
108b20 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>...........
108b40 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>
108b60 0a 20 20 20 20 20 20 20 20 20 20 3c 74 68 20 73 63 6f 70 65 3d 22 72 6f 77 22 3e 0a 20 20 20 20 ...........<th.scope="row">.....
108b80 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="
108ba0 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 65 78 74 65 72 line"><span.class="tok-kw">exter
108bc0 6e 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 3c 2f 70 72 65 3e 0a 20 20 20 n</span></span></code></pre>....
108be0 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>.....
108c00 20 20 20 20 20 20 20 20 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 ........<code><span.class="line"
108c20 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
108c40 61 6e 3e 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 20 63 61 6e 20 62 65 20 75 73 65 64 20 74 6f an></span></code>.can.be.used.to
108c60 20 64 65 63 6c 61 72 65 20 61 20 66 75 6e 63 74 69 6f 6e 20 6f 72 20 76 61 72 69 61 62 6c 65 20 .declare.a.function.or.variable.
108c80 74 68 61 74 20 77 69 6c 6c 20 62 65 20 72 65 73 6f 6c 76 65 64 20 61 74 20 6c 69 6e 6b 20 74 69 that.will.be.resolved.at.link.ti
108ca0 6d 65 2c 20 77 68 65 6e 20 6c 69 6e 6b 69 6e 67 20 73 74 61 74 69 63 61 6c 6c 79 0a 20 20 20 20 me,.when.linking.statically.....
108cc0 20 20 20 20 20 20 20 20 6f 72 20 61 74 20 72 75 6e 74 69 6d 65 2c 20 77 68 65 6e 20 6c 69 6e 6b ........or.at.runtime,.when.link
108ce0 69 6e 67 20 64 79 6e 61 6d 69 63 61 6c 6c 79 2e 0a 20 20 20 20 20 20 20 20 20 20 20 20 3c 75 6c ing.dynamically..............<ul
108d00 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.
108d20 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><
108d40 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>..........
108d60 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
108d80 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">....
108da0 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=
108dc0 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 66 6e 3c 2f "line"><span.class="tok-kw">fn</
108de0 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 3c 2f 70 72 65 3e 0a 20 20 20 20 20 20 span></span></code></pre>.......
108e00 20 20 20 20 3c 2f 74 68 3e 0a 20 20 20 20 20 20 20 20 20 20 3c 74 64 3e 0a 20 20 20 20 20 20 20 ....</th>...........<td>........
108e20 20 20 20 20 20 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 .....<code><span.class="line"><s
108e40 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 66 6e 3c 2f 73 70 61 6e 3e 3c 2f 73 70 pan.class="tok-kw">fn</span></sp
108e60 61 6e 3e 3c 2f 63 6f 64 65 3e 20 64 65 63 6c 61 72 65 73 20 61 20 66 75 6e 63 74 69 6f 6e 2e 0a an></code>.declares.a.function..
108e80 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>...............<
108ea0 6c 69 3e 53 65 65 20 61 6c 73 6f 20 3c 61 20 68 72 65 66 3d 22 23 46 75 6e 63 74 69 6f 6e 73 22 li>See.also.<a.href="#Functions"
108ec0 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 20 20 20 >Functions</a></li>.............
108ee0 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>.........</
108f00 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
108f20 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
108f40 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 de><span.class="line"><span.clas
108f60 73 3d 22 74 6f 6b 2d 6b 77 22 3e 66 6f 72 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 3c 2f 63 6f s="tok-kw">for</span></span></co
108f80 64 65 3e 3c 2f 70 72 65 3e 0a 20 20 20 20 20 20 20 20 20 20 3c 2f 74 68 3e 0a 20 20 20 20 20 20 de></pre>...........</th>.......
108fa0 20 20 20 20 3c 74 64 3e 0a 20 20 20 20 20 20 20 20 20 20 20 20 41 20 3c 63 6f 64 65 3e 3c 73 70 ....<td>.............A.<code><sp
108fc0 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b an.class="line"><span.class="tok
108fe0 2d 6b 77 22 3e 66 6f 72 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 20 65 78 -kw">for</span></span></code>.ex
109000 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 72 61 74 65 20 pression.can.be.used.to.iterate.
109020 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 65 2c 20 61 72 over.the.elements.of.a.slice,.ar
109040 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 3c 75 6c 3e 0a ray,.or.tuple..............<ul>.
109060 20 20 20 20 20 20 20 20 20 20 20 20 20 20 3c 6c 69 3e 53 65 65 20 61 6c 73 6f 20 3c 61 20 68 72 ..............<li>See.also.<a.hr
109080 65 66 3d 22 23 66 6f 72 22 3e 66 6f 72 3c 2f 61 3e 3c 2f 6c 69 3e 0a 20 20 20 20 20 20 20 20 20 ef="#for">for</a></li>..........
1090a0 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>........
1090c0 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
1090e0 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>
109100 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 <code><span.class="line"><span.c
109120 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 69 66 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 3c 2f lass="tok-kw">if</span></span></
109140 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>.....
109160 20 20 20 20 20 20 3c 74 64 3e 0a 20 20 20 20 20 20 20 20 20 20 20 20 41 6e 20 3c 63 6f 64 65 3e ......<td>.............An.<code>
109180 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 <span.class="line"><span.class="
1091a0 74 6f 6b 2d 6b 77 22 3e 69 66 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 20 tok-kw">if</span></span></code>.
1091c0 65 78 70 72 65 73 73 69 6f 6e 20 63 61 6e 20 74 65 73 74 20 62 6f 6f 6c 65 61 6e 20 65 78 70 72 expression.can.test.boolean.expr
1091e0 65 73 73 69 6f 6e 73 2c 20 6f 70 74 69 6f 6e 61 6c 20 76 61 6c 75 65 73 2c 20 6f 72 20 65 72 72 essions,.optional.values,.or.err
109200 6f 72 20 75 6e 69 6f 6e 73 2e 0a 20 20 20 20 20 20 20 20 20 20 20 20 46 6f 72 20 6f 70 74 69 6f or.unions..............For.optio
109220 6e 61 6c 20 76 61 6c 75 65 73 20 6f 72 20 65 72 72 6f 72 20 75 6e 69 6f 6e 73 2c 20 74 68 65 20 nal.values.or.error.unions,.the.
109240 69 66 20 65 78 70 72 65 73 73 69 6f 6e 20 63 61 6e 20 63 61 70 74 75 72 65 20 74 68 65 20 75 6e if.expression.can.capture.the.un
109260 77 72 61 70 70 65 64 20 76 61 6c 75 65 2e 0a 20 20 20 20 20 20 20 20 20 20 20 20 3c 75 6c 3e 0a wrapped.value..............<ul>.
109280 20 20 20 20 20 20 20 20 20 20 20 20 20 20 3c 6c 69 3e 53 65 65 20 61 6c 73 6f 20 3c 61 20 68 72 ..............<li>See.also.<a.hr
1092a0 65 66 3d 22 23 69 66 22 3e 69 66 3c 2f 61 3e 3c 2f 6c 69 3e 0a 20 20 20 20 20 20 20 20 20 20 20 ef="#if">if</a></li>............
1092c0 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>.........<
1092e0 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.
109300 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
109320 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 ode><span.class="line"><span.cla
109340 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 69 6e 6c 69 6e 65 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e ss="tok-kw">inline</span></span>
109360 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>...
109380 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><
1093a0 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 span.class="line"><span.class="t
1093c0 6f 6b 2d 6b 77 22 3e 69 6e 6c 69 6e 65 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 ok-kw">inline</span></span></cod
1093e0 65 3e 20 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 e>.can.be.used.to.label.a.loop.e
109400 78 70 72 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 xpression.such.that.it.will.be.u
109420 6e 72 6f 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 nrolled.at.compile.time.........
109440 20 20 20 20 20 49 74 20 63 61 6e 20 61 6c 73 6f 20 62 65 20 75 73 65 64 20 74 6f 20 66 6f 72 63 .....It.can.also.be.used.to.forc
109460 65 20 61 20 66 75 6e 63 74 69 6f 6e 20 74 6f 20 62 65 20 69 6e 6c 69 6e 65 64 20 61 74 20 61 6c e.a.function.to.be.inlined.at.al
109480 6c 20 63 61 6c 6c 20 73 69 74 65 73 2e 0a 20 20 20 20 20 20 20 20 20 20 20 20 3c 75 6c 3e 0a 20 l.call.sites..............<ul>..
1094a0 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
1094c0 66 3d 22 23 69 6e 6c 69 6e 65 2d 77 68 69 6c 65 22 3e 69 6e 6c 69 6e 65 20 77 68 69 6c 65 3c 2f f="#inline-while">inline.while</
1094e0 61 3e 2c 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 a>,.<a.href="#inline-for">inline
109500 20 66 6f 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 .for</a>,.<a.href="#Functions">F
109520 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>.............</
109540 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
109560 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
109580 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
1095a0 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d ><span.class="line"><span.class=
1095c0 22 74 6f 6b 2d 6b 77 22 3e 6e 6f 61 6c 69 61 73 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 3c 2f "tok-kw">noalias</span></span></
1095e0 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>.....
109600 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 6f 64 65 ......<td>.............The.<code
109620 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d ><span.class="line"><span.class=
109640 22 74 6f 6b 2d 6b 77 22 3e 6e 6f 61 6c 69 61 73 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 3c 2f "tok-kw">noalias</span></span></
109660 63 6f 64 65 3e 20 6b 65 79 77 6f 72 64 2e 0a 20 20 20 20 20 20 20 20 20 20 20 20 3c 75 6c 3e 0a code>.keyword..............<ul>.
109680 20 20 20 20 20 20 20 20 20 20 20 20 20 20 3c 6c 69 3e 54 4f 44 4f 20 61 64 64 20 64 6f 63 75 6d ..............<li>TODO.add.docum
1096a0 65 6e 74 61 74 69 6f 6e 20 66 6f 72 20 6e 6f 61 6c 69 61 73 3c 2f 6c 69 3e 0a 20 20 20 20 20 20 entation.for.noalias</li>.......
1096c0 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>.....
1096e0 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>..........
109700 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
109720 72 65 3e 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 re><code><span.class="line"><spa
109740 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 6e 6f 73 75 73 70 65 6e 64 3c 2f 73 70 61 6e n.class="tok-kw">nosuspend</span
109760 3e 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 3c 2f 70 72 65 3e 0a 20 20 20 20 20 20 20 20 20 20 ></span></code></pre>...........
109780 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>............
1097a0 20 54 68 65 20 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 .The.<code><span.class="line"><s
1097c0 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 70 pan.class="tok-kw">nosuspend</sp
1097e0 61 6e 3e 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 20 6b 65 79 77 6f 72 64 20 63 61 6e 20 62 65 an></span></code>.keyword.can.be
109800 20 75 73 65 64 20 69 6e 20 66 72 6f 6e 74 20 6f 66 20 61 20 62 6c 6f 63 6b 2c 20 73 74 61 74 65 .used.in.front.of.a.block,.state
109820 6d 65 6e 74 20 6f 72 20 65 78 70 72 65 73 73 69 6f 6e 2c 20 74 6f 20 6d 61 72 6b 20 61 20 73 63 ment.or.expression,.to.mark.a.sc
109840 6f 70 65 20 77 68 65 72 65 20 6e 6f 20 73 75 73 70 65 6e 73 69 6f 6e 20 70 6f 69 6e 74 73 20 61 ope.where.no.suspension.points.a
109860 72 65 20 72 65 61 63 68 65 64 2e 0a 20 20 20 20 20 20 20 20 20 20 20 20 49 6e 20 70 61 72 74 69 re.reached..............In.parti
109880 63 75 6c 61 72 2c 20 69 6e 73 69 64 65 20 61 20 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 cular,.inside.a.<code><span.clas
1098a0 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 6e 6f s="line"><span.class="tok-kw">no
1098c0 73 75 73 70 65 6e 64 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 20 73 63 6f suspend</span></span></code>.sco
1098e0 70 65 3a 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 pe:.............<ul>............
109900 20 20 20 3c 6c 69 3e 55 73 69 6e 67 20 74 68 65 20 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 ...<li>Using.the.<code><span.cla
109920 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 73 ss="line"><span.class="tok-kw">s
109940 75 73 70 65 6e 64 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 20 6b 65 79 77 uspend</span></span></code>.keyw
109960 6f 72 64 20 72 65 73 75 6c 74 73 20 69 6e 20 61 20 63 6f 6d 70 69 6c 65 20 65 72 72 6f 72 2e 3c ord.results.in.a.compile.error.<
109980 2f 6c 69 3e 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 3c 6c 69 3e 55 73 69 6e 67 20 3c 63 6f /li>...............<li>Using.<co
1099a0 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 de><span.class="line"><span.clas
1099c0 73 3d 22 74 6f 6b 2d 6b 77 22 3e 61 77 61 69 74 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 3c 2f s="tok-kw">await</span></span></
1099e0 63 6f 64 65 3e 20 6f 6e 20 61 20 66 75 6e 63 74 69 6f 6e 20 66 72 61 6d 65 20 77 68 69 63 68 20 code>.on.a.function.frame.which.
109a00 68 61 73 6e 27 74 20 63 6f 6d 70 6c 65 74 65 64 20 79 65 74 20 72 65 73 75 6c 74 73 20 69 6e 20 hasn't.completed.yet.results.in.
109a20 73 61 66 65 74 79 2d 63 68 65 63 6b 65 64 20 3c 61 20 68 72 65 66 3d 22 23 55 6e 64 65 66 69 6e safety-checked.<a.href="#Undefin
109a40 65 64 2d 42 65 68 61 76 69 6f 72 22 3e 55 6e 64 65 66 69 6e 65 64 20 42 65 68 61 76 69 6f 72 3c ed-Behavior">Undefined.Behavior<
109a60 2f 61 3e 2e 3c 2f 6c 69 3e 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 3c 6c 69 3e 43 61 6c 6c /a>.</li>...............<li>Call
109a80 69 6e 67 20 61 6e 20 61 73 79 6e 63 20 66 75 6e 63 74 69 6f 6e 20 6d 61 79 20 72 65 73 75 6c 74 ing.an.async.function.may.result
109aa0 20 69 6e 20 73 61 66 65 74 79 2d 63 68 65 63 6b 65 64 20 3c 61 20 68 72 65 66 3d 22 23 55 6e 64 .in.safety-checked.<a.href="#Und
109ac0 65 66 69 6e 65 64 2d 42 65 68 61 76 69 6f 72 22 3e 55 6e 64 65 66 69 6e 65 64 20 42 65 68 61 76 efined-Behavior">Undefined.Behav
109ae0 69 6f 72 3c 2f 61 3e 2c 20 62 65 63 61 75 73 65 20 69 74 27 73 20 65 71 75 69 76 61 6c 65 6e 74 ior</a>,.because.it's.equivalent
109b00 20 74 6f 20 3c 63 6f 64 65 3e 61 77 61 69 74 20 61 73 79 6e 63 20 73 6f 6d 65 5f 61 73 79 6e 63 .to.<code>await.async.some_async
109b20 5f 66 6e 28 29 3c 2f 63 6f 64 65 3e 2c 20 77 68 69 63 68 20 63 6f 6e 74 61 69 6e 73 20 61 6e 20 _fn()</code>,.which.contains.an.
109b40 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 <code><span.class="line"><span.c
109b60 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 61 77 61 69 74 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e lass="tok-kw">await</span></span
109b80 3e 3c 2f 63 6f 64 65 3e 2e 3c 2f 6c 69 3e 0a 20 20 20 20 20 20 20 20 20 20 20 20 3c 2f 75 6c 3e ></code>.</li>.............</ul>
109ba0 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 65 .............Code.inside.a.<code
109bc0 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d ><span.class="line"><span.class=
109be0 22 74 6f 6b 2d 6b 77 22 3e 6e 6f 73 75 73 70 65 6e 64 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e "tok-kw">nosuspend</span></span>
109c00 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 75 73 65 20 74 68 65 </code>.scope.does.not.cause.the
109c20 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 63 6f 6d 65 20 61 6e .enclosing.function.to.become.an
109c40 20 3c 61 20 68 72 65 66 3d 22 23 41 73 79 6e 63 2d 46 75 6e 63 74 69 6f 6e 73 22 3e 61 73 79 6e .<a.href="#Async-Functions">asyn
109c60 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 20 20 20 3c 75 6c 3e c.function</a>..............<ul>
109c80 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 3c 6c 69 3e 53 65 65 20 61 6c 73 6f 20 3c 61 20 68 ...............<li>See.also.<a.h
109ca0 72 65 66 3d 22 23 41 73 79 6e 63 2d 46 75 6e 63 74 69 6f 6e 73 22 3e 41 73 79 6e 63 20 46 75 6e ref="#Async-Functions">Async.Fun
109cc0 63 74 69 6f 6e 73 3c 2f 61 3e 3c 2f 6c 69 3e 0a 20 20 20 20 20 20 20 20 20 20 20 20 3c 2f 75 6c ctions</a></li>.............</ul
109ce0 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>.
109d00 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
109d20 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><
109d40 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 span.class="line"><span.class="t
109d60 6f 6b 2d 6b 77 22 3e 6f 72 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 3c 2f ok-kw">or</span></span></code></
109d80 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>...........<
109da0 74 64 3e 0a 20 20 20 20 20 20 20 20 20 20 20 20 54 68 65 20 62 6f 6f 6c 65 61 6e 20 6f 70 65 72 td>.............The.boolean.oper
109dc0 61 74 6f 72 20 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 ator.<code><span.class="line"><s
109de0 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 3c 2f 73 70 pan.class="tok-kw">or</span></sp
109e00 61 6e 3e 3c 2f 63 6f 64 65 3e 2e 0a 20 20 20 20 20 20 20 20 20 20 20 20 3c 75 6c 3e 0a 20 20 20 an></code>..............<ul>....
109e20 20 20 20 20 20 20 20 20 20 20 20 3c 6c 69 3e 53 65 65 20 61 6c 73 6f 20 3c 61 20 68 72 65 66 3d ...........<li>See.also.<a.href=
109e40 22 23 4f 70 65 72 61 74 6f 72 73 22 3e 4f 70 65 72 61 74 6f 72 73 3c 2f 61 3e 3c 2f 6c 69 3e 0a "#Operators">Operators</a></li>.
109e60 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
109e80 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>....
109ea0 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">.........
109ec0 20 20 20 20 3c 70 72 65 3e 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 ....<pre><code><span.class="line
109ee0 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 6f 72 65 6c 73 65 3c 2f 73 "><span.class="tok-kw">orelse</s
109f00 70 61 6e 3e 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 3c 2f 70 72 65 3e 0a 20 20 20 20 20 20 20 pan></span></code></pre>........
109f20 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>.........
109f40 20 20 20 20 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 ....<code><span.class="line"><sp
109f60 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 6f 72 65 6c 73 65 3c 2f 73 70 61 6e 3e 3c an.class="tok-kw">orelse</span><
109f80 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 65 76 61 /span></code>.can.be.used.to.eva
109fa0 6c 75 61 74 65 20 61 6e 20 65 78 70 72 65 73 73 69 6f 6e 20 69 66 20 74 68 65 20 65 78 70 72 65 luate.an.expression.if.the.expre
109fc0 73 73 69 6f 6e 20 62 65 66 6f 72 65 20 69 74 20 65 76 61 6c 75 61 74 65 73 20 74 6f 20 6e 75 6c ssion.before.it.evaluates.to.nul
109fe0 6c 2e 0a 20 20 20 20 20 20 20 20 20 20 20 20 3c 75 6c 3e 0a 20 20 20 20 20 20 20 20 20 20 20 20 l..............<ul>.............
10a000 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 4f 70 74 69 6f 6e 61 ..<li>See.also.<a.href="#Optiona
10a020 6c 73 22 3e 4f 70 74 69 6f 6e 61 6c 73 3c 2f 61 3e 2c 20 3c 61 20 68 72 65 66 3d 22 23 4f 70 65 ls">Optionals</a>,.<a.href="#Ope
10a040 72 61 74 6f 72 73 22 3e 4f 70 65 72 61 74 6f 72 73 3c 2f 61 3e 3c 2f 6c 69 3e 0a 20 20 20 20 20 rators">Operators</a></li>......
10a060 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>....
10a080 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>.........
10a0a0 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">.............<
10a0c0 70 72 65 3e 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 pre><code><span.class="line"><sp
10a0e0 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 70 61 63 6b 65 64 3c 2f 73 70 61 6e 3e 3c an.class="tok-kw">packed</span><
10a100 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>...........</
10a120 74 68 3e 0a 20 20 20 20 20 20 20 20 20 20 3c 74 64 3e 0a 20 20 20 20 20 20 20 20 20 20 20 20 54 th>...........<td>.............T
10a140 68 65 20 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 he.<code><span.class="line"><spa
10a160 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 3c 2f n.class="tok-kw">packed</span></
10a180 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 20 6b 65 79 77 6f 72 64 20 62 65 66 6f 72 65 20 61 20 73 74 span></code>.keyword.before.a.st
10a1a0 72 75 63 74 20 64 65 66 69 6e 69 74 69 6f 6e 20 63 68 61 6e 67 65 73 20 74 68 65 20 73 74 72 75 ruct.definition.changes.the.stru
10a1c0 63 74 27 73 20 69 6e 2d 6d 65 6d 6f 72 79 20 6c 61 79 6f 75 74 0a 20 20 20 20 20 20 20 20 20 20 ct's.in-memory.layout...........
10a1e0 20 20 74 6f 20 74 68 65 20 67 75 61 72 61 6e 74 65 65 64 20 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 ..to.the.guaranteed.<code><span.
10a200 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 class="line"><span.class="tok-kw
10a220 22 3e 70 61 63 6b 65 64 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 20 6c 61 ">packed</span></span></code>.la
10a240 79 6f 75 74 2e 0a 20 20 20 20 20 20 20 20 20 20 20 20 3c 75 6c 3e 0a 20 20 20 20 20 20 20 20 20 yout..............<ul>..........
10a260 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 70 61 63 6b .....<li>See.also.<a.href="#pack
10a280 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 69 ed-struct">packed.struct</a></li
10a2a0 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>...........</
10a2c0 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>..
10a2e0 20 20 20 20 20 20 20 20 20 3c 74 68 20 73 63 6f 70 65 3d 22 72 6f 77 22 3e 0a 20 20 20 20 20 20 .........<th.scope="row">.......
10a300 20 20 20 20 20 20 3c 70 72 65 3e 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 ......<pre><code><span.class="li
10a320 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 70 75 62 3c 2f 73 70 ne"><span.class="tok-kw">pub</sp
10a340 61 6e 3e 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 3c 2f 70 72 65 3e 0a 20 20 20 20 20 20 20 20 an></span></code></pre>.........
10a360 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>..........
10a380 20 20 20 54 68 65 20 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e ...The.<code><span.class="line">
10a3a0 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 3c <span.class="tok-kw">pub</span><
10a3c0 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 20 69 6e 20 66 72 6f 6e 74 20 6f 66 20 61 20 74 6f 70 20 /span></code>.in.front.of.a.top.
10a3e0 6c 65 76 65 6c 20 64 65 63 6c 61 72 61 74 69 6f 6e 20 6d 61 6b 65 73 20 74 68 65 20 64 65 63 6c level.declaration.makes.the.decl
10a400 61 72 61 74 69 6f 6e 20 61 76 61 69 6c 61 62 6c 65 0a 20 20 20 20 20 20 20 20 20 20 20 20 74 6f aration.available.............to
10a420 20 72 65 66 65 72 65 6e 63 65 20 66 72 6f 6d 20 61 20 64 69 66 66 65 72 65 6e 74 20 66 69 6c 65 .reference.from.a.different.file
10a440 20 74 68 61 6e 20 74 68 65 20 6f 6e 65 20 69 74 20 69 73 20 64 65 63 6c 61 72 65 64 20 69 6e 2e .than.the.one.it.is.declared.in.
10a460 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>...............
10a480 3c 6c 69 3e 53 65 65 20 61 6c 73 6f 20 3c 61 20 68 72 65 66 3d 22 23 69 6d 70 6f 72 74 22 3e 69 <li>See.also.<a.href="#import">i
10a4a0 6d 70 6f 72 74 3c 2f 61 3e 3c 2f 6c 69 3e 0a 20 20 20 20 20 20 20 20 20 20 20 20 3c 2f 75 6c 3e mport</a></li>.............</ul>
10a4c0 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>..
10a4e0 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=
10a500 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
10a520 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f pan.class="line"><span.class="to
10a540 6b 2d 6b 77 22 3e 72 65 73 75 6d 65 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 k-kw">resume</span></span></code
10a560 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>.........
10a580 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
10a5a0 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 lass="line"><span.class="tok-kw"
10a5c0 3e 72 65 73 75 6d 65 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 20 77 69 6c >resume</span></span></code>.wil
10a5e0 6c 20 63 6f 6e 74 69 6e 75 65 20 65 78 65 63 75 74 69 6f 6e 20 6f 66 20 61 20 66 75 6e 63 74 69 l.continue.execution.of.a.functi
10a600 6f 6e 20 66 72 61 6d 65 20 61 66 74 65 72 20 74 68 65 20 70 6f 69 6e 74 20 74 68 65 20 66 75 6e on.frame.after.the.point.the.fun
10a620 63 74 69 6f 6e 20 77 61 73 20 73 75 73 70 65 6e 64 65 64 2e 0a 20 20 20 20 20 20 20 20 20 20 20 ction.was.suspended.............
10a640 20 3c 75 6c 3e 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 3c 6c 69 3e 53 65 65 20 61 6c 73 6f .<ul>...............<li>See.also
10a660 20 3c 61 20 68 72 65 66 3d 22 23 53 75 73 70 65 6e 64 2d 61 6e 64 2d 52 65 73 75 6d 65 22 3e 53 .<a.href="#Suspend-and-Resume">S
10a680 75 73 70 65 6e 64 20 61 6e 64 20 52 65 73 75 6d 65 3c 2f 61 3e 3c 2f 6c 69 3e 0a 20 20 20 20 20 uspend.and.Resume</a></li>......
10a6a0 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>....
10a6c0 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>.........
10a6e0 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">.............<
10a700 70 72 65 3e 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 pre><code><span.class="line"><sp
10a720 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 72 65 74 75 72 6e 3c 2f 73 70 61 6e 3e 3c an.class="tok-kw">return</span><
10a740 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>...........</
10a760 74 68 3e 0a 20 20 20 20 20 20 20 20 20 20 3c 74 64 3e 0a 20 20 20 20 20 20 20 20 20 20 20 20 3c th>...........<td>.............<
10a780 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c code><span.class="line"><span.cl
10a7a0 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 72 65 74 75 72 6e 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e ass="tok-kw">return</span></span
10a7c0 3e 3c 2f 63 6f 64 65 3e 20 65 78 69 74 73 20 61 20 66 75 6e 63 74 69 6f 6e 20 77 69 74 68 20 61 ></code>.exits.a.function.with.a
10a7e0 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>........
10a800 20 20 20 20 20 20 20 3c 6c 69 3e 53 65 65 20 61 6c 73 6f 20 3c 61 20 68 72 65 66 3d 22 23 46 75 .......<li>See.also.<a.href="#Fu
10a820 6e 63 74 69 6f 6e 73 22 3e 46 75 6e 63 74 69 6f 6e 73 3c 2f 61 3e 3c 2f 6c 69 3e 0a 20 20 20 20 nctions">Functions</a></li>.....
10a840 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>...
10a860 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>........
10a880 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">.............
10a8a0 3c 70 72 65 3e 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 <pre><code><span.class="line"><s
10a8c0 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</
10a8e0 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 3c 2f 70 72 65 3e 0a 20 20 20 20 20 20 span></span></code></pre>.......
10a900 20 20 20 20 3c 2f 74 68 3e 0a 20 20 20 20 20 20 20 20 20 20 3c 74 64 3e 0a 20 20 20 20 20 20 20 ....</th>...........<td>........
10a920 20 20 20 20 20 54 68 65 20 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 .....The.<code><span.class="line
10a940 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 6c 69 6e 6b 73 65 63 74 69 "><span.class="tok-kw">linksecti
10a960 6f 6e 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 20 6b 65 79 77 6f 72 64 2e on</span></span></code>.keyword.
10a980 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>...............
10a9a0 3c 6c 69 3e 54 4f 44 4f 20 61 64 64 20 64 6f 63 75 6d 65 6e 74 61 74 69 6f 6e 20 66 6f 72 20 6c <li>TODO.add.documentation.for.l
10a9c0 69 6e 6b 73 65 63 74 69 6f 6e 3c 2f 6c 69 3e 0a 20 20 20 20 20 20 20 20 20 20 20 20 3c 2f 75 6c inksection</li>.............</ul
10a9e0 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>.
10aa00 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
10aa20 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><
10aa40 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 span.class="line"><span.class="t
10aa60 6f 6b 2d 6b 77 22 3e 73 74 72 75 63 74 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 ok-kw">struct</span></span></cod
10aa80 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>........
10aaa0 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.
10aac0 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 class="line"><span.class="tok-kw
10aae0 22 3e 73 74 72 75 63 74 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 20 64 65 ">struct</span></span></code>.de
10ab00 66 69 6e 65 73 20 61 20 73 74 72 75 63 74 2e 0a 20 20 20 20 20 20 20 20 20 20 20 20 3c 75 6c 3e fines.a.struct..............<ul>
10ab20 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 3c 6c 69 3e 53 65 65 20 61 6c 73 6f 20 3c 61 20 68 ...............<li>See.also.<a.h
10ab40 72 65 66 3d 22 23 73 74 72 75 63 74 22 3e 73 74 72 75 63 74 3c 2f 61 3e 3c 2f 6c 69 3e 0a 20 20 ref="#struct">struct</a></li>...
10ab60 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>.
10ab80 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>......
10aba0 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">...........
10abc0 20 20 3c 70 72 65 3e 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e ..<pre><code><span.class="line">
10abe0 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 73 75 73 70 65 6e 64 3c 2f 73 70 <span.class="tok-kw">suspend</sp
10ac00 61 6e 3e 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 3c 2f 70 72 65 3e 0a 20 20 20 20 20 20 20 20 an></span></code></pre>.........
10ac20 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>..........
10ac40 20 20 20 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 ...<code><span.class="line"><spa
10ac60 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 73 75 73 70 65 6e 64 3c 2f 73 70 61 6e 3e 3c n.class="tok-kw">suspend</span><
10ac80 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 6c /span></code>.will.cause.control
10aca0 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 65 .flow.to.return.to.the.call.site
10acc0 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 20 .or.resumer.of.the.function.....
10ace0 20 20 20 20 20 20 20 20 20 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 .........<code><span.class="line
10ad00 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 73 75 73 70 65 6e 64 3c 2f "><span.class="tok-kw">suspend</
10ad20 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 20 63 61 6e 20 61 6c 73 6f 20 62 65 20 span></span></code>.can.also.be.
10ad40 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 6e 20 61 20 66 75 6e used.before.a.block.within.a.fun
10ad60 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 6f 77 20 74 68 65 20 ction,.............to.allow.the.
10ad80 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 61 6d 65 20 62 65 66 function.access.to.its.frame.bef
10ada0 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 74 6f 20 74 68 65 20 ore.control.flow.returns.to.the.
10adc0 63 61 6c 6c 20 73 69 74 65 2e 0a 20 20 20 20 20 20 20 20 20 20 20 20 3c 75 6c 3e 0a 20 20 20 20 call.site..............<ul>.....
10ade0 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="
10ae00 23 53 75 73 70 65 6e 64 2d 61 6e 64 2d 52 65 73 75 6d 65 22 3e 53 75 73 70 65 6e 64 20 61 6e 64 #Suspend-and-Resume">Suspend.and
10ae20 20 52 65 73 75 6d 65 3c 2f 61 3e 3c 2f 6c 69 3e 0a 20 20 20 20 20 20 20 20 20 20 20 20 3c 2f 75 .Resume</a></li>.............</u
10ae40 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>
10ae60 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
10ae80 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>
10aea0 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 <span.class="line"><span.class="
10aec0 74 6f 6b 2d 6b 77 22 3e 73 77 69 74 63 68 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 3c 2f 63 6f tok-kw">switch</span></span></co
10aee0 64 65 3e 3c 2f 70 72 65 3e 0a 20 20 20 20 20 20 20 20 20 20 3c 2f 74 68 3e 0a 20 20 20 20 20 20 de></pre>...........</th>.......
10af00 20 20 20 20 3c 74 64 3e 0a 20 20 20 20 20 20 20 20 20 20 20 20 41 20 3c 63 6f 64 65 3e 3c 73 70 ....<td>.............A.<code><sp
10af20 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b an.class="line"><span.class="tok
10af40 2d 6b 77 22 3e 73 77 69 74 63 68 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e -kw">switch</span></span></code>
10af60 20 65 78 70 72 65 73 73 69 6f 6e 20 63 61 6e 20 62 65 20 75 73 65 64 20 74 6f 20 74 65 73 74 20 .expression.can.be.used.to.test.
10af80 76 61 6c 75 65 73 20 6f 66 20 61 20 63 6f 6d 6d 6f 6e 20 74 79 70 65 2e 0a 20 20 20 20 20 20 20 values.of.a.common.type.........
10afa0 20 20 20 20 20 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 .....<code><span.class="line"><s
10afc0 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 73 77 69 74 63 68 3c 2f 73 70 61 6e 3e pan.class="tok-kw">switch</span>
10afe0 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 65 </span></code>.cases.can.capture
10b000 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 67 .field.values.of.a.<a.href="#Tag
10b020 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 20 ged-union">Tagged.union</a>.....
10b040 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>
10b060 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 63 See.also.<a.href="#switch">switc
10b080 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 20 h</a></li>.............</ul>....
10b0a0 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>......
10b0c0 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
10b0e0 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.
10b100 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 class="line"><span.class="tok-kw
10b120 22 3e 74 65 73 74 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 3c 2f 70 72 65 ">test</span></span></code></pre
10b140 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>
10b160 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
10b180 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 74 ss="line"><span.class="tok-kw">t
10b1a0 65 73 74 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 20 6b 65 79 77 6f 72 64 est</span></span></code>.keyword
10b1c0 20 63 61 6e 20 62 65 20 75 73 65 64 20 74 6f 20 64 65 6e 6f 74 65 20 61 20 74 6f 70 2d 6c 65 76 .can.be.used.to.denote.a.top-lev
10b1e0 65 6c 20 62 6c 6f 63 6b 20 6f 66 20 63 6f 64 65 0a 20 20 20 20 20 20 20 20 20 20 20 20 75 73 65 el.block.of.code.............use
10b200 64 20 74 6f 20 6d 61 6b 65 20 73 75 72 65 20 62 65 68 61 76 69 6f 72 20 6d 65 65 74 73 20 65 78 d.to.make.sure.behavior.meets.ex
10b220 70 65 63 74 61 74 69 6f 6e 73 2e 0a 20 20 20 20 20 20 20 20 20 20 20 20 3c 75 6c 3e 0a 20 20 20 pectations..............<ul>....
10b240 20 20 20 20 20 20 20 20 20 20 20 3c 6c 69 3e 53 65 65 20 61 6c 73 6f 20 3c 61 20 68 72 65 66 3d ...........<li>See.also.<a.href=
10b260 22 23 5a 69 67 2d 54 65 73 74 22 3e 5a 69 67 20 54 65 73 74 3c 2f 61 3e 3c 2f 6c 69 3e 0a 20 20 "#Zig-Test">Zig.Test</a></li>...
10b280 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>.
10b2a0 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>......
10b2c0 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">...........
10b2e0 20 20 3c 70 72 65 3e 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e ..<pre><code><span.class="line">
10b300 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
10b320 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 3c 2f 70 72 65 3e 0a 20 20 20 20 </span></span></code></pre>.....
10b340 20 20 20 20 20 20 3c 2f 74 68 3e 0a 20 20 20 20 20 20 20 20 20 20 3c 74 64 3e 0a 20 20 20 20 20 ......</th>...........<td>......
10b360 20 20 20 20 20 20 20 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e .......<code><span.class="line">
10b380 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
10b3a0 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 20 63 61 6e 20 62 65 20 75 73 65 </span></span></code>.can.be.use
10b3c0 64 20 74 6f 20 73 70 65 63 69 66 79 20 61 20 76 61 72 69 61 62 6c 65 20 61 73 20 74 68 72 65 61 d.to.specify.a.variable.as.threa
10b3e0 64 2d 6c 6f 63 61 6c 2e 0a 20 20 20 20 20 20 20 20 20 20 20 20 3c 75 6c 3e 0a 20 20 20 20 20 20 d-local..............<ul>.......
10b400 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 54 ........<li>See.also.<a.href="#T
10b420 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
10b440 63 61 6c 20 56 61 72 69 61 62 6c 65 73 3c 2f 61 3e 3c 2f 6c 69 3e 0a 20 20 20 20 20 20 20 20 20 cal.Variables</a></li>..........
10b460 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>........
10b480 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
10b4a0 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>
10b4c0 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 <code><span.class="line"><span.c
10b4e0 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 74 72 79 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 3c lass="tok-kw">try</span></span><
10b500 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>....
10b520 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
10b540 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f pan.class="line"><span.class="to
10b560 6b 2d 6b 77 22 3e 74 72 79 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 20 65 k-kw">try</span></span></code>.e
10b580 76 61 6c 75 61 74 65 73 20 61 6e 20 65 72 72 6f 72 20 75 6e 69 6f 6e 20 65 78 70 72 65 73 73 69 valuates.an.error.union.expressi
10b5a0 6f 6e 2e 0a 20 20 20 20 20 20 20 20 20 20 20 20 49 66 20 69 74 20 69 73 20 61 6e 20 65 72 72 6f on..............If.it.is.an.erro
10b5c0 72 2c 20 69 74 20 72 65 74 75 72 6e 73 20 66 72 6f 6d 20 74 68 65 20 63 75 72 72 65 6e 74 20 66 r,.it.returns.from.the.current.f
10b5e0 75 6e 63 74 69 6f 6e 20 77 69 74 68 20 74 68 65 20 73 61 6d 65 20 65 72 72 6f 72 2e 0a 20 20 20 unction.with.the.same.error.....
10b600 20 20 20 20 20 20 20 20 20 4f 74 68 65 72 77 69 73 65 2c 20 74 68 65 20 65 78 70 72 65 73 73 69 .........Otherwise,.the.expressi
10b620 6f 6e 20 72 65 73 75 6c 74 73 20 69 6e 20 74 68 65 20 75 6e 77 72 61 70 70 65 64 20 76 61 6c 75 on.results.in.the.unwrapped.valu
10b640 65 2e 0a 20 20 20 20 20 20 20 20 20 20 20 20 3c 75 6c 3e 0a 20 20 20 20 20 20 20 20 20 20 20 20 e..............<ul>.............
10b660 20 20 3c 6c 69 3e 53 65 65 20 61 6c 73 6f 20 3c 61 20 68 72 65 66 3d 22 23 74 72 79 22 3e 74 72 ..<li>See.also.<a.href="#try">tr
10b680 79 3c 2f 61 3e 3c 2f 6c 69 3e 0a 20 20 20 20 20 20 20 20 20 20 20 20 3c 2f 75 6c 3e 0a 20 20 20 y</a></li>.............</ul>....
10b6a0 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>......
10b6c0 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
10b6e0 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.
10b700 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 class="line"><span.class="tok-kw
10b720 22 3e 75 6e 69 6f 6e 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 3c 2f 70 72 ">union</span></span></code></pr
10b740 65 3e 0a 20 20 20 20 20 20 20 20 20 20 3c 2f 74 68 3e 0a 20 20 20 20 20 20 20 20 20 20 3c 74 64 e>...........</th>...........<td
10b760 3e 0a 20 20 20 20 20 20 20 20 20 20 20 20 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d >.............<code><span.class=
10b780 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 75 6e 69 6f "line"><span.class="tok-kw">unio
10b7a0 6e 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 20 64 65 66 69 6e 65 73 20 61 n</span></span></code>.defines.a
10b7c0 20 75 6e 69 6f 6e 2e 0a 20 20 20 20 20 20 20 20 20 20 20 20 3c 75 6c 3e 0a 20 20 20 20 20 20 20 .union..............<ul>........
10b7e0 20 20 20 20 20 20 20 3c 6c 69 3e 53 65 65 20 61 6c 73 6f 20 3c 61 20 68 72 65 66 3d 22 23 75 6e .......<li>See.also.<a.href="#un
10b800 69 6f 6e 22 3e 75 6e 69 6f 6e 3c 2f 61 3e 3c 2f 6c 69 3e 0a 20 20 20 20 20 20 20 20 20 20 20 20 ion">union</a></li>.............
10b820 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>.........</
10b840 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
10b860 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
10b880 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 de><span.class="line"><span.clas
10b8a0 73 3d 22 74 6f 6b 2d 6b 77 22 3e 75 6e 72 65 61 63 68 61 62 6c 65 3c 2f 73 70 61 6e 3e 3c 2f 73 s="tok-kw">unreachable</span></s
10b8c0 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
10b8e0 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
10b900 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 de><span.class="line"><span.clas
10b920 73 3d 22 74 6f 6b 2d 6b 77 22 3e 75 6e 72 65 61 63 68 61 62 6c 65 3c 2f 73 70 61 6e 3e 3c 2f 73 s="tok-kw">unreachable</span></s
10b940 70 61 6e 3e 3c 2f 63 6f 64 65 3e 20 63 61 6e 20 62 65 20 75 73 65 64 20 74 6f 20 61 73 73 65 72 pan></code>.can.be.used.to.asser
10b960 74 20 74 68 61 74 20 63 6f 6e 74 72 6f 6c 20 66 6c 6f 77 20 77 69 6c 6c 20 6e 65 76 65 72 20 68 t.that.control.flow.will.never.h
10b980 61 70 70 65 6e 20 75 70 6f 6e 20 61 20 70 61 72 74 69 63 75 6c 61 72 20 6c 6f 63 61 74 69 6f 6e appen.upon.a.particular.location
10b9a0 2e 0a 20 20 20 20 20 20 20 20 20 20 20 20 44 65 70 65 6e 64 69 6e 67 20 6f 6e 20 74 68 65 20 62 ..............Depending.on.the.b
10b9c0 75 69 6c 64 20 6d 6f 64 65 2c 20 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 uild.mode,.<code><span.class="li
10b9e0 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 75 6e 72 65 61 63 68 ne"><span.class="tok-kw">unreach
10ba00 61 62 6c 65 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 20 6d 61 79 20 65 6d able</span></span></code>.may.em
10ba20 69 74 20 61 20 70 61 6e 69 63 2e 0a 20 20 20 20 20 20 20 20 20 20 20 20 3c 75 6c 3e 0a 20 20 20 it.a.panic..............<ul>....
10ba40 20 20 20 20 20 20 20 20 20 20 20 3c 6c 69 3e 45 6d 69 74 73 20 61 20 70 61 6e 69 63 20 69 6e 20 ...........<li>Emits.a.panic.in.
10ba60 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 44 65 62 75 67 3c 2f <code><span.class="line">Debug</
10ba80 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 20 61 6e 64 20 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 span></code>.and.<code><span.cla
10baa0 73 73 3d 22 6c 69 6e 65 22 3e 52 65 6c 65 61 73 65 53 61 66 65 3c 2f 73 70 61 6e 3e 3c 2f 63 6f ss="line">ReleaseSafe</span></co
10bac0 64 65 3e 20 6d 6f 64 65 2c 20 6f 72 20 77 68 65 6e 20 75 73 69 6e 67 20 3c 6b 62 64 3e 7a 69 67 de>.mode,.or.when.using.<kbd>zig
10bae0 20 74 65 73 74 3c 2f 6b 62 64 3e 2e 3c 2f 6c 69 3e 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 .test</kbd>.</li>...............
10bb00 3c 6c 69 3e 44 6f 65 73 20 6e 6f 74 20 65 6d 69 74 20 61 20 70 61 6e 69 63 20 69 6e 20 3c 63 6f <li>Does.not.emit.a.panic.in.<co
10bb20 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 52 65 6c 65 61 73 65 46 61 73 de><span.class="line">ReleaseFas
10bb40 74 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 20 6d 6f 64 65 2c 20 75 6e 6c 65 73 73 20 3c 6b 62 t</span></code>.mode,.unless.<kb
10bb60 64 3e 7a 69 67 20 74 65 73 74 3c 2f 6b 62 64 3e 20 69 73 20 62 65 69 6e 67 20 75 73 65 64 2e 3c d>zig.test</kbd>.is.being.used.<
10bb80 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.
10bba0 3c 61 20 68 72 65 66 3d 22 23 75 6e 72 65 61 63 68 61 62 6c 65 22 3e 75 6e 72 65 61 63 68 61 62 <a.href="#unreachable">unreachab
10bbc0 6c 65 3c 2f 61 3e 3c 2f 6c 69 3e 0a 20 20 20 20 20 20 20 20 20 20 20 20 3c 2f 75 6c 3e 0a 20 20 le</a></li>.............</ul>...
10bbe0 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>.....
10bc00 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
10bc20 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
10bc40 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b .class="line"><span.class="tok-k
10bc60 77 22 3e 75 73 69 6e 67 6e 61 6d 65 73 70 61 63 65 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 3c w">usingnamespace</span></span><
10bc80 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>....
10bca0 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
10bcc0 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f pan.class="line"><span.class="to
10bce0 6b 2d 6b 77 22 3e 75 73 69 6e 67 6e 61 6d 65 73 70 61 63 65 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 k-kw">usingnamespace</span></spa
10bd00 6e 3e 3c 2f 63 6f 64 65 3e 20 69 73 20 61 20 74 6f 70 2d 6c 65 76 65 6c 20 64 65 63 6c 61 72 61 n></code>.is.a.top-level.declara
10bd20 74 69 6f 6e 20 74 68 61 74 20 69 6d 70 6f 72 74 73 20 61 6c 6c 20 74 68 65 20 70 75 62 6c 69 63 tion.that.imports.all.the.public
10bd40 20 64 65 63 6c 61 72 61 74 69 6f 6e 73 20 6f 66 20 74 68 65 20 6f 70 65 72 61 6e 64 2c 0a 20 20 .declarations.of.the.operand,...
10bd60 20 20 20 20 20 20 20 20 20 20 77 68 69 63 68 20 6d 75 73 74 20 62 65 20 61 20 73 74 72 75 63 74 ..........which.must.be.a.struct
10bd80 2c 20 75 6e 69 6f 6e 2c 20 6f 72 20 65 6e 75 6d 2c 20 69 6e 74 6f 20 74 68 65 20 63 75 72 72 65 ,.union,.or.enum,.into.the.curre
10bda0 6e 74 20 73 63 6f 70 65 2e 0a 20 20 20 20 20 20 20 20 20 20 20 20 3c 75 6c 3e 0a 20 20 20 20 20 nt.scope..............<ul>......
10bdc0 20 20 20 20 20 20 20 20 20 3c 6c 69 3e 53 65 65 20 61 6c 73 6f 20 3c 61 20 68 72 65 66 3d 22 23 .........<li>See.also.<a.href="#
10bde0 75 73 69 6e 67 6e 61 6d 65 73 70 61 63 65 22 3e 75 73 69 6e 67 6e 61 6d 65 73 70 61 63 65 3c 2f usingnamespace">usingnamespace</
10be00 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>.......
10be20 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>.........
10be40 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">.
10be60 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
10be80 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 76 ss="line"><span.class="tok-kw">v
10bea0 61 72 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 3c 2f 70 72 65 3e 0a 20 20 ar</span></span></code></pre>...
10bec0 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>....
10bee0 20 20 20 20 20 20 20 20 20 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 .........<code><span.class="line
10bf00 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 76 61 72 3c 2f 73 70 61 6e "><span.class="tok-kw">var</span
10bf20 3e 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 20 64 65 63 6c 61 72 65 73 20 61 20 76 61 72 69 61 ></span></code>.declares.a.varia
10bf40 62 6c 65 20 74 68 61 74 20 6d 61 79 20 62 65 20 6d 6f 64 69 66 69 65 64 2e 0a 20 20 20 20 20 20 ble.that.may.be.modified........
10bf60 20 20 20 20 20 20 3c 75 6c 3e 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 3c 6c 69 3e 53 65 65 ......<ul>...............<li>See
10bf80 20 61 6c 73 6f 20 3c 61 20 68 72 65 66 3d 22 23 56 61 72 69 61 62 6c 65 73 22 3e 56 61 72 69 61 .also.<a.href="#Variables">Varia
10bfa0 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 3e 0a bles</a></li>.............</ul>.
10bfc0 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>...
10bfe0 20 20 20 20 20 20 3c 74 72 3e 0a 20 20 20 20 20 20 20 20 20 20 3c 74 68 20 73 63 6f 70 65 3d 22 ......<tr>...........<th.scope="
10c000 72 6f 77 22 3e 0a 20 20 20 20 20 20 20 20 20 20 20 20 3c 70 72 65 3e 3c 63 6f 64 65 3e 3c 73 70 row">.............<pre><code><sp
10c020 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b an.class="line"><span.class="tok
10c040 2d 6b 77 22 3e 76 6f 6c 61 74 69 6c 65 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 -kw">volatile</span></span></cod
10c060 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>........
10c080 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.
10c0a0 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 class="line"><span.class="tok-kw
10c0c0 22 3e 76 6f 6c 61 74 69 6c 65 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 20 ">volatile</span></span></code>.
10c0e0 63 61 6e 20 62 65 20 75 73 65 64 20 74 6f 20 64 65 6e 6f 74 65 20 6c 6f 61 64 73 20 6f 72 20 73 can.be.used.to.denote.loads.or.s
10c100 74 6f 72 65 73 20 6f 66 20 61 20 70 6f 69 6e 74 65 72 20 68 61 76 65 20 73 69 64 65 20 65 66 66 tores.of.a.pointer.have.side.eff
10c120 65 63 74 73 2e 0a 20 20 20 20 20 20 20 20 20 20 20 20 49 74 20 63 61 6e 20 61 6c 73 6f 20 6d 6f ects..............It.can.also.mo
10c140 64 69 66 79 20 61 6e 20 69 6e 6c 69 6e 65 20 61 73 73 65 6d 62 6c 79 20 65 78 70 72 65 73 73 69 dify.an.inline.assembly.expressi
10c160 6f 6e 20 74 6f 20 64 65 6e 6f 74 65 20 69 74 20 68 61 73 20 73 69 64 65 20 65 66 66 65 63 74 73 on.to.denote.it.has.side.effects
10c180 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>..............
10c1a0 20 3c 6c 69 3e 53 65 65 20 61 6c 73 6f 20 3c 61 20 68 72 65 66 3d 22 23 76 6f 6c 61 74 69 6c 65 .<li>See.also.<a.href="#volatile
10c1c0 22 3e 76 6f 6c 61 74 69 6c 65 3c 2f 61 3e 2c 20 3c 61 20 68 72 65 66 3d 22 23 41 73 73 65 6d 62 ">volatile</a>,.<a.href="#Assemb
10c1e0 6c 79 22 3e 41 73 73 65 6d 62 6c 79 3c 2f 61 3e 3c 2f 6c 69 3e 0a 20 20 20 20 20 20 20 20 20 20 ly">Assembly</a></li>...........
10c200 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>.........
10c220 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
10c240 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><
10c260 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c code><span.class="line"><span.cl
10c280 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 77 68 69 6c 65 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e ass="tok-kw">while</span></span>
10c2a0 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>...
10c2c0 20 20 20 20 20 20 20 20 3c 74 64 3e 0a 20 20 20 20 20 20 20 20 20 20 20 20 41 20 3c 63 6f 64 65 ........<td>.............A.<code
10c2e0 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d ><span.class="line"><span.class=
10c300 22 74 6f 6b 2d 6b 77 22 3e 77 68 69 6c 65 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 3c 2f 63 6f "tok-kw">while</span></span></co
10c320 64 65 3e 20 65 78 70 72 65 73 73 69 6f 6e 20 63 61 6e 20 62 65 20 75 73 65 64 20 74 6f 20 72 65 de>.expression.can.be.used.to.re
10c340 70 65 61 74 65 64 6c 79 20 74 65 73 74 20 61 20 62 6f 6f 6c 65 61 6e 2c 20 6f 70 74 69 6f 6e 61 peatedly.test.a.boolean,.optiona
10c360 6c 2c 20 6f 72 20 65 72 72 6f 72 20 75 6e 69 6f 6e 20 65 78 70 72 65 73 73 69 6f 6e 2c 0a 20 20 l,.or.error.union.expression,...
10c380 20 20 20 20 20 20 20 20 20 20 61 6e 64 20 63 65 61 73 65 20 6c 6f 6f 70 69 6e 67 20 77 68 65 6e ..........and.cease.looping.when
10c3a0 20 74 68 61 74 20 65 78 70 72 65 73 73 69 6f 6e 20 65 76 61 6c 75 61 74 65 73 20 74 6f 20 66 61 .that.expression.evaluates.to.fa
10c3c0 6c 73 65 2c 20 6e 75 6c 6c 2c 20 6f 72 20 61 6e 20 65 72 72 6f 72 2c 20 72 65 73 70 65 63 74 69 lse,.null,.or.an.error,.respecti
10c3e0 76 65 6c 79 2e 0a 20 20 20 20 20 20 20 20 20 20 20 20 3c 75 6c 3e 0a 20 20 20 20 20 20 20 20 20 vely..............<ul>..........
10c400 20 20 20 20 20 3c 6c 69 3e 53 65 65 20 61 6c 73 6f 20 3c 61 20 68 72 65 66 3d 22 23 77 68 69 6c .....<li>See.also.<a.href="#whil
10c420 65 22 3e 77 68 69 6c 65 3c 2f 61 3e 3c 2f 6c 69 3e 0a 20 20 20 20 20 20 20 20 20 20 20 20 3c 2f e">while</a></li>.............</
10c440 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
10c460 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
10c480 3e 0a 20 20 20 20 20 20 3c 2f 64 69 76 3e 0a 20 20 20 20 20 20 0a 0a 20 20 20 20 20 20 3c 68 32 >.......</div>...............<h2
10c4a0 20 69 64 3d 22 41 70 70 65 6e 64 69 78 22 3e 3c 61 20 68 72 65 66 3d 22 23 74 6f 63 2d 41 70 70 .id="Appendix"><a.href="#toc-App
10c4c0 65 6e 64 69 78 22 3e 41 70 70 65 6e 64 69 78 3c 2f 61 3e 20 3c 61 20 63 6c 61 73 73 3d 22 68 64 endix">Appendix</a>.<a.class="hd
10c4e0 72 22 20 68 72 65 66 3d 22 23 41 70 70 65 6e 64 69 78 22 3e c2 a7 3c 2f 61 3e 3c 2f 68 32 3e 0a r".href="#Appendix">..</a></h2>.
10c500 0a 20 20 20 20 20 20 3c 68 33 20 69 64 3d 22 43 6f 6e 74 61 69 6e 65 72 73 22 3e 3c 61 20 68 72 .......<h3.id="Containers"><a.hr
10c520 65 66 3d 22 23 74 6f 63 2d 43 6f 6e 74 61 69 6e 65 72 73 22 3e 43 6f 6e 74 61 69 6e 65 72 73 3c ef="#toc-Containers">Containers<
10c540 2f 61 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 6e 74 61 69 /a>.<a.class="hdr".href="#Contai
10c560 6e 65 72 73 22 3e c2 a7 3c 2f 61 3e 3c 2f 68 33 3e 0a 0a 20 20 20 20 20 20 3c 70 3e 0a 20 20 20 ners">..</a></h3>........<p>....
10c580 20 20 20 41 20 3c 65 6d 3e 63 6f 6e 74 61 69 6e 65 72 3c 2f 65 6d 3e 20 69 6e 20 5a 69 67 20 69 ...A.<em>container</em>.in.Zig.i
10c5a0 73 20 61 6e 79 20 73 79 6e 74 61 63 74 69 63 61 6c 20 63 6f 6e 73 74 72 75 63 74 20 74 68 61 74 s.any.syntactical.construct.that
10c5c0 20 61 63 74 73 20 61 73 20 61 20 6e 61 6d 65 73 70 61 63 65 20 74 6f 20 68 6f 6c 64 20 3c 61 20 .acts.as.a.namespace.to.hold.<a.
10c5e0 68 72 65 66 3d 22 23 43 6f 6e 74 61 69 6e 65 72 2d 4c 65 76 65 6c 2d 56 61 72 69 61 62 6c 65 73 href="#Container-Level-Variables
10c600 22 3e 76 61 72 69 61 62 6c 65 3c 2f 61 3e 20 61 6e 64 20 3c 61 20 68 72 65 66 3d 22 23 46 75 6e ">variable</a>.and.<a.href="#Fun
10c620 63 74 69 6f 6e 73 22 3e 66 75 6e 63 74 69 6f 6e 3c 2f 61 3e 20 64 65 63 6c 61 72 61 74 69 6f 6e ctions">function</a>.declaration
10c640 73 2e 0a 20 20 20 20 20 20 43 6f 6e 74 61 69 6e 65 72 73 20 61 72 65 20 61 6c 73 6f 20 74 79 70 s........Containers.are.also.typ
10c660 65 20 64 65 66 69 6e 69 74 69 6f 6e 73 20 77 68 69 63 68 20 63 61 6e 20 62 65 20 69 6e 73 74 61 e.definitions.which.can.be.insta
10c680 6e 74 69 61 74 65 64 2e 0a 20 20 20 20 20 20 3c 61 20 68 72 65 66 3d 22 23 73 74 72 75 63 74 22 ntiated........<a.href="#struct"
10c6a0 3e 53 74 72 75 63 74 73 3c 2f 61 3e 2c 20 3c 61 20 68 72 65 66 3d 22 23 65 6e 75 6d 22 3e 65 6e >Structs</a>,.<a.href="#enum">en
10c6c0 75 6d 73 3c 2f 61 3e 2c 20 3c 61 20 68 72 65 66 3d 22 23 75 6e 69 6f 6e 22 3e 75 6e 69 6f 6e 73 ums</a>,.<a.href="#union">unions
10c6e0 3c 2f 61 3e 2c 20 3c 61 20 68 72 65 66 3d 22 23 6f 70 61 71 75 65 22 3e 6f 70 61 71 75 65 73 3c </a>,.<a.href="#opaque">opaques<
10c700 2f 61 3e 2c 20 61 6e 64 20 65 76 65 6e 20 5a 69 67 20 73 6f 75 72 63 65 20 66 69 6c 65 73 20 74 /a>,.and.even.Zig.source.files.t
10c720 68 65 6d 73 65 6c 76 65 73 20 61 72 65 20 63 6f 6e 74 61 69 6e 65 72 73 2e 0a 20 20 20 20 20 20 hemselves.are.containers........
10c740 3c 2f 70 3e 0a 20 20 20 20 20 20 3c 70 3e 0a 20 20 20 20 20 20 41 6c 74 68 6f 75 67 68 20 63 6f </p>.......<p>.......Although.co
10c760 6e 74 61 69 6e 65 72 73 20 28 65 78 63 65 70 74 20 5a 69 67 20 73 6f 75 72 63 65 20 66 69 6c 65 ntainers.(except.Zig.source.file
10c780 73 29 20 75 73 65 20 63 75 72 6c 79 20 62 72 61 63 65 73 20 74 6f 20 73 75 72 72 6f 75 6e 64 20 s).use.curly.braces.to.surround.
10c7a0 74 68 65 69 72 20 64 65 66 69 6e 69 74 69 6f 6e 2c 20 74 68 65 79 20 73 68 6f 75 6c 64 20 6e 6f their.definition,.they.should.no
10c7c0 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
10c7e0 63 6b 73 22 3e 62 6c 6f 63 6b 73 3c 2f 61 3e 20 6f 72 20 66 75 6e 63 74 69 6f 6e 73 2e 0a 20 20 cks">blocks</a>.or.functions....
10c800 20 20 20 20 43 6f 6e 74 61 69 6e 65 72 73 20 64 6f 20 6e 6f 74 20 63 6f 6e 74 61 69 6e 20 73 74 ....Containers.do.not.contain.st
10c820 61 74 65 6d 65 6e 74 73 2e 0a 20 20 20 20 20 20 3c 2f 70 3e 0a 20 20 20 20 20 20 0a 0a 20 20 20 atements........</p>............
10c840 20 20 20 3c 68 33 20 69 64 3d 22 47 72 61 6d 6d 61 72 22 3e 3c 61 20 68 72 65 66 3d 22 23 74 6f ...<h3.id="Grammar"><a.href="#to
10c860 63 2d 47 72 61 6d 6d 61 72 22 3e 47 72 61 6d 6d 61 72 3c 2f 61 3e 20 3c 61 20 63 6c 61 73 73 3d c-Grammar">Grammar</a>.<a.class=
10c880 22 68 64 72 22 20 68 72 65 66 3d 22 23 47 72 61 6d 6d 61 72 22 3e c2 a7 3c 2f 61 3e 3c 2f 68 33 "hdr".href="#Grammar">..</a></h3
10c8a0 3e 0a 0a 20 20 20 20 20 20 3c 66 69 67 75 72 65 3e 3c 66 69 67 63 61 70 74 69 6f 6e 20 63 6c 61 >........<figure><figcaption.cla
10c8c0 73 73 3d 22 70 65 67 2d 63 61 70 22 3e 3c 63 69 74 65 20 63 6c 61 73 73 3d 22 66 69 6c 65 22 3e ss="peg-cap"><cite.class="file">
10c8e0 67 72 61 6d 6d 61 72 2e 70 65 67 3c 2f 63 69 74 65 3e 3c 2f 66 69 67 63 61 70 74 69 6f 6e 3e 3c grammar.peg</cite></figcaption><
10c900 70 72 65 3e 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 52 6f 6f pre><code><span.class="line">Roo
10c920 74 20 26 6c 74 3b 2d 20 73 6b 69 70 20 63 6f 6e 74 61 69 6e 65 72 5f 64 6f 63 5f 63 6f 6d 6d 65 t.&lt;-.skip.container_doc_comme
10c940 6e 74 3f 20 43 6f 6e 74 61 69 6e 65 72 4d 65 6d 62 65 72 73 20 65 6f 66 3c 2f 73 70 61 6e 3e 0a nt?.ContainerMembers.eof</span>.
10c960 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e <span.class="line"></span>.<span
10c980 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 23 20 2a 2a 2a 20 54 6f 70 20 6c 65 76 65 6c 20 2a 2a .class="line">#.***.Top.level.**
10c9a0 2a 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 43 6f 6e 74 *</span>.<span.class="line">Cont
10c9c0 61 69 6e 65 72 4d 65 6d 62 65 72 73 20 26 6c 74 3b 2d 20 43 6f 6e 74 61 69 6e 65 72 44 65 63 6c ainerMembers.&lt;-.ContainerDecl
10c9e0 61 72 61 74 69 6f 6e 73 20 28 43 6f 6e 74 61 69 6e 65 72 46 69 65 6c 64 20 43 4f 4d 4d 41 29 2a arations.(ContainerField.COMMA)*
10ca00 20 28 43 6f 6e 74 61 69 6e 65 72 46 69 65 6c 64 20 2f 20 43 6f 6e 74 61 69 6e 65 72 44 65 63 6c .(ContainerField./.ContainerDecl
10ca20 61 72 61 74 69 6f 6e 73 29 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 arations)</span>.<span.class="li
10ca40 6e 65 22 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 43 ne"></span>.<span.class="line">C
10ca60 6f 6e 74 61 69 6e 65 72 44 65 63 6c 61 72 61 74 69 6f 6e 73 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 ontainerDeclarations</span>.<spa
10ca80 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 26 6c 74 3b 2d 20 54 65 73 74 44 65 63 n.class="line">....&lt;-.TestDec
10caa0 6c 20 43 6f 6e 74 61 69 6e 65 72 44 65 63 6c 61 72 61 74 69 6f 6e 73 3c 2f 73 70 61 6e 3e 0a 3c l.ContainerDeclarations</span>.<
10cac0 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 20 2f 20 54 6f 70 4c 65 76 65 span.class="line">...../.TopLeve
10cae0 6c 43 6f 6d 70 74 69 6d 65 20 43 6f 6e 74 61 69 6e 65 72 44 65 63 6c 61 72 61 74 69 6f 6e 73 3c lComptime.ContainerDeclarations<
10cb00 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 20 2f /span>.<span.class="line">...../
10cb20 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 54 6f 70 4c 65 .doc_comment?.KEYWORD_pub?.TopLe
10cb40 76 65 6c 44 65 63 6c 20 43 6f 6e 74 61 69 6e 65 72 44 65 63 6c 61 72 61 74 69 6f 6e 73 3c 2f 73 velDecl.ContainerDeclarations</s
10cb60 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 20 2f 3c 2f pan>.<span.class="line">...../</
10cb80 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 2f 73 70 61 6e 3e span>.<span.class="line"></span>
10cba0 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 54 65 73 74 44 65 63 6c 20 26 6c 74 .<span.class="line">TestDecl.&lt
10cbc0 3b 2d 20 64 6f 63 5f 63 6f 6d 6d 65 6e 74 3f 20 4b 45 59 57 4f 52 44 5f 74 65 73 74 20 53 54 52 ;-.doc_comment?.KEYWORD_test.STR
10cbe0 49 4e 47 4c 49 54 45 52 41 4c 53 49 4e 47 4c 45 3f 20 42 6c 6f 63 6b 3c 2f 73 70 61 6e 3e 0a 3c INGLITERALSINGLE?.Block</span>.<
10cc00 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 span.class="line"></span>.<span.
10cc20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 54 6f 70 4c 65 76 65 6c 43 6f 6d 70 74 69 6d 65 20 26 6c class="line">TopLevelComptime.&l
10cc40 74 3b 2d 20 64 6f 63 5f 63 6f 6d 6d 65 6e 74 3f 20 4b 45 59 57 4f 52 44 5f 63 6f 6d 70 74 69 6d t;-.doc_comment?.KEYWORD_comptim
10cc60 65 20 42 6c 6f 63 6b 45 78 70 72 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 e.BlockExpr</span>.<span.class="
10cc80 6c 69 6e 65 22 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 line"></span>.<span.class="line"
10cca0 3e 54 6f 70 4c 65 76 65 6c 44 65 63 6c 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 >TopLevelDecl</span>.<span.class
10ccc0 3d 22 6c 69 6e 65 22 3e 20 20 20 20 26 6c 74 3b 2d 20 28 4b 45 59 57 4f 52 44 5f 65 78 70 6f 72 ="line">....&lt;-.(KEYWORD_expor
10cce0 74 20 2f 20 4b 45 59 57 4f 52 44 5f 65 78 74 65 72 6e 20 53 54 52 49 4e 47 4c 49 54 45 52 41 4c t./.KEYWORD_extern.STRINGLITERAL
10cd00 53 49 4e 47 4c 45 3f 20 2f 20 28 4b 45 59 57 4f 52 44 5f 69 6e 6c 69 6e 65 20 2f 20 4b 45 59 57 SINGLE?./.(KEYWORD_inline./.KEYW
10cd20 4f 52 44 5f 6e 6f 69 6e 6c 69 6e 65 29 29 3f 20 46 6e 50 72 6f 74 6f 20 28 53 45 4d 49 43 4f 4c ORD_noinline))?.FnProto.(SEMICOL
10cd40 4f 4e 20 2f 20 42 6c 6f 63 6b 29 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 ON./.Block)</span>.<span.class="
10cd60 6c 69 6e 65 22 3e 20 20 20 20 20 2f 20 28 4b 45 59 57 4f 52 44 5f 65 78 70 6f 72 74 20 2f 20 4b line">...../.(KEYWORD_export./.K
10cd80 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 4c EYWORD_extern.STRINGLITERALSINGL
10cda0 45 3f 29 3f 20 4b 45 59 57 4f 52 44 5f 74 68 72 65 61 64 6c 6f 63 61 6c 3f 20 56 61 72 44 65 63 E?)?.KEYWORD_threadlocal?.VarDec
10cdc0 6c 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 l</span>.<span.class="line">....
10cde0 20 2f 20 4b 45 59 57 4f 52 44 5f 75 73 69 6e 67 6e 61 6d 65 73 70 61 63 65 20 45 78 70 72 20 53 ./.KEYWORD_usingnamespace.Expr.S
10ce00 45 4d 49 43 4f 4c 4f 4e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e EMICOLON</span>.<span.class="lin
10ce20 65 22 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 46 6e e"></span>.<span.class="line">Fn
10ce40 50 72 6f 74 6f 20 26 6c 74 3b 2d 20 4b 45 59 57 4f 52 44 5f 66 6e 20 49 44 45 4e 54 49 46 49 45 Proto.&lt;-.KEYWORD_fn.IDENTIFIE
10ce60 52 3f 20 4c 50 41 52 45 4e 20 50 61 72 61 6d 44 65 63 6c 4c 69 73 74 20 52 50 41 52 45 4e 20 42 R?.LPAREN.ParamDeclList.RPAREN.B
10ce80 79 74 65 41 6c 69 67 6e 3f 20 4c 69 6e 6b 53 65 63 74 69 6f 6e 3f 20 43 61 6c 6c 43 6f 6e 76 3f yteAlign?.LinkSection?.CallConv?
10cea0 20 45 58 43 4c 41 4d 41 54 49 4f 4e 4d 41 52 4b 3f 20 54 79 70 65 45 78 70 72 3c 2f 73 70 61 6e .EXCLAMATIONMARK?.TypeExpr</span
10cec0 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 >.<span.class="line"></span>.<sp
10cee0 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 56 61 72 44 65 63 6c 20 26 6c 74 3b 2d 20 28 4b an.class="line">VarDecl.&lt;-.(K
10cf00 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 44 45 4e EYWORD_const./.KEYWORD_var).IDEN
10cf20 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 41 6c 69 TIFIER.(COLON.TypeExpr)?.ByteAli
10cf40 67 6e 3f 20 4c 69 6e 6b 53 65 63 74 69 6f 6e 3f 20 28 45 51 55 41 4c 20 45 78 70 72 29 3f 20 53 gn?.LinkSection?.(EQUAL.Expr)?.S
10cf60 45 4d 49 43 4f 4c 4f 4e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e EMICOLON</span>.<span.class="lin
10cf80 65 22 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 43 6f e"></span>.<span.class="line">Co
10cfa0 6e 74 61 69 6e 65 72 46 69 65 6c 64 20 26 6c 74 3b 2d 20 64 6f 63 5f 63 6f 6d 6d 65 6e 74 3f 20 ntainerField.&lt;-.doc_comment?.
10cfc0 4b 45 59 57 4f 52 44 5f 63 6f 6d 70 74 69 6d 65 3f 20 49 44 45 4e 54 49 46 49 45 52 20 28 43 4f KEYWORD_comptime?.IDENTIFIER.(CO
10cfe0 4c 4f 4e 20 28 4b 45 59 57 4f 52 44 5f 61 6e 79 74 79 70 65 20 2f 20 54 79 70 65 45 78 70 72 29 LON.(KEYWORD_anytype./.TypeExpr)
10d000 20 42 79 74 65 41 6c 69 67 6e 3f 29 3f 20 28 45 51 55 41 4c 20 45 78 70 72 29 3f 3c 2f 73 70 61 .ByteAlign?)?.(EQUAL.Expr)?</spa
10d020 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 n>.<span.class="line"></span>.<s
10d040 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 23 20 2a 2a 2a 20 42 6c 6f 63 6b 20 4c 65 76 pan.class="line">#.***.Block.Lev
10d060 65 6c 20 2a 2a 2a 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 el.***</span>.<span.class="line"
10d080 3e 53 74 61 74 65 6d 65 6e 74 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c >Statement</span>.<span.class="l
10d0a0 69 6e 65 22 3e 20 20 20 20 26 6c 74 3b 2d 20 4b 45 59 57 4f 52 44 5f 63 6f 6d 70 74 69 6d 65 3f ine">....&lt;-.KEYWORD_comptime?
10d0c0 20 56 61 72 44 65 63 6c 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e .VarDecl</span>.<span.class="lin
10d0e0 65 22 3e 20 20 20 20 20 2f 20 4b 45 59 57 4f 52 44 5f 63 6f 6d 70 74 69 6d 65 20 42 6c 6f 63 6b e">...../.KEYWORD_comptime.Block
10d100 45 78 70 72 53 74 61 74 65 6d 65 6e 74 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 ExprStatement</span>.<span.class
10d120 3d 22 6c 69 6e 65 22 3e 20 20 20 20 20 2f 20 4b 45 59 57 4f 52 44 5f 6e 6f 73 75 73 70 65 6e 64 ="line">...../.KEYWORD_nosuspend
10d140 20 42 6c 6f 63 6b 45 78 70 72 53 74 61 74 65 6d 65 6e 74 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e .BlockExprStatement</span>.<span
10d160 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 20 2f 20 4b 45 59 57 4f 52 44 5f 73 75 73 .class="line">...../.KEYWORD_sus
10d180 70 65 6e 64 20 42 6c 6f 63 6b 45 78 70 72 53 74 61 74 65 6d 65 6e 74 3c 2f 73 70 61 6e 3e 0a 3c pend.BlockExprStatement</span>.<
10d1a0 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 20 2f 20 4b 45 59 57 4f 52 44 span.class="line">...../.KEYWORD
10d1c0 5f 64 65 66 65 72 20 42 6c 6f 63 6b 45 78 70 72 53 74 61 74 65 6d 65 6e 74 3c 2f 73 70 61 6e 3e _defer.BlockExprStatement</span>
10d1e0 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 20 2f 20 4b 45 59 57 4f .<span.class="line">...../.KEYWO
10d200 52 44 5f 65 72 72 64 65 66 65 72 20 50 61 79 6c 6f 61 64 3f 20 42 6c 6f 63 6b 45 78 70 72 53 74 RD_errdefer.Payload?.BlockExprSt
10d220 61 74 65 6d 65 6e 74 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 atement</span>.<span.class="line
10d240 22 3e 20 20 20 20 20 2f 20 49 66 53 74 61 74 65 6d 65 6e 74 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 ">...../.IfStatement</span>.<spa
10d260 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 20 2f 20 4c 61 62 65 6c 65 64 53 74 61 n.class="line">...../.LabeledSta
10d280 74 65 6d 65 6e 74 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 tement</span>.<span.class="line"
10d2a0 3e 20 20 20 20 20 2f 20 53 77 69 74 63 68 45 78 70 72 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 >...../.SwitchExpr</span>.<span.
10d2c0 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 20 2f 20 41 73 73 69 67 6e 45 78 70 72 20 53 class="line">...../.AssignExpr.S
10d2e0 45 4d 49 43 4f 4c 4f 4e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e EMICOLON</span>.<span.class="lin
10d300 65 22 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 49 66 e"></span>.<span.class="line">If
10d320 53 74 61 74 65 6d 65 6e 74 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 Statement</span>.<span.class="li
10d340 6e 65 22 3e 20 20 20 20 26 6c 74 3b 2d 20 49 66 50 72 65 66 69 78 20 42 6c 6f 63 6b 45 78 70 72 ne">....&lt;-.IfPrefix.BlockExpr
10d360 20 28 20 4b 45 59 57 4f 52 44 5f 65 6c 73 65 20 50 61 79 6c 6f 61 64 3f 20 53 74 61 74 65 6d 65 .(.KEYWORD_else.Payload?.Stateme
10d380 6e 74 20 29 3f 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e nt.)?</span>.<span.class="line">
10d3a0 20 20 20 20 20 2f 20 49 66 50 72 65 66 69 78 20 41 73 73 69 67 6e 45 78 70 72 20 28 20 53 45 4d ...../.IfPrefix.AssignExpr.(.SEM
10d3c0 49 43 4f 4c 4f 4e 20 2f 20 4b 45 59 57 4f 52 44 5f 65 6c 73 65 20 50 61 79 6c 6f 61 64 3f 20 53 ICOLON./.KEYWORD_else.Payload?.S
10d3e0 74 61 74 65 6d 65 6e 74 20 29 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c tatement.)</span>.<span.class="l
10d400 69 6e 65 22 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e ine"></span>.<span.class="line">
10d420 4c 61 62 65 6c 65 64 53 74 61 74 65 6d 65 6e 74 20 26 6c 74 3b 2d 20 42 6c 6f 63 6b 4c 61 62 65 LabeledStatement.&lt;-.BlockLabe
10d440 6c 3f 20 28 42 6c 6f 63 6b 20 2f 20 4c 6f 6f 70 53 74 61 74 65 6d 65 6e 74 29 3c 2f 73 70 61 6e l?.(Block./.LoopStatement)</span
10d460 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 >.<span.class="line"></span>.<sp
10d480 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 4c 6f 6f 70 53 74 61 74 65 6d 65 6e 74 20 26 6c an.class="line">LoopStatement.&l
10d4a0 74 3b 2d 20 4b 45 59 57 4f 52 44 5f 69 6e 6c 69 6e 65 3f 20 28 46 6f 72 53 74 61 74 65 6d 65 6e t;-.KEYWORD_inline?.(ForStatemen
10d4c0 74 20 2f 20 57 68 69 6c 65 53 74 61 74 65 6d 65 6e 74 29 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e t./.WhileStatement)</span>.<span
10d4e0 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 .class="line"></span>.<span.clas
10d500 73 3d 22 6c 69 6e 65 22 3e 46 6f 72 53 74 61 74 65 6d 65 6e 74 3c 2f 73 70 61 6e 3e 0a 3c 73 70 s="line">ForStatement</span>.<sp
10d520 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 26 6c 74 3b 2d 20 46 6f 72 50 72 65 an.class="line">....&lt;-.ForPre
10d540 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 53 74 61 fix.BlockExpr.(.KEYWORD_else.Sta
10d560 74 65 6d 65 6e 74 20 29 3f 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 tement.)?</span>.<span.class="li
10d580 6e 65 22 3e 20 20 20 20 20 2f 20 46 6f 72 50 72 65 66 69 78 20 41 73 73 69 67 6e 45 78 70 72 20 ne">...../.ForPrefix.AssignExpr.
10d5a0 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 61 74 65 (.SEMICOLON./.KEYWORD_else.State
10d5c0 6d 65 6e 74 20 29 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 ment.)</span>.<span.class="line"
10d5e0 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 57 68 69 6c ></span>.<span.class="line">Whil
10d600 65 53 74 61 74 65 6d 65 6e 74 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c eStatement</span>.<span.class="l
10d620 69 6e 65 22 3e 20 20 20 20 26 6c 74 3b 2d 20 57 68 69 6c 65 50 72 65 66 69 78 20 42 6c 6f 63 6b ine">....&lt;-.WhilePrefix.Block
10d640 45 78 70 72 20 28 20 4b 45 59 57 4f 52 44 5f 65 6c 73 65 20 50 61 79 6c 6f 61 64 3f 20 53 74 61 Expr.(.KEYWORD_else.Payload?.Sta
10d660 74 65 6d 65 6e 74 20 29 3f 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 tement.)?</span>.<span.class="li
10d680 6e 65 22 3e 20 20 20 20 20 2f 20 57 68 69 6c 65 50 72 65 66 69 78 20 41 73 73 69 67 6e 45 78 70 ne">...../.WhilePrefix.AssignExp
10d6a0 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 50 61 79 r.(.SEMICOLON./.KEYWORD_else.Pay
10d6c0 6c 6f 61 64 3f 20 53 74 61 74 65 6d 65 6e 74 20 29 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 load?.Statement.)</span>.<span.c
10d6e0 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d lass="line"></span>.<span.class=
10d700 22 6c 69 6e 65 22 3e 42 6c 6f 63 6b 45 78 70 72 53 74 61 74 65 6d 65 6e 74 3c 2f 73 70 61 6e 3e "line">BlockExprStatement</span>
10d720 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 26 6c 74 3b 2d 20 42 6c .<span.class="line">....&lt;-.Bl
10d740 6f 63 6b 45 78 70 72 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 ockExpr</span>.<span.class="line
10d760 22 3e 20 20 20 20 20 2f 20 41 73 73 69 67 6e 45 78 70 72 20 53 45 4d 49 43 4f 4c 4f 4e 3c 2f 73 ">...../.AssignExpr.SEMICOLON</s
10d780 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 2f 73 70 61 6e 3e 0a pan>.<span.class="line"></span>.
10d7a0 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 42 6c 6f 63 6b 45 78 70 72 20 26 6c 74 <span.class="line">BlockExpr.&lt
10d7c0 3b 2d 20 42 6c 6f 63 6b 4c 61 62 65 6c 3f 20 42 6c 6f 63 6b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 ;-.BlockLabel?.Block</span>.<spa
10d7e0 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 n.class="line"></span>.<span.cla
10d800 73 73 3d 22 6c 69 6e 65 22 3e 23 20 2a 2a 2a 20 45 78 70 72 65 73 73 69 6f 6e 20 4c 65 76 65 6c ss="line">#.***.Expression.Level
10d820 20 2a 2a 2a 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 41 .***</span>.<span.class="line">A
10d840 73 73 69 67 6e 45 78 70 72 20 26 6c 74 3b 2d 20 45 78 70 72 20 28 41 73 73 69 67 6e 4f 70 20 45 ssignExpr.&lt;-.Expr.(AssignOp.E
10d860 78 70 72 29 3f 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e xpr)?</span>.<span.class="line">
10d880 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 45 78 70 72 20 </span>.<span.class="line">Expr.
10d8a0 26 6c 74 3b 2d 20 42 6f 6f 6c 4f 72 45 78 70 72 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c &lt;-.BoolOrExpr</span>.<span.cl
10d8c0 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 ass="line"></span>.<span.class="
10d8e0 6c 69 6e 65 22 3e 42 6f 6f 6c 4f 72 45 78 70 72 20 26 6c 74 3b 2d 20 42 6f 6f 6c 41 6e 64 45 78 line">BoolOrExpr.&lt;-.BoolAndEx
10d900 70 72 20 28 4b 45 59 57 4f 52 44 5f 6f 72 20 42 6f 6f 6c 41 6e 64 45 78 70 72 29 2a 3c 2f 73 70 pr.(KEYWORD_or.BoolAndExpr)*</sp
10d920 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 2f 73 70 61 6e 3e 0a 3c an>.<span.class="line"></span>.<
10d940 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 42 6f 6f 6c 41 6e 64 45 78 70 72 20 26 6c span.class="line">BoolAndExpr.&l
10d960 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
10d980 70 61 72 65 45 78 70 72 29 2a 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c pareExpr)*</span>.<span.class="l
10d9a0 69 6e 65 22 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e ine"></span>.<span.class="line">
10d9c0 43 6f 6d 70 61 72 65 45 78 70 72 20 26 6c 74 3b 2d 20 42 69 74 77 69 73 65 45 78 70 72 20 28 43 CompareExpr.&lt;-.BitwiseExpr.(C
10d9e0 6f 6d 70 61 72 65 4f 70 20 42 69 74 77 69 73 65 45 78 70 72 29 3f 3c 2f 73 70 61 6e 3e 0a 3c 73 ompareOp.BitwiseExpr)?</span>.<s
10da00 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 pan.class="line"></span>.<span.c
10da20 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 42 69 74 77 69 73 65 45 78 70 72 20 26 6c 74 3b 2d 20 42 69 lass="line">BitwiseExpr.&lt;-.Bi
10da40 74 53 68 69 66 74 45 78 70 72 20 28 42 69 74 77 69 73 65 4f 70 20 42 69 74 53 68 69 66 74 45 78 tShiftExpr.(BitwiseOp.BitShiftEx
10da60 70 72 29 2a 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c pr)*</span>.<span.class="line"><
10da80 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 42 69 74 53 68 69 /span>.<span.class="line">BitShi
10daa0 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 69 74 53 68 ftExpr.&lt;-.AdditionExpr.(BitSh
10dac0 69 66 74 4f 70 20 41 64 64 69 74 69 6f 6e 45 78 70 72 29 2a 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 iftOp.AdditionExpr)*</span>.<spa
10dae0 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 n.class="line"></span>.<span.cla
10db00 73 73 3d 22 6c 69 6e 65 22 3e 41 64 64 69 74 69 6f 6e 45 78 70 72 20 26 6c 74 3b 2d 20 4d 75 6c ss="line">AdditionExpr.&lt;-.Mul
10db20 74 69 70 6c 79 45 78 70 72 20 28 41 64 64 69 74 69 6f 6e 4f 70 20 4d 75 6c 74 69 70 6c 79 45 78 tiplyExpr.(AdditionOp.MultiplyEx
10db40 70 72 29 2a 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c pr)*</span>.<span.class="line"><
10db60 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 4d 75 6c 74 69 70 /span>.<span.class="line">Multip
10db80 6c 79 45 78 70 72 20 26 6c 74 3b 2d 20 50 72 65 66 69 78 45 78 70 72 20 28 4d 75 6c 74 69 70 6c lyExpr.&lt;-.PrefixExpr.(Multipl
10dba0 79 4f 70 20 50 72 65 66 69 78 45 78 70 72 29 2a 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c yOp.PrefixExpr)*</span>.<span.cl
10dbc0 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 ass="line"></span>.<span.class="
10dbe0 6c 69 6e 65 22 3e 50 72 65 66 69 78 45 78 70 72 20 26 6c 74 3b 2d 20 50 72 65 66 69 78 4f 70 2a line">PrefixExpr.&lt;-.PrefixOp*
10dc00 20 50 72 69 6d 61 72 79 45 78 70 72 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d .PrimaryExpr</span>.<span.class=
10dc20 22 6c 69 6e 65 22 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 "line"></span>.<span.class="line
10dc40 22 3e 50 72 69 6d 61 72 79 45 78 70 72 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 ">PrimaryExpr</span>.<span.class
10dc60 3d 22 6c 69 6e 65 22 3e 20 20 20 20 26 6c 74 3b 2d 20 41 73 6d 45 78 70 72 3c 2f 73 70 61 6e 3e ="line">....&lt;-.AsmExpr</span>
10dc80 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 20 2f 20 49 66 45 78 70 .<span.class="line">...../.IfExp
10dca0 72 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 r</span>.<span.class="line">....
10dcc0 20 2f 20 4b 45 59 57 4f 52 44 5f 62 72 65 61 6b 20 42 72 65 61 6b 4c 61 62 65 6c 3f 20 45 78 70 ./.KEYWORD_break.BreakLabel?.Exp
10dce0 72 3f 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 r?</span>.<span.class="line">...
10dd00 20 20 2f 20 4b 45 59 57 4f 52 44 5f 63 6f 6d 70 74 69 6d 65 20 45 78 70 72 3c 2f 73 70 61 6e 3e ../.KEYWORD_comptime.Expr</span>
10dd20 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 20 2f 20 4b 45 59 57 4f .<span.class="line">...../.KEYWO
10dd40 52 44 5f 6e 6f 73 75 73 70 65 6e 64 20 45 78 70 72 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 RD_nosuspend.Expr</span>.<span.c
10dd60 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 20 2f 20 4b 45 59 57 4f 52 44 5f 63 6f 6e 74 69 lass="line">...../.KEYWORD_conti
10dd80 6e 75 65 20 42 72 65 61 6b 4c 61 62 65 6c 3f 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 nue.BreakLabel?</span>.<span.cla
10dda0 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 20 2f 20 4b 45 59 57 4f 52 44 5f 72 65 73 75 6d 65 20 ss="line">...../.KEYWORD_resume.
10ddc0 45 78 70 72 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 Expr</span>.<span.class="line">.
10dde0 20 20 20 20 2f 20 4b 45 59 57 4f 52 44 5f 72 65 74 75 72 6e 20 45 78 70 72 3f 3c 2f 73 70 61 6e ..../.KEYWORD_return.Expr?</span
10de00 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 20 2f 20 42 6c 6f 63 >.<span.class="line">...../.Bloc
10de20 6b 4c 61 62 65 6c 3f 20 4c 6f 6f 70 45 78 70 72 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c kLabel?.LoopExpr</span>.<span.cl
10de40 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 20 2f 20 42 6c 6f 63 6b 3c 2f 73 70 61 6e 3e 0a 3c ass="line">...../.Block</span>.<
10de60 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 20 2f 20 43 75 72 6c 79 53 75 span.class="line">...../.CurlySu
10de80 66 66 69 78 45 78 70 72 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e ffixExpr</span>.<span.class="lin
10dea0 65 22 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 49 66 e"></span>.<span.class="line">If
10dec0 45 78 70 72 20 26 6c 74 3b 2d 20 49 66 50 72 65 66 69 78 20 45 78 70 72 20 28 4b 45 59 57 4f 52 Expr.&lt;-.IfPrefix.Expr.(KEYWOR
10dee0 44 5f 65 6c 73 65 20 50 61 79 6c 6f 61 64 3f 20 45 78 70 72 29 3f 3c 2f 73 70 61 6e 3e 0a 3c 73 D_else.Payload?.Expr)?</span>.<s
10df00 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 pan.class="line"></span>.<span.c
10df20 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 42 6c 6f 63 6b 20 26 6c 74 3b 2d 20 4c 42 52 41 43 45 20 53 lass="line">Block.&lt;-.LBRACE.S
10df40 74 61 74 65 6d 65 6e 74 2a 20 52 42 52 41 43 45 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c tatement*.RBRACE</span>.<span.cl
10df60 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 ass="line"></span>.<span.class="
10df80 6c 69 6e 65 22 3e 4c 6f 6f 70 45 78 70 72 20 26 6c 74 3b 2d 20 4b 45 59 57 4f 52 44 5f 69 6e 6c line">LoopExpr.&lt;-.KEYWORD_inl
10dfa0 69 6e 65 3f 20 28 46 6f 72 45 78 70 72 20 2f 20 57 68 69 6c 65 45 78 70 72 29 3c 2f 73 70 61 6e ine?.(ForExpr./.WhileExpr)</span
10dfc0 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 >.<span.class="line"></span>.<sp
10dfe0 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 46 6f 72 45 78 70 72 20 26 6c 74 3b 2d 20 46 6f an.class="line">ForExpr.&lt;-.Fo
10e000 72 50 72 65 66 69 78 20 45 78 70 72 20 28 4b 45 59 57 4f 52 44 5f 65 6c 73 65 20 45 78 70 72 29 rPrefix.Expr.(KEYWORD_else.Expr)
10e020 3f 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 2f 73 70 ?</span>.<span.class="line"></sp
10e040 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 57 68 69 6c 65 45 78 70 72 an>.<span.class="line">WhileExpr
10e060 20 26 6c 74 3b 2d 20 57 68 69 6c 65 50 72 65 66 69 78 20 45 78 70 72 20 28 4b 45 59 57 4f 52 44 .&lt;-.WhilePrefix.Expr.(KEYWORD
10e080 5f 65 6c 73 65 20 50 61 79 6c 6f 61 64 3f 20 45 78 70 72 29 3f 3c 2f 73 70 61 6e 3e 0a 3c 73 70 _else.Payload?.Expr)?</span>.<sp
10e0a0 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c an.class="line"></span>.<span.cl
10e0c0 61 73 73 3d 22 6c 69 6e 65 22 3e 43 75 72 6c 79 53 75 66 66 69 78 45 78 70 72 20 26 6c 74 3b 2d ass="line">CurlySuffixExpr.&lt;-
10e0e0 20 54 79 70 65 45 78 70 72 20 49 6e 69 74 4c 69 73 74 3f 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e .TypeExpr.InitList?</span>.<span
10e100 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 .class="line"></span>.<span.clas
10e120 73 3d 22 6c 69 6e 65 22 3e 49 6e 69 74 4c 69 73 74 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 s="line">InitList</span>.<span.c
10e140 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 26 6c 74 3b 2d 20 4c 42 52 41 43 45 20 46 69 65 lass="line">....&lt;-.LBRACE.Fie
10e160 6c 64 49 6e 69 74 20 28 43 4f 4d 4d 41 20 46 69 65 6c 64 49 6e 69 74 29 2a 20 43 4f 4d 4d 41 3f ldInit.(COMMA.FieldInit)*.COMMA?
10e180 20 52 42 52 41 43 45 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 .RBRACE</span>.<span.class="line
10e1a0 22 3e 20 20 20 20 20 2f 20 4c 42 52 41 43 45 20 45 78 70 72 20 28 43 4f 4d 4d 41 20 45 78 70 72 ">...../.LBRACE.Expr.(COMMA.Expr
10e1c0 29 2a 20 43 4f 4d 4d 41 3f 20 52 42 52 41 43 45 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c )*.COMMA?.RBRACE</span>.<span.cl
10e1e0 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 20 2f 20 4c 42 52 41 43 45 20 52 42 52 41 43 45 3c ass="line">...../.LBRACE.RBRACE<
10e200 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 2f 73 70 61 6e /span>.<span.class="line"></span
10e220 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 54 79 70 65 45 78 70 72 20 26 6c >.<span.class="line">TypeExpr.&l
10e240 74 3b 2d 20 50 72 65 66 69 78 54 79 70 65 4f 70 2a 20 45 72 72 6f 72 55 6e 69 6f 6e 45 78 70 72 t;-.PrefixTypeOp*.ErrorUnionExpr
10e260 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 2f 73 70 61 </span>.<span.class="line"></spa
10e280 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 45 72 72 6f 72 55 6e 69 6f 6e n>.<span.class="line">ErrorUnion
10e2a0 45 78 70 72 20 26 6c 74 3b 2d 20 53 75 66 66 69 78 45 78 70 72 20 28 45 58 43 4c 41 4d 41 54 49 Expr.&lt;-.SuffixExpr.(EXCLAMATI
10e2c0 4f 4e 4d 41 52 4b 20 54 79 70 65 45 78 70 72 29 3f 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 ONMARK.TypeExpr)?</span>.<span.c
10e2e0 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d lass="line"></span>.<span.class=
10e300 22 6c 69 6e 65 22 3e 53 75 66 66 69 78 45 78 70 72 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 "line">SuffixExpr</span>.<span.c
10e320 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 26 6c 74 3b 2d 20 4b 45 59 57 4f 52 44 5f 61 73 lass="line">....&lt;-.KEYWORD_as
10e340 79 6e 63 20 50 72 69 6d 61 72 79 54 79 70 65 45 78 70 72 20 53 75 66 66 69 78 4f 70 2a 20 46 6e ync.PrimaryTypeExpr.SuffixOp*.Fn
10e360 43 61 6c 6c 41 72 67 75 6d 65 6e 74 73 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 CallArguments</span>.<span.class
10e380 3d 22 6c 69 6e 65 22 3e 20 20 20 20 20 2f 20 50 72 69 6d 61 72 79 54 79 70 65 45 78 70 72 20 28 ="line">...../.PrimaryTypeExpr.(
10e3a0 53 75 66 66 69 78 4f 70 20 2f 20 46 6e 43 61 6c 6c 41 72 67 75 6d 65 6e 74 73 29 2a 3c 2f 73 70 SuffixOp./.FnCallArguments)*</sp
10e3c0 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 2f 73 70 61 6e 3e 0a 3c an>.<span.class="line"></span>.<
10e3e0 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 50 72 69 6d 61 72 79 54 79 70 65 45 78 70 span.class="line">PrimaryTypeExp
10e400 72 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 r</span>.<span.class="line">....
10e420 26 6c 74 3b 2d 20 42 55 49 4c 54 49 4e 49 44 45 4e 54 49 46 49 45 52 20 46 6e 43 61 6c 6c 41 72 &lt;-.BUILTINIDENTIFIER.FnCallAr
10e440 67 75 6d 65 6e 74 73 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 guments</span>.<span.class="line
10e460 22 3e 20 20 20 20 20 2f 20 43 48 41 52 5f 4c 49 54 45 52 41 4c 3c 2f 73 70 61 6e 3e 0a 3c 73 70 ">...../.CHAR_LITERAL</span>.<sp
10e480 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 20 2f 20 43 6f 6e 74 61 69 6e 65 72 an.class="line">...../.Container
10e4a0 44 65 63 6c 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 Decl</span>.<span.class="line">.
10e4c0 20 20 20 20 2f 20 44 4f 54 20 49 44 45 4e 54 49 46 49 45 52 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 ..../.DOT.IDENTIFIER</span>.<spa
10e4e0 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 20 2f 20 44 4f 54 20 49 6e 69 74 4c 69 n.class="line">...../.DOT.InitLi
10e500 73 74 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 st</span>.<span.class="line">...
10e520 20 20 2f 20 45 72 72 6f 72 53 65 74 44 65 63 6c 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c ../.ErrorSetDecl</span>.<span.cl
10e540 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 20 2f 20 46 4c 4f 41 54 3c 2f 73 70 61 6e 3e 0a 3c ass="line">...../.FLOAT</span>.<
10e560 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 20 2f 20 46 6e 50 72 6f 74 6f span.class="line">...../.FnProto
10e580 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 20 </span>.<span.class="line">.....
10e5a0 2f 20 47 72 6f 75 70 65 64 45 78 70 72 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 /.GroupedExpr</span>.<span.class
10e5c0 3d 22 6c 69 6e 65 22 3e 20 20 20 20 20 2f 20 4c 61 62 65 6c 65 64 54 79 70 65 45 78 70 72 3c 2f ="line">...../.LabeledTypeExpr</
10e5e0 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 20 2f 20 span>.<span.class="line">...../.
10e600 49 44 45 4e 54 49 46 49 45 52 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c IDENTIFIER</span>.<span.class="l
10e620 69 6e 65 22 3e 20 20 20 20 20 2f 20 49 66 54 79 70 65 45 78 70 72 3c 2f 73 70 61 6e 3e 0a 3c 73 ine">...../.IfTypeExpr</span>.<s
10e640 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 20 2f 20 49 4e 54 45 47 45 52 3c pan.class="line">...../.INTEGER<
10e660 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 20 2f /span>.<span.class="line">...../
10e680 20 4b 45 59 57 4f 52 44 5f 63 6f 6d 70 74 69 6d 65 20 54 79 70 65 45 78 70 72 3c 2f 73 70 61 6e .KEYWORD_comptime.TypeExpr</span
10e6a0 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 20 2f 20 4b 45 59 57 >.<span.class="line">...../.KEYW
10e6c0 4f 52 44 5f 65 72 72 6f 72 20 44 4f 54 20 49 44 45 4e 54 49 46 49 45 52 3c 2f 73 70 61 6e 3e 0a ORD_error.DOT.IDENTIFIER</span>.
10e6e0 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 20 2f 20 4b 45 59 57 4f 52 <span.class="line">...../.KEYWOR
10e700 44 5f 61 6e 79 66 72 61 6d 65 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c D_anyframe</span>.<span.class="l
10e720 69 6e 65 22 3e 20 20 20 20 20 2f 20 4b 45 59 57 4f 52 44 5f 75 6e 72 65 61 63 68 61 62 6c 65 3c ine">...../.KEYWORD_unreachable<
10e740 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 20 2f /span>.<span.class="line">...../
10e760 20 53 54 52 49 4e 47 4c 49 54 45 52 41 4c 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 .STRINGLITERAL</span>.<span.clas
10e780 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 20 2f 20 53 77 69 74 63 68 45 78 70 72 3c 2f 73 70 61 6e s="line">...../.SwitchExpr</span
10e7a0 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 >.<span.class="line"></span>.<sp
10e7c0 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 43 6f 6e 74 61 69 6e 65 72 44 65 63 6c 20 26 6c an.class="line">ContainerDecl.&l
10e7e0 74 3b 2d 20 28 4b 45 59 57 4f 52 44 5f 65 78 74 65 72 6e 20 2f 20 4b 45 59 57 4f 52 44 5f 70 61 t;-.(KEYWORD_extern./.KEYWORD_pa
10e800 63 6b 65 64 29 3f 20 43 6f 6e 74 61 69 6e 65 72 44 65 63 6c 41 75 74 6f 3c 2f 73 70 61 6e 3e 0a cked)?.ContainerDeclAuto</span>.
10e820 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e <span.class="line"></span>.<span
10e840 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 45 72 72 6f 72 53 65 74 44 65 63 6c 20 26 6c 74 3b 2d .class="line">ErrorSetDecl.&lt;-
10e860 20 4b 45 59 57 4f 52 44 5f 65 72 72 6f 72 20 4c 42 52 41 43 45 20 49 64 65 6e 74 69 66 69 65 72 .KEYWORD_error.LBRACE.Identifier
10e880 4c 69 73 74 20 52 42 52 41 43 45 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 List.RBRACE</span>.<span.class="
10e8a0 6c 69 6e 65 22 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 line"></span>.<span.class="line"
10e8c0 3e 47 72 6f 75 70 65 64 45 78 70 72 20 26 6c 74 3b 2d 20 4c 50 41 52 45 4e 20 45 78 70 72 20 52 >GroupedExpr.&lt;-.LPAREN.Expr.R
10e8e0 50 41 52 45 4e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e PAREN</span>.<span.class="line">
10e900 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 49 66 54 79 70 </span>.<span.class="line">IfTyp
10e920 65 45 78 70 72 20 26 6c 74 3b 2d 20 49 66 50 72 65 66 69 78 20 54 79 70 65 45 78 70 72 20 28 4b eExpr.&lt;-.IfPrefix.TypeExpr.(K
10e940 45 59 57 4f 52 44 5f 65 6c 73 65 20 50 61 79 6c 6f 61 64 3f 20 54 79 70 65 45 78 70 72 29 3f 3c EYWORD_else.Payload?.TypeExpr)?<
10e960 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 2f 73 70 61 6e /span>.<span.class="line"></span
10e980 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 4c 61 62 65 6c 65 64 54 79 70 65 >.<span.class="line">LabeledType
10e9a0 45 78 70 72 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 Expr</span>.<span.class="line">.
10e9c0 20 20 20 26 6c 74 3b 2d 20 42 6c 6f 63 6b 4c 61 62 65 6c 20 42 6c 6f 63 6b 3c 2f 73 70 61 6e 3e ...&lt;-.BlockLabel.Block</span>
10e9e0 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 20 2f 20 42 6c 6f 63 6b .<span.class="line">...../.Block
10ea00 4c 61 62 65 6c 3f 20 4c 6f 6f 70 54 79 70 65 45 78 70 72 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e Label?.LoopTypeExpr</span>.<span
10ea20 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 .class="line"></span>.<span.clas
10ea40 73 3d 22 6c 69 6e 65 22 3e 4c 6f 6f 70 54 79 70 65 45 78 70 72 20 26 6c 74 3b 2d 20 4b 45 59 57 s="line">LoopTypeExpr.&lt;-.KEYW
10ea60 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 69 6c 65 ORD_inline?.(ForTypeExpr./.While
10ea80 54 79 70 65 45 78 70 72 29 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 TypeExpr)</span>.<span.class="li
10eaa0 6e 65 22 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 46 ne"></span>.<span.class="line">F
10eac0 6f 72 54 79 70 65 45 78 70 72 20 26 6c 74 3b 2d 20 46 6f 72 50 72 65 66 69 78 20 54 79 70 65 45 orTypeExpr.&lt;-.ForPrefix.TypeE
10eae0 78 70 72 20 28 4b 45 59 57 4f 52 44 5f 65 6c 73 65 20 54 79 70 65 45 78 70 72 29 3f 3c 2f 73 70 xpr.(KEYWORD_else.TypeExpr)?</sp
10eb00 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 2f 73 70 61 6e 3e 0a 3c an>.<span.class="line"></span>.<
10eb20 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 57 68 69 6c 65 54 79 70 65 45 78 70 72 20 span.class="line">WhileTypeExpr.
10eb40 26 6c 74 3b 2d 20 57 68 69 6c 65 50 72 65 66 69 78 20 54 79 70 65 45 78 70 72 20 28 4b 45 59 57 &lt;-.WhilePrefix.TypeExpr.(KEYW
10eb60 4f 52 44 5f 65 6c 73 65 20 50 61 79 6c 6f 61 64 3f 20 54 79 70 65 45 78 70 72 29 3f 3c 2f 73 70 ORD_else.Payload?.TypeExpr)?</sp
10eb80 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 2f 73 70 61 6e 3e 0a 3c an>.<span.class="line"></span>.<
10eba0 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 53 77 69 74 63 68 45 78 70 72 20 26 6c 74 span.class="line">SwitchExpr.&lt
10ebc0 3b 2d 20 4b 45 59 57 4f 52 44 5f 73 77 69 74 63 68 20 4c 50 41 52 45 4e 20 45 78 70 72 20 52 50 ;-.KEYWORD_switch.LPAREN.Expr.RP
10ebe0 41 52 45 4e 20 4c 42 52 41 43 45 20 53 77 69 74 63 68 50 72 6f 6e 67 4c 69 73 74 20 52 42 52 41 AREN.LBRACE.SwitchProngList.RBRA
10ec00 43 45 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 2f 73 CE</span>.<span.class="line"></s
10ec20 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 23 20 2a 2a 2a 20 41 73 pan>.<span.class="line">#.***.As
10ec40 73 65 6d 62 6c 79 20 2a 2a 2a 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c sembly.***</span>.<span.class="l
10ec60 69 6e 65 22 3e 41 73 6d 45 78 70 72 20 26 6c 74 3b 2d 20 4b 45 59 57 4f 52 44 5f 61 73 6d 20 4b ine">AsmExpr.&lt;-.KEYWORD_asm.K
10ec80 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
10eca0 4f 75 74 70 75 74 3f 20 52 50 41 52 45 4e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 Output?.RPAREN</span>.<span.clas
10ecc0 73 3d 22 6c 69 6e 65 22 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 s="line"></span>.<span.class="li
10ece0 6e 65 22 3e 41 73 6d 4f 75 74 70 75 74 20 26 6c 74 3b 2d 20 43 4f 4c 4f 4e 20 41 73 6d 4f 75 74 ne">AsmOutput.&lt;-.COLON.AsmOut
10ed00 70 75 74 4c 69 73 74 20 41 73 6d 49 6e 70 75 74 3f 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 putList.AsmInput?</span>.<span.c
10ed20 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d lass="line"></span>.<span.class=
10ed40 22 6c 69 6e 65 22 3e 41 73 6d 4f 75 74 70 75 74 49 74 65 6d 20 26 6c 74 3b 2d 20 4c 42 52 41 43 "line">AsmOutputItem.&lt;-.LBRAC
10ed60 4b 45 54 20 49 44 45 4e 54 49 46 49 45 52 20 52 42 52 41 43 4b 45 54 20 53 54 52 49 4e 47 4c 49 KET.IDENTIFIER.RBRACKET.STRINGLI
10ed80 54 45 52 41 4c 20 4c 50 41 52 45 4e 20 28 4d 49 4e 55 53 52 41 52 52 4f 57 20 54 79 70 65 45 78 TERAL.LPAREN.(MINUSRARROW.TypeEx
10eda0 70 72 20 2f 20 49 44 45 4e 54 49 46 49 45 52 29 20 52 50 41 52 45 4e 3c 2f 73 70 61 6e 3e 0a 3c pr./.IDENTIFIER).RPAREN</span>.<
10edc0 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 span.class="line"></span>.<span.
10ede0 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 41 73 6d 49 6e 70 75 74 20 26 6c 74 3b 2d 20 43 4f 4c 4f class="line">AsmInput.&lt;-.COLO
10ee00 4e 20 41 73 6d 49 6e 70 75 74 4c 69 73 74 20 41 73 6d 43 6c 6f 62 62 65 72 73 3f 3c 2f 73 70 61 N.AsmInputList.AsmClobbers?</spa
10ee20 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 n>.<span.class="line"></span>.<s
10ee40 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 41 73 6d 49 6e 70 75 74 49 74 65 6d 20 26 6c pan.class="line">AsmInputItem.&l
10ee60 74 3b 2d 20 4c 42 52 41 43 4b 45 54 20 49 44 45 4e 54 49 46 49 45 52 20 52 42 52 41 43 4b 45 54 t;-.LBRACKET.IDENTIFIER.RBRACKET
10ee80 20 53 54 52 49 4e 47 4c 49 54 45 52 41 4c 20 4c 50 41 52 45 4e 20 45 78 70 72 20 52 50 41 52 45 .STRINGLITERAL.LPAREN.Expr.RPARE
10eea0 4e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 2f 73 70 N</span>.<span.class="line"></sp
10eec0 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 41 73 6d 43 6c 6f 62 62 65 an>.<span.class="line">AsmClobbe
10eee0 72 73 20 26 6c 74 3b 2d 20 43 4f 4c 4f 4e 20 53 74 72 69 6e 67 4c 69 73 74 3c 2f 73 70 61 6e 3e rs.&lt;-.COLON.StringList</span>
10ef00 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 .<span.class="line"></span>.<spa
10ef20 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 23 20 2a 2a 2a 20 48 65 6c 70 65 72 20 67 72 61 6d n.class="line">#.***.Helper.gram
10ef40 6d 61 72 20 2a 2a 2a 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 mar.***</span>.<span.class="line
10ef60 22 3e 42 72 65 61 6b 4c 61 62 65 6c 20 26 6c 74 3b 2d 20 43 4f 4c 4f 4e 20 49 44 45 4e 54 49 46 ">BreakLabel.&lt;-.COLON.IDENTIF
10ef80 49 45 52 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 2f IER</span>.<span.class="line"></
10efa0 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 42 6c 6f 63 6b 4c 61 span>.<span.class="line">BlockLa
10efc0 62 65 6c 20 26 6c 74 3b 2d 20 49 44 45 4e 54 49 46 49 45 52 20 43 4f 4c 4f 4e 3c 2f 73 70 61 6e bel.&lt;-.IDENTIFIER.COLON</span
10efe0 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 >.<span.class="line"></span>.<sp
10f000 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 46 69 65 6c 64 49 6e 69 74 20 26 6c 74 3b 2d 20 an.class="line">FieldInit.&lt;-.
10f020 44 4f 54 20 49 44 45 4e 54 49 46 49 45 52 20 45 51 55 41 4c 20 45 78 70 72 3c 2f 73 70 61 6e 3e DOT.IDENTIFIER.EQUAL.Expr</span>
10f040 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 .<span.class="line"></span>.<spa
10f060 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 57 68 69 6c 65 43 6f 6e 74 69 6e 75 65 45 78 70 72 n.class="line">WhileContinueExpr
10f080 20 26 6c 74 3b 2d 20 43 4f 4c 4f 4e 20 4c 50 41 52 45 4e 20 41 73 73 69 67 6e 45 78 70 72 20 52 .&lt;-.COLON.LPAREN.AssignExpr.R
10f0a0 50 41 52 45 4e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e PAREN</span>.<span.class="line">
10f0c0 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 4c 69 6e 6b 53 </span>.<span.class="line">LinkS
10f0e0 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 74 69 6f 6e ection.&lt;-.KEYWORD_linksection
10f100 20 4c 50 41 52 45 4e 20 45 78 70 72 20 52 50 41 52 45 4e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e .LPAREN.Expr.RPAREN</span>.<span
10f120 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 .class="line"></span>.<span.clas
10f140 73 3d 22 6c 69 6e 65 22 3e 23 20 46 6e 20 73 70 65 63 69 66 69 63 3c 2f 73 70 61 6e 3e 0a 3c 73 s="line">#.Fn.specific</span>.<s
10f160 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 43 61 6c 6c 43 6f 6e 76 20 26 6c 74 3b 2d 20 pan.class="line">CallConv.&lt;-.
10f180 4b 45 59 57 4f 52 44 5f 63 61 6c 6c 63 6f 6e 76 20 4c 50 41 52 45 4e 20 45 78 70 72 20 52 50 41 KEYWORD_callconv.LPAREN.Expr.RPA
10f1a0 52 45 4e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 2f REN</span>.<span.class="line"></
10f1c0 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 50 61 72 61 6d 44 65 span>.<span.class="line">ParamDe
10f1e0 63 6c 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 cl</span>.<span.class="line">...
10f200 20 26 6c 74 3b 2d 20 64 6f 63 5f 63 6f 6d 6d 65 6e 74 3f 20 28 4b 45 59 57 4f 52 44 5f 6e 6f 61 .&lt;-.doc_comment?.(KEYWORD_noa
10f220 6c 69 61 73 20 2f 20 4b 45 59 57 4f 52 44 5f 63 6f 6d 70 74 69 6d 65 29 3f 20 28 49 44 45 4e 54 lias./.KEYWORD_comptime)?.(IDENT
10f240 49 46 49 45 52 20 43 4f 4c 4f 4e 29 3f 20 50 61 72 61 6d 54 79 70 65 3c 2f 73 70 61 6e 3e 0a 3c IFIER.COLON)?.ParamType</span>.<
10f260 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 20 2f 20 44 4f 54 33 3c 2f 73 span.class="line">...../.DOT3</s
10f280 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 2f 73 70 61 6e 3e 0a pan>.<span.class="line"></span>.
10f2a0 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 50 61 72 61 6d 54 79 70 65 3c 2f 73 70 <span.class="line">ParamType</sp
10f2c0 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 26 6c 74 3b 2d an>.<span.class="line">....&lt;-
10f2e0 20 4b 45 59 57 4f 52 44 5f 61 6e 79 74 79 70 65 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c .KEYWORD_anytype</span>.<span.cl
10f300 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 20 2f 20 54 79 70 65 45 78 70 72 3c 2f 73 70 61 6e ass="line">...../.TypeExpr</span
10f320 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 >.<span.class="line"></span>.<sp
10f340 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 23 20 43 6f 6e 74 72 6f 6c 20 66 6c 6f 77 20 70 an.class="line">#.Control.flow.p
10f360 72 65 66 69 78 65 73 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 refixes</span>.<span.class="line
10f380 22 3e 49 66 50 72 65 66 69 78 20 26 6c 74 3b 2d 20 4b 45 59 57 4f 52 44 5f 69 66 20 4c 50 41 52 ">IfPrefix.&lt;-.KEYWORD_if.LPAR
10f3a0 45 4e 20 45 78 70 72 20 52 50 41 52 45 4e 20 50 74 72 50 61 79 6c 6f 61 64 3f 3c 2f 73 70 61 6e EN.Expr.RPAREN.PtrPayload?</span
10f3c0 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 >.<span.class="line"></span>.<sp
10f3e0 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 57 68 69 6c 65 50 72 65 66 69 78 20 26 6c 74 3b an.class="line">WhilePrefix.&lt;
10f400 2d 20 4b 45 59 57 4f 52 44 5f 77 68 69 6c 65 20 4c 50 41 52 45 4e 20 45 78 70 72 20 52 50 41 52 -.KEYWORD_while.LPAREN.Expr.RPAR
10f420 45 4e 20 50 74 72 50 61 79 6c 6f 61 64 3f 20 57 68 69 6c 65 43 6f 6e 74 69 6e 75 65 45 78 70 72 EN.PtrPayload?.WhileContinueExpr
10f440 3f 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 2f 73 70 ?</span>.<span.class="line"></sp
10f460 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 46 6f 72 50 72 65 66 69 78 an>.<span.class="line">ForPrefix
10f480 20 26 6c 74 3b 2d 20 4b 45 59 57 4f 52 44 5f 66 6f 72 20 4c 50 41 52 45 4e 20 45 78 70 72 20 52 .&lt;-.KEYWORD_for.LPAREN.Expr.R
10f4a0 50 41 52 45 4e 20 50 74 72 49 6e 64 65 78 50 61 79 6c 6f 61 64 3c 2f 73 70 61 6e 3e 0a 3c 73 70 PAREN.PtrIndexPayload</span>.<sp
10f4c0 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c an.class="line"></span>.<span.cl
10f4e0 61 73 73 3d 22 6c 69 6e 65 22 3e 23 20 50 61 79 6c 6f 61 64 73 3c 2f 73 70 61 6e 3e 0a 3c 73 70 ass="line">#.Payloads</span>.<sp
10f500 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 50 61 79 6c 6f 61 64 20 26 6c 74 3b 2d 20 50 49 an.class="line">Payload.&lt;-.PI
10f520 50 45 20 49 44 45 4e 54 49 46 49 45 52 20 50 49 50 45 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 PE.IDENTIFIER.PIPE</span>.<span.
10f540 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 class="line"></span>.<span.class
10f560 3d 22 6c 69 6e 65 22 3e 50 74 72 50 61 79 6c 6f 61 64 20 26 6c 74 3b 2d 20 50 49 50 45 20 41 53 ="line">PtrPayload.&lt;-.PIPE.AS
10f580 54 45 52 49 53 4b 3f 20 49 44 45 4e 54 49 46 49 45 52 20 50 49 50 45 3c 2f 73 70 61 6e 3e 0a 3c TERISK?.IDENTIFIER.PIPE</span>.<
10f5a0 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 span.class="line"></span>.<span.
10f5c0 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 50 74 72 49 6e 64 65 78 50 61 79 6c 6f 61 64 20 26 6c 74 class="line">PtrIndexPayload.&lt
10f5e0 3b 2d 20 50 49 50 45 20 41 53 54 45 52 49 53 4b 3f 20 49 44 45 4e 54 49 46 49 45 52 20 28 43 4f ;-.PIPE.ASTERISK?.IDENTIFIER.(CO
10f600 4d 4d 41 20 49 44 45 4e 54 49 46 49 45 52 29 3f 20 50 49 50 45 3c 2f 73 70 61 6e 3e 0a 3c 73 70 MMA.IDENTIFIER)?.PIPE</span>.<sp
10f620 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c an.class="line"></span>.<span.cl
10f640 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 ass="line"></span>.<span.class="
10f660 6c 69 6e 65 22 3e 23 20 53 77 69 74 63 68 20 73 70 65 63 69 66 69 63 3c 2f 73 70 61 6e 3e 0a 3c line">#.Switch.specific</span>.<
10f680 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 53 77 69 74 63 68 50 72 6f 6e 67 20 26 6c span.class="line">SwitchProng.&l
10f6a0 74 3b 2d 20 53 77 69 74 63 68 43 61 73 65 20 45 51 55 41 4c 52 41 52 52 4f 57 20 50 74 72 50 61 t;-.SwitchCase.EQUALRARROW.PtrPa
10f6c0 79 6c 6f 61 64 3f 20 41 73 73 69 67 6e 45 78 70 72 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 yload?.AssignExpr</span>.<span.c
10f6e0 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d lass="line"></span>.<span.class=
10f700 22 6c 69 6e 65 22 3e 53 77 69 74 63 68 43 61 73 65 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 "line">SwitchCase</span>.<span.c
10f720 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 26 6c 74 3b 2d 20 53 77 69 74 63 68 49 74 65 6d lass="line">....&lt;-.SwitchItem
10f740 20 28 43 4f 4d 4d 41 20 53 77 69 74 63 68 49 74 65 6d 29 2a 20 43 4f 4d 4d 41 3f 3c 2f 73 70 61 .(COMMA.SwitchItem)*.COMMA?</spa
10f760 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 20 2f 20 4b 45 59 n>.<span.class="line">...../.KEY
10f780 57 4f 52 44 5f 65 6c 73 65 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 WORD_else</span>.<span.class="li
10f7a0 6e 65 22 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 53 ne"></span>.<span.class="line">S
10f7c0 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 70 72 29 witchItem.&lt;-.Expr.(DOT3.Expr)
10f7e0 3f 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 2f 73 70 ?</span>.<span.class="line"></sp
10f800 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 23 20 4f 70 65 72 61 74 6f an>.<span.class="line">#.Operato
10f820 72 73 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 41 73 73 rs</span>.<span.class="line">Ass
10f840 69 67 6e 4f 70 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e ignOp</span>.<span.class="line">
10f860 20 20 20 20 26 6c 74 3b 2d 20 41 53 54 45 52 49 53 4b 45 51 55 41 4c 3c 2f 73 70 61 6e 3e 0a 3c ....&lt;-.ASTERISKEQUAL</span>.<
10f880 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 20 2f 20 53 4c 41 53 48 45 51 span.class="line">...../.SLASHEQ
10f8a0 55 41 4c 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 UAL</span>.<span.class="line">..
10f8c0 20 20 20 2f 20 50 45 52 43 45 4e 54 45 51 55 41 4c 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 .../.PERCENTEQUAL</span>.<span.c
10f8e0 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 20 2f 20 50 4c 55 53 45 51 55 41 4c 3c 2f 73 70 lass="line">...../.PLUSEQUAL</sp
10f900 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 20 2f 20 4d 49 an>.<span.class="line">...../.MI
10f920 4e 55 53 45 51 55 41 4c 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e NUSEQUAL</span>.<span.class="lin
10f940 65 22 3e 20 20 20 20 20 2f 20 4c 41 52 52 4f 57 32 45 51 55 41 4c 3c 2f 73 70 61 6e 3e 0a 3c 73 e">...../.LARROW2EQUAL</span>.<s
10f960 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 20 2f 20 52 41 52 52 4f 57 32 45 pan.class="line">...../.RARROW2E
10f980 51 55 41 4c 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 QUAL</span>.<span.class="line">.
10f9a0 20 20 20 20 2f 20 41 4d 50 45 52 53 41 4e 44 45 51 55 41 4c 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 ..../.AMPERSANDEQUAL</span>.<spa
10f9c0 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 20 2f 20 43 41 52 45 54 45 51 55 41 4c n.class="line">...../.CARETEQUAL
10f9e0 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 20 </span>.<span.class="line">.....
10fa00 2f 20 50 49 50 45 45 51 55 41 4c 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 /.PIPEEQUAL</span>.<span.class="
10fa20 6c 69 6e 65 22 3e 20 20 20 20 20 2f 20 41 53 54 45 52 49 53 4b 50 45 52 43 45 4e 54 45 51 55 41 line">...../.ASTERISKPERCENTEQUA
10fa40 4c 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 L</span>.<span.class="line">....
10fa60 20 2f 20 50 4c 55 53 50 45 52 43 45 4e 54 45 51 55 41 4c 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e ./.PLUSPERCENTEQUAL</span>.<span
10fa80 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 20 2f 20 4d 49 4e 55 53 50 45 52 43 45 4e .class="line">...../.MINUSPERCEN
10faa0 54 45 51 55 41 4c 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 TEQUAL</span>.<span.class="line"
10fac0 3e 20 20 20 20 20 2f 20 45 51 55 41 4c 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 >...../.EQUAL</span>.<span.class
10fae0 3d 22 6c 69 6e 65 22 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e ="line"></span>.<span.class="lin
10fb00 65 22 3e 43 6f 6d 70 61 72 65 4f 70 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d e">CompareOp</span>.<span.class=
10fb20 22 6c 69 6e 65 22 3e 20 20 20 20 26 6c 74 3b 2d 20 45 51 55 41 4c 45 51 55 41 4c 3c 2f 73 70 61 "line">....&lt;-.EQUALEQUAL</spa
10fb40 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 20 2f 20 45 58 43 n>.<span.class="line">...../.EXC
10fb60 4c 41 4d 41 54 49 4f 4e 4d 41 52 4b 45 51 55 41 4c 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 LAMATIONMARKEQUAL</span>.<span.c
10fb80 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 20 2f 20 4c 41 52 52 4f 57 3c 2f 73 70 61 6e 3e lass="line">...../.LARROW</span>
10fba0 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 20 2f 20 52 41 52 52 4f .<span.class="line">...../.RARRO
10fbc0 57 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 W</span>.<span.class="line">....
10fbe0 20 2f 20 4c 41 52 52 4f 57 45 51 55 41 4c 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 ./.LARROWEQUAL</span>.<span.clas
10fc00 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 20 2f 20 52 41 52 52 4f 57 45 51 55 41 4c 3c 2f 73 70 61 s="line">...../.RARROWEQUAL</spa
10fc20 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 n>.<span.class="line"></span>.<s
10fc40 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 42 69 74 77 69 73 65 4f 70 3c 2f 73 70 61 6e pan.class="line">BitwiseOp</span
10fc60 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 26 6c 74 3b 2d 20 41 >.<span.class="line">....&lt;-.A
10fc80 4d 50 45 52 53 41 4e 44 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e MPERSAND</span>.<span.class="lin
10fca0 65 22 3e 20 20 20 20 20 2f 20 43 41 52 45 54 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 e">...../.CARET</span>.<span.cla
10fcc0 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 20 2f 20 50 49 50 45 3c 2f 73 70 61 6e 3e 0a 3c 73 70 ss="line">...../.PIPE</span>.<sp
10fce0 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 20 2f 20 4b 45 59 57 4f 52 44 5f 6f an.class="line">...../.KEYWORD_o
10fd00 72 65 6c 73 65 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e relse</span>.<span.class="line">
10fd20 20 20 20 20 20 2f 20 4b 45 59 57 4f 52 44 5f 63 61 74 63 68 20 50 61 79 6c 6f 61 64 3f 3c 2f 73 ...../.KEYWORD_catch.Payload?</s
10fd40 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 2f 73 70 61 6e 3e 0a pan>.<span.class="line"></span>.
10fd60 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 42 69 74 53 68 69 66 74 4f 70 3c 2f 73 <span.class="line">BitShiftOp</s
10fd80 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 26 6c 74 3b pan>.<span.class="line">....&lt;
10fda0 2d 20 4c 41 52 52 4f 57 32 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 -.LARROW2</span>.<span.class="li
10fdc0 6e 65 22 3e 20 20 20 20 20 2f 20 52 41 52 52 4f 57 32 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 ne">...../.RARROW2</span>.<span.
10fde0 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 class="line"></span>.<span.class
10fe00 3d 22 6c 69 6e 65 22 3e 41 64 64 69 74 69 6f 6e 4f 70 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 ="line">AdditionOp</span>.<span.
10fe20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 26 6c 74 3b 2d 20 50 4c 55 53 3c 2f 73 70 61 class="line">....&lt;-.PLUS</spa
10fe40 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 20 2f 20 4d 49 4e n>.<span.class="line">...../.MIN
10fe60 55 53 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 US</span>.<span.class="line">...
10fe80 20 20 2f 20 50 4c 55 53 32 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 ../.PLUS2</span>.<span.class="li
10fea0 6e 65 22 3e 20 20 20 20 20 2f 20 50 4c 55 53 50 45 52 43 45 4e 54 3c 2f 73 70 61 6e 3e 0a 3c 73 ne">...../.PLUSPERCENT</span>.<s
10fec0 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 20 2f 20 4d 49 4e 55 53 50 45 52 pan.class="line">...../.MINUSPER
10fee0 43 45 4e 54 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c CENT</span>.<span.class="line"><
10ff00 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 4d 75 6c 74 69 70 /span>.<span.class="line">Multip
10ff20 6c 79 4f 70 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 lyOp</span>.<span.class="line">.
10ff40 20 20 20 26 6c 74 3b 2d 20 50 49 50 45 32 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 ...&lt;-.PIPE2</span>.<span.clas
10ff60 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 20 2f 20 41 53 54 45 52 49 53 4b 3c 2f 73 70 61 6e 3e 0a s="line">...../.ASTERISK</span>.
10ff80 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 20 2f 20 53 4c 41 53 48 3c <span.class="line">...../.SLASH<
10ffa0 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 20 2f /span>.<span.class="line">...../
10ffc0 20 50 45 52 43 45 4e 54 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e .PERCENT</span>.<span.class="lin
10ffe0 65 22 3e 20 20 20 20 20 2f 20 41 53 54 45 52 49 53 4b 32 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e e">...../.ASTERISK2</span>.<span
110000 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 20 2f 20 41 53 54 45 52 49 53 4b 50 45 52 .class="line">...../.ASTERISKPER
110020 43 45 4e 54 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c CENT</span>.<span.class="line"><
110040 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 50 72 65 66 69 78 /span>.<span.class="line">Prefix
110060 4f 70 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 Op</span>.<span.class="line">...
110080 20 26 6c 74 3b 2d 20 45 58 43 4c 41 4d 41 54 49 4f 4e 4d 41 52 4b 3c 2f 73 70 61 6e 3e 0a 3c 73 .&lt;-.EXCLAMATIONMARK</span>.<s
1100a0 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 20 2f 20 4d 49 4e 55 53 3c 2f 73 pan.class="line">...../.MINUS</s
1100c0 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 20 2f 20 54 pan>.<span.class="line">...../.T
1100e0 49 4c 44 45 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 ILDE</span>.<span.class="line">.
110100 20 20 20 20 2f 20 4d 49 4e 55 53 50 45 52 43 45 4e 54 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 ..../.MINUSPERCENT</span>.<span.
110120 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 20 2f 20 41 4d 50 45 52 53 41 4e 44 3c 2f 73 class="line">...../.AMPERSAND</s
110140 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 20 2f 20 4b pan>.<span.class="line">...../.K
110160 45 59 57 4f 52 44 5f 74 72 79 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c EYWORD_try</span>.<span.class="l
110180 69 6e 65 22 3e 20 20 20 20 20 2f 20 4b 45 59 57 4f 52 44 5f 61 77 61 69 74 3c 2f 73 70 61 6e 3e ine">...../.KEYWORD_await</span>
1101a0 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 .<span.class="line"></span>.<spa
1101c0 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 50 72 65 66 69 78 54 79 70 65 4f 70 3c 2f 73 70 61 n.class="line">PrefixTypeOp</spa
1101e0 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 26 6c 74 3b 2d 20 n>.<span.class="line">....&lt;-.
110200 51 55 45 53 54 49 4f 4e 4d 41 52 4b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d QUESTIONMARK</span>.<span.class=
110220 22 6c 69 6e 65 22 3e 20 20 20 20 20 2f 20 4b 45 59 57 4f 52 44 5f 61 6e 79 66 72 61 6d 65 20 4d "line">...../.KEYWORD_anyframe.M
110240 49 4e 55 53 52 41 52 52 4f 57 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c INUSRARROW</span>.<span.class="l
110260 69 6e 65 22 3e 20 20 20 20 20 2f 20 53 6c 69 63 65 54 79 70 65 53 74 61 72 74 20 28 42 79 74 65 ine">...../.SliceTypeStart.(Byte
110280 41 6c 69 67 6e 20 2f 20 4b 45 59 57 4f 52 44 5f 63 6f 6e 73 74 20 2f 20 4b 45 59 57 4f 52 44 5f Align./.KEYWORD_const./.KEYWORD_
1102a0 76 6f 6c 61 74 69 6c 65 20 2f 20 4b 45 59 57 4f 52 44 5f 61 6c 6c 6f 77 7a 65 72 6f 29 2a 3c 2f volatile./.KEYWORD_allowzero)*</
1102c0 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 20 2f 20 span>.<span.class="line">...../.
1102e0 50 74 72 54 79 70 65 53 74 61 72 74 20 28 4b 45 59 57 4f 52 44 5f 61 6c 69 67 6e 20 4c 50 41 52 PtrTypeStart.(KEYWORD_align.LPAR
110300 45 4e 20 45 78 70 72 20 28 43 4f 4c 4f 4e 20 49 4e 54 45 47 45 52 20 43 4f 4c 4f 4e 20 49 4e 54 EN.Expr.(COLON.INTEGER.COLON.INT
110320 45 47 45 52 29 3f 20 52 50 41 52 45 4e 20 2f 20 4b 45 59 57 4f 52 44 5f 63 6f 6e 73 74 20 2f 20 EGER)?.RPAREN./.KEYWORD_const./.
110340 4b 45 59 57 4f 52 44 5f 76 6f 6c 61 74 69 6c 65 20 2f 20 4b 45 59 57 4f 52 44 5f 61 6c 6c 6f 77 KEYWORD_volatile./.KEYWORD_allow
110360 7a 65 72 6f 29 2a 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 zero)*</span>.<span.class="line"
110380 3e 20 20 20 20 20 2f 20 41 72 72 61 79 54 79 70 65 53 74 61 72 74 3c 2f 73 70 61 6e 3e 0a 3c 73 >...../.ArrayTypeStart</span>.<s
1103a0 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 pan.class="line"></span>.<span.c
1103c0 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 53 75 66 66 69 78 4f 70 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 lass="line">SuffixOp</span>.<spa
1103e0 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 26 6c 74 3b 2d 20 4c 42 52 41 43 4b 45 n.class="line">....&lt;-.LBRACKE
110400 54 20 45 78 70 72 20 28 44 4f 54 32 20 28 45 78 70 72 3f 20 28 43 4f 4c 4f 4e 20 45 78 70 72 29 T.Expr.(DOT2.(Expr?.(COLON.Expr)
110420 3f 29 3f 29 3f 20 52 42 52 41 43 4b 45 54 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 ?)?)?.RBRACKET</span>.<span.clas
110440 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 20 2f 20 44 4f 54 20 49 44 45 4e 54 49 46 49 45 52 3c 2f s="line">...../.DOT.IDENTIFIER</
110460 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 20 2f 20 span>.<span.class="line">...../.
110480 44 4f 54 41 53 54 45 52 49 53 4b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 DOTASTERISK</span>.<span.class="
1104a0 6c 69 6e 65 22 3e 20 20 20 20 20 2f 20 44 4f 54 51 55 45 53 54 49 4f 4e 4d 41 52 4b 3c 2f 73 70 line">...../.DOTQUESTIONMARK</sp
1104c0 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 2f 73 70 61 6e 3e 0a 3c an>.<span.class="line"></span>.<
1104e0 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 46 6e 43 61 6c 6c 41 72 67 75 6d 65 6e 74 span.class="line">FnCallArgument
110500 73 20 26 6c 74 3b 2d 20 4c 50 41 52 45 4e 20 45 78 70 72 4c 69 73 74 20 52 50 41 52 45 4e 3c 2f s.&lt;-.LPAREN.ExprList.RPAREN</
110520 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 2f 73 70 61 6e 3e span>.<span.class="line"></span>
110540 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 23 20 50 74 72 20 73 70 65 63 69 66 .<span.class="line">#.Ptr.specif
110560 69 63 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 53 6c 69 ic</span>.<span.class="line">Sli
110580 63 65 54 79 70 65 53 74 61 72 74 20 26 6c 74 3b 2d 20 4c 42 52 41 43 4b 45 54 20 28 43 4f 4c 4f ceTypeStart.&lt;-.LBRACKET.(COLO
1105a0 4e 20 45 78 70 72 29 3f 20 52 42 52 41 43 4b 45 54 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 N.Expr)?.RBRACKET</span>.<span.c
1105c0 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d lass="line"></span>.<span.class=
1105e0 22 6c 69 6e 65 22 3e 50 74 72 54 79 70 65 53 74 61 72 74 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e "line">PtrTypeStart</span>.<span
110600 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 26 6c 74 3b 2d 20 41 53 54 45 52 49 53 4b .class="line">....&lt;-.ASTERISK
110620 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 20 </span>.<span.class="line">.....
110640 2f 20 41 53 54 45 52 49 53 4b 32 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 /.ASTERISK2</span>.<span.class="
110660 6c 69 6e 65 22 3e 20 20 20 20 20 2f 20 4c 42 52 41 43 4b 45 54 20 41 53 54 45 52 49 53 4b 20 28 line">...../.LBRACKET.ASTERISK.(
110680 4c 45 54 54 45 52 43 20 2f 20 43 4f 4c 4f 4e 20 45 78 70 72 29 3f 20 52 42 52 41 43 4b 45 54 3c LETTERC./.COLON.Expr)?.RBRACKET<
1106a0 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 2f 73 70 61 6e /span>.<span.class="line"></span
1106c0 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 41 72 72 61 79 54 79 70 65 53 74 >.<span.class="line">ArrayTypeSt
1106e0 61 72 74 20 26 6c 74 3b 2d 20 4c 42 52 41 43 4b 45 54 20 45 78 70 72 20 28 43 4f 4c 4f 4e 20 45 art.&lt;-.LBRACKET.Expr.(COLON.E
110700 78 70 72 29 3f 20 52 42 52 41 43 4b 45 54 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 xpr)?.RBRACKET</span>.<span.clas
110720 73 3d 22 6c 69 6e 65 22 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 s="line"></span>.<span.class="li
110740 6e 65 22 3e 23 20 43 6f 6e 74 61 69 6e 65 72 44 65 63 6c 20 73 70 65 63 69 66 69 63 3c 2f 73 70 ne">#.ContainerDecl.specific</sp
110760 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 43 6f 6e 74 61 69 6e 65 72 an>.<span.class="line">Container
110780 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 65 DeclAuto.&lt;-.ContainerDeclType
1107a0 20 4c 42 52 41 43 45 20 63 6f 6e 74 61 69 6e 65 72 5f 64 6f 63 5f 63 6f 6d 6d 65 6e 74 3f 20 43 .LBRACE.container_doc_comment?.C
1107c0 6f 6e 74 61 69 6e 65 72 4d 65 6d 62 65 72 73 20 52 42 52 41 43 45 3c 2f 73 70 61 6e 3e 0a 3c 73 ontainerMembers.RBRACE</span>.<s
1107e0 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 pan.class="line"></span>.<span.c
110800 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 43 6f 6e 74 61 69 6e 65 72 44 65 63 6c 54 79 70 65 3c 2f 73 lass="line">ContainerDeclType</s
110820 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 26 6c 74 3b pan>.<span.class="line">....&lt;
110840 2d 20 4b 45 59 57 4f 52 44 5f 73 74 72 75 63 74 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c -.KEYWORD_struct</span>.<span.cl
110860 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 20 2f 20 4b 45 59 57 4f 52 44 5f 6f 70 61 71 75 65 ass="line">...../.KEYWORD_opaque
110880 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 20 </span>.<span.class="line">.....
1108a0 2f 20 4b 45 59 57 4f 52 44 5f 65 6e 75 6d 20 28 4c 50 41 52 45 4e 20 45 78 70 72 20 52 50 41 52 /.KEYWORD_enum.(LPAREN.Expr.RPAR
1108c0 45 4e 29 3f 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 EN)?</span>.<span.class="line">.
1108e0 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 28 4b 45 59 ..../.KEYWORD_union.(LPAREN.(KEY
110900 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 29 3f 20 WORD_enum.(LPAREN.Expr.RPAREN)?.
110920 2f 20 45 78 70 72 29 20 52 50 41 52 45 4e 29 3f 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c /.Expr).RPAREN)?</span>.<span.cl
110940 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 ass="line"></span>.<span.class="
110960 6c 69 6e 65 22 3e 23 20 41 6c 69 67 6e 6d 65 6e 74 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 line">#.Alignment</span>.<span.c
110980 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 42 79 74 65 41 6c 69 67 6e 20 26 6c 74 3b 2d 20 4b 45 59 57 lass="line">ByteAlign.&lt;-.KEYW
1109a0 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 3c 2f 73 70 ORD_align.LPAREN.Expr.RPAREN</sp
1109c0 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 2f 73 70 61 6e 3e 0a 3c an>.<span.class="line"></span>.<
1109e0 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 23 20 4c 69 73 74 73 3c 2f 73 70 61 6e 3e span.class="line">#.Lists</span>
110a00 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 49 64 65 6e 74 69 66 69 65 72 4c 69 .<span.class="line">IdentifierLi
110a20 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
110a40 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
110a60 45 52 29 3f 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c ER)?</span>.<span.class="line"><
110a80 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 53 77 69 74 63 68 /span>.<span.class="line">Switch
110aa0 50 72 6f 6e 67 4c 69 73 74 20 26 6c 74 3b 2d 20 28 53 77 69 74 63 68 50 72 6f 6e 67 20 43 4f 4d ProngList.&lt;-.(SwitchProng.COM
110ac0 4d 41 29 2a 20 53 77 69 74 63 68 50 72 6f 6e 67 3f 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 MA)*.SwitchProng?</span>.<span.c
110ae0 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d lass="line"></span>.<span.class=
110b00 22 6c 69 6e 65 22 3e 41 73 6d 4f 75 74 70 75 74 4c 69 73 74 20 26 6c 74 3b 2d 20 28 41 73 6d 4f "line">AsmOutputList.&lt;-.(AsmO
110b20 75 74 70 75 74 49 74 65 6d 20 43 4f 4d 4d 41 29 2a 20 41 73 6d 4f 75 74 70 75 74 49 74 65 6d 3f utputItem.COMMA)*.AsmOutputItem?
110b40 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 2f 73 70 61 </span>.<span.class="line"></spa
110b60 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 41 73 6d 49 6e 70 75 74 4c 69 n>.<span.class="line">AsmInputLi
110b80 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 29 2a 20 41 st.&lt;-.(AsmInputItem.COMMA)*.A
110ba0 73 6d 49 6e 70 75 74 49 74 65 6d 3f 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d smInputItem?</span>.<span.class=
110bc0 22 6c 69 6e 65 22 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 "line"></span>.<span.class="line
110be0 22 3e 53 74 72 69 6e 67 4c 69 73 74 20 26 6c 74 3b 2d 20 28 53 54 52 49 4e 47 4c 49 54 45 52 41 ">StringList.&lt;-.(STRINGLITERA
110c00 4c 20 43 4f 4d 4d 41 29 2a 20 53 54 52 49 4e 47 4c 49 54 45 52 41 4c 3f 3c 2f 73 70 61 6e 3e 0a L.COMMA)*.STRINGLITERAL?</span>.
110c20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e <span.class="line"></span>.<span
110c40 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 50 61 72 61 6d 44 65 63 6c 4c 69 73 74 20 26 6c 74 3b .class="line">ParamDeclList.&lt;
110c60 2d 20 28 50 61 72 61 6d 44 65 63 6c 20 43 4f 4d 4d 41 29 2a 20 50 61 72 61 6d 44 65 63 6c 3f 3c -.(ParamDecl.COMMA)*.ParamDecl?<
110c80 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 2f 73 70 61 6e /span>.<span.class="line"></span
110ca0 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 45 78 70 72 4c 69 73 74 20 26 6c >.<span.class="line">ExprList.&l
110cc0 74 3b 2d 20 28 45 78 70 72 20 43 4f 4d 4d 41 29 2a 20 45 78 70 72 3f 3c 2f 73 70 61 6e 3e 0a 3c t;-.(Expr.COMMA)*.Expr?</span>.<
110ce0 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 span.class="line"></span>.<span.
110d00 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 23 20 2a 2a 2a 20 54 6f 6b 65 6e 73 20 2a 2a 2a 3c 2f 73 class="line">#.***.Tokens.***</s
110d20 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 65 6f 66 20 26 6c 74 3b pan>.<span.class="line">eof.&lt;
110d40 2d 20 21 2e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 62 -.!.</span>.<span.class="line">b
110d60 69 6e 20 26 6c 74 3b 2d 20 5b 30 31 5d 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 in.&lt;-.[01]</span>.<span.class
110d80 3d 22 6c 69 6e 65 22 3e 62 69 6e 5f 20 26 6c 74 3b 2d 20 27 5f 27 3f 20 62 69 6e 3c 2f 73 70 61 ="line">bin_.&lt;-.'_'?.bin</spa
110da0 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 6f 63 74 20 26 6c 74 3b 2d 20 n>.<span.class="line">oct.&lt;-.
110dc0 5b 30 2d 37 5d 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e [0-7]</span>.<span.class="line">
110de0 6f 63 74 5f 20 26 6c 74 3b 2d 20 27 5f 27 3f 20 6f 63 74 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e oct_.&lt;-.'_'?.oct</span>.<span
110e00 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 68 65 78 20 26 6c 74 3b 2d 20 5b 30 2d 39 61 2d 66 41 .class="line">hex.&lt;-.[0-9a-fA
110e20 2d 46 5d 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 68 65 -F]</span>.<span.class="line">he
110e40 78 5f 20 26 6c 74 3b 2d 20 27 5f 27 3f 20 68 65 78 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 x_.&lt;-.'_'?.hex</span>.<span.c
110e60 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 64 65 63 20 26 6c 74 3b 2d 20 5b 30 2d 39 5d 3c 2f 73 70 61 lass="line">dec.&lt;-.[0-9]</spa
110e80 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 64 65 63 5f 20 26 6c 74 3b 2d n>.<span.class="line">dec_.&lt;-
110ea0 20 27 5f 27 3f 20 64 65 63 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 .'_'?.dec</span>.<span.class="li
110ec0 6e 65 22 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 62 ne"></span>.<span.class="line">b
110ee0 69 6e 5f 69 6e 74 20 26 6c 74 3b 2d 20 62 69 6e 20 62 69 6e 5f 2a 3c 2f 73 70 61 6e 3e 0a 3c 73 in_int.&lt;-.bin.bin_*</span>.<s
110f00 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 6f 63 74 5f 69 6e 74 20 26 6c 74 3b 2d 20 6f pan.class="line">oct_int.&lt;-.o
110f20 63 74 20 6f 63 74 5f 2a 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e ct.oct_*</span>.<span.class="lin
110f40 65 22 3e 64 65 63 5f 69 6e 74 20 26 6c 74 3b 2d 20 64 65 63 20 64 65 63 5f 2a 3c 2f 73 70 61 6e e">dec_int.&lt;-.dec.dec_*</span
110f60 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 68 65 78 5f 69 6e 74 20 26 6c 74 >.<span.class="line">hex_int.&lt
110f80 3b 2d 20 68 65 78 20 68 65 78 5f 2a 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d ;-.hex.hex_*</span>.<span.class=
110fa0 22 6c 69 6e 65 22 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 "line"></span>.<span.class="line
110fc0 22 3e 6f 78 38 30 5f 6f 78 42 46 20 26 6c 74 3b 2d 20 5b 5c 32 30 30 2d 5c 32 37 37 5d 3c 2f 73 ">ox80_oxBF.&lt;-.[\200-\277]</s
110fe0 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 6f 78 46 34 20 26 6c 74 pan>.<span.class="line">oxF4.&lt
111000 3b 2d 20 27 5c 33 36 34 27 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 ;-.'\364'</span>.<span.class="li
111020 6e 65 22 3e 6f 78 38 30 5f 6f 78 38 46 20 26 6c 74 3b 2d 20 5b 5c 32 30 30 2d 5c 32 31 37 5d 3c ne">ox80_ox8F.&lt;-.[\200-\217]<
111040 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 6f 78 46 31 5f 6f /span>.<span.class="line">oxF1_o
111060 78 46 33 20 26 6c 74 3b 2d 20 5b 5c 33 36 31 2d 5c 33 36 33 5d 3c 2f 73 70 61 6e 3e 0a 3c 73 70 xF3.&lt;-.[\361-\363]</span>.<sp
111080 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 6f 78 46 30 20 26 6c 74 3b 2d 20 27 5c 33 36 30 an.class="line">oxF0.&lt;-.'\360
1110a0 27 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 6f 78 39 30 '</span>.<span.class="line">ox90
1110c0 5f 30 78 42 46 20 26 6c 74 3b 2d 20 5b 5c 32 32 30 2d 5c 32 37 37 5d 3c 2f 73 70 61 6e 3e 0a 3c _0xBF.&lt;-.[\220-\277]</span>.<
1110e0 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 6f 78 45 45 5f 6f 78 45 46 20 26 6c 74 3b span.class="line">oxEE_oxEF.&lt;
111100 2d 20 5b 5c 33 35 36 2d 5c 33 35 37 5d 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 -.[\356-\357]</span>.<span.class
111120 3d 22 6c 69 6e 65 22 3e 6f 78 45 44 20 26 6c 74 3b 2d 20 27 5c 33 35 35 27 3c 2f 73 70 61 6e 3e ="line">oxED.&lt;-.'\355'</span>
111140 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 6f 78 38 30 5f 6f 78 39 46 20 26 6c .<span.class="line">ox80_ox9F.&l
111160 74 3b 2d 20 5b 5c 32 30 30 2d 5c 32 33 37 5d 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 t;-.[\200-\237]</span>.<span.cla
111180 73 73 3d 22 6c 69 6e 65 22 3e 6f 78 45 31 5f 6f 78 45 43 20 26 6c 74 3b 2d 20 5b 5c 33 34 31 2d ss="line">oxE1_oxEC.&lt;-.[\341-
1111a0 5c 33 35 34 5d 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e \354]</span>.<span.class="line">
1111c0 6f 78 45 30 20 26 6c 74 3b 2d 20 27 5c 33 34 30 27 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 oxE0.&lt;-.'\340'</span>.<span.c
1111e0 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 6f 78 41 30 5f 6f 78 42 46 20 26 6c 74 3b 2d 20 5b 5c 32 34 lass="line">oxA0_oxBF.&lt;-.[\24
111200 30 2d 5c 32 37 37 5d 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 0-\277]</span>.<span.class="line
111220 22 3e 6f 78 43 32 5f 6f 78 44 46 20 26 6c 74 3b 2d 20 5b 5c 33 30 32 2d 5c 33 33 37 5d 3c 2f 73 ">oxC2_oxDF.&lt;-.[\302-\337]</s
111240 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 2f 73 70 61 6e 3e 0a pan>.<span.class="line"></span>.
111260 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 23 20 46 72 6f 6d 20 68 74 74 70 73 3a <span.class="line">#.From.https:
111280 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-
1112a0 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
1112c0 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 3c 2f 73 70 61 ing-is-valid-unicode-utf-8/</spa
1112e0 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 23 20 46 69 72 73 74 20 42 79 n>.<span.class="line">#.First.By
111300 74 65 20 20 20 20 20 20 53 65 63 6f 6e 64 20 42 79 74 65 20 20 20 20 20 54 68 69 72 64 20 42 79 te......Second.Byte.....Third.By
111320 74 65 20 20 20 20 20 20 46 6f 75 72 74 68 20 42 79 74 65 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e te......Fourth.Byte</span>.<span
111340 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 23 20 5b 30 78 30 30 2c 30 78 37 46 5d 3c 2f 73 70 61 .class="line">#.[0x00,0x7F]</spa
111360 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 23 20 5b 30 78 43 32 2c 30 78 n>.<span.class="line">#.[0xC2,0x
111380 44 46 5d 20 20 20 20 20 5b 30 78 38 30 2c 30 78 42 46 5d 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e DF].....[0x80,0xBF]</span>.<span
1113a0 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 23 20 20 20 20 30 78 45 30 20 20 20 20 20 20 20 20 20 .class="line">#....0xE0.........
1113c0 5b 30 78 41 30 2c 30 78 42 46 5d 20 20 20 20 20 5b 30 78 38 30 2c 30 78 42 46 5d 3c 2f 73 70 61 [0xA0,0xBF].....[0x80,0xBF]</spa
1113e0 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 23 20 5b 30 78 45 31 2c 30 78 n>.<span.class="line">#.[0xE1,0x
111400 45 43 5d 20 20 20 20 20 5b 30 78 38 30 2c 30 78 42 46 5d 20 20 20 20 20 5b 30 78 38 30 2c 30 78 EC].....[0x80,0xBF].....[0x80,0x
111420 42 46 5d 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 23 20 BF]</span>.<span.class="line">#.
111440 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 20 20 20 20 ...0xED.........[0x80,0x9F].....
111460 5b 30 78 38 30 2c 30 78 42 46 5d 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 [0x80,0xBF]</span>.<span.class="
111480 6c 69 6e 65 22 3e 23 20 5b 30 78 45 45 2c 30 78 45 46 5d 20 20 20 20 20 5b 30 78 38 30 2c 30 78 line">#.[0xEE,0xEF].....[0x80,0x
1114a0 42 46 5d 20 20 20 20 20 5b 30 78 38 30 2c 30 78 42 46 5d 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e BF].....[0x80,0xBF]</span>.<span
1114c0 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 23 20 20 20 20 30 78 46 30 20 20 20 20 20 20 20 20 20 .class="line">#....0xF0.........
1114e0 5b 30 78 39 30 2c 30 78 42 46 5d 20 20 20 20 20 5b 30 78 38 30 2c 30 78 42 46 5d 20 20 20 20 20 [0x90,0xBF].....[0x80,0xBF].....
111500 5b 30 78 38 30 2c 30 78 42 46 5d 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 [0x80,0xBF]</span>.<span.class="
111520 6c 69 6e 65 22 3e 23 20 5b 30 78 46 31 2c 30 78 46 33 5d 20 20 20 20 20 5b 30 78 38 30 2c 30 78 line">#.[0xF1,0xF3].....[0x80,0x
111540 42 46 5d 20 20 20 20 20 5b 30 78 38 30 2c 30 78 42 46 5d 20 20 20 20 20 5b 30 78 38 30 2c 30 78 BF].....[0x80,0xBF].....[0x80,0x
111560 42 46 5d 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 23 20 BF]</span>.<span.class="line">#.
111580 20 20 20 30 78 46 34 20 20 20 20 20 20 20 20 20 5b 30 78 38 30 2c 30 78 38 46 5d 20 20 20 20 20 ...0xF4.........[0x80,0x8F].....
1115a0 5b 30 78 38 30 2c 30 78 42 46 5d 20 20 20 20 20 5b 30 78 38 30 2c 30 78 42 46 5d 3c 2f 73 70 61 [0x80,0xBF].....[0x80,0xBF]</spa
1115c0 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 n>.<span.class="line"></span>.<s
1115e0 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 6d 62 5f 75 74 66 38 5f 6c 69 74 65 72 61 6c pan.class="line">mb_utf8_literal
111600 20 26 6c 74 3b 2d 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 .&lt;-</span>.<span.class="line"
111620 3e 20 20 20 20 20 20 20 6f 78 46 34 20 20 20 20 20 20 6f 78 38 30 5f 6f 78 38 46 20 6f 78 38 30 >.......oxF4......ox80_ox8F.ox80
111640 5f 6f 78 42 46 20 6f 78 38 30 5f 6f 78 42 46 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 _oxBF.ox80_oxBF</span>.<span.cla
111660 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 20 2f 20 6f 78 46 31 5f 6f 78 46 33 20 6f 78 38 30 5f ss="line">...../.oxF1_oxF3.ox80_
111680 6f 78 42 46 20 6f 78 38 30 5f 6f 78 42 46 20 6f 78 38 30 5f 6f 78 42 46 3c 2f 73 70 61 6e 3e 0a oxBF.ox80_oxBF.ox80_oxBF</span>.
1116a0 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 20 2f 20 6f 78 46 30 20 20 <span.class="line">...../.oxF0..
1116c0 20 20 20 20 6f 78 39 30 5f 30 78 42 46 20 6f 78 38 30 5f 6f 78 42 46 20 6f 78 38 30 5f 6f 78 42 ....ox90_0xBF.ox80_oxBF.ox80_oxB
1116e0 46 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 F</span>.<span.class="line">....
111700 20 2f 20 6f 78 45 45 5f 6f 78 45 46 20 6f 78 38 30 5f 6f 78 42 46 20 6f 78 38 30 5f 6f 78 42 46 ./.oxEE_oxEF.ox80_oxBF.ox80_oxBF
111720 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 20 </span>.<span.class="line">.....
111740 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 6f 78 42 46 3c /.oxED......ox80_ox9F.ox80_oxBF<
111760 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 20 2f /span>.<span.class="line">...../
111780 20 6f 78 45 31 5f 6f 78 45 43 20 6f 78 38 30 5f 6f 78 42 46 20 6f 78 38 30 5f 6f 78 42 46 3c 2f .oxE1_oxEC.ox80_oxBF.ox80_oxBF</
1117a0 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 20 2f 20 span>.<span.class="line">...../.
1117c0 6f 78 45 30 20 20 20 20 20 20 6f 78 41 30 5f 6f 78 42 46 20 6f 78 38 30 5f 6f 78 42 46 3c 2f 73 oxE0......oxA0_oxBF.ox80_oxBF</s
1117e0 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 20 2f 20 6f pan>.<span.class="line">...../.o
111800 78 43 32 5f 6f 78 44 46 20 6f 78 38 30 5f 6f 78 42 46 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 xC2_oxDF.ox80_oxBF</span>.<span.
111820 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 class="line"></span>.<span.class
111840 3d 22 6c 69 6e 65 22 3e 61 73 63 69 69 5f 63 68 61 72 5f 6e 6f 74 5f 6e 6c 5f 73 6c 61 73 68 5f ="line">ascii_char_not_nl_slash_
111860 73 71 75 6f 74 65 20 26 6c 74 3b 2d 20 5b 5c 30 30 30 2d 5c 30 31 31 5c 30 31 33 2d 5c 30 34 36 squote.&lt;-.[\000-\011\013-\046
111880 2d 5c 30 35 30 2d 5c 31 33 33 5c 31 33 35 2d 5c 31 37 37 5d 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 -\050-\133\135-\177]</span>.<spa
1118a0 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 n.class="line"></span>.<span.cla
1118c0 73 73 3d 22 6c 69 6e 65 22 3e 63 68 61 72 5f 65 73 63 61 70 65 3c 2f 73 70 61 6e 3e 0a 3c 73 70 ss="line">char_escape</span>.<sp
1118e0 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 26 6c 74 3b 2d 20 26 71 75 6f 74 3b an.class="line">....&lt;-.&quot;
111900 5c 5c 78 26 71 75 6f 74 3b 20 68 65 78 20 68 65 78 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 \\x&quot;.hex.hex</span>.<span.c
111920 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 20 2f 20 26 71 75 6f 74 3b 5c 5c 75 7b 26 71 75 lass="line">...../.&quot;\\u{&qu
111940 6f 74 3b 20 68 65 78 2b 20 26 71 75 6f 74 3b 7d 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 ot;.hex+.&quot;}&quot;</span>.<s
111960 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 20 2f 20 26 71 75 6f 74 3b 5c 5c pan.class="line">...../.&quot;\\
111980 26 71 75 6f 74 3b 20 5b 6e 72 5c 5c 74 27 26 71 75 6f 74 3b 5d 3c 2f 73 70 61 6e 3e 0a 3c 73 70 &quot;.[nr\\t'&quot;]</span>.<sp
1119a0 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 63 68 61 72 5f 63 68 61 72 3c 2f 73 70 61 6e 3e an.class="line">char_char</span>
1119c0 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 26 6c 74 3b 2d 20 6d 62 .<span.class="line">....&lt;-.mb
1119e0 5f 75 74 66 38 5f 6c 69 74 65 72 61 6c 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 _utf8_literal</span>.<span.class
111a00 3d 22 6c 69 6e 65 22 3e 20 20 20 20 20 2f 20 63 68 61 72 5f 65 73 63 61 70 65 3c 2f 73 70 61 6e ="line">...../.char_escape</span
111a20 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 20 2f 20 61 73 63 69 >.<span.class="line">...../.asci
111a40 69 5f 63 68 61 72 5f 6e 6f 74 5f 6e 6c 5f 73 6c 61 73 68 5f 73 71 75 6f 74 65 3c 2f 73 70 61 6e i_char_not_nl_slash_squote</span
111a60 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 >.<span.class="line"></span>.<sp
111a80 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 73 74 72 69 6e 67 5f 63 68 61 72 3c 2f 73 70 61 an.class="line">string_char</spa
111aa0 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 26 6c 74 3b 2d 20 n>.<span.class="line">....&lt;-.
111ac0 63 68 61 72 5f 65 73 63 61 70 65 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 char_escape</span>.<span.class="
111ae0 6c 69 6e 65 22 3e 20 20 20 20 20 2f 20 5b 5e 5c 5c 26 71 75 6f 74 3b 5c 6e 5d 3c 2f 73 70 61 6e line">...../.[^\\&quot;\n]</span
111b00 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 >.<span.class="line"></span>.<sp
111b20 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 63 6f 6e 74 61 69 6e 65 72 5f 64 6f 63 5f 63 6f an.class="line">container_doc_co
111b40 6d 6d 65 6e 74 20 26 6c 74 3b 2d 20 28 27 2f 2f 21 27 20 5b 5e 5c 6e 5d 2a 20 5b 20 5c 6e 5d 2a mment.&lt;-.('//!'.[^\n]*.[.\n]*
111b60 29 2b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 64 6f 63 )+</span>.<span.class="line">doc
111b80 5f 63 6f 6d 6d 65 6e 74 20 26 6c 74 3b 2d 20 28 27 2f 2f 2f 27 20 5b 5e 5c 6e 5d 2a 20 5b 20 5c _comment.&lt;-.('///'.[^\n]*.[.\
111ba0 6e 5d 2a 29 2b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e n]*)+</span>.<span.class="line">
111bc0 6c 69 6e 65 5f 63 6f 6d 6d 65 6e 74 20 26 6c 74 3b 2d 20 27 2f 2f 27 20 21 5b 21 2f 5d 5b 5e 5c line_comment.&lt;-.'//'.![!/][^\
111be0 6e 5d 2a 20 2f 20 27 2f 2f 2f 2f 27 20 5b 5e 5c 6e 5d 2a 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e n]*./.'////'.[^\n]*</span>.<span
111c00 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 6c 69 6e 65 5f 73 74 72 69 6e 67 20 26 6c 74 3b 2d 20 .class="line">line_string.&lt;-.
111c20 28 26 71 75 6f 74 3b 5c 5c 5c 5c 26 71 75 6f 74 3b 20 5b 5e 5c 6e 5d 2a 20 5b 20 5c 6e 5d 2a 29 (&quot;\\\\&quot;.[^\n]*.[.\n]*)
111c40 2b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 73 6b 69 70 +</span>.<span.class="line">skip
111c60 20 26 6c 74 3b 2d 20 28 5b 20 5c 6e 5d 20 2f 20 6c 69 6e 65 5f 63 6f 6d 6d 65 6e 74 29 2a 3c 2f .&lt;-.([.\n]./.line_comment)*</
111c80 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 2f 73 70 61 6e 3e span>.<span.class="line"></span>
111ca0 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 43 48 41 52 5f 4c 49 54 45 52 41 4c .<span.class="line">CHAR_LITERAL
111cc0 20 26 6c 74 3b 2d 20 26 71 75 6f 74 3b 27 26 71 75 6f 74 3b 20 63 68 61 72 5f 63 68 61 72 20 26 .&lt;-.&quot;'&quot;.char_char.&
111ce0 71 75 6f 74 3b 27 26 71 75 6f 74 3b 20 73 6b 69 70 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 quot;'&quot;.skip</span>.<span.c
111d00 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 46 4c 4f 41 54 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 lass="line">FLOAT</span>.<span.c
111d20 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 26 6c 74 3b 2d 20 26 71 75 6f 74 3b 30 78 26 71 lass="line">....&lt;-.&quot;0x&q
111d40 75 6f 74 3b 20 68 65 78 5f 69 6e 74 20 26 71 75 6f 74 3b 2e 26 71 75 6f 74 3b 20 68 65 78 5f 69 uot;.hex_int.&quot;.&quot;.hex_i
111d60 6e 74 20 28 5b 70 50 5d 20 5b 2d 2b 5d 3f 20 64 65 63 5f 69 6e 74 29 3f 20 73 6b 69 70 3c 2f 73 nt.([pP].[-+]?.dec_int)?.skip</s
111d80 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 20 2f 20 20 pan>.<span.class="line">...../..
111da0 20 20 20 20 64 65 63 5f 69 6e 74 20 26 71 75 6f 74 3b 2e 26 71 75 6f 74 3b 20 64 65 63 5f 69 6e ....dec_int.&quot;.&quot;.dec_in
111dc0 74 20 28 5b 65 45 5d 20 5b 2d 2b 5d 3f 20 64 65 63 5f 69 6e 74 29 3f 20 73 6b 69 70 3c 2f 73 70 t.([eE].[-+]?.dec_int)?.skip</sp
111de0 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 20 2f 20 26 71 an>.<span.class="line">...../.&q
111e00 75 6f 74 3b 30 78 26 71 75 6f 74 3b 20 68 65 78 5f 69 6e 74 20 5b 70 50 5d 20 5b 2d 2b 5d 3f 20 uot;0x&quot;.hex_int.[pP].[-+]?.
111e20 64 65 63 5f 69 6e 74 20 73 6b 69 70 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d dec_int.skip</span>.<span.class=
111e40 22 6c 69 6e 65 22 3e 20 20 20 20 20 2f 20 20 20 20 20 20 64 65 63 5f 69 6e 74 20 5b 65 45 5d 20 "line">...../......dec_int.[eE].
111e60 5b 2d 2b 5d 3f 20 64 65 63 5f 69 6e 74 20 73 6b 69 70 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 [-+]?.dec_int.skip</span>.<span.
111e80 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 49 4e 54 45 47 45 52 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 class="line">INTEGER</span>.<spa
111ea0 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 26 6c 74 3b 2d 20 26 71 75 6f 74 3b 30 n.class="line">....&lt;-.&quot;0
111ec0 62 26 71 75 6f 74 3b 20 62 69 6e 5f 69 6e 74 20 73 6b 69 70 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 b&quot;.bin_int.skip</span>.<spa
111ee0 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 20 2f 20 26 71 75 6f 74 3b 30 6f 26 71 n.class="line">...../.&quot;0o&q
111f00 75 6f 74 3b 20 6f 63 74 5f 69 6e 74 20 73 6b 69 70 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 uot;.oct_int.skip</span>.<span.c
111f20 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 20 2f 20 26 71 75 6f 74 3b 30 78 26 71 75 6f 74 lass="line">...../.&quot;0x&quot
111f40 3b 20 68 65 78 5f 69 6e 74 20 73 6b 69 70 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 ;.hex_int.skip</span>.<span.clas
111f60 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 20 2f 20 20 20 20 20 20 64 65 63 5f 69 6e 74 20 20 20 73 s="line">...../......dec_int...s
111f80 6b 69 70 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 53 54 kip</span>.<span.class="line">ST
111fa0 52 49 4e 47 4c 49 54 45 52 41 4c 53 49 4e 47 4c 45 20 26 6c 74 3b 2d 20 26 71 75 6f 74 3b 5c 26 RINGLITERALSINGLE.&lt;-.&quot;\&
111fc0 71 75 6f 74 3b 26 71 75 6f 74 3b 20 73 74 72 69 6e 67 5f 63 68 61 72 2a 20 26 71 75 6f 74 3b 5c quot;&quot;.string_char*.&quot;\
111fe0 26 71 75 6f 74 3b 26 71 75 6f 74 3b 20 73 6b 69 70 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 &quot;&quot;.skip</span>.<span.c
112000 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 53 54 52 49 4e 47 4c 49 54 45 52 41 4c 3c 2f 73 70 61 6e 3e lass="line">STRINGLITERAL</span>
112020 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 26 6c 74 3b 2d 20 53 54 .<span.class="line">....&lt;-.ST
112040 52 49 4e 47 4c 49 54 45 52 41 4c 53 49 4e 47 4c 45 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 RINGLITERALSINGLE</span>.<span.c
112060 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 20 2f 20 28 6c 69 6e 65 5f 73 74 72 69 6e 67 20 lass="line">...../.(line_string.
112080 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 73 6b 69 70 29 2b 3c 2f 73 70 61 6e 3e 0a 3c 73 ................skip)+</span>.<s
1120a0 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 49 44 45 4e 54 49 46 49 45 52 3c 2f 73 70 61 pan.class="line">IDENTIFIER</spa
1120c0 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 26 6c 74 3b 2d 20 n>.<span.class="line">....&lt;-.
1120e0 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 5f 5d 2a !keyword.[A-Za-z_].[A-Za-z0-9_]*
112100 20 73 6b 69 70 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e .skip</span>.<span.class="line">
112120 20 20 20 20 20 2f 20 26 71 75 6f 74 3b 40 5c 26 71 75 6f 74 3b 26 71 75 6f 74 3b 20 73 74 72 69 ...../.&quot;@\&quot;&quot;.stri
112140 6e 67 5f 63 68 61 72 2a 20 26 71 75 6f 74 3b 5c 26 71 75 6f 74 3b 26 71 75 6f 74 3b 20 20 20 20 ng_char*.&quot;\&quot;&quot;....
112160 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 73 6b 69 70 3c 2f 73 70 ........................skip</sp
112180 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 42 55 49 4c 54 49 4e 49 44 an>.<span.class="line">BUILTINID
1121a0 45 4e 54 49 46 49 45 52 20 26 6c 74 3b 2d 20 26 71 75 6f 74 3b 40 26 71 75 6f 74 3b 5b 41 2d 5a ENTIFIER.&lt;-.&quot;@&quot;[A-Z
1121c0 61 2d 7a 5f 5d 5b 41 2d 5a 61 2d 7a 30 2d 39 5f 5d 2a 20 73 6b 69 70 3c 2f 73 70 61 6e 3e 0a 3c a-z_][A-Za-z0-9_]*.skip</span>.<
1121e0 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 span.class="line"></span>.<span.
112200 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 class="line"></span>.<span.class
112220 3d 22 6c 69 6e 65 22 3e 41 4d 50 45 52 53 41 4e 44 20 20 20 20 20 20 20 20 20 20 20 20 26 6c 74 ="line">AMPERSAND............&lt
112240 3b 2d 20 27 26 61 6d 70 3b 27 20 20 20 20 20 20 21 5b 3d 5d 20 20 20 20 20 20 73 6b 69 70 3c 2f ;-.'&amp;'......![=]......skip</
112260 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 41 4d 50 45 52 53 41 span>.<span.class="line">AMPERSA
112280 4e 44 45 51 55 41 4c 20 20 20 20 20 20 20 26 6c 74 3b 2d 20 27 26 61 6d 70 3b 3d 27 20 20 20 20 NDEQUAL.......&lt;-.'&amp;='....
1122a0 20 20 20 20 20 20 20 20 20 20 20 73 6b 69 70 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 ...........skip</span>.<span.cla
1122c0 73 73 3d 22 6c 69 6e 65 22 3e 41 53 54 45 52 49 53 4b 20 20 20 20 20 20 20 20 20 20 20 20 20 26 ss="line">ASTERISK.............&
1122e0 6c 74 3b 2d 20 27 2a 27 20 20 20 20 20 20 21 5b 2a 25 3d 5d 20 20 20 20 73 6b 69 70 3c 2f 73 70 lt;-.'*'......![*%=]....skip</sp
112300 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 41 53 54 45 52 49 53 4b 32 an>.<span.class="line">ASTERISK2
112320 20 20 20 20 20 20 20 20 20 20 20 20 26 6c 74 3b 2d 20 27 2a 2a 27 20 20 20 20 20 20 20 20 20 20 ............&lt;-.'**'..........
112340 20 20 20 20 20 73 6b 69 70 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 .....skip</span>.<span.class="li
112360 6e 65 22 3e 41 53 54 45 52 49 53 4b 45 51 55 41 4c 20 20 20 20 20 20 20 20 26 6c 74 3b 2d 20 27 ne">ASTERISKEQUAL........&lt;-.'
112380 2a 3d 27 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 73 6b 69 70 3c 2f 73 70 61 6e 3e 0a 3c 73 *='...............skip</span>.<s
1123a0 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 41 53 54 45 52 49 53 4b 50 45 52 43 45 4e 54 pan.class="line">ASTERISKPERCENT
1123c0 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 20 20 20 73 ......&lt;-.'*%'.....![=]......s
1123e0 6b 69 70 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 41 53 kip</span>.<span.class="line">AS
112400 54 45 52 49 53 4b 50 45 52 43 45 4e 54 45 51 55 41 4c 20 26 6c 74 3b 2d 20 27 2a 25 3d 27 20 20 TERISKPERCENTEQUAL.&lt;-.'*%='..
112420 20 20 20 20 20 20 20 20 20 20 20 20 73 6b 69 70 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c ............skip</span>.<span.cl
112440 61 73 73 3d 22 6c 69 6e 65 22 3e 43 41 52 45 54 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ass="line">CARET................
112460 26 6c 74 3b 2d 20 27 5e 27 20 20 20 20 20 20 21 5b 3d 5d 20 20 20 20 20 20 73 6b 69 70 3c 2f 73 &lt;-.'^'......![=]......skip</s
112480 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 43 41 52 45 54 45 51 55 pan>.<span.class="line">CARETEQU
1124a0 41 4c 20 20 20 20 20 20 20 20 20 20 20 26 6c 74 3b 2d 20 27 5e 3d 27 20 20 20 20 20 20 20 20 20 AL...........&lt;-.'^='.........
1124c0 20 20 20 20 20 20 73 6b 69 70 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c ......skip</span>.<span.class="l
1124e0 69 6e 65 22 3e 43 4f 4c 4f 4e 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 26 6c 74 3b 2d 20 ine">COLON................&lt;-.
112500 27 3a 27 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 73 6b 69 70 3c 2f 73 70 61 6e 3e 0a 3c ':'................skip</span>.<
112520 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 43 4f 4d 4d 41 20 20 20 20 20 20 20 20 20 span.class="line">COMMA.........
112540 20 20 20 20 20 20 20 26 6c 74 3b 2d 20 27 2c 27 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 .......&lt;-.','................
112560 73 6b 69 70 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 44 skip</span>.<span.class="line">D
112580 4f 54 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 26 6c 74 3b 2d 20 27 2e 27 20 20 20 OT..................&lt;-.'.'...
1125a0 20 20 20 21 5b 2a 2e 3f 5d 20 20 20 20 73 6b 69 70 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 ...![*.?]....skip</span>.<span.c
1125c0 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 44 4f 54 32 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 lass="line">DOT2................
1125e0 20 26 6c 74 3b 2d 20 27 2e 2e 27 20 20 20 20 20 21 5b 2e 5d 20 20 20 20 20 20 73 6b 69 70 3c 2f .&lt;-.'..'.....![.]......skip</
112600 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 44 4f 54 33 20 20 20 span>.<span.class="line">DOT3...
112620 20 20 20 20 20 20 20 20 20 20 20 20 20 20 26 6c 74 3b 2d 20 27 2e 2e 2e 27 20 20 20 20 20 20 20 ..............&lt;-.'...'.......
112640 20 20 20 20 20 20 20 73 6b 69 70 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 .......skip</span>.<span.class="
112660 6c 69 6e 65 22 3e 44 4f 54 41 53 54 45 52 49 53 4b 20 20 20 20 20 20 20 20 20 20 26 6c 74 3b 2d line">DOTASTERISK..........&lt;-
112680 20 27 2e 2a 27 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 73 6b 69 70 3c 2f 73 70 61 6e 3e 0a .'.*'...............skip</span>.
1126a0 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 44 4f 54 51 55 45 53 54 49 4f 4e 4d 41 <span.class="line">DOTQUESTIONMA
1126c0 52 4b 20 20 20 20 20 20 26 6c 74 3b 2d 20 27 2e 3f 27 20 20 20 20 20 20 20 20 20 20 20 20 20 20 RK......&lt;-.'.?'..............
1126e0 20 73 6b 69 70 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e .skip</span>.<span.class="line">
112700 45 51 55 41 4c 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 26 6c 74 3b 2d 20 27 3d 27 20 20 EQUAL................&lt;-.'='..
112720 20 20 20 20 21 5b 26 67 74 3b 3d 5d 20 20 20 20 20 73 6b 69 70 3c 2f 73 70 61 6e 3e 0a 3c 73 70 ....![&gt;=].....skip</span>.<sp
112740 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 45 51 55 41 4c 45 51 55 41 4c 20 20 20 20 20 20 an.class="line">EQUALEQUAL......
112760 20 20 20 20 20 26 6c 74 3b 2d 20 27 3d 3d 27 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 73 6b .....&lt;-.'=='...............sk
112780 69 70 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 45 51 55 ip</span>.<span.class="line">EQU
1127a0 41 4c 52 41 52 52 4f 57 20 20 20 20 20 20 20 20 20 20 26 6c 74 3b 2d 20 27 3d 26 67 74 3b 27 20 ALRARROW..........&lt;-.'=&gt;'.
1127c0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 73 6b 69 70 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 ..............skip</span>.<span.
1127e0 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 45 58 43 4c 41 4d 41 54 49 4f 4e 4d 41 52 4b 20 20 20 20 class="line">EXCLAMATIONMARK....
112800 20 20 26 6c 74 3b 2d 20 27 21 27 20 20 20 20 20 20 21 5b 3d 5d 20 20 20 20 20 20 73 6b 69 70 3c ..&lt;-.'!'......![=]......skip<
112820 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 45 58 43 4c 41 4d /span>.<span.class="line">EXCLAM
112840 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 20 20 20 20 ATIONMARKEQUAL.&lt;-.'!='.......
112860 20 20 20 20 20 20 20 20 73 6b 69 70 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d ........skip</span>.<span.class=
112880 22 6c 69 6e 65 22 3e 4c 41 52 52 4f 57 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 26 6c 74 3b "line">LARROW...............&lt;
1128a0 2d 20 27 26 6c 74 3b 27 20 20 20 20 20 20 21 5b 26 6c 74 3b 3d 5d 20 20 20 20 20 73 6b 69 70 3c -.'&lt;'......![&lt;=].....skip<
1128c0 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 4c 41 52 52 4f 57 /span>.<span.class="line">LARROW
1128e0 32 20 20 20 20 20 20 20 20 20 20 20 20 20 20 26 6c 74 3b 2d 20 27 26 6c 74 3b 26 6c 74 3b 27 20 2..............&lt;-.'&lt;&lt;'.
112900 20 20 20 20 21 5b 3d 5d 20 20 20 20 20 20 73 6b 69 70 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 ....![=]......skip</span>.<span.
112920 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 4c 41 52 52 4f 57 32 45 51 55 41 4c 20 20 20 20 20 20 20 class="line">LARROW2EQUAL.......
112940 20 20 26 6c 74 3b 2d 20 27 26 6c 74 3b 26 6c 74 3b 3d 27 20 20 20 20 20 20 20 20 20 20 20 20 20 ..&lt;-.'&lt;&lt;='.............
112960 20 73 6b 69 70 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e .skip</span>.<span.class="line">
112980 4c 41 52 52 4f 57 45 51 55 41 4c 20 20 20 20 20 20 20 20 20 20 26 6c 74 3b 2d 20 27 26 6c 74 3b LARROWEQUAL..........&lt;-.'&lt;
1129a0 3d 27 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 73 6b 69 70 3c 2f 73 70 61 6e 3e 0a 3c 73 70 ='...............skip</span>.<sp
1129c0 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 4c 42 52 41 43 45 20 20 20 20 20 20 20 20 20 20 an.class="line">LBRACE..........
1129e0 20 20 20 20 20 26 6c 74 3b 2d 20 27 7b 27 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 73 6b .....&lt;-.'{'................sk
112a00 69 70 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 4c 42 52 ip</span>.<span.class="line">LBR
112a20 41 43 4b 45 54 20 20 20 20 20 20 20 20 20 20 20 20 20 26 6c 74 3b 2d 20 27 5b 27 20 20 20 20 20 ACKET.............&lt;-.'['.....
112a40 20 20 20 20 20 20 20 20 20 20 20 73 6b 69 70 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 ...........skip</span>.<span.cla
112a60 73 73 3d 22 6c 69 6e 65 22 3e 4c 50 41 52 45 4e 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 26 ss="line">LPAREN...............&
112a80 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 3c 2f 73 70 lt;-.'('................skip</sp
112aa0 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 4d 49 4e 55 53 20 20 20 20 an>.<span.class="line">MINUS....
112ac0 20 20 20 20 20 20 20 20 20 20 20 20 26 6c 74 3b 2d 20 27 2d 27 20 20 20 20 20 20 21 5b 25 3d 26 ............&lt;-.'-'......![%=&
112ae0 67 74 3b 5d 20 20 20 20 73 6b 69 70 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d gt;]....skip</span>.<span.class=
112b00 22 6c 69 6e 65 22 3e 4d 49 4e 55 53 45 51 55 41 4c 20 20 20 20 20 20 20 20 20 20 20 26 6c 74 3b "line">MINUSEQUAL...........&lt;
112b20 2d 20 27 2d 3d 27 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 73 6b 69 70 3c 2f 73 70 61 6e 3e -.'-='...............skip</span>
112b40 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 4d 49 4e 55 53 50 45 52 43 45 4e 54 .<span.class="line">MINUSPERCENT
112b60 20 20 20 20 20 20 20 20 20 26 6c 74 3b 2d 20 27 2d 25 27 20 20 20 20 20 21 5b 3d 5d 20 20 20 20 .........&lt;-.'-%'.....![=]....
112b80 20 20 73 6b 69 70 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 ..skip</span>.<span.class="line"
112ba0 3e 4d 49 4e 55 53 50 45 52 43 45 4e 54 45 51 55 41 4c 20 20 20 20 26 6c 74 3b 2d 20 27 2d 25 3d >MINUSPERCENTEQUAL....&lt;-.'-%=
112bc0 27 20 20 20 20 20 20 20 20 20 20 20 20 20 20 73 6b 69 70 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e '..............skip</span>.<span
112be0 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 4d 49 4e 55 53 52 41 52 52 4f 57 20 20 20 20 20 20 20 .class="line">MINUSRARROW.......
112c00 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 20 20 20 73 ...&lt;-.'-&gt;'...............s
112c20 6b 69 70 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 50 45 kip</span>.<span.class="line">PE
112c40 52 43 45 4e 54 20 20 20 20 20 20 20 20 20 20 20 20 20 20 26 6c 74 3b 2d 20 27 25 27 20 20 20 20 RCENT..............&lt;-.'%'....
112c60 20 20 21 5b 3d 5d 20 20 20 20 20 20 73 6b 69 70 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c ..![=]......skip</span>.<span.cl
112c80 61 73 73 3d 22 6c 69 6e 65 22 3e 50 45 52 43 45 4e 54 45 51 55 41 4c 20 20 20 20 20 20 20 20 20 ass="line">PERCENTEQUAL.........
112ca0 26 6c 74 3b 2d 20 27 25 3d 27 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 73 6b 69 70 3c 2f 73 &lt;-.'%='...............skip</s
112cc0 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 50 49 50 45 20 20 20 20 pan>.<span.class="line">PIPE....
112ce0 20 20 20 20 20 20 20 20 20 20 20 20 20 26 6c 74 3b 2d 20 27 7c 27 20 20 20 20 20 20 21 5b 7c 3d .............&lt;-.'|'......![|=
112d00 5d 20 20 20 20 20 73 6b 69 70 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c ].....skip</span>.<span.class="l
112d20 69 6e 65 22 3e 50 49 50 45 32 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 26 6c 74 3b 2d 20 ine">PIPE2................&lt;-.
112d40 27 7c 7c 27 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 73 6b 69 70 3c 2f 73 70 61 6e 3e 0a 3c '||'...............skip</span>.<
112d60 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 50 49 50 45 45 51 55 41 4c 20 20 20 20 20 span.class="line">PIPEEQUAL.....
112d80 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 20 20 .......&lt;-.'|='...............
112da0 73 6b 69 70 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 50 skip</span>.<span.class="line">P
112dc0 4c 55 53 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 26 6c 74 3b 2d 20 27 2b 27 20 20 20 LUS.................&lt;-.'+'...
112de0 20 20 20 21 5b 25 2b 3d 5d 20 20 20 20 73 6b 69 70 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 ...![%+=]....skip</span>.<span.c
112e00 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 50 4c 55 53 32 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 lass="line">PLUS2...............
112e20 20 26 6c 74 3b 2d 20 27 2b 2b 27 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 73 6b 69 70 3c 2f .&lt;-.'++'...............skip</
112e40 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 50 4c 55 53 45 51 55 span>.<span.class="line">PLUSEQU
112e60 41 4c 20 20 20 20 20 20 20 20 20 20 20 20 26 6c 74 3b 2d 20 27 2b 3d 27 20 20 20 20 20 20 20 20 AL............&lt;-.'+='........
112e80 20 20 20 20 20 20 20 73 6b 69 70 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 .......skip</span>.<span.class="
112ea0 6c 69 6e 65 22 3e 50 4c 55 53 50 45 52 43 45 4e 54 20 20 20 20 20 20 20 20 20 20 26 6c 74 3b 2d line">PLUSPERCENT..........&lt;-
112ec0 20 27 2b 25 27 20 20 20 20 20 21 5b 3d 5d 20 20 20 20 20 20 73 6b 69 70 3c 2f 73 70 61 6e 3e 0a .'+%'.....![=]......skip</span>.
112ee0 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 50 4c 55 53 50 45 52 43 45 4e 54 45 51 <span.class="line">PLUSPERCENTEQ
112f00 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;-.'+%='.............
112f20 20 73 6b 69 70 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e .skip</span>.<span.class="line">
112f40 4c 45 54 54 45 52 43 20 20 20 20 20 20 20 20 20 20 20 20 20 20 26 6c 74 3b 2d 20 27 63 27 20 20 LETTERC..............&lt;-.'c'..
112f60 20 20 20 20 20 20 20 20 20 20 20 20 20 20 73 6b 69 70 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 ..............skip</span>.<span.
112f80 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 51 55 45 53 54 49 4f 4e 4d 41 52 4b 20 20 20 20 20 20 20 class="line">QUESTIONMARK.......
112fa0 20 20 26 6c 74 3b 2d 20 27 3f 27 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 73 6b 69 70 3c ..&lt;-.'?'................skip<
112fc0 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 52 41 52 52 4f 57 /span>.<span.class="line">RARROW
112fe0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 26 6c 74 3b 2d 20 27 26 67 74 3b 27 20 20 20 20 20 ...............&lt;-.'&gt;'.....
113000 20 21 5b 26 67 74 3b 3d 5d 20 20 20 20 20 73 6b 69 70 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 .![&gt;=].....skip</span>.<span.
113020 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 52 41 52 52 4f 57 32 20 20 20 20 20 20 20 20 20 20 20 20 class="line">RARROW2............
113040 20 20 26 6c 74 3b 2d 20 27 26 67 74 3b 26 67 74 3b 27 20 20 20 20 20 21 5b 3d 5d 20 20 20 20 20 ..&lt;-.'&gt;&gt;'.....![=].....
113060 20 73 6b 69 70 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e .skip</span>.<span.class="line">
113080 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 26 67 74 3b RARROW2EQUAL.........&lt;-.'&gt;
1130a0 26 67 74 3b 3d 27 20 20 20 20 20 20 20 20 20 20 20 20 20 20 73 6b 69 70 3c 2f 73 70 61 6e 3e 0a &gt;='..............skip</span>.
1130c0 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 52 41 52 52 4f 57 45 51 55 41 4c 20 20 <span.class="line">RARROWEQUAL..
1130e0 20 20 20 20 20 20 20 20 26 6c 74 3b 2d 20 27 26 67 74 3b 3d 27 20 20 20 20 20 20 20 20 20 20 20 ........&lt;-.'&gt;='...........
113100 20 20 20 20 73 6b 69 70 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e ....skip</span>.<span.class="lin
113120 65 22 3e 52 42 52 41 43 45 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 26 6c 74 3b 2d 20 27 7d e">RBRACE...............&lt;-.'}
113140 27 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 73 6b 69 70 3c 2f 73 70 61 6e 3e 0a 3c 73 70 '................skip</span>.<sp
113160 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 52 42 52 41 43 4b 45 54 20 20 20 20 20 20 20 20 an.class="line">RBRACKET........
113180 20 20 20 20 20 26 6c 74 3b 2d 20 27 5d 27 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 73 6b .....&lt;-.']'................sk
1131a0 69 70 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 52 50 41 ip</span>.<span.class="line">RPA
1131c0 52 45 4e 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 26 6c 74 3b 2d 20 27 29 27 20 20 20 20 20 REN...............&lt;-.')'.....
1131e0 20 20 20 20 20 20 20 20 20 20 20 73 6b 69 70 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 ...........skip</span>.<span.cla
113200 73 73 3d 22 6c 69 6e 65 22 3e 53 45 4d 49 43 4f 4c 4f 4e 20 20 20 20 20 20 20 20 20 20 20 20 26 ss="line">SEMICOLON............&
113220 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 3c 2f 73 70 lt;-.';'................skip</sp
113240 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 53 4c 41 53 48 20 20 20 20 an>.<span.class="line">SLASH....
113260 20 20 20 20 20 20 20 20 20 20 20 20 26 6c 74 3b 2d 20 27 2f 27 20 20 20 20 20 20 21 5b 3d 5d 20 ............&lt;-.'/'......![=].
113280 20 20 20 20 20 73 6b 69 70 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 .....skip</span>.<span.class="li
1132a0 6e 65 22 3e 53 4c 41 53 48 45 51 55 41 4c 20 20 20 20 20 20 20 20 20 20 20 26 6c 74 3b 2d 20 27 ne">SLASHEQUAL...........&lt;-.'
1132c0 2f 3d 27 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 73 6b 69 70 3c 2f 73 70 61 6e 3e 0a 3c 73 /='...............skip</span>.<s
1132e0 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 54 49 4c 44 45 20 20 20 20 20 20 20 20 20 20 pan.class="line">TILDE..........
113300 20 20 20 20 20 20 26 6c 74 3b 2d 20 27 7e 27 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 73 ......&lt;-.'~'................s
113320 6b 69 70 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 2f kip</span>.<span.class="line"></
113340 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 65 6e 64 5f 6f 66 5f span>.<span.class="line">end_of_
113360 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 3c 2f 73 word.&lt;-.![a-zA-Z0-9_].skip</s
113380 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 4b 45 59 57 4f 52 44 5f pan>.<span.class="line">KEYWORD_
1133a0 61 6c 69 67 6e 20 20 20 20 20 20 20 26 6c 74 3b 2d 20 27 61 6c 69 67 6e 27 20 20 20 20 20 20 20 align.......&lt;-.'align'.......
1133c0 65 6e 64 5f 6f 66 5f 77 6f 72 64 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 end_of_word</span>.<span.class="
1133e0 6c 69 6e 65 22 3e 4b 45 59 57 4f 52 44 5f 61 6c 6c 6f 77 7a 65 72 6f 20 20 20 26 6c 74 3b 2d 20 line">KEYWORD_allowzero...&lt;-.
113400 27 61 6c 6c 6f 77 7a 65 72 6f 27 20 20 20 65 6e 64 5f 6f 66 5f 77 6f 72 64 3c 2f 73 70 61 6e 3e 'allowzero'...end_of_word</span>
113420 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 4b 45 59 57 4f 52 44 5f 61 6e 64 20 .<span.class="line">KEYWORD_and.
113440 20 20 20 20 20 20 20 20 26 6c 74 3b 2d 20 27 61 6e 64 27 20 20 20 20 20 20 20 20 20 65 6e 64 5f ........&lt;-.'and'.........end_
113460 6f 66 5f 77 6f 72 64 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 of_word</span>.<span.class="line
113480 22 3e 4b 45 59 57 4f 52 44 5f 61 6e 79 66 72 61 6d 65 20 20 20 20 26 6c 74 3b 2d 20 27 61 6e 79 ">KEYWORD_anyframe....&lt;-.'any
1134a0 66 72 61 6d 65 27 20 20 20 20 65 6e 64 5f 6f 66 5f 77 6f 72 64 3c 2f 73 70 61 6e 3e 0a 3c 73 70 frame'....end_of_word</span>.<sp
1134c0 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 4b 45 59 57 4f 52 44 5f 61 6e 79 74 79 70 65 20 an.class="line">KEYWORD_anytype.
1134e0 20 20 20 20 26 6c 74 3b 2d 20 27 61 6e 79 74 79 70 65 27 20 20 20 20 20 65 6e 64 5f 6f 66 5f 77 ....&lt;-.'anytype'.....end_of_w
113500 6f 72 64 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 4b 45 ord</span>.<span.class="line">KE
113520 59 57 4f 52 44 5f 61 73 6d 20 20 20 20 20 20 20 20 20 26 6c 74 3b 2d 20 27 61 73 6d 27 20 20 20 YWORD_asm.........&lt;-.'asm'...
113540 20 20 20 20 20 20 65 6e 64 5f 6f 66 5f 77 6f 72 64 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 ......end_of_word</span>.<span.c
113560 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 4b 45 59 57 4f 52 44 5f 61 73 79 6e 63 20 20 20 20 20 20 20 lass="line">KEYWORD_async.......
113580 26 6c 74 3b 2d 20 27 61 73 79 6e 63 27 20 20 20 20 20 20 20 65 6e 64 5f 6f 66 5f 77 6f 72 64 3c &lt;-.'async'.......end_of_word<
1135a0 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 4b 45 59 57 4f 52 /span>.<span.class="line">KEYWOR
1135c0 44 5f 61 77 61 69 74 20 20 20 20 20 20 20 26 6c 74 3b 2d 20 27 61 77 61 69 74 27 20 20 20 20 20 D_await.......&lt;-.'await'.....
1135e0 20 20 65 6e 64 5f 6f 66 5f 77 6f 72 64 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 ..end_of_word</span>.<span.class
113600 3d 22 6c 69 6e 65 22 3e 4b 45 59 57 4f 52 44 5f 62 72 65 61 6b 20 20 20 20 20 20 20 26 6c 74 3b ="line">KEYWORD_break.......&lt;
113620 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 3c 2f 73 70 61 -.'break'.......end_of_word</spa
113640 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 4b 45 59 57 4f 52 44 5f 63 61 n>.<span.class="line">KEYWORD_ca
113660 6c 6c 63 6f 6e 76 20 20 20 20 26 6c 74 3b 2d 20 27 63 61 6c 6c 63 6f 6e 76 27 20 20 20 20 65 6e llconv....&lt;-.'callconv'....en
113680 64 5f 6f 66 5f 77 6f 72 64 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 d_of_word</span>.<span.class="li
1136a0 6e 65 22 3e 4b 45 59 57 4f 52 44 5f 63 61 74 63 68 20 20 20 20 20 20 20 26 6c 74 3b 2d 20 27 63 ne">KEYWORD_catch.......&lt;-.'c
1136c0 61 74 63 68 27 20 20 20 20 20 20 20 65 6e 64 5f 6f 66 5f 77 6f 72 64 3c 2f 73 70 61 6e 3e 0a 3c atch'.......end_of_word</span>.<
1136e0 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 4b 45 59 57 4f 52 44 5f 63 6f 6d 70 74 69 span.class="line">KEYWORD_compti
113700 6d 65 20 20 20 20 26 6c 74 3b 2d 20 27 63 6f 6d 70 74 69 6d 65 27 20 20 20 20 65 6e 64 5f 6f 66 me....&lt;-.'comptime'....end_of
113720 5f 77 6f 72 64 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e _word</span>.<span.class="line">
113740 4b 45 59 57 4f 52 44 5f 63 6f 6e 73 74 20 20 20 20 20 20 20 26 6c 74 3b 2d 20 27 63 6f 6e 73 74 KEYWORD_const.......&lt;-.'const
113760 27 20 20 20 20 20 20 20 65 6e 64 5f 6f 66 5f 77 6f 72 64 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e '.......end_of_word</span>.<span
113780 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 4b 45 59 57 4f 52 44 5f 63 6f 6e 74 69 6e 75 65 20 20 .class="line">KEYWORD_continue..
1137a0 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
1137c0 64 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 4b 45 59 57 d</span>.<span.class="line">KEYW
1137e0 4f 52 44 5f 64 65 66 65 72 20 20 20 20 20 20 20 26 6c 74 3b 2d 20 27 64 65 66 65 72 27 20 20 20 ORD_defer.......&lt;-.'defer'...
113800 20 20 20 20 65 6e 64 5f 6f 66 5f 77 6f 72 64 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 ....end_of_word</span>.<span.cla
113820 73 73 3d 22 6c 69 6e 65 22 3e 4b 45 59 57 4f 52 44 5f 65 6c 73 65 20 20 20 20 20 20 20 20 26 6c ss="line">KEYWORD_else........&l
113840 74 3b 2d 20 27 65 6c 73 65 27 20 20 20 20 20 20 20 20 65 6e 64 5f 6f 66 5f 77 6f 72 64 3c 2f 73 t;-.'else'........end_of_word</s
113860 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 4b 45 59 57 4f 52 44 5f pan>.<span.class="line">KEYWORD_
113880 65 6e 75 6d 20 20 20 20 20 20 20 20 26 6c 74 3b 2d 20 27 65 6e 75 6d 27 20 20 20 20 20 20 20 20 enum........&lt;-.'enum'........
1138a0 65 6e 64 5f 6f 66 5f 77 6f 72 64 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 end_of_word</span>.<span.class="
1138c0 6c 69 6e 65 22 3e 4b 45 59 57 4f 52 44 5f 65 72 72 64 65 66 65 72 20 20 20 20 26 6c 74 3b 2d 20 line">KEYWORD_errdefer....&lt;-.
1138e0 27 65 72 72 64 65 66 65 72 27 20 20 20 20 65 6e 64 5f 6f 66 5f 77 6f 72 64 3c 2f 73 70 61 6e 3e 'errdefer'....end_of_word</span>
113900 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 4b 45 59 57 4f 52 44 5f 65 72 72 6f .<span.class="line">KEYWORD_erro
113920 72 20 20 20 20 20 20 20 26 6c 74 3b 2d 20 27 65 72 72 6f 72 27 20 20 20 20 20 20 20 65 6e 64 5f r.......&lt;-.'error'.......end_
113940 6f 66 5f 77 6f 72 64 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 of_word</span>.<span.class="line
113960 22 3e 4b 45 59 57 4f 52 44 5f 65 78 70 6f 72 74 20 20 20 20 20 20 26 6c 74 3b 2d 20 27 65 78 70 ">KEYWORD_export......&lt;-.'exp
113980 6f 72 74 27 20 20 20 20 20 20 65 6e 64 5f 6f 66 5f 77 6f 72 64 3c 2f 73 70 61 6e 3e 0a 3c 73 70 ort'......end_of_word</span>.<sp
1139a0 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 4b 45 59 57 4f 52 44 5f 65 78 74 65 72 6e 20 20 an.class="line">KEYWORD_extern..
1139c0 20 20 20 20 26 6c 74 3b 2d 20 27 65 78 74 65 72 6e 27 20 20 20 20 20 20 65 6e 64 5f 6f 66 5f 77 ....&lt;-.'extern'......end_of_w
1139e0 6f 72 64 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 4b 45 ord</span>.<span.class="line">KE
113a00 59 57 4f 52 44 5f 66 6e 20 20 20 20 20 20 20 20 20 20 26 6c 74 3b 2d 20 27 66 6e 27 20 20 20 20 YWORD_fn..........&lt;-.'fn'....
113a20 20 20 20 20 20 20 65 6e 64 5f 6f 66 5f 77 6f 72 64 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 ......end_of_word</span>.<span.c
113a40 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 4b 45 59 57 4f 52 44 5f 66 6f 72 20 20 20 20 20 20 20 20 20 lass="line">KEYWORD_for.........
113a60 26 6c 74 3b 2d 20 27 66 6f 72 27 20 20 20 20 20 20 20 20 20 65 6e 64 5f 6f 66 5f 77 6f 72 64 3c &lt;-.'for'.........end_of_word<
113a80 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 4b 45 59 57 4f 52 /span>.<span.class="line">KEYWOR
113aa0 44 5f 69 66 20 20 20 20 20 20 20 20 20 20 26 6c 74 3b 2d 20 27 69 66 27 20 20 20 20 20 20 20 20 D_if..........&lt;-.'if'........
113ac0 20 20 65 6e 64 5f 6f 66 5f 77 6f 72 64 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 ..end_of_word</span>.<span.class
113ae0 3d 22 6c 69 6e 65 22 3e 4b 45 59 57 4f 52 44 5f 69 6e 6c 69 6e 65 20 20 20 20 20 20 26 6c 74 3b ="line">KEYWORD_inline......&lt;
113b00 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 3c 2f 73 70 61 -.'inline'......end_of_word</spa
113b20 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 4b 45 59 57 4f 52 44 5f 6e 6f n>.<span.class="line">KEYWORD_no
113b40 61 6c 69 61 73 20 20 20 20 20 26 6c 74 3b 2d 20 27 6e 6f 61 6c 69 61 73 27 20 20 20 20 20 65 6e alias.....&lt;-.'noalias'.....en
113b60 64 5f 6f 66 5f 77 6f 72 64 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 d_of_word</span>.<span.class="li
113b80 6e 65 22 3e 4b 45 59 57 4f 52 44 5f 6e 6f 73 75 73 70 65 6e 64 20 20 20 26 6c 74 3b 2d 20 27 6e ne">KEYWORD_nosuspend...&lt;-.'n
113ba0 6f 73 75 73 70 65 6e 64 27 20 20 20 65 6e 64 5f 6f 66 5f 77 6f 72 64 3c 2f 73 70 61 6e 3e 0a 3c osuspend'...end_of_word</span>.<
113bc0 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 4b 45 59 57 4f 52 44 5f 6e 6f 69 6e 6c 69 span.class="line">KEYWORD_noinli
113be0 6e 65 20 20 20 20 26 6c 74 3b 2d 20 27 6e 6f 69 6e 6c 69 6e 65 27 20 20 20 20 65 6e 64 5f 6f 66 ne....&lt;-.'noinline'....end_of
113c00 5f 77 6f 72 64 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e _word</span>.<span.class="line">
113c20 4b 45 59 57 4f 52 44 5f 6f 70 61 71 75 65 20 20 20 20 20 20 26 6c 74 3b 2d 20 27 6f 70 61 71 75 KEYWORD_opaque......&lt;-.'opaqu
113c40 65 27 20 20 20 20 20 20 65 6e 64 5f 6f 66 5f 77 6f 72 64 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e e'......end_of_word</span>.<span
113c60 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 4b 45 59 57 4f 52 44 5f 6f 72 20 20 20 20 20 20 20 20 .class="line">KEYWORD_or........
113c80 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
113ca0 64 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 4b 45 59 57 d</span>.<span.class="line">KEYW
113cc0 4f 52 44 5f 6f 72 65 6c 73 65 20 20 20 20 20 20 26 6c 74 3b 2d 20 27 6f 72 65 6c 73 65 27 20 20 ORD_orelse......&lt;-.'orelse'..
113ce0 20 20 20 20 65 6e 64 5f 6f 66 5f 77 6f 72 64 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 ....end_of_word</span>.<span.cla
113d00 73 73 3d 22 6c 69 6e 65 22 3e 4b 45 59 57 4f 52 44 5f 70 61 63 6b 65 64 20 20 20 20 20 20 26 6c ss="line">KEYWORD_packed......&l
113d20 74 3b 2d 20 27 70 61 63 6b 65 64 27 20 20 20 20 20 20 65 6e 64 5f 6f 66 5f 77 6f 72 64 3c 2f 73 t;-.'packed'......end_of_word</s
113d40 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 4b 45 59 57 4f 52 44 5f pan>.<span.class="line">KEYWORD_
113d60 70 75 62 20 20 20 20 20 20 20 20 20 26 6c 74 3b 2d 20 27 70 75 62 27 20 20 20 20 20 20 20 20 20 pub.........&lt;-.'pub'.........
113d80 65 6e 64 5f 6f 66 5f 77 6f 72 64 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 end_of_word</span>.<span.class="
113da0 6c 69 6e 65 22 3e 4b 45 59 57 4f 52 44 5f 72 65 73 75 6d 65 20 20 20 20 20 20 26 6c 74 3b 2d 20 line">KEYWORD_resume......&lt;-.
113dc0 27 72 65 73 75 6d 65 27 20 20 20 20 20 20 65 6e 64 5f 6f 66 5f 77 6f 72 64 3c 2f 73 70 61 6e 3e 'resume'......end_of_word</span>
113de0 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 4b 45 59 57 4f 52 44 5f 72 65 74 75 .<span.class="line">KEYWORD_retu
113e00 72 6e 20 20 20 20 20 20 26 6c 74 3b 2d 20 27 72 65 74 75 72 6e 27 20 20 20 20 20 20 65 6e 64 5f rn......&lt;-.'return'......end_
113e20 6f 66 5f 77 6f 72 64 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 of_word</span>.<span.class="line
113e40 22 3e 4b 45 59 57 4f 52 44 5f 6c 69 6e 6b 73 65 63 74 69 6f 6e 20 26 6c 74 3b 2d 20 27 6c 69 6e ">KEYWORD_linksection.&lt;-.'lin
113e60 6b 73 65 63 74 69 6f 6e 27 20 65 6e 64 5f 6f 66 5f 77 6f 72 64 3c 2f 73 70 61 6e 3e 0a 3c 73 70 ksection'.end_of_word</span>.<sp
113e80 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 4b 45 59 57 4f 52 44 5f 73 74 72 75 63 74 20 20 an.class="line">KEYWORD_struct..
113ea0 20 20 20 20 26 6c 74 3b 2d 20 27 73 74 72 75 63 74 27 20 20 20 20 20 20 65 6e 64 5f 6f 66 5f 77 ....&lt;-.'struct'......end_of_w
113ec0 6f 72 64 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 4b 45 ord</span>.<span.class="line">KE
113ee0 59 57 4f 52 44 5f 73 75 73 70 65 6e 64 20 20 20 20 20 26 6c 74 3b 2d 20 27 73 75 73 70 65 6e 64 YWORD_suspend.....&lt;-.'suspend
113f00 27 20 20 20 20 20 65 6e 64 5f 6f 66 5f 77 6f 72 64 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 '.....end_of_word</span>.<span.c
113f20 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 4b 45 59 57 4f 52 44 5f 73 77 69 74 63 68 20 20 20 20 20 20 lass="line">KEYWORD_switch......
113f40 26 6c 74 3b 2d 20 27 73 77 69 74 63 68 27 20 20 20 20 20 20 65 6e 64 5f 6f 66 5f 77 6f 72 64 3c &lt;-.'switch'......end_of_word<
113f60 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 4b 45 59 57 4f 52 /span>.<span.class="line">KEYWOR
113f80 44 5f 74 65 73 74 20 20 20 20 20 20 20 20 26 6c 74 3b 2d 20 27 74 65 73 74 27 20 20 20 20 20 20 D_test........&lt;-.'test'......
113fa0 20 20 65 6e 64 5f 6f 66 5f 77 6f 72 64 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 ..end_of_word</span>.<span.class
113fc0 3d 22 6c 69 6e 65 22 3e 4b 45 59 57 4f 52 44 5f 74 68 72 65 61 64 6c 6f 63 61 6c 20 26 6c 74 3b ="line">KEYWORD_threadlocal.&lt;
113fe0 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 3c 2f 73 70 61 -.'threadlocal'.end_of_word</spa
114000 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 4b 45 59 57 4f 52 44 5f 74 72 n>.<span.class="line">KEYWORD_tr
114020 79 20 20 20 20 20 20 20 20 20 26 6c 74 3b 2d 20 27 74 72 79 27 20 20 20 20 20 20 20 20 20 65 6e y.........&lt;-.'try'.........en
114040 64 5f 6f 66 5f 77 6f 72 64 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 d_of_word</span>.<span.class="li
114060 6e 65 22 3e 4b 45 59 57 4f 52 44 5f 75 6e 69 6f 6e 20 20 20 20 20 20 20 26 6c 74 3b 2d 20 27 75 ne">KEYWORD_union.......&lt;-.'u
114080 6e 69 6f 6e 27 20 20 20 20 20 20 20 65 6e 64 5f 6f 66 5f 77 6f 72 64 3c 2f 73 70 61 6e 3e 0a 3c nion'.......end_of_word</span>.<
1140a0 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 4b 45 59 57 4f 52 44 5f 75 6e 72 65 61 63 span.class="line">KEYWORD_unreac
1140c0 68 61 62 6c 65 20 26 6c 74 3b 2d 20 27 75 6e 72 65 61 63 68 61 62 6c 65 27 20 65 6e 64 5f 6f 66 hable.&lt;-.'unreachable'.end_of
1140e0 5f 77 6f 72 64 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e _word</span>.<span.class="line">
114100 4b 45 59 57 4f 52 44 5f 75 73 69 6e 67 6e 61 6d 65 73 70 61 63 65 20 26 6c 74 3b 2d 20 27 75 73 KEYWORD_usingnamespace.&lt;-.'us
114120 69 6e 67 6e 61 6d 65 73 70 61 63 65 27 20 65 6e 64 5f 6f 66 5f 77 6f 72 64 3c 2f 73 70 61 6e 3e ingnamespace'.end_of_word</span>
114140 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 4b 45 59 57 4f 52 44 5f 76 61 72 20 .<span.class="line">KEYWORD_var.
114160 20 20 20 20 20 20 20 20 26 6c 74 3b 2d 20 27 76 61 72 27 20 20 20 20 20 20 20 20 20 65 6e 64 5f ........&lt;-.'var'.........end_
114180 6f 66 5f 77 6f 72 64 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 of_word</span>.<span.class="line
1141a0 22 3e 4b 45 59 57 4f 52 44 5f 76 6f 6c 61 74 69 6c 65 20 20 20 20 26 6c 74 3b 2d 20 27 76 6f 6c ">KEYWORD_volatile....&lt;-.'vol
1141c0 61 74 69 6c 65 27 20 20 20 20 65 6e 64 5f 6f 66 5f 77 6f 72 64 3c 2f 73 70 61 6e 3e 0a 3c 73 70 atile'....end_of_word</span>.<sp
1141e0 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 4b 45 59 57 4f 52 44 5f 77 68 69 6c 65 20 20 20 an.class="line">KEYWORD_while...
114200 20 20 20 20 26 6c 74 3b 2d 20 27 77 68 69 6c 65 27 20 20 20 20 20 20 20 65 6e 64 5f 6f 66 5f 77 ....&lt;-.'while'.......end_of_w
114220 6f 72 64 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 2f ord</span>.<span.class="line"></
114240 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 6b 65 79 77 6f 72 64 span>.<span.class="line">keyword
114260 20 26 6c 74 3b 2d 20 4b 45 59 57 4f 52 44 5f 61 6c 69 67 6e 20 2f 20 4b 45 59 57 4f 52 44 5f 61 .&lt;-.KEYWORD_align./.KEYWORD_a
114280 6c 6c 6f 77 7a 65 72 6f 20 2f 20 4b 45 59 57 4f 52 44 5f 61 6e 64 20 2f 20 4b 45 59 57 4f 52 44 llowzero./.KEYWORD_and./.KEYWORD
1142a0 5f 61 6e 79 66 72 61 6d 65 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 _anyframe</span>.<span.class="li
1142c0 6e 65 22 3e 20 20 20 20 20 20 20 20 20 2f 20 4b 45 59 57 4f 52 44 5f 61 6e 79 74 79 70 65 20 2f ne">........./.KEYWORD_anytype./
1142e0 20 4b 45 59 57 4f 52 44 5f 61 73 6d 20 2f 20 4b 45 59 57 4f 52 44 5f 61 73 79 6e 63 20 2f 20 4b .KEYWORD_asm./.KEYWORD_async./.K
114300 45 59 57 4f 52 44 5f 61 77 61 69 74 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d EYWORD_await</span>.<span.class=
114320 22 6c 69 6e 65 22 3e 20 20 20 20 20 20 20 20 20 2f 20 4b 45 59 57 4f 52 44 5f 62 72 65 61 6b 20 "line">........./.KEYWORD_break.
114340 2f 20 4b 45 59 57 4f 52 44 5f 63 61 6c 6c 63 6f 6e 76 20 2f 20 4b 45 59 57 4f 52 44 5f 63 61 74 /.KEYWORD_callconv./.KEYWORD_cat
114360 63 68 20 2f 20 4b 45 59 57 4f 52 44 5f 63 6f 6d 70 74 69 6d 65 3c 2f 73 70 61 6e 3e 0a 3c 73 70 ch./.KEYWORD_comptime</span>.<sp
114380 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 20 20 20 20 20 2f 20 4b 45 59 57 4f an.class="line">........./.KEYWO
1143a0 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 2f 20 4b 45 RD_const./.KEYWORD_continue./.KE
1143c0 59 57 4f 52 44 5f 64 65 66 65 72 20 2f 20 4b 45 59 57 4f 52 44 5f 65 6c 73 65 3c 2f 73 70 61 6e YWORD_defer./.KEYWORD_else</span
1143e0 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 20 20 20 20 20 2f 20 >.<span.class="line">........./.
114400 4b 45 59 57 4f 52 44 5f 65 6e 75 6d 20 2f 20 4b 45 59 57 4f 52 44 5f 65 72 72 64 65 66 65 72 20 KEYWORD_enum./.KEYWORD_errdefer.
114420 2f 20 4b 45 59 57 4f 52 44 5f 65 72 72 6f 72 20 2f 20 4b 45 59 57 4f 52 44 5f 65 78 70 6f 72 74 /.KEYWORD_error./.KEYWORD_export
114440 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 20 </span>.<span.class="line">.....
114460 20 20 20 20 2f 20 4b 45 59 57 4f 52 44 5f 65 78 74 65 72 6e 20 2f 20 4b 45 59 57 4f 52 44 5f 66 ..../.KEYWORD_extern./.KEYWORD_f
114480 6e 20 2f 20 4b 45 59 57 4f 52 44 5f 66 6f 72 20 2f 20 4b 45 59 57 4f 52 44 5f 69 66 3c 2f 73 70 n./.KEYWORD_for./.KEYWORD_if</sp
1144a0 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 20 20 20 20 20 an>.<span.class="line">.........
1144c0 2f 20 4b 45 59 57 4f 52 44 5f 69 6e 6c 69 6e 65 20 2f 20 4b 45 59 57 4f 52 44 5f 6e 6f 61 6c 69 /.KEYWORD_inline./.KEYWORD_noali
1144e0 61 73 20 2f 20 4b 45 59 57 4f 52 44 5f 6e 6f 73 75 73 70 65 6e 64 20 2f 20 4b 45 59 57 4f 52 44 as./.KEYWORD_nosuspend./.KEYWORD
114500 5f 6e 6f 69 6e 6c 69 6e 65 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 _noinline</span>.<span.class="li
114520 6e 65 22 3e 20 20 20 20 20 20 20 20 20 2f 20 4b 45 59 57 4f 52 44 5f 6f 70 61 71 75 65 20 2f 20 ne">........./.KEYWORD_opaque./.
114540 4b 45 59 57 4f 52 44 5f 6f 72 20 2f 20 4b 45 59 57 4f 52 44 5f 6f 72 65 6c 73 65 20 2f 20 4b 45 KEYWORD_or./.KEYWORD_orelse./.KE
114560 59 57 4f 52 44 5f 70 61 63 6b 65 64 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d YWORD_packed</span>.<span.class=
114580 22 6c 69 6e 65 22 3e 20 20 20 20 20 20 20 20 20 2f 20 4b 45 59 57 4f 52 44 5f 70 75 62 20 2f 20 "line">........./.KEYWORD_pub./.
1145a0 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 6e 20 KEYWORD_resume./.KEYWORD_return.
1145c0 2f 20 4b 45 59 57 4f 52 44 5f 6c 69 6e 6b 73 65 63 74 69 6f 6e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 /.KEYWORD_linksection</span>.<sp
1145e0 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 20 20 20 20 20 2f 20 4b 45 59 57 4f an.class="line">........./.KEYWO
114600 52 44 5f 73 74 72 75 63 74 20 2f 20 4b 45 59 57 4f 52 44 5f 73 75 73 70 65 6e 64 20 2f 20 4b 45 RD_struct./.KEYWORD_suspend./.KE
114620 59 57 4f 52 44 5f 73 77 69 74 63 68 20 2f 20 4b 45 59 57 4f 52 44 5f 74 65 73 74 3c 2f 73 70 61 YWORD_switch./.KEYWORD_test</spa
114640 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 20 20 20 20 20 2f n>.<span.class="line">........./
114660 20 4b 45 59 57 4f 52 44 5f 74 68 72 65 61 64 6c 6f 63 61 6c 20 2f 20 4b 45 59 57 4f 52 44 5f 74 .KEYWORD_threadlocal./.KEYWORD_t
114680 72 79 20 2f 20 4b 45 59 57 4f 52 44 5f 75 6e 69 6f 6e 20 2f 20 4b 45 59 57 4f 52 44 5f 75 6e 72 ry./.KEYWORD_union./.KEYWORD_unr
1146a0 65 61 63 68 61 62 6c 65 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e eachable</span>.<span.class="lin
1146c0 65 22 3e 20 20 20 20 20 20 20 20 20 2f 20 4b 45 59 57 4f 52 44 5f 75 73 69 6e 67 6e 61 6d 65 73 e">........./.KEYWORD_usingnames
1146e0 70 61 63 65 20 2f 20 4b 45 59 57 4f 52 44 5f 76 61 72 20 2f 20 4b 45 59 57 4f 52 44 5f 76 6f 6c pace./.KEYWORD_var./.KEYWORD_vol
114700 61 74 69 6c 65 20 2f 20 4b 45 59 57 4f 52 44 5f 77 68 69 6c 65 3c 2f 73 70 61 6e 3e 3c 2f 63 6f atile./.KEYWORD_while</span></co
114720 64 65 3e 3c 2f 70 72 65 3e 3c 2f 66 69 67 75 72 65 3e 0a 20 20 20 20 20 20 0a 20 20 20 20 20 20 de></pre></figure>..............
114740 3c 68 33 20 69 64 3d 22 5a 65 6e 22 3e 3c 61 20 68 72 65 66 3d 22 23 74 6f 63 2d 5a 65 6e 22 3e <h3.id="Zen"><a.href="#toc-Zen">
114760 5a 65 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 5a 65 Zen</a>.<a.class="hdr".href="#Ze
114780 6e 22 3e c2 a7 3c 2f 61 3e 3c 2f 68 33 3e 0a 0a 20 20 20 20 20 20 3c 75 6c 3e 0a 20 20 20 20 20 n">..</a></h3>........<ul>......
1147a0 20 20 20 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 ...<li>Communicate.intent.precis
1147c0 65 6c 79 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 ely.</li>.........<li>Edge.cases
1147e0 20 6d 61 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 .matter.</li>.........<li>Favor.
114800 72 65 61 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 reading.code.over.writing.code.<
114820 2f 6c 69 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 /li>.........<li>Only.one.obviou
114840 73 20 77 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 s.way.to.do.things.</li>........
114860 20 3c 6c 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 .<li>Runtime.crashes.are.better.
114880 74 68 61 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 than.bugs.</li>.........<li>Comp
1148a0 69 6c 65 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 ile.errors.are.better.than.runti
1148c0 6d 65 20 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 me.crashes.</li>.........<li>Inc
1148e0 72 65 6d 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 remental.improvements.</li>.....
114900 20 20 20 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 ....<li>Avoid.local.maximums.</l
114920 69 3e 0a 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 i>.........<li>Reduce.the.amount
114940 20 6f 6e 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 .one.must.remember.</li>........
114960 20 3c 6c 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 .<li>Focus.on.code.rather.than.s
114980 74 79 6c 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 tyle.</li>.........<li>Resource.
1149a0 61 6c 6c 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 allocation.may.fail;.resource.de
1149c0 61 6c 6c 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 allocation.must.succeed.</li>...
1149e0 20 20 20 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 ......<li>Memory.is.a.resource.<
114a00 2f 6c 69 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 /li>.........<li>Together.we.ser
114a20 76 65 20 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 ve.the.users.</li>.......</ul>..
114a40 20 20 20 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 ...................</main></div>
114a60 0a 20 20 20 20 3c 2f 64 69 76 3e 0a 20 20 3c 2f 62 6f 64 79 3e 0a 3c 2f 68 74 6d 6c 3e 0a 50 4b .....</div>...</body>.</html>.PK
114a80 01 02 14 00 14 00 00 00 00 00 00 00 21 52 6f 61 ab 2c 14 00 00 00 14 00 00 00 08 00 00 00 00 00 ............!Roa.,..............
114aa0 00 00 00 00 00 00 00 00 00 00 00 00 6d 69 6d 65 74 79 70 65 50 4b 01 02 14 00 14 00 00 00 00 00 ............mimetypePK..........
114ac0 00 00 21 52 6f 92 d0 0a fc 00 00 00 fc 00 00 00 16 00 00 00 00 00 00 00 00 00 00 00 00 00 3a 00 ..!Ro.........................:.
114ae0 00 00 4d 45 54 41 2d 49 4e 46 2f 63 6f 6e 74 61 69 6e 65 72 2e 78 6d 6c 50 4b 01 02 14 00 14 00 ..META-INF/container.xmlPK......
114b00 00 00 00 00 00 00 21 52 47 99 e1 0e a9 02 00 00 a9 02 00 00 11 00 00 00 00 00 00 00 00 00 00 00 ......!RG.......................
114b20 00 00 6a 01 00 00 4f 45 42 50 53 2f 63 6f 6e 74 65 6e 74 2e 6f 70 66 50 4b 01 02 14 00 14 00 00 ..j...OEBPS/content.opfPK.......
114b40 00 00 00 00 00 21 52 e5 f6 6b e9 88 01 00 00 88 01 00 00 0f 00 00 00 00 00 00 00 00 00 00 00 00 .....!R..k......................
114b60 00 42 04 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 .B...OEBPS/nav.xhtmlPK..........
114b80 00 00 21 52 85 93 f0 fa 58 44 11 00 58 44 11 00 11 00 00 00 00 00 00 00 00 00 00 00 00 00 f7 05 ..!R....XD..XD..................
114ba0 00 00 4f 45 42 50 53 2f 69 6e 64 65 78 2e 78 68 74 6d 6c 50 4b 05 06 00 00 00 00 05 00 05 00 35 ..OEBPS/index.xhtmlPK..........5
114bc0 01 00 00 7e 4a 11 00 00 00 ...~J....